From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: [rhel6] DTS backward Python compatibility API (BZ 1020004, Phil Muldoon). Date: Sat, 27 Jun 2026 23:56:28 GMT Message-ID: <178260458865.1.3835780183456376672.rpms-gdb-3af2cc602d3c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 3af2cc602d3c50edc186ef1f7b7ef72a0474832a ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogM2FmMmNjNjAyZDNjNTBlZGMxODZlZjFmN2I3ZWY3MmEwNDc0 ODMyYQogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxA cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxNC0wMi0yM1QyMjo1Nzo1MCswMTow MAogICAgICAgICAgICBTdGF0cyAgOiArNTE4Ly0yIGluIDMgZmlsZShzKQogICAgICAgICAgICBV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzNhZjJjYzYw MmQzYzUwZWRjMTg2ZWYxZjdiN2VmNzJhMDQ3NDgzMmE/YnJhbmNoPWdkYi0xNy4yLXJlYmFzZS1m NDQKCiAgICAgICAgICAgIExvZzoKICAgICAgICAgICAgW3JoZWw2XSBEVFMgYmFja3dhcmQgUHl0 aG9uIGNvbXBhdGliaWxpdHkgQVBJIChCWiAxMDIwMDA0LCBQaGlsIE11bGRvb24pLgoKLSBbcmhl bDZdIERvIG5vdCBpbnN0YWxsIGl0cyBtYW4gcGFnZSBpZiBnZGItYWRkLWluZGV4IGlzIG5vdCBp bnN0YWxsZWQuCi0gW3JoZWxdIERvIG5vdCBtaWdyYXRlIC91c3Ivc2hhcmUvZ2RiL2F1dG8tbG9h ZC8gd2l0aCBzeW1saW5rcyBvbiBSSEVMcy4KLSBGaXggZ2RiLTcuNyBhdXRvLWxvYWQgZnJvbSAv dXNyL3NoYXJlL2dkYi9hdXRvLWxvYWQvIHJlZ3Jlc3Npb24uCgotLS0KZGlmZiAtLWdpdCBhL2dk Yi1hdXRvLWxvYWQtbG9zdC1wYXRoLTcuNy5wYXRjaCBiL2dkYi1hdXRvLWxvYWQtbG9zdC1wYXRo LTcuNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Njc1ZDA2Ci0t LSAvZGV2L251bGwKKysrIGIvZ2RiLWF1dG8tbG9hZC1sb3N0LXBhdGgtNy43LnBhdGNoCkBAIC0w LDAgKzEsMTkwIEBACitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNC0w Mi9tc2cwMDcxMi5odG1sCitTdWJqZWN0OiBbcGF0Y2grNy43XSBGaXggYXV0by1sb2FkIDcuNyBy ZWdyZXNzaW9uICBbUmU6IFtjb21taXQgMi8yXSBNb3ZlIHByb2Nlc3Npbmcgb2YgLmRlYnVnX2dk Yl9zY3JpcHRzIHRvIGF1dG8tbG9hZC5jXQorCisKKy0tNmMyTmNPVnFHUTAzWDRXaQorQ29udGVu dC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCitDb250ZW50LURpc3Bvc2l0aW9u OiBpbmxpbmUKKworSGkgRG91ZywKKwordGhlIHJlZ3Jlc3Npb24gYWZmZWN0cyBhbnkgbG9hZGlu ZyBmcm9tIC91c3Ivc2hhcmUvZ2RiL2F1dG8tbG9hZCAuCisKKzViMmJmOTQ3MWYxNDk5YmVlNTc4 ZmNkNjBjMDVhZmU4NTc5NGUyODAgaXMgdGhlIGZpcnN0IGJhZCBjb21taXQKK2NvbW1pdCA1YjJi Zjk0NzFmMTQ5OWJlZTU3OGZjZDYwYzA1YWZlODU3OTRlMjgwCitBdXRob3I6IERvdWcgRXZhbnMg PHhkamU0MkBnbWFpbC5jb20+CitEYXRlOiAgIEZyaSBOb3YgMjkgMjE6Mjk6MjYgMjAxMyAtMDgw MAorICAgIE1vdmUgLmRlYnVnX2dkYl9zY3JpcHQgcHJvY2Vzc2luZyB0byBhdXRvLWxvYWQuYy4K KyAgICBTaW1wbGlmeSBoYW5kbGluZyBvZiBhdXRvLWxvYWRlZCBvYmpmaWxlIHNjcmlwdHMuCisK K0ZlZG9yYSAyMCB4ODZfNjQKKyQgZ2RiIC1xIC91c3IvbGliNjQvbGliZ29iamVjdC0yLjAuc28K K1JlYWRpbmcgc3ltYm9scyBmcm9tIC91c3IvbGliNjQvbGliZ2xpYi0yLjAuc28uMC4zODAwLjIu Li5SZWFkaW5nIHN5bWJvbHMgZnJvbSAvdXNyL2xpYi9kZWJ1Zy91c3IvbGliNjQvbGliZ2xpYi0y LjAuc28uMC4zODAwLjIuZGVidWcuLi5kb25lLgorZG9uZS4KKyhnZGIpIF8KKworRmVkb3JhIFJh d2hpZGUgeDg2XzY0CiskIGdkYiAtcSAvdXNyL2xpYjY0L2xpYmdvYmplY3QtMi4wLnNvCitSZWFk aW5nIHN5bWJvbHMgZnJvbSAvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLi4uUmVhZGluZyBzeW1i b2xzIGZyb20gL3Vzci9saWIvZGVidWcvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLjAuMzk5MC4w LmRlYnVnLi4uZG9uZS4KK2RvbmUuCit3YXJuaW5nOiBGaWxlICIvdXNyL2xpYjY0L2xpYmdsaWIt Mi4wLnNvLjAuMzk5MC4wLWdkYi5weSIgYXV0by1sb2FkaW5nIGhhcyBiZWVuIGRlY2xpbmVkIGJ5 IHlvdXIgYGF1dG8tbG9hZCBzYWZlLXBhdGgnIHNldCB0byAiJGRlYnVnZGlyOiRkYXRhZGlyL2F1 dG8tbG9hZDovdXNyL2Jpbi9tb25vLWdkYi5weSIuCitUbyBlbmFibGUgZXhlY3V0aW9uIG9mIHRo aXMgZmlsZSBhZGQKKwlhZGQtYXV0by1sb2FkLXNhZmUtcGF0aCAvdXNyL2xpYjY0L2xpYmdsaWIt Mi4wLnNvLjAuMzk5MC4wLWdkYi5weQorbGluZSB0byB5b3VyIGNvbmZpZ3VyYXRpb24gZmlsZSAi L2hvbWUvamtyYXRvY2gvLmdkYmluaXQiLgorVG8gY29tcGxldGVseSBkaXNhYmxlIHRoaXMgc2Vj dXJpdHkgcHJvdGVjdGlvbiBhZGQKKwlzZXQgYXV0by1sb2FkIHNhZmUtcGF0aCAvCitsaW5lIHRv IHlvdXIgY29uZmlndXJhdGlvbiBmaWxlICIvaG9tZS9qa3JhdG9jaC8uZ2RiaW5pdCIuCitGb3Ig bW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHNlY3VyaXR5IHByb3RlY3Rpb24gc2VlIHRoZQor IkF1dG8tbG9hZGluZyBzYWZlIHBhdGgiIHNlY3Rpb24gaW4gdGhlIEdEQiBtYW51YWwuICBFLmcu LCBydW4gZnJvbSB0aGUgc2hlbGw6CisJaW5mbyAiKGdkYilBdXRvLWxvYWRpbmcgc2FmZSBwYXRo IgorKGdkYikgXworCitUaGF0IGlzIGl0IHRyaWVzIHRvIGxvYWQgImZvcmJpZGRlbiIKKwkvdXNy L2xpYjY0L2xpYmdsaWItMi4wLnNvLjAuMzk5MC4wLWdkYi5weQorYnV0IGl0IHNob3VsZCBsb2Fk IGluc3RlYWQKKwkvdXNyL3NoYXJlL2dkYi9hdXRvLWxvYWQvdXNyL2xpYjY0L2xpYmdsaWItMi4w LnNvLjAuMzk5MC4wLWdkYi5weSoKK0FsdGhvdWdoIHRoYXQgaXMgYWxzbyBub3QgZXhhY3RseSB0 aGlzIHdheSwgdGhlcmUgZG9lcyBub3QgZXhpc3QgYW55CisJL3Vzci9saWI2NC9saWJnbGliLTIu MC5zby4wLjM5OTAuMC1nZGIucHkKK2Rlc3BpdGUgcmVncmVzc2VkIEdEQiBzYXlzIHNvLgorCisK KworUmVnYXJkcywKK0phbgorCistLTZjMk5jT1ZxR1EwM1g0V2kKK0NvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD11cy1hc2NpaQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBm aWxlbmFtZT0iYXV0b2xvYWQucGF0Y2giCisKK2dkYi8KKzIwMTQtMDItMjMgIEphbiBLcmF0b2No dmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogYXV0by1sb2FkLmMgKGF1dG9f bG9hZF9vYmpmaWxlX3NjcmlwdF8xKTogQ2hhbmdlIGZpbGVuYW1lIHRvCisJZGVidWdmaWxlLgor CitnZGIvdGVzdHN1aXRlLworMjAxNC0wMi0yMyAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9j aHZpbEByZWRoYXQuY29tPgorCisJKiBnZGIuYmFzZS9hdXRvLWxvYWQtc2NyaXB0OiBOZXcgZmls ZS4KKwkqIGdkYi5iYXNlL2F1dG8tbG9hZC5jOiBOZXcgZmlsZS4KKwkqIGdkYi5iYXNlL2F1dG8t bG9hZC5leHA6IE5ldyBmaWxlLgorCistLS0gZ2RiLTcuNy9nZGIvYXV0by1sb2FkLmMtb3JpZwky MDE0LTAyLTA2IDAzOjIxOjI5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjcvZ2RiL2F1dG8t bG9hZC5jCTIwMTQtMDItMjMgMjI6Mzg6NTMuODU4Mzc0ODQwICswMTAwCitAQCAtNzkxLDE3ICs3 OTEsMTcgQEAgYXV0b19sb2FkX29iamZpbGVfc2NyaXB0XzEgKHN0cnVjdCBvYmpmaQorICAgICAg IG1ha2VfY2xlYW51cF9mY2xvc2UgKGlucHV0KTsKKyAKKyAgICAgICBpc19zYWZlCistCT0gZmls ZV9pc19hdXRvX2xvYWRfc2FmZSAoZmlsZW5hbWUsCisrCT0gZmlsZV9pc19hdXRvX2xvYWRfc2Fm ZSAoZGVidWdmaWxlLAorIAkJCQkgIF8oImF1dG8tbG9hZDogTG9hZGluZyAlcyBzY3JpcHQgXCIl c1wiIgorIAkJCQkgICAgIiBieSBleHRlbnNpb24gZm9yIG9iamZpbGUgXCIlc1wiLlxuIiksCist CQkJCSAgbGFuZ3VhZ2UtPm5hbWUsIGZpbGVuYW1lLAorKwkJCQkgIGxhbmd1YWdlLT5uYW1lLCBk ZWJ1Z2ZpbGUsCisgCQkJCSAgb2JqZmlsZV9uYW1lIChvYmpmaWxlKSk7CisgCisgICAgICAgLyog QWRkIHRoaXMgc2NyaXB0IHRvIHRoZSBoYXNoIHRhYmxlIHRvbyBzbworIAkgImluZm8gYXV0by1s b2FkICR7bGFuZ30tc2NyaXB0cyIgY2FuIHByaW50IGl0LiAgKi8KKyAgICAgICBwc3BhY2VfaW5m bworIAk9IGdldF9hdXRvX2xvYWRfcHNwYWNlX2RhdGFfZm9yX2xvYWRpbmcgKGN1cnJlbnRfcHJv Z3JhbV9zcGFjZSk7CistICAgICAgbWF5YmVfYWRkX3NjcmlwdCAocHNwYWNlX2luZm8sIGlzX3Nh ZmUsIGZpbGVuYW1lLCBmaWxlbmFtZSwgbGFuZ3VhZ2UpOworKyAgICAgIG1heWJlX2FkZF9zY3Jp cHQgKHBzcGFjZV9pbmZvLCBpc19zYWZlLCBkZWJ1Z2ZpbGUsIGRlYnVnZmlsZSwgbGFuZ3VhZ2Up OworIAorICAgICAgIC8qIFRvIHByZXNlcnZlIGV4aXN0aW5nIGJlaGF2aW91ciB3ZSBkb24ndCBj aGVjayBmb3Igd2hldGhlciB0aGUKKyAJIHNjcmlwdCB3YXMgYWxyZWFkeSBpbiB0aGUgdGFibGUs IGFuZCBhbHdheXMgbG9hZCBpdC4KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2F1dG8tbG9hZC1zY3JpcHQgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F1dG8tbG9hZC1zY3Jp cHQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kMDJiZDFhCistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F1dG8tbG9hZC1zY3JpcHQKK0BA IC0wLDAgKzEsMTcgQEAKKysjIENvcHlyaWdodCAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorKworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor KyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysj IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKytlY2hvIHNjcmlw dF9sb2FkZWRcbgorK3NldCAkc2NyaXB0X2xvYWRlZD00MgorZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYXV0by1sb2FkLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F1dG8t bG9hZC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNGI5NDgwMworLS0t IC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdXRvLWxvYWQuYworQEAg LTAsMCArMSwyMiBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUg ZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y CisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK KysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKwor K2ludAorK21haW4gKHZvaWQpCisreworKyAgcmV0dXJuIDA7CisrfQorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXV0by1sb2FkLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXV0by1sb2FkLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjli ODIxMWQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXV0by1s b2FkLmV4cAorQEAgLTAsMCArMSwzNiBAQAorKyMgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysj IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysj IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKwor K3N0YW5kYXJkX3Rlc3RmaWxlCisrCisraWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3Rm aWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfV0gfSB7CisrICAgIHJldHVybiAtMQorK30K KysKKytzZXQgdGFyZ2V0ZGlyICIke2JpbmZpbGV9LmRpciIKKytzZXQgc291cmNlc2NyaXB0ICIk e2JpbmZpbGV9LXNjcmlwdCIKKytzZXQgdGFyZ2V0c2NyaXB0ZGlyICIke3RhcmdldGRpcn0vW2Zp bGUgZGlybmFtZSAke3NvdXJjZXNjcmlwdH1dIgorK3NldCB0YXJnZXRzY3JpcHQgIiR7dGFyZ2V0 c2NyaXB0ZGlyfS8ke3Rlc3RmaWxlfS1nZGIuZ2RiIgorKworK3JlbW90ZV9leGVjIGhvc3QgInJt IC1yZiAke3RhcmdldGRpcn0iCisrcmVtb3RlX2V4ZWMgaG9zdCAibWtkaXIgLXAgJHt0YXJnZXRz Y3JpcHRkaXJ9IgorK3JlbW90ZV9leGVjIGhvc3QgImNwICR7c291cmNlc2NyaXB0fSAke3Rhcmdl dHNjcmlwdH0iCisrCisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgYXV0by1sb2FkIHNjcmlwdHMt ZGlyZWN0b3J5ICR7dGFyZ2V0ZGlyfSIgInNldCBhdXRvLWxvYWQgc2NyaXB0cy1kaXJlY3Rvcnki CisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgYXV0by1sb2FkIHNhZmUtcGF0aCAke3RhcmdldHNj cmlwdH0iICJzZXQgYXV0by1sb2FkIHNhZmUtcGF0aCIKKysKKytnZGJfbG9hZCAke2JpbmZpbGV9 CisrCisrZ2RiX3Rlc3Qge3ByaW50ICRzY3JpcHRfbG9hZGVkfSAiID0gNDIiCisKKy0tNmMyTmNP VnFHUTAzWDRXaS0tCisKCmRpZmYgLS1naXQgYS9nZGItZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQu cGF0Y2ggYi9nZGItZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uNjllYjkyZQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1kdHMt cmhlbDYtcHl0aG9uLWNvbXBhdC5wYXRjaApAQCAtMCwwICsxLDMwMCBAQAoraHR0cHM6Ly9idWd6 aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMDIwMDA0CisKK2RpZmYgLWR1cCAtcnVO cCBnZGItNy43LW9yaWcvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluIGdkYi03LjcvZ2Ri L2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCistLS0gZ2RiLTcuNy1vcmlnL2dkYi9kYXRhLWRp cmVjdG9yeS9NYWtlZmlsZS5pbgkyMDE0LTAyLTIzIDE4OjEyOjUxLjMzODg2NjM5MSArMDEwMAor KysrIGdkYi03LjcvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCTIwMTQtMDItMjMgMTg6 MTQ6MzEuMTg3NzU2OTgzICswMTAwCitAQCAtNTgsOSArNTgsMTIgQEAgUFlUSE9OX0ZJTEVTID0g XAorIAlnZGIvZnJhbWVzLnB5IFwKKyAJZ2RiL0ZyYW1lSXRlcmF0b3IucHkgXAorIAlnZGIvRnJh bWVEZWNvcmF0b3IucHkgXAorKwlnZGIvRnJhbWVXcmFwcGVyLnB5IFwKKysJZ2RiL2JhY2t0cmFj ZS5weSBcCisgCWdkYi90eXBlcy5weSBcCisgCWdkYi9wcmludGluZy5weSBcCisgCWdkYi9wcm9t cHQucHkgXAorKwlnZGIvY29tbWFuZC9iYWNrdHJhY2UucHkgXAorIAlnZGIvY29tbWFuZC9ib3Vu ZF9yZWdpc3RlcnMucHkgXAorIAlnZGIvY29tbWFuZC9fX2luaXRfXy5weSBcCisgCWdkYi9jb21t YW5kL2lnbm9yZV9lcnJvcnMucHkgXAorZGlmZiAtZHVwIC1ydU5wIGdkYi03Ljctb3JpZy9nZGIv cHl0aG9uL2xpYi9nZGIvRnJhbWVXcmFwcGVyLnB5IGdkYi03LjcvZ2RiL3B5dGhvbi9saWIvZ2Ri L0ZyYW1lV3JhcHBlci5weQorLS0tIGdkYi03Ljctb3JpZy9nZGIvcHl0aG9uL2xpYi9nZGIvRnJh bWVXcmFwcGVyLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNy9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVXcmFwcGVyLnB5CTIwMTQtMDItMjMgMTg6MTQ6 MzEuMTg4NzU2OTgxICswMTAwCitAQCAtMCwwICsxLDEyMiBAQAorKyMgV3JhcHBlciBBUEkgZm9y IGZyYW1lcy4KKysKKysjIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisraW1w b3J0IGdkYgorKworKyMgRklYTUU6IGFyZ3VhYmx5IGFsbCB0aGlzIHNob3VsZCBiZSBvbiBGcmFt ZSBzb21laG93LgorK2NsYXNzIEZyYW1lV3JhcHBlcjoKKysgICAgZGVmIF9faW5pdF9fIChzZWxm LCBmcmFtZSk6CisrICAgICAgICBzZWxmLmZyYW1lID0gZnJhbWU7CisrCisrICAgIGRlZiB3cml0 ZV9zeW1ib2wgKHNlbGYsIHN0cmVhbSwgc3ltLCBibG9jayk6CisrICAgICAgICBpZiBsZW4gKHN5 bS5saW5rYWdlX25hbWUpOgorKyAgICAgICAgICAgIG5zeW0sIGlzX2ZpZWxkX29mX3RoaXMgPSBn ZGIubG9va3VwX3N5bWJvbCAoc3ltLmxpbmthZ2VfbmFtZSwgYmxvY2spCisrICAgICAgICAgICAg aWYgbnN5bS5hZGRyX2NsYXNzICE9IGdkYi5TWU1CT0xfTE9DX1JFR0lTVEVSOgorKyAgICAgICAg ICAgICAgICBzeW0gPSBuc3ltCisrCisrICAgICAgICBzdHJlYW0ud3JpdGUgKHN5bS5wcmludF9u YW1lICsgIj0iKQorKyAgICAgICAgdHJ5OgorKyAgICAgICAgICAgIHZhbCA9IHNlbGYucmVhZF92 YXIgKHN5bSkKKysgICAgICAgICAgICBpZiB2YWwgIT0gTm9uZToKKysgICAgICAgICAgICAgICAg dmFsID0gc3RyICh2YWwpCisrICAgICAgICAjIEZJWE1FOiB3b3VsZCBiZSBuaWNlIHRvIGhhdmUg YSBtb3JlIHByZWNpc2UgZXhjZXB0aW9uIGhlcmUuCisrICAgICAgICBleGNlcHQgUnVudGltZUVy cm9yLCB0ZXh0OgorKyAgICAgICAgICAgIHZhbCA9IHRleHQKKysgICAgICAgIGlmIHZhbCA9PSBO b25lOgorKyAgICAgICAgICAgIHN0cmVhbS53cml0ZSAoIj8/PyIpCisrICAgICAgICBlbHNlOgor KyAgICAgICAgICAgIHN0cmVhbS53cml0ZSAoc3RyICh2YWwpKQorKworKyAgICBkZWYgcHJpbnRf ZnJhbWVfbG9jYWxzIChzZWxmLCBzdHJlYW0sIGZ1bmMpOgorKworKyAgICAgICAgdHJ5OgorKyAg ICAgICAgICAgIGJsb2NrID0gc2VsZi5mcmFtZS5ibG9jaygpCisrICAgICAgICBleGNlcHQgUnVu dGltZUVycm9yOgorKyAgICAgICAgICAgIGJsb2NrID0gTm9uZQorKworKyAgICAgICAgd2hpbGUg YmxvY2sgIT0gTm9uZToKKysgICAgICAgICAgICBpZiBibG9jay5pc19nbG9iYWwgb3IgYmxvY2su aXNfc3RhdGljOgorKyAgICAgICAgICAgICAgICBicmVhaworKworKyAgICAgICAgZm9yIHN5bSBp biBibG9jazoKKysgICAgICAgICAgICBpZiBzeW0uaXNfYXJndW1lbnQ6CisrICAgICAgICAgICAg ICAgIGNvbnRpbnVlOworKworKyAgICAgICAgICAgIHNlbGYud3JpdGVfc3ltYm9sIChzdHJlYW0s IHN5bSwgYmxvY2spCisrICAgICAgICAgICAgc3RyZWFtLndyaXRlICgnXG4nKQorKworKyAgICBk ZWYgcHJpbnRfZnJhbWVfYXJncyAoc2VsZiwgc3RyZWFtLCBmdW5jKToKKysKKysgICAgICAgIHRy eToKKysgICAgICAgICAgICBibG9jayA9IHNlbGYuZnJhbWUuYmxvY2soKQorKyAgICAgICAgZXhj ZXB0IFJ1bnRpbWVFcnJvcjoKKysgICAgICAgICAgICBibG9jayA9IE5vbmUKKysKKysgICAgICAg IHdoaWxlIGJsb2NrICE9IE5vbmU6CisrICAgICAgICAgICAgaWYgYmxvY2suZnVuY3Rpb24gIT0g Tm9uZToKKysgICAgICAgICAgICAgICAgYnJlYWsKKysgICAgICAgICAgICBibG9jayA9IGJsb2Nr LnN1cGVyYmxvY2sKKysKKysgICAgICAgIGZpcnN0ID0gVHJ1ZQorKyAgICAgICAgZm9yIHN5bSBp biBibG9jazoKKysgICAgICAgICAgICBpZiBub3Qgc3ltLmlzX2FyZ3VtZW50OgorKyAgICAgICAg ICAgICAgICBjb250aW51ZTsKKysKKysgICAgICAgICAgICBpZiBub3QgZmlyc3Q6CisrICAgICAg ICAgICAgICAgIHN0cmVhbS53cml0ZSAoIiwgIikKKysKKysgICAgICAgICAgICBzZWxmLndyaXRl X3N5bWJvbCAoc3RyZWFtLCBzeW0sIGJsb2NrKQorKyAgICAgICAgICAgIGZpcnN0ID0gRmFsc2UK KysKKysgICAgIyBGSVhNRTogdGhpcyBzaG91bGQgcHJvYmFibHkganVzdCBiZSBhIG1ldGhvZCBv biBnZGIuRnJhbWUuCisrICAgICMgQnV0IHRoZW4gd2UgbmVlZCBzdHJlYW0gd3JhcHBlcnMuCisr ICAgIGRlZiBkZXNjcmliZSAoc2VsZiwgc3RyZWFtLCBmdWxsKToKKysgICAgICAgIGlmIHNlbGYu dHlwZSAoKSA9PSBnZGIuRFVNTVlfRlJBTUU6CisrICAgICAgICAgICAgc3RyZWFtLndyaXRlICgi IDxmdW5jdGlvbiBjYWxsZWQgZnJvbSBnZGI+XG4iKQorKyAgICAgICAgZWxpZiBzZWxmLnR5cGUg KCkgPT0gZ2RiLlNJR1RSQU1QX0ZSQU1FOgorKyAgICAgICAgICAgIHN0cmVhbS53cml0ZSAoIiA8 c2lnbmFsIGhhbmRsZXIgY2FsbGVkPlxuIikKKysgICAgICAgIGVsc2U6CisrICAgICAgICAgICAg c2FsID0gc2VsZi5maW5kX3NhbCAoKQorKyAgICAgICAgICAgIHBjID0gc2VsZi5wYyAoKQorKyAg ICAgICAgICAgIG5hbWUgPSBzZWxmLm5hbWUgKCkKKysgICAgICAgICAgICBpZiBub3QgbmFtZToK KysgICAgICAgICAgICAgICAgbmFtZSA9ICI/PyIKKysgICAgICAgICAgICBpZiBwYyAhPSBzYWwu cGMgb3Igbm90IHNhbC5zeW10YWI6CisrICAgICAgICAgICAgICAgIHN0cmVhbS53cml0ZSAoIiAw eCUwOHggaW4iICUgcGMpCisrICAgICAgICAgICAgc3RyZWFtLndyaXRlICgiICIgKyBuYW1lICsg IiAoIikKKysKKysgICAgICAgICAgICBmdW5jID0gc2VsZi5mdW5jdGlvbiAoKQorKyAgICAgICAg ICAgIHNlbGYucHJpbnRfZnJhbWVfYXJncyAoc3RyZWFtLCBmdW5jKQorKworKyAgICAgICAgICAg IHN0cmVhbS53cml0ZSAoIikiKQorKworKyAgICAgICAgICAgIGlmIHNhbC5zeW10YWIgYW5kIHNh bC5zeW10YWIuZmlsZW5hbWU6CisrICAgICAgICAgICAgICAgIHN0cmVhbS53cml0ZSAoIiBhdCAi ICsgc2FsLnN5bXRhYi5maWxlbmFtZSkKKysgICAgICAgICAgICAgICAgc3RyZWFtLndyaXRlICgi OiIgKyBzdHIgKHNhbC5saW5lKSkKKysKKysgICAgICAgICAgICBpZiBub3Qgc2VsZi5uYW1lICgp IG9yIChub3Qgc2FsLnN5bXRhYiBvciBub3Qgc2FsLnN5bXRhYi5maWxlbmFtZSk6CisrICAgICAg ICAgICAgICAgIGxpYiA9IGdkYi5zb2xpYl9uYW1lIChwYykKKysgICAgICAgICAgICAgICAgaWYg bGliOgorKyAgICAgICAgICAgICAgICAgICAgc3RyZWFtLndyaXRlICgiIGZyb20gIiArIGxpYikK KysKKysgICAgICAgICAgICBzdHJlYW0ud3JpdGUgKCJcbiIpCisrCisrICAgICAgICAgICAgaWYg ZnVsbDoKKysgICAgICAgICAgICAgICAgc2VsZi5wcmludF9mcmFtZV9sb2NhbHMgKHN0cmVhbSwg ZnVuYykKKysKKysgICAgZGVmIF9fZ2V0YXR0cl9fIChzZWxmLCBuYW1lKToKKysgICAgICAgIHJl dHVybiBnZXRhdHRyIChzZWxmLmZyYW1lLCBuYW1lKQorZGlmZiAtZHVwIC1ydU5wIGdkYi03Ljct b3JpZy9nZGIvcHl0aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5IGdkYi03LjcvZ2RiL3B5dGhvbi9s aWIvZ2RiL2JhY2t0cmFjZS5weQorLS0tIGdkYi03Ljctb3JpZy9nZGIvcHl0aG9uL2xpYi9nZGIv YmFja3RyYWNlLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNy9nZGIvcHl0aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5CTIwMTQtMDItMjMgMTg6MTQ6MzEu MTg4NzU2OTgxICswMTAwCitAQCAtMCwwICsxLDQyIEBACisrIyBGaWx0ZXJpbmcgYmFja3RyYWNl LgorKworKyMgQ29weXJpZ2h0IChDKSAyMDA4LCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorKworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor KyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysj IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKytpbXBvcnQgZ2Ri CisraW1wb3J0IGl0ZXJ0b29scworKworKyMgT3VyIG9ubHkgZXhwb3J0cy4KKytfX2FsbF9fID0g WydwdXNoX2ZyYW1lX2ZpbHRlcicsICdjcmVhdGVfZnJhbWVfZmlsdGVyJ10KKysKKytvbGRfZnJh bWVfZmlsdGVyID0gTm9uZQorKworK2RlZiBwdXNoX2ZyYW1lX2ZpbHRlciAoY29uc3RydWN0b3Ip OgorKyAgICAiIiJSZWdpc3RlciBhIG5ldyBiYWNrdHJhY2UgZmlsdGVyIGNsYXNzIHdpdGggdGhl ICdiYWNrdHJhY2UnIGNvbW1hbmQuCisrVGhlIGZpbHRlciB3aWxsIGJlIHBhc3NlZCBhbiBpdGVy YXRvciBhcyBhbiBhcmd1bWVudC4gIFRoZSBpdGVyYXRvcgorK3dpbGwgcmV0dXJuIGdkYi5GcmFt ZS1saWtlIG9iamVjdHMuICBUaGUgZmlsdGVyIHNob3VsZCBpbiB0dXJuIGFjdCBhcworK2FuIGl0 ZXJhdG9yIHJldHVybmluZyBzdWNoIG9iamVjdHMuIiIiCisrICAgIGdsb2JhbCBvbGRfZnJhbWVf ZmlsdGVyCisrICAgIGlmIG9sZF9mcmFtZV9maWx0ZXIgPT0gTm9uZToKKysgICAgICAgIG9sZF9m cmFtZV9maWx0ZXIgPSBjb25zdHJ1Y3RvcgorKyAgICBlbHNlOgorKyAgICAgICAgb2xkX2ZyYW1l X2ZpbHRlciA9IGxhbWJkYSBpdGVyYXRvciwgZmlsdGVyID0gZnJhbWVfZmlsdGVyOiBjb25zdHJ1 Y3RvciAoZmlsdGVyKGl0ZXJhdG9yKSkKKysKKytkZWYgY3JlYXRlX2ZyYW1lX2ZpbHRlciAoaXRl cik6CisrICAgIGdsb2JhbCBvbGRfZnJhbWVfZmlsdGVyCisrICAgIGlmIG9sZF9mcmFtZV9maWx0 ZXIgaXMgTm9uZToKKysgICAgICAgIHJldHVybiBpdGVyCisrICAgIHJldHVybiBvbGRfZnJhbWVf ZmlsdGVyIChpdGVyKQorKworZGlmZiAtZHVwIC1ydU5wIGdkYi03Ljctb3JpZy9nZGIvcHl0aG9u L2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkgZ2RiLTcuNy9nZGIvcHl0aG9uL2xpYi9nZGIv Y29tbWFuZC9iYWNrdHJhY2UucHkKKy0tLSBnZGItNy43LW9yaWcvZ2RiL3B5dGhvbi9saWIvZ2Ri L2NvbW1hbmQvYmFja3RyYWNlLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkJMjAx NC0wMi0yMyAxODoxNDozMS4xODg3NTY5ODEgKzAxMDAKK0BAIC0wLDAgKzEsMTA2IEBACisrIyBO ZXcgYmFja3RyYWNlIGNvbW1hbmQuCisrCisrIyBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIw MTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorKworK2ltcG9ydCBnZGIKKytpbXBvcnQgZ2RiLmJhY2t0cmFjZQorK2ltcG9y dCBpdGVydG9vbHMKKytmcm9tIGdkYi5GcmFtZUl0ZXJhdG9yIGltcG9ydCBGcmFtZUl0ZXJhdG9y CisrZnJvbSBnZGIuRnJhbWVXcmFwcGVyIGltcG9ydCBGcmFtZVdyYXBwZXIKKytpbXBvcnQgc3lz CisrCisrY2xhc3MgUmV2ZXJzZUJhY2t0cmFjZVBhcmFtZXRlciAoZ2RiLlBhcmFtZXRlcik6Cisr ICAgICIiIlRoZSBuZXctYmFja3RyYWNlIGNvbW1hbmQgY2FuIHNob3cgYmFja3RyYWNlcyBpbiAn cmV2ZXJzZScgb3JkZXIuCisrVGhpcyBtZWFucyB0aGF0IHRoZSBpbm5lcm1vc3QgZnJhbWUgd2ls bCBiZSBwcmludGVkIGxhc3QuCisrTm90ZSB0aGF0IHJldmVyc2UgYmFja3RyYWNlcyBhcmUgbW9y ZSBleHBlbnNpdmUgdG8gY29tcHV0ZS4iIiIKKysKKysgICAgc2V0X2RvYyA9ICJFbmFibGUgb3Ig ZGlzYWJsZSByZXZlcnNlIGJhY2t0cmFjZXMuIgorKyAgICBzaG93X2RvYyA9ICJTaG93IHdoZXRo ZXIgYmFja3RyYWNlcyB3aWxsIGJlIHByaW50ZWQgaW4gcmV2ZXJzZSBvcmRlci4iCisrCisrICAg IGRlZiBfX2luaXRfXyhzZWxmKToKKysgICAgICAgIGdkYi5QYXJhbWV0ZXIuX19pbml0X18gKHNl bGYsICJyZXZlcnNlLWJhY2t0cmFjZSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnZGIuQ09NTUFORF9TVEFDSywgZ2RiLlBBUkFNX0JPT0xFQU4pCisrICAgICAgICAjIERlZmF1 bHQgdG8gY29tcGF0aWJpbGl0eSB3aXRoIGdkYi4KKysgICAgICAgIHNlbGYudmFsdWUgPSBGYWxz ZQorKworK2NsYXNzIEZpbHRlcmluZ0JhY2t0cmFjZSAoZ2RiLkNvbW1hbmQpOgorKyAgICAiIiJQ cmludCBiYWNrdHJhY2Ugb2YgYWxsIHN0YWNrIGZyYW1lcywgb3IgaW5uZXJtb3N0IENPVU5UIGZy YW1lcy4KKytXaXRoIGEgbmVnYXRpdmUgYXJndW1lbnQsIHByaW50IG91dGVybW9zdCAtQ09VTlQg ZnJhbWVzLgorK1VzZSBvZiB0aGUgJ2Z1bGwnIHF1YWxpZmllciBhbHNvIHByaW50cyB0aGUgdmFs dWVzIG9mIHRoZSBsb2NhbCB2YXJpYWJsZXMuCisrVXNlIG9mIHRoZSAncmF3JyBxdWFsaWZpZXIg YXZvaWRzIGFueSBmaWx0ZXJpbmcgYnkgbG9hZGFibGUgbW9kdWxlcy4KKysiIiIKKysKKysgICAg ZGVmIF9faW5pdF9fIChzZWxmKToKKysgICAgICAgICMgRklYTUU6IHRoaXMgaXMgbm90IHdvcmtp bmcgcXVpdGUgd2VsbCBlbm91Z2ggdG8gcmVwbGFjZQorKyAgICAgICAgIyAiYmFja3RyYWNlIiB5 ZXQuCisrICAgICAgICBnZGIuQ29tbWFuZC5fX2luaXRfXyAoc2VsZiwgIm5ldy1iYWNrdHJhY2Ui LCBnZGIuQ09NTUFORF9TVEFDSykKKysgICAgICAgIHNlbGYucmV2ZXJzZSA9IFJldmVyc2VCYWNr dHJhY2VQYXJhbWV0ZXIoKQorKworKyAgICBkZWYgcmV2ZXJzZV9pdGVyIChzZWxmLCBpdGVyKToK KysgICAgICAgIHJlc3VsdCA9IFtdCisrICAgICAgICBmb3IgaXRlbSBpbiBpdGVyOgorKyAgICAg ICAgICAgIHJlc3VsdC5hcHBlbmQgKGl0ZW0pCisrICAgICAgICByZXN1bHQucmV2ZXJzZSgpCisr ICAgICAgICByZXR1cm4gcmVzdWx0CisrCisrICAgIGRlZiBmaW5hbF9uIChzZWxmLCBpdGVyLCB4 KToKKysgICAgICAgIHJlc3VsdCA9IFtdCisrICAgICAgICBmb3IgaXRlbSBpbiBpdGVyOgorKyAg ICAgICAgICAgIHJlc3VsdC5hcHBlbmQgKGl0ZW0pCisrICAgICAgICByZXR1cm4gcmVzdWx0W3g6 XQorKworKyAgICBkZWYgaW52b2tlIChzZWxmLCBhcmcsIGZyb21fdHR5KToKKysgICAgICAgIGkg PSAwCisrICAgICAgICBjb3VudCA9IDAKKysgICAgICAgIGZpbHRlciA9IFRydWUKKysgICAgICAg IGZ1bGwgPSBGYWxzZQorKworKyAgICAgICAgZm9yIHdvcmQgaW4gYXJnLnNwbGl0ICgiICIpOgor KyAgICAgICAgICAgIGlmIHdvcmQgPT0gJyc6CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisr ICAgICAgICAgICAgZWxpZiB3b3JkID09ICdyYXcnOgorKyAgICAgICAgICAgICAgICBmaWx0ZXIg PSBGYWxzZQorKyAgICAgICAgICAgIGVsaWYgd29yZCA9PSAnZnVsbCc6CisrICAgICAgICAgICAg ICAgIGZ1bGwgPSBUcnVlCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgY291 bnQgPSBpbnQgKHdvcmQpCisrCisrICAgICAgICAjIEZJWE1FOiBwcm92aWRlIG9wdGlvbiB0byBz dGFydCBhdCBzZWxlY3RlZCBmcmFtZQorKyAgICAgICAgIyBIb3dldmVyLCBzaG91bGQgc3RpbGwg bnVtYmVyIGFzIGlmIHN0YXJ0aW5nIGZyb20gbmV3ZXN0CisrICAgICAgICBuZXdlc3RfZnJhbWUg PSBnZGIubmV3ZXN0X2ZyYW1lKCkKKysgICAgICAgIGl0ZXIgPSBpdGVydG9vbHMuaW1hcCAoRnJh bWVXcmFwcGVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmFtZUl0ZXJhdG9y IChuZXdlc3RfZnJhbWUpKQorKyAgICAgICAgaWYgZmlsdGVyOgorKyAgICAgICAgICAgIGl0ZXIg PSBnZGIuYmFja3RyYWNlLmNyZWF0ZV9mcmFtZV9maWx0ZXIgKGl0ZXIpCisrCisrICAgICAgICAj IE5vdyB3cmFwIGluIGFuIGl0ZXJhdG9yIHRoYXQgbnVtYmVycyB0aGUgZnJhbWVzLgorKyAgICAg ICAgaXRlciA9IGl0ZXJ0b29scy5pemlwIChpdGVydG9vbHMuY291bnQgKDApLCBpdGVyKQorKwor KyAgICAgICAgIyBSZXZlcnNlIGlmIHRoZSB1c2VyIHdhbnRlZCB0aGF0LgorKyAgICAgICAgaWYg c2VsZi5yZXZlcnNlLnZhbHVlOgorKyAgICAgICAgICAgIGl0ZXIgPSBzZWxmLnJldmVyc2VfaXRl ciAoaXRlcikKKysKKysgICAgICAgICMgRXh0cmFjdCBzdWItcmFuZ2UgdXNlciB3YW50cy4KKysg ICAgICAgIGlmIGNvdW50IDwgMDoKKysgICAgICAgICAgICBpdGVyID0gc2VsZi5maW5hbF9uIChp dGVyLCBjb3VudCkKKysgICAgICAgIGVsaWYgY291bnQgPiAwOgorKyAgICAgICAgICAgIGl0ZXIg PSBpdGVydG9vbHMuaXNsaWNlIChpdGVyLCAwLCBjb3VudCkKKysKKysgICAgICAgIGZvciBwYWly IGluIGl0ZXI6CisrICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSAoIiMlLTJkIiAlIHBhaXJb MF0pCisrICAgICAgICAgICAgcGFpclsxXS5kZXNjcmliZSAoc3lzLnN0ZG91dCwgZnVsbCkKKysK KytGaWx0ZXJpbmdCYWNrdHJhY2UoKQoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMK aW5kZXggY2ZmNmMxOS4uNzU0NTQwNSAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNw ZWMKQEAgLTM5LDcgKzM5LDcgQEAgVmVyc2lvbjogNy43CiAKICMgVGhlIHJlbGVhc2UgYWx3YXlz IGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEuCiAjIGB1 cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0gZGVwZW5k ZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogMiV7P2Rpc3R9CitS ZWxlYXNlOiAzJXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNl cHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5k IExHUEx2MisgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbgogR3JvdXA6IERldmVsb3BtZW50L0Rl YnVnZ2VycwpAQCAtNTI3LDYgKzUyNywxMiBAQCBQYXRjaDg0NjogZ2RiLXRlc3RzdWl0ZS1ub2hv c3RpZC5wYXRjaAogIyBGaXggUHl0aG9uIHN0YWNrIGNvcnJ1cHRpb24uCiBQYXRjaDg0NzogZ2Ri LXB5dGhvbi1zdGFja3NtYXNoLnBhdGNoCiAKKyMgW3JoZWw2XSBEVFMgYmFja3dhcmQgUHl0aG9u IGNvbXBhdGliaWxpdHkgQVBJIChCWiAxMDIwMDA0LCBQaGlsIE11bGRvb24pLgorUGF0Y2g4NDg6 IGdkYi1kdHMtcmhlbDYtcHl0aG9uLWNvbXBhdC5wYXRjaAorCisjIEZpeCBnZGItNy43IGF1dG8t bG9hZCBmcm9tIC91c3Ivc2hhcmUvZ2RiL2F1dG8tbG9hZC8gcmVncmVzc2lvbi4KK1BhdGNoODQ5 OiBnZGItYXV0by1sb2FkLWxvc3QtcGF0aC03LjcucGF0Y2gKKwogJWlmIDAleyE/cmhlbDoxfSB8 fCAwJXs/cmhlbH0gPiA2CiAjIFJMX1NUQVRFX0ZFRE9SQV9HREIgd291bGQgbm90IGJlIGZvdW5k IGZvcjoKICMgUGF0Y2g2NDI6IGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCkBAIC04 MjIsNyArODI4LDEyIEBAIGZpbmQgLW5hbWUgIiouaW5mbyoifHhhcmdzIHJtIC1mCiAlcGF0Y2g4 NDMgLXAxCiAlcGF0Y2g4NDYgLXAxCiAlcGF0Y2g4NDcgLXAxCislcGF0Y2g4NDkgLXAxCiAKKyVw YXRjaDg0OCAtcDEKKyVpZiAwJXshP2VsNjoxfQorJXBhdGNoODQ4IC1wMSAtUgorJWVuZGlmCiAl cGF0Y2gzOTMgLXAxCiAlaWYgMCV7IT9lbDU6MX0gfHwgMCV7P3NjbDoxfQogJXBhdGNoMzkzIC1w MSAtUgpAQCAtMTE1NSw4ICsxMTY2LDggQEAgZm9yIHB5byBpbiAiIiAiLU8iO2RvCiBkb25lCiAl ZW5kaWYgIyAwJXs/X2VuYWJsZV9kZWJ1Z19wYWNrYWdlczoxfSAmJiAwJXshP193aXRob3V0X3B5 dGhvbjoxfQogCi1ta2RpciAkUlBNX0JVSUxEX1JPT1Qle19kYXRhZGlyfS9nZGIvYXV0by1sb2Fk CiAlaWYgMCV7IT9fd2l0aG91dF9weXRob246MX0KK21rZGlyICRSUE1fQlVJTERfUk9PVCV7X2Rh dGFkaXJ9L2dkYi9hdXRvLWxvYWQKICVpZiAwJXs/cmhlbDoxfSAmJiAwJXs/cmhlbH0gPD0gNgog IyBUZW1wb3JhcmlseSBub3c6CiBmb3IgTElCIGluIGxpYiBsaWI2NDtkbwpAQCAtMTE5Miw2ICsx MjAzLDcgQEAgZG9uZQogIyBnZGItYWRkLWluZGV4IGNhbm5vdCBiZSBydW4gZXZlbiBmb3IgU0NM IHBhY2thZ2Ugb24gUkhFTDw9Ni4KICVpZiAwJXs/cmhlbDoxfSAmJiAwJXs/cmhlbH0gPD0gNgog cm0gLWYgJFJQTV9CVUlMRF9ST09UJXtfYmluZGlyfS9nZGItYWRkLWluZGV4CitybSAtZiAkUlBN X0JVSUxEX1JPT1Qle19tYW5kaXJ9LyovZ2RiLWFkZC1pbmRleC4xKgogJWVuZGlmCiAKICMgUmVt b3ZlIHRoZSBmaWxlcyB0aGF0IGFyZSBwYXJ0IG9mIGEgZ2RiIGJ1aWxkIGJ1dCB0aGF0IGFyZSBv d25lZCBhbmQKQEAgLTEyNjUsNyArMTI3NywxMCBAQCBybSAtcmYgJFJQTV9CVUlMRF9ST09UCiAl e19tYW5kaXJ9LyovZ2RiaW5pdC41KgogJXtfbWFuZGlyfS8qL2dkYi4xKgogJXtfbWFuZGlyfS8q L2djb3JlLjEqCisjIGdkYi1hZGQtaW5kZXggY2Fubm90IGJlIHJ1biBldmVuIGZvciBTQ0wgcGFj a2FnZSBvbiBSSEVMPD02LgorJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2CiAle19t YW5kaXJ9LyovZ2RiLWFkZC1pbmRleC4xKgorJWVuZGlmCiAle19iaW5kaXJ9L2dzdGFjawogJXtf bWFuZGlyfS8qL2dzdGFjay4xKgogIyBQcm92aWRlIGdkYnR1aSBmb3IgUkhFTC01IGFuZCBSSEVM LTYgYXMgaXQgaXMgcmVtb3ZlZCB1cHN0cmVhbSAoQlogNzk3NjY0KS4KQEAgLTEyOTMsNiArMTMw OCw5IEBAIHJtIC1yZiAkUlBNX0JVSUxEX1JPT1QKICVlbmRpZiAjICV7aGF2ZV9pbnByb2N0cmFj ZX0KICVlbmRpZgogCislaWYgMCV7IT9fd2l0aG91dF9weXRob246MX0KKyMgW3JoZWxdIERvIG5v dCBtaWdyYXRlIC91c3Ivc2hhcmUvZ2RiL2F1dG8tbG9hZC8gd2l0aCBzeW1saW5rcyBvbiBSSEVM cy4KKyVpZiAwJXshP3JoZWw6MX0KICVwcmUKIGZvciBpIGluICQoZWNobyBiaW4gbGliICQoYmFz ZW5hbWUgJXtfbGliZGlyfSkgc2Jpbnx0ciAnICcgJ1xuJ3xzb3J0IC11KTtkbwogICBzcmM9IiV7 X2RhdGFkaXJ9L2dkYi9hdXRvLWxvYWQvJGkiCkBAIC0xMzA0LDYgKzEzMjIsOCBAQCBmb3IgaSBp biAkKGVjaG8gYmluIGxpYiAkKGJhc2VuYW1lICV7X2xpYmRpcn0pIHNiaW58dHIgJyAnICdcbid8 c29ydCAtdSk7ZG8KICAgICBmaQogICBmaQogZG9uZQorJWVuZGlmICMgMCV7IT9yaGVsOjF9Cisl ZW5kaWYgIyAwJXshP193aXRob3V0X3B5dGhvbjoxfQogCiAjIEl0IHdvdWxkIGJyZWFrIFJIRUwt NSBieSBsZWF2aW5nIGV4Y2Vzc2l2ZSBmaWxlcyBmb3IgdGhlIGRvYyBzdWJwYWNrYWdlLgogJWVu ZGlmICMgIW5vYXJjaApAQCAtMTM0MCw2ICsxMzYwLDEyIEBAIGZpCiAlZW5kaWYgIyAwJXshP2Vs NToxfSB8fCAiJXtfdGFyZ2V0X2NwdX0iID09ICJub2FyY2giCiAKICVjaGFuZ2Vsb2cKKyogU3Vu IEZlYiAyMyAyMDE0IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAt IDcuNy0zLmZjMjEKKy0gW3JoZWw2XSBEVFMgYmFja3dhcmQgUHl0aG9uIGNvbXBhdGliaWxpdHkg QVBJIChCWiAxMDIwMDA0LCBQaGlsIE11bGRvb24pLgorLSBbcmhlbDZdIERvIG5vdCBpbnN0YWxs IGl0cyBtYW4gcGFnZSBpZiBnZGItYWRkLWluZGV4IGlzIG5vdCBpbnN0YWxsZWQuCistIFtyaGVs XSBEbyBub3QgbWlncmF0ZSAvdXNyL3NoYXJlL2dkYi9hdXRvLWxvYWQvIHdpdGggc3ltbGlua3Mg b24gUkhFTHMuCistIEZpeCBnZGItNy43IGF1dG8tbG9hZCBmcm9tIC91c3Ivc2hhcmUvZ2RiL2F1 dG8tbG9hZC8gcmVncmVzc2lvbi4KKwogKiBTdW4gRmViICA5IDIwMTQgSmFuIEtyYXRvY2h2aWwg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy43LTIuZmMyMQogLSBbcmhlbF0gRml4IHJl YmFzZSBidWlsZCByZWdyZXNzaW9uIG9uIFJIRUwgc3lzdGVtcyAoVG9iaWFzIEJ1cm51cykuCiAK