home.svg
Home
EV
List
A
About
Album
Animation
API
B
BIO
Blog
m_blog
C
Category
Church
Contact
CTA
DE
Dev
Email
Events
FG
Google
FAQ
Flash Messages
Footer
Form
HIL
Headings
Home-Page
Info
Integrations
MN
Misc
Modules
OP
Pagination
Portfolio
Product
QR
Quote
Restaurant
ST
Team
Test
Testimonials
Service
Shopping
U-Z
yii2
GroupA
DesignA
DesignB
DesignC
Contact
-> GroupA ->
DesignA
DesignB
DesignC
Inquiries
For any inquiries, questions
or commendations
please call: 123-456-7890
WorldHead Office
500 Terry Street
San Francisco, CA 94158
info@mysite.com
Tel: 123-456-7890
Fax: 123-456-7890
Questions or comments
Submit
Page,idxx-xx,twoColumn,
twoColumn/id24-75,Click to clipboard
ezE6IHsnZW4nOiB7J05ld1dpbmRvd09uTGluayc6ICcnLAogICAgICAgICAgICAnTm90ZXMnOiAnJywKICAgICAgICAgICAgJ1NsaWRlVHlwZSc6ICdQYW5lbCcsCiAgICAgICAgICAgICdUaXRsZSc6ICcgTXVsdGlNb2R1bGUgRGFuZ2VyICcsCiAgICAgICAgICAgICdhTGFiZWwnOiAnJywKICAgICAgICAgICAgJ2Jvb3RzdHJhcFBhbmVsVHlwZSc6ICdwcmltYXJ5JywKICAgICAgICAgICAgJ2NvZGUnOiAnJywKICAgICAgICAgICAgJ2NvZGVJbmMnOiAnIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcjIGNvbnRlbnQgYmV0d2VlbiBzdHlsZUluYyB0YWcgd2lsbCBiZSBhZGQgdG8gdGhlICcKICAgICAgICAgICAgICAgICAgICAgICAnYmVmb3JlIHRoZSBjbG9zaW5nIGhlYWQgdGFnc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPHN0eWxlSW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzwhLS0gc3R5bGVJbmMgSW5jbHVkZWQgZnJvbSBfSURfIC0tPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzxzdHlsZT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPC9zdHlsZUluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyMgY29udGVudCBiZXR3ZWVuIHNjcmlwdEluYyB0YWcgd2lsbCBiZSBhZGQgdG8gdGhlICcKICAgICAgICAgICAgICAgICAgICAgICAnYmVmb3JlIHRoZSBjbG9zaW5nIGJvZHkgdGFnc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPHNjcmlwdEluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8IS0tIHNjcmlwdEluYyBJbmNsdWRlZCBmcm9tIF9JRF8gLS0+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPHNjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8L3NjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzwvc2NyaXB0SW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyMgRW5kXHJcbicsCiAgICAgICAgICAgICdjb21wb3NlckpTT04nOiAnJywKICAgICAgICAgICAgJ2R5bmFtaWNCbG9jayc6ICcnLAogICAgICAgICAgICAnZm9vdGVyJzogJzxkaXYgY2xhc3M9ImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyICcKICAgICAgICAgICAgICAgICAgICAgICdhbGlnbi1pdGVtcy1jZW50ZXIgICBoLTEwMCI+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJkLWZsZXggIGZsZXgtY29sdW1uIGgtMTAwIj48c3BhbiAnCiAgICAgICAgICAgICAgICAgICAgICAnY2xhc3M9InAtMSI+PGEgY2xhc3M9InAtMSIgaHJlZj0iIyI+PGltZyBoZWlnaHQ9IjI1IiAnCiAgICAgICAgICAgICAgICAgICAgICAnc3JjPSIvZGVmYXVsdC9pbmMvYnVpbGQvbmVlZGVkL3N2Zy9mYi5zdmciIHdpZHRoPSIyNSIgJwogICAgICAgICAgICAgICAgICAgICAgJy8+PC9hPjxhIGNsYXNzPSJwLTEiIGhyZWY9IiMiPjxpbWcgaGVpZ2h0PSIyNSIgJwogICAgICAgICAgICAgICAgICAgICAgJ3NyYz0iL2RlZmF1bHQvaW5jL2J1aWxkL25lZWRlZC9zdmcvaWcuc3ZnIiB3aWR0aD0iMjUiICcKICAgICAgICAgICAgICAgICAgICAgICcvPjwvYT4gPGEgY2xhc3M9InAtMSIgaHJlZj0iIyI+PGltZyBoZWlnaHQ9IjI1IiAnCiAgICAgICAgICAgICAgICAgICAgICAnc3JjPSIvZGVmYXVsdC9pbmMvYnVpbGQvbmVlZGVkL3N2Zy9saW5raW4uc3ZnIiAnCiAgICAgICAgICAgICAgICAgICAgICAnd2lkdGg9IjI1IiAvPjwvYT4gPGEgY2xhc3M9InAtMSIgaHJlZj0iIyI+PGltZyAnCiAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0PSIyNSIgJwogICAgICAgICAgICAgICAgICAgICAgJ3NyYz0iL2RlZmF1bHQvaW5jL2J1aWxkL25lZWRlZC9zdmcvcGluZWNyZXN0LnN2ZyIgJwogICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoPSIyNSIgLz48L2E+IDxhIGNsYXNzPSJwLTEiIGhyZWY9IiMiPjxpbWcgJwogICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodD0iMjUiICcKICAgICAgICAgICAgICAgICAgICAgICdzcmM9Ii9kZWZhdWx0L2luYy9idWlsZC9uZWVkZWQvc3ZnL3Rpa3Rvay5zdmciICcKICAgICAgICAgICAgICAgICAgICAgICd3aWR0aD0iMjUiIC8+PC9hPiA8YSBjbGFzcz0icC0xIiBocmVmPSIjIj48aW1nICcKICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQ9IjI1IiAnCiAgICAgICAgICAgICAgICAgICAgICAnc3JjPSIvZGVmYXVsdC9pbmMvYnVpbGQvbmVlZGVkL3N2Zy90d2l0dGVyLnN2ZyIgJwogICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoPSIyNSIgLz48L2E+IDxhIGNsYXNzPSJwLTEiIGhyZWY9IiMiPjxpbWcgJwogICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodD0iMjUiICcKICAgICAgICAgICAgICAgICAgICAgICdzcmM9Ii9kZWZhdWx0L2luYy9idWlsZC9uZWVkZWQvc3ZnL3lvdXR1YmUuc3ZnIiAnCiAgICAgICAgICAgICAgICAgICAgICAnd2lkdGg9IjI1IiAvPjwvYT4gPC9zcGFuPjwvZGl2PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JywKICAgICAgICAgICAgJ2hlYWRlcic6ICc8ZGl2IGNsYXNzPSJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciAnCiAgICAgICAgICAgICAgICAgICAgICAnYWxpZ24taXRlbXMtY2VudGVyICAgaC0xMDAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZC1mbGV4ICBmbGV4LWNvbHVtbiBoLTEwMCI+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICc8aDQgY2xhc3M9InB5LTIiPklucXVpcmllczwvaDQ+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICc8c3Bhbj5Gb3IgYW55IGlucXVpcmllcywgcXVlc3Rpb25zPC9zcGFuPjxzcGFuPm9yICcKICAgICAgICAgICAgICAgICAgICAgICdjb21tZW5kYXRpb25zPC9zcGFuPiA8c3Bhbj5wbGVhc2UgY2FsbDogJwogICAgICAgICAgICAgICAgICAgICAgJzEyMy00NTYtNzg5MDwvc3Bhbj48L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicsCiAgICAgICAgICAgICdrZXl3b3Jkcyc6ICcnLAogICAgICAgICAgICAnbUltYWdlJzogJycsCiAgICAgICAgICAgICdtb2RhbERlc2MnOiAnJywKICAgICAgICAgICAgJ21vZGFsTGlua0xhYmVsJzogJycsCiAgICAgICAgICAgICdtb2RhbFNpemVMYXJnZSc6ICcnLAogICAgICAgICAgICAnbW9kYWxUaXRsZSc6ICcnLAogICAgICAgICAgICAncGhwRmlsZSc6ICcnLAogICAgICAgICAgICAncGhwRmlsZUEnOiAnJywKICAgICAgICAgICAgJ3BocEZpbGVCJzogJycsCiAgICAgICAgICAgICd0Y29kZSc6ICc8ZGl2IGNsYXNzPSJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciAnCiAgICAgICAgICAgICAgICAgICAgICdhbGlnbi1pdGVtcy1jZW50ZXIgICBoLTEwMCI+XHJcbicKICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImQtZmxleCAgZmxleC1jb2x1bW4gaC0xMDAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICc8aDQgY2xhc3M9InB5LTIiPldvcmxkSGVhZCBPZmZpY2U8L2g0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICc8c3Bhbj41MDAgVGVycnkgU3RyZWV0PC9zcGFuPiA8c3Bhbj5TYW4gRnJhbmNpc2NvLCBDQSAnCiAgICAgICAgICAgICAgICAgICAgICc5NDE1ODwvc3Bhbj48aHIgLz48c3Bhbj5pbmZvQG15c2l0ZS5jb208L3NwYW4+ICcKICAgICAgICAgICAgICAgICAgICAgJzxzcGFuPlRlbDogMTIzLTQ1Ni03ODkwPC9zcGFuPiA8c3Bhbj5GYXg6ICcKICAgICAgICAgICAgICAgICAgICAgJzEyMy00NTYtNzg5MDwvc3Bhbj48L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JywKICAgICAgICAgICAgJ3RvcEltYWdlJzogJycsCiAgICAgICAgICAgICd0b3BJbWFnZUFsdCc6ICcnLAogICAgICAgICAgICAndXJsJzogJyd9LAogICAgICdlbi1VUyc6IHsnTmV3V2luZG93T25MaW5rJzogJycsCiAgICAgICAgICAgICAgICdOb3Rlcyc6ICcnLAogICAgICAgICAgICAgICAnU2xpZGVUeXBlJzogJ1BhbmVsJywKICAgICAgICAgICAgICAgJ1RpdGxlJzogJyBNdWx0aU1vZHVsZSBEYW5nZXIgJywKICAgICAgICAgICAgICAgJ2FMYWJlbCc6ICcnLAogICAgICAgICAgICAgICAnYm9vdHN0cmFwUGFuZWxUeXBlJzogJ3ByaW1hcnknLAogICAgICAgICAgICAgICAnY29kZSc6ICcnLAogICAgICAgICAgICAgICAnY29kZUluYyc6ICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMgY29udGVudCBiZXR3ZWVuIHN0eWxlSW5jIHRhZyB3aWxsIGJlIGFkZCB0byB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdiZWZvcmUgdGhlIGNsb3NpbmcgaGVhZCB0YWdzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c3R5bGVJbmM+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPCEtLSBzdHlsZUluYyBJbmNsdWRlZCBmcm9tIF9JRF8gLS0+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPHN0eWxlPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvc3R5bGU+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlSW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBjb250ZW50IGJldHdlZW4gc2NyaXB0SW5jIHRhZyB3aWxsIGJlIGFkZCB0byB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdiZWZvcmUgdGhlIGNsb3NpbmcgYm9keSB0YWdzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0SW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwhLS0gc2NyaXB0SW5jIEluY2x1ZGVkIGZyb20gX0lEXyAtLT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvc2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9zY3JpcHRJbmM+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBFbmRcclxuJywKICAgICAgICAgICAgICAgJ2NvbXBvc2VySlNPTic6ICcnLAogICAgICAgICAgICAgICAnZHluYW1pY0Jsb2NrJzogJycsCiAgICAgICAgICAgICAgICdmb290ZXInOiAnPGRpdiBjbGFzcz0iZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ2FsaWduLWl0ZW1zLWNlbnRlciAgIGgtMTAwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImQtZmxleCAgZmxleC1jb2x1bW4gaC0xMDAiPjxzcGFuICcKICAgICAgICAgICAgICAgICAgICAgICAgICdjbGFzcz0icC0xIj48YSBjbGFzcz0icC0xIiBocmVmPSIjIj48aW1nIGhlaWdodD0iMjUiICcKICAgICAgICAgICAgICAgICAgICAgICAgICdzcmM9Ii9kZWZhdWx0L2luYy9idWlsZC9uZWVkZWQvc3ZnL2ZiLnN2ZyIgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoPSIyNSIgLz48L2E+PGEgY2xhc3M9InAtMSIgaHJlZj0iIyI+PGltZyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0PSIyNSIgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYz0iL2RlZmF1bHQvaW5jL2J1aWxkL25lZWRlZC9zdmcvaWcuc3ZnIiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGg9IjI1IiAvPjwvYT4gPGEgY2xhc3M9InAtMSIgaHJlZj0iIyI+PGltZyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0PSIyNSIgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYz0iL2RlZmF1bHQvaW5jL2J1aWxkL25lZWRlZC9zdmcvbGlua2luLnN2ZyIgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoPSIyNSIgLz48L2E+IDxhIGNsYXNzPSJwLTEiIGhyZWY9IiMiPjxpbWcgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodD0iMjUiICcKICAgICAgICAgICAgICAgICAgICAgICAgICdzcmM9Ii9kZWZhdWx0L2luYy9idWlsZC9uZWVkZWQvc3ZnL3BpbmVjcmVzdC5zdmciICcKICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aD0iMjUiIC8+PC9hPiA8YSBjbGFzcz0icC0xIiBocmVmPSIjIj48aW1nICcKICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQ9IjI1IiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjPSIvZGVmYXVsdC9pbmMvYnVpbGQvbmVlZGVkL3N2Zy90aWt0b2suc3ZnIiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGg9IjI1IiAvPjwvYT4gPGEgY2xhc3M9InAtMSIgaHJlZj0iIyI+PGltZyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0PSIyNSIgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYz0iL2RlZmF1bHQvaW5jL2J1aWxkL25lZWRlZC9zdmcvdHdpdHRlci5zdmciICcKICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aD0iMjUiIC8+PC9hPiA8YSBjbGFzcz0icC0xIiBocmVmPSIjIj48aW1nICcKICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQ9IjI1IiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjPSIvZGVmYXVsdC9pbmMvYnVpbGQvbmVlZGVkL3N2Zy95b3V0dWJlLnN2ZyIgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoPSIyNSIgLz48L2E+IDwvc3Bhbj48L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicsCiAgICAgICAgICAgICAgICdoZWFkZXInOiAnPGRpdiBjbGFzcz0iZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ2FsaWduLWl0ZW1zLWNlbnRlciAgIGgtMTAwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImQtZmxleCAgZmxleC1jb2x1bW4gaC0xMDAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAnPGg0IGNsYXNzPSJweS0yIj5JbnF1aXJpZXM8L2g0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4+Rm9yIGFueSBpbnF1aXJpZXMsIHF1ZXN0aW9uczwvc3Bhbj48c3Bhbj5vciAnCiAgICAgICAgICAgICAgICAgICAgICAgICAnY29tbWVuZGF0aW9uczwvc3Bhbj4gPHNwYW4+cGxlYXNlIGNhbGw6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICcxMjMtNDU2LTc4OTA8L3NwYW4+PC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nLAogICAgICAgICAgICAgICAna2V5d29yZHMnOiAnJywKICAgICAgICAgICAgICAgJ21JbWFnZSc6ICcnLAogICAgICAgICAgICAgICAnbW9kYWxEZXNjJzogJycsCiAgICAgICAgICAgICAgICdtb2RhbExpbmtMYWJlbCc6ICcnLAogICAgICAgICAgICAgICAnbW9kYWxTaXplTGFyZ2UnOiAnJywKICAgICAgICAgICAgICAgJ21vZGFsVGl0bGUnOiAnJywKICAgICAgICAgICAgICAgJ3BocEZpbGUnOiAnJywKICAgICAgICAgICAgICAgJ3BocEZpbGVBJzogJycsCiAgICAgICAgICAgICAgICdwaHBGaWxlQic6ICcnLAogICAgICAgICAgICAgICAndGNvZGUnOiAnPGRpdiBjbGFzcz0iZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgJwogICAgICAgICAgICAgICAgICAgICAgICAnYWxpZ24taXRlbXMtY2VudGVyICAgaC0xMDAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJkLWZsZXggIGZsZXgtY29sdW1uIGgtMTAwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAnPGg0IGNsYXNzPSJweS0yIj5Xb3JsZEhlYWQgT2ZmaWNlPC9oND5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4+NTAwIFRlcnJ5IFN0cmVldDwvc3Bhbj4gPHNwYW4+U2FuIEZyYW5jaXNjbywgQ0EgJwogICAgICAgICAgICAgICAgICAgICAgICAnOTQxNTg8L3NwYW4+PGhyIC8+PHNwYW4+aW5mb0BteXNpdGUuY29tPC9zcGFuPiAnCiAgICAgICAgICAgICAgICAgICAgICAgICc8c3Bhbj5UZWw6IDEyMy00NTYtNzg5MDwvc3Bhbj4gPHNwYW4+RmF4OiAnCiAgICAgICAgICAgICAgICAgICAgICAgICcxMjMtNDU2LTc4OTA8L3NwYW4+PC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicsCiAgICAgICAgICAgICAgICd0b3BJbWFnZSc6ICcnLAogICAgICAgICAgICAgICAndG9wSW1hZ2VBbHQnOiAnJywKICAgICAgICAgICAgICAgJ3VybCc6ICcnfX0sCiAyOiB7J2VuJzogeydTbGlkZVR5cGUnOiAnVGlueU1DRScsCiAgICAgICAgICAgICdhSW1hZ2UnOiAnJywKICAgICAgICAgICAgJ2FMYWJlbCc6ICdodG1sIGZvcm0nLAogICAgICAgICAgICAnY29kZSc6ICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJ3NldF9lcnJvcl9oYW5kbGVyKGZ1bmN0aW9uKCRfZXJybm8sICRlcnJzdHIpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICcgIC8vIENvbnZlcnQgbm90aWNlLCB3YXJuaW5nLCBldGMuIHRvIGVycm9yLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgdGhyb3cgbmV3IEVycm9yKCRlcnJzdHIpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJ30pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJ3RyeSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAnICByZXF1aXJlICRyZWxfcm9vdCAuICcKICAgICAgICAgICAgICAgICAgICAiJy9waHAvZ29vZ2xlL3JlY2FwdGNoYS1tYXN0ZXIvc3JjL2F1dG9sb2FkLnBocCc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAiICByZXF1aXJlICdfQXJlYV8vcGhwL215Zm9ybS5waHAnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgLy8gUmVnaXN0ZXIgQVBJIGtleXMgYXQgJwogICAgICAgICAgICAgICAgICAgICdodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hZG1pblxyXG4nCiAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgJHNpdGVLZXkgPSAnCiAgICAgICAgICAgICAgICAgICAgIic2TGZMR2hrcUFBQUFBSThGNmZhQ1Q0R1BYc1RxRnJVamlmbDMyZmNuJztcclxuIgogICAgICAgICAgICAgICAgICAgICcgICRzZWNyZXQgPSAnCiAgICAgICAgICAgICAgICAgICAgIic2TGZMR2hrcUFBQUFBQWRkbzBkOGhDOXNPd0NORkFkRy1KdWstZGhQJztcclxuIgogICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICIgIGlmIChpc3NldCgkX1BPU1RbJ2ctcmVjYXB0Y2hhLXJlc3BvbnNlJ10pKSB7XHJcbiIKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIFRoZSBQT1NUIGRhdGEgaGVyZSBpcyB1bmZpbHRlcmVkIGJlY2F1c2UgdGhpcyBpcyAnCiAgICAgICAgICAgICAgICAgICAgJ2FuIGV4YW1wbGUuXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIEluIHByb2R1Y3Rpb24sICphbHdheXMqIHNhbml0aXNlIGFuZCB2YWxpZGF0ZSB5b3VyICcKICAgICAgICAgICAgICAgICAgICAiaW5wdXQnXHJcbiIKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIHZhcl9leHBvcnQoJF9QT1NUKTtcclxuJwogICAgICAgICAgICAgICAgICAgICc/PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJzw/cGhwXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIElmIHRoZSBmb3JtIHN1Ym1pc3Npb24gaW5jbHVkZXMgdGhlICcKICAgICAgICAgICAgICAgICAgICAnImctY2FwdGNoYS1yZXNwb25zZSIgZmllbGRcclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgLy8gQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBzZXJ2aWNlIHVzaW5nIHlvdXIgJwogICAgICAgICAgICAgICAgICAgICdzZWNyZXRcclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgJHJlY2FwdGNoYSA9IG5ldyBcXFJlQ2FwdGNoYVxcUmVDYXB0Y2hhKCRzZWNyZXQpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICAvLyBJZiBmaWxlX2dldF9jb250ZW50cygpIGlzIGxvY2tlZCBkb3duIG9uIHlvdXIgUEhQICcKICAgICAgICAgICAgICAgICAgICAnaW5zdGFsbGF0aW9uIHRvIGRpc2FsbG93XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIGl0cyB1c2Ugd2l0aCBVUkxzLCB0aGVuIHlvdSBjYW4gdXNlIHRoZSAnCiAgICAgICAgICAgICAgICAgICAgJ2FsdGVybmF0aXZlIHJlcXVlc3QgbWV0aG9kIGluc3RlYWQuXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIFRoaXMgbWFrZXMgdXNlIG9mIGZzb2Nrb3BlbigpIGluc3RlYWQuXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vICAkcmVjYXB0Y2hhID0gbmV3IFxcUmVDYXB0Y2hhXFxSZUNhcHRjaGEoJHNlY3JldCwgJwogICAgICAgICAgICAgICAgICAgICduZXcgXFxSZUNhcHRjaGFcXFJlcXVlc3RNZXRob2RcXFNvY2tldFBvc3QoKSk7XHJcbicKICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIE1ha2UgdGhlIGNhbGwgdG8gdmVyaWZ5IHRoZSByZXNwb25zZSBhbmQgYWxzbyBwYXNzICcKICAgICAgICAgICAgICAgICAgICAidGhlIHVzZXIncyBJUCBhZGRyZXNzXHJcbiIKICAgICAgICAgICAgICAgICAgICAnICAgICRyZXNwID0gJwogICAgICAgICAgICAgICAgICAgICIkcmVjYXB0Y2hhLT5zZXRFeHBlY3RlZEhvc3RuYW1lKCRfU0VSVkVSWydTRVJWRVJfTkFNRSddKVxyXG4iCiAgICAgICAgICAgICAgICAgICAgIiAgICAgIC0+dmVyaWZ5KCRfUE9TVFsnZy1yZWNhcHRjaGEtcmVzcG9uc2UnXSwgIgogICAgICAgICAgICAgICAgICAgICIkX1NFUlZFUlsnUkVNT1RFX0FERFInXSk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAnICAgIGlmICgkcmVzcC0+aXNTdWNjZXNzKCkpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgICAvLyBJZiB0aGUgcmVzcG9uc2UgaXMgYSBzdWNjZXNzLCBwcm9jZXNzIHRoZSAnCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1cclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgICBwcm9jX2Zvcm0oJHJlbF9yb290KTtcclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgICAvL3Zhcl9leHBvcnQoJHJlc3ApO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtc3VjY2VzcyIgcm9sZT0iYWxlcnQiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgPGgxPiBUaGFua3MgZm9yIHlvdXIgc3VibWl0ISBXZSB3aWxsIGNvbnRhY3QgeW91ICcKICAgICAgICAgICAgICAgICAgICAnc2hvcnRseSEgPC9oMT5cclxuJwogICAgICAgICAgICAgICAgICAgICc8L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICB9IGVsc2Uge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgIiAgICAgIC8vIElmIGl0J3Mgbm90IHN1Y2Nlc3NmdWwsIHRoZW4gb25lIG9yIG1vcmUgZXJyb3IgIgogICAgICAgICAgICAgICAgICAgICdjb2RlcyB3aWxsIGJlIHJldHVybmVkLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicKICAgICAgICAgICAgICAgICAgICAnPGgyPlNvbWV0aGluZyB3ZW50IHdyb25nPC9oMj5cclxuJwogICAgICAgICAgICAgICAgICAgICc8a2JkPjxwcmU+PD9waHAgdmFyX2V4cG9ydCgkcmVzcCk7Pz48L3ByZT48L2tiZD5cclxuJwogICAgICAgICAgICAgICAgICAgICc8cD5DaGVjayB0aGUgZXJyb3IgY29kZSByZWZlcmVuY2UgYXQgPGtiZD48YSAnCiAgICAgICAgICAgICAgICAgICAgJ2hyZWY9Imh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3JlY2FwdGNoYS9kb2NzL3ZlcmlmeSNlcnJvci1jb2RlLXJlZmVyZW5jZSI+aHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcmVjYXB0Y2hhL2RvY3MvdmVyaWZ5I2Vycm9yLWNvZGUtcmVmZXJlbmNlPC9hPjwva2JkPi5cclxuJwogICAgICAgICAgICAgICAgICAgICc8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEVycm9yIGNvZGUgJwogICAgICAgICAgICAgICAgICAgICc8a2JkPm1pc3NpbmctaW5wdXQtcmVzcG9uc2U8L2tiZD4gbWF5IG1lYW4gdGhlIHVzZXIganVzdCAnCiAgICAgICAgICAgICAgICAgICAgImRpZG4ndCBjb21wbGV0ZSB0aGUgcmVDQVBUQ0hBLjwvcD5cclxuIgogICAgICAgICAgICAgICAgICAgICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICB9IFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgfSBlbHNlIHtcclxuJwogICAgICAgICAgICAgICAgICAgICc/PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgaWQ9Il9NSURYX2xvYWRlciIgY2xhc3M9Im14LWF1dG8gcC00Ij48L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICc8Zm9ybSBhY3Rpb249IiMiIG1ldGhvZD0icG9zdCIgaWQ9ImRlbW8tZm9ybSI+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgPGlucHV0IHR5cGU9ImVtYWlsIiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJlbWFpbCIgJwogICAgICAgICAgICAgICAgICAgICdwbGFjZWhvbGRlcj0iWW91ciBlbWFpbCI+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICA8L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICA8aW5wdXQgdHlwZT0iZW1haWwiIGNsYXNzPSJmb3JtLWNvbnRyb2wiICcKICAgICAgICAgICAgICAgICAgICAnbmFtZT0icmVxdXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJZb3VyIG5hbWUiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgPC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiICcKICAgICAgICAgICAgICAgICAgICAnbmFtZT0ic3ViamVjdCIgcGxhY2Vob2xkZXI9IlN1YmplY3QiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgPC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICBcclxuJwogICAgICAgICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICA8bGFiZWwgZm9yPSJleGFtcGxlRm9ybUNvbnRyb2xUZXh0YXJlYTEiID5RdWVzdGlvbnMgJwogICAgICAgICAgICAgICAgICAgICdvciBjb21tZW50czwvbGFiZWw+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIDx0ZXh0YXJlYSBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJtZXNzYWdlIiAnCiAgICAgICAgICAgICAgICAgICAgJ3Jvd3M9IjMiPjwvdGV4dGFyZWE+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICA8L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICcgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iZy1yZWNhcHRjaGEgYnRuICcKICAgICAgICAgICAgICAgICAgICAnYnRuLXByaW1hcnkgYnRuLWJsb2NrIiBkYXRhLXNpdGVrZXk9Ijw/cGhwIGVjaG8gJHNpdGVLZXk7ICcKICAgICAgICAgICAgICAgICAgICAnPz4iIGRhdGEtY2FsbGJhY2s9XCdvblN1Ym1pdFwnPlN1Ym1pdDwvYnV0dG9uPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJzwvZm9ybT5cclxuJwogICAgICAgICAgICAgICAgICAgICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgJwogICAgICAgICAgICAgICAgICAgICdzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vcmVjYXB0Y2hhL2FwaS5qcz9obD08P3BocCAnCiAgICAgICAgICAgICAgICAgICAgJ2VjaG8gJENNU19sYzsgPz4iIGFzeW5jIGRlZmVyPjwvc2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5cclxuJwogICAgICAgICAgICAgICAgICAgICcgIGZ1bmN0aW9uIG9uU3VibWl0KHRva2VuKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW1vLWZvcm0iKS5zdHlsZS5kaXNwbGF5ID0gJwogICAgICAgICAgICAgICAgICAgICcibm9uZSI7XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgICcKICAgICAgICAgICAgICAgICAgICAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIl9NSURYX2xvYWRlciIpLmNsYXNzTGlzdC5hZGQoXCdsb2FkZXJcJyk7XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW1vLWZvcm0iKS5zdWJtaXQoKTtcclxuJwogICAgICAgICAgICAgICAgICAgICcgIH1cclxuJwogICAgICAgICAgICAgICAgICAgICc8L3NjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgfSBcclxuJwogICAgICAgICAgICAgICAgICAgICd9IGNhdGNoIChUaHJvd2FibGUgJGUpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICcgIG15bG9nKCRlKTtcclxuJwogICAgICAgICAgICAgICAgICAgICcgIGVjaG8gJGU7XHJcbicKICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicsCiAgICAgICAgICAgICdjb2RlSW5jJzogJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnIyBjb250ZW50IGJldHdlZW4gc3R5bGVJbmMgdGFnIHdpbGwgYmUgYWRkIHRvIHRoZSAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2JlZm9yZSB0aGUgY2xvc2luZyBoZWFkIHRhZ3NcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzxzdHlsZUluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8IS0tIHN0eWxlSW5jIEluY2x1ZGVkIGZyb20gX0lEXyAtLT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8c3R5bGU+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnI19JRF8gLmxvYWRlciB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBib3JkZXI6IDE2cHggc29saWQgI2YzZjNmMzsgLyogTGlnaHQgZ3JleSAqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgYm9yZGVyLXRvcDogMTZweCBzb2xpZCAjMzQ5OGRiOyAvKiBCbHVlICovXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICB3aWR0aDogMTIwcHg7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBoZWlnaHQ6IDEyMHB4O1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICd9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnQGtleWZyYW1lcyBzcGluIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzwvc3R5bGU+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlSW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnIyBjb250ZW50IGJldHdlZW4gc2NyaXB0SW5jIHRhZyB3aWxsIGJlIGFkZCB0byB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICdiZWZvcmUgdGhlIGNsb3NpbmcgYm9keSB0YWdzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0SW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzwhLS0gc2NyaXB0SW5jIEluY2x1ZGVkIGZyb20gX0lEXyAtLT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzwvc2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPC9zY3JpcHRJbmM+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnIyBFbmRcclxuJywKICAgICAgICAgICAgJ2NvbXBvc2VySlNPTic6ICcnLAogICAgICAgICAgICAnZHluYW1pY0Jsb2NrJzogJycsCiAgICAgICAgICAgICdrZXl3b3Jkcyc6ICcnLAogICAgICAgICAgICAncGhwRmlsZSc6ICc8P3BocCAvKiBfQXJlYV8vcGhwL215Zm9ybS5waHAgKi8gIFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJy8vIGZvciBkZWJ1Z2dpbmdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdmdW5jdGlvbiBteWxvZygkbXNnKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAkaCA9IGZvcGVuKCcvaG9tZS9jbXNub3cvYWNjZXNzX2xvZycsICdhJyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICBmd3JpdGUoJGgsIHRpbWUoKSk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBmd3JpdGUoJGgsICRtc2cpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgZmNsb3NlKCRoKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICd9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnZnVuY3Rpb24gcHJvY19mb3JtKCRyZWxfcm9vdCkge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgdHJ5IHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9yZXF1aXJlICRyZWxfcm9vdCAuICcKICAgICAgICAgICAgICAgICAgICAgICAiJy8uLi8uLi9waHAvQXNPbmUvbWlzYy5waHAnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICByZXF1aXJlICRyZWxfcm9vdCAuICcKICAgICAgICAgICAgICAgICAgICAgICAiJy9waHAvUEhQTWFpbGVyL1BIUE1haWxlckF1dG9sb2FkLnBocCc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIHRvIGRpc2FibGUgYnkgYXNzaWduIGFuIGVtcHR5IHN0cmluZ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkYnVnemlsbGFTZXJ2ZXIgPSAnYnVnLndlYmNtcy1hLmNvbSc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICRlbWFpbFNNVFAgPSAnc210cC5iaXptYWlsLnlhaG9vLmNvbSc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICRlbWFpbFVzZXIgPSAnbm8tcmVwbHlAYXNvbmVsaXN0LmNvbSc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICRlbWFpbFBhc3N3ZCA9ICd1eXF2Y3ZsY2tuZXBkc2lyJztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgJG5vdGlmeUVtYWlsID0gJ2luZm9Ad2ViYXNvbmUuY29tJztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9teWxvZygiY2FsbCBwcm9jX2Zvcm0iKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgLy8kYXNvbmVGaWxlID0gbmV3IEFzT25lRmlsZSgnX0lEWF8nLCAiCiAgICAgICAgICAgICAgICAgICAgICAgJ0Fzb25lUGF0aCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICRtYWlsID0gbmV3IFBIUE1haWxlcjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9UZWxsIFBIUE1haWxlciB0byB1c2UgU01UUFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1RlbGwgUEhQTWFpbGVyIHRvIHVzZSBTTVRQXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICRtYWlsLT5pc1NNVFAoKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9FbmFibGUgU01UUCBkZWJ1Z2dpbmdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gMCA9IG9mZiAoZm9yIHByb2R1Y3Rpb24gdXNlKVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyAxID0gY2xpZW50IG1lc3NhZ2VzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIDIgPSBjbGllbnQgYW5kIHNlcnZlciBtZXNzYWdlc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbC0+U01UUERlYnVnID0gMDtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9Bc2sgZm9yIEhUTUwtZnJpZW5kbHkgZGVidWcgb3V0cHV0XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICRtYWlsLT5EZWJ1Z291dHB1dCA9ICdodG1sJztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9TZXQgdGhlIGhvc3RuYW1lIG9mIHRoZSBtYWlsIHNlcnZlclxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbC0+SG9zdCA9ICRlbWFpbFNNVFA7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IHRoZSBTTVRQIHBvcnQgbnVtYmVyIC0gbGlrZWx5IHRvIGJlIDI1LCA0NjUgJwogICAgICAgICAgICAgICAgICAgICAgICdvciA1ODdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlBvcnQgPSA0NjU7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICRtYWlsLT5TTVRQU2VjdXJlID0gJ3NzbCc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vV2hldGhlciB0byB1c2UgU01UUCBhdXRoZW50aWNhdGlvblxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbC0+U01UUEF1dGggPSB0cnVlO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1VzZXJuYW1lIHRvIHVzZSBmb3IgU01UUCBhdXRoZW50aWNhdGlvblxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbC0+VXNlcm5hbWUgPSAkZW1haWxVc2VyO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1Bhc3N3b3JkIHRvIHVzZSBmb3IgU01UUCBhdXRoZW50aWNhdGlvblxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbC0+UGFzc3dvcmQgPSAkZW1haWxQYXNzd2Q7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IHdobyB0aGUgbWVzc2FnZSBpcyB0byBiZSBzZW50IGZyb21cclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgJG1haWwtPnNldEZyb20oJGVtYWlsVXNlciwgJF9TRVJWRVJbJ0hUVFBfSE9TVCddLicgIgogICAgICAgICAgICAgICAgICAgICAgICJTdWJtaXQnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9TZXQgYW4gYWx0ZXJuYXRpdmUgcmVwbHktdG8gYWRkcmVzc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+YWRkUmVwbHlUbygnRG8gbm90IHJlcGx5JywgJ0RvIG5vdCAiCiAgICAgICAgICAgICAgICAgICAgICAgInJlcGx5Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IHdobyB0aGUgbWVzc2FnZSBpcyB0byBiZSBzZW50IHRvXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICRtYWlsLT5hZGRBZGRyZXNzKCRub3RpZnlFbWFpbCwgJ0RvIG5vdCAiCiAgICAgICAgICAgICAgICAgICAgICAgIlJlcGx5Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IHRoZSBzdWJqZWN0IGxpbmVcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9zZW5kIGVtYWlsXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICRtYWlsLT5TdWJqZWN0ID0gJyhEbyBub3QgcmVwbHkpIGZyb20gIgogICAgICAgICAgICAgICAgICAgICAgICInLmdldGhvc3RuYW1lKCk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgIC8vJG1zZyA9ICc8cD5XZWJzaXRlOiAlczwvcD4nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbXNnID0gJyc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgIGlmIChpc3NldCgkX1JFUVVFU1RbJ3JlcXVzZXJuYW1lJ10pKSAkbXNnIC49ICIKICAgICAgICAgICAgICAgICAgICAgICAnXCdGcm9tOiAgXCcuJF9SRVFVRVNUW1wncmVxdXNlcm5hbWVcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgIGlmIChpc3NldCgkX1JFUVVFU1RbJ2VtYWlsJ10pKSAkbXNnIC49ICdFbWFpbDogIgogICAgICAgICAgICAgICAgICAgICAgICdcJy4kX1JFUVVFU1RbXCdlbWFpbFwnXS4iXFxuIjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgaWYgKGlzc2V0KCRfUkVRVUVTVFsnc3ViamVjdCddKSkgJG1zZyAuPSAnU3ViamVjdDogIgogICAgICAgICAgICAgICAgICAgICAgICdcJy4kX1JFUVVFU1RbXCdzdWJqZWN0XCddLiJcXG4iO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAvL2lmIChpc3NldCgkX1JFUVVFU1RbJ2NodXJjaHdlYnNpdGUnXSkpICRtc2cgLj0gIgogICAgICAgICAgICAgICAgICAgICAgICInY2h1cmNod2Vic2l0ZTogIgogICAgICAgICAgICAgICAgICAgICAgICdcJy4kX1JFUVVFU1RbXCdjaHVyY2h3ZWJzaXRlXCddLiJcXG4iO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbXNnIC49ICJNZXNzYWdlOlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgIGlmIChpc3NldCgkX1JFUVVFU1RbJ21lc3NhZ2UnXSkpICRtc2cgLj0gIgogICAgICAgICAgICAgICAgICAgICAgICckX1JFUVVFU1RbXCdtZXNzYWdlXCddLiJcXG4iO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+bXNnSFRNTCgnPHByZT4nLiRtc2cuJzwvcHJlPicpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICBpZiAoJG1haWwtPnNlbmQoKSkge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICB9IGVsc2Uge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIGVjaG8gIjxoMz4gU3lzdGVtIEVycm9yLiA8L2gzPiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIH1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJGJtc2cgPSBcJ0Zyb206IGJ1Z0B3ZWJhc29uZS5jb21cJy4gIlxcbiIuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgJ1N1YmplY3Q6IFVzZXIgU3VibWl0IGZyb20gIgogICAgICAgICAgICAgICAgICAgICAgICdcJy5nZXRob3N0bmFtZSgpLiJcXG5cXG4iLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIFwnQHByb2R1Y3QgPSBXZWJBc09uZVwnLiJcXG4iLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIFwnQGNvbXBvbmVudCA9IFVzZXJSZXBvcnRcJy4iXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICBcJ0BvcF9zeXMgTGludXhcJy4iXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICBcJ0ByZXBfcGxhdGZvcm0gQWxsXCcuIlxcbiIuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgXCdAdmVyc2lvbiA9IDEuMC4wXCcuIlxcbiIuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgXCdAU2V2ZXJpdHkgPSBub3JtYWxcJy4iXFxuXFxuXFxuIi4gICAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgJG1zZztcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJwogICAgICAgICAgICAgICAgICAgICAgICdmaWxlX3B1dF9jb250ZW50cygiL2hvbWUvY21zbm93L2Zvcm1fbXNnLnR4dCIsJGJtc2cpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICBpZiAoJGJ1Z3ppbGxhU2VydmVyKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgJGRlc2NyaXB0b3JzcGVjID0gYXJyYXkoXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAwID0+IGFycmF5KCJwaXBlIiwgInIiKSwgIC8vIHN0ZGluIGlzIGEgcGlwZSAnCiAgICAgICAgICAgICAgICAgICAgICAgJ3RoYXQgdGhlIGNoaWxkIHdpbGwgcmVhZCBmcm9tXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAxID0+IGFycmF5KCJwaXBlIiwgInciKSwgIC8vIHN0ZG91dCBpcyBhIHBpcGUgJwogICAgICAgICAgICAgICAgICAgICAgICd0aGF0IHRoZSBjaGlsZCB3aWxsIHdyaXRlIHRvXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAyID0+IGFycmF5KCJmaWxlIiwgJwogICAgICAgICAgICAgICAgICAgICAgICciL2hvbWUvY21zbm93Ly9lcnJvci1vdXRwdXQudHh0IiwgIncrIikgLy8gc3RkZXJyIGlzIGEgJwogICAgICAgICAgICAgICAgICAgICAgICdmaWxlIHRvIHdyaXRlIHRvXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAkY21kID0gJ3NzaCAnLiRidWd6aWxsYVNlcnZlci4nICIKICAgICAgICAgICAgICAgICAgICAgICAnIi9ob21lL2Ntc25vdy93d3cvaG9zdHMvXCcuJGJ1Z3ppbGxhU2VydmVyLlwnL2RvY3MvZW1haWxfaW4ucGwiXCc7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgJHByb2Nlc3MgPSBwcm9jX29wZW4oJGNtZCwgJGRlc2NyaXB0b3JzcGVjLCAnCiAgICAgICAgICAgICAgICAgICAgICAgJyRwaXBlcyk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgaWYgKGlzX3Jlc291cmNlKCRwcm9jZXNzKSkge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gJHBpcGVzIG5vdyBsb29rcyBsaWtlIHRoaXM6XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyAwID0+IHdyaXRlYWJsZSBoYW5kbGUgY29ubmVjdGVkIHRvIGNoaWxkICcKICAgICAgICAgICAgICAgICAgICAgICAnc3RkaW5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIDEgPT4gcmVhZGFibGUgaGFuZGxlIGNvbm5lY3RlZCB0byBjaGlsZCAnCiAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZG91dFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgZndyaXRlKCRwaXBlc1swXSwgJGJtc2cpOyAvLyAnCiAgICAgICAgICAgICAgICAgICAgICAgImZpbGVfZ2V0X2NvbnRlbnRzKCdwaHA6Ly9zdGRpbicpXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBmY2xvc2UoJHBpcGVzWzBdKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICRvdXRwdXQgPSBzdHJlYW1fZ2V0X2NvbnRlbnRzKCRwaXBlc1sxXSk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAjZWNobyAkb3V0cHV0O1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgZmNsb3NlKCRwaXBlc1sxXSk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyBJdCBpcyBpbXBvcnRhbnQgdGhhdCB5b3UgY2xvc2UgYW55IHBpcGVzICcKICAgICAgICAgICAgICAgICAgICAgICAnYmVmb3JlIGNhbGxpbmdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIHByb2NfY2xvc2UgaW4gb3JkZXIgdG8gYXZvaWQgYSBkZWFkbG9ja1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJHJldHVybl92YWx1ZSA9IHByb2NfY2xvc2UoJHByb2Nlc3MpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgI2VjaG8gJHJldHVybl92YWx1ZTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIH0gICAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICB9IGNhdGNoIChUaHJvd2FibGUgJGUpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgbXlsb2coJGUpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICBlY2hvICRlOyAvLyBFcnJvcjogVW5kZWZpbmVkIHZhcmlhYmxlOiB0dy4uLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ31cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc/PlxyXG4nLAogICAgICAgICAgICAncGhwRmlsZUEnOiAnJywKICAgICAgICAgICAgJ3BocEZpbGVCJzogJycsCiAgICAgICAgICAgICd0Y29kZSc6ICcnLAogICAgICAgICAgICAndmNvZGUnOiAnJ30sCiAgICAgJ2VuLVVTJzogeydTbGlkZVR5cGUnOiAnVGlueU1DRScsCiAgICAgICAgICAgICAgICdhSW1hZ2UnOiAnJywKICAgICAgICAgICAgICAgJ2FMYWJlbCc6ICdodG1sIGZvcm0nLAogICAgICAgICAgICAgICAnY29kZSc6ICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ3NldF9lcnJvcl9oYW5kbGVyKGZ1bmN0aW9uKCRfZXJybm8sICRlcnJzdHIpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIC8vIENvbnZlcnQgbm90aWNlLCB3YXJuaW5nLCBldGMuIHRvIGVycm9yLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgdGhyb3cgbmV3IEVycm9yKCRlcnJzdHIpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ30pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ3RyeSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICByZXF1aXJlICRyZWxfcm9vdCAuICcKICAgICAgICAgICAgICAgICAgICAgICAiJy9waHAvZ29vZ2xlL3JlY2FwdGNoYS1tYXN0ZXIvc3JjL2F1dG9sb2FkLnBocCc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICByZXF1aXJlICdfQXJlYV8vcGhwL215Zm9ybS5waHAnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgLy8gUmVnaXN0ZXIgQVBJIGtleXMgYXQgJwogICAgICAgICAgICAgICAgICAgICAgICdodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hZG1pblxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgJHNpdGVLZXkgPSAnCiAgICAgICAgICAgICAgICAgICAgICAgIic2TGZMR2hrcUFBQUFBSThGNmZhQ1Q0R1BYc1RxRnJVamlmbDMyZmNuJztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICcgICRzZWNyZXQgPSAnCiAgICAgICAgICAgICAgICAgICAgICAgIic2TGZMR2hrcUFBQUFBQWRkbzBkOGhDOXNPd0NORkFkRy1KdWstZGhQJztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgIGlmIChpc3NldCgkX1BPU1RbJ2ctcmVjYXB0Y2hhLXJlc3BvbnNlJ10pKSB7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIFRoZSBQT1NUIGRhdGEgaGVyZSBpcyB1bmZpbHRlcmVkIGJlY2F1c2UgdGhpcyAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2lzIGFuIGV4YW1wbGUuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIEluIHByb2R1Y3Rpb24sICphbHdheXMqIHNhbml0aXNlIGFuZCB2YWxpZGF0ZSAnCiAgICAgICAgICAgICAgICAgICAgICAgInlvdXIgaW5wdXQnXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIHZhcl9leHBvcnQoJF9QT1NUKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc/PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzw/cGhwXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIElmIHRoZSBmb3JtIHN1Ym1pc3Npb24gaW5jbHVkZXMgdGhlICcKICAgICAgICAgICAgICAgICAgICAgICAnImctY2FwdGNoYS1yZXNwb25zZSIgZmllbGRcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBzZXJ2aWNlIHVzaW5nIHlvdXIgJwogICAgICAgICAgICAgICAgICAgICAgICdzZWNyZXRcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJHJlY2FwdGNoYSA9IG5ldyAnCiAgICAgICAgICAgICAgICAgICAgICAgJ1xcUmVDYXB0Y2hhXFxSZUNhcHRjaGEoJHNlY3JldCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIElmIGZpbGVfZ2V0X2NvbnRlbnRzKCkgaXMgbG9ja2VkIGRvd24gb24geW91ciAnCiAgICAgICAgICAgICAgICAgICAgICAgJ1BIUCBpbnN0YWxsYXRpb24gdG8gZGlzYWxsb3dcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gaXRzIHVzZSB3aXRoIFVSTHMsIHRoZW4geW91IGNhbiB1c2UgdGhlICcKICAgICAgICAgICAgICAgICAgICAgICAnYWx0ZXJuYXRpdmUgcmVxdWVzdCBtZXRob2QgaW5zdGVhZC5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gVGhpcyBtYWtlcyB1c2Ugb2YgZnNvY2tvcGVuKCkgaW5zdGVhZC5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gICRyZWNhcHRjaGEgPSBuZXcgJwogICAgICAgICAgICAgICAgICAgICAgICdcXFJlQ2FwdGNoYVxcUmVDYXB0Y2hhKCRzZWNyZXQsIG5ldyAnCiAgICAgICAgICAgICAgICAgICAgICAgJ1xcUmVDYXB0Y2hhXFxSZXF1ZXN0TWV0aG9kXFxTb2NrZXRQb3N0KCkpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyBNYWtlIHRoZSBjYWxsIHRvIHZlcmlmeSB0aGUgcmVzcG9uc2UgYW5kIGFsc28gJwogICAgICAgICAgICAgICAgICAgICAgICJwYXNzIHRoZSB1c2VyJ3MgSVAgYWRkcmVzc1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkcmVzcCA9ICcKICAgICAgICAgICAgICAgICAgICAgICAiJHJlY2FwdGNoYS0+c2V0RXhwZWN0ZWRIb3N0bmFtZSgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSlcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAtPnZlcmlmeSgkX1BPU1RbJ2ctcmVjYXB0Y2hhLXJlc3BvbnNlJ10sICIKICAgICAgICAgICAgICAgICAgICAgICAiJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10pO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICBpZiAoJHJlc3AtPmlzU3VjY2VzcygpKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgLy8gSWYgdGhlIHJlc3BvbnNlIGlzIGEgc3VjY2VzcywgcHJvY2VzcyB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICdmb3JtXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgcHJvY19mb3JtKCRyZWxfcm9vdCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgLy92YXJfZXhwb3J0KCRyZXNwKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc/PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LXN1Y2Nlc3MiIHJvbGU9ImFsZXJ0Ij5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDxoMT4gVGhhbmtzIGZvciB5b3VyIHN1Ym1pdCEgV2Ugd2lsbCBjb250YWN0IHlvdSAnCiAgICAgICAgICAgICAgICAgICAgICAgJ3Nob3J0bHkhIDwvaDE+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPD9waHBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgfSBlbHNlIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAvLyBJZiBpdCdzIG5vdCBzdWNjZXNzZnVsLCB0aGVuIG9uZSBvciBtb3JlICIKICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3IgY29kZXMgd2lsbCBiZSByZXR1cm5lZC5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc/PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzxoMj5Tb21ldGhpbmcgd2VudCB3cm9uZzwvaDI+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPGtiZD48cHJlPjw/cGhwIHZhcl9leHBvcnQoJHJlc3ApOz8+PC9wcmU+PC9rYmQ+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPHA+Q2hlY2sgdGhlIGVycm9yIGNvZGUgcmVmZXJlbmNlIGF0IDxrYmQ+PGEgJwogICAgICAgICAgICAgICAgICAgICAgICdocmVmPSJodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9yZWNhcHRjaGEvZG9jcy92ZXJpZnkjZXJyb3ItY29kZS1yZWZlcmVuY2UiPmh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3JlY2FwdGNoYS9kb2NzL3ZlcmlmeSNlcnJvci1jb2RlLXJlZmVyZW5jZTwvYT48L2tiZD4uXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBFcnJvciBjb2RlICcKICAgICAgICAgICAgICAgICAgICAgICAnPGtiZD5taXNzaW5nLWlucHV0LXJlc3BvbnNlPC9rYmQ+IG1heSBtZWFuIHRoZSB1c2VyICcKICAgICAgICAgICAgICAgICAgICAgICAianVzdCBkaWRuJ3QgY29tcGxldGUgdGhlIHJlQ0FQVENIQS48L3A+XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnPD9waHBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgfSBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIH0gZWxzZSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGlkPSJfTUlEWF9sb2FkZXIiIGNsYXNzPSJteC1hdXRvIHAtNCI+PC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPGZvcm0gYWN0aW9uPSIjIiBtZXRob2Q9InBvc3QiIGlkPSJkZW1vLWZvcm0iPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIDxpbnB1dCB0eXBlPSJlbWFpbCIgY2xhc3M9ImZvcm0tY29udHJvbCIgJwogICAgICAgICAgICAgICAgICAgICAgICduYW1lPSJlbWFpbCIgcGxhY2Vob2xkZXI9IllvdXIgZW1haWwiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgPC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgPGlucHV0IHR5cGU9ImVtYWlsIiBjbGFzcz0iZm9ybS1jb250cm9sIiAnCiAgICAgICAgICAgICAgICAgICAgICAgJ25hbWU9InJlcXVzZXJuYW1lIiBwbGFjZWhvbGRlcj0iWW91ciBuYW1lIj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDwvZGl2PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiAnCiAgICAgICAgICAgICAgICAgICAgICAgJ25hbWU9InN1YmplY3QiIHBsYWNlaG9sZGVyPSJTdWJqZWN0Ij5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDwvZGl2PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgPGxhYmVsIGZvcj0iZXhhbXBsZUZvcm1Db250cm9sVGV4dGFyZWExIiAnCiAgICAgICAgICAgICAgICAgICAgICAgJz5RdWVzdGlvbnMgb3IgY29tbWVudHM8L2xhYmVsPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICA8dGV4dGFyZWEgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0ibWVzc2FnZSIgJwogICAgICAgICAgICAgICAgICAgICAgICdyb3dzPSIzIj48L3RleHRhcmVhPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgPC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImctcmVjYXB0Y2hhIGJ0biAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2J0bi1wcmltYXJ5IGJ0bi1ibG9jayIgZGF0YS1zaXRla2V5PSI8P3BocCBlY2hvICcKICAgICAgICAgICAgICAgICAgICAgICAnJHNpdGVLZXk7ID8+IiAnCiAgICAgICAgICAgICAgICAgICAgICAgImRhdGEtY2FsbGJhY2s9J29uU3VibWl0Jz5TdWJtaXQ8L2J1dHRvbj5cclxuIgogICAgICAgICAgICAgICAgICAgICAgICc8L2Zvcm0+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiICcKICAgICAgICAgICAgICAgICAgICAgICAnc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hcGkuanM/aGw9PD9waHAgJwogICAgICAgICAgICAgICAgICAgICAgICdlY2hvICRDTVNfbGM7ID8+IiBhc3luYyBkZWZlcj48L3NjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBmdW5jdGlvbiBvblN1Ym1pdCh0b2tlbikge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVtby1mb3JtIikuc3R5bGUuZGlzcGxheSAnCiAgICAgICAgICAgICAgICAgICAgICAgJz0gIm5vbmUiO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJfTUlEWF9sb2FkZXIiKS5jbGFzc0xpc3QuYWRkKFwnbG9hZGVyXCcpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVtby1mb3JtIikuc3VibWl0KCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPC9zY3JpcHQ+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPD9waHBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIH0gXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnfSBjYXRjaCAoVGhyb3dhYmxlICRlKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBteWxvZygkZSk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBlY2hvICRlO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ31cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc/PlxyXG4nLAogICAgICAgICAgICAgICAnY29kZUluYyc6ICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMgY29udGVudCBiZXR3ZWVuIHN0eWxlSW5jIHRhZyB3aWxsIGJlIGFkZCB0byB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdiZWZvcmUgdGhlIGNsb3NpbmcgaGVhZCB0YWdzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c3R5bGVJbmM+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPCEtLSBzdHlsZUluYyBJbmNsdWRlZCBmcm9tIF9JRF8gLS0+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPHN0eWxlPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyNfSURfIC5sb2FkZXIge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgYm9yZGVyOiAxNnB4IHNvbGlkICNmM2YzZjM7IC8qIExpZ2h0IGdyZXkgKi9cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgIGJvcmRlci10b3A6IDE2cHggc29saWQgIzM0OThkYjsgLyogQmx1ZSAqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgd2lkdGg6IDEyMHB4O1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgaGVpZ2h0OiAxMjBweDtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ0BrZXlmcmFtZXMgc3BpbiB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ31cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9zdHlsZUluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMgY29udGVudCBiZXR3ZWVuIHNjcmlwdEluYyB0YWcgd2lsbCBiZSBhZGQgdG8gdGhlICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnYmVmb3JlIHRoZSBjbG9zaW5nIGJvZHkgdGFnc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNjcmlwdEluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8IS0tIHNjcmlwdEluYyBJbmNsdWRlZCBmcm9tIF9JRF8gLS0+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8L3NjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgIFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvc2NyaXB0SW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMgRW5kXHJcbicsCiAgICAgICAgICAgICAgICdjb21wb3NlckpTT04nOiAnJywKICAgICAgICAgICAgICAgJ2R5bmFtaWNCbG9jayc6ICcnLAogICAgICAgICAgICAgICAna2V5d29yZHMnOiAnJywKICAgICAgICAgICAgICAgJ3BocEZpbGUnOiAnPD9waHAgLyogX0FyZWFfL3BocC9teWZvcm0ucGhwICovICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcvLyBmb3IgZGVidWdnaW5nXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnZnVuY3Rpb24gbXlsb2coJG1zZykge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgJGggPSBmb3BlbignL2hvbWUvY21zbm93L2FjY2Vzc19sb2cnLCAnYScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgZndyaXRlKCRoLCB0aW1lKCkpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgZndyaXRlKCRoLCAkbXNnKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgIGZjbG9zZSgkaCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Z1bmN0aW9uIHByb2NfZm9ybSgkcmVsX3Jvb3QpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgIHRyeSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vcmVxdWlyZSAkcmVsX3Jvb3QgLiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgIicvLi4vLi4vcGhwL0FzT25lL21pc2MucGhwJztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgcmVxdWlyZSAkcmVsX3Jvb3QgLiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgIicvcGhwL1BIUE1haWxlci9QSFBNYWlsZXJBdXRvbG9hZC5waHAnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyB0byBkaXNhYmxlIGJ5IGFzc2lnbiBhbiBlbXB0eSBzdHJpbmdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgJGJ1Z3ppbGxhU2VydmVyID0gJ2J1Zy53ZWJjbXMtYS5jb20nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkZW1haWxTTVRQID0gJ3NtdHAuYml6bWFpbC55YWhvby5jb20nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkZW1haWxVc2VyID0gJ25vLXJlcGx5QGFzb25lbGlzdC5jb20nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkZW1haWxQYXNzd2QgPSAndXlxdmN2bGNrbmVwZHNpcic7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICRub3RpZnlFbWFpbCA9ICdpbmZvQHdlYmFzb25lLmNvbSc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vbXlsb2coImNhbGwgcHJvY19mb3JtIik7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIC8vJGFzb25lRmlsZSA9IG5ldyBBc09uZUZpbGUoJ19JRFhfJywgIgogICAgICAgICAgICAgICAgICAgICAgICAgICdBc29uZVBhdGgpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbCA9IG5ldyBQSFBNYWlsZXI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vVGVsbCBQSFBNYWlsZXIgdG8gdXNlIFNNVFBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9UZWxsIFBIUE1haWxlciB0byB1c2UgU01UUFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbC0+aXNTTVRQKCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vRW5hYmxlIFNNVFAgZGVidWdnaW5nXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIDAgPSBvZmYgKGZvciBwcm9kdWN0aW9uIHVzZSlcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gMSA9IGNsaWVudCBtZXNzYWdlc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyAyID0gY2xpZW50IGFuZCBzZXJ2ZXIgbWVzc2FnZXNcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlNNVFBEZWJ1ZyA9IDA7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vQXNrIGZvciBIVE1MLWZyaWVuZGx5IGRlYnVnIG91dHB1dFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+RGVidWdvdXRwdXQgPSAnaHRtbCc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IHRoZSBob3N0bmFtZSBvZiB0aGUgbWFpbCBzZXJ2ZXJcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPkhvc3QgPSAkZW1haWxTTVRQO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB0aGUgU01UUCBwb3J0IG51bWJlciAtIGxpa2VseSB0byBiZSAyNSwgJwogICAgICAgICAgICAgICAgICAgICAgICAgICc0NjUgb3IgNTg3XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICRtYWlsLT5Qb3J0ID0gNDY1O1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+U01UUFNlY3VyZSA9ICdzc2wnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1doZXRoZXIgdG8gdXNlIFNNVFAgYXV0aGVudGljYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlNNVFBBdXRoID0gdHJ1ZTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9Vc2VybmFtZSB0byB1c2UgZm9yIFNNVFAgYXV0aGVudGljYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlVzZXJuYW1lID0gJGVtYWlsVXNlcjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9QYXNzd29yZCB0byB1c2UgZm9yIFNNVFAgYXV0aGVudGljYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlBhc3N3b3JkID0gJGVtYWlsUGFzc3dkO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB3aG8gdGhlIG1lc3NhZ2UgaXMgdG8gYmUgc2VudCBmcm9tXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICRtYWlsLT5zZXRGcm9tKCRlbWFpbFVzZXIsICcKICAgICAgICAgICAgICAgICAgICAgICAgICAiJF9TRVJWRVJbJ0hUVFBfSE9TVCddLicgU3VibWl0Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IGFuIGFsdGVybmF0aXZlIHJlcGx5LXRvIGFkZHJlc3NcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgJG1haWwtPmFkZFJlcGx5VG8oJ0RvIG5vdCByZXBseScsICdEbyBub3QgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJyZXBseScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB3aG8gdGhlIG1lc3NhZ2UgaXMgdG8gYmUgc2VudCB0b1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+YWRkQWRkcmVzcygkbm90aWZ5RW1haWwsICdEbyBub3QgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJSZXBseScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB0aGUgc3ViamVjdCBsaW5lXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vc2VuZCBlbWFpbFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+U3ViamVjdCA9ICcoRG8gbm90IHJlcGx5KSBmcm9tICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJy5nZXRob3N0bmFtZSgpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAvLyRtc2cgPSAnPHA+V2Vic2l0ZTogJXM8L3A+JztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgJG1zZyA9ICcnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWydyZXF1c2VybmFtZSddKSkgJG1zZyAuPSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1wnRnJvbTogIFwnLiRfUkVRVUVTVFtcJ3JlcXVzZXJuYW1lXCddLiJcXG4iO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWydlbWFpbCddKSkgJG1zZyAuPSAnRW1haWw6ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAnXCcuJF9SRVFVRVNUW1wnZW1haWxcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIGlmIChpc3NldCgkX1JFUVVFU1RbJ3N1YmplY3QnXSkpICRtc2cgLj0gIgogICAgICAgICAgICAgICAgICAgICAgICAgICdcJ1N1YmplY3Q6IFwnLiRfUkVRVUVTVFtcJ3N1YmplY3RcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIC8vaWYgKGlzc2V0KCRfUkVRVUVTVFsnY2h1cmNod2Vic2l0ZSddKSkgJG1zZyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIi49ICdjaHVyY2h3ZWJzaXRlOiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1wnLiRfUkVRVUVTVFtcJ2NodXJjaHdlYnNpdGVcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICRtc2cgLj0gIk1lc3NhZ2U6XFxuIjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgaWYgKGlzc2V0KCRfUkVRVUVTVFsnbWVzc2FnZSddKSkgJG1zZyAuPSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyRfUkVRVUVTVFtcJ21lc3NhZ2VcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICRtYWlsLT5tc2dIVE1MKCc8cHJlPicuJG1zZy4nPC9wcmU+Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIGlmICgkbWFpbC0+c2VuZCgpKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIH0gZWxzZSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgZWNobyAiPGgzPiBTeXN0ZW0gRXJyb3IuIDwvaDM+IjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkYm1zZyA9IFwnRnJvbTogYnVnQHdlYmFzb25lLmNvbVwnLiAiXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAnU3ViamVjdDogVXNlciBTdWJtaXQgZnJvbSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1wnLmdldGhvc3RuYW1lKCkuIlxcblxcbiIuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgXCdAcHJvZHVjdCA9IFdlYkFzT25lXCcuIlxcbiIuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgXCdAY29tcG9uZW50ID0gVXNlclJlcG9ydFwnLiJcXG4iLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIFwnQG9wX3N5cyBMaW51eFwnLiJcXG4iLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIFwnQHJlcF9wbGF0Zm9ybSBBbGxcJy4iXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICBcJ0B2ZXJzaW9uID0gMS4wLjBcJy4iXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICBcJ0BTZXZlcml0eSA9IG5vcm1hbFwnLiJcXG5cXG5cXG4iLiAgICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAkbXNnO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbGVfcHV0X2NvbnRlbnRzKCIvaG9tZS9jbXNub3cvZm9ybV9tc2cudHh0IiwkYm1zZyk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIGlmICgkYnVnemlsbGFTZXJ2ZXIpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAkZGVzY3JpcHRvcnNwZWMgPSBhcnJheShcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIDAgPT4gYXJyYXkoInBpcGUiLCAiciIpLCAgLy8gc3RkaW4gaXMgYSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BpcGUgdGhhdCB0aGUgY2hpbGQgd2lsbCByZWFkIGZyb21cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIDEgPT4gYXJyYXkoInBpcGUiLCAidyIpLCAgLy8gc3Rkb3V0IGlzIGEgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdwaXBlIHRoYXQgdGhlIGNoaWxkIHdpbGwgd3JpdGUgdG9cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIDIgPT4gYXJyYXkoImZpbGUiLCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyIvaG9tZS9jbXNub3cvL2Vycm9yLW91dHB1dC50eHQiLCAidysiKSAvLyBzdGRlcnIgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdpcyBhIGZpbGUgdG8gd3JpdGUgdG9cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICApO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICRjbWQgPSAnc3NoICcuJGJ1Z3ppbGxhU2VydmVyLicgIgogICAgICAgICAgICAgICAgICAgICAgICAgICciL2hvbWUvY21zbm93L3d3dy9ob3N0cy9cJy4kYnVnemlsbGFTZXJ2ZXIuXCcvZG9jcy9lbWFpbF9pbi5wbCJcJztcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAkcHJvY2VzcyA9IHByb2Nfb3BlbigkY21kLCAkZGVzY3JpcHRvcnNwZWMsICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnJHBpcGVzKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICBpZiAoaXNfcmVzb3VyY2UoJHByb2Nlc3MpKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyAkcGlwZXMgbm93IGxvb2tzIGxpa2UgdGhpczpcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIDAgPT4gd3JpdGVhYmxlIGhhbmRsZSBjb25uZWN0ZWQgdG8gY2hpbGQgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRpblxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gMSA9PiByZWFkYWJsZSBoYW5kbGUgY29ubmVjdGVkIHRvIGNoaWxkICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnc3Rkb3V0XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBmd3JpdGUoJHBpcGVzWzBdLCAkYm1zZyk7IC8vICcKICAgICAgICAgICAgICAgICAgICAgICAgICAiZmlsZV9nZXRfY29udGVudHMoJ3BocDovL3N0ZGluJylcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGZjbG9zZSgkcGlwZXNbMF0pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJG91dHB1dCA9ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyZWFtX2dldF9jb250ZW50cygkcGlwZXNbMV0pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgI2VjaG8gJG91dHB1dDtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGZjbG9zZSgkcGlwZXNbMV0pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRoYXQgeW91IGNsb3NlIGFueSBwaXBlcyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JlZm9yZSBjYWxsaW5nXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyBwcm9jX2Nsb3NlIGluIG9yZGVyIHRvIGF2b2lkIGEgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdkZWFkbG9ja1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJHJldHVybl92YWx1ZSA9IHByb2NfY2xvc2UoJHByb2Nlc3MpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgI2VjaG8gJHJldHVybl92YWx1ZTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIH0gICAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICB9IGNhdGNoIChUaHJvd2FibGUgJGUpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgbXlsb2coJGUpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICBlY2hvICRlOyAvLyBFcnJvcjogVW5kZWZpbmVkIHZhcmlhYmxlOiB0dy4uLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ31cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc/PlxyXG4nLAogICAgICAgICAgICAgICAncGhwRmlsZUEnOiAnJywKICAgICAgICAgICAgICAgJ3BocEZpbGVCJzogJycsCiAgICAgICAgICAgICAgICd0Y29kZSc6ICcnLAogICAgICAgICAgICAgICAndmNvZGUnOiAnJ319fQo=