Content-Type: multipart/related; start=; boundary=----------iAFZvHdFZAFgV7ziFcVhyI
Content-Location: http://blogs.mail.ru/mail/malvo_59/6A0FB98C5FD4D15C.html
Subject: =?utf-8?Q?=D0=91=D0=BB=D0=BE=D0=B3=D0=B8@Mail.Ru:=20=D0=91=D0=B0=D0=BA=D0=BE=D1=82=D0=B0?=
MIME-Version: 1.0
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=6A0FB98C5FD4D15C.html
Content-Type: text/html; charset=windows-1251; name=6A0FB98C5FD4D15C.html
Content-ID:
Content-Location: http://blogs.mail.ru/mail/malvo_59/6A0FB98C5FD4D15C.html
Content-Transfer-Encoding: Base64
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo8IWRvY3R5cGUgaHRtbCBwdWJsaWMgIi0v
L1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3
LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgo8aHRtbD4KCgo8aGVhZD4KCgoK
Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Lyo8IVtDREFUQVsqLw0K
dHJ5IHsNCi8vIHNuOiBiZjExMA0KLy8gxO7h4OLr5e3o5SDx7uH78ujpDQpmdW5j
dGlvbiB0aW1lSW50ZXJ2YWwoYlApIHsNCiAgICAgICAgaWYgKCFyVFtiUF0pIHJU
W2JQXSA9IG5ldyBEYXRlKCk7DQogICAgICAgIGVsc2Ugew0KICAgICAgICAgICAg
ICAgIHJULmlbclQuaS5sZW5ndGhdID0gYlAgKyAnPScgKyAoIChuZXcgRGF0ZSgp
KS5nZXRUaW1lKCkgLSByVFtiUF0uZ2V0VGltZSgpICk7DQogICAgICAgICAgICAg
ICAgZGVsZXRlIHJUW2JQXTsNCiAgICAgICAgfQ0KfQ0KDQp2YXIgclQgPSB7fTsv
L3JlbmRlclRpbWUNCnJULmkgPSBbXTsNCnRpbWVJbnRlcnZhbCgncmVuZGVyYnJv
d3NlcicpOw0KclQuYWRkSGFuZGxlciA9IGZ1bmN0aW9uKG9iamVjdCwgZXZlbnQs
IGhhbmRsZXIsIHVzZUNhcHR1cmUpIHsNCiAgICAgICAgaWYgKG9iamVjdC5hZGRF
dmVudExpc3RlbmVyKSBvYmplY3QuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgaGFu
ZGxlciwgdXNlQ2FwdHVyZSA/IHVzZUNhcHR1cmUgOiBmYWxzZSk7DQogICAgICAg
IGVsc2UgaWYgKG9iamVjdC5hdHRhY2hFdmVudCkgb2JqZWN0LmF0dGFjaEV2ZW50
KCdvbicgKyBldmVudCwgaGFuZGxlcik7DQp9DQpyVC5yYWRhcl90eXBlID0gJyc7
DQppZiAod2luZG93Lm5hbWUuaW5kZXhPZignc3J2dCcpICE9IC0xKSB7DQogICAg
ICAgIHJULnNydnQgPSAoIG5ldyBEYXRlKCkgKS5nZXRUaW1lKCkgLSBwYXJzZUlu
dCggd2luZG93Lm5hbWUuc3Vic3RyKDUpICk7DQogICAgICAgIHdpbmRvdy5uYW1l
ID0gJyc7DQp9DQoNCnJULmFkZEhhbmRsZXIoZG9jdW1lbnQsICdjbGljaycsIGZ1
bmN0aW9uKCkgew0KICAgICAgICBpZiAoIXdpbmRvdy5uYW1lLmxlbmd0aCB8fCB3
aW5kb3cubmFtZS5pbmRleE9mKCdzcnZ0JykgPiAtMSkNCiAgICAgICAgICAgICAg
ICB3aW5kb3cubmFtZSA9ICdzcnZ0PScgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgp
Ow0KfSk7DQpyVC5hZGRIYW5kbGVyKGRvY3VtZW50LCAna2V5cHJlc3MnLCBmdW5j
dGlvbigpIHsNCiAgICAgICAgaWYgKHdpbmRvdy5uYW1lLmluZGV4T2YoJ3NydnQn
KSA+IC0xKSB3aW5kb3cubmFtZSA9ICcnOw0KfSk7DQoNCnJULmltZzAgPSBuZXcg
SW1hZ2UoKTsNCnJULmltZzAuc3JjID0gJ2h0dHA6Ly9ibG9ncy5yYWRhci5pbWdz
bWFpbC5ydS91cGRhdGU/JyArDQoncD1ibG9nczAnICsNCihyVC5yYWRhcl90eXBl
ICE9ICcnID8gKCcmdD0nICsgclQucmFkYXJfdHlwZSkgOiAnJykgKw0KKHJULnNy
dnQgPyAoJyZpPXNydnQ6JyArIHJULnNydnQpIDogJycpICsNCicmdj0wJnJuZD0x
OTU4MDI4MzMnICsNCicnOw0KDQp9IGNhdGNoKGUpIHt9DQovKl1dPiovPC9zY3Jp
cHQ+DQoNCg0KICAgICAgICAKCgoKCQoJCQoJCQkJCQkKCQkJCTxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWwoJCQkJdHJ5ewoJCQkJdGlt
ZUludGVydmFsKCdqb3VybmFsX3NraW4nKTsKCQkJCX1jYXRjaChlKSB7fQoJCQkJ
Ly8tLT48L3NjcmlwdD4JCQkKCQkJCQkKCQkKCQoKCgoKPHRpdGxlPgoKCsHr7uPo
QE1haWwuUnU6IMHg6u7y4AoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo8L3RpdGxlPgo8bWV0YSBodHRw
LWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNl
dD13aW5kb3dzLTEyNTEiPgoKCgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPi8vPCFbQ0RBVEFbCnRyeXsKdGltZUludGVydmFsKCd0ZXN0Jyk7Cn1jYXRj
aChlKSB7fQovLy0tPjwvc2NyaXB0PgoKCgo8bGluayBocmVmPSJodHRwOi8vaW1n
Lm1haWwucnUvbWFpbC9ydS9jc3MvYmxvZ3MvNDA5LmNzcz8xMCIgcmVsPSJzdHls
ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Cgo8bGluayBocmVmPSJodHRwOi8vaW1n
Lm1haWwucnUvbWFpbC9ydS9jc3MvcGFkZG1hcmdfaS5jc3M/MSIgcmVsPSJzdHls
ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CjxsaW5rIGhyZWY9Imh0dHA6Ly9pbWcu
bWFpbC5ydS9tYWlsL3J1L2Nzcy9ibG9ncy90aGVtZXMuY3NzPzE4IiByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KPGxpbmsgaHJlZj0iaHR0cDovL2lt
Zy5tYWlsLnJ1L21haWwvcnUvY3NzL2Jsb2dzL3N0YXR1c19kb2dzLmNzcz8yIiBy
ZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KPGxpbmsgaHJlZj0iaHR0
cDovL2ltZy5tYWlsLnJ1L21haWwvcnUvY3NzL2Jsb2dzL2NhbGVuZGFyLmNzcz8x
IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KPGxpbmsgcmVsPSJT
SE9SVENVVCBJQ09OIiBocmVmPSJodHRwOi8vaW1nLm1haWwucnUvbWFpbC9ydS9p
bWFnZXMvYmxvZ3MvZmF2aWNvbi5pY28iPgoKPCEtLSBicmVuZCBraXR0eSAtLT4K
PGxpbmsgaHJlZj0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvYnJlbmRzL2tp
dHR5LmNzcz8xIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KCgoK
CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ci8qIElFOCBib29rbWFya3MgKi8KLnBy
b21vX2Jvb2ttYXJrcyBpIHtiYWNrZ3JvdW5kOiB1cmwoaHR0cDovL2ltZzAuaW1n
c21haWwucnUvbWFpbC9ydS9pbWFnZXMvbXkvX3Nwcml0ZV90b3AucG5nPzMpIG5v
LXJlcGVhdCAwIC0xMDBweDt9Ci5wcm9tb19ib29rbWFya3Mge2JhY2tncm91bmQ6
IHVybChodHRwOi8vaW1nMC5pbWdzbWFpbC5ydS9tYWlsL3J1L2ltYWdlcy9teS9f
c3ByaXRlX3RvcC5wbmc/Mykgbm8tcmVwZWF0IC0yMHB4IC0xMDBweDt9Ci5wcm9t
b19ib29rbWFya3MgcyB7YmFja2dyb3VuZDogdXJsKGh0dHA6Ly9pbWcwLmltZ3Nt
YWlsLnJ1L21haWwvcnUvaW1hZ2VzL215L19zcHJpdGVfdG9wLnBuZz8zKSBuby1y
ZXBlYXQgMTAwJSAtMTAwcHggIWltcG9ydGFudDt9Cjwvc3R5bGU+CgoKCgoKPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL2ltZzMuaW1n
c21haWwucnUvbWFpbC9ydS9pbWFnZXMvanMvbXlqcy9wcm90b3R5cGUtMS42LjAu
My5qcyI+PC9zY3JpcHQ+CgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgovLyB2YXJpYWJsZSBmb3IgaW5jbHVkZSBqcwp2YXIgVGhlbWVfdG1wbCA9IDE7
Cgp2YXIgUGVybFZhcl9Kb3VybmFsRW1haWwgPSAibWFsdm9fNTlAbWFpbC5ydSI7
CnZhciBQZXJsVmFyX0Jsb2dzUGVybEhvc3QgPSAiYmxvZ3MubWFpbC5ydSI7CnZh
ciBQZXJsVmFyX0FDVElPTl9ESVIgPSAiL2NnaS1iaW4vam91cm5hbC8iOwp2YXIg
UGVybFZhcl9iYWNrID0gImJhY2s9aHR0cCYjMDM3OzNhJiMwMzc7MmYmIzAzNzsy
ZmJsb2dzLm1haWwucnUmIzAzNzsyZm1haWwmIzAzNzsyZm1hbHZvXzU5JiMwMzc7
MmY2QTBGQjk4QzVGRDREMTVDLmh0bWwiLnJlcGxhY2UoLyYjMDM3Oy9nLCclJyk7
CnZhciBQZXJsVmFyX0FjdGl2ZUVtYWlsID0gIiI7CnZhciBQZXJsVmFyX2JhY2tf
dmFsdWUgPSAiaHR0cDovL2Jsb2dzLm1haWwucnUvbWFpbC9tYWx2b181OS82QTBG
Qjk4QzVGRDREMTVDLmh0bWwiOwp2YXIgUGVybFZhcl9hY3RpdmVfc3Vic2NyaWJl
ZCA9IDA7CnZhciBQZXJsVmFyX0pvdXJuYWxEaXIgPSAiL21haWwvbWFsdm9fNTkv
IjsKdmFyIFBlcmxWYXJfRmF2b3JpdGVzUmVxdWVzdCA9IDA7CnZhciBQZXJsVmFy
X3RhZ19zZWFyY2hfcGF0aCA9ICJ0YWcvIjsKCnZhciBQZXJsVmFyX0F1dGhQYWdl
ID0gIi9tYWlsL21hbHZvXzU5LzZBMEZCOThDNUZENEQxNUMuaHRtbCI7CgoKdmFy
IFBlcmxWYXJfRW50cnlfSUQgPSAiNkEwRkI5OEM1RkQ0RDE1QyI7CnZhciBQZXJs
VmFyX1VSTCA9ICIvbWFpbC9tYWx2b181OS82QTBGQjk4QzVGRDREMTVDLmh0bWw/
dGhyZWFkPTAmYW1wO3BhZ2U9MSZhbXA7c2tpcD0wIjsKdmFyIFBlcmxWYXJfUHJv
S2V5ID0gIjEiOwp2YXIgUGVybFZhcl9Qcm9LZXlFeHBpcmUgPSAiNTAwIjsKdmFy
IFBlcmxWYXJfY29tbWVudHNfc3Vic2NyaWJlZCA9IDA7Cgp2YXIgUGVybFZhcl9F
eHRsaW5rc19BbGVydCA9IDE7CnZhciBQZXJsVmFyX0FjdGl2ZUlEID0gJ0FjdGl2
ZUlEJzsKCnZhciBQaG90b1VybFBvcHVwID0gImh0dHA6Ly9mb3RvLm1haWwucnUv
Y2dpLWJpbi9waG90by9hZGRwaG90bz9ibG9ncz0xJlRpdGxlPSI7CnZhciBWaWRl
b1VybFBvcHVwID0gImh0dHA6Ly92aWRlby5tYWlsLnJ1L2NnaS1iaW4vcGhvdG8v
YWRkdmlkZW8/YmxvZ3M9MSZUaXRsZT0iOwp2YXIgTXVzaWNVcmxQb3B1cCA9ICJo
dHRwOi8vbXkubWFpbC5ydS9jZ2ktYmluL215L2FkZG11c2ljP2Jsb2dzPTEiOwp2
YXIgUG9sbFVybFBvcHVwID0gImh0dHA6Ly9ibG9ncy5tYWlsLnJ1L2NnaS1iaW4v
am91cm5hbC9qcG9sbHM/YWRkcG9sbD0xIjsKdmFyIFBlcmxWYXJfbW5BID0gMDsK
dmFyIFBlcmxWYXJfbW5CID0gMDsKPC9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CnZhciBNYWdpY2tTdHJpbmc9J0FqYXhSZXNwb25zZSc7
CnZhciBPS0NvbW1hbmQ9J09LJzsKdmFyIEVycm9yQ29tbWFuZD0nRXJyb3InOwp2
YXIgUmVkaXJlY3RDb21tYW5kPSdSZWRpcmVjdCc7Cjwvc2NyaXB0PjxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9y
L2pzL2pzb24yLmpzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CmZ1bmN0aW9uIHNlbmRfYWpheF9yZXF1ZXN0KCkgewogICAgdmFyIG1l
dGhvZCAgICAgID0gYXJndW1lbnRzWzBdOwogICAgdmFyIHNjcmlwdF9uYW1lID0g
YXJndW1lbnRzWzFdOwogICAgdmFyIGZ1bmMgICAgICAgID0gYXJndW1lbnRzWzJd
OwogICAgdmFyIGFyZ3MgICAgICAgID0gYXJndW1lbnRzWzNdOwogICAgdmFyIGZ1
bmNfYXJncyA9IFtdOwogICAgdmFyIGNhbGxiYWNrOwogICAgdmFyIGNhbGxiYWNr
X29iamVjdDsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkr
KykgewogICAgICAgIGlmICh0eXBlb2YgYXJnc1tpXSAhPSAidW5kZWZpbmVkIiAm
JiBhcmdzW2ldLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uKSB7CiAgICAgICAgICAg
IGNhbGxiYWNrID0gYXJnc1tpXTsKICAgICAgICAgICAgaWYgKGFyZ3MubGVuZ3Ro
ID4gaSArIDEpIHsKICAgICAgICAgICAgICAgIGNhbGxiYWNrX29iamVjdCA9IGFy
Z3NbaSArIDFdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGZ1bmNfYXJnc1tmdW5jX2FyZ3MubGVu
Z3RoXSA9IGFyZ3NbaV07CiAgICAgICAgfQogICAgfQogICAgdmFyIHJlcXVlc3Qg
PSBuZXcgQWpheFJlcXVlc3QobWV0aG9kLCBzY3JpcHRfbmFtZSwgZnVuYywgZnVu
Y19hcmdzLCBjYWxsYmFjaywgY2FsbGJhY2tfb2JqZWN0KTsKICAgIGFqYXhfcmVx
dWVzdHMucHVzaChyZXF1ZXN0KTsKICAgIGlmICghcmVxdWVzdC5zZW5kKCkpIHsK
ICAgICAgICBhamF4X3JlcXVlc3RzLnNwbGljZShhamF4X3JlcXVlc3RzLmxlbmd0
aCAtIDEsIDEpOwogICAgfQp9CmZ1bmN0aW9uIHBlcmxfZmV0Y2hfbGl2ZV9wb3N0
cygpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9f
NTkvamFqYXgiLCAicGVybF9mZXRjaF9saXZlX3Bvc3RzIiwgYXJndW1lbnRzKTsK
fQpmdW5jdGlvbiBwZXJsX2ZldGNoX3N1Z2dlc3QoKSB7CiAgICBzZW5kX2FqYXhf
cmVxdWVzdCgiR0VUIiwgIi9tYWlsL21hbHZvXzU5L2phamF4IiwgInBlcmxfZmV0
Y2hfc3VnZ2VzdCIsIGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24gcGVybF9jaGFsbGVu
Z2Vfdm90ZSgpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAiL21haWwv
bWFsdm9fNTkvamFqYXgiLCAicGVybF9jaGFsbGVuZ2Vfdm90ZSIsIGFyZ3VtZW50
cyk7Cn0KZnVuY3Rpb24gcGVybF9jcmVhdGVfbXkoKSB7CiAgICBzZW5kX2FqYXhf
cmVxdWVzdCgiR0VUIiwgIi9tYWlsL21hbHZvXzU5L2phamF4IiwgInBlcmxfY3Jl
YXRlX215IiwgYXJndW1lbnRzKTsKfQpmdW5jdGlvbiBwZXJsX2dldF9jYWxlbmRh
cigpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9f
NTkvamFqYXgiLCAicGVybF9nZXRfY2FsZW5kYXIiLCBhcmd1bWVudHMpOwp9CmZ1
bmN0aW9uIHBlcmxfc2VuZF9jb21wbGFpbigpIHsKICAgIHNlbmRfYWpheF9yZXF1
ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9fNTkvamFqYXgiLCAicGVybF9zZW5kX2Nv
bXBsYWluIiwgYXJndW1lbnRzKTsKfQpmdW5jdGlvbiBwZXJsX3Bvc3RzX2NvbW1l
bnRzX3N1YnNjcmliZSgpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAi
L21haWwvbWFsdm9fNTkvamFqYXgiLCAicGVybF9wb3N0c19jb21tZW50c19zdWJz
Y3JpYmUiLCBhcmd1bWVudHMpOwp9CmZ1bmN0aW9uIHBlcmxfcG9zdF9taWNyb3Bv
c3QoKSB7CiAgICBzZW5kX2FqYXhfcmVxdWVzdCgiR0VUIiwgIi9tYWlsL21hbHZv
XzU5L2phamF4IiwgInBlcmxfcG9zdF9taWNyb3Bvc3QiLCBhcmd1bWVudHMpOwp9
CmZ1bmN0aW9uIHBlcmxfY2hhbGxlbmdlX2NoZWNrX2NhcGNoYSgpIHsKICAgIHNl
bmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9fNTkvamFqYXgiLCAi
cGVybF9jaGFsbGVuZ2VfY2hlY2tfY2FwY2hhIiwgYXJndW1lbnRzKTsKfQpmdW5j
dGlvbiBwZXJsX2xlbnRhX3JlYWQoKSB7CiAgICBzZW5kX2FqYXhfcmVxdWVzdCgi
R0VUIiwgIi9tYWlsL21hbHZvXzU5L2phamF4IiwgInBlcmxfbGVudGFfcmVhZCIs
IGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24gcGVybF9jaGFsbGVuZ2VfZ2V0X2NhcGNo
YSgpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9f
NTkvamFqYXgiLCAicGVybF9jaGFsbGVuZ2VfZ2V0X2NhcGNoYSIsIGFyZ3VtZW50
cyk7Cn0KZnVuY3Rpb24gcGVybF9hZGRfZnJpZW5kX2J5ZW1haWwoKSB7CiAgICBz
ZW5kX2FqYXhfcmVxdWVzdCgiR0VUIiwgIi9tYWlsL21hbHZvXzU5L2phamF4Iiwg
InBlcmxfYWRkX2ZyaWVuZF9ieWVtYWlsIiwgYXJndW1lbnRzKTsKfQpmdW5jdGlv
biBwZXJsX3ZvdGVfcG9zdCgpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQi
LCAiL21haWwvbWFsdm9fNTkvamFqYXgiLCAicGVybF92b3RlX3Bvc3QiLCBhcmd1
bWVudHMpOwp9CmZ1bmN0aW9uIHBlcmxfdm90ZSgpIHsKICAgIHNlbmRfYWpheF9y
ZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9fNTkvamFqYXgiLCAicGVybF92b3Rl
IiwgYXJndW1lbnRzKTsKfQpmdW5jdGlvbiBwZXJsX3NldF9mYXZvcml0ZXNfdGFn
cygpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9f
NTkvamFqYXgiLCAicGVybF9zZXRfZmF2b3JpdGVzX3RhZ3MiLCBhcmd1bWVudHMp
Owp9CmZ1bmN0aW9uIHBlcmxfcG9zdF9jb21tZW50KCkgewogICAgc2VuZF9hamF4
X3JlcXVlc3QoIkdFVCIsICIvbWFpbC9tYWx2b181OS9qYWpheCIsICJwZXJsX3Bv
c3RfY29tbWVudCIsIGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24gcGVybF9nZXRfcG9z
dF9wcm90ZWN0X2tleSgpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAi
L21haWwvbWFsdm9fNTkvamFqYXgiLCAicGVybF9nZXRfcG9zdF9wcm90ZWN0X2tl
eSIsIGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24gcGVybF9hZGRfYmxhY2tsaXN0KCkg
ewogICAgc2VuZF9hamF4X3JlcXVlc3QoIkdFVCIsICIvbWFpbC9tYWx2b181OS9q
YWpheCIsICJwZXJsX2FkZF9ibGFja2xpc3QiLCBhcmd1bWVudHMpOwp9CmZ1bmN0
aW9uIHBlcmxfY29tbXNlYXJjaF9zdWdnZXN0KCkgewogICAgc2VuZF9hamF4X3Jl
cXVlc3QoIkdFVCIsICIvbWFpbC9tYWx2b181OS9qYWpheCIsICJwZXJsX2NvbW1z
ZWFyY2hfc3VnZ2VzdCIsIGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24gcGVybF9zY3Jl
ZW5fcG9zdCgpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAiL21haWwv
bWFsdm9fNTkvamFqYXgiLCAicGVybF9zY3JlZW5fcG9zdCIsIGFyZ3VtZW50cyk7
Cn0KZnVuY3Rpb24gcGVybF9wb2xsX3ZvdGUoKSB7CiAgICBzZW5kX2FqYXhfcmVx
dWVzdCgiR0VUIiwgIi9tYWlsL21hbHZvXzU5L2phamF4IiwgInBlcmxfcG9sbF92
b3RlIiwgYXJndW1lbnRzKTsKfQpmdW5jdGlvbiBwZXJsX2dldF9mcmllbmRfc3Rh
dHVzKCkgewogICAgc2VuZF9hamF4X3JlcXVlc3QoIkdFVCIsICIvbWFpbC9tYWx2
b181OS9qYWpheCIsICJwZXJsX2dldF9mcmllbmRfc3RhdHVzIiwgYXJndW1lbnRz
KTsKfQpmdW5jdGlvbiBwZXJsX2NoZWNrX2ZyaWVuZHNoaXBfY2FwY2hhKCkgewog
ICAgc2VuZF9hamF4X3JlcXVlc3QoIkdFVCIsICIvbWFpbC9tYWx2b181OS9qYWph
eCIsICJwZXJsX2NoZWNrX2ZyaWVuZHNoaXBfY2FwY2hhIiwgYXJndW1lbnRzKTsK
fQpmdW5jdGlvbiBwZXJsX2NoZWNrX2NhcGNoYSgpIHsKICAgIHNlbmRfYWpheF9y
ZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9fNTkvamFqYXgiLCAicGVybF9jaGVj
a19jYXBjaGEiLCBhcmd1bWVudHMpOwp9CmZ1bmN0aW9uIHBlcmxfYWRkX2ZyaWVu
ZCgpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9f
NTkvamFqYXgiLCAicGVybF9hZGRfZnJpZW5kIiwgYXJndW1lbnRzKTsKfQpmdW5j
dGlvbiBwZXJsX2dldF9mcmllbmRzaGlwX2NhcGNoYSgpIHsKICAgIHNlbmRfYWph
eF9yZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9fNTkvamFqYXgiLCAicGVybF9n
ZXRfZnJpZW5kc2hpcF9jYXBjaGEiLCBhcmd1bWVudHMpOwp9CmZ1bmN0aW9uIHBl
cmxfYWRkX2Zhdm9yaXRlcygpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQi
LCAiL21haWwvbWFsdm9fNTkvamFqYXgiLCAicGVybF9hZGRfZmF2b3JpdGVzIiwg
YXJndW1lbnRzKTsKfQpmdW5jdGlvbiBwZXJsX2dldF9jYXBjaGFfaWQoKSB7CiAg
ICBzZW5kX2FqYXhfcmVxdWVzdCgiR0VUIiwgIi9tYWlsL21hbHZvXzU5L2phamF4
IiwgInBlcmxfZ2V0X2NhcGNoYV9pZCIsIGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24g
cGVybF9jaGVja19jYXBjaGFfbmVlZGVkKCkgewogICAgc2VuZF9hamF4X3JlcXVl
c3QoIkdFVCIsICIvbWFpbC9tYWx2b181OS9qYWpheCIsICJwZXJsX2NoZWNrX2Nh
cGNoYV9uZWVkZWQiLCBhcmd1bWVudHMpOwp9CmZ1bmN0aW9uIHBlcmxfY2hhbGxl
bmdlX3Bvc3NpYmxlKCkgewogICAgc2VuZF9hamF4X3JlcXVlc3QoIkdFVCIsICIv
bWFpbC9tYWx2b181OS9qYWpheCIsICJwZXJsX2NoYWxsZW5nZV9wb3NzaWJsZSIs
IGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24gcGVybF9jaGFsbGVuZ2Vfb2ZmZXIoKSB7
CiAgICBzZW5kX2FqYXhfcmVxdWVzdCgiR0VUIiwgIi9tYWlsL21hbHZvXzU5L2ph
amF4IiwgInBlcmxfY2hhbGxlbmdlX29mZmVyIiwgYXJndW1lbnRzKTsKfQpmdW5j
dGlvbiBwZXJsX3Nob3dfY29tbWVudCgpIHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0
KCJHRVQiLCAiL21haWwvbWFsdm9fNTkvamFqYXgiLCAicGVybF9zaG93X2NvbW1l
bnQiLCBhcmd1bWVudHMpOwp9CmZ1bmN0aW9uIHBlcmxfcHJldl9pbmZvcm1lcigp
IHsKICAgIHNlbmRfYWpheF9yZXF1ZXN0KCJHRVQiLCAiL21haWwvbWFsdm9fNTkv
amFqYXgiLCAicGVybF9wcmV2X2luZm9ybWVyIiwgYXJndW1lbnRzKTsKfQpmdW5j
dGlvbiBwZXJsX2NvbXBvc3RfaW52aXRlX2luZm8oKSB7CiAgICBzZW5kX2FqYXhf
cmVxdWVzdCgiR0VUIiwgIi9tYWlsL21hbHZvXzU5L2phamF4IiwgInBlcmxfY29t
cG9zdF9pbnZpdGVfaW5mbyIsIGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24gcGVybF9z
ZXRfcG9zdF90YWdzKCkgewogICAgc2VuZF9hamF4X3JlcXVlc3QoIkdFVCIsICIv
bWFpbC9tYWx2b181OS9qYWpheCIsICJwZXJsX3NldF9wb3N0X3RhZ3MiLCBhcmd1
bWVudHMpOwp9Cgo8L3NjcmlwdD4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Imh0dHA6Ly9qcy5pbWdzbWFpbC5ydS9yL2pzL2Jsb2dzL2Z1bmMu
anM/MTUiPjwvc2NyaXB0PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iaHR0cDovL2pzLmltZ3NtYWlsLnJ1L3IvanMvYmxvZ3MvcHVsbGRvd24u
anM/MTMiPjwvc2NyaXB0PgoKCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Imh0dHA6Ly9qcy5pbWdzbWFpbC5ydS9yL2pzL2Jsb2dzL2hlbHAuanM/
OCI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Imh0dHA6Ly9qcy5pbWdzbWFpbC5ydS9yL2pzL2Jsb2dzL2ZsdWVudF9vcGVuaW5n
LmpzPzUiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJodHRwOi8vanMuaW1nc21haWwucnUvci9qcy9ibG9ncy9tZW51X3VzZXIu
anM/MTEiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJodHRwOi8vanMuaW1nc21haWwucnUvci9qcy9ibG9ncy90YWdzLmpzPzci
Pjwvc2NyaXB0PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
aHR0cDovL2pzLmltZ3NtYWlsLnJ1L3IvanMvYmxvZ3MvY2FsZW5kYXJfdGhlbWUu
anM/MyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Imh0dHA6Ly9qcy5pbWdzbWFpbC5ydS9yL2pzL2Jsb2dzL2R1ZWwuanM/NyI+
PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0
dHA6Ly9qcy5pbWdzbWFpbC5ydS9yL2pzL2Jsb2dzL3ZvdGUuanM/NiI+PC9zY3Jp
cHQ+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8v
anMuaW1nc21haWwucnUvci9qcy9ibG9ncy9tdXNpYy5qcz81Ij48L3NjcmlwdD4K
CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9qcy5p
bWdzbWFpbC5ydS9yL2pzL2Jsb2dzL2plbnRyeS5qcz85Ij48L3NjcmlwdD4KCgoK
PCEtLVtpZiBsdCBJRSA3XT4KPCFbaWYgZ3RlIElFIDUuNV0+CjxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9qcy5pbWdzbWFpbC5ydS9y
L2pzL2Jsb2dzL3BuZy5qcyI+PC9zY3JpcHQ+CjxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+IAouSUVwbmcgeyBmaWx0ZXI6ZXhwcmVzc2lvbihQTkcodGhpcykpOyB9IAou
SUVwbmcgQSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfS8qIPHy6Ov8IOTr/yDt7vDs
4Ov87e7pIPDg4e7y+yDx8fvr7uog4iD96+Xs5e3y4PUg8SBQTkct9O7t7uwgKi8K
LklFcG5nIGlucHV0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9Lyog8fLo6/wg5Ov/
IO3u8Ozg6/zt7ukg8ODh7vL7IPTu8Owg4iD96+Xs5e3y4PUg8SBQTkct9O7t7uwg
Ki8KPC9zdHlsZT4KPCFbZW5kaWZdPgo8IVtlbmRpZl0tLT4KCjwhLS0gYmxvZ3Nf
anNfdGVzdCAtLT4KPCEtLSAvYmxvZ3NfanNfdGVzdCAtLT4KCgo8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ly88IVtDREFUQVsKdHJ5ewp0aW1lSW50ZXJ2
YWwoJ3Rlc3QnKTsKfWNhdGNoKGUpIHt9Ci8vLS0+PC9zY3JpcHQ+CgoKCgo8L2hl
YWQ+CjwhLS0gQkVHSU46IHRvcF9iYXNlIC0tPgo8Ym9keSBhbGluaz0iI0YyNkQw
MCIgbGluaz0iIzA4NTdBNiIgdmxpbms9IiMwODU3QTYiIG9ubG9hZD0iIj4KCjxk
aXYgaWQ9ImNvbXBsYWluX2Zvcm0iIGNsYXNzPSJjb21wbGFpbl9mb3JtIiBzdHls
ZT0iZGlzcGxheTpub25lIj48L2Rpdj4KCjxkaXYgc3R5bGU9InBvc2l0aW9uOmFi
c29sdXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7IHdpZHRoOjEwMCU7IGhlaWdo
dDogMTUwMDsgb3BhY2l0eTowLjU7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTsg
ei1pbmRleDoyMDA7ZGlzcGxheTpub25lOyIgaWQ9InNoYWRvd19kaXYiPjxpbWcg
c3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9
IjEiIC8+PC9kaXY+Cgo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHdp
ZHRoOiA0MDBweDsgYm9yZGVyOiAzcHggc29saWQgI0ZGRDE3NTsgYmFja2dyb3Vu
ZDogI0ZGRkJGNDsgei1pbmRleDogMjU1OyBkaXNwbGF5OiBub25lOyIgaWQ9ImR1
ZWxfY29uZmlybV9kaXYiPjwvZGl2PgoKPGRpdiBzdHlsZT0iZGlzcGxheTogbm9u
ZSIgaWQ9ImNoYWxsZW5nZV90aHJvd19kaXZjb250ZW50ZGVmYXVsdF8yNjI3NjU2
MiI+CiAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6ODFweDt3aWR0aDo4MHB4O2JhY2tn
cm91bmQ6dXJsKGh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2NoYWxsZW5nZS9n
YXVudGxldF93b21hbi5wbmcpIG5vLXJlcGVhdDtwb3NpdGlvbjpyZWxhdGl2ZTsg
dG9wOi0xNXB4OyBsZWZ0Oi0xNXB4O2Zsb2F0OmxlZnQ7IiBjbGFzcz0iSUVwbmci
PjwvZGl2PgogICAgPHRhYmxlIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0i
MCIgYm9yZGVyPSIwIj4KICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0ZD4KICAg
ICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjojRjI0QjAxOyBmb250LXNp
emU6MTZweDsgZm9udC13ZWlnaHQ6Ym9sZDsgZm9udC1mYW1pbHk6YXJpYWw7Ij7C
+yDk5enx8uLo8uXr/O3uIPXu8ujy5TxiciAvPiDh8O7x6PL8IOL75+7iIO/u6/zn
7uLg8uXr/j88L3NwYW4+PGJyIC8+CiAgICAgICAgICAgICAgICA8YnIgLz4KICAg
ICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vYXZ0LmZvdG8ubWFpbC5ydS9t
YWlsL21hbHZvXzU5L19hdmF0YXJzbWFsbCIgYm9yZGVyPSIwIiBhbHQ9IiIgYWxp
Z249ImFic21pZGRsZSIgY2xhc3M9Im1yNSIgPiAKICAgICAgICAgICAgICAgIDxh
IGhyZWY9Imh0dHA6Ly93d3cubWFpbC5ydS9hZ2VudD9tZXNzYWdlJmFtcDt0bz1t
YWx2b181OUBtYWlsLnJ1Ij48aW1nIHNyYz0iaHR0cDovL3N0YXR1cy5tYWlsLnJ1
Lz9tYWx2b181OUBtYWlsLnJ1IiBhbGlnbj0iYWJzbWlkZGxlIiBib3JkZXI9IjAi
IGhlaWdodD0iMTMiIHdpZHRoPSIxMyI+PC9hPiZuYnNwOyZuYnNwOzxhIGhyZWY9
Ii9tYWlsL21hbHZvXzU5LyIgc3R5bGU9ImNvbG9yOiMwODU3QTY7Ij48Yj5NYWx2
aW48L2I+PC9hPjxiciAvPgogICAgICAgICAgICA8L3RkPgogICAgICAgIDwvdHI+
CiAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICA8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAi
IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0zMHB4OyI+PHRyPgog
ICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAg
PGRpdiBzdHlsZT0id2lkdGg6MzBweDtoZWlnaHQ6NjZweDtiYWNrZ3JvdW5kOnVy
bChodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9jaGFsbGVuZ2UvcmFta2EtYmln
dGFpbC1sZWZ0LnBuZykgbm8tcmVwZWF0IGNlbnRlciByaWdodDsiIGNsYXNzPSJJ
RXBuZyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAg
ICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBj
ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCIgd2lkdGg9
IjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6N3B4Ij48ZGl2
IGNsYXNzPSJjb3JuZXIgdG9wbGVmdCBweDEiPjwvZGl2PjwvdGQ+CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJidWJibGVfYmciPjwv
dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJ3
aWR0aDo3cHgiPjxkaXYgY2xhc3M9ImNvcm5lciB0b3ByaWdodCBweDEiPjwvZGl2
PjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDx0ZCBjbGFzcz0iYnViYmxlX2JnIj48L3RkPgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iYnViYmxlX2JnIj4KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIN8g4vvn++Lg/iDi4PEg7eAg
5PP96/wsIO/u8u7s8yD38u46CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA8dGV4dGFyZWEgbmFtZT0iZXZlbnQiIGlkPSJjaGFsbGVuZ2VfdGhyb3df
dGV4dF9kZWZhdWx0IiBzdHlsZT0id2lkdGg6IDIyOHB4OyBib3JkZXI6IDFweCBz
b2xpZCAjN0Y5REI5OyBoZWlnaHQ6IDUycHg7IG92ZXJmbG93LXg6IGhpZGRlbjsg
b3ZlcmZsb3cteTogYXV0bzsiIG9ua2V5cHJlc3M9InJldHVybiBjaGVja190aHJv
d19sZW5ndGgodGhpcykiIG9ua2V5dXA9InJldHVybiBjaGVja190aHJvd19sZW5n
dGgodGhpcykiIG9ua2V5ZG93bj0icmV0dXJuIGNoZWNrX3Rocm93X2xlbmd0aCh0
aGlzKSIgb25jaGFuZ2U9InJldHVybiBjaGVja190aHJvd19sZW5ndGgodGhpcyki
IHdyYXA9InZpcnR1YWwiPu3lIPfo8uDrIOLg+CDh6+7jLCDt7iDu8fPm5OD+ITwv
dGV4dGFyZWE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImJ1YmJs
ZV9iZyI+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDo3cHgiPjxkaXYgY2xhc3M9
ImNvcm5lciBib3R0b21sZWZ0IHB4MSI+PC9kaXY+PC90ZD4KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImJ1YmJsZV9iZyI+PC90ZD4K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9IndpZHRo
OjdweCI+PGRpdiBjbGFzcz0iY29ybmVyIGJvdHRvbXJpZ2h0IHB4MSI+PC9kaXY+
PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAg
ICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgPC90
ZD4KICAgICAgICAgICAgICAgIDwvdHI+PC90YWJsZT4KICAgICAgICAgICAgPC90
ZD4KICAgICAgICA8L3RyPgogICAgPC90YWJsZT4KCjxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij48IS0tCmZ1bmN0aW9uIGNvbmZpcm1fY2hhbGxlbmdlX29m
ZmVyKEpvdXJuYWxJRCwgcXVlc3Rpb24pIHsKICAgIGlmICghcXVlc3Rpb24ubGVu
Z3RoKSB7CiAgICAgICAgYWxlcnQoJ83l7uH17uTo7O4g4uLl8fLoIO/w6Pfo7fMg
4vvn7uLgIScpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHBlcmxfY2hhbGxl
bmdlX29mZmVyKEpvdXJuYWxJRCwgcXVlc3Rpb24sIHBlcmxfY2hhbGxlbmdlX29m
ZmVyX2NhbGxiYWNrKTsKICAgIGhpZGVfY2hhbGxlbmdlX2RpdnMoKTsKfQovLy0t
Pjwvc2NyaXB0PgoKICAgIDxkaXYgY2xhc3M9InB0MTAgcGIxMCIgYWxpZ249ImNl
bnRlciI+CiAgICAgICAgPGZvcm0gY2xhc3M9Im0wIiBhY3Rpb249Imh0dHA6Ly9i
bG9ncy5tYWlsLnJ1L21haWwvbWFsdm9fNTkvamNoYWxsZW5nZSIgb25zdWJtaXQ9
ImNvbmZpcm1fY2hhbGxlbmdlX29mZmVyKCcyNjI3NjU2MicsIGdlYmkoJ2NoYWxs
ZW5nZV90aHJvd190ZXh0X2RlZmF1bHQnKS52YWx1ZSk7IHJldHVybiBmYWxzZTsi
PgogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFs
dWU9Im9mZmVyIiAvPgogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9
ImJhY2siIHZhbHVlPSJodHRwOi8vYmxvZ3MubWFpbC5ydS9tYWlsL21hbHZvXzU5
LzZBMEZCOThDNUZENEQxNUMuaHRtbCIgLz4KICAgICAgICA8aW5wdXQgdHlwZT0i
c3VibWl0IiB2YWx1ZT0iwvvn4uDy/CIgY2xhc3M9Im1yMTAiIC8+CiAgICAgICAg
PGlucHV0IHR5cGU9ImJ1dHRvbiIgdmFsdWU9Is7pISDfIO/l8OXk8+zg6yEiIG9u
Y2xpY2s9ImhpZGVfY2hhbGxlbmdlX2RpdnMoKTsiIC8+PC9mb3JtPgogICAgPC9k
aXY+CjwvZGl2Pgo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRo
OiA2NTBweDsgYm9yZGVyOiAzcHggc29saWQgI0ZGRDE3NTsgYmFja2dyb3VuZDog
I0ZGRkJGNDsgei1pbmRleDogMjU1OyBkaXNwbGF5OiBub25lOyIgaWQ9ImR1ZWxf
YWNjZXB0X2RpdiI+PC9kaXY+Cgo8ZGl2IHN0eWxlPSJkaXNwbGF5OiBub25lIiBp
ZD0iY2hhbGxlbmdlX2FjY2VwdF9kaXZjb250ZW50Ij4KICA8dGFibGUgY2VsbHNw
YWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBib3JkZXI9IjAiIHdpZHRoPSIxMDAl
Ij4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSI2NSIgc3R5bGU9InZlcnRpY2Fs
LWFsaWduOiB0b3A7Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJnYXVudGxldCI+CiAg
ICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGUiPgogICAgICAg
ICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2ltYWdlcy9ibG9n
cy9jaGFsbGVuZ2UvZ2F1bnRsZXRfbWFuLnBuZyIgY2xhc3M9IklFcG5nIiB3aWR0
aD0iODAiIGhlaWdodD0iODEiIC8+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8
L2Rpdj4KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIDx0YWJsZSBjZWxs
c3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJvcmRlcj0iMCIgY2xhc3M9InB0
MTAgcHIxMCI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0ZCBhbGlnbj0i
cmlnaHQiIHdpZHRoPSI1MCUiIGNsYXNzPSJ2YWxpZ24gY2hhbGxlbmdlX2F1dG9w
b3N0X2dyYWRlIj4KICAgICAgICAgICAgICA8c3Bhbj4wPC9zcGFuPjxiciAvPgog
ICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciIg
cm93c3Bhbj0iMiIgY2xhc3M9InBsNSB2YWxpZ24gcHI1Ij4KICAgICAgICAgICAg
ICA8YSBocmVmPSIiPjxpbWcgYm9yZGVyPSIwIiBhbHQ9IiIgc3JjPSJodHRwOi8v
YXZ0LmZvdG8ubWFpbC5ydV9hdmF0YXIiIC8+PC9hPgogICAgICAgICAgICA8L3Rk
PgogICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciIgcm93c3Bhbj0iMiIgY2xh
c3M9ImNoYWxsZW5nZV9hdXRvcG9zdF90aW1lX2xlZnQgdmFsaWduIj4KICAgICAg
ICAgICAgICA8aW1nIGJvcmRlcj0iMCIgY2xhc3M9IklFcG5nIiBzcmM9Imh0dHA6
Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2R1ZWwvcGlzdG9scy5wbmciIHdpZHRoPSI3
OCIgaGVpZ2h0PSI3OCIgLz48YnIgLz4KICAgICAgICAgICAgIDxzcGFuIHN0eWxl
PSJkaXNwbGF5OiBub25lOyIgaWQ9ImNoYWNjcmVtXzEiPs7x8uDr7vH8IDI0IPfg
8eA8L3NwYW4+PHNwYW4gc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiBpZD0iY2hhY2Ny
ZW1fMyI+zvHy4Ovu8fwgMyDk7f88L3NwYW4+PHNwYW4gc3R5bGU9ImRpc3BsYXk6
IG5vbmU7IiBpZD0iY2hhY2NyZW1fNSI+zvHy4Ovu8fwgNSDk7eXpPC9zcGFuPjxz
cGFuIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgaWQ9ImNoYWNjcmVtXzciPs7x8uDr
7vH8IDcg5O3l6Twvc3Bhbj4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAg
PHRkIGFsaWduPSJjZW50ZXIiIHJvd3NwYW49IjIiIGNsYXNzPSJwbDUgdmFsaWdu
IHByNSI+CiAgICAgICAgICAgICAgPGEgaHJlZj0iIj48aW1nIGJvcmRlcj0iMCIg
YWx0PSIiIHNyYz0iaHR0cDovL2F2dC5mb3RvLm1haWwucnVfYXZhdGFyIiAvPjwv
YT4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkIGFsaWduPSJsZWZ0
IiB3aWR0aD0iNTAlIiBjbGFzcz0idmFsaWduIGNoYWxsZW5nZV9hdXRvcG9zdF9n
cmFkZSI+CiAgICAgICAgICAgICAgPHNwYW4+MDwvc3Bhbj48YnIgLz4KICAgICAg
ICAgICAgPC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAg
ICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0iYm90dG9tIiBjbGFzcz0i
cGI1Ij4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3Lm1haWwucnUv
YWdlbnQ/bWVzc2FnZSZhbXA7dG89Ij48aW1nIGhlaWdodD0iMTMiIGJvcmRlcj0i
MCIgYWxpZ249ImFic21pZGRsZSIgd2lkdGg9IjEzIiBjbGFzcz0iSUVwbmciIHNy
Yz0iaHR0cDovL3N0YXR1cy5tYWlsLnJ1Lz8iLz48L2E+oDxhIGhyZWY9IiI+PGI+
PC9iPjwvYT4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkIGFsaWdu
PSJsZWZ0IiB2YWxpZ249ImJvdHRvbSIgY2xhc3M9InBiNSI+CiAgICAgICAgICAg
ICAgPGEgaHJlZj0iaHR0cDovL3d3dy5tYWlsLnJ1L2FnZW50P21lc3NhZ2UmYW1w
O3RvPSI+PGltZyBoZWlnaHQ9IjEzIiBib3JkZXI9IjAiIGFsaWduPSJhYnNtaWRk
bGUiIHdpZHRoPSIxMyIgY2xhc3M9IklFcG5nIiBzcmM9Imh0dHA6Ly9zdGF0dXMu
bWFpbC5ydS8/IiAvPjwvYT6gPGEgaHJlZj0iIj48Yj48L2I+PC9hPgogICAgICAg
ICAgICA8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAg
ICAgICAgPHRkIGNvbHNwYW49IjIiIHZhbGlnbj0idG9wIiBhbGlnbj0icmlnaHQi
PgogICAgICAgICAgICAgIDx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp
bmc9IjAiIGJvcmRlcj0iMCI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAg
ICAgICAgICAgIDx0ZD48L3RkPgogICAgICAgICAgICAgICAgICA8dGQgdmFsaWdu
PSJ0b3AiPjxkaXYgc3R5bGU9IndpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7YmFja2dy
b3VuZDp1cmwoaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvY2hhbGxlbmdlL3Jh
bWthMi1zbWFsbHRhaWwtbGVmdC5wbmcpIG5vLXJlcGVhdDtmbG9hdDpyaWdodDtt
YXJnaW4tcmlnaHQ6NDBweDsiPjwvZGl2PjwvdGQ+CiAgICAgICAgICAgICAgICAg
IDx0ZD48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAg
IDx0cj4KICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDo0cHgiPjxk
aXYgY2xhc3M9ImNvcm5lcjIgdG9wbGVmdDIgcHgxIj48L2Rpdj48L3RkPgogICAg
ICAgICAgICAgICAgICA8dGQgY2xhc3M9ImJ1YmJsZV9iZzIiPjwvdGQ+CiAgICAg
ICAgICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6NHB4Ij48ZGl2IGNsYXNzPSJj
b3JuZXIyIHRvcHJpZ2h0MiBweDEiPjwvZGl2PjwvdGQ+CiAgICAgICAgICAgICAg
ICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8
dGQgY2xhc3M9ImJ1YmJsZV9iZzIiPjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0
ZCBjbGFzcz0iYnViYmxlX2JnMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBz
dHlsZT0ibWFyZ2luOiAwIDZweDsgdGV4dC1hbGlnbjogcmlnaHQ7Ij48L2Rpdj4K
ICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgPHRkIGNs
YXNzPSJidWJibGVfYmcyIj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAg
ICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJ3
aWR0aDo0cHgiPjxkaXYgY2xhc3M9ImNvcm5lcjIgYm90dG9tbGVmdDIgcHgxIj48
L2Rpdj48L3RkPgogICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImJ1YmJsZV9i
ZzIiPjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6NHB4
Ij48ZGl2IGNsYXNzPSJjb3JuZXIyIGJvdHRvbXJpZ2h0MiBweDEiPjwvZGl2Pjwv
dGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDwvdGFibGU+
CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD48L3RkPgogICAgICAg
ICAgICA8dGQgY29sc3Bhbj0iMiIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij4K
ICAgICAgICAgICAgICA8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiBib3JkZXI9IjAiPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAg
ICAgICAgICA8dGQ+PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0i
dG9wIj48ZGl2IHN0eWxlPSJ3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JhY2tncm91
bmQ6dXJsKGh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2NoYWxsZW5nZS9yYW1r
YTItc21hbGx0YWlsLXJpZ2h0LnBuZykgbm8tcmVwZWF0O2Zsb2F0OmxlZnQ7bWFy
Z2luLWxlZnQ6NDBweDsiPjwvZGl2PjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0
ZD48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0
cj4KICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDo0cHgiPjxkaXYg
Y2xhc3M9ImNvcm5lcjIgdG9wbGVmdDIgcHgxIj48L2Rpdj48L3RkPgogICAgICAg
ICAgICAgICAgICA8dGQgY2xhc3M9ImJ1YmJsZV9iZzIiPjwvdGQ+CiAgICAgICAg
ICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6NHB4Ij48ZGl2IGNsYXNzPSJjb3Ju
ZXIyIHRvcHJpZ2h0MiBweDEiPjwvZGl2PjwvdGQ+CiAgICAgICAgICAgICAgICA8
L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQg
Y2xhc3M9ImJ1YmJsZV9iZzIiPjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZCBj
bGFzcz0iYnViYmxlX2JnMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHls
ZT0ibWFyZ2luOiAwIDZweDsgdGV4dC1hbGlnbjogbGVmdDsiPgogICAgICAgICAg
ICAgICAgICAgICAgwuD4IO7y4uXyIO3gIOL75+7iOgogICAgICAgICAgICAgICAg
ICAgICAgPGZvcm0gaWQ9ImFjY2VwdF9jaGFsbGVuZ2VfZm9ybSIgbWV0aG9kPSJH
RVQiIGFjdGlvbj0iaHR0cDovL2Jsb2dzLm1haWwucnUvY2dpLWJpbi9qb3VybmFs
L2pjaGFsbGVuZ2UiIHN0eWxlPSJtYXJnaW46MCI+CiAgICAgICAgICAgICAgICAg
ICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9
ImFjY2VwdCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9
ImhpZGRlbiIgbmFtZT0iQ2hhbGxlbmdlSUQiIHZhbHVlPSIiIC8+CiAgICAgICAg
ICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImJhY2si
IHZhbHVlPSJodHRwOi8vYmxvZ3MubWFpbC5ydS9tYWlsL21hbHZvXzU5LzZBMEZC
OThDNUZENEQxNUMuaHRtbCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGlu
cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZHVyYXRpb24iIHZhbHVlPSIiIGlkPSJj
aGFjY2R1cmF0aW9uIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFy
ZWEgaWQ9ImFjY2VwdF9jaGFsbGVuZ2VfYW5zd2VyIiBuYW1lPSJhbnN3ZXIiIHN0
eWxlPSJ3aWR0aDogMjQ4cHg7IGJvcmRlcjogMXB4IHNvbGlkICM3RjlEQjk7IGhl
aWdodDogNTJweDsgb3ZlcmZsb3cteDogaGlkZGVuOyBvdmVyZmxvdy15OiBhdXRv
OyBtYXJnaW46IDAgYXV0bzsiIG9ua2V5cHJlc3M9InJldHVybiBjaGVja190aHJv
d19sZW5ndGgodGhpcykiIG9ua2V5dXA9InJldHVybiBjaGVja190aHJvd19sZW5n
dGgodGhpcykiIG9ua2V5ZG93bj0icmV0dXJuIGNoZWNrX3Rocm93X2xlbmd0aCh0
aGlzKSIgb25jaGFuZ2U9InJldHVybiBjaGVja190aHJvd19sZW5ndGgodGhpcyki
IHdyYXA9InZpcnR1YWwiPvLu4+TgIOTz/ev8LCDy7uv86u4g5PP96/whPC90ZXh0
YXJlYT4KICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAg
ICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAg
ICAgICAgICAgPHRkIGNsYXNzPSJidWJibGVfYmcyIj48L3RkPgogICAgICAgICAg
ICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAg
ICAgPHRkIHN0eWxlPSJ3aWR0aDo0cHgiPjxkaXYgY2xhc3M9ImNvcm5lcjIgYm90
dG9tbGVmdDIgcHgxIj48L2Rpdj48L3RkPgogICAgICAgICAgICAgICAgICA8dGQg
Y2xhc3M9ImJ1YmJsZV9iZzIiPjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZCBz
dHlsZT0id2lkdGg6NHB4Ij48ZGl2IGNsYXNzPSJjb3JuZXIyIGJvdHRvbXJpZ2h0
MiBweDEiPjwvZGl2PjwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAg
ICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8L3Ry
PgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+PC90
ZD4KICAgICAgICAgICAgPHRkPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+PCEtLQpmdW5jdGlvbiBhY2NlcHRfY2hhbGxlbmdlX29mZmVyKCkgewogICAg
dmFyIGFuc3dlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY2NlcHRfY2hh
bGxlbmdlX2Fuc3dlcicpLnZhbHVlOwogICAgaWYgKCFhbnN3ZXIubGVuZ3RoKSB7
CiAgICAgICAgYWxlcnQoJ83l7uH17uTo7O4g4uLl8fLoIO7y4uXyIO3gIOL75+7i
IScpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdhY2NlcHRfY2hhbGxlbmdlX2Zvcm0nKS5zdWJtaXQoKTsKfQovLy0t
Pjwvc2NyaXB0PgogICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImFjY2VwdF9jaGFs
bGVuZ2Vfb2ZmZXIoKTsgcmV0dXJuIGZhbHNlOyIgY2xhc3M9InBvaW50ZXIiIG5v
aHJlZj0iIj48aW1nIGJvcmRlcj0iMCIgY2xhc3M9Im10NSIgdGl0bGU9Is3g9+Dy
/CDk8/3r/CIgYWx0PSLN4Pfg8vwg5PP96/wiIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L3IvYmxvZ3MvZHVlbC9tb3J0YWxfY29tYmF0LmdpZiIgLz48L2E+CiAgICAg
ICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIj48L3RkPgog
ICAgICAgICAgPC90cj4gCiAgICAgICAgPC90YWJsZT4KICAgICAgPC90ZD4KICAg
IDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+Cgo8ZGl2IHN0eWxlPSJwb3NpdGlvbjpy
ZWxhdGl2ZTsgZGlzcGxheTpub25lOyB6LWluZGV4OjUxMjsiIGlkPSJmcmllbmRJ
bnZpdGVEaXYiPiAKPGRpdiBzdHlsZT0id2lkdGg6NTAwcHg7IGhlaWdodDo0Njdw
eDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6I0ZGRjsgYm9y
ZGVyOjJweCBzb2xpZCAjRkY4QjMzOyBib3JkZXItcmFkaXVzOjEwcHg7IC1tb3ot
Ym9yZGVyLXJhZGl1czoxMHB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6MTBweDsg
LWtodG1sLWJvcmRlci1yYWRpdXM6MTBweDsgcGFkZGluZzo0cHg7IiBpZD0iZnJp
ZW5kSW52aXRlRGl2SW4iPgo8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3Iv
YmxvZ3MvaWNvX2RlbC5wbmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVy
PSIwIiBhbHQ9Isfg6vD78vwiIHRpdGxlPSLH4Orw+/L8IiBzdHlsZT0iY3Vyc29y
OnBvaW50ZXI7IHBvc2l0aW9uOmFic29sdXRlOyByaWdodDo4cHg7IHRvcDo2cHg7
IiBvbmNsaWNrPSJmcmllbmRJbnZpdGVDbG9zZSgnZnJpZW5kSW52aXRlRGl2Jyk7
IiBjbGFzcz0iSUVwbmciIC8+CjxpZnJhbWUgc3JjPSJodHRwOi8vaW1nLm1haWwu
cnUvMC5naWYiIGZyYW1lYm9yZGVyPSIwIiBoZWlnaHQ9IjQ2NSIgd2lkdGg9IjUw
MCIgc2Nyb2xsaW5nPSJubyIgaWQ9ImZyaWVuZEludml0ZUZyYW1lIiBzdHlsZT0i
bWFyZ2luLXRvcDotMnB4OyI+PC9pZnJhbWU+CjwvZGl2Pgo8L2Rpdj4KCjxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCmZ1bmN0aW9uIGZyaWVuZElu
dml0ZVNob3coaWQsc3JjLHN0YXJ0T2JqKSB7CiAgICBmcmllbmRJbnZpdGVDbG9z
ZShpZCk7CiAgICBnZWJpKCdmcmllbmRJbnZpdGVGcmFtZScpLnNyYz1zcmM7CiAg
ICBzaGFkb3dEaXYoMSwnI0ZGRicpOwogICAgZ2ViaShpZCsnSW4nKS5zdHlsZS5s
ZWZ0PXBhcnNlSW50KGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGgvMiktMjUwKydw
eCc7CiAgICBnZWJpKGlkKydJbicpLnN0eWxlLnRvcCA9IHBhcnNlSW50KGdldENs
aWVudEhlaWdodCgpLzIpK2dldEJvZHlTY3JvbGxUb3AoKS0yMDArJ3B4JzsKICAg
IGdlYmkoaWQpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwp9Cgp2YXIgZnJpZW5k
SW52aXRlRGl2SW5fT2xkX2hlaWdodCA9IGdlYmkoJ2ZyaWVuZEludml0ZURpdklu
Jykuc3R5bGUuaGVpZ2h0Owp2YXIgZnJpZW5kSW52aXRlRGl2SW5fT2xkX3dpZHRo
ID0gZ2ViaSgnZnJpZW5kSW52aXRlRGl2SW4nKS5zdHlsZS53aWR0aDsKdmFyIGZy
aWVuZEludml0ZUZyYW1lX09sZF9oZWlnaHQgPSBnZWJpKCdmcmllbmRJbnZpdGVG
cmFtZScpLnN0eWxlLmhlaWdodDsKdmFyIGZyaWVuZEludml0ZUZyYW1lX09sZF93
aWR0aCA9IGdlYmkoJ2ZyaWVuZEludml0ZUZyYW1lJykuc3R5bGUud2lkdGg7Cgpm
dW5jdGlvbiBjaGFsbGVuZ2VTZXF1ZW5jZVNob3coKSB7CiAgICBmcmllbmRJbnZp
dGVDbG9zZSgnZnJpZW5kSW52aXRlRGl2Jyk7CiAgICB2YXIgaWQgPSAnZnJpZW5k
SW52aXRlRGl2SW4nOwoKICAgIGdlYmkoJ2ZyaWVuZEludml0ZUZyYW1lJykuc3R5
bGUuaGVpZ2h0ID0gJzI1MHB4JzsgLy8gZ29vZCBzdGFydAogICAgZ2ViaSgnZnJp
ZW5kSW52aXRlRnJhbWUnKS5zdHlsZS53aWR0aCA9ICc1NTBweCc7IC8vIGdvb2Qg
c3RhcnQKICAgIHZhciBmcmFtZVdpZHRoID0gcGFyc2VJbnQoZ2ViaSgnZnJpZW5k
SW52aXRlRnJhbWUnKS5zdHlsZS53aWR0aCk7IC8vIGNhcCBPYnZpb3VzCiAgICBn
ZWJpKGlkKS5zdHlsZS5oZWlnaHQgPSAnYXV0byc7CiAgICBnZWJpKGlkKS5zdHls
ZS53aWR0aCA9ICdhdXRvJzsKICAgIHNoYWRvd0RpdigxLCAnI0ZGRicpOwogICAg
Z2ViaShpZCkuc3R5bGUubGVmdCA9IHBhcnNlSW50KGRvY3VtZW50LmJvZHkuc2Ny
b2xsV2lkdGgvMiktZnJhbWVXaWR0aC8yKydweCc7CiAgICBnZWJpKGlkKS5zdHls
ZS50b3AgID0gcGFyc2VJbnQoZ2V0Q2xpZW50SGVpZ2h0KCkvMikrZ2V0Qm9keVNj
cm9sbFRvcCgpLTIwMCsncHgnOwogICAgZ2ViaSgnZnJpZW5kSW52aXRlRGl2Jyku
c3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICBnZWJpKCdmcmllbmRJbnZpdGVG
cmFtZScpLnNyYz0naHR0cDovL2Jsb2dzLm1haWwucnUvY2dpLWJpbi9qb3VybmFs
L2pjaGFsbGVuZ2U/YWN0aW9uPXNlcXVlbmNlJzsKfQoKZnVuY3Rpb24gZnJpZW5k
SW52aXRlQ2xvc2UoaWQpIHsKICAgIHNoYWRvd0RpdigwKTsKICAgIGdlYmkoaWQp
LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICBnZWJpKCdmcmllbmRJbnZpdGVE
aXZJbicpLnN0eWxlLmhlaWdodCA9IGZyaWVuZEludml0ZURpdkluX09sZF9oZWln
aHQ7CiAgICBnZWJpKCdmcmllbmRJbnZpdGVEaXZJbicpLnN0eWxlLndpZHRoID0g
ZnJpZW5kSW52aXRlRGl2SW5fT2xkX3dpZHRoOwogICAgZ2ViaSgnZnJpZW5kSW52
aXRlRnJhbWUnKS5zdHlsZS5oZWlnaHQgPSAnJzsKICAgIGdlYmkoJ2ZyaWVuZElu
dml0ZUZyYW1lJykuc3R5bGUud2lkdGggPSAnJzsKCWdlYmkoJ2ZyaWVuZEludml0
ZUZyYW1lJykuc3JjPScnOwp9CgpmdW5jdGlvbiBTaG93QmxvZ3NQb3B1cChzcmMs
dyxoLGNvbG9yKSB7Cgl2YXIgaWQgPSAnZnJpZW5kSW52aXRlRGl2JzsKCUNsb3Nl
QmxvZ3NQb3B1cCgpOwoJCiAgICBnZWJpKCdmcmllbmRJbnZpdGVGcmFtZScpLnNy
Yz1zcmM7CgkKICAgIGlmKCFjb2xvcikgc2hhZG93RGl2KDApOwoJZWxzZSBpZihj
b2xvciA9PSAxKSBzaGFkb3dEaXYoMSwnI0ZGRicpOwoJZWxzZSBzaGFkb3dEaXYo
MSxjb2xvcik7CgkKCWlmKGgpIHsKCQlnZWJpKCdmcmllbmRJbnZpdGVGcmFtZScp
LnN0eWxlLmhlaWdodCA9IGg7CgkJZ2ViaShpZCsnSW4nKS5zdHlsZS5oZWlnaHQg
PSAnYXV0byc7ICAgIAoJfQogICAgaWYodykgewoJCWdlYmkoJ2ZyaWVuZEludml0
ZUZyYW1lJykuc3R5bGUud2lkdGggPSB3OwoJCWdlYmkoaWQrJ0luJykuc3R5bGUu
d2lkdGggPSAnYXV0byc7Cgl9CiAgICBnZWJpKGlkKydJbicpLnN0eWxlLmxlZnQ9
cGFyc2VJbnQoZG9jdW1lbnQuYm9keS5zY3JvbGxXaWR0aC8yKS0odz93LzI6MjUw
KSsncHgnOwogICAgZ2ViaShpZCsnSW4nKS5zdHlsZS50b3AgPSBwYXJzZUludChn
ZXRDbGllbnRIZWlnaHQoKS8yKStnZXRCb2R5U2Nyb2xsVG9wKCktKGg/aC8yOjIw
MCkrJ3B4JzsKICAgIGdlYmkoaWQpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwoJ
cmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIENsb3NlQmxvZ3NQb3B1cCgpIHsKICAg
IHZhciBpZCA9ICdmcmllbmRJbnZpdGVEaXYnOwoJc2hhZG93RGl2KDApOwogICAg
Z2ViaShpZCkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIGdlYmkoJ2ZyaWVu
ZEludml0ZURpdkluJykuc3R5bGUuaGVpZ2h0ID0gZnJpZW5kSW52aXRlRGl2SW5f
T2xkX2hlaWdodDsKICAgIGdlYmkoJ2ZyaWVuZEludml0ZURpdkluJykuc3R5bGUu
d2lkdGggPSBmcmllbmRJbnZpdGVEaXZJbl9PbGRfd2lkdGg7CiAgICBnZWJpKCdm
cmllbmRJbnZpdGVGcmFtZScpLnN0eWxlLmhlaWdodCA9ICcnOwogICAgZ2ViaSgn
ZnJpZW5kSW52aXRlRnJhbWUnKS5zdHlsZS53aWR0aCA9ICcnOwoJZ2ViaSgnZnJp
ZW5kSW52aXRlRnJhbWUnKS5zcmM9Jyc7CglyZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0
aW9uIGdldENsaWVudEhlaWdodCgpIHsKICAgIHZhciBhPScnOwogICAgYT0oZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDxkb2N1bWVudC5ib2R5
LmNsaWVudEhlaWdodCk/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhl
aWdodDpkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKICAgIGlmKGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ9PTAgfHwgZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LmNsaWVudEhlaWdodD09J3VuZGVmaW5lZCcpIGE9ZG9jdW1l
bnQuYm9keS5jbGllbnRIZWlnaHQ7CiAgICBpZihkb2N1bWVudC5ib2R5LmNsaWVu
dEhlaWdodD09MCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodD09J3VuZGVm
aW5lZCcpIGE9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDsK
ICAgIHJldHVybiBhOyAgCn0KLy8tLT48L3NjcmlwdD4KCgoKIAogPHN0eWxlPgog
LyogUE9QVVAgKi8KZGl2LnBvcHVwRGl2SW4gewoJd2lkdGg6NTAwcHg7IAoJcG9z
aXRpb246YWJzb2x1dGU7Cn0KZGl2LnBvcHVwRGl2SW4gZGl2LmNvbnRlbnQgewoJ
Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjYjdjZWRlOwoJYm9yZGVyLXJpZ2h0OiAy
cHggc29saWQgI2I3Y2VkZTsKCWJhY2tncm91bmQtY29sb3I6I0VERUZGMjsKfQpp
ZnJhbWUuUG9wdXBGcmFtZSB7Cgl3aWR0aDo0OTZweDsKCWhlaWdodDo0NjVweDsK
fQoKZGl2LnBvcHVwRGl2SW4gZGl2LmJvcmRlcl90X2IgZGl2Lm5vdF9sLCBkaXYu
cG9wdXBEaXZJbiBkaXYuYm9yZGVyX3RfYiBkaXYubm90X2wgZGl2IHsKCW1hcmdp
bi1sZWZ0OjBweDsKCXBhZGRpbmctbGVmdDowcHg7Cglib3JkZXItbGVmdDpub25l
OwkKfQpkaXYucG9wdXBEaXZJbiBkaXYuYm9yZGVyX3RfYiBkaXYubm90X3IsIGRp
di5wb3B1cERpdkluIGRpdi5ib3JkZXJfdF9iIGRpdi5ub3RfciBkaXYgewoJbWFy
Z2luLXJpZ2h0OjBweDsKCXBhZGRpbmctcmlnaHQ6MHB4OwoJYm9yZGVyLXJpZ2h0
Om5vbmU7CQp9CgovKiBwb3B1cCBidXR0b24gKi8KZGl2LnBvcHVwRGl2SW4gZGl2
Lm11bHRpX2J1dHRvbl9vbiB7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0Oi05
OHB4OwoJdG9wOjA7Cgl6LWluZGV4OjMwMDsJCgl3aWR0aDoxMDBweDsKCWhlaWdo
dDozNHB4Owp9CmRpdi5wb3B1cERpdkluIGRpdi5tdWx0aV9idXR0b25fb24gZGl2
LmJ1dHRvbiB7CglwYWRkaW5nLWxlZnQ6NHB4OwoJYmFja2dyb3VuZDogdXJsKGh0
dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL3d5c2l3eWcvcG9wdXBfYnV0X2JnLmdp
ZikgI0VERUZGMiBib3R0b20gcmlnaHQgbm8tcmVwZWF0OwoJaGVpZ2h0OjMxcHg7
Cglmb250OiAxMnB4LzE0cHggQXJpYWwsc2Fucy1zZXJpZjsKCWNvbG9yOiM1NzU4
NWI7Cglib3JkZXItcmlnaHQ6MnB4IHNvbGlkICNCN0NFREU7Cn0KZGl2LnBvcHVw
RGl2SW4gZGl2LnBvcHVwX2J1dF90IHsKCWJhY2tncm91bmQtY29sb3I6ICNCN0NF
REU7CgloZWlnaHQ6MnB4OwoJZm9udDogMXB4LzFweDsKCXBvc2l0aW9uOnJlbGF0
aXZlOwoJdG9wOi0ycHg7Cgl6LWluZGV4OjMwMTsKCW1hcmdpbi1yaWdodDoycHg7
CgltYXJnaW4tYm90dG9tOi0ycHg7Cn0KZGl2LnBvcHVwRGl2SW4gZGl2LnBvcHVw
X2J1dF90IGltZyB7CgltYXJnaW4tYm90dG9tOi0ycHg7Cglwb3NpdGlvbjphYnNv
bHV0ZTsKCXJpZ2h0Oi0ycHg7Cn0KZGl2LnBvcHVwRGl2SW4gZGl2LnBvcHVwX2J1
dF9iIHsKCWJhY2tncm91bmQtY29sb3I6ICNCN0NFREU7CgloZWlnaHQ6MnB4OwoJ
Zm9udDogMXB4LzFweDsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJYm90dG9tOi0ycHg7
Cgl6LWluZGV4OjMwMTsKCW1hcmdpbi1yaWdodDoycHg7CgltYXJnaW4tdG9wOi0y
cHg7Cn0KZGl2LnBvcHVwRGl2SW4gZGl2LnBvcHVwX2J1dF9iIGltZyB7CgltYXJn
aW4tdG9wOi0ycHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0Oi0ycHg7Cn0K
Lyogc2hhZG93ICovCmRpdi5wb3B1cERpdkluIGRpdi5wb3B1cF9zaGFkb3cgewoJ
aGVpZ2h0OjRweDsKCWZvbnQ6MXB4LzFweDsKCWJhY2tncm91bmQ6dXJsKGh0dHA6
Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL3d5c2l3eWcvcG9wdXBfc2hhZG93LnBuZykg
dHJhbnNwYXJlbnQgcmVwZWF0LXg7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWJvdHRv
bTotNnB4OwoJei1pbmRleDozMDE7CgltYXJnaW4tdG9wOi00cHg7Cn0KZGl2LnBv
cHVwRGl2SW4gZGl2LnBvcHVwX3NoYWRvdyBkaXYuc2hfciB7Cglmb250OjFweC8x
cHg7CgloZWlnaHQ6NHB4OwoJd2lkdGg6M3B4OwoJYmFja2dyb3VuZDp1cmwoaHR0
cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3Mvd3lzaXd5Zy9wb3B1cF9zaGFkb3dfci5w
bmcpIHRyYW5zcGFyZW50IHJpZ2h0IHRvcCBuby1yZXBlYXQ7CglmbG9hdDpyaWdo
dDsKCW1hcmdpbi1yaWdodDotM3B4OwoJLy9wb3NpdGlvbjpyZWxhdGl2ZTsKfQpk
aXYucG9wdXBEaXZJbiBkaXYucG9wdXBfc2hhZG93IGRpdi5zaF9sIHsKCWZvbnQ6
MXB4LzFweDsKCWhlaWdodDo0cHg7Cgl3aWR0aDozcHg7CgliYWNrZ3JvdW5kOnVy
bChodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy93eXNpd3lnL3BvcHVwX3NoYWRv
d19sLnBuZykgdHJhbnNwYXJlbnQgcmlnaHQgdG9wIG5vLXJlcGVhdDsKCWZsb2F0
OmxlZnQ7CgltYXJnaW4tbGVmdDotM3B4OwoJLy9wb3NpdGlvbjpyZWxhdGl2ZTsK
fQoKZGl2LnBvcHVwRGl2SW4gZGl2LnBvcHVwX2Nvcl90IHsKCWJhY2tncm91bmQt
Y29sb3I6ICNCN0NFREU7CgloZWlnaHQ6MnB4OwoJZm9udDogMXB4LzFweDsKCXBv
c2l0aW9uOnJlbGF0aXZlOwoJdG9wOi0ycHg7Cgl6LWluZGV4OjMwMTsKCW1hcmdp
bi1yaWdodDoycHg7CgltYXJnaW4tbGVmdDoycHg7CgltYXJnaW4tYm90dG9tOi0y
cHg7Cn0KZGl2LnBvcHVwRGl2SW4gZGl2LnBvcHVwX2Nvcl90IGltZyB7CgltYXJn
aW4tYm90dG9tOi0ycHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKfQoKZGl2LnBvcHVw
RGl2SW4gZGl2LnBvcHVwX2Nvcl90IGltZy5jb3JfbCB7CglsZWZ0Oi0ycHg7Cn0K
ZGl2LnBvcHVwRGl2SW4gZGl2LnBvcHVwX2Nvcl90IGltZy5jb3JfciB7CglyaWdo
dDotMnB4Owp9CgpkaXYucG9wdXBEaXZJbiBkaXYucG9wdXBfY29yX2IgewoJYmFj
a2dyb3VuZC1jb2xvcjogI0I3Q0VERTsKCWhlaWdodDoycHg7Cglmb250OiAxcHgv
MXB4OwoJcG9zaXRpb246cmVsYXRpdmU7Cglib3R0b206LTJweDsKCXotaW5kZXg6
MzAxOwoJbWFyZ2luLXJpZ2h0OjJweDsKCW1hcmdpbi1sZWZ0OjJweDsKCW1hcmdp
bi10b3A6LTJweDsKCXotaW5kZXg6MzAyOwp9CmRpdi5wb3B1cERpdkluIGRpdi5w
b3B1cF9jb3JfYiBpbWcgewoJbWFyZ2luLXRvcDotMnB4OwoJcG9zaXRpb246YWJz
b2x1dGU7Cn0KZGl2LnBvcHVwRGl2SW4gZGl2LnBvcHVwX2Nvcl9iIGltZy5jb3Jf
bCB7CglsZWZ0Oi0ycHg7Cn0KZGl2LnBvcHVwRGl2SW4gZGl2LnBvcHVwX2Nvcl9i
IGltZy5jb3JfciB7CglyaWdodDotMnB4Owp9CgogCiA8L3N0eWxlPgogCiA8c2Ny
aXB0PiA8IS0tCmZ1bmN0aW9uIHJlc2l6ZUZyYW1lKGgpewkKCWg9aCszNDsKCXZh
ciBjdXJ0U3RlcDsKCXZhciBzdGVwc0NvdW50ID0gNjsKCW9iaiA9IGdlYmkoJ1Bv
cHVwRnJhbWUnKTsKCXZhciBjdXJIZWlnaHQgPSBvYmoub2Zmc2V0SGVpZ2h0OwoJ
aWYgKGg+Y3VySGVpZ2h0KXsKCQljdXJ0U3RlcCA9IHBhcnNlSW50KChoLWN1ckhl
aWdodCkvc3RlcHNDb3VudCk7CgkJaWYoY3VydFN0ZXA8NSkgY3VydFN0ZXA9NTsK
CQlyZXNpemVGcmFtZURvKCcrJyxoLGN1cnRTdGVwKTsJCQkJCgl9CglpZiAoaDxj
dXJIZWlnaHQpewoJCWN1cnRTdGVwID0gcGFyc2VJbnQoKGN1ckhlaWdodC1oKS9z
dGVwc0NvdW50KTsJCgkJaWYoY3VydFN0ZXA8NSkgY3VydFN0ZXA9NTsJCQoJCXJl
c2l6ZUZyYW1lRG8oJy0nLGgsY3VydFN0ZXApOwkJCQoJCX0JCQoJfQkJCgpmdW5j
dGlvbiByZXNpemVGcmFtZURvKGRpcixoLGN1cnRTdGVwKXsKCW9iaiA9IGdlYmko
J1BvcHVwRnJhbWUnKTsKCWlmKGRpcj09JysnKXsJCgkJb2JqLnN0eWxlLmhlaWdo
dCA9IG9iai5vZmZzZXRIZWlnaHQgKyBjdXJ0U3RlcDsJCQkJCgkJaWYob2JqLm9m
ZnNldEhlaWdodCA8IChoIC0gY3VydFN0ZXApKSB7c2V0VGltZW91dChmdW5jdGlv
bigpIHtyZXNpemVGcmFtZURvKGRpcixoLGN1cnRTdGVwKX0sNTApO30KCQllbHNl
IHtvYmouc3R5bGUuaGVpZ2h0ID0gaDt9CgkJc2hhZG93RGl2KDEpOwoJfQoJaWYo
ZGlyPT0nLScpewoJCW9iai5zdHlsZS5oZWlnaHQ9b2JqLm9mZnNldEhlaWdodC1j
dXJ0U3RlcDsJCQoJCWlmKG9iai5vZmZzZXRIZWlnaHQgPiAoaCArIGN1cnRTdGVw
KSkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7cmVzaXplRnJhbWVEbyhkaXIsaCxj
dXJ0U3RlcCl9LDUwKTt9CgkJZWxzZXtvYmouc3R5bGUuaGVpZ2h0ID0gaDt9CgkJ
c2hhZG93RGl2KDEpOwoJfQkKfQoKZnVuY3Rpb24gcG9wdXBTaG93KGlkLHNyYyx3
LGgpewoJZ2ViaSgnUG9wdXBGcmFtZScpLnNyYz1zcmM7CglzaGFkb3dEaXYoMSk7
CglnZWJpKCdQb3B1cEZyYW1lJykuc3R5bGUud2lkdGggPSB3OwoJZ2ViaSgnUG9w
dXBGcmFtZScpLnN0eWxlLmhlaWdodCA9IGg7CglnZWJpKGlkKS5zdHlsZS53aWR0
aCA9IHcrNDsKCWdlYmkoaWQpLnN0eWxlLmhlaWdodCA9IGgrNDsKCWdlYmkoaWQp
LnN0eWxlLmxlZnQ9cGFyc2VJbnQoZG9jdW1lbnQuYm9keS5zY3JvbGxXaWR0aC8y
KS1wYXJzZUludCh3LzIpKydweCc7CglnZWJpKGlkKS5zdHlsZS50b3AgPSBwYXJz
ZUludChnZXRDbGllbnRIZWlnaHQoKS8yKStnZXRCb2R5U2Nyb2xsVG9wKCktcGFy
c2VJbnQoaC8yKSsncHgnOwoJZ2ViaSgncG9wdXBEaXYnKS5zdHlsZS5kaXNwbGF5
ID0gJ2Jsb2NrJzsKfQoKZnVuY3Rpb24gcG9wdXBDbG9zZShpZCl7CglzaGFkb3dE
aXYoMCk7CglnZWJpKGlkKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwp9CgpmdW5j
dGlvbiB3eXNpd3lnUG9wdXBDbG9zZSgpewoJc2hhZG93RGl2KDApOwoJZ2ViaSgn
cG9wdXBEaXYnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwp9CgoKZnVuY3Rpb24g
Z2V0Q2xpZW50SGVpZ2h0KCkKewp2YXIgYT0nJzsKCWE9KGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5jbGllbnRIZWlnaHQ8ZG9jdW1lbnQuYm9keS5jbGllbnRIZWln
aHQpP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ6ZG9jdW1l
bnQuYm9keS5jbGllbnRIZWlnaHQ7CglpZihkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuY2xpZW50SGVpZ2h0PT0wIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5j
bGllbnRIZWlnaHQ9PSd1bmRlZmluZWQnKSBhPWRvY3VtZW50LmJvZHkuY2xpZW50
SGVpZ2h0OwoJaWYoZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ9PTAgfHwgZG9j
dW1lbnQuYm9keS5jbGllbnRIZWlnaHQ9PSd1bmRlZmluZWQnKSBhPWRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CglyZXR1cm4gYTsgIAp9Cgov
Ly0tPjwvc2NyaXB0PiAKIAo8ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsg
ei1pbmRleDoyNTU7IGRpc3BsYXk6bm9uZTsiIGlkPSJwb3B1cERpdiI+IAoJPGRp
diBjbGFzcz0icG9wdXBEaXZJbiIgaWQ9InBvcHVwRGl2SW4iPiAJCQoJCTxkaXYg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0ZGRjsiPgkJCQoJCQk8ZGl2IGNsYXNz
PSJwb3B1cF9jb3JfdCI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Js
b2dzL3d5c2l3eWcvcG9wdXBfY29yX2xfdC5naWYiIHdpZHRoPSI0IiBoZWlnaHQ9
IjQiIGJvcmRlcj0iMCIgY2xhc3M9ImNvcl9sIj48aW1nIHNyYz0iaHR0cDovL2lt
Zy5tYWlsLnJ1L3IvYmxvZ3Mvd3lzaXd5Zy9wb3B1cF9jb3Jfcl90LmdpZiIgd2lk
dGg9IjQiIGhlaWdodD0iNCIgYm9yZGVyPSIwIiBjbGFzcz0iY29yX3IiPjwvZGl2
PgkJCQoJCQk8ZGl2IGNsYXNzPSJjb250ZW50Ij4KCQkJCTxpZnJhbWUgc3JjPSJo
dHRwOi8vaW1nLm1haWwucnUvMC5naWYiIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxp
bmc9Im5vIiBpZD0iUG9wdXBGcmFtZSIgY2xhc3M9IlBvcHVwRnJhbWUiPjwvaWZy
YW1lPgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwb3B1cF9jb3Jf
YiI+PGltZyBjbGFzcz0iY29yX2wiIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3Iv
YmxvZ3Mvd3lzaXd5Zy9wb3B1cF9jb3JfbF9iLmdpZiIgd2lkdGg9IjQiIGhlaWdo
dD0iNCIgYm9yZGVyPSIwIj48aW1nIGNsYXNzPSJjb3JfciIgc3JjPSJodHRwOi8v
aW1nLm1haWwucnUvci9ibG9ncy93eXNpd3lnL3BvcHVwX2Nvcl9yX2IuZ2lmIiB3
aWR0aD0iNCIgaGVpZ2h0PSI0IiBib3JkZXI9IjAiPjwvZGl2PgoJCTxkaXYgY2xh
c3M9InBvcHVwX3NoYWRvdyBJRXBuZyBtbDMgbXIzIj48ZGl2IGNsYXNzPSJzaF9s
IElFcG5nIj48L2Rpdj48ZGl2IGNsYXNzPSJzaF9yIElFcG5nIj48L2Rpdj48L2Rp
dj4KCTwvZGl2Pgo8L2Rpdj4gCgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+PCEtLQp2YXIgbWFzc3VybD0nJzsKCmZ1bmN0aW9uIHNob3dfYXZhKHVybCxh
dmFfaWQpIHsJCQoJbWFzc3VybD11cmw7Cgl2YXIgZ2V0cG9zID0gZ2V0RWxlbWVu
dFBvc2l0aW9uKCd1c2VyYXZhdGFyXycrYXZhX2lkKTsKCWdlYmkoJ2JpZ2F2YXBy
ZXZpZXcnKS5zdHlsZS5sZWZ0PWdldHBvcy5sZWZ0OwoJZ2ViaSgnYmlnYXZhcHJl
dmlldycpLnN0eWxlLnRvcCA9IGdldHBvcy50b3A7CQoJZ2ViaSgnYmlnYXZhaW1n
Jykuc3JjPSdodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9sb2FkLmdpZic7Cgln
ZWJpKCdpbWdmb3JzaXplJykuc3JjPXVybDsKCXNoYWRvd0RpdigxKTsJCQkJCgln
ZWJpKCdiaWdhdmFwcmV2aWV3Jykuc3R5bGUuZGlzcGxheSA9ICcnOwp9IAoKZnVu
Y3Rpb24gc2hvd19hdmFfZW5kKHVybCxpbWdoLGltZ3cpIHsKCWlmKHVybCE9Jycp
ewoJCWdlYmkoJ2JpZ2F2YXByZXZpZXcnKS5zdHlsZS5sZWZ0PXBhcnNlSW50KGRv
Y3VtZW50LmJvZHkuc2Nyb2xsV2lkdGgvMiktcGFyc2VJbnQoaW1ndy8yKSsncHgn
OwoJCWdlYmkoJ2JpZ2F2YXByZXZpZXcnKS5zdHlsZS50b3AgPSBwYXJzZUludChn
ZXRDbGllbnRIZWlnaHQoKS8yKStnZXRCb2R5U2Nyb2xsVG9wKCktcGFyc2VJbnQo
aW1naC8yKSsncHgnOwoJCWdlYmkoJ2JpZ2F2YWltZycpLnNyYz11cmw7Cgl9CQp9
CgpmdW5jdGlvbiBwYXVzZShtcykgewogICAgdmFyIGRhdGU9bmV3IERhdGUoKTsK
ICAgIHZhciBjdXJEYXRlPW51bGw7CiAgICBkbyB7CiAgICAgICAgY3VyRGF0ZT1u
ZXcgRGF0ZSgpOwogICAgfSB3aGlsZSAoY3VyRGF0ZS1kYXRlPG1zKTsKfQoKZnVu
Y3Rpb24gY2xvc2VfYXZhKCkgewoJZ2ViaSgnYmlnYXZhcHJldmlldycpLnN0eWxl
LmRpc3BsYXkgPSAnbm9uZSc7CglzaGFkb3dEaXYoMCk7CglnZWJpKCdiaWdhdmFp
bWcnKS5zcmM9J2h0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2xvYWQuZ2lmJzsK
CWdlYmkoJ2ltZ2ZvcnNpemUnKS5zcmM9J2h0dHA6Ly9pbWcubWFpbC5ydS9yL2Js
b2dzL2xvYWQuZ2lmJzsKfQovLy0tPjwvc2NyaXB0PgoKPGRpdiBzdHlsZT0iZGlz
cGxheTpub25lOyBwb3NpdGlvbjphYnNvbHV0ZTsgei1pbmRleDoyNTU7IiBpZD0i
YmlnYXZhcHJldmlldyI+CjxkaXYgYWxpZ249InJpZ2h0Ij4KPGRpdiBhbGlnbj0i
Y2VudGVyIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRkRGRkU1OyI+CjxpbWcg
c3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9sb2FkLmdpZiIgYm9yZGVy
PSIwIiBhbHQ9IiIgaWQ9ImJpZ2F2YWltZyIgc3R5bGU9ImJvcmRlcjozcHggc29s
aWQgI0ZERkZFNTsiIG9uY2xpY2s9ImNsb3NlX2F2YSgpOyIgY2xhc3M9InBvaW50
ZXIiIHRpdGxlPSLH4Orw+/L8IOjn7uHw4Obl7ejlIj4KPC9kaXY+CjxkaXYgb25j
bGljaz0iY2xvc2VfYXZhKCk7IiBzdHlsZT0id2lkdGg6NjNweDsgYmFja2dyb3Vu
ZC1jb2xvcjojRkRGRkU1O2ZvbnQtc2l6ZToxMnB4OyBwYWRkaW5nOjAgNHB4IDRw
eCA0cHg7Y3Vyc29yOnBvaW50ZXI7IGNvbG9yOiM3Nzc7IGZvbnQtZmFtaWx5OnRh
aG9tYTsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsiIG9ubW91c2VvdmVyPSJ0
aGlzLnN0eWxlLmNvbG9yPScjRkZBQTAwJzsiIG9ubW91c2VvdXQ9InRoaXMuc3R5
bGUuY29sb3I9JyM3NzcnOyIgPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUv
ci9ibG9ncy9pY29fZGVsLnBuZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3Jk
ZXI9IjAiIGFsdD0i5+Dq8Pvy/CIgdGl0bGU9Iufg6vD78vwiIGNsYXNzPSJJRXBu
ZyBtcjMiIGFsaWduPSJhYnNtaWRkbGUiPufg6vD78vw8L2Rpdj48L2Rpdj4KPC9k
aXY+CjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIGlkPSJpbWdm
b3JzaXplIiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW47IHBvc2l0aW9uOmFic29s
dXRlOyB6LWluZGV4OjIwMDsiIG9ubG9hZD0ic2hvd19hdmFfZW5kKG1hc3N1cmws
dGhpcy5vZmZzZXRIZWlnaHQsdGhpcy5vZmZzZXRXaWR0aCk7Ij4KCjxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy93YWl0LmdpZiIgaWQ9ImZvclVz
ZXJQaWNTaG93IiBzdHlsZT0iYm9yZGVyOjVweCBzb2xpZCAjRTNFNUVCOyBkaXNw
bGF5Om5vbmU7IHotaW5kZXg6MTA7IHBvc2l0aW9uOmFic29sdXRlOyI+CjxpbnB1
dCB0eXBlPSJoaWRkZW4iIGlkPSJiYWNrX3BhcmFtX2lucHV0IiB2YWx1ZT0iaHR0
cDovL2Jsb2dzLm1haWwucnUvbWFpbC9tYWx2b181OS82QTBGQjk4QzVGRDREMTVD
Lmh0bWwiPgo8IS0tIEJFR0lOOiBkaXYgZm9yIHVzZXIgZGV0YWlscyAtLT4KPGRp
diBpZD0idXNlckRyb3BEb3duSWQiIGNsYXNzPSJ1c2luZkFycm93IiBzdHlsZT0i
ZGlzcGxheTpub25lIiBvbmNsaWNrPSJidWJibGUoKSI+PC9kaXY+CjwhLS0gRU5E
OiBkaXYgZm9yIHVzZXIgZGV0YWlscyAtLT4KPGRpdiBpZD0iaGVscF9kaXYiIGNs
YXNzPSJoZWxwX2RpdiIgYWxpZ249ImxlZnQiPjwvZGl2Pgo8ZGl2IGlkPSJjYXBj
aGFfcG9wdXAiPjwvZGl2Pgo8dGFibGUgaWQ9ImJvZHlfbGVmdF9iZyIgd2lkdGg9
IjEwMCUiIGNsYXNzPSJib2R5X2JnIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp
bmc9IjAiPgo8dHI+Cgk8dGQgaWQ9ImJvZHlfYmciPgoJCTxkaXYgaWQ9ImJvZHlf
ZGl2Ij4KPGRpdiBzdHlsZT0iaGVpZ2h0OjA7Zm9udDowLzA7Ij48aW1nIGNsYXNz
PSJ0bnMtY291bnRlciIgc3JjPSJodHRwOi8vd3d3LnRucy1jb3VudGVyLnJ1L1Yx
M2EqKioqbWFpbF9ydS9ydS9DUDEyNTEvdG1zZWM9bWFpbF9ibG9ncy1vdGhlci8i
IHdpZHRoPSIxIiBoZWlnaHQ9IjEiICBhbHQ9IiIgLz4gDQoNCjwhLS1MaXZlSW50
ZXJuZXQgY291bnRlci0tPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48
IS0tDQpkb2N1bWVudC53cml0ZSgiPGltZyBzcmM9J2h0dHA6Ly9jb3VudGVyLnlh
ZHJvLnJ1L2hpdD9yIisNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBl
b2Yoc2NyZWVuKT09InVuZGVmaW5lZCIpPyIiOg0KIjtzIitzY3JlZW4ud2lkdGgr
IioiK3NjcmVlbi5oZWlnaHQrIioiKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVl
bi5jb2xvckRlcHRoOnNjcmVlbi5waXhlbERlcHRoKSkrIjt1Iitlc2NhcGUoZG9j
dW1lbnQuVVJMKSsNCiI7IitNYXRoLnJhbmRvbSgpKw0KIicgd2lkdGg9MSBoZWln
aHQ9MSBhbHQ9Jyc+IikvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGVybmV0LS0+
PC9kaXY+CjwhLS0gRU5EOiB0b3BfYmFzZSAtLT4KCjwhLS0gQkVHSU46IHRvcF9q
b3VybmFsLS0+CgoKCjx0YWJsZSBpZD0ibWFpbl90YWJsZSIgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIj4KPHRyPgo8dGQgY29sc3Bhbj0iMyIgaGVpZ2h0
PSIyMnB4Ij4mbmJzcDs8L3RkPgo8L3RyPgo8dHI+Cjx0ZCB3aWR0aD0iMyUiPiZu
YnNwOzwvdGQ+Cjx0ZCBpZD0iY29udGVudCI+Cgk8IS0tIG1vdmUgRk9PVEVSIC0t
PgoJPGRpdiBpZD0iYmFubmVyX3RvcF9jb250YWluZXIiPjwvZGl2PgoKCTx0YWJs
ZSB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4K
CTx0cj4KCQk8dGQgY2xhc3M9ImxlZnRfdG9wX3NoaWZ0Ij48aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9
IiI+PC90ZD4KCQk8dGQ+CgkJCQo8c3R5bGU+I3RvcF9tZW51ICNtZW51X2l0ZW1z
IHRkLmNfdW5zZWx7cGFkZGluZzowIDNweDt9PC9zdHlsZT4KPHRhYmxlIGlkPSJ0
b3BfbWVudSIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCI+Cjx0cj4KCTx0ZCBpZD0iYmxvZ19tYWlsIj4KCQk8dGFibGUgaWQ9Imxv
Z29zIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPgoJCTx0cj4KCQkJ
PHRkIGlkPSJsb2dvc19sZWZ0Ij48ZGl2IGNsYXNzPSJkb3QiPjxpbWcgc3JjPSJo
dHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGFs
dD0iIj48L2Rpdj48L3RkPgoJCQk8dGQgaWQ9ImxvZ29zX2NlbnRlciI+PGRpdiBj
bGFzcz0ibG9nb3NfYmciPjxkaXYgc3R5bGU9IndpZHRoOiAxODBweCI+PGEgaHJl
Zj0iLyIgdGl0bGU9IsHr7uPoIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1
L3IvYmxvZ3MvdGhlbWVzL2xvZ29fYmxvZy5naWYiIHdpZHRoPSI2NyIgaGVpZ2h0
PSIyMSIgYWx0PSIiPjwvYT48YSBocmVmPSJodHRwOi8vd3d3Lm1haWwucnUiIHRp
dGxlPSJATWFpbC5ydSI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Js
b2dzL3RoZW1lcy9sb2dvX21haWwuZ2lmIiB3aWR0aD0iMTA1IiBoZWlnaHQ9IjIx
IiBhbHQ9IiI+PC9hPjwvZGl2PjwvZGl2PjwvdGQ+CgkJCTx0ZCBpZD0ibG9nb3Nf
cmlnaHQiPjxpbWcgc3JjPSdodHRwOi8vaW1nLm1haWwucnUvMC5naWYnIHdpZHRo
PSc3NycgaGVpZ2h0PSczNScgYWx0PScnPjwvdGQ+CgkJPC90cj4KCQk8L3RhYmxl
PgoJPC90ZD4KCTx0ZCBpZD0ibGVmdF9iZyI+CgkJPGRpdiBjbGFzcz0ibWVudV9i
ZyI+CgkJCTxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdpZHRo
PSIxIiBoZWlnaHQ9IjEiIGFsdD0iIj4KCQk8L2Rpdj4KCTwvdGQ+Cgk8dGQgd2lk
dGg9Ijc3JSI+CgkJPGRpdiBpZD0idG9wX2VsZW1lbnRzIj48aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9
IiI+PC9kaXY+CgkJPHRhYmxlIHdpZHRoPSIxMDAlIiBpZD0ibWVudV9pdGVtcyIg
Y2xhc3M9Im1lbnVfYmciIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+
CgkJPHRyPgoJCQk8dGQgY2xhc3M9Im1lbnVfaXRlbXMiPgoJCQkJPHRhYmxlIHdp
ZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPgoJCQkJ
PHRyPgoJCQkJCTx0ZCB3aWR0aD0iMiI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFp
bC5ydS8wLmdpZiIgd2lkdGg9IjUiIGhlaWdodD0iMjAiIGFsdD0iIj48L3RkPgoJ
CQkJCTx0ZCBpZD0icG1sMSIgY2xhc3M9ImZsX3Vuc2VsIj4mbmJzcDs8L3RkPgoJ
CQkJCTx0ZCB3aWR0aD0iMjUlIiBpZD0icG1jMSIgY2xhc3M9ImNfdW5zZWwiPjxh
IGhyZWY9Imh0dHA6Ly93aW4ubWFpbC5ydS9jZ2ktYmluL3N0YXJ0IiB0aXRsZT0i
z+738uAiPs/u9/LgPC9hPjwvdGQ+CgkJCQkJPHRkIGlkPSJwbXIxIiBjbGFzcz0i
cl9ub3NlbCI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lk
dGg9IjI0IiBoZWlnaHQ9IjIwIiBhbHQ9IiI+PC90ZD4KCQkJCQk8dGQgd2lkdGg9
IjI1JSIgaWQ9InBtYzIiIGNsYXNzPSJjX3Vuc2VsIj48YSBocmVmPSJodHRwOi8v
bXkubWFpbC5ydT9mcm9tX2NvbW1lcmNpYWw9MTciIG5hbWU9ImNsbjM2NDQiIHRp
dGxlPSLM7ukgzOjwIj7M7ukmbmJzcDvM6PA8L2E+PC90ZD4KCQkJCQk8dGQgaWQ9
InBtcjIiIGNsYXNzPSJyX25vc2VsIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1LzAuZ2lmIiB3aWR0aD0iMjQiIGhlaWdodD0iMjAiIGFsdD0iIj48L3RkPgoJ
CQkJCTx0ZCB3aWR0aD0iMjUlIiBpZD0icG1jMyIgY2xhc3M9ImNfdW5zZWwiPjxh
IGhyZWY9Imh0dHA6Ly9maWxlcy5tYWlsLnJ1IiBuYW1lPSJjbG40MTY3IiB0aXRs
ZT0i1ODp6/siPtTg6ev7PC9hPjwvdGQ+CgkJCQkJPHRkIGlkPSJwbXIzIiBjbGFz
cz0icl9ub3NlbCI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIg
d2lkdGg9IjI0IiBoZWlnaHQ9IjIwIiBhbHQ9IiI+PC90ZD4KCQkJCQk8dGQgd2lk
dGg9IjIwJSIgaWQ9InBtYzQiIGNsYXNzPSJjX3Vuc2VsIj48YSBocmVmPSJodHRw
Oi8vZm90by5tYWlsLnJ1IiBuYW1lPSJjbG4zNjQ1IiB0aXRsZT0i1O7y7iI+1O7y
7jwvYT48L3RkPgoJCQkJCTx0ZCBpZD0icG1yNCIgY2xhc3M9InJfbm9zZWwiPjxp
bWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdpZHRoPSIyNCIgaGVp
Z2h0PSIyMCIgYWx0PSIiPjwvdGQ+CgkJCQkJPHRkIHdpZHRoPSIyMCUiIGlkPSJw
bWM1IiBjbGFzcz0iY191bnNlbCI+PGEgaHJlZj0iaHR0cDovL3ZpZGVvLm1haWwu
cnUiIG5hbWU9ImNsbjM2NDYiIHRpdGxlPSLC6OTl7iI+wujk5e48L2E+PC90ZD4K
CQkJCQk8dGQgaWQ9InBtcjUiIGNsYXNzPSJyX3Vuc2VsIj48aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMjQiIGhlaWdodD0iMjAiIGFs
dD0iIj48L3RkPgoJCQkJCTx0ZCB3aWR0aD0iMjAlIiBpZD0icG1jNiIgY2xhc3M9
ImNfc2VsIj48YSBocmVmPSJodHRwOi8vYmxvZ3MubWFpbC5ydSIgbmFtZT0iY2xu
MzY0NyIgdGl0bGU9IsHr7uPoIj7B6+7j6DwvYT48L3RkPgoJCQkJCTx0ZCBpZD0i
cG1yNiIgY2xhc3M9ImxyX3NlbCI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5y
dS8wLmdpZiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjIwIiBhbHQ9IiI+PC90ZD4KCQkJ
CQkKCQkJCQkKCQkJCQk8dGQ+PGRpdiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmUi
PgoJCQkJCTxhIHN0eWxlPSJkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRl
O2xlZnQ6LTIzcHg7dG9wOi0xMHB4OyIgaHJlZj0iaHR0cDovL3IubWFpbC5ydS9u
NDc2NTczOTkiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL2ltZy5t
YWlsLnJ1L3IvYm9va21hcmtzL3JhbmV0a2ktYm9va21hcmstdC5naWYiIGFsdD0i
0ODt5fLq6CIgLz48L2E+CgkJCQkJPC9kaXY+PC90ZD4KCQkJCQkKCQkJCTwvdHI+
CgkJCQk8L3RhYmxlPgoJCQk8L3RkPgoJCQk8dGQgd2lkdGg9IjElIj48ZGl2IHN0
eWxlPSJ3aWR0aDogM3B4Ij48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAu
Z2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9IiI+PC9kaXY+PC90ZD4KCQkJ
PGZvcm0gYWN0aW9uPS9jZ2ktYmluL2xvZ291dD4KCQkJPHRkIGlkPSJsb2dpbiIg
bm93cmFwPu3u4vv1IOHr7uPu4iDoIPHu7uH55fHy4jogMjY3MzE8YnI+7e7i+/Ug
5+Dv6PHl6TogMjI2NjIxMzwvdGQ+CgkJCTx0ZCB3aWR0aD0iMSUiPiZuYnNwOyZu
YnNwOzwvdGQ+CgkJCTwvZm9ybT4JCQkKCQkJPHRkPjxkaXYgc3R5bGU9IndpZHRo
OjEwcHgiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdpZHRo
PSIxIiBoZWlnaHQ9IjEiIGFsdD0iIj48L2Rpdj48L3RkPgoJCTwvdHI+CgkJPC90
YWJsZT4KCQk8ZGl2IGlkPSJib3R0b21fZWxlbWVudHMiPjxpbWcgc3JjPSdodHRw
Oi8vaW1nLm1haWwucnUvMC5naWYnIHdpZHRoPScxJyBoZWlnaHQ9JzEnIGFsdD0n
Jz48L2Rpdj4KCTwvdGQ+Cgk8dGQgaWQ9InJpZ2h0X2JnIj48ZGl2IGNsYXNzPSJt
ZW51X2JnIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0
aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9IiI+PC9kaXY+PC90ZD4KPC90cj4KPC90YWJs
ZT4KCQkJCgkJCTwhLS0gQkVHSU46IGpvdXJuYWwgbWVudSAtLT4KCgo8c3R5bGU+
CnRhYmxlLnRvcF9uYXYgdGQuZW1wdHkgewogICAgYmFja2dyb3VuZDpub25lOwog
ICAgd2lkdGg6MXB4OwogICAgcGFkZGluZzowcHg7Cn0KCnRhYmxlLnRvcF9uYXYg
dGQucGFkMiBkaXYgewogICAgLy9wYWRkaW5nLXRvcDo0cHg7Cn0KdGFibGUudG9w
X25hdiB0ZC5jdXJyIGRpdiB7CiAgICAvL3BhZGRpbmctdG9wOjRweDsKfQoKdGFi
bGUudG9wX25hdiB0ZC5wYWQyIHsKICAgIHBhZGRpbmc6MXB4IDRweDsKICAgIGJv
cmRlci10b3A6MXB4IHNvbGlkIG5vbmU7CiAgICBoZWlnaHQ6MjRweDsKICAgIGxp
bmUtaGVpZ2h0OjJlbTsKfQp0YWJsZS50b3BfbmF2IHRkLmVtcHR5IGltZ3sKICAg
IGJhY2tncm91bmQ6bm9uZTsKfQp0YWJsZS50b3BfbmF2IHRkLmN1cnIgYXsKCn0K
dGFibGUudG9wX25hdiB0ZC5jdXJyIHsKICAgICAgICBwYWRkaW5nOjBweCA0cHg7
CiAgICAgICAgbGluZS1oZWlnaHQ6MmVtOwoKfQp0YWJsZS50b3BfbmF2IHRkLm5v
X3BhZCB7CiAgICB3aWR0aDoxcHg7CiAgICBwYWRkaW5nOjBweDsKICAgIGJvcmRl
ci10b3A6MXB4IHNvbGlkICNCRUQzRkU7Cn0KdGFibGUudG9wX25hdiB0ZC5ub19w
YWQgaW1newogICAgYmFja2dyb3VuZDp1cmwoJ2h0dHA6Ly9pbWcubWFpbC5ydS9y
L2Jsb2dzL21lbnVfZ3JhZC5naWYnKSBuby1yZXBlYXQgbGVmdCAtMXB4Owp9CgoK
LnRlc3QgdGQgewogICAgYm9yZGVyOjFweCBzb2xpZCByZWQ7Cn0KCi5ub2Rpc3Bs
YXkgewogICAgZGlzcGxheTpub25lOwp9CgoucG9zYWJzIHsKICAgIHBvc2l0aW9u
OmFic29sdXRlOwp9Ci56MTEwewogICAgei1pbmRleDoxMTA7Cn0KPC9zdHlsZT4K
CjxzY3JpcHQ+Cgp2YXIgb3JpZ2luYWxPYmogPSAwOwoKCgoKCgpmdW5jdGlvbiBw
c2V1ZG9DaGFuZ2UoY3Vycm9iaikgewogICAgZm9yIChpPTE7aTw2O2krKyl7CiAg
ICAgICAgZ2ViaSgndG9wTWVudScraSkuY2xhc3NOYW1lID0gJ3BhZDInOwogICAg
ICAgIGdlYmkoJ3RvcE1lbnUnK2krJzEnKS5jbGFzc05hbWUgPSAnZW1wdHknOwog
ICAgICAgIGdlYmkoJ3RvcE1lbnUnK2krJzInKS5jbGFzc05hbWUgPSAnZW1wdHkn
OwogICAgICAgIGdlYmkoJ2RvcE1lbnUnK2kpLnN0eWxlLmRpc3BsYXk9J25vbmUn
OwogICAgfQogICAgaWYgKGN1cnJvYmohPTApIHsKICAgICAgICBnZWJpKCd0b3BN
ZW51JytjdXJyb2JqKS5jbGFzc05hbWU9J2N1cnInOwogICAgICAgIGdlYmkoJ3Rv
cE1lbnUnK2N1cnJvYmorJzEnKS5jbGFzc05hbWU9J25vX3BhZCc7CiAgICAgICAg
Z2ViaSgndG9wTWVudScrY3Vycm9iaisnMicpLmNsYXNzTmFtZT0nbm9fcGFkJzsK
ICAgICAgICBnZWJpKCdkb3BNZW51JytjdXJyb2JqKS5zdHlsZS5kaXNwbGF5PSdi
bG9jayc7CiAgICB9Cn0KPC9zY3JpcHQ+CgoKCgo8dGFibGUgY2VsbHBhZGRpbmc9
MCBjZWxsc3BhY2luZz0wIGJvcmRlcj0wIHdpZHRoPSI5MCUiPjx0cj48dGQ+CiAg
ICA8dGFibGUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIGJvcmRlcj0wIHdp
ZHRoPSIxMDAlIiBjbGFzcz0idG9wX25hdiIgPgogICAgPGZvcm0gYWN0aW9uPSJo
dHRwOi8vYmxvZ3MubWFpbC5ydS9jZ2ktYmluL2pvdXJuYWwvanNlYXJjaCI+CiAg
ICA8dHIgdmFsaWduPW1pZGRsZT4KCgoKICAgICAgICA8dGQgaWQ9InRvcE1lbnUx
MSIgY2xhc3M9ImVtcHR5IiB3aWR0aD0iMSIgdmFsaWduPSJ0b3AiIGFsaWduPSJs
ZWZ0Ij48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0x
IGhlaWdodD0yND48L3RkPgogICAgICAgIDx0ZCBpZD0idG9wTWVudTEiIGNsYXNz
PSJwYWQyIiBub3dyYXAgYWxpZ249ImNlbnRlciIgd2lkdGg9IjExJSIgb25tb3Vz
ZW92ZXI9InBzZXVkb0NoYW5nZSgxKTsiPgogICAgICAgICAgICA8ZGl2IGFsaWdu
PSJjZW50ZXIiIGNsYXNzPSJtMCIgc3R5bGU9InZhbGlnbjpjZW50ZXI7IGhlaWdo
dDoxMDAlO3dpZHRoOjk2cHg7Ij4KICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICA8YSBocmVmPSIvY2dpLWJpbi9qb3VybmFsL2pvdXJuYWw/Zm9yY2VfbG9naW49
MSI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2ljb19ob21l
LnBuZyIgd2lkdGg9MTYgaGVpZ2h0PTE2IGJvcmRlcj0wIGFsaWduPWFic21pZGRs
ZSBjbGFzcz0iSUVwbmciPjwvYT4mbmJzcDsmbmJzcDsKICAgICAgICAgICAgPGEg
aHJlZj0iL2NnaS1iaW4vam91cm5hbC9qb3VybmFsP2ZvcmNlX2xvZ2luPTEiPszu
6SDh6+7jPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RkPgogICAg
ICAgIDx0ZCBpZD0idG9wTWVudTEyIiBjbGFzcz0iZW1wdHkiIHdpZHRoPSIxIiBh
bGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiBvbm1vdXNlb3Zlcj0icHNldWRvQ2hh
bmdlKDEpOyI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lk
dGg9MSBoZWlnaHQ9MjQ+PC90ZD4KCgoKCiAgICAgICAgPHRkIGlkPSJ0b3BNZW51
MjEiIGNsYXNzPSJlbXB0eSIgd2lkdGg9IjEidmFsaWduPSJ0b3AiIGFsaWduPSJs
ZWZ0IiBvbm1vdXNlb3Zlcj0icHNldWRvQ2hhbmdlKDIpOyI+PGltZyBzcmM9Imh0
dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lkdGg9MSBoZWlnaHQ9MjQ+PC90ZD4K
ICAgICAgICA8dGQgaWQ9InRvcE1lbnUyIiBjbGFzcz0icGFkMiIgd2lkdGg9IjEx
JSIgbm93cmFwIGFsaWduPSJjZW50ZXIiIG9ubW91c2VvdmVyPSJwc2V1ZG9DaGFu
Z2UoMik7Ij4KICAgICAgICA8ZGl2IGFsaWduPSJjZW50ZXIiIGNsYXNzPSJtMCIg
c3R5bGU9InZhbGlnbjpjZW50ZXI7IGhlaWdodDoxMDAlO3dpZHRoOjEwMHB4OyI+
CiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGEgaHJlZj0iL2NnaS1iaW4v
am91cm5hbC9qb3VybmFsP2ZvcmNlX2xvZ2luPTEmcmVxdWVzdD1mcmllbmRzIj48
aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNvX2ZyaWVuZHMu
cG5nIiBjbGFzcz0iSUVwbmciIHdpZHRoPTE2IGhlaWdodD0xNiBib3JkZXI9MCBh
bGlnbj1hYnNtaWRkbGU+PC9hPiZuYnNwOyZuYnNwOwogICAgICAgICAgICAKICAg
ICAgICAgICAgPGEgaHJlZj0iL2NnaS1iaW4vam91cm5hbC9qb3VybmFsP3JlcXVl
c3Q9ZnJpZW5kcyI+zO7oIOTw8+f8/zwvYT4KICAgICAgICA8L2Rpdj4KICAgICAg
ICA8L3RkPgogICAgICAgIDx0ZCBpZD0idG9wTWVudTIyIiBjbGFzcz0iZW1wdHki
IHdpZHRoPSIxIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiBvbm1vdXNlb3Zl
cj0icHNldWRvQ2hhbmdlKDIpOyI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5y
dS8wLmdpZiIgd2lkdGg9MSBoZWlnaHQ9MjQ+PC90ZD4KCgoKCiAgICAgICAgPHRk
IGlkPSJ0b3BNZW51MzEiIGNsYXNzPSJlbXB0eSIgd2lkdGg9IjEidmFsaWduPSJ0
b3AiIGFsaWduPSJsZWZ0IiBvbm1vdXNlb3Zlcj0icHNldWRvQ2hhbmdlKDMpOyI+
PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lkdGg9MSBoZWln
aHQ9MjQ+PC90ZD4KICAgICAgICA8dGQgaWQ9InRvcE1lbnUzIiBjbGFzcz0icGFk
MiIgd2lkdGg9IjExJSIgbm93cmFwIGFsaWduPSJjZW50ZXIiIG9ubW91c2VvdmVy
PSJwc2V1ZG9DaGFuZ2UoMyk7Ij4KICAgICAgICAgICAgPGRpdiBhbGlnbj0iY2Vu
dGVyIiBjbGFzcz0ibTAiIHN0eWxlPSJ2YWxpZ246Y2VudGVyOyBoZWlnaHQ6MTAw
JTt3aWR0aDoxMDFweDsiPgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxh
IGhyZWY9Ii9jYXRhbG9nLyI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9y
L2Jsb2dzL2ljb19jb21tX2IucG5nIiBjbGFzcz0iSUVwbmciIHdpZHRoPTE2IGhl
aWdodD0xNiBib3JkZXI9MCBhbGlnbj1hYnNtaWRkbGU+PC9hPiZuYnNwOyZuYnNw
OwogICAgICAgICAgICA8YSBocmVmPSIvY2F0YWxvZy8iPtHu7uH55fHy4uA8L2E+
CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkIGlk
PSJ0b3BNZW51MzIiIGNsYXNzPSJlbXB0eSIgd2lkdGg9IjEiIGFsaWduPSJyaWdo
dCIgdmFsaWduPSJ0b3AiIG9ubW91c2VvdmVyPSJwc2V1ZG9DaGFuZ2UoMyk7Ij48
aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0xIGhlaWdo
dD0yND48L3RkPgoKCgoKICAgICAgICA8dGQgaWQ9InRvcE1lbnU0MSIgY2xhc3M9
ImVtcHR5IiB3aWR0aD0iMSJ2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiIG9ubW91
c2VvdmVyPSJwc2V1ZG9DaGFuZ2UoNCk7Ij48aW1nIHNyYz0iaHR0cDovL2ltZy5t
YWlsLnJ1LzAuZ2lmIiB3aWR0aD0xIGhlaWdodD0yND48L3RkPgogICAgICAgIDx0
ZCBpZD0idG9wTWVudTQiIGNsYXNzPSJwYWQyIiB3aWR0aD0iMTElIiBub3dyYXAg
YWxpZ249ImNlbnRlciIgb25tb3VzZW92ZXI9InBzZXVkb0NoYW5nZSg0KTsiPgog
ICAgICAgICAgICA8ZGl2IGFsaWduPSJjZW50ZXIiIGNsYXNzPSJtMCIgc3R5bGU9
InZhbGlnbjpjZW50ZXI7IGhlaWdodDoxMDAlO3dpZHRoOjEwMHB4OyI+CiAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgPGEgaHJlZj0iL3RvcC8iPjxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fcmVhZC5wbmciIGNsYXNz
PSJJRXBuZyIgd2lkdGg9MTYgaGVpZ2h0PTE2IGJvcmRlcj0wIGFsaWduPWFic21p
ZGRsZT48L2E+Jm5ic3A7Jm5ic3A7CiAgICAgICAgICAgIDxhIGhyZWY9Ii90b3Av
Ij7L/uToIO/o+PPyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3Rk
PgogICAgICAgIDx0ZCBpZD0idG9wTWVudTQyIiBjbGFzcz0iZW1wdHkiIHdpZHRo
PSIxIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiBvbm1vdXNlb3Zlcj0icHNl
dWRvQ2hhbmdlKDQpOyI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdp
ZiIgd2lkdGg9MSBoZWlnaHQ9MjQ+PC90ZD4KCgoKCgoKICAgICAgICA8dGQgaWQ9
InRvcE1lbnU1MSIgY2xhc3M9ImVtcHR5IiB2YWxpZ249InRvcCIgYWxpZ249Imxl
ZnQiIG9ubW91c2VvdmVyPSJwc2V1ZG9DaGFuZ2UoNSk7Ij48aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0xIGhlaWdodD0yND48L3RkPgog
ICAgICAgIDx0ZCBpZD0idG9wTWVudTUiIGNsYXNzPSJwYWQyIiB3aWR0aD0iOCUi
IG5vd3JhcCBhbGlnbj0iY2VudGVyIiBvbm1vdXNlb3Zlcj0icHNldWRvQ2hhbmdl
KDUpOyI+CiAgICAgICAgPGRpdiBhbGlnbj0iY2VudGVyIiBjbGFzcz0ibTAiIHN0
eWxlPSJ2YWxpZ246Y2VudGVyOyBoZWlnaHQ6MTAwJTt3aWR0aDo3MHB4OyI+CiAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgPGEgaHJlZj0iL3RvcC9kdWVscyI+
PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2ljb19zZW5kX2No
YWxsZW5nZS5wbmciIGNsYXNzPSJJRXBuZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2
IiBib3JkZXI9IjAiIGFsaWduPSJhYnNtaWRkbGUiIC8+PC9hPiZuYnNwOyZuYnNw
OwogICAgICAgICAgICA8YSBocmVmPSIvdG9wL2R1ZWxzIiBzdHlsZT0iY29sb3I6
I0YyNkQwMDsiPsTz/evoPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8
L3RkPgogICAgICAgIDx0ZCBpZD0idG9wTWVudTUyIiBjbGFzcz0iZW1wdHkiIHZh
bGlnbj10b3AgYWxpZ249InJpZ2h0Ij48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1LzAuZ2lmIiB3aWR0aD0xIGhlaWdodD0yND48L3RkPgoKCgo8dGQgbm93cmFw
IHdpZHRoPSIxMiUiIGFsaWduPSJyaWdodCIgY2xhc3M9InBhZDIiPjxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fc2VhcmNoLnBuZyIgY2xh
c3M9IklFcG5nIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCIgYWxp
Z249ImFic21pZGRsZSI+PC90ZD4KPHRkIG5vd3JhcCBjbGFzcz0ibm9fcGFkMiIg
d2lkdGg9IjE3JSI+PGlucHV0IHR5cGU9InRleHQiIHN0eWxlPSJ3aWR0aDoyMjBw
eDsiIGNsYXNzPSJ3XzEwMCIgbmFtZT0icSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGlu
cHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InNfMTAwIiB2YWx1ZT0iIM3g6fLoICI+
PGlucHV0IHR5cGU9ImhpZGRlbiIgSUQ9IlNlbGVjdDEiIE5BTUU9Inp2dHlwZSIg
dmFsdWU9IiIgLz48L3RkPgo8dGQgbm93cmFwIGNsYXNzPSJub19wYWQyIiB3aWR0
aD0iNSUiPiZuYnNwOzwvdGQ+CgoKPHRkIG5vd3JhcCB3aWR0aD0iMTAlIiAgYWxp
Z249cmlnaHQgY2xhc3M9cGFkMj4mbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSJo
dHRwOi8vYmxvZ3MubWFpbC5ydS9oZWxwIj7P7uzu+fw8L2E+PC90ZD4KCiAgICA8
L3RyPjwvZm9ybT48L3RhYmxlPgoKCiAgICA8dGFibGUgY2VsbHBhZGRpbmc9MCBj
ZWxsc3BhY2luZz0wIGJvcmRlcj0wIHdpZHRoPSI5MCUiIGNsYXNzPSJkb3BfbWVu
dSBub2Rpc3BsYXkgcG9zYWJzIHoxMTAiIGlkPSJkb3BNZW51MSIgb25tb3VzZW92
ZXI9InBzZXVkb0NoYW5nZSgxKTsiPgogICAgPHRyIHZhbGlnbj10b3A+CiAgICAg
ICAgPHRkIGFsaWduPWNlbnRlciBub3dyYXA+PGEgaHJlZj0iL2NnaS1iaW4vam91
cm5hbC9qdXBkYXRlIj7k7uHg4ujy/CDn4O/o8fw8L2E+PC90ZD4KICAgICAgICA8
dGQgYWxpZ249Y2VudGVyIG5vd3JhcD48YSBocmVmPSIvY2dpLWJpbi9qb3VybmFs
LyI+7O7oIOfg7+jx6DwvYT48L3RkPgogICAgICAgIDx0ZCBhbGlnbj1jZW50ZXIg
bm93cmFwPjxhIGhyZWY9Ii9jZ2ktYmluL2pvdXJuYWwvanRhZ3MiPuzu6CDs5fLq
6DwvYT4mbmJzcDs8c3BhbiBjbGFzcz0ic20gYm9sZCIgc3R5bGU9ImNvbG9yOiNG
RjdGMDA7IHBvc2l0aW9uOnJlbGF0aXZlOyB0b3A6LTRweDsiPm5ldzwvc3Bhbj48
L3RkPgogICAgICAgIDx0ZCBhbGlnbj1jZW50ZXIgIG5vd3JhcD48YSBocmVmPSIv
Y2dpLWJpbi9qb3VybmFsL2pjaGFsbGVuZ2U/YWN0aW9uPW15Ij7s7ugg5PP96+g8
L2E+PC90ZD4KICAgICAgICA8dGQgYWxpZ249Y2VudGVyICBub3dyYXA+PGEgaHJl
Zj0iL2NnaS1iaW4vam91cm5hbC9mYXZvcml0ZXMiPujn4fDg7e3u5TwvYT48L3Rk
PgogICAgICAgIDx0ZCBhbGlnbj1jZW50ZXIgbm93cmFwPjxhIGhyZWY9Ii9jZ2kt
YmluL2pvdXJuYWwvdXNlcmluZm8iPu7h7iDs7eU8L2E+PC90ZD4KICAgICAgICA8
dGQgYWxpZ249Y2VudGVyIG5vd3JhcD48YSBocmVmPSIvY2dpLWJpbi9qb3VybmFs
L2plZGl0cHJvcHMiPu3g8fLw7unq6DwvYT48L3RkPgogICAgICAgIDx0ZCBhbGln
bj1jZW50ZXIgbm93cmFwPjxhIGhyZWY9Ii9jZ2ktYmluL2pvdXJuYWwvamVkaXRw
cm9wcz9wYWdlPTQmdHlwZT0xIj7u9O7w7Ovl7ejlPC9hPjwvdGQ+CiAgICAgICAg
PHRkIHdpZHRoPSIxMDAlIj4mbmJzcDs8L3RkPgogICAgPC90cj48L3RhYmxlPgoK
ICAgIDx0YWJsZSBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTAgYm9yZGVyPTAg
d2lkdGg9IjkwJSIgY2xhc3M9ImRvcF9tZW51IG5vZGlzcGxheSBwb3NhYnMgejEx
MCIgaWQ9ImRvcE1lbnUyIiBvbm1vdXNlb3Zlcj0icHNldWRvQ2hhbmdlKDIpOyI+
CiAgICAgICAgPHRyIHZhbGlnbj10b3A+CiAgICAgICAgPHRkIGFsaWduPWNlbnRl
ciBub3dyYXA+PGEgaHJlZj0iL2NnaS1iaW4vam91cm5hbC9mcmllbmRzP2dyb3Vw
cz1hbGwiPvfo8uDy/CDi8eX1IOTw8+fl6TwvYT48L3RkPgogICAgICAgIDx0ZCBh
bGlnbj0iY2VudGVyIiBub3dyYXA+PGEgaHJlZj0iaHR0cDovL215Lm1haWwucnUv
bXkvZnJpZW5kcyI+8OXk4Ory6PDu4uDy/CDk8PPn5ek8L2E+PC90ZD4KICAgICAg
ICA8dGQgYWxpZ249ImNlbnRlciIgbm93cmFwPjxhIGhyZWY9Imh0dHA6Ly9teS5t
YWlsLnJ1L215L2VkaXRfZ3JvdXBzIj7w5eTg6vLo8O7i4PL8IOPw8+/v+zwvYT48
L3RkPgogICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiBub3dyYXA+PGEgaHJlZj0i
aHR0cDovL215Lm1haWwucnUvbXkvZnJpZW5kcy1iaXJ0aHNkYXkiPuTt6CDw7ubk
5e3o/zwvYT48L3RkPgogICAgICAgIDx0ZCBhbGlnbj1jZW50ZXIgbm93cmFwPjxh
IGhyZWY9Imh0dHA6Ly9teS5tYWlsLnJ1L215L2VkaXRfc3Vic2NyaWJlIj7t4PHy
8O7p6uAg7+7k7+jx6ug8L2E+PC90ZD4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUi
PiZuYnNwOzwvdGQ+CiAgICA8L3RyPjwvdGFibGU+CgogICAgPHRhYmxlIGNlbGxw
YWRkaW5nPTAgY2VsbHNwYWNpbmc9MCBib3JkZXI9MCB3aWR0aD0iOTAlIiBjbGFz
cz0iZG9wX21lbnUgbm9kaXNwbGF5IHBvc2FicyB6MTEwIiBpZD0iZG9wTWVudTMi
IG9ubW91c2VvdmVyPSJwc2V1ZG9DaGFuZ2UoMyk7Ij4KICAgIDx0ciB2YWxpZ249
InRvcCI+CiAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIG5vd3JhcD48YSBocmVm
PSJodHRwOi8vbXkubWFpbC5ydS9teS9lZGl0Y29tbXVuaXR5Ij7x7ufk4PL8IPHu
7uH55fHy4u48L2E+PC90ZD4KICAgICAgICA8dGQgYWxpZ249ImNlbnRlciIgbm93
cmFwPjxhIGhyZWY9Imh0dHA6Ly9teS5tYWlsLnJ1L215L2NvbW11bml0aWVzIj7s
7ugg8e7u4fnl8fLi4DwvYT48L3RkPgogICAgICAgIDx0ZCBhbGlnbj0iY2VudGVy
IiBub3dyYXA+PGEgaHJlZj0iaHR0cDovL215Lm1haWwucnUvY2F0YWxvZy8iPurg
8uDr7uMg8e7u4fnl8fLiPC9hPjwvdGQ+CiAgICAgICAgPHRkIHdpZHRoPSIxMDAl
Ij4mbmJzcDs8L3RkPgogICAgPC90cj48L3RhYmxlPgoKICAgIDx0YWJsZSBjZWxs
cGFkZGluZz0wIGNlbGxzcGFjaW5nPTAgYm9yZGVyPTAgd2lkdGg9IjkwJSIgY2xh
c3M9ImRvcF9tZW51IG5vZGlzcGxheSBwb3NhYnMgejExMCIgaWQ9ImRvcE1lbnU0
IiBvbm1vdXNlb3Zlcj0icHNldWRvQ2hhbmdlKDQpOyI+PHRyIHZhbGlnbj10b3A+
CiAgICAgICAgPHRkIGFsaWduPWNlbnRlciAgbm93cmFwPjxhIGhyZWY9Ii90b3Av
Y29tbWVudC8iPuru7Ozl7fLo8PPl7PvlPC9hPjwvdGQ+CiAgICAgICAgPHRkIGFs
aWduPWNlbnRlciAgbm93cmFwPjxhIGhyZWY9Ii90b3Avd3JpdGUvIj7g6vLo4u37
5TwvYT48L3RkPgogICAgICAgIDx0ZCBhbGlnbj1jZW50ZXIgIG5vd3JhcD48YSBo
cmVmPSIvdG9wL3JlYWQvIj7v7u/z6//w7fvlPC9hPjwvdGQ+CiAgICAgICAgPHRk
IGFsaWduPWNlbnRlciAgbm93cmFwPjxhIGhyZWY9Ii90b3AvZnJpZW5kLyI+9+jy
4OXs++U8L2E+PC90ZD4KICAgICAgICA8dGQgYWxpZ249Y2VudGVyICBub3dyYXA+
PGEgaHJlZj0iL3RvcC9zdGFycy8iPufi5efk7fvlIOHr7uPoPC9hPjxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fc3Rhci5wbmciIGNsYXNz
PSJJRXBuZyIgYWx0PSLH4uXn5O375SDh6+7j6CDt4CBNYWlsLlJ1IiBhbGlnbj0i
dGV4dHRvcCIgYm9yZGVyPSIwIiBoZWlnaHQ9IjEwIiB3aWR0aD0iMTAiPjwvdGQ+
CiAgICAgICAgPHRkIGFsaWduPWNlbnRlciAgbm93cmFwPjxhIGhyZWY9Ii90b3Av
cG9zdHMvIj7v7u/z6//w7fvlIOfg7+jx6DwvYT48L3RkPgogICAgICAgIDx0ZCBh
bGlnbj1jZW50ZXIgIG5vd3JhcD48YSBocmVmPSIvY2dpLWJpbi9qb3VybmFsL2xh
c3RfcHVibGljX3Bvc3RzIj7v7vHr5eTt6OUg5+Dv6PHoPC9hPjwvdGQ+CiAgICAg
ICAgCiAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIG5vd3JhcD0ibm93cmFwIiA+
PGEgaHJlZj0iL3BvbGxzLyI+7u/w7vH7PC9hPjwvdGQ+CiAgICAgICAgPHRkIHdp
ZHRoPSIxMDAlIj4mbmJzcDs8L3RkPgogICAgPC90cj48L3RhYmxlPgoKCgoKICAg
IDx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0i
MCIgd2lkdGg9IjkwJSIgIGNsYXNzPSJkb3BfbWVudSBub2Rpc3BsYXkgcG9zYWJz
IHoxMTAiIGlkPSJkb3BNZW51NSIgb25tb3VzZW92ZXI9InBzZXVkb0NoYW5nZSg1
KTsiPjx0ciB2YWxpZ249InRvcCI+CiAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIi
IG5vd3JhcD48YSBocmVmPSIvY2dpLWJpbi9qb3VybmFsL2pjaGFsbGVuZ2U/YWN0
aW9uPW15Ij7s7ugg5PP96+g8L2E+PC90ZD4KICAgICAgICA8dGQgYWxpZ249ImNl
bnRlciIgIG5vd3JhcD48YSBocmVmPSIvdG9wL2R1ZWxzL3dpbm5lcnMvIj7v7uHl
5Ps8L2E+PC90ZD4KICAgICAgICA8dGQgYWxpZ249ImNlbnRlciIgIG5vd3JhcD48
YSBocmVmPSIvdG9wL2R1ZWxzL2xvc2Vycy8iPu/u8ODm5e3o/zwvYT48L3RkPgog
ICAgICAgIAogICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiAgbm93cmFwPjxhIGhy
ZWY9Ii9jZ2ktYmluL2pvdXJuYWwvamNoYWxsZW5nZT9hY3Rpb249bGl2ZWFpciI+
7/D/7O7pIP306PA8L2E+PC90ZD4KICAgICAgICA8dGQgYWxpZ249ImNlbnRlciIg
IG5vd3JhcD48YSBocmVmPSIvZG91YmxlIj7k4vPx8uLu6+rgPC9hPiZuYnNwOzxz
cGFuIGNsYXNzPSJzbSBib2xkIiBzdHlsZT0iY29sb3I6I0ZGN0YwMDsgcG9zaXRp
b246cmVsYXRpdmU7IHRvcDotNHB4OyI+bmV3PC9zcGFuPjwvdGQ+CiAgICAgICAg
PHRkIGFsaWduPSJjZW50ZXIiICBub3dyYXA+PGEgaHJlZj0iL21lZ2F2b3RlIj7i
IOTl8f/y6vMhPC9hPiZuYnNwOzxzcGFuIGNsYXNzPSJzbSBib2xkIiBzdHlsZT0i
Y29sb3I6I0ZGN0YwMDsgcG9zaXRpb246cmVsYXRpdmU7IHRvcDotNHB4OyI+bmV3
PC9zcGFuPjwvdGQ+CiAgICAgICAgPHRkIHdpZHRoPSIxMDAlIj4mbmJzcDs8L3Rk
PgogICAgPC90cj48L3RhYmxlPgoKICAgIDxkaXYgY2xhc3M9InB4MSIgc3R5bGU9
IndpZHRoOjc2MHB4Ij48L2Rpdj4KCgoKCjwvdGQ+PC90cj48L3RhYmxlPgo8IS0t
IEVORDogam91cm5hbCBtZW51IC0tPgoKCQk8L3RkPgoJCTx0ZCBjbGFzcz0icmln
aHRfdG9wX3NoaWZ0Ij48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lm
IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9IiI+PC90ZD4KCTwvdHI+Cgk8L3Rh
YmxlPgoKCTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIwIiAgb25tb3VzZW92ZXI9InBzZXVkb0NoYW5nZShvcmlnaW5hbE9i
aik7IiBjbGFzcz0iY2VudHJhbF90YWJsZSI+Cgk8dHIgdmFsaWduPSJ0b3AiPgoJ
CTx0ZCB3aWR0aD0iMTUiIGNsYXNzPSJsZWZ0X2JvdHRvbV9zaGlmdCI+PGltZyBz
cmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0i
MSIgYWx0PSIiPjwvdGQ+CgkJPHRkIHdpZHRoPSIyMyUiPgoJCQk8dGFibGUgaWQ9
ImxlZnRfYmxvY2siIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMCIgY2VsbHNw
YWNpbmc9IjAiPgoJCQk8dHI+CgkJCQk8dGQgaWQ9ImxlZnRfYmxvY2tfdG9wX2Vs
ZW1lbnRzIiBjb2xzcGFuPSIzIj4KCQkJCQk8dGFibGUgd2lkdGg9IjEwMCUiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+CgkJCQkJPHRyPgoJCQkJCQk8
dGQgY2xhc3M9ImxlZnRfZWxlbWVudCI+PGRpdj48aW1nIHNyYz0iaHR0cDovL2lt
Zy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9IiI+PC9k
aXY+PC90ZD4KCQkJCQkJPHRkIGNsYXNzPSJyaWdodF9lbGVtZW50Ij48ZGl2Pjxp
bWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdpZHRoPSIxIiBoZWln
aHQ9IjEiIGFsdD0iIj48L2Rpdj48L3RkPgoJCQkJCTwvdHI+CgkJCQkJPC90YWJs
ZT4KCQkJCTwvdGQ+CgkJCTwvdHI+CgkJCTx0ciBpZD0ibGVmdF9ibG9ja19jb250
ZW50Ij4KCQkJCTx0ZCBjbGFzcz0ibGVmdF9lbGVtZW50Ij4KCQkJCQk8aW1nIHNy
Yz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiBjbGFzcz0idG9wIiB3aWR0aD0i
MSIgaGVpZ2h0PSIxIiBhbHQ9IiI+CgkJCQkJPGltZyBzcmM9Imh0dHA6Ly9pbWcu
bWFpbC5ydS8wLmdpZiIgY2xhc3M9ImJvdHRvbSIgd2lkdGg9IjEiIGhlaWdodD0i
MSIgYWx0PSIiPgoJCQkJPC90ZD4KCQkJCTx0ZCBjbGFzcz0iY2VudGVyIj4KCQkJ
CQk8ZGl2IGNsYXNzPSJjZW50ZXJfcGF0dGVybiI+CgkJCQkJCgkJCQkJPCEtLSBC
RUdJTjogdXNlciBtZW51IC0tPgoKCjxkaXYgY2xhc3M9ImJsb2dlcl90b3BfZWxl
bWVudCI+PC9kaXY+CjxkaXYgaWQ9ImJsb2dlcl9ncmFkIj48ZGl2IGlkPSJibG9n
ZXIiPjxkaXYgY2xhc3M9InJpZ2h0X2JnIj4KPHRhYmxlIGNsYXNzPSJibG9nZXJf
Y29udGVudCBJRXBuZyIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgPgo8dHI+Cgk8dGQgY2xhc3M9ImJvdHRvbV9iZyI+CgkJPHRh
YmxlIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MCBib3JkZXI9MCB3aWR0aD0x
MDAlIGNsYXNzPSJsb2dpbl9mb3JtIj4KCQk8dHI+PHRkIGNvbHNwYW49Mz7I7P8g
Jm5ic3A7Jm5ic3A7ICgmbmJzcDs8Yj48YSBocmVmPWh0dHA6Ly93aW4ubWFpbC5y
dS9jZ2ktYmluL3NpZ251cD9ibG9ncz0xIGNsYXNzPWZybTE+8OXj6PHy8OD26P88
L2E+PC9iPiZuYnNwOyk8L3RkPjwvdHI+CgkJCTxmb3JtIG1ldGhvZD0icG9zdCIg
YWN0aW9uPSJodHRwOi8vd2luLm1haWwucnUvY2dpLWJpbi9hdXRoIiBuYW1lPSJB
dXRoIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYWdlIiB2YWx1ZT0iL21h
aWwvbWFsdm9fNTkvNkEwRkI5OEM1RkQ0RDE1Qy5odG1sIj4KCQkJCgkJPHRyPgoJ
CQk8dGQgY29sc3Bhbj0yPjxpbnB1dCB0eXBlPXRleHQgY2xhc3M9d18xMDAgIG5h
bWU9IkxvZ2luIiB2YWx1ZT0ieW1ib2V2Ij48L3RkPgoJCQk8dGQ+PHNlbGVjdCBu
YW1lPURvbWFpbiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjJweDsi
PgoJCQk8b3B0aW9uIHZhbHVlPSJtYWlsLnJ1IiAgU0VMRUNURUQ+QG1haWwucnU8
L29wdGlvbj48b3B0aW9uIHZhbHVlPSJpbmJveC5ydSIgPkBpbmJveC5ydTwvb3B0
aW9uPjxvcHRpb24gdmFsdWU9ImJrLnJ1IiA+QGJrLnJ1PC9vcHRpb24+PG9wdGlv
biB2YWx1ZT0ibGlzdC5ydSIgPkBsaXN0LnJ1PC9vcHRpb24+PC9zZWxlY3Q+PC90
ZD4KCQk8L3RyPgoJCTx0cj48dGQgY29sc3Bhbj0zPjxpbWcgc3JjPWh0dHA6Ly9p
bWcubWFpbC5ydS8wLmdpZiAgaGVpZ2h0PTggPjwvdGQ+PC90cj4KCQk8dHI+PHRk
IGNvbHNwYW49Mz7P4PDu6/wgKCA8YSBocmVmPSJodHRwOi8vd3d3Lm1haWwucnUv
cGFnZXMvaGVscC85Mi5odG1sIiBjbGFzcz1mcm0xPufg4fvr6D88L2E+KTwvdGQ+
PC90cj4KCQk8dHI+PHRkIGNvbHNwYW49Mz48aW5wdXQgdHlwZT1wYXNzd29yZCBj
bGFzcz13XzEwMCBuYW1lPVBhc3N3b3JkPjwvdGQ+PC90cj4KCQk8dHI+PHRkIGNv
bHNwYW49Mz48aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUvMC5naWYgIGhlaWdo
dD04ID48L3RkPjwvdHI+CgkJPHRyPgoJCQk8dGQgd2lkdGg9NiU+IDxpbnB1dCB0
eXBlPWNoZWNrYm94IGlkPWxjaGNrMSBuYW1lPWxldmVsIHZhbHVlPSIxIiA+PC90
ZD4KCQkJPHRkIHdpZHRoPTQ2JT4gPGxhYmVsIGZvcj1sY2hjazEgPtfz5u7pIOru
7O/8/vLl8DwvbGFiZWw+PC90ZD4KCQkJPHRkIHdpZHRoPTQ4JSBhbGlnbj1yaWdo
dCA+IDxpbnB1dCB0eXBlPXN1Ym1pdCAgdmFsdWU9IsLu6fLoIiA+PC90ZD4KCQk8
L3RyPgoJCTwvZm9ybT4KCQk8L3RhYmxlPgoJPC90ZD4JCQkJCjwvdHI+CjwvdGFi
bGU+CjwvZGl2PjwvZGl2PjwvZGl2Pgo8ZGl2IGNsYXNzPSJibG9nZXJfYm90dG9t
X2VsZW1lbnQiPjwvZGl2Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hdXRoLm1haWwu
cnUvaHR0cHMuanM/MjM1ODg4NjEyMCI+PC9zY3JpcHQ+CgoKPGRpdiBjbGFzcz0i
YmxvZ2VyX3RvcF9lbGVtZW50Ij48L2Rpdj4KPGRpdiBpZD0iYmxvZ2VyX2dyYWQi
PjxkaXYgaWQ9ImJsb2dlciI+PGRpdiBjbGFzcz0icmlnaHRfYmciPgo8dGFibGUg
Y2xhc3M9ImJsb2dlcl9jb250ZW50IElFcG5nIiB3aWR0aD0iMTAwJSIgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4KPHRyPgoJPHRkIGNsYXNzPSJib3R0
b21fYmciPgoJCQoJCQoJCQoJCTxkaXYgaWQ9InBhc3BvcnRfdG9wX2ltYWdlcyI+
PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgY2xhc3M9ImxlZnRf
dG9wX2Nvcm5lciIgd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSIiPjxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIGNsYXNzPSJyaWdodF90b3BfY29y
bmVyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9IiI+PC9kaXY+CgkJPGRpdiBp
ZD0idXNlcl9zdGF0dXMiPjxkaXYgY2xhc3M9InJpZ2h0X2Nvcm5lciI+PC9kaXY+
CgkJPGEgaHJlZj0iaHR0cDovL3d3dy5tYWlsLnJ1L2FnZW50P21lc3NhZ2UmdG89
bWFsdm9fNTlAbWFpbC5ydSI+PGkgY2xhc3M9InNwci1tcmltLTEzIElFcG5nIiBl
bWFpbD0ibWFsdm9fNTlAbWFpbC5ydSI+PC9pPjwvYT48YSBocmVmPSIvbWFpbC9t
YWx2b181OS8iIHN0eWxlPSJmbG9hdDpub25lO21hcmdpbi1yaWdodDowcHgiPk1h
bHZpbjwvYT48L2Rpdj4KCQk8dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5n
PSIwIiBjZWxsc3BhY2luZz0iMCI+CgkJPHRyIHZhbGlnbj0idG9wIj4KCQkJPHRk
IGlkPSJhdmF0YXIiPgoJCQkJCgkJCQkKCQkJCQk8ZGl2IGlkPSJ1c2VyYXZhdGFy
Xy9tYWlsL21hbHZvXzU5LyI+PGEgaHJlZj0iL21haWwvbWFsdm9fNTkvIj48aW1n
IHNyYz0iaHR0cDovL2F2dC5mb3RvLm1haWwucnUvbWFpbC9tYWx2b181OS9fYXZh
dGFyIiBib3JkZXI9MCBjbGFzcz1hdmF0YXI+PC9hPjwvZGl2PgoJCQkJCTxkaXYg
aWQ9ImxhcmdlciI+PGEgb25jbGljaz0ic2hvd19hdmEoJ2h0dHA6Ly9hdnQuZm90
by5tYWlsLnJ1L21haWwvbWFsdm9fNTkvX2F2YXRhcmJpZycsJy9tYWlsL21hbHZv
XzU5LycpOyByZXR1cm4gZmFsc2U7IiBocmVmPSJodHRwOi8vbXkubWFpbC5ydS9t
YWlsL21hbHZvXzU5L3pvb20uaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPvPi5evo9+jy
/DwvYT48L2Rpdj4KCQkJCQoJCQkJCgkJCQkKCQkJCQkJCgkJCQkKCQkJPC90ZD4K
CQkJPHRkIGlkPSJibG9nZXJfcGFnZXMiPgoJCQkKCgkJCSAgICAKCQkJCTxhIGhy
ZWY9Ii9tYWlsL21hbHZvXzU5LyI+PGltZyBzcmM9aHR0cDovL2ltZy5tYWlsLnJ1
L3IvYmxvZ3MvaWNvX2hvbWUucG5nIHdpZHRoPTE2IGhlaWdodD0xNiBib3JkZXI9
MCBhbGlnbj1hYnNtaWRkbGUgY2xhc3M9IklFcG5nIj48L2E+Jm5ic3A7Jm5ic3A7
PGEgY2xhc3M9Y29yX2NvbCBocmVmPSIvbWFpbC9tYWx2b181OS8iPsHr7uM8L2E+
PGJyPgoJCQkgICAgCgoJCQkgICAgCgkJCQk8bm9icj48YSBocmVmPSIvbWFpbC9t
YWx2b181OS9pbmZvIj48aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUvci9ibG9n
cy9pY29faW5mby5wbmcgd2lkdGg9MTYgaGVpZ2h0PTE2IGJvcmRlcj0wIGFsaWdu
PWFic21pZGRsZSBjbGFzcz0iSUVwbmciPjwvYT4mbmJzcDsmbmJzcDs8YSBjbGFz
cz1jb3JfY29sIGhyZWY9Ii9tYWlsL21hbHZvXzU5L2luZm8iPsjt9O48L2E+PC9u
b2JyPjxicj4KCQkJICAgIAoKCQkJICAgIAoJCQkJCgkJCQk8YSBocmVmPSIvbWFp
bC9tYWx2b181OS9mcmllbmRzIj48aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUv
ci9ibG9ncy9pY29fZnJpZW5kcy5wbmcgd2lkdGg9MTYgaGVpZ2h0PTE2IGJvcmRl
cj0wIGFsaWduPWFic21pZGRsZSBjbGFzcz0iSUVwbmciPjwvYT4mbmJzcDsmbmJz
cDs8YSBjbGFzcz1jb3JfY29sIGhyZWY9Ii9tYWlsL21hbHZvXzU5L2ZyaWVuZHMi
PsTw8+f8/zwvYT48YnI+CgkJCQkKCQkJICAgIAoJCQkKCQkJPG5vYnI+PGEgaHJl
Zj0iaHR0cDovL215Lm1haWwucnUvbWFpbC9tYWx2b181OS8/ZnJvbV9jb21tZXJj
aWFsPTE4IiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFp
bC5ydS9yL2Jsb2dzL2ljb19teS5wbmciIGNsYXNzPSJJRXBuZyIgd2lkdGg9MTYg
aGVpZ2h0PTE2IGJvcmRlcj0wIGFsaWduPWFic21pZGRsZT48L2E+Jm5ic3A7Jm5i
c3A7PGEgaHJlZj0iaHR0cDovL215Lm1haWwucnUvbWFpbC9tYWx2b181OS8/ZnJv
bV9jb21tZXJjaWFsPTE4IiBjbGFzcz1jb3JfY29sIHRhcmdldD0iX2JsYW5rIj7M
7ukmbmJzcDvM6PA8L2E+PC9ub2JyPjxicj48bm9icj48YSBocmVmPSJodHRwOi8v
Zm90by5tYWlsLnJ1L21haWwvbWFsdm9fNTkvIiB0YXJnZXQ9Il9ibGFuayI+PGlt
ZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2ljb19mb3RvLnBuZyIg
Y2xhc3M9IklFcG5nIiB3aWR0aD0xNiBoZWlnaHQ9MTYgYm9yZGVyPTAgYWxpZ249
YWJzbWlkZGxlPjwvYT4mbmJzcDsmbmJzcDs8YSBocmVmPSJodHRwOi8vZm90by5t
YWlsLnJ1L21haWwvbWFsdm9fNTkvIiBjbGFzcz1jb3JfY29sIHRhcmdldD0iX2Js
YW5rIj7U7vLuPC9hPjwvbm9icj48YnI+PG5vYnI+PGEgaHJlZj0iaHR0cDovL3Zp
ZGVvLm1haWwucnUvbWFpbC9tYWx2b181OS8iIHRhcmdldD0iX2JsYW5rIj48aW1n
IHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNvX3ZpZGVvLnBuZyIg
Y2xhc3M9IklFcG5nIiB3aWR0aD0xNiBoZWlnaHQ9MTYgYm9yZGVyPTAgYWxpZ249
YWJzbWlkZGxlPjwvYT4mbmJzcDsmbmJzcDs8YSBocmVmPSJodHRwOi8vdmlkZW8u
bWFpbC5ydS9tYWlsL21hbHZvXzU5LyIgY2xhc3M9Y29yX2NvbCB0YXJnZXQ9Il9i
bGFuayI+wujk5e48L2E+PC9ub2JyPjxicj4KCQkJPC90ZD4KCQk8L3RyPgoJCTwv
dGFibGU+CQkJCQkJCQkJCQkKCQoJCgkJCgkJCgkJCgkJPHRhYmxlIGlkPSJ1c2Vy
X3NlcnZpY2VzIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj
aW5nPSIwIj4KCQk8dHI+CgkJCTx0ZD4KCQkJCTxzY3JpcHQ+CgkJCQl2YXIgcnNz
X2hlbHBfdGV4dD0KCQkJCSAgICAiUlNTJm5ic3A7Jm1kYXNoOyD98u4g9O7w7ODy
LCDv8OXk7eDn7eD35e3t++kg5Ov/IPLw4O3x6//26Ogg6+Xt8iDt7uLu8fLl6Swg
4O3u7fHu4iDx8uDy5eksICDo5+zl7eXt6Okg4iDh6+7j4PUg6CDyLiDvLiDI7fTu
8Ozg9uj/IOjnIPDg5+vo9+379SDo8fLu9+3o6u7iLCDv8OXk8fLg4uvl7e3g/yDi
ICD07vDs4PLlICBSU1MsICDs7ubl8iAg4fvy/CAg8e7h8ODt4CwgIO7h8ODh7vLg
7eAgIOgg7/Dl5PHy4OLr5e3gIO/u6/zn7uLg8uXr/iDiICDz5O7h7e7sIOTr/yDt
5ePuIOLo5OUg8e/l9ujg6/zt++zoIO/w7uPw4Ozs4OzoLeDj8OXj4PLu8ODs6C48
YnI+PGJyPtHz+eXx8uLz5fIgIO/w7uPw4Ozs7e7lICDu4eXx7+X35e3o5SAoUlNT
LeDj8OXj4PLu8PssIFJTUy3w6OTl8PspLCDx7uHo8OD++eXlIOggIO7h8ODh4PL7
4uD++eXlICAgIOjt9O7w7OD26P4sICAg7/Dl5O7x8uDi6+Xt7fP+ICAg4iAgIPTu
8Ozg8uUgIFJTUy4gIMjx7+7r/Ofz/yAg8e/l9ujg6/zt++UgIO/w7uPw4Ozs+yAg
6OvoICDu7evg6e0g8eXw4ujx+yDi+yDs7ubl8uUg7+7k7+jx4PL88f8g7eAg7uHt
7uLr5e3o/yAg6/7h7uPuIOHr7uPgLCDx7u7h+eXx8uLgLCDr5e3y+yDx4u7o9SDk
8PPn5ekuPGJyPjxicj7X8u7h+yAg5O7h4OLo8vwgIO3u4vvpIOrg7eDrIOIgUlNT
Lerr6OXt8iwg8eru7+jw8+ny5SDx8fvr6vMg7eAgUlNTLe/u8u7qIP3y7uPuICDq
4O3g6+Ag4iDi++Hw4O3t8/4g7/Du4/Dg7OzzIPfy5e3o/yBSU1MuIjsKCQkJCXZh
ciBhZGRfY29tbXVuaXR5X3RvX2ZyaWVuZHNfaGVscF90ZXh0PQoJCQkJICAgICLE
7uHg4uv//yDx7u7h+eXx8uLuIOIgxPDz5/z/LCDt7iDt5SDi8fLz7+D/IOIg7eXj
7iwgwvsg7+7r8/fg5fLlIOLu5+zu5u3u8fL8IPfo8uDy/CDiIOvl7fLlIOTw8+fl
6SDu8urw+/L75SDn4O/o8egg/fLu4+4g8e7u4fnl8fLi4C4g1/Lu4fsg9+jy4PL8
IOLx5SDn4O/o8egsIO3z5u3uIOIg7eXj7iDi8fLz7+jy/C48YnI+yPHv7uv85+7i
4O3o5SD98u7j7iDx7+7x7uHgIPfy5e3o/yDx7u7h+eXx8uLgIOzu5uXyIOH78vwg
7+7r5eft7iwg5fHr6CDC+yDt5SD17vLo8uUsIPfy7uH7IO3gIPHy8ODt6PblIOjt
9O7w7OD26Ogg7iDC4PEg4fvr7iDt4O/o8eDt7iwg9/LuIML7ICZuZGFzaDsg8/fg
8fLt6Oog/fLu4+4g8e7u4fnl8fLi4C4iOwoJCQkJdmFyIGRlbGV0ZV9jb21tdW5p
dHlfZnJvbV9mcmllbmRzX2hlbHBfdGV4dD0KCQkJCSAgICAi0+Tg6+jiIPHu7uH5
5fHy4u4g6OcgxPDz5+XpLCDC+yDv5fDl8fLg7eXy5SDi6OTl8vwg5ePuIOfg7+jx
6CDiIPHi7uXpIOvl7fLlIOTw8+fl6Swg7e4g7/DoIP3y7uwsIOXx6+ggwvsg/+Lr
/+Xy5fH8IOXj7iDz9+Dx8u3o6u7sLCDC+yDx7vXw4O3o8uUg4vHlIO/w6OLo6+Xj
6Ogg8/fg8fLt6OrgIPHu7uH55fHy4uAuIjsKCQkJCTwvc2NyaXB0PgoKCQkJPCEt
LWRpdiBjbGFzcz0ibWVudV9ocmxpbmUgbWI1Ij48aW1nIHNyYz1odHRwOi8vaW1n
Lm1haWwucnUvMC5naWYgd2lkdGg9MSBoZWlnaHQ9MT48L2Rpdi0tPgoJCQkKCQkJ
CQoJCQkJCTxkaXYgaWQ9ImNoYWxsZW5nZV90aHJvd19saW5rbGVmdF8yNjI3NjU2
MiI+PGEgaHJlZj0iaHR0cDovL2Jsb2dzLm1haWwucnUvbWFpbC9tYWx2b181OS9q
Y2hhbGxlbmdlP2FjdGlvbj1vZmZlciZiYWNrPWh0dHAmIzAzNzszYSYjMDM3OzJm
JiMwMzc7MmZibG9ncy5tYWlsLnJ1JiMwMzc7MmZtYWlsJiMwMzc7MmZtYWx2b181
OSYjMDM3OzJmNkEwRkI5OEM1RkQ0RDE1Qy5odG1sIiBvbmNsaWNrPSJjYWxsX29u
X2NoYWxsZW5nZSgnMjYyNzY1NjInLCBldmVudCk7IHJldHVybiBmYWxzZTsiPjxp
bWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fc2VuZF9jaGFs
bGVuZ2UucG5nIiBjbGFzcz0iSUVwbmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIg
Ym9yZGVyPSIwIiBhbGlnbj0iYWJzbWlkZGxlIiB2c3BhY2U9IjMiIC8+PC9hPiZu
YnNwOyZuYnNwOzxhIGhyZWY9Imh0dHA6Ly9ibG9ncy5tYWlsLnJ1L21haWwvbWFs
dm9fNTkvamNoYWxsZW5nZT9hY3Rpb249b2ZmZXImYmFjaz1odHRwJiMwMzc7M2Em
IzAzNzsyZiYjMDM3OzJmYmxvZ3MubWFpbC5ydSYjMDM3OzJmbWFpbCYjMDM3OzJm
bWFsdm9fNTkmIzAzNzsyZjZBMEZCOThDNUZENEQxNUMuaHRtbCIgb25jbGljaz0i
Y2FsbF9vbl9jaGFsbGVuZ2UoJzI2Mjc2NTYyJywgZXZlbnQpOyByZXR1cm4gZmFs
c2U7IiBjbGFzcz0iY29yX2NvbCI+wvvn4uDy/CDt4CDk8/3r/DwvYT48L2Rpdj4K
CQkJCQk8ZGl2IHN0eWxlPSJkaXNwbGF5OiBub25lIiBpZD0iY2hhbGxlbmdlX3Ro
cm93X3N1Y2Nlc3NsZWZ0XzI2Mjc2NTYyIj48aW1nIHNyYz0iaHR0cDovL2ltZy5t
YWlsLnJ1L3IvYmxvZ3MvaWNvX3NlbmRfY2hhbGxlbmdlLnBuZyIgY2xhc3M9IklF
cG5nIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCIgYWxpZ249ImFi
c21pZGRsZSIgdnNwYWNlPSIzIiAvPiZuYnNwOyZuYnNwOzxhIGNsYXNzPSJjb3Jf
Y29sIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lIj7C++fu4iDh8O745e0h
PC9hPjwvZGl2PgoJCQkJCgkgICAgCgkJCQkKCQkJCTxkaXYgaWQ9Zm9yX2ZyaWVu
ZF9ncm91cF9zZWxlY3Rvcj48bm9icj48YSBtYz0xIGlkPSJmcmllbmRfbGluayIg
b25jbGljaz0icmVnX2V2dChldmVudCk7cmV0dXJuIHNob3dfZnJpZW5kX2dyb3Vw
X3NlbGVjdG9yKCdmb3JfZnJpZW5kX2dyb3VwX3NlbGVjdG9yJywnbWFsdm9fNTlA
bWFpbC5ydScpOyIgaHJlZj0iL2NnaS1iaW4vam91cm5hbC9qYWRkZnJpZW5kP3Vz
ZXI9bWFsdm9fNTlAbWFpbC5ydSZiYWNrPWh0dHAmIzAzNzszYSYjMDM3OzJmJiMw
Mzc7MmZibG9ncy5tYWlsLnJ1JiMwMzc7MmZtYWlsJiMwMzc7MmZtYWx2b181OSYj
MDM3OzJmNkEwRkI5OEM1RkQ0RDE1Qy5odG1sIj48aW1nIHNyYz1odHRwOi8vaW1n
Lm1haWwucnUvci9ibG9ncy9pY29fYWRkX2ZyaWVuZC5wbmcgd2lkdGg9MTYgaGVp
Z2h0PTE2IGJvcmRlcj0wIGFsaWduPWFic21pZGRsZSBjbGFzcz0iSUVwbmciPjwv
YT4mbmJzcDsmbmJzcDs8YSBpZD0iZnJpZW5kX2xpbmsxIiBvbmNsaWNrPSJyZWdf
ZXZ0KGV2ZW50KTtyZXR1cm4gc2hvd19mcmllbmRfZ3JvdXBfc2VsZWN0b3IoJ2Zv
cl9mcmllbmRfZ3JvdXBfc2VsZWN0b3InLCdtYWx2b181OUBtYWlsLnJ1Jyk7IiBo
cmVmPSIvY2dpLWJpbi9qb3VybmFsL2phZGRmcmllbmQ/dXNlcj1tYWx2b181OUBt
YWlsLnJ1JmJhY2s9aHR0cCYjMDM3OzNhJiMwMzc7MmYmIzAzNzsyZmJsb2dzLm1h
aWwucnUmIzAzNzsyZm1haWwmIzAzNzsyZm1hbHZvXzU5JiMwMzc7MmY2QTBGQjk4
QzVGRDREMTVDLmh0bWwiIGNsYXNzPWNvcl9jb2w+xO7h4OLo8vwg4iDE8PPn/P88
L2E+PC9ub2JyPjxicj48L2Rpdj4KCQkJCQoJCQkgICAgCgkJCQkJCQoJCQkKICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgIDxkaXY+PGEgaWQ9ImxlbnRhX2xpbmsiIG9uY2xpY2s9InJldHVybiBq
b3VybmFsX3JlYWQoMSkiIGhyZWY9IiMiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1h
aWwucnUvbWFpbC9ydS9pbWFnZXMvYmxvZ3MvaV9mYXZvcml0ZS5naWYiIGNsYXNz
PSJJRXBuZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBhbGlnbj0iYWJzbWlkZGxl
IiAvPjwvYT48YSBpZD0ibGVudGFfbGluazIiIG9uY2xpY2s9InJldHVybiBqb3Vy
bmFsX3JlYWQoMSkiIGhyZWY9IiMiPtfo8uDy/CDiIOvl7fLlPC9hPjwvZGl2Pgog
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgkJCSAgICAKCQkJ
CTxub2JyPjxhIGlkPSJzdWJzY3JfbGluayIgb25jbGljaz0icmV0dXJuIGpvdXJu
YWxfc3Vic2NyaWJlKDApIiBocmVmPSIvY2dpLWJpbi9qb3VybmFsL2pjb21tZW50
c3N1YnNjcmliZT91c2VyPW1hbHZvXzU5QG1haWwucnUmcG9zdHM9MSZiYWNrPWh0
dHAmIzAzNzszYSYjMDM3OzJmJiMwMzc7MmZibG9ncy5tYWlsLnJ1JiMwMzc7MmZt
YWlsJiMwMzc7MmZtYWx2b181OSYjMDM3OzJmNkEwRkI5OEM1RkQ0RDE1Qy5odG1s
Ij48aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fc3Vic2Ny
aWJlLnBuZyBjbGFzcz0iSUVwbmciIHdpZHRoPTE2IGhlaWdodD0xNiBib3JkZXI9
MCBhbGlnbj1hYnNtaWRkbGU+PC9hPiZuYnNwOyZuYnNwOzxhIGlkPSJzdWJzY3Jf
bGluazIiIG9uY2xpY2s9InJldHVybiBqb3VybmFsX3N1YnNjcmliZSgwKSIgY2xh
c3M9Y29yX2NvbCBocmVmPSIvY2dpLWJpbi9qb3VybmFsL2pjb21tZW50c3N1YnNj
cmliZT91c2VyPW1hbHZvXzU5QG1haWwucnUmcG9zdHM9MSZiYWNrPWh0dHAmIzAz
NzszYSYjMDM3OzJmJiMwMzc7MmZibG9ncy5tYWlsLnJ1JiMwMzc7MmZtYWlsJiMw
Mzc7MmZtYWx2b181OSYjMDM3OzJmNkEwRkI5OEM1RkQ0RDE1Qy5odG1sIj7P7uTv
6PHg8vzx/yDt4CDu4e3u4uvl7ej/PC9hPjwvbm9icj48YnI+CgkJCSAgICAKCQkJ
CgkJCQoJCQkgICAgPGRpdj48bm9icj48YSBocmVmPSIvY2dpLWJpbi9qb3VybmFs
L2Jsb2dzX2xlYWRlciIgb25jbGljaz0ic2hvd19zbXNfbGVhZGVyc2hpcF9ydWxl
cygpOyByZXR1cm4gZmFsc2U7Ij48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1
L3IvYmxvZ3MvaWNvX3Ntc19sZWFkZXIucG5nIiBjbGFzcz0iSUVwbmciIHdpZHRo
PTE2IGhlaWdodD0xNiBhbGlnbj1hYnNtaWRkbGUgYm9yZGVyPTA+PC9hPiZuYnNw
OyZuYnNwOzxhIG9uY2xpY2s9InNob3dfc21zX2xlYWRlcnNoaXBfcnVsZXMoKTsg
cmV0dXJuIGZhbHNlOyIgaHJlZj0iL2NnaS1iaW4vam91cm5hbC9ibG9nc19sZWFk
ZXIiIGNsYXNzPSJ0MTEwIGNvcl9jb2wiPjxiPtHy4OLq4CDn4CDL6OTl8OA8L2I+
PC9hPjwvbm9icj48L2Rpdj4KCQkJICAgIDxkaXYgaWQ9InNtc19sZWFkZXJzaGlw
X3J1bGVzIiBjbGFzcz0ic21zX2xlYWRlcnNoaXBfcnVsZXMiIHN0eWxlPSJkaXNw
bGF5Om5vbmUiPtfy7uH7IPHk5evg8vwg/fLu8iDh6+7jIMvo5OXw7uwsIDxicj7u
8u/w4OL88uUg8SDs7uHo6/zt7uPuIPLl6+X07u3gIDxicj5zbXMgPGI+NDMrMjYy
NzY1NjI8L2I+IO3gIO3u7OXwIDxiPjQ0NDY8L2I+PGJyPjxhIGhyZWY9Ii9jZ2kt
YmluL2pvdXJuYWwvYmxvZ3NfbGVhZGVyIiBjbGFzcz1jb3JfY29sPjxiPs/w4OLo
6+Ag6OPw+zwvYj48L2E+PC9kaXY+CgkJCQoJCQkKCQkJPC90ZD4KCQk8L3RyPgoJ
CTwvdGFibGU+CgoJCgkJPGRpdiBpZD0icGFzcG9ydF9ib3R0b21faW1hZ2VzIj4K
CQkJPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgY2xhc3M9Imxl
ZnRfYm90dG9tX2Nvcm5lciIgd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSIiPgoJ
CQk8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiBjbGFzcz0icmln
aHRfYm90dG9tX2Nvcm5lciIgd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSIiPgoJ
CTwvZGl2PgoJCQoJPC90ZD4JCQkJCjwvdHI+CjwvdGFibGU+CjwvZGl2PjwvZGl2
PjwvZGl2Pgo8ZGl2IGNsYXNzPSJibG9nZXJfYm90dG9tX2VsZW1lbnQiPjwvZGl2
PgoKPGRpdiBjbGFzcz0ibXQxMCBtYjEwIj4KCQoKCgoKCjwvZGl2PgoKCgoKCgoK
CjwhLS0gRU5EOiB1c2VyIG1lbnUgLS0+CgoJCQkJCQoJCQkJCTwhLS0gbW92ZSBG
T09URVIgLS0+CgkJCQkJPGRpdiBpZD0iYmFubmVyX2xlZnRfY29udGFpbmVyIj48
L2Rpdj4KICAgICAgICAgICAgICAgICAgICAKCQkJCQkJPCEtLSBiZWdpbjpzbXMt
dG9wIGJsb2NrIC0tPgo8IS0tIGJlZ2luOnNtcy10b3AgYmxvY2sgLS0+Cgo8ZGl2
IGNsYXNzPSJsaWRlcl90b3AiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUv
MC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGFsdD0iIj48L2Rpdj4KPGRpdiBj
bGFzcz0ibGlkZXJfb3V0Ij4KCTxkaXYgaWQ9ImxpZGVyX2Jsb2ciPgoJCTxkaXYg
Y2xhc3M9ImxpZGVyX2luIj4KCQkJPGEgaHJlZj0iL2NnaS1iaW4vam91cm5hbC9i
bG9nc19sZWFkZXIiIGNsYXNzPSJ0aXRsZSIgdGl0bGU9Isvo5OXwIOHr7uPu4iIg
c3R5bGU9ImZsb2F0OmxlZnQ7Ij7L6OTl8CDh6+7j7uI8L2E+CgkJCTxkaXYgY2xh
c3M9InNtIiBzdHlsZT0iZmxvYXQ6cmlnaHQ7dGV4dC1hbGlnbjpyaWdodDttYXJn
aW4tcmlnaHQ6MTBweDsiPgoJCQkJPGEgaHJlZj0iL2NnaS1iaW4vam91cm5hbC9i
bG9nc19sZWFkZXIiIHN0eWxlPSJjb2xvcjojRDMwMDAwIj48Yj7H4O3/8vwg/fLu
IOzl8fLuITwvYj48L2E+PGJyPgoJCQkJ0fLg4u7qOiA8c3Bhbj4xPC9zcGFuPgoJ
CQk8L2Rpdj48YnIgY2xlYXI9ImFsbCI+CgkJCTxkaXYgaWQ9ImxpZGVyX2Jsb2dl
cnMiPgoJCQkJCgkJCQk8dGFibGUgY2xhc3M9InN0YXR1cyIgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIj4KCQkJCTx0ciB2YWxpZ249InRvcCI+CgkJCQkJ
PHRkPjEuPC90ZD4KCQkJCQk8dGg+CgkJCQkJCTxhIGhyZWY9Imh0dHA6Ly93d3cu
bWFpbC5ydS9hZ2VudD9tZXNzYWdlJnRvPXYubGluam92QG1haWwucnUiIHRpdGxl
PSLZ5evq7egsIPfy7uH7IO/u7uH54PL88f8g8SD98ujsIPfl6+7i5eru7CDiIE1h
aWwuUnUgwOPl7fLlIj48aSBjbGFzcz0ic3ByLW1yaW0tMTMiIGVtYWlsPSJ2Lmxp
bmpvdkBtYWlsLnJ1Ij48L2k+PC9hPiZuYnNwOzxhIGhyZWY9Ii9tYWlsL3YubGlu
am92LyIgc3R5bGU9ImNvbG9yOiNGMjZEMDAiPsL/9+Xx6+DiPHdiciAvPiDL6O24
4jwvYT4KCQkJCQk8L3RoPgoJCQkJCTx0ZD4KCQkJCQkJPGltZyBzcmM9Imh0dHA6
Ly9pbWcubWFpbC5ydS9tYWlsL3J1L2ltYWdlcy9hZ2VudC9pY29fbS5naWYiIHdp
ZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdGl0bGU9Iu/g8OXt/CIgYWxpZ249ImFic21p
ZGRsZSIgYWx0PSIiPgoJCQkJCTwvdGQ+CgkJCQk8L3RyPgoJCQkJPC90YWJsZT4K
CQkJCQoJCQkJPGEgaHJlZj0iL21haWwvdi5saW5qb3YvIj48aW1nIHNyYz0iaHR0
cDovL2F2dC5mb3RvLm1haWwucnUvbWFpbC92Lmxpbmpvdi9fYXZhdGFyIiBib3Jk
ZXI9IjAiIGFsdD0iIj48L2E+CgkJCQkKCQkJCTxiciBjbGVhcj0iYWxsIj4JCQkK
CgkJCQk8dGFibGUgY2xhc3M9InN0YXR1cyIgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIwIj4KCQkJCTx0ciB2YWxpZ249InRvcCI+CgkJCQkJPHRkPjIuPC90
ZD4KCQkJCQk8dGg+CgkJCQkJCTxhIGhyZWY9Imh0dHA6Ly93d3cubWFpbC5ydS9h
Z2VudD9tZXNzYWdlJnRvPXYubGluam92QG1haWwucnUiIHRpdGxlPSLZ5evq7egs
IPfy7uH7IO/u7uH54PL88f8g8SD98ujsIPfl6+7i5eru7CDiIE1haWwuUnUgwOPl
7fLlIj48aSBjbGFzcz0ic3ByLW1yaW0tMTMiIGVtYWlsPSJkaW5hc25uQGluYm94
LnJ1Ij48L2k+PC9hPiZuYnNwOzxhIGhyZWY9Ii9pbmJveC9kaW5hc25uLyI+RElO
QTwvYT4KCQkJCQk8L3RoPgoJCQkJCTx0ZD4KCQkJCQkJPGltZyBzcmM9Imh0dHA6
Ly9pbWcubWFpbC5ydS9tYWlsL3J1L2ltYWdlcy9hZ2VudC9pY29fZi5naWYiIHdp
ZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdGl0bGU9IuTl4vP46uAiIGFsaWduPSJhYnNt
aWRkbGUiIGFsdD0iIj4KCQkJCQk8L3RkPgoJCQkJPC90cj4KCQkJCTwvdGFibGU+
CgoJCQkJPHRhYmxlIGNsYXNzPSJzdGF0dXMiIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCI+CgkJCQk8dHIgdmFsaWduPSJ0b3AiPgoJCQkJCTx0ZD4zLjwv
dGQ+CgkJCQkJPHRoPgoJCQkJCQk8YSBocmVmPSJodHRwOi8vd3d3Lm1haWwucnUv
YWdlbnQ/bWVzc2FnZSZ0bz12LmxpbmpvdkBtYWlsLnJ1IiB0aXRsZT0i2eXr6u3o
LCD38u7h+yDv7u7h+eDy/PH/IPEg/fLo7CD35evu4uXq7uwg4iBNYWlsLlJ1IMDj
5e3y5SI+PGkgY2xhc3M9InNwci1tcmltLTEzIiBlbWFpbD0icm94aS44OEBtYWls
LnJ1Ij48L2k+PC9hPiZuYnNwOzxhIGhyZWY9Ii9tYWlsL3JveGkuODgvIj5Sb3hp
PC9hPgoJCQkJCTwvdGg+CgkJCQkJPHRkPgoJCQkJCQk8aW1nIHNyYz0iaHR0cDov
L2ltZy5tYWlsLnJ1L21haWwvcnUvaW1hZ2VzL2FnZW50L2ljb19mLmdpZiIgd2lk
dGg9IjE2IiBoZWlnaHQ9IjE2IiB0aXRsZT0i5OXi8/jq4CIgYWxpZ249ImFic21p
ZGRsZSIgYWx0PSIiPgoJCQkJCTwvdGQ+CgkJCQk8L3RyPgoJCQkJPC90YWJsZT4K
CgkJCTwvZGl2PgoJCTwvZGl2PgoJCQoJCTxkaXYgaWQ9InNtc190b3BfYmFubmVy
Ij48L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ibGlkZXJfYm90dG9t
Ij48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIg
aGVpZ2h0PSIxIiBhbHQ9IiI+PC9kaXY+Cgo8IS0tIGVuZDpzbXMtdG9wIGJsb2Nr
IC0tPgoKCQkJCQkKCQkJCQkKICAgICAgICAgICAgICAgICAgICAKCQkJCQkKCQkJ
CQkKPCEtLSBCRUdJTjogY2FsZW5kYXIgLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KdmFyIGNhbGVuZGFyX3Nob3duX3llYXIgPSBwYXJzZUludCgi
Iik7CnZhciBjYWxlbmRhcl9zaG93bl9tb250aCA9IHBhcnNlSW50KCIiKTsKdmFy
IGNhbGVuZGFyX3Nob3duX2RheSA9IHBhcnNlSW50KCIiKTsKdmFyIGNhbGVuZGFy
X3Bvc3RzX2NvdW50cyA9IFtdOwp2YXIgY2FsZW5kYXJfeWVhciA9IHBhcnNlSW50
KCIiKTsKdmFyIGNhbGVuZGFyX21vbnRoID0gcGFyc2VJbnQoIiIpOwoKdmFyIGNh
bGVuZGFyX21vbnRocyA9IFsi3+3i4PD8IiwgItTl4vDg6/wiLCAizODw8iIsICLA
7/Dl6/wiLCAizODpIiwgIsj+7fwiLCAiyP7r/CIsICLA4uPz8fIiLCAi0eXt8v/h
8PwiLCAizury/+Hw/CIsICLN7v/h8PwiLCAixOXq4OHw/CJdOwp2YXIgY2FsZW5k
YXJfcG9zdF9mb3Jtc19kYXRhID0gWyLn4O/o8fwiLCAi5+Dv6PHoIiwgIufg7+jx
5ekiXTsKCmRvY3VtZW50LndyaXRlKAonPGRpdiBjbGFzcz0ibGluZWRfdG9wIj48
aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIgaGVp
Z2h0PSIxIiBhbHQ9IiI+PC9kaXY+JysKJzxkaXYgY2xhc3M9ImxpbmVkX2Jsb2Nr
Ij4nKwonCTxkaXYgY2xhc3M9ImxpbmVkX2Jsb2NrX2luIj4nKwonCQk8ZGl2IGlk
PSJjYWxlbmRhciI+JwopOwoKZG9jdW1lbnQud3JpdGUoIjxwPiIgKyBsb2FkX2Nh
bGVuZGFyX3N0YXRlKCkgKyAiPGEgb25jbGljaz0nc2hvd19oaWRlX2NhbGVuZGFy
KCk7IHJldHVybiBmYWxzZTsnIGhyZWY9JyMnIGNsYXNzPSd0aXRsZSc+yuDr5e3k
4PD8PC9hPjwvcD4iKTsKZG9jdW1lbnQud3JpdGUoIjxkaXYgaWQ9XCJjYWxlbmRh
cl9kaXZfaGlkZGVuXCIgY2xhc3M9XCJoaWRkZW5fZGl2XCI+PGRpdj48L2Rpdj48
L2Rpdj48ZGl2IGlkPVwiY2FsZW5kYXJfZGl2XCI+Iik7CmRvY3VtZW50LndyaXRl
KCI8ZGl2IHN0eWxlPSdkaXNwbGF5OiIgKyAoZ2V0X2Nvb2tpZSgiY2FsZW5kYXJf
c3RhdGUiKSA9PSAiaGlkZSIgPyAibm9uZSIgOiAiIikgKyAiJyBpZD1cImNhbGVu
ZGFyX2Rpdl9pbm5lcmRpdlwiPiIKCSsgKGdldF9jb29raWUoImNhbGVuZGFyX3N0
YXRlIikgIT0gImhpZGUiID8gZHJhd19jYWxlbmRhcigpIDogIiIpICsgIjwvZGl2
PjwvZGl2PiIpOwpkb2N1bWVudC53cml0ZSgKJwkJPC9kaXY+JysKJwk8L2Rpdj4n
KwonPC9kaXY+JysKJzxkaXYgY2xhc3M9ImxpbmVkX2JvdHRvbSI+PGltZyBzcmM9
Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iMSIg
YWx0PSIiPjwvZGl2PicKKTsKPC9zY3JpcHQ+CjwhLS0gRU5EOiBjYWxlbmRhciAt
LT4KCgoKCQkJCQkKCQkJCQkJPGRpdiBjbGFzcz0ibGluZWRfdG9wIj48aW1nIHNy
Yz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIx
IiBhbHQ9IiI+PC9kaXY+CjxkaXYgY2xhc3M9ImxpbmVkX2Jsb2NrIj4KCTxkaXYg
Y2xhc3M9ImxpbmVkX2Jsb2NrX2luIj4KCTxmb3JtIGFjdGlvbj0iaHR0cDovL2Js
b2dzLm1haWwucnUvY2dpLWJpbi9qb3VybmFsL2pzZWFyY2giPgoJCTxkaXYgaWQ9
InNlYXJjaF9pbl9ibG9nIj4KCQkJPHA+z+7o8eog7+4g4evu4/M8L3A+CgkJCTxp
bnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJxIj4KCQkJPGlucHV0IHR5cGU9InN1Ym1p
dCIgdmFsdWU9Is3g6fLoIj4KCQk8L2Rpdj4KCQk8aW5wdXQgdHlwZT0iaGlkZGVu
IiBuYW1lPSJ6dnR5cGUiIHZhbHVlPSIiPgoJCTxpbnB1dCB0eXBlPSJoaWRkZW4i
IG5hbWU9Inp2aXRlbV9qb3VybmFsX2lkIiB2YWx1ZT0iMjYyNzY1NjIiPgoJPC9m
b3JtPgoJPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJsaW5lZF9ib3R0b20iPjxp
bWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdpZHRoPSIxIiBoZWln
aHQ9IjEiIGFsdD0iIj48L2Rpdj4KCQkJCQkKCgkJCQkJCgkJCQkJCgkJCQkJCQkJ
CQkKCQkJCQk8aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUvMC5naWYgd2lkdGg9
MjQwIGhlaWdodD0xPjxicj4KCQkJCQk8L2Rpdj4JCQoJCQkJPC90ZD4KCQkJCTx0
ZCBjbGFzcz0icmlnaHRfZWxlbWVudCI+CgkJCQkJPGltZyBzcmM9Imh0dHA6Ly9p
bWcubWFpbC5ydS8wLmdpZiIgY2xhc3M9InRvcCIgd2lkdGg9IjEiIGhlaWdodD0i
MSIgYWx0PSIiPgoJCQkJCTxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5n
aWYiIGNsYXNzPSJib3R0b20iIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGFsdD0iIj4K
CQkJCTwvdGQ+CgkJCTwvdHI+CgkJCTx0cj4KCQkJCTx0ZCBpZD0ibGVmdF9ibG9j
a19ib3R0b21fZWxlbWVudHMiIGNvbHNwYW49IjMiPgoJCQkJCTx0YWJsZSB3aWR0
aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4KCQkJCQk8
dHI+CgkJCQkJCTx0ZCBjbGFzcz0ibGVmdF9lbGVtZW50Ij48aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9
IiI+PC90ZD4KCQkJCQkJPHRkIGNsYXNzPSJyaWdodF9lbGVtZW50Ij48aW1nIHNy
Yz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIx
IiBhbHQ9IiI+PC90ZD4KCQkJCQk8L3RyPgoJCQkJCTwvdGFibGU+CgkJCQk8L3Rk
PgoJCQk8L3RyPgoJCQk8L3RhYmxlPgoJCTwvdGQ+CgkJPHRkIHdpZHRoPSIxJSIg
aWQ9ImNlbnRlcl9zcGFjZSI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8w
LmdpZiIgd2lkdGg9IjUiIGhlaWdodD0iMSIgYWx0PSIiPjwvdGQ+CgkJPHRkIHZh
bGlnbj0idG9wIj48ZGl2IGlkPSJyaWdodF9ibG9jayI+CgkJCQoJCQkKPCEtLSBF
TkQ6IHRvcF9qb3VybmFsIC0tPgoKPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLyog
SUUgZm9yIGlucHV0IGFuZCB0ZXh0YXJlYSB2aXNpYmlsaXR5ICovCiNjb250X2Rp
dl9jaGVjayBpbnB1dCwgI2NvbnRfZGl2X2NoZWNrIHRleHRhcmVhIHsKCS8vcG9z
aXRpb246cmVsYXRpdmU7Cn0KLyogc2Nyb2xsIGluIHBvc3QgYW5kIGNvbW1lbnRz
ICovCi5jb250LCAuY29tbWVudF90aXRsZV9jb2xvciB7CgkvL3dpZHRoOjEwMCU7
Cn0KLnBvc3RfdGV4dCB7CgltaW4taGVpZ2h0OjE3cHg7IC8qIGJ1ZyBmaXggZm9y
IEZGKDE3cHggLSBoZWlnaHQgaG9yaXpvbnRhbCBzY3JvbGwpICovCglvdmVyZmxv
dzogYXV0bzsKCW92ZXJmbG93LXg6YXV0bzsKCW92ZXJmbG93LXk6IGhpZGRlbjsK
CS8vd2lkdGg6MTAwJTsgICAgICAgIAoJLy9wb3NpdGlvbjpyZWxhdGl2ZTsKCS8v
ZmxvYXQ6bGVmdDsKfQppbWcucG9zdF9pbWcgewoJLy9wb3NpdGlvbjpzdGF0aWM7
Cn0KPC9zdHlsZT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLyDv
5fDl7OXt7eD/IOTr/yDv7u/g7+7iCnZhciBVc2VQb3B1cCA9IHRydWU7Cgp2YXIg
UGVybFZhcl9MYXN0VGFncyA9ICcnOwpmdW5jdGlvbiBwb3N0X3Njcm9sbChpZCkg
ewoJaWYoaXNJRSkgewoJCWRpdiA9IGdlYmkoJ3Bvc3RfdGV4dF8nK2lkKTsKCQkK
CQl3ID0gZGl2Lm9mZnNldFdpZHRoOy8vIPjo8Ojt4CDk6OLgCgkJcyA9IGRpdi5z
Y3JvbGxXaWR0aDsvLyD46PDo7eAg8e4g8erw7uvu7AkKCQkKCQlpZighdykgewoJ
CQlzZXRUaW1lb3V0KCJwb3N0X3Njcm9sbCgnIitpZCsiJykiLDEwMDApOyAvLyDl
8evoIO3lIPPx7+XrIOfg4/Dz5+jy/PH/IO/u8fIKCQkJcmV0dXJuIGZhbHNlOwoJ
CX0JCQkKCQkKCQkvLyBvbmx5IElFIOTu4eDi6//l7CDu8vHy8+8g8e3o5/Mg5fHr
6CDl8fL8IPHq8O7r6woJCWlmKHcgIT0gcykgCgkJCWRpdi5zdHlsZS5wYWRkaW5n
Qm90dG9tID0gIjE3cHgiOwoJCWVsc2UgCgkJCWRpdi5zdHlsZS5wYWRkaW5nQm90
dG9tID0gIjBweCI7Cgl9Cn0KPC9zY3JpcHQ+Cgo8c2NyaXB0PgoJdmFyIEFjdGl2
ZUVtYWlsID0gJyc7Cjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cDovL2ltZzMu
aW1nc21haWwucnUvbWFpbC9ydS9pbWFnZXMvanMvYmxvZ3Mvbm90LXNwYW0uanMi
Pjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBy
YWl0aW5nX2hlbHBfdGV4dCA9ICLQ5eny6O3jIOfg7+jx6CDv7ufi7uv/5fIg5PDz
4+jsIO/u6/zn7uLg8uXr/+wg7vbl7eji4PL8IOLg+Ogg5+Dv6PHoIO/uIPLw5fXh
4Ovr/O3u6SD46uDr5To8YnI+7vIgKzEg5O4gKzMuPGJyPjxicj7F8evoIOL7IO3l
IPXu8ujy5Swg9/LuIOH7IOLg+Ogg5+Dv6PHoIPP34PHy4u7i4OvoIOIg4+7r7vHu
4uDt6Ogg6OvoIPfy7uH7IOTw8+Po5SDv7uv85+7i4PLl6+gg7O7j6+gg4ujk5fL8
IOL78fLg4uvl7e375SDh4Ovr+yDn4CDi4PjzIOfg7+jx/Cwg4vsg7O7m5fLlIOjn
7OXt6PL8IP3y6CDt4PHy8O7p6ugg4iA8YSBocmVmPWh0dHA6Ly9ibG9ncy5tYWls
LnJ1L2NnaS1iaW4vam91cm5hbC9qZWRpdHByb3BzIHRhcmdldD1fYmxhbms+7eDx
8vDu6erg9TwvYT4g8eLu5ePuIOHr7uPgLiI7Cjwvc2NyaXB0Pgo8IS0tIEJFR0lO
OiBlbnRyeSAtLT4KCgo8ZGl2IGFsaWduPSJyaWdodCI+PGEgaWQ9InByZXZfcG9z
dCIgaHJlZj0iamF2YXNjcmlwdDpjaGVja19nbyhmYWxzZSwnNkEwRkI5OEM1RkQ0
RDE1QycpIj4mbGFxdW87IM/w5eT75PP54P8g5+Dv6PH8PC9hPiZuYnNwOyZuYnNw
OyZtaWRkb3Q7Jm5ic3A7Jm5ic3A7PGEgaWQ9Im5leHRfcG9zdCIgaHJlZj0iamF2
YXNjcmlwdDpjaGVja19nbyh0cnVlLCc2QTBGQjk4QzVGRDREMTVDJykiPtHr5eTz
/vng/yDn4O/o8fwmbmJzcDsmcmFxdW87PC9hPjwvZGl2Pgo8YnI+CjxkaXYgY2xh
c3M9Im1lc3NhZ2UiPgo8ZGl2IGNsYXNzPSJtZXNzYWdlX291dGVyIj4KPGRpdiBj
bGFzcz0ibWVzc2FnZV9pbm5lciI+Cgk8ZGl2IGlkPXphcGlzX2Rpdj4KCTxkaXYg
Y2xhc3M9ImRhdGUiPgoJCTxkaXYgY2xhc3M9ImNsaXBzIj48ZGl2PjxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEi
IGFsdD0iIj48L2Rpdj48L2Rpdj4KCQk8cD4KCQkKCiAgICAgICAgCiAgICAgICAg
ICAgIAogICAgICAgIAogICAgICAgIAoKCQkxNy0wMS0yMDA3IDAwOjMyICg8YSBo
cmVmPSIvbWFpbC9tYWx2b181OS82QTBGQjk4QzVGRDREMTVDLmh0bWwiPvHx++vq
4DwvYT4pCgoJCQoJCTxzcGFuPgoJCQoJCTwvc3Bhbj4KCgkJPC9wPgoJPC9kaXY+
Cgk8L2Rpdj4JCgo8ZGl2IGNsYXNzPSJ0ZXh0IGplbnRyeV90ZXh0Ij48ZGl2IGNs
YXNzPSJ0ZXh0X3BhdHRlcm4iPgoJCgkKCTxoMSBjbGFzcz0idGVtcyI+weDq7vLg
PC9oMT4KICAgIAoJCgkKCQoJPGRpdiBjbGFzcz0icG9zdF90ZXh0IiBpZD0icG9z
dF90ZXh0XzZBMEZCOThDNUZENEQxNUMiPgogICAgIAogICAgICAgICAgICAgICAg
ICAgIDxwPgogICAgICAgIAoJCQrd8ugg5+Ll5+T7IC0g6PHq8Psg6u7x8vDgICw8
YnIgLz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDC
5+vl8uXi+OjlIOIg8ejt5eUg7eXh7iAsPGJyIC8+wCDj7vD7IJYg9fDg7Psg7O7t
4PHy+/D/LDxiciAvPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgw+TlIObo4vPyIOH76/wg6CDt5eH76/wghTxiciAvPiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAg
ICAgKiAgICAgKiA8YnIgLz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPGJyIC8+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICDY8+wg7/Do4e7/IJYg+OXv7vIg7O7t4PXu4iw8YnIgLz4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMHl5yDz8fLg6+7x
8uggLCDj8PPx8ugg6CDx8vDg9eAsPGJyIC8+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICDE7eXsIOgg7e73/P4gLCDxIPPy8OAg5O4g5+Dw
6CAsPGJyIC8+ICAgICAgICAgICAgICAgICAgICAJCSAgICAgICAgICDO8u/l4uD+
+ej1IO3g+OggIOPw5fXoIIUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAg
ICAgKiAgICAqIDxiciAvPiA8YnIgLz4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPGJyIC8+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgyCDo8ffl5+3z8iDiIOLu5OD1IMTt5fHy8OAsPGJyIC8+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIMLx5SDy8OXi7uPoIOL35fDg+O3l
4+4g5O3/LDxiciAvPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIMfk5fH8IOHu6/wg7O7+IOjx9uXr6PIg7eDi8eXj5OAsPGJyIC8+ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg1uXr5eHt++kg6PHy7vft
6Oog4eXnIOTt4IU8YnIgLz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICogICAgICo8YnIgLz4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+
ICAgICAgICAgICAgICAgICAgIAkJCSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPGJyIC8+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgINEg8O7k7ejq4CDt4O/8/vH8IOLu5PssPGJyIC8+ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINPn5evu6iDxIO3g5OXm
5O7pIOfg4v/m8yw8YnIgLz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgx+Dj4OTg/iDy4Ont7uUg5uXr4O385Sw8YnIgLz4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgziDy5fUsIOru4+4g6/7h6/4g
6CDk7vDu5vOFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPGJyIC8+PGJyIC8+PGJyIC8+weDq7vLgLMHg6u7y4C08YnIgLz7C5+Pr/+Qg
7Ojr+/Ug4+vg5yDy4u7o9SE8YnIgLz7B4Oru8uAsweDq7vLgLTxiciAvPtPn5evu
6iDt4OTl5uT7IOTr/yDk4u7o9SE8YnIgLz48YnIgLz4KCQkKICAgICAgICAgICAg
PC9wPgogICAgICAgIAoJPC9kaXY+Cgk8YnIgY2xlYXI9YWxsIGNsYXNzPXRoaW5r
PgoJPHAgY2xhc3M9Z3Jfc20+PGk+7eDx8vDu5e3o5TogzOX38uDy5ev87e7lPGJy
PvXu9+Xy8f86IOIgweDq7vLzPGJyPvHr8/jg/jog8eLu5SDx5fDk9uU8YnI+PC9p
PjwvcD4KCQoJCgk8L2Rpdj4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KCQlpZihpc0lFKQoJCQlzZXRUaW1lb3V0KCJwb3N0X3Njcm9sbCgnNkEwRkI5
OEM1RkQ0RDE1QycpIiwgMTAwMCk7Cgk8L3NjcmlwdD4KCTxkaXYgY2xhc3M9Im1l
c3NhZ2VfbWluX3dpZHRoIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAu
Z2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9IiI+PC9kaXY+Cgk8ZGl2IGNs
YXNzPSJib3R0b21fYmciPjxkaXY+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5y
dS8wLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSIiPjwvZGl2PjwvZGl2
PgoKPC9kaXY+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwhLS0gRU5EOiBl
bnRyeSAtLT4KCgoKCjxpbWcgc3JjPWh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiB3
aWR0aD0xIGhlaWdodD0xNT48YnI+CjxkaXYgY2xhc3M9Z3JfbGluZT48aW1nIHNy
Yz1odHRwOi8vaW1nLm1haWwucnUvMC5naWYgd2lkdGg9MSBoZWlnaHQ9MT48L2Rp
dj4KPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVy
PSIwIj4KICAgIDx0cj4KCTx0ZD48aDEgY2xhc3M9YmlnPsru7Ozl7fLg8OjoPC9o
MT48L3RkPgoJPHRkPiZuYnNwOzwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CjwhLS0KCi8vzeDv6PHg8vwg6u7s
7OXt8uDw6OkKZnVuY3Rpb24gc2hvd19hZGRfY29tbWVudChpZCwgZGVmYXVsdF9o
aWRlLCBiYWNrX3ZhbHVlLCBjaXQpCnsKICAgIGNsb3NlX2FkZF9jb21tZW50KCk7
CiAgICB2YXIgYXV0aD0iIjsKICAgIHZhciBwYXJlbnRfb2JqPWRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJhZGRfIitpZCk7CiAgICAvL2lmKGlkPT0nYmVnaW4nIHx8
IGlkPT0nZW5kJykgaWQ9MDsKICAgIHZhciBjb250X2Rpdj1kb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKICAgIGNvbnRfZGl2LmlkPSJjb250X2Rpdl9jaGVj
ayI7CiAgIAljb250X2Rpdi5jbGFzc05hbWU9ImNvbnRfZGl2IjsKICAgIHZhciBI
VE1MPSI8Zm9ybSBuYW1lPVwicmVwbHlcIiBhY3Rpb249XCIvbWFpbC9tYWx2b181
OS82QTBGQjk4QzVGRDREMTVDLmh0bWw/dGhyZWFkPTAmYW1wO3BhZ2U9MSZhbXA7
c2tpcD0wI2NvbW1lbnRfIitpZCsiXCIgbWV0aG9kPVwiUE9TVFwiIGlkPVwiZHVw
ZGF0ZVwiIG9uc3VibWl0PVwicmV0dXJuIGFkZF9jb21tZW50KHRoaXMpO1wiIG9u
bW91c2Vtb3ZlPVwiY2hlY2tTdWJCdXRzKCk7Y2hlY2tIZWlnaHQoZ2ViaSgnY29t
bWVudF90ZXh0JykpO1wiPiIgKyAnPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9Im1u
YSIgbmFtZT0ibW5hIiB2YWx1ZT0iIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0i
bW5iIiBuYW1lPSJtbmIiIHZhbHVlPSIiPicgKwoJICAgICsiPHRhYmxlIGNlbGxw
YWRkaW5nPTAgY2VsbHNwYWNpbmc9MCBib3JkZXI9MCBzdHlsZT1cIm1hcmdpbi1i
b3R0b206OHB4XCIgPiI7CiAgICBpZihhdXRoKSB7CglIVE1MKz0iPHRyPjx0ZD7C
4PjlJm5ic3A76Oz/OiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOzwvdGQ+IgoJICAgICsiICAgIDx0ZCB3aWR0aD0xMDAlPjxpbnB1dCB0
eXBlPXRleHQgbmFtZT1cIlBvc3RlclwiIHZhbHVlPVwiXCIgc3R5bGU9XCJ3aWR0
aDoxMDAlXCIgZGlzYWJsZWQ9MT48L3RkPjwvdHI+IjsKICAgIH0gZWxzZSB7CglI
VE1MKz0iPHRyPiIKCSAgICArIgk8dGQgd2lkdGg9NTAlPjxzZWxlY3Qgc3R5bGU9
XCJ3aWR0aDoxMDAlXCIgb25jaGFuZ2U9XCJjaGFuZ2Vfc2VsZWN0ZWRfb3B0KHRo
aXMpXCIgaWQ9XCJEb0F1dGhcIiBuYW1lPVwiRG9BdXRoXCI+IgoJICAgICsiCQkJ
PG9wdGlvbiB2YWx1ZT0wIHNlbGVjdGVkPsDt7u3o7O3uPC9vcHRpb24+IgoJICAg
ICsiCQkJPG9wdGlvbiB2YWx1ZT0xPs/u6/zn7uLg8uXr/Dwvb3B0aW9uPiIKCSAg
ICArIgkJPC9zZWxlY3Q+PC90ZD4iCgkgICAgKyIJPHRkIHN0eWxlPVwicGFkZGlu
ZzowIDE1cHggMCAyMHB4XCI+yOz/OiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOzwvdGQ+IgoJICAgICsiCTx0ZCB3aWR0aD01MCU+IgoJICAgICsi
CQk8dGFibGUgd2lkdGg9MTAwJSBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTAg
Ym9yZGVyPTA+IgoJICAgICsiCQk8dHI+IgoJICAgICsiCQkJPHRkIHdpZHRoPTkw
JSBjbGFzcz1ucD48aW5wdXQgdHlwZT10ZXh0IGNsYXNzPXdfMTAwICBuYW1lPVwi
TG9naW5cIiB2YWx1ZT1cInltYm9ldlwiPjwvdGQ+IgoJICAgICsiCQkJPHRkIHN0
eWxlPVwiZGlzcGxheTpub25lXCIgaWQ9aGlkZXNfdGQgd2lkdGg9MTAlIGNsYXNz
PW5wPjxzZWxlY3QgbmFtZT1cIkRvbWFpblwiPjxvcHRpb24gdmFsdWU9XCJtYWls
LnJ1XCIgIFNFTEVDVEVEPkBtYWlsLnJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1c
ImluYm94LnJ1XCIgPkBpbmJveC5ydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9XCJi
ay5ydVwiID5AYmsucnU8L29wdGlvbj48b3B0aW9uIHZhbHVlPVwibGlzdC5ydVwi
ID5AbGlzdC5ydTwvb3B0aW9uPjwvc2VsZWN0PjwvdGQ+IgoJICAgICsiCQk8L3Ry
PiIKCSAgICArIgkJPC90YWJsZT4iCgkgICAgKyIJPC90ZD4iCgkgICAgKyI8L3Ry
PiIKCSAgICArIjx0ciBzdHlsZT1cImRpc3BsYXk6bm9uZVwiIGlkPWhpZGVzX3Ry
PiIKCSAgICArIgk8dGQgaWQ9XCJpbnZhbGlkX2xvZ2luXCI+Jm5ic3A7PC90ZD4i
CgkgICAgKyIJPHRkIHN0eWxlPVwicGFkZGluZzowIDE1cHggMCAyMHB4XCI+z+Dw
7uv8OjwvdGQ+IgoJICAgICsiCTx0ZCBub3dyYXA+PGlucHV0IHR5cGU9cGFzc3dv
cmQgY2xhc3M9d18xMDAgbmFtZT1QYXNzd29yZD48L3RkPiIKCSAgICArIjwvdHI+
IgoJICAgICsiPHRyPiIKCSAgICArIgk8dGQgd2lkdGg9NTAlPjxpbWcgc3JjPWh0
dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiB3aWR0aD0xNTAgaGVpZ2h0PTE+PGJyPjwv
dGQ+IgoJICAgICsiCTx0ZD48aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUvMC5n
aWYgd2lkdGg9MSBoZWlnaHQ9MT48YnI+PC90ZD4iCgkgICAgKyIJPHRkIHdpZHRo
PTUwJT48aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUvMC5naWYgd2lkdGg9MTUw
IGhlaWdodD0xPjxicj48L3RkPiIKCSAgICArIjwvdHI+IjsKICAgIH0KICAgIEhU
TUwrPSI8L3RhYmxlPjx0YWJsZSBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTAg
Ym9yZGVyPTA+IgoJKyI8dHI+PHRkPtLl7OA6Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90
ZD48dGQgd2lkdGg9MTAwJT48aW5wdXQgdHlwZT10ZXh0IGlkPVwic3ViamVjdF90
ZXh0XCIgbmFtZT1cIlN1YmplY3RcIiB2YWx1ZT1cIlJlOiDB4Oru8uBcIiBzdHls
ZT1cIndpZHRoOjEwMCVcIj48L3RkPjwvdHI+IgogICAgICAgICsiPHRyIHZhbGln
bj10b3A+PHRkPtLl6vHyOjwvdGQ+PHRkPjx0ZXh0YXJlYSBpZD1cImNvbW1lbnRf
dGV4dFwiIG5hbWU9XCJDb21tZW50XCIgc3R5bGU9XCJ3aWR0aDoxMDAlO1wiIHJv
d3M9NSBvbmNsaWNrPVwiY2hlY2tTdWJCdXRzKCk7Y2hlY2tIZWlnaHQodGhpcyk7
XCIgb25jaGFuZ2U9XCJjaGVja1N1YkJ1dHMoKTtjaGVja0hlaWdodCh0aGlzKTtc
IiBvbmxvYWQ9XCJjaGVja1N1YkJ1dHMoKTtjaGVja0hlaWdodCh0aGlzKTtcIiBv
bmtleXByZXNzPVwiY2hlY2tTdWJCdXRzKCk7XCIgb25rZXlkb3duPVwiY2hlY2tT
dWJCdXRzKCk7XCIgb25rZXl1cD1cImNoZWNrU3ViQnV0cygpO2NoZWNrSGVpZ2h0
KHRoaXMpO1wiIG9uZm9jdXM9XCJjaGVja1N1YkJ1dHMoKTtjaGVja0hlaWdodCh0
aGlzKTtcIiBvbmJsdXI9XCJjaGVja1N1YkJ1dHMoKTtjaGVja0hlaWdodCh0aGlz
KTtcIiBvbm1vdXNlbW92ZT1cImNoZWNrU3ViQnV0cygpO2NoZWNrSGVpZ2h0KHRo
aXMpO1wiPjwvdGV4dGFyZWE+PC90ZD48L3RyPiIKICAgICAgICArIjx0ciB2YWxp
Z249dG9wPjx0ZD4mbmJzcDs8L3RkPjx0ZD4iCiAgICAgICAgKyIgICAgPGlucHV0
IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwicmVwbHl0b1wiIHZhbHVlPVwiIitpZCsi
XCI+IgogICAgICAgICsiICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1c
ImJhY2tcIiB2YWx1ZT1cIiIrYmFja192YWx1ZSsiXCI+IgogICAgICAgICsiICAg
IDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgaWQ9XCJwcm90ZWN0X2tleVwiIG5hbWU9
XCJQcm9LZXlcIiB2YWx1ZT1cIiIrcHJvdGVjdF9rZXkrIlwiPiIKCSAgICArIjx0
YWJsZSBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTAgYm9yZGVyPTAgd2lkdGg9
MTAwJSBjbGFzcz1cIm1iNVwiPiIKCQkrIjx0cj48dGQgY2xhc3M9XCJoaWRlIHRh
aFwiPiIKCQkrIjxkaXYgaWQ9XCJzb21lc21pbGV5c1wiPiIKCQkJKyI8aW1nIHNy
Yz1cImh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vc21pbGUuZ2lmXCIgY2xhc3M9
XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2Nv
bW1lbnRfdGV4dCcpLDEsJzopJyk7XCIgYWx0PVwiOilcIiB0aXRsZT1cIjopXCI+
IgoJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9jcm9j
b2RpbGUuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2Vs
ZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJzpcXCdcXCcoKScpO1wi
IGFsdD1cIjonJygpXCIgdGl0bGU9XCI6JycoKVwiPiIKCQkJKyI8aW1nIHNyYz1c
Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYnVsbHNoaXQuZ2lmXCIgY2xhc3M9
XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2Nv
bW1lbnRfdGV4dCcpLDEsJyk6LXAnKTtcIiBhbHQ9XCIpOi1wXCIgdGl0bGU9XCIp
Oi1wXCI+IgoJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0
bi9hZHYvMzUuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNl
U2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L7
5TrL7u/t8yDu8iDx7OX14DonKTtcIiBhbHQ9XCLL7u/t8yDu8iDx7OX14FwiIHRp
dGxlPVwiy+7v7fMg7vIg8ezl9eBcIj4iCgkJCSsiPGltZyBzcmM9XCJodHRwOi8v
aW1nLm1haWwucnUvcnUvYnRuL2FuaW0vZGFuY2UuZ2lmXCIgY2xhc3M9XCJzbWls
ZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRf
dGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOtLg7fbz/jonKTtcIiBhbHQ9XCLS4O32
8/5cIiB0aXRsZT1cItLg7fbz/lwiPiIKCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9p
bWcubWFpbC5ydS9ydS9idG4vYW5pbS9maWdodC5naWZcIiBjbGFzcz1cInNtaWxl
XCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90
ZXh0JyksMywnOsDt6Ozo8O7i4O3t++U6z+7h/P46Jyk7XCIgYWx0PVwiz+7h/P5c
IiB0aXRsZT1cIs/u4fz+XCI+IgoJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9ibGluay5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGlj
az1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwn
OyknKTtcIiBhbHQ9XCI7KVwiIHRpdGxlPVwiOylcIj4iCQoJCQkrIjxpbWcgc3Jj
PVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hbWF6ZWQuZ2lmXCIgY2xhc3M9
XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2Nv
bW1lbnRfdGV4dCcpLDEsJzgtMCcpO1wiIGFsdD1cIjgtMFwiIHRpdGxlPVwiOC0w
XCI+IgoJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9o
ZWFydC5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VTZWxl
Y3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOmhlYXJ0OicpO1wiIGFs
dD1cIjpoZWFydDpcIiB0aXRsZT1cIjpoZWFydDpcIj4iCQkJCQkJCgkJCSsiPGlt
ZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2xpdmUuZ2lmXCIgY2xh
c3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmko
J2NvbW1lbnRfdGV4dCcpLDIsJzpjb29sOicpO1wiIGFsdD1cIjpjb29sOlwiIHRp
dGxlPVwiOmNvb2w6XCI+IgoJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi92aWN0b3J5LmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNr
PVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwyLCc6
dml2YTonKTtcIiBhbHQ9XCI6dml2YTpcIiB0aXRsZT1cIjp2aXZhOlwiPiIKCQkJ
KyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vb2suZ2lmXCIg
Y2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdl
YmkoJ2NvbW1lbnRfdGV4dCcpLDIsJzpvazonKTtcIiBhbHQ9XCI6b2s6XCIgdGl0
bGU9XCI6b2s6XCI+PGJyPiIKCQkJKyI8c3BhbiBjbGFzcz1cInRpcGFsaW5rXCIg
aWQ9XCJpY290eHRcIiBvbkNsaWNrPVwidG9nZ2xlc21pbGUoKTtcIj7C8eUg8ezg
6ev7IOgg5uXx8vs8L3NwYW4+IgoJCSsiPC9kaXY+IgoJCgkJKyI8L3RkPjx0ZCBh
bGlnbj1yaWdodCBjbGFzcz1cImhpZGVcIiBub3dyYXAgdmFsaWduPVwidG9wXCI+
PC90ZD48L3RyPiIKCSAgICArIjwvdGFibGU+IgoJCQoJCSsiPGRpdiBpZD1cImFs
bHNtaWxleXNcIj4iCgkJCSsiPGRpdiBzdHlsZT1cImJvcmRlcjoxcHggc29saWQg
I0FCQURCMzsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgb3ZlcmZsb3c6YXV0bzsg
b3ZlcmZsb3cteTphdXRvOyBvdmVyZmxvdy14OmhpZGRlbjsgaGVpZ2h0OjkwcHg7
IHBhZGRpbmc6NXB4IDEwcHggNXB4IDEwcHg7XCI+IgoJCQkJKyI8ZGl2Psrr4PHx
6Pfl8ero5Txicj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1
L3J1L2J0bi9zbWlsZS5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJl
cGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOiknKTtc
IiBhbHQ9XCI6KVwiIHRpdGxlPVwiOilcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0
cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9ibGluay5naWZcIiBjbGFzcz1cInNtaWxl
XCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90
ZXh0JyksMSwnOyknKTtcIiBhbHQ9XCI7KVwiIHRpdGxlPVwiOylcIj4iCgkJCQkr
IjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9sYXVnaHRlci5n
aWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRl
eHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOi0pKScpO1wiIGFsdD1cIjotKSlc
IiB0aXRsZT1cIjotKSlcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9iZWUuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9
XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJzst
UCcpO1wiIGFsdD1cIjstUFwiIHRpdGxlPVwiOy1QXCI+IgoJCQkJKyI8aW1nIHNy
Yz1cImh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vY29vbGd1eS5naWZcIiBjbGFz
cz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgn
Y29tbWVudF90ZXh0JyksMSwnOC0pJyk7XCIgYWx0PVwiOC0pXCIgdGl0bGU9XCI4
LSlcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0
bi9iaWdncmluLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFj
ZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc6LUQnKTtcIiBh
bHQ9XCI6LURcIiB0aXRsZT1cIjotRFwiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRw
Oi8vaW1nLm1haWwucnUvcnUvYnRuL3BpZy5naWZcIiBjbGFzcz1cInNtaWxlXCIg
b25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0
JyksMSwnfTpvKScpO1wiIGFsdD1cIn06bylcIiB0aXRsZT1cIn06bylcIj4iCgkJ
CQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9iYXppbGlv
LmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCckLSknKTtcIiBhbHQ9XCIkLSlc
IiB0aXRsZT1cIiQtKVwiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1h
aWwucnUvcnUvYnRuL2htLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwi
cmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc6LVxc
JycpO1wiIGFsdD1cIjotJ1wiIHRpdGxlPVwiOi0nXCI+IgoJCQkJKyI8aW1nIHNy
Yz1cImh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vZGlzc2Fwb2ludGVkLmdpZlwi
IGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChn
ZWJpKCdjb21tZW50X3RleHQnKSwxLCc6LSgnKTtcIiBhbHQ9XCI6LShcIiB0aXRs
ZT1cIjotKFwiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUv
cnUvYnRuL3RlYXJzLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVw
bGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc4LSgnKTtc
IiBhbHQ9XCI4LShcIiB0aXRsZT1cIjgtKFwiPiIKCQkJCSsiPGltZyBzcmM9XCJo
dHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2NyeS5naWZcIiBjbGFzcz1cInNtaWxl
XCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90
ZXh0JyksMSwnOlxcJygnKTtcIiBhbHQ9XCI6JyhcIiB0aXRsZT1cIjonKFwiPiIK
CQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Nyb2Nv
ZGlsZS5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VTZWxl
Y3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOlxcJ1xcJygpJyk7XCIg
YWx0PVwiOicnKClcIiB0aXRsZT1cIjonJygpXCI+IgoJCQkJKyI8aW1nIHNyYz1c
Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vcmVhbGx5LmdpZlwiIGNsYXNzPVwi
c21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21t
ZW50X3RleHQnKSwxLCckOi1vJyk7XCIgYWx0PVwiJDotb1wiIHRpdGxlPVwiJDot
b1wiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRu
L29vLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVj
dGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCcoOi1vJyk7XCIgYWx0PVwi
KDotb1wiIHRpdGxlPVwiKDotb1wiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8v
aW1nLm1haWwucnUvcnUvYnRuL2FtYXplZC5naWZcIiBjbGFzcz1cInNtaWxlXCIg
b25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0
JyksMSwnOC0wJyk7XCIgYWx0PVwiOC0wXCIgdGl0bGU9XCI4LTBcIj4iCgkJCQkr
IjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hYWEuZ2lmXCIg
Y2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdl
YmkoJ2NvbW1lbnRfdGV4dCcpLDEsJzgtW29dJyk7XCIgYWx0PVwiOC1bb11cIiB0
aXRsZT1cIjgtW29dXCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFp
bC5ydS9ydS9idG4vYnVsbHNoaXQuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xp
Y2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEs
Jyk6LXAnKTtcIiBhbHQ9XCIpOi1wXCIgdGl0bGU9XCIpOi1wXCI+IgoJCQkJKyI8
aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5ncnkuZ2lmXCIg
Y2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdl
YmkoJ2NvbW1lbnRfdGV4dCcpLDEsJyk6LSgnKTtcIiBhbHQ9XCIpOi0oXCIgdGl0
bGU9XCIpOi0oXCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5y
dS9ydS9idG4vcnJyLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVw
bGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCcpOi0kJyk7
XCIgYWx0PVwiKTotJFwiIHRpdGxlPVwiKTotJFwiPiIKCQkJCSsiPGltZyBzcmM9
XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL3psb3JhZHN0dm8uZ2lmXCIgY2xh
c3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmko
J2NvbW1lbnRfdGV4dCcpLDEsJyk6LUQnKTtcIiBhbHQ9XCIpOi1EXCIgdGl0bGU9
XCIpOi1EXCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5ydS9y
dS9idG4vYmlnYW5nZXIuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJy
ZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJzotRScp
O1wiIGFsdD1cIjotRVwiIHRpdGxlPVwiOi1FXCI+IgoJCQkJKyI8aW1nIHNyYz1c
Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vZGV2aWwuZ2lmXCIgY2xhc3M9XCJz
bWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1l
bnRfdGV4dCcpLDEsJzpkZXZpbDonKTtcIiBhbHQ9XCI6ZGV2aWw6XCIgdGl0bGU9
XCI6ZGV2aWw6XCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5y
dS9ydS9idG4vdmFtcGlyZS5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1c
InJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOnZh
bXBpcmU6Jyk7XCIgYWx0PVwiOnZhbXBpcmU6XCIgdGl0bGU9XCI6dmFtcGlyZTpc
Ij4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9w
bHVnLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVj
dGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc6LV1bJyk7XCIgYWx0PVwi
Oi1dW1wiIHRpdGxlPVwiOi1dW1wiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8v
aW1nLm1haWwucnUvcnUvYnRuL2RldHpsLmdpZlwiIGNsYXNzPVwic21pbGVcIiBv
bmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQn
KSwxLCc6LXwnKTtcIiBhbHQ9XCI6LXxcIiB0aXRsZT1cIjotfFwiPiIKCQkJCSsi
PGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL3NjZXB0aWMuZ2lm
XCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0
KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJ0ItaicpO1wiIGFsdD1cIkItalwiIHRp
dGxlPVwiQi1qXCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5y
dS9ydS9idG4vc2h5LmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVw
bGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc6fm8nKTtc
IiBhbHQ9XCI6fm9cIiB0aXRsZT1cIjp+b1wiPiIKCQkJCSsiPGltZyBzcmM9XCJo
dHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fzcy5naWZcIiBjbGFzcz1cInNtaWxl
XCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90
ZXh0JyksMSwnKF9JXyknKTtcIiBhbHQ9XCIoX0lfKVwiIHRpdGxlPVwiKF9JXylc
Ij4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9o
ZWFydC5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VTZWxl
Y3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOmhlYXJ0OicpO1wiIGFs
dD1cIjpoZWFydDpcIiB0aXRsZT1cIjpoZWFydDpcIj4iCgkJCQkrIjxpbWcgc3Jj
PVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9raXNzLmdpZlwiIGNsYXNzPVwi
c21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21t
ZW50X3RleHQnKSwxLCc6LSonKTtcIiBhbHQ9XCI6LSpcIiB0aXRsZT1cIjotKlwi
PiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL3Ns
ZWVweS5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VTZWxl
Y3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOnNsZWVweTonKTtcIiBh
bHQ9XCI6c2xlZXB5OlwiIHRpdGxlPVwiOnNsZWVweTpcIj4iCgkJCQkrIjwvZGl2
PiIKCQkJCSsiPGRpdj7G5fHy+zxicj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDov
L2ltZy5tYWlsLnJ1L3J1L2J0bi9saXZlLmdpZlwiIGNsYXNzPVwic21pbGVcIiBv
bmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQn
KSwyLCc6Y29vbDonKTtcIiBhbHQ9XCI6Y29vbDpcIiB0aXRsZT1cIjpjb29sOlwi
PiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL3Zp
Y3RvcnkuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2Vs
ZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDIsJzp2aXZhOicpO1wiIGFs
dD1cIjp2aXZhOlwiIHRpdGxlPVwiOnZpdmE6XCI+IgoJCQkJKyI8aW1nIHNyYz1c
Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vb2suZ2lmXCIgY2xhc3M9XCJzbWls
ZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRf
dGV4dCcpLDIsJzpvazonKTtcIiBhbHQ9XCI6b2s6XCIgdGl0bGU9XCI6b2s6XCI+
IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4va296
YV9sZWZ0LmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNl
bGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwyLCc6eW9sOicpO1wiIGFs
dD1cIjp5b2w6XCIgdGl0bGU9XCI6eW9sOlwiPiIKCQkJCSsiPGltZyBzcmM9XCJo
dHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2tvemFfcmlnaHQuZ2lmXCIgY2xhc3M9
XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2Nv
bW1lbnRfdGV4dCcpLDIsJzp5b3I6Jyk7XCIgYWx0PVwiOnlvcjpcIiB0aXRsZT1c
Ijp5b3I6XCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5ydS9y
dS9idG4vZGllLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFj
ZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwyLCc6c3V4eDonKTtc
IiBhbHQ9XCI6c3V4eDpcIiB0aXRsZT1cIjpzdXh4OlwiPiIKCQkJCSsiPGltZyBz
cmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2ZpbmdlcnVwLmdpZlwiIGNs
YXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJp
KCdjb21tZW50X3RleHQnKSwyLCc6dGhpbms6Jyk7XCIgYWx0PVwiOnRoaW5rOlwi
IHRpdGxlPVwiOnRoaW5rOlwiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1n
Lm1haWwucnUvcnUvYnRuL2t1a2VzLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNs
aWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwy
LCc6ZmlndTonKTtcIiBhbHQ9XCI6ZmlndTpcIiB0aXRsZT1cIjpmaWd1OlwiPiIK
CQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Zpc3Qu
Z2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRU
ZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDIsJzprdWxhazonKTtcIiBhbHQ9XCI6
a3VsYWs6XCIgdGl0bGU9XCI6a3VsYWs6XCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0
dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vZnVjay5naWZcIiBjbGFzcz1cInNtaWxl
XCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90
ZXh0JyksMiwnOmZ1Y2s6Jyk7XCIgYWx0PVwiOmZ1Y2s6XCIgdGl0bGU9XCI6ZnVj
azpcIj4iCgkJCQkrIjwvZGl2PiIKCQkJCSsiPGRpdj7A7ejs6PDu4uDt7fvlPGJy
PiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fu
aW0vYW5nZWwuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNl
U2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt
7fvlOsDt4+Xr7vfl6jonKTtcIiBhbHQ9XCLA7ePl6+735epcIiB0aXRsZT1cIsDt
4+Xr7vfl6lwiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUv
cnUvYnRuL2FuaW0vYXBwbC5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1c
InJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt
6Ozo8O7i4O3t++U6wO/r7uTo8ezl7fL7OicpO1wiIGFsdD1cIsDv6+7k6PHs5e3y
+1wiIHRpdGxlPVwiwO/r7uTo8ezl7fL7XCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0
dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9iZWF1dHkuZ2lmXCIgY2xhc3M9
XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2Nv
bW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOsrw4PHu8urgOicpO1wiIGFs
dD1cIsrw4PHu8urgXCIgdGl0bGU9XCLK8ODx7vLq4FwiPiIKCQkJCSsiPGltZyBz
cmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0vYmVlci5naWZcIiBj
bGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2Vi
aSgnY29tbWVudF90ZXh0JyksMywnOsDt6Ozo8O7i4O3t++U6z+ji7jonKTtcIiBh
bHQ9XCLP6OLuXCIgdGl0bGU9XCLP6OLuXCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0
dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9ib29rLmdpZlwiIGNsYXNzPVwi
c21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21t
ZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrX6PLg/jonKTtcIiBhbHQ9XCLX
6PLg/lwiIHRpdGxlPVwi1+jy4P5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDov
L2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmltL2NvdWxkLmdpZlwiIGNsYXNzPVwic21p
bGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50
X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrMuPDn7fM6Jyk7XCIgYWx0PVwizLjw
5+3zXCIgdGl0bGU9XCLMuPDn7fNcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDov
L2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmltL2NyeS5naWZcIiBjbGFzcz1cInNtaWxl
XCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90
ZXh0JyksMywnOsDt6Ozo8O7i4O3t++U60Pvk4P46Jyk7XCIgYWx0PVwi0Pvk4P5c
IiB0aXRsZT1cItD75OD+XCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcu
bWFpbC5ydS9ydS9idG4vYW5pbS9kYW5jZS5naWZcIiBjbGFzcz1cInNtaWxlXCIg
b25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0
JyksMywnOsDt6Ozo8O7i4O3t++U60uDt9vP+OicpO1wiIGFsdD1cItLg7fbz/lwi
IHRpdGxlPVwi0uDt9vP+XCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcu
bWFpbC5ydS9ydS9idG4vYW5pbS9kZXZpbC5naWZcIiBjbGFzcz1cInNtaWxlXCIg
b25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0
JyksMywnOsDt6Ozo8O7i4O3t++U61+Xw8u7i8eroIOfr/vH8OicpO1wiIGFsdD1c
Itfl8PLu4vHq6CDn6/7x/FwiIHRpdGxlPVwi1+Xw8u7i8eroIOfr/vH8XCI+IgoJ
CQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9l
YXQuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0
ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOsbz
/jonKTtcIiBhbHQ9XCLG8/5cIiB0aXRsZT1cIsbz/lwiPiIKCQkJCSsiPGltZyBz
cmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0vZmlnaHQuZ2lmXCIg
Y2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdl
YmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOs/u4fz+OicpO1wi
IGFsdD1cIs/u4fz+XCIgdGl0bGU9XCLP7uH8/lwiPiIKCQkJCSsiPGltZyBzcmM9
XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0vZmluZ2FsLmdpZlwiIGNs
YXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJp
KCdjb21tZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrP7uHo6+g6Jyk7XCIg
YWx0PVwiz+7h6OvoXCIgdGl0bGU9XCLP7uHo6+hcIj4iCgkJCQkrIjxpbWcgc3Jj
PVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmltL2Zsb3dyLmdpZlwiIGNs
YXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJp
KCdjb21tZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrE4PD+IPbi5fLu9+Xq
OicpO1wiIGFsdD1cIsTg8P4g9uLl8u735epcIiB0aXRsZT1cIsTg8P4g9uLl8u73
5epcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0
bi9hbmltL2dnLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFj
ZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg
7e375TrR7OX+8fw6Jyk7XCIgYWx0PVwi0ezl/vH8XCIgdGl0bGU9XCLR7OX+8fxc
Ij4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9h
bmltL2dnMi5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VT
ZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt6Ozo8O7i4O3t
++U60ezl/vH8IOgg7+vg9/M6Jyk7XCIgYWx0PVwi0ezl/vH8IOgg7+vg9/NcIiB0
aXRsZT1cItHs5f7x/CDoIO/r4PfzXCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6
Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9naWZ0LmdpZlwiIGNsYXNzPVwic21p
bGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50
X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrP7uTg8O7qOicpO1wiIGFsdD1cIs/u
5ODw7upcIiB0aXRsZT1cIs/u5ODw7upcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0
cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmltL2h1bmdyeS5naWZcIiBjbGFzcz1c
InNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29t
bWVudF90ZXh0JyksMywnOsDt6Ozo8O7i4O3t++U6wu7w9/M6Jyk7XCIgYWx0PVwi
wu7w9/NcIiB0aXRsZT1cIsLu8PfzXCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6
Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9raXNzLmdpZlwiIGNsYXNzPVwic21p
bGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50
X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrW5evz/jonKTtcIiBhbHQ9XCLW5evz
/lwiIHRpdGxlPVwi1uXr8/5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2lt
Zy5tYWlsLnJ1L3J1L2J0bi9hbmltL2xvdmUuZ2lmXCIgY2xhc3M9XCJzbWlsZVwi
IG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4
dCcpLDMsJzrA7ejs6PDu4uDt7fvlOsv+4ev+OicpO1wiIGFsdD1cIsv+4ev+XCIg
dGl0bGU9XCLL/uHr/lwiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1h
aWwucnUvcnUvYnRuL2FuaW0vcGlzdG9sZXQuZ2lmXCIgY2xhc3M9XCJzbWlsZVwi
IG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4
dCcpLDMsJzrA7ejs6PDu4uDt7fvlOsfg8fLw5ev+OicpO1wiIGFsdD1cIsfg8fLw
5ev+XCIgdGl0bGU9XCLH4PHy8OXr/lwiPiIKCQkJCSsiPGltZyBzcmM9XCJodHRw
Oi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0vcG9pc29uLmdpZlwiIGNsYXNzPVwi
c21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21t
ZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrC++/l6SD/5PM6Jyk7XCIgYWx0
PVwiwvvv5ekg/+TzXCIgdGl0bGU9XCLC++/l6SD/5PNcIj4iCgkJCQkrIjxpbWcg
c3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmltL3JhaW5ib3cuZ2lm
XCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0
KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOsvz9+Xn4PDt
7jonKTtcIiBhbHQ9XCLL8/fl5+Dw7e5cIiB0aXRsZT1cIsvz9+Xn4PDt7lwiPiIK
CQkJCSsiPGltZyBzcmM9XCJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0v
cmVkLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNlbGVj
dGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrR
7PP54P7x/DonKTtcIiBhbHQ9XCLR7PP54P7x/FwiIHRpdGxlPVwi0ezz+eD+8fxc
Ij4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9h
bmltL3NhZC5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VT
ZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt6Ozo8O7i4O3t
++U60ODx8fLw4Oji4P7x/DonKTtcIiBhbHQ9XCLQ4PHx8vDg6OLg/vH8XCIgdGl0
bGU9XCLQ4PHx8vDg6OLg/vH8XCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9p
bWcubWFpbC5ydS9ydS9idG4vYW5pbS9zaW5nLmdpZlwiIGNsYXNzPVwic21pbGVc
IiBvbmNsaWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3Rl
eHQnKSwzLCc6wO3o7Ojw7uLg7e375TrP7v46Jyk7XCIgYWx0PVwiz+7+XCIgdGl0
bGU9XCLP7v5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1
L3J1L2J0bi9hbmltL3NrdWthLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNr
PVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6
wO3o7Ojw7uLg7e375TrR6vP34P46Jyk7XCIgYWx0PVwi0erz9+D+XCIgdGl0bGU9
XCLR6vP34P5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1
L3J1L2J0bi9hbmltL3NsZWVwLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNr
PVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6
wO3o7Ojw7uLg7e375TrH4PH77+D+OicpO1wiIGFsdD1cIsfg8fvv4P5cIiB0aXRs
ZT1cIsfg8fvv4P5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9hbmltL3NtaWxlLmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNs
aWNrPVwicmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwz
LCc6wO3o7Ojw7uLg7e375TrT6/vh4P7x/DonKTtcIiBhbHQ9XCLT6/vh4P7x/Fwi
IHRpdGxlPVwi0+v74eD+8fxcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2lt
Zy5tYWlsLnJ1L3J1L2J0bi9hbmltL3Rvbmd1ZS5naWZcIiBjbGFzcz1cInNtaWxl
XCIgb25jbGljaz1cInJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90
ZXh0JyksMywnOsDt6Ozo8O7i4O3t++U6z+7q4Of74uD+IP/n++o6Jyk7XCIgYWx0
PVwiz+7q4Of74uD+IP/n++pcIiB0aXRsZT1cIs/u6uDn++Lg/iD/5/vqXCI+IgoJ
CQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS92
aWN0b3J5LmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwicmVwbGFjZVNl
bGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e37
5TpQZWFjZSE6Jyk7XCIgYWx0PVwiUGVhY2UhXCIgdGl0bGU9XCJQZWFjZSFcIj4i
CgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmlt
L3dvbmRlci5naWZcIiBjbGFzcz1cInNtaWxlXCIgb25jbGljaz1cInJlcGxhY2VT
ZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt6Ozo8O7i4O3t
++U60+To4uv//vH8OicpO1wiIGFsdD1cItPk6OLr//7x/FwiIHRpdGxlPVwi0+To
4uv//vH8XCI+IgoJCQkJKyI8aW1nIHNyYz1cImh0dHA6Ly9pbWcubWFpbC5ydS9y
dS9idG4vYW5pbS9ibGV3LmdpZlwiIGNsYXNzPVwic21pbGVcIiBvbmNsaWNrPVwi
cmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6wO3o
7Ojw7uLg7e375TrS7vjt6PI6Jyk7XCIgYWx0PVwi0u747ejyXCIgdGl0bGU9XCLS
7vjt6PJcIj4iCgkJCQkrIjwvZGl2PiIKCQkJCSsiPGRpdj7P8O7k4ujt8/L75Txi
cj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9h
ZHYvMDMuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2Vs
ZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L75TrT
6/vh4P7x/DonKTtcIiBhbHQ9XCLT6/vh4P7x/FwiIHRpdGxlPVwi0+v74eD+8fxc
Ij4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9h
ZHYvMDUuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2Vs
ZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L75TrH
6+7w4OTx8uLz/jonKTtcIiBhbHQ9XCLH6+7w4OTx8uLz/lwiIHRpdGxlPVwix+vu
8ODk8fLi8/5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1
L3J1L2J0bi9hZHYvMDcuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJy
ZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k
4ujt8/L75TrQ4OTz/vH8OicpO1wiIGFsdD1cItDg5PP+8fxcIiB0aXRsZT1cItDg
5PP+8fxcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1
L2J0bi9hZHYvMDkuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBs
YWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt
8/L75TrR8uDw6Pfu6jonKTtcIiBhbHQ9XCLR8uDw6Pfu6lwiIHRpdGxlPVwi0fLg
8Oj37upcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1
L2J0bi9hZHYvMTEuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBs
YWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt
8/L75TrR4ujw5e/x8uLz/jonKTtcIiBhbHQ9XCLR4ujw5e/x8uLz/lwiIHRpdGxl
PVwi0eLo8OXv8fLi8/5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9hZHYvMTMuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xp
Y2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQs
JzrP8O7k4ujt8/L75TrP8+Pg/vH8OicpO1wiIGFsdD1cIs/z4+D+8fxcIiB0aXRs
ZT1cIs/z4+D+8fxcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9hZHYvMjEuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9
XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP
8O7k4ujt8/L75TrP7urg5/vi4P4g/+f76jonKTtcIiBhbHQ9XCLP7urg5/vi4P4g
/+f76lwiIHRpdGxlPVwiz+7q4Of74uD+IP/n++pcIj4iCgkJCQkrIjxpbWcgc3Jj
PVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hZHYvMjIuZ2lmXCIgY2xhc3M9
XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2Nv
bW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L75TrT7O3o6jonKTtcIiBhbHQ9XCLT
7O3o6lwiIHRpdGxlPVwi0+zt6OpcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDov
L2ltZy5tYWlsLnJ1L3J1L2J0bi9hZHYvMjMuZ2lmXCIgY2xhc3M9XCJzbWlsZVwi
IG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4
dCcpLDQsJzrP8O7k4ujt8/L75TrA6+ru4+7r6Oo6Jyk7XCIgYWx0PVwiwOvq7uPu
6+jqXCIgdGl0bGU9XCLA6+ru4+7r6OpcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0
cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hZHYvMjQuZ2lmXCIgY2xhc3M9XCJzbWls
ZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRf
dGV4dCcpLDQsJzrP8O7k4ujt8/L75TrC7v/q4DonKTtcIiBhbHQ9XCLC7v/q4Fwi
IHRpdGxlPVwiwu7/6uBcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9hZHYvMjUuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xp
Y2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQs
JzrP8O7k4ujt8/L75TrT5Oji6//+8fw6Jyk7XCIgYWx0PVwi0+To4uv//vH8XCIg
dGl0bGU9XCLT5Oji6//+8fxcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2lt
Zy5tYWlsLnJ1L3J1L2J0bi9hZHYvMjYuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9u
Y2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcp
LDQsJzrP8O7k4ujt8/L75TrX5fDy7uLx6ugg5+v+8fw6Jyk7XCIgYWx0PVwi1+Xw
8u7i8eroIOfr/vH8XCIgdGl0bGU9XCLX5fDy7uLx6ugg5+v+8fxcIj4iCgkJCQkr
IjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hZHYvMzMuZ2lm
XCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0
KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L75TrQ4PHx8vDg6OLg
/vH8OicpO1wiIGFsdD1cItDg8fHy8ODo4uD+8fxcIiB0aXRsZT1cItDg8fHy8ODo
4uD+8fxcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1
L2J0bi9hZHYvMzQuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBs
YWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt
8/L75TrP4O3qOicpO1wiIGFsdD1cIs/g7epcIiB0aXRsZT1cIs/g7epcIj4iCgkJ
CQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hZHYvMzUu
Z2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRU
ZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L75TrL7u/t8yDu
8iDx7OX14DonKTtcIiBhbHQ9XCLL7u/t8yDu8iDx7OX14FwiIHRpdGxlPVwiy+7v
7fMg7vIg8ezl9eBcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9hZHYvMzYuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9
XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP
8O7k4ujt8/L75TrP7uTs6OPo4uD+OicpO1wiIGFsdD1cIs/u5Ozo4+ji4P5cIiB0
aXRsZT1cIs/u5Ozo4+ji4P5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2lt
Zy5tYWlsLnJ1L3J1L2J0bi9hZHYvMzcuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9u
Y2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcp
LDQsJzrP8O7k4ujt8/L75TrE8+zg/jonKTtcIiBhbHQ9XCLE8+zg/lwiIHRpdGxl
PVwixPPs4P5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1
L3J1L2J0bi9hZHYvMzguZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJy
ZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k
4ujt8/L75TrL/uHr/jonKTtcIiBhbHQ9XCLL/uHr/lwiIHRpdGxlPVwiy/7h6/5c
Ij4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9h
ZHYvNDUuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2Vs
ZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L75TrP
7uTg4uvl7TonKTtcIiBhbHQ9XCLP7uTg4uvl7VwiIHRpdGxlPVwiz+7k4OLr5e1c
Ij4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9h
ZHYvNDYuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2Vs
ZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L75TrQ
++Tg/jonKTtcIiBhbHQ9XCLQ++Tg/lwiIHRpdGxlPVwi0Pvk4P5cIj4iCgkJCQkr
IjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hZHYvNDcuZ2lm
XCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0
KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L75TrR5en34PEg8ODx
7+vg9/Px/DonKTtcIiBhbHQ9XCLR5en34PEg8ODx7+vg9/Px/FwiIHRpdGxlPVwi
0eXp9+DxIPDg8e/r4Pfz8fxcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2lt
Zy5tYWlsLnJ1L3J1L2J0bi9hZHYvNDguZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9u
Y2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcp
LDQsJzrP8O7k4ujt8/L75TrH6/7x/DonKTtcIiBhbHQ9XCLH6/7x/FwiIHRpdGxl
PVwix+v+8fxcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1
L3J1L2J0bi9hZHYvNDkuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJy
ZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k
4ujt8/L75TrS7vjt6PI6Jyk7XCIgYWx0PVwi0u747ejyXCIgdGl0bGU9XCLS7vjt
6PJcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0
bi9hZHYvNTAuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNl
U2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L7
5TrR8+zg8fjl8fLi6OU6Jyk7XCIgYWx0PVwi0fPs4PH45fHy4ujlXCIgdGl0bGU9
XCLR8+zg8fjl8fLi6OVcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9hZHYvNTcuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xp
Y2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQs
JzrP8O7k4ujt8/L75TrW5evz/jonKTtcIiBhbHQ9XCLW5evz/lwiIHRpdGxlPVwi
1uXr8/5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1
L2J0bi9hZHYvNTguZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBs
YWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt
8/L75TrP7vbl6+7i4OvoOicpO1wiIGFsdD1cIs/u9uXr7uLg6+hcIiB0aXRsZT1c
Is/u9uXr7uLg6+hcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9hZHYvNTkuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9
XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP
8O7k4ujt8/L75TrK8ODx7vLq4DonKTtcIiBhbHQ9XCLK8ODx7vLq4FwiIHRpdGxl
PVwiyvDg8e7y6uBcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9hZHYvNjAuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xpY2s9
XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQsJzrP
8O7k4ujt8/L75TrA7ePl6+735eo6Jyk7XCIgYWx0PVwiwO3j5evu9+XqXCIgdGl0
bGU9XCLA7ePl6+735epcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9hZHYvNjEuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xp
Y2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQs
JzrP8O7k4ujt8/L75TrP7uTu5/Do8uXr/O3uOicpO1wiIGFsdD1cIs/u5O7n8Ojy
5ev87e5cIiB0aXRsZT1cIs/u5O7n8Ojy5ev87e5cIj4iCgkJCQkrIjxpbWcgc3Jj
PVwiaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hZHYvNjIuZ2lmXCIgY2xhc3M9
XCJzbWlsZVwiIG9uY2xpY2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2Nv
bW1lbnRfdGV4dCcpLDQsJzrP8O7k4ujt8/L75TrG8/46Jyk7XCIgYWx0PVwixvP+
XCIgdGl0bGU9XCLG8/5cIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9hZHYvNjkuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xp
Y2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQs
JzrP8O7k4ujt8/L75TrR7PP54P7x/DonKTtcIiBhbHQ9XCLR7PP54P7x/FwiIHRp
dGxlPVwi0ezz+eD+8fxcIj4iCgkJCQkrIjxpbWcgc3JjPVwiaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9hZHYvNzAuZ2lmXCIgY2xhc3M9XCJzbWlsZVwiIG9uY2xp
Y2s9XCJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDQs
JzrP8O7k4ujt8/L75TrR8vvk7e46Jyk7XCIgYWx0PVwi0fL75O3uXCIgdGl0bGU9
XCLR8vvk7e5cIj4iCgkJCQkrIjwvZGl2PiIKCQkJKyI8L2Rpdj4iCgkJCSsiPC9k
aXY+IgoJCQkKCQkrIjxkaXYgY2xhc3M9XCJtdDUgbWI1XCI+PGlucHV0IGlkPVwi
aGlkZV9jb21tZW50XyIraWQrIlwiIG5hbWU9XCJoaWRlX2NvbW1lbnRcIiB0eXBl
PVwiQ2hlY2tib3hcIiBzdHlsZT1cInZlcnRpY2FsLWFsaWduOm1pZGRsZTtcIiIr
KGRlZmF1bHRfaGlkZT8iIGNoZWNrZWQiOiIiKSsiPjxsYWJlbCBmb3I9XCJoaWRl
X2NvbW1lbnRfIitpZCsiXCI+8erw+/L8IP3y7vIg6u7s7OXt8uDw6Ok8L2xhYmVs
PjwvZGl2PiIKCQkrIjxpbnB1dCBpZD1cInN1Yl9idXRcIiB0eXBlPVwic3VibWl0
XCIgdmFsdWU9XCLE7uHg4ujy/FwiIG5hbWU9XCJhZGRjb21tZW50XCIgb25jbGlj
az1cInJldHVybiBzdWJtaXRfY29tbWVudCgpXCIgY2xhc3M9c18xMDA+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgb25jbGljaz1cInJldHVybiBjbG9zZV9hZGRf
Y29tbWVudCgpO1wiIGhyZWY9XCIvbWFpbC9tYWx2b181OS82QTBGQjk4QzVGRDRE
MTVDLmh0bWw/dGhyZWFkPTAmYW1wO3BhZ2U9MSZhbXA7c2tpcD0wI2NvbW1lbnRf
IitpZCsiXCI+x+Dq8Pvy/DwvYT4iCiAgICAgICAgKyI8L3RkPjwvdHI+PC9mb3Jt
PjwvdGFibGU+IjsKCiAgICBjb250X2Rpdi5pbm5lckhUTUw9SFRNTDsKICAgIHBh
cmVudF9vYmouYXBwZW5kQ2hpbGQoY29udF9kaXYpOwogICAgaWYoaWQhPSdiZWdp
bicgJiYgaWQhPSdlbmQnKSB7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3Vi
amVjdF90ZXh0JykudmFsdWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ympl
Y3RfdGV4dF8nK2lkKS52YWx1ZTsKCWlmIChjaXQ9PSd5ZXMnKSB7CgkgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbW1lbnRfdGV4dCcpLnZhbHVlPWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdjb21tZW50X3RleHRfJytpZCkudmFsdWUrJ1xu
XG4nOwoJfQogICAgfQogICAgcmVmb2N1cygpOwogICAgcmV0dXJuIGZhbHNlOwp9
CgovL9Ph8ODy/CDk6ODr7uMg7eDv6PHg7ej/IOru7Ozl7fLg8Oj/CmZ1bmN0aW9u
IGNsb3NlX2FkZF9jb21tZW50KCkKewogICAgdmFyIGFkZD1kb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udF9kaXZfY2hlY2siKTsKICAgIGlmKGFkZCkgewoJLy9j
aGVja192ZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjaGVja192ZWwucGFyZW50
Tm9kZS5maXJzdENoaWxkKTsKCWFkZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGFk
ZCk7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCi0tPgo8L3NjcmlwdD4KCjxz
Y3JpcHQ+Cgpkb2N1bWVudC5vbmtleWRvd24gPSBjaGVja0N0cmxFbnRlcjsKZnVu
Y3Rpb24gY2hlY2tDdHJsRW50ZXIoZXZ0KSB7CiAgICB2YXIgZXZ0ID0gZXZ0IHx8
IGV2ZW50OwogICAgaWYgKGV2dC5jdHJsS2V5ICYmIGV2dC5rZXlDb2RlID09PSAx
MykgewogICAgICAgICAgICBjaGVja01lc3NhZ2UoKTsKICAgIH0KfQoKZnVuY3Rp
b24gY2hlY2tTdWJCdXRzKCkgewppZihnZWJpKCdjb21tZW50X3RleHQnKSl7Cgl2
YXIgc3R0cyA9IDE7CglzdHRzID0gKGdlYmkoJ2NvbW1lbnRfdGV4dCcpLnZhbHVl
Lmxlbmd0aCA8PSAwKTsKCWdlYmkoJ3N1Yl9idXQnKS5kaXNhYmxlZCA9IHN0dHM7
fQogfQoKIApmdW5jdGlvbiBjaGVja01lc3NhZ2UoKSB7CgkgICB2YXIgbGVuMiA9
IGdlYmkoJ2NvbW1lbnRfdGV4dCcpLnZhbHVlLmxlbmd0aDsKCSAgICBpZiAobGVu
Mj09MCkgewoJICAgICAgIHJldHVybiBmYWxzZTsKCSAgIH0gZWxzZSB7CgkgICAg
ICAgZ2ViaSgnZHVwZGF0ZScpLnN1Ym1pdCgpOwoJICAgfQoJfQoJCnZhciBjdXJh
cmVhaGVpZ2h0PTEyMDsKCgpmdW5jdGlvbiBjaGVja0hlaWdodChvYmopewoJaWYg
KGlzSUUpewoJb2JqLnN0eWxlLm92ZXJmbG93PSdoaWRkZW4nOwoJdmFyIGN1ckhl
aWdodCA9IG9iai5jcmVhdGVUZXh0UmFuZ2UoKS5ib3VuZGluZ0hlaWdodDsKCWlm
KGN1ckhlaWdodC1jdXJhcmVhaGVpZ2h0PDApCgl7CgkJb2JqLnN0eWxlLmhlaWdo
dCA9IGN1cmFyZWFoZWlnaHQrJ3B4JzsKCX1lbHNlewoJb2JqLnN0eWxlLmhlaWdo
dD1jdXJIZWlnaHQrMzUrJ3B4JzsJfQkKCX0JCn0KCgkKCjwvc2NyaXB0Pgo8dGFi
bGUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIGJvcmRlcj0wIHdpZHRoPTEw
MCU+Cjx0cj4KCTx0ZCBub3dyYXAgd2lkdGg9IjEwMCUiPgogICAgCgkgICAgPGEg
bmFtZT0iY29tbWVudF9iZWdpbiI+PC9hPgoJICAgIDxhIG9uY2xpY2s9InJldHVy
biBzaG93X2FkZF9jb21tZW50KCdiZWdpbicsMCwnaHR0cDovL2Jsb2dzLm1haWwu
cnUvbWFpbC9tYWx2b181OS82QTBGQjk4QzVGRDREMTVDLmh0bWw/cGFnZT0nKTsi
IGhyZWY9Ii9tYWlsL21hbHZvXzU5LzZBMEZCOThDNUZENEQxNUMuaHRtbD90aHJl
YWQ9MCZhbXA7cGFnZT0xJmFtcDtza2lwPTAmYmVnaW5fcmVwbHk9MSNjb21tZW50
X2JlZ2luIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNv
X2NvbW1lbnRzLnBuZyIgY2xhc3M9IklFcG5nIiB3aWR0aD0xNiBoZWlnaHQ9MTYg
YWxpZ249YWJzbWlkZGxlIGJvcmRlcj0wPjwvYT4mbmJzcDsmbmJzcDs8YSBpZD1s
X2JlZ2luIG9uY2xpY2s9InJldHVybiBzaG93X2FkZF9jb21tZW50KCdiZWdpbics
MCwnaHR0cDovL2Jsb2dzLm1haWwucnUvbWFpbC9tYWx2b181OS82QTBGQjk4QzVG
RDREMTVDLmh0bWw/cGFnZT0nKTsiIGhyZWY9Ii9tYWlsL21hbHZvXzU5LzZBMEZC
OThDNUZENEQxNUMuaHRtbD90aHJlYWQ9MCZhbXA7cGFnZT0xJmFtcDtza2lwPTAm
YmVnaW5fcmVwbHk9MSNjb21tZW50X2JlZ2luIj48Yj7N4O/o8eDy/CDq7uzs5e3y
4PDo6TwvYj48L2E+CiAgICAKICAgIAoJCiAgICAKCQoJCgkJCgkJCQoJCQoJCgkK
CTwvdGQ+CgkKCTx0ZCB2YWxpZ249InRvcCIgc3R5bGU9InBhZGRpbmctbGVmdDox
NXB4OyI+CQoJCQoKCjxkaXYgY2xhc3M9InJhdGluZ19ibG9jayIgaWQ9InZvdGVf
cmF0aW5nIj4KICAgPHRhYmxlIGNsYXNzPSJ2b3RpbmciIGlkPSJ2b3RlX3JhdGlu
Z190YWJsZSIgY2VsbHNwYWNpbmc9IjMiPjx0cj4KICAgICAgICA8dGQgY2xhc3M9
InByMjAiIG5vd3JhcD48YSBocmVmPSJodHRwOi8vYmxvZ3MubWFpbC5ydS9tYWls
L21hbHZvXzU5L3JhdGluZz9Qb3N0SUQ9NkEwRkI5OEM1RkQ0RDE1QyI+PGI+0OXp
8ujt4zwvYj48L2E+PC90ZD4KICAgICAgICA8dGQgbm93cmFwPjxkaXYgaWQ9InZv
dGVfNkEwRkI5OEM1RkQ0RDE1QyI+CgkJCTxiPjY8L2I+CiAgICAgICAgCgk8L2Rp
dj48L3RkPgogICAgPC90cj48L3RhYmxlPgo8L2Rpdj4KCgoKCQoJPC90ZD4KCQo8
L3RyPgo8dHI+CiAgICA8dGQgY29sc3Bhbj0zIGNsYXNzPWZfcSBpZD1hZGRfYmVn
aW4+CiAgICAKICAgIDwvdGQ+CjwvdHI+CjwvdGFibGU+CjxpbWcgc3JjPWh0dHA6
Ly9pbWcubWFpbC5ydS8wLmdpZiB3aWR0aD0xIGhlaWdodD0xNT48YnI+CjwhLS0g
QkVHSU46IGNvbW1lbnRzIC0tPgoKCgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgou
dG9kYXlETCB7CiAgICBtYXJnaW46IDAgMCAxNXB4OwogICAgb3ZlcmZsb3c6IGhp
ZGRlbjsKfQoudG9kYXlETG5ld3MgLmR0IHsKICAgIHBhZGRpbmc6IDAgIWltcG9y
dGFudDsKfQoudG9kYXlETCAuZHQgewogICAgY29sb3I6ICM5OTk5OTkgIWltcG9y
dGFudDsKICAgIGZsb2F0OiBsZWZ0OwogICAgZm9udC1mYW1pbHk6IFRhaG9tYTsK
ICAgIG1pbi1oZWlnaHQ6IDE4cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAg
cGFkZGluZzogMCA1cHggMCAyMHB4OwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsK
fQoudG9kYXlETG5ld3MgLmRkIHsKICAgIHBhZGRpbmctbGVmdDogMTBweDsKfQou
dG9kYXlETCAuZGQgewogICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICAg
IG92ZXJmbG93OiBoaWRkZW47CiAgICBwYWRkaW5nOiAwIDgwcHggMCAxNXB4Owog
ICAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci50b2RheURMIC5idWJibGUgewogICAg
bWFyZ2luLXRvcDogLTJweDsKfQoKLmF2YTQ1IHsKICAgIGJhY2tncm91bmQtY29s
b3I6ICNFNkVGRkU7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2Vu
dGVyOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGN1cnNv
cjogcG9pbnRlcjsKICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJsb2NrOwogICAg
ZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgZGlzcGxheTogLW1vei1pbmxpbmUt
Ym94OwogICAgZm9udC1zaXplOiAwOwogICAgaGVpZ2h0OiA0NXB4OwogICAgbGlu
ZS1oZWlnaHQ6IDA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB2ZXJ0aWNh
bC1hbGlnbjogbWlkZGxlOwogICAgd2lkdGg6IDQ1cHg7Cn0KLmF2YTkwIHtkaXNw
bGF5Oi1tb3otaW5saW5lLWJsb2NrOyBkaXNwbGF5OmlubGluZS1ibG9jazsgY3Vy
c29yOiBwb2ludGVyOyBmb250LXNpemU6MDsgbGluZS1oZWlnaHQ6MDsgd2lkdGg6
IDkwcHg7IGhlaWdodDogOTBweDsgYmFja2dyb3VuZC1jb2xvcjojZTZlZmZlOyB0
ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGJhY2tn
cm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246IGNl
bnRlcjt9CgppLmltZyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBm
b250LXNpemU6IDA7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBsaW5lLWhlaWdodDog
MDsKICAgIG1hcmdpbi1yaWdodDogNHB4OwogICAgdmVydGljYWwtYWxpZ246IG1p
ZGRsZTsKICAgIHdpZHRoOiAxNnB4Owp9Ci5pY29CdWJibGVTbWFsbCB7CiAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cDovL2ltZy5tYWlsLnJ1L3IvbXkvaV9i
YWJsU21hbGwuZ2lmKTsKICAgIGhlaWdodDogMTNweCAhaW1wb3J0YW50OwogICAg
d2lkdGg6IDEzcHggIWltcG9ydGFudDsKfQouYXZhX2JvcmQgewogICAgYm9yZGVy
OjFweCBzb2xpZCAjREFEQ0U1OwogICAgcGFkZGluZzo1cHg7IAogICAgd2lkdGg6
OTBweDsKfQoKLyrPzszFzd/S3CDCIGJsb2dzLmNzcyovCnRhYmxlLnRyZWQgdGQu
Y29udCB7CiAgICBib3JkZXItdG9wOm5vbmU7CiAgICBwYWRkaW5nOjAgMTNweDsg
ICAgCn0KPC9zdHlsZT4KCgoKPCEtLSBFTkQ6IGNvbW1lbnRzIC0tPgoKCgoKCgoK
CgoKCjxkaXYgaWQ9ImNvbW1lbnRfZm9ybXNfY29udGFpbmVyIj4KICAgIDxkaXYg
Y2xhc3M9ImNvbnRfZGl2IiBpZD0iY29tbWVudF9mb3JtX2NvbW1vbiIgb25tb3Vz
ZW1vdmU9ImNoZWNrU3ViQnV0cygpOyBjaGVja0hlaWdodChnZWJpKCdjb21tZW50
X3RleHQnKSk7Ij4KICAgICAgICA8Zm9ybSBuYW1lPSJyZXBseSIgYWN0aW9uPSIv
bWFpbC9tYWx2b181OS82QTBGQjk4QzVGRDREMTVDLmh0bWw/dGhyZWFkPTAmYW1w
O3BhZ2U9MSZhbXA7c2tpcD0wIiBtZXRob2Q9IlBPU1QiIG9uc3VibWl0PSJyZXR1
cm4gYWRkX2NvbW1lbnQodGhpcyk7IiBpZD0iZHVwZGF0ZSI+CgkJCTxpbnB1dCB0
eXBlPSJoaWRkZW4iIGlkPSJtbmEiIG5hbWU9Im1uYSIgdmFsdWU9IiI+CgkJCTxp
bnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJtbmIiIG5hbWU9Im1uYiIgdmFsdWU9IiI+
CiAgICAgICAgICAgIDx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiIGJvcmRlcj0iMCIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDhweCI+CiAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAg
ICAgICA8dGQgd2lkdGg9IjUwJSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxz
ZWxlY3Qgc3R5bGU9IndpZHRoOiAxMDAlIiBvbmNoYW5nZT0iY2hhbmdlX3NlbGVj
dGVkX29wdCh0aGlzKSIgbmFtZT0iRG9BdXRoIj4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAiIHNlbGVjdGVkPsDt7u3o7O3uPC9v
cHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVl
PSIxIj7P7uv85+7i4PLl6/w8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAg
ICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAg
ICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDAgMTVweCAwIDIwcHgiPsjs
/zombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L3RkPgogICAg
ICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iNTAlIj4KICAgICAgICAgICAgICAg
ICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+PHRyPgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPHRkIHdpZHRoPSI5MCUiIGNsYXNzPSJucCI+PGlucHV0IHR5cGU9
InRleHQiIGNsYXNzPSJ3XzEwMCIgIG5hbWU9IkxvZ2luIiB2YWx1ZT0ieW1ib2V2
IiAvPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9
ImRpc3BsYXk6IG5vbmUiIGlkPSJoaWRlc190ZCIgd2lkdGg9IjEwJSIgY2xhc3M9
Im5wIj48c2VsZWN0IG5hbWU9IkRvbWFpbiI+PG9wdGlvbiB2YWx1ZT0ibWFpbC5y
dSIgIFNFTEVDVEVEPkBtYWlsLnJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaW5i
b3gucnUiID5AaW5ib3gucnU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJiay5ydSIg
PkBiay5ydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Imxpc3QucnUiID5AbGlzdC5y
dTwvb3B0aW9uPjwvc2VsZWN0PjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAg
IDwvdHI+PC90YWJsZT4KICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAg
ICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0iZGlzcGxh
eTogbm9uZSIgaWQ9ImhpZGVzX3RyIj4KICAgICAgICAgICAgICAgICAgICA8dGQ+
CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICZu
YnNwOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwv
dGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwIDE1
cHggMCAyMHB4Ij7P4PDu6/w6PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQg
bm93cmFwPjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgY2xhc3M9IndfMTAwIiBuYW1l
PSJQYXNzd29yZCI+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAg
ICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSI1MCUi
PjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdpZHRoPSIxNTAi
IGhlaWdodD0iMSIgLz48YnIgLz48L3RkPgogICAgICAgICAgICAgICAgICAgIDx0
ZD48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIg
aGVpZ2h0PSIxIiAvPjxiciAvPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRk
IHdpZHRoPSI1MCUiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYi
IHdpZHRoPSIxNTAiIGhlaWdodD0iMSIgLz48YnIgLz48L3RkPgogICAgICAgICAg
ICAgICAgPC90cj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L3RhYmxl
PgogICAgICAgICAgICA8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiBib3JkZXI9IjAiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+
0uXs4DombmJzcDsmbmJzcDsmbmJzcDs8L3RkPgogICAgICAgICAgICAgICAgICAg
IDx0ZCB3aWR0aD0xMDAlPjxpbnB1dCB0eXBlPXRleHQgaWQ9InN1YmplY3RfdGV4
dCIgbmFtZT0iU3ViamVjdCIgdmFsdWU9IlJlOiDB4Oru8uAiIHN0eWxlPSJ3aWR0
aDoxMDAlIj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAg
ICAgIDx0ciB2YWxpZ249InRvcCI+CiAgICAgICAgICAgICAgICAgICAgPHRkPtLl
6vHyOjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjx0ZXh0YXJlYSBpZD0i
Y29tbWVudF90ZXh0IiBuYW1lPSJDb21tZW50IiBzdHlsZT0id2lkdGg6MTAwJTsg
aGVpZ2h0OjEyMHB4OyIgcm93cz0iNyIgb25jbGljaz0iY2hlY2tTdWJCdXRzKCk7
IiBvbmNoYW5nZT0iY2hlY2tTdWJCdXRzKCk7IGNoZWNrSGVpZ2h0KHRoaXMpOyIg
b25sb2FkPSJjaGVja1N1YkJ1dHMoKTsiIG9ua2V5cHJlc3M9ImNoZWNrU3ViQnV0
cygpOyIgb25rZXlkb3duPSJjaGVja1N1YkJ1dHMoKTsiIG9ua2V5dXA9ImNoZWNr
U3ViQnV0cygpOyBjaGVja0hlaWdodCh0aGlzKTsiIG9uZm9jdXM9ImNoZWNrU3Vi
QnV0cygpOyBjaGVja0hlaWdodCh0aGlzKTsiIG9uYmx1cj0iY2hlY2tTdWJCdXRz
KCk7IGNoZWNrSGVpZ2h0KHRoaXMpOyIgb25tb3VzZW1vdmU9ImNoZWNrU3ViQnV0
cygpOyBjaGVja0hlaWdodCh0aGlzKTsiPjwvdGV4dGFyZWE+PC90ZD4KICAgICAg
ICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHIgdmFsaWduPSJ0b3Ai
PgogICAgICAgICAgICAgICAgICAgIDx0ZD4mbmJzcDs8L3RkPgogICAgICAgICAg
ICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5
cGU9ImhpZGRlbiIgbmFtZT0icmVwbHl0byIgaWQ9InJlcGx5dG9faW5wdXQiIHZh
bHVlPSIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlk
ZGVuIiBuYW1lPSJiYWNrIiB2YWx1ZT0iaHR0cDovL2Jsb2dzLm1haWwucnUvbWFp
bC9tYWx2b181OS82QTBGQjk4QzVGRDREMTVDLmh0bWw/cGFnZT0iPgogICAgICAg
ICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJQcm9L
ZXkiIHZhbHVlPSIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIiB3aWR0aD0i
MTAwJSIgY2xhc3M9Im1iNSIgaWQ9InRibF9zbWlsZV9mb3RvIiBzdHlsZT0iZGlz
cGxheTogbm9uZTsiPjx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0
ZCBjbGFzcz0iaGlkZSB0YWgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDxkaXYgaWQ9InNvbWVzbWlsZXlzIiBjbGFzcz0iaW52aXoiPgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2lt
Zy5tYWlsLnJ1L3J1L2J0bi9zbWlsZS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGlj
az0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc6
KScpOyIgYWx0PSI6KSIgdGl0bGU9IjopIj4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9i
dG4vY3JvY29kaWxlLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNl
U2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJzpcJ1wnKCknKTsi
IGFsdD0iOicnKCkiIHRpdGxlPSI6JycoKSI+CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUv
YnRuL2J1bGxzaGl0LmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNl
U2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJyk6LXAnKTsiIGFs
dD0iKTotcCIgdGl0bGU9Iik6LXAiPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9h
ZHYvMzUuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3Rl
ZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksNCwnOs/w7uTi6O3z8vvlOsvu7+3z
IO7yIPHs5fXgOicpOyIgYWx0PSLL7u/t8yDu8iDx7OX14CIgdGl0bGU9Isvu7+3z
IO7yIPHs5fXgIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9kYW5jZS5n
aWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChn
ZWJpKCdjb21tZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrS4O328/46Jyk7
IiBhbHQ9ItLg7fbz/iIgdGl0bGU9ItLg7fbz/iI+CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUv
cnUvYnRuL2FuaW0vZmlnaHQuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJl
cGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt6Ozo
8O7i4O3t++U6z+7h/P46Jyk7IiBhbHQ9Is/u4fz+IiB0aXRsZT0iz+7h/P4iPgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9ibGluay5naWYiIGNsYXNzPSJzbWlsZSIg
b25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQn
KSwxLCc7KScpOyIgYWx0PSI7KSIgdGl0bGU9IjspIj4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5y
dS9ydS9idG4vYW1hemVkLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBs
YWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJzgtMCcpOyIg
YWx0PSI4LTAiIHRpdGxlPSI4LTAiPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9o
ZWFydC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc6aGVhcnQ6Jyk7IiBhbHQ9Ijpo
ZWFydDoiIHRpdGxlPSI6aGVhcnQ6Ij4KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4v
bGl2ZS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwyLCc6Y29vbDonKTsiIGFsdD0iOmNv
b2w6IiB0aXRsZT0iOmNvb2w6Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vdmlj
dG9yeS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwyLCc6dml2YTonKTsiIGFsdD0iOnZp
dmE6IiB0aXRsZT0iOnZpdmE6Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vb2su
Z2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3RlZFRleHQo
Z2ViaSgnY29tbWVudF90ZXh0JyksMiwnOm9rOicpOyIgYWx0PSI6b2s6IiB0aXRs
ZT0iOm9rOiI+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDxzcGFuIGNsYXNzPSJ0aXBhbGluayIgaWQ9Imljb3R4dCIgb25jbGljaz0i
dG9nZ2xlc21pbGUoKTsiPsLx5SDx7ODp6/sg6CDm5fHy+zwvc3Bhbj4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgpnZWJpKCdzb21lc21pbGV5cycpLnN0eWxlLmRpc3Bs
YXkgPSAnYmxvY2snOwo8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgYWxpZ249
InJpZ2h0IiBjbGFzcz0iaGlkZSIgbm93cmFwIHZhbGlnbj0idG9wIj48L3RkPgog
ICAgICAgICAgICAgICAgICAgICAgICA8L3RyPjwvdGFibGU+CjxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KZ2ViaSgndGJsX3NtaWxlX2ZvdG8nKS5zdHls
ZS5kaXNwbGF5PScnOwo8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAg
PGRpdiBpZD0iYWxsc21pbGV5cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA8ZGl2IHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICNBQkFEQjM7IGJhY2tncm91
bmQtY29sb3I6d2hpdGU7IG92ZXJmbG93OmF1dG87IG92ZXJmbG93LXk6YXV0bzsg
b3ZlcmZsb3cteDpoaWRkZW47IGhlaWdodDo5MHB4OyBwYWRkaW5nOjVweCAxMHB4
IDVweCAxMHB4OyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRp
dj7K6+Dx8ej35fHq6OU8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9zbWlsZS5n
aWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChn
ZWJpKCdjb21tZW50X3RleHQnKSwxLCc6KScpOyIgYWx0PSI6KSIgdGl0bGU9Ijop
Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9ibGluay5naWYiIGNsYXNzPSJzbWlsZSIg
b25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQn
KSwxLCc7KScpOyIgYWx0PSI7KSIgdGl0bGU9IjspIj4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1
L2J0bi9sYXVnaHRlci5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFj
ZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc6LSkpJyk7IiBh
bHQ9IjotKSkiIHRpdGxlPSI6LSkpIj4KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9iZWUu
Z2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3RlZFRleHQo
Z2ViaSgnY29tbWVudF90ZXh0JyksMSwnOy1QJyk7IiBhbHQ9IjstUCIgdGl0bGU9
IjstUCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9
Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vY29vbGd1eS5naWYiIGNsYXNzPSJz
bWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50
X3RleHQnKSwxLCc4LSknKTsiIGFsdD0iOC0pIiB0aXRsZT0iOC0pIj4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9iaWdncmluLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNr
PSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJzot
RCcpOyIgYWx0PSI6LUQiIHRpdGxlPSI6LUQiPgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRu
L3BpZy5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCd9Om8pJyk7IiBhbHQ9In06byki
IHRpdGxlPSJ9Om8pIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9iYXppbGlvLmdpZiIg
Y2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmko
J2NvbW1lbnRfdGV4dCcpLDEsJyQtKScpOyIgYWx0PSIkLSkiIHRpdGxlPSIkLSki
PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRw
Oi8vaW1nLm1haWwucnUvcnUvYnRuL2htLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNs
aWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEs
JzotXCcnKTsiIGFsdD0iOi0nIiB0aXRsZT0iOi0nIj4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1
L2J0bi9kaXNzYXBvaW50ZWQuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJl
cGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOi0oJyk7
IiBhbHQ9IjotKCIgdGl0bGU9IjotKCI+CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vdGVh
cnMuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3RlZFRl
eHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOC0oJyk7IiBhbHQ9IjgtKCIgdGl0
bGU9IjgtKCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBz
cmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vY3J5LmdpZiIgY2xhc3M9InNt
aWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRf
dGV4dCcpLDEsJzpcJygnKTsiIGFsdD0iOicoIiB0aXRsZT0iOicoIj4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9jcm9jb2RpbGUuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xp
Y2s9InJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwn
OlwnXCcoKScpOyIgYWx0PSI6JycoKSIgdGl0bGU9IjonJygpIj4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9yZWFsbHkuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJl
cGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnJDotbycp
OyIgYWx0PSIkOi1vIiB0aXRsZT0iJDotbyI+CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4v
b28uZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3RlZFRl
eHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnKDotbycpOyIgYWx0PSIoOi1vIiB0
aXRsZT0iKDotbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlt
ZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW1hemVkLmdpZiIgY2xh
c3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2Nv
bW1lbnRfdGV4dCcpLDEsJzgtMCcpOyIgYWx0PSI4LTAiIHRpdGxlPSI4LTAiPgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8v
aW1nLm1haWwucnUvcnUvYnRuL2FhYS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGlj
az0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc4
LVtvXScpOyIgYWx0PSI4LVtvXSIgdGl0bGU9IjgtW29dIj4KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1
L3J1L2J0bi9idWxsc2hpdC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVw
bGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCcpOi1wJyk7
IiBhbHQ9Iik6LXAiIHRpdGxlPSIpOi1wIj4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9h
bmdyeS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCcpOi0oJyk7IiBhbHQ9Iik6LSgi
IHRpdGxlPSIpOi0oIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9ycnIuZ2lmIiBjbGFz
cz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29t
bWVudF90ZXh0JyksMSwnKTotJCcpOyIgYWx0PSIpOi0kIiB0aXRsZT0iKTotJCI+
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6
Ly9pbWcubWFpbC5ydS9ydS9idG4vemxvcmFkc3R2by5naWYiIGNsYXNzPSJzbWls
ZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3Rl
eHQnKSwxLCcpOi1EJyk7IiBhbHQ9Iik6LUQiIHRpdGxlPSIpOi1EIj4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9iaWdhbmdlci5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGlj
az0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc6
LUUnKTsiIGFsdD0iOi1FIiB0aXRsZT0iOi1FIj4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0
bi9kZXZpbC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVj
dGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwxLCc6ZGV2aWw6Jyk7IiBhbHQ9
IjpkZXZpbDoiIHRpdGxlPSI6ZGV2aWw6Ij4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi92
YW1waXJlLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0
ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJzp2YW1waXJlOicpOyIgYWx0
PSI6dmFtcGlyZToiIHRpdGxlPSI6dmFtcGlyZToiPgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUv
YnRuL3BsdWcuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxl
Y3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOi1dWycpOyIgYWx0PSI6
LV1bIiB0aXRsZT0iOi1dWyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vZGV0emwuZ2lm
IiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3RlZFRleHQoZ2Vi
aSgnY29tbWVudF90ZXh0JyksMSwnOi18Jyk7IiBhbHQ9IjotfCIgdGl0bGU9Ijot
fCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0
dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vc2NlcHRpYy5naWYiIGNsYXNzPSJzbWls
ZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3Rl
eHQnKSwxLCdCLWonKTsiIGFsdD0iQi1qIiB0aXRsZT0iQi1qIj4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9zaHkuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxh
Y2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMSwnOn5vJyk7IiBh
bHQ9Ijp+byIgdGl0bGU9Ijp+byI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYXNzLmdp
ZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdl
YmkoJ2NvbW1lbnRfdGV4dCcpLDEsJyhfSV8pJyk7IiBhbHQ9IihfSV8pIiB0aXRs
ZT0iKF9JXykiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcg
c3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2hlYXJ0LmdpZiIgY2xhc3M9
InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1l
bnRfdGV4dCcpLDEsJzpoZWFydDonKTsiIGFsdD0iOmhlYXJ0OiIgdGl0bGU9Ijpo
ZWFydDoiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2tpc3MuZ2lmIiBjbGFzcz0ic21p
bGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90
ZXh0JyksMSwnOi0qJyk7IiBhbHQ9IjotKiIgdGl0bGU9IjotKiI+CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFp
bC5ydS9ydS9idG4vc2xlZXB5LmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJy
ZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDEsJzpzbGVl
cHk6Jyk7IiBhbHQ9IjpzbGVlcHk6IiB0aXRsZT0iOnNsZWVweToiPgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8ZGl2Psbl8fL7PGJyIC8+CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9y
dS9idG4vbGl2ZS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNl
bGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwyLCc6Y29vbDonKTsiIGFs
dD0iOmNvb2w6IiB0aXRsZT0iOmNvb2w6Ij4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi92
aWN0b3J5LmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0
ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDIsJzp2aXZhOicpOyIgYWx0PSI6
dml2YToiIHRpdGxlPSI6dml2YToiPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL29rLmdp
ZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdl
YmkoJ2NvbW1lbnRfdGV4dCcpLDIsJzpvazonKTsiIGFsdD0iOm9rOiIgdGl0bGU9
IjpvazoiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2tvemFfbGVmdC5naWYiIGNsYXNz
PSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21t
ZW50X3RleHQnKSwyLCc6eW9sOicpOyIgYWx0PSI6eW9sOiIgdGl0bGU9Ijp5b2w6
Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9rb3phX3JpZ2h0LmdpZiIgY2xhc3M9InNt
aWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRf
dGV4dCcpLDIsJzp5b3I6Jyk7IiBhbHQ9Ijp5b3I6IiB0aXRsZT0iOnlvcjoiPgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8v
aW1nLm1haWwucnUvcnUvYnRuL2RpZS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGlj
az0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwyLCc6
c3V4eDonKTsiIGFsdD0iOnN1eHg6IiB0aXRsZT0iOnN1eHg6Ij4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9maW5nZXJ1cC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0i
cmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwyLCc6dGhp
bms6Jyk7IiBhbHQ9Ijp0aGluazoiIHRpdGxlPSI6dGhpbms6Ij4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9rdWtlcy5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVw
bGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwyLCc6ZmlndTon
KTsiIGFsdD0iOmZpZ3U6IiB0aXRsZT0iOmZpZ3U6Ij4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1
L2J0bi9maXN0LmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2Vs
ZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDIsJzprdWxhazonKTsiIGFs
dD0iOmt1bGFrOiIgdGl0bGU9IjprdWxhazoiPgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRu
L2Z1Y2suZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3Rl
ZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMiwnOmZ1Y2s6Jyk7IiBhbHQ9Ijpm
dWNrOiIgdGl0bGU9IjpmdWNrOiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxk
aXY+wO3o7Ojw7uLg7e375TxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0v
YW5nZWwuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3Rl
ZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt6Ozo8O7i4O3t++U6wO3j
5evu9+XqOicpOyIgYWx0PSLA7ePl6+735eoiIHRpdGxlPSLA7ePl6+735eoiPgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8v
aW1nLm1haWwucnUvcnUvYnRuL2FuaW0vYXBwbC5naWYiIGNsYXNzPSJzbWlsZSIg
b25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQn
KSwzLCc6wO3o7Ojw7uLg7e375TrA7+vu5Ojx7OXt8vs6Jyk7IiBhbHQ9IsDv6+7k
6PHs5e3y+yIgdGl0bGU9IsDv6+7k6PHs5e3y+yI+CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9i
dG4vYW5pbS9iZWF1dHkuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxh
Y2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt6Ozo8O7i
4O3t++U6yvDg8e7y6uA6Jyk7IiBhbHQ9Isrw4PHu8urgIiB0aXRsZT0iyvDg8e7y
6uAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJo
dHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0vYmVlci5naWYiIGNsYXNzPSJz
bWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50
X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrP6OLuOicpOyIgYWx0PSLP6OLuIiB0
aXRsZT0iz+ji7iI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlt
ZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9ib29rLmdpZiIg
Y2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmko
J2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOtfo8uD+OicpOyIgYWx0
PSLX6PLg/iIgdGl0bGU9Itfo8uD+Ij4KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmlt
L2NvdWxkLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0
ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOsy4
8Oft8zonKTsiIGFsdD0izLjw5+3zIiB0aXRsZT0izLjw5+3zIj4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9hbmltL2NyeS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0i
cmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6wO3o
7Ojw7uLg7e375TrQ++Tg/jonKTsiIGFsdD0i0Pvk4P4iIHRpdGxlPSLQ++Tg/iI+
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6
Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9kYW5jZS5naWYiIGNsYXNzPSJzbWls
ZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3Rl
eHQnKSwzLCc6wO3o7Ojw7uLg7e375TrS4O328/46Jyk7IiBhbHQ9ItLg7fbz/iIg
dGl0bGU9ItLg7fbz/iI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9kZXZpbC5n
aWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChn
ZWJpKCdjb21tZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg7e375TrX5fDy7uLx6ugg
5+v+8fw6Jyk7IiBhbHQ9Itfl8PLu4vHq6CDn6/7x/CIgdGl0bGU9Itfl8PLu4vHq
6CDn6/7x/CI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBz
cmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9lYXQuZ2lmIiBjbGFz
cz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29t
bWVudF90ZXh0JyksMywnOsDt6Ozo8O7i4O3t++U6xvP+OicpOyIgYWx0PSLG8/4i
IHRpdGxlPSLG8/4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxp
bWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0vZmlnaHQuZ2lm
IiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3RlZFRleHQoZ2Vi
aSgnY29tbWVudF90ZXh0JyksMywnOsDt6Ozo8O7i4O3t++U6z+7h/P46Jyk7IiBh
bHQ9Is/u4fz+IiB0aXRsZT0iz+7h/P4iPgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fu
aW0vZmluZ2FsLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2Vs
ZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvl
Os/u4ejr6DonKTsiIGFsdD0iz+7h6OvoIiB0aXRsZT0iz+7h6OvoIj4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9hbmltL2Zsb3dyLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNs
aWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMs
JzrA7ejs6PDu4uDt7fvlOsTg8P4g9uLl8u735eo6Jyk7IiBhbHQ9IsTg8P4g9uLl
8u735eoiIHRpdGxlPSLE4PD+IPbi5fLu9+XqIj4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0
bi9hbmltL2dnLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2Vs
ZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvl
OtHs5f7x/DonKTsiIGFsdD0i0ezl/vH8IiB0aXRsZT0i0ezl/vH8Ij4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5t
YWlsLnJ1L3J1L2J0bi9hbmltL2dnMi5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGlj
az0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6
wO3o7Ojw7uLg7e375TrR7OX+8fwg6CDv6+D38zonKTsiIGFsdD0i0ezl/vH8IOgg
7+vg9/MiIHRpdGxlPSLR7OX+8fwg6CDv6+D38yI+CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9i
dG4vYW5pbS9naWZ0LmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNl
U2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt
7fvlOs/u5ODw7uo6Jyk7IiBhbHQ9Is/u5ODw7uoiIHRpdGxlPSLP7uTg8O7qIj4K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDov
L2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmltL2h1bmdyeS5naWYiIGNsYXNzPSJzbWls
ZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3Rl
eHQnKSwzLCc6wO3o7Ojw7uLg7e375TrC7vD38zonKTsiIGFsdD0iwu7w9/MiIHRp
dGxlPSLC7vD38yI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlt
ZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9raXNzLmdpZiIg
Y2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmko
J2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOtbl6/P+OicpOyIgYWx0
PSLW5evz/iIgdGl0bGU9Itbl6/P+Ij4KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmlt
L2xvdmUuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9InJlcGxhY2VTZWxlY3Rl
ZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt6Ozo8O7i4O3t++U6y/7h
6/46Jyk7IiBhbHQ9Isv+4ev+IiB0aXRsZT0iy/7h6/4iPgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUv
cnUvYnRuL2FuaW0vcGlzdG9sZXQuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9
InJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt
6Ozo8O7i4O3t++U6x+Dx8vDl6/46Jyk7IiBhbHQ9Isfg8fLw5ev+IiB0aXRsZT0i
x+Dx8vDl6/4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcg
c3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0vcG9pc29uLmdpZiIg
Y2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmko
J2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOsL77+XpIP/k8zonKTsi
IGFsdD0iwvvv5ekg/+TzIiB0aXRsZT0iwvvv5ekg/+TzIj4KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1
L3J1L2J0bi9hbmltL3JhaW5ib3cuZ2lmIiBjbGFzcz0ic21pbGUiIG9uY2xpY2s9
InJlcGxhY2VTZWxlY3RlZFRleHQoZ2ViaSgnY29tbWVudF90ZXh0JyksMywnOsDt
6Ozo8O7i4O3t++U6y/P35efg8O3uOicpOyIgYWx0PSLL8/fl5+Dw7e4iIHRpdGxl
PSLL8/fl5+Dw7e4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxp
bWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2FuaW0vcmVkLmdpZiIg
Y2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmko
J2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOtHs8/ng/vH8OicpOyIg
YWx0PSLR7PP54P7x/CIgdGl0bGU9ItHs8/ng/vH8Ij4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1
L2J0bi9hbmltL3NhZC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFj
ZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg
7e375TrQ4PHx8vDg6OLg/vH8OicpOyIgYWx0PSLQ4PHx8vDg6OLg/vH8IiB0aXRs
ZT0i0ODx8fLw4Oji4P7x/CI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9zaW5n
LmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0
KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOs/u/jonKTsi
IGFsdD0iz+7+IiB0aXRsZT0iz+7+Ij4KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmlt
L3NrdWthLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0
ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOtHq
8/fg/jonKTsiIGFsdD0i0erz9+D+IiB0aXRsZT0i0erz9+D+Ij4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9hbmltL3NsZWVwLmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNr
PSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA
7ejs6PDu4uDt7fvlOsfg8fvv4P46Jyk7IiBhbHQ9Isfg8fvv4P4iIHRpdGxlPSLH
4PH77+D+Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNy
Yz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0bi9hbmltL3NtaWxlLmdpZiIgY2xh
c3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdlYmkoJ2Nv
bW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOtPr++Hg/vH8OicpOyIgYWx0
PSLT6/vh4P7x/CIgdGl0bGU9ItPr++Hg/vH8Ij4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3J1L2J0
bi9hbmltL3Rvbmd1ZS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFj
ZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6wO3o7Ojw7uLg
7e375TrP7urg5/vi4P4g/+f76jonKTsiIGFsdD0iz+7q4Of74uD+IP/n++oiIHRp
dGxlPSLP7urg5/vi4P4g/+f76iI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS92
aWN0b3J5LmdpZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0
ZWRUZXh0KGdlYmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOlBl
YWNlITonKTsiIGFsdD0iUGVhY2UhIiB0aXRsZT0iUGVhY2UhIj4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L3J1L2J0bi9hbmltL3dvbmRlci5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGlj
az0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSwzLCc6
wO3o7Ojw7uLg7e375TrT5Oji6//+8fw6Jyk7IiBhbHQ9ItPk6OLr//7x/CIgdGl0
bGU9ItPk6OLr//7x/CI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9ydS9idG4vYW5pbS9ibGV3Lmdp
ZiIgY2xhc3M9InNtaWxlIiBvbmNsaWNrPSJyZXBsYWNlU2VsZWN0ZWRUZXh0KGdl
YmkoJ2NvbW1lbnRfdGV4dCcpLDMsJzrA7ejs6PDu4uDt7fvlOtLu+O3o8jonKTsi
IGFsdD0i0u747ejyIiB0aXRsZT0i0u747ejyIj4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPGRpdj7P8O7k4ujt8/L75TxiciAvPgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRu
L2Fkdi8wMy5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVj
dGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U60+v7
4eD+8fw6Jyk7IiBhbHQ9ItPr++Hg/vH8IiB0aXRsZT0i0+v74eD+8fwiPgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1n
Lm1haWwucnUvcnUvYnRuL2Fkdi8wNS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGlj
az0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6
z/Du5OLo7fPy++U6x+vu8ODk8fLi8/46Jyk7IiBhbHQ9Isfr7vDg5PHy4vP+IiB0
aXRsZT0ix+vu8ODk8fLi8/4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi8wNy5n
aWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChn
ZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U60ODk8/7x/DonKTsi
IGFsdD0i0ODk8/7x/CIgdGl0bGU9ItDg5PP+8fwiPgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUv
YnRuL2Fkdi8wOS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNl
bGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6
0fLg8Oj37uo6Jyk7IiBhbHQ9ItHy4PDo9+7qIiB0aXRsZT0i0fLg8Oj37uoiPgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8v
aW1nLm1haWwucnUvcnUvYnRuL2Fkdi8xMS5naWYiIGNsYXNzPSJzbWlsZSIgb25j
bGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0
LCc6z/Du5OLo7fPy++U60eLo8OXv8fLi8/46Jyk7IiBhbHQ9ItHi6PDl7/Hy4vP+
IiB0aXRsZT0i0eLo8OXv8fLi8/4iPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi8x
My5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4
dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6z/Pj4P7x/Don
KTsiIGFsdD0iz/Pj4P7x/CIgdGl0bGU9Is/z4+D+8fwiPgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUv
cnUvYnRuL2Fkdi8yMS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFj
ZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy
++U6z+7q4Of74uD+IP/n++o6Jyk7IiBhbHQ9Is/u6uDn++Lg/iD/5/vqIiB0aXRs
ZT0iz+7q4Of74uD+IP/n++oiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi8yMi5n
aWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChn
ZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U60+zt6Oo6Jyk7IiBh
bHQ9ItPs7ejqIiB0aXRsZT0i0+zt6OoiPgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fk
di8yMy5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6wOvq7uPu
6+jqOicpOyIgYWx0PSLA6+ru4+7r6OoiIHRpdGxlPSLA6+ru4+7r6OoiPgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1n
Lm1haWwucnUvcnUvYnRuL2Fkdi8yNC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGlj
az0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6
z/Du5OLo7fPy++U6wu7/6uA6Jyk7IiBhbHQ9IsLu/+rgIiB0aXRsZT0iwu7/6uAi
PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRw
Oi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi8yNS5naWYiIGNsYXNzPSJzbWlsZSIg
b25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQn
KSw0LCc6z/Du5OLo7fPy++U60+To4uv//vH8OicpOyIgYWx0PSLT5Oji6//+8fwi
IHRpdGxlPSLT5Oji6//+8fwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi8yNi5n
aWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChn
ZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U61+Xw8u7i8eroIOfr
/vH8OicpOyIgYWx0PSLX5fDy7uLx6ugg5+v+8fwiIHRpdGxlPSLX5fDy7uLx6ugg
5+v+8fwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi8zMy5naWYiIGNsYXNzPSJz
bWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50
X3RleHQnKSw0LCc6z/Du5OLo7fPy++U60ODx8fLw4Oji4P7x/DonKTsiIGFsdD0i
0ODx8fLw4Oji4P7x/CIgdGl0bGU9ItDg8fHy8ODo4uD+8fwiPgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwu
cnUvcnUvYnRuL2Fkdi8zNC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVw
bGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo
7fPy++U6z+Dt6jonKTsiIGFsdD0iz+Dt6iIgdGl0bGU9Is/g7eoiPgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1h
aWwucnUvcnUvYnRuL2Fkdi8zNS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0i
cmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du
5OLo7fPy++U6y+7v7fMg7vIg8ezl9eA6Jyk7IiBhbHQ9Isvu7+3zIO7yIPHs5fXg
IiB0aXRsZT0iy+7v7fMg7vIg8ezl9eAiPgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fk
di8zNi5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6z+7k7Ojj
6OLg/jonKTsiIGFsdD0iz+7k7Ojj6OLg/iIgdGl0bGU9Is/u5Ozo4+ji4P4iPgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8v
aW1nLm1haWwucnUvcnUvYnRuL2Fkdi8zNy5naWYiIGNsYXNzPSJzbWlsZSIgb25j
bGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0
LCc6z/Du5OLo7fPy++U6xPPs4P46Jyk7IiBhbHQ9IsTz7OD+IiB0aXRsZT0ixPPs
4P4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJo
dHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi8zOC5naWYiIGNsYXNzPSJzbWls
ZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3Rl
eHQnKSw0LCc6z/Du5OLo7fPy++U6y/7h6/46Jyk7IiBhbHQ9Isv+4ev+IiB0aXRs
ZT0iy/7h6/4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcg
c3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi80NS5naWYiIGNsYXNz
PSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21t
ZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6z+7k4OLr5e06Jyk7IiBhbHQ9Is/u
5ODi6+XtIiB0aXRsZT0iz+7k4OLr5e0iPgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fk
di80Ni5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U60Pvk4P46
Jyk7IiBhbHQ9ItD75OD+IiB0aXRsZT0i0Pvk4P4iPgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUv
YnRuL2Fkdi80Ny5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNl
bGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6
0eXp9+DxIPDg8e/r4Pfz8fw6Jyk7IiBhbHQ9ItHl6ffg8SDw4PHv6+D38/H8IiB0
aXRsZT0i0eXp9+DxIPDg8e/r4Pfz8fwiPgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fk
di80OC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6x+v+8fw6
Jyk7IiBhbHQ9Isfr/vH8IiB0aXRsZT0ix+v+8fwiPgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUv
YnRuL2Fkdi80OS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNl
bGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6
0u747ejyOicpOyIgYWx0PSLS7vjt6PIiIHRpdGxlPSLS7vjt6PIiPgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1h
aWwucnUvcnUvYnRuL2Fkdi81MC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0i
cmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du
5OLo7fPy++U60fPs4PH45fHy4ujlOicpOyIgYWx0PSLR8+zg8fjl8fLi6OUiIHRp
dGxlPSLR8+zg8fjl8fLi6OUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi81Ny5n
aWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChn
ZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U61uXr8/46Jyk7IiBh
bHQ9Itbl6/P+IiB0aXRsZT0i1uXr8/4iPgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fk
di81OC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVk
VGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6z+725evu
4uDr6DonKTsiIGFsdD0iz+725evu4uDr6CIgdGl0bGU9Is/u9uXr7uLg6+giPgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8v
aW1nLm1haWwucnUvcnUvYnRuL2Fkdi81OS5naWYiIGNsYXNzPSJzbWlsZSIgb25j
bGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0
LCc6z/Du5OLo7fPy++U6yvDg8e7y6uA6Jyk7IiBhbHQ9Isrw4PHu8urgIiB0aXRs
ZT0iyvDg8e7y6uAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxp
bWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi82MC5naWYiIGNs
YXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdj
b21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6wO3j5evu9+XqOicpOyIgYWx0
PSLA7ePl6+735eoiIHRpdGxlPSLA7ePl6+735eoiPgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUv
YnRuL2Fkdi82MS5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNl
bGVjdGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6
z+7k7ufw6PLl6/zt7jonKTsiIGFsdD0iz+7k7ufw6PLl6/zt7iIgdGl0bGU9Is/u
5O7n8Ojy5ev87e4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxp
bWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi82Mi5naWYiIGNs
YXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdj
b21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U6xvP+OicpOyIgYWx0PSLG8/4i
IHRpdGxlPSLG8/4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxp
bWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRuL2Fkdi82OS5naWYiIGNs
YXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVjdGVkVGV4dChnZWJpKCdj
b21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U60ezz+eD+8fw6Jyk7IiBhbHQ9
ItHs8/ng/vH8IiB0aXRsZT0i0ezz+eD+8fwiPgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvcnUvYnRu
L2Fkdi83MC5naWYiIGNsYXNzPSJzbWlsZSIgb25jbGljaz0icmVwbGFjZVNlbGVj
dGVkVGV4dChnZWJpKCdjb21tZW50X3RleHQnKSw0LCc6z/Du5OLo7fPy++U60fL7
5O3uOicpOyIgYWx0PSLR8vvk7e4iIHRpdGxlPSLR8vvk7e4iPgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4K
ICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQ1IG1iNSI+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAoJCQkJCQkJPGlucHV0IGlkPSJoaWRl
X2NvbW1lbnQiIG5hbWU9ImhpZGVfY29tbWVudCIgdHlwZT0iQ2hlY2tib3giIHN0
eWxlPSJ2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ij48bGFiZWwgZm9yPSJoaWRlX2Nv
bW1lbnQiPvHq8Pvy/CD98u7yIOru7Ozl7fLg8OjpPC9sYWJlbD4KICAgICAgICAg
ICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxp
bnB1dCBpZD0ic3ViX2J1dCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ixO7h4OLo8vwi
IG5hbWU9ImFkZGNvbW1lbnQiIGNsYXNzPXNfMTAwIG9uY2xpY2s9InJldHVybiBz
dWJtaXRfY29tbWVudCgpIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBvbmNs
aWNrPSJyZXR1cm4gY2xvc2VfYWRkX2NvbW1lbnQoKTsiIGhyZWY9Ii9tYWlsL21h
bHZvXzU5LzZBMEZCOThDNUZENEQxNUMuaHRtbD90aHJlYWQ9MCZhbXA7cGFnZT0x
JmFtcDtza2lwPTAiPsfg6vD78vw8L2E+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KZ2ViaSgnc3ViX2J1dCcpLmRpc2FibGVkID0gMTsKPC9zY3JpcHQ+
CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+
CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9mb3JtPgogICAgPC9kaXY+
CiAgICAKPC9kaXY+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8v
zeDv6PHg8vwg6u7s7OXt8uDw6OkKZnVuY3Rpb24gc2hvd19hZGRfY29tbWVudChp
ZCwgZGVmYXVsdF9oaWRlLCBiYWNrX3ZhbHVlLCBjaXQpIHsKICAgIHZhciBjb21t
ZW50X2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21tZW50X2Zvcm1z
X2NvbnRhaW5lcicpOwogICAgdmFyIHBhcmVudF9vYmogPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnYWRkXycgKyBpZCk7CiAgICBpZiAoIWNvbW1lbnRfZGl2IHx8
ICFwYXJlbnRfb2JqKSByZXR1cm47CgogICAgdmFyIHN1YmpJbnAgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc3ViamVjdF90ZXh0Jyk7CiAgICB2YXIgYm9keUlu
cCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21tZW50X3RleHQnKTsKICAg
IHN1YmpJbnAudmFsdWUgPSAnJzsgYm9keUlucC52YWx1ZSA9ICcnOwoKICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXBkYXRlJykuYWN0aW9uID0gJy9tYWls
L21hbHZvXzU5LzZBMEZCOThDNUZENEQxNUMuaHRtbD90aHJlYWQ9MCZhbXA7cGFn
ZT0xJmFtcDtza2lwPTAnOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fs
bHNtaWxleXMnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2ljb3R4dCcpLmlubmVySFRNTCA9ICfC8eUg8ezg6ev7
IOgg5uXx8vsnOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hpZGVfY29t
bWVudCcpLmNoZWNrZWQgPSAoZGVmYXVsdF9oaWRlID8gdHJ1ZSA6IGZhbHNlKTsK
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXBseXRvX2lucHV0JykudmFs
dWUgPSBpZDsKCiAgICB2YXIgY29tbW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2NvbW1lbnRfZm9ybV9jb21tb24nKTsKICAgIHZhciBtaWNybyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdjb21tZW50X2Zvcm1fbWljcm9wb3N0Jyk7CiAg
ICB2YXIgc3dhcF9jaGJ4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbW1l
bnRfc3dhcF9tb2RlJyk7CiAgICBpZiAoaWQgPT0gJ2JlZ2luJyB8fCBpZCA9PSAn
ZW5kJykgewogICAgICAgIGlmICgnJykgewogICAgICAgICAgICBjb21tb24uc3R5
bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgaWYoc3dhcF9jaGJ4KSBz
d2FwX2NoYnguc3R5bGUuZGlzcGxheSA9ICcnOwogICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbWljcm9wb3N0X3JlcGx5X3RleHQnKS52YWx1ZSA9
ICcnOwogICAgICAgICAgICBtaWNyby5zdHlsZS5kaXNwbGF5ID0gJyc7CiAgICAg
ICAgfQogICAgfSBlbHNlIHsKICAgICAgICBzdWJqSW5wLnZhbHVlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3N1YmplY3RfdGV4dF8nK2lkKS52YWx1ZTsKICAg
ICAgICBpZiAoY2l0PT0neWVzJykgewogICAgICAgICAgICBib2R5SW5wLnZhbHVl
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbW1lbnRfdGV4dF8nK2lkKS52
YWx1ZSArICdcblxuJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBib2R5
SW5wLnZhbHVlID0gJyc7CiAgICAgICAgfQogICAgICAgIGlmKHN3YXBfY2hieCkg
c3dhcF9jaGJ4LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgY29tbW9u
LnN0eWxlLmRpc3BsYXkgPSAnJzsKICAgICAgICBpZiAobWljcm8pIG1pY3JvLnN0
eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICB9CgogICAgcGFyZW50X29iai5hcHBl
bmRDaGlsZChjb21tZW50X2Rpdi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNvbW1l
bnRfZGl2KSk7CiAgICBjb21tZW50X2Rpdi5zdHlsZS5kaXNwbGF5ID0gJyc7CiAg
ICByZWZvY3VzKCk7CgogICAgcmV0dXJuIGZhbHNlOwp9CgovL9Ph8ODy/CDk6ODr
7uMg7eDv6PHg7ej/IOru7Ozl7fLg8Oj/CmZ1bmN0aW9uIGNsb3NlX2FkZF9jb21t
ZW50KCkgewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbW1lbnRfZm9y
bXNfY29udGFpbmVyJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIHJldHVy
biBmYWxzZTsKfQoKZnVuY3Rpb24gcmVmb2N1cygpIHsKICAgIHZhciBjb21tb24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29tbWVudF9mb3JtX2NvbW1vbicp
OwogICAgdmFyIG1pY3JvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbW1l
bnRfZm9ybV9taWNyb3Bvc3QnKTsKICAgIHZhciBjb21tX3R4YXIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnY29tbWVudF90ZXh0Jyk7CiAgICB2YXIgcG9zdF90
eGFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pY3JvcG9zdF9yZXBseV90
ZXh0Jyk7CiAgICBpZiAoY29tbW9uICYmIGNvbW1fdHhhciAmJiBjb21tb24uc3R5
bGUuZGlzcGxheSAhPSAnbm9uZScpIHsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgeyBjb21tX3R4YXIuZm9jdXMoKSB9LCAxKTsKICAgIH0gZWxzZSBpZiAo
bWljcm8gJiYgcG9zdF90eGFyICYmIG1pY3JvLnN0eWxlLmRpc3BsYXkgIT0gJ25v
bmUnKSB7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgcG9zdF90eGFy
LmZvY3VzKCkgfSwgMSk7CiAgICB9Cn0KCgoKZnVuY3Rpb24gY2hlY2tTdWJCdXRz
KCkgewogICAgdmFyIHN0dHMgPSAxOwogICAgc3R0cyA9IChnZWJpKCdjb21tZW50
X3RleHQnKS52YWx1ZS5sZW5ndGggPD0gMCk7CiAgICBnZWJpKCdzdWJfYnV0Jyku
ZGlzYWJsZWQgPSBzdHRzOwp9CmNoZWNrU3ViQnV0cygpOwoKZnVuY3Rpb24gY2hl
Y2tTdWJCdXRNaWNybygpIHsKCXZhciBzdHRzID0gMTsKCXN0dHMgPSAoZ2ViaSgn
bWljcm9wb3N0X3JlcGx5X3RleHQnKS52YWx1ZS5sZW5ndGggPD0gMCk7CglnZWJp
KCdzdWJfYnV0X21pY3JvJykuZGlzYWJsZWQgPSBzdHRzOwp9CgpmdW5jdGlvbiBj
aGVja01lc3NhZ2UoKSB7Cgl2YXIgdGV4dGFyZWFJZCA9ICdjb21tZW50X3RleHQn
OwoJdmFyIGZvcm1JZCA9ICdkdXBkYXRlJzsKCWlmKGdlYmkoJ2NvbW1lbnRfZm9y
bV9taWNyb3Bvc3QnKSAmJiBnZWJpKCdjb21tZW50X2Zvcm1fbWljcm9wb3N0Jyku
c3R5bGUuZGlzcGxheSAhPSAibm9uZSIpCgl7CgkJdGV4dGFyZWFJZCA9ICdtaWNy
b3Bvc3RfcmVwbHlfdGV4dCc7CgkJZm9ybUlkID0gJ21pY3JvcG9zdF9mb3JtJzsK
CX0KCQoJdmFyIGxlbjIgPSBnZWJpKHRleHRhcmVhSWQpLnZhbHVlLmxlbmd0aDsK
ICAgIGlmIChsZW4yPT0wKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSBl
bHNlIHsKICAgICAgICBnZWJpKGZvcm1JZCkuc3VibWl0KCk7CiAgICB9Cn0KCmZ1
bmN0aW9uIGNoZWNrQ3RybEVudGVyKGUpIHsKICAgIHZhciBrZXlDb2RlOwogICAg
aWYgKHdpbmRvdy5ldmVudCkgewogICAgICAgIGUgPSB3aW5kb3cuZXZlbnQ7CiAg
ICAgICAga2V5Q29kZSA9IGUua2V5Q29kZTsKICAgIH0gZWxzZSB7CiAgICAgICAg
a2V5Q29kZSA9IGUud2hpY2g7CiAgICB9CiAgICBpZiAoZS5jdHJsS2V5ICYmICgo
a2V5Q29kZSA9PT0gMTMgJiYgIWlzSUUpIHx8IChrZXlDb2RlID09PSAxMCAmJiBp
c0lFKSkpIHsKICAgICAgICBjaGVja01lc3NhZ2UoKTsKICAgIH0KfQovL2RvY3Vt
ZW50Lm9ua2V5ZG93biA9IGNoZWNrQ3RybEVudGVyOwphZGRIYW5kbGVyKGRvY3Vt
ZW50LCAna2V5cHJlc3MnLCBjaGVja0N0cmxFbnRlcik7Cgp2YXIgY3VyYXJlYWhl
aWdodCA9IDEyMDsKCmZ1bmN0aW9uIGNoZWNrSGVpZ2h0KG9iaikgewogICAgaWYg
KGlzSUUpIHsKICAgICAgICB2YXIgY3VySGVpZ2h0ID0gb2JqLmNyZWF0ZVRleHRS
YW5nZSgpLmJvdW5kaW5nSGVpZ2h0OwogICAgICAgIGlmIChjdXJIZWlnaHQgLSBj
dXJhcmVhaGVpZ2h0IDwgMCkgewogICAgICAgICAgICBvYmouc3R5bGUuaGVpZ2h0
ID0gY3VyYXJlYWhlaWdodCArICdweCc7CiAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgb2JqLnN0eWxlLmhlaWdodCA9IGN1ckhlaWdodCArIDM1ICsgJ3B4JzsK
ICAgICAgICB9CiAgICB9Cn0KPC9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21tZW50X2Zv
cm1zX2NvbnRhaW5lcicpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cjwvc2NyaXB0
PgoKCjxpbWcgc3JjPWh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiB3aWR0aD01MDAg
aGVpZ2h0PTE+PGJyPgo8IS0tIEVORDogbWFpbiBibG9jayAtLT4KCgkJCQkJCTwv
ZGl2PjwvdGQ+CgkJCQkJCTx0ZCB3aWR0aD0iMjUiIGNsYXNzPSJyaWdodF9ib3R0
b21fc2hpZnQiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvMC5naWYiIHdp
ZHRoPSIxIiBoZWlnaHQ9IjEiIGFsdD0iIj48L3RkPgoJCQkJCTwvdHI+CgkJCQkJ
PC90YWJsZT4KCQkJCTwvdGQ+CgkJCQk8dGQgd2lkdGg9IjMlImNsYXNzPSJtYWlu
X21lbnVfcmlnaHRfYmciPiZuYnNwOzwvdGQ+CgkJCTwvdHI+CgkJCTx0cj4KCQkJ
CTx0ZCBjb2xzcGFuPSIzIiBoZWlnaHQ9IjI1cHgiPiZuYnNwOzwvdGQ+CgkJCTwv
dHI+CgkJCTwvdGFibGU+CgkJPC9kaXY+Cgk8L3RkPgo8L3RyPgo8L3RhYmxlPgoK
PCEtLSAgZm9vdGVyX2Jhc2UgIC0tPgoKPGltZyBzcmM9aHR0cDovL3JzLm1haWwu
cnUvZDIyNzAxNS5naWY/cm5kPTM3MDQxMDIxNyZ0cz0xMjc5NTE5NDM3IHdpZHRo
PSIxIiBoZWlnaHQ9IjEiIGJvcmRlcj0iMCIgYWx0PSIiIHN0eWxlPSJwb3NpdGlv
bjphYnNvbHV0ZTsiPgo8IS0tUmF0aW5nQE1haWwucnUgY291bnRlci0tPg0KPHNj
cmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij48IS0tDQpkPWRvY3VtZW50O3ZhciBhPScnO2ErPSc7cj0nK2VzY2FwZShkLnJl
ZmVycmVyKTtqcz0xMDsvLy0tPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0i
amF2YXNjcmlwdDEuMSIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tDQphKz0n
O2o9JytuYXZpZ2F0b3IuamF2YUVuYWJsZWQoKTtqcz0xMTsvLy0tPjwvc2NyaXB0
Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdDEuMiIgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij48IS0tDQpzPXNjcmVlbjthKz0nO3M9JytzLndpZHRoKycqJytz
LmhlaWdodDsNCmErPSc7ZD0nKyhzLmNvbG9yRGVwdGg/cy5jb2xvckRlcHRoOnMu
cGl4ZWxEZXB0aCk7anM9MTI7Ly8tLT48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3Vh
Z2U9ImphdmFzY3JpcHQxLjMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQ0K
anM9MTM7Ly8tLT48L3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0
IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0NCmQud3JpdGUoJzxpbWcgc3Jj
PSJodHRwOi8vZGIuYzEuYmYuYTAudG9wLm1haWwucnUvY291bnRlcicrJz9pZD05
OTAwMTQ7anM9JytqcysNCmErJztyYW5kPScrTWF0aC5yYW5kb20oKSsnIiBoZWln
aHQ9IjEiIHdpZHRoPSIxIiBhbHQ9InRvcC5tYWlsLnJ1IiBib3JkZXI9IjAiPicp
Ow0KaWYoMTE8anMpZC53cml0ZSgnPCcrJyEtLSAnKS8vLS0+PC9zY3JpcHQ+DQo8
bm9zY3JpcHQ+PGltZyBzcmM9Imh0dHA6Ly9kYi5jMS5iZi5hMC50b3AubWFpbC5y
dS9jb3VudGVyP2pzPW5hO2lkPTk5MDAxNCIgDQpoZWlnaHQ9IjEiIHdpZHRoPSIx
IiBhbHQ9InRvcC5tYWlsLnJ1IiBib3JkZXI9IjAiPjwvbm9zY3JpcHQ+DQo8c2Ny
aXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PjwhLS0NCmlmKDExPGpzKWQud3JpdGUoJy0tJysnPicpOy8vLS0+PC9zY3JpcHQ+
DQo8IS0tLy8gUmF0aW5nQE1haWwucnUgY291bnRlci0tPgoKPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbCnRyeXsKdGltZUludGVydmFs
KCdiYW5uZXJzJyk7Cn1jYXRjaChlKSB7fQovLy0tPjwvc2NyaXB0PgoKCjxkaXYg
aWQ9ImJhbm5lcl9zb3VyY2UiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4JCgk8IS0t
IGFkZCBUT1AgLS0+Cgk8ZGl2IGJhbm5lcj0iYmFubmVyX3RvcF9jb250YWluZXIi
PgoJPGNlbnRlcj48L2NlbnRlcj4KCTwvZGl2PgoJCgk8IS0tIGFkZCBMRUZUIC0t
PgoJPGRpdiBiYW5uZXI9ImJhbm5lcl9sZWZ0X2NvbnRhaW5lciI+CgkKCQk8ZGl2
IGNsYXNzPSJsaW5lZF90b3AiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUv
MC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGFsdD0iIj48L2Rpdj48ZGl2IGNs
YXNzPSJsaW5lZF9ibG9jayI+PGRpdiBjbGFzcz0ibGluZWRfYmxvY2tfaW4iPjxk
aXYgY2xhc3M9Im90c19pbl9ibG9nIj48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRl
cj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj48dHI+PHRkIGNs
YXNzPSJvdHNfaW5fYmxvZ19pbiI+PCEtLSA0Mzg1IC0tPjwhLS0gU2VhcmNoIElu
Zm9ybWVyIC0tPg0KDQo8ZGl2IGlkPSJzZWFyY2hJbmZvcm1lciIgc3R5bGU9ImRp
c3BsYXk6IG5vbmU7IG1hcmdpbjogMC44ZW0gMC41ZW0gMWVtOyI+PC9kaXY+DQo8
IS0tIC9TZWFyY2ggSW5mb3JtZXIgLS0+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+DQooZnVuY3Rpb24oKXsNCnZhciBVUkwgPSB7DQoJaWU6ICcnLA0K
CWVzY2FwZTogKGZ1bmN0aW9uKCl7DQoJCXZhciBpID0gMHg0MTAsIHRyYW5zID0g
W107DQoJCXdoaWxlIChpIDw9IDB4NDRGKSB7DQoJCQl0cmFuc1tpXSA9IChpKysp
IC0gMHgzNTA7DQoJCX0NCgkJdHJhbnNbMHg0MDFdID0gMHhBODsNCgkJdHJhbnNb
MHg0NTFdID0gMHhCODsNCgkJdHJhbnNbMHgwMjNdID0gMHgyMzsNCgkJdHJhbnNb
MHgwMjZdID0gMHgyNjsNCgkJcmV0dXJuIGZ1bmN0aW9uKHN0cikgew0KCQkJdmFy
IGkgPSAwLCBsLCBjaGFycywgY2hhciwgcmV0ID0gW10sIGlkeCA9IDA7DQoJCQls
ID0gc3RyLmxlbmd0aDsNCgkJCXdoaWxlIChpIDwgbCkgew0KCQkJCWNoYXIgPSBz
dHIuY2hhckNvZGVBdChpKyspOw0KCQkJCWlmICh0eXBlb2YgdHJhbnNbY2hhcl0g
IT09ICd1bmRlZmluZWQnKSB7DQoJCQkJCWNoYXIgPSB0cmFuc1tjaGFyXTsNCgkJ
CQl9DQoJCQkJaWYgKGNoYXIgPD0gMHhGRikgew0KCQkJCQlyZXRbaWR4KytdID0g
Y2hhcjsNCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm4gZXNjYXBlKFN0cmluZy5mcm9t
Q2hhckNvZGUuYXBwbHkobnVsbCwgcmV0KSk7DQoJCX07DQoJfSkoKSwNCgl1bmVz
Y2FwZTogKGZ1bmN0aW9uKCl7DQoJCXZhciBpID0gMHg0MTAsIHRyYW5zID0gW107
DQoJCXdoaWxlIChpIDw9IDB4NDRGKSB7DQoJCQl0cmFuc1tpIC0gMHgzNTBdID0g
aSsrOw0KCQl9DQoJCXRyYW5zWzB4QThdID0gMHg0MDE7DQoJCXRyYW5zWzB4Qjhd
ID0gMHg0NTE7DQoJCXRyYW5zWzB4MjNdID0gMHgwMjM7DQoJCXRyYW5zWzB4MjZd
ID0gMHgwMjY7DQoJCXJldHVybiBmdW5jdGlvbihzdHIpIHsNCgkJCXZhciBpID0g
MCwgbCwgY2hhcnMsIGNoYXIsIHJldCA9IFtdLCBpZHggPSAwOw0KCQkJc3RyID0g
c3RyLnJlcGxhY2UoL1wrL2csJyUyMCcpOw0KCQkJaWYgKHN0ci5zZWFyY2goLyUo
RDB8RDEpKD89JVthLWYwLTldezJ9KS9pKSAhPSAtMSkgew0KCQkJCXN0ciA9IGRl
Y29kZVVSSUNvbXBvbmVudChzdHIpOw0KCQkJCXRoaXMuaWUgPSAndXRmOCc7DQoJ
CQl9IGVsc2Ugew0KCQkJCXN0ciA9IHVuZXNjYXBlKHN0cik7DQoJCQkJdGhpcy5p
ZSA9ICdjcDEyNTEnOw0KCQkJfQ0KCQkJbCA9IHN0ci5sZW5ndGg7DQoJCQl3aGls
ZSAoaSA8IGwpIHsNCgkJCQljaGFyID0gc3RyLmNoYXJDb2RlQXQoaSsrKTsNCgkJ
CQlpZiAodHlwZW9mIHRyYW5zW2NoYXJdICE9PSAndW5kZWZpbmVkJykgew0KCQkJ
CQljaGFyID0gdHJhbnNbY2hhcl07DQoJCQkJfQ0KCQkJCXJldFtpZHgrK10gPSBj
aGFyOw0KCQkJfQ0KCQkJcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHko
bnVsbCwgcmV0KTsNCgkJfTsNCgl9KSgpDQp9LA0Kc2VhcmNoVHJhdmVsbGVyID0g
ZnVuY3Rpb24oKXsNCgl2YXIgU0UgPSB7DQoJCQknbWFpbCc6ICdxJywNCgkJCSdn
b2dvJzogJ3EnLA0KCQkJJ2dvb2dsZSc6ICdxfGFzX3EnLA0KCQkJJ3lhbmRleCc6
ICd0ZXh0JywNCgkJCSdyYW1ibGVyJzogJ3F1ZXJ5Jw0KCQl9LA0KCQlyID0gZG9j
dW1lbnQucmVmZXJyZXIsDQoJCW1hdGNoLA0KCQlkb21haW4sDQoJCXEgPSB7fTsN
Cgl0cnkgew0KCQlpZiAocikgew0KCQkJbWF0Y2ggPSAvXig/Omh0dHA6XC9cLyko
KD86W2EtejAtOVwtXStcLikrKFthLXpdezIsM30pKSg/OlwvW2Etel0rXD8pKFth
LXowLTlcLV9dKz0uKikkL2kuZXhlYyhyKTsNCgkJCWRvbWFpbiA9IChkb21haW4g
PSBtYXRjaFsxXSkuc3Vic3RyaW5nKGRvbWFpbi5zZWFyY2goL1thLXowLTlcLV17
Mix9XC5bYS16XXsyLDN9JC9pKSwgZG9tYWluLmxlbmd0aCAtIG1hdGNoWzJdLmxl
bmd0aCAtIDEpOw0KCQkJcS51cmxlc2NhcGVkID0gbmV3IFJlZ0V4cCgnKD86Jnxe
KSg/Oig/OicgKyBTRVtkb21haW5dICsgJyk9KShbYS16MC05XCVcflxgXCFcXlwq
XChcKVwtX1x7XH1cfFxcIlwnXC5cK10rKSg/OiR8JiknLCAnaScpLmV4ZWMobWF0
Y2hbM10pOw0KCQkJcS51cmxlc2NhcGVkID0gcS51cmxlc2NhcGVkWzFdOw0KCQkJ
cS51bmVzY2FwZWQgPSBVUkwudW5lc2NhcGUocS51cmxlc2NhcGVkKTsNCgkJCXEu
aHRtbGVzY2FwZWQgPSAoZnVuY3Rpb24oc3RyKXsNCgkJCQlyZXR1cm4gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgncCcpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKHN0cikpLnBhcmVudE5vZGUuaW5uZXJIVE1MLnJlcGxhY2UoLyIv
ZywnJnF1b3Q7JykucmVwbGFjZSgvJy9nLCcmIzM5OycpOw0KCQkJfSkocS51bmVz
Y2FwZWQpOw0KCQkJcmV0dXJuIHsNCgkJCQlzZWFyY2hFbmdpbmU6IGRvbWFpbiwN
CgkJCQlxdWVyeTogcS51bmVzY2FwZWQsDQoJCQkJcXVlcnlVUkw6IHEudXJsZXNj
YXBlZCwNCgkJCQlxdWVyeUhUTUw6IHEuaHRtbGVzY2FwZWQsDQoJCQkJaWU6IFVS
TC5pZQ0KCQkJfTsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0K
CX0gY2F0Y2goZSkgew0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KfSwNCnNlYXJjaElu
Zm9ybWVyID0gZnVuY3Rpb24gKHNldHMpIHsNCgl2YXIgbG5rLCBjaGVja1JlZiA9
IHNlYXJjaFRyYXZlbGxlcigpOw0KCWlmICghY2hlY2tSZWYgfHwgIWNoZWNrUmVm
LnF1ZXJ5IHx8ICEoc2V0cy53cmFwcGVyID0gdHlwZW9mKHNldHMud3JhcHBlcikg
PT09ICdzdHJpbmcnID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2V0cy53cmFw
cGVyKSA6IHNldHMud3JhcHBlcikpIHsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCglz
ZXRzLnF1ZXJ5ID0gY2hlY2tSZWYucXVlcnlIVE1MOw0KCXNldHMucXVlcnlVUkwg
PSBjaGVja1JlZi5pZSA9PT0gJ2NwMTI1MScgJiYgY2hlY2tSZWYucXVlcnlVUkwg
fHwgVVJMLmVzY2FwZShjaGVja1JlZi5xdWVyeSk7DQoJc2V0cy50YXJnZXQgPSBz
ZXRzLnRhcmdldCAmJiAndGFyZ2V0PSInK3NldHMudGFyZ2V0KyciJyB8fCAnJzsN
CglzZXRzLnJiID0gKHNldHMucmIgJiYgJ3IubWFpbC5ydS8nK3NldHMucmIrJy8n
KSB8fCAnJzsNCglzZXRzLmZyID0gKHNldHMuZnIgJiYgJyZmcj0nK3NldHMuZnIp
IHx8ICcnOw0KCWxuayA9ICdodHRwOi8vJyArIHNldHMucmIgKyAnZ28ubWFpbC5y
dS9zZWFyY2g/cT0nICsgc2V0cy5xdWVyeVVSTCArIHNldHMuZnI7DQoJc2V0cy53
cmFwcGVyLmlubmVySFRNTCA9ICc8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJp
YWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsiPicrDQonPHRhYmxlIHdpZHRoPSIx
MDAlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+
JysNCic8dHI+JysNCic8dGQgc3R5bGU9IndpZHRoOiA0MnB4OyB2ZXJ0aWNhbC1h
bGlnbjogbWlkZGxlOyI+PGEgJytzZXRzLnRhcmdldCsnIGhyZWY9IicrbG5rKyci
IHRpdGxlPSLP7ujx6uDy/CDiIMjt8uXw7eXy5TogJytzZXRzLnF1ZXJ5KyciPjxp
bWcgc3JjPSJodHRwOi8vZ28ubWFpbC5ydS9pbWcvaW5mX3Byb2plY3RzX2xvdXBl
Mi5qcGciIHdpZHRoPSIzNSIgaGVpZ2h0PSI0OSIgYWx0PSIiIHN0eWxlPSJib3Jk
ZXI6MDsiIC8+PC9hPjwvdGQ+JysNCic8dGQgc3R5bGU9InZlcnRpY2FsLWFsaWdu
OiBtaWRkbGU7Ij48c3BhbiBzdHlsZT0iY29sb3I6ICM1QjU5NTU7IGZvbnQtc2l6
ZTogOTAlOyI+z+7o8erg8vwg4iDI7fLl8O3l8uU6IDwvc3Bhbj48YSAnK3NldHMu
dGFyZ2V0KycgaHJlZj0iJytsbmsrJyIgc3R5bGU9ImNvbG9yOiMwMDA7IGZvbnQt
c2l6ZTogMTAwJTsiPjxiPicrc2V0cy5xdWVyeSsnPC9iPjwvYT48L3RkPicrDQon
PC90cj4nKw0KJzwvdGFibGU+JysNCic8L2Rpdj4nOw0KCXNldHMud3JhcHBlci5z
dHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsNCn07DQoNCnNlYXJjaEluZm9ybWVyKHt3
cmFwcGVyOiAnc2VhcmNoSW5mb3JtZXInLCB0YXJnZXQ6ICdfYmxhbmsnLCByYjog
J2NsbjUwODYnLCBmcjogJ2NvbnRTcmNoJ30pOw0KDQp9KSgpOw0KPC9zY3JpcHQ+
DQoNCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KdmFyIHJi
X2xpbmsgPSAiaHR0cDovL3IubWFpbC5ydS9uNDQ1ODg5NzAiOwp2YXIgcmJfc3dm
ID0gImh0dHA6Ly9ycy5tYWlsLnJ1L2I4ODY2NDY1LnN3ZiI7CnZhciByYl9mdmVy
ID0gIjgiOwp2YXIgcmJfd2lkdGggPSAiMjQwIjsKdmFyIHJiX2hlaWdodCA9ICI0
MDAiOwp2YXIgcmJfZmxhc2ggPSAwOwppZiAobmF2aWdhdG9yLm1pbWVUeXBlcyAm
JiBuYXZpZ2F0b3IubWltZVR5cGVzWyJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1m
bGFzaCJdICkgewogdmFyIHBsdWdpbiA9IG5hdmlnYXRvci5taW1lVHlwZXNbImFw
cGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIl0uZW5hYmxlZFBsdWdpbjsKIGlm
IChwbHVnaW4gJiYgcGFyc2VJbnQocGx1Z2luLmRlc2NyaXB0aW9uLm1hdGNoKC9c
ZCsvKVswXSkgPj0gcmJfZnZlcikKICByYl9mbGFzaCA9IDE7CiB9IGVsc2UgaWYg
KG5hdmlnYXRvci5hcHBOYW1lICYmIG5hdmlnYXRvci5hcHBOYW1lLmluZGV4T2Yo
Ik1pY3Jvc29mdCIpICE9IC0xICYmCiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4
T2YoIldpbmRvd3MiKSAhPSAtMSAmJiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4
T2YoIldpbmRvd3MgMy4xIikgPT0gLTEpIHsKICByYl9mbGFzaCA9IDE7Cn0KaWYg
KHJiX2ZsYXNoKSB7CiBkb2N1bWVudC53cml0ZSgnPHNjcicrJ2lwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvanMvcmJf
Zmxhc2guanMiPjwvc2NyJysnaXB0PicpOwp9IGVsc2UgewogZG9jdW1lbnQud3Jp
dGUoJzxhIGhyZWY9Imh0dHA6Ly9yLm1haWwucnUvbjQ0NTg4OTcwIiB0YXJnZXQ9
Il9ibGFuayI+PGltZyBzcmM9Imh0dHA6Ly9ycy5tYWlsLnJ1L2I4ODY2NDY2Lmpw
ZyIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI0MDAiIGJvcmRlcj0iMCIgYWx0PSIiICAv
PjwvYT4nKTsKfQovLy0tPjwvc2NyaXB0Pgo8bm9zY3JpcHQ+PGEgaHJlZj0iaHR0
cDovL3IubWFpbC5ydS9uNDQ1ODg5NzAiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNy
Yz0iaHR0cDovL3JzLm1haWwucnUvYjg4NjY0NjYuanBnIiB3aWR0aD0iMjQwIiBo
ZWlnaHQ9IjQwMCIgYm9yZGVyPSIwIiBhbHQ9IiIgIC8+PC9hPjwvbm9zY3JpcHQ+
CgoJCQoJCTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYg
Y2xhc3M9ImxpbmVkX2JvdHRvbSI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5y
dS8wLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSIiPjwvZGl2PgoJCQkK
CQkKCTwvZGl2PgoJCjwvZGl2Pgo8aW1nIHNyYz1odHRwOi8vcnMubWFpbC5ydS9k
MjkyMTUyLmdpZj9ybmQ9MTY3NTMwMjQyJnRzPTEyNzk1MTk0Mzcgd2lkdGg9IjEi
IGhlaWdodD0iMSIgYm9yZGVyPSIwIiBhbHQ9IiIgc3R5bGU9InBvc2l0aW9uOmFi
c29sdXRlOyI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCi8vPCFb
Q0RBVEFbDQooZnVuY3Rpb24oKSB7DQoJdmFyIGFkZEhhbmRsZXIgPSBmdW5jdGlv
bihvLCBlLCBmbikgew0KCQlpZiAoby5hZGRFdmVudExpc3RlbmVyKSBvLmFkZEV2
ZW50TGlzdGVuZXIoZSwgZm4sIGZhbHNlKTsNCgkJZWxzZSBpZiAoby5hdHRhY2hF
dmVudCkgby5hdHRhY2hFdmVudCgnb24nICsgZSwgZm4pOw0KCQllbHNlIG9bJ29u
JyArIGVdID0gZm47DQoJfQ0KCWFkZEhhbmRsZXIoZG9jdW1lbnQsICdtb3VzZWRv
d24nLCBmdW5jdGlvbihlKSB7DQoJCWUgPSBlIHx8IHdpbmRvdy5ldmVudDsNCgkJ
ZSA9IGUudGFyZ2V0IHx8IGUuc3JjRWxlbWVudDsNCgkJdmFyIG5hbWU7DQoJCXdo
aWxlIChlLnBhcmVudE5vZGUpIHsNCgkJCWlmICgobmFtZSA9IGUuZ2V0QXR0cmli
dXRlKCduYW1lJykpICYmIChuYW1lID0gbmFtZS50b1N0cmluZygpKSkgew0KCQkJ
CWlmICggbmFtZS5tYXRjaChuZXcgUmVnRXhwKCJeY2woW2JuXVxcZCspIikpICkN
CgkJCQkJZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiSU1HIikuc3JjID0gImh0dHA6
Ly9ycy5tYWlsLnJ1L3MiK1JlZ0V4cC4kMSsiLmdpZj9ybmQ9IiArIE1hdGgucmFu
ZG9tKCkqMUU5Ow0KCQkJCWlmICggbmFtZS5tYXRjaChuZXcgUmVnRXhwKCJeKGdc
XGQrKSIpKSApDQoJCQkJCWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIklNRyIpLnNy
YyA9ICJodHRwOi8vcnMubWFpbC5ydS8iK1JlZ0V4cC4kMSsiLmdpZj9ybmQ9IiAr
IE1hdGgucmFuZG9tKCkqMUU5Ow0KCQkJfQ0KCQkJZSA9IGUucGFyZW50Tm9kZTsN
CgkJfQ0KCQlyZXR1cm4gdHJ1ZTsNCgl9KTsNCn0pKCk7DQovL11dPg0KPC9zY3Jp
cHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKGZ1bmN0aW9uICgp
IHsKICB0cnkgewogICAgICAgICB2YXIgZWxzID0gZ2ViaSgnYmFubmVyX3NvdXJj
ZScpOwogICAgICAgICBpZiAoIWVscykgcmV0dXJuOwogICAgICAgICBlbHMgPSBl
bHMuY2hpbGROb2RlczsKICAgICAgICAgZm9yICh2YXIgaSA9IGVscy5sZW5ndGgg
LSAxOyBpID49IDA7IGktLSkKICAgICAgICAgICAgIGlmIChlbHNbaV0udGFnTmFt
ZSA9PSAnRElWJyAmJiBlbHNbaV0uYXR0cmlidXRlcyAmJiBlbHNbaV0uYXR0cmli
dXRlcy5iYW5uZXIpCiAgICAgICAgICAgICAgICBpZihnZWJpKGVsc1tpXS5hdHRy
aWJ1dGVzLmJhbm5lci52YWx1ZSkpIGdlYmkoZWxzW2ldLmF0dHJpYnV0ZXMuYmFu
bmVyLnZhbHVlKS5hcHBlbmRDaGlsZChlbHNbaV0pOwogIH0gY2F0Y2goZXJyKXt9
Cn0pKCk7Cjwvc2NyaXB0PgoKCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4vLzwhW0NEQVRBWwp0cnl7CnRpbWVJbnRlcnZhbCgnYmFubmVycycpOwp9Y2F0
Y2goZSkge30KLy8tLT48L3NjcmlwdD4KCgo8IS0tIGJsb2dzX2pzX3Rlc3RfYm90
dHRvbSAtLT4KCjwhLS0gL2Jsb2dzX2pzX3Rlc3RfYm90dHRvbSAtLT4KCjxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9pbWczLmltZ3Nt
YWlsLnJ1L21haWwvcnUvaW1hZ2VzL2pzL215anMvbXJpbS1zdGF0dXMyLmpzIj48
L3NjcmlwdD4KCgoKCgoJCgkJCgkJCQkJCQoJCQkJPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbCgkJCQl0cnl7CgkJCQl0aW1lSW50ZXJ2
YWwoJ2pvdXJuYWxfc2tpbicpOwoJCQkJfWNhdGNoKGUpIHt9CgkJCQkvLy0tPjwv
c2NyaXB0PgkJCQoJCQkJCQoJCQoJCgoKCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPi8vPCFbQ0RBVEFbDQp0cnkgew0KDQp0aW1lSW50ZXJ2YWwoJ3Jl
bmRlcmJyb3dzZXInKTsNCnJULmlHZXQgPSAnJzsNCmZvciAodmFyIGkgPSAwOyBp
IDwgclQuaS5sZW5ndGg7IGkrKykgew0KICAgICAgICByVC5jb21tYSA9IHJULmlH
ZXQgIT0gJycgPyAnLCcgOiAnJzsNCiAgICAgICAgdmFyIGJQID0gclQuaVtpXS5z
cGxpdCgnPScpOw0KICAgICAgICBpZiAoYlBbMF0gIT0gJ3JlbmRlcmJyb3dzZXIn
KSB7DQogICAgICAgICAgICAgICAgclQuaUdldCArPSAoclQuY29tbWEgKyBiUFsw
XSArICc6JyArIGJQWzFdKTsNCiAgICAgICAgfSBlbHNlIHJULnJlbmRlcmJyb3dz
ZXIgPSBwYXJzZUludChiUFsxXSk7DQp9DQpyVC5jb21tYSA9ICcnOw0KDQpyVC5p
bWcgPSBuZXcgSW1hZ2UoKTsgclQuaW1nLnNyYz0naHR0cDovL2Jsb2dzLnJhZGFy
LmltZ3NtYWlsLnJ1L3VwZGF0ZT9wPWJsb2dzJnQ9JnY9JyArIHJULnJlbmRlcmJy
b3dzZXIgKyAnJmk9JyArIHJULmlHZXQgKyAnJnJuZD0xNDM3MTgyODEnICsgKGRv
Y3VtZW50LnJlZmVycmVyID8gJyZyPScgKyBlc2NhcGUoZG9jdW1lbnQucmVmZXJy
ZXIpIDogJycpICsgJyc7DQoNCn0gY2F0Y2goZSkge30NCi8vXV0+PC9zY3JpcHQ+
DQoNCiAgICAgICAgCgoKCgo8L2JvZHk+CjwvaHRtbD4KCgo=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/bm_l4.gif
Content-Transfer-Encoding: Base64
R0lGODlhTQAjAPcAADJLLtK7oNzGrrCMaqqFZJqSlNzJskNjiLqfg8Wnh7qZdtC8
ptfAqcWxm7WScK2IZraWd9G5na6KaLWRbp55Wb2cetHetyldnsCfftbAp6qFYsvR
q3Wnbd3HsbKPbMjJo97KtK6Sddbtxsqxl9zIsTlWNRdSlr6efVZ1sq+rr8msjcCh
gMKqkdrDq5p1UqyOcMOjgiJZm0xyRr+5lLuihbSjf7ycfbedgaeGZJhxT8+4nQ1N
ksfdusiqi7OXesSkhGuBrzpmpVF1S7uaeLaUcsWqjbOScdvHr9jDqx4uHJp2VbmZ
ebSUc0xwrsioicaoiDZkpMamhsGnjCQ2IamDYUVsqkZGRqyKadS+pdW8o9C3nM+0
mFN9TKB7WVN0sMKhgL2be7iXdrmWdLOQba2LakNlPmhuZT5opxQeE0NDQ1l3s0ht
Qm+jZ76dfNnyyj1cOLeWc9jvx3ipcXmXcX6td8irjsGigTdUM9rErNnwyNe+pQEB
AVJ8SwNIjZ24kkZqQGCRWGabXipAJ2uhY053SFR/Tda9pUBhO0FjPL2beaCSidvJ
tICGnc+0m7aoha+ZdcSmhY6RpbaYetPjvJ+Ym5lyUZmBcLqljcWoicWoipyOiayG
Y3uLsdvJslxgWa/BpaeBYKKxmMesjo2Xs3CApi9goc3WsGBlXVx5s8C4tKuHZc20
lrSgjqeCXsGigsKjgaqLbKqNa83kv6idl4J/jDtZNsOjg8SlhsOkg6eKZ0lurMew
l8G8l93Js97KtJCWrLqXd1t8VMipismvk9LpxNLBsLCPb7GUctjBqcKmiceniFJz
sNnErGJ4qdrFrqOEYrmcflhbVtnxysuwk7Gfe9bqwrWafdrDq4eSgFp3sdW+p1aD
T4y2hLGNa7/Us721kJ99WtLgurGTdNPkvZuHeLqhib2kirqWdayTcKB9W9G8nqa2
nNO7oneFqdG7pKqJZ1d2slh2s7+efJOgi5elj820mMStkryZeLqwi0xNS6J9Xbmj
kLGXd8epigBGjNrzyyH5BAAAAAAALAAAAABNACMAAAj/AP8JHEiwoMGDCBMqXHiw
jEBuDCNKnDjRz5xgQtAA4oPIn8ePIEOKHAkyRqkDM/JQXDlQjsAyJGPKBGnCCylo
TNCFY7mSjsApM4OShKKmwIo2Ct5t4DnxjkA5QqOCbKKGla2jibrViMOUYQmBdKSK
jacGU5RXKzC0IYLDVFeFHATeESuV6j4nCW65UjtEgiOVbw0CEFiCblSilHo4eQLJ
lh0MYIzgsBC4YNx/HAwLNQGvXR0ViqPYeqU2DIFv0ioLHPwPgGahF5ZFYgFaWF4Y
K+RVMBZrkuo1Ate8DrqjCpBZRT4LU5bgxxfdYnDwchN4kMBBw2X2CYIqxYIGl8wl
/8vULwEkXGrvXYnG4y0hgYSyx4yhZpQBEh2OuNtV7gYNO1E4d0IFaaRBD3U8XZaZ
fCNVoUYqvvTSSwcC4IGMDvYg4MMSbcjTRoFpnCILT0kIlASDI8GjxiIRGkAhM0hk
YEgAjUhhzQsgFmhFKAhOVOI/J6IYkhpq9NIihddcowcWEWixxQhF5AiiGcRQxIZA
bAg5pBqd3EdChTEawo46Tg4jipQF5rMORYcIdIiWIHmhRjFHHOHMNTFikUUEOqwy
TREIoGlGexQJIpAgcH4UhBopJIkEA3pkwU4E9QAqDixkkAGiFfPw9NU/hSXqjwnx
cKINA1iwE8AIUtwQwjFGOP8AhwMeFOiJN0yx5pqo/lzgxS8NsECDD/xAEIYC5xAx
xhgSpJMGNiJ0Bdw/wvFaHBCKSLJEIkMoAAcRtA5AhQu5fBJYIQIVwut22RRgAxj3
hDGrBwNI8EAXLtQQbWCBCBQIr/QxMgQwYhAxwRj1qgKKC+B8oNo/bwj0Bq9nqKHJ
t7R2Yy8BXeTwyDgP//OHxLzKGUK4G7fighIz9KjaHiSLioIaxmj8gCoc55ALZSEL
JINAf/DqIDk3bzJuJfhw1TOWAu3B6wVq0GK0Pjk8s9TSA3Hhs7W6NGMJBRTUUA3W
BGn9T5a8mnDGAdQ4THbZApn99twWCSGDRhzVMsXcfBsM9PM/2/QtuEC1+BwQADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/top_menu_center_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhjgAxAPcAAHCXa3GXbGeQYmuTZnWacHmedXqedmyUaG+WamyUZ3abcnuf
d2iRY3idc2+Wa3KYbW2VaHufdn2geGCLW3OZb3iddH+ie2eQY2WPYH2heXygeGaP
YWWOYGKMXViFU2ONXl2IWGONXWGMXIKkfn6hemSOX0d4QYCjfFaDUDxbN1qGVUh5
QoGjfVuHVV+KWlyIV1SCTkdrQWmRZF6JWEluQzNNLzVRMUBhO0FjPE11RztZNjlW
NEt7RV6JWVN9TD9gOkVpQEx0Rk18RzBILFR/TU94SUNmPleEUk53SGCSWFyNVU9+
SU95SSg8JT5eOVB6SluHVj9fOlmHUjpXNUxzRipAJ09+SlWBTiY5I1F/Sx8vHYSm
gFmFUyg9JVWDUDJMLiU4Ikp6RCtBKFN+TC9GK2+jZy5FKmifYFuLVDxaN2acXjhV
NGSYXEJlPTJLLjFKLRQeE36td2qgYg0TDFOBTWWaXRsoGW2iZRciFYWxfjZSMi9H
KxspGVJ8S3ipcRklF1yMVQsQClaDT0lvQyxDKViGUWOXW3CkaEtyRXurdBUfE0Ro
P059SFmGVIWngVKATFeEUVSCT0x8Rh4tHEpwRFKATXSacHecc3abcW6VaXGYbWqS
ZXOZbtrzywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAACOADEAAAj/ADsJHEiwoMGDCBMqXMiw
ocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKEFKUeLjTZwUSmgw+RJzZo4b
fYrcACIISQwjSX5IqVPoBhFDY5I8GaJHEQ0cNnJQuUOEiA0cMbCkCJRnzR5EKdi4
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
AlLLBYLLvfzO8BzP8jzP9FzP9nzP+JzPEhEQADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/top_menu_left_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhDQAxAOYAADpXNT1cOFJ8S2CRWG+jZ0htQkFjPHmXcZ24knSacGqSZVN9
TFt8VFF2SiU4IjNNL0pwRHWnbR4tHFR/TTdUM36tdzhVNB0sG3ipcW+WanabcYmw
f5iwjk53SGuhY0ZqQJe1jG6VaUBhO2abXgEBASpAJ2OBXHSmbDBILBUfEyg9JR8v
HUtyRUxzRlFzS1uHVVJwS1N+TGeQYlaDT2CHWG+Wa4y2hENlPkxyRmaPYUJlPXKY
bVZ9TztZNnabchMdEiM0IFeDT2yUaBUfFHGYbXmedYKkflJ5S3WacDVQMWeQY3ec
c2WOYGuTZkdnQW2VaNrzywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAANADEAAAfxgFCCg4SFhoeGIIiEG4uD
NIKKiE6CjQgHDA0pAwIGAA4QEiqISYIwizqCNoWXmT+cnogYgjeLFYJAL4gUghgK
iACCFb+HEYIURYgPggAJiMZQERnKgg8+iAWCBc6HHoIeO4gdgh1IiCeCJxqIK4Ir
04cXghfrhwSCBE2IIoIiT4glBJWogciCIAshEKEQhIIINm1LEE0QNIGboRGCRhAz
FEBQABmIPnhkgoiERyWIWAj6kNCeIBI5EC0QxEKITHxGEMUQNFPQJRc4hsD6BAFR
C0EzFvUQdLSVpqGgRCHiISjIIhOCjiziIAirIyhcvwoKBAA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/top_menu_right_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhDQAxAOYAADJMLmuhY0htQiM0IG+jZ1h5UWGTWU51SDNNLzBILHqedjhV
NCpAJ2iKYFR/TXWnbX2heTpXNR0sG5KviEFjPB8vHSg9JTZSMktyRXSmbE18Rz1c
OGBxWZiwjmabXkZqQGGOWQEBAVN+TEBhO5e1jDdUM3ipcXGYbXecc053SG2VaFZ9
T1N9TFuHVnKYbTxaN1qGUlmHUluLVFJwS2WOYEt7RUxzRmKMXWaMXnubc0FhPDZR
MnCZaImwf3SacHmedTtZNjtYNmOBXG6VaX2geIizgE9+SXCXa0JkPWOXW2WPYFaD
T1mFU3ygeFaAUHWacFiFUzVRMX6td2+UZ9rzywAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAANADEAAAf5gFQkVISFhoQ9h4pUU4SD
i1QzhDyQVEWETpU7hDqQAAYDBzIFDRwThwOEUZUmhEieFxQWn6EgBYYlhK2LKBGE
UpAKD4S5vAiEvotHAoTDi0MBhMeLUM7Mi0zT0YtK19uKKtvfhycphOaLTxmE64sK
FYTwixAShPXzBIT57iOE/YsuGBASuMjHAkIHF91IQIjhIg3XCCrS4AAhpBoVqThU
ZMQDoWuKWmwglFERjQ+EPC46EYLQyEU/MBBCuYjIvpaLmrAgJBOSCH2QkrwAEGsW
qAO2GlCxQegnJCCElng6GoOUqUMrCAWpJIQQjEodCOGoVCgHWUJhFwUCADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/tm_first_item_left_uns.gif
Content-Transfer-Encoding: Base64
R0lGODlhCgAUAIABAE11RwAAACH5BAEAAAEALAAAAAAKABQAAAINDI6py+0Po5y0
2otdAQA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/tm_items_nosel.gif
Content-Transfer-Encoding: Base64
R0lGODlhGAAUAIABAE11RwAAACH5BAEAAAEALAAAAAAYABQAAAIqBIKpYe2/1Jsw
MopPzHlzvHxdIo5XSSFot7Jt+sIxNNN1c955vc99fCkAADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/tm_items_right_sel.gif
Content-Transfer-Encoding: Base64
R0lGODlhGAAUAJECAE11R////wAAAAAAACH5BAEAAAIALAAAAAAYABQAAAI8BISp
Eu0fzFkJ2igpulAazT3et4TOSFYmhior224r6skmXb94pu9Hv2PMfMIbEYgrhny/
YRBJU3KY0ksBADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/tm_last_item_right_sel.gif
Content-Transfer-Encoding: Base64
R0lGODlhGAAUAIABAP///wAAACH5BAEAAAEALAAAAAAYABQAAAIyBIKpy2HX4npQ
Slotw1kn3nlgaI1kZJ5b6jmp+r2wK5eycd14oz98v1MAfcJhkGZMFAAAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/left_block_top_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhAQEQAOYAAEhtQjVRMTxbNzJMLkdrQUFjPDlWNEx0RjZSMkBhO0luQzNN
L094SSg8JVB6SklvQ011R1yMVVR/TUVpQEZqQDtZNjhVNEJlPS5FKmacXlWBTjpX
NTJLLjFKLTBILENmPlyNVU95ST9gOk53SC9GK1J8S0tyRT5eOVuLVGifYCY5Ixon
GERoP0xzRiIzH1N9TB8vHWCSWCxDKRQeE2qgYliGUVN+TGOXWyg9JXipcTxaNypA
Jz9fOhsoGStBKBUfE2SYXHSmbHKlakpwRA0TDFeEUDdUM1mIUhspGWmgYRciFVaD
T1qJUz1cOAsQCiU3Ih4uHG2iZVmHUnCkaG+jZ6vJpmWaXS9HK36tdxklFw4UDXur
dIu1hRwqGoWxfjRPMCU4In2sdhMdEmCRWCk+JhgkFtrzywAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABARAAAAf/gGaCg4SFhoeIiYqLjI2O
j5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7nR1Y
AiAKIQPBwxAJJQwJE0sjBB8xIlJWNQkSNzYxDh4IPwoFARAtURISAQUEKgJOXhZX
JgJAHAYLEzw7GQVZBAYFFwY4IDQ4QGPBARgwThDBkKOCAwUCXiTQ8CDEggoEUFBR
AOZDhR0QJmyYEaHFFhEClDAw0IBBhRNIWCzoISIACRk+eGx4ESCFhxEaVHg4MEVH
ByAEClhwcMRCExMNfHSggOBAECY5MEBhMOIDhycaJoCY0aBKDwMDBDwYAIAEgQsP
/ySwJRFkAIcMCLTQCFBCRo0kJQBYuKEDBQAGERp0cYEARwAuNhAYifBjwZcDKQAI
GUKBQgYXGIo8WHGBRYIIDgBscLAi8+bOn0OPLs2rtu3buHPr3s27t+/fwIMLH068
uPHjyJMrX77cFzBhxKAfS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+A
AwseTLiw4cOIEytezLix48eQI5V0UkortfRSTDPVdFNOO/X0U1BDFXVUUks19VRU
U1V1VVZbdfVVWGOVdVZaa7X1Vlxz1XVXXnv19VdggxV2WGKLNfZYZJNVdplrnHkG
mmikmYaaaqyVMYYKZJwQhgsJBRCBggEtiGFEIAA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/left_block_lt_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAAQANUAADpXNVJ8SzVQMR4tHEpwRDNNLyU4Ip24kkFjPCg9JX6td1mH
UmCRWCM0IFyNVXWnbXipcTdUM5e1jFN9TBUfE3mXcVR/TVF2Somwf0VoQEdnQVt8
VGCHWISxfTtZNlJ7TNrzywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAAZMQJBwSCwah5KjEqM8cozJ
o8b4UXaMFqXAKDhUNhcKI4AAGAiDxMIxUTaM7yPEOD8qjPdjxLg/Aox/Rw9Gg0cF
RocgBxkeY2VnaWsTQQA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/left_block_rt_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAAQANUAADpXNTNNL36td5e1jFB6SiM0IDdUM3WnbTVQMXipcThVNDxa
N0FjPEhtQj9fOmCHWCk+JkxzRjJMLlJ7TFR/TUtyRUJkPVWBTn2sdj5eOYSxfXKl
alyMVWCRWImwfxgkFkJlPUdnQUBhO0x0RhonGD1cOCY5I9rzywAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAAZRwJNwSCyeBsak0KNMPozI
ZMg4UWqMFCXCuE2KOIQGgED6dEyQDKbCOBWM72TCOE8KjPekwbhPAox/SQdGg0kB
RodJIxcRJRIAGwogDhYLCkNBADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/left_block_left_bg.gif
Content-Transfer-Encoding: Base64
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
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/left_block_right_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAB/AsQAAG+jZ1N9TEhtQipAJzBILDhVNFR/TWabXkZqQD1cOAEBAVaD
T0tyRVN+TB0sGx8vHXSmbEBhO0xzRjtZNliFUU53SGuhYzNNL9rzywAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQAH8CAAX/4IWNpEiewjmm6mi1b4tV
LS1DLS4/LS87LaAM0CLKIi2kbNBiygotqIzQospYKBnG0OLKDi2wLNEiyxAttEzR
YssYLfiwqA207DL8Sa9qtPwyCy2CMhIthjITLYoyFC2ONzlaPieUKkInmCpGJ5wq
SiegKk4npCpSJ6gqViesKlgksCdes1piJ7cqZie7KmonvypuJ8MqcifHm3R5d3XN
MoAn0SqEJ9UqiCfZKjon3SqWI+EkmiPlJJ4j6SSiI+0kpiPxJKoj9SSuI/mxLbIk
tP9shdHSa0RBEsFGJCRRbERDEslGRES37NkeZyr4SPuj5doIjyS2jRBJgtEJk9wk
/+3ooeXcOXUVPyXRMm+evSha9u1b0U8LwBE/SeQaMZTEwYMK02h5+FBiHC3r1o3Q
iIHqVIt9OAYapOXbCK8kxo0zFwRqzFAzlzTRcu+evipa/PkD2kWgiqIGy2hZuNBh
Gy0TJ8JUxiwjzbVPcE6Be6WnjKBBiQ4co/eM0jV/3zydQxjr1cIXoWnlSk0LSZIj
UKbWAulE65SwWYJrWZZzJy3v3slDrDhVTsaOszyu+2VyZV57L2cmBnjzWQxSq3om
QdUqhmkjsJMACXLkoa4qZVeifclsZ5noecNj23sV8FfBVUC2i4vgcV/KhS035vz8
4OnWVaeFdtp9RNp32GihGv8GC34V3mwQ1paJebcdkZZ6uyV2ym/uNQbfcPLRJ5R9
uiSHH2b6acafbRSBRh1GoY1GQoEYcAdebBGGRd6ELP6XHjuHjcLehot1GB9PINZS
3F0kImfZifv5pZaQGvpWZCtxHRlQiEvWR1mJTwKzVJQQ9VfhmYalCeCAMlpzYIJw
LiJnI4/c6M0k4pWn53PR5RZkKUNa+d5bHgpHnJLGjfilk/klhSJzKiJDYYtruvhZ
m9d19KY2CD7o4Eo58iiqf9DhdiGVgFZJD4dYFspPklsmKtmiRpko5qMMNbcinzC+
aKl0omW1VWmFdKrCgg1iABZY4uQ5Klk9lmrhj6lWS6T/oEbik+WHh8bK5Lf35RUm
QmOmaCYGgkmLZoy+VoopjTZGguN4oZIjIal9nmpthu3ddKW2riLZLV1dKhouBkhh
wFe5kJ6bblS9Xqpmu8JuNKybxcZ57Jx1qvDavhjYhEFbrAKs5VxbDGzwyozWOq6j
ZDaF7rk+1kyxxOziPCOmBhJrrHeJcOxxx54qi2e90D5L6dJoUbseqteu+i+hJ/uk
8qxeHpzwwrhK6fCkNusc4HTZ8VzjpiH9TMKyR9N7b9L4muo0v0/3O3LJVHP7qsqR
YVAUXggfDDO5XWMgc2BgqzuxzmKzWbHP25mm9moby3snqG7vaW+0+c4dMoZSY9vq
/+h6C8wlouCy7HLLt7Zubq6Rlsl5xMC6+3jZF0du+dpt6/jD20wr3vTwUNMt+t1T
Y7ATBnL9WXfU/g6q/LaGnu5t1qqLyzrhrjcM+9ez/zr24jvfrjvGaqPGoNCuET2v
0Zj7DvxLwtfvjr7PGx/6/qTnXb3pqCOYrPzWpNVBiXuv89quZMcr8dHOOgTSFOQ4
pbHLWbBeY8GASxLXOeKBTGQkS97ymgcrAaYOa2Da3uBW+L0WSmqB67Jf7W5GQwia
LV7pUxD7ePe+ZiFNg8CzWQeBNCWQRY9/Jkvi/5hnNethD4Xb21qjXGg4Xb2wgbbL
2QwtxsUJnm13n3IWBjK4wf/w4U83nyseEt0yvWwtEWU1CRQS/dfGqpUwZQWDogG1
d0AWKvCPDAxkDKMjIAcGq4voO18FMaA+ZLHGfRcMIwZ3tDksOg2NcVTVEftXx9Ix
8Y59+1sB+dg9hTGMik6BYfAISbYtuhJ3iFRkz3IIRviJkYxBrN8Q71fE/K0Rb518
YxMDqDrAHcVWCPQeIFN5xbgZMovli+UsZZm2RVLuJHbi4S0pCbdBOk9/m0Se9Eao
JROas5ijDNzLTFm4w9FMlw+M5yGj6cXuMHJy66sc2uzJtvj5cH4clJsHfQlCu9GR
nJ48ZygHSEp1TrEvVUygIGdmRvKNT4uwpGcip0nBjr53j1ljFGM3gVjRgWISdOFk
o06otzcn4nGAxhQcO0sJSHeqUojyhGZGd0pNe55Gh/r8aO/+qbmR4nRaA9VfQaGn
xGC2FIDXe+kJCUirhrIQog+xzkRotA57UgWkVMmgdugHkuisA43vENk82HiP5e0D
Zf7oW1AAFwIAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/left_block_lb_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAAQAMQAADtZNjpXNVyNVUpwRFiFUZiwjlZ9TyU4Im+jZ1N+TAEBAVJ8
S0FjPJ24kmOBXB4tHCg9JVmHUktyRWCRWExzRkVoQFt8VFaDTxUfE0ZqQFF2SnmX
cVN9TNrzywAAAAAAACH5BAAAAAAALAAAAAAQABAAAAVJYLNZGjYtTHAMDxQJXCfP
ckbLyj3nt6TLvhvi1xneYj8kTXnUJYjP20XWqABOqVXrxaRRdABi+EYglm8GYvrm
ILZvBWKcSL+FAAA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/left_block_bottom_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhAQEQAOYAAEhtQjVRMTxbNzJMLkdrQUFjPDlWNEx0RjZSMkBhO0luQzNN
L094SSg8JVB6SklvQ011R1yMVVR/TUVpQEZqQDtZNjhVNEJlPS5FKmacXlWBTjpX
NTJLLjFKLTBILENmPlyNVU95ST9gOk53SC9GK1J8S0tyRT5eOVuLVGifYCY5Ixon
GERoP0xzRiIzH1N9TB8vHWCSWCxDKRQeE2qgYliGUVN+TGOXWyg9JXipcTxaNypA
Jz9fOhsoGStBKBUfE2SYXHSmbHKlakpwRA0TDFeEUDdUM1mIUhspGWmgYRciFVaD
T1qJUz1cOAsQCiU3Ih4uHG2iZVmHUnCkaG+jZ6vJpmWaXS9HK36tdxklFw4UDXur
dIu1hRwqGoWxfjRPMCU4In2sdhMdEmCRWCk+JhgkFtrzywAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABARAAAAf/gB1YAiAKIQOFhxAJJQwJ
E0sjBB8xIlJWNQkSNzYxDh4IPwoFARAtURISAQUEKgJOXhZXJgJAHAYLEzw7GQVZ
BAYFFwY4EA0HNAsHMDAnRBg5FQ4KAi8JGg8hCxUEKFQKYB8VOxATGzMRLVsiAkoM
Bg0MFSdILAs9IgEkMj48Gy8BUngYoUGFhwNTdHQAQqCABQdHLDQx0cBHBwoIDgRh
kgMDFAYjPnB4omECiBkNqvQwMEDAgwEASBC48EACTBJBBnDIgEALjQAlZNRIUgKA
hRs6UABgEKFBFxcIcATgYgOBkQg/Fnw5kAKAkCEUKGRwgaHIgxUXWCSI4ADABgcr
/7p+DTu27Nm0ZvLq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr
3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLpiyIkCFEtxc1ehRpUqVLmTZ1+hRq
VKlTqVa1ehVrVq1buXb1+hVsWLFjyZY1exZtWrVr2bZ1+xZuXLlz6da1exdvXr17
+fb1+xdwYMGDCRc2fBhxYsWLGW3U0UchjVTSSSmt1NJLMc1U00057dTTT0ENVdRR
SS3V1FNRTVXVVVltJRdYYpFlFlpqseUWXGWMoQIZJ4RhQgFEoGBAC2IYMduOPPbo
449ABinkkEQWaeSRSCap5AuSTDbp5JNQRhllIAA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/left_block_rb_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAAQANUAAFN9TEtyRUxzRjtZNmOBXFZ9TzhVND1cOJiwjkZqQAEBAW+j
ZzpXNViFUVB6SiY5IxonGHKlalyMVVWBTlaDT1N+TEx0RkBhO0htQj5eOWCRWEJk
PRgkFjxaNzJMLik+Jn2sdkJlPUFjPD9fOtrzywAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAAZUwIvEgWE4IBzN45MBBUSk
A2lKTVCvJCtWgaVysYHuNIxdiElmLOC8VrO7lbNlIjh4GBFDaLTpGKgUXQJng1gD
Z4dYDWeLWAVnj1gEZ5NYCGeXZ11BADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/passport_top_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlh9wADANUAAFR/TVmIUl2OVmifYFmHUmqgYmCSWGacXmWaXVaDT3CkaFyN
VWmgYVB6SmOXW3ipcFJ8S1WBTnOma3WnbU11R094SXmqck95SUx0Rm6jZm+jZ3Kl
alN+TG2iZUluQ4Gveneob0tyRU53SHurdExzRoKve4CueXysdUhtQmuhY1iGUWGT
WV+QV1uLVGSYXFN9TFeEUFaCT2abXmKVWlyMVWedX2OWW2CRWFqJUwAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAD3AAMAAAb/QEhNFrvBaoGZLTGh4XAq
RGuiotEMikdLlQrcXgnaYYBDzF6EyM1QmS1wFoDkUWnhZLWBrcaSGWgxAjcEKhQs
Ejc2MDEsFgIxMhECFy0xBRg2My02NwwwAC8rCjV7AQYrMgcpdxkxLjcBEhouMTgK
Ly84GjRnBTUrNTgPAwksDCorMIkvNKEzKzMwDSkwAxQPNgcQYBOkFwkKCgIjAwsq
BQY4LL80LgUwFh0QFA4pnSksAQfFBxsONQAuXLDRgYUNFwAMuLAQIMA4GSoagABA
QkINGg0ASEFQIEaKEC5cIGCh4gYOGwxWEbhBo8aGAh1gzJCAIwVEGjcOwKDRgoA6
/wwZFhDgIKJCvn8dNGFsEGPACgLRFhi50ckGARc2ULQYoOLUmxsJBrjYVICqigk2
Noh4ZUKTzTIzTkrBCiOFigMHLt6IgWBADAMNPgAQQsQIEiVMnECRQsUKFi1cvIAR
Q8YMGjVs3MCRQ8cOHj18/AASRMgQIkWMHEGSRMkSJk2cPIESRQrJqVSrZLR6FWtW
rVu5dvX6FWxYsWNoKrhw8MwFDAENXtgwUGDCgQAXdMcF4CJCJggbnghggSNCDH82
FGA4ICCFAAEtNBCAEQEYDRkrBIQAQAGEDAcDEDDABmw8MEgCLrzAxQR4tODCAjAs
EIAHO7E3yAMAwFAAAi0tAJhBDJ8IUEIkAiAAgE8JEJCBIC5QgMAKLKTgQAMy4JdC
DRDAYAMLB3DwhA00BHBCDB7Yw8IA+CDxggwAzOACBzR8UEMNBDRgg1Q2xMELDSwo
EMAxHHBRAA0paJAhCRgA9swKBRQABQUQsLCCVDHMQAEANiBwwAovMMBACxi4E9YL
DkCEgxUxrDBAJQrcUEAAL2TgwgwGtOBAEAA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/bloger_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhZACoAOYAAG+Wam6VaW2UaGuSZmqRZWyTZ2mQZGeOYmiPY16GWWCIW2aN
YWWMYGCHWmKKXWSLXmSMX2GIW2iQY2GJXF+GWV+HWl2EV2ePYmOKXV6FWGOKXmeO
YWKJXGaNYGaOYWSLX1qCVVyEV1yDVl2FWGWNYGOLXluDVmuSZVuCVWWMX1mBVFiA
UlR8TlZ+UFmAU2uTZliAU2mRZG6WaVd/UW6VaGqRZE11R1mBU1d/UmmQY22UZ1d+
UWqSZWGIXGiPYlqCVFN7TVqBVFB4SmyTZmyUZ2KJXVZ+UVJ6TFV9T1yEVlZ9UFh/
Uk93SVV8T1uDVVJ6TVV9UE52SFF5S1R8T1N7Tk92SVF4S1N6TVJ5TFR7Tk93Strz
y1F5THCXawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABkAKgAAAf/gF2CAQEAAAEyRAUChACC
j5CQAQICBwgvAQWCAoskGAKHAZGjXYWkp6ipFhmlW5OTlAUDAwYxBAQXHQkXPQ8H
JBUVCkk9ESEfDgRDXQIVDSIrGSJIQisaGzkbDwsFATSOqRAOqaOiXQACLzE5Ag43
KgdZOKXmqOCRCAcwEZmnQExOQlSwECJDiRIRnokwMcKCCYYgVlCIcIGAIBpdLiSw
8MBHCgwYGBxYMIEBBAYbtFn44UHDAEgAQLAAcYACEkkRBsRAEOMUAA8TNtwTdGhQ
FwMXGpjAEUEBCAoIEAyVMSDDCWYjHUSAAcKIFShBgDTggMIEiBE7WKxo4CDBhAQo
/0IEmTJjQwYYJLqcoHAEiAkUHHbYmPDoJ4cPDBxsG1CDEgENERAMUGZgAy0MJC5M
QALjRoMaXXS9SCFhgy4QBBWswDHBAgIJEsQVodDg0QENBgxYsKDhwoMLMU7kwNBA
wQ8f2yYkcbKjBZIdR/ruCOHCRAsbLWp30SHohQMXT4CEaAHkSBArGRQ43DEihIgk
JiqEMCHiwwMFRljsgMtkhoMREDwwQRMmsPDDAwkQJ80MCizwwQFdaHCDCBBooMko
6mWwggsfJJCAEQ5oAAIDCSz4AwQBiMBBAzZokAMkDRyhQgkCeMCBAAswwMACFrAg
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
Qr7tAsACJjTwUuq1Ci+wAO/ZDf/zQK/ugQAAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/passport_left_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhAwASAdUAAGmgYVuLVFN9TFiGUVR/TWKVWlyNVWabXlWBTmifYFaCT2uh
Y22iZWWaXWqgYmacXlB6Sk11R3Oma3CkaG6jZk94SXWnbW+jZ3KlakxzRk53SHip
cHmqclJ8S3eob0tyRU95SUx0Rn6td3SmbH2sdnipcXysdXurdElvQ0luQ1aDT1mI
UmOXW1eEUFyMVWedX1N+TF+QV1mHUl2OVmCSWGGTWWSYXGCRWFqJU2OWWwAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAADABIBAAb/wNhNVVNFaBFHo1YROF6E
HIwwkyVwBpzMpiDVcoXAxLJQsZyEGu7iWr1aM2nLsMJBXARByGZbxSo1DAw0LTct
LTkuLzYPLDUeKwU1NhQTLxE5NZEDbg0FOBIyAQozBo4sNgE5ADcCOAIHEB4ENwkQ
CGAAAAMcAzQ2AC0BM8ILIgcwKw8UGBwEEgs4B6wCMAMLNhY2FS8wcQg2HTUHSwsr
OTcINDUtNScZCGkDCQroMwAcCWcxMPQOBR0IHLgR4wEoKUMMqMhkQwCLBgYKNMiR
Q4WJa5dyVLghI0QcF/QI/JohwIYBhSwMzJih4kaOEYRUvHhxg8aFGBpIWOGXY4YE
/w80AkSAAQAHCxUNVrRgMeBGgBcHFABgsCDBAxo0WCBYAaBAqAAFDsi4h2GDCggs
YFD4oMCCjA0ErKn4wOdAjQVOoARwgUPIAgI4XBwgsIIFxQSQxgyI4aADYwKIClTA
cQNHDpMzcIBQQJSvDRxqKKiQkSHBixkBcAxQMYOCgBwPbqwA4QLGgwlLGawY0OAG
uQQ1grrw5IJnABltVhhwwQ3HAwM5kDlg0CKGhBs1XgxynkHFBoIBNACYcIMBBlDA
ZFBhYO1Chg8zYvziQFGGt8oIAASNgGECgBkKTFANBDjMEEEGWoWxwAxERcDFAHKR
gsMGCTDwgAtMwZADBBDMsf+CAyAQwEICNiRAgxka2ADBAAjEkIM6DTwgQTcsLMCA
ADVAIIMINRjglAJcHHCBChfI0AINN0hgwAAOFIgDAi8UhYACKRrwQg0u8CXAeU8u
hAADvsWgVQUPRECBDAXEcEACAtzAggw50DDBBQLI5EIBAhRgg4YvJLCEEDdMkMEG
MlBQQwwjFHCHbx3Y8IIAEBjCwgHV7XUcDis0QIAMOFCgAA1f3jCAXSoEQIMBCNyw
wABXuSCDDA4kUMACEQgwgQElXEIBMTF0gIIMNTjwag4pyLACAxbUoAAGjgADzA0Y
5vDGCr8cgohNApBBQAwzIFAbASHQAMECMSgnHgYIsBYVgydBWXBAlMwpEAMHdUiw
1wAtDBIEADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/lined_h_line.gif
Content-Transfer-Encoding: Base64
R0lGODlh+wABAOYAACxekTRvrCBEaSpajBs6WTFpoi1glSlXhyFHbSROeDl6vCpa
ixMpPzZ0szVxry5ilx09Xh4/YS9kmzNtqRgyTTNtqDt+wi9kmiJIbzBnoB9CZitc
jxw7WyVPeitcji9lnSJJcB5AYzRvqxw8XB5BZBEjNh0+X0WFxyxekiZRfiVPexg0
UDVysSRNdyBFajVxrhAiNCdTgSdTgB9DZxk1UjJrpjBnny1glBUtRSlXhjFpoxo4
Vjp8vzh4uhEkNylYiQ8fME2LyjJrpUqJyTZ0tE6Lyjp8wAwYJQIEBjyAxVCMyhcw
Smmd0i5imA4eLkeHyEGDxhQqQVaQzBgzTw0bKjl6vRs5WDh4uQcPFwQHC3qo1z6B
xTt/xCFGbDd2t1OOy4Cs2SRMdSNKciNLcyhVgyhVhAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAD7AAEAAAf/gGQFVQMNMSMKFWIjYwtQ
DFEuNyAESAIvHQoDSQkLY2EoP2RbLQFAHksXAjJWYmU5ARZCG0EDAmQOBDIdD00m
IwEPOxZFBTBhDSchDTQpAl8eHmIcZE4GOGUUGwc6FFQSYiQFERwfUikvJRNMGBIY
YxkBImErEQ4AOj4IWAoNNjEryPygcSEMjwoJMGhwYcJCmTABTngxAgHAEBAKaoRo
caAChDBjNCAgc4SLCg0UYPgg0+WCCB4oxCRgwGAHiwEzAEBQUQZCmTJEHsz4YCDL
GBYkFmzogOAABwc2xBi48iqEkhtPSnw4oAXAmB41EBQAAOJBhjESDEToQWLCBBEJ
DMoQyJBrAQMwU3AEAgA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/lined_v_line.gif
Content-Transfer-Encoding: Base64
R0lGODlhAQDkAOYAAC9kmgwaKB5BZDZ0sxs5WBYuRylYiSNKchw7WzNtqSpajC5i
ly9kmxgyTSRMdSJIbzNtqBcwSjJrpSZRfhcxSzl6vS1glRMpPyVPeyhVgyROeChV
hCJJcFCMyilXhh0+XzVxrxo4VhIlORQrQh09XjBnoCFHbTZ0tB5AYydTgRUtRTyA
xRo3VRQqQUKDxiBFahs6WTRvqyBEaSZRfUGDxitcjjRvrCtcjy5imEeHyDFpojp8
vzt+wiRNdzBnnxMoPhYvSDd2twkTHV+Wz1aQzAsWImab0TJrpk6Lyi1glDVxrkuJ
yUqJyU2LyiFGbD6BxQ0cKylXhyxekkSFxxUsRDh4uRk2UzVysQ4dLRImOiVPejd2
tkiHyCNLcx4/YRg0UHuo1ypai1WQzDFpoxw8XB9DZx9CZidTgC9lnQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABAOQAAAfvgGcNKl9mDiZEECIWB0lc
DAICTgs7Wj81ZxsfACBmYj4EODJjP2YHGzQEGBEQHGYMIWgDBE8hLxUnFEoKYCIV
aD0jGygTA2cACDwdZSZoLVEMLx4SOQkPXhklExYAK0JQGhQFICQqCRIwGQVlFUU6
DTthNS4wMQFAOAsNHywxMjYLkBigQIAEBwcYliSIYGSFjwwGPGzjkeKBggIHqtCw
gqDJqhtZLlwYcGOLjTILugTAooEDAAMKBEhAcIUKgwBSWgiY0aMMmRkIRhgLcEKD
mRJTClxAEQQNGgUQOjgYcuAMmgRMWBwxoKOiixxlAgEAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/lined_block_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhMAAeAPcAAPz9/Pz8+/v8++7x7brJuOvv6vn7+dzk27vKuNnh163Aq/P2
8+vw6+Dn35+0m8nVx+3x7NDbz+/z7vr7+qe7pKy/qdni2NHbz6S5odri2b/OvcLQ
wNPd0qm8ps3ZzK/BrMvWyaO4oL7NvNLc0JuymLTFspivlfD08LnJt9/m3sXSw7zL
usvXyuft5qK3n6C1nbfHtbjItePp4rbHtL3Mu5Sskaa6o52zmd3k3Pn6+bXGs/j6
+M3Yy/f59pauk+nu6PX39O7y7rvLueTq4+zw7Nfg1s7ZzLHCrsTSwqq9p+jt58PQ
wbLDr+Lp4eLo4ff598TRwpGpjXuZd4iihPL18tvj2urv6cfUxfDz75CpjOHo4MHP
v5Orj5Krjv39/aW5oqG2nn2aeeXr5Ku+qL/NvcLPwLTFsZqxl52zmmyNZ4ahgbjI
tubs5cbTxNXf1Ki8puTq5IijhN7m3Yulh4GdfPX39enu6Y2niZivlK/Brfb49sjU
xnyZd9Lc0bPEsJeuk2eJYpyymfT287LDsGGFXNTd0q7Aq4eig/7+/v///wAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAwAB4AAAj/ABM9QPQjSaJEIQIkUpDo
AI1EhuwcnEiRIgQdBQ5eIJCnQMYICM5sSCTgII8MAgId7FAlEQIiiUgkqlOyos2D
IAhggHBQQoUpCBINwHGDghQDiRgUSeTgiUsWiRbAdDLgpk1EE39Q+MBj4gEHaGQw
SHSCS5qDJRv0SJRABUWsVisigpsIEY4SPhJMOCgnigIYBxnQnRjkQNzDdW2CcAEG
y8EBMkJ8gEJhMOLLFMUMmQjhDx4hFC90oIO5NMUAI2occDKRhoIwDXIc9NLEtO2D
GXS8gQNg4hUSLizcfmsawIUIMURMZNNlThIJwwFYvkyl0KEHSw8u0UAoxG1ECkuH
/yd5QMiKFhMNjPneG/OODUdIHmxC4sWM4ZenC0KEIKcH2YkooUYMHOBn1XRwIWJA
AjAwUQF6iYwggg1GGHgTXXPZ5McKWTQwQiJDvHCDhbZBd1AKKpQww3RxZWggABqg
sNdBShDABwcZIQbeeMMBsYAPARhRgB4HLfDAF5gh0h5+TAxCVgEKbLADibcJMMEa
eyAwAAARHIAET1Ta9oQGLCAhVCIVkNFAmKYZMIANGERgRSJbxFeRdGxOBMBaE3mA
QgciGKCFiwcRyuYCHBCQAkVmYGACEAGwmOdBFjxgQhBIFVoDIIZOapMbDjjgAUUJ
kChpXBIQQEEZfXh6WwIZxBWxRBuduhqXBXd8UNWpttWKGAMTBAQAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/lider_fon.gif
Content-Transfer-Encoding: Base64
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
1rv+9bCPPd6DAAA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/message_left_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhBgCtAMQAAHCjZ1R9TCtAJwEBAUdqQD5cODlVNExyRUFhOyAvHUltQh4s
G2ibXlV/TTBILFeDT1R+THWmbE1zRjtZNlmFUdrzywAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAGAK0AAAX5YCWKxSgSZjWkRwqkAZxC
6ZNK6ZRSaZQmqYUrhUgJUoaUI6VINVKMVMmEMq1MLdPLFOPOarfeLzg0FU1HU9K0
NDVNT1PUNB1VR9dRdrQddf1fJjYmOCY6Jj4mQCZCWkRGSEpMTlBSKXcieSJ7In0i
f5+BI4MjiSOLI418j2iRbJNwlXSXKZoVnBWeFaAVaSNrI20jbyNxI3MjdSe1LGWA
XiY0gmGGO2KKZI5mkGqSbpRyllTMWM6h0CPSo9SlY4zmFWcjviLAIsIixCKoIqqd
rPNcBYNVTFYyWlbAHRNnh5weeLx4qRNBSkShEYfaYXunbYQ8EfQqGAgBADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/message_date_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhoAAcAOYAAEJjPDRNL0puQ1V/TUFhOz1bN0hrQTpXNU51RzlWNDZRMTtZ
NjBILFF5SSAvHVB4SU10Rl6NVUBgOitAJ1R9TEZpQE93SCY5I2WYXDNMLnanbVqH
Uj9eOUltQlJ6SkNlPTJKLUBfOnqpcVaBTik9JSk8JWGSWFN8S3CjZ3+tdyU4Ik1z
RjlVNERmPoaxfg0TDFR7TF6MVS1DKVR+TGeaXW+iZRklF0xyRVJ2SlmGUUtwRC9H
KxsoGWSXW12LVAsQCpe1jEVoP524kh8tHHqXcRwpGWicXjZQMRUeEyxBKDxaN22h
Y2ygYnGkaH2rdFeDTxciFR4sG1x8VHWmbGqfYDdSMi5FKi9GKzhUMzNLLkpvQxUf
EyM0IBYfE9rzywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAACgABwAAAf/gF6Cg4SFhoeIiYqLjI2O
j5CRjECSlZaXmJmajDCbnp+goZoDoqWmp6dHqKusrZEfrrGys15ctLe4oiK5vL2X
Kb7BwodCRFI4XVgnAAcqOkMkGxEUICkFEQINGdjaCAQnDwQVTxYGLSYSGzQ5BAM9
MyYeDFVbAgAKCCs1AwMKAAYXCvxwwWLHjQIYsiQIUCHEBCMAbBhIAOBDAhIISkBg
EgCCAwccXlgRscCDgAIUCIzQ0iDAAgM+UAhQ0WLBBAQVDiCJscKJhAJQHiQo8WAB
hyJBAvCQoOCKjCQhDlBQQIWBhREXGEBoogQEBgMADB0YRrbsIA1m0woLoLYtL7Ru
PuPOYiu3bqsOdvOiWqK3rygLfgN7miK4MCYHhhNLiqK4sSMUjiMrIiC5sqEJljML
YqE5M4POlvGClkxqtOFAADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/nota.gif
Content-Transfer-Encoding: Base64
R0lGODlhUAEuAPcAADJKLUltQtHrwqTDmVaCTrPQpmeMXzlVNMrlvLbSqWOUWnue
cp++lICid36gdcXgt2WKXdTuxlF4StfwyBsoGXSma1uBVJ28klJ5TExyRW2hY1qA
Uy1EKZW1ij5cOE1zRluCVFV8T2eaXVh+UVR7TlZ9UJOziFV/TWOIWyk8JTdRMkFh
O0NkPTxaN1qIUkdqQF6NVVmFUWibXjpXNSQ1IVB4SSEwHkpvQ3qpcY21hQEBAVF7
S0RmPkVoPytAJw0TDBEZEHGVaZ6+k2iNYGSJXKbFmmuQY6jHnGqPYm6SZm+TZ6nH
nWaLXqnInaLBl6LBlm6TZmmOYZCxhqXEmrrWrW2RZaPCmG2SZbzYr8fiudnzynaa
bqjGnM7owH2fdHCVaGWLXnmdcHOXaqrJnpu7kH+hdsLdtHmccHSYa3WZbXOXa2yR
ZKfGm2CGWbHOpcjjurnWrJq6j67LosHcs7vXrl+FWH2gdHWZbHicb2+UZ3CUaL/b
sl6EV4ipfqzKoHGWabLPpb7asbnVrFmAUnibb3qdcbLPpn+idnyfc4epfYWnfHaa
bb3ZsKrIno+whVl/UrjVq092SWGHWqzJoLXSqMTftnKWak51SIKkeaHAlqPCl7fU
qqfFm7rXrXSYbMDcs8bhuMnku12DVpe3jHqecbDNpMHdtLTRp4iqfoqsgMLetYGj
eImqf9nyyrTRqKvJn9Ptxa3KoYeofaDAlYSme42ug7jUq4utgZ+/lJW2i6/No4yt
grHOpIqrgMPetYOledfxyJ69k4mrf63LobbTqa7Moq/Mo4KkeHebbpm5jpKyh6XE
mYaofI6vhGOJXDVPMIWne1R9TFZ9T83ov9TuxYSmeszmvs/qwVB3SoOles/pwZi4
jUJjPE93Sdbwx9PtxMznvk93SMPfttjyyXCjZ5y7kdLsxE52SJa2i8vmvT9eOZS0
idXvxousgc3nv5O0iVN8S2CQV5y8kYiygNHrw3iob87pwJGyh2GNWYGreVN9TFJ6
SmugYV2LVE11R9rzyyH5BAAAAAAALAAAAABQAS4AAAj/AP8JHEiwoMGBsCIcJKhF
YEMtDx0KFLBQ4IRv/x5ClNhw4MaMHv99A1axpMmTKFOqXMmypcuXMGPKnFlwkL+b
OHPq3LlzVkVkPIMKxemAptGjSJMqXcq06cIQQ6PuHFBxi9SrN7043cq1q9evYEuS
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
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/message_right_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhBQCRAMQAAFR9THCjZytAJzlVNEltQkdqQD5cOFV/TTBILCAvHR4sG2ib
XgEBAUFhO1R+THWmbExyRVeDT01zRjtZNlmFUdrzywAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAFAJEAAAXCIFCNlUg6ZBWlUvqkSaqk
QdqkQjqkSEqkh9QiZUgVUowUhJYyjZwVFGlFapEmLpiMSbqRcqQdqUf6kYKkIalI
OpKSpCWpRoJCpSPq6EWKkWZzNjg6PD5AQkRGSEpcT4NhhWWHaYlti3GNJU0peCos
KVgkFFl9W4FdjyNiI2QjZiNoI2ojbCNuI3AjciN0jnWcKXoVVntaf5leI2Cqka7G
I4C8gl+EY4ZniGuKb5OylbaXupl2wFOfV6QjftDIqRWrFSEAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/message_bottom_bg.gif
Content-Transfer-Encoding: Base64
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
iEykIhfJyEY68pGQjKQkIxkQADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/message_b_l_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhBgAOAMQAAFV/TQEBAUdqQHWmbD5cOHCjZ1R+TDBILEltQmibXkxyRVeD
T524khYfE1R9TFJ2Slx8VHqXcdrzywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAGAA4AAAUfIBNBT3NIKIqkKMBKyUuI
ZCO8wau8xev4L8Nr8RqEAAA7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/themes/409/message_b_r_bg.gif
Content-Transfer-Encoding: Base64
R0lGODlhBQAOAMQAAFV/TUltQjJKLUhrQTBILGibXleDT2WYXHWmbG+iZXCjZ1R+
TAEBAUdqQDxaN0JjPD5cODpXNUxyRVR9TNrzywAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAFAA4AAAUeICEcwxNQKAWkVMFCbJNM
kcOwEquwE88uLAMLwQoBADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=409.css
Content-Type: text/css; charset=windows-1251; name=409.css
Content-Location: http://img.mail.ru/mail/ru/css/blogs/409.css?10
Content-Transfer-Encoding: 8bit
body {
background: #DAF3CB;
font-family: Arial, Tahoma;
font-size: 12px;
}
table {
font-family: Arial, Tahoma;
font-size: 12px;
}
a {
text-decoration: underline;
color: #0857A6;
}
p, form {
margin:0;
padding:0;
}
img {
border:0;
}
a:hover {
text-decoration: none;
}
h1 {
margin: 2px 12px 10px 0px;
font-family: Arial;
font-size: 16px;
color: #003073;
}
div.line {
clear: both;
height: 1px;
line-height: 1px;
font-size: 1px;
}
.png {
//background-image: none ! important;
behavior: url('http://img.mail.ru/r/blogs/pngfix.htc');
}
#body_bg {
}
#body_div {
}
#body_bg img.left_corner {
position: absolute;
left: 0; top: 0;
}
#body_left_bg {
position: relative;
}
#main_table {
width: 100%;
}
#bottom_space {
height: 25px;
}
/* body shift */
td.left_top_shift img {
width: 21px;
}
td.left_bottom_shift {
width: 19px;
}
td.right_top_shift img {
width: 10px;
}
td.right_bottom_shift {
width: 12px;
}
/* top menu */
#top_menu {
margin:12px 0 0 0px;
}
#top_menu td {
vertical-align: middle;
}
#top_menu #blog_mail {
width: 25%;
}
#logos {
margin-top: 2px;
width: 100%; height: 35px;
}
#logos tr {
vertical-align: top;
}
#logos_left {
width: 1px;
}
#logos_left div {
width: 1px;
height: 28px;
background: #00468C;
}
#logos_center div.logos_bg {
padding-left: 11px;
height: 30px;
background: #00468C;
}
#logos_center div img {
margin-top: 3px;
}
#logos_center div {
height: 30px;
background: #00468C;
}
#logos_right {
width: 77px;
height: 35px;
}
#logos_right img {
background: url(http://img.mail.ru/r/blogs/themes/409/bm_l4.gif) no-repeat left top;
}
#top_menu #left_bg {
background: url(http://img.mail.ru/r/blogs/themes/409/top_menu_center_bg.gif) repeat-x 0 1px;
width: 13px;
}
#top_menu #left_bg div {
position: relative;
top: 1px; left: -12px;
width: 13px; height: 47px;
background: url(http://img.mail.ru/r/blogs/themes/409/top_menu_left_bg.gif) no-repeat 100% -2px;
z-index: 5;
}
#top_menu #left_bg img.png {
position: absolute;
top: 12px;
}
.menu_bg {
}
#top_menu #menu_items {
position: relative;
top: 1px;
width: 100%; height: 49px;
background: url(http://img.mail.ru/r/blogs/themes/409/top_menu_center_bg.gif) repeat-x 0px -1px;
}
#top_menu #menu_items table {
position: relative;
top: 5px;
width: 100%;
}
#top_menu #right_bg div {
position: relative;
width: 13px;
}
#top_menu #right_bg div img {
position: absolute;
top: -24px;
left: -1px;
width: 13px; height: 49px;
background: url(http://img.mail.ru/r/blogs/themes/409/top_menu_right_bg.gif) no-repeat left top;
}
#top_menu #menu_items td {
height: 20px;
}
#top_menu #menu_items td.menu_items {
padding-right: 13px;
}
#top_menu #menu_items td.fl_sel {
width: 10px;
background: url(http://img.mail.ru/r/blogs/themes/409/tm_first_item_left_sel.gif) no-repeat right bottom;
}
#top_menu #menu_items td.fl_unsel {
width: 10px;
background: url(http://img.mail.ru/r/blogs/themes/409/tm_first_item_left_uns.gif) no-repeat left bottom;
}
#top_menu #menu_items td.c_sel {
padding: 0 6px 0 5px;
font-weight: bold;
text-align: center;
background: #FFFFFF;
}
#top_menu #menu_items td.c_sel a {
color: #4D7547;
text-decoration: none;
}
#top_menu #menu_items td.c_sel a:hover {
text-decoration: underline;
}
#top_menu #menu_items td.c_unsel {
padding: 0 6px 0 5px;
background: #4D7547;
text-align: center;
color: #FFFFFF;
}
#top_menu #menu_items td.c_unsel a {
text-decoration: none;
color: #FFFFFF;
}
#top_menu #menu_items td.c_unsel a:hover {
text-decoration: underline;
}
#top_menu #menu_items td.r_sel {
width: 24px;
background: url(http://img.mail.ru/r/blogs/themes/409/tm_items_left_sel.gif) left bottom;
}
#top_menu #menu_items td.r_nosel {
width: 24px;
background: url(http://img.mail.ru/r/blogs/themes/409/tm_items_nosel.gif) left bottom;
}
#top_menu #menu_items td.r_unsel {
width: 24px;
background: url(http://img.mail.ru/r/blogs/themes/409/tm_items_right_sel.gif) left bottom;
}
#top_menu #menu_items td.lr_unsel {
width: 24px;
background: url(http://img.mail.ru/r/blogs/themes/409/tm_last_item_right_unsel.gif) left bottom;
}
#top_menu #menu_items td.lr_sel {
width: 24px;
background: url(http://img.mail.ru/r/blogs/themes/409/tm_last_item_right_sel.gif) left bottom;
}
#menu_items #login {
padding-right: 7px;
vertical-align: middle;
width: 35%;
font-family: Tahoma;
color: #000;
text-align: right;
}
#menu_items #exit {
vertical-align: middle;
}
#menu_items td input {
width: 44px;
font-size: 11px;
color: #000;
}
#part_links {
position: relative;
top: -6px;
width: 100%; height: 23px;
}
#part_links a {
margin: 0 5px 0 3px;
}
#part_links img {
position: relative;
top: 5px;
left: 5px;
}
#part_links td {
vertical-align: middle;
}
#part_links input, #part_links select {
position: relative;
top: 3px;
}
#part_links input {
margin-right: 2px;
width: 122px;
}
#part_links select {
margin-top: 1px;
width: 139px;
}
#part_links #send {
margin-left: 1px;
width: 37px; height: 19px;
font-size: 12px;
}
#part_links td p {
padding-top: 4px;
}
#part_links td.help {
padding-top: 4px;
width: 69px;
}
/*left_block*/
#left_block {
position: relative;
margin-top: 4px;
background: #DAF3CB;
}
#left_block td {
vertical-align: top;
}
#left_block #left_block_top_elements {
background: url(http://img.mail.ru/r/blogs/themes/409/left_block_top_bg.gif) repeat-x left top;
}
#left_block #left_block_top_elements .left_element {
width: 16px; height: 16px;
background: url(http://img.mail.ru/r/blogs/themes/409/left_block_lt_bg.gif) no-repeat left top;
}
#left_block #left_block_top_elements .right_element {
background: url(http://img.mail.ru/r/blogs/themes/409/left_block_rt_bg.gif) no-repeat right top;
}
#left_block #left_block_content td.left_element {
width: 16px;
background: url(http://img.mail.ru/r/blogs/themes/409/left_block_left_bg.gif) repeat-y left top;
}
#left_block #left_block_content td.left_element img {
width: 16px;
}
#left_block #left_block_content td.center {
padding: 2px;
}
#left_block #left_block_content td.right_element {
width: 16px;
background: url(http://img.mail.ru/r/blogs/themes/409/left_block_right_bg.gif) repeat-y right top;
}
#left_block #left_block_content td.right_element img {
width: 16px;
}
#left_block #left_block_bottom_elements .left_element {
width: 16px; height: 16px;
background: url(http://img.mail.ru/r/blogs/themes/409/left_block_lb_bg.gif) no-repeat left bottom;
}
#left_block #left_block_bottom_elements {
background: url(http://img.mail.ru/r/blogs/themes/409/left_block_bottom_bg.gif) repeat-x left bottom;
}
#left_block #left_block_bottom_elements .right_element {
background: url(http://img.mail.ru/r/blogs/themes/409/left_block_rb_bg.gif) no-repeat right bottom;
}
#left_block .center .bloger_top_element {
overflow: hidden;
position: relative;
height: 3px;
margin: 0 1px 0 1px;
background: url(http://img.mail.ru/r/blogs/themes/409/passport_top_bg.gif) repeat-x left top;
}
#left_block .center .bloger_bottom_element {
overflow: hidden;
position: relative;
height: 3px;
margin: -2px 1px 0 1px;
background: url(http://img.mail.ru/r/blogs/themes/409/passport_top_bg.gif) repeat-x left top;
}
#left_block #bloger_grad {
margin-top: -2px;
width: 100%;
background: #70976B url(http://img.mail.ru/r/blogs/themes/409/bloger_bg.gif) no-repeat right top;
}
#left_block #bloger a{
color: #FFFFFF;
}
#left_block #bloger {
background: url(http://img.mail.ru/r/blogs/themes/409/passport_left_bg.gif) repeat-y right top;
}
#left_block #bloger div.right_bg {
background: url(http://img.mail.ru/r/blogs/themes/409/passport_left_bg.gif) repeat-y left top;
}
#left_block #bloger .right_bg .bloger_content .bottom_bg {
padding: 4px 15px 10px 15px;
}
#left_block #bloger .right_bg .bloger_content .bottom_bg #pasport_top_images, #pasport_bottom_images {
overflow: hidden;
position: absolute;
height: 1px;
}
#left_block #bloger .bloger_content #user_status {
width: 223px;
padding: 2px 0 12px 0;
}
#left_block #bloger .bloger_content #user_status .right_corner {
position: absolute;
}
#left_block #bloger .bloger_content #user_status a {
margin: 0 3px 0 2px;
font-family: Arial;
font-weight: bold;
font-size: 16px;
}
#left_block #bloger .bloger_content #user_status span {
position: relative;
top: 1px;
}
#left_block #avatar div {
background: #79A9F3;
}
#left_block #avatar div img {
margin: 5px;
}
#left_block #bloger_pages p {
padding-bottom: 1px;
}
#left_block #bloger_pages p a.active , #user_services p a.active {
font-weight: bold;
}
#left_block #bloger_pages p img, #user_services p img {
position: relative;
top: 2px;
margin-right: 5px;
}
#left_block #user_services {
margin: 14px 0 3px 0;
border-top: 1px solid #4F6B4C;
}
#left_block #user_services td {
padding-top: 9px;
}
#left_block #user_services td p {
padding-bottom: 1px;
}
div.lined_top {
margin: 10px 1px 0 1px;
height: 1px;
background: url(http://img.mail.ru/r/blogs/themes/409/lined_h_line.gif) repeat-x;
}
div.lined_bottom {
margin: 0px 1px 0 1px;
height: 1px;
background: url(http://img.mail.ru/r/blogs/themes/409/lined_h_line.gif) repeat-x;
}
div.lined_block {
background: #fff url(http://img.mail.ru/r/blogs/themes/409/lined_v_line.gif) repeat-y left top;
}
div.lined_block div.lined_block_in {
background: url(http://img.mail.ru/r/blogs/themes/409/lined_v_line.gif) repeat-y right top;
padding-left:1px;
padding-right:1px;
}
#calendar {
height: 100%;
margin: 0px 1px 0px 1px;
background: #FFFFFF url(http://img.mail.ru/r/blogs/themes/409/lined_block_bg.gif) no-repeat right top;
padding: 4px 0 10px 10px;
}
#calendar a {
text-decoration: none;
font-size: 14px;
font-weight: bold;
color: #4D7547;
}
#calendar a:hover {
text-decoration: underline;
}
#calendar img {
margin: 0 8px 0 0;
position: relative;
top: 4px;
}
#search_in_blog {
height: 100%;
margin: 0px 1px 0px 1px;
background: #FFFFFF url(http://img.mail.ru/r/blogs/themes/409/lined_block_bg.gif) no-repeat right top;
padding: 5px 10px 12px 10px;
}
#search_in_blog p {
font-size: 14px;
font-weight: bold;
color: #4D7547;
padding: 1px 0 4px 0;
}
div.lider_top {
margin: 10px 1px 0 1px;
height: 1px;
background: url(http://img.mail.ru/r/blogs/themes/409/lined_h_line.gif) repeat-x;
}
div.lider_out {
padding-left: 1px;
background: url(http://img.mail.ru/r/blogs/themes/409/lined_v_line.gif) repeat-y left top;
}
#lider_blog {
height: 100%;
padding-right: 1px;
background: url(http://img.mail.ru/r/blogs/themes/409/lined_v_line.gif) repeat-y right top;
}
#lider_blog div.lider_in {
padding: 7px 0 0 10px;
background: #fff url(http://img.mail.ru/r/lider_fon.gif) no-repeat left top;
}
#lider_blog a {
color: #0857A6;
}
#lider_blog a.title {
font-size: 14px;
font-weight: bold;
}
#lider_blogers {
padding: 5px 0 15px 0;
}
#lider_blog td table {
width: 106px; height: 106px;
margin-right: 5px;
text-align: center;
font-size: 1px;
}
#lider_blog td table th.left {
height: 8px;
}
#lider_blog td table th.center {
height: 8px;
}
#lider_blog td table th.right {
height: 8px;
}
#lider_blog td table td.b_left {
text-align: right;
vertical-align: bottom;
}
#lider_blog td table td.b_left div {
width: 8px; height: 8px;
}
#lider_blog td table td.b_center {
}
#lider_blog td table td.b_right {
vertical-align: bottom;
}
#lider_blog td table td.b_right div {
width: 8px; height: 8px;
}
#lider_blog table.status {
position: relative;
top: 2px;
width: 85%; height: 20px;
}
#lider_blog table.status th {
text-align:left;
}
#lider_blog table.status th a.active {
color: #F26D00;
}
#lider_blog table.status td {
padding-top: 1px;
vertical-align: middle;
width: 15px;
}
#lider_blog table.status th img {
position: relative;
top: 2px;
}
#lider_blog table.lider_info {
margin: 8px 20px 12px 15px;
color: #000000;
}
p.rate {
font-family: Tahoma;
font-size: 11px;
}
#lider_blog span {
font-weight: bold;
}
#lider_blog a.reserve {
font-family: Tahoma;
font-size: 11px;
font-weight: bold;
color: #D30000;
}
div.lider_bottom {
margin: 0px 1px 0 1px;
height: 1px;
background: url(http://img.mail.ru/r/blogs/themes/409/lined_h_line.gif) repeat-x left bottom;
}
#center_space {
width: 1%;
}
/*right_block*/
#right_block {
width: 100%;
margin-top: 7px;
font-family: Arial;
color: #000000;
}
#right_block .main_text {
padding: 0 12px 0 5px;
}
#right_block div.lister {
margin: 12px 12px 9px 5px;
text-align: right;
font-family: Tahoma;
font-size: 11px;
color: #0857A6;
}
#right_block div.lister_bottom {
margin: 21px 12px 10px 5px;
text-align: right;
font-family: Tahoma;
font-size: 11px;
color: #0857A6;
}
#right_block div.lister span, #right_block div.lister_bottom span {
padding: 0 16px 0 16px;
}
#right_block div.message {
margin: 0 8px 8px 0;
position: relative;
background: #DAF3CB url(http://img.mail.ru/r/blogs/themes/409/message_left_bg.gif) repeat-y left top;
color: #2A3743;
}
#right_block div.message div.date {
height: 16px;
background: #DAF3CB url(http://img.mail.ru/r/blogs/themes/409/message_date_bg.gif) no-repeat left top;
font-family: Tahoma;
font-size: 11px;
color: #557650;
padding-top:12px;
padding-left: 10px;
border-bottom:1px solid #557F4D;
}
#right_block div.message div.date span {
color: #557650;
}
#right_block div.message a {
color: #557650;
}
#right_block div.message div.date p {
padding: 0 0 4px 11px;
}
#right_block div.message strong.bloger {
position: relative;
}
#right_block div.message strong.bloger img {
position: relative;
top: 2px;
}
#right_block div.message strong.bloger a {
font-family: Arial;
font-weight: bold;
color: #0857A6;
}
#right_block div.message h1 {
padding: 3px 0 9px 0;
}
#right_block div.message div.clips {
width: 336px;
height: 46px;
float: right;
position: absolute;
top: 12px;
right: 8px;
background: url(http://img.mail.ru/r/blogs/themes/409/nota.gif) no-repeat right top;
}
#right_block div.message div.clips[class] {
right: 0px;
}
#right_block div.message div.top_bg {
position: absolute;
top: 28px; left: 0;
width: 100%; height: 10px;
background: url(http://img.mail.ru/r/blogs/themes/409/h_line.gif) repeat-x left top;
}
#right_block div.message div.text {
padding-top: 8px;
background: url(http://img.mail.ru/r/blogs/themes/409/message_right_bg.gif) repeat-y right top;
color: #000000;
padding-left:15px;
}
#right_block div.message div.text p, #right_block div.message div.text h1, #right_block div.message div.text strong {
margin: 0;
}
#right_block div.message .text p.read_next img {
background: url(http://img.mail.ru/r/blogs/themes/409/arrow.gif) no-repeat left top;
}
#right_block div.message .text p.read_next {
color: 0857A6;
}
#right_block div.message .text a, #right_block div.message .text p.read_next a {
text-decoration: none;
color: #0857A6;
}
#right_block div.message .text a, #right_block div.message .text p.read_next a:hover {
text-decoration: underline;
}
#right_block div.message p.comments {
padding: 10px 0 3px 0;
}
#right_block div.message p.comments a{
color: #0857A6;
}
#right_block div.message p.comments img {
position: relative;
top: 6px;
margin-left: 13px;
}
#right_block div.message div.bottom_bg {
height: 14px;
background: url(http://img.mail.ru/r/blogs/themes/409/message_bottom_bg.gif) repeat-x left top;
margin-left:-15px;
margin-right:-10px;
}
#right_block div.message div.bottom_bg div {
height: 14px;
background: url(http://img.mail.ru/r/blogs/themes/409/message_b_l_bg.gif) no-repeat left top;
}
#right_block div.message div.bottom_bg div img {
float: right;
position: relative;
width: 5px; height: 14px;
background: url(http://img.mail.ru/r/blogs/themes/409/message_b_r_bg.gif) no-repeat right top;
}
#right_block div.message div.bottom_bg[class] div img {
right: -3px;
}
#right_block div.message div.bottom_bg[class] div img {
right: 0px;
}
#right_block div.message div.message_min_width {
width: 530px;
font-size: 1px;
height: 10px;
}
.comment_bg_color {background: #daf3cb}
.comment_title_color {color: #003073}
.gr_sm {padding-left:10px; padding-right:10px;}
div.text {padding-left:10px; padding-right:10px;}
div.cont_div2,div.cont_div{border:1px solid #DADCE5;}
#comment_text {border:1px solid #A5ACB2;}
img.avatar2 {
border:5px solid #79A9F3;
}
#search_in_blog h2 {
margin:0;
}
#act_duel {
background:transparent url(http://img.mail.ru/r/blogs/themes/409/lined_block_bg.gif) no-repeat scroll right top;
}
#act_duel .time_left {
}
#act_duel .grade {
}
#act_duel .act_duel_header {
color:#4D7547;
}
#act_duel .duel_name a{
}
/* fix top head for FF3 */
#logos_right img {
height:34px;
}
#top_menu td#right_bg {
vertical-align:top;
}
#top_menu #right_bg div img {
top:1px;
}
#top_menu #menu_items td.menu_items {
vertical-align:bottom;
padding-bottom:15px;
}
.smsTop11 {
margin-left:0 !important;
}
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=paddmarg_i.css
Content-Type: text/css; charset=windows-1251; name=paddmarg_i.css
Content-Location: http://img.mail.ru/mail/ru/css/paddmarg_i.css?1
Content-Transfer-Encoding: 8bit
.p0 {padding:0 !important;}
.p1 {padding:1px !important;}
.p2 {padding:2px !important;}
.p3 {padding:3px !important;}
.p4 {padding:4px !important;}
.p5 {padding:5px !important;}
.p10 {padding:10px !important;}
.p15 {padding:15px !important;}
.p20 {padding:20px !important;}
.pl0 {padding-left:0 !important;}
.pl1 {padding-left:1px !important;}
.pl2 {padding-left:2px !important;}
.pl3 {padding-left:3px !important;}
.pl4 {padding-left:4px !important;}
.pl5 {padding-left:5px !important;}
.pl10 {padding-left:10px !important;}
.pl15 {padding-left:15px !important;}
.pl20 {padding-left:20px !important;}
.pr0 {padding-right:0 !important;}
.pr1 {padding-right:1px !important;}
.pr2 {padding-right:2px !important;}
.pr3 {padding-right:3px !important;}
.pr4 {padding-right:4px !important;}
.pr5 {padding-right:5px !important;}
.pr10 {padding-right:10px !important;}
.pr15 {padding-right:15px !important;}
.pr20 {padding-right:20px !important;}
.pt0 {padding-top:0 !important;}
.pt1 {padding-top:1px !important;}
.pt2 {padding-top:2px !important;}
.pt3 {padding-top:3px !important;}
.pt4 {padding-top:4px !important;}
.pt5 {padding-top:5px !important;}
.pt10 {padding-top:10px !important;}
.pt15 {padding-top:15px !important;}
.pt20 {padding-top:20px !important;}
.pb0 {padding-bottom:0 !important;}
.pb1 {padding-bottom:1px !important;}
.pb2 {padding-bottom:2px !important;}
.pb3 {padding-bottom:3px !important;}
.pb4 {padding-bottom:4px !important;}
.pb5 {padding-bottom:5px !important;}
.pb10 {padding-bottom:10px !important;}
.pb15 {padding-bottom:15px !important;}
.pb20 {padding-bottom:20px !important;}
.m0 {margin:0 !important;}
.m1 {margin:1px !important;}
.m2 {margin:2px !important;}
.m3 {margin:3px !important;}
.m4 {margin:4px !important;}
.m5 {margin:5px !important;}
.m10 {margin:10px !important;}
.m15 {margin:15px !important;}
.m20 {margin:20px !important;}
.ml0 {margin-left:0 !important;}
.ml1 {margin-left:1px !important;}
.ml2 {margin-left:2px !important;}
.ml3 {margin-left:3px !important;}
.ml4 {margin-left:4px !important;}
.ml5 {margin-left:5px !important;}
.ml10 {margin-left:10px !important;}
.ml15 {margin-left:15px !important;}
.ml20 {margin-left:20px !important;}
.mr0 {margin-right:0 !important;}
.mr1 {margin-right:1px !important;}
.mr2 {margin-right:2px !important;}
.mr3 {margin-right:3px !important;}
.mr4 {margin-right:4px !important;}
.mr5 {margin-right:5px !important;}
.mr10 {margin-right:10px !important;}
.mr15 {margin-right:15px !important;}
.mr20 {margin-right:20px !important;}
.mt0 {margin-top:0 !important;}
.mt1 {margin-top:1px !important;}
.mt2 {margin-top:2px !important;}
.mt3 {margin-top:3px !important;}
.mt4 {margin-top:4px !important;}
.mt5 {margin-top:5px !important;}
.mt10 {margin-top:10px !important;}
.mt15 {margin-top:15px !important;}
.mt20 {margin-top:20px !important;}
.mb0 {margin-bottom:0 !important;}
.mb1 {margin-bottom:1px !important;}
.mb2 {margin-bottom:2px !important;}
.mb3 {margin-bottom:3px !important;}
.mb4 {margin-bottom:4px !important;}
.mb5 {margin-bottom:5px !important;}
.mb10 {margin-bottom:10px !important;}
.mb15 {margin-bottom:15px !important;}
.mb20 {margin-bottom:20px !important;}
.pointer {cursor:pointer;}
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=themes.css
Content-Type: text/css; charset=windows-1251; name=themes.css
Content-Location: http://img.mail.ru/mail/ru/css/blogs/themes.css?18
Content-Transfer-Encoding: 8bit
body {
margin:0;
padding:0;
}
wbr:after {content: "\00200B";}
#lider_blog {
background:#FFF url(http://img.mail.ru/r/lider_fon.gif) no-repeat left top;
}
/* Export */
.mf_iSpam {background-position: 0 -280px; padding-left: 15px !important; color: #999; font-size: 11px; font-family: Tahoma;}
.mf_spIco {background-image: url(http://img1.imgsmail.ru/mail/ru/images/my/_sprite_ico.png?3); background-repeat: no-repeat; display: inline; padding: 0 0 4px 20px;}
.icoModer {-moz-background-clip:border;-moz-background-inline-policy:continuous;-moz-background-origin:padding;background:transparent url(http://img2.imgsmail.ru/mail/ru/images/my/icons-people.png) no-repeat scroll 0 -144px;}
i.imgp {cursor:pointer;display:inline-block;font-size:0;height:16px;line-height:0;margin-right:4px;vertical-align:middle;width:16px;}
/*BEGIN_Tables left_nav top_nav*/
table.top_nav{margin:1px 0px 0px 0px}
table.top_nav td{padding:2px 15px 7px 15px}
table.top_nav td.sm2{font-size:70%;font-family:tahoma;padding:4px 0px 0px 15px}
table.top_nav td.no_pad{padding:0px;background-color:#E5EEFF}
table.top_nav td.curr{background-color:#E5EEFF;border-top:1px solid #BED3FE;padding:0px 15px 0px 15px}
table.top_nav td.curr2{background-color:#E5EEFF;border-top:1px solid #BED3FE;border-bottom:1px solid #BED3FE;padding:3px 15px 0px 15px}
table.top_nav td.wh_points{background-image:url("http://img.mail.ru/1.gif");background-repeat:no-repeat;background-position:bottom left;background-color:#BED3FE;padding:0px}
table.dop_menu{border-left:10px solid #E5EEFF;border-right:10px solid #E5EEFF}
table.dop_menu td{background-color:#E5EEFF;font-size:11px;font-family:tahoma;padding:5px 8px 8px 8px}
table.dop_menu td.cur{border-bottom:4px solid #B2CCFF;padding-bottom:0px}
table.dop_menu a{color:#003073}
table.dop_menu td.cur a{font-weight:bold;text-decoration:none;color:#003073}
table.top_nav td.curr a, table.top_nav td.curr2 a{font-weight:bold;text-decoration:none;color:#003073}
table.top_nav td.no_pad2{padding:2px 0px 7px 0px}
table.top_nav td.pad2{padding:2px 5px 7px 5px}
table.top_nav td.curr3{background-color:#E5EEFF;border-top:1px solid #BED3FE;border-bottom:1px solid #BED3FE;padding:0 15px}
table.top_nav td.curr a, table.top_nav td.curr2 a, table.top_nav td.curr3 a{font-weight:bold;text-decoration:none;color:#003073}
table.top_nav td.sider{background:#BED3FE url("http://img.mail.ru/1.gif") no-repeat top left;padding:0;vertical-align:bottom}
/*END_Tables left_nav top_nav*/
.bg_color_white {background-color: #FFFFFF;}
.def-link{color:#0857A6;}
.mb15 {margin-bottom:15px}
.mb10 {margin-bottom:10px}
input.radio {border:0; margin-right: 10px;}
input#lchck1 {border:0;}
table.login_form input.w_100{
margin: 3px 3px 0 0;
}
table.login_form select {
margin-top:2px;
}
/* style for add frend */
h2.sear{color:003073;font-size:120%;margin:0px 0px 2px 0px}
h3{color:003073;font-size:110%;margin:0px}
.t90{font-size:90%}
input.s_100{font-family:arial;font-size:100%}
br.think{line-height:1px}
.contest_invite {width: 470px; padding: 6px; border: solid 1px #34A61E; background: #ECFFE1; margin-top: 20px;float:left;}
.contest_invite IMG.avatar {border: solid 1px #34A61E; margin-right: 10px;}
.contest_invite A {color: #248411 !important; font-weight: bold;}
.contest_invite A:hover {color: #248411 !important;}
#right_block div.message .text td div.rating_block, div.rating_block {border:0; padding:10px;}
#right_block div.message .text td table.voting td, table.voting td {padding:0;}
#right_block div.message .text td table.voting td.rtd, table.voting td.rtd {background-color: #66CC00;font-weight: bold;padding: 1px 3px;}
#right_block div.message .text td table.voting td.rtd a, table.voting td.rtd a {color: #FFFFFF;text-decoration: none;}
#right_block div.message .text td table.voting td.pr30, table.voting td.pr30 {padding-right:30px;}
table.fotoprebord{border:1px solid #003B75}
table.fotoprebord td{padding:5px !important}
table.fotoprebord td.enlarge{padding:0 0 1px 0 !important;background-color:#003B75 !important;font-size:85%;text-align:center}
table.fotoprebord td.enlarge a{color:#FFFFFF !important;font-family:Tahoma !important;}
/*table.fotopre{margin:20px 0 !important;} */
table.fotopre td{padding:0 !important;}
table.fotopre td.enlarge{padding:0 0 2px 0 !important;background-color:#003B75 !important;font-size:85%;text-align:center}
table.fotopre td.enlarge a{color:#FFFFFF !important;font-family:Tahoma !important;}
div.center {text-align:center;}
div.right {text-align:right;}
div.left {text-align:left;}
/* SKINS 2 style */
#left_block #bloger_pages img {
margin-top:2px;
margin-bottom:2px;
}
#left_block #user_services img {
margin-top:2px;
margin-bottom:2px;
}
h2 {
font-size:18px;
}
#left_block #bloger_pages {
padding-left:10px;
width:100%;
}
#left_block #avatar div#larger {
padding-bottom:2px;
font-size:11px;
}
#left_block #avatar div#rep_foto{
font-size:11px;
background:none;
white-space:nowrap;
}
#left_block #avatar table.star_avatar td, table.star_avatar td{
padding:0;
}
#left_block #avatar table.star_avatar td.canvt, table.star_avatar td.canvt{
background:url("http://img.mail.ru/mail/ru/images/blogs/star_border_t_bg.gif") no-repeat;
text-align:right;
}
#left_block #avatar table.star_avatar td.canvl, table.star_avatar td.canvl{
background:url("http://img.mail.ru/mail/ru/images/blogs/star_border_l_bg.gif") no-repeat;
vertical-align:bottom;
}
#left_block #avatar table.star_avatar td.canvr, table.star_avatar td.canvr{
background:url("http://img.mail.ru/mail/ru/images/blogs/star_border_r_bg.gif") no-repeat;
vertical-align:bottom;
}
#left_block #avatar table.star_avatar td.canvb, table.star_avatar td.canvb{
background:url("http://img.mail.ru/mail/ru/images/blogs/star_border_b_bg.gif") no-repeat;
text-align:right;
}
left_block #bloger .bloger_content td.bottom_bg .star-bg {
position:static;
background:url(http://img.mail.ru/mail/ru/images/blogs/themes/star.png) no-repeat 0 0;
background:expression('none');
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.mail.ru/mail/ru/images/blogs/themes/star.png',sizingMethod='crop');
width:100%;
}
left_block #bloger .bloger_content td.bottom_bg .star-bg a {
position:relative;
z-index:2;
}
#left_block #avatar table.star_avatar td#st_avatar {
text-align:center;
}
#left_block #avatar table.star_avatar td#st_avatar span {
font-size:11px;
display:block;
margin:-2px 0 2px 0;
}
#left_block #avatar div {
width:auto;
height:auto;
text-align:center;
}
#left_block #avatar div img {
margin: 5px 5px -1px 5px;
}
.gr_sm, .sm {
font-size:90%;
}
div.popup_div h3 input, div.popup_div #subscribe_span input {
border:none;
}
div.popup_div div input.s_100 {
margin-right:5px;
}
div.cont_div{margin:10px 0px;padding:7px 10px 10px 10px}
div.cont_div table td{padding:3px 0px 3px 0px}
div.cont_div table td.hide {padding:0 0 5px 0;font-size:90%;}
div.cont_div table td.hide input {margin:0px 5px 0px 0px;width:15px;border:0;}
div.cont_div h1{font-size:120%}
div.cont_div h1 span{font-family:tahoma;font-weight:normal;color:#000000}
div.del_min{border:1px solid #000000; position:absolute;padding:10px;background-color:#f3f3f3;}
#left_block #bloger .bloger_content #user_status {
height:auto;
margin-bottom:10px;
}
#groups_checkboxes input {
width:13px;height:13px;
}
#groups_checkboxes span {
display:block;
margin-bottom:5px;
}
#group_selector #groups_checkboxes input, #group_selector h3 input, #group_selector #subscribe_span input {
background:none;
border:none;
}
img.avatar2 {
margin:0px 10px 10px 0px;
}
.favoradd {position: absolute; font-family: arial; z-index: 10000; }
.favoradd div {padding: 5px; border: 1px solid #000; background: #f3f3f3;}
.favoradd span {font-size: 12px;}
.favoradd .ico_context_help {margin: 0 0 -2px 5px;}
.favoradd textarea {display: block; width: 400px; height: 45px; margin: 5px 0 5px 0; font-family: arial; color: #000; font-size: 12px; border:1px solid #999;}
.favoradd input.add {font-weight: bold; color: #333; font-size: 12px;}
.favoradd input.close {color: #333; font-size: 12px;}
.favoradd .ico_close {position: absolute; right: 8px; top: 8px;}
a.lasttags { color: #000; text-decoration:none; border-bottom: thin dashed #000000; }
div.error_div {
position: absolute;
z-index: 10000;
width: 300px;
display: none;
font-size: 11px;
font-family: tahoma;
background: #F5F5F5 url('http://img.mail.ru/mail/ru/images/blogs/cont_error_angle.gif') no-repeat top left;
padding: 3px 3px 8px 10px;
color: #666;
border: 1px solid #F03E3E;
}
/* Ñòèëè äëÿ ÄÈÂ-à ñ userInfo */
.usinfArrow {
position:absolute;
z-index:150;
top:0;
left:0;
width:190px;
border:1px solid #929292;
background-color:#FFF9F2;
font:11px tahoma;
margin:0px;
}
.usinfArrow .userinfo{padding:5px 10px;}
.usinfArrow a {color:#0857A6;text-decoration:underline;}
.usinfArrow a:hover{color:#F26D00;text-decoration:none;}
.usinfArrow a.grey {color:#666666;}
.usinfArrow img.icon {margin:2px 5px 2px 0;}
.usinfArrow img.icon2 {margin:2px 4px 2px 0;}
.usinfArrow .projectName {color:#666666; font-weight:bold; padding:0 0 5px 0px;}
.usinfArrow .line {background-color:#D0D0D0; margin:10px 0;}
.usinfArrow #divForFriendsId, #divForFriendsId a {font-size:11px; font-family:tahoma; color:#5B5B5B;}
.usinfArrow #divForFriendsId input {font:11px tahoma; color:#5B5B5B;}
.usinfArrow .widthCheckBox {padding:0 0 5px 25px;}
.usinfArrow .newGroup {padding:0 0 10px 45px;}
.usinfArrow .forButt {padding:0 0 10px 20px;}
/* Ñòèëè äëÿ ñòðåëîê */
.usermenu_act {background-color:#FFE0A9; padding:0 10px 3px 10px; white-space:nowrap;}
.usermenu_act img {margin-right:2px;}
.usermenu_pas {padding:2px 0 0 0; white-space:nowrap;}
.usermenu_pas img {margin-right:4px;}
div.help_div{
position:absolute;
z-index:10000;
width:300px;
display:none;
font-size:11px;
font-family:tahoma;
background:#F5F5F5 url('http://img.mail.ru/mail/ru/images/blogs/cont_help_angle.gif') no-repeat top left;
padding:3px 3px 8px 10px;
color:#666;
border:1px solid #135EAA;
}
.lider_community {padding: 5px 10px 9px 10px;border-left: 1px solid #E2DEBF;border-right: 1px solid #E2DEBF;}
.ots_in_blog{padding: 5px 0 9px 0;border-left: 1px solid #E2DEBF;border-right: 1px solid #E2DEBF;}
.ots_in_blog_in{padding: 0 5px;text-align:center;}
.ots_in_blog p, .lider_community p {margin-bottom: 4px;font-family: Arial;font-size: 14px;font-weight: bold;color: #E2DEBF;}
.ots_in_blog td, .lider_community td{ font-size: 12px;color: #000000;}
.t_fone{background-image:url('http://img.mail.ru/mail/ru/images/blogs/t_fone.gif');background-position:top left;background-repeat:repeat-x}
.b_fone{background-image:url('http://img.mail.ru/mail/ru/images/blogs/b_fone.gif');background-position:top left;background-repeat:repeat-x}
.l_fone{background-image:url('http://img.mail.ru/mail/ru/images/blogs/l_fone.gif');background-position:top left;background-repeat:repeat-y}
.r_fone{background-image:url('http://img.mail.ru/mail/ru/images/blogs/r_fone.gif');background-position:top left;background-repeat:repeat-y}
.ots_in_blog .title_2,.ots_in_blog h2, .lider_community .title_2, .lider_community h2{color:#0857A6;font-size:14px;}
td.t_4{padding-top:4px}
div.hidden_div {
overflow:hidden;
height:1px;
}
div.popup_div{border:1px solid #000000;background-color:#FFFFFF;font-family:arial;padding:10px;width:182px;margin-top:5px;}
div.popup_div div.chkb{padding:3px 0 5px 21px;font-size:90%;font-family:tahoma}
div.popup_div div.chkb a{display:block;padding:3px 0 3px 23px;}
span.green_c {color:#008702}
span.green_c a{color:#008702}
.vote {font-size: 10px; }
.birthday-bg {
position:static;
background:url(http://img.mail.ru/mail/ru/images/blogs/themes/birth.png) no-repeat right top;
background:expression('none');filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.mail.ru/mail/ru/images/blogs/themes/birth.png',sizingMethod='crop');
width:100%;
}
.birthday-bg a { position:relative;z-index:2; }
.menu_hrline{background-color:#F1C6A4;line-height:1px}
.sms_leadership_rules{padding-left:23px;font-family:Tahoma;font-size:95%;color:#666;line-height:130%}
.smsTop11 {
background:#E5EEFF url(http://img.mail.ru/mail/ru/images/my/info.gif) no-repeat scroll -6px 0;
border:1px solid #BED3FE;
height:52px;
margin:0 0 0 -10px;
position:relative;
}
.smsTop1 {
color:#0A59A8;
line-height:20px;
padding:4px 0 7px 23px;
position:absolute;
width:238px;
}
img.post_img, div.contest_invite {
//position:relative; /* äëÿ ÈÅ */
}
#right_block div.message .text p.comments img.comments_img {position:static;vertical-align:middle;}
.vote_done {
padding: 5px;
text-align: center;
background: #FFF6E4;
font-weight: bold;
color: #FF6600;
font-size: 110%;
}
#tagsearchdiv{font-family:arial; padding: 5px; position:absolute; background-color: white; border: 1px solid black; z-index:10000; }
#tagsearchdiv input { padding:0; margin-right:4px;}
#tagsearchdiv input#tagsearch { padding: 1px 0 2px 0;}
.tg1{text-decoration:none;font-size: 140%}
.tg2{text-decoration:none;font-size: 120%}
.tg3{text-decoration:none;font-size: 100%}
.tg4{text-decoration:none;font-size: 90%}
.tg5{text-decoration:none;font-size: 75%}
a:hover.tg1, a:hover.tg2, a:hover.tg3, a:hover.tg4, a:hover.tg5 {text-decoration: underline;}
span.gr_comm{color:#666A75}
div.complain_form {
background:#FFFFFF none repeat scroll 0%;
border:1px solid #000000;
font-family:arial;
font-size:75%;
height:auto;
left:0px;
padding:5px;
position:absolute;
top:0px;
width:220px;
z-index:100;
}
#capcha_popup {
background-color: #FFF7E9;
color: #666;
font-family: tahoma;
font-size: 11px;
padding-left: 10px;
width: 200px;
border: 1px solid #135EAA;
position: absolute;
visibility: hidden;
z-index: 10001;
}
.capcha {
background-color: #FFF7E9;
color: #666;
font-family: tahoma;
font-size: 11px;
padding-left: 10px;
width: 200px;
border: 1px solid #135EAA;
}
#right_block div.message .text strong {
position: static;
text-align: inherit;
padding-right: inherit;
}
.tipalink {border-bottom:1px dashed #0857A6; color:#0857A6; cursor:pointer; text-decoration:none; position:relative; margin-bottom:3px;}
.smile {cursor:pointer;}
#allsmileys{display:none; color:#666666;}
.inviz {display:none;}
.bord_av {font-size:90%;text-align:center}
.comment_bg_white {background: #ffffff}
table.tred {margin-bottom:5px}
table.autor td.info {font-size:90%;font-family:tahoma;color:#696971;padding-left:15px}
table.tred td div.bord_av {padding:5px;border:1px solid #DADCE5}
table.tred td.cont table.autor td.icons {padding-left:20px}
table.tred td.cont {padding:9px 13px 9px 13px;border-top:1px solid #DADCE5}
a.dashed {
border-bottom:1px dashed;
text-decoration:none !important;
}
a:Hover.dashed {
border-bottom:none;
}
/* music */
.text_audio {display:none;}
.div_dashed {border-bottom:1px dashed #999999;}
.div_dashed_act {border-bottom:none;}
input.but_min_out {
padding:0;
}
#tagcloud_icon, #calendar_state_icon {
cursor:pointer;
}
/* BEST blogs poster code style */
table.poster_top_tbl td {
padding:0 !important;
}
div.best_poster_middl {
background:#fff5e0;
border-left:1px solid #f3ddb1;
border-right:1px solid #f3ddb1;
padding-top: 7px;
color:#000 !important;
}
div.best_poster_middl a {
color:#0857A6 !important;
}
div.best_poster_middl td {
padding-top:0 !important;
padding-bottom:0 !important;
}
div.poster_title_best {
font-weight:normal;
color:#000 !important;
letter-spacing:-1px;
margin-right:15px;
}
div.poster_title_best a {
color:#000 !important;
text-decoration:none !important;
}
div.poster_title_best a:Hover {
color:#000 !important;
text-decoration:underline !important;
}
div.poster_title_best span {
font-size:18px;
}
div.poster_title_nomination {
color:#ed1f28 !important;
font-size:18px;
white-space:nowrap;
margin-right:15px;
margin-left:48px; // only Opera
}
div.poster_title_nomination a {
color:#ed1f28 !important;
text-decoration:none !important;
}
div.poster_title_nomination a:Hover {
color:#ed1f28 !important;
text-decoration:underline !important;
}
div.poster_text_nomination {
font-weight:normal;
letter-spacing:-1px;
color:#000 !important;
}
img.poster_logo_nomin {
left:-10px;
position:relative;
top:-5px;
}
div.poster_line {
border-bottom:1px solid #F3DDB1;
}
table.best_poster_bot {
height:26px;
}
table.best_poster_bot td {
padding:0 !important;
}
table.best_poster_bot td.left {
background:#e99711;
height:21px;
border-left:1px solid #f3ddb1;
}
table.best_poster_bot td.right {
background:#e99711;
height:21px;
border-right:1px solid #f3ddb1;
}
table.best_poster_bot td.left_b {
background: url(http://img.mail.ru/r/blogs/best_blogs/poster_bot_cor_bg.gif) right top no-repeat;
}
table.best_poster_bot td.right_b {
background: url(http://img.mail.ru/r/blogs/best_blogs/poster_bot_cor_bg.gif) left top no-repeat;
}
table.best_poster_bot td.content {
background: url(http://img.mail.ru/r/blogs/best_blogs/poster_bot_bg.gif) #e99711 right top no-repeat;
border-bottom:1px solid #f3ddb1;
}
table.best_poster_bot td.content a, table.best_poster_bot td.content a:Hover {
color:#FFF !important;
}
table.best_poster_bot div.text_l {
float:left;
margin-left:10px;
background: url(http://img.mail.ru/r/blogs/best_blogs/nomin_pointer_2.gif) no-repeat left 5px;
padding-left:8px;
}
table.best_poster_bot div.text_r {
float:right;
margin-right:10px;
background: url(http://img.mail.ru/r/blogs/best_blogs/nomin_pointer_2.gif) no-repeat left 5px;
padding-left:8px;
}
/* customize post */
.valign {
vertical-align: top;
}
.challenge_autopost_grade {
color: #7D8485;
font-size: 20px;
padding: 0px 5px;
vertical-align: top;
}
.challenge_autopost_time_left {
color: #7D8485;
font-size: 10px;
padding: 0px 8px;
}
.challenge_autopost_call_friends {
padding-top: 15px;
}
div.popup_div a {
color:#0857A6 !important;
}
div.popup_div #subscribe_span {
color:#000 !important;
}
/* banner style */
td.uups {
text-align:left;
}
#right_block div.message .text h1 {
padding-bottom:0px;
}
.v_block{margin:0!important; padding:0!important;}
.fll{float:left;clear:none;}
.flr{float:right;clear:none;}
.votes{float:left;clear:none;margin: 1px 2px;text-decoration:none!important;}
.vote_b{background-color:#66CC00;font-weight:bold;padding:1px 3px}
.vote_a {text-decoration:none!important;color:#FFF!important}
.new {
color:red;
font-weight:bold;
font-size:9px;
position:relative;
top:-6px;
}
/* effects */
#left_block #avatar div.avatarEffect, #lider_blogers div.avatarEffect {
background-repeat: no-repeat;
background-position: center;
width:90px;
height:90px;
}
.bg_avatar_1 {background-color:#466a6b !important;}
.bg_avatar_2 {background-color:#b1084e !important;}
.bg_avatar_4 {background-color:#919999 !important;}
.bg_avatar_5 {background-color:#646def !important;}
.bg_avatar_6 {background-color:#000000 !important;}
.bg_avatar_7 {background-color:#819fa0 !important;}
.bg_avatar_8 {background-color:#b3230b !important;}
.bg_avatar_9 {background-color:#7d1371 !important;}
.bg_avatar_10 {background-color:#90c057 !important;}
.bg_avatar_11 {background-color:#a02c06 !important;}
.bg_avatar_12 {background-color:#4978D6 !important;}
.bg_avatar_13 {background-color:#000000 !important;}
.bg_avatar_14 {background-color:#FFFFFF !important;}
/* alert äëÿ äóýëåé è íå òîëüêî */
.corner { width: 7px; height: 7px; }
.topleft { background:url(http://img.mail.ru/r/blogs/challenge/ramka-corner-topleft.png) no-repeat; }
.bottomleft { background:url(http://img.mail.ru/r/blogs/challenge/ramka-corner-bottomleft.png) no-repeat; }
.topright { background:url(http://img.mail.ru/r/blogs/challenge/ramka-corner-topright.png) no-repeat; }
.bottomright { background:url(http://img.mail.ru/r/blogs/challenge/ramka-corner-bottomright.png) no-repeat; }
.bubble_bg { background-color: #FFDC95; }
.corner2 { width: 4px; height: 4px; }
.topleft2 { background:url(http://img.mail.ru/r/blogs/challenge/ramka2-corner-topleft.png) no-repeat; }
.bottomleft2 { background:url(http://img.mail.ru/r/blogs/challenge/ramka2-corner-bottomleft.png) no-repeat; }
.topright2 { background:url(http://img.mail.ru/r/blogs/challenge/ramka2-corner-topright.png) no-repeat; }
.bottomright2 { background:url(http://img.mail.ru/r/blogs/challenge/ramka2-corner-bottomright.png) no-repeat; }
.bubble_bg2 { background-color: #FFF2D8; }
.challenge_codes {
width: 250px;
overflow: hidden;
overflow-x: hidden;
padding: 5px; background-color: #FFF6ED;
border: 1px solid #FFBF7F;
font:11px/14px Arial;
position:absolute;
z-index:255;
}
/* foto in post */
span.foto_preview {
display:-moz-inline-block; display:inline-block;
}
span.foto_preview a.foto_border {
border:1px solid #003B75;
padding:5px;
display:-moz-inline-block; display:-moz-inline-box; display:inline-block;
margin-bottom:-3px;
}
span.foto_enlarge {
background-color:#003B75 !important;
display:block;
margin-top:2px;
font-size:10px;
text-align:center;
}
span.foto_enlarge a, span.foto_enlarge a:hover {
color:#FFF !important;
}
span.foto_border {
display:-moz-inline-block; display:-moz-inline-box; display:inline-block;
text-align:center;
border:1px solid #003B75;
padding:5px;
}
span.foto_autor {
font: 11px/13px Arial;
display:-moz-inline-block;
display:inline-block;
padding-top:2px;
}
/* button */
table.button, table.button_act, table.button_dis {
border-collapse:collapse;
border:none;
cursor:pointer;
}
table.button td, table.button_act td, table.button_dis td {
height:26px;
padding:0;
border:none;
vertical-align:top;
}
table.button td.but_l {background:url('http://img.mail.ru/r/blogs/button_l.gif') right top no-repeat; }
table.button td.but_c {background:url('http://img.mail.ru/r/blogs/button_c.gif') left top repeat-x; padding: 0 9px;}
table.button td.but_r {background:url('http://img.mail.ru/r/blogs/button_r.gif') left top no-repeat;}
table.button_act td.but_l {background:url('http://img.mail.ru/r/blogs/button_l.gif') right -26px no-repeat; }
table.button_act td.but_c {background:url('http://img.mail.ru/r/blogs/button_c.gif') left -26px repeat-x; padding: 0 9px;}
table.button_act td.but_r {background:url('http://img.mail.ru/r/blogs/button_r.gif') left -26px no-repeat;}
table.button_dis td.but_l {background:url('http://img.mail.ru/r/blogs/button_l.gif') right -52px no-repeat; }
table.button_dis td.but_c {background:url('http://img.mail.ru/r/blogs/button_c.gif') left -52px repeat-x; padding: 0 9px;}
table.button_dis td.but_r {background:url('http://img.mail.ru/r/blogs/button_r.gif') left -52px no-repeat;}
table.button td.but_c input, table.button_act td.but_c input, table.button_dis td.but_c input {
cursor:pointer;
border:0;
background:none;
height:26px;
border: none;
font: bold 12px/13px Arial,sans-serif;
color:#666666;
padding:0;
padding-bottom:3px;
_padding-bottom:0;
_width:100%;
}
table.button td.but_c, table.button_act td.but_c, table.button_dis td.but_c {
font: bold 12px/24px Arial,sans-serif;
color:#666666;
white-space:nowrap;
}
table.button_dis, table.button_dis td.but_c input {
cursor:auto;
}
/* micro post */
table.bubble {
-moz-opacity:0.7;
opacity:0.7;
filter:alpha(opacity=70);
}
table.bubble td.tl{
background:url(http://img.imgsmail.ru/r/blogs/bubble/bubble_tl.gif) transparent right top no-repeat;
width:23px;
height:8px;
}
table.bubble td.t{
background:url(http://img.imgsmail.ru/r/blogs/bubble/bubble_t.gif) transparent left top repeat-x;
height:8px;
}
table.bubble td.tr{
background:url(http://img.imgsmail.ru/r/blogs/bubble/bubble_tr.gif) transparent left top no-repeat;
height:8px;
width:8px;
}
table.bubble td.l{
background:url(http://img.imgsmail.ru/r/blogs/bubble/bubble_l.gif) transparent right top repeat-y;
width:23px;
width:8px;
}
table.bubble td.r{
background:url(http://img.imgsmail.ru/r/blogs/bubble/bubble_r.gif) transparent left top repeat-y;
width:8px;
}
table.bubble td.bl{
background:url(http://img.imgsmail.ru/r/blogs/bubble/bubble_bl.gif) transparent right top no-repeat;
width:23px;
height:15px;
}
table.bubble td.b{
background:url(http://img.imgsmail.ru/r/blogs/bubble/bubble_b.gif) transparent left top repeat-x;
height:15px;
}
table.bubble td.br{
background:url(http://img.imgsmail.ru/r/blogs/bubble/bubble_br.gif) transparent left top no-repeat;
height:15px;
width:8px;
}
table.bubble td.content{
background-color:#fff;
}
table.bubble td.content div{
margin-left:-13px;
//margin-left:0;
}
.fr { float:right; }
.fl { float:left; }
.fs0 { font-size:0;}
.cl_b {clear:both;}
.gr_999 { color:#999 !important;}
.orange { color: #FD7500;}
/*** Vote +1 +10 *2 ***/
.vote_1 {
display:inline-block;
width:34px;
height:26px;
background: url(http://img.mail.ru/r/blogs/duel/vote1.png) left top no-repeat;
//background:none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.mail.ru/r/blogs/duel/vote1.png',sizingMethod='crop');
font:1px/1px;
cursor:pointer;
}
.vote_2 {
display:inline-block;
width:35px;
height:26px;
background: url(http://img.mail.ru/r/blogs/duel/vote2.png) left top no-repeat;
//background:none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.mail.ru/r/blogs/duel/vote2.png',sizingMethod='crop');
font:1px/1px;
cursor:pointer;
}
.vote_10 {
display:inline-block;
width:40px;
height:40px;
margin-top: -7px;
margin-bottom: -7px;
background: url(http://img.mail.ru/r/blogs/duel/vote10.png) left top no-repeat;
//background:none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.mail.ru/r/blogs/duel/vote10.png',sizingMethod='crop');
font:1px/1px;
cursor:pointer;
position:relative;
}
/*** END Vote +1 +10 *2 ***/
.challenge_autopost_grade_1 {
color: #7D8485;
font-size: 20px;
}
/*** Help Div ***/
div.helpDiv {
color:#666666 !important;
font: 11px/13px Tahoma;
position:absolute;
width:300px;
z-index:150;
}
div.helpDiv i.break{
background: url(http://img.mail.ru/mail/ru/images/my/i_del.gif) no-repeat -16px -4px;
height: 11px;
width: 9px;
display:-moz-inline-block; display:-moz-inline-box;
cursor: pointer;
float: right;
z-index:1;
position:relative;
}
div.helpDivIn {
background-color:#F5F5F5;
border:1px solid #0091FF;
padding:10px 7px 7px 7px;
width:100%;
height:100%;
}
div.helpDivIn h2 {color:#0857A6;font: bold 14px/16px Arial; margin:0 0px 5px 0px}
div.helpDivIn a, div.helpDivIn a:Hover {color:#0857A6;}
/* +10 AND *2 */
.code_counties {border-collapse:collapse;}
.code_counties td{color: #000000; font-family: Tahoma !important; font-size: 11px !important; padding: 0 0 0 10px;}
.code_counties td.w-50 {width:50px;}
.code_counties ul li{list-style-position:outside; list-style-type:none;padding:2px 0 2px 10px; margin: 0; cursor: pointer;}
.code_counties ul{position:relative; margin:0 0 0 -10px; padding:0;}
.code_counties td.code_bord{border-left: 1px solid #999999;}
.code_counties div.code_bord {border-left: 7px solid #999999; height:1px; font-size: 0; line-height: 0;padding: 0;margin-left:-11px;}
.code_counties td.bb {vertical-align: middle; color:#FD7500; font-weight: bold;}
.helpDiv .code{width: 50px; float: left; padding-top: 3px;}
.helpDiv .right_code{background:#FFFFFF none repeat scroll 0% 50%;border:1px solid #D9D9D9;padding:2px;margin:0 0 3px 50px;}
/* END +10 AND *2 */
/*** END Help Div ***/
/* corner container */
.cor_cont { font:0/0;}
.cor_cont i, .cor_cont b { display:inline-block; background-position: left top; background-repeat: no-repeat;}
.cor_cont i { position:absolute; }
.cor_cont b { position:relative; float:right; }
/* END corner container */
/*** corner width ***/
.cor_w_10 {height:10px; margin:0 10px;}
.cor_w_10 i, .cor_w_10 b {width:10px; height:10px;}
.cor_w_10 i { margin-left:-10px;}
.cor_w_10 b { margin-right:-10px;}
/*** END corner width ***/
/* promo!!! */
/***** IE8 result test ******/
.cor_ie8_t_1, .cor_ie8_t_2, .cor_ie8_t_3, .cor_ie8_t_4 {background-position: left top; background-repeat: repeat-x;}
.cor_ie8_b {background-color:#FFF;}
.cor_ie8_t_1 b, .cor_ie8_t_2 b, .cor_ie8_t_3 b, .cor_ie8_t_4 b {width:560px; margin-right:-10px; //position:relative;}
/* bottom */
.cor_ie8_b i { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_bl.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_bl.png',sizingMethod='crop'); }
.cor_ie8_b b { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_br.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_br.png',sizingMethod='crop'); }
.ie8_res_1, .ie8_res_2, .ie8_res_3, .ie8_res_4 {background-color: #FFF; background-position: left -10px; background-repeat: repeat-x;}
.ie8_res_inner_1, .ie8_res_inner_2, .ie8_res_inner_3, .ie8_res_inner_4 {padding: 15px 225px 15px 30px;background-position: right -10px; background-repeat: no-repeat;}
.ie8_res_text {font-size:11px; color:#3d3c3c; line-height: 15px;}
.ie8_res_text a, .ie8_res_text a:Hover { color:#3d3c3c;}
.ie8_res_inner_1 h2, .ie8_res_inner_2 h2, .ie8_res_inner_3 h2, .ie8_res_inner_4 h2 { font: normal 18px Arial; color:#FFF; padding:0; margin: 0 0 10px 0;}
.ie8_res_rasporka { float: right; width:1px; font: 0/0; height:135px;}
/* top bg */
.cor_ie8_t_1 {background-image:url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_1_bg.png);}
.cor_ie8_t_1 i { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_1_tl.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_1_tl.png',sizingMethod='crop');}
.cor_ie8_t_1 b { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_1_r.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_1_r.png',sizingMethod='crop');}
.cor_ie8_t_2 {background-image:url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_2_bg.png);}
.cor_ie8_t_2 i { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_2_tl.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_2_tl.png',sizingMethod='crop');}
.cor_ie8_t_2 b { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_2_r.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_2_r.png',sizingMethod='crop');}
.cor_ie8_t_3 {background-image:url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_3_bg.png);}
.cor_ie8_t_3 i { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_3_tl.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_3_tl.png',sizingMethod='crop');}
.cor_ie8_t_3 b { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_3_r.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_3_r.png',sizingMethod='crop');}
.cor_ie8_t_4 {background-image:url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_4_bg.png);}
.cor_ie8_t_4 i { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_4_tl.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_4_tl.png',sizingMethod='crop');}
.cor_ie8_t_4 b { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_4_r.png); //background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://img.imgsmail.ru/r/blogs/brends/ie8_res_4_r.png',sizingMethod='crop');}
/* text bg */
.ie8_res_1 { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_1_bg.png)}
.ie8_res_inner_1 { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_1_r.png); }
.ie8_res_2 { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_2_bg.png)}
.ie8_res_inner_2 { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_2_r.png); }
.ie8_res_3 { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_3_bg.png)}
.ie8_res_inner_3 { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_3_r.png); }
.ie8_res_4 { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_4_bg.png)}
.ie8_res_inner_4 { background-image: url(http://img.imgsmail.ru/r/blogs/brends/ie8_res_4_r.png); }
/* rb_style */
.rb_body {/*border: 1px solid #D9D9D9;*/ font-size: 12px; text-align:left; padding: 7px 10px 0px 10px; overflow: hidden; //display: inline-block;}
.rb_h4 {/*border-bottom: 1px solid #0857A6; color: #0857A6;*/ font-size: 17px; font-weight: bold; /*text-decoration: none;*/}
.rb_body h4 {margin: 0;}
a:HOVER.rb_h4 {/*border-bottom: 0 solid #0857A6;*/}
.rb_h5 {/*color: #fd7102;*/ display: block; font-size: 13px; font-weight: bold; padding: 7px 0 0 0; text-decoration: none;}
.rb_h6 {/*color: #0857A6;*/ display: block; font-size: 13px; font-weight: bold; padding: 0 0 3px 0; text-decoration: none;}
.rb_content {margin: 7px 0 0 0; overflow: hidden; //display: inline-block;}
.rb_img {float: left; margin: 0 5px 0 0; background-position: left top; background-repeat: no-repeat;}
.rb_flash {float: left; margin: 0 5px 0 0;}
.rb_nobr {white-space: nowrap;}
.rb_text {overflow: hidden; //display: inline-block;}
.rb_textSmall {font-size: 11px; overflow: hidden; //display: inline-block;}
.rb_next {font-weight: bold; font-size: 11px; float: right; margin-top: 5px;}
.rb_more {font-weight: bold; font-size: 11px; display: block; margin-top: 5px;}
.rb_imgUl {background-position: left top; background-repeat: no-repeat; font-weight: bold; display: block; height: 50px; margin: 0; padding-left: 55px;}
.rb_ul {margin: 10px 0 0 13px; padding-left: 2px;}
.rb_li {/*color: #999999;*/}
.rb_mb5 {margin-bottom: 5px;}
/* capcha NEW */
.capchaNewLeft {position: relative; background-color: #fff; background-position: left 10px; background-repeat: no-repeat; border: 1px solid #ccc; padding: 65px 5px 5px 5px; width: 180px; margin-top: -120px; float: left; z-index:10; font-size: 11px; color: #999999 !important; font-family: tahoma;}
.capchaNewLeft i {width:13px; height:16px; font-size:0; line-height:0; vertical-align:middle; cursor:pointer; background-repeat: no-repeat; background-position: 0 -380px; padding: 0 0 2px 0; position: absolute; top: 0; right: 3px; cursor: pointer;}
.capchaNewInp{width: 135px; border: 1px solid #9BA3A9;}
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=status_dogs.css
Content-Type: text/css; charset=windows-1251; name=status_dogs.css
Content-Location: http://img.mail.ru/mail/ru/css/blogs/status_dogs.css?2
Content-Transfer-Encoding: 8bit
/* Status Dogs */
.spr-mrim-9 {
background-color: transparent;
background-repeat: no-repeat;
background-position: 0 0;
cursor: pointer;
height: 11px;
margin-right: 3px;
vertical-align: top;
width: 11px;
margin-top: 1px;
}
.spr-mrim-13 {
background-color: transparent;
background-repeat: no-repeat;
background-position: 0 0;
cursor: pointer;
height: 13px;
margin-right: 3px;
vertical-align: top;
width: 13px;
margin-top: 1px;
width: 15px;
}
.mrim-online-13 {
background-image: url('http://img.mail.ru/r/blogs/ico_status_online.png');
}
.mrim-away-13 {
background-image: url('http://img.mail.ru/r/blogs/ico_status_away.png');
}
.mrim-offline-13 {
background-image: url('http://img.mail.ru/r/blogs/ico_status_ofline.png');
}
.mrim-online-9 {
background-image: url('http://img.mail.ru/r/jim/ico_status_online9.png');
}
.mrim-away-9 {
background-image: url('http://img.mail.ru/r/jim/ico_status_away9.png');
}
.mrim-offline-9 {
background-image: url('http://img.mail.ru/r/jim/ico_status_ofline9.png');
}
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=calendar.css
Content-Type: text/css; charset=windows-1251; name=calendar.css
Content-Location: http://img.mail.ru/mail/ru/css/blogs/calendar.css?1
Content-Transfer-Encoding: 8bit
#calendar a.prev img {
position: static;
}
#calendar a.next img {
position: static;
}
#calendar p.date {
margin-top: 13px;
text-align: center;
}
#calendar p.date a {
font-size: 13px;
font-weight: bold;
}
#calendar table.setka {
margin-top: 3px;
}
#calendar table.setka th {
height: 17px;
font-family: Tahoma;
font-size: 11px;
font-weight: normal;
color: #034A8A;
background: #DDE7FF;
}
#calendar table.setka th.holiday {
font-weight: bold;
color: #FF8500;
background: #FEF2D8;
}
#calendar table.setka td {
height: 17px;
font-family: Tahoma;
font-size: 11px;
text-align: center;
vertical-align: middle;
background: #EFEFEF;
}
#calendar table.setka td.today {
background: #CDCED4;
}
#calendar table.setka td a {
font-weight: bold;
}
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=favicon.ico
Content-Type: image/x-icon; name=favicon.ico
Content-Location: http://img.mail.ru/mail/ru/images/blogs/favicon.ico
Content-Transfer-Encoding: Base64
AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAA
AAAAAAAAAAEAAAAAAABKngAARIkAAEuvBgDnzbUAQOP+AFBjmABnv2sA48CwACth
qAAfRI8AC8n9AOT0/wBRrO0Amqi0AIqXugAb2v4AC9f+ACOb+AD0+/8AKGCoACxK
lAAiS5kAMWqvAC9orgDV6tcAF9r+ADAwMAAtjvcAOuH+APH4/gBAsfwAH16gAEVk
nQCoeV8A7+/vAK/C1gCXVxsAQo46AOL1/wBfcKEAJ12lAJO0cADx5NcAIFiaACac
+QANyf0AYqpOAB5CjAAzlJsA+fz5AM/myACr0vwA28a9APv38wB9jbYAHrLlAFnp
/QAUtv0AgMiGACne/gCgv6gAW5ZFAFOq6wBiuSAAI1CcAAzW/gA1YqYAwH9CAIrY
/QCZ1v8A////AJtlTQBGfbsAFbruABYvdgC1biMAGziEAG7DcgDQv7kA3vLfAMPW
rwB9jLUA7PPtACze/gAiSpcACNT+AF627wDp7+oAVuj9AC/K/QBQ5/4AdKhAAMTf
uAAknPkAK6HCABw5hwBf6v0AD8L9AKexywDi8N4AT8j+AEqz+gAVt/wAPXW3AFFk
mQDu4M8AsGQUALduKAC8djUA0LmnAJBMDACmWAAA////AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcXFxIhojcXFxcXFxcXFxcXFx
cXENLBszHXFxcXFxcXFxcXFxEmVdET5OcXFxcXFxcTEyXGNFHgxHbm1xcXFxcU9N
BgY6C1Yham9ubXFxcXE/AgICAhg0bGtqb25tcXFxAAAAAAAuUgdsa2pvbm1xcVsB
AQEBJT1XB2xram9ubXFxUCkwOWZePEYDbGtqb25tcXFELUFVCmRxcQNsa2pvJHFx
WTscUxBhJnFxA2xrS2lxJzdaOAQPSSBxcXEDQypxcQUrWGAEGR9KcXFxcTVxcXEF
CRcWKBVfaHFxcXFxcXFxYi9IZxNUTA5xcXFxcXFxcXFRQghAFDZxcXFxcXFxceP/
AADwfwAA8D8AAIAfAAAADwAAAAcAAAADAAAAAQAAgAAAAMDAAADAYAAAgHEAAIB7
AACAfwAAgH8AAMD/AAA=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=kitty.css
Content-Type: text/css; charset=windows-1251; name=kitty.css
Content-Location: http://img.mail.ru/r/blogs/brends/kitty.css?1
Content-Transfer-Encoding: 8bit
/* lines */
.kiity_line_text {
font: 11px/12px "Times New Roman";
padding-left:10px;
}
.kitty_line_pointer {
position:absolute;
}
/* line 1 */
.kitty_line_1 {
width:400px;
height:60px;
background: url(http://img.mail.ru/r/blogs/brends/kitty_line_bg_1.gif) left top no-repeat;
position:relative;
overflow:hidden;
}
.kitty_line_1 .kiity_line_text {
color:#7c0047;
padding-top:45px;
}
.kitty_line_1 .kitty_line_pointer {
top:6px;
width:42px;
height:39px;
}
.kitty_line_1 .kitty_count1 {left:0px;}
.kitty_line_1 .kitty_count2 {left:31px;}
.kitty_line_1 .kitty_count3 {left:63px;}
.kitty_line_1 .kitty_count4 {left:95px;}
.kitty_line_1 .kitty_count5 {left:128px;}
.kitty_line_1 .kitty_count6 {left:161px;}
.kitty_line_1 .kitty_count7 {left:193px;}
.kitty_line_1 .kitty_count8 {left:226px;}
.kitty_line_1 .kitty_count9 {left:259px;}
.kitty_line_1 .kitty_count10 {left:292px;}
.kitty_line_1 .kitty_count11 {left:324px;}
.kitty_line_1 .kitty_count12 {left:358px;}
/* line 2*/
.kitty_line_2 {
width:400px;
height:70px;
background: url(http://img.mail.ru/r/blogs/brends/kitty_line_bg_2.gif) left top no-repeat;
position:relative;
overflow:hidden;
}
.kitty_line_2 .kiity_line_text {
color:#FFF;
padding-top:55px;
}
.kitty_line_2 .kitty_line_pointer {
top:22px;
width:38px;
height:35px;
}
.kitty_line_2 .kitty_count1 {left:3px;}
.kitty_line_2 .kitty_count2 {left:28px;}
.kitty_line_2 .kitty_count3 {left:55px;}
.kitty_line_2 .kitty_count4 {left:80px;}
.kitty_line_2 .kitty_count5 {left:105px;}
.kitty_line_2 .kitty_count6 {left:131px;}
.kitty_line_2 .kitty_count7 {left:156px;}
.kitty_line_2 .kitty_count8 {left:182px;}
.kitty_line_2 .kitty_count9 {left:208px;}
.kitty_line_2 .kitty_count10 {left:233px;}
.kitty_line_2 .kitty_count11 {left:259px;}
.kitty_line_2 .kitty_count12 {left:285px;}
.kitty_line_2 .kitty_count13 {left:310px;}
.kitty_line_2 .kitty_count14 {left:336px;}
.kitty_line_2 .kitty_count15 {left:363px;}
/* lien 3 */
.kitty_line_3 {
width:400px;
height:80px;
background: url(http://img.mail.ru/r/blogs/brends/kitty_line_bg_3.gif) left top no-repeat;
position:relative;
overflow:hidden;
}
.kitty_line_3 .kiity_line_text {
color:#FFF;
padding-top:65px;
}
.kitty_line_3 .kitty_line_pointer {
top:10px;
width:31px;
height:51px;
}
.kitty_line_3 .kitty_count1 {left:2px;}
.kitty_line_3 .kitty_count2 {left:34px;}
.kitty_line_3 .kitty_count3 {left:67px;}
.kitty_line_3 .kitty_count4 {left:101px;}
.kitty_line_3 .kitty_count5 {left:134px;}
.kitty_line_3 .kitty_count6 {left:167px;}
.kitty_line_3 .kitty_count7 {left:200px;}
.kitty_line_3 .kitty_count8 {left:233px;}
.kitty_line_3 .kitty_count9 {left:266px;}
.kitty_line_3 .kitty_count10 {left:300px;}
.kitty_line_3 .kitty_count11 {left:333px;}
.kitty_line_3 .kitty_count12 {left:365px;}
/* line 4 */
.kitty_line_4 {
width:400px;
height:90px;
background: url(http://img.mail.ru/r/blogs/brends/kitty_line_bg_4.gif) left top no-repeat;
position:relative;
overflow:hidden;
}
.kitty_line_4 .kiity_line_text {
color:#FFF;
padding-top:75px;
}
.kitty_line_4 .kitty_line_pointer {
top:26px;
width:39px;
height:45px;
}
.kitty_line_4 .kitty_count1 {left:-6px;}
.kitty_line_4 .kitty_count2 {left:13px;}
.kitty_line_4 .kitty_count3 {left:33px;}
.kitty_line_4 .kitty_count4 {left:53px;}
.kitty_line_4 .kitty_count5 {left:73px;}
.kitty_line_4 .kitty_count6 {left:93px;}
.kitty_line_4 .kitty_count7 {left:112px;}
.kitty_line_4 .kitty_count8 {left:131px;}
.kitty_line_4 .kitty_count9 {left:151px;}
.kitty_line_4 .kitty_count10 {left:171px;}
.kitty_line_4 .kitty_count11 {left:191px;}
.kitty_line_4 .kitty_count12 {left:210px;}
.kitty_line_4 .kitty_count13 {left:230px;}
.kitty_line_4 .kitty_count14 {left:251px;}
.kitty_line_4 .kitty_count15 {left:271px;}
.kitty_line_4 .kitty_count16 {left:289px;}
.kitty_line_4 .kitty_count17 {left:310px;}
.kitty_line_4 .kitty_count18 {left:330px;}
.kitty_line_4 .kitty_count19 {left:349px;}
.kitty_line_4 .kitty_count20 {left:369px;}
/* line 5 */
.kitty_line_5 {
width:400px;
height:106px;
background: url(http://img.mail.ru/r/blogs/brends/kitty_line_bg_5.gif) left top no-repeat;
position:relative;
overflow:hidden;
}
.kitty_line_5 .kiity_line_text {
color:#FFF;
padding-top:92px;
}
.kitty_line_5 .kitty_line_pointer {
top:18px;
width:30px;
height:39px;
}
.kitty_line_5 .kitty_count1 {left:8px;}
.kitty_line_5 .kitty_count2 {left:47px;top:4px;}
.kitty_line_5 .kitty_count3 {left:87px;}
.kitty_line_5 .kitty_count4 {left:126px;top:4px;}
.kitty_line_5 .kitty_count5 {left:165px;}
.kitty_line_5 .kitty_count6 {left:204px;top:4px;}
.kitty_line_5 .kitty_count7 {left:244px;}
.kitty_line_5 .kitty_count8 {left:283px;top:4px;}
.kitty_line_5 .kitty_count9 {left:322px;}
.kitty_line_5 .kitty_count10 {left:362px;top:4px;}
/* line 6 */
.kitty_line_6 {
width:400px;
height:109px;
background: url(http://img.mail.ru/r/blogs/brends/kitty_line_bg_6.gif) left top no-repeat;
position:relative;
overflow:hidden;
}
.kitty_line_6 .kiity_line_text {
color:#bb417c;
padding-top:94px;
}
.kitty_line_6 .kitty_line_pointer {
top:25px;
width:28px;
height:39px;
}
.kitty_line_6 .kitty_count1 {left:10px; top:47px;}
.kitty_line_6 .kitty_count2 {left:49px; top:38px;}
.kitty_line_6 .kitty_count3 {left:88px; top:32px;}
.kitty_line_6 .kitty_count4 {left:125px; top:26px;}
.kitty_line_6 .kitty_count5 {left:165px; top:26px;}
.kitty_line_6 .kitty_count6 {left:206px; top:26px;}
.kitty_line_6 .kitty_count7 {left:244px; top:26px;}
.kitty_line_6 .kitty_count8 {left:284px; top:32px;}
.kitty_line_6 .kitty_count9 {left:323px; top:38px;}
.kitty_line_6 .kitty_count10 {left:363px; top:47px;}
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=prototype-1.6.0.3.js
Content-Type: application/x-javascript; charset=windows-1251; name=prototype-1.6.0.3.js
Content-Location: http://img3.imgsmail.ru/mail/ru/images/js/myjs/prototype-1.6.0.3.js
Content-Transfer-Encoding: Base64
LyogIFByb3RvdHlwZSBKYXZhU2NyaXB0IGZyYW1ld29yaywgdmVyc2lvbiAxLjYu
MC4zCiAqICAoYykgMjAwNS0yMDA4IFNhbSBTdGVwaGVuc29uCiAqCiAqICBQcm90
b3R5cGUgaXMgZnJlZWx5IGRpc3RyaWJ1dGFibGUgdW5kZXIgdGhlIHRlcm1zIG9m
IGFuIE1JVC1zdHlsZSBsaWNlbnNlLgogKiAgRm9yIGRldGFpbHMsIHNlZSB0aGUg
UHJvdG90eXBlIHdlYiBzaXRlOiBodHRwOi8vd3d3LnByb3RvdHlwZWpzLm9yZy8K
ICoKICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgp2YXIgUHJvdG90eXBl
ID0gewogIFZlcnNpb246ICcxLjYuMC4zJywKCiAgQnJvd3NlcjogewogICAgSUU6
ICAgICAhISh3aW5kb3cuYXR0YWNoRXZlbnQgJiYKICAgICAgbmF2aWdhdG9yLnVz
ZXJBZ2VudC5pbmRleE9mKCdPcGVyYScpID09PSAtMSksCiAgICBPcGVyYTogIG5h
dmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignT3BlcmEnKSA+IC0xLAogICAgV2Vi
S2l0OiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0FwcGxlV2ViS2l0Lycp
ID4gLTEsCiAgICBHZWNrbzogIG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZign
R2Vja28nKSA+IC0xICYmCiAgICAgIG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhP
ZignS0hUTUwnKSA9PT0gLTEsCiAgICBNb2JpbGVTYWZhcmk6ICEhbmF2aWdhdG9y
LnVzZXJBZ2VudC5tYXRjaCgvQXBwbGUuKk1vYmlsZS4qU2FmYXJpLykKICB9LAoK
ICBCcm93c2VyRmVhdHVyZXM6IHsKICAgIFhQYXRoOiAhIWRvY3VtZW50LmV2YWx1
YXRlLAogICAgU2VsZWN0b3JzQVBJOiAhIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Is
CiAgICBFbGVtZW50RXh0ZW5zaW9uczogISF3aW5kb3cuSFRNTEVsZW1lbnQsCiAg
ICBTcGVjaWZpY0VsZW1lbnRFeHRlbnNpb25zOgogICAgICBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKVsnX19wcm90b19fJ10gJiYKICAgICAgZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2JylbJ19fcHJvdG9fXyddICE9PQogICAgICAgIGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKVsnX19wcm90b19fJ10KICB9LAoK
ICBTY3JpcHRGcmFnbWVudDogJzxzY3JpcHRbXj5dKj4oW1xcU1xcc10qPyk8XC9z
Y3JpcHQ+JywKICBKU09ORmlsdGVyOiAvXlwvXCotc2VjdXJlLShbXHNcU10qKVwq
XC9ccyokLywKCiAgZW1wdHlGdW5jdGlvbjogZnVuY3Rpb24oKSB7IH0sCiAgSzog
ZnVuY3Rpb24oeCkgeyByZXR1cm4geCB9Cn07CgppZiAoUHJvdG90eXBlLkJyb3dz
ZXIuTW9iaWxlU2FmYXJpKQogIFByb3RvdHlwZS5Ccm93c2VyRmVhdHVyZXMuU3Bl
Y2lmaWNFbGVtZW50RXh0ZW5zaW9ucyA9IGZhbHNlOwoKCi8qIEJhc2VkIG9uIEFs
ZXggQXJuZWxsJ3MgaW5oZXJpdGFuY2UgaW1wbGVtZW50YXRpb24uICovCnZhciBD
bGFzcyA9IHsKICBjcmVhdGU6IGZ1bmN0aW9uKCkgewogICAgdmFyIHBhcmVudCA9
IG51bGwsIHByb3BlcnRpZXMgPSAkQShhcmd1bWVudHMpOwogICAgaWYgKE9iamVj
dC5pc0Z1bmN0aW9uKHByb3BlcnRpZXNbMF0pKQogICAgICBwYXJlbnQgPSBwcm9w
ZXJ0aWVzLnNoaWZ0KCk7CgogICAgZnVuY3Rpb24ga2xhc3MoKSB7CiAgICAgIHRo
aXMuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgfQoKICAg
IE9iamVjdC5leHRlbmQoa2xhc3MsIENsYXNzLk1ldGhvZHMpOwogICAga2xhc3Mu
c3VwZXJjbGFzcyA9IHBhcmVudDsKICAgIGtsYXNzLnN1YmNsYXNzZXMgPSBbXTsK
CiAgICBpZiAocGFyZW50KSB7CiAgICAgIHZhciBzdWJjbGFzcyA9IGZ1bmN0aW9u
KCkgeyB9OwogICAgICBzdWJjbGFzcy5wcm90b3R5cGUgPSBwYXJlbnQucHJvdG90
eXBlOwogICAgICBrbGFzcy5wcm90b3R5cGUgPSBuZXcgc3ViY2xhc3M7CiAgICAg
IHBhcmVudC5zdWJjbGFzc2VzLnB1c2goa2xhc3MpOwogICAgfQoKICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5sZW5ndGg7IGkrKykKICAgICAga2xh
c3MuYWRkTWV0aG9kcyhwcm9wZXJ0aWVzW2ldKTsKCiAgICBpZiAoIWtsYXNzLnBy
b3RvdHlwZS5pbml0aWFsaXplKQogICAgICBrbGFzcy5wcm90b3R5cGUuaW5pdGlh
bGl6ZSA9IFByb3RvdHlwZS5lbXB0eUZ1bmN0aW9uOwoKICAgIGtsYXNzLnByb3Rv
dHlwZS5jb25zdHJ1Y3RvciA9IGtsYXNzOwoKICAgIHJldHVybiBrbGFzczsKICB9
Cn07CgpDbGFzcy5NZXRob2RzID0gewogIGFkZE1ldGhvZHM6IGZ1bmN0aW9uKHNv
dXJjZSkgewogICAgdmFyIGFuY2VzdG9yICAgPSB0aGlzLnN1cGVyY2xhc3MgJiYg
dGhpcy5zdXBlcmNsYXNzLnByb3RvdHlwZTsKICAgIHZhciBwcm9wZXJ0aWVzID0g
T2JqZWN0LmtleXMoc291cmNlKTsKCiAgICBpZiAoIU9iamVjdC5rZXlzKHsgdG9T
dHJpbmc6IHRydWUgfSkubGVuZ3RoKQogICAgICBwcm9wZXJ0aWVzLnB1c2goInRv
U3RyaW5nIiwgInZhbHVlT2YiKTsKCiAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3Ro
ID0gcHJvcGVydGllcy5sZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICB2
YXIgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW2ldLCB2YWx1ZSA9IHNvdXJjZVtwcm9w
ZXJ0eV07CiAgICAgIGlmIChhbmNlc3RvciAmJiBPYmplY3QuaXNGdW5jdGlvbih2
YWx1ZSkgJiYKICAgICAgICAgIHZhbHVlLmFyZ3VtZW50TmFtZXMoKS5maXJzdCgp
ID09ICIkc3VwZXIiKSB7CiAgICAgICAgdmFyIG1ldGhvZCA9IHZhbHVlOwogICAg
ICAgIHZhbHVlID0gKGZ1bmN0aW9uKG0pIHsKICAgICAgICAgIHJldHVybiBmdW5j
dGlvbigpIHsgcmV0dXJuIGFuY2VzdG9yW21dLmFwcGx5KHRoaXMsIGFyZ3VtZW50
cykgfTsKICAgICAgICB9KShwcm9wZXJ0eSkud3JhcChtZXRob2QpOwoKICAgICAg
ICB2YWx1ZS52YWx1ZU9mID0gbWV0aG9kLnZhbHVlT2YuYmluZChtZXRob2QpOwog
ICAgICAgIHZhbHVlLnRvU3RyaW5nID0gbWV0aG9kLnRvU3RyaW5nLmJpbmQobWV0
aG9kKTsKICAgICAgfQogICAgICB0aGlzLnByb3RvdHlwZVtwcm9wZXJ0eV0gPSB2
YWx1ZTsKICAgIH0KCiAgICByZXR1cm4gdGhpczsKICB9Cn07Cgp2YXIgQWJzdHJh
Y3QgPSB7IH07CgpPYmplY3QuZXh0ZW5kID0gZnVuY3Rpb24oZGVzdGluYXRpb24s
IHNvdXJjZSkgewogIGZvciAodmFyIHByb3BlcnR5IGluIHNvdXJjZSkKICAgIGRl
c3RpbmF0aW9uW3Byb3BlcnR5XSA9IHNvdXJjZVtwcm9wZXJ0eV07CiAgcmV0dXJu
IGRlc3RpbmF0aW9uOwp9OwoKT2JqZWN0LmV4dGVuZChPYmplY3QsIHsKICBpbnNw
ZWN0OiBmdW5jdGlvbihvYmplY3QpIHsKICAgIHRyeSB7CiAgICAgIGlmIChPYmpl
Y3QuaXNVbmRlZmluZWQob2JqZWN0KSkgcmV0dXJuICd1bmRlZmluZWQnOwogICAg
ICBpZiAob2JqZWN0ID09PSBudWxsKSByZXR1cm4gJ251bGwnOwogICAgICByZXR1
cm4gb2JqZWN0Lmluc3BlY3QgPyBvYmplY3QuaW5zcGVjdCgpIDogU3RyaW5nKG9i
amVjdCk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIGluc3RhbmNlb2Yg
UmFuZ2VFcnJvcikgcmV0dXJuICcuLi4nOwogICAgICB0aHJvdyBlOwogICAgfQog
IH0sCgogIHRvSlNPTjogZnVuY3Rpb24ob2JqZWN0KSB7CiAgICB2YXIgdHlwZSA9
IHR5cGVvZiBvYmplY3Q7CiAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgY2FzZSAn
dW5kZWZpbmVkJzoKICAgICAgY2FzZSAnZnVuY3Rpb24nOgogICAgICBjYXNlICd1
bmtub3duJzogcmV0dXJuOwogICAgICBjYXNlICdib29sZWFuJzogcmV0dXJuIG9i
amVjdC50b1N0cmluZygpOwogICAgfQoKICAgIGlmIChvYmplY3QgPT09IG51bGwp
IHJldHVybiAnbnVsbCc7CiAgICBpZiAob2JqZWN0LnRvSlNPTikgcmV0dXJuIG9i
amVjdC50b0pTT04oKTsKICAgIGlmIChPYmplY3QuaXNFbGVtZW50KG9iamVjdCkp
IHJldHVybjsKCiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgZm9yICh2YXIgcHJv
cGVydHkgaW4gb2JqZWN0KSB7CiAgICAgIHZhciB2YWx1ZSA9IE9iamVjdC50b0pT
T04ob2JqZWN0W3Byb3BlcnR5XSk7CiAgICAgIGlmICghT2JqZWN0LmlzVW5kZWZp
bmVkKHZhbHVlKSkKICAgICAgICByZXN1bHRzLnB1c2gocHJvcGVydHkudG9KU09O
KCkgKyAnOiAnICsgdmFsdWUpOwogICAgfQoKICAgIHJldHVybiAneycgKyByZXN1
bHRzLmpvaW4oJywgJykgKyAnfSc7CiAgfSwKCiAgdG9RdWVyeVN0cmluZzogZnVu
Y3Rpb24ob2JqZWN0KSB7CiAgICByZXR1cm4gJEgob2JqZWN0KS50b1F1ZXJ5U3Ry
aW5nKCk7CiAgfSwKCiAgdG9IVE1MOiBmdW5jdGlvbihvYmplY3QpIHsKICAgIHJl
dHVybiBvYmplY3QgJiYgb2JqZWN0LnRvSFRNTCA/IG9iamVjdC50b0hUTUwoKSA6
IFN0cmluZy5pbnRlcnByZXQob2JqZWN0KTsKICB9LAoKICBrZXlzOiBmdW5jdGlv
bihvYmplY3QpIHsKICAgIHZhciBrZXlzID0gW107CiAgICBmb3IgKHZhciBwcm9w
ZXJ0eSBpbiBvYmplY3QpCiAgICAgIGtleXMucHVzaChwcm9wZXJ0eSk7CiAgICBy
ZXR1cm4ga2V5czsKICB9LAoKICB2YWx1ZXM6IGZ1bmN0aW9uKG9iamVjdCkgewog
ICAgdmFyIHZhbHVlcyA9IFtdOwogICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2Jq
ZWN0KQogICAgICB2YWx1ZXMucHVzaChvYmplY3RbcHJvcGVydHldKTsKICAgIHJl
dHVybiB2YWx1ZXM7CiAgfSwKCiAgY2xvbmU6IGZ1bmN0aW9uKG9iamVjdCkgewog
ICAgcmV0dXJuIE9iamVjdC5leHRlbmQoeyB9LCBvYmplY3QpOwogIH0sCgogIGlz
RWxlbWVudDogZnVuY3Rpb24ob2JqZWN0KSB7CiAgICByZXR1cm4gISEob2JqZWN0
ICYmIG9iamVjdC5ub2RlVHlwZSA9PSAxKTsKICB9LAoKICBpc0FycmF5OiBmdW5j
dGlvbihvYmplY3QpIHsKICAgIHJldHVybiBvYmplY3QgIT0gbnVsbCAmJiB0eXBl
b2Ygb2JqZWN0ID09ICJvYmplY3QiICYmCiAgICAgICdzcGxpY2UnIGluIG9iamVj
dCAmJiAnam9pbicgaW4gb2JqZWN0OwogIH0sCgogIGlzSGFzaDogZnVuY3Rpb24o
b2JqZWN0KSB7CiAgICByZXR1cm4gb2JqZWN0IGluc3RhbmNlb2YgSGFzaDsKICB9
LAoKICBpc0Z1bmN0aW9uOiBmdW5jdGlvbihvYmplY3QpIHsKICAgIHJldHVybiB0
eXBlb2Ygb2JqZWN0ID09ICJmdW5jdGlvbiI7CiAgfSwKCiAgaXNTdHJpbmc6IGZ1
bmN0aW9uKG9iamVjdCkgewogICAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT0gInN0
cmluZyI7CiAgfSwKCiAgaXNOdW1iZXI6IGZ1bmN0aW9uKG9iamVjdCkgewogICAg
cmV0dXJuIHR5cGVvZiBvYmplY3QgPT0gIm51bWJlciI7CiAgfSwKCiAgaXNVbmRl
ZmluZWQ6IGZ1bmN0aW9uKG9iamVjdCkgewogICAgcmV0dXJuIHR5cGVvZiBvYmpl
Y3QgPT0gInVuZGVmaW5lZCI7CiAgfQp9KTsKCk9iamVjdC5leHRlbmQoRnVuY3Rp
b24ucHJvdG90eXBlLCB7CiAgYXJndW1lbnROYW1lczogZnVuY3Rpb24oKSB7CiAg
ICB2YXIgbmFtZXMgPSB0aGlzLnRvU3RyaW5nKCkubWF0Y2goL15bXHNcKF0qZnVu
Y3Rpb25bXihdKlwoKFteXCldKilcKS8pWzFdCiAgICAgIC5yZXBsYWNlKC9ccysv
ZywgJycpLnNwbGl0KCcsJyk7CiAgICByZXR1cm4gbmFtZXMubGVuZ3RoID09IDEg
JiYgIW5hbWVzWzBdID8gW10gOiBuYW1lczsKICB9LAoKICBiaW5kOiBmdW5jdGlv
bigpIHsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMiAmJiBPYmplY3QuaXNV
bmRlZmluZWQoYXJndW1lbnRzWzBdKSkgcmV0dXJuIHRoaXM7CiAgICB2YXIgX19t
ZXRob2QgPSB0aGlzLCBhcmdzID0gJEEoYXJndW1lbnRzKSwgb2JqZWN0ID0gYXJn
cy5zaGlmdCgpOwogICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4g
X19tZXRob2QuYXBwbHkob2JqZWN0LCBhcmdzLmNvbmNhdCgkQShhcmd1bWVudHMp
KSk7CiAgICB9CiAgfSwKCiAgYmluZEFzRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24o
KSB7CiAgICB2YXIgX19tZXRob2QgPSB0aGlzLCBhcmdzID0gJEEoYXJndW1lbnRz
KSwgb2JqZWN0ID0gYXJncy5zaGlmdCgpOwogICAgcmV0dXJuIGZ1bmN0aW9uKGV2
ZW50KSB7CiAgICAgIHJldHVybiBfX21ldGhvZC5hcHBseShvYmplY3QsIFtldmVu
dCB8fCB3aW5kb3cuZXZlbnRdLmNvbmNhdChhcmdzKSk7CiAgICB9CiAgfSwKCiAg
Y3Vycnk6IGZ1bmN0aW9uKCkgewogICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSBy
ZXR1cm4gdGhpczsKICAgIHZhciBfX21ldGhvZCA9IHRoaXMsIGFyZ3MgPSAkQShh
cmd1bWVudHMpOwogICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4g
X19tZXRob2QuYXBwbHkodGhpcywgYXJncy5jb25jYXQoJEEoYXJndW1lbnRzKSkp
OwogICAgfQogIH0sCgogIGRlbGF5OiBmdW5jdGlvbigpIHsKICAgIHZhciBfX21l
dGhvZCA9IHRoaXMsIGFyZ3MgPSAkQShhcmd1bWVudHMpLCB0aW1lb3V0ID0gYXJn
cy5zaGlmdCgpICogMTAwMDsKICAgIHJldHVybiB3aW5kb3cuc2V0VGltZW91dChm
dW5jdGlvbigpIHsKICAgICAgcmV0dXJuIF9fbWV0aG9kLmFwcGx5KF9fbWV0aG9k
LCBhcmdzKTsKICAgIH0sIHRpbWVvdXQpOwogIH0sCgogIGRlZmVyOiBmdW5jdGlv
bigpIHsKICAgIHZhciBhcmdzID0gWzAuMDFdLmNvbmNhdCgkQShhcmd1bWVudHMp
KTsKICAgIHJldHVybiB0aGlzLmRlbGF5LmFwcGx5KHRoaXMsIGFyZ3MpOwogIH0s
CgogIHdyYXA6IGZ1bmN0aW9uKHdyYXBwZXIpIHsKICAgIHZhciBfX21ldGhvZCA9
IHRoaXM7CiAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiB3cmFw
cGVyLmFwcGx5KHRoaXMsIFtfX21ldGhvZC5iaW5kKHRoaXMpXS5jb25jYXQoJEEo
YXJndW1lbnRzKSkpOwogICAgfQogIH0sCgogIG1ldGhvZGl6ZTogZnVuY3Rpb24o
KSB7CiAgICBpZiAodGhpcy5fbWV0aG9kaXplZCkgcmV0dXJuIHRoaXMuX21ldGhv
ZGl6ZWQ7CiAgICB2YXIgX19tZXRob2QgPSB0aGlzOwogICAgcmV0dXJuIHRoaXMu
X21ldGhvZGl6ZWQgPSBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIF9fbWV0aG9k
LmFwcGx5KG51bGwsIFt0aGlzXS5jb25jYXQoJEEoYXJndW1lbnRzKSkpOwogICAg
fTsKICB9Cn0pOwoKRGF0ZS5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24oKSB7
CiAgcmV0dXJuICciJyArIHRoaXMuZ2V0VVRDRnVsbFllYXIoKSArICctJyArCiAg
ICAodGhpcy5nZXRVVENNb250aCgpICsgMSkudG9QYWRkZWRTdHJpbmcoMikgKyAn
LScgKwogICAgdGhpcy5nZXRVVENEYXRlKCkudG9QYWRkZWRTdHJpbmcoMikgKyAn
VCcgKwogICAgdGhpcy5nZXRVVENIb3VycygpLnRvUGFkZGVkU3RyaW5nKDIpICsg
JzonICsKICAgIHRoaXMuZ2V0VVRDTWludXRlcygpLnRvUGFkZGVkU3RyaW5nKDIp
ICsgJzonICsKICAgIHRoaXMuZ2V0VVRDU2Vjb25kcygpLnRvUGFkZGVkU3RyaW5n
KDIpICsgJ1oiJzsKfTsKCnZhciBUcnkgPSB7CiAgdGhlc2U6IGZ1bmN0aW9uKCkg
ewogICAgdmFyIHJldHVyblZhbHVlOwoKICAgIGZvciAodmFyIGkgPSAwLCBsZW5n
dGggPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAg
dmFyIGxhbWJkYSA9IGFyZ3VtZW50c1tpXTsKICAgICAgdHJ5IHsKICAgICAgICBy
ZXR1cm5WYWx1ZSA9IGxhbWJkYSgpOwogICAgICAgIGJyZWFrOwogICAgICB9IGNh
dGNoIChlKSB7IH0KICAgIH0KCiAgICByZXR1cm4gcmV0dXJuVmFsdWU7CiAgfQp9
OwoKUmVnRXhwLnByb3RvdHlwZS5tYXRjaCA9IFJlZ0V4cC5wcm90b3R5cGUudGVz
dDsKClJlZ0V4cC5lc2NhcGUgPSBmdW5jdGlvbihzdHIpIHsKICByZXR1cm4gU3Ry
aW5nKHN0cikucmVwbGFjZSgvKFsuKis/Xj0hOiR7fSgpfFtcXVwvXFxdKS9nLCAn
XFwkMScpOwp9OwoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgp2YXIg
UGVyaW9kaWNhbEV4ZWN1dGVyID0gQ2xhc3MuY3JlYXRlKHsKICBpbml0aWFsaXpl
OiBmdW5jdGlvbihjYWxsYmFjaywgZnJlcXVlbmN5KSB7CiAgICB0aGlzLmNhbGxi
YWNrID0gY2FsbGJhY2s7CiAgICB0aGlzLmZyZXF1ZW5jeSA9IGZyZXF1ZW5jeTsK
ICAgIHRoaXMuY3VycmVudGx5RXhlY3V0aW5nID0gZmFsc2U7CgogICAgdGhpcy5y
ZWdpc3RlckNhbGxiYWNrKCk7CiAgfSwKCiAgcmVnaXN0ZXJDYWxsYmFjazogZnVu
Y3Rpb24oKSB7CiAgICB0aGlzLnRpbWVyID0gc2V0SW50ZXJ2YWwodGhpcy5vblRp
bWVyRXZlbnQuYmluZCh0aGlzKSwgdGhpcy5mcmVxdWVuY3kgKiAxMDAwKTsKICB9
LAoKICBleGVjdXRlOiBmdW5jdGlvbigpIHsKICAgIHRoaXMuY2FsbGJhY2sodGhp
cyk7CiAgfSwKCiAgc3RvcDogZnVuY3Rpb24oKSB7CiAgICBpZiAoIXRoaXMudGlt
ZXIpIHJldHVybjsKICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7CiAgICB0
aGlzLnRpbWVyID0gbnVsbDsKICB9LAoKICBvblRpbWVyRXZlbnQ6IGZ1bmN0aW9u
KCkgewogICAgaWYgKCF0aGlzLmN1cnJlbnRseUV4ZWN1dGluZykgewogICAgICB0
cnkgewogICAgICAgIHRoaXMuY3VycmVudGx5RXhlY3V0aW5nID0gdHJ1ZTsKICAg
ICAgICB0aGlzLmV4ZWN1dGUoKTsKICAgICAgfSBmaW5hbGx5IHsKICAgICAgICB0
aGlzLmN1cnJlbnRseUV4ZWN1dGluZyA9IGZhbHNlOwogICAgICB9CiAgICB9CiAg
fQp9KTsKT2JqZWN0LmV4dGVuZChTdHJpbmcsIHsKICBpbnRlcnByZXQ6IGZ1bmN0
aW9uKHZhbHVlKSB7CiAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICcnIDogU3Ry
aW5nKHZhbHVlKTsKICB9LAogIHNwZWNpYWxDaGFyOiB7CiAgICAnXGInOiAnXFxi
JywKICAgICdcdCc6ICdcXHQnLAogICAgJ1xuJzogJ1xcbicsCiAgICAnXGYnOiAn
XFxmJywKICAgICdccic6ICdcXHInLAogICAgJ1xcJzogJ1xcXFwnCiAgfQp9KTsK
Ck9iamVjdC5leHRlbmQoU3RyaW5nLnByb3RvdHlwZSwgewogIGdzdWI6IGZ1bmN0
aW9uKHBhdHRlcm4sIHJlcGxhY2VtZW50KSB7CiAgICB2YXIgcmVzdWx0ID0gJycs
IHNvdXJjZSA9IHRoaXMsIG1hdGNoOwogICAgcmVwbGFjZW1lbnQgPSBhcmd1bWVu
dHMuY2FsbGVlLnByZXBhcmVSZXBsYWNlbWVudChyZXBsYWNlbWVudCk7CgogICAg
d2hpbGUgKHNvdXJjZS5sZW5ndGggPiAwKSB7CiAgICAgIGlmIChtYXRjaCA9IHNv
dXJjZS5tYXRjaChwYXR0ZXJuKSkgewogICAgICAgIHJlc3VsdCArPSBzb3VyY2Uu
c2xpY2UoMCwgbWF0Y2guaW5kZXgpOwogICAgICAgIHJlc3VsdCArPSBTdHJpbmcu
aW50ZXJwcmV0KHJlcGxhY2VtZW50KG1hdGNoKSk7CiAgICAgICAgc291cmNlICA9
IHNvdXJjZS5zbGljZShtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aCk7CiAg
ICAgIH0gZWxzZSB7CiAgICAgICAgcmVzdWx0ICs9IHNvdXJjZSwgc291cmNlID0g
Jyc7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfSwKCiAgc3Vi
OiBmdW5jdGlvbihwYXR0ZXJuLCByZXBsYWNlbWVudCwgY291bnQpIHsKICAgIHJl
cGxhY2VtZW50ID0gdGhpcy5nc3ViLnByZXBhcmVSZXBsYWNlbWVudChyZXBsYWNl
bWVudCk7CiAgICBjb3VudCA9IE9iamVjdC5pc1VuZGVmaW5lZChjb3VudCkgPyAx
IDogY291bnQ7CgogICAgcmV0dXJuIHRoaXMuZ3N1YihwYXR0ZXJuLCBmdW5jdGlv
bihtYXRjaCkgewogICAgICBpZiAoLS1jb3VudCA8IDApIHJldHVybiBtYXRjaFsw
XTsKICAgICAgcmV0dXJuIHJlcGxhY2VtZW50KG1hdGNoKTsKICAgIH0pOwogIH0s
CgogIHNjYW46IGZ1bmN0aW9uKHBhdHRlcm4sIGl0ZXJhdG9yKSB7CiAgICB0aGlz
LmdzdWIocGF0dGVybiwgaXRlcmF0b3IpOwogICAgcmV0dXJuIFN0cmluZyh0aGlz
KTsKICB9LAoKICB0cnVuY2F0ZTogZnVuY3Rpb24obGVuZ3RoLCB0cnVuY2F0aW9u
KSB7CiAgICBsZW5ndGggPSBsZW5ndGggfHwgMzA7CiAgICB0cnVuY2F0aW9uID0g
T2JqZWN0LmlzVW5kZWZpbmVkKHRydW5jYXRpb24pID8gJy4uLicgOiB0cnVuY2F0
aW9uOwogICAgcmV0dXJuIHRoaXMubGVuZ3RoID4gbGVuZ3RoID8KICAgICAgdGhp
cy5zbGljZSgwLCBsZW5ndGggLSB0cnVuY2F0aW9uLmxlbmd0aCkgKyB0cnVuY2F0
aW9uIDogU3RyaW5nKHRoaXMpOwogIH0sCgogIHN0cmlwOiBmdW5jdGlvbigpIHsK
ICAgIHJldHVybiB0aGlzLnJlcGxhY2UoL15ccysvLCAnJykucmVwbGFjZSgvXHMr
JC8sICcnKTsKICB9LAoKICBzdHJpcFRhZ3M6IGZ1bmN0aW9uKCkgewogICAgcmV0
dXJuIHRoaXMucmVwbGFjZSgvPFwvP1tePl0rPi9naSwgJycpOwogIH0sCgogIHN0
cmlwU2NyaXB0czogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gdGhpcy5yZXBsYWNl
KG5ldyBSZWdFeHAoUHJvdG90eXBlLlNjcmlwdEZyYWdtZW50LCAnaW1nJyksICcn
KTsKICB9LAoKICBleHRyYWN0U2NyaXB0czogZnVuY3Rpb24oKSB7CiAgICB2YXIg
bWF0Y2hBbGwgPSBuZXcgUmVnRXhwKFByb3RvdHlwZS5TY3JpcHRGcmFnbWVudCwg
J2ltZycpOwogICAgdmFyIG1hdGNoT25lID0gbmV3IFJlZ0V4cChQcm90b3R5cGUu
U2NyaXB0RnJhZ21lbnQsICdpbScpOwogICAgcmV0dXJuICh0aGlzLm1hdGNoKG1h
dGNoQWxsKSB8fCBbXSkubWFwKGZ1bmN0aW9uKHNjcmlwdFRhZykgewogICAgICBy
ZXR1cm4gKHNjcmlwdFRhZy5tYXRjaChtYXRjaE9uZSkgfHwgWycnLCAnJ10pWzFd
OwogICAgfSk7CiAgfSwKCiAgZXZhbFNjcmlwdHM6IGZ1bmN0aW9uKCkgewogICAg
cmV0dXJuIHRoaXMuZXh0cmFjdFNjcmlwdHMoKS5tYXAoZnVuY3Rpb24oc2NyaXB0
KSB7IHJldHVybiBldmFsKHNjcmlwdCkgfSk7CiAgfSwKCiAgZXNjYXBlSFRNTDog
ZnVuY3Rpb24oKSB7CiAgICB2YXIgc2VsZiA9IGFyZ3VtZW50cy5jYWxsZWU7CiAg
ICBzZWxmLnRleHQuZGF0YSA9IHRoaXM7CiAgICByZXR1cm4gc2VsZi5kaXYuaW5u
ZXJIVE1MOwogIH0sCgogIHVuZXNjYXBlSFRNTDogZnVuY3Rpb24oKSB7CiAgICB2
YXIgZGl2ID0gbmV3IEVsZW1lbnQoJ2RpdicpOwogICAgZGl2LmlubmVySFRNTCA9
IHRoaXMuc3RyaXBUYWdzKCk7CiAgICByZXR1cm4gZGl2LmNoaWxkTm9kZXNbMF0g
PyAoZGl2LmNoaWxkTm9kZXMubGVuZ3RoID4gMSA/CiAgICAgICRBKGRpdi5jaGls
ZE5vZGVzKS5pbmplY3QoJycsIGZ1bmN0aW9uKG1lbW8sIG5vZGUpIHsgcmV0dXJu
IG1lbW8rbm9kZS5ub2RlVmFsdWUgfSkgOgogICAgICBkaXYuY2hpbGROb2Rlc1sw
XS5ub2RlVmFsdWUpIDogJyc7CiAgfSwKCiAgdG9RdWVyeVBhcmFtczogZnVuY3Rp
b24oc2VwYXJhdG9yKSB7CiAgICB2YXIgbWF0Y2ggPSB0aGlzLnN0cmlwKCkubWF0
Y2goLyhbXj8jXSopKCMuKik/JC8pOwogICAgaWYgKCFtYXRjaCkgcmV0dXJuIHsg
fTsKCiAgICByZXR1cm4gbWF0Y2hbMV0uc3BsaXQoc2VwYXJhdG9yIHx8ICcmJyku
aW5qZWN0KHsgfSwgZnVuY3Rpb24oaGFzaCwgcGFpcikgewogICAgICBpZiAoKHBh
aXIgPSBwYWlyLnNwbGl0KCc9JykpWzBdKSB7CiAgICAgICAgdmFyIGtleSA9IGRl
Y29kZVVSSUNvbXBvbmVudChwYWlyLnNoaWZ0KCkpOwogICAgICAgIHZhciB2YWx1
ZSA9IHBhaXIubGVuZ3RoID4gMSA/IHBhaXIuam9pbignPScpIDogcGFpclswXTsK
ICAgICAgICBpZiAodmFsdWUgIT0gdW5kZWZpbmVkKSB2YWx1ZSA9IGRlY29kZVVS
SUNvbXBvbmVudCh2YWx1ZSk7CgogICAgICAgIGlmIChrZXkgaW4gaGFzaCkgewog
ICAgICAgICAgaWYgKCFPYmplY3QuaXNBcnJheShoYXNoW2tleV0pKSBoYXNoW2tl
eV0gPSBbaGFzaFtrZXldXTsKICAgICAgICAgIGhhc2hba2V5XS5wdXNoKHZhbHVl
KTsKICAgICAgICB9CiAgICAgICAgZWxzZSBoYXNoW2tleV0gPSB2YWx1ZTsKICAg
ICAgfQogICAgICByZXR1cm4gaGFzaDsKICAgIH0pOwogIH0sCgogIHRvQXJyYXk6
IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMuc3BsaXQoJycpOwogIH0sCgog
IHN1Y2M6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMuc2xpY2UoMCwgdGhp
cy5sZW5ndGggLSAxKSArCiAgICAgIFN0cmluZy5mcm9tQ2hhckNvZGUodGhpcy5j
aGFyQ29kZUF0KHRoaXMubGVuZ3RoIC0gMSkgKyAxKTsKICB9LAoKICB0aW1lczog
ZnVuY3Rpb24oY291bnQpIHsKICAgIHJldHVybiBjb3VudCA8IDEgPyAnJyA6IG5l
dyBBcnJheShjb3VudCArIDEpLmpvaW4odGhpcyk7CiAgfSwKCiAgY2FtZWxpemU6
IGZ1bmN0aW9uKCkgewogICAgdmFyIHBhcnRzID0gdGhpcy5zcGxpdCgnLScpLCBs
ZW4gPSBwYXJ0cy5sZW5ndGg7CiAgICBpZiAobGVuID09IDEpIHJldHVybiBwYXJ0
c1swXTsKCiAgICB2YXIgY2FtZWxpemVkID0gdGhpcy5jaGFyQXQoMCkgPT0gJy0n
CiAgICAgID8gcGFydHNbMF0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYXJ0
c1swXS5zdWJzdHJpbmcoMSkKICAgICAgOiBwYXJ0c1swXTsKCiAgICBmb3IgKHZh
ciBpID0gMTsgaSA8IGxlbjsgaSsrKQogICAgICBjYW1lbGl6ZWQgKz0gcGFydHNb
aV0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYXJ0c1tpXS5zdWJzdHJpbmco
MSk7CgogICAgcmV0dXJuIGNhbWVsaXplZDsKICB9LAoKICBjYXBpdGFsaXplOiBm
dW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzLmNoYXJBdCgwKS50b1VwcGVyQ2Fz
ZSgpICsgdGhpcy5zdWJzdHJpbmcoMSkudG9Mb3dlckNhc2UoKTsKICB9LAoKICB1
bmRlcnNjb3JlOiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzLmdzdWIoLzo6
LywgJy8nKS5nc3ViKC8oW0EtWl0rKShbQS1aXVthLXpdKS8sJyN7MX1fI3syfScp
LmdzdWIoLyhbYS16XGRdKShbQS1aXSkvLCcjezF9XyN7Mn0nKS5nc3ViKC8tLywn
XycpLnRvTG93ZXJDYXNlKCk7CiAgfSwKCiAgZGFzaGVyaXplOiBmdW5jdGlvbigp
IHsKICAgIHJldHVybiB0aGlzLmdzdWIoL18vLCctJyk7CiAgfSwKCiAgaW5zcGVj
dDogZnVuY3Rpb24odXNlRG91YmxlUXVvdGVzKSB7CiAgICB2YXIgZXNjYXBlZFN0
cmluZyA9IHRoaXMuZ3N1YigvW1x4MDAtXHgxZlxcXS8sIGZ1bmN0aW9uKG1hdGNo
KSB7CiAgICAgIHZhciBjaGFyYWN0ZXIgPSBTdHJpbmcuc3BlY2lhbENoYXJbbWF0
Y2hbMF1dOwogICAgICByZXR1cm4gY2hhcmFjdGVyID8gY2hhcmFjdGVyIDogJ1xc
dTAwJyArIG1hdGNoWzBdLmNoYXJDb2RlQXQoKS50b1BhZGRlZFN0cmluZygyLCAx
Nik7CiAgICB9KTsKICAgIGlmICh1c2VEb3VibGVRdW90ZXMpIHJldHVybiAnIicg
KyBlc2NhcGVkU3RyaW5nLnJlcGxhY2UoLyIvZywgJ1xcIicpICsgJyInOwogICAg
cmV0dXJuICInIiArIGVzY2FwZWRTdHJpbmcucmVwbGFjZSgvJy9nLCAnXFxcJycp
ICsgIiciOwogIH0sCgogIHRvSlNPTjogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4g
dGhpcy5pbnNwZWN0KHRydWUpOwogIH0sCgogIHVuZmlsdGVySlNPTjogZnVuY3Rp
b24oZmlsdGVyKSB7CiAgICByZXR1cm4gdGhpcy5zdWIoZmlsdGVyIHx8IFByb3Rv
dHlwZS5KU09ORmlsdGVyLCAnI3sxfScpOwogIH0sCgogIGlzSlNPTjogZnVuY3Rp
b24oKSB7CiAgICB2YXIgc3RyID0gdGhpczsKICAgIGlmIChzdHIuYmxhbmsoKSkg
cmV0dXJuIGZhbHNlOwogICAgc3RyID0gdGhpcy5yZXBsYWNlKC9cXC4vZywgJ0An
KS5yZXBsYWNlKC8iW14iXFxcblxyXSoiL2csICcnKTsKICAgIHJldHVybiAoL15b
LDp7fVxbXF0wLTkuXC0rRWFlZmxuci11IFxuXHJcdF0qJC8pLnRlc3Qoc3RyKTsK
ICB9LAoKICBldmFsSlNPTjogZnVuY3Rpb24oc2FuaXRpemUpIHsKICAgIHZhciBq
c29uID0gdGhpcy51bmZpbHRlckpTT04oKTsKICAgIHRyeSB7CiAgICAgIGlmICgh
c2FuaXRpemUgfHwganNvbi5pc0pTT04oKSkgcmV0dXJuIGV2YWwoJygnICsganNv
biArICcpJyk7CiAgICB9IGNhdGNoIChlKSB7IH0KICAgIHRocm93IG5ldyBTeW50
YXhFcnJvcignQmFkbHkgZm9ybWVkIEpTT04gc3RyaW5nOiAnICsgdGhpcy5pbnNw
ZWN0KCkpOwogIH0sCgogIGluY2x1ZGU6IGZ1bmN0aW9uKHBhdHRlcm4pIHsKICAg
IHJldHVybiB0aGlzLmluZGV4T2YocGF0dGVybikgPiAtMTsKICB9LAoKICBzdGFy
dHNXaXRoOiBmdW5jdGlvbihwYXR0ZXJuKSB7CiAgICByZXR1cm4gdGhpcy5pbmRl
eE9mKHBhdHRlcm4pID09PSAwOwogIH0sCgogIGVuZHNXaXRoOiBmdW5jdGlvbihw
YXR0ZXJuKSB7CiAgICB2YXIgZCA9IHRoaXMubGVuZ3RoIC0gcGF0dGVybi5sZW5n
dGg7CiAgICByZXR1cm4gZCA+PSAwICYmIHRoaXMubGFzdEluZGV4T2YocGF0dGVy
bikgPT09IGQ7CiAgfSwKCiAgZW1wdHk6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJu
IHRoaXMgPT0gJyc7CiAgfSwKCiAgYmxhbms6IGZ1bmN0aW9uKCkgewogICAgcmV0
dXJuIC9eXHMqJC8udGVzdCh0aGlzKTsKICB9LAoKICBpbnRlcnBvbGF0ZTogZnVu
Y3Rpb24ob2JqZWN0LCBwYXR0ZXJuKSB7CiAgICByZXR1cm4gbmV3IFRlbXBsYXRl
KHRoaXMsIHBhdHRlcm4pLmV2YWx1YXRlKG9iamVjdCk7CiAgfQp9KTsKCmlmIChQ
cm90b3R5cGUuQnJvd3Nlci5XZWJLaXQgfHwgUHJvdG90eXBlLkJyb3dzZXIuSUUp
IE9iamVjdC5leHRlbmQoU3RyaW5nLnByb3RvdHlwZSwgewogIGVzY2FwZUhUTUw6
IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMucmVwbGFjZSgvJi9nLCcmYW1w
OycpLnJlcGxhY2UoLzwvZywnJmx0OycpLnJlcGxhY2UoLz4vZywnJmd0OycpOwog
IH0sCiAgdW5lc2NhcGVIVE1MOiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlz
LnN0cmlwVGFncygpLnJlcGxhY2UoLyZhbXA7L2csJyYnKS5yZXBsYWNlKC8mbHQ7
L2csJzwnKS5yZXBsYWNlKC8mZ3Q7L2csJz4nKTsKICB9Cn0pOwoKU3RyaW5nLnBy
b3RvdHlwZS5nc3ViLnByZXBhcmVSZXBsYWNlbWVudCA9IGZ1bmN0aW9uKHJlcGxh
Y2VtZW50KSB7CiAgaWYgKE9iamVjdC5pc0Z1bmN0aW9uKHJlcGxhY2VtZW50KSkg
cmV0dXJuIHJlcGxhY2VtZW50OwogIHZhciB0ZW1wbGF0ZSA9IG5ldyBUZW1wbGF0
ZShyZXBsYWNlbWVudCk7CiAgcmV0dXJuIGZ1bmN0aW9uKG1hdGNoKSB7IHJldHVy
biB0ZW1wbGF0ZS5ldmFsdWF0ZShtYXRjaCkgfTsKfTsKClN0cmluZy5wcm90b3R5
cGUucGFyc2VRdWVyeSA9IFN0cmluZy5wcm90b3R5cGUudG9RdWVyeVBhcmFtczsK
Ck9iamVjdC5leHRlbmQoU3RyaW5nLnByb3RvdHlwZS5lc2NhcGVIVE1MLCB7CiAg
ZGl2OiAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksCiAgdGV4dDogZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoJycpCn0pOwoKU3RyaW5nLnByb3RvdHlwZS5l
c2NhcGVIVE1MLmRpdi5hcHBlbmRDaGlsZChTdHJpbmcucHJvdG90eXBlLmVzY2Fw
ZUhUTUwudGV4dCk7Cgp2YXIgVGVtcGxhdGUgPSBDbGFzcy5jcmVhdGUoewogIGlu
aXRpYWxpemU6IGZ1bmN0aW9uKHRlbXBsYXRlLCBwYXR0ZXJuKSB7CiAgICB0aGlz
LnRlbXBsYXRlID0gdGVtcGxhdGUudG9TdHJpbmcoKTsKICAgIHRoaXMucGF0dGVy
biA9IHBhdHRlcm4gfHwgVGVtcGxhdGUuUGF0dGVybjsKICB9LAoKICBldmFsdWF0
ZTogZnVuY3Rpb24ob2JqZWN0KSB7CiAgICBpZiAoT2JqZWN0LmlzRnVuY3Rpb24o
b2JqZWN0LnRvVGVtcGxhdGVSZXBsYWNlbWVudHMpKQogICAgICBvYmplY3QgPSBv
YmplY3QudG9UZW1wbGF0ZVJlcGxhY2VtZW50cygpOwoKICAgIHJldHVybiB0aGlz
LnRlbXBsYXRlLmdzdWIodGhpcy5wYXR0ZXJuLCBmdW5jdGlvbihtYXRjaCkgewog
ICAgICBpZiAob2JqZWN0ID09IG51bGwpIHJldHVybiAnJzsKCiAgICAgIHZhciBi
ZWZvcmUgPSBtYXRjaFsxXSB8fCAnJzsKICAgICAgaWYgKGJlZm9yZSA9PSAnXFwn
KSByZXR1cm4gbWF0Y2hbMl07CgogICAgICB2YXIgY3R4ID0gb2JqZWN0LCBleHBy
ID0gbWF0Y2hbM107CiAgICAgIHZhciBwYXR0ZXJuID0gL14oW14uW10rfFxbKCg/
Oi4qP1teXFxdKT8pXF0pKFwufFxbfCQpLzsKICAgICAgbWF0Y2ggPSBwYXR0ZXJu
LmV4ZWMoZXhwcik7CiAgICAgIGlmIChtYXRjaCA9PSBudWxsKSByZXR1cm4gYmVm
b3JlOwoKICAgICAgd2hpbGUgKG1hdGNoICE9IG51bGwpIHsKICAgICAgICB2YXIg
Y29tcCA9IG1hdGNoWzFdLnN0YXJ0c1dpdGgoJ1snKSA/IG1hdGNoWzJdLmdzdWIo
J1xcXFxdJywgJ10nKSA6IG1hdGNoWzFdOwogICAgICAgIGN0eCA9IGN0eFtjb21w
XTsKICAgICAgICBpZiAobnVsbCA9PSBjdHggfHwgJycgPT0gbWF0Y2hbM10pIGJy
ZWFrOwogICAgICAgIGV4cHIgPSBleHByLnN1YnN0cmluZygnWycgPT0gbWF0Y2hb
M10gPyBtYXRjaFsxXS5sZW5ndGggOiBtYXRjaFswXS5sZW5ndGgpOwogICAgICAg
IG1hdGNoID0gcGF0dGVybi5leGVjKGV4cHIpOwogICAgICB9CgogICAgICByZXR1
cm4gYmVmb3JlICsgU3RyaW5nLmludGVycHJldChjdHgpOwogICAgfSk7CiAgfQp9
KTsKVGVtcGxhdGUuUGF0dGVybiA9IC8oXnwufFxyfFxuKSgjXHsoLio/KVx9KS87
Cgp2YXIgJGJyZWFrID0geyB9OwoKdmFyIEVudW1lcmFibGUgPSB7CiAgZWFjaDog
ZnVuY3Rpb24oaXRlcmF0b3IsIGNvbnRleHQpIHsKICAgIHZhciBpbmRleCA9IDA7
CiAgICB0cnkgewogICAgICB0aGlzLl9lYWNoKGZ1bmN0aW9uKHZhbHVlKSB7CiAg
ICAgICAgaXRlcmF0b3IuY2FsbChjb250ZXh0LCB2YWx1ZSwgaW5kZXgrKyk7CiAg
ICAgIH0pOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSAhPSAkYnJlYWsp
IHRocm93IGU7CiAgICB9CiAgICByZXR1cm4gdGhpczsKICB9LAoKICBlYWNoU2xp
Y2U6IGZ1bmN0aW9uKG51bWJlciwgaXRlcmF0b3IsIGNvbnRleHQpIHsKICAgIHZh
ciBpbmRleCA9IC1udW1iZXIsIHNsaWNlcyA9IFtdLCBhcnJheSA9IHRoaXMudG9B
cnJheSgpOwogICAgaWYgKG51bWJlciA8IDEpIHJldHVybiBhcnJheTsKICAgIHdo
aWxlICgoaW5kZXggKz0gbnVtYmVyKSA8IGFycmF5Lmxlbmd0aCkKICAgICAgc2xp
Y2VzLnB1c2goYXJyYXkuc2xpY2UoaW5kZXgsIGluZGV4K251bWJlcikpOwogICAg
cmV0dXJuIHNsaWNlcy5jb2xsZWN0KGl0ZXJhdG9yLCBjb250ZXh0KTsKICB9LAoK
ICBhbGw6IGZ1bmN0aW9uKGl0ZXJhdG9yLCBjb250ZXh0KSB7CiAgICBpdGVyYXRv
ciA9IGl0ZXJhdG9yIHx8IFByb3RvdHlwZS5LOwogICAgdmFyIHJlc3VsdCA9IHRy
dWU7CiAgICB0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAhIWl0ZXJhdG9yLmNhbGwoY29udGV4dCwgdmFs
dWUsIGluZGV4KTsKICAgICAgaWYgKCFyZXN1bHQpIHRocm93ICRicmVhazsKICAg
IH0pOwogICAgcmV0dXJuIHJlc3VsdDsKICB9LAoKICBhbnk6IGZ1bmN0aW9uKGl0
ZXJhdG9yLCBjb250ZXh0KSB7CiAgICBpdGVyYXRvciA9IGl0ZXJhdG9yIHx8IFBy
b3RvdHlwZS5LOwogICAgdmFyIHJlc3VsdCA9IGZhbHNlOwogICAgdGhpcy5lYWNo
KGZ1bmN0aW9uKHZhbHVlLCBpbmRleCkgewogICAgICBpZiAocmVzdWx0ID0gISFp
dGVyYXRvci5jYWxsKGNvbnRleHQsIHZhbHVlLCBpbmRleCkpCiAgICAgICAgdGhy
b3cgJGJyZWFrOwogICAgfSk7CiAgICByZXR1cm4gcmVzdWx0OwogIH0sCgogIGNv
bGxlY3Q6IGZ1bmN0aW9uKGl0ZXJhdG9yLCBjb250ZXh0KSB7CiAgICBpdGVyYXRv
ciA9IGl0ZXJhdG9yIHx8IFByb3RvdHlwZS5LOwogICAgdmFyIHJlc3VsdHMgPSBb
XTsKICAgIHRoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSwgaW5kZXgpIHsKICAgICAg
cmVzdWx0cy5wdXNoKGl0ZXJhdG9yLmNhbGwoY29udGV4dCwgdmFsdWUsIGluZGV4
KSk7CiAgICB9KTsKICAgIHJldHVybiByZXN1bHRzOwogIH0sCgogIGRldGVjdDog
ZnVuY3Rpb24oaXRlcmF0b3IsIGNvbnRleHQpIHsKICAgIHZhciByZXN1bHQ7CiAg
ICB0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIGlmIChp
dGVyYXRvci5jYWxsKGNvbnRleHQsIHZhbHVlLCBpbmRleCkpIHsKICAgICAgICBy
ZXN1bHQgPSB2YWx1ZTsKICAgICAgICB0aHJvdyAkYnJlYWs7CiAgICAgIH0KICAg
IH0pOwogICAgcmV0dXJuIHJlc3VsdDsKICB9LAoKICBmaW5kQWxsOiBmdW5jdGlv
bihpdGVyYXRvciwgY29udGV4dCkgewogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAg
IHRoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSwgaW5kZXgpIHsKICAgICAgaWYgKGl0
ZXJhdG9yLmNhbGwoY29udGV4dCwgdmFsdWUsIGluZGV4KSkKICAgICAgICByZXN1
bHRzLnB1c2godmFsdWUpOwogICAgfSk7CiAgICByZXR1cm4gcmVzdWx0czsKICB9
LAoKICBncmVwOiBmdW5jdGlvbihmaWx0ZXIsIGl0ZXJhdG9yLCBjb250ZXh0KSB7
CiAgICBpdGVyYXRvciA9IGl0ZXJhdG9yIHx8IFByb3RvdHlwZS5LOwogICAgdmFy
IHJlc3VsdHMgPSBbXTsKCiAgICBpZiAoT2JqZWN0LmlzU3RyaW5nKGZpbHRlcikp
CiAgICAgIGZpbHRlciA9IG5ldyBSZWdFeHAoZmlsdGVyKTsKCiAgICB0aGlzLmVh
Y2goZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIGlmIChmaWx0ZXIubWF0
Y2godmFsdWUpKQogICAgICAgIHJlc3VsdHMucHVzaChpdGVyYXRvci5jYWxsKGNv
bnRleHQsIHZhbHVlLCBpbmRleCkpOwogICAgfSk7CiAgICByZXR1cm4gcmVzdWx0
czsKICB9LAoKICBpbmNsdWRlOiBmdW5jdGlvbihvYmplY3QpIHsKICAgIGlmIChP
YmplY3QuaXNGdW5jdGlvbih0aGlzLmluZGV4T2YpKQogICAgICBpZiAodGhpcy5p
bmRleE9mKG9iamVjdCkgIT0gLTEpIHJldHVybiB0cnVlOwoKICAgIHZhciBmb3Vu
ZCA9IGZhbHNlOwogICAgdGhpcy5lYWNoKGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAg
IGlmICh2YWx1ZSA9PSBvYmplY3QpIHsKICAgICAgICBmb3VuZCA9IHRydWU7CiAg
ICAgICAgdGhyb3cgJGJyZWFrOwogICAgICB9CiAgICB9KTsKICAgIHJldHVybiBm
b3VuZDsKICB9LAoKICBpbkdyb3Vwc09mOiBmdW5jdGlvbihudW1iZXIsIGZpbGxX
aXRoKSB7CiAgICBmaWxsV2l0aCA9IE9iamVjdC5pc1VuZGVmaW5lZChmaWxsV2l0
aCkgPyBudWxsIDogZmlsbFdpdGg7CiAgICByZXR1cm4gdGhpcy5lYWNoU2xpY2Uo
bnVtYmVyLCBmdW5jdGlvbihzbGljZSkgewogICAgICB3aGlsZShzbGljZS5sZW5n
dGggPCBudW1iZXIpIHNsaWNlLnB1c2goZmlsbFdpdGgpOwogICAgICByZXR1cm4g
c2xpY2U7CiAgICB9KTsKICB9LAoKICBpbmplY3Q6IGZ1bmN0aW9uKG1lbW8sIGl0
ZXJhdG9yLCBjb250ZXh0KSB7CiAgICB0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUs
IGluZGV4KSB7CiAgICAgIG1lbW8gPSBpdGVyYXRvci5jYWxsKGNvbnRleHQsIG1l
bW8sIHZhbHVlLCBpbmRleCk7CiAgICB9KTsKICAgIHJldHVybiBtZW1vOwogIH0s
CgogIGludm9rZTogZnVuY3Rpb24obWV0aG9kKSB7CiAgICB2YXIgYXJncyA9ICRB
KGFyZ3VtZW50cykuc2xpY2UoMSk7CiAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rp
b24odmFsdWUpIHsKICAgICAgcmV0dXJuIHZhbHVlW21ldGhvZF0uYXBwbHkodmFs
dWUsIGFyZ3MpOwogICAgfSk7CiAgfSwKCiAgbWF4OiBmdW5jdGlvbihpdGVyYXRv
ciwgY29udGV4dCkgewogICAgaXRlcmF0b3IgPSBpdGVyYXRvciB8fCBQcm90b3R5
cGUuSzsKICAgIHZhciByZXN1bHQ7CiAgICB0aGlzLmVhY2goZnVuY3Rpb24odmFs
dWUsIGluZGV4KSB7CiAgICAgIHZhbHVlID0gaXRlcmF0b3IuY2FsbChjb250ZXh0
LCB2YWx1ZSwgaW5kZXgpOwogICAgICBpZiAocmVzdWx0ID09IG51bGwgfHwgdmFs
dWUgPj0gcmVzdWx0KQogICAgICAgIHJlc3VsdCA9IHZhbHVlOwogICAgfSk7CiAg
ICByZXR1cm4gcmVzdWx0OwogIH0sCgogIG1pbjogZnVuY3Rpb24oaXRlcmF0b3Is
IGNvbnRleHQpIHsKICAgIGl0ZXJhdG9yID0gaXRlcmF0b3IgfHwgUHJvdG90eXBl
Lks7CiAgICB2YXIgcmVzdWx0OwogICAgdGhpcy5lYWNoKGZ1bmN0aW9uKHZhbHVl
LCBpbmRleCkgewogICAgICB2YWx1ZSA9IGl0ZXJhdG9yLmNhbGwoY29udGV4dCwg
dmFsdWUsIGluZGV4KTsKICAgICAgaWYgKHJlc3VsdCA9PSBudWxsIHx8IHZhbHVl
IDwgcmVzdWx0KQogICAgICAgIHJlc3VsdCA9IHZhbHVlOwogICAgfSk7CiAgICBy
ZXR1cm4gcmVzdWx0OwogIH0sCgogIHBhcnRpdGlvbjogZnVuY3Rpb24oaXRlcmF0
b3IsIGNvbnRleHQpIHsKICAgIGl0ZXJhdG9yID0gaXRlcmF0b3IgfHwgUHJvdG90
eXBlLks7CiAgICB2YXIgdHJ1ZXMgPSBbXSwgZmFsc2VzID0gW107CiAgICB0aGlz
LmVhY2goZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIChpdGVyYXRvci5j
YWxsKGNvbnRleHQsIHZhbHVlLCBpbmRleCkgPwogICAgICAgIHRydWVzIDogZmFs
c2VzKS5wdXNoKHZhbHVlKTsKICAgIH0pOwogICAgcmV0dXJuIFt0cnVlcywgZmFs
c2VzXTsKICB9LAoKICBwbHVjazogZnVuY3Rpb24ocHJvcGVydHkpIHsKICAgIHZh
ciByZXN1bHRzID0gW107CiAgICB0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUpIHsK
ICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlW3Byb3BlcnR5XSk7CiAgICB9KTsKICAg
IHJldHVybiByZXN1bHRzOwogIH0sCgogIHJlamVjdDogZnVuY3Rpb24oaXRlcmF0
b3IsIGNvbnRleHQpIHsKICAgIHZhciByZXN1bHRzID0gW107CiAgICB0aGlzLmVh
Y2goZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIGlmICghaXRlcmF0b3Iu
Y2FsbChjb250ZXh0LCB2YWx1ZSwgaW5kZXgpKQogICAgICAgIHJlc3VsdHMucHVz
aCh2YWx1ZSk7CiAgICB9KTsKICAgIHJldHVybiByZXN1bHRzOwogIH0sCgogIHNv
cnRCeTogZnVuY3Rpb24oaXRlcmF0b3IsIGNvbnRleHQpIHsKICAgIHJldHVybiB0
aGlzLm1hcChmdW5jdGlvbih2YWx1ZSwgaW5kZXgpIHsKICAgICAgcmV0dXJuIHsK
ICAgICAgICB2YWx1ZTogdmFsdWUsCiAgICAgICAgY3JpdGVyaWE6IGl0ZXJhdG9y
LmNhbGwoY29udGV4dCwgdmFsdWUsIGluZGV4KQogICAgICB9OwogICAgfSkuc29y
dChmdW5jdGlvbihsZWZ0LCByaWdodCkgewogICAgICB2YXIgYSA9IGxlZnQuY3Jp
dGVyaWEsIGIgPSByaWdodC5jcml0ZXJpYTsKICAgICAgcmV0dXJuIGEgPCBiID8g
LTEgOiBhID4gYiA/IDEgOiAwOwogICAgfSkucGx1Y2soJ3ZhbHVlJyk7CiAgfSwK
CiAgdG9BcnJheTogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gdGhpcy5tYXAoKTsK
ICB9LAoKICB6aXA6IGZ1bmN0aW9uKCkgewogICAgdmFyIGl0ZXJhdG9yID0gUHJv
dG90eXBlLkssIGFyZ3MgPSAkQShhcmd1bWVudHMpOwogICAgaWYgKE9iamVjdC5p
c0Z1bmN0aW9uKGFyZ3MubGFzdCgpKSkKICAgICAgaXRlcmF0b3IgPSBhcmdzLnBv
cCgpOwoKICAgIHZhciBjb2xsZWN0aW9ucyA9IFt0aGlzXS5jb25jYXQoYXJncyku
bWFwKCRBKTsKICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbih2YWx1ZSwgaW5k
ZXgpIHsKICAgICAgcmV0dXJuIGl0ZXJhdG9yKGNvbGxlY3Rpb25zLnBsdWNrKGlu
ZGV4KSk7CiAgICB9KTsKICB9LAoKICBzaXplOiBmdW5jdGlvbigpIHsKICAgIHJl
dHVybiB0aGlzLnRvQXJyYXkoKS5sZW5ndGg7CiAgfSwKCiAgaW5zcGVjdDogZnVu
Y3Rpb24oKSB7CiAgICByZXR1cm4gJyM8RW51bWVyYWJsZTonICsgdGhpcy50b0Fy
cmF5KCkuaW5zcGVjdCgpICsgJz4nOwogIH0KfTsKCk9iamVjdC5leHRlbmQoRW51
bWVyYWJsZSwgewogIG1hcDogICAgIEVudW1lcmFibGUuY29sbGVjdCwKICBmaW5k
OiAgICBFbnVtZXJhYmxlLmRldGVjdCwKICBzZWxlY3Q6ICBFbnVtZXJhYmxlLmZp
bmRBbGwsCiAgZmlsdGVyOiAgRW51bWVyYWJsZS5maW5kQWxsLAogIG1lbWJlcjog
IEVudW1lcmFibGUuaW5jbHVkZSwKICBlbnRyaWVzOiBFbnVtZXJhYmxlLnRvQXJy
YXksCiAgZXZlcnk6ICAgRW51bWVyYWJsZS5hbGwsCiAgc29tZTogICAgRW51bWVy
YWJsZS5hbnkKfSk7CmZ1bmN0aW9uICRBKGl0ZXJhYmxlKSB7CiAgaWYgKCFpdGVy
YWJsZSkgcmV0dXJuIFtdOwogIGlmIChpdGVyYWJsZS50b0FycmF5KSByZXR1cm4g
aXRlcmFibGUudG9BcnJheSgpOwogIHZhciBsZW5ndGggPSBpdGVyYWJsZS5sZW5n
dGggfHwgMCwgcmVzdWx0cyA9IG5ldyBBcnJheShsZW5ndGgpOwogIHdoaWxlIChs
ZW5ndGgtLSkgcmVzdWx0c1tsZW5ndGhdID0gaXRlcmFibGVbbGVuZ3RoXTsKICBy
ZXR1cm4gcmVzdWx0czsKfQoKaWYgKFByb3RvdHlwZS5Ccm93c2VyLldlYktpdCkg
ewogICRBID0gZnVuY3Rpb24oaXRlcmFibGUpIHsKICAgIGlmICghaXRlcmFibGUp
IHJldHVybiBbXTsKICAgIC8vIEluIFNhZmFyaSwgb25seSB1c2UgdGhlIGB0b0Fy
cmF5YCBtZXRob2QgaWYgaXQncyBub3QgYSBOb2RlTGlzdC4KICAgIC8vIEEgTm9k
ZUxpc3QgaXMgYSBmdW5jdGlvbiwgaGFzIGFuIGZ1bmN0aW9uIGBpdGVtYCBwcm9w
ZXJ0eSwgYW5kIGEgbnVtZXJpYwogICAgLy8gYGxlbmd0aGAgcHJvcGVydHkuIEFk
YXB0ZWQgZnJvbSBHb29nbGUgRG9jdHlwZS4KICAgIGlmICghKHR5cGVvZiBpdGVy
YWJsZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgaXRlcmFibGUubGVuZ3RoID09
PQogICAgICAgICdudW1iZXInICYmIHR5cGVvZiBpdGVyYWJsZS5pdGVtID09PSAn
ZnVuY3Rpb24nKSAmJiBpdGVyYWJsZS50b0FycmF5KQogICAgICByZXR1cm4gaXRl
cmFibGUudG9BcnJheSgpOwogICAgdmFyIGxlbmd0aCA9IGl0ZXJhYmxlLmxlbmd0
aCB8fCAwLCByZXN1bHRzID0gbmV3IEFycmF5KGxlbmd0aCk7CiAgICB3aGlsZSAo
bGVuZ3RoLS0pIHJlc3VsdHNbbGVuZ3RoXSA9IGl0ZXJhYmxlW2xlbmd0aF07CiAg
ICByZXR1cm4gcmVzdWx0czsKICB9Owp9CgpBcnJheS5mcm9tID0gJEE7CgpPYmpl
Y3QuZXh0ZW5kKEFycmF5LnByb3RvdHlwZSwgRW51bWVyYWJsZSk7CgppZiAoIUFy
cmF5LnByb3RvdHlwZS5fcmV2ZXJzZSkgQXJyYXkucHJvdG90eXBlLl9yZXZlcnNl
ID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7CgpPYmplY3QuZXh0ZW5kKEFycmF5
LnByb3RvdHlwZSwgewogIF9lYWNoOiBmdW5jdGlvbihpdGVyYXRvcikgewogICAg
Zm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IHRoaXMubGVuZ3RoOyBpIDwgbGVuZ3Ro
OyBpKyspCiAgICAgIGl0ZXJhdG9yKHRoaXNbaV0pOwogIH0sCgogIGNsZWFyOiBm
dW5jdGlvbigpIHsKICAgIHRoaXMubGVuZ3RoID0gMDsKICAgIHJldHVybiB0aGlz
OwogIH0sCgogIGZpcnN0OiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzWzBd
OwogIH0sCgogIGxhc3Q6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXNbdGhp
cy5sZW5ndGggLSAxXTsKICB9LAoKICBjb21wYWN0OiBmdW5jdGlvbigpIHsKICAg
IHJldHVybiB0aGlzLnNlbGVjdChmdW5jdGlvbih2YWx1ZSkgewogICAgICByZXR1
cm4gdmFsdWUgIT0gbnVsbDsKICAgIH0pOwogIH0sCgogIGZsYXR0ZW46IGZ1bmN0
aW9uKCkgewogICAgcmV0dXJuIHRoaXMuaW5qZWN0KFtdLCBmdW5jdGlvbihhcnJh
eSwgdmFsdWUpIHsKICAgICAgcmV0dXJuIGFycmF5LmNvbmNhdChPYmplY3QuaXNB
cnJheSh2YWx1ZSkgPwogICAgICAgIHZhbHVlLmZsYXR0ZW4oKSA6IFt2YWx1ZV0p
OwogICAgfSk7CiAgfSwKCiAgd2l0aG91dDogZnVuY3Rpb24oKSB7CiAgICB2YXIg
dmFsdWVzID0gJEEoYXJndW1lbnRzKTsKICAgIHJldHVybiB0aGlzLnNlbGVjdChm
dW5jdGlvbih2YWx1ZSkgewogICAgICByZXR1cm4gIXZhbHVlcy5pbmNsdWRlKHZh
bHVlKTsKICAgIH0pOwogIH0sCgogIHJldmVyc2U6IGZ1bmN0aW9uKGlubGluZSkg
ewogICAgcmV0dXJuIChpbmxpbmUgIT09IGZhbHNlID8gdGhpcyA6IHRoaXMudG9B
cnJheSgpKS5fcmV2ZXJzZSgpOwogIH0sCgogIHJlZHVjZTogZnVuY3Rpb24oKSB7
CiAgICByZXR1cm4gdGhpcy5sZW5ndGggPiAxID8gdGhpcyA6IHRoaXNbMF07CiAg
fSwKCiAgdW5pcTogZnVuY3Rpb24oc29ydGVkKSB7CiAgICByZXR1cm4gdGhpcy5p
bmplY3QoW10sIGZ1bmN0aW9uKGFycmF5LCB2YWx1ZSwgaW5kZXgpIHsKICAgICAg
aWYgKDAgPT0gaW5kZXggfHwgKHNvcnRlZCA/IGFycmF5Lmxhc3QoKSAhPSB2YWx1
ZSA6ICFhcnJheS5pbmNsdWRlKHZhbHVlKSkpCiAgICAgICAgYXJyYXkucHVzaCh2
YWx1ZSk7CiAgICAgIHJldHVybiBhcnJheTsKICAgIH0pOwogIH0sCgogIGludGVy
c2VjdDogZnVuY3Rpb24oYXJyYXkpIHsKICAgIHJldHVybiB0aGlzLnVuaXEoKS5m
aW5kQWxsKGZ1bmN0aW9uKGl0ZW0pIHsKICAgICAgcmV0dXJuIGFycmF5LmRldGVj
dChmdW5jdGlvbih2YWx1ZSkgeyByZXR1cm4gaXRlbSA9PT0gdmFsdWUgfSk7CiAg
ICB9KTsKICB9LAoKICBjbG9uZTogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gW10u
Y29uY2F0KHRoaXMpOwogIH0sCgogIHNpemU6IGZ1bmN0aW9uKCkgewogICAgcmV0
dXJuIHRoaXMubGVuZ3RoOwogIH0sCgogIGluc3BlY3Q6IGZ1bmN0aW9uKCkgewog
ICAgcmV0dXJuICdbJyArIHRoaXMubWFwKE9iamVjdC5pbnNwZWN0KS5qb2luKCcs
ICcpICsgJ10nOwogIH0sCgogIHRvSlNPTjogZnVuY3Rpb24oKSB7CiAgICB2YXIg
cmVzdWx0cyA9IFtdOwogICAgdGhpcy5lYWNoKGZ1bmN0aW9uKG9iamVjdCkgewog
ICAgICB2YXIgdmFsdWUgPSBPYmplY3QudG9KU09OKG9iamVjdCk7CiAgICAgIGlm
ICghT2JqZWN0LmlzVW5kZWZpbmVkKHZhbHVlKSkgcmVzdWx0cy5wdXNoKHZhbHVl
KTsKICAgIH0pOwogICAgcmV0dXJuICdbJyArIHJlc3VsdHMuam9pbignLCAnKSAr
ICddJzsKICB9Cn0pOwoKLy8gdXNlIG5hdGl2ZSBicm93c2VyIEpTIDEuNiBpbXBs
ZW1lbnRhdGlvbiBpZiBhdmFpbGFibGUKaWYgKE9iamVjdC5pc0Z1bmN0aW9uKEFy
cmF5LnByb3RvdHlwZS5mb3JFYWNoKSkKICBBcnJheS5wcm90b3R5cGUuX2VhY2gg
PSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaDsKCmlmICghQXJyYXkucHJvdG90eXBl
LmluZGV4T2YpIEFycmF5LnByb3RvdHlwZS5pbmRleE9mID0gZnVuY3Rpb24oaXRl
bSwgaSkgewogIGkgfHwgKGkgPSAwKTsKICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5n
dGg7CiAgaWYgKGkgPCAwKSBpID0gbGVuZ3RoICsgaTsKICBmb3IgKDsgaSA8IGxl
bmd0aDsgaSsrKQogICAgaWYgKHRoaXNbaV0gPT09IGl0ZW0pIHJldHVybiBpOwog
IHJldHVybiAtMTsKfTsKCmlmICghQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9m
KSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgPSBmdW5jdGlvbihpdGVtLCBp
KSB7CiAgaSA9IGlzTmFOKGkpID8gdGhpcy5sZW5ndGggOiAoaSA8IDAgPyB0aGlz
Lmxlbmd0aCArIGkgOiBpKSArIDE7CiAgdmFyIG4gPSB0aGlzLnNsaWNlKDAsIGkp
LnJldmVyc2UoKS5pbmRleE9mKGl0ZW0pOwogIHJldHVybiAobiA8IDApID8gbiA6
IGkgLSBuIC0gMTsKfTsKCkFycmF5LnByb3RvdHlwZS50b0FycmF5ID0gQXJyYXku
cHJvdG90eXBlLmNsb25lOwoKZnVuY3Rpb24gJHcoc3RyaW5nKSB7CiAgaWYgKCFP
YmplY3QuaXNTdHJpbmcoc3RyaW5nKSkgcmV0dXJuIFtdOwogIHN0cmluZyA9IHN0
cmluZy5zdHJpcCgpOwogIHJldHVybiBzdHJpbmcgPyBzdHJpbmcuc3BsaXQoL1xz
Ky8pIDogW107Cn0KCmlmIChQcm90b3R5cGUuQnJvd3Nlci5PcGVyYSl7CiAgQXJy
YXkucHJvdG90eXBlLmNvbmNhdCA9IGZ1bmN0aW9uKCkgewogICAgdmFyIGFycmF5
ID0gW107CiAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gdGhpcy5sZW5ndGg7
IGkgPCBsZW5ndGg7IGkrKykgYXJyYXkucHVzaCh0aGlzW2ldKTsKICAgIGZvciAo
dmFyIGkgPSAwLCBsZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbGVuZ3Ro
OyBpKyspIHsKICAgICAgaWYgKE9iamVjdC5pc0FycmF5KGFyZ3VtZW50c1tpXSkp
IHsKICAgICAgICBmb3IgKHZhciBqID0gMCwgYXJyYXlMZW5ndGggPSBhcmd1bWVu
dHNbaV0ubGVuZ3RoOyBqIDwgYXJyYXlMZW5ndGg7IGorKykKICAgICAgICAgIGFy
cmF5LnB1c2goYXJndW1lbnRzW2ldW2pdKTsKICAgICAgfSBlbHNlIHsKICAgICAg
ICBhcnJheS5wdXNoKGFyZ3VtZW50c1tpXSk7CiAgICAgIH0KICAgIH0KICAgIHJl
dHVybiBhcnJheTsKICB9Owp9Ck9iamVjdC5leHRlbmQoTnVtYmVyLnByb3RvdHlw
ZSwgewogIHRvQ29sb3JQYXJ0OiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlz
LnRvUGFkZGVkU3RyaW5nKDIsIDE2KTsKICB9LAoKICBzdWNjOiBmdW5jdGlvbigp
IHsKICAgIHJldHVybiB0aGlzICsgMTsKICB9LAoKICB0aW1lczogZnVuY3Rpb24o
aXRlcmF0b3IsIGNvbnRleHQpIHsKICAgICRSKDAsIHRoaXMsIHRydWUpLmVhY2go
aXRlcmF0b3IsIGNvbnRleHQpOwogICAgcmV0dXJuIHRoaXM7CiAgfSwKCiAgdG9Q
YWRkZWRTdHJpbmc6IGZ1bmN0aW9uKGxlbmd0aCwgcmFkaXgpIHsKICAgIHZhciBz
dHJpbmcgPSB0aGlzLnRvU3RyaW5nKHJhZGl4IHx8IDEwKTsKICAgIHJldHVybiAn
MCcudGltZXMobGVuZ3RoIC0gc3RyaW5nLmxlbmd0aCkgKyBzdHJpbmc7CiAgfSwK
CiAgdG9KU09OOiBmdW5jdGlvbigpIHsKICAgIHJldHVybiBpc0Zpbml0ZSh0aGlz
KSA/IHRoaXMudG9TdHJpbmcoKSA6ICdudWxsJzsKICB9Cn0pOwoKJHcoJ2FicyBy
b3VuZCBjZWlsIGZsb29yJykuZWFjaChmdW5jdGlvbihtZXRob2QpewogIE51bWJl
ci5wcm90b3R5cGVbbWV0aG9kXSA9IE1hdGhbbWV0aG9kXS5tZXRob2RpemUoKTsK
fSk7CmZ1bmN0aW9uICRIKG9iamVjdCkgewogIHJldHVybiBuZXcgSGFzaChvYmpl
Y3QpOwp9OwoKdmFyIEhhc2ggPSBDbGFzcy5jcmVhdGUoRW51bWVyYWJsZSwgKGZ1
bmN0aW9uKCkgewoKICBmdW5jdGlvbiB0b1F1ZXJ5UGFpcihrZXksIHZhbHVlKSB7
CiAgICBpZiAoT2JqZWN0LmlzVW5kZWZpbmVkKHZhbHVlKSkgcmV0dXJuIGtleTsK
ICAgIHJldHVybiBrZXkgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5n
LmludGVycHJldCh2YWx1ZSkpOwogIH0KCiAgcmV0dXJuIHsKICAgIGluaXRpYWxp
emU6IGZ1bmN0aW9uKG9iamVjdCkgewogICAgICB0aGlzLl9vYmplY3QgPSBPYmpl
Y3QuaXNIYXNoKG9iamVjdCkgPyBvYmplY3QudG9PYmplY3QoKSA6IE9iamVjdC5j
bG9uZShvYmplY3QpOwogICAgfSwKCiAgICBfZWFjaDogZnVuY3Rpb24oaXRlcmF0
b3IpIHsKICAgICAgZm9yICh2YXIga2V5IGluIHRoaXMuX29iamVjdCkgewogICAg
ICAgIHZhciB2YWx1ZSA9IHRoaXMuX29iamVjdFtrZXldLCBwYWlyID0gW2tleSwg
dmFsdWVdOwogICAgICAgIHBhaXIua2V5ID0ga2V5OwogICAgICAgIHBhaXIudmFs
dWUgPSB2YWx1ZTsKICAgICAgICBpdGVyYXRvcihwYWlyKTsKICAgICAgfQogICAg
fSwKCiAgICBzZXQ6IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHsKICAgICAgcmV0dXJu
IHRoaXMuX29iamVjdFtrZXldID0gdmFsdWU7CiAgICB9LAoKICAgIGdldDogZnVu
Y3Rpb24oa2V5KSB7CiAgICAgIC8vIHNpbXVsYXRpbmcgcG9vcmx5IHN1cHBvcnRl
ZCBoYXNPd25Qcm9wZXJ0eQogICAgICBpZiAodGhpcy5fb2JqZWN0W2tleV0gIT09
IE9iamVjdC5wcm90b3R5cGVba2V5XSkKICAgICAgICByZXR1cm4gdGhpcy5fb2Jq
ZWN0W2tleV07CiAgICB9LAoKICAgIHVuc2V0OiBmdW5jdGlvbihrZXkpIHsKICAg
ICAgdmFyIHZhbHVlID0gdGhpcy5fb2JqZWN0W2tleV07CiAgICAgIGRlbGV0ZSB0
aGlzLl9vYmplY3Rba2V5XTsKICAgICAgcmV0dXJuIHZhbHVlOwogICAgfSwKCiAg
ICB0b09iamVjdDogZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBPYmplY3QuY2xv
bmUodGhpcy5fb2JqZWN0KTsKICAgIH0sCgogICAga2V5czogZnVuY3Rpb24oKSB7
CiAgICAgIHJldHVybiB0aGlzLnBsdWNrKCdrZXknKTsKICAgIH0sCgogICAgdmFs
dWVzOiBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIHRoaXMucGx1Y2soJ3ZhbHVl
Jyk7CiAgICB9LAoKICAgIGluZGV4OiBmdW5jdGlvbih2YWx1ZSkgewogICAgICB2
YXIgbWF0Y2ggPSB0aGlzLmRldGVjdChmdW5jdGlvbihwYWlyKSB7CiAgICAgICAg
cmV0dXJuIHBhaXIudmFsdWUgPT09IHZhbHVlOwogICAgICB9KTsKICAgICAgcmV0
dXJuIG1hdGNoICYmIG1hdGNoLmtleTsKICAgIH0sCgogICAgbWVyZ2U6IGZ1bmN0
aW9uKG9iamVjdCkgewogICAgICByZXR1cm4gdGhpcy5jbG9uZSgpLnVwZGF0ZShv
YmplY3QpOwogICAgfSwKCiAgICB1cGRhdGU6IGZ1bmN0aW9uKG9iamVjdCkgewog
ICAgICByZXR1cm4gbmV3IEhhc2gob2JqZWN0KS5pbmplY3QodGhpcywgZnVuY3Rp
b24ocmVzdWx0LCBwYWlyKSB7CiAgICAgICAgcmVzdWx0LnNldChwYWlyLmtleSwg
cGFpci52YWx1ZSk7CiAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgfSk7CiAg
ICB9LAoKICAgIHRvUXVlcnlTdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgICByZXR1
cm4gdGhpcy5pbmplY3QoW10sIGZ1bmN0aW9uKHJlc3VsdHMsIHBhaXIpIHsKICAg
ICAgICB2YXIga2V5ID0gZW5jb2RlVVJJQ29tcG9uZW50KHBhaXIua2V5KSwgdmFs
dWVzID0gcGFpci52YWx1ZTsKCiAgICAgICAgaWYgKHZhbHVlcyAmJiB0eXBlb2Yg
dmFsdWVzID09ICdvYmplY3QnKSB7CiAgICAgICAgICBpZiAoT2JqZWN0LmlzQXJy
YXkodmFsdWVzKSkKICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHMuY29uY2F0KHZh
bHVlcy5tYXAodG9RdWVyeVBhaXIuY3Vycnkoa2V5KSkpOwogICAgICAgIH0gZWxz
ZSByZXN1bHRzLnB1c2godG9RdWVyeVBhaXIoa2V5LCB2YWx1ZXMpKTsKICAgICAg
ICByZXR1cm4gcmVzdWx0czsKICAgICAgfSkuam9pbignJicpOwogICAgfSwKCiAg
ICBpbnNwZWN0OiBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuICcjPEhhc2g6eycg
KyB0aGlzLm1hcChmdW5jdGlvbihwYWlyKSB7CiAgICAgICAgcmV0dXJuIHBhaXIu
bWFwKE9iamVjdC5pbnNwZWN0KS5qb2luKCc6ICcpOwogICAgICB9KS5qb2luKCcs
ICcpICsgJ30+JzsKICAgIH0sCgogICAgdG9KU09OOiBmdW5jdGlvbigpIHsKICAg
ICAgcmV0dXJuIE9iamVjdC50b0pTT04odGhpcy50b09iamVjdCgpKTsKICAgIH0s
CgogICAgY2xvbmU6IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gbmV3IEhhc2go
dGhpcyk7CiAgICB9CiAgfQp9KSgpKTsKCkhhc2gucHJvdG90eXBlLnRvVGVtcGxh
dGVSZXBsYWNlbWVudHMgPSBIYXNoLnByb3RvdHlwZS50b09iamVjdDsKSGFzaC5m
cm9tID0gJEg7CnZhciBPYmplY3RSYW5nZSA9IENsYXNzLmNyZWF0ZShFbnVtZXJh
YmxlLCB7CiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oc3RhcnQsIGVuZCwgZXhjbHVz
aXZlKSB7CiAgICB0aGlzLnN0YXJ0ID0gc3RhcnQ7CiAgICB0aGlzLmVuZCA9IGVu
ZDsKICAgIHRoaXMuZXhjbHVzaXZlID0gZXhjbHVzaXZlOwogIH0sCgogIF9lYWNo
OiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgdmFyIHZhbHVlID0gdGhpcy5zdGFy
dDsKICAgIHdoaWxlICh0aGlzLmluY2x1ZGUodmFsdWUpKSB7CiAgICAgIGl0ZXJh
dG9yKHZhbHVlKTsKICAgICAgdmFsdWUgPSB2YWx1ZS5zdWNjKCk7CiAgICB9CiAg
fSwKCiAgaW5jbHVkZTogZnVuY3Rpb24odmFsdWUpIHsKICAgIGlmICh2YWx1ZSA8
IHRoaXMuc3RhcnQpCiAgICAgIHJldHVybiBmYWxzZTsKICAgIGlmICh0aGlzLmV4
Y2x1c2l2ZSkKICAgICAgcmV0dXJuIHZhbHVlIDwgdGhpcy5lbmQ7CiAgICByZXR1
cm4gdmFsdWUgPD0gdGhpcy5lbmQ7CiAgfQp9KTsKCnZhciAkUiA9IGZ1bmN0aW9u
KHN0YXJ0LCBlbmQsIGV4Y2x1c2l2ZSkgewogIHJldHVybiBuZXcgT2JqZWN0UmFu
Z2Uoc3RhcnQsIGVuZCwgZXhjbHVzaXZlKTsKfTsKCnZhciBBamF4ID0gewogIGdl
dFRyYW5zcG9ydDogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gVHJ5LnRoZXNlKAog
ICAgICBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0KCl9LAog
ICAgICBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoJ01zeG1s
Mi5YTUxIVFRQJyl9LAogICAgICBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IEFjdGl2
ZVhPYmplY3QoJ01pY3Jvc29mdC5YTUxIVFRQJyl9CiAgICApIHx8IGZhbHNlOwog
IH0sCgogIGFjdGl2ZVJlcXVlc3RDb3VudDogMAp9OwoKQWpheC5SZXNwb25kZXJz
ID0gewogIHJlc3BvbmRlcnM6IFtdLAoKICBfZWFjaDogZnVuY3Rpb24oaXRlcmF0
b3IpIHsKICAgIHRoaXMucmVzcG9uZGVycy5fZWFjaChpdGVyYXRvcik7CiAgfSwK
CiAgcmVnaXN0ZXI6IGZ1bmN0aW9uKHJlc3BvbmRlcikgewogICAgaWYgKCF0aGlz
LmluY2x1ZGUocmVzcG9uZGVyKSkKICAgICAgdGhpcy5yZXNwb25kZXJzLnB1c2go
cmVzcG9uZGVyKTsKICB9LAoKICB1bnJlZ2lzdGVyOiBmdW5jdGlvbihyZXNwb25k
ZXIpIHsKICAgIHRoaXMucmVzcG9uZGVycyA9IHRoaXMucmVzcG9uZGVycy53aXRo
b3V0KHJlc3BvbmRlcik7CiAgfSwKCiAgZGlzcGF0Y2g6IGZ1bmN0aW9uKGNhbGxi
YWNrLCByZXF1ZXN0LCB0cmFuc3BvcnQsIGpzb24pIHsKICAgIHRoaXMuZWFjaChm
dW5jdGlvbihyZXNwb25kZXIpIHsKICAgICAgaWYgKE9iamVjdC5pc0Z1bmN0aW9u
KHJlc3BvbmRlcltjYWxsYmFja10pKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAg
IHJlc3BvbmRlcltjYWxsYmFja10uYXBwbHkocmVzcG9uZGVyLCBbcmVxdWVzdCwg
dHJhbnNwb3J0LCBqc29uXSk7CiAgICAgICAgfSBjYXRjaCAoZSkgeyB9CiAgICAg
IH0KICAgIH0pOwogIH0KfTsKCk9iamVjdC5leHRlbmQoQWpheC5SZXNwb25kZXJz
LCBFbnVtZXJhYmxlKTsKCkFqYXguUmVzcG9uZGVycy5yZWdpc3Rlcih7CiAgb25D
cmVhdGU6ICAgZnVuY3Rpb24oKSB7IEFqYXguYWN0aXZlUmVxdWVzdENvdW50Kysg
fSwKICBvbkNvbXBsZXRlOiBmdW5jdGlvbigpIHsgQWpheC5hY3RpdmVSZXF1ZXN0
Q291bnQtLSB9Cn0pOwoKQWpheC5CYXNlID0gQ2xhc3MuY3JlYXRlKHsKICBpbml0
aWFsaXplOiBmdW5jdGlvbihvcHRpb25zKSB7CiAgICB0aGlzLm9wdGlvbnMgPSB7
CiAgICAgIG1ldGhvZDogICAgICAgJ3Bvc3QnLAogICAgICBhc3luY2hyb25vdXM6
IHRydWUsCiAgICAgIGNvbnRlbnRUeXBlOiAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZv
cm0tdXJsZW5jb2RlZCcsCiAgICAgIGVuY29kaW5nOiAgICAgJ1VURi04JywKICAg
ICAgcGFyYW1ldGVyczogICAnJywKICAgICAgZXZhbEpTT046ICAgICB0cnVlLAog
ICAgICBldmFsSlM6ICAgICAgIHRydWUKICAgIH07CiAgICBPYmplY3QuZXh0ZW5k
KHRoaXMub3B0aW9ucywgb3B0aW9ucyB8fCB7IH0pOwoKICAgIHRoaXMub3B0aW9u
cy5tZXRob2QgPSB0aGlzLm9wdGlvbnMubWV0aG9kLnRvTG93ZXJDYXNlKCk7Cgog
ICAgaWYgKE9iamVjdC5pc1N0cmluZyh0aGlzLm9wdGlvbnMucGFyYW1ldGVycykp
CiAgICAgIHRoaXMub3B0aW9ucy5wYXJhbWV0ZXJzID0gdGhpcy5vcHRpb25zLnBh
cmFtZXRlcnMudG9RdWVyeVBhcmFtcygpOwogICAgZWxzZSBpZiAoT2JqZWN0Lmlz
SGFzaCh0aGlzLm9wdGlvbnMucGFyYW1ldGVycykpCiAgICAgIHRoaXMub3B0aW9u
cy5wYXJhbWV0ZXJzID0gdGhpcy5vcHRpb25zLnBhcmFtZXRlcnMudG9PYmplY3Qo
KTsKICB9Cn0pOwoKQWpheC5SZXF1ZXN0ID0gQ2xhc3MuY3JlYXRlKEFqYXguQmFz
ZSwgewogIF9jb21wbGV0ZTogZmFsc2UsCgogIGluaXRpYWxpemU6IGZ1bmN0aW9u
KCRzdXBlciwgdXJsLCBvcHRpb25zKSB7CiAgICAkc3VwZXIob3B0aW9ucyk7CiAg
ICB0aGlzLnRyYW5zcG9ydCA9IEFqYXguZ2V0VHJhbnNwb3J0KCk7CiAgICB0aGlz
LnJlcXVlc3QodXJsKTsKICB9LAoKICByZXF1ZXN0OiBmdW5jdGlvbih1cmwpIHsK
ICAgIHRoaXMudXJsID0gdXJsOwogICAgdGhpcy5tZXRob2QgPSB0aGlzLm9wdGlv
bnMubWV0aG9kOwogICAgdmFyIHBhcmFtcyA9IE9iamVjdC5jbG9uZSh0aGlzLm9w
dGlvbnMucGFyYW1ldGVycyk7CgogICAgaWYgKCFbJ2dldCcsICdwb3N0J10uaW5j
bHVkZSh0aGlzLm1ldGhvZCkpIHsKICAgICAgLy8gc2ltdWxhdGUgb3RoZXIgdmVy
YnMgb3ZlciBwb3N0CiAgICAgIHBhcmFtc1snX21ldGhvZCddID0gdGhpcy5tZXRo
b2Q7CiAgICAgIHRoaXMubWV0aG9kID0gJ3Bvc3QnOwogICAgfQoKICAgIHRoaXMu
cGFyYW1ldGVycyA9IHBhcmFtczsKCiAgICBpZiAocGFyYW1zID0gT2JqZWN0LnRv
UXVlcnlTdHJpbmcocGFyYW1zKSkgewogICAgICAvLyB3aGVuIEdFVCwgYXBwZW5k
IHBhcmFtZXRlcnMgdG8gVVJMCiAgICAgIGlmICh0aGlzLm1ldGhvZCA9PSAnZ2V0
JykKICAgICAgICB0aGlzLnVybCArPSAodGhpcy51cmwuaW5jbHVkZSgnPycpID8g
JyYnIDogJz8nKSArIHBhcmFtczsKICAgICAgZWxzZSBpZiAoL0tvbnF1ZXJvcnxT
YWZhcml8S0hUTUwvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpCiAgICAgICAg
cGFyYW1zICs9ICcmXz0nOwogICAgfQoKICAgIHRyeSB7CiAgICAgIHZhciByZXNw
b25zZSA9IG5ldyBBamF4LlJlc3BvbnNlKHRoaXMpOwogICAgICBpZiAodGhpcy5v
cHRpb25zLm9uQ3JlYXRlKSB0aGlzLm9wdGlvbnMub25DcmVhdGUocmVzcG9uc2Up
OwogICAgICBBamF4LlJlc3BvbmRlcnMuZGlzcGF0Y2goJ29uQ3JlYXRlJywgdGhp
cywgcmVzcG9uc2UpOwoKICAgICAgdGhpcy50cmFuc3BvcnQub3Blbih0aGlzLm1l
dGhvZC50b1VwcGVyQ2FzZSgpLCB0aGlzLnVybCwKICAgICAgICB0aGlzLm9wdGlv
bnMuYXN5bmNocm9ub3VzKTsKCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXN5bmNo
cm9ub3VzKSB0aGlzLnJlc3BvbmRUb1JlYWR5U3RhdGUuYmluZCh0aGlzKS5kZWZl
cigxKTsKCiAgICAgIHRoaXMudHJhbnNwb3J0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9
IHRoaXMub25TdGF0ZUNoYW5nZS5iaW5kKHRoaXMpOwogICAgICB0aGlzLnNldFJl
cXVlc3RIZWFkZXJzKCk7CgogICAgICB0aGlzLmJvZHkgPSB0aGlzLm1ldGhvZCA9
PSAncG9zdCcgPyAodGhpcy5vcHRpb25zLnBvc3RCb2R5IHx8IHBhcmFtcykgOiBu
dWxsOwogICAgICB0aGlzLnRyYW5zcG9ydC5zZW5kKHRoaXMuYm9keSk7CgogICAg
ICAvKiBGb3JjZSBGaXJlZm94IHRvIGhhbmRsZSByZWFkeSBzdGF0ZSA0IGZvciBz
eW5jaHJvbm91cyByZXF1ZXN0cyAqLwogICAgICBpZiAoIXRoaXMub3B0aW9ucy5h
c3luY2hyb25vdXMgJiYgdGhpcy50cmFuc3BvcnQub3ZlcnJpZGVNaW1lVHlwZSkK
ICAgICAgICB0aGlzLm9uU3RhdGVDaGFuZ2UoKTsKCiAgICB9CiAgICBjYXRjaCAo
ZSkgewogICAgICB0aGlzLmRpc3BhdGNoRXhjZXB0aW9uKGUpOwogICAgfQogIH0s
CgogIG9uU3RhdGVDaGFuZ2U6IGZ1bmN0aW9uKCkgewogICAgdmFyIHJlYWR5U3Rh
dGUgPSB0aGlzLnRyYW5zcG9ydC5yZWFkeVN0YXRlOwogICAgaWYgKHJlYWR5U3Rh
dGUgPiAxICYmICEoKHJlYWR5U3RhdGUgPT0gNCkgJiYgdGhpcy5fY29tcGxldGUp
KQogICAgICB0aGlzLnJlc3BvbmRUb1JlYWR5U3RhdGUodGhpcy50cmFuc3BvcnQu
cmVhZHlTdGF0ZSk7CiAgfSwKCiAgc2V0UmVxdWVzdEhlYWRlcnM6IGZ1bmN0aW9u
KCkgewogICAgdmFyIGhlYWRlcnMgPSB7CiAgICAgICdYLVJlcXVlc3RlZC1XaXRo
JzogJ1hNTEh0dHBSZXF1ZXN0JywKICAgICAgJ1gtUHJvdG90eXBlLVZlcnNpb24n
OiBQcm90b3R5cGUuVmVyc2lvbiwKICAgICAgJ0FjY2VwdCc6ICd0ZXh0L2phdmFz
Y3JpcHQsIHRleHQvaHRtbCwgYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCwgKi8q
JwogICAgfTsKCiAgICBpZiAodGhpcy5tZXRob2QgPT0gJ3Bvc3QnKSB7CiAgICAg
IGhlYWRlcnNbJ0NvbnRlbnQtdHlwZSddID0gdGhpcy5vcHRpb25zLmNvbnRlbnRU
eXBlICsKICAgICAgICAodGhpcy5vcHRpb25zLmVuY29kaW5nID8gJzsgY2hhcnNl
dD0nICsgdGhpcy5vcHRpb25zLmVuY29kaW5nIDogJycpOwoKICAgICAgLyogRm9y
Y2UgIkNvbm5lY3Rpb246IGNsb3NlIiBmb3Igb2xkZXIgTW96aWxsYSBicm93c2Vy
cyB0byB3b3JrCiAgICAgICAqIGFyb3VuZCBhIGJ1ZyB3aGVyZSBYTUxIdHRwUmVx
dWVzdCBzZW5kcyBhbiBpbmNvcnJlY3QKICAgICAgICogQ29udGVudC1sZW5ndGgg
aGVhZGVyLiBTZWUgTW96aWxsYSBCdWd6aWxsYSAjMjQ2NjUxLgogICAgICAgKi8K
ICAgICAgaWYgKHRoaXMudHJhbnNwb3J0Lm92ZXJyaWRlTWltZVR5cGUgJiYKICAg
ICAgICAgIChuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9HZWNrb1wvKFxkezR9
KS8pIHx8IFswLDIwMDVdKVsxXSA8IDIwMDUpCiAgICAgICAgICAgIGhlYWRlcnNb
J0Nvbm5lY3Rpb24nXSA9ICdjbG9zZSc7CiAgICB9CgogICAgLy8gdXNlci1kZWZp
bmVkIGhlYWRlcnMKICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLnJlcXVlc3RI
ZWFkZXJzID09ICdvYmplY3QnKSB7CiAgICAgIHZhciBleHRyYXMgPSB0aGlzLm9w
dGlvbnMucmVxdWVzdEhlYWRlcnM7CgogICAgICBpZiAoT2JqZWN0LmlzRnVuY3Rp
b24oZXh0cmFzLnB1c2gpKQogICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGgg
PSBleHRyYXMubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpICs9IDIpCiAgICAgICAgICBo
ZWFkZXJzW2V4dHJhc1tpXV0gPSBleHRyYXNbaSsxXTsKICAgICAgZWxzZQogICAg
ICAgICRIKGV4dHJhcykuZWFjaChmdW5jdGlvbihwYWlyKSB7IGhlYWRlcnNbcGFp
ci5rZXldID0gcGFpci52YWx1ZSB9KTsKICAgIH0KCiAgICBmb3IgKHZhciBuYW1l
IGluIGhlYWRlcnMpCiAgICAgIHRoaXMudHJhbnNwb3J0LnNldFJlcXVlc3RIZWFk
ZXIobmFtZSwgaGVhZGVyc1tuYW1lXSk7CiAgfSwKCiAgc3VjY2VzczogZnVuY3Rp
b24oKSB7CiAgICB2YXIgc3RhdHVzID0gdGhpcy5nZXRTdGF0dXMoKTsKICAgIHJl
dHVybiAhc3RhdHVzIHx8IChzdGF0dXMgPj0gMjAwICYmIHN0YXR1cyA8IDMwMCk7
CiAgfSwKCiAgZ2V0U3RhdHVzOiBmdW5jdGlvbigpIHsKICAgIHRyeSB7CiAgICAg
IHJldHVybiB0aGlzLnRyYW5zcG9ydC5zdGF0dXMgfHwgMDsKICAgIH0gY2F0Y2gg
KGUpIHsgcmV0dXJuIDAgfQogIH0sCgogIHJlc3BvbmRUb1JlYWR5U3RhdGU6IGZ1
bmN0aW9uKHJlYWR5U3RhdGUpIHsKICAgIHZhciBzdGF0ZSA9IEFqYXguUmVxdWVz
dC5FdmVudHNbcmVhZHlTdGF0ZV0sIHJlc3BvbnNlID0gbmV3IEFqYXguUmVzcG9u
c2UodGhpcyk7CgogICAgaWYgKHN0YXRlID09ICdDb21wbGV0ZScpIHsKICAgICAg
dHJ5IHsKICAgICAgICB0aGlzLl9jb21wbGV0ZSA9IHRydWU7CiAgICAgICAgKHRo
aXMub3B0aW9uc1snb24nICsgcmVzcG9uc2Uuc3RhdHVzXQogICAgICAgICB8fCB0
aGlzLm9wdGlvbnNbJ29uJyArICh0aGlzLnN1Y2Nlc3MoKSA/ICdTdWNjZXNzJyA6
ICdGYWlsdXJlJyldCiAgICAgICAgIHx8IFByb3RvdHlwZS5lbXB0eUZ1bmN0aW9u
KShyZXNwb25zZSwgcmVzcG9uc2UuaGVhZGVySlNPTik7CiAgICAgIH0gY2F0Y2gg
KGUpIHsKICAgICAgICB0aGlzLmRpc3BhdGNoRXhjZXB0aW9uKGUpOwogICAgICB9
CgogICAgICB2YXIgY29udGVudFR5cGUgPSByZXNwb25zZS5nZXRIZWFkZXIoJ0Nv
bnRlbnQtdHlwZScpOwogICAgICBpZiAodGhpcy5vcHRpb25zLmV2YWxKUyA9PSAn
Zm9yY2UnCiAgICAgICAgICB8fCAodGhpcy5vcHRpb25zLmV2YWxKUyAmJiB0aGlz
LmlzU2FtZU9yaWdpbigpICYmIGNvbnRlbnRUeXBlCiAgICAgICAgICAmJiBjb250
ZW50VHlwZS5tYXRjaCgvXlxzKih0ZXh0fGFwcGxpY2F0aW9uKVwvKHgtKT8oamF2
YXxlY21hKXNjcmlwdCg7LiopP1xzKiQvaSkpKQogICAgICAgIHRoaXMuZXZhbFJl
c3BvbnNlKCk7CiAgICB9CgogICAgdHJ5IHsKICAgICAgKHRoaXMub3B0aW9uc1sn
b24nICsgc3RhdGVdIHx8IFByb3RvdHlwZS5lbXB0eUZ1bmN0aW9uKShyZXNwb25z
ZSwgcmVzcG9uc2UuaGVhZGVySlNPTik7CiAgICAgIEFqYXguUmVzcG9uZGVycy5k
aXNwYXRjaCgnb24nICsgc3RhdGUsIHRoaXMsIHJlc3BvbnNlLCByZXNwb25zZS5o
ZWFkZXJKU09OKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgdGhpcy5kaXNwYXRj
aEV4Y2VwdGlvbihlKTsKICAgIH0KCiAgICBpZiAoc3RhdGUgPT0gJ0NvbXBsZXRl
JykgewogICAgICAvLyBhdm9pZCBtZW1vcnkgbGVhayBpbiBNU0lFOiBjbGVhbiB1
cAogICAgICB0aGlzLnRyYW5zcG9ydC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBQcm90
b3R5cGUuZW1wdHlGdW5jdGlvbjsKICAgIH0KICB9LAoKICBpc1NhbWVPcmlnaW46
IGZ1bmN0aW9uKCkgewogICAgdmFyIG0gPSB0aGlzLnVybC5tYXRjaCgvXlxzKmh0
dHBzPzpcL1wvW15cL10qLyk7CiAgICByZXR1cm4gIW0gfHwgKG1bMF0gPT0gJyN7
cHJvdG9jb2x9Ly8je2RvbWFpbn0je3BvcnR9Jy5pbnRlcnBvbGF0ZSh7CiAgICAg
IHByb3RvY29sOiBsb2NhdGlvbi5wcm90b2NvbCwKICAgICAgZG9tYWluOiBkb2N1
bWVudC5kb21haW4sCiAgICAgIHBvcnQ6IGxvY2F0aW9uLnBvcnQgPyAnOicgKyBs
b2NhdGlvbi5wb3J0IDogJycKICAgIH0pKTsKICB9LAoKICBnZXRIZWFkZXI6IGZ1
bmN0aW9uKG5hbWUpIHsKICAgIHRyeSB7CiAgICAgIHJldHVybiB0aGlzLnRyYW5z
cG9ydC5nZXRSZXNwb25zZUhlYWRlcihuYW1lKSB8fCBudWxsOwogICAgfSBjYXRj
aCAoZSkgeyByZXR1cm4gbnVsbCB9CiAgfSwKCiAgZXZhbFJlc3BvbnNlOiBmdW5j
dGlvbigpIHsKICAgIHRyeSB7CiAgICAgIHJldHVybiBldmFsKCh0aGlzLnRyYW5z
cG9ydC5yZXNwb25zZVRleHQgfHwgJycpLnVuZmlsdGVySlNPTigpKTsKICAgIH0g
Y2F0Y2ggKGUpIHsKICAgICAgdGhpcy5kaXNwYXRjaEV4Y2VwdGlvbihlKTsKICAg
IH0KICB9LAoKICBkaXNwYXRjaEV4Y2VwdGlvbjogZnVuY3Rpb24oZXhjZXB0aW9u
KSB7CiAgICAodGhpcy5vcHRpb25zLm9uRXhjZXB0aW9uIHx8IFByb3RvdHlwZS5l
bXB0eUZ1bmN0aW9uKSh0aGlzLCBleGNlcHRpb24pOwogICAgQWpheC5SZXNwb25k
ZXJzLmRpc3BhdGNoKCdvbkV4Y2VwdGlvbicsIHRoaXMsIGV4Y2VwdGlvbik7CiAg
fQp9KTsKCkFqYXguUmVxdWVzdC5FdmVudHMgPQogIFsnVW5pbml0aWFsaXplZCcs
ICdMb2FkaW5nJywgJ0xvYWRlZCcsICdJbnRlcmFjdGl2ZScsICdDb21wbGV0ZSdd
OwoKQWpheC5SZXNwb25zZSA9IENsYXNzLmNyZWF0ZSh7CiAgaW5pdGlhbGl6ZTog
ZnVuY3Rpb24ocmVxdWVzdCl7CiAgICB0aGlzLnJlcXVlc3QgPSByZXF1ZXN0Owog
ICAgdmFyIHRyYW5zcG9ydCAgPSB0aGlzLnRyYW5zcG9ydCAgPSByZXF1ZXN0LnRy
YW5zcG9ydCwKICAgICAgICByZWFkeVN0YXRlID0gdGhpcy5yZWFkeVN0YXRlID0g
dHJhbnNwb3J0LnJlYWR5U3RhdGU7CgogICAgaWYoKHJlYWR5U3RhdGUgPiAyICYm
ICFQcm90b3R5cGUuQnJvd3Nlci5JRSkgfHwgcmVhZHlTdGF0ZSA9PSA0KSB7CiAg
ICAgIHRoaXMuc3RhdHVzICAgICAgID0gdGhpcy5nZXRTdGF0dXMoKTsKICAgICAg
dGhpcy5zdGF0dXNUZXh0ICAgPSB0aGlzLmdldFN0YXR1c1RleHQoKTsKICAgICAg
dGhpcy5yZXNwb25zZVRleHQgPSBTdHJpbmcuaW50ZXJwcmV0KHRyYW5zcG9ydC5y
ZXNwb25zZVRleHQpOwogICAgICB0aGlzLmhlYWRlckpTT04gICA9IHRoaXMuX2dl
dEhlYWRlckpTT04oKTsKICAgIH0KCiAgICBpZihyZWFkeVN0YXRlID09IDQpIHsK
ICAgICAgdmFyIHhtbCA9IHRyYW5zcG9ydC5yZXNwb25zZVhNTDsKICAgICAgdGhp
cy5yZXNwb25zZVhNTCAgPSBPYmplY3QuaXNVbmRlZmluZWQoeG1sKSA/IG51bGwg
OiB4bWw7CiAgICAgIHRoaXMucmVzcG9uc2VKU09OID0gdGhpcy5fZ2V0UmVzcG9u
c2VKU09OKCk7CiAgICB9CiAgfSwKCiAgc3RhdHVzOiAgICAgIDAsCiAgc3RhdHVz
VGV4dDogJycsCgogIGdldFN0YXR1czogQWpheC5SZXF1ZXN0LnByb3RvdHlwZS5n
ZXRTdGF0dXMsCgogIGdldFN0YXR1c1RleHQ6IGZ1bmN0aW9uKCkgewogICAgdHJ5
IHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LnN0YXR1c1RleHQgfHwgJyc7
CiAgICB9IGNhdGNoIChlKSB7IHJldHVybiAnJyB9CiAgfSwKCiAgZ2V0SGVhZGVy
OiBBamF4LlJlcXVlc3QucHJvdG90eXBlLmdldEhlYWRlciwKCiAgZ2V0QWxsSGVh
ZGVyczogZnVuY3Rpb24oKSB7CiAgICB0cnkgewogICAgICByZXR1cm4gdGhpcy5n
ZXRBbGxSZXNwb25zZUhlYWRlcnMoKTsKICAgIH0gY2F0Y2ggKGUpIHsgcmV0dXJu
IG51bGwgfQogIH0sCgogIGdldFJlc3BvbnNlSGVhZGVyOiBmdW5jdGlvbihuYW1l
KSB7CiAgICByZXR1cm4gdGhpcy50cmFuc3BvcnQuZ2V0UmVzcG9uc2VIZWFkZXIo
bmFtZSk7CiAgfSwKCiAgZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOiBmdW5jdGlvbigp
IHsKICAgIHJldHVybiB0aGlzLnRyYW5zcG9ydC5nZXRBbGxSZXNwb25zZUhlYWRl
cnMoKTsKICB9LAoKICBfZ2V0SGVhZGVySlNPTjogZnVuY3Rpb24oKSB7CiAgICB2
YXIganNvbiA9IHRoaXMuZ2V0SGVhZGVyKCdYLUpTT04nKTsKICAgIGlmICghanNv
bikgcmV0dXJuIG51bGw7CiAgICBqc29uID0gZGVjb2RlVVJJQ29tcG9uZW50KGVz
Y2FwZShqc29uKSk7CiAgICB0cnkgewogICAgICByZXR1cm4ganNvbi5ldmFsSlNP
Tih0aGlzLnJlcXVlc3Qub3B0aW9ucy5zYW5pdGl6ZUpTT04gfHwKICAgICAgICAh
dGhpcy5yZXF1ZXN0LmlzU2FtZU9yaWdpbigpKTsKICAgIH0gY2F0Y2ggKGUpIHsK
ICAgICAgdGhpcy5yZXF1ZXN0LmRpc3BhdGNoRXhjZXB0aW9uKGUpOwogICAgfQog
IH0sCgogIF9nZXRSZXNwb25zZUpTT046IGZ1bmN0aW9uKCkgewogICAgdmFyIG9w
dGlvbnMgPSB0aGlzLnJlcXVlc3Qub3B0aW9uczsKICAgIGlmICghb3B0aW9ucy5l
dmFsSlNPTiB8fCAob3B0aW9ucy5ldmFsSlNPTiAhPSAnZm9yY2UnICYmCiAgICAg
ICEodGhpcy5nZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScpIHx8ICcnKS5pbmNsdWRl
KCdhcHBsaWNhdGlvbi9qc29uJykpIHx8CiAgICAgICAgdGhpcy5yZXNwb25zZVRl
eHQuYmxhbmsoKSkKICAgICAgICAgIHJldHVybiBudWxsOwogICAgdHJ5IHsKICAg
ICAgcmV0dXJuIHRoaXMucmVzcG9uc2VUZXh0LmV2YWxKU09OKG9wdGlvbnMuc2Fu
aXRpemVKU09OIHx8CiAgICAgICAgIXRoaXMucmVxdWVzdC5pc1NhbWVPcmlnaW4o
KSk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHRoaXMucmVxdWVzdC5kaXNwYXRj
aEV4Y2VwdGlvbihlKTsKICAgIH0KICB9Cn0pOwoKQWpheC5VcGRhdGVyID0gQ2xh
c3MuY3JlYXRlKEFqYXguUmVxdWVzdCwgewogIGluaXRpYWxpemU6IGZ1bmN0aW9u
KCRzdXBlciwgY29udGFpbmVyLCB1cmwsIG9wdGlvbnMpIHsKICAgIHRoaXMuY29u
dGFpbmVyID0gewogICAgICBzdWNjZXNzOiAoY29udGFpbmVyLnN1Y2Nlc3MgfHwg
Y29udGFpbmVyKSwKICAgICAgZmFpbHVyZTogKGNvbnRhaW5lci5mYWlsdXJlIHx8
IChjb250YWluZXIuc3VjY2VzcyA/IG51bGwgOiBjb250YWluZXIpKQogICAgfTsK
CiAgICBvcHRpb25zID0gT2JqZWN0LmNsb25lKG9wdGlvbnMpOwogICAgdmFyIG9u
Q29tcGxldGUgPSBvcHRpb25zLm9uQ29tcGxldGU7CiAgICBvcHRpb25zLm9uQ29t
cGxldGUgPSAoZnVuY3Rpb24ocmVzcG9uc2UsIGpzb24pIHsKICAgICAgdGhpcy51
cGRhdGVDb250ZW50KHJlc3BvbnNlLnJlc3BvbnNlVGV4dCk7CiAgICAgIGlmIChP
YmplY3QuaXNGdW5jdGlvbihvbkNvbXBsZXRlKSkgb25Db21wbGV0ZShyZXNwb25z
ZSwganNvbik7CiAgICB9KS5iaW5kKHRoaXMpOwoKICAgICRzdXBlcih1cmwsIG9w
dGlvbnMpOwogIH0sCgogIHVwZGF0ZUNvbnRlbnQ6IGZ1bmN0aW9uKHJlc3BvbnNl
VGV4dCkgewogICAgdmFyIHJlY2VpdmVyID0gdGhpcy5jb250YWluZXJbdGhpcy5z
dWNjZXNzKCkgPyAnc3VjY2VzcycgOiAnZmFpbHVyZSddLAogICAgICAgIG9wdGlv
bnMgPSB0aGlzLm9wdGlvbnM7CgogICAgaWYgKCFvcHRpb25zLmV2YWxTY3JpcHRz
KSByZXNwb25zZVRleHQgPSByZXNwb25zZVRleHQuc3RyaXBTY3JpcHRzKCk7Cgog
ICAgaWYgKHJlY2VpdmVyID0gJChyZWNlaXZlcikpIHsKICAgICAgaWYgKG9wdGlv
bnMuaW5zZXJ0aW9uKSB7CiAgICAgICAgaWYgKE9iamVjdC5pc1N0cmluZyhvcHRp
b25zLmluc2VydGlvbikpIHsKICAgICAgICAgIHZhciBpbnNlcnRpb24gPSB7IH07
IGluc2VydGlvbltvcHRpb25zLmluc2VydGlvbl0gPSByZXNwb25zZVRleHQ7CiAg
ICAgICAgICByZWNlaXZlci5pbnNlcnQoaW5zZXJ0aW9uKTsKICAgICAgICB9CiAg
ICAgICAgZWxzZSBvcHRpb25zLmluc2VydGlvbihyZWNlaXZlciwgcmVzcG9uc2VU
ZXh0KTsKICAgICAgfQogICAgICBlbHNlIHJlY2VpdmVyLnVwZGF0ZShyZXNwb25z
ZVRleHQpOwogICAgfQogIH0KfSk7CgpBamF4LlBlcmlvZGljYWxVcGRhdGVyID0g
Q2xhc3MuY3JlYXRlKEFqYXguQmFzZSwgewogIGluaXRpYWxpemU6IGZ1bmN0aW9u
KCRzdXBlciwgY29udGFpbmVyLCB1cmwsIG9wdGlvbnMpIHsKICAgICRzdXBlcihv
cHRpb25zKTsKICAgIHRoaXMub25Db21wbGV0ZSA9IHRoaXMub3B0aW9ucy5vbkNv
bXBsZXRlOwoKICAgIHRoaXMuZnJlcXVlbmN5ID0gKHRoaXMub3B0aW9ucy5mcmVx
dWVuY3kgfHwgMik7CiAgICB0aGlzLmRlY2F5ID0gKHRoaXMub3B0aW9ucy5kZWNh
eSB8fCAxKTsKCiAgICB0aGlzLnVwZGF0ZXIgPSB7IH07CiAgICB0aGlzLmNvbnRh
aW5lciA9IGNvbnRhaW5lcjsKICAgIHRoaXMudXJsID0gdXJsOwoKICAgIHRoaXMu
c3RhcnQoKTsKICB9LAoKICBzdGFydDogZnVuY3Rpb24oKSB7CiAgICB0aGlzLm9w
dGlvbnMub25Db21wbGV0ZSA9IHRoaXMudXBkYXRlQ29tcGxldGUuYmluZCh0aGlz
KTsKICAgIHRoaXMub25UaW1lckV2ZW50KCk7CiAgfSwKCiAgc3RvcDogZnVuY3Rp
b24oKSB7CiAgICB0aGlzLnVwZGF0ZXIub3B0aW9ucy5vbkNvbXBsZXRlID0gdW5k
ZWZpbmVkOwogICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpOwogICAgKHRoaXMu
b25Db21wbGV0ZSB8fCBQcm90b3R5cGUuZW1wdHlGdW5jdGlvbikuYXBwbHkodGhp
cywgYXJndW1lbnRzKTsKICB9LAoKICB1cGRhdGVDb21wbGV0ZTogZnVuY3Rpb24o
cmVzcG9uc2UpIHsKICAgIGlmICh0aGlzLm9wdGlvbnMuZGVjYXkpIHsKICAgICAg
dGhpcy5kZWNheSA9IChyZXNwb25zZS5yZXNwb25zZVRleHQgPT0gdGhpcy5sYXN0
VGV4dCA/CiAgICAgICAgdGhpcy5kZWNheSAqIHRoaXMub3B0aW9ucy5kZWNheSA6
IDEpOwoKICAgICAgdGhpcy5sYXN0VGV4dCA9IHJlc3BvbnNlLnJlc3BvbnNlVGV4
dDsKICAgIH0KICAgIHRoaXMudGltZXIgPSB0aGlzLm9uVGltZXJFdmVudC5iaW5k
KHRoaXMpLmRlbGF5KHRoaXMuZGVjYXkgKiB0aGlzLmZyZXF1ZW5jeSk7CiAgfSwK
CiAgb25UaW1lckV2ZW50OiBmdW5jdGlvbigpIHsKICAgIHRoaXMudXBkYXRlciA9
IG5ldyBBamF4LlVwZGF0ZXIodGhpcy5jb250YWluZXIsIHRoaXMudXJsLCB0aGlz
Lm9wdGlvbnMpOwogIH0KfSk7CmZ1bmN0aW9uICQoZWxlbWVudCkgewogIGlmIChh
cmd1bWVudHMubGVuZ3RoID4gMSkgewogICAgZm9yICh2YXIgaSA9IDAsIGVsZW1l
bnRzID0gW10sIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBsZW5ndGg7
IGkrKykKICAgICAgZWxlbWVudHMucHVzaCgkKGFyZ3VtZW50c1tpXSkpOwogICAg
cmV0dXJuIGVsZW1lbnRzOwogIH0KICBpZiAoT2JqZWN0LmlzU3RyaW5nKGVsZW1l
bnQpKQogICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1l
bnQpOwogIHJldHVybiBFbGVtZW50LmV4dGVuZChlbGVtZW50KTsKfQoKaWYgKFBy
b3RvdHlwZS5Ccm93c2VyRmVhdHVyZXMuWFBhdGgpIHsKICBkb2N1bWVudC5fZ2V0
RWxlbWVudHNCeVhQYXRoID0gZnVuY3Rpb24oZXhwcmVzc2lvbiwgcGFyZW50RWxl
bWVudCkgewogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIHZhciBxdWVyeSA9IGRv
Y3VtZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sICQocGFyZW50RWxlbWVudCkgfHwg
ZG9jdW1lbnQsCiAgICAgIG51bGwsIFhQYXRoUmVzdWx0Lk9SREVSRURfTk9ERV9T
TkFQU0hPVF9UWVBFLCBudWxsKTsKICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGgg
PSBxdWVyeS5zbmFwc2hvdExlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKQogICAgICBy
ZXN1bHRzLnB1c2goRWxlbWVudC5leHRlbmQocXVlcnkuc25hcHNob3RJdGVtKGkp
KSk7CiAgICByZXR1cm4gcmVzdWx0czsKICB9Owp9CgovKi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tKi8KCmlmICghd2luZG93Lk5vZGUpIHZhciBOb2RlID0geyB9
OwoKaWYgKCFOb2RlLkVMRU1FTlRfTk9ERSkgewogIC8vIERPTSBsZXZlbCAyIEVD
TUFTY3JpcHQgTGFuZ3VhZ2UgQmluZGluZwogIE9iamVjdC5leHRlbmQoTm9kZSwg
ewogICAgRUxFTUVOVF9OT0RFOiAxLAogICAgQVRUUklCVVRFX05PREU6IDIsCiAg
ICBURVhUX05PREU6IDMsCiAgICBDREFUQV9TRUNUSU9OX05PREU6IDQsCiAgICBF
TlRJVFlfUkVGRVJFTkNFX05PREU6IDUsCiAgICBFTlRJVFlfTk9ERTogNiwKICAg
IFBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERTogNywKICAgIENPTU1FTlRfTk9E
RTogOCwKICAgIERPQ1VNRU5UX05PREU6IDksCiAgICBET0NVTUVOVF9UWVBFX05P
REU6IDEwLAogICAgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTogMTEsCiAgICBOT1RB
VElPTl9OT0RFOiAxMgogIH0pOwp9CgooZnVuY3Rpb24oKSB7CiAgdmFyIGVsZW1l
bnQgPSB0aGlzLkVsZW1lbnQ7CiAgdGhpcy5FbGVtZW50ID0gZnVuY3Rpb24odGFn
TmFtZSwgYXR0cmlidXRlcykgewogICAgYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXMg
fHwgeyB9OwogICAgdGFnTmFtZSA9IHRhZ05hbWUudG9Mb3dlckNhc2UoKTsKICAg
IHZhciBjYWNoZSA9IEVsZW1lbnQuY2FjaGU7CiAgICBpZiAoUHJvdG90eXBlLkJy
b3dzZXIuSUUgJiYgYXR0cmlidXRlcy5uYW1lKSB7CiAgICAgIHRhZ05hbWUgPSAn
PCcgKyB0YWdOYW1lICsgJyBuYW1lPSInICsgYXR0cmlidXRlcy5uYW1lICsgJyI+
JzsKICAgICAgZGVsZXRlIGF0dHJpYnV0ZXMubmFtZTsKICAgICAgcmV0dXJuIEVs
ZW1lbnQud3JpdGVBdHRyaWJ1dGUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKSwgYXR0cmlidXRlcyk7CiAgICB9CiAgICBpZiAoIWNhY2hlW3RhZ05hbWVd
KSBjYWNoZVt0YWdOYW1lXSA9IEVsZW1lbnQuZXh0ZW5kKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSkpOwogICAgcmV0dXJuIEVsZW1lbnQud3JpdGVBdHRy
aWJ1dGUoY2FjaGVbdGFnTmFtZV0uY2xvbmVOb2RlKGZhbHNlKSwgYXR0cmlidXRl
cyk7CiAgfTsKICBPYmplY3QuZXh0ZW5kKHRoaXMuRWxlbWVudCwgZWxlbWVudCB8
fCB7IH0pOwogIGlmIChlbGVtZW50KSB0aGlzLkVsZW1lbnQucHJvdG90eXBlID0g
ZWxlbWVudC5wcm90b3R5cGU7Cn0pLmNhbGwod2luZG93KTsKCkVsZW1lbnQuY2Fj
aGUgPSB7IH07CgpFbGVtZW50Lk1ldGhvZHMgPSB7CiAgdmlzaWJsZTogZnVuY3Rp
b24oZWxlbWVudCkgewogICAgcmV0dXJuICQoZWxlbWVudCkuc3R5bGUuZGlzcGxh
eSAhPSAnbm9uZSc7CiAgfSwKCiAgdG9nZ2xlOiBmdW5jdGlvbihlbGVtZW50KSB7
CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIEVsZW1lbnRbRWxlbWVudC52
aXNpYmxlKGVsZW1lbnQpID8gJ2hpZGUnIDogJ3Nob3cnXShlbGVtZW50KTsKICAg
IHJldHVybiBlbGVtZW50OwogIH0sCgogIGhpZGU6IGZ1bmN0aW9uKGVsZW1lbnQp
IHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgZWxlbWVudC5zdHlsZS5k
aXNwbGF5ID0gJ25vbmUnOwogICAgcmV0dXJuIGVsZW1lbnQ7CiAgfSwKCiAgc2hv
dzogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxlbWVudCA9ICQoZWxlbWVudCk7
CiAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnJzsKICAgIHJldHVybiBlbGVt
ZW50OwogIH0sCgogIHJlbW92ZTogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxl
bWVudCA9ICQoZWxlbWVudCk7CiAgICBlbGVtZW50LnBhcmVudE5vZGUucmVtb3Zl
Q2hpbGQoZWxlbWVudCk7CiAgICByZXR1cm4gZWxlbWVudDsKICB9LAoKICB1cGRh
dGU6IGZ1bmN0aW9uKGVsZW1lbnQsIGNvbnRlbnQpIHsKICAgIGVsZW1lbnQgPSAk
KGVsZW1lbnQpOwogICAgaWYgKGNvbnRlbnQgJiYgY29udGVudC50b0VsZW1lbnQp
IGNvbnRlbnQgPSBjb250ZW50LnRvRWxlbWVudCgpOwogICAgaWYgKE9iamVjdC5p
c0VsZW1lbnQoY29udGVudCkpIHJldHVybiBlbGVtZW50LnVwZGF0ZSgpLmluc2Vy
dChjb250ZW50KTsKICAgIGNvbnRlbnQgPSBPYmplY3QudG9IVE1MKGNvbnRlbnQp
OwogICAgZWxlbWVudC5pbm5lckhUTUwgPSBjb250ZW50LnN0cmlwU2NyaXB0cygp
OwogICAgY29udGVudC5ldmFsU2NyaXB0cy5iaW5kKGNvbnRlbnQpLmRlZmVyKCk7
CiAgICByZXR1cm4gZWxlbWVudDsKICB9LAoKICByZXBsYWNlOiBmdW5jdGlvbihl
bGVtZW50LCBjb250ZW50KSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAg
IGlmIChjb250ZW50ICYmIGNvbnRlbnQudG9FbGVtZW50KSBjb250ZW50ID0gY29u
dGVudC50b0VsZW1lbnQoKTsKICAgIGVsc2UgaWYgKCFPYmplY3QuaXNFbGVtZW50
KGNvbnRlbnQpKSB7CiAgICAgIGNvbnRlbnQgPSBPYmplY3QudG9IVE1MKGNvbnRl
bnQpOwogICAgICB2YXIgcmFuZ2UgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuY3Jl
YXRlUmFuZ2UoKTsKICAgICAgcmFuZ2Uuc2VsZWN0Tm9kZShlbGVtZW50KTsKICAg
ICAgY29udGVudC5ldmFsU2NyaXB0cy5iaW5kKGNvbnRlbnQpLmRlZmVyKCk7CiAg
ICAgIGNvbnRlbnQgPSByYW5nZS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoY29u
dGVudC5zdHJpcFNjcmlwdHMoKSk7CiAgICB9CiAgICBlbGVtZW50LnBhcmVudE5v
ZGUucmVwbGFjZUNoaWxkKGNvbnRlbnQsIGVsZW1lbnQpOwogICAgcmV0dXJuIGVs
ZW1lbnQ7CiAgfSwKCiAgaW5zZXJ0OiBmdW5jdGlvbihlbGVtZW50LCBpbnNlcnRp
b25zKSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKCiAgICBpZiAoT2JqZWN0
LmlzU3RyaW5nKGluc2VydGlvbnMpIHx8IE9iamVjdC5pc051bWJlcihpbnNlcnRp
b25zKSB8fAogICAgICAgIE9iamVjdC5pc0VsZW1lbnQoaW5zZXJ0aW9ucykgfHwg
KGluc2VydGlvbnMgJiYgKGluc2VydGlvbnMudG9FbGVtZW50IHx8IGluc2VydGlv
bnMudG9IVE1MKSkpCiAgICAgICAgICBpbnNlcnRpb25zID0ge2JvdHRvbTppbnNl
cnRpb25zfTsKCiAgICB2YXIgY29udGVudCwgaW5zZXJ0LCB0YWdOYW1lLCBjaGls
ZE5vZGVzOwoKICAgIGZvciAodmFyIHBvc2l0aW9uIGluIGluc2VydGlvbnMpIHsK
ICAgICAgY29udGVudCAgPSBpbnNlcnRpb25zW3Bvc2l0aW9uXTsKICAgICAgcG9z
aXRpb24gPSBwb3NpdGlvbi50b0xvd2VyQ2FzZSgpOwogICAgICBpbnNlcnQgPSBF
bGVtZW50Ll9pbnNlcnRpb25UcmFuc2xhdGlvbnNbcG9zaXRpb25dOwoKICAgICAg
aWYgKGNvbnRlbnQgJiYgY29udGVudC50b0VsZW1lbnQpIGNvbnRlbnQgPSBjb250
ZW50LnRvRWxlbWVudCgpOwogICAgICBpZiAoT2JqZWN0LmlzRWxlbWVudChjb250
ZW50KSkgewogICAgICAgIGluc2VydChlbGVtZW50LCBjb250ZW50KTsKICAgICAg
ICBjb250aW51ZTsKICAgICAgfQoKICAgICAgY29udGVudCA9IE9iamVjdC50b0hU
TUwoY29udGVudCk7CgogICAgICB0YWdOYW1lID0gKChwb3NpdGlvbiA9PSAnYmVm
b3JlJyB8fCBwb3NpdGlvbiA9PSAnYWZ0ZXInKQogICAgICAgID8gZWxlbWVudC5w
YXJlbnROb2RlIDogZWxlbWVudCkudGFnTmFtZS50b1VwcGVyQ2FzZSgpOwoKICAg
ICAgY2hpbGROb2RlcyA9IEVsZW1lbnQuX2dldENvbnRlbnRGcm9tQW5vbnltb3Vz
RWxlbWVudCh0YWdOYW1lLCBjb250ZW50LnN0cmlwU2NyaXB0cygpKTsKCiAgICAg
IGlmIChwb3NpdGlvbiA9PSAndG9wJyB8fCBwb3NpdGlvbiA9PSAnYWZ0ZXInKSBj
aGlsZE5vZGVzLnJldmVyc2UoKTsKICAgICAgY2hpbGROb2Rlcy5lYWNoKGluc2Vy
dC5jdXJyeShlbGVtZW50KSk7CgogICAgICBjb250ZW50LmV2YWxTY3JpcHRzLmJp
bmQoY29udGVudCkuZGVmZXIoKTsKICAgIH0KCiAgICByZXR1cm4gZWxlbWVudDsK
ICB9LAoKICB3cmFwOiBmdW5jdGlvbihlbGVtZW50LCB3cmFwcGVyLCBhdHRyaWJ1
dGVzKSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIGlmIChPYmplY3Qu
aXNFbGVtZW50KHdyYXBwZXIpKQogICAgICAkKHdyYXBwZXIpLndyaXRlQXR0cmli
dXRlKGF0dHJpYnV0ZXMgfHwgeyB9KTsKICAgIGVsc2UgaWYgKE9iamVjdC5pc1N0
cmluZyh3cmFwcGVyKSkgd3JhcHBlciA9IG5ldyBFbGVtZW50KHdyYXBwZXIsIGF0
dHJpYnV0ZXMpOwogICAgZWxzZSB3cmFwcGVyID0gbmV3IEVsZW1lbnQoJ2Rpdics
IHdyYXBwZXIpOwogICAgaWYgKGVsZW1lbnQucGFyZW50Tm9kZSkKICAgICAgZWxl
bWVudC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZCh3cmFwcGVyLCBlbGVtZW50KTsK
ICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CiAgICByZXR1cm4gd3Jh
cHBlcjsKICB9LAoKICBpbnNwZWN0OiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBl
bGVtZW50ID0gJChlbGVtZW50KTsKICAgIHZhciByZXN1bHQgPSAnPCcgKyBlbGVt
ZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKTsKICAgICRIKHsnaWQnOiAnaWQnLCAn
Y2xhc3NOYW1lJzogJ2NsYXNzJ30pLmVhY2goZnVuY3Rpb24ocGFpcikgewogICAg
ICB2YXIgcHJvcGVydHkgPSBwYWlyLmZpcnN0KCksIGF0dHJpYnV0ZSA9IHBhaXIu
bGFzdCgpOwogICAgICB2YXIgdmFsdWUgPSAoZWxlbWVudFtwcm9wZXJ0eV0gfHwg
JycpLnRvU3RyaW5nKCk7CiAgICAgIGlmICh2YWx1ZSkgcmVzdWx0ICs9ICcgJyAr
IGF0dHJpYnV0ZSArICc9JyArIHZhbHVlLmluc3BlY3QodHJ1ZSk7CiAgICB9KTsK
ICAgIHJldHVybiByZXN1bHQgKyAnPic7CiAgfSwKCiAgcmVjdXJzaXZlbHlDb2xs
ZWN0OiBmdW5jdGlvbihlbGVtZW50LCBwcm9wZXJ0eSkgewogICAgZWxlbWVudCA9
ICQoZWxlbWVudCk7CiAgICB2YXIgZWxlbWVudHMgPSBbXTsKICAgIHdoaWxlIChl
bGVtZW50ID0gZWxlbWVudFtwcm9wZXJ0eV0pCiAgICAgIGlmIChlbGVtZW50Lm5v
ZGVUeXBlID09IDEpCiAgICAgICAgZWxlbWVudHMucHVzaChFbGVtZW50LmV4dGVu
ZChlbGVtZW50KSk7CiAgICByZXR1cm4gZWxlbWVudHM7CiAgfSwKCiAgYW5jZXN0
b3JzOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICByZXR1cm4gJChlbGVtZW50KS5y
ZWN1cnNpdmVseUNvbGxlY3QoJ3BhcmVudE5vZGUnKTsKICB9LAoKICBkZXNjZW5k
YW50czogZnVuY3Rpb24oZWxlbWVudCkgewogICAgcmV0dXJuICQoZWxlbWVudCku
c2VsZWN0KCIqIik7CiAgfSwKCiAgZmlyc3REZXNjZW5kYW50OiBmdW5jdGlvbihl
bGVtZW50KSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KS5maXJzdENoaWxkOwog
ICAgd2hpbGUgKGVsZW1lbnQgJiYgZWxlbWVudC5ub2RlVHlwZSAhPSAxKSBlbGVt
ZW50ID0gZWxlbWVudC5uZXh0U2libGluZzsKICAgIHJldHVybiAkKGVsZW1lbnQp
OwogIH0sCgogIGltbWVkaWF0ZURlc2NlbmRhbnRzOiBmdW5jdGlvbihlbGVtZW50
KSB7CiAgICBpZiAoIShlbGVtZW50ID0gJChlbGVtZW50KS5maXJzdENoaWxkKSkg
cmV0dXJuIFtdOwogICAgd2hpbGUgKGVsZW1lbnQgJiYgZWxlbWVudC5ub2RlVHlw
ZSAhPSAxKSBlbGVtZW50ID0gZWxlbWVudC5uZXh0U2libGluZzsKICAgIGlmIChl
bGVtZW50KSByZXR1cm4gW2VsZW1lbnRdLmNvbmNhdCgkKGVsZW1lbnQpLm5leHRT
aWJsaW5ncygpKTsKICAgIHJldHVybiBbXTsKICB9LAoKICBwcmV2aW91c1NpYmxp
bmdzOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICByZXR1cm4gJChlbGVtZW50KS5y
ZWN1cnNpdmVseUNvbGxlY3QoJ3ByZXZpb3VzU2libGluZycpOwogIH0sCgogIG5l
eHRTaWJsaW5nczogZnVuY3Rpb24oZWxlbWVudCkgewogICAgcmV0dXJuICQoZWxl
bWVudCkucmVjdXJzaXZlbHlDb2xsZWN0KCduZXh0U2libGluZycpOwogIH0sCgog
IHNpYmxpbmdzOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBlbGVtZW50ID0gJChl
bGVtZW50KTsKICAgIHJldHVybiBlbGVtZW50LnByZXZpb3VzU2libGluZ3MoKS5y
ZXZlcnNlKCkuY29uY2F0KGVsZW1lbnQubmV4dFNpYmxpbmdzKCkpOwogIH0sCgog
IG1hdGNoOiBmdW5jdGlvbihlbGVtZW50LCBzZWxlY3RvcikgewogICAgaWYgKE9i
amVjdC5pc1N0cmluZyhzZWxlY3RvcikpCiAgICAgIHNlbGVjdG9yID0gbmV3IFNl
bGVjdG9yKHNlbGVjdG9yKTsKICAgIHJldHVybiBzZWxlY3Rvci5tYXRjaCgkKGVs
ZW1lbnQpKTsKICB9LAoKICB1cDogZnVuY3Rpb24oZWxlbWVudCwgZXhwcmVzc2lv
biwgaW5kZXgpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgaWYgKGFy
Z3VtZW50cy5sZW5ndGggPT0gMSkgcmV0dXJuICQoZWxlbWVudC5wYXJlbnROb2Rl
KTsKICAgIHZhciBhbmNlc3RvcnMgPSBlbGVtZW50LmFuY2VzdG9ycygpOwogICAg
cmV0dXJuIE9iamVjdC5pc051bWJlcihleHByZXNzaW9uKSA/IGFuY2VzdG9yc1tl
eHByZXNzaW9uXSA6CiAgICAgIFNlbGVjdG9yLmZpbmRFbGVtZW50KGFuY2VzdG9y
cywgZXhwcmVzc2lvbiwgaW5kZXgpOwogIH0sCgogIGRvd246IGZ1bmN0aW9uKGVs
ZW1lbnQsIGV4cHJlc3Npb24sIGluZGV4KSB7CiAgICBlbGVtZW50ID0gJChlbGVt
ZW50KTsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHJldHVybiBlbGVt
ZW50LmZpcnN0RGVzY2VuZGFudCgpOwogICAgcmV0dXJuIE9iamVjdC5pc051bWJl
cihleHByZXNzaW9uKSA/IGVsZW1lbnQuZGVzY2VuZGFudHMoKVtleHByZXNzaW9u
XSA6CiAgICAgIEVsZW1lbnQuc2VsZWN0KGVsZW1lbnQsIGV4cHJlc3Npb24pW2lu
ZGV4IHx8IDBdOwogIH0sCgogIHByZXZpb3VzOiBmdW5jdGlvbihlbGVtZW50LCBl
eHByZXNzaW9uLCBpbmRleCkgewogICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAg
ICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSByZXR1cm4gJChTZWxlY3Rvci5o
YW5kbGVycy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKGVsZW1lbnQpKTsKICAgIHZh
ciBwcmV2aW91c1NpYmxpbmdzID0gZWxlbWVudC5wcmV2aW91c1NpYmxpbmdzKCk7
CiAgICByZXR1cm4gT2JqZWN0LmlzTnVtYmVyKGV4cHJlc3Npb24pID8gcHJldmlv
dXNTaWJsaW5nc1tleHByZXNzaW9uXSA6CiAgICAgIFNlbGVjdG9yLmZpbmRFbGVt
ZW50KHByZXZpb3VzU2libGluZ3MsIGV4cHJlc3Npb24sIGluZGV4KTsKICB9LAoK
ICBuZXh0OiBmdW5jdGlvbihlbGVtZW50LCBleHByZXNzaW9uLCBpbmRleCkgewog
ICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICBpZiAoYXJndW1lbnRzLmxlbmd0
aCA9PSAxKSByZXR1cm4gJChTZWxlY3Rvci5oYW5kbGVycy5uZXh0RWxlbWVudFNp
YmxpbmcoZWxlbWVudCkpOwogICAgdmFyIG5leHRTaWJsaW5ncyA9IGVsZW1lbnQu
bmV4dFNpYmxpbmdzKCk7CiAgICByZXR1cm4gT2JqZWN0LmlzTnVtYmVyKGV4cHJl
c3Npb24pID8gbmV4dFNpYmxpbmdzW2V4cHJlc3Npb25dIDoKICAgICAgU2VsZWN0
b3IuZmluZEVsZW1lbnQobmV4dFNpYmxpbmdzLCBleHByZXNzaW9uLCBpbmRleCk7
CiAgfSwKCiAgc2VsZWN0OiBmdW5jdGlvbigpIHsKICAgIHZhciBhcmdzID0gJEEo
YXJndW1lbnRzKSwgZWxlbWVudCA9ICQoYXJncy5zaGlmdCgpKTsKICAgIHJldHVy
biBTZWxlY3Rvci5maW5kQ2hpbGRFbGVtZW50cyhlbGVtZW50LCBhcmdzKTsKICB9
LAoKICBhZGphY2VudDogZnVuY3Rpb24oKSB7CiAgICB2YXIgYXJncyA9ICRBKGFy
Z3VtZW50cyksIGVsZW1lbnQgPSAkKGFyZ3Muc2hpZnQoKSk7CiAgICByZXR1cm4g
U2VsZWN0b3IuZmluZENoaWxkRWxlbWVudHMoZWxlbWVudC5wYXJlbnROb2RlLCBh
cmdzKS53aXRob3V0KGVsZW1lbnQpOwogIH0sCgogIGlkZW50aWZ5OiBmdW5jdGlv
bihlbGVtZW50KSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIHZhciBp
ZCA9IGVsZW1lbnQucmVhZEF0dHJpYnV0ZSgnaWQnKSwgc2VsZiA9IGFyZ3VtZW50
cy5jYWxsZWU7CiAgICBpZiAoaWQpIHJldHVybiBpZDsKICAgIGRvIHsgaWQgPSAn
YW5vbnltb3VzX2VsZW1lbnRfJyArIHNlbGYuY291bnRlcisrIH0gd2hpbGUgKCQo
aWQpKTsKICAgIGVsZW1lbnQud3JpdGVBdHRyaWJ1dGUoJ2lkJywgaWQpOwogICAg
cmV0dXJuIGlkOwogIH0sCgogIHJlYWRBdHRyaWJ1dGU6IGZ1bmN0aW9uKGVsZW1l
bnQsIG5hbWUpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgaWYgKFBy
b3RvdHlwZS5Ccm93c2VyLklFKSB7CiAgICAgIHZhciB0ID0gRWxlbWVudC5fYXR0
cmlidXRlVHJhbnNsYXRpb25zLnJlYWQ7CiAgICAgIGlmICh0LnZhbHVlc1tuYW1l
XSkgcmV0dXJuIHQudmFsdWVzW25hbWVdKGVsZW1lbnQsIG5hbWUpOwogICAgICBp
ZiAodC5uYW1lc1tuYW1lXSkgbmFtZSA9IHQubmFtZXNbbmFtZV07CiAgICAgIGlm
IChuYW1lLmluY2x1ZGUoJzonKSkgewogICAgICAgIHJldHVybiAoIWVsZW1lbnQu
YXR0cmlidXRlcyB8fCAhZWxlbWVudC5hdHRyaWJ1dGVzW25hbWVdKSA/IG51bGwg
OgogICAgICAgICBlbGVtZW50LmF0dHJpYnV0ZXNbbmFtZV0udmFsdWU7CiAgICAg
IH0KICAgIH0KICAgIHJldHVybiBlbGVtZW50LmdldEF0dHJpYnV0ZShuYW1lKTsK
ICB9LAoKICB3cml0ZUF0dHJpYnV0ZTogZnVuY3Rpb24oZWxlbWVudCwgbmFtZSwg
dmFsdWUpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgdmFyIGF0dHJp
YnV0ZXMgPSB7IH0sIHQgPSBFbGVtZW50Ll9hdHRyaWJ1dGVUcmFuc2xhdGlvbnMu
d3JpdGU7CgogICAgaWYgKHR5cGVvZiBuYW1lID09ICdvYmplY3QnKSBhdHRyaWJ1
dGVzID0gbmFtZTsKICAgIGVsc2UgYXR0cmlidXRlc1tuYW1lXSA9IE9iamVjdC5p
c1VuZGVmaW5lZCh2YWx1ZSkgPyB0cnVlIDogdmFsdWU7CgogICAgZm9yICh2YXIg
YXR0ciBpbiBhdHRyaWJ1dGVzKSB7CiAgICAgIG5hbWUgPSB0Lm5hbWVzW2F0dHJd
IHx8IGF0dHI7CiAgICAgIHZhbHVlID0gYXR0cmlidXRlc1thdHRyXTsKICAgICAg
aWYgKHQudmFsdWVzW2F0dHJdKSBuYW1lID0gdC52YWx1ZXNbYXR0cl0oZWxlbWVu
dCwgdmFsdWUpOwogICAgICBpZiAodmFsdWUgPT09IGZhbHNlIHx8IHZhbHVlID09
PSBudWxsKQogICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKG5hbWUpOwog
ICAgICBlbHNlIGlmICh2YWx1ZSA9PT0gdHJ1ZSkKICAgICAgICBlbGVtZW50LnNl
dEF0dHJpYnV0ZShuYW1lLCBuYW1lKTsKICAgICAgZWxzZSBlbGVtZW50LnNldEF0
dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudDsK
ICB9LAoKICBnZXRIZWlnaHQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHJldHVy
biAkKGVsZW1lbnQpLmdldERpbWVuc2lvbnMoKS5oZWlnaHQ7CiAgfSwKCiAgZ2V0
V2lkdGg6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHJldHVybiAkKGVsZW1lbnQp
LmdldERpbWVuc2lvbnMoKS53aWR0aDsKICB9LAoKICBjbGFzc05hbWVzOiBmdW5j
dGlvbihlbGVtZW50KSB7CiAgICByZXR1cm4gbmV3IEVsZW1lbnQuQ2xhc3NOYW1l
cyhlbGVtZW50KTsKICB9LAoKICBoYXNDbGFzc05hbWU6IGZ1bmN0aW9uKGVsZW1l
bnQsIGNsYXNzTmFtZSkgewogICAgaWYgKCEoZWxlbWVudCA9ICQoZWxlbWVudCkp
KSByZXR1cm47CiAgICB2YXIgZWxlbWVudENsYXNzTmFtZSA9IGVsZW1lbnQuY2xh
c3NOYW1lOwogICAgcmV0dXJuIChlbGVtZW50Q2xhc3NOYW1lLmxlbmd0aCA+IDAg
JiYgKGVsZW1lbnRDbGFzc05hbWUgPT0gY2xhc3NOYW1lIHx8CiAgICAgIG5ldyBS
ZWdFeHAoIihefFxccykiICsgY2xhc3NOYW1lICsgIihcXHN8JCkiKS50ZXN0KGVs
ZW1lbnRDbGFzc05hbWUpKSk7CiAgfSwKCiAgYWRkQ2xhc3NOYW1lOiBmdW5jdGlv
bihlbGVtZW50LCBjbGFzc05hbWUpIHsKICAgIGlmICghKGVsZW1lbnQgPSAkKGVs
ZW1lbnQpKSkgcmV0dXJuOwogICAgaWYgKCFlbGVtZW50Lmhhc0NsYXNzTmFtZShj
bGFzc05hbWUpKQogICAgICBlbGVtZW50LmNsYXNzTmFtZSArPSAoZWxlbWVudC5j
bGFzc05hbWUgPyAnICcgOiAnJykgKyBjbGFzc05hbWU7CiAgICByZXR1cm4gZWxl
bWVudDsKICB9LAoKICByZW1vdmVDbGFzc05hbWU6IGZ1bmN0aW9uKGVsZW1lbnQs
IGNsYXNzTmFtZSkgewogICAgaWYgKCEoZWxlbWVudCA9ICQoZWxlbWVudCkpKSBy
ZXR1cm47CiAgICBlbGVtZW50LmNsYXNzTmFtZSA9IGVsZW1lbnQuY2xhc3NOYW1l
LnJlcGxhY2UoCiAgICAgIG5ldyBSZWdFeHAoIihefFxccyspIiArIGNsYXNzTmFt
ZSArICIoXFxzK3wkKSIpLCAnICcpLnN0cmlwKCk7CiAgICByZXR1cm4gZWxlbWVu
dDsKICB9LAoKICB0b2dnbGVDbGFzc05hbWU6IGZ1bmN0aW9uKGVsZW1lbnQsIGNs
YXNzTmFtZSkgewogICAgaWYgKCEoZWxlbWVudCA9ICQoZWxlbWVudCkpKSByZXR1
cm47CiAgICByZXR1cm4gZWxlbWVudFtlbGVtZW50Lmhhc0NsYXNzTmFtZShjbGFz
c05hbWUpID8KICAgICAgJ3JlbW92ZUNsYXNzTmFtZScgOiAnYWRkQ2xhc3NOYW1l
J10oY2xhc3NOYW1lKTsKICB9LAoKICAvLyByZW1vdmVzIHdoaXRlc3BhY2Utb25s
eSB0ZXh0IG5vZGUgY2hpbGRyZW4KICBjbGVhbldoaXRlc3BhY2U6IGZ1bmN0aW9u
KGVsZW1lbnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgdmFyIG5v
ZGUgPSBlbGVtZW50LmZpcnN0Q2hpbGQ7CiAgICB3aGlsZSAobm9kZSkgewogICAg
ICB2YXIgbmV4dE5vZGUgPSBub2RlLm5leHRTaWJsaW5nOwogICAgICBpZiAobm9k
ZS5ub2RlVHlwZSA9PSAzICYmICEvXFMvLnRlc3Qobm9kZS5ub2RlVmFsdWUpKQog
ICAgICAgIGVsZW1lbnQucmVtb3ZlQ2hpbGQobm9kZSk7CiAgICAgIG5vZGUgPSBu
ZXh0Tm9kZTsKICAgIH0KICAgIHJldHVybiBlbGVtZW50OwogIH0sCgogIGVtcHR5
OiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICByZXR1cm4gJChlbGVtZW50KS5pbm5l
ckhUTUwuYmxhbmsoKTsKICB9LAoKICBkZXNjZW5kYW50T2Y6IGZ1bmN0aW9uKGVs
ZW1lbnQsIGFuY2VzdG9yKSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KSwgYW5j
ZXN0b3IgPSAkKGFuY2VzdG9yKTsKCiAgICBpZiAoZWxlbWVudC5jb21wYXJlRG9j
dW1lbnRQb3NpdGlvbikKICAgICAgcmV0dXJuIChlbGVtZW50LmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGFuY2VzdG9yKSAmIDgpID09PSA4OwoKICAgIGlmIChhbmNl
c3Rvci5jb250YWlucykKICAgICAgcmV0dXJuIGFuY2VzdG9yLmNvbnRhaW5zKGVs
ZW1lbnQpICYmIGFuY2VzdG9yICE9PSBlbGVtZW50OwoKICAgIHdoaWxlIChlbGVt
ZW50ID0gZWxlbWVudC5wYXJlbnROb2RlKQogICAgICBpZiAoZWxlbWVudCA9PSBh
bmNlc3RvcikgcmV0dXJuIHRydWU7CgogICAgcmV0dXJuIGZhbHNlOwogIH0sCgog
IHNjcm9sbFRvOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBlbGVtZW50ID0gJChl
bGVtZW50KTsKICAgIHZhciBwb3MgPSBlbGVtZW50LmN1bXVsYXRpdmVPZmZzZXQo
KTsKICAgIHdpbmRvdy5zY3JvbGxUbyhwb3NbMF0sIHBvc1sxXSk7CiAgICByZXR1
cm4gZWxlbWVudDsKICB9LAoKICBnZXRTdHlsZTogZnVuY3Rpb24oZWxlbWVudCwg
c3R5bGUpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgc3R5bGUgPSBz
dHlsZSA9PSAnZmxvYXQnID8gJ2Nzc0Zsb2F0JyA6IHN0eWxlLmNhbWVsaXplKCk7
CiAgICB2YXIgdmFsdWUgPSBlbGVtZW50LnN0eWxlW3N0eWxlXTsKICAgIGlmICgh
dmFsdWUgfHwgdmFsdWUgPT0gJ2F1dG8nKSB7CiAgICAgIHZhciBjc3MgPSBkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsIG51bGwp
OwogICAgICB2YWx1ZSA9IGNzcyA/IGNzc1tzdHlsZV0gOiBudWxsOwogICAgfQog
ICAgaWYgKHN0eWxlID09ICdvcGFjaXR5JykgcmV0dXJuIHZhbHVlID8gcGFyc2VG
bG9hdCh2YWx1ZSkgOiAxLjA7CiAgICByZXR1cm4gdmFsdWUgPT0gJ2F1dG8nID8g
bnVsbCA6IHZhbHVlOwogIH0sCgogIGdldE9wYWNpdHk6IGZ1bmN0aW9uKGVsZW1l
bnQpIHsKICAgIHJldHVybiAkKGVsZW1lbnQpLmdldFN0eWxlKCdvcGFjaXR5Jyk7
CiAgfSwKCiAgc2V0U3R5bGU6IGZ1bmN0aW9uKGVsZW1lbnQsIHN0eWxlcykgewog
ICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICB2YXIgZWxlbWVudFN0eWxlID0g
ZWxlbWVudC5zdHlsZSwgbWF0Y2g7CiAgICBpZiAoT2JqZWN0LmlzU3RyaW5nKHN0
eWxlcykpIHsKICAgICAgZWxlbWVudC5zdHlsZS5jc3NUZXh0ICs9ICc7JyArIHN0
eWxlczsKICAgICAgcmV0dXJuIHN0eWxlcy5pbmNsdWRlKCdvcGFjaXR5JykgPwog
ICAgICAgIGVsZW1lbnQuc2V0T3BhY2l0eShzdHlsZXMubWF0Y2goL29wYWNpdHk6
XHMqKFxkP1wuP1xkKikvKVsxXSkgOiBlbGVtZW50OwogICAgfQogICAgZm9yICh2
YXIgcHJvcGVydHkgaW4gc3R5bGVzKQogICAgICBpZiAocHJvcGVydHkgPT0gJ29w
YWNpdHknKSBlbGVtZW50LnNldE9wYWNpdHkoc3R5bGVzW3Byb3BlcnR5XSk7CiAg
ICAgIGVsc2UKICAgICAgICBlbGVtZW50U3R5bGVbKHByb3BlcnR5ID09ICdmbG9h
dCcgfHwgcHJvcGVydHkgPT0gJ2Nzc0Zsb2F0JykgPwogICAgICAgICAgKE9iamVj
dC5pc1VuZGVmaW5lZChlbGVtZW50U3R5bGUuc3R5bGVGbG9hdCkgPyAnY3NzRmxv
YXQnIDogJ3N0eWxlRmxvYXQnKSA6CiAgICAgICAgICAgIHByb3BlcnR5XSA9IHN0
eWxlc1twcm9wZXJ0eV07CgogICAgcmV0dXJuIGVsZW1lbnQ7CiAgfSwKCiAgc2V0
T3BhY2l0eTogZnVuY3Rpb24oZWxlbWVudCwgdmFsdWUpIHsKICAgIGVsZW1lbnQg
PSAkKGVsZW1lbnQpOwogICAgZWxlbWVudC5zdHlsZS5vcGFjaXR5ID0gKHZhbHVl
ID09IDEgfHwgdmFsdWUgPT09ICcnKSA/ICcnIDoKICAgICAgKHZhbHVlIDwgMC4w
MDAwMSkgPyAwIDogdmFsdWU7CiAgICByZXR1cm4gZWxlbWVudDsKICB9LAoKICBn
ZXREaW1lbnNpb25zOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBlbGVtZW50ID0g
JChlbGVtZW50KTsKICAgIHZhciBkaXNwbGF5ID0gZWxlbWVudC5nZXRTdHlsZSgn
ZGlzcGxheScpOwogICAgaWYgKGRpc3BsYXkgIT0gJ25vbmUnICYmIGRpc3BsYXkg
IT0gbnVsbCkgLy8gU2FmYXJpIGJ1ZwogICAgICByZXR1cm4ge3dpZHRoOiBlbGVt
ZW50Lm9mZnNldFdpZHRoLCBoZWlnaHQ6IGVsZW1lbnQub2Zmc2V0SGVpZ2h0fTsK
CiAgICAvLyBBbGwgKldpZHRoIGFuZCAqSGVpZ2h0IHByb3BlcnRpZXMgZ2l2ZSAw
IG9uIGVsZW1lbnRzIHdpdGggZGlzcGxheSBub25lLAogICAgLy8gc28gZW5hYmxl
IHRoZSBlbGVtZW50IHRlbXBvcmFyaWx5CiAgICB2YXIgZWxzID0gZWxlbWVudC5z
dHlsZTsKICAgIHZhciBvcmlnaW5hbFZpc2liaWxpdHkgPSBlbHMudmlzaWJpbGl0
eTsKICAgIHZhciBvcmlnaW5hbFBvc2l0aW9uID0gZWxzLnBvc2l0aW9uOwogICAg
dmFyIG9yaWdpbmFsRGlzcGxheSA9IGVscy5kaXNwbGF5OwogICAgZWxzLnZpc2li
aWxpdHkgPSAnaGlkZGVuJzsKICAgIGVscy5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7
CiAgICBlbHMuZGlzcGxheSA9ICdibG9jayc7CiAgICB2YXIgb3JpZ2luYWxXaWR0
aCA9IGVsZW1lbnQuY2xpZW50V2lkdGg7CiAgICB2YXIgb3JpZ2luYWxIZWlnaHQg
PSBlbGVtZW50LmNsaWVudEhlaWdodDsKICAgIGVscy5kaXNwbGF5ID0gb3JpZ2lu
YWxEaXNwbGF5OwogICAgZWxzLnBvc2l0aW9uID0gb3JpZ2luYWxQb3NpdGlvbjsK
ICAgIGVscy52aXNpYmlsaXR5ID0gb3JpZ2luYWxWaXNpYmlsaXR5OwogICAgcmV0
dXJuIHt3aWR0aDogb3JpZ2luYWxXaWR0aCwgaGVpZ2h0OiBvcmlnaW5hbEhlaWdo
dH07CiAgfSwKCiAgbWFrZVBvc2l0aW9uZWQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsK
ICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgdmFyIHBvcyA9IEVsZW1lbnQu
Z2V0U3R5bGUoZWxlbWVudCwgJ3Bvc2l0aW9uJyk7CiAgICBpZiAocG9zID09ICdz
dGF0aWMnIHx8ICFwb3MpIHsKICAgICAgZWxlbWVudC5fbWFkZVBvc2l0aW9uZWQg
PSB0cnVlOwogICAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZl
JzsKICAgICAgLy8gT3BlcmEgcmV0dXJucyB0aGUgb2Zmc2V0IHJlbGF0aXZlIHRv
IHRoZSBwb3NpdGlvbmluZyBjb250ZXh0LCB3aGVuIGFuCiAgICAgIC8vIGVsZW1l
bnQgaXMgcG9zaXRpb24gcmVsYXRpdmUgYnV0IHRvcCBhbmQgbGVmdCBoYXZlIG5v
dCBiZWVuIGRlZmluZWQKICAgICAgaWYgKFByb3RvdHlwZS5Ccm93c2VyLk9wZXJh
KSB7CiAgICAgICAgZWxlbWVudC5zdHlsZS50b3AgPSAwOwogICAgICAgIGVsZW1l
bnQuc3R5bGUubGVmdCA9IDA7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBlbGVt
ZW50OwogIH0sCgogIHVuZG9Qb3NpdGlvbmVkOiBmdW5jdGlvbihlbGVtZW50KSB7
CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIGlmIChlbGVtZW50Ll9tYWRl
UG9zaXRpb25lZCkgewogICAgICBlbGVtZW50Ll9tYWRlUG9zaXRpb25lZCA9IHVu
ZGVmaW5lZDsKICAgICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9CiAgICAgICAg
ZWxlbWVudC5zdHlsZS50b3AgPQogICAgICAgIGVsZW1lbnQuc3R5bGUubGVmdCA9
CiAgICAgICAgZWxlbWVudC5zdHlsZS5ib3R0b20gPQogICAgICAgIGVsZW1lbnQu
c3R5bGUucmlnaHQgPSAnJzsKICAgIH0KICAgIHJldHVybiBlbGVtZW50OwogIH0s
CgogIG1ha2VDbGlwcGluZzogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxlbWVu
dCA9ICQoZWxlbWVudCk7CiAgICBpZiAoZWxlbWVudC5fb3ZlcmZsb3cpIHJldHVy
biBlbGVtZW50OwogICAgZWxlbWVudC5fb3ZlcmZsb3cgPSBFbGVtZW50LmdldFN0
eWxlKGVsZW1lbnQsICdvdmVyZmxvdycpIHx8ICdhdXRvJzsKICAgIGlmIChlbGVt
ZW50Ll9vdmVyZmxvdyAhPT0gJ2hpZGRlbicpCiAgICAgIGVsZW1lbnQuc3R5bGUu
b3ZlcmZsb3cgPSAnaGlkZGVuJzsKICAgIHJldHVybiBlbGVtZW50OwogIH0sCgog
IHVuZG9DbGlwcGluZzogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxlbWVudCA9
ICQoZWxlbWVudCk7CiAgICBpZiAoIWVsZW1lbnQuX292ZXJmbG93KSByZXR1cm4g
ZWxlbWVudDsKICAgIGVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSBlbGVtZW50Ll9v
dmVyZmxvdyA9PSAnYXV0bycgPyAnJyA6IGVsZW1lbnQuX292ZXJmbG93OwogICAg
ZWxlbWVudC5fb3ZlcmZsb3cgPSBudWxsOwogICAgcmV0dXJuIGVsZW1lbnQ7CiAg
fSwKCiAgY3VtdWxhdGl2ZU9mZnNldDogZnVuY3Rpb24oZWxlbWVudCkgewogICAg
dmFyIHZhbHVlVCA9IDAsIHZhbHVlTCA9IDA7CiAgICBkbyB7CiAgICAgIHZhbHVl
VCArPSBlbGVtZW50Lm9mZnNldFRvcCAgfHwgMDsKICAgICAgdmFsdWVMICs9IGVs
ZW1lbnQub2Zmc2V0TGVmdCB8fCAwOwogICAgICBlbGVtZW50ID0gZWxlbWVudC5v
ZmZzZXRQYXJlbnQ7CiAgICB9IHdoaWxlIChlbGVtZW50KTsKICAgIHJldHVybiBF
bGVtZW50Ll9yZXR1cm5PZmZzZXQodmFsdWVMLCB2YWx1ZVQpOwogIH0sCgogIHBv
c2l0aW9uZWRPZmZzZXQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHZhciB2YWx1
ZVQgPSAwLCB2YWx1ZUwgPSAwOwogICAgZG8gewogICAgICB2YWx1ZVQgKz0gZWxl
bWVudC5vZmZzZXRUb3AgIHx8IDA7CiAgICAgIHZhbHVlTCArPSBlbGVtZW50Lm9m
ZnNldExlZnQgfHwgMDsKICAgICAgZWxlbWVudCA9IGVsZW1lbnQub2Zmc2V0UGFy
ZW50OwogICAgICBpZiAoZWxlbWVudCkgewogICAgICAgIGlmIChlbGVtZW50LnRh
Z05hbWUudG9VcHBlckNhc2UoKSA9PSAnQk9EWScpIGJyZWFrOwogICAgICAgIHZh
ciBwID0gRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCAncG9zaXRpb24nKTsKICAg
ICAgICBpZiAocCAhPT0gJ3N0YXRpYycpIGJyZWFrOwogICAgICB9CiAgICB9IHdo
aWxlIChlbGVtZW50KTsKICAgIHJldHVybiBFbGVtZW50Ll9yZXR1cm5PZmZzZXQo
dmFsdWVMLCB2YWx1ZVQpOwogIH0sCgogIGFic29sdXRpemU6IGZ1bmN0aW9uKGVs
ZW1lbnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgaWYgKGVsZW1l
bnQuZ2V0U3R5bGUoJ3Bvc2l0aW9uJykgPT0gJ2Fic29sdXRlJykgcmV0dXJuIGVs
ZW1lbnQ7CiAgICAvLyBQb3NpdGlvbi5wcmVwYXJlKCk7IC8vIFRvIGJlIGRvbmUg
bWFudWFsbHkgYnkgU2NyaXB0eSB3aGVuIGl0IG5lZWRzIGl0LgoKICAgIHZhciBv
ZmZzZXRzID0gZWxlbWVudC5wb3NpdGlvbmVkT2Zmc2V0KCk7CiAgICB2YXIgdG9w
ICAgICA9IG9mZnNldHNbMV07CiAgICB2YXIgbGVmdCAgICA9IG9mZnNldHNbMF07
CiAgICB2YXIgd2lkdGggICA9IGVsZW1lbnQuY2xpZW50V2lkdGg7CiAgICB2YXIg
aGVpZ2h0ICA9IGVsZW1lbnQuY2xpZW50SGVpZ2h0OwoKICAgIGVsZW1lbnQuX29y
aWdpbmFsTGVmdCAgID0gbGVmdCAtIHBhcnNlRmxvYXQoZWxlbWVudC5zdHlsZS5s
ZWZ0ICB8fCAwKTsKICAgIGVsZW1lbnQuX29yaWdpbmFsVG9wICAgID0gdG9wICAt
IHBhcnNlRmxvYXQoZWxlbWVudC5zdHlsZS50b3AgfHwgMCk7CiAgICBlbGVtZW50
Ll9vcmlnaW5hbFdpZHRoICA9IGVsZW1lbnQuc3R5bGUud2lkdGg7CiAgICBlbGVt
ZW50Ll9vcmlnaW5hbEhlaWdodCA9IGVsZW1lbnQuc3R5bGUuaGVpZ2h0OwoKICAg
IGVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOwogICAgZWxlbWVu
dC5zdHlsZS50b3AgICAgPSB0b3AgKyAncHgnOwogICAgZWxlbWVudC5zdHlsZS5s
ZWZ0ICAgPSBsZWZ0ICsgJ3B4JzsKICAgIGVsZW1lbnQuc3R5bGUud2lkdGggID0g
d2lkdGggKyAncHgnOwogICAgZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBoZWlnaHQg
KyAncHgnOwogICAgcmV0dXJuIGVsZW1lbnQ7CiAgfSwKCiAgcmVsYXRpdml6ZTog
ZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAg
ICBpZiAoZWxlbWVudC5nZXRTdHlsZSgncG9zaXRpb24nKSA9PSAncmVsYXRpdmUn
KSByZXR1cm4gZWxlbWVudDsKICAgIC8vIFBvc2l0aW9uLnByZXBhcmUoKTsgLy8g
VG8gYmUgZG9uZSBtYW51YWxseSBieSBTY3JpcHR5IHdoZW4gaXQgbmVlZHMgaXQu
CgogICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7CiAgICB2
YXIgdG9wICA9IHBhcnNlRmxvYXQoZWxlbWVudC5zdHlsZS50b3AgIHx8IDApIC0g
KGVsZW1lbnQuX29yaWdpbmFsVG9wIHx8IDApOwogICAgdmFyIGxlZnQgPSBwYXJz
ZUZsb2F0KGVsZW1lbnQuc3R5bGUubGVmdCB8fCAwKSAtIChlbGVtZW50Ll9vcmln
aW5hbExlZnQgfHwgMCk7CgogICAgZWxlbWVudC5zdHlsZS50b3AgICAgPSB0b3Ag
KyAncHgnOwogICAgZWxlbWVudC5zdHlsZS5sZWZ0ICAgPSBsZWZ0ICsgJ3B4JzsK
ICAgIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gZWxlbWVudC5fb3JpZ2luYWxIZWln
aHQ7CiAgICBlbGVtZW50LnN0eWxlLndpZHRoICA9IGVsZW1lbnQuX29yaWdpbmFs
V2lkdGg7CiAgICByZXR1cm4gZWxlbWVudDsKICB9LAoKICBjdW11bGF0aXZlU2Ny
b2xsT2Zmc2V0OiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICB2YXIgdmFsdWVUID0g
MCwgdmFsdWVMID0gMDsKICAgIGRvIHsKICAgICAgdmFsdWVUICs9IGVsZW1lbnQu
c2Nyb2xsVG9wICB8fCAwOwogICAgICB2YWx1ZUwgKz0gZWxlbWVudC5zY3JvbGxM
ZWZ0IHx8IDA7CiAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7CiAg
ICB9IHdoaWxlIChlbGVtZW50KTsKICAgIHJldHVybiBFbGVtZW50Ll9yZXR1cm5P
ZmZzZXQodmFsdWVMLCB2YWx1ZVQpOwogIH0sCgogIGdldE9mZnNldFBhcmVudDog
ZnVuY3Rpb24oZWxlbWVudCkgewogICAgaWYgKGVsZW1lbnQub2Zmc2V0UGFyZW50
KSByZXR1cm4gJChlbGVtZW50Lm9mZnNldFBhcmVudCk7CiAgICBpZiAoZWxlbWVu
dCA9PSBkb2N1bWVudC5ib2R5KSByZXR1cm4gJChlbGVtZW50KTsKCiAgICB3aGls
ZSAoKGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGUpICYmIGVsZW1lbnQgIT0g
ZG9jdW1lbnQuYm9keSkKICAgICAgaWYgKEVsZW1lbnQuZ2V0U3R5bGUoZWxlbWVu
dCwgJ3Bvc2l0aW9uJykgIT0gJ3N0YXRpYycpCiAgICAgICAgcmV0dXJuICQoZWxl
bWVudCk7CgogICAgcmV0dXJuICQoZG9jdW1lbnQuYm9keSk7CiAgfSwKCiAgdmll
d3BvcnRPZmZzZXQ6IGZ1bmN0aW9uKGZvckVsZW1lbnQpIHsKICAgIHZhciB2YWx1
ZVQgPSAwLCB2YWx1ZUwgPSAwOwoKICAgIHZhciBlbGVtZW50ID0gZm9yRWxlbWVu
dDsKICAgIGRvIHsKICAgICAgdmFsdWVUICs9IGVsZW1lbnQub2Zmc2V0VG9wICB8
fCAwOwogICAgICB2YWx1ZUwgKz0gZWxlbWVudC5vZmZzZXRMZWZ0IHx8IDA7Cgog
ICAgICAvLyBTYWZhcmkgZml4CiAgICAgIGlmIChlbGVtZW50Lm9mZnNldFBhcmVu
dCA9PSBkb2N1bWVudC5ib2R5ICYmCiAgICAgICAgRWxlbWVudC5nZXRTdHlsZShl
bGVtZW50LCAncG9zaXRpb24nKSA9PSAnYWJzb2x1dGUnKSBicmVhazsKCiAgICB9
IHdoaWxlIChlbGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQpOwoKICAgIGVs
ZW1lbnQgPSBmb3JFbGVtZW50OwogICAgZG8gewogICAgICBpZiAoIVByb3RvdHlw
ZS5Ccm93c2VyLk9wZXJhIHx8IChlbGVtZW50LnRhZ05hbWUgJiYgKGVsZW1lbnQu
dGFnTmFtZS50b1VwcGVyQ2FzZSgpID09ICdCT0RZJykpKSB7CiAgICAgICAgdmFs
dWVUIC09IGVsZW1lbnQuc2Nyb2xsVG9wICB8fCAwOwogICAgICAgIHZhbHVlTCAt
PSBlbGVtZW50LnNjcm9sbExlZnQgfHwgMDsKICAgICAgfQogICAgfSB3aGlsZSAo
ZWxlbWVudCA9IGVsZW1lbnQucGFyZW50Tm9kZSk7CgogICAgcmV0dXJuIEVsZW1l
bnQuX3JldHVybk9mZnNldCh2YWx1ZUwsIHZhbHVlVCk7CiAgfSwKCiAgY2xvbmVQ
b3NpdGlvbjogZnVuY3Rpb24oZWxlbWVudCwgc291cmNlKSB7CiAgICB2YXIgb3B0
aW9ucyA9IE9iamVjdC5leHRlbmQoewogICAgICBzZXRMZWZ0OiAgICB0cnVlLAog
ICAgICBzZXRUb3A6ICAgICB0cnVlLAogICAgICBzZXRXaWR0aDogICB0cnVlLAog
ICAgICBzZXRIZWlnaHQ6ICB0cnVlLAogICAgICBvZmZzZXRUb3A6ICAwLAogICAg
ICBvZmZzZXRMZWZ0OiAwCiAgICB9LCBhcmd1bWVudHNbMl0gfHwgeyB9KTsKCiAg
ICAvLyBmaW5kIHBhZ2UgcG9zaXRpb24gb2Ygc291cmNlCiAgICBzb3VyY2UgPSAk
KHNvdXJjZSk7CiAgICB2YXIgcCA9IHNvdXJjZS52aWV3cG9ydE9mZnNldCgpOwoK
ICAgIC8vIGZpbmQgY29vcmRpbmF0ZSBzeXN0ZW0gdG8gdXNlCiAgICBlbGVtZW50
ID0gJChlbGVtZW50KTsKICAgIHZhciBkZWx0YSA9IFswLCAwXTsKICAgIHZhciBw
YXJlbnQgPSBudWxsOwogICAgLy8gZGVsdGEgWzAsMF0gd2lsbCBkbyBmaW5lIHdp
dGggcG9zaXRpb246IGZpeGVkIGVsZW1lbnRzLAogICAgLy8gcG9zaXRpb246YWJz
b2x1dGUgbmVlZHMgb2Zmc2V0UGFyZW50IGRlbHRhcwogICAgaWYgKEVsZW1lbnQu
Z2V0U3R5bGUoZWxlbWVudCwgJ3Bvc2l0aW9uJykgPT0gJ2Fic29sdXRlJykgewog
ICAgICBwYXJlbnQgPSBlbGVtZW50LmdldE9mZnNldFBhcmVudCgpOwogICAgICBk
ZWx0YSA9IHBhcmVudC52aWV3cG9ydE9mZnNldCgpOwogICAgfQoKICAgIC8vIGNv
cnJlY3QgYnkgYm9keSBvZmZzZXRzIChmaXhlcyBTYWZhcmkpCiAgICBpZiAocGFy
ZW50ID09IGRvY3VtZW50LmJvZHkpIHsKICAgICAgZGVsdGFbMF0gLT0gZG9jdW1l
bnQuYm9keS5vZmZzZXRMZWZ0OwogICAgICBkZWx0YVsxXSAtPSBkb2N1bWVudC5i
b2R5Lm9mZnNldFRvcDsKICAgIH0KCiAgICAvLyBzZXQgcG9zaXRpb24KICAgIGlm
IChvcHRpb25zLnNldExlZnQpICAgZWxlbWVudC5zdHlsZS5sZWZ0ICA9IChwWzBd
IC0gZGVsdGFbMF0gKyBvcHRpb25zLm9mZnNldExlZnQpICsgJ3B4JzsKICAgIGlm
IChvcHRpb25zLnNldFRvcCkgICAgZWxlbWVudC5zdHlsZS50b3AgICA9IChwWzFd
IC0gZGVsdGFbMV0gKyBvcHRpb25zLm9mZnNldFRvcCkgKyAncHgnOwogICAgaWYg
KG9wdGlvbnMuc2V0V2lkdGgpICBlbGVtZW50LnN0eWxlLndpZHRoID0gc291cmNl
Lm9mZnNldFdpZHRoICsgJ3B4JzsKICAgIGlmIChvcHRpb25zLnNldEhlaWdodCkg
ZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBzb3VyY2Uub2Zmc2V0SGVpZ2h0ICsgJ3B4
JzsKICAgIHJldHVybiBlbGVtZW50OwogIH0KfTsKCkVsZW1lbnQuTWV0aG9kcy5p
ZGVudGlmeS5jb3VudGVyID0gMTsKCk9iamVjdC5leHRlbmQoRWxlbWVudC5NZXRo
b2RzLCB7CiAgZ2V0RWxlbWVudHNCeVNlbGVjdG9yOiBFbGVtZW50Lk1ldGhvZHMu
c2VsZWN0LAogIGNoaWxkRWxlbWVudHM6IEVsZW1lbnQuTWV0aG9kcy5pbW1lZGlh
dGVEZXNjZW5kYW50cwp9KTsKCkVsZW1lbnQuX2F0dHJpYnV0ZVRyYW5zbGF0aW9u
cyA9IHsKICB3cml0ZTogewogICAgbmFtZXM6IHsKICAgICAgY2xhc3NOYW1lOiAn
Y2xhc3MnLAogICAgICBodG1sRm9yOiAgICdmb3InCiAgICB9LAogICAgdmFsdWVz
OiB7IH0KICB9Cn07CgppZiAoUHJvdG90eXBlLkJyb3dzZXIuT3BlcmEpIHsKICBF
bGVtZW50Lk1ldGhvZHMuZ2V0U3R5bGUgPSBFbGVtZW50Lk1ldGhvZHMuZ2V0U3R5
bGUud3JhcCgKICAgIGZ1bmN0aW9uKHByb2NlZWQsIGVsZW1lbnQsIHN0eWxlKSB7
CiAgICAgIHN3aXRjaCAoc3R5bGUpIHsKICAgICAgICBjYXNlICdsZWZ0JzogY2Fz
ZSAndG9wJzogY2FzZSAncmlnaHQnOiBjYXNlICdib3R0b20nOgogICAgICAgICAg
aWYgKHByb2NlZWQoZWxlbWVudCwgJ3Bvc2l0aW9uJykgPT09ICdzdGF0aWMnKSBy
ZXR1cm4gbnVsbDsKICAgICAgICBjYXNlICdoZWlnaHQnOiBjYXNlICd3aWR0aCc6
CiAgICAgICAgICAvLyByZXR1cm5zICcwcHgnIGZvciBoaWRkZW4gZWxlbWVudHM7
IHdlIHdhbnQgaXQgdG8gcmV0dXJuIG51bGwKICAgICAgICAgIGlmICghRWxlbWVu
dC52aXNpYmxlKGVsZW1lbnQpKSByZXR1cm4gbnVsbDsKCiAgICAgICAgICAvLyBy
ZXR1cm5zIHRoZSBib3JkZXItYm94IGRpbWVuc2lvbnMgcmF0aGVyIHRoYW4gdGhl
IGNvbnRlbnQtYm94CiAgICAgICAgICAvLyBkaW1lbnNpb25zLCBzbyB3ZSBzdWJ0
cmFjdCBwYWRkaW5nIGFuZCBib3JkZXJzIGZyb20gdGhlIHZhbHVlCiAgICAgICAg
ICB2YXIgZGltID0gcGFyc2VJbnQocHJvY2VlZChlbGVtZW50LCBzdHlsZSksIDEw
KTsKCiAgICAgICAgICBpZiAoZGltICE9PSBlbGVtZW50WydvZmZzZXQnICsgc3R5
bGUuY2FwaXRhbGl6ZSgpXSkKICAgICAgICAgICAgcmV0dXJuIGRpbSArICdweCc7
CgogICAgICAgICAgdmFyIHByb3BlcnRpZXM7CiAgICAgICAgICBpZiAoc3R5bGUg
PT09ICdoZWlnaHQnKSB7CiAgICAgICAgICAgIHByb3BlcnRpZXMgPSBbJ2JvcmRl
ci10b3Atd2lkdGgnLCAncGFkZGluZy10b3AnLAogICAgICAgICAgICAgJ3BhZGRp
bmctYm90dG9tJywgJ2JvcmRlci1ib3R0b20td2lkdGgnXTsKICAgICAgICAgIH0K
ICAgICAgICAgIGVsc2UgewogICAgICAgICAgICBwcm9wZXJ0aWVzID0gWydib3Jk
ZXItbGVmdC13aWR0aCcsICdwYWRkaW5nLWxlZnQnLAogICAgICAgICAgICAgJ3Bh
ZGRpbmctcmlnaHQnLCAnYm9yZGVyLXJpZ2h0LXdpZHRoJ107CiAgICAgICAgICB9
CiAgICAgICAgICByZXR1cm4gcHJvcGVydGllcy5pbmplY3QoZGltLCBmdW5jdGlv
bihtZW1vLCBwcm9wZXJ0eSkgewogICAgICAgICAgICB2YXIgdmFsID0gcHJvY2Vl
ZChlbGVtZW50LCBwcm9wZXJ0eSk7CiAgICAgICAgICAgIHJldHVybiB2YWwgPT09
IG51bGwgPyBtZW1vIDogbWVtbyAtIHBhcnNlSW50KHZhbCwgMTApOwogICAgICAg
ICAgfSkgKyAncHgnOwogICAgICAgIGRlZmF1bHQ6IHJldHVybiBwcm9jZWVkKGVs
ZW1lbnQsIHN0eWxlKTsKICAgICAgfQogICAgfQogICk7CgogIEVsZW1lbnQuTWV0
aG9kcy5yZWFkQXR0cmlidXRlID0gRWxlbWVudC5NZXRob2RzLnJlYWRBdHRyaWJ1
dGUud3JhcCgKICAgIGZ1bmN0aW9uKHByb2NlZWQsIGVsZW1lbnQsIGF0dHJpYnV0
ZSkgewogICAgICBpZiAoYXR0cmlidXRlID09PSAndGl0bGUnKSByZXR1cm4gZWxl
bWVudC50aXRsZTsKICAgICAgcmV0dXJuIHByb2NlZWQoZWxlbWVudCwgYXR0cmli
dXRlKTsKICAgIH0KICApOwp9CgplbHNlIGlmIChQcm90b3R5cGUuQnJvd3Nlci5J
RSkgewogIC8vIElFIGRvZXNuJ3QgcmVwb3J0IG9mZnNldHMgY29ycmVjdGx5IGZv
ciBzdGF0aWMgZWxlbWVudHMsIHNvIHdlIGNoYW5nZSB0aGVtCiAgLy8gdG8gInJl
bGF0aXZlIiB0byBnZXQgdGhlIHZhbHVlcywgdGhlbiBjaGFuZ2UgdGhlbSBiYWNr
LgogIEVsZW1lbnQuTWV0aG9kcy5nZXRPZmZzZXRQYXJlbnQgPSBFbGVtZW50Lk1l
dGhvZHMuZ2V0T2Zmc2V0UGFyZW50LndyYXAoCiAgICBmdW5jdGlvbihwcm9jZWVk
LCBlbGVtZW50KSB7CiAgICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgICAv
LyBJRSB0aHJvd3MgYW4gZXJyb3IgaWYgZWxlbWVudCBpcyBub3QgaW4gZG9jdW1l
bnQKICAgICAgdHJ5IHsgZWxlbWVudC5vZmZzZXRQYXJlbnQgfQogICAgICBjYXRj
aChlKSB7IHJldHVybiAkKGRvY3VtZW50LmJvZHkpIH0KICAgICAgdmFyIHBvc2l0
aW9uID0gZWxlbWVudC5nZXRTdHlsZSgncG9zaXRpb24nKTsKICAgICAgaWYgKHBv
c2l0aW9uICE9PSAnc3RhdGljJykgcmV0dXJuIHByb2NlZWQoZWxlbWVudCk7CiAg
ICAgIGVsZW1lbnQuc2V0U3R5bGUoeyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9KTsK
ICAgICAgdmFyIHZhbHVlID0gcHJvY2VlZChlbGVtZW50KTsKICAgICAgZWxlbWVu
dC5zZXRTdHlsZSh7IHBvc2l0aW9uOiBwb3NpdGlvbiB9KTsKICAgICAgcmV0dXJu
IHZhbHVlOwogICAgfQogICk7CgogICR3KCdwb3NpdGlvbmVkT2Zmc2V0IHZpZXdw
b3J0T2Zmc2V0JykuZWFjaChmdW5jdGlvbihtZXRob2QpIHsKICAgIEVsZW1lbnQu
TWV0aG9kc1ttZXRob2RdID0gRWxlbWVudC5NZXRob2RzW21ldGhvZF0ud3JhcCgK
ICAgICAgZnVuY3Rpb24ocHJvY2VlZCwgZWxlbWVudCkgewogICAgICAgIGVsZW1l
bnQgPSAkKGVsZW1lbnQpOwogICAgICAgIHRyeSB7IGVsZW1lbnQub2Zmc2V0UGFy
ZW50IH0KICAgICAgICBjYXRjaChlKSB7IHJldHVybiBFbGVtZW50Ll9yZXR1cm5P
ZmZzZXQoMCwwKSB9CiAgICAgICAgdmFyIHBvc2l0aW9uID0gZWxlbWVudC5nZXRT
dHlsZSgncG9zaXRpb24nKTsKICAgICAgICBpZiAocG9zaXRpb24gIT09ICdzdGF0
aWMnKSByZXR1cm4gcHJvY2VlZChlbGVtZW50KTsKICAgICAgICAvLyBUcmlnZ2Vy
IGhhc0xheW91dCBvbiB0aGUgb2Zmc2V0IHBhcmVudCBzbyB0aGF0IElFNiByZXBv
cnRzCiAgICAgICAgLy8gYWNjdXJhdGUgb2Zmc2V0VG9wIGFuZCBvZmZzZXRMZWZ0
IHZhbHVlcyBmb3IgcG9zaXRpb246IGZpeGVkLgogICAgICAgIHZhciBvZmZzZXRQ
YXJlbnQgPSBlbGVtZW50LmdldE9mZnNldFBhcmVudCgpOwogICAgICAgIGlmIChv
ZmZzZXRQYXJlbnQgJiYgb2Zmc2V0UGFyZW50LmdldFN0eWxlKCdwb3NpdGlvbicp
ID09PSAnZml4ZWQnKQogICAgICAgICAgb2Zmc2V0UGFyZW50LnNldFN0eWxlKHsg
em9vbTogMSB9KTsKICAgICAgICBlbGVtZW50LnNldFN0eWxlKHsgcG9zaXRpb246
ICdyZWxhdGl2ZScgfSk7CiAgICAgICAgdmFyIHZhbHVlID0gcHJvY2VlZChlbGVt
ZW50KTsKICAgICAgICBlbGVtZW50LnNldFN0eWxlKHsgcG9zaXRpb246IHBvc2l0
aW9uIH0pOwogICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgfQogICAgKTsKICB9
KTsKCiAgRWxlbWVudC5NZXRob2RzLmN1bXVsYXRpdmVPZmZzZXQgPSBFbGVtZW50
Lk1ldGhvZHMuY3VtdWxhdGl2ZU9mZnNldC53cmFwKAogICAgZnVuY3Rpb24ocHJv
Y2VlZCwgZWxlbWVudCkgewogICAgICB0cnkgeyBlbGVtZW50Lm9mZnNldFBhcmVu
dCB9CiAgICAgIGNhdGNoKGUpIHsgcmV0dXJuIEVsZW1lbnQuX3JldHVybk9mZnNl
dCgwLDApIH0KICAgICAgcmV0dXJuIHByb2NlZWQoZWxlbWVudCk7CiAgICB9CiAg
KTsKCiAgRWxlbWVudC5NZXRob2RzLmdldFN0eWxlID0gZnVuY3Rpb24oZWxlbWVu
dCwgc3R5bGUpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgc3R5bGUg
PSAoc3R5bGUgPT0gJ2Zsb2F0JyB8fCBzdHlsZSA9PSAnY3NzRmxvYXQnKSA/ICdz
dHlsZUZsb2F0JyA6IHN0eWxlLmNhbWVsaXplKCk7CiAgICB2YXIgdmFsdWUgPSBl
bGVtZW50LnN0eWxlW3N0eWxlXTsKICAgIGlmICghdmFsdWUgJiYgZWxlbWVudC5j
dXJyZW50U3R5bGUpIHZhbHVlID0gZWxlbWVudC5jdXJyZW50U3R5bGVbc3R5bGVd
OwoKICAgIGlmIChzdHlsZSA9PSAnb3BhY2l0eScpIHsKICAgICAgaWYgKHZhbHVl
ID0gKGVsZW1lbnQuZ2V0U3R5bGUoJ2ZpbHRlcicpIHx8ICcnKS5tYXRjaCgvYWxw
aGFcKG9wYWNpdHk9KC4qKVwpLykpCiAgICAgICAgaWYgKHZhbHVlWzFdKSByZXR1
cm4gcGFyc2VGbG9hdCh2YWx1ZVsxXSkgLyAxMDA7CiAgICAgIHJldHVybiAxLjA7
CiAgICB9CgogICAgaWYgKHZhbHVlID09ICdhdXRvJykgewogICAgICBpZiAoKHN0
eWxlID09ICd3aWR0aCcgfHwgc3R5bGUgPT0gJ2hlaWdodCcpICYmIChlbGVtZW50
LmdldFN0eWxlKCdkaXNwbGF5JykgIT0gJ25vbmUnKSkKICAgICAgICByZXR1cm4g
ZWxlbWVudFsnb2Zmc2V0JyArIHN0eWxlLmNhcGl0YWxpemUoKV0gKyAncHgnOwog
ICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIHJldHVybiB2YWx1ZTsKICB9OwoK
ICBFbGVtZW50Lk1ldGhvZHMuc2V0T3BhY2l0eSA9IGZ1bmN0aW9uKGVsZW1lbnQs
IHZhbHVlKSB7CiAgICBmdW5jdGlvbiBzdHJpcEFscGhhKGZpbHRlcil7CiAgICAg
IHJldHVybiBmaWx0ZXIucmVwbGFjZSgvYWxwaGFcKFteXCldKlwpL2dpLCcnKTsK
ICAgIH0KICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgdmFyIGN1cnJlbnRT
dHlsZSA9IGVsZW1lbnQuY3VycmVudFN0eWxlOwogICAgaWYgKChjdXJyZW50U3R5
bGUgJiYgIWN1cnJlbnRTdHlsZS5oYXNMYXlvdXQpIHx8CiAgICAgICghY3VycmVu
dFN0eWxlICYmIGVsZW1lbnQuc3R5bGUuem9vbSA9PSAnbm9ybWFsJykpCiAgICAg
ICAgZWxlbWVudC5zdHlsZS56b29tID0gMTsKCiAgICB2YXIgZmlsdGVyID0gZWxl
bWVudC5nZXRTdHlsZSgnZmlsdGVyJyksIHN0eWxlID0gZWxlbWVudC5zdHlsZTsK
ICAgIGlmICh2YWx1ZSA9PSAxIHx8IHZhbHVlID09PSAnJykgewogICAgICAoZmls
dGVyID0gc3RyaXBBbHBoYShmaWx0ZXIpKSA/CiAgICAgICAgc3R5bGUuZmlsdGVy
ID0gZmlsdGVyIDogc3R5bGUucmVtb3ZlQXR0cmlidXRlKCdmaWx0ZXInKTsKICAg
ICAgcmV0dXJuIGVsZW1lbnQ7CiAgICB9IGVsc2UgaWYgKHZhbHVlIDwgMC4wMDAw
MSkgdmFsdWUgPSAwOwogICAgc3R5bGUuZmlsdGVyID0gc3RyaXBBbHBoYShmaWx0
ZXIpICsKICAgICAgJ2FscGhhKG9wYWNpdHk9JyArICh2YWx1ZSAqIDEwMCkgKyAn
KSc7CiAgICByZXR1cm4gZWxlbWVudDsKICB9OwoKICBFbGVtZW50Ll9hdHRyaWJ1
dGVUcmFuc2xhdGlvbnMgPSB7CiAgICByZWFkOiB7CiAgICAgIG5hbWVzOiB7CiAg
ICAgICAgJ2NsYXNzJzogJ2NsYXNzTmFtZScsCiAgICAgICAgJ2Zvcic6ICAgJ2h0
bWxGb3InCiAgICAgIH0sCiAgICAgIHZhbHVlczogewogICAgICAgIF9nZXRBdHRy
OiBmdW5jdGlvbihlbGVtZW50LCBhdHRyaWJ1dGUpIHsKICAgICAgICAgIHJldHVy
biBlbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIDIpOwogICAgICAgIH0s
CiAgICAgICAgX2dldEF0dHJOb2RlOiBmdW5jdGlvbihlbGVtZW50LCBhdHRyaWJ1
dGUpIHsKICAgICAgICAgIHZhciBub2RlID0gZWxlbWVudC5nZXRBdHRyaWJ1dGVO
b2RlKGF0dHJpYnV0ZSk7CiAgICAgICAgICByZXR1cm4gbm9kZSA/IG5vZGUudmFs
dWUgOiAiIjsKICAgICAgICB9LAogICAgICAgIF9nZXRFdjogZnVuY3Rpb24oZWxl
bWVudCwgYXR0cmlidXRlKSB7CiAgICAgICAgICBhdHRyaWJ1dGUgPSBlbGVtZW50
LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpOwogICAgICAgICAgcmV0dXJuIGF0dHJp
YnV0ZSA/IGF0dHJpYnV0ZS50b1N0cmluZygpLnNsaWNlKDIzLCAtMikgOiBudWxs
OwogICAgICAgIH0sCiAgICAgICAgX2ZsYWc6IGZ1bmN0aW9uKGVsZW1lbnQsIGF0
dHJpYnV0ZSkgewogICAgICAgICAgcmV0dXJuICQoZWxlbWVudCkuaGFzQXR0cmli
dXRlKGF0dHJpYnV0ZSkgPyBhdHRyaWJ1dGUgOiBudWxsOwogICAgICAgIH0sCiAg
ICAgICAgc3R5bGU6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICAgICAgIHJldHVy
biBlbGVtZW50LnN0eWxlLmNzc1RleHQudG9Mb3dlckNhc2UoKTsKICAgICAgICB9
LAogICAgICAgIHRpdGxlOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICAgICAgICBy
ZXR1cm4gZWxlbWVudC50aXRsZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9
OwoKICBFbGVtZW50Ll9hdHRyaWJ1dGVUcmFuc2xhdGlvbnMud3JpdGUgPSB7CiAg
ICBuYW1lczogT2JqZWN0LmV4dGVuZCh7CiAgICAgIGNlbGxwYWRkaW5nOiAnY2Vs
bFBhZGRpbmcnLAogICAgICBjZWxsc3BhY2luZzogJ2NlbGxTcGFjaW5nJwogICAg
fSwgRWxlbWVudC5fYXR0cmlidXRlVHJhbnNsYXRpb25zLnJlYWQubmFtZXMpLAog
ICAgdmFsdWVzOiB7CiAgICAgIGNoZWNrZWQ6IGZ1bmN0aW9uKGVsZW1lbnQsIHZh
bHVlKSB7CiAgICAgICAgZWxlbWVudC5jaGVja2VkID0gISF2YWx1ZTsKICAgICAg
fSwKCiAgICAgIHN0eWxlOiBmdW5jdGlvbihlbGVtZW50LCB2YWx1ZSkgewogICAg
ICAgIGVsZW1lbnQuc3R5bGUuY3NzVGV4dCA9IHZhbHVlID8gdmFsdWUgOiAnJzsK
ICAgICAgfQogICAgfQogIH07CgogIEVsZW1lbnQuX2F0dHJpYnV0ZVRyYW5zbGF0
aW9ucy5oYXMgPSB7fTsKCiAgJHcoJ2NvbFNwYW4gcm93U3BhbiB2QWxpZ24gZGF0
ZVRpbWUgYWNjZXNzS2V5IHRhYkluZGV4ICcgKwogICAgICAnZW5jVHlwZSBtYXhM
ZW5ndGggcmVhZE9ubHkgbG9uZ0Rlc2MgZnJhbWVCb3JkZXInKS5lYWNoKGZ1bmN0
aW9uKGF0dHIpIHsKICAgIEVsZW1lbnQuX2F0dHJpYnV0ZVRyYW5zbGF0aW9ucy53
cml0ZS5uYW1lc1thdHRyLnRvTG93ZXJDYXNlKCldID0gYXR0cjsKICAgIEVsZW1l
bnQuX2F0dHJpYnV0ZVRyYW5zbGF0aW9ucy5oYXNbYXR0ci50b0xvd2VyQ2FzZSgp
XSA9IGF0dHI7CiAgfSk7CgogIChmdW5jdGlvbih2KSB7CiAgICBPYmplY3QuZXh0
ZW5kKHYsIHsKICAgICAgaHJlZjogICAgICAgIHYuX2dldEF0dHIsCiAgICAgIHNy
YzogICAgICAgICB2Ll9nZXRBdHRyLAogICAgICB0eXBlOiAgICAgICAgdi5fZ2V0
QXR0ciwKICAgICAgYWN0aW9uOiAgICAgIHYuX2dldEF0dHJOb2RlLAogICAgICBk
aXNhYmxlZDogICAgdi5fZmxhZywKICAgICAgY2hlY2tlZDogICAgIHYuX2ZsYWcs
CiAgICAgIHJlYWRvbmx5OiAgICB2Ll9mbGFnLAogICAgICBtdWx0aXBsZTogICAg
di5fZmxhZywKICAgICAgb25sb2FkOiAgICAgIHYuX2dldEV2LAogICAgICBvbnVu
bG9hZDogICAgdi5fZ2V0RXYsCiAgICAgIG9uY2xpY2s6ICAgICB2Ll9nZXRFdiwK
ICAgICAgb25kYmxjbGljazogIHYuX2dldEV2LAogICAgICBvbm1vdXNlZG93bjog
di5fZ2V0RXYsCiAgICAgIG9ubW91c2V1cDogICB2Ll9nZXRFdiwKICAgICAgb25t
b3VzZW92ZXI6IHYuX2dldEV2LAogICAgICBvbm1vdXNlbW92ZTogdi5fZ2V0RXYs
CiAgICAgIG9ubW91c2VvdXQ6ICB2Ll9nZXRFdiwKICAgICAgb25mb2N1czogICAg
IHYuX2dldEV2LAogICAgICBvbmJsdXI6ICAgICAgdi5fZ2V0RXYsCiAgICAgIG9u
a2V5cHJlc3M6ICB2Ll9nZXRFdiwKICAgICAgb25rZXlkb3duOiAgIHYuX2dldEV2
LAogICAgICBvbmtleXVwOiAgICAgdi5fZ2V0RXYsCiAgICAgIG9uc3VibWl0OiAg
ICB2Ll9nZXRFdiwKICAgICAgb25yZXNldDogICAgIHYuX2dldEV2LAogICAgICBv
bnNlbGVjdDogICAgdi5fZ2V0RXYsCiAgICAgIG9uY2hhbmdlOiAgICB2Ll9nZXRF
dgogICAgfSk7CiAgfSkoRWxlbWVudC5fYXR0cmlidXRlVHJhbnNsYXRpb25zLnJl
YWQudmFsdWVzKTsKfQoKZWxzZSBpZiAoUHJvdG90eXBlLkJyb3dzZXIuR2Vja28g
JiYgL3J2OjFcLjhcLjAvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpIHsKICBF
bGVtZW50Lk1ldGhvZHMuc2V0T3BhY2l0eSA9IGZ1bmN0aW9uKGVsZW1lbnQsIHZh
bHVlKSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIGVsZW1lbnQuc3R5
bGUub3BhY2l0eSA9ICh2YWx1ZSA9PSAxKSA/IDAuOTk5OTk5IDoKICAgICAgKHZh
bHVlID09PSAnJykgPyAnJyA6ICh2YWx1ZSA8IDAuMDAwMDEpID8gMCA6IHZhbHVl
OwogICAgcmV0dXJuIGVsZW1lbnQ7CiAgfTsKfQoKZWxzZSBpZiAoUHJvdG90eXBl
LkJyb3dzZXIuV2ViS2l0KSB7CiAgRWxlbWVudC5NZXRob2RzLnNldE9wYWNpdHkg
PSBmdW5jdGlvbihlbGVtZW50LCB2YWx1ZSkgewogICAgZWxlbWVudCA9ICQoZWxl
bWVudCk7CiAgICBlbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAodmFsdWUgPT0gMSB8
fCB2YWx1ZSA9PT0gJycpID8gJycgOgogICAgICAodmFsdWUgPCAwLjAwMDAxKSA/
IDAgOiB2YWx1ZTsKCiAgICBpZiAodmFsdWUgPT0gMSkKICAgICAgaWYoZWxlbWVu
dC50YWdOYW1lLnRvVXBwZXJDYXNlKCkgPT0gJ0lNRycgJiYgZWxlbWVudC53aWR0
aCkgewogICAgICAgIGVsZW1lbnQud2lkdGgrKzsgZWxlbWVudC53aWR0aC0tOwog
ICAgICB9IGVsc2UgdHJ5IHsKICAgICAgICB2YXIgbiA9IGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKCcgJyk7CiAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChuKTsK
ICAgICAgICBlbGVtZW50LnJlbW92ZUNoaWxkKG4pOwogICAgICB9IGNhdGNoIChl
KSB7IH0KCiAgICByZXR1cm4gZWxlbWVudDsKICB9OwoKICAvLyBTYWZhcmkgcmV0
dXJucyBtYXJnaW5zIG9uIGJvZHkgd2hpY2ggaXMgaW5jb3JyZWN0IGlmIHRoZSBj
aGlsZCBpcyBhYnNvbHV0ZWx5CiAgLy8gcG9zaXRpb25lZC4gIEZvciBwZXJmb3Jt
YW5jZSByZWFzb25zLCByZWRlZmluZSBFbGVtZW50I2N1bXVsYXRpdmVPZmZzZXQg
Zm9yCiAgLy8gS0hUTUwvV2ViS2l0IG9ubHkuCiAgRWxlbWVudC5NZXRob2RzLmN1
bXVsYXRpdmVPZmZzZXQgPSBmdW5jdGlvbihlbGVtZW50KSB7CiAgICB2YXIgdmFs
dWVUID0gMCwgdmFsdWVMID0gMDsKICAgIGRvIHsKICAgICAgdmFsdWVUICs9IGVs
ZW1lbnQub2Zmc2V0VG9wICB8fCAwOwogICAgICB2YWx1ZUwgKz0gZWxlbWVudC5v
ZmZzZXRMZWZ0IHx8IDA7CiAgICAgIGlmIChlbGVtZW50Lm9mZnNldFBhcmVudCA9
PSBkb2N1bWVudC5ib2R5KQogICAgICAgIGlmIChFbGVtZW50LmdldFN0eWxlKGVs
ZW1lbnQsICdwb3NpdGlvbicpID09ICdhYnNvbHV0ZScpIGJyZWFrOwoKICAgICAg
ZWxlbWVudCA9IGVsZW1lbnQub2Zmc2V0UGFyZW50OwogICAgfSB3aGlsZSAoZWxl
bWVudCk7CgogICAgcmV0dXJuIEVsZW1lbnQuX3JldHVybk9mZnNldCh2YWx1ZUws
IHZhbHVlVCk7CiAgfTsKfQoKaWYgKFByb3RvdHlwZS5Ccm93c2VyLklFIHx8IFBy
b3RvdHlwZS5Ccm93c2VyLk9wZXJhKSB7CiAgLy8gSUUgYW5kIE9wZXJhIGFyZSBt
aXNzaW5nIC5pbm5lckhUTUwgc3VwcG9ydCBmb3IgVEFCTEUtcmVsYXRlZCBhbmQg
U0VMRUNUIGVsZW1lbnRzCiAgRWxlbWVudC5NZXRob2RzLnVwZGF0ZSA9IGZ1bmN0
aW9uKGVsZW1lbnQsIGNvbnRlbnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQp
OwoKICAgIGlmIChjb250ZW50ICYmIGNvbnRlbnQudG9FbGVtZW50KSBjb250ZW50
ID0gY29udGVudC50b0VsZW1lbnQoKTsKICAgIGlmIChPYmplY3QuaXNFbGVtZW50
KGNvbnRlbnQpKSByZXR1cm4gZWxlbWVudC51cGRhdGUoKS5pbnNlcnQoY29udGVu
dCk7CgogICAgY29udGVudCA9IE9iamVjdC50b0hUTUwoY29udGVudCk7CiAgICB2
YXIgdGFnTmFtZSA9IGVsZW1lbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgpOwoKICAg
IGlmICh0YWdOYW1lIGluIEVsZW1lbnQuX2luc2VydGlvblRyYW5zbGF0aW9ucy50
YWdzKSB7CiAgICAgICRBKGVsZW1lbnQuY2hpbGROb2RlcykuZWFjaChmdW5jdGlv
bihub2RlKSB7IGVsZW1lbnQucmVtb3ZlQ2hpbGQobm9kZSkgfSk7CiAgICAgIEVs
ZW1lbnQuX2dldENvbnRlbnRGcm9tQW5vbnltb3VzRWxlbWVudCh0YWdOYW1lLCBj
b250ZW50LnN0cmlwU2NyaXB0cygpKQogICAgICAgIC5lYWNoKGZ1bmN0aW9uKG5v
ZGUpIHsgZWxlbWVudC5hcHBlbmRDaGlsZChub2RlKSB9KTsKICAgIH0KICAgIGVs
c2UgZWxlbWVudC5pbm5lckhUTUwgPSBjb250ZW50LnN0cmlwU2NyaXB0cygpOwoK
ICAgIGNvbnRlbnQuZXZhbFNjcmlwdHMuYmluZChjb250ZW50KS5kZWZlcigpOwog
ICAgcmV0dXJuIGVsZW1lbnQ7CiAgfTsKfQoKaWYgKCdvdXRlckhUTUwnIGluIGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKSB7CiAgRWxlbWVudC5NZXRob2Rz
LnJlcGxhY2UgPSBmdW5jdGlvbihlbGVtZW50LCBjb250ZW50KSB7CiAgICBlbGVt
ZW50ID0gJChlbGVtZW50KTsKCiAgICBpZiAoY29udGVudCAmJiBjb250ZW50LnRv
RWxlbWVudCkgY29udGVudCA9IGNvbnRlbnQudG9FbGVtZW50KCk7CiAgICBpZiAo
T2JqZWN0LmlzRWxlbWVudChjb250ZW50KSkgewogICAgICBlbGVtZW50LnBhcmVu
dE5vZGUucmVwbGFjZUNoaWxkKGNvbnRlbnQsIGVsZW1lbnQpOwogICAgICByZXR1
cm4gZWxlbWVudDsKICAgIH0KCiAgICBjb250ZW50ID0gT2JqZWN0LnRvSFRNTChj
b250ZW50KTsKICAgIHZhciBwYXJlbnQgPSBlbGVtZW50LnBhcmVudE5vZGUsIHRh
Z05hbWUgPSBwYXJlbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgpOwoKICAgIGlmIChF
bGVtZW50Ll9pbnNlcnRpb25UcmFuc2xhdGlvbnMudGFnc1t0YWdOYW1lXSkgewog
ICAgICB2YXIgbmV4dFNpYmxpbmcgPSBlbGVtZW50Lm5leHQoKTsKICAgICAgdmFy
IGZyYWdtZW50cyA9IEVsZW1lbnQuX2dldENvbnRlbnRGcm9tQW5vbnltb3VzRWxl
bWVudCh0YWdOYW1lLCBjb250ZW50LnN0cmlwU2NyaXB0cygpKTsKICAgICAgcGFy
ZW50LnJlbW92ZUNoaWxkKGVsZW1lbnQpOwogICAgICBpZiAobmV4dFNpYmxpbmcp
CiAgICAgICAgZnJhZ21lbnRzLmVhY2goZnVuY3Rpb24obm9kZSkgeyBwYXJlbnQu
aW5zZXJ0QmVmb3JlKG5vZGUsIG5leHRTaWJsaW5nKSB9KTsKICAgICAgZWxzZQog
ICAgICAgIGZyYWdtZW50cy5lYWNoKGZ1bmN0aW9uKG5vZGUpIHsgcGFyZW50LmFw
cGVuZENoaWxkKG5vZGUpIH0pOwogICAgfQogICAgZWxzZSBlbGVtZW50Lm91dGVy
SFRNTCA9IGNvbnRlbnQuc3RyaXBTY3JpcHRzKCk7CgogICAgY29udGVudC5ldmFs
U2NyaXB0cy5iaW5kKGNvbnRlbnQpLmRlZmVyKCk7CiAgICByZXR1cm4gZWxlbWVu
dDsKICB9Owp9CgpFbGVtZW50Ll9yZXR1cm5PZmZzZXQgPSBmdW5jdGlvbihsLCB0
KSB7CiAgdmFyIHJlc3VsdCA9IFtsLCB0XTsKICByZXN1bHQubGVmdCA9IGw7CiAg
cmVzdWx0LnRvcCA9IHQ7CiAgcmV0dXJuIHJlc3VsdDsKfTsKCkVsZW1lbnQuX2dl
dENvbnRlbnRGcm9tQW5vbnltb3VzRWxlbWVudCA9IGZ1bmN0aW9uKHRhZ05hbWUs
IGh0bWwpIHsKICB2YXIgZGl2ID0gbmV3IEVsZW1lbnQoJ2RpdicpLCB0ID0gRWxl
bWVudC5faW5zZXJ0aW9uVHJhbnNsYXRpb25zLnRhZ3NbdGFnTmFtZV07CiAgaWYg
KHQpIHsKICAgIGRpdi5pbm5lckhUTUwgPSB0WzBdICsgaHRtbCArIHRbMV07CiAg
ICB0WzJdLnRpbWVzKGZ1bmN0aW9uKCkgeyBkaXYgPSBkaXYuZmlyc3RDaGlsZCB9
KTsKICB9IGVsc2UgZGl2LmlubmVySFRNTCA9IGh0bWw7CiAgcmV0dXJuICRBKGRp
di5jaGlsZE5vZGVzKTsKfTsKCkVsZW1lbnQuX2luc2VydGlvblRyYW5zbGF0aW9u
cyA9IHsKICBiZWZvcmU6IGZ1bmN0aW9uKGVsZW1lbnQsIG5vZGUpIHsKICAgIGVs
ZW1lbnQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobm9kZSwgZWxlbWVudCk7CiAg
fSwKICB0b3A6IGZ1bmN0aW9uKGVsZW1lbnQsIG5vZGUpIHsKICAgIGVsZW1lbnQu
aW5zZXJ0QmVmb3JlKG5vZGUsIGVsZW1lbnQuZmlyc3RDaGlsZCk7CiAgfSwKICBi
b3R0b206IGZ1bmN0aW9uKGVsZW1lbnQsIG5vZGUpIHsKICAgIGVsZW1lbnQuYXBw
ZW5kQ2hpbGQobm9kZSk7CiAgfSwKICBhZnRlcjogZnVuY3Rpb24oZWxlbWVudCwg
bm9kZSkgewogICAgZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShub2Rl
LCBlbGVtZW50Lm5leHRTaWJsaW5nKTsKICB9LAogIHRhZ3M6IHsKICAgIFRBQkxF
OiAgWyc8dGFibGU+JywgICAgICAgICAgICAgICAgJzwvdGFibGU+JywgICAgICAg
ICAgICAgICAgICAgMV0sCiAgICBUQk9EWTogIFsnPHRhYmxlPjx0Ym9keT4nLCAg
ICAgICAgICc8L3Rib2R5PjwvdGFibGU+JywgICAgICAgICAgIDJdLAogICAgVFI6
ICAgICBbJzx0YWJsZT48dGJvZHk+PHRyPicsICAgICAnPC90cj48L3Rib2R5Pjwv
dGFibGU+JywgICAgICAzXSwKICAgIFREOiAgICAgWyc8dGFibGU+PHRib2R5Pjx0
cj48dGQ+JywgJzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+JywgNF0sCiAgICBT
RUxFQ1Q6IFsnPHNlbGVjdD4nLCAgICAgICAgICAgICAgICc8L3NlbGVjdD4nLCAg
ICAgICAgICAgICAgICAgIDFdCiAgfQp9OwoKKGZ1bmN0aW9uKCkgewogIE9iamVj
dC5leHRlbmQodGhpcy50YWdzLCB7CiAgICBUSEVBRDogdGhpcy50YWdzLlRCT0RZ
LAogICAgVEZPT1Q6IHRoaXMudGFncy5UQk9EWSwKICAgIFRIOiAgICB0aGlzLnRh
Z3MuVEQKICB9KTsKfSkuY2FsbChFbGVtZW50Ll9pbnNlcnRpb25UcmFuc2xhdGlv
bnMpOwoKRWxlbWVudC5NZXRob2RzLlNpbXVsYXRlZCA9IHsKICBoYXNBdHRyaWJ1
dGU6IGZ1bmN0aW9uKGVsZW1lbnQsIGF0dHJpYnV0ZSkgewogICAgYXR0cmlidXRl
ID0gRWxlbWVudC5fYXR0cmlidXRlVHJhbnNsYXRpb25zLmhhc1thdHRyaWJ1dGVd
IHx8IGF0dHJpYnV0ZTsKICAgIHZhciBub2RlID0gJChlbGVtZW50KS5nZXRBdHRy
aWJ1dGVOb2RlKGF0dHJpYnV0ZSk7CiAgICByZXR1cm4gISEobm9kZSAmJiBub2Rl
LnNwZWNpZmllZCk7CiAgfQp9OwoKRWxlbWVudC5NZXRob2RzLkJ5VGFnID0geyB9
OwoKT2JqZWN0LmV4dGVuZChFbGVtZW50LCBFbGVtZW50Lk1ldGhvZHMpOwoKaWYg
KCFQcm90b3R5cGUuQnJvd3NlckZlYXR1cmVzLkVsZW1lbnRFeHRlbnNpb25zICYm
CiAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVsnX19wcm90b19fJ10p
IHsKICB3aW5kb3cuSFRNTEVsZW1lbnQgPSB7IH07CiAgd2luZG93LkhUTUxFbGVt
ZW50LnByb3RvdHlwZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpWydf
X3Byb3RvX18nXTsKICBQcm90b3R5cGUuQnJvd3NlckZlYXR1cmVzLkVsZW1lbnRF
eHRlbnNpb25zID0gdHJ1ZTsKfQoKRWxlbWVudC5leHRlbmQgPSAoZnVuY3Rpb24o
KSB7CiAgaWYgKFByb3RvdHlwZS5Ccm93c2VyRmVhdHVyZXMuU3BlY2lmaWNFbGVt
ZW50RXh0ZW5zaW9ucykKICAgIHJldHVybiBQcm90b3R5cGUuSzsKCiAgdmFyIE1l
dGhvZHMgPSB7IH0sIEJ5VGFnID0gRWxlbWVudC5NZXRob2RzLkJ5VGFnOwoKICB2
YXIgZXh0ZW5kID0gT2JqZWN0LmV4dGVuZChmdW5jdGlvbihlbGVtZW50KSB7CiAg
ICBpZiAoIWVsZW1lbnQgfHwgZWxlbWVudC5fZXh0ZW5kZWRCeVByb3RvdHlwZSB8
fAogICAgICAgIGVsZW1lbnQubm9kZVR5cGUgIT0gMSB8fCBlbGVtZW50ID09IHdp
bmRvdykgcmV0dXJuIGVsZW1lbnQ7CgogICAgdmFyIG1ldGhvZHMgPSBPYmplY3Qu
Y2xvbmUoTWV0aG9kcyksCiAgICAgIHRhZ05hbWUgPSBlbGVtZW50LnRhZ05hbWUu
dG9VcHBlckNhc2UoKSwgcHJvcGVydHksIHZhbHVlOwoKICAgIC8vIGV4dGVuZCBt
ZXRob2RzIGZvciBzcGVjaWZpYyB0YWdzCiAgICBpZiAoQnlUYWdbdGFnTmFtZV0p
IE9iamVjdC5leHRlbmQobWV0aG9kcywgQnlUYWdbdGFnTmFtZV0pOwoKICAgIGZv
ciAocHJvcGVydHkgaW4gbWV0aG9kcykgewogICAgICB2YWx1ZSA9IG1ldGhvZHNb
cHJvcGVydHldOwogICAgICBpZiAoT2JqZWN0LmlzRnVuY3Rpb24odmFsdWUpICYm
ICEocHJvcGVydHkgaW4gZWxlbWVudCkpCiAgICAgICAgZWxlbWVudFtwcm9wZXJ0
eV0gPSB2YWx1ZS5tZXRob2RpemUoKTsKICAgIH0KCiAgICBlbGVtZW50Ll9leHRl
bmRlZEJ5UHJvdG90eXBlID0gUHJvdG90eXBlLmVtcHR5RnVuY3Rpb247CiAgICBy
ZXR1cm4gZWxlbWVudDsKCiAgfSwgewogICAgcmVmcmVzaDogZnVuY3Rpb24oKSB7
CiAgICAgIC8vIGV4dGVuZCBtZXRob2RzIGZvciBhbGwgdGFncyAoU2FmYXJpIGRv
ZXNuJ3QgbmVlZCB0aGlzKQogICAgICBpZiAoIVByb3RvdHlwZS5Ccm93c2VyRmVh
dHVyZXMuRWxlbWVudEV4dGVuc2lvbnMpIHsKICAgICAgICBPYmplY3QuZXh0ZW5k
KE1ldGhvZHMsIEVsZW1lbnQuTWV0aG9kcyk7CiAgICAgICAgT2JqZWN0LmV4dGVu
ZChNZXRob2RzLCBFbGVtZW50Lk1ldGhvZHMuU2ltdWxhdGVkKTsKICAgICAgfQog
ICAgfQogIH0pOwoKICBleHRlbmQucmVmcmVzaCgpOwogIHJldHVybiBleHRlbmQ7
Cn0pKCk7CgpFbGVtZW50Lmhhc0F0dHJpYnV0ZSA9IGZ1bmN0aW9uKGVsZW1lbnQs
IGF0dHJpYnV0ZSkgewogIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSkgcmV0dXJu
IGVsZW1lbnQuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZSk7CiAgcmV0dXJuIEVsZW1l
bnQuTWV0aG9kcy5TaW11bGF0ZWQuaGFzQXR0cmlidXRlKGVsZW1lbnQsIGF0dHJp
YnV0ZSk7Cn07CgpFbGVtZW50LmFkZE1ldGhvZHMgPSBmdW5jdGlvbihtZXRob2Rz
KSB7CiAgdmFyIEYgPSBQcm90b3R5cGUuQnJvd3NlckZlYXR1cmVzLCBUID0gRWxl
bWVudC5NZXRob2RzLkJ5VGFnOwoKICBpZiAoIW1ldGhvZHMpIHsKICAgIE9iamVj
dC5leHRlbmQoRm9ybSwgRm9ybS5NZXRob2RzKTsKICAgIE9iamVjdC5leHRlbmQo
Rm9ybS5FbGVtZW50LCBGb3JtLkVsZW1lbnQuTWV0aG9kcyk7CiAgICBPYmplY3Qu
ZXh0ZW5kKEVsZW1lbnQuTWV0aG9kcy5CeVRhZywgewogICAgICAiRk9STSI6ICAg
ICBPYmplY3QuY2xvbmUoRm9ybS5NZXRob2RzKSwKICAgICAgIklOUFVUIjogICAg
T2JqZWN0LmNsb25lKEZvcm0uRWxlbWVudC5NZXRob2RzKSwKICAgICAgIlNFTEVD
VCI6ICAgT2JqZWN0LmNsb25lKEZvcm0uRWxlbWVudC5NZXRob2RzKSwKICAgICAg
IlRFWFRBUkVBIjogT2JqZWN0LmNsb25lKEZvcm0uRWxlbWVudC5NZXRob2RzKQog
ICAgfSk7CiAgfQoKICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAyKSB7CiAgICB2
YXIgdGFnTmFtZSA9IG1ldGhvZHM7CiAgICBtZXRob2RzID0gYXJndW1lbnRzWzFd
OwogIH0KCiAgaWYgKCF0YWdOYW1lKSBPYmplY3QuZXh0ZW5kKEVsZW1lbnQuTWV0
aG9kcywgbWV0aG9kcyB8fCB7IH0pOwogIGVsc2UgewogICAgaWYgKE9iamVjdC5p
c0FycmF5KHRhZ05hbWUpKSB0YWdOYW1lLmVhY2goZXh0ZW5kKTsKICAgIGVsc2Ug
ZXh0ZW5kKHRhZ05hbWUpOwogIH0KCiAgZnVuY3Rpb24gZXh0ZW5kKHRhZ05hbWUp
IHsKICAgIHRhZ05hbWUgPSB0YWdOYW1lLnRvVXBwZXJDYXNlKCk7CiAgICBpZiAo
IUVsZW1lbnQuTWV0aG9kcy5CeVRhZ1t0YWdOYW1lXSkKICAgICAgRWxlbWVudC5N
ZXRob2RzLkJ5VGFnW3RhZ05hbWVdID0geyB9OwogICAgT2JqZWN0LmV4dGVuZChF
bGVtZW50Lk1ldGhvZHMuQnlUYWdbdGFnTmFtZV0sIG1ldGhvZHMpOwogIH0KCiAg
ZnVuY3Rpb24gY29weShtZXRob2RzLCBkZXN0aW5hdGlvbiwgb25seUlmQWJzZW50
KSB7CiAgICBvbmx5SWZBYnNlbnQgPSBvbmx5SWZBYnNlbnQgfHwgZmFsc2U7CiAg
ICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBtZXRob2RzKSB7CiAgICAgIHZhciB2YWx1
ZSA9IG1ldGhvZHNbcHJvcGVydHldOwogICAgICBpZiAoIU9iamVjdC5pc0Z1bmN0
aW9uKHZhbHVlKSkgY29udGludWU7CiAgICAgIGlmICghb25seUlmQWJzZW50IHx8
ICEocHJvcGVydHkgaW4gZGVzdGluYXRpb24pKQogICAgICAgIGRlc3RpbmF0aW9u
W3Byb3BlcnR5XSA9IHZhbHVlLm1ldGhvZGl6ZSgpOwogICAgfQogIH0KCiAgZnVu
Y3Rpb24gZmluZERPTUNsYXNzKHRhZ05hbWUpIHsKICAgIHZhciBrbGFzczsKICAg
IHZhciB0cmFucyA9IHsKICAgICAgIk9QVEdST1VQIjogIk9wdEdyb3VwIiwgIlRF
WFRBUkVBIjogIlRleHRBcmVhIiwgIlAiOiAiUGFyYWdyYXBoIiwKICAgICAgIkZJ
RUxEU0VUIjogIkZpZWxkU2V0IiwgIlVMIjogIlVMaXN0IiwgIk9MIjogIk9MaXN0
IiwgIkRMIjogIkRMaXN0IiwKICAgICAgIkRJUiI6ICJEaXJlY3RvcnkiLCAiSDEi
OiAiSGVhZGluZyIsICJIMiI6ICJIZWFkaW5nIiwgIkgzIjogIkhlYWRpbmciLAog
ICAgICAiSDQiOiAiSGVhZGluZyIsICJINSI6ICJIZWFkaW5nIiwgIkg2IjogIkhl
YWRpbmciLCAiUSI6ICJRdW90ZSIsCiAgICAgICJJTlMiOiAiTW9kIiwgIkRFTCI6
ICJNb2QiLCAiQSI6ICJBbmNob3IiLCAiSU1HIjogIkltYWdlIiwgIkNBUFRJT04i
OgogICAgICAiVGFibGVDYXB0aW9uIiwgIkNPTCI6ICJUYWJsZUNvbCIsICJDT0xH
Uk9VUCI6ICJUYWJsZUNvbCIsICJUSEVBRCI6CiAgICAgICJUYWJsZVNlY3Rpb24i
LCAiVEZPT1QiOiAiVGFibGVTZWN0aW9uIiwgIlRCT0RZIjogIlRhYmxlU2VjdGlv
biIsICJUUiI6CiAgICAgICJUYWJsZVJvdyIsICJUSCI6ICJUYWJsZUNlbGwiLCAi
VEQiOiAiVGFibGVDZWxsIiwgIkZSQU1FU0VUIjoKICAgICAgIkZyYW1lU2V0Iiwg
IklGUkFNRSI6ICJJRnJhbWUiCiAgICB9OwogICAgaWYgKHRyYW5zW3RhZ05hbWVd
KSBrbGFzcyA9ICdIVE1MJyArIHRyYW5zW3RhZ05hbWVdICsgJ0VsZW1lbnQnOwog
ICAgaWYgKHdpbmRvd1trbGFzc10pIHJldHVybiB3aW5kb3dba2xhc3NdOwogICAg
a2xhc3MgPSAnSFRNTCcgKyB0YWdOYW1lICsgJ0VsZW1lbnQnOwogICAgaWYgKHdp
bmRvd1trbGFzc10pIHJldHVybiB3aW5kb3dba2xhc3NdOwogICAga2xhc3MgPSAn
SFRNTCcgKyB0YWdOYW1lLmNhcGl0YWxpemUoKSArICdFbGVtZW50JzsKICAgIGlm
ICh3aW5kb3dba2xhc3NdKSByZXR1cm4gd2luZG93W2tsYXNzXTsKCiAgICB3aW5k
b3dba2xhc3NdID0geyB9OwogICAgd2luZG93W2tsYXNzXS5wcm90b3R5cGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpWydfX3Byb3RvX18nXTsKICAg
IHJldHVybiB3aW5kb3dba2xhc3NdOwogIH0KCiAgaWYgKEYuRWxlbWVudEV4dGVu
c2lvbnMpIHsKICAgIGNvcHkoRWxlbWVudC5NZXRob2RzLCBIVE1MRWxlbWVudC5w
cm90b3R5cGUpOwogICAgY29weShFbGVtZW50Lk1ldGhvZHMuU2ltdWxhdGVkLCBI
VE1MRWxlbWVudC5wcm90b3R5cGUsIHRydWUpOwogIH0KCiAgaWYgKEYuU3BlY2lm
aWNFbGVtZW50RXh0ZW5zaW9ucykgewogICAgZm9yICh2YXIgdGFnIGluIEVsZW1l
bnQuTWV0aG9kcy5CeVRhZykgewogICAgICB2YXIga2xhc3MgPSBmaW5kRE9NQ2xh
c3ModGFnKTsKICAgICAgaWYgKE9iamVjdC5pc1VuZGVmaW5lZChrbGFzcykpIGNv
bnRpbnVlOwogICAgICBjb3B5KFRbdGFnXSwga2xhc3MucHJvdG90eXBlKTsKICAg
IH0KICB9CgogIE9iamVjdC5leHRlbmQoRWxlbWVudCwgRWxlbWVudC5NZXRob2Rz
KTsKICBkZWxldGUgRWxlbWVudC5CeVRhZzsKCiAgaWYgKEVsZW1lbnQuZXh0ZW5k
LnJlZnJlc2gpIEVsZW1lbnQuZXh0ZW5kLnJlZnJlc2goKTsKICBFbGVtZW50LmNh
Y2hlID0geyB9Owp9OwoKZG9jdW1lbnQudmlld3BvcnQgPSB7CiAgZ2V0RGltZW5z
aW9uczogZnVuY3Rpb24oKSB7CiAgICB2YXIgZGltZW5zaW9ucyA9IHsgfSwgQiA9
IFByb3RvdHlwZS5Ccm93c2VyOwogICAgJHcoJ3dpZHRoIGhlaWdodCcpLmVhY2go
ZnVuY3Rpb24oZCkgewogICAgICB2YXIgRCA9IGQuY2FwaXRhbGl6ZSgpOwogICAg
ICBpZiAoQi5XZWJLaXQgJiYgIWRvY3VtZW50LmV2YWx1YXRlKSB7CiAgICAgICAg
Ly8gU2FmYXJpIDwzLjAgbmVlZHMgc2VsZi5pbm5lcldpZHRoL0hlaWdodAogICAg
ICAgIGRpbWVuc2lvbnNbZF0gPSBzZWxmWydpbm5lcicgKyBEXTsKICAgICAgfSBl
bHNlIGlmIChCLk9wZXJhICYmIHBhcnNlRmxvYXQod2luZG93Lm9wZXJhLnZlcnNp
b24oKSkgPCA5LjUpIHsKICAgICAgICAvLyBPcGVyYSA8OS41IG5lZWRzIGRvY3Vt
ZW50LmJvZHkuY2xpZW50V2lkdGgvSGVpZ2h0CiAgICAgICAgZGltZW5zaW9uc1tk
XSA9IGRvY3VtZW50LmJvZHlbJ2NsaWVudCcgKyBEXQogICAgICB9IGVsc2Ugewog
ICAgICAgIGRpbWVuc2lvbnNbZF0gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRb
J2NsaWVudCcgKyBEXTsKICAgICAgfQogICAgfSk7CiAgICByZXR1cm4gZGltZW5z
aW9uczsKICB9LAoKICBnZXRXaWR0aDogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4g
dGhpcy5nZXREaW1lbnNpb25zKCkud2lkdGg7CiAgfSwKCiAgZ2V0SGVpZ2h0OiBm
dW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzLmdldERpbWVuc2lvbnMoKS5oZWln
aHQ7CiAgfSwKCiAgZ2V0U2Nyb2xsT2Zmc2V0czogZnVuY3Rpb24oKSB7CiAgICBy
ZXR1cm4gRWxlbWVudC5fcmV0dXJuT2Zmc2V0KAogICAgICB3aW5kb3cucGFnZVhP
ZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgfHwg
ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0LAogICAgICB3aW5kb3cucGFnZVlPZmZz
ZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1
bWVudC5ib2R5LnNjcm9sbFRvcCk7CiAgfQp9OwovKiBQb3J0aW9ucyBvZiB0aGUg
U2VsZWN0b3IgY2xhc3MgYXJlIGRlcml2ZWQgZnJvbSBKYWNrIFNsb2N1bSdzIERv
bVF1ZXJ5LAogKiBwYXJ0IG9mIFlVSS1FeHQgdmVyc2lvbiAwLjQwLCBkaXN0cmli
dXRlZCB1bmRlciB0aGUgdGVybXMgb2YgYW4gTUlULXN0eWxlCiAqIGxpY2Vuc2Uu
ICBQbGVhc2Ugc2VlIGh0dHA6Ly93d3cueXVpLWV4dC5jb20vIGZvciBtb3JlIGlu
Zm9ybWF0aW9uLiAqLwoKdmFyIFNlbGVjdG9yID0gQ2xhc3MuY3JlYXRlKHsKICBp
bml0aWFsaXplOiBmdW5jdGlvbihleHByZXNzaW9uKSB7CiAgICB0aGlzLmV4cHJl
c3Npb24gPSBleHByZXNzaW9uLnN0cmlwKCk7CgogICAgaWYgKHRoaXMuc2hvdWxk
VXNlU2VsZWN0b3JzQVBJKCkpIHsKICAgICAgdGhpcy5tb2RlID0gJ3NlbGVjdG9y
c0FQSSc7CiAgICB9IGVsc2UgaWYgKHRoaXMuc2hvdWxkVXNlWFBhdGgoKSkgewog
ICAgICB0aGlzLm1vZGUgPSAneHBhdGgnOwogICAgICB0aGlzLmNvbXBpbGVYUGF0
aE1hdGNoZXIoKTsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMubW9kZSA9ICJub3Jt
YWwiOwogICAgICB0aGlzLmNvbXBpbGVNYXRjaGVyKCk7CiAgICB9CgogIH0sCgog
IHNob3VsZFVzZVhQYXRoOiBmdW5jdGlvbigpIHsKICAgIGlmICghUHJvdG90eXBl
LkJyb3dzZXJGZWF0dXJlcy5YUGF0aCkgcmV0dXJuIGZhbHNlOwoKICAgIHZhciBl
ID0gdGhpcy5leHByZXNzaW9uOwoKICAgIC8vIFNhZmFyaSAzIGNob2tlcyBvbiA6
Ki1vZi10eXBlIGFuZCA6ZW1wdHkKICAgIGlmIChQcm90b3R5cGUuQnJvd3Nlci5X
ZWJLaXQgJiYKICAgICAoZS5pbmNsdWRlKCItb2YtdHlwZSIpIHx8IGUuaW5jbHVk
ZSgiOmVtcHR5IikpKQogICAgICByZXR1cm4gZmFsc2U7CgogICAgLy8gWFBhdGgg
Y2FuJ3QgZG8gbmFtZXNwYWNlZCBhdHRyaWJ1dGVzLCBub3IgY2FuIGl0IHJlYWQK
ICAgIC8vIHRoZSAiY2hlY2tlZCIgcHJvcGVydHkgZnJvbSBET00gbm9kZXMKICAg
IGlmICgoLyhcW1tcdy1dKj86fDpjaGVja2VkKS8pLnRlc3QoZSkpCiAgICAgIHJl
dHVybiBmYWxzZTsKCiAgICByZXR1cm4gdHJ1ZTsKICB9LAoKICBzaG91bGRVc2VT
ZWxlY3RvcnNBUEk6IGZ1bmN0aW9uKCkgewogICAgaWYgKCFQcm90b3R5cGUuQnJv
d3NlckZlYXR1cmVzLlNlbGVjdG9yc0FQSSkgcmV0dXJuIGZhbHNlOwoKICAgIGlm
ICghU2VsZWN0b3IuX2RpdikgU2VsZWN0b3IuX2RpdiA9IG5ldyBFbGVtZW50KCdk
aXYnKTsKCiAgICAvLyBNYWtlIHN1cmUgdGhlIGJyb3dzZXIgdHJlYXRzIHRoZSBz
ZWxlY3RvciBhcyB2YWxpZC4gVGVzdCBvbiBhbgogICAgLy8gaXNvbGF0ZWQgZWxl
bWVudCB0byBtaW5pbWl6ZSBjb3N0IG9mIHRoaXMgY2hlY2suCiAgICB0cnkgewog
ICAgICBTZWxlY3Rvci5fZGl2LnF1ZXJ5U2VsZWN0b3IodGhpcy5leHByZXNzaW9u
KTsKICAgIH0gY2F0Y2goZSkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cgog
ICAgcmV0dXJuIHRydWU7CiAgfSwKCiAgY29tcGlsZU1hdGNoZXI6IGZ1bmN0aW9u
KCkgewogICAgdmFyIGUgPSB0aGlzLmV4cHJlc3Npb24sIHBzID0gU2VsZWN0b3Iu
cGF0dGVybnMsIGggPSBTZWxlY3Rvci5oYW5kbGVycywKICAgICAgICBjID0gU2Vs
ZWN0b3IuY3JpdGVyaWEsIGxlLCBwLCBtOwoKICAgIGlmIChTZWxlY3Rvci5fY2Fj
aGVbZV0pIHsKICAgICAgdGhpcy5tYXRjaGVyID0gU2VsZWN0b3IuX2NhY2hlW2Vd
OwogICAgICByZXR1cm47CiAgICB9CgogICAgdGhpcy5tYXRjaGVyID0gWyJ0aGlz
Lm1hdGNoZXIgPSBmdW5jdGlvbihyb290KSB7IiwKICAgICAgICAgICAgICAgICAg
ICAidmFyIHIgPSByb290LCBoID0gU2VsZWN0b3IuaGFuZGxlcnMsIGMgPSBmYWxz
ZSwgbjsiXTsKCiAgICB3aGlsZSAoZSAmJiBsZSAhPSBlICYmICgvXFMvKS50ZXN0
KGUpKSB7CiAgICAgIGxlID0gZTsKICAgICAgZm9yICh2YXIgaSBpbiBwcykgewog
ICAgICAgIHAgPSBwc1tpXTsKICAgICAgICBpZiAobSA9IGUubWF0Y2gocCkpIHsK
ICAgICAgICAgIHRoaXMubWF0Y2hlci5wdXNoKE9iamVjdC5pc0Z1bmN0aW9uKGNb
aV0pID8gY1tpXShtKSA6CiAgICAgICAgICAgIG5ldyBUZW1wbGF0ZShjW2ldKS5l
dmFsdWF0ZShtKSk7CiAgICAgICAgICBlID0gZS5yZXBsYWNlKG1bMF0sICcnKTsK
ICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIHRo
aXMubWF0Y2hlci5wdXNoKCJyZXR1cm4gaC51bmlxdWUobik7XG59Iik7CiAgICBl
dmFsKHRoaXMubWF0Y2hlci5qb2luKCdcbicpKTsKICAgIFNlbGVjdG9yLl9jYWNo
ZVt0aGlzLmV4cHJlc3Npb25dID0gdGhpcy5tYXRjaGVyOwogIH0sCgogIGNvbXBp
bGVYUGF0aE1hdGNoZXI6IGZ1bmN0aW9uKCkgewogICAgdmFyIGUgPSB0aGlzLmV4
cHJlc3Npb24sIHBzID0gU2VsZWN0b3IucGF0dGVybnMsCiAgICAgICAgeCA9IFNl
bGVjdG9yLnhwYXRoLCBsZSwgbTsKCiAgICBpZiAoU2VsZWN0b3IuX2NhY2hlW2Vd
KSB7CiAgICAgIHRoaXMueHBhdGggPSBTZWxlY3Rvci5fY2FjaGVbZV07IHJldHVy
bjsKICAgIH0KCiAgICB0aGlzLm1hdGNoZXIgPSBbJy4vLyonXTsKICAgIHdoaWxl
IChlICYmIGxlICE9IGUgJiYgKC9cUy8pLnRlc3QoZSkpIHsKICAgICAgbGUgPSBl
OwogICAgICBmb3IgKHZhciBpIGluIHBzKSB7CiAgICAgICAgaWYgKG0gPSBlLm1h
dGNoKHBzW2ldKSkgewogICAgICAgICAgdGhpcy5tYXRjaGVyLnB1c2goT2JqZWN0
LmlzRnVuY3Rpb24oeFtpXSkgPyB4W2ldKG0pIDoKICAgICAgICAgICAgbmV3IFRl
bXBsYXRlKHhbaV0pLmV2YWx1YXRlKG0pKTsKICAgICAgICAgIGUgPSBlLnJlcGxh
Y2UobVswXSwgJycpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9
CiAgICB9CgogICAgdGhpcy54cGF0aCA9IHRoaXMubWF0Y2hlci5qb2luKCcnKTsK
ICAgIFNlbGVjdG9yLl9jYWNoZVt0aGlzLmV4cHJlc3Npb25dID0gdGhpcy54cGF0
aDsKICB9LAoKICBmaW5kRWxlbWVudHM6IGZ1bmN0aW9uKHJvb3QpIHsKICAgIHJv
b3QgPSByb290IHx8IGRvY3VtZW50OwogICAgdmFyIGUgPSB0aGlzLmV4cHJlc3Np
b24sIHJlc3VsdHM7CgogICAgc3dpdGNoICh0aGlzLm1vZGUpIHsKICAgICAgY2Fz
ZSAnc2VsZWN0b3JzQVBJJzoKICAgICAgICAvLyBxdWVyeVNlbGVjdG9yQWxsIHF1
ZXJpZXMgZG9jdW1lbnQtd2lkZSwgdGhlbiBmaWx0ZXJzIHRvIGRlc2NlbmRhbnRz
CiAgICAgICAgLy8gb2YgdGhlIGNvbnRleHQgZWxlbWVudC4gVGhhdCdzIG5vdCB3
aGF0IHdlIHdhbnQuCiAgICAgICAgLy8gQWRkIGFuIGV4cGxpY2l0IGNvbnRleHQg
dG8gdGhlIHNlbGVjdG9yIGlmIG5lY2Vzc2FyeS4KICAgICAgICBpZiAocm9vdCAh
PT0gZG9jdW1lbnQpIHsKICAgICAgICAgIHZhciBvbGRJZCA9IHJvb3QuaWQsIGlk
ID0gJChyb290KS5pZGVudGlmeSgpOwogICAgICAgICAgZSA9ICIjIiArIGlkICsg
IiAiICsgZTsKICAgICAgICB9CgogICAgICAgIHJlc3VsdHMgPSAkQShyb290LnF1
ZXJ5U2VsZWN0b3JBbGwoZSkpLm1hcChFbGVtZW50LmV4dGVuZCk7CiAgICAgICAg
cm9vdC5pZCA9IG9sZElkOwoKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAg
Y2FzZSAneHBhdGgnOgogICAgICAgIHJldHVybiBkb2N1bWVudC5fZ2V0RWxlbWVu
dHNCeVhQYXRoKHRoaXMueHBhdGgsIHJvb3QpOwogICAgICBkZWZhdWx0OgogICAg
ICAgcmV0dXJuIHRoaXMubWF0Y2hlcihyb290KTsKICAgIH0KICB9LAoKICBtYXRj
aDogZnVuY3Rpb24oZWxlbWVudCkgewogICAgdGhpcy50b2tlbnMgPSBbXTsKCiAg
ICB2YXIgZSA9IHRoaXMuZXhwcmVzc2lvbiwgcHMgPSBTZWxlY3Rvci5wYXR0ZXJu
cywgYXMgPSBTZWxlY3Rvci5hc3NlcnRpb25zOwogICAgdmFyIGxlLCBwLCBtOwoK
ICAgIHdoaWxlIChlICYmIGxlICE9PSBlICYmICgvXFMvKS50ZXN0KGUpKSB7CiAg
ICAgIGxlID0gZTsKICAgICAgZm9yICh2YXIgaSBpbiBwcykgewogICAgICAgIHAg
PSBwc1tpXTsKICAgICAgICBpZiAobSA9IGUubWF0Y2gocCkpIHsKICAgICAgICAg
IC8vIHVzZSB0aGUgU2VsZWN0b3IuYXNzZXJ0aW9ucyBtZXRob2RzIHVubGVzcyB0
aGUgc2VsZWN0b3IKICAgICAgICAgIC8vIGlzIHRvbyBjb21wbGV4LgogICAgICAg
ICAgaWYgKGFzW2ldKSB7CiAgICAgICAgICAgIHRoaXMudG9rZW5zLnB1c2goW2ks
IE9iamVjdC5jbG9uZShtKV0pOwogICAgICAgICAgICBlID0gZS5yZXBsYWNlKG1b
MF0sICcnKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIHJlbHVj
dGFudGx5IGRvIGEgZG9jdW1lbnQtd2lkZSBzZWFyY2gKICAgICAgICAgICAgLy8g
YW5kIGxvb2sgZm9yIGEgbWF0Y2ggaW4gdGhlIGFycmF5CiAgICAgICAgICAgIHJl
dHVybiB0aGlzLmZpbmRFbGVtZW50cyhkb2N1bWVudCkuaW5jbHVkZShlbGVtZW50
KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICB2YXIg
bWF0Y2ggPSB0cnVlLCBuYW1lLCBtYXRjaGVzOwogICAgZm9yICh2YXIgaSA9IDAs
IHRva2VuOyB0b2tlbiA9IHRoaXMudG9rZW5zW2ldOyBpKyspIHsKICAgICAgbmFt
ZSA9IHRva2VuWzBdLCBtYXRjaGVzID0gdG9rZW5bMV07CiAgICAgIGlmICghU2Vs
ZWN0b3IuYXNzZXJ0aW9uc1tuYW1lXShlbGVtZW50LCBtYXRjaGVzKSkgewogICAg
ICAgIG1hdGNoID0gZmFsc2U7IGJyZWFrOwogICAgICB9CiAgICB9CgogICAgcmV0
dXJuIG1hdGNoOwogIH0sCgogIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKICAgIHJl
dHVybiB0aGlzLmV4cHJlc3Npb247CiAgfSwKCiAgaW5zcGVjdDogZnVuY3Rpb24o
KSB7CiAgICByZXR1cm4gIiM8U2VsZWN0b3I6IiArIHRoaXMuZXhwcmVzc2lvbi5p
bnNwZWN0KCkgKyAiPiI7CiAgfQp9KTsKCk9iamVjdC5leHRlbmQoU2VsZWN0b3Is
IHsKICBfY2FjaGU6IHsgfSwKCiAgeHBhdGg6IHsKICAgIGRlc2NlbmRhbnQ6ICAg
Ii8vKiIsCiAgICBjaGlsZDogICAgICAgICIvKiIsCiAgICBhZGphY2VudDogICAg
ICIvZm9sbG93aW5nLXNpYmxpbmc6OipbMV0iLAogICAgbGF0ZXJTaWJsaW5nOiAn
L2ZvbGxvd2luZy1zaWJsaW5nOjoqJywKICAgIHRhZ05hbWU6ICAgICAgZnVuY3Rp
b24obSkgewogICAgICBpZiAobVsxXSA9PSAnKicpIHJldHVybiAnJzsKICAgICAg
cmV0dXJuICJbbG9jYWwtbmFtZSgpPSciICsgbVsxXS50b0xvd2VyQ2FzZSgpICsK
ICAgICAgICAgICAgICInIG9yIGxvY2FsLW5hbWUoKT0nIiArIG1bMV0udG9VcHBl
ckNhc2UoKSArICInXSI7CiAgICB9LAogICAgY2xhc3NOYW1lOiAgICAiW2NvbnRh
aW5zKGNvbmNhdCgnICcsIEBjbGFzcywgJyAnKSwgJyAjezF9ICcpXSIsCiAgICBp
ZDogICAgICAgICAgICJbQGlkPScjezF9J10iLAogICAgYXR0clByZXNlbmNlOiBm
dW5jdGlvbihtKSB7CiAgICAgIG1bMV0gPSBtWzFdLnRvTG93ZXJDYXNlKCk7CiAg
ICAgIHJldHVybiBuZXcgVGVtcGxhdGUoIltAI3sxfV0iKS5ldmFsdWF0ZShtKTsK
ICAgIH0sCiAgICBhdHRyOiBmdW5jdGlvbihtKSB7CiAgICAgIG1bMV0gPSBtWzFd
LnRvTG93ZXJDYXNlKCk7CiAgICAgIG1bM10gPSBtWzVdIHx8IG1bNl07CiAgICAg
IHJldHVybiBuZXcgVGVtcGxhdGUoU2VsZWN0b3IueHBhdGgub3BlcmF0b3JzW21b
Ml1dKS5ldmFsdWF0ZShtKTsKICAgIH0sCiAgICBwc2V1ZG86IGZ1bmN0aW9uKG0p
IHsKICAgICAgdmFyIGggPSBTZWxlY3Rvci54cGF0aC5wc2V1ZG9zW21bMV1dOwog
ICAgICBpZiAoIWgpIHJldHVybiAnJzsKICAgICAgaWYgKE9iamVjdC5pc0Z1bmN0
aW9uKGgpKSByZXR1cm4gaChtKTsKICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZShT
ZWxlY3Rvci54cGF0aC5wc2V1ZG9zW21bMV1dKS5ldmFsdWF0ZShtKTsKICAgIH0s
CiAgICBvcGVyYXRvcnM6IHsKICAgICAgJz0nOiAgIltAI3sxfT0nI3szfSddIiwK
ICAgICAgJyE9JzogIltAI3sxfSE9JyN7M30nXSIsCiAgICAgICdePSc6ICJbc3Rh
cnRzLXdpdGgoQCN7MX0sICcjezN9JyldIiwKICAgICAgJyQ9JzogIltzdWJzdHJp
bmcoQCN7MX0sIChzdHJpbmctbGVuZ3RoKEAjezF9KSAtIHN0cmluZy1sZW5ndGgo
JyN7M30nKSArIDEpKT0nI3szfSddIiwKICAgICAgJyo9JzogIltjb250YWlucyhA
I3sxfSwgJyN7M30nKV0iLAogICAgICAnfj0nOiAiW2NvbnRhaW5zKGNvbmNhdCgn
ICcsIEAjezF9LCAnICcpLCAnICN7M30gJyldIiwKICAgICAgJ3w9JzogIltjb250
YWlucyhjb25jYXQoJy0nLCBAI3sxfSwgJy0nKSwgJy0jezN9LScpXSIKICAgIH0s
CiAgICBwc2V1ZG9zOiB7CiAgICAgICdmaXJzdC1jaGlsZCc6ICdbbm90KHByZWNl
ZGluZy1zaWJsaW5nOjoqKV0nLAogICAgICAnbGFzdC1jaGlsZCc6ICAnW25vdChm
b2xsb3dpbmctc2libGluZzo6KildJywKICAgICAgJ29ubHktY2hpbGQnOiAgJ1tu
b3QocHJlY2VkaW5nLXNpYmxpbmc6Oiogb3IgZm9sbG93aW5nLXNpYmxpbmc6Oiop
XScsCiAgICAgICdlbXB0eSc6ICAgICAgICJbY291bnQoKikgPSAwIGFuZCAoY291
bnQodGV4dCgpKSA9IDApXSIsCiAgICAgICdjaGVja2VkJzogICAgICJbQGNoZWNr
ZWRdIiwKICAgICAgJ2Rpc2FibGVkJzogICAgIlsoQGRpc2FibGVkKSBhbmQgKEB0
eXBlIT0naGlkZGVuJyldIiwKICAgICAgJ2VuYWJsZWQnOiAgICAgIltub3QoQGRp
c2FibGVkKSBhbmQgKEB0eXBlIT0naGlkZGVuJyldIiwKICAgICAgJ25vdCc6IGZ1
bmN0aW9uKG0pIHsKICAgICAgICB2YXIgZSA9IG1bNl0sIHAgPSBTZWxlY3Rvci5w
YXR0ZXJucywKICAgICAgICAgICAgeCA9IFNlbGVjdG9yLnhwYXRoLCBsZSwgdjsK
CiAgICAgICAgdmFyIGV4Y2x1c2lvbiA9IFtdOwogICAgICAgIHdoaWxlIChlICYm
IGxlICE9IGUgJiYgKC9cUy8pLnRlc3QoZSkpIHsKICAgICAgICAgIGxlID0gZTsK
ICAgICAgICAgIGZvciAodmFyIGkgaW4gcCkgewogICAgICAgICAgICBpZiAobSA9
IGUubWF0Y2gocFtpXSkpIHsKICAgICAgICAgICAgICB2ID0gT2JqZWN0LmlzRnVu
Y3Rpb24oeFtpXSkgPyB4W2ldKG0pIDogbmV3IFRlbXBsYXRlKHhbaV0pLmV2YWx1
YXRlKG0pOwogICAgICAgICAgICAgIGV4Y2x1c2lvbi5wdXNoKCIoIiArIHYuc3Vi
c3RyaW5nKDEsIHYubGVuZ3RoIC0gMSkgKyAiKSIpOwogICAgICAgICAgICAgIGUg
PSBlLnJlcGxhY2UobVswXSwgJycpOwogICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAi
W25vdCgiICsgZXhjbHVzaW9uLmpvaW4oIiBhbmQgIikgKyAiKV0iOwogICAgICB9
LAogICAgICAnbnRoLWNoaWxkJzogICAgICBmdW5jdGlvbihtKSB7CiAgICAgICAg
cmV0dXJuIFNlbGVjdG9yLnhwYXRoLnBzZXVkb3MubnRoKCIoY291bnQoLi9wcmVj
ZWRpbmctc2libGluZzo6KikgKyAxKSAiLCBtKTsKICAgICAgfSwKICAgICAgJ250
aC1sYXN0LWNoaWxkJzogZnVuY3Rpb24obSkgewogICAgICAgIHJldHVybiBTZWxl
Y3Rvci54cGF0aC5wc2V1ZG9zLm50aCgiKGNvdW50KC4vZm9sbG93aW5nLXNpYmxp
bmc6OiopICsgMSkgIiwgbSk7CiAgICAgIH0sCiAgICAgICdudGgtb2YtdHlwZSc6
ICAgIGZ1bmN0aW9uKG0pIHsKICAgICAgICByZXR1cm4gU2VsZWN0b3IueHBhdGgu
cHNldWRvcy5udGgoInBvc2l0aW9uKCkgIiwgbSk7CiAgICAgIH0sCiAgICAgICdu
dGgtbGFzdC1vZi10eXBlJzogZnVuY3Rpb24obSkgewogICAgICAgIHJldHVybiBT
ZWxlY3Rvci54cGF0aC5wc2V1ZG9zLm50aCgiKGxhc3QoKSArIDEgLSBwb3NpdGlv
bigpKSAiLCBtKTsKICAgICAgfSwKICAgICAgJ2ZpcnN0LW9mLXR5cGUnOiAgZnVu
Y3Rpb24obSkgewogICAgICAgIG1bNl0gPSAiMSI7IHJldHVybiBTZWxlY3Rvci54
cGF0aC5wc2V1ZG9zWydudGgtb2YtdHlwZSddKG0pOwogICAgICB9LAogICAgICAn
bGFzdC1vZi10eXBlJzogICBmdW5jdGlvbihtKSB7CiAgICAgICAgbVs2XSA9ICIx
IjsgcmV0dXJuIFNlbGVjdG9yLnhwYXRoLnBzZXVkb3NbJ250aC1sYXN0LW9mLXR5
cGUnXShtKTsKICAgICAgfSwKICAgICAgJ29ubHktb2YtdHlwZSc6ICAgZnVuY3Rp
b24obSkgewogICAgICAgIHZhciBwID0gU2VsZWN0b3IueHBhdGgucHNldWRvczsg
cmV0dXJuIHBbJ2ZpcnN0LW9mLXR5cGUnXShtKSArIHBbJ2xhc3Qtb2YtdHlwZSdd
KG0pOwogICAgICB9LAogICAgICBudGg6IGZ1bmN0aW9uKGZyYWdtZW50LCBtKSB7
CiAgICAgICAgdmFyIG1tLCBmb3JtdWxhID0gbVs2XSwgcHJlZGljYXRlOwogICAg
ICAgIGlmIChmb3JtdWxhID09ICdldmVuJykgZm9ybXVsYSA9ICcybiswJzsKICAg
ICAgICBpZiAoZm9ybXVsYSA9PSAnb2RkJykgIGZvcm11bGEgPSAnMm4rMSc7CiAg
ICAgICAgaWYgKG1tID0gZm9ybXVsYS5tYXRjaCgvXihcZCspJC8pKSAvLyBkaWdp
dCBvbmx5CiAgICAgICAgICByZXR1cm4gJ1snICsgZnJhZ21lbnQgKyAiPSAiICsg
bW1bMV0gKyAnXSc7CiAgICAgICAgaWYgKG1tID0gZm9ybXVsYS5tYXRjaCgvXigt
P1xkKik/bigoWystXSkoXGQrKSk/LykpIHsgLy8gYW4rYgogICAgICAgICAgaWYg
KG1tWzFdID09ICItIikgbW1bMV0gPSAtMTsKICAgICAgICAgIHZhciBhID0gbW1b
MV0gPyBOdW1iZXIobW1bMV0pIDogMTsKICAgICAgICAgIHZhciBiID0gbW1bMl0g
PyBOdW1iZXIobW1bMl0pIDogMDsKICAgICAgICAgIHByZWRpY2F0ZSA9ICJbKCgj
e2ZyYWdtZW50fSAtICN7Yn0pIG1vZCAje2F9ID0gMCkgYW5kICIgKwogICAgICAg
ICAgIigoI3tmcmFnbWVudH0gLSAje2J9KSBkaXYgI3thfSA+PSAwKV0iOwogICAg
ICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZShwcmVkaWNhdGUpLmV2YWx1YXRlKHsK
ICAgICAgICAgICAgZnJhZ21lbnQ6IGZyYWdtZW50LCBhOiBhLCBiOiBiIH0pOwog
ICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCgogIGNyaXRlcmlhOiB7CiAgICB0
YWdOYW1lOiAgICAgICduID0gaC50YWdOYW1lKG4sIHIsICIjezF9IiwgYyk7ICAg
ICAgYyA9IGZhbHNlOycsCiAgICBjbGFzc05hbWU6ICAgICduID0gaC5jbGFzc05h
bWUobiwgciwgIiN7MX0iLCBjKTsgICAgYyA9IGZhbHNlOycsCiAgICBpZDogICAg
ICAgICAgICduID0gaC5pZChuLCByLCAiI3sxfSIsIGMpOyAgICAgICAgICAgYyA9
IGZhbHNlOycsCiAgICBhdHRyUHJlc2VuY2U6ICduID0gaC5hdHRyUHJlc2VuY2Uo
biwgciwgIiN7MX0iLCBjKTsgYyA9IGZhbHNlOycsCiAgICBhdHRyOiBmdW5jdGlv
bihtKSB7CiAgICAgIG1bM10gPSAobVs1XSB8fCBtWzZdKTsKICAgICAgcmV0dXJu
IG5ldyBUZW1wbGF0ZSgnbiA9IGguYXR0cihuLCByLCAiI3sxfSIsICIjezN9Iiwg
IiN7Mn0iLCBjKTsgYyA9IGZhbHNlOycpLmV2YWx1YXRlKG0pOwogICAgfSwKICAg
IHBzZXVkbzogZnVuY3Rpb24obSkgewogICAgICBpZiAobVs2XSkgbVs2XSA9IG1b
Nl0ucmVwbGFjZSgvIi9nLCAnXFwiJyk7CiAgICAgIHJldHVybiBuZXcgVGVtcGxh
dGUoJ24gPSBoLnBzZXVkbyhuLCAiI3sxfSIsICIjezZ9IiwgciwgYyk7IGMgPSBm
YWxzZTsnKS5ldmFsdWF0ZShtKTsKICAgIH0sCiAgICBkZXNjZW5kYW50OiAgICdj
ID0gImRlc2NlbmRhbnQiOycsCiAgICBjaGlsZDogICAgICAgICdjID0gImNoaWxk
IjsnLAogICAgYWRqYWNlbnQ6ICAgICAnYyA9ICJhZGphY2VudCI7JywKICAgIGxh
dGVyU2libGluZzogJ2MgPSAibGF0ZXJTaWJsaW5nIjsnCiAgfSwKCiAgcGF0dGVy
bnM6IHsKICAgIC8vIGNvbWJpbmF0b3JzIG11c3QgYmUgbGlzdGVkIGZpcnN0CiAg
ICAvLyAoYW5kIGRlc2NlbmRhbnQgbmVlZHMgdG8gYmUgbGFzdCBjb21iaW5hdG9y
KQogICAgbGF0ZXJTaWJsaW5nOiAvXlxzKn5ccyovLAogICAgY2hpbGQ6ICAgICAg
ICAvXlxzKj5ccyovLAogICAgYWRqYWNlbnQ6ICAgICAvXlxzKlwrXHMqLywKICAg
IGRlc2NlbmRhbnQ6ICAgL15ccy8sCgogICAgLy8gc2VsZWN0b3JzIGZvbGxvdwog
ICAgdGFnTmFtZTogICAgICAvXlxzKihcKnxbXHdcLV0rKShcYnwkKT8vLAogICAg
aWQ6ICAgICAgICAgICAvXiMoW1x3XC1cKl0rKShcYnwkKS8sCiAgICBjbGFzc05h
bWU6ICAgIC9eXC4oW1x3XC1cKl0rKShcYnwkKS8sCiAgICBwc2V1ZG86Ci9eOigo
Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3R8b25seSkoLWNoaWxkfC1vZi10eXBlKXxl
bXB0eXxjaGVja2VkfChlbnxkaXMpYWJsZWR8bm90KShcKCguKj8pXCkpPyhcYnwk
fCg/PVxzfFs6K34+XSkpLywKICAgIGF0dHJQcmVzZW5jZTogL15cWygoPzpbXHdd
KzopP1tcd10rKVxdLywKICAgIGF0dHI6ICAgICAgICAgL1xbKCg/Oltcdy1dKjop
P1tcdy1dKylccyooPzooWyFeJCp+fF0/PSlccyooKFsnIl0pKFteXDRdKj8pXDR8
KFteJyJdW15cXV0qPykpKT9cXS8KICB9LAoKICAvLyBmb3IgU2VsZWN0b3IubWF0
Y2ggYW5kIEVsZW1lbnQjbWF0Y2gKICBhc3NlcnRpb25zOiB7CiAgICB0YWdOYW1l
OiBmdW5jdGlvbihlbGVtZW50LCBtYXRjaGVzKSB7CiAgICAgIHJldHVybiBtYXRj
aGVzWzFdLnRvVXBwZXJDYXNlKCkgPT0gZWxlbWVudC50YWdOYW1lLnRvVXBwZXJD
YXNlKCk7CiAgICB9LAoKICAgIGNsYXNzTmFtZTogZnVuY3Rpb24oZWxlbWVudCwg
bWF0Y2hlcykgewogICAgICByZXR1cm4gRWxlbWVudC5oYXNDbGFzc05hbWUoZWxl
bWVudCwgbWF0Y2hlc1sxXSk7CiAgICB9LAoKICAgIGlkOiBmdW5jdGlvbihlbGVt
ZW50LCBtYXRjaGVzKSB7CiAgICAgIHJldHVybiBlbGVtZW50LmlkID09PSBtYXRj
aGVzWzFdOwogICAgfSwKCiAgICBhdHRyUHJlc2VuY2U6IGZ1bmN0aW9uKGVsZW1l
bnQsIG1hdGNoZXMpIHsKICAgICAgcmV0dXJuIEVsZW1lbnQuaGFzQXR0cmlidXRl
KGVsZW1lbnQsIG1hdGNoZXNbMV0pOwogICAgfSwKCiAgICBhdHRyOiBmdW5jdGlv
bihlbGVtZW50LCBtYXRjaGVzKSB7CiAgICAgIHZhciBub2RlVmFsdWUgPSBFbGVt
ZW50LnJlYWRBdHRyaWJ1dGUoZWxlbWVudCwgbWF0Y2hlc1sxXSk7CiAgICAgIHJl
dHVybiBub2RlVmFsdWUgJiYgU2VsZWN0b3Iub3BlcmF0b3JzW21hdGNoZXNbMl1d
KG5vZGVWYWx1ZSwgbWF0Y2hlc1s1XSB8fCBtYXRjaGVzWzZdKTsKICAgIH0KICB9
LAoKICBoYW5kbGVyczogewogICAgLy8gVVRJTElUWSBGVU5DVElPTlMKICAgIC8v
IGpvaW5zIHR3byBjb2xsZWN0aW9ucwogICAgY29uY2F0OiBmdW5jdGlvbihhLCBi
KSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCBub2RlOyBub2RlID0gYltpXTsgaSsr
KQogICAgICAgIGEucHVzaChub2RlKTsKICAgICAgcmV0dXJuIGE7CiAgICB9LAoK
ICAgIC8vIG1hcmtzIGFuIGFycmF5IG9mIG5vZGVzIGZvciBjb3VudGluZwogICAg
bWFyazogZnVuY3Rpb24obm9kZXMpIHsKICAgICAgdmFyIF90cnVlID0gUHJvdG90
eXBlLmVtcHR5RnVuY3Rpb247CiAgICAgIGZvciAodmFyIGkgPSAwLCBub2RlOyBu
b2RlID0gbm9kZXNbaV07IGkrKykKICAgICAgICBub2RlLl9jb3VudGVkQnlQcm90
b3R5cGUgPSBfdHJ1ZTsKICAgICAgcmV0dXJuIG5vZGVzOwogICAgfSwKCiAgICB1
bm1hcms6IGZ1bmN0aW9uKG5vZGVzKSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCBu
b2RlOyBub2RlID0gbm9kZXNbaV07IGkrKykKICAgICAgICBub2RlLl9jb3VudGVk
QnlQcm90b3R5cGUgPSB1bmRlZmluZWQ7CiAgICAgIHJldHVybiBub2RlczsKICAg
IH0sCgogICAgLy8gbWFyayBlYWNoIGNoaWxkIG5vZGUgd2l0aCBpdHMgcG9zaXRp
b24gKGZvciBudGggY2FsbHMpCiAgICAvLyAib2ZUeXBlIiBmbGFnIGluZGljYXRl
cyB3aGV0aGVyIHdlJ3JlIGluZGV4aW5nIGZvciBudGgtb2YtdHlwZQogICAgLy8g
cmF0aGVyIHRoYW4gbnRoLWNoaWxkCiAgICBpbmRleDogZnVuY3Rpb24ocGFyZW50
Tm9kZSwgcmV2ZXJzZSwgb2ZUeXBlKSB7CiAgICAgIHBhcmVudE5vZGUuX2NvdW50
ZWRCeVByb3RvdHlwZSA9IFByb3RvdHlwZS5lbXB0eUZ1bmN0aW9uOwogICAgICBp
ZiAocmV2ZXJzZSkgewogICAgICAgIGZvciAodmFyIG5vZGVzID0gcGFyZW50Tm9k
ZS5jaGlsZE5vZGVzLCBpID0gbm9kZXMubGVuZ3RoIC0gMSwgaiA9IDE7IGkgPj0g
MDsgaS0tKSB7CiAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldOwogICAgICAg
ICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMSAmJiAoIW9mVHlwZSB8fCBub2RlLl9j
b3VudGVkQnlQcm90b3R5cGUpKSBub2RlLm5vZGVJbmRleCA9IGorKzsKICAgICAg
ICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGogPSAx
LCBub2RlcyA9IHBhcmVudE5vZGUuY2hpbGROb2Rlczsgbm9kZSA9IG5vZGVzW2ld
OyBpKyspCiAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PSAxICYmICghb2ZU
eXBlIHx8IG5vZGUuX2NvdW50ZWRCeVByb3RvdHlwZSkpIG5vZGUubm9kZUluZGV4
ID0gaisrOwogICAgICB9CiAgICB9LAoKICAgIC8vIGZpbHRlcnMgb3V0IGR1cGxp
Y2F0ZXMgYW5kIGV4dGVuZHMgYWxsIG5vZGVzCiAgICB1bmlxdWU6IGZ1bmN0aW9u
KG5vZGVzKSB7CiAgICAgIGlmIChub2Rlcy5sZW5ndGggPT0gMCkgcmV0dXJuIG5v
ZGVzOwogICAgICB2YXIgcmVzdWx0cyA9IFtdLCBuOwogICAgICBmb3IgKHZhciBp
ID0gMCwgbCA9IG5vZGVzLmxlbmd0aDsgaSA8IGw7IGkrKykKICAgICAgICBpZiAo
IShuID0gbm9kZXNbaV0pLl9jb3VudGVkQnlQcm90b3R5cGUpIHsKICAgICAgICAg
IG4uX2NvdW50ZWRCeVByb3RvdHlwZSA9IFByb3RvdHlwZS5lbXB0eUZ1bmN0aW9u
OwogICAgICAgICAgcmVzdWx0cy5wdXNoKEVsZW1lbnQuZXh0ZW5kKG4pKTsKICAg
ICAgICB9CiAgICAgIHJldHVybiBTZWxlY3Rvci5oYW5kbGVycy51bm1hcmsocmVz
dWx0cyk7CiAgICB9LAoKICAgIC8vIENPTUJJTkFUT1IgRlVOQ1RJT05TCiAgICBk
ZXNjZW5kYW50OiBmdW5jdGlvbihub2RlcykgewogICAgICB2YXIgaCA9IFNlbGVj
dG9yLmhhbmRsZXJzOwogICAgICBmb3IgKHZhciBpID0gMCwgcmVzdWx0cyA9IFtd
LCBub2RlOyBub2RlID0gbm9kZXNbaV07IGkrKykKICAgICAgICBoLmNvbmNhdChy
ZXN1bHRzLCBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCcqJykpOwogICAgICBy
ZXR1cm4gcmVzdWx0czsKICAgIH0sCgogICAgY2hpbGQ6IGZ1bmN0aW9uKG5vZGVz
KSB7CiAgICAgIHZhciBoID0gU2VsZWN0b3IuaGFuZGxlcnM7CiAgICAgIGZvciAo
dmFyIGkgPSAwLCByZXN1bHRzID0gW10sIG5vZGU7IG5vZGUgPSBub2Rlc1tpXTsg
aSsrKSB7CiAgICAgICAgZm9yICh2YXIgaiA9IDAsIGNoaWxkOyBjaGlsZCA9IG5v
ZGUuY2hpbGROb2Rlc1tqXTsgaisrKQogICAgICAgICAgaWYgKGNoaWxkLm5vZGVU
eXBlID09IDEgJiYgY2hpbGQudGFnTmFtZSAhPSAnIScpIHJlc3VsdHMucHVzaChj
aGlsZCk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJlc3VsdHM7CiAgICB9LAoKICAg
IGFkamFjZW50OiBmdW5jdGlvbihub2RlcykgewogICAgICBmb3IgKHZhciBpID0g
MCwgcmVzdWx0cyA9IFtdLCBub2RlOyBub2RlID0gbm9kZXNbaV07IGkrKykgewog
ICAgICAgIHZhciBuZXh0ID0gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmcobm9kZSk7
CiAgICAgICAgaWYgKG5leHQpIHJlc3VsdHMucHVzaChuZXh0KTsKICAgICAgfQog
ICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0sCgogICAgbGF0ZXJTaWJsaW5nOiBm
dW5jdGlvbihub2RlcykgewogICAgICB2YXIgaCA9IFNlbGVjdG9yLmhhbmRsZXJz
OwogICAgICBmb3IgKHZhciBpID0gMCwgcmVzdWx0cyA9IFtdLCBub2RlOyBub2Rl
ID0gbm9kZXNbaV07IGkrKykKICAgICAgICBoLmNvbmNhdChyZXN1bHRzLCBFbGVt
ZW50Lm5leHRTaWJsaW5ncyhub2RlKSk7CiAgICAgIHJldHVybiByZXN1bHRzOwog
ICAgfSwKCiAgICBuZXh0RWxlbWVudFNpYmxpbmc6IGZ1bmN0aW9uKG5vZGUpIHsK
ICAgICAgd2hpbGUgKG5vZGUgPSBub2RlLm5leHRTaWJsaW5nKQogICAgICAgIGlm
IChub2RlLm5vZGVUeXBlID09IDEpIHJldHVybiBub2RlOwogICAgICByZXR1cm4g
bnVsbDsKICAgIH0sCgogICAgcHJldmlvdXNFbGVtZW50U2libGluZzogZnVuY3Rp
b24obm9kZSkgewogICAgICB3aGlsZSAobm9kZSA9IG5vZGUucHJldmlvdXNTaWJs
aW5nKQogICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09IDEpIHJldHVybiBub2Rl
OwogICAgICByZXR1cm4gbnVsbDsKICAgIH0sCgogICAgLy8gVE9LRU4gRlVOQ1RJ
T05TCiAgICB0YWdOYW1lOiBmdW5jdGlvbihub2Rlcywgcm9vdCwgdGFnTmFtZSwg
Y29tYmluYXRvcikgewogICAgICB2YXIgdVRhZ05hbWUgPSB0YWdOYW1lLnRvVXBw
ZXJDYXNlKCk7CiAgICAgIHZhciByZXN1bHRzID0gW10sIGggPSBTZWxlY3Rvci5o
YW5kbGVyczsKICAgICAgaWYgKG5vZGVzKSB7CiAgICAgICAgaWYgKGNvbWJpbmF0
b3IpIHsKICAgICAgICAgIC8vIGZhc3RsYW5lIGZvciBvcmRpbmFyeSBkZXNjZW5k
YW50IGNvbWJpbmF0b3JzCiAgICAgICAgICBpZiAoY29tYmluYXRvciA9PSAiZGVz
Y2VuZGFudCIpIHsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIG5vZGU7IG5v
ZGUgPSBub2Rlc1tpXTsgaSsrKQogICAgICAgICAgICAgIGguY29uY2F0KHJlc3Vs
dHMsIG5vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUodGFnTmFtZSkpOwogICAgICAg
ICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgIH0gZWxzZSBub2RlcyA9IHRo
aXNbY29tYmluYXRvcl0obm9kZXMpOwogICAgICAgICAgaWYgKHRhZ05hbWUgPT0g
IioiKSByZXR1cm4gbm9kZXM7CiAgICAgICAgfQogICAgICAgIGZvciAodmFyIGkg
PSAwLCBub2RlOyBub2RlID0gbm9kZXNbaV07IGkrKykKICAgICAgICAgIGlmIChu
b2RlLnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gdVRhZ05hbWUpIHJlc3VsdHMu
cHVzaChub2RlKTsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgfSBlbHNl
IHJldHVybiByb290LmdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZ05hbWUpOwogICAg
fSwKCiAgICBpZDogZnVuY3Rpb24obm9kZXMsIHJvb3QsIGlkLCBjb21iaW5hdG9y
KSB7CiAgICAgIHZhciB0YXJnZXROb2RlID0gJChpZCksIGggPSBTZWxlY3Rvci5o
YW5kbGVyczsKICAgICAgaWYgKCF0YXJnZXROb2RlKSByZXR1cm4gW107CiAgICAg
IGlmICghbm9kZXMgJiYgcm9vdCA9PSBkb2N1bWVudCkgcmV0dXJuIFt0YXJnZXRO
b2RlXTsKICAgICAgaWYgKG5vZGVzKSB7CiAgICAgICAgaWYgKGNvbWJpbmF0b3Ip
IHsKICAgICAgICAgIGlmIChjb21iaW5hdG9yID09ICdjaGlsZCcpIHsKICAgICAg
ICAgICAgZm9yICh2YXIgaSA9IDAsIG5vZGU7IG5vZGUgPSBub2Rlc1tpXTsgaSsr
KQogICAgICAgICAgICAgIGlmICh0YXJnZXROb2RlLnBhcmVudE5vZGUgPT0gbm9k
ZSkgcmV0dXJuIFt0YXJnZXROb2RlXTsKICAgICAgICAgIH0gZWxzZSBpZiAoY29t
YmluYXRvciA9PSAnZGVzY2VuZGFudCcpIHsKICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDAsIG5vZGU7IG5vZGUgPSBub2Rlc1tpXTsgaSsrKQogICAgICAgICAgICAg
IGlmIChFbGVtZW50LmRlc2NlbmRhbnRPZih0YXJnZXROb2RlLCBub2RlKSkgcmV0
dXJuIFt0YXJnZXROb2RlXTsKICAgICAgICAgIH0gZWxzZSBpZiAoY29tYmluYXRv
ciA9PSAnYWRqYWNlbnQnKSB7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBu
b2RlOyBub2RlID0gbm9kZXNbaV07IGkrKykKICAgICAgICAgICAgICBpZiAoU2Vs
ZWN0b3IuaGFuZGxlcnMucHJldmlvdXNFbGVtZW50U2libGluZyh0YXJnZXROb2Rl
KSA9PSBub2RlKQogICAgICAgICAgICAgICAgcmV0dXJuIFt0YXJnZXROb2RlXTsK
ICAgICAgICAgIH0gZWxzZSBub2RlcyA9IGhbY29tYmluYXRvcl0obm9kZXMpOwog
ICAgICAgIH0KICAgICAgICBmb3IgKHZhciBpID0gMCwgbm9kZTsgbm9kZSA9IG5v
ZGVzW2ldOyBpKyspCiAgICAgICAgICBpZiAobm9kZSA9PSB0YXJnZXROb2RlKSBy
ZXR1cm4gW3RhcmdldE5vZGVdOwogICAgICAgIHJldHVybiBbXTsKICAgICAgfQog
ICAgICByZXR1cm4gKHRhcmdldE5vZGUgJiYgRWxlbWVudC5kZXNjZW5kYW50T2Yo
dGFyZ2V0Tm9kZSwgcm9vdCkpID8gW3RhcmdldE5vZGVdIDogW107CiAgICB9LAoK
ICAgIGNsYXNzTmFtZTogZnVuY3Rpb24obm9kZXMsIHJvb3QsIGNsYXNzTmFtZSwg
Y29tYmluYXRvcikgewogICAgICBpZiAobm9kZXMgJiYgY29tYmluYXRvcikgbm9k
ZXMgPSB0aGlzW2NvbWJpbmF0b3JdKG5vZGVzKTsKICAgICAgcmV0dXJuIFNlbGVj
dG9yLmhhbmRsZXJzLmJ5Q2xhc3NOYW1lKG5vZGVzLCByb290LCBjbGFzc05hbWUp
OwogICAgfSwKCiAgICBieUNsYXNzTmFtZTogZnVuY3Rpb24obm9kZXMsIHJvb3Qs
IGNsYXNzTmFtZSkgewogICAgICBpZiAoIW5vZGVzKSBub2RlcyA9IFNlbGVjdG9y
LmhhbmRsZXJzLmRlc2NlbmRhbnQoW3Jvb3RdKTsKICAgICAgdmFyIG5lZWRsZSA9
ICcgJyArIGNsYXNzTmFtZSArICcgJzsKICAgICAgZm9yICh2YXIgaSA9IDAsIHJl
c3VsdHMgPSBbXSwgbm9kZSwgbm9kZUNsYXNzTmFtZTsgbm9kZSA9IG5vZGVzW2ld
OyBpKyspIHsKICAgICAgICBub2RlQ2xhc3NOYW1lID0gbm9kZS5jbGFzc05hbWU7
CiAgICAgICAgaWYgKG5vZGVDbGFzc05hbWUubGVuZ3RoID09IDApIGNvbnRpbnVl
OwogICAgICAgIGlmIChub2RlQ2xhc3NOYW1lID09IGNsYXNzTmFtZSB8fCAoJyAn
ICsgbm9kZUNsYXNzTmFtZSArICcgJykuaW5jbHVkZShuZWVkbGUpKQogICAgICAg
ICAgcmVzdWx0cy5wdXNoKG5vZGUpOwogICAgICB9CiAgICAgIHJldHVybiByZXN1
bHRzOwogICAgfSwKCiAgICBhdHRyUHJlc2VuY2U6IGZ1bmN0aW9uKG5vZGVzLCBy
b290LCBhdHRyLCBjb21iaW5hdG9yKSB7CiAgICAgIGlmICghbm9kZXMpIG5vZGVz
ID0gcm9vdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOwogICAgICBpZiAobm9k
ZXMgJiYgY29tYmluYXRvcikgbm9kZXMgPSB0aGlzW2NvbWJpbmF0b3JdKG5vZGVz
KTsKICAgICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDAs
IG5vZGU7IG5vZGUgPSBub2Rlc1tpXTsgaSsrKQogICAgICAgIGlmIChFbGVtZW50
Lmhhc0F0dHJpYnV0ZShub2RlLCBhdHRyKSkgcmVzdWx0cy5wdXNoKG5vZGUpOwog
ICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0sCgogICAgYXR0cjogZnVuY3Rpb24o
bm9kZXMsIHJvb3QsIGF0dHIsIHZhbHVlLCBvcGVyYXRvciwgY29tYmluYXRvcikg
ewogICAgICBpZiAoIW5vZGVzKSBub2RlcyA9IHJvb3QuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoIioiKTsKICAgICAgaWYgKG5vZGVzICYmIGNvbWJpbmF0b3IpIG5vZGVz
ID0gdGhpc1tjb21iaW5hdG9yXShub2Rlcyk7CiAgICAgIHZhciBoYW5kbGVyID0g
U2VsZWN0b3Iub3BlcmF0b3JzW29wZXJhdG9yXSwgcmVzdWx0cyA9IFtdOwogICAg
ICBmb3IgKHZhciBpID0gMCwgbm9kZTsgbm9kZSA9IG5vZGVzW2ldOyBpKyspIHsK
ICAgICAgICB2YXIgbm9kZVZhbHVlID0gRWxlbWVudC5yZWFkQXR0cmlidXRlKG5v
ZGUsIGF0dHIpOwogICAgICAgIGlmIChub2RlVmFsdWUgPT09IG51bGwpIGNvbnRp
bnVlOwogICAgICAgIGlmIChoYW5kbGVyKG5vZGVWYWx1ZSwgdmFsdWUpKSByZXN1
bHRzLnB1c2gobm9kZSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJlc3VsdHM7CiAg
ICB9LAoKICAgIHBzZXVkbzogZnVuY3Rpb24obm9kZXMsIG5hbWUsIHZhbHVlLCBy
b290LCBjb21iaW5hdG9yKSB7CiAgICAgIGlmIChub2RlcyAmJiBjb21iaW5hdG9y
KSBub2RlcyA9IHRoaXNbY29tYmluYXRvcl0obm9kZXMpOwogICAgICBpZiAoIW5v
ZGVzKSBub2RlcyA9IHJvb3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTsKICAg
ICAgcmV0dXJuIFNlbGVjdG9yLnBzZXVkb3NbbmFtZV0obm9kZXMsIHZhbHVlLCBy
b290KTsKICAgIH0KICB9LAoKICBwc2V1ZG9zOiB7CiAgICAnZmlyc3QtY2hpbGQn
OiBmdW5jdGlvbihub2RlcywgdmFsdWUsIHJvb3QpIHsKICAgICAgZm9yICh2YXIg
aSA9IDAsIHJlc3VsdHMgPSBbXSwgbm9kZTsgbm9kZSA9IG5vZGVzW2ldOyBpKysp
IHsKICAgICAgICBpZiAoU2VsZWN0b3IuaGFuZGxlcnMucHJldmlvdXNFbGVtZW50
U2libGluZyhub2RlKSkgY29udGludWU7CiAgICAgICAgICByZXN1bHRzLnB1c2go
bm9kZSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJlc3VsdHM7CiAgICB9LAogICAg
J2xhc3QtY2hpbGQnOiBmdW5jdGlvbihub2RlcywgdmFsdWUsIHJvb3QpIHsKICAg
ICAgZm9yICh2YXIgaSA9IDAsIHJlc3VsdHMgPSBbXSwgbm9kZTsgbm9kZSA9IG5v
ZGVzW2ldOyBpKyspIHsKICAgICAgICBpZiAoU2VsZWN0b3IuaGFuZGxlcnMubmV4
dEVsZW1lbnRTaWJsaW5nKG5vZGUpKSBjb250aW51ZTsKICAgICAgICAgIHJlc3Vs
dHMucHVzaChub2RlKTsKICAgICAgfQogICAgICByZXR1cm4gcmVzdWx0czsKICAg
IH0sCiAgICAnb25seS1jaGlsZCc6IGZ1bmN0aW9uKG5vZGVzLCB2YWx1ZSwgcm9v
dCkgewogICAgICB2YXIgaCA9IFNlbGVjdG9yLmhhbmRsZXJzOwogICAgICBmb3Ig
KHZhciBpID0gMCwgcmVzdWx0cyA9IFtdLCBub2RlOyBub2RlID0gbm9kZXNbaV07
IGkrKykKICAgICAgICBpZiAoIWgucHJldmlvdXNFbGVtZW50U2libGluZyhub2Rl
KSAmJiAhaC5uZXh0RWxlbWVudFNpYmxpbmcobm9kZSkpCiAgICAgICAgICByZXN1
bHRzLnB1c2gobm9kZSk7CiAgICAgIHJldHVybiByZXN1bHRzOwogICAgfSwKICAg
ICdudGgtY2hpbGQnOiAgICAgICAgZnVuY3Rpb24obm9kZXMsIGZvcm11bGEsIHJv
b3QpIHsKICAgICAgcmV0dXJuIFNlbGVjdG9yLnBzZXVkb3MubnRoKG5vZGVzLCBm
b3JtdWxhLCByb290KTsKICAgIH0sCiAgICAnbnRoLWxhc3QtY2hpbGQnOiAgIGZ1
bmN0aW9uKG5vZGVzLCBmb3JtdWxhLCByb290KSB7CiAgICAgIHJldHVybiBTZWxl
Y3Rvci5wc2V1ZG9zLm50aChub2RlcywgZm9ybXVsYSwgcm9vdCwgdHJ1ZSk7CiAg
ICB9LAogICAgJ250aC1vZi10eXBlJzogICAgICBmdW5jdGlvbihub2RlcywgZm9y
bXVsYSwgcm9vdCkgewogICAgICByZXR1cm4gU2VsZWN0b3IucHNldWRvcy5udGgo
bm9kZXMsIGZvcm11bGEsIHJvb3QsIGZhbHNlLCB0cnVlKTsKICAgIH0sCiAgICAn
bnRoLWxhc3Qtb2YtdHlwZSc6IGZ1bmN0aW9uKG5vZGVzLCBmb3JtdWxhLCByb290
KSB7CiAgICAgIHJldHVybiBTZWxlY3Rvci5wc2V1ZG9zLm50aChub2RlcywgZm9y
bXVsYSwgcm9vdCwgdHJ1ZSwgdHJ1ZSk7CiAgICB9LAogICAgJ2ZpcnN0LW9mLXR5
cGUnOiAgICBmdW5jdGlvbihub2RlcywgZm9ybXVsYSwgcm9vdCkgewogICAgICBy
ZXR1cm4gU2VsZWN0b3IucHNldWRvcy5udGgobm9kZXMsICIxIiwgcm9vdCwgZmFs
c2UsIHRydWUpOwogICAgfSwKICAgICdsYXN0LW9mLXR5cGUnOiAgICAgZnVuY3Rp
b24obm9kZXMsIGZvcm11bGEsIHJvb3QpIHsKICAgICAgcmV0dXJuIFNlbGVjdG9y
LnBzZXVkb3MubnRoKG5vZGVzLCAiMSIsIHJvb3QsIHRydWUsIHRydWUpOwogICAg
fSwKICAgICdvbmx5LW9mLXR5cGUnOiAgICAgZnVuY3Rpb24obm9kZXMsIGZvcm11
bGEsIHJvb3QpIHsKICAgICAgdmFyIHAgPSBTZWxlY3Rvci5wc2V1ZG9zOwogICAg
ICByZXR1cm4gcFsnbGFzdC1vZi10eXBlJ10ocFsnZmlyc3Qtb2YtdHlwZSddKG5v
ZGVzLCBmb3JtdWxhLCByb290KSwgZm9ybXVsYSwgcm9vdCk7CiAgICB9LAoKICAg
IC8vIGhhbmRsZXMgdGhlIGFuK2IgbG9naWMKICAgIGdldEluZGljZXM6IGZ1bmN0
aW9uKGEsIGIsIHRvdGFsKSB7CiAgICAgIGlmIChhID09IDApIHJldHVybiBiID4g
MCA/IFtiXSA6IFtdOwogICAgICByZXR1cm4gJFIoMSwgdG90YWwpLmluamVjdChb
XSwgZnVuY3Rpb24obWVtbywgaSkgewogICAgICAgIGlmICgwID09IChpIC0gYikg
JSBhICYmIChpIC0gYikgLyBhID49IDApIG1lbW8ucHVzaChpKTsKICAgICAgICBy
ZXR1cm4gbWVtbzsKICAgICAgfSk7CiAgICB9LAoKICAgIC8vIGhhbmRsZXMgbnRo
KC1sYXN0KS1jaGlsZCwgbnRoKC1sYXN0KS1vZi10eXBlLCBhbmQgKGZpcnN0fGxh
c3QpLW9mLXR5cGUKICAgIG50aDogZnVuY3Rpb24obm9kZXMsIGZvcm11bGEsIHJv
b3QsIHJldmVyc2UsIG9mVHlwZSkgewogICAgICBpZiAobm9kZXMubGVuZ3RoID09
IDApIHJldHVybiBbXTsKICAgICAgaWYgKGZvcm11bGEgPT0gJ2V2ZW4nKSBmb3Jt
dWxhID0gJzJuKzAnOwogICAgICBpZiAoZm9ybXVsYSA9PSAnb2RkJykgIGZvcm11
bGEgPSAnMm4rMSc7CiAgICAgIHZhciBoID0gU2VsZWN0b3IuaGFuZGxlcnMsIHJl
c3VsdHMgPSBbXSwgaW5kZXhlZCA9IFtdLCBtOwogICAgICBoLm1hcmsobm9kZXMp
OwogICAgICBmb3IgKHZhciBpID0gMCwgbm9kZTsgbm9kZSA9IG5vZGVzW2ldOyBp
KyspIHsKICAgICAgICBpZiAoIW5vZGUucGFyZW50Tm9kZS5fY291bnRlZEJ5UHJv
dG90eXBlKSB7CiAgICAgICAgICBoLmluZGV4KG5vZGUucGFyZW50Tm9kZSwgcmV2
ZXJzZSwgb2ZUeXBlKTsKICAgICAgICAgIGluZGV4ZWQucHVzaChub2RlLnBhcmVu
dE5vZGUpOwogICAgICAgIH0KICAgICAgfQogICAgICBpZiAoZm9ybXVsYS5tYXRj
aCgvXlxkKyQvKSkgeyAvLyBqdXN0IGEgbnVtYmVyCiAgICAgICAgZm9ybXVsYSA9
IE51bWJlcihmb3JtdWxhKTsKICAgICAgICBmb3IgKHZhciBpID0gMCwgbm9kZTsg
bm9kZSA9IG5vZGVzW2ldOyBpKyspCiAgICAgICAgICBpZiAobm9kZS5ub2RlSW5k
ZXggPT0gZm9ybXVsYSkgcmVzdWx0cy5wdXNoKG5vZGUpOwogICAgICB9IGVsc2Ug
aWYgKG0gPSBmb3JtdWxhLm1hdGNoKC9eKC0/XGQqKT9uKChbKy1dKShcZCspKT8v
KSkgeyAvLyBhbitiCiAgICAgICAgaWYgKG1bMV0gPT0gIi0iKSBtWzFdID0gLTE7
CiAgICAgICAgdmFyIGEgPSBtWzFdID8gTnVtYmVyKG1bMV0pIDogMTsKICAgICAg
ICB2YXIgYiA9IG1bMl0gPyBOdW1iZXIobVsyXSkgOiAwOwogICAgICAgIHZhciBp
bmRpY2VzID0gU2VsZWN0b3IucHNldWRvcy5nZXRJbmRpY2VzKGEsIGIsIG5vZGVz
Lmxlbmd0aCk7CiAgICAgICAgZm9yICh2YXIgaSA9IDAsIG5vZGUsIGwgPSBpbmRp
Y2VzLmxlbmd0aDsgbm9kZSA9IG5vZGVzW2ldOyBpKyspIHsKICAgICAgICAgIGZv
ciAodmFyIGogPSAwOyBqIDwgbDsgaisrKQogICAgICAgICAgICBpZiAobm9kZS5u
b2RlSW5kZXggPT0gaW5kaWNlc1tqXSkgcmVzdWx0cy5wdXNoKG5vZGUpOwogICAg
ICAgIH0KICAgICAgfQogICAgICBoLnVubWFyayhub2Rlcyk7CiAgICAgIGgudW5t
YXJrKGluZGV4ZWQpOwogICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0sCgogICAg
J2VtcHR5JzogZnVuY3Rpb24obm9kZXMsIHZhbHVlLCByb290KSB7CiAgICAgIGZv
ciAodmFyIGkgPSAwLCByZXN1bHRzID0gW10sIG5vZGU7IG5vZGUgPSBub2Rlc1tp
XTsgaSsrKSB7CiAgICAgICAgLy8gSUUgdHJlYXRzIGNvbW1lbnRzIGFzIGVsZW1l
bnQgbm9kZXMKICAgICAgICBpZiAobm9kZS50YWdOYW1lID09ICchJyB8fCBub2Rl
LmZpcnN0Q2hpbGQpIGNvbnRpbnVlOwogICAgICAgIHJlc3VsdHMucHVzaChub2Rl
KTsKICAgICAgfQogICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0sCgogICAgJ25v
dCc6IGZ1bmN0aW9uKG5vZGVzLCBzZWxlY3Rvciwgcm9vdCkgewogICAgICB2YXIg
aCA9IFNlbGVjdG9yLmhhbmRsZXJzLCBzZWxlY3RvclR5cGUsIG07CiAgICAgIHZh
ciBleGNsdXNpb25zID0gbmV3IFNlbGVjdG9yKHNlbGVjdG9yKS5maW5kRWxlbWVu
dHMocm9vdCk7CiAgICAgIGgubWFyayhleGNsdXNpb25zKTsKICAgICAgZm9yICh2
YXIgaSA9IDAsIHJlc3VsdHMgPSBbXSwgbm9kZTsgbm9kZSA9IG5vZGVzW2ldOyBp
KyspCiAgICAgICAgaWYgKCFub2RlLl9jb3VudGVkQnlQcm90b3R5cGUpIHJlc3Vs
dHMucHVzaChub2RlKTsKICAgICAgaC51bm1hcmsoZXhjbHVzaW9ucyk7CiAgICAg
IHJldHVybiByZXN1bHRzOwogICAgfSwKCiAgICAnZW5hYmxlZCc6IGZ1bmN0aW9u
KG5vZGVzLCB2YWx1ZSwgcm9vdCkgewogICAgICBmb3IgKHZhciBpID0gMCwgcmVz
dWx0cyA9IFtdLCBub2RlOyBub2RlID0gbm9kZXNbaV07IGkrKykKICAgICAgICBp
ZiAoIW5vZGUuZGlzYWJsZWQgJiYgKCFub2RlLnR5cGUgfHwgbm9kZS50eXBlICE9
PSAnaGlkZGVuJykpCiAgICAgICAgICByZXN1bHRzLnB1c2gobm9kZSk7CiAgICAg
IHJldHVybiByZXN1bHRzOwogICAgfSwKCiAgICAnZGlzYWJsZWQnOiBmdW5jdGlv
bihub2RlcywgdmFsdWUsIHJvb3QpIHsKICAgICAgZm9yICh2YXIgaSA9IDAsIHJl
c3VsdHMgPSBbXSwgbm9kZTsgbm9kZSA9IG5vZGVzW2ldOyBpKyspCiAgICAgICAg
aWYgKG5vZGUuZGlzYWJsZWQpIHJlc3VsdHMucHVzaChub2RlKTsKICAgICAgcmV0
dXJuIHJlc3VsdHM7CiAgICB9LAoKICAgICdjaGVja2VkJzogZnVuY3Rpb24obm9k
ZXMsIHZhbHVlLCByb290KSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCByZXN1bHRz
ID0gW10sIG5vZGU7IG5vZGUgPSBub2Rlc1tpXTsgaSsrKQogICAgICAgIGlmIChu
b2RlLmNoZWNrZWQpIHJlc3VsdHMucHVzaChub2RlKTsKICAgICAgcmV0dXJuIHJl
c3VsdHM7CiAgICB9CiAgfSwKCiAgb3BlcmF0b3JzOiB7CiAgICAnPSc6ICBmdW5j
dGlvbihudiwgdikgeyByZXR1cm4gbnYgPT0gdjsgfSwKICAgICchPSc6IGZ1bmN0
aW9uKG52LCB2KSB7IHJldHVybiBudiAhPSB2OyB9LAogICAgJ149JzogZnVuY3Rp
b24obnYsIHYpIHsgcmV0dXJuIG52ID09IHYgfHwgbnYgJiYgbnYuc3RhcnRzV2l0
aCh2KTsgfSwKICAgICckPSc6IGZ1bmN0aW9uKG52LCB2KSB7IHJldHVybiBudiA9
PSB2IHx8IG52ICYmIG52LmVuZHNXaXRoKHYpOyB9LAogICAgJyo9JzogZnVuY3Rp
b24obnYsIHYpIHsgcmV0dXJuIG52ID09IHYgfHwgbnYgJiYgbnYuaW5jbHVkZSh2
KTsgfSwKICAgICckPSc6IGZ1bmN0aW9uKG52LCB2KSB7IHJldHVybiBudi5lbmRz
V2l0aCh2KTsgfSwKICAgICcqPSc6IGZ1bmN0aW9uKG52LCB2KSB7IHJldHVybiBu
di5pbmNsdWRlKHYpOyB9LAogICAgJ349JzogZnVuY3Rpb24obnYsIHYpIHsgcmV0
dXJuICgnICcgKyBudiArICcgJykuaW5jbHVkZSgnICcgKyB2ICsgJyAnKTsgfSwK
ICAgICd8PSc6IGZ1bmN0aW9uKG52LCB2KSB7IHJldHVybiAoJy0nICsgKG52IHx8
ICIiKS50b1VwcGVyQ2FzZSgpICsKICAgICAnLScpLmluY2x1ZGUoJy0nICsgKHYg
fHwgIiIpLnRvVXBwZXJDYXNlKCkgKyAnLScpOyB9CiAgfSwKCiAgc3BsaXQ6IGZ1
bmN0aW9uKGV4cHJlc3Npb24pIHsKICAgIHZhciBleHByZXNzaW9ucyA9IFtdOwog
ICAgZXhwcmVzc2lvbi5zY2FuKC8oKFtcdyM6Ln4+KygpXHMtXSt8XCp8XFsuKj9c
XSkrKVxzKigsfCQpLywgZnVuY3Rpb24obSkgewogICAgICBleHByZXNzaW9ucy5w
dXNoKG1bMV0uc3RyaXAoKSk7CiAgICB9KTsKICAgIHJldHVybiBleHByZXNzaW9u
czsKICB9LAoKICBtYXRjaEVsZW1lbnRzOiBmdW5jdGlvbihlbGVtZW50cywgZXhw
cmVzc2lvbikgewogICAgdmFyIG1hdGNoZXMgPSAkJChleHByZXNzaW9uKSwgaCA9
IFNlbGVjdG9yLmhhbmRsZXJzOwogICAgaC5tYXJrKG1hdGNoZXMpOwogICAgZm9y
ICh2YXIgaSA9IDAsIHJlc3VsdHMgPSBbXSwgZWxlbWVudDsgZWxlbWVudCA9IGVs
ZW1lbnRzW2ldOyBpKyspCiAgICAgIGlmIChlbGVtZW50Ll9jb3VudGVkQnlQcm90
b3R5cGUpIHJlc3VsdHMucHVzaChlbGVtZW50KTsKICAgIGgudW5tYXJrKG1hdGNo
ZXMpOwogICAgcmV0dXJuIHJlc3VsdHM7CiAgfSwKCiAgZmluZEVsZW1lbnQ6IGZ1
bmN0aW9uKGVsZW1lbnRzLCBleHByZXNzaW9uLCBpbmRleCkgewogICAgaWYgKE9i
amVjdC5pc051bWJlcihleHByZXNzaW9uKSkgewogICAgICBpbmRleCA9IGV4cHJl
c3Npb247IGV4cHJlc3Npb24gPSBmYWxzZTsKICAgIH0KICAgIHJldHVybiBTZWxl
Y3Rvci5tYXRjaEVsZW1lbnRzKGVsZW1lbnRzLCBleHByZXNzaW9uIHx8ICcqJylb
aW5kZXggfHwgMF07CiAgfSwKCiAgZmluZENoaWxkRWxlbWVudHM6IGZ1bmN0aW9u
KGVsZW1lbnQsIGV4cHJlc3Npb25zKSB7CiAgICBleHByZXNzaW9ucyA9IFNlbGVj
dG9yLnNwbGl0KGV4cHJlc3Npb25zLmpvaW4oJywnKSk7CiAgICB2YXIgcmVzdWx0
cyA9IFtdLCBoID0gU2VsZWN0b3IuaGFuZGxlcnM7CiAgICBmb3IgKHZhciBpID0g
MCwgbCA9IGV4cHJlc3Npb25zLmxlbmd0aCwgc2VsZWN0b3I7IGkgPCBsOyBpKysp
IHsKICAgICAgc2VsZWN0b3IgPSBuZXcgU2VsZWN0b3IoZXhwcmVzc2lvbnNbaV0u
c3RyaXAoKSk7CiAgICAgIGguY29uY2F0KHJlc3VsdHMsIHNlbGVjdG9yLmZpbmRF
bGVtZW50cyhlbGVtZW50KSk7CiAgICB9CiAgICByZXR1cm4gKGwgPiAxKSA/IGgu
dW5pcXVlKHJlc3VsdHMpIDogcmVzdWx0czsKICB9Cn0pOwoKaWYgKFByb3RvdHlw
ZS5Ccm93c2VyLklFKSB7CiAgT2JqZWN0LmV4dGVuZChTZWxlY3Rvci5oYW5kbGVy
cywgewogICAgLy8gSUUgcmV0dXJucyBjb21tZW50IG5vZGVzIG9uIGdldEVsZW1l
bnRzQnlUYWdOYW1lKCIqIikuCiAgICAvLyBGaWx0ZXIgdGhlbSBvdXQuCiAgICBj
b25jYXQ6IGZ1bmN0aW9uKGEsIGIpIHsKICAgICAgZm9yICh2YXIgaSA9IDAsIG5v
ZGU7IG5vZGUgPSBiW2ldOyBpKyspCiAgICAgICAgaWYgKG5vZGUudGFnTmFtZSAh
PT0gIiEiKSBhLnB1c2gobm9kZSk7CiAgICAgIHJldHVybiBhOwogICAgfSwKCiAg
ICAvLyBJRSBpbXByb3Blcmx5IHNlcmlhbGl6ZXMgX2NvdW50ZWRCeVByb3RvdHlw
ZSBpbiAoaW5uZXJ8b3V0ZXIpSFRNTC4KICAgIHVubWFyazogZnVuY3Rpb24obm9k
ZXMpIHsKICAgICAgZm9yICh2YXIgaSA9IDAsIG5vZGU7IG5vZGUgPSBub2Rlc1tp
XTsgaSsrKQogICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKCdfY291bnRlZEJ5
UHJvdG90eXBlJyk7CiAgICAgIHJldHVybiBub2RlczsKICAgIH0KICB9KTsKfQoK
ZnVuY3Rpb24gJCQoKSB7CiAgcmV0dXJuIFNlbGVjdG9yLmZpbmRDaGlsZEVsZW1l
bnRzKGRvY3VtZW50LCAkQShhcmd1bWVudHMpKTsKfQp2YXIgRm9ybSA9IHsKICBy
ZXNldDogZnVuY3Rpb24oZm9ybSkgewogICAgJChmb3JtKS5yZXNldCgpOwogICAg
cmV0dXJuIGZvcm07CiAgfSwKCiAgc2VyaWFsaXplRWxlbWVudHM6IGZ1bmN0aW9u
KGVsZW1lbnRzLCBvcHRpb25zKSB7CiAgICBpZiAodHlwZW9mIG9wdGlvbnMgIT0g
J29iamVjdCcpIG9wdGlvbnMgPSB7IGhhc2g6ICEhb3B0aW9ucyB9OwogICAgZWxz
ZSBpZiAoT2JqZWN0LmlzVW5kZWZpbmVkKG9wdGlvbnMuaGFzaCkpIG9wdGlvbnMu
aGFzaCA9IHRydWU7CiAgICB2YXIga2V5LCB2YWx1ZSwgc3VibWl0dGVkID0gZmFs
c2UsIHN1Ym1pdCA9IG9wdGlvbnMuc3VibWl0OwoKICAgIHZhciBkYXRhID0gZWxl
bWVudHMuaW5qZWN0KHsgfSwgZnVuY3Rpb24ocmVzdWx0LCBlbGVtZW50KSB7CiAg
ICAgIGlmICghZWxlbWVudC5kaXNhYmxlZCAmJiBlbGVtZW50Lm5hbWUpIHsKICAg
ICAgICBrZXkgPSBlbGVtZW50Lm5hbWU7IHZhbHVlID0gJChlbGVtZW50KS5nZXRW
YWx1ZSgpOwogICAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIGVsZW1lbnQudHlw
ZSAhPSAnZmlsZScgJiYgKGVsZW1lbnQudHlwZSAhPSAnc3VibWl0JyB8fCAoIXN1
Ym1pdHRlZCAmJgogICAgICAgICAgICBzdWJtaXQgIT09IGZhbHNlICYmICghc3Vi
bWl0IHx8IGtleSA9PSBzdWJtaXQpICYmIChzdWJtaXR0ZWQgPSB0cnVlKSkpKSB7
CiAgICAgICAgICBpZiAoa2V5IGluIHJlc3VsdCkgewogICAgICAgICAgICAvLyBh
IGtleSBpcyBhbHJlYWR5IHByZXNlbnQ7IGNvbnN0cnVjdCBhbiBhcnJheSBvZiB2
YWx1ZXMKICAgICAgICAgICAgaWYgKCFPYmplY3QuaXNBcnJheShyZXN1bHRba2V5
XSkpIHJlc3VsdFtrZXldID0gW3Jlc3VsdFtrZXldXTsKICAgICAgICAgICAgcmVz
dWx0W2tleV0ucHVzaCh2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNl
IHJlc3VsdFtrZXldID0gdmFsdWU7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICB9KTsKCiAgICByZXR1cm4gb3B0aW9ucy5oYXNoID8g
ZGF0YSA6IE9iamVjdC50b1F1ZXJ5U3RyaW5nKGRhdGEpOwogIH0KfTsKCkZvcm0u
TWV0aG9kcyA9IHsKICBzZXJpYWxpemU6IGZ1bmN0aW9uKGZvcm0sIG9wdGlvbnMp
IHsKICAgIHJldHVybiBGb3JtLnNlcmlhbGl6ZUVsZW1lbnRzKEZvcm0uZ2V0RWxl
bWVudHMoZm9ybSksIG9wdGlvbnMpOwogIH0sCgogIGdldEVsZW1lbnRzOiBmdW5j
dGlvbihmb3JtKSB7CiAgICByZXR1cm4gJEEoJChmb3JtKS5nZXRFbGVtZW50c0J5
VGFnTmFtZSgnKicpKS5pbmplY3QoW10sCiAgICAgIGZ1bmN0aW9uKGVsZW1lbnRz
LCBjaGlsZCkgewogICAgICAgIGlmIChGb3JtLkVsZW1lbnQuU2VyaWFsaXplcnNb
Y2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpXSkKICAgICAgICAgIGVsZW1lbnRz
LnB1c2goRWxlbWVudC5leHRlbmQoY2hpbGQpKTsKICAgICAgICByZXR1cm4gZWxl
bWVudHM7CiAgICAgIH0KICAgICk7CiAgfSwKCiAgZ2V0SW5wdXRzOiBmdW5jdGlv
bihmb3JtLCB0eXBlTmFtZSwgbmFtZSkgewogICAgZm9ybSA9ICQoZm9ybSk7CiAg
ICB2YXIgaW5wdXRzID0gZm9ybS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQn
KTsKCiAgICBpZiAoIXR5cGVOYW1lICYmICFuYW1lKSByZXR1cm4gJEEoaW5wdXRz
KS5tYXAoRWxlbWVudC5leHRlbmQpOwoKICAgIGZvciAodmFyIGkgPSAwLCBtYXRj
aGluZ0lucHV0cyA9IFtdLCBsZW5ndGggPSBpbnB1dHMubGVuZ3RoOyBpIDwgbGVu
Z3RoOyBpKyspIHsKICAgICAgdmFyIGlucHV0ID0gaW5wdXRzW2ldOwogICAgICBp
ZiAoKHR5cGVOYW1lICYmIGlucHV0LnR5cGUgIT0gdHlwZU5hbWUpIHx8IChuYW1l
ICYmIGlucHV0Lm5hbWUgIT0gbmFtZSkpCiAgICAgICAgY29udGludWU7CiAgICAg
IG1hdGNoaW5nSW5wdXRzLnB1c2goRWxlbWVudC5leHRlbmQoaW5wdXQpKTsKICAg
IH0KCiAgICByZXR1cm4gbWF0Y2hpbmdJbnB1dHM7CiAgfSwKCiAgZGlzYWJsZTog
ZnVuY3Rpb24oZm9ybSkgewogICAgZm9ybSA9ICQoZm9ybSk7CiAgICBGb3JtLmdl
dEVsZW1lbnRzKGZvcm0pLmludm9rZSgnZGlzYWJsZScpOwogICAgcmV0dXJuIGZv
cm07CiAgfSwKCiAgZW5hYmxlOiBmdW5jdGlvbihmb3JtKSB7CiAgICBmb3JtID0g
JChmb3JtKTsKICAgIEZvcm0uZ2V0RWxlbWVudHMoZm9ybSkuaW52b2tlKCdlbmFi
bGUnKTsKICAgIHJldHVybiBmb3JtOwogIH0sCgogIGZpbmRGaXJzdEVsZW1lbnQ6
IGZ1bmN0aW9uKGZvcm0pIHsKICAgIHZhciBlbGVtZW50cyA9ICQoZm9ybSkuZ2V0
RWxlbWVudHMoKS5maW5kQWxsKGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICAgcmV0
dXJuICdoaWRkZW4nICE9IGVsZW1lbnQudHlwZSAmJiAhZWxlbWVudC5kaXNhYmxl
ZDsKICAgIH0pOwogICAgdmFyIGZpcnN0QnlJbmRleCA9IGVsZW1lbnRzLmZpbmRB
bGwoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICByZXR1cm4gZWxlbWVudC5oYXNB
dHRyaWJ1dGUoJ3RhYkluZGV4JykgJiYgZWxlbWVudC50YWJJbmRleCA+PSAwOwog
ICAgfSkuc29ydEJ5KGZ1bmN0aW9uKGVsZW1lbnQpIHsgcmV0dXJuIGVsZW1lbnQu
dGFiSW5kZXggfSkuZmlyc3QoKTsKCiAgICByZXR1cm4gZmlyc3RCeUluZGV4ID8g
Zmlyc3RCeUluZGV4IDogZWxlbWVudHMuZmluZChmdW5jdGlvbihlbGVtZW50KSB7
CiAgICAgIHJldHVybiBbJ2lucHV0JywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddLmlu
Y2x1ZGUoZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkpOwogICAgfSk7CiAg
fSwKCiAgZm9jdXNGaXJzdEVsZW1lbnQ6IGZ1bmN0aW9uKGZvcm0pIHsKICAgIGZv
cm0gPSAkKGZvcm0pOwogICAgZm9ybS5maW5kRmlyc3RFbGVtZW50KCkuYWN0aXZh
dGUoKTsKICAgIHJldHVybiBmb3JtOwogIH0sCgogIHJlcXVlc3Q6IGZ1bmN0aW9u
KGZvcm0sIG9wdGlvbnMpIHsKICAgIGZvcm0gPSAkKGZvcm0pLCBvcHRpb25zID0g
T2JqZWN0LmNsb25lKG9wdGlvbnMgfHwgeyB9KTsKCiAgICB2YXIgcGFyYW1zID0g
b3B0aW9ucy5wYXJhbWV0ZXJzLCBhY3Rpb24gPSBmb3JtLnJlYWRBdHRyaWJ1dGUo
J2FjdGlvbicpIHx8ICcnOwogICAgaWYgKGFjdGlvbi5ibGFuaygpKSBhY3Rpb24g
PSB3aW5kb3cubG9jYXRpb24uaHJlZjsKICAgIG9wdGlvbnMucGFyYW1ldGVycyA9
IGZvcm0uc2VyaWFsaXplKHRydWUpOwoKICAgIGlmIChwYXJhbXMpIHsKICAgICAg
aWYgKE9iamVjdC5pc1N0cmluZyhwYXJhbXMpKSBwYXJhbXMgPSBwYXJhbXMudG9R
dWVyeVBhcmFtcygpOwogICAgICBPYmplY3QuZXh0ZW5kKG9wdGlvbnMucGFyYW1l
dGVycywgcGFyYW1zKTsKICAgIH0KCiAgICBpZiAoZm9ybS5oYXNBdHRyaWJ1dGUo
J21ldGhvZCcpICYmICFvcHRpb25zLm1ldGhvZCkKICAgICAgb3B0aW9ucy5tZXRo
b2QgPSBmb3JtLm1ldGhvZDsKCiAgICByZXR1cm4gbmV3IEFqYXguUmVxdWVzdChh
Y3Rpb24sIG9wdGlvbnMpOwogIH0KfTsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0qLwoKRm9ybS5FbGVtZW50ID0gewogIGZvY3VzOiBmdW5jdGlvbihlbGVt
ZW50KSB7CiAgICAkKGVsZW1lbnQpLmZvY3VzKCk7CiAgICByZXR1cm4gZWxlbWVu
dDsKICB9LAoKICBzZWxlY3Q6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICQoZWxl
bWVudCkuc2VsZWN0KCk7CiAgICByZXR1cm4gZWxlbWVudDsKICB9Cn07CgpGb3Jt
LkVsZW1lbnQuTWV0aG9kcyA9IHsKICBzZXJpYWxpemU6IGZ1bmN0aW9uKGVsZW1l
bnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgaWYgKCFlbGVtZW50
LmRpc2FibGVkICYmIGVsZW1lbnQubmFtZSkgewogICAgICB2YXIgdmFsdWUgPSBl
bGVtZW50LmdldFZhbHVlKCk7CiAgICAgIGlmICh2YWx1ZSAhPSB1bmRlZmluZWQp
IHsKICAgICAgICB2YXIgcGFpciA9IHsgfTsKICAgICAgICBwYWlyW2VsZW1lbnQu
bmFtZV0gPSB2YWx1ZTsKICAgICAgICByZXR1cm4gT2JqZWN0LnRvUXVlcnlTdHJp
bmcocGFpcik7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiAnJzsKICB9LAoKICBn
ZXRWYWx1ZTogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxlbWVudCA9ICQoZWxl
bWVudCk7CiAgICB2YXIgbWV0aG9kID0gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJD
YXNlKCk7CiAgICByZXR1cm4gRm9ybS5FbGVtZW50LlNlcmlhbGl6ZXJzW21ldGhv
ZF0oZWxlbWVudCk7CiAgfSwKCiAgc2V0VmFsdWU6IGZ1bmN0aW9uKGVsZW1lbnQs
IHZhbHVlKSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIHZhciBtZXRo
b2QgPSBlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKTsKICAgIEZvcm0uRWxl
bWVudC5TZXJpYWxpemVyc1ttZXRob2RdKGVsZW1lbnQsIHZhbHVlKTsKICAgIHJl
dHVybiBlbGVtZW50OwogIH0sCgogIGNsZWFyOiBmdW5jdGlvbihlbGVtZW50KSB7
CiAgICAkKGVsZW1lbnQpLnZhbHVlID0gJyc7CiAgICByZXR1cm4gZWxlbWVudDsK
ICB9LAoKICBwcmVzZW50OiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICByZXR1cm4g
JChlbGVtZW50KS52YWx1ZSAhPSAnJzsKICB9LAoKICBhY3RpdmF0ZTogZnVuY3Rp
b24oZWxlbWVudCkgewogICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICB0cnkg
ewogICAgICBlbGVtZW50LmZvY3VzKCk7CiAgICAgIGlmIChlbGVtZW50LnNlbGVj
dCAmJiAoZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gJ2lucHV0JyB8
fAogICAgICAgICAgIVsnYnV0dG9uJywgJ3Jlc2V0JywgJ3N1Ym1pdCddLmluY2x1
ZGUoZWxlbWVudC50eXBlKSkpCiAgICAgICAgZWxlbWVudC5zZWxlY3QoKTsKICAg
IH0gY2F0Y2ggKGUpIHsgfQogICAgcmV0dXJuIGVsZW1lbnQ7CiAgfSwKCiAgZGlz
YWJsZTogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxlbWVudCA9ICQoZWxlbWVu
dCk7CiAgICBlbGVtZW50LmRpc2FibGVkID0gdHJ1ZTsKICAgIHJldHVybiBlbGVt
ZW50OwogIH0sCgogIGVuYWJsZTogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxl
bWVudCA9ICQoZWxlbWVudCk7CiAgICBlbGVtZW50LmRpc2FibGVkID0gZmFsc2U7
CiAgICByZXR1cm4gZWxlbWVudDsKICB9Cn07CgovKi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKi8KCnZhciBGaWVsZCA9IEZvcm0uRWxlbWVudDsKdmFyICRGID0g
Rm9ybS5FbGVtZW50Lk1ldGhvZHMuZ2V0VmFsdWU7CgovKi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tKi8KCkZvcm0uRWxlbWVudC5TZXJpYWxpemVycyA9IHsKICBp
bnB1dDogZnVuY3Rpb24oZWxlbWVudCwgdmFsdWUpIHsKICAgIHN3aXRjaCAoZWxl
bWVudC50eXBlLnRvTG93ZXJDYXNlKCkpIHsKICAgICAgY2FzZSAnY2hlY2tib3gn
OgogICAgICBjYXNlICdyYWRpbyc6CiAgICAgICAgcmV0dXJuIEZvcm0uRWxlbWVu
dC5TZXJpYWxpemVycy5pbnB1dFNlbGVjdG9yKGVsZW1lbnQsIHZhbHVlKTsKICAg
ICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gRm9ybS5FbGVtZW50LlNlcmlhbGl6
ZXJzLnRleHRhcmVhKGVsZW1lbnQsIHZhbHVlKTsKICAgIH0KICB9LAoKICBpbnB1
dFNlbGVjdG9yOiBmdW5jdGlvbihlbGVtZW50LCB2YWx1ZSkgewogICAgaWYgKE9i
amVjdC5pc1VuZGVmaW5lZCh2YWx1ZSkpIHJldHVybiBlbGVtZW50LmNoZWNrZWQg
PyBlbGVtZW50LnZhbHVlIDogbnVsbDsKICAgIGVsc2UgZWxlbWVudC5jaGVja2Vk
ID0gISF2YWx1ZTsKICB9LAoKICB0ZXh0YXJlYTogZnVuY3Rpb24oZWxlbWVudCwg
dmFsdWUpIHsKICAgIGlmIChPYmplY3QuaXNVbmRlZmluZWQodmFsdWUpKSByZXR1
cm4gZWxlbWVudC52YWx1ZTsKICAgIGVsc2UgZWxlbWVudC52YWx1ZSA9IHZhbHVl
OwogIH0sCgogIHNlbGVjdDogZnVuY3Rpb24oZWxlbWVudCwgdmFsdWUpIHsKICAg
IGlmIChPYmplY3QuaXNVbmRlZmluZWQodmFsdWUpKQogICAgICByZXR1cm4gdGhp
c1tlbGVtZW50LnR5cGUgPT0gJ3NlbGVjdC1vbmUnID8KICAgICAgICAnc2VsZWN0
T25lJyA6ICdzZWxlY3RNYW55J10oZWxlbWVudCk7CiAgICBlbHNlIHsKICAgICAg
dmFyIG9wdCwgY3VycmVudFZhbHVlLCBzaW5nbGUgPSAhT2JqZWN0LmlzQXJyYXko
dmFsdWUpOwogICAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gZWxlbWVudC5s
ZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgIG9wdCA9IGVsZW1lbnQu
b3B0aW9uc1tpXTsKICAgICAgICBjdXJyZW50VmFsdWUgPSB0aGlzLm9wdGlvblZh
bHVlKG9wdCk7CiAgICAgICAgaWYgKHNpbmdsZSkgewogICAgICAgICAgaWYgKGN1
cnJlbnRWYWx1ZSA9PSB2YWx1ZSkgewogICAgICAgICAgICBvcHQuc2VsZWN0ZWQg
PSB0cnVlOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAg
fQogICAgICAgIGVsc2Ugb3B0LnNlbGVjdGVkID0gdmFsdWUuaW5jbHVkZShjdXJy
ZW50VmFsdWUpOwogICAgICB9CiAgICB9CiAgfSwKCiAgc2VsZWN0T25lOiBmdW5j
dGlvbihlbGVtZW50KSB7CiAgICB2YXIgaW5kZXggPSBlbGVtZW50LnNlbGVjdGVk
SW5kZXg7CiAgICByZXR1cm4gaW5kZXggPj0gMCA/IHRoaXMub3B0aW9uVmFsdWUo
ZWxlbWVudC5vcHRpb25zW2luZGV4XSkgOiBudWxsOwogIH0sCgogIHNlbGVjdE1h
bnk6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHZhciB2YWx1ZXMsIGxlbmd0aCA9
IGVsZW1lbnQubGVuZ3RoOwogICAgaWYgKCFsZW5ndGgpIHJldHVybiBudWxsOwoK
ICAgIGZvciAodmFyIGkgPSAwLCB2YWx1ZXMgPSBbXTsgaSA8IGxlbmd0aDsgaSsr
KSB7CiAgICAgIHZhciBvcHQgPSBlbGVtZW50Lm9wdGlvbnNbaV07CiAgICAgIGlm
IChvcHQuc2VsZWN0ZWQpIHZhbHVlcy5wdXNoKHRoaXMub3B0aW9uVmFsdWUob3B0
KSk7CiAgICB9CiAgICByZXR1cm4gdmFsdWVzOwogIH0sCgogIG9wdGlvblZhbHVl
OiBmdW5jdGlvbihvcHQpIHsKICAgIC8vIGV4dGVuZCBlbGVtZW50IGJlY2F1c2Ug
aGFzQXR0cmlidXRlIG1heSBub3QgYmUgbmF0aXZlCiAgICByZXR1cm4gRWxlbWVu
dC5leHRlbmQob3B0KS5oYXNBdHRyaWJ1dGUoJ3ZhbHVlJykgPyBvcHQudmFsdWUg
OiBvcHQudGV4dDsKICB9Cn07CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ki8KCkFic3RyYWN0LlRpbWVkT2JzZXJ2ZXIgPSBDbGFzcy5jcmVhdGUoUGVyaW9k
aWNhbEV4ZWN1dGVyLCB7CiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oJHN1cGVyLCBl
bGVtZW50LCBmcmVxdWVuY3ksIGNhbGxiYWNrKSB7CiAgICAkc3VwZXIoY2FsbGJh
Y2ssIGZyZXF1ZW5jeSk7CiAgICB0aGlzLmVsZW1lbnQgICA9ICQoZWxlbWVudCk7
CiAgICB0aGlzLmxhc3RWYWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTsKICB9LAoKICBl
eGVjdXRlOiBmdW5jdGlvbigpIHsKICAgIHZhciB2YWx1ZSA9IHRoaXMuZ2V0VmFs
dWUoKTsKICAgIGlmIChPYmplY3QuaXNTdHJpbmcodGhpcy5sYXN0VmFsdWUpICYm
IE9iamVjdC5pc1N0cmluZyh2YWx1ZSkgPwogICAgICAgIHRoaXMubGFzdFZhbHVl
ICE9IHZhbHVlIDogU3RyaW5nKHRoaXMubGFzdFZhbHVlKSAhPSBTdHJpbmcodmFs
dWUpKSB7CiAgICAgIHRoaXMuY2FsbGJhY2sodGhpcy5lbGVtZW50LCB2YWx1ZSk7
CiAgICAgIHRoaXMubGFzdFZhbHVlID0gdmFsdWU7CiAgICB9CiAgfQp9KTsKCkZv
cm0uRWxlbWVudC5PYnNlcnZlciA9IENsYXNzLmNyZWF0ZShBYnN0cmFjdC5UaW1l
ZE9ic2VydmVyLCB7CiAgZ2V0VmFsdWU6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJu
IEZvcm0uRWxlbWVudC5nZXRWYWx1ZSh0aGlzLmVsZW1lbnQpOwogIH0KfSk7CgpG
b3JtLk9ic2VydmVyID0gQ2xhc3MuY3JlYXRlKEFic3RyYWN0LlRpbWVkT2JzZXJ2
ZXIsIHsKICBnZXRWYWx1ZTogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gRm9ybS5z
ZXJpYWxpemUodGhpcy5lbGVtZW50KTsKICB9Cn0pOwoKLyotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSovCgpBYnN0cmFjdC5FdmVudE9ic2VydmVyID0gQ2xhc3Mu
Y3JlYXRlKHsKICBpbml0aWFsaXplOiBmdW5jdGlvbihlbGVtZW50LCBjYWxsYmFj
aykgewogICAgdGhpcy5lbGVtZW50ICA9ICQoZWxlbWVudCk7CiAgICB0aGlzLmNh
bGxiYWNrID0gY2FsbGJhY2s7CgogICAgdGhpcy5sYXN0VmFsdWUgPSB0aGlzLmdl
dFZhbHVlKCk7CiAgICBpZiAodGhpcy5lbGVtZW50LnRhZ05hbWUudG9Mb3dlckNh
c2UoKSA9PSAnZm9ybScpCiAgICAgIHRoaXMucmVnaXN0ZXJGb3JtQ2FsbGJhY2tz
KCk7CiAgICBlbHNlCiAgICAgIHRoaXMucmVnaXN0ZXJDYWxsYmFjayh0aGlzLmVs
ZW1lbnQpOwogIH0sCgogIG9uRWxlbWVudEV2ZW50OiBmdW5jdGlvbigpIHsKICAg
IHZhciB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTsKICAgIGlmICh0aGlzLmxhc3RW
YWx1ZSAhPSB2YWx1ZSkgewogICAgICB0aGlzLmNhbGxiYWNrKHRoaXMuZWxlbWVu
dCwgdmFsdWUpOwogICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlOwogICAgfQog
IH0sCgogIHJlZ2lzdGVyRm9ybUNhbGxiYWNrczogZnVuY3Rpb24oKSB7CiAgICBG
b3JtLmdldEVsZW1lbnRzKHRoaXMuZWxlbWVudCkuZWFjaCh0aGlzLnJlZ2lzdGVy
Q2FsbGJhY2ssIHRoaXMpOwogIH0sCgogIHJlZ2lzdGVyQ2FsbGJhY2s6IGZ1bmN0
aW9uKGVsZW1lbnQpIHsKICAgIGlmIChlbGVtZW50LnR5cGUpIHsKICAgICAgc3dp
dGNoIChlbGVtZW50LnR5cGUudG9Mb3dlckNhc2UoKSkgewogICAgICAgIGNhc2Ug
J2NoZWNrYm94JzoKICAgICAgICBjYXNlICdyYWRpbyc6CiAgICAgICAgICBFdmVu
dC5vYnNlcnZlKGVsZW1lbnQsICdjbGljaycsIHRoaXMub25FbGVtZW50RXZlbnQu
YmluZCh0aGlzKSk7CiAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0Ogog
ICAgICAgICAgRXZlbnQub2JzZXJ2ZShlbGVtZW50LCAnY2hhbmdlJywgdGhpcy5v
bkVsZW1lbnRFdmVudC5iaW5kKHRoaXMpKTsKICAgICAgICAgIGJyZWFrOwogICAg
ICB9CiAgICB9CiAgfQp9KTsKCkZvcm0uRWxlbWVudC5FdmVudE9ic2VydmVyID0g
Q2xhc3MuY3JlYXRlKEFic3RyYWN0LkV2ZW50T2JzZXJ2ZXIsIHsKICBnZXRWYWx1
ZTogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gRm9ybS5FbGVtZW50LmdldFZhbHVl
KHRoaXMuZWxlbWVudCk7CiAgfQp9KTsKCkZvcm0uRXZlbnRPYnNlcnZlciA9IENs
YXNzLmNyZWF0ZShBYnN0cmFjdC5FdmVudE9ic2VydmVyLCB7CiAgZ2V0VmFsdWU6
IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIEZvcm0uc2VyaWFsaXplKHRoaXMuZWxl
bWVudCk7CiAgfQp9KTsKaWYgKCF3aW5kb3cuRXZlbnQpIHZhciBFdmVudCA9IHsg
fTsKCk9iamVjdC5leHRlbmQoRXZlbnQsIHsKICBLRVlfQkFDS1NQQUNFOiA4LAog
IEtFWV9UQUI6ICAgICAgIDksCiAgS0VZX1JFVFVSTjogICAxMywKICBLRVlfRVND
OiAgICAgIDI3LAogIEtFWV9MRUZUOiAgICAgMzcsCiAgS0VZX1VQOiAgICAgICAz
OCwKICBLRVlfUklHSFQ6ICAgIDM5LAogIEtFWV9ET1dOOiAgICAgNDAsCiAgS0VZ
X0RFTEVURTogICA0NiwKICBLRVlfSE9NRTogICAgIDM2LAogIEtFWV9FTkQ6ICAg
ICAgMzUsCiAgS0VZX1BBR0VVUDogICAzMywKICBLRVlfUEFHRURPV046IDM0LAog
IEtFWV9JTlNFUlQ6ICAgNDUsCgogIGNhY2hlOiB7IH0sCgogIHJlbGF0ZWRUYXJn
ZXQ6IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICB2YXIgZWxlbWVudDsKICAgIHN3aXRj
aChldmVudC50eXBlKSB7CiAgICAgIGNhc2UgJ21vdXNlb3Zlcic6IGVsZW1lbnQg
PSBldmVudC5mcm9tRWxlbWVudDsgYnJlYWs7CiAgICAgIGNhc2UgJ21vdXNlb3V0
JzogIGVsZW1lbnQgPSBldmVudC50b0VsZW1lbnQ7ICAgYnJlYWs7CiAgICAgIGRl
ZmF1bHQ6IHJldHVybiBudWxsOwogICAgfQogICAgcmV0dXJuIEVsZW1lbnQuZXh0
ZW5kKGVsZW1lbnQpOwogIH0KfSk7CgpFdmVudC5NZXRob2RzID0gKGZ1bmN0aW9u
KCkgewogIHZhciBpc0J1dHRvbjsKCiAgaWYgKFByb3RvdHlwZS5Ccm93c2VyLklF
KSB7CiAgICB2YXIgYnV0dG9uTWFwID0geyAwOiAxLCAxOiA0LCAyOiAyIH07CiAg
ICBpc0J1dHRvbiA9IGZ1bmN0aW9uKGV2ZW50LCBjb2RlKSB7CiAgICAgIHJldHVy
biBldmVudC5idXR0b24gPT0gYnV0dG9uTWFwW2NvZGVdOwogICAgfTsKCiAgfSBl
bHNlIGlmIChQcm90b3R5cGUuQnJvd3Nlci5XZWJLaXQpIHsKICAgIGlzQnV0dG9u
ID0gZnVuY3Rpb24oZXZlbnQsIGNvZGUpIHsKICAgICAgc3dpdGNoIChjb2RlKSB7
CiAgICAgICAgY2FzZSAwOiByZXR1cm4gZXZlbnQud2hpY2ggPT0gMSAmJiAhZXZl
bnQubWV0YUtleTsKICAgICAgICBjYXNlIDE6IHJldHVybiBldmVudC53aGljaCA9
PSAxICYmIGV2ZW50Lm1ldGFLZXk7CiAgICAgICAgZGVmYXVsdDogcmV0dXJuIGZh
bHNlOwogICAgICB9CiAgICB9OwoKICB9IGVsc2UgewogICAgaXNCdXR0b24gPSBm
dW5jdGlvbihldmVudCwgY29kZSkgewogICAgICByZXR1cm4gZXZlbnQud2hpY2gg
PyAoZXZlbnQud2hpY2ggPT09IGNvZGUgKyAxKSA6IChldmVudC5idXR0b24gPT09
IGNvZGUpOwogICAgfTsKICB9CgogIHJldHVybiB7CiAgICBpc0xlZnRDbGljazog
ICBmdW5jdGlvbihldmVudCkgeyByZXR1cm4gaXNCdXR0b24oZXZlbnQsIDApIH0s
CiAgICBpc01pZGRsZUNsaWNrOiBmdW5jdGlvbihldmVudCkgeyByZXR1cm4gaXNC
dXR0b24oZXZlbnQsIDEpIH0sCiAgICBpc1JpZ2h0Q2xpY2s6ICBmdW5jdGlvbihl
dmVudCkgeyByZXR1cm4gaXNCdXR0b24oZXZlbnQsIDIpIH0sCgogICAgZWxlbWVu
dDogZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgZXZlbnQgPSBFdmVudC5leHRlbmQo
ZXZlbnQpOwoKICAgICAgdmFyIG5vZGUgICAgICAgICAgPSBldmVudC50YXJnZXQs
CiAgICAgICAgICB0eXBlICAgICAgICAgID0gZXZlbnQudHlwZSwKICAgICAgICAg
IGN1cnJlbnRUYXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0OwoKICAgICAgaWYg
KGN1cnJlbnRUYXJnZXQgJiYgY3VycmVudFRhcmdldC50YWdOYW1lKSB7CiAgICAg
ICAgLy8gRmlyZWZveCBzY3Jld3MgdXAgdGhlICJjbGljayIgZXZlbnQgd2hlbiBt
b3ZpbmcgYmV0d2VlbiByYWRpbyBidXR0b25zCiAgICAgICAgLy8gdmlhIGFycm93
IGtleXMuIEl0IGFsc28gc2NyZXdzIHVwIHRoZSAibG9hZCIgYW5kICJlcnJvciIg
ZXZlbnRzIG9uIGltYWdlcywKICAgICAgICAvLyByZXBvcnRpbmcgdGhlIGRvY3Vt
ZW50IGFzIHRoZSB0YXJnZXQgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgaW1hZ2Uu
CiAgICAgICAgaWYgKHR5cGUgPT09ICdsb2FkJyB8fCB0eXBlID09PSAnZXJyb3In
IHx8CiAgICAgICAgICAodHlwZSA9PT0gJ2NsaWNrJyAmJiBjdXJyZW50VGFyZ2V0
LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lucHV0JwogICAgICAgICAgICAm
JiBjdXJyZW50VGFyZ2V0LnR5cGUgPT09ICdyYWRpbycpKQogICAgICAgICAgICAg
IG5vZGUgPSBjdXJyZW50VGFyZ2V0OwogICAgICB9CiAgICAgIGlmIChub2RlLm5v
ZGVUeXBlID09IE5vZGUuVEVYVF9OT0RFKSBub2RlID0gbm9kZS5wYXJlbnROb2Rl
OwogICAgICByZXR1cm4gRWxlbWVudC5leHRlbmQobm9kZSk7CiAgICB9LAoKICAg
IGZpbmRFbGVtZW50OiBmdW5jdGlvbihldmVudCwgZXhwcmVzc2lvbikgewogICAg
ICB2YXIgZWxlbWVudCA9IEV2ZW50LmVsZW1lbnQoZXZlbnQpOwogICAgICBpZiAo
IWV4cHJlc3Npb24pIHJldHVybiBlbGVtZW50OwogICAgICB2YXIgZWxlbWVudHMg
PSBbZWxlbWVudF0uY29uY2F0KGVsZW1lbnQuYW5jZXN0b3JzKCkpOwogICAgICBy
ZXR1cm4gU2VsZWN0b3IuZmluZEVsZW1lbnQoZWxlbWVudHMsIGV4cHJlc3Npb24s
IDApOwogICAgfSwKCiAgICBwb2ludGVyOiBmdW5jdGlvbihldmVudCkgewogICAg
ICB2YXIgZG9jRWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwKICAg
ICAgYm9keSA9IGRvY3VtZW50LmJvZHkgfHwgeyBzY3JvbGxMZWZ0OiAwLCBzY3Jv
bGxUb3A6IDAgfTsKICAgICAgcmV0dXJuIHsKICAgICAgICB4OiBldmVudC5wYWdl
WCB8fCAoZXZlbnQuY2xpZW50WCArCiAgICAgICAgICAoZG9jRWxlbWVudC5zY3Jv
bGxMZWZ0IHx8IGJvZHkuc2Nyb2xsTGVmdCkgLQogICAgICAgICAgKGRvY0VsZW1l
bnQuY2xpZW50TGVmdCB8fCAwKSksCiAgICAgICAgeTogZXZlbnQucGFnZVkgfHwg
KGV2ZW50LmNsaWVudFkgKwogICAgICAgICAgKGRvY0VsZW1lbnQuc2Nyb2xsVG9w
IHx8IGJvZHkuc2Nyb2xsVG9wKSAtCiAgICAgICAgICAoZG9jRWxlbWVudC5jbGll
bnRUb3AgfHwgMCkpCiAgICAgIH07CiAgICB9LAoKICAgIHBvaW50ZXJYOiBmdW5j
dGlvbihldmVudCkgeyByZXR1cm4gRXZlbnQucG9pbnRlcihldmVudCkueCB9LAog
ICAgcG9pbnRlclk6IGZ1bmN0aW9uKGV2ZW50KSB7IHJldHVybiBFdmVudC5wb2lu
dGVyKGV2ZW50KS55IH0sCgogICAgc3RvcDogZnVuY3Rpb24oZXZlbnQpIHsKICAg
ICAgRXZlbnQuZXh0ZW5kKGV2ZW50KTsKICAgICAgZXZlbnQucHJldmVudERlZmF1
bHQoKTsKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIGV2ZW50
LnN0b3BwZWQgPSB0cnVlOwogICAgfQogIH07Cn0pKCk7CgpFdmVudC5leHRlbmQg
PSAoZnVuY3Rpb24oKSB7CiAgdmFyIG1ldGhvZHMgPSBPYmplY3Qua2V5cyhFdmVu
dC5NZXRob2RzKS5pbmplY3QoeyB9LCBmdW5jdGlvbihtLCBuYW1lKSB7CiAgICBt
W25hbWVdID0gRXZlbnQuTWV0aG9kc1tuYW1lXS5tZXRob2RpemUoKTsKICAgIHJl
dHVybiBtOwogIH0pOwoKICBpZiAoUHJvdG90eXBlLkJyb3dzZXIuSUUpIHsKICAg
IE9iamVjdC5leHRlbmQobWV0aG9kcywgewogICAgICBzdG9wUHJvcGFnYXRpb246
IGZ1bmN0aW9uKCkgeyB0aGlzLmNhbmNlbEJ1YmJsZSA9IHRydWUgfSwKICAgICAg
cHJldmVudERlZmF1bHQ6ICBmdW5jdGlvbigpIHsgdGhpcy5yZXR1cm5WYWx1ZSA9
IGZhbHNlIH0sCiAgICAgIGluc3BlY3Q6IGZ1bmN0aW9uKCkgeyByZXR1cm4gIltv
YmplY3QgRXZlbnRdIiB9CiAgICB9KTsKCiAgICByZXR1cm4gZnVuY3Rpb24oZXZl
bnQpIHsKICAgICAgaWYgKCFldmVudCkgcmV0dXJuIGZhbHNlOwogICAgICBpZiAo
ZXZlbnQuX2V4dGVuZGVkQnlQcm90b3R5cGUpIHJldHVybiBldmVudDsKCiAgICAg
IGV2ZW50Ll9leHRlbmRlZEJ5UHJvdG90eXBlID0gUHJvdG90eXBlLmVtcHR5RnVu
Y3Rpb247CiAgICAgIHZhciBwb2ludGVyID0gRXZlbnQucG9pbnRlcihldmVudCk7
CiAgICAgIE9iamVjdC5leHRlbmQoZXZlbnQsIHsKICAgICAgICB0YXJnZXQ6IGV2
ZW50LnNyY0VsZW1lbnQsCiAgICAgICAgcmVsYXRlZFRhcmdldDogRXZlbnQucmVs
YXRlZFRhcmdldChldmVudCksCiAgICAgICAgcGFnZVg6ICBwb2ludGVyLngsCiAg
ICAgICAgcGFnZVk6ICBwb2ludGVyLnkKICAgICAgfSk7CiAgICAgIHJldHVybiBP
YmplY3QuZXh0ZW5kKGV2ZW50LCBtZXRob2RzKTsKICAgIH07CgogIH0gZWxzZSB7
CiAgICBFdmVudC5wcm90b3R5cGUgPSBFdmVudC5wcm90b3R5cGUgfHwgZG9jdW1l
bnQuY3JlYXRlRXZlbnQoIkhUTUxFdmVudHMiKVsnX19wcm90b19fJ107CiAgICBP
YmplY3QuZXh0ZW5kKEV2ZW50LnByb3RvdHlwZSwgbWV0aG9kcyk7CiAgICByZXR1
cm4gUHJvdG90eXBlLks7CiAgfQp9KSgpOwoKT2JqZWN0LmV4dGVuZChFdmVudCwg
KGZ1bmN0aW9uKCkgewogIHZhciBjYWNoZSA9IEV2ZW50LmNhY2hlOwoKICBmdW5j
dGlvbiBnZXRFdmVudElEKGVsZW1lbnQpIHsKICAgIGlmIChlbGVtZW50Ll9wcm90
b3R5cGVFdmVudElEKSByZXR1cm4gZWxlbWVudC5fcHJvdG90eXBlRXZlbnRJRFsw
XTsKICAgIGFyZ3VtZW50cy5jYWxsZWUuaWQgPSBhcmd1bWVudHMuY2FsbGVlLmlk
IHx8IDE7CiAgICByZXR1cm4gZWxlbWVudC5fcHJvdG90eXBlRXZlbnRJRCA9IFsr
K2FyZ3VtZW50cy5jYWxsZWUuaWRdOwogIH0KCiAgZnVuY3Rpb24gZ2V0RE9NRXZl
bnROYW1lKGV2ZW50TmFtZSkgewogICAgaWYgKGV2ZW50TmFtZSAmJiBldmVudE5h
bWUuaW5jbHVkZSgnOicpKSByZXR1cm4gImRhdGFhdmFpbGFibGUiOwogICAgcmV0
dXJuIGV2ZW50TmFtZTsKICB9CgogIGZ1bmN0aW9uIGdldENhY2hlRm9ySUQoaWQp
IHsKICAgIHJldHVybiBjYWNoZVtpZF0gPSBjYWNoZVtpZF0gfHwgeyB9OwogIH0K
CiAgZnVuY3Rpb24gZ2V0V3JhcHBlcnNGb3JFdmVudE5hbWUoaWQsIGV2ZW50TmFt
ZSkgewogICAgdmFyIGMgPSBnZXRDYWNoZUZvcklEKGlkKTsKICAgIHJldHVybiBj
W2V2ZW50TmFtZV0gPSBjW2V2ZW50TmFtZV0gfHwgW107CiAgfQoKICBmdW5jdGlv
biBjcmVhdGVXcmFwcGVyKGVsZW1lbnQsIGV2ZW50TmFtZSwgaGFuZGxlcikgewog
ICAgdmFyIGlkID0gZ2V0RXZlbnRJRChlbGVtZW50KTsKICAgIHZhciBjID0gZ2V0
V3JhcHBlcnNGb3JFdmVudE5hbWUoaWQsIGV2ZW50TmFtZSk7CiAgICBpZiAoYy5w
bHVjaygiaGFuZGxlciIpLmluY2x1ZGUoaGFuZGxlcikpIHJldHVybiBmYWxzZTsK
CiAgICB2YXIgd3JhcHBlciA9IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgIGlmICgh
RXZlbnQgfHwgIUV2ZW50LmV4dGVuZCB8fAogICAgICAgIChldmVudC5ldmVudE5h
bWUgJiYgZXZlbnQuZXZlbnROYW1lICE9IGV2ZW50TmFtZSkpCiAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CgogICAgICBFdmVudC5leHRlbmQoZXZlbnQpOwogICAgICBo
YW5kbGVyLmNhbGwoZWxlbWVudCwgZXZlbnQpOwogICAgfTsKCiAgICB3cmFwcGVy
LmhhbmRsZXIgPSBoYW5kbGVyOwogICAgYy5wdXNoKHdyYXBwZXIpOwogICAgcmV0
dXJuIHdyYXBwZXI7CiAgfQoKICBmdW5jdGlvbiBmaW5kV3JhcHBlcihpZCwgZXZl
bnROYW1lLCBoYW5kbGVyKSB7CiAgICB2YXIgYyA9IGdldFdyYXBwZXJzRm9yRXZl
bnROYW1lKGlkLCBldmVudE5hbWUpOwogICAgcmV0dXJuIGMuZmluZChmdW5jdGlv
bih3cmFwcGVyKSB7IHJldHVybiB3cmFwcGVyLmhhbmRsZXIgPT0gaGFuZGxlciB9
KTsKICB9CgogIGZ1bmN0aW9uIGRlc3Ryb3lXcmFwcGVyKGlkLCBldmVudE5hbWUs
IGhhbmRsZXIpIHsKICAgIHZhciBjID0gZ2V0Q2FjaGVGb3JJRChpZCk7CiAgICBp
ZiAoIWNbZXZlbnROYW1lXSkgcmV0dXJuIGZhbHNlOwogICAgY1tldmVudE5hbWVd
ID0gY1tldmVudE5hbWVdLndpdGhvdXQoZmluZFdyYXBwZXIoaWQsIGV2ZW50TmFt
ZSwgaGFuZGxlcikpOwogIH0KCiAgZnVuY3Rpb24gZGVzdHJveUNhY2hlKCkgewog
ICAgZm9yICh2YXIgaWQgaW4gY2FjaGUpCiAgICAgIGZvciAodmFyIGV2ZW50TmFt
ZSBpbiBjYWNoZVtpZF0pCiAgICAgICAgY2FjaGVbaWRdW2V2ZW50TmFtZV0gPSBu
dWxsOwogIH0KCgogIC8vIEludGVybmV0IEV4cGxvcmVyIG5lZWRzIHRvIHJlbW92
ZSBldmVudCBoYW5kbGVycyBvbiBwYWdlIHVubG9hZAogIC8vIGluIG9yZGVyIHRv
IGF2b2lkIG1lbW9yeSBsZWFrcy4KICBpZiAod2luZG93LmF0dGFjaEV2ZW50KSB7
CiAgICB3aW5kb3cuYXR0YWNoRXZlbnQoIm9udW5sb2FkIiwgZGVzdHJveUNhY2hl
KTsKICB9CgogIC8vIFNhZmFyaSBoYXMgYSBkdW1teSBldmVudCBoYW5kbGVyIG9u
IHBhZ2UgdW5sb2FkIHNvIHRoYXQgaXQgd29uJ3QKICAvLyB1c2UgaXRzIGJmY2Fj
aGUuIFNhZmFyaSA8PSAzLjEgaGFzIGFuIGlzc3VlIHdpdGggcmVzdG9yaW5nIHRo
ZSAiZG9jdW1lbnQiCiAgLy8gb2JqZWN0IHdoZW4gcGFnZSBpcyByZXR1cm5lZCB0
byB2aWEgdGhlIGJhY2sgYnV0dG9uIHVzaW5nIGl0cyBiZmNhY2hlLgogIGlmIChQ
cm90b3R5cGUuQnJvd3Nlci5XZWJLaXQpIHsKICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCd1bmxvYWQnLCBQcm90b3R5cGUuZW1wdHlGdW5jdGlvbiwgZmFsc2Up
OwogIH0KCiAgcmV0dXJuIHsKICAgIG9ic2VydmU6IGZ1bmN0aW9uKGVsZW1lbnQs
IGV2ZW50TmFtZSwgaGFuZGxlcikgewogICAgICBlbGVtZW50ID0gJChlbGVtZW50
KTsKICAgICAgdmFyIG5hbWUgPSBnZXRET01FdmVudE5hbWUoZXZlbnROYW1lKTsK
CiAgICAgIHZhciB3cmFwcGVyID0gY3JlYXRlV3JhcHBlcihlbGVtZW50LCBldmVu
dE5hbWUsIGhhbmRsZXIpOwogICAgICBpZiAoIXdyYXBwZXIpIHJldHVybiBlbGVt
ZW50OwoKICAgICAgaWYgKGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikgewogICAg
ICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihuYW1lLCB3cmFwcGVyLCBmYWxz
ZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZWxlbWVudC5hdHRhY2hFdmVudCgi
b24iICsgbmFtZSwgd3JhcHBlcik7CiAgICAgIH0KCiAgICAgIHJldHVybiBlbGVt
ZW50OwogICAgfSwKCiAgICBzdG9wT2JzZXJ2aW5nOiBmdW5jdGlvbihlbGVtZW50
LCBldmVudE5hbWUsIGhhbmRsZXIpIHsKICAgICAgZWxlbWVudCA9ICQoZWxlbWVu
dCk7CiAgICAgIHZhciBpZCA9IGdldEV2ZW50SUQoZWxlbWVudCksIG5hbWUgPSBn
ZXRET01FdmVudE5hbWUoZXZlbnROYW1lKTsKCiAgICAgIGlmICghaGFuZGxlciAm
JiBldmVudE5hbWUpIHsKICAgICAgICBnZXRXcmFwcGVyc0ZvckV2ZW50TmFtZShp
ZCwgZXZlbnROYW1lKS5lYWNoKGZ1bmN0aW9uKHdyYXBwZXIpIHsKICAgICAgICAg
IGVsZW1lbnQuc3RvcE9ic2VydmluZyhldmVudE5hbWUsIHdyYXBwZXIuaGFuZGxl
cik7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIGVsZW1lbnQ7CgogICAgICB9
IGVsc2UgaWYgKCFldmVudE5hbWUpIHsKICAgICAgICBPYmplY3Qua2V5cyhnZXRD
YWNoZUZvcklEKGlkKSkuZWFjaChmdW5jdGlvbihldmVudE5hbWUpIHsKICAgICAg
ICAgIGVsZW1lbnQuc3RvcE9ic2VydmluZyhldmVudE5hbWUpOwogICAgICAgIH0p
OwogICAgICAgIHJldHVybiBlbGVtZW50OwogICAgICB9CgogICAgICB2YXIgd3Jh
cHBlciA9IGZpbmRXcmFwcGVyKGlkLCBldmVudE5hbWUsIGhhbmRsZXIpOwogICAg
ICBpZiAoIXdyYXBwZXIpIHJldHVybiBlbGVtZW50OwoKICAgICAgaWYgKGVsZW1l
bnQucmVtb3ZlRXZlbnRMaXN0ZW5lcikgewogICAgICAgIGVsZW1lbnQucmVtb3Zl
RXZlbnRMaXN0ZW5lcihuYW1lLCB3cmFwcGVyLCBmYWxzZSk7CiAgICAgIH0gZWxz
ZSB7CiAgICAgICAgZWxlbWVudC5kZXRhY2hFdmVudCgib24iICsgbmFtZSwgd3Jh
cHBlcik7CiAgICAgIH0KCiAgICAgIGRlc3Ryb3lXcmFwcGVyKGlkLCBldmVudE5h
bWUsIGhhbmRsZXIpOwoKICAgICAgcmV0dXJuIGVsZW1lbnQ7CiAgICB9LAoKICAg
IGZpcmU6IGZ1bmN0aW9uKGVsZW1lbnQsIGV2ZW50TmFtZSwgbWVtbykgewogICAg
ICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgICAgaWYgKGVsZW1lbnQgPT0gZG9j
dW1lbnQgJiYgZG9jdW1lbnQuY3JlYXRlRXZlbnQgJiYgIWVsZW1lbnQuZGlzcGF0
Y2hFdmVudCkKICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50OwoKICAgICAgdmFyIGV2ZW50OwogICAgICBpZiAoZG9jdW1lbnQuY3JlYXRl
RXZlbnQpIHsKICAgICAgICBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJI
VE1MRXZlbnRzIik7CiAgICAgICAgZXZlbnQuaW5pdEV2ZW50KCJkYXRhYXZhaWxh
YmxlIiwgdHJ1ZSwgdHJ1ZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZXZlbnQg
PSBkb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCgpOwogICAgICAgIGV2ZW50LmV2
ZW50VHlwZSA9ICJvbmRhdGFhdmFpbGFibGUiOwogICAgICB9CgogICAgICBldmVu
dC5ldmVudE5hbWUgPSBldmVudE5hbWU7CiAgICAgIGV2ZW50Lm1lbW8gPSBtZW1v
IHx8IHsgfTsKCiAgICAgIGlmIChkb2N1bWVudC5jcmVhdGVFdmVudCkgewogICAg
ICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICAgIH0gZWxzZSB7
CiAgICAgICAgZWxlbWVudC5maXJlRXZlbnQoZXZlbnQuZXZlbnRUeXBlLCBldmVu
dCk7CiAgICAgIH0KCiAgICAgIHJldHVybiBFdmVudC5leHRlbmQoZXZlbnQpOwog
ICAgfQogIH07Cn0pKCkpOwoKT2JqZWN0LmV4dGVuZChFdmVudCwgRXZlbnQuTWV0
aG9kcyk7CgpFbGVtZW50LmFkZE1ldGhvZHMoewogIGZpcmU6ICAgICAgICAgIEV2
ZW50LmZpcmUsCiAgb2JzZXJ2ZTogICAgICAgRXZlbnQub2JzZXJ2ZSwKICBzdG9w
T2JzZXJ2aW5nOiBFdmVudC5zdG9wT2JzZXJ2aW5nCn0pOwoKT2JqZWN0LmV4dGVu
ZChkb2N1bWVudCwgewogIGZpcmU6ICAgICAgICAgIEVsZW1lbnQuTWV0aG9kcy5m
aXJlLm1ldGhvZGl6ZSgpLAogIG9ic2VydmU6ICAgICAgIEVsZW1lbnQuTWV0aG9k
cy5vYnNlcnZlLm1ldGhvZGl6ZSgpLAogIHN0b3BPYnNlcnZpbmc6IEVsZW1lbnQu
TWV0aG9kcy5zdG9wT2JzZXJ2aW5nLm1ldGhvZGl6ZSgpLAogIGxvYWRlZDogICAg
ICAgIGZhbHNlCn0pOwoKKGZ1bmN0aW9uKCkgewogIC8qIFN1cHBvcnQgZm9yIHRo
ZSBET01Db250ZW50TG9hZGVkIGV2ZW50IGlzIGJhc2VkIG9uIHdvcmsgYnkgRGFu
IFdlYmIsCiAgICAgTWF0dGhpYXMgTWlsbGVyLCBEZWFuIEVkd2FyZHMgYW5kIEpv
aG4gUmVzaWcuICovCgogIHZhciB0aW1lcjsKCiAgZnVuY3Rpb24gZmlyZUNvbnRl
bnRMb2FkZWRFdmVudCgpIHsKICAgIGlmIChkb2N1bWVudC5sb2FkZWQpIHJldHVy
bjsKICAgIGlmICh0aW1lcikgd2luZG93LmNsZWFySW50ZXJ2YWwodGltZXIpOwog
ICAgZG9jdW1lbnQuZmlyZSgiZG9tOmxvYWRlZCIpOwogICAgZG9jdW1lbnQubG9h
ZGVkID0gdHJ1ZTsKICB9CgogIGlmIChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVy
KSB7CiAgICBpZiAoUHJvdG90eXBlLkJyb3dzZXIuV2ViS2l0KSB7CiAgICAgIHRp
bWVyID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uKCkgewogICAgICAgIGlm
ICgvbG9hZGVkfGNvbXBsZXRlLy50ZXN0KGRvY3VtZW50LnJlYWR5U3RhdGUpKQog
ICAgICAgICAgZmlyZUNvbnRlbnRMb2FkZWRFdmVudCgpOwogICAgICB9LCAwKTsK
CiAgICAgIEV2ZW50Lm9ic2VydmUod2luZG93LCAibG9hZCIsIGZpcmVDb250ZW50
TG9hZGVkRXZlbnQpOwoKICAgIH0gZWxzZSB7CiAgICAgIGRvY3VtZW50LmFkZEV2
ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLAogICAgICAgIGZpcmVDb250
ZW50TG9hZGVkRXZlbnQsIGZhbHNlKTsKICAgIH0KCiAgfSBlbHNlIHsKICAgIGRv
Y3VtZW50LndyaXRlKCI8c2NyaXB0IGlkPV9fb25ET01Db250ZW50TG9hZGVkIGRl
ZmVyIHNyYz0vLzo+PFwvc2NyaXB0PiIpOwogICAgJCgiX19vbkRPTUNvbnRlbnRM
b2FkZWQiKS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKICAgICAg
aWYgKHRoaXMucmVhZHlTdGF0ZSA9PSAiY29tcGxldGUiKSB7CiAgICAgICAgdGhp
cy5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsOwogICAgICAgIGZpcmVDb250ZW50
TG9hZGVkRXZlbnQoKTsKICAgICAgfQogICAgfTsKICB9Cn0pKCk7Ci8qLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBERVBSRUNBVEVEIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKSGFzaC50b1F1ZXJ5U3RyaW5nID0gT2Jq
ZWN0LnRvUXVlcnlTdHJpbmc7Cgp2YXIgVG9nZ2xlID0geyBkaXNwbGF5OiBFbGVt
ZW50LnRvZ2dsZSB9OwoKRWxlbWVudC5NZXRob2RzLmNoaWxkT2YgPSBFbGVtZW50
Lk1ldGhvZHMuZGVzY2VuZGFudE9mOwoKdmFyIEluc2VydGlvbiA9IHsKICBCZWZv
cmU6IGZ1bmN0aW9uKGVsZW1lbnQsIGNvbnRlbnQpIHsKICAgIHJldHVybiBFbGVt
ZW50Lmluc2VydChlbGVtZW50LCB7YmVmb3JlOmNvbnRlbnR9KTsKICB9LAoKICBU
b3A6IGZ1bmN0aW9uKGVsZW1lbnQsIGNvbnRlbnQpIHsKICAgIHJldHVybiBFbGVt
ZW50Lmluc2VydChlbGVtZW50LCB7dG9wOmNvbnRlbnR9KTsKICB9LAoKICBCb3R0
b206IGZ1bmN0aW9uKGVsZW1lbnQsIGNvbnRlbnQpIHsKICAgIHJldHVybiBFbGVt
ZW50Lmluc2VydChlbGVtZW50LCB7Ym90dG9tOmNvbnRlbnR9KTsKICB9LAoKICBB
ZnRlcjogZnVuY3Rpb24oZWxlbWVudCwgY29udGVudCkgewogICAgcmV0dXJuIEVs
ZW1lbnQuaW5zZXJ0KGVsZW1lbnQsIHthZnRlcjpjb250ZW50fSk7CiAgfQp9OwoK
dmFyICRjb250aW51ZSA9IG5ldyBFcnJvcignInRocm93ICRjb250aW51ZSIgaXMg
ZGVwcmVjYXRlZCwgdXNlICJyZXR1cm4iIGluc3RlYWQnKTsKCi8vIFRoaXMgc2hv
dWxkIGJlIG1vdmVkIHRvIHNjcmlwdC5hY3Vsby51czsgbm90aWNlIHRoZSBkZXBy
ZWNhdGVkIG1ldGhvZHMKLy8gZnVydGhlciBiZWxvdywgdGhhdCBtYXAgdG8gdGhl
IG5ld2VyIEVsZW1lbnQgbWV0aG9kcy4KdmFyIFBvc2l0aW9uID0gewogIC8vIHNl
dCB0byB0cnVlIGlmIG5lZWRlZCwgd2FybmluZzogZmlyZWZveCBwZXJmb3JtYW5j
ZSBwcm9ibGVtcwogIC8vIE5PVCBuZWVlZGVkIGZvciBwYWdlIHNjcm9sbGluZywg
b25seSBpZiBkcmFnZ2FibGUgY29udGFpbmVkIGluCiAgLy8gc2Nyb2xsYWJsZSBl
bGVtZW50cwogIGluY2x1ZGVTY3JvbGxPZmZzZXRzOiBmYWxzZSwKCiAgLy8gbXVz
dCBiZSBjYWxsZWQgYmVmb3JlIGNhbGxpbmcgd2l0aGluSW5jbHVkaW5nU2Nyb2xs
b2Zmc2V0LCBldmVyeSB0aW1lIHRoZQogIC8vIHBhZ2UgaXMgc2Nyb2xsZWQKICBw
cmVwYXJlOiBmdW5jdGlvbigpIHsKICAgIHRoaXMuZGVsdGFYID0gIHdpbmRvdy5w
YWdlWE9mZnNldAogICAgICAgICAgICAgICAgfHwgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbExlZnQKICAgICAgICAgICAgICAgIHx8IGRvY3VtZW50LmJv
ZHkuc2Nyb2xsTGVmdAogICAgICAgICAgICAgICAgfHwgMDsKICAgIHRoaXMuZGVs
dGFZID0gIHdpbmRvdy5wYWdlWU9mZnNldAogICAgICAgICAgICAgICAgfHwgZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcAogICAgICAgICAgICAgICAg
fHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AKICAgICAgICAgICAgICAgIHx8IDA7
CiAgfSwKCiAgLy8gY2FjaGVzIHgveSBjb29yZGluYXRlIHBhaXIgdG8gdXNlIHdp
dGggb3ZlcmxhcAogIHdpdGhpbjogZnVuY3Rpb24oZWxlbWVudCwgeCwgeSkgewog
ICAgaWYgKHRoaXMuaW5jbHVkZVNjcm9sbE9mZnNldHMpCiAgICAgIHJldHVybiB0
aGlzLndpdGhpbkluY2x1ZGluZ1Njcm9sbG9mZnNldHMoZWxlbWVudCwgeCwgeSk7
CiAgICB0aGlzLnhjb21wID0geDsKICAgIHRoaXMueWNvbXAgPSB5OwogICAgdGhp
cy5vZmZzZXQgPSBFbGVtZW50LmN1bXVsYXRpdmVPZmZzZXQoZWxlbWVudCk7Cgog
ICAgcmV0dXJuICh5ID49IHRoaXMub2Zmc2V0WzFdICYmCiAgICAgICAgICAgIHkg
PCAgdGhpcy5vZmZzZXRbMV0gKyBlbGVtZW50Lm9mZnNldEhlaWdodCAmJgogICAg
ICAgICAgICB4ID49IHRoaXMub2Zmc2V0WzBdICYmCiAgICAgICAgICAgIHggPCAg
dGhpcy5vZmZzZXRbMF0gKyBlbGVtZW50Lm9mZnNldFdpZHRoKTsKICB9LAoKICB3
aXRoaW5JbmNsdWRpbmdTY3JvbGxvZmZzZXRzOiBmdW5jdGlvbihlbGVtZW50LCB4
LCB5KSB7CiAgICB2YXIgb2Zmc2V0Y2FjaGUgPSBFbGVtZW50LmN1bXVsYXRpdmVT
Y3JvbGxPZmZzZXQoZWxlbWVudCk7CgogICAgdGhpcy54Y29tcCA9IHggKyBvZmZz
ZXRjYWNoZVswXSAtIHRoaXMuZGVsdGFYOwogICAgdGhpcy55Y29tcCA9IHkgKyBv
ZmZzZXRjYWNoZVsxXSAtIHRoaXMuZGVsdGFZOwogICAgdGhpcy5vZmZzZXQgPSBF
bGVtZW50LmN1bXVsYXRpdmVPZmZzZXQoZWxlbWVudCk7CgogICAgcmV0dXJuICh0
aGlzLnljb21wID49IHRoaXMub2Zmc2V0WzFdICYmCiAgICAgICAgICAgIHRoaXMu
eWNvbXAgPCAgdGhpcy5vZmZzZXRbMV0gKyBlbGVtZW50Lm9mZnNldEhlaWdodCAm
JgogICAgICAgICAgICB0aGlzLnhjb21wID49IHRoaXMub2Zmc2V0WzBdICYmCiAg
ICAgICAgICAgIHRoaXMueGNvbXAgPCAgdGhpcy5vZmZzZXRbMF0gKyBlbGVtZW50
Lm9mZnNldFdpZHRoKTsKICB9LAoKICAvLyB3aXRoaW4gbXVzdCBiZSBjYWxsZWQg
ZGlyZWN0bHkgYmVmb3JlCiAgb3ZlcmxhcDogZnVuY3Rpb24obW9kZSwgZWxlbWVu
dCkgewogICAgaWYgKCFtb2RlKSByZXR1cm4gMDsKICAgIGlmIChtb2RlID09ICd2
ZXJ0aWNhbCcpCiAgICAgIHJldHVybiAoKHRoaXMub2Zmc2V0WzFdICsgZWxlbWVu
dC5vZmZzZXRIZWlnaHQpIC0gdGhpcy55Y29tcCkgLwogICAgICAgIGVsZW1lbnQu
b2Zmc2V0SGVpZ2h0OwogICAgaWYgKG1vZGUgPT0gJ2hvcml6b250YWwnKQogICAg
ICByZXR1cm4gKCh0aGlzLm9mZnNldFswXSArIGVsZW1lbnQub2Zmc2V0V2lkdGgp
IC0gdGhpcy54Y29tcCkgLwogICAgICAgIGVsZW1lbnQub2Zmc2V0V2lkdGg7CiAg
fSwKCiAgLy8gRGVwcmVjYXRpb24gbGF5ZXIgLS0gdXNlIG5ld2VyIEVsZW1lbnQg
bWV0aG9kcyBub3cgKDEuNS4yKS4KCiAgY3VtdWxhdGl2ZU9mZnNldDogRWxlbWVu
dC5NZXRob2RzLmN1bXVsYXRpdmVPZmZzZXQsCgogIHBvc2l0aW9uZWRPZmZzZXQ6
IEVsZW1lbnQuTWV0aG9kcy5wb3NpdGlvbmVkT2Zmc2V0LAoKICBhYnNvbHV0aXpl
OiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBQb3NpdGlvbi5wcmVwYXJlKCk7CiAg
ICByZXR1cm4gRWxlbWVudC5hYnNvbHV0aXplKGVsZW1lbnQpOwogIH0sCgogIHJl
bGF0aXZpemU6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIFBvc2l0aW9uLnByZXBh
cmUoKTsKICAgIHJldHVybiBFbGVtZW50LnJlbGF0aXZpemUoZWxlbWVudCk7CiAg
fSwKCiAgcmVhbE9mZnNldDogRWxlbWVudC5NZXRob2RzLmN1bXVsYXRpdmVTY3Jv
bGxPZmZzZXQsCgogIG9mZnNldFBhcmVudDogRWxlbWVudC5NZXRob2RzLmdldE9m
ZnNldFBhcmVudCwKCiAgcGFnZTogRWxlbWVudC5NZXRob2RzLnZpZXdwb3J0T2Zm
c2V0LAoKICBjbG9uZTogZnVuY3Rpb24oc291cmNlLCB0YXJnZXQsIG9wdGlvbnMp
IHsKICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHsgfTsKICAgIHJldHVybiBFbGVt
ZW50LmNsb25lUG9zaXRpb24odGFyZ2V0LCBzb3VyY2UsIG9wdGlvbnMpOwogIH0K
fTsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKaWYgKCFkb2N1bWVu
dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
Q2xhc3NOYW1lID0gZnVuY3Rpb24oaW5zdGFuY2VNZXRob2RzKXsKICBmdW5jdGlv
biBpdGVyKG5hbWUpIHsKICAgIHJldHVybiBuYW1lLmJsYW5rKCkgPyBudWxsIDog
Iltjb250YWlucyhjb25jYXQoJyAnLCBAY2xhc3MsICcgJyksICcgIiArIG5hbWUg
KyAiICcpXSI7CiAgfQoKICBpbnN0YW5jZU1ldGhvZHMuZ2V0RWxlbWVudHNCeUNs
YXNzTmFtZSA9IFByb3RvdHlwZS5Ccm93c2VyRmVhdHVyZXMuWFBhdGggPwogIGZ1
bmN0aW9uKGVsZW1lbnQsIGNsYXNzTmFtZSkgewogICAgY2xhc3NOYW1lID0gY2xh
c3NOYW1lLnRvU3RyaW5nKCkuc3RyaXAoKTsKICAgIHZhciBjb25kID0gL1xzLy50
ZXN0KGNsYXNzTmFtZSkgPyAkdyhjbGFzc05hbWUpLm1hcChpdGVyKS5qb2luKCcn
KSA6IGl0ZXIoY2xhc3NOYW1lKTsKICAgIHJldHVybiBjb25kID8gZG9jdW1lbnQu
X2dldEVsZW1lbnRzQnlYUGF0aCgnLi8vKicgKyBjb25kLCBlbGVtZW50KSA6IFtd
OwogIH0gOiBmdW5jdGlvbihlbGVtZW50LCBjbGFzc05hbWUpIHsKICAgIGNsYXNz
TmFtZSA9IGNsYXNzTmFtZS50b1N0cmluZygpLnN0cmlwKCk7CiAgICB2YXIgZWxl
bWVudHMgPSBbXSwgY2xhc3NOYW1lcyA9ICgvXHMvLnRlc3QoY2xhc3NOYW1lKSA/
ICR3KGNsYXNzTmFtZSkgOiBudWxsKTsKICAgIGlmICghY2xhc3NOYW1lcyAmJiAh
Y2xhc3NOYW1lKSByZXR1cm4gZWxlbWVudHM7CgogICAgdmFyIG5vZGVzID0gJChl
bGVtZW50KS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnKicpOwogICAgY2xhc3NOYW1l
ID0gJyAnICsgY2xhc3NOYW1lICsgJyAnOwoKICAgIGZvciAodmFyIGkgPSAwLCBj
aGlsZCwgY247IGNoaWxkID0gbm9kZXNbaV07IGkrKykgewogICAgICBpZiAoY2hp
bGQuY2xhc3NOYW1lICYmIChjbiA9ICcgJyArIGNoaWxkLmNsYXNzTmFtZSArICcg
JykgJiYgKGNuLmluY2x1ZGUoY2xhc3NOYW1lKSB8fAogICAgICAgICAgKGNsYXNz
TmFtZXMgJiYgY2xhc3NOYW1lcy5hbGwoZnVuY3Rpb24obmFtZSkgewogICAgICAg
ICAgICByZXR1cm4gIW5hbWUudG9TdHJpbmcoKS5ibGFuaygpICYmIGNuLmluY2x1
ZGUoJyAnICsgbmFtZSArICcgJyk7CiAgICAgICAgICB9KSkpKQogICAgICAgIGVs
ZW1lbnRzLnB1c2goRWxlbWVudC5leHRlbmQoY2hpbGQpKTsKICAgIH0KICAgIHJl
dHVybiBlbGVtZW50czsKICB9OwoKICByZXR1cm4gZnVuY3Rpb24oY2xhc3NOYW1l
LCBwYXJlbnRFbGVtZW50KSB7CiAgICByZXR1cm4gJChwYXJlbnRFbGVtZW50IHx8
IGRvY3VtZW50LmJvZHkpLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY2xhc3NOYW1l
KTsKICB9Owp9KEVsZW1lbnQuTWV0aG9kcyk7CgovKi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKi8KCkVsZW1lbnQuQ2xhc3NOYW1lcyA9IENsYXNzLmNyZWF0ZSgp
OwpFbGVtZW50LkNsYXNzTmFtZXMucHJvdG90eXBlID0gewogIGluaXRpYWxpemU6
IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHRoaXMuZWxlbWVudCA9ICQoZWxlbWVu
dCk7CiAgfSwKCiAgX2VhY2g6IGZ1bmN0aW9uKGl0ZXJhdG9yKSB7CiAgICB0aGlz
LmVsZW1lbnQuY2xhc3NOYW1lLnNwbGl0KC9ccysvKS5zZWxlY3QoZnVuY3Rpb24o
bmFtZSkgewogICAgICByZXR1cm4gbmFtZS5sZW5ndGggPiAwOwogICAgfSkuX2Vh
Y2goaXRlcmF0b3IpOwogIH0sCgogIHNldDogZnVuY3Rpb24oY2xhc3NOYW1lKSB7
CiAgICB0aGlzLmVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1lOwogIH0sCgog
IGFkZDogZnVuY3Rpb24oY2xhc3NOYW1lVG9BZGQpIHsKICAgIGlmICh0aGlzLmlu
Y2x1ZGUoY2xhc3NOYW1lVG9BZGQpKSByZXR1cm47CiAgICB0aGlzLnNldCgkQSh0
aGlzKS5jb25jYXQoY2xhc3NOYW1lVG9BZGQpLmpvaW4oJyAnKSk7CiAgfSwKCiAg
cmVtb3ZlOiBmdW5jdGlvbihjbGFzc05hbWVUb1JlbW92ZSkgewogICAgaWYgKCF0
aGlzLmluY2x1ZGUoY2xhc3NOYW1lVG9SZW1vdmUpKSByZXR1cm47CiAgICB0aGlz
LnNldCgkQSh0aGlzKS53aXRob3V0KGNsYXNzTmFtZVRvUmVtb3ZlKS5qb2luKCcg
JykpOwogIH0sCgogIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKICAgIHJldHVybiAk
QSh0aGlzKS5qb2luKCcgJyk7CiAgfQp9OwoKT2JqZWN0LmV4dGVuZChFbGVtZW50
LkNsYXNzTmFtZXMucHJvdG90eXBlLCBFbnVtZXJhYmxlKTsKCi8qLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0qLwoKRWxlbWVudC5hZGRNZXRob2RzKCk7
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=func.js
Content-Type: application/x-javascript; name=func.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/func.js?15
Content-Transfer-Encoding: Base64
dmFyIGlzT3BlcmEgPSBCb29sZWFuKHdpbmRvd1sib3BlcmEiXSk7CnZhciBpc0lF
ID0gKG5hdmlnYXRvci5hcHBOYW1lLmluZGV4T2YoIk1pY3Jvc29mdCIpICE9IC0x
KSAmJiAhaXNPcGVyYTsKdmFyIGlzSUU2ID0gZmFsc2UgLypAY2Nfb24gfHwgQF9q
c2NyaXB0X3ZlcnNpb24gPCA1LjcgQCovOwp2YXIgaXNJRTcgPSBmYWxzZSAvKkBj
Y19vbiB8fCBAX2pzY3JpcHRfdmVyc2lvbiA9PSA1LjcgQCovOwovLyBub3QgZGVw
ZW5kZW50IG9uIHJlbmRlcmluZyBtb2RlCnZhciBpc0lFOCA9IChuYXZpZ2F0b3Iu
YXBwTmFtZSA9PSAnTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyJyAmJiBuYXZp
Z2F0b3IudXNlckFnZW50Lm1hdGNoKC9UcmlkZW50XC80LykpOwoKZnVuY3Rpb24g
dVBpY092ZXIoc3BhbikgewogICAgdmFyIGF2YXRhclBhdGgsIGltZzsKICAgIGF2
YXRhclBhdGggPSAiaHR0cDovL2F2dC5mb3RvLm1haWwucnUvIjsKICAgIGltZyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JVc2VyUGljU2hvdyIpOwogICAg
aW1nLnNyYyA9IGF2YXRhclBhdGggKyBzcGFuLmlkICsgIi9fYXZhdGFyIjsKICAg
IGltZy5zdHlsZS50b3AgPSBhYnNQb3NpdGlvbihzcGFuKS55ICsgc3Bhbi5vZmZz
ZXRIZWlnaHQ7CiAgICBpbWcuc3R5bGUubGVmdCA9IGFic1Bvc2l0aW9uKHNwYW4p
Lng7CiAgICBpbWcuc3R5bGUuZGlzcGxheSA9ICIiOwp9CgpmdW5jdGlvbiB1UGlj
T3V0KHNwYW4pIHsKICAgIHZhciBpbWc7CiAgICB2YXIgaW1nID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImZvclVzZXJQaWNTaG93Iik7CiAgICBpbWcuc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKICAgIGltZy5zcmMgPSAid2FpdC5naWYiOwoKfQoK
ZnVuY3Rpb24gZ2ViaShlaWQpIHsgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGVpZCkgfQovL2Z1bmN0aW9uICQoZWwpIHsgcmV0dXJuICh0eXBlb2YgZWwg
PT0gJ3N0cmluZycpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWwpIDogZWwg
fQoKZnVuY3Rpb24gYWJzUG9zaXRpb24ob2JqKSB7IC8vIM7v8OXk5ev/5ewgdG9w
IC0gbGVmdCDq7u7w5Ojt4PL7IOHr7urgIG9iagogICAgdmFyIG94ID0gMDsKICAg
IHZhciBveSA9IDA7CiAgICB3aGlsZSAoIG9iaiApIHsKICAgICAgICBveCArPSBv
Ymoub2Zmc2V0TGVmdDsKICAgICAgICBpZiAoVGhlbWVfdG1wbCkgewogICAgICAg
IC8v8u7r/OruIOTr/yDIxSwg5Ov/IOL77+Dk4P755ePuIOzl7f4g8P/k7uwg8SDv
7uv85+7i4PLl8uXsIOgg5Ov/IO/u8fLu4iEhISDx5OXr4O3uIPLg6iDv7vLu7PMg
9/LuIO3l7/Dg4ujr/O3uIO7v8OXk5ev//vLx/yDq7u7w5Ojt4PL7IOjnLefgIO/u
5+j26O7t6PDu4uDt6P8g8O7k6PLl6/zx6uj1IOHr7uru4gogICAgICAgICAgICBp
ZiAobmF2aWdhdG9yLmFwcE5hbWUgPT0gIk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBs
b3JlciIgJiYgb2JqLm5vZGVOYW1lID09ICJBIiAmJiBvYmouaWQgPT0gInBvc3Rf
bWVudSIpIHsKICAgICAgICAgICAgICAgIG95ICs9IDE7CiAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgIG95ICs9IG9iai5vZmZzZXRUb3A7CiAgICAg
ICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBveSArPSBvYmou
b2Zmc2V0VG9wOwogICAgICAgIH0KICAgICAgICAvLyAgwiDt5eru8u7w+/Ug8evz
9+D/9SDv7vfl7PMt8u4g5Ov/IP3r5ezl7fLgIO3gIPHy8ODt6PblIO7y8fPy8fLi
8+XyIO708eXyCiAgICAgICAgaWYgKCBvYmoub2Zmc2V0UGFyZW50ID09IG51bGwg
KSB7CiAgICAgICAgICAgIG9iaiA9IG9iai5ub2RlTmFtZSA9PSAnQk9EWScgPyAg
bnVsbCA6IG9iai5wYXJlbnROb2RlOwogICAgICAgIH0KCiAgICAgICAgaWYgKCBv
YmogIT0gbnVsbCApIG9iaiA9IG9iai5vZmZzZXRQYXJlbnQ7CiAgICB9CiAgICBy
ZXR1cm4ge3g6b3gseTpveX07Cn0KCmZ1bmN0aW9uIGNoZWNrX3dpbnNpemUoKSB7
CiAgICB2YXIgc2l6ZTsKICAgIGlmIChkb2N1bWVudC5hbGwpIHsKICAgICAgICBz
aXplPXdpbmRvdy5kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoOwogICAgfSBlbHNl
IHsKICAgICAgICBzaXplID0gd2luZG93LmlubmVyV2lkdGg7CiAgICB9CiAgICBp
ZiAoc2l6ZT44MjApewogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ6
YXBpc19kaXYiKS5zdHlsZS53aWR0aD1zaXplKjAuNjM7CiAgICB9IGVsc2Ugewog
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ6YXBpc19kaXYiKS5zdHls
ZS53aWR0aD01MDA7CiAgICB9Cn0KCmZ1bmN0aW9uIHNob3dfYWRkX3RvX2ZyaWVu
ZHNfb25fbG9hZCgpIHsKICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLmlu
ZGV4T2YoJ3Nob3dfYWRkX3RvX2ZyaWVuZD0xJyk+PTApCiAgICAgICAgc2hvd19m
cmllbmRfZ3JvdXBfc2VsZWN0b3IoJ2Zvcl9mcmllbmRfZ3JvdXBfc2VsZWN0b3In
LFBlcmxWYXJfSm91cm5hbEVtYWlsKTsKfQoKZnVuY3Rpb24gZ2V0X2JhY2tfcGFy
YW1fc3RyKCkgewogICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYmFja19wYXJhbV9pbnB1dCIpLnZhbHVlKTsKfQoK
Lyog7+7v4O/7ICovCgp2YXIgcG9wdXBfbCA9IGZhbHNlOwovL/Tz7er26P8g5Ov/
IO7y7uHw4Obl7ej/IHBvcHVwIO7q7eAsIO/w6CDt4Obg8ujoIO3gIPHx++vq8yAg
IvPi5evo9+jy/CIg7+7kIODi4PLg8O7sCmZ1bmN0aW9uIHBvcHVwX2xhcmdlcihV
cmwpIHsKICAgIGlmIChwb3B1cF9sKSBwb3B1cF9sLmNsb3NlKCk7CiAgICBwb3B1
cF9sID0gd2luZG93Lm9wZW4oVXJsLCdwb3B1cCcsJ3dpZHRoPTU4MCxoZWlnaHQ9
NTgwLHRvb2xiYXJzPW5vLHNjcm9sbGJhcnM9eWVzLHJlc2l6YWJsZT15ZXMsbGVm
dD0nKyhzY3JlZW4ud2lkdGgtNTgwKS8yKycsdG9wPScrKHNjcmVlbi5oZWlnaHQt
NTgwKS8yKTsKICAgIGlmIChwb3B1cF9sKSBwb3B1cF9sLmZvY3VzKCk7Cn0KCi8q
IG1wMyBwbGF5ZXIqLwoKZnVuY3Rpb24gZW1iZWRfbXAzX3BsYXllcihVUkwpIHsK
ICAgLy8gR2V0IE9wZXJhdGluZyBTeXN0ZW0KICAgdmFyIGlzV2luID0gbmF2aWdh
dG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndpbmRvd3MiKSAh
PSAtMTsKICAgaWYgKGlzV2luKSB7IC8vIFVzZSBNSU1FIHR5cGUgYXBwbGljYXRp
b24veC1tcGxheWVyMgogICAgICB2aXNpdG9yT1M9IldpbmRvd3MiOwogICB9IGVs
c2UgeyAvLyBVc2UgTUlNRSB0eXBlIGF1ZGlvL21wZWcsIGF1ZGlvL3gtd2F2LCBl
dGMuCiAgICAgIHZpc2l0b3JPUz0iT3RoZXIiOwogICB9CgogICB2YXIgb2JqVHlw
ZVRhZyA9ICJhcHBsaWNhdGlvbi94LW1wbGF5ZXIyIjsgLy8gVGhlIE1JTUUgdHlw
ZSB0byBsb2FkIHRoZSBXTVAgcGx1Z2luIGluIG5vbi1JRSBicm93c2VycyBvbiBX
aW5kb3dzCiAgIGlmICh2aXNpdG9yT1MgIT0gIldpbmRvd3MiKSB7IG9ialR5cGVU
YWcgPSAiYXVkaW8vbXBlZyJ9OyAvLyBUaGUgTUlNRSB0eXBlIGZvciBNYWNzIGFu
ZCBMaW51eAoKICAgZG9jdW1lbnQud3JpdGVsbigiPGRpdj4iKTsKICAgZG9jdW1l
bnQud3JpdGVsbigiPG9iamVjdCB3aWR0aD0nMjgwJyBoZWlnaHQ9JzY5Jz4iKTsg
Ly8gV2lkdGggaXMgdGhlIFdNUCBtaW5pbXVtLiBIZWlnaHQgPSA0NSAoV01QIGNv
bnRyb2xzKSArIDI0IChXTVAgc3RhdHVzIGJhcikKICAgZG9jdW1lbnQud3JpdGVs
bigiPHBhcmFtIG5hbWU9J3R5cGUnIHZhbHVlPSciICsgb2JqVHlwZVRhZyArICIn
PiIpOwogICBkb2N1bWVudC53cml0ZWxuKCI8cGFyYW0gbmFtZT0nc3JjJyB2YWx1
ZT0nIiArIFVSTCArICInPiIpOwogICBkb2N1bWVudC53cml0ZWxuKCI8cGFyYW0g
bmFtZT0nYXV0b3N0YXJ0JyB2YWx1ZT0nMCc+Iik7CiAgIGRvY3VtZW50LndyaXRl
bG4oIjxwYXJhbSBuYW1lPSdzaG93Y29udHJvbHMnIHZhbHVlPScxJz4iKTsKICAg
ZG9jdW1lbnQud3JpdGVsbigiPHBhcmFtIG5hbWU9J3Nob3dzdGF0dXNiYXInIHZh
bHVlPScxJz4iKTsKICAgZG9jdW1lbnQud3JpdGVsbigiPGVtYmVkIHNyYyA9JyIg
KyBVUkwgKyAiJyB0eXBlPSciICsgb2JqVHlwZVRhZyArICInIGF1dG9wbGF5PSdm
YWxzZScgYXV0b3N0YXJ0PScwJyB3aWR0aD0nMjgwJyBoZWlnaHQ9JzY5JyBjb250
cm9sbGVyPScxJyBzaG93c3RhdHVzYmFyPScxJyBiZ2NvbG9yPScjZmZmZmZmJz48
L2VtYmVkPiIpOwoKICAgLy8gRmlyZWZveCBhbmQgT3BlcmEgV2luIHJlcXVpcmUg
Ym90aCBhdXRvc3RhcnQgYW5kIGF1dG9wbGF5CiAgIGRvY3VtZW50LndyaXRlbG4o
Ijwvb2JqZWN0PiIpOwogICBkb2N1bWVudC53cml0ZWxuKCI8L2Rpdj4iKTsKfQoK
Lyogam91cm5hbCAqLwoKZnVuY3Rpb24gaGFzX2phdmFzY3JpcHQoKSB7IHJldHVy
biB0cnVlIH0KCmZ1bmN0aW9uIGJsYWNrX2xpc3RfY29uZmlybSh1cmwsYWN0aW9u
LHVzZXJuYW1lKSB7CiAgICBpZiAoYWN0aW9uPT0iYWRkIikgewogICAgICAgIGlm
IChjb25maXJtKCLE7uHg4ujy/CAiICArIHVzZXJuYW1lICsgIiDiINfl8O376SDx
7+jx7uo/ICIpKSB7CiAgICAgICAgICAgIGxvY2F0aW9uPSJodHRwOi8vIiArIFBl
cmxWYXJfQmxvZ3NQZXJsSG9zdCArdXJsOwogICAgICAgIH0KICAgIH0gZWxzZSB7
CiAgICAgICAgaWYgKGNvbmZpcm0oItPk4Ovo8vwgIiArIHVzZXJuYW1lICsgIiDo
5yDX5fDt7uPuIPHv6PHq4D8iKSkgewogICAgICAgICAgICBsb2NhdGlvbj0iaHR0
cDovLyIgKyBQZXJsVmFyX0Jsb2dzUGVybEhvc3QgK3VybDsKICAgICAgICB9CiAg
ICB9Cn0KCmZ1bmN0aW9uIGdldF9jb29raWUobmFtZSkgewogICAgdmFyIHByZWZp
eCA9IG5hbWUgKyAiPSI7CiAgICB2YXIgc3RhcnQgPSBkb2N1bWVudC5jb29raWUu
aW5kZXhPZihwcmVmaXgpOwogICAgaWYgKHN0YXJ0ID09IC0xKSByZXR1cm4gbnVs
bDsKICAgIHN0YXJ0ICs9IHByZWZpeC5sZW5ndGg7CiAgICB2YXIgZW5kID0gZG9j
dW1lbnQuY29va2llLmluZGV4T2YoIjsiLCBzdGFydCk7CiAgICBpZiAoZW5kID09
IC0xKSBlbmQgPSBkb2N1bWVudC5jb29raWUubGVuZ3RoOwogICAgcmV0dXJuIHVu
ZXNjYXBlKGRvY3VtZW50LmNvb2tpZS5zdWJzdHJpbmcoc3RhcnQsIGVuZCkpOwp9
CgpmdW5jdGlvbiBzZXRfY29va2llKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgY29v
a2llID0gbmFtZSArICI9IiArIGVzY2FwZSh2YWx1ZSkgKyAiO2V4cGlyZXM9U3Vu
LCAzMS1EZWMtMzQgMjM6NTk6NTkgR01UO3BhdGg9LyI7CiAgICBpZiAoY29va2ll
Lmxlbmd0aCA8PSA0MDAwKSBkb2N1bWVudC5jb29raWUgPSBjb29raWU7Cn0KCmZ1
bmN0aW9uIHNjcmVlbl9wb3N0X2NhbGxiYWNrKHJlc3VsdCwgaWQsIHRvX3NjcmVl
bikgewogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHZhciBzY3IgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc2NyZWVuX3Bvc3RfbGlua18nK2lkKTsKICAgICAg
ICB2YXIgdW5zY3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndW5zY3JlZW5f
cG9zdF9saW5rXycraWQpOwogICAgICAgIGlmICh0b19zY3JlZW4pIHsKICAgICAg
ICAgICAgc2NyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgIHVu
c2NyLnN0eWxlLmRpc3BsYXkgPSAnJzsKICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICBzY3Iuc3R5bGUuZGlzcGxheSA9ICcnOwogICAgICAgICAgICB1bnNjci5z
dHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rp
b24gc2NyZWVuX3Bvc3QoaWQsIHRvX3NjcmVlbikgewogICAgcGVybF9zY3JlZW5f
cG9zdChpZCwgdG9fc2NyZWVuLCBzY3JlZW5fcG9zdF9jYWxsYmFjayk7Cn0KCmZ1
bmN0aW9uIGNmbShvYmopIHsKICAgIGlmICh0eXBlb2YoUGVybFZhcl9FeHRsaW5r
c19BbGVydCkhPSd1bmRlZmluZWQnICYmIFBlcmxWYXJfRXh0bGlua3NfQWxlcnQ9
PTApIHJldHVybiB0cnVlOwogICAgdmFyIHR4dCA9IG9iai5ocmVmOwogICAgdHh0
ID0gdHh0LnJlcGxhY2UoL2h0dHA6XC9cLyhbQS1aYS16MC05X1wtXC5dKylbXj5d
Ki9pZyAsICIkMSIpOwogICAgcmV0dXJuIGNvbmZpcm0oJ8L7IPHu4ejw4OXy5fH8
IO/l8OXp8ugg7+4g4u3l+O3l6SDx8fvr6uUg7eAg8eDp8jogIicrdHh0KyciXG5c
bsDk7Ojt6PHy8OD26P8g6u7s7+Dt6OggTWFpbC5ydSDt5SDt5fHl8iDu8uLl8vHy
4uXt7e7x8ugg5+Ag8e7k5fDm6Ozu5SDx4Ony4CAiJyt0eHQrJyIg6CDt4PHy7v/y
5ev87e4g8OXq7uzl7eTz5fIg7ejq7uPk4CDt5SDi4u7k6PL8IO/g8O7r/CDu8iDx
4u7l4+4g7+738u7i7uPuIP/56OrgIO3gIO/u8fLu8O7t7ej1IPDl8fPw8eD1LiBc
blxuzvLq8Pvy/CDx4OnyPycpOwp9CgpmdW5jdGlvbiBjZm11KHVybCkgewogICAg
aWYgKHR5cGVvZihQZXJsVmFyX0V4dGxpbmtzX0FsZXJ0KSE9J3VuZGVmaW5lZCcg
JiYgUGVybFZhcl9FeHRsaW5rc19BbGVydD09MCkgcmV0dXJuIHRydWU7CiAgICBy
ZXR1cm4gY29uZmlybSgnwvsg8e7h6PDg5fLl8fwg7+Xw5eny6CDv7iDi7eX47eXp
IPHx++vq5SDt4CDx4OnyOiAiJyt1cmwrJyJcblxuwOTs6O3o8fLw4Pbo/yDq7uzv
4O3o6CBNYWlsLnJ1IO3lIO3l8eXyIO7y4uXy8fLi5e3t7vHy6CDn4CDx7uTl8Obo
7O7lIPHg6fLgICInK3VybCsnIiDoIO3g8fLu//Ll6/zt7iDw5eru7OXt5PPl8iDt
6Oru4+TgIO3lIOLi7uTo8vwg7+Dw7uv8IO7yIPHi7uXj7iDv7vfy7uLu4+4g//no
6uAg7eAg7+7x8u7w7u3t6PUg8OXx8/Dx4PUuIFxuXG7O8urw+/L8IPHg6fI/Jyk7
Cn0KCi8vIGRvbnQgdXNlIHRoaXMsIHVzZSBnZXRFbGVtUG9zCmZ1bmN0aW9uIF9n
ZXRPZmZzZXRQb3NpdGlvbihlbCkgewogICAgZWwgPSAkKGVsKTsKICAgIGlmICgh
ZWwpIHJldHVybjsKCiAgICB2YXIgd2lkdGggPSBlbC5vZmZzZXRXaWR0aCwgaGVp
Z2h0ID0gZWwub2Zmc2V0SGVpZ2h0OwogICAgdmFyIGxlZnQgPSAwLCB0b3AgPSAw
OwogICAgd2hpbGUgKGVsKSB7CiAgICAgICAgbGVmdCArPSBlbC5vZmZzZXRMZWZ0
OwogICAgICAgIHRvcCArPSBlbC5vZmZzZXRUb3A7CiAgICAgICAgZWwgPSBlbC5v
ZmZzZXRQYXJlbnQ7CiAgICB9CgogICAgcmV0dXJuIHsgJ2xlZnQnOiBsZWZ0LCAn
dG9wJzogdG9wLCAnd2lkdGgnOiB3aWR0aCwgJ2hlaWdodCc6IGhlaWdodCB9Owp9
CgovLyBkb250IHVzZSB0aGlzLCB1c2UgZ2V0RWxlbVBvcwpmdW5jdGlvbiBfZ2V0
Qm91bmRpbmdSZWN0UG9zaXRpb24oZWwpIHsKICAgIGVsID0gJChlbCk7CiAgICBp
ZiAoIWVsIHx8ICFlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QpIHJldHVybjsKCiAg
ICB2YXIgYm94ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CgogICAgdmFy
IGJvZHkgPSBkb2N1bWVudC5ib2R5OwogICAgdmFyIGRvY0VsZW0gPSBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQ7CgogICAgdmFyIHNjcm9sbFRvcCA9IHdpbmRvdy5w
YWdlWU9mZnNldCB8fCBkb2NFbGVtLnNjcm9sbFRvcCB8fCBib2R5LnNjcm9sbFRv
cDsKICAgIHZhciBzY3JvbGxMZWZ0ID0gd2luZG93LnBhZ2VYT2Zmc2V0IHx8IGRv
Y0VsZW0uc2Nyb2xsTGVmdCB8fCBib2R5LnNjcm9sbExlZnQ7CiAKICAgIHZhciBj
bGllbnRUb3AgPSBkb2NFbGVtLmNsaWVudFRvcCB8fCBib2R5LmNsaWVudFRvcCB8
fCAwOwogICAgdmFyIGNsaWVudExlZnQgPSBkb2NFbGVtLmNsaWVudExlZnQgfHwg
Ym9keS5jbGllbnRMZWZ0IHx8IDA7CiAKICAgIHZhciB0b3AgID0gYm94LnRvcCAr
ICBzY3JvbGxUb3AgLSBjbGllbnRUb3A7CiAgICB2YXIgbGVmdCA9IGJveC5sZWZ0
ICsgc2Nyb2xsTGVmdCAtIGNsaWVudExlZnQ7CgogICAgdmFyIHdpZHRoID0gZWwu
b2Zmc2V0V2lkdGgsIGhlaWdodCA9IGVsLm9mZnNldEhlaWdodDsKICAgIHJldHVy
biB7IHRvcDogcGFyc2VJbnQodG9wKSwgbGVmdDogcGFyc2VJbnQobGVmdCksICd3
aWR0aCc6IHdpZHRoLCAnaGVpZ2h0JzogaGVpZ2h0IH07Cn0KCmZ1bmN0aW9uIGdl
dEVsZW1lbnRQb3NpdGlvbihlbCkgewogICAgZWwgPSAkKGVsKTsKICAgIGlmICgh
ZWwpIHJldHVybjsKCiAgICB2YXIgc2F2ZWRfcHJvcHMgPSBbJ2Rpc3BsYXknLCd2
aXNpYmlsaXR5JywncG9zaXRpb24nLCd0b3AnLCdsZWZ0J10sIHNhdmUgPSB7fTsK
ICAgIGlmIChlbC5zdHlsZS5kaXNwbGF5ID09ICdub25lJykgewogICAgICAgIHZh
ciBsZW4gPSBzYXZlZF9wcm9wcy5sZW5ndGg7CiAgICAgICAgd2hpbGUgKGxlbi0t
KSB7CiAgICAgICAgICAgIHZhciBwcm9wID0gc2F2ZWRfcHJvcHNbbGVuXTsKICAg
ICAgICAgICAgc2F2ZVtwcm9wXSA9IGVsLnN0eWxlW3Byb3BdOwogICAgICAgIH0K
ICAgICAgICBlbC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7CiAgICAgICAg
ZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOwogICAgICAgIGVsLnN0eWxl
LnRvcCA9IGVsLnN0eWxlLmxlZnQgPSAnLTEwMDBweCc7CiAgICAgICAgZWwuc3R5
bGUuZGlzcGxheSA9ICcnOwogICAgfQoKICAgIHZhciBwb3NpdGlvbjsKICAgIGlm
IChlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QpIHsKICAgICAgICBwb3NpdGlvbiA9
IF9nZXRCb3VuZGluZ1JlY3RQb3NpdGlvbihlbCk7CiAgICB9IGVsc2UgewogICAg
ICAgIHBvc2l0aW9uID0gX2dldE9mZnNldFBvc2l0aW9uKGVsKTsKICAgIH0KCiAg
ICBpZiAoc2F2ZVtzYXZlZF9wcm9wc1swXV0pIHsKICAgICAgICB2YXIgbGVuID0g
c2F2ZWRfcHJvcHMubGVuZ3RoOwogICAgICAgIHdoaWxlIChsZW4tLSkgewogICAg
ICAgICAgICB2YXIgcHJvcCA9IHNhdmVkX3Byb3BzW2xlbl07CiAgICAgICAgICAg
IGVsLnN0eWxlW3Byb3BdID0gc2F2ZVtwcm9wXTsKICAgICAgICB9CiAgICB9Cgog
ICAgcmV0dXJuIHBvc2l0aW9uOwp9CmZ1bmN0aW9uIGdldEVsZW1Qb3MoZWwpIHsg
cmV0dXJuIGdldEVsZW1lbnRQb3NpdGlvbihlbCkgfQoKZnVuY3Rpb24gc2V0QWxw
aGEob2JqLCBhbHBoYSkgewogICAgYWxwaGEgPSBwYXJzZUludChhbHBoYSkKICAg
IGFscGhhID0gKGFscGhhID4gMTAwKSA/IDEwMCA6IChhbHBoYSA8IDEgPyAwIDog
YWxwaGEpOwogICAgaWYgKGRvY3VtZW50LmJvZHkuZmlsdGVycykgewogICAgICAg
IGlmIChpc0lFOCAvKnR5cGVvZiBvYmouc3R5bGUuTXNGaWx0ZXIgIT0gJ3VuZGVm
aW5lZCcqLykgewogICAgICAgICAgICBpZiAob2JqLmZpbHRlcnMuaXRlbSgnRFhJ
bWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEnKSkgewogICAgICAgICAgICAg
ICAgb2JqLmZpbHRlcnMuaXRlbSgnRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQu
QWxwaGEnKS5vcGFjaXR5ID0gYWxwaGE7CiAgICAgICAgICAgIH0gZWxzZSBpZiAo
b2JqLnN0eWxlLk1zRmlsdGVyKSB7CiAgICAgICAgICAgICAgICBvYmouc3R5bGUu
TXNGaWx0ZXIgPSBvYmouc3R5bGUuTXNGaWx0ZXIucmVwbGFjZSgvIiQvLCAnIHBy
b2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PScg
KyBhbHBoYSArICcpIicpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgb2JqLnN0eWxlLk1zRmlsdGVyID0gJyJwcm9naWQ6RFhJbWFnZVRyYW5z
Zm9ybS5NaWNyb3NvZnQuQWxwaGEob3BhY2l0eT0nICsgYWxwaGEgKyAnKSInOwog
ICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChvYmouZmlsdGVycy5p
dGVtKCdEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYScpKSB7CiAgICAg
ICAgICAgIG9iai5maWx0ZXJzLml0ZW0oJ0RYSW1hZ2VUcmFuc2Zvcm0uTWljcm9z
b2Z0LkFscGhhJykub3BhY2l0eSA9IGFscGhhOwogICAgICAgIH0gZWxzZSBpZiAo
b2JqLnN0eWxlLmZpbHRlcikgewogICAgICAgICAgICBvYmouc3R5bGUuZmlsdGVy
ICs9ICcgcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKG9w
YWNpdHk9JyArIGFscGhhICsgJyknOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgIG9iai5zdHlsZS5maWx0ZXIgPSAncHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0u
TWljcm9zb2Z0LkFscGhhKG9wYWNpdHk9JyArIGFscGhhICsgJyknOwogICAgICAg
IH0KICAgIH0gZWxzZSB7CiAgICAgICAgb2JqLnN0eWxlLm9wYWNpdHkgPSBhbHBo
YS8xMDA7CiAgICB9Cn0KCmZ1bmN0aW9uIHNldFBuZ0JnKGVsZW0sIHNyYykgewog
ICAgaWYgKGRvY3VtZW50LmJvZHkuZmlsdGVycyAmJiAhc3JjLmluZGV4T2YoJ2ll
cG5nJykpIHsKICAgICAgICBlbGVtLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICd1
cmwoaHR0cDovL2ltZy5tYWlsLnJ1LzAuZ2lmKSc7CiAgICAgICAgZWxlbS5zdHls
ZS5maWx0ZXIgPSAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFs
cGhhSW1hZ2VMb2FkZXIoc3JjPSciICsgc3JjICsgIicsc2l6aW5nTWV0aG9kPSdz
Y2FsZScpIjsKICAgIH0gZWxzZSB7CiAgICAgICAgZWxlbS5zdHlsZS5iYWNrZ3Jv
dW5kSW1hZ2UgPSAndXJsKCcgKyBzcmMgKyAnKSc7CiAgICB9Cn0KCmZ1bmN0aW9u
IGdldE1vdXNlUG9zKGV2ZW50KSB7CiAgICB2YXIgZG9jRWxlbWVudCA9IGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudCwKICAgICAgICBib2R5ID0gZG9jdW1lbnQuYm9k
eSB8fCB7IHNjcm9sbExlZnQ6IDAsIHNjcm9sbFRvcDogMCB9OwogICAgcmV0dXJu
IHsKICAgICAgICB4OiBwYXJzZUludCggZXZlbnQucGFnZVggfHwgKGV2ZW50LmNs
aWVudFggKwogICAgICAgICAgICAoZG9jRWxlbWVudC5zY3JvbGxMZWZ0IHx8IGJv
ZHkuc2Nyb2xsTGVmdCkgLQogICAgICAgICAgICAoZG9jRWxlbWVudC5jbGllbnRM
ZWZ0IHx8IDApKSApLAogICAgICAgIHk6IHBhcnNlSW50KCBldmVudC5wYWdlWSB8
fCAoZXZlbnQuY2xpZW50WSArCiAgICAgICAgICAgIChkb2NFbGVtZW50LnNjcm9s
bFRvcCB8fCBib2R5LnNjcm9sbFRvcCkgLQogICAgICAgICAgICAoZG9jRWxlbWVu
dC5jbGllbnRUb3AgfHwgMCkpICkKICAgIH07Cn0KCmZ1bmN0aW9uIGNhbmNlbEV2
ZW50KGV2ZW50KSB7CiAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlOwogICAg
ZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTsKICAgIGlmIChldmVudC5zdG9wUHJv
cGFnYXRpb24pIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgaWYgKGV2ZW50
LnByZXZlbnREZWZhdWx0KSBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwp9CgpmdW5j
dGlvbiBnZXRDbGllbnRXaWR0aCgpIHsKICAgIHJldHVybiAoZG9jdW1lbnQuY29t
cGF0TW9kZT09J0NTUzFDb21wYXQnICYmICF3aW5kb3cub3BlcmEpID8gZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDogZG9jdW1lbnQuYm9keS5j
bGllbnRXaWR0aDsKfQpmdW5jdGlvbiBnZXRWaWV3cG9ydFdpZHRoKCkgeyByZXR1
cm4gZ2V0Q2xpZW50V2lkdGgoKSB9CgpmdW5jdGlvbiBnZXRDbGllbnRIZWlnaHQo
KSB7CiAgICByZXR1cm4gTWF0aC5taW4oCiAgICAgICAgKGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudCA/IHBhcnNlSW50KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5j
bGllbnRIZWlnaHQpIDogMCksCiAgICAgICAgKGRvY3VtZW50LmJvZHkgPyBwYXJz
ZUludChkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCkgOiAwKQogICAgKTsKfQpm
dW5jdGlvbiBnZXRWaWV3cG9ydEhlaWdodCgpIHsgcmV0dXJuIGdldENsaWVudEhl
aWdodCgpIH0KCmZ1bmN0aW9uIGdldEJvZHlTY3JvbGxUb3AoKSB7CiAgICByZXR1
cm4gc2VsZi5wYWdlWU9mZnNldCB8fCAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3ApIHx8IChkb2N1
bWVudC5ib2R5ICYmIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKTsKfQoKZnVuY3Rp
b24gZ2V0Qm9keVNjcm9sbExlZnQoKSB7CiAgICByZXR1cm4gc2VsZi5wYWdlWE9m
ZnNldCB8fCAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRv
Y3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0KSB8fCAoZG9jdW1lbnQuYm9keSAmJiBk
b2N1bWVudC5ib2R5LnNjcm9sbExlZnQpOwp9CgpmdW5jdGlvbiBnZXRCb2R5U2Ny
b2xsSGVpZ2h0KCkgeyByZXR1cm4gZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQg
fQoKZnVuY3Rpb24gZ2V0Qm9keVNjcm9sbFdpZHRoKCkgewogICAgcmV0dXJuIE1h
dGgubWF4KAogICAgICAgIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgPyBwYXJz
ZUludChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsV2lkdGgpIDogMCks
CiAgICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxXaWR0aAogICAgKTsKfQoKZnVu
Y3Rpb24gc2hhZG93RGl2KGtleSwgY29sb3IpewogICAgdmFyIHNoYWQgPSBnZWJp
KCdzaGFkb3dfZGl2Jyk7CiAgICBpZiAoIWNvbG9yKSBjb2xvciA9ICcjMzMzJzsK
ICAgIGlmIChrZXkgPT0gJzEnKSB7CiAgICAgICAgc2hhZC5zdHlsZS5iYWNrZ3Jv
dW5kQ29sb3IgPSBjb2xvcjsKICAgICAgICBzaGFkLnN0eWxlLmhlaWdodCA9IGRv
Y3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0OwogICAgICAgIHNoYWQuc3R5bGUuZGlz
cGxheT0gJyc7CiAgICB9IGVsc2UgewogICAgICAgIHNoYWQuc3R5bGUuZGlzcGxh
eT0gJ25vbmUnOwogICAgfQp9CgpmdW5jdGlvbiBhZGRDc3NDbGFzcyhlbGVtLCBj
bGFzc25hbWUpIHsKICAgIGVsZW0gPSAkKGVsZW0pOwogICAgdmFyIHJlID0gbmV3
IFJlZ0V4cCgnXFxiJytjbGFzc25hbWUrJ1xcYicsICdpJyk7CiAgICBpZiAoIHJl
LnRlc3QoZWxlbS5jbGFzc05hbWUpICkgcmV0dXJuOwogICAgZWxlbS5jbGFzc05h
bWUgPSBlbGVtLmNsYXNzTmFtZSArICcgJyArIGNsYXNzbmFtZTsKfQpmdW5jdGlv
biByZW1vdmVDc3NDbGFzcyhlbGVtLCBjbGFzc25hbWUpIHsKICAgIGVsZW0gPSAk
KGVsZW0pOwogICAgdmFyIHJlID0gbmV3IFJlZ0V4cCgnXFxzKlxcYicrY2xhc3Nu
YW1lKydcXGJcXHMqJywgJ2knKTsKICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5j
bGFzc05hbWUucmVwbGFjZShyZSwgJyAnKTsKfQovLyBzd2l0Y2ggb25lIGNsYXNz
IE9OL09GRiBvciBzd2l0Y2ggYmV0d2VlbiB0d28gY2xhc3NlcwpmdW5jdGlvbiBz
d2l0Y2hDc3NDbGFzcyhlbGVtLCByZW1vdmVfY2xhc3MsIGFkZF9jbGFzcykgewog
ICAgZWxlbSA9ICQoZWxlbSk7CiAgICB2YXIgcmUgPSBuZXcgUmVnRXhwKCdcXGIn
ICsgcmVtb3ZlX2NsYXNzICsgJ1xcYicsICdpJyk7CiAgICBpZiAoIHJlLnRlc3Qo
ZWxlbS5jbGFzc05hbWUpICkgewogICAgICAgIHJlbW92ZUNzc0NsYXNzKGVsZW0s
IHJlbW92ZV9jbGFzcyk7CiAgICAgICAgaWYgKGFkZF9jbGFzcykgYWRkQ3NzQ2xh
c3MoZWxlbSwgYWRkX2NsYXNzKTsKICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKGFk
ZF9jbGFzcykgcmVtb3ZlQ3NzQ2xhc3MoZWxlbSwgYWRkX2NsYXNzKTsKICAgICAg
ICBhZGRDc3NDbGFzcyhlbGVtLCByZW1vdmVfY2xhc3MpOwogICAgfQp9CgpmdW5j
dGlvbiBzZXRTZWxlY3RWYWx1ZShzZWxlY3QsIHZhbHVlKSB7CiAgICB2YXIgbGVu
ID0gc2VsZWN0Lm9wdGlvbnMubGVuZ3RoOwogICAgd2hpbGUgKGxlbi0tKSB7CiAg
ICAgICAgdmFyIG9wdGlvbiA9IHNlbGVjdC5vcHRpb25zW2xlbl07CiAgICAgICAg
aWYgKG9wdGlvbi52YWx1ZSA9PSB2YWx1ZSkgewogICAgICAgICAgICBzZWxlY3Qu
c2VsZWN0ZWRJbmRleCA9IGxlbjsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
fQogICAgfQp9CgpmdW5jdGlvbiBnZXRTZWxlY3RWYWx1ZShzZWxlY3QpIHsKICAg
IHJldHVybiBzZWxlY3QudmFsdWU7Cn0KCmZ1bmN0aW9uIHNldFJhZGlvVmFsdWUo
cmFkaW8sIHZhbHVlKSB7CiAgICB2YXIgbGVuID0gcmFkaW8ubGVuZ3RoOwogICAg
aWYgKGxlbiA9PSB1bmRlZmluZWQpIHsKICAgICAgICByYWRpby5jaGVja2VkID0g
KHJhZGlvLnZhbHVlID09IHZhbHVlLnRvU3RyaW5nKCkpOwogICAgICAgIHJldHVy
bjsKICAgIH0KICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKICAg
ICAgICByYWRpb1tpXS5jaGVja2VkID0gZmFsc2U7CiAgICAgICAgaWYgKHJhZGlv
W2ldLnZhbHVlID09IHZhbHVlLnRvU3RyaW5nKCkpIHsKICAgICAgICAgICAgcmFk
aW9baV0uY2hlY2tlZCA9IHRydWU7CiAgICAgICAgfQogICAgfQp9CgpmdW5jdGlv
biBnZXRSYWRpb1ZhbHVlKHJhZGlvKSB7CiAgICB2YXIgbGVuID0gcmFkaW8ubGVu
Z3RoOwogICAgaWYgKGxlbiA9PSB1bmRlZmluZWQpIHsKICAgICAgICBpZiAocmFk
aW8uY2hlY2tlZCkgewogICAgICAgICAgICByZXR1cm4gcmFkaW8udmFsdWU7CiAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgIH0K
ICAgIH0KICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKICAgICAg
ICBpZiAocmFkaW9baV0uY2hlY2tlZCkgewogICAgICAgICAgICByZXR1cm4gcmFk
aW9baV0udmFsdWU7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuICcnOwp9Cgpm
dW5jdGlvbiByZ2JUb0hleChjKSB7CiAgICBpZiAoIWMubWF0Y2goL3JnYi9pZykp
IHJldHVybiBjOyAvLyDl8evoIO3lIO3z5u3uIO/w5e7h8ODn7uL74OLy/AogICAg
dmFyIGMsIHMsIGksIGggPSAnJywgeD0nMDEyMzQ1Njc4OUFCQ0RFRic7CiAgICBp
ZiAoYykgewogICAgICAgIGMgPSBjLnJlcGxhY2UoL3JnYlwoL2lnLCcnKTsKICAg
ICAgICBjID0gYy5yZXBsYWNlKC9cKS9pZywnJyk7CiAgICAgICAgcyA9IGMuc3Bs
aXQoJywnKTsKCiAgICAgICAgZm9yIChpPTA7IGkgPCAzOyBpKyspIHsKICAgICAg
ICAgICAgbiA9IHBhcnNlSW50KHNbaV0pOwogICAgICAgICAgICBoICs9IHguY2hh
ckF0KHBhcnNlSW50KG4vMTYpKSArIHguY2hhckF0KG4lMTYpOwogICAgICAgIH0K
ICAgICAgICByZXR1cm4gJyMnK2g7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVy
biBmYWxzZTsKICAgIH0KfQoKCgppZiAoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cikgewogICAgZnVuY3Rpb24gYWRkSGFuZGxlcihvYmplY3QsIGV2ZW50TmFtZSwg
aGFuZGxlcikgewogICAgICAgIHZhciBuYW1lID0gZ2V0RE9NRXZlbnROYW1lKGV2
ZW50TmFtZSk7CiAgICAgICAgb2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIobmFtZSwg
aGFuZGxlciwgZmFsc2UpOwogICAgfQp9IGVsc2UgaWYgKGRvY3VtZW50LmF0dGFj
aEV2ZW50KSB7CiAgICBmdW5jdGlvbiBhZGRIYW5kbGVyKG9iamVjdCwgZXZlbnRO
YW1lLCBoYW5kbGVyKSB7CiAgICAgICAgdmFyIG5hbWUgPSBnZXRET01FdmVudE5h
bWUoZXZlbnROYW1lKTsKICAgICAgICBvYmplY3QuYXR0YWNoRXZlbnQoJ29uJyAr
IG5hbWUsIGhhbmRsZXIpOwogICAgfQp9CgppZiAoZG9jdW1lbnQucmVtb3ZlRXZl
bnRMaXN0ZW5lcikgewogICAgZnVuY3Rpb24gcmVtb3ZlSGFuZGxlcihvYmplY3Qs
IGV2ZW50TmFtZSwgaGFuZGxlcikgewogICAgICAgIHZhciBuYW1lID0gZ2V0RE9N
RXZlbnROYW1lKGV2ZW50TmFtZSk7CiAgICAgICAgb2JqZWN0LnJlbW92ZUV2ZW50
TGlzdGVuZXIobmFtZSwgaGFuZGxlciwgZmFsc2UpOwogICAgfQp9IGVsc2UgaWYg
KGRvY3VtZW50LmRldGFjaEV2ZW50KSB7CiAgICBmdW5jdGlvbiByZW1vdmVIYW5k
bGVyKG9iamVjdCwgZXZlbnROYW1lLCBoYW5kbGVyKSB7CiAgICAgICAgdmFyIG5h
bWUgPSBnZXRET01FdmVudE5hbWUoZXZlbnROYW1lKTsKICAgICAgICBvYmplY3Qu
ZGV0YWNoRXZlbnQoJ29uJyArIG5hbWUsIGhhbmRsZXIpOwogICAgfQp9CgpmdW5j
dGlvbiBnZXRET01FdmVudE5hbWUoZXZlbnROYW1lKSB7CiAgaWYgKGV2ZW50TmFt
ZSAmJiBldmVudE5hbWUuaW5kZXhPZignOicpICE9IC0xKSByZXR1cm4gJ2RhdGFh
dmFpbGFibGUnOwogIHJldHVybiBldmVudE5hbWU7Cn0KCi8vIGRvbTpsb2FkZWQs
IGRlcml2ZWQgZnJvbSBwcm90b3R5cGUuanMKZnVuY3Rpb24gZmlyZShlbGVtZW50
LCBldmVudE5hbWUsIG1lbW8pIHsKICBlbGVtZW50ID0gJChlbGVtZW50KTsKICBp
ZiAoZWxlbWVudCA9PSBkb2N1bWVudCAmJiBkb2N1bWVudC5jcmVhdGVFdmVudCAm
JiAhZWxlbWVudC5kaXNwYXRjaEV2ZW50KQogICAgZWxlbWVudCA9IGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudDsKCiAgdmFyIGV2ZW50LCBuYW1lID0gZ2V0RE9NRXZl
bnROYW1lKGV2ZW50TmFtZSk7CiAgaWYgKGRvY3VtZW50LmNyZWF0ZUV2ZW50KSB7
CiAgICBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7
CiAgICBldmVudC5pbml0RXZlbnQobmFtZSwgdHJ1ZSwgdHJ1ZSk7CiAgfSBlbHNl
IHsKICAgIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QoKTsKICAg
IGV2ZW50LmV2ZW50VHlwZSA9ICdvbicgKyBuYW1lOwogIH0KCiAgZXZlbnQuZXZl
bnROYW1lID0gZXZlbnROYW1lOwogIGV2ZW50Lm1lbW8gPSBtZW1vIHx8IHt9OwoK
ICBpZiAoZG9jdW1lbnQuY3JlYXRlRXZlbnQpIHsKICAgIGVsZW1lbnQuZGlzcGF0
Y2hFdmVudChldmVudCk7CiAgfSBlbHNlIHsKICAgIGVsZW1lbnQuZmlyZUV2ZW50
KGV2ZW50LmV2ZW50VHlwZSwgZXZlbnQpOwogIH0KCiAgcmV0dXJuIGV2ZW50Owp9
CgooZnVuY3Rpb24oKSB7CiAgLyogU3VwcG9ydCBmb3IgdGhlIERPTUNvbnRlbnRM
b2FkZWQgZXZlbnQgaXMgYmFzZWQgb24gd29yayBieSBEYW4gV2ViYiwKICAgICBN
YXR0aGlhcyBNaWxsZXIsIERlYW4gRWR3YXJkcyBhbmQgSm9obiBSZXNpZy4gKi8K
CiAgdmFyIHRpbWVyOwoKICBmdW5jdGlvbiBmaXJlQ29udGVudExvYWRlZEV2ZW50
KCkgewogICAgaWYgKGRvY3VtZW50LmxvYWRlZCkgcmV0dXJuOwogICAgaWYgKHRp
bWVyKSB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aW1lcik7CiAgICBmaXJlKGRvY3Vt
ZW50LCAnZG9tOmxvYWRlZCcpOwogICAgZG9jdW1lbnQubG9hZGVkID0gdHJ1ZTsK
ICB9CgogIGlmIChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKSB7CiAgICBpZiAo
bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdBcHBsZVdlYktpdC8nKSA+IC0x
KSB7CiAgICAgIHRpbWVyID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uKCkg
ewogICAgICAgIGlmICgvbG9hZGVkfGNvbXBsZXRlLy50ZXN0KGRvY3VtZW50LnJl
YWR5U3RhdGUpKQogICAgICAgICAgZmlyZUNvbnRlbnRMb2FkZWRFdmVudCgpOwog
ICAgICB9LCAwKTsKCiAgICAgIGFkZEhhbmRsZXIod2luZG93LCAnbG9hZCcsIGZp
cmVDb250ZW50TG9hZGVkRXZlbnQpOwoKICAgIH0gZWxzZSB7CiAgICAgIGRvY3Vt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmaXJlQ29u
dGVudExvYWRlZEV2ZW50LCBmYWxzZSk7CiAgICB9CgogIH0gZWxzZSB7CiAgICAv
LyBodHRwOi8vZGVhbi5lZHdhcmRzLm5hbWUvd2VibG9nLzIwMDYvMDYvYWdhaW4v
I2NvbW1lbnQzMzU3OTQKICAgIGlmIChkb2N1bWVudC5ib2R5KSB7CiAgICAgIHRy
eSB7CiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCds
ZWZ0Jyk7CiAgICAgICAgZmlyZUNvbnRlbnRMb2FkZWRFdmVudCgpOwogICAgICB9
IGNhdGNoKGUpIHt9CiAgICB9CiAgICBpZiAoIWRvY3VtZW50LmxvYWRlZCkgc2V0
VGltZW91dChhcmd1bWVudHMuY2FsbGVlLCA1MCk7CiAgfQp9KSgpOwo=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=pulldown.js
Content-Type: application/x-javascript; name=pulldown.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/pulldown.js?13
Content-Transfer-Encoding: Base64
Lyog4vvv4OTz+OrgICovCgpkb2N1bWVudC5kb21haW49J21haWwucnUnOwoKdmFy
IF9saW5rX2E7CnZhciBldnRfYTsKdmFyIGpvdXJuYWxfZW1haWxfYTsKdmFyIGpv
dXJuYWxfbmlja19hOwp2YXIgam91cm5hbF9kaXJfYTsKdmFyIG5vdF9zaG93X3Rv
cDsKdmFyIG5vdF9zaG93X2F2YXRhciA9IDA7CnZhciBodG1sX2dyb3VwcyA9ICIi
OwoKZnVuY3Rpb24gemFnbHVzaGthKCkKewogICAgdmFyIGRpdiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ1c2VyRHJvcERvd25JZCIpOwogICAgLy8gx+Dk4OXs
IO/u6+7m5e3o5SBkaXYt4AogICAgZGl2LnN0eWxlLndpZHRoPTE5MDsKICAgIGRp
di5zdHlsZS5oZWlnaHQ9MTU1OwogICAgZGl2LmlubmVySFRNTCA9ICc8ZGl2IHN0
eWxlPSJ3aWR0aDoxOTBweDtoZWlnaHQ6MTU1cHg7YmFja2dyb3VuZDojZjRmNGY0
IHVybChodHRwOi8vaW1nLm1haWwucnUvbWFpbC9ydS9pbWFnZXMvYmxvZ3MvbG9h
ZGluZy5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0OyI+PHNwYWNlci8+PC9k
aXY+JzsKICAgIGRpdi5zdHlsZS50b3AgPSBhYnNQb3NpdGlvbihfbGlua19hKS55
ICsgX2xpbmtfYS5vZmZzZXRIZWlnaHQ7CiAgICBkaXYuc3R5bGUubGVmdCA9IChz
Y3JlZW5TaXplKCkudyAtIGFic1Bvc2l0aW9uKF9saW5rX2EpLnggLSAxOTAgPiAw
KSA/IGFic1Bvc2l0aW9uKF9saW5rX2EpLnggOiBhYnNQb3NpdGlvbihfbGlua19h
KS54IC0gMTkwICsgX2xpbmtfYS5vZmZzZXRXaWR0aDsKICAgIGRpdi5zdHlsZS5k
aXNwbGF5ID0gIiI7CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGdldF9m
cmllbmRfc3RhdHVzKGVtYWlsLCBmdW5jX2NhbGxiYWNrKQp7CiAgICAvKmlmIChu
b3Rfc2hvd190b3AgPT0gMSkKICAgIHsKICAgICAgICByZW1vdmVIYW5kbGVyKGRv
Y3VtZW50LCAiY2xpY2siLCB1c2VyTWVudUhpZGUpOwogICAgICAgIGJ1YmJsZSgp
OwogICAgICAgIHVzZXJNZW51U2hvdyhfbGlua19hLCBldnRfYSwgam91cm5hbF9l
bWFpbF9hLCBqb3VybmFsX25pY2tfYSwgam91cm5hbF9kaXJfYSwwLDAsMCwwLG5v
dF9zaG93X3RvcCk7CiAgICB9CiAgICBlbHNlCiAgICB7Ki8KICAgICAgICBpbWcg
PSBfbGlua19hLmZpcnN0Q2hpbGQ7CiAgICAgICAgaWYoaW1nLm5vZGVOYW1lID09
ICJJTUciKQogICAgICAgIHsKICAgICAgICAgICAgLy8g7/DoIO7y6vD78u7pIOrg
6u7pIOvo4e4g4vvv4OTz+OrlCiAgICAgICAgICAgIGlmKGdlYmkoJ3VzZXJEcm9w
RG93bklkJykuc3R5bGUuZGlzcGxheSA9PScnKQogICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAvLyDv8Ogg6uvo6uUg7eAg8vMg5uUg8eDs8/4g4vvv4OTz+Orz
IO/l8OXi5fL74uDl7CjiIO7h+/ft7uUg7+7r7ubl7ejlKSDl5SDq4PDy6O3q8wog
ICAgICAgICAgICAgICAgaWYoaW1nLmlkID09ICdvcGVuX3B1bGxkb3duJykKICAg
ICAgICAgICAgICAgICAgICBjaGFuZ2VJbWcoaW1nKTsKICAgICAgICAgICAgICAg
IHVzZXJNZW51SGlkZV8yKCk7CiAgICAgICAgICAgICAgICAvLyDv8Ogg6uvo6uUg
7eAg5PDz4/P+IOL77+Dk8/jq8ywg7+Xw5fDy++Lg5ewo4iDu4fv37e7lIO/u6+7m
5e3o5Skg8vMg6uDw8ujt6vMg6u7y8OD/IPPm5SDh++vgIO7y6vL78uAg8ODt5eUK
ICAgICAgICAgICAgICAgIGlmKG9wZW5faW1nID0gZ2ViaSgnb3Blbl9wdWxsZG93
bicpKQogICAgICAgICAgICAgICAgICAgIGNoYW5nZUltZyhvcGVuX2ltZyk7CiAg
ICAgICAgICAgICAgICBlbHNlIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoK
ICAgICAgICAgICAgLy8g7/DoIOrr6OrlIO3gIOL77+Dk8/jq8yDv5fDl4uXw8vvi
4OXsIOrg8PLo7erzIO3gIO/w7vLo4u7v7uvu5u3z/gogICAgICAgICAgICBjaGFu
Z2VJbWcoaW1nKTsKICAgICAgICB9CgogICAgICAgIHJlbW92ZUhhbmRsZXIoZG9j
dW1lbnQsICJjbGljayIsIHVzZXJNZW51SGlkZSk7CiAgICAgICAgYnViYmxlKCk7
CiAgICAgICAgemFnbHVzaGthKCk7CiAgICAgICAgcGVybF9nZXRfZnJpZW5kX3N0
YXR1cyhlbWFpbCwgZnVuY19jYWxsYmFjayk7CiAgICAvL30KfQpmdW5jdGlvbiBj
aGFuZ2VJbWcoaW1nKQp7CiAgICB2YXIgY2hhbmdlID0gMDsKICAgIHZhciBub3Rf
Y2hhbmdlOwogICAgdmFyIGFjdCA9ICd1c2VyX2Fycm93X2FjdC5naWYnOwogICAg
dmFyIHBhcyA9ICd1c2VyX2Fycm93X3Bhcy5naWYnOwogICAgdmFyIGFjdF8xID0g
J3VzZXJfYXJyb3dfYWN0XzEuZ2lmJzsKICAgIHZhciBwYXNfMSA9ICd1c2VyX2Fy
cm93X3Bhc18xLmdpZic7CgogICAgaWYoaW1nLmlkKQogICAgICAgIGltZy5pZCA9
ICIiOwogICAgZWxzZQogICAgICAgIGltZy5pZCA9ICJvcGVuX3B1bGxkb3duIjsK
CiAgICBzcmMgPSBpbWcuc3JjOwoKICAgIGlmKHNyYy5pbmRleE9mKGFjdCkhPS0x
KQogICAgewogICAgICAgIGNoYW5nZSA9IGFjdF8xOwogICAgICAgIG5vdF9jaGFu
Z2UgPSBhY3Q7CiAgICB9CiAgICBpZihzcmMuaW5kZXhPZihhY3RfMSkhPS0xKQog
ICAgewogICAgICAgIGNoYW5nZSA9IGFjdDsKICAgICAgICBub3RfY2hhbmdlID0g
YWN0XzE7CiAgICB9CiAgICBpZihzcmMuaW5kZXhPZihwYXMpIT0tMSkKICAgIHsK
ICAgICAgICBjaGFuZ2UgPSBwYXNfMTsKICAgICAgICBub3RfY2hhbmdlID0gcGFz
OwogICAgfQogICAgaWYoc3JjLmluZGV4T2YocGFzXzEpIT0tMSkKICAgIHsKICAg
ICAgICBjaGFuZ2UgPSBwYXM7CiAgICAgICAgbm90X2NoYW5nZSA9IHBhc18xOwog
ICAgfQoKICAgIGlmKGNoYW5nZSkKICAgIHsKICAgICAgICBzcmMgPSBzcmMucmVw
bGFjZShub3RfY2hhbmdlLCBjaGFuZ2UpOwogICAgICAgIGltZy5zcmMgPSBzcmM7
CiAgICB9Cn0KCmZ1bmN0aW9uIHNob3dfZnJpZW5kX2dyb3VwX3NlbGVjdG9yX2Nh
bGxiYWNrMShncm91cHMsaGFzX2RlZmF1bHRfZ3JvdXAsZGl2X25hbWUsam91cm5h
bF9lbWFpbCkKewogICAgdmFyIHBhcnRpY2lwYXRlID0gMDsKICAgIGFkZFRvRnJp
ZW5kcyhncm91cHMsaGFzX2RlZmF1bHRfZ3JvdXAsam91cm5hbF9lbWFpbCxwYXJ0
aWNpcGF0ZSk7CiAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImRpdkZvckZyaWVuZHNJZCIpOwogICAgZGl2LnN0eWxlLmRpc3BsYXkgPSAiIjsK
fQoKZnVuY3Rpb24gc2hvd19wYXJ0aWNpcGF0ZV9ncm91cF9zZWxlY3Rvcl9jYWxs
YmFjazEoZ3JvdXBzLGhhc19kZWZhdWx0X2dyb3VwLGRpdl9uYW1lLGpvdXJuYWxf
ZW1haWwpCnsKICAgIHZhciBwYXJ0aWNpcGF0ZSA9IDE7CiAgICBhZGRUb0ZyaWVu
ZHMoZ3JvdXBzLGhhc19kZWZhdWx0X2dyb3VwLGpvdXJuYWxfZW1haWwscGFydGlj
aXBhdGUpOwogICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk
aXZGb3JGcmllbmRzSWQiKTsKICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gIiI7Cn0K
CmZ1bmN0aW9uIGdldF9qb3VybmFsX2VtYWlsX2NhbGxiYWNrKGlzX2ZyaWVuZCwg
aXNfc3Vic2NyLCBpc19jb21tdW5pdHkpCnsKICAgIHZhciBwYXJ0aWNpcGF0ZSA9
IDA7CiAgICAvL3BlcmxfZmV0Y2hfZ3JvdXBzKCcnLGpvdXJuYWxfZW1haWxfYSxz
aG93X2ZyaWVuZF9ncm91cF9zZWxlY3Rvcl9jYWxsYmFjazEpOwogICAgcmVtb3Zl
SGFuZGxlcihkb2N1bWVudCwgImNsaWNrIiwgdXNlck1lbnVIaWRlKTsKICAgIHVz
ZXJNZW51U2hvdyhfbGlua19hLCBldnRfYSwgam91cm5hbF9lbWFpbF9hLCBqb3Vy
bmFsX25pY2tfYSwgam91cm5hbF9kaXJfYSwgaXNfZnJpZW5kLCBpc19zdWJzY3Is
IGlzX2NvbW11bml0eSwgcGFydGljaXBhdGUsIG5vdF9zaG93X3RvcCk7Cn0KCmZ1
bmN0aW9uIGdldF9qb3VybmFsX2VtYWlsX3BhcnRpY2lwYXRlX2NhbGxiYWNrKGlz
X2ZyaWVuZCwgaXNfc3Vic2NyLCBpc19jb21tdW5pdHkpCnsKICAgIHZhciBwYXJ0
aWNpcGF0ZSA9IDE7CiAgICAvL3BlcmxfZmV0Y2hfZ3JvdXBzKCcnLGpvdXJuYWxf
ZW1haWxfYSxzaG93X3BhcnRpY2lwYXRlX2dyb3VwX3NlbGVjdG9yX2NhbGxiYWNr
MSk7CiAgICByZW1vdmVIYW5kbGVyKGRvY3VtZW50LCAiY2xpY2siLCB1c2VyTWVu
dUhpZGUpOwogICAgdXNlck1lbnVTaG93KF9saW5rX2EsIGV2dF9hLCBqb3VybmFs
X2VtYWlsX2EsIGpvdXJuYWxfbmlja19hLCBqb3VybmFsX2Rpcl9hLCBpc19mcmll
bmQsIGlzX3N1YnNjciwgaXNfY29tbXVuaXR5LCBwYXJ0aWNpcGF0ZSwgbm90X3No
b3dfdG9wKTsKfQoKZnVuY3Rpb24gZGlzYWJsZV9ncm91cF9jaGVja2JveGVzMSgp
CnsKICAgIHZhciBncm91cF9zZWxlY3Rvcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZ3JvdXBfc2VsZWN0b3JfZm9ybTEiKTsKICAgIHZhciByYWRpbz1kb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYWRkX3dpdGhvdXRfZ3JvdXAxIik7CiAgICBpZihn
cm91cF9zZWxlY3RvciAmJiByYWRpbykgewogICAgICAgIGZvcihpPTA7aTxncm91
cF9zZWxlY3Rvci5lbGVtZW50cy5sZW5ndGgtMTtpKyspCiAgICAgICAgaWYoZ3Jv
dXBfc2VsZWN0b3IuZWxlbWVudHNbaV0ubmFtZT09Imdyb3VwIikKICAgICAgICAg
ICAgZ3JvdXBfc2VsZWN0b3IuZWxlbWVudHNbaV0uZGlzYWJsZWQ9cmFkaW8uY2hl
Y2tlZDsKICAgIH0KfQoKZnVuY3Rpb24gbmV3X2dyb3VwMSgpCnsKICAgIC8vaHRt
bF9ncm91cHMgPSAiIjsKICAgIG5ld19uYW1lPXByb21wdCgiwuLl5Ojy5SDo7P8g
7e7i7ukg4/Dz7+/7IiwiIik7CiAgICBpZihuZXdfbmFtZSE9dW5kZWZpbmVkKSB7
CiAgICAgICAgcGVybF9uZXdfZ3JvdXBfZm9yX2FjdGl2ZV91c2VyKG5ld19uYW1l
LG5ld19ncm91cF9jYWxsYmFjazEpOwogICAgfQp9CgpmdW5jdGlvbiBuZXdfZ3Jv
dXBfY2FsbGJhY2sxKGdyb3VwX2lkLG5hbWUsbmFtZV93b193YnIpCnsKICAgIHZh
ciBpbm5lckhUTUw9IjxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9Z3JvdXAgdmFs
dWU9XCIiK2dyb3VwX2lkKyJcIiBpZD1ncm91cF8iCiAgICAgICAgK2dyb3VwX2lk
KyIgY2hlY2tlZD4mbmJzcDs8bGFiZWwgZm9yPWdyb3VwXyIrZ3JvdXBfaWQrIj4i
K25hbWUrIjwvbGFiZWw+PGJyPiI7CiAgICB2YXIgc3Bhbj1kb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzcGFuIik7CiAgICBzcGFuLmlkPSJncm91cF9zcGFuXyIrZ3Jv
dXBfaWQ7CiAgICBzcGFuLmlubmVySFRNTD1pbm5lckhUTUw7CiAgICB2YXIgZ3Jv
dXBzX2NoZWNrYm94ZXM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyb3Vwc19j
aGVja2JveGVzMSIpOwogICAgaWYoZ3JvdXBzX2NoZWNrYm94ZXMpIHsKICAgICAg
ICBncm91cHNfY2hlY2tib3hlcy5hcHBlbmRDaGlsZChzcGFuKTsKICAgIH0KICAg
IHZhciByYWRpbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWRkX3dpdGhfZ3Jv
dXAxIik7CiAgICBpZihyYWRpbykgewogICAgICAgIHJhZGlvLmRpc2FibGVkPWZh
bHNlOwogICAgICAgIHJhZGlvLmNoZWNrZWQ9dHJ1ZTsKICAgIH0KICAgIGRpc2Fi
bGVfZ3JvdXBfY2hlY2tib3hlczEoKTsKfQoKLy8g1PPt6vbo/yDk6/8g7u/w5eTl
6+Xt6P8g8ODn7OXw7uIg4ujk6Ozu6SDu4evg8fLoIO7q7eAg4fDg8+fl8OAKZnVu
Y3Rpb24gc2NyZWVuU2l6ZSgpIHsKICAgIHZhciB3LCBoOyAvLyDO4fr/4uv/5ewg
7+Xw5ezl7e375SwgdyAtIOTr6O3gLCBoIC0g4vvx7vLgCiAgICB3ID0gd2luZG93
LmRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg7CiAgICBoID0gd2luZG93LmRvY3Vt
ZW50LmJvZHkuY2xpZW50SGVpZ2h0OwogICAgcmV0dXJuIHt3OncsIGg6aH07Cn0K
Ly8g1PPt6vbo/yDk6/8g7/Dl5O7y4vDg+eXt6P8g4vHv6/vi4O3o/yDx7uH78ujp
CmZ1bmN0aW9uIGJ1YmJsZSgpIHsKICAgIGlmICh3aW5kb3cuZXZlbnQgIT0gdW5k
ZWZpbmVkKSB3aW5kb3cuZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTsKICAgIGVs
c2UgZXZ0X2EuY2FuY2VsQnViYmxlID0gdHJ1ZTsKfQovLyDU8+3q9uj/IOPl7eXw
4Pbo6CDt4OTv6PHoIOgg8fH76+roIOTr/yDv7uTv6PHq6C/u8u/o8eroIO7yIO7h
7e7i6+Xt6OkKZnVuY3Rpb24gcG9zdHNfc3Vic2NyaWJlX25hbWVsaW5rKGlzX3N1
YnNjciwgaXNfY29tbXVuaXR5LCBlbWFpbCkgewogICAgdmFyIHN1YnNjcjsKICAg
IHZhciBsaW5rX3N1YnNjcjsKICAgIHZhciBvbmZ1bmM7CiAgICBpZiAoaXNfc3Vi
c2NyID09IDApIHsKICAgICAgICBzdWJzY3IgPSAnPGltZyBjbGFzcz0iaWNvbiBJ
RXBuZyIgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fc3Vic2Ny
aWJlLnBuZyIgYWxpZ249ImFic21pZGRsZSIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2
IiBhbHQ9Is/u5O/o8eDy/PH/IO3gIO7h7e7i6+Xt6P8iIGJvcmRlcj0iMCIgLz7P
7uTv6PHg8vzx/yDt4CDu4e3u4uvl7ej/JzsKICAgICAgICBpZiAoaXNfY29tbXVu
aXR5ID09IDEpIHsKICAgICAgICAgICAgbGlua19zdWJzY3IgPSAnaHR0cDovL3Iu
bWFpbC5ydS9jbG4zNTk4Lyc7CiAgICAgICAgICAgIC8vIOL75PDg8vwg4u7u4fnl
PyDt4CDs4OUg7eXyIPLg6u7pIPHx++vq6Cwg8u7r/OruIOD/6vEKICAgICAgICAg
ICAgbGlua19zdWJzY3IgKz0gKFBlcmxWYXJfQmxvZ3NQZXJsSG9zdCArIFBlcmxW
YXJfQUNUSU9OX0RJUiArICdqY29tbWVudHNzdWJzY3JpYmU/dXNlcj0nICsgZW1h
aWwgKyAnJnBvc3RzPTEmJyArIFBlcmxWYXJfYmFjayk7CiAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgbGlua19zdWJzY3IgPSAnaHR0cDovL3IubWFpbC5ydS9j
bG4zNTkwLyc7CiAgICAgICAgICAgIGxpbmtfc3Vic2NyICs9IChQZXJsVmFyX0Js
b2dzUGVybEhvc3QgKyBQZXJsVmFyX0FDVElPTl9ESVIgKyAnamNvbW1lbnRzc3Vi
c2NyaWJlP3VzZXI9JyArIGVtYWlsICsgJyZwb3N0cz0xJicgKyBQZXJsVmFyX2Jh
Y2spOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgc3Vic2NyID0gJzxp
bWcgY2xhc3M9Imljb24gSUVwbmciIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3Iv
YmxvZ3MvaWNvX3Vuc3Vic2NyaWJlLnBuZyIgYWxpZ249ImFic21pZGRsZSIgd2lk
dGg9IjE2IiBoZWlnaHQ9IjE2IiBhbHQ9Is7y7+jx4PL88f8g7vIg7uHt7uLr5e3o
6SIgYm9yZGVyPSIwIiAvPs7y7+jx4PL88f8g7vIg7uHt7uLr5e3o6Sc7CiAgICAg
ICAgaWYgKGlzX2NvbW11bml0eSA9PSAxKSBsaW5rX3N1YnNjciA9ICdodHRwOi8v
ci5tYWlsLnJ1L2NsbjM1OTkvJzsKICAgICAgICBlbHNlIGxpbmtfc3Vic2NyID0g
J2h0dHA6Ly9yLm1haWwucnUvY2xuMzU5MS8nOwogICAgICAgIGxpbmtfc3Vic2Ny
ICs9IChQZXJsVmFyX0Jsb2dzUGVybEhvc3QgKyBQZXJsVmFyX0FDVElPTl9ESVIg
KyAnamNvbW1lbnRzc3Vic2NyaWJlP3VzZXI9JyArIGVtYWlsICsgJyZyZW1vdmU9
MSZwb3N0cz0xJicgKyBQZXJsVmFyX2JhY2spOwogICAgfQogICAgb25mdW5jID0g
J3Bvc3RzX3N1YnNjcmliZV9hamF4Y2FsbChcJycrZW1haWwrJ1wnLCcraXNfc3Vi
c2NyKycsJytpc19jb21tdW5pdHkrJyknOwogICAgcmV0dXJuIFtzdWJzY3IsbGlu
a19zdWJzY3Isb25mdW5jXTsKfQovLyDU8+3q9uj/IO/u6uDn++Lg5fIgZGl2IPEg
6O307vDs4Pbo5ekKZnVuY3Rpb24gdXNlck1lbnVTaG93KF9saW5rLCBldnQsIGpv
dXJuYWxfZW1haWwsIGpvdXJuYWxfbmljaywgam91cm5hbF9kaXIsIGlzX2ZyaWVu
ZCwgaXNfc3Vic2NyLCBpc19jb21tdW5pdHksIHBhcnRpY2lwYXRlLCBub3Rfc2hv
d190b3ApIHsKICAgIHZhciBmcmllbmQ7CiAgICB2YXIgc3Vic2NyOwogICAgdmFy
IGxpbmtfc3Vic2NyOwogICAgdmFyIGxpbmtfc3Vic2NyX2Z1bmM7CiAgICB2YXIg
bGlua19mcmllbmQ7CiAgICBpZiAocGFydGljaXBhdGUgPT0gMSkgewogICAgICAg
IGxpbmtfZnJpZW5kID0gJ2h0dHA6Ly9yLm1haWwucnUvY2xuMzU5Ny8nICsgUGVy
bFZhcl9CbG9nc1BlcmxIb3N0ICsgUGVybFZhcl9BQ1RJT05fRElSICsgJ2phZGRm
cmllbmQ/cGFydGljaXBhdGU9MSZ1c2VyPScgKyBqb3VybmFsX2VtYWlsICsgJyYn
ICsgUGVybFZhcl9iYWNrOwogICAgICAgIC8vbGlua19mcmllbmQgPSAnaHR0cDov
L3IubWFpbC5ydS9jbG4zNTk3LycgKyAoaXNfY29tbXVuaXR5ID8gKCdteS5tYWls
LnJ1JyArIGpvdXJuYWxfZGlyKSA6IChQZXJsVmFyX0Jsb2dzUGVybEhvc3QgKyBQ
ZXJsVmFyX0FDVElPTl9ESVIgKyAnaicpKSArICdhZGRmcmllbmQ/cGFydGljaXBh
dGU9MSZsZWF2ZT0xJnVzZXI9JyArIGpvdXJuYWxfZW1haWwgKyAnJicgKyBQZXJs
VmFyX2JhY2s7CiAgICB9IGVsc2UgewogICAgICAgIGxpbmtfZnJpZW5kID0gJ2h0
dHA6Ly9yLm1haWwucnUvY2xuMzU4OS8nICsgUGVybFZhcl9CbG9nc1BlcmxIb3N0
ICsgUGVybFZhcl9BQ1RJT05fRElSICsgJ2phZGRmcmllbmQ/dXNlcj0nICsgam91
cm5hbF9lbWFpbCArICcmJyArIFBlcmxWYXJfYmFjazsKICAgICAgICAvL2xpbmtf
ZnJpZW5kID0gJ2h0dHA6Ly9yLm1haWwucnUvY2xuMzU4OS8nICsgKGlzX2NvbW11
bml0eSA/ICgnbXkubWFpbC5ydScgKyBqb3VybmFsX2RpcikgOiAoUGVybFZhcl9C
bG9nc1BlcmxIb3N0ICsgUGVybFZhcl9BQ1RJT05fRElSICsgJ2onKSkgKyAnYWRk
ZnJpZW5kP2xlYXZlPTEmdXNlcj0nICsgam91cm5hbF9lbWFpbCArICcmJyArIFBl
cmxWYXJfYmFjazsKICAgIH0KICAgIGlmIChpc19mcmllbmQgPT0gMCkgewogICAg
ICAgIGZyaWVuZCA9ICfE7uHg4ujy/CDiIOTw8+f8/yc7CiAgICB9IGVsc2Ugewog
ICAgICAgIGZyaWVuZCA9ICfT5ODr6PL8IOjnIOTw8+fl6Sc7CiAgICAgICAgbGlu
a19mcmllbmQgKz0gJyZsZWF2ZT0xJzsKICAgIH0KICAgIHZhciBhID0gcG9zdHNf
c3Vic2NyaWJlX25hbWVsaW5rKGlzX3N1YnNjciwgaXNfY29tbXVuaXR5LCBqb3Vy
bmFsX2VtYWlsKTsKICAgIHN1YnNjciA9IGFbMF07CiAgICBsaW5rX3N1YnNjciA9
IGFbMV07CiAgICBsaW5rX3N1YnNjcl9mdW5jID0gYVsyXTsKICAgIHZhciB0b2Rh
eSA9IG5ldyBEYXRlKCk7CiAgICAvLyDU7vDs6PDz5ewgSFRNTC3q7uQgZGl2LeAK
ICAgIHZhciBIVE1MID0gW107CiAgICBIVE1MLnB1c2goJzxkaXYgY2xhc3M9InVz
ZXJpbmZvIj4nKTsKICAgIGlmIChpc19jb21tdW5pdHkgPT0gMSkgewogICAgICAg
IEhUTUwucHVzaCgnPGEgaHJlZj0iaHR0cDovL3IubWFpbC5ydS9jbG4zNTk1Lycg
KyBQZXJsVmFyX0Jsb2dzUGVybEhvc3QgKyBqb3VybmFsX2RpciArICdpbmZvIj48
aW1nIGNsYXNzPSJpY29uIElFcG5nIiBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9y
L2Jsb2dzL2ljb19pbmZvLnBuZyIgYWxpZ249ImFic21pZGRsZSIgd2lkdGg9IjE2
IiBoZWlnaHQ9IjE2IiBhbHQ9Isjt9O7w7OD26P8g7iDx7u7h+eXx8uLlIiBib3Jk
ZXI9IjAiIC8+yO307vDs4Pbo/yDuIPHu7uH55fHy4uU8L2E+PGJyIC8+Jyk7CiAg
ICAgICAgSFRNTC5wdXNoKCc8YSBocmVmPSInICsgam91cm5hbF9kaXIgKyAnamNv
bW11bml0aWVzLWludml0YXRpb24iPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwu
cnUvci9ibG9ncy9pY29fYWRkX2ZyaWVuZC5wbmciIGNsYXNzPSJpY29uIElFcG5n
IiBhbGlnbj0iYWJzbWlkZGxlIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGFsdD0i
z/Do4+vg8ejy/CDk8PPn5ekiIGJvcmRlcj0iMCIgLz7P8Ojj6+Dx6PL8IOTw8+fl
6TwvYT48YnIgLz4nKTsKICAgICAgICAvL0hUTUwucHVzaCgnPGEgaHJlZj0iaHR0
cDovL3IubWFpbC5ydS9jbG4zNTk1L215Lm1haWwucnUnICsgam91cm5hbF9kaXIg
KyAnaW5mbyI+PGltZyBjbGFzcz0iaWNvbiBJRXBuZyIgc3JjPSJodHRwOi8vaW1n
Lm1haWwucnUvci9ibG9ncy9pY29faW5mby5wbmciIGFsaWduPSJhYnNtaWRkbGUi
IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYWx0PSLI7fTu8Ozg9uj/IO4g8e7u4fnl
8fLi5SIgYm9yZGVyPSIwIiAvPsjt9O7w7OD26P8g7iDx7u7h+eXx8uLlPC9hPjxi
ciAvPicpOwogICAgICAgIC8vSFRNTC5wdXNoKCc8YSBocmVmPSJodHRwOi8vbXku
bWFpbC5ydScgKyBqb3VybmFsX2RpciArICdjb21tdW5pdGllcy1pbnZpdGF0aW9u
Ij48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNvX2FkZF9m
cmllbmQucG5nIiBjbGFzcz0iaWNvbiBJRXBuZyIgYWxpZ249ImFic21pZGRsZSIg
d2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBhbHQ9Is/w6OPr4PHo8vwg5PDz5+XpIiBi
b3JkZXI9IjAiIC8+z/Do4+vg8ejy/CDk8PPn5ek8L2E+PGJyIC8+Jyk7CiAgICAg
ICAgSFRNTC5wdXNoKCc8YSAnICsgKGlzX2ZyaWVuZD09MSA/ICcnIDogJ29uY2xp
Y2s9InJldHVybiBzaG93X2ZyaWVuZF9ncm91cCgxKTsiJykgKyAnaHJlZj0iJyts
aW5rX2ZyaWVuZCsnIiBtYz0xPjxpbWcgY2xhc3M9Imljb24gSUVwbmciIHNyYz0i
aHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvJysoaXNfZnJpZW5kPT0xPydpY29f
cXVpdF9jb21tLnBuZyc6J2ljb19lbnRlcl9jb21tLnBuZycpKyciIGFsaWduPSJh
YnNtaWRkbGUiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYWx0PSIiIGJvcmRlcj0i
MCIgLz4nKyhpc19mcmllbmQ9PTE/J8/u6ujt8/L8JzonwvHy8+/o8vwg4iDx7u7h
+eXx8uLuJykrJzwvYT48YnIgLz4nKTsKICAgICAgICAvL0hUTUwucHVzaCgnPGEg
aHJlZj0iJytsaW5rX2ZyaWVuZCsnIj48aW1nIGNsYXNzPSJpY29uIElFcG5nIiBz
cmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzLycrKGlzX2ZyaWVuZD09MT8n
aWNvX3F1aXRfY29tbS5wbmcnOidpY29fZW50ZXJfY29tbS5wbmcnKSsnIiBhbGln
bj0iYWJzbWlkZGxlIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGFsdD0iIiBib3Jk
ZXI9IjAiIC8+JysoaXNfZnJpZW5kPT0xPyfP7uro7fPy/Cc6J8Lx8vPv6PL8IOIg
8e7u4fnl8fLi7icpKyc8L2E+PGJyIC8+Jyk7CiAgICAgICAgSFRNTC5wdXNoKCc8
ZGl2IGlkPSJkaXZGb3JGcmllbmRzSWQiIHN0eWxlPSJkaXNwbGF5OiBub25lIj48
L2Rpdj4nKTsKICAgICAgICBIVE1MLnB1c2goJzxhIGhyZWY9IicrbGlua19zdWJz
Y3IrJyIgaWQ9ImxpbmtGb3JTdWJzY3JpYmUiIG9uY2xpY2s9InJldHVybiAnK2xp
bmtfc3Vic2NyX2Z1bmMrJyIgbWM9MT4nK3N1YnNjcisnPC9hPjxiciAvPicpOwog
ICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKG5vdF9zaG93X3RvcCA9PSAwKSB7
CiAgICAgICAgICAgICAgICBpZiAobm90X3Nob3dfYXZhdGFyID09IDApIHsKICAg
ICAgICAgICAgICAgICAgICBIVE1MLnB1c2goJzxkaXY+PGltZyBzcmM9Imh0dHA6
Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iNSIgYm9yZGVy
PSIwIiAvPjwvZGl2PicpOwogICAgICAgICAgICAgICAgICAgIEhUTUwucHVzaCgn
PHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPicpOwog
ICAgICAgICAgICAgICAgICAgIEhUTUwucHVzaCgnPHRkPjxpbWcgc3JjPSJodHRw
Oi8vYXZ0LmZvdG8ubWFpbC5ydScgKyBqb3VybmFsX2RpciArICdfYXZhdGFyIiBi
b3JkZXI9IjAiIC8+PC90ZD48dGQgY2xhc3M9InBsNyI+Jyk7CiAgICAgICAgICAg
ICAgICAgICAgSFRNTC5wdXNoKCc8YSBocmVmPSJodHRwOi8vci5tYWlsLnJ1L2Ns
bjM2MTgvbXkubWFpbC5ydScram91cm5hbF9kaXIrJz9mcm9tX2NvbW1lcmNpYWw9
MTgiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fbXku
cG5nIiBjbGFzcz0iSUVwbmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVy
PSIwIiBhbGlnbj0iYWJzbWlkZGxlIiB2c3BhY2U9IjIiIC8+PC9hPiZuYnNwOyZu
YnNwOzxhIGhyZWY9Imh0dHA6Ly9teS5tYWlsLnJ1Jytqb3VybmFsX2RpcisnP2Zy
b21fY29tbWVyY2lhbD0xOCIgc3R5bGU9ImNvbG9yOiNGRTdFMDA7Zm9udC1zaXpl
Ojk1JTsiIHRhcmdldD0iX2JsYW5rIj7M6PA8L2E+PGJyIC8+Jyk7CiAgICAgICAg
ICAgICAgICAgICAgSFRNTC5wdXNoKCc8YSBocmVmPSJodHRwOi8vci5tYWlsLnJ1
L2NsbjM2MTcvYmxvZ3MubWFpbC5ydScram91cm5hbF9kaXIrJyI+PGltZyBzcmM9
Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2ljb19ibG9nc19hbGwucG5nIiBj
bGFzcz0iSUVwbmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIiBh
bGlnbj0iYWJzbWlkZGxlIiB2c3BhY2U9IjIiIC8+PC9hPiZuYnNwOyZuYnNwOzxh
IGhyZWY9Iicram91cm5hbF9kaXIrJyIgc3R5bGU9ImNvbG9yOiNGRTdFMDA7Zm9u
dC1zaXplOjk1JTsiPsHr7uM8L2E+PGJyIC8+Jyk7CiAgICAgICAgICAgICAgICAg
ICAgSFRNTC5wdXNoKCc8YSBocmVmPSJodHRwOi8vci5tYWlsLnJ1L2NsbjM1NTQv
Zm90by5tYWlsLnJ1Jytqb3VybmFsX2RpcisnIiB0YXJnZXQ9Il9ibGFuayI+PGlt
ZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2ljb19mb3RvLnBuZyIg
Y2xhc3M9IklFcG5nIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCIg
YWxpZ249ImFic21pZGRsZSIgdnNwYWNlPSIyIiAvPjwvYT4mbmJzcDsmbmJzcDs8
YSBocmVmPSJodHRwOi8vZm90by5tYWlsLnJ1Jytqb3VybmFsX2RpcisnIiBzdHls
ZT0iY29sb3I6I0ZFN0UwMDtmb250LXNpemU6OTUlOyIgdGFyZ2V0PSJfYmxhbmsi
PtTu8u48L2E+PGJyIC8+Jyk7CiAgICAgICAgICAgICAgICAgICAgSFRNTC5wdXNo
KCc8YSBocmVmPSJodHRwOi8vci5tYWlsLnJ1L2NsbjM1NTUvdmlkZW8ubWFpbC5y
dScram91cm5hbF9kaXIrJyIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJodHRw
Oi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fdmlkZW8ucG5nIiBjbGFzcz0iSUVw
bmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIiBhbGlnbj0iYWJz
bWlkZGxlIiB2c3BhY2U9IjIiIC8+PC9hPiZuYnNwOyZuYnNwOzxhIGhyZWY9Imh0
dHA6Ly92aWRlby5tYWlsLnJ1Jytqb3VybmFsX2RpcisnIiBzdHlsZT0iY29sb3I6
I0ZFN0UwMDtmb250LXNpemU6OTUlOyIgdGFyZ2V0PSJfYmxhbmsiPsLo5OXuPC9h
PjxiciAvPicpOwogICAgICAgICAgICAgICAgICAgIEhUTUwucHVzaCgnPC90ZD48
L3RyPjwvdGFibGU+PGJyIC8+Jyk7CiAgICAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgICAgIEhUTUwucHVzaCgnPGRpdj48aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1LzAuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSI1IiBib3Jk
ZXI9IjAiIC8+PC9kaXY+Jyk7CiAgICAgICAgICAgICAgICAgICAgSFRNTC5wdXNo
KCc8ZGl2IGFsaWduPSJjZW50ZXIiPicpOwogICAgICAgICAgICAgICAgICAgIEhU
TUwucHVzaCgnPGEgc3R5bGU9Im1hcmdpbi1yaWdodDo1cHg7IiBocmVmPSJodHRw
Oi8vci5tYWlsLnJ1L2NsbjM2MTgvbXkubWFpbC5ydScram91cm5hbF9kaXIrJz9m
cm9tX2NvbW1lcmNpYWw9MTgiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUv
ci9ibG9ncy9pY29fbXkucG5nIiBjbGFzcz0iSUVwbmciIHdpZHRoPSIxNiIgaGVp
Z2h0PSIxNiIgYm9yZGVyPSIwIiBhbGlnbj0iYWJzbWlkZGxlIiB2c3BhY2U9IjIi
IC8+PC9hPicpOwogICAgICAgICAgICAgICAgICAgIEhUTUwucHVzaCgnPGEgc3R5
bGU9Im1hcmdpbi1yaWdodDo1cHg7IiBocmVmPSJodHRwOi8vci5tYWlsLnJ1L2Ns
bjM2MTcvYmxvZ3MubWFpbC5ydScram91cm5hbF9kaXIrJyI+PGltZyBzcmM9Imh0
dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2ljb19ibG9nc19hbGwucG5nIiBjbGFz
cz0iSUVwbmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIiBhbGln
bj0iYWJzbWlkZGxlIiB2c3BhY2U9IjIiIC8+PC9hPicpOwogICAgICAgICAgICAg
ICAgICAgIEhUTUwucHVzaCgnPGEgc3R5bGU9Im1hcmdpbi1yaWdodDo1cHg7IiBo
cmVmPSJodHRwOi8vci5tYWlsLnJ1L2NsbjM1NTQvZm90by5tYWlsLnJ1Jytqb3Vy
bmFsX2RpcisnIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Imh0dHA6Ly9pbWcu
bWFpbC5ydS9yL2Jsb2dzL2ljb19mb3RvLnBuZyIgY2xhc3M9IklFcG5nIiB3aWR0
aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRsZSIg
dnNwYWNlPSIyIiAvPjwvYT4nKTsKICAgICAgICAgICAgICAgICAgICBIVE1MLnB1
c2goJzxhIHN0eWxlPSJtYXJnaW4tcmlnaHQ6NXB4OyIgaHJlZj0iaHR0cDovL3Iu
bWFpbC5ydS9jbG4zNTU1L3ZpZGVvLm1haWwucnUnK2pvdXJuYWxfZGlyKyciIHRh
cmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxv
Z3MvaWNvX3ZpZGVvLnBuZyIgY2xhc3M9IklFcG5nIiB3aWR0aD0iMTYiIGhlaWdo
dD0iMTYiIGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRsZSIgdnNwYWNlPSIyIiAv
PjwvYT4nKTsKICAgICAgICAgICAgICAgICAgICBIVE1MLnB1c2goJzwvZGl2Picp
OwogICAgICAgICAgICAgICAgICAgIEhUTUwucHVzaCgnPGRpdiBjbGFzcz0ibGlu
ZSI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lkdGg9IjEi
IGhlaWdodD0iMSIgYm9yZGVyPSIwIiAvPjwvZGl2PicpOwogICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIEhUTUwucHVzaCgnPGEgaHJl
Zj0iaHR0cDovL3IubWFpbC5ydS9jbG4zNTg2LycgKyBQZXJsVmFyX0Jsb2dzUGVy
bEhvc3QgKyBqb3VybmFsX2RpciArICdpbmZvIj48aW1nIGNsYXNzPSJpY29uIElF
cG5nIiBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2ljb19pbmZvLnBu
ZyIgYWxpZ249ImFic21pZGRsZSIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBhbHQ9
Is4g7+7r/Ofu4uDy5evlIiBib3JkZXI9IjAiIC8+ziDv7uv85+7i4PLl6+U8L2E+
PGJyIC8+Jyk7CiAgICAgICAgICAgIC8vSFRNTC5wdXNoKCc8YSBocmVmPSInK2xp
bmtfZnJpZW5kKyciIG9uY2xpY2s9InJldHVybiBqb3VybmFsX2FkZGZyaWVuZCgn
ICsgaXNfZnJpZW5kICsgJywgMSwgdGhpcywgdGhpcy5ocmVmKTsiIG1jPTE+PGlt
ZyBjbGFzcz0iaWNvbiBJRXBuZyIgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9i
bG9ncy8nKyhpc19mcmllbmQ9PTE/J2ljb19kZWxldGVmcmllbmQuZ2lmJzonaWNv
X2FkZF9mcmllbmQucG5nJykrJyIgYWxpZ249ImFic21pZGRsZSIgd2lkdGg9IjE2
IiBoZWlnaHQ9IjE2IiBhbHQ9IicrZnJpZW5kKyciIGJvcmRlcj0iMCIgLz4nK2Zy
aWVuZCsnPC9hPjxiciAvPicpOwogICAgICAgICAgICBIVE1MLnB1c2goJzxkaXYg
aWQ9ImRpdkZvckZyaWVuZHNJZCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9kaXY+
Jyk7CiAgICAgICAgICAgIEhUTUwucHVzaCgnPGEgaHJlZj0iJytsaW5rX3N1YnNj
cisnIiBpZD0ibGlua0ZvclN1YnNjcmliZSIgb25jbGljaz0icmV0dXJuICcrbGlu
a19zdWJzY3JfZnVuYysnIiBtYz0xPicrc3Vic2NyKyc8L2E+PGJyIC8+Jyk7CiAg
ICAgICAgICAgIEhUTUwucHVzaCgnPGRpdiBjbGFzcz0ibGluZSI+PGltZyBzcmM9
Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iMSIg
Ym9yZGVyPSIwIiAvPjwvZGl2PicpOwogICAgICAgICAgICBIVE1MLnB1c2goJzxh
IGNsYXNzPSJncmV5IiBocmVmPSJodHRwOi8vd3d3Lm1haWwucnUvYWdlbnQ/bWVz
c2FnZSZ0bz0nK2pvdXJuYWxfZW1haWwrJyI+PGltZyBjbGFzcz0iaWNvbiIgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fYWRkX2luX2FnZW50LnBu
ZyIgY2xhc3M9IklFcG5nIiBhbGlnbj0iYWJzbWlkZGxlIiB3aWR0aD0iMTYiIGhl
aWdodD0iMTYiIGFsdD0ixO7h4OLo8vwg4iDg4+Xt8iIgYm9yZGVyPSIwIiAvPsTu
4eDi6PL8IOIg4OPl7fI8L2E+PGJyIC8+Jyk7CiAgICAgICAgICAgIEhUTUwucHVz
aCgnPGEgY2xhc3M9ImdyZXkiIGhyZWY9Imh0dHA6Ly9yLm1haWwucnUvY2xuMzU5
My93aW4ubWFpbC5ydS9jZ2ktYmluL3NlbnRtc2c/VG89Jytqb3VybmFsX2VtYWls
KyciPjxpbWcgY2xhc3M9Imljb24yIiBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9y
L2Jsb2dzL2ljb193cml0ZV9sZXR0ZXIucG5nIiBjbGFzcz0iSUVwbmciIGFsaWdu
PSJhYnNtaWRkbGUiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyIgYWx0PSLN4O/o8eDy
/CDv6PH87O4iIGJvcmRlcj0iMCI+zeDv6PHg8vwg7+jx/OzuPC9hPjxiciAvPicp
OwogICAgICAgICAgICBIVE1MLnB1c2goJzxhIGNsYXNzPSJncmV5IiBocmVmPSJo
dHRwOi8vci5tYWlsLnJ1L2NsbjM1OTQvY2FyZHMubWFpbC5ydS9ybmRfY2FyZC5o
dG1sP0c9NCZFPTI5JnNlbmRlcm5hbWU9VGVzdCZzZW5kZXJlbWFpbD0nICsgIFBl
cmxWYXJfQWN0aXZlRW1haWwgKyAnJnJjcHRuYW1lPScram91cm5hbF9uaWNrKycm
cmNwdGVtYWlsPScram91cm5hbF9lbWFpbCsnJnNlbmRfZGF5PScrdG9kYXkuZ2V0
RGF0ZSgpKycmc2VuZF9tb249JysodG9kYXkuZ2V0TW9udGgoKSsxKSsnJnNlbmRf
eWVhcj0nK3RvZGF5LmdldEZ1bGxZZWFyKCkrJyI+PGltZyBjbGFzcz0iaWNvbiBJ
RXBuZyIgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fcG9zdF9j
YXJkLnBuZyIgYWxpZ249ImFic21pZGRsZSIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE3
IiBhbHQ9Is7y7/Dg4ujy/CDu8urw+/Lq8yIgYm9yZGVyPSIwIj7O8u/w4OLo8vwg
7vLq8Pvy6vM8L2E+PGJyIC8+Jyk7CiAgICAgICAgfQogICAgLy8gz+7q4Obl7CBk
aXYKICAgIEhUTUwucHVzaCgnPC9kaXY+Jyk7CiAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJEcm9wRG93bklkJyk7CiAgICBkaXYuc3R5
bGUud2lkdGggPSAnMTkwcHgnOwogICAgZGl2LnN0eWxlLmhlaWdodCA9ICcnOwog
ICAgZGl2LmlubmVySFRNTCA9IEhUTUwuam9pbignJyk7CiAgICAvLyDH4OTg5ewg
7+7r7ubl7ejlIGRpdi3gCiAgICBkaXYuc3R5bGUudG9wID0gYWJzUG9zaXRpb24o
X2xpbmspLnkgKyBfbGluay5vZmZzZXRIZWlnaHQ7CiAgICBkaXYuc3R5bGUubGVm
dCA9IChzY3JlZW5TaXplKCkudyAtIGFic1Bvc2l0aW9uKF9saW5rKS54IC0gZGl2
Lm9mZnNldFdpZHRoID4gMCkgPyBhYnNQb3NpdGlvbihfbGluaykueCA6IGFic1Bv
c2l0aW9uKF9saW5rKS54IC0gZGl2Lm9mZnNldFdpZHRoICsgX2xpbmsub2Zmc2V0
V2lkdGg7CiAgICBkaXYuc3R5bGUuZGlzcGxheSA9ICcnOwogICAgLy8gx+Dv8OX5
4OXsIOLx7+v74uDt6OUg8e7h+/Lo6SDv8Ogg6uvo6uUg7+4gxMjC8wogICAgcmVt
b3ZlSGFuZGxlcihkaXYsICdjbGljaycsIGV2Zik7CiAgICBhZGRIYW5kbGVyKGRp
diwgJ2NsaWNrJywgZXZmKTsKICAgIC8vIMTu4eDi6Owg7uHw4OHu8urzIOrr6Org
CiAgICBhZGRIYW5kbGVyKGRvY3VtZW50LCAnY2xpY2snLCB1c2VyTWVudUhpZGUp
OwoJdHJ5IHtncmVwTGlua3MoZGl2KTt9IGNhdGNoKGUpIHt9OyAvLyBjcmVhdGUg
TXkgKDUyOTQ0MSkKICAgIHJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiBldmYoZSkg
eyBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7IGUuY2FuY2VsQnViYmxlID0gdHJ1ZTsg
fQoKLy8g1PPt6vbo/yDk6/8g8erw+/Lo6SBkaXYtYSDv7iDq6+jq8yDt4CDk7urz
7OXt8gpmdW5jdGlvbiB1c2VyTWVudUhpZGUoKSB7CiAgICBpZihvcGVuX2ltZyA9
IGdlYmkoJ29wZW5fcHVsbGRvd24nKSkKICAgICAgICBjaGFuZ2VJbWcob3Blbl9p
bWcpOwoKICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXNl
ckRyb3BEb3duSWQiKTsKICAgIHJlbW92ZUhhbmRsZXIoZG9jdW1lbnQsICJjbGlj
ayIsIHVzZXJNZW51SGlkZSk7CiAgICBkaXYuc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKfQoKLy8g1PPt6vbo/yDk6/8g8erw+/Lo6SBkaXYtYSDv7iDq6+jq8yDt4CDo
6u7t6vMg4vvv4OTz+OroCmZ1bmN0aW9uIHVzZXJNZW51SGlkZV8yKCkgewogICAg
dmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1c2VyRHJvcERvd25J
ZCIpOwogICAgcmVtb3ZlSGFuZGxlcihkb2N1bWVudCwgImNsaWNrIiwgdXNlck1l
bnVIaWRlKTsKICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwp9CgovLyDE
7uHg4uvl7ejlIOTw8+fl6QpmdW5jdGlvbiBzaG93X2ZyaWVuZF9ncm91cChwYXJ0
aWNpcGF0ZSkgewogICAgaWYgKHBhcnRpY2lwYXRlID09IDEpCiAgICB7CiAgICAg
ICAgcGVybF9mZXRjaF9ncm91cHMoJycsam91cm5hbF9lbWFpbF9hLHNob3dfcGFy
dGljaXBhdGVfZ3JvdXBfc2VsZWN0b3JfY2FsbGJhY2sxKTsKICAgIH0KICAgIGVs
c2UKICAgIHsKICAgICAgICBwZXJsX2ZldGNoX2dyb3VwcygnJyxqb3VybmFsX2Vt
YWlsX2Esc2hvd19mcmllbmRfZ3JvdXBfc2VsZWN0b3JfY2FsbGJhY2sxKTsKICAg
IH0KICAgIC8vdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXZG
b3JGcmllbmRzSWQiKTsKICAgIC8vZGl2LnN0eWxlLmRpc3BsYXkgPSAiIjsKICAg
IHJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gYWRkVG9GcmllbmRzKGdyb3Vwcyxo
YXNfZGVmYXVsdF9ncm91cCxqb3VybmFsX2VtYWlsLHBhcnRpY2lwYXRlKSB7CiAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdkZvckZyaWVu
ZHNJZCIpOwogICAgdmFyIGh0bWwgPSAiPGZvcm0gaWQ9J2dyb3VwX3NlbGVjdG9y
X2Zvcm0xJyBzdHlsZT0nbWFyZ2luOjBweDsnIGFjdGlvbj0nIiArIFBlcmxWYXJf
QUNUSU9OX0RJUiArICJqYWRkZnJpZW5kJz4iOwogICAgaHRtbCArPSAiPGlucHV0
IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwidXNlclwiIHZhbHVlPVwiIitqb3VybmFs
X2VtYWlsKyJcIj4iOwogICAgaHRtbCArPSAiPGlucHV0IHR5cGU9XCJoaWRkZW5c
IiBuYW1lPVwiYmFja1wiIHZhbHVlPVwiIiArICBQZXJsVmFyX2JhY2tfdmFsdWUg
KyAiXCI+IjsKICAgIGh0bWwgKz0gIjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFt
ZT1cInBhcnRpY2lwYXRlXCIgdmFsdWU9XCIiK3BhcnRpY2lwYXRlKyJcIj4iOwog
ICAgaHRtbCArPSI8aDM+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT0nYWRkX3dpdGhf
Z3JvdXAnIGlkPVwiYWRkX3dpdGhfZ3JvdXAxXCIgdmFsdWU9XCIxXCIgb25jbGlj
az1cImRpc2FibGVfZ3JvdXBfY2hlY2tib3hlczEodGhpcyk7XCIgIiArKGdyb3Vw
cy5sZW5ndGg+MCAmJiBoYXNfZGVmYXVsdF9ncm91cCE9MD8iY2hlY2tlZCAiOiIg
IikrKGdyb3Vwcy5sZW5ndGg8PTA/ImRpc2FibGVkPTEiOiIiKSsiPjxsYWJlbCBm
b3I9YWRkX3dpdGhfZ3JvdXAxPsIg4/Dz7+/zPC9sYWJlbD48L2gzPiI7CiAgICBo
dG1sICs9ICI8ZGl2IGlkPSdncm91cHNfY2hlY2tib3hlczEnIGNsYXNzPSd3aWR0
aENoZWNrQm94Jz4iOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncm91cHMubGVu
Z3RoOyBpKyspIHsKICAgICAgICBodG1sICs9ICI8aW5wdXQgIisoaGFzX2RlZmF1
bHRfZ3JvdXA9PTA/ImRpc2FibGVkPTEiOiIiKSsiICIrKGdyb3Vwc1tpXVsiRGVm
YXVsdCJdIT0wPyJjaGVja2VkIjoiIikrIiBuYW1lPWdyb3VwIHR5cGU9J2NoZWNr
Ym94JyB2YWx1ZT0nIiArIGdyb3Vwc1tpXVsiSUQiXSArICInIGlkPSdjaGNiaWRf
IiArIGkgKyAiJz48bGFiZWwgZm9yPSdjaGNiaWRfIiArIGkgKyAiJz4iICsgKGdy
b3Vwc1tpXVsiRGVmYXVsdCJdIT0wPyI8c3BhbiBjbGFzcz1ncmVlbl9jPiI6IiIp
ICsgZ3JvdXBzW2ldWyJOYW1lIl0gKyAoZ3JvdXBzW2ldWyJEZWZhdWx0Il0hPTA/
Ijwvc3Bhbj4iOiIiKSArICI8L2xhYmVsPjxicj4iOwogICAgfQogICAgaHRtbCAr
PSAiPC9kaXY+IjsKICAgIGh0bWwgKz0gIjxkaXYgY2xhc3M9J25ld0dyb3VwJz48
YSBvbmNsaWNrPVwibmV3X2dyb3VwMSgpOyByZXR1cm4gZmFsc2U7XCIgaHJlZj0n
Jz7N7uLg/yDj8PPv7+A8L2E+PC9kaXY+IjsKICAgIGh0bWwgKz0gIjxoMz48aW5w
dXQgdHlwZT1yYWRpbyBuYW1lPVwiYWRkX3dpdGhfZ3JvdXBcIiBpZD0nYWRkX3dp
dGhvdXRfZ3JvdXAxJyB2YWx1ZT1cIjBcIiBvbmNsaWNrPVwiZGlzYWJsZV9ncm91
cF9jaGVja2JveGVzMSh0aGlzKTtcIiAiICsoZ3JvdXBzLmxlbmd0aDw9MCB8fCBo
YXNfZGVmYXVsdF9ncm91cD09MD8iY2hlY2tlZCI6IiIpKyI+Jm5ic3A7PGxhYmVs
IGZvcj1hZGRfd2l0aG91dF9ncm91cDE+weXnIOPw8+/v+zwvbGFiZWw+PC9oMz4i
OwogICAgaHRtbCArPSAiPGRpdiBjbGFzcz0nZm9yQnV0dCc+PGlucHV0IHR5cGU9
J3N1Ym1pdCcgdmFsdWU9J87KJz4mbmJzcDsmbmJzcDs8aW5wdXQgb25jbGljaz0n
dXNlck1lbnVIaWRlKCknIHR5cGU9J2J1dHRvbicgdmFsdWU9J87y7OXt4Cc+PC9k
aXY+IjsKICAgIGh0bWwgKz0gIjwvZm9ybT4iOwogICAgaHRtbF9ncm91cHMgPSBo
dG1sOwogICAgZGl2LmlubmVySFRNTCA9IGh0bWw7CiAgICAvL2Rpdi5zdHlsZS5k
aXNwbGF5ID0gIiI7Cn0KCmZ1bmN0aW9uIHBvc3RzX3N1YnNjcmliZV9hamF4Y2Fs
bGJhY2socmVtb3ZlLGVtYWlsKQp7CiAgICBpZihyZW1vdmU8MCkgcmV0dXJuOwog
ICAgaWYocmVtb3ZlKSByZW1vdmU9MDsgZWxzZSByZW1vdmU9MTsKICAgIHZhciBs
aW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpbmtGb3JTdWJzY3JpYmUn
KTsKICAgIHZhciBzdWJzY3IsbGlua19zdWJzY3I7CiAgICBpZihsaW5rKSB7CiAg
ICAgICAgdmFyIGEgPSBwb3N0c19zdWJzY3JpYmVfbmFtZWxpbmsocmVtb3ZlLGlz
X2NvbW11bml0eSxlbWFpbCk7CiAgICAgICAgc3Vic2NyID0gYVswXTsKICAgICAg
ICBsaW5rX3N1YnNjciA9IGFbMV07CiAgICAgICAgbGluay5pbm5lckhUTUwgPSBz
dWJzY3I7CiAgICAgICAgbGluay5ocmVmID0gbGlua19zdWJzY3I7CiAgICAgICAg
bGluay5vbmNsaWNrPWZ1bmN0aW9uKCkgeyByZXR1cm4gcG9zdHNfc3Vic2NyaWJl
X2FqYXhjYWxsKGVtYWlsLHJlbW92ZSxpc19jb21tdW5pdHkpOyB9OwogICAgfQp9
CgpmdW5jdGlvbiBwb3N0c19zdWJzY3JpYmVfYWpheGNhbGwoZW1haWwscmVtb3Zl
LGNvbW11bml0eSkKewogICAgdmFyIGxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnbGlua0ZvclN1YnNjcmliZScpOwogICAgaWYobGluaykgewogICAgICAg
IGxpbmsuaW5uZXJIVE1MPWxpbmsuaW5uZXJIVE1MLnJlcGxhY2UoL1tePl0rJC8s
J8L77+7r7f/l8vH/Li4uJyk7CiAgICAgICAgbGluay5vbmNsaWNrPWZ1bmN0aW9u
KCkgeyByZXR1cm4gZmFsc2U7IH07CiAgICAgICAgaXNfY29tbXVuaXR5ID0gY29t
bXVuaXR5OwogICAgfQogICAgcGVybF9wb3N0c19jb21tZW50c19zdWJzY3JpYmUo
MSxyZW1vdmUsMCxlbWFpbCxwb3N0c19zdWJzY3JpYmVfYWpheGNhbGxiYWNrKTsK
ICAgIHJldHVybiBmYWxzZTsKfQoKdmFyIGlzX2NvbW11bml0eSA9IDA7CnZhciBu
b3RfdG9wID0gMDsKCmZ1bmN0aW9uIG9wZW5fZHJvcGRvd25fYWxsKGEsIGV2ZW50
LCBlbWFpbCwgZGlyLCBuaWNrLCBub3RfdG9wLCBpc19jb21tdW5pdHkpCnsKICAg
IF9saW5rX2EgPSBhOwogICAgZXZ0X2EgPSBldmVudDsKICAgIG5vdF9zaG93X3Rv
cCA9IG5vdF90b3A7CiAgICBqb3VybmFsX2VtYWlsX2EgPSBlbWFpbDsKICAgIGpv
dXJuYWxfZGlyX2EgPSBkaXI7CiAgICBqb3VybmFsX25pY2tfYT0gbmljazsKICAg
IGlmKGlzX2NvbW11bml0eSkgZnVuYyA9IGdldF9qb3VybmFsX2VtYWlsX3BhcnRp
Y2lwYXRlX2NhbGxiYWNrOwogICAgZWxzZSBmdW5jID0gZ2V0X2pvdXJuYWxfZW1h
aWxfY2FsbGJhY2s7CiAgICBnZXRfZnJpZW5kX3N0YXR1cyhlbWFpbCwgZnVuYyk7
Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vCmZ1bmN0aW9uIG1ha2VfY29tbWVudChQb3N0SUQsIGNvbW1lbnQpIHsK
ICAgIHZhciBUaHJlYWRJRCA9IGNvbW1lbnRbJ0lEJ107CiAgICB2YXIgVXNlckRp
ciA9IGNvbW1lbnRbJ1Bvc3RlckRpciddOwogICAgdmFyIElzU3RhciA9IGNvbW1l
bnRbJ0lzU3RhciddOwogICAgdmFyIEltbXVuaXR5ID0gKGNvbW1lbnRbJ0ltbXVu
aXR5J10gIT0gMCAmJiBjb21tZW50WydJbW11bml0eSddICE9ICd1bmRlZmluZWQn
KSA/IHRydWUgOiBmYWxzZTsKICAgIHZhciBQb3N0ZXJJRCA9IGNvbW1lbnRbJ1Bv
c3RlcklEJ107CiAgICB2YXIgUG9zdGVyRW1haWwgPSBjb21tZW50WydQb3N0ZXJF
bWFpbCddOwogICAgdmFyIFBvc3RlciA9IGNvbW1lbnRbJ1Bvc3RlciddOwogICAg
dmFyIFBvc3Rlck5hbWUgPSBjb21tZW50WydQb3N0ZXJOYW1lJ107CiAgICB2YXIg
UG9zdGVyRGVsZXRlZCA9IGNvbW1lbnRbJ1Bvc3RlckRlbGV0ZWQnXTsKICAgIHZh
ciBQb3N0ZXJJbmZvID0gY29tbWVudFsnUG9zdGVySW5mbyddOwogICAgdmFyIFBv
c3RlckJpcnRoZGF5ID0gY29tbWVudFsnUG9zdGVyQmlydGhkYXknXTsKICAgIHZh
ciBBdmF0YXJVcmwgPSBjb21tZW50WydBdmF0YXJVcmwnXTsKICAgIHZhciBKb3Vy
bmFsSUQgPSBjb21tZW50WydKb3VybmFsSUQnXTsKICAgIHZhciBKb3VybmFsRW1h
aWwgPSBjb21tZW50WydKb3VybmFsRW1haWwnXTsKICAgIHZhciBKb3VybmFsRGly
ID0gY29tbWVudFsnSm91cm5hbERpciddOwogICAgdmFyIElzQ29tbWVudGFibGUg
PSBjb21tZW50WydDb21tZW50YWJsZSddOwogICAgdmFyIElzU2NyZWVuYWJsZSA9
IGNvbW1lbnRbJ1NjcmVlbmFibGUnXTsKICAgIHZhciBJc0RlbGV0YWJsZSA9IGNv
bW1lbnRbJ0RlbGV0YWJsZSddOwogICAgdmFyIElzUmVhZGFibGUgPSBjb21tZW50
WydSZWFkYWJsZSddOwogICAgdmFyIEluQmxhY2tMaXN0ID0gY29tbWVudFsnSW5C
bGFja0xpc3QnXTsKICAgIHZhciBSZVN1YmplY3QgPSBjb21tZW50WydSZVN1Ympl
Y3QnXTsKICAgIHZhciBGaWx0ZXJlZFN1YmplY3QgPSBjb21tZW50WydGaWx0ZXJl
ZFN1YmplY3QnXTsKICAgIHZhciBDb21tZW50VGV4dCA9IGNvbW1lbnRbJ0ZpbHRl
cmVkQ29tbWVudCddOwogICAgdmFyIENvbW1lbnRIaWRlID0gY29tbWVudFsnQ29t
bWVudEhpZGUnXTsKICAgIHZhciBUaW1lID0gY29tbWVudFsnVGltZSddOwogICAg
dmFyIENhbk1ha2VSZWFkYWJsZSA9IGNvbW1lbnRbJ0Nhbk1ha2VSZWFkYWJsZSdd
OwogICAgdmFyIENhbk1ha2VDb21tZW50YWJsZSA9IGNvbW1lbnRbJ0Nhbk1ha2VD
b21tZW50YWJsZSddOwogICAgdmFyIENhbkVkaXRCbGFja0xpc3QgPSBjb21tZW50
WydDYW5FZGl0QmxhY2tMaXN0J107CiAgICB2YXIgU2NyZWVuZWQgPSBjb21tZW50
WydTY3JlZW5lZCddOwogICAgdmFyIFNvbWVib2R5Q29tbWVudGFibGUgPSBjb21t
ZW50WydTb21lYm9keUNvbW1lbnRhYmxlJ107CiAgICB2YXIgUHVibGljYWx5UmVh
ZGFibGUgPSBjb21tZW50WydQdWJsaWNhbHlSZWFkYWJsZSddOwogICAgdmFyIEFj
dGlvbkRpciA9IGNvbW1lbnRbJ0FjdGlvbkRpciddOwoKICAgIHZhciBIVE1MID0g
W107CgogICAgSFRNTC5wdXNoKCc8dGFibGUgYm9yZGVyPTAgY2xhc3M9InRyZWQi
IGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgd2lkdGg9IjEwMCUiPjx0
ciB2YWxpZ249InRvcCI+PHRyPjx0ZCBjbGFzcz0iY29tbWVudF90ZXh0IGNvbW1l
bnRfYmdfY29sb3IiIGlkPSJjb21tZW50X2hpZGVfYmdfdGQxXycgKyBUaHJlYWRJ
RCArICciIHZhbGlnbj0idG9wIj4nKTsKCiAgICBpZiAoIUlzUmVhZGFibGUpIHsK
ICAgICAgICBIVE1MLnB1c2goJzxkaXYgY2xhc3M9ImRlbF9kaXYiPjxpbWcgaGVp
Z2h0PSIxOCIgYWxpZ249ImFic21pZGRsZSIgd2lkdGg9IjE4IiBhbHQ9Isru7Ozl
7fLg8OjpIPHq8PvyIiB0aXRsZT0iyu7s7OXt8uDw6Okg8erw+/IiIGNsYXNzPSJJ
RXBuZyIgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fY29tbWVu
dF9oaWRkZW4ucG5nIiAvPiZuYnNwOyZuYnNwO8ru7Ozl7fLg8OjpIPHq8PvyPC9k
aXY+Jyk7CiAgICAgICAgcmV0dXJuIEhUTUwuam9pbignJyk7CiAgICB9CgogICAg
dmFyIGh0bWwxID0gW107CiAgICBpZiAoQXZhdGFyVXJsKSB7CiAgICAgICAgaHRt
bDEucHVzaCgnPGEgaHJlZj0iJyArIFVzZXJEaXIgKyAnIj48aW1nIHNyYz0iJyAr
IEF2YXRhclVybCArICciIGJvcmRlcj0iMCI+PC9hPicpOwogICAgfSBlbHNlIHsK
ICAgICAgICBpZiAoUG9zdGVySUQpIHsKICAgICAgICAgICAgaHRtbDEucHVzaCgn
PGEgaHJlZj0iL2NnaS1iaW4vam91cm5hbC9ub3N1Y2h1c2VyP2pvdXJuYWxfaWQ9
JyArIFBvc3RlcklEICsgJyZwb3N0X2lkPScgKyBQb3N0SUQgKyAnIj48aW1nIHNy
Yz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYXZhdGFycy8yNmRlbGV0ZWR1c2VyLmpw
ZyIgYm9yZGVyPSIwIiAvPjwvYT4nKTsKICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICBodG1sMS5wdXNoKCc8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3Iv
YXZhdGFycy8wMG5vYXZhdGFyLmpwZyIgYm9yZGVyPSIwIiAvPicpOwogICAgICAg
IH0KICAgIH0KICAgIGh0bWwxID0gaHRtbDEuam9pbignJyk7CgogICAgaWYgKElz
U3RhcikgewogICAgICAgIEhUTUwucHVzaCgnPHRhYmxlIGNlbGxzcGFjaW5nPSIw
IiBjZWxscGFkZGluZz0iMCIgY2xhc3M9InN0YXJfYXZhdGFyIj48dHI+PHRkIGNv
bHNwYW49IjMiIGNsYXNzPSJjYW52dCI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFp
bC5ydS9tYWlsL3J1L2ltYWdlcy9ibG9ncy9zdGFyX2JvcmRlcl90LmdpZiIgd2lk
dGg9IjE1IiBoZWlnaHQ9IjYiIC8+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImNh
bnZsIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L21haWwvcnUvaW1hZ2Vz
L2Jsb2dzL3N0YXJfYm9yZGVyX2wuZ2lmIiB3aWR0aD0iNSIgaGVpZ2h0PSIxMSIg
Lz48L3RkPjx0ZD4nKTsKICAgICAgICBIVE1MLnB1c2goaHRtbDEpOwogICAgICAg
IEhUTUwucHVzaCgnPC90ZD48dGQgY2xhc3M9ImNhbnZyIj48aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1L21haWwvcnUvaW1hZ2VzL2Jsb2dzL3N0YXJfYm9yZGVy
X3IuZ2lmIiB3aWR0aD0iNiIgaGVpZ2h0PSIxMiIgLz48L3RkPjwvdHI+PHRyPjx0
ZCBjb2xzcGFuPSIzIiBjbGFzcz0iY2FudmIiPjxpbWcgc3JjPSJodHRwOi8vaW1n
Lm1haWwucnUvbWFpbC9ydS9pbWFnZXMvYmxvZ3Mvc3Rhcl9ib3JkZXJfYi5naWYi
IHdpZHRoPSIxNSIgaGVpZ2h0PSI1IiAvPjwvdGQ+PC90cj48L3RhYmxlPicpOwog
ICAgICAgIGlmIChQb3N0ZXJFbWFpbCkgewogICAgICAgICAgICBIVE1MLnB1c2go
JzxkaXYgY2xhc3M9ImxhcmdlciI+PG5vYnI+PGEgdGFyZ2V0PSJfYmxhbmsiIG9u
Y2xpY2s9InNob3dfYXZhKFwnJyArIEF2YXRhclVybCArICdiaWdcJyxcJycgKyBV
c2VyRGlyICsgJ1wnKTsgcmV0dXJuIGZhbHNlOyIgaHJlZj0iIyI+8+Ll6+j36PL8
PC9hPjwvbm9icj48L2Rpdj4nKTsKICAgICAgICB9CiAgICAgICAgSFRNTC5wdXNo
KCc8YnIgLz4nKTsKICAgIH0gZWxzZSB7CiAgICAgICAgSFRNTC5wdXNoKCc8ZGl2
IGNsYXNzPSJib3JkX2F2IHNtIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
Jyk7CiAgICAgICAgSFRNTC5wdXNoKGh0bWwxKTsKICAgICAgICBIVE1MLnB1c2go
JzxiciAvPicpOwogICAgICAgIGlmIChBdmF0YXJVcmwpIHsKICAgICAgICAgICAg
SFRNTC5wdXNoKCc8ZGl2IGNsYXNzPSJsYXJnZXIiPjxub2JyPjxhIHRhcmdldD0i
X2JsYW5rIiBvbmNsaWNrPSJzaG93X2F2YShcJycgKyBBdmF0YXJVcmwgKyAnYmln
XCcsXCcnICsgVXNlckRpciArJ1wnKTsgcmV0dXJuIGZhbHNlOyIgaHJlZj0iIyIg
c3R5bGU9ImNvbG9yOiAjQ0NDICFpbXBvcnRhbnQiPvPi5evo9+jy/DwvYT48L25v
YnI+PC9kaXY+Jyk7CiAgICAgICAgfQogICAgICAgIEhUTUwucHVzaCgnPC9kaXY+
Jyk7CiAgICB9CgogICAgSFRNTC5wdXNoKCc8L3RkPjx0ZCBpZD0iY29tbWVudF9o
aWRlX2JnX3RkMl8nICsgVGhyZWFkSUQgKyAnIiBjbGFzcz0iY29udCBjb21tZW50
X3RleHQgY29tbWVudF9iZ19jb2xvciIgd2lkdGg9IjEwMCUiIHZhbGlnbj0idG9w
Ij4nKTsKICAgIGlmICghUHVibGljYWx5UmVhZGFibGUpIHsKICAgICAgICBIVE1M
LnB1c2goJzxkaXYgY2xhc3M9aGlkZV9jb20gaWQ9InNjcmVlbmVkX25vdF9yZWFk
YWJsZV8nICsgVGhyZWFkSUQgKyAnIj7K7uzs5e3y4PDo6SDx6vD78jwvZGl2Picp
OwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoU2NyZWVuZWQpIHsKICAgICAgICAg
ICAgSFRNTC5wdXNoKCc8ZGl2IGNsYXNzPWhpZGVfY29tIGlkPSJzY3JlZW5lZF8n
ICsgVGhyZWFkSUQgKyAnIj7K7uzs5e3y4PDo6SDx6vD78jwvZGl2PicpOwogICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgIEhUTUwucHVzaCgnPHNwYW4gaWQ9InVu
c2NyZWVuZWRfJyArIFRocmVhZElEICsgJyI+PC9zcGFuPicpOwogICAgICAgIH0K
ICAgIH0KICAgIEhUTUwucHVzaCgnPHRhYmxlIGNsYXNzPSJhdXRvciIgY2VsbHNw
YWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIw
Ij48dHI+PHRkIG5vd3JhcD4nKTsKICAgIGlmIChQb3N0ZXJFbWFpbCkgewogICAg
ICAgIEhUTUwucHVzaCgnPGEgaHJlZj0iaHR0cDovL3d3dy5tYWlsLnJ1L2FnZW50
P21lc3NhZ2UmdG89JyArIFBvc3RlckVtYWlsICsgJyI+PGltZyBzcmM9Imh0dHA6
Ly9zdGF0dXMubWFpbC5ydS8/JyArIFBvc3RlckVtYWlsICsgJyIgd2lkdGg9MTMg
aGVpZ2h0PTEzIGFsaWduPWFic21pZGRsZSBib3JkZXI9MD48L2E+Jm5ic3A7Jm5i
c3A7PGEgaHJlZj0iJyArIFVzZXJEaXIgKyAnIj4nKTsKICAgICAgICBpZiAoUG9z
dGVyRGVsZXRlZCkgSFRNTC5wdXNoKCc8cz4nKTsKICAgICAgICBIVE1MLnB1c2go
UG9zdGVyTmFtZSk7CiAgICAgICAgaWYgKFBvc3RlckRlbGV0ZWQpIEhUTUwucHVz
aCgnPHM+Jyk7CiAgICAgICAgSFRNTC5wdXNoKCc8L2E+Jyk7CiAgICAgICAgaWYg
KElzU3RhcikgewogICAgICAgICAgICBIVE1MLnB1c2goJzxpbWcgc3JjPSJodHRw
Oi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fc3Rhci5wbmciIGNsYXNzPSJJRXBu
ZyIgYWx0PSLH4uXn5O375SDh6+7j6CDt4CBNYWlsLlJ1IiB3aWR0aD0iMTAiIGhl
aWdodD0iMTAiIGJvcmRlcj0iMCIgYWxpZ249InRleHR0b3AiPicpOwogICAgICAg
IH0KICAgICAgICBpZiAoUG9zdGVyQmlydGhkYXkpIHsKICAgICAgICAgICAgSFRN
TC5wdXNoKCcmbmJzcDs8YSBocmVmPSInICsgVXNlckRpciArICdiaXJ0aGRheS5o
dG1sIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNvX2Jp
cnRoZGF5LnBuZyIgY2xhc3M9IklFcG5nIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYi
IGJvcmRlcj0iMCIgYWx0PSLk5e38IPDu5uTl7ej/IiBhbGlnbj0iYWJzbWlkZGxl
IiAvPjwvYT4nKTsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIGlmIChQ
b3N0ZXJJRCkgewogICAgICAgICAgICBIVE1MLnB1c2goJzxpbWcgc3JjPSJodHRw
Oi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fZGVsX3VzZXIucG5nIiBjbGFzcz0i
SUVwbmciIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgYm9yZGVyPSIwIiBhbGlnbj0i
YWJzbWlkZGxlIj4mbmJzcDsmbmJzcDs8YSBocmVmPSIvY2dpLWJpbi9qb3VybmFs
L25vc3VjaHVzZXI/am91cm5hbF9pZD0nICsgSm91cm5hbElEICsgJyZwb3N0X2lk
PScgKyBQb3N0SUQgKyAnIj48aT7P7uv85+7i4PLl6/wg8+Tg6+XtPC9pPjwvYT4n
KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoUG9zdGVyKSB7CiAg
ICAgICAgICAgICAgICBIVE1MLnB1c2goUG9zdGVyKTsKICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgIEhUTUwucHVzaCgnwO3u7ejs7e4nKTsKICAg
ICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGlmIChQb3N0ZXJJbmZvKSB7
CiAgICAgICAgSFRNTC5wdXNoKCc8YSBjbGFzcz0ibWwzIiBvbmNsaWNrPSJvcGVu
X2Ryb3Bkb3duX2NvbW1lbnRfJyArIFRocmVhZElEICsgJyh0aGlzLGV2ZW50KTsg
cmV0dXJuIGZhbHNlOyIgaHJlZj0iIyIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3Jj
PSJodHRwOi8vaW1nLm1haWwucnUvbWFpbC9ydS9pbWFnZXMvYmxvZ3MvdXNlcl9h
cnJvd19wYXMuZ2lmIiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIGJvcmRlcj0iMCIg
YWx0PSLM5e3+IO/u6/zn7uLg8uXr/yIgdGl0bGU9Iszl7f4g7+7r/Ofu4uDy5ev/
IiBhbGlnbj0iYWJzbWlkZGxlIiAvPjwvYT4nKTsKICAgIH0KCiAgICBpZiAoQ2Fu
RWRpdEJsYWNrTGlzdCkgewogICAgICAgIEhUTUwucHVzaCgnPGRpdiBzdHlsZT0i
ZGlzcGxheTogbm9uZTsiPjxzcGFuIGlkPSJQb3N0ZXJOYW1lXycgKyBUaHJlYWRJ
RCArICciPicgKyBQb3N0ZXJOYW1lICsgJzwvc3Bhbj48L2Rpdj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjIiBvbmNsaWNrPSJibGFja19saXN0X2Nv
bmZpcm0oXCcnICsgSm91cm5hbERpciArICdqYmxhY2tsaXN0P2VtYWlsPScgKyBQ
b3N0ZXJFbWFpbCk7CiAgICAgICAgaWYgKEluQmxhY2tMaXN0KSBIVE1MLnB1c2go
JyZkZWxldGU9MScpOwogICAgICAgIEhUTUwucHVzaCgnJmJhY2s9JyArIFBlcmxW
YXJfYmFja192YWx1ZSArICcsJyk7CiAgICAgICAgaWYgKEluQmxhY2tMaXN0KSB7
CiAgICAgICAgICAgIEhUTUwucHVzaCgiJ2RlbCciKTsKICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICBIVE1MLnB1c2goIidhZGQnIik7CiAgICAgICAgfQogICAg
ICAgIEhUTUwucHVzaCgnLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnUG9zdGVy
TmFtZV8nICsgVGhyZWFkSUQgKyAnXCcpLmlubmVySFRNTCkiPicpOwogICAgICAg
IGlmIChJbkJsYWNrTGlzdCkgewogICAgICAgICAgICBIVE1MLnB1c2goJzxpbWcg
c3JjPSJodHRwOi8vaW1nLm1haWwucnUvbWFpbC9ydS9pbWFnZXMvYmxvZ3MvaWNv
X2RlbF9ibGxpc3QucG5nIiBjbGFzcz0iSUVwbmciIHdpZHRoPSIxNiIgaGVpZ2h0
PSIxNiIgYWxpZ249ImFic21pZGRsZSIgYm9yZGVyPSIwIiB0aXRsZT0i0+Tg6+jy
/CDo5yDX5fDt7uPuIPHv6PHq4CIgLz48L2E+Jyk7CiAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgSFRNTC5wdXNoKCc8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L21haWwvcnUvaW1hZ2VzL2Jsb2dzL2ljb19hZGRfYmxsaXN0LnBuZyIgY2xh
c3M9IklFcG5nIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGFsaWduPSJhYnNtaWRk
bGUiIGJvcmRlcj0iMCIgdGl0bGU9IsTu4eDi6PL8IOIg1+Xw7fvpIPHv6PHu6iIg
Lz48L2E+Jyk7CiAgICAgICAgfQogICAgfQoKICAgIEhUTUwucHVzaCgnPC90ZD48
dGQgY2xhc3M9ImluZm8iIG5vd3JhcD4nICsgVGltZSArICcmbmJzcDsoPGEgaHJl
Zj0iJyArIEpvdXJuYWxEaXIgKyBQb3N0SUQgKyAnLmh0bWw/dGhyZWFkPScgKyBU
aHJlYWRJRCArICcmc2tpcD0wIj7x8fvr6uA8L2E+KTwvdGQ+PHRkIGNsYXNzPSJp
bmZvIiBub3dyYXA+PGRpdiBpZD0iSFBvc3RfJyArIFRocmVhZElEICsgJyI+PGEg
aHJlZj0iIyIgb25jbGljaz0icmV0dXJuIHNob3dfY29tbWVudChcJycgKyBQb3N0
SUQgKyAnXCcsIFwnJyArIFRocmVhZElEICsgJ1wnKTsiIHRpdGxlPSLR6vD78vwi
PjxpbWcgaGVpZ2h0PSIxMSIgYm9yZGVyPSIwIiBhbGlnbj0iYWJzbWlkZGxlIiB3
aWR0aD0iMTEiIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L21haWwvcnUvaW1hZ2Vz
L2Jsb2dzLy0uanBnIiBjbGFzcz0ibXI1IiAvPtHq8Pvy/DwvYT48L2Rpdj48L3Rk
PicpOwogICAgSFRNTC5wdXNoKCc8dGQgd2lkdGg9IjEwMCUiIGNsYXNzPSJpY29u
cyIgbm93cmFwPicpOwoKICAgIGlmICghUHVibGljYWx5UmVhZGFibGUpIHsKICAg
ICAgICBpZiAoQ2FuTWFrZVJlYWRhYmxlKSB7CiAgICAgICAgICAgIEhUTUwucHVz
aCgnPGEgb25jbGljaz0icmV0dXJuIHNjcmVlbl9jb21tZW50KFwnJyArIFRocmVh
ZElEICsgJ1wnKTsiIGhyZWY9IicgKyBBY3Rpb25EaXIgKyAnanNjcmVlbmNvbW1l
bnQ/dXNlcj0nICsgSm91cm5hbEVtYWlsICsgJyZpZD0nICsgUG9zdElEICsgJyZz
Y3JlZW49JyArIFRocmVhZElEICsgJyZyZWFkYWJsZT0xJmJhY2s9JyArIFBlcmxW
YXJfYmFja192YWx1ZSArICciPjxpbWcgaWQ9InNjcmVlbl9pbWdfJyArIFRocmVh
ZElEICsgJyIgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fY29t
bWVudF9zaG93XzIucG5nIiBjbGFzcz0iSUVwbmciIHdpZHRoPSIxOCIgaGVpZ2h0
PSIxOCIgYm9yZGVyPSIwIiBhbGlnbj0iYWJzbWlkZGxlIiBhbHQ9Is/u6uDn4PL8
IOru7Ozl7fLg8OjpIiB0aXRsZT0iz+7q4Ofg8vwg6u7s7OXt8uDw6OkiIC8+PC9h
PiZuYnNwOycpOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKElz
U2NyZWVuYWJsZSkgewogICAgICAgICAgICBpZiAoU2NyZWVuZWQpIHsKICAgICAg
ICAgICAgICAgIEhUTUwucHVzaCgnPGEgb25jbGljaz0icmV0dXJuIHNjcmVlbl9j
b21tZW50KFwnJyArIFRocmVhZElEICsgJ1wnKTsiIGhyZWY9IicgKyBBY3Rpb25E
aXIgKyAnanNjcmVlbmNvbW1lbnQ/dXNlcj0nICsgSm91cm5hbEVtYWlsICsgJyZp
ZD0nICsgUG9zdElEICsgJyZzY3JlZW49JyArIFRocmVhZElEICsgJyZyZXN0b3Jl
PTEmYmFjaz0nICsgUGVybFZhcl9iYWNrX3ZhbHVlICsgJyI+PGltZyBpZD0ic2Ny
ZWVuX2ltZ18nICsgVGhyZWFkSUQgKyAnIiBzcmM9Imh0dHA6Ly9pbWcubWFpbC5y
dS9yL2Jsb2dzL2ljb19jb21tZW50X3Nob3dfMi5wbmciIGNsYXNzPSJJRXBuZyIg
d2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBib3JkZXI9IjAiIGFsaWduPSJhYnNtaWRk
bGUiIGFsdD0iz+7q4Ofg8vwg6u7s7OXt8uDw6OkiIHRpdGxlPSLP7urg5+Dy/CDq
7uzs5e3y4PDo6SIgLz48L2E+Jm5ic3A7Jyk7CiAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICBIVE1MLnB1c2goJzxhIG9uY2xpY2s9InJldHVybiBz
Y3JlZW5fY29tbWVudChcJycgKyBUaHJlYWRJRCArICdcJyk7IiBocmVmPSInICsg
QWN0aW9uRGlyICsgJ2pzY3JlZW5jb21tZW50P3VzZXI9JyArIEpvdXJuYWxFbWFp
bCArICcmaWQ9JyArIFBvc3RJRCArICcmc2NyZWVuPScgKyBUaHJlYWRJRCArICcm
YmFjaz0nICsgUGVybFZhcl9iYWNrX3ZhbHVlICsgJyIgPjxpbWcgaWQ9InNjcmVl
bl9pbWdfJyArIFRocmVhZElEICsgJyIgc3JjPSJodHRwOi8vaW1nLm1haWwucnUv
ci9ibG9ncy9pY29fY29tbWVudF9oaWRkZW4ucG5nIiBjbGFzcz0iSUVwbmciIHdp
ZHRoPSIxOCIgaGVpZ2h0PSIxOCIgYm9yZGVyPSIwIiBhbGlnbj0iYWJzbWlkZGxl
IiBhbHQ9ItHq8Pvy/CDq7uzs5e3y4PDo6SIgdGl0bGU9ItHq8Pvy/CDq7uzs5e3y
4PDo6SIgLz48L2E+Jm5ic3A7Jyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAg
ICB9CiAgICBpZiAoQ2FuTWFrZUNvbW1lbnRhYmxlKSB7CiAgICAgICAgaWYgKFNv
bWVib2R5Q29tbWVudGFibGUpIHsKICAgICAgICAgICAgSFRNTC5wdXNoKCc8YSBv
bmNsaWNrPSJyZXR1cm4gY2hhbmdlX2NvbW1lbnRfbWFrZV9ub3Rjb21tZW50YWJs
ZShcJycgKyBUaHJlYWRJRCArICdcJyk7IiBocmVmPSInICsgQWN0aW9uRGlyICsg
J2ptYWtlY29tbWVudG5vdGNvbW1lbnRhYmxlP3VzZXI9JyArIEpvdXJuYWxFbWFp
bCArICcmaWQ9JyArIFBvc3RJRCArICcmY29tbWVudD0nICsgVGhyZWFkSUQgKyAn
JmJhY2s9JyArIFBlcmxWYXJfYmFja192YWx1ZSArICciPjxpbWcgaWQ9ImNvbW1l
bnRhYmxlX2ltZ18nICsgVGhyZWFkSUQgKyAnIiBzcmM9Imh0dHA6Ly9pbWcubWFp
bC5ydS9yL2Jsb2dzL2ljb19sb2NrXzIucG5nIiBjbGFzcz0iSUVwbmciIHdpZHRo
PSIxOCIgaGVpZ2h0PSIxOCIgYm9yZGVyPSIwIiBhbGlnbj0iYWJzbWlkZGxlIiBh
bHQ9Isfg7/Dl8ujy/CDq7uzs5e3y4PDo6CIgdGl0bGU9Isfg7/Dl8ujy/CDq7uzs
5e3y4PDo6CIgLz48L2E+Jm5ic3A7Jyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgSFRNTC5wdXNoKCc8YSBvbmNsaWNrPSJyZXR1cm4gY2hhbmdlX2NvbW1l
bnRfbWFrZV9ub3Rjb21tZW50YWJsZShcJycgKyBUaHJlYWRJRCArICdcJyk7IiBo
cmVmPSInICsgQWN0aW9uRGlyICsgJ2ptYWtlY29tbWVudG5vdGNvbW1lbnRhYmxl
P3VzZXI9JyArIEpvdXJuYWxFbWFpbCArICcmaWQ9JyArIFBvc3RJRCArICcmY29t
bWVudD0nICsgVGhyZWFkSUQgKyAnJnJlc3RvcmU9MSZiYWNrPScgKyBQZXJsVmFy
X2JhY2tfdmFsdWUgKyAnIiA+PGltZyBpZD0iY29tbWVudGFibGVfaW1nXycgKyBU
aHJlYWRJRCArICciIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNv
X3VubG9ja18yLnBuZyIgY2xhc3M9IklFcG5nIiB3aWR0aD0iMTgiIGhlaWdodD0i
MTgiIGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRsZSIgYWx0PSLQ4Ofw5fjo8vwg
6u7s7OXt8uDw6OgiIHRpdGxlPSLQ4Ofw5fjo8vwg6u7s7OXt8uDw6OgiIC8+PC9h
PiZuYnNwOycpOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoSXNEZWxldGFibGUp
IHsKCQlpZiAoSW1tdW5pdHkgJiYgUGVybFZhcl9BY3RpdmVFbWFpbCAhPSBQb3N0
ZXJFbWFpbCkgewoJCQlIVE1MLnB1c2goJzxiIHN0eWxlPSJjb2xvcjogcmVkOyIg
dGl0bGU9IiEhISEhISEhISDC4Obt4P8g7+Xw8e7t4CAtIO3l6/zn/yDu4ejm4PLc
ICEhISEhISEhISI+VklQPC9iPiZuYnNwOycpOwoJCX0KCQllbHNlIHsKICAgICAg
ICBIVE1MLnB1c2goJzxhIGlkPWRfJyArIFRocmVhZElEICsgJyBvbmNsaWNrPSJy
ZXR1cm4gc2hvd19kZWxfY29tbWVudCh0aGlzLFwnJyArIFRocmVhZElEICsgJ1wn
KTsiIGhyZWY9IicgKyBBY3Rpb25EaXIgKyAnamRlbGNvbW1lbnQ/dXNlcj0nICsg
Sm91cm5hbEVtYWlsICsgJyZpZD0nICsgUG9zdElEICsgJyZkZWxldGU9JyArIFRo
cmVhZElEICsgJyZiYWNrPScgKyBQZXJsVmFyX2JhY2tfdmFsdWUgKyAnIj48aW1n
IHNyYz1odHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fZGVsLnBuZyBjbGFz
cz0iSUVwbmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIiBhbGln
bj0iYWJzbWlkZGxlIiBhbHQ9ItPk4Ovo8vwg6u7s7OXt8uDw6OkiIHRpdGxlPSLT
5ODr6PL8IOru7Ozl7fLg8OjpIiAvPjwvYT4mbmJzcDsnKTsKCQl9CiAgICB9CgoJ
aWYgKEFjdGl2ZUVtYWlsKSB7CgkJSFRNTC5wdXNoKCc8YSBocmVmPSIjIiBvbmNs
aWNrPSJzaG93Q29tcGxhaW5Gb3JtKHRoaXMsIFwnJyArIFRocmVhZElEICsgJ1wn
LCBcJycgKyBQb3N0SUQgKyAnXCcpOyByZXR1cm4gZmFsc2U7IiBjbGFzcz0ibWZf
c3BJY28gbWZfaVNwYW0iPt3y7iDx7+DsPC9hPicpOwoJfQoKICAgIEhUTUwucHVz
aCgnPC90ZD48L3RyPjwvdGFibGU+Jyk7CgogICAgSFRNTC5wdXNoKCc8ZGl2IGNs
YXNzPSJjb250Ij48ZGl2IGNsYXNzPSJwb3N0X3RleHQiPjxkaXYgY2xhc3M9InRl
bSI+Jyk7CiAgICBpZiAoRmlsdGVyZWRTdWJqZWN0KSB7CiAgICAgICAgSFRNTC5w
dXNoKCc8Yj4nICsgRmlsdGVyZWRTdWJqZWN0ICsgJzwvYj4nKTsKICAgIH0gZWxz
ZSB7CiAgICAgICAgSFRNTC5wdXNoKCcoIDxiPsHl5yDy5ez7PC9iPiApJyk7CiAg
ICB9CiAgICBIVE1MLnB1c2goJzwvZGl2PjxzcGFuPicgKyBDb21tZW50VGV4dCAr
ICc8L3NwYW4+PC9kaXY+PC9kaXY+Jyk7CgogICAgaWYgKElzQ29tbWVudGFibGUp
IHsKICAgICAgICBIVE1MLnB1c2goJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9
InN1YmplY3RfdGV4dF8nICsgVGhyZWFkSUQgKyAnIiBpZD0ic3ViamVjdF90ZXh0
XycgKyBUaHJlYWRJRCArICciIHZhbHVlPSInICsgUmVTdWJqZWN0ICsgJyIgLz48
aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb21tZW50X3RleHRfJyArIFRocmVh
ZElEICsgJyIgaWQ9ImNvbW1lbnRfdGV4dF8nICsgVGhyZWFkSUQgKyAnIiB2YWx1
ZT0iJmx0O2kmZ3Q7JyArIENvbW1lbnRIaWRlICsgJyZsdDsvaSZndDsiIC8+PHAg
Y2xhc3M9Z3Jfc20gaWQ9ImNvbW1lbnRhYmxlXycgKyBUaHJlYWRJRCArICciPjxh
IGlkPSJsXycgKyBUaHJlYWRJRCArICciIG9uY2xpY2s9InJldHVybiBzaG93X2Fk
ZF9jb21tZW50KFwnJyArIFRocmVhZElEICsgJ1wnLCcgKyBJc1NjcmVlbmFibGUg
KyAnLFwnJyArIFBlcmxWYXJfYmFja192YWx1ZSArICdcJyk7IiBocmVmPSIjIiBt
Yz0xPs7y4uXy6PL8PC9hPig8YSBpZD0iY18nICsgVGhyZWFkSUQgKyAnIiBvbmNs
aWNrPSJyZXR1cm4gc2hvd19hZGRfY29tbWVudChcJycgKyBUaHJlYWRJRCArICdc
JywgJyArIElzU2NyZWVuYWJsZSArICcsXCcnICsgUGVybFZhcl9iYWNrX3ZhbHVl
ICsgJ1wnLFwneWVzXCcpOyIgaHJlZj0iIyIgbWM9MT7xIPbo8uDy7uk8L2E+KTwv
cD4nKTsKICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKEluQmxhY2tMaXN0KSB7CiAg
ICAgICAgICAgIEhUTUwucHVzaCgnPGEgaHJlZj0iJyArIEpvdXJuYWxEaXIgKyAn
amJsYWNrbGlzdGVyciI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Js
b2dzL2ljb19ub3RfY29tbWVudC5wbmciIGNsYXNzPSJJRXBuZyIgdGl0bGU9IsL7
IOTu4eDi6+Xt+yDiINfl8O376SDx7+jx7uoiIGFsaWduPSJhYnNtaWRkbGUiIGJv
cmRlcj0iMCIgaGVpZ2h0PSIxMyIgd2lkdGg9IjEzIiAvPjwvYT4mbmJzcDsmbmJz
cDs8YSBjbGFzcz0iZ3Jfc20iIGhyZWY9IicgKyBKb3VybmFsRGlyICsgJ2pibGFj
a2xpc3RlcnIiPsru7Ozl7fLg8OjoIOfg7/Dl+eXt+zwvYT4nKTsKICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICBIVE1MLnB1c2goJzxwIGNsYXNzPWdyX3NtIGlk
PSJub3Rjb21tZW50YWJsZV8nICsgVGhyZWFkSUQgKyAnIj48aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNvX2xvY2sucG5nIiBjbGFzcz0iSUVw
bmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIiBhbGlnbj0iYWJz
bWlkZGxlIiAvPiZuYnNwO8ru7Ozl7fLg8OjoIOfg7/Dl+eXt+zwvcD4nKTsKICAg
ICAgICB9CiAgICB9CiAgICBIVE1MLnB1c2goJzwvdGQ+PC90cj48dHI+PHRkIGlk
PSJhZGRfJyArIFRocmVhZElEICsgJyIgY2xhc3M9ImZfcSIgY29sc3Bhbj0iMiI+
PC90ZD48L3RyPjwvdGFibGU+Jyk7CgogICAgcmV0dXJuIEhUTUwuam9pbignJyk7
Cn0KCmZ1bmN0aW9uIG1ha2VfY29tbWVudF9saW5rKFBvc3RJRCwgVGhyZWFkSUQs
IGhpZGUsIHdhaXQpIHsKICAgIHZhciBsaW5rLCBJRCwgdGV4dDsKICAgIGlmICho
aWRlKSB7CiAgICAgICAgSUQgPSAnSFBvc3RfJyArIFRocmVhZElEOwogICAgfSBl
bHNlIHsKICAgICAgICBJRCA9ICdDUG9zdF8nICsgVGhyZWFkSUQ7CiAgICB9CiAg
ICBsaW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoSUQpOwogICAgaWYgKCFs
aW5rKSByZXR1cm4gZmFsc2U7CiAgICBpZiAod2FpdCkgewogICAgICAgIHRleHQg
PSAnPGRpdiBjbGFzcz0iZ3JleSI+7+7k7ubk6PLlPC9kaXY+JzsKICAgIH0gZWxz
ZSB7CiAgICAgICAgaWYgKGhpZGUpIHsKICAgICAgICAgICAgdGV4dCA9ICc8YSBo
cmVmPSIjIiBvbmNsaWNrPSJyZXR1cm4gc2hvd19jb21tZW50KFwnJyArIFBvc3RJ
RCArICdcJywgXCcnICsgVGhyZWFkSUQgKyAnXCcpOyIgY2xhc3M9Im1yNSIgdGl0
bGU9ItHq8Pvy/CI+PGltZyBoZWlnaHQ9IjExIiBib3JkZXI9IjAiIGFsaWduPSJh
YnNtaWRkbGUiIHdpZHRoPSIxMSIgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvbWFp
bC9ydS9pbWFnZXMvYmxvZ3MvLS5qcGciIGNsYXNzPSJtcjUiIC8+0erw+/L8PC9h
Pic7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGV4dCA9ICc8YSBocmVm
PSIjIiBvbmNsaWNrPSJyZXR1cm4gc2hvd19jb21tZW50KFwnJyArIFBvc3RJRCAr
ICdcJywgXCcnICsgVGhyZWFkSUQgKyAnXCcpOyIgY2xhc3M9Im1yNSIgdGl0bGU9
ItDg5+Ll8O3z8vwiPjxpbWcgaGVpZ2h0PSIxMSIgYm9yZGVyPSIwIiBhbGlnbj0i
YWJzbWlkZGxlIiB3aWR0aD0iMTEiIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L21h
aWwvcnUvaW1hZ2VzL2Jsb2dzLysuanBnIiBjbGFzcz0ibXI1IiAvPtDg5+Ll8O3z
8vw8L2E+JzsKICAgICAgICB9CiAgICB9CiAgICBsaW5rLmlubmVySFRNTCA9IHRl
eHQ7CiAgICByZXR1cm4gdHJ1ZTsKfQoKdmFyIExvYWRlZFRocmVhZHMgPSB7fTsK
ZnVuY3Rpb24gc2hvd19jb21tZW50KFBvc3RJRCwgVGhyZWFkSUQsIFBhZ2UpIHsK
ICAgIG1ha2VfY29tbWVudF9saW5rKFBvc3RJRCwgVGhyZWFkSUQsIDAsIDEpOwog
ICAgbWFrZV9jb21tZW50X2xpbmsoUG9zdElELCBUaHJlYWRJRCwgMSwgMSk7CiAg
ICBpZiAoTG9hZGVkVGhyZWFkc1tUaHJlYWRJRF0pIHsKICAgICAgICB2YXIgZnVs
bCwgc21hbGw7CiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdw
b3N0X3NtYWxsXycgKyBUaHJlYWRJRCkuc3R5bGUuZGlzcGxheT09J25vbmUnKSB7
CiAgICAgICAgICAgIGZ1bGwgPSAnbm9uZScsIHNtYWxsID0gJyc7CiAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgZnVsbCA9ICcnLCBzbWFsbCA9ICdub25lJzsK
ICAgICAgICB9CiAgICAgICAgdmFyIHRocmVhZCA9IExvYWRlZFRocmVhZHNbVGhy
ZWFkSURdOwogICAgICAgIHZhciBsZW4gPSB0aHJlYWQubGVuZ3RoOwogICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAgICAgdmFy
IElEID0gdGhyZWFkW2ldOwogICAgICAgICAgICBpZiAoIUlEIHx8ICFkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncG9zdF9mdWxsXycgKyBJRCkpIGNvbnRpbnVlOwog
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9zdF9mdWxsXycg
KyBJRCkuc3R5bGUuZGlzcGxheSA9IGZ1bGw7CiAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdwb3N0X3NtYWxsXycgKyBJRCkuc3R5bGUuZGlzcGxh
eSA9IHNtYWxsOwogICAgICAgICAgICBtYWtlX2NvbW1lbnRfbGluayhQb3N0SUQs
IElELCAxLCAwKTsKICAgICAgICAgICAgbWFrZV9jb21tZW50X2xpbmsoUG9zdElE
LCBJRCwgMCwgMCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAg
IH0KICAgIHBlcmxfc2hvd19jb21tZW50KFBvc3RJRCwgVGhyZWFkSUQsIFBhZ2Us
IHNob3dfY29tbWVudHNfY2FsbGJhY2spOwogICAgcmV0dXJuIGZhbHNlOwp9Cgpm
dW5jdGlvbiBzaG93X2NvbW1lbnRzX2NhbGxiYWNrKFBvc3RJRCwgRGF0YSkgewog
ICAgdmFyIFRocmVhZElEID0gRGF0YVswXVsnSUQnXTsKCiAgICB2YXIgdHJlZSA9
IFtdOwogICAgdmFyIGNvbW1lbnQ7CiAgICB3aGlsZSAoY29tbWVudCA9IERhdGEu
c2hpZnQoKSkgewogICAgICAgIHZhciBjSUQgPSBjb21tZW50WydJRCddOwogICAg
ICAgIHZhciBwb3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bvc3RfZnVs
bF8nICsgY0lEKTsKICAgICAgICBpZiAoIXBvc3QpIGNvbnRpbnVlOwoKICAgICAg
ICBpZiAoIUxvYWRlZFRocmVhZHNbY0lEXSkgewogICAgICAgICAgICBwb3N0Lmlu
bmVySFRNTCA9IG1ha2VfY29tbWVudChQb3N0SUQsIGNvbW1lbnQpOwogICAgICAg
IH0KICAgICAgICBwb3N0LnN0eWxlLmRpc3BsYXkgPSAnJzsKICAgICAgICB2YXIg
b2xkUG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3N0X3NtYWxsXycg
KyBjSUQpOwogICAgICAgIG9sZFBvc3Quc3R5bGUuZGlzcGxheSA9ICdub25lJzsK
ICAgICAgICBtYWtlX2NvbW1lbnRfbGluayhQb3N0SUQsIGNJRCwgMSwgMCk7CiAg
ICAgICAgdHJlZS5wdXNoKHsgSUQ6IGNJRCwgTGV2ZWw6IHBhcnNlSW50KGNvbW1l
bnRbJ1NMZXZlbCddKSB9KTsKCQl0cnkge2dyZXBMaW5rcyhwb3N0KTt9IGNhdGNo
KGUpIHt9OyAvLyBjcmVhdGUgTXkgKDUyOTQ0MSkKICAgIH0KICAgIC8vIHJlbWVt
YmVyIGZvciBlYWNoIGNvbW1lbnQgaGlzIGNoaWxkcwogICAgdmFyIGxlbiA9IGkg
PSB0cmVlLmxlbmd0aDsKICAgIHdoaWxlIChpLS0pIHsKICAgICAgICB2YXIgcElE
ID0gdHJlZVtpXVsnSUQnXTsKICAgICAgICB2YXIgcExldmVsID0gdHJlZVtpXVsn
TGV2ZWwnXTsKICAgICAgICBMb2FkZWRUaHJlYWRzW3BJRF0gPSBbcElEXTsKICAg
ICAgICBmb3IgKHZhciBqID0gaSsxOyBqIDwgbGVuOyBqKyspIHsKICAgICAgICAg
ICAgaWYgKHBhcnNlSW50KHRyZWVbal1bJ0xldmVsJ10pIDw9IHBMZXZlbCkgYnJl
YWs7CiAgICAgICAgICAgIExvYWRlZFRocmVhZHNbcElEXS5wdXNoKHRyZWVbal1b
J0lEJ10pOwogICAgICAgIH0KICAgIH0KfQ==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=help.js
Content-Type: application/x-javascript; name=help.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/help.js?8
Content-Transfer-Encoding: Base64
ZnVuY3Rpb24gc2hvd19oZWxwKGV2ZW50LCBoZWxwX3RleHQpIHsKICAgIGlmKCFl
dmVudCkgZXZlbnQgPSB3aW5kb3cuZXZlbnQ7CiAgICB2YXIgZWxlbWVudCA9IGV2
ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50OwogICAgdmFyIGRpdiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJoZWxwX2RpdiIpOwogICAgaWYgKGVsZW1l
bnQgJiYgZGl2KSB7CiAgICAgICAgdmFyIGNvb3IgPSBnZXRfcG9zaXRpb24oZWxl
bWVudCk7CiAgICAgICAgZGl2LmlubmVySFRNTD0iPGEgb25jbGljaz1cInJldHVy
biBjbGVhcl9oZWxwKClcIiBocmVmPVwiXCI+PGltZyBzcmM9aHR0cDovL2ltZy5t
YWlsLnJ1L21haWwvcnUvaW1hZ2VzL2Jsb2dzL2Nsb3NlX2hlbHAuZ2lmIGhlaWdo
dD03IHdpZHRoPTcgYm9yZGVyPTAgYWxpZ249cmlnaHQ+PC9hPjxicj4iK2hlbHBf
dGV4dDsKICAgICAgICBkaXYuY2xhc3NOYW1lPSJoZWxwX2RpdiI7CiAgICAgICAg
ZGl2LnN0eWxlLnRvcCA9IChjb29yLnRvcCtlbGVtZW50Lm9mZnNldEhlaWdodCkr
InB4IjsKICAgICAgICBkaXYuc3R5bGUubGVmdCA9IGNvb3IubGVmdCsicHgiOwog
ICAgICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgICAgIGRpdi5z
dHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKICAgICAgICBkaXYuc3R5bGUudmlzaWJp
bGl0eSA9ICJ2aXNpYmxlIjsKICAgICAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0
cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CgpmdW5jdGlvbiBzaG93X2Vy
cm9yKGV2ZW50LCB0ZXh0LCByaWdodCkgeyAKICAgIGlmICghZXZlbnQpIHsKICAg
ICAgICBldmVudCA9IHdpbmRvdy5ldmVudDsKICAgIH0KICAgIHZhciBlbGVtZW50
ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnNyY0VsZW1lbnQ7CiAgICB2YXIgZGl2
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlbHBfZGl2Iik7CiAgICBpZiAo
ZWxlbWVudCAmJiBkaXYpIHsKICAgICAgICB2YXIgY29vciA9IGdldF9wb3NpdGlv
bihlbGVtZW50KTsKICAgICAgICBkaXYuaW5uZXJIVE1MID0gIjxhIG9uY2xpY2s9
XCJyZXR1cm4gY2xlYXJfaGVscCgpXCIgaHJlZj1cIlwiPjxpbWcgc3JjPWh0dHA6
Ly9pbWcubWFpbC5ydS9tYWlsL3J1L2ltYWdlcy9ibG9ncy9jbG9zZV9oZWxwLmdp
ZiBoZWlnaHQ9NyB3aWR0aD03IGJvcmRlcj0wIGFsaWduPXJpZ2h0PjwvYT48YnIg
Lz4iICsgdGV4dDsKICAgICAgICBkaXYuY2xhc3NOYW1lID0gImVycm9yX2RpdiI7
CiAgICAgICAgZGl2LnN0eWxlLnRvcCA9IGNvb3IudG9wICsgZWxlbWVudC5vZmZz
ZXRIZWlnaHQgKyAicHgiOwogICAgICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOwogICAgICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKICAgICAg
ICBkaXYuc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKICAgICAgICBpZiAo
cmlnaHQpCiAgICAgICAgICAgIGRpdi5zdHlsZS5sZWZ0ID0gKGNvb3IubGVmdCAt
IGRpdi5vZmZzZXRXaWR0aCArIGVsZW1lbnQub2Zmc2V0V2lkdGgpKyJweCI7CiAg
ICAgICAgZWxzZQogICAgICAgICAgICBkaXYuc3R5bGUubGVmdCA9IGNvb3IubGVm
dCArICJweCI7CiAgICAgICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTsKICAg
IH0KICAgIHJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gc2hvd19oZWxwXzIoZXZl
bnQsIGhlbHBfdGV4dCkgewogICAgaWYgKCFldmVudCkgZXZlbnQgPSB3aW5kb3cu
ZXZlbnQ7CiAgICB2YXIgZWxlbWVudCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5z
cmNFbGVtZW50OwogICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJoZWxwX2RpdiIpOwogICAgaWYgKGVsZW1lbnQgJiYgZGl2KSB7CiAgICAgICAg
dmFyIGNvb3IgPSBnZXRfcG9zaXRpb24oZWxlbWVudCk7CiAgICAgICAgZGl2Lmlu
bmVySFRNTD0iPGEgb25jbGljaz1cInJldHVybiBjbGVhcl9oZWxwKClcIiBocmVm
PVwiXCI+PGltZyBzcmM9aHR0cDovL2ltZy5tYWlsLnJ1L21haWwvcnUvaW1hZ2Vz
L2Jsb2dzL2Nsb3NlX2hlbHAuZ2lmIGhlaWdodD03IHdpZHRoPTcgYm9yZGVyPTAg
YWxpZ249cmlnaHQ+PC9hPjxicj4iK2hlbHBfdGV4dDsKICAgICAgICBkaXYuY2xh
c3NOYW1lPSJoZWxwX2RpdiI7CiAgICAgICAgZGl2LnN0eWxlLnRvcCA9IChjb29y
LnRvcCtlbGVtZW50Lm9mZnNldEhlaWdodCkrInB4IjsKICAgICAgICBkaXYuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICBkaXYuc3R5bGUuZGlzcGxheSA9
ICJibG9jayI7CiAgICAgICAgZGl2LnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJs
ZSI7CiAgICAgICAgZGl2LnN0eWxlLmxlZnQgPSAoY29vci5sZWZ0IC0gZGl2Lm9m
ZnNldFdpZHRoICsgZWxlbWVudC5vZmZzZXRXaWR0aCkrInB4IjsKICAgICAgICBl
dmVudC5jYW5jZWxCdWJibGUgPSB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNl
Owp9CgpmdW5jdGlvbiBjbGVhcl9oZWxwKCkgewogICAgdmFyIGRpdiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJoZWxwX2RpdiIpOwogICAgaWYgKGRpdikgewog
ICAgICAgIGRpdi5jbGFzc05hbWUgPSAiaGVscF9kaXYiOwogICAgICAgIGRpdi5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9
CgpmdW5jdGlvbiBnZXRfcG9zaXRpb24oZWwpIHsgcmV0dXJuIGdldEVsZW1Qb3Mo
ZWwpIH0KCmZ1bmN0aW9uIGhpZGVfaGVscCAoZXZlbnQpewogICAgdmFyIGNoZWNr
X2YgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGVscF9kaXYiKTsKICAgIGlm
IChjaGVja19mKSB7CiAgICAgICAgdmFyIGV2ZW50ID0gKGV2ZW50KSA/IGV2ZW50
IDogKCh3aW5kb3cuZXZlbnQpID8gZXZlbnQgOiBudWxsICk7CiAgICAgICAgdmFy
IGVsZW1lbnQgPSAoZXZlbnQgJiYgZXZlbnQudGFyZ2V0KSA/IGV2ZW50LnRhcmdl
dCA6ICgoZXZlbnQgJiYgZXZlbnQuc3JjRWxlbWVudCkgPyBldmVudC5zcmNFbGVt
ZW50IDogbnVsbCk7CiAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5pZCAh
PSAiaGVscF9kaXYiICYmIGVsZW1lbnQudGFnTmFtZSAhPSAiQSIpIHsKICAgICAg
ICAgICAgY2hlY2tfZi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgICAgIH0K
ICAgIH0KfQoKdmFyIFBlcmxWYXJfQWN0aXZlSUQgPSBQZXJsVmFyX0FjdGl2ZUlE
ID8gUGVybFZhcl9BY3RpdmVJRCA6ICdBY3RpdmVJRCc7CnZhciBIZWxwcyA9IFtd
Owp2YXIgaGVscERhdGEgPSB7CiAgICAnY2hhbGxlbmdlLXBsdXMxMCc6ICc8aDIg
Y2xhc3M9ImZsIHByNSI+wiDk5fH/8urzITwvaDI+PGEgaHJlZj0iL21lZ2F2b3Rl
Ij7P7uTw7uHt5eU8L2E+PGRpdiBjbGFzcz0ibWI1IG10NSBjbF9iIj48c3BhbiBj
bGFzcz0iZ3JfOTk5Ij7C7ufs7ubt7vHy/CDx8uDi6PL8IO725e3q8yArMTAg4iDy
5ffl7ejlIDEg9+Dx4C48L3NwYW4+PGJyPsTr/yDz9+Dx8uj/IO7y7/Dg4vzy5SBT
TVM8L2Rpdj48ZGl2IGNsYXNzPSJjb2RlIj7xIOru5O7sPC9kaXY+PGRpdiBjbGFz
cz0icmlnaHRfY29kZSI+PGIgY2xhc3M9Im9yYW5nZSI+NTErJyArIFBlcmxWYXJf
QWN0aXZlSUQgKyAnPC9iPjwvZGl2PjxkaXYgY2xhc3M9ImNvZGUiPu3gIO3u7OXw
PC9kaXY+PGRpdiBjbGFzcz0icmlnaHRfY29kZSI+PGRpdiBjbGFzcz0iZmxsIG9y
YW5nZSIgc3R5bGU9ImhlaWdodDogMzBweDsgd2lkdGg6IDQwcHg7Ij48YiBpZD0i
VXNlclNob3J0TnVtYmVyIj40NDQ2PC9iPjwvZGl2PsXx6+gg4vsg7eD17uTo8uXx
/CDiIDxzcGFuIGlkPSJVc2VyQ291bnRyeSI+0O7x8ejoPC9zcGFuPjxicj48YSBv
bmNsaWNrPSJyZXR1cm4gbmV3SGVscChldmVudCwgXCdjaGFsbGVuZ2UtY291bnRy
eVwnLCAxODAsIHsgdG9wOiAwLCBsZWZ0OiAwIH0pOyIgaHJlZj0iIyIgbm9jbG9z
ZT0xPsTw8+Pg/yDx8vDg7eA8L2E+PC9kaXY+PGRpdiBjbGFzcz0ibXQ1Ij7R8u7o
7O7x8vwg8/Hr8+PoOiAwLDk5IPMu5S4g4eXnIM3E0S48YnI+PGEgaHJlZj0iaHR0
cDovL3JhdGVzLm1haWwucnUvIj7T8evu4uj/IO/w5eTu8fLg4uvl7ej/IPPx6/Pj
6DwvYT48L2Rpdj4nLAkKICAgICdjaGFsbGVuZ2UteDInOiAnPGgyIGNsYXNzPSJm
bCBwcjUiPsTi8/Hy4u7r6uA8L2gyPjxhIGhyZWY9Ii9kb3VibGUiPs/u5PDu4e3l
5TwvYT48ZGl2IGNsYXNzPSJtYjUgbXQ1IGNsX2IiPjxzcGFuIGNsYXNzPSJncl85
OTkiPsLx5SDj7uvu8eAg5+Ag4uDxIPPs7e7m4P7y8f8g4iDy5ffl7ejoIDEg9+Dx
4C48L3NwYW4+PGJyPsTr/yDz9+Dx8uj/IO7y7/Dg4vzy5SBTTVM8L2Rpdj48ZGl2
IGNsYXNzPSJjb2RlIj7xIOru5O7sPC9kaXY+PGRpdiBjbGFzcz0icmlnaHRfY29k
ZSI+PGIgY2xhc3M9Im9yYW5nZSI+MzUrJyArIFBlcmxWYXJfQWN0aXZlSUQgKyAn
PC9iPjwvZGl2PjxkaXYgY2xhc3M9ImNvZGUiPu3gIO3u7OXwPC9kaXY+PGRpdiBj
bGFzcz0icmlnaHRfY29kZSI+PGRpdiBjbGFzcz0iZmxsIG9yYW5nZSIgc3R5bGU9
ImhlaWdodDogMzBweDsgd2lkdGg6IDQwcHg7Ij48YiBpZD0iVXNlclNob3J0TnVt
YmVyIj40NDQ2PC9iPjwvZGl2PsXx6+gg4vsg7eD17uTo8uXx/CDiIDxzcGFuIGlk
PSJVc2VyQ291bnRyeSI+0O7x8ejoPC9zcGFuPjxicj48YSBvbmNsaWNrPSJyZXR1
cm4gbmV3SGVscChldmVudCwgXCdjaGFsbGVuZ2UtY291bnRyeVwnLCAxODAsIHsg
dG9wOiAwLCBsZWZ0OiAwIH0pOyIgaHJlZj0iIyIgbm9jbG9zZT0xPsTw8+Pg/yDx
8vDg7eA8L2E+PC9kaXY+PGRpdiBjbGFzcz0ibXQ1Ij7R8u7o7O7x8vwg8/Hr8+Po
OiAwLDk5IPMu5S4g4eXnIM3E0S48YnI+PGEgaHJlZj0iaHR0cDovL3JhdGVzLm1h
aWwucnUvIj7T8evu4uj/IO/w5eTu8fLg4uvl7ej/IPPx6/Pj6DwvYT48L2Rpdj4n
LAoJJ2NoYWxsZW5nZS1jb3VudHJ5JyA6ICc8dGFibGUgY2xhc3M9ImNvZGVfY291
bnRpZXMiPjx0cj4gPHRkIGNsYXNzPSJ3LTUwIGdyXzk5OSBwYjMiPs3u7OXwPC90
ZD48dGQgY2xhc3M9ImdyXzk5OSBwYjMiPtHy8ODt4DwvdGQ+PC90cj48dHI+PHRk
PjwvdGQ+PHRkPjxkaXYgY2xhc3M9ImNvZGVfYm9yZCI+PC9kaXY+PC90ZD48L3Ry
Pjx0cj48dGQgY2xhc3M9ImJiIj40NDQ2PC90ZD48dGQgY2xhc3M9ImNvZGVfYm9y
ZCI+PHVsPjxsaSBvbmNsaWNrPSJzZXRDb3VudHJ5KGV2ZW50LCBcJ3J1XCcpOyI+
0O7x8ej/PC9saT48bGkgb25jbGljaz0ic2V0Q291bnRyeShldmVudCwgXCd1YVwn
KTsiPtPq8ODo7eA8L2xpPjxsaSBvbmNsaWNrPSJzZXRDb3VudHJ5KGV2ZW50LCBc
J2t6XCcpOyI+yuDn4PXx8uDtPC9saT48bGkgb25jbGljaz0ic2V0Q291bnRyeShl
dmVudCwgXCdhbVwnKTsiPsDw7OXt6P88L2xpPjxsaSBvbmNsaWNrPSJzZXRDb3Vu
dHJ5KGV2ZW50LCBcJ2dlXCcpOyI+w/Dz5+j/PC9saT48bGkgb25jbGljaz0ic2V0
Q291bnRyeShldmVudCwgXCd0alwnKTsiPtLg5Obo6ujx8uDtPC9saT48bGkgb25j
bGljaz0ic2V0Q291bnRyeShldmVudCwgXCdhelwnKTsiPsDn5fDh4Onk5uDtPC9s
aT48bGkgb25jbGljaz0ic2V0Q291bnRyeShldmVudCwgXCd1elwnKTsiPtPn4eXq
6PHy4O08L2xpPjwvdWw+PC90ZD48L3RyPjx0cj48dGQ+PC90ZD48dGQ+PGRpdiBj
bGFzcz0iY29kZV9ib3JkIj48L2Rpdj48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0i
YmIiPjE4MjQ8L3RkPjx0ZD48dWw+PGxpIG9uY2xpY2s9InNldENvdW50cnkoZXZl
bnQsIFwnbHZcJyk7Ij7L4PLi6P88L2xpPjwvdWw+PC90ZD48L3RyPjx0cj48dGQg
Y2xhc3M9ImJiIj4xNjI0PC90ZD48dGQ+PHVsPjxsaSBvbmNsaWNrPSJzZXRDb3Vu
dHJ5KGV2ZW50LCBcJ2x0XCcpOyI+y+jy4uA8L2xpPjwvdWw+PC90ZD48L3RyPjx0
cj48dGQgY2xhc3M9ImJiIj4xMzAyPC90ZD48dGQ+PHVsPjxsaSBvbmNsaWNrPSJz
ZXRDb3VudHJ5KGV2ZW50LCBcJ2VlXCcpOyI+3fHy7u3o/zwvbGk+PC91bD48L3Rk
PjwvdHI+PHRyPjx0ZCBjbGFzcz0iYmIiPjgyMzAwPC90ZD48dGQ+PHVsPjxsaSBv
bmNsaWNrPSJzZXRDb3VudHJ5KGV2ZW50LCBcJ2RlXCcpOyI+w+Xw7ODt6P88L2xp
PjwvdWw+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImJiIj40MDcwPC90ZD48dGQ+
PHVsPjxsaSBvbmNsaWNrPSJzZXRDb3VudHJ5KGV2ZW50LCBcJ2lsXCcpOyI+yOfw
4Ojr/DwvbGk+PC91bD48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iYmIiPjwvdGQ+
PHRkPjx1bD48L3VsPjwvdGQ+PC90cj48L3RhYmxlPicKfTsKCmZ1bmN0aW9uIG5l
d0hlbHAoZXZlbnQsIGNvZGUsIHdpZHRoLCBzaGlmdCkgewogICAgZXZlbnQgPSBl
dmVudCB8fCB3aW5kb3cuZXZlbnQ7CiAgICB2YXIgZWxlbWVudCA9IGV2ZW50LnRh
cmdldCB8fCBldmVudC5zcmNFbGVtZW50OwoJaWYoZ2ViaSgiaGVscF9kaXZfIitj
b2RlKSkgY2xvc2VIZWxwKGV2ZW50LCAxKTsKICAgIGlmIChlbGVtZW50KSB7CgkJ
ZWxlbWVudC5ibHVyKCk7CiAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgIGRpdi5pbm5lckhUTUwgPSAnPGRpdiBj
bGFzcz0iaGVscERpdkluIiBpZD0iaGVscF9kaXZfJyArIGNvZGUgKyAnIj48aSBj
bGFzcz0iYnJlYWsiIG9uY2xpY2s9InJldHVybiBjbG9zZUhlbHAoZXZlbnQsIDEp
OyI+PC9pPicgKyBoZWxwRGF0YVtjb2RlXSArICc8L2Rpdj4nOwogICAgICAgIGRp
di5jbGFzc05hbWUgPSAnaGVscERpdic7CiAgICAgICAgaWYgKHdpZHRoKSBkaXYu
c3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7CiAgICAgICAgdmFyIGNvb3IgPSBn
ZXRFbGVtUG9zKGVsZW1lbnQpOwogICAgICAgIHNoaWZ0LnRvcCA9IHNoaWZ0LnRv
cCB8fCAwOwogICAgICAgIHNoaWZ0LmxlZnQgPSBzaGlmdC5sZWZ0IHx8IDA7CiAg
ICAgICAgZGl2LnN0eWxlLnRvcCA9IGNvb3IudG9wICsgc2hpZnQudG9wICsgJ3B4
JzsKICAgICAgICBkaXYuc3R5bGUubGVmdCA9IGNvb3IubGVmdCArIHNoaWZ0Lmxl
ZnQgKyAncHgnOwoKICAgICAgICBIZWxwcy5wdXNoKGRpdik7CgkJCiAgICAgICAg
Y2FuY2VsRXZlbnQoZXZlbnQpOwogICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZGl2KTsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24g
Y2xvc2VIZWxwKGV2ZW50LCBjbG9zZSkgewogICAgaWYgKCFIZWxwcy5sZW5ndGgp
IHJldHVybjsKICAgIGV2ZW50ID0gZXZlbnQgfHwgd2luZG93LmV2ZW50OwogICAg
dmFyIGVsZW1lbnQgPSBldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxlbWVudDsK
CWlmICgkKGVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnbm9jbG9zZScpKSByZXR1cm47
CiAgICBpZiAoIWNoZWNrUGFyZW50KGVsZW1lbnQpIHx8IGNsb3NlKSB7CgkJdmFy
IGhlbHBkaXYgPSBIZWxwcy5wb3AoKTsKCQlpZihoZWxwZGl2KSBoZWxwZGl2LnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQoaGVscGRpdik7CgkJcmV0dXJuIGZhbHNlOwog
ICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCmFkZEhhbmRsZXIoZG9jdW1lbnQsICdj
bGljaycsIGNsb3NlSGVscCk7CgpmdW5jdGlvbiBjaGVja1BhcmVudChlbGVtZW50
KSB7CiAgICB2YXIgcmVnID0gL15oZWxwX2Rpdl9cdy87CiAgICBpZihyZWcudGVz
dChlbGVtZW50LmlkKSkgcmV0dXJuIDE7CiAgICB3aGlsZShlbGVtZW50LnBhcmVu
dE5vZGUpIHsKCWVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7CglpZihyZWcu
dGVzdChlbGVtZW50LmlkKSkgcmV0dXJuIDE7CiAgICB9CiAgICByZXR1cm4gMDsK
fQoKZnVuY3Rpb24gc2V0Q291bnRyeShldmVudCwgY3V0KSB7CiAgICB2YXIgQ291
bnRyaWVzID0gewoJInJ1IjpbJ9Du8fHo6CcsNDQ0Nl0sIAoJInVhIjpbJ9Pq8ODo
7eUnLDQ0NDZdLCAKCSJreiI6WyfK4Ofg9fHy4O3lJywzMzUwXSwgCgkiYW0iOlsn
wPDs5e3o6CcsNDQ0Nl0sIAoJImdlIjpbJ8Pw8+fo6CcsNDQ0Nl0sIAoJInRqIjpb
J9Lg5Obo6ujx8uDt5ScsNDQ0Nl0sIAoJImF6IjpbJ8Dn5fDh4Onk5uDt5ScsNDQ0
Nl0sIAoJInV6IjpbJ9Pn4eXq6PHy4O3lJyw0NDQ2XSwgCgkibHYiOlsny+Dy4ujo
JywxODI0XSwgCgkibHQiOlsny+jy4uUnLDE2MjRdLCAKCSJlZSI6Wyfd8fLu7ejo
JywxMzAyXSwgCgkiZGUiOlsnw+Xw7ODt6OgnLDgyMzAwXSwgCgkiaWwiOlsnyOfw
4Ojr5ScsNDA3MF0KICAgIH07CiAgICAkKCdVc2VyQ291bnRyeScpLmlubmVySFRN
TCA9IENvdW50cmllc1tjdXRdWzBdOwogICAgJCgnVXNlclNob3J0TnVtYmVyJyku
aW5uZXJIVE1MID0gQ291bnRyaWVzW2N1dF1bMV07CiAgICBjbG9zZUhlbHAoZXZl
bnQsIDEpOwogICAgcmV0dXJuIGZhbHNlOwp9
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=fluent_opening.js
Content-Type: application/x-javascript; charset=windows-1251; name=fluent_opening.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/fluent_opening.js?5
Content-Transfer-Encoding: Base64
Lyog7+vg4u3u5SDu8urw+/Lo5SDh6+7q7uIgKi8KCnZhciBjdXJyX3JvdyA9ICcn
Owp2YXIgY3VydGFpblN0ZXAgPSAxMDsgCnZhciBtb3ZpbmdfZGlnaXQgPSAwOwp2
YXIgY2hlY2tfaGVpZ2h0ID0gMDsvLyDi+/H36PL74uDy/CDw4Ofs5fAg4vvv4OTg
/vnl4+4g4evu6uAJCnZhciBjaGVja19zdGVwX0lFID0gNzsKdmFyIGNoZWNrX3N0
ZXBfQUxMID0gMTA7CnZhciBrb3J5dG8gPSBuZXcgT2JqZWN0OwoKdmFyIHN0YXJ0
X2hlaWdodDsKdmFyIGVuZF9oZWlnaHQ7CnZhciBpZl9vcGVuZWQ7CnZhciBub3Rf
YXV0b19oZWlnaHQgPSAwOwoKZnVuY3Rpb24gcmF6dm9yb3Qob2JqLCBjaGVja19o
ZWlnaHQsIG5vdF9hdXRvX2hlaWdodCwgY2xpY2tfb2JqLCBjbGlja19mdW5jKQp7
CQoJaWZfb3BlbmVkID0ga29yeXRvW29ial1bMl07CglpZihjaGVja19oZWlnaHQg
JiYgZ2ViaShvYmorJ19pbm5lcmRpdicpLmlubmVySFRNTCAhPSAiIikKCXsKCQlk
aXYgPSBnZWJpKG9iaisnX2lubmVyZGl2Jyk7CgkJZGl2X2ggPSBnZWJpKG9iaisn
X2hpZGRlbicpOy8v4vHv7uzu4+Dy5ev87fvpIGRpdiDk6/8g7+7x9+Xy4CDw4Ofs
5fDgIOL78e7y+yDi++/g5OD++eXj7iDh6+7q4Cwg6u7y7vD76SDk7uvm5e0g6Ozl
8vwg6uvg8fEgImhpZGRlbl9kaXYiIOgg6Ozl8vwg4u3z8vDo7ejpIGRpdgkJCgkJ
aWYoZGl2X2ggJiYgZGl2X2guaGFzQ2hpbGROb2RlcygpICYmIGRpdi5zdHlsZS5k
aXNwbGF5ID09ICdub25lJykKCQl7CgkJCWRpdl9oX3AgPSBkaXZfaC5maXJzdENo
aWxkOwoJCQlpZihkaXZfaF9wLm5vZGVOYW1lID09ICJESVYiKQoJCQl7CgkJCQlk
aXZfaF9wLmlubmVySFRNTCA9IGRpdi5pbm5lckhUTUw7CgkJCQloZWlnaHQgPSBk
aXZfaF9wLm9mZnNldEhlaWdodDsJCgkJCQlkaXZfaF9wLmlubmVySFRNTCA9ICcn
OwoJCQl9CgkJCWVsc2UKCQkJCWlmKGRpdi5zdHlsZS5kaXNwbGF5ID09ICdub25l
JykKCQkJCXsKCQkJCQlkaXYuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CQkKCQkJ
CQloZWlnaHQgPSBkaXYub2Zmc2V0SGVpZ2h0OwkJCgkJCQkJZGl2LnN0eWxlLmRp
c3BsYXkgPSAnbm9uZSc7CQkJCgkJCQl9CgkJCQllbHNlIGhlaWdodCA9IGRpdi5v
ZmZzZXRIZWlnaHQ7CgkJfQoJCWVsc2UKCQkJaWYoZGl2LnN0eWxlLmRpc3BsYXkg
PT0gJ25vbmUnKQoJCQl7CgkJCQlkaXYuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7
CQkKCQkJCWhlaWdodCA9IGRpdi5vZmZzZXRIZWlnaHQ7CQkKCQkJCWRpdi5zdHls
ZS5kaXNwbGF5ID0gJ25vbmUnOwkJCQoJCQl9CgkJCWVsc2UgaGVpZ2h0ID0gZGl2
Lm9mZnNldEhlaWdodDsKCQlpZihoZWlnaHQpCgkJewoJCQlpZihpZl9vcGVuZWQp
IGtvcnl0b1tvYmpdWzBdID0gaGVpZ2h0OwoJCQllbHNlIGtvcnl0b1tvYmpdWzFd
ID0gaGVpZ2h0OwoJCQlzdGVwID0gaXNJRSA/IGNoZWNrX3N0ZXBfSUUgOiBjaGVj
a19zdGVwX0FMTDsKCQkJY3VydGFpblN0ZXAgPSBwYXJzZUludChoZWlnaHQvc3Rl
cCk7CgkJCWlmKGN1cnRhaW5TdGVwIDwgMykgY3VydGFpblN0ZXAgPSAzOwoJCX0K
CX0KCQoJc3RhcnRfaGVpZ2h0ID0ga29yeXRvW29ial1bMF07CgllbmRfaGVpZ2h0
ID0ga29yeXRvW29ial1bMV07CQoJcmF6dm9yb3RfZGVhbChvYmosIHN0YXJ0X2hl
aWdodCwgZW5kX2hlaWdodCwgc3RhcnRfaGVpZ2h0LDAsIG5vdF9hdXRvX2hlaWdo
dCwgY2xpY2tfb2JqLCBjbGlja19mdW5jKTsKfQoKZnVuY3Rpb24gcmF6dm9yb3Rf
ZGVhbChvYmosIGhlaWdodDEsIGhlaWdodDIsIG1vdmluZ19kaWdpdCwgc3RhcnRl
ZCwgbm90X2F1dG9faGVpZ2h0LCBjbGlja19vYmosIGNsaWNrX2Z1bmMpCnsJCQoJ
dmFyIGdvb24gPSAnMSc7CglpZiAoaGVpZ2h0MSA8IGhlaWdodDIpCgkJaWYgKHN0
YXJ0ZWQgPT0gMCkKCQl7IAoJCQl2YXIgbW92aW5nX2RpZ2l0ID0gaGVpZ2h0MTsK
CQkJbW92aW5nX2RpZ2l0ICs9IGN1cnRhaW5TdGVwOwkJCQkKCQl9CgkJZWxzZSAK
CQl7CgkJCWlmIChtb3ZpbmdfZGlnaXQgPCBoZWlnaHQyKQkKCQkJeyAJCQoJCQkJ
bW92aW5nX2RpZ2l0ICs9IGN1cnRhaW5TdGVwOwoJCQkJZ29vbiA9IDE7CgkJCX0K
CQkJZWxzZSAKCQkJeyAKCQkJCWtvcnl0b1tvYmpdWzJdID0gMTsJCQkJCQkKCQkJ
CWdlYmkob2JqKydfaW5uZXJkaXYnKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsK
CQkJCW1vdmluZ19kaWdpdCA9IG5vdF9hdXRvX2hlaWdodCA/IGhlaWdodDIgOiAn
YXV0byc7CQkJCgkJCQlnb29uID0gMDsKCQkJCWNsaWNrX29iai5vbmNsaWNrID0g
ZnVuY3Rpb24gb25jbGljayhldmVudCkgeyBjbGlja19mdW5jKGNsaWNrX29iaik7
IHJldHVybiBmYWxzZTsgfSAKCQkJfQkKCQl9CglpZiAoaGVpZ2h0MSA+IGhlaWdo
dDIpCgkJaWYgKHN0YXJ0ZWQgPT0gMCkKCQl7IAoJCQl2YXIgbW92aW5nX2RpZ2l0
ID0gaGVpZ2h0MTsJCQkJCgkJCWdlYmkob2JqKS5zdHlsZS5oZWlnaHQgPSBtb3Zp
bmdfZGlnaXQ7CgkJCWdlYmkob2JqKydfaW5uZXJkaXYnKS5zdHlsZS5kaXNwbGF5
ID0gJ25vbmUnOyAKCQkJbW92aW5nX2RpZ2l0IC09IGN1cnRhaW5TdGVwOwoJCX0K
CQllbHNlIAoJCXsKCQkJaWYgKG1vdmluZ19kaWdpdCA+IGhlaWdodDIgJiYgbW92
aW5nX2RpZ2l0Pj1jdXJ0YWluU3RlcCkJCgkJCXsgCQkKCQkJCW1vdmluZ19kaWdp
dCAtPSBjdXJ0YWluU3RlcDsKCQkJCWdvb24gPSAxOwkJCQkJCQoJCQl9CgkJCWVs
c2UKCQkJewoJCQkJbW92aW5nX2RpZ2l0ID0gMDsKCQkJCWtvcnl0b1tvYmpdWzJd
ID0gMDsKCQkJCWdvb24gPSAwOwoJCQkJY2xpY2tfb2JqLm9uY2xpY2sgPSBmdW5j
dGlvbiBvbmNsaWNrKGV2ZW50KSB7IGNsaWNrX2Z1bmMoY2xpY2tfb2JqKTsgcmV0
dXJuIGZhbHNlOyB9CgkJCX0KCQl9CQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KG9iaikuc3R5bGUuaGVpZ2h0ID0gbW92aW5nX2RpZ2l0OwkKCQlpZihnb29uID09
IDEpIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHJhenZvcm90X2RlYWwob2JqLCBo
ZWlnaHQxLCBoZWlnaHQyLCBtb3ZpbmdfZGlnaXQsIDEsIG5vdF9hdXRvX2hlaWdo
dCwgY2xpY2tfb2JqLCBjbGlja19mdW5jKSB9LCAxKTsgCn0gCg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=menu_user.js
Content-Type: application/x-javascript; name=menu_user.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/menu_user.js?11
Content-Transfer-Encoding: Base64
LyogbWVudSB1c2VyKi8KZnVuY3Rpb24gc2hvd19zbXNfbGVhZGVyc2hpcF9ydWxl
cygpIHsKICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc21z
X2xlYWRlcnNoaXBfcnVsZXMnKTsKICAgIGlmIChkaXYpIHsKICAgICAgICBpZihk
aXYuc3R5bGUuZGlzcGxheSA9PSAnbm9uZScpIHsKICAgICAgICAgICAgZGl2LnN0
eWxlLmRpc3BsYXkgPSAnJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBk
aXYuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICB9CiAgICB9Cn0KCnZh
ciBncm91cF9zZWxlY3RvcjsKZnVuY3Rpb24gY3JlYXRlX2dyb3VwX3NlbGVjdG9y
KGhlYWRlciwgam91cm5hbF9lbWFpbCwgaXNfY29tbXVuaXR5KSB7CiAgICB2YXIg
SFRNTCA9IFtdOwogICAgSFRNTC5wdXNoKCc8Zm9ybSBhY3Rpb249IicgKyBQZXJs
VmFyX0FDVElPTl9ESVIgKyAnamFkZGZyaWVuZCIgY2xhc3M9Im0wIiBpZD0iZ3Jv
dXBfc2VsZWN0b3JfZm9ybSIgb25zdWJtaXQ9InJldHVybiBqb3VybmFsX2FkZGZy
aWVuZCgpIj4nKTsKICAgIEhUTUwucHVzaCgnPGlucHV0IHR5cGU9ImhpZGRlbiIg
bmFtZT0idXNlciIgdmFsdWU9IicgKyBqb3VybmFsX2VtYWlsICsgJyIgLz4nKTsK
ICAgIEhUTUwucHVzaCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGFydGlj
aXBhdGUiIHZhbHVlPSInICsgKGlzX2NvbW11bml0eSA/IDEgOiAwKSArICciIC8+
Jyk7CiAgICBIVE1MLnB1c2goJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImJh
Y2siIHZhbHVlPSInICsgUGVybFZhcl9iYWNrX3ZhbHVlICsgJyI+Jyk7CiAgICBI
VE1MLnB1c2goJzxkaXYgY2xhc3M9InAwIj48aDIgY2xhc3M9Im0wIGZsbCI+JyAr
IGhlYWRlciArICc8L2gyPjxhIGhyZWY9ImphdmFzY3JpcHQ6aGlkZV9ncm91cF9z
ZWxlY3RvcigpOyIgY2xhc3M9ImZsciI+PGltZyBoZWlnaHQ9IjgiIGJvcmRlcj0i
MCIgd2lkdGg9IjgiIHRpdGxlPSLH4Orw+/L8IiBzcmM9Imh0dHA6Ly9pbWcubWFp
bC5ydS9tYWlsL3J1L2ltYWdlcy9ibG9ncy9jbG9zZV9pZnIuZ2lmIiAvPjwvYT48
L2Rpdj4nKTsKICAgIEhUTUwucHVzaCgnPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgi
PjwvZGl2PicpOwogICAgCiAgICBIVE1MLnB1c2goJzxkaXYgaWQ9IndvcmtfYXJl
YSI+Jyk7CiAgICBpZiAoIWlzX2NvbW11bml0eSkgewogICAgICAgIEhUTUwucHVz
aCgnPGRpdiBzdHlsZT0iZm9udC1zaXplOiA4NSU7IGNvbG9yOiAjNjU2OTcyOyI+
z/Dl5Ovu5ujy/CDv7uv85+7i4PLl6/4g5PDz5uHzIO3gIO/w7uXq8uD1IMHr7uPo
IOggzO7pIMzo8DwvZGl2PicpOwogICAgICAgIEhUTUwucHVzaCgnPGRpdiBjbGFz
cz0ibXQxNSBtYjEwIj7R7u7h+eXt6OU8YnIgLz48dGV4dGFyZWEgbmFtZT0ibWVz
c2FnZSIgd3JhcD0ic29mdCIgc3R5bGU9IndpZHRoOiAxMDAlOyBib3JkZXI6IG5v
bmU7IG92ZXJmbG93LXg6IGF1dG87IG92ZXJmbG93LXk6IGF1dG87IGhlaWdodDog
NTVweDsgcGFkZGluZzogM3B4OyBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyI+PC90
ZXh0YXJlYT48L2Rpdj4nKTsKICAgICAgICBIVE1MLnB1c2goJzxkaXYgY2xhc3M9
InQ5MCI+xO7v7uvt6PLl6/zt7jwvZGl2PicpOwogICAgfQogICAgSFRNTC5wdXNo
KCc8ZGl2IGNsYXNzPSJ0OTAiPjxsYWJlbD48aW5wdXQgdHlwZT0iY2hlY2tib3gi
IG5hbWU9ImZyaWVuZGxlbnRhIiBjaGVja2VkPSJjaGVja2VkIiB2YWx1ZT0iIiAv
Ptfo8uDy/CDiIOvl7fLlPC9sYWJlbD48c3BhbiBpZD0ic3Vic2NyaWJlX3NwYW4i
PjxiciAvPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InN1YnNjcmliZSIgbmFt
ZT0ic3ViY3JpYmUiIGNoZWNrZWQ9IicgKyAoUGVybFZhcl9hY3RpdmVfc3Vic2Ny
aWJlZCA/ICdjaGVja2VkJyA6ICcnKSArICciIHZhbHVlPSIxIiAvPjxsYWJlbCBm
b3I9InN1YnNjcmliZSI+z+7k7+jx4PL88f8g7eAg7uHt7uLr5e3o/zwvbGFiZWw+
PC9zcGFuPjwvZGl2PicpOwogICAgSFRNTC5wdXNoKCc8ZGl2PjxpbnB1dCB0eXBl
PSJzdWJtaXQiIHZhbHVlPSJPSyIgLz48aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1
ZT0izvLs5e3gIiBvbmNsaWNrPSJyZXR1cm4gaGlkZV9ncm91cF9zZWxlY3Rvcigp
OyIgLz48L2Rpdj4nKTsKICAgIEhUTUwucHVzaCgnPC9kaXY+Jyk7IC8vICN3b3Jr
X2FyZWEKCiAgICBIVE1MLnB1c2goJzxkaXYgaWQ9InJlc3VsdF9hcmVhIiBzdHls
ZT0iZGlzcGxheTogbm9uZTsiPicpOwogICAgSFRNTC5wdXNoKCc8ZGl2IGlkPSJm
cmllbmRfbWVzc2FnZSI+PC9kaXY+PGRpdj48aW5wdXQgdHlwZT0iYnV0dG9uIiB2
YWx1ZT0ix+Dq8Pvy/CIgb25jbGljaz0icmV0dXJuIGhpZGVfZ3JvdXBfc2VsZWN0
b3IoKTsiIC8+PC9kaXY+Jyk7CiAgICBIVE1MLnB1c2goJzwvZGl2PicpOyAvLyAj
cmVzdWx0X2FyZWEKCiAgICBIVE1MLnB1c2goJzwvZGl2PjwvZm9ybT4nKTsKCiAg
ICBncm91cF9zZWxlY3RvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwogICAgZ3JvdXBfc2VsZWN0b3IuaWQgPSAnZ3JvdXBfc2VsZWN0b3InOwogICAg
Z3JvdXBfc2VsZWN0b3IuY2xhc3NOYW1lID0gJ3BvcHVwX2Rpdic7CiAgICBncm91
cF9zZWxlY3Rvci5pbm5lckhUTUwgPSBIVE1MLmpvaW4oJycpOwp9CgpmdW5jdGlv
biBzaG93X3BhcnRpY2lwYXRlX2dyb3VwX3NlbGVjdG9yKGRpdl9uYW1lLCBqb3Vy
bmFsX2VtYWlsKSB7CiAgICBpZiAoIWdyb3VwX3NlbGVjdG9yKSBjcmVhdGVfZ3Jv
dXBfc2VsZWN0b3IoJ8Lx8vPv6PL8IOgg5O7h4OLo8vwnLCBqb3VybmFsX2VtYWls
LCAxKTsKICAgIGlmIChncm91cF9zZWxlY3RvcikgewogICAgICAgIHZhciBmb3Jf
Z3JvdXBfc2VsZWN0b3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkaXZfbmFt
ZSk7CiAgICAgICAgaWYgKGZvcl9ncm91cF9zZWxlY3RvcikgewogICAgICAgICAg
ICBmb3JfZ3JvdXBfc2VsZWN0b3IuYXBwZW5kQ2hpbGQoZ3JvdXBfc2VsZWN0b3Ip
OwogICAgICAgICAgICAvL3ZhciBoZWFkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZ3JvdXBfc2VsZWN0b3JfaGVhZGVyJyk7CiAgICAgICAgICAgIC8vaWYg
KGhlYWRlcikgaGVhZGVyLmlubmVySFRNTCA9ICfC8fLz7+jy/CDoIOTu4eDi6PL8
JzsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9u
IHJlZ19ldnQoZXZ0KSB7IGV2dF9hID0gZXZ0OyB9CgpmdW5jdGlvbiBzaG93X2Zy
aWVuZF9ncm91cF9zZWxlY3RvcihkaXZfbmFtZSwgam91cm5hbF9lbWFpbCkgewog
ICAgaWYgKCFncm91cF9zZWxlY3RvcikgY3JlYXRlX2dyb3VwX3NlbGVjdG9yKCfP
8OXk6+7m6PL8IOTw8+bh8ycsIGpvdXJuYWxfZW1haWwsIDApOwogICAgaWYgKGdy
b3VwX3NlbGVjdG9yKSB7CiAgICAgICAgdmFyIGZvcl9ncm91cF9zZWxlY3RvciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpdl9uYW1lKTsKICAgICAgICBpZiAo
Zm9yX2dyb3VwX3NlbGVjdG9yKSB7CiAgICAgICAgICAgIGZvcl9ncm91cF9zZWxl
Y3Rvci5hcHBlbmRDaGlsZChncm91cF9zZWxlY3Rvcik7CiAgICAgICAgfQogICAg
ICAgIHZhciBzdWJzY3Jfc3BhbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz
dWJzY3JpYmVfc3BhbicpOwogICAgICAgIGlmIChzdWJzY3Jfc3BhbikgewogICAg
ICAgICAgICBzdWJzY3Jfc3Bhbi5zdHlsZS5kaXNwbGF5ID0gUGVybFZhcl9hY3Rp
dmVfc3Vic2NyaWJlZCA/ICdub25lJyA6ICcnOwogICAgICAgIH0KICAgIH0KICAg
IGJ1YmJsZSgpOwogICAgcmV0dXJuIGZhbHNlOwp9CgpmdW5jdGlvbiBoaWRlX2dy
b3VwX3NlbGVjdG9yKCkgewogICAgaWYgKGdyb3VwX3NlbGVjdG9yKSB7CiAgICAg
ICAgaWYgKGdyb3VwX3NlbGVjdG9yLnBhcmVudE5vZGUpCiAgICAgICAgICAgIGdy
b3VwX3NlbGVjdG9yLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZ3JvdXBfc2VsZWN0
b3IpOwogICAgfQp9CgpmdW5jdGlvbiBqb3VybmFsX3N1YnNjcmliZShyZW1vdmUp
IHsKICAgIHZhciBsaW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1YnNj
cl9saW5rJyk7CiAgICB2YXIgbGluazIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnc3Vic2NyX2xpbmsyJyk7CiAgICBpZiAobGluayAmJiBsaW5rMikgewogICAg
ICAgIGxpbmsyLmlubmVySFRNTCA9ICfC++/u6+3/5fLx/y4uLic7CiAgICAgICAg
bGluay5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IHJldHVybiBmYWxzZTsgfTsKICAg
ICAgICBsaW5rMi5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IHJldHVybiBmYWxzZTsg
fTsKICAgIH0KICAgIHBlcmxfcG9zdHNfY29tbWVudHNfc3Vic2NyaWJlKDEsIHJl
bW92ZSwgMCwgTmFOLCBQZXJsVmFyX21uQSwgUGVybFZhcl9tbkIsIGpvdXJuYWxf
c3Vic2NyaWJlX2NhbGxiYWNrKTsKICAgIHJldHVybiBmYWxzZTsKfQoKZnVuY3Rp
b24gam91cm5hbF9zdWJzY3JpYmVfY2FsbGJhY2socmVtb3ZlKSB7CiAgICBpZiAo
cmVtb3ZlPDApIHJldHVybjsKICAgIHZhciBsaW5rID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3N1YnNjcl9saW5rJyk7CiAgICB2YXIgbGluazIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc3Vic2NyX2xpbmsyJyk7CiAgICBpZiAobGluayAm
JiBsaW5rMikgewogICAgICAgIGlmIChyZW1vdmUpIHsKICAgICAgICAgICAgUGVy
bFZhcl9hY3RpdmVfc3Vic2NyaWJlZCA9IDA7CiAgICAgICAgICAgIGlmIChUaGVt
ZV90bXBsKSB7CiAgICAgICAgICAgICAgICBsaW5rLmlubmVySFRNTCA9ICc8aW1n
IHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNvX3N1YnNjcmliZS5w
bmciIGNsYXNzPSJJRXBuZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9
IjAiIGFsaWduPSJhYnNtaWRkbGUiIHZzcGFjZT0iMyI+JzsKICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgIGxpbmsuaW5uZXJIVE1MID0gJzxpbWcg
c3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fc3Vic2NyaWJlLnBu
ZyIgY2xhc3M9IklFcG5nIGljbyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBhbGln
bj0iYWJzbWlkZGxlIiAvPic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbGlu
azIuaW5uZXJIVE1MID0gJ8/u5O/o8eDy/PH/IO3gIO7h7e7i6+Xt6P8nOwogICAg
ICAgICAgICBsaW5rLmhyZWYgPSBQZXJsVmFyX0FDVElPTl9ESVIgKyAnamNvbW1l
bnRzc3Vic2NyaWJlP3VzZXI9JyArIFBlcmxWYXJfSm91cm5hbEVtYWlsICsgJyZw
b3N0cz0xJicgKyBQZXJsVmFyX2JhY2s7CiAgICAgICAgICAgIGxpbmsyLmhyZWYg
PSBQZXJsVmFyX0FDVElPTl9ESVIgKyAnamNvbW1lbnRzc3Vic2NyaWJlP3VzZXI9
JyArIFBlcmxWYXJfSm91cm5hbEVtYWlsICsgJyZwb3N0cz0xJicgKyBQZXJsVmFy
X2JhY2s7CiAgICAgICAgICAgIGxpbmsub25jbGljayA9IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gam91cm5hbF9zdWJzY3JpYmUoMCk7IH07CiAgICAgICAgICAgIGxpbmsy
Lm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGpvdXJuYWxfc3Vic2NyaWJl
KDApOyB9OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIFBlcmxWYXJfYWN0
aXZlX3N1YnNjcmliZWQgPSAxOwogICAgICAgICAgICBpZiAoVGhlbWVfdG1wbCkg
ewogICAgICAgICAgICAgICAgbGluay5pbm5lckhUTUw9JzxpbWcgc3JjPSJodHRw
Oi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fdW5zdWJzY3JpYmUucG5nIiBjbGFz
cz0iSUVwbmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIiBhbGln
bj0iYWJzbWlkZGxlIiB2c3BhY2U9IjMiIC8+JzsKICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgIGxpbmsuaW5uZXJIVE1MPSc8aW1nIHNyYz0iaHR0
cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNvX3Vuc3Vic2NyaWJlLnBuZyIgY2xh
c3M9IklFcG5nIGljbyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBhbGlnbj0iYWJz
bWlkZGxlIiAvPic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbGluazIuaW5u
ZXJIVE1MID0gJ87y7+jx4PL88f8g7vIg7uHt7uLr5e3o6Sc7CiAgICAgICAgICAg
IGxpbmsuaHJlZiA9IFBlcmxWYXJfQUNUSU9OX0RJUiArICdqY29tbWVudHNzdWJz
Y3JpYmU/dXNlcj0nICsgUGVybFZhcl9Kb3VybmFsRW1haWwgKyAnJnJlbW92ZT0x
JnBvc3RzPTEmJyArIFBlcmxWYXJfYmFjazsKICAgICAgICAgICAgbGluazIuaHJl
ZiA9IFBlcmxWYXJfQUNUSU9OX0RJUiArICdqY29tbWVudHNzdWJzY3JpYmU/dXNl
cj0nICsgUGVybFZhcl9Kb3VybmFsRW1haWwgKyAnJnJlbW92ZT0xJnBvc3RzPTEm
JyArIFBlcmxWYXJfYmFjazsKICAgICAgICAgICAgbGluay5vbmNsaWNrID0gZnVu
Y3Rpb24oKSB7IHJldHVybiBqb3VybmFsX3N1YnNjcmliZSgxKTsgfTsKICAgICAg
ICAgICAgbGluazIub25jbGljayA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gam91cm5h
bF9zdWJzY3JpYmUoMSk7IH07CiAgICAgICAgfQogICAgfQp9CgovLyBlbGVtIC0g
cG9zaXRpb24gY2FwY2hhIGRpdiBhcm91bmQgdGhpcyBlbGVtZW50Ci8vIGFjdGlv
biAtIGFjdGlvbiBvZiBjYXBjaGEgZm9ybQpmdW5jdGlvbiBqb3VybmFsX2FkZGZy
aWVuZChyZW1vdmUsIHVzZXJfdGV4dCwgZnJpZW5kbGVudGEsIGVsZW0sIGFjdGlv
bikgewogICAgdmFyIGxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJp
ZW5kX2xpbmsnKTsKICAgIHZhciBsaW5rMiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmcmllbmRfbGluazEnKTsKICAgIGlmIChyZW1vdmUpIHsKICAgICAgICBp
ZiAobGluayAmJiBsaW5rMikgewogICAgICAgICAgICBsaW5rMi5pbm5lckhUTUwg
PSAnwvvv7uvt/+Xy8f8uLi4nOwogICAgICAgICAgICBsaW5rLm9uY2xpY2sgPSBm
dW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9OwogICAgICAgICAgICBsaW5rMi5v
bmNsaWNrID0gZnVuY3Rpb24oKSB7IHJldHVybiBmYWxzZTsgfTsKICAgICAgICB9
CiAgICAgICAgcGVybF9hZGRfZnJpZW5kKHJlbW92ZSwgam91cm5hbF9hZGRmcmll
bmRfY2FsbGJhY2spOwogICAgfSBlbHNlIHsKICAgICAgICB2YXIgZm9ybSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdncm91cF9zZWxlY3Rvcl9mb3JtJyk7CiAg
ICAgICAgaWYgKGZvcm0pIHsKICAgICAgICAgICAgaWYgKGZvcm0ucGFydGljaXBh
dGUudmFsdWU9PTEpIHJldHVybiB0cnVlOwoKICAgICAgICAgICAgdmFyIHN1YnNj
cmliZSA9IDA7CiAgICAgICAgICAgIHZhciBzdWJzY3JfZWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzdWJzY3JpYmUnKTsKICAgICAgICAgICAgaWYg
KHN1YnNjcl9lbGVtZW50ICYmIHN1YnNjcl9lbGVtZW50LmNoZWNrZWQpIHN1YnNj
cmliZSA9IDE7CgogICAgICAgICAgICBpZiAoc3Vic2NyaWJlICYmICFQZXJsVmFy
X2FjdGl2ZV9zdWJzY3JpYmVkKSBqb3VybmFsX3N1YnNjcmliZSgwKTsKICAgICAg
ICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJpZW5k
X2xpbmsnKTsKICAgICAgICAgICAgdmFyIGxpbmsyID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2ZyaWVuZF9saW5rMScpOwogICAgICAgICAgICBpZiAoIWxpbmsg
fHwgIWxpbmsyKSByZXR1cm47CgogICAgICAgICAgICBsaW5rMi5pbm5lckhUTUwg
PSAnz/Dl5Ovu5uXt6OUg7vLv8ODi6+Xt7ic7CiAgICAgICAgICAgIGxpbmsub25j
bGljayA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH07CiAgICAgICAgICAg
IGxpbmsyLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9OwoK
ICAgICAgICAgICAgdmFyIHVzZXJfdGV4dCA9IGZvcm0ubWVzc2FnZS52YWx1ZTsK
ICAgICAgICAgICAgdmFyIGZyaWVuZGxlbnRhID0gKGZvcm0uZnJpZW5kbGVudGEu
Y2hlY2tlZCA/IDEgOiAwKTsKCiAgICAgICAgICAgIGpvdXJuYWxfY2FsbF9hZGRm
cmllbmQodXNlcl90ZXh0LCBmcmllbmRsZW50YSwgbGluazIsIGxpbmsyLmhyZWYp
OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGpvdXJuYWxfY2FsbF9hZGRm
cmllbmQodXNlcl90ZXh0LCBmcmllbmRsZW50YSwgZWxlbSwgYWN0aW9uKTsKICAg
ICAgICB9CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGpvdXJu
YWxfY2FsbF9hZGRmcmllbmQodXNlcl90ZXh0LCBmcmllbmRsZW50YSwgZWxlbSwg
YWN0aW9uKSB7CiAgICBpZiAoIWVsZW0gfHwgIWFjdGlvbikgdGhyb3cgbmV3IEVy
cm9yKCd3cm9uZyBzeW50YXgnKTsKICAgIHBlcmxfZ2V0X2ZyaWVuZHNoaXBfY2Fw
Y2hhKAogICAgICAgIGZ1bmN0aW9uIChjYXBjaGFfaWQpIHsKICAgICAgICAgICAg
aWYgKGNhcGNoYV9pZCkgewogICAgICAgICAgICAgICAgdmFyIGNvb3IgPSBnZXRf
cG9zaXRpb24oZWxlbSk7CiAgICAgICAgICAgICAgICB2YXIgSFRNTCA9IFtdOwog
ICAgICAgICAgICAgICAgSFRNTC5wdXNoKCc8ZGl2PjxhIG9uY2xpY2s9ImhpZGVf
Y2FwY2hhKCk7IHJldHVybiBmYWxzZTsiIGhyZWY9IiI+PGltZyBzcmM9Imh0dHA6
Ly9pbWcubWFpbC5ydS9tYWlsL3J1L2ltYWdlcy9ibG9ncy9jbG9zZV9oZWxwLmdp
ZiIgaGVpZ2h0PSI3IiB3aWR0aD0iNyIgYm9yZGVyPSIwIiBzdHlsZT0ibWFyZ2lu
OiA1cHg7IGZsb2F0OiByaWdodDsiLz48L2E+Jyk7CiAgICAgICAgICAgICAgICBI
VE1MLnB1c2goJzxkaXYgc3R5bGU9ImNsZWFyOmJvdGg7Ij48aW1nIHNyYz0iaHR0
cDovLycgKyBQZXJsVmFyX0Jsb2dzUGVybEhvc3QgKyAnL2NnaS1iaW4vam91cm5h
bC9nZXRfaW1hZ2U/aWQ9JyArIGNhcGNoYV9pZCArICciIHdpZHRoPSIxNTEiIGJv
cmRlcj0iMCIgdnNwYWNlPSIwIiBoc3BhY2U9IjAiIGhlaWdodD0iNTEiIGFsdD0i
IiBpZD0iSW1hZ2VfaWQiIC8+PC9kaXY+Jyk7CiAgICAgICAgICAgICAgICBIVE1M
LnB1c2goJzxkaXYgc3R5bGU9ImNsZWFyOmJvdGg7Ij7X6PHr7iDt4CDq4PDy6O3q
5To8L2Rpdj4nKTsKICAgICAgICAgICAgICAgIEhUTUwucHVzaCgnPGRpdiBzdHls
ZT0iY2xlYXI6Ym90aDsgZGlzcGxheTppbmxpbmU7Ij48Zm9ybSBhY3Rpb249Iicg
KyBhY3Rpb24gKyAnIiBtZXRob2Q9ImdldCIgaWQ9ImNhcGNoYUZvcm0iIG9uc3Vi
bWl0PSJyZXR1cm4gY2hlY2tfZnJpZW5kc2hpcF9jYXBjaGEoXCcnICsgdXNlcl90
ZXh0ICsgJ1wnLCAnICsgZnJpZW5kbGVudGEgKyAnKTsiPjxpbnB1dCB0eXBlPSJo
aWRkZW4iIG5hbWU9IkltYWdlSUQiIHZhbHVlPSInICsgY2FwY2hhX2lkICsgJyIg
aWQ9IkltYWdlSURfaWQiIC8+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkltYWdl
QW5zd2VyIiBpZD0iSW1hZ2VBbnN3ZXJfaWQiIC8+PGlucHV0IHR5cGU9InN1Ym1p
dCIgdmFsdWU9Ik9LIiAvPjwvZm9ybT48L2Rpdj48L2Rpdj4nKTsKCiAgICAgICAg
ICAgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhcGNo
YV9wb3B1cCcpOwogICAgICAgICAgICAgICAgaWYgKCFkaXYpIHJldHVybjsKICAg
ICAgICAgICAgICAgIGRpdi5pbm5lckhUTUwgPSBIVE1MLmpvaW4oJycpOwogICAg
ICAgICAgICAgICAgZGl2LnN0eWxlLnRvcCA9IChjb29yLnRvcCArIGVsZW0ub2Zm
c2V0SGVpZ2h0IC0gMzApICsgJ3B4JzsKICAgICAgICAgICAgICAgIHZhciBsZWZ0
ID0gY29vci5sZWZ0OyAvLy0gZGl2Lm9mZnNldFdpZHRoICsgZWxlbWVudC5vZmZz
ZXRXaWR0aDsKICAgICAgICAgICAgICAgIGlmIChsZWZ0IDwgMCkgbGVmdCA9IDA7
CiAgICAgICAgICAgICAgICBkaXYuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnOwog
ICAgICAgICAgICAgICAgZGl2LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7
CgogICAgICAgICAgICAgICAgLy9pZiAoZXZlbnQuc3RvcFByb3BhZ2F0aW9uKSBl
dmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIC8vZXZlbnQu
Y2FuY2VsQnViYmxlID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgIHBlcmxfYWRkX2ZyaWVuZCgwLCB1c2VyX3RleHQsIGZyaWVuZGxl
bnRhLCBqb3VybmFsX2FkZGZyaWVuZF9jYWxsYmFjayk7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICApOwp9CgpmdW5jdGlvbiBjaGVja19mcmllbmRzaGlwX2Nh
cGNoYSh1c2VyX3RleHQsIGZyaWVuZGxlbnRhKSB7CiAgICB2YXIgSW1hZ2VJRCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdJbWFnZUlEX2lkJykudmFsdWU7CiAg
ICB2YXIgSW1hZ2VBbnN3ZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnSW1h
Z2VBbnN3ZXJfaWQnKS52YWx1ZTsKICAgIHBlcmxfY2hlY2tfZnJpZW5kc2hpcF9j
YXBjaGEoCiAgICAgICAgSW1hZ2VJRCwgSW1hZ2VBbnN3ZXIsIDAsIHVzZXJfdGV4
dCwgZnJpZW5kbGVudGEsIGZ1bmN0aW9uIChvaywgbGVhdmUsIGVycikgewogICAg
ICAgICAgICBpZiAob2spIHsKICAgICAgICAgICAgICAgIGpvdXJuYWxfYWRkZnJp
ZW5kX2NhbGxiYWNrKGxlYXZlLCBlcnIpOyAvLyBzYXZlIGNhbGwgdG8gc2VydmVy
IC0+IHNhdmUgYSBraXR0ZW4KICAgICAgICAgICAgICAgIGhpZGVfY2FwY2hhKCk7
CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBwZXJsX2dldF9m
cmllbmRzaGlwX2NhcGNoYSgKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAo
Y2FwY2hhX2lkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYXBjaGFf
aWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdJbWFnZV9pZCcpLnNyYyA9ICdodHRwOi8vJyArIFBlcmxWYXJf
QmxvZ3NQZXJsSG9zdCArICcvY2dpLWJpbi9qb3VybmFsL2dldF9pbWFnZT9pZD0n
ICsgY2FwY2hhX2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ0ltYWdlSURfaWQnKS52YWx1ZSA9IGNhcGNoYV9p
ZDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBhbGVydCgnzeXi
5fDt7iDi4uXkuO0g6u7kIOfg+ejy+y4nKTsKICAgICAgICAgICAgfQogICAgICAg
IH0KICAgICk7CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGpvdXJuYWxf
YWRkZnJpZW5kX2NhbGxiYWNrKGxlYXZlLCBlcnIpIHsKICAgIGlmIChsZWF2ZTww
KSByZXR1cm47CiAgICBlcnIgPSBwYXJzZUludChlcnIpOwogICAgdmFyIGVycl9t
ZXNzYWdlOwogICAgaWYgKGVycj09MCkgZXJyX21lc3NhZ2UgPSAnwvsg8fLg6+gg
4ufg6Ozt++zoIOTw8+f8/+zoLic7CiAgICBpZiAoZXJyPT0xIHx8IGVycj09NCkg
ZXJyX21lc3NhZ2UgPSAny+js6PIg7vLv8ODi6ugg7/Do4+vg+OXt6Okg5PDz5uH7
IOjx9+Xw7+DtLiDP7u/w7uHz6fLlIO/u4vLu8Ojy/CDv7u/78urzIPfl8OXnIDIw
IOzo7fPyLic7CiAgICBpZiAoZXJyPT0yKSBlcnJfbWVzc2FnZSA9ICfd8u7yIOzo
8CDn4Orw+/Ig5Ov/IOLg8S4nOwogICAgaWYgKGVycj09MykgZXJyX21lc3NhZ2Ug
PSAnz/Do4+vg+OXt6OUg8/Hv5fjt7iDu8u/w4OLr5e3uLic7CiAgICBpZiAoZXJy
PT01KSBlcnJfbWVzc2FnZSA9ICfC+yDz5uUg7/Dl5Ovg4+Dr6CDk8PPm4fMg/fLu
7PMg7+7r/Ofu4uDy5ev+Lic7CiAgICBpZiAoZXJyPT02KSBlcnJfbWVzc2FnZSA9
ICfd8u7yIO/u6/zn7uLg8uXr/CDiIOLg+OXsIPfl8O3u7CDx7+jx6uUuJzsKICAg
IGlmIChlcnI9PTcpIGVycl9tZXNzYWdlID0gJ8L7IO3lIOzu5uXy5SDv8OXk6+7m
6PL8IOTw8+bh8yD98u7s8yDv7uv85+7i4PLl6/4uJzsKICAgIGlmIChlcnIpIGxl
YXZlID0gIWxlYXZlOwoKICAgIHZhciBsaW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2ZyaWVuZF9saW5rJyk7CiAgICB2YXIgbGluazIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZnJpZW5kX2xpbmsxJyk7CiAgICBpZiAobGluayAmJiBs
aW5rMikgewogICAgICAgIGlmIChlcnJfbWVzc2FnZSkgewogICAgICAgICAgICB2
YXIgbWVzc2FnZV9kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJpZW5k
X21lc3NhZ2UnKTsKICAgICAgICAgICAgdmFyIHdvcmtfYXJlYSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd3b3JrX2FyZWEnKTsKICAgICAgICAgICAgdmFyIHJl
c3VsdF9hcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdF9hcmVh
Jyk7CgogICAgICAgICAgICBtZXNzYWdlX2Rpdi5pbm5lckhUTUwgPSBlcnJfbWVz
c2FnZTsKICAgICAgICAgICAgd29ya19hcmVhLnN0eWxlLmRpc3BsYXkgPSAnbm9u
ZSc7CiAgICAgICAgICAgIHJlc3VsdF9hcmVhLnN0eWxlLmRpc3BsYXkgPSAnJzsK
ICAgICAgICB9CiAgICAgICAgaWYgKGxlYXZlKSB7CiAgICAgICAgICAgIAogICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChUaGVtZV90bXBsKSB7CiAgICAg
ICAgICAgICAgICBsaW5rLmlubmVySFRNTD0nPGltZyBzcmM9Imh0dHA6Ly9pbWcu
bWFpbC5ydS9tYWlsL3J1L2ltYWdlcy9ibG9ncy9pY29fZGVsZXRlZnJpZW5kLmdp
ZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiIGFsaWduPSJhYnNt
aWRkbGUiIHZzcGFjZT0iMyIgLz4nOwogICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgbGluay5pbm5lckhUTUw9JzxpbWcgc3JjPSJodHRwOi8vaW1n
Lm1haWwucnUvci9ibG9ncy9pY29fZGVsZXRlZnJpZW5kLmdpZiIgY2xhc3M9Imlj
byIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBhbGlnbj0iYWJzbWlkZGxlIiAvPic7
CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbGluazIuaW5uZXJIVE1MID0gJ9Pk
4Ovo8vwg6OcgxPDz5+XpJzsKICAgICAgICAgICAgbGluay5ocmVmID0gJ2h0dHA6
Ly9teS5tYWlsLnJ1L215L2FkZGZyaWVuZD9icm9rZT0nICsgUGVybFZhcl9Kb3Vy
bmFsRW1haWwgKyAnJicgKyBQZXJsVmFyX2JhY2s7CiAgICAgICAgICAgIGxpbmsy
LmhyZWYgPSAnaHR0cDovL215Lm1haWwucnUvbXkvYWRkZnJpZW5kP2Jyb2tlPScg
KyBQZXJsVmFyX0pvdXJuYWxFbWFpbCArICcmJyArIFBlcmxWYXJfYmFjazsKICAg
ICAgICAgICAgbGluay5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IHJldHVybiB0cnVl
IH07CiAgICAgICAgICAgIGxpbmsyLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgcmV0
dXJuIHRydWUgfTsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIGlmIChl
cnJfbWVzc2FnZSkgYWxlcnQoZXJyX21lc3NhZ2UpOwogICAgfQp9CgpmdW5jdGlv
biBqb3VybmFsX3JlYWQocmVhZCkgewogICAgdmFyIGxpbmsgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbGVudGFfbGluaycpOwogICAgdmFyIGxpbmsyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xlbnRhX2xpbmsyJyk7CiAgICBpZiAobGlu
ayAmJiBsaW5rMikgewogICAgICAgIGxpbmsyLmlubmVySFRNTCA9ICfC++/u6+3/
5fLx/y4uLic7CiAgICAgICAgbGluay5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IHJl
dHVybiBmYWxzZTsgfTsKICAgICAgICBsaW5rMi5vbmNsaWNrID0gZnVuY3Rpb24o
KSB7IHJldHVybiBmYWxzZTsgfTsKICAgIH0KICAgIHBlcmxfbGVudGFfcmVhZChy
ZWFkLCBqb3VybmFsX3JlYWRfY2FsbGJhY2spOwogICAgcmV0dXJuIGZhbHNlOwp9
CgpmdW5jdGlvbiBqb3VybmFsX3JlYWRfY2FsbGJhY2socmVhZCkgewogICAgdmFy
IGxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGVudGFfbGluaycpOwog
ICAgdmFyIGxpbmsyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xlbnRhX2xp
bmsyJyk7CiAgICBpZiAobGluayAmJiBsaW5rMikgewogICAgICAgIGlmIChyZWFk
KSB7CiAgICAgICAgICAgIGlmIChUaGVtZV90bXBsKSB7CiAgICAgICAgICAgICAg
ICBsaW5rLmlubmVySFRNTD0nPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9t
YWlsL3J1L2ltYWdlcy9ibG9ncy9pX2Zhdm9yaXRlLmdpZiIgY2xhc3M9IklFcG5n
IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCIgYWxpZ249ImFic21p
ZGRsZSIgdnNwYWNlPSIzIiAvPic7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICBsaW5rLmlubmVySFRNTD0nPGltZyBzcmM9Imh0dHA6Ly9pbWcu
bWFpbC5ydS9tYWlsL3J1L2ltYWdlcy9ibG9ncy9pX2Zhdm9yaXRlLmdpZiIgY2xh
c3M9IklFcG5nIGljbyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBhbGlnbj0iYWJz
bWlkZGxlIiAvPic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbGluazIuaW5u
ZXJIVE1MID0gJ9fo8uDy/CDiIOvl7fLlJzsKICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICBpZiAoVGhlbWVfdG1wbCkgewogICAgICAgICAgICAgICAgbGluay5p
bm5lckhUTUwgPSAnPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9tYWlsL3J1
L2ltYWdlcy9ibG9ncy9pX2RlbC5naWYiIGNsYXNzPSJJRXBuZyIgd2lkdGg9IjE2
IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiIGFsaWduPSJhYnNtaWRkbGUiIHZzcGFj
ZT0iMyIgLz4nOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
bGluay5pbm5lckhUTUwgPSAnPGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9t
YWlsL3J1L2ltYWdlcy9ibG9ncy9pX2RlbC5naWYiIGNsYXNzPSJJRXBuZyBpY28i
IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYWxpZ249ImFic21pZGRsZSIgLz4nOwog
ICAgICAgICAgICB9CiAgICAgICAgICAgIGxpbmsyLmlubmVySFRNTCA9ICfN5SD3
6PLg8vwg4iDr5e3y5Sc7CiAgICAgICAgfQogICAgICAgIGxpbmsub25jbGljayA9
IGZ1bmN0aW9uKCkgeyByZXR1cm4gam91cm5hbF9yZWFkKHJlYWQpIH07CiAgICAg
ICAgbGluazIub25jbGljayA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gam91cm5hbF9y
ZWFkKHJlYWQpIH07CiAgICB9Cn0K
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=tags.js
Content-Type: application/x-javascript; name=tags.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/tags.js?7
Content-Transfer-Encoding: Base64
LyogdGFncyAqLwoKZnVuY3Rpb24gd2luMnVybCggc3RyICkgewogICAgLy8gIPHr
7uLg8PwKICAgIHZhciB0cmFucyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDB4NDEw
OyBpIDw9IDB4NDRGOyBpKyspIHRyYW5zW2ldID0gaSAtIDB4MzUwOyAvLyDALd/g
Lf8KICAgIHRyYW5zWzB4NDAxXSA9IDB4QTg7ICAgIC8vIKgKICAgIHRyYW5zWzB4
NDUxXSA9IDB4Qjg7ICAgIC8vILgKICAgIHZhciByZXQgPSBbXTsKICAgIC8vINHu
8fLg4uv/5ewg7ODx8ejiIOru5O7iIPHo7OLu6+7iLCDv7u/z8u3uIO/l8OXi7uTo
7CDq6PDo6+vo9vMKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsg
aSsrKXsKICAgICAgICB2YXIgbiA9IHN0ci5jaGFyQ29kZUF0KGkpOwogICAgICAg
IGlmICh0eXBlb2YgdHJhbnNbbl0gIT0gJ3VuZGVmaW5lZCcpIG4gPSB0cmFuc1tu
XTsKICAgICAgICBpZiAoIG4gPD0gMHhGRiApIHJldC5wdXNoKG4pOwogICAgfQog
ICAgcmV0dXJuIGVzY2FwZShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGws
IHJldCkpOwp9CgoKdmFyIGZseTsKCmZ1bmN0aW9uIGZhc3RfZm9ybShvYmosIGlk
KXsKCWlmICggZmx5ICA9PSB1bmRlZmluZWQgKSB7IGZseSA9IG9iai5zcmMgfQog
ICAgdmFyIGNvb3JkID0gYWJzUG9zaXRpb24ob2JqKTsKICAgIHZhciBkaXZzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIGlkICk7CiAgICBkaXZzLnN0eWxlLnRv
cCAgPSBjb29yZC55ICsgMTA7CiAgICBkaXZzLnN0eWxlLmxlZnQgPSBjb29yZC54
ICsgMTA7CiAgICBkaXZzLnN0eWxlLmRpc3BsYXkgPSBkaXZzLnN0eWxlLmRpc3Bs
YXkgPT0gJ2Jsb2NrJyA/ICdub25lJyA6ICdibG9jayc7CglvYmouc3JjID0gZGl2
cy5zdHlsZS5kaXNwbGF5ID09ICdibG9jaycgPyAnaHR0cDovL2ltZy5tYWlsLnJ1
L3IvYmxvZ3MvaWNvX2RlbC5wbmcnIDogZmx5OwoJaWYoZGl2cy5zdHlsZS5kaXNw
bGF5ID09ICdibG9jaycpIG9iai5jbGFzc05hbWUgPSAgJ0lFcG5nJzsKICAgIHZh
ciBlZGl0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhZ3NlYXJjaCcpOwog
ICAgZGl2cy5zdHlsZS5kaXNwbGF5ID09ICdibG9jaycgPyBlZGl0LmZvY3VzKCkg
OiAnJzsKfQoKZnVuY3Rpb24gdGFnX3NlYXJjaChpZCwgcHJlZml4KXsKCWlucCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKCWlmKGlucC52YWx1ZSA9PSAn
JykKCXsKCQlhbGVydCgnx+Dv7uvt6PLlIO/u5uDr8+nx8uAg7+7r5SDv7ujx6uAn
KTsKCQlpbnAuZm9jdXMoKTsKCX0KCWVsc2UKCXsKCQlwcmVmaXggPSBwcmVmaXgu
bGVuZ3RoID8gcHJlZml4IDogIFBlcmxWYXJfSm91cm5hbERpcjsKCQl3aW5kb3cu
bG9jYXRpb24gPSBwcmVmaXggKyAgUGVybFZhcl90YWdfc2VhcmNoX3BhdGggKyB3
aW4ydXJsKGdlYmkoIGlkICkudmFsdWUpOwoJfQp9CgpmdW5jdGlvbiBsb2FkX3Rh
Z2Nsb3VkX3N0YXRlKCkKewogICAgdmFyIGNvb2tuYW1lID0gInRhZ2Nsb3VkX3N0
YXRlIjsKICAgIGlmICghZ2V0X2Nvb2tpZShjb29rbmFtZSkpIHNldF9jb29raWUo
Y29va25hbWUsICJzaG93Iik7CiAgICBpZiAoZ2V0X2Nvb2tpZShjb29rbmFtZSkg
PT0gImhpZGUiKSB7CgljdXJyX3Jvdz0nbGlzdF90YWdzJzsgCglrb3J5dG9bY3Vy
cl9yb3ddPVswLDAsMF07IAoJcmV0dXJuICc8aW1nIGlkPSJ0YWdjbG91ZF9pY29u
IiBvbmNsaWNrPSJzaG93X2hpZGVfdGFnY2xvdWQodGhpcyk7IiBzcmM9aHR0cDov
L2ltZy5tYWlsLnJ1L3IvYmxvZ3MvY2FsZW5kYXJfbWF4aW1pemUuZ2lmIHdpZHRo
PTE0IGhlaWdodD0xNCBib3JkZXI9MCBhbGlnbj1hYnNtaWRkbGU+Jm5ic3A7Jm5i
c3A7JzsKICAgIH0gZWxzZSB7CgljdXJyX3Jvdz0nbGlzdF90YWdzJzsgCglrb3J5
dG9bY3Vycl9yb3ddPVswLDAsMV07IAoJcmV0dXJuICc8aW1nIGlkPSJ0YWdjbG91
ZF9pY29uIiBvbmNsaWNrPSJzaG93X2hpZGVfdGFnY2xvdWQodGhpcyk7IiBzcmM9
aHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvY2FsZW5kYXJfbWluaW1pemUuZ2lm
IHdpZHRoPTE0IGhlaWdodD0xNCBib3JkZXI9MCBhbGlnbj1hYnNtaWRkbGU+Jm5i
c3A7Jm5ic3A7JzsKICAgIH0KfQoKc2hvd19oaWRlX3RhZ2Nsb3VkID0gZnVuY3Rp
b24oY2xpY2tfb2JqKQp7CgljbGlja19vYmoub25jbGljayA9IGZ1bmN0aW9uIG9u
Y2xpY2soZXZlbnQpIHsgcmV0dXJuIGZhbHNlOyB9IC8vIOfg4evu6ujw4u7g8vwg
4vvv4OTz+OrzCiAgICB2YXIgY29va25hbWUgPSAidGFnY2xvdWRfc3RhdGUiOwog
ICAgaWYgKGdldF9jb29raWUoY29va25hbWUpID09ICJoaWRlIikgewoJICAgIHNl
dF9jb29raWUoY29va25hbWUsICJzaG93Iik7CgkJY3Vycl9yb3c9J2xpc3RfdGFn
cyc7IAoJCWtvcnl0b1tjdXJyX3Jvd109WzAsMCwwXTsgCgkJZ2ViaSgidGFnY2xv
dWRfaWNvbiIpLnNyYyA9ICJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9jYWxl
bmRhcl9taW5pbWl6ZS5naWYiOwogICAgfSBlbHNlIHsKCQlzZXRfY29va2llKGNv
b2tuYW1lLCAiaGlkZSIpOwoJCWN1cnJfcm93PSdsaXN0X3RhZ3MnOyAKCQlrb3J5
dG9bY3Vycl9yb3ddPVswLDAsMV07CgkJZ2ViaSgidGFnY2xvdWRfaWNvbiIpLnNy
YyA9ICJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9jYWxlbmRhcl9tYXhpbWl6
ZS5naWYiOwogICAgfQoJcmF6dm9yb3QoY3Vycl9yb3csIDEsIDAsIGNsaWNrX29i
aiwgIHNob3dfaGlkZV90YWdjbG91ZCk7Cn0KCnZhciBwb3N0X3RhZ3NsaXN0X29i
amVjdDsKCmZ1bmN0aW9uIHBvc3RfcG9zdF9hZGR0YWcodGFnKQp7Cgl2YXIgdGlu
cHV0ID0gZ2ViaSgncG9zdHRhZ2FyZWEnKTsgCglpZighdGlucHV0KSByZXR1cm4g
ZmFsc2U7Cgl2YXIgaW5wYXJyID0gdGlucHV0LnZhbHVlLnNwbGl0KCcsJyk7Cgl3
aGlsZShhPWlucGFyci5zaGlmdCgpKSB7CgkJYT1hLnJlcGxhY2UoLyheXHMrKXwo
XHMrJCkvZywgIiIpCgkJaWYoYSA9PSB0YWcpIHJldHVybiBmYWxzZTsKCX0KCWlm
KHRpbnB1dC52YWx1ZSAhPSAnJykgewoJCXRhZyA9ICcsICcrdGFnOwoJfQoJdGlu
cHV0LnZhbHVlICs9IHRhZzsKCXJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gY3Jl
YXRlX3Bvc3RfdGFnc19mb3JtKCkKewoJdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwoJZGl2LnNldEF0dHJpYnV0ZSgnaWQnLCdwb3N0dGFn
c2RpdicpOwoJZGl2LnNldEF0dHJpYnV0ZSgnY2xhc3MnLCdmYXZvcmFkZCcpOwoJ
ZGl2LmNsYXNzTmFtZSA9ICdmYXZvcmFkZCc7CglkaXYuc3R5bGUuZGlzcGxheT0n
bm9uZSc7Cgl2YXIgaHRtbCA9ICc8Zm9ybSBtZXRob2Q9IlBPU1QiIGlkPSJwb3N0
dGFnc2Zvcm0iIG9uc3VibWl0PSJyZXR1cm4gc2V0X3Bvc3RfdGFncyh0aGlzKSIg
YWN0aW9uPSIjIj4nOwoJaHRtbCs9JzxkaXY+PGI+0OXk4Ory6PDu4uDy/CDs5fLq
6DwvYj48YnIgLz4nOwoJaHRtbCs9JzxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPSJw
b3N0aWQiIGlkPSJwb3N0dGFnc2lkIiB2YWx1ZT0iIj4nOwoJaHRtbCs9Jzx0ZXh0
YXJlYSBpZD0icG9zdHRhZ2FyZWEiIG5hbWU9InRhZ3MiPjwvdGV4dGFyZWE+JzsK
CWh0bWwrPSc8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jaztwYWRkaW5nLWJvdHRv
bTo0cHg7IiBpZD0iam91cm5hbGxhc3R0YWdzIj4nOwoJaWYodHlwZW9mKFBlcmxW
YXJfTGFzdFRhZ3MpIT0ndW5kZWZpbmVkJyAmJiBQZXJsVmFyX0xhc3RUYWdzIT0n
JykgewoJCWh0bWwrPSfP7vHr5eTt6OU6ICc7CgkJdmFyIGlucGFyciA9IFBlcmxW
YXJfTGFzdFRhZ3Muc3BsaXQoJywnKTsKCQl3aGlsZShhPWlucGFyci5zaGlmdCgp
KSB7CgkJCWE9YS5yZXBsYWNlKC8oXlxzKyl8KFxzKyQpL2csICIiKTsKCQkJaHRt
bCs9JzxhIGhyZWY9IiMiIGNsYXNzPSJsYXN0dGFncyIgb25jbGljaz0icmV0dXJu
IHBvc3RfcG9zdF9hZGR0YWcoXCcnK2EucmVwbGFjZSgvXFwvZywnXFxcXCcpKydc
JykiPicrYSsnPC9hPic7CgkJCWlmKGlucGFyci5sZW5ndGgpIGh0bWwrPScsICc7
CgkJfQoJfQoJaHRtbCs9Jzwvc3Bhbj4nOwoJaHRtbCs9JzxpbnB1dCB0eXBlPXN1
Ym1pdCB2YWx1ZT0iINHu9fDg7ejy/CAiIGNsYXNzPSJhZGQiPic7CglodG1sKz0n
PGlucHV0IHR5cGU9YnV0dG9uIHZhbHVlPSIgzvLs5e3o8vwgIiBvbmNsaWNrPSJj
bG9zZV9wb3N0X3RhZ3MoKSIgY2xhc3M9ImNsb3NlIj4nOwoJaHRtbCs9JzxhIG9u
Y2xpY2s9InJldHVybiBjbG9zZV9wb3N0X3RhZ3MoKTsiIGhyZWY9IiMiPjxpbWcg
c3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9mb3RvMi9pY29fY2xvc2UuZ2lmIiB3
aWR0aD0iNyIgaGVpZ2h0PSI3IiBhbHQ9Isfg6vD78vwiIGJvcmRlcj0wIGNsYXNz
PSJpY29fY2xvc2UiIC8+PC9hPic7CglodG1sKz0nPC9kaXY+PC9mb3JtPic7Cglk
aXYuaW5uZXJIVE1MID0gaHRtbDsKCWRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3Jl
KGRpdixkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpOwoJcmV0dXJuIGRpdjsKfQoK
ZnVuY3Rpb24gY2xvc2VfcG9zdF90YWdzKCkKewogICAgdmFyIGRpdnMgPSBnZWJp
KCdwb3N0dGFnc2RpdicpOwoJaWYoZGl2cykgZGl2cy5zdHlsZS5kaXNwbGF5ID0g
J25vbmUnOwoJcmV0dXJuIGZhbHNlOwp9CgpmdW5jdGlvbiBwb3N0X3RhZ3NfY2Fs
bGJhY2tfc2V0KHJlcyxsaXN0LGxhc3R0YWdzKQp7CglpZighcmVzKSB7CgkJYWxl
cnQoJ8746OHq4CDo5+zl7eXt6P8g7OXy7uohJyk7CgkJcmV0dXJuOwoJfQoJdmFy
IHBhcnBhciA9IHBvc3RfdGFnc2xpc3Rfb2JqZWN0LnBhcmVudE5vZGU7Cgl2YXIg
c3RyPSfM5fLq6DogJzsKCXZhciB0YWdzPScnOwoJd2hpbGUoYT1saXN0LnNoaWZ0
KCkpIHsKCQlpZih0eXBlb2YoYSkhPSdvYmplY3QnKSBjb250aW51ZTsKCQlzdHIr
PSc8YSBocmVmPSInICsgUGVybFZhcl9Kb3VybmFsRGlyICsgJ3RhZy8nK3dpbjJ1
cmwoYVswXSkrJyI+JythWzFdKyc8L2E+JzsKCQl0YWdzKz1hWzFdOwoJCWlmKGxp
c3QubGVuZ3RoKSB7IHN0cis9JywgJzsgdGFncys9JywgJzsgfQoJfQoJdmFyIGlu
bmVyPXBhcnBhci5pbm5lckhUTUw7Cgl2YXIgcmVnPW5ldyBSZWdFeHAoJyg8aW1n
IC4qc3JjPS4qKScsJ2knKTsKCXZhciBwb3M9cmVnLmV4ZWMoaW5uZXIpOwoJdmFy
IHBvc3RpZCA9IGdlYmkoJ3Bvc3R0YWdzaWQnKS52YWx1ZTsKCXBhcnBhci5pbm5l
ckhUTUw9c3RyKycgPGEgaHJlZj0iIyIgb25jbGljaz0icmV0dXJuIHNob3dfcG9z
dF90YWdzKHRoaXMsXCcnK3Bvc3RpZCsnXCcsXCcnK3RhZ3MucmVwbGFjZSgvXFwv
ZywnXFxcXCcpKydcJykiPicrcG9zWzFdOwoJdmFyIHNwYW4gPSBnZWJpKCdqb3Vy
bmFsbGFzdHRhZ3MnKTsKCWlmKCFzcGFuKSByZXR1cm47Cgl2YXIgaHRtbCA9ICfP
7vHr5eTt6OU6ICc7CglpZihsYXN0dGFncy5sZW5ndGg9PTApIGh0bWw9Jyc7Cgll
bHNlIHsKCQlmb3IodmFyIGk9bGFzdHRhZ3MubGVuZ3RoLTE7aT49MDtpLS0pIHsK
CQkJdmFyIGEgPSBsYXN0dGFnc1tpXTsKCQkJaHRtbCs9JzxhIGhyZWY9IiMiIGNs
YXNzPSJsYXN0dGFncyIgb25jbGljaz0icmV0dXJuIHBvc3RfcG9zdF9hZGR0YWco
XCcnK2FbMV0ucmVwbGFjZSgvXFwvZywnXFxcXCcpKydcJykiPicrYVsxXSsnPC9h
Pic7CgkJCWlmKGkpIGh0bWwrPScsICc7CgkJfQoJfQoJc3Bhbi5pbm5lckhUTUwg
PSBodG1sOwp9CgpmdW5jdGlvbiBzZXRfcG9zdF90YWdzKCkKewogICAgdmFyIGRp
dnMgPSBnZWJpKCdwb3N0dGFnc2RpdicpOwoJaWYoIWRpdnMpIHJldHVybiBmYWxz
ZTsKCWRpdnMuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCXZhciBmb3JtYSA9IGdl
YmkoJ3Bvc3R0YWdzZm9ybScpOwoJdmFyIHBvc3RpZCA9IGdlYmkoJ3Bvc3R0YWdz
aWQnKS52YWx1ZTsKCXZhciB0YWdzID0gZ2ViaSgncG9zdHRhZ2FyZWEnKS52YWx1
ZTsKCXBlcmxfc2V0X3Bvc3RfdGFncyhwb3N0aWQsdGFncyxwb3N0X3RhZ3NfY2Fs
bGJhY2tfc2V0KTsKCXJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gZ2V0Q29vcmQo
b2JqKQp7Cgl2YXIgb2Zmc2V0TGVmdCA9IDA7Cgl2YXIgb2Zmc2V0VG9wID0gMDsK
CXZhciBkaXZudW0gPSAwOwoJd2hpbGUgKG9iaikgewoJCW9mZnNldExlZnQgKz0g
b2JqLm9mZnNldExlZnQ7CgkJaWYob2JqLnRhZ05hbWU9PSdESVYnKSB7CgkJCWRp
dm51bSsrOwoJCQlpZighaXNJRSB8fCAoaXNJRSAmJiBkaXZudW0+MikpIG9mZnNl
dFRvcCArPSBvYmoub2Zmc2V0VG9wOwoJCX0KCQllbHNlIG9mZnNldFRvcCArPSBv
Ymoub2Zmc2V0VG9wOwoJCW9iaiA9IG9iai5vZmZzZXRQYXJlbnQ7Cgl9CglyZXR1
cm4ge3g6b2Zmc2V0TGVmdCx5Om9mZnNldFRvcH07Cn0JCgpmdW5jdGlvbiBzaG93
X3Bvc3RfdGFncyhvYmoscG9zdGlkLHRhZ3MpCnsKCXBvc3RfdGFnc2xpc3Rfb2Jq
ZWN0ID0gb2JqOwoJdmFyIGRpdnMgPSBnZWJpKCdwb3N0dGFnc2RpdicpOwoJaWYo
IWRpdnMpIGRpdnMgPSBjcmVhdGVfcG9zdF90YWdzX2Zvcm0oKTsKCXZhciBwb3N0
aW5wID0gZ2ViaSgncG9zdHRhZ3NpZCcpOwoJaWYoZGl2cy5zdHlsZS5kaXNwbGF5
ID09ICdibG9jaycgJiYgcG9zdGlkID09IHBvc3RpbnAudmFsdWUpIHsKCQlkaXZz
LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgkJcmV0dXJuIGZhbHNlOwoJfQoJcG9z
dGlucC52YWx1ZSA9IHBvc3RpZDsKCXZhciBjb29yZCA9IGdldENvb3JkKG9iaik7
CglkaXZzLnN0eWxlLnRvcCAgPSBjb29yZC55ICsgMTA7CglkaXZzLnN0eWxlLmxl
ZnQgPSBjb29yZC54ICsgMTA7CglpZihwYXJzZUludChkaXZzLnN0eWxlLmxlZnQp
KzQyMCA+IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpIGRpdnMuc3R5bGUubGVm
dD1wYXJzZUludChkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoLTQxNSk7CglkaXZz
LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwoJdmFyIGVkaXQgPSBnZWJpKCdwb3N0
dGFnYXJlYScpOwoJdmFyIGlucGFyciA9IHRhZ3Muc3BsaXQoJywnKTsKCXZhciB0
YWdzMiA9ICcnOwoJd2hpbGUoYT1pbnBhcnIuc2hpZnQoKSkgewoJCWE9YS5yZXBs
YWNlKC8oXlxzKyl8KFxzKyQpL2csICIiKTsKCQl0YWdzMis9YTsKCQlpZihpbnBh
cnIubGVuZ3RoKSB0YWdzMis9JywgJzsKCX0KCWVkaXQudmFsdWUgPSB0YWdzMjsK
CWVkaXQuZm9jdXMoKTsKCXJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gZ2V0Q3Vy
cmVudFN0eWxlKG9FbG0sIHN0ckNzc1J1bGUpewoJdmFyIHN0clZhbHVlID0gIiI7
CglpZihkb2N1bWVudC5kZWZhdWx0VmlldyAmJiBkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKXsKCQlzdHJWYWx1ZSA9IGRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUob0VsbSwgIiIpLmdldFByb3BlcnR5VmFs
dWUoc3RyQ3NzUnVsZSk7Cgl9CgllbHNlIGlmKG9FbG0uY3VycmVudFN0eWxlKXsK
CQlzdHJDc3NSdWxlID0gc3RyQ3NzUnVsZS5yZXBsYWNlKC9cLShcdykvZywgZnVu
Y3Rpb24gKHN0ck1hdGNoLCBwMSl7CgkJCXJldHVybiBwMS50b1VwcGVyQ2FzZSgp
OwoJCX0pOwoJCXN0clZhbHVlID0gb0VsbS5jdXJyZW50U3R5bGVbc3RyQ3NzUnVs
ZV07Cgl9CglyZXR1cm4gc3RyVmFsdWU7Cn0KCmZ1bmN0aW9uIEJ5dGV0b0hleChh
KSB7CiAgICBhID0gcGFyc2VJbnQoYSk7CiAgICBpZihhPDE2KSByZXR1cm4gJzAn
K2EudG9TdHJpbmcoMTYpOwogICAgcmV0dXJuIGEudG9TdHJpbmcoMTYpOwp9Cgpm
dW5jdGlvbiBGaXhSR0J0b0hleChjKSB7Cgl2YXIgcmUgPSAvXiMoWzAtOWEtZl0p
KFswLTlhLWZdKShbMC05YS1mXSkkL2k7Cgl2YXIgYml0cyA9IHJlLmV4ZWMoYyk7
CglpZihiaXRzKSByZXR1cm4gJyMnK2JpdHNbMV0rYml0c1sxXStiaXRzWzJdK2Jp
dHNbMl0rYml0c1szXStiaXRzWzNdOwoJcmUgPSAvXnJnYlwoKFxkezEsM30pLFxz
KihcZHsxLDN9KSxccyooXGR7MSwzfSlcKSQvOwoJYml0cyA9IHJlLmV4ZWMoYyk7
CglpZiAoYml0cykgcmV0dXJuICcjJytCeXRldG9IZXgoYml0c1sxXSkrQnl0ZXRv
SGV4KGJpdHNbMl0pK0J5dGV0b0hleChiaXRzWzNdKTsKCXJldHVybiBjOwp9Cgpm
dW5jdGlvbiBGaW5kUGFyZW50Q29sb3JzKGlkKSB7Cgl2YXIgY29sb3JzID0ge2Nv
bG9yOicjNjY2NjY2JywgYmdjb2xvcjonI2ZmZmZmZid9OwoJdmFyIGE9ZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwoJaWYoYSkgewoJCWNvbG9ycy5jb2xvcj1G
aXhSR0J0b0hleChnZXRDdXJyZW50U3R5bGUoYSwnY29sb3InKSk7CgkJd2hpbGUo
YT1hLnBhcmVudE5vZGUpIHsKCQkJdmFyIGMgPSBnZXRDdXJyZW50U3R5bGUoYSwn
YmFja2dyb3VuZC1jb2xvcicpOwoJCQlpZihjIT0ndHJhbnNwYXJlbnQnICYmIGMh
PScnKSB7CgkJCQljb2xvcnMuYmdjb2xvcj1GaXhSR0J0b0hleChjKTsKCQkJCWJy
ZWFrOwoJCQl9CgkJfQoJfQoJcmV0dXJuIGNvbG9yczsKfQoK
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=calendar_theme.js
Content-Type: application/x-javascript; name=calendar_theme.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/calendar_theme.js?3
Content-Transfer-Encoding: Base64
ZnVuY3Rpb24gZ2V0X2ludGVnZXJfY2FzZShmb3JtcywgbnVtYmVyKQp7CiAgICBp
ZiAobnVtYmVyKSBudW1iZXIgPSBwYXJzZUludChudW1iZXIpOyBlbHNlIHJldHVy
bjsKICAgIHZhciBvbmVzID0gbnVtYmVyICUgMTA7CiAgICB2YXIgdGVucyA9IHBh
cnNlSW50KG51bWJlciAvIDEwKSAlIDEwOwogICAgaWYgKG9uZXMgPT0gMSAmJiB0
ZW5zIT0gMSkgcmV0dXJuIGZvcm1zWzBdOwoJZWxzZSBpZiAoKG9uZXMgPT0gMiB8
fCBvbmVzID09IDMgfHwgb25lcyA9PSA0KSAmJiB0ZW5zICE9IDEpIHJldHVybiBm
b3Jtc1sxXTsKCSAgICBlbHNlIHJldHVybiBmb3Jtc1syXTsKfQoKZnVuY3Rpb24g
Z2V0X2NhbGVuZGFyKHllYXIsIG1vbnRoKQp7CiAgICBwZXJsX2dldF9jYWxlbmRh
cih5ZWFyLCBtb250aCwgZ2V0X2NhbGVuZGFyX2NhbGxiYWNrKTsKfQoKZnVuY3Rp
b24gZ2V0X2NhbGVuZGFyX2NhbGxiYWNrKHllYXIsIG1vbnRoLCBkYXRhKQp7CiAg
ICBpZih5ZWFyKSB7CgljYWxlbmRhcl95ZWFyID0gcGFyc2VJbnQoeWVhcik7Cglj
YWxlbmRhcl9tb250aCA9IHBhcnNlSW50KG1vbnRoKTsKCWNhbGVuZGFyX3Bvc3Rz
X2NvdW50cyA9IGRhdGE7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FsZW5k
YXJfZGl2X2lubmVyZGl2IikuaW5uZXJIVE1MPWRyYXdfY2FsZW5kYXIoKTsKICAg
IH0KfQoKCmZ1bmN0aW9uIHNldF9uZXdfbW9udGgoc2lkZSkKewogICAgdmFyIHll
YXI7CiAgICB2YXIgbW9udGg7CiAgICBpZiAoc2lkZSA9PSAibGVmdCIpIHsKCS8v
bW92aW5nIHRvIHRoZSBsZWZ0CglpZiAoY2FsZW5kYXJfbW9udGggPiAxKSB7Cgkg
ICAgbW9udGggPSBjYWxlbmRhcl9tb250aCAtIDE7CgkgICAgeWVhciA9IGNhbGVu
ZGFyX3llYXI7Cgl9IGVsc2UgewoJICAgIG1vbnRoID0gMTI7CgkgICAgeWVhciA9
IGNhbGVuZGFyX3llYXIgLSAxOwoJfQogICAgfSBlbHNlIHsKCS8vbW92aW5nIHRv
IHRoZSByaWdodAoJaWYgKGNhbGVuZGFyX21vbnRoIDwgMTIpIHsKCSAgICBtb250
aCA9IGNhbGVuZGFyX21vbnRoICsgMTsKCSAgICB5ZWFyID0gY2FsZW5kYXJfeWVh
cjsKCX0gZWxzZSB7CgkgICAgbW9udGggPSAxOwoJICAgIHllYXIgPSBjYWxlbmRh
cl95ZWFyICsgMTsKCX0KICAgIH0KICAgIGdldF9jYWxlbmRhcih5ZWFyLG1vbnRo
KTsKfQoKZnVuY3Rpb24gZHJhd19jYWxlbmRhcigpCnsKICAgIHZhciBub3dfZGF5
ID0gbnVsbDsKICAgIHZhciBub3dfZGF0ZSA9IG5ldyBEYXRlKCk7CiAgICBpZihu
b3dfZGF0ZS5nZXRNb250aCgpID09IGNhbGVuZGFyX21vbnRoIC0gMSAmJiBub3df
ZGF0ZS5nZXRGdWxsWWVhcigpID09IGNhbGVuZGFyX3llYXIpIG5vd19kYXkgPSBu
b3dfZGF0ZS5nZXREYXRlKCk7CiAgICB2YXIgc2hvd25fZGF5ID0gbnVsbDsKICAg
IGlmKGNhbGVuZGFyX3Nob3duX2RheSkgewoJaWYoY2FsZW5kYXJfc2hvd25fbW9u
dGggPT0gY2FsZW5kYXJfbW9udGggJiYgY2FsZW5kYXJfc2hvd25feWVhciA9PSBj
YWxlbmRhcl95ZWFyKSBzaG93bl9kYXkgPSBjYWxlbmRhcl9zaG93bl9kYXk7CiAg
ICB9CiAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKGNhbGVuZGFyX3llYXIsIGNhbGVu
ZGFyX21vbnRoIC0gMSwgMSk7CiAgICB2YXIgZGF5X29mX3dlZWsgPSBkYXRlLmdl
dERheSgpOwogICAgaWYgKGRheV9vZl93ZWVrID09IDApIGRheV9vZl93ZWVrID0g
NzsKICAgIHZhciBuZXh0X21vbnRoX2RhdGUgPSBuZXcgRGF0ZShjYWxlbmRhcl95
ZWFyLCBjYWxlbmRhcl9tb250aCArIDEgLSAxLCAxKTsKICAgIHZhciBtb250aF9k
YXlzID0gTWF0aC5yb3VuZCgobmV4dF9tb250aF9kYXRlLmdldFRpbWUoKSAtIGRh
dGUuZ2V0VGltZSgpKS8oMjQqNjAqNjAqMTAwMCkpOwoKICAgIHZhciBidWZmZXIg
PSBuZXcgQXJyYXkoKTsKICAgIGZvciAodmFyIGkgPSAxOyBpIDwgZGF5X29mX3dl
ZWs7IGkrKykgYnVmZmVyW2ldID0gImVtcHR5IjsKICAgIHZhciBqID0gMTsKICAg
IGZvciAodmFyIGkgPSBkYXlfb2Zfd2VlazsgaSA8IGRheV9vZl93ZWVrICsgbW9u
dGhfZGF5czsgaSsrKSB7CglpZihjYWxlbmRhcl9wb3N0c19jb3VudHNbal0pIGJ1
ZmZlcltpXSA9IGNhbGVuZGFyX3Bvc3RzX2NvdW50c1tqXTsgZWxzZSBidWZmZXJb
aV09MDsKCWorKzsKICAgIH0KICAgIGlmKChkYXlfb2Zfd2VlayArIG1vbnRoX2Rh
eXMgLSAxKSAlIDcgIT0gMCkgewoJZm9yIChpID0gZGF5X29mX3dlZWsgKyBtb250
aF9kYXlzOyBpIDwgZGF5X29mX3dlZWsgKyBtb250aF9kYXlzICsgKDcgLSAoZGF5
X29mX3dlZWsgKyBtb250aF9kYXlzIC0gMSkgJSA3KTsgaSsrKSB7CgkgICAgYnVm
ZmVyW2ldID0gImVtcHR5IjsKCX0KICAgIH0KICAgIHZhciBodG1sID0gJzxkaXY+
PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS8wLmdpZiIgd2lkdGg9IjEiIGhl
aWdodD0iNSIgYWx0PSIiPjwvZGl2PjxjZW50ZXI+PHRhYmxlIGNlbGxwYWRkaW5n
PTAgY2VsbHNwYWNpbmc9MCBib3JkZXI9MCB3aWR0aD0xMDAlPlxuXAogICAgPHRy
IHZhbGlnbj10b3A+XG5cCgk8dGQ+JysoR2V0QWpheFJlcXVlc3QoKT8nPGEgY2xh
c3M9InByZXYiIG9uY2xpY2s9InNldF9uZXdfbW9udGgoXCdsZWZ0XCcpOyBnZWJp
KFwnY2FsZW5kYXJfZGl2XCcpLnN0eWxlLmhlaWdodCA9IFwnYXV0b1wnOyByZXR1
cm4gZmFsc2U7IiBocmVmPSIjIj48aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUv
ci9ibG9ncy9sZWZ0X2NhbGVuZGFyX2FuZ2xlLmdpZiB3aWR0aD05IGhlaWdodD0x
MyBib3JkZXI9MD48L2E+JzonJm5ic3A7JykrJzwvdGQ+XG5cCgk8dGQgd2lkdGg9
MTAwJSBjbGFzcz1kYXRlIGFsaWduPWNlbnRlcj48YSBocmVmPSInICsgUGVybFZh
cl9Kb3VybmFsRGlyICsgJz95ZWFyPScgKyBjYWxlbmRhcl95ZWFyICsgJyZtb250
aD0nICsgY2FsZW5kYXJfbW9udGggKyAnIj48Yj4nICsgY2FsZW5kYXJfbW9udGhz
W2NhbGVuZGFyX21vbnRoIC0gMV0gKyAnICcgKyBjYWxlbmRhcl95ZWFyICsgJzwv
Yj48L2E+PC90ZD5cblwKCTx0ZD4nKyhHZXRBamF4UmVxdWVzdCgpPyc8YSBjbGFz
cz0ibmV4dCIgb25jbGljaz0ic2V0X25ld19tb250aChcJ3JpZ2h0XCcpOyBnZWJp
KFwnY2FsZW5kYXJfZGl2XCcpLnN0eWxlLmhlaWdodCA9IFwnYXV0b1wnOyByZXR1
cm4gZmFsc2U7IiBocmVmPSIjIj48aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUv
ci9ibG9ncy9yaWdodF9jYWxlbmRhcl9hbmdsZS5naWYgd2lkdGg9OSBoZWlnaHQ9
MTMgYm9yZGVyPTA+PC9hPic6JyZuYnNwOycpKyc8L3RkPlxuXAogICAgPC90cj5c
blwKICAgIDx0cj48dGQ+Jm5ic3A7PC90ZD48dGQ+XG5cCiAgICA8dGFibGUgY2Vs
bHBhZGRpbmc9MCBjZWxsc3BhY2luZz01IGJvcmRlcj0wIHdpZHRoPTEwMCUgY2xh
c3M9c2V0a2E+XG5cCiAgICA8dHIgY2xhc3M9aGVhZD48dGggd2lkdGg9MTQlPs/t
PC90aD48dGggd2lkdGg9MTQlPsLyPC90aD48dGggd2lkdGg9MTQlPtHwPC90aD48
dGggd2lkdGg9MTQlPtfyPC90aD48dGggd2lkdGg9MTQlPs/yPC90aD48dGggY2xh
c3M9aG9saWRheSB3aWR0aD0xNSU+0eE8L3RoPjx0aCBjbGFzcz1ob2xpZGF5IHdp
ZHRoPTE1JT7C8TwvdGg+PC90cj5cbic7CiAgICBodG1sICs9ICc8dHI+XG4nOwog
ICAgZm9yIChpID0gMTsgaSA8IGJ1ZmZlci5sZW5ndGg7IGkrKykgewoJdmFyIGRh
eSA9IGkgLSBkYXlfb2Zfd2VlayArIDE7CglodG1sICs9ICc8dGQgJyArIChkYXkg
PT0gc2hvd25fZGF5ID8gJ3N0eWxlPSJib3JkZXI6MnB4IHNvbGlkICMwMDMwNzM7
IGZvbnQtd2VpZ2h0OmJvbGQiJyA6ICcnKSArICcgJyArIChkYXkgPT0gbm93X2Rh
eSA/ICdjbGFzcz10b2RheScgOiAnJykgKyAnPicKCSAgICArIChidWZmZXJbaV0g
PT0gJ2VtcHR5JyA/ICcmbmJzcDsnIDogKGJ1ZmZlcltpXSA9PSAwID8gZGF5IDog
JzxhIGhyZWY9IicgKyBQZXJsVmFyX0pvdXJuYWxEaXIgKyAnP3llYXI9JyArIGNh
bGVuZGFyX3llYXIgKyAnJm1vbnRoPScgKyBjYWxlbmRhcl9tb250aCArICcmZGF5
PScgKyBkYXkKCSAgICArICciIHRpdGxlPSInICsgYnVmZmVyW2ldICsgJyAnICsg
Z2V0X2ludGVnZXJfY2FzZShjYWxlbmRhcl9wb3N0X2Zvcm1zX2RhdGEsIGJ1ZmZl
cltpXSkgKyAnIiBjbGFzcz0iZGVmLWxpbmsiPicKCSAgICArIGRheSArICc8L2E+
JykpICsgJzwvdGQ+XG4nOwoJaWYgKGkgJSA3ID09IDApIGh0bWwgKz0gJ1xuPC90
cj5cbjx0cj4nOwogICAgfQogICAgaHRtbCArPSAnPC90cj5cbic7CiAgICBodG1s
ICs9ICc8L3RhYmxlPjwvdGQ+PHRkPiZuYnNwOzwvdGQ+PC90ZD48L3RyPjwvdGFi
bGU+PC9jZW50ZXI+JzsKICAgIHJldHVybiBodG1sOwp9CgpmdW5jdGlvbiBsb2Fk
X2NhbGVuZGFyX3N0YXRlKCkKewogICAgaWYgKCFnZXRfY29va2llKCJjYWxlbmRh
cl9zdGF0ZSIpIHx8IGNhbGVuZGFyX3llYXIgPT0gIiIgfHwgY2FsZW5kYXJfeWVh
ciA9PSAwIHx8IGlzTmFOKGNhbGVuZGFyX3llYXIpKSBzZXRfY29va2llKCJjYWxl
bmRhcl9zdGF0ZSIsICJoaWRlIik7CiAgICBpZiAoZ2V0X2Nvb2tpZSgiY2FsZW5k
YXJfc3RhdGUiKSA9PSAiaGlkZSIpIHsKCXJldHVybiAiPGEgb25jbGljaz0ncmV0
dXJuIGZhbHNlOycgaHJlZj0nJz48aW1nIG9uY2xpY2s9J3Nob3dfaGlkZV9jYWxl
bmRhcih0aGlzKTsnIGlkPWNhbGVuZGFyX3N0YXRlX2ljb24gc3JjPWh0dHA6Ly9p
bWcubWFpbC5ydS9yL2Jsb2dzL2NhbGVuZGFyX21heGltaXplLmdpZiB3aWR0aD0x
NCBoZWlnaHQ9MTQgYm9yZGVyPTA+PC9hPiZuYnNwOyZuYnNwOyI7CiAgICB9IGVs
c2UgewoJcmV0dXJuICI8YSBvbmNsaWNrPSdyZXR1cm4gZmFsc2U7JyBocmVmPScn
PjxpbWcgb25jbGljaz0nc2hvd19oaWRlX2NhbGVuZGFyKHRoaXMpOycgaWQ9Y2Fs
ZW5kYXJfc3RhdGVfaWNvbiBzcmM9aHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3Mv
Y2FsZW5kYXJfbWluaW1pemUuZ2lmIHdpZHRoPTE0IGhlaWdodD0xNCBib3JkZXI9
MD48L2E+Jm5ic3A7Jm5ic3A7IjsKICAgIH0KfQoKc2hvd19oaWRlX2NhbGVuZGFy
ID0gZnVuY3Rpb24oY2xpY2tfb2JqKQp7CiAgICBpZiAoZ2V0X2Nvb2tpZSgiY2Fs
ZW5kYXJfc3RhdGUiKSA9PSAiaGlkZSIpIHsKCXNldF9jb29raWUoImNhbGVuZGFy
X3N0YXRlIiwgInNob3ciKTsKCWlmKEdldEFqYXhSZXF1ZXN0KCkpIHsKCSAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FsZW5kYXJfc3RhdGVfaWNvbiIpLnNy
YyA9ICJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9jYWxlbmRhcl9taW5pbWl6
ZS5naWYiOwoJCWlmKCFpc0lFKSBjdXJ0YWluU3RlcCA9IDE5OwoJCWVsc2UgY3Vy
dGFpblN0ZXAgPSAyODsKCQlrb3J5dG9bJ2NhbGVuZGFyX2RpdiddPVswLDE5MCww
XTsKCQljbGlja19vYmoub25jbGljayA9IGZ1bmN0aW9uIG9uY2xpY2soZXZlbnQp
IHsgcmV0dXJuIGZhbHNlOyB9IC8vIOfg4evu6ujw4u7g8vwg4vvv4OTz+OrzCgkJ
cmF6dm9yb3QoJ2NhbGVuZGFyX2RpdicsIDEsIDEsIGNsaWNrX29iaiwgc2hvd19o
aWRlX2NhbGVuZGFyKTsKCQlpZihjYWxlbmRhcl95ZWFyID09ICIiIHx8IGNhbGVu
ZGFyX3llYXIgPT0gMCB8fCBpc05hTihjYWxlbmRhcl95ZWFyKSkgewoJCXZhciBu
b3dfZGF0ZSA9IG5ldyBEYXRlKCk7CgkJZ2V0X2NhbGVuZGFyKG5vd19kYXRlLmdl
dEZ1bGxZZWFyKCksbm93X2RhdGUuZ2V0TW9udGgoKSArIDEpOwkJCgkgICAgfQoJ
fSBlbHNlIHsKCSAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKHRydWUpOwoJfQog
ICAgfSBlbHNlIHsKCXNldF9jb29raWUoImNhbGVuZGFyX3N0YXRlIiwgImhpZGUi
KTsKCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYWxlbmRhcl9zdGF0ZV9pY29u
Iikuc3JjID0gImh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2NhbGVuZGFyX21h
eGltaXplLmdpZiI7OwoJaWYoIWlzSUUpIGN1cnRhaW5TdGVwID0gMTk7CgllbHNl
IGN1cnRhaW5TdGVwID0gMjg7Cglrb3J5dG9bJ2NhbGVuZGFyX2RpdiddPVsxOTAs
MCwxXTsKCWNsaWNrX29iai5vbmNsaWNrID0gZnVuY3Rpb24gb25jbGljayhldmVu
dCkgeyByZXR1cm4gZmFsc2U7IH0gLy8g5+Dh6+7q6PDi7uDy/CDi++/g5PP46vMK
CXJhenZvcm90KCdjYWxlbmRhcl9kaXYnLCAxLCAwLCBjbGlja19vYmosIHNob3df
aGlkZV9jYWxlbmRhcik7CiAgICB9Cn0=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=duel.js
Content-Type: application/x-javascript; name=duel.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/duel.js?7
Content-Transfer-Encoding: Base64
dmFyIGR1ZWxfbmVlZF9oZWlnaHQ7CnZhciBjdXJ0YWluU3RlcF9kdWVsOwp2YXIg
bW92aW5nX2RpZ2l0X2R1ZWw7CmZ1bmN0aW9uIHJhenZvcm90X2R1ZWwob2JqLCBo
ZWlnaHQxLCBoZWlnaHQyLCBzdGFydGVkKXsJCQoJdmFyIGdvb24gPSAnMSc7Cglp
ZiAoaGVpZ2h0MSA8IGhlaWdodDIpCgkJaWYgKHN0YXJ0ZWQgPT0gMCkKCQl7IAoJ
CQltb3ZpbmdfZGlnaXRfZHVlbCA9IGhlaWdodDE7CQoJCQltb3ZpbmdfZGlnaXRf
ZHVlbCArPSBjdXJ0YWluU3RlcF9kdWVsOwkJCQkKCQl9CgkJZWxzZSAKCQl7CgkJ
CWlmIChtb3ZpbmdfZGlnaXRfZHVlbCA8IGhlaWdodDIgJiYgbW92aW5nX2RpZ2l0
X2R1ZWw8PShoZWlnaHQyIC0gY3VydGFpblN0ZXBfZHVlbCkpCQoJCQl7IAkJCgkJ
CQltb3ZpbmdfZGlnaXRfZHVlbCArPSBjdXJ0YWluU3RlcF9kdWVsOwoJCQkJZ29v
biA9IDE7CgkJCX0KCQkJZWxzZSAKCQkJeyAKCQkJCWdlYmkob2JqKydfaW5uZXJk
aXYnKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCQkJCW1vdmluZ19kaWdpdF9k
dWVsID0gJ2F1dG8nOwkJCQoJCQkJZ29vbiA9IDA7CgkJCQlnZWJpKCdkdWVsX2Fj
dGl2ZV9pbWcnKS5vbmNsaWNrID0gZnVuY3Rpb24gb25jbGljayhldmVudCkgeyBv
cGVuX2R1ZWwoJ2R1ZWxfYWN0aXZlJyl9OwoJCQl9CQoJCX0KCWlmIChoZWlnaHQx
ID4gaGVpZ2h0MikKCQlpZiAoc3RhcnRlZCA9PSAwKQoJCXsgCQkKCQkJbW92aW5n
X2RpZ2l0X2R1ZWwgPSBoZWlnaHQxOwkKCQkJZ2ViaShvYmopLnN0eWxlLmhlaWdo
dCA9IG1vdmluZ19kaWdpdF9kdWVsOwoJCQlnZWJpKG9iaisnX2lubmVyZGl2Jyku
c3R5bGUuZGlzcGxheSA9ICdub25lJzsgCgkJCW1vdmluZ19kaWdpdF9kdWVsIC09
IGN1cnRhaW5TdGVwX2R1ZWw7CgkJfQoJCWVsc2UgCgkJewoJCQlpZiAobW92aW5n
X2RpZ2l0X2R1ZWwgPiBoZWlnaHQyICYmIG1vdmluZ19kaWdpdF9kdWVsPj1jdXJ0
YWluU3RlcF9kdWVsKQkKCQkJeyAJCQoJCQkJbW92aW5nX2RpZ2l0X2R1ZWwgLT0g
Y3VydGFpblN0ZXBfZHVlbDsKCQkJCWdvb24gPSAxOwkJCQkJCQoJCQl9CgkJCWVs
c2UKCQkJewoJCQkJbW92aW5nX2RpZ2l0X2R1ZWwgPSAwOwoJCQkJZ29vbiA9IDA7
CgkJCQlnZWJpKCdkdWVsX2FjdGl2ZV9pbWcnKS5vbmNsaWNrID0gZnVuY3Rpb24g
b25jbGljayhldmVudCkgeyBvcGVuX2R1ZWwoJ2R1ZWxfYWN0aXZlJyl9OwoJCQl9
CgkJfQkKCQlnZWJpKG9iaikuc3R5bGUuaGVpZ2h0ID0gbW92aW5nX2RpZ2l0X2R1
ZWw7CQoJCWlmKGdvb24gPT0gMSkgc2V0VGltZW91dChmdW5jdGlvbigpIHsgcmF6
dm9yb3RfZHVlbChvYmosIGhlaWdodDEsIGhlaWdodDIsIDEpIH0sIDEpOyAKfSAK
CnZhciBkdWVsX29wZW5lZCA9IDE7CgpmdW5jdGlvbiBvcGVuX2R1ZWwob2JqKSB7
CQoJaWYgKGR1ZWxfb3BlbmVkID09IDEpewoJCWR1ZWxfbmVlZF9oZWlnaHQgPSBn
ZWJpKCdkdWVsX2FjdGl2ZScpLm9mZnNldEhlaWdodDsJCQoJCWN1cnRhaW5TdGVw
X2R1ZWwgPSBwYXJzZUludChkdWVsX25lZWRfaGVpZ2h0IC8gNyk7CgkJZ2ViaSgn
ZHVlbF9hY3RpdmVfaW1nJykuc3JjPSdodHRwOi8vaW1nLm1haWwucnUvci9ibG9n
cy9jYWxlbmRhcl9tYXhpbWl6ZS5naWYnOwoJCWdlYmkoJ2R1ZWxfYWN0aXZlX2lt
ZycpLm9uY2xpY2sgPSBmdW5jdGlvbiBvbmNsaWNrKGV2ZW50KSB7IHJldHVybiBm
YWxzZX07CgkJZHVlbF9vcGVuZWQgPSAwOwoJCXJhenZvcm90X2R1ZWwob2JqLCBn
ZWJpKG9iaikub2Zmc2V0SGVpZ2h0LCAwLCAwKTsKCX1lbHNlewoJZ2ViaSgnZHVl
bF9hY3RpdmVfaW1nJykuc3JjPSdodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9j
YWxlbmRhcl9taW5pbWl6ZS5naWYnOwoJZ2ViaSgnZHVlbF9hY3RpdmVfaW1nJyku
b25jbGljayA9IGZ1bmN0aW9uIG9uY2xpY2soZXZlbnQpIHsgcmV0dXJuIGZhbHNl
fTsKCWR1ZWxfb3BlbmVkID0gMTsKCXJhenZvcm90X2R1ZWwob2JqLCAwLCBkdWVs
X25lZWRfaGVpZ2h0LCAwKTsKCX0KfQoKZnVuY3Rpb24gZ2V0Q2xpZW50V2lkdGgo
KQp7CiAgcmV0dXJuIGRvY3VtZW50LmNvbXBhdE1vZGU9PSdDU1MxQ29tcGF0JyAm
JiAhd2luZG93Lm9wZXJhP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRX
aWR0aDpkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoOwp9CgpmdW5jdGlvbiBnZXRD
bGllbnRIZWlnaHQoKQp7CiAgcmV0dXJuIGRvY3VtZW50LmNvbXBhdE1vZGU9PSdD
U1MxQ29tcGF0JyAmJiAhd2luZG93Lm9wZXJhP2RvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5jbGllbnRIZWlnaHQ6ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7Cn0K
CmZ1bmN0aW9uIGdldEJvZHlTY3JvbGxUb3AoKQp7CglyZXR1cm4gc2VsZi5wYWdl
WU9mZnNldCB8fCAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3ApIHx8IChkb2N1bWVudC5ib2R5ICYm
IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKTsKfQoKZnVuY3Rpb24gZ2V0Qm9keVNj
cm9sbExlZnQoKQp7CglyZXR1cm4gc2VsZi5wYWdlWE9mZnNldCB8fCAoZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z
Y3JvbGxMZWZ0KSB8fCAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LnNj
cm9sbExlZnQpOwp9CgpmdW5jdGlvbiBjb25maXJtX2R1ZWwoKQp7CglnZWJpKCdz
aGFkb3dfZGl2Jykuc3R5bGUuaGVpZ2h0ID0gZG9jdW1lbnQuYm9keS5zY3JvbGxI
ZWlnaHQ7CglnZWJpKCdzaGFkb3dfZGl2Jykuc3R5bGUuZGlzcGxheT0gJyc7Cgln
ZWJpKCdkdWVsX2NvbmZpcm1fZGl2Jykuc3R5bGUubGVmdD1wYXJzZUludChkb2N1
bWVudC5ib2R5LnNjcm9sbFdpZHRoLzIpLTIwMCsncHgnOwoJZ2ViaSgnZHVlbF9j
b25maXJtX2RpdicpLnN0eWxlLnRvcCA9IHBhcnNlSW50KGdldENsaWVudEhlaWdo
dCgpLzIpK2dldEJvZHlTY3JvbGxUb3AoKS03NSsncHgnOwoJZ2ViaSgnZHVlbF9j
b25maXJtX2RpdicpLnN0eWxlLmRpc3BsYXkgPSAnJzsKfQoKZnVuY3Rpb24gY2hl
Y2tfdGhyb3dfbGVuZ3RoKHRleHRhcmVhKSB7CiAgICB2YXIgbWF4ID0gMjAwOwog
ICAgaWYgKHRleHRhcmVhLnZhbHVlLmxlbmd0aCA+IG1heCkgewogICAgICAgIHRl
eHRhcmVhLnZhbHVlID0gdGV4dGFyZWEudmFsdWUuc3Vic3RyaW5nKDAsIG1heCk7
CiAgICB9Cn0KCmZ1bmN0aW9uIGhpZGVfY2hhbGxlbmdlX2RpdnMoKSB7CiAgICBn
ZWJpKCdzaGFkb3dfZGl2Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIGdl
YmkoJ2R1ZWxfY29uZmlybV9kaXYnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwp9
CgpmdW5jdGlvbiBwZXJsX2NoYWxsZW5nZV9vZmZlcl9jYWxsYmFjayhzdGF0dXMs
IFVzZXJJRCkgewogICAgaWYgKHN0YXR1cyAmJiBVc2VySUQpIHsKICAgICAgICB2
YXIgbGlua19sZWZ0ID0gZ2ViaSgnY2hhbGxlbmdlX3Rocm93X2xpbmtsZWZ0Xycr
VXNlcklEKTsKICAgICAgICB2YXIgc3VjY19sZWZ0ID0gZ2ViaSgnY2hhbGxlbmdl
X3Rocm93X3N1Y2Nlc3NsZWZ0XycrVXNlcklEKTsKICAgICAgICBpZiAobGlua19s
ZWZ0ICYmIHN1Y2NfbGVmdCkgewogICAgICAgICAgICBsaW5rX2xlZnQuc3R5bGUu
ZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgc3VjY19sZWZ0LnN0eWxlLmRp
c3BsYXkgPSAnJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgbGlu
a19yaWdodCA9IGdlYmkoJ2NoYWxsZW5nZV90aHJvd19saW5rcmlnaHRfJytVc2Vy
SUQpOwogICAgICAgICAgICB2YXIgc3VjY19yaWdodCA9IGdlYmkoJ2NoYWxsZW5n
ZV90aHJvd19zdWNjZXNzcmlnaHRfJytVc2VySUQpOwogICAgICAgICAgICBpZiAo
bGlua19yaWdodCAmJiBzdWNjX3JpZ2h0KSB7CiAgICAgICAgICAgICAgICBsaW5r
X3JpZ2h0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICBz
dWNjX3JpZ2h0LnN0eWxlLmRpc3BsYXkgPSAnJzsKICAgICAgICAgICAgfQogICAg
ICAgIH0KICAgIH0KfQoKZnVuY3Rpb24gcGVybF9jaGFsbGVuZ2VfcG9zc2libGVf
Y2FsbGJhY2soc3RhdHVzLCBVc2VySUQpIHsKICAgIGlmICghc3RhdHVzKSByZXR1
cm47CiAgICBpZiAoc3RhdHVzID09ICdPSycpIHsKICAgICAgICB2YXIgZGl2X2Nv
bnRlbnQgPSBnZWJpKCdjaGFsbGVuZ2VfdGhyb3dfZGl2Y29udGVudF8nK1VzZXJJ
RCk7CiAgICAgICAgaWYgKGRpdl9jb250ZW50KSB7CiAgICAgICAgICAgIGdlYmko
J2R1ZWxfY29uZmlybV9kaXYnKS5pbm5lckhUTUwgPSBkaXZfY29udGVudC5pbm5l
ckhUTUw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFyIGRpdl9jb250
ZW50ID0gZ2ViaSgnY2hhbGxlbmdlX3Rocm93X2RpdmNvbnRlbnRkZWZhdWx0Xycr
VXNlcklEKTsKICAgICAgICAgICAgaWYgKGRpdl9jb250ZW50KSBnZWJpKCdkdWVs
X2NvbmZpcm1fZGl2JykuaW5uZXJIVE1MID0gZGl2X2NvbnRlbnQuaW5uZXJIVE1M
OwogICAgICAgIH0KICAgICAgICBjb25maXJtX2R1ZWwoKTsKICAgIH0gZWxzZSB7
CiAgICAgICAgdmFyIHRleHQ7CiAgICAgICAgc3RhdHVzID0gLXN0YXR1czsKICAg
ICAgICBzd2l0Y2goc3RhdHVzKSB7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAg
ICAgICAgICAgIHRleHQgPSAnwvsg7eUg7O7m5fLlIOL75+Lg8vwg4e7r5eUg8vC4
9SDv7uv85+7i4PLl6+XpLic7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgdGV4dCA9ICfP8O7y6OLt6Oog
8+blIPP34PHy4vPl8iDiIOzg6vHo7ODr/O3u7CDq7uvo9+Xx8uLlIOTz/evl6S4n
OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzoKICAg
ICAgICAgICAgICAgIHRleHQgPSAnwvsg8+blIPHu8OXi7fPl8uXx/C4nOwogICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAg
ICAgICAgIHRleHQgPSAnwvsg8+blIO/w5eTr7ubo6+gg5PP96/wg/fLu7PMg7+7r
/Ofu4uDy5ev+Lic7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
Y2FzZSA1OgogICAgICAgICAgICAgICAgdGV4dCA9ICfC4Pgg4evu4yDx7ufk4O0g
7OXt5eUg5OLz9SDt5eTl6/wg7eDn4OQg6OvoIOIg7bjsIOzl7fz45SDk4vP1IOfg
7+jx5ekuJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNl
IDY6CiAgICAgICAgICAgICAgICB0ZXh0ID0gJ8Hr7uMg7/Du8uji7ejq4CDx7ufk
4O0g7OXt5eUg5OLz9SDt5eTl6/wg7eDn4OQg6OvoIOIg7bjsIOzl7eXlIOTi8/Ug
5+Dv6PHl6Swg6CDv7v3y7uzzIO7tIO3lIOzu5uXyIPP34PHy4u7i4PL8IOIg5PP9
6//1Lic7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAg
aWYgKHRleHQpIHNob3dfZXJyb3IoZXJyb3JFdmVudCwgdGV4dCk7CiAgICB9CiAg
ICByZXR1cm47Cn0KCnZhciBlcnJvckV2ZW50ID0gbmV3IE9iamVjdDsKZnVuY3Rp
b24gY2FsbF9vbl9jaGFsbGVuZ2UoVXNlcklELCBldmVudCkgewogICAgaWYgKCFl
dmVudCkgZXZlbnQgPSB3aW5kb3cuZXZlbnQ7CiAgICBlcnJvckV2ZW50ID0geyB0
YXJnZXQ6IGV2ZW50LnRhcmdldCwgc3JjRWxlbWVudDogZXZlbnQuc3JjRWxlbWVu
dCB9OwogICAgcGVybF9jaGFsbGVuZ2VfcG9zc2libGUoVXNlcklELCBwZXJsX2No
YWxsZW5nZV9wb3NzaWJsZV9jYWxsYmFjayk7Cn0KCmZ1bmN0aW9uIGFjY2VwdF9j
aGFsbGVuZ2UoQ2hhbGxlbmdlSUQsIGR1cmF0aW9uKSB7CiAgICB2YXIgZGl2X2Nv
bnRlbnQgPSBnZWJpKCdjaGFsbGVuZ2VfYWNjZXB0X2RpdmNvbnRlbnQnKTsKICAg
IGlmICghZGl2X2NvbnRlbnQpIHJldHVybjsKICAgIGdlYmkoJ2R1ZWxfYWNjZXB0
X2RpdicpLmlubmVySFRNTCA9IGRpdl9jb250ZW50LmlubmVySFRNTDsKCiAgICBn
ZWJpKCdzaGFkb3dfZGl2Jykuc3R5bGUuaGVpZ2h0ID0gZG9jdW1lbnQuYm9keS5z
Y3JvbGxIZWlnaHQ7CglnZWJpKCdzaGFkb3dfZGl2Jykuc3R5bGUuZGlzcGxheT0g
Jyc7CglnZWJpKCdkdWVsX2FjY2VwdF9kaXYnKS5zdHlsZS5sZWZ0PXBhcnNlSW50
KGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGgvMiktMzI1KydweCc7CglnZWJpKCdk
dWVsX2FjY2VwdF9kaXYnKS5zdHlsZS50b3AgPSBwYXJzZUludChnZXRDbGllbnRI
ZWlnaHQoKS8yKStnZXRCb2R5U2Nyb2xsVG9wKCktNzUrJ3B4JzsKCWdlYmkoJ2R1
ZWxfYWNjZXB0X2RpdicpLnN0eWxlLmRpc3BsYXkgPSAnJzsKCiAgICBnZWJpKCdj
aGFjY3JlbV8nK2R1cmF0aW9uKS5zdHlsZS5kaXNwbGF5PScnOwogICAgZ2ViaSgn
Y2hhY2NkdXJhdGlvbicpLnZhbHVlID0gZHVyYXRpb247Cn0KCmZ1bmN0aW9uIGNo
YWxsZW5nZV92b3RlX2NhbGxiYWNrKHN0YXR1cywgQ2hhbGxlbmdlSUQsIEpvdXJu
YWxJRCwgZ3JhZGVMZWZ0LCBncmFkZVJpZ2h0LCBpc19sZWZ0KSB7CiAgICBpZiAo
c3RhdHVzPT0tMSkgewogICAgICAgIC8vIHJhdGUtbGltaXQKICAgIH0gZWxzZSBp
ZiAoIXN0YXR1cykgewogICAgICAgIC8vIHd0ZgogICAgfSBlbHNlIGlmIChzdGF0
dXM9PSdPSycpIHsKICAgICAgICBpZiAoSm91cm5hbElEPT1uZXcgU3RyaW5nKDAp
KSB7IC8vIHNlcXVlbmNlIHZvdGUKICAgICAgICAgICAgd2luZG93LmxvY2F0aW9u
LnJlbG9hZCh0cnVlKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAg
ICAgICAgdmFyIHZvdGUxX2xjID0gZ2ViaSgnY2hhbGxlbmdlX2xlZnRjb2x1bW5f
bGVmdHZvdGVfJytDaGFsbGVuZ2VJRCk7CiAgICAgICAgdmFyIHZvdGUyX2xjID0g
Z2ViaSgnY2hhbGxlbmdlX2xlZnRjb2x1bW5fcmlnaHR2b3RlXycrQ2hhbGxlbmdl
SUQpOwogICAgICAgIHZhciBncmFkZTFfbGMgPSBnZWJpKCdjaGFsbGVuZ2VfbGVm
dGNvbHVtbl9sZWZ0Z3JhZGVfJytDaGFsbGVuZ2VJRCk7CiAgICAgICAgdmFyIGdy
YWRlMl9sYyA9IGdlYmkoJ2NoYWxsZW5nZV9sZWZ0Y29sdW1uX3JpZ2h0Z3JhZGVf
JytDaGFsbGVuZ2VJRCk7CiAgICAgICAgaWYgKHZvdGUxX2xjICYmIHZvdGUyX2xj
ICYmIGdyYWRlMV9sYyAmJiBncmFkZTJfbGMpIHsKICAgICAgICAgICAgZ3JhZGUx
X2xjLmlubmVySFRNTCA9IGdyYWRlTGVmdDsKICAgICAgICAgICAgZ3JhZGUyX2xj
LmlubmVySFRNTCA9IGdyYWRlUmlnaHQ7CiAgICAgICAgICAgIHZhciBzdWNjMSA9
IGdlYmkoJ2NoYWxsZW5nZV9sZWZ0Y29sdW1uX3N1Y2Nlc3NfJytDaGFsbGVuZ2VJ
RCk7CiAgICAgICAgICAgIGlmIChzdWNjMSkgewogICAgICAgICAgICAgICAgc3Vj
YzEuc3R5bGUuZGlzcGxheSA9ICcnOwogICAgICAgICAgICAgICAgc2V0VGltZW91
dCggZnVuY3Rpb24oKSB7IHN1Y2MxLnN0eWxlLmRpc3BsYXk9J25vbmUnIH0sIDEw
MDApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgdm90ZTFf
cmMgPSBnZWJpKCdjaGFsbGVuZ2VfcmlnaHRjb2x1bW5fJytKb3VybmFsSUQrJ19s
ZWZ0dm90ZV8nK0NoYWxsZW5nZUlEKTsKICAgICAgICB2YXIgdm90ZTJfcmMgPSBn
ZWJpKCdjaGFsbGVuZ2VfcmlnaHRjb2x1bW5fJytKb3VybmFsSUQrJ19yaWdodHZv
dGVfJytDaGFsbGVuZ2VJRCk7CiAgICAgICAgdmFyIGdyYWRlMV9yYyA9IGdlYmko
J2NoYWxsZW5nZV9yaWdodGNvbHVtbl8nK0pvdXJuYWxJRCsnX2xlZnRncmFkZV8n
K0NoYWxsZW5nZUlEKTsKICAgICAgICB2YXIgZ3JhZGUyX3JjID0gZ2ViaSgnY2hh
bGxlbmdlX3JpZ2h0Y29sdW1uXycrSm91cm5hbElEKydfcmlnaHRncmFkZV8nK0No
YWxsZW5nZUlEKTsKICAgICAgICBpZiAodm90ZTFfcmMgJiYgdm90ZTJfcmMgJiYg
Z3JhZGUxX3JjICYmIGdyYWRlMl9yYykgewogICAgICAgICAgICBncmFkZTFfcmMu
aW5uZXJIVE1MID0gZ3JhZGVMZWZ0OwogICAgICAgICAgICBncmFkZTJfcmMuaW5u
ZXJIVE1MID0gZ3JhZGVSaWdodDsKICAgICAgICAgICAgdmFyIHBvcyA9IGlzX2xl
ZnQgPyAnbGVmdCcgOiAncmlnaHQnOwogICAgICAgICAgICB2YXIgc3VjYzIgPSBn
ZWJpKCdjaGFsbGVuZ2VfcmlnaHRjb2x1bW5fJytKb3VybmFsSUQrJ18nK3Bvcysn
X3N1Y2Nlc3NfJytDaGFsbGVuZ2VJRCk7CiAgICAgICAgICAgIGlmIChzdWNjMikg
ewogICAgICAgICAgICAgICAgc3VjYzIuc3R5bGUuZGlzcGxheSA9ICcnOwogICAg
ICAgICAgICAgICAgc2V0VGltZW91dCggZnVuY3Rpb24oKSB7IHN1Y2MyLnN0eWxl
LmRpc3BsYXk9J25vbmUnIH0sIDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAg
fQogICAgfQp9CgpmdW5jdGlvbiBjaGFsbGVuZ2Vfdm90ZShDaGFsbGVuZ2VJRCwg
VXNlcklELCBKb3VybmFsSUQsIE1hZ2ljaywgZG9fdm90ZTEwKSB7CiAgICBwZXJs
X2NoYWxsZW5nZV92b3RlKENoYWxsZW5nZUlELCBVc2VySUQsIEpvdXJuYWxJRCwg
TWFnaWNrLCBkb192b3RlMTAsIGNoYWxsZW5nZV92b3RlX2NhbGxiYWNrKTsKCiAg
ICBpZiAoIUpvdXJuYWxJRCkgcmV0dXJuIHRydWU7IC8vIHNlcXVlbmNlIHZvdGUK
CiAgICB2YXIgdm90ZTFfbGMgPSBnZWJpKCdjaGFsbGVuZ2VfbGVmdGNvbHVtbl9s
ZWZ0dm90ZV8nK0NoYWxsZW5nZUlEKTsKICAgIHZhciB2b3RlMl9sYyA9IGdlYmko
J2NoYWxsZW5nZV9sZWZ0Y29sdW1uX3JpZ2h0dm90ZV8nK0NoYWxsZW5nZUlEKTsK
ICAgIHZhciBncmFkZTFfbGMgPSBnZWJpKCdjaGFsbGVuZ2VfbGVmdGNvbHVtbl9s
ZWZ0Z3JhZGVfJytDaGFsbGVuZ2VJRCk7CiAgICB2YXIgZ3JhZGUyX2xjID0gZ2Vi
aSgnY2hhbGxlbmdlX2xlZnRjb2x1bW5fcmlnaHRncmFkZV8nK0NoYWxsZW5nZUlE
KTsKICAgIGlmICh2b3RlMV9sYyAmJiB2b3RlMl9sYyAmJiBncmFkZTFfbGMgJiYg
Z3JhZGUyX2xjKSB7CiAgICAgICAgdm90ZTFfbGMuc3R5bGUuZGlzcGxheSA9ICdu
b25lJzsKICAgICAgICB2b3RlMl9sYy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwog
ICAgfQoKICAgIHZhciB2b3RlMV9yYyA9IGdlYmkoJ2NoYWxsZW5nZV9yaWdodGNv
bHVtbl8nK0pvdXJuYWxJRCsnX2xlZnR2b3RlXycrQ2hhbGxlbmdlSUQpOwogICAg
dmFyIHZvdGUyX3JjID0gZ2ViaSgnY2hhbGxlbmdlX3JpZ2h0Y29sdW1uXycrSm91
cm5hbElEKydfcmlnaHR2b3RlXycrQ2hhbGxlbmdlSUQpOwogICAgdmFyIGdyYWRl
MV9yYyA9IGdlYmkoJ2NoYWxsZW5nZV9yaWdodGNvbHVtbl8nK0pvdXJuYWxJRCsn
X2xlZnRncmFkZV8nK0NoYWxsZW5nZUlEKTsKICAgIHZhciBncmFkZTJfcmMgPSBn
ZWJpKCdjaGFsbGVuZ2VfcmlnaHRjb2x1bW5fJytKb3VybmFsSUQrJ19yaWdodGdy
YWRlXycrQ2hhbGxlbmdlSUQpOwogICAgaWYgKHZvdGUxX3JjICYmIHZvdGUyX3Jj
ICYmIGdyYWRlMV9yYyAmJiBncmFkZTJfcmMpIHsKICAgICAgICB2b3RlMV9yYy5z
dHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgIHZvdGUyX3JjLnN0eWxlLmRp
c3BsYXkgPSAnbm9uZSc7CiAgICB9Cn0KCmZ1bmN0aW9uIGNoZWNrX2NoYWxsZW5n
ZV9jYXBjaGEoQ2hhbGxlbmdlSUQsIFVzZXJJRCwgSm91cm5hbElELCBNYWdpY2sp
IHsKICAgIHZhciBJbWFnZUlEID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0lt
YWdlSURfaWQnKS52YWx1ZTsKICAgIHZhciBJbWFnZUFuc3dlciA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdJbWFnZUFuc3dlcl9pZCcpLnZhbHVlOwogICAgcGVy
bF9jaGFsbGVuZ2VfY2hlY2tfY2FwY2hhKAogICAgICAgIEltYWdlSUQsIEltYWdl
QW5zd2VyLAogICAgICAgIGZ1bmN0aW9uKG9rKSB7CiAgICAgICAgICAgIGlmIChv
aykgewogICAgICAgICAgICAgICAgY2hhbGxlbmdlX3ZvdGUoQ2hhbGxlbmdlSUQs
IFVzZXJJRCwgSm91cm5hbElELCBNYWdpY2spOwogICAgICAgICAgICAgICAgaGlk
ZV9jYXBjaGEoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAg
IHBlcmxfY2hhbGxlbmdlX2dldF9jYXBjaGEoCiAgICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpZCkg
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ0ltYWdlX2lkJykuc3JjID0gJ2h0dHA6Ly8nICsgUGVybFZhcl9CbG9n
c1BlcmxIb3N0ICsgJy9jZ2ktYmluL2pvdXJuYWwvZ2V0X2ltYWdlP2lkPScraWQ7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnSW1hZ2VJRF9pZCcpLnZhbHVlID0gaWQ7CiAgICAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAp
OwogICAgICAgICAgICAgICAgYWxlcnQoJ83l4uXw7e4g4uLl5LjtIOru5CDn4Pno
8vsnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICk7CiAgICByZXR1cm4g
ZmFsc2U7Cn0KCmZ1bmN0aW9uIGhpZGVfY2FwY2hhKCkgewogICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NhcGNoYV9wb3B1cCcpLnN0eWxlLnZpc2liaWxpdHk9
ImhpZGRlbiI7Cn0KCmZ1bmN0aW9uIHNob3dfY2hhbGxlbmdlX2NhcGNoYShldmVu
dCwgSm91cm5hbERpciwgQ2hhbGxlbmdlSUQsIFVzZXJJRCwgSm91cm5hbElELCBN
YWdpY2ssIGRvX3ZvdGUxMCkgewogICAgaWYgKCFKb3VybmFsRGlyIHx8ICFDaGFs
bGVuZ2VJRCB8fCAhVXNlcklEIHx8ICFNYWdpY2spCiAgICAgICAgcmV0dXJuOwog
ICAgaWYgKCFldmVudCkgZXZlbnQgPSB3aW5kb3cuZXZlbnQ7CiAgICB2YXIgZWxl
bWVudCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50OwogICAgdmFy
IGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXBjaGFfcG9wdXAnKTsK
ICAgIGlmIChlbGVtZW50ICYmIGRpdikgewogICAgICAgIHBlcmxfY2hhbGxlbmdl
X2dldF9jYXBjaGEoCiAgICAgICAgICAgIGZ1bmN0aW9uKGlkKSB7CiAgICAgICAg
ICAgICAgICBpZiAoaWQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgY29vciA9
IGdldF9wb3NpdGlvbihlbGVtZW50KTsKICAgICAgICAgICAgICAgICAgICB2YXIg
SFRNTCA9IG5ldyBBcnJheSgpOwogICAgICAgICAgICAgICAgICAgIEhUTUwucHVz
aCgnPGRpdj48YSBvbmNsaWNrPSJoaWRlX2NhcGNoYSgpOyByZXR1cm4gZmFsc2U7
IiBocmVmPSIiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvbWFpbC9ydS9p
bWFnZXMvYmxvZ3MvY2xvc2VfaGVscC5naWYiIGhlaWdodD0iNyIgd2lkdGg9Ijci
IGJvcmRlcj0iMCIgc3R5bGU9Im1hcmdpbjogNXB4OyBmbG9hdDogcmlnaHQ7Ii8+
PC9hPicpOwogICAgICAgICAgICAgICAgICAgIEhUTUwucHVzaCgnPGRpdiBzdHls
ZT0iY2xlYXI6Ym90aDsiPjxpbWcgc3JjPSJodHRwOi8vJyArIFBlcmxWYXJfQmxv
Z3NQZXJsSG9zdCArICcvY2dpLWJpbi9qb3VybmFsL2dldF9pbWFnZT9pZD0nK2lk
KyciIHdpZHRoPSIxNTEiIGJvcmRlcj0iMCIgdnNwYWNlPSIwIiBoc3BhY2U9IjAi
IGhlaWdodD0iNTEiIGFsdD0iIiBpZD0iSW1hZ2VfaWQiIC8+PC9kaXY+Jyk7CiAg
ICAgICAgICAgICAgICAgICAgSFRNTC5wdXNoKCc8ZGl2IHN0eWxlPSJjbGVhcjpi
b3RoOyI+1+jx6+4g7eAg6uDw8ujt6uU6PC9kaXY+Jyk7CiAgICAgICAgICAgICAg
ICAgICAgSFRNTC5wdXNoKCc8ZGl2IHN0eWxlPSJjbGVhcjpib3RoOyBkaXNwbGF5
OmlubGluZTsiPjxmb3JtIGFjdGlvbj0iaHR0cDovLycgKyBQZXJsVmFyX0Jsb2dz
UGVybEhvc3QgK0pvdXJuYWxEaXIrJ2pjaGFsbGVuZ2UiIG1ldGhvZD0iZ2V0IiBp
ZD0iY2FwY2hhRm9ybSIgb25zdWJtaXQ9InJldHVybiBjaGVja19jaGFsbGVuZ2Vf
Y2FwY2hhKFwnJytDaGFsbGVuZ2VJRCsnXCcsICcrVXNlcklEKycsIFwnJytKb3Vy
bmFsSUQrJ1wnLCBcJycrTWFnaWNrKydcJyk7Ij48aW5wdXQgdHlwZT0iaGlkZGVu
IiBuYW1lPSJhY3Rpb24iIHZhbHVlPSJ2b3RlIiAvPicpOwogICAgICAgICAgICAg
ICAgICAgIGlmIChkb192b3RlMTApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
SFRNTC5wdXNoKCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkb192b3RlMTAi
IHZhbHVlPSIxIiAvPicpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICBIVE1MLnB1c2goJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9
ImJhY2siIHZhbHVlPSInICsgIFBlcmxWYXJfYmFja192YWx1ZSArICciIC8+PGlu
cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iTWFnaWNrIiB2YWx1ZT0iJyArIE1hZ2lj
ayArICciIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQ2hhbGxlbmdlSUQi
IHZhbHVlPSInK0NoYWxsZW5nZUlEKyciIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIg
bmFtZT0iSW1hZ2VJRCIgdmFsdWU9IicraWQrJyIgaWQ9IkltYWdlSURfaWQiIC8+
PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkltYWdlQW5zd2VyIiBpZD0iSW1hZ2VB
bnN3ZXJfaWQiIC8+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Ik9LIiAvPjwv
Zm9ybT48L2Rpdj48L2Rpdj4nKTsKICAgICAgICAgICAgICAgICAgICBkaXYuaW5u
ZXJIVE1MID0gSFRNTC5qb2luKCcnKTsKICAgICAgICAgICAgICAgICAgICBkaXYu
c3R5bGUudG9wID0gKGNvb3IudG9wK2VsZW1lbnQub2Zmc2V0SGVpZ2h0KSsicHgi
OwogICAgICAgICAgICAgICAgICAgIGRpdi5zdHlsZS52aXNpYmlsaXR5ID0gInZp
c2libGUiOwogICAgICAgICAgICAgICAgICAgIHZhciBsZWZ0ID0gY29vci5sZWZ0
IC0gZGl2Lm9mZnNldFdpZHRoICsgZWxlbWVudC5vZmZzZXRXaWR0aDsKICAgICAg
ICAgICAgICAgICAgICBpZiAobGVmdDwwKSBsZWZ0ID0gMDsKICAgICAgICAgICAg
ICAgICAgICBkaXYuc3R5bGUubGVmdCA9IGxlZnQrInB4IjsKICAgICAgICAgICAg
ICAgICAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlOwogICAgICAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBjaGFsbGVuZ2Vfdm90ZShD
aGFsbGVuZ2VJRCwgVXNlcklELCBKb3VybmFsSUQsIE1hZ2ljaywgZG9fdm90ZTEw
KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICk7CiAg
ICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGNoYWxsZW5nZV9jb2Rl
X3Nob3coZXZlbnQsaWQpIHsKCWV2ZW50ID0gZXZlbnQgfHwgd2luZG93LmV2ZW50
OwogICAgdmFyIGVsZW1lbnQgPSBldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxl
bWVudDsKCWlmIChlbGVtZW50KSB7CQoJCXZhciBjb29yID0gZ2V0X3Bvc2l0aW9u
KGVsZW1lbnQpOwoJCXZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKCQlkaXYuaW5uZXJIVE1MID0gZ2ViaShpZCkuaW5uZXJIVE1MOwoJCWRp
di5jbGFzc05hbWUgPSAnY2hhbGxlbmdlX2NvZGVzJzsKCQlkaXYuc3R5bGUudG9w
ID0gY29vci50b3A7CgkJZGl2LnN0eWxlLmxlZnQ9IGNvb3IubGVmdDsJCQoJCWRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKCX0KCXJldHVybiBmYWxzZTsK
fQpmdW5jdGlvbiBjaGFsbGVuZ2VfY29kZV9oaWRlKG9iaikgewoJdmFyIGRpdiA9
IG9iai5wYXJlbnROb2RlOwkKCWlmKGRpdikgZG9jdW1lbnQuYm9keS5yZW1vdmVD
aGlsZChkaXYpOwoJcmV0dXJuIGZhbHNlOwp9Cg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=vote.js
Content-Type: application/x-javascript; charset=windows-1251; name=vote.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/vote.js?6
Content-Transfer-Encoding: Base64
dmFyIGNhcGNoYURpdiA9ICdjYXBjaGFfcG9wdXAnOwoKZnVuY3Rpb24gY2hlY2tD
YXBjaGEoKSB7CiAgICB2YXIgSW1hZ2VJRCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdJbWFnZUlEX2lkJykudmFsdWU7CiAgICB2YXIgSW1hZ2VBbnN3ZXIgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnSW1hZ2VBbnN3ZXJfaWQnKS52YWx1ZTsK
ICAgIHBlcmxfY2hlY2tfY2FwY2hhKAogICAgICAgIEltYWdlSUQsIEltYWdlQW5z
d2VyLAogICAgICAgIGZ1bmN0aW9uKHN0YXR1cywgb2spIHsKICAgICAgICAgICAg
aWYgKHN0YXR1cyAmJiBvaykgewogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NhcGNoYUZvcm0nKS5zdWJtaXQoKTsKICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgIHBlcmxfZ2V0X2NhcGNoYV9pZCgKICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoc3RhdHVzLCBpZCkgewogICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzICYmIGlkKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnSW1hZ2Vf
aWQnKS5zcmMgPSAnaHR0cDovLycgKyBQZXJsVmFyX0Jsb2dzUGVybEhvc3QgKyAn
L2NnaS1iaW4vam91cm5hbC9nZXRfaW1hZ2U/aWQ9JytpZDsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdJbWFnZUlE
X2lkJykudmFsdWUgPSBpZDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAg
ICAgICBhbGVydCgnzeXi5fDt7iDi4uXkuO0g6u7kIOfg+ejy+ycpOwogICAgICAg
ICAgICB9CiAgICAgICAgfQogICAgKTsKICAgIHJldHVybiBmYWxzZTsKfQoKZnVu
Y3Rpb24gaGlkZV9jYXBjaGEoKSB7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChjYXBjaGFEaXYpLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7Cn0KCmZ1bmN0
aW9uIHNob3dfY2FwY2hhKGV2ZW50LCBKb3VybmFsRGlyLCBQb3N0SUQsIFZvdGUs
IE1hZ2ljaykKewogICAgaWYgKCFKb3VybmFsRGlyIHx8ICFQb3N0SUQgfHwgIVZv
dGUpCiAgICAgICAgcmV0dXJuOwogICAgaWYgKCFldmVudCkgZXZlbnQgPSB3aW5k
b3cuZXZlbnQ7CiAgICB2YXIgZWxlbWVudCA9IGV2ZW50LnRhcmdldCB8fCBldmVu
dC5zcmNFbGVtZW50OwogICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGNhcGNoYURpdik7CiAgICBpZiAoZWxlbWVudCAmJiBkaXYpIHsKICAgICAg
ICAvLyB0cmlja3ksIGVoPyBJIGRvIHRoaXMgYmVjYXVzZSB3YW50IHRvIHNhdmUg
Sm91cm5hbERpciwgUG9zdElELCBWb3RlIGluIGxvY2FsIHNjb3BlIGZvciBjYWxs
YmFjawogICAgICAgIHBlcmxfZ2V0X2NhcGNoYV9pZCgKICAgICAgICAgICAgZnVu
Y3Rpb24oc3RhdHVzLCBpZCkgewogICAgICAgICAgICAgICAgaWYgKHN0YXR1cyAm
JiBpZCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjb29yID0gZ2V0X3Bvc2l0
aW9uKGVsZW1lbnQpOwogICAgICAgICAgICAgICAgICAgIHZhciBIVE1MID0gJzxk
aXY+PGEgb25jbGljaz0iaGlkZV9jYXBjaGEoKTsgcmV0dXJuIGZhbHNlOyIgaHJl
Zj0iIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L21haWwvcnUvaW1hZ2Vz
L2Jsb2dzL2Nsb3NlX2hlbHAuZ2lmIiBoZWlnaHQ9IjciIHdpZHRoPSI3IiBib3Jk
ZXI9IjAiIHN0eWxlPSJtYXJnaW46IDVweDsgZmxvYXQ6IHJpZ2h0OyIvPjwvYT4n
OwogICAgICAgICAgICAgICAgICAgIEhUTUwgKz0gJzxkaXYgc3R5bGU9ImNsZWFy
OmJvdGg7Ij48aW1nIHNyYz0iaHR0cDovLycgKyBQZXJsVmFyX0Jsb2dzUGVybEhv
c3QgKyAnL2NnaS1iaW4vam91cm5hbC9nZXRfaW1hZ2U/aWQ9JytpZCsnIiB3aWR0
aD0iMTUxIiBib3JkZXI9IjAiIHZzcGFjZT0iMCIgaHNwYWNlPSIwIiBoZWlnaHQ9
IjUxIiBhbHQ9IiIgaWQ9IkltYWdlX2lkIiAvPjwvZGl2Pic7CiAgICAgICAgICAg
ICAgICAgICAgSFRNTCArPSAnPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDsiPtfo8evu
IO3gIOrg8PLo7erlOjwvZGl2Pic7CiAgICAgICAgICAgICAgICAgICAgSFRNTCAr
PSAnPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDsgZGlzcGxheTppbmxpbmU7Ij48Zm9y
bSBhY3Rpb249IicgK0pvdXJuYWxEaXIrJ3ZvdGUiIG1ldGhvZD0iZ2V0IiBpZD0i
Y2FwY2hhRm9ybSIgb25zdWJtaXQ9InJldHVybiBjaGVja0NhcGNoYSgpOyI+PGlu
cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYmFjayIgdmFsdWU9IicgKyAgUGVybFZh
cl9iYWNrX3ZhbHVlICsgJyIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJN
YWdpY2siIHZhbHVlPSInICsgTWFnaWNrICsgJyIgLz48aW5wdXQgdHlwZT0iaGlk
ZGVuIiBuYW1lPSJQb3N0SUQiIHZhbHVlPSInK1Bvc3RJRCsnIiAvPjxpbnB1dCB0
eXBlPSJoaWRkZW4iIG5hbWU9InZvdGUiIHZhbHVlPSInK1ZvdGUrJyIgLz48aW5w
dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJJbWFnZUlEIiB2YWx1ZT0iJytpZCsnIiBp
ZD0iSW1hZ2VJRF9pZCIgLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iSW1hZ2VB
bnN3ZXIiIGlkPSJJbWFnZUFuc3dlcl9pZCIgLz48aW5wdXQgdHlwZT0ic3VibWl0
IiB2YWx1ZT0iT0siIC8+PC9mb3JtPjwvZGl2PjwvZGl2Pic7CiAgICAgICAgICAg
ICAgICAgICAgZGl2LmlubmVySFRNTCA9IEhUTUw7CiAgICAgICAgICAgICAgICAg
ICAgZGl2LnN0eWxlLnRvcCA9IChjb29yLnRvcCtlbGVtZW50Lm9mZnNldEhlaWdo
dCkrInB4IjsKICAgICAgICAgICAgICAgICAgICBkaXYuc3R5bGUudmlzaWJpbGl0
eSA9ICJ2aXNpYmxlIjsKICAgICAgICAgICAgICAgICAgICBkaXYuc3R5bGUubGVm
dCA9IChjb29yLmxlZnQgLSBkaXYub2Zmc2V0V2lkdGggKyBlbGVtZW50Lm9mZnNl
dFdpZHRoKSsicHgiOwogICAgICAgICAgICAgICAgICAgIGV2ZW50LmNhbmNlbEJ1
YmJsZSA9IHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAg
ICAgICApOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CgpmdW5jdGlvbiBwb2xs
X3ZvdGUoUG9sbElEKQp7CiAgICB2YXIgZm9ybSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKFBvbGxJRCk7CiAgICBpZiAoIWZvcm0pIHJldHVybjsKICAgIHZhciBh
bnN3ZXJzID0gZXZhbCgnYW5zd2Vyc18nK1BvbGxJRCk7CiAgICBpZiAoIWFuc3dl
cnMubGVuZ3RoKSByZXR1cm47CiAgICB2YXIgc2VuZF92YWx1ZXMgPSBuZXcgQXJy
YXkoKTsKICAgIGZvciAodmFyIGk9MDsgaTxhbnN3ZXJzLmxlbmd0aDsgaSsrKSB7
CiAgICAgICAgdmFyIGFuc3dlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdp
ZF8nK2Fuc3dlcnNbaV0pOwogICAgICAgIGlmIChhbnN3ZXIuY2hlY2tlZCkgewog
ICAgICAgICAgICBpZiAoYW5zd2VyLnR5cGU9PSdyYWRpbycpIHsKICAgICAgICAg
ICAgICAgIHBlcmxfcG9sbF92b3RlKFBvbGxJRCwgWyBhbnN3ZXJzW2ldIF0sIHZv
dGVfY2FsbGJhY2spOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICB9CiAgICAgICAgICAgIHNlbmRfdmFsdWVzLnB1c2goYW5zd2Vyc1tpXSk7CiAg
ICAgICAgfQogICAgfQogICAgcGVybF9wb2xsX3ZvdGUoUG9sbElELCBzZW5kX3Zh
bHVlcywgdm90ZV9jYWxsYmFjayk7Cn0KCmZ1bmN0aW9uIHZvdGVfY2FsbGJhY2so
UG9sbElELCBjb3VudCwgcm93cykKewogICAgaWYgKCFQb2xsSUQgfHwgIWNvdW50
IHx8ICFyb3dzKSByZXR1cm47CiAgICBjb3VudCA9IHBhcnNlSW50KGNvdW50KTsK
ICAgIHZhciBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoUG9sbElEKTsK
ICAgIGlmICghZm9ybSkgcmV0dXJuOwogICAgaWYgKHR5cGVvZiByb3dzICE9ICdv
YmplY3QnKSByZXR1cm47CgogICAgdmFyIGRvbmVfZGl2ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3ZvdGVfZG9uZV8nK1BvbGxJRCk7CiAgICBkb25lX2Rpdi5p
bm5lckhUTUwgPSAnPGRpdiBjbGFzcz0idm90ZV9kb25lIG1iMTAiPtHv4PHo4e4s
IMLg+CDj7uvu8SDv8Ojt//I8L2Rpdj4nOwogICAgdmFyIHJhdGluZ190aW1lciA9
IHNldFRpbWVvdXQoZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQocmF0aW5nX3RpbWVy
KTtkb25lX2Rpdi5pbm5lckhUTUw9Jyc7fSwzMDAwKTsKCiAgICBmb3IgKHZhciBp
IGluIHJvd3MpIHsKICAgICAgICBpZiAodHlwZW9mIHJvd3NbaV0gPT0gJ29iamVj
dCcpIHsKICAgICAgICAgICAgdmFyIHJvdyA9IHJvd3NbaV07CiAgICAgICAgICAg
IHZhciB0ZDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGQxXycrcm93LklE
KTsKICAgICAgICAgICAgdmFyIHRkMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZDJfJytyb3cuSUQpOwogICAgICAgICAgICB0ZDEuaW5uZXJIVE1MID0gcm93
LnRleHQ7CiAgICAgICAgICAgIHRkMS5zdHlsZS5wYWRkaW5nID0gJzNweCAwJzsK
ICAgICAgICAgICAgdGQyLmlubmVySFRNTCA9ICc8aW1nIHNyYz0iaHR0cDovL2lt
Zy5tYWlsLnJ1L3IvYmxvZ3MvZGlhZ3JhbScrKHJvdy5sZWFkZXIgPyAnX3JlZCcg
OiAnJykrJy5naWYiIGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRsZSIgaGVpZ2h0
PSIxMCIgd2lkdGg9IicrcGFyc2VJbnQocm93LmNvdW50Lyhjb3VudCsxKSoxMDAp
KjMrJyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDJweDsgbWFyZ2luLWxlZnQ6IDIw
cHg7Ij4mbmJzcDsmbmJzcDs8Yj4nK3Jvdy5jb3VudCsocm93LnByb2MgPyAnICgn
K3Jvdy5wcm9jKycpJyA6ICcnKSsnPC9iPic7CiAgICAgICAgICAgIGlmIChyb3cu
bGVhZGVyKSB0ZDIuc3R5bGUuY29sb3IgPSAnI2YwMCc7CiAgICAgICAgfQogICAg
fQogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1pdF9idXR0b25fJytQ
b2xsSUQpLnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2Fuc3dlcnNfY291bnRfJytQb2xsSUQpLmlubmVySFRNTD1jb3Vu
dDsgCn0KCmZ1bmN0aW9uIHZvdGVUaGlzUG9zdChldmVudCwgSm91cm5hbERpciwg
UG9zdElELCBWb3RlLCBNYWdpY2spIHsKICAgIHBlcmxfY2hlY2tfY2FwY2hhX25l
ZWRlZCgKICAgICAgICBQb3N0SUQsCiAgICAgICAgZnVuY3Rpb24obmVlZGVkKSB7
CiAgICAgICAgICAgIGlmICghbmVlZGVkKSB7CiAgICAgICAgICAgICAgICBoaWRl
X3ZvdGUoUG9zdElEKTsKICAgICAgICAgICAgICAgIHBlcmxfdm90ZV9wb3N0KFBv
c3RJRCwgVm90ZSwgTWFnaWNrLCBwZXJsX3ZvdGVfcG9zdF9jYWxsYmFjayk7CiAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzaG93X2NhcGNoYShl
dmVudCwgSm91cm5hbERpciwgUG9zdElELCBWb3RlLCBNYWdpY2spOwogICAgICAg
ICAgICB9CiAgICAgICAgfQogICAgKTsKICAgIHJldHVybiBmYWxzZTsKfQoKCmZ1
bmN0aW9uIHBlcmxfdm90ZV9wb3N0X2NhbGxiYWNrKFJhdGluZywgUG9zdElEKSB7
CiAgICAgICAgaWYoUmF0aW5nICE9IHVuZGVmaW5lZCkgeyBzaG93X3ZvdGVfbWVz
c2FnZShQb3N0SUQsIFJhdGluZykgfQogICAgICAgIGVsc2UgeyBzaG93X3ZvdGVf
bWVzc2FnZShQb3N0SUQsICft5SDz5ODr7vH8IOTu4eDi6PL8IO725e3q8ycpIH0K
fQpmdW5jdGlvbiBoaWRlX3ZvdGUoUG9zdElEKSB7CiAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3ZvdGVfJyArIFBvc3RJRCkuc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKICAgICAgICBzaG93X3ZvdGVfbWVzc2FnZShQb3N0SUQsICfv7uTu
5uTo8uUuLi4nKTsKfQpmdW5jdGlvbiBzaG93X3ZvdGVfbWVzc2FnZShQb3N0SUQs
IG1lc3NhZ2UpIHsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndm90
ZV8nICsgUG9zdElEKS5zdHlsZS5kaXNwbGF5ID0gIiI7CiAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3ZvdGVfJyArIFBvc3RJRCkuaW5uZXJIVE1MID0g
ICc8ZGl2IGNsYXNzPSJ2b3RlcyI+PHN0cm9uZz4nICsgbWVzc2FnZSArICAnPC9z
dHJvbmc+PC9kaXY+JzsKfQoK
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=music.js
Content-Type: application/x-javascript; charset=windows-1251; name=music.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/music.js?5
Content-Transfer-Encoding: Base64
dmFyIG11c251bWJlcj0nJzsKdmFyIGxhc3Q9MDsKdmFyIGxhc3RjaGFuZ2U9Jyc7
CnZhciB2b2x1bWU9NzA7CnZhciB0b3BsYXk9Jyc7CnZhciBNdXNpY0hvc3QgPSAn
bXVzaWMubXkubWFpbC5ydSc7CgovKiDv5fDl5Ofg4/Dz5+rgIOrg8PLo7eroICov
CnZhciBwYXVzZSA9IG5ldyBJbWFnZSgpOwpwYXVzZS5zcmM9Imh0dHA6Ly9pbWcu
bWFpbC5ydS9yL2Jsb2dzL2ljb19wYXVzZS5wbmciOwoKZnVuY3Rpb24gY2hhbmdl
KG4sZm5hbWUscHRpbWUpCnsKICAgIHZhciBteXRpbWU9cHRpbWUqMTAwMDsKCWlm
KCEgUGVybFZhcl9BY3RpdmVFbWFpbCkgewoJCXZhciBhbnN3ZXIgPSBjb25maXJt
KCLP8O7x6/P46OLg7ejlIOzz5/vq6CDk7vHy8+/t7iDy7uv86u4g4OLy7vDo5+7i
4O3t++wg7+7r/Ofu4uDy5ev/7CFcbtXu8ujy5SDg4vLu8Ojn7uLg8vzx/yDx5en3
4PE/IikKCQlpZiAoYW5zd2VyKXsKCQkJd2luZG93LmxvY2F0aW9uID0gImh0dHA6
Ly8iICsgUGVybFZhcl9CbG9nc1BlcmxIb3N0ICsgIi9jZ2ktYmluL2xvZ2luP3Bh
Z2U9aHR0cDovLyIgKyBQZXJsVmFyX0Jsb2dzUGVybEhvc3QgKyBQZXJsVmFyX0F1
dGhQYWdlOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCWVsc2V7CgkJCXJldHVybiBm
YWxzZTsKCQl9Cgl9CiAgICB2YXIgbXlkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZm9yZmxhc2gnK24pOwoJaWYoZm5hbWUuaW5kZXhPZignbXVzaWM6Jyk9
PTApIGZuYW1lID0gZm5hbWUuc3Vic3RyKDYpOyAKICAgIG15ZGl2LmNsYXNzTmFt
ZT0nZGl2X2Rhc2hlZF9hY3QnOwogICAgbXlkaXYuaW5uZXJIVE1MPSc8b2JqZWN0
IGNsYXNzaWQ9ImNsc2lkOmQyN2NkYjZlLWFlNmQtMTFjZi05NmI4LTQ0NDU1MzU0
MDAwMCIgY29kZWJhc2U9Imh0dHA6Ly9mcGRvd25sb2FkLm1hY3JvbWVkaWEuY29t
L3B1Yi9zaG9ja3dhdmUvY2Ficy9mbGFzaC9zd2ZsYXNoLmNhYiN2ZXJzaW9uPTcs
MCwwLDAiIHdpZHRoPSIyOTciIGhlaWdodD0iNyIgaWQ9ImZsYXNoJytuKyciPjxw
YXJhbSBuYW1lPSJ3bW9kZSIgdmFsdWU9Im9wYXF1ZSIgLz48cGFyYW0gbmFtZT0i
YWxsb3dTY3JpcHRBY2Nlc3MiIHZhbHVlPSJhbHdheXMiIC8+PHBhcmFtIG5hbWU9
InN3TGl2ZUNvbm5lY3QiIHZhbHVlPSJ0cnVlIiAvPjxwYXJhbSBuYW1lPSJtb3Zp
ZSIgdmFsdWU9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL215L3BsYXllcjIuc3dmP2Zp
bGU9aHR0cDovLycrTXVzaWNIb3N0KycvJytmbmFtZSsnLm1wMyZ0aW1lPScrbXl0
aW1lKycmbWlkPScrbisnJnZvbD0nK3ZvbHVtZSsnIiAvPjxlbWJlZCBzcmM9Imh0
dHA6Ly9pbWcubWFpbC5ydS9yL215L3BsYXllcjIuc3dmP2ZpbGU9aHR0cDovLycr
TXVzaWNIb3N0KycvJytmbmFtZSsnLm1wMyZ0aW1lPScrbXl0aW1lKycmbWlkPScr
bisnJnZvbD0nK3ZvbHVtZSsnIiB3aWR0aD0iMjk3IiBoZWlnaHQ9IjciIG5hbWU9
ImZsYXNoJytuKyciIGlkPSJmbGFzaHBsYXllcicrbisnIiBhbGxvd1NjcmlwdEFj
Y2Vzcz0iYWx3YXlzIiBzd0xpdmVDb25uZWN0PSJ0cnVlIiAgdHlwZT0iYXBwbGlj
YXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHBsdWdpbnNwYWdlPSJodHRwOi8vd3d3
Lm1hY3JvbWVkaWEuY29tL2dvL2dldGZsYXNocGxheWVyIiB3bW9kZT0ib3BhcXVl
IiAvPjwvb2JqZWN0Pic7CiAgICBzZXRfaW1hZ2Vfc3RvcF9maXJzdChuKTsKICAg
IGlmKGxhc3QhPTApCiAgICB7CiAgICAgICAgdmFyIG15ZGl2ZGVzdHIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZm9yZmxhc2gnK2xhc3QpOwogICAgICAgIG15
ZGl2ZGVzdHIuaW5uZXJIVE1MPScnOwogICAgICAgIG15ZGl2ZGVzdHIuY2xhc3NO
YW1lPSdkaXZfZGFzaGVkJzsKICAgICAgICB2YXIgbXlpbWFnZWRpc3RyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21idXR0b24nK2xhc3QpOwogICAgICAgIG15
ZGl2ZGVzdHIuY2xhc3NOYW1lPSdkaXZfZGFzaGVkJzsKICAgICAgICB2YXIgbXlp
bWFnZWRpc3RyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21idXR0b24nK2xh
c3QpOwogICAgICAgIG15aW1hZ2VkaXN0ci5pbm5lckhUTUw9JzxhIGhyZWY9IiMi
PjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fcGxheS5w
bmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgY2xhc3M9IklFcG5nIiBib3JkZXI9
IjAiIG9uY2xpY2s9IicrbGFzdGNoYW5nZSsnIj48L2E+JzsKICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbXVzbGluaycrbGFzdCkub25DbGljayA9IGxh
c3RjaGFuZ2U7CiAgICAgICAgbGFzdD1uOwogICAgICAgIGxhc3RjaGFuZ2U9J2No
YW5nZSgnK24rJyxcJycrZm5hbWUrJ1wnLCcrcHRpbWUrJyknOwogICAgfQogICAg
ZWxzZQogICAgewogICAgICAgIGxhc3Q9bjsKICAgICAgICBsYXN0Y2hhbmdlPSdj
aGFuZ2UoJytuKycsXCcnK2ZuYW1lKydcJywnK3B0aW1lKycpJzsKICAgIH0KfQpm
dW5jdGlvbiBzZXRfaW1hZ2VfcGxheShuKQp7CiAgICB2YXIgbXlpbWFnZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYnV0dG9uJytuKTsKICAgIG15aW1hZ2Uu
aW5uZXJIVE1MPSc8YSBocmVmPSIjIj48aW1nIHNyYz0iaHR0cDovL2ltZy5tYWls
LnJ1L3IvYmxvZ3MvaWNvX3BsYXkucG5nIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUi
IGNsYXNzPSJJRXBuZyIgYm9yZGVyPSIwIiBvbmNsaWNrPSJzZXRfaW1hZ2Vfc3Rv
cCgnK24rJykiPjwvYT4nOwogICAgdG9wbGF5PScwJzsKICAgIHZhciBteWZvYmog
PSBudWxsOwogICAgaWYgKGlzSUUpIHtldmFsKCdteWZvYmo9d2luZG93LmZsYXNo
JytuKyc7Jyk7fQogICAgZWxzZSB7IG15Zm9iaj1kb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZmxhc2hwbGF5ZXInK24pO30KICAgIG15Zm9iai5TZXRWYXJpYWJsZSgi
X3Jvb3QucGF1c2UiLCAidHJ1ZSIpOwp9CmZ1bmN0aW9uIHNldF9pbWFnZV9zdG9w
X2ZpcnN0KG4pCnsKICAgIHZhciBteWltYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ21idXR0b24nK24pOwogICAgbXlpbWFnZS5pbm5lckhUTUw9JzxhIGhy
ZWY9IiMiPjxpbWcgc3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29f
cGF1c2UucG5nIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGNsYXNzPSJJRXBuZyIg
Ym9yZGVyPSIwIiBvbmNsaWNrPSJzZXRfaW1hZ2VfcGxheSgnK24rJykiPjwvYT4n
OwogICAgdG9wbGF5PScxJzsKfQpmdW5jdGlvbiBzZXRfaW1hZ2Vfc3RvcChuKQp7
CglpZighIFBlcmxWYXJfQWN0aXZlRW1haWwpIHsKCQl2YXIgYW5zd2VyID0gY29u
ZmlybSgiz/Du8evz+Oji4O3o5SDs8+f76ugg5O7x8vPv7e4g8u7r/OruIODi8u7w
6Ofu4uDt7fvsIO/u6/zn7uLg8uXr/+whXG7V7vLo8uUg4OLy7vDo5+7i4PL88f8g
8eXp9+DxPyIpCgkJaWYgKGFuc3dlcil7CgkJCXdpbmRvdy5sb2NhdGlvbiA9ICJo
dHRwOi8vIiArIFBlcmxWYXJfQmxvZ3NQZXJsSG9zdCArICIvY2dpLWJpbi9sb2dp
bj9wYWdlPWh0dHA6Ly8iICsgUGVybFZhcl9CbG9nc1BlcmxIb3N0ICsgUGVybFZh
cl9BdXRoUGFnZTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQllbHNlewoJCQlyZXR1
cm4gZmFsc2U7CgkJfQoJfQogICAgdmFyIG15aW1hZ2UgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbWJ1dHRvbicrbik7CiAgICBteWltYWdlLmlubmVySFRNTD0n
PGEgaHJlZj0iIyI+PGltZyBzcmM9Imh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dz
L2ljb19wYXVzZS5wbmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgY2xhc3M9IklF
cG5nIiBib3JkZXI9IjAiIG9uY2xpY2s9InNldF9pbWFnZV9wbGF5KCcrbisnKSI+
PC9hPic7CiAgICB0b3BsYXk9JzEnOwogICAgdmFyIG15Zm9iaiA9IG51bGw7CiAg
ICBpZiAoaXNJRSkge2V2YWwoJ215Zm9iaj13aW5kb3cuZmxhc2gnK24rJzsnKTt9
CiAgICBlbHNlIHsgbXlmb2JqPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmbGFz
aHBsYXllcicrbik7fQogICAgbXlmb2JqLlNldFZhcmlhYmxlKCJfcm9vdC5wYXVz
ZSIsICJmYWxzZSIpOwp9CmZ1bmN0aW9uIHVuUGF1c2UobikKewogICAgdmFyIG15
aW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWJ1dHRvbicrbik7CiAg
ICBteWltYWdlLmlubmVySFRNTD0nPGEgaHJlZj0iIyI+PGltZyBzcmM9Imh0dHA6
Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL2ljb19wYXVzZS5wbmciIHdpZHRoPSIxNSIg
aGVpZ2h0PSIxNSIgY2xhc3M9IklFcG5nIiBib3JkZXI9IjAiIG9uY2xpY2s9InNl
dF9pbWFnZV9wbGF5KCcrbisnKSI+PC9hPic7CiAgICB0b3BsYXk9JzEnOwp9CmZ1
bmN0aW9uIHNldHZvbHVtZShuKQp7CiAgICB2b2x1bWU9bjsKfQpmdW5jdGlvbiBl
bmRNdXNpYyhuKQp7Cgl2YXIgaWlkPW4rMTsKCXZhciBteWltYWdlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ21idXR0b24nK2lpZCk7CglpZihteWltYWdlKSB7
CgkJbXlpbWFnZS5maXJzdENoaWxkLmZpcnN0Q2hpbGQub25jbGljaygpOwoJfQoJ
ZWxzZSB7CgkJc2V0X2ltYWdlX3BsYXkobik7Cgl9Cn0=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=jentry.js
Content-Type: application/x-javascript; name=jentry.js
Content-Location: http://js.imgsmail.ru/r/js/blogs/jentry.js?9
Content-Transfer-Encoding: Base64
Lyog5Ov/IPHs4Onr7uIgKi8KdmFyIHRvZ2dsZV9mbGFnPTE7Cgp2YXIgc2hvd0Ns
b3NlSWNvbiA9ICc8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij48YSBvbmNsaWNr
PSJoaWRlRGl2RGlhbG9nKCk7IHJldHVybiBmYWxzZTsiIGhyZWY9IiMiPjxpbWcg
c3JjPSJodHRwOi8vb3R2ZXQubWFpbC5ydS9pbWcvY2xvc2VfaGVscC5naWYiIHdp
ZHRoPTcgaGVpZ2h0PTcgYm9yZGVyPTA+PC9hPjwvZGl2Pic7CgpmdW5jdGlvbiB0
b2dnbGVzbWlsZSgpCnsKCWlmICh0b2dnbGVfZmxhZz09MSkgewoJCS8vZ2ViaSgn
c29tZXNtaWxleXMnKS5zdHlsZS5kaXNwbGF5PSdub25lJzsKCQlnZWJpKCdhbGxz
bWlsZXlzJykuc3R5bGUuZGlzcGxheT0nYmxvY2snOwkJCQkKCQlnZWJpKCdpY290
eHQnKS5pbm5lckhUTUw9J9Hq8Pvy/CDx7ODp6/snOwoJCXRvZ2dsZV9mbGFnPTI7
CgkJfSBlbHNlIHsKCQlnZWJpKCdhbGxzbWlsZXlzJykuc3R5bGUuZGlzcGxheT0n
bm9uZSc7CQoJLy8JZ2ViaSgnc29tZXNtaWxleXMnKS5zdHlsZS5kaXNwbGF5PSdi
bG9jayc7CgkJZ2ViaSgnaWNvdHh0JykuaW5uZXJIVE1MPSfC8eUg8ezg6ev7IOgg
5uXx8vsnOwoJCXRvZ2dsZV9mbGFnPTE7CgkJfQp9CgpmdW5jdGlvbiByZXBsYWNl
U2VsZWN0ZWRUZXh0KG9iaixmbGFnLG1uZW1vbmljKQp7CglpZiAoZmxhZz09MSkK
CXsJdmFyIGFkZHBsdHh0PSc8c21pbGUgdHlwZT0iJyttbmVtb25pYysnIj4nOyB9
CglpZiAoZmxhZz09MikKCXsJdmFyIGFkZHBsdHh0PSc8Z2VzdHVyZSB0eXBlPSIn
K21uZW1vbmljKyciPic7IH0JCglpZiAoZmxhZz09MykKCXsJdmFyIGFkZHBsdHh0
PSc8YW5pbWF0ZWQgdHlwZT0iJyttbmVtb25pYysnIj4nOyB9CQoJaWYgKGZsYWc9
PTQpCgl7CXZhciBhZGRwbHR4dD0nPGFkdmFuY2VkIHR5cGU9IicrbW5lbW9uaWMr
JyI+JzsgfQkKCWlmIChmbGFnPT01KQoJewl2YXIgYWRkcGx0eHQ9Jzxrb2xvYmtp
IHR5cGU9IicrbW5lbW9uaWMrJyI+JzsgfQoJCglpZiAoZG9jdW1lbnQuc2VsZWN0
aW9uKSAvL+Tr/yBJRSDoIE9wZXJhCgl7CgkJb2JqLmZvY3VzKCk7CgkJdmFyIHMg
PSBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTsgCgkgICAJcy50ZXh0
PSBhZGRwbHR4dDsKCQlzLnNlbGVjdCgpOwoJCXJldHVybiB0cnVlOwoJfQoJZWxz
ZSBpZiAodHlwZW9mKG9iai5zZWxlY3Rpb25TdGFydCk9PSJudW1iZXIiKS8vxOv/
IEZGCgl7CgkgCXZhciBzdGFydCA9IG9iai5zZWxlY3Rpb25TdGFydDsKCSAgICB2
YXIgZW5kID0gb2JqLnNlbGVjdGlvbkVuZDsJCgkJCgkJb2JqLnZhbHVlID0gb2Jq
LnZhbHVlLnN1YnN0cigwLHN0YXJ0KSthZGRwbHR4dCtvYmoudmFsdWUuc3Vic3Ry
KGVuZCk7CgkJZW5kID0gZW5kICsgYWRkcGx0eHQubGVuZ3RoOwoJICAgIG9iai5z
ZXRTZWxlY3Rpb25SYW5nZShlbmQsZW5kKTsKCQlvYmouZm9jdXMoKTsKCSAgIHJl
dHVybiB0cnVlOwoJfQoJcmV0dXJuIGZhbHNlOwp9CgovKiBwb3B1cCBhZGQgZm90
bywgdmlkZW8gKi8KcG9wdXAgPSBmYWxzZTsKZG9jdW1lbnQuZG9tYWluPSdtYWls
LnJ1JzsKZnVuY3Rpb24gYWRkX3Bob3RvKCkgewoJdmFyIHN1YmogPSBlc2NhcGUo
ZG9jdW1lbnQuZm9ybXNbJ3JlcGx5J10uZWxlbWVudHNbJ3N1YmplY3RfdGV4dCdd
LnZhbHVlKTsKCWlmIChwb3B1cCkgcG9wdXAuY2xvc2UoKTsKCXBvcHVwID0gd2lu
ZG93Lm9wZW4oJ2h0dHA6Ly9mb3RvLm1haWwucnUvY2dpLWJpbi9hZGRwaG90bz9i
bG9ncz0xJlRpdGxlPScsJ2FkZF9waWN0Jywnd2lkdGg9NjAwLGhlaWdodD02NjAs
dG9vbGJhcnM9bm8sc2Nyb2xsYmFycz15ZXMscmVzaXphYmxlPXllcyxsZWZ0PScr
KHNjcmVlbi53aWR0aC02NjApLzIrJyx0b3A9Jysoc2NyZWVuLmhlaWdodC02NjAp
LzIpOwoJaWYgKHBvcHVwKSBwb3B1cC5mb2N1cygpOwp9CmZ1bmN0aW9uIGFkZF92
aWRlbygpIHsKCXZhciBzdWJqID0gZXNjYXBlKGRvY3VtZW50LmZvcm1zWydyZXBs
eSddLmVsZW1lbnRzWydzdWJqZWN0X3RleHQnXS52YWx1ZSk7CglpZiAocG9wdXAp
IHBvcHVwLmNsb3NlKCk7Cglwb3B1cCA9IHdpbmRvdy5vcGVuKCdodHRwOi8vbXku
dmlkZW8ubWFpbC5ydS9jZ2ktYmluL2FkZHZpZGVvP2Jsb2dzPTEmVGl0bGU9Jywn
YWRkX3BpY3QnLCd3aWR0aD02MDAsaGVpZ2h0PTY2MCx0b29sYmFycz1ubyxzY3Jv
bGxiYXJzPXllcyxyZXNpemFibGU9eWVzLGxlZnQ9Jysoc2NyZWVuLndpZHRoLTY2
MCkvMisnLHRvcD0nKyhzY3JlZW4uaGVpZ2h0LTY2MCkvMik7CglpZiAocG9wdXAp
IHBvcHVwLmZvY3VzKCk7Cn0KCi8qICAqLwp2YXIgZGlyZWN0ID0gJyc7CnZhciBh
ID0gJyc7CnZhciBmbGFnID0gMDsKZnVuY3Rpb24gbG9hZFhNTERvYyh1cmwpIHsK
CXJlcSA9IGZhbHNlOwogICAgLy8gYnJhbmNoIGZvciBuYXRpdmUgWE1MSHR0cFJl
cXVlc3Qgb2JqZWN0CiAgICBpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7CiAg
ICAJdHJ5IHsKCQkJcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAg
fSBjYXRjaChlKSB7CgkJCXJlcSA9IGZhbHNlOwogICAgICAgIH0KICAgIC8vIGJy
YW5jaCBmb3IgSUUvV2luZG93cyBBY3RpdmVYIHZlcnNpb24KICAgIH0gZWxzZSBp
Zih3aW5kb3cuQWN0aXZlWE9iamVjdCkgewogICAgICAgCXRyeSB7CiAgICAgICAg
CXJlcSA9IG5ldyBBY3RpdmVYT2JqZWN0KCJNc3htbDIuWE1MSFRUUCIpOwogICAg
ICAJfSBjYXRjaChlKSB7CiAgICAgICAgCXRyeSB7CiAgICAgICAgICAJCXJlcSA9
IG5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpOwogICAgICAg
IAl9IGNhdGNoKGUpIHsKICAgICAgICAgIAkJcmVxID0gZmFsc2U7CiAgICAgICAg
CX0KCQl9CiAgICB9CglpZiAocmVxKSB7CgkJcmVxLm9ucmVhZHlzdGF0ZWNoYW5n
ZSA9IHByb2Nlc3NSZXFDaGFuZ2U7CgkJcmVxLm9wZW4oIkdFVCIsIHVybCwgdHJ1
ZSk7CgkJcmVxLnNlbmQoIiIpOwoJfQp9CgpmdW5jdGlvbiBwcm9jZXNzUmVxQ2hh
bmdlKCkgewogICAgLy8gb25seSBpZiByZXEgc2hvd3MgImxvYWRlZCIKICAgIGlm
IChyZXEucmVhZHlTdGF0ZSA9PSA0KSB7CiAgICAgICAgLy8gb25seSBpZiAiT0si
CiAgICAgICAgaWYgKHJlcS5zdGF0dXMgPT0gMjAwKSB7CiAgICAgICAgICAgIC8v
IC4uLnByb2Nlc3Npbmcgc3RhdGVtZW50cyBnbyBoZXJlLi4uCiAgICAgICAgICAg
IHZhciByZXNwb25zZSA9IHJlcS5yZXNwb25zZVRleHQ7CiAgICAgICAgICAgIHZh
ciBhcnJheSA9IG5ldyBBcnJheSgpOwogICAgICAgICAgICBhcnJheSA9IHJlc3Bv
bnNlLnNwbGl0KCc7Jyk7CiAgICAgICAgICAgIHZhciBtZXRob2QgPSBhcnJheS5z
aGlmdCgpOwogICAgICAgICAgICBmb3IgKHZhciBpPTA7aTxhcnJheS5sZW5ndGg7
aSsrKSB7CiAgICAgICAgICAgICAgICBhcnJheVtpXSA9ICInIisgYXJyYXlbaV0g
KyInIjsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgYXJndW1lbnQgPSBh
cnJheS5qb2luKCcsJyk7CiAgICAgICAgICAgIGV2YWwobWV0aG9kICsgJygnK2Fy
Z3VtZW50KycpJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy9hbGVy
dCgiVGhlcmUgd2FzIGEgcHJvYmxlbSByZXRyaWV2aW5nIHRoZSBYTUwgZGF0YTpc
biIgKyByZXEuc3RhdHVzVGV4dCk7CiAgICAgICAgfQogICAgfQp9CgpmdW5jdGlv
biBzZXRfbnBjdXIocGN1cixuY3VyKSB7CiAgICAoZGlyZWN0KSA/IChjdXI9bmN1
cikgOiAoY3VyPXBjdXIpOwoJKGRpcmVjdCkgPyAoYWxfdGV4dD0i7+7x6+Xk7eXp
IikgOiAoYWxfdGV4dD0i7+Xw4u7pIik7CglpZiAoIWN1cil7CgkJLy9hX3R4dD1h
LmZpcnN0Q2hpbGQuY2xvbmVOb2RlKHRydWUpOwoJCS8vYS5wYXJlbnROb2RlLnJl
cGxhY2VDaGlsZChhX3R4dCxhKTsKCQlhbGVydCAoIsL7IO3g9e7k6PLl8fwg7eAg
8fLw4O3o9uUgIithbF90ZXh0KyIg5+Dv6PHoIik7CgkJZmxhZyA9IDE7Cgl9Cgll
bHNlIHsKCSAgIHZhciB1cmwgPSBQZXJsVmFyX0pvdXJuYWxEaXI7CgkgICB1cmwr
PSAoZGlyZWN0KSA/IG5jdXIgOiBwY3VyOwoJICAgdXJsKz0gIi5odG1sIjsKICAg
ICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB1cmw7Cgl9Cn0KCmZ1bmN0aW9u
IGNoZWNrX2dvKGQsaWQpIHsKCWlmIChmbGFnPT0xKSB7CgkgICBmbGFnID0gMDsK
CSAgIGRpcmVjdCA9IGQ7CgkgICBhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
KChkKSA/ICJuZXh0X3Bvc3QiIDogInByZXZfcG9zdCIpKTsKCSAgIGFfdHh0PWEu
Zmlyc3RDaGlsZC5jbG9uZU5vZGUodHJ1ZSk7CgkgICBhLnBhcmVudE5vZGUucmVw
bGFjZUNoaWxkKGFfdHh0LGEpOwoJICAgdmFyIHVybD0gUGVybFZhcl9BQ1RJT05f
RElSICsgImpwcmV2aW91c25leHRwb3N0aWQ/dXNlcj0iICsgUGVybFZhcl9Kb3Vy
bmFsRW1haWwgKyImaWQ9IitpZDsKICAgICAgIGxvYWRYTUxEb2ModXJsKTsKICAg
IH0KfQpmbGFnID0gMTsKCnZhciBfbGlua2lkOwpmdW5jdGlvbiBzaG93Q29tcGxh
aW5Gb3JtKF9saW5rLCBwb3N0X2lkLCBjb21tZW50X2lkKSB7CiAgICBfbGlua2lk
ID0gX2xpbmsuaWQ7CiAgICBzaG93RGl2RGlhbG9nKHNob3dDbG9zZUljb24gKyAn
PGgxIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxMHB4Ij7R7u7h+ejy/CDuIPHv4Ozl
PzwvaDE+PGZvcm0gYWN0aW9uPSIiIG9uc3VibWl0PSJzZW5kQ29tcGxhaW4oXCcn
K3Bvc3RfaWQrJ1wnLCBcJycrY29tbWVudF9pZCsnXCcpOyByZXR1cm4gZmFsc2U7
Ij48aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0iYnV0Rm9yU3BhbSIgdmFsdWU9ItHu
7uH56PL8IiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFo
b21hOyIvPjxpbnB1dCB0eXBlPSJidXR0b24iIG9uY2xpY2s9ImhpZGVEaXZEaWFs
b2coKSIgdmFsdWU9Is7y7OXt4CIgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9u
dC1mYW1pbHk6IHRhaG9tYTsgbWFyZ2luLWxlZnQ6IDE1cHgiLz48L2Zvcm0+Jywg
X2xpbmspOwogICAgcmV0dXJuIGZhbHNlOwp9CgpmdW5jdGlvbiBzaG93RGl2RGlh
bG9nKGh0bWwsIGJhc2lzLCBfeCwgX3kpIHsKCXZhciBkaXYgPSBnZWJpKCJjb21w
bGFpbl9mb3JtIik7CglkaXYuaW5uZXJIVE1MID0gaHRtbDsKCWlmIChiYXNpcykg
ewoJCXZhciBfdG9wID0gYWJzUG9zaXRpb24oYmFzaXMpLnkgKyAoKF95KSA/IF95
IDogMCk7CgkJdmFyIF9sZWZ0ID0gYWJzUG9zaXRpb24oYmFzaXMpLnggKyAoKF94
KSA/IF94IDogMCk7Cgl9CglpZiAoX3RvcCkgZGl2LnN0eWxlLnRvcCA9IF90b3A7
CglpZiAoX2xlZnQpIGRpdi5zdHlsZS5sZWZ0ID0gX2xlZnQ7CglkaXYuc3R5bGUu
ZGlzcGxheSA9ICIiOwp9CmZ1bmN0aW9uIGhpZGVEaXZEaWFsb2coKSB7CglnZWJp
KCJjb21wbGFpbl9mb3JtIikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKfQoKZnVu
Y3Rpb24gc2VuZENvbXBsYWluKHBvc3RfaWQsIGNvbW1lbnRfaWQpIHsKICAgIHZh
ciBkaXYgPSBnZWJpKCJjb21wbGFpbl9mb3JtIik7CiAgICBkaXYuaW5uZXJIVE1M
ID0gc2hvd0Nsb3NlSWNvbiArICc8c3BhbiBzdHlsZT0iY29sb3I6IzY5Njk3Mztm
b250LWZhbWlseTp0YWhvbWE7Zm9udC1zaXplOjExcHg7Ij7H4O/w7vEg7uHw4OHg
8vvi4OXy8f88L3NwYW4+JzsKICAgIHBlcmxfc2VuZF9jb21wbGFpbihwb3N0X2lk
LCBjb21tZW50X2lkLCAnYW50aXNwYW0nLCBjb21wbGFpblNlbmRlZCk7CiAgICBk
ZWxldGUgZGl2OwoJcmV0dXJuIGZhbHNlOwp9CgpmdW5jdGlvbiBjb21wbGFpblNl
bmRlZChyZXN1bHQpIHsKICAgIHZhciBkaXYgPSBnZWJpKCJjb21wbGFpbl9mb3Jt
Iik7Ci8vICAgIGlmIChyZXN1bHQpIHsKICAgICAgICBkaXYuaW5uZXJIVE1MID0g
c2hvd0Nsb3NlSWNvbiArICc8c3BhbiBzdHlsZT0iY29sb3I6IzY5Njk3Mztmb250
LWZhbWlseTp0YWhvbWE7Zm9udC1zaXplOjExcHg7Ij7C4PjgIObg6+7h4CDv8Ojt
//LgIOgg4fPk5fIg8ODx8ezu8vDl7eAg4iDh6+jm4On45eUg4vDl7P8uINHv4PHo
4e4uPC9zcGFuPic7CiAgICAgICAgZ2ViaShfbGlua2lkKS5zdHlsZS5kaXNwbGF5
PSdub25lJzsKLy8gICAgfSBlbHNlIHsKLy8JZGl2LmlubmVySFRNTCA9IHNob3dD
bG9zZUljb24gKyAnPHNwYW4gc3R5bGU9ImNvbG9yOiM2OTY5NzM7Zm9udC1mYW1p
bHk6dGFob21hO2ZvbnQtc2l6ZToxMXB4OyI+z/Du6Ofu+OvgIO746OHq4C48L3Nw
YW4+JzsKLy8gICAgfQp9CgovKiDP5fDl9O7q8/Ho8O7i6uAg7eAg7+7r5SDq7uzs
5e3y4PDo/yAqLwpmdW5jdGlvbiByZWZvY3VzKCkKewoJdmFyIGVsZW0xID0gZG9j
dW1lbnQuZm9ybXNbJ3JlcGx5J10uZWxlbWVudHNbJ1N1YmplY3QnXTsKCXZhciBl
bGVtMiA9IGRvY3VtZW50LmZvcm1zWydyZXBseSddLmVsZW1lbnRzWydDb21tZW50
J107CglpZiAoZWxlbTEgJiYgZWxlbTIpIHsgZWxlbTEuZm9jdXMoKTsgZWxlbTIu
Zm9jdXMoKTsJZWxlbTIudmFsdWU9ZWxlbTIudmFsdWUrJyc7IGVsZW0xPTA7IGVs
ZW0yPTA7IH0KfQoKZnVuY3Rpb24gZGlzX3N1Yl9idXQoKSB7Cgl2YXIgdmFsID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbW1lbnRfdGV4dCIpLnZhbHVlOwoJ
dmFyIHN1Yl9idXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3ViX2J1dCIp
OwoJaWYgKHZhbCAhPSAiIikgewoJCXN1Yl9idXQudmFsdWUgPSAiyOTl8iDu8u/w
4OLq4CI7CgkJc3ViX2J1dC5kaXNhYmxlZCA9IHRydWU7CgkJcmV0dXJuIHRydWU7
Cgl9IGVsc2UgewoJCXJldHVybiBmYWxzZTsKCX0KfQoKZnVuY3Rpb24gYWRkX2Nv
bW1lbnQoZm9ybSkKewogICAgdmFyIHN1YmplY3QgPSBmb3JtLlN1YmplY3QudmFs
dWU7CiAgICB2YXIgY29tbWVudCA9IGZvcm0uQ29tbWVudC52YWx1ZTsKICAgIHZh
ciByZSA9IG5ldyBSZWdFeHAoJ1xcUycpOwogICAgaWYgKCFyZS50ZXN0KHN1Ympl
Y3QrJycpICYmICFyZS50ZXN0KGNvbW1lbnQrJycpKQogICAgewogICAgICAgIGFs
ZXJ0KCfP7uvlINLl7OAg7eUg5O7r5u3uIOH78vwg7/Px8vvsJyk7CiAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIGRpc19zdWJfYnV0KCk7CiAg
ICAvL3JldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBjaGFuZ2Vfc2VsZWN0ZWRfb3B0
KHNlbGVjdF9maWVsKQp7CiAgICBpZihzZWxlY3RfZmllbC5vcHRpb25zWzFdLnNl
bGVjdGVkPT10cnVlKSB7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGlkZXNf
dHInKS5zdHlsZS5kaXNwbGF5PSIiO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdo
aWRlc190ZCcpLnN0eWxlLmRpc3BsYXk9IiI7CiAgICB9CiAgICBpZihzZWxlY3Rf
ZmllbC5vcHRpb25zWzBdLnNlbGVjdGVkPT10cnVlKSB7Cglkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaGlkZXNfdHIiKS5zdHlsZS5kaXNwbGF5PSJub25lIjtkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaGlkZXNfdGQiKS5zdHlsZS5kaXNwbGF5PSJu
b25lIjsKICAgIH0KfQoKLyogKi8KZnVuY3Rpb24gZm9ybV9kaXNfc3ViX2J1dCgp
IHsKCXZhciBzdWJfYnV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN1Yl9i
dXQiKTsKCXZhciBwcmV2aWV3X2J1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwcmV2aWV3X2J1dCIpOwoJc3ViX2J1dC5kaXNhYmxlZCA9IHRydWU7CglwcmV2
aWV3X2J1dC5kaXNhYmxlZCA9IHRydWU7CglyZXR1cm4gdHJ1ZTsKfQpmdW5jdGlv
biBmb3JtX3NldF9wcmV2aWV3KCkKewoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2Zvcm1fcHJldmlldycpLnZhbHVlPTE7Cn0KCi8qIO7h8ODh7vLq4CDq7uzl7fLu
4iAqLwoKZnVuY3Rpb24gc2hvd19kZWxfY29tbWVudChvYmosaWQpCnsKICAgIGlm
KCFoYXNfamF2YXNjcmlwdCgpKSByZXR1cm4gdHJ1ZTsKICAgIGNsb3NlX2RlbF9j
b21tZW50KCk7CiAgICB2YXIgZGVsX2Rpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKICAgIGRlbF9kaXYuaWQ9ImRlbF9mIjsKICAgIGRlbF9kaXYuY2xh
c3NOYW1lPSJkZWxfbWluIjsKICAgIGRlbF9kaXYuaW5uZXJIVE1MPSLT5ODr6PL8
IOru7Ozl7fLg8OjpPzxicj48aW1nIHNyYz1odHRwOi8vaW1nLm1haWwucnUvMC5n
aWYgd2lkdGg9MSBoZWlnaHQ9NT48YnI+IgoJKyI8aW5wdXQgdHlwZT1jaGVja2Jv
eCBpZD1kZWxldGVfYWxsPiZuYnNwOyZuYnNwO/EmbmJzcDvi6+7m5e3t++zoJm5i
c3A76u7s7OXt8uDw6P/s6Dxicj4iCgkrIjxpbWcgc3JjPWh0dHA6Ly9pbWcubWFp
bC5ydS8wLmdpZiB3aWR0aD0xIGhlaWdodD03Pjxicj4iCgkrIjxpbnB1dCB0eXBl
PWJ1dHRvbiB2YWx1ZT1cIiDE4CBcIiBvbmNsaWNrPVwiZGVsX2NvbW1lbnQoJyIr
aWQrIicpO1wiPiZuYnNwOyZuYnNwOyIKCSsiPGlucHV0IHR5cGU9YnV0dG9uIHZh
bHVlPVwiIM3l8iBcIiBvbmNsaWNrPVwiY2xvc2VfZGVsX2NvbW1lbnQoKTtcIj4i
OwogICAgb2JqLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoZGVsX2Rpdik7CiAgICBy
ZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGNsb3NlX2RlbF9jb21tZW50KCkKewog
ICAgdmFyIGRlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVsX2YiKTsKICAg
IGlmIChkZWwpIHsKCWRlbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGRlbCk7CiAg
ICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGRlbF9jb21tZW50KGlk
KQp7CiAgICB2YXIgZGVsZXRlX2FsbD0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImRlbGV0ZV9hbGwiKS5jaGVja2VkPzE6MCk7CiAgICBjbG9zZV9kZWxfY29tbWVu
dCgpCiAgICB2YXIgdXJsPSBQZXJsVmFyX0FDVElPTl9ESVIgKyAiamRlbGNvbW1l
bnQ/dXNlcj0iICsgUGVybFZhcl9Kb3VybmFsRW1haWwgKyAiJmlkPSIgKyBQZXJs
VmFyX0VudHJ5X0lEKyAiJmRlbGV0ZT0iK2lkKyImYWxsPSIrZGVsZXRlX2FsbCsi
JnhtbD0xIjsKICAgIGdldF9zY3JpcHQodXJsKTsKICAgIHJldHVybiBmYWxzZTsK
fQoKZnVuY3Rpb24gaGlkZV9kZWxldGVkX2NvbW1lbnQoaWQsbGV2ZWwpCnsKICAg
IHZhciBlbGVtZW50X2lkPSJ0XyIraWQ7CiAgICB2YXIgZGl2OwogICAgaWYobGV2
ZWwpIHsKCWRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0YWJsZScpOwoJZGl2
LmNsYXNzTmFtZT0idHJlZCI7CglkaXYuaWQ9ZWxlbWVudF9pZDsKCWRpdi5jZWxs
UGFkZGluZz0wOwoJZGl2LmNlbGxTcGFjaW5nPTA7CglkaXYuYm9yZGVyPTA7Cglk
aXYud2lkdGg9IjEwMCUiOwoJdmFyIHRib2R5PWRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3Rib2R5Jyk7Cgl2YXIgdHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHIn
KTsKCWRpdi5hcHBlbmRDaGlsZCh0Ym9keSk7Cgl0ci52YWxpZ249InRvcCI7Cgl0
Ym9keS5hcHBlbmRDaGlsZCh0cik7Cgl2YXIgdGQ9ZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgndGQnKTsKCXRyLmFwcGVuZENoaWxkKHRkKTsKCXRkLmFsaWduPSJyaWdo
dCI7Cgl0ZC5pbm5lckhUTUw9IjxpbWcgc3JjPWh0dHA6Ly9pbWcubWFpbC5ydS8w
LmdpZiB3aWR0aD0iK2xldmVsKyIgaGVpZ2h0PTc+PGJyPiIKCSAgICArIjxpbWcg
c3JjPWh0dHA6Ly9pbWcubWFpbC5ydS9yL2Jsb2dzL3N0cmVsa2EyLmdpZiB3aWR0
aD0yNSBoZWlnaHQ9MTUgY2xhc3M9cHJvYj4iOwoJdGQ9ZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgndGQnKTsKCXRyLmFwcGVuZENoaWxkKHRkKTsKCXRkLndpZHRoPSIx
MDAlIjsKCXRkLmlubmVySFRNTD0iPGRpdiBjbGFzcz1kZWxfZGl2PjxpbWcgc3Jj
PVwiaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNvX2RlbGV0ZWQucG5nXCIg
Y2xhc3M9XCJJRXBuZ1wiIHdpZHRoPTE2IGhlaWdodD0xNiBhbGlnbj1hYnNtaWRk
bGU+Jm5ic3A7Jm5ic3A7yu7s7OXt8uDw6Okg8+Tg6+XtPC9kaXY+IjsKICAgIH0g
ZWxzZSB7CiAgICAJZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwoJ
ZGl2LmlkPWVsZW1lbnRfaWQ7CglkaXYuY2xhc3NOYW1lPSJkZWxfZGl2IjsKCWRp
di5pbm5lckhUTUw9IjxpbWcgc3JjPVwiaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxv
Z3MvaWNvX2RlbGV0ZWQucG5nXCIgY2xhc3M9XCJJRXBuZ1wiIHdpZHRoPTE2IGhl
aWdodD0xNiBhbGlnbj1hYnNtaWRkbGU+Jm5ic3A7Jm5ic3A7yu7s7OXt8uDw6Okg
8+Tg6+XtIjsKICAgIH0KICAgIHZhciBvbGRfZGl2PWRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKGVsZW1lbnRfaWQpOwogICAgaWYob2xkX2Rpdikgb2xkX2Rpdi5wYXJl
bnROb2RlLnJlcGxhY2VDaGlsZChkaXYsb2xkX2Rpdik7Cn0KCmZ1bmN0aW9uIHNj
cmVlbl9jb21tZW50KGlkKQp7CiAgICBpZighaGFzX2phdmFzY3JpcHQoKSkgcmV0
dXJuIHRydWU7CiAgICB2YXIgc2NyZWVuX2FsbD0wOwogICAgdmFyIHVybDsKICAg
IGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JlZW5lZF9ub3RfcmVhZGFi
bGVfIitpZCkpIHsKICAgICAgICB1cmw9IFBlcmxWYXJfQUNUSU9OX0RJUiArICJq
c2NyZWVuY29tbWVudD91c2VyPSIgKyBQZXJsVmFyX0pvdXJuYWxFbWFpbCArIiZp
ZD0iICsgUGVybFZhcl9FbnRyeV9JRCArICImc2NyZWVuPSIraWQrIiZhbGw9Iitz
Y3JlZW5fYWxsKyImcmVhZGFibGU9MSZ4bWw9MSI7CiAgICB9IGVsc2UgewoJaWYo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmVlbmVkXyIraWQpKSB7CgkgICAg
dXJsPSBQZXJsVmFyX0FDVElPTl9ESVIgKyAianNjcmVlbmNvbW1lbnQ/dXNlcj0i
ICsgUGVybFZhcl9Kb3VybmFsRW1haWwgKyAiJmlkPSIgKyBQZXJsVmFyX0VudHJ5
X0lEICsgIiZzY3JlZW49IitpZCsiJmFsbD0iK3NjcmVlbl9hbGwrIiZ4bWw9MSZy
ZXN0b3JlPTEiOwoJfSBlbHNlIHsKCSAgICB1cmw9IFBlcmxWYXJfQUNUSU9OX0RJ
UiArICJqc2NyZWVuY29tbWVudD91c2VyPSIgKyBQZXJsVmFyX0pvdXJuYWxFbWFp
bAkrICImaWQ9IiArIFBlcmxWYXJfRW50cnlfSUQgKyAiJnNjcmVlbj0iK2lkKyIm
YWxsPSIrc2NyZWVuX2FsbCsiJnhtbD0xIjsKCX0KICAgIH0KICAgIGdldF9zY3Jp
cHQodXJsKTsKICAgIHJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gaGlkZV9zY3Jl
ZW5lZF9jb21tZW50KGlkKQp7CiAgICB2YXIgZWxlbWVudF9pZD0ic2NyZWVuZWRf
IitpZDsKICAgIHZhciBvbGRfZWxlbWVudF9pZD0idW5zY3JlZW5lZF8iK2lkOwog
ICAgdmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGRp
di5pZD1lbGVtZW50X2lkOwogICAgZGl2LmNsYXNzTmFtZT0iaGlkZV9jb20iOwog
ICAgZGl2LmlubmVySFRNTD0iyu7s7OXt8uDw6Okg8erw+/IiOwogICAgdmFyIG9s
ZF9kaXY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob2xkX2VsZW1lbnRfaWQpOwog
ICAgaWYob2xkX2Rpdikgb2xkX2Rpdi5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChk
aXYsb2xkX2Rpdik7CgogICAgdmFyIGltZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic2NyZWVuX2ltZ18iK2lkKTsKICAgIGlmKGltZykgewogICAgICBpbWcuc3Jj
PSAhVGhlbWVfdG1wbCA/ICJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29f
Y29tbWVudF9zaG93LnBuZyIgOiAiaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3Mv
aWNvX2NvbW1lbnRfc2hvd18yLnBuZyI7CiAgICAgIGltZy5hbHQ9Is/u6uDn4PL8
IOru7Ozl7fLg8OjpIjsKICAgICAgaW1nLnRpdGxlPSLP7urg5+Dy/CDq7uzs5e3y
4PDo6SI7CgkgIGltZy5jbGFzc05hbWUgPSAiSUVwbmciOwogICAgfQogICAgdmFy
IHRkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb21tZW50X2hpZGVfYmdfdGQx
XyIraWQpOwogICAgaWYodGQpIHsKCXRkLmNsYXNzTmFtZT0iaGlkZV9iZyI7CiAg
ICB9CiAgICB2YXIgdGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbW1lbnRf
aGlkZV9iZ190ZDJfIitpZCk7CiAgICBpZih0ZCkgewoJdGQuY2xhc3NOYW1lPSJo
aWRlX2JnIGNvbnQiOwogICAgfQp9CgpmdW5jdGlvbiBzaG93X3Vuc2NyZWVuZWRf
Y29tbWVudChpZCkKewogICAgdmFyIGVsZW1lbnRfaWQ9InVuc2NyZWVuZWRfIitp
ZDsKICAgIHZhciBvbGRfZWxlbWVudF9pZF9zY3JlZW5lZD0ic2NyZWVuZWRfIitp
ZDsKICAgIHZhciBvbGRfZWxlbWVudF9pZF9ub3RfcmVhZGFibGU9InNjcmVlbmVk
X25vdF9yZWFkYWJsZV8iK2lkOwogICAgdmFyIGRpdj1kb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzcGFuJyk7CiAgICBkaXYuaWQ9ZWxlbWVudF9pZDsKICAgIHZhciBv
bGRfZGl2PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG9sZF9lbGVtZW50X2lkX3Nj
cmVlbmVkKTsKICAgIGlmKG9sZF9kaXYpIHsKCW9sZF9kaXYucGFyZW50Tm9kZS5y
ZXBsYWNlQ2hpbGQoZGl2LG9sZF9kaXYpOwogICAgfSBlbHNlIHsKCXZhciBvbGRf
ZGl2PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG9sZF9lbGVtZW50X2lkX25vdF9y
ZWFkYWJsZSk7CglpZihvbGRfZGl2KSBvbGRfZGl2LnBhcmVudE5vZGUucmVwbGFj
ZUNoaWxkKGRpdixvbGRfZGl2KTsKICAgIH0KCiAgICB2YXIgaW1nPWRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzY3JlZW5faW1nXyIraWQpOwogICAgaWYoaW1nKSB7
CiAgICAgIGltZy5zcmM9ICFUaGVtZV90bXBsID8gImh0dHA6Ly9pbWcubWFpbC5y
dS9yL2Jsb2dzL2ljb19jb21tZW50X2hpZGRlbi5wbmciIDogImh0dHA6Ly9pbWcu
bWFpbC5ydS9yL2Jsb2dzL2ljb19jb21tZW50X2hpZGRlbl8yLnBuZyI7CiAgICAg
IGltZy5hbHQ9ItHq8Pvy/CDq7uzs5e3y4PDo6SI7CiAgICAgIGltZy50aXRsZT0i
0erw+/L8IOru7Ozl7fLg8OjpIjsKCSAgaW1nLmNsYXNzTmFtZSA9ICJJRXBuZyI7
CiAgICB9CiAgICB2YXIgdGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbW1l
bnRfaGlkZV9iZ190ZDFfIitpZCk7CiAgICBpZih0ZCkgewoJdGQuY2xhc3NOYW1l
PSAhVGhlbWVfdG1wbCA/ICJjb21tZW50X2xpc3RfYmciIDogImNvbW1lbnRfYmdf
Y29sb3IiOwogICAgfQogICAgdmFyIHRkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb21tZW50X2hpZGVfYmdfdGQyXyIraWQpOwogICAgaWYodGQpIHsKCXRkLmNs
YXNzTmFtZT0gIVRoZW1lX3RtcGwgPyAiY29udCBjb21tZW50X2xpc3RfYmciIDog
ImNvbW1lbnRfdGV4dCBjb250IGNvbW1lbnRfYmdfY29sb3IiOwogICAgfQp9Cgpm
dW5jdGlvbiBjaGFuZ2VfY29tbWVudF9tYWtlX25vdGNvbW1lbnRhYmxlKGlkKQp7
CiAgICBpZighaGFzX2phdmFzY3JpcHQoKSkgcmV0dXJuIHRydWU7CiAgICB2YXIg
bWFrZV9hbGw9MDsKICAgIHZhciB1cmw7CiAgICBpZihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29tbWVudGFibGVfIitpZCkpIHsKCXVybD0gUGVybFZhcl9BQ1RJ
T05fRElSICsgImptYWtlY29tbWVudG5vdGNvbW1lbnRhYmxlP3VzZXI9IiArIFBl
cmxWYXJfSm91cm5hbEVtYWlsICsiJmlkPSIgKyBQZXJsVmFyX0VudHJ5X0lEICsi
JmNvbW1lbnQ9IitpZCsiJmFsbD0iK21ha2VfYWxsKyImeG1sPTEiOwogICAgfSBl
bHNlIHsKCXVybD0gUGVybFZhcl9BQ1RJT05fRElSICsgImptYWtlY29tbWVudG5v
dGNvbW1lbnRhYmxlP3VzZXI9IiArIFBlcmxWYXJfSm91cm5hbEVtYWlsICsiJmlk
PSIgKyBQZXJsVmFyX0VudHJ5X0lEICsgIiZjb21tZW50PSIraWQrIiZhbGw9Iitt
YWtlX2FsbCsiJnhtbD0xJnJlc3RvcmU9MSI7CiAgICB9CiAgICBnZXRfc2NyaXB0
KHVybCk7CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIG1ha2VfY29tbWVu
dF9jb21tZW50YWJsZShpZCkKewogICAgdmFyIGVsZW1lbnRfaWQ9ImNvbW1lbnRh
YmxlXyIraWQ7CiAgICB2YXIgb2xkX2VsZW1lbnRfaWQ9Im5vdGNvbW1lbnRhYmxl
XyIraWQ7CiAgICB2YXIgZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsK
ICAgIGRpdi5pZD1lbGVtZW50X2lkOwogICAgZGl2LmNsYXNzTmFtZT0iZ3Jfc20i
OwogICAgZGl2LmlubmVySFRNTD0iPGEgaWQ9XCJsXyIraWQrIlwiIG9uY2xpY2s9
XCJyZXR1cm4gc2hvd19hZGRfY29tbWVudCgnIitpZCsiJywgMCwgJyIrUGVybFZh
cl9iYWNrX3ZhbHVlKyInKTtcIiAiCgkrImhyZWY9XCIiICsgUGVybFZhcl9VUkwg
KyAiJnJlcGx5dG89IitpZCsiI2NvbW1lbnRfIitpZCsiXCIgbWM9MT7O8uLl8ujy
/DwvYT4gKDxhIGlkPVwiY18iK2lkKyJcIiAiCgkrIm9uY2xpY2s9XCJyZXR1cm4g
c2hvd19hZGRfY29tbWVudCgnIitpZCsiJywgMCwgJyIrUGVybFZhcl9iYWNrX3Zh
bHVlKyInLCd5ZXMnKTtcIiBocmVmPVwiIiArIFBlcmxWYXJfVVJMICsgIiZjaXQ9
MSZyZXBseXRvPSIraWQrIiNjb21tZW50XyIraWQrIlwiIG1jPTE+8SD26PLg8u7p
PC9hPikiOwogICAgdmFyIG9sZF9kaXY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
b2xkX2VsZW1lbnRfaWQpOwogICAgaWYob2xkX2Rpdikgb2xkX2Rpdi5wYXJlbnRO
b2RlLnJlcGxhY2VDaGlsZChkaXYsb2xkX2Rpdik7CiAgICB2YXIgaW1nPWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb21tZW50YWJsZV9pbWdfIitpZCk7CiAgICBp
ZihpbWcpIHsKICAgICAgaW1nLnNyYz0gImh0dHA6Ly9pbWcubWFpbC5ydS9yL2Js
b2dzL2ljb19sb2NrXzIucG5nIjsKICAgICAgaW1nLnRpdGxlID0gIsfg7/Dl8ujy
/CDq7uzs5e3y4PDo6CI7CiAgICAgIGltZy5hbHQgPSLH4O/w5fLo8vwg6u7s7OXt
8uDw6OgiOwoJICBpbWcuY2xhc3NOYW1lID0gIklFcG5nIjsKICAgIH0KfQoKZnVu
Y3Rpb24gbWFrZV9jb21tZW50X25vdGNvbW1lbnRhYmxlKGlkKQp7CiAgICB2YXIg
ZWxlbWVudF9pZD0ibm90Y29tbWVudGFibGVfIitpZDsKICAgIHZhciBvbGRfZWxl
bWVudF9pZD0iY29tbWVudGFibGVfIitpZDsKICAgIHZhciBkaXY9ZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgncCcpOwogICAgZGl2LmlkPWVsZW1lbnRfaWQ7CiAgICBk
aXYuY2xhc3NOYW1lPSJncl9zbSI7CiAgICBkaXYuaW5uZXJIVE1MID0gJzxpbWcg
c3JjPSJodHRwOi8vaW1nLm1haWwucnUvci9ibG9ncy9pY29fbG9jay5wbmciIGNs
YXNzPSJJRXBuZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiIGFs
aWduPSJhYnNtaWRkbGUiPiZuYnNwO8ru7Ozl7fLg8OjoIOfg7/Dl+eXt+yc7CiAg
ICB2YXIgb2xkX2Rpdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChvbGRfZWxlbWVu
dF9pZCk7CiAgICBpZihvbGRfZGl2KSBvbGRfZGl2LnBhcmVudE5vZGUucmVwbGFj
ZUNoaWxkKGRpdixvbGRfZGl2KTsKICAgIHZhciBpbWc9ZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbW1lbnRhYmxlX2ltZ18iK2lkKTsKICAgIGlmKGltZykgewog
ICAgICBpbWcuc3JjPSAiaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxvZ3MvaWNvX3Vu
bG9ja18yLnBuZyI7CiAgICAgIGltZy50aXRsZT0i0ODn8OX46PL8IOru7Ozl7fLg
8OjoIjsKICAgICAgaW1nLmFsdD0i0ODn8OX46PL8IOru7Ozl7fLg8OjoIjsKCSAg
aW1nLmNsYXNzTmFtZSA9ICJJRXBuZyI7CiAgICB9Cn0KCmZ1bmN0aW9uIGdldF9z
Y3JpcHQgKHVybCkgewogICAgaWYodGhpcy5jYWxsSWQpIHsKCXRoaXMuY2FsbElk
ICs9IDE7CiAgICB9IGVsc2UgewoJdGhpcy5jYWxsSWQgPSAxOwogICAgfQogICAg
dmFyIG5ld1NjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIlNDUklQVCIp
OwogICAgbmV3U2NyaXB0LnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsKICAgIG5l
d1NjcmlwdC5zcmMgID0gdXJsICsgIiZjYWxsaWQ9IiArIFN0cmluZyh0aGlzLmNh
bGxJZCkrIiZyYW5kPSIrTWF0aC5yYW5kb20oKTsKICAgIGlmKHRoaXMub2xkU2Ny
aXB0KSB7Cglkb2N1bWVudC5ib2R5LnJlcGxhY2VDaGlsZChuZXdTY3JpcHQsdGhp
cy5vbGRTY3JpcHQpOwogICAgfSBlbHNlIHsKCWRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQobmV3U2NyaXB0KTsKICAgIH0KICAgIHRoaXMub2xkU2NyaXB0ID0gbmV3
U2NyaXB0Owp9Cgp2YXIgcHJvdGVjdF9rZXk9UGVybFZhcl9Qcm9LZXk7CnZhciB0
ID0gbmV3IERhdGU7CnZhciBwcm90ZWN0X2tleV9leHBpcmUgPSB0LmdldFRpbWUo
KStQZXJsVmFyX1Byb0tleUV4cGlyZSoxMDAwOwp2YXIgdGltZXRpbWVyOwp2YXIg
dGltZXRpbWVyMjsKCmZ1bmN0aW9uIHNldF9wcm90ZWN0X2tleShrZXkpCnsKCWNs
ZWFyVGltZW91dCh0aW1ldGltZXIpOwoJY2xlYXJUaW1lb3V0KHRpbWV0aW1lcjIp
OwoJdmFyIHByb2ZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb3Rl
Y3Rfa2V5Jyk7CglpZihwcm9maWVsZCkgeyBwcm9maWVsZC52YWx1ZT1rZXk7IH0K
CXZhciBjZm9ybSA9IGRvY3VtZW50LmZvcm1zWydyZXBseSddOwoJY2Zvcm0uc3Vi
bWl0KCk7Cn0KCgpmdW5jdGlvbiByZXRyaXZlX3Byb3RlY3Rfa2V5KCkKewoJaWYo
cHJvdGVjdF9rZXk9PScnKSB7CgkJcGVybF9nZXRfcG9zdF9wcm90ZWN0X2tleShQ
ZXJsVmFyX0VudHJ5X0lELHNldF9wcm90ZWN0X2tleSk7CgkJdGltZXRpbWVyMj1z
ZXRUaW1lb3V0KHJldHJpdmVfcHJvdGVjdF9rZXksMzAwMCk7Cgl9Cn0KCmZ1bmN0
aW9uIHN1Ym1pdF9jb21tZW50KCkKewoJdmFyIHQgPSBuZXcgRGF0ZTsKCWlmKHQu
Z2V0VGltZSgpPHByb3RlY3Rfa2V5X2V4cGlyZSkgeyByZXR1cm4gdHJ1ZTsgfQoJ
aWYoIWRpc19zdWJfYnV0KCkpIHsgcmV0dXJuIGZhbHNlOyB9CQoJcHJvdGVjdF9r
ZXk9Jyc7CglyZXRyaXZlX3Byb3RlY3Rfa2V5KCk7Cgl0aW1ldGltZXI9c2V0VGlt
ZW91dCgic2V0X3Byb3RlY3Rfa2V5KDApIiw1MDAwKTsKCXJldHVybiBmYWxzZTsK
fQoKZnVuY3Rpb24gY29tbWVudHNfc3Vic2NyaWJlX2NhbGxiYWNrKHJlbW92ZSkK
ewoJaWYocmVtb3ZlPDApIHJldHVybjsKCXZhciBsaW5rID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbW1zdWJzY3IxJyk7Cgl2YXIgbGluazIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnY29tbXN1YnNjcjInKTsKCWlmKGxpbmsgJiYgbGlu
azIpIHsKCQlpZihyZW1vdmUpIHsKCQkJUGVybFZhcl9jb21tZW50c19zdWJzY3Jp
YmVkID0gMDsKCQkJbGluay5pbm5lckhUTUw9JzxpbWcgc3JjPSJodHRwOi8vaW1n
Lm1haWwucnUvci9ibG9ncy9pY29fc3Vic2NyaWJlXzIucG5nIiBjbGFzcz1JRXBu
ZyB3aWR0aD0xNiBoZWlnaHQ9MTYgYm9yZGVyPTAgYWxpZ249YWJzbWlkZGxlPic7
CgkJCWxpbmsyLmlubmVySFRNTD0nz+7k7+jx4PL88f8g7eAg6u7s7OXt8uDw6Ogn
OwoJCQlsaW5rLmhyZWY9UGVybFZhcl9BQ1RJT05fRElSICsgJ2pjb21tZW50c3N1
YnNjcmliZT91c2VyPScgKyBQZXJsVmFyX0pvdXJuYWxFbWFpbCArICcmaWQ9JyAr
UGVybFZhcl9FbnRyeV9JRCsgJyYnICsgUGVybFZhcl9iYWNrOwoJCQlsaW5rMi5o
cmVmPVBlcmxWYXJfQUNUSU9OX0RJUiArICdqY29tbWVudHNzdWJzY3JpYmU/dXNl
cj0nICsgUGVybFZhcl9Kb3VybmFsRW1haWwgKyAnJmlkPScgK1BlcmxWYXJfRW50
cnlfSUQrICcmJyArIFBlcmxWYXJfYmFjazsKCQkJbGluay5vbmNsaWNrPWZ1bmN0
aW9uKCkgeyByZXR1cm4gY29tbWVudHNfc3Vic2NyaWJlKDAsUGVybFZhcl9FbnRy
eV9JRCk7IH07CgkJCWxpbmsyLm9uY2xpY2s9ZnVuY3Rpb24oKSB7IHJldHVybiBj
b21tZW50c19zdWJzY3JpYmUoMCxQZXJsVmFyX0VudHJ5X0lEKTsgfTsKCQl9CgkJ
ZWxzZSB7CgkJCVBlcmxWYXJfY29tbWVudHNfc3Vic2NyaWJlZCA9IDE7CgkJCWxp
bmsuaW5uZXJIVE1MPSc8aW1nIHNyYz0iaHR0cDovL2ltZy5tYWlsLnJ1L3IvYmxv
Z3MvaWNvX3Vuc3Vic2NyaWJlLnBuZyIgY2xhc3M9SUVwbmcgd2lkdGg9MTYgaGVp
Z2h0PTE2IGJvcmRlcj0wIGFsaWduPWFic21pZGRsZT4nOwoJCQlsaW5rMi5pbm5l
ckhUTUw9J87y7+jx4PL88f8g7vIg6u7s7OXt8uDw6OXiJzsKCQkJbGluay5ocmVm
PVBlcmxWYXJfQUNUSU9OX0RJUiArICdqY29tbWVudHNzdWJzY3JpYmU/dXNlcj0n
ICsgUGVybFZhcl9Kb3VybmFsRW1haWwgKyAnJnJlbW92ZT0xJmlkPScgK1BlcmxW
YXJfRW50cnlfSUQrICcmJyArIFBlcmxWYXJfYmFjazsKCQkJbGluazIuaHJlZj1Q
ZXJsVmFyX0FDVElPTl9ESVIgKyAnamNvbW1lbnRzc3Vic2NyaWJlP3VzZXI9JyAr
IFBlcmxWYXJfSm91cm5hbEVtYWlsICsgJyZyZW1vdmU9MSZpZD0nICsgUGVybFZh
cl9FbnRyeV9JRCsgJyYnICsgUGVybFZhcl9iYWNrOwoJCQlsaW5rLm9uY2xpY2s9
ZnVuY3Rpb24oKSB7IHJldHVybiBjb21tZW50c19zdWJzY3JpYmUoMSxQZXJsVmFy
X0VudHJ5X0lEKTsgfTsKCQkJbGluazIub25jbGljaz1mdW5jdGlvbigpIHsgcmV0
dXJuIGNvbW1lbnRzX3N1YnNjcmliZSgxLFBlcmxWYXJfRW50cnlfSUQpOyB9OwoJ
CX0KCX0KfQoKZnVuY3Rpb24gY29tbWVudHNfc3Vic2NyaWJlKHJlbW92ZSxlbnRy
eWlkKQp7Cgl2YXIgbGluayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21t
c3Vic2NyMScpOwoJdmFyIGxpbmsyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2NvbW1zdWJzY3IyJyk7CglpZihsaW5rICYmIGxpbmsyKSB7CgkJbGluazIuaW5u
ZXJIVE1MPSfC++/u6+3/5fLx/y4uLic7CgkJbGluay5vbmNsaWNrPWZ1bmN0aW9u
KCkgeyByZXR1cm4gZmFsc2U7IH07CgkJbGluazIub25jbGljaz1mdW5jdGlvbigp
IHsgcmV0dXJuIGZhbHNlOyB9OwoJfQoJcGVybF9wb3N0c19jb21tZW50c19zdWJz
Y3JpYmUoMCxyZW1vdmUsZW50cnlpZCxjb21tZW50c19zdWJzY3JpYmVfY2FsbGJh
Y2spOwoJcmV0dXJuIGZhbHNlOwp9Cg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=0.gif
Content-Type: image/gif; name=0.gif
Content-Location: http://img.mail.ru/0.gif
Content-Transfer-Encoding: Base64
R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAQAICRAEAO///////
/////////////////yH+FkdJRiBTbWFydFNhdmVyIFZlcjEuMWEALAAAAAABAAEA
AAQCEAAAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=default.gif
Content-Type: image/gif; name=default.gif
Content-Location: http://www.tns-counter.ru/V13a****mail_ru/ru/CP1251/tmsec=mail_blogs-other/
Content-Transfer-Encoding: Base64
R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAICTAEAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=logo_blog.gif
Content-Type: image/gif; name=logo_blog.gif
Content-Location: http://img.mail.ru/r/blogs/themes/logo_blog.gif
Content-Transfer-Encoding: Base64
R0lGODlhQwAVAMQQAO/0+BBWjyBilzBtnmCPtd/p8J+80s/d6a/H2lCDrY+wy3Ca
vEB4pr/S4YClxP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAABAALAAAAABDABUAAAX/ICSOZGmeaKqubOu+cCzP
dG3HA6PvjFAGPF7ANCA4FoxhKRcUMRw+IlREeFiv1yhEAMBiESRCwftQKCFVsgPS
BZcSVreDbC2c5/RHY2TIPw5KeF4EEFZ7JANdeiJ4ayl4WoWLEAtXDkoEioeNJoYk
AYqTnI9WJZ5sVgtLigkQoySnEAEHWJuGDrhTJHimiwx1J30PBq5WjrCTEAhWtKJ5
CrulyHt4h2+eryOnCoa/zg8FDQ3ND8e808VlJ97Uxp2LaYDsjO4ilQ8AI+fai/fW
JP7SHePXwBsAH/MEInugTxpBCAOunBnRwF02EXW6ABjg5NQrbwzphXwIoZmbEWke
avi4KOkKoY7fDOhwoAgMkDEjMU6KyIwAgwTC1CnsVQ+mLToFBPC0kg+diAShvBAT
OVDnsCWnBuC80uDSFkUFWpGgBW2EAANbHyBgQALOA44luvwb0aVsCwETP6WAeyIv
iUg/bggeTLjwihAAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=logo_mail.gif
Content-Type: image/gif; name=logo_mail.gif
Content-Location: http://img.mail.ru/r/blogs/themes/logo_mail.gif
Content-Transfer-Encoding: Base64
R0lGODlhaQAVANUkAL+RI0B0qYCjxkBfaTBZcoB4RhBMg++kCRBSk8+XGt+dEq+L
LDBpomBsV8/c6VBlYHCXv5+ENe/z+CBTeiBdmnByT3NzTd/o8a/F21CAsOagDmCM
t8STII9+PayJLo+uzJ+51L/R4v+qAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAACQALAAAAABpABUAAAb/QJJwSCwaj8ikcslsOo+E
SmFaITyvSchoFCBlBAysuPlIiM5okaIxHmu5pG2ofbVwNBxL0bBAHwCAaQAGdE8I
EBBCcoVNFh5DHnpCBmYiAA9FDQpnCYRCDGABAgIQCEIbo11GFBCjEBQkoGEIpIoj
c00EU5i6mFAFViQaJGjCQx1nESQTHYALvhFnC0MhW9YjEhsX1yGmQggf11sg2xck
b12LSwSVZyQAIgdImwBCw2dswyQD0iQNadIOLIgmYoCQauISbsHwzYHCayQEbEl3
a8mAA2kSvHN35Ew9EhyIiQxJItoBAw88NniAzKOBTcpIIHSQgYLDhQw2WIOFYYsE
/zA5JUCUCEcdEgMYRSR4EAyeCCQehTiCJAmjsk3ThhCIikzBwS3eMmxxQG0iA59h
hiDYtiXixDgVkxDMOsQpVEtD7OCRRExEg60iJhSJVo/fU5lthQQwilDUlg1GFrcl
ShEXEowni9jtiFfJmQGGjfwrzBHhEMmWGyP0VsSa26Jxj0zop5mjkaieC4YuUgHv
btOKGU8EbsQ1ZbiWjRguYGTz7c5JzhQwgK8IPRIFSicmgbosl3AjMqwy/nZskuVG
CBosMhs6kj5ekR1YzyfqdcQjTgvnInYE2SI9TfYWW2kpJ51onHhS1xkVLPGPCBVQ
wolTZyiQnV9f5RdcbI2RcMRTCLCQQEGAAsIBwliqCDGAFegZsYlSgi3TRzwKJlHJ
AAZ0kJQlKaGhUYb6cfgWA0KNddNQbyFQ5EIk9CYCAS0WQcCOCbRTUC5JTbfPADES
pEAw+AVpWYCqMMDWNUu+VuaSI1Bw4YoHQvFiGgf4guUZAk1RQAIKTABljTp9oFYI
EognRAYSdKMWBAiFUIpEAoh4wQUhkkCLQ3NM2ec7dSZhQAVOARAhFgYQBNCTjKSq
aqoTVLAAIAAswMaqtNZq6624phoEADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ranetki-bookmark-t.gif
Content-Type: image/gif; name=ranetki-bookmark-t.gif
Content-Location: http://img.mail.ru/r/bookmarks/ranetki-bookmark-t.gif
Content-Transfer-Encoding: Base64
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
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://img.mail.ru/r/blogs/menu_grad.gif
Content-Transfer-Encoding: Base64
R0lGODlhAQAYAMQAAAAAAP///9bh/9fi/tnk/+Pr/8ra/szc/sTX/8PW/sfZ/83d
/tDf/s/e/drm/9vn/8DW/7/V/N3p/9zo/t/q/////wAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAABUALAAAAAABABgAAAUUYBVFUIIoinEsDcMIwkA4
zyRRRQgAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_home.png
Content-Type: image/png; name=ico_home.png
Content-Location: http://img.mail.ru/r/blogs/ico_home.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGHSURBVHja
Yvz//z8DJYARn+T/Qqv5DH/+GTD8+OHAOPvCR5IMAGs28Upg+AfkHNlygeH7D4c0
67Uffv/+y7AgRw2ujwmv5vdvGcDYwseAgYnjAOv3Twy/f/1BUcuET/OVT1wM6xjN
IIZY+xiUXWljYPvxGbcX0DVvtaphADlZ+dw6hkiG8wwMfMIM949dYFB8e0eAcRsk
TJgIaf718w/DRVVPhoXfdBgY3r5lUDQzYGBg5jjw39mAH+4CfJp//frN8BtM/2HQ
vbKVIY37JgMDvzADww5gwH774cD8P9NgPgOvaALD928MV36K4NQMwo94FBgeP3zH
YPbmIgPDHwYJho+fPeBhkLf48X8pWRG45nu3njH8AbJB/D+//zAIi/LDDXr+6A3D
kWmOYL0sMAN+QxXDbAZpXlmuC1bkWXXyP0wzyEUgdRjR+AfN2ciK/vz6C9cMMxzD
ALDtSH4GORvFdciGIyUmhBeAgg9uv4D7GcUFQP7zJ28hYfILVY6R0tzIxEAhAAgw
ANW7OlckAQZBAAAAAElFTkSuQmCC
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_friends.png
Content-Type: image/png; name=ico_friends.png
Content-Location: http://img.mail.ru/r/blogs/ico_friends.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAllJREFUeNqEU0toE1EUPTOdTzLGyTRN
qgkpdtGWotAuxFWUDqJkZVNxE3BTRUG6KrjSVcGNgmLdihARBEHEFEQ3fhdKBTHt
wk1abWrbiE0bhskkk99kvJPW0kWaXjjvDvfNPe+c+3gMtuOe2hfz+rrGWZZVKpUy
9Hx+zrLq0zdn15bRJhhneXBmMHa450gycCgI27ZRKhrQ8pvY+PtHK5sl9caXlfm9
CFhnESVpUvZ2guN4sGwHOJ6H2y3hgEdWGIaZaqeAc5Z6taYGhk0MndPB1w3AMGCs
mvictJH63VDD4fBLURSVYrFIW8ZcqVSabjQayzsE5DlzfLTQi2oNKFcBSh6PDcO7
ia9MjxKJ9I851nRdRy6XUxcWFsbpW6XW+aaFaqU8hmwW0DTAJIIGlVkXXqVEBINB
uFwu8GTLyZIkwe/3K4IgTO0M0Qn7becHuCUVogwIXiow6Iv9xJWrw4ifF9DrKwBk
If2jiLsJA09e50h5hWkqOHV7diSWeqq9+XWC/BepwuP5ylkUuBAmLta2ms0KWbMx
EGbwcMKEZVmZpgJqvk95stWEjWwa3y/fomtybY2r0UF+68D6KpjoxhgVZ5whxghL
rQg8oQG8XzzWdTr0TYZwEE17nEhE9mOn+f8t3CFEWhEMFda67Y+DR6v9aVkY0smZ
D7UlP8xkVNHi4ojyLPHJsUCUGCUou5uvZ95FVW3xAtrH9M4tEFGAkrytyn4x/2iG
ty2JfrD3fQutQotfukbp5D4K0lybzQRhnRDY6wxCktnnBEdJ9y5rzadD0GmADjn+
CTAAEUHgdmESgPgAAAAASUVORK5CYII=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_comm_b.png
Content-Type: image/png; name=ico_comm_b.png
Content-Location: http://img.mail.ru/r/blogs/ico_comm_b.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALsSURBVHja
pFNJTFNRFD2//F/ST8tn+C2TKYQKwQFFxAQVYWOQIC5wQYLgQsJCokYjEUNinFBC
UHFhFBeGQEAMLkAxCIbIJCJTSWgRaGulQBGZQSl0gu+DjcboipvcxR3eeefmnksJ
goCtGD07+gVzUzOou5cDYXkJyXmPIJJ4w9BWA0oq3zM/2HMpaH/MS92b0obTZa3o
aaxFZ0khZifNiM3Ihuh/yJyfKk/z7Hr/WEfdmYacjHpeqaz9V98mAMvzHmCYJoZh
mlnej+GVKvH95LRrYqmSFFXQOCV4fafihL6h+ijvpwLpbSOu5Xj+IM0Hbve6HCqb
CwkNhmHUhKfxe+1u+xLS7xZHISQlEY0Pm+F0uoILW4XVMuHxOO2cEKrwhGNpGTeO
n+qg8lMSNb7rH8IDd8ah8+MA7PMm3HyviYb1eSdoKcATNw4D7jYY9EkxAfbydger
wNX0SvQZLaCEr73HYH3QgB1RgHkcmNUBEW+ptfH6Qhdj0RUw/oB9BrbdJ7tc5ZnR
GDkrYGMMswkL6ma4VAVfMJ5PkLuhpfQwbKton4uAekjbt21am7UWFKlw0ibYVfGY
elLvqpmuclDusXGcuZGBfQWS2OxKKqtmGN36CWNvgjp4kRLDTIciTJcIGyEykymA
tU7B6e4D5FPw9wXGj9yGB3cA9KQJvmUVU6LiW6VQNw2sZ39LgUf4RQxNGEDPAxI5
EKCPgyLAB7w2FQqykJXvJD/9CjJVApL08/jhujgnAs8T2O6Qouo2BFUDXQ4JsEb2
KyWbFXQQOr0hXq0DzXFgSWl05SekrSVoGv8E9Op20ZtqYFlgzECNllcK5kgtEE5y
FjFglYFyl5FgmSBaALkdtlkbLC2vgBE1BZb7Q4kMQ/iJqM+DpgKHmcQyMrfIE9hg
5OIFSL0BIqh3/WMFWFulNj/duIW/pckyTK52Erkz3drUkEMBcV68n8K5Yp829oy0
2haWX3BK8nDpdz+11WsUYYv2S4ABAPXSIKADHpGuAAAAAElFTkSuQmCC
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_read.png
Content-Type: image/png; name=ico_read.png
Content-Location: http://img.mail.ru/r/blogs/ico_read.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAgdJREFUeNqMUkFPE0EUfm13u512qcut
TZbA1RPcPBn5Cf4D2njzgn+AxBCMRwnBqAlJN/gH1uqBU7sJXtompiUNiahQsk2R
Htzdou3KzDLODrBsuxh9ky95mZn3ve97M6A8G8xubLyswl+iUqkst9ttq9lqHpXL
5aXIhTtrtrW5+Ypub78tTZ7VarUlx3HoyB1R27FpvVG3/H39vT5/fSfOoPAkHi/o
+rugQ7VanVVVdR0hBIQQDkqpwop9tethgiASiYTGJD/wc1mWn+ZyOYV4JCCQJAku
vItFURAX6o3GUYTgikTf/bg7n8/nH14X+sAEA/UXpRCLxXzVc3BvhUYI/EPWxZBS
khIu9pUkpSQnCEf8tsmzPopHPF7Ei29mABjjfxMwBgh7D+eiKP6HAtYpkE7GiZjF
KMGJp0xauOkaVuKTRixQqm3Z9+EHRmMW+AxI1EYKpcYJnJXp4sgTtNfduzAkiXEF
DLZlQ9fsQuewA+axCf3v/aiFwWquaA6R9uZLPpjB8NcQDj4fQK/X47MQkyKgNAJ1
RoXsVDY6xLPnc8V6H2kvPmW4BdM0+b4gClcfTIBMWoYpOQt7xz9ha+fr5b+ZfIHM
cqv0ZGFQWJxxeecz14P9Uwr7JwQOT0fQ/GZ1KHENeu4aQLARu+0Z049rJYp/FxiA
YtdmMC5xbpAPj1rhu38EGAAx0mb72+iGxgAAAABJRU5ErkJggg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_send_challenge.png
Content-Type: image/png; name=ico_send_challenge.png
Content-Location: http://img.mail.ru/r/blogs/ico_send_challenge.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xh
BQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9gEFwkSAQrVhs4AAAAZdEVY
dENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAGHRFWHRTb2Z0d2FyZQBQ
YWludC5ORVQgdjMuMzBAhEcQAAABVElEQVQ4T2PYcfJ0lntc4j4GEgFID0gvQ151
9X8Qrm2s+T9n7QotQuaA1IDUwvSB1Sd56IEFeprS/nvEJ8/FZQhIDqQGpBakB0Ud
SABmUGlZzn+TgHBzmAKL4Gjz/NJUuEYMzcgmgSTDraXBir3i06bbBIVN15Xn/Q/C
eDVu27ZQNsJDXxNkmImmbDWyi0CGdTdXVYPkgtw1NUFqsXrz2Jl9C4pirP+DMLKt
MK+BxEFqcAb0g7s3/p9bXwfGIE2sTAwBoY6qASA2TBykBqsBINORNaf6aDDCFGb6
6TAiGwJSi2IIuua01HQMW0BiOA3Ji3f8nxPnAFbQs24LJy4DulZv5ASpAakF6QG7
AmQ7LMTB/I7uClwGFLZ3VcASHkgP2CswA1IKMmNAGrFphvkXJg9Si2EAoTyALo9h
gIOO6HFiDQGphRsA83+ko9YqYg0AqYXpAwB7AxCkslJ1JwAAAABJRU5ErkJggg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_search.png
Content-Type: image/png; name=ico_search.png
Content-Location: http://img.mail.ru/r/blogs/ico_search.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnJJREFUeNqUU01IVFEU/s7M8NR4oyBF
E1IhWIYgBLbInas2I0GrguiPiREJN0GBSRmtxDYGOUEoLSqwRX9gGUS5aNolSJJb
UTDFgWycmTfz3sx7p+9Nij034YX7zr3nnu+73znnPlFV7BzOjNTBQdLbwFnNo1Od
qnsJYczT/87LYdzs1aLvlJ0Ezqw0e1lMuito89aRIXhJPcyKoEVq0SE1MLWEea+I
7obruhAgcL6LwVu/VRbRTNvPGx/VJ9XdOs+NiUmCCZLG3TzmPAcnQv/eztCEu452
z8bF+l59GGlC0novPwpvRAuv5FNoLzrMC9otUXyAwTgPiYCCUlq+lBcRi57XIwQm
KH3MXSNxBQibzLcWq/Q58NDj/saUvYZ0UEEBrbAxs7m9wzrAXsa5hqSK2rjKssVY
n0O06WpEGa1BghIaGZivrvMMtJDZd1tf+PvoFR1n/g4vQPQST0soMr4hEmwBfvGg
qUqQxQLZmzdGJMlaPA01IkGw4TcvOyyGW4Th5hDsgvVMJt2f7HsFhyWCOJQV53Go
hoS0BGRdC2GvgrBbQF2lgKGAAgp7LUqgg4HoLe3P3ZUwWzVQcdDGDmVI3OeVSVLC
GXYqw7dxb1tBSgxW+GR+FQ9YnOOI4LEYuGkOMpnNsd4npg+uWEjHnutC8CWmJMbv
infw2suNqdGjXLeHIigihDmmMksFYdfBaabQyBRO7Z/Qz9sEKYlzPYK2wZavE/eh
ttVzzEYdFfn+Tk6T61XK/0g7dOCtzm+pEh3FMO0NgkHwctm2urhf7nry92f57yDB
ok4Parpnj05fRtxXtJsJgkc2wandgv35R4ABAPH6m9NCKXkbAAAAAElFTkSuQmCC
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=https.js
Content-Type: application/x-javascript; charset=windows-1251; name=https.js
Content-Location: https://auth.mail.ru/https.js?2358886120
Content-Transfer-Encoding: Base64
KGZ1bmN0aW9uKCl7CiAgICB2YXIgZnJtID0gZG9jdW1lbnQuZm9ybXMuQXV0aDsK
ICAgIGlmIChmcm0gJiYgZnJtLmFjdGlvbikKICAgICAgICBmcm0uYWN0aW9uID0g
ZnJtLmFjdGlvbi5yZXBsYWNlKC9eaHR0cDpcL1wvd2luL2ksICdodHRwczovL2F1
dGgnKS5yZXBsYWNlKC9eaHR0cDpcL1wvc3dhL2ksICdodHRwczovL3N3YXMnKS5y
ZXBsYWNlKC9eaHR0cDovaSwgJ2h0dHBzOicpLnJlcGxhY2UoL15cLy8sJ2h0dHBz
Oi8vJytkb2N1bWVudC5kb21haW4rJy8nKTsKfSkoKTs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=_avatar.jpeg
Content-Type: image/jpeg; name=_avatar.jpeg
Content-Location: http://avt.foto.mail.ru/mail/malvo_59/_avatar
Content-Transfer-Encoding: Base64
/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2Jl
AGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMD
AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AA
EQgAWgBaAwERAAIRAQMRAf/EANcAAAEEAwEBAAAAAAAAAAAAAAkGBwgKAwQFAgEB
AAAGAwEBAQAAAAAAAAAAAAMFBgcICQIECgABCxAAAAYBAgMDBggFDw0AAAAAAQID
BAUGBwARMRIIITITQWEiFBUJ8FFxoVIzNDVCgiMWNoGRscHRosJDU2NGZhc3OPGS
JERklFVlVldYGVkRAAIBAgQEAwMFCwcJCQEAAAECAxEEABIFBiExEwdBIghRMhRh
gSMzFfBxkcHhQmJTYzQJobHxUkM1GNGSoyREVGRVFoKig5OzpCYXNzj/2gAMAwEA
AhEDEQA/AAtlII/ufDhqzimKUCwGMwJj5P2OzWVMBl8Ziob6yCVwG0tMZga7+T5t
ZdOuAjPjKDLfbs46yEXDjjA3VPHGYI7f8HWfQwGbynjjKEXv+D8Pn1l8PgM33y4y
FiN/wN/h8mshbYwOofLj17H/AJv4fra98N8mMftH5ceght/wPh+tr78L8mPHUqeO
Hmwb0yZe6k72wxthekSVxtD0guXINgTaxEBFJnIR3YLTPPDoRNbr7ADgKzx2qkiX
cCgInMUpiXcGr6PtjTn1TW5kgtF8TzY+Coo8zsfBVBPjyBOFJtDQtx741pNC2zbS
XV+/ML7qLWheRzRY0HizEDw4kgEkv/p3rf8A9A+k77Z/Zv8AaLn/AIj/APtN9z/o
r/Wjj/yzTEf4htvf7hefX05x/U/rPe+s/Ze7+1xKr/CLu/8A5pp37rm92X94/Ve7
9V+3979hgKBC7jqQYGIlMaY3k099tg+Hm0IFxqu9MdZixO5WIgmACdQdg5h2AAAN
zGEe3sKUBEdtx7OzfQhKxoZG90DGpJLh0YamAtygRsLgxgABUWIU4ekXgVMdkiAY
xNy83pDvsAjrReSZxndhHFzFOZ/Gfl5DxpjKKCWblwB+7l/lp8lcOU1x69VIYwJm
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
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_info.png
Content-Type: image/png; name=ico_info.png
Content-Location: http://img.mail.ru/r/blogs/ico_info.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASRJREFUeNpi/P//PwMjIyPD/72J/xn+
/WVg+PsHgf/9wcpnjDvGCNIHAiwgIic39z+D0yQGhs8dDAx/fgEV/YbSQPznN5SG
ip+8w8DMMQGkmxGklwlETJk8mZFhZzRhzSAa5AokwAR3gftSTM21MxgYGuahiv/F
YgDYBZuDMW2GARRxVAMQYeALDIOnhajOrgzHNBSbASAXTHa4+5/BWBGhuWUJQlWe
G0IcZxgEbUUNsNJAhCpkcZxhsMIZMxZQwgAmjssFEXsxYwHugt8IQ/7hcsFia1TN
k3YhVM05jdMFiFiIBcbCBX9EaKdbodqMLx0AgQPDtjTsKQ8jZWJxARAcYPCaxcAw
QxszE2HLUEiAEZYbQQCaSYgCf77nM8INoAQABBgAoQYpcmfBCdIAAAAASUVORK5C
YII=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_my.png
Content-Type: image/png; name=ico_my.png
Content-Location: http://img.mail.ru/r/blogs/ico_my.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArJJREFUeNp8UktME1EUPW/a6U9op5VS
gkAblAqRSDXRsBCEGFz56cqwMAESvwu0JOqGRHChSxuDKzd0pwsDmBjdaECNC4kJ
BtQgQTFEQaFf+qFT2nneNkAR0Juc3JuZ+879HYYNdsNV7K054GwXNWopEooitBgG
eV8ykezqm1oKYxtTrwWdTmOvxWb2lDpKIC+nkMkoSMkpiuV2OSk7KKV5OwJhQ9ym
1aoQDUcQjyWQXkmDc4CpBDDGmqiA9N8OyBwH661oPGvH/Jc4wj+XEfihwdg7iv08
+99FGNlMwNaC+ydKBjuuHHHry0yAQh8SHDyRAJIBDA4XornTe8uyqyKbOkIdjWwh
WBmo9QgF5V62w0qD0WTpNGCqxSv5DF7PFCJDTcSSHJF4Bof36MIXWqR7RNSbJ3hc
I0E0zAi6IgkqLZjzHLrf1GOi+CFE2yKVUkMXt6PwVyO+fTZDxxJ4cNHmyxEo3bn5
2hJM74Zzn0O/+xBuh67BV30KUfOnLYurHvdCO3oJRiEAgd8U+pkgjBE8OkV2BIO1
WKrrw5PE0LaPy/1u2OfaoTfo8D0ognGvkW9MmJuWMXU5iPPmGkR0s389VoVcsL8c
oxODNAJUqGJ0xp3GMB16/cY2k4JhzQRiwiyEDMBpn5zlVePXkhcJGqCqWEUE5oIu
iKr+9SqEiowWej/thlSiiKs+qxg1qdmC3JkbyccWViCwk5M+mAo6cp0UkQYIDdZ5
lM22whAADP41SNAv9OQI9pMcGuzA+Jyc1wGfOJrV+1VCEzQlrufKHVyfOE2X/YiU
wY2U0QujwYHjVMNJ3Tx6G0VbpTpPsNk4566n0wvDd9+3SHVVA9BaKqGluUMxBaOT
SXj2imit1nT8k2CVxPF7mfc8+/rCHdEfk5jAUKrmaLKyIauO3SIlfvgjwACxCvP+
0x/z0AAAAABJRU5ErkJggg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_foto.png
Content-Type: image/png; name=ico_foto.png
Content-Location: http://img.mail.ru/r/blogs/ico_foto.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArdJREFUeNp8U21IU2EYPfduWoP8rH2I
kan90IUgpEtpMtPUcv4IIuiDQkKCwD9FgTD8mKQ/JCIrkEpBstaPov5GQiVa8yOz
tTVnZeDUdrfpyN05nXO7vffmbGl14PA+957zPpz3fe6luroNiMbSkh8ulwsMw2B+
3oNQKIT/gfIsLEFEU6DXGKnbb3WcYhinxuVygmV9vNdK2P3siWHhjwZuz6Kwoaqq
cv1lTc15NUVRr8tKi0UpKXIQGeO2Cejqm18S+YjT6VjhfW/7X4EiR6gldTXhHsKE
SJOMjHQUqPLWk4HjcO16O4aG30UsbsLTlP5qWyArKztWqVRCKpUiJkYsbBg0GjEy
MkyeY+Byu2AyfcSVyxdRUXYIJB3M5k9o0LdYxWNjY7HxiTsw5zFiyNgPiUSCtN1p
CAUDqCgvRWZmBsKhMGwTn/HA8IjcxyJpugVmixUyeYpSzGfx+/3wer0CWZZFYUEe
Kg+Xo7GxEX19fRCJRCgpKUFLcxPudnbBPuP6dYEkCb1xLAq5DJqiA8jJ3YcOeya2
XXoBc8VT3HwvgWp/Ic5Vn0VyUuK6X5SlzGlK3bkL4XAYjGMWxZoiGB72oJ9WQ31B
h1ZNPCbpZNipvQgy0wjMjiA/XwXruA2rq8HNCeQyGXp7e0FnH8eANYD6YQgrvbKM
uPSDgqaQS+FjvQLFGxvwSXjEs9/hnYvDwOBWYXOCzwnJyqKgcWSka77wpgTTMzPQ
arUQmXqg8ExC6v4irNtZB3xfnwvalH06Yn9MEzDRDQbeDKKurg5Jy6MIjt5DguMD
JE4LfpjuQ0HboNPpYLFYO4n1BP8h4eixk7ktbbfv6FtvNPDR1iKeIeNcJWZOpVJx
arWa0+v1HBk3kbjayDGEH5EvohkBqcsIv3G/MUWojdIFUtGb/oFUftyE9r+JPwUY
AOyvSo8nUqT4AAAAAElFTkSuQmCC
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_video.png
Content-Type: image/png; name=ico_video.png
Content-Location: http://img.mail.ru/r/blogs/ico_video.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnNJREFUeNqkU01oE1EQ/vZ/k91sNhpT
mzQQvYiKUmgrVA/NSVAQioceeioIggchRxWkvSmlkIoYT6LePHioFxEEf7BFRCO1
CmKLpViaNDFNk+xms5u/9e3GeqjaSx98zJt575s382aGsm0bu1ksRVH/PbwxOTVE
xDBBnKB323HJsbH/IMS3IEkyFEVBOBRCtHs/FMkDkedRKFUwm/6o5vO5CfY3cZyI
BIlGNU0Tx44cRSwaRUCR4Ze8rvNGs4lsYRPrBEVNR6vVcqOgCDkpy3LiQCyG27eS
oH0qJK8XVy5eQHBfCMWyhgwhZfMFGIaBummBpmzoenmFFzg3hcRAfx/mZufgvP7q
2SPcyQF3p67heOwgDL2KWq2GZqPhRkLRNDieJXorMX79apnlOA6KzwfLMt0LyWUd
PMmdCoaRy2T//A8niuAEEZJPAdUyiFNj3rHTAVWFU4m+/gGI5NL71E0sPn2MypcP
8EgS/HuD2NMdgUcJgOZEtNs2BNHjcMfciO7df2ifOjkIjYS6uPQdc29eg2FZhCMR
iF4/Mpn8zn1gw3a9tghCXV04feYc1tZWUSlvwjKrnUuXRzFSS2CeG8ZbfqxTlUYJ
wVQKtE2Ihy8d6nwQScVBvW65+ujIeUTCXRisP0Bv84krnfUzN4PVlWl3T1uWhXeT
abRJXWlCZhgG27vTefUbM+RK5+XlpQlolflOdJqulz4tLKg9PVEIggCWoV1HW4th
KKQLZ5F2FGMSNW0cuvaD9MRnYjgBpw/ixeLGNEFcUfyQZBk8adcqSf/5i5dYz238
9XGB7mBn85WkvcPgOMMyUyxZYztVgdrtOP8SYADlDfLJBdT3TQAAAABJRU5ErkJg
gg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_add_friend.png
Content-Type: image/png; name=ico_add_friend.png
Content-Location: http://img.mail.ru/r/blogs/ico_add_friend.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAbNJREFUeNqEUk1LAlEUPTOOiYySWFoE
USHoIioJWhW4aBeELl2VLdqG9A9at6hfUBJB0SZbtc0fUOYi2hi4MKQwsfmoxo+Z
7oiDzozZhfMu7z3Oefeedxl0w+PxxAOBQIrjuFlZlkF4lCTpuN1uFzAkGH3xer3x
SCSSDYfD0DQNoiiiUqmgWCxCEIQEnd38JcDqC8/z6WAwCHodDMOAZVm43W74/X44
nc7UsAo4fVFVNbq22sTebhW8KgGSDPFNxP5hA2evSPzbAlWQl0orUTRbwE8TaFCW
v4CPdzg3PkutVmtuaAtkWArlMlCvk4ACtEmXdQEaCyIPbYHt5gKq1QxqNeCLBFQH
4OApaxm6y2nmiNk8qCd3YsL5t881/4yRJQHM5BiU/ASU3IyvnnR1CMzTNLVG7zUc
d0brHQEiH1FOa4obPw/LBFOFiS4MMqA4bL+wSXix9jZ6cRIyHRjkhl3ggLA+wJ9Q
X9k9so7rBc3Y6wJXhCphyiKwPZBs2XO+y1OyHbfkxbg+EoaxtrIHkKGwPTetof+X
aeKyiz3y1j1jnQP7iFrC9PKAQfo/+sruj18BBgA6vsNKtuwC0gAAAABJRU5ErkJg
gg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=i_favorite.gif
Content-Type: image/gif; name=i_favorite.gif
Content-Location: http://img.mail.ru/mail/ru/images/blogs/i_favorite.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAAQAPcAAAAAACtwBTSRBTywBV+VP0bRAlbkFGzmMXnjRobtU5jvbpvq
d5y6jbrUq6rxirbso873vdv5yu356AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAQABAAAAhrAP8JHEiwoMGDEQ4alKBA
gUKCDA84fChQAQIDCyj+c5DAQAEEFCFcLDCAQEEJAyWMFMCgIAQHCf8pMDBAQIOC
CxI0/AeBpk2DCQ4IfXCg5s2DDgqQFBCg5cMHNQOY1NggQACUGv8xcJo1a0AAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_subscribe.png
Content-Type: image/png; name=ico_subscribe.png
Content-Location: http://img.mail.ru/r/blogs/ico_subscribe.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAapJREFUeNpiYEACPzQZ/gNxPxDzMxAJ
mLCIFQDxAgZyANQF/qToYQSTi23zgWTAj7bDDhxVtrjUPgC7LvbwRlQDFtvu95a2
dMhRD2JwdLFg+H/5J1ji0deXDMarEhh0nwoxqL3kZ/jM8ZthndH9D0ADBJENYAFi
hwkmeXCBJ99eg+kLFy4wRJ1WgYsL/ONh2O9aINAwYUb9wdtnHUD6gHgDyACGx19f
gRXJIrFfPn0B18zJycmQnJXGELuoheHii9sNDKLMDAzswPB/8jsAYsC3V3DFMPa7
Lx9QNa8Fama5z8BgyIlw/5PfDCguQGa/ff4aVTMHMAxFWTFCFuqCl2DOxLI0OJuD
nRlNMwuqzq//kA2A2PpYHpgAoWyNjwy4Nb/+A4zUXyA/QsLg6ocHDHysXHD5f3/+
MZz8eJ/hrehfVM0gW1/8Bhrw9wKQl8Aw9exFkGzAw68vEhgZGAM4mdkZWJlYGAQ+
sDC8ZfwODGl2iG2fgAa9A+K/4MR0AJygpp79iEiJkNQoDzYVhF//UGC4+xvoROYL
UA0gfAGmiRhQD8Vk5UaSAECAAQCRlLDMrCNXSQAAAABJRU5ErkJggg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_sms_leader.png
Content-Type: image/png; name=ico_sms_leader.png
Content-Location: http://img.mail.ru/r/blogs/ico_sms_leader.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAeNJREFUeNqEUs9LG0EYfZMmVKvogqK0
IInQQ4+99NJLIx5KPRWEQi9dBW8ezJ8g+A/UU291pfQoKKW0N/XgsdD2JFIhQmxt
aWuiSXZndzbTN5tE46YbP/gYvpn33vdrhNYaxoQQWHp7bAeBcnxPwZcBvXlKeRmr
ICzsvZpabfPS6DCCPmcyady5OwK37tMl3FrrpP8o/Y0wnRzRWYGxF6v7emJyrIts
BI+PfuOT8zgCtnkpxEwyQ+W01kU+P3NNCztxfDp+EUi1Wfx2Um7336+r1q+zG1HM
+WzG8VEp7XK63j4+t/X7Z2v/fWvxUuhlSi1DyTm9MZNNgiQK6HezNtIih+FbFPIL
SbiLGejthSxClSP4Pt3iwgvIjQJ9zFEqzem1B0aozCHtIOQJfLk6xEYjTwEHGRJu
jzH2AasP8M6B7LCFsi7gj8c1Kb6FDhnzV1oQ06/XTb/wXGDoJjA60CTLKtDfaLqU
QBg4YuloPvEj6Y0nNjQz3Bs3v4Ii1abQ1xPu2L8gJ34kMfthPapC1S/JpgpFsSBw
rv1I+s3DR0iFQLkCHP4kkX0PMRa+qSBHyG7vNRpQndn3vxfhcSaufIpSrYiq6T8S
6F0Bh2Rxysts8qVYPKi0brf0yqDNNebj8H8CDADY8Dnuf722ngAAAABJRU5ErkJg
gg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_m.gif
Content-Type: image/gif; name=ico_m.gif
Content-Location: http://img.mail.ru/mail/ru/images/agent/ico_m.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAAQAOZlAP7mIP7lHPzsTVZIHP3BEP3XBP7hEP26Ov7OBv7YA/zqPvzp
Mf/Sjf3qN/3qNPy0KfOrH/3qM4xXH85mJ/7EDp5MIapiOvy1KeWnHf3HDKZHItdq
JsdfLf6+SsJsSf7MCP3uYN2TZ7JVJfy0FZdPJf7lHq9SI+6+FPCreK+AJf2/EZNR
Hf3qLv7aA/7UA9uXH8qDYP7nI/XBGv7MgahMI/7UBP7hLb5ZJtJmJ5hIIP3PBqhR
I/3OB4pDHP3uZbpYJv7iEP6/SptKIf3sV8dhJ5VAH7+EIapkQ9ixHr5lSsBcJ/7S
A7t1If3AEM1iJ86mIOShHf/jFIFIG/7jEv7kHP7bBeJ4LoROHP7nIf7EWv/dqIlG
HNtyLv26KJ1MIf3GDfzsR/7SBbFoIf3qL////////wAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAGUALAAAAAAQABAAAAeegGWCg4SFhoeIZShWGzhO
IYlcE0RKPyI0GoccNzsVXkI5PVtFhTAmRk8pElJXSCcrR4QWGC1YEQ0NETFVFCSE
YjxTCwoCAgoLUTpMhC9hAGQDPmPQAC5QhCNLz2Qg02QlNV2EDx82Y2NgQ+dACFmE
MyoFVCwODmMBCQRahQ9fBQYBAhhIkKHDoQtNZCTxgIBAkEQMDkCAcIBBoouCAgEA
Ow==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=_avatar.jpeg
Content-Type: image/jpeg; name=_avatar.jpeg
Content-Location: http://avt.foto.mail.ru/mail/v.linjov/_avatar
Content-Transfer-Encoding: Base64
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
ZIXLcfOE1mlFHGjLkqpPPJGs1o6SPCu9KPCv/9k=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_f.gif
Content-Type: image/gif; name=ico_f.gif
Content-Location: http://img.mail.ru/mail/ru/images/agent/ico_f.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAAQAPeDAP/+/f3qL/3qNvJjIvaVHu1WI/J0IfFtIvBgI/3GDfSKIP/7
+f7z7PFfIutLJPebHf3FSk+EQfF4IfN0P/WFT//9+vefHfSJIP7cBPN8If7nIf3u
YfJ8If7nI/nGJ/7o0/N3IfJ0IvW3oP7SA/FoIv/jtfatJ/3qM/3zkvadO+1RJO9i
I/7MB/esIP7mIP/16PR4P/3DSvi4JPWHIO1UJP7ykf/+/vODIP3XBPJhIveylPmy
UP7jtfqqNP3tWv/47/rBjvqxMfqwMe5hQ+tNJPzqP//69fzUHfaLH/JlIvSAIPN7
IfJnIvy5FPzsSO5YI/avlP3gZvWPH/zsTPvIqPaWPP3qMfR6P/SDIPOEIP3BTPew
I/GKZP7nyvSDUPJ9If3ZwvzbyvabY/amIv7kGO9cI/7lHP7hLfBkIv7ZAve7o/7u
4/q5l/7jEvmrgPJxIvrNLf/59PzqO/3Jfu9bI/BrIv3qLv3DD/aQH/SOUPfBL/ak
ZPzsSvOJIPmzW+k+JexdNe1iQ////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAIMALAAAAAAQABAAAAjeAAcJHEiwoMFBAF50MXJw
oI05PR4QSAEkzsEPOyTiuTAjyx4ABcFUISBFgckMHCTkWTNwgZgLfW58kdFhjAED
dSaAHMRGApYMW+AIEHAixAESZcIIhGEARAs7cvhMKaInCZonUAYxuPLmgB9Bgjag
AGsCQYEhg9wMOLAkiqAIG2q89UCnQCARFAYwsXAmQAAnPvweWVHAwZ8GAwY0wWEm
wFArGjBYoEEEEIUGOZAkSNPGhQYyGFgoUeGACwMvE6houZMAAYIRCSD80KEGJIAF
gyrwiCEkCIQSFRoKHxgQADs=
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=not-spam.js
Content-Type: application/x-javascript; name=not-spam.js
Content-Location: http://img3.imgsmail.ru/mail/ru/images/js/blogs/not-spam.js
Content-Transfer-Encoding: Base64
ZnVuY3Rpb24gZ2V0UG9zaXRpb24ob2Zmc2V0VHJhaWwsIGlUb3AsIGlMZWZ0KXsK
ICAgIHZhciBvZmZzZXRMZWZ0ID0gKHR5cGVvZihpTGVmdCkgIT0gJ3VuZGVmaW5l
ZCcgJiYgaUxlZnQgIT0gbnVsbCkgPyBpTGVmdCA6IDA7CiAgICB2YXIgb2Zmc2V0
VG9wID0gKHR5cGVvZihpVG9wKSAhPSAndW5kZWZpbmVkJyAmJiBpVG9wICE9IG51
bGwpID8gaVRvcCA6IC0xMTsKICAgIHdoaWxlIChvZmZzZXRUcmFpbCkgewogICAg
ICAgIG9mZnNldExlZnQgKz0gb2Zmc2V0VHJhaWwub2Zmc2V0TGVmdDsKICAgICAg
ICBvZmZzZXRUb3AgKz0gb2Zmc2V0VHJhaWwub2Zmc2V0VG9wOwogICAgICAgIG9m
ZnNldFRyYWlsID0gb2Zmc2V0VHJhaWwub2Zmc2V0UGFyZW50OwogICAgfQogICAg
cmV0dXJuIHsKICAgICAgICBsZWZ0OiBvZmZzZXRMZWZ0LAogICAgICAgIHRvcDog
b2Zmc2V0VG9wCiAgICB9Cn0KdmFyIENhcHRjaGEgPSAoZnVuY3Rpb24oKXsKICAg
IHZhciBfY2Zvcm0gPSBmdW5jdGlvbihpZCkgewoJCXJldHVybiAnPGRpdiBzdHls
ZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHA6Ly9teS5tYWlsLnJ1L2NnaS1i
aW4vbXkvZ2V0X2ltYWdlP2lkPScgKyBpZCArICcpOyIgY2xhc3M9ImNhcGNoYU5l
d0xlZnQiPjxpIGNsYXNzPSJtZl9zcEljbyIgb25jbGljaz0icmV0dXJuIENhcHRj
aGEuaGlkZSgpOyI+PC9pPsLg+OAg5+Dv6PH8IOH76+Ag8+Tg6+Xt4CDq4Oog8e/g
7C4gxfHr6CDi+yDx9+jy4OXy5Swg9/LuIP3y7iDv8O7o5+746+4g7vjo4e737e4s
IPHu7uH56PLlIO3g7C4gwuLl5Ojy5SD36PHr7iwg6Ofu4fDg5uXt7e7lIO3gIOrg
8PLo7erlOjxkaXYgY2xhc3M9Im10NSI+PGZvcm0gb25zdWJtaXQ9InJldHVybiBD
YXB0Y2hhLnN1Ym1pdCh0aGlzKTsiPjxpbnB1dCBuYW1lPSJjYXB0Y2hhX3ZhbHVl
IiB0eXBlPSJ0ZXh0IiBjbGFzcz0iY2FwY2hhTmV3SW5wIi8+PGlucHV0IHR5cGU9
InN1Ym1pdCIgdmFsdWU9Is7KIiBuYW1lPSJidG5fb2siLz48L2Rpdj48L2Rpdj4n
OwogICAgfTsKICAgIHJldHVybiB7CgkJc2hvdzogZnVuY3Rpb24gKGVsLCBoYW5k
bGVyLCB2YXJzKSB7CgkJCWlmKCF2YXJzKSB2YXJzID0ge307CgkJCWlmKHZhcnMu
bGVmdCA9PSB1bmRlZmluZWQgfHwgdmFycy50b3AgPT0gdW5kZWZpbmVkKSB7CgkJ
CQlwID0gZ2V0UG9zaXRpb24oZWwpOwoJCQkJdmFycy5sZWZ0ID0gcC5sZWZ0OwoJ
CQkJdmFycy50b3AgPSBwLnRvcDsKCQkJfQoJCQlpZih2YXJzLmxlZnRFeCkgdmFy
cy5sZWZ0ICs9IHZhcnMubGVmdEV4OwoJCQlpZih2YXJzLnRvcEV4KSB2YXJzLnRv
cCArPSB2YXJzLnRvcEV4OwogICAgICAgIAl2YXIgZCA9IG5ldyBFbGVtZW50KCdk
aXYnKTsKICAgICAgICAJJCgkKCdib29zdGVyQ2FudmFzJykgfHwgZG9jdW1lbnQu
Ym9keSkuYXBwZW5kQ2hpbGQoZCk7CiAgICAgICAgCWQuaW5uZXJIVE1MID0gX2Nm
b3JtKHZhcnMuSUQpOwogICAgICAgIAl0aGlzLmNhcHRjaGEgPSAkKGQuZmlyc3RD
aGlsZCk7CgkJCXRoaXMuY2FwdGNoYS5zdHlsZS5sZWZ0ID0gdmFycy5sZWZ0ICsg
InB4IjsKCQkJdGhpcy5jYXB0Y2hhLnN0eWxlLnRvcCA9IHZhcnMudG9wICsgInB4
IjsKCQkJdGhpcy5jYXB0Y2hhLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsK
CQkJaWYodmFycy5wb3NpdGlvbikgdGhpcy5jYXB0Y2hhLnN0eWxlLnBvc2l0aW9u
ID0gdmFycy5wb3NpdGlvbjsKCQkJdGhpcy5oYW5kbGVyID0gaGFuZGxlcjsKCQkJ
dGhpcy5lbCA9IGVsOwoJCQl0aGlzLklEID0gdmFycy5JRDsKCQkJdGhpcy5jYXB0
Y2hhLnNob3coKTsKCQkJdGhpcy5oaWRlX2NhbGxiYWNrID0gKHR5cGVvZiB2YXJz
LmNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSA/IHZhcnMuY2FsbGJhY2sgOiBmYWxz
ZTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0sCgkJc3VibWl0OiBmdW5jdGlvbihmb3Jt
KSB7CgkJCWlmKCFmb3JtLmNhcHRjaGFfdmFsdWUudmFsdWUpIHsKCQkJCWFsZXJ0
KCfC4uXk6PLlIPfo8evuLCDo5+7h8ODm5e3t7uUg7eAg6uDw8ujt6uUuJyk7CgkJ
CX0gZWxzZSB7CgkJCQkvLyQodGhpcy5jYXB0Y2hhLnBhcmVudE5vZGUpLnJlbW92
ZSgpOwoJCQkJdGhpcy5oYW5kbGVyKHRoaXMuSUQsIGZvcm0uY2FwdGNoYV92YWx1
ZS52YWx1ZSwgdGhpcy5lbCk7CgkJCX0KCQkJcmV0dXJuIGZhbHNlOwoJCX0sCgkJ
aGlkZTogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuY2FwdGNoYSkge3RoaXMuY2Fw
dGNoYS5oaWRlKCk7aWYgKHRoaXMuaGlkZV9jYWxsYmFjaykge3RoaXMuaGlkZV9j
YWxsYmFjaygpfX07CgkJCXJldHVybiBmYWxzZTsKCQl9CiAgICB9Owp9KSgpOwoK
Q29tbW9uID0ge307CkNvbW1vbi5DbGllbnRTZXJ2ZXIgPSB7CglnZXQ6IGZ1bmN0
aW9uKGZ1bmNfbmFtZSwgZGF0YSwgY2FsbGJhY2ssIHVybCkgewoJCXRoaXMuc2Vu
ZENvbW1hbmQoZnVuY19uYW1lLCBkYXRhLCBjYWxsYmFjaywgdXJsLCAnZ2V0Jyk7
Cgl9LAoJcG9zdDogZnVuY3Rpb24oZnVuY19uYW1lLCBkYXRhLCBjYWxsYmFjaywg
dXJsKSB7CgkJdGhpcy5zZW5kQ29tbWFuZChmdW5jX25hbWUsIGRhdGEsIGNhbGxi
YWNrLCB1cmwsICdwb3N0Jyk7Cgl9LAoJc2VuZENvbW1hbmQ6IGZ1bmN0aW9uKGZ1
bmNfbmFtZSwgZGF0YSwgY2FsbGJhY2ssIHVybCwgbWV0aG9kKSB7CgkJdXJsID0g
dXJsIHx8ICcvbXkvYWpheCc7CgkJdmFyIHN1Y2Nlc3MgPSBmYWxzZSwgZXJyb3Ig
PSBmYWxzZTsKCQlpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7
CgkJCWNhbGxiYWNrID0gewoJCQkJc3VjY2VzczogY2FsbGJhY2sKCQkJfQoJCX0g
ZWxzZSBpZiAoIWNhbGxiYWNrKSB7CgkJCWNhbGxiYWNrID0ge307CgkJfQoJCW5l
dyBBamF4LlJlcXVlc3QodXJsLCB7CgkJCW1ldGhvZDogbWV0aG9kLAoJCQlwYXJh
bWV0ZXJzOiB7CgkJCQlhamF4X2NhbGw6IDEsCgkJCQlmdW5jX25hbWU6IGZ1bmNf
bmFtZSwKCQkJCWRhdGE6IGRhdGEudG9KU09OKCkKCQkJfSwKCQkJb25TdWNjZXNz
OiBjYWxsYmFjay5zdWNjZXNzID8gZnVuY3Rpb24ocmVzcG9uc2UpewoJCQkJdmFy
IGRhdGEgPSByZXNwb25zZS5yZXNwb25zZVRleHQuZXZhbEpTT04odHJ1ZSk7CgkJ
CQlpZiAoZGF0YVsxXSA9PT0gJ09LJykgewoJCQkJCWRhdGEuc3BsaWNlKDAsIDIp
OwoJCQkJCWNhbGxiYWNrLnN1Y2Nlc3MoZGF0YSwgcmVzcG9uc2UpOwoJCQkJfSBl
bHNlIGlmIChjYWxsYmFjay5lcnJvcikgewoJCQkJCWNhbGxiYWNrLmVycm9yKCk7
IAoJCQkJfQoJCQl9IDogbnVsbCwKCQkJb25FcnJvcjogY2FsbGJhY2suZXJyb3Ig
PyBjYWxsYmFjay5lcnJvciA6IG51bGwKCQl9KTsKCX0KfTsKZnVuY3Rpb24gbm90
U3BhbShwb3N0X2lkLCBjYXB0Y2hhX2lkLCBjYXB0Y2hhX3VzZXJfdmFsdWUpIHsK
CUNhcHRjaGEuaGlkZSgpOwoJQ29tbW9uLkNsaWVudFNlcnZlci5wb3N0KCdtcmFz
Lm5vdF9zcGFtJywKCQlbQWN0aXZlRW1haWwsICQod2luZG93LmNhcHRjaGFFbCku
aGFzQ2xhc3NOYW1lKCdtaWNybycpID8gNyA6IDMsIHBvc3RfaWQsICcnLCBjYXB0
Y2hhX2lkLCBjYXB0Y2hhX3VzZXJfdmFsdWVdLAoJCWZ1bmN0aW9uKGRhdGEsIHJl
c3BvbnNlKSB7CgkJCXZhciBzdGF0dXMgPSBkYXRhWzBdOwoJCQl2YXIgZWwgPSAk
KHdpbmRvdy5jYXB0Y2hhRWwpLAoJCQkJcCA9IGdldFBvc2l0aW9uKGVsKTsKCQkJ
aWYgKHN0YXR1cyA9PT0gJ2NhcHRjaGEnKSB7CgkJCQlDYXB0Y2hhLnNob3coZWws
IGZ1bmN0aW9uKGlkLCB2YWx1ZSkgewoJCQkJICAgIG5vdFNwYW0ocG9zdF9pZCwg
aWQsIHZhbHVlKTsKCQkJCX0uYmluZCh0aGlzKSwgeyJJRCI6IGRhdGFbMV0sICJ0
b3AiOiBwLnRvcCArIDMwLCAibGVmdCI6IHAubGVmdH0pOwoJCQkJcmV0dXJuOwoJ
CQl9IGVsc2UgewoJCQkJdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwoJCQkJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwoJCQkJ
ZGl2LmlubmVySFRNTCA9ICfC4Pgg5+Dv8O7xIO/w6O3/8iwg8e/g8ejh7i4nOwoJ
CQkJZGl2LnN0eWxlLmNzc1RleHQgPSAnYmFja2dyb3VuZDogI2ZmZjsgcG9zaXRp
b246IGFic29sdXRlOyBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDOyBjb2xvcjog
Izk5OTk5OSAhaW1wb3J0YW50OyBmb250LXNpemU6IDExcHg7IHRvcDogJyArIHAu
dG9wICsgJ3B4OyBsZWZ0OiAnICsgcC5sZWZ0ICsgJ3B4OyBwYWRkaW5nOiA1cHg7
IGZvbnQtZmFtaWx5OiBUYWhvbWE7JzsKCQkJCWRpdiA9ICQoZGl2KTsKCQkJCWRp
di5vYnNlcnZlKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKCQkJCQllLmZpbmRFbGVt
ZW50KCdkaXYnKS5yZW1vdmUoKTsKCQkJCX0pOwoJCQkJc2V0VGltZW91dChmdW5j
dGlvbihlbCkgewoJCQkJCXJldHVybiBmdW5jdGlvbigpIHsKCQkJCQkJZGl2LnJl
bW92ZSgpOwoJCQkJCX07CgkJCQl9KGRpdiksIDQwMDApOwoJCQkJJChlbCkucmVt
b3ZlKCk7CgkJCX0KCQl9LmJpbmQodGhpcyksCgkJJy9jZ2ktYmluL215L2FqYXgn
CgkpOwp9Cg==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=ico_comments.png
Content-Type: image/png; name=ico_comments.png
Content-Location: http://img.mail.ru/r/blogs/ico_comments.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAILSURBVHja
Yvz//z8DJYARmSPQ+0f+/79/Bf///nFg+PfHAEgzMPz9zQCi///9fYHhz58DXzqV
CzEMEOj7x8/w//8EPrZ/CRGaDAzuyowMpjJMDL//MUAw0JFH7/9g2HPtE8Omc+8Y
Pn/9ueDbRINEsAFQzQcitRgMWh0YGbhYGRl+Ab2FrPkXmP0fzH737S9D/9YnDDvO
vLzwfbqFIQtQcwNI8xR3iI34NIPE2NmYGYoD5Bn+/P5lwJ5yoJ/p/7+/CSCbidH8
CyoOEkv0VGAAmpLABAwgAULORtcM4rOxsYACV4AJGMoP7n34S5JmEP/Zu28MwJh6
AHLBgvxNn0nSDOJPXXGR4f+/PwvA0chT+3S+hghjQn+wMIMoHwtBm0Gar91+veDP
yqBEeELiLr+bD0wsDfaqHAL6shwMiuIcDMJ8bAxC/GxwzZsOP2BYsPHaB6DNDX9W
BE3ESIlchVf4gZIB4JT457eBs76gQV6gCtwlDdNPMFy789rhz4rAgzA9TMgGfOvX
+fh9osHCH1NMEoEGOew+/ezDraef4V6SEedm+P/nVwCyHiZcmeTnLNuPwFB2KOo/
/mHlzlsMH7/9YnC0VmTgYmNMYPJbKI81M2EDrFGb5EFhw8nKmKCqKMjw5vVHhseP
31xgAHrz/46Mj4zEZlvmwKXyoLABGmYA1AzKqQ8YduckAgQYAIWJkzMhZ+aSAAAA
AElFTkSuQmCC
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=d227015.gif
Content-Type: image/gif; name=d227015.gif
Content-Location: http://rs.mail.ru/d227015.gif?rnd=370410217&ts=1279519437
Content-Transfer-Encoding: Base64
R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAICTAEAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=d292152.gif
Content-Type: image/gif; name=d292152.gif
Content-Location: http://rs.mail.ru/d292152.gif?rnd=167530242&ts=1279519437
Content-Transfer-Encoding: Base64
R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAICTAEAOw==
------------iAFZvHdFZAFgV7ziFcVhyI
Content-Disposition: inline; filename=mrim-status2.js
Content-Type: application/x-javascript; charset=windows-1251; name=mrim-status2.js
Content-Location: http://img3.imgsmail.ru/mail/ru/images/js/myjs/mrim-status2.js
Content-Transfer-Encoding: Base64
dmFyIE1SSU0gPSAoZnVuY3Rpb24oKXsKCXZhciBfdXJsID0gJ2h0dHA6Ly9zdGF0
dXMubWFpbC5ydS9iYXRjaC5qcz8nOwoJcmV0dXJuIHsKCQlmZXRjaDogZnVuY3Rp
b24oYyl7CgkJICAgIHZhciBsaW5rcyA9IChjLnRhZ05hbWUgPyBjIDogZG9jdW1l
bnQuYm9keSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2knKTsKCQkgICAgdmFyIG1y
aW0gPSB7J2VsJzpbXSwnZW0nOltdLCd0JzpbXX0sIG1haWwgPSBudWxsOwoJCSAg
ICBmb3IodmFyIGkgPSAwO2kgPCBsaW5rcy5sZW5ndGg7aSsrKSB7CgkJCQltYWls
ID0gJChsaW5rc1tpXSkucmVhZEF0dHJpYnV0ZSgnZW1haWwnKTsKCQkJCWlmKCFt
YWlsKSBjb250aW51ZTsKCQkJCW1yaW0uZWwucHVzaChsaW5rc1tpXSk7CgkJCQlt
cmltLmVtLnB1c2gobWFpbCk7CgkJCQltcmltLnQucHVzaChsaW5rc1tpXS5jbGFz
c05hbWUubWF0Y2goJ3Nwci1tcmltLTEzJykgPyAnMTMnIDogJzknKTsKCQkgICAg
fQoJCQlsaW5rcyA9IChjLnRhZ05hbWUgPyBjIDogZG9jdW1lbnQuYm9keSkuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ2EnKTsKCQkgICAgZm9yKHZhciBpID0gMDtpIDwg
bGlua3MubGVuZ3RoO2krKykgewoJCQkJbWFpbCA9ICQobGlua3NbaV0pLnJlYWRB
dHRyaWJ1dGUoJ2VtYWlsJyk7CgkJCQlpZighbWFpbCkgY29udGludWU7CgkJCQlt
cmltLmVsLnB1c2gobGlua3NbaV0pOwoJCQkJbXJpbS5lbS5wdXNoKG1haWwpOwoJ
CQkJbXJpbS50LnB1c2gobGlua3NbaV0uY2xhc3NOYW1lLm1hdGNoKCdzcHItbXJp
bS0xMycpID8gJzEzJyA6ICc5Jyk7CgkJICAgIH0KCQkJdGhpcy5nZXQobXJpbSk7
CgkJfSwKCQlnZXQ6IGZ1bmN0aW9uKGxpbmtzKSB7CgkJCXRoaXMubGlua3MgPSBs
aW5rczsKCQkJdmFyIHNjID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSk7CgkJCXNjLnNyYyA9IF91cmwg
KyBsaW5rcy5lbS5qb2luKCcsJykgKyAnJicgKyBNYXRoLmZsb29yKE1hdGgucmFu
ZG9tKCkgKiAxMDAwMCk7CgkJCXJldHVybjsKCQl9LAoJCXVwZGF0ZTogZnVuY3Rp
b24oYykgewoJCQlpZighYykgcmV0dXJuO2lmKCFjLmxlbmd0aCkgcmV0dXJuOwoJ
CQljID0gYy5zcGxpdCgnJyk7CgkJCXZhciBlbHMgPSB0aGlzLmxpbmtzLmVsOwoJ
CQlmb3IodmFyIGkgPSAwOyBpIDwgZWxzLmxlbmd0aDsgaSsrKSAKCQkJCWVsc1tp
XS5jbGFzc05hbWUgKz0gJyBtcmltLScrKGNbaV0gPT0gMD8nb2ZmbGluZSc6Y1tp
XSA9PSAxPydvbmxpbmUnOmNbaV0gPT0gMj8nYXdheSc6J29mZmxpbmUnKSArICdf
JyArIHRoaXMubGlua3MudFtpXTsKCQl9Cgl9Owp9KSgpOwokKGRvY3VtZW50KS5v
YnNlcnZlKCdkb206bG9hZGVkJywgTVJJTS5mZXRjaC5iaW5kQXNFdmVudExpc3Rl
bmVyKE1SSU0pKTsK
------------iAFZvHdFZAFgV7ziFcVhyI--