SF.net SVN: phpwiki:[11162] trunk/configurator.php

carstenklapp--- via phpwiki-checkins <[email protected]> Sun, 23 Feb 2025 08:56:33 +0000
Newsgroups gmane.comp.web.wiki.phpwiki.checkins
Message-ID <[email protected]>
UmV2aXNpb246IDExMTYyCiAgICAgICAgICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvcGhwd2lr
aS9jb2RlLzExMTYyCkF1dGhvcjogICBjYXJzdGVua2xhcHAKRGF0ZTogICAgIDIwMjUtMDItMjMg
MDg6NTY6MzMgKzAwMDAgKFN1biwgMjMgRmViIDIwMjUpCkxvZyBNZXNzYWdlOgotLS0tLS0tLS0t
LQpOZXcgY2xhc3MgX2RlZmluZV9vcHRpb25hbF9zdWdnZXN0aW9uIGZvciBjYWxjdWxhdGVkIHBh
dGhzIHRoYXQgZGlmZmVyIGZyb20gdGhlIGRlZmF1bHRzLiBOZXcgc3BvdCBmb3IgZGVmaW5pbmcg
QURNSU5fVVNFUiAmIHB3ZC4gSW1wcm92ZWQgaW5zdHJ1Y3Rpb25zLiBCZXR0ZXIgaGFuZGxpbmcg
b2YgZGVmYXVsdCBkaXJlY3RvcmllcyBhbmQgY2FsY3VsYXRlIGRpZmZlcmVudCBwYXRocyBmb3Ig
d2luZG93cy4KCk1vZGlmaWVkIFBhdGhzOgotLS0tLS0tLS0tLS0tLQogICAgdHJ1bmsvY29uZmln
dXJhdG9yLnBocAoKTW9kaWZpZWQ6IHRydW5rL2NvbmZpZ3VyYXRvci5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gdHJ1bmsvY29uZmlndXJhdG9yLnBocAkyMDI1LTAyLTIzIDAzOjI4OjU4IFVUQyAocmV2IDEx
MTYxKQorKysgdHJ1bmsvY29uZmlndXJhdG9yLnBocAkyMDI1LTAyLTIzIDA4OjU2OjMzIFVUQyAo
cmV2IDExMTYyKQpAQCAtMSw3ICsxLDQgQEAKIDw/cGhwCi0vLyBkZWZpbmluZyB0aGVzZSAyIGhl
cmUgaXMgYSB0ZW1wb3JhcnkgZml4Ci1pZiAoIWRlZmluZWQoJ0FETUlOX1VTRVInKSkgZGVmaW5l
KCdBRE1JTl9VU0VSJywgJycpOwotaWYgKCFkZWZpbmVkKCdBRE1JTl9QQVNTV0QnKSkgZGVmaW5l
KCdBRE1JTl9QQVNTV0QnLCAnJyk7CiAvKioKICAqIENvcHlyaWdodCDCqSAyMDAyLDIwMDMsMjAw
NSwyMDA4LTIwMTAgJFRoZVBocFdpa2lQcm9ncmFtbWluZ1RlYW0KICAqIENvcHlyaWdodCDCqSAy
MDAyIE1hcnRpbiBHZWlzbGVyIDxnaW1wc3RlckBnaW1wc3Rlci5jb20+CkBAIC0xNTQsNiArMTUx
LDggQEAKIC8vIElmIGNvbmZpZy5pbmkgZXhpc3RzLCB3ZSByZXF1aXJlIEFETUlOX1VTRVIgYWNj
ZXNzIGJ5IGZha2luZyBIdHRwQXV0aC4KIC8vIFNvIG5vYm9keSBjYW4gc2VlIG9yIHJlc2V0IHRo
ZSBwYXNzd29yZChzKS4KIGlmIChmaWxlX2V4aXN0cygkZnNfY29uZmlnX2ZpbGUpKSB7CisgICAg
ZXhpdCgiQ29uZmlndXJhdGlvbiBjb25maWcgZmlsZSBcIiRmc19jb25maWdfZmlsZVwiIGFscmVh
ZHkgZXhpc3RzLlxuIgorICAgIC4gIkNhbm5vdCBjb250aW51ZTogWW91IGhhdmUgdG8gZml4IHRo
YXQgbWFudWFsbHkuIik7CiAgICAgLy8gUmVxdWlyZSBhZG1pbiB1c2VyCiAgICAgaWYgKCFkZWZp
bmVkKCdBRE1JTl9VU0VSJykgb3IgIWRlZmluZWQoJ0FETUlOX1BBU1NXRCcpKSB7CiAgICAgICAg
IGlmICghZnVuY3Rpb25fZXhpc3RzKCJJbmlDb25maWciKSkgewpAQCAtMzYxLDE0ICszNjAsMjMg
QEAKICAgICA8cD5PbiBhbnkgY29uZmlndXJhdGlvbiBwcm9ibGVtcywgcGxlYXNlIGVkaXQgdGhl
IHJlc3VsdGluZyBjb25maWcuaW5pCiAgICAgICAgbWFudWFsbHkuIElmIG9uZSBpcyBub3QgY3Jl
YXRlZCwgY29weSBjb25maWctZGlzdC5pbmkgdG8gY29uZmlnLmluaSBhbmQKICAgICAgICBlZGl0
IHRoYXQuPC9wPgotICAgIDxwPlRoaXMgZmlsZSBjdXJyZW50bHkgaGFzIHByb2JsZW1zIHdpdGg6
PC9wPgorICAgIDxwPlRoaXMgZmlsZSBjdXJyZW50bHkgaGFzIHRoZSBmb2xsb3dpbmcgaXNzdWVz
OjwvcD4KICAgICA8dWw+Ci0gICAgPGxpPkhhbmRsaW5nIFdpbmRvd3MgcGF0aG5hbWVzICh1c2Ug
Zm9yd2FyZCBzbGFzaGVzIC8pPC9saT4KLSAgICA8bGk+RWRpdGluZyBleGlzdGluZyBjb25maWcu
aW5pIGZpbGUgaXMgY3VycmVudGx5IG5vdCBwb3NzaWJsZS4gUmVuYW1lIGl0Ci0gICAgICAgIHRv
IGdlbmVyYXRlIGEgbmV3IG9uZSwgb3IgZWRpdCBpdCBtYW51YWxseS48L2xpPgotICAgIDxsaT5Q
aHAgY3J5cHQoKSBmdW5jdGlvbiBmYWlscyBzb21ldGltZXMgYW5kIHJldHVybnMgKjAgb3IgKjEg
YXMgdGhlCi0gICAgICAgIHBhc3N3b3JkLiBJbiB0aGF0IGNhc2UgcnVuIHBhc3NlbmNyeXB0LnBo
cCB0byBnZW5lcmF0ZSBhIG5ldyBwYXNzd29yZAotICAgICAgICBhbmQgbWFudWFsbHkgcGFzdGUg
aXQgaW50byBjb25maWcuaW5pLjwvbGk+Cis8P3BocCBpZihpc1dpbmRvd3MoKSkgeyA/PgorICAg
IDxsaT5Gb3IgV2luZG93cyBwYXRobmFtZXMsIHVzZSBmb3J3YXJkIHNsYXNoZXMgLyBpbnN0ZWFk
LiBBbnkgXCB3aWxsIGJlCisgICAgICAgIGNvbnZlcnRlZC48L2xpPgorICAgIDxsaT5EZWZhdWx0
IHBhdGhzIHdpbGwgYmUgc3VnZ2VzdGVkIGJhc2VkIG9uIHRoZSBXaW5kb3dzIFRFTVAgZGlyIGlu
c3RlYWQKKyAgICAgICAgb2YgL3RtcC48L2xpPgorPD9waHAgfSA/PgorICAgIDxsaT5Vc2luZyB0
aGUgc3VnZ2VzdGVkIHRlbXBvcmFyeSBkaXJzIHdpbGwgZ2V0IHlvdSB1cCBhbmQgcnVubmluZyBx
dWlja2x5CisgICAgICAgIGJ1dCB5b3Ugd2lsbCBsb3NlIHlvdXIgZGF0YSBzb29uZXIgb3IgbGF0
ZXIgaWYgeW91IGRvIG5vdCBjaGFuZ2UgdGhlbQorICAgICAgICB0byBtb3JlIHBlcm1hbmVudCBk
aXJlY3RvcmllcyE8L2xpPgorICAgIDxsaT5FZGl0aW5nIGFuIGV4aXN0aW5nIGNvbmZpZy5pbmkg
ZmlsZSB1c2luZyB0aGlzIGNvbmZpZ3VyYXRvciBpcworICAgICAgICBjdXJyZW50bHkgbm90IHBv
c3NpYmxlLiBSZW5hbWUgb3IgZGVsZXRlIHRoZSBmaWxlIHRvIGdlbmVyYXRlIGEgbmV3CisgICAg
ICAgIG9uZSwgb3IgZWRpdCBpdCBtYW51YWxseS48L2xpPgorICAgIDxsaT5UaGUgUGhwIGNyeXB0
KCkgZnVuY3Rpb24gZmFpbHMgc29tZXRpbWVzIGFuZCByZXR1cm5zICowIG9yICoxIGFzIHRoZQor
ICAgICAgICBwYXNzd29yZC4gSW4gdGhhdCBjYXNlIHJ1biBwYXNzZW5jcnlwdC5waHAgdG8gZ2Vu
ZXJhdGUgYSBuZXcKKyAgICAgICAgQURNSU5fUEFTU1dEIGFuZCBtYW51YWxseSBwYXN0ZSBpdCBp
bnRvIGNvbmZpZy5pbmkuPC9saT4KICAgICA8L3VsPgogPC9kaXY+CiAKQEAgLTQyOSw2ICs0Mzcs
MjAgQEAKIC8vIGZvciB4IGluIGBwZXJsIC1uZSAncHJpbnQgJDEsIlxuIiBpZiAvXjsoXHcrKSA9
LycgY29uZmlnL2NvbmZpZy1kaXN0LmluaWA7IGRvIFwKIC8vICAgZ3JlcCBcJyR4XCcgY29uZmln
dXJhdG9yLnBocCA+L2Rldi9udWxsIHx8IGVjaG8gJHggOyBkb25lCiAKKyRkZWZhdWx0dGVtcGRp
ciA9ICIvdG1wIjsKKyRkZWZhdWx0ZW52dGVtcGRpciA9ICFlbXB0eSgkX0VOVlsnVEVNUCddKSA/
ICRfRU5WWydURU1QJ10gOiAkZGVmYXVsdHRlbXBkaXI7CisKK2lmIChkZWZpbmVkKCdURU1QX0RJ
UicpKSB7CisgICAgJGd1ZXNzZWR0ZW1wZGlyID0gVEVNUF9ESVI7CisgICAgJGd1ZXNzZWR0ZW1w
ZGlyID0gY2hlY2tNYXNzYWdlV2luUGF0aCgkZ3Vlc3NlZHRlbXBkaXIpOworICAgIGlmIChpc1dp
bmRvd3MoKSAmJiAoVEVNUF9ESVIgPT0gJGRlZmF1bHR0ZW1wZGlyKSkgeyAvL3RyeSBoYXJkZXIg
Zm9yIHdpbmRvd3MKKyAgICAgICAgJGd1ZXNzZWR0ZW1wZGlyID0gJGRlZmF1bHRlbnZ0ZW1wZGly
OworICAgIH0KK30gZWxzZSB7CisgICAgJGd1ZXNzZWR0ZW1wZGlyID0gJGRlZmF1bHR0ZW1wZGly
OworfQorJGd1ZXNzZWR0ZW1wZGlyID0gY2hlY2tNYXNzYWdlV2luUGF0aCgkZ3Vlc3NlZHRlbXBk
aXIpOworCiAkcHJvcGVydGllc1siUGFydCBaZXJvIl0gPQogICAgIG5ldyBwYXJ0KCdfcGFydDAn
LCAkU0VQQVJBVE9SIC4gIlxuIiwgIgogUGFydCBaZXJvOiBMYXRlc3QgRGV2ZWxvcG1lbnQgYW5k
IFRyaWNreSBPcHRpb25zIik7CkBAIC00MzYsMTggKzQ1OCwxMiBAQAogaWYgKGRlZmluZWQoJ0lO
Q0xVREVfUEFUSCcpKSB7CiAgICAgJGluY2x1ZGVfcGF0aCA9IElOQ0xVREVfUEFUSDsKIH0gZWxz
ZSB7Ci0gICAgaWYgKHN1YnN0cihQSFBfT1MsIDAsIDMpID09ICdXSU4nKSB7Ci0gICAgICAgICRp
bmNsdWRlX3BhdGggPSBkaXJuYW1lKF9fRklMRV9fKSAuICc7JyAuIGluaV9nZXQoJ2luY2x1ZGVf
cGF0aCcpOwotICAgICAgICBpZiAoc3RyY2hyKGluaV9nZXQoJ2luY2x1ZGVfcGF0aCcpLCAnLycp
KSB7Ci0gICAgICAgICAgICAkaW5jbHVkZV9wYXRoID0gc3RydHIoJGluY2x1ZGVfcGF0aCwgJ1xc
JywgJy8nKTsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgICRpbmNsdWRlX3BhdGgg
PSBkaXJuYW1lKF9fRklMRV9fKSAuICc6JyAuIGluaV9nZXQoJ2luY2x1ZGVfcGF0aCcpOwotICAg
IH0KKyAgICAvLyBQQVRIX1NFUEFSQVRPUiBpcyA7IG9uIHdpbmRvd3MsIDogb24gb3RoZXJzCisg
ICAgJGluY2x1ZGVfcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pIC4gUEFUSF9TRVBBUkFUT1IgLiBp
bmlfZ2V0KCdpbmNsdWRlX3BhdGgnKTsKIH0KLQorJGluY2x1ZGVfcGF0aCA9IGNoZWNrTWFzc2Fn
ZVdpblBhdGgoJGluY2x1ZGVfcGF0aCk7CiAkcHJvcGVydGllc1siUEhQIGluY2x1ZGVfcGF0aCJd
ID0KLSAgICBuZXcgX2RlZmluZSgnSU5DTFVERV9QQVRIJywgJGluY2x1ZGVfcGF0aCk7CisgICAg
bmV3IF9kZWZpbmVfb3B0aW9uYWxfc3VnZ2VzdGlvbignSU5DTFVERV9QQVRIJywgJGluY2x1ZGVf
cGF0aCk7CiAKIC8vIFRPRE86IENvbnZlcnQgdGhpcyB0byBhIGNoZWNrYm94IHJvdyBhcyBpbiB0
ZXN0cy91bml0L3Rlc3QucGhwCiAkcHJvcGVydGllc1siREVCVUciXSA9CkBAIC01NDUsNiArNTYx
LDkgQEAKICRwcm9wZXJ0aWVzWyJXaWtpIE5hbWUiXSA9CiAgICAgbmV3IF9kZWZpbmVfb3B0aW9u
YWwoJ1dJS0lfTkFNRScsIFdJS0lfTkFNRSk7CiAKK2lmICghZGVmaW5lZCgnQURNSU5fVVNFUicp
KSB7CisgICAgZGVmaW5lKCdBRE1JTl9VU0VSJywgJycpOworfQogJHByb3BlcnRpZXNbIkFkbWlu
IFVzZXJuYW1lIl0gPQogICAgIG5ldyBfZGVmaW5lX25vdGVtcHR5KAogICAgICAgICAnQURNSU5f
VVNFUicsCkBAIC01NTQsNiArNTczLDkgQEAKICAgICAgICAgIm9uY2hhbmdlPVwidmFsaWRhdGVf
ZXJlZygnU29ycnksIEFETUlOX1VTRVIgY2Fubm90IGJlIGVtcHR5LicsICdeLiskJywgJ0FETUlO
X1VTRVInLCB0aGlzKTtcIiIKICAgICApOwogCitpZiAoIWRlZmluZWQoJ0FETUlOX1BBU1NXRCcp
KSB7CisgICAgZGVmaW5lKCdBRE1JTl9QQVNTV0QnLCAnJyk7Cit9CiAkcHJvcGVydGllc1siQWRt
aW4gUGFzc3dvcmQiXSA9CiAgICAgbmV3IF9kZWZpbmVfcGFzc3dvcmQoCiAgICAgICAgICdBRE1J
Tl9QQVNTV0QnLApAQCAtNTc0LDcgKzU5Niw3IEBACiAgICAgbmV3IGJvb2xlYW5fZGVmaW5lKAog
ICAgICAgICAnRU5DUllQVEVEX1BBU1NXRCcsCiAgICAgICAgIGFycmF5KCd0cnVlJyA9PiAidHJ1
ZS4gIHVzZSBjcnlwdCBmb3IgYWxsIHBhc3N3b3JkcyIsCi0gICAgICAgICAgICAnZmFsc2UnID0+
ICJmYWxzZS4gdXNlIHBsYWludGVzdCBwYXNzd29yZHMgKG5vdCByZWNvbW1lbmRlZCkiKQorICAg
ICAgICAgICAgJ2ZhbHNlJyA9PiAiZmFsc2UuIHVzZSBwbGFpbnRleHQgcGFzc3dvcmRzIChub3Qg
cmVjb21tZW5kZWQpIikKICAgICApOwogCiAkcHJvcGVydGllc1siTUFYX1BBR0VOQU1FX0xFTkdU
SCJdID0KQEAgLTcwNiw4ICs3MjgsMjEgQEAKICRwcm9wZXJ0aWVzWyJDT09LSUVfRE9NQUlOIl0g
PQogICAgIG5ldyBfZGVmaW5lX2NvbW1lbnRlZF9vcHRpb25hbCgnQ09PS0lFX0RPTUFJTicsIENP
T0tJRV9ET01BSU4pOwogCisvL2ZpeG1lCiskc2Vzc2lvbl9zYXZlX3BhdGggPSBkZWZpbmVkKCdT
RVNTSU9OX1NBVkVfUEFUSCcpID8gU0VTU0lPTl9TQVZFX1BBVEggOiBpbmlfZ2V0KCdzZXNzaW9u
LnNhdmVfcGF0aCcpOworJHNlc3Npb25fc2F2ZV9wYXRoID0gY2hlY2tNYXNzYWdlV2luUGF0aCgk
c2Vzc2lvbl9zYXZlX3BhdGgpOworaWYgKGRlZmluZWQoJ1NFU1NJT05fU0FWRV9QQVRIJykpIHsK
KyAgICAkc2Vzc2lvbl9zYXZlX3BhdGggPSBTRVNTSU9OX1NBVkVfUEFUSDsKKyAgICAkc2Vzc2lv
bl9zYXZlX3BhdGggPSBjaGVja01hc3NhZ2VXaW5QYXRoKCRzZXNzaW9uX3NhdmVfcGF0aCk7Cisg
ICAgaWYgKGlzV2luZG93cygpICYmIChTRVNTSU9OX1NBVkVfUEFUSCA9PSAkZGVmYXVsdHRlbXBk
aXIpKSB7IC8vdHJ5IGhhcmRlciBmb3Igd2luZG93cworICAgICAgICAkc2Vzc2lvbl9zYXZlX3Bh
dGggPSAkZGVmYXVsdGVudnRlbXBkaXI7CisgICAgfQorfSBlbHNlIHsKKyAgICAkc2Vzc2lvbl9z
YXZlX3BhdGggPSAkZGVmYXVsdHRlbXBkaXI7Cit9Ciskc2Vzc2lvbl9zYXZlX3BhdGggPSBjaGVj
a01hc3NhZ2VXaW5QYXRoKCRzZXNzaW9uX3NhdmVfcGF0aCk7CiAkcHJvcGVydGllc1siUGF0aCBm
b3IgUEhQIFNlc3Npb24gU3VwcG9ydCJdID0KLSAgICBuZXcgX2RlZmluZV9vcHRpb25hbCgnU0VT
U0lPTl9TQVZFX1BBVEgnLCBkZWZpbmVkKCdTRVNTSU9OX1NBVkVfUEFUSCcpID8gU0VTU0lPTl9T
QVZFX1BBVEggOiBpbmlfZ2V0KCdzZXNzaW9uLnNhdmVfcGF0aCcpKTsKKyAgICBuZXcgX2RlZmlu
ZV9vcHRpb25hbF9zdWdnZXN0aW9uKCdTRVNTSU9OX1NBVkVfUEFUSCcsICRzZXNzaW9uX3NhdmVf
cGF0aCk7CiAKICRwcm9wZXJ0aWVzWyJGb3JjZSBQSFAgRGF0YWJhc2UgU2Vzc2lvbnMiXSA9CiAg
ICAgbmV3IGJvb2xlYW5fZGVmaW5lX2NvbW1lbnRlZF9vcHRpb25hbCgKQEAgLTg0OCwxMCArODgz
LDE3IEBACiBBIHdvcmQgb2Ygd2FybmluZyAtIGFueSBwcmVmaXggZGVmaW5lZCBhYm92ZSB3aWxs
IGJlIHByZXBlbmRlZCB0byB3aGF0ZXZlciBpcyBnaXZlbiBoZXJlLgogIik7CiAKLS8vVE9ETzog
JFRFTVAKLSR0ZW1wID0gIWVtcHR5KCRfRU5WWydURU1QJ10pID8gJF9FTlZbJ1RFTVAnXSA6ICIv
dG1wIjsKK2lmIChkZWZpbmVkKCdEQVRBQkFTRV9ESVJFQ1RPUlknKSkgeworICAgICRkYXRhYmFz
ZV9kaXIgPSBEQVRBQkFTRV9ESVJFQ1RPUlk7CisgICAgaWYgKGlzV2luZG93cygpICYmIChEQVRB
QkFTRV9ESVJFQ1RPUlkgPT0gJGRlZmF1bHR0ZW1wZGlyKSkgeyAvL3RyeSBoYXJkZXIgZm9yIHdp
bmRvd3MKKyAgICAgICAgJGRhdGFiYXNlX2RpciA9ICRkZWZhdWx0ZW52dGVtcGRpcjsKKyAgICB9
Cit9IGVsc2UgeworICAgICRkYXRhYmFzZV9kaXIgPSAkZ3Vlc3NlZHRlbXBkaXI7Cit9CiskZGF0
YWJhc2VfZGlyID0gY2hlY2tNYXNzYWdlV2luUGF0aCgkZGF0YWJhc2VfZGlyKTsKICRwcm9wZXJ0
aWVzWyJkYmEgZGlyZWN0b3J5Il0gPQotICAgIG5ldyBfZGVmaW5lKCJEQVRBQkFTRV9ESVJFQ1RP
UlkiLCAkdGVtcCk7CisgICAgbmV3IF9kZWZpbmVfb3B0aW9uYWxfc3VnZ2VzdGlvbigiREFUQUJB
U0VfRElSRUNUT1JZIiwgJGRhdGFiYXNlX2Rpcik7CiAKIC8vIFRPRE86IGxpc3QgdGhlIGF2YWls
YWJsZSBtZXRob2RzCiAkcHJvcGVydGllc1siZGJhIGhhbmRsZXIiXSA9CkBAIC0xMDUzLDcgKzEw
OTUsNyBAQAogQSBkYXRhYmFzZSBEU04gdG8gY29ubmVjdCB0by4gIERlZmF1bHRzIHRvIHRoZSBE
U04gc3BlY2lmaWVkIGZvciB0aGUgV2lraSBhcyBhIHdob2xlLiIpOwogCiAkcHJvcGVydGllc1si
VXNlciBFeGlzdHMgUXVlcnkiXSA9Ci0gICAgbmV3IF9kZWZpbmUoJ0RCQVVUSF9BVVRIX1VTRVJf
RVhJU1RTJywgIlNFTEVDVCB1c2VyaWQgRlJPTSB1c2VyIFdIRVJFIHVzZXJpZD0nXCR1c2VyaWQn
IiwgIgorICAgIG5ldyBfZGVmaW5lX29wdGlvbmFsKCdEQkFVVEhfQVVUSF9VU0VSX0VYSVNUUycs
ICJTRUxFQ1QgdXNlcmlkIEZST00gdXNlciBXSEVSRSB1c2VyaWQ9J1wkdXNlcmlkJyIsICIKIFVT
RVIvUEFTU1dPUkQgcXVlcmllczoKIAogRm9yIFVTRVJfQVVUSF9QT0xJQ1k9c3RyaWN0IGFuZCB0
aGUgRGIgbWV0aG9kIGlzIHJlcXVpcmVkIik7CkBAIC0xNDY1LDggKzE1MDcsMTQgQEAKICRwcm9w
ZXJ0aWVzWyJEYXRhIFBhdGgiXSA9CiAgICAgbmV3IF9kZWZpbmVfY29tbWVudGVkX29wdGlvbmFs
KCdEQVRBX1BBVEgnLCBkaXJuYW1lKCRzY3JpcHRuYW1lKSk7CiAKK2lmIChkZWZpbmVkKCdQSFBX
SUtJX0RJUicpKSB7CisgICAgJHBocHdpa2lfZGlyID0gUEhQV0lLSV9ESVI7Cit9IGVsc2Ugewor
ICAgICRwaHB3aWtpX2RpciA9IGRpcm5hbWUoX19GSUxFX18pOworfQorJHBocHdpa2lfZGlyID0g
Y2hlY2tNYXNzYWdlV2luUGF0aCgkcGhwd2lraV9kaXIpOwogJHByb3BlcnRpZXNbIlBocFdpa2kg
SW5zdGFsbCBEaXJlY3RvcnkiXSA9Ci0gICAgbmV3IF9kZWZpbmVfY29tbWVudGVkX29wdGlvbmFs
KCdQSFBXSUtJX0RJUicsIGRpcm5hbWUoX19GSUxFX18pKTsKKyAgICBuZXcgX2RlZmluZV9jb21t
ZW50ZWRfb3B0aW9uYWwoJ1BIUFdJS0lfRElSJywgJHBocHdpa2lfZGlyKTsKIAogJHByb3BlcnRp
ZXNbIlVzZSBQQVRIX0lORk8iXSA9CiAgICAgbmV3IF9kZWZpbmVfc2VsZWN0aW9uX29wdGlvbmFs
X2NvbW1lbnRlZCgKQEAgLTE1MTYsMTQgKzE1NjQsMTMgQEAKICIpOwogCiAkdXBsb2FkX2ZpbGVf
cGF0aCA9IGRlZmluZWQoJ1VQTE9BRF9GSUxFX1BBVEgnKSA/IFVQTE9BRF9GSUxFX1BBVEggOiBn
ZXRVcGxvYWRGaWxlUGF0aCgpOwotbmV3IF9kZWZpbmVfb3B0aW9uYWwoJ1VQTE9BRF9GSUxFX1BB
VEgnLCAkdGVtcCk7CituZXcgX2RlZmluZV9vcHRpb25hbCgnVVBMT0FEX0ZJTEVfUEFUSCcsICR1
cGxvYWRfZmlsZV9wYXRoKTsKIAogJHVwbG9hZF9kYXRhX3BhdGggPSBkZWZpbmVkKCdVUExPQURf
REFUQV9QQVRIJykgPyBVUExPQURfREFUQV9QQVRIIDogZ2V0VXBsb2FkRGF0YVBhdGgoKTsKLW5l
dyBfZGVmaW5lX29wdGlvbmFsKCdVUExPQURfREFUQV9QQVRIJywgJHRlbXApOworbmV3IF9kZWZp
bmVfb3B0aW9uYWwoJ1VQTE9BRF9EQVRBX1BBVEgnLCAkdXBsb2FkX2RhdGFfcGF0aCk7CiAKLSR0
ZW1wID0gIWVtcHR5KCRfRU5WWydURU1QJ10pID8gJF9FTlZbJ1RFTVAnXSA6ICIvdG1wIjsKICRw
cm9wZXJ0aWVzWyJURU1QX0RJUiJdID0KLSAgICBuZXcgX2RlZmluZV9vcHRpb25hbCgnVEVNUF9E
SVInLCAkdGVtcCk7CisgICAgbmV3IF9kZWZpbmVfb3B0aW9uYWxfc3VnZ2VzdGlvbignVEVNUF9E
SVInLCAkZ3Vlc3NlZHRlbXBkaXIpOwogCiAkcHJvcGVydGllc1siQWxsb3dlZCBMb2FkIl0gPQog
ICAgIG5ldyBfZGVmaW5lX2NvbW1lbnRlZF9vcHRpb25hbCgKQEAgLTE1NTIsMTEgKzE1OTksMTQg
QEAKICAgICAgICAgICAgICd0cnVlJyA9PiAicXVvdGVkLXByaW50YWJsZSIpCiAgICAgKTsKIAor
CiskZ3Vlc3NlZGR1bXBkaXIgPSBjaGVja1dpbkFsdGVybmF0ZVBhdGgoJ0RFRkFVTFRfRFVNUF9E
SVInLCAid2lraWR1bXAiLCAkZ3Vlc3NlZHRlbXBkaXIsICRkZWZhdWx0dGVtcGRpcik7CiAkcHJv
cGVydGllc1siRGVmYXVsdCBsb2NhbCBEdW1wIERpcmVjdG9yeSJdID0KLSAgICBuZXcgX2RlZmlu
ZV9vcHRpb25hbCgnREVGQVVMVF9EVU1QX0RJUicpOworICAgIG5ldyBfZGVmaW5lX29wdGlvbmFs
X3N1Z2dlc3Rpb24oJ0RFRkFVTFRfRFVNUF9ESVInLCAkZ3Vlc3NlZGR1bXBkaXIpOwogCiskZ3Vl
c3NlZGh0bWxkdW1wZGlyID0gY2hlY2tXaW5BbHRlcm5hdGVQYXRoKCdIVE1MX0RVTVBfRElSJywg
Indpa2lkdW1waHRtbCIsICRndWVzc2VkdGVtcGRpciwgJGRlZmF1bHR0ZW1wZGlyKTsKICRwcm9w
ZXJ0aWVzWyJEZWZhdWx0IGxvY2FsIEhUTUwgRHVtcCBEaXJlY3RvcnkiXSA9Ci0gICAgbmV3IF9k
ZWZpbmVfb3B0aW9uYWwoJ0hUTUxfRFVNUF9ESVInKTsKKyAgICBuZXcgX2RlZmluZV9vcHRpb25h
bF9zdWdnZXN0aW9uKCdIVE1MX0RVTVBfRElSJywgJGd1ZXNzZWRodG1sZHVtcGRpcik7CiAKICRw
cm9wZXJ0aWVzWyJIVE1MIER1bXAgRmlsZW5hbWUgU3VmZml4Il0gPQogICAgIG5ldyBfZGVmaW5l
X29wdGlvbmFsKCdIVE1MX0RVTVBfU1VGRklYJyk7CkBAIC0xNjA2LDYgKzE2NTYsNyBAQAogICAg
ICR0dGZvbnQgPSAnbHV4aW1yJzsgLy8gVGhpcyBpcyB0aGUgb25seSB3aGF0IHNvdXJjZWZvcmdl
IG9mZmVyZWQuCiAgICAgLy8kdHRmb250ID0gJ0hlbHZldGljYSc7CiB9CiskdHRmb250ID0gY2hl
Y2tNYXNzYWdlV2luUGF0aCgkdHRmb250KTsKICRwcm9wZXJ0aWVzWyJUVEZPTlQiXSA9CiAgICAg
bmV3IF9kZWZpbmVfY29tbWVudGVkX29wdGlvbmFsKCdUVEZPTlQnLCAkdHRmb250KTsKICRwcm9w
ZXJ0aWVzWyJWSVNVQUxXSUtJRk9OVCJdID0KQEAgLTE2NDQsOSArMTY5NSwxMSBAQAogZGIsIHRy
aWZpbGUgYW5kIGltZ2ZpbGUgbWlnaHQgYmUgc3VwcG9ydGVkLCBidXQgeW91IG11c3QgaGFjayB0
aGF0IGJ5IHlvdXJzZWxmLiIKICAgICApOwogCiskZ3Vlc3NlZGNhY2hlZGlyID0gY2hlY2tXaW5B
bHRlcm5hdGVQYXRoKCdQTFVHSU5fQ0FDSEVEX0NBQ0hFX0RJUicsICJjYWNoZSIsICRndWVzc2Vk
dGVtcGRpciwgJGRlZmF1bHR0ZW1wZGlyKTsKICRwcm9wZXJ0aWVzWyJwZWFyIENhY2hlIGNhY2hl
IGRpcmVjdG9yeSJdID0KLSAgICBuZXcgX2RlZmluZV9jb21tZW50ZWRfb3B0aW9uYWwoJ1BMVUdJ
Tl9DQUNIRURfQ0FDSEVfRElSJywgIi90bXAvY2FjaGUiLCAiCisgICAgbmV3IF9kZWZpbmVfb3B0
aW9uYWxfc3VnZ2VzdGlvbignUExVR0lOX0NBQ0hFRF9DQUNIRV9ESVInLCAkZ3Vlc3NlZGNhY2hl
ZGlyLCAiCiBTaG91bGQgYmUgd3JpdGFibGUgdG8gdGhlIHdlYnNlcnZlci4iKTsKKwogJHByb3Bl
cnRpZXNbInBlYXIgQ2FjaGUgRmlsZW5hbWUgUHJlZml4Il0gPQogICAgIG5ldyBfZGVmaW5lX29w
dGlvbmFsKCdQTFVHSU5fQ0FDSEVEX0ZJTEVOQU1FX1BSRUZJWCcsICJwaHB3aWtpIiwgIiIpOwog
JHByb3BlcnRpZXNbInBlYXIgQ2FjaGUgSElHSFdBVEVSIl0gPQpAQCAtMTY3Miw3ICsxNzI1LDcg
QEAKICAgICBuZXcgbGlzdF9kZWZpbmUoJ1BMVUdJTl9DQUNIRURfSU1HVFlQRVMnLCAicG5nfGdp
ZnxnZHxnZDJ8anBlZ3x3Ym1wfHhibXx4cG0iLCAiCiBIYW5kbGUgdGhvc2UgaW1hZ2UgdHlwZXMg
dmlhIEdEIGhhbmRsZXMuIENoZWNrIHlvdXIgR0Qgc3VwcG9ydGVkIGltYWdlIHR5cGVzLiIpOwog
Ci0kZW5kID0gIlxuIiAuICRTRVBBUkFUT1IgLiAiXG4iOworJGVuZCA9ICJcbiIgLiAkU0VQQVJB
VE9SIC4gIlxuO2VvZlxuIjsKIAogLy8gcGVyZm9ybWFuY2UgaGFjawogdGV4dF9mcm9tX2Rpc3Qo
Il9NQUdJQ19DTE9TRV9GSUxFIik7CkBAIC0xNzA3LDcgKzE3NjAsNyBAQAogICAgICAgICAkdGhp
cy0+ZGVzY3JpcHRpb24gPSAkZGVzY3JpcHRpb247CiAgICAgICAgIGlmIChkZWZpbmVkKCRjb25m
aWdfaXRlbV9uYW1lKQogICAgICAgICAgICAgYW5kICFwcmVnX21hdGNoKCIvKHNlbGVjdGlvbnxi
b29sZWFuKS8iLCBnZXRfY2xhc3MoJHRoaXMpKQotICAgICAgICAgICAgICAgIGFuZCAhcHJlZ19t
YXRjaCgiL14oU0NSSVBUX05BTUV8VklSVFVBTF9QQVRIfFRFTVBfRElSKSQvIiwgJGNvbmZpZ19p
dGVtX25hbWUpCisgICAgICAgICAgICAgICAgYW5kICFwcmVnX21hdGNoKCIvXihTQ1JJUFRfTkFN
RXxWSVJUVUFMX1BBVEh8elRFTVBfRElSKSQvIiwgJGNvbmZpZ19pdGVtX25hbWUpCiAgICAgICAg
ICkgewogICAgICAgICAgICAgJHRoaXMtPmRlZmF1bHRfdmFsdWUgPSBjb25zdGFudCgkY29uZmln
X2l0ZW1fbmFtZSk7CiAgICAgICAgIH0gLy8gaWdub3JlIGdpdmVuIGRlZmF1bHQgdmFsdWUKQEAg
LTE5NTksMTIgKzIwMTIsMTYgQEAKICAgICAgICAgaWYgKCR0aGlzLT5kZXNjcmlwdGlvbikgewog
ICAgICAgICAgICAgJG4gPSAiXG4iOwogICAgICAgICB9CisgICAgICAgICRkZWZhdWx0X3ZhbHVl
ID0gJHRoaXMtPmRlZmF1bHRfdmFsdWU7CiAgICAgICAgIGlmICgkcG9zdGVkX3ZhbHVlID09ICR0
aGlzLT5kZWZhdWx0X3ZhbHVlKSB7CisgICAgICAgICAgICAvL3JldHVybiAiJG47IERFQlVHOiBl
cXVhbCBkdj0kZGVmYXVsdF92YWx1ZSIuZ2V0dHlwZSgkZGVmYXVsdF92YWx1ZSkuIiBwdj0iIC5n
ZXR0eXBlKCRwb3N0ZWRfdmFsdWUpLiAkdGhpcy0+X2NvbmZpZ19mb3JtYXQoJHBvc3RlZF92YWx1
ZSk7CiAgICAgICAgICAgICByZXR1cm4gIiRuOyIgLiAkdGhpcy0+X2NvbmZpZ19mb3JtYXQoJHBv
c3RlZF92YWx1ZSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCRwb3N0ZWRfdmFsdWUgPT0gJycp
IHsKLSAgICAgICAgICAgIHJldHVybiAiJG47IiAuICR0aGlzLT5fY29uZmlnX2Zvcm1hdCgiIik7
CisgICAgICAgICAgICAvL3JldHVybiAiJG47IERFQlVHOiBwb3N0ZWQgaXMgZW1wdHkgIiAuICR0
aGlzLT5fY29uZmlnX2Zvcm1hdCgnZmFsc2UnKTsKKyAgICAgICAgICAgIHJldHVybiAiJG47IiAu
ICR0aGlzLT5fY29uZmlnX2Zvcm1hdCgkZGVmYXVsdF92YWx1ZSk7CiAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAvL3JldHVybiAiJG4gREVCVUcgZWxzZSBkdj0kZGVmYXVsdF92YWx1ZSIu
Z2V0dHlwZSgkZGVmYXVsdF92YWx1ZSkuIiBwdj0iIC5nZXR0eXBlKCRwb3N0ZWRfdmFsdWUpLiAk
dGhpcy0+X2NvbmZpZ19mb3JtYXQoJHBvc3RlZF92YWx1ZSk7CiAgICAgICAgICAgICByZXR1cm4g
IiRuIiAuICR0aGlzLT5fY29uZmlnX2Zvcm1hdCgkcG9zdGVkX3ZhbHVlKTsKICAgICAgICAgfQog
ICAgIH0KQEAgLTE5ODUsNiArMjA0Miw2MiBAQAogICAgIH0KIH0KIAorCitjbGFzcyBfZGVmaW5l
X29wdGlvbmFsX3N1Z2dlc3Rpb24gZXh0ZW5kcyBfZGVmaW5lX29wdGlvbmFsCit7CisgICAgLy8g
VGhpcyBjbGFzcyBleHBlY3RzIGNvbmZpZ19pdGVtX25hbWUgdG8gYmUgZGVmaW5lZCBpbiBjb25m
aWctZGVmYXVsdC5pbmkKKyAgICAvLyBidXQgYSBjYWxjdWxhdGVkIG9yIHN1Z2dlc3RlZCB2YWx1
ZSB3aWxsIGJlIHBhc3NlZCBpbiB0aGUgZGVmYXVsdF92YWx1ZQorICAgIC8vIHVzZWQgZm9yIHdp
bmRvd3MgdmFyaWFibGVzLiB0aGUgc3VnZ2VzdGVkIHZhbHVlIHdpbGwgYmUgdXNlZCBpbiB0aGUK
KyAgICAvLyBodG1sIGZvcm0gaW5zdGVhZCBvZiBkZWZhdWx0X3ZhbHVlCisgICAgcHVibGljICRj
b25maWdfaXRlbV9uYW1lOworICAgIHB1YmxpYyAkZGVmYXVsdF92YWx1ZTsKKyAgICBwdWJsaWMg
JGRlc2NyaXB0aW9uOworICAgIHB1YmxpYyAkcHJlZml4OworICAgIHB1YmxpYyAkanNjaGVjazsK
KyAgICBwdWJsaWMgJHZhbHVlczsKKyAgICBwdWJsaWMgJHN1Z2dlc3RlZF92YWx1ZTsKKworICAg
IHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY29uZmlnX2l0ZW1fbmFtZSwgJGRlZmF1bHRf
dmFsdWUgPSAnJywgJGRlc2NyaXB0aW9uID0gJycsICRqc2NoZWNrID0gJycpCisgICAgeworICAg
ICAgICAkdGhpcy0+Y29uZmlnX2l0ZW1fbmFtZSA9ICRjb25maWdfaXRlbV9uYW1lOworICAgICAg
ICBpZiAoISRkZXNjcmlwdGlvbikgeworICAgICAgICAgICAgJGRlc2NyaXB0aW9uID0gdGV4dF9m
cm9tX2Rpc3QoJGNvbmZpZ19pdGVtX25hbWUpOworICAgICAgICB9CisgICAgICAgICR0aGlzLT5k
ZXNjcmlwdGlvbiA9ICRkZXNjcmlwdGlvbjsKKyAgICAgICAgaWYgKGRlZmluZWQoJGNvbmZpZ19p
dGVtX25hbWUpCisgICAgICAgICAgICBhbmQgIXByZWdfbWF0Y2goIi8oc2VsZWN0aW9ufGJvb2xl
YW4pLyIsIGdldF9jbGFzcygkdGhpcykpCisgICAgICAgICAgICAgICAgYW5kICFwcmVnX21hdGNo
KCIvXihTQ1JJUFRfTkFNRXxWSVJUVUFMX1BBVEh8elRFTVBfRElSKSQvIiwgJGNvbmZpZ19pdGVt
X25hbWUpCisgICAgICAgICkgeworICAgICAgICAgICAgJHRoaXMtPmRlZmF1bHRfdmFsdWUgPSBj
b25zdGFudCgkY29uZmlnX2l0ZW1fbmFtZSk7CisgICAgICAgIH0gLy8gaWdub3JlIGdpdmVuIGRl
ZmF1bHQgdmFsdWUKKyAgICAgICAgZWxzZWlmICgkY29uZmlnX2l0ZW1fbmFtZSA9PSAkZGVmYXVs
dF92YWx1ZSkgeworICAgICAgICAgICAgJHRoaXMtPmRlZmF1bHRfdmFsdWUgPSAnJzsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICR0aGlzLT5kZWZhdWx0X3ZhbHVlID0gJGRlZmF1bHRf
dmFsdWU7CisgICAgICAgIH0KKyAgICAgICAgJHRoaXMtPnN1Z2dlc3RlZF92YWx1ZSA9ICRkZWZh
dWx0X3ZhbHVlOworICAgICAgICAkdGhpcy0+anNjaGVjayA9ICRqc2NoZWNrOworICAgICAgICBp
ZiAocHJlZ19tYXRjaCgiL3ZhcmlhYmxlL2kiLCBnZXRfY2xhc3MoJHRoaXMpKSkgeworICAgICAg
ICAgICAgJHRoaXMtPnByZWZpeCA9ICJcJCI7CisgICAgICAgIH0gZWxzZWlmIChwcmVnX21hdGNo
KCIvaW5pX3NldC9pIiwgZ2V0X2NsYXNzKCR0aGlzKSkpIHsKKyAgICAgICAgICAgICR0aGlzLT5w
cmVmaXggPSAiaW5pX2dldDogIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICR0aGlz
LT5wcmVmaXggPSAiIjsKKyAgICAgICAgfQorICAgIH0KKworICAgIHB1YmxpYyBmdW5jdGlvbiBn
ZXRfaHRtbCgpCisgICAgeworICAgICAgICAkc2l6ZSA9IHN0cmxlbigkdGhpcy0+c3VnZ2VzdGVk
X3ZhbHVlKSA+IDQ1ID8gOTAgOiA1MDsKKyAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRfY29uZmln
X2l0ZW1faGVhZGVyKCkgLgorICAgICAgICAgICAgIjxpbnB1dCB0eXBlPVwidGV4dFwiIHNpemU9
XCIkc2l6ZVwiIG5hbWU9XCIiIC4gJHRoaXMtPmdldF9jb25maWdfaXRlbV9uYW1lKCkKKyAgICAg
ICAgICAgIC4gJyIgdmFsdWU9IicgLiBodG1sc3BlY2lhbGNoYXJzKCR0aGlzLT5zdWdnZXN0ZWRf
dmFsdWUpIC4gJyIgJyAuICR0aGlzLT5qc2NoZWNrIC4gIiAvPiIKKyAgICAgICAgICAgIC4gIjxw
IGlkPVwiIiAuICR0aGlzLT5nZXRfY29uZmlnX2l0ZW1faWQoKSAuICJcIiBjbGFzcz1cImdyZWVu
XCI+SW5wdXQgYWNjZXB0ZWQuPC9wPiI7CisgICAgfQorfQorCisKKwogY2xhc3MgbnVtZXJpY19k
ZWZpbmUgZXh0ZW5kcyBfZGVmaW5lCiB7CiAgICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0
KCRjb25maWdfaXRlbV9uYW1lLCAkZGVmYXVsdF92YWx1ZSA9ICcnLCAkZGVzY3JpcHRpb24gPSAn
JywgJGpzY2hlY2sgPSAnJykKQEAgLTI1NTMsNiArMjY2NiwzNiBAQAogICAgIHJldHVybiAoJG5l
d3Bhc3MpOwogfQogCisvLy8vCisvLyBGdW5jdGlvbiB0byByZXBsYWNlIHdpbmRvd3Mgc2xhc2hl
cyB3aXRoIGZvcndhcmQgc2xhc2hlcyBpZiBuZWNlc3NhcnkKKy8vIGh0dHBzOi8vc3RhY2tvdmVy
Zmxvdy5jb20vcXVlc3Rpb25zLzU4NzkwNDMvcGhwLXNjcmlwdC1kZXRlY3Qtd2hldGhlci1ydW5u
aW5nLXVuZGVyLWxpbnV4LW9yLXdpbmRvd3MKK2Z1bmN0aW9uIGNoZWNrTWFzc2FnZVdpblBhdGgo
JHBhdGgpIHsKKyAgICBpZiAoRElSRUNUT1JZX1NFUEFSQVRPUiA9PT0gJ1xcJykgeworICAgICAg
ICByZXR1cm4gc3RydHIoJHBhdGgsICdcXCcsICcvJyk7CisgICAgfQorICAgIHJldHVybiAkcGF0
aDsKK30KKworLy8gYnVpbGRzIGEgZGlyZWN0b3J5IG5hbWUgYmFzZWQgb2ZmIG9mIC90bXAgY2hl
Y2tpbmcgaWYgd2luZG93cyBvciBvdGhlcgorZnVuY3Rpb24gY2hlY2tXaW5BbHRlcm5hdGVQYXRo
KCRkZWZpbmVkX25hbWUsICRzdWJkaXIsICRndWVzc2VkdGVtcGRpciwgJGRlZmF1bHR0ZW1wZGly
KSB7CisKKyAgICAvL2VjaG8gKCAiY2hlY2tXaW5BbHRlcm5hdGVQYXRoKCRkZWZpbmVkX25hbWUs
ICRzdWJkaXIsICRndWVzc2VkdGVtcGRpciwgJGRlZmF1bHR0ZW1wZGlyIFxuPGJyIC8+IiAgKTsK
KyAgICBpZiAoZGVmaW5lZCgkZGVmaW5lZF9uYW1lKSkgeworICAgICAgICAkZGlybmFtZSA9IGNv
bnN0YW50KCRkZWZpbmVkX25hbWUpOworICAgICAgICAvL2VjaG8gKCJkaXJuYW1lPSIuJGRpcm5h
bWUuIlxuPGJyIC8+Iik7CisgICAgICAgIGlmIChpc1dpbmRvd3MoKSAmJiAoJGRpcm5hbWUgPT0g
JGRlZmF1bHR0ZW1wZGlyIC4gIi8iLiRzdWJkaXIpKSB7IC8vdHJ5IGhhcmRlciBmb3Igd2luZG93
cworICAgICAgICAgICAgJGRpcm5hbWUgPSAgJGd1ZXNzZWR0ZW1wZGlyLiAiLyIuJHN1YmRpcjsK
KyAgICAgICAgICAgIC8vZWNobyAoImlzd2luZG93cyAiLiRkaXJuYW1lLiJcbjxiciAvPiIpOwor
ICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgJGRpcm5hbWUgPSAgJGd1ZXNzZWR0ZW1w
ZGlyLiAiLyIuJHN1YmRpcjsKKyAgICB9CisgICAgJGRpcm5hbWUgPSBjaGVja01hc3NhZ2VXaW5Q
YXRoKCRkaXJuYW1lKTsKKyAgICAvL2VjaG8gKCIgZXhpdGluZyAiLiRkaXJuYW1lLiJcbjxiciAv
PlxuPGJyIC8+Iik7CisgICAgcmV0dXJuICRkaXJuYW1lOworfQorCisKIC8vIGVuZCBvZiBjbGFz
cyBkZWZpbml0aW9ucwogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC8vIGJlZ2luIGF1
dG8gZ2VuZXJhdGlvbiBjb2RlCgpUaGlzIHdhcyBzZW50IGJ5IHRoZSBTb3VyY2VGb3JnZS5uZXQg
Y29sbGFib3JhdGl2ZSBkZXZlbG9wbWVudCBwbGF0Zm9ybSwgdGhlIHdvcmxkJ3MgbGFyZ2VzdCBP
cGVuIFNvdXJjZSBkZXZlbG9wbWVudCBzaXRlLgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpwaHB3aWtpLWNoZWNraW5zIG1haWxpbmcgbGlzdApwaHB3
aWtpLWNoZWNraW5zQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZv
cmdlLm5ldC9saXN0cy9saXN0aW5mby9waHB3aWtpLWNoZWNraW5zCg==