Content-Type: multipart/related; start=; boundary=----------nFj1yVgoqg3AiAn1ZqsUe1
Content-Location: http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8_DNS
Subject: =?utf-8?Q?=D0=A0=D0=B5=D1=81=D1=83=D1=80=D1=81=D0=BD=D1=8B=D0=B5=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B8=20DNS=20=E2=80=94=20=D0=92=D0=B8=D0=BA=D0=B8=D0=BF=D0=B5=D0=B4=D0=B8=D1=8F?=
MIME-Version: 1.0
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename*0*=utf-8''%D0%A0%D0%B5%D1%81%D1%83%D1%80%D1;
filename*1*=%81%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF;
filename*2*=%D0%B8%D1%81%D0%B8_DNS.htm
Content-Type: text/html; charset=utf-8; name*0*=utf-8''%D0%A0%D0%B5%D1%81%D1%83%D1%80%D1;
name*1*=%81%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF;
name*2*=%D0%B8%D1%81%D0%B8_DNS.htm
Content-ID:
Content-Location: http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8_DNS
Content-Transfer-Encoding: Base64
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJh
bnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQv
eGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9InJ1IiBsYW5nPSJydSIgZGly
PSJsdHIiPgoJPGhlYWQ+CgkJPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBl
IiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CgkJPG1ldGEg
aHR0cC1lcXVpdj0iQ29udGVudC1TdHlsZS1UeXBlIiBjb250ZW50PSJ0ZXh0L2Nz
cyIgLz4KCQk8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9Ik1lZGlhV2lr
aSAxLjE2YWxwaGEtd21mIiAvPgoJCTxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250
ZW50PSLQoNC10YHRg9GA0YHQvdGL0LUg0LfQsNC/0LjRgdC4IEROUyxBY3RpdmUg
RGlyZWN0b3J5LEROUyxJQU5BLElQdjYsSVNETixJbi1hZGRyLmFycGEsSmFiYmVy
LE1YLdC30LDQv9C40YHRjCxTTVRQLFNQRiIgLz4KCQk8bGluayByZWw9ImFsdGVy
bmF0ZSIgdHlwZT0iYXBwbGljYXRpb24veC13aWtpIiB0aXRsZT0i0J/RgNCw0LLQ
uNGC0YwiIGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT0lRDAlQTAlRDAlQjUlRDEl
ODElRDElODMlRDElODAlRDElODElRDAlQkQlRDElOEIlRDAlQjVfJUQwJUI3JUQw
JUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI4X0ROUyZhbXA7YWN0aW9uPWVkaXQi
IC8+CgkJPGxpbmsgcmVsPSJlZGl0IiB0aXRsZT0i0J/RgNCw0LLQuNGC0YwiIGhy
ZWY9Ii93L2luZGV4LnBocD90aXRsZT0lRDAlQTAlRDAlQjUlRDElODElRDElODMl
RDElODAlRDElODElRDAlQkQlRDElOEIlRDAlQjVfJUQwJUI3JUQwJUIwJUQwJUJG
JUQwJUI4JUQxJTgxJUQwJUI4X0ROUyZhbXA7YWN0aW9uPWVkaXQiIC8+CgkJPGxp
bmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJodHRwOi8vcnUud2lraXBl
ZGlhLm9yZy9hcHBsZS10b3VjaC1pY29uLnBuZyIgLz4KCQk8bGluayByZWw9InNo
b3J0Y3V0IGljb24iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz4KCQk8bGluayByZWw9
InNlYXJjaCIgdHlwZT0iYXBwbGljYXRpb24vb3BlbnNlYXJjaGRlc2NyaXB0aW9u
K3htbCIgaHJlZj0iL3cvb3BlbnNlYXJjaF9kZXNjLnBocCIgdGl0bGU9ItCS0LjQ
utC40L/QtdC00LjRjyAocnUpIiAvPgoJCTxsaW5rIHJlbD0iY29weXJpZ2h0IiBo
cmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8z
LjAvIiAvPgoJCTxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0eXBlPSJhcHBsaWNhdGlv
bi9yc3MreG1sIiB0aXRsZT0i0JLQuNC60LjQv9C10LTQuNGPIOKAlCBSU1Mt0LvQ
tdC90YLQsCIgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPSVEMCVBMSVEMCVCQiVE
MSU4MyVEMCVCNiVEMCVCNSVEMCVCMSVEMCVCRCVEMCVCMCVEMSU4RjpSZWNlbnRD
aGFuZ2VzJmFtcDtmZWVkPXJzcyIgLz4KCQk8bGluayByZWw9ImFsdGVybmF0ZSIg
dHlwZT0iYXBwbGljYXRpb24vYXRvbSt4bWwiIHRpdGxlPSLQktC40LrQuNC/0LXQ
tNC40Y/CoOKAlCBBdG9tLdC70LXQvdGC0LAiIGhyZWY9Ii93L2luZGV4LnBocD90
aXRsZT0lRDAlQTElRDAlQkIlRDElODMlRDAlQjYlRDAlQjUlRDAlQjElRDAlQkQl
RDAlQjAlRDElOEY6UmVjZW50Q2hhbmdlcyZhbXA7ZmVlZD1hdG9tIiAvPgoJCTx0
aXRsZT7QoNC10YHRg9GA0YHQvdGL0LUg0LfQsNC/0LjRgdC4IEROUyDigJQg0JLQ
uNC60LjQv9C10LTQuNGPPC90aXRsZT4KCQk8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii9za2lucy0xLjUvY29tbW9uL3NoYXJlZC5jc3M/MjMzenoyIiB0eXBl
PSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz4KCQk8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii9za2lucy0xLjUvY29tbW9uL2NvbW1vblByaW50LmNzcz8y
MzN6ejIiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0icHJpbnQiIC8+CgkJPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc2tpbnMtMS41L21vbm9ib29rL21haW4u
Y3NzPzIzM3p6MiIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iIC8+CgkJ
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc2tpbnMtMS41L2NoaWNrL21h
aW4uY3NzPzIzM3p6MiIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJoYW5kaGVsZCIg
Lz4KCQk8IS0tW2lmIGx0IElFIDUuNTAwMF0+PGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIvc2tpbnMtMS41L21vbm9ib29rL0lFNTBGaXhlcy5jc3M/MjMzenoy
IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz48IVtlbmRpZl0tLT4K
CQk8IS0tW2lmIElFIDUuNTAwMF0+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIvc2tpbnMtMS41L21vbm9ib29rL0lFNTVGaXhlcy5jc3M/MjMzenoyIiB0eXBl
PSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz48IVtlbmRpZl0tLT4KCQk8IS0t
W2lmIElFIDZdPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3NraW5zLTEu
NS9tb25vYm9vay9JRTYwRml4ZXMuY3NzPzIzM3p6MiIgdHlwZT0idGV4dC9jc3Mi
IG1lZGlhPSJzY3JlZW4iIC8+PCFbZW5kaWZdLS0+CgkJPCEtLVtpZiBJRSA3XT48
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9za2lucy0xLjUvbW9ub2Jvb2sv
SUU3MEZpeGVzLmNzcz8yMzN6ejIiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2Ny
ZWVuIiAvPjwhW2VuZGlmXS0tPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iL3cvZXh0ZW5zaW9ucy9GbGFnZ2VkUmV2cy9mbGFnZ2VkcmV2cy5jc3M/NTki
IHR5cGU9InRleHQvY3NzIiAvPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iL3cvaW5kZXgucGhwP3RpdGxlPU1lZGlhV2lraTpDb21tb24uY3NzJmFtcDt1
c2Vtc2djYWNoZT15ZXMmYW1wO2N0eXBlPXRleHQlMkZjc3MmYW1wO3NtYXhhZ2U9
MjY3ODQwMCZhbXA7YWN0aW9uPXJhdyZhbXA7bWF4YWdlPTI2Nzg0MDAiIHR5cGU9
InRleHQvY3NzIiAvPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3cv
aW5kZXgucGhwP3RpdGxlPU1lZGlhV2lraTpQcmludC5jc3MmYW1wO3VzZW1zZ2Nh
Y2hlPXllcyZhbXA7Y3R5cGU9dGV4dCUyRmNzcyZhbXA7c21heGFnZT0yNjc4NDAw
JmFtcDthY3Rpb249cmF3JmFtcDttYXhhZ2U9MjY3ODQwMCIgdHlwZT0idGV4dC9j
c3MiIG1lZGlhPSJwcmludCIgLz4KCQk8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii93L2luZGV4LnBocD90aXRsZT1NZWRpYVdpa2k6SGFuZGhlbGQuY3NzJmFt
cDt1c2Vtc2djYWNoZT15ZXMmYW1wO2N0eXBlPXRleHQlMkZjc3MmYW1wO3NtYXhh
Z2U9MjY3ODQwMCZhbXA7YWN0aW9uPXJhdyZhbXA7bWF4YWdlPTI2Nzg0MDAiIHR5
cGU9InRleHQvY3NzIiBtZWRpYT0iaGFuZGhlbGQiIC8+CgkJPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9TWVkaWFXaWtpOk1v
bm9ib29rLmNzcyZhbXA7dXNlbXNnY2FjaGU9eWVzJmFtcDtjdHlwZT10ZXh0JTJG
Y3NzJmFtcDtzbWF4YWdlPTI2Nzg0MDAmYW1wO2FjdGlvbj1yYXcmYW1wO21heGFn
ZT0yNjc4NDAwIiB0eXBlPSJ0ZXh0L2NzcyIgLz4KCQk8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT0tJmFtcDthY3Rpb249cmF3
JmFtcDttYXhhZ2U9MjY3ODQwMCZhbXA7Z2VuPWNzcyIgdHlwZT0idGV4dC9jc3Mi
IC8+CgkJPCEtLVtpZiBsdCBJRSA3XT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIvc2tpbnMtMS41L2NvbW1vbi9JRUZpeGVzLmpzPzIzM3p6MiI+
PC9zY3JpcHQ+CgkJPG1ldGEgaHR0cC1lcXVpdj0iaW1hZ2V0b29sYmFyIiBjb250
ZW50PSJubyIgLz48IVtlbmRpZl0tLT4KCgkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPi8qPCFbQ0RBVEFbKi8KCQl2YXIgc2tpbiA9ICJtb25vYm9vayI7
CgkJdmFyIHN0eWxlcGF0aCA9ICIvc2tpbnMtMS41IjsKCQl2YXIgd2dBcnRpY2xl
UGF0aCA9ICIvd2lraS8kMSI7CgkJdmFyIHdnU2NyaXB0UGF0aCA9ICIvdyI7CgkJ
dmFyIHdnU2NyaXB0ID0gIi93L2luZGV4LnBocCI7CgkJdmFyIHdnVmFyaWFudEFy
dGljbGVQYXRoID0gZmFsc2U7CgkJdmFyIHdnQWN0aW9uUGF0aHMgPSB7fTsKCQl2
YXIgd2dTZXJ2ZXIgPSAiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmciOwoJCXZhciB3
Z0Nhbm9uaWNhbE5hbWVzcGFjZSA9ICIiOwoJCXZhciB3Z0Nhbm9uaWNhbFNwZWNp
YWxQYWdlTmFtZSA9IGZhbHNlOwoJCXZhciB3Z05hbWVzcGFjZU51bWJlciA9IDA7
CgkJdmFyIHdnUGFnZU5hbWUgPSAi0KDQtdGB0YPRgNGB0L3Ri9C1X9C30LDQv9C4
0YHQuF9ETlMiOwoJCXZhciB3Z1RpdGxlID0gItCg0LXRgdGD0YDRgdC90YvQtSDQ
t9Cw0L/QuNGB0LggRE5TIjsKCQl2YXIgd2dBY3Rpb24gPSAidmlldyI7CgkJdmFy
IHdnQXJ0aWNsZUlkID0gIjEzOTc0NDkiOwoJCXZhciB3Z0lzQXJ0aWNsZSA9IHRy
dWU7CgkJdmFyIHdnVXNlck5hbWUgPSBudWxsOwoJCXZhciB3Z1VzZXJHcm91cHMg
PSBudWxsOwoJCXZhciB3Z1VzZXJMYW5ndWFnZSA9ICJydSI7CgkJdmFyIHdnQ29u
dGVudExhbmd1YWdlID0gInJ1IjsKCQl2YXIgd2dCcmVha0ZyYW1lcyA9IGZhbHNl
OwoJCXZhciB3Z0N1clJldmlzaW9uSWQgPSAxNjk2MjgzMzsKCQl2YXIgd2dWZXJz
aW9uID0gIjEuMTZhbHBoYS13bWYiOwoJCXZhciB3Z0VuYWJsZUFQSSA9IHRydWU7
CgkJdmFyIHdnRW5hYmxlV3JpdGVBUEkgPSB0cnVlOwoJCXZhciB3Z1NlcGFyYXRv
clRyYW5zZm9ybVRhYmxlID0gWyIsCS4iLCAiwqAJLCJdOwoJCXZhciB3Z0RpZ2l0
VHJhbnNmb3JtVGFibGUgPSBbIiIsICIiXTsKCQl2YXIgd2dNYWluUGFnZVRpdGxl
ID0gItCX0LDQs9C70LDQstC90LDRjyDRgdGC0YDQsNC90LjRhtCwIjsKCQl2YXIg
d2dNV1N1Z2dlc3RUZW1wbGF0ZSA9ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93
L2FwaS5waHA/YWN0aW9uPW9wZW5zZWFyY2hceDI2c2VhcmNoPXtzZWFyY2hUZXJt
c31ceDI2bmFtZXNwYWNlPXtuYW1lc3BhY2VzfVx4MjZzdWdnZXN0IjsKCQl2YXIg
d2dEQm5hbWUgPSAicnV3aWtpIjsKCQl2YXIgd2dTZWFyY2hOYW1lc3BhY2VzID0g
WzBdOwoJCXZhciB3Z01XU3VnZ2VzdE1lc3NhZ2VzID0gWyLRgSDRgdC+0LLQtdGC
0LDQvNC4IiwgItCx0LXQtyDRgdC+0LLQtdGC0L7QsiJdOwoJCXZhciB3Z1Jlc3Ry
aWN0aW9uRWRpdCA9IFtdOwoJCXZhciB3Z1Jlc3RyaWN0aW9uTW92ZSA9IFtdOwoJ
CS8qXV0+Ki88L3NjcmlwdD4KCgkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iL3NraW5zLTEuNS9jb21tb24vd2lraWJpdHMuanM/MjMzenoyIj48
IS0tIHdpa2liaXRzIGpzIC0tPjwvc2NyaXB0PgoJCTwhLS0gSGVhZCBTY3JpcHRz
IC0tPgoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9za2lu
cy0xLjUvY29tbW9uL2FqYXguanM/MjMzenoyIj48L3NjcmlwdD4KCQk8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvc2tpbnMtMS41L2NvbW1vbi9t
d3N1Z2dlc3QuanM/MjMzenoyIj48L3NjcmlwdD4KCQk8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+Lyo8IVtDREFUQVsqLwoJCXZhciB3Z05vdGljZT0nJzt2
YXIgd2dOb3RpY2VMb2NhbD0nJzsKCQkvKl1dPiovPC9zY3JpcHQ+CgkJPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3VwbG9hZC53aWtp
bWVkaWEub3JnL2NlbnRyYWxub3RpY2Uvd2lraXBlZGlhL3J1L2NlbnRyYWxub3Rp
Y2UuanM/MjMzenoyIj48L3NjcmlwdD4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KdmFyIHdnRmxhZ2dlZFJldnNQYXJhbXMgPSB7InRhZ3MiOiB7ImFj
Y3VyYWN5IjogMn19Owp2YXIgd2dGbGFnZ2VkUmV2c1BhcmFtczIgPSB7InRhZ3Mi
OiB7InJlbGlhYmlsaXR5IjogMywgImNvbXBsZXRlbmVzcyI6IDIsICJucG92Ijog
MiwgInByZXNlbnRhdGlvbiI6IDF9fTsKdmFyIHdnU3RhYmxlUmV2aXNpb25JZCA9
IDE0NjI1NjA3Owp2YXIgd2dBamF4RmVlZGJhY2sgPSB7InNlbmRpbmdNc2ciOiAi
0J7RgtC/0YDQsNCy0LrQsOKApiIsICJzZW50TXNnIjogItCh0L/QsNGB0LjQsdC+
ISJ9CnZhciB3Z0FqYXhSZXZpZXcgPSB7InNlbmRpbmdNc2ciOiAi0J7RgtC/0YDQ
sNCy0LrQsOKApiIsICJzZW50TXNnIjogItCf0YDQvtCy0LXRgNC60LAg0LLRi9C/
0L7Qu9C90LXQvdCwISIsICJhY3Rpb25jb21wbGV0ZSI6ICLQlNC10LnRgdGC0LLQ
uNC1INCy0YvQv9C+0LvQvdC10L3QviIsICJhY3Rpb25mYWlsZWQiOiAi0JTQtdC5
0YHRgtCy0LjQtSDQvdC1INCy0YvQv9C+0LvQvdC10L3QviJ9Cjwvc2NyaXB0Pgo8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvdy9leHRlbnNpb25z
L0ZsYWdnZWRSZXZzL2ZsYWdnZWRyZXZzLmpzPzU5Ij48L3NjcmlwdD4KCQk8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvdy9pbmRleC5waHA/dGl0
bGU9LSZhbXA7YWN0aW9uPXJhdyZhbXA7Z2VuPWpzJmFtcDt1c2Vza2luPW1vbm9i
b29rIj48IS0tIHNpdGUganMgLS0+PC9zY3JpcHQ+Cgk8L2hlYWQ+Cjxib2R5IGNs
YXNzPSJtZWRpYXdpa2kgbHRyIG5zLTAgbnMtc3ViamVjdCBwYWdlLdCg0LXRgdGD
0YDRgdC90YvQtV/Qt9Cw0L/QuNGB0LhfRE5TIHNraW4tbW9ub2Jvb2siPgoJPGRp
diBpZD0iZ2xvYmFsV3JhcHBlciI+CgkJPGRpdiBpZD0iY29sdW1uLWNvbnRlbnQi
PgoJPGRpdiBpZD0iY29udGVudCI+CgkJPGEgbmFtZT0idG9wIiBpZD0idG9wIj48
L2E+CgkJPGRpdiBpZD0ic2l0ZU5vdGljZSI+PHNjcmlwdCB0eXBlPSd0ZXh0L2ph
dmFzY3JpcHQnPmlmICh3Z05vdGljZSAhPSAnJykgZG9jdW1lbnQud3JpdGVsbih3
Z05vdGljZSk7PC9zY3JpcHQ+PC9kaXY+CQk8aDEgaWQ9ImZpcnN0SGVhZGluZyIg
Y2xhc3M9ImZpcnN0SGVhZGluZyI+0KDQtdGB0YPRgNGB0L3Ri9C1INC30LDQv9C4
0YHQuCBETlM8L2gxPgoJCTxkaXYgaWQ9ImJvZHlDb250ZW50Ij4KCQkJPGgzIGlk
PSJzaXRlU3ViIj7QnNCw0YLQtdGA0LjQsNC7INC40Lcg0JLQuNC60LjQv9C10LTQ
uNC4IOKAlCDRgdCy0L7QsdC+0LTQvdC+0Lkg0Y3QvdGG0LjQutC70L7Qv9C10LTQ
uNC4PC9oMz4KCQkJPGRpdiBpZD0iY29udGVudFN1YiI+PGRpdiBpZD0nbXctcmV2
aXNpb250YWcnIGNsYXNzPSdmbGFnZ2VkcmV2c19zaG9ydCBwbGFpbmxpbmtzIG5v
cHJpbnQnPjx0YWJsZSBib3JkZXI9JzAnIGNlbGxzcGFjaW5nPScwJyBzdHlsZT0n
YmFja2dyb3VuZDogbm9uZTsnPjx0ciBzdHlsZT0nd2hpdGUtc3BhY2U6bm93cmFw
Oyc+PHRkPjxzcGFuIGNsYXNzPSdmci1pY29uLWN1cnJlbnQnIHRpdGxlPSLQotC1
0LrRg9GJ0LDRjyDQstC10YDRgdC40Y8iPjwvc3Bhbj48Yj48YSBocmVmPSIvd2lr
aS8lRDAlOTIlRDAlQjglRDAlQkElRDAlQjglRDAlQkYlRDAlQjUlRDAlQjQlRDAl
QjglRDElOEY6JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQw
JUJBJUQwJUIwXyVEMSU4MSVEMSU4MiVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCOS8l
RDAlOUYlRDAlQkUlRDElOEYlRDElODElRDAlQkQlRDAlQjUlRDAlQkQlRDAlQjgl
RDAlQjVfJUQwJUI0JUQwJUJCJUQxJThGXyVEMSU4NyVEMCVCOCVEMSU4MiVEMCVC
MCVEMSU4MiVEMCVCNSVEMCVCQiVEMCVCNSVEMCVCOSIgdGl0bGU9ItCS0LjQutC4
0L/QtdC00LjRjzrQn9GA0L7QstC10YDQutCwINGB0YLQsNGC0LXQuS/Qn9C+0Y/R
gdC90LXQvdC40LUg0LTQu9GPINGH0LjRgtCw0YLQtdC70LXQuSI+0KLQtdC60YPR
idCw0Y8g0LLQtdGA0YHQuNGPPC9hPjwvYj4gWzxhIGhyZWY9Imh0dHA6Ly9ydS53
aWtpcGVkaWEub3JnL3cvaW5kZXgucGhwP3RpdGxlPSVEMCVBMCVEMCVCNSVEMSU4
MSVEMSU4MyVEMSU4MCVEMSU4MSVEMCVCRCVEMSU4QiVEMCVCNV8lRDAlQjclRDAl
QjAlRDAlQkYlRDAlQjglRDElODElRDAlQjhfRE5TJmFtcDtzdGFibGU9MSIgY2xh
c3M9ImV4dGVybmFsIHRleHQiIHRpdGxlPSJodHRwOi8vcnUud2lraXBlZGlhLm9y
Zy93L2luZGV4LnBocD90aXRsZT0lRDAlQTAlRDAlQjUlRDElODElRDElODMlRDEl
ODAlRDElODElRDAlQkQlRDElOEIlRDAlQjVfJUQwJUI3JUQwJUIwJUQwJUJGJUQw
JUI4JUQxJTgxJUQwJUI4X0ROUyZhbXA7c3RhYmxlPTEiIHJlbD0ibm9mb2xsb3ci
PtC/0L7QutCw0LfQsNGC0Ywg0YHRgtCw0LHQuNC70YzQvdGD0Y4g0LLQtdGA0YHQ
uNGOPC9hPl0KKDxhIGhyZWY9Imh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3cvaW5k
ZXgucGhwP3RpdGxlPSVEMCVBMCVEMCVCNSVEMSU4MSVEMSU4MyVEMSU4MCVEMSU4
MSVEMCVCRCVEMSU4QiVEMCVCNV8lRDAlQjclRDAlQjAlRDAlQkYlRDAlQjglRDEl
ODElRDAlQjhfRE5TJmFtcDtvbGRpZD0xNDYyNTYwNyZhbXA7ZGlmZj1jdXImYW1w
O2RpZmZvbmx5PTAiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiB0aXRsZT0iaHR0cDov
L3J1Lndpa2lwZWRpYS5vcmcvdy9pbmRleC5waHA/dGl0bGU9JUQwJUEwJUQwJUI1
JUQxJTgxJUQxJTgzJUQxJTgwJUQxJTgxJUQwJUJEJUQxJThCJUQwJUI1XyVEMCVC
NyVEMCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMCVCOF9ETlMmYW1wO29sZGlkPTE0
NjI1NjA3JmFtcDtkaWZmPWN1ciZhbXA7ZGlmZm9ubHk9MCIgcmVsPSJub2ZvbGxv
dyI+0YHRgNCw0LLQvdC40YLRjDwvYT4pJm5ic3A7Jm5ic3A7PC90ZD48dGQgYWxp
Z249J3JpZ2h0Jz48YSBpZD0nbXctcmV2aXNpb250b2dnbGUnIGNsYXNzPSdmbGFn
Z2VkcmV2c190b2dnbGUnIHN0eWxlPSdkaXNwbGF5Om5vbmU7JyBvbmNsaWNrPSd0
b2dnbGVSZXZSYXRpbmdzKCknIHRpdGxlPSfQv9C+0LrQsNC30LDRgtGML9GB0LrR
gNGL0YLRjCDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4JyA+KCsvLSk8L2E+PC90ZD48
L3RyPgo8dHI+PHRkIGlkPSdtdy1yZXZpc2lvbnJhdGluZ3MnPtCU0LDQvdC90LDR
jyDQstC10YDRgdC40Y8g0YHRgtGA0LDQvdC40YbRiyA8YSBocmVmPSIvd2lraS8l
RDAlOTIlRDAlQjglRDAlQkElRDAlQjglRDAlQkYlRDAlQjUlRDAlQjQlRDAlQjgl
RDElOEY6JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUJB
JUQwJUIwXyVEMSU4MSVEMSU4MiVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCOS8lRDAl
OUYlRDAlQkUlRDElOEYlRDElODElRDAlQkQlRDAlQjUlRDAlQkQlRDAlQjglRDAl
QjVfJUQwJUI0JUQwJUJCJUQxJThGXyVEMSU4NyVEMCVCOCVEMSU4MiVEMCVCMCVE
MSU4MiVEMCVCNSVEMCVCQiVEMCVCNSVEMCVCOSIgdGl0bGU9ItCS0LjQutC40L/Q
tdC00LjRjzrQn9GA0L7QstC10YDQutCwINGB0YLQsNGC0LXQuS/Qn9C+0Y/RgdC9
0LXQvdC40LUg0LTQu9GPINGH0LjRgtCw0YLQtdC70LXQuSI+0L3QtSDQv9GA0L7Q
stC10YDRj9C70LDRgdGMPC9hPiDRg9GH0LDRgdGC0L3QuNC60LDQvNC4INGBINGB
0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQvNC4INC/0YDQsNCy0LDQvNC4LgrQ
ktGLINC80L7QttC10YLQtSDQv9GA0L7Rh9C40YLQsNGC0Ywg0L/QvtGB0LvQtdC0
0L3RjtGOINC/0YDQvtCy0LXRgNC10L3QvdGD0Y4g0LjQu9C4INGCLiDQvS4gPGEg
aHJlZj0iaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvdy9pbmRleC5waHA/dGl0bGU9
JUQwJUEwJUQwJUI1JUQxJTgxJUQxJTgzJUQxJTgwJUQxJTgxJUQwJUJEJUQxJThC
JUQwJUI1XyVEMCVCNyVEMCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMCVCOF9ETlMm
YW1wO3N0YWJsZT0xIiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgdGl0bGU9Imh0dHA6
Ly9ydS53aWtpcGVkaWEub3JnL3cvaW5kZXgucGhwP3RpdGxlPSVEMCVBMCVEMCVC
NSVEMSU4MSVEMSU4MyVEMSU4MCVEMSU4MSVEMCVCRCVEMSU4QiVEMCVCNV8lRDAl
QjclRDAlQjAlRDAlQkYlRDAlQjglRDElODElRDAlQjhfRE5TJmFtcDtzdGFibGU9
MSIgcmVsPSJub2ZvbGxvdyI+0YHRgtCw0LHQuNC70YzQvdGD0Y4g0LLQtdGA0YHQ
uNGOPC9hPiDQvtGCIDI1INC80LDRgNGC0LAgMjAwOSwg0L7QtNC90LDQutC+INC+
0L3QsCDQvNC+0LbQtdGCINC30L3QsNGH0LjRgtC10LvRjNC90L4g0L7RgtC70LjR
h9Cw0YLRjNGB0Y8g0L7RgiDRgtC10LrRg9GJ0LXQuSDQstC10YDRgdC40LguCtCf
0YDQvtCy0LXRgNC60Lgg0YLRgNC10LHRg9GO0YIgPGEgaHJlZj0iaHR0cDovL3J1
Lndpa2lwZWRpYS5vcmcvdy9pbmRleC5waHA/dGl0bGU9JUQwJUEwJUQwJUI1JUQx
JTgxJUQxJTgzJUQxJTgwJUQxJTgxJUQwJUJEJUQxJThCJUQwJUI1XyVEMCVCNyVE
MCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMCVCOF9ETlMmYW1wO29sZGlkPTE0NjI1
NjA3JmFtcDtkaWZmPWN1ciZhbXA7ZGlmZm9ubHk9MCIgY2xhc3M9ImV4dGVybmFs
IHRleHQiIHRpdGxlPSJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93L2luZGV4LnBo
cD90aXRsZT0lRDAlQTAlRDAlQjUlRDElODElRDElODMlRDElODAlRDElODElRDAl
QkQlRDElOEIlRDAlQjVfJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQw
JUI4X0ROUyZhbXA7b2xkaWQ9MTQ2MjU2MDcmYW1wO2RpZmY9Y3VyJmFtcDtkaWZm
b25seT0wIiByZWw9Im5vZm9sbG93Ij4zINC/0YDQsNCy0LrQuDwvYT4uPGJyLz48
L3RkPjx0ZD48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2Rpdj4KCQkJCQkJCQkJ
PGRpdiBpZD0ianVtcC10by1uYXYiPtCf0LXRgNC10LnRgtC4INC6OiA8YSBocmVm
PSIjY29sdW1uLW9uZSI+0L3QsNCy0LjQs9Cw0YbQuNGPPC9hPiwgPGEgaHJlZj0i
I3NlYXJjaElucHV0Ij7Qv9C+0LjRgdC6PC9hPjwvZGl2PgkJCTwhLS0gc3RhcnQg
Y29udGVudCAtLT4KCQkJPHA+PGI+0KDQtdGB0YPRgNGB0L3Ri9C1INC30LDQv9C4
0YHQuCBETlM8L2I+JiMxNjA74oCUINC30LDQv9C40YHQuCDQviDRgdC+0L7RgtCy
0LXRgtGB0YLQstC40Lgg0LjQvNC10L3QuCDQuCDRgdC70YPQttC10LHQvdC+0Lkg
0LjQvdGE0L7RgNC80LDRhtC40Lgg0LIgPGEgaHJlZj0iL3dpa2kvRE5TIiB0aXRs
ZT0iRE5TIj7RgdC40YHRgtC10LzQtSDQtNC+0LzQtdC90L3Ri9GFINC40LzRkdC9
PC9hPi48L3A+CjxwPtCSINC90LDRgdGC0L7Rj9GJ0LjQuSDQvNC+0LzQtdC90YIg
0YHRg9GJ0LXRgdGC0LLRg9GO0YIg0YHQu9C10LTRg9GO0YnQuNC1INGA0LXRgdGD
0YDRgdC90YvQtSDQt9Cw0L/QuNGB0Lg8c3VwIGlkPSJjaXRlX3JlZi0wIiBjbGFz
cz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLTAiPlsxXTwvYT48L3N1
cD4gKNC20LjRgNC90YvQvCDQstGL0LTQtdC70LXQvdGLINC90LDQuNCx0L7Qu9C1
0LUg0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C1INC30LDQv9C40YHQuCk6PC9wPgo8
dGFibGUgY2xhc3M9InN0YW5kYXJkIj4KPHRyPgo8dGg+0JjQvNGPPC90aD4KPHRo
PtCg0LDRgdGI0LjRhNGA0L7QstC60LAg0L3QsNC30LLQsNC90LjRjyAo0LDQvdCz
0LsuKTwvdGg+Cjx0aD7QmtC+0LQ8L3RoPgo8dGg+0J7Qv9C40YHQsNC90LjQtTwv
dGg+Cjx0aD7Qo9C/0L7RgtGA0LXQsdC40LzQvtGB0YLRjDwvdGg+Cjx0aD5SRkM8
L3RoPgo8L3RyPgo8dHI+Cjx0ZD48Yj5BPC9iPjwvdGQ+Cjx0ZD5BZGRyZXNzPC90
ZD4KPHRkPjE8L3RkPgo8dGQ+0JDQtNGA0LXRgdC90LDRjyDQt9Cw0L/QuNGB0Yws
INGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQtSDQvNC10LbQtNGDINC40LzQtdC90LXQ
vCDQuCBJUC3QsNC00YDQtdGB0L7QvDwvdGQ+Cjx0ZD7QvtC00L3QsCDQuNC3INGB
0LDQvNGL0YUg0YfQsNGB0YLQviDQuNGB0L/QvtC70YzQt9GD0LXQvNGL0YUg0LfQ
sNC/0LjRgdC10Lk8L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYu
b3JnL2h0bWwvcmZjMTAzNSIgY2xhc3M9ImV4dGVybmFsIiB0aXRsZT0iaHR0cDov
L3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTAzNSI+UkZDIDEwMzU8L2E+PC90ZD4K
PC90cj4KPHRyPgo8dGQ+QTY8L3RkPgo8dGQ+QWRkcmVzcyB2ZXJzaW9uIDY8L3Rk
Pgo8dGQ+Mzg8L3RkPgo8dGQ+0JDQtNGA0LXRgSDQsiDRhNC+0YDQvNCw0YLQtSA8
YSBocmVmPSIvd2lraS9JUHY2IiB0aXRsZT0iSVB2NiI+SVB2NjwvYT48L3RkPgo8
dGQ+0LfQsNC80LXQvdC10L3QsCDQvdCwIEFBQUEg0LjQty3Qt9CwINGH0YDQtdC3
0LzQtdGA0L3QvtC5INGB0LvQvtC20L3QvtGB0YLQuCDQsiDRgNC10LDQu9C40LfQ
sNGG0LjQuCwg0YHRgtCw0YLRg9GBIMKr0Y3QutGB0L/QtdGA0LjQvNC10L3RgtCw
0LvRjNC90L7QucK7LiA8c3VwIGlkPSJjaXRlX3JlZi0xIiBjbGFzcz0icmVmZXJl
bmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLTEiPlsyXTwvYT48L3N1cD48L3RkPgo8
dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzM2MyIg
Y2xhc3M9ImV4dGVybmFsIiB0aXRsZT0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0
bWwvcmZjMzM2MyI+UkZDIDMzNjM8L2E+LCA8YSBocmVmPSJodHRwOi8vdG9vbHMu
aWV0Zi5vcmcvaHRtbC9yZmMyODc0IiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJo
dHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMyODc0Ij5SRkMgMjg3NDwvYT48
L3RkPgo8L3RyPgo8dHI+Cjx0ZD48Yj5BQUFBPC9iPjwvdGQ+Cjx0ZD5BKzErMSsx
IChBINC40YHQv9C+0LvRjNC30L7QstCw0LvRgdGPINC00LvRjyBJUHY0LCBBQUFB
INC00LvRjyBJUHY2KTwvdGQ+Cjx0ZD4yODwvdGQ+Cjx0ZD7QkNC00YDQtdGBINCy
INGE0L7RgNC80LDRgtC1IDxhIGhyZWY9Ii93aWtpL0lQdjYiIHRpdGxlPSJJUHY2
Ij5JUHY2PC9hPjwvdGQ+Cjx0ZD7RjdC60LLQuNCy0LDQu9C10L3RgtCwINCQINC0
0LvRjyBJUFY2PC90ZD4KPHRkPjxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRmLm9y
Zy9odG1sL3JmYzM1OTYiIGNsYXNzPSJleHRlcm5hbCIgdGl0bGU9Imh0dHA6Ly90
b29scy5pZXRmLm9yZy9odG1sL3JmYzM1OTYiPlJGQyAzNTk2PC9hPjwvdGQ+Cjwv
dHI+Cjx0cj4KPHRkPkFGU0RCPC90ZD4KPHRkPkFGUyBkYXRhYmFzZTwvdGQ+Cjx0
ZD4xODwvdGQ+Cjx0ZD7QoNCw0YHQv9C+0LvQvtC20LXQvdC40LUg0LHQsNC30Ysg
0LTQsNC90L3Ri9GFIDxhIGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT1BRlMmYW1w
O2FjdGlvbj1lZGl0JmFtcDtyZWRsaW5rPTEiIGNsYXNzPSJuZXciIHRpdGxlPSJB
RlMgKNGB0YLRgNCw0L3QuNGG0LAg0L7RgtGB0YPRgtGB0YLQstGD0LXRgikiPkFG
UzwvYT48L3RkPgo8dGQ+0YDQtdC00LrQvtGD0L/QvtGC0YDQtdCx0LjQvNCw0Y8s
INGH0LDRidC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyBTUlYt0LfQsNC/0LjR
gdGMPC90ZD4KPHRkPjxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1s
L3JmYzExODMiIGNsYXNzPSJleHRlcm5hbCIgdGl0bGU9Imh0dHA6Ly90b29scy5p
ZXRmLm9yZy9odG1sL3JmYzExODMiPlJGQyAxMTgzPC9hPjwvdGQ+CjwvdHI+Cjx0
cj4KPHRkPjxiPkNOQU1FPC9iPjwvdGQ+Cjx0ZD5DYW5vbmljYWwgbmFtZTwvdGQ+
Cjx0ZD41PC90ZD4KPHRkPtCa0LDQvdC+0L3QuNGH0LXRgdC60L7QtSDQuNC80Y8g
0LTQu9GPINC/0YHQtdCy0LTQvtC90LjQvNCwICjQvtC00L3QvtGD0YDQvtCy0L3Q
tdCy0LDRjyDQv9C10YDQtdCw0LTRgNC10YHQsNGG0LjRjyk8L3RkPgo8dGQ+0YjQ
uNGA0L7QutC+INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyAo0L3QviDQuNC80LXQ
tdGCINC+0LPRgNCw0L3QuNGH0LXQvdC40Y8g0L/QviDQv9GA0LjQvNC10L3QtdC9
0LjRjik8L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0
bWwvcmZjMTAzNSIgY2xhc3M9ImV4dGVybmFsIiB0aXRsZT0iaHR0cDovL3Rvb2xz
LmlldGYub3JnL2h0bWwvcmZjMTAzNSI+UkZDIDEwMzU8L2E+PC90ZD4KPC90cj4K
PHRyPgo8dGQ+RE5BTUU8L3RkPgo8dGQ+RG9tYWluIE5hbWU8L3RkPgo8dGQ+Mzk8
L3RkPgo8dGQ+0J/RgdC10LLQtNC+0L3QuNC8INC00LvRjyDQtNC+0LzQtdC90LA8
L3RkPgo8dGQ+PzwvdGQ+Cjx0ZD48YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5v
cmcvaHRtbC9yZmMyNjcyIiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJodHRwOi8v
dG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMyNjcyIj5SRkMgMjY3MjwvYT48L3RkPgo8
L3RyPgo8dHI+Cjx0ZD5EUzwvdGQ+Cjx0ZD5EZWxlZ2F0aW9uIHNpZ25lcjwvdGQ+
Cjx0ZD40MzwvdGQ+Cjx0ZD4o0YHQstGP0LfQsNC90LAg0YEg0YDQsNCx0L7RgtC+
0LkgPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUROU1NlYyZhbXA7YWN0aW9u
PWVkaXQmYW1wO3JlZGxpbms9MSIgY2xhc3M9Im5ldyIgdGl0bGU9IkROU1NlYyAo
0YHRgtGA0LDQvdC40YbQsCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCKSI+RE5TU2Vj
PC9hPik8L3RkPgo8dGQ+PGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUROU1Nl
YyZhbXA7YWN0aW9uPWVkaXQmYW1wO3JlZGxpbms9MSIgY2xhc3M9Im5ldyIgdGl0
bGU9IkROU1NlYyAo0YHRgtGA0LDQvdC40YbQsCDQvtGC0YHRg9GC0YHRgtCy0YPQ
tdGCKSI+RE5TU2VjPC9hPjwvdGQ+Cjx0ZD48YSBocmVmPSJodHRwOi8vdG9vbHMu
aWV0Zi5vcmcvaHRtbC9yZmMzNjU4IiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJo
dHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzNjU4Ij5SRkMgMzY1ODwvYT48
L3RkPgo8L3RyPgo8dHI+Cjx0ZD5HSUQ8L3RkPgo8dGQ+PzwvdGQ+Cjx0ZD4xMDI8
L3RkPgo8dGQ+0JfQsNGA0LXQt9C10YDQstC40YDQvtCy0LDQvdC+IDxhIGhyZWY9
Ii93aWtpL0lBTkEiIHRpdGxlPSJJQU5BIj5JQU5BPC9hPjwvdGQ+Cjx0ZD4/PC90
ZD4KPHRkPj88L3RkPgo8L3RyPgo8dHI+Cjx0ZD5HUE9TPC90ZD4KPHRkPkdlb2dy
YXBoaWNhbCBwb3NpdGlvbjwvdGQ+Cjx0ZD4yNzwvdGQ+Cjx0ZD7Qk9C10L7Qs9GA
0LDRhNC40YfQtdGB0LrQvtC1INC/0L7Qu9C+0LbQtdC90LjQtTwvdGQ+Cjx0ZD7R
g9GB0YLQsNGA0LXQu9CwLCDRgdC8IExPQzwvdGQ+Cjx0ZD48YSBocmVmPSJodHRw
Oi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxNzEyIiBjbGFzcz0iZXh0ZXJuYWwi
IHRpdGxlPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxNzEyIj5SRkMg
MTcxMjwvYT48L3RkPgo8L3RyPgo8dHI+Cjx0ZD5ISU5GTzwvdGQ+Cjx0ZD5Ib3N0
IEluZm9ybWF0aW9uPC90ZD4KPHRkPjEzPC90ZD4KPHRkPtCY0L3RhNC+0YDQvNCw
0YbQuNGPINC+0LEg0YPQt9C70LU8L3RkPgo8dGQ+0YDQtdC00LrQvtGD0L/QvtGC
0LXQsdC40LzQsDwvdGQ+Cjx0ZD48YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5v
cmcvaHRtbC9yZmMxMDM1IiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJodHRwOi8v
dG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxMDM1Ij5SRkMgMTAzNTwvYT48L3RkPgo8
L3RyPgo8dHI+Cjx0ZD5JU0ROPC90ZD4KPHRkPklTRE4gYWRkcmVzczwvdGQ+Cjx0
ZD4yMDwvdGQ+Cjx0ZD7QkNC00YDQtdGBINCyINGE0L7RgNC80LDRgtC1IDxhIGhy
ZWY9Ii93aWtpL0lTRE4iIHRpdGxlPSJJU0ROIj5JU0ROPC9hPjwvdGQ+Cjx0ZD7R
gNC10LTQutC+0YPQv9C+0YLRgNC10LHQuNC80LAgKNC40Lct0LfQsCDQvNCw0LvQ
vtC5INC/0L7Qv9GD0LvRj9GA0L3QvtGB0YLQuCDRgdC10YLQtdC5IElTRE4g0LHQ
tdC3IElQLdC80LDRgNGI0YDRg9GC0LjQt9Cw0YbQuNC4KTwvdGQ+Cjx0ZD48YSBo
cmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxMTgzIiBjbGFzcz0i
ZXh0ZXJuYWwiIHRpdGxlPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMx
MTgzIj5SRkMgMTE4MzwvYT48L3RkPgo8L3RyPgo8dHI+Cjx0ZD5LRVk8L3RkPgo8
dGQ+UHVibGljIGtleTwvdGQ+Cjx0ZD4yNTwvdGQ+Cjx0ZD7Qn9GD0LHQu9C40YfQ
vdGL0Lkg0LrQu9GO0YcsINC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQsiA8YSBo
cmVmPSIvdy9pbmRleC5waHA/dGl0bGU9RE5TU2VjJmFtcDthY3Rpb249ZWRpdCZh
bXA7cmVkbGluaz0xIiBjbGFzcz0ibmV3IiB0aXRsZT0iRE5TU2VjICjRgdGC0YDQ
sNC90LjRhtCwINC+0YLRgdGD0YLRgdGC0LLRg9C10YIpIj5ETlNTZWM8L2E+PC90
ZD4KPHRkPjxhIGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT1ETlNTZWMmYW1wO2Fj
dGlvbj1lZGl0JmFtcDtyZWRsaW5rPTEiIGNsYXNzPSJuZXciIHRpdGxlPSJETlNT
ZWMgKNGB0YLRgNCw0L3QuNGG0LAg0L7RgtGB0YPRgtGB0YLQstGD0LXRgikiPkRO
U1NlYzwvYT48L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3Jn
L2h0bWwvcmZjMjUzNSIgY2xhc3M9ImV4dGVybmFsIiB0aXRsZT0iaHR0cDovL3Rv
b2xzLmlldGYub3JnL2h0bWwvcmZjMjUzNSI+UkZDIDI1MzU8L2E+LCA8YSBocmVm
PSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzNDQ1IiBjbGFzcz0iZXh0
ZXJuYWwiIHRpdGxlPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzNDQ1
Ij5SRkMgMzQ0NTwvYT48L3RkPgo8L3RyPgo8dHI+Cjx0ZD5LWDwvdGQ+Cjx0ZD5L
ZXkgRXhjaGFuZ2VyPC90ZD4KPHRkPjM2PC90ZD4KPHRkPj88L3RkPgo8dGQ+Pzwv
dGQ+Cjx0ZD48YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMy
MjMwIiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJodHRwOi8vdG9vbHMuaWV0Zi5v
cmcvaHRtbC9yZmMyMjMwIj5SRkMgMjIzMDwvYT48L3RkPgo8L3RyPgo8dHI+Cjx0
ZD5MT0M8L3RkPgo8dGQ+TG9jYXRpb24gaW5mb3JtYXRpb248L3RkPgo8dGQ+Mjk8
L3RkPgo8dGQ+0JPQtdC+0LPRgNCw0YTQuNGH0LXRgdC60L7QtSDQvNC10YHRgtC+
0L/QvtC70L7QttC10L3QuNC1INC00L7QvNC10L3QsDwvdGQ+Cjx0ZD4/PC90ZD4K
PHRkPjxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzE4NzYi
IGNsYXNzPSJleHRlcm5hbCIgdGl0bGU9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9o
dG1sL3JmYzE4NzYiPlJGQyAxODc2PC9hPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPk1C
PC90ZD4KPHRkPk1haWxib3g8L3RkPgo8dGQ+NzwvdGQ+Cjx0ZD7Qn9C+0YfRgtC+
0LLRi9C5INGP0YnQuNC6PC90ZD4KPHRkPtGA0LXQtNC60L7Rg9C/0L7RgtGA0LXQ
sdC40LzQsDwvdGQ+Cjx0ZD48YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcv
aHRtbC9yZmMxMDM1IiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJodHRwOi8vdG9v
bHMuaWV0Zi5vcmcvaHRtbC9yZmMxMDM1Ij5SRkMgMTAzNTwvYT48L3RkPgo8L3Ry
Pgo8dHI+Cjx0ZD5NRDwvdGQ+Cjx0ZD5NYWlsIGRlc3RpbmF0aW9uPC90ZD4KPHRk
PjM8L3RkPgo8dGQ+0J/QvtGH0YLQvtCy0YvQuSDQsNC00YDQtdGBPC90ZD4KPHRk
PtGD0YHRgtCw0YDQtdC70LA8L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xz
LmlldGYub3JnL2h0bWwvcmZjMTAzNSIgY2xhc3M9ImV4dGVybmFsIiB0aXRsZT0i
aHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTAzNSI+UkZDIDEwMzU8L2E+
PC90ZD4KPC90cj4KPHRyPgo8dGQ+TUY8L3RkPgo8dGQ+TWFpbCBmb3J3YXJkZXI8
L3RkPgo8dGQ+NDwvdGQ+Cjx0ZD7Qn9C10YDQtdC90LDQv9GA0LDQstC70LXQvdC4
0LUg0L/QvtGH0YLRizwvdGQ+Cjx0ZD7Rg9GB0YLQsNGA0LXQu9CwPC90ZD4KPHRk
PjxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzEwMzUiIGNs
YXNzPSJleHRlcm5hbCIgdGl0bGU9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1s
L3JmYzEwMzUiPlJGQyAxMDM1PC9hPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPk1HPC90
ZD4KPHRkPk1haWwgZ3JvdXAgbWVtYmVyPC90ZD4KPHRkPjg8L3RkPgo8dGQ+0J3Q
vtC80LXRgCDQv9C+0YfRgtC+0LLQvtC5INCz0YDRg9C/0L/RizwvdGQ+Cjx0ZD7R
gNC10LTQutC+0YPQv9C+0YLRgNC10LHQuNC80LA8L3RkPgo8dGQ+PGEgaHJlZj0i
aHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTAzNSIgY2xhc3M9ImV4dGVy
bmFsIiB0aXRsZT0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTAzNSI+
UkZDIDEwMzU8L2E+PC90ZD4KPC90cj4KPHRyPgo8dGQ+TUlORk88L3RkPgo8dGQ+
TWFpbGJveCBvciBtYWlsaW5nIGxpc3QgaW5mb3JtYXRpb248L3RkPgo8dGQ+MTQ8
L3RkPgo8dGQ+0JjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0L/QvtGH0YLQvtCy0L7Q
vCDRj9GJ0LjQutC1INC40LvQuCDRgNCw0YHRgdGL0LvQutC1PC90ZD4KPHRkPj88
L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZj
MTAzNSIgY2xhc3M9ImV4dGVybmFsIiB0aXRsZT0iaHR0cDovL3Rvb2xzLmlldGYu
b3JnL2h0bWwvcmZjMTAzNSI+UkZDIDEwMzU8L2E+PC90ZD4KPC90cj4KPHRyPgo8
dGQ+TVI8L3RkPgo8dGQ+TWFpbCByZW5hbWUgZG9tYWluIG5hbWU8L3RkPgo8dGQ+
OTwvdGQ+Cjx0ZD4/PC90ZD4KPHRkPtGA0LXQtNC60L7Rg9C/0YLRgNC10LHQuNC8
0LA8L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwv
cmZjMTAzNSIgY2xhc3M9ImV4dGVybmFsIiB0aXRsZT0iaHR0cDovL3Rvb2xzLmll
dGYub3JnL2h0bWwvcmZjMTAzNSI+UkZDIDEwMzU8L2E+PC90ZD4KPC90cj4KPHRy
Pgo8dGQ+PGI+PGEgaHJlZj0iL3dpa2kvTVgtJUQwJUI3JUQwJUIwJUQwJUJGJUQw
JUI4JUQxJTgxJUQxJThDIiB0aXRsZT0iTVgt0LfQsNC/0LjRgdGMIiBjbGFzcz0i
bXctcmVkaXJlY3QiPk1YPC9hPjwvYj48L3RkPgo8dGQ+TWFpbCBFeGNoYW5nZXI8
L3RkPgo8dGQ+MTU8L3RkPgo8dGQ+0JDQtNGA0LXRgSDQv9C+0YfRgtC+0LLQvtCz
0L4g0YjQu9GO0LfQsCDQtNC70Y8g0LTQvtC80LXQvdCwLiDQodC+0YHRgtC+0LjR
giDQuNC3INC00LLRg9GFINGH0LDRgdGC0LXQuSYjMTYwO+KAlCDQv9GA0LjQvtGA
0LjRgtC10YLQsCAo0YfQtdC8INGH0LjRgdC70L4g0LHQvtC70YzRiNC1LCDRgtC1
0Lwg0L3QuNC20LUg0L/RgNC40L7RgNC40YLQtdGCKSwg0Lgg0LDQtNGA0LXRgdCw
INGD0LfQu9CwPC90ZD4KPHRkPtC60YDQuNGC0LjRh9C10YHQutC4INCy0LDQttC9
0LAg0LTQu9GPIDxhIGhyZWY9Ii93aWtpL1NNVFAiIHRpdGxlPSJTTVRQIj5TTVRQ
PC9hPi3Qv9GA0L7RgtC+0LrQvtC70LAsINC+0YHQvdC+0LLQsCDQvNCw0YDRiNGA
0YPRgtC40LfQsNGG0LjQuCA8YSBocmVmPSIvd2lraS8lRDAlQUQlRDAlQkIlRDAl
QjUlRDAlQkElRDElODIlRDElODAlRDAlQkUlRDAlQkQlRDAlQkQlRDAlQjAlRDEl
OEZfJUQwJUJGJUQwJUJFJUQxJTg3JUQxJTgyJUQwJUIwIiB0aXRsZT0i0K3Qu9C1
0LrRgtGA0L7QvdC90LDRjyDQv9C+0YfRgtCwIj7Qv9C+0YfRgtGLPC9hPiDQsiDQ
mNC90YLQtdGA0L3QtdGC0LU8L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xz
LmlldGYub3JnL2h0bWwvcmZjMTAzNSIgY2xhc3M9ImV4dGVybmFsIiB0aXRsZT0i
aHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTAzNSI+UkZDIDEwMzU8L2E+
PC90ZD4KPC90cj4KPHRyPgo8dGQ+TkFQVFI8L3RkPgo8dGQ+TmFtaW5nIGF1dGhv
cml0eSBwb2ludGVyPC90ZD4KPHRkPjM1PC90ZD4KPHRkPtCj0LrQsNC30LDRgtC1
0LvRjCDQvdCwINCw0LLRgtC+0YDQuNGC0LXRgtC90YvQuSDRg9C30LXQuyDQuNC8
0LXQvdC+0LLQsNC90LjRjyAo0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC00LvR
jyBJUC3RgtC10LvQtdGE0L7QvdC40LgpPC90ZD4KPHRkPj88L3RkPgo8dGQ+PGEg
aHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzI2MyIgY2xhc3M9
ImV4dGVybmFsIiB0aXRsZT0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZj
MzI2MyI+UkZDIDMyNjM8L2E+LCA8YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5v
cmcvaHRtbC9yZmMzNDAzIiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJodHRwOi8v
dG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzNDAzIj5SRkMgMzQwMzwvYT48L3RkPgo8
L3RyPgo8dHI+Cjx0ZD5OVUxMPC90ZD4KPHRkPk51bGwgcmVjb3JkPC90ZD4KPHRk
PjEwPC90ZD4KPHRkPtCf0YPRgdGC0LDRjyDQt9Cw0L/QuNGB0Yw8L3RkPgo8dGQ+
0YDQtdC00LrQvtGD0L/QvtGC0YDQtdCx0LjQvNCwPC90ZD4KPHRkPjxhIGhyZWY9
Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzEwMzUiIGNsYXNzPSJleHRl
cm5hbCIgdGl0bGU9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzEwMzUi
PlJGQyAxMDM1PC9hPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxiPk5TPC9iPjwvdGQ+
Cjx0ZD5BdXRob3JpdGF0aXZlIG5hbWUgc2VydmVyPC90ZD4KPHRkPjI8L3RkPgo8
dGQ+0JDQtNGA0LXRgSDRg9C30LvQsCwg0L7RgtCy0LXRh9Cw0Y7RidC10LPQviDQ
t9CwINC00L7QvNC10L3QvdGD0Y4g0LfQvtC90YMuINCa0YDQuNGC0LjRh9C10YHQ
utC4INCy0LDQttC90LAg0LTQu9GPINGE0YPQvdC60YbQuNC+0L3QuNGA0L7QstCw
0L3QuNGPINGB0LDQvNC+0Lkg0YHQuNGB0YLQtdC80Ysg0LTQvtC80LXQvdC90YvR
hSDQuNC80ZHQvTwvdGQ+Cjx0ZD48YSBocmVmPSIvd2lraS9ETlMiIHRpdGxlPSJE
TlMiPkROUzwvYT48L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYu
b3JnL2h0bWwvcmZjMTAzNSIgY2xhc3M9ImV4dGVybmFsIiB0aXRsZT0iaHR0cDov
L3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTAzNSI+UkZDIDEwMzU8L2E+PC90ZD4K
PC90cj4KPHRyPgo8dGQ+TlNBUDwvdGQ+Cjx0ZD5OZXR3b3JrIHNlcnZpY2UgYWNj
ZXNzIHBvaW50IGFkZHJlc3M8L3RkPgo8dGQ+MjI8L3RkPgo8dGQ+0KPQutCw0LfQ
sNGC0LXQu9C4INCyINGB0YLQuNC70LUgPGEgaHJlZj0iL3dpa2kvJUQwJTlDJUQw
JUJFJUQwJUI0JUQwJUI1JUQwJUJCJUQxJThDX09TSSIgdGl0bGU9ItCc0L7QtNC1
0LvRjCBPU0kiIGNsYXNzPSJtdy1yZWRpcmVjdCI+T1NJPC9hPjwvdGQ+Cjx0ZD7R
gNC10LTQutC+0YPQv9C+0YLRgNC10LHQuNC80LA8L3RkPgo8dGQ+PGEgaHJlZj0i
aHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTcwNiIgY2xhc3M9ImV4dGVy
bmFsIiB0aXRsZT0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTcwNiI+
UkZDIDE3MDY8L2E+PC90ZD4KPC90cj4KPHRyPgo8dGQ+TlNBUC1QVFI8L3RkPgo8
dGQ+TlNBUCBwb2ludGVyPC90ZD4KPHRkPjIzPC90ZD4KPHRkPtCj0LrQsNC30LDR
gtC10LvRjCDQvdCwIE5TQVA8L3RkPgo8dGQ+0YPRgdGC0LDRgNC10LvQsDwvdGQ+
Cjx0ZD48YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxMzQ4
IiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcv
aHRtbC9yZmMxMzQ4Ij5SRkMgMTM0ODwvYT48L3RkPgo8L3RyPgo8dHI+Cjx0ZD5O
WFQ8L3RkPgo8dGQ+TmV4dCBkb21haW48L3RkPgo8dGQ+MzA8L3RkPgo8dGQ+0KPQ
utCw0LfQsNGC0LXQu9GMINC90LAg0YHQu9C10LTRg9GO0YnQuNC5INC00L7QvNC1
0L0gKD8pPC90ZD4KPHRkPtGD0YHRgtCw0YDQtdC70LA8L3RkPgo8dGQ+PGEgaHJl
Zj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjA2NSIgY2xhc3M9ImV4
dGVybmFsIiB0aXRsZT0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjA2
NSI+UkZDIDIwNjU8L2E+PC90ZD4KPC90cj4KPHRyPgo8dGQ+PGI+UFRSPC9iPjwv
dGQ+Cjx0ZD5Eb21haW4gbmFtZSBwb2ludGVyPC90ZD4KPHRkPjEyPC90ZD4KPHRk
PtCg0LXQsNC70LjQt9GD0LXRgiDQvNC10YXQsNC90LjQt9C8INC/0LXRgNC10LDQ
tNGA0LXRgdCw0YbQuNC4PC90ZD4KPHRkPtGI0LjRgNC+0LrQviDQuNGB0L/QvtC7
0YzQt9GD0LXRgtGB0Y8g0LTQu9GPIElQdjQt0LDQtNGA0LXRgdC+0LIg0LIg0LTQ
vtC80LXQvdC1IDxhIGhyZWY9Ii93aWtpL0luLWFkZHIuYXJwYSIgdGl0bGU9Iklu
LWFkZHIuYXJwYSI+aW4tYWRkci5hcnBhPC9hPjwvdGQ+Cjx0ZD48YSBocmVmPSJo
dHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxMDM1IiBjbGFzcz0iZXh0ZXJu
YWwiIHRpdGxlPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxMDM1Ij5S
RkMgMTAzNTwvYT48L3RkPgo8L3RyPgo8dHI+Cjx0ZD5QWDwvdGQ+Cjx0ZD5Qb2lu
dGVyIHRvIFguNDAwPC90ZD4KPHRkPj88L3RkPgo8dGQ+0KPQutCw0LfQsNGC0LXQ
u9GMINC90LAg0YHQuNGB0YLQtdC80YMg0LzQsNGA0YjRgNGD0YLQuNC30LDRhtC4
0Lgg0L/QvtGH0YLRiyBYLjQwMDwvdGQ+Cjx0ZD48YSBocmVmPSIvd2lraS9YLjQw
MCIgdGl0bGU9IlguNDAwIj5YLjQwMDwvYT48L3RkPgo8dGQ+PGEgaHJlZj0iaHR0
cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjODIyIiBjbGFzcz0iZXh0ZXJuYWwi
IHRpdGxlPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MjIiPlJGQyA4
MjI8L2E+LCA8YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMy
MTYzIiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJodHRwOi8vdG9vbHMuaWV0Zi5v
cmcvaHRtbC9yZmMyMTYzIj5SRkMgMjE2MzwvYT48L3RkPgo8L3RyPgo8dHI+Cjx0
ZD5SUDwvdGQ+Cjx0ZD5SZXNwb25zaWJsZSBwZXJzb248L3RkPgo8dGQ+MTc8L3Rk
Pgo8dGQ+0J7RgtCy0LXRgtGB0YLQstC10L3QvdGL0Lk8L3RkPgo8dGQ+PzwvdGQ+
Cjx0ZD48YSBocmVmPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxMTgz
IiBjbGFzcz0iZXh0ZXJuYWwiIHRpdGxlPSJodHRwOi8vdG9vbHMuaWV0Zi5vcmcv
aHRtbC9yZmMxMTgzIj5SRkMgMTE4MzwvYT48L3RkPgo8L3RyPgo8dHI+Cjx0ZD5S
VDwvdGQ+Cjx0ZD5Sb3V0ZSB0aHJvdWdoPC90ZD4KPHRkPjIxPC90ZD4KPHRkPtCj
0LrQsNC30LDQvdC40LUg0L3QsCDRg9C30LXQuywg0YfQtdGA0LXQtyDQutC+0YLQ
vtGA0YvQuSDRgdC70LXQtNGD0LXRgiDQvtGB0YPRidC10YHRgtCy0LvRj9GC0Ywg
0LzQsNGA0YjRgNGD0YLQuNCw0YbQuNGPPC90ZD4KPHRkPtC80LDQu9C+0YPQv9C+
0YLRgNC10LHQuNC80LA8L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmll
dGYub3JnL2h0bWwvcmZjMTE4MyIgY2xhc3M9ImV4dGVybmFsIiB0aXRsZT0iaHR0
cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTE4MyI+UkZDIDExODM8L2E+PC90
ZD4KPC90cj4KPHRyPgo8dGQ+U0lHPC90ZD4KPHRkPkNyeXB0b2dyYXBoaWMgcHVi
bGljIGtleSBzaWduYXR1cmU8L3RkPgo8dGQ+MjQ8L3RkPgo8dGQ+0KHQuNCz0L3Q
sNGC0YPRgNCwINC/0YPQsdC70LjRh9C90L7QuSDQv9C+0LTQv9C40YHQuDwvdGQ+
Cjx0ZD4/PC90ZD4KPHRkPjxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9o
dG1sL3JmYzI5MzEiIGNsYXNzPSJleHRlcm5hbCIgdGl0bGU9Imh0dHA6Ly90b29s
cy5pZXRmLm9yZy9odG1sL3JmYzI5MzEiPlJGQyAyOTMxPC9hPjwvdGQ+CjwvdHI+
Cjx0cj4KPHRkPjxiPlNPQTwvYj48L3RkPgo8dGQ+U3RhcnQgb2YgYXV0aG9yaXR5
PC90ZD4KPHRkPjY8L3RkPgo8dGQ+0KPQutCw0LfQsNC90LjQtSDQvdCwINCw0LLR
gtC+0YDQuNGC0LXRgtC90L7RgdGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40LgsINC4
0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YPQutCw0LfQsNC90LjRjyDQ
vdCwINC90L7QstGD0Y4g0LfQvtC90YM8L3RkPgo8dGQ+PGEgaHJlZj0iL3dpa2kv
RE5TIiB0aXRsZT0iRE5TIj5ETlM8L2E+PC90ZD4KPHRkPjxhIGhyZWY9Imh0dHA6
Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzEwMzUiIGNsYXNzPSJleHRlcm5hbCIg
dGl0bGU9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzEwMzUiPlJGQyAx
MDM1PC9hPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPlNSVjwvdGQ+Cjx0ZD5TZXJ2ZXIg
c2VsZWN0aW9uPC90ZD4KPHRkPjMzPC90ZD4KPHRkPtCj0LrQsNC30LDQvdC40LUg
0L3QsCDQvNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC1INGB0LXRgNCy0LXRgNC+
0LIg0LTQu9GPINGB0LXRgNCy0LjRgdC+0LI8L3RkPgo8dGQ+PGEgaHJlZj0iL3dp
a2kvSmFiYmVyIiB0aXRsZT0iSmFiYmVyIj5KYWJiZXI8L2E+LCA8YSBocmVmPSIv
d2lraS9BY3RpdmVfRGlyZWN0b3J5IiB0aXRsZT0iQWN0aXZlIERpcmVjdG9yeSI+
QWN0aXZlIERpcmVjdG9yeTwvYT48L3RkPgo8dGQ+PGEgaHJlZj0iaHR0cDovL3Rv
b2xzLmlldGYub3JnL2h0bWwvcmZjMjc4MiIgY2xhc3M9ImV4dGVybmFsIiB0aXRs
ZT0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjc4MiI+UkZDIDI3ODI8
L2E+PC90ZD4KPC90cj4KPHRyPgo8dGQ+VEtFWTwvdGQ+Cjx0ZD5UcmFuc2FjdGlv
biBrZXk8L3RkPgo8dGQ+MjQ5PC90ZD4KPHRkPtCc0LXRgtC+0LQg0YDQsNGB0L/R
gNC+0YHRgtGA0LDQvdC10L3QuNGPINC60LvRjtGH0LXQuSDQtNC70Y8gVFNJRy3Q
t9Cw0L/QuNGB0LXQuTwvdGQ+Cjx0ZD48YSBocmVmPSIvdy9pbmRleC5waHA/dGl0
bGU9RE5TU2VjJmFtcDthY3Rpb249ZWRpdCZhbXA7cmVkbGluaz0xIiBjbGFzcz0i
bmV3IiB0aXRsZT0iRE5TU2VjICjRgdGC0YDQsNC90LjRhtCwINC+0YLRgdGD0YLR
gdGC0LLRg9C10YIpIj5ETlNTZWM8L2E+PC90ZD4KPHRkPjxhIGhyZWY9Imh0dHA6
Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI5MzAiIGNsYXNzPSJleHRlcm5hbCIg
dGl0bGU9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI5MzAiPlJGQyAy
OTMwPC9hPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPlRTSUc8L3RkPgo8dGQ+VHJhbnNh
Y3Rpb24gc2lnbmF0dXJlPC90ZD4KPHRkPjI1MDwvdGQ+Cjx0ZD7QmNC00LXQvdGC
0LjRhNC40LrQsNGG0LjRjyDQtNC70Y8gRE5TLdC+0L/QtdGA0LDRhtC40Lkg0YEg
0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LXQvCDQvtCx0YnQuNGFINGB0LXQutGA
0LXRgtC90YvRhSDQutC70Y7Rh9C10Lkg0Lgg0YXRjdGI0LXQuTwvdGQ+Cjx0ZD48
YSBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9RE5TU2VjJmFtcDthY3Rpb249ZWRp
dCZhbXA7cmVkbGluaz0xIiBjbGFzcz0ibmV3IiB0aXRsZT0iRE5TU2VjICjRgdGC
0YDQsNC90LjRhtCwINC+0YLRgdGD0YLRgdGC0LLRg9C10YIpIj5ETlNTZWM8L2E+
PC90ZD4KPHRkPjxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3Jm
YzI4NDUiIGNsYXNzPSJleHRlcm5hbCIgdGl0bGU9Imh0dHA6Ly90b29scy5pZXRm
Lm9yZy9odG1sL3JmYzI4NDUiPlJGQyAyODQ1PC9hPjwvdGQ+CjwvdHI+Cjx0cj4K
PHRkPlRYVDwvdGQ+Cjx0ZD5UZXh0IHN0cmluZzwvdGQ+Cjx0ZD4xNjwvdGQ+Cjx0
ZD7Ql9Cw0L/QuNGB0Ywg0L/RgNC+0LjQt9Cy0L7Qu9GM0L3QvtCz0L4g0LTQstC+
0LjRh9C10YHQutC+0LPQviDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+LCDQtNC+IDI1
NSDQsdCw0LnRgiDQsiDRgNCw0LfQvNC10YDQtTwvdGQ+Cjx0ZD48YSBocmVmPSIv
d2lraS9TUEYiIHRpdGxlPSJTUEYiPlNQRjwvYT4sIDxhIGhyZWY9Ii93L2luZGV4
LnBocD90aXRsZT1ETlNfJUQxJTgyJUQxJTgzJUQwJUJEJUQwJUJEJUQwJUI1JUQw
JUJCJUQxJThDJmFtcDthY3Rpb249ZWRpdCZhbXA7cmVkbGluaz0xIiBjbGFzcz0i
bmV3IiB0aXRsZT0iRE5TINGC0YPQvdC90LXQu9GMICjRgdGC0YDQsNC90LjRhtCw
INC+0YLRgdGD0YLRgdGC0LLRg9C10YIpIj5ETlMt0YLRg9C90L3QtdC70Lg8L2E+
PC90ZD4KPHRkPjxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3Jm
YzEwMzUiIGNsYXNzPSJleHRlcm5hbCIgdGl0bGU9Imh0dHA6Ly90b29scy5pZXRm
Lm9yZy9odG1sL3JmYzEwMzUiPlJGQyAxMDM1PC9hPjwvdGQ+CjwvdHI+Cjx0cj4K
PHRkPlVJRDwvdGQ+Cjx0ZD4/PC90ZD4KPHRkPjEwMTwvdGQ+Cjx0ZD7Ql9Cw0YDQ
tdC30LXRgNCy0LjRgNC+0LLQsNC90L4gPGEgaHJlZj0iL3dpa2kvSUFOQSIgdGl0
bGU9IklBTkEiPklBTkE8L2E+PC90ZD4KPHRkPj88L3RkPgo8dGQ+PzwvdGQ+Cjwv
dHI+Cjx0cj4KPHRkPlVJTkZPPC90ZD4KPHRkPj88L3RkPgo8dGQ+MTAwPC90ZD4K
PHRkPtCX0LDRgNC10LfQtdGA0LLQuNGA0L7QstCw0L3QviA8YSBocmVmPSIvd2lr
aS9JQU5BIiB0aXRsZT0iSUFOQSI+SUFOQTwvYT48L3RkPgo8dGQ+PzwvdGQ+Cjx0
ZD4/PC90ZD4KPC90cj4KPHRyPgo8dGQ+VU5TUEVDPC90ZD4KPHRkPj88L3RkPgo8
dGQ+MTAzPC90ZD4KPHRkPtCX0LDRgNC10LfQtdGA0LLQuNGA0L7QstCw0L3QviA8
YSBocmVmPSIvd2lraS9JQU5BIiB0aXRsZT0iSUFOQSI+SUFOQTwvYT48L3RkPgo8
dGQ+PzwvdGQ+Cjx0ZD4/PC90ZD4KPC90cj4KPHRyPgo8dGQ+V0tTPC90ZD4KPHRk
PldlbGwta25vd24gc2VydmljZTwvdGQ+Cjx0ZD4xMTwvdGQ+Cjx0ZD7QodC/0LjR
gdC+0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC+0LHRidC10LjQt9Cy0LXRgdGC0L3R
i9GFINGB0LXRgNCy0LjRgdC+0LIgKNC+0LHRidC10LjQt9Cy0LXRgdGC0L3Ri9C1
JiMxNjA74oCUINGBINGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC90L3Ri9C80Lgg
0L3QvtC80LXRgNCw0LzQuCDQv9C+0YDRgtC+0LIpPC90ZD4KPHRkPj88L3RkPgo8
dGQ+PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTAzNSIg
Y2xhc3M9ImV4dGVybmFsIiB0aXRsZT0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0
bWwvcmZjMTAzNSI+UkZDIDEwMzU8L2E+PC90ZD4KPC90cj4KPHRyPgo8dGQ+WDI1
PC90ZD4KPHRkPlBTRE4gYWRkcmVzczwvdGQ+Cjx0ZD4xOTwvdGQ+Cjx0ZD7QkNC0
0YDQtdGBINCyINGE0L7RgNC80LDRgtC1IDxhIGhyZWY9Ii93L2luZGV4LnBocD90
aXRsZT1YMjUmYW1wO2FjdGlvbj1lZGl0JmFtcDtyZWRsaW5rPTEiIGNsYXNzPSJu
ZXciIHRpdGxlPSJYMjUgKNGB0YLRgNCw0L3QuNGG0LAg0L7RgtGB0YPRgtGB0YLQ
stGD0LXRgikiPlgyNTwvYT48L3RkPgo8dGQ+0YDQtdC00LrQvtGD0L/QvtGC0YDQ
tdCx0LjQvNCwPC90ZD4KPHRkPjxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRmLm9y
Zy9odG1sL3JmYzExODMiIGNsYXNzPSJleHRlcm5hbCIgdGl0bGU9Imh0dHA6Ly90
b29scy5pZXRmLm9yZy9odG1sL3JmYzExODMiPlJGQyAxMTgzPC9hPjwvdGQ+Cjwv
dHI+CjwvdGFibGU+CjxwPjxhIG5hbWU9Ii5EMC45OC5EMS44MS5EMS44Mi5EMC5C
RS5EMS44Ny5EMC5CRC5EMC5COC5EMC5CQS5EMC5COCIgaWQ9Ii5EMC45OC5EMS44
MS5EMS44Mi5EMC5CRS5EMS44Ny5EMC5CRC5EMC5COC5EMC5CQS5EMC5COCI+PC9h
PjwvcD4KPGgyPjxzcGFuIGNsYXNzPSJlZGl0c2VjdGlvbiI+WzxhIGhyZWY9Ii93
L2luZGV4LnBocD90aXRsZT0lRDAlQTAlRDAlQjUlRDElODElRDElODMlRDElODAl
RDElODElRDAlQkQlRDElOEIlRDAlQjVfJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4
JUQxJTgxJUQwJUI4X0ROUyZhbXA7YWN0aW9uPWVkaXQmYW1wO3NlY3Rpb249MSIg
dGl0bGU9ItCf0YDQsNCy0LjRgtGMINGB0LXQutGG0LjRjjog0JjRgdGC0L7Rh9C9
0LjQutC4Ij7Qv9GA0LDQstC40YLRjDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFzcz0i
bXctaGVhZGxpbmUiPtCY0YHRgtC+0YfQvdC40LrQuDwvc3Bhbj48L2gyPgo8b2wg
Y2xhc3M9InJlZmVyZW5jZXMiPgo8bGkgaWQ9ImNpdGVfbm90ZS0wIj48Yj48YSBo
cmVmPSIjY2l0ZV9yZWYtMCI+4oaRPC9hPjwvYj4gPGEgaHJlZj0iaHR0cDovL3d3
dy5kbnMubmV0L2Ruc3JkL3JyLmh0bWwiIGNsYXNzPSJleHRlcm5hbCBmcmVlIiB0
aXRsZT0iaHR0cDovL3d3dy5kbnMubmV0L2Ruc3JkL3JyLmh0bWwiIHJlbD0ibm9m
b2xsb3ciPmh0dHA6Ly93d3cuZG5zLm5ldC9kbnNyZC9yci5odG1sPC9hPjwvbGk+
CjxsaSBpZD0iY2l0ZV9ub3RlLTEiPjxiPjxhIGhyZWY9IiNjaXRlX3JlZi0xIj7i
hpE8L2E+PC9iPiA8YSBocmVmPSJodHRwOi8vd3d3LmV4aW0ub3JnL2V4aW0taHRt
bC1jdXJyZW50L2RvYy9odG1sL3NwZWNfaHRtbC9jaDA0Lmh0bWwiIGNsYXNzPSJl
eHRlcm5hbCBmcmVlIiB0aXRsZT0iaHR0cDovL3d3dy5leGltLm9yZy9leGltLWh0
bWwtY3VycmVudC9kb2MvaHRtbC9zcGVjX2h0bWwvY2gwNC5odG1sIiByZWw9Im5v
Zm9sbG93Ij5odHRwOi8vd3d3LmV4aW0ub3JnL2V4aW0taHRtbC1jdXJyZW50L2Rv
Yy9odG1sL3NwZWNfaHRtbC9jaDA0Lmh0bWw8L2E+PC9saT4KPC9vbD4KCgo8IS0t
IApOZXdQUCBsaW1pdCByZXBvcnQKUHJlcHJvY2Vzc29yIG5vZGUgY291bnQ6IDMw
LzEwMDAwMDAKUG9zdC1leHBhbmQgaW5jbHVkZSBzaXplOiAwLzIwNDgwMDAgYnl0
ZXMKVGVtcGxhdGUgYXJndW1lbnQgc2l6ZTogMC8yMDQ4MDAwIGJ5dGVzCkV4cGVu
c2l2ZSBwYXJzZXIgZnVuY3Rpb24gY291bnQ6IDAvNTAwCi0tPgoKPCEtLSBTYXZl
ZCBpbiBwYXJzZXIgY2FjaGUgd2l0aCBrZXkgcnV3aWtpOnBjYWNoZTppZGhhc2g6
MTM5NzQ0OS0wITEhMCEhcnUhMiBhbmQgdGltZXN0YW1wIDIwMDkwOTExMDc0NDI4
IC0tPgo8ZGl2IGNsYXNzPSJwcmludGZvb3RlciI+CtCY0YHRgtC+0YfQvdC40Log
4oCUIMKrPGEgaHJlZj0iaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lRDAl
QTAlRDAlQjUlRDElODElRDElODMlRDElODAlRDElODElRDAlQkQlRDElOEIlRDAl
QjVfJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI4X0ROUyI+aHR0
cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lRDAlQTAlRDAlQjUlRDElODElRDEl
ODMlRDElODAlRDElODElRDAlQkQlRDElOEIlRDAlQjVfJUQwJUI3JUQwJUIwJUQw
JUJGJUQwJUI4JUQxJTgxJUQwJUI4X0ROUzwvYT7CuzwvZGl2PgoJCQk8ZGl2IGlk
PSdjYXRsaW5rcycgY2xhc3M9J2NhdGxpbmtzJz48ZGl2IGlkPSJtdy1ub3JtYWwt
Y2F0bGlua3MiPjxhIGhyZWY9Ii93aWtpLyVEMCVBMSVEMCVCQiVEMSU4MyVEMCVC
NiVEMCVCNSVEMCVCMSVEMCVCRCVEMCVCMCVEMSU4RjpDYXRlZ29yaWVzIiB0aXRs
ZT0i0KHQu9GD0LbQtdCx0L3QsNGPOkNhdGVnb3JpZXMiPtCa0LDRgtC10LPQvtGA
0LjRjzwvYT46IDxzcGFuIGRpcj0nbHRyJz48YSBocmVmPSIvd2lraS8lRDAlOUEl
RDAlQjAlRDElODIlRDAlQjUlRDAlQjMlRDAlQkUlRDElODAlRDAlQjglRDElOEY6
JUQwJUEwJUQwJUI1JUQxJTgxJUQxJTgzJUQxJTgwJUQxJTgxJUQwJUJEJUQxJThC
JUQwJUI1XyVEMCVCNyVEMCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMCVCOF9ETlMi
IHRpdGxlPSLQmtCw0YLQtdCz0L7RgNC40Y860KDQtdGB0YPRgNGB0L3Ri9C1INC3
0LDQv9C40YHQuCBETlMiPtCg0LXRgdGD0YDRgdC90YvQtSDQt9Cw0L/QuNGB0Lgg
RE5TPC9hPjwvc3Bhbj48L2Rpdj48L2Rpdj4JCQk8IS0tIGVuZCBjb250ZW50IC0t
PgoJCQkJCQk8ZGl2IGNsYXNzPSJ2aXN1YWxDbGVhciI+PC9kaXY+CgkJPC9kaXY+
Cgk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2IGlkPSJjb2x1bW4tb25lIj4KCTxkaXYg
aWQ9InAtY2FjdGlvbnMiIGNsYXNzPSJwb3J0bGV0Ij4KCQk8aDU+0J/RgNC+0YHQ
vNC+0YLRgNGLPC9oNT4KCQk8ZGl2IGNsYXNzPSJwQm9keSI+CgkJCTx1bCBsYW5n
PSJydSIgeG1sOmxhbmc9InJ1Ij4KCQoJCQkJIDxsaSBpZD0iY2Etc3RhYmxlIj48
YSBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9JUQwJUEwJUQwJUI1JUQxJTgxJUQx
JTgzJUQxJTgwJUQxJTgxJUQwJUJEJUQxJThCJUQwJUI1XyVEMCVCNyVEMCVCMCVE
MCVCRiVEMCVCOCVEMSU4MSVEMCVCOF9ETlMmYW1wO3N0YWJsZT0xIiB0aXRsZT0i
0J/QvtC60LDQt9Cw0YLRjCDRgdGC0LDQsdC40LvRjNC90YPRjiDQstC10YDRgdC4
0Y4g0Y3RgtC+0Lkg0YHRgtGA0LDQvdC40YbRiyBbY10iIGFjY2Vzc2tleT0iYyI+
0KHRgtCw0LHQuNC70YzQvdCw0Y8g0LLQtdGA0YHQuNGPPC9hPjwvbGk+CgkJCQkg
PGxpIGlkPSJjYS1jdXJyZW50IiBjbGFzcz0ic2VsZWN0ZWQiPjxhIGhyZWY9Ii93
L2luZGV4LnBocD90aXRsZT0lRDAlQTAlRDAlQjUlRDElODElRDElODMlRDElODAl
RDElODElRDAlQkQlRDElOEIlRDAlQjVfJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4
JUQxJTgxJUQwJUI4X0ROUyZhbXA7c3RhYmxlPTAmYW1wO3JlZGlyZWN0PW5vIiB0
aXRsZT0i0J/QvtC60LDQt9Cw0YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YDRgdC4
0Y4g0Y3RgtC+0Lkg0YHRgtGA0LDQvdC40YbRiyBbdl0iIGFjY2Vzc2tleT0idiI+
0KLQtdC60YPRidCw0Y8g0LLQtdGA0YHQuNGPPC9hPjwvbGk+CgkJCQkgPGxpIGlk
PSJjYS10YWxrIiBjbGFzcz0ibmV3Ij48YSBocmVmPSIvdy9pbmRleC5waHA/dGl0
bGU9JUQwJTlFJUQwJUIxJUQxJTgxJUQxJTgzJUQwJUI2JUQwJUI0JUQwJUI1JUQw
JUJEJUQwJUI4JUQwJUI1OiVEMCVBMCVEMCVCNSVEMSU4MSVEMSU4MyVEMSU4MCVE
MSU4MSVEMCVCRCVEMSU4QiVEMCVCNV8lRDAlQjclRDAlQjAlRDAlQkYlRDAlQjgl
RDElODElRDAlQjhfRE5TJmFtcDthY3Rpb249ZWRpdCZhbXA7cmVkbGluaz0xIiB0
aXRsZT0i0J7QsdGB0YPQttC00LXQvdC40LUg0YHQvtC00LXRgNC20LDQvdC40Y8g
0YHRgtGA0LDQvdC40YbRiyBbdF0iIGFjY2Vzc2tleT0idCI+0J7QsdGB0YPQttC0
0LXQvdC40LU8L2E+PC9saT4KCQkJCSA8bGkgaWQ9ImNhLWVkaXQiPjxhIGhyZWY9
Ii93L2luZGV4LnBocD90aXRsZT0lRDAlQTAlRDAlQjUlRDElODElRDElODMlRDEl
ODAlRDElODElRDAlQkQlRDElOEIlRDAlQjVfJUQwJUI3JUQwJUIwJUQwJUJGJUQw
JUI4JUQxJTgxJUQwJUI4X0ROUyZhbXA7YWN0aW9uPWVkaXQiIHRpdGxlPSLQrdGC
0YMg0YHRgtCw0YLRjNGOINC80L7QttC90L4g0LjQt9C80LXQvdGP0YLRjC4g0J/Q
tdGA0LXQtCDRgdC+0YXRgNCw0L3QtdC90LjQtdC8INC40LfQvNC10L3QtdC90LjQ
uSwg0L/QvtC20LDQu9GD0LnRgdGC0LAsINC90LDQttC80LjRgtC1INC60L3QvtC/
0LrRgyDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+0LPQviDQv9GA0L7RgdC8
0L7RgtGA0LAg0LTQu9GPINCy0LjQt9GD0LDQu9GM0L3QvtC5INC/0YDQvtCy0LXR
gNC60Lgg0YDQtdC30YPQu9GM0YLQsNGC0LAgW2VdIiBhY2Nlc3NrZXk9ImUiPtCf
0YDQsNCy0LjRgtGMPC9hPjwvbGk+CgkJCQkgPGxpIGlkPSJjYS1oaXN0b3J5Ij48
YSBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9JUQwJUEwJUQwJUI1JUQxJTgxJUQx
JTgzJUQxJTgwJUQxJTgxJUQwJUJEJUQxJThCJUQwJUI1XyVEMCVCNyVEMCVCMCVE
MCVCRiVEMCVCOCVEMSU4MSVEMCVCOF9ETlMmYW1wO2FjdGlvbj1oaXN0b3J5IiB0
aXRsZT0i0JbRg9GA0L3QsNC7INC40LfQvNC10L3QtdC90LjQuSDRgdGC0YDQsNC9
0LjRhtGLIFtoXSIgYWNjZXNza2V5PSJoIj7QuNGB0YLQvtGA0LjRjzwvYT48L2xp
PgkJCTwvdWw+CgkJPC9kaXY+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBvcnRsZXQi
IGlkPSJwLXBlcnNvbmFsIj4KCQk8aDU+0JvQuNGH0L3Ri9C1INC40L3RgdGC0YDR
g9C80LXQvdGC0Ys8L2g1PgoJCTxkaXYgY2xhc3M9InBCb2R5Ij4KCQkJPHVsIGxh
bmc9InJ1IiB4bWw6bGFuZz0icnUiPgoJCQkJPGxpIGlkPSJwdC1hY2FpYmV0YSI+
PGEgaHJlZj0iaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvdy9pbmRleC5waHA/dGl0
bGU9JUQwJUExJUQwJUJCJUQxJTgzJUQwJUI2JUQwJUI1JUQwJUIxJUQwJUJEJUQw
JUIwJUQxJThGOlVzYWJpbGl0eUluaXRpYXRpdmVPcHRJbiZhbXA7ZnJvbT0lRDAl
QTAlRDAlQjUlRDElODElRDElODMlRDElODAlRDElODElRDAlQkQlRDElOEIlRDAl
QjVfJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI4X0ROUyIgY2xh
c3M9Im5vLXRleHQtdHJhbnNmb3JtIj7QntC/0YDQvtCx0L7QstCw0YLRjCDQkdC1
0YLQsC3QstC10YDRgdC40Y48L2E+PC9saT4KCQkJCTxsaSBpZD0icHQtbG9naW4i
PjxhIGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT0lRDAlQTElRDAlQkIlRDElODMl
RDAlQjYlRDAlQjUlRDAlQjElRDAlQkQlRDAlQjAlRDElOEY6VXNlckxvZ2luJmFt
cDtyZXR1cm50bz0lRDAlQTAlRDAlQjUlRDElODElRDElODMlRDElODAlRDElODEl
RDAlQkQlRDElOEIlRDAlQjVfJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgx
JUQwJUI4X0ROUyIgdGl0bGU9ItCX0LTQtdGB0Ywg0LzQvtC20L3QviDQt9Cw0YDQ
tdCz0LjRgdGC0YDQuNGA0L7QstCw0YLRjNGB0Y8g0LIg0YHQuNGB0YLQtdC80LUs
INC90L4g0Y3RgtC+INC90LXQvtCx0Y/Qt9Cw0YLQtdC70YzQvdC+LiBbb10iIGFj
Y2Vzc2tleT0ibyI+0J/RgNC10LTRgdGC0LDQstC40YLRjNGB0Y8gLyDQt9Cw0YDQ
tdCz0LjRgdGC0YDQuNGA0L7QstCw0YLRjNGB0Y88L2E+PC9saT4KCQkJPC91bD4K
CQk8L2Rpdj4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icG9ydGxldCIgaWQ9InAtbG9n
byI+CgkJPGEgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwOi8vdXBs
b2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL3J1L2IvYmMvV2lraS5wbmcpOyIg
aHJlZj0iL3dpa2kvJUQwJTk3JUQwJUIwJUQwJUIzJUQwJUJCJUQwJUIwJUQwJUIy
JUQwJUJEJUQwJUIwJUQxJThGXyVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCMCVEMCVC
RCVEMCVCOCVEMSU4NiVEMCVCMCIgdGl0bGU9ItCX0LDQs9C70LDQstC90LDRjyDR
gdGC0YDQsNC90LjRhtCwIFt6XSIgYWNjZXNza2V5PSJ6Ij48L2E+Cgk8L2Rpdj4K
CTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4gaWYgKHdpbmRvdy5pc01T
SUU1NSkgZml4YWxwaGEoKTsgPC9zY3JpcHQ+Cgk8ZGl2IGNsYXNzPSdnZW5lcmF0
ZWQtc2lkZWJhciBwb3J0bGV0JyBpZD0ncC1uYXZpZ2F0aW9uJz4KCQk8aDUgbGFu
Zz0icnUiIHhtbDpsYW5nPSJydSI+0J3QsNCy0LjQs9Cw0YbQuNGPPC9oNT4KCQk8
ZGl2IGNsYXNzPSdwQm9keSc+CgkJCTx1bD4KCQkJCTxsaSBpZD0ibi1tYWlucGFn
ZSI+PGEgaHJlZj0iL3dpa2kvJUQwJTk3JUQwJUIwJUQwJUIzJUQwJUJCJUQwJUIw
JUQwJUIyJUQwJUJEJUQwJUIwJUQxJThGXyVEMSU4MSVEMSU4MiVEMSU4MCVEMCVC
MCVEMCVCRCVEMCVCOCVEMSU4NiVEMCVCMCIgdGl0bGU9ItCf0LXRgNC10LnRgtC4
INC90LAg0LfQsNCz0LvQsNCy0L3Rg9GOINGB0YLRgNCw0L3QuNGG0YMiPtCX0LDQ
s9C70LDQstC90LDRjyDRgdGC0YDQsNC90LjRhtCwPC9hPjwvbGk+CgkJCQk8bGkg
aWQ9Im4tYnJvd3NlIj48YSBocmVmPSIvd2lraS8lRDAlOTIlRDAlQjglRDAlQkEl
RDAlQjglRDAlQkYlRDAlQjUlRDAlQjQlRDAlQjglRDElOEY6JUQwJTlGJUQwJUJF
JUQwJUI4JUQxJTgxJUQwJUJBXyVEMCVCRiVEMCVCRV8lRDAlQkElRDAlQjAlRDEl
ODIlRDAlQjUlRDAlQjMlRDAlQkUlRDElODAlRDAlQjglRDElOEYlRDAlQkMiIHRp
dGxlPSLQn9C+0LjRgdC6INC/0L4g0LrQsNGC0LXQs9C+0YDQuNGP0LwiPtCg0YPQ
sdGA0LjQutCw0YbQuNGPPC9hPjwvbGk+CgkJCQk8bGkgaWQ9Im4taW5kZXgiPjxh
IGhyZWY9Ii93aWtpLyVEMCU5MiVEMCVCOCVEMCVCQSVEMCVCOCVEMCVCRiVEMCVC
NSVEMCVCNCVEMCVCOCVEMSU4RjolRDAlOTAlRDAlQkIlRDElODQlRDAlQjAlRDAl
QjIlRDAlQjglRDElODIlRDAlQkQlRDElOEIlRDAlQjlfJUQxJTgzJUQwJUJBJUQw
JUIwJUQwJUI3JUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThDIiB0aXRsZT0i
0J/QvtC40YHQuiDQv9C+INC00LLRg9C8INC/0LXRgNCy0YvQvCDQsdGD0LrQstCw
0LwiPtCj0LrQsNC30LDRgtC10LvRjCDQkOKAieKAlOKAidCvPC9hPjwvbGk+CgkJ
CQk8bGkgaWQ9Im4tZmVhdHVyZWQiPjxhIGhyZWY9Ii93aWtpLyVEMCU5MiVEMCVC
OCVEMCVCQSVEMCVCOCVEMCVCRiVEMCVCNSVEMCVCNCVEMCVCOCVEMSU4RjolRDAl
OTglRDAlQjclRDAlQjElRDElODAlRDAlQjAlRDAlQkQlRDAlQkQlRDElOEIlRDAl
QjVfJUQxJTgxJUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJUQwJUI4IiB0aXRsZT0i
0KHRgtCw0YLRjNC4LCDRgdGH0LjRgtCw0Y7RidC40LXRgdGPINC70YPRh9GI0LjQ
vNC4INGB0YLQsNGC0YzRj9C80Lgg0L/RgNC+0LXQutGC0LAiPtCY0LfQsdGA0LDQ
vdC90YvQtSDRgdGC0LDRgtGM0Lg8L2E+PC9saT4KCQkJCTxsaSBpZD0ibi1yYW5k
b21wYWdlIj48YSBocmVmPSIvd2lraS8lRDAlQTElRDAlQkIlRDElODMlRDAlQjYl
RDAlQjUlRDAlQjElRDAlQkQlRDAlQjAlRDElOEY6UmFuZG9tIiB0aXRsZT0i0J/Q
vtGB0LzQvtGC0YDQtdGC0Ywg0YHQu9GD0YfQsNC50L3Rg9GOINGB0YLRgNCw0L3Q
uNGG0YMgW3hdIiBhY2Nlc3NrZXk9IngiPtCh0LvRg9GH0LDQudC90LDRjyDRgdGC
0LDRgtGM0Y88L2E+PC9saT4KCQkJCTxsaSBpZD0ibi1jdXJyZW50ZXZlbnRzIj48
YSBocmVmPSIvd2lraS8lRDAlOUYlRDAlQkUlRDElODAlRDElODIlRDAlQjAlRDAl
QkI6JUQwJUEyJUQwJUI1JUQwJUJBJUQxJTgzJUQxJTg5JUQwJUI4JUQwJUI1XyVE
MSU4MSVEMCVCRSVEMCVCMSVEMSU4QiVEMSU4MiVEMCVCOCVEMSU4RiIgdGl0bGU9
ItCh0YLQsNGC0YzQuCDQviDRgtC10LrRg9GJ0LjRhSDRgdC+0LHRi9GC0LjRj9GF
INCyINC80LjRgNC1Ij7QotC10LrRg9GJ0LjQtSDRgdC+0LHRi9GC0LjRjzwvYT48
L2xpPgoJCQk8L3VsPgoJCTwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGlkPSJwLXNlYXJj
aCIgY2xhc3M9InBvcnRsZXQiPgoJCTxoNSBsYW5nPSJydSIgeG1sOmxhbmc9InJ1
Ij48bGFiZWwgZm9yPSJzZWFyY2hJbnB1dCI+0J/QvtC40YHQujwvbGFiZWw+PC9o
NT4KCQk8ZGl2IGlkPSJzZWFyY2hCb2R5IiBjbGFzcz0icEJvZHkiPgoJCQk8Zm9y
bSBhY3Rpb249Ii93L2luZGV4LnBocCIgaWQ9InNlYXJjaGZvcm0iPjxkaXY+CgkJ
CQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSJ0aXRsZSIgdmFsdWU9ItCh0LvR
g9C20LXQsdC90LDRjzpTZWFyY2giLz4KCQkJCTxpbnB1dCBpZD0ic2VhcmNoSW5w
dXQiIG5hbWU9InNlYXJjaCIgdHlwZT0idGV4dCIgdGl0bGU9ItCY0YHQutCw0YLR
jCDRjdGC0L4g0YHQu9C+0LLQviBbZl0iIGFjY2Vzc2tleT0iZiIgdmFsdWU9IiIg
Lz4KCQkJCTxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9ImdvIiBjbGFzcz0ic2Vh
cmNoQnV0dG9uIiBpZD0ic2VhcmNoR29CdXR0b24iCXZhbHVlPSLQn9C10YDQtdC5
0YLQuCIgdGl0bGU9ItCf0LXRgNC10LnRgtC4INC6INGB0YLRgNCw0L3QuNGG0LUs
INC40LzQtdGO0YnQtdC5INCyINGC0L7Rh9C90L7RgdGC0Lgg0YLQsNC60L7QtSDQ
vdCw0LfQstCw0L3QuNC1IiAvPiZuYnNwOwoJCQkJPGlucHV0IHR5cGU9J3N1Ym1p
dCcgbmFtZT0iZnVsbHRleHQiIGNsYXNzPSJzZWFyY2hCdXR0b24iIGlkPSJtdy1z
ZWFyY2hCdXR0b24iIHZhbHVlPSLQndCw0LnRgtC4IiB0aXRsZT0i0J3QsNC50YLQ
uCDRgdGC0YDQsNC90LjRhtGLLCDRgdC+0LTQtdGA0LbQsNGJ0LjQtSDRg9C60LDQ
t9Cw0L3QvdGL0Lkg0YLQtdC60YHRgiIgLz4KCQkJPC9kaXY+PC9mb3JtPgoJCTwv
ZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdnZW5lcmF0ZWQtc2lkZWJhciBwb3J0
bGV0JyBpZD0ncC1wYXJ0aWNpcGF0aW9uJz4KCQk8aDUgbGFuZz0icnUiIHhtbDps
YW5nPSJydSI+0KPRh9Cw0YHRgtC40LU8L2g1PgoJCTxkaXYgY2xhc3M9J3BCb2R5
Jz4KCQkJPHVsPgoJCQkJPGxpIGlkPSJuLWJ1Z19pbl9hcnRpY2xlIj48YSBocmVm
PSIvd2lraS8lRDAlOTIlRDAlQjglRDAlQkElRDAlQjglRDAlQkYlRDAlQjUlRDAl
QjQlRDAlQjglRDElOEY6JUQwJUExJUQwJUJFJUQwJUJFJUQwJUIxJUQxJTg5JUQw
JUI1JUQwJUJEJUQwJUI4JUQxJThGXyVEMCVCRSVEMCVCMV8lRDAlQkUlRDElODgl
RDAlQjglRDAlQjElRDAlQkElRDAlQjAlRDElODUiPtCh0L7QvtCx0YnQuNGC0Ywg
0L7QsSDQvtGI0LjQsdC60LU8L2E+PC9saT4KCQkJCTxsaSBpZD0ibi1wb3J0YWwi
PjxhIGhyZWY9Ii93aWtpLyVEMCU5MiVEMCVCOCVEMCVCQSVEMCVCOCVEMCVCRiVE
MCVCNSVEMCVCNCVEMCVCOCVEMSU4RjolRDAlOUYlRDAlQkUlRDElODAlRDElODIl
RDAlQjAlRDAlQkJfJUQxJTgxJUQwJUJFJUQwJUJFJUQwJUIxJUQxJTg5JUQwJUI1
JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUIwIiB0aXRsZT0i0J4g0L/RgNC+0LXQutGC
0LUsINC+INGC0L7QvCwg0YfRgtC+INCy0Ysg0LzQvtC20LXRgtC1INGB0LTQtdC7
0LDRgtGMLCDQs9C00LUg0YfRgtC+INC90LDRhdC+0LTQuNGC0YHRjyI+0J/QvtGA
0YLQsNC7INGB0L7QvtCx0YnQtdGB0YLQstCwPC9hPjwvbGk+CgkJCQk8bGkgaWQ9
Im4tZm9ydW0iPjxhIGhyZWY9Ii93aWtpLyVEMCU5MiVEMCVCOCVEMCVCQSVEMCVC
OCVEMCVCRiVEMCVCNSVEMCVCNCVEMCVCOCVEMSU4RjolRDAlQTQlRDAlQkUlRDEl
ODAlRDElODMlRDAlQkMiIHRpdGxlPSLQpNC+0YDRg9C8INGD0YfQsNGB0YLQvdC4
0LrQvtCyINCS0LjQutC40L/QtdC00LjQuCI+0KTQvtGA0YPQvDwvYT48L2xpPgoJ
CQkJPGxpIGlkPSJuLXJlY2VudGNoYW5nZXMiPjxhIGhyZWY9Ii93aWtpLyVEMCVB
MSVEMCVCQiVEMSU4MyVEMCVCNiVEMCVCNSVEMCVCMSVEMCVCRCVEMCVCMCVEMSU4
RjpSZWNlbnRDaGFuZ2VzIiB0aXRsZT0i0KHQv9C40YHQvtC6INC/0L7RgdC70LXQ
tNC90LjRhSDQuNC30LzQtdC90LXQvdC40LkgW3JdIiBhY2Nlc3NrZXk9InIiPtCh
0LLQtdC20LjQtSDQv9GA0LDQstC60Lg8L2E+PC9saT4KCQkJCTxsaSBpZD0ibi1u
ZXdwYWdlcyI+PGEgaHJlZj0iL3dpa2kvJUQwJUExJUQwJUJCJUQxJTgzJUQwJUI2
JUQwJUI1JUQwJUIxJUQwJUJEJUQwJUIwJUQxJThGOk5ld1BhZ2VzIiB0aXRsZT0i
0KHQv9C40YHQvtC6INC90LXQtNCw0LLQvdC+INGB0L7Qt9C00LDQvdC90YvRhSDR
gdGC0YDQsNC90LjRhiI+0J3QvtCy0YvQtSDRgdGC0YDQsNC90LjRhtGLPC9hPjwv
bGk+CgkJCQk8bGkgaWQ9Im4taGVscCI+PGEgaHJlZj0iL3dpa2kvJUQwJTkyJUQw
JUI4JUQwJUJBJUQwJUI4JUQwJUJGJUQwJUI1JUQwJUI0JUQwJUI4JUQxJThGOiVE
MCVBMSVEMCVCRiVEMSU4MCVEMCVCMCVEMCVCMiVEMCVCQSVEMCVCMCIgdGl0bGU9
ItCh0L/RgNCw0LLQvtGH0L3QuNC6INC/0L4g0L/RgNC+0LXQutGC0YMgwqvQktC4
0LrQuNC/0LXQtNC40Y/CuyI+0KHQv9GA0LDQstC60LA8L2E+PC9saT4KCQkJCTxs
aSBpZD0ibi1zaXRlc3VwcG9ydCI+PGEgaHJlZj0iaHR0cDovL3dpa2ltZWRpYWZv
dW5kYXRpb24ub3JnL3dpa2kvJUQwJUExJUQwJUI0JUQwJUI1JUQwJUJCJUQwJUIw
JUQxJTgyJUQxJThDXyVEMCVCRiVEMCVCRSVEMCVCNiVEMCVCNSVEMSU4MCVEMSU4
MiVEMCVCMiVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSIgdGl0
bGU9ItCf0L7QtNC00LXRgNC20LjRgtC1INC90LDRgSI+0J/QvtC20LXRgNGC0LLQ
vtCy0LDQvdC40Y88L2E+PC9saT4KCQkJPC91bD4KCQk8L2Rpdj4KCTwvZGl2PgoJ
PGRpdiBjbGFzcz0icG9ydGxldCIgaWQ9InAtdGIiPgoJCTxoNSBsYW5nPSJydSIg
eG1sOmxhbmc9InJ1Ij7QmNC90YHRgtGA0YPQvNC10L3RgtGLPC9oNT4KCQk8ZGl2
IGNsYXNzPSJwQm9keSI+CgkJCTx1bD4KCQkJCTxsaSBpZD0idC13aGF0bGlua3No
ZXJlIj48YSBocmVmPSIvd2lraS8lRDAlQTElRDAlQkIlRDElODMlRDAlQjYlRDAl
QjUlRDAlQjElRDAlQkQlRDAlQjAlRDElOEY6V2hhdExpbmtzSGVyZS8lRDAlQTAl
RDAlQjUlRDElODElRDElODMlRDElODAlRDElODElRDAlQkQlRDElOEIlRDAlQjVf
JUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI4X0ROUyIgdGl0bGU9
ItCh0L/QuNGB0L7QuiDQstGB0LXRhSDRgdGC0YDQsNC90LjRhiwg0LrQvtGC0L7R
gNGL0LUg0YHRgdGL0LvQsNGO0YLRgdGPINC90LAg0Y3RgtGDINGB0YLRgNCw0L3Q
uNGG0YMgW2pdIiBhY2Nlc3NrZXk9ImoiPtCh0YHRi9C70LrQuCDRgdGO0LTQsDwv
YT48L2xpPgoJCQkJPGxpIGlkPSJ0LXJlY2VudGNoYW5nZXNsaW5rZWQiPjxhIGhy
ZWY9Ii93aWtpLyVEMCVBMSVEMCVCQiVEMSU4MyVEMCVCNiVEMCVCNSVEMCVCMSVE
MCVCRCVEMCVCMCVEMSU4RjpSZWNlbnRDaGFuZ2VzTGlua2VkLyVEMCVBMCVEMCVC
NSVEMSU4MSVEMSU4MyVEMSU4MCVEMSU4MSVEMCVCRCVEMSU4QiVEMCVCNV8lRDAl
QjclRDAlQjAlRDAlQkYlRDAlQjglRDElODElRDAlQjhfRE5TIiB0aXRsZT0i0J/Q
vtGB0LvQtdC00L3QuNC1INC40LfQvNC10L3QtdC90LjRjyDQsiDRgdGC0YDQsNC9
0LjRhtCw0YUsINC90LAg0LrQvtGC0L7RgNGL0LUg0YHRgdGL0LvQsNC10YLRgdGP
INGN0YLQsCDRgdGC0YDQsNC90LjRhtCwIFtrXSIgYWNjZXNza2V5PSJrIj7QodCy
0Y/Qt9Cw0L3QvdGL0LUg0L/RgNCw0LLQutC4PC9hPjwvbGk+CjxsaSBpZD0idC1z
cGVjaWFscGFnZXMiPjxhIGhyZWY9Ii93aWtpLyVEMCVBMSVEMCVCQiVEMSU4MyVE
MCVCNiVEMCVCNSVEMCVCMSVEMCVCRCVEMCVCMCVEMSU4RjpTcGVjaWFsUGFnZXMi
IHRpdGxlPSLQodC/0LjRgdC+0Log0YHQu9GD0LbQtdCx0L3Ri9GFINGB0YLRgNCw
0L3QuNGGIFtxXSIgYWNjZXNza2V5PSJxIj7QodC/0LXRhtGB0YLRgNCw0L3QuNGG
0Ys8L2E+PC9saT4KCQkJCTxsaSBpZD0idC1wcmludCI+PGEgaHJlZj0iL3cvaW5k
ZXgucGhwP3RpdGxlPSVEMCVBMCVEMCVCNSVEMSU4MSVEMSU4MyVEMSU4MCVEMSU4
MSVEMCVCRCVEMSU4QiVEMCVCNV8lRDAlQjclRDAlQjAlRDAlQkYlRDAlQjglRDEl
ODElRDAlQjhfRE5TJmFtcDtwcmludGFibGU9eWVzIiByZWw9ImFsdGVybmF0ZSIg
dGl0bGU9ItCS0LXRgNGB0LjRjyDRjdGC0L7QuSDRgdGC0YDQsNC90LjRhtGLINC0
0LvRjyDQv9C10YfQsNGC0LggW3BdIiBhY2Nlc3NrZXk9InAiPtCS0LXRgNGB0LjR
jyDQtNC70Y8g0L/QtdGH0LDRgtC4PC9hPjwvbGk+CQkJCTxsaSBpZD0idC1wZXJt
YWxpbmsiPjxhIGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT0lRDAlQTAlRDAlQjUl
RDElODElRDElODMlRDElODAlRDElODElRDAlQkQlRDElOEIlRDAlQjVfJUQwJUI3
JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI4X0ROUyZhbXA7b2xkaWQ9MTY5
NjI4MzMiIHRpdGxlPSLQn9C+0YHRgtC+0Y/QvdC90LDRjyDRgdGB0YvQu9C60LAg
0L3QsCDRjdGC0YMg0LLQtdGA0YHQuNGOINGB0YLRgNCw0L3QuNGG0YsiPtCf0L7R
gdGC0L7Rj9C90L3QsNGPINGB0YHRi9C70LrQsDwvYT48L2xpPjxsaSBpZD0idC1j
aXRlIj48YSBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9JUQwJUExJUQwJUJCJUQx
JTgzJUQwJUI2JUQwJUI1JUQwJUIxJUQwJUJEJUQwJUIwJUQxJThGOkNpdGUmYW1w
O3BhZ2U9JUQwJUEwJUQwJUI1JUQxJTgxJUQxJTgzJUQxJTgwJUQxJTgxJUQwJUJE
JUQxJThCJUQwJUI1XyVEMCVCNyVEMCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMCVC
OF9ETlMmYW1wO2lkPTE2OTYyODMzIj7QptC40YLQuNGA0L7QstCw0YLRjCDRgdGC
0YDQsNC90LjRhtGDPC9hPjwvbGk+CQkJPC91bD4KCQk8L2Rpdj4KCTwvZGl2PgoJ
PGRpdiBpZD0icC1sYW5nIiBjbGFzcz0icG9ydGxldCI+CgkJPGg1IGxhbmc9InJ1
IiB4bWw6bGFuZz0icnUiPtCd0LAg0LTRgNGD0LPQuNGFINGP0LfRi9C60LDRhTwv
aDU+CgkJPGRpdiBjbGFzcz0icEJvZHkiPgoJCQk8dWw+CgkJCQk8bGkgY2xhc3M9
ImludGVyd2lraS1kZSI+PGEgaHJlZj0iaHR0cDovL2RlLndpa2lwZWRpYS5vcmcv
d2lraS9SZXNvdXJjZV9SZWNvcmQiPkRldXRzY2g8L2E+PC9saT4KCQkJCTxsaSBj
bGFzcz0iaW50ZXJ3aWtpLWVuIj48YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlh
Lm9yZy93aWtpL0xpc3Rfb2ZfRE5TX3JlY29yZF90eXBlcyI+RW5nbGlzaDwvYT48
L2xpPgoJCQkJPGxpIGNsYXNzPSJpbnRlcndpa2ktaXQiPjxhIGhyZWY9Imh0dHA6
Ly9pdC53aWtpcGVkaWEub3JnL3dpa2kvVGlwaV9kaV9yZWNvcmRfRE5TIj5JdGFs
aWFubzwvYT48L2xpPgoJCQk8L3VsPgoJCTwvZGl2PgoJPC9kaXY+CgkJPC9kaXY+
PCEtLSBlbmQgb2YgdGhlIGxlZnQgKGJ5IGRlZmF1bHQgYXQgbGVhc3QpIGNvbHVt
biAtLT4KCQkJPGRpdiBjbGFzcz0idmlzdWFsQ2xlYXIiPjwvZGl2PgoJCQk8ZGl2
IGlkPSJmb290ZXIiPgoJCQkJPGRpdiBpZD0iZi1wb3dlcmVkYnlpY28iPjxhIGhy
ZWY9Imh0dHA6Ly93d3cubWVkaWF3aWtpLm9yZy8iPjxpbWcgc3JjPSIvc2tpbnMt
MS41L2NvbW1vbi9pbWFnZXMvcG93ZXJlZGJ5X21lZGlhd2lraV84OHgzMS5wbmci
IGFsdD0iUG93ZXJlZCBieSBNZWRpYVdpa2kiIC8+PC9hPjwvZGl2PgoJCQkJPGRp
diBpZD0iZi1jb3B5cmlnaHRpY28iPjxhIGhyZWY9Imh0dHA6Ly93aWtpbWVkaWFm
b3VuZGF0aW9uLm9yZy8iPjxpbWcgc3JjPSIvaW1hZ2VzL3dpa2ltZWRpYS1idXR0
b24ucG5nIiB3aWR0aD0iODgiIGhlaWdodD0iMzEiIGFsdD0iV2lraW1lZGlhIEZv
dW5kYXRpb24iLz48L2E+PC9kaXY+CgkJCTx1bCBpZD0iZi1saXN0Ij4KCQkJCQk8
bGkgaWQ9Imxhc3Rtb2QiPiDQn9C+0YHQu9C10LTQvdC10LUg0LjQt9C80LXQvdC1
0L3QuNC1INGN0YLQvtC5INGB0YLRgNCw0L3QuNGG0Ys6IDA5OjM5LCA5INC40Y7Q
u9GPIDIwMDkuPC9saT4KCQkJCQk8bGkgaWQ9ImNvcHlyaWdodCI+0KLQtdC60YHR
giDQtNC+0YHRgtGD0L/QtdC9INC90LAg0YPRgdC70L7QstC40Y/RhSDQu9C40YbQ
tdC90LfQuNC4IDxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xp
Y2Vuc2VzL2J5LXNhLzMuMC8iPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24v
U2hhcmUtQWxpa2U8L2E+LCDQsiDQvtGC0LTQtdC70YzQvdGL0YUg0YHQu9GD0YfQ
sNGP0YUg0LzQvtCz0YPRgiDQtNC10LnRgdGC0LLQvtCy0LDRgtGMINC00L7Qv9C+
0LvQvdC40YLQtdC70YzQvdGL0LUg0YPRgdC70L7QstC40Y8uINCf0L7QtNGA0L7Q
sdC90LXQtSDRgdC8LiA8YSBocmVmPSJodHRwOi8vd2lraW1lZGlhZm91bmRhdGlv
bi5vcmcvd2lraS9UZXJtc19vZl9Vc2UiPlRlcm1zIG9mIFVzZTwvYT4uPC9saT4K
CQkJCQk8bGkgaWQ9InByaXZhY3kiPjxhIGhyZWY9Imh0dHA6Ly93aWtpbWVkaWFm
b3VuZGF0aW9uLm9yZy93aWtpLyVEMCU5RiVEMCVCRSVEMCVCQiVEMCVCOCVEMSU4
MiVEMCVCOCVEMCVCQSVEMCVCMF8lRDAlQkElRDAlQkUlRDAlQkQlRDElODQlRDAl
QjglRDAlQjQlRDAlQjUlRDAlQkQlRDElODYlRDAlQjglRDAlQjAlRDAlQkIlRDEl
OEMlRDAlQkQlRDAlQkUlRDElODElRDElODIlRDAlQjgiIHRpdGxlPSJ3aWtpbWVk
aWE60J/QvtC70LjRgtC40LrQsCDQutC+0L3RhNC40LTQtdC90YbQuNCw0LvRjNC9
0L7RgdGC0LgiPtCf0L7Qu9C40YLQuNC60LAg0LrQvtC90YTQuNC00LXQvdGG0LjQ
sNC70YzQvdC+0YHRgtC4PC9hPjwvbGk+CgkJCQkJPGxpIGlkPSJhYm91dCI+PGEg
aHJlZj0iL3dpa2kvJUQwJTkyJUQwJUI4JUQwJUJBJUQwJUI4JUQwJUJGJUQwJUI1
JUQwJUI0JUQwJUI4JUQxJThGOiVEMCU5RSVEMCVCRiVEMCVCOCVEMSU4MSVEMCVC
MCVEMCVCRCVEMCVCOCVEMCVCNSIgdGl0bGU9ItCS0LjQutC40L/QtdC00LjRjzrQ
ntC/0LjRgdCw0L3QuNC1Ij7QntC/0LjRgdCw0L3QuNC1INCS0LjQutC40L/QtdC0
0LjQuDwvYT48L2xpPgoJCQkJCTxsaSBpZD0iZGlzY2xhaW1lciI+PGEgaHJlZj0i
L3dpa2kvJUQwJTkyJUQwJUI4JUQwJUJBJUQwJUI4JUQwJUJGJUQwJUI1JUQwJUI0
JUQwJUI4JUQxJThGOiVEMCU5RSVEMSU4MiVEMCVCQSVEMCVCMCVEMCVCN18lRDAl
QkUlRDElODJfJUQwJUJFJUQxJTgyJUQwJUIyJUQwJUI1JUQxJTgyJUQxJTgxJUQx
JTgyJUQwJUIyJUQwJUI1JUQwJUJEJUQwJUJEJUQwJUJFJUQxJTgxJUQxJTgyJUQw
JUI4IiB0aXRsZT0i0JLQuNC60LjQv9C10LTQuNGPOtCe0YLQutCw0Lcg0L7RgiDQ
vtGC0LLQtdGC0YHRgtCy0LXQvdC90L7RgdGC0LgiPtCe0YLQutCw0Lcg0L7RgiDQ
vtGC0LLQtdGC0YHRgtCy0LXQvdC90L7RgdGC0Lg8L2E+PC9saT4KCQkJPC91bD4K
CQk8L2Rpdj4KPC9kaXY+CgoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij5pZiAod2luZG93LnJ1bk9ubG9hZEhvb2spIHJ1bk9ubG9hZEhvb2soKTs8L3Nj
cmlwdD4KPCEtLSBTZXJ2ZWQgYnkgc3J2MTExIGluIDAuMjE1IHNlY3MuIC0tPjwv
Ym9keT48L2h0bWw+Cg==
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=favicon.ico
Content-Type: image/x-icon; name=favicon.ico
Content-Location: http://ru.wikipedia.org/favicon.ico
Content-Transfer-Encoding: Base64
AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAA
AAAAAAAAEAAAAAAAAAAEAgQAhIOEAMjHyABIR0gA6ejpAGlqaQCpqKkAKCgoAPz9
/AAZGBkAmJiYANjZ2ABXWFcAent6ALm6uQA8OjwAiIiIiIiIiIiIiI4oiL6IiIiI
gzuIV4iIiIhndo53KIiIiB/WvXoYiIiIfEZfWBSIiIEGi/foqoiIgzuL84i9iIjp
GIoMiEHoiMkos3FojmiLlUipYliEWIF+iDe0GoRa7D6GPbjcu1yIiIiIiIiIiIiI
iIiIiIiIiIiIiIiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=shared.css
Content-Type: text/css; charset=utf-8; name=shared.css
Content-Location: http://ru.wikipedia.org/skins-1.5/common/shared.css?233zz2
Content-Transfer-Encoding: 8bit
/**
* CSS in this file is used by *all* skins (that have any CSS at all). Be
* careful what you put in here, since what looks good in one skin may not in
* another, but don't ignore the poor non-Monobook users either.
*/
.mw-plusminus-null { color: #aaa; }
.texvc { direction: ltr; unicode-bidi: embed; }
img.tex { vertical-align: middle; }
span.texhtml { font-family: serif; }
/* add a bit of margin space between the preview and the toolbar */
/* this replaces the ugly
we used to insert into the page source */
#wikiPreview.ontop { margin-bottom: 1em; }
/* Stop floats from intruding into edit area in previews */
#editform, #toolbar, #wpTextbox1 { clear: both; }
div#mw-js-message {
margin: 1em 5%;
padding: 0.5em 2.5%;
border: solid 1px #ddd;
background-color: #fcfcfc;
}
/* Edit section links */
.editsection {
float: right;
margin-left: 5px;
}
/**
* File histories
*/
table.filehistory th,
table.filehistory td {
vertical-align:top;
}
table.filehistory th {
text-align: left;
}
table.filehistory td.mw-imagepage-filesize,
table.filehistory th.mw-imagepage-filesize {
white-space:nowrap;
}
table.filehistory td.filehistory-selected {
font-weight: bold;
}
/*
* rev_deleted stuff
*/
li span.deleted, span.history-deleted {
text-decoration: line-through;
color: #888;
font-style: italic;
}
/**
* Patrol stuff
*/
.not-patrolled {
background-color: #ffa;
}
span.unpatrolled {
font-weight: bold;
color: red;
}
div.patrollink {
font-size: 75%;
text-align: right;
}
/**
* Forms
*/
body.ltr td.mw-label { text-align: right; }
body.ltr td.mw-input { text-align: left; }
body.ltr td.mw-submit { text-align: left; }
body.rtl td.mw-label { text-align: left; }
body.rtl td.mw-input { text-align: right; }
body.rtl td.mw-submit { text-align: right; }
td.mw-label { vertical-align: top; }
.prefsection td.mw-label { width: 20%; }
.prefsection table { width: 100%; }
td.mw-submit { white-space: nowrap; }
table.mw-htmlform-nolabel td.mw-label { width: 0 !important; }
/**
* Image captions
*/
body.rtl .thumbcaption { text-align:right; }
body.rtl .magnify { float:left; }
body.ltr .thumbcaption { text-align:left; }
body.ltr .magnify { float:right; }
/**
* Hidden categories
*/
.mw-hidden-cats-hidden { display: none; }
.catlinks-allhidden { display: none; }
/* Convenience links to edit block, delete and protect reasons */
p.mw-ipb-conveniencelinks, p.mw-protect-editreasons,
p.mw-filedelete-editreasons, p.mw-delete-editreasons {
font-size: 90%;
float: right;
}
/* Search results */
.searchresults {
}
.searchresults p {
margin-left: 0.4em;
margin-top: 1em;
margin-bottom: 1.2em;
}
div.searchresult {
font-size: 95%;
width:38em;
}
.mw-search-results {
margin-left: 0.4em;
}
.mw-search-results li {
padding-bottom: 1em;
list-style:none;
list-style-image:none;
}
.mw-search-results li a {
font-size: 108%;
}
.mw-search-result-data {
color: green;
font-size: 97%;
}
.mw-search-formheader {
background-color: #f3f3f3;
margin-top: 1em;
border: 1px solid silver;
}
.mw-search-formheader div.search-types {
float:left;
padding-left: 0.25em;
}
.mw-search-formheader div.search-types ul {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
.mw-search-formheader div.search-types ul li {
float: left;
margin: 0;
padding: 0;
}
.mw-search-formheader div.search-types ul li a {
display: block;
padding: 0.5em;
}
.mw-search-formheader div.search-types ul li.current a {
color: #333333;
cursor: default;
}
.mw-search-formheader div.search-types ul li.current a:hover {
text-decoration: none;
}
.mw-search-formheader div.results-info {
float: right;
padding: 0.5em;
padding-right: 0.75em;
}
.mw-search-formheader div.results-info ul {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
.mw-search-formheader div.results-info ul li {
float: right;
margin: 0;
padding: 0;
}
fieldset#mw-searchoptions {
margin: 0;
padding-left: 0.75em !important;
padding-right: 0.75em !important;
padding-bottom: 0.5em !important;
padding-top: 0.5em !important;
border: none;
background-color: #f9f9f9;
border: 1px solid silver !important;
border-top-width: 0 !important;
}
fieldset#mw-searchoptions legend {
display: none;
}
fieldset#mw-searchoptions h4 {
padding: 0;
margin: 0;
float: left;
}
fieldset#mw-searchoptions div#mw-search-togglebox {
float: right;
}
fieldset#mw-searchoptions div#mw-search-togglebox label {
margin-right: 0.25em;
}
fieldset#mw-searchoptions div#mw-search-togglebox input {
margin-left: 0.25em;
}
fieldset#mw-searchoptions table {
float: left;
margin-right: 3em;
}
fieldset#mw-searchoptions table td {
padding-right: 1em;
}
body.rtl fieldset#mw-searchoptions table {
float: right;
}
fieldset#mw-searchoptions div.divider {
clear: both;
border-bottom: 1px solid #DDDDDD;
padding-top: 0.5em;
margin-bottom: 0.5em;
}
td#mw-search-menu {
padding-left:6em;
font-size:85%;
}
div#mw-search-interwiki {
float: right;
width: 18em;
border-style: solid;
border-color: #AAAAAA;
border-width: 1px;
margin-top: 2ex;
}
.rtl div#mw-search-interwiki {
float: left;
}
div#mw-search-interwiki li {
font-size: 95%;
}
.mw-search-interwiki-more {
float: right;
font-size: 90%;
}
.rtl .mw-search-interwiki-more {
float: left;
}
div#mw-search-interwiki-caption {
text-align: center;
font-weight: bold;
font-size: 95%;
}
.mw-search-interwiki-project {
font-size: 97%;
text-align: left;
padding-left: 0.2em;
padding-right: 0.15em;
padding-bottom: 0.2em;
padding-top: 0.15em;
background-color:#ececec;
border-top:1px solid #BBBBBB;
}
.rtl .mw-search-interwiki-project {
text-align: right;
}
span.searchalttitle {
font-size: 95%;
}
div.searchdidyoumean {
font-size: 127%;
margin-bottom: 1ex;
margin-top: 1ex;
/* Note that this color won't affect the link, as desired. */
color: #c00;
}
div.searchdidyoumean em {
font-weight: bold;
}
.searchmatch {
font-weight: bold;
}
table#mw-search-top-table {
background-color:inherit;
}
/*
* Advanced PowerSearch box
*/
td#mw-search-togglebox {
text-align: right;
}
table#mw-search-powertable {
width:100%;
}
form#powersearch {
clear: both;
}
/*
* UserRights stuff
*/
.mw-userrights-disabled {
color: #888;
}
table.mw-userrights-groups * td,table.mw-userrights-groups * th {
padding-right: 1.5em;
}
/*
* OpenSearch ajax suggestions
*/
.os-suggest {
overflow: auto;
overflow-x: hidden;
position: absolute;
top: 0px;
left: 0px;
width: 0px;
background-color: white;
background-color: Window;
border-style: solid;
border-color: #AAAAAA;
border-width: 1px;
z-index:99;
visibility:hidden;
font-size:95%;
}
table.os-suggest-results {
font-size: 95%;
cursor: pointer;
border: 0;
border-collapse: collapse;
width: 100%;
}
td.os-suggest-result, td.os-suggest-result-hl {
white-space: nowrap;
background-color: white;
background-color: Window;
color: black;
color: WindowText;
padding: 2px;
}
td.os-suggest-result-hl,
td.os-suggest-result-hl-webkit {
background-color: #4C59A6;
color: white;
}
td.os-suggest-result-hl {
/* System colors are misimplemented in Safari 3.0 and earlier,
making highlighted text illegible... */
background-color: Highlight;
color: HighlightText;
}
.os-suggest-toggle {
position: relative;
left: 1ex;
font-size: 65%;
}
.os-suggest-toggle-def {
position: absolute;
top: 0px;
left: 0px;
font-size: 65%;
visibility: hidden;
}
/* Page history styling */
/* the auto-generated edit comments */
.autocomment { color: gray; }
#pagehistory .history-user {
margin-left: 0.4em;
margin-right: 0.2em;
}
#pagehistory span.minor { font-weight: bold; }
#pagehistory li { border: 1px solid white; }
#pagehistory li.selected {
background-color: #f9f9f9;
border: 1px dashed #aaa;
}
/* Special:Contributions styling */
.mw-uctop {
font-weight: bold;
}
/* Special:ListGroupRights styling */
table.mw-listgrouprights-table tr {
vertical-align: top;
}
.listgrouprights-revoked { text-decoration: line-through; }
/* Special:Statistics styling */
td.mw-statistics-numbers {
text-align: right;
}
/* Special:SpecialPages styling */
h4.mw-specialpagesgroup {
background-color: #dcdcdc;
padding: 2px;
margin: .3em 0em 0em 0em;
}
.mw-specialpagerestricted {
font-weight: bold;
}
#shared-image-dup, #shared-image-conflict {
font-style: italic;
}
/* Special:EmailUser styling */
table.mw-emailuser-table {
width: 98%;
}
td#mw-emailuser-sender, td#mw-emailuser-recipient {
font-weight: bold;
}
/* Special:Allpages styling */
table.allpageslist {
background-color: transparent;
}
table.mw-allpages-table-form, table.mw-allpages-table-chunk {
background-color: transparent;
width: 100%;
}
td.mw-allpages-alphaindexline {
text-align: right;
}
td.mw-allpages-nav, p.mw-allpages-nav {
text-align: right;
font-size: smaller;
margin-bottom: 1em;
}
table.mw-allpages-table-form tr {
vertical-align: top;
}
/* Special:Prefixindex styling */
table#mw-prefixindex-list-table,
table#mw-prefixindex-nav-table {
width: 98%;
background-color: transparent;
}
td#mw-prefixindex-nav-form {
font-size: smaller;
margin-bottom: 1em;
text-align: right;
vertical-align: top;
}
/*
* Recreating deleted page warning
* Reupload file warning
* Page protection warning
* incl. log entries for these warnings
*/
div.mw-warning-with-logexcerpt {
padding: 3px;
margin-bottom: 3px;
border: 2px solid #2F6FAB;
}
div.mw-warning-with-logexcerpt ul li {
font-size: 90%;
}
/* (show/hide) revision deletion links */
span.mw-revdelundel-link,
strong.mw-revdelundel-link {
font-size: 90%;
}
/* feed links */
a.feedlink {
background: url("images/feed-icon.png") center left no-repeat;
padding-left: 16px;
}
/* Plainlinks - this can be used to switch
* off special external link styling */
.plainlinks a {
background: none !important;
padding: 0 !important;
}
/* wikitable class for skinning normal tables */
table.wikitable {
margin: 1em 1em 1em 0;
background: #f9f9f9;
border: 1px #aaa solid;
border-collapse: collapse;
}
.wikitable th, .wikitable td {
border: 1px #aaa solid;
padding: 0.2em;
}
.wikitable th {
background: #f2f2f2;
text-align: center;
}
.wikitable caption {
font-weight: bold;
}
/* hide initially collapsed collapsable tables */
table.collapsed tr.collapsable {
display: none;
}
/* success and error messages */
.success {
color: green;
font-size: larger;
}
.error {
color: red;
font-size: larger;
}
.errorbox, .successbox {
font-size: larger;
border: 2px solid;
padding: .5em 1em;
float: left;
margin-bottom: 2em;
color: #000;
}
.errorbox {
border-color: red;
background-color: #fff2f2;
}
.successbox {
border-color: green;
background-color: #dfd;
}
.errorbox h2, .successbox h2 {
font-size: 1em;
font-weight: bold;
display: inline;
margin: 0 .5em 0 0;
border: none;
}
.visualClear {
clear: both;
}
#mw_trackbacks {
border: solid 1px #bbbbff;
background-color: #eeeeff;
padding: 0.2em;
}
/*
Table pager (e.g. Special:Imagelist)
- remove underlines from the navigation link
- collapse borders
- set the borders to outsets (similar to Special:Allmessages)
- remove line wrapping for all td and th, set background color
- restore line wrapping for the last two table cells (description and size)
*/
.TablePager { min-width: 80%; }
.TablePager_nav a { text-decoration: none; }
.TablePager { border-collapse: collapse; }
.TablePager, .TablePager td, .TablePager th {
border: 1px solid #aaaaaa;
padding: 0 0.15em 0 0.15em;
}
.TablePager th { background-color: #eeeeff }
.TablePager td { background-color: #ffffff }
.TablePager tr:hover td { background-color: #eeeeff }
.imagelist td, .imagelist th { white-space: nowrap }
.imagelist .TablePager_col_links { background-color: #eeeeff }
.imagelist .TablePager_col_img_description { white-space: normal }
.imagelist th.TablePager_sort { background-color: #ccccff }
/* filetoc */
ul#filetoc {
text-align: center;
border: 1px solid #aaaaaa;
background-color: #f9f9f9;
padding: 5px;
font-size: 95%;
margin-bottom: 0.5em;
margin-left: 0;
margin-right: 0;
}
#filetoc li {
display: inline;
list-style-type: none;
padding-right: 2em;
}
/* Classes for EXIF data display */
table.mw_metadata {
font-size: 0.8em;
margin-left: 0.5em;
margin-bottom: 0.5em;
width: 300px;
}
table.mw_metadata caption {
font-weight: bold;
}
table.mw_metadata th {
font-weight: normal;
}
table.mw_metadata td {
padding: 0.1em;
}
table.mw_metadata {
border: none;
border-collapse: collapse;
}
table.mw_metadata td, table.mw_metadata th {
text-align: center;
border: 1px solid #aaaaaa;
padding-left: 0.1em;
padding-right: 0.1em;
}
table.mw_metadata th {
background-color: #f9f9f9;
}
table.mw_metadata td {
background-color: #fcfcfc;
}
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=commonPrint.css
Content-Type: text/css; charset=utf-8; name=commonPrint.css
Content-Location: http://ru.wikipedia.org/skins-1.5/common/commonPrint.css?233zz2
Content-Transfer-Encoding: 8bit
/*
** MediaWiki Print style sheet for CSS2-capable browsers.
** Copyright Gabriel Wicke, http://www.aulinx.de/
**
** Derived from the plone (http://plone.org/) styles
** Copyright Alexander Limi
*/
/* Thanks to A List Apart (http://alistapart.com/) for useful extras */
a.stub,
a.new{ color:#ba0000; text-decoration:none; }
#toc {
/*border:1px solid #2f6fab;*/
border:1px solid #aaaaaa;
background-color:#f9f9f9;
padding:5px;
}
.tocindent {
margin-left: 2em;
}
.tocline {
margin-bottom: 0px;
}
/* images */
div.floatright {
float: right;
clear: right;
margin: 0;
position:relative;
border: 0.5em solid White;
border-width: 0.5em 0 0.8em 1.4em;
}
div.floatright p { font-style: italic;}
div.floatleft {
float: left;
margin: 0.3em 0.5em 0.5em 0;
position:relative;
border: 0.5em solid White;
border-width: 0.5em 1.4em 0.8em 0;
}
div.floatleft p { font-style: italic; }
/* thumbnails */
div.thumb {
margin-bottom: 0.5em;
border-style: solid; border-color: White;
width: auto;
overflow: hidden;
}
div.thumb div {
border:1px solid #cccccc;
padding: 3px !important;
background-color:#f9f9f9;
font-size: 94%;
text-align: center;
}
div.thumb div a img {
border:1px solid #cccccc;
}
div.thumb div div.thumbcaption {
border: none;
padding: 0.3em 0 0.1em 0;
}
div.magnify { display: none; }
div.tright {
float: right;
clear: right;
border-width: 0.5em 0 0.8em 1.4em;
}
div.tleft {
float: left;
margin-right:0.5em;
border-width: 0.5em 1.4em 0.8em 0;
}
img.thumbborder {
border: 1px solid #dddddd;
}
/* table standards */
table.rimage {
float:right;
width:1pt;
position:relative;
margin-left:1em;
margin-bottom:1em;
text-align:center;
}
body {
background: White;
/*font-size: 11pt !important;*/
color: Black;
margin: 0;
padding: 0;
}
.noprint,
div#jump-to-nav,
div.top,
div#column-one,
#colophon,
.editsection,
.toctoggle,
.tochidden,
div#f-poweredbyico,
div#f-copyrightico,
li#viewcount,
li#about,
li#disclaimer,
li#privacy {
/* Hides all the elements irrelevant for printing */
display: none;
}
ul {
list-style-type: square;
}
#content {
background: none;
border: none ! important;
padding: 0 ! important;
margin: 0 ! important;
}
#footer {
background : white;
color : black;
border-top: 1px solid black;
}
h1, h2, h3, h4, h5, h6 {
font-weight: bold;
}
p, .documentDescription {
margin: 1em 0 ! important;
line-height: 1.2em;
}
.tocindent p {
margin: 0 0 0 0 ! important;
}
pre {
border: 1pt dashed black;
white-space: pre;
font-size: 8pt;
overflow: auto;
padding: 1em 0;
background : white;
color : black;
}
table.listing,
table.listing td {
border: 1pt solid black;
border-collapse: collapse;
}
a {
color: Black !important;
background: none !important;
padding: 0 !important;
}
a:link, a:visited {
color: #520;
background: transparent;
text-decoration: underline;
}
#content a.external.text:after, #content a.external.autonumber:after {
/* Expand URLs for printing */
content: " (" attr(href) ") ";
}
#globalWrapper {
width: 100% !important;
min-width: 0 !important;
}
#content {
background : white;
color : black;
}
#column-content {
margin: 0 !important;
}
#column-content #content {
padding: 1em;
margin: 0 !important;
}
/* MSIE/Win doesn't understand 'inherit' */
a, a.external, a.new, a.stub {
color: black ! important;
text-decoration: none ! important;
}
/* Continue ... */
a, a.external, a.new, a.stub {
color: inherit ! important;
text-decoration: inherit ! important;
}
img { border: none; }
img.tex { vertical-align: middle; }
span.texhtml { font-family: serif; }
#siteNotice { display: none; }
table.gallery {
border: 1px solid #cccccc;
margin: 2px;
padding: 2px;
background-color:#ffffff;
}
table.gallery tr {
vertical-align:top;
}
div.gallerybox {
border: 1px solid #cccccc;
margin: 2px;
background-color:#f9f9f9;
width: 150px;
}
div.gallerybox div.thumb {
text-align: center;
border: 1px solid #cccccc;
margin: 2px;
}
div.gallerytext {
font-size: 94%;
padding: 2px 4px;
}
/*
** Diff rendering
*/
table.diff { background:white; }
td.diff-otitle { background:#ffffff; }
td.diff-ntitle { background:#ffffff; }
td.diff-addedline {
background:#ccffcc;
font-size: smaller;
border: solid 2px black;
}
td.diff-deletedline {
background:#ffffaa;
font-size: smaller;
border: dotted 2px black;
}
td.diff-context {
background:#eeeeee;
font-size: smaller;
}
.diffchange {
color: silver;
font-weight: bold;
text-decoration: underline;
}
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline
Content-Type: image/jpeg
Content-Location: http://ru.wikipedia.org/skins-1.5/monobook/headbg.jpg
Content-Transfer-Encoding: Base64
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
pqmqalFqtJUGrOhqk4mqUtJqampqa/RqapquqRhbcdOIbqoSWMoZnG01aiZjs3Gf
tdoO6lFFFFFFFFJRRRRRytyX9LwVBqmpqUclytrcHACgBSUqKJRRQALZYAFFABQB
SUUUlFFHK2XClAAAFABCoUAAAABQAFACoFAqKAhl2c6KXHu6AiZdkpKWkprGFopR
FSlAEUAARQAAABFEVAAAKKKKKKAKKTU1TU1KkAoqDWDWE1NTU0NTQ1NV1gqFSWZT
WzU1NTU1KWpOVv6WxSiiiiiikoooooooXkDgoopKWjkF4ABRAoACgABQBAUAEKKK
KSiilLAoAFBBQAAAAAARQAQUAAAEyZoopfLVgkpRQUsKAAAAAAAAAAAAAFAUUUUU
UUUUUUUAAAUUUmpRRRQFFFFFAJRRqUUUUUUUUUUampRSgBRRRRRRRRRRRRRQKBRS
UUUoAABRQAUAFAAAFFABRRRRQFFFAFFFAUUAUACoUUFAABQAUAAUAoIqSlFFFLEK
gUUUUAAoAioqCoKICiCgAAAAAAAAAAAAAAAIogKAAAAIoAigAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAD//Z
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://ru.wikipedia.org/skins-1.5/monobook/bullet.gif
Content-Transfer-Encoding: Base64
R0lGODlhBQANAIAAAGOMnP///yH5BAEAAAEALAAAAAAFAA0AAAIJjI+pu+APo4Sp
ADs=
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://ru.wikipedia.org/skins-1.5/monobook/external.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAAFVBMVEVmmcwzmcyZ
zP8AZswAZv////////9E6giVAAAAB3RSTlP///////8AGksDRgAAADhJREFUGFcl
y0ESAEAEA0Ei6/9P3sEcVB8kmrwFyni0bOeyyDpy9JTLEaOhQq7Ongf5FeMhHS/4
AVnsAZubxDVmAAAAAElFTkSuQmCC
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://ru.wikipedia.org/skins-1.5/monobook/lock_icon.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAANAPcAAEVFRZmXO62qOLCtOLm2N765NsbCNcnFNNHOM93YI9/bL9TQ
M9rWMdvYMeDbMODcMODcMs3KW+TgR+TgSubiWufkXejkZ5KSkqKioq6urtjWnO3r
i+/tofDup/Hup/HwsNHR0dLS0vX0zfj32+np6fn55Pv76/Dw8Pv78P399P/+/f//
//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAACwALAAAAAAQAA0AAAhzAFkIFJihYMGBCAdmGKEC
xQgNABIqHLECgEUOESJKzFBRIQWNCTOYAJlBAUiEC0kmOCkQRICXMGFiCLkiRQkR
HzZYmPCAZYYBBQ4saPDgQQUPPmvezGlBQs+QAggYQMDAgdEOSW3i1DkBAssQFsOK
vTAwIAA7
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://ru.wikipedia.org/skins-1.5/monobook/user.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAAQAPcAAFtJMlpJNFxIMU5OTm2XH3aIVJNkK5FmMJZnPbt6NIZzXId0
XpVwQZRzR5p7VI1+baZ3Tdl+Kt1/LIO2JYe5K4q8M4idYZKBbJK/QLqddZfDR5rF
TZ/HVqfMZanNacKVWuKVQ+ejVuelVu21bPC/e5+XjKOjo7rXhr3aiM+1kNi4icff
m8rio83jqNHmrtXotOPEl/HDg/LKjvfaq/ngut3Z1Nvrwd/tx/vqz+Hh4erq6v//
/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAADsALAAAAAAQABAAAAh4AHcIHEiwoMEdFxRcOFhQ
QQMGBwQwFLjAQQoYHwwAmPggA40ZMRIEmFhChQwSISIMmLjDhAgQEhCwFAih5kwT
JkbgIDFg5UETL1gUIGFBQwWfBE3ccLHihAUOGChMQCrQhI0WE1B02OCBwNSCPcOK
7TmzrNmzOwICADs=
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=main.css
Content-Type: text/css; charset=utf-8; name=main.css
Content-Location: http://ru.wikipedia.org/skins-1.5/monobook/main.css?233zz2
Content-Transfer-Encoding: 8bit
/*
** MediaWiki 'monobook' style sheet for CSS2-capable browsers.
** Copyright Gabriel Wicke - http://wikidev.net/
** License: GPL (http://www.gnu.org/copyleft/gpl.html)
**
** Loosely based on http://www.positioniseverything.net/ordered-floats.html by Big John
** and the Plone 2.0 styles, see http://plone.org/ (Alexander Limi,Joe Geldart & Tom Croucher,
** Michael Zeltner and Geir Bækholt)
** All you guys rock :)
*/
#column-content {
width: 100%;
float: right;
margin: 0 0 .6em -12.2em;
padding: 0;
}
#content {
margin: 2.8em 0 0 12.2em;
padding: 0 1em 1em 1em;
position: relative;
z-index: 2;
}
#column-one {
padding-top: 160px;
}
#content {
background: white;
color: black;
border: 1px solid #aaa;
border-right: none;
line-height: 1.5em;
}
/* the left column width is specified in class .portlet */
/* Font size:
** We take advantage of keyword scaling- browsers won't go below 9px
** More at http://www.w3.org/2003/07/30-font-size
** http://style.cleverchimp.com/font_size_intervals/altintervals.html
*/
body {
font: x-small sans-serif;
background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
color: black;
margin: 0;
padding: 0;
}
/* scale back up to a sane default */
#globalWrapper {
font-size: 127%;
width: 100%;
margin: 0;
padding: 0;
}
/* general styles */
table {
font-size: 100%;
color: black;
/* we don't want the bottom borders of s to be visible through
floated tables */
background-color: white;
}
fieldset table {
/* but keep table layouts in forms clean... */
background: none;
}
a {
text-decoration: none;
color: #002bb8;
background: none;
}
a:visited {
color: #5a3696;
}
a:active {
color: #faa700;
}
a:hover {
text-decoration: underline;
}
a.stub {
color: #772233;
}
a.new, #p-personal a.new {
color: #ba0000;
}
a.new:visited, #p-personal a.new:visited {
color: #a55858;
}
img {
border: none;
vertical-align: middle;
}
p {
margin: .4em 0 .5em 0;
line-height: 1.5em;
}
p img {
margin: 0;
}
hr {
height: 1px;
color: #aaa;
background-color: #aaa;
border: 0;
margin: .2em 0 .2em 0;
}
h1, h2, h3, h4, h5, h6 {
color: black;
background: none;
font-weight: normal;
margin: 0;
padding-top: .5em;
padding-bottom: .17em;
border-bottom: 1px solid #aaa;
}
h1 { font-size: 188%; }
h1 .editsection { font-size: 53%; }
h2 { font-size: 150%; }
h2 .editsection { font-size: 67%; }
h3, h4, h5, h6 {
border-bottom: none;
font-weight: bold;
}
h3 { font-size: 132%; }
h3 .editsection { font-size: 76%; font-weight: normal; }
h4 { font-size: 116%; }
h4 .editsection { font-size: 86%; font-weight: normal; }
h5 { font-size: 100%; }
h5 .editsection { font-weight: normal; }
h6 { font-size: 80%; }
h6 .editsection { font-size: 125%; font-weight: normal; }
ul {
line-height: 1.5em;
list-style-type: square;
margin: .3em 0 0 1.5em;
padding: 0;
list-style-image: url(bullet.gif);
}
ol {
line-height: 1.5em;
margin: .3em 0 0 3.2em;
padding: 0;
list-style-image: none;
}
li {
margin-bottom: .1em;
}
dt {
font-weight: bold;
margin-bottom: .1em;
}
dl {
margin-top: .2em;
margin-bottom: .5em;
}
dd {
line-height: 1.5em;
margin-left: 2em;
margin-bottom: .1em;
}
fieldset {
border: 1px solid #2f6fab;
margin: 1em 0 1em 0;
padding: 0 1em 1em;
line-height: 1.5em;
}
fieldset.nested {
margin: 0 0 0.5em 0;
padding: 0 0.5em 0.5em;
}
legend {
padding: .5em;
font-size: 95%;
}
form {
border: none;
margin: 0;
}
textarea {
width: 100%;
padding: .1em;
}
input.historysubmit {
padding: 0 .3em .3em .3em !important;
font-size: 94%;
cursor: pointer;
height: 1.7em !important;
margin-left: 1.6em;
}
select {
vertical-align: top;
}
abbr, acronym, .explain {
border-bottom: 1px dotted black;
color: black;
background: none;
cursor: help;
}
q {
font-family: Times, "Times New Roman", serif;
font-style: italic;
}
/* disabled for now
blockquote {
font-family: Times, "Times New Roman", serif;
font-style: italic;
}*/
code {
background-color: #f9f9f9;
}
pre {
padding: 1em;
border: 1px dashed #2f6fab;
color: black;
background-color: #f9f9f9;
line-height: 1.1em;
}
/*
** the main content area
*/
#siteSub {
display: none;
}
#jump-to-nav {
display: none;
}
#contentSub, #contentSub2 {
font-size: 84%;
line-height: 1.2em;
margin: 0 0 1.4em 1em;
color: #7d7d7d;
width: auto;
}
span.subpages {
display: block;
}
/* Some space under the headers in the content area */
#bodyContent h1, #bodyContent h2 {
margin-bottom: .6em;
}
#bodyContent h3, #bodyContent h4, #bodyContent h5 {
margin-bottom: .3em;
}
#firstHeading {
margin-bottom: .1em;
/* These two rules hack around bug 2013 (fix for more limited bug 11325).
When bug 2013 is fixed properly, they should be removed. */
line-height: 1.2em;
padding-bottom: 0;
}
/* user notification thing */
.usermessage {
background-color: #ffce7b;
border: 1px solid #ffa500;
color: black;
font-weight: bold;
margin: 2em 0 1em;
padding: .5em 1em;
vertical-align: middle;
}
#siteNotice {
text-align: center;
font-size: 95%;
padding-top: 0.9em;
}
#siteNotice p {
margin: 0;
padding: 0;
}
.catlinks {
border: 1px solid #aaa;
background-color: #f9f9f9;
padding: 5px;
margin-top: 1em;
clear: both;
}
/* currently unused, intended to be used by a metadata box
in the bottom-right corner of the content area */
.documentDescription {
/* The summary text describing the document */
font-weight: bold;
display: block;
margin: 1em 0;
line-height: 1.5em;
}
.documentByLine {
text-align: right;
font-size: 90%;
clear: both;
font-weight: normal;
color: #76797c;
}
/* emulate center */
.center {
width: 100%;
text-align: center;
}
*.center * {
margin-left: auto;
margin-right: auto;
}
/* small for tables and similar */
.small, .small * {
font-size: 94%;
}
table.small {
font-size: 100%;
}
/*
** content styles
*/
#toc,
.toc,
.mw-warning {
border: 1px solid #aaa;
background-color: #f9f9f9;
padding: 5px;
font-size: 95%;
}
#toc h2,
.toc h2 {
display: inline;
border: none;
padding: 0;
font-size: 100%;
font-weight: bold;
}
#toc #toctitle,
.toc #toctitle,
#toc .toctitle,
.toc .toctitle {
text-align: center;
}
#toc ul,
.toc ul {
list-style-type: none;
list-style-image: none;
margin-left: 0;
padding-left: 0;
text-align: left;
}
#toc ul ul,
.toc ul ul {
margin: 0 0 0 2em;
}
#toc .toctoggle,
.toc .toctoggle {
font-size: 94%;
}
.mw-warning {
margin-left: 50px;
margin-right: 50px;
text-align: center;
}
/* images */
div.floatright, table.floatright {
clear: right;
float: right;
position: relative;
margin: 0 0 .5em .5em;
border: 0;
/*
border: .5em solid white;
border-width: .5em 0 .8em 1.4em;
*/
}
div.floatright p { font-style: italic; }
div.floatleft, table.floatleft {
float: left;
clear: left;
position: relative;
margin: 0 .5em .5em 0;
border: 0;
/*
margin: .3em .5em .5em 0;
border: .5em solid white;
border-width: .5em 1.4em .8em 0;
*/
}
div.floatleft p { font-style: italic; }
/* thumbnails */
div.thumb {
margin-bottom: .5em;
border-style: solid;
border-color: white;
width: auto;
}
div.thumbinner {
border: 1px solid #ccc;
padding: 3px !important;
background-color: #f9f9f9;
font-size: 94%;
text-align: center;
overflow: hidden;
}
html .thumbimage {
border: 1px solid #ccc;
}
html .thumbcaption {
border: none;
text-align: left;
line-height: 1.4em;
padding: 3px !important;
font-size: 94%;
}
div.magnify {
float: right;
border: none !important;
background: none !important;
}
div.magnify a, div.magnify img {
display: block;
border: none !important;
background: none !important;
}
div.tright {
clear: right;
float: right;
border-width: .5em 0 .8em 1.4em;
}
div.tleft {
float: left;
clear: left;
margin-right: .5em;
border-width: .5em 1.4em .8em 0;
}
img.thumbborder {
border: 1px solid #dddddd;
}
.hiddenStructure {
display: none;
}
/*
** classes for special content elements like town boxes
** intended to be referenced directly from the wiki src
*/
/*
** User styles
*/
/* table standards */
table.rimage {
float: right;
position: relative;
margin-left: 1em;
margin-bottom: 1em;
text-align: center;
}
.toccolours {
border: 1px solid #aaa;
background-color: #f9f9f9;
padding: 5px;
font-size: 95%;
}
/*
** edit views etc
*/
.special li {
line-height: 1.4em;
margin: 0;
padding: 0;
}
/*
** keep the whitespace in front of the ^=, hides rule from konqueror
** this is css3, the validator doesn't like it when validating as css2
*/
#bodyContent a.external,
#bodyContent a.external[href ^="gopher://"] {
background: url(external.png) center right no-repeat;
padding: 0 13px;
}
.rtl #bodyContent a.external,
.rtl #bodyContent a.external[href ^="gopher://"] {
background-image: url(external-rtl.png);
}
#bodyContent a.external[href ^="https://"],
.link-https {
background: url(lock_icon.gif) center right no-repeat;
padding: 0 16px;
}
#bodyContent a.external[href ^="mailto:"],
.link-mailto {
background: url(mail_icon.gif) center right no-repeat;
padding: 0 18px;
}
#bodyContent a.external[href ^="news://"] {
background: url(news_icon.png) center right no-repeat;
padding: 0 18px;
}
#bodyContent a.external[href ^="ftp://"],
.link-ftp {
background: url(file_icon.gif) center right no-repeat;
padding: 0 18px;
}
#bodyContent a.external[href ^="irc://"],
.link-irc {
background: url(discussionitem_icon.gif) center right no-repeat;
padding: 0 18px;
}
#bodyContent a.external[href $=".ogg"], #bodyContent a.external[href $=".OGG"],
#bodyContent a.external[href $=".mid"], #bodyContent a.external[href $=".MID"],
#bodyContent a.external[href $=".midi"], #bodyContent a.external[href $=".MIDI"],
#bodyContent a.external[href $=".mp3"], #bodyContent a.external[href $=".MP3"],
#bodyContent a.external[href $=".wav"], #bodyContent a.external[href $=".WAV"],
#bodyContent a.external[href $=".wma"], #bodyContent a.external[href $=".WMA"],
.link-audio {
background: url("audio.png") center right no-repeat;
padding: 0 13px;
}
#bodyContent a.external[href $=".ogm"], #bodyContent a.external[href $=".OGM"],
#bodyContent a.external[href $=".avi"], #bodyContent a.external[href $=".AVI"],
#bodyContent a.external[href $=".mpeg"], #bodyContent a.external[href $=".MPEG"],
#bodyContent a.external[href $=".mpg"], #bodyContent a.external[href $=".MPG"],
.link-video {
background: url("video.png") center right no-repeat;
padding: 0 13px;
}
#bodyContent a.external[href $=".pdf"], #bodyContent a.external[href $=".PDF"],
#bodyContent a.external[href *=".pdf#"], #bodyContent a.external[href *=".PDF#"],
#bodyContent a.external[href *=".pdf?"], #bodyContent a.external[href *=".PDF?"],
.link-document {
background: url("document.png") center right no-repeat;
padding: 0 12px;
}
/* for rtl wikis */
.rtl #bodyContent a.external {
background-position: left;
padding-right: 0;
}
.rtl a.feedlink {
background-position: right;
padding-right: 16px;
padding-left: 0;
}
/* correction for ltr wikis */
.ltr #bodyContent a.external {
padding-left: 0;
}
/* disable interwiki styling */
#bodyContent a.extiw,
#bodyContent a.extiw:active {
color: #36b;
}
#bodyContent a.external {
color: #36b;
}
/*
** Structural Elements
*/
/*
** general portlet styles (elements in the quickbar)
*/
.portlet {
border: none;
margin: 0 0 .5em;
padding: 0;
float: none;
width: 11.6em;
overflow: hidden;
}
.portlet h4 {
font-size: 95%;
font-weight: normal;
white-space: nowrap;
}
.portlet h5 {
background: transparent;
padding: 0 1em 0 .5em;
display: inline;
height: 1em;
text-transform: lowercase;
font-size: 91%;
font-weight: normal;
white-space: nowrap;
}
.portlet h6 {
background: #ffae2e;
border: 1px solid #2f6fab;
border-style: solid solid none solid;
padding: 0 1em 0 1em;
text-transform: lowercase;
display: block;
font-size: 1em;
height: 1.2em;
font-weight: normal;
white-space: nowrap;
}
.pBody {
font-size: 95%;
background-color: white;
color: black;
border-collapse: collapse;
border: 1px solid #aaa;
padding: 0 .8em .3em .5em;
}
.portlet h1,
.portlet h2,
.portlet h3,
.portlet h4 {
margin: 0;
padding: 0;
}
.portlet ul {
line-height: 1.5em;
list-style-type: square;
list-style-image: url(bullet.gif);
font-size: 95%;
}
.portlet li {
padding: 0;
margin: 0;
}
/*
** Logo properties
*/
#p-logo {
top: 0;
left: 0;
position: absolute; /*needed to use z-index */
z-index: 3;
height: 155px;
width: 12em;
overflow: visible;
}
#p-logo h5 {
display: none;
}
#p-logo a,
#p-logo a:hover {
display: block;
height: 155px;
width: 12.2em;
background-repeat: no-repeat;
background-position: 35% 50% !important;
text-decoration: none;
}
/*
** Search portlet
*/
#p-search {
position: relative;
z-index: 3;
}
input.searchButton {
margin-top: 1px;
font-size: 95%;
}
#searchGoButton {
padding-left: .5em;
padding-right: .5em;
font-weight: bold;
}
#searchInput {
width: 10.9em;
margin: 0;
font-size: 95%;
}
#p-search .pBody {
padding: .5em .4em .4em .4em;
text-align: center;
}
#p-search #searchform div div {
margin-top: .4em;
font-size: 95%;
}
/*
** the personal toolbar
*/
#p-personal {
position: absolute;
left: 0;
top: 0;
z-index: 0;
}
#p-personal {
width: 100%;
white-space: nowrap;
padding: 0;
margin: 0;
border: none;
background: none;
overflow: visible;
line-height: 1.2em;
}
#p-personal h5 {
display: none;
}
#p-personal .portlet,
#p-personal .pBody {
z-index: 0;
padding: 0;
margin: 0;
border: none;
overflow: visible;
background: none;
}
/* this is the ul contained in the portlet */
#p-personal ul {
border: none;
line-height: 1.4em;
color: #2f6fab;
padding: 0 2em 0 3em;
margin: 0;
text-align: right;
list-style: none;
z-index: 0;
background: none;
cursor: default;
}
#p-personal li {
z-index: 0;
border: none;
padding: 0;
display: inline;
color: #2f6fab;
margin-left: 1em;
line-height: 1.2em;
background: none;
}
#p-personal li a {
text-decoration: none;
color: #005896;
padding-bottom: .2em;
background: none;
}
#p-personal li a:hover {
background-color: white;
padding-bottom: .2em;
text-decoration: none;
}
#p-personal li.active a:hover {
background-color: transparent;
}
/* the icon in front of the user name, single quotes
in bg url to hide it from iemac */
li#pt-userpage,
li#pt-anonuserpage,
li#pt-login {
background: url(user.gif) top left no-repeat;
padding-left: 20px;
text-transform: none;
}
#p-personal ul {
text-transform: lowercase;
}
#p-personal li.active {
font-weight: bold;
}
/*
** the page-related actions- page/talk, edit etc
*/
#p-cactions {
position: absolute;
top: 1.3em;
left: 11.5em;
margin: 0;
white-space: nowrap;
width: 76%;
line-height: 1.1em;
overflow: visible;
background: none;
border-collapse: collapse;
padding-left: 1em;
list-style: none;
font-size: 95%;
}
#p-cactions ul {
list-style: none;
}
#p-cactions li {
display: inline;
border: 1px solid #aaa;
border-bottom: none;
padding: 0 0 .1em 0;
margin: 0 .3em 0 0;
overflow: visible;
background: white;
}
#p-cactions li.selected {
border-color: #fabd23;
padding: 0 0 .2em 0;
font-weight: bold;
}
#p-cactions li a {
background-color: #fbfbfb;
color: #002bb8;
border: none;
padding: 0 .8em .3em;
position: relative;
z-index: 0;
margin: 0;
text-decoration: none;
}
#p-cactions li.selected a {
z-index: 3;
padding: 0 1em .2em!important;
background-color: white;
}
#p-cactions .new a {
color: #ba0000;
}
#p-cactions li a:hover {
z-index: 3;
text-decoration: none;
background-color: white;
}
#p-cactions h5 {
display: none;
}
#p-cactions li.istalk {
margin-right: 0;
}
#p-cactions li.istalk a {
padding-right: .5em;
}
#p-cactions #ca-addsection a {
padding-left: .4em;
padding-right: .4em;
}
/* offsets to distinguish the tab groups */
li#ca-talk {
margin-right: 1.6em;
}
li#ca-watch, li#ca-unwatch, li#ca-varlang-0, li#ca-print {
margin-left: 1.6em;
}
#p-cactions .pBody {
font-size: 1em;
background-color: transparent;
color: inherit;
border-collapse: inherit;
border: 0;
padding: 0;
}
#p-cactions .hiddenStructure {
display: none;
}
#p-cactions li a {
text-transform: lowercase;
}
#p-lang {
position: relative;
z-index: 3;
}
/* Override text-transform on languages where capitalization is significant */
.capitalize-all-nouns .portlet h5,
.capitalize-all-nouns .portlet h6,
.capitalize-all-nouns #p-personal ul,
.capitalize-all-nouns #p-cactions ul li a {
text-transform: none;
}
/* TODO: #t-iscite is only used by the Cite extension, come up with some
* system which allows extensions to add to this file on the fly
*/
#t-ispermalink, #t-iscite {
color: #999;
}
/*
** footer
*/
#footer {
background-color: white;
border-top: 1px solid #fabd23;
border-bottom: 1px solid #fabd23;
margin: .6em 0 1em 0;
padding: .4em 0 1.2em 0;
text-align: center;
font-size: 90%;
}
#footer li {
display: inline;
margin: 0 1.3em;
}
#f-poweredbyico, #f-copyrightico {
margin: 0 8px;
position: relative;
top: -2px; /* Bump it up just a tad */
}
#f-poweredbyico {
float: right;
height: 1%;
}
#f-copyrightico {
float: left;
height: 1%;
}
.mw-htmlform-submit {
font-weight: bold;
padding-left: .3em;
padding-right: .3em;
margin-right: 2em;
}
/* js pref toc */
#preftoc {
margin: 0;
padding: 0;
width: 100%;
clear: both;
}
#preftoc li {
background-color: #f0f0f0;
color: #000;
}
#preftoc li {
margin: 1px -2px 1px 2px;
float: left;
padding: 2px 0 3px 0;
border: 1px solid #fff;
border-right-color: #716f64;
border-bottom: 0;
position: relative;
white-space: nowrap;
list-style-type: none;
list-style-image: none;
z-index: 3;
}
#preftoc li.selected {
font-weight: bold;
background-color: #f9f9f9;
border: 1px solid #aaa;
border-bottom: none;
cursor: default;
top: 1px;
padding-top: 2px;
margin-right: -3px;
}
#preftoc > li.selected {
top: 2px;
}
#preftoc a,
#preftoc a:active {
display: block;
color: #000;
padding: 0 .7em;
position: relative;
text-decoration: none;
}
#preftoc li.selected a {
cursor: default;
text-decoration: none;
}
#preferences {
margin: 0;
border: 1px solid #aaa;
clear: both;
padding: 1.5em;
background-color: #F9F9F9;
}
.prefsection {
border: none;
padding: 0;
margin: 0;
}
.prefsection legend {
font-weight: bold;
}
.prefsection table, .prefsection legend {
background-color: #F9F9F9;
}
.mainLegend {
display: none;
}
td.htmlform-tip {
font-size: x-small;
padding: .2em 2em;
color: #666;
}
.preferences-login {
clear: both;
margin-bottom: 1.5em;
}
.prefcache {
font-size: 90%;
margin-top: 2em;
}
div#userloginForm form,
div#userlogin form#userlogin2 {
margin: 0 3em 1em 0;
border: 1px solid #aaa;
clear: both;
padding: 1.5em 2em;
background-color: #f9f9f9;
float: left;
}
.rtl div#userloginForm form,
.rtl div#userlogin form#userlogin2 {
float: right;
}
div#userloginForm table,
div#userlogin form#userlogin2 table {
background-color: #f9f9f9;
}
div#userloginForm h2,
div#userlogin form#userlogin2 h2 {
padding-top: 0;
}
div#userlogin .captcha,
div#userloginForm .captcha {
border: 1px solid #bbb;
padding: 1.5em 2em;
background-color: white;
}
#loginend, #signupend {
clear: both;
}
#userloginprompt, #languagelinks {
font-size: 85%;
}
#login-sectiontip {
font-size: 85%;
line-height: 1.2;
padding-top: 2em;
}
#userlogin .loginText, #userlogin .loginPassword {
width: 12em;
}
#userloginlink a, #wpLoginattempt, #wpCreateaccount {
font-weight: bold;
}
/*
** IE/Mac fixes, hope to find a validating way to move this
** to a separate stylesheet. This would work but doesn't validate:
** @import("IEMacFixes.css");
*/
/* tabs: border on the a, not the div */
* > html #p-cactions li { border: none; }
* > html #p-cactions li a {
border: 1px solid #aaa;
border-bottom: none;
}
* > html #p-cactions li.selected a { border-color: #fabd23; }
/* footer icons need a fixed width */
* > html #f-poweredbyico,
* > html #f-copyrightico { width: 88px; }
* > html #bodyContent,
* > html #bodyContent pre {
overflow-x: auto;
width: 100%;
padding-bottom: 25px;
}
/* more IE fixes */
/* float/negative margin brokenness */
* html #footer {margin-top: 0;}
* html #column-content {
display: inline;
margin-bottom: 0;
}
* html div.editsection { font-size: smaller; }
#pagehistory li.selected { position: relative; }
/* Mac IE 5.0 fix; floated content turns invisible */
* > html #column-content {
float: none;
}
* > html #column-one {
position: absolute;
left: 0;
top: 0;
}
* > html #footer {
margin-left: 13.2em;
}
.redirectText {
font-size: 150%;
margin: 5px;
}
.printfooter {
display: none;
}
div.patrollink {
clear: both;
}
span.newpage, span.minor, span.bot {
font-weight: bold;
}
.sharedUploadNotice {
font-style: italic;
}
span.updatedmarker {
color: black;
background-color: #0f0;
}
table.gallery {
border: 1px solid #ccc;
margin: 2px;
padding: 2px;
background-color: white;
}
table.gallery tr {
vertical-align: top;
}
table.gallery td {
vertical-align: top;
background-color: #f9f9f9;
border: solid 2px white;
}
/* Keep this temporarily so that cached pages will display right */
table.gallery td.galleryheader {
text-align: center;
font-weight: bold;
}
table.gallery caption {
font-weight: bold;
}
div.gallerybox {
margin: 2px;
}
div.gallerybox div.thumb {
text-align: center;
border: 1px solid #ccc;
margin: 2px;
}
div.gallerytext {
overflow: hidden;
font-size: 94%;
padding: 2px 4px;
}
span.comment {
font-style: italic;
}
span.changedby {
font-size: 95%;
}
.previewnote {
color: #c00;
margin-bottom: 1em;
}
.previewnote p {
text-indent: 3em;
margin: 0.8em 0;
}
.editExternally {
border: 1px solid gray;
background-color: #ffffff;
padding: 3px;
margin-top: 0.5em;
float: left;
font-size: small;
text-align: center;
}
.editExternallyHelp {
font-style: italic;
color: gray;
}
.toggle {
margin-left: 2em;
text-indent: -2em;
}
input#wpSummary {
width: 80%;
}
/* @bug 1714 */
input#wpSave, input#wpDiff {
margin-right: 0.33em;
}
#wpSave {
font-weight: bold;
}
/* Classes for article validation */
table.revisionform_default {
border: 1px solid #000000;
}
table.revisionform_focus {
border: 1px solid #000000;
background-color:#00BBFF;
}
tr.revision_tr_default {
background-color:#EEEEEE;
}
tr.revision_tr_first {
background-color:#DDDDDD;
}
p.revision_saved {
color: green;
font-weight:bold;
}
/* Allmessages table */
#allmessagestable th {
background-color: #b2b2ff;
}
#allmessagestable tr.orig {
background-color: #ffe2e2;
}
#allmessagestable tr.new {
background-color: #e2ffe2;
}
#allmessagestable tr.def {
background-color: #f0f0ff;
}
/* noarticletext */
div.noarticletext {
border: 1px solid #ccc;
background: #fff;
padding: .2em 1em;
color: #000;
}
div#searchTargetContainer {
left: 10px;
top: 10px;
width: 90%;
background: white;
}
div#searchTarget {
padding: 3px;
margin: 5px;
background: #F0F0F0;
border: solid 1px blue;
}
div#searchTarget ul li {
list-style: none;
}
div#searchTarget ul li:before {
color: orange;
content: "\00BB \0020";
}
div#searchTargetHide {
float:right;
border:solid 1px black;
background:#DCDCDC;
padding:2px;
}
#powersearch p {
margin-top:0px;
}
div.multipageimagenavbox {
border: solid 1px silver;
padding: 4px;
margin: 1em;
background: #f0f0f0;
}
div.multipageimagenavbox div.thumb {
border: none;
margin-left: 2em;
margin-right: 2em;
}
div.multipageimagenavbox hr {
margin: 6px;
}
table.multipageimage td {
text-align: center;
}
.templatesUsed { margin-top: 1.5em; }
.mw-summary-preview {
margin: 0.1em 0;
}
/* Friendlier slave lag warnings */
div.mw-lag-warn-normal,
div.mw-lag-warn-high {
padding: 3px;
text-align: center;
margin: 3px auto;
}
div.mw-lag-warn-normal {
border: 1px solid #FFCC66;
background-color: #FFFFCC;
}
div.mw-lag-warn-high {
font-weight: bold;
border: 2px solid #FF0033;
background-color: #FFCCCC;
}
.MediaTransformError {
background-color: #ccc;
padding: 0.1em;
}
.MediaTransformError td {
text-align: center;
vertical-align: middle;
font-size: 90%;
}
/* God-damned hack for the crappy layout */
.os-suggest {
font-size: 127%;
}
/* Sometimes people don't want personal tools to be lowercase! */
.no-text-transform {
text-transform: none;
}
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=main.css
Content-Type: text/css; charset=utf-8; name=main.css
Content-Location: http://ru.wikipedia.org/skins-1.5/chick/main.css?233zz2
Content-Transfer-Encoding: 8bit
/*
** MediaWiki 'chick' style sheet for PDAs or other small-screen devices.
** Copyright Timwi
** License: GPL (http://www.gnu.org/copyleft/gpl.html)
**
** Loosely based on Monobook by Gabriel Wicke
*/
body {
font-family: sans-serif;
color: Black;
margin: 0;
padding: 0.3em;
}
a { color: #002bb8; }
a:visited { color: #5a3696; }
a:active { color: #ffa500; }
a.stub { color: #772233; }
a.new,
#p-personal a.new { color:#ba0000; }
a.new:visited,
#p-personal a.new:visited { color:#a55858; }
img {
border: none;
vertical-align: middle;
}
p {
margin: 0.4em 0em 0.5em 0em;
line-height: 1.5em;
}
p img { margin: 0; }
hr {
height: 1px;
color: #aaaaaa;
background-color: #aaaaaa;
border: 0;
margin: 0.2em 0 0.2em 0;
}
h1, h2, h3, h4, h5, h6 {
color: Black;
background: none;
font-weight: normal;
margin: 0;
padding-top: 0.5em;
padding-bottom: 0.17em;
border-bottom: 1px solid #aaaaaa;
}
.editsection {
font-weight: normal;
}
h1 { font-size: 188%; }
h1 .editsection { font-size: 53.2%; }
h2 { font-size: 150%; }
h2 .editsection { font-size: 66.7%; }
h3, h4, h5, h6 {
border-bottom: none;
font-weight: bold;
}
h3 { font-size: 132%; }
h3 .editsection { font-size: 75.8%; }
h4 { font-size: 116%; }
h4 .editsection { font-size: 86.2%; }
h5 { font-size: 100%; }
h6 { font-size: 80%; }
h6 .editsection { font-size: 125%; }
ul {
line-height: 1.5em;
margin: 0.3em 0 0 1.5em;
padding:0;
}
ol {
line-height: 1.5em;
margin: 0.3em 0 0 3.2em;
padding:0;
list-style-image: none;
}
li { margin-bottom: 0.1em; }
dt {
font-weight: bold;
margin-bottom: 0.1em;
}
dl{
margin-top: 0.2em;
margin-bottom: 0.5em;
}
dd {
line-height: 1.5em;
margin-left: 2em;
margin-bottom: 0.1em;
}
fieldset {
border: 1px solid #2f6fab;
margin: 1em 0em 1em 0em;
padding: 0em 1em 1em 1em;
line-height: 1.5em;
}
legend {
background: White;
padding: 0.5em;
font-size: 95%;
}
form {
border: none;
margin: 0;
}
textarea {
border: 1px solid #2f6fab;
color: Black;
background-color: white;
width: 100%;
padding: 0.1em;
overflow: auto;
}
/* hide this from ie/mac and konq2.2 */
@media All {
head:first-child+body input {
visibility: visible;
border: 1px solid #2f6fab;
color: Black;
background-color: white;
vertical-align: middle;
padding: 0.2em;
}
}
input.historysubmit {
padding: 0 0.3em 0.3em 0.3em !important;
font-size: 94%;
cursor: pointer;
height: 1.7em !important;
margin-left: 1.6em;
}
input[type="radio"],
input[type="checkbox"] { border:none; }
select {
border: 1px solid #2f6fab;
color: Black;
vertical-align: top;
}
abbr, acronym, .explain {
border-bottom: 1px dotted Black;
color: Black;
background: none;
cursor: help;
}
q {
font-family: Times, "Times New Roman", serif;
font-style: italic;
}
code { background-color: #f9f9f9; }
pre {
padding: 1em;
border: 1px dashed #2f6fab;
color: Black;
background-color: #f9f9f9;
line-height: 1.1em;
}
/*
** the main content area
*/
span.subpages { display: block; }
/* Some space under the headers in the content area */
#bodyContent h1, #bodyContent h2 { margin-bottom:0.6em; }
#bodyContent h3,
#bodyContent h4,
#bodyContent h5 {
margin-bottom: 0.3em;
}
#firstHeading { margin-bottom:0.1em; }
/* user notification thing */
.usermessage {
background-color: #ffce7b;
border: 1px solid #ffa500;
color: Black;
font-weight: bold;
margin: 0.1em 0 0 0;
padding: 2px 5px;
vertical-align: middle;
}
#siteNotice {
text-align: center;
font-size: 95%;
padding: 0 0.9em 0 0.9em;
}
#siteNotice p { margin: 0; padding: 0; }
.error {
color: red;
font-size: larger;
}
.catlinks {
border:1px solid #aaaaaa;
background-color:#f9f9f9;
padding: 2px 5px;
margin: 0.1em 0 0 0;
clear: both;
}
.catlinks { margin: 0; padding: 0; }
/* currently unused, intended to be used by a metadata box
in the bottom-right corner of the content area */
.documentDescription {
/* The summary text describing the document */
font-weight: bold;
display: block;
margin: 1em 0em;
line-height: 1.5em;
}
.documentByLine {
text-align: right;
font-size: 90%;
clear: both;
font-weight: normal;
color: #76797c;
}
/* emulate center */
.center {
width: 100%;
text-align: center;
}
*.center * {
margin-left: auto;
margin-right: auto;
}
/* small for tables and similar */
.small, .small * { font-size: 94%; }
table.small { font-size: 100% }
/*
** content styles
*/
#toc {
/*border:1px solid #2f6fab;*/
border:1px solid #aaaaaa;
background-color:#f9f9f9;
padding:5px;
font-size: 95%;
}
#toc ul { margin-left: 2em; }
#toc .toctoggle { font-size: 94%; }
#toc .editsection {
margin-top: 0.7em;
font-size: 94%;
}
/* images */
div.floatright, table.floatright {
clear: right;
float: right;
margin: 0;
position: relative;
border: 0.5em solid White;
border-width: 0.5em 0 0.8em 1.4em;
}
div.floatright p { font-style: italic; }
div.floatleft, table.floatleft {
float: left;
clear: left;
margin: 0.3em 0.5em 0.5em 0;
position: relative;
border: 0.5em solid White;
border-width: 0.5em 1.4em 0.8em 0;
}
div.floatleft p { font-style: italic; }
/* thumbnails */
div.thumb {
margin-bottom: 0.5em;
border-style: solid; border-color: White;
width: auto;
}
div.thumb div {
border:1px solid #cccccc;
padding: 3px !important;
background-color:#f9f9f9;
font-size: 94%;
text-align: center;
overflow: hidden;
}
div.thumb div a img {
border:1px solid #cccccc;
}
div.thumb div div.thumbcaption {
border: none;
text-align: left;
line-height: 1.4em;
padding: 0.3em 0 0.1em 0;
}
div.magnify {
float: right;
border: none !important;
background: none !important;
}
div.magnify a, div.magnify img {
display: block;
border: none !important;
background: none !important;
}
div.tright {
clear: right;
float: right;
border-width: 0.5em 0 0.8em 1.4em;
}
div.tleft {
float: left;
clear: left;
margin-right:0.5em;
border-width: 0.5em 1.4em 0.8em 0;
}
img.thumbborder {
border: 1px solid #dddddd;
}
.hiddenStructure {
display: none;
}
/*
** classes for special content elements like town boxes
** intended to be referenced directly from the wiki src
*/
/*
** User styles
*/
/* table standards */
table.rimage {
float:right;
position:relative;
margin-left:1em;
margin-bottom:1em;
text-align:center;
}
.toccolours {
border:1px solid #aaaaaa;
background-color:#f9f9f9;
padding:5px;
font-size: 95%;
}
/*
** edit views etc
*/
.special li {
line-height: 1.4em;
margin: 0;
padding: 0;
}
a.external { color: #3366bb; }
div#footer { text-align: center; }
ul#f-list li { list-style: none; text-align: center; }
div.portlet { margin: 0.5em 0; }
.redirectText {
font-size:150%;
margin:5px;
}
ul.special li.not-patrolled, ol.special li.not-patrolled {
background-color: #ffa;
}
div.patrollink {
font-size: 75%;
text-align: right;
}
span.newpage, span.minor {
font-weight: bold;
}
span.updatedmarker {
color:black;
background-color:#00FF00;
}
table.gallery {
border: 1px solid #cccccc;
margin: 2px;
padding: 2px;
background-color:#ffffff;
}
table.gallery tr {
vertical-align:top;
}
table.gallery td {
vertical-align:top;
background-color:#f9f9f9;
border: solid 2px white;
}
div.gallerybox {
margin: 2px;
width: 150px;
}
div.gallerybox div.thumb {
text-align: center;
border: 1px solid #cccccc;
margin: 2px;
}
div.gallerytext {
overflow: hidden;
font-size: 94%;
padding: 2px 4px;
}
#xjump-to-nav {
display: none;
}
.templatesUsed { margin-top: 1.5em; }
.printfooter {
display: none;
}
#footer {
background-color: white;
border-top: 1px solid #fabd23;
border-bottom: 1px solid #fabd23;
margin: .6em 0 1em 0;
padding: .4em 0 1.2em 0;
text-align: center;
font-size: 90%;
}
#f-poweredbyico, #f-copyrightico {
display: inline;
}
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=flaggedrevs.css
Content-Type: text/css; charset=utf-8; name=flaggedrevs.css
Content-Location: http://ru.wikipedia.org/w/extensions/FlaggedRevs/flaggedrevs.css?59
Content-Transfer-Encoding: 8bit
/* Every time you change this CSS please bump $wgFlaggedRevStyleVersion in FlaggedRevs.php */
/* Standard User Interface */
.flaggedrevs_basic,
.flaggedrevs_quality,
.flaggedrevs_pristine,
.flaggedrevs_notice,
.flaggedrevs_editnotice,
.flaggedrevs_diffnotice,
.flaggedrevs_warning,
.flaggedrevs_preview {
border: 1px solid #aaa;
padding: 5px;
font-weight: normal;
line-height: 1.5em;
margin: .5em 1em 0em 0em;
text-align: center;
clear: both;
}
.flaggedrevs_basic {
background-color: #f0f8ff;
}
.flaggedrevs_quality {
background-color: #f0fff0;
}
.flaggedrevs_pristine {
background-color: #fffff0;
}
.flaggedrevs_notice {
background-color: #f9f9f9;
}
.flaggedrevs_preview {
background-color: #f9f9f9;
color: #8b0000;
}
.flaggedrevs_warning {
font-size: 85%;
background-color: #fffff0;
margin: 0em 1em 0em 0em;
}
.flaggedrevs_editnotice {
font-size: 85%;
background-color: #f9f9f9;
}
.flaggedrevs_diffnotice {
font-size: 85%;
background-color: #f9f9f9;
}
.flaggedrevs_notes {
border: 1px solid #aaa;
background-color: #f9f9f9;
padding: 5px;
font-size: 85%;
margin-left: 50px;
margin-right: 50px;
text-align: center;
}
.fr-text-value {
width: 100px;
}
.fr-checkbox {
padding: 0px;
width: 16px;
height: 16px;
position: relative;
float: left;
top: 0px;
right: 0px;
background-repeat: no-repeat;
background-position: 0px 0px;
background-image: url(../FlaggedRevs/img/boxC.png);
}
.fr-marker-20,
.fr-marker-40,
.fr-marker-60,
.fr-marker-80,
.fr-marker-100 {
background-position: bottom left;
background-repeat: no-repeat;
padding-bottom: 3px;
}
.fr-marker-20 {
background-image: url(../FlaggedRevs/img/bar_20.png);
}
.fr-marker-40 {
background-image: url(../FlaggedRevs/img/bar_40.png);
}
.fr-marker-60 {
background-image: url(../FlaggedRevs/img/bar_60.png);
}
.fr-marker-80 {
background-image: url(../FlaggedRevs/img/bar_80.png);
}
.fr-marker-100 {
background-image: url(../FlaggedRevs/img/bar_100.png);
}
/* Short User Interface */
.flaggedrevs_short {
border: 0px;
background-color: #f9f9f9;
padding: 1px;
font-size: 95%;
font-weight: normal;
margin: 0em 0em 0em 1em;
float: right;
text-align: left;
max-width: 450px;
line-height: 16px;
}
.fr-text {
height: 1em;
line-height: 1em;
margin: 0px 7px 0px 0px;
padding: 0px;
font-weight: bold;
width: 80px;
}
.fr-value20,
.fr-value40,
.fr-value60,
.fr-value80,
.fr-value100 {
height: 1em;
line-height: 1em;
width: 95px;
float: left;
background-repeat: no-repeat;
background-position: 50% 50%;
text-align: center;
}
.fr-value20 {
background-image: url(../FlaggedRevs/img/fr-marker-20.png);
}
.fr-value40 {
background-image: url(../FlaggedRevs/img/fr-marker-40.png);
}
.fr-value60 {
background-image: url(../FlaggedRevs/img/fr-marker-60.png);
}
.fr-value80 {
background-image: url(../FlaggedRevs/img/fr-marker-80.png);
}
.fr-value100 {
background-image: url(../FlaggedRevs/img/fr-marker-100.png);
}
.flaggedrevs-box0,
.flaggedrevs-box1,
.flaggedrevs-box2,
.flaggedrevs-box3 {
border: 1px solid #aaa;
text-align: center;
font-size: 85%;
clear: both;
}
.flaggedrevs-box0 {
background-color: #f9f9f9;
}
.flaggedrevs-box1 {
background-color: #f0f8ff;
}
.flaggedrevs-box2 {
background-color: #f0fff0;
}
.flaggedrevs-box3 {
background-color: #fffff0;
}
/* Both User Interfaces */
.flaggedrevs-color-0 {
background-color: #f9f9f9;
}
.flaggedrevs-color-1 {
background-color: #f0f8ff;
}
.flaggedrevs-color-2 {
background-color: #f0fff0;
}
.flaggedrevs-color-3 {
background-color: #fffff0;
}
.flaggedrevs-unreviewed {
background-color: #fffff0;
}
.flaggedrevs-unreviewed2 {
background-color: #faebd7;
}
.flaggedrevs_toggle {
color: blue;
white-space: nowrap;
cursor:pointer;
}
.fr-icon-current,
.fr-icon-stable,
.fr-icon-quality,
.fr-icon-locked,
.fr-icon-unlocked {
padding: 0px;
margin: 0em .2em 0em 0em;
width: 16px;
height: 16px;
float: left;
background-repeat: no-repeat;
background-position: center center;
}
.fr-icon-current {
background-image: url(../FlaggedRevs/img/1.png);
}
.fr-icon-stable {
background-image: url(../FlaggedRevs/img/2.png);
}
.fr-icon-quality {
background-image: url(../FlaggedRevs/img/3.png);
}
.fr-icon-locked {
background-image: url(../FlaggedRevs/img/lock-closed.png);
}
.fr-icon-unlocked {
width: 23px;
background-image: url(../FlaggedRevs/img/lock-open.png);
}
.fr-diff-ratings {
font-size: 90%;
line-height: 1em;
}
.fr-diff-to-stable {
line-height: 1em;
}
.fr-hist-stable-user,
.fr-hist-quality-user,
.fr-hist-autoreviewed {
font-weight: bold;
}
/* Site notices */
.fr-backlognotice {
padding: 3px;
margin: 5px;
border: 1px solid #990000;
background-color: #f5ecec;
}
.fr-watchlist-old-notice {
padding: 3px;
margin: 5px;
border: 1px solid #990000;
background-color: #FEECD7;
}
/* Special pages */
.fr-pending-long {
background-color: #f5ecec;
}
.fr-pending-long2 {
background-color: #f5dddd;
}
.fr-pending-long3 {
background-color: #e2caca;
}
.fr-unreviewed-unwatched {
background-color: #faebd7;
}
.fr-under-review {
background-color: yellow;
}
/* Review form */
.flaggedrevs_reviewform {
background-color: #f9f9f9;
font-size: 90%;
clear: both;
}
.fr-rating-controls,
.fr-rating-controls-disabled {
vertical-align: middle;
line-height: 1em;
}
.fr-rating-controls-disabled {
color: GrayText;
}
.fr-rating-options {
margin-right: 1.5em;
}
.fr-rating-option-0 {
background-color: #f5ecec;
}
.fr-rating-option-1 {
background-color: #f0f8ff;
}
.fr-rating-option-2 {
background-color: #f0fff0;
}
.fr-rating-option-3 {
background-color: #fef0db;
}
.fr-rating-option-4 {
background-color: #fffff0;
}
.fr-diff-patrollink {
text-align: center;
}
.fr-notes-box {
width: 95%;
margin: 0em 1em 0em .5em;
}
.fr-comment-box {
margin-top: .25em;
}
.fr-rating-dave {
background-color: #E0ECF8;
}
.fr-rating-rave {
background-color: #E0F8EC;
}
.fr-hiddenform {
display: none;
}
/* Reader feedback form */
.fr_reader_feedback_plot {
background-color: #F8F8F8;
}
.fr_reader_feedback_graph,
.fr_reader_feedback_ratings,
.fr_reader_feedback_users {
width: 100%;
overflow: auto;
}
.fr_reader_feedback_users {
background-color: #F0F0F0;
max-height:410px;
font-size: 90%;
}
.fr_reader_feedback_table {
margin: .5em .5em .5em .5em;
background: #f9f9f9;
border: 1px #AAA solid;
border-collapse: collapse;
font-size: 85%;
}
.fr_reader_feedback_table th, .fr_reader_feedback_table td {
border: 1px #AAA solid;
padding: 0.3em;
}
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=utf-8; name=index.css
Content-Location: http://ru.wikipedia.org/w/index.php?title=MediaWiki:Common.css&usemsgcache=yes&ctype=text%2Fcss&smaxage=2678400&action=raw&maxage=2678400
Content-Transfer-Encoding: 8bit
/*MediaWiki interface*/
.mw-plusminus-pos {color:#006400}
.mw-plusminus-neg {color:#8B0000}
.portlet li.FA {list-style-image:url('http://upload.wikimedia.org/wikipedia/en/d/d4/Monobook-bullet-star.png')}
.portlet li.GA {list-style-image:url('http://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/QS_blue_star_small.png/9px-QS_blue_star_small.png')}
.allpagesredirect {font-style:italic}
#file img {background:url("http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png") repeat;}
#wpSave {font-weight:bold}
#userSummaryButtonsA a {
white-space:nowrap;
background: #C2F2FF;
border: 1px solid #9BD5F5;
padding: 0px 2px;
margin: 2px;
cursor: pointer;
font-size: 80%;
line-height: 17px;
color: #5B5B5B
}
#userSummaryButtonsA a:hover {
background: #B1EBFF;
border: 1px solid #64BDF0;
color: black;
text-decoration: none
}
.warningbox {
background: #FFFF99;
border: 1px solid #EEEE00;
background-image: url('http://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Nuvola_apps_important.png/30px-Nuvola_apps_important.png')
}
.informationbox {
background: #F4FBFF;
border: 1px solid #D5D9E6;
background-image: url('http://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Information.svg/30px-Information.svg.png')
}
.warningbox, .informationbox {
padding: 10px 10px 10px 50px;
background-position: 10px center;
background-repeat: no-repeat;
vertical-align: middle;
font-size: smaller;
}
/* [[Википедия:Оформление таблиц]] */
table.standard, table.wide
{border:1px solid #AAAAAA; border-collapse: collapse}
table.standard th, table.wide th, table.wikitable th
{border:1px solid #AAAAAA; padding-left:0.2em; padding-right:0.2em; background-color:#EEEEFF}
table.standard td, table.wide td
{border: 1px solid #AAAAAA; padding-left:0.2em; padding-right:0.2em}
table.standard caption, table.wide caption, table.tiles caption
{font-weight:bold; padding-top: 0.2em; padding-bottom:0.2em}
table.wide {width: 100%}
table.simple {border-color:#AAAAAA; border-collapse:collapse}
table.simple th, table.simple td {border-color:#AAAAAA; padding-left:0.2em; padding-right:0.2em}
table.tiles {border-collapse:separate; border-spacing:2px}
table.tiles th {padding-left:0.2em; padding-right:0.2em; background-color: #EEEEFF}
table.tiles td {padding-left:0.2em; padding-right:0.2em; background-color: #F0F0F0}
table.graytable {background:#f0f0f0; padding:1em; width: 100%}
table.graytable caption {padding:0.5em 0 0 0; background:#f0f0f0; font-size:100%; font-weight:bold}
table.graytable caption span.subcaption {font-size:80%; font-weight:normal}
table.graytable th, table.graytable td {font-size:80%}
table.wikitable, table.prettytable
{margin:1em 1em 1em 0; background:#F9F9F9; border:1px solid #AAAAAA; border-collapse:collapse}
table.wikitable th, table.wikitable td,
table.prettytable th, table.prettytable td
{border:1px solid #AAAAAA; padding:0.2em}
table.wikitable caption, table.prettytable caption
{margin-left:inherit; margin-right:inherit; font-size:larger; font-weight:bold}
table.prettytable th
{background:#f2f2f2}
tr.highlight th {background-color: #EEEEFF}
tr.highlight td {background-color: #FFFFEE}
tr.bright th {background-color: #CCCCFF}
tr.bright td {background-color: #FFEECC}
tr.shadow th, tr.shadow td {background-color: #F0F0F0}
tr.dark th, tr.dark td {background-color: #CCCCCC}
table th.highlight {background-color: #EEEEFF}
table td.highlight {background-color: #FFFFEE}
table th.bright {background-color: #CCCCFF}
table td.bright {background-color: #FFEECC}
table th.shadow, table td.shadow {background-color: #F0F0F0}
table th.dark, table td.dark {background-color: #CCCCCC}
table th.transparent, table td.transparent, .transparent {background-color: transparent}
table.toccolours th {background-color: #ccccff}
/* {ambox} */
table.ambox {
width: auto;
margin: 0 10%;
border-collapse: collapse;
background: #FBFBFB;
border: 1px solid #AAAAAA;
border-left: 10px solid #1E90FF
}
table.ambox th, table.ambox td {
padding: 0.25em 0.5em;
}
table.ambox td.ambox-widthhack {
padding: 0;
}
table.ambox td.ambox-text {
width:100%;
}
table.ambox td.ambox-text .ambox-text-small {
font-size:smaller;
}
table.ambox td.ambox-image {
width: 52px;
padding: 2px 0px 2px 0.5em;
text-align: center;
}
table.ambox td.ambox-imageright {
width: 52px;
padding: 2px 4px 2px 0px;
text-align: center;
}
table.ambox td.ambox-image div,
table.ambox td.ambox-imageright div {width:52px} /* Фикс для изображений разной ширины */
table.ambox-delete,
table.ambox-serious {
border-left: 10px solid #B22222
}
table.ambox-content {
border-left: 10px solid #F28500
}
table.ambox-style {
border-left: 10px solid #F4C430
}
table.ambox-good {
border-left: 10px solid #66CC44
}
table.ambox-discussion {
border-left: 10px solid #339966
}
table.ambox-notice {
border-left: 10px solid #1E90ff
}
table.ambox-merge {
border-left: 10px solid #9932CC
}
table.ambox.ambox-mini {
float: right;
clear: right;
margin: 0 0 0.5em 1em;
width: 20%;
}
.infobox {
border: 1px solid #aaaaaa;
background-color: #f9f9f9;
margin-bottom: 0.5em;
margin-left: 1em;
padding:.4em;
float: right;
clear: right;
font-size: 90%;
width: 18em;
vertical-align: middle;
}
.infobox td, .infobox th {vertical-align:top}
table.infobox td p {margin:0} /* temporarily for [[Template:Карточка]]*/
.notice {
text-align: justify;
margin: 1em 0.5em;
padding: 0.5em;
}
.messagebox {
border: thin solid #aaaaaa;
background-color: #f9f9f9;
width: 88%;
margin: 0 auto 1em auto;
padding:.4em;
vertical-align: middle;
font-size: 90%
}
blockquote {
margin:0.7em 0 0.7em 5%;
padding:0.7em 2% 0.7em 4%;
background-color:#F5F5F5;
}
ol.references {font-size:100%}
.references-small {font-size:90%}
/* highlight focused footnotes and references in some browsers */
sup.reference:target, ol.references li:target, cite:target {background-color:#DEF}
sup.reference:target {font-weight:bold}
/* scrollable references */
.references-scroll {
overflow: auto;
padding: 3px;
}
/* fix for line-breaking references */
sup, sub {line-height:1em}
.plainlinksneverexpand, .plainlinksneverexpand a
{background:none !important; padding:0 !important}
.plainlinksneverexpand a.external.text:after,
.plainlinksneverexpand a.external.autonumber:after,
.plainlinksneverexpand .urlexpansion
{display:none !important}
.clickable-image a:hover {text-decoration: none}
.hiddenStructure {display:none; speak:none}
.dablink, .rellink {font-style:italic; padding-left:2em}
#disambig {border-top: 3px double #cccccc; border-bottom: 3px double #cccccc}
/*{TOClimit}*/
.toclimit-2 .toclevel-2,
.toclimit-3 .toclevel-3,
.toclimit-4 .toclevel-4,
.toclimit-5 .toclevel-5,
.toclimit-6 .toclevel-6,
.toclimit-7 .toclevel-7 {display:none}
/* {IPA}, {Unicode} and {Polytonic} */
.IPA { font-family: "Chrysanthi Unicode", "Doulos SIL", Gentium, GentiumAlt, Code2000, "TITUS Cyberbit Basic", "DejaVu Sans", "Bitstream Cyberbit", "Arial Unicode MS", "Lucida Sans Unicode", "Hiragino Kaku Gothic Pro", "Matrix Unicode"; font-family /**/:inherit; }
.Unicode { font-family: Code2000, Code2001, "Free Serif", "TITUS Cyberbit Basic", "Doulos SIL", "Chrysanthi Unicode", "Bitstream Cyberbit", "Bitstream CyberBase", Thryomanes, Gentium, GentiumAlt, "Lucida Grande", "Free Sans", "Arial Unicode MS", "Microsoft Sans Serif", "Lucida Sans Unicode"; font-family /**/:inherit; }
.polytonic { font-family: "Athena Unicode", Gentium, "Palatino Linotype", "Arial Unicode MS", "Lucida Sans Unicode", "Lucida Grande", Code2000; font-family /**/:inherit; }
/* PDF icon next to external PDF link for Mozilla and Opera and for {PDFlink} template */
a[href$=".pdf"].external,
a[href*=".pdf?"].external,
a[href*=".pdf#"].external,
a[href$=".PDF"].external,
a[href*=".PDF?"].external,
a[href*=".PDF#"].external,
span.PDFlink a {background: url(http://upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif) center right no-repeat !important; padding-right: 18px !important}
/* Clickable speaker in {Template:Audio} ... */
.audiolink a {
background: url("http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Loudspeaker.svg/11px-Loudspeaker.svg.png") center left no-repeat !important;
padding-left: 16px !important;
padding-right: 0 !important;
}
/* Medialist templates {Listen}, {Multi-listen_start}, {Video}, {Multi-video_start} */
div.listenlist {
background: url("http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Gnome-speakernotes.png/30px-Gnome-speakernotes.png");
padding-left: 40px;
}
div.videolist, div.multivideolist {
background: url("http://upload.wikimedia.org/wikipedia/en/thumb/2/20/Tango-video-x-generic.png/40px-Tango-video-x-generic.png");
padding-left: 50px;
}
div.medialist {
min-height: 50px;
margin: 1em;
background-position: top left;
background-repeat: no-repeat;
}
div.medialist ul {
list-style-type: none;
list-style-image: none;
margin: 0;
}
div.medialist ul li {
padding-bottom: 0.5em;
}
div.medialist ul li li {
font-size: 91%;
padding-bottom: 0;
}
/* {Навигация} */
table.navigation-box th,
table.navigation-box td {
vertical-align: middle;
height: 30px;
}
/* {Навигационная таблица} */
table.navbox {
background-color: #f9f9f9;
border: 1px solid #aaa;
clear: both;
font-size: 90%;
margin: 1em 0em 0em;
padding: 2px;
width: 100%;
}
table.navbox th {
background-color: #ccf;
padding-left: 1em;
padding-right: 1em;
text-align: right;
}
/*{Навигационная полоса}, {Hider}, ... */
div.Boxmerge,
div.NavFrame {
margin: 0px;
padding: 2px;
border: 1px solid #aaa;
text-align: center;
border-collapse: collapse;
font-size: 95%;
}
div.Boxmerge div.NavFrame {
border-style: none;
border-style: hidden;
}
div.NavFrame + div.NavFrame {
border-top-style: none;
border-top-style: hidden;
}
div.NavPic {
background-color: #fff;
margin: 0px;
padding: 2px;
float: left;
}
div.NavFrame div.NavHead {
height: 1.6em;
font-weight: bold;
font-size: 100%;
background-color: #efefef;
position:relative;
}
div.NavFrame p,
div.NavFrame div.NavContent,
div.NavFrame div.NavContent p {
font-size: 100%
}
div.NavEnd {
margin: 0px;
padding: 0px;
line-height: 1px;
clear: both;
}
div.NavShow, div.NavHide {
display: none;
}
a.NavToggle {
position:absolute;
top:0px;
right:3px;
font-weight:normal;
font-size:smaller;
}
.messagebox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba
}
.messagebox .floatleft {
vertical-align: middle;
clear: both;
margin: 2px;
padding: 0
}
.messagebox .image {
margin: 0;
padding: 0
}
/* {coord}s */
#coordinates {
position:absolute;
z-index:1;
right:9em;
top:3.7em;
float:right;
line-height:1.5em;
text-align:right;
font-size:85%;
white-space:nowrap;
}
#coordinates, .coordinates {
text-transform:none;
margin:0;
padding:0;
}
.geo-google {
font-family:serif;
font-weight:bold;
line-height:1em;
}
.geo-geo-dec .geo-dec, .geo-geo-dms .geo-dms {display:inline}
.geo-geo-dec .geo-dms, .geo-geo-dms .geo-dec, .geo-multi-punct {display:none}
.geo {white-space:nowrap}
/* FlaggedRevs */
#mw-revisiontag, #mw-revisiontag-edit, #mw-oldreviewed-notice, li#ca-stable,
.fr-diff-ratings, div.fr-diff-to-stable, ul#pagehistory small {display:none}
.unpatrolled {visibility:hidden}
.flaggedrevs-unreviewed, .flaggedrevs-unreviewed2, .flaggedrevs-color-1 {background-color:transparent}
/*Special:Statistics*/
.statistics-group-import, .statistics-group-transwiki, .statistics-group-developer,
.statistics-group-boardvote, .statistics-group-reviewer, .statistics-group-steward {display:none}
/* Thumbnail fixes */
div.thumbinner img { background-color: #FFFFFF }
div.thumb { border-color: transparent }
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=utf-8; name=index.css
Content-Location: http://ru.wikipedia.org/w/index.php?title=MediaWiki:Print.css&usemsgcache=yes&ctype=text%2Fcss&smaxage=2678400&action=raw&maxage=2678400
Content-Transfer-Encoding: 8bit
body.ns-0 .navbox, body.ns-0 .NavFrame, body.ns-0 .metadata, .dablink, #catlinks {display: none}
.toccolours {border: 1px solid #aaa}
.reflist4 {height:auto !important}
.references-scroll {
max-height: none !important;
overflow: visible !important;
}
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=utf-8; name=index.css
Content-Location: http://ru.wikipedia.org/w/index.php?title=MediaWiki:Handheld.css&usemsgcache=yes&ctype=text%2Fcss&smaxage=2678400&action=raw&maxage=2678400
Content-Transfer-Encoding: 8bit
/* CSS placed here will affect handheld devices based on the skin configured in $wgHandheldStyle */
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://upload.wikimedia.org/wikipedia/en/1/18/Monobook-bullet.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAQMAAABBztZFAAAABlBMVEUAAwBjjJzG
2b5OAAAAAXRSTlMAQObYZgAAABBJREFUCNdjYMAG7FARAwMADXkBNzRuJgIAAAAA
SUVORK5CYII=
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=utf-8; name=index.css
Content-Location: http://ru.wikipedia.org/w/index.php?title=MediaWiki:Monobook.css&usemsgcache=yes&ctype=text%2Fcss&smaxage=2678400&action=raw&maxage=2678400
Content-Transfer-Encoding: 8bit
#siteSub { /* "From Wikipedia, the free encyclopedia" */
display: inline;
font-size: 92%;
font-weight: normal;
}
#toc {margin-top: 0.5em}
#ca-edit a {font-weight: bold} /* encourage newcomers */
/* Light blue background except on articles and portals; need 32bit color to see difference */
#content, #p-cactions li a {background: #F8FCFF}
.ns-0 #content, .ns-100 #content,
.ns-0 #p-cactions li a, .ns-100 #p-cactions li a {background-color: white}
div.thumb {border-color: #F8FCFF}
.ns-0 div.thumb, .ns-100 div.thumb {border-color: white}
body.ns--1 table, form table {background: transparent}
/* Hide some stuff on the main page */
body.page-Заглавная_страница #t-cite,
body.page-Заглавная_страница #lastmod,
body.page-Заглавная_страница #siteSub,
body.page-Заглавная_страница #contentSub,
body.page-Заглавная_страница h1.firstHeading,
body.page-Портал_Заглавная_страница #t-cite,
body.page-Портал_Заглавная_страница #lastmod,
body.page-Портал_Заглавная_страница #siteSub,
body.page-Портал_Заглавная_страница #contentSub,
body.page-Портал_Заглавная_страница h1.firstHeading {
display: none !important
}
/* Smaller "Перейти" (Go) button, so buttons fit on one line */
#searchGoButton {padding: 0}
.portlet li { /* slightly different bullet, compat. with li.FA star */
list-style-image: url('http://upload.wikimedia.org/wikipedia/en/1/18/Monobook-bullet.png')
}
/* См. Шаблон:Right-uppermost image */
div#floating_object.metadata {
position: absolute;
right: 10px;
top: 10px;
z-index: 100;
}
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=utf-8; name=index.css
Content-Location: http://ru.wikipedia.org/w/index.php?title=-&action=raw&maxage=2678400&gen=css
Content-Transfer-Encoding: 8bit
/* generated user stylesheet */
a.new, #quickbar a.new { color: #CC2200; }
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=wikibits.js
Content-Type: application/x-javascript; charset=utf-8; name=wikibits.js
Content-Location: http://ru.wikipedia.org/skins-1.5/common/wikibits.js?233zz2
Content-Transfer-Encoding: Base64
Ly8gTWVkaWFXaWtpIEphdmFTY3JpcHQgc3VwcG9ydCBmdW5jdGlvbnMKCnZhciBj
bGllbnRQQyA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTsgLy8g
R2V0IGNsaWVudCBpbmZvCnZhciBpc19nZWNrbyA9IC9nZWNrby8udGVzdCggY2xp
ZW50UEMgKSAmJgoJIS9raHRtbHxzcG9vZmVyfG5ldHNjYXBlXC83XC4wLy50ZXN0
KGNsaWVudFBDKTsKdmFyIHdlYmtpdF9tYXRjaCA9IGNsaWVudFBDLm1hdGNoKC9h
cHBsZXdlYmtpdFwvKFxkKykvKTsKaWYgKHdlYmtpdF9tYXRjaCkgewoJdmFyIGlz
X3NhZmFyaSA9IGNsaWVudFBDLmluZGV4T2YoJ2FwcGxld2Via2l0JykgIT0gLTEg
JiYKCQljbGllbnRQQy5pbmRleE9mKCdzcG9vZmVyJykgPT0gLTE7Cgl2YXIgaXNf
c2FmYXJpX3dpbiA9IGlzX3NhZmFyaSAmJiBjbGllbnRQQy5pbmRleE9mKCd3aW5k
b3dzJykgIT0gLTE7Cgl2YXIgd2Via2l0X3ZlcnNpb24gPSBwYXJzZUludCh3ZWJr
aXRfbWF0Y2hbMV0pOwp9CnZhciBpc19raHRtbCA9IG5hdmlnYXRvci52ZW5kb3Ig
PT0gJ0tERScgfHwKCSggZG9jdW1lbnQuY2hpbGROb2RlcyAmJiAhZG9jdW1lbnQu
YWxsICYmICFuYXZpZ2F0b3IudGFpbnRFbmFibGVkICk7Ci8vIEZvciBhY2Nlc3Nr
ZXlzOyBub3RlIHRoYXQgRkYzKyBpcyBpbmNsdWRlZCBoZXJlIQp2YXIgaXNfZmYy
ID0gL2ZpcmVmb3hcL1syLTldfG1pbmVmaWVsZFwvMy8udGVzdCggY2xpZW50UEMg
KTsKdmFyIGlzX2ZmMl8gPSAvZmlyZWZveFwvMi8udGVzdCggY2xpZW50UEMgKTsK
Ly8gVGhlc2UgYXJlbid0IHVzZWQgaGVyZSwgYnV0IHNvbWUgY3VzdG9tIHNjcmlw
dHMgcmVseSBvbiB0aGVtCnZhciBpc19mZjJfd2luID0gaXNfZmYyICYmIGNsaWVu
dFBDLmluZGV4T2YoJ3dpbmRvd3MnKSAhPSAtMTsKdmFyIGlzX2ZmMl94MTEgPSBp
c19mZjIgJiYgY2xpZW50UEMuaW5kZXhPZigneDExJykgIT0gLTE7CmlmIChjbGll
bnRQQy5pbmRleE9mKCdvcGVyYScpICE9IC0xKSB7Cgl2YXIgaXNfb3BlcmEgPSB0
cnVlOwoJdmFyIGlzX29wZXJhX3ByZXNldmVuID0gd2luZG93Lm9wZXJhICYmICFk
b2N1bWVudC5jaGlsZE5vZGVzOwoJdmFyIGlzX29wZXJhX3NldmVuID0gd2luZG93
Lm9wZXJhICYmIGRvY3VtZW50LmNoaWxkTm9kZXM7Cgl2YXIgaXNfb3BlcmFfOTUg
PSAvb3BlcmFcLyg5Lls1LTldfFsxLTldWzAtOV0pLy50ZXN0KCBjbGllbnRQQyAp
Owp9CgovLyBHbG9iYWwgZXh0ZXJuYWwgb2JqZWN0cyB1c2VkIGJ5IHRoaXMgc2Ny
aXB0LgovKmV4dGVybiB0YSwgc3R5bGVwYXRoLCBza2luICovCgovLyBhZGQgYW55
IG9ubG9hZCBmdW5jdGlvbnMgaW4gdGhpcyBob29rIChwbGVhc2UgZG9uJ3QgaGFy
ZC1jb2RlIGFueSBldmVudHMgaW4gdGhlIHhodG1sIHNvdXJjZSkKdmFyIGRvbmVP
bmxvYWRIb29rOwoKaWYgKCF3aW5kb3cub25sb2FkRnVuY3RzKSB7Cgl2YXIgb25s
b2FkRnVuY3RzID0gW107Cn0KCmZ1bmN0aW9uIGFkZE9ubG9hZEhvb2soaG9va0Z1
bmN0KSB7CgkvLyBBbGxvd3MgYWRkLW9uIHNjcmlwdHMgdG8gYWRkIG9ubG9hZCBm
dW5jdGlvbnMKCWlmKCFkb25lT25sb2FkSG9vaykgewoJCW9ubG9hZEZ1bmN0c1tv
bmxvYWRGdW5jdHMubGVuZ3RoXSA9IGhvb2tGdW5jdDsKCX0gZWxzZSB7CgkJaG9v
a0Z1bmN0KCk7ICAvLyBidWcgaW4gTVNJRSBzY3JpcHQgbG9hZGluZwoJfQp9Cgpm
dW5jdGlvbiBob29rRXZlbnQoaG9va05hbWUsIGhvb2tGdW5jdCkgewoJYWRkSGFu
ZGxlcih3aW5kb3csIGhvb2tOYW1lLCBob29rRnVuY3QpOwp9CgpmdW5jdGlvbiBp
bXBvcnRTY3JpcHQocGFnZSkgewoJLy8gVE9ETzogbWlnaHQgd2FudCB0byBpbnRy
b2R1Y2UgYSB1dGlsaXR5IGZ1bmN0aW9uIHRvIG1hdGNoIHdmVXJsZW5jb2RlKCkg
aW4gUEhQCgl2YXIgdXJpID0gd2dTY3JpcHQgKyAnP3RpdGxlPScgKwoJCWVuY29k
ZVVSSUNvbXBvbmVudChwYWdlLnJlcGxhY2UoLyAvZywnXycpKS5yZXBsYWNlKC8l
MkYvaWcsJy8nKS5yZXBsYWNlKC8lM0EvaWcsJzonKSArCgkJJyZhY3Rpb249cmF3
JmN0eXBlPXRleHQvamF2YXNjcmlwdCc7CglyZXR1cm4gaW1wb3J0U2NyaXB0VVJJ
KHVyaSk7Cn0KIAp2YXIgbG9hZGVkU2NyaXB0cyA9IHt9OyAvLyBpbmNsdWRlZC1z
Y3JpcHRzIHRyYWNrZXIKZnVuY3Rpb24gaW1wb3J0U2NyaXB0VVJJKHVybCkgewoJ
aWYgKGxvYWRlZFNjcmlwdHNbdXJsXSkgewoJCXJldHVybiBudWxsOwoJfQoJbG9h
ZGVkU2NyaXB0c1t1cmxdID0gdHJ1ZTsKCXZhciBzID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc2NyaXB0Jyk7CglzLnNldEF0dHJpYnV0ZSgnc3JjJyx1cmwpOwoJ
cy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCd0ZXh0L2phdmFzY3JpcHQnKTsKCWRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQo
cyk7CglyZXR1cm4gczsKfQogCmZ1bmN0aW9uIGltcG9ydFN0eWxlc2hlZXQocGFn
ZSkgewoJcmV0dXJuIGltcG9ydFN0eWxlc2hlZXRVUkkod2dTY3JpcHQgKyAnP2Fj
dGlvbj1yYXcmY3R5cGU9dGV4dC9jc3MmdGl0bGU9JyArIGVuY29kZVVSSUNvbXBv
bmVudChwYWdlLnJlcGxhY2UoLyAvZywnXycpKSk7Cn0KIApmdW5jdGlvbiBpbXBv
cnRTdHlsZXNoZWV0VVJJKHVybCkgewoJcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVN0
eWxlU2hlZXQgPyBkb2N1bWVudC5jcmVhdGVTdHlsZVNoZWV0KHVybCkgOiBhcHBl
bmRDU1MoJ0BpbXBvcnQgIicgKyB1cmwgKyAnIjsnKTsKfQogCmZ1bmN0aW9uIGFw
cGVuZENTUyh0ZXh0KSB7Cgl2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3N0eWxlJyk7CglzLnR5cGUgPSAndGV4dC9jc3MnOwoJcy5yZWwgPSAnc3R5bGVz
aGVldCc7CglpZiAocy5zdHlsZVNoZWV0KSBzLnN0eWxlU2hlZXQuY3NzVGV4dCA9
IHRleHQgLy9JRQoJZWxzZSBzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKHRleHQgKyAnJykpIC8vU2FmYXJpIHNvbWV0aW1lcyBib3JrcyBvbiBu
dWxsCglkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFw
cGVuZENoaWxkKHMpOwoJcmV0dXJuIHM7Cn0KCi8vIHNwZWNpYWwgc3R5bGVzaGVl
dCBsaW5rcwppZiAodHlwZW9mIHN0eWxlcGF0aCAhPSAndW5kZWZpbmVkJyAmJiB0
eXBlb2Ygc2tpbiAhPSAndW5kZWZpbmVkJykgewoJaWYgKGlzX29wZXJhX3ByZXNl
dmVuKSB7CgkJaW1wb3J0U3R5bGVzaGVldFVSSShzdHlsZXBhdGgrJy8nK3NraW4r
Jy9PcGVyYTZGaXhlcy5jc3MnKTsKCX0gZWxzZSBpZiAoaXNfb3BlcmFfc2V2ZW4g
JiYgIWlzX29wZXJhXzk1KSB7CgkJaW1wb3J0U3R5bGVzaGVldFVSSShzdHlsZXBh
dGgrJy8nK3NraW4rJy9PcGVyYTdGaXhlcy5jc3MnKTsKCX0gZWxzZSBpZiAoaXNf
b3BlcmFfOTUpIHsKCQlpbXBvcnRTdHlsZXNoZWV0VVJJKHN0eWxlcGF0aCsnLycr
c2tpbisnL09wZXJhOUZpeGVzLmNzcycpOwoJfSBlbHNlIGlmIChpc19raHRtbCkg
ewoJCWltcG9ydFN0eWxlc2hlZXRVUkkoc3R5bGVwYXRoKycvJytza2luKycvS0hU
TUxGaXhlcy5jc3MnKTsKCX0gZWxzZSBpZiAoaXNfZmYyXykgewoJCWltcG9ydFN0
eWxlc2hlZXRVUkkoc3R5bGVwYXRoKycvJytza2luKycvRkYyRml4ZXMuY3NzJyk7
Cgl9Cn0KCmlmICh3Z0JyZWFrRnJhbWVzKSB7CgkvLyBVbi10cmFwIHVzIGZyb20g
ZnJhbWVzZXRzCglpZiAod2luZG93LnRvcCAhPSB3aW5kb3cpIHsKCQl3aW5kb3cu
dG9wLmxvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uOwoJfQp9CgpmdW5jdGlvbiBz
aG93VG9jVG9nZ2xlKCkgewoJaWYgKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKSB7
CgkJLy8gVXNlcyBET00gY2FsbHMgdG8gYXZvaWQgZG9jdW1lbnQud3JpdGUgKyBY
SFRNTCBpc3N1ZXMKCgkJdmFyIGxpbmtIb2xkZXIgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndG9jdGl0bGUnKTsKCQlpZiAoIWxpbmtIb2xkZXIpIHsKCQkJcmV0
dXJuOwoJCX0KCgkJdmFyIG91dGVyU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3NwYW4nKTsKCQlvdXRlclNwYW4uY2xhc3NOYW1lID0gJ3RvY3RvZ2dsZSc7
CgoJCXZhciB0b2dnbGVMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScp
OwoJCXRvZ2dsZUxpbmsuaWQgPSAndG9nZ2xlbGluayc7CgkJdG9nZ2xlTGluay5j
bGFzc05hbWUgPSAnaW50ZXJuYWwnOwoJCXRvZ2dsZUxpbmsuaHJlZiA9ICdqYXZh
c2NyaXB0OnRvZ2dsZVRvYygpJzsKCQl0b2dnbGVMaW5rLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKHRvY0hpZGVUZXh0KSk7CgoJCW91dGVyU3Bh
bi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnWycpKTsKCQlv
dXRlclNwYW4uYXBwZW5kQ2hpbGQodG9nZ2xlTGluayk7CgkJb3V0ZXJTcGFuLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCddJykpOwoKCQlsaW5r
SG9sZGVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcgJykp
OwoJCWxpbmtIb2xkZXIuYXBwZW5kQ2hpbGQob3V0ZXJTcGFuKTsKCgkJdmFyIGNv
b2tpZVBvcyA9IGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJoaWRldG9jPSIpOwoJ
CWlmIChjb29raWVQb3MgPiAtMSAmJiBkb2N1bWVudC5jb29raWUuY2hhckF0KGNv
b2tpZVBvcyArIDgpID09IDEpIHsKCQkJdG9nZ2xlVG9jKCk7CgkJfQoJfQp9Cgpm
dW5jdGlvbiBjaGFuZ2VUZXh0KGVsLCBuZXdUZXh0KSB7CgkvLyBTYWZhcmkgd29y
ayBhcm91bmQKCWlmIChlbC5pbm5lclRleHQpIHsKCQllbC5pbm5lclRleHQgPSBu
ZXdUZXh0OwoJfSBlbHNlIGlmIChlbC5maXJzdENoaWxkICYmIGVsLmZpcnN0Q2hp
bGQubm9kZVZhbHVlKSB7CgkJZWwuZmlyc3RDaGlsZC5ub2RlVmFsdWUgPSBuZXdU
ZXh0OwoJfQp9CgpmdW5jdGlvbiB0b2dnbGVUb2MoKSB7Cgl2YXIgdG9jID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvYycpLmdldEVsZW1lbnRzQnlUYWdOYW1l
KCd1bCcpWzBdOwoJdmFyIHRvZ2dsZUxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndG9nZ2xlbGluaycpOwoKCWlmICh0b2MgJiYgdG9nZ2xlTGluayAmJiB0
b2Muc3R5bGUuZGlzcGxheSA9PSAnbm9uZScpIHsKCQljaGFuZ2VUZXh0KHRvZ2ds
ZUxpbmssIHRvY0hpZGVUZXh0KTsKCQl0b2Muc3R5bGUuZGlzcGxheSA9ICdibG9j
ayc7CgkJZG9jdW1lbnQuY29va2llID0gImhpZGV0b2M9MCI7Cgl9IGVsc2UgewoJ
CWNoYW5nZVRleHQodG9nZ2xlTGluaywgdG9jU2hvd1RleHQpOwoJCXRvYy5zdHls
ZS5kaXNwbGF5ID0gJ25vbmUnOwoJCWRvY3VtZW50LmNvb2tpZSA9ICJoaWRldG9j
PTEiOwoJfQp9Cgp2YXIgbXdFZGl0QnV0dG9ucyA9IFtdOwp2YXIgbXdDdXN0b21F
ZGl0QnV0dG9ucyA9IFtdOyAvLyBlZyB0byBhZGQgaW4gTWVkaWFXaWtpOkNvbW1v
bi5qcwoKZnVuY3Rpb24gZXNjYXBlUXVvdGVzKHRleHQpIHsKCXZhciByZSA9IG5l
dyBSZWdFeHAoIiciLCJnIik7Cgl0ZXh0ID0gdGV4dC5yZXBsYWNlKHJlLCJcXCci
KTsKCXJlID0gbmV3IFJlZ0V4cCgiXFxuIiwiZyIpOwoJdGV4dCA9IHRleHQucmVw
bGFjZShyZSwiXFxuIik7CglyZXR1cm4gZXNjYXBlUXVvdGVzSFRNTCh0ZXh0KTsK
fQoKZnVuY3Rpb24gZXNjYXBlUXVvdGVzSFRNTCh0ZXh0KSB7Cgl2YXIgcmUgPSBu
ZXcgUmVnRXhwKCcmJywiZyIpOwoJdGV4dCA9IHRleHQucmVwbGFjZShyZSwiJmFt
cDsiKTsKCXJlID0gbmV3IFJlZ0V4cCgnIicsImciKTsKCXRleHQgPSB0ZXh0LnJl
cGxhY2UocmUsIiZxdW90OyIpOwoJcmUgPSBuZXcgUmVnRXhwKCc8JywiZyIpOwoJ
dGV4dCA9IHRleHQucmVwbGFjZShyZSwiJmx0OyIpOwoJcmUgPSBuZXcgUmVnRXhw
KCc+JywiZyIpOwoJdGV4dCA9IHRleHQucmVwbGFjZShyZSwiJmd0OyIpOwoJcmV0
dXJuIHRleHQ7Cn0KCgovKioKICogU2V0IHRoZSBhY2Nlc3NrZXkgcHJlZml4IGJh
c2VkIG9uIGJyb3dzZXIgZGV0ZWN0aW9uLgogKi8KdmFyIHRvb2x0aXBBY2Nlc3NL
ZXlQcmVmaXggPSAnYWx0LSc7CmlmIChpc19vcGVyYSkgewoJdG9vbHRpcEFjY2Vz
c0tleVByZWZpeCA9ICdzaGlmdC1lc2MtJzsKfSBlbHNlIGlmICghaXNfc2FmYXJp
X3dpbiAmJiBpc19zYWZhcmkgJiYgd2Via2l0X3ZlcnNpb24gPiA1MjYpIHsKCXRv
b2x0aXBBY2Nlc3NLZXlQcmVmaXggPSAnY3RybC1hbHQtJzsKfSBlbHNlIGlmICgh
aXNfc2FmYXJpX3dpbiAmJiAoaXNfc2FmYXJpCgkJfHwgY2xpZW50UEMuaW5kZXhP
ZignbWFjJykgIT0gLTEKCQl8fCBjbGllbnRQQy5pbmRleE9mKCdrb25xdWVyb3In
KSAhPSAtMSApKSB7Cgl0b29sdGlwQWNjZXNzS2V5UHJlZml4ID0gJ2N0cmwtJzsK
fSBlbHNlIGlmIChpc19mZjIpIHsKCXRvb2x0aXBBY2Nlc3NLZXlQcmVmaXggPSAn
YWx0LXNoaWZ0LSc7Cn0KdmFyIHRvb2x0aXBBY2Nlc3NLZXlSZWdleHAgPSAvXFso
Y3RybC0pPyhhbHQtKT8oc2hpZnQtKT8oZXNjLSk/KC4pXF0kLzsKCi8qKgogKiBB
ZGQgdGhlIGFwcHJvcHJpYXRlIHByZWZpeCB0byB0aGUgYWNjZXNza2V5IHNob3du
IGluIHRoZSB0b29sdGlwLgogKiBJZiB0aGUgbm9kZUxpc3QgcGFyYW1ldGVyIGlz
IGdpdmVuLCBvbmx5IHRob3NlIG5vZGVzIGFyZSB1cGRhdGVkOwogKiBvdGhlcndp
c2UsIGFsbCB0aGUgbm9kZXMgdGhhdCB3aWxsIHByb2JhYmx5IGhhdmUgYWNjZXNz
a2V5cyBieQogKiBkZWZhdWx0IGFyZSB1cGRhdGVkLgogKgogKiBAcGFyYW0gQXJy
YXkgbm9kZUxpc3QgLS0gbGlzdCBvZiBlbGVtZW50cyB0byB1cGRhdGUKICovCmZ1
bmN0aW9uIHVwZGF0ZVRvb2x0aXBBY2Nlc3NLZXlzKCBub2RlTGlzdCApIHsKCWlm
ICggIW5vZGVMaXN0ICkgewoJCS8vIFJhdGhlciB0aGFuIHNjYW4gYWxsIGxpbmtz
IG9uIHRoZSB3aG9sZSBwYWdlLCB3ZSBjYW4ganVzdCBzY2FuIHRoZXNlCgkJLy8g
Y29udGFpbmVycyB3aGljaCBjb250YWluIHRoZSByZWxldmFudCBsaW5rcy4gVGhp
cyBpcyByZWFsbHkganVzdCBhbgoJCS8vIG9wdGltaXphdGlvbiB0ZWNobmlxdWUu
CgkJdmFyIGxpbmtDb250YWluZXJzID0gWwoJCQkiY29sdW1uLW9uZSIsIC8vIE1v
bm9ib29rIGFuZCBNb2Rlcm4KCQkJImhlYWQiLCAicGFuZWwiLCAicC1sb2dvIiAv
LyBWZWN0b3IKCQldOwoJCWZvciAoIHZhciBpIGluIGxpbmtDb250YWluZXJzICkg
ewoJCQl2YXIgbGlua0NvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCBsaW5rQ29udGFpbmVyc1tpXSApOwoJCQlpZiAoIGxpbmtDb250YWluZXIgKSB7
CgkJCQl1cGRhdGVUb29sdGlwQWNjZXNzS2V5cyggbGlua0NvbnRhaW5lci5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiYSIpICk7CgkJCX0KCQl9CgkJLy8gdGhlc2UgYXJl
IHJhcmUgZW5vdWdoIHRoYXQgbm8gc3VjaCBvcHRpbWl6YXRpb24gaXMgbmVlZGVk
CgkJdXBkYXRlVG9vbHRpcEFjY2Vzc0tleXMoIGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCJpbnB1dCIpICk7CgkJdXBkYXRlVG9vbHRpcEFjY2Vzc0tleXMo
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsYWJlbCIpICk7CgkJcmV0
dXJuOwoJfQoKCWZvciAoIHZhciBpID0gMDsgaSA8IG5vZGVMaXN0Lmxlbmd0aDsg
aSsrICkgewoJCXZhciBlbGVtZW50ID0gbm9kZUxpc3RbaV07CgkJdmFyIHRpcCA9
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpOwoJCWlmICggdGlwICYmIHRv
b2x0aXBBY2Nlc3NLZXlSZWdleHAuZXhlYyh0aXApICkgewoJCQl0aXAgPSB0aXAu
cmVwbGFjZSh0b29sdGlwQWNjZXNzS2V5UmVnZXhwLAoJCQkJCSAgIlsiK3Rvb2x0
aXBBY2Nlc3NLZXlQcmVmaXgrIiQ1XSIpOwoJCQllbGVtZW50LnNldEF0dHJpYnV0
ZSgidGl0bGUiLCB0aXAgKTsKCQl9Cgl9Cn0KCi8qKgogKiBBZGQgYSBsaW5rIHRv
IG9uZSBvZiB0aGUgcG9ydGxldCBtZW51cyBvbiB0aGUgcGFnZSwgaW5jbHVkaW5n
OgogKgogKiBwLWNhY3Rpb25zOiBDb250ZW50IGFjdGlvbnMgKHNob3duIGFzIHRh
YnMgYWJvdmUgdGhlIG1haW4gY29udGVudCBpbiBNb25vYm9vaykKICogcC1wZXJz
b25hbDogUGVyc29uYWwgdG9vbHMgKHNob3duIGF0IHRoZSB0b3AgcmlnaHQgb2Yg
dGhlIHBhZ2UgaW4gTW9ub2Jvb2spCiAqIHAtbmF2aWdhdGlvbjogTmF2aWdhdGlv
bgogKiBwLXRiOiBUb29sYm94CiAqCiAqIFRoaXMgZnVuY3Rpb24gZXhpc3RzIGZv
ciB0aGUgY29udmVuaWVuY2Ugb2YgY3VzdG9tIEpTIGF1dGhvcnMuICBBbGwKICog
YnV0IHRoZSBmaXJzdCB0aHJlZSBwYXJhbWV0ZXJzIGFyZSBvcHRpb25hbCwgdGhv
dWdoIHByb3ZpZGluZyBhdAogKiBsZWFzdCBhbiBpZCBhbmQgYSB0b29sdGlwIGlz
IHJlY29tbWVuZGVkLgogKgogKiBCeSBkZWZhdWx0IHRoZSBuZXcgbGluayB3aWxs
IGJlIGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuICBUbwogKiBhZGQgdGhl
IGxpbmsgYmVmb3JlIGEgZ2l2ZW4gZXhpc3RpbmcgaXRlbSwgcGFzcyB0aGUgRE9N
IG5vZGUgb2YKICogdGhhdCBpdGVtIChlYXNpbHkgb2J0YWluZWQgd2l0aCBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgpKSBhcyB0aGUKICogbmV4dG5vZGUgcGFyYW1l
dGVyOyB0byBhZGQgdGhlIGxpbmsgX2FmdGVyXyBhbiBleGlzdGluZyBpdGVtLCBw
YXNzCiAqIHRoZSBub2RlJ3MgbmV4dFNpYmxpbmcgaW5zdGVhZC4KICoKICogQHBh
cmFtIFN0cmluZyBwb3J0bGV0IC0tIGlkIG9mIHRoZSB0YXJnZXQgcG9ydGxldCAo
InAtY2FjdGlvbnMiLCAicC1wZXJzb25hbCIsICJwLW5hdmlnYXRpb24iIG9yICJw
LXRiIikKICogQHBhcmFtIFN0cmluZyBocmVmIC0tIGxpbmsgVVJMCiAqIEBwYXJh
bSBTdHJpbmcgdGV4dCAtLSBsaW5rIHRleHQgKHdpbGwgYmUgYXV0b21hdGljYWxs
eSBsb3dlcmNhc2VkIGJ5IENTUyBmb3IgcC1jYWN0aW9ucyBpbiBNb25vYm9vaykK
ICogQHBhcmFtIFN0cmluZyBpZCAtLSBpZCBvZiB0aGUgbmV3IGl0ZW0sIHNob3Vs
ZCBiZSB1bmlxdWUgYW5kIHByZWZlcmFibHkgaGF2ZSB0aGUgYXBwcm9wcmlhdGUg
cHJlZml4ICgiY2EtIiwgInB0LSIsICJuLSIgb3IgInQtIikKICogQHBhcmFtIFN0
cmluZyB0b29sdGlwIC0tIHRleHQgdG8gc2hvdyB3aGVuIGhvdmVyaW5nIG92ZXIg
dGhlIGxpbmssIHdpdGhvdXQgYWNjZXNza2V5IHN1ZmZpeAogKiBAcGFyYW0gU3Ry
aW5nIGFjY2Vzc2tleSAtLSBhY2Nlc3NrZXkgdG8gYWN0aXZhdGUgdGhpcyBsaW5r
IChvbmUgY2hhcmFjdGVyLCB0cnkgdG8gYXZvaWQgY29uZmxpY3RzKQogKiBAcGFy
YW0gTm9kZSBuZXh0bm9kZSAtLSB0aGUgRE9NIG5vZGUgYmVmb3JlIHdoaWNoIHRo
ZSBuZXcgaXRlbSBzaG91bGQgYmUgYWRkZWQsIHNob3VsZCBiZSBhbm90aGVyIGl0
ZW0gaW4gdGhlIHNhbWUgbGlzdAogKgogKiBAcmV0dXJuIE5vZGUgLS0gdGhlIERP
TSBub2RlIG9mIHRoZSBuZXcgaXRlbSAoYW4gTEkgZWxlbWVudCkgb3IgbnVsbAog
Ki8KZnVuY3Rpb24gYWRkUG9ydGxldExpbmsocG9ydGxldCwgaHJlZiwgdGV4dCwg
aWQsIHRvb2x0aXAsIGFjY2Vzc2tleSwgbmV4dG5vZGUpIHsKCXZhciBub2RlID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocG9ydGxldCk7CglpZiAoICFub2RlICkg
cmV0dXJuIG51bGw7Cglub2RlID0gbm9kZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgg
InVsIiApWzBdOwoJaWYgKCAhbm9kZSApIHJldHVybiBudWxsOwoKCXZhciBsaW5r
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImEiICk7CglsaW5rLmFwcGVuZENo
aWxkKCBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSggdGV4dCApICk7CglsaW5rLmhy
ZWYgPSBocmVmOwoKCXZhciBpdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgg
ImxpIiApOwoJaXRlbS5hcHBlbmRDaGlsZCggbGluayApOwoJaWYgKCBpZCApIGl0
ZW0uaWQgPSBpZDsKCglpZiAoIGFjY2Vzc2tleSApIHsKCQlsaW5rLnNldEF0dHJp
YnV0ZSggImFjY2Vzc2tleSIsIGFjY2Vzc2tleSApOwoJCXRvb2x0aXAgKz0gIiBb
IithY2Nlc3NrZXkrIl0iOwoJfQoJaWYgKCB0b29sdGlwICkgewoJCWxpbmsuc2V0
QXR0cmlidXRlKCAidGl0bGUiLCB0b29sdGlwICk7Cgl9CglpZiAoIGFjY2Vzc2tl
eSAmJiB0b29sdGlwICkgewoJCXVwZGF0ZVRvb2x0aXBBY2Nlc3NLZXlzKCBuZXcg
QXJyYXkoIGxpbmsgKSApOwoJfQoKCWlmICggbmV4dG5vZGUgJiYgbmV4dG5vZGUu
cGFyZW50Tm9kZSA9PSBub2RlICkKCQlub2RlLmluc2VydEJlZm9yZSggaXRlbSwg
bmV4dG5vZGUgKTsKCWVsc2UKCQlub2RlLmFwcGVuZENoaWxkKCBpdGVtICk7ICAv
LyBJRSBjb21wYXRpYmlsaXR5ICg/KQoKCXJldHVybiBpdGVtOwp9CgpmdW5jdGlv
biBnZXRJbm5lclRleHQoZWwpIHsKCWlmICh0eXBlb2YgZWwgPT0gInN0cmluZyIp
IHJldHVybiBlbDsKCWlmICh0eXBlb2YgZWwgPT0gInVuZGVmaW5lZCIpIHsgcmV0
dXJuIGVsIH07CglpZiAoZWwudGV4dENvbnRlbnQpIHJldHVybiBlbC50ZXh0Q29u
dGVudDsgLy8gbm90IG5lZWRlZCBidXQgaXQgaXMgZmFzdGVyCglpZiAoZWwuaW5u
ZXJUZXh0KSByZXR1cm4gZWwuaW5uZXJUZXh0OyAgICAgLy8gSUUgZG9lc24ndCBo
YXZlIHRleHRDb250ZW50Cgl2YXIgc3RyID0gIiI7CgoJdmFyIGNzID0gZWwuY2hp
bGROb2RlczsKCXZhciBsID0gY3MubGVuZ3RoOwoJZm9yICh2YXIgaSA9IDA7IGkg
PCBsOyBpKyspIHsKCQlzd2l0Y2ggKGNzW2ldLm5vZGVUeXBlKSB7CgkJCWNhc2Ug
MTogLy9FTEVNRU5UX05PREUKCQkJCXN0ciArPSB0c19nZXRJbm5lclRleHQoY3Nb
aV0pOwoJCQkJYnJlYWs7CgkJCWNhc2UgMzoJLy9URVhUX05PREUKCQkJCXN0ciAr
PSBjc1tpXS5ub2RlVmFsdWU7CgkJCQlicmVhazsKCQl9Cgl9CglyZXR1cm4gc3Ry
Owp9CgoKLyoqCiAqIFNldCB1cCBhY2Nlc3NrZXlzL3Rvb2x0aXBzIGZyb20gdGhl
IGRlcHJlY2F0ZWQgdGEgYXJyYXkuICBJZiBkb0lkCiAqIGlzIHNwZWNpZmllZCwg
b25seSBzZXQgdXAgZm9yIHRoYXQgaWQuICBOb3RlIHRoYXQgdGhpcyBmdW5jdGlv
biBpcwogKiBkZXByZWNhdGVkIGFuZCB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQgaW5k
ZWZpbml0ZWx5IC0tIHVzZQogKiB1cGRhdGVUb29sdGlwQWNjZXNzS2V5KCkgaW5z
dGVhZC4KICoKICogQHBhcmFtIG1peGVkIGRvSWQgc3RyaW5nIG9yIG51bGwKICov
CmZ1bmN0aW9uIGFrZXl0dCggZG9JZCApIHsKCS8vIEEgbG90IG9mIHVzZXIgc2Ny
aXB0cyAoYW5kIHNvbWUgb2YgdGhlIGNvZGUgYmVsb3cpIGJyZWFrIGlmCgkvLyB0
YSBpc24ndCBkZWZpbmVkLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMuICBFeHBsaWN0
bHkgdXNpbmcKCS8vIHdpbmRvdy50YSBhdm9pZHMgYSAidGEgaXMgbm90IGRlZmlu
ZWQiIGVycm9yLgoJaWYgKCF3aW5kb3cudGEpIHdpbmRvdy50YSA9IG5ldyBBcnJh
eTsKCgkvLyBNYWtlIGEgbG9jYWwsIHBvc3NpYmx5IHJlc3RyaWN0ZWQsIGNvcHkg
dG8gYXZvaWQgY2xvYmJlcmluZwoJLy8gdGhlIG9yaWdpbmFsLgoJdmFyIHRhOwoJ
aWYgKCBkb0lkICkgewoJCXRhID0gW2RvSWRdOwoJfSBlbHNlIHsKCQl0YSA9IHdp
bmRvdy50YTsKCX0KCgkvLyBOb3cgZGVhbCB3aXRoIGV2aWwgZGVwcmVjYXRlZCB0
YQoJdmFyIHdhdGNoQ2hlY2tib3hFeGlzdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCggJ3dwV2F0Y2h0aGlzJyApID8gdHJ1ZSA6IGZhbHNlOwoJZm9yICh2YXIg
aWQgaW4gdGEpIHsKCQl2YXIgbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlk
KTsKCQlpZiAobikgewoJCQl2YXIgYSA9IG51bGw7CgkJCXZhciBhayA9ICcnOwoJ
CQkvLyBBcmUgd2UgcHV0dGluZyBhY2Nlc3NrZXkgaW4gaXQKCQkJaWYgKHRhW2lk
XVswXS5sZW5ndGggPiAwKSB7CgkJCQkvLyBJcyB0aGlzIG9iamVjdCBhIG9iamVj
dD8gSWYgbm90IGFzc3VtZSBpdCdzIHRoZSBuZXh0IGNoaWxkLgoKCQkJCWlmIChu
Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT0gImEiKSB7CgkJCQkJYSA9IG47CgkJ
CQl9IGVsc2UgewoJCQkJCWEgPSBuLmNoaWxkTm9kZXNbMF07CgkJCQl9CgkJCSAJ
Ly8gRG9uJ3QgYWRkIGFuIGFjY2Vzc2tleSBmb3IgdGhlIHdhdGNoIHRhYiBpZiB0
aGUgd2F0Y2gKCQkJIAkvLyBjaGVja2JveCBpcyBhbHNvIGF2YWlsYWJsZS4KCQkJ
CWlmIChhICYmICgoaWQgIT0gJ2NhLXdhdGNoJyAmJiBpZCAhPSAnY2EtdW53YXRj
aCcpIHx8ICF3YXRjaENoZWNrYm94RXhpc3RzKSkgewoJCQkJCWEuYWNjZXNzS2V5
ID0gdGFbaWRdWzBdOwoJCQkJCWFrID0gJyBbJyt0b29sdGlwQWNjZXNzS2V5UHJl
Zml4K3RhW2lkXVswXSsnXSc7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQkvLyBXZSBk
b24ndCBjYXJlIHdoYXQgdHlwZSB0aGUgb2JqZWN0IGlzIHdoZW4gYXNzaWduaW5n
IHRvb2x0aXAKCQkJCWEgPSBuOwoJCQkJYWsgPSAnJzsKCQkJfQoKCQkJaWYgKGEp
IHsKCQkJCWEudGl0bGUgPSB0YVtpZF1bMV0rYWs7CgkJCX0KCQl9Cgl9Cn0KCnZh
ciBjaGVja2JveGVzOwp2YXIgbGFzdENoZWNrYm94OwoKZnVuY3Rpb24gc2V0dXBD
aGVja2JveFNoaWZ0Q2xpY2soKSB7CgljaGVja2JveGVzID0gW107CglsYXN0Q2hl
Y2tib3ggPSBudWxsOwoJdmFyIGlucHV0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCdpbnB1dCcpOwoJYWRkQ2hlY2tib3hDbGlja0hhbmRsZXJzKGlu
cHV0cyk7Cn0KCmZ1bmN0aW9uIGFkZENoZWNrYm94Q2xpY2tIYW5kbGVycyhpbnB1
dHMsIHN0YXJ0KSB7CglpZiAoICFzdGFydCkgc3RhcnQgPSAwOwoKCXZhciBmaW5p
c2ggPSBzdGFydCArIDI1MDsKCWlmICggZmluaXNoID4gaW5wdXRzLmxlbmd0aCAp
CgkJZmluaXNoID0gaW5wdXRzLmxlbmd0aDsKCglmb3IgKCB2YXIgaSA9IHN0YXJ0
OyBpIDwgZmluaXNoOyBpKysgKSB7CgkJdmFyIGNiID0gaW5wdXRzW2ldOwoJCWlm
ICggIWNiLnR5cGUgfHwgY2IudHlwZS50b0xvd2VyQ2FzZSgpICE9ICdjaGVja2Jv
eCcgKQoJCQljb250aW51ZTsKCQl2YXIgZW5kID0gY2hlY2tib3hlcy5sZW5ndGg7
CgkJY2hlY2tib3hlc1tlbmRdID0gY2I7CgkJY2IuaW5kZXggPSBlbmQ7CgkJY2Iu
b25jbGljayA9IGNoZWNrYm94Q2xpY2tIYW5kbGVyOwoJfQoKCWlmICggZmluaXNo
IDwgaW5wdXRzLmxlbmd0aCApIHsKCQlzZXRUaW1lb3V0KCBmdW5jdGlvbiAoKSB7
CgkJCWFkZENoZWNrYm94Q2xpY2tIYW5kbGVycyhpbnB1dHMsIGZpbmlzaCk7CgkJ
fSwgMjAwICk7Cgl9Cn0KCmZ1bmN0aW9uIGNoZWNrYm94Q2xpY2tIYW5kbGVyKGUp
IHsKCWlmICh0eXBlb2YgZSA9PSAndW5kZWZpbmVkJykgewoJCWUgPSB3aW5kb3cu
ZXZlbnQ7Cgl9CglpZiAoICFlLnNoaWZ0S2V5IHx8IGxhc3RDaGVja2JveCA9PT0g
bnVsbCApIHsKCQlsYXN0Q2hlY2tib3ggPSB0aGlzLmluZGV4OwoJCXJldHVybiB0
cnVlOwoJfQoJdmFyIGVuZFN0YXRlID0gdGhpcy5jaGVja2VkOwoJdmFyIHN0YXJ0
LCBmaW5pc2g7CglpZiAoIHRoaXMuaW5kZXggPCBsYXN0Q2hlY2tib3ggKSB7CgkJ
c3RhcnQgPSB0aGlzLmluZGV4ICsgMTsKCQlmaW5pc2ggPSBsYXN0Q2hlY2tib3g7
Cgl9IGVsc2UgewoJCXN0YXJ0ID0gbGFzdENoZWNrYm94OwoJCWZpbmlzaCA9IHRo
aXMuaW5kZXggLSAxOwoJfQoJZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDw9IGZpbmlz
aDsgKytpICkgewoJCWNoZWNrYm94ZXNbaV0uY2hlY2tlZCA9IGVuZFN0YXRlOwoJ
CWlmKCBpID4gc3RhcnQgJiYgdHlwZW9mIGNoZWNrYm94ZXNbaV0ub25jaGFuZ2Ug
PT0gJ2Z1bmN0aW9uJyApCgkJCWNoZWNrYm94ZXNbaV0ub25jaGFuZ2UoKTsgLy8g
ZmlyZSB0cmlnZ2VycwoJfQoJbGFzdENoZWNrYm94ID0gdGhpcy5pbmRleDsKCXJl
dHVybiB0cnVlOwp9CgpmdW5jdGlvbiB0b2dnbGVfZWxlbWVudF9hY3RpdmF0aW9u
KGlkYSxpZGIpIHsKCWlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQpIHsKCQly
ZXR1cm47Cgl9Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZGEpLmRpc2FibGVk
PXRydWU7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZGIpLmRpc2FibGVkPWZh
bHNlOwp9CgpmdW5jdGlvbiB0b2dnbGVfZWxlbWVudF9jaGVjayhpZGEsaWRiKSB7
CglpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKSB7CgkJcmV0dXJuOwoJfQoJ
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWRhKS5jaGVja2VkPXRydWU7Cglkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChpZGIpLmNoZWNrZWQ9ZmFsc2U7Cn0KCi8qCglX
cml0dGVuIGJ5IEpvbmF0aGFuIFNub29rLCBodHRwOi8vd3d3LnNub29rLmNhL2pv
bmF0aGFuCglBZGQtb25zIGJ5IFJvYmVydCBOeW1hbiwgaHR0cDovL3d3dy5yb2Jl
cnRueW1hbi5jb20KCUF1dGhvciBzYXlzICJUaGUgY3JlZGl0IGNvbW1lbnQgaXMg
YWxsIGl0IHRha2VzLCBubyBsaWNlbnNlLiBHbyBjcmF6eSB3aXRoIGl0ITotKSIK
CUZyb20gaHR0cDovL3d3dy5yb2JlcnRueW1hbi5jb20vMjAwNS8xMS8wNy90aGUt
dWx0aW1hdGUtZ2V0ZWxlbWVudHNieWNsYXNzbmFtZS8KKi8KZnVuY3Rpb24gZ2V0
RWxlbWVudHNCeUNsYXNzTmFtZShvRWxtLCBzdHJUYWdOYW1lLCBvQ2xhc3NOYW1l
cyl7Cgl2YXIgYXJyUmV0dXJuRWxlbWVudHMgPSBuZXcgQXJyYXkoKTsKCWlmICgg
dHlwZW9mKCBvRWxtLmdldEVsZW1lbnRzQnlDbGFzc05hbWUgKSA9PSAiZnVuY3Rp
b24iICkgewoJCS8qIFVzZSBhIG5hdGl2ZSBpbXBsZW1lbnRhdGlvbiB3aGVyZSBw
b3NzaWJsZSBGRjMsIFNhZjMuMiwgT3BlcmEgOS41ICovCgkJdmFyIGFyck5hdGl2
ZVJldHVybiA9IG9FbG0uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSggb0NsYXNzTmFt
ZXMgKTsKCQlpZiAoIHN0clRhZ05hbWUgPT0gIioiICkKCQkJcmV0dXJuIGFyck5h
dGl2ZVJldHVybjsKCQlmb3IgKCB2YXIgaD0wOyBoIDwgYXJyTmF0aXZlUmV0dXJu
Lmxlbmd0aDsgaCsrICkgewoJCQlpZiggYXJyTmF0aXZlUmV0dXJuW2hdLnRhZ05h
bWUudG9Mb3dlckNhc2UoKSA9PSBzdHJUYWdOYW1lLnRvTG93ZXJDYXNlKCkgKQoJ
CQkJYXJyUmV0dXJuRWxlbWVudHNbYXJyUmV0dXJuRWxlbWVudHMubGVuZ3RoXSA9
IGFyck5hdGl2ZVJldHVybltoXTsKCQl9CgkJcmV0dXJuIGFyclJldHVybkVsZW1l
bnRzOwoJfQoJdmFyIGFyckVsZW1lbnRzID0gKHN0clRhZ05hbWUgPT0gIioiICYm
IG9FbG0uYWxsKT8gb0VsbS5hbGwgOiBvRWxtLmdldEVsZW1lbnRzQnlUYWdOYW1l
KHN0clRhZ05hbWUpOwoJdmFyIGFyclJlZ0V4cENsYXNzTmFtZXMgPSBuZXcgQXJy
YXkoKTsKCWlmKHR5cGVvZiBvQ2xhc3NOYW1lcyA9PSAib2JqZWN0Iil7CgkJZm9y
KHZhciBpPTA7IGk8b0NsYXNzTmFtZXMubGVuZ3RoOyBpKyspewoJCQlhcnJSZWdF
eHBDbGFzc05hbWVzW2FyclJlZ0V4cENsYXNzTmFtZXMubGVuZ3RoXSA9CgkJCQlu
ZXcgUmVnRXhwKCIoXnxcXHMpIiArIG9DbGFzc05hbWVzW2ldLnJlcGxhY2UoL1wt
L2csICJcXC0iKSArICIoXFxzfCQpIik7CgkJfQoJfQoJZWxzZXsKCQlhcnJSZWdF
eHBDbGFzc05hbWVzW2FyclJlZ0V4cENsYXNzTmFtZXMubGVuZ3RoXSA9CgkJCW5l
dyBSZWdFeHAoIihefFxccykiICsgb0NsYXNzTmFtZXMucmVwbGFjZSgvXC0vZywg
IlxcLSIpICsgIihcXHN8JCkiKTsKCX0KCXZhciBvRWxlbWVudDsKCXZhciBiTWF0
Y2hlc0FsbDsKCWZvcih2YXIgaj0wOyBqPGFyckVsZW1lbnRzLmxlbmd0aDsgaisr
KXsKCQlvRWxlbWVudCA9IGFyckVsZW1lbnRzW2pdOwoJCWJNYXRjaGVzQWxsID0g
dHJ1ZTsKCQlmb3IodmFyIGs9MDsgazxhcnJSZWdFeHBDbGFzc05hbWVzLmxlbmd0
aDsgaysrKXsKCQkJaWYoIWFyclJlZ0V4cENsYXNzTmFtZXNba10udGVzdChvRWxl
bWVudC5jbGFzc05hbWUpKXsKCQkJCWJNYXRjaGVzQWxsID0gZmFsc2U7CgkJCQli
cmVhazsKCQkJfQoJCX0KCQlpZihiTWF0Y2hlc0FsbCl7CgkJCWFyclJldHVybkVs
ZW1lbnRzW2FyclJldHVybkVsZW1lbnRzLmxlbmd0aF0gPSBvRWxlbWVudDsKCQl9
Cgl9CglyZXR1cm4gKGFyclJldHVybkVsZW1lbnRzKQp9CgpmdW5jdGlvbiByZWRp
cmVjdFRvRnJhZ21lbnQoZnJhZ21lbnQpIHsKCXZhciBtYXRjaCA9IG5hdmlnYXRv
ci51c2VyQWdlbnQubWF0Y2goL0FwcGxlV2ViS2l0XC8oXGQrKS8pOwoJaWYgKG1h
dGNoKSB7CgkJdmFyIHdlYktpdFZlcnNpb24gPSBwYXJzZUludChtYXRjaFsxXSk7
CgkJaWYgKHdlYktpdFZlcnNpb24gPCA0MjApIHsKCQkJLy8gUmVsZWFzZWQgU2Fm
YXJpIHcvIFdlYktpdCA0MTguOS4xIG1lc3NlcyB1cCBob3JyaWJseQoJCQkvLyBO
aWdodGxpZXMgb2YgNDIwKyBhcmUgb2sKCQkJcmV0dXJuOwoJCX0KCX0KCWlmIChp
c19nZWNrbykgewoJCS8vIE1vemlsbGEgbmVlZHMgdG8gd2FpdCB1bnRpbCBhZnRl
ciBsb2FkLCBvdGhlcndpc2UgdGhlIHdpbmRvdyBkb2Vzbid0IHNjcm9sbAoJCWFk
ZE9ubG9hZEhvb2soZnVuY3Rpb24gKCkgewoJCQlpZiAod2luZG93LmxvY2F0aW9u
Lmhhc2ggPT0gIiIpCgkJCQl3aW5kb3cubG9jYXRpb24uaGFzaCA9IGZyYWdtZW50
OwoJCX0pOwoJfSBlbHNlIHsKCQlpZiAod2luZG93LmxvY2F0aW9uLmhhc2ggPT0g
IiIpCgkJCXdpbmRvdy5sb2NhdGlvbi5oYXNoID0gZnJhZ21lbnQ7Cgl9Cn0KCi8q
CiAqIFRhYmxlIHNvcnRpbmcgc2NyaXB0IGJhc2VkIG9uIG9uZSAoYykgMTk5Ny0y
MDA2IFN0dWFydCBMYW5ncmlkZ2UgYW5kIEpvb3N0CiAqIGRlIFZhbGs6CiAqIGh0
dHA6Ly93d3cuam9vc3RkZXZhbGsubmwvY29kZS9zb3J0YWJsZS10YWJsZS8KICog
aHR0cDovL3d3dy5rcnlvZ2VuaXgub3JnL2NvZGUvYnJvd3Nlci9zb3J0dGFibGUv
CiAqCiAqIEB0b2RvIGRvbid0IGJyZWFrIG9uIGNvbHNwYW5zL3Jvd3NwYW5zIChi
dWcgODAyOCkKICogQHRvZG8gbGFuZ3VhZ2Utc3BlY2lmaWMgZGlnaXQgZ3JvdXBp
bmcvZGVjaW1hbHMgKGJ1ZyA4MDYzKQogKiBAdG9kbyBzdXBwb3J0IGFsbCBhY2Nl
cHRlZCBkYXRlIGZvcm1hdHMgKGJ1ZyA4MjI2KQogKi8KCnZhciB0c19pbWFnZV9w
YXRoID0gc3R5bGVwYXRoKyIvY29tbW9uL2ltYWdlcy8iOwp2YXIgdHNfaW1hZ2Vf
dXAgPSAic29ydF91cC5naWYiOwp2YXIgdHNfaW1hZ2VfZG93biA9ICJzb3J0X2Rv
d24uZ2lmIjsKdmFyIHRzX2ltYWdlX25vbmUgPSAic29ydF9ub25lLmdpZiI7CnZh
ciB0c19ldXJvcGVhbmRhdGUgPSB3Z0NvbnRlbnRMYW5ndWFnZSAhPSAiZW4iOyAv
LyBUaGUgbm9uLUFtZXJpY2FuLWluY2xpbmVkIGNhbiBjaGFuZ2UgdG8gInRydWUi
CnZhciB0c19hbHRlcm5hdGVfcm93X2NvbG9ycyA9IGZhbHNlOwp2YXIgdHNfbnVt
YmVyX3RyYW5zZm9ybV90YWJsZSA9IG51bGw7CnZhciB0c19udW1iZXJfcmVnZXgg
PSBudWxsOwoKZnVuY3Rpb24gc29ydGFibGVzX2luaXQoKSB7Cgl2YXIgaWRudW0g
PSAwOwoJLy8gRmluZCBhbGwgdGFibGVzIHdpdGggY2xhc3Mgc29ydGFibGUgYW5k
IG1ha2UgdGhlbSBzb3J0YWJsZQoJdmFyIHRhYmxlcyA9IGdldEVsZW1lbnRzQnlD
bGFzc05hbWUoZG9jdW1lbnQsICJ0YWJsZSIsICJzb3J0YWJsZSIpOwoJZm9yICh2
YXIgdGkgPSAwOyB0aSA8IHRhYmxlcy5sZW5ndGggOyB0aSsrKSB7CgkJaWYgKCF0
YWJsZXNbdGldLmlkKSB7CgkJCXRhYmxlc1t0aV0uc2V0QXR0cmlidXRlKCdpZCcs
J3NvcnRhYmxlX3RhYmxlX2lkXycraWRudW0pOwoJCQkrK2lkbnVtOwoJCX0KCQl0
c19tYWtlU29ydGFibGUodGFibGVzW3RpXSk7Cgl9Cn0KCmZ1bmN0aW9uIHRzX21h
a2VTb3J0YWJsZSh0YWJsZSkgewoJdmFyIGZpcnN0Um93OwoJaWYgKHRhYmxlLnJv
d3MgJiYgdGFibGUucm93cy5sZW5ndGggPiAwKSB7CgkJaWYgKHRhYmxlLnRIZWFk
ICYmIHRhYmxlLnRIZWFkLnJvd3MubGVuZ3RoID4gMCkgewoJCQlmaXJzdFJvdyA9
IHRhYmxlLnRIZWFkLnJvd3NbdGFibGUudEhlYWQucm93cy5sZW5ndGgtMV07CgkJ
fSBlbHNlIHsKCQkJZmlyc3RSb3cgPSB0YWJsZS5yb3dzWzBdOwoJCX0KCX0KCWlm
ICghZmlyc3RSb3cpIHJldHVybjsKCgkvLyBXZSBoYXZlIGEgZmlyc3Qgcm93OiBh
c3N1bWUgaXQncyB0aGUgaGVhZGVyLCBhbmQgbWFrZSBpdHMgY29udGVudHMgY2xp
Y2thYmxlIGxpbmtzCglmb3IgKHZhciBpID0gMDsgaSA8IGZpcnN0Um93LmNlbGxz
Lmxlbmd0aDsgaSsrKSB7CgkJdmFyIGNlbGwgPSBmaXJzdFJvdy5jZWxsc1tpXTsK
CQlpZiAoKCIgIitjZWxsLmNsYXNzTmFtZSsiICIpLmluZGV4T2YoIiB1bnNvcnRh
YmxlICIpID09IC0xKSB7CgkJCWNlbGwuaW5uZXJIVE1MICs9ICcmbmJzcDsmbmJz
cDsnCgkJCQkrICc8YSBocmVmPSIjIiBjbGFzcz0ic29ydGhlYWRlciIgJwoJCQkJ
KyAnb25jbGljaz0idHNfcmVzb3J0VGFibGUodGhpcyk7cmV0dXJuIGZhbHNlOyI+
JwoJCQkJKyAnPHNwYW4gY2xhc3M9InNvcnRhcnJvdyI+JwoJCQkJKyAnPGltZyBz
cmM9IicKCQkJCSsgdHNfaW1hZ2VfcGF0aAoJCQkJKyB0c19pbWFnZV9ub25lCgkJ
CQkrICciIGFsdD0iJmRhcnI7Ii8+PC9zcGFuPjwvYT4nOwoJCX0KCX0KCWlmICh0
c19hbHRlcm5hdGVfcm93X2NvbG9ycykgewoJCXRzX2FsdGVybmF0ZSh0YWJsZSk7
Cgl9Cn0KCmZ1bmN0aW9uIHRzX2dldElubmVyVGV4dChlbCkgewoJcmV0dXJuIGdl
dElubmVyVGV4dCggZWwgKTsKfQoKZnVuY3Rpb24gdHNfcmVzb3J0VGFibGUobG5r
KSB7CgkvLyBnZXQgdGhlIHNwYW4KCXZhciBzcGFuID0gbG5rLmdldEVsZW1lbnRz
QnlUYWdOYW1lKCdzcGFuJylbMF07CgoJdmFyIHRkID0gbG5rLnBhcmVudE5vZGU7
Cgl2YXIgdHIgPSB0ZC5wYXJlbnROb2RlOwoJdmFyIGNvbHVtbiA9IHRkLmNlbGxJ
bmRleDsKCgl2YXIgdGFibGUgPSB0ci5wYXJlbnROb2RlOwoJd2hpbGUgKHRhYmxl
ICYmICEodGFibGUudGFnTmFtZSAmJiB0YWJsZS50YWdOYW1lLnRvTG93ZXJDYXNl
KCkgPT0gJ3RhYmxlJykpCgkJdGFibGUgPSB0YWJsZS5wYXJlbnROb2RlOwoJaWYg
KCF0YWJsZSkgcmV0dXJuOwoKCWlmICh0YWJsZS5yb3dzLmxlbmd0aCA8PSAxKSBy
ZXR1cm47CgoJLy8gR2VuZXJhdGUgdGhlIG51bWJlciB0cmFuc2Zvcm0gdGFibGUg
aWYgaXQncyBub3QgZG9uZSBhbHJlYWR5CglpZiAodHNfbnVtYmVyX3RyYW5zZm9y
bV90YWJsZSA9PSBudWxsKSB7CgkJdHNfaW5pdFRyYW5zZm9ybVRhYmxlKCk7Cgl9
CgoJLy8gV29yayBvdXQgYSB0eXBlIGZvciB0aGUgY29sdW1uCgkvLyBTa2lwIHRo
ZSBmaXJzdCByb3cgaWYgdGhhdCdzIHdoZXJlIHRoZSBoZWFkaW5ncyBhcmUKCXZh
ciByb3dTdGFydCA9ICh0YWJsZS50SGVhZCAmJiB0YWJsZS50SGVhZC5yb3dzLmxl
bmd0aCA+IDAgPyAwIDogMSk7CgoJdmFyIGl0bSA9ICIiOwoJZm9yICh2YXIgaSA9
IHJvd1N0YXJ0OyBpIDwgdGFibGUucm93cy5sZW5ndGg7IGkrKykgewoJCWlmICh0
YWJsZS5yb3dzW2ldLmNlbGxzLmxlbmd0aCA+IGNvbHVtbikgewoJCQlpdG0gPSB0
c19nZXRJbm5lclRleHQodGFibGUucm93c1tpXS5jZWxsc1tjb2x1bW5dKTsKCQkJ
aXRtID0gaXRtLnJlcGxhY2UoL15bXHNceGEwXSsvLCAiIikucmVwbGFjZSgvW1xz
XHhhMF0rJC8sICIiKTsKCQkJaWYgKGl0bSAhPSAiIikgYnJlYWs7CgkJfQoJfQoK
CS8vIFRPRE86IGJ1ZyA4MjI2LCBsb2NhbGlzZWQgZGF0ZSBmb3JtYXRzCgl2YXIg
c29ydGZuID0gdHNfc29ydF9nZW5lcmljOwoJdmFyIHByZXByb2Nlc3NvciA9IHRz
X3RvTG93ZXJDYXNlOwoJaWYgKC9eXGRcZFtcLy4gLV1bYS16QS1aXXszfVtcLy4g
LV1cZFxkXGRcZCQvLnRlc3QoaXRtKSkgewoJCXByZXByb2Nlc3NvciA9IHRzX2Rh
dGVUb1NvcnRLZXk7Cgl9IGVsc2UgaWYgKC9eXGRcZFtcLy4tXVxkXGRbXC8uLV1c
ZFxkXGRcZCQvLnRlc3QoaXRtKSkgewoJCXByZXByb2Nlc3NvciA9IHRzX2RhdGVU
b1NvcnRLZXk7Cgl9IGVsc2UgaWYgKC9eXGRcZFtcLy4tXVxkXGRbXC8uLV1cZFxk
JC8udGVzdChpdG0pKSB7CgkJcHJlcHJvY2Vzc29yID0gdHNfZGF0ZVRvU29ydEtl
eTsKCS8vIHBvdW5kIGRvbGxhciBldXJvIHllbiBjdXJyZW5jeSBjZW50cwoJfSBl
bHNlIGlmICgvKF5bXHUwMGEzJFx1MjBhY1x1MDBhNFx1MDBhNV18XHUwMGEyJCkv
LnRlc3QoaXRtKSkgewoJCXByZXByb2Nlc3NvciA9IHRzX2N1cnJlbmN5VG9Tb3J0
S2V5OwoJfSBlbHNlIGlmICh0c19udW1iZXJfcmVnZXgudGVzdChpdG0pKSB7CgkJ
cHJlcHJvY2Vzc29yID0gdHNfcGFyc2VGbG9hdDsKCX0KCgl2YXIgcmV2ZXJzZSA9
IChzcGFuLmdldEF0dHJpYnV0ZSgic29ydGRpciIpID09ICdkb3duJyk7CgoJdmFy
IG5ld1Jvd3MgPSBuZXcgQXJyYXkoKTsKCXZhciBzdGF0aWNSb3dzID0gbmV3IEFy
cmF5KCk7Cglmb3IgKHZhciBqID0gcm93U3RhcnQ7IGogPCB0YWJsZS5yb3dzLmxl
bmd0aDsgaisrKSB7CgkJdmFyIHJvdyA9IHRhYmxlLnJvd3Nbal07CgkJaWYoKCIg
Iityb3cuY2xhc3NOYW1lKyIgIikuaW5kZXhPZigiIHVuc29ydGFibGUgIikgPCAw
KSB7CgkJCXZhciBrZXlUZXh0ID0gdHNfZ2V0SW5uZXJUZXh0KHJvdy5jZWxsc1tj
b2x1bW5dKTsKCQkJdmFyIG9sZEluZGV4ID0gKHJldmVyc2UgPyAtaiA6IGopOwoJ
CQl2YXIgcHJlcHJvY2Vzc2VkID0gcHJlcHJvY2Vzc29yKCBrZXlUZXh0ICk7CgoJ
CQluZXdSb3dzW25ld1Jvd3MubGVuZ3RoXSA9IG5ldyBBcnJheShyb3csIHByZXBy
b2Nlc3NlZCwgb2xkSW5kZXgpOwoJCX0gZWxzZSBzdGF0aWNSb3dzW3N0YXRpY1Jv
d3MubGVuZ3RoXSA9IG5ldyBBcnJheShyb3csIGZhbHNlLCBqLXJvd1N0YXJ0KTsK
CX0KCgluZXdSb3dzLnNvcnQoc29ydGZuKTsKCgl2YXIgYXJyb3dIVE1MOwoJaWYg
KHJldmVyc2UpIHsKCQlhcnJvd0hUTUwgPSAnPGltZyBzcmM9IicrIHRzX2ltYWdl
X3BhdGggKyB0c19pbWFnZV9kb3duICsgJyIgYWx0PSImZGFycjsiLz4nOwoJCW5l
d1Jvd3MucmV2ZXJzZSgpOwoJCXNwYW4uc2V0QXR0cmlidXRlKCdzb3J0ZGlyJywn
dXAnKTsKCX0gZWxzZSB7CgkJYXJyb3dIVE1MID0gJzxpbWcgc3JjPSInKyB0c19p
bWFnZV9wYXRoICsgdHNfaW1hZ2VfdXAgKyAnIiBhbHQ9IiZ1YXJyOyIvPic7CgkJ
c3Bhbi5zZXRBdHRyaWJ1dGUoJ3NvcnRkaXInLCdkb3duJyk7Cgl9CgoJZm9yICh2
YXIgaSA9IDA7IGkgPCBzdGF0aWNSb3dzLmxlbmd0aDsgaSsrKSB7CgkJdmFyIHJv
dyA9IHN0YXRpY1Jvd3NbaV07CgkJbmV3Um93cy5zcGxpY2Uocm93WzJdLCAwLCBy
b3cpOwoJfQoKCS8vIFdlIGFwcGVuZENoaWxkIHJvd3MgdGhhdCBhbHJlYWR5IGV4
aXN0IHRvIHRoZSB0Ym9keSwgc28gaXQgbW92ZXMgdGhlbSByYXRoZXIgdGhhbiBj
cmVhdGluZyBuZXcgb25lcwoJLy8gZG9uJ3QgZG8gc29ydGJvdHRvbSByb3dzCglm
b3IgKHZhciBpID0gMDsgaSA8IG5ld1Jvd3MubGVuZ3RoOyBpKyspIHsKCQlpZiAo
KCIgIituZXdSb3dzW2ldWzBdLmNsYXNzTmFtZSsiICIpLmluZGV4T2YoIiBzb3J0
Ym90dG9tICIpID09IC0xKQoJCQl0YWJsZS50Qm9kaWVzWzBdLmFwcGVuZENoaWxk
KG5ld1Jvd3NbaV1bMF0pOwoJfQoJLy8gZG8gc29ydGJvdHRvbSByb3dzIG9ubHkK
CWZvciAodmFyIGkgPSAwOyBpIDwgbmV3Um93cy5sZW5ndGg7IGkrKykgewoJCWlm
ICgoIiAiK25ld1Jvd3NbaV1bMF0uY2xhc3NOYW1lKyIgIikuaW5kZXhPZigiIHNv
cnRib3R0b20gIikgIT0gLTEpCgkJCXRhYmxlLnRCb2RpZXNbMF0uYXBwZW5kQ2hp
bGQobmV3Um93c1tpXVswXSk7Cgl9CgoJLy8gRGVsZXRlIGFueSBvdGhlciBhcnJv
d3MgdGhlcmUgbWF5IGJlIHNob3dpbmcKCXZhciBzcGFucyA9IGdldEVsZW1lbnRz
QnlDbGFzc05hbWUodHIsICJzcGFuIiwgInNvcnRhcnJvdyIpOwoJZm9yICh2YXIg
aSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7IGkrKykgewoJCXNwYW5zW2ldLmlubmVy
SFRNTCA9ICc8aW1nIHNyYz0iJysgdHNfaW1hZ2VfcGF0aCArIHRzX2ltYWdlX25v
bmUgKyAnIiBhbHQ9IiZkYXJyOyIvPic7Cgl9CglzcGFuLmlubmVySFRNTCA9IGFy
cm93SFRNTDsKCglpZiAodHNfYWx0ZXJuYXRlX3Jvd19jb2xvcnMpIHsKCQl0c19h
bHRlcm5hdGUodGFibGUpOwoJfQp9CgpmdW5jdGlvbiB0c19pbml0VHJhbnNmb3Jt
VGFibGUoKSB7CglpZiAoIHR5cGVvZiB3Z1NlcGFyYXRvclRyYW5zZm9ybVRhYmxl
ID09ICJ1bmRlZmluZWQiCgkJCXx8ICggd2dTZXBhcmF0b3JUcmFuc2Zvcm1UYWJs
ZVswXSA9PSAnJyAmJiB3Z0RpZ2l0VHJhbnNmb3JtVGFibGVbMl0gPT0gJycgKSAp
Cgl7CgkJZGlnaXRDbGFzcyA9ICJbMC05LC5dIjsKCQl0c19udW1iZXJfdHJhbnNm
b3JtX3RhYmxlID0gZmFsc2U7Cgl9IGVsc2UgewoJCXRzX251bWJlcl90cmFuc2Zv
cm1fdGFibGUgPSB7fTsKCQkvLyBVbnBhY2sgdGhlIHRyYW5zZm9ybSB0YWJsZQoJ
CS8vIFNlcGFyYXRvcnMKCQlhc2NpaSA9IHdnU2VwYXJhdG9yVHJhbnNmb3JtVGFi
bGVbMF0uc3BsaXQoIlx0Iik7CgkJbG9jYWxpc2VkID0gd2dTZXBhcmF0b3JUcmFu
c2Zvcm1UYWJsZVsxXS5zcGxpdCgiXHQiKTsKCQlmb3IgKCB2YXIgaSA9IDA7IGkg
PCBhc2NpaS5sZW5ndGg7IGkrKyApIHsgCgkJCXRzX251bWJlcl90cmFuc2Zvcm1f
dGFibGVbbG9jYWxpc2VkW2ldXSA9IGFzY2lpW2ldOwoJCX0KCQkvLyBEaWdpdHMK
CQlhc2NpaSA9IHdnRGlnaXRUcmFuc2Zvcm1UYWJsZVswXS5zcGxpdCgiXHQiKTsK
CQlsb2NhbGlzZWQgPSB3Z0RpZ2l0VHJhbnNmb3JtVGFibGVbMV0uc3BsaXQoIlx0
Iik7CgkJZm9yICggdmFyIGkgPSAwOyBpIDwgYXNjaWkubGVuZ3RoOyBpKysgKSB7
IAoJCQl0c19udW1iZXJfdHJhbnNmb3JtX3RhYmxlW2xvY2FsaXNlZFtpXV0gPSBh
c2NpaVtpXTsKCQl9CgoJCS8vIENvbnN0cnVjdCByZWdleCBmb3IgbnVtYmVyIGlk
ZW50aWZpY2F0aW9uCgkJZGlnaXRzID0gWycwJywgJzEnLCAnMicsICczJywgJzQn
LCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJywnLCAnXFwuJ107CgkJbWF4RGln
aXRMZW5ndGggPSAxOwoJCWZvciAoIHZhciBkaWdpdCBpbiB0c19udW1iZXJfdHJh
bnNmb3JtX3RhYmxlICkgewoJCQkvLyBFc2NhcGUgcmVnZXggbWV0YWNoYXJhY3Rl
cnMKCQkJZGlnaXRzLnB1c2goIAoJCQkJZGlnaXQucmVwbGFjZSggL1tcXFxcJFwq
XCtcP1wuXChcKVx8XHtcfVxbXF1cLV0vLAoJCQkJCWZ1bmN0aW9uKCBzICkgeyBy
ZXR1cm4gJ1xcJyArIHM7IH0gKQoJCQkpOwoJCQlpZiAoZGlnaXQubGVuZ3RoID4g
bWF4RGlnaXRMZW5ndGgpIHsKCQkJCW1heERpZ2l0TGVuZ3RoID0gZGlnaXQubGVu
Z3RoOwoJCQl9CgkJfQoJCWlmICggbWF4RGlnaXRMZW5ndGggPiAxICkgewoJCQlk
aWdpdENsYXNzID0gJ1snICsgZGlnaXRzLmpvaW4oICcnLCBkaWdpdHMgKSArICdd
JzsKCQl9IGVsc2UgewoJCQlkaWdpdENsYXNzID0gJygnICsgZGlnaXRzLmpvaW4o
ICd8JywgZGlnaXRzICkgKyAnKSc7CgkJfQoJfQoKCS8vIFdlIGFsbG93IGEgdHJh
aWxpbmcgcGVyY2VudCBzaWduLCB3aGljaCB3ZSBqdXN0IHN0cmlwLiAgVGhpcyB3
b3JrcyBmaW5lCgkvLyBpZiBwZXJjZW50cyBhbmQgcmVndWxhciBudW1iZXJzIGFy
ZW4ndCBiZWluZyBtaXhlZC4KCXRzX251bWJlcl9yZWdleCA9IG5ldyBSZWdFeHAo
CgkJIl4oIiArCgkJCSJbKy1dP1swLTldWzAtOSxdKihcXC5bMC05LF0qKT8oRVsr
LV0/WzAtOV1bMC05LF0qKT8iICsgLy8gRm9ydHJhbi1zdHlsZSBzY2llbnRpZmlj
CgkJCSJ8IiArCgkJCSJbKy1dPyIgKyBkaWdpdENsYXNzICsgIislPyIgKyAvLyBH
ZW5lcmljIGxvY2FsaXNlZAoJCSIpJCIsICJpIgoJKTsKfQoKZnVuY3Rpb24gdHNf
dG9Mb3dlckNhc2UoIHMgKSB7CglyZXR1cm4gcy50b0xvd2VyQ2FzZSgpOwp9Cgpm
dW5jdGlvbiB0c19kYXRlVG9Tb3J0S2V5KGRhdGUpIHsJCgkvLyB5Mmsgbm90ZXM6
IHR3byBkaWdpdCB5ZWFycyBsZXNzIHRoYW4gNTAgYXJlIHRyZWF0ZWQgYXMgMjBY
WCwgZ3JlYXRlciB0aGFuIDUwIGFyZSB0cmVhdGVkIGFzIDE5WFgKCWlmIChkYXRl
Lmxlbmd0aCA9PSAxMSkgewoJCXN3aXRjaCAoZGF0ZS5zdWJzdHIoMywzKS50b0xv
d2VyQ2FzZSgpKSB7CgkJCWNhc2UgImphbiI6IHZhciBtb250aCA9ICIwMSI7IGJy
ZWFrOwoJCQljYXNlICJmZWIiOiB2YXIgbW9udGggPSAiMDIiOyBicmVhazsKCQkJ
Y2FzZSAibWFyIjogdmFyIG1vbnRoID0gIjAzIjsgYnJlYWs7CgkJCWNhc2UgImFw
ciI6IHZhciBtb250aCA9ICIwNCI7IGJyZWFrOwoJCQljYXNlICJtYXkiOiB2YXIg
bW9udGggPSAiMDUiOyBicmVhazsKCQkJY2FzZSAianVuIjogdmFyIG1vbnRoID0g
IjA2IjsgYnJlYWs7CgkJCWNhc2UgImp1bCI6IHZhciBtb250aCA9ICIwNyI7IGJy
ZWFrOwoJCQljYXNlICJhdWciOiB2YXIgbW9udGggPSAiMDgiOyBicmVhazsKCQkJ
Y2FzZSAic2VwIjogdmFyIG1vbnRoID0gIjA5IjsgYnJlYWs7CgkJCWNhc2UgIm9j
dCI6IHZhciBtb250aCA9ICIxMCI7IGJyZWFrOwoJCQljYXNlICJub3YiOiB2YXIg
bW9udGggPSAiMTEiOyBicmVhazsKCQkJY2FzZSAiZGVjIjogdmFyIG1vbnRoID0g
IjEyIjsgYnJlYWs7CgkJCS8vIGRlZmF1bHQ6IHZhciBtb250aCA9ICIwMCI7CgkJ
fQoJCXJldHVybiBkYXRlLnN1YnN0cig3LDQpK21vbnRoK2RhdGUuc3Vic3RyKDAs
Mik7Cgl9IGVsc2UgaWYgKGRhdGUubGVuZ3RoID09IDEwKSB7CgkJaWYgKHRzX2V1
cm9wZWFuZGF0ZSA9PSBmYWxzZSkgewoJCQlyZXR1cm4gZGF0ZS5zdWJzdHIoNiw0
KStkYXRlLnN1YnN0cigwLDIpK2RhdGUuc3Vic3RyKDMsMik7CgkJfSBlbHNlIHsK
CQkJcmV0dXJuIGRhdGUuc3Vic3RyKDYsNCkrZGF0ZS5zdWJzdHIoMywyKStkYXRl
LnN1YnN0cigwLDIpOwoJCX0KCX0gZWxzZSBpZiAoZGF0ZS5sZW5ndGggPT0gOCkg
ewoJCXlyID0gZGF0ZS5zdWJzdHIoNiwyKTsKCQlpZiAocGFyc2VJbnQoeXIpIDwg
NTApIHsgCgkJCXlyID0gJzIwJyt5cjsgCgkJfSBlbHNlIHsgCgkJCXlyID0gJzE5
Jyt5cjsgCgkJfQoJCWlmICh0c19ldXJvcGVhbmRhdGUgPT0gdHJ1ZSkgewoJCQly
ZXR1cm4geXIrZGF0ZS5zdWJzdHIoMywyKStkYXRlLnN1YnN0cigwLDIpOwoJCX0g
ZWxzZSB7CgkJCXJldHVybiB5citkYXRlLnN1YnN0cigwLDIpK2RhdGUuc3Vic3Ry
KDMsMik7CgkJfQoJfQoJcmV0dXJuICIwMDAwMDAwMCI7Cn0KCmZ1bmN0aW9uIHRz
X3BhcnNlRmxvYXQoIHMgKSB7CglpZiAoICFzICkgewoJCXJldHVybiAwOwoJfQoJ
aWYgKHRzX251bWJlcl90cmFuc2Zvcm1fdGFibGUgIT0gZmFsc2UpIHsKCQl2YXIg
bmV3TnVtID0gJycsIGM7CgkJCgkJZm9yICggdmFyIHAgPSAwOyBwIDwgcy5sZW5n
dGg7IHArKyApIHsKCQkJYyA9IHMuY2hhckF0KCBwICk7CgkJCWlmIChjIGluIHRz
X251bWJlcl90cmFuc2Zvcm1fdGFibGUpIHsKCQkJCW5ld051bSArPSB0c19udW1i
ZXJfdHJhbnNmb3JtX3RhYmxlW2NdOwoJCQl9IGVsc2UgewoJCQkJbmV3TnVtICs9
IGM7CgkJCX0KCQl9CgkJcyA9IG5ld051bTsKCX0KCgludW0gPSBwYXJzZUZsb2F0
KHMucmVwbGFjZSgvLC9nLCAiIikpOwoJcmV0dXJuIChpc05hTihudW0pID8gMCA6
IG51bSk7Cn0KCmZ1bmN0aW9uIHRzX2N1cnJlbmN5VG9Tb3J0S2V5KCBzICkgewoJ
cmV0dXJuIHRzX3BhcnNlRmxvYXQocy5yZXBsYWNlKC9bXjAtOS4sXS9nLCcnKSk7
Cn0KCmZ1bmN0aW9uIHRzX3NvcnRfZ2VuZXJpYyhhLCBiKSB7CglyZXR1cm4gYVsx
XSA8IGJbMV0gPyAtMSA6IGFbMV0gPiBiWzFdID8gMSA6IGFbMl0gLSBiWzJdOwp9
CgpmdW5jdGlvbiB0c19hbHRlcm5hdGUodGFibGUpIHsKCS8vIFRha2Ugb2JqZWN0
IHRhYmxlIGFuZCBnZXQgYWxsIGl0J3MgdGJvZGllcy4KCXZhciB0YWJsZUJvZGll
cyA9IHRhYmxlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpOwoJLy8gTG9v
cCB0aHJvdWdoIHRoZXNlIHRib2RpZXMKCWZvciAodmFyIGkgPSAwOyBpIDwgdGFi
bGVCb2RpZXMubGVuZ3RoOyBpKyspIHsKCQkvLyBUYWtlIHRoZSB0Ym9keSwgYW5k
IGdldCBhbGwgaXQncyByb3dzCgkJdmFyIHRhYmxlUm93cyA9IHRhYmxlQm9kaWVz
W2ldLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ciIpOwoJCS8vIExvb3AgdGhyb3Vn
aCB0aGVzZSByb3dzCgkJLy8gU3RhcnQgYXQgMSBiZWNhdXNlIHdlIHdhbnQgdG8g
bGVhdmUgdGhlIGhlYWRpbmcgcm93IHVudG91Y2hlZAoJCWZvciAodmFyIGogPSAw
OyBqIDwgdGFibGVSb3dzLmxlbmd0aDsgaisrKSB7CgkJCS8vIENoZWNrIGlmIGog
aXMgZXZlbiwgYW5kIGFwcGx5IGNsYXNzZXMgZm9yIGJvdGggcG9zc2libGUgcmVz
dWx0cwoJCQl2YXIgb2xkQ2xhc3NlcyA9IHRhYmxlUm93c1tqXS5jbGFzc05hbWUu
c3BsaXQoIiAiKTsKCQkJdmFyIG5ld0NsYXNzTmFtZSA9ICIiOwoJCQlmb3IgKHZh
ciBrID0gMDsgayA8IG9sZENsYXNzZXMubGVuZ3RoOyBrKyspIHsKCQkJCWlmIChv
bGRDbGFzc2VzW2tdICE9ICIiICYmIG9sZENsYXNzZXNba10gIT0gImV2ZW4iICYm
IG9sZENsYXNzZXNba10gIT0gIm9kZCIpCgkJCQkJbmV3Q2xhc3NOYW1lICs9IG9s
ZENsYXNzZXNba10gKyAiICI7CgkJCX0KCQkJdGFibGVSb3dzW2pdLmNsYXNzTmFt
ZSA9IG5ld0NsYXNzTmFtZSArIChqICUgMiA9PSAwID8gImV2ZW4iIDogIm9kZCIp
OwoJCX0KCX0KfQoKLyoKICogRW5kIG9mIHRhYmxlIHNvcnRpbmcgY29kZQogKi8K
IAogCi8qKgogKiBBZGQgYSBjdXRlIGxpdHRsZSBib3ggYXQgdGhlIHRvcCBvZiB0
aGUgc2NyZWVuIHRvIGluZm9ybSB0aGUgdXNlciBvZgogKiBzb21ldGhpbmcsIHJl
cGxhY2luZyBhbnkgcHJlZXhpc3RpbmcgbWVzc2FnZS4KICoKICogQHBhcmFtIFN0
cmluZyAtb3ItIERvbSBPYmplY3QgbWVzc2FnZSBIVE1MIHRvIGJlIHB1dCBpbnNp
ZGUgdGhlIHJpZ2h0IGRpdgogKiBAcGFyYW0gU3RyaW5nIGNsYXNzTmFtZSAgIFVz
ZWQgaW4gYWRkaW5nIGEgY2xhc3M7IHNob3VsZCBiZSBkaWZmZXJlbnQgZm9yIGVh
Y2gKICogICBjYWxsIHRvIGFsbG93IENTUy9KUyB0byBoaWRlIGRpZmZlcmVudCBi
b3hlcy4gIG51bGwgPSBubyBjbGFzcyB1c2VkLgogKiBAcmV0dXJuIEJvb2xlYW4g
ICAgICAgVHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvbiBmYWlsdXJlCiAqLwpmdW5j
dGlvbiBqc01zZyggbWVzc2FnZSwgY2xhc3NOYW1lICkgewoJaWYgKCAhZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQgKSB7CgkJcmV0dXJuIGZhbHNlOwoJfQoJLy8gV2Ug
c3BlY2lhbC1jYXNlIHNraW4gc3RydWN0dXJlcyBwcm92aWRlZCBieSB0aGUgc29m
dHdhcmUuICBTa2lucyB0aGF0CgkvLyBjaG9vc2UgdG8gYWJhbmRvbiBvciBzaWdu
aWZpY2FudGx5IG1vZGlmeSBvdXIgZm9ybWF0dGluZyBjYW4ganVzdCBkZWZpbmUK
CS8vIGFuIG13LWpzLW1lc3NhZ2UgZGl2IHRvIHN0YXJ0IHdpdGguCgl2YXIgbWVz
c2FnZURpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAnbXctanMtbWVzc2Fn
ZScgKTsKCWlmICggIW1lc3NhZ2VEaXYgKSB7CgkJbWVzc2FnZURpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoICdkaXYnICk7CgkJaWYgKCBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCggJ2NvbHVtbi1jb250ZW50JyApCgkJJiYgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoICdjb250ZW50JyApICkgewoJCQkvLyBNb25vQm9vaywgcHJl
c3VtYWJseQoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggJ2NvbnRlbnQnICku
aW5zZXJ0QmVmb3JlKAoJCQkJbWVzc2FnZURpdiwKCQkJCWRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCAnY29udGVudCcgKS5maXJzdENoaWxkCgkJCSk7CgkJfSBlbHNl
IGlmICggZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKQoJCSYmIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCAnYXJ0aWNsZScgKSApIHsKCQkJLy8gTm9u
LU1vbm9ib29rIGJ1dCBzdGlsbCByZWNvZ25pemFibGUgKG9sZC1zdHlsZSkKCQkJ
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoICdhcnRpY2xlJykuaW5zZXJ0QmVmb3Jl
KAoJCQkJbWVzc2FnZURpdiwKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAn
YXJ0aWNsZScgKS5maXJzdENoaWxkCgkJCSk7CgkJfSBlbHNlIHsKCQkJcmV0dXJu
IGZhbHNlOwoJCX0KCX0KCgltZXNzYWdlRGl2LnNldEF0dHJpYnV0ZSggJ2lkJywg
J213LWpzLW1lc3NhZ2UnICk7CgltZXNzYWdlRGl2LnN0eWxlLmRpc3BsYXkgPSAn
YmxvY2snOwoJaWYoIGNsYXNzTmFtZSApIHsKCQltZXNzYWdlRGl2LnNldEF0dHJp
YnV0ZSggJ2NsYXNzJywgJ213LWpzLW1lc3NhZ2UtJytjbGFzc05hbWUgKTsKCX0K
CQoJaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnb2JqZWN0JykgewoJCXdoaWxlICht
ZXNzYWdlRGl2Lmhhc0NoaWxkTm9kZXMoKSkgLy8gUmVtb3ZlIG9sZCBjb250ZW50
CgkJCW1lc3NhZ2VEaXYucmVtb3ZlQ2hpbGQobWVzc2FnZURpdi5maXJzdENoaWxk
KTsKCQltZXNzYWdlRGl2LmFwcGVuZENoaWxkIChtZXNzYWdlKTsgLy8gQXBwZW5k
IG5ldyBjb250ZW50Cgl9CgllbHNlIHsKCQltZXNzYWdlRGl2LmlubmVySFRNTCA9
IG1lc3NhZ2U7Cgl9CglyZXR1cm4gdHJ1ZTsKfQoKLyoqCiAqIEluamVjdCBhIGN1
dGUgbGl0dGxlIHByb2dyZXNzIHNwaW5uZXIgYWZ0ZXIgdGhlIHNwZWNpZmllZCBl
bGVtZW50CiAqCiAqIEBwYXJhbSBlbGVtZW50IEVsZW1lbnQgdG8gaW5qZWN0IGFm
dGVyCiAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIHN0cmluZyAoZm9yIHVzZSB3aXRo
IHJlbW92ZVNwaW5uZXIoKSwgYmVsb3cpCiAqLwpmdW5jdGlvbiBpbmplY3RTcGlu
bmVyKCBlbGVtZW50LCBpZCApIHsKCXZhciBzcGlubmVyID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCggImltZyIgKTsKCXNwaW5uZXIuaWQgPSAibXctc3Bpbm5lci0i
ICsgaWQ7CglzcGlubmVyLnNyYyA9IHN0eWxlcGF0aCArICIvY29tbW9uL2ltYWdl
cy9zcGlubmVyLmdpZiI7CglzcGlubmVyLmFsdCA9IHNwaW5uZXIudGl0bGUgPSAi
Li4uIjsKCWlmKCBlbGVtZW50Lm5leHRTaWJsaW5nICkgewoJCWVsZW1lbnQucGFy
ZW50Tm9kZS5pbnNlcnRCZWZvcmUoIHNwaW5uZXIsIGVsZW1lbnQubmV4dFNpYmxp
bmcgKTsKCX0gZWxzZSB7CgkJZWxlbWVudC5wYXJlbnROb2RlLmFwcGVuZENoaWxk
KCBzcGlubmVyICk7Cgl9Cn0KCi8qKgogKiBSZW1vdmUgYSBwcm9ncmVzcyBzcGlu
bmVyIGFkZGVkIHdpdGggaW5qZWN0U3Bpbm5lcigpCiAqCiAqIEBwYXJhbSBpZCBJ
ZGVudGlmaWVyIHN0cmluZwogKi8KZnVuY3Rpb24gcmVtb3ZlU3Bpbm5lciggaWQg
KSB7Cgl2YXIgc3Bpbm5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAibXct
c3Bpbm5lci0iICsgaWQgKTsKCWlmKCBzcGlubmVyICkgewoJCXNwaW5uZXIucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZCggc3Bpbm5lciApOwoJfQp9CgpmdW5jdGlvbiBy
dW5PbmxvYWRIb29rKCkgewoJLy8gZG9uJ3QgcnVuIGFueXRoaW5nIGJlbG93IHRo
aXMgZm9yIG5vbi1kb20gYnJvd3NlcnMKCWlmIChkb25lT25sb2FkSG9vayB8fCAh
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkICYmIGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKSkgewoJCXJldHVybjsKCX0KCgkvLyBzZXQgdGhpcyBiZWZvcmUg
cnVubmluZyBhbnkgaG9va3MsIHNpbmNlIGFueSBlcnJvcnMgYmVsb3cKCS8vIG1p
Z2h0IGNhdXNlIHRoZSBmdW5jdGlvbiB0byB0ZXJtaW5hdGUgcHJlbWF0dXJlbHkK
CWRvbmVPbmxvYWRIb29rID0gdHJ1ZTsKCgl1cGRhdGVUb29sdGlwQWNjZXNzS2V5
cyggbnVsbCApOwoJYWtleXR0KCBudWxsICk7CglzZXR1cENoZWNrYm94U2hpZnRD
bGljaygpOwoJc29ydGFibGVzX2luaXQoKTsKCgkvLyBSdW4gYW55IGFkZGVkLW9u
IGZ1bmN0aW9ucwoJZm9yICh2YXIgaSA9IDA7IGkgPCBvbmxvYWRGdW5jdHMubGVu
Z3RoOyBpKyspIHsKCQlvbmxvYWRGdW5jdHNbaV0oKTsKCX0KfQoKLyoqCiAqIEFk
ZCBhbiBldmVudCBoYW5kbGVyIHRvIGFuIGVsZW1lbnQKICoKICogQHBhcmFtIEVs
ZW1lbnQgZWxlbWVudCBFbGVtZW50IHRvIGFkZCBoYW5kbGVyIHRvCiAqIEBwYXJh
bSBTdHJpbmcgYXR0YWNoIEV2ZW50IHRvIGF0dGFjaCB0bwogKiBAcGFyYW0gY2Fs
bGFibGUgaGFuZGxlciBFdmVudCBoYW5kbGVyIGNhbGxiYWNrCiAqLwpmdW5jdGlv
biBhZGRIYW5kbGVyKCBlbGVtZW50LCBhdHRhY2gsIGhhbmRsZXIgKSB7CglpZigg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIgKSB7CgkJZWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCBhdHRhY2gsIGhhbmRsZXIsIGZhbHNlICk7Cgl9IGVsc2UgaWYoIHdp
bmRvdy5hdHRhY2hFdmVudCApIHsKCQllbGVtZW50LmF0dGFjaEV2ZW50KCAnb24n
ICsgYXR0YWNoLCBoYW5kbGVyICk7Cgl9Cn0KCi8qKgogKiBBZGQgYSBjbGljayBl
dmVudCBoYW5kbGVyIHRvIGFuIGVsZW1lbnQKICoKICogQHBhcmFtIEVsZW1lbnQg
ZWxlbWVudCBFbGVtZW50IHRvIGFkZCBoYW5kbGVyIHRvCiAqIEBwYXJhbSBjYWxs
YWJsZSBoYW5kbGVyIEV2ZW50IGhhbmRsZXIgY2FsbGJhY2sKICovCmZ1bmN0aW9u
IGFkZENsaWNrSGFuZGxlciggZWxlbWVudCwgaGFuZGxlciApIHsKCWFkZEhhbmRs
ZXIoIGVsZW1lbnQsICdjbGljaycsIGhhbmRsZXIgKTsKfQoKLyoqCiAqIFJlbW92
ZXMgYW4gZXZlbnQgaGFuZGxlciBmcm9tIGFuIGVsZW1lbnQKICoKICogQHBhcmFt
IEVsZW1lbnQgZWxlbWVudCBFbGVtZW50IHRvIHJlbW92ZSBoYW5kbGVyIGZyb20K
ICogQHBhcmFtIFN0cmluZyByZW1vdmUgRXZlbnQgdG8gcmVtb3ZlCiAqIEBwYXJh
bSBjYWxsYWJsZSBoYW5kbGVyIEV2ZW50IGhhbmRsZXIgY2FsbGJhY2sgdG8gcmVt
b3ZlCiAqLwpmdW5jdGlvbiByZW1vdmVIYW5kbGVyKCBlbGVtZW50LCByZW1vdmUs
IGhhbmRsZXIgKSB7CglpZiggd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIgKSB7
CgkJZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCByZW1vdmUsIGhhbmRsZXIs
IGZhbHNlICk7Cgl9IGVsc2UgaWYoIHdpbmRvdy5kZXRhY2hFdmVudCApIHsKCQll
bGVtZW50LmRldGFjaEV2ZW50KCAnb24nICsgcmVtb3ZlLCBoYW5kbGVyICk7Cgl9
Cn0KLy9ub3RlOiBhbGwgc2tpbnMgc2hvdWxkIGNhbGwgcnVuT25sb2FkSG9vaygp
IGF0IHRoZSBlbmQgb2YgaHRtbCBvdXRwdXQsCi8vICAgICAgc28gdGhlIGJlbG93
IHNob3VsZCBiZSByZWR1bmRhbnQuIEl0J3MgdGhlcmUganVzdCBpbiBjYXNlLgpo
b29rRXZlbnQoImxvYWQiLCBydW5PbmxvYWRIb29rKTsK
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=ajax.js
Content-Type: application/x-javascript; charset=utf-8; name=ajax.js
Content-Location: http://ru.wikipedia.org/skins-1.5/common/ajax.js?233zz2
Content-Transfer-Encoding: Base64
Ly8gcmVtb3RlIHNjcmlwdGluZyBsaWJyYXJ5Ci8vIChjKSBjb3B5cmlnaHQgMjAw
NSBtb2Rlcm5tZXRob2QsIGluYwp2YXIgc2FqYXhfZGVidWdfbW9kZSA9IGZhbHNl
Owp2YXIgc2FqYXhfcmVxdWVzdF90eXBlID0gIkdFVCI7CgovKioKKiBpZiBzYWph
eF9kZWJ1Z19tb2RlIGlzIHRydWUsIHRoaXMgZnVuY3Rpb24gb3V0cHV0cyBnaXZl
biB0aGUgbWVzc2FnZSBpbnRvIAoqIHRoZSBlbGVtZW50IHdpdGggaWQgPSBzYWph
eF9kZWJ1ZzsgaWYgbm8gc3VjaCBlbGVtZW50IGV4aXN0cyBpbiB0aGUgZG9jdW1l
bnQsIAoqIGl0IGlzIGluamVjdGVkLgoqLwpmdW5jdGlvbiBzYWpheF9kZWJ1Zyh0
ZXh0KSB7CglpZiAoIXNhamF4X2RlYnVnX21vZGUpIHJldHVybiBmYWxzZTsKCgl2
YXIgZT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NhamF4X2RlYnVnJyk7CgoJ
aWYgKCFlKSB7CgkJZT0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOwoJCWUu
Y2xhc3NOYW1lPSAnc2FqYXhfZGVidWcnOwoJCWUuaWQ9ICdzYWpheF9kZWJ1Zyc7
CgoJCXZhciBiPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIp
WzBdOwoKCQlpZiAoYi5maXJzdENoaWxkKSBiLmluc2VydEJlZm9yZShlLCBiLmZp
cnN0Q2hpbGQpOwoJCWVsc2UgYi5hcHBlbmRDaGlsZChlKTsKCX0KCgl2YXIgbT0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CgltLmFwcGVuZENoaWxkKCBk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSggdGV4dCApICk7CgoJZS5hcHBlbmRDaGls
ZCggbSApOwoKCXJldHVybiB0cnVlOwp9CgovKioKKiBjb21wYXRpYmlsaXR5IHdy
YXBwZXIgZm9yIGNyZWF0aW5nIGEgbmV3IFhNTEh0dHBSZXF1ZXN0IG9iamVjdC4K
Ki8KZnVuY3Rpb24gc2FqYXhfaW5pdF9vYmplY3QoKSB7CglzYWpheF9kZWJ1Zygi
c2FqYXhfaW5pdF9vYmplY3QoKSBjYWxsZWQuLiIpCgl2YXIgQTsKCXRyeSB7CgkJ
Ly8gVHJ5IHRoZSBuZXcgc3R5bGUgYmVmb3JlIEFjdGl2ZVggc28gd2UgZG9uJ3QK
CQkvLyB1bm5lY2Vzc2FyaWx5IHRyaWdnZXIgd2FybmluZ3MgaW4gSUUgNyB3aGVu
CgkJLy8gc2V0IHRvIHByb21wdCBhYm91dCBBY3RpdmVYIHVzYWdlCgkJQSA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOwoJfSBjYXRjaCAoZSkgewoJCXRyeSB7CgkJCUE9
bmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIik7CgkJfSBjYXRjaCAo
ZSkgewoJCQl0cnkgewoJCQkJQT1uZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0
LlhNTEhUVFAiKTsKCQkJfSBjYXRjaCAob2MpIHsKCQkJCUE9bnVsbDsKCQkJfQoJ
CX0KCX0KCWlmICghQSkKCQlzYWpheF9kZWJ1ZygiQ291bGQgbm90IGNyZWF0ZSBj
b25uZWN0aW9uIG9iamVjdC4iKTsKCglyZXR1cm4gQTsKfQoKLyoqCiogUGVyZm9y
bSBhbiBhamF4IGNhbGwgdG8gbWVkaWF3aWtpLiBDYWxscyBhcmUgaGFuZGVsZWQg
YnkgQWpheERpc3BhdGNoZXIucGhwCiogICBmdW5jX25hbWUgLSB0aGUgbmFtZSBv
ZiB0aGUgZnVuY3Rpb24gdG8gY2FsbC4gTXVzdCBiZSByZWdpc3RlcmVkIGluICR3
Z0FqYXhFeHBvcnRMaXN0CiogICBhcmdzIC0gYW4gYXJyYXkgb2YgYXJndW1lbnRz
IHRvIHRoYXQgZnVuY3Rpb24KKiAgIHRhcmdldCAtIHRoZSB0YXJnZXQgdGhhdCB3
aWxsIGhhbmRsZSB0aGUgcmVzdWx0IG9mIHRoZSBjYWxsLiBJZiB0aGlzIGlzIGEg
ZnVuY3Rpb24sCiogICAgICAgICAgICBpZiB3aWxsIGJlIGNhbGxlZCB3aXRoIHRo
ZSBYTUxIdHRwUmVxdWVzdCBhcyBhIHBhcmFtZXRlcjsgaWYgaXQncyBhbiBpbnB1
dAoqICAgICAgICAgICAgZWxlbWVudCwgaXRzIHZhbHVlIHdpbGwgYmUgc2V0IHRv
IHRoZSByZXN1bHRUZXh0OyBpZiBpdCdzIGFub3RoZXIgdHlwZSBvZgoqICAgICAg
ICAgICAgZWxlbWVudCwgaXRzIGlubmVySFRNTCB3aWxsIGJlIHNldCB0byB0aGUg
cmVzdWx0VGV4dC4KKgoqIEV4YW1wbGU6CiogICAgc2FqYXhfZG9fY2FsbCgnZG9G
b28nLCBbMSwgMiwgM10sIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaG93Rm9v
IikpOwoqCiogVGhpcyB3aWxsIGNhbGwgdGhlIGRvRm9vIGZ1bmN0aW9uIHZpYSBN
ZWRpYVdpa2kncyBBamF4RGlzcGF0Y2hlciwgd2l0aAoqICgxLCAyLCAzKSBhcyB0
aGUgcGFyYW1ldGVyIGxpc3QsIGFuZCB3aWxsIHNob3cgdGhlIHJlc3VsdCBpbiB0
aGUgZWxlbWVudAoqIHdpdGggaWQgPSBzaG93Rm9vCiovCmZ1bmN0aW9uIHNhamF4
X2RvX2NhbGwoZnVuY19uYW1lLCBhcmdzLCB0YXJnZXQpIHsKCXZhciBpLCB4LCBu
OwoJdmFyIHVyaTsKCXZhciBwb3N0X2RhdGE7Cgl1cmkgPSB3Z1NlcnZlciArCgkJ
KCh3Z1NjcmlwdCA9PSBudWxsKSA/ICh3Z1NjcmlwdFBhdGggKyAiL2luZGV4LnBo
cCIpIDogd2dTY3JpcHQpICsKCQkiP2FjdGlvbj1hamF4IjsKCWlmIChzYWpheF9y
ZXF1ZXN0X3R5cGUgPT0gIkdFVCIpIHsKCQlpZiAodXJpLmluZGV4T2YoIj8iKSA9
PSAtMSkKCQkJdXJpID0gdXJpICsgIj9ycz0iICsgZW5jb2RlVVJJQ29tcG9uZW50
KGZ1bmNfbmFtZSk7CgkJZWxzZQoJCQl1cmkgPSB1cmkgKyAiJnJzPSIgKyBlbmNv
ZGVVUklDb21wb25lbnQoZnVuY19uYW1lKTsKCQlmb3IgKGkgPSAwOyBpIDwgYXJn
cy5sZW5ndGg7IGkrKykKCQkJdXJpID0gdXJpICsgIiZyc2FyZ3NbXT0iICsgZW5j
b2RlVVJJQ29tcG9uZW50KGFyZ3NbaV0pOwoJCS8vdXJpID0gdXJpICsgIiZyc3Ju
ZD0iICsgbmV3IERhdGUoKS5nZXRUaW1lKCk7CgkJcG9zdF9kYXRhID0gbnVsbDsK
CX0gZWxzZSB7CgkJcG9zdF9kYXRhID0gInJzPSIgKyBlbmNvZGVVUklDb21wb25l
bnQoZnVuY19uYW1lKTsKCQlmb3IgKGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkr
KykKCQkJcG9zdF9kYXRhID0gcG9zdF9kYXRhICsgIiZyc2FyZ3NbXT0iICsgZW5j
b2RlVVJJQ29tcG9uZW50KGFyZ3NbaV0pOwoJfQoJeCA9IHNhamF4X2luaXRfb2Jq
ZWN0KCk7CglpZiAoIXgpIHsKCQlhbGVydCgiQUpBWCBub3Qgc3VwcG9ydGVkIik7
CgkJcmV0dXJuIGZhbHNlOwoJfQoKCXRyeSB7CgkJeC5vcGVuKHNhamF4X3JlcXVl
c3RfdHlwZSwgdXJpLCB0cnVlKTsKCX0gY2F0Y2ggKGUpIHsKCQlpZiAod2luZG93
LmxvY2F0aW9uLmhvc3RuYW1lID09ICJsb2NhbGhvc3QiKSB7CgkJCWFsZXJ0KCJZ
b3VyIGJyb3dzZXIgYmxvY2tzIFhNTEh0dHBSZXF1ZXN0IHRvICdsb2NhbGhvc3Qn
LCB0cnkgdXNpbmcgYSByZWFsIGhvc3RuYW1lIGZvciBkZXZlbG9wbWVudC90ZXN0
aW5nLiIpOwoJCX0KCQl0aHJvdyBlOwoJfQoJaWYgKHNhamF4X3JlcXVlc3RfdHlw
ZSA9PSAiUE9TVCIpIHsKCQl4LnNldFJlcXVlc3RIZWFkZXIoIk1ldGhvZCIsICJQ
T1NUICIgKyB1cmkgKyAiIEhUVFAvMS4xIik7CgkJeC5zZXRSZXF1ZXN0SGVhZGVy
KCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNv
ZGVkIik7Cgl9Cgl4LnNldFJlcXVlc3RIZWFkZXIoIlByYWdtYSIsICJjYWNoZT15
ZXMiKTsKCXguc2V0UmVxdWVzdEhlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJuby10
cmFuc2Zvcm0iKTsKCXgub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7
CgkJaWYgKHgucmVhZHlTdGF0ZSAhPSA0KQoJCQlyZXR1cm47CgoJCXNhamF4X2Rl
YnVnKCJyZWNlaXZlZCAoIiArIHguc3RhdHVzICsgIiAiICsgeC5zdGF0dXNUZXh0
ICsgIikgIiArIHgucmVzcG9uc2VUZXh0KTsKCgkJLy9pZiAoeC5zdGF0dXMgIT0g
MjAwKQoJCS8vCWFsZXJ0KCJFcnJvcjogIiArIHguc3RhdHVzICsgIiAiICsgeC5z
dGF0dXNUZXh0ICsgIjogIiArIHgucmVzcG9uc2VUZXh0KTsKCQkvL2Vsc2UKCgkJ
aWYgKCB0eXBlb2YoIHRhcmdldCApID09ICdmdW5jdGlvbicgKSB7CgkJCXRhcmdl
dCggeCApOwoJCX0KCQllbHNlIGlmICggdHlwZW9mKCB0YXJnZXQgKSA9PSAnb2Jq
ZWN0JyApIHsKCQkJaWYgKCB0YXJnZXQudGFnTmFtZSA9PSAnSU5QVVQnICkgewoJ
CQkJaWYgKHguc3RhdHVzID09IDIwMCkgdGFyZ2V0LnZhbHVlPSB4LnJlc3BvbnNl
VGV4dDsKCQkJCS8vZWxzZSBhbGVydCgiRXJyb3I6ICIgKyB4LnN0YXR1cyArICIg
IiArIHguc3RhdHVzVGV4dCArICIgKCIgKyB4LnJlc3BvbnNlVGV4dCArICIpIik7
CgkJCX0KCQkJZWxzZSB7CgkJCQlpZiAoeC5zdGF0dXMgPT0gMjAwKSB0YXJnZXQu
aW5uZXJIVE1MID0geC5yZXNwb25zZVRleHQ7CgkJCQllbHNlIHRhcmdldC5pbm5l
ckhUTUw9ICI8ZGl2IGNsYXNzPSdlcnJvcic+RXJyb3I6ICIgKyB4LnN0YXR1cyAr
ICIgIiArIHguc3RhdHVzVGV4dCArICIgKCIgKyB4LnJlc3BvbnNlVGV4dCArICIp
PC9kaXY+IjsKCQkJfQoJCX0KCQllbHNlIHsKCQkJYWxlcnQoImJhZCB0YXJnZXQg
Zm9yIHNhamF4X2RvX2NhbGw6IG5vdCBhIGZ1bmN0aW9uIG9yIG9iamVjdDogIiAr
IHRhcmdldCk7CgkJfQoKCQlyZXR1cm47Cgl9CgoJc2FqYXhfZGVidWcoZnVuY19u
YW1lICsgIiB1cmkgPSAiICsgdXJpICsgIiAvIHBvc3QgPSAiICsgcG9zdF9kYXRh
KTsKCXguc2VuZChwb3N0X2RhdGEpOwoJc2FqYXhfZGVidWcoZnVuY19uYW1lICsg
IiB3YWl0aW5nLi4iKTsKCWRlbGV0ZSB4OwoKCXJldHVybiB0cnVlOwp9CgovKioK
ICogQHJldHVybiBib29sZWFuIHdoZXRoZXIgdGhlIGJyb3dzZXIgc3VwcG9ydHMg
WE1MSHR0cFJlcXVlc3QKICovCmZ1bmN0aW9uIHdmU3VwcG9ydHNBamF4KCkgewoJ
dmFyIHJlcXVlc3QgPSBzYWpheF9pbml0X29iamVjdCgpOwoJdmFyIHN1cHBvcnRz
QWpheCA9IHJlcXVlc3QgPyB0cnVlIDogZmFsc2U7CglkZWxldGUgcmVxdWVzdDsK
CXJldHVybiBzdXBwb3J0c0FqYXg7Cn0KCg==
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=mwsuggest.js
Content-Type: application/x-javascript; charset=utf-8; name=mwsuggest.js
Content-Location: http://ru.wikipedia.org/skins-1.5/common/mwsuggest.js?233zz2
Content-Transfer-Encoding: Base64
LyoKICogT3BlblNlYXJjaCBhamF4IHN1Z2dlc3Rpb24gZW5naW5lIGZvciBNZWRp
YVdpa2kKICoKICogdXNlcyBjb3JlIE1lZGlhV2lraSBvcGVuIHNlYXJjaCBzdXBw
b3J0IHRvIGZldGNoIHN1Z2dlc3Rpb25zCiAqIGFuZCBzaG93IHRoZW0gYmVsb3cg
c2VhcmNoIGJveGVzIGFuZCBvdGhlciBpbnB1dHMKICoKICogYnkgUm9iZXJ0IFN0
b2puaWMgKEFwcmlsIDIwMDgpCiAqLwoKLy8gc2VhcmNoX2JveF9pZCAtPiBSZXN1
bHRzIG9iamVjdAp2YXIgb3NfbWFwID0ge307Ci8vIGNhY2hlZCBkYXRhLCB1cmwg
LT4ganNvbl90ZXh0CnZhciBvc19jYWNoZSA9IHt9OwovLyBnbG9iYWwgdmFyaWFi
bGVzIGZvciBzdWdnZXN0X2tleXByZXNzCnZhciBvc19jdXJfa2V5cHJlc3NlZCA9
IDA7CnZhciBvc19sYXN0X2tleXByZXNzID0gMDsKdmFyIG9zX2tleXByZXNzZWRf
Y291bnQgPSAwOwovLyB0eXBlOiBUaW1lcgp2YXIgb3NfdGltZXIgPSBudWxsOwov
LyB0aWUgbW91c2Vkb3duL3VwIGV2ZW50cwp2YXIgb3NfbW91c2VfcHJlc3NlZCA9
IGZhbHNlOwp2YXIgb3NfbW91c2VfbnVtID0gLTE7Ci8vIGlmIHRydWUsIHRoZSBs
YXN0IGNoYW5nZSB3YXMgbWFkZSBieSBtb3VzZSAoYW5kIG5vdCBrZXlib2FyZCkK
dmFyIG9zX21vdXNlX21vdmVkID0gZmFsc2U7Ci8vIGRlbGF5IGJldHdlZW4ga2V5
cHJlc3MgYW5kIHN1Z2dlc3Rpb24gKGluIG1zKQp2YXIgb3Nfc2VhcmNoX3RpbWVv
dXQgPSAyNTA7Ci8vIHRoZXNlIHBhaXJzIG9mIGlucHV0cy9mb3JtcyB3aWxsIGJl
IGF1dG9sb2FkZWQgYXQgc3RhcnR1cAp2YXIgb3NfYXV0b2xvYWRfaW5wdXRzID0g
bmV3IEFycmF5KCdzZWFyY2hJbnB1dCcsICdzZWFyY2hJbnB1dDInLCAncG93ZXJT
ZWFyY2hUZXh0JywgJ3NlYXJjaFRleHQnKTsKdmFyIG9zX2F1dG9sb2FkX2Zvcm1z
ID0gbmV3IEFycmF5KCdzZWFyY2hmb3JtJywgJ3NlYXJjaGZvcm0yJywgJ3Bvd2Vy
c2VhcmNoJywgJ3NlYXJjaCcgKTsKLy8gaWYgd2Ugc3RvcHBlZCB0aGUgc2Vydmlj
ZQp2YXIgb3NfaXNfc3RvcHBlZCA9IGZhbHNlOwovLyBtYXggbGluZXMgdG8gc2hv
dyBpbiBzdWdnZXN0IHRhYmxlCnZhciBvc19tYXhfbGluZXNfcGVyX3N1Z2dlc3Qg
PSA3OwovLyBudW1iZXIgb2Ygc3RlcHMgdG8gYW5pbWF0ZSBleHBhbnNpb24vY29u
dHJhY3Rpb24gb2YgY29udGFpbmVyIHdpZHRoCnZhciBvc19hbmltYXRpb25fc3Rl
cHMgPSA2OwovLyBudW0gb2YgcGl4ZWxzIG9mIHNtYWxsZXN0IHN0ZXAKdmFyIG9z
X2FuaW1hdGlvbl9taW5fc3RlcCA9IDI7Ci8vIGRlbGF5IGJldHdlZW4gc3RlcHMg
KGluIG1zKQp2YXIgb3NfYW5pbWF0aW9uX2RlbGF5ID0gMzA7Ci8vIG1heCB3aWR0
aCBvZiBjb250YWluZXIgaW4gcGVyY2VudCBvZiBub3JtYWwgc2l6ZSAoMSA9PSAx
MDAlKQp2YXIgb3NfY29udGFpbmVyX21heF93aWR0aCA9IDI7Ci8vIGN1cnJlbnRs
eSBhY3RpdmUgYW5pbWF0aW9uIHRpbWVyCnZhciBvc19hbmltYXRpb25fdGltZXIg
PSBudWxsOwoKLyoqIFRpbWVvdXQgdGltZXIgY2xhc3MgdGhhdCB3aWxsIGZldGNo
IHRoZSByZXN1bHRzICovCmZ1bmN0aW9uIG9zX1RpbWVyKGlkLHIscXVlcnkpewoJ
dGhpcy5pZCA9IGlkOwoJdGhpcy5yID0gcjsKCXRoaXMucXVlcnkgPSBxdWVyeTsK
fQoKLyoqIFRpbWVyIHVzZXIgdG8gYW5pbWF0ZSBleHBhbnNpb24vY29udHJhY3Rp
b24gb2YgY29udGFpbmVyIHdpZHRoICovCmZ1bmN0aW9uIG9zX0FuaW1hdGlvblRp
bWVyKHIsIHRhcmdldCl7Cgl0aGlzLnIgPSByOwoJdmFyIGN1cnJlbnQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChyLmNvbnRhaW5lcikub2Zmc2V0V2lkdGg7Cgl0
aGlzLmluYyA9IE1hdGgucm91bmQoKHRhcmdldC1jdXJyZW50KSAvIG9zX2FuaW1h
dGlvbl9zdGVwcyk7CglpZih0aGlzLmluYyA8IG9zX2FuaW1hdGlvbl9taW5fc3Rl
cCAmJiB0aGlzLmluYyA+PTApCgkJdGhpcy5pbmMgPSBvc19hbmltYXRpb25fbWlu
X3N0ZXA7IC8vIG1pbmltYWwgYW5pbWF0aW9uIHN0ZXAKCWlmKHRoaXMuaW5jID4g
LW9zX2FuaW1hdGlvbl9taW5fc3RlcCAmJiB0aGlzLmluYyA8MCkKCQl0aGlzLmlu
YyA9IC1vc19hbmltYXRpb25fbWluX3N0ZXA7Cgl0aGlzLnRhcmdldCA9IHRhcmdl
dDsKfQoKLyoqIFByb3BlcnR5IGNsYXNzIGZvciBzaW5nbGUgc2VhcmNoIGJveCAq
LwpmdW5jdGlvbiBvc19SZXN1bHRzKG5hbWUsIGZvcm1uYW1lKXsKCXRoaXMuc2Vh
cmNoZm9ybSA9IGZvcm1uYW1lOyAvLyBpZCBvZiB0aGUgc2VhcmNoZm9ybQoJdGhp
cy5zZWFyY2hib3ggPSBuYW1lOyAvLyBpZCBvZiB0aGUgc2VhcmNoYm94Cgl0aGlz
LmNvbnRhaW5lciA9IG5hbWUrIlN1Z2dlc3QiOyAvLyBkaXYgdGhhdCBob2xkcyBy
ZXN1bHRzCgl0aGlzLnJlc3VsdFRhYmxlID0gbmFtZSsiUmVzdWx0IjsgLy8gaWQg
YmFzZSBmb3IgdGhlIHJlc3VsdCB0YWJsZSAoK251bSA9IHRhYmxlIHJvdykKCXRo
aXMucmVzdWx0VGV4dCA9IG5hbWUrIlJlc3VsdFRleHQiOyAvLyBpZCBiYXNlIGZv
ciB0aGUgc3BhbnMgd2l0aGluIHJlc3VsdCB0YWJsZXMgKCtudW0pCgl0aGlzLnRv
Z2dsZSA9IG5hbWUrIlRvZ2dsZSI7IC8vIGRpdiB0aGF0IGhhcyB0aGUgdG9nZ2xl
IChlbmFibGUvZGlzYWJsZSkgbGluawoJdGhpcy5xdWVyeSA9IG51bGw7IC8vIGxh
c3QgcHJvY2Vzc2VkIHF1ZXJ5Cgl0aGlzLnJlc3VsdHMgPSBudWxsOyAgLy8gcGFy
c2VkIHRpdGxlcwoJdGhpcy5yZXN1bHRDb3VudCA9IDA7IC8vIG51bWJlciBvZiBy
ZXN1bHRzCgl0aGlzLm9yaWdpbmFsID0gbnVsbDsgLy8gcXVlcnkgdGhhdCB1c2Vy
IGVudGVyZWQKCXRoaXMuc2VsZWN0ZWQgPSAtMTsgLy8gd2hpY2ggcmVzdWx0IGlz
IHNlbGVjdGVkCgl0aGlzLmNvbnRhaW5lckNvdW50ID0gMDsgLy8gbnVtYmVyIG9m
IHJlc3VsdHMgdmlzaWJsZSBpbiBjb250YWluZXIKCXRoaXMuY29udGFpbmVyUm93
ID0gMDsgLy8gaGVpZ2h0IG9mIHJlc3VsdCBmaWVsZCBpbiB0aGUgY29udGFpbmVy
Cgl0aGlzLmNvbnRhaW5lclRvdGFsID0gMDsgLy8gdG90YWwgaGVpZ2h0IG9mIHRo
ZSBjb250YWluZXIgd2lsbCBhbGwgcmVzdWx0cwoJdGhpcy52aXNpYmxlID0gZmFs
c2U7IC8vIGlmIGNvbnRhaW5lciBpcyB2aXNpYmxlCgl0aGlzLnN0YXlIaWRkZW4g
PSBmYWxzZTsgLy8gZG9uJ3QgdHJ5IHRvIHNob3cgaWYgbG9zdCBmb2N1cwp9Cgov
KiogSGlkZSByZXN1bHRzIGRpdiAqLwpmdW5jdGlvbiBvc19oaWRlUmVzdWx0cyhy
KXsKCXZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoci5jb250YWluZXIp
OwoJaWYoYyAhPSBudWxsKQoJCWMuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4i
OwoJci52aXNpYmxlID0gZmFsc2U7CglyLnNlbGVjdGVkID0gLTE7Cn0KCi8qKiBT
aG93IHJlc3VsdHMgZGl2ICovCmZ1bmN0aW9uIG9zX3Nob3dSZXN1bHRzKHIpewoJ
aWYob3NfaXNfc3RvcHBlZCkKCQlyZXR1cm47CglpZihyLnN0YXlIaWRkZW4pCgkJ
cmV0dXJuCglvc19maXRDb250YWluZXIocik7Cgl2YXIgYyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKHIuY29udGFpbmVyKTsKCXIuc2VsZWN0ZWQgPSAtMTsKCWlm
KGMgIT0gbnVsbCl7CgkJYy5zY3JvbGxUb3AgPSAwOwoJCWMuc3R5bGUudmlzaWJp
bGl0eSA9ICJ2aXNpYmxlIjsKCQlyLnZpc2libGUgPSB0cnVlOwoJfQp9CgpmdW5j
dGlvbiBvc19vcGVyYVdpZHRoRml4KHgpewoJLy8gVE9ETzogYmV0dGVyIGNzczIg
aW5jb21wYXRpYmlsaXR5IGRldGVjdGlvbiBoZXJlCglpZihpc19vcGVyYSB8fCBp
c19raHRtbCB8fCBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5k
ZXhPZignZmlyZWZveC8xJykhPS0xKXsKCQlyZXR1cm4gMzA7IC8vIG9wZXJhJmtv
bnF1ZXJvciAmIG9sZCBmaXJlZm94IGRvbid0IHVuZGVyc3RhbmQgb3ZlcmZsb3ct
eCwgZXN0aW1hdGUgc2Nyb2xsYmFyIHdpZHRoCgl9CglyZXR1cm4gMDsKfQoKZnVu
Y3Rpb24gb3NfZW5jb2RlUXVlcnkodmFsdWUpewogIGlmIChlbmNvZGVVUklDb21w
b25lbnQpIHsKICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpOwog
IH0KICBpZihlc2NhcGUpIHsKICAgIHJldHVybiBlc2NhcGUodmFsdWUpOwogIH0K
ICByZXR1cm4gbnVsbDsKfQpmdW5jdGlvbiBvc19kZWNvZGVWYWx1ZSh2YWx1ZSl7
CiAgaWYgKGRlY29kZVVSSUNvbXBvbmVudCkgewogICAgcmV0dXJuIGRlY29kZVVS
SUNvbXBvbmVudCh2YWx1ZSk7CiAgfQogIGlmKHVuZXNjYXBlKXsKICAJcmV0dXJu
IHVuZXNjYXBlKHZhbHVlKTsKICB9CiAgcmV0dXJuIG51bGw7Cn0KCi8qKiBCcm93
ZXItZGVwZW5kZW50IGZ1bmN0aW9ucyB0byBmaW5kIHdpbmRvdyBpbm5lciBzaXpl
LCBhbmQgc2Nyb2xsIHN0YXR1cyAqLwpmdW5jdGlvbiBmX2NsaWVudFdpZHRoKCkg
ewoJcmV0dXJuIGZfZmlsdGVyUmVzdWx0cyAoCgkJd2luZG93LmlubmVyV2lkdGgg
PyB3aW5kb3cuaW5uZXJXaWR0aCA6IDAsCgkJZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDogMCwK
CQlkb2N1bWVudC5ib2R5ID8gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCA6IDAK
CSk7Cn0KZnVuY3Rpb24gZl9jbGllbnRIZWlnaHQoKSB7CglyZXR1cm4gZl9maWx0
ZXJSZXN1bHRzICgKCQl3aW5kb3cuaW5uZXJIZWlnaHQgPyB3aW5kb3cuaW5uZXJI
ZWlnaHQgOiAwLAoJCWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgOiAwLAoJCWRvY3VtZW50LmJv
ZHkgPyBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCA6IDAKCSk7Cn0KZnVuY3Rp
b24gZl9zY3JvbGxMZWZ0KCkgewoJcmV0dXJuIGZfZmlsdGVyUmVzdWx0cyAoCgkJ
d2luZG93LnBhZ2VYT2Zmc2V0ID8gd2luZG93LnBhZ2VYT2Zmc2V0IDogMCwKCQlk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuc2Nyb2xsTGVmdCA6IDAsCgkJZG9jdW1lbnQuYm9keSA/IGRvY3VtZW50LmJv
ZHkuc2Nyb2xsTGVmdCA6IDAKCSk7Cn0KZnVuY3Rpb24gZl9zY3JvbGxUb3AoKSB7
CglyZXR1cm4gZl9maWx0ZXJSZXN1bHRzICgKCQl3aW5kb3cucGFnZVlPZmZzZXQg
PyB3aW5kb3cucGFnZVlPZmZzZXQgOiAwLAoJCWRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgOiAwLAoJ
CWRvY3VtZW50LmJvZHkgPyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA6IDAKCSk7
Cn0KZnVuY3Rpb24gZl9maWx0ZXJSZXN1bHRzKG5fd2luLCBuX2RvY2VsLCBuX2Jv
ZHkpIHsKCXZhciBuX3Jlc3VsdCA9IG5fd2luID8gbl93aW4gOiAwOwoJaWYgKG5f
ZG9jZWwgJiYgKCFuX3Jlc3VsdCB8fCAobl9yZXN1bHQgPiBuX2RvY2VsKSkpCgkJ
bl9yZXN1bHQgPSBuX2RvY2VsOwoJcmV0dXJuIG5fYm9keSAmJiAoIW5fcmVzdWx0
IHx8IChuX3Jlc3VsdCA+IG5fYm9keSkpID8gbl9ib2R5IDogbl9yZXN1bHQ7Cn0K
Ci8qKiBHZXQgdGhlIGhlaWdodCBhdmFpbGFibGUgZm9yIHRoZSByZXN1bHRzIGNv
bnRhaW5lciAqLwpmdW5jdGlvbiBvc19hdmFpbGFibGVIZWlnaHQocil7Cgl2YXIg
YWJzVG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoci5jb250YWluZXIpLnN0
eWxlLnRvcDsKCXZhciBweCA9IGFic1RvcC5sYXN0SW5kZXhPZigicHgiKTsKCWlm
KHB4ID4gMCkKCQlhYnNUb3AgPSBhYnNUb3Auc3Vic3RyaW5nKDAscHgpOwoJcmV0
dXJuIGZfY2xpZW50SGVpZ2h0KCkgLSAoYWJzVG9wIC0gZl9zY3JvbGxUb3AoKSk7
Cn0KCgovKiogR2V0IGVsZW1lbnQgYWJzb2x1dGUgcG9zaXRpb24ge2xlZnQsdG9w
fSAqLwpmdW5jdGlvbiBvc19nZXRFbGVtZW50UG9zaXRpb24oZWxlbUlEKXsKCXZh
ciBvZmZzZXRUcmFpbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1JRCk7
Cgl2YXIgb2Zmc2V0TGVmdCA9IDA7Cgl2YXIgb2Zmc2V0VG9wID0gMDsKCXdoaWxl
IChvZmZzZXRUcmFpbCl7CgkJb2Zmc2V0TGVmdCArPSBvZmZzZXRUcmFpbC5vZmZz
ZXRMZWZ0OwoJCW9mZnNldFRvcCArPSBvZmZzZXRUcmFpbC5vZmZzZXRUb3A7CgkJ
b2Zmc2V0VHJhaWwgPSBvZmZzZXRUcmFpbC5vZmZzZXRQYXJlbnQ7Cgl9CglpZiAo
bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdNYWMnKSAhPSAtMSAmJiB0eXBl
b2YgZG9jdW1lbnQuYm9keS5sZWZ0TWFyZ2luICE9ICd1bmRlZmluZWQnKXsKCQlv
ZmZzZXRMZWZ0ICs9IGRvY3VtZW50LmJvZHkubGVmdE1hcmdpbjsKCQlvZmZzZXRU
b3AgKz0gZG9jdW1lbnQuYm9keS50b3BNYXJnaW47Cgl9CglyZXR1cm4ge2xlZnQ6
b2Zmc2V0TGVmdCx0b3A6b2Zmc2V0VG9wfTsKfQoKLyoqIENyZWF0ZSB0aGUgY29u
dGFpbmVyIGRpdiB0aGF0IHdpbGwgaG9sZCB0aGUgc3VnZ2VzdGVkIHRpdGxlcyAq
LwpmdW5jdGlvbiBvc19jcmVhdGVDb250YWluZXIocil7Cgl2YXIgYyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwoJdmFyIHMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChyLnNlYXJjaGJveCk7Cgl2YXIgcG9zID0gb3NfZ2V0RWxlbWVu
dFBvc2l0aW9uKHIuc2VhcmNoYm94KTsKCXZhciBsZWZ0ID0gcG9zLmxlZnQ7Cgl2
YXIgdG9wID0gcG9zLnRvcCArIHMub2Zmc2V0SGVpZ2h0OwoJYy5jbGFzc05hbWUg
PSAib3Mtc3VnZ2VzdCI7CgljLnNldEF0dHJpYnV0ZSgiaWQiLCByLmNvbnRhaW5l
cik7Cglkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGMpOwoKCS8vIGR5bmFtaWNh
bGx5IGdlbmVyYXRlZCBzdHlsZSBwYXJhbXMKCS8vIElFIHdvcmthcm91bmQsIGNh
bm5vdCBleHBsaWNpdGVseSBzZXQgInN0eWxlIiBhdHRyaWJ1dGUKCWMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChyLmNvbnRhaW5lcik7CgljLnN0eWxlLnRvcCA9
IHRvcCsicHgiOwoJYy5zdHlsZS5sZWZ0ID0gbGVmdCsicHgiOwoJYy5zdHlsZS53
aWR0aCA9IHMub2Zmc2V0V2lkdGgrInB4IjsKCgkvLyBtb3VzZSBldmVudCBoYW5k
bGVycwoJYy5vbm1vdXNlb3ZlciA9IGZ1bmN0aW9uKGV2ZW50KSB7IG9zX2V2ZW50
TW91c2VvdmVyKHIuc2VhcmNoYm94LCBldmVudCk7IH07CgljLm9ubW91c2Vtb3Zl
ID0gZnVuY3Rpb24oZXZlbnQpIHsgb3NfZXZlbnRNb3VzZW1vdmUoci5zZWFyY2hi
b3gsIGV2ZW50KTsgfTsKCWMub25tb3VzZWRvd24gPSBmdW5jdGlvbihldmVudCkg
eyByZXR1cm4gb3NfZXZlbnRNb3VzZWRvd24oci5zZWFyY2hib3gsIGV2ZW50KTsg
fTsKCWMub25tb3VzZXVwID0gZnVuY3Rpb24oZXZlbnQpIHsgb3NfZXZlbnRNb3Vz
ZXVwKHIuc2VhcmNoYm94LCBldmVudCk7IH07CglyZXR1cm4gYzsKfQoKLyoqIGNo
YW5nZSBjb250YWluZXIgaGVpZ2h0IHRvIGZpdCB0byBzY3JlZW4gKi8KZnVuY3Rp
b24gb3NfZml0Q29udGFpbmVyKHIpewoJdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChyLmNvbnRhaW5lcik7Cgl2YXIgaCA9IG9zX2F2YWlsYWJsZUhlaWdo
dChyKSAtIDIwOwoJdmFyIGluYyA9IHIuY29udGFpbmVyUm93OwoJaCA9IHBhcnNl
SW50KGgvaW5jKSAqIGluYzsKCWlmKGggPCAoMiAqIGluYykgJiYgci5yZXN1bHRD
b3VudCA+IDEpIC8vIG1pbjogdHdvIHJlc3VsdHMKCQloID0gMiAqIGluYzsKCWlm
KChoL2luYykgPiBvc19tYXhfbGluZXNfcGVyX3N1Z2dlc3QgKQoJCWggPSBpbmMg
KiBvc19tYXhfbGluZXNfcGVyX3N1Z2dlc3Q7CglpZihoIDwgci5jb250YWluZXJU
b3RhbCl7CgkJYy5zdHlsZS5oZWlnaHQgPSBoICsicHgiOwoJCXIuY29udGFpbmVy
Q291bnQgPSBwYXJzZUludChNYXRoLnJvdW5kKGgvaW5jKSk7Cgl9IGVsc2V7CgkJ
Yy5zdHlsZS5oZWlnaHQgPSByLmNvbnRhaW5lclRvdGFsKyJweCI7CgkJci5jb250
YWluZXJDb3VudCA9IHIucmVzdWx0Q291bnQ7Cgl9Cn0KLyoqIElmIHNvbWUgZW50
cmllcyBhcmUgbG9uZ2VyIHRoYW4gdGhlIGJveCwgcmVwbGFjZSB0ZXh0IHdpdGgg
Ii4uLiIgKi8KZnVuY3Rpb24gb3NfdHJpbVJlc3VsdFRleHQocil7CgkvLyBmaW5k
IG1heCB3aWR0aCwgZmlyc3Qgc2VlIGlmIHdlIGNvdWxkIGV4cGFuZCB0aGUgY29u
dGFpbmVyIHRvIGZpdCBpdAoJdmFyIG1heFcgPSAwOwoJZm9yKHZhciBpPTA7aTxy
LnJlc3VsdENvdW50O2krKyl7CgkJdmFyIGUgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChyLnJlc3VsdFRleHQraSk7CgkJaWYoZS5vZmZzZXRXaWR0aCA+IG1heFcp
CgkJCW1heFcgPSBlLm9mZnNldFdpZHRoOwoJfQoJdmFyIHcgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChyLmNvbnRhaW5lcikub2Zmc2V0V2lkdGg7Cgl2YXIgZml4
ID0gMDsKCWlmKHIuY29udGFpbmVyQ291bnQgPCByLnJlc3VsdENvdW50KXsKCQlm
aXggPSAyMDsgLy8gZ2l2ZSAyMHB4IGZvciBzY3JvbGxiYXIKCX0gZWxzZQoJCWZp
eCA9IG9zX29wZXJhV2lkdGhGaXgodyk7CglpZihmaXggPCA0KQoJCWZpeCA9IDQ7
IC8vIGJhc2ljIHBhZGRpbmcKCW1heFcgKz0gZml4OwoKCS8vIHJlc2l6ZSBjb250
YWluZXIgdG8gZml0IG1vcmUgZGF0YSBpZiBwZXJtaXR0ZWQKCXZhciBub3JtVyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHIuc2VhcmNoYm94KS5vZmZzZXRXaWR0
aDsKCXZhciBwcm9wID0gbWF4VyAvIG5vcm1XOwoJaWYocHJvcCA+IG9zX2NvbnRh
aW5lcl9tYXhfd2lkdGgpCgkJcHJvcCA9IG9zX2NvbnRhaW5lcl9tYXhfd2lkdGg7
CgllbHNlIGlmKHByb3AgPCAxKQoJCXByb3AgPSAxOwoJdmFyIG5ld1cgPSBNYXRo
LnJvdW5kKCBub3JtVyAqIHByb3AgKTsKCWlmKCB3ICE9IG5ld1cgKXsKCQl3ID0g
bmV3VzsKCQlpZiggb3NfYW5pbWF0aW9uX3RpbWVyICE9IG51bGwgKQoJCQljbGVh
ckludGVydmFsKG9zX2FuaW1hdGlvbl90aW1lci5pZCkKCQlvc19hbmltYXRpb25f
dGltZXIgPSBuZXcgb3NfQW5pbWF0aW9uVGltZXIocix3KTsKCQlvc19hbmltYXRp
b25fdGltZXIuaWQgPSBzZXRJbnRlcnZhbCgib3NfYW5pbWF0ZUNoYW5nZVdpZHRo
KCkiLG9zX2FuaW1hdGlvbl9kZWxheSk7CgkJdyAtPSBmaXg7IC8vIHRoaXMgbXVj
aCBpcyByZXNlcnZlZAoJfQoKCS8vIHRyaW0gcmVzdWx0cwoJaWYodyA8IDEwKQoJ
CXJldHVybjsKCWZvcih2YXIgaT0wO2k8ci5yZXN1bHRDb3VudDtpKyspewoJCXZh
ciBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoci5yZXN1bHRUZXh0K2kpOwoJ
CXZhciByZXBsYWNlID0gMTsKCQl2YXIgbGFzdFcgPSBlLm9mZnNldFdpZHRoKzE7
CgkJdmFyIGl0ZXJhdGlvbiA9IDA7CgkJdmFyIGNoYW5nZWRUZXh0ID0gZmFsc2U7
CgkJd2hpbGUoZS5vZmZzZXRXaWR0aCA+IHcgJiYgKGUub2Zmc2V0V2lkdGggPCBs
YXN0VyB8fCBpdGVyYXRpb248MikpewoJCQljaGFuZ2VkVGV4dCA9IHRydWU7CgkJ
CWxhc3RXID0gZS5vZmZzZXRXaWR0aDsKCQkJdmFyIGwgPSBlLmlubmVySFRNTDsK
CQkJZS5pbm5lckhUTUwgPSBsLnN1YnN0cmluZygwLGwubGVuZ3RoLXJlcGxhY2Up
KyIuLi4iOwoJCQlpdGVyYXRpb24rKzsKCQkJcmVwbGFjZSA9IDQ7IC8vIGhvdyBt
YW55IGNoYXJzIHRvIHJlcGxhY2UKCQl9CgkJaWYoY2hhbmdlZFRleHQpewoJCQkv
LyBzaG93IGhpbnQgZm9yIHRyaW1tZWQgdGl0bGVzCgkJCWRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKHIucmVzdWx0VGFibGUraSkuc2V0QXR0cmlidXRlKCJ0aXRsZSIs
ci5yZXN1bHRzW2ldKTsKCQl9Cgl9Cn0KCi8qKiBJbnZva2VkIG9uIHRpbWVyIHRv
IGFuaW1hdGUgY2hhbmdlIGluIGNvbnRhaW5lciB3aWR0aCAqLwpmdW5jdGlvbiBv
c19hbmltYXRlQ2hhbmdlV2lkdGgoKXsKCXZhciByID0gb3NfYW5pbWF0aW9uX3Rp
bWVyLnI7Cgl2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHIuY29udGFp
bmVyKTsKCXZhciB3ID0gYy5vZmZzZXRXaWR0aDsKCXZhciBub3JtVyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKHIuc2VhcmNoYm94KS5vZmZzZXRXaWR0aDsKCXZh
ciBub3JtTCA9IG9zX2dldEVsZW1lbnRQb3NpdGlvbihyLnNlYXJjaGJveCkubGVm
dDsKCXZhciBpbmMgPSBvc19hbmltYXRpb25fdGltZXIuaW5jOwoJdmFyIHRhcmdl
dCA9IG9zX2FuaW1hdGlvbl90aW1lci50YXJnZXQ7Cgl2YXIgbncgPSB3ICsgaW5j
OwoJaWYoIChpbmMgPiAwICYmIG53ID49IHRhcmdldCkgfHwgKGluYyA8PSAwICYm
IG53IDw9IHRhcmdldCkgKXsKCQkvLyBmaW5pc2hlZCAhCgkJYy5zdHlsZS53aWR0
aCA9IHRhcmdldCsicHgiOwoJCWNsZWFySW50ZXJ2YWwob3NfYW5pbWF0aW9uX3Rp
bWVyLmlkKQoJCW9zX2FuaW1hdGlvbl90aW1lciA9IG51bGw7Cgl9IGVsc2V7CgkJ
Ly8gaW4tcHJvZ3Jlc3MKCQljLnN0eWxlLndpZHRoID0gbncrInB4IjsKCQlpZihk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGlyID09ICJydGwiKQoJCQljLnN0eWxl
LmxlZnQgPSAobm9ybUwgKyBub3JtVyArICh0YXJnZXQgLSBudykgLSBvc19hbmlt
YXRpb25fdGltZXIudGFyZ2V0IC0gMSkrInB4IjsKCX0KfQoKLyoqIEhhbmRsZXMg
ZGF0YSBmcm9tIFhNTEh0dHBSZXF1ZXN0LCBhbmQgdXBkYXRlcyB0aGUgc3VnZ2Vz
dCByZXN1bHRzICovCmZ1bmN0aW9uIG9zX3VwZGF0ZVJlc3VsdHMociwgcXVlcnks
IHRleHQsIGNhY2hlS2V5KXsKCW9zX2NhY2hlW2NhY2hlS2V5XSA9IHRleHQ7Cgly
LnF1ZXJ5ID0gcXVlcnk7CglyLm9yaWdpbmFsID0gcXVlcnk7CglpZih0ZXh0ID09
ICIiKXsKCQlyLnJlc3VsdHMgPSBudWxsOwoJCXIucmVzdWx0Q291bnQgPSAwOwoJ
CW9zX2hpZGVSZXN1bHRzKHIpOwoJfSBlbHNlewoJCXRyeSB7CgkJCXZhciBwID0g
ZXZhbCgnKCcrdGV4dCsnKScpOyAvLyBzaW1wbGUganNvbiBwYXJzZSwgY291bGQg
ZG8gYSBzYWZlciBvbmUKCQkJaWYocC5sZW5ndGg8MiB8fCBwWzFdLmxlbmd0aCA9
PSAwKXsKCQkJCXIucmVzdWx0cyA9IG51bGw7CgkJCQlyLnJlc3VsdENvdW50ID0g
MDsKCQkJCW9zX2hpZGVSZXN1bHRzKHIpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXZh
ciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoci5jb250YWluZXIpOwoJCQlp
ZihjID09IG51bGwpCgkJCQljID0gb3NfY3JlYXRlQ29udGFpbmVyKHIpOwoJCQlj
LmlubmVySFRNTCA9IG9zX2NyZWF0ZVJlc3VsdFRhYmxlKHIscFsxXSk7CgkJCS8v
IGluaXQgY29udGFpbmVyIHRhYmxlIHNpemVzCgkJCXZhciB0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoci5yZXN1bHRUYWJsZSk7CgkJCXIuY29udGFpbmVyVG90
YWwgPSB0Lm9mZnNldEhlaWdodDsKCQkJci5jb250YWluZXJSb3cgPSB0Lm9mZnNl
dEhlaWdodCAvIHIucmVzdWx0Q291bnQ7CgkJCW9zX2ZpdENvbnRhaW5lcihyKTsK
CQkJb3NfdHJpbVJlc3VsdFRleHQocik7CgkJCW9zX3Nob3dSZXN1bHRzKHIpOwoJ
CX0gY2F0Y2goZSl7CgkJCS8vIGJhZCByZXNwb25zZSBmcm9tIHNlcnZlciBvciBz
dWNoCgkJCW9zX2hpZGVSZXN1bHRzKHIpOwoJCQlvc19jYWNoZVtjYWNoZUtleV0g
PSBudWxsOwoJCX0KCX0KfQoKLyoqIENyZWF0ZSB0aGUgcmVzdWx0IHRhYmxlIHRv
IGJlIHBsYWNlZCBpbiB0aGUgY29udGFpbmVyIGRpdiAqLwpmdW5jdGlvbiBvc19j
cmVhdGVSZXN1bHRUYWJsZShyLCByZXN1bHRzKXsKCXZhciBjID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoci5jb250YWluZXIpOwoJdmFyIHdpZHRoID0gYy5vZmZz
ZXRXaWR0aCAtIG9zX29wZXJhV2lkdGhGaXgoYy5vZmZzZXRXaWR0aCk7Cgl2YXIg
aHRtbCA9ICI8dGFibGUgY2xhc3M9XCJvcy1zdWdnZXN0LXJlc3VsdHNcIiBpZD1c
IiIrci5yZXN1bHRUYWJsZSsiXCIgc3R5bGU9XCJ3aWR0aDogIit3aWR0aCsicHg7
XCI+IjsKCXIucmVzdWx0cyA9IG5ldyBBcnJheSgpOwoJci5yZXN1bHRDb3VudCA9
IHJlc3VsdHMubGVuZ3RoOwoJZm9yKGk9MDtpPHJlc3VsdHMubGVuZ3RoO2krKyl7
CgkJdmFyIHRpdGxlID0gb3NfZGVjb2RlVmFsdWUocmVzdWx0c1tpXSk7CgkJci5y
ZXN1bHRzW2ldID0gdGl0bGU7CgkJaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cIm9z
LXN1Z2dlc3QtcmVzdWx0XCIgaWQ9XCIiK3IucmVzdWx0VGFibGUraSsiXCI+PHNw
YW4gaWQ9XCIiK3IucmVzdWx0VGV4dCtpKyJcIj4iK3RpdGxlKyI8L3NwYW4+PC90
ZD48L3RyPiI7Cgl9CglodG1sKz0iPC90YWJsZT4iCglyZXR1cm4gaHRtbDsKfQoK
LyoqIEZldGNoIG5hbWVzcGFjZXMgZnJvbSBjaGVja2JveGVzIG9yIGhpZGRlbiBm
aWVsZHMgaW4gdGhlIHNlYXJjaCBmb3JtLAogICAgaWYgbm9uZSBkZWZpbmVkIHVz
ZSB3Z1NlYXJjaE5hbWVzcGFjZXMgZ2xvYmFsICovCmZ1bmN0aW9uIG9zX2dldE5h
bWVzcGFjZXMocil7Cgl2YXIgbmFtZXNwYWNlcyA9ICIiOwoJdmFyIGVsZW1lbnRz
ID0gZG9jdW1lbnQuZm9ybXNbci5zZWFyY2hmb3JtXS5lbGVtZW50czsKCWZvcihp
PTA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKyl7CgkJdmFyIG5hbWUgPSBlbGVt
ZW50c1tpXS5uYW1lOwoJCWlmKHR5cGVvZiBuYW1lICE9ICd1bmRlZmluZWQnICYm
IG5hbWUubGVuZ3RoID4gMgoJCSYmIG5hbWVbMF09PSduJyAmJiBuYW1lWzFdPT0n
cycKCQkmJiAoKGVsZW1lbnRzW2ldLnR5cGU9PSdjaGVja2JveCcgJiYgZWxlbWVu
dHNbaV0uY2hlY2tlZCkKCQkgCXx8IChlbGVtZW50c1tpXS50eXBlPT0naGlkZGVu
JyAmJiBlbGVtZW50c1tpXS52YWx1ZT09IjEiKSkgKXsKCQkJaWYobmFtZXNwYWNl
cyE9IiIpCgkJCQluYW1lc3BhY2VzKz0ifCI7CgkJCW5hbWVzcGFjZXMrPW5hbWUu
c3Vic3RyaW5nKDIpOwoJCX0KCX0KCWlmKG5hbWVzcGFjZXMgPT0gIiIpCgkJbmFt
ZXNwYWNlcyA9IHdnU2VhcmNoTmFtZXNwYWNlcy5qb2luKCJ8Iik7CglyZXR1cm4g
bmFtZXNwYWNlczsKfQoKLyoqIFVwZGF0ZSByZXN1bHRzIGlmIHVzZXIgaGFzbid0
IGFscmVhZHkgdHlwZWQgc29tZXRoaW5nIGVsc2UgKi8KZnVuY3Rpb24gb3NfdXBk
YXRlSWZSZWxldmFudChyLCBxdWVyeSwgdGV4dCwgY2FjaGVLZXkpewoJdmFyIHQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyLnNlYXJjaGJveCk7CglpZih0ICE9
IG51bGwgJiYgdC52YWx1ZSA9PSBxdWVyeSl7IC8vIGNoZWNrIGlmIHJlc3BvbnNl
IGlzIHN0aWxsIHJlbGV2YW50CgkJb3NfdXBkYXRlUmVzdWx0cyhyLCBxdWVyeSwg
dGV4dCwgY2FjaGVLZXkpOwoJfQoJci5xdWVyeSA9IHF1ZXJ5Owp9CgovKiogRmV0
Y2ggcmVzdWx0cyBhZnRlciBzb21lIHRpbWVvdXQgKi8KZnVuY3Rpb24gb3NfZGVs
YXllZEZldGNoKCl7CglpZihvc190aW1lciA9PSBudWxsKQoJCXJldHVybjsKCXZh
ciByID0gb3NfdGltZXIucjsKCXZhciBxdWVyeSA9IG9zX3RpbWVyLnF1ZXJ5OwoJ
b3NfdGltZXIgPSBudWxsOwoJdmFyIHBhdGggPSB3Z01XU3VnZ2VzdFRlbXBsYXRl
LnJlcGxhY2UoIntuYW1lc3BhY2VzfSIsb3NfZ2V0TmFtZXNwYWNlcyhyKSkKCQkJ
CQkJCSAgCSAgLnJlcGxhY2UoIntkYm5hbWV9Iix3Z0RCbmFtZSkKCQkJCQkJCSAg
CSAgLnJlcGxhY2UoIntzZWFyY2hUZXJtc30iLG9zX2VuY29kZVF1ZXJ5KHF1ZXJ5
KSk7CgoJLy8gdHJ5IHRvIGdldCBmcm9tIGNhY2hlLCBpZiBub3QgZmV0Y2ggdXNp
bmcgYWpheAoJdmFyIGNhY2hlZCA9IG9zX2NhY2hlW3BhdGhdOwoJaWYoY2FjaGVk
ICE9IG51bGwpewoJCW9zX3VwZGF0ZUlmUmVsZXZhbnQociwgcXVlcnksIGNhY2hl
ZCwgcGF0aCk7Cgl9IGVsc2V7CgkJdmFyIHhtbGh0dHAgPSBzYWpheF9pbml0X29i
amVjdCgpOwoJCWlmKHhtbGh0dHApewoJCQl0cnkgewoJCQkJeG1saHR0cC5vcGVu
KCJHRVQiLCBwYXRoLCB0cnVlKTsKCQkJCXhtbGh0dHAub25yZWFkeXN0YXRlY2hh
bmdlPWZ1bmN0aW9uKCl7CgkJICAgICAgICAJaWYgKHhtbGh0dHAucmVhZHlTdGF0
ZT09NCAmJiB0eXBlb2Ygb3NfdXBkYXRlSWZSZWxldmFudCA9PSAnZnVuY3Rpb24n
KSB7CgkJICAgICAgICAJCW9zX3VwZGF0ZUlmUmVsZXZhbnQociwgcXVlcnksIHht
bGh0dHAucmVzcG9uc2VUZXh0LCBwYXRoKTsKCSAgICAgICAgCQl9CgkgICAgICAJ
CX07CgkgICAgIAkJeG1saHR0cC5zZW5kKG51bGwpOwoJICAgICAJfSBjYXRjaCAo
ZSkgewoJCQkJaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSA9PSAibG9jYWxo
b3N0IikgewoJCQkJCWFsZXJ0KCJZb3VyIGJyb3dzZXIgYmxvY2tzIFhNTEh0dHBS
ZXF1ZXN0IHRvICdsb2NhbGhvc3QnLCB0cnkgdXNpbmcgYSByZWFsIGhvc3RuYW1l
IGZvciBkZXZlbG9wbWVudC90ZXN0aW5nLiIpOwoJCQkJfQoJCQkJdGhyb3cgZTsK
CQkJfQoJCX0KCX0KfQoKLyoqIEluaXQgdGltZWQgdXBkYXRlIHZpYSBvc19kZWxh
eWVkVXBkYXRlKCkgKi8KZnVuY3Rpb24gb3NfZmV0Y2hSZXN1bHRzKHIsIHF1ZXJ5
LCB0aW1lb3V0KXsKCWlmKHF1ZXJ5ID09ICIiKXsKCQlyLnF1ZXJ5ID0gIiI7CgkJ
b3NfaGlkZVJlc3VsdHMocik7CgkJcmV0dXJuOwoJfSBlbHNlIGlmKHF1ZXJ5ID09
IHIucXVlcnkpCgkJcmV0dXJuOyAvLyBubyBjaGFuZ2UKCglvc19pc19zdG9wcGVk
ID0gZmFsc2U7IC8vIG1ha2Ugc3VyZSB3ZSdyZSBydW5uaW5nCgoJLyogdmFyIGNh
Y2hlS2V5ID0gd2dEQm5hbWUrIjoiK3F1ZXJ5OwoJdmFyIGNhY2hlZCA9IG9zX2Nh
Y2hlW2NhY2hlS2V5XTsKCWlmKGNhY2hlZCAhPSBudWxsKXsKCQlvc191cGRhdGVS
ZXN1bHRzKHIsd2dEQm5hbWUscXVlcnksY2FjaGVkKTsKCQlyZXR1cm47Cgl9ICov
CgoJLy8gY2FuY2VsIGFueSBwZW5kaW5nIGZldGNoZXMKCWlmKG9zX3RpbWVyICE9
IG51bGwgJiYgb3NfdGltZXIuaWQgIT0gbnVsbCkKCQljbGVhclRpbWVvdXQob3Nf
dGltZXIuaWQpOwoJLy8gc2NoZWR1bGUgZGVsYXllZCBmZXRjaGluZyBvZiByZXN1
bHRzCglpZih0aW1lb3V0ICE9IDApewoJCW9zX3RpbWVyID0gbmV3IG9zX1RpbWVy
KHNldFRpbWVvdXQoIm9zX2RlbGF5ZWRGZXRjaCgpIix0aW1lb3V0KSxyLHF1ZXJ5
KTsKCX0gZWxzZXsKCQlvc190aW1lciA9IG5ldyBvc19UaW1lcihudWxsLHIscXVl
cnkpOwoJCW9zX2RlbGF5ZWRGZXRjaCgpOyAvLyBkbyBpdCBub3chCgl9Cgp9Ci8q
KiBDaGFuZ2UgdGhlIGhpZ2hsaWdodGVkIHJvdyAoaS5lLiBzdWdnZXN0aW9uKSwg
ZnJvbSBwb3NpdGlvbiBjdXIgdG8gbmV4dCAqLwpmdW5jdGlvbiBvc19jaGFuZ2VI
aWdobGlnaHQociwgY3VyLCBuZXh0LCB1cGRhdGVTZWFyY2hCb3gpewoJaWYgKG5l
eHQgPj0gci5yZXN1bHRDb3VudCkKCQluZXh0ID0gci5yZXN1bHRDb3VudC0xOwoJ
aWYgKG5leHQgPCAtMSkKCQluZXh0ID0gLTE7CglyLnNlbGVjdGVkID0gbmV4dDsK
ICAgCWlmIChjdXIgPT0gbmV4dCkKICAgIAlyZXR1cm47IC8vIG5vdGhpbmcgdG8g
ZG8uCgogICAgaWYoY3VyID49IDApewogICAgCXZhciBjdXJSb3cgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChyLnJlc3VsdFRhYmxlICsgY3VyKTsKICAgIAlpZihj
dXJSb3cgIT0gbnVsbCkKICAgIAkJY3VyUm93LmNsYXNzTmFtZSA9ICJvcy1zdWdn
ZXN0LXJlc3VsdCI7CiAgICB9CiAgICB2YXIgbmV3VGV4dDsKICAgIGlmKG5leHQg
Pj0gMCl7CiAgICAJdmFyIG5leHRSb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChyLnJlc3VsdFRhYmxlICsgbmV4dCk7CiAgICAJaWYobmV4dFJvdyAhPSBudWxs
KQogICAgCQluZXh0Um93LmNsYXNzTmFtZSA9IG9zX0hpZ2hsaWdodENsYXNzKCk7
CiAgICAJbmV3VGV4dCA9IHIucmVzdWx0c1tuZXh0XTsKICAgIH0gZWxzZQogICAg
CW5ld1RleHQgPSByLm9yaWdpbmFsOwoKICAgIC8vIGFkanVzdCB0aGUgc2Nyb2xs
YmFyIGlmIGFueQogICAgaWYoci5jb250YWluZXJDb3VudCA8IHIucmVzdWx0Q291
bnQpewogICAgCXZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoci5jb250
YWluZXIpOwogICAgCXZhciB2U3RhcnQgPSBjLnNjcm9sbFRvcCAvIHIuY29udGFp
bmVyUm93OwogICAgCXZhciB2RW5kID0gdlN0YXJ0ICsgci5jb250YWluZXJDb3Vu
dDsKICAgIAlpZihuZXh0IDwgdlN0YXJ0KQogICAgCQljLnNjcm9sbFRvcCA9IG5l
eHQgKiByLmNvbnRhaW5lclJvdzsKICAgIAllbHNlIGlmKG5leHQgPj0gdkVuZCkK
ICAgIAkJYy5zY3JvbGxUb3AgPSAobmV4dCAtIHIuY29udGFpbmVyQ291bnQgKyAx
KSAqIHIuY29udGFpbmVyUm93OwogICAgfQoKICAgIC8vIHVwZGF0ZSB0aGUgY29u
dGVudHMgb2YgdGhlIHNlYXJjaCBib3gKICAgIGlmKHVwZGF0ZVNlYXJjaEJveCl7
CiAgICAJb3NfdXBkYXRlU2VhcmNoUXVlcnkocixuZXdUZXh0KTsKICAgIH0KfQoK
ZnVuY3Rpb24gb3NfSGlnaGxpZ2h0Q2xhc3MoKSB7Cgl2YXIgbWF0Y2ggPSBuYXZp
Z2F0b3IudXNlckFnZW50Lm1hdGNoKC9BcHBsZVdlYktpdFwvKFxkKykvKTsKCWlm
IChtYXRjaCkgewoJCXZhciB3ZWJLaXRWZXJzaW9uID0gcGFyc2VJbnQobWF0Y2hb
MV0pOwoJCWlmICh3ZWJLaXRWZXJzaW9uIDwgNTIzKSB7CgkJCS8vIENTUyBzeXN0
ZW0gaGlnaGxpZ2h0IGNvbG9ycyBicm9rZW4gb24gb2xkIFNhZmFyaQoJCQkvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyOQoJCQkv
LyBTYWZhcmkgMy4wLjQsIDMuMSBrbm93biBvawoJCQlyZXR1cm4gIm9zLXN1Z2dl
c3QtcmVzdWx0LWhsLXdlYmtpdCI7CgkJfQoJfQoJcmV0dXJuICJvcy1zdWdnZXN0
LXJlc3VsdC1obCI7Cn0KCmZ1bmN0aW9uIG9zX3VwZGF0ZVNlYXJjaFF1ZXJ5KHIs
bmV3VGV4dCl7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyLnNlYXJjaGJveCku
dmFsdWUgPSBuZXdUZXh0OwogICAgci5xdWVyeSA9IG5ld1RleHQ7Cn0KCi8qKiBG
aW5kIGV2ZW50IHRhcmdldCAqLwpmdW5jdGlvbiBvc19nZXRUYXJnZXQoZSl7Cglp
ZiAoIWUpIGUgPSB3aW5kb3cuZXZlbnQ7CglpZiAoZS50YXJnZXQpIHJldHVybiBl
LnRhcmdldDsKCWVsc2UgaWYgKGUuc3JjRWxlbWVudCkgcmV0dXJuIGUuc3JjRWxl
bWVudDsKCWVsc2UgcmV0dXJuIG51bGw7Cn0KCgoKLyoqKioqKioqKioqKioqKioq
KioqCiAqICBLZXlib2FyZCBldmVudHMKICoqKioqKioqKioqKioqKioqKioqLwoK
LyoqIEV2ZW50IGhhbmRsZXIgdGhhdCB3aWxsIGZldGNoIHJlc3VsdHMgb24ga2V5
dXAgKi8KZnVuY3Rpb24gb3NfZXZlbnRLZXl1cChlKXsKCXZhciB0YXJnID0gb3Nf
Z2V0VGFyZ2V0KGUpOwoJdmFyIHIgPSBvc19tYXBbdGFyZy5pZF07CglpZihyID09
IG51bGwpCgkJcmV0dXJuOyAvLyBub3Qgb3VyIGV2ZW50CgoJLy8gc29tZSBicm93
c2VycyB3b24ndCBnZW5lcmF0ZSBrZXlwcmVzc2VkIGZvciBhcnJvdyBrZXlzLCBj
YXRjaCBpdAoJaWYob3Nfa2V5cHJlc3NlZF9jb3VudCA9PSAwKXsKCQlvc19wcm9j
ZXNzS2V5KHIsb3NfY3VyX2tleXByZXNzZWQsdGFyZyk7Cgl9Cgl2YXIgcXVlcnkg
PSB0YXJnLnZhbHVlOwoJb3NfZmV0Y2hSZXN1bHRzKHIscXVlcnksb3Nfc2VhcmNo
X3RpbWVvdXQpOwp9CgovKiogY2F0Y2ggYXJyb3dzIHVwL2Rvd24gYW5kIGVzY2Fw
ZSB0byBoaWRlIHRoZSBzdWdnZXN0aW9ucyAqLwpmdW5jdGlvbiBvc19wcm9jZXNz
S2V5KHIsa2V5cHJlc3NlZCx0YXJnKXsKCWlmIChrZXlwcmVzc2VkID09IDQwKXsg
Ly8gQXJyb3cgRG93bgogICAgCWlmIChyLnZpc2libGUpIHsKICAgICAgCQlvc19j
aGFuZ2VIaWdobGlnaHQociwgci5zZWxlY3RlZCwgci5zZWxlY3RlZCsxLCB0cnVl
KTsKICAgIAl9IGVsc2UgaWYob3NfdGltZXIgPT0gbnVsbCl7CiAgICAJCS8vIHVz
ZXIgd2FudHMgdG8gZ2V0IHN1Z2dlc3Rpb25zIG5vdwogICAgCQlyLnF1ZXJ5ID0g
IiI7CgkJCW9zX2ZldGNoUmVzdWx0cyhyLHRhcmcudmFsdWUsMCk7CiAgICAJfQog
IAl9IGVsc2UgaWYgKGtleXByZXNzZWQgPT0gMzgpeyAvLyBBcnJvdyBVcAogIAkJ
aWYgKHIudmlzaWJsZSl7CiAgCQkJb3NfY2hhbmdlSGlnaGxpZ2h0KHIsIHIuc2Vs
ZWN0ZWQsIHIuc2VsZWN0ZWQtMSwgdHJ1ZSk7CiAgCQl9CiAgCX0gZWxzZSBpZihr
ZXlwcmVzc2VkID09IDI3KXsgLy8gRXNjYXBlCiAgCQlkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChyLnNlYXJjaGJveCkudmFsdWUgPSByLm9yaWdpbmFsOwogIAkJci5x
dWVyeSA9IHIub3JpZ2luYWw7CiAgCQlvc19oaWRlUmVzdWx0cyhyKTsKICAJfSBl
bHNlIGlmKHIucXVlcnkgIT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoci5zZWFy
Y2hib3gpLnZhbHVlKXsKICAJCS8vIG9zX2hpZGVSZXN1bHRzKHIpOyAvLyBkb24n
dCBzaG93IG9sZCBzdWdnZXN0aW9ucwogIAl9Cn0KCi8qKiBXaGVuIGtleXMgaXMg
aGVsZCBkb3duIHVzZSBhIHRpbWVyIHRvIG91dHB1dCByZWd1bGFyIGV2ZW50cyAq
LwpmdW5jdGlvbiBvc19ldmVudEtleXByZXNzKGUpewoJdmFyIHRhcmcgPSBvc19n
ZXRUYXJnZXQoZSk7Cgl2YXIgciA9IG9zX21hcFt0YXJnLmlkXTsKCWlmKHIgPT0g
bnVsbCkKCQlyZXR1cm47IC8vIG5vdCBvdXIgZXZlbnQKCgl2YXIga2V5cHJlc3Nl
ZCA9IG9zX2N1cl9rZXlwcmVzc2VkOwoJaWYoa2V5cHJlc3NlZCA9PSAzOCB8fCBr
ZXlwcmVzc2VkID09IDQwKXsKCQl2YXIgZCA9IG5ldyBEYXRlKCkKCQl2YXIgbm93
ID0gZC5nZXRUaW1lKCk7CgkJaWYobm93IC0gb3NfbGFzdF9rZXlwcmVzcyA8IDEy
MCl7CgkJCW9zX2xhc3Rfa2V5cHJlc3MgPSBub3c7CgkJCXJldHVybjsKCQl9Cgl9
CgoJb3Nfa2V5cHJlc3NlZF9jb3VudCsrOwoJb3NfcHJvY2Vzc0tleShyLGtleXBy
ZXNzZWQsdGFyZyk7Cn0KCi8qKiBDYXRjaCB0aGUga2V5IGNvZGUgKEZpcmVmb3gg
YnVnKSAgKi8KZnVuY3Rpb24gb3NfZXZlbnRLZXlkb3duKGUpewoJaWYgKCFlKSBl
ID0gd2luZG93LmV2ZW50OwoJdmFyIHRhcmcgPSBvc19nZXRUYXJnZXQoZSk7Cgl2
YXIgciA9IG9zX21hcFt0YXJnLmlkXTsKCWlmKHIgPT0gbnVsbCkKCQlyZXR1cm47
IC8vIG5vdCBvdXIgZXZlbnQKCglvc19tb3VzZV9tb3ZlZCA9IGZhbHNlOwoKCW9z
X2N1cl9rZXlwcmVzc2VkID0gKGUua2V5Q29kZSA9PSB1bmRlZmluZWQpID8gZS53
aGljaCA6IGUua2V5Q29kZTsKCW9zX2xhc3Rfa2V5cHJlc3MgPSAwOwoJb3Nfa2V5
cHJlc3NlZF9jb3VudCA9IDA7Cn0KCi8qKiBFdmVudDogbG9zcyBvZiBmb2N1cyBv
ZiBpbnB1dCBib3ggKi8KZnVuY3Rpb24gb3NfZXZlbnRCbHVyKGUpewoJdmFyIHRh
cmcgPSBvc19nZXRUYXJnZXQoZSk7Cgl2YXIgciA9IG9zX21hcFt0YXJnLmlkXTsK
CWlmKHIgPT0gbnVsbCkKCQlyZXR1cm47IC8vIG5vdCBvdXIgZXZlbnQKCWlmKCFv
c19tb3VzZV9wcmVzc2VkKXsKCQlvc19oaWRlUmVzdWx0cyhyKTsKCQkvLyBmb3Jj
ZSBjYW52YXMgdG8gc3RheSBoaWRkZW4KCQlyLnN0YXlIaWRkZW4gPSB0cnVlCgkJ
Ly8gY2FuY2VsIGFueSBwZW5kaW5nIGZldGNoZXMKCQlpZihvc190aW1lciAhPSBu
dWxsICYmIG9zX3RpbWVyLmlkICE9IG51bGwpCgkJCWNsZWFyVGltZW91dChvc190
aW1lci5pZCk7CgkJb3NfdGltZXIgPSBudWxsCgl9Cn0KCi8qKiBFdmVudDogZm9j
dXMgKGNhdGNoIG9ubHkgd2hlbiBzdG9wcGVkKSAqLwpmdW5jdGlvbiBvc19ldmVu
dEZvY3VzKGUpewoJdmFyIHRhcmcgPSBvc19nZXRUYXJnZXQoZSk7Cgl2YXIgciA9
IG9zX21hcFt0YXJnLmlkXTsKCWlmKHIgPT0gbnVsbCkKCQlyZXR1cm47IC8vIG5v
dCBvdXIgZXZlbnQKCXIuc3RheUhpZGRlbiA9IGZhbHNlCn0KCgoKLyoqKioqKioq
KioqKioqKioqKioqCiAqICBNb3VzZSBldmVudHMKICoqKioqKioqKioqKioqKioq
KioqLwoKLyoqIE1vdXNlIG92ZXIgdGhlIGNvbnRhaW5lciAqLwpmdW5jdGlvbiBv
c19ldmVudE1vdXNlb3ZlcihzcmNJZCwgZSl7Cgl2YXIgdGFyZyA9IG9zX2dldFRh
cmdldChlKTsKCXZhciByID0gb3NfbWFwW3NyY0lkXTsKCWlmKHIgPT0gbnVsbCB8
fCAhb3NfbW91c2VfbW92ZWQpCgkJcmV0dXJuOyAvLyBub3Qgb3VyIGV2ZW50Cgl2
YXIgbnVtID0gb3NfZ2V0TnVtYmVyU3VmZml4KHRhcmcuaWQpOwoJaWYobnVtID49
IDApCgkJb3NfY2hhbmdlSGlnaGxpZ2h0KHIsci5zZWxlY3RlZCxudW0sZmFsc2Up
OwoKfQoKLyogR2V0IHJvdyB3aGVyZSB0aGUgZXZlbnQgb2NjdXJlZCAoZnJvbSBp
dHMgaWQpICovCmZ1bmN0aW9uIG9zX2dldE51bWJlclN1ZmZpeChpZCl7Cgl2YXIg
bnVtID0gaWQuc3Vic3RyaW5nKGlkLmxlbmd0aC0yKTsKCWlmKCAhIChudW0uY2hh
ckF0KDApID49ICcwJyAmJiBudW0uY2hhckF0KDApIDw9ICc5JykgKQoJCW51bSA9
IG51bS5zdWJzdHJpbmcoMSk7CglpZihvc19pc051bWJlcihudW0pKQoJCXJldHVy
biBwYXJzZUludChudW0pOwoJZWxzZQoJCXJldHVybiAtMTsKfQoKLyoqIFNhdmUg
bW91c2UgbW92ZSBhcyBsYXN0IGFjdGlvbiAqLwpmdW5jdGlvbiBvc19ldmVudE1v
dXNlbW92ZShzcmNJZCwgZSl7Cglvc19tb3VzZV9tb3ZlZCA9IHRydWU7Cn0KCi8q
KiBNb3VzZSBidXR0b24gaGVsZCBkb3duLCByZWdpc3RlciBwb3NzaWJsZSBjbGlj
ayAgKi8KZnVuY3Rpb24gb3NfZXZlbnRNb3VzZWRvd24oc3JjSWQsIGUpewoJdmFy
IHRhcmcgPSBvc19nZXRUYXJnZXQoZSk7Cgl2YXIgciA9IG9zX21hcFtzcmNJZF07
CglpZihyID09IG51bGwpCgkJcmV0dXJuOyAvLyBub3Qgb3VyIGV2ZW50Cgl2YXIg
bnVtID0gb3NfZ2V0TnVtYmVyU3VmZml4KHRhcmcuaWQpOwoKCW9zX21vdXNlX3By
ZXNzZWQgPSB0cnVlOwoJaWYobnVtID49IDApewoJCW9zX21vdXNlX251bSA9IG51
bTsKCQkvLyBvc191cGRhdGVTZWFyY2hRdWVyeShyLHIucmVzdWx0c1tudW1dKTsK
CX0KCS8vIGtlZXAgdGhlIGZvY3VzIG9uIHRoZSBzZWFyY2ggZmllbGQKCWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKHIuc2VhcmNoYm94KS5mb2N1cygpOwoKCXJldHVy
biBmYWxzZTsgLy8gcHJldmVudHMgc2VsZWN0aW9uCn0KCi8qKiBNb3VzZSBidXR0
b24gcmVsZWFzZWQsIGNoZWNrIGZvciBjbGljayBvbiBzb21lIHJvdyAqLwpmdW5j
dGlvbiBvc19ldmVudE1vdXNldXAoc3JjSWQsIGUpewoJdmFyIHRhcmcgPSBvc19n
ZXRUYXJnZXQoZSk7Cgl2YXIgciA9IG9zX21hcFtzcmNJZF07CglpZihyID09IG51
bGwpCgkJcmV0dXJuOyAvLyBub3Qgb3VyIGV2ZW50Cgl2YXIgbnVtID0gb3NfZ2V0
TnVtYmVyU3VmZml4KHRhcmcuaWQpOwoKCWlmKG51bSA+PSAwICYmIG9zX21vdXNl
X251bSA9PSBudW0pewoJCW9zX3VwZGF0ZVNlYXJjaFF1ZXJ5KHIsci5yZXN1bHRz
W251bV0pOwoJCW9zX2hpZGVSZXN1bHRzKHIpOwoJCWRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKHIuc2VhcmNoZm9ybSkuc3VibWl0KCk7Cgl9Cglvc19tb3VzZV9wcmVz
c2VkID0gZmFsc2U7CgkvLyBrZWVwIHRoZSBmb2N1cyBvbiB0aGUgc2VhcmNoIGZp
ZWxkCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyLnNlYXJjaGJveCkuZm9jdXMo
KTsKfQoKLyoqIENoZWNrIGlmIHggaXMgYSB2YWxpZCBpbnRlZ2VyICovCmZ1bmN0
aW9uIG9zX2lzTnVtYmVyKHgpewoJaWYoeCA9PSAiIiB8fCBpc05hTih4KSkKCQly
ZXR1cm4gZmFsc2U7Cglmb3IodmFyIGk9MDtpPHgubGVuZ3RoO2krKyl7CgkJdmFy
IGMgPSB4LmNoYXJBdChpKTsKCQlpZiggISAoYyA+PSAnMCcgJiYgYyA8PSAnOScp
ICkKCQkJcmV0dXJuIGZhbHNlOwoJfQoJcmV0dXJuIHRydWU7Cn0KCgovKiogV2hl
biB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQgaGlkZSBldmVyeXRoaW5nLCBjYW5jZWwg
dXBkYXRlcy4uLiAqLwpmdW5jdGlvbiBvc19ldmVudE9uc3VibWl0KGUpewoJdmFy
IHRhcmcgPSBvc19nZXRUYXJnZXQoZSk7CgoJb3NfaXNfc3RvcHBlZCA9IHRydWU7
CgkvLyBraWxsIHRpbWVkIHJlcXVlc3RzCglpZihvc190aW1lciAhPSBudWxsICYm
IG9zX3RpbWVyLmlkICE9IG51bGwpewoJCWNsZWFyVGltZW91dChvc190aW1lci5p
ZCk7CgkJb3NfdGltZXIgPSBudWxsOwoJfQoJLy8gSGlkZSBhbGwgc3VnZ2VzdGlv
bnMKCWZvcihpPTA7aTxvc19hdXRvbG9hZF9pbnB1dHMubGVuZ3RoO2krKyl7CgkJ
dmFyIHIgPSBvc19tYXBbb3NfYXV0b2xvYWRfaW5wdXRzW2ldXTsKCQlpZihyICE9
IG51bGwpewoJCQl2YXIgYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHIuc2Vh
cmNoZm9ybSk7CgkJCWlmKGIgIT0gbnVsbCAmJiBiID09IHRhcmcpewoJCQkJLy8g
c2V0IHF1ZXJ5IHZhbHVlIHNvIHRoZSBoYW5kbGVyIHdvbid0IHRyeSB0byBmZXRj
aCBhZGRpdGlvbmFsIHJlc3VsdHMKCQkJCXIucXVlcnkgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChyLnNlYXJjaGJveCkudmFsdWU7CgkJCX0KCQkJb3NfaGlkZVJl
c3VsdHMocik7CgkJfQoJfQoJcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG9zX2hv
b2tFdmVudChlbGVtZW50LCBob29rTmFtZSwgaG9va0Z1bmN0KSB7CglpZiAoZWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKSB7CgkJZWxlbWVudC5hZGRFdmVudExpc3Rl
bmVyKGhvb2tOYW1lLCBob29rRnVuY3QsIGZhbHNlKTsKCX0gZWxzZSBpZiAod2lu
ZG93LmF0dGFjaEV2ZW50KSB7CgkJZWxlbWVudC5hdHRhY2hFdmVudCgib24iICsg
aG9va05hbWUsIGhvb2tGdW5jdCk7Cgl9Cn0KCi8qKiBJbml0IFJlc3VsdCBvYmpl
Y3RzIGFuZCBldmVudCBoYW5kbGVycyAqLwpmdW5jdGlvbiBvc19pbml0SGFuZGxl
cnMobmFtZSwgZm9ybW5hbWUsIGVsZW1lbnQpewoJdmFyIHIgPSBuZXcgb3NfUmVz
dWx0cyhuYW1lLCBmb3JtbmFtZSk7CgkvLyBldmVudCBoYW5kbGVyCglvc19ob29r
RXZlbnQoZWxlbWVudCwgImtleXVwIiwgZnVuY3Rpb24oZXZlbnQpIHsgb3NfZXZl
bnRLZXl1cChldmVudCk7IH0pOwoJb3NfaG9va0V2ZW50KGVsZW1lbnQsICJrZXlk
b3duIiwgZnVuY3Rpb24oZXZlbnQpIHsgb3NfZXZlbnRLZXlkb3duKGV2ZW50KTsg
fSk7Cglvc19ob29rRXZlbnQoZWxlbWVudCwgImtleXByZXNzIiwgZnVuY3Rpb24o
ZXZlbnQpIHsgb3NfZXZlbnRLZXlwcmVzcyhldmVudCk7IH0pOwoJb3NfaG9va0V2
ZW50KGVsZW1lbnQsICJibHVyIiwgZnVuY3Rpb24oZXZlbnQpIHsgb3NfZXZlbnRC
bHVyKGV2ZW50KTsgfSk7Cglvc19ob29rRXZlbnQoZWxlbWVudCwgImZvY3VzIiwg
ZnVuY3Rpb24oZXZlbnQpIHsgb3NfZXZlbnRGb2N1cyhldmVudCk7IH0pOwoJZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImF1dG9jb21wbGV0ZSIsIm9mZiIpOwoJLy8gc3Rv
cHBpbmcgaGFuZGxlcgoJb3NfaG9va0V2ZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGZvcm1uYW1lKSwgInN1Ym1pdCIsIGZ1bmN0aW9uKGV2ZW50KXsgcmV0dXJu
IG9zX2V2ZW50T25zdWJtaXQoZXZlbnQpOyB9KTsKCW9zX21hcFtuYW1lXSA9IHI7
CgkvLyB0b2dnbGUgbGluawoJaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoci50
b2dnbGUpID09IG51bGwpewoJCS8vIFRPRE86IGRpc2FibGUgdGhpcyB3aGlsZSB3
ZSBmaWd1cmUgb3V0IGEgd2F5IGZvciB0aGlzIHRvIHdvcmsgaW4gYWxsIGJyb3dz
ZXJzCgkJLyogaWYobmFtZT09J3NlYXJjaElucHV0Jyl7CgkJCS8vIHNwZWNpYWwg
Y2FzZTogcGxhY2UgYWJvdmUgdGhlIG1haW4gc2VhcmNoIGJveAoJCQl2YXIgdCA9
IG9zX2NyZWF0ZVRvZ2dsZShyLCJvcy1zdWdnZXN0LXRvZ2dsZSIpOwoJCQl2YXIg
c2VhcmNoQm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2hCb2R5
Jyk7CgkJCXZhciBmaXJzdCA9IHNlYXJjaEJvZHkucGFyZW50Tm9kZS5maXJzdENo
aWxkLm5leHRTaWJsaW5nLmFwcGVuZENoaWxkKHQpOwoJCX0gZWxzZXsKCQkJLy8g
ZGVmYXVsdDogcGxhY2UgYmVsb3cgc2VhcmNoIGJveCB0byB0aGUgcmlnaHQKCQkJ
dmFyIHQgPSBvc19jcmVhdGVUb2dnbGUociwib3Mtc3VnZ2VzdC10b2dnbGUtZGVm
Iik7CgkJCXZhciB0b3AgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zm
c2V0SGVpZ2h0OwoJCQl2YXIgbGVmdCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVs
ZW1lbnQub2Zmc2V0V2lkdGg7CgkJCXQuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1
dGUiOwoJCQl0LnN0eWxlLnRvcCA9IHRvcCArICJweCI7CgkJCXQuc3R5bGUubGVm
dCA9IGxlZnQgKyAicHgiOwoJCQllbGVtZW50LnBhcmVudE5vZGUuYXBwZW5kQ2hp
bGQodCk7CgkJCS8vIG9ubHkgbm93IHdpZHRoIGdldHMgY2FsY3VsYXRlZCwgc2hp
ZnQgcmlnaHQKCQkJbGVmdCAtPSB0Lm9mZnNldFdpZHRoOwoJCQl0LnN0eWxlLmxl
ZnQgPSBsZWZ0ICsgInB4IjsKCQkJdC5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2li
bGUiOwoJCX0gKi8KCX0KCn0KCi8qKiBSZXR1cm4gdGhlIHNwYW4gZWxlbWVudCB0
aGF0IGNvbnRhaW5zIHRoZSB0b2dnbGUgbGluayAqLwpmdW5jdGlvbiBvc19jcmVh
dGVUb2dnbGUocixjbGFzc05hbWUpewoJdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJzcGFuIik7Cgl0LmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKCXQuc2V0
QXR0cmlidXRlKCJpZCIsIHIudG9nZ2xlKTsKCXZhciBsaW5rID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiYSIpOwoJbGluay5zZXRBdHRyaWJ1dGUoImhyZWYiLCJq
YXZhc2NyaXB0OnZvaWQoMCk7Iik7CglsaW5rLm9uY2xpY2sgPSBmdW5jdGlvbigp
eyBvc190b2dnbGUoci5zZWFyY2hib3gsci5zZWFyY2hmb3JtKSB9OwoJdmFyIG1z
ZyA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHdnTVdTdWdnZXN0TWVzc2FnZXNb
MF0pOwoJbGluay5hcHBlbmRDaGlsZChtc2cpOwoJdC5hcHBlbmRDaGlsZChsaW5r
KTsKCXJldHVybiB0Owp9CgovKiogQ2FsbCB3aGVuIHVzZXIgY2xpY2tzIG9uIHNv
bWUgb2YgdGhlIHRvZ2dsZSBsaW5rcyAqLwpmdW5jdGlvbiBvc190b2dnbGUoaW5w
dXRJZCxmb3JtTmFtZSl7CglyID0gb3NfbWFwW2lucHV0SWRdOwoJdmFyIG1zZyA9
ICcnOwoJaWYociA9PSBudWxsKXsKCQlvc19lbmFibGVTdWdnZXN0aW9uc09uKGlu
cHV0SWQsZm9ybU5hbWUpOwoJCXIgPSBvc19tYXBbaW5wdXRJZF07CgkJbXNnID0g
d2dNV1N1Z2dlc3RNZXNzYWdlc1swXTsKCX0gZWxzZXsKCQlvc19kaXNhYmxlU3Vn
Z2VzdGlvbnNPbihpbnB1dElkLGZvcm1OYW1lKTsKCQltc2cgPSB3Z01XU3VnZ2Vz
dE1lc3NhZ2VzWzFdOwoJfQoJLy8gY2hhbmdlIG1lc3NhZ2UKCXZhciBsaW5rID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoci50b2dnbGUpLmZpcnN0Q2hpbGQ7Cgls
aW5rLnJlcGxhY2VDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cpLGxp
bmsuZmlyc3RDaGlsZCk7Cn0KCi8qKiBDYWxsIHRoaXMgdG8gZW5hYmxlIHN1Z2dl
c3Rpb25zIG9uIGlucHV0IChpZD1pbnB1dElkKSwgb24gYSBmb3JtIChuYW1lPWZv
cm1OYW1lKSAqLwpmdW5jdGlvbiBvc19lbmFibGVTdWdnZXN0aW9uc09uKGlucHV0
SWQsIGZvcm1OYW1lKXsKCW9zX2luaXRIYW5kbGVycyggaW5wdXRJZCwgZm9ybU5h
bWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpICk7Cn0KCi8qKiBD
YWxsIHRoaXMgdG8gZGlzYWJsZSBzdWdnZXN0aW9zIG9uIGlucHV0IGJveCAoaWQ9
aW5wdXRJZCkgKi8KZnVuY3Rpb24gb3NfZGlzYWJsZVN1Z2dlc3Rpb25zT24oaW5w
dXRJZCl7CglyID0gb3NfbWFwW2lucHV0SWRdOwoJaWYociAhPSBudWxsKXsKCQkv
LyBjYW5jZWwvaGlkZSByZXN1bHRzCgkJb3NfdGltZXIgPSBudWxsOwoJCW9zX2hp
ZGVSZXN1bHRzKHIpOwoJCS8vIHR1cm4gYXV0b2NvbXBsZXRlIG9uICEKCQlkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChpbnB1dElkKS5zZXRBdHRyaWJ1dGUoImF1dG9j
b21wbGV0ZSIsIm9uIik7CgkJLy8gcmVtb3ZlIGRlc2NyaXB0b3IKCQlvc19tYXBb
aW5wdXRJZF0gPSBudWxsOwoJfQp9CgovKiogSW5pdGlhbGl6YXRpb24sIGNhbGwg
dXBvbiBwYWdlIG9ubG9hZCAqLwpmdW5jdGlvbiBvc19NV1N1Z2dlc3RJbml0KCkg
ewoJZm9yKGk9MDtpPG9zX2F1dG9sb2FkX2lucHV0cy5sZW5ndGg7aSsrKXsKCQl2
YXIgaWQgPSBvc19hdXRvbG9hZF9pbnB1dHNbaV07CgkJdmFyIGZvcm0gPSBvc19h
dXRvbG9hZF9mb3Jtc1tpXTsKCQllbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIGlkICk7CgkJaWYoZWxlbWVudCAhPSBudWxsKQoJCQlvc19pbml0SGFu
ZGxlcnMoaWQsZm9ybSxlbGVtZW50KTsKCX0KfQoKaG9va0V2ZW50KCJsb2FkIiwg
b3NfTVdTdWdnZXN0SW5pdCk7Cgo=
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=centralnotice.js
Content-Type: text/javascript; charset=utf-8; name=centralnotice.js
Content-Location: http://upload.wikimedia.org/centralnotice/wikipedia/ru/centralnotice.js?233zz2
Content-Transfer-Encoding: 8bit
function toggleNotice() {
var notice = document.getElementById('centralNotice');
if (!wgNoticeToggleState) {
notice.className = notice.className.replace('collapsed', 'expanded');
toggleNoticeCookie('0');
} else {
notice.className = notice.className.replace('expanded', 'collapsed');
toggleNoticeCookie('1');
}
wgNoticeToggleState = !wgNoticeToggleState;
}
function toggleNoticeStyle(elems, display) {
if(elems)
for(var i=0;i' + wgNotice+'';
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=flaggedrevs.js
Content-Type: application/x-javascript; charset=utf-8; name=flaggedrevs.js
Content-Location: http://ru.wikipedia.org/w/extensions/FlaggedRevs/flaggedrevs.js?59
Content-Transfer-Encoding: Base64
LyogLS0gKGMpIEFhcm9uIFNjaHVseiwgRGFuaWVsIEFybm9sZCAyMDA4ICovCgov
KiBFdmVyeSB0aW1lIHlvdSBjaGFuZ2UgdGhpcyBKUyBwbGVhc2UgYnVtcCAkd2dG
bGFnZ2VkUmV2U3R5bGVWZXJzaW9uIGluIEZsYWdnZWRSZXZzLnBocCAqLwoKLyog
SGlkZSByYXRpbmcgY2x1dHRlciAqLwpmdW5jdGlvbiBlbmFibGVfc2hvd2hpZGUo
KSB7Cgl2YXIgdG9nZ2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ213LXJl
dmlzaW9udG9nZ2xlJyk7CglpZiggIXRvZ2dsZSApIHJldHVybjsKCXRvZ2dsZS5z
dHlsZS5kaXNwbGF5ID0gJ2lubGluZSc7Cgl2YXIgcmF0aW5ncyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdtdy1yZXZpc2lvbnJhdGluZ3MnKTsKCWlmKCAhcmF0
aW5ncyApIHJldHVybjsKCXJhdGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsK
fQoKLyogVG9nZ2xlcyByYXRpbmdzICovCmZ1bmN0aW9uIHRvZ2dsZVJldlJhdGlu
Z3MoKSB7Cgl2YXIgcmF0aW5ncyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdt
dy1yZXZpc2lvbnJhdGluZ3MnKTsKCWlmKCAhcmF0aW5ncyApIHJldHVybjsKCWlm
KCByYXRpbmdzLnN0eWxlLmRpc3BsYXkgPT0gJ25vbmUnICkgewoJCXJhdGluZ3Mu
c3R5bGUuZGlzcGxheSA9ICdpbmxpbmUnOwoJfSBlbHNlIHsKCQlyYXRpbmdzLnN0
eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cgl9Cn0KCi8qCiogYSkgRGlzYWJsZSBzdWJt
aXQgaW4gY2FzZSBvZiBpbnZhbGlkIGlucHV0LgoqIGIpIFVwZGF0ZSBjb2xvcnMg
d2hlbiBzZWxlY3QgY2hhbmdlcyAoT3BlcmEgYWxyZWFkeSBkb2VzIHRoaXMpLgoq
IGMpIEFsc28gcmVtb3ZlIGNvbW1lbnQgYm94IGNsdXR0ZXIgaW4gY2FzZSBvZiBp
bnZhbGlkIGlucHV0LgoqLwpmdW5jdGlvbiB1cGRhdGVSYXRpbmdGb3JtKCkgewoJ
dmFyIHJhdGluZ2Zvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXctcmF0
aW5nc2VsZWN0cycpOwoJaWYoICFyYXRpbmdmb3JtICkgcmV0dXJuOwoJdmFyIGRp
c2FibGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyLXJhdGluZy1jb250
cm9scy1kaXNhYmxlZCcpOwoJaWYoIGRpc2FibGVkICkgcmV0dXJuOwoKCXZhciBx
dWFsaXR5ID0gdHJ1ZTsKCXZhciBhbGx6ZXJvID0gdHJ1ZTsKCXZhciBzb21lemVy
byA9IGZhbHNlOwoKCWZvciggdGFnIGluIHdnRmxhZ2dlZFJldnNQYXJhbXMudGFn
cyApIHsKCQl2YXIgY29udHJvbE5hbWUgPSAid3AiICsgdGFnOwoJCXZhciBsZXZl
bHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShjb250cm9sTmFtZSk7CgkJ
dmFyIHNlbGVjdGVkbGV2ZWwgPSAwOyAvLyBkZWZhdWx0CgoJCWlmKCBsZXZlbHNb
MF0ubm9kZU5hbWUgPT0gJ1NFTEVDVCcgKSB7CgkJCXNlbGVjdGVkbGV2ZWwgPSBs
ZXZlbHNbMF0uc2VsZWN0ZWRJbmRleDsKCQkJLy8gVXBkYXRlIGNvbG9yLiBPcGVy
YSBkb2VzIHRoaXMgYWxyZWFkeSwgYW5kIGRvaW5nIHNvCgkJCS8vIHNlZW1zIHRv
IGtpbGwgY3VzdG9tIHByZXR0eSBvcGVyYSBza2luIGZvcm0gc3R5bGluZy4KCQkJ
aWYoIG5hdmlnYXRvci5hcHBOYW1lICE9ICdPcGVyYScpIHsKCQkJCXZhbHVlID0g
bGV2ZWxzWzBdLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdvcHRpb24nKVtzZWxlY3Rl
ZGxldmVsXS52YWx1ZTsKCQkJCWxldmVsc1swXS5jbGFzc05hbWUgPSAnZnItcmF0
aW5nLW9wdGlvbi0nICsgdmFsdWU7CgkJCX0KCQl9IGVsc2UgaWYoIGxldmVsc1sw
XS50eXBlID09ICdyYWRpbycgKSB7CgkJCWZvciggaSA9IDA7IGkgPCBsZXZlbHMu
bGVuZ3RoOyBpKysgKSB7CgkJCQlpZiggbGV2ZWxzW2ldLmNoZWNrZWQgKSB7CgkJ
CQkJc2VsZWN0ZWRsZXZlbCA9IGk7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9
IGVsc2UgaWYoIGxldmVsc1swXS50eXBlID09ICdjaGVja2JveCcgKSB7CgkJCXNl
bGVjdGVkbGV2ZWwgPSAobGV2ZWxzWzBdLmNoZWNrZWQpID8gMTogMDsKCQl9IGVs
c2UgewoJCQlyZXR1cm47IC8vIGVycm9yOiBzaG91bGQgbm90IGhhcHBlbgoJCX0K
CgkJLy8gR2V0IHF1YWxpdHkgbGV2ZWwgZm9yIHRoaXMgdGFnCgkJcXVhbGl0eUxl
dmVsID0gd2dGbGFnZ2VkUmV2c1BhcmFtcy50YWdzW3RhZ107CgoJCWlmKCBzZWxl
Y3RlZGxldmVsIDwgcXVhbGl0eUxldmVsICkgewoJCQlxdWFsaXR5ID0gZmFsc2U7
IC8vIG5vdCBhIHF1YWxpdHkgcmV2aWV3CgkJfQoJCWlmKCBzZWxlY3RlZGxldmVs
ID4gMCApIHsKCQkJYWxsemVybyA9IGZhbHNlOwoJCX0gZWxzZSB7CgkJCXNvbWV6
ZXJvID0gdHJ1ZTsKCQl9Cgl9CgkvLyBTaG93IG5vdGUgYm94IG9ubHkgZm9yIHF1
YWxpdHkgcmV2cwoJdmFyIG5vdGVib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbXctbm90ZWJveCcpOwoJaWYoIG5vdGVib3ggKSB7CgkJbm90ZWJveC5zdHls
ZS5kaXNwbGF5ID0gcXVhbGl0eSA/ICdpbmxpbmUnIDogJ25vbmUnOwoJfQoJLy8g
SWYgb25seSBhIGZldyBsZXZlbHMgYXJlIHplcm8sIGRvbid0IHNob3cgc3VibWl0
IGxpbmsKCXZhciBzdWJtaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3Vi
bWl0cmV2aWV3Jyk7CglzdWJtaXQuZGlzYWJsZWQgPSAoIHNvbWV6ZXJvICYmICFh
bGx6ZXJvICkgPyAnZGlzYWJsZWQnIDogJyc7CgkvLyBDbGVhciBub3RlIGJveCBk
YXRhIGlmIG5vdCBzaG93bgoJdmFyIG5vdGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3dwTm90ZXMnKTsKCWlmKCBub3RlcyApIHsKCQlub3Rlcy52YWx1ZSA9
IHF1YWxpdHkgPyBub3Rlcy52YWx1ZSA6ICcnOwoJfQp9CgovKgoqIFVwZGF0ZSBj
b2xvcnMgd2hlbiBzZWxlY3QgY2hhbmdlcyAoT3BlcmEgYWxyZWFkeSBkb2VzIHRo
aXMpLgoqLwpmdW5jdGlvbiB1cGRhdGVGZWVkYmFja0Zvcm0oKSB7Cgl2YXIgYWxs
emVybyA9IHRydWU7Cgl2YXIgcmF0aW5nZm9ybSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdtdy1mZWVkYmFja3NlbGVjdHMnKTsKCWlmKCAhcmF0aW5nZm9ybSAp
IHJldHVybjsKCWZvciggdGFnIGluIHdnRmxhZ2dlZFJldnNQYXJhbXMyLnRhZ3Mg
KSB7CgkJdmFyIGNvbnRyb2xOYW1lID0gIndwIiArIHRhZzsKCQl2YXIgbGV2ZWxz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoY29udHJvbE5hbWUpOwoJCXZh
ciBzZWxlY3RlZGxldmVsID0gMjsgLy8gZGVmYXVsdAoJCWlmKCBsZXZlbHNbMF0u
bm9kZU5hbWUgPT0gJ1NFTEVDVCcgKSB7CgkJCXNlbGVjdGVkbGV2ZWwgPSBsZXZl
bHNbMF0uc2VsZWN0ZWRJbmRleDsKCQkJLy8gVXBkYXRlIGNvbG9yLiBPcGVyYSBk
b2VzIHRoaXMgYWxyZWFkeSwgYW5kIGRvaW5nIHNvCgkJCS8vIHNlZW1zIHRvIGtp
bGwgY3VzdG9tIHByZXR0eSBvcGVyYSBza2luIGZvcm0gc3R5bGluZy4KCQkJaWYo
IG5hdmlnYXRvci5hcHBOYW1lICE9ICdPcGVyYScpIHsKCQkJCWxldmVsc1swXS5j
bGFzc05hbWUgPSAnZnItcmF0aW5nLW9wdGlvbi0nICsgKDQgLSBzZWxlY3RlZGxl
dmVsKTsKCQkJfQoJCQlpZiggc2VsZWN0ZWRsZXZlbCA8PSA0ICkgewoJCQkJYWxs
emVybyA9IGZhbHNlOwoJCQl9CgkJfQoJfQoJdmFyIHN1Ym1pdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdzdWJtaXRmZWVkYmFjaycpOwoJc3VibWl0LmRpc2Fi
bGVkID0gYWxsemVybyA/ICdkaXNhYmxlZCcgOiAnJzsKfQoKYWRkT25sb2FkSG9v
ayhlbmFibGVfc2hvd2hpZGUpOwphZGRPbmxvYWRIb29rKHVwZGF0ZVJhdGluZ0Zv
cm0pOwphZGRPbmxvYWRIb29rKHVwZGF0ZUZlZWRiYWNrRm9ybSk7CgovLyBkZXBl
bmRlbmNpZXM6Ci8vICogYWpheC5qczoKICAvKmV4dGVybiBzYWpheF9pbml0X29i
amVjdCwgc2FqYXhfZG9fY2FsbCAqLwovLyAqIHdpa2liaXRzLmpzOgogIC8qZXh0
ZXJuIGhvb2tFdmVudCwganNNc2cgKi8KCi8vIFRoZXNlIHNob3VsZCBoYXZlIGJl
ZW4gaW5pdGlhbGl6ZWQgaW4gdGhlIGdlbmVyYXRlZCBqcwppZiggdHlwZW9mIHdn
QWpheEZlZWRiYWNrID09PSAidW5kZWZpbmVkIiB8fCAhd2dBamF4RmVlZGJhY2sg
KSB7Cgl3Z0FqYXhGZWVkYmFjayA9IHsKCQlzZW5kaW5nTXNnOiAiU3VibWl0dGlu
Zy4uLiIsCgkJc2VudE1zZzogIlRoYW5rIHlvdSEiCgl9Owp9Cgp3Z0FqYXhGZWVk
YmFjay5zdXBwb3J0ZWQgPSB0cnVlOyAvLyBzdXBwb3J0ZWQgb24gY3VycmVudCBw
YWdlIGFuZCBieSBicm93c2VyCndnQWpheEZlZWRiYWNrLmlucHJvZ3Jlc3MgPSBm
YWxzZTsgLy8gYWpheCByZXF1ZXN0IGluIHByb2dyZXNzCndnQWpheEZlZWRiYWNr
LnRpbWVvdXRJRCA9IG51bGw7IC8vIHNlZSB3Z0FqYXhGZWVkYmFjay5hamF4Q2Fs
bAoKd2dBamF4RmVlZGJhY2suYWpheENhbGwgPSBmdW5jdGlvbigpIHsKCWlmKCAh
d2dBamF4RmVlZGJhY2suc3VwcG9ydGVkICkgewoJCXJldHVybiB0cnVlOwoJfSBl
bHNlIGlmKCB3Z0FqYXhGZWVkYmFjay5pbnByb2dyZXNzICkgewoJCXJldHVybiBm
YWxzZTsKCX0KCWlmKCAhd2ZTdXBwb3J0c0FqYXgoKSApIHsKCQkvLyBMYXp5IGlu
aXRpYWxpemF0aW9uIHNvIHdlIGRvbid0IHRvc3MgdXAKCQkvLyBBY3RpdmVYIHdh
cm5pbmdzIG9uIGluaXRpYWwgcGFnZSBsb2FkCgkJLy8gZm9yIElFIDYgdXNlcnMg
d2l0aCBzZWN1cml0eSBzZXR0aW5ncy4KCQl3Z0FqYXhGZWVkYmFjay5zdXBwb3J0
ZWQgPSBmYWxzZTsKCQlyZXR1cm4gdHJ1ZTsKCX0KCXZhciBmb3JtID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIm13LWZlZWRiYWNrZm9ybSIpOwoJdmFyIHN1Ym1p
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdWJtaXRmZWVkYmFjayIpOwoJ
aWYoICFmb3JtIHx8ICFzdWJtaXQgKSB7CgkJcmV0dXJuIGZhbHNlOwoJfQoJd2dB
amF4RmVlZGJhY2suaW5wcm9ncmVzcyA9IHRydWU7CglzdWJtaXQuZGlzYWJsZWQg
PSAiZGlzYWJsZWQiOwoJc3VibWl0LnZhbHVlID0gd2dBamF4RmVlZGJhY2suc2Vu
ZGluZ01zZzsKCS8vIEJ1aWxkIHVwIGFyZ3VtZW50cwoJdmFyIGFyZ3MgPSBbXTsK
CXZhciBpbnB1dHMgPSBmb3JtLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIp
OwoJZm9yKCB2YXIgaT0wOyBpIDwgaW5wdXRzLmxlbmd0aDsgaSsrKSB7CgkJLy8g
SWdub3JlIHNvbWUgdXNlbGVzcyBpdGVtcy4uLgoJCWlmKCBpbnB1dHNbaV0ubmFt
ZSAhPSAidGl0bGUiICYmIGlucHV0c1tpXS50eXBlICE9ICJzdWJtaXQiICkgewoJ
CQlhcmdzLnB1c2goIGlucHV0c1tpXS5uYW1lICsgInwiICsgaW5wdXRzW2ldLnZh
bHVlICk7CgkJfQoJfQoJdmFyIHNlbGVjdHMgPSBmb3JtLmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJzZWxlY3QiKTsKCWZvciggdmFyIGk9MDsgaSA8IHNlbGVjdHMubGVu
Z3RoOyBpKyspIHsKCQkvLyBHZXQgdGhlIHNlbGVjdGVkIHRhZyBsZXZlbC4uLgoJ
CWlmKCBzZWxlY3RzW2ldLnNlbGVjdGVkSW5kZXggPj0gMCApIHsKCQkJdmFyIHNv
cHRpb24gPSBzZWxlY3RzW2ldLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvcHRpb24i
KVtzZWxlY3RzW2ldLnNlbGVjdGVkSW5kZXhdOwoJCQlhcmdzLnB1c2goIHNlbGVj
dHNbaV0ubmFtZSArICJ8IiArIHNvcHRpb24udmFsdWUgKTsKCQl9CgkJc2VsZWN0
c1tpXS5kaXNhYmxlZCA9ICJkaXNhYmxlZCI7Cgl9CgkvLyBTZW5kIQoJc2FqYXhf
ZG9fY2FsbCggIlJlYWRlckZlZWRiYWNrOjpBamF4UmV2aWV3IiwgYXJncywgd2dB
amF4RmVlZGJhY2sucHJvY2Vzc1Jlc3VsdCApOwoJLy8gSWYgdGhlIHJlcXVlc3Qg
aXNuJ3QgZG9uZSBpbiAxMCBzZWNvbmRzLCBhbGxvdyB1c2VyIHRvIHRyeSBhZ2Fp
bgoJd2dBamF4RmVlZGJhY2sudGltZW91dElEID0gd2luZG93LnNldFRpbWVvdXQo
CgkJZnVuY3Rpb24oKSB7IHdnQWpheEZlZWRiYWNrLmlucHJvZ3Jlc3MgPSBmYWxz
ZTsgd2dBamF4RmVlZGJhY2sudW5sb2NrRm9ybSgpOyB9LAoJCTEwMDAwCgkpOwoJ
cmV0dXJuIGZhbHNlOwp9OwoKd2dBamF4RmVlZGJhY2sudW5sb2NrRm9ybSA9IGZ1
bmN0aW9uKCkgewoJdmFyIGZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bXctZmVlZGJhY2tmb3JtIik7Cgl2YXIgc3VibWl0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN1Ym1pdGZlZWRiYWNrIik7CglpZiggIWZvcm0gfHwgIXN1Ym1p
dCApIHsKCQlyZXR1cm4gZmFsc2U7Cgl9CglzdWJtaXQuZGlzYWJsZWQgPSAiIjsK
CXZhciBzZWxlY3RzID0gZm9ybS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2VsZWN0
Iik7Cglmb3IoIHZhciBpPTA7IGkgPCBzZWxlY3RzLmxlbmd0aDsgaSsrKSB7CgkJ
c2VsZWN0c1tpXS5kaXNhYmxlZCA9ICIiOwoJfQp9OwoKd2dBamF4RmVlZGJhY2su
cHJvY2Vzc1Jlc3VsdCA9IGZ1bmN0aW9uKHJlcXVlc3QpIHsKCWlmKCAhd2dBamF4
RmVlZGJhY2suc3VwcG9ydGVkICkgewoJCXJldHVybjsKCX0KCXZhciByZXNwb25z
ZSA9IHJlcXVlc3QucmVzcG9uc2VUZXh0OwoJaWYoIG1zZyA9IHJlc3BvbnNlLnN1
YnN0cig2KSApIHsKCQlqc01zZyggbXNnLCAnZmVlZGJhY2snICk7CgkJd2luZG93
LnNjcm9sbCgwLDApOwoJfQoJd2dBamF4RmVlZGJhY2suaW5wcm9ncmVzcyA9IGZh
bHNlOwoJaWYoIHdnQWpheEZlZWRiYWNrLnRpbWVvdXRJRCApIHsKCQl3aW5kb3cu
Y2xlYXJUaW1lb3V0KHdnQWpheEZlZWRiYWNrLnRpbWVvdXRJRCk7Cgl9Cgl2YXIg
c3VibWl0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN1Ym1pdGZlZWRiYWNr
Iik7CglpZiggc3VibWl0ICkgewoJCXN1Ym1pdC52YWx1ZSA9IHdnQWpheEZlZWRi
YWNrLnNlbnRNc2c7Cgl9Cn07Cgp3Z0FqYXhGZWVkYmFjay5vbkxvYWQgPSBmdW5j
dGlvbigpIHsKCXZhciBzdWJtaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3VibWl0ZmVlZGJhY2siKTsKCWlmKCBzdWJtaXQgKSB7CgkJc3VibWl0Lm9uY2xp
Y2sgPSB3Z0FqYXhGZWVkYmFjay5hamF4Q2FsbDsKCX0KfTsKCmhvb2tFdmVudCgi
bG9hZCIsIHdnQWpheEZlZWRiYWNrLm9uTG9hZCk7CgovLyBUaGVzZSBzaG91bGQg
aGF2ZSBiZWVuIGluaXRpYWxpemVkIGluIHRoZSBnZW5lcmF0ZWQganMKaWYoIHR5
cGVvZiB3Z0FqYXhSZXZpZXcgPT09ICJ1bmRlZmluZWQiIHx8ICF3Z0FqYXhSZXZp
ZXcgKSB7Cgl3Z0FqYXhSZXZpZXcgPSB7CgkJc2VuZGluZ01zZzogIlN1Ym1pdHRp
bmcuLi4iLAoJCXNlbnRNc2c6ICJTdWJtaXR0ZWQiLAoJCWFjdGlvbmNvbXBsZXRl
OiAiQWN0aW9uIGNvbXBsZXRlIiwKCQlhY3Rpb25mYWlsZWQ6ICJBY3Rpb24gZmFp
bGVkIgoJfTsKfQoKd2dBamF4UmV2aWV3LnN1cHBvcnRlZCA9IHRydWU7IC8vIHN1
cHBvcnRlZCBvbiBjdXJyZW50IHBhZ2UgYW5kIGJ5IGJyb3dzZXIKd2dBamF4UmV2
aWV3LmlucHJvZ3Jlc3MgPSBmYWxzZTsgLy8gYWpheCByZXF1ZXN0IGluIHByb2dy
ZXNzCndnQWpheFJldmlldy50aW1lb3V0SUQgPSBudWxsOyAvLyBzZWUgd2dBamF4
RmVlZGJhY2suYWpheENhbGwKCndnQWpheFJldmlldy5hamF4Q2FsbCA9IGZ1bmN0
aW9uKCkgewoJaWYoICF3Z0FqYXhSZXZpZXcuc3VwcG9ydGVkICkgewoJCXJldHVy
biB0cnVlOwoJfSBlbHNlIGlmKCB3Z0FqYXhSZXZpZXcuaW5wcm9ncmVzcyApIHsK
CQlyZXR1cm4gZmFsc2U7Cgl9CglpZiggIXdmU3VwcG9ydHNBamF4KCkgKSB7CgkJ
Ly8gTGF6eSBpbml0aWFsaXphdGlvbiBzbyB3ZSBkb24ndCB0b3NzIHVwCgkJLy8g
QWN0aXZlWCB3YXJuaW5ncyBvbiBpbml0aWFsIHBhZ2UgbG9hZAoJCS8vIGZvciBJ
RSA2IHVzZXJzIHdpdGggc2VjdXJpdHkgc2V0dGluZ3MuCgkJd2dBamF4UmV2aWV3
LnN1cHBvcnRlZCA9IGZhbHNlOwoJCXJldHVybiB0cnVlOwoJfQoJdmFyIGZvcm0g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXctcmV2aWV3Zm9ybSIpOwoJdmFy
IG5vdGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndwTm90ZXMiKTsKCXZh
ciByZWFzb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid3BSZWFzb24iKTsK
CWlmKCAhZm9ybSApIHsKCQlyZXR1cm4gZmFsc2U7Cgl9Cgl3Z0FqYXhSZXZpZXcu
aW5wcm9ncmVzcyA9IHRydWU7CgkvLyBCdWlsZCB1cCBhcmd1bWVudHMKCXZhciBh
cmdzID0gW107Cgl2YXIgaW5wdXRzID0gZm9ybS5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgiaW5wdXQiKTsKCWZvciggdmFyIGk9MDsgaSA8IGlucHV0cy5sZW5ndGg7IGkr
KykgewoJCS8vIERpZmZlcmVudCBpbnB1dCB0eXBlcyBtYXkgb2NjdXIgZGVwZW5k
aW5nIG9uIHRhZ3MuLi4KCQlpZiggaW5wdXRzW2ldLm5hbWUgPT0gInRpdGxlIiB8
fCBpbnB1dHNbaV0ubmFtZSA9PSAiYWN0aW9uIiApIHsKCQkJLy8gTm8gbmVlZCB0
byBzZW5kIHRoZXNlLi4uCgkJfSBlbHNlIGlmKCBpbnB1dHNbaV0udHlwZSA9PSAi
c3VibWl0IiApIHsKCQkJaW5wdXRzW2ldLnZhbHVlID0gd2dBamF4UmV2aWV3LnNl
bmRpbmdNc2c7CgkJfSBlbHNlIGlmKCBpbnB1dHNbaV0udHlwZSA9PSAiY2hlY2ti
b3giICkgewoJCQlhcmdzLnB1c2goIGlucHV0c1tpXS5uYW1lICsgInwiICsgKGlu
cHV0c1tpXS5jaGVja2VkID8gMSA6IDApICk7CgkJfSBlbHNlIGlmKCBpbnB1dHNb
aV0udHlwZSAhPSAicmFkaW8iIHx8IGlucHV0c1tpXS5jaGVja2VkICkgewoJCQlh
cmdzLnB1c2goIGlucHV0c1tpXS5uYW1lICsgInwiICsgaW5wdXRzW2ldLnZhbHVl
ICk7CgkJfQoJCWlucHV0c1tpXS5kaXNhYmxlZCA9ICJkaXNhYmxlZCI7Cgl9Cglp
Ziggbm90ZXMgKSB7CgkJYXJncy5wdXNoKCBub3Rlcy5uYW1lICsgInwiICsgbm90
ZXMudmFsdWUgKTsKCQlub3Rlcy5kaXNhYmxlZCA9ICJkaXNhYmxlZCI7Cgl9Cgl2
YXIgc2VsZWN0cyA9IGZvcm0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNlbGVjdCIp
OwoJZm9yKCB2YXIgaT0wOyBpIDwgc2VsZWN0cy5sZW5ndGg7IGkrKykgewoJCS8v
IEdldCB0aGUgc2VsZWN0ZWQgdGFnIGxldmVsLi4uCgkJaWYoIHNlbGVjdHNbaV0u
c2VsZWN0ZWRJbmRleCA+PSAwICkgewoJCQl2YXIgc29wdGlvbiA9IHNlbGVjdHNb
aV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9wdGlvbiIpW3NlbGVjdHNbaV0uc2Vs
ZWN0ZWRJbmRleF07CgkJCWFyZ3MucHVzaCggc2VsZWN0c1tpXS5uYW1lICsgInwi
ICsgc29wdGlvbi52YWx1ZSApOwoJCX0KCQlzZWxlY3RzW2ldLmRpc2FibGVkID0g
ImRpc2FibGVkIjsKCX0KCS8vIFNlbmQhCgl2YXIgb2xkID0gc2FqYXhfcmVxdWVz
dF90eXBlOwoJc2FqYXhfcmVxdWVzdF90eXBlID0gIlBPU1QiOwoJc2FqYXhfZG9f
Y2FsbCggIlJldmlzaW9uUmV2aWV3OjpBamF4UmV2aWV3IiwgYXJncywgd2dBamF4
UmV2aWV3LnByb2Nlc3NSZXN1bHQgKTsKCXNhamF4X3JlcXVlc3RfdHlwZSA9IG9s
ZDsKCS8vIElmIHRoZSByZXF1ZXN0IGlzbid0IGRvbmUgaW4gMzAgc2Vjb25kcywg
YWxsb3cgdXNlciB0byB0cnkgYWdhaW4KCXdnQWpheFJldmlldy50aW1lb3V0SUQg
PSB3aW5kb3cuc2V0VGltZW91dCgKCQlmdW5jdGlvbigpIHsgd2dBamF4UmV2aWV3
LmlucHJvZ3Jlc3MgPSBmYWxzZTsgd2dBamF4UmV2aWV3LnVubG9ja0Zvcm0oKTsg
fSwKCQkzMDAwMAoJKTsKCXJldHVybiBmYWxzZTsKfTsKCndnQWpheFJldmlldy51
bmxvY2tGb3JtID0gZnVuY3Rpb24oKSB7Cgl2YXIgZm9ybSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJtdy1yZXZpZXdmb3JtIik7Cgl2YXIgc3VibWl0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN1Ym1pdHJldmlldyIpOwoJdmFyIG5vdGVz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndwTm90ZXMiKTsKCXZhciByZWFz
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid3BSZWFzb24iKTsKCWlmKCAh
Zm9ybSB8fCAhc3VibWl0ICkgewoJCXJldHVybiBmYWxzZTsKCX0KCXN1Ym1pdC5k
aXNhYmxlZCA9ICIiOwoJdmFyIGlucHV0cyA9IGZvcm0uZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImlucHV0Iik7Cglmb3IoIHZhciBpPTA7IGkgPCBpbnB1dHMubGVuZ3Ro
OyBpKyspIHsKCQlpbnB1dHNbaV0uZGlzYWJsZWQgPSAiIjsKCX0KCWlmKCBub3Rl
cyApIHsKCQlub3Rlcy5kaXNhYmxlZCA9ICIiOwoJfQoJaWYoIHJlYXNvbiApIHsK
CQlyZWFzb24uZGlzYWJsZWQgPSAiIjsKCX0KCXZhciBzZWxlY3RzID0gZm9ybS5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgic2VsZWN0Iik7Cglmb3IoIHZhciBpPTA7IGkg
PCBzZWxlY3RzLmxlbmd0aDsgaSsrKSB7CgkJc2VsZWN0c1tpXS5kaXNhYmxlZCA9
ICIiOwoJfQp9OwoKd2dBamF4UmV2aWV3LnByb2Nlc3NSZXN1bHQgPSBmdW5jdGlv
bihyZXF1ZXN0KSB7CglpZiggIXdnQWpheFJldmlldy5zdXBwb3J0ZWQgKSB7CgkJ
cmV0dXJuOwoJfQoJdmFyIHJlc3BvbnNlID0gcmVxdWVzdC5yZXNwb25zZVRleHQ7
CglpZiggbXNnID0gcmVzcG9uc2Uuc3Vic3RyKDYpICkgewoJCWpzTXNnKCBtc2cs
ICdyZXZpZXcnICk7CgkJd2luZG93LnNjcm9sbCgwLDApOwoJfQoJd2dBamF4UmV2
aWV3LmlucHJvZ3Jlc3MgPSBmYWxzZTsKCWlmKCB3Z0FqYXhSZXZpZXcudGltZW91
dElEICkgewoJCXdpbmRvdy5jbGVhclRpbWVvdXQod2dBamF4UmV2aWV3LnRpbWVv
dXRJRCk7Cgl9Cgl2YXIgc3VibWl0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN1Ym1pdHJldmlldyIpOwoJaWYoIHN1Ym1pdCApIHsKCQlzdWJtaXQudmFsdWUg
PSB3Z0FqYXhSZXZpZXcuc2VudE1zZzsKCX0KCWlmKCByZXNwb25zZS5pbmRleE9m
KCc8c3VjIz4nKSA9PSAwICkgewoJCXdnQWpheFJldmlldy51bmxvY2tGb3JtKCk7
CgkJZG9jdW1lbnQudGl0bGUgPSB3Z0FqYXhSZXZpZXcuYWN0aW9uY29tcGxldGU7
Cgl9IGVsc2UgewoJCWRvY3VtZW50LnRpdGxlID0gd2dBamF4UmV2aWV3LmFjdGlv
bmZhaWxlZDsKCX0KfTsKCndnQWpheFJldmlldy5vbkxvYWQgPSBmdW5jdGlvbigp
IHsKCXZhciBzdWJtaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VibWl0
cmV2aWV3Iik7CglpZiggc3VibWl0ICkgewoJCXN1Ym1pdC5vbmNsaWNrID0gd2dB
amF4UmV2aWV3LmFqYXhDYWxsOwoJfQp9OwoKaG9va0V2ZW50KCJsb2FkIiwgd2dB
amF4UmV2aWV3Lm9uTG9hZCk7Cg==
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=index.js
Content-Type: text/javascript; charset=utf-8; name=index.js
Content-Location: http://ru.wikipedia.org/w/index.php?title=-&action=raw&gen=js&useskin=monobook
Content-Transfer-Encoding: 8bit
/* generated javascript */
var skin = 'monobook';
var stylepath = '/skins-1.5';
/* MediaWiki:Common.js */
//See http://ru.wikipedia.org/wiki/project:code //
importScript_ = importScript
importScript = function (page, proj){
if (!proj) importScript_(page)
else {
if (proj.indexOf('.')==-1) proj += '.wikipedia.org'
importScriptURI('http://'+proj+'/w/index.php?action=raw&ctype=text/javascript&title='+encodeURIComponent(page.replace(/ /g,'_')))
}
}
addLoadEvent = addOnloadHook
function LinkFA(){
var pLang = document.getElementById('p-lang')
if (!pLang) return
var iw = pLang.getElementsByTagName('li')
for (var i=0; i < iw.length; i++)
if (document.getElementById(iw[i].className+'-fa')){
iw[i].className += ' FA'
iw[i].title = 'Эта статья является избранной в другом языковом разделе'
}else if (document.getElementById(iw[i].className+'-ga')){
iw[i].className += ' GA'
iw[i].title = 'Эта статья является хорошей в другом языковом разделе'
}
}
function icqIcons(){
var a, spans = document.getElementById('content').getElementsByTagName('span')
for (var i=0; a=spans[i]; i++)
if (a.className == 'ICQ')
a.style.backgroundImage = "url('http://status.icq.com/online.gif?icq="+a.id+"&img=5&randseed="+Math.floor(Math.random()*10000000)+"')"
}
function newSectionLink(){
var plus = document.getElementById('ca-addsection')
if (!plus) return
var custom = document.getElementById('add-custom-section')
if (!custom) return
plus.firstChild.setAttribute('href', custom.getElementsByTagName('a')[0].href)
}
function editZeroSection(){
var body = document.getElementById('bodyContent')
if (!body) return
var h2s = body.getElementsByTagName('H2')
var h2 = h2s[0]
if (!h2) return
if (h2.parentNode.id == 'toctitle') h2 = h2s[1]
if (!h2) return
var span = h2.firstChild
if (!span || span.className != 'editsection') return
var zero = span.cloneNode(true)
body.insertBefore(zero, body.firstChild)
var a = zero.getElementsByTagName('a')[0]
if (a.href.indexOf('§ion=T') == -1 ) a.title = a.title.replace(/:.*$/,': 0')
else a.title = 'Править секцию: 0'
a.setAttribute('href', wgScript + '?title='+encodeURIComponent(wgPageName) + '&action=edit§ion=0')
}
function mainPage(){
if (wgArticleId == 23 || wgArticleId == 4401){
var li = addPortletLink('p-lang', wgArticlePath.replace(/\$1/, 'Википедия:Список_Википедий'), 'Полный список', 'interwiki-completelist')
if (li) li.style.fontWeight = 'bold'
var nstab = document.getElementById('ca-nstab-main') || document.getElementById('ca-current')
if (nstab && wgUserLanguage == 'ru') nstab.firstChild.firstChild.nodeValue = 'Заглавная'
}
}
//Collapsiblе: [[ВП:СБ]]
var NavigationBarShowDefault = 2
var NavigationBarHide = '[скрыть]'
var NavigationBarShow = '[показать]'
var hasClass = (function (){
var reCache = {}
return function (element, className){
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className)
}
})()
function collapsibleTables(){
var Table, HRow, HCell, btn, a, tblIdx = 0, colTables = []
var allTables = document.getElementsByTagName('table')
for (var i=0; Table = allTables[i]; i++){
if (!hasClass(Table, 'collapsible')) continue
if (!(HRow=Table.rows[0])) continue
if (!(HCell=HRow.getElementsByTagName('th')[0])) continue
Table.id = 'collapsibleTable' + tblIdx
btn = document.createElement('span')
btn.style.cssText = 'float:right; font-weight:normal; font-size:smaller'
a = document.createElement('a')
a.id = 'collapseButton' + tblIdx
a.href = 'javascript:collapseTable(' + tblIdx + ');'
a.style.color = HCell.style.color
a.appendChild(document.createTextNode(NavigationBarHide))
btn.appendChild(a)
HCell.insertBefore(btn, HCell.childNodes[0])
colTables[tblIdx++] = Table
}
for (var i=0; i < tblIdx; i++)
if ((tblIdx > NavigationBarShowDefault && hasClass(colTables[i], 'autocollapse')) || hasClass(colTables[i], 'collapsed'))
collapseTable(i)
}
function collapseTable (idx){
var Table = document.getElementById('collapsibleTable' + idx)
var btn = document.getElementById('collapseButton' + idx)
if (!Table || !btn) return false
var Rows = Table.rows
var isShown = (btn.firstChild.data == NavigationBarHide)
btn.firstChild.data = isShown ? NavigationBarShow : NavigationBarHide
var disp = isShown ? 'none' : Rows[0].style.display
for (var i=1; i < Rows.length; i++)
Rows[i].style.display = disp
}
function collapsibleDivs(){
var navIdx = 0, colNavs = [], i, NavFrame
var divs = document.getElementById('content').getElementsByTagName('div')
for (i=0; NavFrame = divs[i]; i++) {
if (!hasClass(NavFrame, 'NavFrame')) continue
NavFrame.id = 'NavFrame' + navIdx
var a = document.createElement('a')
a.className = 'NavToggle'
a.id = 'NavToggle' + navIdx
a.href = 'javascript:collapseDiv(' + navIdx + ');'
a.appendChild(document.createTextNode(NavigationBarHide))
for (var j=0; j < NavFrame.childNodes.length; j++)
if (hasClass(NavFrame.childNodes[j], 'NavHead'))
NavFrame.childNodes[j].appendChild(a)
colNavs[navIdx++] = NavFrame
}
for (i=0; i < navIdx; i++)
if ((navIdx > NavigationBarShowDefault && !hasClass(colNavs[i], 'expanded')) || hasClass(colNavs[i], 'collapsed'))
collapseDiv(i)
}
function collapseDiv(idx) {
var div = document.getElementById('NavFrame' + idx)
var btn = document.getElementById('NavToggle' + idx)
if (!div || !btn) return false
var isShown = (btn.firstChild.data == NavigationBarHide)
btn.firstChild.data = isShown ? NavigationBarShow : NavigationBarHide
var disp = isShown ? 'none' : 'block'
for (var child = div.firstChild; child != null; child = child.nextSibling)
if (hasClass(child, 'NavPic') || hasClass(child, 'NavContent'))
child.style.display = disp
}
//Execution
if (wgCanonicalNamespace == 'Special'){
switch (wgCanonicalSpecialPageName){
case 'Upload': importScript_('MediaWiki:Upload.js'); break
case 'Search': importScript_('MediaWiki:Search.js'); break
}
}else if (wgAction != 'history'){
addOnloadHook(editZeroSection)
addOnloadHook(collapsibleDivs)
addOnloadHook(collapsibleTables)
addOnloadHook(mainPage)
importScript('MediaWiki:Wikiminiatlas.js', 'meta.wikimedia.org')
if (navigator.appName=='Microsoft Internet Explorer' && document.createStyleSheet)
document.createStyleSheet().addRule('.IPA', 'font-family: "Doulos SIL", "Charis SIL", Gentium, "DejaVu Sans", Code2000, "TITUS Cyberbit Basic", "Arial Unicode MS", "Lucida Sans Unicode", "Chrysanthi Unicode";')
if (wgNamespaceNumber==0 || wgNamespaceNumber==100)
addOnloadHook(LinkFA)
else {
addOnloadHook(icqIcons)
addOnloadHook(newSectionLink)
}
if (wgAction=='edit' || wgAction=='submit') importScript_('MediaWiki:Editpage.js')
}
if (wgUserGroups)
for (var i=0; i
/* MediaWiki:Monobook.js */
/* Указанный здесь JavaScript будет загружен всем участникам, использующим тему оформления MonoBook */
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://upload.wikimedia.org/wikipedia/ru/b/bc/Wiki.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAIcAAACbCAQAAADi+kBhAAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAA
dTAAAOpgAAA6mAAAF2+SX8VGAAA8BklEQVR42uzdeZxlZXUv/O/eZ6q5urqq54mm
oSfmQQYZm0lA4yxijHGIGhNQcxPfjDe2/SZRY16TGODeqMmNiREcYkzigAqIgEIz
ydzd0HQ3PVTPNVedOuPe7x/nqUM12Exips/dfPhwqH323s9ez3rW+q3fWus5Uer/
Hk8f8f8VwSFHOu2fn/3Yveyez/7x2OvSq/d85ZSf14gfy1dnb1j2zaO/2PHySyD7
cg3ygXhg1sK3+q3q4haj7uk76Zfc/8Ku3Blvzo6L43GdlVcnzz6/Lx6I21vmto+0
bZqxPpuUKyv2Lxl5RfGY9J9u+bs5+44tvZyiflnEMR6XTtj7/tkXdx7Rl5ltvz12
Z7ecc9ecM/e9gLlp2XFifGZmcTzTRObffvyDsyqHnh/Nl06K3lo6Z+fcYnZfvhzl
Cve3dmqLOtSP2fHu3Ee+f2v78Fm1/0TiGO0qvr/+kUVz8iIlX/antphrMP9E2/Nf
u2VB9dPxJb2dMzP56Ek7Tu7Z6onmooiH4o7lpY9WXlXtnowqCrIiRf3yOnWbY2zx
E19p/077/7z7ySSZW1la+w8Xx5647ajin2x+/Yxsnxs8YtidtslZOXTiX7xz2/Nf
/6PX9Lzu5JYjlNS02reosOIHu4vtrdmubFvess7LB948PG+hjJysjKNM2i6nZrfU
cWbbHo28euvxs/6/tgcn+3fvvK/22uQ/UByPZzOvL3/y0WUP6bHJl/SDnDXjF3zs
A3/3Qu6wMX+7BT7iWOPmOn5Oem28r6Ul1xm3JIVsS3dLKXrYKhMgkUoNyWnRbbWc
z3lA1tmL4s9sSfPVUz5U/0b/8ILKf4g4dmaLxxX+x+RbdreU9LjRLQZ1KaR1J41c
sfa9f/XC7lLdsL96b8s5TpLR4eRMaXFmMRV5JTVlXSp2mOcAUnXHmG9AbLfvetQT
BvyCdqnOqJi/+48LV028YdueuZXW2r+zOPbkva937disJ810ps/b7iIH2XvcF8d2
zX/ovbc9h+nM7prxSG4in8325frcf/po9miXGjUpq12bHUpmo+TvvUebs6x3uj4H
ZKT2yjtaxe1u9qiCt7vUJDp1Gusb6btl8wmXz725Eudf4qKJpqON6AVetLWv/ffb
fm2kZYNOp9vrhxYY9alk9Rc/+67n9SQn7v4fm46sZjNd3Z1tM+K2GZkZSsa0KOjH
l53hBDzgq/5fZakx9zjOUkUbPOUV9jpKzkH73WObgpUiq5A1bpOltde2d8YtL8L9
pj+bdjw8r/ap1rdFmT3aHC/S4c34hDvi6JIbz77sR8/jlC8pXHl0PpVTVZCVV1TW
ZsSXjdngSRWvUPdd++RUJbqd7WEH9DngXF2GPOBoM+W8zYTf8zVXOlpBSd4i9ezQ
os7tlY64lH0JS+ZFg/T9cfKh6pWTmbr5jtViUkHOg76NUufuRc93fTKvkO3WpVWX
SGpSWZvYP/m6CR/1YXtk7LJR0b9qR6LFqeaZdKIWo+Zb7WHjuoxpcYRV3q1bIiPV
q+5HG/qPjCvZl2Q/XrQ4sqfMeeOcLP32mVCXk1d0o0e1OXXzih88r2oWalI1iZqC
glZZsbJhH/T7ZsupK/tjp/oDXzciL5FIzbBIwaSsWIvVfiQvr+p0VWPIisSquo3m
b35863HVLNV4Iv65imPP0dFf5JdT0qNHQYS6b/qioiOrr/jO2c+LQ/fVEkSyCor2
GtEqknhSRklqAokLXeEUR/g7edmwulOxnH022qtFl0fMV3WCee5XkJGVlRGZa8It
920/r56NZ8Q/T+14al7uz9JXVtTMxWwzRWI3+TNParF65zEvAGtsfHKg0qpD6jHX
+jV/6BEtsqgjZ7sOra7Up+St1huQEYulYpG6nzhSaqtWfSbE8q7woEmRSF2EmlYl
37ppw5pqtjZvsOXn4mi/EC+dmf2jttdMRuPm26fDpHEtNviM+7U4vvjaa0/b8vz3
ufuOTaOXtCxwm3/wA0U84c8t8EGL1STudonUuEjZMtdoVUUqUhfLyeqw2DYZsUGx
Ccfbb9AsdRl1kUinit3RD74/8er8I9Hy0ae6Rl9mR3vb7KfOO+oXj7o8n5/Qqe4x
rbJ6pf7SNVhZ/8gX3vneF/bIi39SOmmpu2zWY0ExSra13xvNV1XW6od+yz+brSSS
IlaWUVMP40tt1O+dtkjUJVJVEcrqEjU1CUY85XQj9qQd1Vr+7DfN/7e5tRfmaF/Q
YhmY1/JnC7/Y+vqJ/IisNq2OscgCC23yPVWz0vfc/EKFwUlf21f5B1strV1+52+9
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
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=poweredby_mediawiki_88x31.png
Content-Type: image/png; name=poweredby_mediawiki_88x31.png
Content-Location: http://ru.wikipedia.org/skins-1.5/common/images/poweredby_mediawiki_88x31.png
Content-Transfer-Encoding: Base64
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
NgAAAABJRU5ErkJggg==
------------nFj1yVgoqg3AiAn1ZqsUe1
Content-Disposition: inline; filename=wikimedia-button.png
Content-Type: image/png; name=wikimedia-button.png
Content-Location: http://ru.wikipedia.org/images/wikimedia-button.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAFgAAAAfCAMAAABUFvrSAAAAA3NCSVQICAjb4U/g
AAAAilBMVEVjZGeGh4nn6+yZmZni5uTW1taAgYNtbnGkpKYBhbLd3t1svZdCroKt
rq/Cv79ztMs7ncDMzMy5t7enzL3Hx8h6e37l5eXw8PDK0dOVwtOozdsfkrnKk47E
1tUNiba8RjxKs4bN3eKawM2SybIslr5Yp8TV4N+80dbY5Oek08O5zNJ+wqW20cf2
9vZ09tAFAAAACXBIWXMAAArwAAAK8AFCrDSYAAACh0lEQVR4Xs3RiZKbMAwGYMu3
zX2T+072fP/XqwSUppM0bLfdmf1DxlhmvhGCRV8UFmVfkm8Ig/0beLnZbJYfcuNK
T8Htr6BLcvuBCAv5o/Pf4HjTJ/4AbCyICVhRXk6JUssBXiqVpK16FCvyXJcPHvgJ
n5xLVD7CydqdHsKEWjsN7x3B2QC3Kun2k5mE29Rhh4eiH3JcHOgN1vt/h/fIXN7C
bZEtl8us2IbFauH6YRirFBO0Wqa6K1bM5gzLQDvGtNKMGdEqrcmrRth7fyIlCMPt
M26et2EYUGlxwZ0w3jKDz2WWeVSZ9Z5glltGBY8B8LERtHgwLPeUHsZJ7FfoYc/o
0vq2X+Ms8Chj1gD+he/gCjzBMasMq6hgbdSJwtCSsaiCK3jh1i8FgWFwfg0pxQXh
mceAYZkwLO5hMGUPx2DtLWxZLlg2wFJKhC9FBwZ+gFcES0zOhGxZJaVleKmqUrKD
VV+QGACJo6ClqgDwDjPC87cRHjveS0rVSimiAZalAdXBQ4ExkEAfTyGcd2WjRhhn
PDv3o5AdvN3N6OPJT4fguq4T51J5uIJf65RK9efTw3Pn3PwcjHBwnq+dS+qHiadg
zvkT9nc8o9zDwWp3xEns+MOU412W3Z72MKcG0119CF7lITjIXepw6nesSliuhS0B
Ig48ByEzDaXW+Z9gnqC0QOoJf3x+xN3pXpMRt23FJXAuFHBdRpFQXEbl3Y4bCj85
TJrMZrMkXXduc5syaoSHpsGLVl2WStRNE5XNTQjuQj1TEKUk5N7CGiypNApcc4BY
aVClju7CQ+bY6YCn8+ZusmsArk8ewEQn6WKxOCZz3kzDXEzB71fhT7sn/v4/QvBN
vjv8RfkBEHe0Bwh42FAAAAAASUVORK5CYII=
------------nFj1yVgoqg3AiAn1ZqsUe1--