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] fix-dup-patch: [rhel6] DTS backward Python compatibility API (BZ 1020004, Phil Muldoon). Date: Thu, 23 Jul 2026 18:31:13 GMT Message-ID: <178483147380.1.5775399313609262076.rpms-gdb-3af2cc602d3c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 3af2cc602d3c50edc186ef1f7b7ef72a0474832a ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogM2FmMmNjNjAyZDNjNTBlZGMxODZlZjFmN2I3ZWY3MmEwNDc0ODMyYQog ICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxNC0wMi0yM1QyMjo1Nzo1MCswMTowMAogICAg ICAgICAgICBTdGF0cyAgOiArNTE4Ly0yIGluIDMgZmlsZShzKQogICAgICAgICAgICBVUkwgICAg OiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzNhZjJjYzYwMmQzYzUw ZWRjMTg2ZWYxZjdiN2VmNzJhMDQ3NDgzMmE/YnJhbmNoPWZpeC1kdXAtcGF0Y2gKCiAgICAgICAg ICAgIExvZzoKICAgICAgICAgICAgW3JoZWw2XSBEVFMgYmFja3dhcmQgUHl0aG9uIGNvbXBhdGli aWxpdHkgQVBJIChCWiAxMDIwMDA0LCBQaGlsIE11bGRvb24pLgoKLSBbcmhlbDZdIERvIG5vdCBp bnN0YWxsIGl0cyBtYW4gcGFnZSBpZiBnZGItYWRkLWluZGV4IGlzIG5vdCBpbnN0YWxsZWQuCi0g W3JoZWxdIERvIG5vdCBtaWdyYXRlIC91c3Ivc2hhcmUvZ2RiL2F1dG8tbG9hZC8gd2l0aCBzeW1s aW5rcyBvbiBSSEVMcy4KLSBGaXggZ2RiLTcuNyBhdXRvLWxvYWQgZnJvbSAvdXNyL3NoYXJlL2dk Yi9hdXRvLWxvYWQvIHJlZ3Jlc3Npb24uCgotLS0KZGlmZiAtLWdpdCBhL2dkYi1hdXRvLWxvYWQt bG9zdC1wYXRoLTcuNy5wYXRjaCBiL2dkYi1hdXRvLWxvYWQtbG9zdC1wYXRoLTcuNy5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Njc1ZDA2Ci0tLSAvZGV2L251bGwK KysrIGIvZ2RiLWF1dG8tbG9hZC1sb3N0LXBhdGgtNy43LnBhdGNoCkBAIC0wLDAgKzEsMTkwIEBA CitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNC0wMi9tc2cwMDcxMi5o dG1sCitTdWJqZWN0OiBbcGF0Y2grNy43XSBGaXggYXV0by1sb2FkIDcuNyByZWdyZXNzaW9uICBb UmU6IFtjb21taXQgMi8yXSBNb3ZlIHByb2Nlc3Npbmcgb2YgLmRlYnVnX2dkYl9zY3JpcHRzIHRv IGF1dG8tbG9hZC5jXQorCisKKy0tNmMyTmNPVnFHUTAzWDRXaQorQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCitDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmUKKwor SGkgRG91ZywKKwordGhlIHJlZ3Jlc3Npb24gYWZmZWN0cyBhbnkgbG9hZGluZyBmcm9tIC91c3Iv c2hhcmUvZ2RiL2F1dG8tbG9hZCAuCisKKzViMmJmOTQ3MWYxNDk5YmVlNTc4ZmNkNjBjMDVhZmU4 NTc5NGUyODAgaXMgdGhlIGZpcnN0IGJhZCBjb21taXQKK2NvbW1pdCA1YjJiZjk0NzFmMTQ5OWJl ZTU3OGZjZDYwYzA1YWZlODU3OTRlMjgwCitBdXRob3I6IERvdWcgRXZhbnMgPHhkamU0MkBnbWFp bC5jb20+CitEYXRlOiAgIEZyaSBOb3YgMjkgMjE6Mjk6MjYgMjAxMyAtMDgwMAorICAgIE1vdmUg LmRlYnVnX2dkYl9zY3JpcHQgcHJvY2Vzc2luZyB0byBhdXRvLWxvYWQuYy4KKyAgICBTaW1wbGlm eSBoYW5kbGluZyBvZiBhdXRvLWxvYWRlZCBvYmpmaWxlIHNjcmlwdHMuCisKK0ZlZG9yYSAyMCB4 ODZfNjQKKyQgZ2RiIC1xIC91c3IvbGliNjQvbGliZ29iamVjdC0yLjAuc28KK1JlYWRpbmcgc3lt Ym9scyBmcm9tIC91c3IvbGliNjQvbGliZ2xpYi0yLjAuc28uMC4zODAwLjIuLi5SZWFkaW5nIHN5 bWJvbHMgZnJvbSAvdXNyL2xpYi9kZWJ1Zy91c3IvbGliNjQvbGliZ2xpYi0yLjAuc28uMC4zODAw LjIuZGVidWcuLi5kb25lLgorZG9uZS4KKyhnZGIpIF8KKworRmVkb3JhIFJhd2hpZGUgeDg2XzY0 CiskIGdkYiAtcSAvdXNyL2xpYjY0L2xpYmdvYmplY3QtMi4wLnNvCitSZWFkaW5nIHN5bWJvbHMg ZnJvbSAvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLi4uUmVhZGluZyBzeW1ib2xzIGZyb20gL3Vz ci9saWIvZGVidWcvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLjAuMzk5MC4wLmRlYnVnLi4uZG9u ZS4KK2RvbmUuCit3YXJuaW5nOiBGaWxlICIvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLjAuMzk5 MC4wLWdkYi5weSIgYXV0by1sb2FkaW5nIGhhcyBiZWVuIGRlY2xpbmVkIGJ5IHlvdXIgYGF1dG8t bG9hZCBzYWZlLXBhdGgnIHNldCB0byAiJGRlYnVnZGlyOiRkYXRhZGlyL2F1dG8tbG9hZDovdXNy L2Jpbi9tb25vLWdkYi5weSIuCitUbyBlbmFibGUgZXhlY3V0aW9uIG9mIHRoaXMgZmlsZSBhZGQK KwlhZGQtYXV0by1sb2FkLXNhZmUtcGF0aCAvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLjAuMzk5 MC4wLWdkYi5weQorbGluZSB0byB5b3VyIGNvbmZpZ3VyYXRpb24gZmlsZSAiL2hvbWUvamtyYXRv Y2gvLmdkYmluaXQiLgorVG8gY29tcGxldGVseSBkaXNhYmxlIHRoaXMgc2VjdXJpdHkgcHJvdGVj dGlvbiBhZGQKKwlzZXQgYXV0by1sb2FkIHNhZmUtcGF0aCAvCitsaW5lIHRvIHlvdXIgY29uZmln dXJhdGlvbiBmaWxlICIvaG9tZS9qa3JhdG9jaC8uZ2RiaW5pdCIuCitGb3IgbW9yZSBpbmZvcm1h dGlvbiBhYm91dCB0aGlzIHNlY3VyaXR5IHByb3RlY3Rpb24gc2VlIHRoZQorIkF1dG8tbG9hZGlu ZyBzYWZlIHBhdGgiIHNlY3Rpb24gaW4gdGhlIEdEQiBtYW51YWwuICBFLmcuLCBydW4gZnJvbSB0 aGUgc2hlbGw6CisJaW5mbyAiKGdkYilBdXRvLWxvYWRpbmcgc2FmZSBwYXRoIgorKGdkYikgXwor CitUaGF0IGlzIGl0IHRyaWVzIHRvIGxvYWQgImZvcmJpZGRlbiIKKwkvdXNyL2xpYjY0L2xpYmds aWItMi4wLnNvLjAuMzk5MC4wLWdkYi5weQorYnV0IGl0IHNob3VsZCBsb2FkIGluc3RlYWQKKwkv dXNyL3NoYXJlL2dkYi9hdXRvLWxvYWQvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLjAuMzk5MC4w LWdkYi5weSoKK0FsdGhvdWdoIHRoYXQgaXMgYWxzbyBub3QgZXhhY3RseSB0aGlzIHdheSwgdGhl cmUgZG9lcyBub3QgZXhpc3QgYW55CisJL3Vzci9saWI2NC9saWJnbGliLTIuMC5zby4wLjM5OTAu MC1nZGIucHkKK2Rlc3BpdGUgcmVncmVzc2VkIEdEQiBzYXlzIHNvLgorCisKKworUmVnYXJkcywK K0phbgorCistLTZjMk5jT1ZxR1EwM1g0V2kKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD11cy1hc2NpaQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT0iYXV0 b2xvYWQucGF0Y2giCisKK2dkYi8KKzIwMTQtMDItMjMgIEphbiBLcmF0b2NodmlsICA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogYXV0by1sb2FkLmMgKGF1dG9fbG9hZF9vYmpmaWxl X3NjcmlwdF8xKTogQ2hhbmdlIGZpbGVuYW1lIHRvCisJZGVidWdmaWxlLgorCitnZGIvdGVzdHN1 aXRlLworMjAxNC0wMi0yMyAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQu Y29tPgorCisJKiBnZGIuYmFzZS9hdXRvLWxvYWQtc2NyaXB0OiBOZXcgZmlsZS4KKwkqIGdkYi5i YXNlL2F1dG8tbG9hZC5jOiBOZXcgZmlsZS4KKwkqIGdkYi5iYXNlL2F1dG8tbG9hZC5leHA6IE5l dyBmaWxlLgorCistLS0gZ2RiLTcuNy9nZGIvYXV0by1sb2FkLmMtb3JpZwkyMDE0LTAyLTA2IDAz OjIxOjI5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjcvZ2RiL2F1dG8tbG9hZC5jCTIwMTQt MDItMjMgMjI6Mzg6NTMuODU4Mzc0ODQwICswMTAwCitAQCAtNzkxLDE3ICs3OTEsMTcgQEAgYXV0 b19sb2FkX29iamZpbGVfc2NyaXB0XzEgKHN0cnVjdCBvYmpmaQorICAgICAgIG1ha2VfY2xlYW51 cF9mY2xvc2UgKGlucHV0KTsKKyAKKyAgICAgICBpc19zYWZlCistCT0gZmlsZV9pc19hdXRvX2xv YWRfc2FmZSAoZmlsZW5hbWUsCisrCT0gZmlsZV9pc19hdXRvX2xvYWRfc2FmZSAoZGVidWdmaWxl LAorIAkJCQkgIF8oImF1dG8tbG9hZDogTG9hZGluZyAlcyBzY3JpcHQgXCIlc1wiIgorIAkJCQkg ICAgIiBieSBleHRlbnNpb24gZm9yIG9iamZpbGUgXCIlc1wiLlxuIiksCistCQkJCSAgbGFuZ3Vh Z2UtPm5hbWUsIGZpbGVuYW1lLAorKwkJCQkgIGxhbmd1YWdlLT5uYW1lLCBkZWJ1Z2ZpbGUsCisg CQkJCSAgb2JqZmlsZV9uYW1lIChvYmpmaWxlKSk7CisgCisgICAgICAgLyogQWRkIHRoaXMgc2Ny aXB0IHRvIHRoZSBoYXNoIHRhYmxlIHRvbyBzbworIAkgImluZm8gYXV0by1sb2FkICR7bGFuZ30t c2NyaXB0cyIgY2FuIHByaW50IGl0LiAgKi8KKyAgICAgICBwc3BhY2VfaW5mbworIAk9IGdldF9h dXRvX2xvYWRfcHNwYWNlX2RhdGFfZm9yX2xvYWRpbmcgKGN1cnJlbnRfcHJvZ3JhbV9zcGFjZSk7 CistICAgICAgbWF5YmVfYWRkX3NjcmlwdCAocHNwYWNlX2luZm8sIGlzX3NhZmUsIGZpbGVuYW1l LCBmaWxlbmFtZSwgbGFuZ3VhZ2UpOworKyAgICAgIG1heWJlX2FkZF9zY3JpcHQgKHBzcGFjZV9p bmZvLCBpc19zYWZlLCBkZWJ1Z2ZpbGUsIGRlYnVnZmlsZSwgbGFuZ3VhZ2UpOworIAorICAgICAg IC8qIFRvIHByZXNlcnZlIGV4aXN0aW5nIGJlaGF2aW91ciB3ZSBkb24ndCBjaGVjayBmb3Igd2hl dGhlciB0aGUKKyAJIHNjcmlwdCB3YXMgYWxyZWFkeSBpbiB0aGUgdGFibGUsIGFuZCBhbHdheXMg bG9hZCBpdC4KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F1dG8tbG9hZC1z Y3JpcHQgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F1dG8tbG9hZC1zY3JpcHQKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kMDJiZDFhCistLS0gL2Rldi9udWxsCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F1dG8tbG9hZC1zY3JpcHQKK0BAIC0wLDAgKzEsMTcg QEAKKysjIENvcHlyaWdodCAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKwor KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMK KysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKytlY2hvIHNjcmlwdF9sb2FkZWRcbgor K3NldCAkc2NyaXB0X2xvYWRlZD00MgorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXV0by1sb2FkLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F1dG8tbG9hZC5jCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNGI5NDgwMworLS0tIC9kZXYvbnVsbAor KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdXRvLWxvYWQuYworQEAgLTAsMCArMSwyMiBA QAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisr CisrICAgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisr ICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor KyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworK2ludAorK21haW4g KHZvaWQpCisreworKyAgcmV0dXJuIDA7CisrfQorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYXV0by1sb2FkLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXV0by1sb2Fk LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjliODIxMWQKKy0tLSAv ZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXV0by1sb2FkLmV4cAorQEAg LTAsMCArMSwzNiBAQAorKyMgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisr IyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworK3N0YW5kYXJkX3Rl c3RmaWxlCisrCisraWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0 ZXN0ZmlsZX0gJHtzcmNmaWxlfV0gfSB7CisrICAgIHJldHVybiAtMQorK30KKysKKytzZXQgdGFy Z2V0ZGlyICIke2JpbmZpbGV9LmRpciIKKytzZXQgc291cmNlc2NyaXB0ICIke2JpbmZpbGV9LXNj cmlwdCIKKytzZXQgdGFyZ2V0c2NyaXB0ZGlyICIke3RhcmdldGRpcn0vW2ZpbGUgZGlybmFtZSAk e3NvdXJjZXNjcmlwdH1dIgorK3NldCB0YXJnZXRzY3JpcHQgIiR7dGFyZ2V0c2NyaXB0ZGlyfS8k e3Rlc3RmaWxlfS1nZGIuZ2RiIgorKworK3JlbW90ZV9leGVjIGhvc3QgInJtIC1yZiAke3Rhcmdl dGRpcn0iCisrcmVtb3RlX2V4ZWMgaG9zdCAibWtkaXIgLXAgJHt0YXJnZXRzY3JpcHRkaXJ9Igor K3JlbW90ZV9leGVjIGhvc3QgImNwICR7c291cmNlc2NyaXB0fSAke3RhcmdldHNjcmlwdH0iCisr CisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgYXV0by1sb2FkIHNjcmlwdHMtZGlyZWN0b3J5ICR7 dGFyZ2V0ZGlyfSIgInNldCBhdXRvLWxvYWQgc2NyaXB0cy1kaXJlY3RvcnkiCisrZ2RiX3Rlc3Rf bm9fb3V0cHV0ICJzZXQgYXV0by1sb2FkIHNhZmUtcGF0aCAke3RhcmdldHNjcmlwdH0iICJzZXQg YXV0by1sb2FkIHNhZmUtcGF0aCIKKysKKytnZGJfbG9hZCAke2JpbmZpbGV9CisrCisrZ2RiX3Rl c3Qge3ByaW50ICRzY3JpcHRfbG9hZGVkfSAiID0gNDIiCisKKy0tNmMyTmNPVnFHUTAzWDRXaS0t CisKCmRpZmYgLS1naXQgYS9nZGItZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQucGF0Y2ggYi9nZGIt ZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNjllYjkyZQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1kdHMtcmhlbDYtcHl0aG9u LWNvbXBhdC5wYXRjaApAQCAtMCwwICsxLDMwMCBAQAoraHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQu Y29tL3Nob3dfYnVnLmNnaT9pZD0xMDIwMDA0CisKK2RpZmYgLWR1cCAtcnVOcCBnZGItNy43LW9y aWcvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluIGdkYi03LjcvZ2RiL2RhdGEtZGlyZWN0 b3J5L01ha2VmaWxlLmluCistLS0gZ2RiLTcuNy1vcmlnL2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtl ZmlsZS5pbgkyMDE0LTAyLTIzIDE4OjEyOjUxLjMzODg2NjM5MSArMDEwMAorKysrIGdkYi03Ljcv Z2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCTIwMTQtMDItMjMgMTg6MTQ6MzEuMTg3NzU2 OTgzICswMTAwCitAQCAtNTgsOSArNTgsMTIgQEAgUFlUSE9OX0ZJTEVTID0gXAorIAlnZGIvZnJh bWVzLnB5IFwKKyAJZ2RiL0ZyYW1lSXRlcmF0b3IucHkgXAorIAlnZGIvRnJhbWVEZWNvcmF0b3Iu cHkgXAorKwlnZGIvRnJhbWVXcmFwcGVyLnB5IFwKKysJZ2RiL2JhY2t0cmFjZS5weSBcCisgCWdk Yi90eXBlcy5weSBcCisgCWdkYi9wcmludGluZy5weSBcCisgCWdkYi9wcm9tcHQucHkgXAorKwln ZGIvY29tbWFuZC9iYWNrdHJhY2UucHkgXAorIAlnZGIvY29tbWFuZC9ib3VuZF9yZWdpc3RlcnMu cHkgXAorIAlnZGIvY29tbWFuZC9fX2luaXRfXy5weSBcCisgCWdkYi9jb21tYW5kL2lnbm9yZV9l cnJvcnMucHkgXAorZGlmZiAtZHVwIC1ydU5wIGdkYi03Ljctb3JpZy9nZGIvcHl0aG9uL2xpYi9n ZGIvRnJhbWVXcmFwcGVyLnB5IGdkYi03LjcvZ2RiL3B5dGhvbi9saWIvZ2RiL0ZyYW1lV3JhcHBl ci5weQorLS0tIGdkYi03Ljctb3JpZy9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVXcmFwcGVyLnB5 CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNy9nZGIvcHl0 aG9uL2xpYi9nZGIvRnJhbWVXcmFwcGVyLnB5CTIwMTQtMDItMjMgMTg6MTQ6MzEuMTg4NzU2OTgx ICswMTAwCitAQCAtMCwwICsxLDEyMiBAQAorKyMgV3JhcHBlciBBUEkgZm9yIGZyYW1lcy4KKysK KysjIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisraW1wb3J0IGdkYgorKwor KyMgRklYTUU6IGFyZ3VhYmx5IGFsbCB0aGlzIHNob3VsZCBiZSBvbiBGcmFtZSBzb21laG93Lgor K2NsYXNzIEZyYW1lV3JhcHBlcjoKKysgICAgZGVmIF9faW5pdF9fIChzZWxmLCBmcmFtZSk6Cisr ICAgICAgICBzZWxmLmZyYW1lID0gZnJhbWU7CisrCisrICAgIGRlZiB3cml0ZV9zeW1ib2wgKHNl bGYsIHN0cmVhbSwgc3ltLCBibG9jayk6CisrICAgICAgICBpZiBsZW4gKHN5bS5saW5rYWdlX25h bWUpOgorKyAgICAgICAgICAgIG5zeW0sIGlzX2ZpZWxkX29mX3RoaXMgPSBnZGIubG9va3VwX3N5 bWJvbCAoc3ltLmxpbmthZ2VfbmFtZSwgYmxvY2spCisrICAgICAgICAgICAgaWYgbnN5bS5hZGRy X2NsYXNzICE9IGdkYi5TWU1CT0xfTE9DX1JFR0lTVEVSOgorKyAgICAgICAgICAgICAgICBzeW0g PSBuc3ltCisrCisrICAgICAgICBzdHJlYW0ud3JpdGUgKHN5bS5wcmludF9uYW1lICsgIj0iKQor KyAgICAgICAgdHJ5OgorKyAgICAgICAgICAgIHZhbCA9IHNlbGYucmVhZF92YXIgKHN5bSkKKysg ICAgICAgICAgICBpZiB2YWwgIT0gTm9uZToKKysgICAgICAgICAgICAgICAgdmFsID0gc3RyICh2 YWwpCisrICAgICAgICAjIEZJWE1FOiB3b3VsZCBiZSBuaWNlIHRvIGhhdmUgYSBtb3JlIHByZWNp c2UgZXhjZXB0aW9uIGhlcmUuCisrICAgICAgICBleGNlcHQgUnVudGltZUVycm9yLCB0ZXh0Ogor KyAgICAgICAgICAgIHZhbCA9IHRleHQKKysgICAgICAgIGlmIHZhbCA9PSBOb25lOgorKyAgICAg ICAgICAgIHN0cmVhbS53cml0ZSAoIj8/PyIpCisrICAgICAgICBlbHNlOgorKyAgICAgICAgICAg IHN0cmVhbS53cml0ZSAoc3RyICh2YWwpKQorKworKyAgICBkZWYgcHJpbnRfZnJhbWVfbG9jYWxz IChzZWxmLCBzdHJlYW0sIGZ1bmMpOgorKworKyAgICAgICAgdHJ5OgorKyAgICAgICAgICAgIGJs b2NrID0gc2VsZi5mcmFtZS5ibG9jaygpCisrICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgor KyAgICAgICAgICAgIGJsb2NrID0gTm9uZQorKworKyAgICAgICAgd2hpbGUgYmxvY2sgIT0gTm9u ZToKKysgICAgICAgICAgICBpZiBibG9jay5pc19nbG9iYWwgb3IgYmxvY2suaXNfc3RhdGljOgor KyAgICAgICAgICAgICAgICBicmVhaworKworKyAgICAgICAgZm9yIHN5bSBpbiBibG9jazoKKysg ICAgICAgICAgICBpZiBzeW0uaXNfYXJndW1lbnQ6CisrICAgICAgICAgICAgICAgIGNvbnRpbnVl OworKworKyAgICAgICAgICAgIHNlbGYud3JpdGVfc3ltYm9sIChzdHJlYW0sIHN5bSwgYmxvY2sp CisrICAgICAgICAgICAgc3RyZWFtLndyaXRlICgnXG4nKQorKworKyAgICBkZWYgcHJpbnRfZnJh bWVfYXJncyAoc2VsZiwgc3RyZWFtLCBmdW5jKToKKysKKysgICAgICAgIHRyeToKKysgICAgICAg ICAgICBibG9jayA9IHNlbGYuZnJhbWUuYmxvY2soKQorKyAgICAgICAgZXhjZXB0IFJ1bnRpbWVF cnJvcjoKKysgICAgICAgICAgICBibG9jayA9IE5vbmUKKysKKysgICAgICAgIHdoaWxlIGJsb2Nr ICE9IE5vbmU6CisrICAgICAgICAgICAgaWYgYmxvY2suZnVuY3Rpb24gIT0gTm9uZToKKysgICAg ICAgICAgICAgICAgYnJlYWsKKysgICAgICAgICAgICBibG9jayA9IGJsb2NrLnN1cGVyYmxvY2sK KysKKysgICAgICAgIGZpcnN0ID0gVHJ1ZQorKyAgICAgICAgZm9yIHN5bSBpbiBibG9jazoKKysg ICAgICAgICAgICBpZiBub3Qgc3ltLmlzX2FyZ3VtZW50OgorKyAgICAgICAgICAgICAgICBjb250 aW51ZTsKKysKKysgICAgICAgICAgICBpZiBub3QgZmlyc3Q6CisrICAgICAgICAgICAgICAgIHN0 cmVhbS53cml0ZSAoIiwgIikKKysKKysgICAgICAgICAgICBzZWxmLndyaXRlX3N5bWJvbCAoc3Ry ZWFtLCBzeW0sIGJsb2NrKQorKyAgICAgICAgICAgIGZpcnN0ID0gRmFsc2UKKysKKysgICAgIyBG SVhNRTogdGhpcyBzaG91bGQgcHJvYmFibHkganVzdCBiZSBhIG1ldGhvZCBvbiBnZGIuRnJhbWUu CisrICAgICMgQnV0IHRoZW4gd2UgbmVlZCBzdHJlYW0gd3JhcHBlcnMuCisrICAgIGRlZiBkZXNj cmliZSAoc2VsZiwgc3RyZWFtLCBmdWxsKToKKysgICAgICAgIGlmIHNlbGYudHlwZSAoKSA9PSBn ZGIuRFVNTVlfRlJBTUU6CisrICAgICAgICAgICAgc3RyZWFtLndyaXRlICgiIDxmdW5jdGlvbiBj YWxsZWQgZnJvbSBnZGI+XG4iKQorKyAgICAgICAgZWxpZiBzZWxmLnR5cGUgKCkgPT0gZ2RiLlNJ R1RSQU1QX0ZSQU1FOgorKyAgICAgICAgICAgIHN0cmVhbS53cml0ZSAoIiA8c2lnbmFsIGhhbmRs ZXIgY2FsbGVkPlxuIikKKysgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgc2FsID0gc2VsZi5m aW5kX3NhbCAoKQorKyAgICAgICAgICAgIHBjID0gc2VsZi5wYyAoKQorKyAgICAgICAgICAgIG5h bWUgPSBzZWxmLm5hbWUgKCkKKysgICAgICAgICAgICBpZiBub3QgbmFtZToKKysgICAgICAgICAg ICAgICAgbmFtZSA9ICI/PyIKKysgICAgICAgICAgICBpZiBwYyAhPSBzYWwucGMgb3Igbm90IHNh bC5zeW10YWI6CisrICAgICAgICAgICAgICAgIHN0cmVhbS53cml0ZSAoIiAweCUwOHggaW4iICUg cGMpCisrICAgICAgICAgICAgc3RyZWFtLndyaXRlICgiICIgKyBuYW1lICsgIiAoIikKKysKKysg ICAgICAgICAgICBmdW5jID0gc2VsZi5mdW5jdGlvbiAoKQorKyAgICAgICAgICAgIHNlbGYucHJp bnRfZnJhbWVfYXJncyAoc3RyZWFtLCBmdW5jKQorKworKyAgICAgICAgICAgIHN0cmVhbS53cml0 ZSAoIikiKQorKworKyAgICAgICAgICAgIGlmIHNhbC5zeW10YWIgYW5kIHNhbC5zeW10YWIuZmls ZW5hbWU6CisrICAgICAgICAgICAgICAgIHN0cmVhbS53cml0ZSAoIiBhdCAiICsgc2FsLnN5bXRh Yi5maWxlbmFtZSkKKysgICAgICAgICAgICAgICAgc3RyZWFtLndyaXRlICgiOiIgKyBzdHIgKHNh bC5saW5lKSkKKysKKysgICAgICAgICAgICBpZiBub3Qgc2VsZi5uYW1lICgpIG9yIChub3Qgc2Fs LnN5bXRhYiBvciBub3Qgc2FsLnN5bXRhYi5maWxlbmFtZSk6CisrICAgICAgICAgICAgICAgIGxp YiA9IGdkYi5zb2xpYl9uYW1lIChwYykKKysgICAgICAgICAgICAgICAgaWYgbGliOgorKyAgICAg ICAgICAgICAgICAgICAgc3RyZWFtLndyaXRlICgiIGZyb20gIiArIGxpYikKKysKKysgICAgICAg ICAgICBzdHJlYW0ud3JpdGUgKCJcbiIpCisrCisrICAgICAgICAgICAgaWYgZnVsbDoKKysgICAg ICAgICAgICAgICAgc2VsZi5wcmludF9mcmFtZV9sb2NhbHMgKHN0cmVhbSwgZnVuYykKKysKKysg ICAgZGVmIF9fZ2V0YXR0cl9fIChzZWxmLCBuYW1lKToKKysgICAgICAgIHJldHVybiBnZXRhdHRy IChzZWxmLmZyYW1lLCBuYW1lKQorZGlmZiAtZHVwIC1ydU5wIGdkYi03Ljctb3JpZy9nZGIvcHl0 aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5IGdkYi03LjcvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0 cmFjZS5weQorLS0tIGdkYi03Ljctb3JpZy9nZGIvcHl0aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5 CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNy9nZGIvcHl0 aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5CTIwMTQtMDItMjMgMTg6MTQ6MzEuMTg4NzU2OTgxICsw MTAwCitAQCAtMCwwICsxLDQyIEBACisrIyBGaWx0ZXJpbmcgYmFja3RyYWNlLgorKworKyMgQ29w eXJpZ2h0IChDKSAyMDA4LCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKwor KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMK KysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKytpbXBvcnQgZ2RiCisraW1wb3J0IGl0 ZXJ0b29scworKworKyMgT3VyIG9ubHkgZXhwb3J0cy4KKytfX2FsbF9fID0gWydwdXNoX2ZyYW1l X2ZpbHRlcicsICdjcmVhdGVfZnJhbWVfZmlsdGVyJ10KKysKKytvbGRfZnJhbWVfZmlsdGVyID0g Tm9uZQorKworK2RlZiBwdXNoX2ZyYW1lX2ZpbHRlciAoY29uc3RydWN0b3IpOgorKyAgICAiIiJS ZWdpc3RlciBhIG5ldyBiYWNrdHJhY2UgZmlsdGVyIGNsYXNzIHdpdGggdGhlICdiYWNrdHJhY2Un IGNvbW1hbmQuCisrVGhlIGZpbHRlciB3aWxsIGJlIHBhc3NlZCBhbiBpdGVyYXRvciBhcyBhbiBh cmd1bWVudC4gIFRoZSBpdGVyYXRvcgorK3dpbGwgcmV0dXJuIGdkYi5GcmFtZS1saWtlIG9iamVj dHMuICBUaGUgZmlsdGVyIHNob3VsZCBpbiB0dXJuIGFjdCBhcworK2FuIGl0ZXJhdG9yIHJldHVy bmluZyBzdWNoIG9iamVjdHMuIiIiCisrICAgIGdsb2JhbCBvbGRfZnJhbWVfZmlsdGVyCisrICAg IGlmIG9sZF9mcmFtZV9maWx0ZXIgPT0gTm9uZToKKysgICAgICAgIG9sZF9mcmFtZV9maWx0ZXIg PSBjb25zdHJ1Y3RvcgorKyAgICBlbHNlOgorKyAgICAgICAgb2xkX2ZyYW1lX2ZpbHRlciA9IGxh bWJkYSBpdGVyYXRvciwgZmlsdGVyID0gZnJhbWVfZmlsdGVyOiBjb25zdHJ1Y3RvciAoZmlsdGVy KGl0ZXJhdG9yKSkKKysKKytkZWYgY3JlYXRlX2ZyYW1lX2ZpbHRlciAoaXRlcik6CisrICAgIGds b2JhbCBvbGRfZnJhbWVfZmlsdGVyCisrICAgIGlmIG9sZF9mcmFtZV9maWx0ZXIgaXMgTm9uZToK KysgICAgICAgIHJldHVybiBpdGVyCisrICAgIHJldHVybiBvbGRfZnJhbWVfZmlsdGVyIChpdGVy KQorKworZGlmZiAtZHVwIC1ydU5wIGdkYi03Ljctb3JpZy9nZGIvcHl0aG9uL2xpYi9nZGIvY29t bWFuZC9iYWNrdHJhY2UucHkgZ2RiLTcuNy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNr dHJhY2UucHkKKy0tLSBnZGItNy43LW9yaWcvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvYmFj a3RyYWNlLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu Ny9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkJMjAxNC0wMi0yMyAxODox NDozMS4xODg3NTY5ODEgKzAxMDAKK0BAIC0wLDAgKzEsMTA2IEBACisrIyBOZXcgYmFja3RyYWNl IGNvbW1hbmQuCisrCisrIyBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIwMTEgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK KysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl IExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMK KysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgor KworK2ltcG9ydCBnZGIKKytpbXBvcnQgZ2RiLmJhY2t0cmFjZQorK2ltcG9ydCBpdGVydG9vbHMK Kytmcm9tIGdkYi5GcmFtZUl0ZXJhdG9yIGltcG9ydCBGcmFtZUl0ZXJhdG9yCisrZnJvbSBnZGIu RnJhbWVXcmFwcGVyIGltcG9ydCBGcmFtZVdyYXBwZXIKKytpbXBvcnQgc3lzCisrCisrY2xhc3Mg UmV2ZXJzZUJhY2t0cmFjZVBhcmFtZXRlciAoZ2RiLlBhcmFtZXRlcik6CisrICAgICIiIlRoZSBu ZXctYmFja3RyYWNlIGNvbW1hbmQgY2FuIHNob3cgYmFja3RyYWNlcyBpbiAncmV2ZXJzZScgb3Jk ZXIuCisrVGhpcyBtZWFucyB0aGF0IHRoZSBpbm5lcm1vc3QgZnJhbWUgd2lsbCBiZSBwcmludGVk IGxhc3QuCisrTm90ZSB0aGF0IHJldmVyc2UgYmFja3RyYWNlcyBhcmUgbW9yZSBleHBlbnNpdmUg dG8gY29tcHV0ZS4iIiIKKysKKysgICAgc2V0X2RvYyA9ICJFbmFibGUgb3IgZGlzYWJsZSByZXZl cnNlIGJhY2t0cmFjZXMuIgorKyAgICBzaG93X2RvYyA9ICJTaG93IHdoZXRoZXIgYmFja3RyYWNl cyB3aWxsIGJlIHByaW50ZWQgaW4gcmV2ZXJzZSBvcmRlci4iCisrCisrICAgIGRlZiBfX2luaXRf XyhzZWxmKToKKysgICAgICAgIGdkYi5QYXJhbWV0ZXIuX19pbml0X18gKHNlbGYsICJyZXZlcnNl LWJhY2t0cmFjZSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZGIuQ09NTUFO RF9TVEFDSywgZ2RiLlBBUkFNX0JPT0xFQU4pCisrICAgICAgICAjIERlZmF1bHQgdG8gY29tcGF0 aWJpbGl0eSB3aXRoIGdkYi4KKysgICAgICAgIHNlbGYudmFsdWUgPSBGYWxzZQorKworK2NsYXNz IEZpbHRlcmluZ0JhY2t0cmFjZSAoZ2RiLkNvbW1hbmQpOgorKyAgICAiIiJQcmludCBiYWNrdHJh Y2Ugb2YgYWxsIHN0YWNrIGZyYW1lcywgb3IgaW5uZXJtb3N0IENPVU5UIGZyYW1lcy4KKytXaXRo IGEgbmVnYXRpdmUgYXJndW1lbnQsIHByaW50IG91dGVybW9zdCAtQ09VTlQgZnJhbWVzLgorK1Vz ZSBvZiB0aGUgJ2Z1bGwnIHF1YWxpZmllciBhbHNvIHByaW50cyB0aGUgdmFsdWVzIG9mIHRoZSBs b2NhbCB2YXJpYWJsZXMuCisrVXNlIG9mIHRoZSAncmF3JyBxdWFsaWZpZXIgYXZvaWRzIGFueSBm aWx0ZXJpbmcgYnkgbG9hZGFibGUgbW9kdWxlcy4KKysiIiIKKysKKysgICAgZGVmIF9faW5pdF9f IChzZWxmKToKKysgICAgICAgICMgRklYTUU6IHRoaXMgaXMgbm90IHdvcmtpbmcgcXVpdGUgd2Vs bCBlbm91Z2ggdG8gcmVwbGFjZQorKyAgICAgICAgIyAiYmFja3RyYWNlIiB5ZXQuCisrICAgICAg ICBnZGIuQ29tbWFuZC5fX2luaXRfXyAoc2VsZiwgIm5ldy1iYWNrdHJhY2UiLCBnZGIuQ09NTUFO RF9TVEFDSykKKysgICAgICAgIHNlbGYucmV2ZXJzZSA9IFJldmVyc2VCYWNrdHJhY2VQYXJhbWV0 ZXIoKQorKworKyAgICBkZWYgcmV2ZXJzZV9pdGVyIChzZWxmLCBpdGVyKToKKysgICAgICAgIHJl c3VsdCA9IFtdCisrICAgICAgICBmb3IgaXRlbSBpbiBpdGVyOgorKyAgICAgICAgICAgIHJlc3Vs dC5hcHBlbmQgKGl0ZW0pCisrICAgICAgICByZXN1bHQucmV2ZXJzZSgpCisrICAgICAgICByZXR1 cm4gcmVzdWx0CisrCisrICAgIGRlZiBmaW5hbF9uIChzZWxmLCBpdGVyLCB4KToKKysgICAgICAg IHJlc3VsdCA9IFtdCisrICAgICAgICBmb3IgaXRlbSBpbiBpdGVyOgorKyAgICAgICAgICAgIHJl c3VsdC5hcHBlbmQgKGl0ZW0pCisrICAgICAgICByZXR1cm4gcmVzdWx0W3g6XQorKworKyAgICBk ZWYgaW52b2tlIChzZWxmLCBhcmcsIGZyb21fdHR5KToKKysgICAgICAgIGkgPSAwCisrICAgICAg ICBjb3VudCA9IDAKKysgICAgICAgIGZpbHRlciA9IFRydWUKKysgICAgICAgIGZ1bGwgPSBGYWxz ZQorKworKyAgICAgICAgZm9yIHdvcmQgaW4gYXJnLnNwbGl0ICgiICIpOgorKyAgICAgICAgICAg IGlmIHdvcmQgPT0gJyc6CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrICAgICAgICAgICAg ZWxpZiB3b3JkID09ICdyYXcnOgorKyAgICAgICAgICAgICAgICBmaWx0ZXIgPSBGYWxzZQorKyAg ICAgICAgICAgIGVsaWYgd29yZCA9PSAnZnVsbCc6CisrICAgICAgICAgICAgICAgIGZ1bGwgPSBU cnVlCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgY291bnQgPSBpbnQgKHdv cmQpCisrCisrICAgICAgICAjIEZJWE1FOiBwcm92aWRlIG9wdGlvbiB0byBzdGFydCBhdCBzZWxl Y3RlZCBmcmFtZQorKyAgICAgICAgIyBIb3dldmVyLCBzaG91bGQgc3RpbGwgbnVtYmVyIGFzIGlm IHN0YXJ0aW5nIGZyb20gbmV3ZXN0CisrICAgICAgICBuZXdlc3RfZnJhbWUgPSBnZGIubmV3ZXN0 X2ZyYW1lKCkKKysgICAgICAgIGl0ZXIgPSBpdGVydG9vbHMuaW1hcCAoRnJhbWVXcmFwcGVyLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmFtZUl0ZXJhdG9yIChuZXdlc3RfZnJh bWUpKQorKyAgICAgICAgaWYgZmlsdGVyOgorKyAgICAgICAgICAgIGl0ZXIgPSBnZGIuYmFja3Ry YWNlLmNyZWF0ZV9mcmFtZV9maWx0ZXIgKGl0ZXIpCisrCisrICAgICAgICAjIE5vdyB3cmFwIGlu IGFuIGl0ZXJhdG9yIHRoYXQgbnVtYmVycyB0aGUgZnJhbWVzLgorKyAgICAgICAgaXRlciA9IGl0 ZXJ0b29scy5pemlwIChpdGVydG9vbHMuY291bnQgKDApLCBpdGVyKQorKworKyAgICAgICAgIyBS ZXZlcnNlIGlmIHRoZSB1c2VyIHdhbnRlZCB0aGF0LgorKyAgICAgICAgaWYgc2VsZi5yZXZlcnNl LnZhbHVlOgorKyAgICAgICAgICAgIGl0ZXIgPSBzZWxmLnJldmVyc2VfaXRlciAoaXRlcikKKysK KysgICAgICAgICMgRXh0cmFjdCBzdWItcmFuZ2UgdXNlciB3YW50cy4KKysgICAgICAgIGlmIGNv dW50IDwgMDoKKysgICAgICAgICAgICBpdGVyID0gc2VsZi5maW5hbF9uIChpdGVyLCBjb3VudCkK KysgICAgICAgIGVsaWYgY291bnQgPiAwOgorKyAgICAgICAgICAgIGl0ZXIgPSBpdGVydG9vbHMu aXNsaWNlIChpdGVyLCAwLCBjb3VudCkKKysKKysgICAgICAgIGZvciBwYWlyIGluIGl0ZXI6Cisr ICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSAoIiMlLTJkIiAlIHBhaXJbMF0pCisrICAgICAg ICAgICAgcGFpclsxXS5kZXNjcmliZSAoc3lzLnN0ZG91dCwgZnVsbCkKKysKKytGaWx0ZXJpbmdC YWNrdHJhY2UoKQoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMKaW5kZXggY2ZmNmMx OS4uNzU0NTQwNSAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNwZWMKQEAgLTM5LDcg KzM5LDcgQEAgVmVyc2lvbjogNy43CiAKICMgVGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRhaW5zIGEg bGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVhbScgaXMg bm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0gZGVwZW5kZW5jaWVzIGNvbXBh dGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogMiV7P2Rpc3R9CitSZWxlYXNlOiAzJXs/ ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBH UEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5k IEJTRCBhbmQgUHVibGljIERvbWFpbgogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwpAQCAt NTI3LDYgKzUyNywxMiBAQCBQYXRjaDg0NjogZ2RiLXRlc3RzdWl0ZS1ub2hvc3RpZC5wYXRjaAog IyBGaXggUHl0aG9uIHN0YWNrIGNvcnJ1cHRpb24uCiBQYXRjaDg0NzogZ2RiLXB5dGhvbi1zdGFj a3NtYXNoLnBhdGNoCiAKKyMgW3JoZWw2XSBEVFMgYmFja3dhcmQgUHl0aG9uIGNvbXBhdGliaWxp dHkgQVBJIChCWiAxMDIwMDA0LCBQaGlsIE11bGRvb24pLgorUGF0Y2g4NDg6IGdkYi1kdHMtcmhl bDYtcHl0aG9uLWNvbXBhdC5wYXRjaAorCisjIEZpeCBnZGItNy43IGF1dG8tbG9hZCBmcm9tIC91 c3Ivc2hhcmUvZ2RiL2F1dG8tbG9hZC8gcmVncmVzc2lvbi4KK1BhdGNoODQ5OiBnZGItYXV0by1s b2FkLWxvc3QtcGF0aC03LjcucGF0Y2gKKwogJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0g PiA2CiAjIFJMX1NUQVRFX0ZFRE9SQV9HREIgd291bGQgbm90IGJlIGZvdW5kIGZvcjoKICMgUGF0 Y2g2NDI6IGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCkBAIC04MjIsNyArODI4LDEy IEBAIGZpbmQgLW5hbWUgIiouaW5mbyoifHhhcmdzIHJtIC1mCiAlcGF0Y2g4NDMgLXAxCiAlcGF0 Y2g4NDYgLXAxCiAlcGF0Y2g4NDcgLXAxCislcGF0Y2g4NDkgLXAxCiAKKyVwYXRjaDg0OCAtcDEK KyVpZiAwJXshP2VsNjoxfQorJXBhdGNoODQ4IC1wMSAtUgorJWVuZGlmCiAlcGF0Y2gzOTMgLXAx CiAlaWYgMCV7IT9lbDU6MX0gfHwgMCV7P3NjbDoxfQogJXBhdGNoMzkzIC1wMSAtUgpAQCAtMTE1 NSw4ICsxMTY2LDggQEAgZm9yIHB5byBpbiAiIiAiLU8iO2RvCiBkb25lCiAlZW5kaWYgIyAwJXs/ X2VuYWJsZV9kZWJ1Z19wYWNrYWdlczoxfSAmJiAwJXshP193aXRob3V0X3B5dGhvbjoxfQogCi1t a2RpciAkUlBNX0JVSUxEX1JPT1Qle19kYXRhZGlyfS9nZGIvYXV0by1sb2FkCiAlaWYgMCV7IT9f d2l0aG91dF9weXRob246MX0KK21rZGlyICRSUE1fQlVJTERfUk9PVCV7X2RhdGFkaXJ9L2dkYi9h dXRvLWxvYWQKICVpZiAwJXs/cmhlbDoxfSAmJiAwJXs/cmhlbH0gPD0gNgogIyBUZW1wb3Jhcmls eSBub3c6CiBmb3IgTElCIGluIGxpYiBsaWI2NDtkbwpAQCAtMTE5Miw2ICsxMjAzLDcgQEAgZG9u ZQogIyBnZGItYWRkLWluZGV4IGNhbm5vdCBiZSBydW4gZXZlbiBmb3IgU0NMIHBhY2thZ2Ugb24g UkhFTDw9Ni4KICVpZiAwJXs/cmhlbDoxfSAmJiAwJXs/cmhlbH0gPD0gNgogcm0gLWYgJFJQTV9C VUlMRF9ST09UJXtfYmluZGlyfS9nZGItYWRkLWluZGV4CitybSAtZiAkUlBNX0JVSUxEX1JPT1Ql e19tYW5kaXJ9LyovZ2RiLWFkZC1pbmRleC4xKgogJWVuZGlmCiAKICMgUmVtb3ZlIHRoZSBmaWxl cyB0aGF0IGFyZSBwYXJ0IG9mIGEgZ2RiIGJ1aWxkIGJ1dCB0aGF0IGFyZSBvd25lZCBhbmQKQEAg LTEyNjUsNyArMTI3NywxMCBAQCBybSAtcmYgJFJQTV9CVUlMRF9ST09UCiAle19tYW5kaXJ9Lyov Z2RiaW5pdC41KgogJXtfbWFuZGlyfS8qL2dkYi4xKgogJXtfbWFuZGlyfS8qL2djb3JlLjEqCisj IGdkYi1hZGQtaW5kZXggY2Fubm90IGJlIHJ1biBldmVuIGZvciBTQ0wgcGFja2FnZSBvbiBSSEVM PD02LgorJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2CiAle19tYW5kaXJ9LyovZ2Ri LWFkZC1pbmRleC4xKgorJWVuZGlmCiAle19iaW5kaXJ9L2dzdGFjawogJXtfbWFuZGlyfS8qL2dz dGFjay4xKgogIyBQcm92aWRlIGdkYnR1aSBmb3IgUkhFTC01IGFuZCBSSEVMLTYgYXMgaXQgaXMg cmVtb3ZlZCB1cHN0cmVhbSAoQlogNzk3NjY0KS4KQEAgLTEyOTMsNiArMTMwOCw5IEBAIHJtIC1y ZiAkUlBNX0JVSUxEX1JPT1QKICVlbmRpZiAjICV7aGF2ZV9pbnByb2N0cmFjZX0KICVlbmRpZgog CislaWYgMCV7IT9fd2l0aG91dF9weXRob246MX0KKyMgW3JoZWxdIERvIG5vdCBtaWdyYXRlIC91 c3Ivc2hhcmUvZ2RiL2F1dG8tbG9hZC8gd2l0aCBzeW1saW5rcyBvbiBSSEVMcy4KKyVpZiAwJXsh P3JoZWw6MX0KICVwcmUKIGZvciBpIGluICQoZWNobyBiaW4gbGliICQoYmFzZW5hbWUgJXtfbGli ZGlyfSkgc2Jpbnx0ciAnICcgJ1xuJ3xzb3J0IC11KTtkbwogICBzcmM9IiV7X2RhdGFkaXJ9L2dk Yi9hdXRvLWxvYWQvJGkiCkBAIC0xMzA0LDYgKzEzMjIsOCBAQCBmb3IgaSBpbiAkKGVjaG8gYmlu IGxpYiAkKGJhc2VuYW1lICV7X2xpYmRpcn0pIHNiaW58dHIgJyAnICdcbid8c29ydCAtdSk7ZG8K ICAgICBmaQogICBmaQogZG9uZQorJWVuZGlmICMgMCV7IT9yaGVsOjF9CislZW5kaWYgIyAwJXsh P193aXRob3V0X3B5dGhvbjoxfQogCiAjIEl0IHdvdWxkIGJyZWFrIFJIRUwtNSBieSBsZWF2aW5n IGV4Y2Vzc2l2ZSBmaWxlcyBmb3IgdGhlIGRvYyBzdWJwYWNrYWdlLgogJWVuZGlmICMgIW5vYXJj aApAQCAtMTM0MCw2ICsxMzYwLDEyIEBAIGZpCiAlZW5kaWYgIyAwJXshP2VsNToxfSB8fCAiJXtf dGFyZ2V0X2NwdX0iID09ICJub2FyY2giCiAKICVjaGFuZ2Vsb2cKKyogU3VuIEZlYiAyMyAyMDE0 IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuNy0zLmZjMjEK Ky0gW3JoZWw2XSBEVFMgYmFja3dhcmQgUHl0aG9uIGNvbXBhdGliaWxpdHkgQVBJIChCWiAxMDIw MDA0LCBQaGlsIE11bGRvb24pLgorLSBbcmhlbDZdIERvIG5vdCBpbnN0YWxsIGl0cyBtYW4gcGFn ZSBpZiBnZGItYWRkLWluZGV4IGlzIG5vdCBpbnN0YWxsZWQuCistIFtyaGVsXSBEbyBub3QgbWln cmF0ZSAvdXNyL3NoYXJlL2dkYi9hdXRvLWxvYWQvIHdpdGggc3ltbGlua3Mgb24gUkhFTHMuCist IEZpeCBnZGItNy43IGF1dG8tbG9hZCBmcm9tIC91c3Ivc2hhcmUvZ2RiL2F1dG8tbG9hZC8gcmVn cmVzc2lvbi4KKwogKiBTdW4gRmViICA5IDIwMTQgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2No dmlsQHJlZGhhdC5jb20+IC0gNy43LTIuZmMyMQogLSBbcmhlbF0gRml4IHJlYmFzZSBidWlsZCBy ZWdyZXNzaW9uIG9uIFJIRUwgc3lzdGVtcyAoVG9iaWFzIEJ1cm51cykuCiAK