# zem_contact_reborn v4.0.3.17
# Form mailer for Textpattern
# TXP Community
# http://forum.textpattern.com/viewtopic.php?id=12956

# ......................................................................
# This is a plugin for Textpattern - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# ......................................................................

YTo5OntzOjc6InZlcnNpb24iO3M6ODoiNC4wLjMuMTciO3M6NjoiYXV0aG9yIjtzOjEzOiJU
WFAgQ29tbXVuaXR5IjtzOjEwOiJhdXRob3JfdXJpIjtzOjUxOiJodHRwOi8vZm9ydW0udGV4
dHBhdHRlcm4uY29tL3ZpZXd0b3BpYy5waHA/aWQ9MTI5NTYiO3M6MTE6ImRlc2NyaXB0aW9u
IjtzOjI3OiJGb3JtIG1haWxlciBmb3IgVGV4dHBhdHRlcm4iO3M6NDoidHlwZSI7aTowO3M6
NDoibmFtZSI7czoxODoiemVtX2NvbnRhY3RfcmVib3JuIjtzOjQ6ImhlbHAiO3M6MjI0MTM6
Igo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDpib2xkO2ZvbnQt
c2l6ZToyNHB4O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij5aZW0gQ29udGFjdCBSZWJv
cm48L2Rpdj4KCTxwPkluaXRpYWxseSBiYXNlZCB1cG9uIHplbV9jb250YWN0IDAuNiBmcm9t
IHplbS4gQ29kZSBjb21wbGV0ZWx5IHJldmlzZWQgYnkgTWFyeS4gVHVybmVkIGludG8gYSBw
bHVnLWluIHdpdGggdGhlIGFkZGl0aW9uIG9mIHJldmlzZWQgSGVscCB0ZXh0IGJ5IFN0dWFy
dC4gQWRkaXRpb25hbCBjb2RlIGZyb20gU3R1YXJ0LCBUcmFucXVpbGxvLCBhc2xzdzY2LCBq
ZHlrYXN0IGFuZCB3ZXQuIE1haW50YWluZWQgYnkgU3R1YXJ0IGFuZCB0ZXN0ZWQgdG8gZGVz
dHJ1Y3Rpb24gYnkgdGhlIFRleHRwYXR0ZXJuIGNvbW11bml0eS4gSWYgeW91IGhhdmUgYW55
IHByb2JsZW1zIHVzaW5nIHRoaXMgcGx1Zy1pbiBvciBzZWUgYW55IGJ1Z3MgYXJvdW5kIHBs
ZWFzZSBnbyB0byB0aGUgPHN0cm9uZz48YSBocmVmPSJodHRwOi8vZm9ydW0udGV4dHBhdHRl
cm4uY29tL3ZpZXd0b3BpYy5waHA/aWQ9MTM0MTYiPmZvcnVtIHRocmVhZDwvYT48L3N0cm9u
Zz4gYW5kIHRlbGwgdXMgYWJvdXQgaXQuIElmIHlvdSBkb24mIzgyMTc7dCwgd2Ugd29uJiM4
MjE3O3Qga25vdy48L3A+Cgk8cD48c3Ryb25nPlBsZWFzZSBub3RlIHRoYXQgdGhpcyBwbHVn
LWluIG5vdyB1c2VzIGEgc2VwYXJhdGUgbGFuZ3VhZ2UgcGx1Zy1pbiAmIzgyMTE7IDxjb2Rl
PnplbV9jb250YWN0X2xhbmc8L2NvZGU+ICYjODIxMTsgYW5kIGJvdGggcGx1Zy1pbnMgYXJl
IHJlcXVpcmVkIHRvIGJlIGluc3RhbGxlZCBhbmQgYWN0aXZhdGVkIHRvIHdvcmsgcHJvcGVy
bHkuPC9zdHJvbmc+PC9wPgoJPHA+PHN0cm9uZz5UbyB0YWtlIGFkdmFudGFnZSBvZiB0aGUg
bmV3IEFQSSB0aGF0IGhhcyBiZWVuIGFkZGVkIHRvIFplbSBDb250YWN0IFJlYm9ybiB5b3Ug
bmVlZCB0byBoYXZlIGEgM3JkLXBhcnR5IHBsdWctaW4gdGhhdCBoYXMgYmVlbiBkZXNpZ25l
ZCB0byAmIzgyMjA7Y29ubmVjdCYjODIyMTsgdG8gWmVtIENvbnRhY3QgUmVib3JuLjwvc3Ry
b25nPjwvcD4KCTxwPjxzdHJvbmc+Rm9yIHRob3NlIG9mIHlvdSByZXF1aXJpbmcgc3BhbSBw
cmV2ZW50aW9uIGp1c3Qgc3VjaCBhIHBsdWctaW4gZXhpc3RzLCBUcmFucXVpbGxvJiM4MjE3
O3MgPGNvZGU+cGFwX2NvbnRhY3RfY2xlYW5lcjwvY29kZT4uPC9zdHJvbmc+PC9wPgoJPHA+
PHN0cm9uZz5Gb3IgcGx1Zy1pbiBkZXZlbG9wZXJzIHdobyB3b3VsZCBsaWtlIHRvIGtub3cg
bW9yZSBhYm91dCB0aGlzIHBsdWctaW4mIzgyMTc7cyBBUEkgcGxlYXNlIHNlZSA8YSBocmVm
PSIjYXBpIj4mIzgyMjA7WmVtIENvbnRhY3QgUmVib3JuJiM4MjE3O3MgQVBJJiM4MjIxOzwv
YT4gYmVsb3cuPC9zdHJvbmc+PC9wPgoJPHA+PGEgaHJlZj0iI2NvbnRhY3QiPjxzdHJvbmc+
ICYjNjA7dHhwOnplbSYjOTU7Y29udGFjdCYjNjI7IDwvc3Ryb25nPjwvYT4gcHJvZHVjZXMg
YSBmbGV4aWJsZSwgY3VzdG9taXNhYmxlIGVtYWlsIGNvbnRhY3QgZm9ybS4gSXQgaXMgaW50
ZW5kZWQgZm9yIHVzZSBhcyBhbiBlbnF1aXJ5IGZvcm0gZm9yIGNvbW1lcmNpYWwgYW5kIHBy
aXZhdGUgc2l0ZXMsIGFuZCBpbmNsdWRlcyBzZXZlcmFsIGZlYXR1cmVzIHRvIGhlbHAgcmVk
dWNlIGNvbW1vbiBwcm9ibGVtcyB3aXRoIHN1Y2ggZm9ybXMgKGludmFsaWQgZW1haWwgYWRk
cmVzc2VzLCBtaXNzaW5nIGluZm9ybWF0aW9uKS48L3A+Cgk8cD48YSBocmVmPSIjYXJ0aWNs
ZSI+PHN0cm9uZz4gJiM2MDt0eHA6emVtJiM5NTtjb250YWN0JiM5NTtzZW5kJiM5NTthcnRp
Y2xlJiM2MjsgPC9zdHJvbmc+PC9hPiBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYSAmIzgyMjA7
c2VuZCBhcnRpY2xlJiM4MjIxOyBsaW5rIHdpdGhpbiBhbiBhcnRpY2xlIGZvcm0sIGNvbm5l
Y3RpbmcgaXQgdG8gdGhlIGNvbnRhY3QgZm9ybS48L3A+Cgk8cCBzdHlsZT0idGV4dC1hbGln
bjpjZW50ZXI7Ij48c3Ryb25nPjxlbT5GZWF0dXJlczwvZW0+PC9zdHJvbmc+PC9wPgoJPHVs
PgoJCTxsaT5BcmJpdHJhcnkgdGV4dCBmaWVsZHMgY2FuIGJlIHNwZWNpZmllZCwgd2l0aCBt
aW4vbWF4L3JlcXVpcmVkIHNldHRpbmdzIGZvciB2YWxpZGF0aW9uLjwvbGk+CgkJPGxpPkVt
YWlsIGFkZHJlc3MgdmFsaWRhdGlvbiwgaW5jbHVkaW5nIGEgY2hlY2sgZm9yIGEgdmFsaWQg
TVggcmVjb3JkIChVbml4IG9ubHkpLjwvbGk+CgkJPGxpPlNhZmUgZXNjYXBpbmcgb2YgaW5w
dXQgZGF0YS48L2xpPgoJCTxsaT5BY2Nlc3NpYmxlIGZvcm0gbGF5b3V0LCBpbmNsdWRpbmcg
PGNvZGU+Jmx0O2xhYmVsJmd0OzwvY29kZT4sIDxjb2RlPiZsdDtsZWdlbmQmZ3Q7PC9jb2Rl
PiBhbmQgPGNvZGU+Jmx0O2ZpZWxkc2V0Jmd0OzwvY29kZT4gdGFncy48L2xpPgoJCTxsaT5B
bGwgbGFiZWxzLCBpbnB1dHMgYW5kIHRoZSB0ZXh0YXJlYSBoYXZlIHRoZWlyIG93biAmIzgy
MjA7aWQmIzgyMjE7IGFuZCAmIzgyMjA7Y2xhc3MmIzgyMjE7LjwvbGk+CgkJPGxpPlNwZWNp
YWwgY2xhc3NlcyBmb3IgbGFiZWxzLCBpbnB1dHMgYW5kIHRoZSB0ZXh0YXJlYSBmb3Igd2hl
biA8Y29kZT5lcnJvcjwvY29kZT4gbWVzc2FnZXMgYXJlIG91dHB1dC48L2xpPgoJCTxsaT5T
cGVjaWFsIGNsYXNzZXMgZm9yIGxhYmVscywgaW5wdXRzIGFuZCB0aGUgdGV4dGFyZWEgaWYg
dGhlIGF0dHJpYnV0ZSA8Y29kZT5yZXF1aXJlZD0ieWVzIjwvY29kZT4gaXMgdXNlZC48L2xp
PgoJCTxsaT5BIHNwZWNpYWwgY2xhc3MgZm9yIHRoZSBlcnJvciBtZXNzYWdlcyB0aGVtc2Vs
dmVzLjwvbGk+CgkJPGxpPkEgc2VwYXJhdGUgbGFuZ3VhZ2UgcGx1Zy1pbiB0byBlbmFibGUg
ZWFzeSA8ZW0+bG9jYWxpc2F0aW9uPC9lbT4uPC9saT4KCQk8bGk+U3BhbSBwcmV2ZW50aW9u
LjwvbGk+Cgk8L3VsPgoJPHA+Rm9yIGEgYnJpZWYgZXhwbGFuYXRpb24gb24gdGhlIHNwZWNp
YWwgY2xhc3NlcyBzZWUgPHN0cm9uZz48YSBocmVmPSIjc3R5bGluZyI+U3R5bGluZzwvYT48
L3N0cm9uZz4gYmVsb3cuPC9wPgoJPHAgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+PHN0
cm9uZz48ZW0+RXhhbXBsZXM8L2VtPjwvc3Ryb25nPjwvcD4KCTxwPlRoZSBzaW1wbGVzdCBm
b3JtIGlzIHRoaXM6LTwvcD4KCTxwPiYjNjA7dHhwOnplbSYjOTU7Y29udGFjdCB0byYjNjE7
JiMzNDtkZXN0QGV4YW1wbGUuY29tJiMzNDsgLyYjNjI7IHdoaWNoIHByb2R1Y2VzIGEgZGVm
YXVsdCBmb3JtIHdpdGggTmFtZSwgRW1haWwgYW5kIE1lc3NhZ2UgZmllbGRzLiBFbWFpbCB3
aWxsIGJlIGRlbGl2ZXJlZCB0byBkZXN0QGV4YW1wbGUuY29tLCB3aXRoIHRoZSB1c2VyJiM4
MjE3O3Mgc3VwcGxpZWQgZW1haWwgYXMgdGhlICYjODIyMDtGcm9tOiYjODIyMTsgYWRkcmVz
cy48L3A+Cgk8cD5UbyBzcGVjaWZ5IGZpZWxkcyBleHBsaWNpdGx5LCB1c2Ugc29tZXRoaW5n
IGxpa2UgdGhpczotPC9wPgoJPHA+JiM2MDt0eHA6emVtJiM5NTtjb250YWN0IHRvJiM2MTsm
IzM0O2Rlc3RAZXhhbXBsZS5jb20mIzM0OyYjNjI7PGJyIC8+CiYjNjA7dHhwOnplbSYjOTU7
Y29udGFjdCYjOTU7ZW1haWwgLyYjNjI7PGJyIC8+CiYjNjA7dHhwOnplbSYjOTU7Y29udGFj
dCYjOTU7dGV4dCBsYWJlbCYjNjE7JiMzNDtQaG9uZSYjMzQ7IG1pbiYjNjE7NyAvJiM2Mjs8
YnIgLz4KJiM2MDt0eHA6emVtJiM5NTtjb250YWN0JiM5NTt0ZXh0YXJlYSBsYWJlbCYjNjE7
JiMzNDtFbnF1aXJ5JiMzNDsgLyYjNjI7PGJyIC8+CiYjNjA7dHhwOnplbSYjOTU7Y29udGFj
dCYjOTU7c3VibWl0IGxhYmVsJiM2MTsmIzM0O0VucXVpcmUmIzM0OyAvJiM2Mjs8YnIgLz4K
JiM2MDsvdHhwOnplbSYjOTU7Y29udGFjdCYjNjI7PC9wPgoJPHA+QWx0ZXJuYXRpdmVseSwg
cGxhY2UgdGhlIGZpZWxkIHNwZWNpZmljYXRpb25zIGluIGEgVGV4dHBhdHRlcm4gZm9ybSwg
YW5kIGNhbGwgaXQgbGlrZSB0aGlzOjwvcD4KCTxwPiYjNjA7dHhwOnplbSYjOTU7Y29udGFj
dCB0byYjNjE7JiMzNDtkZXN0QGV4YW1wbGUuY29tJiMzNDsgZm9ybSYjNjE7JiMzNDtteWNv
bnRhY3Rmb3JtJiMzNDsgLyYjNjI7PC9wPgoJPHA+b3IgaW5jbHVkZSB0aGUgYWJvdmUgdGFn
IGluIHlvdXIgZm9ybSBhcyB3ZWxsIGFuZCBjYWxsIGl0IHdpdGggdGhlICYjNjA7dHhwOm91
dHB1dCYjOTU7Zm9ybSYjNjI7IHRhZy48L3A+CiA8aHIgLz4KCTxwIHN0eWxlPSJ0ZXh0LWFs
aWduOmNlbnRlcjsiPjxzdHJvbmc+PGVtPkluZGl2aWR1YWwgVGFnczwvZW0+PC9zdHJvbmc+
PC9wPgogPHAgaWQ9ImNvbnRhY3QiPjxzdHJvbmc+ICYjNjA7dHhwOnplbSYjOTU7Y29udGFj
dCAvJiM2MjsgPC9zdHJvbmc+PC9wPgoJPHA+TWF5IGJlIHVzZWQgYXMgYSBzZWxmLWNsb3Np
bmcgb3IgY29udGFpbmVyIHRhZy4gUGxhY2UgdGhpcyB3aGVyZSB5b3Ugd2FudCB0aGUgaW5w
dXQgZm9ybSB0byBnby4gU3RhdHVzIGFuZCBlcnJvciBtZXNzYWdlcywgaWYgYW55LCB3aWxs
IGJlIGRpc3BsYXllZCBiZWZvcmUgdGhlIGZvcm0uPC9wPgoJPHA+QXR0cmlidXRlczotPC9w
PgoJPHVsPgoJCTxsaT48c3Ryb25nPmNvcHlzZW5kZXI8L3N0cm9uZz4gJiM4MjExOyBVc2lu
ZyA8Y29kZT5jb3B5c2VuZGVyPSJ5ZXMiPC9jb2RlPiB3aWxsIHNlbmQgYSBjb3B5IG9mIHRo
ZSBlbWFpbCB0byB0aGUgc2VuZGVyJiM4MjE3O3MgYWRkcmVzcyBhcyB3ZWxsIGFzIHRoZSAm
IzgyMjA7dG8mIzgyMjE7IGFkZHJlc3MgdGhhdCB5b3UgaGF2ZSBzZXQgaW4gdGhlIHRhZyBv
ciAmIzgyMjA7dG9fZm9ybSYjODIyMTsuIEluIG9yZGVyIHRvIG5vdCBzaG93IHRoZSB5b3Vy
ICYjODIyMDt0byYjODIyMTsgYWRkcmVzcyBvbiB0aGUgc2VuZGVyJiM4MjE3O3MgY29weSBp
dCBpcyB0cmFuc2ZlcnJlZCB0byB0aGUgJiM4MjIwO0JjYyYjODIyMTsgZmllbGQgYW5kIHRo
ZSBzZW5kZXImIzgyMTc7cyBhZGRyZXNzIGJlY29tZXMgdGhlICYjODIyMDt0byYjODIyMTsg
YWRkcmVzcy4gVGhpcyBtZWFucyB0aGF0IGFzIGJvdGggY29waWVzIGFyZSBpZGVudGljYWwg
eW91ciAmIzgyMjA7dG8mIzgyMjE7IGFkZHJlc3Mgd2lsbCBub3QgYmUgc2hvd24gb24geW91
ciBjb3B5IGVpdGhlci4gRGVmYXVsdCBpcyAmIzgyMjA7bm8mIzgyMjE7LiBPcHRpb25hbC48
L2xpPgoJCTxsaT48c3Ryb25nPmZvcm08L3N0cm9uZz4gJiM4MjExOyBUaGUgbmFtZSBvZiB5
b3VyIGZvcm0gdGVtcGxhdGUgY29udGFpbmluZyB0aGUgZmllbGQgbGF5b3V0LiBPcHRpb25h
bC48L2xpPgoJCTxsaT48c3Ryb25nPmZyb208L3N0cm9uZz4gJiM4MjExOyB1c2VzIHRoZSBh
ZGRyZXNzIHNwZWNpZmllZCBpbiB0aGlzIGF0dHJpYnV0ZSBpbiB0aGUgJiM4MjIwO0Zyb206
JiM4MjIxOyBmaWVsZCB3aGVuIHNlbmRpbmcgZW1haWwuIElmIG5vIDxjb2RlPmZyb208L2Nv
ZGU+IGF0dHJpYnV0ZSBpcyBzcGVjaWZpZWQsIHRoZSBzZW5kZXImIzgyMTc7cyBlbWFpbCBh
ZGRyZXNzIHdpbGwgYmUgdXNlZCBmb3IgdGhlICYjODIyMDtGcm9tOiYjODIyMTsgZmllbGQu
IFdoZW4gPGNvZGU+ZnJvbTwvY29kZT4gYXR0cmlidXRlIGlzIHNwZWNpZmllZCwgdGhlIHNl
bmRlciYjODIxNztzIGVtYWlsIGFkZHJlc3Mgd2lsbCBiZSBwbGFjZWQgaW4gdGhlICYjODIy
MDtSZXBseS1UbzomIzgyMjE7IGZpZWxkIGluc3RlYWQuIE9wdGlvbmFsLjwvbGk+CgkJPGxp
PjxzdHJvbmc+ZnJvbV9mb3JtPC9zdHJvbmc+ICYjODIxMTsgVGhlIG5hbWUgb2YgeW91ciBm
b3JtIHRlbXBsYXRlIGNvbnRhaW5pbmcgJiM4MjIwO3NlbnQgZnJvbSYjODIyMTsgYWRkcmVz
cy4gT3B0aW9uYWwuPC9saT4KCQk8bGk+PHN0cm9uZz5sYWJlbDwvc3Ryb25nPiAmIzgyMTE7
IENhbiBiZSB1c2VkIHRvIGdpdmUgdGhlIGZpZWxkc2V0IGEgbGFiZWwgYW5kIGlzIGFsc28g
dXNlZCBieSB0aGUgPGNvZGU+Jmx0O2xlZ2VuZCZndDs8L2NvZGU+IHRhZy4gRGVmYXVsdCBp
cyAmIzgyMjA7Q29udGFjdCYjODIyMTsuIFNldHRpbmcgdGhpcyB0byA8Y29kZT5sYWJlbD0i
IjwvY29kZT4gaXMgb25lIHdheSBvZiBzdG9wcGluZyB0aGUgPGNvZGU+Jmx0O2xlZ2VuZCZn
dDs8L2NvZGU+IHRhZyBkaXNwbGF5aW5nIGFueXRoaW5nLiBPcHRpb25hbC48L2xpPgoJCTxs
aT48c3Ryb25nPnJlZGlyZWN0PC9zdHJvbmc+ICYjODIxMTsgVGhpcyBjYW4gYmUgdXNlZCB0
byByZXBsYWNlIHRoYW5rcyhhIGJ1aWx0LWluIGRlZmF1bHQpIG9yIHRoYW5rc19mb3JtIChv
cHRpb25hbCBhdHRyaWJ1dGUpIGFuZCB3aWxsIHNlbmQgYSAzMDIgKCYjODIyMDtzZWUgYWxz
byYjODIyMTspIGhlYWRlciwgYXMgb3Bwb3NlZCB0byBhIDMwMSAoJiM4MjIwO21vdmVkIHBl
cm1hbmVudGx5JiM4MjIxOykuIFRoZSByZWRpcmVjdCBhdHRyaWJ1dGUgdXNlcyB5b3VyIFRl
eHRwYXR0ZXJuIHNpdGUgdXJsIChsaWtlIHRoZSB0YWcgJiM2MDt0eHA6c2l0ZSYjOTU7dXJs
IC8mIzYyOykgYXMgaXQmIzgyMTc7cyBiYXNlLiBFeGFtcGxlOiByZWRpcmVjdD0mIzgyMjE7
bW9ua2V5JiM4MjIxOyB3b3VsZCBzZW5kIHlvdSB0byBodHRwOi8veW91ci1kb21haW4uY29t
L21vbmtleS4gT3B0aW9uYWwuPC9saT4KCQk8bGk+PHN0cm9uZz5zZW5kX2FydGljbGU8L3N0
cm9uZz4gJiM4MjExOyBVc2luZyA8Y29kZT5zZW5kX2FydGljbGU9InllcyI8L2NvZGU+IGVu
YWJsZXMgZXh0cmEgZnVuY3Rpb25zIGZvciB1c2Ugd2l0aCA8YSBocmVmPSIjYXJ0aWNsZSI+
PHN0cm9uZz4gJiM2MDt0eHA6emVtJiM5NTtjb250YWN0JiM5NTtzZW5kJiM5NTthcnRpY2xl
JiM2MjsgPC9zdHJvbmc+PC9hPiAoc2VlIGJlbG93KS4gRGVmYXVsdCBpcyAmIzgyMjA7bm8m
IzgyMjE7LiBPcHRpb25hbC48L2xpPgoJCTxsaT48c3Ryb25nPnN1YmplY3Q8L3N0cm9uZz4g
JiM4MjExOyBDYW4gYmUgdXNlZCB3aGVuIHlvdSB1c2UgdGhlIGZvcm0gaW4gYSBzcGVjaWZp
YyBhcmVhIG9mIGEgc2l0ZSB0aGF0IHJlbGF0ZXMgdG8gYSBzcGVjaWZpYyBzdWJqZWN0LiBU
aGUgc2l0ZSBuYW1lIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQuIE9wdGlvbmFsLjwvbGk+CgkJ
PGxpPjxzdHJvbmc+dGhhbmtzX2Zvcm08L3N0cm9uZz4gJiM4MjExOyBUaGUgbmFtZSBvZiB5
b3VyIGZvcm0gdGVtcGxhdGUgY29udGFpbmluZyBhIHRoYW5rIHlvdSBtZXNzYWdlLiBPcHRp
b25hbC48L2xpPgoJCTxsaT48c3Ryb25nPnRvPC9zdHJvbmc+ICYjODIxMTsgZGVzdGluYXRp
b24gYWRkcmVzcy4gPHN0cm9uZz5SZXF1aXJlZDwvc3Ryb25nPi48L2xpPgoJCTxsaT48c3Ry
b25nPnRvX2Zvcm08L3N0cm9uZz4gJiM4MjExOyBUaGUgbmFtZSBvZiB5b3VyIGZvcm0gdGVt
cGxhdGUsIGlmIHlvdSB1c2Ugb25lLCBjb250YWluaW5nIHRoZSAmIzgyMjA7dG8mIzgyMjE7
IGVtYWlsIGFkZHJlc3MuIE9wdGlvbmFsLjwvbGk+CgkJPGxpPjxzdHJvbmc+c2hvd19pbnB1
dDwvc3Ryb25nPiAmIzgyMTE7IFVzZSA8Y29kZT5zaG93X2lucHV0PSJubyI8L2NvZGU+IHRv
IGRpc2FibGUgZGlzcGxheSBvZiB0aGUgaW5wdXQgZm9ybS4gT3B0aW9uYWwuPC9saT4KCQk8
bGk+PHN0cm9uZz5zaG93X2Vycm9yPC9zdHJvbmc+ICYjODIxMTsgVXNlIDxjb2RlPnNob3df
ZXJyb3I9Im5vIjwvY29kZT4gdG8gZGlzYWJsZSBkaXNwbGF5IG9mIGVycm9yIGFuZCBzdGF0
dXMgbWVzc2FnZXMuIE9wdGlvbmFsLjwvbGk+Cgk8L3VsPgo8Y29kZT5zaG93X2lucHV0PC9j
b2RlPiBhbmQgPGNvZGU+c2hvd19lcnJvcjwvY29kZT4gY2FuIGJlIHVzZWQgdG8gZGlzcGxh
eSB0aGUgZm9ybSBhbmQgZXJyb3IvdGhhbmsgeW91IG1lc3NhZ2VzIG9uIGRpZmZlcmVudCBw
YXJ0cyBvZiBhIHBhZ2UuIEZvciBleGFtcGxlOgoJPHA+JiM2MDtkaXYgaWQmIzYxOyYjMzQ7
ZXJyb3ImIzM0OyYjNjI7JiM2MDt0eHA6emVtJiM5NTtjb250YWN0IGZvcm0mIzYxOyYjMzQ7
Y29udGFjdCYjOTU7Zm9ybSYjMzQ7IHNob3cmIzk1O2lucHV0JiM2MTsmIzM0O25vJiMzNDsg
LyYjNjI7JiM2MDsvZGl2JiM2Mjs8YnIgLz4KJiM2MDtkaXYgaWQmIzYxOyYjMzQ7aW5wdXRm
b3JtJiMzNDsmIzYyOyYjNjA7dHhwOnplbSYjOTU7Y29udGFjdCBmb3JtJiM2MTsmIzM0O2Nv
bnRhY3QmIzk1O2Zvcm0mIzM0OyBzaG93JiM5NTtlcnJvciYjNjE7JiMzNDtubyYjMzQ7IC8m
IzYyOyYjNjA7L2RpdiYjNjI7PC9wPgogPGhyIC8+Cgk8cCBzdHlsZT0idGV4dC1hbGlnbjpj
ZW50ZXI7Ij48c3Ryb25nPlRoZSByZW1haW5pbmcgdGFncyBtYXkgb25seSBiZSB1c2VkIHdp
dGhpbiBhICYjNjA7dHhwOnplbSYjOTU7Y29udGFjdCYjNjI7IGZvcm0gb3IgY29udGFpbmVy
PC9zdHJvbmc+PC9wPgogPGhyIC8+Cgk8cD48c3Ryb25nPiAmIzYwO3R4cDp6ZW0mIzk1O2Nv
bnRhY3QmIzk1O3RleHQgLyYjNjI7IDwvc3Ryb25nPjwvcD4KCTxwPkNyZWF0ZXMgYSB0ZXh0
IGlucHV0IGZpZWxkIGFuZCBjb3JyZXNwb25kaW5nIDxjb2RlPiZsdDtsYWJlbCZndDs8L2Nv
ZGU+IHRhZy4gVGhlIGlucHV0IHZhbHVlIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGVtYWls
LCBwcmVjZWRlZCBieSB0aGUgbGFiZWwuPC9wPgoJPHA+QXR0cmlidXRlczotPC9wPgoJPHVs
PgoJCTxsaT48c3Ryb25nPmJyZWFrPC9zdHJvbmc+ICYjODIxMTsgQnJlYWsgdGFnIGJldHdl
ZW4gdGhlIGxhYmVsIGFuZCBmaWVsZC4gRGVmYXVsdCBpcyA8Y29kZT4mbHQ7YnIgLyZndDs8
L2NvZGU+LiBVc2UgPGNvZGU+YnJlYWs9IiI8L2NvZGU+IHRvIHB1dCB0aGUgbGFiZWwgYW5k
IGlucHV0IGZpZWxkIG9uIHRoZSBzYW1lIGxpbmUuIE9wdGlvbmFsLjwvbGk+CgkJPGxpPjxz
dHJvbmc+ZGVmYXVsdDwvc3Ryb25nPiAmIzgyMTE7IERlZmF1bHQgdmFsdWUgd2hlbiBubyBp
bnB1dCBpcyBwcm92aWRlZC4gT3B0aW9uYWwuPC9saT4KCQk8bGk+PHN0cm9uZz5sYWJlbDwv
c3Ryb25nPiAmIzgyMTE7IFRleHQgbGFiZWwgZGlzcGxheWVkIHRvIHRoZSB1c2VyLiBEZWZh
dWx0IGlzICYjODIyMDt0ZXh0JiM4MjIxOy4gT3B0aW9uYWwuPC9saT4KCQk8bGk+PHN0cm9u
Zz5taW48L3N0cm9uZz4gJiM4MjExOyBNaW5pbXVtIGlucHV0IGxlbmd0aCBpbiBjaGFyYWN0
ZXJzLiBBbiBlcnJvciBtZXNzYWdlIHdpbGwgYmUgZGlzcGxheWVkIGlmIHRoZSBpbnB1dCBp
cyBsZXNzIHRoYW4gbWluLiBEZWZhdWx0IGlzIDAuIE9wdGlvbmFsLjwvbGk+CgkJPGxpPjxz
dHJvbmc+bWF4PC9zdHJvbmc+ICYjODIxMTsgTWF4aW11bSBpbnB1dCBsZW5ndGggaW4gY2hh
cmFjdGVycy4gVXNlZCBmb3IgdGhlIG1heGxlbmd0aCBwYXJhbWV0ZXIgb2YgdGhlIGlucHV0
IGZpZWxkLiBObyBlcnJvciB3aWxsIGJlIGRpc3BsYXllZCBpZiB0aGUgbGVuZ3RoIGlzIGV4
Y2VlZGVkLCBidXQgdGhlIHZhbHVlIHdpbGwgYmUgdHJ1bmNhdGVkIGZvciB0aGUgZW1haWwu
IERlZmF1bHQgaXMgMTAwLiBPcHRpb25hbC48L2xpPgoJCTxsaT48c3Ryb25nPm5hbWU8L3N0
cm9uZz4gJiM4MjExOyBGaWVsZCBuYW1lLCBhcyB1c2VkIGluIHRoZSBIVE1MIGlucHV0IHRh
Zy4gRGVmYXVsdHMgdG8gdGhlIGxhYmVsLiBPcHRpb25hbC48L2xpPgoJCTxsaT48c3Ryb25n
PnNpemU8L3N0cm9uZz4gJiM4MjExOyBTaXplIG9mIHRoZSBpbnB1dCBmaWVsZCBhcyBkaXNw
bGF5ZWQgdG8gdGhlIHVzZXIuIExlYXZlIGVtcHR5IGZvciB0aGUgYnJvd3NlciBkZWZhdWx0
LiBPcHRpb25hbC48L2xpPgoJCTxsaT48c3Ryb25nPnJlcXVpcmVkPC9zdHJvbmc+ICYjODIx
MTsgPGNvZGU+cmVxdWlyZWQ9InllcyI8L2NvZGU+IG1ha2VzIHRoZSBmaWVsZCBtYW5kYXRv
cnkuIFRoZSBmb3JtIHdpbGwgZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIGlmIG5vIGlucHV0
IGlzIHByb3ZpZGVkLiBEZWZhdWx0IGlzICYjODIyMDt5ZXMmIzgyMjE7LiBPcHRpb25hbC48
L2xpPgoJPC91bD4KIDxociAvPgogPHAgaWQ9ImVtYWlsIj48c3Ryb25nPiAmIzYwO3R4cDp6
ZW0mIzk1O2NvbnRhY3QmIzk1O2VtYWlsIC8mIzYyOyA8L3N0cm9uZz48L3A+Cgk8cD5JbnB1
dCBmaWVsZCBmb3IgdXNlciYjODIxNztzIGVtYWlsIGFkZHJlc3MuIFRoZSBpbnB1dCB2YWx1
ZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgdmFsaWRhdGVkIHRvIG1ha2Ugc3VyZSBpdCBpcyBv
ZiB0aGUgZm9ybSAmIzgyMjA7YWJjQHh4eC55eXlbLnp6el0mIzgyMjE7LiBJZiB0aGUgVW5p
eC1vbmx5IGdldG14cnIoKSBmdW5jdGlvbiBpcyBhdmFpbGFibGUsIHRoZSBmb3JtIHdpbGwg
dmVyaWZ5IHRoYXQgYW4gQSBvciBNWCByZWNvcmQgZXhpc3RzIGZvciB0aGUgZG9tYWluLjwv
cD4KCTxwPkF0dHJpYnV0ZXMgYXJlIHRoZSBzYW1lIGFzIGZvciAmIzYwO3R4cDp6ZW0mIzk1
O2NvbnRhY3QmIzk1O3RleHQgLyYjNjI7LCBleGNlcHQgdGhhdCB0aGUgZGVmYXVsdCBsYWJl
bCBpcyAmIzgyMjA7RW1haWwmIzgyMjE7LjwvcD4KIDxociAvPgoJPHA+PHN0cm9uZz4gJiM2
MDt0eHA6emVtJiM5NTtjb250YWN0JiM5NTtzZWxlY3QgLyYjNjI7IDwvc3Ryb25nPjwvcD4K
CTxwPkNyZWF0ZXMgYSBkcm9wLWRvd24gc2VsZWN0aW9uIGxpc3QuPC9wPgoJPHA+QXR0cmli
dXRlcyBhcmUgc2ltaWxhciB0byAmIzYwO3R4cDp6ZW0mIzk1O2NvbnRhY3QmIzk1O3RleHQg
LyYjNjI7LCB3aXRoIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25zOi08L3A+Cgk8dWw+CgkJPGxp
PjxzdHJvbmc+bGlzdDwvc3Ryb25nPiAmIzgyMTE7IEEgY29tbWEgc2VwYXJhdGVkIGxpc3Qg
b2YgaXRlbXMgdG8gc2hvdyBpbiB0aGUgZHJvcC1kb3duIGJveDsgZS5nLiAmIzgyMjA7U2Fs
ZXMsU3VwcG9ydCxBY2NvdW50cyYjODIyMTsuPC9saT4KCQk8bGk+PHN0cm9uZz5kZWxpbWl0
ZXI8L3N0cm9uZz4gJiM4MjExOyBUaGUgc2VwYXJhdG9yIHVzZWQgaW4gcGFyc2luZyB0aGUg
bGlzdCBhdHRyaWJ1dGUuIERlZmF1bHQgaXMgJiM4MjIxOywmIzgyMjE7PC9saT4KCQk8bGk+
PHN0cm9uZz5zZWxlY3RlZDwvc3Ryb25nPiAmIzgyMTE7IFRoZSBsaXN0IGl0ZW0gdGhhdCBp
cyBzZWxlY3RlZCBieSBkZWZhdWx0OyBlLmcuICYjODIyMDtTdXBwb3J0JiM4MjIxOy4gRGVm
YXVsdCBpcyAmIzgyMjA7eWVzJiM4MjIxOy48L2xpPgoJPC91bD4KCTxwPm1pbiBhbmQgbWF4
IGhhdmUgbm8gZWZmZWN0LiBJZiA8Y29kZT5yZXF1aXJlZD0ieWVzIjwvY29kZT4gKGRlZmF1
bHQpLCBhbiBlbXB0eSBpdGVtIHdpbGwgbm90IGJlIGFjY2VwdGVkLiBVc2UgJiM2MDt0eHA6
emVtJiM5NTtjb250YWN0JiM5NTtzZWxlY3QgbGlzdCYjNjE7JiMzNDssU2FsZXMsU3VwcG9y
dCYjMzQ7IC8mIzYyOyB0byBtYWtlIHRoZSBmaXJzdCBpdGVtIGJsYW5rLCBmb3JjaW5nIHRo
ZSB1c2VyIHRvIG1ha2UgYSBzZWxlY3Rpb24uPC9wPgogPGhyIC8+Cgk8cD48c3Ryb25nPiAm
IzYwO3R4cDp6ZW0mIzk1O2NvbnRhY3QmIzk1O2NoZWNrYm94IC8mIzYyOyA8L3N0cm9uZz48
L3A+Cgk8cD5DcmVhdGVzIGEgY2hlY2sgYm94LjwvcD4KCTxwPkF0dHJpYnV0ZXMgYXJlIHNp
bWlsYXIgdG8gJiM2MDt0eHA6emVtJiM5NTtjb250YWN0JiM5NTt0ZXh0IC8mIzYyOywgZXhj
ZXB0IHRoYXQgbWluIGFuZCBtYXggaGF2ZSBubyBlZmZlY3QuIEFkZGl0aW9uYWwgYXR0cmli
dXRlczotPC9wPgoJPHVsPgoJCTxsaT48c3Ryb25nPmNoZWNrZWQ8L3N0cm9uZz4gJiM4MjEx
OyBVc2UgPGNvZGU+Y2hlY2tlZD0ieWVzIjwvY29kZT4gdG8gbWFrZSB0aGUgYm94IGNoZWNr
ZWQgd2hlbiB0aGUgZm9ybSBpcyBmaXJzdCBkaXNwbGF5ZWQuIERlZmF1bHQgaXMgJiM4MjIw
O25vJiM4MjIxOy4gT3B0aW9uYWwuPC9saT4KCTwvdWw+Cgk8cD5JZiA8Y29kZT5yZXF1aXJl
ZD0ieWVzIjwvY29kZT4gKGRlZmF1bHQpLCB0aGUgZm9ybSB3b24mIzgyMTc7dCBiZSBhY2Nl
cHRlZCB1bmxlc3MgdGhlIGJveCBpcyBjaGVja2VkLiBVc2UgJiM2MDt0eHA6emVtJiM5NTtj
b250YWN0JiM5NTtjaGVja2JveCBsYWJlbCYjNjE7JiMzNDtJIGFjY2VwdCB0aGUgdGVybXMg
YW5kIGNvbmRpdGlvbnMmIzM0OyAvJiM2MjsgdG8gbWFrZSBhIGNydWRlIHNocmluay13cmFw
IGFncmVlbWVudCB3aGljaCBtdXN0IGJlIGNoZWNrZWQgYnkgdGhlIHVzZXIgYmVmb3JlIHRo
ZSBlbWFpbCB3aWxsIGJlIHNlbnQuPC9wPgogPGhyIC8+Cgk8cD48c3Ryb25nPiAmIzYwO3R4
cDp6ZW0mIzk1O2NvbnRhY3QmIzk1O3RleHRhcmVhIC8mIzYyOyA8L3N0cm9uZz48L3A+Cgk8
cD5UZXh0YXJlYSBpbnB1dCBmaWVsZC48L3A+Cgk8cD5TdXBwb3J0cyB0aGUgc2FtZSBhdHRy
aWJ1dGVzIGFzICYjNjA7dHhwOnplbSYjOTU7Y29udGVudCYjOTU7dGV4dCAvJiM2MjssIHdp
dGggdGhlIGV4Y2VwdGlvbiBvZiBzaXplLiBUaGUgZGVmYXVsdCBsYWJlbCBpcyAmIzgyMjA7
TWVzc2FnZSYjODIyMTsgYW5kIHRoZSBkZWZhdWx0IG1heCBpcyAxMDAwMC4gQWRkaXRpb25h
bCBhdHRyaWJ1dGVzOi08L3A+Cgk8dWw+CgkJPGxpPjxzdHJvbmc+Y29sczwvc3Ryb25nPiAm
IzgyMTE7IGNvbHVtbiB3aWR0aC4gRGVmYXVsdCBpcyA1MC4gT3B0aW9uYWwuPC9saT4KCQk8
bGk+PHN0cm9uZz5yb3dzPC9zdHJvbmc+ICYjODIxMTsgcm93IGhlaWdodC4gRGVmYXVsdCBp
cyA2LiBPcHRpb25hbC48L2xpPgoJPC91bD4KIDxociAvPgoJPHA+PHN0cm9uZz4gJiM2MDt0
eHA6emVtJiM5NTtjb250YWN0JiM5NTtyYWRpbyAvJiM2MjsgPC9zdHJvbmc+PC9wPgoJPHA+
Q3JlYXRlcyAmIzgyMjA7cmFkaW8gYnV0dG9ucyYjODIyMTsgc28gdGhhdCB5b3VyIHZpc2l0
b3JzIGNhbiBjb21wbGV0ZSBzdXJ2ZXlzL3F1ZXN0aW9uYWlyZXMuIENvZGUgZ3JhY2lvdXNs
eSBwcm92aWRlZCBieSBSb2JlcnQgV2V0emxtYXlyICh3ZXQpLjwvcD4KCTxwPjxzdHJvbmc+
VXNhZ2UgRXhhbXBsZTwvc3Ryb25nPjwvcD4KCTxwPiYjNjA7dHhwOnplbSYjOTU7Y29udGFj
dCYjOTU7cmFkaW8gbmFtZSYjNjE7JiMzNDtzdGVhayYjMzQ7IGxhYmVsJiM2MTsmIzM0O1dl
bGwgRG9uZSYjMzQ7IC8mIzYyOzxiciAvPgomIzYwO3R4cDp6ZW0mIzk1O2NvbnRhY3QmIzk1
O3JhZGlvIG5hbWUmIzYxOyYjMzQ7c3RlYWsmIzM0OyBsYWJlbCYjNjE7JiMzNDtNZWRpdW0m
IzM0OyAvJiM2Mjs8YnIgLz4KJiM2MDt0eHA6emVtJiM5NTtjb250YWN0JiM5NTtyYWRpbyBu
YW1lJiM2MTsmIzM0O3N0ZWFrJiMzNDsgbGFiZWwmIzYxOyYjMzQ7UmFyZSYjMzQ7IC8mIzYy
OzwvcD4KCTxwPiYjNjA7dHhwOnplbSYjOTU7Y29udGFjdCYjOTU7cmFkaW8gbmFtZSYjNjE7
JiMzNDtkcmluayYjMzQ7IGxhYmVsJiM2MTsmIzM0O1dpbmUmIzM0OyAvJiM2Mjs8YnIgLz4K
JiM2MDt0eHA6emVtJiM5NTtjb250YWN0JiM5NTtyYWRpbyBuYW1lJiM2MTsmIzM0O2RyaW5r
JiMzNDsgbGFiZWwmIzYxOyYjMzQ7V2F0ZXImIzM0OyAvJiM2Mjs8L3A+Cgk8cD5Hcm91cCBt
dXR1YWxseSBleGNsdXNpdmUgcmFkaW8gYnV0dG9ucyBieSB1c2luZyBpZGVudGljYWwgJiM4
MjIwO25hbWVzJiM4MjIxOy4gT25seSB0aGUgY2hvc2VuIHJhZGlvIGJ1dHRvbiBmcm9tIGVh
Y2ggZ3JvdXAgd2lsbCBiZSBwb3N0ZWQgdG8gdGhlIG1lc3NhZ2UuIFRoZSBtZXNzYWdlIHdp
bGwgYmUgb3V0cHV0IGluIHRoZSBmb3JtIDxjb2RlPiRuYW1lOiAkbGFiZWw8L2NvZGU+IGZv
ciBlYWNoIG9mIHRoZSBjaG9zZW4gcmFkaW8gYnV0dG9ucy48L3A+Cgk8cD5BdHRyaWJ1dGVz
Oi08L3A+Cgk8dWw+CgkJPGxpPjxzdHJvbmc+YnJlYWs8L3N0cm9uZz4gJiM4MjExOyBCcmVh
ayB0YWcgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGZpZWxkLiBEZWZhdWx0IGlzIGEgc3BhY2Uu
IE9wdGlvbmFsLjwvbGk+CgkJPGxpPjxzdHJvbmc+Y2hlY2tlZDwvc3Ryb25nPiAmIzgyMTE7
IFVzZSA8Y29kZT5jaGVja2VkPSJ5ZXMiPC9jb2RlPiB0byBtYWtlIGEgcmFkaW8gYnV0dG9u
IGNoZWNrZWQgd2hlbiB0aGUgZm9ybSBpcyBmaXJzdCBkaXNwbGF5ZWQuIERlZmF1bHQgaXMg
JiM4MjIwO25vJiM4MjIxOy4gT3B0aW9uYWwuPC9saT4KCQk8bGk+PHN0cm9uZz5sYWJlbDwv
c3Ryb25nPiAmIzgyMTE7IFRleHQgbGFiZWwgZGlzcGxheWVkIHRvIHRoZSB1c2VyLiBEZWZh
dWx0IGlzICYjODIyMDtyYWRpbyYjODIyMTsuIE9wdGlvbmFsLjwvbGk+CgkJPGxpPjxzdHJv
bmc+bmFtZTwvc3Ryb25nPiAmIzgyMTE7IEZpZWxkIG5hbWUsIGFzIHVzZWQgaW4gdGhlIEhU
TUwgaW5wdXQgdGFnLiBEZWZhdWx0cyB0byB0aGUgbGFiZWwgdGhvdWdoIHlvdSBzaG91bGQg
YmUgc3BlY2lmeWluZyBib3RoIDxjb2RlPm5hbWU8L2NvZGU+IGFuZCA8Y29kZT5sYWJlbDwv
Y29kZT4gYXR0cmlidXRlcyBpbiB0aGUgdGFnLiBPcHRpb25hbC48L2xpPgoJPC91bD4KIDxo
ciAvPgoJPHA+PHN0cm9uZz4gJiM2MDt0eHA6emVtJiM5NTtjb250YWN0JiM5NTtzdWJtaXQg
LyYjNjI7IDwvc3Ryb25nPjwvcD4KCTxwPlN1Ym1pdCBidXR0b24uPC9wPgoJPHA+QXR0cmli
dXRlczotPC9wPgoJPHVsPgoJCTxsaT48c3Ryb25nPmJ1dHRvbjwvc3Ryb25nPiAmIzgyMTE7
IEFkZGluZyB0aGUgPGNvZGU+YnV0dG9uPSJ5ZXMiPC9jb2RlPiBhdHRyaWJ1dGUgdG8gdGhl
IHRhZyB3aWxsIGdpdmUgeW91IGEgJiM4MjIwO2J1dHRvbiBlbGVtZW50JiM4MjIxOyBpbnN0
ZWFkIG9mIGFuICYjODIyMDtpbnB1dCBlbGVtZW50JiM4MjIxOy4gRGVmYXVsdCBpcyAmIzgy
MjA7bm8mIzgyMjE7LiBPcHRpb25hbC48L2xpPgoJCTxsaT48c3Ryb25nPmxhYmVsPC9zdHJv
bmc+ICYjODIxMTsgTGFiZWwvQnV0dG9uIHRleHQuIERlZmF1bHQgaXMgJiM4MjIwO1NlbmQm
IzgyMjE7LiBPcHRpb25hbC48L2xpPgoJPC91bD4KIDxociAvPgoJPHA+PHN0cm9uZz4gJiM2
MDt0eHA6emVtJiM5NTtjb250YWN0JiM5NTtzZXJ2ZXJpbmZvIC8mIzYyOyA8L3N0cm9uZz48
L3A+Cgk8cD5UaGlzIHRhZyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBmb3JtIG9yIEhUTUwgb3V0
cHV0LCBidXQgd2lsbCBpbmNsdWRlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaW4gdGhlIGVt
YWlsIGJhc2VkIG9uIHRoZSBQSFAgJF9TRVJWRVIgdmFyaWFibGUuIEZvciBleGFtcGxlLCAm
IzYwO3R4cDp6ZW0mIzk1O2NvbnRhY3QmIzk1O3NlcnZlcmluZm8gbmFtZSYjNjE7JiMzNDtS
RU1PVEUmIzk1O0FERFImIzM0OyBsYWJlbCYjNjE7JiMzNDtJUCYjMzQ7IC8mIzYyOyB3aWxs
IHJlcG9ydCB0aGUgdXNlciYjODIxNztzIElQIGFkZHJlc3MuPC9wPgoJPHA+QXR0cmlidXRl
czotPC9wPgoJPHVsPgoJCTxsaT48c3Ryb25nPm5hbWU8L3N0cm9uZz4gJiM4MjExOyBuYW1l
IG9mIHRoZSBzZXJ2ZXIgdmFyaWFibGUsIGUuZy4gUkVRVUVTVF9VUkksIEhUVFBfVVNFUl9B
R0VOVC4gU2VlIHRoZSBQSFAgbWFudWFsIGZvciBhIGZ1bGwgbGlzdC4gPHN0cm9uZz5SZXF1
aXJlZDwvc3Ryb25nPi48L2xpPgoJCTxsaT48c3Ryb25nPmxhYmVsPC9zdHJvbmc+ICYjODIx
MTsgaWYgc3VwcGxpZWQsIHRoaXMgd2lsbCBiZSB1c2VkIHRvIGlkZW50aWZ5IHRoZSBmaWVs
ZCBpbiB0aGUgZW1haWwuIE9wdGlvbmFsLjwvbGk+Cgk8L3VsPgogPGhyIC8+CjxkaXYgaWQ9
ImFydGljbGUiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDpib2xkO2Zv
bnQtc2l6ZToyNHB4O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij5aZW0gQ29udGFjdCBT
ZW5kIEFydGljbGU8L2Rpdj4KCTxwPkRldmVsb3BlZCBieSB0cmFucXVpbGxvLCB0aGlzIGFs
bG93cyB5b3UgdG8gYWRkIGEgJiM4MjIwO1NlbmQgQXJ0aWNsZSYjODIyMTsgbGluayB0byBh
biBpbmRpdmlkdWFsIGFydGljbGUgZm9ybSB3aGljaCwgd2hlbiBjbGlja2VkIGJ5IGEgdmlz
aXRvciwgd2lsbCBkaXNwbGF5IGEgZm9ybSBmb3IgdGhlbSB0byBlbnRlciB0aGVpciBuYW1l
LCB0aGVpciBmcmllbmQmIzgyMTc7cyBlbWFpbCBhZGRyZXNzIGFuZCBhbiBvcHRpb25hbCBw
ZXJzb25hbCBtZXNzYWdlLiBXaGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCB0aGUgYXJ0aWNs
ZSB0aXRsZSwgZXhjZXJwdCBhbmQgYm9keSBhcmUgaW5jbHVkZWQgaW4gdGhlIGVtYWlsLjwv
cD4KCTxwPjxzdHJvbmc+ICYjNjA7dHhwOnplbSYjOTU7Y29udGFjdCBzZW5kJiM5NTthcnRp
Y2xlJiM2MTsmIzM0O3llcyYjMzQ7IC8mIzYyOyA8L3N0cm9uZz48L3A+Cgk8cD5Vc2UgdGhp
cyB0YWcgaW4geW91ciBpbmRpdmlkdWFsIGFydGljbGUgZm9ybSwgd2hlcmUgeW91IHdhbnQg
dGhlIGNvbnRhY3QgZm9ybSB0byBiZSBkaXNwbGF5ZWQuIEVuc3VyZSB0aGF0IHlvdSBpbmNs
dWRlIHRoZSBhdHRyaWJ1dGUgPGNvZGU+c2VuZF9hcnRpY2xlPSJ5ZXMiPC9jb2RlPi4gSXQg
b3BlcmF0ZXMgYXMgYSBwbGFjZS1ob2xkZXIuIFRoZSBmb3JtIHdpbGwgbm90IGFjdHVhbGx5
IGFwcGVhciBvbi1zY3JlZW4gdW50aWwgdGhlIGxpbmsgY29udGFpbmVkIGluIG5leHQgdGFn
IGhhcyBiZWVuIGFjdGl2YXRlZC4gV2hlbiB0aGUgbWVzc2FnZSBoYXMgYmVlbiBzZW50IHRo
ZSBmb3JtIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgJiM4MjIwO3RoYW5rIHlvdSYjODIy
MTsgbWVzc2FnZSBvciBmb3JtLjwvcD4KCTxwPkF0dHJpYnV0ZXMgYXJlIGlkZW50aWNhbCB0
byA8YSBocmVmPSIjY29udGFjdCI+PHN0cm9uZz4gJiM2MDt0eHA6emVtJiM5NTtjb250YWN0
IC8mIzYyOyA8L3N0cm9uZz48L2E+IGhvd2V2ZXIgJiM4MjIwO3N1YmplY3QmIzgyMjE7IHdp
bGwgdXNlIHRoZSBhcnRpY2xlJiM4MjE3O3MgdGl0bGUgZm9yIGl0JiM4MjE3O3MgY29udGVu
dHMgYW5kIHRoZXJlIGlzIG5vIG5lZWQgdG8gdXNlIHRoZSAmIzgyMjA7dG8mIzgyMjE7IGF0
dHJpYnV0ZSB3aGVuIHVzaW5nIHRoZSB0YWcgdGhpcyB3YXkgKHNlZSB0aGUgJiM2MDt0eHA6
emVtJiM5NTtjb250YWN0JiM5NTtlbWFpbCBuYW1lJiM2MTsmIzM0O3JlY2VpdmVyJiMzNDsg
LyYjNjI7IHRhZyBiZWxvdykuPC9wPgogPGhyIC8+Cgk8cD48c3Ryb25nPiAmIzYwO3R4cDp6
ZW0mIzk1O2NvbnRhY3QmIzk1O3NlbmQmIzk1O2FydGljbGUgLyYjNjI7IDwvc3Ryb25nPjwv
cD4KCTxwPlVzZSB0aGlzIHRhZyBpbiB5b3VyIGluZGl2aWR1YWwgYXJ0aWNsZSBmb3JtLCB3
aGVyZSB5b3Ugd2FudCB0aGUgJiM4MjIwO3NlbmQgYXJ0aWNsZSYjODIyMTsgbGluayB0byBi
ZSBkaXNwbGF5ZWQuPC9wPgoJPHA+QXR0cmlidXRlczotPC9wPgoJPHVsPgoJCTxsaT48c3Ry
b25nPmxpbmt0ZXh0PC9zdHJvbmc+ICYjODIxMTsgVGhlIHRleHQgZGlzcGxheWVkIGZvciB0
aGUgbGluay4gRGVmYXVsdCBpcyAmIzgyMjA7c2VuZCBhcnRpY2xlJiM4MjIxOy4gT3B0aW9u
YWwuPC9saT4KCTwvdWw+CiA8aHIgLz4KCTxwPjxzdHJvbmc+ICYjNjA7dHhwOnplbSYjOTU7
Y29udGFjdCYjOTU7ZW1haWwgbmFtZSYjNjE7JiMzNDtyZWNlaXZlciYjMzQ7IC8mIzYyOyA8
L3N0cm9uZz48L3A+Cgk8cD5Vc2UgdGhpcyB0YWcgaW4geW91ciBjb250YWN0IGZvcm0gdGVt
cGxhdGUgdG8gZGlzcGxheSBhbiBpbnB1dCBib3ggZm9yIHRoZSByZWNlaXZlciYjODIxNztz
IGVtYWlsIGFkZHJlc3MgdG8gYmUgZW50ZXJlZC4gWW91IG11c3QgZW5zdXJlIHRoYXQgeW91
IGluY2x1ZGUgdGhlIGF0dHJpYnV0ZSA8Y29kZT5uYW1lPSJyZWNlaXZlciI8L2NvZGU+IHNv
IHRoYXQgdGhlIHBsdWctaW4gcmVjb2duaXNlcyB0aGlzIGFzIHRoZSAmIzgyMjA7dG8mIzgy
MjE7IGFkZHJlc3MuIEZvciB0aGlzIHJlYXNvbiBpdCBpcyBhZHZpc2FibGUgdGhhdCB5b3Ug
Y3JlYXRlIGFuZCB1c2UgYSBzZXBhcmF0ZSBmb3JtIHRlbXBsYXRlIGZvciB0aGVzZSAmIzgy
MjA7c2VuZF9hcnRpY2xlJiM4MjIxOyBmdW5jdGlvbnMuPC9wPgoJPHA+QXR0cmlidXRlcyBh
cmUgdGhlIHNhbWUgYXMgZm9yIDxhIGhyZWY9IiNlbWFpbCI+PHN0cm9uZz4gJiM2MDt0eHA6
emVtJiM5NTtjb250YWN0JiM5NTtlbWFpbCAvJiM2MjsgPC9zdHJvbmc+PC9hPi48L3A+CiA8
aHIgLz4KPGRpdiBpZD0ic3R5bGluZyIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO2ZvbnQt
d2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjI0cHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsi
PlN0eWxpbmc8L2Rpdj4KCTxwPldoZW4gZXJyb3IgbWVzc2FnZXMgcmVsYXRpbmcgdG8gaW5m
b3JtYXRpb24gZW50ZXJlZCwgb3Igbm90IGVudGVyZWQsIGludG8gdGhlIGZvcm0gYXJlIG91
dHB1dCB0aGV5IGFyZSBjb250YWluZWQgd2l0aGluIGEgJiM4MjIwO3VsJiM4MjIxOy4gVGhh
dCAmIzgyMjA7dWwmIzgyMjE7IGhhcyBiZWVuIGFsbG9jYXRlZCA8Y29kZT5jbGFzcz0iemVt
RXJyb3IiPC9jb2RlPi48L3A+Cgk8cD5BbGwgbGFiZWxzLCBpbnB1dHMgYW5kIHRoZSB0ZXh0
YXJlYSBoYXZlIHRoZWlyIG93biBpbmRpdmlkdWFsICYjODIyMDtpZCYjODIyMTsgYW5kICYj
ODIyMDtjbGFzcyYjODIyMTsgd2hpY2ggYXJlIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiA8Y29k
ZT4kbmFtZTwvY29kZT4uIFRoaXMgbWF5IGJlIGEgZGVmYXVsdCB2YWx1ZSBvciBvbmUgdGhh
dCB5b3UgaGF2ZSBlbnRlcmVkIHlvdXJzZWxmIHVzaW5nIHRoZSA8Y29kZT5uYW1lPSJ3aGF0
ZXZlciI8L2NvZGU+IGF0dHJpYnV0ZS48L3A+Cgk8cD5XaGVuIDxjb2RlPnJlcXVpcmVkPSJ5
ZXMiPC9jb2RlPiwgdGhlIHJlbGV2YW50IGxhYmVscyBhbmQgaW5wdXRzLCBvciBsYWJlbCBh
bmQgdGhlIHRleHRhcmVhIGFyZSBnaXZlbiBhIHNlY29uZCBjbGFzcyBvZiAmIzgyMjA7emVt
UmVxdWlyZWQmIzgyMjE7IGFsb25nc2lkZSB0aGVpciBpbmRpdmlkdWFsIGNsYXNzZXMgaW4g
dGhlIGZvcm1hdCA8Y29kZT5jbGFzcz0iemVtUmVxdWlyZWQgJG5hbWUiPC9jb2RlPi4gQm90
aCBjbGFzc2VzIGNhbiBiZSB1c2VkIGluZGl2aWR1YWxseSBzbyB0aGF0IHlvdSBjYW4gc2V0
dXAgYSBnbG9iYWwgJiM4MjIwO3JlcXVpcmVkJiM4MjIxOyBzdHlsZSBhcyB3ZWxsIGFzIGlu
ZGl2aWR1YWwgc3R5bGluZy48L3A+Cgk8cD5XaGVuIGFuIGVycm9yIHJlbGF0aW5nIHRvIGFu
IGlucHV0IG9yIHRoZSB0ZXh0YXJlYSBpcyBvdXRwdXQsIHRoZSByZWxldmFudCBsYWJlbCBh
bmQgaW5wdXQsIG9yIGxhYmVsIGFuZCB0aGUgdGV4dGFyZWEsIGhhdmUgdGhlIGNsYXNzICYj
ODIyMDtlcnJvckVsZW1lbnQmIzgyMjE7IGFwcGVuZGVkIHRvICYjODIyMDt6ZW1SZXF1aXJl
ZCYjODIyMTsgaW4gdGhlIGZvcm1hdCA8Y29kZT5jbGFzcz0iemVtUmVxdWlyZWRlcnJvckVs
ZW1lbnQgJG5hbWUiPC9jb2RlPi4gQWdhaW4sIGJvdGggY2xhc3NlcyBjYW4gYmUgdXNlZCBp
bmRpdmlkdWFsbHkgc28gdGhhdCB5b3UgY2FuIHNldHVwIGEgZ2xvYmFsICYjODIyMDtlcnJv
ciYjODIyMTsgc3R5bGUgYWxvbmdzaWRlIHlvdXIgaW5kaXZpZHVhbCBzdHlsaW5nLjwvcD4K
IDxociAvPgo8ZGl2IGlkPSJhcGkiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdl
aWdodDpib2xkO2ZvbnQtc2l6ZToyNHB4O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij5a
ZW0gQ29udGFjdCBSZWJvcm4mIzgyMTc7cyBBUEk8L2Rpdj4KCTxwPlRoZSBwbHVnaW4gQVBJ
IG9mIHplbSBjb250YWN0LCBkZXZlbG9wZWQgYnkgVHJhbnF1aWxsbywgaXMgc2ltaWxhciB0
byB0aGUgY29tbWVudHMgQVBJIG9mIFRleHRwYXR0ZXJuLCB3aGljaCBpcyBleHBsYWluZWQg
aW4gdGhlIFRleHRib29rPGJyIC8+CjxhIGhyZWY9Imh0dHA6Ly90ZXh0cGF0dGVybi5uZXQv
d2lraS9pbmRleC5waHA/dGl0bGU9UGx1Z2luX0RldmVsb3BtZW50X1RvcGljcyI+UGx1Z2lu
IERldmVsb3BtZW50IFRvcGljczwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly90ZXh0cGF0dGVy
bi5uZXQvd2lraS9pbmRleC5waHA/dGl0bGU9Q29tYmF0X0NvbW1lbnRfU3BhbSI+Q29tYmF0
IENvbW1lbnQgU3BhbTwvYT4uPC9wPgoJPHA+VGhlIHR3byBldmVudHMgZm9yIHplbV9jb250
YWN0IGFyZSAmIzgyMTY7PGNvZGU+emVtY29udGFjdC5zdWJtaXQ8L2NvZGU+JiM4MjE3OyBh
bmQgJiM4MjE2Ozxjb2RlPnplbWNvbnRhY3QuZm9ybTwvY29kZT4mIzgyMTc7LjxiciAvPgom
IzgyMTY7PGNvZGU+emVtY29udGFjdC5zdWJtaXQ8L2NvZGU+JiM4MjE3OyBpcyBjYWxsZWQg
YWZ0ZXIgdGhlIGZvcm0gaXMgc3VibWl0dGVkIGFuZCB0aGUgdmFsdWVzIGFyZSBjaGVja2Vk
IGlmIGVtcHR5IG9yIHZhbGlkIGVtYWlsYWRkcmVzc2VzLCBidXQgYmVmb3JlIHRoZSBtYWls
IGlzIHNlbnQuPGJyIC8+CiYjODIxNjs8Y29kZT56ZW1jb250YWN0LmZvcm08L2NvZGU+JiM4
MjE3OyBsZXQmIzgyMTc7cyB5b3UgaW5zZXJ0IGNvbnRlbnQgaW4gdGhlIGNvbnRhY3QgZm9y
bS48L3A+Cgk8cD5Gb3IgcmVmZXJlbmNlIGhlcmUgYXJlIHRoZSBjb21tYW5kcyB0aGF0IHdp
bGwgYmUgaW50ZXJlc3RpbmcgdG8gcGx1Z2luIGRldmVsb3BlcnM6PC9wPgoJPHA+Ly8gVGhp
cyB3aWxsIGNhbGwgeW91ciBmdW5jdGlvbiBiZWZvcmUgdGhlIGZvcm0gaXMgc3VibWl0dGVk
PGJyIC8+Ci8vIFNvIHlvdSBjYW4gYW5hbHlzZSB0aGUgc3VibWl0dGVkIGRhdGE8YnIgLz4K
PGNvZGU+cmVnaXN0ZXJfY2FsbGJhY2soJ2FiY19teWZ1bmN0aW9uJywnemVtY29udGFjdC5z
dWJtaXQnKTs8L2NvZGU+PC9wPgoJPHA+Ly8gVGhpcyB3aWxsIGNhbGwgeW91ciBmdW5jdGlv
biBhbmQgYWRkIHRoZSBvdXRwdXQgKHVzZSByZXR1cm4gJG15c3R1ZmYpIHRvIHRoZTxiciAv
PgovLyBjb250YWN0LWZvcm0sIHJpZ2h0IGFmdGVyICYjODIzMDsuIFRoaXMgaXMgb3B0aW9u
YWwuPGJyIC8+Cjxjb2RlPnJlZ2lzdGVyX2NhbGxiYWNrKCdhYmNfbXlvdGhlcmZ1bmN0aW9u
MicsJ3plbWNvbnRhY3QuZm9ybScpOzwvY29kZT48L3A+Cgk8cD4vLyBUbyBnZXQgaG9sZCBv
ZiB0aGUgZm9ybS12YXJpYWJsZXMgeW91IGNhbiB1c2U8YnIgLz4KPGNvZGU+Z2xvYmFsIHpl
bV9jb250YWN0X2Zvcm08L2NvZGU+PGJyIC8+Ci8vIG9yIHRoZSBjb3JyZXNwb25kaW5nICRQ
T1NUIG9yICRSRVFVRVNULjwvcD4KCTxwPi8vIFdpdGggdGhlIGZvbGxvd2luZyB0d28gbGlu
ZXMgeW91IGNhbiB0ZWxsIHplbV9jb250YWN0IGlmIHlvdXI8YnIgLz4KLy8gcGx1Z2luIGZv
dW5kIHNwYW08YnIgLz4KPGNvZGU+JGV2YWx1YXRvciA9JiMzODsgZ2V0X3plbWNvbnRhY3Rf
ZXZhbHVhdG9yKCk7PGJyIC8+CiRldmFsdWF0b3IgLSZndDsgYWRkX3plbWNvbnRhY3Rfc3Rh
dHVzKDEpOyAvLyB0aGUgcGFzc2VkIHZhbHVlIG11c3QgYmUgYW55IG51bWJlciBidXQgemVy
byB0byBtYXJrIHRoZSBjb250ZW50IGFzIHNwYW08L2NvZGU+LjwvcD4KCTxwPk11bHRpcGxl
IHBsdWdpbnMgY2FuIGJlIGFjdGl2ZSBhdCB0aGUgc2FtZSB0aW1lIGFuZCBlYWNoIG9mIHRo
ZW0gY2FuIG1hcmsgdGhlIHN1Ym1pdHRlZCBjb250ZW50IGFzIHNwYW0gYW5kIHByZXZlbnQg
dGhlIGZvcm0gZnJvbSBiZWluZyBzdWJtaXR0ZWQuPC9wPgoJPHA+PHN0cm9uZz5BbiBleGFt
cGxlIG9mIGEgcGx1Zy1pbiBjb25uZWN0aW5nIHRvIFplbSBDb250YWN0IFJlYm9ybiYjODIx
NztzIEFQSTotPC9zdHJvbmc+PC9wPgo8Y29kZT5yZWdpc3Rlcl9jYWxsYmFjaygncGFwX3pl
bWNvbnRhY3RfZm9ybScsJ3plbWNvbnRhY3QuZm9ybScpOwpyZWdpc3Rlcl9jYWxsYmFjaygn
cGFwX3plbWNvbnRhY3Rfc3VibWl0JywnemVtY29udGFjdC5zdWJtaXQnKTs8L2NvZGU+Cjxi
ciAvPgo8YnIgLz4KCjxjb2RlPmZ1bmN0aW9uIHBhcF96ZW1jb250YWN0X2Zvcm0oKSB7PC9j
b2RlPgo8YnIgLz4KPGJyIC8+Cgo8Y29kZT4kZmllbGQgPSAnJmx0O2RpdiBzdHlsZT0idmlz
aWJpbGl0eTpoaWRkZW4iJmd0OycuZmlucHV0KCd0ZXh0JywncGhvbmUnLHBzKCdwaG9uZScp
LCcnLCcnLCcnLCcnLCcnLCdwaG9uZScpLicmbHQ7YnIgLyZndDsnLmZpbnB1dCgndGV4dCcs
J21haWwnLHBzKCdtYWlsJyksJycsJycsJycsJycsJycsJ21haWwnKS4nJmx0Oy9kaXYmZ3Q7
JzsKcmV0dXJuICRmaWVsZDs8L2NvZGU+CjxiciAvPgo8YnIgLz4KCjxjb2RlPn08L2NvZGU+
CjxiciAvPgo8YnIgLz4KCjxjb2RlPmZ1bmN0aW9uIHBhcF96ZW1jb250YWN0X3N1Ym1pdCgp
IHs8L2NvZGU+CjxiciAvPgo8YnIgLz4KCjxjb2RlPiRjaGVja2luZ19tYWlsX2ZpZWxkID0g
dHJpbShwcygnbWFpbCcpKTsKJGNoZWNraW5nX3Bob25lX2ZpZWxkID0gdHJpbShwcygncGhv
bmUnKSk7PC9jb2RlPgo8YnIgLz4KPGJyIC8+Cgo8Y29kZT4kZXZhbHVhdGlvbiA9JiMzODsg
Z2V0X3plbWNvbnRhY3RfZXZhbHVhdG9yKCk7PC9jb2RlPgo8YnIgLz4KPGJyIC8+Cgo8Y29k
ZT4vLyBJZiB0aGUgaGlkZGVuIGZpZWxkcyBhcmUgZmlsbGVkIG91dCwgdGhlIGNvbnRhY3Qg
Zm9ybSB3b24ndCBiZSBzdWJtaXR0ZWQhPC9jb2RlPgo8YnIgLz4KCjxjb2RlPmlmICgkY2hl
Y2tpbmdfbWFpbF9maWVsZCAhPSAnJyB8fCAkY2hlY2tpbmdfcGhvbmVfZmllbGQgIT0gJycp
ewokZXZhbHVhdGlvbiAtJmd0OyBhZGRfemVtY29udGFjdF9zdGF0dXMoMSk7PC9jb2RlPgp9
CnJldHVybjs8L2NvZGU+CjxiciAvPgo8YnIgLz4KCjxjb2RlPn08L2NvZGU+CiA8YnIgLz4K
CiA8cCBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTZweDt0ZXh0LWFsaWdu
OmNlbnRlcjsiPjxhIGhyZWY9IiMiPkJhY2sgdG8gdGhlIFRvcDwvYT48L3A+CiA8YnIgLz4K
CgoKICI7czo0OiJjb2RlIjtzOjE1MzYxOiIKZnVuY3Rpb24gemVtX2NvbnRhY3QoJGF0dHMs
ICR0aGluZyA9ICcnKQp7CglnbG9iYWwgJHNpdGVuYW1lLCAkcHJlZnMsICRwcm9kdWN0aW9u
X3N0YXR1cywgJHplbV9jb250YWN0X2Zvcm0sICR6ZW1fY29udGFjdF9mcm9tLCAkemVtX2Nv
bnRhY3Rfbm9uY2UsICR6ZW1fY29udGFjdF9lcnJvcjsKCglleHRyYWN0KGxBdHRzKGFycmF5
KAoJCSdiY2MnCQk9PiAnJywKCQknY29weXNlbmRlcicJPT4gJ25vJywgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NvcHlzZW5kZXIgYXR0cmlidXRlIGFk
ZGVkCgkJJ2Zvcm0nCQk9PiAnJywKCQknZnJvbScJCT0+ICcnLAoJCSdmcm9tX2Zvcm0nCT0+
ICcnLAoJCSdpc0Vycm9yJwk9PiAnJywKCQknbGFiZWwnCQk9PiB6ZW1fY29udGFjdF9nVHh0
KCdjb250YWN0JyksCgkJJ3JlZGlyZWN0Jwk9PiAnJywKCQknc2hvd19lcnJvcicJPT4gJ3ll
cycsCgkJJ3Nob3dfaW5wdXQnCT0+ICd5ZXMnLAoJCSdzZW5kX2FydGljbGUnCT0+ICdubycs
CgkJJ3N1YmplY3QnCT0+IHplbV9jb250YWN0X2dUeHQoJ2VtYWlsX3N1YmplY3QnLCAkc2l0
ZW5hbWUpLAoJCSd0bycJCT0+ICcnLAoJCSd0b19mb3JtJwk9PiAnJywKCQkndGhhbmtzJwk9
PiBncmFmKHplbV9jb250YWN0X2dUeHQoJ2VtYWlsX3RoYW5rcycpKSwKCQkndGhhbmtzX2Zv
cm0nCT0+ICcnCgkpLCAkYXR0cykpOwoKCWlmICghaXNfY2FsbGFibGUoJ21haWwnKSkKCXsK
CQlyZXR1cm4gKCRwcm9kdWN0aW9uX3N0YXR1cyA9PSAnbGl2ZScpID8KCQkJemVtX2NvbnRh
Y3RfZ1R4dCgnbWFpbF9zb3JyeScpIDoKCQkJZ1R4dCgnd2Fybl9tYWlsX3VuYXZhaWxhYmxl
Jyk7Cgl9CgoJaWYgKCR0b19mb3JtKQoJewoJCSR0b19mb3JtID0gZmV0Y2hfZm9ybSgkdG9f
Zm9ybSk7CgkJJHRvID0gcGFyc2UoJHRvX2Zvcm0pOwoJfQoKCWlmICghJHRvIGFuZCAkc2Vu
ZF9hcnRpY2xlID09ICdubycpCgl7CgkJcmV0dXJuIHplbV9jb250YWN0X2dUeHQoJ3RvX21p
c3NpbmcnKTsKCX0KCgkkemVtX2NvbnRhY3Rfbm9uY2UgPSBtZDUodW5pcWlkKHJhbmQoKSwg
dHJ1ZSkpOwoKCXNhZmVfaW5zZXJ0KCd0eHBfZGlzY3Vzc19ub25jZScsICJpc3N1ZV90aW1l
ID0gbm93KCksIG5vbmNlID0gJyR6ZW1fY29udGFjdF9ub25jZSciKTsKCgkkZm9ybSA9ICgk
Zm9ybSkgPyBmZXRjaF9mb3JtKCRmb3JtKSA6ICR0aGluZzsKCglpZiAoZW1wdHkoJGZvcm0p
KQoJewoJCSRmb3JtID0gPDw8Zm9ybQo8dHhwOnplbV9jb250YWN0X3RleHQgbGFiZWw9Ik5h
bWUiIC8+PGJyIC8+Cjx0eHA6emVtX2NvbnRhY3RfZW1haWwgLz48YnIgLz4KPHR4cDp6ZW1f
Y29udGFjdF90ZXh0YXJlYSAvPjxiciAvPgo8dHhwOnplbV9jb250YWN0X3N1Ym1pdCAvPgpm
b3JtOwoJfQoKCSRmb3JtID0gcGFyc2UoJGZvcm0pOwoKCWlmICgkdGhhbmtzX2Zvcm0pCgl7
CgkJJHRoYW5rcyA9IGZldGNoX2Zvcm0oJHRoYW5rc19mb3JtKTsKCX0KCgkkb3V0ID0gJyc7
CgoJaWYgKGlzX2FycmF5KCR6ZW1fY29udGFjdF9lcnJvcikgYW5kIGNvdW50KCR6ZW1fY29u
dGFjdF9lcnJvcikpCgl7CgkJaWYgKCRzaG93X2Vycm9yID09ICd5ZXMnKQoJCXsKCQkJJG91
dCAuPSBuLic8dWwgY2xhc3M9InplbUVycm9yIj4nOwoKCQkJZm9yZWFjaCAoJHplbV9jb250
YWN0X2Vycm9yIGFzICRlcnJvcikKCQkJewoJCQkJJG91dCAuPSBuLnQuJzxsaT4nLiRlcnJv
ci4nPC9saT4nOwoJCQl9CgoJCQkkb3V0IC49IG4uJzwvdWw+JzsKCQl9CgoJCSRzaG93X2lu
cHV0ID0gJ3llcyc7Cgl9CgoJZWxzZWlmIChpc19hcnJheSgkemVtX2NvbnRhY3RfZm9ybSkg
YW5kIHBzKCd6ZW1fY29udGFjdF9zdWJtaXQnKSkKCXsKCQkvLy8gbG9hZCBhbmQgY2hlY2sg
c3BhbSBwbHVnaW5zLwoJCWNhbGxiYWNrX2V2ZW50KCd6ZW1jb250YWN0LnN1Ym1pdCcpOwoJ
CSRldmFsdWF0aW9uID0mIGdldF96ZW1jb250YWN0X2V2YWx1YXRvcigpOwoJCSRjbGVhbiA9
ICRldmFsdWF0aW9uLT5nZXRfemVtY29udGFjdF9zdGF0dXMoKTsKCQlpZiAoJGNsZWFuICE9
IDApIHsKCQkJcmV0dXJuIHplbV9jb250YWN0X2dUeHQoJ3NwYW0nKTsKCQl9CgoJCWlmICgk
ZnJvbV9mb3JtKQoJCXsKCQkJJGZyb20gPSBwYXJzZSgkZnJvbV9mb3JtKTsKCQl9CgoJCSRz
ZXAgPSAhaXNfd2luZG93cygpID8gIlxuIiA6ICJcclxuIjsKCgkJJG1zZyA9IGFycmF5KCk7
CgoJCWZvcmVhY2ggKCR6ZW1fY29udGFjdF9mb3JtIGFzICRrID0+ICR2KQoJCXsKCQkJJG1z
Z1tdID0gJGsuJzogJy5odG1sc3BlY2lhbGNoYXJzKCR2KTsKCQl9CgoJaWYgKCRzZW5kX2Fy
dGljbGUgPT0gJ3llcycpIHsKCQkJZ2xvYmFsICR0aGlzYXJ0aWNsZTsKCQkJJHN1YmplY3Qg
PSAkdGhpc2FydGljbGVbJ3RpdGxlJ107CgkJCSRtc2dbXSA9ICR0aGlzYXJ0aWNsZVsndGl0
bGUnXS4nICgnLnBlcm1saW5rdXJsKCR0aGlzYXJ0aWNsZSkuJyknOyAvLyBhZGRlZCBwZXJt
bGluawoJCWlmICgkdGhpc2FydGljbGVbJ2V4Y2VycHQnXSkgewoJCQkkZXhjID0gc3RyaXBf
dGFncygkdGhpc2FydGljbGVbJ2V4Y2VycHQnXSk7IC8vIGFkZGVkIHN0cmlwdGFncwoJCQkk
ZXhjID0gc3RyX3JlcGxhY2UoIlx0IiwgJycsICRleGMpOyAvLyBhZGRlZCBzdHJyZXBsYWNl
CgkJCSRtc2dbXSA9IHRyaW0oJGV4Yyk7IC8vIGFkZGVkIHRyaW0KCQl9CgkJJGJkeSA9IHN0
cmlwX3RhZ3MoJHRoaXNhcnRpY2xlWydib2R5J10pOyAvLyBzYW1lIGZvciB0aGVzZSB0d28g
bGluZXMKCQkkbXNnW10gPSBzdHJfcmVwbGFjZSgiXHQiLCAnJywgJGJkeSk7CgoJCWlmICgh
cHMoJ3JlY2VpdmVyJykpIHsKCQkJcmV0dXJuIHplbV9jb250YWN0X2dUeHQoJ2ZpZWxkX21p
c3NpbmcnLCB6ZW1fY29udGFjdF9nVHh0KCdyZWNlaXZlcicpKTsKCQkJJGlzRXJyb3IgPSAi
ZXJyb3JFbGVtZW50IjsKCQl9CgkJZWxzZQoJCXsKCQkJJHRvID0gcHMoJ3JlY2VpdmVyJyk7
CgkJfQoJfQoKCQkkbXNnID0gam9pbigiXG5cbiIsICRtc2cpOwoJCSRtc2cgPSBzdHJfcmVw
bGFjZSgiXHJcbiIsICJcbiIsICRtc2cpOwoJCSRtc2cgPSBzdHJfcmVwbGFjZSgiXHIiLCAi
XG4iLCAkbXNnKTsKCQkkbXNnID0gc3RyX3JlcGxhY2UoIlxuIiwgJHNlcCwgJG1zZyk7CgoJ
CWlmICgkZnJvbSkKCQl7CgkJCSRmcm9tICA9ICRmcm9tOwoJCQkkcmVwbHkgPSAkemVtX2Nv
bnRhY3RfZnJvbTsKCQl9CgoJCWVsc2UKCQl7CgkJCSRmcm9tID0gJHplbV9jb250YWN0X2Zy
b207CgkJCSRyZXBseSA9ICcnOwoJCX0KCgkJaWYgKCRjb3B5c2VuZGVyID09ICd5ZXMnKSAv
L2NvcHlzZW5kZXIgY29uZGl0aW9uYWwgdG8gaGlkZSAkdG8gYWRkcmVzcyBmcm9tIHRoZSBz
ZW5kZXIgYWRkZWQKCQl7CgkJCSRiY2MgPSAkdG87CgkJCSR0byA9ICR6ZW1fY29udGFjdF9m
cm9tOwoJCX0KCgkJJHRvICAgICAgPSBzdHJpcF9ybigkdG8pOwoJCSRiY2MgICAgID0gc3Ry
aXBfcm4oJGJjYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
YWRkZWQKCQkkc3ViamVjdCA9IHN0cmlwX3JuKCRzdWJqZWN0KTsKCQkkZnJvbSAgICA9IHN0
cmlwX3JuKCRmcm9tKTsKCQkkcmVwbHkgICA9IHN0cmlwX3JuKCRyZXBseSk7CgoJCWlmICgk
cHJlZnNbJ292ZXJyaWRlX2VtYWlsY2hhcnNldCddKQoJCXsKCQkJJGNoYXJzZXQgPSAnSVNP
LTg1OTktMSc7CgoJCQlpZiAoaXNfY2FsbGFibGUoJ3V0ZjhfZGVjb2RlJykpCgkJCXsKCQkJ
CSR0byAgICAgID0gdXRmOF9kZWNvZGUoJHRvKTsKCQkJCSRiY2MgICAgICA9IHV0ZjhfZGVj
b2RlKCRiY2MpOyAgICAgICAgICAgICAgICAgICAgLy9hZGRlZAoJCQkJJHN1YmplY3QgPSB1
dGY4X2RlY29kZSgkc3ViamVjdCk7CgkJCQkkbXNnICAgICA9IHV0ZjhfZGVjb2RlKCRtc2cp
OwoJCQkJJGZyb20gICAgPSB1dGY4X2RlY29kZSgkZnJvbSk7CgkJCQkkcmVwbHkgICA9IHV0
ZjhfZGVjb2RlKCRyZXBseSk7CgkJCX0KCQl9CgoJCWVsc2UKCQl7CgkJCSRjaGFyc2V0ID0g
J1VURi04JzsKCQl9CgoJCSRoZWFkZXJzID0gJ0Zyb206ICcuJGZyb20uCgkJCSgkcmVwbHkg
PyAoJHNlcC4nUmVwbHktVG86ICcuJHJlcGx5KSA6ICcnKS4KCQkJKCRiY2MgPyAoJHNlcC4n
QmNjOiAnLiRiY2MpIDogJycpLiAgICAgICAgICAgICAgICAgICAgICAgIC8vYWRkZWQKCQkJ
JHNlcC4nWC1NYWlsZXI6IFRleHRwYXR0ZXJuICh6ZW1fY29udGFjdF9yZWJvcm4pJy4KCQkJ
JHNlcC4nQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdCcuCgkJCSRzZXAuJ0NvbnRl
bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iJy4kY2hhcnNldC4nIic7CgoJCWlmICht
YWlsKCR0bywgJHN1YmplY3QsICRtc2csICRoZWFkZXJzKSkKCQl7CgkJCWlmICgkcmVkaXJl
Y3QpCgkJCXsKCQkJCWhlYWRlcignSFRUUC8xLjEgMzAzIFNlZSBPdGhlcicpOwoJCQkJaGVh
ZGVyKCdTdGF0dXM6IDMwMycpOwoJCQkJaGVhZGVyKCdMb2NhdGlvbjogJy5odS4kcmVkaXJl
Y3QpOwoJCQkJaGVhZGVyKCdDb25uZWN0aW9uOiBjbG9zZScpOwoJCQl9CgoJCQllbHNlCgkJ
CXsKCQkJCSRfUE9TVCA9IGFycmF5KCk7CgoJCQkJaWYgKCRzaG93X2lucHV0ID09ICd5ZXMn
KQoJCQkJewoJCQkJCWlmICgkdGhhbmtzKQoJCQkJCXsKCQkJCQkJcmV0dXJuICR0aGFua3M7
CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoKCQllbHNlCgkJewoJCQkkb3V0IC49IGdyYWYoemVt
X2NvbnRhY3RfZ1R4dCgnbWFpbF9zb3JyeScpKTsKCQl9Cgl9CgoJaWYgKCRzaG93X2lucHV0
ID09ICd5ZXMnIGFuZCAkc2VuZF9hcnRpY2xlID09ICdubycgb3IgZ3BzKCd6ZW1fY29udGFj
dF9zZW5kX2FydGljbGUnKSkKCXsKCQlpZiAocHMoJ3plbV9jb250YWN0X3N1Ym1pdCcpKQoJ
CXsKCQkJJG5vbmNlID0gcHMoJ3plbV9jb250YWN0X25vbmNlJyk7CgoJCQlpZiAoZW1wdHko
JG5vbmNlKSkKCQkJewoJCQkJJHplbV9jb250YWN0X2Vycm9yW10gPSB6ZW1fY29udGFjdF9n
VHh0KCdmaWVsZF9taXNzaW5nJyk7CgkJCQkkaXNFcnJvciA9ICJlcnJvckVsZW1lbnQiOwoJ
CQl9CgoJCQllbHNlCgkJCXsKCQkJCXNhZmVfZGVsZXRlKCd0eHBfZGlzY3Vzc19ub25jZScs
ICdpc3N1ZV90aW1lIDwgZGF0ZV9zdWIobm93KCksIGludGVydmFsIDEwIG1pbnV0ZSknKTsK
CgkJCQkkcnMgPSBzYWZlX3JvdygnKicsICd0eHBfZGlzY3Vzc19ub25jZScsICJub25jZSA9
ICckbm9uY2UnIGFuZCB1c2VkID0gJzAnIik7CgoJCQkJaWYgKCRycykKCQkJCXsKCQkJCQlz
YWZlX3VwZGF0ZSgndHhwX2Rpc2N1c3Nfbm9uY2UnLCAidXNlZCA9ICcxJyIsICJub25jZSA9
ICckbm9uY2UnIik7CgkJCQl9CgoJCQkJZWxzZQoJCQkJewoJCQkJCSR6ZW1fY29udGFjdF9l
cnJvcltdID0gemVtX2NvbnRhY3RfZ1R4dCgnZm9ybV9leHBpcmVkJyk7CgkJCQl9CgkJCX0K
CQl9CgoJCXJldHVybiAnPGZvcm0gbWV0aG9kPSJwb3N0IiBpZD0iemVtQ29udGFjdEZvcm0i
IGFjdGlvbj0iJy5zZXJ2ZXJTZXQoJ1JFUVVFU1RfVVJJJykuJyI+Jy4KCQkJKCAkbGFiZWwg
PyBuLic8ZmllbGRzZXQ+JyA6IG4uJzxkaXY+JyApLgoJCQkoICRsYWJlbCA/IG4uJzxsZWdl
bmQ+Jy4kbGFiZWwuJzwvbGVnZW5kPicgOiAnJyApLgoJCQkkb3V0LgoJCQluLic8aW5wdXQg
dHlwZT0iaGlkZGVuIiBuYW1lPSJ6ZW1fY29udGFjdF9ub25jZSIgdmFsdWU9IicuJHplbV9j
b250YWN0X25vbmNlLiciIC8+Jy4KCQkJJGZvcm0uCgkJCSggJGxhYmVsID8gKG4uJzwvZmll
bGRzZXQ+JykgOiAobi4nPC9kaXY+JykgKS4KCQkJY2FsbGJhY2tfZXZlbnQoJ3plbWNvbnRh
Y3QuZm9ybScpLiAvLyBub3Qgc3VyZSwgaWYgaXQgc2hvdWxkIGJlIG91dHNpZGUgb3IgaW5z
aWRlIHRoZSBmaWVsZHNldC4gV2hhdCBkbyB5b3UgdGhpbmssIFN0dT8KCQkJbi4nPC9mb3Jt
Pic7Cgl9CgoJcmV0dXJuICcnOwp9CgpmdW5jdGlvbiB6ZW1fY29udGFjdF90ZXh0KCRhdHRz
KQp7CglnbG9iYWwgJHplbV9jb250YWN0X2Zvcm0sICR6ZW1fY29udGFjdF9lcnJvcjsKCgll
eHRyYWN0KGxBdHRzKGFycmF5KAoJCSdicmVhaycJCT0+IGJyLAoJCSdkZWZhdWx0Jwk9PiAn
JywKCQknaXNFcnJvcicJPT4gJycsCgkJJ2xhYmVsJwkJPT4gemVtX2NvbnRhY3RfZ1R4dCgn
dGV4dCcpLAoJCSdtYXgnCQk9PiAxMDAsCgkJJ21pbicJCT0+IDAsCgkJJ25hbWUnCQk9PiAn
JywKCQkncmVxdWlyZWQnCT0+ICd5ZXMnLAoJCSdzaXplJwkJPT4gJycKCSksICRhdHRzKSk7
CgoJaWYgKGVtcHR5KCRuYW1lKSkKCXsKCQkkbmFtZSA9IHN0cnRvbG93ZXIocHJlZ19yZXBs
YWNlKCcvXFcvJywgJycsICRsYWJlbCkpOwoJfQoKCSR2YWx1ZSA9IHBzKCRuYW1lKSA/IHBz
KCRuYW1lKSA6ICRkZWZhdWx0OwoKCWlmICgkdmFsdWUgYW5kICRtYXgpCgl7CgkJJHZhbHVl
ID0gc3Vic3RyKCR2YWx1ZSwgMCwgJG1heCk7Cgl9CgoJaWYgKHBzKCd6ZW1fY29udGFjdF9z
dWJtaXQnKSBhbmQgJHJlcXVpcmVkID09ICd5ZXMnIGFuZCBlbXB0eSgkdmFsdWUpKQoJewoJ
CSR6ZW1fY29udGFjdF9lcnJvcltdID0gemVtX2NvbnRhY3RfZ1R4dCgnZmllbGRfbWlzc2lu
ZycsICRsYWJlbCk7CgkJJGlzRXJyb3IgPSAiZXJyb3JFbGVtZW50IjsKCX0KCgllbHNlaWYg
KHBzKCRuYW1lKSBhbmQgJG1pbiBhbmQgc3RybGVuKCR2YWx1ZSkgPCAkbWluKQoJewoJCSR6
ZW1fY29udGFjdF9lcnJvcltdID0gemVtX2NvbnRhY3RfZ1R4dCgnbWluX3dhcm5pbmcnLCAk
bGFiZWwsICRtaW4pOwoJCSRpc0Vycm9yID0gImVycm9yRWxlbWVudCI7Cgl9CgoJZWxzZWlm
IChwcygkbmFtZSkpCgl7CgkJJHplbV9jb250YWN0X2Zvcm1bJGxhYmVsXSA9ICR2YWx1ZTsK
CX0KCgkkc2l6ZSA9ICgkc2l6ZSkgPyAnIHNpemU9IicuKGludCkkc2l6ZS4nIicgOiAnJzsK
CSRtYXhsZW5ndGggPSAoJG1heCkgPyAnIG1heGxlbmd0aD0iJy4oaW50KSRtYXguJyInIDog
Jyc7CgoJJHplbVJlcXVpcmVkID0gKCRyZXF1aXJlZCA9PSAneWVzJykgPyAnemVtUmVxdWly
ZWQnIDogJyc7CgogICAgICAgIHJldHVybiAnPGxhYmVsIGZvcj0iJy4kbmFtZS4nIiBjbGFz
cz0iJy4kemVtUmVxdWlyZWQuJGlzRXJyb3IuJyAnLiRuYW1lLiciPicuJGxhYmVsLic8L2xh
YmVsPicuJGJyZWFrLgoJCSc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IicuJG5hbWUuJyIgY2xh
c3M9IicuJHplbVJlcXVpcmVkLiRpc0Vycm9yLiciIG5hbWU9IicuJG5hbWUuJyIgdmFsdWU9
IicuaHRtbHNwZWNpYWxjaGFycygkdmFsdWUpLiciJy4kc2l6ZS4kbWF4bGVuZ3RoLicgLz4n
OwoKfQoKZnVuY3Rpb24gemVtX2NvbnRhY3RfdGV4dGFyZWEoJGF0dHMpCnsKCWdsb2JhbCAk
emVtX2NvbnRhY3RfZm9ybSwgJHplbV9jb250YWN0X2Vycm9yOwoKCWV4dHJhY3QobEF0dHMo
YXJyYXkoCgkJJ2JyZWFrJwkJPT4gYnIsCgkJJ2NvbHMnCQk9PiA1OCwKCQknZGVmYXVsdCcJ
PT4gJycsCgkJJ2lzRXJyb3InCT0+ICcnLAoJCSdsYWJlbCcJCT0+IHplbV9jb250YWN0X2dU
eHQoJ21lc3NhZ2UnKSwKCQknbWF4JwkJPT4gMTAwMDAsCgkJJ21pbicJCT0+IDAsCgkJJ25h
bWUnCQk9PiAnJywKCQkncmVxdWlyZWQnCT0+ICd5ZXMnLAoJCSdyb3dzJwkJPT4gOAoJKSwg
JGF0dHMpKTsKCglpZiAoZW1wdHkoJG5hbWUpKQoJewoJCSRuYW1lID0gc3RydG9sb3dlcihw
cmVnX3JlcGxhY2UoJy9cVy8nLCAnJywgJGxhYmVsKSk7Cgl9CgoJJHZhbHVlID0gcHMoJG5h
bWUpID8gcHMoJG5hbWUpIDogJGRlZmF1bHQ7CgoJaWYgKCR2YWx1ZSBhbmQgJG1heCkKCXsK
CQkkdmFsdWUgPSBzdWJzdHIoJHZhbHVlLCAwLCAkbWF4KTsKCX0KCglpZiAocHMoJ3plbV9j
b250YWN0X3N1Ym1pdCcpIGFuZCAkcmVxdWlyZWQgPT0gJ3llcycgYW5kIGVtcHR5KCR2YWx1
ZSkpCgl7CgkJJHplbV9jb250YWN0X2Vycm9yW10gPSB6ZW1fY29udGFjdF9nVHh0KCdmaWVs
ZF9taXNzaW5nJywgJGxhYmVsKTsKCQkkaXNFcnJvciA9ICJlcnJvckVsZW1lbnQiOwoJfQoK
CWVsc2VpZiAocHMoJG5hbWUpIGFuZCAkbWluIGFuZCBzdHJsZW4oJHZhbHVlKSA8ICRtaW4p
Cgl7CgkJJHplbV9jb250YWN0X2Vycm9yW10gPSB6ZW1fY29udGFjdF9nVHh0KCdtaW5fd2Fy
bmluZycsICRsYWJlbCwgJG1pbik7CgkJJGlzRXJyb3IgPSAiZXJyb3JFbGVtZW50IjsKCX0K
CgllbHNlaWYgKHBzKCRuYW1lKSkKCXsKCQkkemVtX2NvbnRhY3RfZm9ybVskbGFiZWxdID0g
JHZhbHVlOwoJfQoKCSR6ZW1SZXF1aXJlZCA9ICgkcmVxdWlyZWQgPT0gJ3llcycpID8gJ3pl
bVJlcXVpcmVkJyA6ICcnOwoKCXJldHVybiAnPGxhYmVsIGZvcj0iJy4kbmFtZS4nIiBjbGFz
cz0iJy4kemVtUmVxdWlyZWQuJGlzRXJyb3IuJyAnLiRuYW1lLiciPicuJGxhYmVsLic8L2xh
YmVsPicuJGJyZWFrLgoJCSc8dGV4dGFyZWEgaWQ9IicuJG5hbWUuJyIgY2xhc3M9IicuJHpl
bVJlcXVpcmVkLiRpc0Vycm9yLiciIG5hbWU9IicuJG5hbWUuJyIgY29scz0iJy4kY29scy4n
IiByb3dzPSInLiRyb3dzLiciPicuaHRtbHNwZWNpYWxjaGFycygkdmFsdWUpLic8L3RleHRh
cmVhPic7Cgp9CgpmdW5jdGlvbiB6ZW1fY29udGFjdF9lbWFpbCgkYXR0cykKewoJZ2xvYmFs
ICR6ZW1fY29udGFjdF9mb3JtLCAkemVtX2NvbnRhY3RfZnJvbSwgJHplbV9jb250YWN0X2Vy
cm9yOwoKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ2RlZmF1bHQnCT0+ICcnLAoJCSdpc0Vy
cm9yJwk9PiAnJywKCQknbGFiZWwnCQk9PiB6ZW1fY29udGFjdF9nVHh0KCdlbWFpbCcpLAoJ
CSdtYXgnCQk9PiAxMDAsCgkJJ21pbicJCT0+IDAsCgkJJ25hbWUnCQk9PiAnJywKCQkncmVx
dWlyZWQnCT0+ICd5ZXMnLAoJCSdicmVhaycJCT0+IGJyLAoJCSdzaXplJwkJPT4gJycKCSks
ICRhdHRzKSk7CgoJaWYgKGVtcHR5KCRuYW1lKSkKCXsKCQkkbmFtZSA9IHN0cnRvbG93ZXIo
cHJlZ19yZXBsYWNlKCcvXFcvJywgJycsICRsYWJlbCkpOwoJfQoKCSRlbWFpbCA9IHBzKCRu
YW1lKTsKCglpZiAocHMoJ3plbV9jb250YWN0X3N1Ym1pdCcpKQoJewogICAgICBpZiAoJHJl
cXVpcmVkID09ICd5ZXMnIGFuZCAhZW1wdHkoJGVtYWlsKSkgewoKCQlpZiAoIXByZWdfbWF0
Y2goJy9eW1x3Ll8tXStAKFtcdy1dK1wuKStbXHctXSskLycsICRlbWFpbCkpCgkJewoJCQkk
emVtX2NvbnRhY3RfZXJyb3JbXSA9IHplbV9jb250YWN0X2dUeHQoJ2ludmFsaWRfZW1haWwn
LCAkZW1haWwpOwoJCQkkaXNFcnJvciA9ICJlcnJvckVsZW1lbnQiOwoJCX0KCgkJZWxzZWlm
IChwcmVnX21hdGNoKCIvQCguKykkLyIsICRlbWFpbCwgJG1hdGNoKSkKCQl7CgkJCSRkb21h
aW4gPSAkbWF0Y2hbMV07CgkJCSRteCA9IDA7CgoJCQlpZiAoaXNfY2FsbGFibGUoJ2dldG14
cnInKSkKCQkJewoJCQkJJGR1bW15ID0gYXJyYXkoKTsKCQkJCSRteCA9IEBnZXRteHJyKCRk
b21haW4sICRteCk7CgkJCX0KCgkJCWlmICghJG14IGFuZCAoQGdldGhvc3RieW5hbWUoJGRv
bWFpbikgPT0gJGRvbWFpbikpCgkJCXsKCQkJCSR6ZW1fY29udGFjdF9lcnJvcltdID0gemVt
X2NvbnRhY3RfZ1R4dCgnaW52YWxpZF9ob3N0JywgJGRvbWFpbik7CgkJCQkkaXNFcnJvciA9
ICJlcnJvckVsZW1lbnQiOwoJCQl9CgoJCQllbHNlCgkJCXsKCQkJCSR6ZW1fY29udGFjdF9m
cm9tID0gJGVtYWlsOwoJCQl9CgkJfQoKCQllbHNlCgkJewoJCQkkemVtX2NvbnRhY3RfZnJv
bSA9ICRlbWFpbDsKCQl9CiAgICB9CiAgICB9CgoJcmV0dXJuIHplbV9jb250YWN0X3RleHQo
YXJyYXkoCgkJJ2RlZmF1bHQnCT0+ICRlbWFpbCwKCQknaXNFcnJvcicJPT4gJGlzRXJyb3Is
CgkJJ2xhYmVsJwkJPT4gJGxhYmVsLAoJCSdtYXgnCQk9PiAkbWF4LAoJCSdtaW4nCQk9PiAk
bWluLAoJCSduYW1lJwkJPT4gJG5hbWUsCgkJJ3JlcXVpcmVkJwk9PiAkcmVxdWlyZWQsCgkJ
J2JyZWFrJwkJPT4gJGJyZWFrLAoJCSdzaXplJwkJPT4gJHNpemUgICAgICAgCS8vIGNoYW5n
ZWQgJycgdG8gJHNpemUKCSkpOwp9CgpmdW5jdGlvbiB6ZW1fY29udGFjdF9zZWxlY3QoJGF0
dHMpCnsKCWdsb2JhbCAkemVtX2NvbnRhY3RfZm9ybSwgJHplbV9jb250YWN0X2Vycm9yOwoK
CWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ25hbWUnCQk9PiAnJywJCS8vIGFkZGVkIG5hbWUK
CQknYnJlYWsnCQk9PiAnICcsCgkJJ2RlbGltaXRlcicJPT4gJywnLAoJCSdpc0Vycm9yJwk9
PiAnJywKCQknbGFiZWwnCQk9PiB6ZW1fY29udGFjdF9nVHh0KCdvcHRpb24nKSwKCQknbGlz
dCcJCT0+IHplbV9jb250YWN0X2dUeHQoJ2dlbmVyYWxfaW5xdWlyeScpLAoJCSdyZXF1aXJl
ZCcJPT4gJ3llcycsCgkJJ3NlbGVjdGVkJwk9PiAneWVzJwoJKSwgJGF0dHMpKTsKCglpZiAo
ZW1wdHkoJG5hbWUpKQoJewoJCSRuYW1lID0gc3RydG9sb3dlcihwcmVnX3JlcGxhY2UoJy9c
Vy8nLCAnJywgJGxhYmVsKSk7Cgl9CgoJJGxpc3QgPSBhcnJheV9tYXAoJ3RyaW0nLCBzcGxp
dCgkZGVsaW1pdGVyLCAkbGlzdCkpOwoKCSR2YWx1ZSA9IHBzKCRuYW1lKSA/IHBzKCRuYW1l
KSA6ICRzZWxlY3RlZDsKCglpZiAocHMoJ3plbV9jb250YWN0X3N1Ym1pdCcpIGFuZCAkcmVx
dWlyZWQgPT0gJ3llcycgYW5kICFwcygkbmFtZSkpICAgICAgIC8vJHZhbHVlIGlzIG5ldmVy
IGVtcHR5IC0gY2hhbmdlZCB0byAkbmFtZQoJewoJCSR6ZW1fY29udGFjdF9lcnJvcltdID0g
emVtX2NvbnRhY3RfZ1R4dCgnZmllbGRfbWlzc2luZycsICRsYWJlbCk7CgkJJGlzRXJyb3Ig
PSAiZXJyb3JFbGVtZW50IjsKCX0KCgllbHNlaWYgKHBzKCRuYW1lKSBhbmQgIWluX2FycmF5
KCR2YWx1ZSwgJGxpc3QpKQoJewoJCSR6ZW1fY29udGFjdF9lcnJvcltdID0gemVtX2NvbnRh
Y3RfZ1R4dCgnaW52YWxpZF92YWx1ZScsICRsYWJlbCwgJHZhbHVlKTsKCQkkaXNFcnJvciA9
ICJlcnJvckVsZW1lbnQiOwoJfQoKCWVsc2VpZiAocHMoJG5hbWUpKQoJewoJCSR6ZW1fY29u
dGFjdF9mb3JtWyRsYWJlbF0gPSAkdmFsdWU7Cgl9CgoJJG91dCA9ICcnOwoKCWZvcmVhY2gg
KCRsaXN0IGFzICRpdGVtKQoJewoJCSRpdGVtID0gaHRtbHNwZWNpYWxjaGFycygkaXRlbSk7
CgoJCWlmICgkaXRlbSA9PSAkdmFsdWUpCQkvLyBjaGFuZ2VkICRzZWxlY3RlZCB0byAkdmFs
dWUKCQl7CgkJCSRvdXQgLj0gbi50Lic8b3B0aW9uIHNlbGVjdGVkPSIxIj4nLiRpdGVtLic8
L29wdGlvbj4nOwoJCX0KCgkJZWxzZQoJCXsKCQkJJG91dCAuPSBuLnQuJzxvcHRpb24+Jy4k
aXRlbS4nPC9vcHRpb24+JzsKCQl9Cgl9CgoJJHplbVJlcXVpcmVkID0gKCRyZXF1aXJlZCA9
PSAneWVzJykgPyAnemVtUmVxdWlyZWQnIDogJyc7CgoJcmV0dXJuICc8bGFiZWwgZm9yPSIn
LiRuYW1lLiciIGNsYXNzPSInLiR6ZW1SZXF1aXJlZC4kaXNFcnJvci4nICcuJG5hbWUuJyI+
Jy4kbGFiZWwuJzwvbGFiZWw+Jy4kYnJlYWsuCgkJbi4nPHNlbGVjdCBpZD0iJy4kbmFtZS4n
IiBuYW1lPSInLiRuYW1lLiciIGNsYXNzPSInLiR6ZW1SZXF1aXJlZC4kaXNFcnJvci4nIj4n
LgoJCQkkb3V0LgoJCW4uJzwvc2VsZWN0Pic7Cgp9CgpmdW5jdGlvbiB6ZW1fY29udGFjdF9j
aGVja2JveCgkYXR0cykKewoJZ2xvYmFsICR6ZW1fY29udGFjdF9mb3JtLCAkemVtX2NvbnRh
Y3RfZXJyb3I7CgoJZXh0cmFjdChsQXR0cyhhcnJheSgKCQknYnJlYWsnCQk9PiAnICcsCgkJ
J2NoZWNrZWQnCT0+ICdubycsCgkJJ2lzRXJyb3InCT0+ICcnLAoJCSdsYWJlbCcJCT0+IHpl
bV9jb250YWN0X2dUeHQoJ2NoZWNrYm94JyksCgkJJ25hbWUnCQk9PiAnJywKCQkncmVxdWly
ZWQnCT0+ICd5ZXMnCgkpLCAkYXR0cykpOwoKCWlmIChlbXB0eSgkbmFtZSkpCgl7CgkJJG5h
bWUgPSBzdHJ0b2xvd2VyKHByZWdfcmVwbGFjZSgnL1xXLycsICcnLCAkbGFiZWwpKTsKCX0K
CgkkdmFsdWUgPSBwcygnemVtX2NvbnRhY3Rfc3VibWl0JykgPyAoYm9vbCkgcHMoJG5hbWUp
IDogJyc7CgoJaWYgKHBzKCd6ZW1fY29udGFjdF9zdWJtaXQnKSBhbmQgJHJlcXVpcmVkID09
ICd5ZXMnIGFuZCBlbXB0eSgkdmFsdWUpKQoJewoJCSR6ZW1fY29udGFjdF9lcnJvcltdID0g
emVtX2NvbnRhY3RfZ1R4dCgnZmllbGRfbWlzc2luZycsICRsYWJlbCk7CgkJJGlzRXJyb3Ig
PSAiZXJyb3JFbGVtZW50IjsKCX0KCgllbHNlaWYgKHBzKCd6ZW1fY29udGFjdF9zdWJtaXQn
KSkKCXsKCQkkemVtX2NvbnRhY3RfZm9ybVskbGFiZWxdID0gKCR2YWx1ZSkgPyBnVHh0KCd5
ZXMnKSA6IGdUeHQoJ25vJyk7Cgl9CgoJJHplbVJlcXVpcmVkID0gKCRyZXF1aXJlZCA9PSAn
eWVzJykgPyAnemVtUmVxdWlyZWQnIDogJyc7CgoJcmV0dXJuICc8aW5wdXQgdHlwZT0iY2hl
Y2tib3giIGlkPSInLiRuYW1lLiciIGNsYXNzPSInLiR6ZW1SZXF1aXJlZC4kaXNFcnJvci4n
IiBuYW1lPSInLiRuYW1lLiciJy4KCQkoICggKCRjaGVja2VkID09ICd5ZXMnKSBhbmQgJHZh
bHVlKSA/ICcgY2hlY2tlZD0iY2hlY2tlZCIgLz4nIDogJyAvPicpLiRicmVhay4KCQknPGxh
YmVsIGZvcj0iJy4kbmFtZS4nIiBjbGFzcz0iJy4kemVtUmVxdWlyZWQuJGlzRXJyb3IuJyAn
LiRuYW1lLiciPicuJGxhYmVsLic8L2xhYmVsPic7Cgp9CgpmdW5jdGlvbiB6ZW1fY29udGFj
dF9zZXJ2ZXJpbmZvKCRhdHRzKQp7CglnbG9iYWwgJHplbV9jb250YWN0X2Zvcm0sICR6ZW1f
Y29udGFjdF9lcnJvcjsKCglleHRyYWN0KGxBdHRzKGFycmF5KAoJCSdsYWJlbCcJCT0+ICcn
LAoJCSduYW1lJwkJPT4gJycKCSksICRhdHRzKSk7CgoJaWYgKGVtcHR5KCRuYW1lKSkKCXsK
CQkkbmFtZSA9IHN0cnRvbG93ZXIocHJlZ19yZXBsYWNlKCcvXFcvJywgJycsICRsYWJlbCkp
OwoJfQoKCWlmICgkbmFtZSBhbmQgcHMoJ3plbV9jb250YWN0X3N1Ym1pdCcpKQoJewoJCSR6
ZW1fY29udGFjdF9mb3JtWyRsYWJlbF0gPSBzZXJ2ZXJTZXQoJG5hbWUpOwoJfQp9CgpmdW5j
dGlvbiB6ZW1fY29udGFjdF9zZWNyZXQoJGF0dHMsICR0aGluZyA9ICcnKQp7CglnbG9iYWwg
JHplbV9jb250YWN0X2Zvcm0sICR6ZW1fY29udGFjdF9lcnJvcjsKCglleHRyYWN0KGxBdHRz
KGFycmF5KAoJCSduYW1lJwkJPT4gJycsCgkJJ3ZhbHVlJwkJPT4gJycKCSksICRhdHRzKSk7
CgoJaWYgKCR2YWx1ZSkKCXsKCQkkdmFsdWUgPSBodG1sc3BlY2lhbGNoYXJzKCR2YWx1ZSk7
Cgl9CgoJZWxzZWlmICgkdGhpbmcpCgl7CgkJJHZhbHVlID0gaHRtbHNwZWNpYWxjaGFycyh0
cmltKHBhcnNlKCR0aGluZykpKTsKCX0KCglpZiAocHMoJG5hbWUpKQoJewoJCSR6ZW1fY29u
dGFjdF9mb3JtWyRsYWJlbF0gPSAkdmFsdWU7Cgl9CgoJcmV0dXJuICc8aW5wdXQgdHlwZT0i
aGlkZGVuIiBpZD0iJy4kbmFtZS4nIiBuYW1lPSInLiRuYW1lLiciIHZhbHVlPSInLiR2YWx1
ZS4nIiAvPic7Cn0KCmZ1bmN0aW9uIHplbV9jb250YWN0X3JhZGlvKCRhdHRzKQp7CglnbG9i
YWwgJHplbV9jb250YWN0X2Zvcm0sICR6ZW1fY29udGFjdF9lcnJvcjsKCglleHRyYWN0KGxB
dHRzKGFycmF5KAoJCSdicmVhaycJCT0+ICcgJywKCQknY2hlY2tlZCcJPT4gJ25vJywKCQkn
aXNFcnJvcicJPT4gJycsCgkJJ2xhYmVsJwkJPT4gemVtX2NvbnRhY3RfZ1R4dCgncmFkaW8n
KSwKCQknbmFtZScJCT0+ICcnCgkpLCAkYXR0cykpOwoKCWlmIChlbXB0eSgkbmFtZSkpCgl7
CgkJJG5hbWUgPSBzdHJ0b2xvd2VyKHByZWdfcmVwbGFjZSgnL1xXLycsICcnLCAkbGFiZWwp
KTsKCX0KCgkkaWQgPSBzdHJ0b2xvd2VyKHByZWdfcmVwbGFjZSgnL1xXLycsICcnLCAkbGFi
ZWwpKTsKCgoJJHZhbHVlID0gcHMoJ3plbV9jb250YWN0X3N1Ym1pdCcpID8gKGJvb2wpIChw
cygkbmFtZSkgPT0gJGlkKSA6ICgkY2hlY2tlZCA9PSAneWVzJyk7CgoJaWYgKHBzKCd6ZW1f
Y29udGFjdF9zdWJtaXQnKSkKCXsKCQlpZiAoICR2YWx1ZSApICR6ZW1fY29udGFjdF9mb3Jt
WyRuYW1lXSA9IHBzKCRuYW1lKTsKCX0KCglyZXR1cm4gJzxpbnB1dCB2YWx1ZT0iJy4kaWQu
JyIgdHlwZT0icmFkaW8iIGlkPSInLiRpZC4nIiBuYW1lPSInLiRuYW1lLiciJy4KCQkoICR2
YWx1ZSA/ICcgY2hlY2tlZD0iY2hlY2tlZCIgLz4nIDogJyAvPicpLiRicmVhay4KCQknPGxh
YmVsIGZvcj0iJy4kaWQuJyIgY2xhc3M9IicuJG5hbWUuJyI+Jy4kbGFiZWwuJzwvbGFiZWw+
JzsKfQoKZnVuY3Rpb24gemVtX2NvbnRhY3Rfc2VuZF9hcnRpY2xlKCRhdHRzKSB7CgoJaWYg
KCFpc3NldCgkX1JFUVVFU1RbJ3plbV9jb250YWN0X3NlbmRfYXJ0aWNsZSddKSkgewoJCSRs
aW5rdGV4dCA9IChlbXB0eSgkYXR0c1snbGlua3RleHQnXSkpID8gJ3NlbmQgYXJ0aWNsZScg
OiAkYXR0c1snbGlua3RleHQnXTsKCQkkam9pbiA9IChlbXB0eSgkX1NFUlZFUlsnUVVFUllf
U1RSSU5HJ10pKSA/ICc/JyA6ICcmYW1wOyc7CgkJJGhyZWYgPSAkX1NFUlZFUlsnUkVRVUVT
VF9VUkknXS4kam9pbi4nemVtX2NvbnRhY3Rfc2VuZF9hcnRpY2xlPXllcyc7CgkJcmV0dXJu
ICc8YSBocmVmPSInLiRocmVmLiciPicuJGxpbmt0ZXh0Lic8L2E+JzsKCX0KCXJldHVybjsK
Cn0KCmZ1bmN0aW9uIHplbV9jb250YWN0X3N1Ym1pdCgkYXR0cykKewoJZ2xvYmFsICR6ZW1f
Y29udGFjdF9ub25jZSwgJHplbV9jb250YWN0X2Vycm9yOwoKCWV4dHJhY3QobEF0dHMoYXJy
YXkoCgkJJ2J1dHRvbicJPT4gJ25vJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvL2J1dHRvbiBhdHRyaWJ1dGUgYWRkZWQKCQknbGFiZWwnCQk9PiB6ZW1f
Y29udGFjdF9nVHh0KCdzZW5kJykKCSksICRhdHRzKSk7CgoJaWYgKCRidXR0b24gPT0gJ3ll
cycpIC8vY29uZGl0aW9uYWwgdG8gYWRkIGEgImJ1dHRvbiIgZWxlbWVudCBhZGRlZAoJCXsK
CQlyZXR1cm4gJzxidXR0b24gdHlwZT0ic3VibWl0IiBpZD0iemVtU3VibWl0IiBuYW1lPSJ6
ZW1fY29udGFjdF9zdWJtaXQiIHZhbHVlPSInLiRsYWJlbC4nIj4nLiRsYWJlbC4nPC9idXR0
b24+JzsgLy9idXR0b24gZWxlbWVudCBhZGRlZAoJCX0KCQllbHNlCgkJewoJCXJldHVybiAn
PGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9InplbVN1Ym1pdCIgbmFtZT0iemVtX2NvbnRhY3Rf
c3VibWl0IiB2YWx1ZT0iJy4kbGFiZWwuJyIgLz4nOwoJCX0KfQoKY2xhc3MgemVtY29udGFj
dF9ldmFsdWF0aW9uIHsKCgl2YXIgJHN0YXR1czsKCglmdW5jdGlvbiB6ZW1jb250YWN0X2V2
YWx1YXRpb24oKSB7CgkJJHRoaXMtPnN0YXR1cyA9IDA7Cgl9CgoJZnVuY3Rpb24gYWRkX3pl
bWNvbnRhY3Rfc3RhdHVzKCRjaGVjaykgewoJCSR0aGlzLT5zdGF0dXMgPSAkY2hlY2s7Cgl9
CgoJZnVuY3Rpb24gZ2V0X3plbWNvbnRhY3Rfc3RhdHVzKCkgewoJCXJldHVybiAkdGhpcy0+
c3RhdHVzOwoJfQoKfQoKZnVuY3Rpb24gJmdldF96ZW1jb250YWN0X2V2YWx1YXRvcigpIHsK
CglzdGF0aWMgJGluc3RhbmNlOwoKCS8vIElmIHRoZSBpbnN0YW5jZSBpcyBub3QgdGhlcmUs
IGNyZWF0ZSBvbmUKCWlmKCFpc3NldCgkaW5zdGFuY2UpKSB7CgkJJGluc3RhbmNlID0gbmV3
IHplbWNvbnRhY3RfZXZhbHVhdGlvbigpOwoJfQoJcmV0dXJuICRpbnN0YW5jZTsKCn0KIjtz
OjM6Im1kNSI7czozMjoiZDNhOTg4YjI5OTQ2NzE3YTA0YzdlNjRlNTdhZDc2ZDMiO30=
