From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Carl George To: git-commits@fedoraproject.org Subject: [rpms/caddy] f44: Port to new golang packaging guidelines Date: Tue, 23 Jun 2026 05:32:24 GMT Message-ID: <178219274449.1.11539507065790002973.rpms-caddy-1603919fd45c@fedoraproject.org> List-ID: X-Git-Repo: rpms/caddy X-Git-Branch: f44 X-Git-Rev: 1603919fd45cbc752394021a99e387a65098f612 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2FkZHkKICAgICAgICAgICAgQnJhbmNoIDogZjQ0CiAgICAgICAgICAgIENv bW1pdCA6IDE2MDM5MTlmZDQ1Y2JjNzUyMzk0MDIxYTk5ZTM4N2E2NTA5OGY2MTIKICAgICAgICAg ICAgQXV0aG9yIDogQ2FybCBHZW9yZ2UgPGNhcmx3Z2VvcmdlQGdtYWlsLmNvbT4KICAgICAgICAg ICAgRGF0ZSAgIDogMjAyNi0wNi0yMlQyMjoxOTo1MC0wNTowMAogICAgICAgICAgICBTdGF0cyAg OiArMTUyMS8tMjcxIGluIDE0IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6Ly9z cmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9jYWRkeS9jLzE2MDM5MTlmZDQ1Y2JjNzUyMzk0MDIx YTk5ZTM4N2E2NTA5OGY2MTI/YnJhbmNoPWY0NAoKICAgICAgICAgICAgTG9nOgogICAgICAgICAg ICBQb3J0IHRvIG5ldyBnb2xhbmcgcGFja2FnaW5nIGd1aWRlbGluZXMKCi0gQmFja3BvcnQgdXBz dHJlYW0gZml4IGZvciBDVkUtMjAyNi0yNzU4NQotIEJhY2twb3J0IHVwc3RyZWFtIGZpeCBmb3Ig Q1ZFLTIwMjYtMjc1ODYKLSBCYWNrcG9ydCB1cHN0cmVhbSBmaXggZm9yIENWRS0yMDI2LTI3NTg3 Ci0gQmFja3BvcnQgdXBzdHJlYW0gZml4IGZvciBDVkUtMjAyNi0yNzU4OAotIEJhY2twb3J0IHVw c3RyZWFtIGZpeCBmb3IgQ1ZFLTIwMjYtMjc1ODkKLSBCYWNrcG9ydCB1cHN0cmVhbSBmaXggZm9y IENWRS0yMDI2LTI3NTkwCi0gQmFja3BvcnQgdXBzdHJlYW0gZml4IGZvciBDVkUtMjAyNi0zMDg1 MQotIEJhY2twb3J0IHVwc3RyZWFtIGZpeCBmb3IgQ1ZFLTIwMjYtMzA4NTIKLSBVcGRhdGUgdmVu ZG9yZWQgZ2l0aHViLmNvbS9xdWljLWdvL3F1aWMtZ28gdG8gdjAuNTcuMCBmb3IgQ1ZFLTIwMjUt NjQ3MDIKLSBVcGRhdGUgdmVuZG9yZWQgZ29sYW5nLm9yZy94L2NyeXB0byB0byB2MC41Mi4wIGZv ciBDVkUtMjAyNS00NzkxMywgQ1ZFLTIwMjYtMzk4MjgsIENWRS0yMDI2LTM5ODI5LCBhbmQgQ1ZF LTIwMjYtMzk4MzAKLSBVcGRhdGUgdmVuZG9yZWQgZ2l0aHViLmNvbS9zbWFsbHN0ZXAvY2VydGlm aWNhdGVzIHRvIHYwLjMwLjAgZm9yIENWRS0yMDI1LTQ0MDA1IGFuZCBDVkUtMjAyNi00MDA5Nwot IFVwZGF0ZSB2ZW5kb3JlZCBnaXRodWIuY29tL2dvLWNoaS9jaGkvdjUgdG8gdjUuMi41IGZvciBD VkUtMjAyNS02OTcyNQotIFVwZGF0ZSB2ZW5kb3JlZCBnaXRodWIuY29tL3l1aW4vZ29sZG1hcmsv cmVuZGVyZXIvaHRtbCB0byB2MS43LjE3IGZvciBDVkUtMjAyNi01MTYwCgotLS0KZGlmZiAtLWdp dCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDdiNjM1N2YuLjdiNDI2OWIgMTAwNjQ0 Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMSArMSwyIEBACi1jYWRkeS0q LnRhci5negorL2NhZGR5LSoudGFyLmd6CisvY2FkZHktKi12ZW5kb3IudGFyLmJ6MgoKZGlmZiAt LWdpdCBhLzAwMDEtRGlzYWJsZS1jb21tYW5kcy10aGF0LWNhbi1hbHRlci10aGUtYmluYXJ5LnBh dGNoIGIvMDAwMS1EaXNhYmxlLWNvbW1hbmRzLXRoYXQtY2FuLWFsdGVyLXRoZS1iaW5hcnkucGF0 Y2gKaW5kZXggNzNhNTNjOC4uODIxMTEwNSAxMDA2NDQKLS0tIGEvMDAwMS1EaXNhYmxlLWNvbW1h bmRzLXRoYXQtY2FuLWFsdGVyLXRoZS1iaW5hcnkucGF0Y2gKKysrIGIvMDAwMS1EaXNhYmxlLWNv bW1hbmRzLXRoYXQtY2FuLWFsdGVyLXRoZS1iaW5hcnkucGF0Y2gKQEAgLTkxLDYgKzkxLDMgQEAg aW5kZXggMDg1YTlkNzguLmY2ZDAxZmEzIDEwMDY0NAogIAl9CiAgCiAgCWlmICFyZWZsZWN0LkRl ZXBFcXVhbChleHBlY3RlZENvbW1hbmROYW1lcywgY29tbWFuZE5hbWVzKSB7Ci0tLSAKLTIuNTAu MQotCgpkaWZmIC0tZ2l0IGEvMDAwMi1maWxlc2VydmVyLVJlcGxhY2Utd2l0aC1pbi1maWxlLW1h dGNoZXItcGF0aHMucGF0Y2ggYi8wMDAyLWZpbGVzZXJ2ZXItUmVwbGFjZS13aXRoLWluLWZpbGUt bWF0Y2hlci1wYXRocy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4w ZTBmNGY2Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwMi1maWxlc2VydmVyLVJlcGxhY2Utd2l0aC1p bi1maWxlLW1hdGNoZXItcGF0aHMucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSA1MGUxMTc0 NDBjMWEwYWIwN2QzMTNiZGYwNzRlMWM2OGMxNjg4MjNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogTWF0dGhldyBIb2x0IDxtaG9sdEB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBUaHUsIDE5IEZlYiAyMDI2IDEzOjE3OjE5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGZp bGVzZXJ2ZXI6IFJlcGxhY2UgXCB3aXRoIFxcIGluIGZpbGUgbWF0Y2hlciBwYXRocworCitGaXhl czogQ1ZFLTIwMjYtMjc1ODUKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYTI4MjVjNWRk OTUyNzY5ZjEzOWExNjQ0OGRjMWNhMWJlNjFiNjA1OCkKKy0tLQorIG1vZHVsZXMvY2FkZHlodHRw L2ZpbGVzZXJ2ZXIvbWF0Y2hlci5nbyAgICAgICAgICAgICAgICAgICAgIHwgMSArCisgbW9kdWxl cy9jYWRkeWh0dHAvZmlsZXNlcnZlci9tYXRjaGVyX3Rlc3QuZ28gICAgICAgICAgICAgICAgfCA2 ICsrKysrKworICJtb2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL3Rlc3RkYXRhL2Zvb2Rpci9z ZWNyXFxldC50eHQiIHwgMAorIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCisgY3Jl YXRlIG1vZGUgMTAwNjQ0ICJtb2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL3Rlc3RkYXRhL2Zv b2Rpci9zZWNyXFxldC50eHQiCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NhZGR5aHR0cC9maWxl c2VydmVyL21hdGNoZXIuZ28gYi9tb2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL21hdGNoZXIu Z28KK2luZGV4IGZiY2QzNmUwLi45ZmUyNzc0YyAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY2FkZHlo dHRwL2ZpbGVzZXJ2ZXIvbWF0Y2hlci5nbworKysrIGIvbW9kdWxlcy9jYWRkeWh0dHAvZmlsZXNl cnZlci9tYXRjaGVyLmdvCitAQCAtNzIwLDYgKzcyMCw3IEBAIHZhciBnbG9iU2FmZVJlcGwgPSBz dHJpbmdzLk5ld1JlcGxhY2VyKAorIAkiKiIsICJcXCoiLAorIAkiWyIsICJcXFsiLAorIAkiPyIs ICJcXD8iLAorKwkiXFwiLCAiXFxcXCIsCisgKQorIAorIGNvbnN0ICgKK2RpZmYgLS1naXQgYS9t b2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL21hdGNoZXJfdGVzdC5nbyBiL21vZHVsZXMvY2Fk ZHlodHRwL2ZpbGVzZXJ2ZXIvbWF0Y2hlcl90ZXN0LmdvCitpbmRleCBmMGVjNGIzOS4uMzY0ODNm Y2QgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL21hdGNoZXJfdGVz dC5nbworKysrIGIvbW9kdWxlcy9jYWRkeWh0dHAvZmlsZXNlcnZlci9tYXRjaGVyX3Rlc3QuZ28K K0BAIC0xMTUsNiArMTE1LDEyIEBAIGZ1bmMgVGVzdEZpbGVNYXRjaGVyKHQgKnRlc3RpbmcuVCkg eworIAkJCWV4cGVjdGVkVHlwZTogImZpbGUiLAorIAkJCW1hdGNoZWQ6ICAgICAgIWlzV2luZG93 cywKKyAJCX0sCisrCQl7CisrCQkJcGF0aDogICAgICAgICAiL2Zvb2Rpci9zZWNyJTVDZXQudHh0 IiwKKysJCQlleHBlY3RlZFBhdGg6ICIvZm9vZGlyL3NlY3JcXGV0LnR4dCIsCisrCQkJZXhwZWN0 ZWRUeXBlOiAiZmlsZSIsCisrCQkJbWF0Y2hlZDogICAgICB0cnVlLAorKwkJfSwKKyAJfSB7Cisg CQltIDo9ICZNYXRjaEZpbGV7CisgCQkJZnNtYXA6ICAgICZmaWxlc3lzdGVtcy5GaWxlU3lzdGVt TWFwe30sCitkaWZmIC0tZ2l0ICJhL21vZHVsZXMvY2FkZHlodHRwL2ZpbGVzZXJ2ZXIvdGVzdGRh dGEvZm9vZGlyL3NlY3JcXGV0LnR4dCIgImIvbW9kdWxlcy9jYWRkeWh0dHAvZmlsZXNlcnZlci90 ZXN0ZGF0YS9mb29kaXIvc2VjclxcZXQudHh0IgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwLi5lNjlkZTI5YgoKZGlmZiAtLWdpdCBhLzAwMDMtY2FkZHl0bHMtUmV0dXJuLWVy cm9ycy1pbnN0ZWFkLW9mLW5pbC1pbi1jbGllbnQtYXV0aC1wcm92aXNpb25pbmctNzQ2NC5wYXRj aCBiLzAwMDMtY2FkZHl0bHMtUmV0dXJuLWVycm9ycy1pbnN0ZWFkLW9mLW5pbC1pbi1jbGllbnQt YXV0aC1wcm92aXNpb25pbmctNzQ2NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi4wNmU3ODUwCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMy1jYWRkeXRscy1SZXR1cm4t ZXJyb3JzLWluc3RlYWQtb2YtbmlsLWluLWNsaWVudC1hdXRoLXByb3Zpc2lvbmluZy03NDY0LnBh dGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gNzNhNjI4NzAzMWY1ZWE2ODQ3ZjIyMmFhOTY0MWZm NWI3MmJhNDIwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG1vc2Nvd2NoaWxsIDw3 MjU3ODg3OSttb3Njb3djaGlsbEB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUs IDEyIEZlYiAyMDI2IDIzOjQyOjU0ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNhZGR5dGxzOiBS ZXR1cm4gZXJyb3JzIGluc3RlYWQgb2YgbmlsIGluIGNsaWVudCBhdXRoCisgcHJvdmlzaW9uaW5n ICgjNzQ2NCkKKworVHdvIGVycm9yIHJldHVybnMgaW4gQ2xpZW50QXV0aGVudGljYXRpb24ucHJv dmlzaW9uKCkgd2VyZQorcmV0dXJuaW5nIG5pbCBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgZXJyb3Is IHNpbGVudGx5IHN3YWxsb3dpbmcKK2ZhaWx1cmVzIHdoZW4gY29udmVydGluZyBQRU0gZmlsZXMg dG8gREVSIGFuZCB3aGVuIHByb3Zpc2lvbmluZwordGhlIENBIHBvb2wuIFRoaXMgY291bGQgY2F1 c2UgbVRMUyBjbGllbnQgYXV0aGVudGljYXRpb24gdG8KK3NpbGVudGx5IGZhbGwgYmFjayB0byB0 aGUgc3lzdGVtIHRydXN0IHN0b3JlLCBhY2NlcHRpbmcgYW55CitjbGllbnQgY2VydGlmaWNhdGUg c2lnbmVkIGJ5IGEgcHVibGljIENBIGluc3RlYWQgb2YgcmVzdHJpY3RpbmcKK3RvIHRoZSBjb25m aWd1cmVkIHRydXN0IGFuY2hvcnMuCisKK0ZpeGVzOiBDVkUtMjAyNi0yNzU4NgorCisoY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCBkNDJkMzliNGJjMjM3YzYyOGY5YTk1MzYzYjI4MDQ0Y2I3YTdm ZTcyKQorLS0tCisgbW9kdWxlcy9jYWRkeXRscy9jb25ucG9saWN5LmdvIHwgNCArKy0tCisgMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL21vZHVsZXMvY2FkZHl0bHMvY29ubnBvbGljeS5nbyBiL21vZHVsZXMvY2FkZHl0bHMvY29u bnBvbGljeS5nbworaW5kZXggNzI0MjcxYTguLmE2YWVkY2MyIDEwMDY0NAorLS0tIGEvbW9kdWxl cy9jYWRkeXRscy9jb25ucG9saWN5LmdvCisrKysgYi9tb2R1bGVzL2NhZGR5dGxzL2Nvbm5wb2xp Y3kuZ28KK0BAIC03OTQsNyArNzk0LDcgQEAgZnVuYyAoY2xpZW50YXV0aCAqQ2xpZW50QXV0aGVu dGljYXRpb24pIHByb3Zpc2lvbihjdHggY2FkZHkuQ29udGV4dCkgZXJyb3IgeworIAkJZm9yIF8s IGZwYXRoIDo9IHJhbmdlIGNsaWVudGF1dGguVHJ1c3RlZENBQ2VydFBFTUZpbGVzIHsKKyAJCQlk ZXJzLCBlcnIgOj0gY29udmVydFBFTUZpbGVzVG9ERVIoZnBhdGgpCisgCQkJaWYgZXJyICE9IG5p bCB7CistCQkJCXJldHVybiBuaWwKKysJCQkJcmV0dXJuIGVycgorIAkJCX0KKyAJCQljbGllbnRh dXRoLlRydXN0ZWRDQUNlcnRzID0gYXBwZW5kKGNsaWVudGF1dGguVHJ1c3RlZENBQ2VydHMsIGRl cnMuLi4pCisgCQl9CitAQCAtODA3LDcgKzgwNyw3IEBAIGZ1bmMgKGNsaWVudGF1dGggKkNsaWVu dEF1dGhlbnRpY2F0aW9uKSBwcm92aXNpb24oY3R4IGNhZGR5LkNvbnRleHQpIGVycm9yIHsKKyAJ CX0KKyAJCWVyciA6PSBjYVBvb2wuUHJvdmlzaW9uKGN0eCkKKyAJCWlmIGVyciAhPSBuaWwgewor LQkJCXJldHVybiBuaWwKKysJCQlyZXR1cm4gZXJyCisgCQl9CisgCQljbGllbnRhdXRoLmNhID0g Y2FQb29sCisgCX0KCmRpZmYgLS1naXQgYS8wMDA0LWNhZGR5aHR0cC1Mb3dlcmNhc2UtY29tcGFy aXNvbi13aGVuLW1hdGNoaW5nLXdpdGgtZXNjYXBlLXNlcXVlbmNlLnBhdGNoIGIvMDAwNC1jYWRk eWh0dHAtTG93ZXJjYXNlLWNvbXBhcmlzb24td2hlbi1tYXRjaGluZy13aXRoLWVzY2FwZS1zZXF1 ZW5jZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTRhMzFkCi0t LSAvZGV2L251bGwKKysrIGIvMDAwNC1jYWRkeWh0dHAtTG93ZXJjYXNlLWNvbXBhcmlzb24td2hl bi1tYXRjaGluZy13aXRoLWVzY2FwZS1zZXF1ZW5jZS5wYXRjaApAQCAtMCwwICsxLDY0IEBACitG cm9tIDQxZGYyOTU1YjBmMzIyMmNjMDFhMWY1ZDBiNGRiYzA4ZWMzOWNlZGIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBNYXR0aGV3IEhvbHQgPG1ob2x0QHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KK0RhdGU6IE1vbiwgOSBGZWIgMjAyNiAwOTo0MzowNyAtMDcwMAorU3ViamVjdDog W1BBVENIXSBjYWRkeWh0dHA6IExvd2VyY2FzZSBjb21wYXJpc29uIHdoZW4gbWF0Y2hpbmcgd2l0 aCBlc2NhcGUKKyBzZXF1ZW5jZQorCitOZWNlc3NhcnkgYXMgb3RoZXJ3aXNlIHRoZSBlYXJseS1i YWlsIGluIGB1bnRpbCA9CitzdHJpbmdzLkluZGV4Qnl0ZShyZW1haW5pbmcsIG5leHRDaCkgLi4u IGlmIHVudGlsID09IC0xYCBjYW4gY2F1c2UgYQorY2FzZS1pbnNlbnNpdGl2ZSBtaXNtYXRjaAor CitGaXhlczogQ1ZFLTIwMjYtMjc1ODcKK0NvLWF1dGhvcmVkLWJ5OiBBc2ltIFZpbGFkaSBPZ2x1 IE1hbml6YWRhIDxtYW5pemFkYUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CisKKyhjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IGJkMzc0Y2E5ZDcyZTI5NmM5MzYxYWVlNzY5MjRiNjU0MGYyMmYw YzApCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBhMTA4MTE5NGJmYWU0ZTBkOGMyMjdlYzQ0 YWVjYjk1ZWRlZDU1ZDFlKQorLS0tCisgbW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnMuZ28gICAg ICB8ICA1ICsrKy0tCisgbW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnNfdGVzdC5nbyB8IDEwICsr KysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVycy5nbyBiL21vZHVs ZXMvY2FkZHlodHRwL21hdGNoZXJzLmdvCitpbmRleCAyMjk3NmNmYi4uM2U2YzI5MzIgMTAwNjQ0 CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVycy5nbworKysrIGIvbW9kdWxlcy9jYWRk eWh0dHAvbWF0Y2hlcnMuZ28KK0BAIC01MzMsNiArNTMzLDcgQEAgZnVuYyAobSBNYXRjaFBhdGgp IE1hdGNoV2l0aEVycm9yKHIgKmh0dHAuUmVxdWVzdCkgKGJvb2wsIGVycm9yKSB7CisgfQorIAor IGZ1bmMgKE1hdGNoUGF0aCkgbWF0Y2hQYXR0ZXJuV2l0aEVzY2FwZVNlcXVlbmNlKGVzY2FwZWRQ YXRoLCBtYXRjaFBhdGggc3RyaW5nKSBib29sIHsKKysJZXNjYXBlZFBhdGggPSBzdHJpbmdzLlRv TG93ZXIoZXNjYXBlZFBhdGgpCisgCS8vIFdlIHdvdWxkIGp1c3QgY29tcGFyZSB0aGUgcGF0dGVy biBhZ2FpbnN0IHIuVVJMLlBhdGgsCisgCS8vIGJ1dCB0aGUgcGF0dGVybiBjb250YWlucyAlLCBp bmRpY2F0aW5nIHRoYXQgd2Ugc2hvdWxkCisgCS8vIGNvbXBhcmUgYXQgbGVhc3Qgc29tZSBwYXJ0 IG9mIHRoZSBwYXRoIGluIHJhdy9lc2NhcGVkCitAQCAtNjMyLDggKzYzMyw4IEBAIGZ1bmMgKE1h dGNoUGF0aCkgbWF0Y2hQYXR0ZXJuV2l0aEVzY2FwZVNlcXVlbmNlKGVzY2FwZWRQYXRoLCBtYXRj aFBhdGggc3RyaW5nKSBiCisgCS8vIHdlIGNhbiBub3cgdHJlYXQgcmF3cGF0aCBnbG9icyAoJSop IGFzIHJlZ3VsYXIgZ2xvYnMgKCopCisgCW1hdGNoUGF0aCA9IHN0cmluZ3MuUmVwbGFjZUFsbCht YXRjaFBhdGgsICIlKiIsICIqIikKKyAKKy0JLy8gaWdub3JlIGVycm9yIGhlcmUgYmVjYXVzZSB3 ZSBjYW4ndCBoYW5kbGUgaXQgYW55d2F5PQorLQltYXRjaGVzLCBfIDo9IHBhdGguTWF0Y2gobWF0 Y2hQYXRoLCBzYi5TdHJpbmcoKSkKKysJLy8gaWdub3JlIGVycm9yIGhlcmUgYmVjYXVzZSB3ZSBj YW4ndCBoYW5kbGUgaXQgYW55d2F5CisrCW1hdGNoZXMsIF8gOj0gcGF0aC5NYXRjaChtYXRjaFBh dGgsIHN0cmluZ3MuVG9Mb3dlcihzYi5TdHJpbmcoKSkpCisgCXJldHVybiBtYXRjaGVzCisgfQor IAorZGlmZiAtLWdpdCBhL21vZHVsZXMvY2FkZHlodHRwL21hdGNoZXJzX3Rlc3QuZ28gYi9tb2R1 bGVzL2NhZGR5aHR0cC9tYXRjaGVyc190ZXN0LmdvCitpbmRleCAwNjgyMDdlOC4uYzAwMmEzZTQg MTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVyc190ZXN0LmdvCisrKysgYi9t b2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVyc190ZXN0LmdvCitAQCAtNDEyLDYgKzQxMiwxNiBAQCBm dW5jIFRlc3RQYXRoTWF0Y2hlcih0ICp0ZXN0aW5nLlQpIHsKKyAJCQlpbnB1dDogICIvZm9vJTJm YmFyL2JheiIsCisgCQkJZXhwZWN0OiB0cnVlLAorIAkJfSwKKysJCXsKKysJCQltYXRjaDogIE1h dGNoUGF0aHsiL2FkbWluJTJmcGFuZWwifSwKKysJCQlpbnB1dDogICIvQURNSU4lMmZwYW5lbCIs CisrCQkJZXhwZWN0OiB0cnVlLAorKwkJfSwKKysJCXsKKysJCQltYXRjaDogIE1hdGNoUGF0aHsi L2FkbWluJTJmcGEqZWwifSwKKysJCQlpbnB1dDogICIvQURNSU4lMmZQYUF6WkxtMTIzTkVMIiwK KysJCQlleHBlY3Q6IHRydWUsCisrCQl9LAorIAl9IHsKKyAJCWVyciA6PSB0Yy5tYXRjaC5Qcm92 aXNpb24oY2FkZHkuQ29udGV4dHt9KQorIAkJaWYgZXJyID09IG5pbCAmJiB0Yy5wcm92aXNpb25F cnIgewoKZGlmZiAtLWdpdCBhLzAwMDUtY2FkZHlodHRwLVVzZS1jYXNlLWluc2Vuc2l0aXZlLWNv bXBhcmlzb24tZm9yLWxhcmdlLUhvc3QtbGlzdHMucGF0Y2ggYi8wMDA1LWNhZGR5aHR0cC1Vc2Ut Y2FzZS1pbnNlbnNpdGl2ZS1jb21wYXJpc29uLWZvci1sYXJnZS1Ib3N0LWxpc3RzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2OTc2OTAKLS0tIC9kZXYvbnVsbAor KysgYi8wMDA1LWNhZGR5aHR0cC1Vc2UtY2FzZS1pbnNlbnNpdGl2ZS1jb21wYXJpc29uLWZvci1s YXJnZS1Ib3N0LWxpc3RzLnBhdGNoCkBAIC0wLDAgKzEsNjMgQEAKK0Zyb20gYzhmMjdlNzVmZTk3 NjcyZGZmYWZjY2FiNmQ3YjJiMjZmMDJiYTlkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IE1hdHRoZXcgSG9sdCA8bWhvbHRAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTog TW9uLCA5IEZlYiAyMDI2IDE0OjE4OjU1IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGNhZGR5aHR0 cDogVXNlIGNhc2UtaW5zZW5zaXRpdmUgY29tcGFyaXNvbiBmb3IgbGFyZ2UgSG9zdAorIGxpc3Rz CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK05vcm1hbGl6ZSBleGFjdCBo b3N0cyBhdCBwcm92aXNpb25pbmcgYW5kIHJlcUhvc3QgaW4gdGhlIGZhc3QgcGF0aCBzbyBjYXNl LWRpZmZlcmVudCBIb3N0IHZhcmlhbnRzIGNhbuKAmXQgYnlwYXNzIGhvc3QtZ2F0ZWQgcm91dGVz LgorCitGaXhlczogQ1ZFLTIwMjYtMjc1ODgKK0NvLWF1dGhvcmVkLWJ5OiBBc2ltIFZpbGFkaSBP Z2x1IE1hbml6YWRhIDxtYW5pemFkYUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CisKKyhjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IDFmNDNlODU2NmI0YzFkNjZhMDBhMTM4MTg4ZjBkZWZjNWFk YzZkNzUpCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlZWMzMmEwYmI1YTExNjUxYzZhN2Iw NGNlODJkYzUwNjEwZjJiMjdlKQorLS0tCisgbW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnMuZ28g fCAxNSArKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwg NSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY2FkZHlodHRwL21hdGNoZXJz LmdvIGIvbW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnMuZ28KK2luZGV4IDNlNmMyOTMyLi4yN2U1 YzVhZSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY2FkZHlodHRwL21hdGNoZXJzLmdvCisrKysgYi9t b2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVycy5nbworQEAgLTI2MiwxMyArMjYyLDE3IEBAIGZ1bmMg KG0gTWF0Y2hIb3N0KSBQcm92aXNpb24oXyBjYWRkeS5Db250ZXh0KSBlcnJvciB7CisgCQlpZiBl cnIgIT0gbmlsIHsKKyAJCQlyZXR1cm4gZm10LkVycm9yZigiY29udmVydGluZyBob3N0bmFtZSAn JXMnIHRvIEFTQ0lJOiAldiIsIGhvc3QsIGVycikKKyAJCX0KKy0JCWlmIGFzY2lpSG9zdCAhPSBo b3N0IHsKKy0JCQltW2ldID0gYXNjaWlIb3N0CistCQl9CisgCQlub3JtYWxpemVkSG9zdCA6PSBz dHJpbmdzLlRvTG93ZXIoYXNjaWlIb3N0KQorIAkJaWYgZmlyc3RJLCBvayA6PSBzZWVuW25vcm1h bGl6ZWRIb3N0XTsgb2sgeworIAkJCXJldHVybiBmbXQuRXJyb3JmKCJob3N0IGF0IGluZGV4ICVk IGlzIHJlcGVhdGVkIGF0IGluZGV4ICVkOiAlcyIsIGZpcnN0SSwgaSwgaG9zdCkKKyAJCX0KKysJ CS8vIE5vcm1hbGl6ZSBleGFjdCBob3N0cyBmb3Igc3RhbmRhcmRpemVkIGNvbXBhcmlzb24gaW4g bGFyZ2UtbGlzdCBmYXN0cGF0aCBsYXRlciBvbi4KKysJCS8vIEtlZXAgd2lsZGNhcmRzL3BsYWNl aG9sZGVycyB1bnRvdWNoZWQuCisrCQlpZiBtLmZ1enp5KGFzY2lpSG9zdCkgeworKwkJCW1baV0g PSBhc2NpaUhvc3QKKysJCX0gZWxzZSB7CisrCQkJbVtpXSA9IG5vcm1hbGl6ZWRIb3N0CisrCQl9 CisgCQlzZWVuW25vcm1hbGl6ZWRIb3N0XSA9IGkKKyAJfQorIAorQEAgLTMxMiwxNCArMzE2LDE1 IEBAIGZ1bmMgKG0gTWF0Y2hIb3N0KSBNYXRjaFdpdGhFcnJvcihyICpodHRwLlJlcXVlc3QpIChi b29sLCBlcnJvcikgeworIAl9CisgCisgCWlmIG0ubGFyZ2UoKSB7CisrCQlyZXFIb3N0TG93ZXIg Oj0gc3RyaW5ncy5Ub0xvd2VyKHJlcUhvc3QpCisgCQkvLyBmYXN0IHBhdGg6IGxvY2F0ZSBleGFj dCBtYXRjaCB1c2luZyBiaW5hcnkgc2VhcmNoIChhYm91dCAxMDAtMTAwMHggZmFzdGVyIGZvciBs YXJnZSBsaXN0cykKKyAJCXBvcyA6PSBzb3J0LlNlYXJjaChsZW4obSksIGZ1bmMoaSBpbnQpIGJv b2wgeworIAkJCWlmIG0uZnV6enkobVtpXSkgeworIAkJCQlyZXR1cm4gZmFsc2UKKyAJCQl9Cist CQkJcmV0dXJuIG1baV0gPj0gcmVxSG9zdAorKwkJCXJldHVybiBtW2ldID49IHJlcUhvc3RMb3dl cgorIAkJfSkKKy0JCWlmIHBvcyA8IGxlbihtKSAmJiBtW3Bvc10gPT0gcmVxSG9zdCB7CisrCQlp ZiBwb3MgPCBsZW4obSkgJiYgbVtwb3NdID09IHJlcUhvc3RMb3dlciB7CisgCQkJcmV0dXJuIHRy dWUsIG5pbAorIAkJfQorIAl9CgpkaWZmIC0tZ2l0IGEvMDAwNi1hZG1pbi1SZWplY3QtcmVxdWVz dHMtd2l0aC1TZWMtRmV0Y2gtTW9kZS1oZWFkZXJzLnBhdGNoIGIvMDAwNi1hZG1pbi1SZWplY3Qt cmVxdWVzdHMtd2l0aC1TZWMtRmV0Y2gtTW9kZS1oZWFkZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiODk1ODAKLS0tIC9kZXYvbnVsbAorKysgYi8wMDA2LWFk bWluLVJlamVjdC1yZXF1ZXN0cy13aXRoLVNlYy1GZXRjaC1Nb2RlLWhlYWRlcnMucGF0Y2gKQEAg LTAsMCArMSw2MCBAQAorRnJvbSA2MWY4ZTY4YTRhYmFkMzI5NThkMmFkZjAzYmE3MzNkZTIzMDcz YzQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dGhldyBIb2x0IDxtaG9sdEB1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUsIDUgRmViIDIwMjYgMDk6Mzk6MTEg LTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gYWRtaW46IFJlamVjdCByZXF1ZXN0cyB3aXRoIFNlYy1G ZXRjaC1Nb2RlIGhlYWRlcnMKKworQW5kIGJ1Z2d5IE9yaWdpbjogbnVsbCBoZWFkZXJzLgorCitS ZXNvbHZlcyBhIGxvdy1yaXNrIHNlY3VyaXR5IHJlcG9ydCBieSBAMXNlYWwuCisKK0ZpeGVzOiBD VkUtMjAyNi0yNzU4OQorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0MmNhMDEwZTlkOGRh MzVlOTFlZGQ2OWU3MjRkMzczNjY3OGI1NjIwKQorLS0tCisgYWRtaW4uZ28gfCAyNyArKysrKysr KysrKysrKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYWRtaW4uZ28gYi9hZG1pbi5nbworaW5kZXgg ZTY4OTVjMzkuLjdkYmZkNDc4IDEwMDY0NAorLS0tIGEvYWRtaW4uZ28KKysrKyBiL2FkbWluLmdv CitAQCAtODA3LDEzICs4MDcsMzggQEAgZnVuYyAoaCBhZG1pbkhhbmRsZXIpIHNlcnZlSFRUUCh3 IGh0dHAuUmVzcG9uc2VXcml0ZXIsIHIgKmh0dHAuUmVxdWVzdCkgeworIAkJfQorIAl9CisgCisr CS8vIGNvbW1vbiBtaXRpZ2F0aW9ucyBpbiBicm93c2VyIGNvbnRleHRzCisgCWlmIHN0cmluZ3Mu Q29udGFpbnMoci5IZWFkZXIuR2V0KCJVcGdyYWRlIiksICJ3ZWJzb2NrZXQiKSB7CisgCQkvLyBJ J3ZlIG5ldmVyIGJlZW4gYWJsZSBkZW1vbnN0cmF0ZSBhIHZ1bG5lcmFiaWxpdHkgbXlzZWxmLCBi dXQgYXBwYXJlbnRseQorIAkJLy8gV2ViU29ja2V0IGNvbm5lY3Rpb25zIG9yaWdpbmF0aW5nIGZy b20gYnJvd3NlcnMgYXJlbid0IHN1YmplY3QgdG8gQ09SUworIAkJLy8gcmVzdHJpY3Rpb25zLCBz byB3ZSdsbCBqdXN0IGJlIG9uIHRoZSBzYWZlIHNpZGUKKy0JCWguaGFuZGxlRXJyb3Iodywgciwg Zm10LkVycm9yZigid2Vic29ja2V0IGNvbm5lY3Rpb25zIGFyZW4ndCBhbGxvd2VkIikpCisrCQlo LmhhbmRsZUVycm9yKHcsIHIsIEFQSUVycm9yeworKwkJCUhUVFBTdGF0dXM6IGh0dHAuU3RhdHVz QmFkUmVxdWVzdCwKKysJCQlFcnI6ICAgICAgICBlcnJvcnMuTmV3KCJ3ZWJzb2NrZXQgY29ubmVj dGlvbnMgYXJlbid0IGFsbG93ZWQiKSwKKysJCQlNZXNzYWdlOiAgICAiV2ViU29ja2V0IGNvbm5l Y3Rpb25zIGFyZW4ndCBhbGxvd2VkLiIsCisrCQl9KQorIAkJcmV0dXJuCisgCX0KKysJaWYgc3Ry aW5ncy5Db250YWlucyhyLkhlYWRlci5HZXQoIlNlYy1GZXRjaC1Nb2RlIiksICJuby1jb3JzIikg eworKwkJLy8gdHVybnMgb3V0IHdlYiBwYWdlcyBjYW4ganVzdCBkaXNhYmxlIHRoZSBzYW1lLW9y aWdpbiBwb2xpY3kgKCE/Pz8hPykKKysJCS8vIGJ1dCBhdCBsZWFzdCBicm93c2VycyBsZXQgdXMg a25vdyB0aGF0J3MgdGhlIGNhc2UsIGhvbHkgaGVjaworKwkJaC5oYW5kbGVFcnJvcih3LCByLCBB UElFcnJvcnsKKysJCQlIVFRQU3RhdHVzOiBodHRwLlN0YXR1c0JhZFJlcXVlc3QsCisrCQkJRXJy OiAgICAgICAgZXJyb3JzLk5ldygiY2xpZW50IGF0dGVtcHRlZCB0byBtYWtlIHJlcXVlc3QgYnkg ZGlzYWJsaW5nIHNhbWUtb3JpZ2luIHBvbGljeSB1c2luZyBuby1jb3JzIG1vZGUiKSwKKysJCQlN ZXNzYWdlOiAgICAiRGlzYWJsaW5nIHNhbWUtb3JpZ2luIHJlc3RyaWN0aW9ucyBpcyBub3QgYWxs b3dlZC4iLAorKwkJfSkKKysJCXJldHVybgorKwl9CisrCWlmIHIuSGVhZGVyLkdldCgiT3JpZ2lu IikgPT0gIm51bGwiIHsKKysJCS8vIGJ1ZyBpbiBGaXJlZm94IGluIGNlcnRhaW4gY3Jvc3Mtb3Jp Z2luIHNpdHVhdGlvbnMgKHlpa2VzPykKKysJCS8vIChub3Qgc3RyaWN0bHkgYSBzZWN1cml0eSB2 dWxuIG9uIGl0cyBvd24sIGJ1dCBpdCdzIHJlZCBmbGFnZ3ksCisrCQkvLyBzaW5jZSBpdCBzZWVt cyB0byBtYW5pZmVzdCBpbiBjcm9zcy1vcmlnaW4gY29udGV4dHMpCisrCQloLmhhbmRsZUVycm9y KHcsIHIsIEFQSUVycm9yeworKwkJCUhUVFBTdGF0dXM6IGh0dHAuU3RhdHVzQmFkUmVxdWVzdCwK KysJCQlFcnI6ICAgICAgICBlcnJvcnMuTmV3KCJpbnZhbGlkIG9yaWdpbiAnbnVsbCciKSwKKysJ CQlNZXNzYWdlOiAgICAiQnVnZ3kgYnJvd3NlciBpcyBzZW5kaW5nIG51bGwgT3JpZ2luIGhlYWRl ci4iLAorKwkJfSkKKysJfQorIAorIAlpZiBoLmVuZm9yY2VIb3N0IHsKKyAJCS8vIEROUyByZWJp bmRpbmcgbWl0aWdhdGlvbgoKZGlmZiAtLWdpdCBhLzAwMDctZml4LUZhc3RDR0ktc3BsaXQtU0NS SVBUX05BTUUtUEFUSF9JTkZPLWNvbmZ1c2lvbi5wYXRjaCBiLzAwMDctZml4LUZhc3RDR0ktc3Bs aXQtU0NSSVBUX05BTUUtUEFUSF9JTkZPLWNvbmZ1c2lvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi42YzM0MmM5Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwNy1maXgt RmFzdENHSS1zcGxpdC1TQ1JJUFRfTkFNRS1QQVRIX0lORk8tY29uZnVzaW9uLnBhdGNoCkBAIC0w LDAgKzEsNDE3IEBACitGcm9tIGM4NDBiZmFmNGE1ZjBjMTZiMmE1ODgwYTNiOTVmMzJkM2U4M2Fl YmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/Sz1DMz1BOXZpbj0y MER1bmdsYXM/PSA8a2V2aW5AZHVuZ2xhcy5mcj4KK0RhdGU6IFR1ZSwgMTAgRmViIDIwMjYgMTk6 NTI6MzYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4OiBGYXN0Q0dJIHNwbGl0IFNDUklQVF9O QU1FL1BBVEhfSU5GTyBjb25mdXNpb24KKworRml4ZXM6IENWRS0yMDI2LTI3NTkwCisKKyhjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IDdjMjhjMGMwN2FjNzBhODk2MGExNjZjNzEyNjE1MGE0MDhi YTc0NjQpCistLS0KKyAuLi4vY2FkZHlodHRwL3JldmVyc2Vwcm94eS9mYXN0Y2dpL2Zhc3RjZ2ku Z28gfCAgOTAgKysrKysrLQorIC4uLi9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpX3Rlc3Qu Z28gICAgICB8IDI0NiArKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDMzMiBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBtb2R1bGVz L2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpX3Rlc3QuZ28KKworZGlmZiAt LWdpdCBhL21vZHVsZXMvY2FkZHlodHRwL3JldmVyc2Vwcm94eS9mYXN0Y2dpL2Zhc3RjZ2kuZ28g Yi9tb2R1bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpLmdvCitpbmRl eCBkNDUxZGQzOC4uNTFkNGViYzIgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC9yZXZl cnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpLmdvCisrKysgYi9tb2R1bGVzL2NhZGR5aHR0cC9yZXZl cnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpLmdvCitAQCAtMTYsNiArMTYsNyBAQCBwYWNrYWdlIGZh c3RjZ2kKKyAKKyBpbXBvcnQgKAorIAkiY3J5cHRvL3RscyIKKysJImVycm9ycyIKKyAJImZtdCIK KyAJIm5ldCIKKyAJIm5ldC9odHRwIgorQEAgLTIzLDkgKzI0LDEyIEBAIGltcG9ydCAoCisgCSJz dHJjb252IgorIAkic3RyaW5ncyIKKyAJInRpbWUiCisrCSJ1bmljb2RlL3V0ZjgiCisgCisgCSJn by51YmVyLm9yZy96YXAiCisgCSJnby51YmVyLm9yZy96YXAvemFwY29yZSIKKysJImdvbGFuZy5v cmcveC90ZXh0L2xhbmd1YWdlIgorKwkiZ29sYW5nLm9yZy94L3RleHQvc2VhcmNoIgorIAorIAki Z2l0aHViLmNvbS9jYWRkeXNlcnZlci9jYWRkeS92MiIKKyAJImdpdGh1Yi5jb20vY2FkZHlzZXJ2 ZXIvY2FkZHkvdjIvbW9kdWxlcy9jYWRkeWh0dHAiCitAQCAtMzMsNyArMzcsMTEgQEAgaW1wb3J0 ICgKKyAJImdpdGh1Yi5jb20vY2FkZHlzZXJ2ZXIvY2FkZHkvdjIvbW9kdWxlcy9jYWRkeXRscyIK KyApCisgCistdmFyIG5vb3BMb2dnZXIgPSB6YXAuTmV3Tm9wKCkKKyt2YXIgKAorKwlFcnJJbnZh bGlkU3BsaXRQYXRoID0gZXJyb3JzLk5ldygic3BsaXQgcGF0aCBjb250YWlucyBub24tQVNDSUkg Y2hhcmFjdGVycyIpCisrCisrCW5vb3BMb2dnZXIgPSB6YXAuTmV3Tm9wKCkKKyspCisgCisgZnVu YyBpbml0KCkgeworIAljYWRkeS5SZWdpc3Rlck1vZHVsZShUcmFuc3BvcnR7fSkKK0BAIC01MCw2 ICs1OCw5IEBAIHR5cGUgVHJhbnNwb3J0IHN0cnVjdCB7CisgCS8vIGFjdHVhbCByZXNvdXJjZSAo Q0dJIHNjcmlwdCkgbmFtZSwgYW5kIHRoZSBzZWNvbmQgcGllY2Ugd2lsbCBiZSBzZXQgdG8KKyAJ Ly8gUEFUSF9JTkZPIGZvciB0aGUgQ0dJIHNjcmlwdCB0byB1c2UuCisgCS8vCisrCS8vIFNwbGl0 IHBhdGhzIGNhbiBvbmx5IGNvbnRhaW4gQVNDSUkgY2hhcmFjdGVycy4KKysJLy8gQ29tcGFyaXNv biBpcyBjYXNlLWluc2Vuc2l0aXZlLgorKwkvLworIAkvLyBGdXR1cmUgZW5oYW5jZW1lbnRzIHNo b3VsZCBiZSBjYXJlZnVsIHRvIGF2b2lkIENWRS0yMDE5LTExMDQzLAorIAkvLyB3aGljaCBjYW4g YmUgbWl0aWdhdGVkIHdpdGggdXNlIG9mIGEgdHJ5X2ZpbGVzLWxpa2UgYmVoYXZpb3IKKyAJLy8g dGhhdCA0MDRzIGlmIHRoZSBmYXN0Y2dpIHBhdGggaW5mbyBpcyBub3QgZm91bmQuCitAQCAtMTA5 LDYgKzEyMCwyOCBAQCBmdW5jICh0ICpUcmFuc3BvcnQpIFByb3Zpc2lvbihjdHggY2FkZHkuQ29u dGV4dCkgZXJyb3IgeworIAkJdC5EaWFsVGltZW91dCA9IGNhZGR5LkR1cmF0aW9uKDMgKiB0aW1l LlNlY29uZCkKKyAJfQorIAorKwl2YXIgYiBzdHJpbmdzLkJ1aWxkZXIKKysKKysJZm9yIGksIHNw bGl0IDo9IHJhbmdlIHQuU3BsaXRQYXRoIHsKKysJCWIuR3JvdyhsZW4oc3BsaXQpKQorKworKwkJ Zm9yIGogOj0gMDsgaiA8IGxlbihzcGxpdCk7IGorKyB7CisrCQkJYyA6PSBzcGxpdFtqXQorKwkJ CWlmIGMgPj0gdXRmOC5SdW5lU2VsZiB7CisrCQkJCXJldHVybiBFcnJJbnZhbGlkU3BsaXRQYXRo CisrCQkJfQorKworKwkJCWlmICdBJyA8PSBjICYmIGMgPD0gJ1onIHsKKysJCQkJYi5Xcml0ZUJ5 dGUoYyArICdhJyAtICdBJykKKysJCQl9IGVsc2UgeworKwkJCQliLldyaXRlQnl0ZShjKQorKwkJ CX0KKysJCX0KKysKKysJCXQuU3BsaXRQYXRoW2ldID0gYi5TdHJpbmcoKQorKwkJYi5SZXNldCgp CisrCX0KKysKKyAJcmV0dXJuIG5pbAorIH0KKyAKK0BAIC0zNzEsOCArNDA0LDE1IEBAIGZ1bmMg KHQgVHJhbnNwb3J0KSBidWlsZEVudihyICpodHRwLlJlcXVlc3QpIChlbnZWYXJzLCBlcnJvcikg eworIAlyZXR1cm4gZW52LCBuaWwKKyB9CisgCisrdmFyIHNwbGl0U2VhcmNoTm9uQVNDSUkgPSBz ZWFyY2guTmV3KGxhbmd1YWdlLlVuZCwgc2VhcmNoLklnbm9yZUNhc2UpCisrCisgLy8gc3BsaXRQ b3MgcmV0dXJucyB0aGUgaW5kZXggd2hlcmUgcGF0aCBzaG91bGQKKyAvLyBiZSBzcGxpdCBiYXNl ZCBvbiB0LlNwbGl0UGF0aC4KKysvLworKy8vIGV4YW1wbGU6IGlmIHNwbGl0UGF0aCBpcyBbIi5w aHAiXQorKy8vICIvcGF0aC90by9zY3JpcHQucGhwL3NvbWUvcGF0aCI6ICgiL3BhdGgvdG8vc2Ny aXB0LnBocCIsICIvc29tZS9wYXRoIikKKysvLworKy8vIEFkYXB0ZWQgZnJvbSBGcmFua2VuUEhQ J3MgY29kZSAoY29weXJpZ2h0IDIwMjYgS8OpdmluIER1bmdsYXMsIE1JVCBsaWNlbnNlKQorIGZ1 bmMgKHQgVHJhbnNwb3J0KSBzcGxpdFBvcyhwYXRoIHN0cmluZykgaW50IHsKKyAJLy8gVE9ETzog ZnJvbSB2MS4uLgorIAkvLyBpZiBodHRwc2VydmVyLkNhc2VTZW5zaXRpdmVQYXRoIHsKK0BAIC0z ODIsMTIgKzQyMiw1NCBAQCBmdW5jICh0IFRyYW5zcG9ydCkgc3BsaXRQb3MocGF0aCBzdHJpbmcp IGludCB7CisgCQlyZXR1cm4gMAorIAl9CisgCistCWxvd2VyUGF0aCA6PSBzdHJpbmdzLlRvTG93 ZXIocGF0aCkKKysJcGF0aExlbiA6PSBsZW4ocGF0aCkKKysKKysJLy8gV2UgYXJlIHN1cmUgdGhh dCBzcGxpdCBzdHJpbmdzIGFyZSBhbGwgQVNDSUktb25seSBhbmQgbG93ZXItY2FzZSBiZWNhdXNl IG9mIHZhbGlkYXRpb24gYW5kIG5vcm1hbGl6YXRpb24gaW4gUHJvdmlzaW9uKCkuCisgCWZvciBf LCBzcGxpdCA6PSByYW5nZSB0LlNwbGl0UGF0aCB7CistCQlpZiBpZHggOj0gc3RyaW5ncy5JbmRl eChsb3dlclBhdGgsIHN0cmluZ3MuVG9Mb3dlcihzcGxpdCkpOyBpZHggPiAtMSB7CistCQkJcmV0 dXJuIGlkeCArIGxlbihzcGxpdCkKKysJCXNwbGl0TGVuIDo9IGxlbihzcGxpdCkKKysKKysJCWZv ciBpIDo9IDA7IGkgPCBwYXRoTGVuOyBpKysgeworKwkJCWlmIHBhdGhbaV0gPj0gdXRmOC5SdW5l U2VsZiB7CisrCQkJCWlmIF8sIGVuZCA6PSBzcGxpdFNlYXJjaE5vbkFTQ0lJLkluZGV4U3RyaW5n KHBhdGgsIHNwbGl0KTsgZW5kID4gLTEgeworKwkJCQkJcmV0dXJuIGVuZAorKwkJCQl9CisrCisr CQkJCWJyZWFrCisrCQkJfQorKworKwkJCWlmIGkrc3BsaXRMZW4gPiBwYXRoTGVuIHsKKysJCQkJ Y29udGludWUKKysJCQl9CisrCisrCQkJbWF0Y2ggOj0gdHJ1ZQorKwkJCWZvciBqIDo9IDA7IGog PCBzcGxpdExlbjsgaisrIHsKKysJCQkJYyA6PSBwYXRoW2kral0KKysKKysJCQkJaWYgYyA+PSB1 dGY4LlJ1bmVTZWxmIHsKKysJCQkJCWlmIF8sIGVuZCA6PSBzcGxpdFNlYXJjaE5vbkFTQ0lJLklu ZGV4U3RyaW5nKHBhdGgsIHNwbGl0KTsgZW5kID4gLTEgeworKwkJCQkJCXJldHVybiBlbmQKKysJ CQkJCX0KKysKKysJCQkJCWJyZWFrCisrCQkJCX0KKysKKysJCQkJaWYgJ0EnIDw9IGMgJiYgYyA8 PSAnWicgeworKwkJCQkJYyArPSAnYScgLSAnQScKKysJCQkJfQorKworKwkJCQlpZiBjICE9IHNw bGl0W2pdIHsKKysJCQkJCW1hdGNoID0gZmFsc2UKKysKKysJCQkJCWJyZWFrCisrCQkJCX0KKysJ CQl9CisrCisrCQkJaWYgbWF0Y2ggeworKwkJCQlyZXR1cm4gaSArIHNwbGl0TGVuCisrCQkJfQor IAkJfQorIAl9CisrCisgCXJldHVybiAtMQorIH0KKyAKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2Nh ZGR5aHR0cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpX3Rlc3QuZ28gYi9tb2R1bGVzL2Nh ZGR5aHR0cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpX3Rlc3QuZ28KK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMC4uNzA5N2ZmNzkKKy0tLSAvZGV2L251bGwKKysrKyBi L21vZHVsZXMvY2FkZHlodHRwL3JldmVyc2Vwcm94eS9mYXN0Y2dpL2Zhc3RjZ2lfdGVzdC5nbwor QEAgLTAsMCArMSwyNDYgQEAKKytwYWNrYWdlIGZhc3RjZ2kKKysKKytpbXBvcnQgKAorKwkic3Ry aW5ncyIKKysJInRlc3RpbmciCisrCisrCSJnaXRodWIuY29tL3N0cmV0Y2hyL3Rlc3RpZnkvYXNz ZXJ0IgorKwkiZ2l0aHViLmNvbS9zdHJldGNoci90ZXN0aWZ5L3JlcXVpcmUiCisrCisrCSJnaXRo dWIuY29tL2NhZGR5c2VydmVyL2NhZGR5L3YyIgorKykKKysKKytmdW5jIFRlc3RQcm92aXNpb25T cGxpdFBhdGgodCAqdGVzdGluZy5UKSB7CisrCXRlc3RzIDo9IFtdc3RydWN0IHsKKysJCW5hbWUg ICAgICAgICAgc3RyaW5nCisrCQlzcGxpdFBhdGggICAgIFtdc3RyaW5nCisrCQl3YW50RXJyICAg ICAgIGVycm9yCisrCQl3YW50U3BsaXRQYXRoIFtdc3RyaW5nCisrCX17CisrCQl7CisrCQkJbmFt ZTogICAgICAgICAgInZhbGlkIGxvd2VyY2FzZSBzcGxpdCBwYXRoIiwKKysJCQlzcGxpdFBhdGg6 ICAgICBbXXN0cmluZ3siLnBocCJ9LAorKwkJCXdhbnRFcnI6ICAgICAgIG5pbCwKKysJCQl3YW50 U3BsaXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9LAorKwkJfSwKKysJCXsKKysJCQluYW1lOiAgICAg ICAgICAidmFsaWQgdXBwZXJjYXNlIHNwbGl0IHBhdGggbm9ybWFsaXplZCIsCisrCQkJc3BsaXRQ YXRoOiAgICAgW11zdHJpbmd7Ii5QSFAifSwKKysJCQl3YW50RXJyOiAgICAgICBuaWwsCisrCQkJ d2FudFNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAifSwKKysJCX0sCisrCQl7CisrCQkJbmFtZTog ICAgICAgICAgInZhbGlkIG1peGVkIGNhc2Ugc3BsaXQgcGF0aCBub3JtYWxpemVkIiwKKysJCQlz cGxpdFBhdGg6ICAgICBbXXN0cmluZ3siLlBoUCIsICIuUEhUTUwifSwKKysJCQl3YW50RXJyOiAg ICAgICBuaWwsCisrCQkJd2FudFNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAiLCAiLnBodG1sIn0s CisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgICAgICJlbXB0eSBzcGxpdCBwYXRoIiwKKysJ CQlzcGxpdFBhdGg6ICAgICBbXXN0cmluZ3t9LAorKwkJCXdhbnRFcnI6ICAgICAgIG5pbCwKKysJ CQl3YW50U3BsaXRQYXRoOiBbXXN0cmluZ3t9LAorKwkJfSwKKysJCXsKKysJCQluYW1lOiAgICAg ICJub24tQVNDSUkgY2hhcmFjdGVyIGluIHNwbGl0IHBhdGggcmVqZWN0ZWQiLAorKwkJCXNwbGl0 UGF0aDogW11zdHJpbmd7Ii5waHAiLCAiLsi6cGhwIn0sCisrCQkJd2FudEVycjogICBFcnJJbnZh bGlkU3BsaXRQYXRoLAorKwkJfSwKKysJCXsKKysJCQluYW1lOiAgICAgICJ1bmljb2RlIGNoYXJh Y3RlciBpbiBzcGxpdCBwYXRoIHJlamVjdGVkIiwKKysJCQlzcGxpdFBhdGg6IFtdc3RyaW5neyIu cGhw4rGlIn0sCisrCQkJd2FudEVycjogICBFcnJJbnZhbGlkU3BsaXRQYXRoLAorKwkJfSwKKysJ fQorKworKwlmb3IgXywgdHQgOj0gcmFuZ2UgdGVzdHMgeworKwkJdC5SdW4odHQubmFtZSwgZnVu Yyh0ICp0ZXN0aW5nLlQpIHsKKysJCQl0ciA6PSBUcmFuc3BvcnR7U3BsaXRQYXRoOiB0dC5zcGxp dFBhdGh9CisrCQkJZXJyIDo9IHRyLlByb3Zpc2lvbihjYWRkeS5Db250ZXh0e30pCisrCisrCQkJ aWYgdHQud2FudEVyciAhPSBuaWwgeworKwkJCQlyZXF1aXJlLkVycm9ySXModCwgZXJyLCB0dC53 YW50RXJyKQorKworKwkJCQlyZXR1cm4KKysJCQl9CisrCisrCQkJcmVxdWlyZS5Ob0Vycm9yKHQs IGVycikKKysJCQlhc3NlcnQuRXF1YWwodCwgdHQud2FudFNwbGl0UGF0aCwgdHIuU3BsaXRQYXRo KQorKwkJfSkKKysJfQorK30KKysKKytmdW5jIFRlc3RTcGxpdFBvcyh0ICp0ZXN0aW5nLlQpIHsK KysJdGVzdHMgOj0gW11zdHJ1Y3QgeworKwkJbmFtZSAgICAgIHN0cmluZworKwkJcGF0aCAgICAg IHN0cmluZworKwkJc3BsaXRQYXRoIFtdc3RyaW5nCisrCQl3YW50UG9zICAgaW50CisrCX17Cisr CQl7CisrCQkJbmFtZTogICAgICAic2ltcGxlIHBocCBleHRlbnNpb24iLAorKwkJCXBhdGg6ICAg ICAgIi9wYXRoL3RvL3NjcmlwdC5waHAiLAorKwkJCXNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAi fSwKKysJCQl3YW50UG9zOiAgIDE5LAorKwkJfSwKKysJCXsKKysJCQluYW1lOiAgICAgICJwaHAg ZXh0ZW5zaW9uIHdpdGggcGF0aCBpbmZvIiwKKysJCQlwYXRoOiAgICAgICIvcGF0aC90by9zY3Jp cHQucGhwL3NvbWUvcGF0aCIsCisrCQkJc3BsaXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9LAorKwkJ CXdhbnRQb3M6ICAgMTksCisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgImNhc2UgaW5zZW5z aXRpdmUgbWF0Y2giLAorKwkJCXBhdGg6ICAgICAgIi9wYXRoL3RvL3NjcmlwdC5QSFAiLAorKwkJ CXNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDE5LAorKwkJfSwK KysJCXsKKysJCQluYW1lOiAgICAgICJtaXhlZCBjYXNlIG1hdGNoIiwKKysJCQlwYXRoOiAgICAg ICIvcGF0aC90by9zY3JpcHQuUGhQL2luZm8iLAorKwkJCXNwbGl0UGF0aDogW11zdHJpbmd7Ii5w aHAifSwKKysJCQl3YW50UG9zOiAgIDE5LAorKwkJfSwKKysJCXsKKysJCQluYW1lOiAgICAgICJu byBtYXRjaCIsCisrCQkJcGF0aDogICAgICAiL3BhdGgvdG8vc2NyaXB0LnR4dCIsCisrCQkJc3Bs aXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9LAorKwkJCXdhbnRQb3M6ICAgLTEsCisrCQl9LAorKwkJ eworKwkJCW5hbWU6ICAgICAgImVtcHR5IHNwbGl0IHBhdGgiLAorKwkJCXBhdGg6ICAgICAgIi9w YXRoL3RvL3NjcmlwdC5waHAiLAorKwkJCXNwbGl0UGF0aDogW11zdHJpbmd7fSwKKysJCQl3YW50 UG9zOiAgIDAsCisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgIm11bHRpcGxlIHNwbGl0IHBh dGhzIGZpcnN0IG1hdGNoIiwKKysJCQlwYXRoOiAgICAgICIvcGF0aC90by9zY3JpcHQucGhwIiwK KysJCQlzcGxpdFBhdGg6IFtdc3RyaW5neyIucGhwIiwgIi5waHRtbCJ9LAorKwkJCXdhbnRQb3M6 ICAgMTksCisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgIm11bHRpcGxlIHNwbGl0IHBhdGhz IHNlY29uZCBtYXRjaCIsCisrCQkJcGF0aDogICAgICAiL3BhdGgvdG8vc2NyaXB0LnBodG1sIiwK KysJCQlzcGxpdFBhdGg6IFtdc3RyaW5neyIucGhwIiwgIi5waHRtbCJ9LAorKwkJCXdhbnRQb3M6 ICAgMjEsCisrCQl9LAorKwkJLy8gVW5pY29kZSBjYXNlLWZvbGRpbmcgdGVzdHMgKHNlY3VyaXR5 IGZpeCBmb3IgR0hTQS1nOTY2LTgzdzctNnczOCkKKysJCS8vIFUrMDIzQSAoyLopIGxvd2VyY2Fz ZXMgdG8gVSsyQzY1ICjisaUpLCB3aGljaCBoYXMgZGlmZmVyZW50IFVURi04IGJ5dGUgbGVuZ3Ro CisrCQkvLyDIujogMiBieXRlcyAoQzggQkEpLCDisaU6IDMgYnl0ZXMgKEUyIEIxIEE1KQorKwkJ eworKwkJCW5hbWU6ICAgICAgInVuaWNvZGUgcGF0aCB3aXRoIGNhc2UtZm9sZGluZyBsZW5ndGgg ZXhwYW5zaW9uIiwKKysJCQlwYXRoOiAgICAgICIvyLrIusi6yLpzaGVsbC5waHAiLAorKwkJCXNw bGl0UGF0aDogW11zdHJpbmd7Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDE4LCAvLyBjb3JyZWN0 IHBvc2l0aW9uIGluIG9yaWdpbmFsIHN0cmluZworKwkJfSwKKysJCXsKKysJCQluYW1lOiAgICAg ICJ1bmljb2RlIHBhdGggd2l0aCBleHRlbnNpb24gYWZ0ZXIgZXhwYW5zaW9uIGNoYXJzIiwKKysJ CQlwYXRoOiAgICAgICIvyLrIusi6yLpzaGVsbC5waHAvcGF0aC9pbmZvIiwKKysJCQlzcGxpdFBh dGg6IFtdc3RyaW5neyIucGhwIn0sCisrCQkJd2FudFBvczogICAxOCwKKysJCX0sCisrCQl7Cisr CQkJbmFtZTogICAgICAidW5pY29kZSBpbiBmaWxlbmFtZSB3aXRoIG11bHRpcGxlIHBocCBvY2N1 cnJlbmNlcyIsCisrCQkJcGF0aDogICAgICAiL8i6yLrIusi6c2hlbGwucGhwLnR4dC5waHAiLAor KwkJCXNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDE4LCAvLyBz aG91bGQgbWF0Y2ggZmlyc3QgLnBocCwgbm90IGJlIGNvbmZ1c2VkIGJ5IGJ5dGUgb2Zmc2V0IHNo aWZ0CisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgInVuaWNvZGUgY2FzZSBpbnNlbnNpdGl2 ZSBleHRlbnNpb24iLAorKwkJCXBhdGg6ICAgICAgIi/Iusi6yLrIunNoZWxsLlBIUCIsCisrCQkJ c3BsaXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9LAorKwkJCXdhbnRQb3M6ICAgMTgsCisrCQl9LAor KwkJeworKwkJCW5hbWU6ICAgICAgInVuaWNvZGUgaW4gbWlkZGxlIG9mIHBhdGgiLAorKwkJCXBh dGg6ICAgICAgIi9wYXRoL8i6dGVzdC9zY3JpcHQucGhwIiwKKysJCQlzcGxpdFBhdGg6IFtdc3Ry aW5neyIucGhwIn0sCisrCQkJd2FudFBvczogICAyMywgLy8gyLogaXMgMiBieXRlcywgc28gcGF0 aCBpcyAyMyBieXRlcyB0b3RhbCwgLnBocCBlbmRzIGF0IGJ5dGUgMjMKKysJCX0sCisrCQl7Cisr CQkJbmFtZTogICAgICAidW5pY29kZSBvbmx5IGluIGRpcmVjdG9yeSBub3QgZmlsZW5hbWUiLAor KwkJCXBhdGg6ICAgICAgIi/Iui9zY3JpcHQucGhwIiwKKysJCQlzcGxpdFBhdGg6IFtdc3RyaW5n eyIucGhwIn0sCisrCQkJd2FudFBvczogICAxNCwKKysJCX0sCisrCQkvLyBBZGRpdGlvbmFsIFVu aWNvZGUgY2hhcmFjdGVycyB0aGF0IGV4cGFuZCB3aGVuIGxvd2VyY2FzZWQKKysJCS8vIFUrMDEz MCAoxLAgLSBUdXJraXNoIGNhcGl0YWwgSSB3aXRoIGRvdCkgbG93ZXJjYXNlcyB0byBVKzAwNjkg KyBVKzAzMDcKKysJCXsKKysJCQluYW1lOiAgICAgICJ0dXJraXNoIGNhcGl0YWwgSSB3aXRoIGRv dCIsCisrCQkJcGF0aDogICAgICAiL8SwdGVzdC5waHAiLAorKwkJCXNwbGl0UGF0aDogW11zdHJp bmd7Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDExLAorKwkJfSwKKysJCS8vIEVuc3VyZSBzdGFu ZGFyZCBBU0NJSSBzdGlsbCB3b3JrcyBjb3JyZWN0bHkKKysJCXsKKysJCQluYW1lOiAgICAgICJh c2NpaSBvbmx5IHBhdGggd2l0aCBjYXNlIHZhcmlhdGlvbiIsCisrCQkJcGF0aDogICAgICAiL1BB VEgvVE8vU0NSSVBULlBIUC9JTkZPIiwKKysJCQlzcGxpdFBhdGg6IFtdc3RyaW5neyIucGhwIn0s CisrCQkJd2FudFBvczogICAxOSwKKysJCX0sCisrCQl7CisrCQkJbmFtZTogICAgICAicGF0aCBh dCByb290IiwKKysJCQlwYXRoOiAgICAgICIvaW5kZXgucGhwIiwKKysJCQlzcGxpdFBhdGg6IFtd c3RyaW5neyIucGhwIn0sCisrCQkJd2FudFBvczogICAxMCwKKysJCX0sCisrCQl7CisrCQkJbmFt ZTogICAgICAiZXh0ZW5zaW9uIGluIG1pZGRsZSBvZiBmaWxlbmFtZSIsCisrCQkJcGF0aDogICAg ICAiL3Rlc3QucGhwLmJhayIsCisrCQkJc3BsaXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9LAorKwkJ CXdhbnRQb3M6ICAgOSwKKysJCX0sCisrCX0KKysKKysJZm9yIF8sIHR0IDo9IHJhbmdlIHRlc3Rz IHsKKysJCXQuUnVuKHR0Lm5hbWUsIGZ1bmModCAqdGVzdGluZy5UKSB7CisrCQkJZ290UG9zIDo9 IFRyYW5zcG9ydHtTcGxpdFBhdGg6IHR0LnNwbGl0UGF0aH0uc3BsaXRQb3ModHQucGF0aCkKKysJ CQlhc3NlcnQuRXF1YWwodCwgdHQud2FudFBvcywgZ290UG9zLCAic3BsaXRQb3MoJXEsICV2KSIs IHR0LnBhdGgsIHR0LnNwbGl0UGF0aCkKKysKKysJCQkvLyBWZXJpZnkgdGhhdCB0aGUgc3BsaXQg cHJvZHVjZXMgdmFsaWQgc3Vic3RyaW5ncworKwkJCWlmIGdvdFBvcyA+IDAgJiYgZ290UG9zIDw9 IGxlbih0dC5wYXRoKSB7CisrCQkJCXNjcmlwdE5hbWUgOj0gdHQucGF0aFs6Z290UG9zXQorKwkJ CQlwYXRoSW5mbyA6PSB0dC5wYXRoW2dvdFBvczpdCisrCisrCQkJCS8vIFRoZSBzY3JpcHQgbmFt ZSBzaG91bGQgZW5kIHdpdGggb25lIG9mIHRoZSBzcGxpdCBleHRlbnNpb25zIChjYXNlLWluc2Vu c2l0aXZlKQorKwkJCQloYXNWYWxpZEVuZGluZyA6PSBmYWxzZQorKwkJCQlmb3IgXywgc3BsaXQg Oj0gcmFuZ2UgdHQuc3BsaXRQYXRoIHsKKysJCQkJCWlmIHN0cmluZ3MuSGFzU3VmZml4KHN0cmlu Z3MuVG9Mb3dlcihzY3JpcHROYW1lKSwgc3BsaXQpIHsKKysJCQkJCQloYXNWYWxpZEVuZGluZyA9 IHRydWUKKysJCQkJCQlicmVhaworKwkJCQkJfQorKwkJCQl9CisrCQkJCWFzc2VydC5UcnVlKHQs IGhhc1ZhbGlkRW5kaW5nLCAic2NyaXB0IG5hbWUgJXEgc2hvdWxkIGVuZCB3aXRoIG9uZSBvZiAl diIsIHNjcmlwdE5hbWUsIHR0LnNwbGl0UGF0aCkKKysKKysJCQkJLy8gT3JpZ2luYWwgcGF0aCBz aG91bGQgYmUgcmVjb25zdHJ1Y3RhYmxlCisrCQkJCWFzc2VydC5FcXVhbCh0LCB0dC5wYXRoLCBz Y3JpcHROYW1lK3BhdGhJbmZvLCAicGF0aCBzaG91bGQgYmUgcmVjb25zdHJ1Y3RhYmxlIGZyb20g c3BsaXQgcGFydHMiKQorKwkJCX0KKysJCX0pCisrCX0KKyt9CisrCisrLy8gVGVzdFNwbGl0UG9z VW5pY29kZVNlY3VyaXR5UmVncmVzc2lvbiBzcGVjaWZpY2FsbHkgdGVzdHMgdGhlIHZ1bG5lcmFi aWxpdHkKKysvLyBkZXNjcmliZWQgaW4gR0hTQS1nOTY2LTgzdzctNnczOCB3aGVyZSBVbmljb2Rl IGNhc2UtZm9sZGluZyBjYXVzZWQKKysvLyBpbmNvcnJlY3QgU0NSSVBUX05BTUUvUEFUSF9JTkZP IHNwbGl0dGluZworK2Z1bmMgVGVzdFNwbGl0UG9zVW5pY29kZVNlY3VyaXR5UmVncmVzc2lvbih0 ICp0ZXN0aW5nLlQpIHsKKysJLy8gVSswMjNBOiDIuiAoVVRGLTg6IEM4IEJBKS4gTG93ZXJjYXNl IGlzIOKxpSAoVVRGLTg6IEUyIEIxIEE1KSwgbG9uZ2VyIGluIGJ5dGVzLgorKwlwYXRoIDo9ICIv yLrIusi6yLpzaGVsbC5waHAudHh0LnBocCIKKysJc3BsaXQgOj0gW11zdHJpbmd7Ii5waHAifQor KworKwlwb3MgOj0gVHJhbnNwb3J0e1NwbGl0UGF0aDogc3BsaXR9LnNwbGl0UG9zKHBhdGgpCisr CisrCS8vIFRoZSB2dWxuZXJhYmxlIGNvZGUgd291bGQgcmV0dXJuIDIyIChjb21wdXRlZCBvbiBs b3dlcmNhc2VkIHN0cmluZykKKysJLy8gVGhlIGNvcnJlY3QgY29kZSBzaG91bGQgcmV0dXJuIDE4 IChwb3NpdGlvbiBpbiBvcmlnaW5hbCBzdHJpbmcpCisrCWV4cGVjdGVkUG9zIDo9IHN0cmluZ3Mu SW5kZXgocGF0aCwgIi5waHAiKSArIGxlbigiLnBocCIpCisrCWFzc2VydC5FcXVhbCh0LCBleHBl Y3RlZFBvcywgcG9zLCAic3BsaXQgcG9zaXRpb24gc2hvdWxkIG1hdGNoIGZpcnN0IC5waHAgaW4g b3JpZ2luYWwgc3RyaW5nIikKKysJYXNzZXJ0LkVxdWFsKHQsIDE4LCBwb3MsICJzcGxpdCBwb3Np dGlvbiBzaG91bGQgYmUgMTgsIG5vdCAyMiIpCisrCisrCWlmIHBvcyA+IDAgJiYgcG9zIDw9IGxl bihwYXRoKSB7CisrCQlzY3JpcHROYW1lIDo9IHBhdGhbOnBvc10KKysJCXBhdGhJbmZvIDo9IHBh dGhbcG9zOl0KKysKKysJCWFzc2VydC5FcXVhbCh0LCAiL8i6yLrIusi6c2hlbGwucGhwIiwgc2Ny aXB0TmFtZSwgInNjcmlwdCBuYW1lIHNob3VsZCBiZSB0aGUgcGF0aCB1cCB0byBmaXJzdCAucGhw IikKKysJCWFzc2VydC5FcXVhbCh0LCAiLnR4dC5waHAiLCBwYXRoSW5mbywgInBhdGggaW5mbyBz aG91bGQgYmUgdGhlIHJlbWFpbmRlciBhZnRlciBmaXJzdCAucGhwIikKKysJfQorK30KCmRpZmYg LS1naXQgYS8wMDA4LWZvcndhcmRfYXV0aC1jb3B5X2hlYWRlcnMtZG9lcy1ub3Qtc3RyaXAtY2xp ZW50LXN1cHBsaWVkLWlkZW50aXR5LWhlYWRlcnMtNzU0NS5wYXRjaCBiLzAwMDgtZm9yd2FyZF9h dXRoLWNvcHlfaGVhZGVycy1kb2VzLW5vdC1zdHJpcC1jbGllbnQtc3VwcGxpZWQtaWRlbnRpdHkt aGVhZGVycy03NTQ1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZj Y2MwOTMKLS0tIC9kZXYvbnVsbAorKysgYi8wMDA4LWZvcndhcmRfYXV0aC1jb3B5X2hlYWRlcnMt ZG9lcy1ub3Qtc3RyaXAtY2xpZW50LXN1cHBsaWVkLWlkZW50aXR5LWhlYWRlcnMtNzU0NS5wYXRj aApAQCAtMCwwICsxLDYzMCBAQAorRnJvbSAyNGRkNzAyNmVjMWE2ZmVjN2ZmZTQ0N2Y5NjllMWQy ZGQxMWQ1MTkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbmV3a2xlaSA8MTA1NjMy MTE5K051Y2xlaUF2QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwgMyBNYXIg MjAyNiAyMzozMDo0OSAtMDUwMAorU3ViamVjdDogW1BBVENIXSBmb3J3YXJkX2F1dGg6IGBjb3B5 X2hlYWRlcnNgIGRvZXMgbm90IHN0cmlwIGNsaWVudC1zdXBwbGllZAorIGlkZW50aXR5IGhlYWRl cnMgKCM3NTQ1KQorCitXaGVuIHVzaW5nIGNvcHlfaGVhZGVycyBpbiBhIGZvcndhcmRfYXV0aCBi bG9jaywgY2xpZW50LXN1cHBsaWVkIGhlYWRlcnMgd2l0aAordGhlIHNhbWUgbmFtZXMgd2VyZSBu b3QgYmVpbmcgcmVtb3ZlZCBiZWZvcmUgYmVpbmcgZm9yd2FyZGVkIHRvIHRoZSBiYWNrZW5kLgor CitUaGlzIGhhcHBlbnMgYmVjYXVzZSBQUiAjNjYwOCBhZGRlZCBhIE1hdGNoTm90IGd1YXJkIHRo YXQgc2tpcHMgdGhlIFNldAorb3BlcmF0aW9uIHdoZW4gdGhlIGF1dGggc2VydmljZSBkb2VzIG5v dCByZXR1cm4gYSBnaXZlbiBoZWFkZXIuIFRoYXQgZ3VhcmQKK3ByZXZlbnRzIHNldHRpbmcgaGVh ZGVycyB0byBlbXB0eSBzdHJpbmdzLCB3aGljaCBpcyB0aGUgY29ycmVjdCBiZWhhdmlvciwKK2J1 dCBpdCBhbHNvIG1lYW5zIGEgY2xpZW50IGNhbiBzZW5kIFgtVXNlci1JZDogYWRtaW4gaW4gdGhl aXIgcmVxdWVzdCBhbmQKK2lmIHRoZSBhdXRoIHNlcnZpY2UgdmFsaWRhdGVzIHRoZSB0b2tlbiB3 aXRob3V0IHJldHVybmluZyBYLVVzZXItSWQsIENhZGR5Citza2lwcyB0aGUgU2V0IGFuZCB0aGUg Y2xpZW50IHZhbHVlIHBhc3NlcyB0aHJvdWdoIHVuY2hhbmdlZCB0byB0aGUgYmFja2VuZC4KKwor VGhlIGZpeCBhZGRzIGFuIHVuY29uZGl0aW9uYWwgZGVsZXRlIHJvdXRlIGZvciBlYWNoIGNvcHlf aGVhZGVycyBlbnRyeSwKK3BsYWNlZCBqdXN0IGJlZm9yZSB0aGUgZXhpc3RpbmcgY29uZGl0aW9u YWwgc2V0IHJvdXRlLiBUaGUgZGVsZXRlIGFsd2F5cyBydW5zCityZWdhcmRsZXNzIG9mIHdoYXQg dGhlIGF1dGggc2VydmljZSByZXR1cm5zLiBUaGUgY29uZGl0aW9uYWwgc2V0IHN0aWxsIG9ubHkK K3J1bnMgd2hlbiB0aGUgYXV0aCBzZXJ2aWNlIHByb3ZpZGVzIHRoYXQgaGVhZGVyLgorCitUaGUg ZW5kIHJlc3VsdCBpczoKKyAgLSBDbGllbnQtc3VwcGxpZWQgaGVhZGVycyBhcmUgYWx3YXlzIHJl bW92ZWQKKyAgLSBXaGVuIHRoZSBhdXRoIHNlcnZpY2UgcmV0dXJucyB0aGUgaGVhZGVyLCB0aGUg YmFja2VuZCBnZXRzIHRoYXQgdmFsdWUKKyAgLSBXaGVuIHRoZSBhdXRoIHNlcnZpY2UgZG9lcyBu b3QgcmV0dXJuIHRoZSBoZWFkZXIsIHRoZSBiYWNrZW5kIHNlZXMgbm90aGluZworCitFeGlzdGlu ZyBiZWhhdmlvciBpcyB1bmNoYW5nZWQgZm9yIGFueSBkZXBsb3ltZW50IHdoZXJlIHRoZSBhdXRo IHNlcnZpY2UKK3JldHVybnMgYWxsIG9mIHRoZSBjb25maWd1cmVkIGNvcHlfaGVhZGVycyBlbnRy aWVzLgorCitGaXhlczogR0hTQS03cjRwLXZqZjQtZ3h2NAorRml4ZXM6IENWRS0yMDI2LTMwODUx CisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDJkYmNkZWZiYmVlNjhlN2I0YTMxYWM2NjM2 MWEwZjRlM2JjZDJlZWEpCistLS0KKyAuLi4vZm9yd2FyZF9hdXRoX2F1dGhlbGlhLmNhZGR5Zmls ZXRlc3QgICAgICAgfCAgNTAgKysrKy0KKyAuLi53YXJkX2F1dGhfY29weV9oZWFkZXJzX3N0cmlw LmNhZGR5ZmlsZXRlc3QgfCAxNDYgKysrKysrKysrKysrKworIC4uLi9mb3J3YXJkX2F1dGhfcmVu YW1lX2hlYWRlcnMuY2FkZHlmaWxldGVzdCB8ICA2MiArKysrKy0KKyBjYWRkeXRlc3QvaW50ZWdy YXRpb24vZm9yd2FyZGF1dGhfdGVzdC5nbyAgICAgfCAyMDYgKysrKysrKysrKysrKysrKysrCisg Li4uL3JldmVyc2Vwcm94eS9mb3J3YXJkYXV0aC9jYWRkeWZpbGUuZ28gICAgIHwgIDE4ICsrCisg NSBmaWxlcyBjaGFuZ2VkLCA0ODAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBjcmVh dGUgbW9kZSAxMDA2NDQgY2FkZHl0ZXN0L2ludGVncmF0aW9uL2NhZGR5ZmlsZV9hZGFwdC9mb3J3 YXJkX2F1dGhfY29weV9oZWFkZXJzX3N0cmlwLmNhZGR5ZmlsZXRlc3QKKyBjcmVhdGUgbW9kZSAx MDA2NDQgY2FkZHl0ZXN0L2ludGVncmF0aW9uL2ZvcndhcmRhdXRoX3Rlc3QuZ28KKworZGlmZiAt LWdpdCBhL2NhZGR5dGVzdC9pbnRlZ3JhdGlvbi9jYWRkeWZpbGVfYWRhcHQvZm9yd2FyZF9hdXRo X2F1dGhlbGlhLmNhZGR5ZmlsZXRlc3QgYi9jYWRkeXRlc3QvaW50ZWdyYXRpb24vY2FkZHlmaWxl X2FkYXB0L2ZvcndhcmRfYXV0aF9hdXRoZWxpYS5jYWRkeWZpbGV0ZXN0CitpbmRleCAyNDBiZGM2 Mi4uODMxZDdkMmYgMTAwNjQ0CistLS0gYS9jYWRkeXRlc3QvaW50ZWdyYXRpb24vY2FkZHlmaWxl X2FkYXB0L2ZvcndhcmRfYXV0aF9hdXRoZWxpYS5jYWRkeWZpbGV0ZXN0CisrKysgYi9jYWRkeXRl c3QvaW50ZWdyYXRpb24vY2FkZHlmaWxlX2FkYXB0L2ZvcndhcmRfYXV0aF9hdXRoZWxpYS5jYWRk eWZpbGV0ZXN0CitAQCAtNDYsNiArNDYsMTggQEAgYXBwLmV4YW1wbGUuY29tIHsKKyAJCQkJCQkJ CQkJCQkJCQkJCQl9CisgCQkJCQkJCQkJCQkJCQkJCQldCisgCQkJCQkJCQkJCQkJCQkJCX0sCisr CQkJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisrCQkJCQkJ CQkJCQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6ICJoZWFkZXJzIiwK KysJCQkJCQkJCQkJCQkJCQkJCQkJInJlcXVlc3QiOiB7CisrCQkJCQkJCQkJCQkJCQkJCQkJCQki ZGVsZXRlIjogWworKwkJCQkJCQkJCQkJCQkJCQkJCQkJCSJSZW1vdGUtRW1haWwiCisrCQkJCQkJ CQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCQkJ CQl9CisrCQkJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCX0sCisgCQkJCQkJCQkJ CQkJCQkJCXsKKyAJCQkJCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisgCQkJCQkJCQkJCQkJCQkJ CQkJeworQEAgLTczLDYgKzg1LDE4IEBAIGFwcC5leGFtcGxlLmNvbSB7CisgCQkJCQkJCQkJCQkJ CQkJCQkJfQorIAkJCQkJCQkJCQkJCQkJCQkJXQorIAkJCQkJCQkJCQkJCQkJCQl9LAorKwkJCQkJ CQkJCQkJCQkJCQl7CisrCQkJCQkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworKwkJCQkJCQkJCQkJ CQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkJCQkJImhhbmRsZXIiOiAiaGVhZGVycyIsCisrCQkJ CQkJCQkJCQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJCQkJCQkJCQkJCQkJCQkJCQkJImRlbGV0 ZSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCQkJCQkiUmVtb3RlLUdyb3VwcyIKKysJCQkJCQkJCQkJ CQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJCQkJCQkJCX0K KysJCQkJCQkJCQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCQkJfSwKKyAJCQkJCQkJCQkJCQkJ CQkJeworIAkJCQkJCQkJCQkJCQkJCQkJImhhbmRsZSI6IFsKKyAJCQkJCQkJCQkJCQkJCQkJCQl7 CitAQCAtMTAwLDYgKzEyNCwxOCBAQCBhcHAuZXhhbXBsZS5jb20geworIAkJCQkJCQkJCQkJCQkJ CQkJCX0KKyAJCQkJCQkJCQkJCQkJCQkJCV0KKyAJCQkJCQkJCQkJCQkJCQkJfSwKKysJCQkJCQkJ CQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQkJCQkJImhhbmRsZSI6IFsKKysJCQkJCQkJCQkJCQkJ CQkJCQl7CisrCQkJCQkJCQkJCQkJCQkJCQkJCSJoYW5kbGVyIjogImhlYWRlcnMiLAorKwkJCQkJ CQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJCQkJCQkJCSJkZWxldGUi OiBbCisrCQkJCQkJCQkJCQkJCQkJCQkJCQkJIlJlbW90ZS1OYW1lIgorKwkJCQkJCQkJCQkJCQkJ CQkJCQkJXQorKwkJCQkJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCQkJCQkJfQorKwkJ CQkJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCQkJCQl9LAorIAkJCQkJCQkJCQkJCQkJCQl7 CisgCQkJCQkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworIAkJCQkJCQkJCQkJCQkJCQkJCXsKK0BA IC0xMjcsNiArMTYzLDE4IEBAIGFwcC5leGFtcGxlLmNvbSB7CisgCQkJCQkJCQkJCQkJCQkJCQkJ fQorIAkJCQkJCQkJCQkJCQkJCQkJXQorIAkJCQkJCQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJ CQkJCQl7CisrCQkJCQkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworKwkJCQkJCQkJCQkJCQkJCQkJ CXsKKysJCQkJCQkJCQkJCQkJCQkJCQkJImhhbmRsZXIiOiAiaGVhZGVycyIsCisrCQkJCQkJCQkJ CQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJCQkJCQkJCQkJCQkJCQkJCQkJImRlbGV0ZSI6IFsK KysJCQkJCQkJCQkJCQkJCQkJCQkJCQkiUmVtb3RlLVVzZXIiCisrCQkJCQkJCQkJCQkJCQkJCQkJ CQldCisrCQkJCQkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJ CQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCX0sCisgCQkJCQkJCQkJCQkJCQkJCXsKKyAJ CQkJCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisgCQkJCQkJCQkJCQkJCQkJCQkJeworQEAgLTIw MCw0ICsyNDgsNCBAQCBhcHAuZXhhbXBsZS5jb20geworIAkJCX0KKyAJCX0KKyAJfQorLX0KK1wg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorK30KK2RpZmYgLS1naXQgYS9jYWRkeXRlc3QvaW50 ZWdyYXRpb24vY2FkZHlmaWxlX2FkYXB0L2ZvcndhcmRfYXV0aF9jb3B5X2hlYWRlcnNfc3RyaXAu Y2FkZHlmaWxldGVzdCBiL2NhZGR5dGVzdC9pbnRlZ3JhdGlvbi9jYWRkeWZpbGVfYWRhcHQvZm9y d2FyZF9hdXRoX2NvcHlfaGVhZGVyc19zdHJpcC5jYWRkeWZpbGV0ZXN0CituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAuLjg4N2JlZjBhCistLS0gL2Rldi9udWxsCisrKysgYi9j YWRkeXRlc3QvaW50ZWdyYXRpb24vY2FkZHlmaWxlX2FkYXB0L2ZvcndhcmRfYXV0aF9jb3B5X2hl YWRlcnNfc3RyaXAuY2FkZHlmaWxldGVzdAorQEAgLTAsMCArMSwxNDYgQEAKKys6ODA4MAorKwor K2ZvcndhcmRfYXV0aCAxMjcuMC4wLjE6OTA5MSB7CisrCXVyaSAvCisrCWNvcHlfaGVhZGVycyBY LVVzZXItSWQgWC1Vc2VyLVJvbGUKKyt9CisrLS0tLS0tLS0tLQorK3sKKysJImFwcHMiOiB7Cisr CQkiaHR0cCI6IHsKKysJCQkic2VydmVycyI6IHsKKysJCQkJInNydjAiOiB7CisrCQkJCQkibGlz dGVuIjogWworKwkJCQkJCSI6ODA4MCIKKysJCQkJCV0sCisrCQkJCQkicm91dGVzIjogWworKwkJ CQkJCXsKKysJCQkJCQkJImhhbmRsZSI6IFsKKysJCQkJCQkJCXsKKysJCQkJCQkJCQkiaGFuZGxl X3Jlc3BvbnNlIjogWworKwkJCQkJCQkJCQl7CisrCQkJCQkJCQkJCQkibWF0Y2giOiB7CisrCQkJ CQkJCQkJCQkJInN0YXR1c19jb2RlIjogWworKwkJCQkJCQkJCQkJCQkyCisrCQkJCQkJCQkJCQkJ XQorKwkJCQkJCQkJCQkJfSwKKysJCQkJCQkJCQkJCSJyb3V0ZXMiOiBbCisrCQkJCQkJCQkJCQkJ eworKwkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworKwkJCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJ CQkJCQkJCSJoYW5kbGVyIjogInZhcnMiCisrCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJ CV0KKysJCQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJImhhbmRs ZSI6IFsKKysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6ICJoZWFk ZXJzIiwKKysJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJCQkJImRl bGV0ZSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCSJYLVVzZXItSWQiCisrCQkJCQkJCQkJCQkJCQkJ CV0KKysJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCV0K KysJCQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJImhhbmRsZSI6 IFsKKysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6ICJoZWFkZXJz IiwKKysJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJCQkJInNldCI6 IHsKKysJCQkJCQkJCQkJCQkJCQkJCSJYLVVzZXItSWQiOiBbCisrCQkJCQkJCQkJCQkJCQkJCQkJ IntodHRwLnJldmVyc2VfcHJveHkuaGVhZGVyLlgtVXNlci1JZH0iCisrCQkJCQkJCQkJCQkJCQkJ CQldCisrCQkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJ CQl9CisrCQkJCQkJCQkJCQkJCV0sCisrCQkJCQkJCQkJCQkJCSJtYXRjaCI6IFsKKysJCQkJCQkJ CQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkibm90IjogWworKwkJCQkJCQkJCQkJCQkJCQl7Cisr CQkJCQkJCQkJCQkJCQkJCQkidmFycyI6IHsKKysJCQkJCQkJCQkJCQkJCQkJCQkie2h0dHAucmV2 ZXJzZV9wcm94eS5oZWFkZXIuWC1Vc2VyLUlkfSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCQkJIiIK KysJCQkJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJ CQkJCX0KKysJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJ CV0KKysJCQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJImhhbmRs ZSI6IFsKKysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6ICJoZWFk ZXJzIiwKKysJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJCQkJImRl bGV0ZSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCSJYLVVzZXItUm9sZSIKKysJCQkJCQkJCQkJCQkJ CQkJXQorKwkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJ XQorKwkJCQkJCQkJCQkJCX0sCisrCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQkiaGFuZGxl IjogWworKwkJCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQkJCSJoYW5kbGVyIjogImhlYWRl cnMiLAorKwkJCQkJCQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJCQkJCQkJCQkJCQkJCQkic2V0 IjogeworKwkJCQkJCQkJCQkJCQkJCQkJIlgtVXNlci1Sb2xlIjogWworKwkJCQkJCQkJCQkJCQkJ CQkJCSJ7aHR0cC5yZXZlcnNlX3Byb3h5LmhlYWRlci5YLVVzZXItUm9sZX0iCisrCQkJCQkJCQkJ CQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJ CQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCV0sCisrCQkJCQkJCQkJCQkJCSJtYXRjaCI6IFsKKysJ CQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkibm90IjogWworKwkJCQkJCQkJCQkJCQkJ CQl7CisrCQkJCQkJCQkJCQkJCQkJCQkidmFycyI6IHsKKysJCQkJCQkJCQkJCQkJCQkJCQkie2h0 dHAucmV2ZXJzZV9wcm94eS5oZWFkZXIuWC1Vc2VyLVJvbGV9IjogWworKwkJCQkJCQkJCQkJCQkJ CQkJCQkiIgorKwkJCQkJCQkJCQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCQkJCX0KKysJCQkJ CQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCX0KKysJCQkJ CQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJfQor KwkJCQkJCQkJCV0sCisrCQkJCQkJCQkJImhhbmRsZXIiOiAicmV2ZXJzZV9wcm94eSIsCisrCQkJ CQkJCQkJImhlYWRlcnMiOiB7CisrCQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJCQkJCQkJCQkJ InNldCI6IHsKKysJCQkJCQkJCQkJCQkiWC1Gb3J3YXJkZWQtTWV0aG9kIjogWworKwkJCQkJCQkJ CQkJCQkie2h0dHAucmVxdWVzdC5tZXRob2R9IgorKwkJCQkJCQkJCQkJCV0sCisrCQkJCQkJCQkJ CQkJIlgtRm9yd2FyZGVkLVVyaSI6IFsKKysJCQkJCQkJCQkJCQkJIntodHRwLnJlcXVlc3QudXJp fSIKKysJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCX0KKysJCQkJCQkJ CQl9LAorKwkJCQkJCQkJCSJyZXdyaXRlIjogeworKwkJCQkJCQkJCQkibWV0aG9kIjogIkdFVCIs CisrCQkJCQkJCQkJCSJ1cmkiOiAiLyIKKysJCQkJCQkJCQl9LAorKwkJCQkJCQkJCSJ1cHN0cmVh bXMiOiBbCisrCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCSJkaWFsIjogIjEyNy4wLjAuMTo5MDkx IgorKwkJCQkJCQkJCQl9CisrCQkJCQkJCQkJXQorKwkJCQkJCQkJfQorKwkJCQkJCQldCisrCQkJ CQkJfQorKwkJCQkJXQorKwkJCQl9CisrCQkJfQorKwkJfQorKwl9CisrfQorXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCitkaWZmIC0tZ2l0IGEvY2FkZHl0ZXN0L2ludGVncmF0aW9uL2NhZGR5 ZmlsZV9hZGFwdC9mb3J3YXJkX2F1dGhfcmVuYW1lX2hlYWRlcnMuY2FkZHlmaWxldGVzdCBiL2Nh ZGR5dGVzdC9pbnRlZ3JhdGlvbi9jYWRkeWZpbGVfYWRhcHQvZm9yd2FyZF9hdXRoX3JlbmFtZV9o ZWFkZXJzLmNhZGR5ZmlsZXRlc3QKK2luZGV4IGMyYmUyZWQ0Li41ZDYxZTVmZiAxMDA2NDQKKy0t LSBhL2NhZGR5dGVzdC9pbnRlZ3JhdGlvbi9jYWRkeWZpbGVfYWRhcHQvZm9yd2FyZF9hdXRoX3Jl bmFtZV9oZWFkZXJzLmNhZGR5ZmlsZXRlc3QKKysrKyBiL2NhZGR5dGVzdC9pbnRlZ3JhdGlvbi9j YWRkeWZpbGVfYWRhcHQvZm9yd2FyZF9hdXRoX3JlbmFtZV9oZWFkZXJzLmNhZGR5ZmlsZXRlc3QK K0BAIC0zNSw2ICszNSwxOCBAQCBmb3J3YXJkX2F1dGggbG9jYWxob3N0OjkwMDAgeworIAkJCQkJ CQkJCQkJCQkJfQorIAkJCQkJCQkJCQkJCQldCisgCQkJCQkJCQkJCQkJfSwKKysJCQkJCQkJCQkJ CQl7CisrCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisrCQkJCQkJCQkJCQkJCQl7CisrCQkJCQkJ CQkJCQkJCQkJImhhbmRsZXIiOiAiaGVhZGVycyIsCisrCQkJCQkJCQkJCQkJCQkJInJlcXVlc3Qi OiB7CisrCQkJCQkJCQkJCQkJCQkJCSJkZWxldGUiOiBbCisrCQkJCQkJCQkJCQkJCQkJCQkiMSIK KysJCQkJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCX0K KysJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCX0sCisgCQkJCQkJCQkJCQkJeworIAkJCQkJ CQkJCQkJCQkiaGFuZGxlIjogWworIAkJCQkJCQkJCQkJCQkJeworQEAgLTYyLDYgKzc0LDE4IEBA IGZvcndhcmRfYXV0aCBsb2NhbGhvc3Q6OTAwMCB7CisgCQkJCQkJCQkJCQkJCQl9CisgCQkJCQkJ CQkJCQkJCV0KKyAJCQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJ ImhhbmRsZSI6IFsKKysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6 ICJoZWFkZXJzIiwKKysJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJ CQkJImRlbGV0ZSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCSJCIgorKwkJCQkJCQkJCQkJCQkJCQld CisrCQkJCQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJCQldCisr CQkJCQkJCQkJCQkJfSwKKyAJCQkJCQkJCQkJCQl7CisgCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBb CisgCQkJCQkJCQkJCQkJCQl7CitAQCAtODksNiArMTEzLDE4IEBAIGZvcndhcmRfYXV0aCBsb2Nh bGhvc3Q6OTAwMCB7CisgCQkJCQkJCQkJCQkJCQl9CisgCQkJCQkJCQkJCQkJCV0KKyAJCQkJCQkJ CQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJImhhbmRsZSI6IFsKKysJCQkJ CQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6ICJoZWFkZXJzIiwKKysJCQkJ CQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJCQkJImRlbGV0ZSI6IFsKKysJ CQkJCQkJCQkJCQkJCQkJCSIzIgorKwkJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJ fQorKwkJCQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJfSwKKyAJ CQkJCQkJCQkJCQl7CisgCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisgCQkJCQkJCQkJCQkJCQl7 CitAQCAtMTE2LDYgKzE1MiwxOCBAQCBmb3J3YXJkX2F1dGggbG9jYWxob3N0OjkwMDAgeworIAkJ CQkJCQkJCQkJCQkJfQorIAkJCQkJCQkJCQkJCQldCisgCQkJCQkJCQkJCQkJfSwKKysJCQkJCQkJ CQkJCQl7CisrCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisrCQkJCQkJCQkJCQkJCQl7CisrCQkJ CQkJCQkJCQkJCQkJImhhbmRsZXIiOiAiaGVhZGVycyIsCisrCQkJCQkJCQkJCQkJCQkJInJlcXVl c3QiOiB7CisrCQkJCQkJCQkJCQkJCQkJCSJkZWxldGUiOiBbCisrCQkJCQkJCQkJCQkJCQkJCQki RCIKKysJCQkJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJ CX0KKysJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCX0sCisgCQkJCQkJCQkJCQkJeworIAkJ CQkJCQkJCQkJCQkiaGFuZGxlIjogWworIAkJCQkJCQkJCQkJCQkJeworQEAgLTE0Myw2ICsxOTEs MTggQEAgZm9yd2FyZF9hdXRoIGxvY2FsaG9zdDo5MDAwIHsKKyAJCQkJCQkJCQkJCQkJCX0KKyAJ CQkJCQkJCQkJCQkJXQorIAkJCQkJCQkJCQkJCX0sCisrCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJ CQkJCQkiaGFuZGxlIjogWworKwkJCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQkJCSJoYW5k bGVyIjogImhlYWRlcnMiLAorKwkJCQkJCQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJCQkJCQkJ CQkJCQkJCQkiZGVsZXRlIjogWworKwkJCQkJCQkJCQkJCQkJCQkJIjUiCisrCQkJCQkJCQkJCQkJ CQkJCV0KKysJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJ CV0KKysJCQkJCQkJCQkJCQl9LAorIAkJCQkJCQkJCQkJCXsKKyAJCQkJCQkJCQkJCQkJImhhbmRs ZSI6IFsKKyAJCQkJCQkJCQkJCQkJCXsKK0BAIC0yMDMsNCArMjYzLDQgQEAgZm9yd2FyZF9hdXRo IGxvY2FsaG9zdDo5MDAwIHsKKyAJCQl9CisgCQl9CisgCX0KKy19CitcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKKyt9CitkaWZmIC0tZ2l0IGEvY2FkZHl0ZXN0L2ludGVncmF0aW9uL2Zvcndh cmRhdXRoX3Rlc3QuZ28gYi9jYWRkeXRlc3QvaW50ZWdyYXRpb24vZm9yd2FyZGF1dGhfdGVzdC5n bworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwLi5kMGVjYzJiZQorLS0tIC9k ZXYvbnVsbAorKysrIGIvY2FkZHl0ZXN0L2ludGVncmF0aW9uL2ZvcndhcmRhdXRoX3Rlc3QuZ28K K0BAIC0wLDAgKzEsMjA2IEBACisrLy8gQ29weXJpZ2h0IDIwMTUgTWF0dGhldyBIb2x0IGFuZCBU aGUgQ2FkZHkgQXV0aG9ycworKy8vCisrLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNl bnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisrLy8geW91IG1heSBub3QgdXNlIHRo aXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorKy8vIFlvdSBt YXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorKy8vCisrLy8gICAgIGh0dHA6Ly93 d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorKy8vCisrLy8gVW5sZXNzIHJlcXVp cmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQor Ky8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJB UyBJUyIgQkFTSVMsCisrLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5Z IEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisrLy8gU2VlIHRoZSBMaWNlbnNlIGZv ciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorKy8vIGxp bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorKworK3BhY2thZ2UgaW50ZWdyYXRpb24KKysK KytpbXBvcnQgKAorKwkiZm10IgorKwkibmV0L2h0dHAiCisrCSJuZXQvaHR0cC9odHRwdGVzdCIK KysJInN0cmluZ3MiCisrCSJzeW5jIgorKwkidGVzdGluZyIKKysKKysJImdpdGh1Yi5jb20vY2Fk ZHlzZXJ2ZXIvY2FkZHkvdjIvY2FkZHl0ZXN0IgorKykKKysKKysvLyBUZXN0Rm9yd2FyZEF1dGhD b3B5SGVhZGVyc1N0cmlwc0NsaWVudEhlYWRlcnMgaXMgYSByZWdyZXNzaW9uIHRlc3QgZm9yIHRo ZQorKy8vIGhlYWRlciBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiBmb3J3YXJkX2F1dGggY29w eV9oZWFkZXJzLgorKy8vCisrLy8gV2hlbiB0aGUgYXV0aCBzZXJ2aWNlIHJldHVybnMgMjAwIE9L IHdpdGhvdXQgb25lIG9mIHRoZSBjb3B5X2hlYWRlcnMgaGVhZGVycywKKysvLyB0aGUgTWF0Y2hO b3QgZ3VhcmQgc2tpcHMgdGhlIFNldCBvcGVyYXRpb24uIEJlZm9yZSB0aGlzIGZpeCwgdGhlIG9y aWdpbmFsCisrLy8gY2xpZW50LXN1cHBsaWVkIGhlYWRlciBzdXJ2aXZlZCB1bmNoYW5nZWQgaW50 byB0aGUgYmFja2VuZCByZXF1ZXN0LCBhbGxvd2luZworKy8vIHByaXZpbGVnZSBlc2NhbGF0aW9u IHdpdGggb25seSBhIHZhbGlkIChub24tcHJpdmlsZWdlZCkgYmVhcmVyIHRva2VuLiBBZnRlcgor Ky8vIHRoZSBmaXgsIGFuIHVuY29uZGl0aW9uYWwgZGVsZXRlIHJvdXRlIHJ1bnMgZmlyc3QsIHNv IHRoZSBiYWNrZW5kIGFsd2F5cworKy8vIHNlZXMgYW4gYWJzZW50IGhlYWRlciByYXRoZXIgdGhh biB0aGUgYXR0YWNrZXItc3VwcGxpZWQgdmFsdWUuCisrZnVuYyBUZXN0Rm9yd2FyZEF1dGhDb3B5 SGVhZGVyc1N0cmlwc0NsaWVudEhlYWRlcnModCAqdGVzdGluZy5UKSB7CisrCS8vIE1vY2sgYXV0 aCBzZXJ2aWNlOiBhY2NlcHRzIGFueSBCZWFyZXIgdG9rZW4sIHJldHVybnMgMjAwIE9LIHdpdGgg Tk8KKysJLy8gaWRlbnRpdHkgaGVhZGVycy4gVGhpcyBpcyB0aGUgc3RhdGVsZXNzIEpXVCB2YWxp ZGF0b3IgcGF0dGVybiB0aGF0CisrCS8vIHRyaWdnZXJzIHRoZSB2dWxuZXJhYmlsaXR5LgorKwlh dXRoU3J2IDo9IGh0dHB0ZXN0Lk5ld1NlcnZlcihodHRwLkhhbmRsZXJGdW5jKGZ1bmModyBodHRw LlJlc3BvbnNlV3JpdGVyLCByICpodHRwLlJlcXVlc3QpIHsKKysJCWlmIHN0cmluZ3MuSGFzUHJl Zml4KHIuSGVhZGVyLkdldCgiQXV0aG9yaXphdGlvbiIpLCAiQmVhcmVyICIpIHsKKysJCQl3Lldy aXRlSGVhZGVyKGh0dHAuU3RhdHVzT0spCisrCQkJcmV0dXJuCisrCQl9CisrCQl3LldyaXRlSGVh ZGVyKGh0dHAuU3RhdHVzVW5hdXRob3JpemVkKQorKwl9KSkKKysJZGVmZXIgYXV0aFNydi5DbG9z ZSgpCisrCisrCS8vIE1vY2sgYmFja2VuZDogcmVjb3JkcyB0aGUgaWRlbnRpdHkgaGVhZGVycyBp dCByZWNlaXZlcy4gQSByZWFsIGFwcGxpY2F0aW9uCisrCS8vIHdvdWxkIHVzZSBYLVVzZXItSWQg LyBYLVVzZXItUm9sZSB0byBtYWtlIGF1dGhvcml6YXRpb24gZGVjaXNpb25zLgorKwl0eXBlIHJl Y2VpdmVkIHN0cnVjdHsgdXNlcklELCB1c2VyUm9sZSBzdHJpbmcgfQorKwl2YXIgKAorKwkJbXUg ICBzeW5jLk11dGV4CisrCQlsYXN0IHJlY2VpdmVkCisrCSkKKysJYmFja2VuZFNydiA6PSBodHRw dGVzdC5OZXdTZXJ2ZXIoaHR0cC5IYW5kbGVyRnVuYyhmdW5jKHcgaHR0cC5SZXNwb25zZVdyaXRl ciwgciAqaHR0cC5SZXF1ZXN0KSB7CisrCQltdS5Mb2NrKCkKKysJCWxhc3QgPSByZWNlaXZlZHsK KysJCQl1c2VySUQ6ICAgci5IZWFkZXIuR2V0KCJYLVVzZXItSWQiKSwKKysJCQl1c2VyUm9sZTog ci5IZWFkZXIuR2V0KCJYLVVzZXItUm9sZSIpLAorKwkJfQorKwkJbXUuVW5sb2NrKCkKKysJCXcu V3JpdGVIZWFkZXIoaHR0cC5TdGF0dXNPSykKKysJCWZtdC5GcHJpbnQodywgIm9rIikKKysJfSkp CisrCWRlZmVyIGJhY2tlbmRTcnYuQ2xvc2UoKQorKworKwlhdXRoQWRkciA6PSBzdHJpbmdzLlRy aW1QcmVmaXgoYXV0aFNydi5VUkwsICJodHRwOi8vIikKKysJYmFja2VuZEFkZHIgOj0gc3RyaW5n cy5UcmltUHJlZml4KGJhY2tlbmRTcnYuVVJMLCAiaHR0cDovLyIpCisrCisrCXRlc3RlciA6PSBj YWRkeXRlc3QuTmV3VGVzdGVyKHQpCisrCXRlc3Rlci5Jbml0U2VydmVyKGZtdC5TcHJpbnRmKGAK KysJeworKwkJc2tpcF9pbnN0YWxsX3RydXN0CisrCQlhZG1pbiBsb2NhbGhvc3Q6Mjk5OQorKwkJ aHR0cF9wb3J0IDkwODAKKysJCWh0dHBzX3BvcnQgOTQ0MworKwkJZ3JhY2VfcGVyaW9kIDFucwor Kwl9CisrCWh0dHA6Ly9sb2NhbGhvc3Q6OTA4MCB7CisrCQlmb3J3YXJkX2F1dGggJXMgeworKwkJ CXVyaSAvCisrCQkJY29weV9oZWFkZXJzIFgtVXNlci1JZCBYLVVzZXItUm9sZQorKwkJfQorKwkJ cmV2ZXJzZV9wcm94eSAlcworKwl9CisrCWAsIGF1dGhBZGRyLCBiYWNrZW5kQWRkciksICJjYWRk eWZpbGUiKQorKworKwkvLyBDYXNlIDE6IG5vIHRva2VuLiBBdXRoIG11c3Qgc3RpbGwgcmVqZWN0 IHRoZSByZXF1ZXN0IGV2ZW4gd2hlbiB0aGUgY2xpZW50CisrCS8vIGluY2x1ZGVzIGlkZW50aXR5 IGhlYWRlcnMuIFRoaXMgY29uZmlybXMgdGhlIGF1dGggY2hlY2sgaXMgbm90IGJ5cGFzc2VkLgor KwlyZXEsIF8gOj0gaHR0cC5OZXdSZXF1ZXN0KGh0dHAuTWV0aG9kR2V0LCAiaHR0cDovL2xvY2Fs aG9zdDo5MDgwLyIsIG5pbCkKKysJcmVxLkhlYWRlci5TZXQoIlgtVXNlci1JZCIsICJpbmplY3Rl ZCIpCisrCXJlcS5IZWFkZXIuU2V0KCJYLVVzZXItUm9sZSIsICJpbmplY3RlZCIpCisrCXJlc3Ag Oj0gdGVzdGVyLkFzc2VydFJlc3BvbnNlQ29kZShyZXEsIGh0dHAuU3RhdHVzVW5hdXRob3JpemVk KQorKwlyZXNwLkJvZHkuQ2xvc2UoKQorKworKwkvLyBDYXNlIDI6IHZhbGlkIHRva2VuLCBubyBp bmplY3RlZCBoZWFkZXJzLiBUaGUgYmFja2VuZCBzaG91bGQgc2VlIGFic2VudAorKwkvLyBpZGVu dGl0eSBoZWFkZXJzICh0aGUgYXV0aCBzZXJ2aWNlIG5ldmVyIHJldHVybnMgdGhlbSkuCisrCXJl cSwgXyA9IGh0dHAuTmV3UmVxdWVzdChodHRwLk1ldGhvZEdldCwgImh0dHA6Ly9sb2NhbGhvc3Q6 OTA4MC8iLCBuaWwpCisrCXJlcS5IZWFkZXIuU2V0KCJBdXRob3JpemF0aW9uIiwgIkJlYXJlciB0 b2tlbjEyMyIpCisrCXRlc3Rlci5Bc3NlcnRSZXNwb25zZShyZXEsIGh0dHAuU3RhdHVzT0ssICJv ayIpCisrCW11LkxvY2soKQorKwlnb3RJRCwgZ290Um9sZSA6PSBsYXN0LnVzZXJJRCwgbGFzdC51 c2VyUm9sZQorKwltdS5VbmxvY2soKQorKwlpZiBnb3RJRCAhPSAiIiB7CisrCQl0LkVycm9yZigi YmFzZWxpbmU6IFgtVXNlci1JZCBzaG91bGQgYmUgYWJzZW50LCBnb3QgJXEiLCBnb3RJRCkKKysJ fQorKwlpZiBnb3RSb2xlICE9ICIiIHsKKysJCXQuRXJyb3JmKCJiYXNlbGluZTogWC1Vc2VyLVJv bGUgc2hvdWxkIGJlIGFic2VudCwgZ290ICVxIiwgZ290Um9sZSkKKysJfQorKworKwkvLyBDYXNl IDMgKHRoZSBzZWN1cml0eSByZWdyZXNzaW9uKTogdmFsaWQgdG9rZW4gcGx1cyBmb3JnZWQgaWRl bnRpdHkgaGVhZGVycy4KKysJLy8gVGhlIGZpeCBtdXN0IHN0cmlwIHRob3NlIHZhbHVlcyBzbyB0 aGUgYmFja2VuZCBuZXZlciBzZWVzIHRoZW0uCisrCXJlcSwgXyA9IGh0dHAuTmV3UmVxdWVzdCho dHRwLk1ldGhvZEdldCwgImh0dHA6Ly9sb2NhbGhvc3Q6OTA4MC8iLCBuaWwpCisrCXJlcS5IZWFk ZXIuU2V0KCJBdXRob3JpemF0aW9uIiwgIkJlYXJlciB0b2tlbjEyMyIpCisrCXJlcS5IZWFkZXIu U2V0KCJYLVVzZXItSWQiLCAiYWRtaW4iKSAgICAgICAgLy8gZm9yZ2VkCisrCXJlcS5IZWFkZXIu U2V0KCJYLVVzZXItUm9sZSIsICJzdXBlcmFkbWluIikgLy8gZm9yZ2VkCisrCXRlc3Rlci5Bc3Nl cnRSZXNwb25zZShyZXEsIGh0dHAuU3RhdHVzT0ssICJvayIpCisrCW11LkxvY2soKQorKwlnb3RJ RCwgZ290Um9sZSA9IGxhc3QudXNlcklELCBsYXN0LnVzZXJSb2xlCisrCW11LlVubG9jaygpCisr CWlmIGdvdElEICE9ICIiIHsKKysJCXQuRXJyb3JmKCJpbmplY3Rpb246IFgtVXNlci1JZCBtdXN0 IGJlIHN0cmlwcGVkLCBnb3QgJXEiLCBnb3RJRCkKKysJfQorKwlpZiBnb3RSb2xlICE9ICIiIHsK KysJCXQuRXJyb3JmKCJpbmplY3Rpb246IFgtVXNlci1Sb2xlIG11c3QgYmUgc3RyaXBwZWQsIGdv dCAlcSIsIGdvdFJvbGUpCisrCX0KKyt9CisrCisrLy8gVGVzdEZvcndhcmRBdXRoQ29weUhlYWRl cnNBdXRoUmVzcG9uc2VXaW5zIHZlcmlmaWVzIHRoYXQgd2hlbiB0aGUgYXV0aAorKy8vIHNlcnZp Y2UgZG9lcyBpbmNsdWRlIGEgY29weV9oZWFkZXJzIGhlYWRlciBpbiBpdHMgcmVzcG9uc2UsIHRo YXQgdmFsdWUKKysvLyBpcyBmb3J3YXJkZWQgdG8gdGhlIGJhY2tlbmQgYW5kIHRha2VzIHByZWNl ZGVuY2Ugb3ZlciBhbnkgY2xpZW50LXN1cHBsaWVkCisrLy8gdmFsdWUgZm9yIHRoZSBzYW1lIGhl YWRlci4KKytmdW5jIFRlc3RGb3J3YXJkQXV0aENvcHlIZWFkZXJzQXV0aFJlc3BvbnNlV2lucyh0 ICp0ZXN0aW5nLlQpIHsKKysJY29uc3Qgd2FudFVzZXJJRCA9ICJzZXJ2aWNlLXVzZXItNDIiCisr CWNvbnN0IHdhbnRVc2VyUm9sZSA9ICJlZGl0b3IiCisrCisrCS8vIEF1dGggc2VydmljZTogYWNj ZXB0cyBiZWFyZXIgdG9rZW4gYW5kIHNldHMgaWRlbnRpdHkgaGVhZGVycy4KKysJYXV0aFNydiA6 PSBodHRwdGVzdC5OZXdTZXJ2ZXIoaHR0cC5IYW5kbGVyRnVuYyhmdW5jKHcgaHR0cC5SZXNwb25z ZVdyaXRlciwgciAqaHR0cC5SZXF1ZXN0KSB7CisrCQlpZiBzdHJpbmdzLkhhc1ByZWZpeChyLkhl YWRlci5HZXQoIkF1dGhvcml6YXRpb24iKSwgIkJlYXJlciAiKSB7CisrCQkJdy5IZWFkZXIoKS5T ZXQoIlgtVXNlci1JZCIsIHdhbnRVc2VySUQpCisrCQkJdy5IZWFkZXIoKS5TZXQoIlgtVXNlci1S b2xlIiwgd2FudFVzZXJSb2xlKQorKwkJCXcuV3JpdGVIZWFkZXIoaHR0cC5TdGF0dXNPSykKKysJ CQlyZXR1cm4KKysJCX0KKysJCXcuV3JpdGVIZWFkZXIoaHR0cC5TdGF0dXNVbmF1dGhvcml6ZWQp CisrCX0pKQorKwlkZWZlciBhdXRoU3J2LkNsb3NlKCkKKysKKysJdHlwZSByZWNlaXZlZCBzdHJ1 Y3R7IHVzZXJJRCwgdXNlclJvbGUgc3RyaW5nIH0KKysJdmFyICgKKysJCW11ICAgc3luYy5NdXRl eAorKwkJbGFzdCByZWNlaXZlZAorKwkpCisrCWJhY2tlbmRTcnYgOj0gaHR0cHRlc3QuTmV3U2Vy dmVyKGh0dHAuSGFuZGxlckZ1bmMoZnVuYyh3IGh0dHAuUmVzcG9uc2VXcml0ZXIsIHIgKmh0dHAu UmVxdWVzdCkgeworKwkJbXUuTG9jaygpCisrCQlsYXN0ID0gcmVjZWl2ZWR7CisrCQkJdXNlcklE OiAgIHIuSGVhZGVyLkdldCgiWC1Vc2VyLUlkIiksCisrCQkJdXNlclJvbGU6IHIuSGVhZGVyLkdl dCgiWC1Vc2VyLVJvbGUiKSwKKysJCX0KKysJCW11LlVubG9jaygpCisrCQl3LldyaXRlSGVhZGVy KGh0dHAuU3RhdHVzT0spCisrCQlmbXQuRnByaW50KHcsICJvayIpCisrCX0pKQorKwlkZWZlciBi YWNrZW5kU3J2LkNsb3NlKCkKKysKKysJYXV0aEFkZHIgOj0gc3RyaW5ncy5UcmltUHJlZml4KGF1 dGhTcnYuVVJMLCAiaHR0cDovLyIpCisrCWJhY2tlbmRBZGRyIDo9IHN0cmluZ3MuVHJpbVByZWZp eChiYWNrZW5kU3J2LlVSTCwgImh0dHA6Ly8iKQorKworKwl0ZXN0ZXIgOj0gY2FkZHl0ZXN0Lk5l d1Rlc3Rlcih0KQorKwl0ZXN0ZXIuSW5pdFNlcnZlcihmbXQuU3ByaW50ZihgCisrCXsKKysJCXNr aXBfaW5zdGFsbF90cnVzdAorKwkJYWRtaW4gbG9jYWxob3N0OjI5OTkKKysJCWh0dHBfcG9ydCA5 MDgwCisrCQlodHRwc19wb3J0IDk0NDMKKysJCWdyYWNlX3BlcmlvZCAxbnMKKysJfQorKwlodHRw Oi8vbG9jYWxob3N0OjkwODAgeworKwkJZm9yd2FyZF9hdXRoICVzIHsKKysJCQl1cmkgLworKwkJ CWNvcHlfaGVhZGVycyBYLVVzZXItSWQgWC1Vc2VyLVJvbGUKKysJCX0KKysJCXJldmVyc2VfcHJv eHkgJXMKKysJfQorKwlgLCBhdXRoQWRkciwgYmFja2VuZEFkZHIpLCAiY2FkZHlmaWxlIikKKysK KysJLy8gVGhlIGNsaWVudCBzZW5kcyBmb3JnZWQgaGVhZGVyczsgdGhlIGF1dGggc2VydmljZSBv dmVycmlkZXMgdGhlbSB3aXRoCisrCS8vIGl0cyBvd24gdmFsdWVzLiBUaGUgYmFja2VuZCBtdXN0 IHJlY2VpdmUgdGhlIGF1dGggc2VydmljZSB2YWx1ZXMuCisrCXJlcSwgXyA6PSBodHRwLk5ld1Jl cXVlc3QoaHR0cC5NZXRob2RHZXQsICJodHRwOi8vbG9jYWxob3N0OjkwODAvIiwgbmlsKQorKwly ZXEuSGVhZGVyLlNldCgiQXV0aG9yaXphdGlvbiIsICJCZWFyZXIgdG9rZW4xMjMiKQorKwlyZXEu SGVhZGVyLlNldCgiWC1Vc2VyLUlkIiwgImZvcmdlZC1pZCIpICAgLy8gbXVzdCBiZSBvdmVyd3Jp dHRlbgorKwlyZXEuSGVhZGVyLlNldCgiWC1Vc2VyLVJvbGUiLCAiZm9yZ2VkLXJvbGUiKSAvLyBt dXN0IGJlIG92ZXJ3cml0dGVuCisrCXRlc3Rlci5Bc3NlcnRSZXNwb25zZShyZXEsIGh0dHAuU3Rh dHVzT0ssICJvayIpCisrCisrCW11LkxvY2soKQorKwlnb3RJRCwgZ290Um9sZSA6PSBsYXN0LnVz ZXJJRCwgbGFzdC51c2VyUm9sZQorKwltdS5VbmxvY2soKQorKwlpZiBnb3RJRCAhPSB3YW50VXNl cklEIHsKKysJCXQuRXJyb3JmKCJYLVVzZXItSWQ6IHdhbnQgJXEsIGdvdCAlcSIsIHdhbnRVc2Vy SUQsIGdvdElEKQorKwl9CisrCWlmIGdvdFJvbGUgIT0gd2FudFVzZXJSb2xlIHsKKysJCXQuRXJy b3JmKCJYLVVzZXItUm9sZTogd2FudCAlcSwgZ290ICVxIiwgd2FudFVzZXJSb2xlLCBnb3RSb2xl KQorKwl9CisrfQorZGlmZiAtLWdpdCBhL21vZHVsZXMvY2FkZHlodHRwL3JldmVyc2Vwcm94eS9m b3J3YXJkYXV0aC9jYWRkeWZpbGUuZ28gYi9tb2R1bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkv Zm9yd2FyZGF1dGgvY2FkZHlmaWxlLmdvCitpbmRleCAzNDdmNmRmYi4uNWQ0MzkzYWMgMTAwNjQ0 CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZm9yd2FyZGF1dGgvY2FkZHlm aWxlLmdvCisrKysgYi9tb2R1bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZm9yd2FyZGF1dGgv Y2FkZHlmaWxlLmdvCitAQCAtMjA4LDYgKzIwOCwyNCBAQCBmdW5jIHBhcnNlQ2FkZHlmaWxlKGgg aHR0cGNhZGR5ZmlsZS5IZWxwZXIpIChbXWh0dHBjYWRkeWZpbGUuQ29uZmlnVmFsdWUsIGVycm9y KQorIAlmb3IgXywgZnJvbSA6PSByYW5nZSBzb3J0ZWRIZWFkZXJzVG9Db3B5IHsKKyAJCXRvIDo9 IGh0dHAuQ2Fub25pY2FsSGVhZGVyS2V5KGhlYWRlcnNUb0NvcHlbZnJvbV0pCisgCQlwbGFjZWhv bGRlck5hbWUgOj0gImh0dHAucmV2ZXJzZV9wcm94eS5oZWFkZXIuIiArIGh0dHAuQ2Fub25pY2Fs SGVhZGVyS2V5KGZyb20pCisrCisrCQkvLyBBbHdheXMgZGVsZXRlIHRoZSBjbGllbnQtc3VwcGxp ZWQgaGVhZGVyIGJlZm9yZSBjb25kaXRpb25hbGx5IHNldHRpbmcKKysJCS8vIGl0IGZyb20gdGhl IGF1dGggcmVzcG9uc2UuIFdpdGhvdXQgdGhpcywgYSBjbGllbnQgdGhhdCBwcmUtc3VwcGxpZXMg YQorKwkJLy8gaGVhZGVyIGxpc3RlZCBpbiBjb3B5X2hlYWRlcnMgY2FuIGluamVjdCBhcmJpdHJh cnkgdmFsdWVzIHdoZW4gdGhlIGF1dGgKKysJCS8vIHNlcnZpY2UgZG9lcyBub3QgcmV0dXJuIHRo YXQgaGVhZGVyOiB0aGUgTWF0Y2hOb3QgZ3VhcmQgYmVsb3cgd291bGQKKysJCS8vIHNraXAgdGhl IFNldCBlbnRpcmVseSwgbGVhdmluZyB0aGUgb3JpZ2luYWwgY2xpZW50LWNvbnRyb2xsZWQgdmFs dWUKKysJCS8vIGludGFjdCBhbmQgZm9yd2FyZGluZyBpdCB0byB0aGUgYmFja2VuZC4KKysJCWNv cHlIZWFkZXJSb3V0ZXMgPSBhcHBlbmQoY29weUhlYWRlclJvdXRlcywgY2FkZHlodHRwLlJvdXRl eworKwkJCUhhbmRsZXJzUmF3OiBbXWpzb24uUmF3TWVzc2FnZXtjYWRkeWNvbmZpZy5KU09OTW9k dWxlT2JqZWN0KAorKwkJCQkmaGVhZGVycy5IYW5kbGVyeworKwkJCQkJUmVxdWVzdDogJmhlYWRl cnMuSGVhZGVyT3BzeworKwkJCQkJCURlbGV0ZTogW11zdHJpbmd7dG99LAorKwkJCQkJfSwKKysJ CQkJfSwKKysJCQkJImhhbmRsZXIiLCAiaGVhZGVycyIsIG5pbCwKKysJCQkpfSwKKysJCX0pCisr CisgCQloYW5kbGVyIDo9ICZoZWFkZXJzLkhhbmRsZXJ7CisgCQkJUmVxdWVzdDogJmhlYWRlcnMu SGVhZGVyT3BzeworIAkJCQlTZXQ6IGh0dHAuSGVhZGVyewoKZGlmZiAtLWdpdCBhLzAwMDktT25s eS1hcHBseS1yZXBsLlJlcGxhY2VBbGwtb24tdmFsdWVzLWZyb20tbGl0ZXJhbC12YXJpYWJsZS1u YW1lcy5wYXRjaCBiLzAwMDktT25seS1hcHBseS1yZXBsLlJlcGxhY2VBbGwtb24tdmFsdWVzLWZy b20tbGl0ZXJhbC12YXJpYWJsZS1uYW1lcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi44Y2M3NWEzCi0tLSAvZGV2L251bGwKKysrIGIvMDAwOS1Pbmx5LWFwcGx5LXJl cGwuUmVwbGFjZUFsbC1vbi12YWx1ZXMtZnJvbS1saXRlcmFsLXZhcmlhYmxlLW5hbWVzLnBhdGNo CkBAIC0wLDAgKzEsOTMgQEAKK0Zyb20gNmEwYzZlODRiMTc3NTRlYjkyY2ZiMjAwYTU4ZGNhOGRm MjI4ZjIxMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJTYW0uQW4iIDw1NjIxNTg5 MStzYW1taWVlNTMxMUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUsIDUgTWFy IDIwMjYgMDE6MDg6MzkgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gT25seSBhcHBseSByZXBsLlJl cGxhY2VBbGwoKSBvbiB2YWx1ZXMgZnJvbSBsaXRlcmFsIHZhcmlhYmxlCisgbmFtZXMKKworT25s eSBhcHBseSByZXBsLlJlcGxhY2VBbGwoKSBvbiB2YWx1ZXMgZnJvbSBsaXRlcmFsIHZhcmlhYmxl IG5hbWVzCisoZS5nLiBtYXAgb3V0cHV0cyksIG5vdCBvbiB2YWx1ZXMgcmVzb2x2ZWQgZnJvbSBw bGFjZWhvbGRlciBrZXlzCisoZS5nLiB7aHR0cC5yZXF1ZXN0LmhlYWRlci4qfSkuIFRoZSBwbGFj ZWhvbGRlciBwYXRoIGFscmVhZHkgcmVzb2x2ZXMKK3RoZSB2YWx1ZSB2aWEgcmVwbC5HZXQoKSwg c28gYSBzZWNvbmQgZXhwYW5zaW9uIGFsbG93cyB1c2VyLWNvbnRyb2xsZWQKK2lucHV0IGNvbnRh aW5pbmcge2Vudi4qfSBvciB7ZmlsZS4qfSB0byBiZSBldmFsdWF0ZWQsIGxlYWtpbmcKK2Vudmly b25tZW50IHZhcmlhYmxlcyBhbmQgZmlsZSBjb250ZW50cy4KKworQWRkIHJlZ3Jlc3Npb24gdGVz dCB0byB2ZXJpZnkgcGxhY2Vob2xkZXItc291cmNlZCB2YWx1ZXMgYXJlIG5vdAorcmUtZXhwYW5k ZWQuCisKK0ZpeGVzOiBDVkUtMjAyNi0zMDg1MgorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCA3ZTgzNzc1ZTNhZGVhOGI4ZGE3MmZlYTNiMTU5MjA3YmQ3MTAwMGRkKQorLS0tCisgbW9kdWxl cy9jYWRkeWh0dHAvbWF0Y2hlcnNfdGVzdC5nbyB8IDExICsrKysrKysrKystCisgbW9kdWxlcy9j YWRkeWh0dHAvdmFycy5nbyAgICAgICAgICB8IDExICsrKysrKysrKystCisgMiBmaWxlcyBjaGFu Z2VkLCAyMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9k dWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnNfdGVzdC5nbyBiL21vZHVsZXMvY2FkZHlodHRwL21hdGNo ZXJzX3Rlc3QuZ28KK2luZGV4IGMwMDJhM2U0Li5lOTFjYjQ0ZSAxMDA2NDQKKy0tLSBhL21vZHVs ZXMvY2FkZHlodHRwL21hdGNoZXJzX3Rlc3QuZ28KKysrKyBiL21vZHVsZXMvY2FkZHlodHRwL21h dGNoZXJzX3Rlc3QuZ28KK0BAIC05NjcsNiArOTY3LDcgQEAgZnVuYyBUZXN0VmFyUkVNYXRjaGVy KHQgKnRlc3RpbmcuVCkgeworIAkJZGVzYyAgICAgICBzdHJpbmcKKyAJCW1hdGNoICAgICAgTWF0 Y2hWYXJzUkUKKyAJCWlucHV0ICAgICAgVmFyc01pZGRsZXdhcmUKKysJCWhlYWRlcnMgICAgaHR0 cC5IZWFkZXIKKyAJCWV4cGVjdCAgICAgYm9vbAorIAkJZXhwZWN0UmVwbCBtYXBbc3RyaW5nXXN0 cmluZworIAl9eworQEAgLTEwMDEsNiArMTAwMiwxNCBAQCBmdW5jIFRlc3RWYXJSRU1hdGNoZXIo dCAqdGVzdGluZy5UKSB7CisgCQkJaW5wdXQ6ICBWYXJzTWlkZGxld2FyZXsiVmFyMSI6ICJ2YXIx VmFsdWUifSwKKyAJCQlleHBlY3Q6IHRydWUsCisgCQl9LAorKwkJeworKwkJCWRlc2M6ICAgICAg ICJwbGFjZWhvbGRlciBrZXkgdmFsdWUgY29udGFpbmluZyBicmFjZXMgaXMgbm90IGRvdWJsZS1l eHBhbmRlZCIsCisrCQkJbWF0Y2g6ICAgICAgTWF0Y2hWYXJzUkV7IntodHRwLnJlcXVlc3QuaGVh ZGVyLlgtSW5wdXR9IjogJk1hdGNoUmVnZXhwe1BhdHRlcm46ICIuKyIsIE5hbWU6ICJ2YWwifX0s CisrCQkJaW5wdXQ6ICAgICAgVmFyc01pZGRsZXdhcmV7fSwKKysJCQloZWFkZXJzOiAgICBodHRw LkhlYWRlcnsiWC1JbnB1dCI6IFtdc3RyaW5neyJ7ZW52LkhPTUV9In19LAorKwkJCWV4cGVjdDog ICAgIHRydWUsCisrCQkJZXhwZWN0UmVwbDogbWFwW3N0cmluZ11zdHJpbmd7InZhbC4wIjogIntl bnYuSE9NRX0ifSwKKysJCX0sCisgCX0geworIAkJdGMgOj0gdGMgLy8gY2FwdHVyZSByYW5nZSB2 YWx1ZQorIAkJdC5SdW4odGMuZGVzYywgZnVuYyh0ICp0ZXN0aW5nLlQpIHsKK0BAIC0xMDE4LDcg KzEwMjcsNyBAQCBmdW5jIFRlc3RWYXJSRU1hdGNoZXIodCAqdGVzdGluZy5UKSB7CisgCQkJfQor IAorIAkJCS8vIHNldCB1cCB0aGUgZmFrZSByZXF1ZXN0IGFuZCBpdHMgUmVwbGFjZXIKKy0JCQly ZXEgOj0gJmh0dHAuUmVxdWVzdHtVUkw6IG5ldyh1cmwuVVJMKSwgTWV0aG9kOiBodHRwLk1ldGhv ZEdldH0KKysJCQlyZXEgOj0gJmh0dHAuUmVxdWVzdHtVUkw6IG5ldyh1cmwuVVJMKSwgTWV0aG9k OiBodHRwLk1ldGhvZEdldCwgSGVhZGVyOiB0Yy5oZWFkZXJzfQorIAkJCXJlcGwgOj0gY2FkZHku TmV3UmVwbGFjZXIoKQorIAkJCWN0eCA6PSBjb250ZXh0LldpdGhWYWx1ZShyZXEuQ29udGV4dCgp LCBjYWRkeS5SZXBsYWNlckN0eEtleSwgcmVwbCkKKyAJCQljdHggPSBjb250ZXh0LldpdGhWYWx1 ZShjdHgsIFZhcnNDdHhLZXksIG1ha2UobWFwW3N0cmluZ11hbnkpKQorZGlmZiAtLWdpdCBhL21v ZHVsZXMvY2FkZHlodHRwL3ZhcnMuZ28gYi9tb2R1bGVzL2NhZGR5aHR0cC92YXJzLmdvCitpbmRl eCBkMDFmNGE0My4uZjE5Y2ExNmYgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC92YXJz LmdvCisrKysgYi9tb2R1bGVzL2NhZGR5aHR0cC92YXJzLmdvCitAQCAtMzEyLDEwICszMTIsMTIg QEAgZnVuYyAobSBNYXRjaFZhcnNSRSkgTWF0Y2hXaXRoRXJyb3IociAqaHR0cC5SZXF1ZXN0KSAo Ym9vbCwgZXJyb3IpIHsKKyAJcmVwbCA6PSByLkNvbnRleHQoKS5WYWx1ZShjYWRkeS5SZXBsYWNl ckN0eEtleSkuKCpjYWRkeS5SZXBsYWNlcikKKyAJZm9yIGtleSwgdmFsIDo9IHJhbmdlIG0gewor IAkJdmFyIHZhclZhbHVlIGFueQorKwkJdmFyIGZyb21QbGFjZWhvbGRlciBib29sCisgCQlpZiBz dHJpbmdzLkhhc1ByZWZpeChrZXksICJ7IikgJiYKKyAJCQlzdHJpbmdzLkhhc1N1ZmZpeChrZXks ICJ9IikgJiYKKyAJCQlzdHJpbmdzLkNvdW50KGtleSwgInsiKSA9PSAxIHsKKyAJCQl2YXJWYWx1 ZSwgXyA9IHJlcGwuR2V0KHN0cmluZ3MuVHJpbShrZXksICJ7fSIpKQorKwkJCWZyb21QbGFjZWhv bGRlciA9IHRydWUKKyAJCX0gZWxzZSB7CisgCQkJdmFyVmFsdWUgPSB2YXJzW2tleV0KKyAJCX0K K0BAIC0zMzQsNyArMzM2LDE0IEBAIGZ1bmMgKG0gTWF0Y2hWYXJzUkUpIE1hdGNoV2l0aEVycm9y KHIgKmh0dHAuUmVxdWVzdCkgKGJvb2wsIGVycm9yKSB7CisgCQkJdmFyU3RyID0gZm10LlNwcmlu dGYoIiV2IiwgdnYpCisgCQl9CisgCistCQl2YWxFeHBhbmRlZCA6PSByZXBsLlJlcGxhY2VBbGwo dmFyU3RyLCAiIikKKysJCS8vIE9ubHkgZXhwYW5kIHBsYWNlaG9sZGVycyBpbiB2YWx1ZXMgZnJv bSBsaXRlcmFsIHZhcmlhYmxlIG5hbWVzCisrCQkvLyAoZS5nLiBtYXAgb3V0cHV0cykuIFZhbHVl cyByZXNvbHZlZCBmcm9tIHBsYWNlaG9sZGVyIGtleXMgYXJlCisrCQkvLyBhbHJlYWR5IGZpbmFs IGFuZCBtdXN0IG5vdCBiZSByZS1leHBhbmRlZCwgYXMgdGhhdCB3b3VsZCBhbGxvdworKwkJLy8g dXNlciBpbnB1dCBsaWtlIHtlbnYuU0VDUkVUfSB0byBiZSBldmFsdWF0ZWQuCisrCQl2YWxFeHBh bmRlZCA6PSB2YXJTdHIKKysJCWlmICFmcm9tUGxhY2Vob2xkZXIgeworKwkJCXZhbEV4cGFuZGVk ID0gcmVwbC5SZXBsYWNlQWxsKHZhclN0ciwgIiIpCisrCQl9CisgCQlpZiBtYXRjaCA6PSB2YWwu TWF0Y2godmFsRXhwYW5kZWQsIHJlcGwpOyBtYXRjaCB7CisgCQkJcmV0dXJuIG1hdGNoLCBuaWwK KyAJCX0KCmRpZmYgLS1naXQgYS9jYWRkeS5zcGVjIGIvY2FkZHkuc3BlYwppbmRleCBjYzU1MzAx Li43MjI5ZjllIDEwMDY0NAotLS0gYS9jYWRkeS5zcGVjCisrKyBiL2NhZGR5LnNwZWMKQEAgLTEs MjQgKzEsMTggQEAKLSVnbG9iYWwgZ29pcGF0aCAgICAgICAgIGdpdGh1Yi5jb20vY2FkZHlzZXJ2 ZXIvY2FkZHkKKyViY29uZCBjaGVjayAxCiAKLSVpZiAle2RlZmluZWQgZWw4fQotJWdsb2JhbCBn b3Rlc3QoKSBnbyB0ZXN0IC1zaG9ydCAtY29tcGlsZXIgZ2MgLWxkZmxhZ3MgIiR7TERGTEFHUzot fSIgJXs/Kip9OwotJWVsc2UKKyVnbG9iYWwgZ29tb2R1bGVzbW9kZSBHTzExMU1PRFVMRT1vbgog JWdsb2JhbCBnb3Rlc3RmbGFncyAle2dvY29tcGlsZXJmbGFnc30gLXNob3J0Ci0lZW5kaWYKIAog TmFtZTogICAgICAgICAgIGNhZGR5CiBWZXJzaW9uOiAgICAgICAgMi4xMC4yCiBSZWxlYXNlOiAg ICAgICAgJWF1dG9yZWxlYXNlCitFeGNsdXNpdmVBcmNoOiAgJXtnb2xhbmdfYXJjaGVzX2Z1dHVy ZX0KIFN1bW1hcnk6ICAgICAgICBXZWIgc2VydmVyIHdpdGggYXV0b21hdGljIEhUVFBTCitMaWNl bnNlOiAgICAgICAgQXBhY2hlLTIuMCBBTkQgQlNELTItQ2xhdXNlIEFORCBCU0QtMi1DbGF1c2Ut Vmlld3MgQU5EIEJTRC0zLUNsYXVzZSBBTkQgQ0MwLTEuMCBBTkQgSVNDIEFORCBNSVQgQU5EIE1Q TC0yLjAKIFVSTDogICAgICAgICAgICBodHRwczovL2NhZGR5c2VydmVyLmNvbQotCi0jIG1haW4g c291cmNlIGNvZGUgaXMgQXBhY2hlLTIuMAotIyBzZWUgY29tbWVudHMgYWJvdmUgYnVuZGxlZCBw cm92aWRlcyBmb3IgYSBicmVha2Rvd24gb2YgdGhlIHJlc3QKLUxpY2Vuc2U6ICAgICAgICBBcGFj aGUtMi4wIEFORCBCU0QtMS1DbGF1c2UgQU5EIEJTRC0yLUNsYXVzZSBBTkQgQlNELTItQ2xhdXNl LVZpZXdzIEFORCBCU0QtMy1DbGF1c2UgQU5EIENDMC0xLjAgQU5EIElTQyBBTkQgTUlUIEFORCBN UEwtMi4wCi0KLVNvdXJjZTA6ICAgICAgICBodHRwczovLyV7Z29pcGF0aH0vYXJjaGl2ZS92JXt2 ZXJzaW9ufS9jYWRkeS0le3ZlcnNpb259LnRhci5negotU291cmNlMTogICAgICAgIGNhZGR5LSV7 dmVyc2lvbn0tdmVuZG9yLnRhci5negotU291cmNlMjogICAgICAgIGNyZWF0ZS12ZW5kb3ItdGFy YmFsbC5zaAorU291cmNlMDogICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9j YWRkeS9hcmNoaXZlL3Yle3ZlcnNpb259L2NhZGR5LSV7dmVyc2lvbn0udGFyLmd6CitTb3VyY2Ux OiAgICAgICAgY2FkZHktJXt2ZXJzaW9ufS12ZW5kb3IudGFyLmJ6MgorU291cmNlMjogICAgICAg IGdvLXZlbmRvci10b29scy50b21sCiAKICMgYmFzZWQgb24gcmVmZXJlbmNlIGZpbGVzIHVwc3Ry ZWFtCiAjIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9kaXN0CkBAIC0zMCwxNCArMjQs MjggQEAgU291cmNlMzA6ICAgICAgIHBvd2VyZWRieS13aGl0ZS5wbmcKIFNvdXJjZTMxOiAgICAg ICBwb3dlcmVkYnktYmxhY2sucG5nCiAKICMgZG93bnN0cmVhbSBvbmx5IHBhdGNoIHRvIGRpc2Fi bGUgY29tbWFuZHMgdGhhdCBjYW4gYWx0ZXIgdGhlIGJpbmFyeQotUGF0Y2gxOiAgICAgICAgIDAw MDEtRGlzYWJsZS1jb21tYW5kcy10aGF0LWNhbi1hbHRlci10aGUtYmluYXJ5LnBhdGNoCitQYXRj aDogICAgICAgICAgMDAwMS1EaXNhYmxlLWNvbW1hbmRzLXRoYXQtY2FuLWFsdGVyLXRoZS1iaW5h cnkucGF0Y2gKKworIyBDVkUtMjAyNi0yNzU4NQorUGF0Y2g6ICAgICAgICAgIDAwMDItZmlsZXNl cnZlci1SZXBsYWNlLXdpdGgtaW4tZmlsZS1tYXRjaGVyLXBhdGhzLnBhdGNoCisjIENWRS0yMDI2 LTI3NTg2CitQYXRjaDogICAgICAgICAgMDAwMy1jYWRkeXRscy1SZXR1cm4tZXJyb3JzLWluc3Rl YWQtb2YtbmlsLWluLWNsaWVudC1hdXRoLXByb3Zpc2lvbmluZy03NDY0LnBhdGNoCisjIENWRS0y MDI2LTI3NTg3CitQYXRjaDogICAgICAgICAgMDAwNC1jYWRkeWh0dHAtTG93ZXJjYXNlLWNvbXBh cmlzb24td2hlbi1tYXRjaGluZy13aXRoLWVzY2FwZS1zZXF1ZW5jZS5wYXRjaAorIyBDVkUtMjAy Ni0yNzU4OAorUGF0Y2g6ICAgICAgICAgIDAwMDUtY2FkZHlodHRwLVVzZS1jYXNlLWluc2Vuc2l0 aXZlLWNvbXBhcmlzb24tZm9yLWxhcmdlLUhvc3QtbGlzdHMucGF0Y2gKKyMgQ1ZFLTIwMjYtMjc1 ODkKK1BhdGNoOiAgICAgICAgICAwMDA2LWFkbWluLVJlamVjdC1yZXF1ZXN0cy13aXRoLVNlYy1G ZXRjaC1Nb2RlLWhlYWRlcnMucGF0Y2gKKyMgQ1ZFLTIwMjYtMjc1OTAKK1BhdGNoOiAgICAgICAg ICAwMDA3LWZpeC1GYXN0Q0dJLXNwbGl0LVNDUklQVF9OQU1FLVBBVEhfSU5GTy1jb25mdXNpb24u cGF0Y2gKKyMgQ1ZFLTIwMjYtMzA4NTEKK1BhdGNoOiAgICAgICAgICAwMDA4LWZvcndhcmRfYXV0 aC1jb3B5X2hlYWRlcnMtZG9lcy1ub3Qtc3RyaXAtY2xpZW50LXN1cHBsaWVkLWlkZW50aXR5LWhl YWRlcnMtNzU0NS5wYXRjaAorIyBDVkUtMjAyNi0zMDg1MgorUGF0Y2g6ICAgICAgICAgIDAwMDkt T25seS1hcHBseS1yZXBsLlJlcGxhY2VBbGwtb24tdmFsdWVzLWZyb20tbGl0ZXJhbC12YXJpYWJs ZS1uYW1lcy5wYXRjaAogCi0laWYgJXtkZWZpbmVkIGVsOH0KLUV4Y2x1c2l2ZUFyY2g6ICAle2dv bGFuZ19hcmNoZXN9Ci0lZWxzZQogQnVpbGRSZXF1aXJlczogIGdvLXJwbS1tYWNyb3MKLUV4Y2x1 c2l2ZUFyY2g6ICAle2dvbGFuZ19hcmNoZXNfZnV0dXJlfQotJWVuZGlmCitCdWlsZFJlcXVpcmVz OiAgZ28tdmVuZG9yLXRvb2xzCitCdWlsZFJlcXVpcmVzOiAgYXNrYWxvbm8tY2xpCiAKIEJ1aWxk UmVxdWlyZXM6ICBzeXN0ZW1kLXJwbS1tYWNyb3MKICV7P3N5c3RlbWRfcmVxdWlyZXN9CkBAIC00 NiwxOTAgKzU0LDYgQEAgQnVpbGRSZXF1aXJlczogIHN5c3RlbWQtcnBtLW1hY3JvcwogUmVxdWly ZXM6ICAgICAgIHN5c3RlbS1sb2dvcy1odHRwZAogUHJvdmlkZXM6ICAgICAgIHdlYnNlcnZlcgog Ci0jIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9jYWRkeS9jb21taXQvMDVhY2M1MTMx ZWQ1YzgwYWNiZDI4ZWQ4ZDkwN2IxNjZjZDE1YjcyYwotQnVpbGRSZXF1aXJlczogIGdvbGFuZyA+ PSAxLjI1Ci0KLSMgQXBhY2hlLTIuMDoKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhj ZWwuZGV2L2V4cHIpKSA9IDAuMjQuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGNs b3VkLmdvb2dsZS5jb20vZ28vYXV0aCkpID0gMC4xNi4yCi1Qcm92aWRlczogICAgICAgYnVuZGxl ZChnb2xhbmcoY2xvdWQuZ29vZ2xlLmNvbS9nby9hdXRoL29hdXRoMmFkYXB0KSkgPSAwLjIuOAot UHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGNsb3VkLmdvb2dsZS5jb20vZ28vY29tcHV0 ZS9tZXRhZGF0YSkpID0gMC43LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRo dWIuY29tL01hc3Rlcm1pbmRzL2dvdXRpbHMpKSA9IDEuMS4xCi1Qcm92aWRlczogICAgICAgYnVu ZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9jZXJ0bWFnaWMpKSA9IDAuMjQuMAot UHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vY29yZW9zL2dvLW9pZGMv djMpKSA9IDMuMTQuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20v ZGdyYXBoLWlvL2JhZGdlcikpID0gMS42LjIKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFu ZyhnaXRodWIuY29tL2RncmFwaC1pby9iYWRnZXIvdjIpKSA9IDIuMjAwNy40Ci1Qcm92aWRlczog ICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1sb2dyL2xvZ3IpKSA9IDEuNC4zCi1Q cm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1sb2dyL3N0ZHIpKSA9 IDEuMi4yCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nb29nbGUv Y2VsLWdvKSkgPSAwLjI2LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIu Y29tL2dvb2dsZS9jZXJ0aWZpY2F0ZS10cmFuc3BhcmVuY3ktZ28pKSA9IDc0YTVkZDMKLVByb3Zp ZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2dvb2dsZS9nby10cG0pKSA9IDAu OS41Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nb29nbGUvZ28t dHNwaSkpID0gMC4zLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29t L2dvb2dsZS9zMmEtZ28pKSA9IDAuMS45Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmco Z2l0aHViLmNvbS9nb29nbGVhcGlzL2VudGVycHJpc2UtY2VydGlmaWNhdGUtcHJveHkpKSA9IDAu My42Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9pbmNvbnNocmV2 ZWFibGUvbW91c2V0cmFwKSkgPSAxLjEuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5n KGdpdGh1Yi5jb20va3lsZWxlbW9ucy9nb2RlYnVnKSkgPSAxLjEuMAotUHJvdmlkZXM6ICAgICAg IGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vcGlyZXMvZ28tcHJveHlwcm90bykpID0gMC44LjEK LVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3Byb21ldGhldXMvY2xp ZW50X21vZGVsKSkgPSAwLjYuMgotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1 Yi5jb20vcHJvbWV0aGV1cy9jb21tb24pKSA9IDAuNjUuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRs ZWQoZ29sYW5nKGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9jZnMpKSA9IDAuMTYuMQotUHJvdmlk ZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL2dvLWF0dGVzdGF0 aW9uKSkgPSAyMzA2ZDViCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNv bS9zbWFsbHN0ZXAvbGlua2VkY2EpKSA9IDAuMjMuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQo Z29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL25vc3FsKSkgPSAwLjcuMAotUHJvdmlkZXM6ICAg ICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL3RydXN0c3RvcmUpKSA9IDAu MTMuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc3BmMTMvY29i cmEpKSA9IDEuOS4xCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28ub3BlbnRlbGVt ZXRyeS5pby9hdXRvL3NkaykpID0gMS4xLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFu Zyhnby5vcGVudGVsZW1ldHJ5LmlvL2NvbnRyaWIvaW5zdHJ1bWVudGF0aW9uL25ldC9odHRwL290 ZWxodHRwKSkgPSAwLjYxLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnby5vcGVu dGVsZW1ldHJ5LmlvL2NvbnRyaWIvcHJvcGFnYXRvcnMvYXV0b3Byb3ApKSA9IDAuNjIuMAotUHJv dmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvLm9wZW50ZWxlbWV0cnkuaW8vY29udHJpYi9w cm9wYWdhdG9ycy9hd3MpKSA9IDEuMzcuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5n KGdvLm9wZW50ZWxlbWV0cnkuaW8vY29udHJpYi9wcm9wYWdhdG9ycy9iMykpID0gMS4zNy4wCi1Q cm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28ub3BlbnRlbGVtZXRyeS5pby9jb250cmli L3Byb3BhZ2F0b3JzL2phZWdlcikpID0gMS4zNy4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChn b2xhbmcoZ28ub3BlbnRlbGVtZXRyeS5pby9jb250cmliL3Byb3BhZ2F0b3JzL290KSkgPSAxLjM3 LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnby5vcGVudGVsZW1ldHJ5LmlvL290 ZWwpKSA9IDEuMzcuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvLm9wZW50ZWxl bWV0cnkuaW8vb3RlbC9leHBvcnRlcnMvb3RscC9vdGxwdHJhY2UpKSA9IDEuMzcuMAotUHJvdmlk ZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC9leHBvcnRl cnMvb3RscC9vdGxwdHJhY2Uvb3RscHRyYWNlZ3JwYykpID0gMS4zNy4wCi1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL21ldHJpYykpID0gMS4z Ny4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28ub3BlbnRlbGVtZXRyeS5pby9v dGVsL3NkaykpID0gMS4zNy4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28ub3Bl bnRlbGVtZXRyeS5pby9vdGVsL3RyYWNlKSkgPSAxLjM3LjAKLVByb3ZpZGVzOiAgICAgICBidW5k bGVkKGdvbGFuZyhnby5vcGVudGVsZW1ldHJ5LmlvL3Byb3RvL290bHApKSA9IDEuNy4wCi1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28udWJlci5vcmcvbW9jaykpID0gMC41LjIKLVBy b3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9n b29nbGVhcGlzL2FwaSkpID0gNTEzZjIzOQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5n KGdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvcnBjKSkgPSA1MTNmMjM5Ci1Q cm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29vZ2xlLmdvbGFuZy5vcmcvZ3JwYykpID0g MS43My4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29vZ2xlLmdvbGFuZy5vcmcv Z3JwYy9jbWQvcHJvdG9jLWdlbi1nby1ncnBjKSkgPSAxLjUuMQotCi0jIEJTRC0yLUNsYXVzZToK LVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3BrZy9lcnJvcnMpKSA9 IDAuOS4xCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9ydXNzcm9z cy9ibGFja2ZyaWRheS92MikpID0gMi4xLjAKLQotIyBCU0QtMy1DbGF1c2U6Ci1Qcm92aWRlczog ICAgICAgYnVuZGxlZChnb2xhbmcoZGFyaW8uY2F0L21lcmdvKSkgPSAxLjAuMQotUHJvdmlkZXM6 ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vYW50bHI0LWdvL2FudGxyL3Y0KSkgPSA0 LjEzLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2Nsb3VkZmxh cmUvY2lyY2wpKSA9IDEuNi4xCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHVi LmNvbS9nb2xhbmcvcHJvdG9idWYpKSA9IDEuNS40Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChn b2xhbmcoZ2l0aHViLmNvbS9nb2xhbmcvc25hcHB5KSkgPSAwLjAuNAotUHJvdmlkZXM6ICAgICAg IGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vZ29vZ2xlL3V1aWQpKSA9IDEuNi4wCi1Qcm92aWRl czogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9ncnBjLWdh dGV3YXkvdjIpKSA9IDIuMjcuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1 Yi5jb20vbWFuaWZvbGRjby9wcm9tcHR1aSkpID0gMC45LjAKLVByb3ZpZGVzOiAgICAgICBidW5k bGVkKGdvbGFuZyhnaXRodWIuY29tL21pZWtnL2RucykpID0gMS4xLjYzCi1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9tdW5uZXJ6L2dvYXV0b25lZykpID0gYTdkYzhi NgotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vcGJuamF5L21lbW9y eSkpID0gN2I0ZWVhNgotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20v cG1lemFyZC9nby1kaWZmbGliKSkgPSAxLjAuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29s YW5nKGdpdGh1Yi5jb20vc3BmMTMvcGZsYWcpKSA9IDEuMC43Ci1Qcm92aWRlczogICAgICAgYnVu ZGxlZChnb2xhbmcoZ2l0aHViLmNvbS90YWlsc2NhbGUvdHNjZXJ0KSkgPSBkM2Y4MzQwCi1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L2NyeXB0bykpID0gMC40MC4w Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L2NyeXB0by94NTA5 cm9vdHMvZmFsbGJhY2spKSA9IDQ5YmY1YjgKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFu Zyhnb2xhbmcub3JnL3gvZXhwKSkgPSA3ZTRjZTBhCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChn b2xhbmcoZ29sYW5nLm9yZy94L21vZCkpID0gMC4yNS4wCi1Qcm92aWRlczogICAgICAgYnVuZGxl ZChnb2xhbmcoZ29sYW5nLm9yZy94L25ldCkpID0gMC40Mi4wCi1Qcm92aWRlczogICAgICAgYnVu ZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L29hdXRoMikpID0gMC4zMC4wCi1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L3N5bmMpKSA9IDAuMTYuMAotUHJvdmlkZXM6 ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvbGFuZy5vcmcveC9zeXMpKSA9IDAuMzQuMAotUHJvdmlk ZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvbGFuZy5vcmcveC90ZXJtKSkgPSAwLjMzLjAKLVBy b3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnb2xhbmcub3JnL3gvdGV4dCkpID0gMC4yNy4w Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L3RpbWUpKSA9IDAu MTIuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvbGFuZy5vcmcveC90b29scykp ID0gMC4zNC4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29vZ2xlLmdvbGFuZy5v cmcvYXBpKSkgPSAwLjI0MC4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29vZ2xl LmdvbGFuZy5vcmcvcHJvdG9idWYpKSA9IDEuMzYuNgotCi0jIENDMC0xLjA6Ci1Qcm92aWRlczog ICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS96ZWViby9ibGFrZTMpKSA9IDAuMi40Ci0K LSMgSVNDOgotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vZGF2ZWNn aC9nby1zcGV3KSkgPSAxLjEuMQotCi0jIE1JVDoKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdv bGFuZyhnaXRodWIuY29tL0J1cm50U3VzaGkvdG9tbCkpID0gMS41LjAKLVByb3ZpZGVzOiAgICAg ICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL0tpbU1hY2hpbmVHdW4vYXV0b21lbWxpbWl0KSkg PSAwLjcuNAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vTWFzdGVy bWluZHMvc2VtdmVyL3YzKSkgPSAzLjMuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5n KGdpdGh1Yi5jb20vTWFzdGVybWluZHMvc3ByaWcvdjMpKSA9IDMuMy4wCi1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9NaWNyb3NvZnQvZ28td2luaW8pKSA9IDAuNi4w Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9hbGVjdGhvbWFzL2No cm9tYS92MikpID0gMi4yMC4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHVi LmNvbS9hcnlhbm4vZGlmZmxpYikpID0gZmY1ZmY2ZAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQo Z29sYW5nKGdpdGh1Yi5jb20vYmVvcm43L3BlcmtzKSkgPSAxLjAuMQotUHJvdmlkZXM6ICAgICAg IGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vY2FkZHlzZXJ2ZXIvemVyb3NzbCkpID0gMC4xLjMK LVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2Njb3ZlaWxsZS9nby1z YWZlY2FzdCkpID0gMS42LjEKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIu Y29tL2NlbmthbHRpL2JhY2tvZmYvdjUpKSA9IDUuMC4yCi1Qcm92aWRlczogICAgICAgYnVuZGxl ZChnb2xhbmcoZ2l0aHViLmNvbS9jZXNwYXJlL3h4aGFzaCkpID0gMS4xLjAKLVByb3ZpZGVzOiAg ICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2Nlc3BhcmUveHhoYXNoL3YyKSkgPSAyLjMu MAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vY2h6eWVyL3JlYWRs aW5lKSkgPSAxLjUuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20v Y3B1Z3V5ODMvZ28tbWQybWFuL3YyKSkgPSAyLjAuNwotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQo Z29sYW5nKGdpdGh1Yi5jb20vZGdyeXNraS9nby1mYXJtKSkgPSBhNmFlMjM2Ci1Qcm92aWRlczog ICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9kbGNsYXJrL3JlZ2V4cDIpKSA9IDEuMTEu NQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vZHVzdGluL2dvLWh1 bWFuaXplKSkgPSAxLjAuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5j b20vZmVsaXhnZS9odHRwc25vb3ApKSA9IDEuMC40Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChn b2xhbmcoZ2l0aHViLmNvbS9mcmFuY29pc3BxdC9nb2pheSkpID0gMS4yLjEzCi1Qcm92aWRlczog ICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9meGFtYWNrZXIvY2Jvci92MikpID0gMi44 LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2dvLWNoaS9jaGkv djUpKSA9IDUuMi4yCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9o dWFuZHUveHN0cmluZ3MpKSA9IDEuNS4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmco Z2l0aHViLmNvbS9qYWNrYy9wZ3Bhc3NmaWxlKSkgPSAxLjAuMAotUHJvdmlkZXM6ICAgICAgIGJ1 bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vamFja2MvcGdzZXJ2aWNlZmlsZSkpID0gMDkxYzBiYQot UHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vamFja2MvcGd4L3Y1KSkg PSA1LjYuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vamFja2Mv cHVkZGxlL3YyKSkgPSAyLjIuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1 Yi5jb20va2xhdXNwb3N0L2NwdWlkL3YyKSkgPSAyLjMuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRs ZWQoZ29sYW5nKGdpdGh1Yi5jb20vbGliZG5zL2xpYmRucykpID0gMS4xLjAKLVByb3ZpZGVzOiAg ICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL21hdHRuL2dvLWNvbG9yYWJsZSkpID0gMC4x LjEzCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9tYXR0bi9nby1p c2F0dHkpKSA9IDAuMC4yMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5j b20vbWd1dHovYW5zaSkpID0gZDUxZTgwZQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5n KGdpdGh1Yi5jb20vbWl0Y2hlbGxoL2NvcHlzdHJ1Y3R1cmUpKSA9IDEuMi4wCi1Qcm92aWRlczog ICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9taXRjaGVsbGgvZ28tcHMpKSA9IDEuMC4w Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9taXRjaGVsbGgvcmVm bGVjdHdhbGspKSA9IDEuMC4yCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHVi LmNvbS9xdWljLWdvL3FwYWNrKSkgPSAwLjUuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29s YW5nKGdpdGh1Yi5jb20vcXVpYy1nby9xdWljLWdvKSkgPSAwLjU0LjAKLVByb3ZpZGVzOiAgICAg ICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3JzL3hpZCkpID0gMS42LjAKLVByb3ZpZGVzOiAg ICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3Nob3BzcHJpbmcvZGVjaW1hbCkpID0gMS40 LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3NodXJjb29ML3Nh bml0aXplZF9hbmNob3JfbmFtZSkpID0gMS4wLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdv bGFuZyhnaXRodWIuY29tL3NpcnVwc2VuL2xvZ3J1cykpID0gMS45LjMKLVByb3ZpZGVzOiAgICAg ICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3NsYWNraHEvbmVidWxhKSkgPSAxLjkuNQotUHJv dmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL3BrY3M3KSkg PSAwLjIuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc3BmMTMv Y2FzdCkpID0gMS43LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29t L3N0b2V3ZXIvZ28tc3RyY2FzZSkpID0gMS4yLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdv bGFuZyhnaXRodWIuY29tL3N0cmV0Y2hyL3Rlc3RpZnkpKSA9IDEuMTAuMAotUHJvdmlkZXM6ICAg ICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vdXJmYXZlL2NsaSkpID0gMS4yMi4xNwotUHJv dmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20veDQ0OC9mbG9hdDE2KSkgPSAw LjguNAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20veXVpbi9nb2xk bWFyaykpID0gMS43LjEzCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNv bS95dWluL2dvbGRtYXJrLWhpZ2hsaWdodGluZy92MikpID0gMzc0NDlhYgotUHJvdmlkZXM6ICAg ICAgIGJ1bmRsZWQoZ29sYW5nKGdvLmV0Y2QuaW8vYmJvbHQpKSA9IDEuMy4xMAotUHJvdmlkZXM6 ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvLnViZXIub3JnL2F1dG9tYXhwcm9jcykpID0gMS42LjAK LVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnby51YmVyLm9yZy9tdWx0aWVycikpID0g MS4xMS4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28udWJlci5vcmcvemFwKSkg PSAxLjI3LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnby51YmVyLm9yZy96YXAv ZXhwKSkgPSAwLjMuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvcGtnLmluL25h dGVmaW5jaC9sdW1iZXJqYWNrLnYyKSkgPSAyLjIuMQotCi0jIE1QTC0yLjA6Ci1Qcm92aWRlczog ICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1zcWwtZHJpdmVyL215c3FsKSkgPSAx LjguMQotCi0jIEFwYWNoZS0yLjAgQU5EIEJTRC0yLUNsYXVzZToKLVByb3ZpZGVzOiAgICAgICBi dW5kbGVkKGdvbGFuZyhnby5zdGVwLnNtL2NyeXB0bykpID0gMC42Ny4wCi1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9zbWFsbHN0ZXAvY2xpLXV0aWxzKSkgPSAwLjEy LjEKLQotIyBBcGFjaGUtMi4wIEFORCBCU0QtMy1DbGF1c2U6Ci1Qcm92aWRlczogICAgICAgYnVu ZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1qb3NlL2dvLWpvc2UvdjMpKSA9IDMuMC40Ci1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1qb3NlL2dvLWpvc2UvdjQp KSA9IDQuMC41Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nb29n bGVhcGlzL2dheC1nby92MikpID0gMi4xNC4yCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xh bmcoZ2l0aHViLmNvbS9taG9sdC9hY21lei92MykpID0gMy4xLjIKLVByb3ZpZGVzOiAgICAgICBi dW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3NtYWxsc3RlcC9jZXJ0aWZpY2F0ZXMpKSA9IDAuMjgu NAotCi0jIEFwYWNoZS0yLjAgQU5EIE1JVDoKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFu ZyhnaXRodWIuY29tL2RncmFwaC1pby9yaXN0cmV0dG8pKSA9IDAuMi4wCi1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ29wa2cuaW4veWFtbC52MykpID0gMy4wLjEKLQotIyBCU0QtMS1D bGF1c2UgQU5EIEJTRC0zLUNsYXVzZToKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhm aWxpcHBvLmlvL2Vkd2FyZHMyNTUxOSkpID0gMS4xLjAKLQotIyBCU0QtMi1DbGF1c2UtVmlld3Mg QU5EIEJTRC0zLUNsYXVzZToKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhob3dldHQu bmV0L3BsaXN0KSkgPSAxLjAuMAotCi0jIEJTRC0zLUNsYXVzZSBBTkQgTUlUOgotUHJvdmlkZXM6 ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL3NjZXApKSA9IDhjZjFj YTQKLQotIyBDQzAtMS4wIEFORCBNSVQ6Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmco Z2l0aHViLmNvbS9BbmRyZWFzQnJpZXNlL2JibG9vbSkpID0gNDZiMzQ1YgotCi0jIEFwYWNoZS0y LjAgQU5EIEJTRC0zLUNsYXVzZSBBTkQgTUlUOgotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29s YW5nKGdpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzKSkgPSAxLjE4LjAKLVByb3ZpZGVzOiAg ICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZykp ID0gMS4yMy4wCi0KIAogJWRlc2NyaXB0aW9uCiBDYWRkeSBpcyBhbiBleHRlbnNpYmxlIHNlcnZl ciBwbGF0Zm9ybSB0aGF0IHVzZXMgVExTIGJ5IGRlZmF1bHQuCkBAIC0yMzcsMjQgKzYxLDIxIEBA IENhZGR5IGlzIGFuIGV4dGVuc2libGUgc2VydmVyIHBsYXRmb3JtIHRoYXQgdXNlcyBUTFMgYnkg ZGVmYXVsdC4KIAogJXByZXAKICVhdXRvc2V0dXAgLXAgMSAtYSAxCi1ta2RpciAtcCBzcmMvJChk aXJuYW1lICV7Z29pcGF0aH0pCi1sbiAtcyAkUFdEIHNyYy8le2dvaXBhdGh9CiAKIAogJWJ1aWxk Ci0laWYgJXtkZWZpbmVkIGVsOH0KLWV4cG9ydCBHTzExMU1PRFVMRT1vZmYKLSVlbmRpZgotZXhw b3J0IEdPUEFUSD0kUFdECi1leHBvcnQgTERGTEFHUz0iLVggJXtnb2lwYXRofS5DdXN0b21WZXJz aW9uPXYle3ZlcnNpb259IgotJWdvYnVpbGQgLW8gYmluL2NhZGR5ICV7Z29pcGF0aH0vY21kL2Nh ZGR5CitleHBvcnQgR09fTERGTEFHUz0iLVggZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9jYWRkeS92 Mi5DdXN0b21WZXJzaW9uPXYle3ZlcnNpb259IgorJWdvYnVpbGQgLW8gYmluL2NhZGR5IC4vY21k L2NhZGR5CiAKIAogJWluc3RhbGwKKyMgbGljZW5zZXMKKyVnb192ZW5kb3JfbGljZW5zZV9pbnN0 YWxsIC1jICV7UzoyfQorCiAjIGNvbW1hbmQKIGluc3RhbGwgLUQgLXAgLW0gMDc1NSAtdCAle2J1 aWxkcm9vdH0le19iaW5kaXJ9IGJpbi9jYWRkeQogCi0jIG1hbiBwYWdlcworIyBtYW4gcGFnZQog Li9iaW4vY2FkZHkgbWFucGFnZSAtLWRpcmVjdG9yeSAle2J1aWxkcm9vdH0le19tYW5kaXJ9L21h bjgKIAogIyBjb25maWcKQEAgLTI5NywxMCArMTE4LDEzIEBAIGluc3RhbGwgLWQgLW0gMDc1NSAl e2J1aWxkcm9vdH0le2Zpc2hfY29tcGxldGlvbnNfZGlyfQogIyBlbnN1cmUgdGhhdCB0aGUgdmVy c2lvbiB3YXMgZW1iZWRkZWQgY29ycmVjdGx5CiBbWyAiJCguL2Jpbi9jYWRkeSB2ZXJzaW9uKSIg PT0gInYle3ZlcnNpb259IiBdXSB8fCBleGl0IDEKIAotIyBydW4gdGhlIHVwc3RyZWFtIHRlc3Rz Ci1leHBvcnQgR09QQVRIPSRQV0QKLWNkIHNyYy8le2dvaXBhdGh9Ci0lZ290ZXN0IC4vLi4uCisj IGxpY2Vuc2UgdmFsaWRhdGlvbgorJWdvX3ZlbmRvcl9saWNlbnNlX2NoZWNrIC1jICV7UzoyfQor CisjIHVwc3RyZWFtIHRlc3RzCislaWYgJXt3aXRoIGNoZWNrfQorJWdvY2hlY2syCislZW5kaWYK IAogCiAlcHJlCkBAIC0zNTgsOSArMTgyLDcgQEAgaWYgWyAkMSAtZXEgMCBdOyB0aGVuCiBmaQog CiAKLSVmaWxlcwotJWxpY2Vuc2UgTElDRU5TRQotJWRvYyBSRUFETUUubWQgQVVUSE9SUworJWZp bGVzIC1mICV7Z29fdmVuZG9yX2xpY2Vuc2VfZmlsZWxpc3R9CiAle19iaW5kaXJ9L2NhZGR5CiAl e19tYW5kaXJ9L21hbjgvY2FkZHkqLjgqCiAle19kYXRhZGlyfS9jYWRkeQpAQCAtMzcxLDEzICsx OTMsNiBAQCBmaQogJWNvbmZpZyhub3JlcGxhY2UpICV7X3N5c2NvbmZkaXJ9L2NhZGR5L0NhZGR5 ZmlsZQogJWRpciAle19zeXNjb25mZGlyfS9jYWRkeS9DYWRkeWZpbGUuZAogJWF0dHIoMDc1MCxj YWRkeSxjYWRkeSkgJWRpciAle19zaGFyZWRzdGF0ZWRpcn0vY2FkZHkKLSVpZiAle2RlZmluZWQg ZWw4fQotIyB0aGlzIGlzIG5vcm1hbGx5IG93bmVkIGJ5IGZpbGVzeXN0ZW0KLSVkaXIgJXtfZGF0 YWRpcn0venNoCi0lZGlyICV7X2RhdGFkaXJ9L3pzaC9zaXRlLWZ1bmN0aW9ucwotJWRpciAle19k YXRhZGlyfS9maXNoCi0lZGlyICV7X2RhdGFkaXJ9L2Zpc2gvdmVuZG9yX2NvbXBsZXRpb25zLmQK LSVlbmRpZgogJXtiYXNoX2NvbXBsZXRpb25zX2Rpcn0vY2FkZHkKICV7enNoX2NvbXBsZXRpb25z X2Rpcn0vX2NhZGR5CiAle2Zpc2hfY29tcGxldGlvbnNfZGlyfS9jYWRkeS5maXNoCgpkaWZmIC0t Z2l0IGEvY3JlYXRlLXZlbmRvci10YXJiYWxsLnNoIGIvY3JlYXRlLXZlbmRvci10YXJiYWxsLnNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA4N2JhY2UxLi4wMDAwMDAwCi0tLSBhL2Ny ZWF0ZS12ZW5kb3ItdGFyYmFsbC5zaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLSMh L3Vzci9iaW4vYmFzaAotCi10YWc9JDEKLQotaWYgW1sgLXogJHRhZyBdXTsgdGhlbgotICAgIGVj aG8gIlRoaXMgc2NyaXB0IHJlcXVpcmVzIHRoZSB0YWcgYXMgYW4gYXJndW1lbnQuIgotICAgIGV4 aXQgMQotZmkKLQotc2V0IC1ldW8gcGlwZWZhaWwKLQotUEtHPSJjYWRkeSIKLVJFUE89Imh0dHBz Oi8vZ2l0aHViLmNvbS9jYWRkeXNlcnZlci8kUEtHIgotCi0jIHRyYW5zZm9ybSB0YWcgaW50byB2 ZXJzaW9uCi1jYXNlICR0YWcgaW4KLSAgICAqYmV0YSopCi0gICAgICAgICMgdjIuMC4wLWJldGEu MSAtPiAyLjAuMH5iZXRhMQotICAgICAgICB0ZW1wPSR7dGFnI3Z9Ci0gICAgICAgIHZlcnNpb249 JHt0ZW1wLy1iZXRhLi9+YmV0YX0KLSAgICAgICAgOzsKLSAgICAqcmMqKQotICAgICAgICAjIHYy LjAuMC1yYy4xIC0+IDIuMC4wfnJjMQotICAgICAgICB0ZW1wPSR7dGFnI3Z9Ci0gICAgICAgIHZl cnNpb249JHt0ZW1wLy1yYy4vfnJjfQotICAgICAgICA7OwotICAgICopCi0gICAgICAgICMgdjIu MC4wIC0+IDIuMC4wCi0gICAgICAgIHZlcnNpb249JHt0YWcjdn0KLSAgICAgICAgOzsKLWVzYWMK LQotZWNobyAiVXNpbmcgdGFnOiAkdGFnIgotZWNobyAiVXNpbmcgdmVyc2lvbjogJHZlcnNpb24i Ci0KLWdpdCAtYyBhZHZpY2UuZGV0YWNoZWRIZWFkPWZhbHNlIGNsb25lIC0tYnJhbmNoICR0YWcg LS1kZXB0aCAxICRSRVBPLmdpdCAkUEtHLSR2ZXJzaW9uCi1wdXNoZCAkUEtHLSR2ZXJzaW9uCi1H T1BST1hZPSdodHRwczovL3Byb3h5LmdvbGFuZy5vcmcsZGlyZWN0JyBnbyBtb2QgdmVuZG9yCi1w b3BkCi10YXIgLUMgJFBLRy0kdmVyc2lvbiAtY3pmICRQS0ctJHZlcnNpb24tdmVuZG9yLnRhci5n eiB2ZW5kb3IKCmRpZmYgLS1naXQgYS9nby12ZW5kb3ItdG9vbHMudG9tbCBiL2dvLXZlbmRvci10 b29scy50b21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZjE2MzYKLS0t IC9kZXYvbnVsbAorKysgYi9nby12ZW5kb3ItdG9vbHMudG9tbApAQCAtMCwwICsxLDYwIEBACitb YXJjaGl2ZV0KK3ByZV9jb21tYW5kcyA9IFsKKyAgICAjIHRoaXMgcGF0Y2ggYWRkcyBzb21lIGlt cG9ydCBwYXRocyB0aGF0IHZlbmRvcmluZyBtdXN0IGFjY291bnQgZm9yCisgICAgWyJiYXNoIiwg Ii1jIiwgInBhdGNoIC1wIDEgLWkgJEdWVF9DV0QvMDAwNy1maXgtRmFzdENHSS1zcGxpdC1TQ1JJ UFRfTkFNRS1QQVRIX0lORk8tY29uZnVzaW9uLnBhdGNoIl0sCitdCisKK1thcmNoaXZlLmRlcGVu ZGVuY3lfb3ZlcnJpZGVzXQorIyBDVkUtMjAyNS02NDcwMgorImdpdGh1Yi5jb20vcXVpYy1nby9x dWljLWdvIiA9ICJ2MC41Ny4wIgorCisjIENWRS0yMDI1LTQ3OTEzLCBDVkUtMjAyNi0zOTgyOCwg Q1ZFLTIwMjYtMzk4MjksIGFuZCBDVkUtMjAyNi0zOTgzMAorImdvbGFuZy5vcmcveC9jcnlwdG8i ID0gInYwLjUyLjAiCisKKyMgQ1ZFLTIwMjUtNDQwMDUgYW5kIENWRS0yMDI2LTQwMDk3CisiZ2l0 aHViLmNvbS9zbWFsbHN0ZXAvY2VydGlmaWNhdGVzIiA9ICJ2MC4zMC4wIgorCisjIENWRS0yMDI1 LTY5NzI1CisjIHY1LjIuNCBmaXhlcyB0aGUgQ1ZFLCBidXQgdjUuMi41IGlzIG5lZWRlZCB0byB3 b3JrIHdpdGggb3RoZXIgb3ZlcnJpZGVzCisiZ2l0aHViLmNvbS9nby1jaGkvY2hpL3Y1IiA9ICJ2 NS4yLjUiCisKKyMgQ1ZFLTIwMjYtNTE2MAorImdpdGh1Yi5jb20veXVpbi9nb2xkbWFyay9yZW5k ZXJlci9odG1sIiA9ICJ2MS43LjE3IgorCitbbGljZW5zaW5nXQorZGV0ZWN0b3IgPSAiYXNrYWxv bm8iCisKK1tbbGljZW5zaW5nLmxpY2Vuc2VzXV0KK3BhdGggPSAidmVuZG9yL2dpdGh1Yi5jb20v QW5kcmVhc0JyaWVzZS9iYmxvb20vTElDRU5TRSIKK3NoYTI1NnN1bSA9ICI2ZGQxY2VjOGZlOTY2 OTkwZmJjZGQwMGNhNjRlMDU2MDRjNjZiZDFmYTE1NzNkODYyZGNlYWYxOGNkZTg2OWU0IgorZXhw cmVzc2lvbiA9ICJDQzAtMS4wIEFORCBNSVQiCisKK1tbbGljZW5zaW5nLmxpY2Vuc2VzXV0KK3Bh dGggPSAidmVuZG9yL2dpdGh1Yi5jb20vY2xvdWRmbGFyZS9jaXJjbC9MSUNFTlNFIgorc2hhMjU2 c3VtID0gImIwZGExNzY0ZmU0ZDEzZDYxMGI2OTU1MzZmYzNmMmViYzM2MjQ4MmQwNTNhMWNkMjU4 ZTM2OTc1YmM2Yjk3YTciCitleHByZXNzaW9uID0gIkJTRC0zLUNsYXVzZSIKKworW1tsaWNlbnNp bmcubGljZW5zZXNdXQorcGF0aCA9ICJ2ZW5kb3IvZ2l0aHViLmNvbS9kZ3JhcGgtaW8vcmlzdHJl dHRvL3ovTElDRU5TRSIKK3NoYTI1NnN1bSA9ICIzNDlmZWMyNzExNDQzZTBkYThmMzZlMzg4OTMx ZmRmZTJmODc0ZmRkNGRmMzA3YjlhMzc5ZDAxYmI5NzY0ZGM4IgorZXhwcmVzc2lvbiA9ICJBcGFj aGUtMi4wIEFORCBNSVQiCisKK1tbbGljZW5zaW5nLmxpY2Vuc2VzXV0KK3BhdGggPSAidmVuZG9y L2dpdGh1Yi5jb20vbWlla2cvZG5zL0NPUFlSSUdIVCIKK3NoYTI1NnN1bSA9ICI2NjU1MGMwYWQ1 Y2E3ZWMxZTA4NjgzZTVmODcyY2M0NWM3NDFmMzExZWVlM2I4ZWU0ODQyMDZlY2JmOWM3NDBkIgor ZXhwcmVzc2lvbiA9ICJCU0QtMy1DbGF1c2UiCisKK1tbbGljZW5zaW5nLmxpY2Vuc2VzXV0KK3Bh dGggPSAidmVuZG9yL2dpdGh1Yi5jb20vc2hvcHNwcmluZy9kZWNpbWFsL0xJQ0VOU0UiCitzaGEy NTZzdW0gPSAiYjkyYmEwZjZlZTAyZjIzMDk2MjhiZmRhZGIxMjM2NjhhMTdjMDE2ZTQ3NWJhNDc3 Yjg1N2QzMzQ3MGQ5ZDYyNSIKK2V4cHJlc3Npb24gPSAiTUlUIgorCitbW2xpY2Vuc2luZy5saWNl bnNlc11dCitwYXRoID0gInZlbmRvci9nb3BrZy5pbi95YW1sLnYzL0xJQ0VOU0UiCitzaGEyNTZz dW0gPSAiZDE4ZjYzMjNiNzFiMGI3NjhiYjVlOTYxNmUzNmRhMzkwZmJkMzkzNjlhODE4MDdjY2Ez NTJkZTRlNGU2YWEwYiIKK2V4cHJlc3Npb24gPSAiQXBhY2hlLTIuMCBBTkQgTUlUIgorCitbW2xp Y2Vuc2luZy5saWNlbnNlc11dCitwYXRoID0gInZlbmRvci9ob3dldHQubmV0L3BsaXN0L0xJQ0VO U0UiCitzaGEyNTZzdW0gPSAiMjBkOWI3ZDkzNzIzNjk0ODRlY2FkYWUyMjlkM2UzZWZlZTgwMjli MjU5ZTExYzlhMWIwN2QyZTBhM2M4MmUzOSIKK2V4cHJlc3Npb24gPSAiQlNELTItQ2xhdXNlLVZp ZXdzIEFORCBCU0QtMy1DbGF1c2UiCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5k ZXggODNkOGNiYy4uMWQ2NDI0MCAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBA IC0xLDIgKzEsMiBAQAogU0hBNTEyIChjYWRkeS0yLjEwLjIudGFyLmd6KSA9IDk4NmIxMWUyNmNk YWE0ZmJlNTU0Y2Y3YjZiYjMzMzQwNGZjMzMxOTA5NDVlZjk5NTEyMjUxOGEzZmUyZmU1ODJhNGNm NGQyYThhYjQ2M2UwNDU4NTc2NTBlOWRlYjg4MTIzZjhkODZhOTNkYmRjNDY1NjM1NzU1YjAwMzU2 MjA1Ci1TSEE1MTIgKGNhZGR5LTIuMTAuMi12ZW5kb3IudGFyLmd6KSA9IDhiNGI2M2Y1YjhiYTRi MjllYzAxZGE1NTgyMDIxNGY0YzYzYTFjNTQ1NzU2ODE1ZTI2ZDczYmRjYzNiM2FjNWFhZGE4NjNl ZjMyYWI2ZGI4OThiOTBhOTUwMWMwZWQ2ZTAzZWQ0NGU1MzYxMmNkYjhkODcyYWI4OTQ4MGQ0NjZk CitTSEE1MTIgKGNhZGR5LTIuMTAuMi12ZW5kb3IudGFyLmJ6MikgPSBkMmY2NGFiZWU3MDUwM2I3 MDI2OGMxZjYyNDk3YzkzNjg1MTdlYTFhN2ZmMDczOTc3OTc0ZWJlZTA5NjhjZDIxNjQ5ZmUwMWJm NjkxYmVmMWUzYjBhNjBmNTU5NmFmMjE3ZWJiYjUwZDQyNjM4MzFiYjViN2NiZjhmYTQ2ZDZlZAo=