From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 22721 invoked from network); 6 Nov 2022 22:12:10 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 6 Nov 2022 22:12:10 -0000 Content-Type: multipart/mixed; boundary="===============3827199797466749067==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_sagemath=3A_fix_for_python_3=2E11?= To: ml@inbox.vuxu.org From: tornaria Reply-to: ml@inbox.vuxu.org Message-ID: Date: Sun, 06 Nov 2022 23:12:10 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============3827199797466749067== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHRvcm5hcmlhIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS90b3JuYXJp YS92b2lkLXBhY2thZ2VzIHNhZ2VtYXRoLXVwZGF0ZQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDAzNjkKCnNhZ2VtYXRoOiBmaXggZm9yIHB5dGhvbiAz LjExCjwhLS0gVW5jb21tZW50IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3 aGljaCBhcmUgbm90IGFwcGxpY2FibGUgLS0+DQoNCiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcw0K LSBJIHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqDQoNCldpdGhvdXQgdGhp cyBzYWdlbWF0aCBpcyBjb21wbGV0ZWx5IGJyb2tlbiBvbiBweXRob24gMy4xMSAoYXMgaW46IHdv bid0IGV2ZW4gc3RhcnQpLg0KDQpXaXRoIHRoaXMgSSd2ZSBydW4gdGVzdHMgKG9uIHg4Nl82NCkg Ym90aCBpbiBub3JtYWwgYW5kIGAtLWxvbmdgIG1vZGUsIGFsbCBwYXNzLiBJIGFsc28gaW5zdGFs bGVkIHRoZSBwYWNrYWdlIGFuZCBydW4gZnJvbSBDTEk6DQpgYGANCiQgc2FnZQ0K4pSM4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQDQrilIIgU2FnZU1hdGggdmVyc2lvbiA5Ljcs IFJlbGVhc2UgRGF0ZTogMjAyMi0wOS0xOSAgICAgICAgICAgICAgICAgICAgIOKUgg0K4pSCIFVz aW5nIFB5dGhvbiAzLjExLjAuIFR5cGUgImhlbHAoKSIgZm9yIGhlbHAuICAgICAgICAgICAgICAg ICAgICAgICDilIINCuKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmA0Kc2Fn ZTogMisyDQo0DQpgYGANCg0KQWxsIHBhdGNoZXMgYWRkZWQgaGF2ZSBiZWVuIHN1Ym1pdHRlZCB1 cHN0cmVhbSBzZWUgaHR0cHM6Ly90cmFjLnNhZ2VtYXRoLm9yZy90aWNrZXQvMzM4NDIjY29tbWVu dDo3OS4gSG9wZWZ1bGx5IGV2ZXJ5dGhpbmcgd2lsbCBiZSB1cHN0cmVhbSBpbiBzYWdlbWF0aCA5 LjguDQoNClBpbmcgQGFoZXNmb3JkDQoNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlz IG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0dHBz Oi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJ QlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8 IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3Vy cywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHVi LmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1k I2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVp bGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0 aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0NCiMj IyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkg bmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2Fs bHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxk cyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0K CgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL3B1bGwvNDAzNjkucGF0Y2ggaXMgYXR0YWNoZWQ= --===============3827199797466749067== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-sagemath-update-40369.patch" RnJvbSBjNmI5NGJhMDQzNmFkMTk3YzRmYWQ4Y2Y0ZTQ3ODAyZDRkZDlmZWM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8 dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IFN1biwgNiBOb3YgMjAyMiAxNzozODo1MyAtMDMw MApTdWJqZWN0OiBbUEFUQ0hdIHNhZ2VtYXRoOiBmaXggZm9yIHB5dGhvbiAzLjExCgotLS0KIC4u LmFjLTMzODQyLTAxLXB5dGhvbl8zLjExLWRlMzhiYWMyMWUyLnBhdGNofSB8ICAgNDcgKy0KIC4u Li1weXRob25fMy4xMS1hcmdzcGVjLWZpeC05ZWIwOGYzYWZkZS5wYXRjaCB8ICAxNjggKysrCiAu Li4zLXB5dGhvbjMuMTEtZmluYWxfZml4ZXMtN2I2ZmE1NjVmNDIucGF0Y2ggfCAxMjc5ICsrKysr KysrKysrKysrKysrCiBzcmNwa2dzL3NhZ2VtYXRoL3RlbXBsYXRlICAgICAgICAgICAgICAgICAg ICAgfCAgICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDE0ODIgaW5zZXJ0aW9ucygrKSwgMTQgZGVs ZXRpb25zKC0pCiByZW5hbWUgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3t0cmFjLTMzODQyLXB5 dGhvbi0zLjExLnBhdGNoID0+IHRyYWMtMzM4NDItMDEtcHl0aG9uXzMuMTEtZGUzOGJhYzIxZTIu cGF0Y2h9ICg1MSUpCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVz L3RyYWMtMzM4NDItMDItcHl0aG9uXzMuMTEtYXJnc3BlYy1maXgtOWViMDhmM2FmZGUucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0w My1weXRob24zLjExLWZpbmFsX2ZpeGVzLTdiNmZhNTY1ZjQyLnBhdGNoCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM4NDItcHl0aG9uLTMuMTEucGF0Y2ggYi9z cmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wMS1weXRob25fMy4xMS1kZTM4YmFj MjFlMi5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDUxJQpyZW5hbWUgZnJvbSBzcmNwa2dzL3NhZ2Vt YXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi1weXRob24tMy4xMS5wYXRjaApyZW5hbWUgdG8gc3JjcGtn cy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM4NDItMDEtcHl0aG9uXzMuMTEtZGUzOGJhYzIxZTIu cGF0Y2gKaW5kZXggZWFmZTc2YmZiNzk0Li43MGIxZmVkOTljZTQgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQyLXB5dGhvbi0zLjExLnBhdGNoCisrKyBiL3Ny Y3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQyLTAxLXB5dGhvbl8zLjExLWRlMzhiYWMy MWUyLnBhdGNoCkBAIC0xLDYgKzEsMjAgQEAKK0Zyb20gZGUzOGJhYzIxZTI3NmM2ZGJhOTViOGIz M2Y3NDU3YTBhYzU2YmRlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHRoaWFz IEtvZXBwZSA8bWtvZXBwZUBtYXRoLnVjZGF2aXMuZWR1PgorRGF0ZTogVHVlLCAyNSBPY3QgMjAy MiAxOTo0Mzo1MyAtMDcwMAorU3ViamVjdDogW1BBVENIXSBzcmMvc2FnZTogQXBwbHkgcHl0aG9u LTMuMTEucGF0Y2ggZnJvbQorIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvY29tbWl0LzYyMjlmMzEzNDUwZWNhZTg4NzQzYjRkNWU5OWRhMmVkNGRlNDRlMDcKKwor LS0tCisgc3JjL3NhZ2UvY3B5dGhvbi9jeXRob25fbWV0YWNsYXNzLmggfCAyICstCisgc3JjL3Nh Z2UvbGlicy9nbXAvcHlsb25nLnB5eCAgICAgICAgfCA4ICsrKy0tLS0tCisgc3JjL3NhZ2Uvc3lt Ym9saWMvZ2luYWMvbnVtZXJpYy5jcHAgfCAxIC0KKyAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2NweXRob24v Y3l0aG9uX21ldGFjbGFzcy5oIGIvc3JjL3NhZ2UvY3B5dGhvbi9jeXRob25fbWV0YWNsYXNzLmgK K2luZGV4IGNjNjIwYTRkYWM3Li42NDg3MzQyYjcxZSAxMDA2NDQKIC0tLSBhL3NyYy9zYWdlL2Nw eXRob24vY3l0aG9uX21ldGFjbGFzcy5oCiArKysgYi9zcmMvc2FnZS9jcHl0aG9uL2N5dGhvbl9t ZXRhY2xhc3MuaAotQEAgLTY2LDcgKzY2LDcgQEAKK0BAIC02Niw3ICs2Niw3IEBAIHN0YXRpYyBD WVRIT05fSU5MSU5FIGludCBTYWdlX1B5VHlwZV9SZWFkeShQeVR5cGVPYmplY3QqIHQpCiAgICAg ICAgICB9CiAgCiAgICAgICAgICAvKiBOb3csIHNldCB0Ll9fY2xhc3NfXyB0byBtZXRhY2xhc3Mg Ki8KQEAgLTksMTkgKzIzLDExIEBACiAgICAgICAgICBQeVR5cGVfTW9kaWZpZWQodCk7CiAgICAg IH0KICAgICAgZWxzZQotLS0tIGEvc3JjL3NhZ2Uvc3ltYm9saWMvZ2luYWMvbnVtZXJpYy5jcHAK LSsrKyBiL3NyYy9zYWdlL3N5bWJvbGljL2dpbmFjL251bWVyaWMuY3BwCi1AQCAtNTIsNyArNTIs NiBAQAotICNkZWZpbmUgcmVnaXN0ZXIKLSAjZGVmaW5lIFBZX1NTSVpFX1RfQ0xFQU4KLSAjaW5j bHVkZSA8UHl0aG9uLmg+Ci0tI2luY2x1ZGUgPGxvbmdpbnRyZXByLmg+Ci0gI2luY2x1ZGUgImZs aW50L2ZtcHouaCIKLSAjaW5jbHVkZSAiZmxpbnQvZm1wel9mYWN0b3IuaCIKLSAKK2RpZmYgLS1n aXQgYS9zcmMvc2FnZS9saWJzL2dtcC9weWxvbmcucHl4IGIvc3JjL3NhZ2UvbGlicy9nbXAvcHls b25nLnB5eAoraW5kZXggMzg4YmUzMmM1NWUuLmU3NzJiNjBlM2UwIDEwMDY0NAogLS0tIGEvc3Jj L3NhZ2UvbGlicy9nbXAvcHlsb25nLnB5eAogKysrIGIvc3JjL3NhZ2UvbGlicy9nbXAvcHlsb25n LnB5eAotQEAgLTMyLDcgKzMyLDcgQEAKK0BAIC0zMiw3ICszMiw3IEBAIGZyb20gY3B5dGhvbi5s b25naW50cmVwciBjaW1wb3J0IF9QeUxvbmdfTmV3LCBweV9sb25nLCBkaWdpdCwgUHlMb25nX1NI SUZUCiAgZnJvbSAubXB6IGNpbXBvcnQgKgogIAogIGNkZWYgZXh0ZXJuIGZyb20gKjoKQEAgLTMw LDcgKzM2LDcgQEAKICAgICAgaW50IGhhc2hfYml0cyAiIiIKICAgICAgICAgICNpZmRlZiBfUHlI QVNIX0JJVFMKICAgICAgICAgIF9QeUhBU0hfQklUUyAgICAgICAgIC8qIFB5dGhvbiAzICovCi1A QCAtNTcsMTAgKzU3LDggQEAKK0BAIC01NywxMCArNTcsOCBAQCBjZGVmIG1wel9nZXRfcHlsb25n X2xhcmdlKG1wel9zcmNwdHIgeik6CiAgICAgIG1wel9leHBvcnQoTC5vYl9kaWdpdCwgTlVMTCwK ICAgICAgICAgICAgICAtMSwgc2l6ZW9mKGRpZ2l0KSwgMCwgUHlMb25nX25haWxzLCB6KQogICAg ICBpZiBtcHpfc2duKHopIDwgMDoKQEAgLTQzLDMgKzQ5LDE4IEBACiAgICAgIHJldHVybiBMCiAg CiAgCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uvc3ltYm9saWMvZ2luYWMvbnVtZXJpYy5jcHAgYi9z cmMvc2FnZS9zeW1ib2xpYy9naW5hYy9udW1lcmljLmNwcAoraW5kZXggMjIwNjA0NDE3NjAuLmI0 MGVkNjRlZGI1IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2Uvc3ltYm9saWMvZ2luYWMvbnVtZXJpYy5j cHAKKysrKyBiL3NyYy9zYWdlL3N5bWJvbGljL2dpbmFjL251bWVyaWMuY3BwCitAQCAtNTIsNyAr NTIsNiBAQAorICNkZWZpbmUgcmVnaXN0ZXIKKyAjZGVmaW5lIFBZX1NTSVpFX1RfQ0xFQU4KKyAj aW5jbHVkZSA8UHl0aG9uLmg+CistI2luY2x1ZGUgPGxvbmdpbnRyZXByLmg+CisgI2luY2x1ZGUg ImZsaW50L2ZtcHouaCIKKyAjaW5jbHVkZSAiZmxpbnQvZm1wel9mYWN0b3IuaCIKKyAKKy0tIAor Mi4zOC4xCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQy LTAyLXB5dGhvbl8zLjExLWFyZ3NwZWMtZml4LTllYjA4ZjNhZmRlLnBhdGNoIGIvc3JjcGtncy9z YWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM4NDItMDItcHl0aG9uXzMuMTEtYXJnc3BlYy1maXgtOWVi MDhmM2FmZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4w YmIxZjVmNjhiMGUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMv dHJhYy0zMzg0Mi0wMi1weXRob25fMy4xMS1hcmdzcGVjLWZpeC05ZWIwOGYzYWZkZS5wYXRjaApA QCAtMCwwICsxLDE2OCBAQAorRnJvbSA5ZWIwOGYzYWZkZTMyNjZiYmQ2NjdlMTk2NTEzMjQwYTBm ZTI0NWY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dGhpYXMgS29lcHBlIDxt a29lcHBlQG1hdGgudWNkYXZpcy5lZHU+CitEYXRlOiBUdWUsIDI1IE9jdCAyMDIyIDIyOjUyOjU2 IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGluc3BlY3QuQXJnU3BlYyAtPiBpbnNwZWN0LkZ1bGxB cmdTcGVjCisKKy0tLQorIHNyYy9zYWdlL21pc2MvY2FjaGVmdW5jLnB5eCAgICAgICAgIHwgIDQg KystLQorIHNyYy9zYWdlL21pc2MvZGVjb3JhdG9ycy5weSAgICAgICAgIHwgIDYgKysrKy0tCisg c3JjL3NhZ2UvbWlzYy9mdW5jdGlvbl9tYW5nbGluZy5weXggfCAgMiArLQorIHNyYy9zYWdlL21p c2Mvc2FnZWluc3BlY3QucHkgICAgICAgIHwgMjQgKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisg NCBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL3NyYy9zYWdlL21pc2MvY2FjaGVmdW5jLnB5eCBiL3NyYy9zYWdlL21pc2MvY2Fj aGVmdW5jLnB5eAoraW5kZXggOWZhOTY3Y2U3MzcuLjcyMDQyZWYxM2Q2IDEwMDY0NAorLS0tIGEv c3JjL3NhZ2UvbWlzYy9jYWNoZWZ1bmMucHl4CisrKysgYi9zcmMvc2FnZS9taXNjL2NhY2hlZnVu Yy5weXgKK0BAIC0yODE4LDcgKzI4MTgsNyBAQCBjZGVmIGNsYXNzIENhY2hlZE1ldGhvZCgpOgor ICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgICAgICAgICAg cGFzcworICAgICAgICAgICAgIGlmIHNlbGYubmFyZ3MgPT0gMDoKKy0gICAgICAgICAgICAgICAg YXJncywgdmFyYXJncywga2V5d29yZHMsIGRlZmF1bHRzID0gc2FnZV9nZXRhcmdzcGVjKGYpCisr ICAgICAgICAgICAgICAgIGFyZ3MsIHZhcmFyZ3MsIGtleXdvcmRzLCBkZWZhdWx0cywga3dvbmx5 YXJncywga3dvbmx5ZGVmYXVsdHMsIGFubm90YXRpb25zID0gc2FnZV9nZXRhcmdzcGVjKGYpCisg ICAgICAgICAgICAgICAgIGlmIHZhcmFyZ3MgaXMgTm9uZSBhbmQga2V5d29yZHMgaXMgTm9uZSBh bmQgbGVuKGFyZ3MpPD0xOgorICAgICAgICAgICAgICAgICAgICAgc2VsZi5uYXJncyA9IDEKKyAg ICAgICAgICAgICAgICAgZWxzZToKK0BAIC0yOTU0LDcgKzI5NTQsNyBAQCBjZGVmIGNsYXNzIENh Y2hlZFNwZWNpYWxNZXRob2QoQ2FjaGVkTWV0aG9kKToKKyAgICAgICAgICMgd2UgbmVlZCB0byBh bmFseXNlIHRoZSBhcmdzcGVjCisgICAgICAgICBmID0gc2VsZi5fY2FjaGVkZnVuYy5mCisgICAg ICAgICBpZiBzZWxmLm5hcmdzID09IDA6CistICAgICAgICAgICAgYXJncywgdmFyYXJncywga2V5 d29yZHMsIGRlZmF1bHRzID0gc2FnZV9nZXRhcmdzcGVjKGYpCisrICAgICAgICAgICAgYXJncywg dmFyYXJncywga2V5d29yZHMsIGRlZmF1bHRzLCBrd29ubHlhcmdzLCBrd29ubHlkZWZhdWx0cywg YW5ub3RhdGlvbnMgPSBzYWdlX2dldGFyZ3NwZWMoZikKKyAgICAgICAgICAgICBpZiB2YXJhcmdz IGlzIE5vbmUgYW5kIGtleXdvcmRzIGlzIE5vbmUgYW5kIGxlbihhcmdzKTw9MToKKyAgICAgICAg ICAgICAgICAgc2VsZi5uYXJncyA9IDEKKyAgICAgICAgICAgICAgICAgQ2FsbGVyID0gQ2FjaGVk TWV0aG9kQ2FsbGVyTm9BcmdzKGluc3QsIGYsIG5hbWU9bmFtZSwgZG9fcGlja2xlPXNlbGYuX2Nh Y2hlZGZ1bmMuZG9fcGlja2xlKQorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21pc2MvZGVjb3JhdG9y cy5weSBiL3NyYy9zYWdlL21pc2MvZGVjb3JhdG9ycy5weQoraW5kZXggMjhjNTI0NDg4MTMuLjMx MWE1MTA1NzM5IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5CisrKysg Yi9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkKK0BAIC0zMiw3ICszMiw4IEBAIGZyb20gY29w eSBpbXBvcnQgY29weQorIAorIGZyb20gc2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCAoc2Fn ZV9nZXRzb3VyY2UsIHNhZ2VfZ2V0c291cmNlbGluZXMsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzYWdlX2dldGFyZ3NwZWMpCistZnJvbSBpbnNwZWN0IGltcG9ydCBBcmdT cGVjCisrCisrZnJvbSBpbnNwZWN0IGltcG9ydCBGdWxsQXJnU3BlYworIAorIAorIGRlZiBzYWdl X3dyYXBzKHdyYXBwZWQsIGFzc2lnbmVkPVdSQVBQRVJfQVNTSUdOTUVOVFMsIHVwZGF0ZWQ9V1JB UFBFUl9VUERBVEVTKToKK0BAIC00OTksNyArNTAwLDggQEAgY2xhc3Mgb3B0aW9ucygpOgorICAg ICAgICAgICAgICAgICAgICAgbGlzdChzZWxmLm9wdGlvbnMpKQorICAgICAgICAgICAgIGRlZmF1 bHRzID0gKGFyZ3NwZWMuZGVmYXVsdHMgb3IgKCkpICsgdHVwbGUoc2VsZi5vcHRpb25zLnZhbHVl cygpKQorICAgICAgICAgICAgICMgTm90ZTogYXJnc3BlYy5kZWZhdWx0cyBpcyBub3QgYWx3YXlz IGEgdHVwbGUgZm9yIHNvbWUgcmVhc29uCistICAgICAgICAgICAgcmV0dXJuIEFyZ1NwZWMoYXJn cywgYXJnc3BlYy52YXJhcmdzLCBhcmdzcGVjLmtleXdvcmRzLCBkZWZhdWx0cykKKysgICAgICAg ICAgICByZXR1cm4gRnVsbEFyZ1NwZWMoYXJncywgYXJnc3BlYy52YXJhcmdzLCBhcmdzcGVjLmtl eXdvcmRzLCBkZWZhdWx0cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5 YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9e30sIGFubm90YXRpb25zPXt9KQorIAorICAgICAgICAg d3JhcHBlci5fc2FnZV9hcmdzcGVjXyA9IGFyZ3NwZWMKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2Fn ZS9taXNjL2Z1bmN0aW9uX21hbmdsaW5nLnB5eCBiL3NyYy9zYWdlL21pc2MvZnVuY3Rpb25fbWFu Z2xpbmcucHl4CitpbmRleCAwYWMwM2NmMDcxNS4uZTFiYjc5Nzg5NTMgMTAwNjQ0CistLS0gYS9z cmMvc2FnZS9taXNjL2Z1bmN0aW9uX21hbmdsaW5nLnB5eAorKysrIGIvc3JjL3NhZ2UvbWlzYy9m dW5jdGlvbl9tYW5nbGluZy5weXgKK0BAIC0xMTYsNyArMTE2LDcgQEAgY2RlZiBjbGFzcyBBcmd1 bWVudEZpeGVyOgorICAgICAiIiIKKyAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGYsIGNsYXNzbWV0 aG9kID0gRmFsc2UpOgorICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIGFyZ19uYW1lcywgdmFy YXJncywgdmFya3csIGRlZmF1bHRzID0gc2FnZV9nZXRhcmdzcGVjKGYpCisrICAgICAgICAgICAg YXJnX25hbWVzLCB2YXJhcmdzLCB2YXJrdywgZGVmYXVsdHMsIGt3b25seWFyZ3MsIGt3b25seWRl ZmF1bHRzLCBhbm5vdGF0aW9ucyA9IHNhZ2VfZ2V0YXJnc3BlYyhmKQorICAgICAgICAgZXhjZXB0 IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgICMgVGhpcyBlcnJvciBvY2N1cnMgaWYgZiBp cyBkZWZpbmVkIGluIGEgQ3l0aG9uIGZpbGUgYW5kIHRoZQorICAgICAgICAgICAgICMgc291cmNl IGZpbGUgaGFzIGdvbmUuCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWlzYy9zYWdlaW5zcGVjdC5w eSBiL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkKK2luZGV4IGZiY2EyZGVmYzIwLi5hMzgy MWNiNTZiOSAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkKKysrKyBi L3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkKK0BAIC0zNTksNyArMzU5LDcgQEAgZGVmIF9l eHRyYWN0X2VtYmVkZGVkX3NpZ25hdHVyZShkb2NzdHJpbmcsIG5hbWUpOgorICAgICAgICAgZG9j c3RyaW5nID0gTFsxXSBpZiBsZW4oTCkgPiAxIGVsc2UgJycgICMgUmVtb3ZlIGZpcnN0IGxpbmUs IGtlZXAgdGhlIHJlc3QKKyAgICAgICAgIGRlZl9zdHJpbmcgPSAiZGVmICIgKyBuYW1lICsgc2ln bmF0dXJlICsgIjogcGFzcyIKKyAgICAgICAgIHRyeToKKy0gICAgICAgICAgICByZXR1cm4gZG9j c3RyaW5nLCBpbnNwZWN0LkFyZ1NwZWMoKl9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKGRlZl9zdHJp bmcpKQorKyAgICAgICAgICAgIHJldHVybiBkb2NzdHJpbmcsIGluc3BlY3QuRnVsbEFyZ1NwZWMo Kl9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKGRlZl9zdHJpbmcpKQorICAgICAgICAgZXhjZXB0IFN5 bnRheEVycm9yOgorICAgICAgICAgICAgIGRvY3N0cmluZyA9IG9zLmxpbmVzZXAuam9pbihMKQor ICAgICByZXR1cm4gZG9jc3RyaW5nLCBOb25lCitAQCAtMTEzNSw4ICsxMTM1LDkgQEAgZGVmIF9z YWdlX2dldGFyZ3NwZWNfZnJvbV9hc3Qoc291cmNlKToKKyAgICAgdmFyYXJnID0gZ2V0YXR0cihh c3RfYXJncy52YXJhcmcsICdhcmcnLCBOb25lKQorICAgICBrd2FyZyA9IGdldGF0dHIoYXN0X2Fy Z3Mua3dhcmcsICdhcmcnLCBOb25lKQorIAorLSAgICByZXR1cm4gaW5zcGVjdC5BcmdTcGVjKGFy Z3MsIHZhcmFyZywga3dhcmcsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVwbGUoZGVm YXVsdHMpIGlmIGRlZmF1bHRzIGVsc2UgTm9uZSkKKysgICAgcmV0dXJuIGluc3BlY3QuRnVsbEFy Z1NwZWMoYXJncywgdmFyYXJnLCBrd2FyZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdHVwbGUoZGVmYXVsdHMpIGlmIGRlZmF1bHRzIGVsc2UgTm9uZSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9e30sIGFubm90 YXRpb25zPXt9KQorIAorIAorIGRlZiBfc2FnZV9nZXRhcmdzcGVjX2N5dGhvbihzb3VyY2UpOgor QEAgLTExNTIsNyArMTE1Myw3IEBAIGRlZiBfc2FnZV9nZXRhcmdzcGVjX2N5dGhvbihzb3VyY2Up OgorIAorICAgICBPVVRQVVQ6CisgCistICAgIC0gYW4gaW5zdGFuY2Ugb2YgOm9iajpgaW5zcGVj dC5BcmdTcGVjYCwgaS5lLiwgYSBuYW1lZCB0dXBsZQorKyAgICAtIGFuIGluc3RhbmNlIG9mIDpj bGFzczpgaW5zcGVjdC5GdWxsQXJnU3BlY2AsIGkuZS4sIGEgbmFtZWQgdHVwbGUKKyAKKyAgICAg RVhBTVBMRVM6OgorIAorQEAgLTE2NjIsMTEgKzE2NjMsMTEgQEAgZGVmIHNhZ2VfZ2V0YXJnc3Bl YyhvYmopOgorICAgICAgICAgcmV0dXJuIHNhZ2VfZ2V0YXJnc3BlYyhvYmouX19jYWxsX18pCisg ICAgIGlmIGlzaW5zdGFuY2Uob2JqLCAobGF6eV9hdHRyaWJ1dGUsIEFic3RyYWN0TWV0aG9kKSk6 CisgICAgICAgICBzb3VyY2UgPSBzYWdlX2dldHNvdXJjZShvYmopCistICAgICAgICByZXR1cm4g aW5zcGVjdC5BcmdTcGVjKCpfc2FnZV9nZXRhcmdzcGVjX2N5dGhvbihzb3VyY2UpKQorKyAgICAg ICAgcmV0dXJuIGluc3BlY3QuRnVsbEFyZ1NwZWMoKl9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNv dXJjZSkpCisgICAgIGlmIG5vdCBjYWxsYWJsZShvYmopOgorICAgICAgICAgcmFpc2UgVHlwZUVy cm9yKCJvYmogaXMgbm90IGEgY29kZSBvYmplY3QiKQorICAgICB0cnk6CistICAgICAgICByZXR1 cm4gaW5zcGVjdC5BcmdTcGVjKCpvYmouX3NhZ2VfYXJnc3BlY18oKSkKKysgICAgICAgIHJldHVy biBpbnNwZWN0LkZ1bGxBcmdTcGVjKCpvYmouX3NhZ2VfYXJnc3BlY18oKSkKKyAgICAgZXhjZXB0 IChBdHRyaWJ1dGVFcnJvciwgVHlwZUVycm9yKToKKyAgICAgICAgIHBhc3MKKyAgICAgIyBJZiB3 ZSBhcmUgbHVja3ksIHRoZSBmdW5jdGlvbiBzaWduYXR1cmUgaXMgZW1iZWRkZWQgaW4gdGhlIGRv Y3N0cmluZy4KK0BAIC0xNjgyLDcgKzE2ODMsNyBAQCBkZWYgc2FnZV9nZXRhcmdzcGVjKG9iaik6 CisgICAgICAgICAjIE5vdGUgdGhhdCB0aGlzIG1heSBnaXZlIGEgd3JvbmcgcmVzdWx0IGZvciB0 aGUgY29uc3RhbnRzIQorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIGFyZ3MsIHZhcmFyZ3Ms IHZhcmt3ID0gaW5zcGVjdC5nZXRhcmdzKG9iai5fX2NvZGVfXykKKy0gICAgICAgICAgICByZXR1 cm4gaW5zcGVjdC5BcmdTcGVjKGFyZ3MsIHZhcmFyZ3MsIHZhcmt3LCBvYmouX19kZWZhdWx0c19f KQorKyAgICAgICAgICAgIHJldHVybiBpbnNwZWN0LkZ1bGxBcmdTcGVjKGFyZ3MsIHZhcmFyZ3Ms IHZhcmt3LCBvYmouX19kZWZhdWx0c19fKQorICAgICAgICAgZXhjZXB0IChUeXBlRXJyb3IsIEF0 dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgICBwYXNzCisgICAgIGlmIGlzY2xhc3NpbnN0YW5j ZShvYmopOgorQEAgLTE3MTcsNyArMTcxOCw3IEBAIGRlZiBzYWdlX2dldGFyZ3NwZWMob2JqKToK KyAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6ICMgaGFwcGVucyBmb3IgUHl0aG9uIGJ1aWx0aW5z CisgICAgICAgICAgICAgc291cmNlID0gJycKKyAgICAgICAgIGlmIHNvdXJjZToKKy0gICAgICAg ICAgICByZXR1cm4gaW5zcGVjdC5BcmdTcGVjKCpfc2FnZV9nZXRhcmdzcGVjX2N5dGhvbihzb3Vy Y2UpKQorKyAgICAgICAgICAgIHJldHVybiBpbnNwZWN0LkZ1bGxBcmdTcGVjKCpfc2FnZV9nZXRh cmdzcGVjX2N5dGhvbihzb3VyY2UpKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBmdW5j X29iaiA9IG9iagorIAorQEAgLTE3MzAsNyArMTczMSw3IEBAIGRlZiBzYWdlX2dldGFyZ3NwZWMo b2JqKToKKyAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6ICMgYXJnIGlzIG5vdCBhIGNvZGUgb2Jq ZWN0CisgICAgICAgICAgICAgIyBUaGUgYWJvdmUgImhvcGVmdWxseSIgd2FzIHdpc2hmdWwgdGhp bmtpbmc6CisgICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICByZXR1cm4gaW5zcGVj dC5BcmdTcGVjKCpfc2FnZV9nZXRhcmdzcGVjX2N5dGhvbihzYWdlX2dldHNvdXJjZShvYmopKSkK KysgICAgICAgICAgICAgICAgcmV0dXJuIGluc3BlY3QuRnVsbEFyZ1NwZWMoKl9zYWdlX2dldGFy Z3NwZWNfY3l0aG9uKHNhZ2VfZ2V0c291cmNlKG9iaikpKQorICAgICAgICAgICAgIGV4Y2VwdCBU eXBlRXJyb3I6ICMgVGhpcyBoYXBwZW5zIGZvciBQeXRob24gYnVpbHRpbnMKKyAgICAgICAgICAg ICAgICAgIyBUaGUgYmVzdCB3ZSBjYW4gZG8gaXMgdG8gcmV0dXJuIGEgZ2VuZXJpYyBhcmdzcGVj CisgICAgICAgICAgICAgICAgIGFyZ3MgPSBbXQorQEAgLTE3NDAsNyArMTc0MSw4IEBAIGRlZiBz YWdlX2dldGFyZ3NwZWMob2JqKToKKyAgICAgICAgIGRlZmF1bHRzID0gZnVuY19vYmouX19kZWZh dWx0c19fCisgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgIGRlZmF1bHRzID0g Tm9uZQorLSAgICByZXR1cm4gaW5zcGVjdC5BcmdTcGVjKGFyZ3MsIHZhcmFyZ3MsIHZhcmt3LCBk ZWZhdWx0cykKKysgICAgcmV0dXJuIGluc3BlY3QuRnVsbEFyZ1NwZWMoYXJncywgdmFyYXJncywg dmFya3csIGRlZmF1bHRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlh cmdzPVtdLCBrd29ubHlkZWZhdWx0cz17fSwgYW5ub3RhdGlvbnM9e30pCisgCisgCisgZGVmIGZv cm1hdGFubm90YXRpb24oYW5ub3RhdGlvbiwgYmFzZV9tb2R1bGU9Tm9uZSk6CitAQCAtMTgxMSw3 ICsxODEzLDcgQEAgZGVmIHNhZ2VfZm9ybWF0YXJnc3BlYyhhcmdzLCB2YXJhcmdzPU5vbmUsIHZh cmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsCisgICAgIDpmdW5jOmBzYWdlX2dldGFyZ3NwZWNgLiBT aW5jZSA6ZnVuYzpgc2FnZV9nZXRhcmdzcGVjYCB3b3JrcyBmb3IKKyAgICAgQ3l0aG9uIGZ1bmN0 aW9ucyB3aGlsZSBQeXRob24ncyBpbnNwZWN0IG1vZHVsZSBkb2VzIG5vdCwgaXQgbWFrZXMKKyAg ICAgc2Vuc2UgdG8ga2VlcCB0aGlzIGZ1bmN0aW9uIGZvciBmb3JtYXR0aW5nIGluc3RhbmNlcyBv ZgorLSAgICBgYGluc3BlY3QuQXJnU3BlY2BgLgorKyAgICBgYGluc3BlY3QuRnVsbEFyZ1NwZWNg YC4KKyAKKyAgICAgRVhBTVBMRVM6OgorIAorLS0gCisyLjM4LjEKKwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM4NDItMDMtcHl0aG9uMy4xMS1maW5hbF9maXhl cy03YjZmYTU2NWY0Mi5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQy LTAzLXB5dGhvbjMuMTEtZmluYWxfZml4ZXMtN2I2ZmE1NjVmNDIucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jZDJmYTExNjIyYzMKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wMy1weXRob24zLjExLWZp bmFsX2ZpeGVzLTdiNmZhNTY1ZjQyLnBhdGNoCkBAIC0wLDAgKzEsMTI3OSBAQAorRnJvbSA4OTU1 NjA3YzcxY2I5NGU0YTgxMGI4OWYxMTNiN2IyMjBhMzUxNDE3IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlh QGNtYXQuZWR1LnV5PgorRGF0ZTogU3VuLCA2IE5vdiAyMDIyIDExOjI2OjEwIC0wMzAwCitTdWJq ZWN0OiBbUEFUQ0ggMDEvMTFdIGRpY3RfZGVsX2J5X3ZhbHVlOiBtb3ZlIHB5dGhvbiBpbnRlcm5h bCBkZWZpbml0aW9ucyB0bworIGEgc2VwYXJhdGUgZmlsZQorCistLS0KKyBzcmMvc2FnZS9jcHl0 aG9uL2RpY3RfZGVsX2J5X3ZhbHVlLnB5eCB8IDE1MyArKysrKysrKy0tLS0tLS0tLS0tLS0tLQor IHNyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oICAgICAgIHwgMTY1ICsrKysrKysrKysr KysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDIxNCBpbnNlcnRpb25zKCspLCAxMDQg ZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9zYWdlL2NweXRob24vZGljdF9p bnRlcm5hbC5oCisKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9jcHl0aG9uL2RpY3RfZGVsX2J5X3Zh bHVlLnB5eCBiL3NyYy9zYWdlL2NweXRob24vZGljdF9kZWxfYnlfdmFsdWUucHl4CitpbmRleCA0 ODhiZjljODRjYy4uMzg5NDU1NGMxM2QgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9jcHl0aG9uL2Rp Y3RfZGVsX2J5X3ZhbHVlLnB5eAorKysrIGIvc3JjL3NhZ2UvY3B5dGhvbi9kaWN0X2RlbF9ieV92 YWx1ZS5weXgKK0BAIC0xOSwxMyArMTksOCBAQCBBVVRIT1JTOgorICMgICAgICAgICAgICAgICAg ICBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLworICMgKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgor IAorLWltcG9ydCB3ZWFrcmVmCistZnJvbSB3ZWFrcmVmIGltcG9ydCBLZXllZFJlZgorLQorIGZy b20gY3B5dGhvbi5saXN0IGNpbXBvcnQgUHlMaXN0X05ldworLWZyb20gY3B5dGhvbiBjaW1wb3J0 IFB5X1hJTkNSRUYsIFB5X1hERUNSRUYKKyAKKy1mcm9tIGxpYmMuc3RkaW50IGNpbXBvcnQgaW50 OF90LCBpbnQxNl90LCBpbnQzMl90LCBpbnQ2NF90CisgY2RlZiBleHRlcm4gZnJvbSAiUHl0aG9u LmgiOgorICAgICBjdHlwZWRlZiBzdHJ1Y3QgUHlEaWN0S2V5c09iamVjdAorIAorQEAgLTM0LDk5 ICsyOSw0NyBAQCBjZGVmIGV4dGVybiBmcm9tICJQeXRob24uaCI6CisgICAgICAgICBQeURpY3RL ZXlzT2JqZWN0ICogbWFfa2V5cworICAgICAgICAgUHlPYmplY3QgKiogbWFfdmFsdWVzCisgCist ICAgICN3ZSBuZWVkIHRoaXMgcmVkZWZpbml0aW9uIGJlY2F1c2Ugd2Ugd2FudCB0byBiZSBhYmxl IHRvIGNhbGwKKy0gICAgI1B5V2Vha3JlZl9HZXRPYmplY3Qgd2l0aCBib3Jyb3dlZCByZWZlcmVu Y2VzLiBUaGlzIGlzIHRoZSByZWNvbW1lbmRlZAorLSAgICAjc3RyYXRlZ3kgYWNjb3JkaW5nIHRv IEN5dGhvbi9JbmNsdWRlcy9jcHl0aG9uL19faW5pdF9fLnB4ZAorLSAgICBQeU9iamVjdCogUHlX ZWFrcmVmX0dldE9iamVjdChQeU9iamVjdCAqIHdyKQorICAgICBpbnQgUHlMaXN0X1NldEl0ZW0o b2JqZWN0IGxpc3QsIFB5X3NzaXplX3QgaW5kZXgsIFB5T2JqZWN0ICogaXRlbSkgZXhjZXB0IC0x CistICAgIGludCBQeVdlYWtyZWZfQ2hlY2soUHlPYmplY3QgKiBvYikKKy0jIyMjCistI2RlZmlu aXRpb25zIHJlcGxpY2F0ZWQgZnJvbSBDUHl0aG9uJ3MgT2JqZWN0cy9kaWN0LWNvbW1vbi5oCist Iyh0aGlzIGZpbGUgaXMgbm90IGV4cG9ydGVkIGZyb20gQ1B5dGhvbiwgc28gd2UgbmVlZCB0byBi ZQorLSNjYXJlZnVsIHRoZSBkZWZpbml0aW9ucyBhcmUgaW4gc3RlcCB3aXRoIHdoYXQgaGFwcGVu cyB0aGVyZS4KKy0KKy1jdHlwZWRlZiB2b2lkKiBkaWN0X2xvb2t1cF9mdW5jICAjIFByZWNpc2Ug ZGVmaW5pdGlvbiBub3QgbmVlZGVkCistCistY3R5cGVkZWYgdW5pb24gSW5kZXhCbG9jazoKKy0g ICAgaW50OF90IGFzXzFbOF0KKy0gICAgaW50MTZfdCBhc18yWzRdCistICAgIGludDMyX3QgYXNf NFsyXQorLSAgICBpbnQ2NF90IGFzXzhbMV0KKy0KKy1jdHlwZWRlZiBzdHJ1Y3QgTXlQeURpY3RL ZXlzT2JqZWN0OgorLSAgICBQeV9zc2l6ZV90IGRrX3JlZmNudAorLSAgICBQeV9zc2l6ZV90IGRr X3NpemUKKy0gICAgZGljdF9sb29rdXBfZnVuYyBka19sb29rdXAKKy0gICAgUHlfc3NpemVfdCBk a191c2FibGUKKy0gICAgUHlfc3NpemVfdCBka19uZW50cmllcworLSAgICBJbmRleEJsb2NrIGRr X2luZGljZXMKKy0KKy1jdHlwZWRlZiBzdHJ1Y3QgUHlEaWN0S2V5RW50cnk6CistICAgIFB5X2hh c2hfdCBtZV9oYXNoCistICAgIFB5T2JqZWN0ICogbWVfa2V5CistICAgIFB5T2JqZWN0ICogbWVf dmFsdWUKKy0KKy1jZGVmIFB5X3NzaXplX3QgREtJWF9FTVBUWSA9IC0xCistY2RlZiBQeV9zc2l6 ZV90IERLSVhfRFVNTVkgPSAtMgorLWNkZWYgUHlfc3NpemVfdCBES0lYX0VSUk9SID0gLTMKKy0K Ky0jIyMjIworLSNUaGVzZSByb3V0aW5lcyBhcmUgY29waWVkIGZyb20gQ1B5dGhvbidzIE9iamVj dC9kaWN0b2JqZWN0LmMKKy0jaW4gb3JkZXIgdG8gYWNjZXNzIFB5RGljdEtleXNPYmplY3QgZmll bGRzCistCistY2RlZiBpbmxpbmUgaW50IERLX0lYU0laRShNeVB5RGljdEtleXNPYmplY3QgKmtl eXMpOgorLSAgICBjZGVmIFB5X3NzaXplX3QgcyA9IGtleXMuZGtfc2l6ZQorLSAgICBpZiBzIDw9 IDB4ZmY6CistICAgICAgICByZXR1cm4gMQorLSAgICBlbGlmIHMgPD0gMHhmZmZmOgorLSAgICAg ICAgcmV0dXJuIDIKKy0gICAgZWxpZiBzIDw9IDB4ZmZmZmZmZmY6CistICAgICAgICByZXR1cm4g NAorLSAgICBlbHNlOgorLSAgICAgICAgcmV0dXJuIDgKKy0KKy1jZGVmIGlubGluZSBQeURpY3RL ZXlFbnRyeSAqIERLX0VOVFJJRVMoTXlQeURpY3RLZXlzT2JqZWN0ICprZXlzKToKKy0gICAgcmV0 dXJuIDxQeURpY3RLZXlFbnRyeSo+ICYoa2V5cy5ka19pbmRpY2VzLmFzXzFba2V5cy5ka19zaXpl ICogREtfSVhTSVpFKGtleXMpXSkKKy0KKy1jZGVmIGlubGluZSBQeV9zc2l6ZV90IGRrX2dldF9p bmRleChNeVB5RGljdEtleXNPYmplY3QgKmtleXMsIFB5X3NzaXplX3QgaSk6CistICAgIGNkZWYg UHlfc3NpemVfdCBzID0ga2V5cy5ka19zaXplCistICAgIGlmIHMgPD0gMHhmZjoKKy0gICAgICAg IHJldHVybiBrZXlzLmRrX2luZGljZXMuYXNfMVtpXQorLSAgICBlbGlmIHMgPD0gMHhmZmZmOgor LSAgICAgICAgcmV0dXJuIGtleXMuZGtfaW5kaWNlcy5hc18yW2ldCistICAgIGVsaWYgcyA8PSAw eGZmZmZmZmZmOgorLSAgICAgICAgcmV0dXJuIGtleXMuZGtfaW5kaWNlcy5hc180W2ldCistICAg IGVsc2U6CistICAgICAgICByZXR1cm4ga2V5cy5ka19pbmRpY2VzLmFzXzhbaV0KKy0KKy1jZGVm IGlubGluZSB2b2lkIGRrX3NldF9pbmRleChNeVB5RGljdEtleXNPYmplY3QgKmtleXMsIFB5X3Nz aXplX3QgaSwgUHlfc3NpemVfdCBpeCk6CistICAgIGNkZWYgUHlfc3NpemVfdCBzID0ga2V5cy5k a19zaXplCistICAgIGlmIHMgPD0gMHhmZjoKKy0gICAgICAgIGtleXMuZGtfaW5kaWNlcy5hc18x W2ldID0gaXgKKy0gICAgZWxpZiBzIDw9IDB4ZmZmZjoKKy0gICAgICAgIGtleXMuZGtfaW5kaWNl cy5hc18yW2ldID0gaXgKKy0gICAgZWxpZiBzIDw9IDB4ZmZmZmZmZmY6CistICAgICAgICBrZXlz LmRrX2luZGljZXMuYXNfNFtpXSA9IGl4CistICAgIGVsc2U6CistICAgICAgICBrZXlzLmRrX2lu ZGljZXMuYXNfOFtpXSA9IGl4CistCistI0VuZCBvZiByZXBsaWNhdGlvbiBvZiBPYmplY3QvZGlj dG9iamVjdC5jCistIyMjIyMjCistCistY2RlZiBkaWN0X2xvb2t1cF9mdW5jIGxvb2tkaWN0Cist CistY2RlZiBkaWN0X2xvb2t1cF9mdW5jIERLX0xPT0tVUChQeURpY3RPYmplY3QgKm1wKToKKy0g ICAgcmV0dXJuICg8TXlQeURpY3RLZXlzT2JqZWN0ICo+KG1wLm1hX2tleXMpKS5ka19sb29rdXAK Ky0KKy1kZWYgaW5pdF9sb29rZGljdCgpOgorLSAgICBnbG9iYWwgbG9va2RpY3QKKy0gICAgIyBB IGRpY3Qgd2hpY2ggYSBub24tc3RyaW5nIGtleSB1c2VzIHRoZSBnZW5lcmljICJsb29rZGljdCIK Ky0gICAgIyBhcyBsb29rdXAgZnVuY3Rpb24KKy0gICAgY2RlZiBvYmplY3QgRCA9IHt9CistICAg IERbMF0gPSAwCistICAgIGxvb2tkaWN0ID0gREtfTE9PS1VQKDxQeURpY3RPYmplY3QgKj5EKQor LQorLWluaXRfbG9va2RpY3QoKQorKworK2NkZWYgZXh0ZXJuIGZyb20gImRpY3RfaW50ZXJuYWwu aCI6CisrICAgIFB5X3NzaXplX3QgREtfTUFTSyhQeURpY3RLZXlzT2JqZWN0ICopCisrICAgIFB5 RGljdEtleUVudHJ5ICogREtfRU5UUklFUyhQeURpY3RLZXlzT2JqZWN0ICprZXlzKQorKworKyAg ICBQeV9zc2l6ZV90IGRpY3RrZXlzX2dldF9pbmRleCAoUHlEaWN0S2V5c09iamVjdCAqa2V5cywg UHlfc3NpemVfdCBpKQorKyAgICB2b2lkIGRpY3RrZXlzX3NldF9pbmRleCAoUHlEaWN0S2V5c09i amVjdCAqa2V5cywgUHlfc3NpemVfdCBpLCBQeV9zc2l6ZV90IGl4KQorKworKyAgICBQeV9zc2l6 ZV90IERLSVhfRU1QVFksIERLSVhfRFVNTVkKKysgICAgaW50IFBFUlRVUkJfU0hJRlQKKysKKysg ICAgY3R5cGVkZWYgc3RydWN0IFB5RGljdEtleUVudHJ5OgorKyAgICAgICAgUHlfaGFzaF90IG1l X2hhc2gKKysgICAgICAgIFB5T2JqZWN0ICogbWVfa2V5CisrICAgICAgICBQeU9iamVjdCAqIG1l X3ZhbHVlCisrCisrCisrIyBka19sb29rdXAgd2FzIHJlbW92ZWQgaW4gcHl0aG9uIDMuMTEKKytE RUYgSEFTX0RLX0xPT0tVUCA9IFBZX1ZFUlNJT05fSEVYIDwgMHgzMGIwMDAwCisrCisrSUYgSEFT X0RLX0xPT0tVUDoKKysKKysgICAgY2RlZiBleHRlcm4gZnJvbSAqOgorKyAgICAgICAgIiIiCisr ICAgICAgICAjZGVmaW5lIERLX0xPT0tVUChkaykgKChkayktPmRrX2xvb2t1cCkKKysgICAgICAg ICIiIgorKyAgICAgICAgY3R5cGVkZWYgdm9pZCAqIGRpY3RfbG9va3VwX2Z1bmMgICMgUHJlY2lz ZSBkZWZpbml0aW9uIG5vdCBuZWVkZWQKKysgICAgICAgIGRpY3RfbG9va3VwX2Z1bmMgREtfTE9P S1VQKFB5RGljdEtleXNPYmplY3QgKm1wKQorKworKyAgICBjZGVmIGRpY3RfbG9va3VwX2Z1bmMg bG9va2RpY3QKKysKKysgICAgZGVmIGluaXRfbG9va2RpY3QoKToKKysgICAgICAgIGdsb2JhbCBs b29rZGljdAorKyAgICAgICAgIyBBIGRpY3Qgd2hpY2ggYSBub24tc3RyaW5nIGtleSB1c2VzIHRo ZSBnZW5lcmljICJsb29rZGljdCIKKysgICAgICAgICMgYXMgbG9va3VwIGZ1bmN0aW9uCisrICAg ICAgICBjZGVmIG9iamVjdCBEID0ge30KKysgICAgICAgIERbMF0gPSAwCisrICAgICAgICBsb29r ZGljdCA9IERLX0xPT0tVUCgoPFB5RGljdE9iamVjdCAqPkQpLm1hX2tleXMpCisrCisrICAgIGlu aXRfbG9va2RpY3QoKQorIAorIGNkZWYgaW50IGRlbF9kaWN0aXRlbV9ieV9leGFjdF92YWx1ZShQ eURpY3RPYmplY3QgKm1wLCBQeU9iamVjdCAqdmFsdWUsIFB5X2hhc2hfdCBoYXNoKSBleGNlcHQg LTE6CisgICAgICIiIgorQEAgLTE3Nyw5ICsxMjAsOSBAQCBjZGVmIGludCBkZWxfZGljdGl0ZW1f YnlfZXhhY3RfdmFsdWUoUHlEaWN0T2JqZWN0ICptcCwgUHlPYmplY3QgKnZhbHVlLCBQeV9oYXNo XworICAgICAgICAgc2FnZTogZm9yIGkgaW4gcmFuZ2UoMTBeMysxMCk6IG5ld0EgPSBBKCk7IE1b bmV3QV0gPSBwcmV2OyBwcmV2ID0gbmV3QQorICAgICAgICAgc2FnZTogZGVsIGEKKyAgICAgIiIi CistICAgIGtleXMgPSA8TXlQeURpY3RLZXlzT2JqZWN0ICo+KG1wLm1hX2tleXMpCisrICAgIGtl eXMgPSBtcC5tYV9rZXlzCisgICAgIGNkZWYgc2l6ZV90IHBlcnR1cmIKKy0gICAgY2RlZiBzaXpl X3QgbWFzayA9IDxzaXplX3Q+IGtleXMuZGtfc2l6ZS0xCisrICAgIGNkZWYgc2l6ZV90IG1hc2sg PSBES19NQVNLKGtleXMpCisgICAgIGNkZWYgUHlEaWN0S2V5RW50cnkgKmVudHJpZXMgPSBES19F TlRSSUVTKGtleXMpCisgICAgIGNkZWYgUHlEaWN0S2V5RW50cnkgKmVwCisgCitAQCAtMTg3LDcg KzEzMCw3IEBAIGNkZWYgaW50IGRlbF9kaWN0aXRlbV9ieV9leGFjdF92YWx1ZShQeURpY3RPYmpl Y3QgKm1wLCBQeU9iamVjdCAqdmFsdWUsIFB5X2hhc2hfCisgICAgICAgICByYWlzZSBUeXBlRXJy b3IoImRlbF9kaWN0aXRlbV9ieV9leGFjdF92YWx1ZSBjYW5ub3QgYmUgYXBwbGllZCB0byBhIHNo YXJlZCBrZXkgZGljdCIpCisgCisgICAgIGNkZWYgc2l6ZV90IGkgPSA8c2l6ZV90Pmhhc2ggJiBt YXNrCistICAgIGl4ID0gZGtfZ2V0X2luZGV4KGtleXMsIGkpCisrICAgIGl4ID0gZGljdGtleXNf Z2V0X2luZGV4KGtleXMsIGkpCisgCisgICAgIGlmIGl4ID09IERLSVhfRU1QVFk6CisgICAgICAg ICAjIGtleSBub3QgZm91bmQKK0BAIC0xOTYsOSArMTM5LDkgQEAgY2RlZiBpbnQgZGVsX2RpY3Rp dGVtX2J5X2V4YWN0X3ZhbHVlKFB5RGljdE9iamVjdCAqbXAsIFB5T2JqZWN0ICp2YWx1ZSwgUHlf aGFzaF8KKyAgICAgZXAgPSAmKGVudHJpZXNbaXhdKQorICAgICBwZXJ0dXJiID0gaGFzaAorICAg ICB3aGlsZSAoZXAubWVfdmFsdWUgIT0gdmFsdWUgb3IgZXAubWVfaGFzaCAhPSBoYXNoKToKKy0g ICAgICAgIHBlcnR1cmIgPSBwZXJ0dXJiID4+IDUgI3RoaXMgaXMgdGhlIHZhbHVlIG9mIFBFUlRV UkJfU0hJRlQKKysgICAgICAgIHBlcnR1cmIgPSBwZXJ0dXJiID4+IFBFUlRVUkJfU0hJRlQKKyAg ICAgICAgIGkgPSBtYXNrICYgKGkgKiA1ICsgcGVydHVyYiArIDEpCistICAgICAgICBpeCA9IGRr X2dldF9pbmRleChrZXlzLCBpKQorKyAgICAgICAgaXggPSBkaWN0a2V5c19nZXRfaW5kZXgoa2V5 cywgaSkKKyAgICAgICAgIGlmIGl4ID09IERLSVhfRU1QVFk6CisgICAgICAgICAgICAgIyBrZXkg bm90IGZvdW5kCisgICAgICAgICAgICAgcmV0dXJuIDAKK0BAIC0yMDYsNyArMTQ5LDkgQEAgY2Rl ZiBpbnQgZGVsX2RpY3RpdGVtX2J5X2V4YWN0X3ZhbHVlKFB5RGljdE9iamVjdCAqbXAsIFB5T2Jq ZWN0ICp2YWx1ZSwgUHlfaGFzaF8KKyAKKyAgICAgIyBXZSBuZWVkIHRoZSBsb29rdXAgZnVuY3Rp b24gdG8gYmUgdGhlIGdlbmVyaWMgbG9va2RpY3QsIG90aGVyd2lzZQorICAgICAjIGRlbGV0aW9u cyBtYXkgbm90IHdvcmsgY29ycmVjdGx5CistICAgIGtleXMuZGtfbG9va3VwID0gbG9va2RpY3QK KysgICAgSUYgSEFTX0RLX0xPT0tVUDoKKysgICAgICAgICMgQ2FuIHRoaXMgZmFpbD8gSW4gYW55 IGNhc2UgZGtfbG9va3VwIHdhcyByZW1vdmVkIGluIHB5dGhvbiAzLjExCisrICAgICAgICBhc3Nl cnQgREtfTE9PS1VQKGtleXMpIGlzIGxvb2tkaWN0CisgCisgICAgIFQgPSBQeUxpc3RfTmV3KDIp CisgICAgIFB5TGlzdF9TZXRJdGVtKFQsIDAsIGVwLm1lX2tleSkKK0BAIC0yMTQsNyArMTU5LDcg QEAgY2RlZiBpbnQgZGVsX2RpY3RpdGVtX2J5X2V4YWN0X3ZhbHVlKFB5RGljdE9iamVjdCAqbXAs IFB5T2JqZWN0ICp2YWx1ZSwgUHlfaGFzaF8KKyAgICAgZXAubWVfa2V5ID0gTlVMTAorICAgICBl cC5tZV92YWx1ZSA9IE5VTEwKKyAgICAgbXAubWFfdXNlZCAtPSAxCistICAgIGRrX3NldF9pbmRl eChrZXlzLCBpLCBES0lYX0RVTU1ZKQorKyAgICBkaWN0a2V5c19zZXRfaW5kZXgoa2V5cywgaSwg REtJWF9EVU1NWSkKKyAgICAgI1dlIGhhdmUgdHJhbnNmZXJyZWQgdGhlIHRvLWJlLWRlbGV0ZWQg cmVmZXJlbmNlcyB0byB0aGUgbGlzdCBUCisgICAgICN3ZSBub3cgZGVsZXRlIHRoZSBsaXN0IHNv IHRoYXQgdGhlIGFjdHVhbCBkZWNyZWYgaGFwcGVucyB0aHJvdWdoIGEKKyAgICAgI2RlYWxsb2Nh dGlvbiByb3V0aW5lIHRoYXQgdXNlcyB0aGUgUHl0aG9uIFRyYXNoY2FuIG1hY3JvcyB0bworZGlm ZiAtLWdpdCBhL3NyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oIGIvc3JjL3NhZ2UvY3B5 dGhvbi9kaWN0X2ludGVybmFsLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwMC4uMDZjN2ExNmIyNzUKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy9zYWdlL2NweXRob24v ZGljdF9pbnRlcm5hbC5oCitAQCAtMCwwICsxLDE2NSBAQAorKy8qIFRoaXMgY29udGFpbnMgaW50 ZXJuYWwgZGVmaW5pdGlvbnMgZm9yIHB5dGhvbiBkaWN0aW9uYXJpZXMsCisrICogbW9zdGx5IGNv cGllZCBmcm9tIGNweXRob24gc291cmNlY29kZS4KKysgKgorKyAqIE1vdmVkIGhlcmUgdG8gbWFr ZSBpdCBlYXNpZXIgdG8gbWFpbnRhaW4gaW4gdGhlIGZhY2Ugb2YgcHl0aG9uCisrICogY2hhbmdl cy4KKysgKiAqLworKworKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovCisrLyogQ29waWVkIHZlcmJhdGltIGZyb20gY3B5dGhvbiAz LjggKE9iamVjdHMvZGljdC1jb21tb24uaCkgKi8KKysvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworKworKyNpZm5kZWYgUHlfRElD VF9DT01NT05fSAorKyNkZWZpbmUgUHlfRElDVF9DT01NT05fSAorKworK3R5cGVkZWYgc3RydWN0 IHsKKysgICAgLyogQ2FjaGVkIGhhc2ggY29kZSBvZiBtZV9rZXkuICovCisrICAgIFB5X2hhc2hf dCBtZV9oYXNoOworKyAgICBQeU9iamVjdCAqbWVfa2V5OworKyAgICBQeU9iamVjdCAqbWVfdmFs dWU7IC8qIFRoaXMgZmllbGQgaXMgb25seSBtZWFuaW5nZnVsIGZvciBjb21iaW5lZCB0YWJsZXMg Ki8KKyt9IFB5RGljdEtleUVudHJ5OworKworKy8qIGRpY3RfbG9va3VwX2Z1bmMoKSByZXR1cm5z IGluZGV4IG9mIGVudHJ5IHdoaWNoIGNhbiBiZSB1c2VkIGxpa2UgREtfRU5UUklFUyhkaylbaW5k ZXhdLgorKyAqIC0xIHdoZW4gbm8gZW50cnkgZm91bmQsIC0zIHdoZW4gY29tcGFyZSByYWlzZXMg ZXJyb3IuCisrICovCisrdHlwZWRlZiBQeV9zc2l6ZV90ICgqZGljdF9sb29rdXBfZnVuYykKKysg ICAgKFB5RGljdE9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXksIFB5X2hhc2hfdCBoYXNoLCBQeU9i amVjdCAqKnZhbHVlX2FkZHIpOworKworKyNkZWZpbmUgREtJWF9FTVBUWSAoLTEpCisrI2RlZmlu ZSBES0lYX0RVTU1ZICgtMikgIC8qIFVzZWQgaW50ZXJuYWxseSAqLworKyNkZWZpbmUgREtJWF9F UlJPUiAoLTMpCisrCisrLyogU2VlIGRpY3RvYmplY3QuYyBmb3IgYWN0dWFsIGxheW91dCBvZiBE aWN0S2V5c09iamVjdCAqLworK3N0cnVjdCBfZGljdGtleXNvYmplY3QgeworKyAgICBQeV9zc2l6 ZV90IGRrX3JlZmNudDsKKysKKysgICAgLyogU2l6ZSBvZiB0aGUgaGFzaCB0YWJsZSAoZGtfaW5k aWNlcykuIEl0IG11c3QgYmUgYSBwb3dlciBvZiAyLiAqLworKyAgICBQeV9zc2l6ZV90IGRrX3Np emU7CisrCisrICAgIC8qIEZ1bmN0aW9uIHRvIGxvb2t1cCBpbiB0aGUgaGFzaCB0YWJsZSAoZGtf aW5kaWNlcyk6CisrCisrICAgICAgIC0gbG9va2RpY3QoKTogZ2VuZXJhbC1wdXJwb3NlLCBhbmQg bWF5IHJldHVybiBES0lYX0VSUk9SIGlmIChhbmQKKysgICAgICAgICBvbmx5IGlmKSBhIGNvbXBh cmlzb24gcmFpc2VzIGFuIGV4Y2VwdGlvbi4KKysKKysgICAgICAgLSBsb29rZGljdF91bmljb2Rl KCk6IHNwZWNpYWxpemVkIHRvIFVuaWNvZGUgc3RyaW5nIGtleXMsIGNvbXBhcmlzb24gb2YKKysg ICAgICAgICB3aGljaCBjYW4gbmV2ZXIgcmFpc2UgYW4gZXhjZXB0aW9uOyB0aGF0IGZ1bmN0aW9u IGNhbiBuZXZlciByZXR1cm4KKysgICAgICAgICBES0lYX0VSUk9SLgorKworKyAgICAgICAtIGxv b2tkaWN0X3VuaWNvZGVfbm9kdW1teSgpOiBzaW1pbGFyIHRvIGxvb2tkaWN0X3VuaWNvZGUoKSBi dXQgZnVydGhlcgorKyAgICAgICAgIHNwZWNpYWxpemVkIGZvciBVbmljb2RlIHN0cmluZyBrZXlz IHRoYXQgY2Fubm90IGJlIHRoZSA8ZHVtbXk+IHZhbHVlLgorKworKyAgICAgICAtIGxvb2tkaWN0 X3NwbGl0KCk6IFZlcnNpb24gb2YgbG9va2RpY3QoKSBmb3Igc3BsaXQgdGFibGVzLiAqLworKyAg ICBkaWN0X2xvb2t1cF9mdW5jIGRrX2xvb2t1cDsKKysKKysgICAgLyogTnVtYmVyIG9mIHVzYWJs ZSBlbnRyaWVzIGluIGRrX2VudHJpZXMuICovCisrICAgIFB5X3NzaXplX3QgZGtfdXNhYmxlOwor KworKyAgICAvKiBOdW1iZXIgb2YgdXNlZCBlbnRyaWVzIGluIGRrX2VudHJpZXMuICovCisrICAg IFB5X3NzaXplX3QgZGtfbmVudHJpZXM7CisrCisrICAgIC8qIEFjdHVhbCBoYXNoIHRhYmxlIG9m IGRrX3NpemUgZW50cmllcy4gSXQgaG9sZHMgaW5kaWNlcyBpbiBka19lbnRyaWVzLAorKyAgICAg ICBvciBES0lYX0VNUFRZKC0xKSBvciBES0lYX0RVTU1ZKC0yKS4KKysKKysgICAgICAgSW5kaWNl cyBtdXN0IGJlOiAwIDw9IGluZGljZSA8IFVTQUJMRV9GUkFDVElPTihka19zaXplKS4KKysKKysg ICAgICAgVGhlIHNpemUgaW4gYnl0ZXMgb2YgYW4gaW5kaWNlIGRlcGVuZHMgb24gZGtfc2l6ZToK KysKKysgICAgICAgLSAxIGJ5dGUgaWYgZGtfc2l6ZSA8PSAweGZmIChjaGFyKikKKysgICAgICAg LSAyIGJ5dGVzIGlmIGRrX3NpemUgPD0gMHhmZmZmIChpbnQxNl90KikKKysgICAgICAgLSA0IGJ5 dGVzIGlmIGRrX3NpemUgPD0gMHhmZmZmZmZmZiAoaW50MzJfdCopCisrICAgICAgIC0gOCBieXRl cyBvdGhlcndpc2UgKGludDY0X3QqKQorKworKyAgICAgICBEeW5hbWljYWxseSBzaXplZCwgU0la RU9GX1ZPSURfUCBpcyBtaW5pbXVtLiAqLworKyAgICBjaGFyIGRrX2luZGljZXNbXTsgIC8qIGNo YXIgaXMgcmVxdWlyZWQgdG8gYXZvaWQgc3RyaWN0IGFsaWFzaW5nLiAqLworKworKyAgICAvKiAi UHlEaWN0S2V5RW50cnkgZGtfZW50cmllc1tka191c2FibGVdOyIgYXJyYXkgZm9sbG93czoKKysg ICAgICAgc2VlIHRoZSBES19FTlRSSUVTKCkgbWFjcm8gKi8KKyt9OworKworKyNlbmRpZgorKwor KworKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKi8KKysvKiBDb3BpZWQgdmVyYmF0aW0gZnJvbSBjcHl0aG9uIDMuOCAoT2JqZWN0cy9k aWN0b2JqZWN0LmMpICovCisrLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqLworKworKyNkZWZpbmUgUEVSVFVSQl9TSElGVCA1CisrI2Rl ZmluZSBES19TSVpFKGRrKSAoKGRrKS0+ZGtfc2l6ZSkKKysjaWYgU0laRU9GX1ZPSURfUCA+IDQK KysjZGVmaW5lIERLX0lYU0laRShkaykgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAg KERLX1NJWkUoZGspIDw9IDB4ZmYgPyAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAgIDEg OiBES19TSVpFKGRrKSA8PSAweGZmZmYgPyAgICAgICAgICAgIFwKKysgICAgICAgICAgICAyIDog REtfU0laRShkaykgPD0gMHhmZmZmZmZmZiA/ICAgIFwKKysgICAgICAgICAgICAgICAgNCA6IHNp emVvZihpbnQ2NF90KSkKKysjZWxzZQorKyNkZWZpbmUgREtfSVhTSVpFKGRrKSAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorKyAgICAoREtfU0laRShkaykgPD0gMHhmZiA/ICAgICAgICAgICAg ICAgICAgICAgXAorKyAgICAgICAgMSA6IERLX1NJWkUoZGspIDw9IDB4ZmZmZiA/ICAgICAgICAg ICAgXAorKyAgICAgICAgICAgIDIgOiBzaXplb2YoaW50MzJfdCkpCisrI2VuZGlmCisrI2RlZmlu ZSBES19FTlRSSUVTKGRrKSBcCisrICAgICgoUHlEaWN0S2V5RW50cnkqKSgmKChpbnQ4X3QqKSgo ZGspLT5ka19pbmRpY2VzKSlbREtfU0laRShkaykgKiBES19JWFNJWkUoZGspXSkpCisrCisrI2Rl ZmluZSBES19NQVNLKGRrKSAoKChkayktPmRrX3NpemUpLTEpCisrCisrLyogbG9va3VwIGluZGlj ZXMuICByZXR1cm5zIERLSVhfRU1QVFksIERLSVhfRFVNTVksIG9yIGl4ID49MCAqLworK3N0YXRp YyBpbmxpbmUgUHlfc3NpemVfdAorK2RpY3RrZXlzX2dldF9pbmRleChQeURpY3RLZXlzT2JqZWN0 ICprZXlzLCBQeV9zc2l6ZV90IGkpCisreworKyAgICBQeV9zc2l6ZV90IHMgPSBES19TSVpFKGtl eXMpOworKyAgICBQeV9zc2l6ZV90IGl4OworKworKyAgICBpZiAocyA8PSAweGZmKSB7CisrICAg ICAgICBpbnQ4X3QgKmluZGljZXMgPSAoaW50OF90Kikoa2V5cy0+ZGtfaW5kaWNlcyk7CisrICAg ICAgICBpeCA9IGluZGljZXNbaV07CisrICAgIH0KKysgICAgZWxzZSBpZiAocyA8PSAweGZmZmYp IHsKKysgICAgICAgIGludDE2X3QgKmluZGljZXMgPSAoaW50MTZfdCopKGtleXMtPmRrX2luZGlj ZXMpOworKyAgICAgICAgaXggPSBpbmRpY2VzW2ldOworKyAgICB9CisrI2lmIFNJWkVPRl9WT0lE X1AgPiA0CisrICAgIGVsc2UgaWYgKHMgPiAweGZmZmZmZmZmKSB7CisrICAgICAgICBpbnQ2NF90 ICppbmRpY2VzID0gKGludDY0X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKKysgICAgICAgIGl4ID0g aW5kaWNlc1tpXTsKKysgICAgfQorKyNlbmRpZgorKyAgICBlbHNlIHsKKysgICAgICAgIGludDMy X3QgKmluZGljZXMgPSAoaW50MzJfdCopKGtleXMtPmRrX2luZGljZXMpOworKyAgICAgICAgaXgg PSBpbmRpY2VzW2ldOworKyAgICB9CisrICAgIGFzc2VydChpeCA+PSBES0lYX0RVTU1ZKTsKKysg ICAgcmV0dXJuIGl4OworK30KKysKKysvKiB3cml0ZSB0byBpbmRpY2VzLiAqLworK3N0YXRpYyBp bmxpbmUgdm9pZAorK2RpY3RrZXlzX3NldF9pbmRleChQeURpY3RLZXlzT2JqZWN0ICprZXlzLCBQ eV9zc2l6ZV90IGksIFB5X3NzaXplX3QgaXgpCisreworKyAgICBQeV9zc2l6ZV90IHMgPSBES19T SVpFKGtleXMpOworKworKyAgICBhc3NlcnQoaXggPj0gREtJWF9EVU1NWSk7CisrCisrICAgIGlm IChzIDw9IDB4ZmYpIHsKKysgICAgICAgIGludDhfdCAqaW5kaWNlcyA9IChpbnQ4X3QqKShrZXlz LT5ka19pbmRpY2VzKTsKKysgICAgICAgIGFzc2VydChpeCA8PSAweDdmKTsKKysgICAgICAgIGlu ZGljZXNbaV0gPSAoY2hhcilpeDsKKysgICAgfQorKyAgICBlbHNlIGlmIChzIDw9IDB4ZmZmZikg eworKyAgICAgICAgaW50MTZfdCAqaW5kaWNlcyA9IChpbnQxNl90Kikoa2V5cy0+ZGtfaW5kaWNl cyk7CisrICAgICAgICBhc3NlcnQoaXggPD0gMHg3ZmZmKTsKKysgICAgICAgIGluZGljZXNbaV0g PSAoaW50MTZfdClpeDsKKysgICAgfQorKyNpZiBTSVpFT0ZfVk9JRF9QID4gNAorKyAgICBlbHNl IGlmIChzID4gMHhmZmZmZmZmZikgeworKyAgICAgICAgaW50NjRfdCAqaW5kaWNlcyA9IChpbnQ2 NF90Kikoa2V5cy0+ZGtfaW5kaWNlcyk7CisrICAgICAgICBpbmRpY2VzW2ldID0gaXg7CisrICAg IH0KKysjZW5kaWYKKysgICAgZWxzZSB7CisrICAgICAgICBpbnQzMl90ICppbmRpY2VzID0gKGlu dDMyX3QqKShrZXlzLT5ka19pbmRpY2VzKTsKKysgICAgICAgIGFzc2VydChpeCA8PSAweDdmZmZm ZmZmKTsKKysgICAgICAgIGluZGljZXNbaV0gPSAoaW50MzJfdClpeDsKKysgICAgfQorK30KKysK KysvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqLworLS0gCisyLjM4LjEKKworCitGcm9tIDc2MDQwODAzYzhhZTE1MGJhZWY0NDllZGNl NjdlYmRhZmIyZWU4OTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/ R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+CitEYXRlOiBT dW4sIDYgTm92IDIwMjIgMTE6NTM6MjQgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSCAwMi8xMV0gZGlj dF9kZWxfYnlfdmFsdWU6IGFkZCBpbnRlcm5hbCBkZWZpbml0aW9ucyBmb3IgcHl0aG9uCisgMy4x MQorCistLS0KKyBzcmMvc2FnZS9jcHl0aG9uL2RpY3RfaW50ZXJuYWwuaCB8IDc3ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDc3IGluc2VydGlvbnMo KykKKworZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oIGIvc3Jj L3NhZ2UvY3B5dGhvbi9kaWN0X2ludGVybmFsLmgKK2luZGV4IDA2YzdhMTZiMjc1Li40MmE1N2Jj YjQ2OCAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oCisrKysg Yi9zcmMvc2FnZS9jcHl0aG9uL2RpY3RfaW50ZXJuYWwuaAorQEAgLTUsNiArNSw4IEBACisgICog Y2hhbmdlcy4KKyAgKiAqLworIAorKyNpZiBQWV9WRVJTSU9OX0hFWCA8IDB4MzBiMDAwMAorKwor IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKiovCisgLyogQ29waWVkIHZlcmJhdGltIGZyb20gY3B5dGhvbiAzLjggKE9iamVjdHMvZGlj dC1jb21tb24uaCkgKi8KKyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqLworQEAgLTE2MywzICsxNjUsNzggQEAgZGljdGtleXNfc2V0 X2luZGV4KFB5RGljdEtleXNPYmplY3QgKmtleXMsIFB5X3NzaXplX3QgaSwgUHlfc3NpemVfdCBp eCkKKyB9CisgCisgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8KKysKKysjZWxzZSAgIC8qIFB5dGhvbiA+PSAzLjExICovCisrCisr I2RlZmluZSBQeV9CVUlMRF9DT1JFCisrI2luY2x1ZGUgPGludGVybmFsL3B5Y29yZV9kaWN0Lmg+ CisrCisrLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8KKysvKiBDb3BpZWQgdmVyYmF0aW0gZnJvbSBjcHl0aG9uIDMuMTEgKE9iamVj dHMvZGljdG9iamVjdC5jKSAqLworKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKiovCisrCisrI2RlZmluZSBQRVJUVVJCX1NISUZUIDUK KysjZGVmaW5lIERLX01BU0soZGspIChES19TSVpFKGRrKS0xKQorKworKy8qIGxvb2t1cCBpbmRp Y2VzLiAgcmV0dXJucyBES0lYX0VNUFRZLCBES0lYX0RVTU1ZLCBvciBpeCA+PTAgKi8KKytzdGF0 aWMgaW5saW5lIFB5X3NzaXplX3QKKytkaWN0a2V5c19nZXRfaW5kZXgoY29uc3QgUHlEaWN0S2V5 c09iamVjdCAqa2V5cywgUHlfc3NpemVfdCBpKQorK3sKKysgICAgaW50IGxvZzJzaXplID0gREtf TE9HX1NJWkUoa2V5cyk7CisrICAgIFB5X3NzaXplX3QgaXg7CisrCisrICAgIGlmIChsb2cyc2l6 ZSA8IDgpIHsKKysgICAgICAgIGNvbnN0IGludDhfdCAqaW5kaWNlcyA9IChjb25zdCBpbnQ4X3Qq KShrZXlzLT5ka19pbmRpY2VzKTsKKysgICAgICAgIGl4ID0gaW5kaWNlc1tpXTsKKysgICAgfQor KyAgICBlbHNlIGlmIChsb2cyc2l6ZSA8IDE2KSB7CisrICAgICAgICBjb25zdCBpbnQxNl90ICpp bmRpY2VzID0gKGNvbnN0IGludDE2X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKKysgICAgICAgIGl4 ID0gaW5kaWNlc1tpXTsKKysgICAgfQorKyNpZiBTSVpFT0ZfVk9JRF9QID4gNAorKyAgICBlbHNl IGlmIChsb2cyc2l6ZSA+PSAzMikgeworKyAgICAgICAgY29uc3QgaW50NjRfdCAqaW5kaWNlcyA9 IChjb25zdCBpbnQ2NF90Kikoa2V5cy0+ZGtfaW5kaWNlcyk7CisrICAgICAgICBpeCA9IGluZGlj ZXNbaV07CisrICAgIH0KKysjZW5kaWYKKysgICAgZWxzZSB7CisrICAgICAgICBjb25zdCBpbnQz Ml90ICppbmRpY2VzID0gKGNvbnN0IGludDMyX3QqKShrZXlzLT5ka19pbmRpY2VzKTsKKysgICAg ICAgIGl4ID0gaW5kaWNlc1tpXTsKKysgICAgfQorKyAgICBhc3NlcnQoaXggPj0gREtJWF9EVU1N WSk7CisrICAgIHJldHVybiBpeDsKKyt9CisrCisrLyogd3JpdGUgdG8gaW5kaWNlcy4gKi8KKytz dGF0aWMgaW5saW5lIHZvaWQKKytkaWN0a2V5c19zZXRfaW5kZXgoUHlEaWN0S2V5c09iamVjdCAq a2V5cywgUHlfc3NpemVfdCBpLCBQeV9zc2l6ZV90IGl4KQorK3sKKysgICAgaW50IGxvZzJzaXpl ID0gREtfTE9HX1NJWkUoa2V5cyk7CisrCisrICAgIGFzc2VydChpeCA+PSBES0lYX0RVTU1ZKTsK KysgICAgYXNzZXJ0KGtleXMtPmRrX3ZlcnNpb24gPT0gMCk7CisrCisrICAgIGlmIChsb2cyc2l6 ZSA8IDgpIHsKKysgICAgICAgIGludDhfdCAqaW5kaWNlcyA9IChpbnQ4X3QqKShrZXlzLT5ka19p bmRpY2VzKTsKKysgICAgICAgIGFzc2VydChpeCA8PSAweDdmKTsKKysgICAgICAgIGluZGljZXNb aV0gPSAoY2hhcilpeDsKKysgICAgfQorKyAgICBlbHNlIGlmIChsb2cyc2l6ZSA8IDE2KSB7Cisr ICAgICAgICBpbnQxNl90ICppbmRpY2VzID0gKGludDE2X3QqKShrZXlzLT5ka19pbmRpY2VzKTsK KysgICAgICAgIGFzc2VydChpeCA8PSAweDdmZmYpOworKyAgICAgICAgaW5kaWNlc1tpXSA9IChp bnQxNl90KWl4OworKyAgICB9CisrI2lmIFNJWkVPRl9WT0lEX1AgPiA0CisrICAgIGVsc2UgaWYg KGxvZzJzaXplID49IDMyKSB7CisrICAgICAgICBpbnQ2NF90ICppbmRpY2VzID0gKGludDY0X3Qq KShrZXlzLT5ka19pbmRpY2VzKTsKKysgICAgICAgIGluZGljZXNbaV0gPSBpeDsKKysgICAgfQor KyNlbmRpZgorKyAgICBlbHNlIHsKKysgICAgICAgIGludDMyX3QgKmluZGljZXMgPSAoaW50MzJf dCopKGtleXMtPmRrX2luZGljZXMpOworKyAgICAgICAgYXNzZXJ0KGl4IDw9IDB4N2ZmZmZmZmYp OworKyAgICAgICAgaW5kaWNlc1tpXSA9IChpbnQzMl90KWl4OworKyAgICB9CisrfQorKworKyNl bmRpZgorLS0gCisyLjM4LjEKKworCitGcm9tIDAxNGMyYWM5YTZmNmRlMjVkNGUzMWZlMGJkYWY4 MTllOWM2N2QyNGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/R29u emFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+CitEYXRlOiBNb24s IDMxIE9jdCAyMDIyIDA2OjQ3OjE4IC0wMzAwCitTdWJqZWN0OiBbUEFUQ0ggMDMvMTFdIGRlcHJl Y2F0ZWQgdXUgLT4gYmFzZTY0CisKKy0tLQorIHNyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwvcGJv cmkvZ2JyZWZzLnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9wYm9y aS9nYnJlZnMucHkgYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL3Bib3JpL2dicmVmcy5weQor aW5kZXggNzZlMzkyNDcxNWQuLjcwZGM3OTVjYmFiIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2Uvcmlu Z3MvcG9seW5vbWlhbC9wYm9yaS9nYnJlZnMucHkKKysrKyBiL3NyYy9zYWdlL3JpbmdzL3BvbHlu b21pYWwvcGJvcmkvZ2JyZWZzLnB5CitAQCAtMSw2ICsxLDYgQEAKKyBpbXBvcnQgZ3ppcAorIGZy b20gaW8gaW1wb3J0IFN0cmluZ0lPCistaW1wb3J0IHV1CisraW1wb3J0IGJhc2U2NCBhcyB1dQor IGltcG9ydCByZQorIGZyb20gdHlwZXMgaW1wb3J0IE1vZHVsZVR5cGUKKyBmcm9tIC5QeVBvbHlC b1JpIGltcG9ydCBQb2x5bm9taWFsCistLSAKKzIuMzguMQorCisKK0Zyb20gZGM4ZTE1NTk5NGE4 NzBhNWUwYjAxYTY5MGEzZmVjODk3NTE5Nzk3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206ID0/VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVk dS51eT4KK0RhdGU6IE1vbiwgMzEgT2N0IDIwMjIgMDY6NDc6MzQgLTAzMDAKK1N1YmplY3Q6IFtQ QVRDSCAwNC8xMV0gc2FnZS5taXNjLmZwaWNrbGU6IGZpeCBmb3IgcHl0aG9uIDMuMTEKKworLS0t Cisgc3JjL3NhZ2UvbWlzYy9mcGlja2xlLnB5eCB8IDEzICsrKysrKysrKysrKy0KKyAxIGZpbGUg Y2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEv c3JjL3NhZ2UvbWlzYy9mcGlja2xlLnB5eCBiL3NyYy9zYWdlL21pc2MvZnBpY2tsZS5weXgKK2lu ZGV4IDUwMjA4MGUyYzEwLi5jNWQ1NDQ3NjViYiAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL21pc2Mv ZnBpY2tsZS5weXgKKysrKyBiL3NyYy9zYWdlL21pc2MvZnBpY2tsZS5weXgKK0BAIC0zNCw2ICsz NCwxMiBAQCBkZWYgcmVkdWNlX2NvZGUoY28pOgorICAgICAgICAgc2FnZTogZGVmIGZvbyhOKTog cmV0dXJuIE4rMQorICAgICAgICAgc2FnZTogc2FnZS5taXNjLmZwaWNrbGUucmVkdWNlX2NvZGUo Zm9vLl9fY29kZV9fKQorICAgICAgICAgKDxjeWZ1bmN0aW9uIGNvZGVfY3RvciBhdCAuLi4+LCAu Li4pCisrCisrICAgIFRlc3QgdGhhdCB0aGUgY29uc3RydWN0ZWQgY29kZSBtYXRjaGVzIHRoZSBv cmlnaW5hbCBjb2RlOgorKworKyAgICAgICAgc2FnZTogY3RvciwgYXJncyA9IHNhZ2UubWlzYy5m cGlja2xlLnJlZHVjZV9jb2RlKGZvby5fX2NvZGVfXykKKysgICAgICAgIHNhZ2U6IGN0b3IoKmFy Z3MpID09IGZvby5fX2NvZGVfXworKyAgICAgICAgVHJ1ZQorICAgICAiIiIKKyAgICAgaWYgY28u Y29fZnJlZXZhcnMgb3IgY28uY29fY2VsbHZhcnM6CisgICAgICAgICByYWlzZSBWYWx1ZUVycm9y KCJDYW5ub3QgcGlja2xlIGNvZGUgb2JqZWN0cyBmcm9tIGNsb3N1cmVzIikKK0BAIC00NCw3ICs1 MCwxMiBAQCBkZWYgcmVkdWNlX2NvZGUoY28pOgorICAgICBjb19hcmdzICs9IChjby5jb19rd29u bHlhcmdjb3VudCwgY28uY29fbmxvY2FscywKKyAgICAgICAgICAgICAgICAgY28uY29fc3RhY2tz aXplLCBjby5jb19mbGFncywgY28uY29fY29kZSwKKyAgICAgICAgICAgICAgICAgY28uY29fY29u c3RzLCBjby5jb19uYW1lcywgY28uY29fdmFybmFtZXMsIGNvLmNvX2ZpbGVuYW1lLAorLSAgICAg ICAgICAgICAgICBjby5jb19uYW1lLCBjby5jb19maXJzdGxpbmVubywgY28uY29fbG5vdGFiKQor KyAgICAgICAgICAgICAgICBjby5jb19uYW1lKQorKyAgICBpZiBzeXMudmVyc2lvbl9pbmZvLm1p bm9yID49IDExOgorKyAgICAgICAgY29fYXJncyArPSAoY28uY29fcXVhbG5hbWUsIGNvLmNvX2Zp cnN0bGluZW5vLAorKyAgICAgICAgICAgICAgICAgICAgY28uY29fbGluZXRhYmxlLCBjby5jb19l eGNlcHRpb250YWJsZSkKKysgICAgZWxzZToKKysgICAgICAgIGNvX2FyZ3MgKz0gKGNvLmNvX2Zp cnN0bGluZW5vLCBjby5jb19sbm90YWIpCisgCisgICAgIHJldHVybiAoY29kZV9jdG9yLCBjb19h cmdzKQorIAorLS0gCisyLjM4LjEKKworCitGcm9tIDhiMGRhYzIzMjJkNGE4ODhjNjA3YzU2ZDNi NWE3MmZmNzFkZjQxNDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/ R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+CitEYXRlOiBN b24sIDMxIE9jdCAyMDIyIDA4OjE1OjQzIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0ggMDUvMTFdIEZp eCBGdWxsQXJnU3BlYyB1c2FnZSBhZnRlcgorIDllYjA4ZjNhZmRlMzI2NmJiZDY2N2UxOTY1MTMy NDBhMGZlMjQ1ZjQKKworIC0gYGt3b25seWRlZmF1bHRzYCBkZWZhdWx0IGlzIGBbXWAgcmF0aGVy IHRoYW4gYHt9YAorIC0gYGFyZ3NwZWMua2V5d29yZHNgIGNoYW5nZWQgdG8gYGFyZ3NwZWMudmFy a3dgCisgLSBgQXJnU3BlY2AgY2hhbmdlZCB0byBgRnVsbEFyZ1NwZWNgCistLS0KKyBzcmMvc2Fn ZS9jb2RpbmcvYWJzdHJhY3RfY29kZS5weSB8IDIgKy0KKyBzcmMvc2FnZS9taXNjL2RlY29yYXRv cnMucHkgICAgICB8IDcgKysrKy0tLQorIHNyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkgICAg IHwgOSArKysrKy0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDggZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9jb2RpbmcvYWJzdHJhY3RfY29kZS5w eSBiL3NyYy9zYWdlL2NvZGluZy9hYnN0cmFjdF9jb2RlLnB5CitpbmRleCBiYTJlYzY4YTAzOC4u MjM4YTE2NWMwMjEgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9jb2RpbmcvYWJzdHJhY3RfY29kZS5w eQorKysrIGIvc3JjL3NhZ2UvY29kaW5nL2Fic3RyYWN0X2NvZGUucHkKK0BAIC0xMjMsNyArMTIz LDcgQEAgZGVmIF9leHBsYWluX2NvbnN0cnVjdG9yKGNsKToKKyAgICAgICAgIHJlcXMgPSAiVGhl IGNvbnN0cnVjdG9yIHJlcXVpcmVzIHRoZSBhcmd1bWVudHMge30uIi5mb3JtYXQoYXJncykKKyAg ICAgZWxzZToKKyAgICAgICAgIHJlcXMgPSAiVGhlIGNvbnN0cnVjdG9yIHJlcXVpcmVzIG5vIGFy Z3VtZW50cy4iCistICAgIGlmIGFyZ3NwZWMudmFyYXJncyBvciBhcmdzcGVjLmtleXdvcmRzOgor KyAgICBpZiBhcmdzcGVjLnZhcmFyZ3Mgb3IgYXJnc3BlYy52YXJrdzoKKyAgICAgICAgIHZhciA9 ICJJdCBhY2NlcHRzIHVuc3BlY2lmaWVkIGFyZ3VtZW50cyBhcyB3ZWxsLlxuIgorICAgICBlbHNl OgorICAgICAgICAgdmFyID0gIiIKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNjL2RlY29yYXRv cnMucHkgYi9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkKK2luZGV4IDMxMWE1MTA1NzM5Li4y NzFlMjQzMDUwZiAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL21pc2MvZGVjb3JhdG9ycy5weQorKysr IGIvc3JjL3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5CitAQCAtNDIzLDcgKzQyMyw4IEBAIGNsYXNz IHN1Ym9wdGlvbnMoKToKKyAgICAgICAgICAgICBkZWZhdWx0cyA9IChhcmdzcGVjLmRlZmF1bHRz IGlmIGFyZ3NwZWMuZGVmYXVsdHMgaXMgbm90IE5vbmUgZWxzZSAoKSkgXAorICAgICAgICAgICAg ICAgICAgICAgICAgICsgdHVwbGUoc2VsZi5vcHRpb25zLnZhbHVlcygpKQorICAgICAgICAgICAg ICMgTm90ZTogYXJnc3BlYy5kZWZhdWx0cyBpcyBub3QgYWx3YXlzIGEgdHVwbGUgZm9yIHNvbWUg cmVhc29uCistICAgICAgICAgICAgcmV0dXJuIEFyZ1NwZWMoYXJncywgYXJnc3BlYy52YXJhcmdz LCBhcmdzcGVjLmtleXdvcmRzLCBkZWZhdWx0cykKKysgICAgICAgICAgICByZXR1cm4gRnVsbEFy Z1NwZWMoYXJncywgYXJnc3BlYy52YXJhcmdzLCBhcmdzcGVjLnZhcmt3LCBkZWZhdWx0cywKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVs dHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgICAgICAgICB3cmFwcGVyLl9zYWdlX2FyZ3NwZWNf ID0gYXJnc3BlYworIAorICAgICAgICAgcmV0dXJuIHdyYXBwZXIKK0BAIC01MDAsOCArNTAxLDgg QEAgY2xhc3Mgb3B0aW9ucygpOgorICAgICAgICAgICAgICAgICAgICAgbGlzdChzZWxmLm9wdGlv bnMpKQorICAgICAgICAgICAgIGRlZmF1bHRzID0gKGFyZ3NwZWMuZGVmYXVsdHMgb3IgKCkpICsg dHVwbGUoc2VsZi5vcHRpb25zLnZhbHVlcygpKQorICAgICAgICAgICAgICMgTm90ZTogYXJnc3Bl Yy5kZWZhdWx0cyBpcyBub3QgYWx3YXlzIGEgdHVwbGUgZm9yIHNvbWUgcmVhc29uCistICAgICAg ICAgICAgcmV0dXJuIEZ1bGxBcmdTcGVjKGFyZ3MsIGFyZ3NwZWMudmFyYXJncywgYXJnc3BlYy5r ZXl3b3JkcywgZGVmYXVsdHMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3b25s eWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPXt9LCBhbm5vdGF0aW9ucz17fSkKKysgICAgICAgICAg ICByZXR1cm4gRnVsbEFyZ1NwZWMoYXJncywgYXJnc3BlYy52YXJhcmdzLCBhcmdzcGVjLnZhcmt3 LCBkZWZhdWx0cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1b XSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgCisgICAgICAgICB3cmFw cGVyLl9zYWdlX2FyZ3NwZWNfID0gYXJnc3BlYworIAorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21p c2Mvc2FnZWluc3BlY3QucHkgYi9zcmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0LnB5CitpbmRleCBh MzgyMWNiNTZiOS4uY2U5YTc0ZjkzMWQgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9taXNjL3NhZ2Vp bnNwZWN0LnB5CisrKysgYi9zcmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0LnB5CitAQCAtMTEzNyw3 ICsxMTM3LDcgQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfZnJvbV9hc3Qoc291cmNlKToKKyAKKyAg ICAgcmV0dXJuIGluc3BlY3QuRnVsbEFyZ1NwZWMoYXJncywgdmFyYXJnLCBrd2FyZywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVwbGUoZGVmYXVsdHMpIGlmIGRlZmF1bHRzIGVs c2UgTm9uZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwg a3dvbmx5ZGVmYXVsdHM9e30sIGFubm90YXRpb25zPXt9KQorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9u cz17fSkKKyAKKyAKKyBkZWYgX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oc291cmNlKToKK0BAIC0x NjgzLDcgKzE2ODMsOCBAQCBkZWYgc2FnZV9nZXRhcmdzcGVjKG9iaik6CisgICAgICAgICAjIE5v dGUgdGhhdCB0aGlzIG1heSBnaXZlIGEgd3JvbmcgcmVzdWx0IGZvciB0aGUgY29uc3RhbnRzIQor ICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIGFyZ3MsIHZhcmFyZ3MsIHZhcmt3ID0gaW5zcGVj dC5nZXRhcmdzKG9iai5fX2NvZGVfXykKKy0gICAgICAgICAgICByZXR1cm4gaW5zcGVjdC5GdWxs QXJnU3BlYyhhcmdzLCB2YXJhcmdzLCB2YXJrdywgb2JqLl9fZGVmYXVsdHNfXykKKysgICAgICAg ICAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYyhhcmdzLCB2YXJhcmdzLCB2YXJrdywgb2Jq Ll9fZGVmYXVsdHNfXywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBr d29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKKyAgICAg ICAgIGV4Y2VwdCAoVHlwZUVycm9yLCBBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICAgcGFz cworICAgICBpZiBpc2NsYXNzaW5zdGFuY2Uob2JqKToKK0BAIC0xNzQyLDcgKzE3NDMsNyBAQCBk ZWYgc2FnZV9nZXRhcmdzcGVjKG9iaik6CisgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAg ICAgICAgIGRlZmF1bHRzID0gTm9uZQorICAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYyhh cmdzLCB2YXJhcmdzLCB2YXJrdywgZGVmYXVsdHMsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPXt9LCBhbm5vdGF0aW9ucz17fSkK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVm YXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgCisgCisgZGVmIGZvcm1hdGFubm90YXRpb24o YW5ub3RhdGlvbiwgYmFzZV9tb2R1bGU9Tm9uZSk6CitAQCAtMTc4OCw3ICsxNzg5LDcgQEAgZGVm IGZvcm1hdGFubm90YXRpb24oYW5ub3RhdGlvbiwgYmFzZV9tb2R1bGU9Tm9uZSk6CisgCisgCisg ZGVmIHNhZ2VfZm9ybWF0YXJnc3BlYyhhcmdzLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRl ZmF1bHRzPU5vbmUsCistICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPSgpLCBrd29u bHlkZWZhdWx0cz17fSwgYW5ub3RhdGlvbnM9e30sCisrICAgICAgICAgICAgICAgICAgICAgICBr d29ubHlhcmdzPSgpLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSwKKyAgICAg ICAgICAgICAgICAgICAgICAgIGZvcm1hdGFyZz1zdHIsCisgICAgICAgICAgICAgICAgICAgICAg ICBmb3JtYXR2YXJhcmdzPWxhbWJkYSBuYW1lOiAnKicgKyBuYW1lLAorICAgICAgICAgICAgICAg ICAgICAgICAgZm9ybWF0dmFya3c9bGFtYmRhIG5hbWU6ICcqKicgKyBuYW1lLAorLS0gCisyLjM4 LjEKKworCitGcm9tIGRiNDVhZWJmZDZiZDg0MTNiZWMwZmRhMjE4NDEwZDcyZGVhY2QzOTggTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1D Mz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+CitEYXRlOiBNb24sIDMxIE9jdCAyMDIyIDA3 OjEzOjM4IC0wMzAwCitTdWJqZWN0OiBbUEFUQ0ggMDYvMTFdIHdhcm5pbmdzOiBpZ25vcmUgZGVw cmVjYXRpb24gZm9yICdpbXBvcnQgY2dpJyBpbiBjeXRob24KKworLS0tCisgc3JjL3NhZ2UvYWxs LnB5IHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAt LWdpdCBhL3NyYy9zYWdlL2FsbC5weSBiL3NyYy9zYWdlL2FsbC5weQoraW5kZXggNmFlZjI2YzQy YTkuLjkyZDM2ZDFmZDI2IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvYWxsLnB5CisrKysgYi9zcmMv c2FnZS9hbGwucHkKK0BAIC0xMDQsNiArMTA0LDExIEBAIHdhcm5pbmdzLmZpbHRlcndhcm5pbmdz KCdpZ25vcmUnLCBjYXRlZ29yeT1EZXByZWNhdGlvbldhcm5pbmcsCisgICAgICAgICAgICAgICAg ICAgICAgICAgbWVzc2FnZT0nVGhlIGRpc3R1dGlscyguc3lzY29uZmlnIG1vZHVsZXwgcGFja2Fn ZSkgaXMgZGVwcmVjYXRlZCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlPSdDeXRo b258ZGlzdHV0aWxzfG51bXB5fHNhZ2UuZW52fHNhZ2UuZmVhdHVyZXMnKQorIAorKyMgdHJpZ2dl cmVkIGJ5IGN5dGhvbiAwLjI5LjMyCisrd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScs IGNhdGVnb3J5PURlcHJlY2F0aW9uV2FybmluZywKKysgICAgICAgICAgICAgICAgICAgICAgICBt ZXNzYWdlPSInY2dpJyBpcyBkZXByZWNhdGVkIGFuZCBzbGF0ZWQgZm9yIHJlbW92YWwgaW4gUHl0 aG9uIDMuMTMiLAorKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZT0nQ3l0aG9uJykKKysK KyAjIyMjIyMjIyMjIyMjIyMjIGVuZCBzZXR1cCB3YXJuaW5ncyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisgCisgCistLSAKKzIuMzguMQorCisKK0Zyb20gNjY0ZmMwMDhlZDUwYzJm NjFmYjNkZjMwMjBjMGQ4MWI0MTE3MDYyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 ID0/VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51 eT4KK0RhdGU6IE1vbiwgMzEgT2N0IDIwMjIgMjA6Mzk6MTIgLTAzMDAKK1N1YmplY3Q6IFtQQVRD SCAwNy8xMV0gd2FybmluZ3M6IGlnbm9yZSBkZXByZWNhdGlvbiBmb3IgJ2ltcG9ydCBzcmVfY29u c3RhbnRzJworIGluIHB5cGFyc2luZworCistLS0KKyBzcmMvc2FnZS9hbGwucHkgfCA1ICsrKysr CisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Nh Z2UvYWxsLnB5IGIvc3JjL3NhZ2UvYWxsLnB5CitpbmRleCA5MmQzNmQxZmQyNi4uZWEwNzEyMzA4 YjQgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9hbGwucHkKKysrKyBiL3NyYy9zYWdlL2FsbC5weQor QEAgLTEwOSw2ICsxMDksMTEgQEAgd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNh dGVnb3J5PURlcHJlY2F0aW9uV2FybmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICBtZXNz YWdlPSInY2dpJyBpcyBkZXByZWNhdGVkIGFuZCBzbGF0ZWQgZm9yIHJlbW92YWwgaW4gUHl0aG9u IDMuMTMiLAorICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZT0nQ3l0aG9uJykKKyAKKysj IHRyaWdnZXJlZCBieSBweXBhcnNpbmcgMi40LjcKKyt3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygn aWdub3JlJywgY2F0ZWdvcnk9RGVwcmVjYXRpb25XYXJuaW5nLAorKyAgICAgICAgICAgICAgICAg ICAgICAgIG1lc3NhZ2U9Im1vZHVsZSAnc3JlX2NvbnN0YW50cycgaXMgZGVwcmVjYXRlZCIsCisr ICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlPSdweXBhcnNpbmcnKQorKworICMjIyMjIyMj IyMjIyMjIyMgZW5kIHNldHVwIHdhcm5pbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyAKKyAKKy0tIAorMi4zOC4xCisKKworRnJvbSAwOGUxMTYxYzIzY2FlZWVkNWFkMGUwMjM3 ZGY4MTcyZWI4ODA2ZWU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9x P0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgorRGF0ZTog TW9uLCAzMSBPY3QgMjAyMiAyMjo0MDoxNyAtMDMwMAorU3ViamVjdDogW1BBVENIIDA4LzExXSB3 YXJuaW5nczogaWdub3JlIGRlcHJlY2F0aW9uIG9mCisgaW1wb3J0bGliLnJlc291cmNlcy5wYXRo L3JlYWRfYmluYXJ5CisKKy0tLQorIHNyYy9zYWdlL2FsbC5weSAgICAgICAgICAgICAgICAgICAg fCA2ICsrKysrKworIHNyYy9zYWdlL3JlcGwvZGlzcGxheS9mb3JtYXR0ZXIucHkgfCAzICsrKwor IDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvc2Fn ZS9hbGwucHkgYi9zcmMvc2FnZS9hbGwucHkKK2luZGV4IGVhMDcxMjMwOGI0Li5mZWRmMmExN2Fh YiAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2FsbC5weQorKysrIGIvc3JjL3NhZ2UvYWxsLnB5CitA QCAtMTE0LDYgKzExNCwxMiBAQCB3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygnaWdub3JlJywgY2F0 ZWdvcnk9RGVwcmVjYXRpb25XYXJuaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3Nh Z2U9Im1vZHVsZSAnc3JlX2NvbnN0YW50cycgaXMgZGVwcmVjYXRlZCIsCisgICAgICAgICAgICAg ICAgICAgICAgICAgbW9kdWxlPSdweXBhcnNpbmcnKQorIAorKyMgaW1wb3J0bGliLnJlc291cmNl cy5wYXRoIGFuZCAuLi5yZWFkX2JpbmFyeSBhcmUgZGVwcmVjYXRlZCBpbiBweXRob24gMy4xMSwK KysjIGJ1dCB0aGUgcmVwbGFjZW1lbnQgaW1wb3J0bGliLnJlc291cmNlcy5maWxlcyBuZWVkcyBw eXRob24gMy45Cisrd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVnb3J5PURl cHJlY2F0aW9uV2FybmluZywKKysgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPXInKHBh dGh8cmVhZF9iaW5hcnkpIGlzIGRlcHJlY2F0ZWRcLiBVc2UgZmlsZXNcKFwpIGluc3RlYWRcLics CisrICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlPSdzYWdlLnJlcGwucmljaF9vdXRwdXQu b3V0cHV0XyhncmFwaGljc3xncmFwaGljczNkfHZpZGVvKScpCisrCisgIyMjIyMjIyMjIyMjIyMj IyBlbmQgc2V0dXAgd2FybmluZ3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIAor IAorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JlcGwvZGlzcGxheS9mb3JtYXR0ZXIucHkgYi9zcmMv c2FnZS9yZXBsL2Rpc3BsYXkvZm9ybWF0dGVyLnB5CitpbmRleCA0ODhmMGJmMjc5MS4uN2UwNjY1 NmQ4ODAgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9yZXBsL2Rpc3BsYXkvZm9ybWF0dGVyLnB5Cisr KysgYi9zcmMvc2FnZS9yZXBsL2Rpc3BsYXkvZm9ybWF0dGVyLnB5CitAQCAtMTQzLDYgKzE0Myw5 IEBAIGNsYXNzIFNhZ2VEaXNwbGF5Rm9ybWF0dGVyKERpc3BsYXlGb3JtYXR0ZXIpOgorIAorICAg ICAgICAgICAgIHNhZ2U6IGltcG9ydCBvcworICAgICAgICAgICAgIHNhZ2U6IGltcG9ydCBpbXBv cnRsaWIucmVzb3VyY2VzCisrICAgICAgICAgICAgc2FnZTogaW1wb3J0IHdhcm5pbmdzCisrICAg ICAgICAgICAgc2FnZTogd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVnb3J5 PURlcHJlY2F0aW9uV2FybmluZywKKysgICAgICAgICAgICAuLi4uOiAgICAgbWVzc2FnZT1yJ3Bh dGggaXMgZGVwcmVjYXRlZFwuIFVzZSBmaWxlc1woXCkgaW5zdGVhZFwuJykKKyAgICAgICAgICAg ICBzYWdlOiBmcm9tIHNhZ2UucmVwbC5yaWNoX291dHB1dC5iYWNrZW5kX2lweXRob24gaW1wb3J0 IEJhY2tlbmRJUHl0aG9uCisgICAgICAgICAgICAgc2FnZTogYmFja2VuZCA9IEJhY2tlbmRJUHl0 aG9uKCkKKyAgICAgICAgICAgICBzYWdlOiBzaGVsbCA9IGdldF90ZXN0X3NoZWxsKCkKKy0tIAor Mi4zOC4xCisKKworRnJvbSA0NDQ4MGY0ODI3ZTJiYzFlZDhkYWY2ZjQ1MDRhMjJhZTZlOGJlNGE0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3Ju YXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgorRGF0ZTogTW9uLCAzMSBPY3QgMjAy MiAwNzoxNDowMSAtMDMwMAorU3ViamVjdDogW1BBVENIIDA5LzExXSBkb2N0ZXN0czogZml4ZXMg ZHVlIHRvIEFyZ1NwZWMgLT4gRnVsbEFyZ1NwZWMgY2hhbmdlCisKKy0tLQorIHNyYy9zYWdlL2lu dGVyZmFjZXMvc2luZ3VsYXIucHkgICAgICAgICAgICB8ICAzICstCisgc3JjL3NhZ2UvbGlicy9z aW5ndWxhci9zdGFuZGFyZF9vcHRpb25zLnB5IHwgIDMgKy0KKyBzcmMvc2FnZS9taXNjL2NhY2hl ZnVuYy5weXggICAgICAgICAgICAgICAgfCAgNiArLQorIHNyYy9zYWdlL21pc2MvZGVjb3JhdG9y cy5weSAgICAgICAgICAgICAgICB8ICA5ICsrLQorIHNyYy9zYWdlL21pc2MvbGF6eV9pbXBvcnQu cHl4ICAgICAgICAgICAgICB8ICA0ICstCisgc3JjL3NhZ2UvbWlzYy9zYWdlaW5zcGVjdC5weSAg ICAgICAgICAgICAgIHwgOTQgKysrKysrKysrKy0tLS0tLS0tLS0tLQorIHNyYy9zYWdlL3BhcmFs bGVsL2RlY29yYXRlLnB5ICAgICAgICAgICAgICB8ICAzICstCisgc3JjL3NhZ2UvcGxvdC9wbG90 M2QvcGxvdDNkLnB5ICAgICAgICAgICAgIHwgMTggKysrLS0KKyBzcmMvc2FnZS9zZXRzL3NldF9m cm9tX2l0ZXJhdG9yLnB5ICAgICAgICAgfCAgNCArLQorIDkgZmlsZXMgY2hhbmdlZCwgNzYgaW5z ZXJ0aW9ucygrKSwgNjggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9pbnRl cmZhY2VzL3Npbmd1bGFyLnB5IGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9zaW5ndWxhci5weQoraW5k ZXggOWM5NTg2ZDhiYzcuLjFkZWE3N2NkZmYwIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvaW50ZXJm YWNlcy9zaW5ndWxhci5weQorKysrIGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9zaW5ndWxhci5weQor QEAgLTI3MzQsNyArMjczNCw4IEBAIGRlZiBzaW5ndWxhcl9nYl9zdGFuZGFyZF9vcHRpb25zKGZ1 bmMpOgorICAgICAgICAgc2FnZTogUC48eCx5PiA9IFFRW10KKyAgICAgICAgIHNhZ2U6IEkgPSBQ Klt4LHldCisgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoSS5pbnRlcnJlZHVjZWRfYmFz aXMpCistICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29y ZHM9Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxm J10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKKysgICAgICAgICAg ICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25z PXt9KQorICAgICAgICAgc2FnZTogc2FnZV9nZXRzb3VyY2VsaW5lcyhJLmludGVycmVkdWNlZF9i YXNpcykKKyAgICAgICAgIChbJyAgICBAaGFuZGxlX0FBX2FuZF9RUWJhclxuJywKKyAgICAgICAg ICAgJyAgICBAc2luZ3VsYXJfZ2Jfc3RhbmRhcmRfb3B0aW9uc1xuJywKK2RpZmYgLS1naXQgYS9z cmMvc2FnZS9saWJzL3Npbmd1bGFyL3N0YW5kYXJkX29wdGlvbnMucHkgYi9zcmMvc2FnZS9saWJz L3Npbmd1bGFyL3N0YW5kYXJkX29wdGlvbnMucHkKK2luZGV4IDY3OTdjYjA1MDAxLi41ZDc0ZGEz Y2UzYSAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc3RhbmRhcmRfb3B0aW9u cy5weQorKysrIGIvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9zdGFuZGFyZF9vcHRpb25zLnB5CitA QCAtMTE3LDcgKzExNyw4IEBAIGRlZiBsaWJzaW5ndWxhcl9nYl9zdGFuZGFyZF9vcHRpb25zKGZ1 bmMpOgorICAgICAgICAgc2FnZTogUC48eCx5PiA9IFFRW10KKyAgICAgICAgIHNhZ2U6IEkgPSBQ Klt4LHldCisgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoSS5pbnRlcnJlZHVjZWRfYmFz aXMpCistICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29y ZHM9Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxm J10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKKysgICAgICAgICAg ICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25z PXt9KQorICAgICAgICAgc2FnZTogc2FnZV9nZXRzb3VyY2VsaW5lcyhJLmludGVycmVkdWNlZF9i YXNpcykKKyAgICAgICAgIChbJyAgICBAaGFuZGxlX0FBX2FuZF9RUWJhclxuJywKKyAgICAgICAg ICAgJyAgICBAc2luZ3VsYXJfZ2Jfc3RhbmRhcmRfb3B0aW9uc1xuJywKK2RpZmYgLS1naXQgYS9z cmMvc2FnZS9taXNjL2NhY2hlZnVuYy5weXggYi9zcmMvc2FnZS9taXNjL2NhY2hlZnVuYy5weXgK K2luZGV4IDcyMDQyZWYxM2Q2Li5jZWEzMDcxMTE1ZCAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL21p c2MvY2FjaGVmdW5jLnB5eAorKysrIGIvc3JjL3NhZ2UvbWlzYy9jYWNoZWZ1bmMucHl4CitAQCAt OTMxLDkgKzkzMSw5IEBAIGNkZWYgY2xhc3MgQ2FjaGVkRnVuY3Rpb24oKToKKyAgICAgICAgICAg ICBzYWdlOiBJID0gUCpbeCx5XQorICAgICAgICAgICAgIHNhZ2U6IGZyb20gc2FnZS5taXNjLnNh Z2VpbnNwZWN0IGltcG9ydCBzYWdlX2dldGFyZ3NwZWMKKyAgICAgICAgICAgICBzYWdlOiBzYWdl X2dldGFyZ3NwZWMoSS5ncm9lYm5lcl9iYXNpcykgICAjIGluZGlyZWN0IGRvY3Rlc3QKKy0gICAg ICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ2FsZ29yaXRobScsICdkZWdfYm91bmQnLCAn bXVsdF9ib3VuZCcsICdwcm90J10sCistICAgICAgICAgICAgdmFyYXJncz0nYXJncycsIGtleXdv cmRzPSdrd2RzJywgZGVmYXVsdHM9KCcnLCBOb25lLCBOb25lLAorLSAgICAgICAgICAgIEZhbHNl KSkKKysgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICdhbGdvcml0aG0nLCAn ZGVnX2JvdW5kJywgJ211bHRfYm91bmQnLCAncHJvdCddLAorKyAgICAgICAgICAgICAgICAgICAg ICAgIHZhcmFyZ3M9J2FyZ3MnLCB2YXJrdz0na3dkcycsIGRlZmF1bHRzPSgnJywgTm9uZSwgTm9u ZSwgRmFsc2UpLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25s eWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorIAorICAgICAgICAgIiIiCisgICAgICAg ICByZXR1cm4gc2FnZV9nZXRhcmdzcGVjKHNlbGYuZikKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9t aXNjL2RlY29yYXRvcnMucHkgYi9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkKK2luZGV4IDI3 MWUyNDMwNTBmLi5kZDkxMjNmNTAwNCAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL21pc2MvZGVjb3Jh dG9ycy5weQorKysrIGIvc3JjL3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5CitAQCAtOTMsNyArOTMs OCBAQCBkZWYgc2FnZV93cmFwcyh3cmFwcGVkLCBhc3NpZ25lZD1XUkFQUEVSX0FTU0lHTk1FTlRT LCB1cGRhdGVkPVdSQVBQRVJfVVBEQVRFUyk6CisgICAgICAgICA1CisgICAgICAgICBzYWdlOiBm cm9tIHNhZ2UubWlzYy5zYWdlaW5zcGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCisgICAgICAg ICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoZykKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3gnXSwg dmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQorKyAgICAgICAgRnVs bEFyZ1NwZWMoYXJncz1bJ3gnXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz1O b25lLAorKyAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9 Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgCisgICAgIERlbW9uc3RyYXRlIHRoYXQgaXQgY29ycmVj dGx5IGdldHMgdGhlIHNvdXJjZSBsaW5lcyBhbmQgdGhlIHNvdXJjZQorICAgICBmaWxlLCB3aGlj aCBpcyBlc3NlbnRpYWwgZm9yIGludGVyYWN0aXZlIGNvZGUgZWRpdGlvbjsgbm90ZSB0aGF0IHdl CitAQCAtMzkyLDcgKzM5Myw4IEBAIGNsYXNzIHN1Ym9wdGlvbnMoKToKKyAKKyAgICAgICAgICAg ICBzYWdlOiBmcm9tIHNhZ2UubWlzYy5zYWdlaW5zcGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVj CisgICAgICAgICAgICAgc2FnZTogc2FnZV9nZXRhcmdzcGVjKGYpCistICAgICAgICAgICAgQXJn U3BlYyhhcmdzPVsnYXJyb3dfc2l6ZSddLCB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMn LCBkZWZhdWx0cz0oMiwpKQorKyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhcnJvd19z aXplJ10sIHZhcmFyZ3M9J2FyZ3MnLCB2YXJrdz0na3dkcycsIGRlZmF1bHRzPSgyLCksCisrICAg ICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwg YW5ub3RhdGlvbnM9e30pCisgICAgICAgICAiIiIKKyAgICAgICAgIEBzYWdlX3dyYXBzKGZ1bmMp CisgICAgICAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd2RzKToKK0BAIC00NjAsNyArNDYyLDgg QEAgY2xhc3Mgb3B0aW9ucygpOgorICAgICAgICAgICAgIHNhZ2U6IGYxID0gbyhmKQorICAgICAg ICAgICAgIHNhZ2U6IGZyb20gc2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBzYWdlX2dldGFy Z3NwZWMKKyAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoZjEpCistICAgICAgICAg ICAgQXJnU3BlYyhhcmdzPVsncmdiY29sb3InXSwgdmFyYXJncz0nYXJncycsIGtleXdvcmRzPSdr d2RzJywgZGVmYXVsdHM9KCgwLCAwLCAxKSwpKQorKyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFy Z3M9WydyZ2Jjb2xvciddLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz0o KDAsIDAsIDEpLCksCisrICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dv bmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgICAgICAgICAiIiIKKyAgICAgICAg IHNlbGYub3B0aW9ucyA9IG9wdGlvbnMKKyAgICAgICAgIHNlbGYub3JpZ2luYWxfb3B0cyA9IG9w dGlvbnMucG9wKCdfX29yaWdpbmFsX29wdHMnLCBGYWxzZSkKK2RpZmYgLS1naXQgYS9zcmMvc2Fn ZS9taXNjL2xhenlfaW1wb3J0LnB5eCBiL3NyYy9zYWdlL21pc2MvbGF6eV9pbXBvcnQucHl4Citp bmRleCAyZDQ0MTNjZDFhMy4uMDE4MDc4YjBjZjIgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9taXNj L2xhenlfaW1wb3J0LnB5eAorKysrIGIvc3JjL3NhZ2UvbWlzYy9sYXp5X2ltcG9ydC5weXgKK0BA IC0zNTEsNyArMzUxLDkgQEAgY2RlZiBjbGFzcyBMYXp5SW1wb3J0KCk6CisgICAgICAgICAgICAg c2FnZTogZnJvbSBzYWdlLm1pc2MubGF6eV9pbXBvcnQgaW1wb3J0IExhenlJbXBvcnQKKyAgICAg ICAgICAgICBzYWdlOiBybSA9IExhenlJbXBvcnQoJ3NhZ2UuYWxsJywgJ3JhbmRvbV9tYXRyaXgn KQorICAgICAgICAgICAgIHNhZ2U6IHJtLl9zYWdlX2FyZ3NwZWNfKCkKKy0gICAgICAgICAgICBB cmdTcGVjKGFyZ3M9WydyaW5nJywgJ25yb3dzJywgJ25jb2xzJywgJ2FsZ29yaXRobScsICdpbXBs ZW1lbnRhdGlvbiddLCB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0cz0o Tm9uZSwgJ3JhbmRvbWl6ZScsIE5vbmUpKQorKyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9 WydyaW5nJywgJ25yb3dzJywgJ25jb2xzJywgJ2FsZ29yaXRobScsICdpbXBsZW1lbnRhdGlvbidd LAorKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmFyZ3M9J2FyZ3MnLCB2YXJrdz0na3dkcycs IGRlZmF1bHRzPShOb25lLCAncmFuZG9taXplJywgTm9uZSksCisrICAgICAgICAgICAgICAgICAg ICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30p CisgICAgICAgICAiIiIKKyAgICAgICAgIHJldHVybiBzYWdlaW5zcGVjdC5zYWdlX2dldGFyZ3Nw ZWMoc2VsZi5nZXRfb2JqZWN0KCkpCisgCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWlzYy9zYWdl aW5zcGVjdC5weSBiL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkKK2luZGV4IGNlOWE3NGY5 MzFkLi42MTlmZjZkYTY2MSAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3Qu cHkKKysrKyBiL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkKK0BAIC0xMDksNyArMTA5LDcg QEAgZGVmaW5lZCBDeXRob24gY29kZSwgYW5kIHdpdGggcmF0aGVyIHRyaWNreSBhcmd1bWVudCBs aW5lczo6CisgICAgIHNhZ2U6IHByaW50KHNhZ2VfZ2V0c291cmNlKGZvbykpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBvcHRpb25hbCAtIHNhZ2UubWlzYy5jeXRob24KKyAgICAgZGVmIGZvbyh1bnNpZ25lZCBp bnQgeD0xLCBhPScpIicsIGI9e25vdCAoMisxPT0zKTonYmFyJ30sICphcmdzLCAqKmt3ZHMpOiBy ZXR1cm4KKyAgICAgc2FnZTogc2FnZV9nZXRhcmdzcGVjKGZvbykgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjIG9wdGlvbmFsIC0gc2FnZS5taXNjLmN5dGhvbgorLSAgICBBcmdTcGVjKGFyZ3M9Wyd4Jywg J2EnLCAnYiddLCB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0cz0oMSwg JykiJywge0ZhbHNlOiAnYmFyJ30pKQorKyAgICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICdhJywg J2InXSwgdmFyYXJncz0nYXJncycsIHZhcmt3PSdrd2RzJywgZGVmYXVsdHM9KDEsICcpIicsIHtG YWxzZTogJ2Jhcid9KSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3Rh dGlvbnM9e30pCisgCisgIiIiCisgCitAQCAtMzQzLDcgKzM0Myw3IEBAIGRlZiBfZXh0cmFjdF9l bWJlZGRlZF9zaWduYXR1cmUoZG9jc3RyaW5nLCBuYW1lKToKKyAgICAgICAgIEZpbGU6IHNhZ2Uv bWlzYy9uZXN0ZWRfY2xhc3MucHl4IChzdGFydGluZyBhdCBsaW5lIC4uLikKKyAgICAgICAgIC4u LgorICAgICAgICAgc2FnZTogX2V4dHJhY3RfZW1iZWRkZWRfc2lnbmF0dXJlKE1haW5DbGFzcy5O ZXN0ZWRDbGFzcy5OZXN0ZWRTdWJDbGFzcy5kdW1teS5fX2RvY19fLCAnZHVtbXknKVsxXQorLSAg ICAgICAgQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ3InXSwgdmFyYXJncz0nYXJncycsIGtl eXdvcmRzPSdrd2RzJywgZGVmYXVsdHM9KCgxLCAyLCAzLjQpLCkpCisrICAgICAgICBGdWxsQXJn U3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ3InXSwgdmFyYXJncz0nYXJncycsIHZhcmt3PSdrd2Rz JywgZGVmYXVsdHM9KCgxLCAyLCAzLjQpLCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRz PU5vbmUsIGFubm90YXRpb25zPXt9KQorICAgICAgICAgc2FnZTogX2V4dHJhY3RfZW1iZWRkZWRf c2lnbmF0dXJlKHJhbmdlLl9fY2FsbF9fLl9fZG9jX18sICdfX2NhbGxfXycpCisgICAgICAgICAo J0NhbGwgc2VsZiBhcyBhIGZ1bmN0aW9uLicsIE5vbmUpCisgICAgICIiIgorQEAgLTExMDcsMjIg KzExMDcsMTggQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfZnJvbV9hc3Qoc291cmNlKToKKyAKKyAg ICAgRVhBTVBMRVM6OgorIAorLSAgICAgICAgc2FnZTogaW1wb3J0IHdhcm5pbmdzCistICAgICAg ICBzYWdlOiB3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygnaWdub3JlJywKKy0gICAgICAgIC4uLi46 ICAgICAgICAgICAgICAgICAgICAgICAgIHInaW5zcGVjdC5nZXRhcmdzcGVjXChcKSBpcyBkZXBy ZWNhdGVkJywKKy0gICAgICAgIC4uLi46ICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0 aW9uV2FybmluZykKKyAgICAgICAgIHNhZ2U6IGltcG9ydCBpbnNwZWN0LCBzYWdlLm1pc2Muc2Fn ZWluc3BlY3QgYXMgc21zCisgICAgICAgICBzYWdlOiBmcm9tX2FzdCA9IHNtcy5fc2FnZV9nZXRh cmdzcGVjX2Zyb21fYXN0CisgICAgICAgICBzYWdlOiBzID0gImRlZiBmKGEsIGI9MiwgYz17J2En OiBbNCwgNS41LCBGYWxzZV19LCBkPShOb25lLCBUcnVlKSk6XG4gICAgcmV0dXJuIgorICAgICAg ICAgc2FnZTogZnJvbV9hc3QocykKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ2EnLCAnYicsICdj JywgJ2QnXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oMiwgeydhJzog WzQsIDUuNSwgRmFsc2VdfSwgKE5vbmUsIFRydWUpKSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFy Z3M9WydhJywgJ2InLCAnYycsICdkJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVs dHM9KDIsIHsnYSc6IFs0LCA1LjUsIEZhbHNlXX0sIChOb25lLCBUcnVlKSksIGt3b25seWFyZ3M9 W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorICAgICAgICAgc2FnZTog Y29udGV4dCA9IHt9CisgICAgICAgICBzYWdlOiBleGVjKGNvbXBpbGUocywgJzxzdHJpbmc+Jywg J3NpbmdsZScpLCBjb250ZXh0KQorLSAgICAgICAgc2FnZTogaW5zcGVjdC5nZXRhcmdzcGVjKGNv bnRleHRbJ2YnXSkKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ2EnLCAnYicsICdjJywgJ2QnXSwg dmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oMiwgeydhJzogWzQsIDUuNSwg RmFsc2VdfSwgKE5vbmUsIFRydWUpKSkKKy0gICAgICAgIHNhZ2U6IGZyb21fYXN0KHMpID09IGlu c3BlY3QuZ2V0YXJnc3BlYyhjb250ZXh0WydmJ10pCisrICAgICAgICBzYWdlOiBpbnNwZWN0Lmdl dGZ1bGxhcmdzcGVjKGNvbnRleHRbJ2YnXSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wydh JywgJ2InLCAnYycsICdkJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDIs IHsnYSc6IFs0LCA1LjUsIEZhbHNlXX0sIChOb25lLCBUcnVlKSksIGt3b25seWFyZ3M9W10sIGt3 b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorKyAgICAgICAgc2FnZTogZnJvbV9h c3QocykgPT0gaW5zcGVjdC5nZXRmdWxsYXJnc3BlYyhjb250ZXh0WydmJ10pCisgICAgICAgICBU cnVlCistICAgICAgICBzYWdlOiBzZXQoZnJvbV9hc3Qoc21zLnNhZ2VfZ2V0c291cmNlKHgpKSA9 PSBpbnNwZWN0LmdldGFyZ3NwZWMoeCkgZm9yIHggaW4gW2ZhY3RvciwgaWRlbnRpdHlfbWF0cml4 LCBHcmFwaC5fX2luaXRfX10pCisrICAgICAgICBzYWdlOiBzZXQoZnJvbV9hc3Qoc21zLnNhZ2Vf Z2V0c291cmNlKHgpKSA9PSBpbnNwZWN0LmdldGZ1bGxhcmdzcGVjKHgpIGZvciB4IGluIFtmYWN0 b3IsIGlkZW50aXR5X21hdHJpeCwgR3JhcGguX19pbml0X19dKQorICAgICAgICAge1RydWV9Cisg ICAgICIiIgorICAgICBhc3RfYXJncyA9IGFzdC5wYXJzZShzb3VyY2UubHN0cmlwKCkpLmJvZHlb MF0uYXJncworQEAgLTExNTksMjMgKzExNTUsMjMgQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfY3l0 aG9uKHNvdXJjZSk6CisgCisgICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubWlzYy5zYWdlaW5zcGVj dCBpbXBvcnQgX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24gYXMgc2djCisgICAgICAgICBzYWdlOiBz Z2MoImNwZGVmIGRvdWJsZSBhYmMoc2VsZiwgRWxlbWVudCB4PU5vbmUsIFBhcmVudCBiYXNlPTAp OiIpCistICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdz PU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPShOb25lLCAwKSkKKysgICAgICAgIEZ1bGxB cmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5v bmUsIGRlZmF1bHRzPShOb25lLCAwKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9u ZSwgYW5ub3RhdGlvbnM9e30pCisgICAgICAgICBzYWdlOiBzZ2MoImRlZiBfX2luaXRfXyhzZWxm LCB4PU5vbmUsIHVuc2lnbmVkIGludCBiYXNlPTApOiIpCistICAgICAgICBBcmdTcGVjKGFyZ3M9 WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1 bHRzPShOb25lLCAwKSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAn YmFzZSddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPShOb25lLCAwKSwga3dv bmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgICAgICAg ICBzYWdlOiBzZ2MoJ2RlZiBvKHAsIHI9e30sICpxLCAqKnMpIGV4Y2VwdD8gLTE6JykKKy0gICAg ICAgIEFyZ1NwZWMoYXJncz1bJ3AnLCAnciddLCB2YXJhcmdzPSdxJywga2V5d29yZHM9J3MnLCBk ZWZhdWx0cz0oe30sKSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydwJywgJ3InXSwgdmFy YXJncz0ncScsIHZhcmt3PSdzJywgZGVmYXVsdHM9KHt9LCksIGt3b25seWFyZ3M9W10sIGt3b25s eWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorICAgICAgICAgc2FnZTogc2djKCdjcGRl ZiBob3cocj0oTm9uZSwgInU6ZG9pbmc/IikpOicpCistICAgICAgICBBcmdTcGVjKGFyZ3M9Wydy J10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KChOb25lLCAndTpkb2lu Zz8nKSwpKQorKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3InXSwgdmFyYXJncz1Ob25lLCB2 YXJrdz1Ob25lLCBkZWZhdWx0cz0oKE5vbmUsICd1OmRvaW5nPycpLCksIGt3b25seWFyZ3M9W10s IGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorICAgICAgICAgc2FnZTogc2dj KCdkZWYgXyh4PSIpOiIpOicpCistICAgICAgICBBcmdTcGVjKGFyZ3M9Wyd4J10sIHZhcmFyZ3M9 Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KCcpOicsKSkKKysgICAgICAgIEZ1bGxBcmdT cGVjKGFyZ3M9Wyd4J10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KCcpOics KSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisg ICAgICAgICBzYWdlOiBzZ2MoJ2RlZiBmKHogPSB7KDEsIDIsIDMpOiBUcnVlfSk6XG4gICAgcmV0 dXJuIHonKQorLSAgICAgICAgQXJnU3BlYyhhcmdzPVsneiddLCB2YXJhcmdzPU5vbmUsIGtleXdv cmRzPU5vbmUsIGRlZmF1bHRzPSh7KDEsIDIsIDMpOiBUcnVlfSwpKQorKyAgICAgICAgRnVsbEFy Z1NwZWMoYXJncz1bJ3onXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oeygx LCAyLCAzKTogVHJ1ZX0sKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5u b3RhdGlvbnM9e30pCisgICAgICAgICBzYWdlOiBzZ2MoJ2RlZiBmKGRvdWJsZSB4LCB6ID0geygx LCAyLCAzKTogVHJ1ZX0pOlxuICAgIHJldHVybiB6JykKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1b J3gnLCAneiddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPSh7KDEsIDIs IDMpOiBUcnVlfSwpKQorKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3gnLCAneiddLCB2YXJh cmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPSh7KDEsIDIsIDMpOiBUcnVlfSwpLCBrd29u bHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKKyAgICAgICAg IHNhZ2U6IHNnYygnZGVmIGYoKmFyZ3MpOiBwYXNzJykKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1b XSwgdmFyYXJncz0nYXJncycsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPU5vbmUpCisrICAgICAg ICBGdWxsQXJnU3BlYyhhcmdzPVtdLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9Tm9uZSwgZGVmYXVs dHM9Tm9uZSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9 e30pCisgICAgICAgICBzYWdlOiBzZ2MoJ2RlZiBmKCoqYXJncyk6IHBhc3MnKQorLSAgICAgICAg QXJnU3BlYyhhcmdzPVtdLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPSdhcmdzJywgZGVmYXVsdHM9 Tm9uZSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9W10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9 J2FyZ3MnLCBkZWZhdWx0cz1Ob25lLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25l LCBhbm5vdGF0aW9ucz17fSkKKyAKKyAgICAgU29tZSBtYWxmb3JtZWQgaW5wdXQgaXMgZGV0ZWN0 ZWQ6OgorIAorQEAgLTEyMDcsMTcgKzEyMDMsMTcgQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfY3l0 aG9uKHNvdXJjZSk6CisgCisgICAgICAgICBzYWdlOiBkZWYgZHVtbXlfcHl0aG9uKHNlbGYsICph cmdzLCB4PTEpOiBwYXNzCisgICAgICAgICBzYWdlOiBzZ2MoImRlZiBkdW1teV9weXRob24oc2Vs ZiwgKmFyZ3MsIHg9MSk6IHBhc3MiKQorLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4 J10sIHZhcmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oMSwpKQorKyAgICAg ICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAneCddLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9 Tm9uZSwgZGVmYXVsdHM9KDEsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwg YW5ub3RhdGlvbnM9e30pCisgICAgICAgICBzYWdlOiBjeXRob24oImRlZiBkdW1teV9jeXRob24o c2VsZiwgKmFyZ3MsIHg9MSk6IHBhc3MiKQorICAgICAgICAgc2FnZTogc2djKCJkZWYgZHVtbXlf Y3l0aG9uKHNlbGYsICphcmdzLCB4PTEpOiBwYXNzIikKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1b J3NlbGYnLCAneCddLCB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KDEs KSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnXSwgdmFyYXJncz0nYXJn cycsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPSgxLCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1 bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorIAorICAgICBJbiBzb21lIGV4YW1wbGVzIGFib3Zl LCBhIHN5bnRheCBlcnJvciB3YXMgcmFpc2VkIHdoZW4gYSB0eXBlCisgICAgIGRlZmluaXRpb24g Y29udGFpbnMgYSBwb2ludGVyLiBBbiBleGNlcHRpb24gaXMgbWFkZSBmb3IgYGBjaGFyKmBgLAor ICAgICBzaW5jZSBDIHN0cmluZ3MgYXJlIGFjY2VwdGFibGUgaW5wdXQgaW4gcHVibGljIEN5dGhv biBmdW5jdGlvbnM6OgorIAorICAgICAgICAgc2FnZTogc2djKCdkZWYgZihjaGFyICp4ID0gImEg c3RyaW5nIiwgeiA9IHsoMSwyLDMpOiBUcnVlfSk6IHBhc3MnKQorLSAgICAgICAgQXJnU3BlYyhh cmdzPVsneCcsICd6J10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KCdh IHN0cmluZycsIHsoMSwgMiwgMyk6IFRydWV9KSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9 Wyd4JywgJ3onXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oJ2Egc3RyaW5n JywgeygxLCAyLCAzKTogVHJ1ZX0pLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25l LCBhbm5vdGF0aW9ucz17fSkKKyAKKyAKKyAgICAgQVVUSE9SUzoKK0BAIC0xNTAzLDQwICsxNDk5 LDQwIEBAIGRlZiBzYWdlX2dldGFyZ3NwZWMob2JqKToKKyAgICAgICAgIHNhZ2U6IGRlZiBmKHgs IHksIHo9MSwgdD0yLCAqYXJncywgKiprZXl3b3Jkcyk6CisgICAgICAgICAuLi4uOiAgICAgcGFz cworICAgICAgICAgc2FnZTogc2FnZV9nZXRhcmdzcGVjKGYpCistICAgICAgICBBcmdTcGVjKGFy Z3M9Wyd4JywgJ3knLCAneicsICd0J10sIHZhcmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz0na2V5d29y ZHMnLCBkZWZhdWx0cz0oMSwgMikpCisrICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICd5 JywgJ3onLCAndCddLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2tleXdvcmRzJywgZGVmYXVsdHM9 KDEsIDIpLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17 fSkKKyAKKyAgICAgV2Ugbm93IHJ1biBzYWdlX2dldGFyZ3NwZWMgb24gc29tZSBmdW5jdGlvbnMg ZnJvbSB0aGUgU2FnZSBsaWJyYXJ5OjoKKyAKKyAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3Bl YyhpZGVudGl0eV9tYXRyaXgpCistICAgICAgICBBcmdTcGVjKGFyZ3M9WydyaW5nJywgJ24nLCAn c3BhcnNlJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KDAsIEZhbHNl KSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydyaW5nJywgJ24nLCAnc3BhcnNlJ10sIHZh cmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDAsIEZhbHNlKSwga3dvbmx5YXJncz1b XSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgICAgICAgICBzYWdlOiBz YWdlX2dldGFyZ3NwZWMoZmFjdG9yKQorLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnbicsICdwcm9v ZicsICdpbnRfJywgJ2FsZ29yaXRobScsICd2ZXJib3NlJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29y ZHM9J2t3ZHMnLCBkZWZhdWx0cz0oTm9uZSwgRmFsc2UsICdwYXJpJywgMCkpCisrICAgICAgICBG dWxsQXJnU3BlYyhhcmdzPVsnbicsICdwcm9vZicsICdpbnRfJywgJ2FsZ29yaXRobScsICd2ZXJi b3NlJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz0oTm9uZSwgRmFsc2Us ICdwYXJpJywgMCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRp b25zPXt9KQorIAorICAgICBJbiB0aGUgY2FzZSBvZiBhIGNsYXNzIG9yIGEgY2xhc3MgaW5zdGFu Y2UsIHRoZSBgYEFyZ1NwZWNgYCBvZiB0aGUKKyAgICAgYGBfX25ld19fYGAsIGBgX19pbml0X19g YCBvciBgYF9fY2FsbF9fYGAgbWV0aG9kIGlzIHJldHVybmVkOjoKKyAKKyAgICAgICAgIHNhZ2U6 IFAuPHgseT4gPSBRUVtdCisgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoUCkKKy0gICAg ICAgIEFyZ1NwZWMoYXJncz1bJ2Jhc2VfcmluZycsICduJywgJ25hbWVzJywgJ29yZGVyJ10sIHZh cmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KCdkZWdyZXZsZXgnLCkpCisrICAg ICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYmFzZV9yaW5nJywgJ24nLCAnbmFtZXMnLCAnb3JkZXIn XSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oJ2RlZ3JldmxleCcsKSwga3dv bmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgICAgICAg ICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoUC5fX2NsYXNzX18pCistICAgICAgICBBcmdTcGVjKGFy Z3M9WydzZWxmJywgJ3gnXSwgdmFyYXJncz0nYXJncycsIGtleXdvcmRzPSdrd2RzJywgZGVmYXVs dHM9KDAsKSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnXSwgdmFyYXJn cz0nYXJncycsIHZhcmt3PSdrd2RzJywgZGVmYXVsdHM9KDAsKSwga3dvbmx5YXJncz1bXSwga3dv bmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgCisgICAgIFRoZSBmb2xsb3dpbmcg dGVzdHMgYWdhaW5zdCB2YXJpb3VzIGJ1Z3MgdGhhdCB3ZXJlIGZpeGVkIGluCisgICAgIDp0cmFj OmA5OTc2YDo6CisgCisgICAgICAgICBzYWdlOiBmcm9tIHNhZ2UucmluZ3MucG9seW5vbWlhbC5y ZWFsX3Jvb3RzIGltcG9ydCBiZXJuc3RlaW5fcG9seW5vbWlhbF9mYWN0b3J5X3JhdGxpc3QKKyAg ICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhiZXJuc3RlaW5fcG9seW5vbWlhbF9mYWN0b3J5 X3JhdGxpc3QuY29lZmZzX2JpdHNpemUpCistICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJ10s IHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKKysgICAgICAgIEZ1 bGxBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVs dHM9Tm9uZSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9 e30pCisgICAgICAgICBzYWdlOiBmcm9tIHNhZ2UucmluZ3MucG9seW5vbWlhbC5wYm9yaS5wYm9y aSBpbXBvcnQgQm9vbGVhbk1vbm9taWFsTW9ub2lkCisgICAgICAgICBzYWdlOiBzYWdlX2dldGFy Z3NwZWMoQm9vbGVhbk1vbm9taWFsTW9ub2lkLmdlbikKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1b J3NlbGYnLCAnaSddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPSgwLCkp CisrICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICdpJ10sIHZhcmFyZ3M9Tm9uZSwg dmFya3c9Tm9uZSwgZGVmYXVsdHM9KDAsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9 Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgICAgICAgICBzYWdlOiBJID0gUCpbeCx5XQorICAgICAg ICAgc2FnZTogc2FnZV9nZXRhcmdzcGVjKEkuZ3JvZWJuZXJfYmFzaXMpCistICAgICAgICBBcmdT cGVjKGFyZ3M9WydzZWxmJywgJ2FsZ29yaXRobScsICdkZWdfYm91bmQnLCAnbXVsdF9ib3VuZCcs ICdwcm90J10sCistICAgICAgICB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZh dWx0cz0oJycsIE5vbmUsIE5vbmUsIEZhbHNlKSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9 WydzZWxmJywgJ2FsZ29yaXRobScsICdkZWdfYm91bmQnLCAnbXVsdF9ib3VuZCcsICdwcm90J10s CisrICAgICAgICB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz0oJycsIE5v bmUsIE5vbmUsIEZhbHNlKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5u b3RhdGlvbnM9e30pCisgICAgICAgICBzYWdlOiBjeXRob24oImNwZGVmIGludCBmb28oeCx5KSBl eGNlcHQgLTE6IHJldHVybiAxIikKKyAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhmb28p CistICAgICAgICBBcmdTcGVjKGFyZ3M9Wyd4JywgJ3knXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jk cz1Ob25lLCBkZWZhdWx0cz1Ob25lKQorKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3gnLCAn eSddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsIGt3b25seWFyZ3M9 W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorIAorICAgICBJZiBhIGBg ZnVuY3Rvb2xzLnBhcnRpYWxgYCBpbnN0YW5jZSBpcyBpbnZvbHZlZCwgd2Ugc2VlIG5vIG90aGVy IG1lYW5pbmdmdWwgc29sdXRpb24KKyAgICAgdGhhbiB0byByZXR1cm4gdGhlIGFyZ3NwZWMgb2Yg dGhlIHVuZGVybHlpbmcgZnVuY3Rpb246OgorQEAgLTE1NDYsNyArMTU0Miw3IEBAIGRlZiBzYWdl X2dldGFyZ3NwZWMob2JqKToKKyAgICAgICAgIHNhZ2U6IGltcG9ydCBmdW5jdG9vbHMKKyAgICAg ICAgIHNhZ2U6IGYxID0gZnVuY3Rvb2xzLnBhcnRpYWwoZiwgMSxjPTIpCisgICAgICAgICBzYWdl OiBzYWdlX2dldGFyZ3NwZWMoZjEpCistICAgICAgICBBcmdTcGVjKGFyZ3M9WydhJywgJ2InLCAn YycsICdkJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KDEsKSkKKysg ICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2InLCAnYycsICdkJ10sIHZhcmFyZ3M9Tm9u ZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDEsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVs dHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgCisgICAgIFRFU1RTOgorIAorQEAgLTE1NzIsMTQg KzE1NjgsMTQgQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgorICAgICAgICAgc2FnZTogcHJp bnQoc2FnZS5taXNjLnNhZ2VpbnNwZWN0LnNhZ2VfZ2V0c291cmNlKE8pKQorICAgICAgICAgZGVm IGZvbyh4LCBhPScpIicsIGI9eygyKzEpOidiYXInLCBub3QgMTozLCAzPDw0OjV9KTogcmV0dXJu CisgICAgICAgICBzYWdlOiBzcGVjID0gc2FnZS5taXNjLnNhZ2VpbnNwZWN0LnNhZ2VfZ2V0YXJn c3BlYyhPKQorLSAgICAgICAgc2FnZTogc3BlYy5hcmdzLCBzcGVjLnZhcmFyZ3MsIHNwZWMua2V5 d29yZHMKKysgICAgICAgIHNhZ2U6IHNwZWMuYXJncywgc3BlYy52YXJhcmdzLCBzcGVjLnZhcmt3 CisgICAgICAgICAoWyd4JywgJ2EnLCAnYiddLCBOb25lLCBOb25lKQorICAgICAgICAgc2FnZTog c3BlYy5kZWZhdWx0c1swXQorICAgICAgICAgJykiJworICAgICAgICAgc2FnZTogc29ydGVkKHNw ZWMuZGVmYXVsdHNbMV0uaXRlbXMoKSwga2V5PWxhbWJkYSB4OiBzdHIoeCkpCisgICAgICAgICBb KDMsICdiYXInKSwgKDQ4LCA1KSwgKEZhbHNlLCAzKV0KKyAgICAgICAgIHNhZ2U6IHNhZ2UubWlz Yy5zYWdlaW5zcGVjdC5zYWdlX2dldGFyZ3NwZWMoTy5fX2NhbGxfXykKKy0gICAgICAgIEFyZ1Nw ZWMoYXJncz1bJ3NlbGYnLCAnbScsICduJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwg ZGVmYXVsdHM9Tm9uZSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ20nLCAn biddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsIGt3b25seWFyZ3M9 W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorIAorICAgICA6OgorIAor QEAgLTE1ODgsMTMgKzE1ODQsMTMgQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgorICAgICAg ICAgZGVmIGZvbyh4LCBhPSdcJykiJywgYj17bm90ICgyKzE9PTMpOidiYXInfSk6IHJldHVybgor ICAgICAgICAgPEJMQU5LTElORT4KKyAgICAgICAgIHNhZ2U6IHNhZ2UubWlzYy5zYWdlaW5zcGVj dC5zYWdlX2dldGFyZ3NwZWMoZm9vKQorLSAgICAgICAgQXJnU3BlYyhhcmdzPVsneCcsICdhJywg J2InXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oJ1wnKSInLCB7RmFs c2U6ICdiYXInfSkpCisrICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICdhJywgJ2InXSwg dmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oJ1wnKSInLCB7RmFsc2U6ICdiYXIn fSksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQor IAorICAgICBUaGUgZm9sbG93aW5nIHByb2R1Y2VkIGEgc3ludGF4IGVycm9yIGJlZm9yZSB0aGUg cGF0Y2ggYXQgOnRyYWM6YDExOTEzYCwKKyAgICAgc2VlIGFsc28gOnRyYWM6YDI2OTA2YDo6Cisg CisgICAgICAgICBzYWdlOiBzYWdlLm1pc2Muc2FnZWluc3BlY3Quc2FnZV9nZXRhcmdzcGVjKHIu bG0pICAgICAgICAgICAgICAgICAgICAgICAgICMgb3B0aW9uYWwgLSBycHkyCistICAgICAgICBB cmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz0na3dkcycsIGRl ZmF1bHRzPU5vbmUpCisrICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZiddLCB2YXJhcmdz PSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz1Ob25lLCBrd29ubHlhcmdzPVtdLCBrd29u bHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKKyAKKyAgICAgVGhlIGZvbGxvd2luZyB3 YXMgZml4ZWQgaW4gOnRyYWM6YDE2MzA5YDo6CisgCitAQCAtMTYwOCwyMyArMTYwNCwyMyBAQCBk ZWYgc2FnZV9nZXRhcmdzcGVjKG9iaik6CisgICAgICAgICAuLi4uOiAgICAgY3BkZWYgbWVldChj YXRlZ29yaWVzLCBiaW50IGFzX2xpc3QgPSBGYWxzZSwgdHVwbGUgaWdub3JlX2F4aW9tcz0oKSwg dHVwbGUgYXhpb21zPSgpKTogcGFzcworICAgICAgICAgLi4uLjogJycnKQorICAgICAgICAgc2Fn ZTogc2FnZV9nZXRhcmdzcGVjKEZvby5qb2luKQorLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnY2F0 ZWdvcmllcycsICdhc19saXN0JywgJ2lnbm9yZV9heGlvbXMnLCAnYXhpb21zJ10sIHZhcmFyZ3M9 Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KEZhbHNlLCAoKSwgKCkpKQorKyAgICAgICAg RnVsbEFyZ1NwZWMoYXJncz1bJ2NhdGVnb3JpZXMnLCAnYXNfbGlzdCcsICdpZ25vcmVfYXhpb21z JywgJ2F4aW9tcyddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPShGYWxzZSwg KCksICgpKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9 e30pCisgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoQmFyLmpvaW4pCistICAgICAgICBB cmdTcGVjKGFyZ3M9WydjYXRlZ29yaWVzJywgJ2FzX2xpc3QnLCAnaWdub3JlX2F4aW9tcycsICdh eGlvbXMnXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oRmFsc2UsICgp LCAoKSkpCisrICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnY2F0ZWdvcmllcycsICdhc19saXN0 JywgJ2lnbm9yZV9heGlvbXMnLCAnYXhpb21zJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwg ZGVmYXVsdHM9KEZhbHNlLCAoKSwgKCkpLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1O b25lLCBhbm5vdGF0aW9ucz17fSkKKyAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhCYXIu bWVldCkKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ2NhdGVnb3JpZXMnLCAnYXNfbGlzdCcsICdp Z25vcmVfYXhpb21zJywgJ2F4aW9tcyddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRl ZmF1bHRzPShGYWxzZSwgKCksICgpKSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydjYXRl Z29yaWVzJywgJ2FzX2xpc3QnLCAnaWdub3JlX2F4aW9tcycsICdheGlvbXMnXSwgdmFyYXJncz1O b25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oRmFsc2UsICgpLCAoKSksIGt3b25seWFyZ3M9W10s IGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorIAorICAgICBUZXN0IHRoYXQg OnRyYWM6YDE3MDA5YCBpcyBmaXhlZDo6CisgCisgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3Nw ZWMoZ2FwKQorLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ25hbWUnXSwgdmFy YXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oTm9uZSwpKQorKyAgICAgICAgRnVs bEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAneCcsICduYW1lJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9 Tm9uZSwgZGVmYXVsdHM9KE5vbmUsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9u ZSwgYW5ub3RhdGlvbnM9e30pCisgCisgICAgIEJ5IDp0cmFjOmAxNzgxNGAsIHRoZSBmb2xsb3dp bmcgZ2l2ZXMgdGhlIGNvcnJlY3QgYW5zd2VyIChwcmV2aW91c2x5LCB0aGUKKyAgICAgZGVmYXVs dHMgd291bGQgaGF2ZSBiZWVuIGZvdW5kIGBgTm9uZWBgKTo6CisgCisgICAgICAgICBzYWdlOiBm cm9tIHNhZ2UubWlzYy5uZXN0ZWRfY2xhc3MgaW1wb3J0IE1haW5DbGFzcworICAgICAgICAgc2Fn ZTogc2FnZV9nZXRhcmdzcGVjKE1haW5DbGFzcy5OZXN0ZWRDbGFzcy5OZXN0ZWRTdWJDbGFzcy5k dW1teSkKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAneCcsICdyJ10sIHZhcmFyZ3M9 J2FyZ3MnLCBrZXl3b3Jkcz0na3dkcycsIGRlZmF1bHRzPSgoMSwgMiwgMy40KSwpKQorKyAgICAg ICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAneCcsICdyJ10sIHZhcmFyZ3M9J2FyZ3MnLCB2 YXJrdz0na3dkcycsIGRlZmF1bHRzPSgoMSwgMiwgMy40KSwpLCBrd29ubHlhcmdzPVtdLCBrd29u bHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKKyAKKyAgICAgSW4gOnRyYWM6YDE4MjQ5 YCB3YXMgZGVjaWRlZCB0byByZXR1cm4gYSBnZW5lcmljIHNpZ25hdHVyZSBmb3IgUHl0aG9uCisg ICAgIGJ1aWx0aW4gZnVuY3Rpb25zLCByYXRoZXIgdGhhbiB0byByYWlzZSBhbiBlcnJvciAod2hp Y2ggaXMgd2hhdCBQeXRob24ncworQEAgLTE2MzIsNyArMTYyOCw3IEBAIGRlZiBzYWdlX2dldGFy Z3NwZWMob2JqKToKKyAKKyAgICAgICAgIHNhZ2U6IGltcG9ydCBpbnNwZWN0CisgICAgICAgICBz YWdlOiBzYWdlX2dldGFyZ3NwZWMocmFuZ2UpCistICAgICAgICBBcmdTcGVjKGFyZ3M9W10sIHZh cmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz0na3dkcycsIGRlZmF1bHRzPU5vbmUpCisrICAgICAgICBG dWxsQXJnU3BlYyhhcmdzPVtdLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0 cz1Ob25lLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17 fSkKKyAKKyAgICAgVGVzdCB0aGF0IDp0cmFjOmAyODUyNGAgaXMgZml4ZWQ6OgorIAorQEAgLTE4 MTksMTQgKzE4MTUsMTAgQEAgZGVmIHNhZ2VfZm9ybWF0YXJnc3BlYyhhcmdzLCB2YXJhcmdzPU5v bmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsCisgICAgIEVYQU1QTEVTOjoKKyAKKyAgICAg ICAgIHNhZ2U6IGZyb20gc2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBzYWdlX2Zvcm1hdGFy Z3NwZWMKKy0gICAgICAgIHNhZ2U6IGZyb20gaW5zcGVjdCBpbXBvcnQgZm9ybWF0YXJnc3BlYyAj IGRlcHJlY2F0ZWQgaW4gUHl0aG9uIDMKKyAgICAgICAgIHNhZ2U6IGFyZ3MgPSBbJ2EnLCAnYics ICdjJ10KKyAgICAgICAgIHNhZ2U6IGRlZmF1bHRzID0gWzNdCisgICAgICAgICBzYWdlOiBzYWdl X2Zvcm1hdGFyZ3NwZWMoYXJncywgZGVmYXVsdHM9ZGVmYXVsdHMpCisgICAgICAgICAnKGEsIGIs IGM9MyknCistICAgICAgICBzYWdlOiBpbXBvcnQgd2FybmluZ3M7IHdhcm5pbmdzLnNpbXBsZWZp bHRlcignaWdub3JlJykgICMgaWdub3JlIERlcHJlY2F0aW9uV2FybmluZworLSAgICAgICAgc2Fn ZTogZm9ybWF0YXJnc3BlYyhhcmdzLCBkZWZhdWx0cz1kZWZhdWx0cykgPT0gc2FnZV9mb3JtYXRh cmdzcGVjKGFyZ3MsIGRlZmF1bHRzPWRlZmF1bHRzKQorLSAgICAgICAgVHJ1ZQorICAgICAiIiIK KyAgICAgZGVmIGZvcm1hdGFyZ2FuZGFubm90YXRpb24oYXJnKToKKyAgICAgICAgIHJlc3VsdCA9 IGZvcm1hdGFyZyhhcmcpCitAQCAtMjY0OSwxMSArMjY0MSwxMSBAQCBkZWYgX19pbnRlcm5hbF90 ZXN0cygpOgorICAgICBUZXN0IF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uIHdpdGggbXVsdGlwbGUg ZGVmYXVsdCBhcmd1bWVudHMgYW5kIGEgdHlwZTo6CisgCisgICAgICAgICBzYWdlOiBfc2FnZV9n ZXRhcmdzcGVjX2N5dGhvbigiZGVmIGluaXQoc2VsZiwgeD1Ob25lLCBiYXNlPTApOiIpCistICAg ICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIGtl eXdvcmRzPU5vbmUsIGRlZmF1bHRzPShOb25lLCAwKSkKKysgICAgICAgIEZ1bGxBcmdTcGVjKGFy Z3M9WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1 bHRzPShOb25lLCAwKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3Rh dGlvbnM9e30pCisgICAgICAgICBzYWdlOiBfc2FnZV9nZXRhcmdzcGVjX2N5dGhvbigiZGVmIF9f aW5pdF9fKHNlbGYsIHg9Tm9uZSwgYmFzZT0wKToiKQorLSAgICAgICAgQXJnU3BlYyhhcmdzPVsn c2VsZicsICd4JywgJ2Jhc2UnXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0 cz0oTm9uZSwgMCkpCisrICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ2Jh c2UnXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oTm9uZSwgMCksIGt3b25s eWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorICAgICAgICAg c2FnZTogX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oImRlZiBfX2luaXRfXyhzZWxmLCB4PU5vbmUs IHVuc2lnbmVkIGludCBiYXNlPTAsICoqa2V5cyk6IikKKy0gICAgICAgIEFyZ1NwZWMoYXJncz1b J3NlbGYnLCAneCcsICdiYXNlJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9J2tleXMnLCBkZWZh dWx0cz0oTm9uZSwgMCkpCisrICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4Jywg J2Jhc2UnXSwgdmFyYXJncz1Ob25lLCB2YXJrdz0na2V5cycsIGRlZmF1bHRzPShOb25lLCAwKSwg a3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCisgCisg ICAgIFRlc3QgX2V4dHJhY3RfZW1iZWRkZWRfcG9zaXRpb246CisgCitkaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvcGFyYWxsZWwvZGVjb3JhdGUucHkgYi9zcmMvc2FnZS9wYXJhbGxlbC9kZWNvcmF0ZS5w eQoraW5kZXggYzE0NTE4YWY1NzAuLjNhNzE1MmQ1YWM5IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2Uv cGFyYWxsZWwvZGVjb3JhdGUucHkKKysrKyBiL3NyYy9zYWdlL3BhcmFsbGVsL2RlY29yYXRlLnB5 CitAQCAtMjQzLDcgKzI0Myw4IEBAIGZvciBhIGluIGFyZ3NbMF0pKQorICAgICAgICAgICAgIC4u Li46ICAgICByZXR1cm4geCArIHkKKyAgICAgICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubWlzYy5z YWdlaW5zcGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCisgICAgICAgICAgICAgc2FnZTogc2Fn ZV9nZXRhcmdzcGVjKHAoZikpCistICAgICAgICAgICAgQXJnU3BlYyhhcmdzPVsneCcsICd5J10s IHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKKysgICAgICAgICAg ICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICd5J10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwg ZGVmYXVsdHM9Tm9uZSwKKysgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBr d29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKKyAgICAgICAgICIiIgorICAgICAg ICAgZnJvbSBzYWdlLm1pc2Muc2FnZWluc3BlY3QgaW1wb3J0IHNhZ2VfZ2V0YXJnc3BlYworICAg ICAgICAgcmV0dXJuIHNhZ2VfZ2V0YXJnc3BlYyhzZWxmLmZ1bmMpCitkaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvcGxvdC9wbG90M2QvcGxvdDNkLnB5IGIvc3JjL3NhZ2UvcGxvdC9wbG90M2QvcGxvdDNk LnB5CitpbmRleCA2NGIxMWEwNDQyYS4uMTc0NzY1OTgwZjcgMTAwNjQ0CistLS0gYS9zcmMvc2Fn ZS9wbG90L3Bsb3QzZC9wbG90M2QucHkKKysrKyBiL3NyYy9zYWdlL3Bsb3QvcGxvdDNkL3Bsb3Qz ZC5weQorQEAgLTMyOSwxOSArMzI5LDI0IEBAIGNsYXNzIF9Db29yZGluYXRlcygpOgorICAgICAg ICAgICAgIHNhZ2U6IHQxLHQyLHQzPVQudG9fY2FydGVzaWFuKGxhbWJkYSBhLGI6IDIqYStiKQor ICAgICAgICAgICAgIHNhZ2U6IGZyb20gc2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBzYWdl X2dldGFyZ3NwZWMKKyAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWModDEpCistICAg ICAgICAgICAgQXJnU3BlYyhhcmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9 Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKKysgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYScs ICdiJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKKysgICAgICAg ICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5v dGF0aW9ucz17fSkKKyAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWModDIpCistICAg ICAgICAgICAgQXJnU3BlYyhhcmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9 Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKKysgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYScs ICdiJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKKysgICAgICAg ICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5v dGF0aW9ucz17fSkKKyAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWModDMpCistICAg ICAgICAgICAgQXJnU3BlYyhhcmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9 Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKKysgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYScs ICdiJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKKysgICAgICAg ICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5v dGF0aW9ucz17fSkKKyAKKyAgICAgICAgICAgICBzYWdlOiBkZWYgZyhhLGIpOiByZXR1cm4gMiph K2IKKyAgICAgICAgICAgICBzYWdlOiB0MSx0Mix0Mz1ULnRvX2NhcnRlc2lhbihnKQorICAgICAg ICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyh0MSkKKy0gICAgICAgICAgICBBcmdTcGVjKGFy Z3M9WydhJywgJ2InXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25l KQorKyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2InXSwgdmFyYXJncz1Ob25l LCB2YXJrdz1Ob25lLCBkZWZhdWx0cz1Ob25lLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGt3 b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorICAgICAg ICAgICAgIHNhZ2U6IHQxLHQyLHQzPVQudG9fY2FydGVzaWFuKDIqYStiKQorICAgICAgICAgICAg IHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyh0MSkKKy0gICAgICAgICAgICBBcmdTcGVjKGFyZ3M9Wydh JywgJ2InXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQorKyAg ICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2InXSwgdmFyYXJncz1Ob25lLCB2YXJr dz1Ob25lLCBkZWZhdWx0cz1Ob25lLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFy Z3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorIAorICAgICAgICAg SWYgd2UgY2Fubm90IGd1ZXNzIHRoZSByaWdodCBwYXJhbWV0ZXIgbmFtZXMsIHRoZW4gdGhlCisg ICAgICAgICBwYXJhbWV0ZXJzIGFyZSBuYW1lZCBgdWAgYW5kIGB2YDo6CitAQCAtMzUyLDcgKzM1 Nyw4IEBAIGNsYXNzIF9Db29yZGluYXRlcygpOgorICAgICAgICAgICAgIHNhZ2U6IFQgPSBfQXJi aXRyYXJ5Q29vcmRpbmF0ZXMoKHggKyB5LCB4IC0geSwgeiksIHosW3gseV0pCisgICAgICAgICAg ICAgc2FnZTogdDEsdDIsdDM9VC50b19jYXJ0ZXNpYW4ob3BlcmF0b3IuYWRkKQorICAgICAgICAg ICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyh0MSkKKy0gICAgICAgICAgICBBcmdTcGVjKGFyZ3M9 Wyd1JywgJ3YnXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQor KyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wyd1JywgJ3YnXSwgdmFyYXJncz1Ob25lLCB2 YXJrdz1Ob25lLCBkZWZhdWx0cz1Ob25lLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25s eWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorICAgICAgICAg ICAgIHNhZ2U6IFtoKDEsMikgZm9yIGggaW4gVC50b19jYXJ0ZXNpYW4ob3BlcmF0b3IubXVsKV0K KyAgICAgICAgICAgICBbMy4wLCAtMS4wLCAyLjBdCisgICAgICAgICAgICAgc2FnZTogW2godT0x LHY9MikgZm9yIGggaW4gVC50b19jYXJ0ZXNpYW4ob3BlcmF0b3IubXVsKV0KK2RpZmYgLS1naXQg YS9zcmMvc2FnZS9zZXRzL3NldF9mcm9tX2l0ZXJhdG9yLnB5IGIvc3JjL3NhZ2Uvc2V0cy9zZXRf ZnJvbV9pdGVyYXRvci5weQoraW5kZXggM2EyMzYwMzgzZWEuLjc0MDE1YzQ0MzNkIDEwMDY0NAor LS0tIGEvc3JjL3NhZ2Uvc2V0cy9zZXRfZnJvbV9pdGVyYXRvci5weQorKysrIGIvc3JjL3NhZ2Uv c2V0cy9zZXRfZnJvbV9pdGVyYXRvci5weQorQEAgLTUyNiw3ICs1MjYsOSBAQCBjbGFzcyBEZWNv cmF0b3IoKToKKyAgICAgICAgICAgICBzYWdlOiBkID0gRGVjb3JhdG9yKCkKKyAgICAgICAgICAg ICBzYWdlOiBkLmYgPSBmaW5kX2xvY2FsX21pbmltdW0KKyAgICAgICAgICAgICBzYWdlOiBzYWdl X2dldGFyZ3NwZWMoZCkgIyBpbmRpcmVjdCBkb2N0ZXN0CistICAgICAgICAgICAgQXJnU3BlYyhh cmdzPVsnZicsICdhJywgJ2InLCAndG9sJywgJ21heGZ1biddLCB2YXJhcmdzPU5vbmUsIGtleXdv cmRzPU5vbmUsIGRlZmF1bHRzPSgxLjQ4ZS0wOCwgNTAwKSkKKysgICAgICAgICAgICBGdWxsQXJn U3BlYyhhcmdzPVsnZicsICdhJywgJ2InLCAndG9sJywgJ21heGZ1biddLAorKyAgICAgICAgICAg ICAgICAgICAgICAgIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDEuNDhlLTA4 LCA1MDApLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRl ZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQorICAgICAgICAgIiIiCisgICAgICAgICBmcm9t IHNhZ2UubWlzYy5zYWdlaW5zcGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCisgICAgICAgICBy ZXR1cm4gc2FnZV9nZXRhcmdzcGVjKHNlbGYuZikKKy0tIAorMi4zOC4xCisKKworRnJvbSA0ODJk ZDFhYzNkMmJjYWE5NGRkOTM1ZTNhZGQxYTUxNjU2NzRiMTQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlh QGNtYXQuZWR1LnV5PgorRGF0ZTogTW9uLCAzMSBPY3QgMjAyMiAyMjoxMjozOCAtMDMwMAorU3Vi amVjdDogW1BBVENIIDEwLzExXSBkb2N0ZXN0czogQXNzZXJ0aW9uRXJyb3IgbWVzc2FnZSBjaGFu Z2VkIGluIHB5dGhvbiAzLjExCisKKy0tLQorIHNyYy9zYWdlL21pc2MvbGF6eV9mb3JtYXQucHkg fCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisK K2RpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNjL2xhenlfZm9ybWF0LnB5IGIvc3JjL3NhZ2UvbWlz Yy9sYXp5X2Zvcm1hdC5weQoraW5kZXggZTMwNTA2OTViMjUuLmI1OGVhMTU1ODYyIDEwMDY0NAor LS0tIGEvc3JjL3NhZ2UvbWlzYy9sYXp5X2Zvcm1hdC5weQorKysrIGIvc3JjL3NhZ2UvbWlzYy9s YXp5X2Zvcm1hdC5weQorQEAgLTc4LDcgKzc4LDcgQEAgY2xhc3MgTGF6eUZvcm1hdChzdHIpOgor ICAgICAgICAgLi4uLjogICAgICAgICAgICAgICBMYXp5Rm9ybWF0KCIlcyBpcyB3cm9uZyIpJUlE b250TGlrZUJlaW5nUHJpbnRlZCgpKQorICAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBj YWxsIGxhc3QpOgorICAgICAgICAgLi4uCistICAgICAgICBBc3NlcnRpb25FcnJvcjogPHVucHJp bnRhYmxlIEFzc2VydGlvbkVycm9yIG9iamVjdD4KKysgICAgICAgIEFzc2VydGlvbkVycm9yOiAu Li4KKyAgICAgIiIiCisgCisgICAgIGRlZiBfX21vZF9fKHNlbGYsIGFyZ3MpOgorLS0gCisyLjM4 LjEKKworCitGcm9tIDdiNmZhNTY1ZjQyNmUyOGUxNGJlM2IyMmMyMDIzMDFmOWQ1MzBlOWUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1D Mz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+CitEYXRlOiBNb24sIDMxIE9jdCAyMDIyIDIy OjEzOjEzIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0ggMTEvMTFdIGRvY3Rlc3RzOiBtZXNzYWdlIGFk ZGVkIG1vcmUgaW5mbyBpbiBweXRob24gMy4xMQorCistLS0KKyBzcmMvc2FnZS9yZXBsL2F0dGFj aC5weSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0 IGEvc3JjL3NhZ2UvcmVwbC9hdHRhY2gucHkgYi9zcmMvc2FnZS9yZXBsL2F0dGFjaC5weQoraW5k ZXggMzlkYTZlZTRhY2QuLjIwYjg0OGU0ZjA0IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvcmVwbC9h dHRhY2gucHkKKysrKyBiL3NyYy9zYWdlL3JlcGwvYXR0YWNoLnB5CitAQCAtNTQsNiArNTQsNyBA QCBjaGFyYWN0ZXItYnktY2hhcmFjdGVyOjoKKyAgICAgICAgIGV4ZWMoY29kZSwgZ2xvYmFscykK KyAgICAgICBGaWxlICIuLi4vZm9vYmFyLnNhZ2UuLi4ucHkiLCBsaW5lIC4uLiwgaW4gPG1vZHVs ZT4KKyAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInRoaXJkIikgICAjIHRoaXMgc2hvdWxkIGFw cGVhciBpbiB0aGUgc291cmNlIHNuaXBwZXQKKysgICAgLi4uCisgICAgIFZhbHVlRXJyb3I6IHRo aXJkCisgICAgIHNhZ2U6IGRldGFjaChzcmMpCisgIiIiCistLSAKKzIuMzguMQorCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3RlbXBsYXRlIGIvc3JjcGtncy9zYWdlbWF0aC90ZW1wbGF0 ZQppbmRleCAyZTAxZDIwMDJlMDEuLjYyN2NkMzg2YzBkYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9z YWdlbWF0aC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NhZ2VtYXRoL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc2FnZW1hdGgnCiBwa2duYW1lPXNhZ2VtYXRo CiB2ZXJzaW9uPTkuNwotcmV2aXNpb249MgorcmV2aXNpb249Mwogd3Jrc3JjPXNhZ2UtJHZlcnNp b24KIGJ1aWxkX3dya3NyYz1wa2dzL3NhZ2VtYXRoLXN0YW5kYXJkCiBidWlsZF9zdHlsZT1weXRo b24zLW1vZHVsZQo= --===============3827199797466749067==--