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 2165 invoked from network); 9 Nov 2020 17:14:09 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 9 Nov 2020 17:14:09 -0000 Content-Type: multipart/mixed; boundary="===============4881999164796061590==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIFtXSVBdIGxsdm06IFVwZGF0ZSB0byAxMS4wLjA=?= To: ml@inbox.vuxu.org From: Snektron Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 09 Nov 2020 18:14:09 +0100 List-Id: Message-ID: <20201109171409.nGyxUY07FE3qy3FsnPluXK8WB6b3mADgL_hmmBNQMJM@z> GitHub notification mails are now in MIME to allow UTF8. --===============4881999164796061590== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgU25la3Ryb24gYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL1Nu ZWt0cm9uL3ZvaWQtcGFja2FnZXMgbWFzdGVyCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4 L3ZvaWQtcGFja2FnZXMvcHVsbC8yNjIzMQoKW1dJUF0gbGx2bTogVXBkYXRlIHRvIDExLjAuMApV cGRhdGUgbGx2bSBhbmQgaXRzIHN1YnByb2plY3RzIHRvIDExLjAuMC4NCg0KVGhlcmUgd2VyZSBh IGZldyBkZXRhaWxzIGkgc29sdmVkIGFzIGZvbGxvd3M6DQoqIEZvciBsbHZtMTEsIGZpbGVzL2xs dm0tQ29uZmlnLWNvbmZpZy5oIHdhcyBub3QgdXNlZCwgc28gaSByZW1vdmVkIGl0LiBTYW1lIGZv ciBsbHZtMTANCiogSSBqdXN0IGNvcGllZCBhbGwgcGF0Y2hlcyBmcm9tIGxsdm0xMCwgd2hpY2gg eWllbGRlZCBhIGZldyBwcm9ibGVtczoNCiAgLSBTb21lIGNvZGUgbmVhciBjbGFuZy0wMDQtcHBj NjQtbXVzbC1lbGZ2Mi5wYXRjaCBnb3QgY2hhbmdlZCBzbyBpIHJlLW1hZGUgdGhlIHBhdGNoDQog IC0gbGx2bS0wMDctcHBjLWQ4NTAwNy5wYXRjaCBbc2VlbXMgdG8gaGF2ZSBiZWVuIGltcGxlbWVu dGVkIHVwc3RyZWFtXShodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvY29tbWl0 L2NiZWExNzU2OGY0MzAxNTgyYzFkNWQ0Mzk5MGYwODljYTZjZmY1MjIpDQoqIHN1YnBhY2thZ2Vz IChjbGFuZywgbGxkLCBsbGRiLCBldGMpIHdlcmUgcmVtb3ZlZCBmcm9tIGxsdm0xMCBhcyB0aGV5 IGFyZSBwcm92aWRlZCBieSBsbHZtMTEgbm93IA0KKiBsbHZtLXVud2luZCgtZGV2ZWwpIGFuZCBs aWJjeHgoLWRldmVsKSB3ZXJlIHVwZGF0ZWQgdG8gMTEuMC4wDQoqIFRoZXJlIHdhcyBhIFtzZWQg ZXhwcmVzc2lvbl0oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9i bG9iLzQ3MTI1NTU1NTFiNTE0MDc2MGExNzk0OGE1YzM4ZWFjMWNmMTNkZGMvc3JjcGtncy9saWJj eHgvdGVtcGxhdGUjTDI3KSBpbiB0aGUgZXh0cmFjdCBzdGVwIGZvciBsaWJjeHgsIGl0IHNlZW1z IHRoYXQgdGhpcyBoYXMgYmVlbiBjaGFuZ2VkIHVwc3RyZWFtIHNvIGkgcmVtb3ZlZCBpdC4NCgoK QSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9wdWxsLzI2MjMxLnBhdGNoIGlzIGF0dGFjaGVk --===============4881999164796061590== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-master-26231.patch" RnJvbSBlNjdjMTUxNzgxODI1M2MyYWZmM2ZkMmRiZDEyMzIyMzg1YzA3Y2U1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JpbiBWb2V0dGVyIDxyb2JpbkB2b2V0dGVyLm5sPgpEYXRl OiBNb24sIDkgTm92IDIwMjAgMTg6MTM6MTAgKzAxMDAKU3ViamVjdDogW1BBVENIIDAxLzIxXSBu ZXcgcGFja2FnZTogbGx2bTExLTExLjAuMAoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDggKy0KIHNyY3BrZ3MvY2xhbmcgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9jbGFuZy1hbmFseXplciAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2NsYW5nLXRvb2xzLWV4dHJhICAg ICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvbGliY2xhbmcgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9saWJjbGFuZy1jcHAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2xpYmxsdm0xMSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9sbGQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2xsZC1kZXZlbCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvbGxkYiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9sbGRiLWRldmVsICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAyICstCiAuLi4vbGx2bTExL2ZpbGVzL2xsdm0tQ29uZmlnLWxsdm0tY29u ZmlnLmggICAgfCAgIDkgKwogLi4uY2xhbmctMDAxLWZpeC11bndpbmQtY2hhaW4taW5jbHVzaW9u LnBhdGNoIHwgIDQ0ICsrKwogLi4uL2NsYW5nL2NsYW5nLTAwMi1hZGQtbXVzbC10cmlwbGVzLnBh dGNoICAgIHwgIDkxICsrKysrCiAuLi4vY2xhbmctMDAzLXBwYzY0LWR5bmFtaWMtbGlua2VyLXBh dGgucGF0Y2ggfCAgMTggKwogLi4uL2NsYW5nL2NsYW5nLTAwNC1wcGM2NC1tdXNsLWVsZnYyLnBh dGNoICAgIHwgIDMwICsrCiAuLi4vY29tcGlsZXItcnQvY29tcGlsZXItcnQtYXJtdjUucGF0Y2gg ICAgICAgfCAgMTEgKwogc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9sbGRiL211c2wucGF0 Y2ggIHwgIDMxICsrCiAuLi4vZmlsZXMvcGF0Y2hlcy9sbHZtL2xsdm0tMDAxLW11c2wucGF0Y2gg ICAgfCAgNTggKysrKwogLi4uL2xsdm0vbGx2bS0wMDItbXVzbC1wcGM2NC1lbGZ2Mi5wYXRjaCAg ICAgIHwgIDI2ICsrCiAuLi4vcGF0Y2hlcy9sbHZtL2xsdm0tMDAzLXBwYy1zZWN1cmVwbHQucGF0 Y2ggfCAgMTEgKwogLi4uaH5iMjExMGUyNzAgKGNvZGVsaXRlOiByZWJ1aWxkIGZvciBsbHZtMTEp IHwgIDExICsKIC4uLi9wYXRjaGVzL2xsdm0vbGx2bS0wMDQtb3ZlcnJpZGUtb3B0LnBhdGNoICB8 ICAxOCArCiAuLi4vcGF0Y2hlcy9sbHZtL2xsdm0tMDA1LXBwYy1iaWdwaWMucGF0Y2ggICAgfCAg MzggKysrCiAuLi4vbGx2bS9sbHZtLTAwNi1hYXJjaDY0LW1mX2V4ZWMucGF0Y2ggICAgICAgfCAg MjUgKysKIHNyY3BrZ3MvbGx2bTExL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICB8IDMx MCArKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvbGx2bTExL3VwZGF0ZSAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMiArCiAyNyBmaWxlcyBjaGFuZ2VkLCA3NDcgaW5zZXJ0aW9ucygrKSwg MTMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJsbHZtMTEKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xsdm0xMS9maWxlcy9sbHZtLUNvbmZpZy1sbHZtLWNv bmZpZy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9j bGFuZy9jbGFuZy0wMDEtZml4LXVud2luZC1jaGFpbi1pbmNsdXNpb24ucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2NsYW5nL2NsYW5nLTAwMi1h ZGQtbXVzbC10cmlwbGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sbHZtMTEv ZmlsZXMvcGF0Y2hlcy9jbGFuZy9jbGFuZy0wMDMtcHBjNjQtZHluYW1pYy1saW5rZXItcGF0aC5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvY2xh bmcvY2xhbmctMDA0LXBwYzY0LW11c2wtZWxmdjIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2NvbXBpbGVyLXJ0L2NvbXBpbGVyLXJ0LWFybXY1 LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9s bGRiL211c2wucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xsdm0xMS9maWxlcy9w YXRjaGVzL2xsdm0vbGx2bS0wMDEtbXVzbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvbGx2bS9sbHZtLTAwMi1tdXNsLXBwYzY0LWVsZnYyLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9sbHZt L2xsdm0tMDAzLXBwYy1zZWN1cmVwbHQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L2xsdm0xMS9maWxlcy9wYXRjaGVzL2xsdm0vbGx2bS0wMDMtcHBjLXNlY3VyZXBsdC5wYXRjaH5i MjExMGUyNzAgKGNvZGVsaXRlOiByZWJ1aWxkIGZvciBsbHZtMTEpCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9sbHZtL2xsdm0tMDA0LW92ZXJyaWRlLW9w dC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMv bGx2bS9sbHZtLTAwNS1wcGMtYmlncGljLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9sbHZtL2xsdm0tMDA2LWFhcmNoNjQtbWZfZXhlYy5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGx2bTExL3RlbXBsYXRlCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9sbHZtMTEvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGli cyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggY2JhMzU1YzNiZmEuLjcyNDJlODYzYThjIDEwMDY0NAot LS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTEwMjgsMTAgKzEwMjgs MTAgQEAgbGlidWNoYXJkZXQuc28uMCB1Y2hhcmRldC0wLjAuNl8xCiBsaWJndGtzb3VyY2V2aWV3 bW0tMy4wLnNvLjAgZ3Rrc291cmNldmlld21tLTMuMi4wXzEKIGxpYnlhamwuc28uMiB5YWpsLTIu MC4xXzEKIGxpYmNvbmZ1c2Uuc28uMiBjb25mdXNlLTMuMi4xXzEKLWxpYmxsZGIuc28uMTAgbGxk Yi0xMC4wLjBfMQotbGliY2xhbmcuc28uMTAgbGliY2xhbmctMTAuMC4wXzMKLWxpYmNsYW5nLWNw cC5zby4xMCBsaWJjbGFuZy1jcHAtMTAuMC4wXzMKLWxpYkxMVk0tMTAuc28gbGlibGx2bTEwLTEw LjAuMF8xCitsaWJsbGRiLnNvLjExIGxsZGItMTEuMC4wXzEKK2xpYmNsYW5nLnNvLjExIGxpYmNs YW5nLTExLjAuMF8xCitsaWJjbGFuZy1jcHAuc28uMTEgbGliY2xhbmctY3BwLTExLjAuMF8xCits aWJMTFZNLTExLnNvIGxpYmxsdm0xMS0xMS4wLjBfMQogbGliaXNvZnMuc28uNiBsaWJpc29mcy0w LjYuMjRfMQogbGlibXBhY2suc28uMCBsaWJtcGFjay0xLjAuNV8xCiBsaWJHZW9JUC5zby4xIGxp Ymdlb2lwLTEuNC44XzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2xhbmcgYi9zcmNwa2dzL2NsYW5n CmluZGV4IDU5ZjI2NTc1Y2IzLi5kZWNjMzgwNmM5NSAxMjAwMDAKLS0tIGEvc3JjcGtncy9jbGFu ZworKysgYi9zcmNwa2dzL2NsYW5nCkBAIC0xICsxIEBACi1sbHZtMTAKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCitsbHZtMTEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2NsYW5nLWFuYWx5emVyIGIvc3JjcGtncy9jbGFuZy1hbmFseXplcgppbmRl eCA1OWYyNjU3NWNiMy4uZGVjYzM4MDZjOTUgMTIwMDAwCi0tLSBhL3NyY3BrZ3MvY2xhbmctYW5h bHl6ZXIKKysrIGIvc3JjcGtncy9jbGFuZy1hbmFseXplcgpAQCAtMSArMSBAQAotbGx2bTEwClwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorbGx2bTExClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jbGFuZy10b29scy1leHRyYSBiL3NyY3BrZ3MvY2xh bmctdG9vbHMtZXh0cmEKaW5kZXggNTlmMjY1NzVjYjMuLmRlY2MzODA2Yzk1IDEyMDAwMAotLS0g YS9zcmNwa2dzL2NsYW5nLXRvb2xzLWV4dHJhCisrKyBiL3NyY3BrZ3MvY2xhbmctdG9vbHMtZXh0 cmEKQEAgLTEgKzEgQEAKLWxsdm0xMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2xsdm0x MQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliY2xh bmcgYi9zcmNwa2dzL2xpYmNsYW5nCmluZGV4IDU5ZjI2NTc1Y2IzLi5kZWNjMzgwNmM5NSAxMjAw MDAKLS0tIGEvc3JjcGtncy9saWJjbGFuZworKysgYi9zcmNwa2dzL2xpYmNsYW5nCkBAIC0xICsx IEBACi1sbHZtMTAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitsbHZtMTEKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmNsYW5nLWNwcCBiL3Ny Y3BrZ3MvbGliY2xhbmctY3BwCmluZGV4IDU5ZjI2NTc1Y2IzLi5kZWNjMzgwNmM5NSAxMjAwMDAK LS0tIGEvc3JjcGtncy9saWJjbGFuZy1jcHAKKysrIGIvc3JjcGtncy9saWJjbGFuZy1jcHAKQEAg LTEgKzEgQEAKLWxsdm0xMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2xsdm0xMQpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlibGx2bTExIGIv c3JjcGtncy9saWJsbHZtMTEKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAu LmRlY2MzODA2Yzk1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJsbHZtMTEKQEAgLTAs MCArMSBAQAorbGx2bTExClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9sbGQgYi9zcmNwa2dzL2xsZAppbmRleCA1OWYyNjU3NWNiMy4uZGVjYzM4MDZjOTUg MTIwMDAwCi0tLSBhL3NyY3BrZ3MvbGxkCisrKyBiL3NyY3BrZ3MvbGxkCkBAIC0xICsxIEBACi1s bHZtMTAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitsbHZtMTEKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xsZC1kZXZlbCBiL3NyY3BrZ3MvbGxk LWRldmVsCmluZGV4IDU5ZjI2NTc1Y2IzLi5kZWNjMzgwNmM5NSAxMjAwMDAKLS0tIGEvc3JjcGtn cy9sbGQtZGV2ZWwKKysrIGIvc3JjcGtncy9sbGQtZGV2ZWwKQEAgLTEgKzEgQEAKLWxsdm0xMApc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2xsdm0xMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGxkYiBiL3NyY3BrZ3MvbGxkYgppbmRleCA1OWYy NjU3NWNiMy4uZGVjYzM4MDZjOTUgMTIwMDAwCi0tLSBhL3NyY3BrZ3MvbGxkYgorKysgYi9zcmNw a2dzL2xsZGIKQEAgLTEgKzEgQEAKLWxsdm0xMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK K2xsdm0xMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bGxkYi1kZXZlbCBiL3NyY3BrZ3MvbGxkYi1kZXZlbAppbmRleCA1OWYyNjU3NWNiMy4uZGVjYzM4 MDZjOTUgMTIwMDAwCi0tLSBhL3NyY3BrZ3MvbGxkYi1kZXZlbAorKysgYi9zcmNwa2dzL2xsZGIt ZGV2ZWwKQEAgLTEgKzEgQEAKLWxsdm0xMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2xs dm0xMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGx2 bTExL2ZpbGVzL2xsdm0tQ29uZmlnLWxsdm0tY29uZmlnLmggYi9zcmNwa2dzL2xsdm0xMS9maWxl cy9sbHZtLUNvbmZpZy1sbHZtLWNvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi4yZmEwOGM5YmU2OQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGx2bTEx L2ZpbGVzL2xsdm0tQ29uZmlnLWxsdm0tY29uZmlnLmgKQEAgLTAsMCArMSw5IEBACisjaW5jbHVk ZSA8Yml0cy93b3Jkc2l6ZS5oPgorCisjaWYgX19XT1JEU0laRSA9PSAzMgorI2luY2x1ZGUgImxs dm0tY29uZmlnLTMyLmgiCisjZWxpZiBfX1dPUkRTSVpFID09IDY0CisjaW5jbHVkZSAibGx2bS1j b25maWctNjQuaCIKKyNlbHNlCisjZXJyb3IgIlVua25vd24gd29yZCBzaXplIgorI2VuZGlmCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2NsYW5nL2NsYW5nLTAwMS1m aXgtdW53aW5kLWNoYWluLWluY2x1c2lvbi5wYXRjaCBiL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3Bh dGNoZXMvY2xhbmcvY2xhbmctMDAxLWZpeC11bndpbmQtY2hhaW4taW5jbHVzaW9uLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wNDI0NGJjYzI3NAotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvY2xhbmcvY2xhbmctMDAx LWZpeC11bndpbmQtY2hhaW4taW5jbHVzaW9uLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0Zyb20g MzUyOTc0MTY5ZjBkMmI1ZGEzZDUzMjFmNTg4ZjVlM2I1OTQxMzMwZSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IEFuZHJlYSBCcmFuY2FsZW9uaSA8bWl3YXhlQGdtYWlsLmNvbT4KK0Rh dGU6IFR1ZSwgOCBTZXAgMjAxNSAyMjoxNDo1NyArMDIwMAorU3ViamVjdDogW1BBVENIIDIvN10g Zml4IHVud2luZCBjaGFpbiBpbmNsdXNpb24KKworLS0tCisgbGliL0hlYWRlcnMvdW53aW5kLmgg fCA5ICsrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvSGVhZGVycy91bndpbmQuaCBiL2xpYi9IZWFkZXJz L3Vud2luZC5oCitpbmRleCAzMDNkNzkyLi40NGUxMGNjIDEwMDY0NAorLS0tIGEvbGliL0hlYWRl cnMvdW53aW5kLmgKKysrKyBiL2xpYi9IZWFkZXJzL3Vud2luZC5oCitAQCAtOSw5ICs5LDYgQEAK KyAKKyAvKiBTZWUgIkRhdGEgRGVmaW5pdGlvbnMgZm9yIGxpYmdjY19zIiBpbiB0aGUgTGludXgg U3RhbmRhcmQgQmFzZS4qLworIAorLSNpZm5kZWYgX19DTEFOR19VTldJTkRfSAorLSNkZWZpbmUg X19DTEFOR19VTldJTkRfSAorLQorICNpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgX19oYXNfaW5j bHVkZV9uZXh0KDx1bndpbmQuaD4pCisgLyogRGFyd2luIChmcm9tIDExLnggb24pIHByb3ZpZGUg YW4gdW53aW5kLmguIElmIHRoYXQncyBhdmFpbGFibGUsCisgICogdXNlIGl0LiBsaWJ1bndpbmQg d3JhcHMgc29tZSBvZiBpdHMgZGVmaW5pdGlvbnMgaW4gI2lmZGVmIF9HTlVfU09VUkNFLAorQEAg LTM5LDYgKzM2LDkgQEAKKyAjIGVuZGlmCisgI2Vsc2UKKyAKKysjaWZuZGVmIF9fQ0xBTkdfVU5X SU5EX0gKKysjZGVmaW5lIF9fQ0xBTkdfVU5XSU5EX0gKKysKKyAjaW5jbHVkZSA8c3RkaW50Lmg+ CisgCisgI2lmZGVmIF9fY3BsdXNwbHVzCitAQCAtMzIyLDYgKzMyMiw3IEBAIF9VbndpbmRfUHRy IF9VbndpbmRfR2V0VGV4dFJlbEJhc2Uoc3RydWN0IF9VbndpbmRfQ29udGV4dCAqKTsKKyB9Cisg I2VuZGlmCisgCisrI2VuZGlmIC8qIF9fQ0xBTkdfVU5XSU5EX0ggKi8KKysKKyAjZW5kaWYKKyAK Ky0jZW5kaWYgLyogX19DTEFOR19VTldJTkRfSCAqLworLS0gCisyLjUuMQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9jbGFuZy9jbGFuZy0wMDItYWRkLW11c2wtdHJp cGxlcy5wYXRjaCBiL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvY2xhbmcvY2xhbmctMDAy LWFkZC1tdXNsLXRyaXBsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLmFlZmM4OGQ0OGY1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9sbHZtMTEvZmls ZXMvcGF0Y2hlcy9jbGFuZy9jbGFuZy0wMDItYWRkLW11c2wtdHJpcGxlcy5wYXRjaApAQCAtMCww ICsxLDkxIEBACistLS0gYS9saWIvRHJpdmVyL1Rvb2xDaGFpbnMvR251LmNwcAorKysrIGIvbGli L0RyaXZlci9Ub29sQ2hhaW5zL0dudS5jcHAKK0BAIC0xOTM4LDcgKzE5MzgsOCBAQCB2b2lkIEdl bmVyaWNfR0NDOjpHQ0NJbnN0YWxsYXRpb25EZXRlY3Rvcjo6QWRkRGVmYXVsdEdDQ1ByZWZpeGVz KAorICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IEFSTUhGVHJpcGxlc1tdID0geyJhcm0tbGlu dXgtZ251ZWFiaWhmIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiYXJtdjdobC1yZWRoYXQtbGludXgtZ251ZWFiaSIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImFybXY2aGwtc3VzZS1saW51eC1nbnVlYWJpIiwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJtdjdobC1z dXNlLWxpbnV4LWdudWVhYmkifTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiYXJtdjdobC1zdXNlLWxpbnV4LWdudWVhYmkiLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcm12N2wtbGludXgtZ251ZWFiaWhmIn07 CisgICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgQVJNZWJMaWJEaXJzW10gPSB7Ii9saWIifTsK KyAgIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBBUk1lYlRyaXBsZXNbXSA9IHsiYXJtZWItbGlu dXgtZ251ZWFiaSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImFybWViLWxpbnV4LWFuZHJvaWRlYWJpIn07CitAQCAtMjA3Nyw2ICsyMDc4LDc4IEBAIHZv aWQgR2VuZXJpY19HQ0M6OkdDQ0luc3RhbGxhdGlvbkRldGVjdG9yOjpBZGREZWZhdWx0R0NDUHJl Zml4ZXMoCisgICAgIHJldHVybjsKKyAgIH0KKyAKKysgIGlmIChUYXJnZXRUcmlwbGUuaXNNdXNs KCkpIHsKKysgICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IEFBcmNoNjRNdXNsVHJpcGxlc1td ID0geyJhYXJjaDY0LWxpbnV4LW11c2wifTsKKysgICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0 IEFSTUhGTXVzbFRyaXBsZXNbXSA9IHsKKysgICAgICAgICJhcm0tbGludXgtbXVzbGVhYmloZiIs ICJhcm12N2wtbGludXgtbXVzbGVhYmloZiIKKysgICAgfTsKKysgICAgc3RhdGljIGNvbnN0IGNo YXIgKmNvbnN0IEFSTU11c2xUcmlwbGVzW10gPSB7ImFybS1saW51eC1tdXNsZWFiaSJ9OworKyAg ICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgWDg2XzY0TXVzbFRyaXBsZXNbXSA9IHsieDg2XzY0 LWxpbnV4LW11c2wifTsKKysgICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IFg4Nk11c2xUcmlw bGVzW10gPSB7Imk2ODYtbGludXgtbXVzbCJ9OworKyAgICBzdGF0aWMgY29uc3QgY2hhciAqY29u c3QgTUlQU011c2xUcmlwbGVzW10gPSB7CisrICAgICAgICAibWlwcy1saW51eC1tdXNsIiwgIm1p cHNlbC1saW51eC1tdXNsIiwKKysgICAgICAgICJtaXBzZWwtbGludXgtbXVzbGhmIiwgIm1pcHMt bGludXgtbXVzbGhmIgorKyAgICB9OworKyAgICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgUFBD TXVzbFRyaXBsZXNbXSA9IHsicG93ZXJwYy1saW51eC1tdXNsIn07CisrICAgIHN0YXRpYyBjb25z dCBjaGFyICpjb25zdCBQUEM2NE11c2xUcmlwbGVzW10gPSB7InBvd2VycGM2NC1saW51eC1tdXNs In07CisrICAgIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBQUEM2NExFTXVzbFRyaXBsZXNbXSA9 IHsicG93ZXJwYzY0bGUtbGludXgtbXVzbCJ9OworKworKyAgICBzd2l0Y2ggKFRhcmdldFRyaXBs ZS5nZXRBcmNoKCkpIHsKKysgICAgY2FzZSBsbHZtOjpUcmlwbGU6OmFhcmNoNjQ6CisrICAgICAg TGliRGlycy5hcHBlbmQoYmVnaW4oQUFyY2g2NExpYkRpcnMpLCBlbmQoQUFyY2g2NExpYkRpcnMp KTsKKysgICAgICBUcmlwbGVBbGlhc2VzLmFwcGVuZChiZWdpbihBQXJjaDY0TXVzbFRyaXBsZXMp LCBlbmQoQUFyY2g2NE11c2xUcmlwbGVzKSk7CisrICAgICAgQmlhcmNoTGliRGlycy5hcHBlbmQo YmVnaW4oQUFyY2g2NExpYkRpcnMpLCBlbmQoQUFyY2g2NExpYkRpcnMpKTsKKysgICAgICBCaWFy Y2hUcmlwbGVBbGlhc2VzLmFwcGVuZChiZWdpbihBQXJjaDY0TXVzbFRyaXBsZXMpLCBlbmQoQUFy Y2g2NE11c2xUcmlwbGVzKSk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgbGx2bTo6VHJpcGxl Ojphcm06CisrICAgICAgTGliRGlycy5hcHBlbmQoYmVnaW4oQVJNTGliRGlycyksIGVuZChBUk1M aWJEaXJzKSk7CisrICAgICAgaWYgKFRhcmdldFRyaXBsZS5nZXRFbnZpcm9ubWVudCgpID09IGxs dm06OlRyaXBsZTo6TXVzbEVBQklIRikgeworKyAgICAgICAgVHJpcGxlQWxpYXNlcy5hcHBlbmQo YmVnaW4oQVJNSEZNdXNsVHJpcGxlcyksIGVuZChBUk1IRk11c2xUcmlwbGVzKSk7CisrICAgICAg fSBlbHNlIHsKKysgICAgICAgIFRyaXBsZUFsaWFzZXMuYXBwZW5kKGJlZ2luKEFSTU11c2xUcmlw bGVzKSwgZW5kKEFSTU11c2xUcmlwbGVzKSk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKyAg ICBjYXNlIGxsdm06OlRyaXBsZTo6eDg2XzY0OgorKyAgICAgIExpYkRpcnMuYXBwZW5kKGJlZ2lu KFg4Nl82NExpYkRpcnMpLCBlbmQoWDg2XzY0TGliRGlycykpOworKyAgICAgIFRyaXBsZUFsaWFz ZXMuYXBwZW5kKGJlZ2luKFg4Nl82NE11c2xUcmlwbGVzKSwgZW5kKFg4Nl82NE11c2xUcmlwbGVz KSk7CisrICAgICAgQmlhcmNoTGliRGlycy5hcHBlbmQoYmVnaW4oWDg2TGliRGlycyksIGVuZChY ODZMaWJEaXJzKSk7CisrICAgICAgQmlhcmNoVHJpcGxlQWxpYXNlcy5hcHBlbmQoYmVnaW4oWDg2 TXVzbFRyaXBsZXMpLCBlbmQoWDg2TXVzbFRyaXBsZXMpKTsKKysgICAgICBicmVhazsKKysgICAg Y2FzZSBsbHZtOjpUcmlwbGU6Ong4NjoKKysgICAgICBMaWJEaXJzLmFwcGVuZChiZWdpbihYODZM aWJEaXJzKSwgZW5kKFg4NkxpYkRpcnMpKTsKKysgICAgICBUcmlwbGVBbGlhc2VzLmFwcGVuZChi ZWdpbihYODZNdXNsVHJpcGxlcyksIGVuZChYODZNdXNsVHJpcGxlcykpOworKyAgICAgIEJpYXJj aExpYkRpcnMuYXBwZW5kKGJlZ2luKFg4Nl82NExpYkRpcnMpLCBlbmQoWDg2XzY0TGliRGlycykp OworKyAgICAgIEJpYXJjaFRyaXBsZUFsaWFzZXMuYXBwZW5kKGJlZ2luKFg4Nl82NE11c2xUcmlw bGVzKSwgZW5kKFg4Nl82NE11c2xUcmlwbGVzKSk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2Ug bGx2bTo6VHJpcGxlOjptaXBzOgorKyAgICAgIExpYkRpcnMuYXBwZW5kKGJlZ2luKE1JUFNMaWJE aXJzKSwgZW5kKE1JUFNMaWJEaXJzKSk7CisrICAgICAgVHJpcGxlQWxpYXNlcy5hcHBlbmQoYmVn aW4oTUlQU011c2xUcmlwbGVzKSwgZW5kKE1JUFNNdXNsVHJpcGxlcykpOworKyAgICAgIGJyZWFr OworKyAgICBjYXNlIGxsdm06OlRyaXBsZTo6cHBjOgorKyAgICAgIExpYkRpcnMuYXBwZW5kKGJl Z2luKFBQQ0xpYkRpcnMpLCBlbmQoUFBDTGliRGlycykpOworKyAgICAgIFRyaXBsZUFsaWFzZXMu YXBwZW5kKGJlZ2luKFBQQ011c2xUcmlwbGVzKSwgZW5kKFBQQ011c2xUcmlwbGVzKSk7CisrICAg ICAgQmlhcmNoTGliRGlycy5hcHBlbmQoYmVnaW4oUFBDNjRMaWJEaXJzKSwgZW5kKFBQQzY0TGli RGlycykpOworKyAgICAgIEJpYXJjaFRyaXBsZUFsaWFzZXMuYXBwZW5kKGJlZ2luKFBQQzY0TXVz bFRyaXBsZXMpLCBlbmQoUFBDNjRNdXNsVHJpcGxlcykpOworKyAgICAgIGJyZWFrOworKyAgICBj YXNlIGxsdm06OlRyaXBsZTo6cHBjNjQ6CisrICAgICAgTGliRGlycy5hcHBlbmQoYmVnaW4oUFBD NjRMaWJEaXJzKSwgZW5kKFBQQzY0TGliRGlycykpOworKyAgICAgIFRyaXBsZUFsaWFzZXMuYXBw ZW5kKGJlZ2luKFBQQzY0TXVzbFRyaXBsZXMpLCBlbmQoUFBDNjRNdXNsVHJpcGxlcykpOworKyAg ICAgIEJpYXJjaExpYkRpcnMuYXBwZW5kKGJlZ2luKFBQQ0xpYkRpcnMpLCBlbmQoUFBDTGliRGly cykpOworKyAgICAgIEJpYXJjaFRyaXBsZUFsaWFzZXMuYXBwZW5kKGJlZ2luKFBQQ011c2xUcmlw bGVzKSwgZW5kKFBQQ011c2xUcmlwbGVzKSk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgbGx2 bTo6VHJpcGxlOjpwcGM2NGxlOgorKyAgICAgIExpYkRpcnMuYXBwZW5kKGJlZ2luKFBQQzY0TEVM aWJEaXJzKSwgZW5kKFBQQzY0TEVMaWJEaXJzKSk7CisrICAgICAgVHJpcGxlQWxpYXNlcy5hcHBl bmQoYmVnaW4oUFBDNjRMRU11c2xUcmlwbGVzKSwgZW5kKFBQQzY0TEVNdXNsVHJpcGxlcykpOwor KyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgICB9CisrICAg IFRyaXBsZUFsaWFzZXMucHVzaF9iYWNrKFRhcmdldFRyaXBsZS5zdHIoKSk7CisrICAgIGlmIChU YXJnZXRUcmlwbGUuc3RyKCkgIT0gQmlhcmNoVHJpcGxlLnN0cigpKQorKyAgICAgIEJpYXJjaFRy aXBsZUFsaWFzZXMucHVzaF9iYWNrKEJpYXJjaFRyaXBsZS5zdHIoKSk7CisrICAgIHJldHVybjsK KysgIH0KKysKKyAgIC8vIEFuZHJvaWQgdGFyZ2V0cyBzaG91bGQgbm90IHVzZSBHTlUvTGludXgg dG9vbHMgb3IgbGlicmFyaWVzLgorICAgaWYgKFRhcmdldFRyaXBsZS5pc0FuZHJvaWQoKSkgewor ICAgICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgQUFyY2g2NEFuZHJvaWRUcmlwbGVzW10gPSB7 CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2NsYW5nL2NsYW5nLTAw My1wcGM2NC1keW5hbWljLWxpbmtlci1wYXRoLnBhdGNoIGIvc3JjcGtncy9sbHZtMTEvZmlsZXMv cGF0Y2hlcy9jbGFuZy9jbGFuZy0wMDMtcHBjNjQtZHluYW1pYy1saW5rZXItcGF0aC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNGI5YjBiODkxZDUKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2NsYW5nL2NsYW5nLTAw My1wcGM2NC1keW5hbWljLWxpbmtlci1wYXRoLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBh L2xpYi9Ecml2ZXIvVG9vbENoYWlucy9MaW51eC5jcHAKKysrKyBiL2xpYi9Ecml2ZXIvVG9vbENo YWlucy9MaW51eC5jcHAKK0BAIC01OTMsMTIgKzU5MywxMiBAQCBzdGQ6OnN0cmluZyBMaW51eDo6 Z2V0RHluYW1pY0xpbmtlcihjb25zdCBBcmdMaXN0ICZBcmdzKSBjb25zdCB7CisgICAgIExvYWRl ciA9ICJsZC5zby4xIjsKKyAgICAgYnJlYWs7CisgICBjYXNlIGxsdm06OlRyaXBsZTo6cHBjNjQ6 CistICAgIExpYkRpciA9ICJsaWI2NCI7CisrICAgIExpYkRpciA9ICJsaWIiOworICAgICBMb2Fk ZXIgPQorLSAgICAgICAgKHRvb2xzOjpwcGM6Omhhc1BQQ0FiaUFyZyhBcmdzLCAiZWxmdjIiKSkg PyAibGQ2NC5zby4yIiA6ICJsZDY0LnNvLjEiOworKyAgICAgICAgKHRvb2xzOjpwcGM6Omhhc1BQ Q0FiaUFyZyhBcmdzLCAiZWxmdjEiKSkgPyAibGQ2NC5zby4xIiA6ICJsZDY0LnNvLjIiOworICAg ICBicmVhazsKKyAgIGNhc2UgbGx2bTo6VHJpcGxlOjpwcGM2NGxlOgorLSAgICBMaWJEaXIgPSAi bGliNjQiOworKyAgICBMaWJEaXIgPSAibGliIjsKKyAgICAgTG9hZGVyID0KKyAgICAgICAgICh0 b29sczo6cHBjOjpoYXNQUENBYmlBcmcoQXJncywgImVsZnYxIikpID8gImxkNjQuc28uMSIgOiAi bGQ2NC5zby4yIjsKKyAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xsdm0xMS9maWxl cy9wYXRjaGVzL2NsYW5nL2NsYW5nLTAwNC1wcGM2NC1tdXNsLWVsZnYyLnBhdGNoIGIvc3JjcGtn cy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9jbGFuZy9jbGFuZy0wMDQtcHBjNjQtbXVzbC1lbGZ2Mi5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmQ2NzMxZDNiNTMK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2NsYW5nL2Ns YW5nLTAwNC1wcGM2NC1tdXNsLWVsZnYyLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKKy0tLSBhL2xp Yi9CYXNpYy9UYXJnZXRzL1BQQy5oCisrKysgYi9saWIvQmFzaWMvVGFyZ2V0cy9QUEMuaAorQEAg LTQwOCwxMSArNDA4LDEwIEBACisgICAgICAgU3VpdGFibGVBbGlnbiA9IDY0OworICAgICB9IGVs c2UgaWYgKChUcmlwbGUuZ2V0QXJjaCgpID09IGxsdm06OlRyaXBsZTo6cHBjNjRsZSkpIHsKKyAg ICAgICByZXNldERhdGFMYXlvdXQoImUtbTplLWk2NDo2NC1uMzI6NjQiKTsKKy0gICAgICBBQkkg PSAiZWxmdjIiOworICAgICB9IGVsc2UgeworICAgICAgIHJlc2V0RGF0YUxheW91dCgiRS1tOmUt aTY0OjY0LW4zMjo2NCIpOworLSAgICAgIEFCSSA9ICJlbGZ2MSI7CisgICAgIH0KKysgICAgQUJJ ID0gImVsZnYyIjsKKworICAgICBpZiAoVHJpcGxlLmlzT1NGcmVlQlNEKCkgfHwgVHJpcGxlLmlz T1NPcGVuQlNEKCkgfHwKKyAgICAgICAgIFRyaXBsZS5nZXRPUygpID09IGxsdm06OlRyaXBsZTo6 QUlYIHx8IFRyaXBsZS5pc011c2woKSkgeworLS0tIGEvbGliL0RyaXZlci9Ub29sQ2hhaW5zL0Ns YW5nLmNwcAorKysrIGIvbGliL0RyaXZlci9Ub29sQ2hhaW5zL0NsYW5nLmNwcAorQEAgLTE4ODMs MTEgKzE4ODMsNyBAQAorICAgICAgICAgQUJJTmFtZSA9ICJlbGZ2MS1xcHgiOworICAgICAgICAg YnJlYWs7CisgICAgICAgfQorLSAgICAgIGlmICgoVC5pc09TRnJlZUJTRCgpICYmIFQuZ2V0T1NN YWpvclZlcnNpb24oKSA+PSAxMykgfHwKKy0gICAgICAgICAgVC5pc09TT3BlbkJTRCgpIHx8IFQu aXNNdXNsKCkpCistICAgICAgICBBQklOYW1lID0gImVsZnYyIjsKKy0gICAgICBlbHNlCistICAg ICAgICBBQklOYW1lID0gImVsZnYxIjsKKysgICAgICBBQklOYW1lID0gImVsZnYyIjsKKyAgICAg ICBicmVhazsKKyAgICAgfQorICAgICBjYXNlIGxsdm06OlRyaXBsZTo6cHBjNjRsZToKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvY29tcGlsZXItcnQvY29tcGlsZXIt cnQtYXJtdjUucGF0Y2ggYi9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2NvbXBpbGVyLXJ0 L2NvbXBpbGVyLXJ0LWFybXY1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi44OTNkZDI0NGM1YgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGx2bTExL2Zp bGVzL3BhdGNoZXMvY29tcGlsZXItcnQvY29tcGlsZXItcnQtYXJtdjUucGF0Y2gKQEAgLTAsMCAr MSwxMSBAQAorLS0tIGNvbXBpbGVyLXJ0LTEwLjAuMC5zcmMvbGliL2J1aWx0aW5zL0NNYWtlTGlz dHMudHh0CisrKysgY29tcGlsZXItcnQtMTAuMC4wLnNyYy9saWIvYnVpbHRpbnMvQ01ha2VMaXN0 cy50eHQKK0BAIC00MjgsOCArNDI4LDYgQEAKKyApCisgc2V0KGFybV9UaHVtYjFfU09VUkNFUwor ICAgJHthcm1fVGh1bWIxX0pUX1NPVVJDRVN9CistICAke2FybV9UaHVtYjFfU2pMal9FSF9TT1VS Q0VTfQorLSAgJHthcm1fVGh1bWIxX1ZGUHYyX1NPVVJDRVN9CisgICAke2FybV9UaHVtYjFfaWNh Y2hlX1NPVVJDRVN9CisgKQorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0 Y2hlcy9sbGRiL211c2wucGF0Y2ggYi9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xsZGIv bXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzc0MTZi YjQ3OGQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xs ZGIvbXVzbC5wYXRjaApAQCAtMCwwICsxLDMxIEBACistLS0gYS9zb3VyY2UvUGx1Z2lucy9Qcm9j ZXNzL0xpbnV4L1Byb2Nmcy5oCisrKysgYi9zb3VyY2UvUGx1Z2lucy9Qcm9jZXNzL0xpbnV4L1By b2Nmcy5oCitAQCAtMTAsMjEgKzEwLDEyIEBACisgLy8gc3lzL3Byb2Nmcy5oIG9uIEFuZHJvaWQv TGludXggZm9yIGFsbCBzdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlcy4KKyAKKyAjaW5jbHVkZSA8c3lz L3B0cmFjZS5oPgorKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisgCistI2lmZGVmIF9fQU5EUk9J RF9fCistI2lmIGRlZmluZWQoX19hcm02NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQorLXR5 cGVkZWYgdW5zaWduZWQgbG9uZyBlbGZfZ3JlZ190OworLXR5cGVkZWYgZWxmX2dyZWdfdAorLSAg ICBlbGZfZ3JlZ3NldF90WyhzaXplb2Yoc3RydWN0IHVzZXJfcHRfcmVncykgLyBzaXplb2YoZWxm X2dyZWdfdCkpXTsKKy10eXBlZGVmIHN0cnVjdCB1c2VyX2Zwc2ltZF9zdGF0ZSBlbGZfZnByZWdz ZXRfdDsKKy0jaWZuZGVmIE5UX0ZQUkVHU0VUCistI2RlZmluZSBOVF9GUFJFR1NFVCBOVF9QUkZQ UkVHCistI2VuZGlmIC8vIE5UX0ZQUkVHU0VUCistI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKy0j aWZuZGVmIE5UX0ZQUkVHU0VUCistI2RlZmluZSBOVF9GUFJFR1NFVCBOVF9QUkZQUkVHCistI2Vu ZGlmIC8vIE5UX0ZQUkVHU0VUCistI2VuZGlmCistI2Vsc2UgLy8gX19BTkRST0lEX18KKysjaWYg IWRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fcG93ZXJwY19fKQorKyNkZWZpbmUgcHRf cmVncyBtdXNsX3B0X3JlZ3MKKysjaW5jbHVkZSA8c3lzL3Byb2Nmcy5oPgorKyN1bmRlZiBwdF9y ZWdzCisrI2Vsc2UKKyAjaW5jbHVkZSA8c3lzL3Byb2Nmcy5oPgorLSNlbmRpZiAvLyBfX0FORFJP SURfXworKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9s bHZtL2xsdm0tMDAxLW11c2wucGF0Y2ggYi9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xs dm0vbGx2bS0wMDEtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uYTBlZGRiZjU4YmUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xsdm0xMS9maWxl cy9wYXRjaGVzL2xsdm0vbGx2bS0wMDEtbXVzbC5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9t IGZhY2EzZmJkMTVkMGMzMTA4NDkzYzNjNTRjZDkzMTM4ZTA0OWFjNDMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBBbmRyZWEgQnJhbmNhbGVvbmkgPG1pd2F4ZUBnbWFpbC5jb20+CitE YXRlOiBUdWUsIDggU2VwIDIwMTUgMjI6MDM6MDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzNd IG11c2wKKworLS0tCisgaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmgg fCA5ICsrKysrKysrKworIGxpYi9TdXBwb3J0L0R5bmFtaWNMaWJyYXJ5LmNwcCAgICAgICAgICAg IHwgMiArLQorIGxpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMgICAgICAgICAgICAgIHwgNiAr KystLS0KKyB1dGlscy91bml0dGVzdC9nb29nbGV0ZXN0L3NyYy9ndGVzdC5jYyAgICB8IDEgKwor IDUgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbGx2bS9BbmFseXNpcy9UYXJnZXRMaWJyYXJ5SW5mby5oIGIvaW5j bHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmgKK2luZGV4IGUwYTFlZTMuLjQ2 NWI2NWEgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2xsdm0vQW5hbHlzaXMvVGFyZ2V0TGlicmFyeUlu Zm8uaAorKysrIGIvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmgKK0BA IC0xOCw2ICsxOCwxNSBAQAorICNpbmNsdWRlICJsbHZtL0lSL1Bhc3NNYW5hZ2VyLmgiCisgI2lu Y2x1ZGUgImxsdm0vUGFzcy5oIgorIAorKyN1bmRlZiBmb3BlbjY0CisrI3VuZGVmIGZzZWVrbzY0 CisrI3VuZGVmIGZzdGF0NjQKKysjdW5kZWYgZnN0YXR2ZnM2NAorKyN1bmRlZiBmdGVsbG82NAor KyN1bmRlZiBsc3RhdDY0CisrI3VuZGVmIHN0YXQ2NAorKyN1bmRlZiB0bXBmaWxlNjQKKysKKyBu YW1lc3BhY2UgbGx2bSB7CisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEFycmF5UmVmOwor IAorZGlmZiAtLWdpdCBhL3V0aWxzL3VuaXR0ZXN0L2dvb2dsZXRlc3Qvc3JjL2d0ZXN0LmNjIGIv dXRpbHMvdW5pdHRlc3QvZ29vZ2xldGVzdC9zcmMvZ3Rlc3QuY2MKK2luZGV4IDU3ODA3NjQuLjFk NTQ4YzEgMTAwNjQ0CistLS0gYS91dGlscy91bml0dGVzdC9nb29nbGV0ZXN0L3NyYy9ndGVzdC5j YworKysrIGIvdXRpbHMvdW5pdHRlc3QvZ29vZ2xldGVzdC9zcmMvZ3Rlc3QuY2MKK0BAIC0xMjgs NiArMTI4LDcgQEAKKyAKKyAjaWYgR1RFU1RfQ0FOX1NUUkVBTV9SRVNVTFRTXworICMgaW5jbHVk ZSA8YXJwYS9pbmV0Lmg+ICAvLyBOT0xJTlQKKysjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4gIC8v IE5PTElOVAorICMgaW5jbHVkZSA8bmV0ZGIuaD4gIC8vIE5PTElOVAorICMgaW5jbHVkZSA8c3lz L3NvY2tldC5oPiAgLy8gTk9MSU5UCisgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4gIC8vIE5PTElO VAorLS0gCisyLjUuMQorCistLS0gYS9saWIvU3VwcG9ydC9Vbml4L0R5bmFtaWNMaWJyYXJ5Lmlu YworKysrIGIvbGliL1N1cHBvcnQvVW5peC9EeW5hbWljTGlicmFyeS5pbmMKK0BAIC0xMDIsNyAr MTAyLDcgQEAgc3RhdGljIHZvaWQgKkRvU2VhcmNoKGNvbnN0IGNoYXIqIFN5bWJvbE5hbWUpIHsK KyAKKyAvLyBUaGlzIG1hY3JvIHJldHVybnMgdGhlIGFkZHJlc3Mgb2YgYSB3ZWxsLWtub3duLCBl eHBsaWNpdCBzeW1ib2wKKyAjZGVmaW5lIEVYUExJQ0lUX1NZTUJPTChTWU0pIFwKKy0gICBpZiAo IXN0cmNtcChTeW1ib2xOYW1lLCAjU1lNKSkgcmV0dXJuICZTWU0KKysgICBpZiAoIXN0cmNtcChT eW1ib2xOYW1lLCAjU1lNKSkgcmV0dXJuICh2b2lkICopJlNZTQorIAorIC8vIFVuZGVyIGdsaWJj IHdlIGhhdmUgYSB3ZWlyZCBzaXR1YXRpb24uIFRoZSBzdGRlcnIvb3V0L2luIHN5bWJvbHMgYXJl IGJvdGgKKyAvLyBtYWNyb3MgYW5kIGdsb2JhbCB2YXJpYWJsZXMgYmVjYXVzZSBvZiBzdGFuZGFy ZHMgcmVxdWlyZW1lbnRzLiBTbywgd2UKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGx2bTExL2ZpbGVz L3BhdGNoZXMvbGx2bS9sbHZtLTAwMi1tdXNsLXBwYzY0LWVsZnYyLnBhdGNoIGIvc3JjcGtncy9s bHZtMTEvZmlsZXMvcGF0Y2hlcy9sbHZtL2xsdm0tMDAyLW11c2wtcHBjNjQtZWxmdjIucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkzY2NkZjhkZWM2Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9sbHZtL2xsdm0tMDAy LW11c2wtcHBjNjQtZWxmdjIucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorVGhpcyBwYXRjaGVzIExM Vk0gdG8gdXNlIEVMRnYyIG9uIHBwYzY0IHVuY29uZGl0aW9uYWxseSB1bmxlc3Mgb3ZlcnJpZGRl bi4gV2UKK25lZWQgdGhpcyBiZWNhdXNlIHVubGlrZSBtb3N0IGRpc3Ryb3Mgd2UgdXNlIEVMRnYy IGZvciBib3RoIGdsaWJjIGFuZCBtdXNsCitvbiBiaWcgZW5kaWFuIHBwYzY0LgorCistLS0gYS9s aWIvVGFyZ2V0L1Bvd2VyUEMvUFBDVGFyZ2V0TWFjaGluZS5jcHAKKysrKyBiL2xpYi9UYXJnZXQv UG93ZXJQQy9QUENUYXJnZXRNYWNoaW5lLmNwcAorQEAgLTIxNCw5ICsyMTQsOCBAQAorCisgICBz d2l0Y2ggKFRULmdldEFyY2goKSkgeworICAgY2FzZSBUcmlwbGU6OnBwYzY0bGU6CistICAgIHJl dHVybiBQUENUYXJnZXRNYWNoaW5lOjpQUENfQUJJX0VMRnYyOworICAgY2FzZSBUcmlwbGU6OnBw YzY0OgorLSAgICByZXR1cm4gUFBDVGFyZ2V0TWFjaGluZTo6UFBDX0FCSV9FTEZ2MTsKKysgICAg cmV0dXJuIFBQQ1RhcmdldE1hY2hpbmU6OlBQQ19BQklfRUxGdjI7CisgICBkZWZhdWx0OgorICAg ICByZXR1cm4gUFBDVGFyZ2V0TWFjaGluZTo6UFBDX0FCSV9VTktOT1dOOworICAgfQorLS0tIGEv dGVzdC9Db2RlR2VuL1Bvd2VyUEMvcHBjNjQtZWxmLWFiaS5sbAorKysrIGIvdGVzdC9Db2RlR2Vu L1Bvd2VyUEMvcHBjNjQtZWxmLWFiaS5sbAorQEAgLTEsNCArMSw1IEBACistOyBSVU46IGxsYyAt dmVyaWZ5LW1hY2hpbmVpbnN0cnMgLW10cmlwbGU9cG93ZXJwYzY0LXVua25vd24tbGludXgtZ251 IDwgJXMgfCBGaWxlQ2hlY2sgJXMgLWNoZWNrLXByZWZpeD1DSEVDSy1FTEZ2MQorKzsgUlVOOiBs bGMgLXZlcmlmeS1tYWNoaW5laW5zdHJzIC1tdHJpcGxlPXBvd2VycGM2NC11bmtub3duLWxpbnV4 LWdudSA8ICVzIHwgRmlsZUNoZWNrICVzIC1jaGVjay1wcmVmaXg9Q0hFQ0stRUxGdjIKKys7IFJV TjogbGxjIC12ZXJpZnktbWFjaGluZWluc3RycyAtbXRyaXBsZT1wb3dlcnBjNjQtdW5rbm93bi1s aW51eC1tdXNsIDwgJXMgfCBGaWxlQ2hlY2sgJXMgLWNoZWNrLXByZWZpeD1DSEVDSy1FTEZ2Mgor IDsgUlVOOiBsbGMgLXZlcmlmeS1tYWNoaW5laW5zdHJzIC1tdHJpcGxlPXBvd2VycGM2NC11bmtu b3duLWxpbnV4LWdudSAtdGFyZ2V0LWFiaSBlbGZ2MSA8ICVzIHwgRmlsZUNoZWNrICVzIC1jaGVj ay1wcmVmaXg9Q0hFQ0stRUxGdjEKKyA7IFJVTjogbGxjIC12ZXJpZnktbWFjaGluZWluc3RycyAt bXRyaXBsZT1wb3dlcnBjNjQtdW5rbm93bi1saW51eC1nbnUgLXRhcmdldC1hYmkgZWxmdjIgPCAl cyB8IEZpbGVDaGVjayAlcyAtY2hlY2stcHJlZml4PUNIRUNLLUVMRnYyCisgOyBSVU46IGxsYyAt dmVyaWZ5LW1hY2hpbmVpbnN0cnMgLW10cmlwbGU9cG93ZXJwYzY0bGUtdW5rbm93bi1saW51eC1n bnUgPCAlcyB8IEZpbGVDaGVjayAlcyAtY2hlY2stcHJlZml4PUNIRUNLLUVMRnYyCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xsdm0vbGx2bS0wMDMtcHBjLXNlY3Vy ZXBsdC5wYXRjaCBiL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvbGx2bS9sbHZtLTAwMy1w cGMtc2VjdXJlcGx0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5mY2JhYmE4NjMzNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3Bh dGNoZXMvbGx2bS9sbHZtLTAwMy1wcGMtc2VjdXJlcGx0LnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAK Ky0tLSBsbHZtL2xpYi9UYXJnZXQvUG93ZXJQQy9QUENTdWJ0YXJnZXQuY3BwCisrKysgbGx2bS9s aWIvVGFyZ2V0L1Bvd2VyUEMvUFBDU3VidGFyZ2V0LmNwcAorQEAgLTE1MCw3ICsxNTAsNyBAQCB2 b2lkIFBQQ1N1YnRhcmdldDo6aW5pdFN1YnRhcmdldEZlYXR1cmVzKFN0cmluZ1JlZiBDUFUsIFN0 cmluZ1JlZiBGUykgeworIAorICAgaWYgKChUYXJnZXRUcmlwbGUuaXNPU0ZyZWVCU0QoKSAmJiBU YXJnZXRUcmlwbGUuZ2V0T1NNYWpvclZlcnNpb24oKSA+PSAxMykgfHwKKyAgICAgICBUYXJnZXRU cmlwbGUuaXNPU05ldEJTRCgpIHx8IFRhcmdldFRyaXBsZS5pc09TT3BlbkJTRCgpIHx8CistICAg ICAgVGFyZ2V0VHJpcGxlLmlzTXVzbCgpKQorKyAgICAgIGlzVGFyZ2V0TGludXgoKSkKKyAgICAg U2VjdXJlUGx0ID0gdHJ1ZTsKKyAKKyAgIGlmIChIYXNTUEUgJiYgSXNQUEM2NCkKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvbGx2bS9sbHZtLTAwMy1wcGMtc2VjdXJl cGx0LnBhdGNofmIyMTEwZTI3MCAoY29kZWxpdGU6IHJlYnVpbGQgZm9yIGxsdm0xMSkgYi9zcmNw a2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xsdm0vbGx2bS0wMDMtcHBjLXNlY3VyZXBsdC5wYXRj aH5iMjExMGUyNzAgKGNvZGVsaXRlOiByZWJ1aWxkIGZvciBsbHZtMTEpCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41YmU4ZGU0ZjA2OAotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvbGx2bS9sbHZtLTAwMy1wcGMtc2VjdXJlcGx0 LnBhdGNofmIyMTEwZTI3MCAoY29kZWxpdGU6IHJlYnVpbGQgZm9yIGxsdm0xMSkJCkBAIC0wLDAg KzEsMTEgQEAKKy0tLSBsbHZtL2xpYi9UYXJnZXQvUG93ZXJQQy9QUENTdWJ0YXJnZXQuY3BwCisr KysgbGx2bS9saWIvVGFyZ2V0L1Bvd2VyUEMvUFBDU3VidGFyZ2V0LmNwcAorQEAgLTE1Myw3ICsx NTMsNyBAQAorCisgICBpZiAoKFRhcmdldFRyaXBsZS5pc09TRnJlZUJTRCgpICYmIFRhcmdldFRy aXBsZS5nZXRPU01ham9yVmVyc2lvbigpID49IDEzKSB8fAorICAgICAgIFRhcmdldFRyaXBsZS5p c09TTmV0QlNEKCkgfHwgVGFyZ2V0VHJpcGxlLmlzT1NPcGVuQlNEKCkgfHwKKy0gICAgICBUYXJn ZXRUcmlwbGUuaXNNdXNsKCkpCisrICAgICAgaXNUYXJnZXRMaW51eCgpKQorICAgICBTZWN1cmVQ bHQgPSB0cnVlOworCisgICBpZiAoSGFzU1BFICYmIElzUFBDNjQpCmRpZmYgLS1naXQgYS9zcmNw a2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xsdm0vbGx2bS0wMDQtb3ZlcnJpZGUtb3B0LnBhdGNo IGIvc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9sbHZtL2xsdm0tMDA0LW92ZXJyaWRlLW9w dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYWFhZWZjOTYz ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xsdm0v bGx2bS0wMDQtb3ZlcnJpZGUtb3B0LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1RoaXMgYWxsb3dz IHVzIHRvIG92ZXJyaWRlIHRoZSBvcHRpbWl6YXRpb24gbGV2ZWwgYXMgbm90IGFsbCBwbGF0Zm9y bXMgY2FuCitkZWFsIHdpdGggLU8zLgorCistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01h a2VMaXN0cy50eHQKK0BAIC05OTksNiArOTk5LDEyIEBACisgICAgICR7Q01BS0VfQVJDSElWRV9P VVRQVVRfRElSRUNUT1JZfS90Zl9ydW50aW1lKQorIGVuZGlmKCkKKworK3NldChWT0lEX0NYWF9P UFRfRkxBR1MgIiIgQ0FDSEUgU1RSSU5HICJPcHRpbWl6YXRpb24gbGV2ZWwgdG8gdXNlIikKKysK KytpZiAoTk9UIFZPSURfQ1hYX09QVF9GTEFHUyBTVFJFUVVBTCAiIikKKysgICAgbGx2bV9yZXBs YWNlX2NvbXBpbGVyX29wdGlvbihDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiLU8zIiAiJHtWT0lE X0NYWF9PUFRfRkxBR1N9IikKKytlbmRpZigpCisrCisgIyBQdXQgdGhpcyBiZWZvcmUgdGJsZ2Vu LiBFbHNlIHdlIGhhdmUgYSBjaXJjdWxhciBkZXBlbmRlbmNlLgorIGFkZF9zdWJkaXJlY3Rvcnko bGliL0RlbWFuZ2xlKQorIGFkZF9zdWJkaXJlY3RvcnkobGliL1N1cHBvcnQpCmRpZmYgLS1naXQg YS9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xsdm0vbGx2bS0wMDUtcHBjLWJpZ3BpYy5w YXRjaCBiL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvbGx2bS9sbHZtLTAwNS1wcGMtYmln cGljLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40ZTAwNDVk OTdkMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNoZXMvbGx2 bS9sbHZtLTAwNS1wcGMtYmlncGljLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gZjNkYmRk NDljMDZiZmFmYzFkNjEzODA5NGNmNDI4ODljMTRkMzhiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IFNhbXVlbCBIb2xsYW5kIDxzYW11ZWxAc2hvbGxhbmQub3JnPgorRGF0ZTogU3Vu LCAzIE5vdiAyMDE5IDEwOjU3OjI3IC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIFtMTFZNXVtQb3dl clBDXSBBc3N1bWUgQmlnUElDIGlmIG5vIFBJQyBsZXZlbCBpcyBzcGVjaWZpZWQKKworLS0tCisg bGx2bS9saWIvVGFyZ2V0L1Bvd2VyUEMvUFBDQXNtUHJpbnRlci5jcHAgIHwgMiArLQorIGxsdm0v bGliL1RhcmdldC9Qb3dlclBDL1BQQ01DSW5zdExvd2VyLmNwcCB8IDIgKy0KKyAyIGZpbGVzIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xs dm0vbGliL1RhcmdldC9Qb3dlclBDL1BQQ0FzbVByaW50ZXIuY3BwIGIvbGx2bS9saWIvVGFyZ2V0 L1Bvd2VyUEMvUFBDQXNtUHJpbnRlci5jcHAKK2luZGV4IDI2OWI4NGI0ZThkLi4wMzI0NmE1MjQy YyAxMDA2NDQKKy0tLSBsbHZtL2xpYi9UYXJnZXQvUG93ZXJQQy9QUENBc21QcmludGVyLmNwcAor KysrIGxsdm0vbGliL1RhcmdldC9Qb3dlclBDL1BQQ0FzbVByaW50ZXIuY3BwCitAQCAtNDg4LDcg KzQ4OCw3IEBAIHZvaWQgUFBDQXNtUHJpbnRlcjo6RW1pdFRsc0NhbGwoY29uc3QgTWFjaGluZUlu c3RyICpNSSwKKyAKKyAgIC8vIEFkZCAzMjc2OCBvZmZzZXQgdG8gdGhlIHN5bWJvbCBzbyB3ZSBm b2xsb3cgdXAgdGhlIGxhdGVzdCBHT1QvUExUIEFCSS4KKyAgIGlmIChLaW5kID09IE1DU3ltYm9s UmVmRXhwcjo6VktfUExUICYmIFN1YnRhcmdldC0+aXNTZWN1cmVQbHQoKSAmJgorLSAgICAgIE0t PmdldFBJQ0xldmVsKCkgPT0gUElDTGV2ZWw6OkJpZ1BJQykKKysgICAgICBNLT5nZXRQSUNMZXZl bCgpICE9IFBJQ0xldmVsOjpTbWFsbFBJQykKKyAgICAgVGxzUmVmID0gTUNCaW5hcnlFeHByOjpj cmVhdGVBZGQoCisgICAgICAgICBUbHNSZWYsIE1DQ29uc3RhbnRFeHByOjpjcmVhdGUoMzI3Njgs IE91dENvbnRleHQpLCBPdXRDb250ZXh0KTsKKyAgIGNvbnN0IE1hY2hpbmVPcGVyYW5kICZNTyA9 IE1JLT5nZXRPcGVyYW5kKDIpOworZGlmZiAtLWdpdCBhL2xsdm0vbGliL1RhcmdldC9Qb3dlclBD L1BQQ01DSW5zdExvd2VyLmNwcCBiL2xsdm0vbGliL1RhcmdldC9Qb3dlclBDL1BQQ01DSW5zdExv d2VyLmNwcAoraW5kZXggMDI3ZTZiZDFiYTAuLmFlNDYxZjRlZWE5IDEwMDY0NAorLS0tIGxsdm0v bGliL1RhcmdldC9Qb3dlclBDL1BQQ01DSW5zdExvd2VyLmNwcAorKysrIGxsdm0vbGliL1Rhcmdl dC9Qb3dlclBDL1BQQ01DSW5zdExvd2VyLmNwcAorQEAgLTExNiw3ICsxMTYsNyBAQCBzdGF0aWMg TUNPcGVyYW5kIEdldFN5bWJvbFJlZihjb25zdCBNYWNoaW5lT3BlcmFuZCAmTU8sIGNvbnN0IE1D U3ltYm9sICpTeW1ib2wsCisgICBjb25zdCBNQ0V4cHIgKkV4cHIgPSBNQ1N5bWJvbFJlZkV4cHI6 OmNyZWF0ZShTeW1ib2wsIFJlZktpbmQsIEN0eCk7CisgICAvLyBJZiAtbXNlY3VyZS1wbHQgLWZQ SUMsIGFkZCAzMjc2OCB0byBzeW1ib2wuCisgICBpZiAoU3VidGFyZ2V0LT5pc1NlY3VyZVBsdCgp ICYmIFRNLmlzUG9zaXRpb25JbmRlcGVuZGVudCgpICYmCistICAgICAgTS0+Z2V0UElDTGV2ZWwo KSA9PSBQSUNMZXZlbDo6QmlnUElDICYmCisrICAgICAgTS0+Z2V0UElDTGV2ZWwoKSAhPSBQSUNM ZXZlbDo6U21hbGxQSUMgJiYKKyAgICAgICBNTy5nZXRUYXJnZXRGbGFncygpID09IFBQQ0lJOjpN T19QTFQpCisgICAgIEV4cHIgPQorICAgICAgICAgTUNCaW5hcnlFeHByOjpjcmVhdGVBZGQoRXhw ciwgTUNDb25zdGFudEV4cHI6OmNyZWF0ZSgzMjc2OCwgQ3R4KSwgQ3R4KTsKKy0tIAorMi4yMy4w CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xsdm0vbGx2bS0wMDYt YWFyY2g2NC1tZl9leGVjLnBhdGNoIGIvc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9sbHZt L2xsdm0tMDA2LWFhcmNoNjQtbWZfZXhlYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uYTY0YTMxN2VlNmMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xs dm0xMS9maWxlcy9wYXRjaGVzL2xsdm0vbGx2bS0wMDYtYWFyY2g2NC1tZl9leGVjLnBhdGNoCkBA IC0wLDAgKzEsMjUgQEAKK0ZpeCBmYWlsdXJlcyBpbiBBbGxvY2F0aW9uVGVzdHMvTWFwcGVkTWVt b3J5VGVzdC4qIG9uIGFhcmNoNjQ6CisKKyAgICBGYWlsaW5nIFRlc3RzICg4KToKKyAgICAgICAg TExWTS1Vbml0IDo6IFN1cHBvcnQvLi9TdXBwb3J0VGVzdHMvQWxsb2NhdGlvblRlc3RzL01hcHBl ZE1lbW9yeVRlc3QuQWxsb2NBbmRSZWxlYXNlLzMKKyAgICAgICAgTExWTS1Vbml0IDo6IFN1cHBv cnQvLi9TdXBwb3J0VGVzdHMvQWxsb2NhdGlvblRlc3RzL01hcHBlZE1lbW9yeVRlc3QuRHVwbGlj YXRlTmVhci8zCisgICAgICAgIExMVk0tVW5pdCA6OiBTdXBwb3J0Ly4vU3VwcG9ydFRlc3RzL0Fs bG9jYXRpb25UZXN0cy9NYXBwZWRNZW1vcnlUZXN0LkVuYWJsZWRXcml0ZS8zCisgICAgICAgIExM Vk0tVW5pdCA6OiBTdXBwb3J0Ly4vU3VwcG9ydFRlc3RzL0FsbG9jYXRpb25UZXN0cy9NYXBwZWRN ZW1vcnlUZXN0Lk11bHRpcGxlQWxsb2NBbmRSZWxlYXNlLzMKKyAgICAgICAgTExWTS1Vbml0IDo6 IFN1cHBvcnQvLi9TdXBwb3J0VGVzdHMvQWxsb2NhdGlvblRlc3RzL01hcHBlZE1lbW9yeVRlc3Qu U3VjY2Vzc2l2ZU5lYXIvMworICAgICAgICBMTFZNLVVuaXQgOjogU3VwcG9ydC8uL1N1cHBvcnRU ZXN0cy9BbGxvY2F0aW9uVGVzdHMvTWFwcGVkTWVtb3J5VGVzdC5VbmFsaWduZWROZWFyLzMKKyAg ICAgICAgTExWTS1Vbml0IDo6IFN1cHBvcnQvLi9TdXBwb3J0VGVzdHMvQWxsb2NhdGlvblRlc3Rz L01hcHBlZE1lbW9yeVRlc3QuWmVyb05lYXIvMworICAgICAgICBMTFZNLVVuaXQgOjogU3VwcG9y dC8uL1N1cHBvcnRUZXN0cy9BbGxvY2F0aW9uVGVzdHMvTWFwcGVkTWVtb3J5VGVzdC5aZXJvU2l6 ZU5lYXIvMworCitVcHN0cmVhbS1Jc3N1ZTogaHR0cHM6Ly9idWdzLmxsdm0ub3JnL3Nob3dfYnVn LmNnaT9pZD0xNDI3OCNjMTAKKworLS0tIGEvbGliL1N1cHBvcnQvVW5peC9NZW1vcnkuaW5jCisr KysgYi9saWIvU3VwcG9ydC9Vbml4L01lbW9yeS5pbmMKK0BAIC01OSw3ICs1OSw3IEBACisgICAg IHJldHVybiBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFIHwgUFJPVF9FWEVDOworICAgY2FzZSBsbHZt OjpzeXM6Ok1lbW9yeTo6TUZfRVhFQzoKKyAjaWYgKGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRl ZmluZWQoX19QT1dFUlBDX18pIHx8IGRlZmluZWQgKF9fcHBjX18pIHx8IFwKKy0gICAgIGRlZmlu ZWQoX1BPV0VSKSB8fCBkZWZpbmVkKF9BUkNIX1BQQykpCisrICAgICBkZWZpbmVkKF9QT1dFUikg fHwgZGVmaW5lZChfQVJDSF9QUEMpIHx8IChkZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChf X2FhcmNoNjRfXykpKQorICAgICAvLyBPbiBQb3dlclBDLCBoYXZpbmcgYW4gZXhlY3V0YWJsZSBw YWdlIHRoYXQgaGFzIG5vIHJlYWQgcGVybWlzc2lvbgorICAgICAvLyBjYW4gaGF2ZSB1bmludGVu ZGVkIGNvbnNlcXVlbmNlcy4gIFRoZSBmdW5jdGlvbiBJbnZhbGlkYXRlSW5zdHJ1Y3Rpb24tCisg ICAgIC8vIENhY2hlIHVzZXMgaW5zdHJ1Y3Rpb25zIGRjYmYgYW5kIGljYmksIGJvdGggb2Ygd2hp Y2ggYXJlIHRyZWF0ZWQgYnkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGx2bTExL3RlbXBsYXRlIGIv c3JjcGtncy9sbHZtMTEvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjc4OTM3NjcyYTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9sbHZtMTEvdGVt cGxhdGUKQEAgLTAsMCArMSwzMTAgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xsdm0xMScKK3Br Z25hbWU9bGx2bTExCit2ZXJzaW9uPTExLjAuMAorcmV2aXNpb249MQord3Jrc3JjPSJsbHZtLSR7 dmVyc2lvbn0uc3JjIgorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSIKKyAtRENN QUtFX0JVSUxEX1RZUEU9UmVsZWFzZQorIC1ETExWTV9JTlNUQUxMX1VUSUxTPU9OCisgLURMTFZN X0JVSUxEX0xMVk1fRFlMSUI9T04KKyAtRExMVk1fTElOS19MTFZNX0RZTElCPU9OCisgLURMTFZN X0VOQUJMRV9SVFRJPU9OCisgLURMTFZNX0VOQUJMRV9GRkk9T04KKyAtRExMVk1fQklOVVRJTFNf SU5DRElSPS91c3IvaW5jbHVkZSIKK2hvc3RtYWtlZGVwZW5kcz0iZ3JvZmYgcGVybCBweXRob24z IHpsaWItZGV2ZWwgbGliZmZpLWRldmVsIHN3aWciCittYWtlZGVwZW5kcz0icHl0aG9uMy1kZXZl bCB6bGliLWRldmVsIGxpYmZmaS1kZXZlbCBsaWJlZGl0LWRldmVsCisgbGlieG1sMi1kZXZlbCBi aW51dGlscy1kZXZlbCBsaWJhdG9taWMtZGV2ZWwiCitkZXBlbmRzPSJsaWJsbHZtMTEiCitzaG9y dF9kZXNjPSJMb3cgTGV2ZWwgVmlydHVhbCBNYWNoaW5lIgorbWFpbnRhaW5lcj0icTY2IDxkYW5p ZWxAb2N0YWZvcmNlLm9yZz4iCitsaWNlbnNlPSJOQ1NBIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3 Lmxsdm0ub3JnIgorZGlzdGZpbGVzPSIKKyBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXBy b2plY3QvcmVsZWFzZXMvZG93bmxvYWQvbGx2bW9yZy0ke3ZlcnNpb259L2xsdm0tJHt2ZXJzaW9u fS5zcmMudGFyLnh6CisgaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3JlbGVh c2VzL2Rvd25sb2FkL2xsdm1vcmctJHt2ZXJzaW9ufS9sbGRiLSR7dmVyc2lvbn0uc3JjLnRhci54 egorIGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9h ZC9sbHZtb3JnLSR7dmVyc2lvbn0vbGxkLSR7dmVyc2lvbn0uc3JjLnRhci54egorIGh0dHBzOi8v Z2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9hZC9sbHZtb3JnLSR7 dmVyc2lvbn0vY2xhbmctJHt2ZXJzaW9ufS5zcmMudGFyLnh6CisgaHR0cHM6Ly9naXRodWIuY29t L2xsdm0vbGx2bS1wcm9qZWN0L3JlbGVhc2VzL2Rvd25sb2FkL2xsdm1vcmctJHt2ZXJzaW9ufS9j bGFuZy10b29scy1leHRyYS0ke3ZlcnNpb259LnNyYy50YXIueHoKKyBodHRwczovL2dpdGh1Yi5j b20vbGx2bS9sbHZtLXByb2plY3QvcmVsZWFzZXMvZG93bmxvYWQvbGx2bW9yZy0ke3ZlcnNpb259 L2NvbXBpbGVyLXJ0LSR7dmVyc2lvbn0uc3JjLnRhci54eiIKK2NoZWNrc3VtPSIKKyA5MTNmNjhj ODk4ZGZiNGEwM2IzOTdjNWUxMWM2YTJmMzlkMGYyMmVkNzY2NWM5Y2VmYTg3YTM0NDIzYTcyNDY5 CisgODU3MGMwOWY1NzM5OWUyMWUwZWVhMGRjZDY2YWUwMjMxZDQ3ZWFmYzdhMDRkNmZlNWM0OTUx YjEzYzRkMmM3MgorIGVmZTdiZTRhN2I3Y2RjNmYzYmNmMjIyODI3YzZmODM3NDM5ZTZlNjU2ZDEy ZDZjODg1ZDVjOGE4MGZmNGZkMWMKKyAwZjk2YWNhY2UxZTgzMjZiMzlmMjIwYmExOWUwNTViYTk5 YjBhYjIxYzI0NzUwNDJkYmM2YTQ4MjY0OWM1MjA5CisgZmVkMzE4Zjc1ZDU2MGQwZTBhZTcyOGUy ZmI4YWJjZTcxZTlkMGM2MGRkMTIwYzliYWFjMTE4NTIyY2U3NmMwOQorIDM3NGFmZjgyZmY1NzNh NDQ5ZjlhYWJiZDMzMGE1ZDBhNDQxMTgxYzUzNWEzNTk5OTk2MTI3Mzc4MTEyZGIyMzQiCitsaWIz MmRpc2FibGVkPXllcworcHl0aG9uX3ZlcnNpb249MworCitfbGxkYl9lbmFibGU9eWVzCisKK2lm IFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgorCV9sbGRiX2VuYWJsZT1ubworZmkKKworY2FzZSAi JFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCisJcHBjNjRsZSopIDs7CisJcHBjKikgX2xsZGJfZW5h YmxlPW5vIDs7Citlc2FjCisKK3N1YnBhY2thZ2VzPSJjbGFuZy10b29scy1leHRyYSBjbGFuZyBj bGFuZy1hbmFseXplciBsaWJjbGFuZyBsaWJjbGFuZy1jcHAgbGlibGx2bTExIgoraWYgWyAiJF9s bGRiX2VuYWJsZSIgPSAieWVzIiBdOyB0aGVuCisJIyBYWFggZmFpbHMgdG8gY3Jvc3MgY29tcGls ZSBkdWUgdG8gcHl0aG9uCisJc3VicGFja2FnZXMrPSIgbGxkYiBsbGRiLWRldmVsIgorZmkKK3N1 YnBhY2thZ2VzKz0iIGxsZCBsbGQtZGV2ZWwiCisKK3Bvc3RfcGF0Y2goKSB7CisJIyBwYXRjaGVz CisJY2QgJHtYQlBTX0JVSUxERElSfS9sbHZtLSR7dmVyc2lvbn0uc3JjCisJZm9yIGkgaW4gJHtG SUxFU0RJUn0vcGF0Y2hlcy9sbHZtL2xsdm0tKi5wYXRjaDsgZG8KKwkJbXNnX25vcm1hbCAiQXBw bHlpbmcgJGkgdG8gbGx2bVxuIgorCQlwYXRjaCAtc05wMSAtaSAke2l9CisJZG9uZQorCisJY2Qg JHtYQlBTX0JVSUxERElSfS9jbGFuZy0ke3ZlcnNpb259LnNyYworCWZvciBpIGluICR7RklMRVNE SVJ9L3BhdGNoZXMvY2xhbmcvY2xhbmctKi5wYXRjaDsgZG8KKwkJbXNnX25vcm1hbCAiQXBwbHlp bmcgJGkgdG8gY2xhbmdcbiIKKwkJcGF0Y2ggLXNOcDEgLWkgJHtpfQorCWRvbmUKKworCWNhc2Ug IiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCWFybXY1KikKKwkJY2QgJHtYQlBTX0JVSUxERElS fS9jb21waWxlci1ydC0ke3ZlcnNpb259LnNyYworCQlmb3IgaSBpbiAke0ZJTEVTRElSfS9wYXRj aGVzL2NvbXBpbGVyLXJ0L2NvbXBpbGVyLXJ0LSoucGF0Y2g7IGRvCisJCQltc2dfbm9ybWFsICJB cHBseWluZyAkaSB0byBjb21waWxlci1ydFxuIgorCQkJcGF0Y2ggLXNOcDEgLWkgJHtpfQorCQlk b25lCisJCTs7CisJZXNhYworCisJaWYgWyAiJF9sbGRiX2VuYWJsZSIgPSAieWVzIiBdOyB0aGVu CisJCWNkICR7WEJQU19CVUlMRERJUn0vbGxkYi0ke3ZlcnNpb259LnNyYworCQlmb3IgaSBpbiAk e0ZJTEVTRElSfS9wYXRjaGVzL2xsZGIvKi5wYXRjaDsgZG8KKwkJCW1zZ19ub3JtYWwgIkFwcGx5 aW5nICRpIHRvIGxsZGJcbiIKKwkJCXBhdGNoIC1zTnAxIC1pICR7aX0KKwkJZG9uZQorCQljYXNl ICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KKwkJCSotbXVzbCkgc2VkIC1pICdzfF9fcHRyYWNl X3JlcXVlc3R8aW50fGcnIHNvdXJjZS9QbHVnaW5zL1Byb2Nlc3MvTGludXgvTmF0aXZlUHJvY2Vz c0xpbnV4LmNwcCA7OworCQllc2FjCisJZmkKKworCSMgTW92ZSBjbGFuZyBmaWxlcyBpbnRvIHRo ZSBsbHZtIHNvdXJjZS4KKwlpZiBbIC1kICR7WEJQU19CVUlMRERJUn0vY2xhbmctJHt2ZXJzaW9u fS5zcmMgXTsgdGhlbgorCQltdiAke1hCUFNfQlVJTERESVJ9L2NsYW5nLSR7dmVyc2lvbn0uc3Jj ICR7d3Jrc3JjfS90b29scy9jbGFuZworCWZpCisJIyBNb3ZlIGNsYW5nLXRvb2xzLWV4dHJhIGZp bGVzIGludG8gbGx2bSBzb3VyY2UuCisJaWYgWyAtZCAke1hCUFNfQlVJTERESVJ9L2NsYW5nLXRv b2xzLWV4dHJhLSR7dmVyc2lvbn0uc3JjIF07IHRoZW4KKwkJbXYgJHtYQlBTX0JVSUxERElSfS9j bGFuZy10b29scy1leHRyYS0ke3ZlcnNpb259LnNyYyAke3dya3NyY30vdG9vbHMvY2xhbmcvdG9v bHMvZXh0cmEKKwlmaQorCSMgTW92ZSBsbGQgZmlsZXMgaW50byB0aGUgbGx2bSBzb3VyY2UuCisJ aWYgWyAtZCAke1hCUFNfQlVJTERESVJ9L2xsZC0ke3ZlcnNpb259LnNyYyBdOyB0aGVuCisJCW12 ICR7WEJQU19CVUlMRERJUn0vbGxkLSR7dmVyc2lvbn0uc3JjICR7d3Jrc3JjfS90b29scy9sbGQK KwlmaQorCSMgTW92ZSBsbGRiIGZpbGVzIGludG8gdGhlIGxsdm0gc291cmNlLgorCWlmIFsgLWQg JHtYQlBTX0JVSUxERElSfS9sbGRiLSR7dmVyc2lvbn0uc3JjIF07IHRoZW4KKwkJaWYgWyAiJF9s bGRiX2VuYWJsZSIgPSAieWVzIiBdOyB0aGVuCisJCQltdiAke1hCUFNfQlVJTERESVJ9L2xsZGIt JHt2ZXJzaW9ufS5zcmMgJHt3cmtzcmN9L3Rvb2xzL2xsZGIKKwkJZWxzZQorCQkJcm0gLXJmICR7 WEJQU19CVUlMRERJUn0vbGxkYi0ke3ZlcnNpb259LnNyYworCQlmaQorCWZpCisJIyBNb3ZlIGNv bXBpbGVyLXJ0IGZpbGVzIGludG8gdGhlIGxsdm0gc291cmNlLgorCWlmIFsgLWQgJHtYQlBTX0JV SUxERElSfS9jb21waWxlci1ydC0ke3ZlcnNpb259LnNyYyBdOyB0aGVuCisJCW12ICR7WEJQU19C VUlMRERJUn0vY29tcGlsZXItcnQtJHt2ZXJzaW9ufS5zcmMgJHt3cmtzcmN9L3Byb2plY3RzL2Nv bXBpbGVyLXJ0CisJZmkKKwljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KKwkJKi1tdXNs KQorCQkJIyBEaXNhYmxlIHNhbml0aXplcnMKKwkJCXNlZCAtaSAncy9zZXQoQ09NUElMRVJfUlRf SEFTX1NBTklUSVpFUl9DT01NT04gVFJVRSkvc2V0KENPTVBJTEVSX1JUX0hBU19TQU5JVElaRVJf Q09NTU9OIEZBTFNFKS8nICR7d3Jrc3JjfS9wcm9qZWN0cy9jb21waWxlci1ydC9jbWFrZS9jb25m aWctaXguY21ha2UKKwkJCTs7CisJZXNhYworCit9CisKK3ByZV9jb25maWd1cmUoKSB7CisJIyBW YXN0bHkgcmVkdWNlIHNpemUgb2YgZGVidWdnaW5nIHN5bWJvbHM6CisJQ0ZMQUdTPSR7Q0ZMQUdT LyAtZy8gLWcxfQorCUNYWEZMQUdTPSR7Q1hYRkxBR1MvIC1nLyAtZzF9CisKKwkjIHNpbmNlIGdj YzksIHRoZSBidWlsZCBsaWtlcyB0byBibG93IHVwIGZvciBwcGMzMiBhcHBhcmVudGx5IGJlY2F1 c2UKKwkjIG9mIGNsYW5nIGJlaW5nIHRvbyBsYXJnZSBmb3IgYSAyNC1iaXQgcmVsYXRpdmUgY2Fs bCB0byB0aGUgUExULCBzbworCSMgb3B0aW1pemUgZm9yIHNpemUgaW5zdGVhZAorCWNhc2UgIiRY QlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCQltaXBzKi1tdXNsfHBwY3xwcGMtbXVzbCkgY29uZmln dXJlX2FyZ3MrPSIgLURWT0lEX0NYWF9PUFRfRkxBR1M9LU9zIiA7OworCWVzYWMKKworCWlmIFsg IiRDUk9TU19CVUlMRCIgXTsgdGhlbgorCQltc2dfbm9ybWFsICJCdWlsZGluZyBob3N0IHRibGdl blxuIgorCQlta2RpciAtcCBidWlsZC9IT1NUCisJCWNkIGJ1aWxkL0hPU1QKKwkJQ0M9IiRCVUlM RF9DQyIgQ1hYPSIkQlVJTERfQ1hYIiBDRkxBR1M9IiRCVUlMRF9DRkxBR1MiIFwKKwkJCUNYWEZM QUdTPSIkQlVJTERfQ1hYRkxBR1MiIExERkxBR1M9IiRCVUlMRF9MREZMQUdTIiBcCisJCQljbWFr ZSAuLi8uLiAtRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZQorCQltYWtlICR7bWFrZWpvYnN9IC1D IHV0aWxzL1RhYmxlR2VuCisJCW1ha2UgJHttYWtlam9ic30gLUMgdG9vbHMvY2xhbmcvdXRpbHMv VGFibGVHZW4KKwkJY29uZmlndXJlX2FyZ3MrPSIgLURMTFZNX1RBQkxFR0VOPSR7d3Jrc3JjfS9i dWlsZC9IT1NUL2Jpbi9sbHZtLXRibGdlbiIKKwkJY29uZmlndXJlX2FyZ3MrPSIgLURDTEFOR19U QUJMRUdFTj0ke3dya3NyY30vYnVpbGQvSE9TVC9iaW4vY2xhbmctdGJsZ2VuIgorCQljZCAuLi8u LgorCWZpCisKKwljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KKwkJaTY4NiopIF9hcmNo PSJYODYiOzsKKwkJeDg2XzY0KikgX2FyY2g9Ilg4NiI7OworCQlhcm12NSopIF9hcmNoPSJBcm12 NXRlIjs7CisJCWFybXY2KikgX2FyY2g9IkFybXY2Ijs7CisJCWFybXY3KikgX2FyY2g9IkFybXY3 Ijs7CisJCWFhcmNoNjQqKSBfYXJjaD0iQUFyY2g2NCI7OworCQltaXBzKikgX2FyY2g9Ik1pcHMi OzsKKwkJcHBjKikgX2FyY2g9IlBvd2VyUEMiOzsKKwllc2FjCisJY29uZmlndXJlX2FyZ3MrPSIg LURMTFZNX1RBUkdFVF9BUkNIPSR7X2FyY2h9IgorCWNvbmZpZ3VyZV9hcmdzKz0iIC1ETExWTV9I T1NUX1RSSVBMRT0ke1hCUFNfQ1JPU1NfVFJJUExFVDotJFhCUFNfVFJJUExFVH0iCisJY29uZmln dXJlX2FyZ3MrPSIgLURMTFZNX0RFRkFVTFRfVEFSR0VUX1RSSVBMRT0ke1hCUFNfQ1JPU1NfVFJJ UExFVDotJFhCUFNfVFJJUExFVH0iCit9CisKK2RvX2luc3RhbGwoKSB7CisJdmxpY2Vuc2UgTElD RU5TRS5UWFQKKworCWNkIGJ1aWxkCisJY21ha2UgLURDTUFLRV9JTlNUQUxMX1BSRUZJWD0ke0RF U1RESVJ9L3VzciAtUCBjbWFrZV9pbnN0YWxsLmNtYWtlCisKKwkjIEZpeCBwZXJtaXNzaW9ucyBv ZiBzdGF0aWMgbGlicworCWNobW9kIC14ICR7REVTVERJUn0vdXNyL2xpYi8qLmEKKworCSMgUmVx dWlyZWQgZm9yIG11bHRpbGliLgorCWlmIFsgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiA9ICJ4ODZf NjQiIF07IHRoZW4KKwkJZm9yIF9oZWFkZXIgaW4gbGx2bS1jb25maWc7IGRvCisJCQltdiAke0RF U1RESVJ9L3Vzci9pbmNsdWRlL2xsdm0vQ29uZmlnLyR7X2hlYWRlcn17LC02NH0uaAorCQkJdmlu c3RhbGwgJHtGSUxFU0RJUn0vbGx2bS1Db25maWctJHtfaGVhZGVyfS5oIDY0NCBcCisJCQkJdXNy L2luY2x1ZGUvbGx2bS9Db25maWcgJHtfaGVhZGVyfS5oCisJCWRvbmUKKwlmaQorCisJIyBSZW1v dmUgbGx2bS1jb25maWctaG9zdCBpbiBjcm9zcyBidWlsZHMuCisJaWYgWyAiJENST1NTX0JVSUxE IiBdOyB0aGVuCisJCXJtIC1mICR7REVTVERJUn0vdXNyL2Jpbi9sbHZtLWNvbmZpZy1ob3N0CisJ ZmkKK30KKworY2xhbmctYW5hbHl6ZXJfcGFja2FnZSgpIHsKKwlweWNvbXBpbGVfZGlycz0idXNy L3NoYXJlL3NjYW4tdmlldyIKKwlkZXBlbmRzPSJjbGFuZy0ke3ZlcnNpb259XyR7cmV2aXNpb259 IHB5dGhvbjMiCisJc2hvcnRfZGVzYys9IiAtIEEgc291cmNlIGNvZGUgYW5hbHlzaXMgZnJhbWV3 b3JrIgorCWhvbWVwYWdlPSJodHRwczovL2NsYW5nLWFuYWx5emVyLmxsdm0ub3JnLyIKKwlwa2df aW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL3NoYXJlL21hbi9tYW4xL3NjYW4tYnVpbGQuMQorCQl2 bW92ZSAiL3Vzci9iaW4vc2Nhbi0qIgorCQl2bW92ZSAiL3Vzci9zaGFyZS9zY2FuLSoiCisJCXZt b3ZlICIvdXNyL2xpYmV4ZWMvKmFuYWx5emVyIgorCX0KK30KKworY2xhbmctdG9vbHMtZXh0cmFf cGFja2FnZSgpIHsKKwlsaWIzMmRpc2FibGVkPXllcworCWRlcGVuZHM9ImNsYW5nLSR7dmVyc2lv bn1fJHtyZXZpc2lvbn0gcHl0aG9uMyIKKwlzaG9ydF9kZXNjKz0iIC0gRXh0cmEgQ2xhbmcgdG9v bHMiCisJaG9tZXBhZ2U9Imh0dHBzOi8vY2xhbmcubGx2bS5vcmcvZXh0cmEvIgorCXBrZ19pbnN0 YWxsKCkgeworCQl2bW92ZSB1c3IvYmluL2NsYW5nLWFwcGx5LXJlcGxhY2VtZW50cworCQl2bW92 ZSB1c3IvYmluL2NsYW5nLXF1ZXJ5CisJCXZtb3ZlIHVzci9iaW4vY2xhbmctcmVuYW1lCisJCXZt b3ZlIHVzci9iaW4vY2xhbmctdGlkeQorCQl2bW92ZSB1c3IvYmluL2RpYWd0b29sCisJCXZtb3Zl IHVzci9iaW4vZmluZC1hbGwtc3ltYm9scworCQl2bW92ZSB1c3IvYmluL2htYXB0b29sCisJCXZt b3ZlIHVzci9iaW4vbW9kdWxhcml6ZQorCQl2bW92ZSB1c3IvYmluL3BwLXRyYWNlCisJCXZtb3Zl IHVzci9iaW4vc2FuY292CisJCXZtb3ZlICJ1c3IvbGliL2xpYmNsYW5nQXBwbHlSZXBsYWNlbWVu dHMqIgorCQl2bW92ZSAidXNyL2xpYi9saWJjbGFuZ1F1ZXJ5KiIKKwkJdm1vdmUgInVzci9saWIv bGliY2xhbmdUaWR5KiIKKwkJdm1vdmUgInVzci9zaGFyZS9jbGFuZy8qdGlkeSoiCisJfQorfQor CitjbGFuZ19wYWNrYWdlKCkgeworCWxpYjMyZGlzYWJsZWQ9eWVzCisJZGVwZW5kcz0ibGlic3Rk YysrLWRldmVsIGxpYmdjYy1kZXZlbCAgYmludXRpbHMgJHtYQlBTX1RBUkdFVF9MSUJDfS1kZXZl bAorCSBsaWJjbGFuZy0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCXNob3J0X2Rlc2MrPSIgLSBD IGxhbmd1YWdlIGZhbWlseSBmcm9udGVuZCIKKwlob21lcGFnZT0iaHR0cHM6Ly9jbGFuZy5sbHZt Lm9yZy8iCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRlL2NsYW5nCisJCXZt b3ZlIHVzci9pbmNsdWRlL2NsYW5nLWMKKwkJdm1vdmUgInVzci9iaW4vKmNsYW5nKiIKKwkJdm1v dmUgdXNyL2Jpbi9jLWluZGV4LXRlc3QKKwkJdm1vdmUgdXNyL2xpYi9jbGFuZworCQl2bW92ZSB1 c3IvbGliL2NtYWtlL2NsYW5nCisJCXZtb3ZlICJ1c3IvbGliL2xpYmNsYW5nKi5hIgorCQl2bW92 ZSAidXNyL2xpYi9saWJjbGFuZyouc28iCisJCXZtb3ZlICJ1c3Ivc2hhcmUvY2xhbmciCisJfQor fQorCitsaWJjbGFuZ19wYWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPSIgLSBDIGZyb250ZW5kIHJ1 bnRpbWUgbGlicmFyeSIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgInVzci9saWIvbGliY2xh bmcuc28uKiIKKwl9Cit9CisKK2xpYmNsYW5nLWNwcF9wYWNrYWdlKCkgeworCXNob3J0X2Rlc2Mr PSIgLSBDIGZyb250ZW5kIHJ1bnRpbWUgbGlicmFyeSAoQysrIGludGVyZmFjZSkiCisJcGtnX2lu c3RhbGwoKSB7CisJCXZtb3ZlICJ1c3IvbGliL2xpYmNsYW5nLWNwcC5zby4qIgorCX0KK30KKwor bGxkX3BhY2thZ2UoKSB7CisJbGliMzJkaXNhYmxlZD15ZXMKKwlzaG9ydF9kZXNjKz0iIC0gbGlu a2VyIgorCWhvbWVwYWdlPSJodHRwczovL2xsZC5sbHZtLm9yZyIKKwlwa2dfaW5zdGFsbCgpIHsK KwkJdm1vdmUgdXNyL2Jpbi9sbGQqCisJCXZtb3ZlIHVzci9iaW4vd2FzbS1sZAorCQl2bW92ZSB1 c3IvYmluL2xkLmxsZCoKKwl9Cit9CisKK2xsZC1kZXZlbF9wYWNrYWdlKCkgeworCWxpYjMyZGlz YWJsZWQ9eWVzCisJc2hvcnRfZGVzYys9IiAtIGxpbmtlciAtIGRldmVsb3BtZW50IGZpbGVzIgor CWhvbWVwYWdlPSJodHRwczovL2xsZC5sbHZtLm9yZyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1v dmUgdXNyL2luY2x1ZGUvbGxkCisJCXZtb3ZlICJ1c3IvbGliL2xpYmxsZCphIgorCX0KK30KKwor bGxkYl9wYWNrYWdlKCkgeworCWxpYjMyZGlzYWJsZWQ9eWVzCisJZGVwZW5kcys9IiBweXRob24z LXNpeCIKKwlzaG9ydF9kZXNjKz0iIC0gTExEQiBkZWJ1Z2dlciIKKwlob21lcGFnZT0iaHR0cHM6 Ly9sbGRiLmxsdm0ub3JnLyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2Jpbi8qbGxk YioKKwkJdm1vdmUgdXNyL2xpYi9saWJsbGRiKnNvLioKKwkJdm1vdmUgL3Vzci9saWIvcHl0aG9u KgorCQkjIERlcGVuZCBvbiBweXRob24zLXNpeCBpbnN0ZWFkIG9mIGNvbmZsaWN0aW5nCisJCXJt ICR7UEtHREVTVERJUn0vdXNyL2xpYi9weXRob24zKi9zaXRlLXBhY2thZ2VzL3NpeC5weQorCX0K K30KKworbGxkYi1kZXZlbF9wYWNrYWdlKCkgeworCWxpYjMyZGlzYWJsZWQ9eWVzCisJZGVwZW5k cz0ibGxkYj49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlzaG9ydF9kZXNjKz0iIC0gTExEQiBk ZWJ1Z2dlciAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1 c3IvaW5jbHVkZS9sbGRiCisJCXZtb3ZlICJ1c3IvbGliL2xpYmxsZGIqLnNvIgorCX0KK30KKwor bGlibGx2bTExX3BhY2thZ2UoKSB7CisJc2hvcnRfZGVzYys9IiAtIHJ1bnRpbWUgbGlicmFyeSIK Kwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgInVzci9saWIvbGliTExWTS0qLnNvKiIKKwl9Cit9 CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xsdm0xMS91cGRhdGUgYi9zcmNwa2dzL2xsdm0xMS91cGRh dGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjNkMDllYWZmMzczCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9sbHZtMTEvdXBkYXRlCkBAIC0wLDAgKzEsMiBAQAor c2l0ZT1odHRwczovL3JlbGVhc2VzLmxsdm0ub3JnLworcGF0dGVybj0iJ1xLW1xkXC5dKig/PScp IgoKRnJvbSA0M2MxODc2ZjAzYTQ5OGFmMWJiODBjOGI5OWRiYThkM2IwMTY1NDkxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JpbiBWb2V0dGVyIDxyb2JpbkB2b2V0dGVyLm5sPgpE YXRlOiBNb24sIDkgTm92IDIwMjAgMTg6MTM6MjMgKzAxMDAKU3ViamVjdDogW1BBVENIIDAyLzIx XSBsbHZtOiB1cGRhdGUgdG8gMTEuMC4wCgotLS0KIHNyY3BrZ3MvbGx2bS90ZW1wbGF0ZSB8IDgg KysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sbHZtL3RlbXBsYXRlIGIvc3JjcGtncy9sbHZtL3RlbXBs YXRlCmluZGV4IDg0YzhkM2E4ZTZlLi5lYjcxZTdkNjdmYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9s bHZtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbGx2bS90ZW1wbGF0ZQpAQCAtMSwxMCArMSwxMCBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGx2bScKIHBrZ25hbWU9bGx2bQotdmVyc2lvbj0xMC4w LjAKLXJldmlzaW9uPTIKK3ZlcnNpb249MTEuMC4wCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1t ZXRhCi1kZXBlbmRzPSJsbHZtMTAiCi1yZXBsYWNlcz0ibGx2bTk+PTAgbGx2bTg+PTAgbGx2bTc+ PTAgbGx2bTYuMD49MCBsbHZtMy45Pj0wIgorZGVwZW5kcz0ibGx2bTExIgorcmVwbGFjZXM9Imxs dm0xMD49MCBsbHZtOT49MCBsbHZtOD49MCBsbHZtNz49MCBsbHZtNi4wPj0wIGxsdm0zLjk+PTAi CiBzaG9ydF9kZXNjPSJMTFZNIG1ldGEgcGFja2FnZSIKIG1haW50YWluZXI9IkVubm8gQm9sYW5k IDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJQdWJsaWMgRG9tYWluIgoKRnJvbSBm MjgyOTdiNzlmMzU1ZDQ3M2RlYmYxOWQ5YTE2NzdhNzFlNGIwNjU3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBSb2JpbiBWb2V0dGVyIDxyb2JpbkB2b2V0dGVyLm5sPgpEYXRlOiBTdW4s IDggTm92IDIwMjAgMTg6MjE6MTYgKzAxMDAKU3ViamVjdDogW1BBVENIIDAzLzIxXSBsbHZtMTA6 IHJlYnVpbGQgc3RhbmRhbG9uZQoKLS0tCiBzcmNwa2dzL2xsdm0xMC9maWxlcy9sbHZtLUNvbmZp Zy1jb25maWcuaCAgICAgfCAgIDkgLQogLi4uY2xhbmctMDAxLWZpeC11bndpbmQtY2hhaW4taW5j bHVzaW9uLnBhdGNoIHwgIDQ0IC0tLS0KIC4uLi9jbGFuZy9jbGFuZy0wMDItYWRkLW11c2wtdHJp cGxlcy5wYXRjaCAgICB8ICA5MSAtLS0tLS0tLQogLi4uL2NsYW5nLTAwMy1wcGM2NC1keW5hbWlj LWxpbmtlci1wYXRoLnBhdGNoIHwgIDE4IC0tCiAuLi4vY2xhbmcvY2xhbmctMDA0LXBwYzY0LW11 c2wtZWxmdjIucGF0Y2ggICAgfCAgMzAgLS0tCiAuLi4vY29tcGlsZXItcnQvY29tcGlsZXItcnQt YXJtdjUucGF0Y2ggICAgICAgfCAgMTEgLQogc3JjcGtncy9sbHZtMTAvZmlsZXMvcGF0Y2hlcy9s bGRiL211c2wucGF0Y2ggIHwgIDMxIC0tLQogc3JjcGtncy9sbHZtMTAvdGVtcGxhdGUgICAgICAg ICAgICAgICAgICAgICAgIHwgMjExICstLS0tLS0tLS0tLS0tLS0tLQogOCBmaWxlcyBjaGFuZ2Vk LCA1IGluc2VydGlvbnMoKyksIDQ0MCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2xsdm0xMC9maWxlcy9sbHZtLUNvbmZpZy1jb25maWcuaAogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvbGx2bTEwL2ZpbGVzL3BhdGNoZXMvY2xhbmcvY2xhbmctMDAxLWZpeC11bndp bmQtY2hhaW4taW5jbHVzaW9uLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sbHZt MTAvZmlsZXMvcGF0Y2hlcy9jbGFuZy9jbGFuZy0wMDItYWRkLW11c2wtdHJpcGxlcy5wYXRjaAog ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGx2bTEwL2ZpbGVzL3BhdGNoZXMvY2xhbmcvY2xh bmctMDAzLXBwYzY0LWR5bmFtaWMtbGlua2VyLXBhdGgucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2xsdm0xMC9maWxlcy9wYXRjaGVzL2NsYW5nL2NsYW5nLTAwNC1wcGM2NC1tdXNs LWVsZnYyLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sbHZtMTAvZmlsZXMvcGF0 Y2hlcy9jb21waWxlci1ydC9jb21waWxlci1ydC1hcm12NS5wYXRjaAogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvbGx2bTEwL2ZpbGVzL3BhdGNoZXMvbGxkYi9tdXNsLnBhdGNoCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9sbHZtMTAvZmlsZXMvbGx2bS1Db25maWctY29uZmlnLmggYi9zcmNwa2dz L2xsdm0xMC9maWxlcy9sbHZtLUNvbmZpZy1jb25maWcuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggYzM2OWI0NTUxZjcuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbGx2bTEwL2Zp bGVzL2xsdm0tQ29uZmlnLWNvbmZpZy5oCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0j aW5jbHVkZSA8Yml0cy93b3Jkc2l6ZS5oPgotCi0jaWYgX19XT1JEU0laRSA9PSAzMgotI2luY2x1 ZGUgImNvbmZpZy0zMi5oIgotI2VsaWYgX19XT1JEU0laRSA9PSA2NAotI2luY2x1ZGUgImNvbmZp Zy02NC5oIgotI2Vsc2UKLSNlcnJvciAiVW5rbm93biB3b3JkIHNpemUiCi0jZW5kaWYKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvbGx2bTEwL2ZpbGVzL3BhdGNoZXMvY2xhbmcvY2xhbmctMDAxLWZpeC11 bndpbmQtY2hhaW4taW5jbHVzaW9uLnBhdGNoIGIvc3JjcGtncy9sbHZtMTAvZmlsZXMvcGF0Y2hl cy9jbGFuZy9jbGFuZy0wMDEtZml4LXVud2luZC1jaGFpbi1pbmNsdXNpb24ucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0MjQ0YmNjMjc0Li4wMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL2xsdm0xMC9maWxlcy9wYXRjaGVzL2NsYW5nL2NsYW5nLTAwMS1maXgtdW53aW5kLWNo YWluLWluY2x1c2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLUZyb20g MzUyOTc0MTY5ZjBkMmI1ZGEzZDUzMjFmNTg4ZjVlM2I1OTQxMzMwZSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IEFuZHJlYSBCcmFuY2FsZW9uaSA8bWl3YXhlQGdtYWlsLmNvbT4KLURh dGU6IFR1ZSwgOCBTZXAgMjAxNSAyMjoxNDo1NyArMDIwMAotU3ViamVjdDogW1BBVENIIDIvN10g Zml4IHVud2luZCBjaGFpbiBpbmNsdXNpb24KLQotLS0tCi0gbGliL0hlYWRlcnMvdW53aW5kLmgg fCA5ICsrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvSGVhZGVycy91bndpbmQuaCBiL2xpYi9IZWFkZXJz L3Vud2luZC5oCi1pbmRleCAzMDNkNzkyLi40NGUxMGNjIDEwMDY0NAotLS0tIGEvbGliL0hlYWRl cnMvdW53aW5kLmgKLSsrKyBiL2xpYi9IZWFkZXJzL3Vud2luZC5oCi1AQCAtOSw5ICs5LDYgQEAK LSAKLSAvKiBTZWUgIkRhdGEgRGVmaW5pdGlvbnMgZm9yIGxpYmdjY19zIiBpbiB0aGUgTGludXgg U3RhbmRhcmQgQmFzZS4qLwotIAotLSNpZm5kZWYgX19DTEFOR19VTldJTkRfSAotLSNkZWZpbmUg X19DTEFOR19VTldJTkRfSAotLQotICNpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgX19oYXNfaW5j bHVkZV9uZXh0KDx1bndpbmQuaD4pCi0gLyogRGFyd2luIChmcm9tIDExLnggb24pIHByb3ZpZGUg YW4gdW53aW5kLmguIElmIHRoYXQncyBhdmFpbGFibGUsCi0gICogdXNlIGl0LiBsaWJ1bndpbmQg d3JhcHMgc29tZSBvZiBpdHMgZGVmaW5pdGlvbnMgaW4gI2lmZGVmIF9HTlVfU09VUkNFLAotQEAg LTM5LDYgKzM2LDkgQEAKLSAjIGVuZGlmCi0gI2Vsc2UKLSAKLSsjaWZuZGVmIF9fQ0xBTkdfVU5X SU5EX0gKLSsjZGVmaW5lIF9fQ0xBTkdfVU5XSU5EX0gKLSsKLSAjaW5jbHVkZSA8c3RkaW50Lmg+ Ci0gCi0gI2lmZGVmIF9fY3BsdXNwbHVzCi1AQCAtMzIyLDYgKzMyMiw3IEBAIF9VbndpbmRfUHRy IF9VbndpbmRfR2V0VGV4dFJlbEJhc2Uoc3RydWN0IF9VbndpbmRfQ29udGV4dCAqKTsKLSB9Ci0g I2VuZGlmCi0gCi0rI2VuZGlmIC8qIF9fQ0xBTkdfVU5XSU5EX0ggKi8KLSsKLSAjZW5kaWYKLSAK LS0jZW5kaWYgLyogX19DTEFOR19VTldJTkRfSCAqLwotLS0gCi0yLjUuMQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9sbHZtMTAvZmlsZXMvcGF0Y2hlcy9jbGFuZy9jbGFuZy0wMDItYWRkLW11c2wtdHJp cGxlcy5wYXRjaCBiL3NyY3BrZ3MvbGx2bTEwL2ZpbGVzL3BhdGNoZXMvY2xhbmcvY2xhbmctMDAy LWFkZC1tdXNsLXRyaXBsZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFl ZmM4OGQ0OGY1Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xsdm0xMC9maWxlcy9wYXRjaGVz L2NsYW5nL2NsYW5nLTAwMi1hZGQtbXVzbC10cmlwbGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsOTEgKzAsMCBAQAotLS0tIGEvbGliL0RyaXZlci9Ub29sQ2hhaW5zL0dudS5jcHAKLSsrKyBi L2xpYi9Ecml2ZXIvVG9vbENoYWlucy9HbnUuY3BwCi1AQCAtMTkzOCw3ICsxOTM4LDggQEAgdm9p ZCBHZW5lcmljX0dDQzo6R0NDSW5zdGFsbGF0aW9uRGV0ZWN0b3I6OkFkZERlZmF1bHRHQ0NQcmVm aXhlcygKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBBUk1IRlRyaXBsZXNbXSA9IHsiYXJt LWxpbnV4LWdudWVhYmloZiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImFybXY3aGwtcmVkaGF0LWxpbnV4LWdudWVhYmkiLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcm12NmhsLXN1c2UtbGludXgtZ251ZWFi aSIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFybXY3 aGwtc3VzZS1saW51eC1nbnVlYWJpIn07Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImFybXY3aGwtc3VzZS1saW51eC1nbnVlYWJpIiwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJtdjdsLWxpbnV4LWdudWVhYmlo ZiJ9OwotICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IEFSTWViTGliRGlyc1tdID0geyIvbGli In07Ci0gICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgQVJNZWJUcmlwbGVzW10gPSB7ImFybWVi LWxpbnV4LWdudWVhYmkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJhcm1lYi1saW51eC1hbmRyb2lkZWFiaSJ9OwotQEAgLTIwNzcsNiArMjA3OCw3OCBA QCB2b2lkIEdlbmVyaWNfR0NDOjpHQ0NJbnN0YWxsYXRpb25EZXRlY3Rvcjo6QWRkRGVmYXVsdEdD Q1ByZWZpeGVzKAotICAgICByZXR1cm47Ci0gICB9Ci0gCi0rICBpZiAoVGFyZ2V0VHJpcGxlLmlz TXVzbCgpKSB7Ci0rICAgIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBBQXJjaDY0TXVzbFRyaXBs ZXNbXSA9IHsiYWFyY2g2NC1saW51eC1tdXNsIn07Ci0rICAgIHN0YXRpYyBjb25zdCBjaGFyICpj b25zdCBBUk1IRk11c2xUcmlwbGVzW10gPSB7Ci0rICAgICAgICAiYXJtLWxpbnV4LW11c2xlYWJp aGYiLCAiYXJtdjdsLWxpbnV4LW11c2xlYWJpaGYiCi0rICAgIH07Ci0rICAgIHN0YXRpYyBjb25z dCBjaGFyICpjb25zdCBBUk1NdXNsVHJpcGxlc1tdID0geyJhcm0tbGludXgtbXVzbGVhYmkifTsK LSsgICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IFg4Nl82NE11c2xUcmlwbGVzW10gPSB7Ing4 Nl82NC1saW51eC1tdXNsIn07Ci0rICAgIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBYODZNdXNs VHJpcGxlc1tdID0geyJpNjg2LWxpbnV4LW11c2wifTsKLSsgICAgc3RhdGljIGNvbnN0IGNoYXIg KmNvbnN0IE1JUFNNdXNsVHJpcGxlc1tdID0gewotKyAgICAgICAgIm1pcHMtbGludXgtbXVzbCIs ICJtaXBzZWwtbGludXgtbXVzbCIsCi0rICAgICAgICAibWlwc2VsLWxpbnV4LW11c2xoZiIsICJt aXBzLWxpbnV4LW11c2xoZiIKLSsgICAgfTsKLSsgICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0 IFBQQ011c2xUcmlwbGVzW10gPSB7InBvd2VycGMtbGludXgtbXVzbCJ9OwotKyAgICBzdGF0aWMg Y29uc3QgY2hhciAqY29uc3QgUFBDNjRNdXNsVHJpcGxlc1tdID0geyJwb3dlcnBjNjQtbGludXgt bXVzbCJ9OwotKyAgICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgUFBDNjRMRU11c2xUcmlwbGVz W10gPSB7InBvd2VycGM2NGxlLWxpbnV4LW11c2wifTsKLSsKLSsgICAgc3dpdGNoIChUYXJnZXRU cmlwbGUuZ2V0QXJjaCgpKSB7Ci0rICAgIGNhc2UgbGx2bTo6VHJpcGxlOjphYXJjaDY0OgotKyAg ICAgIExpYkRpcnMuYXBwZW5kKGJlZ2luKEFBcmNoNjRMaWJEaXJzKSwgZW5kKEFBcmNoNjRMaWJE aXJzKSk7Ci0rICAgICAgVHJpcGxlQWxpYXNlcy5hcHBlbmQoYmVnaW4oQUFyY2g2NE11c2xUcmlw bGVzKSwgZW5kKEFBcmNoNjRNdXNsVHJpcGxlcykpOwotKyAgICAgIEJpYXJjaExpYkRpcnMuYXBw ZW5kKGJlZ2luKEFBcmNoNjRMaWJEaXJzKSwgZW5kKEFBcmNoNjRMaWJEaXJzKSk7Ci0rICAgICAg QmlhcmNoVHJpcGxlQWxpYXNlcy5hcHBlbmQoYmVnaW4oQUFyY2g2NE11c2xUcmlwbGVzKSwgZW5k KEFBcmNoNjRNdXNsVHJpcGxlcykpOwotKyAgICAgIGJyZWFrOwotKyAgICBjYXNlIGxsdm06OlRy aXBsZTo6YXJtOgotKyAgICAgIExpYkRpcnMuYXBwZW5kKGJlZ2luKEFSTUxpYkRpcnMpLCBlbmQo QVJNTGliRGlycykpOwotKyAgICAgIGlmIChUYXJnZXRUcmlwbGUuZ2V0RW52aXJvbm1lbnQoKSA9 PSBsbHZtOjpUcmlwbGU6Ok11c2xFQUJJSEYpIHsKLSsgICAgICAgIFRyaXBsZUFsaWFzZXMuYXBw ZW5kKGJlZ2luKEFSTUhGTXVzbFRyaXBsZXMpLCBlbmQoQVJNSEZNdXNsVHJpcGxlcykpOwotKyAg ICAgIH0gZWxzZSB7Ci0rICAgICAgICBUcmlwbGVBbGlhc2VzLmFwcGVuZChiZWdpbihBUk1NdXNs VHJpcGxlcyksIGVuZChBUk1NdXNsVHJpcGxlcykpOwotKyAgICAgIH0KLSsgICAgICBicmVhazsK LSsgICAgY2FzZSBsbHZtOjpUcmlwbGU6Ong4Nl82NDoKLSsgICAgICBMaWJEaXJzLmFwcGVuZChi ZWdpbihYODZfNjRMaWJEaXJzKSwgZW5kKFg4Nl82NExpYkRpcnMpKTsKLSsgICAgICBUcmlwbGVB bGlhc2VzLmFwcGVuZChiZWdpbihYODZfNjRNdXNsVHJpcGxlcyksIGVuZChYODZfNjRNdXNsVHJp cGxlcykpOwotKyAgICAgIEJpYXJjaExpYkRpcnMuYXBwZW5kKGJlZ2luKFg4NkxpYkRpcnMpLCBl bmQoWDg2TGliRGlycykpOwotKyAgICAgIEJpYXJjaFRyaXBsZUFsaWFzZXMuYXBwZW5kKGJlZ2lu KFg4Nk11c2xUcmlwbGVzKSwgZW5kKFg4Nk11c2xUcmlwbGVzKSk7Ci0rICAgICAgYnJlYWs7Ci0r ICAgIGNhc2UgbGx2bTo6VHJpcGxlOjp4ODY6Ci0rICAgICAgTGliRGlycy5hcHBlbmQoYmVnaW4o WDg2TGliRGlycyksIGVuZChYODZMaWJEaXJzKSk7Ci0rICAgICAgVHJpcGxlQWxpYXNlcy5hcHBl bmQoYmVnaW4oWDg2TXVzbFRyaXBsZXMpLCBlbmQoWDg2TXVzbFRyaXBsZXMpKTsKLSsgICAgICBC aWFyY2hMaWJEaXJzLmFwcGVuZChiZWdpbihYODZfNjRMaWJEaXJzKSwgZW5kKFg4Nl82NExpYkRp cnMpKTsKLSsgICAgICBCaWFyY2hUcmlwbGVBbGlhc2VzLmFwcGVuZChiZWdpbihYODZfNjRNdXNs VHJpcGxlcyksIGVuZChYODZfNjRNdXNsVHJpcGxlcykpOwotKyAgICAgIGJyZWFrOwotKyAgICBj YXNlIGxsdm06OlRyaXBsZTo6bWlwczoKLSsgICAgICBMaWJEaXJzLmFwcGVuZChiZWdpbihNSVBT TGliRGlycyksIGVuZChNSVBTTGliRGlycykpOwotKyAgICAgIFRyaXBsZUFsaWFzZXMuYXBwZW5k KGJlZ2luKE1JUFNNdXNsVHJpcGxlcyksIGVuZChNSVBTTXVzbFRyaXBsZXMpKTsKLSsgICAgICBi cmVhazsKLSsgICAgY2FzZSBsbHZtOjpUcmlwbGU6OnBwYzoKLSsgICAgICBMaWJEaXJzLmFwcGVu ZChiZWdpbihQUENMaWJEaXJzKSwgZW5kKFBQQ0xpYkRpcnMpKTsKLSsgICAgICBUcmlwbGVBbGlh c2VzLmFwcGVuZChiZWdpbihQUENNdXNsVHJpcGxlcyksIGVuZChQUENNdXNsVHJpcGxlcykpOwot KyAgICAgIEJpYXJjaExpYkRpcnMuYXBwZW5kKGJlZ2luKFBQQzY0TGliRGlycyksIGVuZChQUEM2 NExpYkRpcnMpKTsKLSsgICAgICBCaWFyY2hUcmlwbGVBbGlhc2VzLmFwcGVuZChiZWdpbihQUEM2 NE11c2xUcmlwbGVzKSwgZW5kKFBQQzY0TXVzbFRyaXBsZXMpKTsKLSsgICAgICBicmVhazsKLSsg ICAgY2FzZSBsbHZtOjpUcmlwbGU6OnBwYzY0OgotKyAgICAgIExpYkRpcnMuYXBwZW5kKGJlZ2lu KFBQQzY0TGliRGlycyksIGVuZChQUEM2NExpYkRpcnMpKTsKLSsgICAgICBUcmlwbGVBbGlhc2Vz LmFwcGVuZChiZWdpbihQUEM2NE11c2xUcmlwbGVzKSwgZW5kKFBQQzY0TXVzbFRyaXBsZXMpKTsK LSsgICAgICBCaWFyY2hMaWJEaXJzLmFwcGVuZChiZWdpbihQUENMaWJEaXJzKSwgZW5kKFBQQ0xp YkRpcnMpKTsKLSsgICAgICBCaWFyY2hUcmlwbGVBbGlhc2VzLmFwcGVuZChiZWdpbihQUENNdXNs VHJpcGxlcyksIGVuZChQUENNdXNsVHJpcGxlcykpOwotKyAgICAgIGJyZWFrOwotKyAgICBjYXNl IGxsdm06OlRyaXBsZTo6cHBjNjRsZToKLSsgICAgICBMaWJEaXJzLmFwcGVuZChiZWdpbihQUEM2 NExFTGliRGlycyksIGVuZChQUEM2NExFTGliRGlycykpOwotKyAgICAgIFRyaXBsZUFsaWFzZXMu YXBwZW5kKGJlZ2luKFBQQzY0TEVNdXNsVHJpcGxlcyksIGVuZChQUEM2NExFTXVzbFRyaXBsZXMp KTsKLSsgICAgICBicmVhazsKLSsgICAgZGVmYXVsdDoKLSsgICAgICBicmVhazsKLSsgICAgfQot KyAgICBUcmlwbGVBbGlhc2VzLnB1c2hfYmFjayhUYXJnZXRUcmlwbGUuc3RyKCkpOwotKyAgICBp ZiAoVGFyZ2V0VHJpcGxlLnN0cigpICE9IEJpYXJjaFRyaXBsZS5zdHIoKSkKLSsgICAgICBCaWFy Y2hUcmlwbGVBbGlhc2VzLnB1c2hfYmFjayhCaWFyY2hUcmlwbGUuc3RyKCkpOwotKyAgICByZXR1 cm47Ci0rICB9Ci0rCi0gICAvLyBBbmRyb2lkIHRhcmdldHMgc2hvdWxkIG5vdCB1c2UgR05VL0xp bnV4IHRvb2xzIG9yIGxpYnJhcmllcy4KLSAgIGlmIChUYXJnZXRUcmlwbGUuaXNBbmRyb2lkKCkp IHsKLSAgICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IEFBcmNoNjRBbmRyb2lkVHJpcGxlc1td ID0gewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sbHZtMTAvZmlsZXMvcGF0Y2hlcy9jbGFuZy9jbGFu Zy0wMDMtcHBjNjQtZHluYW1pYy1saW5rZXItcGF0aC5wYXRjaCBiL3NyY3BrZ3MvbGx2bTEwL2Zp bGVzL3BhdGNoZXMvY2xhbmcvY2xhbmctMDAzLXBwYzY0LWR5bmFtaWMtbGlua2VyLXBhdGgucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiOWIwYjg5MWQ1Li4wMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL2xsdm0xMC9maWxlcy9wYXRjaGVzL2NsYW5nL2NsYW5nLTAwMy1wcGM2 NC1keW5hbWljLWxpbmtlci1wYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBA QAotLS0tIGEvbGliL0RyaXZlci9Ub29sQ2hhaW5zL0xpbnV4LmNwcAotKysrIGIvbGliL0RyaXZl ci9Ub29sQ2hhaW5zL0xpbnV4LmNwcAotQEAgLTU5MywxMiArNTkzLDEyIEBAIHN0ZDo6c3RyaW5n IExpbnV4OjpnZXREeW5hbWljTGlua2VyKGNvbnN0IEFyZ0xpc3QgJkFyZ3MpIGNvbnN0IHsKLSAg ICAgTG9hZGVyID0gImxkLnNvLjEiOwotICAgICBicmVhazsKLSAgIGNhc2UgbGx2bTo6VHJpcGxl OjpwcGM2NDoKLS0gICAgTGliRGlyID0gImxpYjY0IjsKLSsgICAgTGliRGlyID0gImxpYiI7Ci0g ICAgIExvYWRlciA9Ci0tICAgICAgICAodG9vbHM6OnBwYzo6aGFzUFBDQWJpQXJnKEFyZ3MsICJl bGZ2MiIpKSA/ICJsZDY0LnNvLjIiIDogImxkNjQuc28uMSI7Ci0rICAgICAgICAodG9vbHM6OnBw Yzo6aGFzUFBDQWJpQXJnKEFyZ3MsICJlbGZ2MSIpKSA/ICJsZDY0LnNvLjEiIDogImxkNjQuc28u MiI7Ci0gICAgIGJyZWFrOwotICAgY2FzZSBsbHZtOjpUcmlwbGU6OnBwYzY0bGU6Ci0tICAgIExp YkRpciA9ICJsaWI2NCI7Ci0rICAgIExpYkRpciA9ICJsaWIiOwotICAgICBMb2FkZXIgPQotICAg ICAgICAgKHRvb2xzOjpwcGM6Omhhc1BQQ0FiaUFyZyhBcmdzLCAiZWxmdjEiKSkgPyAibGQ2NC5z by4xIiA6ICJsZDY0LnNvLjIiOwotICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGx2 bTEwL2ZpbGVzL3BhdGNoZXMvY2xhbmcvY2xhbmctMDA0LXBwYzY0LW11c2wtZWxmdjIucGF0Y2gg Yi9zcmNwa2dzL2xsdm0xMC9maWxlcy9wYXRjaGVzL2NsYW5nL2NsYW5nLTAwNC1wcGM2NC1tdXNs LWVsZnYyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMWFmMWI3OWI1Zi4u MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9sbHZtMTAvZmlsZXMvcGF0Y2hlcy9jbGFuZy9jbGFu Zy0wMDQtcHBjNjQtbXVzbC1lbGZ2Mi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAg QEAKLS0tLSBhL2xpYi9CYXNpYy9UYXJnZXRzL1BQQy5oCi0rKysgYi9saWIvQmFzaWMvVGFyZ2V0 cy9QUEMuaAotQEAgLTM4NiwxMSArMzg2LDEwIEBAIHB1YmxpYzoKLSAKLSAgICAgaWYgKChUcmlw bGUuZ2V0QXJjaCgpID09IGxsdm06OlRyaXBsZTo6cHBjNjRsZSkpIHsKLSAgICAgICByZXNldERh dGFMYXlvdXQoImUtbTplLWk2NDo2NC1uMzI6NjQiKTsKLS0gICAgICBBQkkgPSAiZWxmdjIiOwot ICAgICB9IGVsc2UgewotICAgICAgIHJlc2V0RGF0YUxheW91dCgiRS1tOmUtaTY0OjY0LW4zMjo2 NCIpOwotLSAgICAgIEFCSSA9ICJlbGZ2MSI7Ci0gICAgIH0KLSsgICAgQUJJID0gImVsZnYyIjsK LSAKLSAgICAgaWYgKFRyaXBsZS5nZXRPUygpID09IGxsdm06OlRyaXBsZTo6QUlYKQotICAgICAg IFN1aXRhYmxlQWxpZ24gPSA2NDsKLS0tLSBhL2xpYi9Ecml2ZXIvVG9vbENoYWlucy9DbGFuZy5j cHAKLSsrKyBiL2xpYi9Ecml2ZXIvVG9vbENoYWlucy9DbGFuZy5jcHAKLUBAIC0xOTE4LDExICsx OTE4LDcgQEAgdm9pZCBDbGFuZzo6QWRkUFBDVGFyZ2V0QXJncyhjb25zdCBBcmdMaXN0ICZBcmdz LAotICAgICAgICAgQUJJTmFtZSA9ICJlbGZ2MS1xcHgiOwotICAgICAgICAgYnJlYWs7Ci0gICAg ICAgfQotLQotLSAgICAgIGlmIChULmlzTXVzbCgpIHx8IChULmlzT1NGcmVlQlNEKCkgJiYgVC5n ZXRPU01ham9yVmVyc2lvbigpID49IDEzKSkKLS0gICAgICAgIEFCSU5hbWUgPSAiZWxmdjIiOwot LSAgICAgIGVsc2UKLS0gICAgICAgIEFCSU5hbWUgPSAiZWxmdjEiOwotKyAgICAgIEFCSU5hbWUg PSAiZWxmdjIiOwotICAgICAgIGJyZWFrOwotICAgICB9Ci0gICAgIGNhc2UgbGx2bTo6VHJpcGxl OjpwcGM2NGxlOgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sbHZtMTAvZmlsZXMvcGF0Y2hlcy9jb21w aWxlci1ydC9jb21waWxlci1ydC1hcm12NS5wYXRjaCBiL3NyY3BrZ3MvbGx2bTEwL2ZpbGVzL3Bh dGNoZXMvY29tcGlsZXItcnQvY29tcGlsZXItcnQtYXJtdjUucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDg5M2RkMjQ0YzViLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xs dm0xMC9maWxlcy9wYXRjaGVzL2NvbXBpbGVyLXJ0L2NvbXBpbGVyLXJ0LWFybXY1LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tIGNvbXBpbGVyLXJ0LTEwLjAuMC5zcmMv bGliL2J1aWx0aW5zL0NNYWtlTGlzdHMudHh0Ci0rKysgY29tcGlsZXItcnQtMTAuMC4wLnNyYy9s aWIvYnVpbHRpbnMvQ01ha2VMaXN0cy50eHQKLUBAIC00MjgsOCArNDI4LDYgQEAKLSApCi0gc2V0 KGFybV9UaHVtYjFfU09VUkNFUwotICAgJHthcm1fVGh1bWIxX0pUX1NPVVJDRVN9Ci0tICAke2Fy bV9UaHVtYjFfU2pMal9FSF9TT1VSQ0VTfQotLSAgJHthcm1fVGh1bWIxX1ZGUHYyX1NPVVJDRVN9 Ci0gICAke2FybV9UaHVtYjFfaWNhY2hlX1NPVVJDRVN9Ci0gKQotIApkaWZmIC0tZ2l0IGEvc3Jj cGtncy9sbHZtMTAvZmlsZXMvcGF0Y2hlcy9sbGRiL211c2wucGF0Y2ggYi9zcmNwa2dzL2xsdm0x MC9maWxlcy9wYXRjaGVzL2xsZGIvbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMzc0MTZiYjQ3OGQuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbGx2bTEwL2ZpbGVz L3BhdGNoZXMvbGxkYi9tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAot LS0tIGEvc291cmNlL1BsdWdpbnMvUHJvY2Vzcy9MaW51eC9Qcm9jZnMuaAotKysrIGIvc291cmNl L1BsdWdpbnMvUHJvY2Vzcy9MaW51eC9Qcm9jZnMuaAotQEAgLTEwLDIxICsxMCwxMiBAQAotIC8v IHN5cy9wcm9jZnMuaCBvbiBBbmRyb2lkL0xpbnV4IGZvciBhbGwgc3VwcG9ydGVkIGFyY2hpdGVj dHVyZXMuCi0gCi0gI2luY2x1ZGUgPHN5cy9wdHJhY2UuaD4KLSsjaW5jbHVkZSA8YXNtL3B0cmFj ZS5oPgotIAotLSNpZmRlZiBfX0FORFJPSURfXwotLSNpZiBkZWZpbmVkKF9fYXJtNjRfXykgfHwg ZGVmaW5lZChfX2FhcmNoNjRfXykKLS10eXBlZGVmIHVuc2lnbmVkIGxvbmcgZWxmX2dyZWdfdDsK LS10eXBlZGVmIGVsZl9ncmVnX3QKLS0gICAgZWxmX2dyZWdzZXRfdFsoc2l6ZW9mKHN0cnVjdCB1 c2VyX3B0X3JlZ3MpIC8gc2l6ZW9mKGVsZl9ncmVnX3QpKV07Ci0tdHlwZWRlZiBzdHJ1Y3QgdXNl cl9mcHNpbWRfc3RhdGUgZWxmX2ZwcmVnc2V0X3Q7Ci0tI2lmbmRlZiBOVF9GUFJFR1NFVAotLSNk ZWZpbmUgTlRfRlBSRUdTRVQgTlRfUFJGUFJFRwotLSNlbmRpZiAvLyBOVF9GUFJFR1NFVAotLSNl bGlmIGRlZmluZWQoX19taXBzX18pCi0tI2lmbmRlZiBOVF9GUFJFR1NFVAotLSNkZWZpbmUgTlRf RlBSRUdTRVQgTlRfUFJGUFJFRwotLSNlbmRpZiAvLyBOVF9GUFJFR1NFVAotLSNlbmRpZgotLSNl bHNlIC8vIF9fQU5EUk9JRF9fCi0rI2lmICFkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChf X3Bvd2VycGNfXykKLSsjZGVmaW5lIHB0X3JlZ3MgbXVzbF9wdF9yZWdzCi0rI2luY2x1ZGUgPHN5 cy9wcm9jZnMuaD4KLSsjdW5kZWYgcHRfcmVncwotKyNlbHNlCi0gI2luY2x1ZGUgPHN5cy9wcm9j ZnMuaD4KLS0jZW5kaWYgLy8gX19BTkRST0lEX18KLSsjZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbGx2bTEwL3RlbXBsYXRlIGIvc3JjcGtncy9sbHZtMTAvdGVtcGxhdGUKaW5kZXggYmZiZGRi NDgxMjcuLmI4MDBkYTU4ZDFjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2xsdm0xMC90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2xsdm0xMC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ2xsdm0xMCcKIHBrZ25hbWU9bGx2bTEwCiB2ZXJzaW9uPTEwLjAuMAotcmV2aXNp b249NgorcmV2aXNpb249Nwogd3Jrc3JjPSJsbHZtLSR7dmVyc2lvbn0uc3JjIgogYnVpbGRfc3R5 bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSIKQEAgLTIwLDQwICsyMCwxNCBAQCBzaG9ydF9kZXNj PSJMb3cgTGV2ZWwgVmlydHVhbCBNYWNoaW5lIgogbWFpbnRhaW5lcj0icTY2IDxkYW5pZWxAb2N0 YWZvcmdlLm9yZz4iCiBsaWNlbnNlPSJOQ1NBIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3Lmxsdm0u b3JnIgotZGlzdGZpbGVzPSIKLSBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3Qv cmVsZWFzZXMvZG93bmxvYWQvbGx2bW9yZy0ke3ZlcnNpb259L2xsdm0tJHt2ZXJzaW9ufS5zcmMu dGFyLnh6Ci0gaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3JlbGVhc2VzL2Rv d25sb2FkL2xsdm1vcmctJHt2ZXJzaW9ufS9sbGRiLSR7dmVyc2lvbn0uc3JjLnRhci54egotIGh0 dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9hZC9sbHZt b3JnLSR7dmVyc2lvbn0vbGxkLSR7dmVyc2lvbn0uc3JjLnRhci54egotIGh0dHBzOi8vZ2l0aHVi LmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9hZC9sbHZtb3JnLSR7dmVyc2lv bn0vY2xhbmctJHt2ZXJzaW9ufS5zcmMudGFyLnh6Ci0gaHR0cHM6Ly9naXRodWIuY29tL2xsdm0v bGx2bS1wcm9qZWN0L3JlbGVhc2VzL2Rvd25sb2FkL2xsdm1vcmctJHt2ZXJzaW9ufS9jbGFuZy10 b29scy1leHRyYS0ke3ZlcnNpb259LnNyYy50YXIueHoKLSBodHRwczovL2dpdGh1Yi5jb20vbGx2 bS9sbHZtLXByb2plY3QvcmVsZWFzZXMvZG93bmxvYWQvbGx2bW9yZy0ke3ZlcnNpb259L2NvbXBp bGVyLXJ0LSR7dmVyc2lvbn0uc3JjLnRhci54eiIKLWNoZWNrc3VtPSIKLSBkZjgzYTQ0YjNhOWE3 MTAyOTA0OWVjMTAxZmIwMDc3ZWNiYmRmNWZlNDFlMzk1MjE1MDI1Nzc5MDk5YTk4ZmRmCi0gZGQx ZmZjYjQyZWQwMzNmNTE2NzA4OWVjNGM2ZWJlODRmYmNhMWRiNGE5ZWFlYmY1YzYxNGFmMDlkODll YjEzNQotIGI5YTBkN2M1NzZlZWVmMDViYzA2ZDZlOTU0OTM4YTAxYzUzOTZjZWUxZDFlOTg1ODkx ZTBiMWNmMTZlM2Q3MDgKLSA4ODViMDYyYjAwZTkwM2RmNzI2MzFjNWY5OGI5NTc5ZWQxZWQyNzkw Zjc0ZTU2NDZiNDIzNGZhMDg0ZWFjYjIxCi0gYWNkZjhjZjY1NzRiNDBlNmIxZGFiYzkzZTc2ZGVi Yjg0YTlmZWI2ZjIyOTcwMTI2YjA0ZDRiYTE4YjkyOTExYwotIDZhN2RhNjRkM2EwYTczMjA1Nzdi NjhiOWNhNDkzM2JkY2FiNjc2ZTg5OGI3NTk4NTBlODI3MzMzYzMyODJjNzUiCitkaXN0ZmlsZXM9 Imh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9hZC9s bHZtb3JnLSR7dmVyc2lvbn0vbGx2bS0ke3ZlcnNpb259LnNyYy50YXIueHoiCitjaGVja3N1bT0i ZGY4M2E0NGIzYTlhNzEwMjkwNDllYzEwMWZiMDA3N2VjYmJkZjVmZTQxZTM5NTIxNTAyNTc3OTA5 OWE5OGZkZiIKIGxpYjMyZGlzYWJsZWQ9eWVzCiBweXRob25fdmVyc2lvbj0zCiAKLV9sbGRiX2Vu YWJsZT15ZXMKK2NvbmZsaWN0cz0ibGx2bTExPj0wIgogCi1pZiBbICIkQ1JPU1NfQlVJTEQiIF07 IHRoZW4KLQlfbGxkYl9lbmFibGU9bm8KLWZpCi0KLWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5F IiBpbgotCXBwYzY0bGUqKSA7OwotCXBwYyopIF9sbGRiX2VuYWJsZT1ubyA7OwotZXNhYwotCi1z dWJwYWNrYWdlcz0iY2xhbmctdG9vbHMtZXh0cmEgY2xhbmcgY2xhbmctYW5hbHl6ZXIgbGliY2xh bmcgbGliY2xhbmctY3BwIGxpYmxsdm0xMCIKLWlmIFsgIiRfbGxkYl9lbmFibGUiID0gInllcyIg XTsgdGhlbgotCSMgWFhYIGZhaWxzIHRvIGNyb3NzIGNvbXBpbGUgZHVlIHRvIHB5dGhvbgotCXN1 YnBhY2thZ2VzKz0iIGxsZGIgbGxkYi1kZXZlbCIKLWZpCi1zdWJwYWNrYWdlcys9IiBsbGQgbGxk LWRldmVsIgorc3VicGFja2FnZXM9ImxpYmxsdm0xMCIKIAogcG9zdF9wYXRjaCgpIHsKIAkjIHBh dGNoZXMKQEAgLTYyLDY1ICszNiw2IEBAIHBvc3RfcGF0Y2goKSB7CiAJCW1zZ19ub3JtYWwgIkFw cGx5aW5nICRpIHRvIGxsdm1cbiIKIAkJcGF0Y2ggLXNOcDEgLWkgJHtpfQogCWRvbmUKLQotCWNk ICR7WEJQU19CVUlMRERJUn0vY2xhbmctJHt2ZXJzaW9ufS5zcmMKLQlmb3IgaSBpbiAke0ZJTEVT RElSfS9wYXRjaGVzL2NsYW5nL2NsYW5nLSoucGF0Y2g7IGRvCi0JCW1zZ19ub3JtYWwgIkFwcGx5 aW5nICRpIHRvIGNsYW5nXG4iCi0JCXBhdGNoIC1zTnAxIC1pICR7aX0KLQlkb25lCi0KLQljYXNl ICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KLQlhcm12NSopCi0JCWNkICR7WEJQU19CVUlMRERJ Un0vY29tcGlsZXItcnQtJHt2ZXJzaW9ufS5zcmMKLQkJZm9yIGkgaW4gJHtGSUxFU0RJUn0vcGF0 Y2hlcy9jb21waWxlci1ydC9jb21waWxlci1ydC0qLnBhdGNoOyBkbwotCQkJbXNnX25vcm1hbCAi QXBwbHlpbmcgJGkgdG8gY29tcGlsZXItcnRcbiIKLQkJCXBhdGNoIC1zTnAxIC1pICR7aX0KLQkJ ZG9uZQotCQk7OwotCWVzYWMKLQotCWlmIFsgIiRfbGxkYl9lbmFibGUiID0gInllcyIgXTsgdGhl bgotCQljZCAke1hCUFNfQlVJTERESVJ9L2xsZGItJHt2ZXJzaW9ufS5zcmMKLQkJZm9yIGkgaW4g JHtGSUxFU0RJUn0vcGF0Y2hlcy9sbGRiLyoucGF0Y2g7IGRvCi0JCQltc2dfbm9ybWFsICJBcHBs eWluZyAkaSB0byBsbGRiXG4iCi0JCQlwYXRjaCAtc05wMSAtaSAke2l9Ci0JCWRvbmUKLQkJY2Fz ZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCi0JCQkqLW11c2wpIHNlZCAtaSAnc3xfX3B0cmFj ZV9yZXF1ZXN0fGludHxnJyBzb3VyY2UvUGx1Z2lucy9Qcm9jZXNzL0xpbnV4L05hdGl2ZVByb2Nl c3NMaW51eC5jcHAgOzsKLQkJZXNhYwotCWZpCi0KLQkjIE1vdmUgY2xhbmcgZmlsZXMgaW50byB0 aGUgbGx2bSBzb3VyY2UuCi0JaWYgWyAtZCAke1hCUFNfQlVJTERESVJ9L2NsYW5nLSR7dmVyc2lv bn0uc3JjIF07IHRoZW4KLQkJbXYgJHtYQlBTX0JVSUxERElSfS9jbGFuZy0ke3ZlcnNpb259LnNy YyAke3dya3NyY30vdG9vbHMvY2xhbmcKLQlmaQotCSMgTW92ZSBjbGFuZy10b29scy1leHRyYSBm aWxlcyBpbnRvIGxsdm0gc291cmNlLgotCWlmIFsgLWQgJHtYQlBTX0JVSUxERElSfS9jbGFuZy10 b29scy1leHRyYS0ke3ZlcnNpb259LnNyYyBdOyB0aGVuCi0JCW12ICR7WEJQU19CVUlMRERJUn0v Y2xhbmctdG9vbHMtZXh0cmEtJHt2ZXJzaW9ufS5zcmMgJHt3cmtzcmN9L3Rvb2xzL2NsYW5nL3Rv b2xzL2V4dHJhCi0JZmkKLQkjIE1vdmUgbGxkIGZpbGVzIGludG8gdGhlIGxsdm0gc291cmNlLgot CWlmIFsgLWQgJHtYQlBTX0JVSUxERElSfS9sbGQtJHt2ZXJzaW9ufS5zcmMgXTsgdGhlbgotCQlt diAke1hCUFNfQlVJTERESVJ9L2xsZC0ke3ZlcnNpb259LnNyYyAke3dya3NyY30vdG9vbHMvbGxk Ci0JZmkKLQkjIE1vdmUgbGxkYiBmaWxlcyBpbnRvIHRoZSBsbHZtIHNvdXJjZS4KLQlpZiBbIC1k ICR7WEJQU19CVUlMRERJUn0vbGxkYi0ke3ZlcnNpb259LnNyYyBdOyB0aGVuCi0JCWlmIFsgIiRf bGxkYl9lbmFibGUiID0gInllcyIgXTsgdGhlbgotCQkJbXYgJHtYQlBTX0JVSUxERElSfS9sbGRi LSR7dmVyc2lvbn0uc3JjICR7d3Jrc3JjfS90b29scy9sbGRiCi0JCWVsc2UKLQkJCXJtIC1yZiAk e1hCUFNfQlVJTERESVJ9L2xsZGItJHt2ZXJzaW9ufS5zcmMKLQkJZmkKLQlmaQotCSMgTW92ZSBj b21waWxlci1ydCBmaWxlcyBpbnRvIHRoZSBsbHZtIHNvdXJjZS4KLQlpZiBbIC1kICR7WEJQU19C VUlMRERJUn0vY29tcGlsZXItcnQtJHt2ZXJzaW9ufS5zcmMgXTsgdGhlbgotCQltdiAke1hCUFNf QlVJTERESVJ9L2NvbXBpbGVyLXJ0LSR7dmVyc2lvbn0uc3JjICR7d3Jrc3JjfS9wcm9qZWN0cy9j b21waWxlci1ydAotCWZpCi0JY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCi0JCSotbXVz bCkKLQkJCSMgRGlzYWJsZSBzYW5pdGl6ZXJzCi0JCQlzZWQgLWkgJ3Mvc2V0KENPTVBJTEVSX1JU X0hBU19TQU5JVElaRVJfQ09NTU9OIFRSVUUpL3NldChDT01QSUxFUl9SVF9IQVNfU0FOSVRJWkVS X0NPTU1PTiBGQUxTRSkvJyAke3dya3NyY30vcHJvamVjdHMvY29tcGlsZXItcnQvY21ha2UvY29u ZmlnLWl4LmNtYWtlCi0JCQk7OwotCWVzYWMKLQogfQogCiBwcmVfY29uZmlndXJlKCkgewpAQCAt MTQzLDkgKzU4LDcgQEAgcHJlX2NvbmZpZ3VyZSgpIHsKIAkJCUNYWEZMQUdTPSIkQlVJTERfQ1hY RkxBR1MiIExERkxBR1M9IiRCVUlMRF9MREZMQUdTIiBcCiAJCQljbWFrZSAuLi8uLiAtRENNQUtF X0JVSUxEX1RZUEU9UmVsZWFzZQogCQltYWtlICR7bWFrZWpvYnN9IC1DIHV0aWxzL1RhYmxlR2Vu Ci0JCW1ha2UgJHttYWtlam9ic30gLUMgdG9vbHMvY2xhbmcvdXRpbHMvVGFibGVHZW4KIAkJY29u ZmlndXJlX2FyZ3MrPSIgLURMTFZNX1RBQkxFR0VOPSR7d3Jrc3JjfS9idWlsZC9IT1NUL2Jpbi9s bHZtLXRibGdlbiIKLQkJY29uZmlndXJlX2FyZ3MrPSIgLURDTEFOR19UQUJMRUdFTj0ke3dya3Ny Y30vYnVpbGQvSE9TVC9iaW4vY2xhbmctdGJsZ2VuIgogCQljZCAuLi8uLgogCWZpCiAKQEAgLTE4 OCwxMjAgKzEwMSw2IEBAIGRvX2luc3RhbGwoKSB7CiAJZmkKIH0KIAotY2xhbmctYW5hbHl6ZXJf cGFja2FnZSgpIHsKLQlweWNvbXBpbGVfZGlycz0idXNyL3NoYXJlL3NjYW4tdmlldyIKLQlkZXBl bmRzPSJjbGFuZy0ke3ZlcnNpb259XyR7cmV2aXNpb259IHB5dGhvbjMiCi0Jc2hvcnRfZGVzYys9 IiAtIEEgc291cmNlIGNvZGUgYW5hbHlzaXMgZnJhbWV3b3JrIgotCWhvbWVwYWdlPSJodHRwczov L2NsYW5nLWFuYWx5emVyLmxsdm0ub3JnLyIKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNy L3NoYXJlL21hbi9tYW4xL3NjYW4tYnVpbGQuMQotCQl2bW92ZSAiL3Vzci9iaW4vc2Nhbi0qIgot CQl2bW92ZSAiL3Vzci9zaGFyZS9zY2FuLSoiCi0JCXZtb3ZlICIvdXNyL2xpYmV4ZWMvKmFuYWx5 emVyIgotCX0KLX0KLQotY2xhbmctdG9vbHMtZXh0cmFfcGFja2FnZSgpIHsKLQlsaWIzMmRpc2Fi bGVkPXllcwotCWRlcGVuZHM9ImNsYW5nLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcHl0aG9uMyIK LQlzaG9ydF9kZXNjKz0iIC0gRXh0cmEgQ2xhbmcgdG9vbHMiCi0JaG9tZXBhZ2U9Imh0dHBzOi8v Y2xhbmcubGx2bS5vcmcvZXh0cmEvIgotCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSB1c3IvYmlu L2NsYW5nLWFwcGx5LXJlcGxhY2VtZW50cwotCQl2bW92ZSB1c3IvYmluL2NsYW5nLXF1ZXJ5Ci0J CXZtb3ZlIHVzci9iaW4vY2xhbmctcmVuYW1lCi0JCXZtb3ZlIHVzci9iaW4vY2xhbmctdGlkeQot CQl2bW92ZSB1c3IvYmluL2RpYWd0b29sCi0JCXZtb3ZlIHVzci9iaW4vZmluZC1hbGwtc3ltYm9s cwotCQl2bW92ZSB1c3IvYmluL2htYXB0b29sCi0JCXZtb3ZlIHVzci9iaW4vbW9kdWxhcml6ZQot CQl2bW92ZSB1c3IvYmluL3BwLXRyYWNlCi0JCXZtb3ZlIHVzci9iaW4vc2FuY292Ci0JCXZtb3Zl ICJ1c3IvbGliL2xpYmNsYW5nQXBwbHlSZXBsYWNlbWVudHMqIgotCQl2bW92ZSAidXNyL2xpYi9s aWJjbGFuZ1F1ZXJ5KiIKLQkJdm1vdmUgInVzci9saWIvbGliY2xhbmdUaWR5KiIKLQkJdm1vdmUg InVzci9zaGFyZS9jbGFuZy8qdGlkeSoiCi0JfQotfQotCi1jbGFuZ19wYWNrYWdlKCkgewotCWxp YjMyZGlzYWJsZWQ9eWVzCi0JZGVwZW5kcz0ibGlic3RkYysrLWRldmVsIGxpYmdjYy1kZXZlbCAg YmludXRpbHMgJHtYQlBTX1RBUkdFVF9MSUJDfS1kZXZlbAotCSBsaWJjbGFuZy0ke3ZlcnNpb259 XyR7cmV2aXNpb259IgotCXNob3J0X2Rlc2MrPSIgLSBDIGxhbmd1YWdlIGZhbWlseSBmcm9udGVu ZCIKLQlob21lcGFnZT0iaHR0cHM6Ly9jbGFuZy5sbHZtLm9yZy8iCi0JcGtnX2luc3RhbGwoKSB7 Ci0JCXZtb3ZlIHVzci9pbmNsdWRlL2NsYW5nCi0JCXZtb3ZlIHVzci9pbmNsdWRlL2NsYW5nLWMK LQkJdm1vdmUgInVzci9iaW4vKmNsYW5nKiIKLQkJdm1vdmUgdXNyL2Jpbi9jLWluZGV4LXRlc3QK LQkJdm1vdmUgdXNyL2xpYi9jbGFuZwotCQl2bW92ZSB1c3IvbGliL2NtYWtlL2NsYW5nCi0JCXZt b3ZlICJ1c3IvbGliL2xpYmNsYW5nKi5hIgotCQl2bW92ZSAidXNyL2xpYi9saWJjbGFuZyouc28i Ci0JCXZtb3ZlICJ1c3Ivc2hhcmUvY2xhbmciCi0JfQotfQotCi1saWJjbGFuZ19wYWNrYWdlKCkg ewotCXNob3J0X2Rlc2MrPSIgLSBDIGZyb250ZW5kIHJ1bnRpbWUgbGlicmFyeSIKLQlwa2dfaW5z dGFsbCgpIHsKLQkJdm1vdmUgInVzci9saWIvbGliY2xhbmcuc28uKiIKLQl9Ci19Ci0KLWxpYmNs YW5nLWNwcF9wYWNrYWdlKCkgewotCXNob3J0X2Rlc2MrPSIgLSBDIGZyb250ZW5kIHJ1bnRpbWUg bGlicmFyeSAoQysrIGludGVyZmFjZSkiCi0JcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlICJ1c3Iv bGliL2xpYmNsYW5nLWNwcC5zby4qIgotCX0KLX0KLQotbGxkX3BhY2thZ2UoKSB7Ci0JbGliMzJk aXNhYmxlZD15ZXMKLQlzaG9ydF9kZXNjKz0iIC0gbGlua2VyIgotCWhvbWVwYWdlPSJodHRwczov L2xsZC5sbHZtLm9yZyIKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNyL2Jpbi9sbGQqCi0J CXZtb3ZlIHVzci9iaW4vd2FzbS1sZAotCQl2bW92ZSB1c3IvYmluL2xkLmxsZCoKLQl9Ci19Ci0K LWxsZC1kZXZlbF9wYWNrYWdlKCkgewotCWxpYjMyZGlzYWJsZWQ9eWVzCi0Jc2hvcnRfZGVzYys9 IiAtIGxpbmtlciAtIGRldmVsb3BtZW50IGZpbGVzIgotCWhvbWVwYWdlPSJodHRwczovL2xsZC5s bHZtLm9yZyIKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNyL2luY2x1ZGUvbGxkCi0JCXZt b3ZlICJ1c3IvbGliL2xpYmxsZCphIgotCX0KLX0KLQotbGxkYl9wYWNrYWdlKCkgewotCWxpYjMy ZGlzYWJsZWQ9eWVzCi0JZGVwZW5kcys9IiBweXRob24zLXNpeCIKLQlzaG9ydF9kZXNjKz0iIC0g TExEQiBkZWJ1Z2dlciIKLQlob21lcGFnZT0iaHR0cHM6Ly9sbGRiLmxsdm0ub3JnLyIKLQlwa2df aW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNyL2Jpbi8qbGxkYioKLQkJdm1vdmUgdXNyL2xpYi9saWJs bGRiKnNvLioKLQkJdm1vdmUgL3Vzci9saWIvcHl0aG9uKgotCQkjIERlcGVuZCBvbiBweXRob24z LXNpeCBpbnN0ZWFkIG9mIGNvbmZsaWN0aW5nCi0JCXJtICR7UEtHREVTVERJUn0vdXNyL2xpYi9w eXRob24zKi9zaXRlLXBhY2thZ2VzL3NpeC5weQotCX0KLX0KLQotbGxkYi1kZXZlbF9wYWNrYWdl KCkgewotCWxpYjMyZGlzYWJsZWQ9eWVzCi0JZGVwZW5kcz0ibGxkYj49JHt2ZXJzaW9ufV8ke3Jl dmlzaW9ufSIKLQlzaG9ydF9kZXNjKz0iIC0gTExEQiBkZWJ1Z2dlciAtIGRldmVsb3BtZW50IGZp bGVzIgotCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSB1c3IvaW5jbHVkZS9sbGRiCi0JCXZtb3Zl ICJ1c3IvbGliL2xpYmxsZGIqLnNvIgotCX0KLX0KLQogbGlibGx2bTEwX3BhY2thZ2UoKSB7CiAJ c2hvcnRfZGVzYys9IiAtIHJ1bnRpbWUgbGlicmFyeSIKIAlwa2dfaW5zdGFsbCgpIHsKCkZyb20g NzI3NzcxMzk5MDhlZGViMWEwNzBhODUwNTA4OWQ3MDA5YTBkNjQ4OSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogUm9iaW4gVm9ldHRlciA8cm9iaW5Adm9ldHRlci5ubD4KRGF0ZTogU3Vu LCA4IE5vdiAyMDIwIDE4OjI4OjUyICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNC8yMV0gbGx2bS1s aWJ1bndpbmQ6IFVwZGF0ZSB0byAxMS4wLjAKCi0tLQogc3JjcGtncy9sbHZtLWxpYnVud2luZC90 ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sbHZtLWxpYnVud2luZC90ZW1wbGF0 ZSBiL3NyY3BrZ3MvbGx2bS1saWJ1bndpbmQvdGVtcGxhdGUKaW5kZXggNmUyMGE3OTFlNjUuLjhm Y2U1NmVmZDcwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2xsdm0tbGlidW53aW5kL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvbGx2bS1saWJ1bndpbmQvdGVtcGxhdGUKQEAgLTEsMTggKzEsMTggQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2xsdm0tbGlidW53aW5kJwogcGtnbmFtZT1sbHZtLWxpYnVud2lu ZAotdmVyc2lvbj0xMC4wLjAKK3ZlcnNpb249MTEuMC4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHls ZT1jbWFrZQogd3Jrc3JjPSJsaWJ1bndpbmQtJHt2ZXJzaW9ufS5zcmMiCi1ob3N0bWFrZWRlcGVu ZHM9Imxsdm0xMCIKLW1ha2VkZXBlbmRzPSJsbHZtMTAiCitob3N0bWFrZWRlcGVuZHM9Imxsdm0x MSIKK21ha2VkZXBlbmRzPSJsbHZtMTEiCiBtYWtlX2J1aWxkX2FyZ3M9IlZFUkJPU0U9MSIKIHNo b3J0X2Rlc2M9IkxMVk0gdmVyc2lvbiBvZiBsaWJ1bndpbmQgbGlicmFyeSIKIG1haW50YWluZXI9 Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJOQ1NBLCBNSVQiCiBo b21lcGFnZT0iaHR0cHM6Ly9sbHZtLm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29t L2xsdm0vbGx2bS1wcm9qZWN0L3JlbGVhc2VzL2Rvd25sb2FkL2xsdm1vcmctJHt2ZXJzaW9ufS9s aWJ1bndpbmQtJHt2ZXJzaW9ufS5zcmMudGFyLnh6IgotY2hlY2tzdW09MDlkYzVlY2M0NzE0ODA5 ZWNmNjI5MDhhZThmZTg2MzVhYjQ3Njg4MDQ1NTI4NzAzNmEyNzMwOTY2ODMzYzYyNgorY2hlY2tz dW09ODQ1NTAxMWMzM2IxNGFiZmU1N2IyZmQ5ODAzZmI2MTAzMTZiMTZkNGM5ODE4YmVjNTUyMjg3 ZTJiYTY4OTIyZgogCiBwb3N0X2luc3RhbGwoKSB7CiAJdm1rZGlyIHVzci9pbmNsdWRlCgpGcm9t IDMzYTQwNzBlMGE3NWJhZGI4YjNkYmVkYTI1MTkwZWNjNTg1ZDc2YmUgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IFJvYmluIFZvZXR0ZXIgPHJvYmluQHZvZXR0ZXIubmw+CkRhdGU6IE1v biwgOSBOb3YgMjAyMCAwMToxNzoyNiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjFdIGxpYmN4 eGFiaTogVXBkYXRlIHRvIDExLjAuMAoKLS0tCiBzcmNwa2dzL2xpYmN4eGFiaS90ZW1wbGF0ZSB8 IDE5ICsrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyks IDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliY3h4YWJpL3RlbXBsYXRl IGIvc3JjcGtncy9saWJjeHhhYmkvdGVtcGxhdGUKaW5kZXggMzkzYWVmYzViMzEuLjIxY2JhNGRi YzVmIDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpYmN4eGFiaS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L2xpYmN4eGFiaS90ZW1wbGF0ZQpAQCAtMSwyMyArMSwyMyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnbGliY3h4YWJpJwogcGtnbmFtZT1saWJjeHhhYmkKLXZlcnNpb249MTAuMC4wCit2ZXJzaW9u PTExLjAuMAogcmV2aXNpb249MQogd3Jrc3JjPSIke3BrZ25hbWV9LSR7dmVyc2lvbn0uc3JjIgog YnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRExJQkNYWEFCSV9MSUJDWFhfSU5D TFVERVM9Li4vbGliY3h4L2luY2x1ZGUKK2NvbmZpZ3VyZV9hcmdzPSItRExJQkNYWEFCSV9MSUJD WFhfSU5DTFVERVM9Li4vLi4vbGliY3h4L2luY2x1ZGUKICAtRExJQkNYWEFCSV9VU0VfTExWTV9V TldJTkRFUj0xCiAgLURMTFZNX0RFRkFVTFRfVEFSR0VUX1RSSVBMRT0ke1hCUFNfQ1JPU1NfVFJJ UExFVDotJFhCUFNfVFJJUExFVH0iCiBtYWtlX2J1aWxkX2FyZ3M9IlZFUkJPU0U9MSIKLWhvc3Rt YWtlZGVwZW5kcz0iY2xhbmctdG9vbHMtZXh0cmEgbGx2bTEwIgotbWFrZWRlcGVuZHM9Imxsdm0x MCBsbHZtLWxpYnVud2luZC1kZXZlbCIKK2hvc3RtYWtlZGVwZW5kcz0iY2xhbmctdG9vbHMtZXh0 cmEgbGx2bTExIgorbWFrZWRlcGVuZHM9Imxsdm0xMSBsbHZtLWxpYnVud2luZC1kZXZlbCIKIHNo b3J0X2Rlc2M9Ikxvdy1sZXZlbCBzdXBwb3J0IGZvciBsaWJjKysgc3RhbmRhcmQgbGlicmFyeSIK IG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJO Q1NBLCBNSVQiCiBob21lcGFnZT0iaHR0cHM6Ly9saWJjeHhhYmkubGx2bS5vcmciCiBkaXN0Zmls ZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9h ZC9sbHZtb3JnLSR7dmVyc2lvbn0vbGliY3h4YWJpLSR7dmVyc2lvbn0uc3JjLnRhci54egogIGh0 dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9hZC9sbHZt b3JnLSR7dmVyc2lvbn0vbGliY3h4LSR7dmVyc2lvbn0uc3JjLnRhci54eiIKLWNoZWNrc3VtPSJl NzFiYWM3NWE4OGM5ZGRlNDU1YWQzZjJhMmI0NDliZjc0NWVhZmQ0MWQyZDg0MzIyNTNiMjk2NGUw Y2ExNGUxCi0gMjcwZjhhM2YxNzZmMTk4MWIwZjZhYjhhYTU1NjcyMDk4ODg3MmVjMmI0OGVkM2I2 MDVkMGNlZDhkMDkxNTZjNyIKK2NoZWNrc3VtPSI1ODY5N2Q0NDI3YjdhODU0ZWM3NTI5MzM3NDc3 ZWI0ZmJhMTY0MDcyMjIzOTBhZDgxYTQwZDEyNTY3M2U0YzE1CisgNmMxZWU2NjkwMTIyZjI3MTFh NzdiYzE5MjQxODM0YTkyMTlkZGE1MDM2ZTE1OTdiZmEzOTdmMzQxYTliOGI3YSIKIAogY2FzZSAi JFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCiAJYXJtdls2N11sKQpAQCAtMjYsMTEgKzI2LDggQEAg Y2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCiBlc2FjCiAKIHBvc3RfZXh0cmFjdCgpIHsK LQkjIEJyZWFrIGRlcGVuZGVuY3kgY3ljbGUsIHdlIGp1c3QgbmVlZCB0aGUgaGVhZGVycyBoZXJl Ci0JbXYgLi4vbGliY3h4LSR7dmVyc2lvbn0uc3JjIGxpYmN4eAotCi0JIyBGb3IgbXVzbAotCXNl ZCAtaSAncy8hZGVmaW5lZChfR0NDX01BWF9BTElHTl9UKS8mIFwmXCYgIWRlZmluZWQoX19ERUZJ TkVEX21heF9hbGlnbl90KS8nIGxpYmN4eC9pbmNsdWRlL3N0ZGRlZi5oCisJIyBTaW5jZSBsbHZt IDExLCBsaWJjeHggbmVlZHMgdG8gYmUgcHJlc2VudCBuZXh0IHRvIHRoZSBsaWJjeHhhYmkgcm9v dAorCW12IC4uL2xpYmN4eC0ke3ZlcnNpb259LnNyYyAuLi9saWJjeHgKIH0KIAogcG9zdF9pbnN0 YWxsKCkgewoKRnJvbSBiZGZmMjUzNzM3Y2FmNWNlYmE4ZGY5YzVhYTVmYjIwOWY4YWViYjA1IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JpbiBWb2V0dGVyIDxyb2JpbkB2b2V0dGVy Lm5sPgpEYXRlOiBNb24sIDkgTm92IDIwMjAgMDE6MTc6NTAgKzAxMDAKU3ViamVjdDogW1BBVENI IDA2LzIxXSBsaWJjeHg6IFVwZGF0ZSB0byAxMS4wLjAKCi0tLQogc3JjcGtncy9saWJjeHgvdGVt cGxhdGUgfCAyMyArKysrKysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE2IGlu c2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJjeHgv dGVtcGxhdGUgYi9zcmNwa2dzL2xpYmN4eC90ZW1wbGF0ZQppbmRleCA5NWExNmJjY2Y1Ny4uM2Yx NWI2M2QzYTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGliY3h4L3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvbGliY3h4L3RlbXBsYXRlCkBAIC0xLDIxICsxLDI3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdsaWJjeHgnCiBwa2duYW1lPWxpYmN4eAotdmVyc2lvbj0xMC4wLjAKK3ZlcnNpb249MTEuMC4w CiByZXZpc2lvbj0xCiB3cmtzcmM9IiR7cGtnbmFtZX0tJHt2ZXJzaW9ufS5zcmMiCiBidWlsZF9z dHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3MrPSIgLURMSUJDWFhfQ1hYX0FCST1saWJjeHhhYmkg LURMSUJDWFhfRU5BQkxFX1NUQVRJQ19BQklfTElCUkFSWT1PTgogIC1ETElCQ1hYX0NYWF9BQklf TElCUkFSWV9QQVRIPSR7WEJQU19DUk9TU19CQVNFfS91c3IvbGliCiAgLURMSUJDWFhBQklfVVNF X0xMVk1fVU5XSU5ERVI9MSIKLWhvc3RtYWtlZGVwZW5kcz0ibGx2bTEwIGNsYW5nLXRvb2xzLWV4 dHJhIHB5dGhvbjMiCi1tYWtlZGVwZW5kcz0ibGliY3h4YWJpLWRldmVsIGxsdm0xMCBsbHZtLWxp YnVud2luZC1kZXZlbCIKK2hvc3RtYWtlZGVwZW5kcz0ibGx2bTExIGNsYW5nLXRvb2xzLWV4dHJh IHB5dGhvbjMiCittYWtlZGVwZW5kcz0ibGliY3h4YWJpLWRldmVsIGxsdm0xMSBsbHZtLWxpYnVu d2luZC1kZXZlbCIKIG1ha2VfYnVpbGRfYXJncz0iVkVSQk9TRT0xIgogc2hvcnRfZGVzYz0iTmV3 IGltcGxlbWVudGF0aW9uIG9mIHRoZSBDKysgc3RhbmRhcmQgbGlicmFyeSwgdGFyZ2V0aW5nIEMr KzExLCBDKysxNCBhbmQgYWJvdmUiCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRs aW51eC5vcmc+IgogbGljZW5zZT0iTkNTQSwgTUlUIgogaG9tZXBhZ2U9Imh0dHBzOi8vbGliY3h4 Lmxsdm0ub3JnIgotZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2pl Y3QvcmVsZWFzZXMvZG93bmxvYWQvbGx2bW9yZy0ke3ZlcnNpb259L2xpYmN4eC0ke3ZlcnNpb259 LnNyYy50YXIueHoiCi1jaGVja3N1bT0yNzBmOGEzZjE3NmYxOTgxYjBmNmFiOGFhNTU2NzIwOTg4 ODcyZWMyYjQ4ZWQzYjYwNWQwY2VkOGQwOTE1NmM3CitkaXN0ZmlsZXM9IgorIGh0dHBzOi8vZ2l0 aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9hZC9sbHZtb3JnLSR7dmVy c2lvbn0vbGliY3h4LSR7dmVyc2lvbn0uc3JjLnRhci54egorIGh0dHBzOi8vZ2l0aHViLmNvbS9s bHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9hZC9sbHZtb3JnLSR7dmVyc2lvbn0vbGli Y3h4YWJpLSR7dmVyc2lvbn0uc3JjLnRhci54egorIGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xs dm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9hZC9sbHZtb3JnLSR7dmVyc2lvbn0vbGx2bS0ke3Zl cnNpb259LnNyYy50YXIueHoiCitjaGVja3N1bT0iCisgNmMxZWU2NjkwMTIyZjI3MTFhNzdiYzE5 MjQxODM0YTkyMTlkZGE1MDM2ZTE1OTdiZmEzOTdmMzQxYTliOGI3YQorIDU4Njk3ZDQ0MjdiN2E4 NTRlYzc1MjkzMzc0NzdlYjRmYmExNjQwNzIyMjM5MGFkODFhNDBkMTI1NjczZTRjMTUKKyA5MTNm NjhjODk4ZGZiNGEwM2IzOTdjNWUxMWM2YTJmMzlkMGYyMmVkNzY2NWM5Y2VmYTg3YTM0NDIzYTcy NDY5IgogCiBjYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KIAkqLW11c2wpIGNvbmZpZ3Vy ZV9hcmdzKz0iIC1ETElCQ1hYX0hBU19NVVNMX0xJQkM9WUVTIgpAQCAtMjMsOSArMjksMTIgQEAg ZXNhYwogCiBwb3N0X2V4dHJhY3QoKSB7CiAJY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGlu Ci0JKi1tdXNsKSBwYXRjaCAtTnAxIDwke0ZJTEVTRElSfS9saWJjeHgtMDAwMS1tdXNsLWhhY2tz LnBhdGNoCi0JCXNlZCAtaSAncy8hZGVmaW5lZChfR0NDX01BWF9BTElHTl9UKS8mIFwmXCYgIWRl ZmluZWQoX19ERUZJTkVEX21heF9hbGlnbl90KS8nIGluY2x1ZGUvc3RkZGVmLmggOzsKKwkqLW11 c2wpIHBhdGNoIC1OcDEgPCR7RklMRVNESVJ9L2xpYmN4eC0wMDAxLW11c2wtaGFja3MucGF0Y2gg OzsKIAllc2FjCisKKwkjIFNpbmNlIGxsdm0gMTEsIGxpYmN4eGFiaSBhbmQgbGx2bSBuZWVkIHRv IGJlIHByZXNlbnQgbmV4dCB0byB0aGUgbGliY3h4IHJvb3QKKwltdiAuLi9saWJjeHhhYmktJHt2 ZXJzaW9ufS5zcmMgLi4vbGliY3h4YWJpCisJbXYgLi4vbGx2bS0ke3ZlcnNpb259LnNyYyAuLi9s bHZtCiB9CiAKIHBvc3RfaW5zdGFsbCgpIHsKCkZyb20gODgzZmFjYTViMWZlYTI5MjgyOWE3ZjJh NjJjNmZiY2M4YmZmOTM2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUm9iaW4gVm9l dHRlciA8cm9iaW5Adm9ldHRlci5ubD4KRGF0ZTogTW9uLCA5IE5vdiAyMDIwIDAyOjIyOjUyICsw MTAwClN1YmplY3Q6IFtQQVRDSCAwNy8yMV0gbWVzYTogcmVidWlsZCBmb3IgbGx2bTExCgotLS0K IHNyY3BrZ3MvbWVzYS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWVzYS90ZW1wbGF0ZSBi L3NyY3BrZ3MvbWVzYS90ZW1wbGF0ZQppbmRleCAwZWM2MzYwZTBiMy4uN2MwODgyMDI3OWUgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvbWVzYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL21lc2EvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtZXNhJwogcGtnbmFtZT1t ZXNhCiB2ZXJzaW9uPTIwLjIuMQotcmV2aXNpb249MQorcmV2aXNpb249Mgogd3Jrc3JjPSJtZXNh LSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1tZXNvbgogY29uZmlndXJlX2FyZ3M9Ii1EZ2x2bmQ9 dHJ1ZSAtRHNoYXJlZC1nbGFwaT10cnVlIC1EZ2JtPXRydWUgLURlZ2w9dHJ1ZQoKRnJvbSA5Njdm MTZlNjA3M2Y1ZDFmNjBiOTU3NzlmNjAzNDNhNDM1NGI1M2E2IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBSb2JpbiBWb2V0dGVyIDxyb2JpbkB2b2V0dGVyLm5sPgpEYXRlOiBNb24sIDkg Tm92IDIwMjAgMDI6Mzc6MzggKzAxMDAKU3ViamVjdDogW1BBVENIIDA4LzIxXSBzaGlib2tlbjI6 IHJlYnVpbGQgZm9yIGxsdm0xMQoKLS0tCiBzcmNwa2dzL3NoaWJva2VuMi90ZW1wbGF0ZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvc2hpYm9rZW4yL3RlbXBsYXRlIGIvc3JjcGtncy9zaGlib2tlbjIvdGVt cGxhdGUKaW5kZXggMjBlYTVhYWU3ZTIuLmQwMDcyMjU0ODQyIDEwMDY0NAotLS0gYS9zcmNwa2dz L3NoaWJva2VuMi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NoaWJva2VuMi90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3NoaWJva2VuMicKIHBrZ25hbWU9c2hp Ym9rZW4yCiB2ZXJzaW9uPTUuMTUuMAotcmV2aXNpb249MgorcmV2aXNpb249MwogX3BrZ25hbWU9 InB5c2lkZS1zZXR1cC1vcGVuc291cmNlLXNyYy0ke3ZlcnNpb259Igogd3Jrc3JjPSIke19wa2du YW1lLyU1LjE0LjIuMS81LjE0LjJ9IgogYnVpbGRfd3Jrc3JjPSJzb3VyY2VzL3NoaWJva2VuMiIK CkZyb20gZjUwNDA4MWY3MDE5MDhhODI1NjZhOTFjYmEyNDRjMWZhMDdiMTc0YiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogUm9iaW4gVm9ldHRlciA8cm9iaW5Adm9ldHRlci5ubD4KRGF0 ZTogTW9uLCA5IE5vdiAyMDIwIDAyOjQ4OjQxICswMTAwClN1YmplY3Q6IFtQQVRDSCAwOS8yMV0g Z25vbWUtYnVpbGRlcjogcmVidWlsZCBmb3IgbGx2bTExCgotLS0KIHNyY3BrZ3MvZ25vbWUtYnVp bGRlci90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ25vbWUtYnVpbGRlci90ZW1wbGF0ZSBi L3NyY3BrZ3MvZ25vbWUtYnVpbGRlci90ZW1wbGF0ZQppbmRleCAyMjE0NGYzNTM2ZS4uM2Q1OTMy YTY3YTAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ25vbWUtYnVpbGRlci90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2dub21lLWJ1aWxkZXIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdnbm9tZS1idWlsZGVyJwogcGtnbmFtZT1nbm9tZS1idWlsZGVyCiB2ZXJzaW9u PTMuMzguMAotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9bWVzb24KIGJ1aWxk X2hlbHBlcj1xZW11CiBjb25maWd1cmVfYXJncz0iLUR3aXRoX3dlYmtpdD10cnVlIC1Ed2l0aF9z eXNwcm9mPXRydWUgLURoZWxwPXRydWUiCgpGcm9tIDIxMDc4NGU2OTdmNmM4MTU2YWFhNDY2NWU4 YmQ5MmM3MzBiZjVhODcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFJvYmluIFZvZXR0 ZXIgPHJvYmluQHZvZXR0ZXIubmw+CkRhdGU6IE1vbiwgOSBOb3YgMjAyMCAwMjo0OTo0NiArMDEw MApTdWJqZWN0OiBbUEFUQ0ggMTAvMjFdIGp1Q2krKzogcmVidWlsZCBmb3IgbGx2bTExCgotLS0K IHNyY3BrZ3MvanVDaSsrL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9qdUNpKysvdGVtcGxh dGUgYi9zcmNwa2dzL2p1Q2krKy90ZW1wbGF0ZQppbmRleCA2OWJiYzA3YWIwMS4uY2E0NjUwZjhm MWYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvanVDaSsrL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvanVD aSsrL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnanVDaSsr JwogcGtnbmFtZT1qdUNpKysKIHZlcnNpb249MS42LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK IF9saWJjbGFuZ21tX2NvbW1pdD0iMDQzZDk2ZDBiZmJmZTRiYmIyMTZhMDk1NDk5MmQ3NDRhMzVj NjBhYiIKIF90aW55X2NvbW1pdD0iOTUzYjE5YzRjMDY5MmIxOGZiNzI5ZmZkMzBmMWNjMzQxMjc5 N2NkYSIKIHdya3NyYz0ianVjaXBwLXYke3ZlcnNpb259IgoKRnJvbSA5MmMxYjI2YTA1ODgzMmQ0 MDQyMjg3ODZlMmJkODFmMjY4NGQzZjQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBS b2JpbiBWb2V0dGVyIDxyb2JpbkB2b2V0dGVyLm5sPgpEYXRlOiBNb24sIDkgTm92IDIwMjAgMDM6 MjU6MjggKzAxMDAKU3ViamVjdDogW1BBVENIIDExLzIxXSBxdDU6IHJlYnVpbGQgZm9yIGxsdm0x MQoKLS0tCiBzcmNwa2dzL3F0NS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L3RlbXBs YXRlIGIvc3JjcGtncy9xdDUvdGVtcGxhdGUKaW5kZXggMTk1NDA0OGUyYjEuLmI3MTc0MzhkNGRk IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0NS90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0NScKIHBrZ25hbWU9 cXQ1CiB2ZXJzaW9uPTUuMTUuMQotcmV2aXNpb249MgorcmV2aXNpb249Mwogd3Jrc3JjPSJxdC1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9bWV0YQogaG9zdG1ha2VkZXBl bmRzPSJjbWFrZSBjbGFuZyBmbGV4IHBlcmwgZ2xpYi1kZXZlbCBwa2ctY29uZmlnCgpGcm9tIGUw NzNiYTQxNDNhM2YxMmQ2ZDczOTRiMGY3MmE4MzQxMmQ4NjBkYjYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFJvYmluIFZvZXR0ZXIgPHJvYmluQHZvZXR0ZXIubmw+CkRhdGU6IE1vbiwg OSBOb3YgMjAyMCAwMzozODo1MiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjFdIHF0Y3JlYXRv cjogcmVidWlsZCBmb3IgbGx2bTExCgotLS0KIHNyY3BrZ3MvcXRjcmVhdG9yL3RlbXBsYXRlIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdGNyZWF0b3IvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Y3JlYXRvci90 ZW1wbGF0ZQppbmRleCBkZGJkMDE2OGZhNS4uNjdiYjBlODExOTkgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvcXRjcmVhdG9yL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXRjcmVhdG9yL3RlbXBsYXRlCkBA IC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXRjcmVhdG9yJwogcGtnbmFtZT1x dGNyZWF0b3IKIHZlcnNpb249NC4xMy4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiB3cmtzcmM9 InF0LWNyZWF0b3Itb3BlbnNvdXJjZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPXFtYWtl CiBtYWtlX2luc3RhbGxfYXJncz0iSU5TVEFMTF9ST09UPVwke0RFU1RESVJ9L3VzciIKCkZyb20g NWVkYTRhNDMzM2YzODI4YzdmZmQzNDg2YjA5NWQwMjJjYzVlNjUwOSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogUm9iaW4gVm9ldHRlciA8cm9iaW5Adm9ldHRlci5ubD4KRGF0ZTogTW9u LCA5IE5vdiAyMDIwIDEyOjQ4OjIzICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMy8yMV0ga2RldmVs b3A6IHJlYnVpbGQgZm9yIGxsdm0xMQoKLS0tCiBzcmNwa2dzL2tkZXZlbG9wL3RlbXBsYXRlIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9rZGV2ZWxvcC90ZW1wbGF0ZSBiL3NyY3BrZ3Mva2RldmVsb3AvdGVt cGxhdGUKaW5kZXggM2NlYTNlYjJlM2UuLmJkYWI2ZTE0OWNiIDEwMDY0NAotLS0gYS9zcmNwa2dz L2tkZXZlbG9wL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva2RldmVsb3AvdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdrZGV2ZWxvcCcKIHBrZ25hbWU9a2RldmVs b3AKIHZlcnNpb249NS42LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNt YWtlCiBjb25maWd1cmVfYXJncz0iLURCVUlMRF9URVNUSU5HPU9GRiIKIGhvc3RtYWtlZGVwZW5k cz0iZXh0cmEtY21ha2UtbW9kdWxlcyBxdDUtcW1ha2UgcXQ1LWhvc3QtdG9vbHMgcXQ1LXRvb2xz CgpGcm9tIGQxZDdhMmJjNzMyY2U5ZDUwMTcyMDc5YTBkZTI3ZjFkNWRiN2ZjOTUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFJvYmluIFZvZXR0ZXIgPHJvYmluQHZvZXR0ZXIubmw+CkRh dGU6IE1vbiwgOSBOb3YgMjAyMCAxMzowNTowMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjFd IGNvZGVsaXRlOiByZWJ1aWxkIGZvciBsbHZtMTEKCi0tLQogc3JjcGtncy9jb2RlbGl0ZS90ZW1w bGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiAuLi4vbGx2bTEx L2ZpbGVzL3BhdGNoZXMvbGx2bS9sbHZtLTAwMy1wcGMtc2VjdXJlcGx0LnBhdGNoICB8IDYgKysr LS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2NvZGVsaXRlL3RlbXBsYXRlIGIvc3JjcGtncy9jb2RlbGl0ZS90 ZW1wbGF0ZQppbmRleCBhMmEwOWQ3OWZhMS4uMmNiNWQzNWJjY2IgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvY29kZWxpdGUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jb2RlbGl0ZS90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NvZGVsaXRlJwogcGtnbmFtZT1jb2Rl bGl0ZQogdmVyc2lvbj0xMy4wCi1yZXZpc2lvbj0zCityZXZpc2lvbj00CiBhcmNocz0iaTY4Niog eDg2XzY0KiBwcGM2NGxlKiIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURX SVRIX1BDSD0wCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xsdm0xMS9maWxlcy9wYXRjaGVzL2xsdm0v bGx2bS0wMDMtcHBjLXNlY3VyZXBsdC5wYXRjaCBiL3NyY3BrZ3MvbGx2bTExL2ZpbGVzL3BhdGNo ZXMvbGx2bS9sbHZtLTAwMy1wcGMtc2VjdXJlcGx0LnBhdGNoCmluZGV4IGZjYmFiYTg2MzM1Li41 YmU4ZGU0ZjA2OCAxMDA2NDQKLS0tIGEvc3JjcGtncy9sbHZtMTEvZmlsZXMvcGF0Y2hlcy9sbHZt L2xsdm0tMDAzLXBwYy1zZWN1cmVwbHQucGF0Y2gKKysrIGIvc3JjcGtncy9sbHZtMTEvZmlsZXMv cGF0Y2hlcy9sbHZtL2xsdm0tMDAzLXBwYy1zZWN1cmVwbHQucGF0Y2gKQEAgLTEsMTEgKzEsMTEg QEAKIC0tLSBsbHZtL2xpYi9UYXJnZXQvUG93ZXJQQy9QUENTdWJ0YXJnZXQuY3BwCiArKysgbGx2 bS9saWIvVGFyZ2V0L1Bvd2VyUEMvUFBDU3VidGFyZ2V0LmNwcAotQEAgLTE1MCw3ICsxNTAsNyBA QCB2b2lkIFBQQ1N1YnRhcmdldDo6aW5pdFN1YnRhcmdldEZlYXR1cmVzKFN0cmluZ1JlZiBDUFUs IFN0cmluZ1JlZiBGUykgewotIAorQEAgLTE1Myw3ICsxNTMsNyBAQAorCiAgICBpZiAoKFRhcmdl dFRyaXBsZS5pc09TRnJlZUJTRCgpICYmIFRhcmdldFRyaXBsZS5nZXRPU01ham9yVmVyc2lvbigp ID49IDEzKSB8fAogICAgICAgIFRhcmdldFRyaXBsZS5pc09TTmV0QlNEKCkgfHwgVGFyZ2V0VHJp cGxlLmlzT1NPcGVuQlNEKCkgfHwKIC0gICAgICBUYXJnZXRUcmlwbGUuaXNNdXNsKCkpCiArICAg ICAgaXNUYXJnZXRMaW51eCgpKQogICAgICBTZWN1cmVQbHQgPSB0cnVlOwotIAorCiAgICBpZiAo SGFzU1BFICYmIElzUFBDNjQpCgpGcm9tIDk1MDM3MTk2MzM4NzIwZDY5N2Q0NDEwNWMyZjhlMzQ3 ZGQ3OGIyNjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFJvYmluIFZvZXR0ZXIgPHJv YmluQHZvZXR0ZXIubmw+CkRhdGU6IE1vbiwgOSBOb3YgMjAyMCAxMzowNzo0NCArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMTUvMjFdIHJ0YWdzOiByZWJ1aWxkIGZvciBsbHZtMTEKCi0tLQogc3JjcGtn cy9ydGFncy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcnRhZ3MvdGVtcGxhdGUgYi9zcmNw a2dzL3J0YWdzL3RlbXBsYXRlCmluZGV4IDcxNWYyZTBjNzMxLi5kNzE4ZTZjMzA5MCAxMDA2NDQK LS0tIGEvc3JjcGtncy9ydGFncy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3J0YWdzL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncnRhZ3MnCiBwa2duYW1lPXJ0 YWdzCiB2ZXJzaW9uPTIuMzgKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIGJ1aWxkX3N0eWxlPWNt YWtlCiAjIERvbid0IHJ1biB0ZXN0cyBpbiBkb19pbnN0YWxsLCBwbGVhc2UuCiBjb25maWd1cmVf YXJncz0iLURTS0lQX0NURVNUPVRSVUUiCgpGcm9tIDFkOTQ3ODg1NGIwZjcxNjVhZDYxNjZjMGEw ODYzM2U4YzMyZWFlNTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFJvYmluIFZvZXR0 ZXIgPHJvYmluQHZvZXR0ZXIubmw+CkRhdGU6IE1vbiwgOSBOb3YgMjAyMCAxMzowODo1NiArMDEw MApTdWJqZWN0OiBbUEFUQ0ggMTYvMjFdIGNjbHM6IHJlYnVpbGQgZm9yIGxsdm0xMQoKLS0tCiBz cmNwa2dzL2NjbHMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NjbHMvdGVtcGxhdGUgYi9z cmNwa2dzL2NjbHMvdGVtcGxhdGUKaW5kZXggYmViZmEwZjRjNjEuLjczNDY0NzRhN2NkIDEwMDY0 NAotLS0gYS9zcmNwa2dzL2NjbHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jY2xzL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY2NscycKIHBrZ25hbWU9Y2Ns cwogdmVyc2lvbj0wLjIwMTkwODIzLjYKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0 eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9ImNsYW5nLXRvb2xzLWV4dHJhIgogbWFrZWRlcGVu ZHM9ImNsYW5nIGxsdm0gbmN1cnNlcy1kZXZlbCByYXBpZGpzb24gemxpYi1kZXZlbCIKCkZyb20g ODI4MTFjM2E5YjVkYjgyMGQyNmMwMTA4M2QxNjZlMDJmMTliMTE2NyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogUm9iaW4gVm9ldHRlciA8cm9iaW5Adm9ldHRlci5ubD4KRGF0ZTogTW9u LCA5IE5vdiAyMDIwIDEzOjMyOjQ4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxNy8yMV0gaXNwYzog cmVidWlsZCBmb3IgbGx2bTExCgotLS0KIHNyY3BrZ3MvaXNwYy90ZW1wbGF0ZSB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvaXNwYy90ZW1wbGF0ZSBiL3NyY3BrZ3MvaXNwYy90ZW1wbGF0ZQppbmRleCAyZjM2 ZDQ1MTU3YS4uMDU0ZTNhMTUyM2QgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvaXNwYy90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2lzcGMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdpc3BjJwogcGtnbmFtZT1pc3BjCiB2ZXJzaW9uPTEuMTQuMQotcmV2aXNpb249MQor cmV2aXNpb249MgogYXJjaHM9Ing4Nl82NCoiCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJl X2FyZ3M9Ii1ESVNQQ19OT19EVU1QUz1PTiAtREFSTV9FTkFCTEVEPU9GRiIKCkZyb20gOGY5N2M1 MzdmMTA3Yzg5NTg5OTZlYjI2ZTU5ZWViMDNjNTdhN2RhOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogUm9iaW4gVm9ldHRlciA8cm9iaW5Adm9ldHRlci5ubD4KRGF0ZTogTW9uLCA5IE5v diAyMDIwIDE0OjI0OjIwICswMTAwClN1YmplY3Q6IFtQQVRDSCAxOC8yMV0gemlnOiB1cGRhdGUg dG8gMC43LjAKCi0tLQogc3JjcGtncy96aWcvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvemlnL3RlbXBsYXRlIGIvc3JjcGtncy96aWcvdGVtcGxhdGUKaW5kZXggZTM0ZDY0NzE3 MjguLjcyN2E2NzUzODNhIDEwMDY0NAotLS0gYS9zcmNwa2dzL3ppZy90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL3ppZy90ZW1wbGF0ZQpAQCAtMSwxNiArMSwxNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnemlnJwogcGtnbmFtZT16aWcKLXZlcnNpb249MC42LjAKLXJldmlzaW9uPTIKK3ZlcnNpb249 MC43LjAKK3JldmlzaW9uPTEKIGFyY2hzPSJ4ODZfNjQqIGFhcmNoNjQqIgogYnVpbGRfc3R5bGU9 Y21ha2UKLW1ha2VkZXBlbmRzPSJjbGFuZyBsbHZtMTAgbGxkLWRldmVsIgorbWFrZWRlcGVuZHM9 ImNsYW5nIGxsdm0xMSBsbGQtZGV2ZWwiCiBzaG9ydF9kZXNjPSJQcm9ncmFtbWluZyBsYW5ndWFn ZSBkZXNpZ25lZCBmb3Igcm9idXN0bmVzcywgb3B0aW1hbGl0eSwgYW5kIGNsYXJpdHkiCiBtYWlu dGFpbmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iTUlUIgog aG9tZXBhZ2U9Imh0dHBzOi8vemlnbGFuZy5vcmcvIgogZGlzdGZpbGVzPSJodHRwczovL3ppZ2xh bmcub3JnL2Rvd25sb2FkLyR7dmVyc2lvbn0vemlnLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tz dW09NWQxNjdkYzE5MzU0MjgyZGQzNWRkMTdiMzhlOTllMTc2MzcxM2I5YmU4YTRiYTllOWU2OTI4 NGUwNTllNzIwNAorY2hlY2tzdW09MGVmZDJjZjZjM2IwNTcyM2RiODBlOWNmMTkzYmM1NTE1MGJi YTg0Y2E0MWY4NTVhOTBmNTNmYzc1NjQ0NWY4Mwogbm9waWU9eWVzCiBub2Nyb3NzPXllcwogCgpG cm9tIDUwOTMyNjQzNDUyNGVlNmNiYWJkZWVmYjgxMmU1MTEyYjIzYWU1NjcgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IFJvYmluIFZvZXR0ZXIgPHJvYmluQHZvZXR0ZXIubmw+CkRhdGU6 IE1vbiwgOSBOb3YgMjAyMCAxNDo0MTo1MyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjFdIGNs YXp5OiByZWJ1aWxkIGZvciBsbHZtMTEKCi0tLQogLi4uL2ZpbGVzL2NsYXp5LTAwMS1sbHZtMTEt c3RyaW5ncmVmLnBhdGNoICAgIHwgMzQzICsrKysrKysrKysrKysrKysrKwogLi4uL2ZpbGVzL2Ns YXp5LTAwMi1sbHZtMTEtc3RyaW5ncmVmLnBhdGNoICAgIHwgIDI4ICsrCiBzcmNwa2dzL2NsYXp5 L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDggKy0KIDMgZmlsZXMgY2hhbmdl ZCwgMzc4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2NsYXp5L2ZpbGVzL2NsYXp5LTAwMS1sbHZtMTEtc3RyaW5ncmVmLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jbGF6eS9maWxlcy9jbGF6eS0wMDItbGx2bTExLXN0cmlu Z3JlZi5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2xhenkvZmlsZXMvY2xhenktMDAxLWxs dm0xMS1zdHJpbmdyZWYucGF0Y2ggYi9zcmNwa2dzL2NsYXp5L2ZpbGVzL2NsYXp5LTAwMS1sbHZt MTEtc3RyaW5ncmVmLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li40ODA0OWZhNTk0YQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2xhenkvZmlsZXMvY2xh enktMDAxLWxsdm0xMS1zdHJpbmdyZWYucGF0Y2gKQEAgLTAsMCArMSwzNDMgQEAKK0Zyb20gMzBk NmEyYjY0ZjVhMDU3MjJmZGM1ZDhlMzc1NGRiZjEzNDI1Y2Q2MiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEVnb3IgR2Fib3YgPGVnb3IuZ2Fib3ZAd2F2ZWFjY2Vzcy5ydT4KK0RhdGU6 IFRodSwgNCBKdW4gMjAyMCAxNzoxMDoyMSArMDMwMAorU3ViamVjdDogW1BBVENIXSB1cGRhdGVk IGZvciBjb21wYXRpYmlsaXR5IHdpdGggTExWTSAxMAorCitJbiBMTFZNIDEwIGxsdm06OlN0cmlu Z1JlZiBvcGVyYXRvciBzdGQ6OnN0cmluZygpIGlzIG1hcmtlZCBhcyBleHBsaWNpdC4KK0luIHRo aXMgY29tbWl0IGFsbCBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gbGx2bTo6U3RyaW5nUmVmIHRv CitzdGQ6OnN0cmluZyBhcmUgY2hhbmdlZCBieSBleHBsaWNpdC4KK0Fsc28gaW5jbHVkZWQgaGVh ZGVyIGZpbGUgY2xhbmcvQmFzaWMvRmlsZU1hbmFnZXIuaCBpbiBzcmMvTWluaUR1bXBlcgorYmVj YXVzZSB3aXRob3V0IHRoaXMgaGVhZGVyLCBjbGFzcyBjbGFuZzo6RmlsZUVudHJ5IGluIGluY29t cGxldGUgY2xhc3MKKy0tLQorIHNyYy9GaXhJdEV4cG9ydGVyLmNwcCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgNSArKystLQorIHNyYy9NaW5pQXN0RHVtcGVyLmNwcCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMSArCisgc3JjL1V0aWxzLmNwcCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCisgc3JjL2NoZWNrYmFzZS5jcHAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCisgc3JjL2NoZWNrcy9k ZXRhY2hpbmdiYXNlLmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCisgc3JjL2No ZWNrcy9sZXZlbDAvcWVudW1zLmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCisg c3JjL2NoZWNrcy9sZXZlbDAvcXQtbWFjcm9zLmNwcCAgICAgICAgICAgICAgICAgICAgICAgfCA0 ICsrLS0KKyBzcmMvY2hlY2tzL2xldmVsMC91bnVzZWQtbm9uLXRyaXZpYWwtdmFyaWFibGUuY3Bw ICAgICB8IDIgKy0KKyBzcmMvY2hlY2tzL2xldmVsMS9kZXRhY2hpbmctdGVtcG9yYXJ5LmNwcCAg ICAgICAgICAgICB8IDIgKy0KKyBzcmMvY2hlY2tzL2xldmVsMS9ub24tcG9kLWdsb2JhbC1zdGF0 aWMuY3BwICAgICAgICAgICB8IDIgKy0KKyBzcmMvY2hlY2tzL2xldmVsMS9xcHJvcGVydHktd2l0 aG91dC1ub3RpZnkuY3BwICAgICAgICB8IDIgKy0KKyBzcmMvY2hlY2tzL2xldmVsMi9taXNzaW5n LXR5cGVpbmZvLmNwcCAgICAgICAgICAgICAgICB8IDIgKy0KKyBzcmMvY2hlY2tzL2xldmVsMi9v bGQtc3R5bGUtY29ubmVjdC5jcHAgICAgICAgICAgICAgICB8IDYgKysrLS0tCisgc3JjL2NoZWNr cy9sZXZlbDIvcnVsZS1vZi10aHJlZS5jcHAgICAgICAgICAgICAgICAgICAgfCAyICstCisgc3Jj L2NoZWNrcy9tYW51YWxsZXZlbC9pZm5kZWYtZGVmaW5lLXR5cG8uY3BwICAgICAgICAgfCA2ICsr Ky0tLQorIHNyYy9jaGVja3MvbWFudWFsbGV2ZWwvcXByb3BlcnR5LXR5cGUtbWlzbWF0Y2guY3Bw ICAgIHwgMiArLQorIHNyYy9jaGVja3MvbWFudWFsbGV2ZWwvcXJlcXVpcmVkcmVzdWx0LWNhbmRp ZGF0ZXMuY3BwIHwgMiArLQorIHNyYy9jaGVja3MvbWFudWFsbGV2ZWwvcXQta2V5d29yZHMuY3Bw ICAgICAgICAgICAgICAgIHwgNCArKy0tCisgc3JjL2NoZWNrcy9tYW51YWxsZXZlbC9yZXNlcnZl LWNhbmRpZGF0ZXMuY3BwICAgICAgICAgfCAzICsrLQorIDE5IGZpbGVzIGNoYW5nZWQsIDI4IGlu c2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL0ZpeEl0RXhw b3J0ZXIuY3BwIGIvc3JjL0ZpeEl0RXhwb3J0ZXIuY3BwCitpbmRleCBmM2FmMmU1NC4uNDQyNDBj ZjUgMTAwNjQ0CistLS0gYS9zcmMvRml4SXRFeHBvcnRlci5jcHAKKysrKyBiL3NyYy9GaXhJdEV4 cG9ydGVyLmNwcAorQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBGaXhJdEV4cG9ydGVyOjpCZWdpblNv dXJjZUZpbGUoY29uc3QgTGFuZ09wdGlvbnMgJkxhbmdPcHRzLCBjb25zdCBQcmVwcm9jZXMKKyAK KyAgICAgY29uc3QgYXV0byBpZCA9IFNvdXJjZU1nci5nZXRNYWluRmlsZUlEKCk7CisgICAgIGNv bnN0IGF1dG8gZW50cnkgPSBTb3VyY2VNZ3IuZ2V0RmlsZUVudHJ5Rm9ySUQoaWQpOworLSAgICBn ZXRUdURpYWcoKS5NYWluU291cmNlRmlsZSA9IGVudHJ5LT5nZXROYW1lKCk7CisrICAgIGdldFR1 RGlhZygpLk1haW5Tb3VyY2VGaWxlID0gc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmc+KGVudHJ5LT5n ZXROYW1lKCkpOworIH0KKyAKKyBib29sIEZpeEl0RXhwb3J0ZXI6OkluY2x1ZGVJbkRpYWdub3N0 aWNDb3VudHMoKSBjb25zdAorQEAgLTg5LDcgKzg5LDggQEAgdG9vbGluZzo6RGlhZ25vc3RpYyBG aXhJdEV4cG9ydGVyOjpDb252ZXJ0RGlhZ25vc3RpYyhjb25zdCBEaWFnbm9zdGljICZJbmZvKQor ICAgICAvLyBUT0RPOiBUaGlzIHJldHVybnMgYW4gZW1wdHkgc3RyaW5nOiBEaWFnRW5naW5lLT5n ZXREaWFnbm9zdGljSURzKCktPmdldFdhcm5pbmdPcHRpb25Gb3JEaWFnKEluZm8uZ2V0SUQoKSk7 CisgICAgIC8vIEhBQ0s6IGNhcHR1cmUgaXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVzc2FnZTogTWVz c2FnZSB0ZXh0IFtjaGVjay1uYW1lXQorIAorLSAgICBzdGQ6OnN0cmluZyBjaGVja05hbWUgPSBE aWFnRW5naW5lLmdldERpYWdub3N0aWNJRHMoKS0+Z2V0V2FybmluZ09wdGlvbkZvckRpYWcoSW5m by5nZXRJRCgpKTsKKysgICAgc3RkOjpzdHJpbmcgY2hlY2tOYW1lID0KKysgICAgICAgIHN0YXRp Y19jYXN0PHN0ZDo6c3RyaW5nPihEaWFnRW5naW5lLmdldERpYWdub3N0aWNJRHMoKS0+Z2V0V2Fy bmluZ09wdGlvbkZvckRpYWcoSW5mby5nZXRJRCgpKSk7CisgICAgIHN0ZDo6c3RyaW5nIG1lc3Nh Z2VUZXh0OworIAorICAgICBpZiAoY2hlY2tOYW1lLmVtcHR5KCkpIHsKK2RpZmYgLS1naXQgYS9z cmMvTWluaUFzdER1bXBlci5jcHAgYi9zcmMvTWluaUFzdER1bXBlci5jcHAKK2luZGV4IDQ3NjYx NzQ5Li42MTI0ZTZlOCAxMDA2NDQKKy0tLSBhL3NyYy9NaW5pQXN0RHVtcGVyLmNwcAorKysrIGIv c3JjL01pbmlBc3REdW1wZXIuY3BwCitAQCAtMjQsNiArMjQsNyBAQAorIAorICNpbmNsdWRlIDxj bGFuZy9Gcm9udGVuZC9Db21waWxlckluc3RhbmNlLmg+CisgI2luY2x1ZGUgPGNsYW5nL0Zyb250 ZW5kL0Zyb250ZW5kUGx1Z2luUmVnaXN0cnkuaD4KKysjaW5jbHVkZSA8Y2xhbmcvQmFzaWMvRmls ZU1hbmFnZXIuaD4KKyAKKyB1c2luZyBuYW1lc3BhY2UgY2xhbmc7CisgdXNpbmcgbmFtZXNwYWNl IHN0ZDsKK2RpZmYgLS1naXQgYS9zcmMvVXRpbHMuY3BwIGIvc3JjL1V0aWxzLmNwcAoraW5kZXgg MDAxY2VkOTguLmIwODEyZmUzIDEwMDY0NAorLS0tIGEvc3JjL1V0aWxzLmNwcAorKysrIGIvc3Jj L1V0aWxzLmNwcAorQEAgLTg3OCw3ICs4NzgsNyBAQCBzdHJpbmcgVXRpbHM6OmZpbGVuYW1lRm9y TG9jKFNvdXJjZUxvY2F0aW9uIGxvYywgY29uc3QgY2xhbmc6OlNvdXJjZU1hbmFnZXIgJnNtKQor ICAgICBpZiAobG9jLmlzTWFjcm9JRCgpKQorICAgICAgICAgbG9jID0gc20uZ2V0RXhwYW5zaW9u TG9jKGxvYyk7CisgCistICAgIGNvbnN0IHN0cmluZyBmaWxlbmFtZSA9IHNtLmdldEZpbGVuYW1l KGxvYyk7CisrICAgIGNvbnN0IHN0cmluZyBmaWxlbmFtZSA9IHN0YXRpY19jYXN0PHN0ZDo6c3Ry aW5nPihzbS5nZXRGaWxlbmFtZShsb2MpKTsKKyAgICAgYXV0byBzcGxpdHRlZCA9IGNsYXp5Ojpz cGxpdFN0cmluZyhmaWxlbmFtZSwgJy8nKTsKKyAgICAgaWYgKHNwbGl0dGVkLmVtcHR5KCkpCisg ICAgICAgICByZXR1cm4ge307CitkaWZmIC0tZ2l0IGEvc3JjL2NoZWNrYmFzZS5jcHAgYi9zcmMv Y2hlY2tiYXNlLmNwcAoraW5kZXggOGI0MGUxOWQuLjIyYTQyNmNmIDEwMDY0NAorLS0tIGEvc3Jj L2NoZWNrYmFzZS5jcHAKKysrKyBiL3NyYy9jaGVja2Jhc2UuY3BwCitAQCAtMTg4LDcgKzE4OCw3 IEBAIGJvb2wgQ2hlY2tCYXNlOjpzaG91bGRJZ25vcmVGaWxlKFNvdXJjZUxvY2F0aW9uIGxvYykg Y29uc3QKKyAgICAgaWYgKCFsb2MuaXNWYWxpZCgpKQorICAgICAgICAgcmV0dXJuIHRydWU7Cisg CistICAgIHN0cmluZyBmaWxlbmFtZSA9IHNtKCkuZ2V0RmlsZW5hbWUobG9jKTsKKysgICAgc3Ry aW5nIGZpbGVuYW1lID0gc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmc+KHNtKCkuZ2V0RmlsZW5hbWUo bG9jKSk7CisgCisgICAgIHJldHVybiBjbGF6eTo6YW55X29mKG1fZmlsZXNUb0lnbm9yZSwgW2Zp bGVuYW1lXShjb25zdCBzdGQ6OnN0cmluZyAmaWdub3JlZCkgeworICAgICAgICAgcmV0dXJuIGNs YXp5Ojpjb250YWlucyhmaWxlbmFtZSwgaWdub3JlZCk7CitkaWZmIC0tZ2l0IGEvc3JjL2NoZWNr cy9kZXRhY2hpbmdiYXNlLmNwcCBiL3NyYy9jaGVja3MvZGV0YWNoaW5nYmFzZS5jcHAKK2luZGV4 IDcwMzExZjQyLi4xYjA5NGVlNyAxMDA2NDQKKy0tLSBhL3NyYy9jaGVja3MvZGV0YWNoaW5nYmFz ZS5jcHAKKysrKyBiL3NyYy9jaGVja3MvZGV0YWNoaW5nYmFzZS5jcHAKK0BAIC01Nyw3ICs1Nyw3 IEBAIGJvb2wgRGV0YWNoaW5nQmFzZTo6aXNEZXRhY2hpbmdNZXRob2QoQ1hYTWV0aG9kRGVjbCAq bWV0aG9kLCBEZXRhY2hpbmdNZXRob2RUeXBlCisgCisgICAgIGNvbnN0IHN0ZDo6dW5vcmRlcmVk X21hcDxzdHJpbmcsIHN0ZDo6dmVjdG9yPFN0cmluZ1JlZj4+ICZtZXRob2RzQnlUeXBlID0gZGV0 YWNoaW5nTWV0aG9kVHlwZSA9PSBEZXRhY2hpbmdNZXRob2QgPyBjbGF6eTo6ZGV0YWNoaW5nTWV0 aG9kcygpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOiBjbGF6eTo6ZGV0YWNoaW5nTWV0aG9kc1dpdGhDb25zdENvdW50ZXJQYXJ0 cygpOworLSAgICBhdXRvIGl0ID0gbWV0aG9kc0J5VHlwZS5maW5kKGNsYXNzTmFtZSk7CisrICAg IGF1dG8gaXQgPSBtZXRob2RzQnlUeXBlLmZpbmQoc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmc+KGNs YXNzTmFtZSkpOworICAgICBpZiAoaXQgIT0gbWV0aG9kc0J5VHlwZS5jZW5kKCkpIHsKKyAgICAg ICAgIGNvbnN0IGF1dG8gJm1ldGhvZHMgPSBpdC0+c2Vjb25kOworICAgICAgICAgaWYgKGNsYXp5 Ojpjb250YWlucyhtZXRob2RzLCBjbGF6eTo6bmFtZShtZXRob2QpKSkKK2RpZmYgLS1naXQgYS9z cmMvY2hlY2tzL2xldmVsMC9xZW51bXMuY3BwIGIvc3JjL2NoZWNrcy9sZXZlbDAvcWVudW1zLmNw cAoraW5kZXggMDAwNzViNWMuLmRiODkxMGYyIDEwMDY0NAorLS0tIGEvc3JjL2NoZWNrcy9sZXZl bDAvcWVudW1zLmNwcAorKysrIGIvc3JjL2NoZWNrcy9sZXZlbDAvcWVudW1zLmNwcAorQEAgLTU5 LDcgKzU5LDcgQEAgdm9pZCBRRW51bXM6OlZpc2l0TWFjcm9FeHBhbmRzKGNvbnN0IFRva2VuICZN YWNyb05hbWVUb2ssIGNvbnN0IFNvdXJjZVJhbmdlICZyYW4KKyAgICAgICAgIC8vIFdlIHNpbXBs eSBjaGVjayBpZiA6OiBpcyBwcmVzZW50IGJlY2F1c2UgaXQncyB2ZXJ5IGN1bWJlcnNvbWUgdG8g dG8gY2hlY2sgZm9yIGRpZmZlcmVudCBjbGFzc2VzIHdoZW4gZGVhbGluZyB3aXRoIHRoZSBwcmUt cHJvY2Vzc29yCisgCisgICAgICAgICBDaGFyU291cmNlUmFuZ2UgY3JhbmdlID0gTGV4ZXI6Omdl dEFzQ2hhclJhbmdlKHJhbmdlLCBzbSgpLCBsbygpKTsKKy0gICAgICAgIHN0cmluZyB0ZXh0ID0g TGV4ZXI6OmdldFNvdXJjZVRleHQoY3JhbmdlLCBzbSgpLCBsbygpKTsKKysgICAgICAgIHN0cmlu ZyB0ZXh0ID0gc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmc+KExleGVyOjpnZXRTb3VyY2VUZXh0KGNy YW5nZSwgc20oKSwgbG8oKSkpOworICAgICAgICAgaWYgKGNsYXp5Ojpjb250YWlucyh0ZXh0LCAi OjoiKSkKKyAgICAgICAgICAgICByZXR1cm47CisgICAgIH0KK2RpZmYgLS1naXQgYS9zcmMvY2hl Y2tzL2xldmVsMC9xdC1tYWNyb3MuY3BwIGIvc3JjL2NoZWNrcy9sZXZlbDAvcXQtbWFjcm9zLmNw cAoraW5kZXggZDNhNTg3Y2IuLmFiOGU5ZjUyIDEwMDY0NAorLS0tIGEvc3JjL2NoZWNrcy9sZXZl bDAvcXQtbWFjcm9zLmNwcAorKysrIGIvc3JjL2NoZWNrcy9sZXZlbDAvcXQtbWFjcm9zLmNwcAor QEAgLTQ0LDcgKzQ0LDcgQEAgdm9pZCBRdE1hY3Jvczo6VmlzaXRNYWNyb0RlZmluZWQoY29uc3Qg VG9rZW4gJk1hY3JvTmFtZVRvaykKKyAgICAgICAgIHJldHVybjsKKyAKKyAgICAgSWRlbnRpZmll ckluZm8gKmlpID0gTWFjcm9OYW1lVG9rLmdldElkZW50aWZpZXJJbmZvKCk7CistICAgIGlmIChp aSAmJiBjbGF6eTo6c3RhcnRzV2l0aChpaS0+Z2V0TmFtZSgpLCAiUV9PU18iKSkKKysgICAgaWYg KGlpICYmIGNsYXp5OjpzdGFydHNXaXRoKHN0YXRpY19jYXN0PHN0ZDo6c3RyaW5nPihpaS0+Z2V0 TmFtZSgpKSwgIlFfT1NfIikpCisgICAgICAgICBtX09TTWFjcm9FeGlzdHMgPSB0cnVlOworIH0K KyAKK0BAIC01OCw3ICs1OCw3IEBAIHZvaWQgUXRNYWNyb3M6OmNoZWNrSWZEZWYoY29uc3QgVG9r ZW4gJm1hY3JvTmFtZVRvaywgU291cmNlTG9jYXRpb24gTG9jKQorICAgICBpZiAocHJlUHJvY2Vz c29yVmlzaXRvciAmJiBwcmVQcm9jZXNzb3JWaXNpdG9yLT5xdFZlcnNpb24oKSA8IDUxMjA0ICYm IGlpLT5nZXROYW1lKCkgPT0gIlFfT1NfV0lORE9XUyIpIHsKKyAgICAgICAgIC8vIFFfT1NfV0lO RE9XUyB3YXMgaW50cm9kdWNlZCBpbiA1LjEyLjQKKyAgICAgICAgIGVtaXRXYXJuaW5nKExvYywg IlFfT1NfV0lORE9XUyB3YXMgb25seSBpbnRyb2R1Y2VkIGluIFF0IDUuMTIuNCwgdXNlIFFfT1Nf V0lOIGluc3RlYWQiKTsKKy0gICAgfSBlbHNlIGlmICghbV9PU01hY3JvRXhpc3RzICYmIGNsYXp5 OjpzdGFydHNXaXRoKGlpLT5nZXROYW1lKCksICJRX09TXyIpKSB7CisrICAgIH0gZWxzZSBpZiAo IW1fT1NNYWNyb0V4aXN0cyAmJiBjbGF6eTo6c3RhcnRzV2l0aChzdGF0aWNfY2FzdDxzdGQ6OnN0 cmluZz4oaWktPmdldE5hbWUoKSksICJRX09TXyIpKSB7CisgICAgICAgICBlbWl0V2FybmluZyhM b2MsICJJbmNsdWRlIHFnbG9iYWwuaCBiZWZvcmUgdGVzdGluZyBRX09TXyBtYWNyb3MiKTsKKyAg ICAgfQorIH0KK2RpZmYgLS1naXQgYS9zcmMvY2hlY2tzL2xldmVsMC91bnVzZWQtbm9uLXRyaXZp YWwtdmFyaWFibGUuY3BwIGIvc3JjL2NoZWNrcy9sZXZlbDAvdW51c2VkLW5vbi10cml2aWFsLXZh cmlhYmxlLmNwcAoraW5kZXggNGU0YjgzMDMuLjkzODE1ZjI3IDEwMDY0NAorLS0tIGEvc3JjL2No ZWNrcy9sZXZlbDAvdW51c2VkLW5vbi10cml2aWFsLXZhcmlhYmxlLmNwcAorKysrIGIvc3JjL2No ZWNrcy9sZXZlbDAvdW51c2VkLW5vbi10cml2aWFsLXZhcmlhYmxlLmNwcAorQEAgLTkxLDcgKzkx LDcgQEAgYm9vbCBVbnVzZWROb25Ucml2aWFsVmFyaWFibGU6OmlzVW5pbnRlcmVzdGluZ1R5cGUo Y29uc3QgQ1hYUmVjb3JkRGVjbCAqcmVjb3JkKQorICAgICBzdGF0aWMgY29uc3QgdmVjdG9yPFN0 cmluZ1JlZj4gYmxhY2tsaXN0ZWRUZW1wbGF0ZXMgPSB7ICJRU2NvcGVkUG9pbnRlciIsICJRU2V0 VmFsdWVPbkRlc3Ryb3kiLCAiUVNjb3BlZFZhbHVlUm9sbGJhY2siIH07CisgICAgIFN0cmluZ1Jl ZiBjbGFzc05hbWUgPSBjbGF6eTo6bmFtZShyZWNvcmQpOworICAgICBmb3IgKFN0cmluZ1JlZiB0 ZW1wbGF0ZU5hbWUgOiBibGFja2xpc3RlZFRlbXBsYXRlcykgeworLSAgICAgICAgaWYgKGNsYXp5 OjpzdGFydHNXaXRoKGNsYXNzTmFtZSwgdGVtcGxhdGVOYW1lKSkKKysgICAgICAgIGlmIChjbGF6 eTo6c3RhcnRzV2l0aChzdGF0aWNfY2FzdDxzdGQ6OnN0cmluZz4oY2xhc3NOYW1lKSwgc3RhdGlj X2Nhc3Q8c3RkOjpzdHJpbmc+KHRlbXBsYXRlTmFtZSkpKQorICAgICAgICAgICAgIHJldHVybiB0 cnVlOworICAgICB9CisgCitkaWZmIC0tZ2l0IGEvc3JjL2NoZWNrcy9sZXZlbDEvZGV0YWNoaW5n LXRlbXBvcmFyeS5jcHAgYi9zcmMvY2hlY2tzL2xldmVsMS9kZXRhY2hpbmctdGVtcG9yYXJ5LmNw cAoraW5kZXggZmVkZmM4MWMuLjYwYzc1NTMyIDEwMDY0NAorLS0tIGEvc3JjL2NoZWNrcy9sZXZl bDEvZGV0YWNoaW5nLXRlbXBvcmFyeS5jcHAKKysrKyBiL3NyYy9jaGVja3MvbGV2ZWwxL2RldGFj aGluZy10ZW1wb3JhcnkuY3BwCitAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgRGV0YWNoaW5nVGVt cG9yYXJ5OjpWaXNpdFN0bXQoY2xhbmc6OlN0bXQgKnN0bSkKKyAgICAgU3RyaW5nUmVmIGNsYXNz TmFtZSA9IGNsYXp5OjpuYW1lKGNsYXNzRGVjbCk7CisgCisgICAgIGNvbnN0IHN0ZDo6dW5vcmRl cmVkX21hcDxzdHJpbmcsIHN0ZDo6dmVjdG9yPFN0cmluZ1JlZj4+ICZtZXRob2RzQnlUeXBlID0g Y2xhenk6OmRldGFjaGluZ01ldGhvZHMoKTsKKy0gICAgYXV0byBpdCA9IG1ldGhvZHNCeVR5cGUu ZmluZChjbGFzc05hbWUpOworKyAgICBhdXRvIGl0ID0gbWV0aG9kc0J5VHlwZS5maW5kKHN0YXRp Y19jYXN0PHN0ZDo6c3RyaW5nPihjbGFzc05hbWUpKTsKKyAgICAgYXV0byBpdDIgPSBtX3dyaXRl TWV0aG9kc0J5VHlwZS5maW5kKGNsYXNzTmFtZSk7CisgCisgICAgIHN0ZDo6dmVjdG9yPFN0cmlu Z1JlZj4gYWxsb3dlZEZ1bmN0aW9uczsKK2RpZmYgLS1naXQgYS9zcmMvY2hlY2tzL2xldmVsMS9u b24tcG9kLWdsb2JhbC1zdGF0aWMuY3BwIGIvc3JjL2NoZWNrcy9sZXZlbDEvbm9uLXBvZC1nbG9i YWwtc3RhdGljLmNwcAoraW5kZXggNTg3OWJmZjguLjQzM2I1YzVmIDEwMDY0NAorLS0tIGEvc3Jj L2NoZWNrcy9sZXZlbDEvbm9uLXBvZC1nbG9iYWwtc3RhdGljLmNwcAorKysrIGIvc3JjL2NoZWNr cy9sZXZlbDEvbm9uLXBvZC1nbG9iYWwtc3RhdGljLmNwcAorQEAgLTc0LDcgKzc0LDcgQEAgdm9p ZCBOb25Qb2RHbG9iYWxTdGF0aWM6OlZpc2l0U3RtdChjbGFuZzo6U3RtdCAqc3RtKQorICAgICBj b25zdCBTb3VyY2VMb2NhdGlvbiBkZWNsU3RhcnQgPSBjbGF6eTo6Z2V0TG9jU3RhcnQodmFyRGVj bCk7CisgCisgICAgIGlmIChkZWNsU3RhcnQuaXNNYWNyb0lEKCkpIHsKKy0gICAgICAgIGF1dG8g bWFjcm9OYW1lID0gTGV4ZXI6OmdldEltbWVkaWF0ZU1hY3JvTmFtZShkZWNsU3RhcnQsIHNtKCks IGxvKCkpOworKyAgICAgICAgYXV0byBtYWNyb05hbWUgPSBzdGF0aWNfY2FzdDxzdGQ6OnN0cmlu Zz4oTGV4ZXI6OmdldEltbWVkaWF0ZU1hY3JvTmFtZShkZWNsU3RhcnQsIHNtKCksIGxvKCkpKTsK KyAgICAgICAgIGlmIChjbGF6eTo6c3RhcnRzV2l0aEFueShtYWNyb05hbWUsIHsgIlFfSU1QT1JU X1BMVUdJTiIsICJRX0NPTlNUUlVDVE9SX0ZVTkNUSU9OIiwgIlFfREVTVFJVQ1RPUl9GVU5DVElP TiJ9KSkgLy8gRG9uJ3Qgd2FybiBvbiB0aGVzZQorICAgICAgICAgICAgIHJldHVybjsKKyAgICAg fQorZGlmZiAtLWdpdCBhL3NyYy9jaGVja3MvbGV2ZWwxL3Fwcm9wZXJ0eS13aXRob3V0LW5vdGlm eS5jcHAgYi9zcmMvY2hlY2tzL2xldmVsMS9xcHJvcGVydHktd2l0aG91dC1ub3RpZnkuY3BwCitp bmRleCBlMWQ2ZGI0YS4uM2FmOWZlZTIgMTAwNjQ0CistLS0gYS9zcmMvY2hlY2tzL2xldmVsMS9x cHJvcGVydHktd2l0aG91dC1ub3RpZnkuY3BwCisrKysgYi9zcmMvY2hlY2tzL2xldmVsMS9xcHJv cGVydHktd2l0aG91dC1ub3RpZnkuY3BwCitAQCAtNjksNyArNjksNyBAQCB2b2lkIFFQcm9wZXJ0 eVdpdGhvdXROb3RpZnk6OlZpc2l0TWFjcm9FeHBhbmRzKGNvbnN0IGNsYW5nOjpUb2tlbiAmTWFj cm9OYW1lVG9rLAorICAgICAgICAgcmV0dXJuOworICAgICBDaGFyU291cmNlUmFuZ2UgY3Jhbmdl ID0gTGV4ZXI6OmdldEFzQ2hhclJhbmdlKHJhbmdlLCBzbSgpLCBsbygpKTsKKyAKKy0gICAgc3Ry aW5nIHRleHQgPSBMZXhlcjo6Z2V0U291cmNlVGV4dChjcmFuZ2UsIHNtKCksIGxvKCkpOworKyAg ICBzdHJpbmcgdGV4dCA9IHN0YXRpY19jYXN0PHN0ZDo6c3RyaW5nPihMZXhlcjo6Z2V0U291cmNl VGV4dChjcmFuZ2UsIHNtKCksIGxvKCkpKTsKKyAgICAgaWYgKHRleHQuYmFjaygpID09ICcpJykK KyAgICAgICAgIHRleHQucG9wX2JhY2soKTsKKyAKK2RpZmYgLS1naXQgYS9zcmMvY2hlY2tzL2xl dmVsMi9taXNzaW5nLXR5cGVpbmZvLmNwcCBiL3NyYy9jaGVja3MvbGV2ZWwyL21pc3NpbmctdHlw ZWluZm8uY3BwCitpbmRleCA5OGRmMmNkNC4uMDNiNDRlMDYgMTAwNjQ0CistLS0gYS9zcmMvY2hl Y2tzL2xldmVsMi9taXNzaW5nLXR5cGVpbmZvLmNwcAorKysrIGIvc3JjL2NoZWNrcy9sZXZlbDIv bWlzc2luZy10eXBlaW5mby5jcHAKK0BAIC03NCw3ICs3NCw3IEBAIHZvaWQgTWlzc2luZ1R5cGVJ bmZvOjpWaXNpdERlY2woY2xhbmc6OkRlY2wgKmRlY2wpCisgICAgICAgICBpZiAoc20oKS5pc0lu U3lzdGVtSGVhZGVyKGNsYXp5OjpnZXRMb2NTdGFydChyZWNvcmQpKSkKKyAgICAgICAgICAgICBy ZXR1cm47CisgCistICAgICAgICBzdGQ6OnN0cmluZyB0eXBlTmFtZSA9IGNsYXp5OjpuYW1lKHJl Y29yZCk7CisrICAgICAgICBzdGQ6OnN0cmluZyB0eXBlTmFtZSA9IHN0YXRpY19jYXN0PHN0ZDo6 c3RyaW5nPihjbGF6eTo6bmFtZShyZWNvcmQpKTsKKyAgICAgICAgIGlmICh0eXBlTmFtZSA9PSAi UVBhaXIiKSAvLyBRUGFpciBkb2Vzbid0IHVzZSBRX0RFQ0xBUkVfVFlQRUlORk8sIGJ1dCByYXRo ZXIgYSBleHBsaWNpdCBRVHlwZUluZm8uCisgICAgICAgICAgICAgcmV0dXJuOworIAorZGlmZiAt LWdpdCBhL3NyYy9jaGVja3MvbGV2ZWwyL29sZC1zdHlsZS1jb25uZWN0LmNwcCBiL3NyYy9jaGVj a3MvbGV2ZWwyL29sZC1zdHlsZS1jb25uZWN0LmNwcAoraW5kZXggMGZlNjhjMTMuLjM5NmNiNzAz IDEwMDY0NAorLS0tIGEvc3JjL2NoZWNrcy9sZXZlbDIvb2xkLXN0eWxlLWNvbm5lY3QuY3BwCisr KysgYi9zcmMvY2hlY2tzL2xldmVsMi9vbGQtc3R5bGUtY29ubmVjdC5jcHAKK0BAIC0yNzQsNyAr Mjc0LDcgQEAgdm9pZCBPbGRTdHlsZUNvbm5lY3Q6OlZpc2l0TWFjcm9FeHBhbmRzKGNvbnN0IFRv a2VuICZtYWNyb05hbWVUb2ssIGNvbnN0IFNvdXJjZVIKKyAgICAgICAgIHJldHVybjsKKyAKKyAg ICAgYXV0byBjaGFyUmFuZ2UgPSBMZXhlcjo6Z2V0QXNDaGFyUmFuZ2UocmFuZ2UsIHNtKCksIGxv KCkpOworLSAgICBjb25zdCBzdHJpbmcgdGV4dCA9IExleGVyOjpnZXRTb3VyY2VUZXh0KGNoYXJS YW5nZSwgc20oKSwgbG8oKSk7CisrICAgIGNvbnN0IHN0cmluZyB0ZXh0ID0gc3RhdGljX2Nhc3Q8 c3RkOjpzdHJpbmc+KExleGVyOjpnZXRTb3VyY2VUZXh0KGNoYXJSYW5nZSwgc20oKSwgbG8oKSkp OworIAorICAgICBzdGF0aWMgcmVnZXggcngoUiIoUV9QUklWQVRFX1NMT1RccypcKCguKilccyos XHMqLipccysoLiopXCguKikiKTsKKyAgICAgc21hdGNoIG1hdGNoOworQEAgLTI5Myw3ICsyOTMs NyBAQCBzdHJpbmcgT2xkU3R5bGVDb25uZWN0OjpzaWduYWxPclNsb3ROYW1lRnJvbU1hY3JvKFNv dXJjZUxvY2F0aW9uIG1hY3JvTG9jKQorICAgICBDaGFyU291cmNlUmFuZ2UgZXhwYW5zaW9uUmFu Z2UgPSBjbGF6eTo6Z2V0SW1tZWRpYXRlRXhwYW5zaW9uUmFuZ2UobWFjcm9Mb2MsIHNtKCkpOwor ICAgICBTb3VyY2VSYW5nZSByYW5nZSA9IFNvdXJjZVJhbmdlKGV4cGFuc2lvblJhbmdlLmdldEJl Z2luKCksIGV4cGFuc2lvblJhbmdlLmdldEVuZCgpKTsKKyAgICAgYXV0byBjaGFyUmFuZ2UgPSBM ZXhlcjo6Z2V0QXNDaGFyUmFuZ2UocmFuZ2UsIHNtKCksIGxvKCkpOworLSAgICBjb25zdCBzdHJp bmcgdGV4dCA9IExleGVyOjpnZXRTb3VyY2VUZXh0KGNoYXJSYW5nZSwgc20oKSwgbG8oKSk7Cisr ICAgIGNvbnN0IHN0cmluZyB0ZXh0ID0gc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmc+KExleGVyOjpn ZXRTb3VyY2VUZXh0KGNoYXJSYW5nZSwgc20oKSwgbG8oKSkpOworIAorICAgICBzdGF0aWMgcmVn ZXggcngoUiIoXHMqKFNJR05BTHxTTE9UKVxzKlwoXHMqKC4rKVxzKlwoLiopIik7CisgCitAQCAt MzE1LDcgKzMxNSw3IEBAIGJvb2wgT2xkU3R5bGVDb25uZWN0Ojppc1NpZ25hbE9yU2xvdChTb3Vy Y2VMb2NhdGlvbiBsb2MsIHN0cmluZyAmbWFjcm9OYW1lKSBjb25zCisgICAgIGlmICghbG9jLmlz TWFjcm9JRCgpIHx8IGxvYy5pc0ludmFsaWQoKSkKKyAgICAgICAgIHJldHVybiBmYWxzZTsKKyAK Ky0gICAgbWFjcm9OYW1lID0gTGV4ZXI6OmdldEltbWVkaWF0ZU1hY3JvTmFtZShsb2MsIHNtKCks IGxvKCkpOworKyAgICBtYWNyb05hbWUgPSBzdGF0aWNfY2FzdDxzdGQ6OnN0cmluZz4oTGV4ZXI6 OmdldEltbWVkaWF0ZU1hY3JvTmFtZShsb2MsIHNtKCksIGxvKCkpKTsKKyAgICAgcmV0dXJuIG1h Y3JvTmFtZSA9PSAiU0lHTkFMIiB8fCBtYWNyb05hbWUgPT0gIlNMT1QiOworIH0KKyAKK2RpZmYg LS1naXQgYS9zcmMvY2hlY2tzL2xldmVsMi9ydWxlLW9mLXRocmVlLmNwcCBiL3NyYy9jaGVja3Mv bGV2ZWwyL3J1bGUtb2YtdGhyZWUuY3BwCitpbmRleCA4ZGI1NWQ1My4uNzU4M2ZjYzUgMTAwNjQ0 CistLS0gYS9zcmMvY2hlY2tzL2xldmVsMi9ydWxlLW9mLXRocmVlLmNwcAorKysrIGIvc3JjL2No ZWNrcy9sZXZlbDIvcnVsZS1vZi10aHJlZS5jcHAKK0BAIC0xNDAsNyArMTQwLDcgQEAgdm9pZCBS dWxlT2ZUaHJlZTo6VmlzaXREZWNsKGNsYW5nOjpEZWNsICpkZWNsKQorIAorICAgICBjb25zdCBz dHJpbmcgY2xhc3NOYW1lID0gcmVjb3JkLT5nZXROYW1lQXNTdHJpbmcoKTsKKyAgICAgY29uc3Qg c3RyaW5nIGNsYXNzUXVhbGlmaWVkTmFtZSA9IHJlY29yZC0+Z2V0UXVhbGlmaWVkTmFtZUFzU3Ry aW5nKCk7CistICAgIGNvbnN0IHN0cmluZyBmaWxlbmFtZSA9IHNtKCkuZ2V0RmlsZW5hbWUocmVj b3JkU3RhcnQpOworKyAgICBjb25zdCBzdHJpbmcgZmlsZW5hbWUgPSBzdGF0aWNfY2FzdDxzdGQ6 OnN0cmluZz4oc20oKS5nZXRGaWxlbmFtZShyZWNvcmRTdGFydCkpOworICAgICBpZiAoY2xhenk6 OmVuZHNXaXRoKGNsYXNzTmFtZSwgIlByaXZhdGUiKSAmJiBjbGF6eTo6ZW5kc1dpdGhBbnkoZmls ZW5hbWUsIHsgIi5jcHAiLCAiLmN4eCIsICJfcC5oIiB9KSkKKyAgICAgICAgIHJldHVybjsgLy8g TG90cyBvZiBSQUlJIGNsYXNzZXMgZmFsbCBpbnRvIHRoaXMgY2F0ZWdvcnkuIEFuZCBldmVuIFBy aXZhdGUgKGQtcG9pbnRlcikgY2xhc3Nlcywgd2FybmluZyBpbiB0aGF0IGNhc2Ugd291bGQganVz dCBiZSBub2lzZQorIAorZGlmZiAtLWdpdCBhL3NyYy9jaGVja3MvbWFudWFsbGV2ZWwvaWZuZGVm LWRlZmluZS10eXBvLmNwcCBiL3NyYy9jaGVja3MvbWFudWFsbGV2ZWwvaWZuZGVmLWRlZmluZS10 eXBvLmNwcAoraW5kZXggZWRiNmNkZjQuLmU5YzUwYTQ1IDEwMDY0NAorLS0tIGEvc3JjL2NoZWNr cy9tYW51YWxsZXZlbC9pZm5kZWYtZGVmaW5lLXR5cG8uY3BwCisrKysgYi9zcmMvY2hlY2tzL21h bnVhbGxldmVsL2lmbmRlZi1kZWZpbmUtdHlwby5jcHAKK0BAIC00NCw3ICs0NCw3IEBAIHZvaWQg SWZuZGVmRGVmaW5lVHlwbzo6VmlzaXRNYWNyb0RlZmluZWQoY29uc3QgVG9rZW4gJm1hY3JvTmFt ZVRvaykKKyB7CisgICAgIGlmICghbV9sYXN0SWZuZGVmLmVtcHR5KCkpIHsKKyAgICAgICAgIGlm IChJZGVudGlmaWVySW5mbyAqaWkgPSBtYWNyb05hbWVUb2suZ2V0SWRlbnRpZmllckluZm8oKSkg eworLSAgICAgICAgICAgIG1heWJlV2FybihpaS0+Z2V0TmFtZSgpLCBtYWNyb05hbWVUb2suZ2V0 TG9jYXRpb24oKSk7CisrICAgICAgICAgICAgbWF5YmVXYXJuKHN0YXRpY19jYXN0PHN0ZDo6c3Ry aW5nPihpaS0+Z2V0TmFtZSgpKSwgbWFjcm9OYW1lVG9rLmdldExvY2F0aW9uKCkpOworICAgICAg ICAgfQorICAgICB9CisgfQorQEAgLTUzLDcgKzUzLDcgQEAgdm9pZCBJZm5kZWZEZWZpbmVUeXBv OjpWaXNpdERlZmluZWQoY29uc3QgVG9rZW4gJm1hY3JvTmFtZVRvaywgY29uc3QgU291cmNlUmFu Z2UKKyB7CisgICAgIGlmICghbV9sYXN0SWZuZGVmLmVtcHR5KCkpIHsKKyAgICAgICAgIGlmIChJ ZGVudGlmaWVySW5mbyAqaWkgPSBtYWNyb05hbWVUb2suZ2V0SWRlbnRpZmllckluZm8oKSkgewor LSAgICAgICAgICAgIG1heWJlV2FybihpaS0+Z2V0TmFtZSgpLCBtYWNyb05hbWVUb2suZ2V0TG9j YXRpb24oKSk7CisrICAgICAgICAgICAgbWF5YmVXYXJuKHN0YXRpY19jYXN0PHN0ZDo6c3RyaW5n PihpaS0+Z2V0TmFtZSgpKSwgbWFjcm9OYW1lVG9rLmdldExvY2F0aW9uKCkpOworICAgICAgICAg fQorICAgICB9CisgfQorQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBJZm5kZWZEZWZpbmVUeXBvOjpW aXNpdElmZGVmKFNvdXJjZUxvY2F0aW9uLCBjb25zdCBUb2tlbiAmKQorIHZvaWQgSWZuZGVmRGVm aW5lVHlwbzo6VmlzaXRJZm5kZWYoU291cmNlTG9jYXRpb24sIGNvbnN0IFRva2VuICZtYWNyb05h bWVUb2spCisgeworICAgICBpZiAoSWRlbnRpZmllckluZm8gKmlpID0gbWFjcm9OYW1lVG9rLmdl dElkZW50aWZpZXJJbmZvKCkpCistICAgICAgICBtX2xhc3RJZm5kZWYgPSBpaS0+Z2V0TmFtZSgp OworKyAgICAgICAgbV9sYXN0SWZuZGVmID0gc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmc+KGlpLT5n ZXROYW1lKCkpOworIH0KKyAKKyB2b2lkIElmbmRlZkRlZmluZVR5cG86OlZpc2l0SWYoU291cmNl TG9jYXRpb24sIFNvdXJjZVJhbmdlLCBQUENhbGxiYWNrczo6Q29uZGl0aW9uVmFsdWVLaW5kKQor ZGlmZiAtLWdpdCBhL3NyYy9jaGVja3MvbWFudWFsbGV2ZWwvcXByb3BlcnR5LXR5cGUtbWlzbWF0 Y2guY3BwIGIvc3JjL2NoZWNrcy9tYW51YWxsZXZlbC9xcHJvcGVydHktdHlwZS1taXNtYXRjaC5j cHAKK2luZGV4IGY5MTE1OWNiLi45NTJkOWYxZCAxMDA2NDQKKy0tLSBhL3NyYy9jaGVja3MvbWFu dWFsbGV2ZWwvcXByb3BlcnR5LXR5cGUtbWlzbWF0Y2guY3BwCisrKysgYi9zcmMvY2hlY2tzL21h bnVhbGxldmVsL3Fwcm9wZXJ0eS10eXBlLW1pc21hdGNoLmNwcAorQEAgLTIzNyw3ICsyMzcsNyBA QCB2b2lkIFFQcm9wZXJ0eVR5cGVNaXNtYXRjaDo6VmlzaXRNYWNyb0V4cGFuZHMoY29uc3QgY2xh bmc6OlRva2VuICZNYWNyb05hbWVUb2ssCisgCisgICAgIENoYXJTb3VyY2VSYW5nZSBjcmFuZ2Ug PSBMZXhlcjo6Z2V0QXNDaGFyUmFuZ2UocmFuZ2UsIHNtKCksIGxvKCkpOworIAorLSAgICBzdHJp bmcgdGV4dCA9IExleGVyOjpnZXRTb3VyY2VUZXh0KGNyYW5nZSwgc20oKSwgbG8oKSk7CisrICAg IHN0cmluZyB0ZXh0ID0gc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmc+KExleGVyOjpnZXRTb3VyY2VU ZXh0KGNyYW5nZSwgc20oKSwgbG8oKSkpOworICAgICBpZiAoIXRleHQuZW1wdHkoKSAmJiB0ZXh0 LmJhY2soKSA9PSAnKScpCisgICAgICAgICB0ZXh0LnBvcF9iYWNrKCk7CisgCitkaWZmIC0tZ2l0 IGEvc3JjL2NoZWNrcy9tYW51YWxsZXZlbC9xcmVxdWlyZWRyZXN1bHQtY2FuZGlkYXRlcy5jcHAg Yi9zcmMvY2hlY2tzL21hbnVhbGxldmVsL3FyZXF1aXJlZHJlc3VsdC1jYW5kaWRhdGVzLmNwcAor aW5kZXggOTEyZGJhYTAuLjYzNzViZDdiIDEwMDY0NAorLS0tIGEvc3JjL2NoZWNrcy9tYW51YWxs ZXZlbC9xcmVxdWlyZWRyZXN1bHQtY2FuZGlkYXRlcy5jcHAKKysrKyBiL3NyYy9jaGVja3MvbWFu dWFsbGV2ZWwvcXJlcXVpcmVkcmVzdWx0LWNhbmRpZGF0ZXMuY3BwCitAQCAtNjUsNyArNjUsNyBA QCB2b2lkIFFSZXF1aXJlZFJlc3VsdENhbmRpZGF0ZXM6OlZpc2l0RGVjbChjbGFuZzo6RGVjbCAq ZGVjbCkKKyAKKyAKKyAgICAgaWYgKHJldHVybkNsYXNzID09IGNsYXNzRGVjbCkgeworLSAgICAg ICAgY29uc3Qgc3RkOjpzdHJpbmcgbWV0aG9kTmFtZSA9IGNsYXp5OjpuYW1lKG1ldGhvZCk7Cisr ICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyBtZXRob2ROYW1lID0gc3RhdGljX2Nhc3Q8c3RkOjpz dHJpbmc+KGNsYXp5OjpuYW1lKG1ldGhvZCkpOworICAgICAgICAgaWYgKG1ldGhvZE5hbWUuZW1w dHkoKSkgLy8gZml4ZXMgYXNzZXJ0CisgICAgICAgICAgICAgcmV0dXJuOworIAorZGlmZiAtLWdp dCBhL3NyYy9jaGVja3MvbWFudWFsbGV2ZWwvcXQta2V5d29yZHMuY3BwIGIvc3JjL2NoZWNrcy9t YW51YWxsZXZlbC9xdC1rZXl3b3Jkcy5jcHAKK2luZGV4IGU3OTJlOTVhLi5iNjA3NTJjOSAxMDA2 NDQKKy0tLSBhL3NyYy9jaGVja3MvbWFudWFsbGV2ZWwvcXQta2V5d29yZHMuY3BwCisrKysgYi9z cmMvY2hlY2tzL21hbnVhbGxldmVsL3F0LWtleXdvcmRzLmNwcAorQEAgLTU5LDEyICs1OSwxMiBA QCB2b2lkIFF0S2V5d29yZHM6OlZpc2l0TWFjcm9FeHBhbmRzKGNvbnN0IFRva2VuICZtYWNyb05h bWVUb2ssIGNvbnN0IFNvdXJjZVJhbmdlCisgICAgIH0KKyAKKyAgICAgc3RhdGljIGNvbnN0IHZl Y3RvcjxTdHJpbmdSZWY+IGtleXdvcmRzID0geyAiZm9yZWFjaCIsICJzaWduYWxzIiwgInNsb3Rz IiwgImVtaXQiIH07CistICAgIHN0ZDo6c3RyaW5nIG5hbWUgPSBpaS0+Z2V0TmFtZSgpOworKyAg ICBzdGQ6OnN0cmluZyBuYW1lID0gc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmc+KGlpLT5nZXROYW1l KCkpOworICAgICBpZiAoIWNsYXp5Ojpjb250YWlucyhrZXl3b3JkcywgbmFtZSkpCisgICAgICAg ICByZXR1cm47CisgCisgICAgIC8vIE1ha2Ugc3VyZSB0aGUgbWFjcm8gaXMgUXQncy4gSXQgbXVz dCBiZSBkZWZpbmVkIGluIFF0J3MgaGVhZGVycywgbm90IDNyZHBhcnR5CistICAgIHN0ZDo6c3Ry aW5nIHF0aGVhZGVyID0gc20oKS5nZXRGaWxlbmFtZShzbSgpLmdldFNwZWxsaW5nTG9jKG1pbmZv LT5nZXREZWZpbml0aW9uTG9jKCkpKTsKKysgICAgc3RkOjpzdHJpbmcgcXRoZWFkZXIgPSBzdGF0 aWNfY2FzdDxzdGQ6OnN0cmluZz4oc20oKS5nZXRGaWxlbmFtZShzbSgpLmdldFNwZWxsaW5nTG9j KG1pbmZvLT5nZXREZWZpbml0aW9uTG9jKCkpKSk7CisgICAgIGlmICghY2xhenk6OmVuZHNXaXRo KHF0aGVhZGVyLCAicWdsb2JhbC5oIikgJiYgIWNsYXp5OjplbmRzV2l0aChxdGhlYWRlciwgInFv YmplY3RkZWZzLmgiKSkKKyAgICAgICAgIHJldHVybjsKKyAKK2RpZmYgLS1naXQgYS9zcmMvY2hl Y2tzL21hbnVhbGxldmVsL3Jlc2VydmUtY2FuZGlkYXRlcy5jcHAgYi9zcmMvY2hlY2tzL21hbnVh bGxldmVsL3Jlc2VydmUtY2FuZGlkYXRlcy5jcHAKK2luZGV4IDM4OWNhYzVhLi45MmU0NDkxYyAx MDA2NDQKKy0tLSBhL3NyYy9jaGVja3MvbWFudWFsbGV2ZWwvcmVzZXJ2ZS1jYW5kaWRhdGVzLmNw cAorKysrIGIvc3JjL2NoZWNrcy9tYW51YWxsZXZlbC9yZXNlcnZlLWNhbmRpZGF0ZXMuY3BwCitA QCAtNzgsNyArNzgsOCBAQCBzdGF0aWMgYm9vbCBpc0NhbmRpZGF0ZU1ldGhvZChDWFhNZXRob2RE ZWNsICptZXRob2REZWNsKQorICAgICBpZiAoIWNsYXNzRGVjbCkKKyAgICAgICAgIHJldHVybiBm YWxzZTsKKyAKKy0gICAgaWYgKCFjbGF6eTo6ZXF1YWxzQW55KGNsYXp5OjpuYW1lKG1ldGhvZERl Y2wpLCB7ICJhcHBlbmQiLCAicHVzaF9iYWNrIiwgInB1c2giLCAib3BlcmF0b3I8PCIsICJvcGVy YXRvcis9IiB9KSkKKysgICAgaWYgKCFjbGF6eTo6ZXF1YWxzQW55KHN0YXRpY19jYXN0PHN0ZDo6 c3RyaW5nPihjbGF6eTo6bmFtZShtZXRob2REZWNsKSksCisrICAgICAgICAgICAgICAgICB7ICJh cHBlbmQiLCAicHVzaF9iYWNrIiwgInB1c2giLCAib3BlcmF0b3I8PCIsICJvcGVyYXRvcis9IiB9 KSkKKyAgICAgICAgIHJldHVybiBmYWxzZTsKKyAKKyAgICAgaWYgKCFjbGF6eTo6aXNBUmVzZXJ2 ZUNsYXNzKGNsYXNzRGVjbCkpCistLSAKK0dpdExhYgorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Ns YXp5L2ZpbGVzL2NsYXp5LTAwMi1sbHZtMTEtc3RyaW5ncmVmLnBhdGNoIGIvc3JjcGtncy9jbGF6 eS9maWxlcy9jbGF6eS0wMDItbGx2bTExLXN0cmluZ3JlZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjhjYmI2MGIwOTEKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL2NsYXp5L2ZpbGVzL2NsYXp5LTAwMi1sbHZtMTEtc3RyaW5ncmVmLnBhdGNoCkBAIC0w LDAgKzEsMjggQEAKK0Zyb20gMjVhYTEwMmNjNDlkZWY5NTczZmZiZWQ4ODE1NTU4OWNkNjBhMmU4 ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEVnb3IgR2Fib3YgPGVnb3IuZ2Fib3ZA d2F2ZWFjY2Vzcy5ydT4KK0RhdGU6IEZyaSwgNSBKdW4gMjAyMCAxNjo1Mjo1MyArMDMwMAorU3Vi amVjdDogW1BBVENIXSB1cGRhdGVkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggTExWTSAxMCAoY2xh enktc3RhbmRhbG9uZSkKKworSW4gTExWTSAxMCBsbHZtOjpTdHJpbmdSZWYgb3BlcmF0b3Igc3Rk OjpzdHJpbmcoKSBpcyBtYXJrZWQgYXMgZXhwbGljaXQuCitJbiB0aGlzIGNvbW1pdCBhbGwgaW1w bGljaXQgY29udmVyc2lvbiBmcm9tIGxsdm06OlN0cmluZ1JlZiB0bworc3RkOjpzdHJpbmcgYXJl IGNoYW5nZWQgYnkgZXhwbGljaXQuCistLS0KKyBzcmMvY2hlY2tzL21hbnVhbGxldmVsL2puaXNp Z25hdHVyZXMuY3BwIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NoZWNrcy9tYW51YWxsZXZlbC9qbmlzaWdu YXR1cmVzLmNwcCBiL3NyYy9jaGVja3MvbWFudWFsbGV2ZWwvam5pc2lnbmF0dXJlcy5jcHAKK2lu ZGV4IDgxZTYxZDQ4Li41ZDRmZTIwMyAxMDA2NDQKKy0tLSBhL3NyYy9jaGVja3MvbWFudWFsbGV2 ZWwvam5pc2lnbmF0dXJlcy5jcHAKKysrKyBiL3NyYy9jaGVja3MvbWFudWFsbGV2ZWwvam5pc2ln bmF0dXJlcy5jcHAKK0BAIC0xMDMsNyArMTAzLDcgQEAgdm9pZCBKbmlTaWduYXR1cmVzOjpjaGVj a0Z1bmN0aW9uQ2FsbChTdG10ICpzdG0pCisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKKy0g ICAgY29uc3Qgc3RkOjpzdHJpbmcgbmFtZSA9IGNsYXp5OjpuYW1lKGZ1bkRlY2wpOworKyAgICBj b25zdCBzdGQ6OnN0cmluZyBuYW1lID0gc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmc+KGNsYXp5Ojpu YW1lKGZ1bkRlY2wpKTsKKyAKKyAgICAgaWYgKG5hbWUgPT0gImNhbGxPYmplY3RNZXRob2QiIHx8 IG5hbWUgPT0gImNhbGxNZXRob2QiKSB7CisgICAgICAgICBjaGVja0FyZ0F0KGNhbGxFeHByLCAw LCBtZXRob2ROYW1lUmVnZXgsICJJbnZhbGlkIG1ldGhvZCBuYW1lIik7CistLSAKK0dpdExhYgor CmRpZmYgLS1naXQgYS9zcmNwa2dzL2NsYXp5L3RlbXBsYXRlIGIvc3JjcGtncy9jbGF6eS90ZW1w bGF0ZQppbmRleCA0ZDg1NTdiZTY2OS4uNWFmMmI5MThlMTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv Y2xhenkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jbGF6eS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NsYXp5JwogcGtnbmFtZT1jbGF6eQogdmVyc2lvbj0x LjcKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRl cGVuZHM9InB5dGhvbiIKIG1ha2VkZXBlbmRzPSJjbGFuZyBsbHZtIgpAQCAtMTIsMyArMTIsOSBA QCBob21lcGFnZT0iaHR0cHM6Ly9jZ2l0LmtkZS5vcmcvY2xhenkuZ2l0L2Fib3V0LyIKIGRpc3Rm aWxlcz0iJHtLREVfU0lURX0vY2xhenkvJHt2ZXJzaW9ufS9zcmMvJHtwa2duYW1lfS0ke3ZlcnNp b259LnRhci54eiIKIGNoZWNrc3VtPTc1NGRhNTgxNWY3NjlkZDZiNzJhMDQwYTI0MzA1MjVjOTNm Mjk0ZWI3NzY5Yzc4MjcxNjAzZGY5NjE0ZjFiMjEKIG5vY3Jvc3M9IkNsYW5nIGNhbm5vdCBiZSBp bnN0YWxsZWQgYXMgbWFrZWRlcCIKKworcG9zdF9leHRyYWN0KCkgeworCWZvciBpIGluICR7RklM RVNESVJ9L2NsYXp5LSoucGF0Y2g7IGRvCisJCXBhdGNoIC1zTnAxIC1pICR7aX0KKwlkb25lCit9 CgpGcm9tIDE1MjQxODVjY2Q2MDdhZTYxNzVlNzI0YmRkMzQ4NzhjNTRhM2YyZWMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFJvYmluIFZvZXR0ZXIgPHJvYmluQHZvZXR0ZXIubmw+CkRh dGU6IE1vbiwgOSBOb3YgMjAyMCAxNToxOTozNyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMjFd IGluY2x1ZGUtd2hhdC15b3UtdXNlOiByZWJ1aWxkIGZvciBsbHZtMTEKCi0tLQogLi4uZGUtd2hh dC15b3UtdXNlLTAwMS1sbHZtMTEtc3RyaW5ncmVmLnBhdGNoIHwgMTQ2ICsrKysrKysrKysrKysr KysrKwogLi4udWRlLXdoYXQteW91LXVzZS0wMDItY2xhbmctYXN0ZHVtcGVyLnBhdGNoIHwgIDU0 ICsrKysrKysKIHNyY3BrZ3MvaW5jbHVkZS13aGF0LXlvdS11c2UvdGVtcGxhdGUgICAgICAgICB8 ICAgOCArLQogMyBmaWxlcyBjaGFuZ2VkLCAyMDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvaW5jbHVkZS13aGF0LXlvdS11c2UvZmlsZXMv aW5jbHVkZS13aGF0LXlvdS11c2UtMDAxLWxsdm0xMS1zdHJpbmdyZWYucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2luY2x1ZGUtd2hhdC15b3UtdXNlL2ZpbGVzL2luY2x1ZGUtd2hh dC15b3UtdXNlLTAwMi1jbGFuZy1hc3RkdW1wZXIucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dz L2luY2x1ZGUtd2hhdC15b3UtdXNlL2ZpbGVzL2luY2x1ZGUtd2hhdC15b3UtdXNlLTAwMS1sbHZt MTEtc3RyaW5ncmVmLnBhdGNoIGIvc3JjcGtncy9pbmNsdWRlLXdoYXQteW91LXVzZS9maWxlcy9p bmNsdWRlLXdoYXQteW91LXVzZS0wMDEtbGx2bTExLXN0cmluZ3JlZi5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTcxZGNhMjhlMzQKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2luY2x1ZGUtd2hhdC15b3UtdXNlL2ZpbGVzL2luY2x1ZGUtd2hhdC15b3Ut dXNlLTAwMS1sbHZtMTEtc3RyaW5ncmVmLnBhdGNoCkBAIC0wLDAgKzEsMTQ2IEBACitGcm9tIDUz NDg3ZDIwOTcyOWQ1NzgxMDA3ZGMwZmQ2MDc2ZGM1ODVjYjM3MjcgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBBbmRyZWEgQm9jY2kgPGFuZHJlYS5ib2NjaUBjZXJuLmNoPgorRGF0ZTog RnJpLCAyOCBGZWIgMjAyMCAxNzo0NTowMyArMDEwMAorU3ViamVjdDogW1BBVENIXSBBZGQgZXhw bGljaXQgY29udmVyc2lvbiBmcm9tIGxsdm06OlN0cmluZ1JlZiB0byBzdGQ6OnN0cmluZworCits bHZtL2xsdm0tcHJvamVjdEA3NzcxODBhIG1ha2VzIHRoZSBsbHZtOjpTdHJpbmdSZWYgY29udmVy c2lvbiBvcGVyYXRvcgordG8gc3RkOjpzdHJpbmcgZXhwbGljaXQuCitUaGVzZSBjaGFuZ2VzIGFk ZCBhIGNhbGwgdG8gdGhlIHN0cigpIG1ldGhvZCB0byBwZXJmb3JtIHRoZSBjb252ZXJzaW9uLgor CitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQm9jY2kgPGFuZHJlYS5ib2NjaUBjZXJuLmNoPgorLS0t CisgaXd5dV9kcml2ZXIuY2MgICAgICAgfCAyICstCisgaXd5dV9nbG9iYWxzLmNjICAgICAgfCA0 ICsrLS0KKyBpd3l1X2xleGVyX3V0aWxzLmNjICB8IDIgKy0KKyBpd3l1X2xvY2F0aW9uX3V0aWwu aCB8IDIgKy0KKyBpd3l1X291dHB1dC5jYyAgICAgICB8IDIgKy0KKyBpd3l1X3BhdGhfdXRpbC5j YyAgICB8IDYgKysrLS0tCisgaXd5dV9wcmVwcm9jZXNzb3IuY2MgfCA0ICsrLS0KKyA3IGZpbGVz IGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvaXd5dV9kcml2ZXIuY2MgYi9pd3l1X2RyaXZlci5jYworaW5kZXggYmQxNjMxNDQuLjQyZmVh MzViIDEwMDY0NAorLS0tIGEvaXd5dV9kcml2ZXIuY2MKKysrKyBiL2l3eXVfZHJpdmVyLmNjCitA QCAtNzksNyArNzksNyBAQCBzdGQ6OnN0cmluZyBHZXRFeGVjdXRhYmxlUGF0aChjb25zdCBjaGFy ICpBcmd2MCkgeworIH0KKyAKKyBjb25zdCBjaGFyICpTYXZlU3RyaW5nSW5TZXQoc3RkOjpzZXQ8 c3RkOjpzdHJpbmc+ICZTYXZlZFN0cmluZ3MsIFN0cmluZ1JlZiBTKSB7CistICByZXR1cm4gU2F2 ZWRTdHJpbmdzLmluc2VydChTKS5maXJzdC0+Y19zdHIoKTsKKysgIHJldHVybiBTYXZlZFN0cmlu Z3MuaW5zZXJ0KFMuc3RyKCkpLmZpcnN0LT5jX3N0cigpOworIH0KKyAKKyB2b2lkIEV4cGFuZEFy Z3NGcm9tQnVmKGNvbnN0IGNoYXIgKkFyZywKK2RpZmYgLS1naXQgYS9pd3l1X2dsb2JhbHMuY2Mg Yi9pd3l1X2dsb2JhbHMuY2MKK2luZGV4IDBmNThiNGRjLi4yNjk5ODk2NiAxMDA2NDQKKy0tLSBh L2l3eXVfZ2xvYmFscy5jYworKysrIGIvaXd5dV9nbG9iYWxzLmNjCitAQCAtMjkzLDcgKzI5Myw3 IEBAIHN0YXRpYyB2ZWN0b3I8SGVhZGVyU2VhcmNoUGF0aD4gQ29tcHV0ZUhlYWRlclNlYXJjaFBh dGhzKAorICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyX3NlYXJjaC0+c3lzdGVtX2Rpcl9iZWdpbigp OworICAgICAgICBpdCAhPSBoZWFkZXJfc2VhcmNoLT5zeXN0ZW1fZGlyX2VuZCgpOyArK2l0KSB7 CisgICAgIGlmIChjb25zdCBEaXJlY3RvcnlFbnRyeSogZW50cnkgPSBpdC0+Z2V0RGlyKCkpIHsK Ky0gICAgICBjb25zdCBzdHJpbmcgcGF0aCA9IE5vcm1hbGl6ZURpclBhdGgoTWFrZUFic29sdXRl UGF0aChlbnRyeS0+Z2V0TmFtZSgpKSk7CisrICAgICAgY29uc3Qgc3RyaW5nIHBhdGggPSBOb3Jt YWxpemVEaXJQYXRoKE1ha2VBYnNvbHV0ZVBhdGgoZW50cnktPmdldE5hbWUoKS5zdHIoKSkpOwor ICAgICAgIHNlYXJjaF9wYXRoX21hcFtwYXRoXSA9IEhlYWRlclNlYXJjaFBhdGg6OmtTeXN0ZW1Q YXRoOworICAgICB9CisgICB9CitAQCAtMzAzLDcgKzMwMyw3IEBAIHN0YXRpYyB2ZWN0b3I8SGVh ZGVyU2VhcmNoUGF0aD4gQ29tcHV0ZUhlYWRlclNlYXJjaFBhdGhzKAorICAgICAgIC8vIHNlYXJj aF9kaXJfYmVnaW4oKS9lbmQoKSBpbmNsdWRlcyBib3RoIHN5c3RlbSBhbmQgdXNlciBwYXRocy4K KyAgICAgICAvLyBJZiBpdCdzIGEgc3lzdGVtIHBhdGgsIGl0J3MgYWxyZWFkeSBpbiB0aGUgbWFw LCBzbyBldmVyeXRoaW5nCisgICAgICAgLy8gbmV3IGlzIGEgdXNlciBwYXRoLiAgVGhlIGluc2Vy dCBvbmx5ICd0YWtlcycgZm9yIG5ldyBlbnRyaWVzLgorLSAgICAgIGNvbnN0IHN0cmluZyBwYXRo ID0gTm9ybWFsaXplRGlyUGF0aChNYWtlQWJzb2x1dGVQYXRoKGVudHJ5LT5nZXROYW1lKCkpKTsK KysgICAgICBjb25zdCBzdHJpbmcgcGF0aCA9IE5vcm1hbGl6ZURpclBhdGgoTWFrZUFic29sdXRl UGF0aChlbnRyeS0+Z2V0TmFtZSgpLnN0cigpKSk7CisgICAgICAgc2VhcmNoX3BhdGhfbWFwLmlu c2VydChtYWtlX3BhaXIocGF0aCwgSGVhZGVyU2VhcmNoUGF0aDo6a1VzZXJQYXRoKSk7CisgICAg IH0KKyAgIH0KK2RpZmYgLS1naXQgYS9pd3l1X2xleGVyX3V0aWxzLmNjIGIvaXd5dV9sZXhlcl91 dGlscy5jYworaW5kZXggZmNlYTJkMjguLjY0OGM5ZGE4IDEwMDY0NAorLS0tIGEvaXd5dV9sZXhl cl91dGlscy5jYworKysrIGIvaXd5dV9sZXhlcl91dGlscy5jYworQEAgLTcwLDcgKzcwLDcgQEAg U291cmNlTG9jYXRpb24gR2V0TG9jYXRpb25BZnRlcigKKyBzdHJpbmcgR2V0SW5jbHVkZU5hbWVB c1dyaXR0ZW4oCisgICAgIFNvdXJjZUxvY2F0aW9uIGluY2x1ZGVfbG9jLAorICAgICBjb25zdCBD aGFyYWN0ZXJEYXRhR2V0dGVySW50ZXJmYWNlJiBkYXRhX2dldHRlcikgeworLSAgY29uc3Qgc3Ry aW5nIGRhdGEgPSBHZXRTb3VyY2VUZXh0VW50aWxFbmRPZkxpbmUoaW5jbHVkZV9sb2MsIGRhdGFf Z2V0dGVyKTsKKysgIGNvbnN0IHN0cmluZyBkYXRhID0gR2V0U291cmNlVGV4dFVudGlsRW5kT2ZM aW5lKGluY2x1ZGVfbG9jLCBkYXRhX2dldHRlcikuc3RyKCk7CisgICBpZiAoZGF0YS5lbXB0eSgp KQorICAgICByZXR1cm4gZGF0YTsKKyAgIHN0cmluZzo6c2l6ZV90eXBlIGVuZHBvcyA9IHN0cmlu Zzo6bnBvczsKK2RpZmYgLS1naXQgYS9pd3l1X2xvY2F0aW9uX3V0aWwuaCBiL2l3eXVfbG9jYXRp b25fdXRpbC5oCitpbmRleCAzODkyYTQyNC4uNmY4Y2Y4MWMgMTAwNjQ0CistLS0gYS9pd3l1X2xv Y2F0aW9uX3V0aWwuaAorKysrIGIvaXd5dV9sb2NhdGlvbl91dGlsLmgKK0BAIC04OSw3ICs4OSw3 IEBAIGJvb2wgSXNJblNjcmF0Y2hTcGFjZShjbGFuZzo6U291cmNlTG9jYXRpb24gbG9jKTsKKyAK KyBpbmxpbmUgc3RyaW5nIEdldEZpbGVQYXRoKGNvbnN0IGNsYW5nOjpGaWxlRW50cnkqIGZpbGUp IHsKKyAgIHJldHVybiAoSXNCdWlsdGluRmlsZShmaWxlKSA/ICI8YnVpbHQtaW4+IiA6CistICAg ICAgICAgIE5vcm1hbGl6ZUZpbGVQYXRoKGZpbGUtPmdldE5hbWUoKSkpOworKyAgICAgICAgICBO b3JtYWxpemVGaWxlUGF0aChmaWxlLT5nZXROYW1lKCkuc3RyKCkpKTsKKyB9CisgCisgLy8tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K K2RpZmYgLS1naXQgYS9pd3l1X291dHB1dC5jYyBiL2l3eXVfb3V0cHV0LmNjCitpbmRleCBjYTE0 NTcxMC4uODY2NmMyNmMgMTAwNjQ0CistLS0gYS9pd3l1X291dHB1dC5jYworKysrIGIvaXd5dV9v dXRwdXQuY2MKK0BAIC0xNjgsNyArMTY4LDcgQEAgc3RyaW5nIEdldEtpbmROYW1lKGNvbnN0IGNs YW5nOjpUYWdEZWNsKiB0YWdfZGVjbCkgeworICAgaWYgKGNvbnN0IEZha2VOYW1lZERlY2wqIGZh a2UgPSBGYWtlTmFtZWREZWNsSWZJdElzT25lKG5hbWVkX2RlY2wpKSB7CisgICAgIHJldHVybiBm YWtlLT5raW5kX25hbWUoKTsKKyAgIH0KKy0gIHJldHVybiB0YWdfZGVjbC0+Z2V0S2luZE5hbWUo KTsKKysgIHJldHVybiB0YWdfZGVjbC0+Z2V0S2luZE5hbWUoKS5zdHIoKTsKKyB9CisgCisgc3Ry aW5nIEdldFF1YWxpZmllZE5hbWVBc1N0cmluZyhjb25zdCBjbGFuZzo6TmFtZWREZWNsKiBuYW1l ZF9kZWNsKSB7CitkaWZmIC0tZ2l0IGEvaXd5dV9wYXRoX3V0aWwuY2MgYi9pd3l1X3BhdGhfdXRp bC5jYworaW5kZXggYWI0ZmM4MDAuLjk5ODdlYTQ3IDEwMDY0NAorLS0tIGEvaXd5dV9wYXRoX3V0 aWwuY2MKKysrKyBiL2l3eXVfcGF0aF91dGlsLmNjCitAQCAtMTM0LDcgKzEzNCw3IEBAIHN0cmlu ZyBOb3JtYWxpemVGaWxlUGF0aChjb25zdCBzdHJpbmcmIHBhdGgpIHsKKyAgIHN0ZDo6cmVwbGFj ZShub3JtYWxpemVkLmJlZ2luKCksIG5vcm1hbGl6ZWQuZW5kKCksICdcXCcsICcvJyk7CisgI2Vu ZGlmCisgCistICByZXR1cm4gbm9ybWFsaXplZC5zdHIoKTsKKysgIHJldHVybiBub3JtYWxpemVk LnN0cigpLnN0cigpOworIH0KKyAKKyBzdHJpbmcgTm9ybWFsaXplRGlyUGF0aChjb25zdCBzdHJp bmcmIHBhdGgpIHsKK0BAIC0xNTQsMTQgKzE1NCwxNCBAQCBzdHJpbmcgTWFrZUFic29sdXRlUGF0 aChjb25zdCBzdHJpbmcmIHBhdGgpIHsKKyAgIHN0ZDo6ZXJyb3JfY29kZSBlcnJvciA9IGxsdm06 OnN5czo6ZnM6Om1ha2VfYWJzb2x1dGUoYWJzb2x1dGVfcGF0aCk7CisgICBDSEVDS18oIWVycm9y KTsKKyAKKy0gIHJldHVybiBhYnNvbHV0ZV9wYXRoLnN0cigpOworKyAgcmV0dXJuIGFic29sdXRl X3BhdGguc3RyKCkuc3RyKCk7CisgfQorIAorIHN0cmluZyBNYWtlQWJzb2x1dGVQYXRoKGNvbnN0 IHN0cmluZyYgYmFzZV9wYXRoLCBjb25zdCBzdHJpbmcmIHJlbGF0aXZlX3BhdGgpIHsKKyAgIGxs dm06OlNtYWxsU3RyaW5nPDEyOD4gYWJzb2x1dGVfcGF0aChiYXNlX3BhdGgpOworICAgbGx2bTo6 c3lzOjpwYXRoOjphcHBlbmQoYWJzb2x1dGVfcGF0aCwgcmVsYXRpdmVfcGF0aCk7CisgCistICBy ZXR1cm4gYWJzb2x1dGVfcGF0aC5zdHIoKTsKKysgIHJldHVybiBhYnNvbHV0ZV9wYXRoLnN0cigp LnN0cigpOworIH0KKyAKKyBzdHJpbmcgR2V0UGFyZW50UGF0aChjb25zdCBzdHJpbmcmIHBhdGgp IHsKK2RpZmYgLS1naXQgYS9pd3l1X3ByZXByb2Nlc3Nvci5jYyBiL2l3eXVfcHJlcHJvY2Vzc29y LmNjCitpbmRleCA1OGU3ODU5NS4uODhiOTMxNDQgMTAwNjQ0CistLS0gYS9pd3l1X3ByZXByb2Nl c3Nvci5jYworKysrIGIvaXd5dV9wcmVwcm9jZXNzb3IuY2MKK0BAIC0zMTMsNyArMzEzLDcgQEAg dm9pZCBJd3l1UHJlcHJvY2Vzc29ySW5mbzo6UHJvY2Vzc0hlYWRlcm5hbWVEaXJlY3RpdmVzSW5G aWxlKAorICAgICAgIGJyZWFrOworICAgICB9CisgICAgIGNvbnN0IHN0cmluZyBmaWxlbmFtZSA9 IEdldFNvdXJjZVRleHRVbnRpbEVuZE9mTGluZShjdXJyZW50X2xvYywKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHREYXRhR2V0 dGVyKCkpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRGVmYXVsdERhdGFHZXR0ZXIoKSkuc3RyKCk7CisgICAgIC8vIFVzZSAiIiBvciA8 PiBiYXNlZCBvbiB3aGVyZSB0aGUgZmlsZSBsaXZlcy4KKyAgICAgc3RyaW5nIHF1b3RlZF9wcml2 YXRlX2luY2x1ZGU7CisgICAgIGlmIChJc1N5c3RlbUluY2x1ZGVGaWxlKEdldEZpbGVQYXRoKGN1 cnJlbnRfbG9jKSkpCitAQCAtMzMyLDcgKzMzMiw3IEBAIHZvaWQgSXd5dVByZXByb2Nlc3Nvcklu Zm86OlByb2Nlc3NIZWFkZXJuYW1lRGlyZWN0aXZlc0luRmlsZSgKKyAgICAgfQorIAorICAgICBz dHJpbmcgYWZ0ZXJfdGV4dCA9IEdldFNvdXJjZVRleHRVbnRpbEVuZE9mTGluZShjdXJyZW50X2xv YywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RGVmYXVsdERhdGFHZXR0ZXIoKSk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIERlZmF1bHREYXRhR2V0dGVyKCkpLnN0cigpOworICAgICBjb25z dCBzdHJpbmc6OnNpemVfdHlwZSBjbG9zZV9icmFjZV9wb3MgPSBhZnRlcl90ZXh0LmZpbmQoJ30n KTsKKyAgICAgaWYgKGNsb3NlX2JyYWNlX3BvcyA9PSBzdHJpbmc6Om5wb3MpIHsKKyAgICAgICBX YXJuKGN1cnJlbnRfbG9jLCAiQGhlYWRlcm5hbWUgZGlyZWN0aXZlIG1pc3NpbmcgYSBjbG9zaW5n IGJyYWNlIik7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2luY2x1ZGUtd2hhdC15b3UtdXNlL2ZpbGVz L2luY2x1ZGUtd2hhdC15b3UtdXNlLTAwMi1jbGFuZy1hc3RkdW1wZXIucGF0Y2ggYi9zcmNwa2dz L2luY2x1ZGUtd2hhdC15b3UtdXNlL2ZpbGVzL2luY2x1ZGUtd2hhdC15b3UtdXNlLTAwMi1jbGFu Zy1hc3RkdW1wZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjY2M2E4ODNmYTkxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9pbmNsdWRlLXdoYXQteW91 LXVzZS9maWxlcy9pbmNsdWRlLXdoYXQteW91LXVzZS0wMDItY2xhbmctYXN0ZHVtcGVyLnBhdGNo CkBAIC0wLDAgKzEsNTQgQEAKK0Zyb20gMzA1NDljNjkzMTk3MjQ1NmQxZTA5ZmY1ZGJlZWNkMjU4 YThkZjcyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtpbSBHcmFzbWFuIDxraW0u Z3Jhc21hbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDkgSnVsIDIwMjAgMTg6NDc6NTYgKzAyMDAK K1N1YmplY3Q6IFtQQVRDSF0gSW1wbGVtZW50IFN0bXQgcHJpbnRpbmcgd2l0aCBBU1REdW1wZXIK KworVGhlIENsYW5nIEFQSSBjaGFuZ2VkIGluIGNvbW1pdCA0NzNmYmM5MGQxZmJmMTdlIHNvIHRo YXQgU3RtdDo6ZHVtcAordGFrZXMgYW4gQVNUQ29udGV4dCBpbnN0ZWFkIG9mIGEgU291cmNlTWFu YWdlci4KKworUmF0aGVyIHRoYW4gd2lyZSBhIGdsb2JhbCBBU1RDb250ZXh0LCByZWltcGxlbWVu dCBQcmludGFibGVTdG10IGFuZAorUHJpbnRTdG10IHRvIGR1cGxpY2F0ZSB0aGUgbW9zdCB0cml2 aWFsIGltcGxlbWVudGF0aW9ucyBub3QgcmVxdWlyaW5nCitBU1RDb250ZXh0LgorCitObyBmdW5j dGlvbmFsIGNoYW5nZS4KKy0tLQorIGl3eXVfYXN0X3V0aWwuY2MgfCA4ICsrKysrKy0tCisgMSBm aWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL2l3eXVfYXN0X3V0aWwuY2MgYi9pd3l1X2FzdF91dGlsLmNjCitpbmRleCBkM2Q0ZGQxZi4u YjE5YTExZmIgMTAwNjQ0CistLS0gYS9pd3l1X2FzdF91dGlsLmNjCisrKysgYi9pd3l1X2FzdF91 dGlsLmNjCitAQCAtMjUsNiArMjUsNyBAQAorICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvQ2FzdGlu Zy5oIgorICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvcmF3X29zdHJlYW0uaCIKKyAjaW5jbHVkZSAi Y2xhbmcvQVNUL0FTVENvbnRleHQuaCIKKysjaW5jbHVkZSAiY2xhbmcvQVNUL0FTVER1bXBlci5o IgorICNpbmNsdWRlICJjbGFuZy9BU1QvQ2Fub25pY2FsVHlwZS5oIgorICNpbmNsdWRlICJjbGFu Zy9BU1QvRGVjbC5oIgorICNpbmNsdWRlICJjbGFuZy9BU1QvRGVjbEJhc2UuaCIKK0BAIC00Niw2 ICs0Nyw3IEBAIG5hbWVzcGFjZSBjbGFuZyB7CisgY2xhc3MgRmlsZUVudHJ5OworIH0gIC8vIG5h bWVzcGFjZSBjbGFuZworIAorK3VzaW5nIGNsYW5nOjpBU1REdW1wZXI7CisgdXNpbmcgY2xhbmc6 OkJsb2NrUG9pbnRlclR5cGU7CisgdXNpbmcgY2xhbmc6OkNYWENvbnN0cnVjdEV4cHI7CisgdXNp bmcgY2xhbmc6OkNYWENvbnN0cnVjdG9yRGVjbDsKK0BAIC00NTAsMTIgKzQ1MiwxNCBAQCBzdHJp bmcgUHJpbnRhYmxlRGVjbChjb25zdCBEZWNsKiBkZWNsLCBib29sIHRlcnNlLyo9dHJ1ZSovKSB7 Cisgc3RyaW5nIFByaW50YWJsZVN0bXQoY29uc3QgU3RtdCogc3RtdCkgeworICAgc3RkOjpzdHJp bmcgYnVmZmVyOworICAgcmF3X3N0cmluZ19vc3RyZWFtIG9zdHJlYW0oYnVmZmVyKTsKKy0gIHN0 bXQtPmR1bXAob3N0cmVhbSwgKkdsb2JhbFNvdXJjZU1hbmFnZXIoKSk7CisrICBBU1REdW1wZXIg ZHVtcGVyKG9zdHJlYW0sIC8qU2hvd0NvbG9ycz0qL2ZhbHNlKTsKKysgIGR1bXBlci5WaXNpdChz dG10KTsKKyAgIHJldHVybiBvc3RyZWFtLnN0cigpOworIH0KKyAKKyB2b2lkIFByaW50U3RtdChj b25zdCBTdG10KiBzdG10KSB7CistICBzdG10LT5kdW1wKCpHbG9iYWxTb3VyY2VNYW5hZ2VyKCkp OyAgLy8gVGhpcyBwcmludHMgdG8gZXJycygpLgorKyAgQVNURHVtcGVyIGR1bXBlcihsbHZtOjpl cnJzKCksIC8qU2hvd0NvbG9ycz0qL2ZhbHNlKTsKKysgIGR1bXBlci5WaXNpdChzdG10KTsKKyB9 CisgCisgc3RyaW5nIFByaW50YWJsZVR5cGUoY29uc3QgVHlwZSogdHlwZSkgewpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9pbmNsdWRlLXdoYXQteW91LXVzZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvaW5jbHVk ZS13aGF0LXlvdS11c2UvdGVtcGxhdGUKaW5kZXggMjJjOWQwOWQwOTEuLjM4MTEzMDliZGRlIDEw MDY0NAotLS0gYS9zcmNwa2dzL2luY2x1ZGUtd2hhdC15b3UtdXNlL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvaW5jbHVkZS13aGF0LXlvdS11c2UvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdpbmNsdWRlLXdoYXQteW91LXVzZScKIHBrZ25hbWU9aW5jbHVkZS13 aGF0LXlvdS11c2UKIHZlcnNpb249MC4xNAotcmV2aXNpb249MQorcmV2aXNpb249Mgogd3Jrc3Jj PSIke3BrZ25hbWV9IgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRElXWVVf TExWTV9ST09UX1BBVEg9JHtYQlBTX0NST1NTX0JBU0V9L3VzciAiCkBAIC0xNSw2ICsxNSwxMiBA QCBkaXN0ZmlsZXM9Imh0dHBzOi8vaW5jbHVkZS13aGF0LXlvdS11c2Uub3JnL2Rvd25sb2Fkcy8k e3BrZ25hbWV9LSR7dmVyc2lvbn0uc3JjLgogY2hlY2tzdW09NDMxODQzOTdkYjU3NjYwYzMyZTMy OThhNmIxZmQ1YWI4MmU4MDhhMWY1YWIwNTkxZDY3NDVmOGQyNTYyMDBlZgogcHl0aG9uX3ZlcnNp b249MwogCitwb3N0X2V4dHJhY3QoKSB7CisJZm9yIGkgaW4gJHtGSUxFU0RJUn0vaW5jbHVkZS13 aGF0LXlvdS11c2UtKi5wYXRjaDsgZG8KKwkJcGF0Y2ggLXNOcDEgLWkgJHtpfQorCWRvbmUKK30K KwogcG9zdF9pbnN0YWxsKCkgewogCXZsaWNlbnNlIExJQ0VOU0UuVFhUCiB9CgpGcm9tIDk1MmY0 NjM5ZWY5ZjkyODkxMTFjMzQ0MzdiZGM2NmYzZGNmMDg4OTYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFJvYmluIFZvZXR0ZXIgPHJvYmluQHZvZXR0ZXIubmw+CkRhdGU6IE1vbiwgOSBO b3YgMjAyMCAxNjoxNzo1NCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjEvMjFdIGJwZnRyYWNlOiB1 cGRhdGUgdG8gMC4xMS4yCgotLS0KIC4uLnRyYWNlLTAwMS1zaXgtYXJncy1icGZfYXR0YWNoX3Vw cm9iZS5wYXRjaCB8IDEyNiArKysrKysrKysrKysrKysKIC4uLmFjZS0wMDItc2V2ZW4tYXJncy1i cGZfYXR0YWNoX3Vwcm9iZS5wYXRjaCB8IDE0OCArKysrKysrKysrKysrKysrKysKIHNyY3BrZ3Mv YnBmdHJhY2UvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICAxMCArLQogMyBmaWxlcyBj aGFuZ2VkLCAyODIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2JwZnRyYWNlL2ZpbGVzL2JwZnRyYWNlLTAwMS1zaXgtYXJncy1icGZfYXR0 YWNoX3Vwcm9iZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvYnBmdHJhY2UvZmls ZXMvYnBmdHJhY2UtMDAyLXNldmVuLWFyZ3MtYnBmX2F0dGFjaF91cHJvYmUucGF0Y2gKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2JwZnRyYWNlL2ZpbGVzL2JwZnRyYWNlLTAwMS1zaXgtYXJncy1icGZf YXR0YWNoX3Vwcm9iZS5wYXRjaCBiL3NyY3BrZ3MvYnBmdHJhY2UvZmlsZXMvYnBmdHJhY2UtMDAx LXNpeC1hcmdzLWJwZl9hdHRhY2hfdXByb2JlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi5lMmIxYWQxMzUxYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv YnBmdHJhY2UvZmlsZXMvYnBmdHJhY2UtMDAxLXNpeC1hcmdzLWJwZl9hdHRhY2hfdXByb2JlLnBh dGNoCkBAIC0wLDAgKzEsMTI2IEBACitGcm9tIDUyZmI3OTNjNjQyM2MxOTY5NmUwN2NjMTRhZDVm OTE4MmY3ZWNhMGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBWaWt0b3IgTWFsaWsg PHZpa3Rvci5tYWxpa0BnbWFpbC5jb20+CitEYXRlOiBXZWQsIDEyIEF1ZyAyMDIwIDA5OjQ1OjI5 ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZlYXR1cmUtZGV0ZWN0IGJwZl9hdHRhY2hfa3Byb2Jl IHNpZ25hdHVyZQorCitUaGUgZnVuY3Rpb24gaGFzIDYgcGFyYW1ldGVycyBpbiBjdXJyZW50IHZl cnNpb25zIG9mIEJDQyBhbmQgNQorcGFyYW1ldGVycyBpbiBvbGRlciB2ZXJzaW9ucy4KKworVGhp cyBpcyBkZXRlY3RlZCBpbiBDTWFrZSB1c2luZyBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTLiBG b3Igc3RhdGljCitjb21waWxhdGlvbiwgd2UgYWxzbyBuZWVkIHRvIHJldHJpZXZlIGFuZCBsaW5r IHN0YXRpYyBsaWJicGYsIGxpYmVsZiwKK2FuZCBsaWJ6LiBUaGlzIG1heSBjYXVzZSBsaWJicGYs IGxpYmVsZiBhbmQgbGlieiB0byBiZSBzZWFyY2hlZCBmb3IKK3R3aWNlLCBidXQgaXQgc2hvdWxk IGJlIGZpbmUgc2luY2UgQ01ha2UgY2FjaGVzIHJlc3VsdHMuCisKK0ZpeGVzIGlvdmlzb3IjMTAy Ny4KKy0tLQorIGNtYWtlL0ZpbmRMaWJCY2MuY21ha2UgfCAyNCArKysrKysrKysrKysrKysrKysr KysrKysKKyBzcmMvQ01ha2VMaXN0cy50eHQgICAgIHwgIDMgKysrCisgc3JjL2F0dGFjaGVkX3By b2JlLmNwcCB8IDMxICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KKyB0ZXN0cy9DTWFr ZUxpc3RzLnR4dCAgIHwgIDMgKysrCisgNCBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCsp LCAxNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NtYWtlL0ZpbmRMaWJCY2MuY21ha2Ug Yi9jbWFrZS9GaW5kTGliQmNjLmNtYWtlCitpbmRleCA5ZDMwYjA0YmMuLmVjMjE2MjcxZCAxMDA2 NDQKKy0tLSBhL2NtYWtlL0ZpbmRMaWJCY2MuY21ha2UKKysrKyBiL2NtYWtlL0ZpbmRMaWJCY2Mu Y21ha2UKK0BAIC03MCwzICs3MCwyNyBAQCBpbmNsdWRlIChGaW5kUGFja2FnZUhhbmRsZVN0YW5k YXJkQXJncykKKyBGSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoTGliQmNjICJQbGVh c2UgaW5zdGFsbCB0aGUgYmNjIGxpYnJhcnkgcGFja2FnZSwgd2hpY2ggaXMgcmVxdWlyZWQuIERl cGVuZGluZyBvbiB5b3VyIGRpc3RybywgaXQgbWF5IGJlIGNhbGxlZCBicGZjY2xpYiBvciBiY2Ns aWIgKFVidW50dSksIGJjYy1kZXZlbCAoRmVkb3JhKSwgb3Igc29tZXRoaW5nIGVsc2UuIElmIHVu YXZhaWxhYmxlLCBpbnN0YWxsIGJjYyBmcm9tIHNvdXJjZSAoZ2l0aHViLmNvbS9pb3Zpc29yL2Jj YykuIgorICAgTElCQkNDX0xJQlJBUklFUworICAgTElCQkNDX0lOQ0xVREVfRElSUykKKysKKysj IENoZWNrIGJwZl9hdHRhY2hfa3Byb2JlIHNpZ25hdHVyZQorK2lmKCR7TElCQkNDX0ZPVU5EfSkK KytpZihTVEFUSUNfTElOS0lORykKKysgICMgbGliYmNjLmEgaXMgbm90IHN0YXRpY2FsbHkgbGlu a2VkIHdpdGggbGliYnBmLmEsIGxpYmVsZi5hLCBhbmQgbGliei5hLgorKyAgIyBJZiB3ZSBkbyBh IHN0YXRpYyBicGZ0cmFjZSBidWlsZCwgd2UgbXVzdCBsaW5rIHRoZW0gaW4uCisrICBmaW5kX3Bh Y2thZ2UoTGliQnBmKQorKyAgZmluZF9wYWNrYWdlKExpYkVsZikKKysgIGZpbmRfcGFja2FnZShM aWJaKQorKyAgU0VUKENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAke0xJQkJDQ19CUEZfTElCUkFS WV9TVEFUSUN9ICR7TElCQlBGX0xJQlJBUklFU30gJHtMSUJFTEZfTElCUkFSSUVTfSAke0xJQlpf TElCUkFSSUVTfSkKKytlbHNlKCkKKysgIFNFVChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgJHtM SUJCQ0NfTElCUkFSSUVTfSkKKytlbmRpZigpCisrSU5DTFVERShDaGVja0NYWFNvdXJjZUNvbXBp bGVzKQorK0NIRUNLX0NYWF9TT1VSQ0VfQ09NUElMRVMoIgorKyNpbmNsdWRlIDxiY2MvbGliYnBm Lmg+CisrCisraW50IG1haW4odm9pZCkgeworKyAgYnBmX2F0dGFjaF9rcHJvYmUoMCwgQlBGX1BS T0JFX0VOVFJZLCBcIlwiLCBcIlwiLCAwLCAwKTsKKysgIHJldHVybiAwOworK30KKysiIExJQkJD Q19BVFRBQ0hfS1BST0JFX1NJWF9BUkdTX1NJR05BVFVSRSkKKytTRVQoQ01BS0VfUkVRVUlSRURf TElCUkFSSUVTKQorK2VuZGlmKCkKK2RpZmYgLS1naXQgYS9zcmMvQ01ha2VMaXN0cy50eHQgYi9z cmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDY0N2EyM2YxYy4uNDQ4YTA0NWZjIDEwMDY0NAorLS0t IGEvc3JjL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC04MCw2 ICs4MCw5IEBAIGlmKEhBVkVfQkZEX0RJU0FTTSkKKyAgICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVz KGJwZnRyYWNlICR7TElCT1BDT0RFU19MSUJSQVJJRVN9KQorICAgZW5kaWYoU1RBVElDX0xJTktJ TkcpCisgZW5kaWYoSEFWRV9CRkRfRElTQVNNKQorK2lmKExJQkJDQ19BVFRBQ0hfS1BST0JFX1NJ WF9BUkdTX1NJR05BVFVSRSkKKysgIHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKGJwZnRyYWNl IFBSSVZBVEUgTElCQkNDX0FUVEFDSF9LUFJPQkVfU0lYX0FSR1NfU0lHTkFUVVJFKQorK2VuZGlm KExJQkJDQ19BVFRBQ0hfS1BST0JFX1NJWF9BUkdTX1NJR05BVFVSRSkKKyAKKyBpZiAoQUxMT1df VU5TQUZFX1BST0JFKQorICAgdGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMoYnBmdHJhY2UgUFJJ VkFURSBIQVZFX1VOU0FGRV9QUk9CRSkKK2RpZmYgLS1naXQgYS9zcmMvYXR0YWNoZWRfcHJvYmUu Y3BwIGIvc3JjL2F0dGFjaGVkX3Byb2JlLmNwcAoraW5kZXggNTg3YTExNTc2Li5hZmFkOWVkMTgg MTAwNjQ0CistLS0gYS9zcmMvYXR0YWNoZWRfcHJvYmUuY3BwCisrKysgYi9zcmMvYXR0YWNoZWRf cHJvYmUuY3BwCitAQCAtNzU0LDI2ICs3NTQsMjMgQEAgdm9pZCBBdHRhY2hlZFByb2JlOjpsb2Fk X3Byb2coKQorICAgfQorIH0KKyAKKy0vLyBYWFgobW1hcmNoaW5pKTogYmNjIGNoYW5nZWQgdGhl IHNpZ25hdHVyZSBvZiBicGZfYXR0YWNoX2twcm9iZSwgYWRkaW5nIGEgbmV3CistLy8gaW50IHBh cmFtZXRlciBhdCB0aGUgZW5kLiBTaW5jZSB0aGVyZSdzIG5vIHJlbGlhYmxlIHdheSB0byBmZWF0 dXJlLWRldGVjdAorLS8vIHRoaXMsIHdlIGNyZWF0ZSBhIGZ1bmN0aW9uIHBvaW50ZXIgd2l0aCB0 aGUgbG9uZyBzaWduYXR1cmUgYW5kIGNhc3QKKy0vLyBicGZfYXR0YWNoX2twcm9iZSB0byB0aGlz IGZ1bmN0aW9uIHBvaW50ZXIuIElmIHdlJ3JlIG9uIGFuIG9sZGVyIGJjYworLS8vIHZlcnNpb24s IGJwZl9hdHRhY2hfa3Byb2JlIGNhbGwgd2lsbCBiZSBhdWdtZW50ZWQgd2l0aCBhbiBleHRyYSBy ZWdpc3RlcgorLS8vIGJlaW5nIHVzZWQgZm9yIHRoZSBsYXN0IHBhcmFtZXRlciwgZXZlbiB0aG91 Z2ggdGhpcyByZWdpc3RlciB3b24ndCBiZSB1c2VkCistLy8gaW5zaWRlIHRoZSBmdW5jdGlvbi4g U2luY2UgdGhlIHJlZ2lzdGVyIHdvbid0IGJlIHVzZWQgdGhpcyBpcyBraW5kYSBzYWZlLAorLS8v IGFsdGhvdWdoIG5vdCBpZGVhbC4KKy10eXBlZGVmIGludCAoKmF0dGFjaF9wcm9iZV93cmFwcGVy X3NpZ25hdHVyZSkoaW50LCBlbnVtIGJwZl9wcm9iZV9hdHRhY2hfdHlwZSwgY29uc3QgY2hhcios IGNvbnN0IGNoYXIqLCB1aW50NjRfdCwgaW50KTsKKy0KKyB2b2lkIEF0dGFjaGVkUHJvYmU6OmF0 dGFjaF9rcHJvYmUoYm9vbCBzYWZlX21vZGUpCisgeworICAgcmVzb2x2ZV9vZmZzZXRfa3Byb2Jl KHNhZmVfbW9kZSk7CistICBpbnQgcGVyZl9ldmVudF9mZCA9IGNhc3Rfc2lnbmF0dXJlPGF0dGFj aF9wcm9iZV93cmFwcGVyX3NpZ25hdHVyZT4oCistICAgICAgJmJwZl9hdHRhY2hfa3Byb2JlKShw cm9nZmRfLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNodHlwZShwcm9iZV8udHlw ZSksCistICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudG5hbWUoKS5jX3N0cigpLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgcHJvYmVfLmF0dGFjaF9wb2ludC5jX3N0cigpLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0XywKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgIDApOworKyNpZmRlZiBMSUJCQ0NfQVRUQUNIX0tQUk9CRV9TSVhfQVJHU19TSUdOQVRVUkUK KysgIGludCBwZXJmX2V2ZW50X2ZkID0gYnBmX2F0dGFjaF9rcHJvYmUocHJvZ2ZkXywKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNodHlwZShwcm9iZV8udHlw ZSksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50bmFtZSgp LmNfc3RyKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Jl Xy5hdHRhY2hfcG9pbnQuY19zdHIoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb2Zmc2V0XywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMCk7CisrI2Vsc2UKKysgIGludCBwZXJmX2V2ZW50X2ZkID0gYnBmX2F0dGFjaF9rcHJvYmUo cHJvZ2ZkXywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNo dHlwZShwcm9iZV8udHlwZSksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGV2ZW50bmFtZSgpLmNfc3RyKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHByb2JlXy5hdHRhY2hfcG9pbnQuY19zdHIoKSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Xyk7CisrI2VuZGlmCisgCisgICBpZiAocGVy Zl9ldmVudF9mZCA8IDApIHsKKyAgICAgaWYgKHByb2JlXy5vcmlnX25hbWUgIT0gcHJvYmVfLm5h bWUpIHsKK2RpZmYgLS1naXQgYS90ZXN0cy9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL0NNYWtlTGlz dHMudHh0CitpbmRleCAzNjg4Yjg0ODcuLjg0ZGFlYjJhYSAxMDA2NDQKKy0tLSBhL3Rlc3RzL0NN YWtlTGlzdHMudHh0CisrKysgYi90ZXN0cy9DTWFrZUxpc3RzLnR4dAorQEAgLTEwMiw2ICsxMDIs OSBAQCBpZihIQVZFX0JGRF9ESVNBU00pCisgICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhicGZ0 cmFjZV90ZXN0ICR7TElCT1BDT0RFU19MSUJSQVJJRVN9KQorICAgZW5kaWYoU1RBVElDX0xJTktJ TkcpCisgZW5kaWYoSEFWRV9CRkRfRElTQVNNKQorK2lmKExJQkJDQ19BVFRBQ0hfS1BST0JFX1NJ WF9BUkdTX1NJR05BVFVSRSkKKysgIHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKGJwZnRyYWNl X3Rlc3QgUFJJVkFURSBMSUJCQ0NfQVRUQUNIX0tQUk9CRV9TSVhfQVJHU19TSUdOQVRVUkUpCisr ZW5kaWYoTElCQkNDX0FUVEFDSF9LUFJPQkVfU0lYX0FSR1NfU0lHTkFUVVJFKQorIAorIHRhcmdl dF9saW5rX2xpYnJhcmllcyhicGZ0cmFjZV90ZXN0IGFyY2ggYXN0IHBhcnNlciByZXNvdXJjZXMp CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2JwZnRyYWNlL2ZpbGVzL2JwZnRyYWNlLTAwMi1zZXZl bi1hcmdzLWJwZl9hdHRhY2hfdXByb2JlLnBhdGNoIGIvc3JjcGtncy9icGZ0cmFjZS9maWxlcy9i cGZ0cmFjZS0wMDItc2V2ZW4tYXJncy1icGZfYXR0YWNoX3Vwcm9iZS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmNjNTVjODY1NTUKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2JwZnRyYWNlL2ZpbGVzL2JwZnRyYWNlLTAwMi1zZXZlbi1hcmdzLWJwZl9h dHRhY2hfdXByb2JlLnBhdGNoCkBAIC0wLDAgKzEsMTQ4IEBACitGcm9tIGM3ZGJhYjQ1MTQ4NGI5 NjE3OGRhMWE4YzQzMzMwMTU0Y2U0YzlkN2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBEYW5pZWwgWHUgPGR4dUBkeHV1dS54eXo+CitEYXRlOiBXZWQsIDE0IE9jdCAyMDIwIDE3OjA5 OjQ2IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIERldGVjdCA3IGFyZyBicGZfYXR0YWNoX3Vwcm9i ZSgpIEFQSQorCitUaGUgN3RoIGFyZyBhbGxvd3MgdXMgdG8gc3BlY2lmeSB0aGUgdXNkdCBzZW1h cGhvcmUgbG9jYXRpb24uCistLS0KKyBjbWFrZS9GaW5kTGliQmNjLmNtYWtlIHwgMTEgKysrKysr KysrKysKKyBzcmMvQ01ha2VMaXN0cy50eHQgICAgIHwgIDMgKysrCisgc3JjL2F0dGFjaGVkX3By b2JlLmNwcCB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQor IHNyYy9tYWluLmNwcCAgICAgICAgICAgfCAgNiArKysrKysKKyB0ZXN0cy9DTWFrZUxpc3RzLnR4 dCAgIHwgIDMgKysrCisgNSBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCA4IGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY21ha2UvRmluZExpYkJjYy5jbWFrZSBiL2NtYWtlL0Zp bmRMaWJCY2MuY21ha2UKK2luZGV4IDRjMDlhOGNhMi4uOTJjZWRhYjVlIDEwMDY0NAorLS0tIGEv Y21ha2UvRmluZExpYkJjYy5jbWFrZQorKysrIGIvY21ha2UvRmluZExpYkJjYy5jbWFrZQorQEAg LTcsNiArNyw4IEBACisgIyAgTElCQkNDX0RFRklOSVRJT05TIC0gQ29tcGlsZXIgc3dpdGNoZXMg cmVxdWlyZWQgZm9yIHVzaW5nIGxpYmJjYworICMgIExJQkJDQ19CUEZfTElCUkFSWV9TVEFUSUMg LSBsaWJicGYgc3RhdGljIGxpYnJhcnkgKGZvciBzdGF0aWMgY29tcGlsYXRpb24pCisgIyAgTElC QkNDX0xPQURFUl9MSUJSQVJZX1NUQVRJQyAtIGxpYmJjYyBoZWxwZXIgc3RhdGljIGxpYnJhcnkg KGZvciBzdGF0aWMgY29tcGlsYXRpb24pCisrIyAgTElCQkNDX0FUVEFDSF9LUFJPQkVfU0lYX0FS R1NfU0lHTkFUVVJFCisrIyAgTElCQkNDX0FUVEFDSF9VUFJPQkVfU0VWRU5fQVJHU19TSUdOQVRV UkUKKyAjCisgIyBOb3RlIHRoYXQgdGhlIHNoYXJlZCBsaWJiY2MgYmluYXJ5IGhhcyBsaWJicGYg YW5kIGJjY19sb2FkZXIgYWxyZWFkeSBjb21waWxlZCBpbiBidXQKKyAjIHRoZSBzdGF0aWMgZG9l c24ndC4gU28gd2hlbiBjcmVhdGluZyBhIHN0YXRpYyBidWlsZCB0aG9zZSBoYXZlIHRvIGJlIGlu Y2x1ZGVkIHRvby4KK0BAIC05NCw2ICs5NiwxNSBAQCBpbnQgbWFpbih2b2lkKSB7CisgICByZXR1 cm4gMDsKKyB9CisgIiBMSUJCQ0NfQVRUQUNIX0tQUk9CRV9TSVhfQVJHU19TSUdOQVRVUkUpCisr CisrQ0hFQ0tfQ1hYX1NPVVJDRV9DT01QSUxFUygiCisrI2luY2x1ZGUgPGJjYy9saWJicGYuaD4K KysKKytpbnQgbWFpbih2b2lkKSB7CisrICBicGZfYXR0YWNoX3Vwcm9iZSgwLCBCUEZfUFJPQkVf RU5UUlksIFwiXCIsIFwiXCIsIDAsIDAsIDApOworKyAgcmV0dXJuIDA7CisrfQorKyIgTElCQkND X0FUVEFDSF9VUFJPQkVfU0VWRU5fQVJHU19TSUdOQVRVUkUpCisgU0VUKENNQUtFX1JFUVVJUkVE X0xJQlJBUklFUykKKyBTRVQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMpCisgZW5kaWYoKQorZGlm ZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9DTWFrZUxpc3RzLnR4dAoraW5kZXgg OTE2MjM1NmUzLi5jZWY5NGQxNDQgMTAwNjQ0CistLS0gYS9zcmMvQ01ha2VMaXN0cy50eHQKKysr KyBiL3NyYy9DTWFrZUxpc3RzLnR4dAorQEAgLTg4LDYgKzg4LDkgQEAgZW5kaWYoSEFWRV9CRkRf RElTQVNNKQorIGlmKExJQkJDQ19BVFRBQ0hfS1BST0JFX1NJWF9BUkdTX1NJR05BVFVSRSkKKyAg IHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKGJwZnRyYWNlIFBSSVZBVEUgTElCQkNDX0FUVEFD SF9LUFJPQkVfU0lYX0FSR1NfU0lHTkFUVVJFKQorIGVuZGlmKExJQkJDQ19BVFRBQ0hfS1BST0JF X1NJWF9BUkdTX1NJR05BVFVSRSkKKytpZihMSUJCQ0NfQVRUQUNIX1VQUk9CRV9TRVZFTl9BUkdT X1NJR05BVFVSRSkKKysgIHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKGJwZnRyYWNlIFBSSVZB VEUgTElCQkNDX0FUVEFDSF9VUFJPQkVfU0VWRU5fQVJHU19TSUdOQVRVUkUpCisrZW5kaWYoTElC QkNDX0FUVEFDSF9VUFJPQkVfU0VWRU5fQVJHU19TSUdOQVRVUkUpCisgCisgaWYgKEFMTE9XX1VO U0FGRV9QUk9CRSkKKyAgIHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKGJwZnRyYWNlIFBSSVZB VEUgSEFWRV9VTlNBRkVfUFJPQkUpCitkaWZmIC0tZ2l0IGEvc3JjL2F0dGFjaGVkX3Byb2JlLmNw cCBiL3NyYy9hdHRhY2hlZF9wcm9iZS5jcHAKK2luZGV4IDkzZmJmYTg3Ni4uYTVkOGJjNTZkIDEw MDY0NAorLS0tIGEvc3JjL2F0dGFjaGVkX3Byb2JlLmNwcAorKysrIGIvc3JjL2F0dGFjaGVkX3By b2JlLmNwcAorQEAgLTY5OCwxMiArNjk4LDIzIEBAIHZvaWQgQXR0YWNoZWRQcm9iZTo6YXR0YWNo X3Vwcm9iZShib29sIHNhZmVfbW9kZSkKKyB7CisgICByZXNvbHZlX29mZnNldF91cHJvYmUoc2Fm ZV9tb2RlKTsKKyAKKy0gIGludCBwZXJmX2V2ZW50X2ZkID0gYnBmX2F0dGFjaF91cHJvYmUocHJv Z2ZkXywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNodHlw ZShwcm9iZV8udHlwZSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGV2ZW50bmFtZSgpLmNfc3RyKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHByb2JlXy5wYXRoLmNfc3RyKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG9mZnNldF8sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHByb2JlXy5waWQpOworKyAgaW50IHBlcmZfZXZlbnRfZmQgPQorKyNpZmRlZiBMSUJC Q0NfQVRUQUNIX1VQUk9CRV9TRVZFTl9BUkdTX1NJR05BVFVSRQorKyAgICAgIGJwZl9hdHRhY2hf dXByb2JlKHByb2dmZF8sCisrICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNodHlwZShwcm9i ZV8udHlwZSksCisrICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRuYW1lKCkuY19zdHIoKSwK KysgICAgICAgICAgICAgICAgICAgICAgICBwcm9iZV8ucGF0aC5jX3N0cigpLAorKyAgICAgICAg ICAgICAgICAgICAgICAgIG9mZnNldF8sCisrICAgICAgICAgICAgICAgICAgICAgICAgcHJvYmVf LnBpZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAwKTsKKysjZWxzZQorKyAgICAgIGJwZl9h dHRhY2hfdXByb2JlKHByb2dmZF8sCisrICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNodHlw ZShwcm9iZV8udHlwZSksCisrICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRuYW1lKCkuY19z dHIoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICBwcm9iZV8ucGF0aC5jX3N0cigpLAorKyAg ICAgICAgICAgICAgICAgICAgICAgIG9mZnNldF8sCisrICAgICAgICAgICAgICAgICAgICAgICAg cHJvYmVfLnBpZCk7CisrI2VuZGlmIC8vIExJQkJDQ19BVFRBQ0hfVVBST0JFX1NFVkVOX0FSR1Nf U0lHTkFUVVJFCisgCisgICBpZiAocGVyZl9ldmVudF9mZCA8IDApCisgICAgIHRocm93IHN0ZDo6 cnVudGltZV9lcnJvcigiRXJyb3IgYXR0YWNoaW5nIHByb2JlOiAiICsgcHJvYmVfLm5hbWUpOwor QEAgLTgxMiw4ICs4MjMsMjMgQEAgdm9pZCBBdHRhY2hlZFByb2JlOjphdHRhY2hfdXNkdChpbnQg cGlkKQorIAorICAgb2Zmc2V0XyA9IHJlc29sdmVfb2Zmc2V0KHByb2JlXy5wYXRoLCBwcm9iZV8u YXR0YWNoX3BvaW50LCBwcm9iZV8ubG9jKTsKKyAKKy0gIGludCBwZXJmX2V2ZW50X2ZkID0gYnBm X2F0dGFjaF91cHJvYmUocHJvZ2ZkXywgYXR0YWNodHlwZShwcm9iZV8udHlwZSksCistICAgICAg ZXZlbnRuYW1lKCkuY19zdHIoKSwgcHJvYmVfLnBhdGguY19zdHIoKSwgb2Zmc2V0XywgcGlkID09 IDAgPyAtMSA6IHBpZCk7CisrICBpbnQgcGVyZl9ldmVudF9mZCA9CisrI2lmZGVmIExJQkJDQ19B VFRBQ0hfVVBST0JFX1NFVkVOX0FSR1NfU0lHTkFUVVJFCisrICAgICAgYnBmX2F0dGFjaF91cHJv YmUocHJvZ2ZkXywKKysgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2h0eXBlKHByb2JlXy50 eXBlKSwKKysgICAgICAgICAgICAgICAgICAgICAgICBldmVudG5hbWUoKS5jX3N0cigpLAorKyAg ICAgICAgICAgICAgICAgICAgICAgIHByb2JlXy5wYXRoLmNfc3RyKCksCisrICAgICAgICAgICAg ICAgICAgICAgICAgb2Zmc2V0XywKKysgICAgICAgICAgICAgICAgICAgICAgICBwaWQgPT0gMCA/ IC0xIDogcGlkLAorKyAgICAgICAgICAgICAgICAgICAgICAgIDApOworKyNlbHNlCisrICAgICAg YnBmX2F0dGFjaF91cHJvYmUocHJvZ2ZkXywKKysgICAgICAgICAgICAgICAgICAgICAgICBhdHRh Y2h0eXBlKHByb2JlXy50eXBlKSwKKysgICAgICAgICAgICAgICAgICAgICAgICBldmVudG5hbWUo KS5jX3N0cigpLAorKyAgICAgICAgICAgICAgICAgICAgICAgIHByb2JlXy5wYXRoLmNfc3RyKCks CisrICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0XywKKysgICAgICAgICAgICAgICAgICAg ICAgICBwaWQgPT0gMCA/IC0xIDogcGlkKTsKKysjZW5kaWYgLy8gTElCQkNDX0FUVEFDSF9VUFJP QkVfU0VWRU5fQVJHU19TSUdOQVRVUkUKKyAKKyAgIGlmIChwZXJmX2V2ZW50X2ZkIDwgMCkKKyAg IHsKK2RpZmYgLS1naXQgYS9zcmMvbWFpbi5jcHAgYi9zcmMvbWFpbi5jcHAKK2luZGV4IDQ4ZmNm NWFhMC4uMDlmNGQ5Njc3IDEwMDY0NAorLS0tIGEvc3JjL21haW4uY3BwCisrKysgYi9zcmMvbWFp bi5jcHAKK0BAIC0xNjIsNiArMTYyLDEyIEBAIHN0YXRpYyBpbnQgaW5mbygpCisgICAgICAgICAg ICAgPDwgInllcyIgPDwgc3RkOjplbmRsOworICNlbHNlCisgICAgICAgICAgICAgPDwgIm5vIiA8 PCBzdGQ6OmVuZGw7CisrI2VuZGlmCisrICBzdGQ6OmNlcnIgPDwgIiAgYmNjIGJwZl9hdHRhY2hf dXByb2JlIHJlZmNvdW50OiAiCisrI2lmZGVmIExJQkJDQ19BVFRBQ0hfVVBST0JFX1NFVkVOX0FS R1NfU0lHTkFUVVJFCisrICAgICAgICAgICAgPDwgInllcyIgPDwgc3RkOjplbmRsOworKyNlbHNl CisrICAgICAgICAgICAgPDwgIm5vIiA8PCBzdGQ6OmVuZGw7CisgI2VuZGlmCisgICBzdGQ6OmNl cnIgPDwgIiAgbGliYnBmOiAiCisgI2lmZGVmIEhBVkVfTElCQlBGCitkaWZmIC0tZ2l0IGEvdGVz dHMvQ01ha2VMaXN0cy50eHQgYi90ZXN0cy9DTWFrZUxpc3RzLnR4dAoraW5kZXggYWNlNWZmMTA2 Li4zMzJlYmEyYjUgMTAwNjQ0CistLS0gYS90ZXN0cy9DTWFrZUxpc3RzLnR4dAorKysrIGIvdGVz dHMvQ01ha2VMaXN0cy50eHQKK0BAIC0xMTYsNiArMTE2LDkgQEAgZW5kaWYoSEFWRV9CRkRfRElT QVNNKQorIGlmKExJQkJDQ19BVFRBQ0hfS1BST0JFX1NJWF9BUkdTX1NJR05BVFVSRSkKKyAgIHRh cmdldF9jb21waWxlX2RlZmluaXRpb25zKGJwZnRyYWNlX3Rlc3QgUFJJVkFURSBMSUJCQ0NfQVRU QUNIX0tQUk9CRV9TSVhfQVJHU19TSUdOQVRVUkUpCisgZW5kaWYoTElCQkNDX0FUVEFDSF9LUFJP QkVfU0lYX0FSR1NfU0lHTkFUVVJFKQorK2lmKExJQkJDQ19BVFRBQ0hfVVBST0JFX1NFVkVOX0FS R1NfU0lHTkFUVVJFKQorKyAgdGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMoYnBmdHJhY2VfdGVz dCBQUklWQVRFIExJQkJDQ19BVFRBQ0hfVVBST0JFX1NFVkVOX0FSR1NfU0lHTkFUVVJFKQorK2Vu ZGlmKExJQkJDQ19BVFRBQ0hfVVBST0JFX1NFVkVOX0FSR1NfU0lHTkFUVVJFKQorIAorIHRhcmdl dF9saW5rX2xpYnJhcmllcyhicGZ0cmFjZV90ZXN0IGFyY2ggYXN0IHBhcnNlciByZXNvdXJjZXMp CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2JwZnRyYWNlL3RlbXBsYXRlIGIvc3JjcGtncy9icGZ0 cmFjZS90ZW1wbGF0ZQppbmRleCBkODM2N2ZhNWMwMy4uNDRlNmMxNzQxMDcgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvYnBmdHJhY2UvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9icGZ0cmFjZS90ZW1wbGF0 ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2JwZnRyYWNlJwogcGtnbmFt ZT1icGZ0cmFjZQotdmVyc2lvbj0wLjExLjEKK3ZlcnNpb249MC4xMS4yCiByZXZpc2lvbj0xCiBh cmNocz0ieDg2XzY0KiBhYXJjaDY0KiBwcGM2NCoiCiBidWlsZF9zdHlsZT1jbWFrZQpAQCAtMTIs NyArMTIsMTMgQEAgbWFpbnRhaW5lcj0iTGVhaCBOZXVraXJjaGVuIDxsZWFoQHZ1eHUub3JnPiIK IGxpY2Vuc2U9IkFwYWNoZS0yLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL2lvdmlz b3IvYnBmdHJhY2UvIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vaW92aXNvci9icGZ0 cmFjZS9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTk4ZWZjOTM5NjQ1MWJj MWE0ZjczMzc4Y2VjNDc1NWUwN2U3NzE4Y2I1ZDY5ODQ3MjYwNmY1ZmZjMmI5ZTQ4ZTgKK2NoZWNr c3VtPTFmMGZjMzAwNzM1NDdlM2IyODVlMWEzNzNhYTQ2OWJiMThkM2JhMjdmOGMwNWY5MTAxNmRm MGNhODRmNzdmOTAKKworcG9zdF9leHRyYWN0KCkgeworCWZvciBpIGluICR7RklMRVNESVJ9L2Jw ZnRyYWNlLSoucGF0Y2g7IGRvCisJCXBhdGNoIC1zTnAxIC1pICR7aX0KKwlkb25lCit9CiAKIHBv c3RfaW5zdGFsbCgpIHsKIAkjIGNsYXNoZXMgd2l0aCBiY2MtdG9vbHMK --===============4881999164796061590==--