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, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 5542 invoked from network); 9 Aug 2022 16:37:40 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 9 Aug 2022 16:37:40 -0000 Content-Type: multipart/mixed; boundary="===============4224944430764028322==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_Calibre=3A_update_to_6=2E2=2E1?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 09 Aug 2022 18:37:40 +0200 List-Id: Message-ID: <20220809163740.x6R7Tpq8RlyvOvV6PWeE-HkvYOfZqOOzXVg3xqVe-Gw@z> GitHub notification mails are now in MIME to allow UTF8. --===============4224944430764028322== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2duIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9zZ24vdm9p ZC1wYWNrYWdlcyBjYWxpYnJlCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC8zODUzNQoKQ2FsaWJyZTogdXBkYXRlIHRvIDYuMi4xCjwhLS0gVW5jb21tZW50 IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3aGljaCBhcmUgbm90IGFwcGxp Y2FibGUgLS0+DQoNCltjaSBza2lwXSBAc2ttcHogDQpEZXBlbmRzIG9uIGh0dHBzOi8vZ2l0aHVi LmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zODUwOQ0KDQojIyMjIFRlc3Rpbmcg dGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5 KioNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1z IHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1l bnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBs aWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBh cyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFu ZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxl YXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBu b3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0NCiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJ IGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gt TElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMg KGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0g YXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczov L2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzg1MzUucGF0Y2ggaXMg YXR0YWNoZWQ= --===============4224944430764028322== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-calibre-38535.patch" RnJvbSBlODg4MmFhYTQyMWY2NmZjMWU5MjE2MWRmZGE0MDIyZjg5MjY1YTM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9u LCA4IEF1ZyAyMDIyIDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwMS8zM10gcXQ2LWJh c2U6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2xpYmF0 b21pYy5wYXRjaCB8IDE0IC0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRl ICAgICAgICAgICAgICAgIHwgMTYgKysrKysrKysrKy0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAx MCBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni1iYXNlL3BhdGNoZXMvbGliYXRvbWljLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtYmFzZS9wYXRjaGVzL2xpYmF0b21pYy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0 Y2hlcy9saWJhdG9taWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmN2E4 MDc1MThlNC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9saWJh dG9taWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1JbmRleDogY21ha2Uv RmluZFdyYXBBdG9taWMuY21ha2UKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhL2NtYWtlL0ZpbmRXcmFwQXRv bWljLmNtYWtlCi0rKysgYi9jbWFrZS9GaW5kV3JhcEF0b21pYy5jbWFrZQotQEAgLTM4LDcgKzM4 LDggQEAgZW5kaWYoKQotIAotIGFkZF9saWJyYXJ5KFdyYXBBdG9taWM6OldyYXBBdG9taWMgSU5U RVJGQUNFIElNUE9SVEVEKQotIGlmKEhBVkVfU1REQVRPTUlDX1dJVEhfTElCKQotLSAgICB0YXJn ZXRfbGlua19saWJyYXJpZXMoV3JhcEF0b21pYzo6V3JhcEF0b21pYyBJTlRFUkZBQ0UgYXRvbWlj KQotKyAgICBmaW5kX2xpYnJhcnkoTElCQVRPTUlDIGF0b21pYyBSRVFVSVJFRCkKLSsgICAgdGFy Z2V0X2xpbmtfbGlicmFyaWVzKFdyYXBBdG9taWM6OldyYXBBdG9taWMgSU5URVJGQUNFICR7TElC QVRPTUlDfSkKLSBlbmRpZigpCi0gCi0gc2V0KFdyYXBBdG9taWNfRk9VTkQgMSkKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRl CmluZGV4IGNjNDdlMThhNzBmZi4uNGU4OGQ2YjlmMTc0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0 Ni1iYXNlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtYmFzZScKIHBrZ25hbWU9cXQ2LWJhc2UK LXZlcnNpb249Ni4zLjAKLXJldmlzaW9uPTIKK3ZlcnNpb249Ni4zLjEKK3JldmlzaW9uPTEKIHdy a3NyYz0icXRiYXNlLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFr ZQogY29uZmlndXJlX2FyZ3M9Ii1ESU5TVEFMTF9EQVRBRElSPXNoYXJlL3F0NgpAQCAtOSw2ICs5 LDggQEAgY29uZmlndXJlX2FyZ3M9Ii1ESU5TVEFMTF9EQVRBRElSPXNoYXJlL3F0NgogIC1ESU5T VEFMTF9CSU5ESVI9bGliL3F0Ni9iaW4KICAtRElOU1RBTExfTUtTUEVDU0RJUj1saWIvcXQ2L21r c3BlY3MKICAtRElOU1RBTExfSU5DTFVERURJUj1pbmNsdWRlL3F0NgorIC1ESU5TVEFMTF9FWEFN UExFU0RJUj1saWIvcXQ2L2V4YW1wbGVzCisgLURJTlNUQUxMX1RFU1RTRElSPWxpYi9xdDYvdGVz dHMKICAtRElOU1RBTExfU1lTQ09ORkRJUj0vZXRjL3hkZwogIC1EUVRfRkVBVFVSRV9vcGVuc3Ns X2xpbmtlZD1PTgogIC1EUVRfRkVBVFVSRV9zeXN0ZW1fc3FsaXRlPU9OCkBAIC0yOSwxNCArMzEs MTMgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQ TC0zLjAtb25seSBXSVRIIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwt Mi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgogZGlzdGZpbGVzPSJo dHRwczovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0v JHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0YmFzZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRh ci54eiIKLWNoZWNrc3VtPWI4NjVhYWU0MzM1N2Y3OTJiM2IwYTE2Mjg5OWQ5YmY2YTEzOTNhNTVj NGU1ZTRlZGU1MzE2YjE1N2IxYTBmOTkKK2NoZWNrc3VtPTBhNjQ0MjFkOWMyNDY5YzJjNDg0OTBh MDMyYWI5MWQ1NDcwMTdjOWNjMTcxZjNmODA3MGJjMzE4ODhmMjRlMDMKIHB5dGhvbl92ZXJzaW9u PTMKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJaG9zdG1ha2VkZXBlbmRzKz0iIHF0 Ni1iYXNlLWRldmVsIgogCSMgUXRTZXR1cCBmYWlscyBuYXRpdmUgYnVpbGRzIGlmIHRoaXMgaXMg c2V0Ci0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9IT1NUX1BBVEg9L3VzcgotCSAtRFFUX0JVSUxE X1RPT0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKKwljb25maWd1cmVfYXJncys9Ii1EUVRf QlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgogZmkKIAogIyBJdCBpcyBjdXJy ZW50bHkgZXhwZWN0ZWQgdGhhdCBxdWl0ZSBhIGZldyBwYXRjaGVzIGRvIGZhaWwKQEAgLTIyNSw3 ICsyMjYsNyBAQCBxdDYtcGx1Z2luLXRscy1xY2VydG9ubHlfcGFja2FnZSgpIHsKIHF0Ni1wbHVn aW4tbmV0d29ya2luZm9ybWF0aW9uX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIE5ldHdv cmtpbmZvcm1hdGlvbiBwbHVnaW4iCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlIHVzci9saWIv cXQ2L3BsdWdpbnMvbmV0d29ya2luZm9ybWF0aW9uL2xpYnFuZXR3b3JrbWFuYWdlci5zbworCQl2 bW92ZSB1c3IvbGliL3F0Ni9wbHVnaW5zL25ldHdvcmtpbmZvcm1hdGlvbi8KIAl9CiB9CiAKQEAg LTI0Niw5ICsyNDcsMTIgQEAgcXQ2LWJhc2UtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFs bCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92 ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1 c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouYSIKIAkJdm1vdmUgInVzci9s aWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYv bW9kdWxlcwogCX0KIH0KCkZyb20gMTA1ZWU0OTJiNTQxOWJhYzc2NjNjZTRkOGIyZmZiMzMxYjli OTRlNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9 QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFp bC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowNyArMDcwMApTdWJqZWN0OiBbUEFU Q0ggMDIvMzNdIHF0Ni1jaGFydHM6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYt Y2hhcnRzL3RlbXBsYXRlIHwgOCArKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1jaGFydHMvdGVt cGxhdGUgYi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKaW5kZXggNzljYjhhMjIwNDAxLi5k Mzk0N2JhOTM4ZjMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAncXQ2LWNoYXJ0cycKIHBrZ25hbWU9cXQ2LWNoYXJ0cwotdmVyc2lvbj02LjMu MAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdGNoYXJ0cy1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFU X0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1k ZXZlbCIKIG1ha2VkZXBlbmRzPSJxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBzaG9ydF9kZXNjPSJD cm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gY2hhcnRzIgpAQCAt MTIsNyArMTEsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGlj ZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRjaGFydHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT02NzI3NjJjNWY2NDFjY2M4OGEzMGFlZWRlZmI2M2YwM2MwZjgz NzY0OWIzMzRmNDZlZWE1NzU5MmU4N2UzNmNkCitjaGVja3N1bT1mMzMwY2MyMzI4NzI5MTA0ZDc5 YjIwODg5OTBjZTA4NDBmMmRhODlkOWQ5ODkzNjBkNGMzNTJlNzk3ZDI3Y2Y3CiAKIHF0Ni1jaGFy dHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1f JHtyZXZpc2lvbn0iCkBAIC0yMCw4ICsxOSwxMSBAQCBxdDYtY2hhcnRzLWRldmVsX3BhY2thZ2Uo KSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9s aWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2dj b25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNv IgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVz CiAJfQogfQoKRnJvbSAzNjk2MjM1NTliNDc3ZDRjNDlmODkwZDI3MjI2NGQ3NzZmNTQ4NTY4IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBU cj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4K RGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwMy8z M10gcXQ2LWRlY2xhcmF0aXZlOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3RlbXBsYXRlIHwgMTIgKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUKaW5k ZXggZTBiZDI4ZDllMzgzLi5jZmRjNzRmMjgxZDYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRl CkBAIC0xLDIzICsxLDIyIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtZGVjbGFyYXRpdmUn CiBwa2duYW1lPXF0Ni1kZWNsYXJhdGl2ZQotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQog cmV2aXNpb249MQogd3Jrc3JjPSJxdGRlY2xhcmF0aXZlLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lv bn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9IiAtRFFUX0hPU1RfUEFUSD0v dXNyIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBwZXJsIHBrZy1jb25maWcgd2F5 bGFuZC1kZXZlbAogIHF0Ni1zaGFkZXJ0b29scy1kZXZlbCIKLW1ha2VkZXBlbmRzPSJxdDYtYmFz ZS1kZXZlbCBWdWxrYW4tSGVhZGVycyIKK21ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBWdWxr YW4tSGVhZGVycyBxdDYtc2hhZGVydG9vbHMtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0 Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gRGVjbGFyYXRpdmUiCiBtYWludGFp bmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdp dGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIi CiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxv YWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1 Ym1vZHVsZXMvcXRkZWNsYXJhdGl2ZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPWQyOTRiMDI5ZGMyYjJkNGY2NWRhNTE2ZmRjM2I4MDg4ZDMyNjQzZWI3ZmY3N2Ri MTM1YThiOWNlOTA0Y2FhMzcKK2NoZWNrc3VtPTAzZTc2OTQxMjM4MjBmY2NhMzk3Zjk1Y2UzMTJl MGI3ZjMwMzk0OTNjODc1NGM4MzZkYTA5OGExYTA0MzQ2ZTgKIHJlcGxhY2VzPSJxdDYtcXVpY2tj b250cm9sczI+PTAiCiAKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgotCWNvbmZpZ3VyZV9h cmdzKz0iIC1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgorCWNvbmZp Z3VyZV9hcmdzPSItRFFUX0JVSUxEX1RPT0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKIAlo b3N0bWFrZWRlcGVuZHMrPSIgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogZmkKIApAQCAtNjAsMTEg KzU5LDE0IEBAIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxs KCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3Zl IHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVz ci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvbGliUXQ2UXVpY2tUZXN0LnNvLioi CiAJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFRlc3QKIAkJdm1vdmUgdXNyL2xpYi9xdDYvYmlu L3FtbHRlc3RydW5uZXIKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIv Ki5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gN2FiNDkw YzhhZWU2ZmRkNmUwNzFiNjA5NjY4NWYyZmRlMjhkZTczMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1C NG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAy MiAxNzoxMzowNyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMzNdIHF0Ni1pbWFnZWZvcm1hdHM6 IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtaW1hZ2Vmb3JtYXRzL3RlbXBsYXRl IHwgNSArKy0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUgYi9zcmNw a2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKaW5kZXggZWFjYTk1MjQzYzQ4Li45ZjZkMmZi NjY3NzYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWltYWdlZm9ybWF0cycKIHBrZ25hbWU9cXQ2LWltYWdlZm9y bWF0cwotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJx dGltYWdlZm9ybWF0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21h a2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRz PSJwZXJsIHF0Ni1iYXNlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIgogc2hv cnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIGlt YWdlZm9ybWF0cyIKQEAgLTEyLDQgKzExLDQgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55 bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkxHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQ TC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDov L2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJz aW9ufS9zdWJtb2R1bGVzL3F0aW1hZ2Vmb3JtYXRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0u dGFyLnh6IgotY2hlY2tzdW09MDI1ZDBkMTdlZDc1YjQyYTdlYjZiNTIzNzMxYWI4ZjE3MDI1NDIx YTg4MTBjYWRlMjVjYWZmZTA1ZDkzYWJlZgorY2hlY2tzdW09YWQwMzEyYjhkZmJiYjY3ZjcyOWJm YWRiZmNkNDcyNDZlZTRhMTI4YjcxNzczMWJhMTU4YzQxZDAxZmRlMjEyZgoKRnJvbSBhZDk1MGM1 OTIwMzVmZWYyN2IyOWFiZDA0NjhjZjI0MmNlMTlkNjM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0 bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIy IDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwNS8zM10gcXQ2LWxvY2F0aW9uOiB1cGRh dGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlIHwgOCArKysr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxv Y2F0aW9uL3RlbXBsYXRlCmluZGV4IGI3Mzk3ZjVmODk0Mi4uOWYyNjEwMzI1OWFkIDEwMDY0NAot LS0gYS9zcmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1sb2Nh dGlvbi90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYt bG9jYXRpb24nCiBwa2duYW1lPXF0Ni1sb2NhdGlvbgotdmVyc2lvbj02LjMuMAordmVyc2lvbj02 LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHBvc2l0aW9uaW5nLWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9Q QVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwgcXQ2LWRlY2xh cmF0aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1zZXJpYWxwb3J0LWRldmVsIHF0Ni1kZWNs YXJhdGl2ZS1kZXZlbCBHQ29uZi1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFw cGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBsb2NhdGlvbiIKQEAgLTEyLDcgKzExLDcgQEAg bWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BMLTMu MC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkg d2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRp c3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVy c2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0cG9zaXRpb25pbmctZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1lOWVkNTBmNmIyNDVhMzQ2ZGIzNGQ2MjVk MDAxMjc3NGVmMGVjOGU3ZmQ2NTAzNzEyN2VjMjY3NTg3MDgyMzZlCitjaGVja3N1bT0wNjc4OGU0 ZWNhZTE5MjAwOTRiMzBlNDA0NmYwYWJkMjNjODE4OWQ4YTUxZTljOTM5YjAyZjBiNmFiZTJlODZj CiAKIHF0Ni1sb2NhdGlvbi1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtn fT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgpA QCAtMjAsOCArMTksMTEgQEAgcXQ2LWxvY2F0aW9uLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2lu c3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJ dm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1v dmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAi dXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJv bSBmZDYxYjM2OWRmMjA5Y2UzMWJiODlmYjllMTkwOThhNzkwNDY2NWE2IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249 MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4 IEF1ZyAyMDIyIDE3OjEzOjA4ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwNi8zM10gcXQ2LWxvdHRp ZTogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1sb3R0aWUvdGVtcGxhdGUgfCA5 ICsrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1sb3R0aWUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0 Ni1sb3R0aWUvdGVtcGxhdGUKaW5kZXggMWM5N2NkNWY0ZjMyLi5hN2JlYjYyZWMzNjggMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1sb3R0 aWUvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWxv dHRpZScKIHBrZ25hbWU9cXQ2LWxvdHRpZQotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQog cmV2aXNpb249MQogd3Jrc3JjPSJxdGxvdHRpZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259Igog YnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgog aG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1k ZWNsYXJhdGl2ZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9u IGFuZCBVSSBmcmFtZXdvcmsgLSBsb3R0aWUiCkBAIC0xMiwxMCArMTEsMTAgQEAgbWFpbnRhaW5l cj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSIKIGhv bWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0Lmlv L29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVz L3F0bG90dGllLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09Mzlk YjU3MGJiYmE1YjUyN2ExZWI2YTU3NzRiZWQ0NzM5OGFjZTJmNzIxN2JiZjQ1YjExOTRhZGE2Y2Y5 N2RlYgorY2hlY2tzdW09NzQwYmE3Njk5OTEyNGQ1ZTFhODVlZjNkMDFjNjk5NzZiYjg1NTc4NjJi NmIyNmJmNDhiMzU3ZmUwY2FiMWNmNQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVu Ci0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKKwljb25maWd1cmVfYXJn cz0iLURRVF9CVUlMRF9URVNUUz1PTiIKIGZpCiAKIHByZV9jaGVjaygpIHsKQEAgLTI4LDggKzI3 LDEwIEBAIHF0Ni1sb3R0aWUtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJ dm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGli L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGli Lyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21v ZHVsZXMKIAl9CiB9CgpGcm9tIDIxOWI3YWEzOGM2ZjNiYWZjOGI4NTlkYTQyYzZlMGQwY2Y2YzE5 ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEw bj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwu Y29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDggKzA3MDAKU3ViamVjdDogW1BBVENI IDA3LzMzXSBxdDYtbmV0d29ya2F1dGg6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9x dDYtbmV0d29ya2F1dGgvdGVtcGxhdGUgfCAxMCArKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LW5ldHdvcmthdXRoL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbmV0d29ya2F1dGgvdGVtcGxhdGUK aW5kZXggZTkzNGJlYWRhOWIwLi4xNDU0Y2ViNGE1MjUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2 LW5ldHdvcmthdXRoL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBs YXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1uZXR3b3JrYXV0 aCcKIHBrZ25hbWU9cXQ2LW5ldHdvcmthdXRoCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4x CiByZXZpc2lvbj0xCiB3cmtzcmM9InF0bmV0d29ya2F1dGgtZXZlcnl3aGVyZS1zcmMtJHt2ZXJz aW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9 L3VzciIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtYmFzZS1kZXZlbCIKIG1ha2VkZXBlbmRz PSJxdDYtYmFzZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9u IGFuZCBVSSBmcmFtZXdvcmsgLSBuZXR3b3JrYXV0aCIKQEAgLTEyLDEwICsxMSwxMCBAQCBtYWlu dGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5 IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXRuZXR3b3JrYXV0aC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPTIwM2E5ODk0MjkxOTAyODUyMDAzOGY5MGEyMGNkN2VlMzJiNTM3MjMzNTQ1ZDExZTQy OWMzZTJjMWFkOTA2OWYKK2NoZWNrc3VtPWQ2MGY1NGI5ZDQ1MDlmYThiZGJmMTk5MGJjOTFmNmUy NjBlMzhjZGI1N2E3YjgxMTlmYTM4NjFiYzVkMmZiMmEKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtH UyIgXTsgdGhlbgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCisJY29u ZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCiBxdDYtbmV0d29ya2F1dGgt ZGV2ZWxfcGFja2FnZSgpIHsKQEAgLTI0LDggKzIzLDExIEBAIHF0Ni1uZXR3b3JrYXV0aC1kZXZl bF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2 bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVz ci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVz ci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9x dDYvbW9kdWxlcwogCX0KIH0KCkZyb20gZTRkNTg4NGZkYWY2NmY0ODU1MGE3NjU4NGNlZmQzYTFk N2JmYWE0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89 QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBn bWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowOCArMDcwMApTdWJqZWN0OiBb UEFUQ0ggMDgvMzNdIHF0Ni1xdDVjb21wYXQ6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtn cy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlIHwgMTIgKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXF0NWNvbXBhdC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXF0NWNvbXBhdC90ZW1wbGF0ZQpp bmRleCA3ZmNkNWFkNTA4MGUuLmE2MjU3M2NmYWJmYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYt cXQ1Y29tcGF0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXF0NWNvbXBhdC90ZW1wbGF0ZQpA QCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcXQ1Y29tcGF0JwogcGtn bmFtZT1xdDYtcXQ1Y29tcGF0Ci12ZXJzaW9uPTYuMy4wCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTYu My4xCityZXZpc2lvbj0xCiB3cmtzcmM9InF0NWNvbXBhdC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0v dXNyIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2 ZWwgcGVybCBwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNs YXJhdGl2ZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFu ZCBVSSBmcmFtZXdvcmsgLSBRdDUgQ29tcGF0aWJpbHR5IENvbXBvbmVudCIKQEAgLTEyLDEwICsx MSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0i R1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQ TC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0 dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7 dmVyc2lvbn0vc3VibW9kdWxlcy9xdDVjb21wYXQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT0yYjE5OWJlNzgwYzUwZDkyMTQ1MTJiOTIyZDk0Y2IyNDBiMDQxMmZk NjNmNDU5ZTM1NmI3NjEwMmNhZDE3MTNlCitjaGVja3N1bT1hNDNlYzYyYmQ3NzhlYWVjZjg4YWQ3 ODQ3MTE4ZDFjMmE0NzFiMGZjYjgyMGY5M2JlYjMxMWQ3YWI5NTY2Y2ZkCiAKIGlmIFsgIiRYQlBT X0NIRUNLX1BLR1MiIF07IHRoZW4KLQljb25maWd1cmVfYXJncys9IiAtRFFUX0JVSUxEX1RFU1RT PU9OIgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgogZmkKIAogcXQ2LXF0 NWNvbXBhdC1kZXZlbF9wYWNrYWdlKCkgewpAQCAtMjQsOCArMjMsMTEgQEAgcXQ2LXF0NWNvbXBh dC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVk ZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZt b3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1v dmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9z aGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gMTg3OGZiYmJhMDQwMmU5NTE0NjI2NjhlNGY1 ODYxYTUxYmQwYmJlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1D ND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2Rh bmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowOCArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMDkvMzNdIHF0Ni1xdWljazNkOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNy Y3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUgfCAxMCArKysrKystLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXF1aWNrM2QvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlCmluZGV4 IDBmN2VmMzM2YTNmZi4uYjIzNDljMDM1MDFiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1xdWlj azNkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUKQEAgLTEsMTAg KzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNrM2QnCiBwa2duYW1lPXF0Ni1x dWljazNkCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9 InF0cXVpY2szZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UK LWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyICIKIGhvc3RtYWtlZGVwZW5kcz0i cGVybCBxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ2LXNoYWRlcnRvb2xz LWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZl bCBxdDYtc2hhZGVydG9vbHMtZGV2ZWwKICBsaWJhc3NpbXAtZGV2ZWwiCkBAIC0xMyw3ICsxMiw3 IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwt My4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRw Oi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3Zl cnNpb259L3N1Ym1vZHVsZXMvcXRxdWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFy Lnh6IgotY2hlY2tzdW09MGFkMDViZDFlZTFmNzg0YjE4MjIwYTJkMjYyNWVlOGRlOTE2NjJjODhm ZGM3Yjc5ODY2Mjk1M2Q4NmViMzI3ZQorY2hlY2tzdW09MmZhNzY2ZWU0N2I4YzA3NDEyYjNiNzU1 MjA2YWRhMDcxNWZiMDc4MTNiNjRlZDA2OWU3MjA1MDQ0YzA2MTI1NgogCiBpZiBbICIkWEJQU19U QVJHRVRfRU5ESUFOIiA9ICJiZSIgXTsgdGhlbgogCSMgcG9zc2libHkgYSBxdDYtc2hhZGVydG9v bHMgYnVnLCBhY3R1YWxseQpAQCAtMjYsOSArMjUsMTIgQEAgcXQ2LXF1aWNrM2QtZGV2ZWxfcGFj a2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUg dXNyL2xpYi9jbWFrZQotCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3ZlIHVzci9s aWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIv cXQ2L2JpbgorCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyou c28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVs ZXMKIAl9CiB9CgpGcm9tIDIyYTRmYWI3OWEyOWU4N2JmYjViNWY1NzA2OTU5MTJmZDZhNzIyYWEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0y MFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29t PgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDkgKzA3MDAKU3ViamVjdDogW1BBVENIIDEw LzMzXSBxdDYtcXVpY2t0aW1lbGluZTogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0 Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlIHwgNyArKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXF1 aWNrdGltZWxpbmUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRl CmluZGV4IDE1YWE3YThlNTgxOS4uYmYwMmUwNDNjNGE1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0 Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXF1aWNrdGltZWxpbmUv dGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNr dGltZWxpbmUnCiBwa2duYW1lPXF0Ni1xdWlja3RpbWVsaW5lCi12ZXJzaW9uPTYuMy4wCit2ZXJz aW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0cXVpY2t0aW1lbGluZS1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb24vcmMvLXJjfSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJn cz0iLURRVF9IT1NUX1BBVEg9L3VzciAiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2Ut ZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVs IHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxp Y2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBxdWlja3RpbWVsaW5lIgpAQCAtMTIsMTAgKzExLDEw IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwt My4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRw Oi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3Zl cnNpb24vcmMvLXJjfS9zdWJtb2R1bGVzL3F0cXVpY2t0aW1lbGluZS1ldmVyeXdoZXJlLXNyYy0k e3ZlcnNpb24vcmMvLXJjfS50YXIueHoiCi1jaGVja3N1bT05ZmYwYTkzMTE1OWVmYzZiZTViZDlm OGExZTRhMTZhNzBlMmRhYjM3Y2YyMmFkODVjNmQzMzBjY2ZkZjMxYzFhCitjaGVja3N1bT01OGEx M2NmMGNlOGU3NzU1NjM5ZjIwNjg0MDc4NzMzYWYyNGY1YTMxN2Y2ZGRiNDBkNjA3OWM4YzVhMjhl YmJlCiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1MiIF07IHRoZW4KLQljb25maWd1cmVfYXJncys9 IiAtRFFUX0JVSUxEX1RFU1RTPU9OIgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RT PU9OIgogZmkKIAogcHJlX2NoZWNrKCkgewoKRnJvbSBjZjc2OGU1MDljMjUyN2RkMTM0MDk3OGM0 YzA1NzMwMTUyOGExM2IwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA5ICswNzAwClN1 YmplY3Q6IFtQQVRDSCAxMS8zM10gcXQ2LXNjeG1sOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNy Y3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRlIHwgMTAgKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1zY3htbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRlCmluZGV4IDExMmJh Y2EwYWI4My4uOTQyYTcxYWZlNDc2IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zY3htbC90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc2N4bWwnCiBwa2duYW1lPXF0Ni1zY3htbAotdmVyc2lv bj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHNjeG1sLWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9 Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0 aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKIHNob3J0X2Rl c2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBzY3htbCIK QEAgLTEyLDEwICsxMSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+ IgogbGljZW5zZT0iTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5 IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXRzY3htbC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3Vt PTA5YjBkYmQ2YWMzNjc5MjBmYjFiYTk2YTM5ZGNkNGM5ZDMzZWIwODIwZGNjNzk1Mzg5OTI4MjVk NTg4YTcwZjAKK2NoZWNrc3VtPTAxYmMxNTRkNjE2M2QxZjA0OWY0ZTFlNzY2NThhMDQ0NzMwYWNl N2IwYTViZTM1YzlhNDZmY2QxMzk2Zjg2MTkKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsg dGhlbgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCisJY29uZmlndXJl X2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCiBxdDYtc2N4bWwtZGV2ZWxfcGFja2Fn ZSgpIHsKQEAgLTI0LDggKzIzLDExIEBAIHF0Ni1zY3htbC1kZXZlbF9wYWNrYWdlKCkgewogCXBr Z19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtl CisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJ CXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1v dmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0K CkZyb20gMjBmYzY1Nzc4NGQ2MjE1ZGM2MzRjOGE3NGQzNTI1NmFlYzFmMGJiOCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9 QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1v biwgOCBBdWcgMjAyMiAxNzoxMzowOSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMzNdIHF0Ni1z ZXJpYWxwb3J0OiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQv dGVtcGxhdGUgfCA4ICsrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxh dGUgYi9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCmluZGV4IDA4MDQ2NzFjYTU3Yi4u MmRlOWQ2MzY0YTVjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXNlcmlhbHBvcnQnCiBwa2duYW1lPXF0Ni1zZXJpYWxw b3J0Ci12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0 c2VyaWFscG9ydC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UK LWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJw ZXJsIHF0Ni1iYXNlLWRldmVsIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2 ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3 b3JrIC0gc2VyaWFscG9ydCIKQEAgLTEyLDcgKzExLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVA am9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25s eSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9u LTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25s b2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9z dWJtb2R1bGVzL3F0c2VyaWFscG9ydC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPWVlYmQ2OTM0ZDQ4Y2MwNDRiOGM4Nzc5NWE0ZmQ5MWJiODFmNzE5NWQ0YjVhMmRk YjEyODAyZjM0M2Q1ZGI2NGYKK2NoZWNrc3VtPTRlYjZkODBlNjU3OTlkZDJlMDMxOGRmNGRmYmEx NDE3M2MxOTI5ZTg2MTcxOGNkYTliZWRjYTI0MjUzYjYxNmUKIAogcXQ2LXNlcmlhbHBvcnQtZGV2 ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKQEAgLTIwLDggKzE5LDExIEBAIHF0 Ni1zZXJpYWxwb3J0LWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3Zl IHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRh dHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtz cGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJ dm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA3ZDU1YTNhM2RjZDkxYmNm N2E1ZGZlMjhjOTMwZWFlYjQ5MmUyMjJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9 P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5o Pz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA5 ICswNzAwClN1YmplY3Q6IFtQQVRDSCAxMy8zM10gcXQ2LXNoYWRlcnRvb2xzOiB1cGRhdGUgdG8g Ni4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIHwgMTQgKysrKysr KysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIGIvc3JjcGtn cy9xdDYtc2hhZGVydG9vbHMvdGVtcGxhdGUKaW5kZXggOWMxZWMyMTBhOTZhLi40NjA2ZmE3NzI2 YjEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdDYtc2hhZGVydG9vbHMnCiBwa2duYW1lPXF0Ni1zaGFkZXJ0b29scwot dmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHNoYWRl cnRvb2xzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29u ZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgorY29uZmlndXJlX2FyZ3M9Ii1EUVRf QlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgogaG9zdG1ha2VkZXBlbmRzPSJw ZXJsIHF0Ni1iYXNlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIgogc2hvcnRf ZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIHNoYWRl cnRvb2xzIgpAQCAtMTIsNyArMTIsMTIgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0 b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9x dC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNl cy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHNoYWRlcnRvb2xzLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NTQ5ODk1OWI5ZDM3YzI1 NGJkMTI2YWIxMzIwY2Y4NmFlYjhhMzFiM2VhN2U1MWRiNjY2YThmOTY5OGFmYmQ2YworY2hlY2tz dW09NTliNzcxNzY5NjE1MjhjYzdiMGM5MzI1MTM0NjU1ZTI3M2FhODdiNGNiMzg2YzBmNDY4M2Q4 ZjI4NTJlNDM1YQorCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwlob3N0bWFrZWRlcGVu ZHMrPSIgcXQ2LXNoYWRlcnRvb2xzLWRldmVsIgorZmkKKwogCiBxdDYtc2hhZGVydG9vbHMtZGV2 ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKQEAgLTIwLDggKzI1LDExIEBAIHF0 Ni1zaGFkZXJ0b29scy1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92 ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0 YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21r c3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJ CXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gY2ZkM2UxMDc0MWJjOWFj YjYxNzRkZDcwNTBmNDg0OWEzZDZlMzQ0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog PT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFu aD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzow OSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMzNdIHF0Ni1zdmc6IHVwZGF0ZSB0byA2LjMuMS4K Ci0tLQogc3JjcGtncy9xdDYtc3ZnL3RlbXBsYXRlIHwgMTAgKysrKysrLS0tLQogMSBmaWxlIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni1zdmcvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUKaW5kZXggYWE4 ZTZiNzQ1MTA5Li4zMDliMDk4OGU0MzUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXN2ZycKIHBrZ25hbWU9cXQ2LXN2ZwotdmVyc2lvbj02LjMu MAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHN2Zy1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hP U1RfUEFUSD0vdXNyICIKIGhvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgcGVybCIKIG1h a2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFw cGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgKFFUNikgLSBxdDYtc3ZnIGNvbXBvbmVudCIKQEAg LTEyLDEwICsxMSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igog bGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIEdQTC0yLjAt b3ItbGF0ZXIsIExHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0 ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNp b24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHN2Zy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPTMxNjQ1MDRkN2UzZjY0MDQzOTMwODIzNTczOWIxMTI2MDVh YjVmYzljYzUxN2NhMGIyOGY5ZmI5M2E4ZGIwZTMKK2NoZWNrc3VtPTdiMTlmNDE4ZTZmN2I4ZTIz MzQ0MDgyZGQwNDQ0MGFhY2Y1ZGEyM2M1YTczOTgwYmEyMmFlNGViYTRmODdkZjcKIAogaWYgWyAi JFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERf VEVTVFM9T04iCisJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCiBk b19jaGVjaygpIHsKQEAgLTI5LDggKzI4LDExIEBAIHF0Ni1zdmctZGV2ZWxfcGFja2FnZSgpIHsK IAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9j bWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZp ZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJ CXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9 CiB9CgpGcm9tIDAyYjVhZWIwOWI1NWU5MGUxNjFmYWUxM2Q3MmQ2MzhiYjBhMmI3MmYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUx PUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRl OiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MTAgKzA3MDAKU3ViamVjdDogW1BBVENIIDE1LzMzXSBx dDYtdG9vbHM6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxh dGUgfCAyMyArKysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdG9vbHMv dGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni10b29scy90ZW1wbGF0ZQppbmRleCBmODc1ZGZmNWMwNDYu LmZkMzExMTc2ZTMxZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUKQEAgLTEsMjMgKzEsMzMgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ3F0Ni10b29scycKIHBrZ25hbWU9cXQ2LXRvb2xzCi12ZXJzaW9uPTYuMy4w Cit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0dG9vbHMtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9I T1NUX1BBVEg9L3VzciAiCi1ob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwiCi1t YWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgbGliYXRvbWljLWRldmVsIgorY29uZmlndXJlX2Fy Z3M9Ii1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz1UUlVFCisgLURRVF9CVUlM RF9TSEFSRURfTElCUz1PTiAtRFFUX0ZFQVRVUkVfYXNzaXN0YW50PU9OIgoraG9zdG1ha2VkZXBl bmRzPSJxdDYtYmFzZS1kZXZlbCBwZXJsIHF0Ni1wbHVnaW4tc3FsaXRlIgorbWFrZWRlcGVuZHM9 InF0Ni1iYXNlLWRldmVsIGxpYmF0b21pYy1kZXZlbCBxdDYtcGx1Z2luLXNxbGl0ZSIKIHNob3J0 X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgKFFUNikg LSBxdDYtdG9vbHMgY29tcG9uZW50IgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3Iu ZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBM R1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8v IgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQv JHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR0b29scy1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWZjZTk0Njg4ZWE5MjU3ODJhMjg3OTM0NzU4 NDk5MWY4NTQ2MzBkYWFkYmE2YzUyYWVkNmQ5M2UzM2NkMGIxOWMKK2NoZWNrc3VtPWM0MTI3NTBm MmFhM2JlYjkzZmNlNWYzMDUxN2M2MDdmNTVkYWFlYjdkMDQwN2FmMjA2YThhZGY5MTdlMTI2YzEK KworaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJaG9zdG1ha2VkZXBlbmRzKz0iIHF0Ni10 b29scy1kZXZlbCIKK2ZpCisKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNv bmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCitwb3N0X2J1aWxkKCkg eworCW5pbmphIC1DIGJ1aWxkICR7bWFrZWpvYnN9IGxpYi9xdDYvbGliZXhlYy9xaGVscGdlbmVy YXRvcgorfQorCiBkb19jaGVjaygpIHsKIAljZCBidWlsZAogCSMgU29tZSBvZiB0aGVzZSB0ZXN0 cyBleHBlY3QgdGhhdCBxdDYtdG9vbHMgaXMgYWxyZWFkeQpAQCAtMzEsOCArNDEsMTEgQEAgcXQ2 LXRvb2xzLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9p bmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMK KwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwog CQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUg dXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA1MzRiNDcxNjdkMDBlNDM3M2QzMTlm MTVlZDA5ZTM5YzNiNjM2OWY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04 P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxj b25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjEwICswNzAw ClN1YmplY3Q6IFtQQVRDSCAxNi8zM10gcXQ2LXRyYW5zbGF0aW9uczogdXBkYXRlIHRvIDYuMy4x LgoKLS0tCiBzcmNwa2dzL3F0Ni10cmFuc2xhdGlvbnMvdGVtcGxhdGUgfCA1ICsrLS0tCiAxIGZp bGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0 aW9ucy90ZW1wbGF0ZQppbmRleCBiZTBhNzRjYTc0ZTIuLjFiOTE3Y2NiMzYyMCAxMDA2NDQKLS0t IGEvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRy YW5zbGF0aW9ucy90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdxdDYtdHJhbnNsYXRpb25zJwogcGtnbmFtZT1xdDYtdHJhbnNsYXRpb25zCi12ZXJzaW9uPTYu My4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0dHJhbnNsYXRpb25zLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2Fy Z3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZl bCBxdDYtdG9vbHMtZGV2ZWwgcGVybCIKIG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYt dG9vbHMtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQg VUkgZnJhbWV3b3JrIC0gdHJhbnNsYXRpb25zIgpAQCAtMTIsNCArMTEsNCBAQCBtYWludGFpbmVy PSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGgg UXQtR1BMLWV4Y2VwdGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0Zmls ZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24l Lip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHRyYW5zbGF0aW9ucy1ldmVyeXdoZXJlLXNyYy0k e3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWU0ZGQ0ZWY4OTJhMzRhOTUxNGExOTIzOGYxODlh MzNlZDg1Yzc2ZjMxZGNhZDY1OTljZWQ5M2IxZTMzNDQwYjMKK2NoZWNrc3VtPWQ3YmRkNTVlMjkw OGRlZDkwMWRjYzI2MjE1NzEwMGFmMmE0OTBiZjA0ZDMxZTMyOTk1ZjZkOTFkNzhkZmRiOTcKCkZy b20gZWQ5OGY2MjZiNzEwYzlhN2Y0MzlkMWRlMDIyMjc1MjQxZDIyMTdmZiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTdu PTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwg OCBBdWcgMjAyMiAxNzoxMzoxMCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMzNdIHF0Ni12aXJ0 dWFsa2V5Ym9hcmQ6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtdmlydHVhbGtl eWJvYXJkL3RlbXBsYXRlIHwgMTAgKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni12aXJ0dWFs a2V5Ym9hcmQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUK aW5kZXggNjdlY2VmMTQ1ZWExLi43N2EyNDc0MDBiOTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2 LXZpcnR1YWxrZXlib2FyZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9h cmQvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXZp cnR1YWxrZXlib2FyZCcKIHBrZ25hbWU9cXQ2LXZpcnR1YWxrZXlib2FyZAotdmVyc2lvbj02LjMu MAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHZpcnR1YWxrZXlib2FyZC1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9h cmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHBrZy1jb25m aWcgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1k ZXZlbCBxdDYtc3ZnLWRldmVsIGh1bnNwZWxsLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxh dGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIHZpcnR1YWxrZXlib2FyZCIKQEAg LTEyLDEwICsxMSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igog bGljZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZp bGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9u JS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR2aXJ0dWFsa2V5Ym9hcmQtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT04OWFhZjE1YWNmNTQzMmFmOGY1Y2Y0ZWM0 NWNiMzJkODdhMzM0ODkwNjIxNWRkNTZlODFjYjI5NGViMjc2NTczCitjaGVja3N1bT01ZmUwODli MjA0ZDg1OWFiMGRkMDE2OWY4MTFmMmUzMGNhZTdjNWNiMzZmOGFiOTVjYTM2ODgzZjFmYzBjMmI4 CiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1MiIF07IHRoZW4KLQljb25maWd1cmVfYXJncys9IiAt RFFUX0JVSUxEX1RFU1RTPU9OIgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9O IgogZmkKIAogZG9fY2hlY2soKSB7CkBAIC0zMiw4ICszMSwxMSBAQCBxdDYtdmlydHVhbGtleWJv YXJkLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNs dWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJ dm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2 bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNy L3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSAyYWM3MGU2YTI3MjY4ODIwY2RmNzRmNzQw YmFlZDBiNGJlZTQxYjU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjEwICswNzAwClN1 YmplY3Q6IFtQQVRDSCAxOC8zM10gcXQ2LXdheWxhbmQ6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQog c3JjcGtncy9xdDYtd2F5bGFuZC90ZW1wbGF0ZSB8IDExICsrKysrKystLS0tCiAxIGZpbGUgY2hh bmdlZCwgNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlCmlu ZGV4IGI3MWEyNzMwMDliOS4uODNhZmIzNGUyMjllIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13 YXlsYW5kL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUKQEAgLTEs MTMgKzEsMTQgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni13YXlsYW5kJwogcGtnbmFtZT1x dDYtd2F5bGFuZAotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jr c3JjPSJxdHdheWxhbmQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNt YWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAtRFFUX0JVSUxEX1RPT0xT X1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKK2NvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RP T0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKIGhvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2Ut ZGV2ZWwgcGVybCBwa2ctY29uZmlnIHdheWxhbmQtZGV2ZWwgcXQ2LXdheWxhbmQtZGV2ZWwiCiAj IFhYWDogUW1sIGFzIG9wdGlvbmFsIGRlcAogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHdh eWxhbmQtZGV2ZWwgbGlieGtiY29tbW9uLWRldmVsCisgcXQ2LWRlY2xhcmF0aXZlLWRldmVsCiAg bGliWGNvbXBvc2l0ZS1kZXZlbCBNZXNhTGliLWRldmVsIFZ1bGthbi1IZWFkZXJzIGxpYmRybS1k ZXZlbCIKIGNoZWNrZGVwZW5kcz0iZGJ1cyBtZXNhLWRyaSIKIHNob3J0X2Rlc2M9IkNyb3NzLXBs YXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBXYXlsYW5kIgpAQCAtMTUsNyAr MTYsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0i R1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQ TC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0ZmlsZXM9 Imh0dHBzOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR3YXlsYW5kLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lv bn0udGFyLnh6IgotY2hlY2tzdW09ZTdiNTY3ZjZlNDNmZmM1OTE4ZDRhYTgyNWNlMWVjZWQ2NmEw MGNiMGE4NzEzM2IyOTEyYmE1YzFiMmEwMjE5MAorY2hlY2tzdW09NmYxNGZlYTJkMTcyYTViNDE3 MGJlM2VmY2IwZTU4NTM1ZjY2MDViNjFiY2Q4MjNmNmQ1YzlkMTY1YmI4YzBmMAogCiBpZiBbICIk WEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9U RVNUUz1PTiIKQEAgLTMyLDkgKzMzLDExIEBAIHF0Ni13YXlsYW5kLWRldmVsX3BhY2thZ2UoKSB7 CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIv Y21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25m aWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwotCQl2bW92ZSB1c3IvbGliL3F0Ni9saWJl eGVjL3F0d2F5bGFuZHNjYW5uZXIKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVz ci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20g ZjEyYjE4ZTc4YjMxM2M2YmFmYjdjOThlMzA3NDE2MGNkMDJiZDE4ZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIw Qz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBB dWcgMjAyMiAxNzoxMzoxMCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMzNdIHF0Ni13ZWJzb2Nr ZXRzOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxh dGUgfCA4ICsrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUgYi9z cmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlCmluZGV4IGMyZTY3NGFhY2IzMS4uNDg3NWFm MDkzNDMyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAncXQ2LXdlYnNvY2tldHMnCiBwa2duYW1lPXF0Ni13ZWJzb2NrZXRzCi12 ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0d2Vic29j a2V0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZp Z3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0 Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKIG1ha2VkZXBlbmRzPSJxdDYtYmFz ZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9y bSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gd2Vic29ja2V0cyIKQEAgLTEyLDcgKzEx LDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihM R1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4w LW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0Lmlv LyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0 LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2Vic29ja2V0cy1ldmVyeXdo ZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWUwMThhMDlmZTk2MGI3ZDk1NjBk NmJiYzlkM2NhMDIyZmVkNjU2NmU2YmE2ZmM2ZDg2OWE5NzQ4MmQ0ZTYzNjEKK2NoZWNrc3VtPTlm OTgwZDkwYzk3ZmNiZGUxYjUwYzc3M2Y2ZGM1ODBjZmRmOGMzNmNlMTRhMWJlM2FhMmNjYWRmZTYw NTEyMWEKIAogcXQ2LXdlYnNvY2tldHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3Nv dXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lv bn1fMSIKQEAgLTIwLDggKzE5LDExIEBAIHF0Ni13ZWJzb2NrZXRzLWRldmVsX3BhY2thZ2UoKSB7 CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIv Y21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25m aWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgog CQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJ fQogfQoKRnJvbSA2ZmM4MjU3OTY3NzdlNjgxOWIxYzJlMzE1MGFiNzI2ODllMDA2ZWYzIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1F MT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0 ZTogVHVlLCA5IEF1ZyAyMDIyIDIwOjE2OjQ3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAyMC8zM10g cXQ2LTNkOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LTNkL3RlbXBsYXRlIHwg NSArKy0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LTNkL3Rl bXBsYXRlCmluZGV4IDY2NmY1NzU1OTUzMi4uYzA4YzNiZDRhNDFiIDEwMDY0NAotLS0gYS9zcmNw a2dzL3F0Ni0zZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZQpAQCAtMSwx MCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtM2QnCiBwa2duYW1lPXF0Ni0zZAot dmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdDNkLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2Fy Z3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xh cmF0aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBxdDYtc2hh ZGVydG9vbHMtZGV2ZWwgbGliYXNzaW1wLWRldmVsCiAgbGliYXRvbWljLWRldmVsIgpAQCAtMTMs NyArMTIsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5z ZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQ TC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8v cXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFz ZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXQzZC1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTc0ZTc2MjM4MGRhZDM0ODg3ODc4Yjkx MjRkYmZiOTgxZDVjZjRiOGI4MDcyODFmZjhiZmYzMTExNDViNTRkZTEKK2NoZWNrc3VtPTk5MTli NjZkZmIyNTNmYTI2ZGIxYTdkNjY0MzU4Y2JjMDdmNDZjODgxMDA4MmVlMzEyMGQwYTU0YjE1M2Vk ZmUKIAogcXQ2LTNkLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0k e3ZlcnNpb259XyR7cmV2aXNpb259IgoKRnJvbSAwNDQzNGE2NWQyZDFmNDJlNDA2Y2EyYjYyN2Zk ZjI5ODU2YzAxZGY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0 PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFu aHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjExICswNzAwClN1Ympl Y3Q6IFtQQVRDSCAyMS8zM10gTmV3IHBhY2thZ2U6IHF0Ni13ZWJjaGFubmVsLTYuMy4xCgotLS0K IHNyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwtZGV2ZWwgICAgfCAgMSArCiBzcmNwa2dzL3F0Ni13ZWJj aGFubmVsL3RlbXBsYXRlIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNy Y3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdXBkYXRlICAgfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDM0 IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni13ZWJjaGFubmVs LWRldmVsCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0 ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdXBkYXRlCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC1kZXZlbCBiL3NyY3BrZ3MvcXQ2LXdlYmNo YW5uZWwtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi4wM2U4 YjIzZDc4NWQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsLWRldmVs CkBAIC0wLDAgKzEgQEAKK3F0Ni13ZWJjaGFubmVsClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ2LXdlYmNoYW5uZWwvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi40MzJjNDJiY2MwNTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJj aGFubmVsL3RlbXBsYXRlCkBAIC0wLDAgKzEsMzIgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0 Ni13ZWJjaGFubmVsJworcGtnbmFtZT1xdDYtd2ViY2hhbm5lbAordmVyc2lvbj02LjMuMQorcmV2 aXNpb249MQord3Jrc3JjPSJxdHdlYmNoYW5uZWwtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIK K2J1aWxkX3N0eWxlPWNtYWtlCitob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwg cXQ2LWRlY2xhcmF0aXZlLWRldmVsIgorbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1k ZWNsYXJhdGl2ZS1kZXZlbCBxdDYtd2Vic29ja2V0cy1kZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3Nz LXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSB3ZWJjaGFubmVsIgorbWFp bnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKK2xpY2Vuc2U9IihMR1BMLTMuMC1v bmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0 aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKK2hvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKK2Rpc3Rm aWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lv biUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2ViY2hhbm5lbC1ldmVyeXdoZXJlLXNyYy0k e3ZlcnNpb259LnRhci54eiIKK2NoZWNrc3VtPWFhYTIwYWMyM2Y4Njk5MjcyMWI3ZWU0ODdjMzc5 YTNmZDY4Y2FhOGNkY2VhMGE3N2EzN2UwZDhiNDdmZjI2NjgKKworcXQ2LXdlYmNoYW5uZWwtZGV2 ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1fMQorCSBxdDYtd2Vic29ja2V0cy1kZXZl bD49JHt2ZXJzaW9ufV8xIgorCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlw a2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUKKwkJdm1vdmUgdXNyL2xpYi9jbWFr ZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwor CQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFdl YkNoYW5uZWwvcGx1Z2lucy5xbWx0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRXZWJD aGFubmVsL3FtbGRpcgorCQl2bW92ZSAidXNyL2xpYi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8q LnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJfQorfQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtd2ViY2hhbm5lbC91cGRhdGUgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3Vw ZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg0NDU1MjQ2NTIy MgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdXBkYXRlCkBAIC0w LDAgKzEgQEAKK3BrZ25hbWU9IiR7cGtnbmFtZS82LS99LWV2ZXJ5d2hlcmUtc3JjIgoKRnJvbSA2 NWFiYjhlZjc2ZjJjYWQzMGUxMjM1ZGZiMWVhYjU3MzM4MWQ4ZWM1IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBD PUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1 ZyAyMDIyIDE3OjEzOjExICswNzAwClN1YmplY3Q6IFtQQVRDSCAyMi8zM10gTmV3IHBhY2thZ2U6 IHF0Ni1tdWx0aW1lZGlhLTYuMy4xCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAg ICAgfCAgMyArKysKIHNyY3BrZ3MvcXQ2LW11bHRpbWVkaWEtZGV2ZWwgICAgfCAgMSArCiBzcmNw a2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3VwZGF0ZSAgIHwgIDEgKwogNCBmaWxl cyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9x dDYtbXVsdGltZWRpYS1kZXZlbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LW11bHRp bWVkaWEvdGVtcGxhdGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlh L3VwZGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4 IGVhNmZkZTRmZmUzMS4uZGE3OGZhYTY4OWQ1IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisr KyBiL2NvbW1vbi9zaGxpYnMKQEAgLTIwNzcsNiArMjA3Nyw5IEBAIGxpYlF0NlNlcmlhbFBvcnQu c28uNiBxdDYtc2VyaWFscG9ydC02LjIuMGFscGhhXzEKIGxpYlF0NldlYlNvY2tldHMuc28uNiBx dDYtd2Vic29ja2V0cy02LjIuMGFscGhhXzEKIGxpYlF0NldlYkNoYW5uZWwuc28uNiBxdDYtd2Vi Y2hhbm5lbC02LjIuMGFscGhhXzEKIGxpYlF0NlBvc2l0aW9uaW5nLnNvLjYgcXQ2LWxvY2F0aW9u LTYuMi4wYWxwaGFfMQorbGliUXQ2TXVsdGltZWRpYVdpZGdldHMuc28uNiBxdDYtbXVsdGltZWRp YS02LjMuMV8xCitsaWJRdDZNdWx0aW1lZGlhUXVpY2suc28uNiBxdDYtbXVsdGltZWRpYS02LjMu MV8xCitsaWJRdDZNdWx0aW1lZGlhLnNvLjYgcXQ2LW11bHRpbWVkaWEtNi4zLjFfMQogbGlibnB0 aC5zby4wIG5wdGgtMS4xXzEKIGxpYm5wdXBucC5zby40IGxpYm5wdXBucC00LjAuMl8xCiBsaWJn bGZ3LnNvLjMgZ2xmdy0zLjAuNF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlh LWRldmVsIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAw MAppbmRleCAwMDAwMDAwMDAwMDAuLjkzNDM0NDY1MDJkMAotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LW11bHRpbWVkaWEtZGV2ZWwKQEAgLTAsMCArMSBAQAorcXQ2LW11bHRpbWVkaWEK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1tdWx0 aW1lZGlhL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjUzNWEyZjU1ZmZlNAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKQEAgLTAsMCArMSwzMyBA QAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LW11bHRpbWVkaWEnCitwa2duYW1lPXF0Ni1tdWx0 aW1lZGlhCit2ZXJzaW9uPTYuMy4xCityZXZpc2lvbj0xCit3cmtzcmM9InF0bXVsdGltZWRpYS1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9h cmdzPSItRFFUX0ZFQVRVUkVfZ3N0cmVhbWVyPU9OIgoraG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0 Ni1kZWNsYXJhdGl2ZS1kZXZlbCBwa2ctY29uZmlnCisgcXQ2LXNoYWRlcnRvb2xzLWRldmVsIgor bWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbAorIHF0Ni1zaGFkZXJ0b29scy1kZXZl bCBsaWJnbGliLWRldmVsIGdzdC1wbHVnaW5zLWJhc2UxLWRldmVsIgorc2hvcnRfZGVzYz0iQ3Jv c3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIG11bHRpbWVkaWEiCitt YWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgorbGljZW5zZT0iKExHUEwtMy4w LW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3 aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgoraG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgorZGlz dGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJz aW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRtdWx0aW1lZGlhLWV2ZXJ5d2hlcmUtc3Jj LSR7dmVyc2lvbn0udGFyLnh6IgorY2hlY2tzdW09N2UwMzI0MmFhZGQ2MzRmZjJkOWZjZjA4OTQ4 MjkwZjAzZGEzZDlhNTAxMjM2OWQ5MDhkYTg5ZjgyYjFkNzMzNgorCitxdDYtbXVsdGltZWRpYS1k ZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3Jl dmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNob3J0X2Rlc2MrPSIgLSBk ZXZlbG9wbWVudCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUK KwkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92 ZSB1c3IvbGliL3BrZ2NvbmZpZworCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3Zl IHVzci9saWIvcXQ2L3FtbC9RdE11bHRpbWVkaWEvcGx1Z2lucy5xbWx0eXBlcworCQl2bW92ZSB1 c3IvbGliL3F0Ni9xbWwvUXRNdWx0aW1lZGlhL3FtbGRpcgorCQl2bW92ZSAidXNyL2xpYi8qLnNv IgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1tdWx0aW1lZGlhL3VwZGF0ZSBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdXBkYXRlCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODQ0NTUyNDY1MjIyCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS91cGRhdGUKQEAgLTAsMCArMSBAQAor cGtnbmFtZT0iJHtwa2duYW1lLzYtL30tZXZlcnl3aGVyZS1zcmMiCgpGcm9tIDQzYjcwYWZkNTY4 OTFiMjE3ZTRiMzBlYzE3OTdiOTAzNDc3NGYyODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0y MERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTg6 MjI6NDggKzA3MDAKU3ViamVjdDogW1BBVENIIDIzLzMzXSBOZXcgcGFja2FnZTogcXQ2LWNvbm5l Y3Rpdml0eS02LjMuMQoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgfCAg MiArKwogc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5LWRldmVsICAgIHwgIDEgKwogc3JjcGtncy9x dDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiAzIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAw MCBzcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHktZGV2ZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni1jb25uZWN0aXZpdHkvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJz IGIvY29tbW9uL3NobGlicwppbmRleCBkYTc4ZmFhNjg5ZDUuLmQ0NjY0M2ZjMzFlZCAxMDA2NDQK LS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDcxLDYgKzIwNzEs OCBAQCBsaWJRdDZEZXNpZ25lci5zby42IHF0Ni10b29scy02LjEuMF8xCiBsaWJRdDZEZXNpZ25l ckNvbXBvbmVudHMuc28uNiBxdDYtdG9vbHMtNi4xLjBfMQogbGliUXQ2SGVscC5zby42IHF0Ni10 b29scy02LjEuMF8xCiBsaWJRdDZVaVRvb2xzLnNvLjYgcXQ2LXRvb2xzLTYuMS4wXzEKK2xpYlF0 Nk5mYy5zby42IHF0Ni1jb25uZWN0aXZpdHktNi4zLjFfMQorbGliUXQ2Qmx1ZXRvb3RoLnNvLjYg cXQ2LWNvbm5lY3Rpdml0eS02LjMuMV8xCiBsaWJRdDZIdW5zcGVsbElucHV0TWV0aG9kLnNvLjYg cXQ2LXZpcnR1YWxrZXlib2FyZC02LjEuMF8xCiBsaWJRdDZWaXJ0dWFsS2V5Ym9hcmQuc28uNiBx dDYtdmlydHVhbGtleWJvYXJkLTYuMS4wXzEKIGxpYlF0NlNlcmlhbFBvcnQuc28uNiBxdDYtc2Vy aWFscG9ydC02LjIuMGFscGhhXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0 eS1kZXZlbCBiL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS1kZXZlbApuZXcgZmlsZSBtb2RlIDEy MDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjQ3OGNjOWQ4YWEzOQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS1kZXZlbApAQCAtMCwwICsxIEBACitxdDYtY29ubmVj dGl2aXR5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3RlbXBs YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNmNiNjE3NDRkMGNi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlCkBA IC0wLDAgKzEsMzAgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1jb25uZWN0aXZpdHknCitw a2duYW1lPXF0Ni1jb25uZWN0aXZpdHkKK3ZlcnNpb249Ni4zLjEKK3JldmlzaW9uPTEKK3dya3Ny Yz0icXRjb25uZWN0aXZpdHktZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK2J1aWxkX3N0eWxl PWNtYWtlCitob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgorbWFr ZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRm b3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBDb25uZWN0aXZpdHkiCittYWludGFp bmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21haWwuY29tPiIKK2xp Y2Vuc2U9IkdQTC0zLjAtb25seSIKK2hvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKK2Rpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0Y29ubmVjdGl2aXR5LWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0udGFyLnh6IgorY2hlY2tzdW09YjI1Y2U0NzEwYTljNjFiYzZhNWRiYWVlYjNlMmVk OTA3YThiYzg1NDc4ZmRiMmFiNDMxMjI5Nzc2OGI2OTViMAorCitxdDYtY29ubmVjdGl2aXR5LWRl dmVsX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2 aXNpb259CisJIHF0Ni1kZWNsYXJhdGl2ZT49JHt2ZXJzaW9ufSIKKwlzaG9ydF9kZXNjKz0iIC0g ZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRl CisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9wa2djb25maWcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92 ZSAidXNyL2xpYi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3No YXJlL3F0Ni9tb2R1bGVzCisJfQorfQoKRnJvbSBmMTA1MzZkNWNhN2Q2MWIwMWFkYmVkMDNlYjdj Y2ViMzllN2RjMTdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0 PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFu aHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE4OjIyOjU3ICswNzAwClN1Ympl Y3Q6IFtQQVRDSCAyNC8zM10gTmV3IHBhY2thZ2U6IHF0Ni1zZW5zb3JzLTYuMy4xCgotLS0KIGNv bW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgfCAgMiArKwogc3JjcGtncy9xdDYtc2Vuc29ycy1k ZXZlbCAgICB8ICAxICsKIHNyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUgfCAzMSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMo KykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni1zZW5zb3JzLWRldmVsCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtc2Vuc29ycy90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL2Nv bW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IGQ0NjY0M2ZjMzFlZC4uZjYyODRlZWUx YmFlIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTIw NzMsNiArMjA3Myw4IEBAIGxpYlF0NkhlbHAuc28uNiBxdDYtdG9vbHMtNi4xLjBfMQogbGliUXQ2 VWlUb29scy5zby42IHF0Ni10b29scy02LjEuMF8xCiBsaWJRdDZOZmMuc28uNiBxdDYtY29ubmVj dGl2aXR5LTYuMy4xXzEKIGxpYlF0NkJsdWV0b290aC5zby42IHF0Ni1jb25uZWN0aXZpdHktNi4z LjFfMQorbGliUXQ2U2Vuc29ycy5zby42IHF0Ni1zZW5zb3JzLTYuMy4xXzEKK2xpYlF0NlNlbnNv cnNRdWljay5zby42IHF0Ni1zZW5zb3JzLTYuMy4xXzEKIGxpYlF0Nkh1bnNwZWxsSW5wdXRNZXRo b2Quc28uNiBxdDYtdmlydHVhbGtleWJvYXJkLTYuMS4wXzEKIGxpYlF0NlZpcnR1YWxLZXlib2Fy ZC5zby42IHF0Ni12aXJ0dWFsa2V5Ym9hcmQtNi4xLjBfMQogbGliUXQ2U2VyaWFsUG9ydC5zby42 IHF0Ni1zZXJpYWxwb3J0LTYuMi4wYWxwaGFfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2Vu c29ycy1kZXZlbCBiL3NyY3BrZ3MvcXQ2LXNlbnNvcnMtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAw MDAKaW5kZXggMDAwMDAwMDAwMDAwLi5lYjk0NTdmMDQwNTUKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni1zZW5zb3JzLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0Ni1zZW5zb3JzClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2Vuc29ycy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41YTgxZjQzYjYwZWIKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni1zZW5zb3JzL3RlbXBsYXRlCkBAIC0wLDAgKzEsMzEgQEAKKyMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3F0Ni1zZW5zb3JzJworcGtnbmFtZT1xdDYtc2Vuc29ycwordmVyc2lvbj02LjMu MQorcmV2aXNpb249MQord3Jrc3JjPSJxdHNlbnNvcnMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fSIKK2J1aWxkX3N0eWxlPWNtYWtlCitob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0 aXZlLWRldmVsIHF0Ni1zdmctZGV2ZWwgcGtnLWNvbmZpZyIKK21ha2VkZXBlbmRzPSJxdDYtZGVj bGFyYXRpdmUtZGV2ZWwgcXQ2LXN2Zy1kZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3Jt IGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBTZW5zb3JzIgorbWFpbnRhaW5lcj0ixJBv w6BuIFRy4bqnbiBDw7RuZyBEYW5oIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4iCitsaWNlbnNlPSIo TEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMu MC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAiCitob21lcGFnZT0iaHR0cHM6Ly9xdC5p by8iCitkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9x dC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHNlbnNvcnMtZXZlcnl3aGVy ZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCitjaGVja3N1bT00YjI0MGI1OWVkYmE5YTQyYjQ3MzU3 NThhMjVmMjc5YTI2ODQxYjk4Mjg2NGU3YjM4ZjZlZjBiODFlMGQ2MGNjCisKK3F0Ni1zZW5zb3Jz LWRldmVsX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7 cmV2aXNpb259CisJIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNob3J0 X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUg dXNyL2luY2x1ZGUKKwkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0 eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZworCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3Nw ZWNzCisJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFNlbnNvcnMvcGx1Z2lucy5xbWx0eXBlcwor CQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRTZW5zb3JzL3FtbGRpcgorCQl2bW92ZSAidXNyL2xp Yi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwl9Cit9CgpGcm9tIDQ2YWNjNTgzODYx YTUyMDAwMzlmOTA1OGIxMGMwOTdhNTNmNzViMGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0y MERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTg6 MjM6MDggKzA3MDAKU3ViamVjdDogW1BBVENIIDI1LzMzXSBOZXcgcGFja2FnZTogcXQ2LXJlbW90 ZW9iamVjdHMtNi4zLjEKCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgICB8 ICAyICsrCiBzcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3RzLWRldmVsICAgIHwgIDEgKwogc3JjcGtn cy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZSB8IDMxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx MjAwMDAgc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy1kZXZlbAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9jb21tb24v c2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBmNjI4NGVlZTFiYWUuLmEwZmFiODg2OTk0OCAx MDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDczLDYg KzIwNzMsOCBAQCBsaWJRdDZIZWxwLnNvLjYgcXQ2LXRvb2xzLTYuMS4wXzEKIGxpYlF0NlVpVG9v bHMuc28uNiBxdDYtdG9vbHMtNi4xLjBfMQogbGliUXQ2TmZjLnNvLjYgcXQ2LWNvbm5lY3Rpdml0 eS02LjMuMV8xCiBsaWJRdDZCbHVldG9vdGguc28uNiBxdDYtY29ubmVjdGl2aXR5LTYuMy4xXzEK K2xpYlF0NlJlbW90ZU9iamVjdHMuc28uNiBxdDYtcmVtb3Rlb2JqZWN0cy02LjMuMV8xCitsaWJR dDZSZW1vdGVPYmplY3RzUW1sLnNvLjYgcXQ2LXJlbW90ZW9iamVjdHMtNi4zLjFfMQogbGliUXQ2 U2Vuc29ycy5zby42IHF0Ni1zZW5zb3JzLTYuMy4xXzEKIGxpYlF0NlNlbnNvcnNRdWljay5zby42 IHF0Ni1zZW5zb3JzLTYuMy4xXzEKIGxpYlF0Nkh1bnNwZWxsSW5wdXRNZXRob2Quc28uNiBxdDYt dmlydHVhbGtleWJvYXJkLTYuMS4wXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXJlbW90ZW9i amVjdHMtZGV2ZWwgYi9zcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3RzLWRldmVsCm5ldyBmaWxlIG1v ZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMmEwMjdmOTUyNjZmCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy1kZXZlbApAQCAtMCwwICsxIEBACitxdDYt cmVtb3Rlb2JqZWN0cwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1yZW1vdGVvYmpl Y3RzL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWJi MDYzODJjOGQ2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy90 ZW1wbGF0ZQpAQCAtMCwwICsxLDMxIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcmVtb3Rl b2JqZWN0cycKK3BrZ25hbWU9cXQ2LXJlbW90ZW9iamVjdHMKK3ZlcnNpb249Ni4zLjEKK3Jldmlz aW9uPTEKK3dya3NyYz0icXRyZW1vdGVvYmplY3RzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0i CitidWlsZF9zdHlsZT1jbWFrZQoraG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2 ZS1kZXZlbCBwa2ctY29uZmlnIgorbWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIK K3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsg LSBSZW1vdGUgT2JqZWN0cyIKK21haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8 Y29uZ2RhbmhxeEBnbWFpbC5jb20+IgorbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIu MC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNl cHRpb24tMS4wIgoraG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgorZGlzdGZpbGVzPSJodHRwOi8v ZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b259L3N1Ym1vZHVsZXMvcXRyZW1vdGVvYmplY3RzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0u dGFyLnh6IgorY2hlY2tzdW09ZWE2ZDAzOGIxMWM2MDk4MWRlMGJkMzlhNjA5MWE1OWFiZjdkMDMx ZTM3YmZjNTkyYjMxYmUxMjE3YmVmNGNhNgorCitxdDYtcmVtb3Rlb2JqZWN0cy1kZXZlbF9wYWNr YWdlKCkgeworCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQor CSBxdDYtZGVjbGFyYXRpdmUtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKKwlzaG9ydF9kZXNjKz0iIC0g ZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRl CisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9wa2djb25maWcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92 ZSB1c3IvbGliL3F0Ni9xbWwvUXRSZW1vdGVPYmplY3RzL3BsdWdpbnMucW1sdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9xdDYvcW1sL1F0UmVtb3RlT2JqZWN0cy9xbWxkaXIKKwkJdm1vdmUgInVzci9s aWIvKi5zbyIKKwkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJfQorfQoKRnJvbSAyY2I5YWJkMTk0 MmZjYmY5YjA1MWViZDhkNTg0ZDlhY2RjYWE2ZTMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9 MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3 OjEzOjExICswNzAwClN1YmplY3Q6IFtQQVRDSCAyNi8zM10gTmV3IHBhY2thZ2U6IHF0Ni13ZWJl bmdpbmUtNi4zLjEuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgIDcgKwogc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsICAgICAgICAgICAg ICAgICAgIHwgICAgMSArCiBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMgICAgICAgICAg ICAgICAgfCAgICAxICsKIC4uLi9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaCAgICAg ICAgICB8ICAgMTEgKwogLi4uL3BhdGNoZXMvMDAwMi1lbmFibGUtcHBjNjQucGF0Y2ggICAgICAg ICAgIHwgICAyMCArCiAuLi4vcGF0Y2hlcy8wMDAzLWNyb3NzLWhhY2sucGF0Y2ggICAgICAgICAg ICAgfCAgIDEwICsKIC4uLi8wMDA0LXBwYy1kaXNhYmxlLWp4bC1kZWNvZGVyLnBhdGNoICAgICAg ICB8ICAgMTMgKwogLi4uL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaCAg IHwgICAxNCArCiAuLi4vMDEwMC1jaHJvbWl1bS1zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2ggICAg fCAgIDU4ICsKIC4uLi9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1zaXplX3QucGF0Y2ggICB8 ICAgMTYgKwogLi4uLzAxMDItY2hyb21pdW0tOTAtcnV5LWluY2x1ZGUucGF0Y2ggICAgICAgIHwg ICAxOSArCiAuLi4tdjgtbW9ub3RvbmljLXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2ggfCAg IDIyICsKIC4uLi8wMTA0LWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoICAgICAgICB8ICAx NjIgKwogLi4uLWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoIHwgICAx NSArCiAuLi4vcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2ggfCAgIDIw ICsKIC4uLi8wMTA3LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2ggICB8ICAgMTgg KwogLi4uLzAxMDgtY2hyb21pdW0tZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoICAgIHwgICA1MyAr CiAuLi4vMDEwOS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoICAgfCAgIDMyICsK IC4uLml1bS1yZXZlcnQtdXNlLWZmaWxlLWNvbXBpbGF0aW9uLWRpci5wYXRjaCB8ICAgNTcgKwog Li4uMTEtY2hyb21pdW0tbm8tV25vLXN0cmluZ29wLW92ZXJyZWFkLnBhdGNoIHwgICAxMCArCiAu Li4vMDE1MC1jaHJvbWl1bS1nbGliYy1saWJjX21hbGxvYy5wYXRjaCAgICAgfCAgIDI0ICsKIC4u Li1pbmNsdWRlLXN5cy1yZWcuaC10by1nZXQtX19XT1JEU0laRS5wYXRjaCB8ICAgMjEgKwogLi4u LzAyMDEtY2hyb21pdW0tbXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoIHwgIDEwMyArCiAuLi4v MDIwMi1jaHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoICAgICAgfCAgIDYyICsKIC4uLi8w MjAzLWNocm9taXVtLW11c2wtc2lnaW5mb190LnBhdGNoICAgICAgICB8ICAgMTggKwogLi4uLzAy MDQtY2hyb21pdW0tbXVzbC1zdGFja3N0YXJ0LnBhdGNoICAgICAgIHwgICAyMCArCiAuLi4vcGF0 Y2hlcy8wMjA1LWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaCAgfCAgIDkyICsKIC4uLjAyMDYt Y2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaCB8ICAgMTUgKwogLi4uLWNocm9t aXVtLW11c2wtY3Jvc3Mtbm8tYXNtX3B0cmFjZV9oLnBhdGNoIHwgICAzMCArCiAuLi4vcGF0Y2hl cy8wMjA4LWNocm9taXVtLW11c2wtZXhlY2luZm8ucGF0Y2ggfCAgMTI1ICsKIC4uLi8wMjA5LWNo cm9taXVtLW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaCB8ICAgMjIgKwogLi4uLzAyMTAtY2hy b21pdW0tbXVzbC1tc2d2ZWMtcHVzaF9iYWNrLnBhdGNoIHwgICAxNCArCiAuLi5pdW0tbXVzbC1j YW5vbmljYWxpemUtZmlsZS1uYW1lLW11c2wucGF0Y2ggfCAgIDExICsKIC4uLi8wMjEyLWNocm9t aXVtLW11c2wtbm8tZ2V0Y29udGV4dC5wYXRjaCAgICB8ICAgMjkgKwogLi4uL3BhdGNoZXMvMDIx My1jaHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoIHwgICAyMiArCiAuLi4vcGF0Y2hlcy8wMjE0 LWNocm9taXVtLW11c2wtZml4ZXMucGF0Y2ggICAgfCAgMTA4ICsKIC4uLi9wYXRjaGVzLzAyMTUt Y2hyb21pdW0tbXVzbC1jZGVmcy5wYXRjaCAgICB8ICAgMjkgKwogLi4uL3BhdGNoZXMvMDIxNi1j aHJvbWl1bS1tdXNsLXN0YXQucGF0Y2ggICAgIHwgICAxMiArCiAuLi4vcGF0Y2hlcy8wMjE3LWNo cm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2ggfCAgIDc3ICsKIC4uLi9wYXRjaGVzLzA2MDAtY2hy b21pdW0tc25kaW8ucGF0Y2ggICAgICAgICB8ICA4NzYgKysrKwogLi4uL3BhdGNoZXMvMDcwMC1h cm12N2wtbmVvbi5wYXRjaCAgICAgICAgICAgIHwgICAxMCArCiAuLi4vMDc1MC1jaHJvbWl1bS1t dXNsLWFybS11c2VyX3ZmcC5wYXRjaCAgICAgfCAgIDIwICsKIC4uLi8wNzUxLWNocm9taXVtLW11 c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2ggICB8ICAgMTggKwogLi4uMDgwMS1jaHJvbWl1bS1pNjg2 LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoIHwgICAyNCArCiAuLi4vcGF0Y2hlcy8wOTAwLXh4eC1w cGM2NGxlLWxpYnZweC5wYXRjaCAgICAgfCAgIDY1ICsKIC4uLi8wOTAxLXh4eC1wcGM2NGxlLXNh bmRib3gtbGludXgtc3RhdC5wYXRjaCB8ICAgMzEgKwogLi4uL3BhdGNoZXMvMDkwMi14eHgtcHBj NjRsZS1zdXBwb3J0LnBhdGNoICAgIHwgMzU1OSArKysrKysrKysrKysrKysrKwogLi4uLzA5MDMt eHh4LXBwYzY0bGUtc3dpZnRzaGFkZXIucGF0Y2ggICAgICAgIHwgICAxOCArCiBzcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvdGVtcGxhdGUgICAgICAgICAgICAgICAgfCAgMTc4ICsKIHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS91cGRhdGUgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogNTAgZmlsZXMgY2hh bmdlZCwgNjE5MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9xdDYt d2ViZW5naW5lLWRldmVsCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9xdDYtd2ViZW5naW5l LWV4YW1wbGVzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDAwMS1Ob25lLW5vLWRlYnVnLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMi1lbmFibGUtcHBjNjQucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAzLWNyb3NzLWhhY2sucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0 LXBwYy1kaXNhYmxlLWp4bC1kZWNvZGVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hy b21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1zaXplX3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAyLWNocm9taXVtLTkwLXJ1eS1p bmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEwMy1jaHJvbWl1bS12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MDQtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5 c3RlbS1qYXZhLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1bS1jdXJzZWRe VXNjb3BlZF9maWxlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1bS1maXgtbmFycm93aW5nLWNhc3QucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA5LWNocm9taXVt LXJlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEwLWNocm9taXVtLXJldmVydC11c2UtZmZpbGUtY29tcGls YXRpb24tZGlyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDExMS1jaHJvbWl1bS1uby1Xbm8tc3RyaW5nb3Atb3ZlcnJlYWQucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9t aXVtLWdsaWJjLWxpYmNfbWFsbG9jLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1tdXNsLWluY2x1ZGUtc3lzLXJlZy5o LXRvLWdldC1fX1dPUkRTSVpFLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDIwMS1jaHJvbWl1bS1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAy LWNocm9taXVtLW11c2wtbm8tbWFsbGluZm8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAzLWNocm9taXVtLW11c2wtc2lnaW5mb190LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIw NC1jaHJvbWl1bS1tdXNsLXN0YWNrc3RhcnQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA1LWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYt Y2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDctY2hyb21pdW0tbXVzbC1jcm9zcy1u by1hc21fcHRyYWNlX2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMjA4LWNocm9taXVtLW11c2wtZXhlY2luZm8ucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA5LWNocm9taXVtLW11 c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTAtY2hyb21pdW0tbXVzbC1tc2d2ZWMtcHVzaF9iYWNrLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIx MS1jaHJvbWl1bS1tdXNsLWNhbm9uaWNhbGl6ZS1maWxlLW5hbWUtbXVzbC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTItY2hyb21pdW0t bXVzbC1uby1nZXRjb250ZXh0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNC1jaHJvbWl1 bS1tdXNsLWZpeGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNi1jaHJvbWl1bS1tdXNsLXN0 YXQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMjE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNjAwLWNocm9taXVtLXNuZGlvLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDcwMC1hcm12 N2wtbmVvbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzA3NTAtY2hyb21pdW0tbXVzbC1hcm0tdXNlcl92ZnAucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUxLWNocm9taXVtLW11c2wt YXJtLWVsZl9hdXh2X3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wODAxLWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAwLXh4 eC1wcGM2NGxlLWxpYnZweC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzA5MDEteHh4LXBwYzY0bGUtc2FuZGJveC1saW51eC1zdGF0LnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMi14 eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDkwMy14eHgtcHBjNjRsZS1zd2lmdHNoYWRlci5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUKCmRpZmYgLS1naXQgYS9jb21t b24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBhMGZhYjg4Njk5NDguLmZhNzJmOGVlMjRk MiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDg2 LDYgKzIwODYsMTMgQEAgbGliUXQ2UG9zaXRpb25pbmcuc28uNiBxdDYtbG9jYXRpb24tNi4yLjBh bHBoYV8xCiBsaWJRdDZNdWx0aW1lZGlhV2lkZ2V0cy5zby42IHF0Ni1tdWx0aW1lZGlhLTYuMy4x XzEKIGxpYlF0Nk11bHRpbWVkaWFRdWljay5zby42IHF0Ni1tdWx0aW1lZGlhLTYuMy4xXzEKIGxp YlF0Nk11bHRpbWVkaWEuc28uNiBxdDYtbXVsdGltZWRpYS02LjMuMV8xCitsaWJRdDZXZWJFbmdp bmVRdWljay5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2UGRmV2lkZ2V0cy5zby42 IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2UGRmUXVpY2suc28uNiBxdDYtd2ViZW5naW5l LTYuMy4xXzEKK2xpYlF0NldlYkVuZ2luZUNvcmUuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEK K2xpYlF0NlBkZi5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2V2ViRW5naW5lUXVp Y2tEZWxlZ2F0ZXNRbWwuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NldlYkVuZ2lu ZVdpZGdldHMuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKIGxpYm5wdGguc28uMCBucHRoLTEu MV8xCiBsaWJucHVwbnAuc28uNCBsaWJucHVwbnAtNC4wLjJfMQogbGliZ2xmdy5zby4zIGdsZnct My4wLjRfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAw MDAwMC4uOGU0ZDFiOTljNTg3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0Ni13ZWJlbmdpbmUKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMgYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXgg MDAwMDAwMDAwMDAwLi44ZTRkMWI5OWM1ODcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUtZXhhbXBsZXMKQEAgLTAsMCArMSBAQAorcXQ2LXdlYmVuZ2luZQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjFiYTMzZjhlNmZkOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaApAQCAtMCwwICsx LDExIEBACistLS0gYS9jbWFrZS9GdW5jdGlvbnMuY21ha2UKKysrKyBiL2NtYWtlL0Z1bmN0aW9u cy5jbWFrZQorQEAgLTgxMyw2ICs4MTMsOCBAQCBtYWNybyhhcHBlbmRfYnVpbGRfdHlwZV9zZXR1 cCkKKyAgICAgICAgIGVuZGlmKCkKKyAgICAgZWxzZWlmKCR7Y29uZmlnfSBTVFJFUVVBTCAiTWlu U2l6ZVJlbCIpCisgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0FyZyBpc19kZWJ1Zz1mYWxzZSBz eW1ib2xfbGV2ZWw9MCBvcHRpbWl6ZV9mb3Jfc2l6ZT10cnVlKQorKyAgICBlbHNlaWYoJHtjb25m aWd9IFNUUkVRVUFMICJOb25lIikKKysgICAgICAgIGxpc3QoQVBQRU5EIGduQXJnQXJnIGlzX2Rl YnVnPWZhbHNlIHN5bWJvbF9sZXZlbD0wKQorICAgICBlbmRpZigpCisgICAgIGlmKEZFQVRVUkVf ZGV2ZWxvcGVyX2J1aWxkIE9SICgke2NvbmZpZ30gU1RSRVFVQUwgIkRlYnVnIikgT1IgUVRfRkVB VFVSRV93ZWJlbmdpbmVfc2FuaXRpemVyKQorICAgICAgICAgbGlzdChBUFBFTkQgZ25BcmdBcmcK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDItZW5hYmxlLXBw YzY0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMi1lbmFibGUtcHBj NjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNzJlZjFh ZDFhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MDAyLWVuYWJsZS1wcGM2NC5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gYS9jbWFrZS9GdW5j dGlvbnMuY21ha2UKKysrKyBiL2NtYWtlL0Z1bmN0aW9ucy5jbWFrZQorQEAgLTYyMiw2ICs2MjIs OCBAQCBmdW5jdGlvbihnZXRfZ25fYXJjaCByZXN1bHQgYXJjaCkKKyAgICAgICAgIHNldCgke3Jl c3VsdH0gIm1pcHNlbCIgUEFSRU5UX1NDT1BFKQorICAgICBlbHNlaWYoYXJjaCBTVFJFUVVBTCAi bWlwc2VsNjQiKQorICAgICAgICAgc2V0KCR7cmVzdWx0fSAibWlwczY0ZWwiIFBBUkVOVF9TQ09Q RSkKKysgICAgZWxzZWlmKGFyY2ggU1RSRVFVQUwgInBvd2VyNjQiKQorKyAgICAgICAgc2V0KCR7 cmVzdWx0fSAicG93ZXI2NCIgUEFSRU5UX1NDT1BFKQorICAgICBlbHNlKCkKKyAgICAgICAgIG1l c3NhZ2UoREVCVUcgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZTogJHthcmNofSIpCisgICAgIGVu ZGlmKCkKK0BAIC02NDEsNiArNjQzLDggQEAgZnVuY3Rpb24oZ2V0X3Y4X2FyY2ggcmVzdWx0IHRh cmdldEFyY2ggaAorICAgICAgICAgICAgIHNldCgke3Jlc3VsdH0gIm1pcHNlbCIgUEFSRU5UX1ND T1BFKQorICAgICAgICAgZWxzZWlmKGhvc3RBcmNoIFNUUkVRVUFMICJtaXBzZWw2NCIpCisgICAg ICAgICAgICAgc2V0KCR7cmVzdWx0fSAibWlwc2VsIiBQQVJFTlRfU0NPUEUpCisrICAgICAgICBl bHNlaWYoaG9zdEFyY2ggU1RSRVFVQUwgInBvd2VyNjQiKQorKyAgICAgICAgICAgIHNldCgke3Jl c3VsdH0gInBvd2VyNjQiIFBBUkVOVF9TQ09QRSkKKyAgICAgICAgIGVsc2UoKQorICAgICAgICAg ICAgIG1lc3NhZ2UoREVCVUcgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZTogJHtob3N0QXJjaH0i KQorICAgICAgICAgZW5kaWYoKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uZWE5ZjkwMDk0YTYzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0t LSBhL3NyYy9jb3JlL2FwaS9DTWFrZUxpc3RzLnR4dAorKysrIGIvc3JjL2NvcmUvYXBpL0NNYWtl TGlzdHMudHh0CitAQCAtNTAsNiArNTAsNyBAQCBxdF9pbnRlcm5hbF9hZGRfbW9kdWxlKFdlYkVu Z2luZUNvcmUKKyAgICAgICAgIFF0OjpHdWkKKyAgICAgICAgIFF0OjpOZXR3b3JrCisgICAgICAg ICBRdDo6UXVpY2sKKysgICAgICAgIFgxMQorICkKKyAKKyBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMo V2ViRW5naW5lQ29yZSBQUk9QRVJUSUVTIFFUV0VCRU5HSU5FUFJPQ0VTU19OQU1FICR7cXRXZWJF bmdpbmVQcm9jZXNzTmFtZX0pCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDA0LXBwYy1kaXNhYmxlLWp4bC1kZWNvZGVyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDAwNC1wcGMtZGlzYWJsZS1qeGwtZGVjb2Rlci5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjczYzExNTE5NjhmNAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQtcHBjLWRpc2FibGUt anhsLWRlY29kZXIucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvc3JjL2NvcmUvQ01ha2VM aXN0cy50eHQKKysrKyBiL3NyYy9jb3JlL0NNYWtlTGlzdHMudHh0CitAQCAtNDE0LDYgKzQxNCwx MCBAQCBmb3JlYWNoKGFyY2ggJHthcmNoc30pCisgICAgICAgICAgICAgICAgIENPTkRJVElPTiBR VF9GRUFUVVJFX3dlYmVuZ2luZV9vem9uZV94MTEgQU5EIFhTQ1JOU0FWRVJfRk9VTkQKKyAgICAg ICAgICAgICApCisgCisrICAgICAgICAgICAgaWYgKGNwdSBTVFJFUVVBTCAicHBjNjQiKQorKyAg ICAgICAgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0FyZyBlbmFibGVfanhsX2RlY29kZXI9ZmFs c2UpCisrICAgICAgICAgICAgZW5kaWYoKQorKworICAgICAgICAgICAgIGlmKFFUX0ZFQVRVUkVf d2ViZW5naW5lX2tlcmJlcm9zKQorICAgICAgICAgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0Fy ZworICAgICAgICAgICAgICAgICAgICAgIGV4dGVybmFsX2dzc2FwaV9pbmNsdWRlX2Rpcj0iJHtH U1NBUElfSU5DTFVERV9ESVJTfS9nc3NhcGkiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMDUwLW5vLWdsaWJjLWNtYWtlLWNoZWNrLnBhdGNoIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY3NTZiZjAyODZiYgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwNTAtbm8tZ2xpYmMt Y21ha2UtY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorLS0tIGEvY29uZmlndXJlLmNtYWtl CisrKysgYi9jb25maWd1cmUuY21ha2UKK0BAIC00OTksMTEgKzQ5OSw2IEBAIGFkZF9jaGVja19m b3Jfc3VwcG9ydCgKKyApCisgYWRkX2NoZWNrX2Zvcl9zdXBwb3J0KAorICAgIE1PRFVMRVMgUXRX ZWJFbmdpbmUgUXRQZGYKKy0gICBDT05ESVRJT04gTk9UIExJTlVYIE9SIFRFU1RfZ2xpYmMKKy0g ICBNRVNTQUdFICJBIHN1aXRhYmxlIHZlcnNpb24gPj0gMi4xNyBvZiBnbGliYyBpcyByZXF1aXJl ZC4iCistKQorLWFkZF9jaGVja19mb3Jfc3VwcG9ydCgKKy0gICBNT0RVTEVTIFF0V2ViRW5naW5l IFF0UGRmCisgICAgQ09ORElUSU9OIE5PVCBMSU5VWCBPUiBURVNUX2tocgorICAgIE1FU1NBR0Ug IkJ1aWxkIHJlcXVpcmVzIEtocm9ub3MgZGV2ZWxvcG1lbnQgaGVhZGVycyBmb3IgYnVpbGQgLSBz ZWUgbWVzYS9saWJlZ2wxLW1lc2EtZGV2IgorICkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoIGIv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1zYW5kYm94LW1lbWJh cnJpZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yZGQ3 YjRhYTk0OGYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTAwLWNocm9taXVtLXNhbmRib3gtbWVtYmFycmllci5wYXRjaApAQCAtMCwwICsxLDU4IEBA CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKK0BAIC00MTMsNiAr NDEzLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0TworICAgc3dp dGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfZXhpdDoKKyAgICAgY2FzZSBfX05SX2V4aXRf Z3JvdXA6CisrICAgIGNhc2UgX19OUl9tZW1iYXJyaWVyOgorICAgICBjYXNlIF9fTlJfd2FpdDQ6 CisgICAgIGNhc2UgX19OUl93YWl0aWQ6CisgI2lmIGRlZmluZWQoX19pMzg2X18pCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm02NF9s aW51eF9zeXNjYWxscy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oCitAQCAtMTIxNSw0ICsxMjE1 LDggQEAKKyAjZGVmaW5lIF9fTlJfbGFuZGxvY2tfcmVzdHJpY3Rfc2VsZiA0NDYKKyAjZW5kaWYK KyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJy aWVyIDI4MworKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVB REVSU19BUk02NF9MSU5VWF9TWVNDQUxMU19IXworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9s aW51eF9zeXNjYWxscy5oCitAQCAtMTYxNyw2ICsxNjE3LDEwIEBACisgI2RlZmluZSBfX05SX2xh bmRsb2NrX3Jlc3RyaWN0X3NlbGYgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNDQ2KQorICNlbmRpZgor IAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJp ZXIgKF9fTlJfU1lTQ0FMTF9CQVNFKzM4OSkKKysjZW5kaWYKKysKKyAvLyBBUk0gcHJpdmF0ZSBz eXNjYWxscy4KKyAjaWYgIWRlZmluZWQoX19BUk1fTlJfQkFTRSkKKyAjZGVmaW5lIF9fQVJNX05S X0JBU0UgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMHhGMDAwMCkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl8zMl9saW51eF9zeXNjYWxs cy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaAorQEAgLTE3NTAsNSArMTc1MCw5IEBACisgI2Rl ZmluZSBfX05SX2xhbmRsb2NrX3Jlc3RyaWN0X3NlbGYgNDQ2CisgI2VuZGlmCisgCisrI2lmICFk ZWZpbmVkKF9fTlJfbWVtYmFycmllcikKKysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAzNzUKKysj ZW5kaWYKKysKKyAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfWDg2XzMy X0xJTlVYX1NZU0NBTExTX0hfCisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy94ODZfNjRfbGludXhfc3lzY2FsbHMuaAorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzY0X2xp bnV4X3N5c2NhbGxzLmgKK0BAIC0xNDM4LDUgKzE0MzgsOSBAQAorICNkZWZpbmUgX19OUl9sYW5k bG9ja19yZXN0cmljdF9zZWxmIDQ0NgorICNlbmRpZgorIAorKyNpZiAhZGVmaW5lZChfX05SX21l bWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIgMzI0CisrI2VuZGlmCisrCisgI2Vu ZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1g4Nl82NF9MSU5VWF9TWVNDQUxM U19IXworIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1z aXplX3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAxLXNpemVfdC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZjY2MwODVkYTMx MQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDEt c2l6ZV90LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL3BsYXRmb3JtL1BsYXRmb3JtTWV0aG9kcy5oCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9wbGF0 Zm9ybS9QbGF0Zm9ybU1ldGhvZHMuaAorQEAgLTIzOSwxMSArMjM5LDExIEBAIGlubGluZSB2b2lk IERlZmF1bHRPdmVycmlkZUZlYXR1cmVzTXRsKFAKKyB1c2luZyBQcm9ncmFtS2V5VHlwZSAgID0g c3RkOjphcnJheTx1aW50OF90LCAyMD47CisgdXNpbmcgQ2FjaGVQcm9ncmFtRnVuYyA9IHZvaWQg KCopKFBsYXRmb3JtTWV0aG9kcyAqcGxhdGZvcm0sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IFByb2dyYW1LZXlUeXBlICZrZXksCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpemVfdCBwcm9ncmFtU2l6ZSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RkOjpzaXplX3QgcHJvZ3JhbVNpemUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnByb2dyYW1CeXRlcyk7CisgaW5saW5l IHZvaWQgRGVmYXVsdENhY2hlUHJvZ3JhbShQbGF0Zm9ybU1ldGhvZHMgKnBsYXRmb3JtLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbUtleVR5cGUgJmtleSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBwcm9ncmFtU2l6ZSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IHByb2dyYW1TaXplLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcHJvZ3JhbUJ5 dGVzKQorIHt9CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTAyLWNocm9taXVtLTkwLXJ1eS1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEwMi1jaHJvbWl1bS05MC1ydXktaW5jbHVkZS5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJiYmE1NzkwNzZkNgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDItY2hyb21pdW0tOTAtcnV5LWlu Y2x1ZGUucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorRnJvbSA3MTQwOTJmMzM2YmIxNGQyZmNjMjcz OTZlYzMyM2IzZDg0M2JiOTYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RlcGhh biBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCA0IE1hciAyMDIx IDE1OjA1OjQ2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6IGluY2x1ZGUgbGltaXRzIGZv ciBzdGQ6Om51bWVyaWNfbGltaXRzCisKKy0tLQorIHRoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L2Js b2NrX21hcC5jYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvYmxvY2tfbWFw LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkv YmxvY2tfbWFwLmNjCitAQCAtMTcsNiArMTcsNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGlj ZW5zZS4KKyAKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNpbmNsdWRlIDxjc3RkaW50PgorKyNp bmNsdWRlIDxsaW1pdHM+CisgCisgI2lmZGVmIFJVWV9NQUtFQkxPQ0tNQVBfREVCVUcKKyAjaW5j bHVkZSA8Y3N0ZGlvPgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwMy1jaHJvbWl1bS12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaCBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0tdjgtbW9ub3Rvbmlj LXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi4xZGM4YmM0ZDNkMTcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAzLWNocm9taXVtLXY4LW1vbm90b25pYy1wdGhyZWFkLWNv bnRfdGltZWR3YWl0LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK1VzZSBtb25vdG9uaWMgY2xvY2sg Zm9yIHB0aHJlYWRfY29uZF90aW1lZHdhaXQgd2l0aCBtdXNsIHRvby4KKworLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL2NvbmRpdGlvbi12YXJpYWJsZS5j YworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL2NvbmRp dGlvbi12YXJpYWJsZS5jYworQEAgLTIwLDcgKzIwLDcgQEAgbmFtZXNwYWNlIGJhc2UgeworIAor IENvbmRpdGlvblZhcmlhYmxlOjpDb25kaXRpb25WYXJpYWJsZSgpIHsKKyAjaWYgKFY4X09TX0ZS RUVCU0QgfHwgVjhfT1NfTkVUQlNEIHx8IFY4X09TX09QRU5CU0QgfHwgXAorLSAgICAgKFY4X09T X0xJTlVYICYmIFY4X0xJQkNfR0xJQkMpKQorKyAgICAgVjhfT1NfTElOVVgpCisgICAvLyBPbiBG cmVlL05ldC9PcGVuQlNEIGFuZCBMaW51eCB3aXRoIGdsaWJjIHdlIGNhbiBjaGFuZ2UgdGhlIHRp bWUKKyAgIC8vIHNvdXJjZSBmb3IgcHRocmVhZF9jb25kX3RpbWVkd2FpdCgpIHRvIHVzZSB0aGUg bW9ub3RvbmljIGNsb2NrLgorICAgcHRocmVhZF9jb25kYXR0cl90IGF0dHI7CitAQCAtOTYsNyAr OTYsNyBAQCBib29sIENvbmRpdGlvblZhcmlhYmxlOjpXYWl0Rm9yKE11dGV4KiBtCisgICAgICAg Jm5hdGl2ZV9oYW5kbGVfLCAmbXV0ZXgtPm5hdGl2ZV9oYW5kbGUoKSwgJnRzKTsKKyAjZWxzZQor ICNpZiAoVjhfT1NfRlJFRUJTRCB8fCBWOF9PU19ORVRCU0QgfHwgVjhfT1NfT1BFTkJTRCB8fCBc CistICAgICAoVjhfT1NfTElOVVggJiYgVjhfTElCQ19HTElCQykpCisrICAgICBWOF9PU19MSU5V WCkKKyAgIC8vIE9uIEZyZWUvTmV0L09wZW5CU0QgYW5kIExpbnV4IHdpdGggZ2xpYmMgd2UgY2Fu IGNoYW5nZSB0aGUgdGltZQorICAgLy8gc291cmNlIGZvciBwdGhyZWFkX2NvbmRfdGltZWR3YWl0 KCkgdG8gdXNlIHRoZSBtb25vdG9uaWMgY2xvY2suCisgICByZXN1bHQgPSBjbG9ja19nZXR0aW1l KENMT0NLX01PTk9UT05JQywgJnRzKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2ggYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0LWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDJiMWVlOWVjMDYzCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNC1jaHJvbWl1 bS1yZXZlcnQtOWQwODBjMC5wYXRjaApAQCAtMCwwICsxLDE2MiBAQAorIE9yaWdpbmFsIGNoYW5n ZSdzIGRlc2NyaXB0aW9uOgorID4gUmVwbGFjZSAnYmxhY2tsaXN0JyB3aXRoICdpZ25vcmVsaXN0 JyBpbiAuL3Rvb2xzL21zYW4vLgorID4KKyA+IEJ1ZzogMTA5NzI3MiwgMTA5NzI2OAorID4gQ2hh bmdlLUlkOiBJZDVjODIyN2E1YmZiMWZmYWVjODJkMzE2OGI2MDkwODViMTBjODI5NworID4gUmV2 aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJv bWl1bS9zcmMvKy8yODY3NzMwCisgPiBDb21taXQtUXVldWU6IER5bGFuIEN1dGxlciA8ZHlsYW5j dXRsZXJAZ29vZ2xlLmNvbT4KKyA+IFJldmlld2VkLWJ5OiBOaWNvIFdlYmVyIDx0aGFraXNAY2hy b21pdW0ub3JnPgorID4gUmV2aWV3ZWQtYnk6IEpvbmF0aGFuIE1ldHptYW4gPG1ldHptYW5AY2hy b21pdW0ub3JnPgorID4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg4 MzAzNX0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvc2FuaXRpemVy cy9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2NvbmZpZy9zYW5p dGl6ZXJzL0JVSUxELmduCitAQCAtMjcyLDExICsyNzIsMTEgQEAgY29uZmlnKCJhc2FuX2ZsYWdz IikgeworICAgaWYgKGlzX2FzYW4pIHsKKyAgICAgY2ZsYWdzICs9IFsgIi1mc2FuaXRpemU9YWRk cmVzcyIgXQorICAgICBpZiAoaXNfd2luKSB7CistICAgICAgaWYgKCFkZWZpbmVkKGFzYW5fd2lu X2Jsb2NrbGlzdF9wYXRoKSkgeworLSAgICAgICAgYXNhbl93aW5fYmxvY2tsaXN0X3BhdGggPQor KyAgICAgIGlmICghZGVmaW5lZChhc2FuX3dpbl9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICAg IGFzYW5fd2luX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90 b29scy9tZW1vcnkvYXNhbi9ibG9ja2xpc3Rfd2luLnR4dCIsIHJvb3RfYnVpbGRfZGlyKQorICAg ICAgIH0KKy0gICAgICBjZmxhZ3MgKz0gWyAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSRhc2FuX3dp bl9ibG9ja2xpc3RfcGF0aCIgXQorKyAgICAgIGNmbGFncyArPSBbICItZnNhbml0aXplLWJsYWNr bGlzdD0kYXNhbl93aW5fYmxhY2tsaXN0X3BhdGgiIF0KKyAgICAgfQorICAgfQorIH0KK0BAIC0z MDYsMTMgKzMwNiwxMyBAQCBjb25maWcoImxpbmtfc2hhcmVkX2xpYnJhcnkiKSB7CisgY29uZmln KCJjZmlfZmxhZ3MiKSB7CisgICBjZmxhZ3MgPSBbXQorICAgaWYgKGlzX2NmaSAmJiBjdXJyZW50 X3Rvb2xjaGFpbiA9PSBkZWZhdWx0X3Rvb2xjaGFpbikgeworLSAgICBpZiAoIWRlZmluZWQoY2Zp X2lnbm9yZWxpc3RfcGF0aCkpIHsKKy0gICAgICBjZmlfaWdub3JlbGlzdF9wYXRoID0KKysgICAg aWYgKCFkZWZpbmVkKGNmaV9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICBjZmlfYmxhY2tsaXN0 X3BhdGggPQorICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9jZmkvaWdub3Jlcy50eHQi LCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgKz0gWworICAgICAgICItZnNh bml0aXplPWNmaS12Y2FsbCIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kY2ZpX2ln bm9yZWxpc3RfcGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSRjZmlfYmxhY2ts aXN0X3BhdGgiLAorICAgICBdCisgCisgICAgIGlmICh1c2VfY2ZpX2Nhc3QpIHsKK0BAIC00MDks MTQgKzQwOSwxNCBAQCBjb25maWcoIm1zYW5fZmxhZ3MiKSB7CisgICBpZiAoaXNfbXNhbikgewor ICAgICBhc3NlcnQoaXNfbGludXggfHwgaXNfY2hyb21lb3MsCisgICAgICAgICAgICAibXNhbiBv bmx5IHN1cHBvcnRlZCBvbiBsaW51eCB4ODZfNjQvQ2hyb21lT1MiKQorLSAgICBpZiAoIWRlZmlu ZWQobXNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAgbXNhbl9pZ25vcmVsaXN0X3BhdGgg PQorLSAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9tc2FuL2lnbm9yZWxpc3QudHh0Iiwg cm9vdF9idWlsZF9kaXIpCisrICAgIGlmICghZGVmaW5lZChtc2FuX2JsYWNrbGlzdF9wYXRoKSkg eworKyAgICAgIG1zYW5fYmxhY2tsaXN0X3BhdGggPQorKyAgICAgICAgICByZWJhc2VfcGF0aCgi Ly90b29scy9tc2FuL2JsYWNrbGlzdC50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAg ICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2FuaXRpemU9bWVtb3J5IiwKKyAgICAgICAiLWZzYW5p dGl6ZS1tZW1vcnktdHJhY2stb3JpZ2lucz0kbXNhbl90cmFja19vcmlnaW5zIiwKKy0gICAgICAi LWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSRtc2FuX2lnbm9yZWxpc3RfcGF0aCIsCisrICAgICAgIi1m c2FuaXRpemUtYmxhY2tsaXN0PSRtc2FuX2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorICAgfQor IH0KK0BAIC00MjQsMTMgKzQyNCwxMyBAQCBjb25maWcoIm1zYW5fZmxhZ3MiKSB7CisgY29uZmln KCJ0c2FuX2ZsYWdzIikgeworICAgaWYgKGlzX3RzYW4pIHsKKyAgICAgYXNzZXJ0KGlzX2xpbnV4 IHx8IGlzX2Nocm9tZW9zLCAidHNhbiBvbmx5IHN1cHBvcnRlZCBvbiBsaW51eCB4ODZfNjQiKQor LSAgICBpZiAoIWRlZmluZWQodHNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAgdHNhbl9p Z25vcmVsaXN0X3BhdGggPQorKyAgICBpZiAoIWRlZmluZWQodHNhbl9ibGFja2xpc3RfcGF0aCkp IHsKKysgICAgICB0c2FuX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAgcmViYXNlX3BhdGgo Ii8vdG9vbHMvbWVtb3J5L3RzYW5fdjIvaWdub3Jlcy50eHQiLCByb290X2J1aWxkX2RpcikKKyAg ICAgfQorICAgICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2FuaXRpemU9dGhyZWFkIiwKKy0gICAg ICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR0c2FuX2lnbm9yZWxpc3RfcGF0aCIsCisrICAgICAg Ii1mc2FuaXRpemUtYmxhY2tsaXN0PSR0c2FuX2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorICAg fQorIH0KK0BAIC00MzgsOCArNDM4LDggQEAgY29uZmlnKCJ0c2FuX2ZsYWdzIikgeworIGNvbmZp ZygidWJzYW5fZmxhZ3MiKSB7CisgICBjZmxhZ3MgPSBbXQorICAgaWYgKGlzX3Vic2FuKSB7Cist ICAgIGlmICghZGVmaW5lZCh1YnNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAgdWJzYW5f aWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKHVic2FuX2JsYWNrbGlzdF9wYXRo KSkgeworKyAgICAgIHVic2FuX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAgcmViYXNlX3Bh dGgoIi8vdG9vbHMvdWJzYW4vaWdub3JlbGlzdC50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAg fQorICAgICBjZmxhZ3MgKz0gWworQEAgLTQ1Niw3ICs0NTYsNyBAQCBjb25maWcoInVic2FuX2Zs YWdzIikgeworICAgICAgICItZnNhbml0aXplPXNpZ25lZC1pbnRlZ2VyLW92ZXJmbG93IiwKKyAg ICAgICAiLWZzYW5pdGl6ZT11bnJlYWNoYWJsZSIsCisgICAgICAgIi1mc2FuaXRpemU9dmxhLWJv dW5kIiwKKy0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR1YnNhbl9pZ25vcmVsaXN0X3Bh dGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdWJzYW5fYmxhY2tsaXN0X3BhdGgi LAorICAgICBdCisgICAgIGlmICghaXNfY2xhbmcpIHsKKyAgICAgICAjIFRoZXNlIGV4cG9zZXMg dG9vIG11Y2ggaWxsZWdhbCBDKysxNCBjb2RlIHRvIGNvbXBpbGUgb24gYW55dGhpbmcgc3RyaWN0 ZXIgdGhhbiBjbGFuZzoKK0BAIC00OTcsOCArNDk3LDggQEAgY29uZmlnKCJ1YnNhbl9ub19yZWNv dmVyIikgeworIAorIGNvbmZpZygidWJzYW5fc2VjdXJpdHlfZmxhZ3MiKSB7CisgICBpZiAoaXNf dWJzYW5fc2VjdXJpdHkpIHsKKy0gICAgaWYgKCFkZWZpbmVkKHVic2FuX3NlY3VyaXR5X2lnbm9y ZWxpc3RfcGF0aCkpIHsKKy0gICAgICB1YnNhbl9zZWN1cml0eV9pZ25vcmVsaXN0X3BhdGggPQor KyAgICBpZiAoIWRlZmluZWQodWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGgpKSB7CisrICAg ICAgdWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGggPQorICAgICAgICAgICByZWJhc2VfcGF0 aCgiLy90b29scy91YnNhbi9zZWN1cml0eV9pZ25vcmVsaXN0LnR4dCIsIHJvb3RfYnVpbGRfZGly KQorICAgICB9CisgICAgIGNmbGFncyA9IFsKK0BAIC01MDYsNyArNTA2LDcgQEAgY29uZmlnKCJ1 YnNhbl9zZWN1cml0eV9mbGFncyIpIHsKKyAgICAgICAiLWZzYW5pdGl6ZT1zaGlmdCIsCisgICAg ICAgIi1mc2FuaXRpemU9c2lnbmVkLWludGVnZXItb3ZlcmZsb3ciLAorICAgICAgICItZnNhbml0 aXplPXZsYS1ib3VuZCIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kdWJzYW5fc2Vj dXJpdHlfaWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JHVi c2FuX3NlY3VyaXR5X2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorICAgfQorIH0KK0BAIC01MTks MTMgKzUxOSwxMyBAQCBjb25maWcoInVic2FuX251bGxfZmxhZ3MiKSB7CisgCisgY29uZmlnKCJ1 YnNhbl92cHRyX2ZsYWdzIikgeworICAgaWYgKGlzX3Vic2FuX3ZwdHIpIHsKKy0gICAgaWYgKCFk ZWZpbmVkKHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoKSkgeworLSAgICAgIHVic2FuX3ZwdHJf aWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKHVic2FuX3ZwdHJfYmxhY2tsaXN0 X3BhdGgpKSB7CisrICAgICAgdWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0aCA9CisgICAgICAgICAg IHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2FuL3ZwdHJfaWdub3JlbGlzdC50eHQiLCByb290X2J1 aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2FuaXRpemU9dnB0 ciIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kdWJzYW5fdnB0cl9pZ25vcmVsaXN0 X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdWJzYW5fdnB0cl9ibGFja2xp c3RfcGF0aCIsCisgICAgIF0KKyAgICAgaWYgKCFpc19jbGFuZykgeworICAgICAgICMgQ2xhbmcg c3BlY2lmaWMgZmxhZzoKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZF9vdmVycmlk ZXMvYnVpbGQuZ25pCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGRfb3ZlcnJpZGVz L2J1aWxkLmduaQorQEAgLTQzLDE1ICs0MywxNSBAQCBkZWNsYXJlX2FyZ3MoKSB7CisgIyBBbGxv d3MgZGlmZmVyZW50IHByb2plY3RzIHRvIHNwZWNpZnkgdGhlaXIgb3duIHN1cHByZXNzaW9uL2ln bm9yZSBsaXN0cyBmb3IKKyAjIHNhbml0aXplciB0b29scy4KKyAjIGFzYW5fc3VwcHJlc3Npb25z X2ZpbGUgPSAicGF0aC90by9hc2FuX3N1cHByZXNzaW9ucy5jYyIKKy0jIGFzYW5fd2luX2lnbm9y ZWxpc3RfcGF0aCA9ICJwYXRoL3RvL2FzYW4vYmxvY2tsaXN0X3dpbi50eHQiCisrIyBhc2FuX3dp bl9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3RvL2FzYW4vYmxvY2tsaXN0X3dpbi50eHQiCisgIyBs c2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vbHNhbl9zdXBwcmVzc2lvbnMuY2MiCisg IyB0c2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vdHNhbl9zdXBwcmVzc2lvbnMuY2Mi CistIyB0c2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL3RzYW4vaWdub3Jlcy50eHQiCist IyBtc2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL21zYW4vaWdub3JlbGlzdC50eHQiCist IyB1YnNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi9pZ25vcmVsaXN0LnR4dCIK Ky0jIHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vdWJzYW4vdnB0cl9pZ25v cmVsaXN0LnR4dCIKKy0jIHVic2FuX3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3Rv L3Vic2FuL3NlY3VyaXR5X2lnbm9yZWxpc3QudHh0IgorLSMgY2ZpX2lnbm9yZWxpc3RfcGF0aCA9 ICJwYXRoL3RvL2NmaS9pZ25vcmVzLnR4dCIKKysjIHRzYW5fYmxhY2tsaXN0X3BhdGggPSAicGF0 aC90by90c2FuL2lnbm9yZXMudHh0IgorKyMgbXNhbl9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3Rv L21zYW4vYmxhY2tsaXN0LnR4dCIKKysjIHVic2FuX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8v dWJzYW4vYmxhY2tsaXN0LnR4dCIKKysjIHVic2FuX3ZwdHJfYmxhY2tsaXN0X3BhdGggPSAicGF0 aC90by91YnNhbi92cHRyX2JsYWNrbGlzdC50eHQiCisrIyB1YnNhbl9zZWN1cml0eV9ibGFja2xp c3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL3NlY3VyaXR5X2JsYWNrbGlzdC50eHQiCisrIyBjZmlf YmxhY2tsaXN0X3BhdGggPSAicGF0aC90by9jZmkvaWdub3Jlcy50eHQiCisgCisgZGVjbGFyZV9h cmdzKCkgeworICAgIyBBbmRyb2lkIDMyLWJpdCBub24tY29tcG9uZW50LCBub24tY2xhbmcgYnVp bGRzIGNhbm5vdCBoYXZlIHN5bWJvbF9sZXZlbD0yCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZh LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNS1jaHJvbWl1bS1yZXZl cnQtZHJvcC1vZi1zeXN0ZW0tamF2YS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjQ0ZjNhYThmYWU1ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDUtY2hyb21pdW0tcmV2ZXJ0LWRyb3Atb2Ytc3lzdGVtLWph dmEucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorVGhpcyB3YXMgZHJvcHBlZCBmb3Igc29tZSByZWFz b24gaW4gNjk1MWMzN2NlY2QwNTk3OWIyMzJhMzllNWMxMGU2MzQ2YTBmNzRlZgorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Nsb3N1cmVfY29tcGlsZXIvY29tcGlsZXIu cHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jbG9zdXJlX2NvbXBp bGVyL2NvbXBpbGVyLnB5CitAQCAtMTMsOCArMTMsOSBAQCBpbXBvcnQgc3VicHJvY2VzcworIAor IAorIF9DVVJSRU5UX0RJUiA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18p KQorLV9KQVZBX1BBVEggPSBvcy5wYXRoLmpvaW4oX0NVUlJFTlRfRElSLCAiLi4iLCAiamRrIiwg ImN1cnJlbnQiLCAiYmluIiwgImphdmEiKQorLWFzc2VydCBvcy5wYXRoLmlzZmlsZShfSkFWQV9Q QVRIKSwgImphdmEgb25seSBhbGxvd2VkIGluIGFuZHJvaWQgYnVpbGRzIgorK19KQVZBX0JJTiA9 ICJqYXZhIgorK19KREtfUEFUSCA9IG9zLnBhdGguam9pbihfQ1VSUkVOVF9ESVIsICIuLiIsICJq ZGsiLCAiY3VycmVudCIsICJiaW4iLCAiamF2YSIpCisrX0pBVkFfUEFUSCA9IF9KREtfUEFUSCBp ZiBvcy5wYXRoLmlzZmlsZShfSkRLX1BBVEgpIGVsc2UgX0pBVkFfQklOCisgCisgY2xhc3MgQ29t cGlsZXIob2JqZWN0KToKKyAgICIiIlJ1bnMgdGhlIENsb3N1cmUgY29tcGlsZXIgb24gZ2l2ZW4g c291cmNlIGZpbGVzIHRvIHR5cGVjaGVjayB0aGVtCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2ggYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xZTA2N2NjNmVkYTAK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNo cm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25vZGUvbm9kZS5weQorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25vZGUvbm9kZS5weQorQEAgLTM2LDExICszNiwxMiBA QCBkZWYgR2V0QmluYXJ5UGF0aCgpOgorICAgaWYgcGxhdGZvcm0uc3lzdGVtKCkgPT0gJ0Rhcndp bicgYW5kIHBsYXRmb3JtLm1hY2hpbmUoKSA9PSAnYXJtNjQnOgorICAgICAgIHJldHVybiBvcy5w YXRoLmpvaW4ob3NfcGF0aC5qb2luKG9zX3BhdGguZGlybmFtZShfX2ZpbGVfXyksICdtYWMnLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vZGUtZGFyd2luLWFybTY0JywgJ2JpbicsICdu b2RlJykpCistICByZXR1cm4gb3NfcGF0aC5qb2luKG9zX3BhdGguZGlybmFtZShfX2ZpbGVfXyks ICp7CistICAgICdEYXJ3aW4nOiAoJ21hYycsICdub2RlLWRhcndpbi14NjQnLCAnYmluJywgJ25v ZGUnKSwKKy0gICAgJ0xpbnV4JzogKCdsaW51eCcsICdub2RlLWxpbnV4LXg2NCcsICdiaW4nLCAn bm9kZScpLAorLSAgICAnV2luZG93cyc6ICgnd2luJywgJ25vZGUuZXhlJyksCistICB9W3BsYXRm b3JtLnN5c3RlbSgpXSkKKysgIHJldHVybiAiL3Vzci9iaW4vbm9kZSIKKysgICNyZXR1cm4gb3Nf cGF0aC5qb2luKG9zX3BhdGguZGlybmFtZShfX2ZpbGVfXyksICp7CisrICAjICAnRGFyd2luJzog KCdtYWMnLCAnbm9kZS1kYXJ3aW4teDY0JywgJ2JpbicsICdub2RlJyksCisrICAjICAnTGludXgn OiAoJ2xpbnV4JywgJ25vZGUtbGludXgteDY0JywgJ2JpbicsICdub2RlJyksCisrICAjICAnV2lu ZG93cyc6ICgnd2luJywgJ25vZGUuZXhlJyksCisrICAjfVtwbGF0Zm9ybS5zeXN0ZW0oKV0pCisg CisgCisgZGVmIFJ1bk5vZGUoY21kX3BhcnRzLCBzdGRvdXQ9Tm9uZSk6CmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVk X2ZpbGUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVt LWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi5hOGY1ZDk3MTg4M2QKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gK QEAgLTAsMCArMSwxOCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMv c2NvcGVkX2ZpbGVfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2Zp bGVzL3Njb3BlZF9maWxlX2xpbnV4LmNjCitAQCAtNzcsMTUgKzc3LDMgQEAgYm9vbCBJc0ZET3du ZWQoaW50IGZkKSB7CisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSBiYXNlCistCistZXh0ZXJuICJD IiB7CistCistaW50IF9fY2xvc2UoaW50KTsKKy0KKy1fX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5 KCJkZWZhdWx0IiksIG5vaW5saW5lKSkgaW50IGNsb3NlKGludCBmZCkgeworLSAgaWYgKGJhc2U6 OklzRkRPd25lZChmZCkgJiYgZ19pc19vd25lcnNoaXBfZW5mb3JjZWQpCistICAgIENyYXNoT25G ZE93bmVyc2hpcFZpb2xhdGlvbigpOworLSAgcmV0dXJuIF9fY2xvc2UoZmQpOworLX0KKy0KKy19 ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTA4LWNocm9taXVtLWZpeC1uYXJyb3dpbmctY2FzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMDgtY2hyb21pdW0tZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWQzMmNkOWI3NDE1Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1 bS1maXgtbmFycm93aW5nLWNhc3QucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMvZmlsZV91dGlsX2xpbnV4LmNjCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxlX3V0aWxfbGludXguY2MKK0BAIC0yMywx NCArMjMsMTQgQEAgYm9vbCBHZXRGaWxlU3lzdGVtVHlwZShjb25zdCBGaWxlUGF0aCYgcAorIAor ICAgLy8gTm90IGFsbCBwb3NzaWJsZSB8c3RhdGZzX2J1Zi5mX3R5cGV8IHZhbHVlcyBhcmUgaW4g bGludXgvbWFnaWMuaC4KKyAgIC8vIE1pc3NpbmcgdmFsdWVzIGFyZSBjb3BpZWQgZnJvbSB0aGUg c3RhdGZzIG1hbiBwYWdlLgorLSAgc3dpdGNoIChzdGF0ZnNfYnVmLmZfdHlwZSkgeworKyAgc3dp dGNoIChzdGF0aWNfY2FzdDx1aW50bWF4X3Q+KHN0YXRmc19idWYuZl90eXBlKSkgeworICAgICBj YXNlIDA6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV8wOworICAgICAgIGJyZWFrOworICAg ICBjYXNlIEVYVDJfU1VQRVJfTUFHSUM6ICAvLyBBbHNvIGV4dDMgYW5kIGV4dDQKKyAgICAgY2Fz ZSBNU0RPU19TVVBFUl9NQUdJQzoKKyAgICAgY2FzZSBSRUlTRVJGU19TVVBFUl9NQUdJQzoKKy0g ICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KEJUUkZTX1NVUEVSX01BR0lDKToKKysgICAgY2FzZSBC VFJGU19TVVBFUl9NQUdJQzoKKyAgICAgY2FzZSAweDUzNDY1NDRFOiAgLy8gTlRGUworICAgICBj YXNlIDB4NTg0NjUzNDI6ICAvLyBYRlMKKyAgICAgY2FzZSAweDMxNTM0NjRBOiAgLy8gSkZTCitA QCAtNDAsMTQgKzQwLDE0IEBAIGJvb2wgR2V0RmlsZVN5c3RlbVR5cGUoY29uc3QgRmlsZVBhdGgm IHAKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX05GUzsKKyAgICAgICBicmVhazsKKyAgICAg Y2FzZSBTTUJfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PigweEZGNTM0 RDQyKTogIC8vIENJRlMKKysgICAgY2FzZSAweEZGNTM0RDQyOiAgLy8gQ0lGUworICAgICAgICp0 eXBlID0gRklMRV9TWVNURU1fU01COworICAgICAgIGJyZWFrOworICAgICBjYXNlIENPREFfU1VQ RVJfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9DT0RBOworICAgICAgIGJyZWFr OworLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKKy0gICAgY2Fz ZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2FzZSBIVUdFVExCRlNfTUFH SUM6CisrICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6CisgICAg ICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9NRU1PUlk7CisgICAgICAgYnJlYWs7CistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS9zeXN0ZW0vc3lzX2luZm9fcG9zaXguY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3N5c3RlbS9zeXNfaW5mb19wb3NpeC5jYworQEAgLTEw MCwxMCArMTAwLDEwIEBAIGJvb2wgSXNTdGF0c1plcm9JZlVubGltaXRlZChjb25zdCBiYXNlOjoK KyAgIGlmIChIQU5ETEVfRUlOVFIoc3RhdGZzKHBhdGgudmFsdWUoKS5jX3N0cigpLCAmc3RhdHMp KSAhPSAwKQorICAgICByZXR1cm4gZmFsc2U7CisgCistICBzd2l0Y2ggKHN0YXRzLmZfdHlwZSkg eworKyAgc3dpdGNoIChzdGF0aWNfY2FzdDx1aW50bWF4X3Q+KHN0YXRzLmZfdHlwZSkpIHsKKyAg ICAgY2FzZSBUTVBGU19NQUdJQzoKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KEhVR0VUTEJG U19NQUdJQyk6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihSQU1GU19NQUdJQyk6CisrICAg IGNhc2UgSFVHRVRMQkZTX01BR0lDOgorKyAgICBjYXNlIFJBTUZTX01BR0lDOgorICAgICAgIHJl dHVybiB0cnVlOworICAgfQorICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1yZW1vdmUt c3RyaXBfYmluYXJ5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uNWViZDE2ZTY1OWFmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCkBAIC0wLDAg KzEsMzIgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jaHJvbWUvdGVzdC9jaHJvbWVk cml2ZXIvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jaHJvbWUvdGVzdC9j aHJvbWVkcml2ZXIvQlVJTEQuZ24KK0BAIC0zMDgsMTEgKzMwOCw3IEBAIHNvdXJjZV9zZXQoImxp YiIpIHsKKyAgIH0KKyB9CisgCistaWYgKGlzX2xpbnV4KSB7CistICBjaHJvbWVkcml2ZXJfb3V0 cHV0ID0gImNocm9tZWRyaXZlci51bnN0cmlwcGVkIgorLX0gZWxzZSB7CistICBjaHJvbWVkcml2 ZXJfb3V0cHV0ID0gImNocm9tZWRyaXZlciIKKy19CisrY2hyb21lZHJpdmVyX291dHB1dCA9ICJj aHJvbWVkcml2ZXIiCisgCisgZXhlY3V0YWJsZSgiJGNocm9tZWRyaXZlcl9vdXRwdXQiKSB7Cisg ICB0ZXN0b25seSA9IHRydWUKK0BAIC0zMzYsMTYgKzMzMiw2IEBAIGV4ZWN1dGFibGUoIiRjaHJv bWVkcml2ZXJfb3V0cHV0IikgeworICAgfQorIH0KKyAKKy1pZiAoaXNfbGludXgpIHsKKy0gIHN0 cmlwX2JpbmFyeSgiY2hyb21lZHJpdmVyIikgeworLSAgICB0ZXN0b25seSA9IHRydWUKKy0gICAg YmluYXJ5X2lucHV0ID0gIiRyb290X291dF9kaXIvJGNocm9tZWRyaXZlcl9vdXRwdXQiCistICAg IHN5bWJvbF9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIuZGVidWciCistICAg IHN0cmlwcGVkX2JpbmFyeV9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIiCist ICAgIGRlcHMgPSBbICI6JGNocm9tZWRyaXZlcl9vdXRwdXQiIF0KKy0gIH0KKy19CistCisgcHl0 aG9uX2xpYnJhcnkoImNocm9tZWRyaXZlcl9weV90ZXN0cyIpIHsKKyAgIHRlc3Rvbmx5ID0gdHJ1 ZQorICAgZGVwcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAxMTAtY2hyb21pdW0tcmV2ZXJ0LXVzZS1mZmlsZS1jb21waWxhdGlvbi1kaXIucGF0Y2ggYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEwLWNocm9taXVtLXJldmVydC11c2UtZmZp bGUtY29tcGlsYXRpb24tZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uYTAwZjdlYTgwZjdhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDExMC1jaHJvbWl1bS1yZXZlcnQtdXNlLWZmaWxlLWNvbXBpbGF0aW9u LWRpci5wYXRjaApAQCAtMCwwICsxLDU3IEBACitGcm9tIDM0YTk1NTgyMzYzMDA5NmY1YjAxYzJi MDFkNTFjMWVhNTlkMjI3NjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBaZXF1YW4g V3UgPHplcXVhbnd1QGdvb2dsZS5jb20+CitEYXRlOiBUdWUsIDIwIEp1bCAyMDIxIDE0OjEzOjUw ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSAtZmZpbGUtY29tcGlsYXRpb24tZGlyPSBpbnN0 ZWFkIG9mCisgLWZkZWJ1Zy1jb21waWxhdGlvbi1kaXI9CisKK0J1ZzogMTAxMDI2NworQ2hhbmdl LUlkOiBJZjJiNGVhZDg1MzVhNzY0OTBlYjQ2NmEzOGUzZDhmZWQ2ZWE5MTA3OQorUmV2aWV3ZWQt b246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9z cmMvKy8yNzcwNzM4CitBdXRvLVN1Ym1pdDogWmVxdWFuIFd1IDx6ZXF1YW53dUBnb29nbGUuY29t PgorQ29tbWl0LVF1ZXVlOiBOaWNvIFdlYmVyIDx0aGFraXNAY2hyb21pdW0ub3JnPgorUmV2aWV3 ZWQtYnk6IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+CitDci1Db21taXQtUG9zaXRp b246IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTAzNDU2fQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorQEAgLTEyNjksMTkgKzEyNjks MTIgQEAgY29uZmlnKCJjb21waWxlcl9kZXRlcm1pbmlzdGljIikgeworICAgICAjIGRpZmZlcmVu dCBidWlsZCBkaXJlY3RvcnkgbGlrZSAib3V0L2ZlYXR1cmVfYSIgYW5kICJvdXQvZmVhdHVyZV9i IiBpZgorICAgICAjIHdlIGJ1aWxkIHNhbWUgZmlsZXMgd2l0aCBzYW1lIGNvbXBpbGUgZmxhZy4K KyAgICAgIyBPdGhlciBwYXRocyBhcmUgYWxyZWFkeSBnaXZlbiBpbiByZWxhdGl2ZSwgbm8gbmVl ZCB0byBub3JtYWxpemUgdGhlbS4KKy0gICAgaWYgKGlzX25hY2wpIHsKKy0gICAgICAjIFRPRE8o aHR0cHM6Ly9jcmJ1Zy5jb20vMTIzMTIzNik6IFVzZSAtZmZpbGUtY29tcGlsYXRpb24tZGlyPSBo ZXJlLgorLSAgICAgIGNmbGFncyArPSBbCistICAgICAgICAiLVhjbGFuZyIsCistICAgICAgICAi LWZkZWJ1Zy1jb21waWxhdGlvbi1kaXIiLAorLSAgICAgICAgIi1YY2xhbmciLAorLSAgICAgICAg Ii4iLAorLSAgICAgIF0KKy0gICAgfSBlbHNlIHsKKy0gICAgICAjIC1mZmlsZS1jb21waWxhdGlv bi1kaXIgaXMgYW4gYWxpYXMgZm9yIGJvdGggLWZkZWJ1Zy1jb21waWxhdGlvbi1kaXI9CistICAg ICAgIyBhbmQgLWZjb3ZlcmFnZS1jb21waWxhdGlvbi1kaXI9LgorLSAgICAgIGNmbGFncyArPSBb ICItZmZpbGUtY29tcGlsYXRpb24tZGlyPS4iIF0KKy0gICAgfQorKyAgICBjZmxhZ3MgKz0gWwor KyAgICAgICItWGNsYW5nIiwKKysgICAgICAiLWZkZWJ1Zy1jb21waWxhdGlvbi1kaXIiLAorKyAg ICAgICItWGNsYW5nIiwKKysgICAgICAiLiIsCisrICAgIF0KKyAgICAgaWYgKCFpc193aW4pIHsK KyAgICAgICAjIFdlIGRvbid0IHVzZSBjbGFuZyAtY2MxYXMgb24gV2luZG93cyAoeWV0PyBodHRw czovL2NyYnVnLmNvbS83NjIxNjcpCisgICAgICAgYXNtZmxhZ3MgPSBbICItV2EsLWZkZWJ1Zy1j b21waWxhdGlvbi1kaXIsLiIgXQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2Nv bmZpZy9jb21waWxlci9jb21waWxlci5nbmkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9i dWlsZC9jb25maWcvY29tcGlsZXIvY29tcGlsZXIuZ25pCitAQCAtMjI4LDggKzIyOCwxMSBAQCBk ZWNsYXJlX2FyZ3MoKSB7CisgIyBkZXRlcm1pbmlzdGljIGJ1aWxkcyB0byByZWR1Y2UgY29tcGls ZSB0aW1lcywgc28gdGhpcyBpcyBsZXNzIHJlbGV2YW50IGZvcgorICMgb2ZmaWNpYWwgYnVpbGRl cnMuCisgc3RyaXBfYWJzb2x1dGVfcGF0aHNfZnJvbV9kZWJ1Z19zeW1ib2xzX2RlZmF1bHQgPQor LSAgICBpc19hbmRyb2lkIHx8IGlzX2Z1Y2hzaWEgfHwgaXNfbmFjbCB8fCAoaXNfd2luICYmIHVz ZV9sbGQpIHx8IGlzX2xpbnV4IHx8CistICAgIGlzX2Nocm9tZW9zIHx8IChpc19hcHBsZSAmJiAh ZW5hYmxlX2RzeW1zKQorKyAgICAjIFRPRE8oY3JidWcuY29tLzEwMTAyNjcpOiByZW1vdmUgJyF1 c2VfY2xhbmdfY292ZXJhZ2UnLCBjb3ZlcmFnZSBidWlsZCBoYXMKKysgICAgIyBkZXBlbmRlbmN5 IHRvIGFic29sdXRlIHBhdGggb2Ygc291cmNlIGZpbGVzLgorKyAgICAhdXNlX2NsYW5nX2NvdmVy YWdlICYmCisrICAgIChpc19hbmRyb2lkIHx8IGlzX2Z1Y2hzaWEgfHwgaXNfbmFjbCB8fCAoaXNf d2luICYmIHVzZV9sbGQpIHx8IGlzX2xpbnV4IHx8CisrICAgICBpc19jaHJvbWVvcyB8fCAoaXNf YXBwbGUgJiYgIWVuYWJsZV9kc3ltcykpCisgCisgZGVjbGFyZV9hcmdzKCkgeworICAgc3RyaXBf YWJzb2x1dGVfcGF0aHNfZnJvbV9kZWJ1Z19zeW1ib2xzID0gc3RyaXBfYWJzb2x1dGVfcGF0aHNf ZnJvbV9kZWJ1Z19zeW1ib2xzX2RlZmF1bHQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMTEtY2hyb21pdW0tbm8tV25vLXN0cmluZ29wLW92ZXJyZWFkLnBhdGNo IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMS1jaHJvbWl1bS1uby1Xbm8tc3Ry aW5nb3Atb3ZlcnJlYWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi4wM2VhYzNmOGUwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTExLWNocm9taXVtLW5vLVduby1zdHJpbmdvcC1vdmVycmVhZC5wYXRjaApA QCAtMCwwICsxLDEwIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29uZmln L2NvbXBpbGVyL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29u ZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtMzk0LDcgKzM5NCw2IEBAIGNvbmZpZygiY29tcGls ZXIiKSB7CisgICAgICAgICAiLVduby1wYXJlbnRoZXNlcyIsCisgICAgICAgICAiLVduby1zaWdu LWNvbXBhcmUiLCAjIGZpZG8KKyAgICAgICAgICItV25vLXN0cmluZ29wLW92ZXJmbG93IiwgIyBz a2lhLCBsaWJhb20sIHByb3RvYnVmLCBpY3UKKy0gICAgICAgICItV25vLXN0cmluZ29wLW92ZXJy ZWFkIiwgIyBsaWJhb20KKyAgICAgICAgICItV25vLXBzYWJpIiwgIyBza2lhCisgICAgICAgICAi LVduby1tdWx0aWNoYXIiLCAjIGNyYXNocGFkCisgICAgICAgICAiLVduby1mb3JtYXQtemVyby1s ZW5ndGgiLCAjIHVzZXJfYWdlbnQuY2MKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxNTAtY2hyb21pdW0tZ2xpYmMtbGliY19tYWxsb2MucGF0Y2ggYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9taXVtLWdsaWJjLWxpYmNfbWFsbG9jLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uN2UxYjY2ZTVjNzNk Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1MC1j aHJvbWl1bS1nbGliYy1saWJjX21hbGxvYy5wYXRjaApAQCAtMCwwICsxLDI0IEBACistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9wcm9jZXNzL21lbW9yeV9saW51eC5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvcHJvY2Vzcy9tZW1vcnlfbGludXguY2MKK0BAIC0y Myw2ICsyMywxMiBAQAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS90Y21hbGxvYy9jaHJvbWl1bS9z cmMvZ3BlcmZ0b29scy90Y21hbGxvYy5oIgorICNlbmRpZgorIAorKyNpZiBkZWZpbmVkKExJQkNf R0xJQkMpCisrZXh0ZXJuICJDIiB7CisrZXh0ZXJuIHZvaWQgKl9fbGliY19tYWxsb2Moc2l6ZV90 IHNpemUpOworK30KKysjZW5kaWYKKysKKyBuYW1lc3BhY2UgYmFzZSB7CisgCisgbmFtZXNwYWNl IHsKK0BAIC0xMjAsNyArMTI2LDcgQEAgYm9vbCBVbmNoZWNrZWRNYWxsb2Moc2l6ZV90IHNpemUs IHZvaWQqKgorICAgICAoIWRlZmluZWQoTElCQ19HTElCQykgJiYgIUJVSUxERkxBRyhVU0VfVENN QUxMT0MpKQorICAgKnJlc3VsdCA9IG1hbGxvYyhzaXplKTsKKyAjZWxpZiBkZWZpbmVkKExJQkNf R0xJQkMpICYmICFCVUlMREZMQUcoVVNFX1RDTUFMTE9DKQorLSAgKnJlc3VsdCA9IF9fbGliY19t YWxsb2Moc2l6ZSk7CisrICAqcmVzdWx0ID0gOjpfX2xpYmNfbWFsbG9jKHNpemUpOworICNlbGlm IEJVSUxERkxBRyhVU0VfVENNQUxMT0MpCisgICAqcmVzdWx0ID0gdGNfbWFsbG9jX3NraXBfbmV3 X2hhbmRsZXIoc2l6ZSk7CisgI2VuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMjAwLWNocm9taXVtLW11c2wtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9f V09SRFNJWkUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAwLWNocm9t aXVtLW11c2wtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40MWI5MDA3MWI1ZTQKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAwLWNocm9taXVtLW11 c2wtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUucGF0Y2gKQEAgLTAsMCArMSwy MSBAQAorRnJvbSA5MDAxYzU0ZDZiOTc0NDQ5MTc0YThjZWU4ZjNmNWQ3OGE5YmQ2YzllIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmVsaXggSmFuZGEgPGZlbGl4LmphbmRhQHBvc3Rl by5kZT4KK0RhdGU6IFN1biwgMSBGZWIgMjAxNSAxNDoyNjo1MiArMDEwMAorU3ViamVjdDogW1BB VENIIDMvNl0gaW5jbHVkZSA8c3lzL3JlZy5oPiB0byBnZXQgX19XT1JEU0laRSBvbiBtdXNsIGxp YmMKKworLS0tCisgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oIHwgMSAr CisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2Vs Zl9jb3JlX2R1bXAuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oCitAQCAtMzcs NiArMzcsOSBAQAorICNpbmNsdWRlIDxsaW1pdHMuaD4KKyAjaW5jbHVkZSA8bGluay5oPgorICNp bmNsdWRlIDxzdGRkZWYuaD4KKysjaWZuZGVmIF9fR0xJQkNfXworKyNpbmNsdWRlIDxzeXMvcmVn Lmg+CisrI2VuZGlmCisgCisgI2luY2x1ZGUgImNvbW1vbi9tZW1vcnlfcmFuZ2UuaCIKKyAKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDEtY2hyb21pdW0tbXVz bC1kaXNwYXRjaC10by1tdXNsLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDIwMS1jaHJvbWl1bS1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hNThhNjg4YTRiNTUKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAxLWNocm9taXVtLW11c2wtZGlzcGF0 Y2gtdG8tbXVzbC5wYXRjaApAQCAtMCwwICsxLDEwMyBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL2Jhc2UvYWxsb2NhdG9yL2FsbG9jYXRvcl9zaGltX2RlZmF1bHRfZGlzcGF0Y2hfdG9f Z2xpYmMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9hbGxv Y2F0b3Jfc2hpbV9kZWZhdWx0X2Rpc3BhdGNoX3RvX2dsaWJjLmNjCitAQCAtOCw2ICs4LDcgQEAK KyAjaW5jbHVkZSA8ZGxmY24uaD4KKyAjaW5jbHVkZSA8bWFsbG9jLmg+CisgCisrI2lmIGRlZmlu ZWQoX19HTElCQ19fKQorIC8vIFRoaXMgdHJhbnNsYXRpb24gdW5pdCBkZWZpbmVzIGEgZGVmYXVs dCBkaXNwYXRjaCBmb3IgdGhlIGFsbG9jYXRvciBzaGltIHdoaWNoCisgLy8gcm91dGVzIGFsbG9j YXRpb25zIHRvIGxpYmMgZnVuY3Rpb25zLgorIC8vIFRoZSBjb2RlIGhlcmUgaXMgc3Ryb25nbHkg aW5zcGlyZWQgZnJvbSB0Y21hbGxvYydzIGxpYmNfb3ZlcnJpZGVfZ2xpYmMuaC4KK0BAIC04Nywz ICs4OCw5MiBAQCBjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCBBbGxvY2F0b3JEaXNwYXRjCisgICAg IG51bGxwdHIsICAgICAgICAgICAgICAgLyogYWxpZ25lZF9mcmVlX2Z1bmN0aW9uICovCisgICAg IG51bGxwdHIsICAgICAgICAgICAgICAgLyogbmV4dCAqLworIH07CisrCisrI2Vsc2UgLy8gZGVm aW5lZChfX0dMSUJDX18pCisrCisrI2luY2x1ZGUgPGRsZmNuLmg+CisrCisrZXh0ZXJuICJDIiB7 CisrLy8gRGVjbGFyZSBmdW5jdGlvbiBwb2ludGVycyB0byB0aGUgbWVtb3J5IGZ1bmN0aW9ucwor K3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfbWFsbG9jKShzaXplX3Qgc2l6ZSk7CisrdHlwZWRlZiB2 b2lkKiAoKnRfbGliY19jYWxsb2MpKHNpemVfdCBuLCBzaXplX3Qgc2l6ZSk7CisrdHlwZWRlZiB2 b2lkKiAoKnRfbGliY19yZWFsbG9jKSh2b2lkKiBhZGRyZXNzLCBzaXplX3Qgc2l6ZSk7CisrdHlw ZWRlZiB2b2lkKiAoKnRfbGliY19tZW1hbGlnbikoc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNp emUpOworK3R5cGVkZWYgdm9pZCAoKnRfbGliY19mcmVlKSh2b2lkKiBwdHIpOworK3R5cGVkZWYg c2l6ZV90ICgqdF9saWJjX21hbGxvY191c2FibGVfc2l6ZSkodm9pZCogcHRyKTsKKysKKysvLyBT dGF0aWMgaW5zdGFuY2VzIG9mIHBvaW50ZXJzIHRvIGxpYmMuc28gZGwgc3ltYm9scworK3N0YXRp YyB0X2xpYmNfbWFsbG9jIGxpYmNfbWFsbG9jID0gTlVMTDsKKytzdGF0aWMgdF9saWJjX2NhbGxv YyBsaWJjX2NhbGxvYyA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19yZWFsbG9jIGxpYmNfcmVhbGxv YyA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19tZW1hbGlnbiBsaWJjX21lbWFsaWduID0gTlVMTDsK KytzdGF0aWMgdF9saWJjX2ZyZWUgbGliY19mcmVlID0gTlVMTDsKKytzdGF0aWMgdF9saWJjX21h bGxvY191c2FibGVfc2l6ZSBsaWJjX21hbGxvY191c2FibGVfc2l6ZSA9IE5VTEw7CisrCisrLy8g cmVzb2x2ZSB0aGUgc3ltYm9scyBpbiBsaWJjLnNvCisrdm9pZCBtdXNsX2xpYmNfbWVtb3J5X2lu aXQodm9pZCkKKyt7CisrICBsaWJjX21hbGxvYyA9ICh0X2xpYmNfbWFsbG9jKSBkbHN5bShSVExE X05FWFQsICJtYWxsb2MiKTsKKysgIGxpYmNfY2FsbG9jID0gKHRfbGliY19jYWxsb2MpIGRsc3lt KFJUTERfTkVYVCwgImNhbGxvYyIpOworKyAgbGliY19yZWFsbG9jID0gKHRfbGliY19yZWFsbG9j KSBkbHN5bShSVExEX05FWFQsICJyZWFsbG9jIik7CisrICBsaWJjX21lbWFsaWduID0gKHRfbGli Y19tZW1hbGlnbikgZGxzeW0oUlRMRF9ORVhULCAibWVtYWxpZ24iKTsKKysgIGxpYmNfZnJlZSA9 ICh0X2xpYmNfZnJlZSkgZGxzeW0oUlRMRF9ORVhULCAiZnJlZSIpOworKyAgbGliY19tYWxsb2Nf dXNhYmxlX3NpemUgPSAodF9saWJjX21hbGxvY191c2FibGVfc2l6ZSkgZGxzeW0oUlRMRF9ORVhU LCAibWFsbG9jX3VzYWJsZV9zaXplIik7CisrfQorK30gIC8vIGV4dGVybiAiQyIKKysKKytuYW1l c3BhY2UgeworKworK3VzaW5nIGJhc2U6OmFsbG9jYXRvcjo6QWxsb2NhdG9yRGlzcGF0Y2g7Cisr Cisrdm9pZCogTXVzbE1hbGxvYyhjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCosIHNpemVfdCBzaXpl LCB2b2lkKiBjb250ZXh0KSB7CisrICBpZiAoIWxpYmNfbWFsbG9jKQorKyAgICBtdXNsX2xpYmNf bWVtb3J5X2luaXQoKTsKKysgIHJldHVybiAoKmxpYmNfbWFsbG9jKShzaXplKTsKKyt9CisrCisr dm9pZCogTXVzbENhbGxvYyhjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCosIHNpemVfdCBuLCBzaXpl X3Qgc2l6ZSwgdm9pZCogY29udGV4dCkgeworKyAgaWYgKCFsaWJjX2NhbGxvYykKKysgICAgbXVz bF9saWJjX21lbW9yeV9pbml0KCk7CisrICByZXR1cm4gKCpsaWJjX2NhbGxvYykobiwgc2l6ZSk7 CisrfQorKworK3ZvaWQqIE11c2xSZWFsbG9jKGNvbnN0IEFsbG9jYXRvckRpc3BhdGNoKiwgdm9p ZCogYWRkcmVzcywgc2l6ZV90IHNpemUsIHZvaWQqIGNvbnRleHQpIHsKKysgIGlmICghbGliY19y ZWFsbG9jKQorKyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgIHJldHVybiAoKmxpYmNf cmVhbGxvYykoYWRkcmVzcywgc2l6ZSk7CisrfQorKworK3ZvaWQqIE11c2xNZW1hbGlnbihjb25z dCBBbGxvY2F0b3JEaXNwYXRjaCosIHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBzaXplLCB2b2lk KiBjb250ZXh0KSB7CisrICBpZiAoIWxpYmNfbWVtYWxpZ24pCisrICAgIG11c2xfbGliY19tZW1v cnlfaW5pdCgpOworKyAgcmV0dXJuICgqbGliY19tZW1hbGlnbikoYWxpZ25tZW50LCBzaXplKTsK Kyt9CisrCisrdm9pZCBNdXNsRnJlZShjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCosIHZvaWQqIGFk ZHJlc3MsIHZvaWQqIGNvbnRleHQpIHsKKysgIGlmICghbGliY19mcmVlKQorKyAgICBtdXNsX2xp YmNfbWVtb3J5X2luaXQoKTsKKysgICgqbGliY19mcmVlKShhZGRyZXNzKTsKKyt9CisrCisrc2l6 ZV90IE11c2xHZXRTaXplRXN0aW1hdGUoY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2gqLCB2b2lkKiBh ZGRyZXNzLCB2b2lkKiBjb250ZXh0KSB7CisrICAvLyBUT0RPKHNpZ2dpLCBwcmltaWFubyk6IG1h bGxvY191c2FibGVfc2l6ZSBtYXkgbmVlZCByZWRpcmVjdGlvbiBpbiB0aGUKKysgIC8vICAgICBw cmVzZW5jZSBvZiBpbnRlcnBvc2luZyBzaGltcyB0aGF0IGRpdmVydCBhbGxvY2F0aW9ucy4KKysg IGlmICghbGliY19tYWxsb2NfdXNhYmxlX3NpemUpCisrICAgIG11c2xfbGliY19tZW1vcnlfaW5p dCgpOworKyAgcmV0dXJuICgqbGliY19tYWxsb2NfdXNhYmxlX3NpemUpKGFkZHJlc3MpOworK30K KysKKyt9ICAvLyBuYW1lc3BhY2UKKysKKytjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCBBbGxvY2F0 b3JEaXNwYXRjaDo6ZGVmYXVsdF9kaXNwYXRjaCA9IHsKKysgICAgJk11c2xNYWxsb2MsICAgICAg ICAgICAvKiBhbGxvY19mdW5jdGlvbiAqLworKyAgICAmTXVzbENhbGxvYywgICAgICAgICAgIC8q IGFsbG9jX3plcm9faW5pdGlhbGl6ZWRfZnVuY3Rpb24gKi8KKysgICAgJk11c2xNZW1hbGlnbiwg ICAgICAgICAvKiBhbGxvY19hbGlnbmVkX2Z1bmN0aW9uICovCisrICAgICZNdXNsUmVhbGxvYywg ICAgICAgICAgLyogcmVhbGxvY19mdW5jdGlvbiAqLworKyAgICAmTXVzbEZyZWUsICAgICAgICAg ICAgIC8qIGZyZWVfZnVuY3Rpb24gKi8KKysgICAgJk11c2xHZXRTaXplRXN0aW1hdGUsICAvKiBn ZXRfc2l6ZV9lc3RpbWF0ZV9mdW5jdGlvbiAqLworKyAgICBudWxscHRyLCAgICAgICAgICAgICAg IC8qIG5leHQgKi8KKyt9OworKworKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDIwMi1jaHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMi1jaHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZv LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYTViZGI1YTQz YTVmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIw Mi1jaHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3Byb2Nlc3MvcHJvY2Vzc19tZXRyaWNzX3Bvc2l4 LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0 cmljc19wb3NpeC5jYworQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIEluY3JlYXNlRmRMaW1pdFRv KHVuc2lnbmVkIGludCBtYXhfCisgCisgI2VuZGlmICAvLyAhZGVmaW5lZChPU19GVUNIU0lBKQor IAorLSNpZiBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZp bmVkKE9TX0FORFJPSUQpCisrI2lmIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJ QkNfXykpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyBu YW1lc3BhY2UgeworIAorIHNpemVfdCBHZXRNYWxsb2NVc2FnZU1hbGxpbmZvKCkgeworQEAgLTEy NywxNiArMTI3LDE2IEBAIHNpemVfdCBHZXRNYWxsb2NVc2FnZU1hbGxpbmZvKCkgeworIH0KKyAK KyB9ICAvLyBuYW1lc3BhY2UKKy0jZW5kaWYgIC8vIGRlZmluZWQoT1NfTElOVVgpIHx8IGRlZmlu ZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKysjZW5kaWYgIC8vIChkZWZp bmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IGRlZmluZWQoT1NfQ0hST01F T1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAKKyBzaXplX3QgUHJvY2Vzc01ldHJpY3M6Okdl dE1hbGxvY1VzYWdlKCkgeworICNpZiBkZWZpbmVkKE9TX0FQUExFKQorICAgbWFsbG9jX3N0YXRp c3RpY3NfdCBzdGF0cyA9IHswfTsKKyAgIG1hbGxvY196b25lX3N0YXRpc3RpY3MobnVsbHB0ciwg JnN0YXRzKTsKKyAgIHJldHVybiBzdGF0cy5zaXplX2luX3VzZTsKKy0jZWxpZiBkZWZpbmVkKE9T X0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisr I2VsaWYgKGRlZmluZWQoT1NfTElOVVgpICYmIGRlZmluZWQoX19HTElCQ19fKSkgfHwgZGVmaW5l ZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lEKQorICAgcmV0dXJuIEdldE1hbGxv Y1VzYWdlTWFsbGluZm8oKTsKKy0jZWxpZiBkZWZpbmVkKE9TX0ZVQ0hTSUEpCisrI2Vsc2UKKyAg IC8vIFRPRE8oZnVjaHNpYSk6IE5vdCBjdXJyZW50bHkgZXhwb3NlZC4gaHR0cHM6Ly9jcmJ1Zy5j b20vNzM1MDg3LgorICAgcmV0dXJuIDA7CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5nL21l bW9yeV9pbmZvLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvdGZs aXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5nL21lbW9yeV9pbmZvLmNjCitAQCAtMjcs NyArMjcsNyBAQCBuYW1lc3BhY2UgbWVtb3J5IHsKKyBjb25zdCBpbnQgTWVtb3J5VXNhZ2U6OmtW YWx1ZU5vdFNldCA9IDA7CisgCisgYm9vbCBNZW1vcnlVc2FnZTo6SXNTdXBwb3J0ZWQoKSB7Cist I2lmZGVmIF9fbGludXhfXworKyNpZmRlZiBfX0dMSUJDX18KKyAgIHJldHVybiB0cnVlOworICNl bmRpZgorICAgcmV0dXJuIGZhbHNlOworQEAgLTM1LDcgKzM1LDcgQEAgYm9vbCBNZW1vcnlVc2Fn ZTo6SXNTdXBwb3J0ZWQoKSB7CisgCisgTWVtb3J5VXNhZ2UgR2V0TWVtb3J5VXNhZ2UoKSB7Cisg ICBNZW1vcnlVc2FnZSByZXN1bHQ7CistI2lmZGVmIF9fbGludXhfXworKyNpZmRlZiBfX0dMSUJD X18KKyAgIHJ1c2FnZSByZXM7CisgICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAmcmVzKSA9 PSAwKSB7CisgICAgIHJlc3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3RyYWNlX2V2ZW50L21hbGxvY19kdW1wX3Byb3ZpZGVy LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90cmFjZV9ldmVudC9tYWxsb2Nf ZHVtcF9wcm92aWRlci5jYworQEAgLTIxMyw3ICsyMTMsNyBAQCBib29sIE1hbGxvY0R1bXBQcm92 aWRlcjo6T25NZW1vcnlEdW1wKGNvCisgICAgICAgICAgICAgICAgICAgICAgJmFsbG9jYXRlZF9v YmplY3RzX2NvdW50KTsKKyAjZWxpZiBkZWZpbmVkKE9TX0ZVQ0hTSUEpCisgLy8gVE9ETyhmdWNo c2lhKTogUG9ydCwgc2VlIGh0dHBzOi8vY3JidWcuY29tLzcwNjU5Mi4KKy0jZWxzZQorKyNlbGlm IGRlZmluZWQoX19HTElCQ19fKQorICNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChf X0dMSUJDX1BSRVJFUSkKKyAjaWYgX19HTElCQ19QUkVSRVEoMiwgMzMpCisgI2RlZmluZSBNQUxM SU5GTzJfRk9VTkRfSU5fTElCQwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDIwMy1jaHJvbWl1bS1tdXNsLXNpZ2luZm9fdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAyMDMtY2hyb21pdW0tbXVzbC1zaWdpbmZvX3QucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40M2VmN2ZkN2M1ZDIKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAzLWNocm9taXVtLW11 c2wtc2lnaW5mb190LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1RoZXJlJ3MgYSBzdWJ0bGUgZGlm ZmVyZW5jZSBpbiB0aGUgaW50ZXJuYWwgbmFtZSBvZiBzaWdpbmZvX3QgZmllbGRzCitiZXR3ZWVu IGdsaWJjIGFuZCBtdXNsLiBUaGUgc3RydWN0dXJlIGl0c2VsZiBpcyBlcXVpdmFsZW50LCBzbyBp dAorc2hvdWxkIHN1ZmZpY2UgdG8gYWRkIGEgbWFjcm8gdG8gcmVuYW1lIHRoZSBmaWVsZC4KKwor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJh cC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1i cGYvdHJhcC5jYworQEAgLTE3NCw3ICsxNzQsMTEgQEAgdm9pZCBUcmFwOjpTaWdTeXMoaW50IG5y LCBMaW51eFNpZ0luZm8qCisgICAvLyBJZiB0aGUgdmVyc2lvbiBvZiBnbGliYyBkb2Vzbid0IGlu Y2x1ZGUgdGhpcyBpbmZvcm1hdGlvbiBpbgorICAgLy8gc2lnaW5mb190IChvbGRlciB0aGFuIDIu MTcpLCB3ZSBuZWVkIHRvIGV4cGxpY2l0bHkgY29weSBpdAorICAgLy8gaW50byBhbiBhcmNoX3Np Z3N5cyBzdHJ1Y3R1cmUuCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgbWVtY3B5KCZzaWdz eXMsICZpbmZvLT5fc2lmaWVsZHMsIHNpemVvZihzaWdzeXMpKTsKKysjZWxzZQorKyAgbWVtY3B5 KCZzaWdzeXMsICZpbmZvLT5fX3NpX2ZpZWxkcywgc2l6ZW9mKHNpZ3N5cykpOworKyNlbmRpZgor ICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9fbWlwc19fKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNC1jaHJvbWl1bS1tdXNsLXN0YWNrc3RhcnQucGF0Y2gg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA0LWNocm9taXVtLW11c2wtc3RhY2tz dGFydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmIwM2Nm NDNiODZkYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAyMDQtY2hyb21pdW0tbXVzbC1zdGFja3N0YXJ0LnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS93dGYvc3RhY2tfdXRpbC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9zdGFja191dGlsLmNjCitAQCAtMjks NyArMjksNyBAQCBzaXplX3QgR2V0VW5kZXJlc3RpbWF0ZWRTdGFja1NpemUoKSB7CisgLy8gRklY TUU6IE9uIE1hYyBPU1ggYW5kIExpbnV4LCB0aGlzIG1ldGhvZCBjYW5ub3QgZXN0aW1hdGUgc3Rh Y2sgc2l6ZQorIC8vIGNvcnJlY3RseSBmb3IgdGhlIG1haW4gdGhyZWFkLgorIAorLSNlbGlmIGRl ZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpIHx8IGRlZmluZWQoT1NfRlJF RUJTRCkgfHwgXAorKyNlbGlmIGRlZmluZWQoT1NfTElOVVgpIHx8IGRlZmluZWQoT1NfQU5EUk9J RCkgfHwgZGVmaW5lZChPU19GUkVFQlNEKSB8fCBcCisgICAgIGRlZmluZWQoT1NfRlVDSFNJQSkK KyAgIC8vIHB0aHJlYWRfZ2V0YXR0cl9ucCgpIGNhbiBmYWlsIGlmIHRoZSB0aHJlYWQgaXMgbm90 IGludm9rZWQgYnkKKyAgIC8vIHB0aHJlYWRfY3JlYXRlKCkgKGUuZy4sIHRoZSBtYWluIHRocmVh ZCBvZiBibGlua191bml0dGVzdHMpLgorQEAgLTk3LDcgKzk3LDcgQEAgcmV0dXJuIFRocmVhZGlu Zzo6VGhyZWFkU3RhY2tTaXplKCk7CisgfQorIAorIHZvaWQqIEdldFN0YWNrU3RhcnQoKSB7Cist I2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpIHx8IGRlZmluZWQo T1NfRlJFRUJTRCkgfHwgXAorKyNpZiBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0FO RFJPSUQpIHx8IGRlZmluZWQoT1NfRlJFRUJTRCkgfHwgXAorICAgICBkZWZpbmVkKE9TX0ZVQ0hT SUEpCisgICBwdGhyZWFkX2F0dHJfdCBhdHRyOworICAgaW50IGVycm9yOwpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNS1jaHJvbWl1bS1tdXNsLXNhbmRib3gu cGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA1LWNocm9taXVtLW11c2wt c2FuZGJveC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjc3 MmE1NzhmZDgyMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAyMDUtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBl cnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFt ZXRlcnNfcmVzdHJpY3Rpb25zLmNjCitAQCAtMTM4LDcgKzEzOCw3IEBAIG5hbWVzcGFjZSBzYW5k Ym94IHsKKyAvLyBwcmVzZW50IChhcyBpbiBuZXdlciB2ZXJzaW9ucyBvZiBwb3NpeF9zcGF3biku CisgUmVzdWx0RXhwciBSZXN0cmljdENsb25lVG9UaHJlYWRzQW5kRVBFUk1Gb3JrKCkgeworICAg Y29uc3QgQXJnPHVuc2lnbmVkIGxvbmc+IGZsYWdzKDApOworLQorKyNpZiBkZWZpbmVkKF9fR0xJ QkNfXykKKyAgIC8vIFRPRE8obWRlbXBza3kpOiBFeHRlbmQgRFNMIHRvIHN1cHBvcnQgKGZsYWdz ICYgfm1hc2sxKSA9PSBtYXNrMi4KKyAgIGNvbnN0IHVpbnQ2NF90IGtBbmRyb2lkQ2xvbmVNYXNr ID0gQ0xPTkVfVk0gfCBDTE9ORV9GUyB8IENMT05FX0ZJTEVTIHwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQ0xPTkVfU0lHSEFORCB8IENMT05FX1RIUkVBRCB8CitAQCAt MTY1LDYgKzE2NSwxNyBAQCBSZXN1bHRFeHByIFJlc3RyaWN0Q2xvbmVUb1RocmVhZHNBbmRFUEVS CisgICByZXR1cm4gSWYoSXNBbmRyb2lkKCkgPyBhbmRyb2lkX3Rlc3QgOiBnbGliY190ZXN0LCBB bGxvdygpKQorICAgICAgIC5FbHNlSWYoaXNfZm9ya19vcl9jbG9uZV92Zm9yaywgRXJyb3IoRVBF Uk0pKQorICAgICAgIC5FbHNlKENyYXNoU0lHU1lTQ2xvbmUoKSk7CisrI2Vsc2UKKysgIGNvbnN0 IGludCByZXF1aXJlZCA9IENMT05FX1ZNIHwgQ0xPTkVfRlMgfCBDTE9ORV9GSUxFUyB8IENMT05F X1NJR0hBTkQgfAorKyAgICAgICAgICAgICAgICAgICAgICAgQ0xPTkVfVEhSRUFEIHwgQ0xPTkVf U1lTVlNFTTsKKysgIGNvbnN0IGludCBzYWZlID0gQ0xPTkVfU0VUVExTIHwgQ0xPTkVfUEFSRU5U X1NFVFRJRCB8IENMT05FX0NISUxEX0NMRUFSVElEIHwKKysgICAgICAgICAgICAgICAgICAgQ0xP TkVfREVUQUNIRUQ7CisrICBjb25zdCBCb29sRXhwciB0aHJlYWRfY2xvbmVfb2sgPSAoZmxhZ3Mm fnNhZmUpPT1yZXF1aXJlZDsKKysKKysgIHJldHVybiBJZih0aHJlYWRfY2xvbmVfb2ssIEFsbG93 KCkpCisrICAgICAgLkVsc2VJZigoZmxhZ3MgJiAoQ0xPTkVfVk0gfCBDTE9ORV9USFJFQUQpKSA9 PSAwLCBFcnJvcihFUEVSTSkpCisrICAgICAgLkVsc2UoQ3Jhc2hTSUdTWVNDbG9uZSgpKTsKKysj ZW5kaWYKKyB9CisgCisgI2lmbmRlZiBQUl9QQUNfUkVTRVRfS0VZUworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Nl dHMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCitAQCAtNDE5LDYgKzQxOSw5IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZFByb2Nlc3NTdGFydE8KKyAjaWYgZGVmaW5lZChfX2kzODZfXykK KyAgICAgY2FzZSBfX05SX3dhaXRwaWQ6CisgI2VuZGlmCisrI2lmICFkZWZpbmVkKF9fR0xJQkNf XykKKysgICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVzczoKKysjZW5kaWYKKyAgICAgICByZXR1 cm4gdHJ1ZTsKKyAgICAgY2FzZSBfX05SX2Nsb25lOiAgLy8gU2hvdWxkIGJlIHBhcmFtZXRlci1y ZXN0cmljdGVkLgorICAgICBjYXNlIF9fTlJfc2V0bnM6ICAvLyBQcml2aWxlZ2VkLgorQEAgLTQz MSw3ICs0MzQsOSBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPCisg I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChf X21pcHNfXykKKyAgICAgY2FzZSBfX05SX3NldF90aHJlYWRfYXJlYToKKyAjZW5kaWYKKysjaWYg ZGVmaW5lZChfX0dMSUJDX18pCisgICAgIGNhc2UgX19OUl9zZXRfdGlkX2FkZHJlc3M6CisrI2Vu ZGlmCisgICAgIGNhc2UgX19OUl91bnNoYXJlOgorICNpZiAhZGVmaW5lZChfX21pcHNfXykgJiYg IWRlZmluZWQoX19hYXJjaDY0X18pCisgICAgIGNhc2UgX19OUl92Zm9yazoKK0BAIC01NDUsNiAr NTUwLDkgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQWRkcmVzc1NwYWNlQQorICAgICBj YXNlIF9fTlJfbWxvY2s6CisgICAgIGNhc2UgX19OUl9tdW5sb2NrOgorICAgICBjYXNlIF9fTlJf bXVubWFwOgorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrICAgIGNhc2UgX19OUl9tcmVtYXA6 CisrI2VuZGlmCisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNhc2UgX19OUl9tYWR2aXNlOgor ICAgICBjYXNlIF9fTlJfbWluY29yZToKK0BAIC01NjIsNyArNTcwLDkgQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNBbGxvd2VkQWRkcmVzc1NwYWNlQQorICAgICBjYXNlIF9fTlJfbW9kaWZ5X2xkdDoK KyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX21wcm90ZWN0OgorKyNpZiBkZWZpbmVkKF9fR0xJQkNf XykKKyAgICAgY2FzZSBfX05SX21yZW1hcDoKKysjZW5kaWYKKyAgICAgY2FzZSBfX05SX21zeW5j OgorICAgICBjYXNlIF9fTlJfbXVubG9ja2FsbDoKKyAgICAgY2FzZSBfX05SX3JlYWRhaGVhZDoK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVu ZGVyZXJfcG9saWN5X2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYworQEAgLTk3LDExICs5 NywxOCBAQCBSZXN1bHRFeHByIFJlbmRlcmVyUHJvY2Vzc1BvbGljeTo6RXZhbHVhCisgICAgIGNh c2UgX19OUl9zeXNpbmZvOgorICAgICBjYXNlIF9fTlJfdGltZXM6CisgICAgIGNhc2UgX19OUl91 bmFtZToKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0 cGFyYW06CisrICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6CisrICAgIGNhc2UgX19O Ul9zY2hlZF9zZXRzY2hlZHVsZXI6CisrI2VuZGlmCisgICAgICAgcmV0dXJuIEFsbG93KCk7Cisg ICAgIGNhc2UgX19OUl9zY2hlZF9nZXRhZmZpbml0eToKKysjaWYgZGVmaW5lZChfX0dMSUJDX18p CisgICAgIGNhc2UgX19OUl9zY2hlZF9nZXRwYXJhbToKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dl dHNjaGVkdWxlcjoKKyAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKKysjZW5kaWYK KyAgICAgICByZXR1cm4gUmVzdHJpY3RTY2hlZFRhcmdldChHZXRQb2xpY3lQaWQoKSwgc3lzbm8p OworICAgICBjYXNlIF9fTlJfcHJsaW1pdDY0OgorICAgICAgIC8vIFNlZSBjcmJ1Zy5jb20vNjYy NDUwIGFuZCBzZXRybGltaXQgY29tbWVudCBhYm92ZS4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5w YXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0tbXVzbC1k ZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLmJjMDc0OTViODE0NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaApA QCAtMCwwICsxLDE1IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90aHJlYWRp bmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v YmFzZS90aHJlYWRpbmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjCitAQCAtNDM5LDcgKzQzOSwx MiBAQCB2b2lkIFRlcm1pbmF0ZU9uVGhyZWFkKCkge30KKyAKKyBzaXplX3QgR2V0RGVmYXVsdFRo cmVhZFN0YWNrU2l6ZShjb25zdCBwdGhyZWFkX2F0dHJfdCYgYXR0cmlidXRlcykgeworICNpZiAh ZGVmaW5lZChUSFJFQURfU0FOSVRJWkVSKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJl dHVybiAwOworKyNlbHNlIC8vIGRlZmluZWQoX19HTElCQ19fKQorKyAgLy8gRm9yIE11c2wgbGli YyB0cnkgd2l0aCBhIGRlZmF1bHQgc3RhY2sgc2l6ZSBvZiAyIE1pQgorKyAgcmV0dXJuIDIgKiAx MDI0ICogMTAyNDsKKysjZW5kaWYgLy8gIWRlZmluZWQoX19HTElCQ19fKQorICNlbHNlCisgICAv LyBUaHJlYWRTYW5pdGl6ZXIgYmxvYXRzIHRoZSBzdGFjayBoZWF2aWx5LiBFdmlkZW5jZSBoYXMg YmVlbiB0aGF0IHRoZQorICAgLy8gZGVmYXVsdCBzdGFjayBzaXplIGlzbid0IGVub3VnaCBmb3Ig c29tZSBicm93c2VyIHRlc3RzLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDIwNy1jaHJvbWl1bS1tdXNsLWNyb3NzLW5vLWFzbV9wdHJhY2VfaC5wYXRjaCBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDctY2hyb21pdW0tbXVzbC1jcm9zcy1uby1h c21fcHRyYWNlX2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li4zY2YxMzI5MDhhZjQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMjA3LWNocm9taXVtLW11c2wtY3Jvc3Mtbm8tYXNtX3B0cmFjZV9oLnBhdGNoCkBA IC0wLDAgKzEsMzAgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9w dHJhY2VfZHVtcGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhf cHRyYWNlX2R1bXBlci5jYworQEAgLTM4LDcgKzM4LDEyIEBACisgCisgI2luY2x1ZGUgImNsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5oIgorIAorKyNpZiBk ZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorKyNlbHNlCisrLyog Rm9yIGFybSotbXVzbCB0aGlzIGRlZmluaXRpb24gaXMgbWlzc2luZyAqLworKyNkZWZpbmUgQVJN X3NwIHVyZWdzWzEzXQorKyNlbmRpZgorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8 ZXJybm8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCitAQCAtMzIsNyArMzIsMTIgQEAKKyAKKyAjaW5j bHVkZSAiY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5oIgor IAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorKyNl bHNlCisrLyogRm9yIGFybSotbXVzbCB0aGlzIGRlZmluaXRpb24gaXMgbWlzc2luZyAqLworKyNk ZWZpbmUgQVJNX3NwIHVyZWdzWzEzXQorKyNlbmRpZgorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAj aW5jbHVkZSA8ZWxmLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA4LWNocm9taXVtLW11c2wtZXhlY2luZm8ucGF0Y2gg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA4LWNocm9taXVtLW11c2wtZXhlY2lu Zm8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45ZjNiOTY0 Njc2YjMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MjA4LWNocm9taXVtLW11c2wtZXhlY2luZm8ucGF0Y2gKQEAgLTAsMCArMSwxMjUgQEAKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlLmNjCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5jYworQEAgLTI1Miw3 ICsyNTIsOSBAQCB2b2lkIFN0YWNrVHJhY2U6OlByaW50KCkgY29uc3QgeworIH0KKyAKKyB2b2lk IFN0YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFtKHN0ZDo6b3N0cmVhbSogb3MpIGNvbnN0IHsKKysj aWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBPdXRwdXRUb1N0cmVh bVdpdGhQcmVmaXgob3MsIG51bGxwdHIpOworKyNlbmRpZgorIH0KKyAKKyBzdGQ6OnN0cmluZyBT dGFja1RyYWNlOjpUb1N0cmluZygpIGNvbnN0IHsKK0BAIC0yNjAsNyArMjYyLDcgQEAgc3RkOjpz dHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJpbmcoKSBjb25zdAorIH0KKyBzdGQ6OnN0cmluZyBTdGFj a1RyYWNlOjpUb1N0cmluZ1dpdGhQcmVmaXgoY29uc3QgY2hhciogcHJlZml4X3N0cmluZykgY29u c3QgeworICAgc3RkOjpzdHJpbmdzdHJlYW0gc3RyZWFtOworLSNpZiAhZGVmaW5lZChfX1VDTElC Q19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmlu ZWQoX0FJWCkKKyAgIE91dHB1dFRvU3RyZWFtV2l0aFByZWZpeCgmc3RyZWFtLCBwcmVmaXhfc3Ry aW5nKTsKKyAjZW5kaWYKKyAgIHJldHVybiBzdHJlYW0uc3RyKCk7CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYworKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MKK0BAIC0yNyw3 ICsyNyw3IEBACisgI2lmICFkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCisgI2luY2x1ZGUgPGN4eGFi aS5oPgorICNlbmRpZgorLSNpZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlY KQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAjaW5jbHVkZSA8 ZXhlY2luZm8uaD4KKyAjZW5kaWYKKyAKK0BAIC04OSw3ICs4OSw3IEBAIHZvaWQgRGVtYW5nbGVT eW1ib2xzKHN0ZDo6c3RyaW5nKiB0ZXh0KQorICAgLy8gTm90ZTogY29kZSBpbiB0aGlzIGZ1bmN0 aW9uIGlzIE5PVCBhc3luYy1zaWduYWwgc2FmZSAoc3RkOjpzdHJpbmcgdXNlcworICAgLy8gbWFs bG9jIGludGVybmFsbHkpLgorIAorLSNpZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5l ZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIHN0 ZDo6c3RyaW5nOjpzaXplX3R5cGUgc2VhcmNoX2Zyb20gPSAwOworICAgd2hpbGUgKHNlYXJjaF9m cm9tIDwgdGV4dC0+c2l6ZSgpKSB7CisgICAgIC8vIExvb2sgZm9yIHRoZSBzdGFydCBvZiBhIG1h bmdsZWQgc3ltYm9sLCBmcm9tIHNlYXJjaF9mcm9tLgorQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lk IERlbWFuZ2xlU3ltYm9scyhzdGQ6OnN0cmluZyogdGV4dCkKKyAgICAgICBzZWFyY2hfZnJvbSA9 IG1hbmdsZWRfc3RhcnQgKyAyOworICAgICB9CisgICB9CistI2VuZGlmICAvLyAhZGVmaW5lZChf X1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNlbmRpZiAgLy8gIWRlZmluZWQoX19HTElC Q19fKSAmJiAhZGVmaW5lZChfQUlYKQorIH0KKyAjZW5kaWYgIC8vICFkZWZpbmVkKFVTRV9TWU1C T0xJWkUpCisgCitAQCAtMTM2LDcgKzEzNiw3IEBAIGNsYXNzIEJhY2t0cmFjZU91dHB1dEhhbmRs ZXIgeworICAgdmlydHVhbCB+QmFja3RyYWNlT3V0cHV0SGFuZGxlcigpID0gZGVmYXVsdDsKKyB9 OworIAorLSNpZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBk ZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyB2b2lkIE91dHB1dFBvaW50ZXIo dm9pZCogcG9pbnRlciwgQmFja3RyYWNlT3V0cHV0SGFuZGxlciogaGFuZGxlcikgeworICAgLy8g VGhpcyBzaG91bGQgYmUgbW9yZSB0aGFuIGVub3VnaCB0byBzdG9yZSBhIDY0LWJpdCBudW1iZXIg aW4gaGV4OgorICAgLy8gMTYgaGV4IGRpZ2l0cyArIDEgZm9yIG51bGwtdGVybWluYXRvci4KK0BA IC0yMTksNyArMjE5LDcgQEAgdm9pZCBQcm9jZXNzQmFja3RyYWNlKHZvaWQqIGNvbnN0KiB0cmFj ZQorICAgfQorICNlbmRpZiAgLy8gZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorIH0KKy0jZW5kaWYg IC8vICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2VuZGlmICAvLyAh ZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgCisgdm9pZCBQcmludFRvU3Rk ZXJyKGNvbnN0IGNoYXIqIG91dHB1dCkgeworICAgLy8gTk9URTogVGhpcyBjb2RlIE1VU1QgYmUg YXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCitAQCAtODM5LDcgKzgz OSw3IEBAIHNpemVfdCBDb2xsZWN0U3RhY2tUcmFjZSh2b2lkKiogdHJhY2UsIHMKKyAgIC8vIElm IHdlIGRvIG5vdCBoYXZlIHVud2luZCB0YWJsZXMsIHRoZW4gdHJ5IHRyYWNpbmcgdXNpbmcgZnJh bWUgcG9pbnRlcnMuCisgICByZXR1cm4gYmFzZTo6ZGVidWc6OlRyYWNlU3RhY2tGcmFtZVBvaW50 ZXJzKGNvbnN0X2Nhc3Q8Y29uc3Qgdm9pZCoqPih0cmFjZSksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50LCAwKTsKKy0jZWxpZiAhZGVmaW5lZChf X1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNlbGlmIGRlZmluZWQoX19HTElCQ19fKSAm JiAhZGVmaW5lZChfQUlYKQorICAgLy8gVGhvdWdoIHRoZSBiYWNrdHJhY2UgQVBJIG1hbiBwYWdl IGRvZXMgbm90IGxpc3QgYW55IHBvc3NpYmxlIG5lZ2F0aXZlCisgICAvLyByZXR1cm4gdmFsdWVz LCB3ZSB0YWtlIG5vIGNoYW5jZS4KKyAgIHJldHVybiBiYXNlOjpzYXR1cmF0ZWRfY2FzdDxzaXpl X3Q+KGJhY2t0cmFjZSh0cmFjZSwgY291bnQpKTsKK0BAIC04NTIsMTMgKzg1MiwxMyBAQCB2b2lk IFN0YWNrVHJhY2U6OlByaW50V2l0aFByZWZpeChjb25zdCBjCisgLy8gTk9URTogVGhpcyBjb2Rl IE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCisgLy8g c3RhY2sgZHVtcGluZyBzaWduYWwgaGFuZGxlcikuIE5PIG1hbGxvYyBvciBzdGRpbyBpcyBhbGxv d2VkIGhlcmUuCisgCistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgp CisrI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorICAgUHJpbnRCYWNr dHJhY2VPdXRwdXRIYW5kbGVyIGhhbmRsZXI7CisgICBQcm9jZXNzQmFja3RyYWNlKHRyYWNlXywg Y291bnRfLCBwcmVmaXhfc3RyaW5nLCAmaGFuZGxlcik7CisgI2VuZGlmCisgfQorIAorLSNpZiAh ZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJ QkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyB2b2lkIFN0YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFt V2l0aFByZWZpeChzdGQ6Om9zdHJlYW0qIG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNvbnN0IHsKKyAgIFN0 cmVhbUJhY2t0cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcihvcyk7CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vYmFzZS9sb2dnaW5nLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v YmFzZS9sb2dnaW5nLmNjCitAQCAtNTgyLDcgKzU4Miw3IEBAIExvZ01lc3NhZ2U6OkxvZ01lc3Nh Z2UoY29uc3QgY2hhciogZmlsZSwKKyAKKyBMb2dNZXNzYWdlOjp+TG9nTWVzc2FnZSgpIHsKKyAg IHNpemVfdCBzdGFja19zdGFydCA9IHN0cmVhbV8udGVsbHAoKTsKKy0jaWYgIWRlZmluZWQoT0ZG SUNJQUxfQlVJTEQpICYmICFkZWZpbmVkKE9TX05BQ0wpICYmICFkZWZpbmVkKF9fVUNMSUJDX18p ICYmIFwKKysjaWYgIWRlZmluZWQoT0ZGSUNJQUxfQlVJTEQpICYmICFkZWZpbmVkKE9TX05BQ0wp ICYmIGRlZmluZWQoX19HTElCQ19fKSAmJiBcCisgICAgICFkZWZpbmVkKE9TX0FJWCkKKyAgIGlm IChzZXZlcml0eV8gPT0gTE9HR0lOR19GQVRBTCAmJiAhYmFzZTo6ZGVidWc6OkJlaW5nRGVidWdn ZWQoKSkgeworICAgICAvLyBJbmNsdWRlIGEgc3RhY2sgdHJhY2Ugb24gYSBmYXRhbCwgdW5sZXNz IGEgZGVidWdnZXIgaXMgYXR0YWNoZWQuCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgv c3JjL2NvZGVnZW4vZXh0ZXJuYWwtcmVmZXJlbmNlLXRhYmxlLmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdjgvc3JjL2NvZGVnZW4vZXh0ZXJuYWwtcmVmZXJlbmNlLXRhYmxlLmNjCitA QCAtMTIsNyArMTIsOSBAQAorIAorICNpZiBkZWZpbmVkKERFQlVHKSAmJiBkZWZpbmVkKFY4X09T X0xJTlVYKSAmJiAhZGVmaW5lZChWOF9PU19BTkRST0lEKQorICNkZWZpbmUgU1lNQk9MSVpFX0ZV TkNUSU9OCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxleGVjaW5mby5oPgor KyNlbmRpZgorIAorICNpbmNsdWRlIDx2ZWN0b3I+CisgCitAQCAtMTAzLDcgKzEwNSw3IEBAIHZv aWQgRXh0ZXJuYWxSZWZlcmVuY2VUYWJsZTo6SW5pdChJc29sYXQKKyB9CisgCisgY29uc3QgY2hh ciogRXh0ZXJuYWxSZWZlcmVuY2VUYWJsZTo6UmVzb2x2ZVN5bWJvbCh2b2lkKiBhZGRyZXNzKSB7 CistI2lmZGVmIFNZTUJPTElaRV9GVU5DVElPTgorKyNpZiBkZWZpbmVkKFNZTUJPTElaRV9GVU5D VElPTikgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgICBjaGFyKiogbmFtZXMgPSBiYWNrdHJhY2Vf c3ltYm9scygmYWRkcmVzcywgMSk7CisgICBjb25zdCBjaGFyKiBuYW1lID0gbmFtZXNbMF07Cisg ICAvLyBUaGUgYXJyYXkgb2YgbmFtZXMgaXMgbWFsbG9jJ2VkLiBIb3dldmVyLCBlYWNoIG5hbWUg c3RyaW5nIGlzIHN0YXRpYwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIwOS1jaHJvbWl1bS1tdXNsLXRocmVhZC1zdGFja3NpemUucGF0Y2ggYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA5LWNocm9taXVtLW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRiNzYwYTQyOGIy NQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDkt Y2hyb21pdW0tbXVzbC10aHJlYWQtc3RhY2tzaXplLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9wcGFwaS91dGlsaXR5L3RocmVhZGluZy9zaW1wbGVf dGhyZWFkLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vcHBhcGkvdXRpbGl0eS90aHJl YWRpbmcvc2ltcGxlX3RocmVhZC5jYworQEAgLTEzLDcgKzEzLDcgQEAgbmFtZXNwYWNlIHBwIHsK KyBuYW1lc3BhY2UgeworIAorIC8vIFVzZSAyTUIgZGVmYXVsdCBzdGFjayBzaXplIGZvciBOYXRp dmUgQ2xpZW50LCBvdGhlcndpc2UgdXNlIHN5c3RlbSBkZWZhdWx0LgorLSNpZiBkZWZpbmVkKF9f bmF0aXZlX2NsaWVudF9fKQorKyNpZiBkZWZpbmVkKF9fbmF0aXZlX2NsaWVudF9fKSB8fCAhZGVm aW5lZChfX0dMSUJDX18pCisgY29uc3Qgc2l6ZV90IGtEZWZhdWx0U3RhY2tTaXplID0gMiAqIDEw MjQgKiAxMDI0OworICNlbHNlCisgY29uc3Qgc2l6ZV90IGtEZWZhdWx0U3RhY2tTaXplID0gMDsK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9wbGF0Zm9y bS1wb3NpeC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL3BsYXRm b3JtL3BsYXRmb3JtLXBvc2l4LmNjCitAQCAtODgzLDcgKzg4Myw3IEBAIGJvb2wgVGhyZWFkOjpT dGFydCgpIHsKKyAjaWYgVjhfT1NfTUFDT1NYCisgICAgIC8vIERlZmF1bHQgb24gTWFjIE9TIFgg aXMgNTEya0IgLS0gYnVtcCB1cCB0byAxTUIKKyAgICAgc3RhY2tfc2l6ZSA9IDEgKiAxMDI0ICog MTAyNDsKKy0jZWxpZiBWOF9PU19BSVgKKysjZWxpZiBWOF9PU19BSVggfHwgIWRlZmluZWQoX19H TElCQ19fKQorICAgICAvLyBEZWZhdWx0IG9uIEFJWCBpcyA5NmtCIC0tIGJ1bXAgdXAgdG8gMk1C CisgICAgIHN0YWNrX3NpemUgPSAyICogMTAyNCAqIDEwMjQ7CisgI2VuZGlmCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEwLWNocm9taXVtLW11c2wtbXNndmVj LXB1c2hfYmFjay5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTAtY2hy b21pdW0tbXVzbC1tc2d2ZWMtcHVzaF9iYWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uOTA1ZGFhMjIzNzAwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMC1jaHJvbWl1bS1tdXNsLW1zZ3ZlYy1wdXNoX2Jh Y2sucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25l dC9zb2NrZXQvdWRwX3NvY2tldF9wb3NpeC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L25ldC9zb2NrZXQvdWRwX3NvY2tldF9wb3NpeC5jYworQEAgLTExNjIsNyArMTE2MiwxMSBAQCBT ZW5kUmVzdWx0IFVEUFNvY2tldFBvc2l4U2VuZGVyOjpJbnRlcm5hCisgICAgIG1zZ19pb3YtPnB1 c2hfYmFjayh7Y29uc3RfY2FzdDxjaGFyKj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPmxlbmd0 aCgpfSk7CisgICBtc2d2ZWMtPnJlc2VydmUoYnVmZmVycy5zaXplKCkpOworICAgZm9yIChzaXpl X3QgaiA9IDA7IGogPCBidWZmZXJzLnNpemUoKTsgaisrKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNf XykKKyAgICAgbXNndmVjLT5wdXNoX2JhY2soe3tudWxscHRyLCAwLCAmbXNnX2lvdltqXSwgMSwg bnVsbHB0ciwgMCwgMH0sIDB9KTsKKysjZWxzZQorKyAgICBtc2d2ZWMtPnB1c2hfYmFjayh7e251 bGxwdHIsIDAsICZtc2dfaW92W2pdLCAxLCAwLCAwLCAwfSwgMH0pOworKyNlbmRpZgorICAgaW50 IHJlc3VsdCA9IEhBTkRMRV9FSU5UUihTZW5kbW1zZyhmZCwgJm1zZ3ZlY1swXSwgYnVmZmVycy5z aXplKCksIDApKTsKKyAgIFNlbmRSZXN1bHQgc2VuZF9yZXN1bHQoMCwgMCwgc3RkOjptb3ZlKGJ1 ZmZlcnMpKTsKKyAgIGlmIChyZXN1bHQgPCAwKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMjExLWNocm9taXVtLW11c2wtY2Fub25pY2FsaXplLWZpbGUtbmFt ZS1tdXNsLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMS1jaHJvbWl1 bS1tdXNsLWNhbm9uaWNhbGl6ZS1maWxlLW5hbWUtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQ0M2U2YmQ0ODhiYwotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTEtY2hyb21pdW0tbXVzbC1jYW5vbmlj YWxpemUtZmlsZS1uYW1lLW11c2wucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25hc20vbmFzbWxpYi9yZWFscGF0aC5jCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbmFzbS9uYXNtbGliL3JlYWxwYXRo LmMKK0BAIC01NSw3ICs1NSw3IEBACisgICovCisgY2hhciAqbmFzbV9yZWFscGF0aChjb25zdCBj aGFyICpyZWxfcGF0aCkKKyB7CistICAgIGNoYXIgKnJwID0gY2Fub25pY2FsaXplX2ZpbGVfbmFt ZShyZWxfcGF0aCk7CisrICAgIGNoYXIgKnJwID0gcmVhbHBhdGgocmVsX3BhdGgsIE5VTEwpOwor ICAgICByZXR1cm4gcnAgPyBycCA6IG5hc21fc3RyZHVwKHJlbF9wYXRoKTsKKyB9CisgCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEyLWNocm9taXVtLW11c2wt bm8tZ2V0Y29udGV4dC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTIt Y2hyb21pdW0tbXVzbC1uby1nZXRjb250ZXh0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uNTc1NWYxYjQ1YTdkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMi1jaHJvbWl1bS1tdXNsLW5vLWdldGNvbnRleHQu cGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRp b25faGFuZGxlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxl ci5jYworQEAgLTQ4OSw4ICs0ODksMTAgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpTaW11bGF0 ZVNpZ25hbERlbAorICAgLy8gRXhjZXB0aW9uSGFuZGxlcjo6SGFuZGxlU2lnbmFsKCkuCisgICBz aWdpbmZvLnNpX2NvZGUgPSBTSV9VU0VSOworICAgc2lnaW5mby5zaV9waWQgPSBnZXRwaWQoKTsK Ky0gIHVjb250ZXh0X3QgY29udGV4dDsKKysgIHVjb250ZXh0X3QgY29udGV4dCA9IHsgMCB9Owor KyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIGdldGNvbnRleHQoJmNvbnRleHQpOworKyNlbmRp ZgorICAgcmV0dXJuIEhhbmRsZVNpZ25hbChzaWcsICZzaWdpbmZvLCAmY29udGV4dCk7CisgfQor IAorQEAgLTY3NSw5ICs2NzcsMTQgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpXcml0ZU1pbmlk dW1wKCkgeworICAgc3lzX3ByY3RsKFBSX1NFVF9EVU1QQUJMRSwgMSwgMCwgMCwgMCk7CisgCisg ICBDcmFzaENvbnRleHQgY29udGV4dDsKKysKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICBp bnQgZ2V0Y29udGV4dF9yZXN1bHQgPSBnZXRjb250ZXh0KCZjb250ZXh0LmNvbnRleHQpOworICAg aWYgKGdldGNvbnRleHRfcmVzdWx0KQorICAgICByZXR1cm4gZmFsc2U7CisrI2Vsc2UKKysgIHJl dHVybiBmYWxzZTsKKysjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChfX2kzODZfXykKKyAgIC8vIElu IENQVUZpbGxGcm9tVUNvbnRleHQgaW4gbWluaWR1bXB3cml0ZXIuY2MgdGhlIHN0YWNrIHBvaW50 ZXIgaXMgcmV0cmlldmVkCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMjEzLWNocm9taXVtLW11c2wtY3Jhc2hwYWQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMjEzLWNocm9taXVtLW11c2wtY3Jhc2hwYWQucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40ZDQ5OTk3ZWQ0ZjMKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEzLWNocm9taXVtLW11c2wtY3Jh c2hwYWQucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL2NvbXBhdC9saW51eC9zeXMvcHRyYWNlLmgK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9jb21wYXQvbGludXgvc3lzL3B0cmFjZS5oCitAQCAtMTcsNyArMTcsOSBAQAorIAorICNpbmNs dWRlX25leHQgPHN5cy9wdHJhY2UuaD4KKyAKKysjaWZkZWYgX19HTElCQ19fCisgI2luY2x1ZGUg PHN5cy9jZGVmcy5oPgorKyNlbmRpZgorIAorIC8vIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVn emlsbGEvc2hvd19idWcuY2dpP2lkPTIyNDMzCisgI2lmICFkZWZpbmVkKFBUUkFDRV9HRVRfVEhS RUFEX0FSRUEpICYmICFkZWZpbmVkKFBUX0dFVF9USFJFQURfQVJFQSkgJiYgXAorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGlu dXgvcHRyYWNlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlci5jYworQEAgLTI2LDYgKzI2LDcgQEAK KyAKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKQorICNpbmNsdWRlIDxhc20vbGR0 Lmg+CisrI2luY2x1ZGUgPGFzbS9wdHJhY2UtYWJpLmg+CisgI2VuZGlmCisgCisgbmFtZXNwYWNl IGNyYXNocGFkIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAy MTQtY2hyb21pdW0tbXVzbC1maXhlcy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAyMTQtY2hyb21pdW0tbXVzbC1maXhlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjU1YjI2N2VkMTcxNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTQtY2hyb21pdW0tbXVzbC1maXhlcy5wYXRjaApA QCAtMCwwICsxLDEwOCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvc3VpZC9wcm9jZXNzX3V0aWwuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRi b3gvbGludXgvc3VpZC9wcm9jZXNzX3V0aWwuaAorQEAgLTEyLDYgKzEyLDE1IEBACisgI2luY2x1 ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAKKysjaWYgIWRlZmluZWQo X19HTElCQ19fKSAmJiAhZGVmaW5lZChURU1QX0ZBSUxVUkVfUkVUUlkpCisrIyBkZWZpbmUgVEVN UF9GQUlMVVJFX1JFVFJZKGV4cHJlc3Npb24pIFwKKysJKF9fZXh0ZW5zaW9uX18JCQlcCisrCSAo eyBsb25nIGludCBfX3Jlc3VsdDsJCVwKKysJICBkbyBfX3Jlc3VsdCA9IChsb25nIGludCkgKGV4 cHJlc3Npb24pOyBcCisrCSAgd2hpbGUgKF9fcmVzdWx0ID09IC0xTCAmJiBlcnJubyA9PSBFSU5U Uik7IFwKKysJICBfX3Jlc3VsdDsgfSkpCisrI2VuZGlmCisrCisgLy8gVGhpcyBhZGp1c3RzIC9w cm9jL3Byb2Nlc3Mvb29tX3Njb3JlX2FkaiBzbyB0aGUgTGludXggT09NIGtpbGxlcgorIC8vIHdp bGwgcHJlZmVyIGNlcnRhaW4gcHJvY2VzcyB0eXBlcyBvdmVyIG90aGVycy4gVGhlIHJhbmdlIGZv ciB0aGUKKyAvLyBhZGp1c3RtZW50IGlzIFstMTAwMCwgMTAwMF0sIHdpdGggWzAsIDEwMDBdIGJl aW5nIHVzZXIgYWNjZXNzaWJsZS4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zZXJ2aWNl cy9kZXZpY2Uvc2VyaWFsL3NlcmlhbF9pb19oYW5kbGVyX3Bvc2l4LmNjCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vc2VydmljZXMvZGV2aWNlL3NlcmlhbC9zZXJpYWxfaW9faGFuZGxlcl9w b3NpeC5jYworQEAgLTYsNiArNiw3IEBACisgCisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorICNp bmNsdWRlIDx0ZXJtaW9zLmg+CisrI2luY2x1ZGUgPGFzbS1nZW5lcmljL2lvY3Rscy5oPgorIAor ICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPHV0aWxpdHk+CistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmgKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAorQEAgLTM4LDYgKzM4LDEw IEBACisgI2luY2x1ZGUgImNvbW1vbi9tZW1vcnlfYWxsb2NhdG9yLmgiCisgI2luY2x1ZGUgImdv b2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZm9ybWF0LmgiCisgCisrI2lmbmRlZiBfX0dM SUJDX18KKysjZGVmaW5lIF9saWJjX2Zwc3RhdGUgX2Zwc3RhdGUKKysjZW5kaWYKKysKKyBuYW1l c3BhY2UgZ29vZ2xlX2JyZWFrcGFkIHsKKyAKKyAvLyBXcmFwcyBwbGF0Zm9ybS1kZXBlbmRlbnQg aW1wbGVtZW50YXRpb25zIG9mIGFjY2Vzc29ycyB0byB1Y29udGV4dF90IHN0cnVjdHMuCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZmZtcGVnL2xpYmF2dXRpbC9jcHUu YworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2ZmbXBlZy9saWJhdnV0 aWwvY3B1LmMKK0BAIC00MSw4ICs0MSwxMCBAQAorICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyAj ZW5kaWYKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrI2lmZGVmIF9fR0xJQkNfXworICNpbmNs dWRlIDxzeXMvc3lzY3RsLmg+CisgI2VuZGlmCisrI2VuZGlmCisgI2lmIEhBVkVfVU5JU1REX0gK KyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvcGVyZmV0dG8vaW5jbHVkZS9wZXJmZXR0by9leHQvYmFzZS90aHJlYWRf dXRpbHMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BlcmZldHRv L2luY2x1ZGUvcGVyZmV0dG8vZXh0L2Jhc2UvdGhyZWFkX3V0aWxzLmgKK0BAIC0yOSw5ICsyOSw3 IEBACisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjZW5kaWYKKyAKKy0jaWYgUEVSRkVUVE9fQlVJ TERGTEFHKFBFUkZFVFRPX09TX0FORFJPSUQpCisgI2luY2x1ZGUgPHN5cy9wcmN0bC5oPgorLSNl bmRpZgorIAorIC8vIEludGVybmFsIGltcGxlbWVudGF0aW9uIHV0aWxzIHRoYXQgYXJlbid0IGFz IHdpZGVseSB1c2VmdWwvc3VwcG9ydGVkIGFzCisgLy8gYmFzZS90aHJlYWRfdXRpbHMuaC4KK0BA IC01OCw3ICs1Niw3IEBAIGlubGluZSBib29sIE1heWJlU2V0VGhyZWFkTmFtZShjb25zdCBzdGQK KyAKKyBpbmxpbmUgYm9vbCBHZXRUaHJlYWROYW1lKHN0ZDo6c3RyaW5nJiBvdXRfcmVzdWx0KSB7 CisgICBjaGFyIGJ1ZlsxNl0gPSB7fTsKKy0jaWYgUEVSRkVUVE9fQlVJTERGTEFHKFBFUkZFVFRP X09TX0FORFJPSUQpCisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKyAgIGlmIChwcmN0bChQUl9H RVRfTkFNRSwgYnVmKSAhPSAwKQorICAgICByZXR1cm4gZmFsc2U7CisgI2Vsc2UKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0 LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lz Y2FsbF9zdXBwb3J0LmgKK0BAIC0xMzAwLDYgKzEzMDAsMTggQEAgc3RydWN0IGtlcm5lbF9zdGF0 ZnMgeworICNpZm5kZWYgX19OUl9mYWxsb2NhdGUKKyAjZGVmaW5lIF9fTlJfZmFsbG9jYXRlICAg ICAgICAgIDI4NQorICNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrI2lmZGVm IF9fTlJfcHJlYWQKKysjdW5kZWYgX19OUl9wcmVhZAorKyNlbmRpZgorKyNpZmRlZiBfX05SX3B3 cml0ZQorKyN1bmRlZiBfX05SX3B3cml0ZQorKyNlbmRpZgorKyNkZWZpbmUgX19OUl9wcmVhZCBf X05SX3ByZWFkNjQKKysjZGVmaW5lIF9fTlJfcHdyaXRlIF9fTlJfcHdyaXRlNjQKKysjZW5kaWYg LyogIWRlZmluZWQoX19HTElCQ19fKSAqLworKworICNpZm5kZWYgX19OUl9nZXRyYW5kb20KKyAj ZGVmaW5lIF9fTlJfZ2V0cmFuZG9tICAgICAgICAgIDMxOAorICNlbmRpZgorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX2NvbmZpZ19zZXJ2aWNlX3Bvc2l4LmNjCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9kbnNfY29uZmlnX3NlcnZpY2VfcG9zaXgu Y2MKK0BAIC05Myw3ICs5Myw4IEBAIGFic2w6Om9wdGlvbmFsPERuc0NvbmZpZz4gUmVhZERuc0Nv bmZpZygKKyAKKyAgIGFic2w6Om9wdGlvbmFsPERuc0NvbmZpZz4gZG5zX2NvbmZpZzsKKyAvLyBU T0RPKGZ1Y2hzaWEpOiBVc2UgcmVzX25pbml0KCkgd2hlbiBpdCdzIGltcGxlbWVudGVkIG9uIEZ1 Y2hzaWEuCistI2lmIGRlZmluZWQoT1NfT1BFTkJTRCkgfHwgZGVmaW5lZChPU19GVUNIU0lBKQor KyNpZiBkZWZpbmVkKE9TX09QRU5CU0QpIHx8IGRlZmluZWQoT1NfRlVDSFNJQSkgfHwgXAorKyAg KGRlZmluZWQoT1NfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisgICAvLyBOb3RlOiBy ZXNfbmluaXQgaW4gZ2xpYmMgYWx3YXlzIHJldHVybnMgMCBhbmQgc2V0cyBSRVNfSU5JVC4KKyAg IC8vIHJlc19pbml0IGJlaGF2ZXMgdGhlIHNhbWUgd2F5LgorICAgbWVtc2V0KCZfcmVzLCAwLCBz aXplb2YoX3JlcykpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uOWQxZGFlYzI5MTE4Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNo CkBAIC0wLDAgKzEsMjkgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9saWJzeW5jL3NyYy9pbmNsdWRlL3N5bmMvc3luYy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvbGlic3luYy9zcmMvaW5jbHVkZS9zeW5jL3N5bmMuaAorQEAgLTE5 LDEyICsxOSwxMyBAQAorICNpZm5kZWYgX19TWVNfQ09SRV9TWU5DX0gKKyAjZGVmaW5lIF9fU1lT X0NPUkVfU1lOQ19ICisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorICNpbmNsdWRlIDxzdGRp bnQuaD4KKyAKKyAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyAKKy1fX0JFR0lOX0RFQ0xTCisr I2lmZGVmIF9fY3BsdXNwbHVzCisrZXh0ZXJuICJDIiB7CisrI2VuZGlmCisgCisgc3RydWN0IHN5 bmNfbGVnYWN5X21lcmdlX2RhdGEgeworICBpbnQzMl90IGZkMjsKK0BAIC0xNTgsNiArMTU5LDkg QEAgc3RydWN0IHN5bmNfcHRfaW5mbyAqc3luY19wdF9pbmZvKHN0cnVjdAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3luY19wdF9pbmZvICppdHIpOworIHZvaWQg c3luY19mZW5jZV9pbmZvX2ZyZWUoc3RydWN0IHN5bmNfZmVuY2VfaW5mb19kYXRhICppbmZvKTsK KyAKKy1fX0VORF9ERUNMUworKyNpZmRlZiBfX2NwbHVzcGx1cworK30KKysjZW5kaWYKKysKKyAK KyAjZW5kaWYgLyogX19TWVNfQ09SRV9TWU5DX0ggKi8KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTYtY2hyb21pdW0tbXVzbC1zdGF0LnBhdGNoIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNi1jaHJvbWl1bS1tdXNsLXN0YXQucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40NTA5YTY5NTdjZDcKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE2LWNocm9taXVt LW11c2wtc3RhdC5wYXRjaApAQCAtMCwwICsxLDEyIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vYmFzZS9maWxlcy9maWxlLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNl L2ZpbGVzL2ZpbGUuaAorQEAgLTE5LDcgKzE5LDggQEAKKyAjaW5jbHVkZSAiYnVpbGQvYnVpbGRf Y29uZmlnLmgiCisgCisgI2lmIGRlZmluZWQoT1NfQlNEKSB8fCBkZWZpbmVkKE9TX0FQUExFKSB8 fCBkZWZpbmVkKE9TX05BQ0wpIHx8IFwKKy0gICAgZGVmaW5lZChPU19GVUNIU0lBKSB8fCAoZGVm aW5lZChPU19BTkRST0lEKSAmJiBfX0FORFJPSURfQVBJX18gPCAyMSkKKysgICAgZGVmaW5lZChP U19GVUNIU0lBKSB8fCAoZGVmaW5lZChPU19BTkRST0lEKSAmJiBfX0FORFJPSURfQVBJX18gPCAy MSkgfHwgXAorKyAgICAoZGVmaW5lZChPU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkK KyBzdHJ1Y3Qgc3RhdDsKKyBuYW1lc3BhY2UgYmFzZSB7CisgdHlwZWRlZiBzdHJ1Y3Qgc3RhdCBz dGF0X3dyYXBwZXJfdDsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAyMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAyMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmMzZDdhZmFkOWIxOQotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTctY2hyb21pdW0tbXVzbC1yZXNv bHZlci5wYXRjaApAQCAtMCwwICsxLDc3IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v bmV0L2Rucy9kbnNfY29uZmlnX3NlcnZpY2VfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9uZXQvZG5zL2Ruc19jb25maWdfc2VydmljZV9saW51eC5jYworQEAgLTQzMiwxMSAr NDMyLDEzIEBAIGNsYXNzIERuc0NvbmZpZ1NlcnZpY2VMaW51eDo6Q29uZmlnUmVhZGUKKyAgICAg YmFzZTo6U2NvcGVkQmxvY2tpbmdDYWxsIHNjb3BlZF9ibG9ja2luZ19jYWxsKAorICAgICAgICAg RlJPTV9IRVJFLCBiYXNlOjpCbG9ja2luZ1R5cGU6Ok1BWV9CTE9DSyk7CisgCisrI2lmIGRlZmlu ZWQoX19HTElCQ19fKQorICAgICBzdGQ6OnVuaXF1ZV9wdHI8c3RydWN0IF9fcmVzX3N0YXRlPiBy ZXMgPSByZXNvbHZfcmVhZGVyXy0+R2V0UmVzU3RhdGUoKTsKKyAgICAgaWYgKHJlcykgeworICAg ICAgIGRuc19jb25maWdfID0gQ29udmVydFJlc1N0YXRlVG9EbnNDb25maWcoKnJlcy5nZXQoKSk7 CisgICAgICAgcmVzb2x2X3JlYWRlcl8tPkNsb3NlUmVzU3RhdGUocmVzLmdldCgpKTsKKyAgICAg fQorKyNlbmRpZgorIAorICAgICBVTUFfSElTVE9HUkFNX0JPT0xFQU4oIk5ldC5ETlMuRG5zQ29u ZmlnLlJlc29sdi5SZWFkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRuc19jb25maWdf Lmhhc192YWx1ZSgpKTsKK0BAIC00ODYsNiArNDg4LDcgQEAgY2xhc3MgRG5zQ29uZmlnU2Vydmlj ZUxpbnV4OjpDb25maWdSZWFkZQorIAorIHN0ZDo6dW5pcXVlX3B0cjxzdHJ1Y3QgX19yZXNfc3Rh dGU+CisgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpSZXNvbHZSZWFkZXI6OkdldFJlc1N0YXRlKCkg eworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIGF1dG8gcmVzID0gc3RkOjptYWtlX3VuaXF1 ZTxzdHJ1Y3QgX19yZXNfc3RhdGU+KCk7CisgICBtZW1zZXQocmVzLmdldCgpLCAwLCBzaXplb2Yo c3RydWN0IF9fcmVzX3N0YXRlKSk7CisgCitAQCAtNDk1LDExICs0OTgsMTYgQEAgRG5zQ29uZmln U2VydmljZUxpbnV4OjpSZXNvbHZSZWFkZXI6OkdldAorICAgfQorIAorICAgcmV0dXJuIHJlczsK KysjZWxzZQorKyAgcmV0dXJuIG51bGxwdHI7CisrI2VuZGlmCisgfQorIAorIHZvaWQgRG5zQ29u ZmlnU2VydmljZUxpbnV4OjpSZXNvbHZSZWFkZXI6OkNsb3NlUmVzU3RhdGUoCisgICAgIHN0cnVj dCBfX3Jlc19zdGF0ZSogcmVzKSB7CisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgcmVzX25j bG9zZShyZXMpOworKyNlbmRpZgorIH0KKyAKKyBEbnNDb25maWdTZXJ2aWNlTGludXg6OkRuc0Nv bmZpZ1NlcnZpY2VMaW51eCgpCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9k bnNfcmVsb2FkZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2Ruc19y ZWxvYWRlci5jYworQEAgLTQsOCArNCw3IEBACisgCisgI2luY2x1ZGUgIm5ldC9kbnMvZG5zX3Jl bG9hZGVyLmgiCisgCistI2lmIGRlZmluZWQoT1NfUE9TSVgpICYmICFkZWZpbmVkKE9TX0FQUExF KSAmJiAhZGVmaW5lZChPU19PUEVOQlNEKSAmJiBcCistICAgICFkZWZpbmVkKE9TX0FORFJPSUQp ICYmICFkZWZpbmVkKE9TX0ZVQ0hTSUEpCisrI2lmZGVmIF9fR0xJQkNfXworIAorICNpbmNsdWRl IDxyZXNvbHYuaD4KKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3Rf cmVzb2x2ZXJfbWFuYWdlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMv aG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjCitAQCAtMjcyMCw4ICsyNzIwLDcgQEAgSG9zdFJlc29s dmVyTWFuYWdlcjo6SG9zdFJlc29sdmVyTWFuYWdlcgorICAgTmV0d29ya0NoYW5nZU5vdGlmaWVy OjpBZGRDb25uZWN0aW9uVHlwZU9ic2VydmVyKHRoaXMpOworICAgaWYgKHN5c3RlbV9kbnNfY29u ZmlnX25vdGlmaWVyXykKKyAgICAgc3lzdGVtX2Ruc19jb25maWdfbm90aWZpZXJfLT5BZGRPYnNl cnZlcih0aGlzKTsKKy0jaWYgZGVmaW5lZChPU19QT1NJWCkgJiYgIWRlZmluZWQoT1NfQVBQTEUp ICYmICFkZWZpbmVkKE9TX09QRU5CU0QpICYmIFwKKy0gICAgIWRlZmluZWQoT1NfQU5EUk9JRCkK KysjaWZkZWYgX19HTElCQ19fCisgICBFbnN1cmVEbnNSZWxvYWRlckluaXQoKTsKKyAjZW5kaWYK KyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfcHJv Yy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9w cm9jLmNjCitAQCAtMTc2LDggKzE3Niw3IEBAIGludCBTeXN0ZW1Ib3N0UmVzb2x2ZXJDYWxsKGNv bnN0IHN0ZDo6c3QKKyAgIGJhc2U6OlNjb3BlZEJsb2NraW5nQ2FsbCBzY29wZWRfYmxvY2tpbmdf Y2FsbChGUk9NX0hFUkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmFzZTo6QmxvY2tpbmdUeXBlOjpXSUxMX0JMT0NLKTsKKyAKKy0jaWYgZGVmaW5l ZChPU19QT1NJWCkgJiYgIWRlZmluZWQoT1NfQVBQTEUpICYmICFkZWZpbmVkKE9TX09QRU5CU0Qp ICYmIFwKKy0gICAgIWRlZmluZWQoT1NfQU5EUk9JRCkgJiYgIWRlZmluZWQoT1NfRlVDSFNJQSkK KysjaWZkZWYgX19HTElCQ19fCisgICBEbnNSZWxvYWRlck1heWJlUmVsb2FkKCk7CisgI2VuZGlm CisgICBhYnNsOjpvcHRpb25hbDxBZGRyZXNzSW5mbz4gYWk7CmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNjAwLWNocm9taXVtLXNuZGlvLnBhdGNoIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDYwMC1jaHJvbWl1bS1zbmRpby5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjAzMDI4NzRmZmJhNAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA2MDAtY2hyb21pdW0tc25k aW8ucGF0Y2gKQEAgLTAsMCArMSw4NzYgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9t ZWRpYS9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL0JVSUxELmdu CitAQCAtNzIsNiArNzIsOSBAQCBjb25maWcoIm1lZGlhX2NvbmZpZyIpIHsKKyAgICAgICBkZWZp bmVzICs9IFsgIkRMT1BFTl9QVUxTRUFVRElPIiBdCisgICAgIH0KKyAgIH0KKysgIGlmICh1c2Vf c25kaW8pIHsKKysgICAgZGVmaW5lcyArPSBbICJVU0VfU05ESU8iIF0KKysgIH0KKyAgIGlmICh1 c2VfY3JhcykgeworICAgICBkZWZpbmVzICs9IFsgIlVTRV9DUkFTIiBdCisgICB9CistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9CVUlMRC5nbgorQEAgLTI0MCw2ICsyNDAsMTcgQEAg c291cmNlX3NldCgiYXVkaW8iKSB7CisgICAgIHNvdXJjZXMgKz0gWyAibGludXgvYXVkaW9fbWFu YWdlcl9saW51eC5jYyIgXQorICAgfQorIAorKyAgaWYgKHVzZV9zbmRpbykgeworKyAgICBsaWJz ICs9IFsgInNuZGlvIiBdCisrICAgIHNvdXJjZXMgKz0gWworKyAgICAgICJzbmRpby9hdWRpb19t YW5hZ2VyX3NuZGlvLmNjIiwKKysgICAgICAic25kaW8vc25kaW9faW5wdXQuY2MiLAorKyAgICAg ICJzbmRpby9zbmRpb19pbnB1dC5oIiwKKysgICAgICAic25kaW8vc25kaW9fb3V0cHV0LmNjIiwK KysgICAgICAic25kaW8vc25kaW9fb3V0cHV0LmgiCisrICAgIF0KKysgIH0KKysKKyAgIGlmICh1 c2VfYWxzYSkgeworICAgICBsaWJzICs9IFsgImFzb3VuZCIgXQorICAgICBzb3VyY2VzICs9IFsK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9saW51eC9hdWRpb19tYW5h Z2VyX2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vbGlu dXgvYXVkaW9fbWFuYWdlcl9saW51eC5jYworQEAgLTI1LDYgKzI1LDExIEBACisgI2luY2x1ZGUg Im1lZGlhL2F1ZGlvL3B1bHNlL2F1ZGlvX21hbmFnZXJfcHVsc2UuaCIKKyAjaW5jbHVkZSAibWVk aWEvYXVkaW8vcHVsc2UvcHVsc2VfdXRpbC5oIgorICNlbmRpZgorKyNpZiBkZWZpbmVkKFVTRV9T TkRJTykKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5o IgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRpby9zbmRpb19pbnB1dC5oIgorKyNpbmNsdWRl ICJtZWRpYS9hdWRpby9zbmRpby9zbmRpb19vdXRwdXQuaCIKKysjZW5kaWYKKyAKKyBuYW1lc3Bh Y2UgbWVkaWEgeworIAorQEAgLTMyLDcgKzM3LDggQEAgZW51bSBMaW51eEF1ZGlvSU8geworICAg a1B1bHNlLAorICAga0Fsc2EsCisgICBrQ3JhcywKKy0gIGtBdWRpb0lPTWF4ID0ga0NyYXMgIC8v IE11c3QgYWx3YXlzIGJlIGVxdWFsIHRvIGxhcmdlc3QgbG9nZ2VkIGVudHJ5LgorKyAga1NuZGlv LAorKyAga0F1ZGlvSU9NYXggPSBrU25kaW8gLy8gTXVzdCBhbHdheXMgYmUgZXF1YWwgdG8gbGFy Z2VzdCBsb2dnZWQgZW50cnkuCisgfTsKKyAKKyBzdGQ6OnVuaXF1ZV9wdHI8bWVkaWE6OkF1ZGlv TWFuYWdlcj4gQ3JlYXRlQXVkaW9NYW5hZ2VyKAorQEAgLTQ1LDYgKzUxLDE2IEBAIHN0ZDo6dW5p cXVlX3B0cjxtZWRpYTo6QXVkaW9NYW5hZ2VyPiBDcmUKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fbG9nX2ZhY3RvcnkpOworICAgfQorIAorKyNp ZiBkZWZpbmVkKFVTRV9TTkRJTykKKysgIHN0cnVjdCBzaW9faGRsICpoZGwgPSBzaW9fb3BlbihT SU9fREVWQU5ZLCBTSU9fUExBWSwgMCk7CisrICBpZiAoaGRsICE9IE5VTEwpIHsKKysgICAgc2lv X2Nsb3NlKGhkbCk7CisrICAgIFVNQV9ISVNUT0dSQU1fRU5VTUVSQVRJT04oIk1lZGlhLkxpbnV4 QXVkaW9JTyIsIGtTbmRpbywga0F1ZGlvSU9NYXggKyAxKTsKKysgICAgcmV0dXJuIHN0ZDo6bWFr ZV91bmlxdWU8QXVkaW9NYW5hZ2VyU25kaW8+KHN0ZDo6bW92ZShhdWRpb190aHJlYWQpLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fbG9n X2ZhY3RvcnkpOworKyAgfQorKyNlbmRpZgorKworICNpZiBkZWZpbmVkKFVTRV9DUkFTKQorICAg aWYgKGJhc2U6OkNvbW1hbmRMaW5lOjpGb3JDdXJyZW50UHJvY2VzcygpLT5IYXNTd2l0Y2goc3dp dGNoZXM6OmtVc2VDcmFzKSkgeworICAgICBVTUFfSElTVE9HUkFNX0VOVU1FUkFUSU9OKCJNZWRp YS5MaW51eEF1ZGlvSU8iLCBrQ3Jhcywga0F1ZGlvSU9NYXggKyAxKTsKKy0tLSAvZGV2L251bGwK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5h Z2VyX3NuZGlvLmNjCitAQCAtMCwwICsxLDE0OCBAQAorKy8vIENvcHlyaWdodCAoYykgMjAxMiBU aGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhp cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu IGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysjaW5jbHVkZSAibWVkaWEv YXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oIgorKworKyNpbmNsdWRlICJiYXNlL21l dHJpY3MvaGlzdG9ncmFtX21hY3Jvcy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS9wdHJfdXRp bC5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hdWRpb19kZXZpY2VfZGVzY3JpcHRpb24uaCIK KysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fb3V0cHV0X2Rpc3BhdGNoZXIuaCIKKysjaW5j bHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9faW5wdXQuaCIKKysjaW5jbHVkZSAibWVkaWEv YXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvbGltaXRz LmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuaCIKKysKKytuYW1lc3Bh Y2UgbWVkaWEgeworKworKworKy8vIE1heGltdW0gbnVtYmVyIG9mIG91dHB1dCBzdHJlYW1zIHRo YXQgY2FuIGJlIG9wZW4gc2ltdWx0YW5lb3VzbHkuCisrc3RhdGljIGNvbnN0IGludCBrTWF4T3V0 cHV0U3RyZWFtcyA9IDQ7CisrCisrLy8gRGVmYXVsdCBzYW1wbGUgcmF0ZSBmb3IgaW5wdXQgYW5k IG91dHB1dCBzdHJlYW1zLgorK3N0YXRpYyBjb25zdCBpbnQga0RlZmF1bHRTYW1wbGVSYXRlID0g NDgwMDA7CisrCisrdm9pZCBBZGREZWZhdWx0RGV2aWNlKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmlj ZV9uYW1lcykgeworKyAgRENIRUNLKGRldmljZV9uYW1lcy0+ZW1wdHkoKSk7CisrICBkZXZpY2Vf bmFtZXMtPnB1c2hfZnJvbnQoQXVkaW9EZXZpY2VOYW1lOjpDcmVhdGVEZWZhdWx0KCkpOworK30K KysKKytib29sIEF1ZGlvTWFuYWdlclNuZGlvOjpIYXNBdWRpb091dHB1dERldmljZXMoKSB7Cisr ICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrYm9vbCBBdWRpb01hbmFnZXJTbmRpbzo6SGFzQXVkaW9J bnB1dERldmljZXMoKSB7CisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrdm9pZCBBdWRpb01hbmFn ZXJTbmRpbzo6R2V0QXVkaW9JbnB1dERldmljZU5hbWVzKAorKyAgICBBdWRpb0RldmljZU5hbWVz KiBkZXZpY2VfbmFtZXMpIHsKKysgIERDSEVDSyhkZXZpY2VfbmFtZXMtPmVtcHR5KCkpOworKyAg QWRkRGVmYXVsdERldmljZShkZXZpY2VfbmFtZXMpOworK30KKysKKyt2b2lkIEF1ZGlvTWFuYWdl clNuZGlvOjpHZXRBdWRpb091dHB1dERldmljZU5hbWVzKAorKyAgICBBdWRpb0RldmljZU5hbWVz KiBkZXZpY2VfbmFtZXMpIHsKKysgIEFkZERlZmF1bHREZXZpY2UoZGV2aWNlX25hbWVzKTsKKyt9 CisrCisrY29uc3QgY2hhciogQXVkaW9NYW5hZ2VyU25kaW86OkdldE5hbWUoKSB7CisrICByZXR1 cm4gIlNORElPIjsKKyt9CisrCisrQXVkaW9QYXJhbWV0ZXJzIEF1ZGlvTWFuYWdlclNuZGlvOjpH ZXRJbnB1dFN0cmVhbVBhcmFtZXRlcnMoCisrICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2Vf aWQpIHsKKysgIHN0YXRpYyBjb25zdCBpbnQga0RlZmF1bHRJbnB1dEJ1ZmZlclNpemUgPSAxMDI0 OworKworKyAgaW50IHVzZXJfYnVmZmVyX3NpemUgPSBHZXRVc2VyQnVmZmVyU2l6ZSgpOworKyAg aW50IGJ1ZmZlcl9zaXplID0gdXNlcl9idWZmZXJfc2l6ZSA/CisrICAgICAgdXNlcl9idWZmZXJf c2l6ZSA6IGtEZWZhdWx0SW5wdXRCdWZmZXJTaXplOworKworKyAgcmV0dXJuIEF1ZGlvUGFyYW1l dGVycygKKysgICAgICBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgQ0hB Tk5FTF9MQVlPVVRfU1RFUkVPLAorKyAgICAgIGtEZWZhdWx0U2FtcGxlUmF0ZSwgYnVmZmVyX3Np emUpOworK30KKysKKytBdWRpb01hbmFnZXJTbmRpbzo6QXVkaW9NYW5hZ2VyU25kaW8oc3RkOjp1 bmlxdWVfcHRyPEF1ZGlvVGhyZWFkPiBhdWRpb190aHJlYWQsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBdWRpb0xvZ0ZhY3RvcnkqIGF1ZGlvX2xvZ19mYWN0b3J5 KQorKyAgICA6IEF1ZGlvTWFuYWdlckJhc2Uoc3RkOjptb3ZlKGF1ZGlvX3RocmVhZCksCisrICAg ICAgICAgICAgICAgICAgICAgICBhdWRpb19sb2dfZmFjdG9yeSkgeworKyAgRExPRyhXQVJOSU5H KSA8PCAiQXVkaW9NYW5hZ2VyU25kaW8iOworKyAgU2V0TWF4T3V0cHV0U3RyZWFtc0FsbG93ZWQo a01heE91dHB1dFN0cmVhbXMpOworK30KKysKKytBdWRpb01hbmFnZXJTbmRpbzo6fkF1ZGlvTWFu YWdlclNuZGlvKCkgeworKyAgU2h1dGRvd24oKTsKKyt9CisrCisrQXVkaW9PdXRwdXRTdHJlYW0q IEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlTGluZWFyT3V0cHV0U3RyZWFtKAorKyAgICBjb25zdCBB dWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxs YmFjaykgeworKyAgRENIRUNLX0VRKEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xJTkVBUiwg cGFyYW1zLmZvcm1hdCgpKTsKKysgIHJldHVybiBNYWtlT3V0cHV0U3RyZWFtKHBhcmFtcyk7Cisr fQorKworK0F1ZGlvT3V0cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxvd0xhdGVu Y3lPdXRwdXRTdHJlYW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAg ICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICBjb25zdCBMb2dDYWxsYmFjayYg bG9nX2NhbGxiYWNrKSB7CisrICBETE9HX0lGKEVSUk9SLCAhZGV2aWNlX2lkLmVtcHR5KCkpIDw8 ICJOb3QgaW1wbGVtZW50ZWQhIjsKKysgIERDSEVDS19FUShBdWRpb1BhcmFtZXRlcnM6OkFVRElP X1BDTV9MT1dfTEFURU5DWSwgcGFyYW1zLmZvcm1hdCgpKTsKKysgIHJldHVybiBNYWtlT3V0cHV0 U3RyZWFtKHBhcmFtcyk7CisrfQorKworK0F1ZGlvSW5wdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNu ZGlvOjpNYWtlTGluZWFySW5wdXRTdHJlYW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYg cGFyYW1zLAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICBjb25zdCBM b2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7CisrICBEQ0hFQ0tfRVEoQXVkaW9QYXJhbWV0ZXJz OjpBVURJT19QQ01fTElORUFSLCBwYXJhbXMuZm9ybWF0KCkpOworKyAgcmV0dXJuIE1ha2VJbnB1 dFN0cmVhbShwYXJhbXMpOworK30KKysKKytBdWRpb0lucHV0U3RyZWFtKiBBdWRpb01hbmFnZXJT bmRpbzo6TWFrZUxvd0xhdGVuY3lJbnB1dFN0cmVhbSgKKysgICAgY29uc3QgQXVkaW9QYXJhbWV0 ZXJzJiBwYXJhbXMsCisrICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQsCisrICAgIGNv bnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIHsKKysgIERDSEVDS19FUShBdWRpb1BhcmFt ZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgcGFyYW1zLmZvcm1hdCgpKTsKKysgIHJldHVy biBNYWtlSW5wdXRTdHJlYW0ocGFyYW1zKTsKKyt9CisrCisrQXVkaW9QYXJhbWV0ZXJzIEF1ZGlv TWFuYWdlclNuZGlvOjpHZXRQcmVmZXJyZWRPdXRwdXRTdHJlYW1QYXJhbWV0ZXJzKAorKyAgICBj b25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCwKKysgICAgY29uc3QgQXVkaW9QYXJh bWV0ZXJzJiBpbnB1dF9wYXJhbXMpIHsKKysgIC8vIFRPRE8odG9tbWkpOiBTdXBwb3J0IHxvdXRw dXRfZGV2aWNlX2lkfC4KKysgIERMT0dfSUYoRVJST1IsICFvdXRwdXRfZGV2aWNlX2lkLmVtcHR5 KCkpIDw8ICJOb3QgaW1wbGVtZW50ZWQhIjsKKysgIHN0YXRpYyBjb25zdCBpbnQga0RlZmF1bHRP dXRwdXRCdWZmZXJTaXplID0gMjA0ODsKKysKKysgIENoYW5uZWxMYXlvdXQgY2hhbm5lbF9sYXlv dXQgPSBDSEFOTkVMX0xBWU9VVF9TVEVSRU87CisrICBpbnQgc2FtcGxlX3JhdGUgPSBrRGVmYXVs dFNhbXBsZVJhdGU7CisrICBpbnQgYnVmZmVyX3NpemUgPSBrRGVmYXVsdE91dHB1dEJ1ZmZlclNp emU7CisrICBpZiAoaW5wdXRfcGFyYW1zLklzVmFsaWQoKSkgeworKyAgICBzYW1wbGVfcmF0ZSA9 IGlucHV0X3BhcmFtcy5zYW1wbGVfcmF0ZSgpOworKyAgICBjaGFubmVsX2xheW91dCA9IGlucHV0 X3BhcmFtcy5jaGFubmVsX2xheW91dCgpOworKyAgICBidWZmZXJfc2l6ZSA9IHN0ZDo6bWluKGJ1 ZmZlcl9zaXplLCBpbnB1dF9wYXJhbXMuZnJhbWVzX3Blcl9idWZmZXIoKSk7CisrICB9CisrCisr ICBpbnQgdXNlcl9idWZmZXJfc2l6ZSA9IEdldFVzZXJCdWZmZXJTaXplKCk7CisrICBpZiAodXNl cl9idWZmZXJfc2l6ZSkKKysgICAgYnVmZmVyX3NpemUgPSB1c2VyX2J1ZmZlcl9zaXplOworKwor KyAgcmV0dXJuIEF1ZGlvUGFyYW1ldGVycygKKysgICAgICBBdWRpb1BhcmFtZXRlcnM6OkFVRElP X1BDTV9MT1dfTEFURU5DWSwgY2hhbm5lbF9sYXlvdXQsCisrICAgICAgc2FtcGxlX3JhdGUsIGJ1 ZmZlcl9zaXplKTsKKyt9CisrCisrQXVkaW9JbnB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86 Ok1ha2VJbnB1dFN0cmVhbSgKKysgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpIHsK KysgIERMT0coV0FSTklORykgPDwgIk1ha2VJbnB1dFN0cmVhbSI7CisrICByZXR1cm4gbmV3IFNu ZGlvQXVkaW9JbnB1dFN0cmVhbSh0aGlzLAorKyAgICAgICAgICAgICBBdWRpb0RldmljZURlc2Ny aXB0aW9uOjprRGVmYXVsdERldmljZUlkLCBwYXJhbXMpOworK30KKysKKytBdWRpb091dHB1dFN0 cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VPdXRwdXRTdHJlYW0oCisrICAgIGNvbnN0IEF1 ZGlvUGFyYW1ldGVycyYgcGFyYW1zKSB7CisrICBETE9HKFdBUk5JTkcpIDw8ICJNYWtlT3V0cHV0 U3RyZWFtIjsKKysgIHJldHVybiBuZXcgU25kaW9BdWRpb091dHB1dFN0cmVhbShwYXJhbXMsIHRo aXMpOworK30KKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKy0tLSAvZGV2L251bGwKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3Nu ZGlvLmgKK0BAIC0wLDAgKzEsNjUgQEAKKysvLyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9t aXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNl IGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8v IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2lmbmRlZiBNRURJQV9BVURJT19TTkRJ T19BVURJT19NQU5BR0VSX1NORElPX0hfCisrI2RlZmluZSBNRURJQV9BVURJT19TTkRJT19BVURJ T19NQU5BR0VSX1NORElPX0hfCisrCisrI2luY2x1ZGUgPHNldD4KKysKKysjaW5jbHVkZSAiYmFz ZS9jb21waWxlcl9zcGVjaWZpYy5oIgorKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgorKyNpbmNs dWRlICJiYXNlL21lbW9yeS9yZWZfY291bnRlZC5oIgorKyNpbmNsdWRlICJiYXNlL3RocmVhZGlu Zy90aHJlYWQuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fbWFuYWdlcl9iYXNlLmgi CisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKytjbGFzcyBNRURJQV9FWFBPUlQgQXVkaW9NYW5h Z2VyU25kaW8gOiBwdWJsaWMgQXVkaW9NYW5hZ2VyQmFzZSB7CisrIHB1YmxpYzoKKysgIEF1ZGlv TWFuYWdlclNuZGlvKHN0ZDo6dW5pcXVlX3B0cjxBdWRpb1RocmVhZD4gYXVkaW9fdGhyZWFkLAor KyAgICAgICAgICAgICAgICAgICBBdWRpb0xvZ0ZhY3RvcnkqIGF1ZGlvX2xvZ19mYWN0b3J5KTsK KysgIH5BdWRpb01hbmFnZXJTbmRpbygpIG92ZXJyaWRlOworKworKyAgLy8gSW1wbGVtZW50YXRp b24gb2YgQXVkaW9NYW5hZ2VyLgorKyAgYm9vbCBIYXNBdWRpb091dHB1dERldmljZXMoKSBvdmVy cmlkZTsKKysgIGJvb2wgSGFzQXVkaW9JbnB1dERldmljZXMoKSBvdmVycmlkZTsKKysgIHZvaWQg R2V0QXVkaW9JbnB1dERldmljZU5hbWVzKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmljZV9uYW1lcykg b3ZlcnJpZGU7CisrICB2b2lkIEdldEF1ZGlvT3V0cHV0RGV2aWNlTmFtZXMoQXVkaW9EZXZpY2VO YW1lcyogZGV2aWNlX25hbWVzKSBvdmVycmlkZTsKKysgIEF1ZGlvUGFyYW1ldGVycyBHZXRJbnB1 dFN0cmVhbVBhcmFtZXRlcnMoCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCkg b3ZlcnJpZGU7CisrICBjb25zdCBjaGFyKiBHZXROYW1lKCkgb3ZlcnJpZGU7CisrCisrICAvLyBJ bXBsZW1lbnRhdGlvbiBvZiBBdWRpb01hbmFnZXJCYXNlLgorKyAgQXVkaW9PdXRwdXRTdHJlYW0q IE1ha2VMaW5lYXJPdXRwdXRTdHJlYW0oCisrICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBw YXJhbXMsCisrICAgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgb3ZlcnJpZGU7 CisrICBBdWRpb091dHB1dFN0cmVhbSogTWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0oCisrICAg ICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qgc3RkOjpzdHJp bmcmIGRldmljZV9pZCwKKysgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBv dmVycmlkZTsKKysgIEF1ZGlvSW5wdXRTdHJlYW0qIE1ha2VMaW5lYXJJbnB1dFN0cmVhbSgKKysg ICAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgICBjb25zdCBzdGQ6OnN0 cmluZyYgZGV2aWNlX2lkLAorKyAgICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2sp IG92ZXJyaWRlOworKyAgQXVkaW9JbnB1dFN0cmVhbSogTWFrZUxvd0xhdGVuY3lJbnB1dFN0cmVh bSgKKysgICAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgICBjb25zdCBz dGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2Fs bGJhY2spIG92ZXJyaWRlOworKworKyBwcm90ZWN0ZWQ6CisrICBBdWRpb1BhcmFtZXRlcnMgR2V0 UHJlZmVycmVkT3V0cHV0U3RyZWFtUGFyYW1ldGVycygKKysgICAgICBjb25zdCBzdGQ6OnN0cmlu ZyYgb3V0cHV0X2RldmljZV9pZCwKKysgICAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIGlucHV0 X3BhcmFtcykgb3ZlcnJpZGU7CisrCisrIHByaXZhdGU6CisrICAvLyBDYWxsZWQgYnkgTWFrZUxp bmVhck91dHB1dFN0cmVhbSBhbmQgTWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0uCisrICBBdWRp b091dHB1dFN0cmVhbSogTWFrZU91dHB1dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBh cmFtcyk7CisrICBBdWRpb0lucHV0U3RyZWFtKiBNYWtlSW5wdXRTdHJlYW0oY29uc3QgQXVkaW9Q YXJhbWV0ZXJzJiBwYXJhbXMpOworKworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKEF1ZGlv TWFuYWdlclNuZGlvKTsKKyt9OworKworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQorKworKyNlbmRp ZiAgLy8gTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9TTkRJT19IXworLS0tIC9kZXYv bnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlv X2lucHV0LmNjCitAQCAtMCwwICsxLDIwMCBAQAorKy8vIENvcHlyaWdodCAyMDEzIFRoZSBDaHJv bWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJj ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysv LyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpbmNsdWRlICJiYXNlL2JpbmQuaCIK KysjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisrI2luY2x1ZGUgImJhc2UvbWFjcm9zLmgiCisr I2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fdGltZXN0YW1wX2hlbHBlci5oIgorKyNpbmNsdWRl ICJtZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmgiCisrI2luY2x1ZGUgIm1l ZGlhL2F1ZGlvL2F1ZGlvX21hbmFnZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8v c25kaW9faW5wdXQuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgeworKworK3N0YXRpYyBjb25zdCBT YW1wbGVGb3JtYXQga1NhbXBsZUZvcm1hdCA9IGtTYW1wbGVGb3JtYXRTMTY7CisrCisrdm9pZCBT bmRpb0F1ZGlvSW5wdXRTdHJlYW06Ok9uTW92ZUNhbGxiYWNrKHZvaWQgKmFyZywgaW50IGRlbHRh KQorK3sKKysgIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlv QXVkaW9JbnB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT5od19kZWxheSArPSBkZWx0YTsK Kyt9CisrCisrdm9pZCAqU25kaW9BdWRpb0lucHV0U3RyZWFtOjpUaHJlYWRFbnRyeSh2b2lkICph cmcpIHsKKysgIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlv QXVkaW9JbnB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT5UaHJlYWRMb29wKCk7CisrICBy ZXR1cm4gTlVMTDsKKyt9CisrCisrU25kaW9BdWRpb0lucHV0U3RyZWFtOjpTbmRpb0F1ZGlvSW5w dXRTdHJlYW0oQXVkaW9NYW5hZ2VyQmFzZSogbWFuYWdlciwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX25hbWUs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQXVk aW9QYXJhbWV0ZXJzJiBwYXJhbXMpCisrICAgIDogbWFuYWdlcihtYW5hZ2VyKSwKKysgICAgICBw YXJhbXMocGFyYW1zKSwKKysgICAgICBhdWRpb19idXMoQXVkaW9CdXM6OkNyZWF0ZShwYXJhbXMp KSwKKysgICAgICBzdGF0ZShrQ2xvc2VkKSB7CisrfQorKworK1NuZGlvQXVkaW9JbnB1dFN0cmVh bTo6flNuZGlvQXVkaW9JbnB1dFN0cmVhbSgpIHsKKysgIGlmIChzdGF0ZSAhPSBrQ2xvc2VkKQor KyAgICBDbG9zZSgpOworK30KKysKKytib29sIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6T3Blbigp IHsKKysgIHN0cnVjdCBzaW9fcGFyIHBhcjsKKysgIGludCBzaWc7CisrCisrICBpZiAoc3RhdGUg IT0ga0Nsb3NlZCkKKysgICAgcmV0dXJuIGZhbHNlOworKworKyAgaWYgKHBhcmFtcy5mb3JtYXQo KSAhPSBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MSU5FQVIgJiYKKysgICAgICBwYXJhbXMu Zm9ybWF0KCkgIT0gQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1kpIHsKKysg ICAgTE9HKFdBUk5JTkcpIDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBmb3JtYXQuIjsKKysgICAgcmV0 dXJuIGZhbHNlOworKyAgfQorKworKyAgc2lvX2luaXRwYXIoJnBhcik7CisrICBwYXIucmF0ZSA9 IHBhcmFtcy5zYW1wbGVfcmF0ZSgpOworKyAgcGFyLnJjaGFuID0gcGFyYW1zLmNoYW5uZWxzKCk7 CisrICBwYXIuYml0cyA9IFNhbXBsZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1h dCk7CisrICBwYXIuYnBzID0gcGFyLmJpdHMgLyA4OworKyAgcGFyLnNpZyA9IHNpZyA9IHBhci5i aXRzICE9IDggPyAxIDogMDsKKysgIHBhci5sZSA9IFNJT19MRV9OQVRJVkU7CisrICBwYXIuYXBw YnVmc3ogPSBwYXJhbXMuZnJhbWVzX3Blcl9idWZmZXIoKTsKKysKKysgIGhkbCA9IHNpb19vcGVu KFNJT19ERVZBTlksIFNJT19SRUMsIDApOworKworKyAgaWYgKGhkbCA9PSBOVUxMKSB7CisrICAg IExPRyhFUlJPUikgPDwgIkNvdWxkbid0IG9wZW4gYXVkaW8gZGV2aWNlLiI7CisrICAgIHJldHVy biBmYWxzZTsKKysgIH0KKysKKysgIGlmICghc2lvX3NldHBhcihoZGwsICZwYXIpIHx8ICFzaW9f Z2V0cGFyKGhkbCwgJnBhcikpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qgc2V0IGF1 ZGlvIHBhcmFtZXRlcnMuIjsKKysgICAgZ290byBiYWRfY2xvc2U7CisrICB9CisrCisrICBpZiAo cGFyLnJhdGUgICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLnNhbXBsZV9yYXRlKCkgfHwKKysgICAg ICBwYXIucmNoYW4gIT0gKHVuc2lnbmVkIGludClwYXJhbXMuY2hhbm5lbHMoKSB8fAorKyAgICAg IHBhci5iaXRzICAhPSAodW5zaWduZWQgaW50KVNhbXBsZUZvcm1hdFRvQml0c1BlckNoYW5uZWwo a1NhbXBsZUZvcm1hdCkgfHwKKysgICAgICBwYXIuc2lnICAgIT0gKHVuc2lnbmVkIGludClzaWcg fHwKKysgICAgICAocGFyLmJwcyA+IDEgJiYgcGFyLmxlICE9IFNJT19MRV9OQVRJVkUpIHx8Cisr ICAgICAgKHBhci5iaXRzICE9IHBhci5icHMgKiA4KSkgeworKyAgICBMT0coRVJST1IpIDw8ICJV bnN1cHBvcnRlZCBhdWRpbyBwYXJhbWV0ZXJzLiI7CisrICAgIGdvdG8gYmFkX2Nsb3NlOworKyAg fQorKyAgc3RhdGUgPSBrU3RvcHBlZDsKKysgIGJ1ZmZlciA9IG5ldyBjaGFyW2F1ZGlvX2J1cy0+ ZnJhbWVzKCkgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KV07CisrICBz aW9fb25tb3ZlKGhkbCwgJk9uTW92ZUNhbGxiYWNrLCB0aGlzKTsKKysgIHJldHVybiB0cnVlOwor K2JhZF9jbG9zZToKKysgIHNpb19jbG9zZShoZGwpOworKyAgcmV0dXJuIGZhbHNlOworK30KKysK Kyt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U3RhcnQoQXVkaW9JbnB1dENhbGxiYWNrKiBj YikgeworKworKyAgU3RhcnRBZ2MoKTsKKysKKysgIHN0YXRlID0ga1J1bm5pbmc7CisrICBod19k ZWxheSA9IDA7CisrICBjYWxsYmFjayA9IGNiOworKyAgc2lvX3N0YXJ0KGhkbCk7CisrICBpZiAo cHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgJlRocmVhZEVudHJ5LCB0aGlzKSAhPSAwKSB7 CisrICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgcmVhbC10aW1lIHRocmVhZCBm b3IgcmVjb3JkaW5nLiI7CisrICAgIHNpb19zdG9wKGhkbCk7CisrICAgIHN0YXRlID0ga1N0b3Bw ZWQ7CisrICB9CisrfQorKworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpTdG9wKCkgewor KworKyAgaWYgKHN0YXRlID09IGtTdG9wcGVkKQorKyAgICByZXR1cm47CisrCisrICBzdGF0ZSA9 IGtTdG9wV2FpdDsKKysgIHB0aHJlYWRfam9pbih0aHJlYWQsIE5VTEwpOworKyAgc2lvX3N0b3Ao aGRsKTsKKysgIHN0YXRlID0ga1N0b3BwZWQ7CisrCisrICBTdG9wQWdjKCk7CisrfQorKworK3Zv aWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpDbG9zZSgpIHsKKysKKysgIGlmIChzdGF0ZSA9PSBr Q2xvc2VkKQorKyAgICByZXR1cm47CisrCisrICBpZiAoc3RhdGUgPT0ga1J1bm5pbmcpCisrICAg IFN0b3AoKTsKKysKKysgIHN0YXRlID0ga0Nsb3NlZDsKKysgIGRlbGV0ZSBbXSBidWZmZXI7Cisr ICBzaW9fY2xvc2UoaGRsKTsKKysKKysgIG1hbmFnZXItPlJlbGVhc2VJbnB1dFN0cmVhbSh0aGlz KTsKKyt9CisrCisrZG91YmxlIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6R2V0TWF4Vm9sdW1lKCkg eworKyAgLy8gTm90IHN1cHBvcnRlZAorKyAgcmV0dXJuIDAuMDsKKyt9CisrCisrdm9pZCBTbmRp b0F1ZGlvSW5wdXRTdHJlYW06OlNldFZvbHVtZShkb3VibGUgdm9sdW1lKSB7CisrICAvLyBOb3Qg c3VwcG9ydGVkLiBEbyBub3RoaW5nLgorK30KKysKKytkb3VibGUgU25kaW9BdWRpb0lucHV0U3Ry ZWFtOjpHZXRWb2x1bWUoKSB7CisrICAvLyBOb3Qgc3VwcG9ydGVkLgorKyAgcmV0dXJuIDAuMDsK Kyt9CisrCisrYm9vbCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OklzTXV0ZWQoKSB7CisrICAvLyBO b3Qgc3VwcG9ydGVkLgorKyAgcmV0dXJuIGZhbHNlOworK30KKysKKyt2b2lkIFNuZGlvQXVkaW9J bnB1dFN0cmVhbTo6U2V0T3V0cHV0RGV2aWNlRm9yQWVjKAorKyAgICBjb25zdCBzdGQ6OnN0cmlu ZyYgb3V0cHV0X2RldmljZV9pZCkgeworKyAgLy8gTm90IHN1cHBvcnRlZC4KKyt9CisrCisrdm9p ZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OlRocmVhZExvb3Aodm9pZCkgeworKyAgc2l6ZV90IHRv ZG8sIG47CisrICBjaGFyICpkYXRhOworKyAgdW5zaWduZWQgaW50IG5mcmFtZXM7CisrICBkb3Vi bGUgbm9ybWFsaXplZF92b2x1bWUgPSAwLjA7CisrCisrICBuZnJhbWVzID0gYXVkaW9fYnVzLT5m cmFtZXMoKTsKKysKKysgIHdoaWxlIChzdGF0ZSA9PSBrUnVubmluZyAmJiAhc2lvX2VvZihoZGwp KSB7CisrCisrICAgIEdldEFnY1ZvbHVtZSgmbm9ybWFsaXplZF92b2x1bWUpOworKworKyAgICAv LyByZWFkIG9uZSBibG9jaworKyAgICB0b2RvID0gbmZyYW1lcyAqIHBhcmFtcy5HZXRCeXRlc1Bl ckZyYW1lKGtTYW1wbGVGb3JtYXQpOworKyAgICBkYXRhID0gYnVmZmVyOworKyAgICB3aGlsZSAo dG9kbyA+IDApIHsKKysgICAgICBuID0gc2lvX3JlYWQoaGRsLCBkYXRhLCB0b2RvKTsKKysgICAg ICBpZiAobiA9PSAwKQorKyAgICAgICAgcmV0dXJuOwkvLyB1bnJlY292ZXJhYmxlIEkvTyBlcnJv cgorKyAgICAgIHRvZG8gLT0gbjsKKysgICAgICBkYXRhICs9IG47CisrICAgIH0KKysgICAgaHdf ZGVsYXkgLT0gbmZyYW1lczsKKysKKysgICAgLy8gY29udmVydCBmcmFtZXMgY291bnQgdG8gVGlt ZURlbHRhCisrICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBkZWxheSA9IEF1ZGlvVGltZXN0YW1w SGVscGVyOjpGcmFtZXNUb1RpbWUoaHdfZGVsYXksCisrICAgICAgcGFyYW1zLnNhbXBsZV9yYXRl KCkpOworKworKyAgICAvLyBwdXNoIGludG8gYnVzCisrICAgIGF1ZGlvX2J1cy0+RnJvbUludGVy bGVhdmVkPFNpZ25lZEludDE2U2FtcGxlVHlwZVRyYWl0cz4ocmVpbnRlcnByZXRfY2FzdDxpbnQx Nl90Kj4oYnVmZmVyKSwgbmZyYW1lcyk7CisrCisrICAgIC8vIGludm9rZSBjYWxsYmFjaworKyAg ICBjYWxsYmFjay0+T25EYXRhKGF1ZGlvX2J1cy5nZXQoKSwgYmFzZTo6VGltZVRpY2tzOjpOb3co KSAtIGRlbGF5LCAxLik7CisrICB9CisrfQorKworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQorLS0t IC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlv L3NuZGlvX2lucHV0LmgKK0BAIC0wLDAgKzEsOTEgQEAKKysvLyBDb3B5cmlnaHQgMjAxMyBUaGUg Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBz b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJl CisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysjaWZuZGVmIE1FRElBX0FVRElP X1NORElPX1NORElPX0lOUFVUX0hfCisrI2RlZmluZSBNRURJQV9BVURJT19TTkRJT19TTkRJT19J TlBVVF9IXworKworKyNpbmNsdWRlIDxzdGRpbnQuaD4KKysjaW5jbHVkZSA8c3RyaW5nPgorKyNp bmNsdWRlIDxzbmRpby5oPgorKworKyNpbmNsdWRlICJiYXNlL2NvbXBpbGVyX3NwZWNpZmljLmgi CisrI2luY2x1ZGUgImJhc2UvbWFjcm9zLmgiCisrI2luY2x1ZGUgImJhc2UvbWVtb3J5L3dlYWtf cHRyLmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1 ZGlvL2FnY19hdWRpb19zdHJlYW0uaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9faW8u aCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fZGV2aWNlX2Rlc2NyaXB0aW9uLmgiCisr I2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fcGFyYW1ldGVycy5oIgorKworK25hbWVzcGFjZSBt ZWRpYSB7CisrCisrY2xhc3MgQXVkaW9NYW5hZ2VyQmFzZTsKKysKKysvLyBJbXBsZW1lbnRhdGlv biBvZiBBdWRpb091dHB1dFN0cmVhbSB1c2luZyBzbmRpbyg3KQorK2NsYXNzIFNuZGlvQXVkaW9J bnB1dFN0cmVhbSA6IHB1YmxpYyBBZ2NBdWRpb1N0cmVhbTxBdWRpb0lucHV0U3RyZWFtPiB7Cisr IHB1YmxpYzoKKysgIC8vIFBhc3MgdGhpcyB0byB0aGUgY29uc3RydWN0b3IgaWYgeW91IHdhbnQg dG8gYXR0ZW1wdCBhdXRvLXNlbGVjdGlvbgorKyAgLy8gb2YgdGhlIGF1ZGlvIHJlY29yZGluZyBk ZXZpY2UuCisrICBzdGF0aWMgY29uc3QgY2hhciBrQXV0b1NlbGVjdERldmljZVtdOworKworKyAg Ly8gQ3JlYXRlIGEgUENNIE91dHB1dCBzdHJlYW0gZm9yIHRoZSBTTkRJTyBkZXZpY2UgaWRlbnRp ZmllZCBieQorKyAgLy8gfGRldmljZV9uYW1lfC4gSWYgdW5zdXJlIG9mIHdoYXQgdG8gdXNlIGZv ciB8ZGV2aWNlX25hbWV8LCB1c2UKKysgIC8vIHxrQXV0b1NlbGVjdERldmljZXwuCisrICBTbmRp b0F1ZGlvSW5wdXRTdHJlYW0oQXVkaW9NYW5hZ2VyQmFzZSogYXVkaW9fbWFuYWdlciwKKysgICAg ICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX25hbWUsCisrICAgICAg ICAgICAgICAgICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOworKworKyAgflNu ZGlvQXVkaW9JbnB1dFN0cmVhbSgpIG92ZXJyaWRlOworKworKyAgLy8gSW1wbGVtZW50YXRpb24g b2YgQXVkaW9JbnB1dFN0cmVhbS4KKysgIGJvb2wgT3BlbigpIG92ZXJyaWRlOworKyAgdm9pZCBT dGFydChBdWRpb0lucHV0Q2FsbGJhY2sqIGNhbGxiYWNrKSBvdmVycmlkZTsKKysgIHZvaWQgU3Rv cCgpIG92ZXJyaWRlOworKyAgdm9pZCBDbG9zZSgpIG92ZXJyaWRlOworKyAgZG91YmxlIEdldE1h eFZvbHVtZSgpIG92ZXJyaWRlOworKyAgdm9pZCBTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgb3Zl cnJpZGU7CisrICBkb3VibGUgR2V0Vm9sdW1lKCkgb3ZlcnJpZGU7CisrICBib29sIElzTXV0ZWQo KSBvdmVycmlkZTsKKysgIHZvaWQgU2V0T3V0cHV0RGV2aWNlRm9yQWVjKGNvbnN0IHN0ZDo6c3Ry aW5nJiBvdXRwdXRfZGV2aWNlX2lkKSBvdmVycmlkZTsKKysKKysgcHJpdmF0ZToKKysKKysgIGVu dW0gU3RyZWFtU3RhdGUgeworKyAgICBrQ2xvc2VkLCAgICAgICAgICAgIC8vIE5vdCBvcGVuZWQg eWV0CisrICAgIGtTdG9wcGVkLCAgICAgICAgICAgLy8gRGV2aWNlIG9wZW5lZCwgYnV0IG5vdCBz dGFydGVkIHlldAorKyAgICBrUnVubmluZywgICAgICAgICAgIC8vIFN0YXJ0ZWQsIGRldmljZSBw bGF5aW5nCisrICAgIGtTdG9wV2FpdCAgICAgICAgICAgLy8gU3RvcHBpbmcsIHdhaXRpbmcgZm9y IHRoZSByZWFsLXRpbWUgdGhyZWFkIHRvIGV4aXQKKysgIH07CisrCisrICAvLyBDLXN0eWxlIGNh bGwtYmFja3MKKysgIHN0YXRpYyB2b2lkIE9uTW92ZUNhbGxiYWNrKHZvaWQgKmFyZywgaW50IGRl bHRhKTsKKysgIHN0YXRpYyB2b2lkKiBUaHJlYWRFbnRyeSh2b2lkICphcmcpOworKworKyAgLy8g Q29udGludW91c2x5IG1vdmVzIGRhdGEgZnJvbSB0aGUgZGV2aWNlIHRvIHRoZSBjb25zdW1lcgor KyAgdm9pZCBUaHJlYWRMb29wKCk7CisrICAvLyBPdXIgY3JlYXRvciwgdGhlIGF1ZGlvIG1hbmFn ZXIgbmVlZHMgdG8gYmUgbm90aWZpZWQgd2hlbiB3ZSBjbG9zZS4KKysgIEF1ZGlvTWFuYWdlckJh c2UqIG1hbmFnZXI7CisrICAvLyBQYXJhbWV0ZXJzIG9mIHRoZSBzb3VyY2UKKysgIEF1ZGlvUGFy YW1ldGVycyBwYXJhbXM7CisrICAvLyBXZSBzdG9yZSBkYXRhIGhlcmUgZm9yIGNvbnN1bWVyCisr ICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9CdXM+IGF1ZGlvX2J1czsKKysgIC8vIENhbGwtYmFjayB0 aGF0IGNvbnN1bWVzIHJlY29yZGVkIGRhdGEKKysgIEF1ZGlvSW5wdXRDYWxsYmFjayogY2FsbGJh Y2s7ICAvLyBWYWxpZCBkdXJpbmcgYSByZWNvcmRpbmcgc2Vzc2lvbi4KKysgIC8vIEhhbmRsZSBv ZiB0aGUgYXVkaW8gZGV2aWNlCisrICBzdHJ1Y3Qgc2lvX2hkbCogaGRsOworKyAgLy8gQ3VycmVu dCBzdGF0ZSBvZiB0aGUgc3RyZWFtCisrICBlbnVtIFN0cmVhbVN0YXRlIHN0YXRlOworKyAgLy8g SGlnaCBwcmlvcml0eSB0aHJlYWQgcnVubmluZyBUaHJlYWRMb29wKCkKKysgIHB0aHJlYWRfdCB0 aHJlYWQ7CisrICAvLyBOdW1iZXIgb2YgZnJhbWVzIGJ1ZmZlcmVkIGluIHRoZSBoYXJkd2FyZQor KyAgaW50IGh3X2RlbGF5OworKyAgLy8gVGVtcG9yYXJ5IGJ1ZmZlciB3aGVyZSBkYXRhIGlzIHN0 b3JlZCBzbmRpby1jb21wYXRpYmxlIGZvcm1hdAorKyAgY2hhciogYnVmZmVyOworKworKyAgRElT QUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNuZGlvQXVkaW9JbnB1dFN0cmVhbSk7CisrfTsKKysKKyt9 ICAvLyBuYW1lc3BhY2UgbWVkaWEKKysKKysjZW5kaWYgIC8vIE1FRElBX0FVRElPX1NORElPX1NO RElPX0lOUFVUX0hfCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v bWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmNjCitAQCAtMCwwICsxLDE4MyBAQAorKy8v IENvcHlyaWdodCAoYykgMjAxMiBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl cnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1z dHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K KysKKysjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS90aW1l LmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS9kZWZhdWx0X3RpY2tfY2xvY2suaCIKKysjaW5jbHVk ZSAibWVkaWEvYXVkaW8vYXVkaW9fbWFuYWdlcl9iYXNlLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jh c2UvYXVkaW9fdGltZXN0YW1wX2hlbHBlci5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRp by9zbmRpb19vdXRwdXQuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgeworKworK3N0YXRpYyBjb25z dCBTYW1wbGVGb3JtYXQga1NhbXBsZUZvcm1hdCA9IGtTYW1wbGVGb3JtYXRTMTY7CisrCisrdm9p ZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBk ZWx0YSkgeworKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNu ZGlvQXVkaW9PdXRwdXRTdHJlYW0qPihhcmcpOworKworKyAgc2VsZi0+aHdfZGVsYXkgLT0gZGVs dGE7CisrfQorKworK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVhbTo6T25Wb2xDYWxsYmFjayh2 b2lkICphcmcsIHVuc2lnbmVkIGludCB2b2wpIHsKKysgIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0q IHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKj4oYXJnKTsKKysKKysg IHNlbGYtPnZvbCA9IHZvbDsKKyt9CisrCisrdm9pZCAqU25kaW9BdWRpb091dHB1dFN0cmVhbTo6 VGhyZWFkRW50cnkodm9pZCAqYXJnKSB7CisrICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKiBzZWxm ID0gc3RhdGljX2Nhc3Q8U25kaW9BdWRpb091dHB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxm LT5UaHJlYWRMb29wKCk7CisrICByZXR1cm4gTlVMTDsKKyt9CisrCisrU25kaW9BdWRpb091dHB1 dFN0cmVhbTo6U25kaW9BdWRpb091dHB1dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBh cmFtcywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1 ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXIpCisrICAgIDogbWFuYWdlcihtYW5hZ2VyKSwKKysgICAg ICBwYXJhbXMocGFyYW1zKSwKKysgICAgICBhdWRpb19idXMoQXVkaW9CdXM6OkNyZWF0ZShwYXJh bXMpKSwKKysgICAgICBzdGF0ZShrQ2xvc2VkKSwKKysgICAgICBtdXRleChQVEhSRUFEX01VVEVY X0lOSVRJQUxJWkVSKSB7CisrfQorKworK1NuZGlvQXVkaW9PdXRwdXRTdHJlYW06On5TbmRpb0F1 ZGlvT3V0cHV0U3RyZWFtKCkgeworKyAgaWYgKHN0YXRlICE9IGtDbG9zZWQpCisrICAgIENsb3Nl KCk7CisrfQorKworK2Jvb2wgU25kaW9BdWRpb091dHB1dFN0cmVhbTo6T3BlbigpIHsKKysgIHN0 cnVjdCBzaW9fcGFyIHBhcjsKKysgIGludCBzaWc7CisrCisrICBpZiAocGFyYW1zLmZvcm1hdCgp ICE9IEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xJTkVBUiAmJgorKyAgICAgIHBhcmFtcy5m b3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSkgeworKyAg ICBMT0coV0FSTklORykgPDwgIlVuc3VwcG9ydGVkIGF1ZGlvIGZvcm1hdC4iOworKyAgICByZXR1 cm4gZmFsc2U7CisrICB9CisrICBzaW9faW5pdHBhcigmcGFyKTsKKysgIHBhci5yYXRlID0gcGFy YW1zLnNhbXBsZV9yYXRlKCk7CisrICBwYXIucGNoYW4gPSBwYXJhbXMuY2hhbm5lbHMoKTsKKysg IHBhci5iaXRzID0gU2FtcGxlRm9ybWF0VG9CaXRzUGVyQ2hhbm5lbChrU2FtcGxlRm9ybWF0KTsK KysgIHBhci5icHMgPSBwYXIuYml0cyAvIDg7CisrICBwYXIuc2lnID0gc2lnID0gcGFyLmJpdHMg IT0gOCA/IDEgOiAwOworKyAgcGFyLmxlID0gU0lPX0xFX05BVElWRTsKKysgIHBhci5hcHBidWZz eiA9IHBhcmFtcy5mcmFtZXNfcGVyX2J1ZmZlcigpOworKworKyAgaGRsID0gc2lvX29wZW4oU0lP X0RFVkFOWSwgU0lPX1BMQVksIDApOworKyAgaWYgKGhkbCA9PSBOVUxMKSB7CisrICAgIExPRyhF UlJPUikgPDwgIkNvdWxkbid0IG9wZW4gYXVkaW8gZGV2aWNlLiI7CisrICAgIHJldHVybiBmYWxz ZTsKKysgIH0KKysgIGlmICghc2lvX3NldHBhcihoZGwsICZwYXIpIHx8ICFzaW9fZ2V0cGFyKGhk bCwgJnBhcikpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qgc2V0IGF1ZGlvIHBhcmFt ZXRlcnMuIjsKKysgICAgZ290byBiYWRfY2xvc2U7CisrICB9CisrICBpZiAocGFyLnJhdGUgICE9 ICh1bnNpZ25lZCBpbnQpcGFyYW1zLnNhbXBsZV9yYXRlKCkgfHwKKysgICAgICBwYXIucGNoYW4g IT0gKHVuc2lnbmVkIGludClwYXJhbXMuY2hhbm5lbHMoKSB8fAorKyAgICAgIHBhci5iaXRzICAh PSAodW5zaWduZWQgaW50KVNhbXBsZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1h dCkgfHwKKysgICAgICBwYXIuc2lnICAgIT0gKHVuc2lnbmVkIGludClzaWcgfHwKKysgICAgICAo cGFyLmJwcyA+IDEgJiYgcGFyLmxlICE9IFNJT19MRV9OQVRJVkUpIHx8CisrICAgICAgKHBhci5i aXRzICE9IHBhci5icHMgKiA4KSkgeworKyAgICBMT0coRVJST1IpIDw8ICJVbnN1cHBvcnRlZCBh dWRpbyBwYXJhbWV0ZXJzLiI7CisrICAgIGdvdG8gYmFkX2Nsb3NlOworKyAgfQorKyAgc3RhdGUg PSBrU3RvcHBlZDsKKysgIHZvbHBlbmRpbmcgPSAwOworKyAgdm9sID0gMDsKKysgIGJ1ZmZlciA9 IG5ldyBjaGFyW2F1ZGlvX2J1cy0+ZnJhbWVzKCkgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShr U2FtcGxlRm9ybWF0KV07CisrICBzaW9fb25tb3ZlKGhkbCwgJk9uTW92ZUNhbGxiYWNrLCB0aGlz KTsKKysgIHNpb19vbnZvbChoZGwsICZPblZvbENhbGxiYWNrLCB0aGlzKTsKKysgIHJldHVybiB0 cnVlOworKyBiYWRfY2xvc2U6CisrICBzaW9fY2xvc2UoaGRsKTsKKysgIHJldHVybiBmYWxzZTsK Kyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpDbG9zZSgpIHsKKysgIGlmIChz dGF0ZSA9PSBrQ2xvc2VkKQorKyAgICByZXR1cm47CisrICBpZiAoc3RhdGUgPT0ga1J1bm5pbmcp CisrICAgIFN0b3AoKTsKKysgIHN0YXRlID0ga0Nsb3NlZDsKKysgIGRlbGV0ZSBbXSBidWZmZXI7 CisrICBzaW9fY2xvc2UoaGRsKTsKKysgIG1hbmFnZXItPlJlbGVhc2VPdXRwdXRTdHJlYW0odGhp cyk7ICAvLyBDYWxscyB0aGUgZGVzdHJ1Y3RvcgorK30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRw dXRTdHJlYW06OlN0YXJ0KEF1ZGlvU291cmNlQ2FsbGJhY2sqIGNhbGxiYWNrKSB7CisrICBzdGF0 ZSA9IGtSdW5uaW5nOworKyAgaHdfZGVsYXkgPSAwOworKyAgc291cmNlID0gY2FsbGJhY2s7Cisr ICBzaW9fc3RhcnQoaGRsKTsKKysgIGlmIChwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLCAm VGhyZWFkRW50cnksIHRoaXMpICE9IDApIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiRmFpbGVkIHRv IGNyZWF0ZSByZWFsLXRpbWUgdGhyZWFkLiI7CisrICAgIHNpb19zdG9wKGhkbCk7CisrICAgIHN0 YXRlID0ga1N0b3BwZWQ7CisrICB9CisrfQorKworK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVh bTo6U3RvcCgpIHsKKysgIGlmIChzdGF0ZSA9PSBrU3RvcHBlZCkKKysgICAgcmV0dXJuOworKyAg c3RhdGUgPSBrU3RvcFdhaXQ7CisrICBwdGhyZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKKysgIHNp b19zdG9wKGhkbCk7CisrICBzdGF0ZSA9IGtTdG9wcGVkOworK30KKysKKyt2b2lkIFNuZGlvQXVk aW9PdXRwdXRTdHJlYW06OlNldFZvbHVtZShkb3VibGUgdikgeworKyAgcHRocmVhZF9tdXRleF9s b2NrKCZtdXRleCk7CisrICB2b2wgPSB2ICogU0lPX01BWFZPTDsKKysgIHZvbHBlbmRpbmcgPSAx OworKyAgcHRocmVhZF9tdXRleF91bmxvY2soJm11dGV4KTsKKyt9CisrCisrdm9pZCBTbmRpb0F1 ZGlvT3V0cHV0U3RyZWFtOjpHZXRWb2x1bWUoZG91YmxlKiB2KSB7CisrICBwdGhyZWFkX211dGV4 X2xvY2soJm11dGV4KTsKKysgICp2ID0gdm9sICogKDEuIC8gU0lPX01BWFZPTCk7CisrICBwdGhy ZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOworK30KKysKKysvLyBUaGlzIHN0cmVhbSBpcyBhbHdh eXMgdXNlZCB3aXRoIHN1YiBzZWNvbmQgYnVmZmVyIHNpemVzLCB3aGVyZSBpdCdzCisrLy8gc3Vm ZmljaWVudCB0byBzaW1wbHkgYWx3YXlzIGZsdXNoIHVwb24gU3RhcnQoKS4KKyt2b2lkIFNuZGlv QXVkaW9PdXRwdXRTdHJlYW06OkZsdXNoKCkge30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRT dHJlYW06OlRocmVhZExvb3Aodm9pZCkgeworKyAgaW50IGF2YWlsLCBjb3VudCwgcmVzdWx0Owor KworKyAgd2hpbGUgKHN0YXRlID09IGtSdW5uaW5nKSB7CisrICAgIC8vIFVwZGF0ZSB2b2x1bWUg aWYgbmVlZGVkCisrICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbXV0ZXgpOworKyAgICBpZiAodm9s cGVuZGluZykgeworKyAgICAgIHZvbHBlbmRpbmcgPSAwOworKyAgICAgIHNpb19zZXR2b2woaGRs LCB2b2wpOworKyAgICB9CisrICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZtdXRleCk7CisrCisr ICAgIC8vIEdldCBkYXRhIHRvIHBsYXkKKysgICAgY29uc3QgYmFzZTo6VGltZURlbHRhIGRlbGF5 ID0gQXVkaW9UaW1lc3RhbXBIZWxwZXI6OkZyYW1lc1RvVGltZShod19kZWxheSwKKysJcGFyYW1z LnNhbXBsZV9yYXRlKCkpOworKyAgICBjb3VudCA9IHNvdXJjZS0+T25Nb3JlRGF0YShkZWxheSwg YmFzZTo6VGltZVRpY2tzOjpOb3coKSwgMCwgYXVkaW9fYnVzLmdldCgpKTsKKysgICAgYXVkaW9f YnVzLT5Ub0ludGVybGVhdmVkPFNpZ25lZEludDE2U2FtcGxlVHlwZVRyYWl0cz4oY291bnQsIHJl aW50ZXJwcmV0X2Nhc3Q8aW50MTZfdCo+KGJ1ZmZlcikpOworKyAgICBpZiAoY291bnQgPT0gMCkg eworKyAgICAgIC8vIFdlIGhhdmUgdG8gc3VibWl0IHNvbWV0aGluZyB0byB0aGUgZGV2aWNlCisr ICAgICAgY291bnQgPSBhdWRpb19idXMtPmZyYW1lcygpOworKyAgICAgIG1lbXNldChidWZmZXIs IDAsIGNvdW50ICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCkpOworKyAg ICAgIExPRyhXQVJOSU5HKSA8PCAiTm8gZGF0YSB0byBwbGF5LCBydW5uaW5nIGVtcHR5IGN5Y2xl LiI7CisrICAgIH0KKysKKysgICAgLy8gU3VibWl0IGRhdGEgdG8gdGhlIGRldmljZQorKyAgICBh dmFpbCA9IGNvdW50ICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCk7Cisr ICAgIHJlc3VsdCA9IHNpb193cml0ZShoZGwsIGJ1ZmZlciwgYXZhaWwpOworKyAgICBpZiAocmVz dWx0ID09IDApIHsKKysgICAgICBMT0coV0FSTklORykgPDwgIkF1ZGlvIGRldmljZSBkaXNjb25u ZWN0ZWQuIjsKKysgICAgICBicmVhazsKKysgICAgfQorKworKyAgICAvLyBVcGRhdGUgaGFyZHdh cmUgcG9pbnRlcgorKyAgICBod19kZWxheSArPSBjb3VudDsKKysgIH0KKyt9CisrCisrfSAgLy8g bmFtZXNwYWNlIG1lZGlhCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vbWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgKK0BAIC0wLDAgKzEsODYgQEAKKysv LyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVz ZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt c3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu CisrCisrI2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KKysjZGVmaW5l IE1FRElBX0FVRElPX1NORElPX1NORElPX09VVFBVVF9IXworKworKyNpbmNsdWRlIDxwdGhyZWFk Lmg+CisrI2luY2x1ZGUgPHNuZGlvLmg+CisrCisrI2luY2x1ZGUgImJhc2UvdGltZS90aWNrX2Ns b2NrLmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1 ZGlvL2F1ZGlvX2lvLmgiCisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKytjbGFzcyBBdWRpb01h bmFnZXJCYXNlOworKworKy8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvT3V0cHV0U3RyZWFtIHVz aW5nIHNuZGlvKDcpCisrY2xhc3MgU25kaW9BdWRpb091dHB1dFN0cmVhbSA6IHB1YmxpYyBBdWRp b091dHB1dFN0cmVhbSB7CisrIHB1YmxpYzoKKysgIC8vIFRoZSBtYW5hZ2VyIGlzIGNyZWF0aW5n IHRoaXMgb2JqZWN0CisrICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKGNvbnN0IEF1ZGlvUGFyYW1l dGVycyYgcGFyYW1zLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb01hbmFnZXJCYXNl KiBtYW5hZ2VyKTsKKysgIHZpcnR1YWwgflNuZGlvQXVkaW9PdXRwdXRTdHJlYW0oKTsKKysKKysg IC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvT3V0cHV0U3RyZWFtLgorKyAgYm9vbCBPcGVuKCkg b3ZlcnJpZGU7CisrICB2b2lkIENsb3NlKCkgb3ZlcnJpZGU7CisrICB2b2lkIFN0YXJ0KEF1ZGlv U291cmNlQ2FsbGJhY2sqIGNhbGxiYWNrKSBvdmVycmlkZTsKKysgIHZvaWQgU3RvcCgpIG92ZXJy aWRlOworKyAgdm9pZCBTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgb3ZlcnJpZGU7CisrICB2b2lk IEdldFZvbHVtZShkb3VibGUqIHZvbHVtZSkgb3ZlcnJpZGU7CisrICB2b2lkIEZsdXNoKCkgb3Zl cnJpZGU7CisrCisrICBmcmllbmQgdm9pZCBzbmRpb19vbm1vdmUodm9pZCAqYXJnLCBpbnQgZGVs dGEpOworKyAgZnJpZW5kIHZvaWQgc25kaW9fb252b2wodm9pZCAqYXJnLCB1bnNpZ25lZCBpbnQg dm9sKTsKKysgIGZyaWVuZCB2b2lkICpzbmRpb190aHJlYWRzdGFydCh2b2lkICphcmcpOworKwor KyBwcml2YXRlOgorKyAgZW51bSBTdHJlYW1TdGF0ZSB7CisrICAgIGtDbG9zZWQsICAgICAgICAg ICAgLy8gTm90IG9wZW5lZCB5ZXQKKysgICAga1N0b3BwZWQsICAgICAgICAgICAvLyBEZXZpY2Ug b3BlbmVkLCBidXQgbm90IHN0YXJ0ZWQgeWV0CisrICAgIGtSdW5uaW5nLCAgICAgICAgICAgLy8g U3RhcnRlZCwgZGV2aWNlIHBsYXlpbmcKKysgICAga1N0b3BXYWl0ICAgICAgICAgICAvLyBTdG9w cGluZywgd2FpdGluZyBmb3IgdGhlIHJlYWwtdGltZSB0aHJlYWQgdG8gZXhpdAorKyAgfTsKKysK KysgIC8vIEMtc3R5bGUgY2FsbC1iYWNrcworKyAgc3RhdGljIHZvaWQgT25Nb3ZlQ2FsbGJhY2so dm9pZCAqYXJnLCBpbnQgZGVsdGEpOworKyAgc3RhdGljIHZvaWQgT25Wb2xDYWxsYmFjayh2b2lk ICphcmcsIHVuc2lnbmVkIGludCB2b2wpOworKyAgc3RhdGljIHZvaWQqIFRocmVhZEVudHJ5KHZv aWQgKmFyZyk7CisrCisrICAvLyBDb250aW51b3VzbHkgbW92ZXMgZGF0YSBmcm9tIHRoZSBwcm9k dWNlciB0byB0aGUgZGV2aWNlCisrICB2b2lkIFRocmVhZExvb3Aodm9pZCk7CisrCisrICAvLyBP dXIgY3JlYXRvciwgdGhlIGF1ZGlvIG1hbmFnZXIgbmVlZHMgdG8gYmUgbm90aWZpZWQgd2hlbiB3 ZSBjbG9zZS4KKysgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXI7CisrICAvLyBQYXJhbWV0ZXJz IG9mIHRoZSBzb3VyY2UKKysgIEF1ZGlvUGFyYW1ldGVycyBwYXJhbXM7CisrICAvLyBTb3VyY2Ug c3RvcmVzIGRhdGEgaGVyZQorKyAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvQnVzPiBhdWRpb19idXM7 CisrICAvLyBDYWxsLWJhY2sgdGhhdCBwcm9kdWNlcyBkYXRhIHRvIHBsYXkKKysgIEF1ZGlvU291 cmNlQ2FsbGJhY2sqIHNvdXJjZTsKKysgIC8vIEhhbmRsZSBvZiB0aGUgYXVkaW8gZGV2aWNlCisr ICBzdHJ1Y3Qgc2lvX2hkbCogaGRsOworKyAgLy8gQ3VycmVudCBzdGF0ZSBvZiB0aGUgc3RyZWFt CisrICBlbnVtIFN0cmVhbVN0YXRlIHN0YXRlOworKyAgLy8gSGlnaCBwcmlvcml0eSB0aHJlYWQg cnVubmluZyBUaHJlYWRMb29wKCkKKysgIHB0aHJlYWRfdCB0aHJlYWQ7CisrICAvLyBQcm90ZWN0 cyB2b2wsIHZvbHBlbmRpbmcgYW5kIGh3X2RlbGF5CisrICBwdGhyZWFkX211dGV4X3QgbXV0ZXg7 CisrICAvLyBDdXJyZW50IHZvbHVtZSBpbiB0aGUgMC4uU0lPX01BWFZPTCByYW5nZQorKyAgaW50 IHZvbDsKKysgIC8vIFNldCB0byAxIGlmIHZvbHVtZXMgbXVzdCBiZSByZWZyZXNoZWQgaW4gdGhl IHJlYWx0aW1lIHRocmVhZAorKyAgaW50IHZvbHBlbmRpbmc7CisrICAvLyBOdW1iZXIgb2YgZnJh bWVzIGJ1ZmZlcmVkIGluIHRoZSBoYXJkd2FyZQorKyAgaW50IGh3X2RlbGF5OworKyAgLy8gVGVt cG9yYXJ5IGJ1ZmZlciB3aGVyZSBkYXRhIGlzIHN0b3JlZCBzbmRpby1jb21wYXRpYmxlIGZvcm1h dAorKyAgY2hhciogYnVmZmVyOworKworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNuZGlv QXVkaW9PdXRwdXRTdHJlYW0pOworK307CisrCisrfSAgLy8gbmFtZXNwYWNlIG1lZGlhCisrCisr I2VuZGlmICAvLyBNRURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9tZWRpYV9vcHRpb25zLmduaQorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL21lZGlhL21lZGlhX29wdGlvbnMuZ25pCitAQCAtMTIxLDYgKzEyMSw5IEBA IGRlY2xhcmVfYXJncygpIHsKKyAgICMgRW5hYmxlcyBydW50aW1lIHNlbGVjdGlvbiBvZiBBTFNB IGxpYnJhcnkgZm9yIGF1ZGlvLgorICAgdXNlX2Fsc2EgPSBmYWxzZQorIAorKyAgIyBFbmFibGUg cnVudGltZSBzZWxlY3Rpb24gb2Ygc25kaW8oNykKKysgIHVzZV9zbmRpbyA9IGZhbHNlCisrCisg ICAjIEFsc2Egc2hvdWxkIGJlIHVzZWQgb24gbm9uLUFuZHJvaWQsIG5vbi1NYWMgUE9TSVggc3lz dGVtcy4KKyAgICMgQWxzYSBzaG91bGQgYmUgdXNlZCBvbiBkZXNrdG9wIENocm9tZWNhc3QgYW5k IGF1ZGlvLW9ubHkgQ2hyb21lY2FzdCBidWlsZHMuCisgICBpZiAoaXNfcG9zaXggJiYgIWlzX2Fu ZHJvaWQgJiYgIWlzX21hYyAmJgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDcwMC1hcm12N2wtbmVvbi5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzA3MDAtYXJtdjdsLW5lb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi5kNDJmYTE5YTA3YTEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wNzAwLWFybXY3bC1uZW9uLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9za2lhL0JVSUxELmduCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vc2tpYS9CVUlMRC5nbgorQEAgLTgwMCw3ICs4MDAsNiBAQCBza2lhX3Nv dXJjZV9zZXQoInNraWFfb3B0cyIpIHsKKyAgICAgICAgICMgUm9vdCBidWlsZCBjb25maWcgc2V0 cyAtbWZwdT0kYXJtX2ZwdSwgd2hpY2ggd2UgZXhwZWN0IHRvIGJlIG5lb24KKyAgICAgICAgICMg d2hlbiBydW5uaW5nIHRoaXMuCisgICAgICAgICBpZiAoIWFybV91c2VfbmVvbikgeworLSAgICAg ICAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOmNvbXBpbGVyX2FybV9m cHUiIF0KKyAgICAgICAgICAgY2ZsYWdzICs9IFsgIi1tZnB1PW5lb24iIF0KKyAgICAgICAgIH0K KyAgICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUw LWNocm9taXVtLW11c2wtYXJtLXVzZXJfdmZwLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDc1MC1jaHJvbWl1bS1tdXNsLWFybS11c2VyX3ZmcC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjZlMmQ2MmYzNWVlNgotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTAtY2hyb21pdW0tbXVzbC1h cm0tdXNlcl92ZnAucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2lu Zm8uaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorQEAgLTE3LDYgKzE3LDE3IEBACisgCisg I2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxzeXMvdXNlci5oPgorKyNpZiAhZGVmaW5l ZChfX0dMSUJDX18pCisrc3RydWN0IHVzZXJfdmZwIHsKKysJdW5zaWduZWQgbG9uZyBsb25nIGZw cmVnc1szMl07CisrCXVuc2lnbmVkIGxvbmcgZnBzY3I7CisrfTsKKytzdHJ1Y3QgdXNlcl92ZnBf ZXhjIHsKKysJdW5zaWduZWQgbG9uZyBmcGV4YzsKKysJdW5zaWduZWQgbG9uZyBmcGluc3Q7Cisr CXVuc2lnbmVkIGxvbmcgZnBpbnN0MjsKKyt9OworKyNlbmRpZiAvKiAhZGVmaW5lZChfX0dMSUJD X18pICovCisgCisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorIApkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MS1jaHJvbWl1bS1tdXNsLWFybS1lbGZfYXV4dl90 LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MS1jaHJvbWl1bS1tdXNs LWFybS1lbGZfYXV4dl90LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uNzExMmM4Y2ZkM2ZhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDc1MS1jaHJvbWl1bS1tdXNsLWFybS1lbGZfYXV4dl90LnBhdGNoCkBAIC0w LDAgKzEsMTggQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9jcHUu Y2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9jcHUuY2MKK0BAIC0x NjMsNiArMTYzLDE1IEBAIHN0YXRpYyBWOF9JTkxJTkUgdm9pZCBfX2NwdWlkKGludCBjcHVfaW4K KyAKKyAjaWYgVjhfSE9TVF9BUkNIX0FSTSB8fCBWOF9IT1NUX0FSQ0hfQVJNNjQKKyAKKysjaWZu ZGVmIF9fR0xJQkNfXworKyNpbmNsdWRlIDxlbGYuaD4KKysjaWZkZWYgX19MUDY0X18KKyt0eXBl ZGVmIEVsZjY0X2F1eHZfdCBlbGZfYXV4dl90OworKyNlbHNlCisrdHlwZWRlZiBFbGYzMl9hdXh2 X3QgZWxmX2F1eHZfdDsKKysjZW5kaWYKKysjZW5kaWYKKysKKyBzdGF0aWMgdWludDMyX3QgUmVh ZEVMRkhXQ2FwcygpIHsKKyAgIHVpbnQzMl90IHJlc3VsdCA9IDA7CisgI2lmIFY4X0dMSUJDX1BS RVJFUSgyLCAxNikKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA4 MDEtY2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzA4MDEtY2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjNkNDA0M2UwM2I4OQot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA4MDEtY2hy b21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaApAQCAtMCwwICsxLDI0IEBACistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCitAQCAtMTQsNiAr MTQsMTAgQEAgaW1wb3J0KCIvL3VpL2dsL2ZlYXR1cmVzLmduaSIpCisgYXNzZXJ0KGlzX2xpbnV4 IHx8IGlzX2Nocm9tZW9zKQorIGFzc2VydCh1c2VfdmFhcGkpCisgCisrY29uZmlnKCJ2YWFwaV9w ZXJtaXNzaXZlIikgeworKyAgY2ZsYWdzID0gWyAiLWZwZXJtaXNzaXZlIiBdCisrfQorKworIGdl bmVyYXRlX3N0dWJzKCJsaWJ2YV9zdHVicyIpIHsKKyAgIGV4dHJhX2hlYWRlciA9ICJ2YV9zdHVi X2hlYWRlci5mcmFnbWVudCIKKyAgIHNpZ3MgPSBbICJ2YS5zaWdzIiBdCitAQCAtMTM2LDYgKzE0 MCwxMCBAQCBzb3VyY2Vfc2V0KCJ2YWFwaSIpIHsKKyAgICAgXQorICAgfQorIAorKyAgaWYgKHRh cmdldF9jcHUgPT0gIng4NiIpIHsKKysgICAgY29uZmlncyArPSBbICI6dmFhcGlfcGVybWlzc2l2 ZSIgXQorKyAgfQorKworICAgaWYgKHVzZV94MTEpIHsKKyAgICAgZGVwcyArPSBbICIvL3VpL2dm eC94IiBdCisgICAgIHNvdXJjZXMgKz0gWwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDkwMC14eHgtcHBjNjRsZS1saWJ2cHgucGF0Y2ggYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wOTAwLXh4eC1wcGM2NGxlLWxpYnZweC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjVjOTU2NmI1NmJkNAotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDAteHh4LXBwYzY0bGUtbGli dnB4LnBhdGNoCkBAIC0wLDAgKzEsNjUgQEAKK1VzZXMgZ2VuZXJpYyB0YXJnZXQgZm9yIG5vdy4g VG8gdXNlIHBwYzY0bGUsIGNoYW5nZSAtLXRhcmdldCB0byBwcGM2NGxlLWdudQorYW5kIGFkZCAt LWVuYWJsZS12c3gsIGFuZCBjaGFuZ2UgZ2VuZXJpYyB0byBwcGMgZm9yIHRoZSBydGNkIGhlYWRl ci4KKworRnJvbSAxOGU2YzVjNTVjZmFlMGNmYjQ1OGQ4MjEwZDdiYzcwOTM2MGEwZTkwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KK0Rh dGU6IFdlZCwgOSBTZXAgMjAyMCAxOTowODoyNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBlbmFi bGUgZ2VuZXJhdGlvbiBvZiBwcGM2NCBsaWJ2cHggYml0cworCit0aGlzIGRvZXNuJ3QgdXBkYXRl IHRoZSBnbmkgZmlsZSwgdGhhdCdzIGRvbmUgZnJvbQordGhlIHRlbXBsYXRlIGJ5IHJ1bm5pbmcg dGhlIGFwcHJvcHJpYXRlIHNjcmlwdHMKKy0tLQorIHRoaXJkX3BhcnR5L2xpYnZweC9CVUlMRC5n biAgICAgICAgfCA0ICsrKysKKyB0aGlyZF9wYXJ0eS9saWJ2cHgvZ2VuZXJhdGVfZ25pLnNoIHwg OSArKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKykKKworLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xpYnZweC9CVUlMRC5nbgorKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xpYnZweC9CVUlMRC5nbgorQEAgLTQy NCw2ICs0MjQsOCBAQCBzdGF0aWNfbGlicmFyeSgiYnVuZGxlZF9saWJ2cHgiKSB7CisgICAgICAg c291cmNlcyA9IGxpYnZweF9zcmNzX2FybTY0CisgICAgICAgcHVibGljX2RlcHMgPSBbICI6bGli dnB4X2FybTY0X2hlYWRlcnMiIF0KKyAgICAgfQorKyAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9 PSAicHBjNjQiKSB7CisrICAgIHNvdXJjZXMgPSBsaWJ2cHhfc3Jjc19wcGM2NAorICAgfQorIAor ICAgY29uZmlncyAtPSBbICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpjaHJvbWl1bV9jb2RlIiBd CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGlidnB4L2dlbmVyYXRl X2duaS5zaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xpYnZweC9n ZW5lcmF0ZV9nbmkuc2gKK0BAIC0zNzQsNiArMzc0LDcgQEAgZ2VuX2NvbmZpZ19maWxlcyBsaW51 eC9hcm0tbmVvbi1oaWdoYmQgIgorIGdlbl9jb25maWdfZmlsZXMgbGludXgvYXJtNjQtaGlnaGJk ICItLXRhcmdldD1hcm12OC1saW51eC1nY2MgJHthbGxfcGxhdGZvcm1zfSAke0hJR0hCRH0iCisg Z2VuX2NvbmZpZ19maWxlcyBsaW51eC9taXBzZWwgIi0tdGFyZ2V0PW1pcHMzMi1saW51eC1nY2Mg JHthbGxfcGxhdGZvcm1zfSIKKyBnZW5fY29uZmlnX2ZpbGVzIGxpbnV4L21pcHM2NGVsICItLXRh cmdldD1taXBzNjQtbGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30iCisrZ2VuX2NvbmZpZ19maWxl cyBsaW51eC9wcGM2NCAiLS10YXJnZXQ9Z2VuZXJpYy1nbnUgJEhJR0hCRCAke2FsbF9wbGF0Zm9y bXN9IgorIGdlbl9jb25maWdfZmlsZXMgbGludXgvZ2VuZXJpYyAiLS10YXJnZXQ9Z2VuZXJpYy1n bnUgJEhJR0hCRCAke2FsbF9wbGF0Zm9ybXN9IgorIGdlbl9jb25maWdfZmlsZXMgd2luL2FybTY0 ICItLXRhcmdldD1hcm02NC13aW42NC12czE1ICR7YWxsX3BsYXRmb3Jtc30gJHtISUdIQkR9Igor IGdlbl9jb25maWdfZmlsZXMgd2luL2lhMzIgIi0tdGFyZ2V0PXg4Ni13aW4zMi12czE0ICR7YWxs X3BsYXRmb3Jtc30gJHt4ODZfcGxhdGZvcm1zfSIKK0BAIC0zOTksNiArNDAwLDcgQEAgbGludF9j b25maWcgbGludXgvYXJtLW5lb24taGlnaGJkCisgbGludF9jb25maWcgbGludXgvYXJtNjQtaGln aGJkCisgbGludF9jb25maWcgbGludXgvbWlwc2VsCisgbGludF9jb25maWcgbGludXgvbWlwczY0 ZWwKKytsaW50X2NvbmZpZyBsaW51eC9wcGM2NAorIGxpbnRfY29uZmlnIGxpbnV4L2dlbmVyaWMK KyBsaW50X2NvbmZpZyB3aW4vYXJtNjQKKyBsaW50X2NvbmZpZyB3aW4vaWEzMgorQEAgLTQyOCw2 ICs0MzAsNyBAQCBnZW5fcnRjZF9oZWFkZXIgbGludXgvYXJtLW5lb24taGlnaGJkIGFyCisgZ2Vu X3J0Y2RfaGVhZGVyIGxpbnV4L2FybTY0LWhpZ2hiZCBhcm12OAorIGdlbl9ydGNkX2hlYWRlciBs aW51eC9taXBzZWwgbWlwc2VsCisgZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L21pcHM2NGVsIG1pcHM2 NGVsCisrZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L3BwYzY0IGdlbmVyaWMKKyBnZW5fcnRjZF9oZWFk ZXIgbGludXgvZ2VuZXJpYyBnZW5lcmljCisgZ2VuX3J0Y2RfaGVhZGVyIHdpbi9hcm02NCBhcm12 OAorIGdlbl9ydGNkX2hlYWRlciB3aW4vaWEzMiB4ODYgIiR7cmVxdWlyZV9zc2UyfSIKK0BAIC01 MTMsNiArNTE2LDEyIEBAIGlmIFsgLXogJE9OTFlfQ09ORklHUyBdOyB0aGVuCisgCisgICBlY2hv ICJNSVBTNjQgc291cmNlIGxpc3QgaXMgaWRlbnRpY2FsIHRvIE1JUFMgc291cmNlIGxpc3QuIE5v IG5lZWQgdG8gZ2VuZXJhdGUgaXQuIgorIAorKyAgZWNobyAiR2VuZXJhdGUgcHBjNjQgc291cmNl IGxpc3QuIgorKyAgY29uZmlnPSQocHJpbnRfY29uZmlnX2Jhc2ljIGxpbnV4L3BwYzY0KQorKyAg bWFrZV9jbGVhbgorKyAgbWFrZSBsaWJ2cHhfc3Jjcy50eHQgdGFyZ2V0PWxpYnMgJGNvbmZpZyA+ IC9kZXYvbnVsbAorKyAgY29udmVydF9zcmNzX3RvX3Byb2plY3RfZmlsZXMgbGlidnB4X3NyY3Mu dHh0IGxpYnZweF9zcmNzX3BwYzY0CisrCisgICBlY2hvICJHZW5lcmF0ZSBOYUNsIHNvdXJjZSBs aXN0LiIKKyAgIGNvbmZpZz0kKHByaW50X2NvbmZpZ19iYXNpYyBuYWNsKQorICAgbWFrZV9jbGVh bgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMS14eHgtcHBj NjRsZS1zYW5kYm94LWxpbnV4LXN0YXQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wOTAxLXh4eC1wcGM2NGxlLXNhbmRib3gtbGludXgtc3RhdC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRiOGU2MzIwNjAxYwotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDEteHh4LXBwYzY0bGUtc2Fu ZGJveC1saW51eC1zdGF0LnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaAorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGlu dXhfc3RhdC5oCitAQCAtMTU1LDYgKzE1NSwyOCBAQCBzdHJ1Y3Qga2VybmVsX3N0YXQgeworICAg dW5zaWduZWQgaW50IF9fdW51c2VkNDsKKyAgIHVuc2lnbmVkIGludCBfX3VudXNlZDU7CisgfTsK KysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrc3RydWN0IGtlcm5lbF9zdGF0IHsKKysg IHVuc2lnbmVkIGxvbmcJc3RfZGV2OworKyAgdW5zaWduZWQgbG9uZwlzdF9pbm87CisrICB1bnNp Z25lZCBsb25nCXN0X25saW5rOworKyAgdW5zaWduZWQgaW50CXN0X21vZGU7CisrICB1bnNpZ25l ZCBpbnQJc3RfdWlkOworKyAgdW5zaWduZWQgaW50CXN0X2dpZDsKKysgIHVuc2lnbmVkIGxvbmcJ c3RfcmRldjsKKysgIGxvbmcJCXN0X3NpemU7CisrICB1bnNpZ25lZCBsb25nCXN0X2Jsa3NpemU7 CisrICB1bnNpZ25lZCBsb25nCXN0X2Jsb2NrczsKKysgIHVuc2lnbmVkIGxvbmcJc3RfYXRpbWVf OworKyAgdW5zaWduZWQgbG9uZwlzdF9hdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIGxvbmcJc3Rf bXRpbWVfOworKyAgdW5zaWduZWQgbG9uZwlzdF9tdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIGxv bmcJc3RfY3RpbWVfOworKyAgdW5zaWduZWQgbG9uZwlzdF9jdGltZV9uc2VjXzsKKysgIHVuc2ln bmVkIGxvbmcJX191bnVzZWQ0OworKyAgdW5zaWduZWQgbG9uZwlfX3VudXNlZDU7CisrICB1bnNp Z25lZCBsb25nCV9fdW51c2VkNjsKKyt9OworICNlbmRpZgorIAorICNpZiAhZGVmaW5lZChBVF9F TVBUWV9QQVRIKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkw Mi14eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDkwMi14eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uNjA1MDNjMjJlMzZiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMi14eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCkBA IC0wLDAgKzEsMzU1OSBAQAorY29tbWl0IDJjMDEzYTMxN2IxMTE0ZWY2N2NkYmJjMzA4MjRiMjg5 MDdiOWVhOTQKK0F1dGhvcjogRGFuaWVsIEtvbGVzYSA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CitE YXRlOiAgIFdlZCBNYXIgMyAxOTowODoyOSAyMDIxICswMTAwCisKKyAgICBwcGM2NGxlIHN1cHBv cnQKKworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvZmVhdHVyZXMuZ25pCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9mZWF0dXJlcy5nbmkKK0BAIC0xMSw3 ICsxMSw4IEBAIGltcG9ydCgiLy9idWlsZC9jb25maWcvbmFjbC9jb25maWcuZ25pIikKKyB1c2Vf c2VjY29tcF9icGYgPSAoaXNfbGludXggfHwgaXNfY2hyb21lb3MgfHwgaXNfYW5kcm9pZCkgJiYK KyAgICAgICAgICAgICAgICAgICAoY3VycmVudF9jcHUgPT0gIng4NiIgfHwgY3VycmVudF9jcHUg PT0gIng2NCIgfHwKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gImFybSIgfHwg Y3VycmVudF9jcHUgPT0gImFybTY0IiB8fAorLSAgICAgICAgICAgICAgICAgICBjdXJyZW50X2Nw dSA9PSAibWlwc2VsIiB8fCBjdXJyZW50X2NwdSA9PSAibWlwczY0ZWwiKQorKyAgICAgICAgICAg ICAgICAgICBjdXJyZW50X2NwdSA9PSAibWlwc2VsIiB8fCBjdXJyZW50X2NwdSA9PSAibWlwczY0 ZWwiIHx8CisrICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpCisgCisg dXNlX3NlY2NvbXBfYnBmID0gdXNlX3NlY2NvbXBfYnBmIHx8IGlzX25hY2xfbm9uc2ZpCisgCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9CVUlMRC5nbgorKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvQlVJTEQuZ24KK0BAIC00MzMsNiAr NDMzLDggQEAgY29tcG9uZW50KCJzYW5kYm94X3NlcnZpY2VzIikgeworIAorIHNvdXJjZV9zZXQo InNhbmRib3hfc2VydmljZXNfaGVhZGVycyIpIHsKKyAgIHNvdXJjZXMgPSBbCisrICAgICJzeXN0 ZW1faGVhZGVycy9wcGM2NF9saW51eF9zeXNjYWxscy5oIiwKKysgICAgInN5c3RlbV9oZWFkZXJz L3BwYzY0X2xpbnV4X3Vjb250ZXh0LmgiLAorICAgICAic3lzdGVtX2hlYWRlcnMvYXJtNjRfbGlu dXhfc3lzY2FsbHMuaCIsCisgICAgICJzeXN0ZW1faGVhZGVycy9hcm1fbGludXhfc3lzY2FsbHMu aCIsCisgICAgICJzeXN0ZW1faGVhZGVycy9hcm1fbGludXhfdWNvbnRleHQuaCIsCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxf cmFuZ2VzLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9k c2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaAorQEAgLTU2LDYgKzU2LDEzIEBACisgI2RlZmluZSBN QVhfUFVCTElDX1NZU0NBTEwgX19OUl9zeXNjYWxscworICNkZWZpbmUgTUFYX1NZU0NBTEwgTUFY X1BVQkxJQ19TWVNDQUxMCisgCisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKworKyNp bmNsdWRlIDxhc20vdW5pc3RkLmg+CisrI2RlZmluZSBNSU5fU1lTQ0FMTCAwdQorKyNkZWZpbmUg TUFYX1BVQkxJQ19TWVNDQUxMIDM4NnUKKysjZGVmaW5lIE1BWF9TWVNDQUxMIE1BWF9QVUJMSUNf U1lTQ0FMTAorKworICNlbHNlCisgI2Vycm9yICJVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUiCisg I2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9icGZfZHNs L3NlY2NvbXBfbWFjcm9zLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAorQEAgLTE2LDYgKzE2LDkgQEAKKyAjaWYgZGVm aW5lZChfX21pcHNfXykKKyAvLyBzeXMvdXNlci5oIGluIGVnbGliYyBtaXNzZXMgc2l6ZV90IGRl ZmluaXRpb24KKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKysvLyBNYW51YWxseSBkZWZpbmUgZ3JlZ190IG9u IHBwYzY0CisrdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgZ3JlZ190OworICNlbmRpZgorICNl bmRpZgorIAorQEAgLTM0Niw2ICszNDksNTkgQEAgc3RydWN0IHJlZ3Nfc3RydWN0IHsKKyAjZGVm aW5lIFNFQ0NPTVBfUFRfUEFSTTQoX3JlZ3MpIChfcmVncykucmVnc1szXQorICNkZWZpbmUgU0VD Q09NUF9QVF9QQVJNNShfcmVncykgKF9yZWdzKS5yZWdzWzRdCisgI2RlZmluZSBTRUNDT01QX1BU X1BBUk02KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbNV0KKysKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCisrI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKysKKyt0eXBlZGVmIHN0cnVjdCBwdF9y ZWdzIHJlZ3Nfc3RydWN0OworKworKyNpZmRlZiBBUkNIX0NQVV9MSVRUTEVfRU5ESUFOCisrI2Rl ZmluZSBTRUNDT01QX0FSQ0ggQVVESVRfQVJDSF9QUEM2NExFCisrI2Vsc2UKKysjZGVmaW5lIFNF Q0NPTVBfQVJDSCBBVURJVF9BUkNIX1BQQzY0CisrI2VuZGlmCisrCisrI2lmZGVmIF9fR0xJQkNf XworKyNkZWZpbmUgU0VDQ09NUF9SRUcoX2N0eCwgX3JlZykgKChfY3R4KS0+dWNfbWNvbnRleHQu cmVncy0+Z3ByW19yZWddKQorKyNlbHNlCisrI2RlZmluZSBTRUNDT01QX1JFRyhfY3R4LCBfcmVn KSAoKChzdHJ1Y3QgcHRfcmVncyAqKShfY3R4KS0+dWNfbWNvbnRleHQucmVncyktPmdwcltfcmVn XSkKKysjZW5kaWYKKysKKysjZGVmaW5lIFNFQ0NPTVBfUkVTVUxUKF9jdHgpIFNFQ0NPTVBfUkVH KF9jdHgsIDMpCisrI2RlZmluZSBTRUNDT01QX1NZU0NBTEwoX2N0eCkgU0VDQ09NUF9SRUcoX2N0 eCwgMCkKKysjaWZkZWYgX19HTElCQ19fCisrI2RlZmluZSBTRUNDT01QX0lQKF9jdHgpIChfY3R4 KS0+dWNfbWNvbnRleHQucmVncy0+bmlwCisrI2Vsc2UKKysjZGVmaW5lIFNFQ0NPTVBfSVAoX2N0 eCkgKChzdHJ1Y3QgcHRfcmVncyAqKShfY3R4KS0+dWNfbWNvbnRleHQucmVncyktPm5pcAorKyNl bmRpZgorKyNkZWZpbmUgU0VDQ09NUF9QQVJNMShfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAzKQor KyNkZWZpbmUgU0VDQ09NUF9QQVJNMihfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCA0KQorKyNkZWZp bmUgU0VDQ09NUF9QQVJNMyhfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCA1KQorKyNkZWZpbmUgU0VD Q09NUF9QQVJNNChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCA2KQorKyNkZWZpbmUgU0VDQ09NUF9Q QVJNNShfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCA3KQorKyNkZWZpbmUgU0VDQ09NUF9QQVJNNihf Y3R4KSBTRUNDT01QX1JFRyhfY3R4LCA4KQorKworKyNkZWZpbmUgU0VDQ09NUF9OUl9JRFggKG9m ZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgbnIpKQorKyNkZWZpbmUgU0VDQ09NUF9B UkNIX0lEWCAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBhcmNoKSkKKysjZGVm aW5lIFNFQ0NPTVBfSVBfTVNCX0lEWCBcCisrICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29t cF9kYXRhLCBpbnN0cnVjdGlvbl9wb2ludGVyKSArIDQpCisrI2RlZmluZSBTRUNDT01QX0lQX0xT Ql9JRFggXAorKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgaW5zdHJ1Y3Rp b25fcG9pbnRlcikgKyAwKQorKyNkZWZpbmUgU0VDQ09NUF9BUkdfTVNCX0lEWChucikgXAorKyAg KG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgYXJncykgKyA4ICogKG5yKSArIDQp CisrI2RlZmluZSBTRUNDT01QX0FSR19MU0JfSURYKG5yKSBcCisrICAob2Zmc2V0b2Yoc3RydWN0 IGFyY2hfc2VjY29tcF9kYXRhLCBhcmdzKSArIDggKiAobnIpICsgMCkKKysKKysjZGVmaW5lIFNF Q0NPTVBfUFRfUkVTVUxUKF9yZWdzKSAoX3JlZ3MpLmdwclszXQorKyNkZWZpbmUgU0VDQ09NUF9Q VF9TWVNDQUxMKF9yZWdzKSAoX3JlZ3MpLmdwclswXQorKyNkZWZpbmUgU0VDQ09NUF9QVF9JUChf cmVncykgKF9yZWdzKS5uaXAKKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTEoX3JlZ3MpIChfcmVn cykuZ3ByWzNdCisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk0yKF9yZWdzKSAoX3JlZ3MpLmdwcls0 XQorKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNMyhfcmVncykgKF9yZWdzKS5ncHJbNV0KKysjZGVm aW5lIFNFQ0NPTVBfUFRfUEFSTTQoX3JlZ3MpIChfcmVncykuZ3ByWzZdCisrI2RlZmluZSBTRUND T01QX1BUX1BBUk01KF9yZWdzKSAoX3JlZ3MpLmdwcls3XQorKyNkZWZpbmUgU0VDQ09NUF9QVF9Q QVJNNihfcmVncykgKF9yZWdzKS5ncHJbOF0KKysKKyAjZWxzZQorICNlcnJvciBVbnN1cHBvcnRl ZCB0YXJnZXQgcGxhdGZvcm0KKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2Vs aW5lX3BvbGljeS5jYworQEAgLTkxLDcgKzkxLDggQEAgYm9vbCBJc0Jhc2VsaW5lUG9saWN5V2F0 Y2hlZChpbnQgc3lzbm8pCisgICAgICAgICAgU3lzY2FsbFNldHM6OklzUHJjdGwoc3lzbm8pIHx8 CisgICAgICAgICAgU3lzY2FsbFNldHM6OklzUHJvY2Vzc0dyb3VwT3JTZXNzaW9uKHN5c25vKSB8 fAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAgICAoZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAor KyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgICAgICAgU3lzY2FsbFNldHM6OklzU29j a2V0Q2FsbChzeXNubykgfHwKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2FybV9fKQorQEAgLTI1 OCw3ICsyNTksNyBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlCisg ICB9CisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBk ZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICBpZiAoc3lz bm8gPT0gX19OUl9tbWFwKQorICAgICByZXR1cm4gUmVzdHJpY3RNbWFwRmxhZ3MoKTsKKyAjZW5k aWYKK0BAIC0yNzksNyArMjgwLDcgQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBsKGlu dCBmc19kZQorICAgICByZXR1cm4gUmVzdHJpY3RQcmN0bCgpOworIAorICNpZiBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAor LSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICBpZiAoc3lzbm8gPT0gX19OUl9zb2NrZXRwYWlyKSB7 CisgICAgIC8vIE9ubHkgYWxsb3cgQUZfVU5JWCwgUEZfVU5JWC4gQ3Jhc2ggaWYgYW55dGhpbmcg ZWxzZSBpcyBzZWVuLgorICAgICBzdGF0aWNfYXNzZXJ0KEFGX1VOSVggPT0gUEZfVU5JWCwKK0BA IC0zNDMsNyArMzQ0LDggQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBsKGludCBmc19k ZQorICAgfQorIAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAgICAo ZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRT KSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICBpZiAoU3lzY2FsbFNldHM6 OklzU29ja2V0Q2FsbChzeXNubykpCisgICAgIHJldHVybiBSZXN0cmljdFNvY2tldGNhbGxDb21t YW5kKCk7CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeV91bml0dGVzdC5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9i YXNlbGluZV9wb2xpY3lfdW5pdHRlc3QuY2MKK0BAIC0zMTcsNyArMzE3LDcgQEAgVEVTVF9CQVNF TElORV9TSUdTWVMoX19OUl9zeXNpbmZvKQorIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfc3lz bG9nKQorIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfdGltZXJfY3JlYXRlKQorIAorLSNpZiAh ZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl9pbm90aWZ5X2lu aXQpCisgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl92c2VydmVyKQorICNlbmRpZgorLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9z eXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVy c19yZXN0cmljdGlvbnMuY2MKK0BAIC00MCw3ICs0MCw4IEBACisgI2luY2x1ZGUgPHN5cy9wdHJh Y2UuaD4KKyAjaWYgKGRlZmluZWQoT1NfTElOVVgpIHx8IEJVSUxERkxBRyhJU19DSFJPTUVPU19M QUNST1MpKSAmJiBcCisgICAgICFkZWZpbmVkKF9fYXJtX18pICYmICFkZWZpbmVkKF9fYWFyY2g2 NF9fKSAmJiAgICAgICAgICAgXAorLSAgICAhZGVmaW5lZChQVFJBQ0VfR0VUX1RIUkVBRF9BUkVB KQorKyAgICAhZGVmaW5lZChQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBKSAmJgkJCSAgICBcCisrICAg ICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgLy8gQWxzbyBpbmNsdWRlIGFzbS9wdHJhY2UtYWJp Lmggc2luY2UgcHRyYWNlLmggaW4gb2xkZXIgbGliYyAoZm9yIGluc3RhbmNlCisgLy8gdGhlIG9u ZSBpbiBVYnVudHUgMTYuMDQgTFRTKSBpcyBtaXNzaW5nIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEu CisgLy8gYXNtL3B0cmFjZS1hYmkuaCBkb2Vzbid0IGV4aXN0IG9uIGFybTMyIGFuZCBQVFJBQ0Vf R0VUX1RIUkVBRF9BUkVBIGlzbid0CitAQCAtNDksNiArNTAsMTEgQEAKKyAjZW5kaWYKKyAjZW5k aWYgIC8vICFPU19OQUNMX05PTlNGSQorIAorKy8vIE9uIFBQQzY0LCBUQ0dFVFMgaXMgZGVmaW5l ZCBpbiB0ZXJtcyBvZiBzdHJ1Y3QgdGVybWlvcywgc28gd2UgbXVzdCBpbmNsdWRlIHRlcm1pb3Mu aAorKyNpZmRlZiBfX3Bvd2VycGM2NF9fCisrI2luY2x1ZGUgPHRlcm1pb3MuaD4KKysjZW5kaWYK KysKKyAjaWYgZGVmaW5lZChPU19BTkRST0lEKQorIAorICNpZiAhZGVmaW5lZChGX0RVUEZEX0NM T0VYRUMpCitAQCAtMTA2LDYgKzExMiwxNCBAQCBpbmxpbmUgYm9vbCBJc0FyY2hpdGVjdHVyZU1p cHMoKSB7CisgI2VuZGlmCisgfQorIAorK2lubGluZSBib29sIElzQXJjaGl0ZWN0dXJlUFBDNjQo KSB7CisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIHJldHVybiB0cnVlOworKyNlbHNl CisrICByZXR1cm4gZmFsc2U7CisrI2VuZGlmCisrfQorKworIC8vIFVidW50dSdzIHZlcnNpb24g b2YgZ2xpYmMgaGFzIGEgcmFjZSBjb25kaXRpb24gaW4gc2VtX3Bvc3QgdGhhdCBjYW4gY2F1c2UK KyAvLyBpdCB0byBjYWxsIGZ1dGV4KDIpIHdpdGggYm9ndXMgb3AgYXJndW1lbnRzLiBUbyB3b3Jr YXJvdW5kIHRoaXMsIHdlIG5lZWQKKyAvLyB0byBhbGxvdyB0aG9zZSBmdXRleCgyKSBjYWxscyB0 byBmYWlsIHdpdGggRUlOVkFMLCBpbnN0ZWFkIG9mIGNyYXNoaW5nIHRoZQorQEAgLTI3MCw2ICsy ODQsOCBAQCBSZXN1bHRFeHByIFJlc3RyaWN0RmNudGxDb21tYW5kcygpIHsKKyAgIHVpbnQ2NF90 IGtPTGFyZ2VGaWxlRmxhZyA9IE9fTEFSR0VGSUxFOworICAgaWYgKElzQXJjaGl0ZWN0dXJlWDg2 XzY0KCkgfHwgSXNBcmNoaXRlY3R1cmVJMzg2KCkgfHwgSXNBcmNoaXRlY3R1cmVNaXBzKCkpCisg ICAgIGtPTGFyZ2VGaWxlRmxhZyA9IDAxMDAwMDA7CisrICBlbHNlIGlmIChJc0FyY2hpdGVjdHVy ZVBQQzY0KCkpCisrICAgIGtPTGFyZ2VGaWxlRmxhZyA9IDAyMDAwMDA7CisgCisgICBjb25zdCBB cmc8aW50PiBjbWQoMSk7CisgICBjb25zdCBBcmc8bG9uZz4gbG9uZ19hcmcoMik7CitAQCAtMjg3 LDcgKzMwMywxNiBAQCBSZXN1bHRFeHByIFJlc3RyaWN0RmNudGxDb21tYW5kcygpIHsKKyAgICAg ICAgICAgICAgIEZfU0VUTEtXLAorICAgICAgICAgICAgICAgRl9HRVRMSywKKyAgICAgICAgICAg ICAgIEZfRFVQRkQsCistICAgICAgICAgICAgICBGX0RVUEZEX0NMT0VYRUMpLAorKyAgICAgICAg ICAgICAgRl9EVVBGRF9DTE9FWEVDCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysvLyBP biBQUEM2NCwgRl9TRVRMSywgRl9HRVRMSywgRl9TRVRMS1cgYXJlIGRlZmluZWQgYXMgdGhlIDY0 LWJpdCB2YXJpYW50cworKy8vIGJ1dCBnbGliYyB3aWxsIHNvbWV0aW1lcyBzdGlsbCB1c2UgdGhl IDMyLWJpdCB2ZXJzaW9ucy4gQWxsb3cgYm90aC4KKysgICAgICAgICAgICAgICwKKysgICAgICAg ICAgICAgIDUsIC8qIEZfR0VUTEsgKDMyKSAqLworKyAgICAgICAgICAgICAgNiwgLyogRl9TRVRM SyAoMzIpICovCisrICAgICAgICAgICAgICA3ICAvKiBGX1NFVExLVyAoMzIpICovCisrI2VuZGlm CisrCSAgICAgKSwKKyAgICAgICAgICAgICAgQWxsb3coKSkKKyAgICAgICAuQ2FzZShGX1NFVEZM LAorICAgICAgICAgICAgIElmKChsb25nX2FyZyAmIH5rQWxsb3dlZE1hc2spID09IDAsIEFsbG93 KCkpLkVsc2UoQ3Jhc2hTSUdTWVMoKSkpCitAQCAtMjk3LDcgKzMyMiw3IEBAIFJlc3VsdEV4cHIg UmVzdHJpY3RGY250bENvbW1hbmRzKCkgeworICAgLy8gY2xhbmctZm9ybWF0IG9uCisgfQorIAor LSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgUmVzdWx0RXhwciBSZXN0cmljdFNvY2tldGNhbGxDb21tYW5kKCkgeworICAgLy8gVW5mb3J0 dW5hdGVseSwgd2UgYXJlIHVuYWJsZSB0byByZXN0cmljdCB0aGUgZmlyc3QgcGFyYW1ldGVyIHRv CisgICAvLyBzb2NrZXRwYWlyKDIpLiBXaGlsc3QgaW5pdGlhbGx5IHNvdW5kaW5nIGJhZCwgaXQn cyBub3Rld29ydGh5IHRoYXQgdmVyeQorQEAgLTQ1NCw3ICs0NzksNyBAQCBSZXN1bHRFeHByIFJl c3RyaWN0UHRyYWNlKCkgeworICNlbmRpZgorICAgcmV0dXJuIFN3aXRjaChyZXF1ZXN0KQorICAg ICAgIC5DQVNFUygoCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChf X2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgICAgICAgICAgICAg IFBUUkFDRV9HRVRSRUdTLCBQVFJBQ0VfR0VURlBSRUdTLAorICNpZiBkZWZpbmVkKFRSQUNFX0dF VF9USFJFQURfQVJFQSkKKyAgICAgICAgICAgICAgICAgIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEs CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaAorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Bh cmFtZXRlcnNfcmVzdHJpY3Rpb25zLmgKK0BAIC00OSw3ICs0OSw3IEBAIFNBTkRCT1hfRVhQT1JU IGJwZl9kc2w6OlJlc3VsdEV4cHIgUmVzdHIKKyAvLyBPX05PTkJMT0NLIHwgT19TWU5DIHwgT19M QVJHRUZJTEUgfCBPX0NMT0VYRUMgfCBPX05PQVRJTUUuCisgU0FOREJPWF9FWFBPUlQgYnBmX2Rz bDo6UmVzdWx0RXhwciBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKTsKKyAKKy0jaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIC8vIFJlc3RyaWN0 IHNvY2tldGNhbGwoMikgdG8gb25seSBhbGxvdyBzb2NrZXRwYWlyKDIpLCBzZW5kKDIpLCByZWN2 KDIpLAorIC8vIHNlbmR0bygyKSwgcmVjdmZyb20oMiksIHNodXRkb3duKDIpLCBzZW5kbXNnKDIp IGFuZCByZWN2bXNnKDIpLgorIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmVz dHJpY3RTb2NrZXRjYWxsQ29tbWFuZCgpOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lz Y2FsbF9zZXRzLmNjCitAQCAtMjgsNyArMjgsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0tpbGwo aW50IHN5c25vKSB7CisgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0dGltZShpbnQgc3lz bm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2dldHRpbWVvZmRheToK Ky0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBcCisrI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bv d2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBk ZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfdGltZToKKyAjZW5kaWYK K0BAIC01MSwxMiArNTEsMTIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0dGltZShp bnQgcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZpbHRlcmVkIGJ5 IFJlc3RyaWN0Q2xvY2tJRCgpLgorICAgICBjYXNlIF9fTlJfY2xvY2tfbmFub3NsZWVwX3RpbWU2 NDogIC8vIFBhcmFtZXRlcnMgZmlsdGVyZWQgYnkgUmVzdHJpY3RDbG9ja0lEKCkuCisgI2VuZGlm CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNf RkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfZnRp bWU6ICAvLyBPYnNvbGV0ZS4KKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3NldHRpbWVvZmRheTog IC8vIFByaXZpbGVnZWQuCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKysjaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAg ICBjYXNlIF9fTlJfc3RpbWU6CisgI2VuZGlmCitAQCAtMTM1LDcgKzEzNSw3IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8KKyAgICAgY2FzZSBfX05SX2ZhY2Nlc3Nh dDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorICAgICBjYXNlIF9fTlJfZmNobW9kYXQ6 CisgICAgIGNhc2UgX19OUl9mY2hvd25hdDogIC8vIFNob3VsZCBiZSBjYWxsZWQgY2hvd25hdCA/ CistI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYg ZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0OiAgLy8gZnN0YXRhdCgpLiBF UEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fYXJtX18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCitAQCAtMTU0LDcgKzE1NCw3IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8KKyAgICAgY2FzZSBfX05SX21lbWZkX2Ny ZWF0ZToKKyAgICAgY2FzZSBfX05SX21rZGlyYXQ6CisgICAgIGNhc2UgX19OUl9ta25vZGF0Ogor LSNpZiBkZWZpbmVkKF9faTM4Nl9fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9vbGRsc3RhdDoKKyAgICAgY2FzZSBfX05S X29sZHN0YXQ6CisgI2VuZGlmCitAQCAtMTY3LDcgKzE2Nyw3IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzRmlsZVN5c3RlbShpbnQgc3lzbm8KKyAgICAgY2FzZSBfX05SX3N0YXQ2NDoKKyAjZW5kaWYK KyAgICAgY2FzZSBfX05SX3N0YXRmczogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorLSNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p IHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9zdGF0ZnM2NDoKKyAjZW5kaWYKK0BAIC0x NzksNyArMTc5LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubwor ICAgICBjYXNlIF9fTlJfdHJ1bmNhdGU2NDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3VubGlu a2F0OgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRl ZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisgICAgIGNhc2UgX19OUl91dGltZToKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3V0aW1l bnNhdDogIC8vIE5ldy4KK0BAIC0yMDQsNyArMjA1LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNB bGxvd2VkRmlsZVN5c3RlbUFjYworICNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOworIC8vIFRP RE8oamxuKTogdGhlc2Ugc2hvdWxkIGJlIGRlbmllZCBncmFjZWZ1bGx5IGFzIHdlbGwgKG1vdmVk IGJlbG93KS4KKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQorICAgICBjYXNlIF9fTlJfZmFkdmlzZTY0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQg ZXJybm8uCisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18pCitAQCAtMjE2LDEyICsyMTgs MTIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjYworICAgICBjYXNl IF9fTlJfZmRhdGFzeW5jOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCisgICAgIGNhc2Ug X19OUl9mbG9jazogICAgICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAgICAgY2FzZSBf X05SX2ZzdGF0ZnM6ICAgIC8vIEdpdmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHdob2xlIGZpbGVz eXN0ZW0uCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAor KyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19w b3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYg ZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX2ZzdGF0ZnM2NDoKKyAj ZW5kaWYKKyAgICAgY2FzZSBfX05SX2ZzeW5jOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8u CistI2lmIGRlZmluZWQoX19pMzg2X18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX29sZGZzdGF0OgorICNlbmRpZgorICNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IFwKK0BAIC0yMjksNiArMjMxLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxv d2VkRmlsZVN5c3RlbUFjYworICAgICBjYXNlIF9fTlJfc3luY19maWxlX3JhbmdlOiAgLy8gRVBF Uk0gbm90IGEgdmFsaWQgZXJybm8uCisgI2VsaWYgZGVmaW5lZChfX2FybV9fKQorICAgICBjYXNl IF9fTlJfYXJtX3N5bmNfZmlsZV9yYW5nZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgor KyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgY2FzZSBfX05SX3N5bmNfZmlsZV9y YW5nZTI6IC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorICNlbmRpZgorICAgICBkZWZhdWx0 OgorICAgICAgIHJldHVybiBmYWxzZTsKK0BAIC0yNDgsNyArMjUyLDcgQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNEZW5pZWRGaWxlU3lzdGVtQWNjZQorICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM6ICAg IC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfZ2V0 ZGVudHM2NDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorLSNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRf XykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX3JlYWRkaXI6CisgI2VuZGlmCitAQCAt MjkwLDcgKzI5NCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2V0U2ltcGxlSWQoaW50IHN5c24K KyBib29sIFN5c2NhbGxTZXRzOjpJc1Byb2Nlc3NQcml2aWxlZ2VDaGFuZ2UoaW50IHN5c25vKSB7 CisgICBzd2l0Y2ggKHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9jYXBzZXQ6CistI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAg IGNhc2UgX19OUl9pb3Blcm06ICAvLyBJbnRlbCBwcml2aWxlZ2UuCisgICAgIGNhc2UgX19OUl9p b3BsOiAgICAvLyBJbnRlbCBwcml2aWxlZ2UuCisgI2VuZGlmCitAQCAtMzQwLDcgKzM0NCw3IEBA IGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFNpZ25hbEhhbmRsaW4KKyAgICAgY2FzZSBfX05S X3J0X3NpZ3Byb2NtYXNrOgorICAgICBjYXNlIF9fTlJfcnRfc2lncmV0dXJuOgorICAgICBjYXNl IF9fTlJfcnRfc2lndGltZWR3YWl0OgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVf TUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19O Ul9ydF9zaWd0aW1lZHdhaXRfdGltZTY0OgorICAgICBjYXNlIF9fTlJfc2lnYWN0aW9uOgorQEAg LTM1Nyw3ICszNjEsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRTaWduYWxIYW5kbGlu CisgICAgIGNhc2UgX19OUl9zaWduYWxmZDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3NpZ25h bGZkNDoKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCisr I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bv d2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBk ZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfc2lncGVuZGluZzoKKyAg ICAgY2FzZSBfX05SX3NpZ3N1c3BlbmQ6CitAQCAtMzgyLDcgKzM4Niw3IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzQWxsb3dlZE9wZXJhdGlvbk9uRmQKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2R1 cDM6CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmlu ZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05S X3NodXRkb3duOgorICNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOworQEAgLTQxNiw3ICs0MjAs NyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPCisgICAgIGNhc2Ug X19OUl9tZW1iYXJyaWVyOgorICAgICBjYXNlIF9fTlJfd2FpdDQ6CisgICAgIGNhc2UgX19OUl93 YWl0aWQ6CistI2lmIGRlZmluZWQoX19pMzg2X18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3dhaXRwaWQ6CisgI2VuZGlm CisgI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKK0BAIC00MzgsNyArNDQyLDcgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0TworICAgICBjYXNlIF9fTlJfc2V0X3RpZF9h ZGRyZXNzOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfdW5zaGFyZToKKy0jaWYgIWRlZmluZWQo X19taXBzX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX21pcHNf XykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAg ICAgY2FzZSBfX05SX3Zmb3JrOgorICNlbmRpZgorICAgICBkZWZhdWx0OgorQEAgLTQ5MSw3ICs0 OTUsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXRPck1vZGlmeVNvCisgICAgICAg cmV0dXJuIHRydWU7CisgICAgIGRlZmF1bHQ6CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQo X19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dl cnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3NvY2tldHBhaXI6ICAvLyBXZSB3aWxsIHdhbnQgdG8g aW5zcGVjdCBpdHMgYXJndW1lbnQuCisgI2VuZGlmCisgICAgICAgcmV0dXJuIGZhbHNlOworQEAg LTUwMSw3ICs1MDUsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXRPck1vZGlmeVNv CisgYm9vbCBTeXNjYWxsU2V0czo6SXNEZW5pZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8p IHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2Fh cmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorICAgICBjYXNlIF9fTlJfYWNjZXB0OgorICAgICBjYXNlIF9fTlJfYWNjZXB0NDoKKyAg ICAgY2FzZSBfX05SX2JpbmQ6CitAQCAtNTE1LDcgKzUxOSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzRGVuaWVkR2V0T3JNb2RpZnlTb2MKKyAgIH0KKyB9CisgCistI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9f KSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFS Q0hfQ1BVXzMyX0JJVFMpKQorIC8vIEJpZyBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwgZm9yIHNv Y2tldHMuCisgYm9vbCBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKGludCBzeXNubykgeworQEAg LTUzMCw3ICs1MzQsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc1NvY2tldENhbGwoaW50IHN5c25v CisgfQorICNlbmRpZgorIAorLSNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19h cm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorIGJvb2wgU3lzY2FsbFNldHM6OklzTmV0d29ya1NvY2tldEluZm9ybWF0 aW9uKGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfZ2V0 cGVlcm5hbWU6CitAQCAtNTU4LDcgKzU2Myw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dl ZEFkZHJlc3NTcGFjZUEKKyAgICAgY2FzZSBfX05SX21pbmNvcmU6CisgICAgIGNhc2UgX19OUl9t bG9ja2FsbDoKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAg IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2Fz ZSBfX05SX21tYXA6CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X19hcm1fXykgfHwgXAorQEAgLTU4OSw3ICs1OTQsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0Fs bG93ZWRBZGRyZXNzU3BhY2VBCisgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElv KGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfbHNlZWs6 CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorKyNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBj NjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5l ZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX19sbHNlZWs6CisgI2VuZGlmCitA QCAtNjA5LDI3ICs2MTQsMjcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElv KGludAorICAgICBjYXNlIF9fTlJfcmVhZDoKKyAgICAgY2FzZSBfX05SX3JlYWR2OgorICAgICBj YXNlIF9fTlJfcHJlYWQ2NDoKKy0jaWYgZGVmaW5lZChfX2FybV9fKSB8fCBcCisrI2lmIGRlZmlu ZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAg ICBjYXNlIF9fTlJfcmVjdjoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChf X2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQorICAgICBjYXNlIF9fTlJfcmVjdmZyb206ICAvLyBDb3VsZCBzcGVjaWZ5IHNvdXJj ZS4KKyAgICAgY2FzZSBfX05SX3JlY3Ztc2c6ICAgLy8gQ291bGQgc3BlY2lmeSBzb3VyY2UuCisg I2VuZGlmCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKKysj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9zZWxlY3Q6CisgI2VuZGlmCistI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlw c19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9fbmV3c2VsZWN0 OgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2Fy bV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2Ug X19OUl9zZW5kOgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2 NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgICAgIGNhc2UgX19OUl9zZW5kbXNnOiAgLy8gQ291bGQgc3BlY2lmeSBkZXN0aW5hdGlvbi4K KyAgICAgY2FzZSBfX05SX3NlbmR0bzogICAvLyBDb3VsZCBzcGVjaWZ5IGRlc3RpbmF0aW9uLgor ICNlbmRpZgorQEAgLTY4NCw3ICs2ODksNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRC YXNpY1NjaGVkdWxlCisgICAgIGNhc2UgX19OUl9uYW5vc2xlZXA6CisgICAgICAgcmV0dXJuIHRy dWU7CisgICAgIGNhc2UgX19OUl9nZXRwcmlvcml0eToKKy0jaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAg ICBjYXNlIF9fTlJfbmljZToKKyAjZW5kaWYKK0BAIC02OTYsNyArNzAxLDcgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNBbGxvd2VkQmFzaWNTY2hlZHVsZQorIAorIGJvb2wgU3lzY2FsbFNldHM6Oklz QWRtaW5PcGVyYXRpb24oaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CistI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorKyNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwg XAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQ VV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX2JkZmx1c2g6CisgI2VuZGlmCitAQCAtNzEzLDcg KzcxOCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRpb24oaW50IHMKKyAKKyBi b29sIFN5c2NhbGxTZXRzOjpJc0tlcm5lbE1vZHVsZShpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAo c3lzbm8pIHsKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQorICAgICBjYXNlIF9fTlJfY3JlYXRlX21vZHVsZToKKyAgICAgY2FzZSBfX05SX2dl dF9rZXJuZWxfc3ltczogIC8vIFNob3VsZCBFTk9TWVMuCisgICAgIGNhc2UgX19OUl9xdWVyeV9t b2R1bGU6CitAQCAtNzQ1LDcgKzc1MSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRnNDb250cm9s KGludCBzeXNubykKKyAgICAgY2FzZSBfX05SX3F1b3RhY3RsOgorICAgICBjYXNlIF9fTlJfc3dh cG9mZjoKKyAgICAgY2FzZSBfX05SX3N3YXBvbjoKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwg XAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwK KyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf MzJfQklUUykpCisgICAgIGNhc2UgX19OUl91bW91bnQ6CisgI2VuZGlmCitAQCAtNzYyLDcgKzc2 OCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTnVtYShpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBf X05SX2dldGNwdToKKyAgICAgY2FzZSBfX05SX21iaW5kOgorICNpZiBkZWZpbmVkKF9faTM4Nl9f KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAg ZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfbWlncmF0ZV9wYWdlczoKKyAjZW5kaWYK KyAgICAgY2FzZSBfX05SX21vdmVfcGFnZXM6CitAQCAtNzk3LDEzICs4MDMsMTMgQEAgYm9vbCBT eXNjYWxsU2V0czo6SXNHbG9iYWxQcm9jZXNzRW52aXJvbgorICAgc3dpdGNoIChzeXNubykgewor ICAgICBjYXNlIF9fTlJfYWNjdDogIC8vIFByaXZpbGVnZWQuCisgI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAg ICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9nZXRybGltaXQ6CisgI2VuZGlmCist I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykKKysjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisg ICAgIGNhc2UgX19OUl91Z2V0cmxpbWl0OgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9faTM4Nl9f KSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykg fHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNI X0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX3VsaW1pdDoKKyAjZW5kaWYKK0BAIC04Mzgs NyArODQ0LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9iYWxTeXN0ZW1TdGF0dXMoaQorICNl bmRpZgorICAgICBjYXNlIF9fTlJfc3lzaW5mbzoKKyAgICAgY2FzZSBfX05SX3VuYW1lOgorLSNp ZiBkZWZpbmVkKF9faTM4Nl9fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9vbGR1bmFtZToKKyAgICAgY2FzZSBfX05SX29s ZG9sZHVuYW1lOgorICNlbmRpZgorQEAgLTkwNCw4ICs5MTAsMTYgQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNTeXN0ZW1WU2VtYXBob3JlcyhpbgorIH0KKyAjZW5kaWYKKyAKKysvKiBzaGl0dHkgaGFj ayBhcm91bmQgVm9pZCdzIDQuMTkga2VybmVsIGhlYWRlcnMgbWlzc2luZyB0aG9zZSBudW1iZXJz ICovCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgIWRlZmluZWQoX19OUl9zaG1nZXQp CisrI2RlZmluZSBfX05SX3NobWdldCAzOTUKKysjZGVmaW5lIF9fTlJfc2htY3RsIDM5NgorKyNk ZWZpbmUgX19OUl9zaG1hdCAzOTcKKysjZGVmaW5lIF9fTlJfc2htZHQgMzk4CisrI2VuZGlmCisr CisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX2FybV9fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18p IHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9N SVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkKKyAvLyBUaGVzZSBnaXZl IGEgbG90IG9mIGFtYmllbnQgYXV0aG9yaXR5IGFuZCBieXBhc3MgdGhlIHNldHVpZCBzYW5kYm94 LgorIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVlNoYXJlZE1lbW9yeShpbnQgc3lzbm8pIHsK K0BAIC05MzYsNyArOTUwLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WTWVzc2FnZVF1 ZXVlKAorIH0KKyAjZW5kaWYKKyAKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykp CisgLy8gQmlnIHN5c3RlbSBWIG11bHRpcGxleGluZyBzeXN0ZW0gY2FsbC4KKyBib29sIFN5c2Nh bGxTZXRzOjpJc1N5c3RlbVZJcGMoaW50IHN5c25vKSB7CitAQCAtOTU2LDcgKzk3MCw3IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzQW55U3lzdGVtVihpbnQgc3lzbm8KKyAgICAgKGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCisgICByZXR1 cm4gSXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKHN5c25vKSB8fCBJc1N5c3RlbVZTZW1hcGhvcmVzKHN5 c25vKSB8fAorICAgICAgICAgIElzU3lzdGVtVlNoYXJlZE1lbW9yeShzeXNubyk7CistI2VsaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgIHJldHVybiBJc1N5c3RlbVZJcGMo c3lzbm8pOworICNlbmRpZgorQEAgLTEwMTQsNyArMTAyOCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzRmFOb3RpZnkoaW50IHN5c25vKQorIGJvb2wgU3lzY2FsbFNldHM6OklzVGltZXIoaW50IHN5 c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9nZXRpdGltZXI6Cist I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChf X21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAg ICAgY2FzZSBfX05SX2FsYXJtOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfc2V0aXRpbWVyOgor QEAgLTEwOTYsMTcgKzExMTEsMjAgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNu bykgeworICAgICBjYXNlIF9fTlJfc3luY2ZzOgorICAgICBjYXNlIF9fTlJfdmhhbmd1cDoKKyAv LyBUaGUgc3lzdGVtIGNhbGxzIGJlbG93IGFyZSBub3QgaW1wbGVtZW50ZWQuCistI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykK KysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk KF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBf X05SX2Fmc19zeXNjYWxsOgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCist ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMy X0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAg IGNhc2UgX19OUl9icmVhazoKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysg ICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfZ2V0cG1zZzoKKyAjZW5k aWYKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQ U19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9n dHR5OgorICAgICBjYXNlIF9fTlJfaWRsZToKK0BAIC0xMTE1LDIwICsxMTMzLDIxIEBAIGJvb2wg U3lzY2FsbFNldHM6OklzTWlzYyhpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX3Byb2Y6Cisg ICAgIGNhc2UgX19OUl9wcm9maWw6CisgI2VuZGlmCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBc CisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3B1dHBtc2c6Cisg I2VuZGlmCisgI2lmIGRlZmluZWQoX194ODZfNjRfXykKKyAgICAgY2FzZSBfX05SX3NlY3VyaXR5 OgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNI X0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2Fz ZSBfX05SX3N0dHk6CisgI2VuZGlmCistI2lmIGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19O Ul90dXhjYWxsOgorICNlbmRpZgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRl ZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2Ug X19OUl92c2VydmVyOgorICNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOworLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxs X3NldHMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29t cC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAorQEAgLTQzLDEzICs0MywxNCBAQCBjbGFzcyBT QU5EQk9YX0VYUE9SVCBTeXNjYWxsU2V0cyB7CisgICBzdGF0aWMgYm9vbCBJc0RlbmllZEdldE9y TW9kaWZ5U29ja2V0KGludCBzeXNubyk7CisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwK Ky0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf MzJfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVk KEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAg IC8vIEJpZyBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwgZm9yIHNvY2tldHMuCisgICBzdGF0aWMg Ym9vbCBJc1NvY2tldENhbGwoaW50IHN5c25vKTsKKyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChf X3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwK Ky0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgc3RhdGljIGJvb2wgSXNOZXR3b3JrU29ja2V0SW5m b3JtYXRpb24oaW50IHN5c25vKTsKKyAjZW5kaWYKKyAKK0BAIC03Nyw3ICs3OCw3IEBAIGNsYXNz IFNBTkRCT1hfRVhQT1JUIFN5c2NhbGxTZXRzIHsKKyAgIHN0YXRpYyBib29sIElzU3lzdGVtVlNl bWFwaG9yZXMoaW50IHN5c25vKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKy0gICAgZGVmaW5l ZChfX2FhcmNoNjRfXykgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8 fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hf Q1BVXzY0X0JJVFMpKQorICAgLy8gVGhlc2UgZ2l2ZSBhIGxvdCBvZiBhbWJpZW50IGF1dGhvcml0 eSBhbmQgYnlwYXNzIHRoZSBzZXR1aWQgc2FuZGJveC4KKyAgIHN0YXRpYyBib29sIElzU3lzdGVt VlNoYXJlZE1lbW9yeShpbnQgc3lzbm8pOworQEAgLTg5LDcgKzkwLDggQEAgY2xhc3MgU0FOREJP WF9FWFBPUlQgU3lzY2FsbFNldHMgeworICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9faTM4Nl9f KSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFS Q0hfQ1BVXzMyX0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYg ZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisgICAvLyBCaWcgc3lzdGVtIFYgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsLgorICAgc3Rh dGljIGJvb2wgSXNTeXN0ZW1WSXBjKGludCBzeXNubyk7CisgI2VuZGlmCistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNjCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9zeXNjYWxs LmNjCitAQCAtMTgsNyArMTgsNyBAQCBuYW1lc3BhY2Ugc2FuZGJveCB7CisgbmFtZXNwYWNlIHsK KyAKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BV X0FSTV9GQU1JTFkpIHx8IFwKKy0gICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysg ICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgfHwgZGVmaW5lZCAoQVJDSF9DUFVfUFBD NjRfRkFNSUxZKQorIC8vIE51bWJlciB0aGF0J3Mgbm90IGN1cnJlbnRseSB1c2VkIGJ5IGFueSBM aW51eCBrZXJuZWwgQUJJcy4KKyBjb25zdCBpbnQga0ludmFsaWRTeXNjYWxsTnVtYmVyID0gMHgz NTFkMzsKKyAjZWxzZQorQEAgLTMxMiwxMCArMzEyLDU0IEBAIGFzbSgvLyBXZSBuZWVkIHRvIGJl IGFibGUgdG8gdGVsbCB0aGUga2UKKyAgICAgIjI6cmV0XG4iCisgICAgICIuY2ZpX2VuZHByb2Nc biIKKyAgICAgIi5zaXplIFN5c2NhbGxBc20sIC4tU3lzY2FsbEFzbVxuIgorKyNlbGlmIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKKysgICAgIi50ZXh0XG4iCisrICAgICIuYWxpZ24gNFxuIgorKyAg ICAiLnR5cGUgU3lzY2FsbEFzbSBAZnVuY3Rpb25cbiIKKysgICAgIlN5c2NhbGxBc206XG4iCisr ICAgICIuY2ZpX3N0YXJ0cHJvY1xuIgorKworKyAgICAvLyBDaGVjayBpZiByMyBpcyBuZWdhdGl2 ZQorKyAgICAiY21wZGkgMywgMFxuIgorKyAgICAiYmd0IDJmXG4iCisrCisrICAgIC8vIExvYWQg YWRkcmVzcyBvZiAzZiBpbnRvIHIzIGFuZCByZXR1cm4KKysgICAgIm1mbHIgMTBcbiIKKysgICAg ImJsIDFmXG4iCisrICAgICIxOiBtZmxyIDNcbiIKKysgICAgIm10bHIgMTBcbiIKKysgICAgImFk ZGkgMywgMywgNCoxM1xuIgorKyAgICAiYmxyXG4iCisrCisrICAgIC8vIExvYWQgYXJndW1lbnRz IGZyb20gYXJyYXkgaW50byByMy04CisrICAgIC8vIHNhdmUgcGFyYW0gMyBpbiByMTAKKysgICAg IjI6XG4iCisrICAgICJtciAwLCAzXG4iCisrICAgICJsZCAzLCAwKDQpXG4iCisrICAgICJsZCA1 LCAxNig0KVxuIgorKyAgICAibGQgNiwgMjQoNClcbiIKKysgICAgImxkIDcsIDMyKDQpXG4iCisr ICAgICJsZCA4LCA0MCg0KVxuIgorKyAgICAibGQgNCwgOCg0KVxuIgorKyAgICAibGkgOSwgMFxu IgorKworKyAgICAvLyBFbnRlciBrZXJuZWwKKysgICAgInNjXG4iCisrCisrICAgIC8vIE1hZ2lj IHJldHVybiBhZGRyZXNzCisrICAgICIzOlxuIgorKyAgICAvLyBMaWtlIE1JUFMsIHBwYzY0IHJl dHVybiB2YWx1ZXMgYXJlIGFsd2F5cyBwb3NpdGl2ZS4KKysgICAgLy8gQ2hlY2sgZm9yIGVycm9y IGluIGNyMC5TTyBhbmQgbmVnYXRlIHVwb24gZXJyb3IKKysgICAgImJjIDQsIDMsIDRmXG4iCisr ICAgICJuZWcgMywgM1xuIgorKyAgICAiNDogYmxyXG4iCisrCisrICAgICIuY2ZpX2VuZHByb2Nc biIKKysgICAgIi5zaXplIFN5c2NhbGxBc20sIC4tU3lzY2FsbEFzbVxuIgorICNlbmRpZgorICAg ICApOyAgLy8gYXNtCisgCistI2lmIGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVmaW5lZChf X3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgZXh0ZXJuICJDIiB7CisgaW50 cHRyX3QgU3lzY2FsbEFzbShpbnRwdHJfdCBuciwgY29uc3QgaW50cHRyX3QgYXJnc1s2XSk7Cisg fQorQEAgLTQyOSw2ICs0NzMsOCBAQCBpbnRwdHJfdCBTeXNjYWxsOjpDYWxsKGludCBuciwKKyAg ICAgcmV0ID0gaW5vdXQ7CisgICB9CisgCisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor KyAgaW50cHRyX3QgcmV0ID0gU3lzY2FsbEFzbShuciwgYXJncyk7CisgI2Vsc2UKKyAjZXJyb3Ig IlVuaW1wbGVtZW50ZWQgYXJjaGl0ZWN0dXJlIgorICNlbmRpZgorQEAgLTQ0NSw4ICs0OTEsMjYg QEAgdm9pZCBTeXNjYWxsOjpQdXRWYWx1ZUluVWNvbnRleHQoaW50cHRyXworICAgICAvLyBuZWVk cyB0byBiZSBjaGFuZ2VkIGJhY2suCisgICAgIHJldF92YWwgPSAtcmV0X3ZhbDsKKyAgICAgU0VD Q09NUF9QQVJNNChjdHgpID0gMTsKKy0gIH0gZWxzZQorKyAgfSBlbHNlIHsKKyAgICAgU0VDQ09N UF9QQVJNNChjdHgpID0gMDsKKysgIH0KKysjZW5kaWYKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorKyAgLy8gU2FtZSBhcyBNSVBTLCBuZWVkIHRvIGludmVydCByZXQgYW5kIHNldCBlcnJv ciByZWdpc3RlciAoY3IwLlNPKQorKyAgaWYgKHJldF92YWwgPD0gLTEgJiYgcmV0X3ZhbCA+PSAt NDA5NSkgeworKyAgICByZXRfdmFsID0gLXJldF92YWw7CisrI2lmZGVmIF9fR0xJQkNfXworKyAg ICBjdHgtPnVjX21jb250ZXh0LnJlZ3MtPmNjciB8PSAoMSA8PCAyOCk7CisrI2Vsc2UKKysgICAg KChzdHJ1Y3QgcHRfcmVncyAqKWN0eC0+dWNfbWNvbnRleHQucmVncyktPmNjciB8PSAoMSA8PCAy OCk7CisrI2VuZGlmCisrICB9IGVsc2UgeworKyNpZmRlZiBfX0dMSUJDX18KKysgICAgY3R4LT51 Y19tY29udGV4dC5yZWdzLT5jY3IgJj0gfigxIDw8IDI4KTsKKysjZWxzZQorKyAgICAoKHN0cnVj dCBwdF9yZWdzICopY3R4LT51Y19tY29udGV4dC5yZWdzKS0+Y2NyICY9IH4oMSA8PCAyOCk7Cisr I2VuZGlmCisrICB9CisgI2VuZGlmCisgICBTRUNDT01QX1JFU1VMVChjdHgpID0gc3RhdGljX2Nh c3Q8Z3JlZ190PihyZXRfdmFsKTsKKyB9CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFwLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFwLmNjCitAQCAtMjM2LDYgKzIzNiwyMCBA QCB2b2lkIFRyYXA6OlNpZ1N5cyhpbnQgbnIsIExpbnV4U2lnSW5mbyoKKyAgICAgICBTZXRJc0lu U2lnSGFuZGxlcigpOworICAgICB9CisgCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysg ICAgLy8gT24gcHBjNjQrZ2xpYmMsIHNvbWUgc3lzY2FsbHMgc2VlbSB0byBhY2NpZGVudGFsbHkg bmVnYXRlIHRoZSBmaXJzdAorKyAgICAvLyBwYXJhbWV0ZXIgd2hpY2ggY2F1c2VzIGNoZWNrcyBh Z2FpbnN0IGl0IHRvIGZhaWwuIEZvciBub3csIG1hbnVhbGx5CisrICAgIC8vIG5lZ2F0ZSB0aGVt IGJhY2suCisrICAgIC8vIFRPRE8oc2hhd25AYW5hc3Rhcy5pbyk6IGludmVzdGlnYXRlIHRoaXMg aXNzdWUgZnVydGhlcgorKyAgICBhdXRvIG5yID0gU0VDQ09NUF9TWVNDQUxMKGN0eCk7CisrICAg IGlmIChuciA9PSBfX05SX29wZW5hdCB8fCBuciA9PSBfX05SX21rZGlyYXQgfHwgbnIgPT0gX19O Ul9mYWNjZXNzYXQgfHwgbnIgPT0gX19OUl9yZWFkbGlua2F0IHx8CisrICAgICAgICBuciA9PSBf X05SX3JlbmFtZWF0IHx8IG5yID09IF9fTlJfcmVuYW1lYXQyIHx8IG5yID09IF9fTlJfbmV3ZnN0 YXRhdCB8fCBuciA9PSBfX05SX3VubGlua2F0KSB7CisrICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8 aW50PihTRUNDT01QX1BBUk0xKGN0eCkpID4gMCkgeworKyAgICAgICAgICAgIFNFQ0NPTVBfUEFS TTEoY3R4KSA9IC1TRUNDT01QX1BBUk0xKGN0eCk7CisrICAgICAgICB9CisrICAgIH0KKysjZW5k aWYKKysKKyAgICAgLy8gQ29weSB0aGUgc2VjY29tcC1zcGVjaWZpYyBkYXRhIGludG8gYSBhcmNo X3NlY2NvbXBfZGF0YSBzdHJ1Y3R1cmUuIFRoaXMKKyAgICAgLy8gaXMgd2hhdCB3ZSBhcmUgc2hv d2luZyB0byBUcmFwRm5jIGNhbGxiYWNrcyB0aGF0IHRoZSBzeXN0ZW0gY2FsbAorICAgICAvLyBl dmFsdWF0b3IgcmVnaXN0ZXJlZCB3aXRoIHRoZSBzYW5kYm94LgorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNj CitAQCAtODEsNyArODEsNyBAQCBib29sIENocm9vdFRvU2FmZUVtcHR5RGlyKCkgeworICAgcGlk X3QgcGlkID0gLTE7CisgICBhbGlnbmFzKDE2KSBjaGFyIHN0YWNrX2J1ZltQVEhSRUFEX1NUQUNL X01JTl07CisgI2lmIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNI X0NQVV9BUk1fRkFNSUxZKSB8fCBcCistICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp CisrICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVf UFBDNjRfRkFNSUxZKQorICAgLy8gVGhlIHN0YWNrIGdyb3dzIGRvd253YXJkLgorICAgdm9pZCog c3RhY2sgPSBzdGFja19idWYgKyBzaXplb2Yoc3RhY2tfYnVmKTsKKyAjZWxzZQorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVy cy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMv c3lzY2FsbF93cmFwcGVycy5jYworQEAgLTYxLDcgKzYxLDcgQEAgbG9uZyBzeXNfY2xvbmUodW5z aWduZWQgbG9uZyBmbGFncywKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfNjQpCisgICByZXR1 cm4gc3lzY2FsbChfX05SX2Nsb25lLCBmbGFncywgY2hpbGRfc3RhY2ssIHB0aWQsIGN0aWQsIHRs cyk7CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9YODYpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJN X0ZBTUlMWSkgfHwgXAorLSAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorKyAgICBk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZB TUlMWSkKKyAgIC8vIENPTkZJR19DTE9ORV9CQUNLV0FSRFMgZGVmaW5lZC4KKyAgIHJldHVybiBz eXNjYWxsKF9fTlJfY2xvbmUsIGZsYWdzLCBjaGlsZF9zdGFjaywgcHRpZCwgdGxzLCBjdGlkKTsK KyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c2Nh bGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v c2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfcHJvY2Vzcy5jYworQEAgLTE2NSw3 ICsxNjUsNyBAQCBib29sIEJyb2tlclByb2Nlc3M6OklzU3lzY2FsbEJyb2tlcmFibGUoCisgI2lm IGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisgICAgIGNhc2UgX19OUl9mc3RhdGF0NjQ6CisgI2Vu ZGlmCistI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKKysj aWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0OgorICNlbmRpZgorICAg ICAgIHJldHVybiAhZmFzdF9jaGVjayB8fCBhbGxvd2VkX2NvbW1hbmRfc2V0Xy50ZXN0KENPTU1B TkRfU1RBVCk7CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9z YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaAorQEAgLTQxLDYgKzQx LDkgQEAKKyAjaWZuZGVmIEVNX0FBUkNINjQKKyAjZGVmaW5lIEVNX0FBUkNINjQgMTgzCisgI2Vu ZGlmCisrI2lmbmRlZiBFTV9QUEM2NAorKyNkZWZpbmUgRU1fUFBDNjQgMjEKKysjZW5kaWYKKyAK KyAjaWZuZGVmIF9fQVVESVRfQVJDSF82NEJJVAorICNkZWZpbmUgX19BVURJVF9BUkNIXzY0QklU IDB4ODAwMDAwMDAKK0BAIC03NCw2ICs3NywxNCBAQAorICNkZWZpbmUgQVVESVRfQVJDSF9BQVJD SDY0IChFTV9BQVJDSDY0IHwgX19BVURJVF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQor ICNlbmRpZgorIAorKyNpZm5kZWYgQVVESVRfQVJDSF9QUEM2NAorKyNkZWZpbmUgQVVESVRfQVJD SF9QUEM2NCAoRU1fUFBDNjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQpCisrI2VuZGlmCisrCisrI2lm bmRlZiBBVURJVF9BUkNIX1BQQzY0TEUKKysjZGVmaW5lIEFVRElUX0FSQ0hfUFBDNjRMRSAoRU1f UFBDNjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQgfCBfX0FVRElUX0FSQ0hfTEUpCisrI2VuZGlmCisr CisgLy8gRm9yIHByY3RsLmgKKyAjaWZuZGVmIFBSX1NFVF9TRUNDT01QCisgI2RlZmluZSBQUl9T RVRfU0VDQ09NUCAgICAgICAgICAgICAgIDIyCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v c2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaAorKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2lnbmFs LmgKK0BAIC0xMyw3ICsxMyw3IEBACisgLy8gKG5vdCB1bmRlZmluZWQsIGJ1dCBkZWZpbmVkIGRp ZmZlcmVudCB2YWx1ZXMgYW5kIGluIGRpZmZlcmVudCBtZW1vcnkKKyAvLyBsYXlvdXRzKS4gU28s IGZpbGwgdGhlIGdhcCBoZXJlLgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2 NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgCisgI2RlZmluZSBMSU5VWF9TSUdIVVAgMQorICNkZWZpbmUgTElOVVhfU0lHSU5UIDIKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xp bnV4X3N5c2NhbGxzLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0zNSw1ICszNSw5IEBACisgI2lu Y2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMu aCIKKyAjZW5kaWYKKyAKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyNpbmNsdWRlICJz YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgiCisrI2Vu ZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NZ U0NBTExTX0hfCisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycy9saW51eF91Y29udGV4dC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF91Y29udGV4dC5oCitAQCAtMTEs NiArMTEsOCBAQAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9s aW51eF91Y29udGV4dC5oIgorICNlbGlmIGRlZmluZWQoX19pMzg2X18pCisgI2luY2x1ZGUgInNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvaTM4Nl9saW51eF91Y29udGV4dC5oIgorKyNlbGlm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy9wcGM2NF9saW51eF91Y29udGV4dC5oIgorICNlbHNlCisgI2Vycm9yICJObyBzdXBw b3J0IGZvciB5b3VyIGFyY2hpdGVjdHVyZSBpbiBQTmFDbCBoZWFkZXIiCisgI2VuZGlmCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVy X3BvbGljeV9saW51eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvcG9s aWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKK0BAIC0xNSw2ICsxNSwxMSBA QAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxz LmgiCisgI2luY2x1ZGUgInNhbmRib3gvcG9saWN5L2xpbnV4L3NhbmRib3hfbGludXguaCIKKyAK KysvLyBPbiBQUEM2NCwgVENHRVRTIGlzIGRlZmluZWQgaW4gdGVybXMgb2Ygc3RydWN0IHRlcm1p b3MsIHNvIHdlIG11c3QgaW5jbHVkZSB0ZXJtaW9zLmgKKysjaWZkZWYgX19wb3dlcnBjNjRfXwor KyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisrI2VuZGlmCisrCisgLy8gVE9ETyh2aWduYXR0aSk6IHJl cGxhY2UgdGhlIGxvY2FsIGRlZmluaXRpb25zIGJlbG93IHdpdGggI2luY2x1ZGUKKyAvLyA8bGlu dXgvZG1hLWJ1Zi5oPiBvbmNlIGtlcm5lbCB2ZXJzaW9uIDQuNiBiZWNvbWVzIHdpZGVseSB1c2Vk LgorICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2FuZ2xlL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmgKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvY29tcGlsZXIv dHJhbnNsYXRvci9JbmZvU2luay5oCitAQCAtOTMsNyArOTMsMTYgQEAgY2xhc3MgVEluZm9TaW5r QmFzZQorICAgICAgICAgICAgIHN0cmVhbS5wcmVjaXNpb24oOCk7CisgICAgICAgICAgICAgc3Ry ZWFtIDw8IGY7CisgICAgICAgICB9CistICAgICAgICBzaW5rLmFwcGVuZChzdHJlYW0uc3RyKCkp OworKworKyAgICAgICAgLy8gSGFjayB0byB3b3JrIGFyb3VuZCBhIGJ1ZyB3aGVyZSBuZWdhdGl2 ZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMKKysgICAgICAgIC8vIGFyZSByZW5kZXJlZCBsaWtlICcu MC41JyBpbnN0ZWFkIG9mICctMC41JworKyAgICAgICAgc3RkOjpzdHJpbmcgcmVzKHN0cmVhbS5z dHIoKSk7CisrCisrICAgICAgICBpZiAoc2lnbmJpdChmKSkgeyAvLyB0ZXN0IGlmIGYgaXMgbmVn YXRpdmUKKysgICAgICAgICAgICByZXNbMF0gPSAnLSc7CisrICAgICAgICB9CisrCisrICAgICAg ICBzaW5rLmFwcGVuZChyZXMpOworICAgICAgICAgcmV0dXJuICp0aGlzOworICAgICB9CisgICAg IC8vIFdyaXRlIGJvb2xlYW4gdmFsdWVzIGFzIHRoZWlyIG5hbWVzIGluc3RlYWQgb2YgaW50ZWdy YWwgdmFsdWUuCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUv c3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCitAQCAtOSw2ICs5LDcgQEAK KyAjaWZuZGVmIExJQkFOR0xFX0NPTlNUQU5UU19IXworICNkZWZpbmUgTElCQU5HTEVfQ09OU1RB TlRTX0hfCisgCisrI2luY2x1ZGUgPGNzdGRkZWY+CisgI2luY2x1ZGUgImNvbW1vbi9wbGF0Zm9y bS5oIgorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24KK0BAIC05OSw2ICs5OSwxMyBAQCBp ZiAoaXNfd2luICYmICFpc19tc2FuICYmIGN1cnJlbnRfY3B1ICE9CisgICAgICAgfSBlbHNlIHsK KyAgICAgICAgIHB1YmxpY19jb25maWdzID0gWyAiOm5vX2FzbV9jb25maWciIF0KKyAgICAgICB9 CisrICAgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgICAgIGlmIChp c19saW51eCkgeworKyAgICAgICAgIyBUT0RPOiBwcGM2NCAoYmUpIGNoZWNrCisrICAgICAgICBz b3VyY2VzICs9IGNyeXB0b19zb3VyY2VzX2xpbnV4X3BwYzY0bGUKKysgICAgICB9IGVsc2Ugewor KyAgICAgICAgcHVibGljX2NvbmZpZ3MgPSBbICI6bm9fYXNtX2NvbmZpZyIgXQorKyAgICAgIH0K KyAgICAgfSBlbHNlIHsKKyAgICAgICBwdWJsaWNfY29uZmlncyA9IFsgIjpub19hc21fY29uZmln IiBdCisgICAgIH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL0JVSUxELmduCitAQCAtNjIzLDcgKzYyMyw2IEBAIGlmIChpc19saW51eCB8fCBpc19j aHJvbWVvcyB8fCBpc19hbmRyb2kKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9taW5pZHVt cF9maWxlX3dyaXRlci5oIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9jb252ZXJ0X1VU Ri5jYyIsCisgICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vY29udmVydF9VVEYuaCIsCistICAg ICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvYnJlYWtwYWRfZ2V0Y29udGV4dC5TIiwKKyAg ICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmNjIiwKKyAgICAg ICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmgiLAorICAgICAgICJi cmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2VsZnV0aWxzLmNjIiwKK0BAIC02NjMsNiArNjYyLDE1 IEBAIGlmIChpc19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRyb2kKKyAKKyAgICAgbGli cyA9IFsgImRsIiBdCisgCisrICAgIGlmIChjdXJyZW50X2NwdSA9PSAicHBjNjQiKSB7CisrICAg ICAgICBkZWZpbmVzID0gWyAiSEFWRV9HRVRDT05URVhUIiBdCisrICAgICAgICBsaWJzICs9IFsg InVjb250ZXh0IiBdCisrICAgIH0gZWxzZSB7CisrICAgICAgICBzb3VyY2VzICs9IFsKKysgICAg ICAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9icmVha3BhZF9nZXRjb250ZXh0LlMi CisrICAgICAgICBdCisrICAgIH0KKysKKyAgICAgaW5jbHVkZV9kaXJzID0gWworICAgICAgICIu IiwKKyAgICAgICAiYnJlYWtwYWQvc3JjIiwKK0BAIC03MTIsNyArNzIwLDYgQEAgaWYgKGlzX2xp bnV4IHx8IGlzX2Nocm9tZW9zIHx8IGlzX2FuZHJvaQorICAgICAgICJicmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MiLAor ICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVt cF93cml0ZXJfdW5pdHRlc3RfdXRpbHMuY2MiLAorICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L21pbmlkdW1wX3dyaXRlci9wcm9jX2NwdWluZm9fcmVhZGVyX3VuaXR0ZXN0LmNjIiwK Ky0gICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9icmVha3BhZF9nZXRjb250ZXh0X3Vu aXR0ZXN0LmNjIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9k dW1wX3VuaXR0ZXN0LmNjIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9maWxl X2lkX3VuaXR0ZXN0LmNjIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9saW51 eF9saWJjX3N1cHBvcnRfdW5pdHRlc3QuY2MiLAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0 ZXJfY29tbW9uL3Jhd19jb250ZXh0X2NwdS5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRl cl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmgKK0BAIC00NCw2ICs0NCw4IEBAIHR5cGVkZWYgTURS YXdDb250ZXh0QVJNIFJhd0NvbnRleHRDUFU7CisgdHlwZWRlZiBNRFJhd0NvbnRleHRBUk02NF9P bGQgUmF3Q29udGV4dENQVTsKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorIHR5cGVkZWYgTURS YXdDb250ZXh0TUlQUyBSYXdDb250ZXh0Q1BVOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKyt0eXBlZGVmIE1EUmF3Q29udGV4dFBQQzY0IFJhd0NvbnRleHRDUFU7CisgI2Vsc2UKKyAj ZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0 LiIKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRf aW5mby5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZv LmNjCitAQCAtMjcwLDcgKzI3MCw1NCBAQCB2b2lkIFRocmVhZEluZm86OkZpbGxDUFVDb250ZXh0 KFJhd0NvbnRlCisgICBvdXQtPmZsb2F0X3NhdmUuZmlyID0gbWNvbnRleHQuZnBjX2VpcjsKKyAj ZW5kaWYKKyB9CistI2VuZGlmICAvLyBfX21pcHNfXworKworKyNlbGlmIGRlZmluZWQoX19wb3dl cnBjNjRfXykKKysKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyNpbmNsdWRlIDxhc20vZWxm Lmg+CisrI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKysjZW5kaWYKKysKKyt1aW50cHRyX3QgVGhy ZWFkSW5mbzo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKCkgY29uc3QgeworKyAgICByZXR1cm4gbWNv bnRleHQuZ3BfcmVnc1tQVF9OSVBdOworK30KKysKKyt2b2lkIFRocmVhZEluZm86OkZpbGxDUFVD b250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCkgY29uc3QgeworKyAgICBvdXQtPmNvbnRleHRfZmxh Z3MgPSBNRF9DT05URVhUX1BQQzY0X0ZVTEw7CisrICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURf Q09OVEVYVF9QUEM2NF9HUFJfQ09VTlQ7IGkrKykKKysgICAgICAgIG91dC0+Z3ByW2ldID0gbWNv bnRleHQuZ3BfcmVnc1tpXTsKKysKKysgICAgb3V0LT5sciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRf TE5LXTsKKysgICAgb3V0LT5zcnIwID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdOworKyAgICBv dXQtPnNycjEgPSBtY29udGV4dC5ncF9yZWdzW1BUX01TUl07CisrICAgIG91dC0+Y3IgPSBtY29u dGV4dC5ncF9yZWdzW1BUX0NDUl07CisrICAgIG91dC0+eGVyID0gbWNvbnRleHQuZ3BfcmVnc1tQ VF9YRVJdOworKyAgICBvdXQtPmN0ciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfQ1RSXTsKKysKKysj aWZkZWYgX19HTElCQ19fCisrICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZF QVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdz W2ldID0gbWNvbnRleHQuZnBfcmVnc1tpXTsKKysKKysgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2Ny ID0gbWNvbnRleHQuZnBfcmVnc1tORlBSRUctMV07CisrI2Vsc2UKKysgICAgZm9yIChpbnQgaSA9 IDA7IGkgPCBNRF9GTE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKKysgICAgICAg IG91dC0+ZmxvYXRfc2F2ZS5mcHJlZ3NbaV0gPSAoKHVpbnQ2NF90ICopJm1jb250ZXh0LmZwX3Jl Z3MpW2ldOworKworKyAgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gKCh1aW50NjRfdCAqKSZt Y29udGV4dC5mcF9yZWdzKVtFTEZfTkZQUkVHLTFdOworKyNlbmRpZgorKworKyAgICBmb3IgKGlu dCBpID0gMDsgaSA8IE1EX1ZFQ1RPUlNBVkVBUkVBX1BQQ19WUl9DT1VOVDsgaSsrKQorKyAgICAg ICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldID0gXAorKyAgICAgICAgICAgIHsoKCh1aW50 NjRfdCl2cmVncy52cnJlZ3NbaV1bMF0pIDw8IDMyKQorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCB2cmVncy52cnJlZ3NbaV1bMV0sCisrICAgICAgICAgICAgKCgodWludDY0X3QpdnJlZ3Mu dnJyZWdzW2ldWzJdKSA8PCAzMikKKysgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy52 cnJlZ3NbaV1bM119OworKworKyAgICBvdXQtPnZyc2F2ZSA9IHZyZWdzLnZyc2F2ZTsKKysgICAg b3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZzY3IgPSB7MCwgdnJlZ3MudnNjci52c2NyX3dvcmR9Owor KyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJ2YWxpZCA9IDB4RkZGRkZGRkY7CisrfQorKyNl bmRpZiAgLy8gX19wb3dlcnBjNjRfXworIAorIHZvaWQgVGhyZWFkSW5mbzo6R2V0R2VuZXJhbFB1 cnBvc2VSZWdpc3RlcnModm9pZCoqIGdwX3JlZ3MsIHNpemVfdCogc2l6ZSkgeworICAgYXNzZXJ0 KGdwX3JlZ3MgfHwgc2l6ZSk7CitAQCAtMjc5LDYgKzMyNiwxMSBAQCB2b2lkIFRocmVhZEluZm86 OkdldEdlbmVyYWxQdXJwb3NlUmVnaXN0CisgICAgICpncF9yZWdzID0gbWNvbnRleHQuZ3JlZ3M7 CisgICBpZiAoc2l6ZSkKKyAgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZ3JlZ3MpOworKyNl bGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIGlmIChncF9yZWdzKQorKyAgICAqZ3BfcmVn cyA9IG1jb250ZXh0LmdwX3JlZ3M7CisrICBpZiAoc2l6ZSkKKysgICAgKnNpemUgPSBzaXplb2Yo bWNvbnRleHQuZ3BfcmVncyk7CisgI2Vsc2UKKyAgIGlmIChncF9yZWdzKQorICAgICAqZ3BfcmVn cyA9ICZyZWdzOworQEAgLTI5NCw2ICszNDYsMTEgQEAgdm9pZCBUaHJlYWRJbmZvOjpHZXRGbG9h dGluZ1BvaW50UmVnaXN0ZQorICAgICAqZnBfcmVncyA9ICZtY29udGV4dC5mcHJlZ3M7CisgICBp ZiAoc2l6ZSkKKyAgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZnByZWdzKTsKKysjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBpZiAoZnBfcmVncykKKysgICAgKmZwX3JlZ3MgPSAm bWNvbnRleHQuZnBfcmVnczsKKysgIGlmIChzaXplKQorKyAgICAqc2l6ZSA9IHNpemVvZihtY29u dGV4dC5mcF9yZWdzKTsKKyAjZWxzZQorICAgaWYgKGZwX3JlZ3MpCisgICAgICpmcF9yZWdzID0g JmZwcmVnczsKK0BAIC0zMDIsNCArMzU5LDEzIEBAIHZvaWQgVGhyZWFkSW5mbzo6R2V0RmxvYXRp bmdQb2ludFJlZ2lzdGUKKyAjZW5kaWYKKyB9CisgCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKyt2b2lkIFRocmVhZEluZm86OkdldFZlY3RvclJlZ2lzdGVycyh2b2lkKiogdl9yZWdzLCBz aXplX3QqIHNpemUpIHsKKysgICAgaWYgKHZfcmVncykKKysgICAgICAgICp2X3JlZ3MgPSAmdnJl Z3M7CisrICAgIGlmIChzaXplKQorKyAgICAgICAgKnNpemUgPSBzaXplb2YodnJlZ3MpOworK30K KysjZW5kaWYKKysKKyB9ICAvLyBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkCistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uaAorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmgKK0BAIC02OCw2ICs2OCwxMCBAQCBz dHJ1Y3QgVGhyZWFkSW5mbyB7CisgICAvLyBVc2UgdGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiA8 c3lzL3VzZXIuaD4KKyAgIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3M7CisgICBzdHJ1Y3Qg dXNlcl9mcHNpbWRfc3RydWN0IGZwcmVnczsKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisrICAvLyBVc2UgdGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiA8c3lzL3Vjb250ZXh0Lmg+Lgor KyAgbWNvbnRleHRfdCBtY29udGV4dDsKKysgIHZycmVnc2V0X3QgdnJlZ3M7CisgI2VsaWYgZGVm aW5lZChfX21pcHNfXykKKyAgIC8vIFVzZSB0aGUgc3RydWN0dXJlIGRlZmluZWQgaW4gPHN5cy91 Y29udGV4dC5oPi4KKyAgIG1jb250ZXh0X3QgbWNvbnRleHQ7CitAQCAtODQsNiArODgsMTEgQEAg c3RydWN0IFRocmVhZEluZm8geworIAorICAgLy8gUmV0dXJucyB0aGUgcG9pbnRlciBhbmQgc2l6 ZSBvZiBmbG9hdCBwb2ludCByZWdpc3RlciBhcmVhLgorICAgdm9pZCBHZXRGbG9hdGluZ1BvaW50 UmVnaXN0ZXJzKHZvaWQqKiBmcF9yZWdzLCBzaXplX3QqIHNpemUpOworKworKyNpZiBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCisrICAvLyBSZXR1cm5zIHRoZSBwb2ludGVyIGFuZCBzaXplIG9mIHRo ZSB2ZWN0b3IgcmVnaXN0ZXIgYXJlYS4gKFBQQzY0IG9ubHkpCisrICB2b2lkIEdldFZlY3RvclJl Z2lzdGVycyh2b2lkKiogdl9yZWdzLCBzaXplX3QqIHNpemUpOworKyNlbmRpZgorIH07CisgCisg fSAgLy8gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93 cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93 cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYworQEAgLTI1NCw2ICsyNTQsNjAgQEAgdm9p ZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3QworICAgb3V0LT5mbG9hdF9zYXZl LmZpciA9IHVjLT51Y19tY29udGV4dC5mcGNfZWlyOyAgLy8gVW51c2VkLgorICNlbmRpZgorIH0K KysKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrCisrI2lmbmRlZiBfX0dMSUJDX18K KysjaW5jbHVkZSA8YXNtL2VsZi5oPgorKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisrI2VuZGlm CisrCisrdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNv bnRleHRfdCogdWMpIHsKKysgICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncF9yZWdzW01EX0NP TlRFWFRfUFBDNjRfUkVHX1NQXTsKKyt9CisrCisrdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpH ZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKKysgICAgcmV0dXJu IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX05JUF07CisrfQorKworK3ZvaWQgVUNvbnRleHRS ZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRf dCogdWMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnJyZWdz ZXRfdCogdnJlZ3MpIHsKKysgICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9QUEM2 NF9GVUxMOworKworKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0NPTlRFWFRfUFBDNjRfR1BS X0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmdwcltpXSA9IHVjLT51Y19tY29udGV4dC5ncF9y ZWdzW2ldOworKworKyAgICBvdXQtPmxyID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTE5L XTsKKysgICAgb3V0LT5zcnIwID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKKysg ICAgb3V0LT5zcnIxID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTVNSXTsKKysgICAgb3V0 LT5jciA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0NDUl07CisrICAgIG91dC0+eGVyID0g dWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfWEVSXTsKKysgICAgb3V0LT5jdHIgPSB1Yy0+dWNf bWNvbnRleHQuZ3BfcmVnc1tQVF9DVFJdOworKworKyNpZmRlZiBfX0dMSUJDX18KKysgICAgZm9y IChpbnQgaSA9IDA7IGkgPCBNRF9GTE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykK KysgICAgICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHJlZ3NbaV0gPSB1Yy0+dWNfbWNvbnRleHQuZnBf cmVnc1tpXTsKKysKKysgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gdWMtPnVjX21jb250ZXh0 LmZwX3JlZ3NbTkZQUkVHLTFdOworKyNlbHNlCisrICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURf RkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmZsb2F0 X3NhdmUuZnByZWdzW2ldID0gKCh1aW50NjRfdCAqKSZ1Yy0+dWNfbWNvbnRleHQuZnBfcmVncylb aV07CisrCisrICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHNjciA9ICgodWludDY0X3QgKikmdWMtPnVj X21jb250ZXh0LmZwX3JlZ3MpW0VMRl9ORlBSRUctMV07CisrI2VuZGlmCisrCisrICAgIGZvciAo aW50IGkgPSAwOyBpIDwgTURfVkVDVE9SU0FWRUFSRUFfUFBDX1ZSX0NPVU5UOyBpKyspCisrICAg ICAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0gPQorKyAgICAgICAgICAgIHsoKCh1aW50 NjRfdCl2cmVncy0+dnJyZWdzW2ldWzBdKSA8PCAzMikKKysgICAgICAgICAgICAgICAgICAgICAg ICAgfCB2cmVncy0+dnJyZWdzW2ldWzFdLAorKyAgICAgICAgICAgICAoKCh1aW50NjRfdCl2cmVn cy0+dnJyZWdzW2ldWzJdKSA8PCAzMikKKysgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVn cy0+dnJyZWdzW2ldWzNdfTsKKysKKysgICAgb3V0LT52cnNhdmUgPSB2cmVncy0+dnJzYXZlOwor KyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnNjciA9IHswLCB2cmVncy0+dnNjci52c2NyX3dv cmR9OworKyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJ2YWxpZCA9IDB4RkZGRkZGRkY7Cisr fQorKworICNlbmRpZgorIAorIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAorKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCitAQCAtNTks NiArNTksOSBAQCBzdHJ1Y3QgVUNvbnRleHRSZWFkZXIgeworICNlbGlmIGRlZmluZWQoX19hYXJj aDY0X18pCisgICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVKiBvdXQs IGNvbnN0IHVjb250ZXh0X3QqIHVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3Qgc3RydWN0IGZwc2ltZF9jb250ZXh0KiBmcHJlZ3MpOworKyNlbGlmIGRlZmluZWQoX19wb3dl cnBjNjRfXykKKysgIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91 dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCB2cnJlZ3NldF90KiB2cmVncyk7CisgI2Vsc2UKKyAgIHN0YXRpYyB2b2lkIEZpbGxDUFVD b250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMpOworICNlbmRp ZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYworQEAgLTEwNSw2ICsxMDUs MTMgQEAKKyAjZGVmaW5lIFBSX1NFVF9QVFJBQ0VSIDB4NTk2MTZkNjEKKyAjZW5kaWYKKyAKKysv KiBtdXNsIGhhY2ssIGNhbid0IGluY2x1ZGUgYXNtL3B0cmFjZS5oIGFzIHRoYXQgY2F1c2VzIGNv bmZsaWN0cyAqLworKyNpZm5kZWYgX19HTElCQ19fCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRf XykgJiYgIWRlZmluZWQoUFRfTklQKQorKyNkZWZpbmUgUFRfTklQIDMyCisrI2VuZGlmCisrI2Vu ZGlmCisrCisgbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZCB7CisgCisgbmFtZXNwYWNlIHsKK0BA IC00NjEsOSArNDY4LDE2IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6SGFuZGxlU2lnbmFsKGlu dAorICAgICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3RhdGUsIGZwX3B0ciwKKyAg ICAgICAgICAgIHNpemVvZihnX2NyYXNoX2NvbnRleHRfLmZsb2F0X3N0YXRlKSk7CisgICB9Cisr I2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gT24gUFBDNjQsIHdlIG11c3QgY29w eSBWUiBzdGF0ZQorKyAgdWNvbnRleHRfdCogdWNfcHRyID0gKHVjb250ZXh0X3QqKXVjOworKyAg aWYgKHVjX3B0ci0+dWNfbWNvbnRleHQudl9yZWdzKSB7CisrICAgIG1lbWNweSgmZ19jcmFzaF9j b250ZXh0Xy52ZWN0b3Jfc3RhdGUsIHVjX3B0ci0+dWNfbWNvbnRleHQudl9yZWdzLAorKyAgICAg ICAgICAgc2l6ZW9mKGdfY3Jhc2hfY29udGV4dF8udmVjdG9yX3N0YXRlKSk7CisrICB9CisgI2Vs aWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAgIC8vIEZQ IHN0YXRlIGlzIG5vdCBwYXJ0IG9mIHVzZXIgQUJJIG9uIEFSTSBMaW51eC4KKy0gIC8vIEluIGNh c2Ugb2YgTUlQUyBMaW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdAor KyAgLy8gSW4gY2FzZSBvZiBNSVBTLCBMaW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2Yg dWNvbnRleHRfdAorICAgLy8gYW5kICdmbG9hdF9zdGF0ZScgaXMgbm90IGEgbWVtYmVyIG9mIENy YXNoQ29udGV4dC4KKyAgIHVjb250ZXh0X3QqIHVjX3B0ciA9ICh1Y29udGV4dF90Kil1YzsKKyAg IGlmICh1Y19wdHItPnVjX21jb250ZXh0LmZwcmVncykgeworQEAgLTcwOCwxMSArNzIyLDE5IEBA IGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsKKyAgIH0KKyAjZW5kaWYK KyAKKy0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykg JiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRl ZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fbWlwc19fKSBcCisrICAgICYmICFkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisgICAvLyBGUFUgc3RhdGUgaXMgbm90IHBhcnQgb2YgQVJNIEVB QkkgdWNvbnRleHRfdC4KKyAgIG1lbWNweSgmY29udGV4dC5mbG9hdF9zdGF0ZSwgY29udGV4dC5j b250ZXh0LnVjX21jb250ZXh0LmZwcmVncywKKyAgICAgICAgICBzaXplb2YoY29udGV4dC5mbG9h dF9zdGF0ZSkpOworICNlbmRpZgorKworKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAv LyBWZWN0b3IgcmVnaXN0ZXJzIG11c3QgYmUgY29waWVkIG9uIFBQQzY0CisrICBtZW1jcHkoJmNv bnRleHQudmVjdG9yX3N0YXRlLCBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQudl9yZWdzLAor KyAgICAgICAgIHNpemVvZihjb250ZXh0LnZlY3Rvcl9zdGF0ZSkpOworKyNlbmRpZgorKworICAg Y29udGV4dC50aWQgPSBzeXNfZ2V0dGlkKCk7CisgCisgICAvLyBBZGQgYW4gZXhjZXB0aW9uIHN0 cmVhbSB0byB0aGUgbWluaWR1bXAgZm9yIGJldHRlciByZXBvcnRpbmcuCitAQCAtNzMzLDYgKzc1 NSw5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsKKyAjZWxpZiBk ZWZpbmVkKF9fbWlwc19fKQorICAgY29udGV4dC5zaWdpbmZvLnNpX2FkZHIgPQorICAgICAgIHJl aW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5wYyk7Cisr I2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgY29udGV4dC5zaWdpbmZvLnNpX2FkZHIg PQorKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnRleHQuY29udGV4dC51Y19tY29u dGV4dC5ncF9yZWdzW1BUX05JUF0pOworICNlbHNlCisgI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5v dCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCisgI2VuZGlmCistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hh bmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAorQEAgLTE5Miw3ICsxOTIsMTEgQEAgY2xhc3MgRXhj ZXB0aW9uSGFuZGxlciB7CisgICAgIHNpZ2luZm9fdCBzaWdpbmZvOworICAgICBwaWRfdCB0aWQ7 ICAvLyB0aGUgY3Jhc2hpbmcgdGhyZWFkLgorICAgICB1Y29udGV4dF90IGNvbnRleHQ7CistI2lm ICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKKysgICAgLy8gUFBDNjQncyBGUCBzdGF0ZSBpcyBhIHBhcnQgb2Yg dWNvbnRleHRfdCBsaWtlIE1JUFMgYnV0IHRoZSB2ZWN0b3IKKysgICAgLy8gc3RhdGUgaXMgbm90 LCBzbyBhIHN0cnVjdCBpcyBuZWVkZWQuCisrICAgIHZzdGF0ZV90IHZlY3Rvcl9zdGF0ZTsKKysj ZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorICAgICAv LyAjaWZkZWYgdGhpcyBvdXQgYmVjYXVzZSBGUCBzdGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFC SSBmb3IgTGludXggQVJNLgorICAgICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUg aXMgYWxyZWFkeSBwYXJ0IG9mIHVjb250ZXh0X3Qgc28KKyAgICAgLy8gJ2Zsb2F0X3N0YXRlJyBp cyBub3QgcmVxdWlyZWQuCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5k bGVyX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5k bGVyX3VuaXR0ZXN0LmNjCitAQCAtMzA3LDcgKzMwNyw3IEBAIFRFU1QoRXhjZXB0aW9uSGFuZGxl clRlc3QsIFBhcmFsbGVsQ2hpbGQKKyAgIH0KKyAKKyAgIC8vIFdhaXQgYSB3aGlsZSB1bnRpbCB0 aGUgY2hpbGQgc2hvdWxkIGhhdmUgY3Jhc2hlZC4KKy0gIHVzbGVlcCgxMDAwMDAwKTsKKysgIHVz bGVlcCgyMDAwMDAwKTsKKyAgIC8vIEtpbGwgdGhlIGNoaWxkIGlmIGl0IGlzIHN0aWxsIHJ1bm5p bmcuCisgICBraWxsKGNoaWxkLCBTSUdLSUxMKTsKKyAKK0BAIC01NTksNiArNTU5LDggQEAgY29u c3QgdW5zaWduZWQgY2hhciBrSWxsZWdhbEluc3RydWN0aW9uWworICNpZiBkZWZpbmVkKF9fbWlw c19fKQorICAgLy8gbWZjMiB6ZXJvLEltcGwgLSB1c3VhbGx5IGlsbGVnYWwgaW4gdXNlcnNwYWNl LgorICAgMHg0OCwgMHgwMCwgMHgwMCwgMHg0OAorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKysgIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEgLy8gQ3Jhc2hlcyBvbiBhIHRlc3RlZCBQT1dF UjkgY3B1CisgI2Vsc2UKKyAgIC8vIFRoaXMgY3Jhc2hlcyB3aXRoIFNJR0lMTCBvbiB4ODYveDg2 LTY0L2FybS4KKyAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK0BAIC03NTQsMTAgKzc1NiwxMCBA QCBURVNUKEV4Y2VwdGlvbkhhbmRsZXJUZXN0LCBJbnN0cnVjdGlvblBvCisgCisgICAvLyBUaGVz ZSBhcmUgZGVmaW5lZCBoZXJlIHNvIHRoZSBwYXJlbnQgY2FuIHVzZSB0aGVtIHRvIGNoZWNrIHRo ZQorICAgLy8gZGF0YSBmcm9tIHRoZSBtaW5pZHVtcCBhZnRlcndhcmRzLgorLSAgLy8gVXNlIDRr IGhlcmUgYmVjYXVzZSB0aGUgT1Mgd2lsbCBoYW5kIG91dCBhIHNpbmdsZSBwYWdlIGV2ZW4KKysg IC8vIFVzZSB0aGUgcGFnZSBzaXplIGhlcmUgYmVjYXVzZSB0aGUgT1Mgd2lsbCBoYW5kIG91dCBh IHNpbmdsZSBwYWdlIGV2ZW4KKyAgIC8vIGlmIGEgc21hbGxlciBzaXplIGlzIHJlcXVlc3RlZCwg YW5kIHRoaXMgdGVzdCB3YW50cyB0bworICAgLy8gdGVzdCB0aGUgdXBwZXIgYm91bmQgb2YgdGhl IG1lbW9yeSByYW5nZS4KKy0gIGNvbnN0IHVpbnQzMl90IGtNZW1vcnlTaXplID0gNDA5NjsgIC8v IGJ5dGVzCisrICBjb25zdCB1aW50MzJfdCBrTWVtb3J5U2l6ZSA9IGdldHBhZ2VzaXplKCk7ICAv LyBieXRlcworICAgY29uc3QgaW50IGtPZmZzZXQgPSBrTWVtb3J5U2l6ZSAtIHNpemVvZihrSWxs ZWdhbEluc3RydWN0aW9uKTsKKyAKKyAgIGNvbnN0IHBpZF90IGNoaWxkID0gZm9yaygpOworLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MKK0BAIC0x MzgsNyArMTM4LDkgQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKKyAgICAgICAgICAgICAgICAg ICBjb25zdCBNaWNyb2R1bXBFeHRyYUluZm8mIG1pY3JvZHVtcF9leHRyYV9pbmZvLAorICAgICAg ICAgICAgICAgICAgIExpbnV4RHVtcGVyKiBkdW1wZXIpCisgICAgICAgOiB1Y29udGV4dF8oY29u dGV4dCA/ICZjb250ZXh0LT5jb250ZXh0IDogTlVMTCksCistI2lmICFkZWZpbmVkKF9fQVJNX0VB QklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykK KysgICAgICAgIHZlY3Rvcl9zdGF0ZV8oY29udGV4dCA/ICZjb250ZXh0LT52ZWN0b3Jfc3RhdGUg OiBOVUxMKSwKKysjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlw c19fKQorICAgICAgICAgZmxvYXRfc3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+ZmxvYXRfc3Rh dGUgOiBOVUxMKSwKKyAjZW5kaWYKKyAgICAgICAgIGR1bXBlcl8oZHVtcGVyKSwKK0BAIC0zMzcs NiArMzM5LDggQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKKyAjIGVsc2UKKyAjICBlcnJvciAi VGhpcyBtaXBzIEFCSSBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCAobjMyKSIKKyAjZW5kaWYK KysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgIGNvbnN0IGNoYXIga0FyY2hbXSA9 ICJwcGM2NCI7CisgI2Vsc2UKKyAjZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVk IHRvIHlvdXIgcGxhdGZvcm0geWV0IgorICNlbmRpZgorQEAgLTQwOSw3ICs0MTMsOSBAQCBjbGFz cyBNaWNyb2R1bXBXcml0ZXIgeworICAgdm9pZCBEdW1wQ1BVU3RhdGUoKSB7CisgICAgIFJhd0Nv bnRleHRDUFUgY3B1OworICAgICBteV9tZW1zZXQoJmNwdSwgMCwgc2l6ZW9mKFJhd0NvbnRleHRD UFUpKTsKKy0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykK KysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgICBVQ29udGV4dFJlYWRlcjo6RmlsbENQ VUNvbnRleHQoJmNwdSwgdWNvbnRleHRfLCB2ZWN0b3Jfc3RhdGVfKTsKKysjZWxpZiAhZGVmaW5l ZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorICAgICBVQ29udGV4dFJlYWRl cjo6RmlsbENQVUNvbnRleHQoJmNwdSwgdWNvbnRleHRfLCBmbG9hdF9zdGF0ZV8pOworICNlbHNl CisgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dCgmY3B1LCB1Y29udGV4dF8pOwor QEAgLTYwNSw3ICs2MTEsOSBAQCBjbGFzcyBNaWNyb2R1bXBXcml0ZXIgeworICAgdm9pZCogQWxs b2ModW5zaWduZWQgYnl0ZXMpIHsgcmV0dXJuIGR1bXBlcl8tPmFsbG9jYXRvcigpLT5BbGxvYyhi eXRlcyk7IH0KKyAKKyAgIGNvbnN0IHVjb250ZXh0X3QqIGNvbnN0IHVjb250ZXh0XzsKKy0jaWYg IWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQorKyAgY29uc3QgZ29vZ2xlX2JyZWFrcGFkOjp2c3RhdGVfdCogY29u c3QgdmVjdG9yX3N0YXRlXzsKKysjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZp bmVkKF9fbWlwc19fKQorICAgY29uc3QgZ29vZ2xlX2JyZWFrcGFkOjpmcHN0YXRlX3QqIGNvbnN0 IGZsb2F0X3N0YXRlXzsKKyAjZW5kaWYKKyAgIExpbnV4RHVtcGVyKiBkdW1wZXJfOworLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNj CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXJfdW5p dHRlc3QuY2MKK0BAIC0yNzksMTAgKzI3OSwxOSBAQCBURVNUKE1pY3JvZHVtcFdyaXRlclRlc3Qs IEJhc2ljV2l0aE1hcHBpCisgICBDcmFzaEFuZEdldE1pY3JvZHVtcChtYXBwaW5ncywgTWljcm9k dW1wRXh0cmFJbmZvKCksICZidWYpOworICAgQVNTRVJUX1RSVUUoQ29udGFpbnNNaWNyb2R1bXAo YnVmKSk7CisgCisrICBpbnQgcGFnZV9zaXplID0gZ2V0cGFnZXNpemUoKTsKKyAjaWZkZWYgX19M UDY0X18KKy0gIEFTU0VSVF9ORShzdGQ6OnN0cmluZzo6bnBvcywKKy0gICAgICAgICAgICBidWYu ZmluZCgiTSAwMDAwMDAwMDAwMDAxMDAwIDAwMDAwMDAwMDAwMDAwMkEgMDAwMDAwMDAwMDAwMTAw MCAiCistICAgICAgICAgICAgICAgICAgICAgIjMzMjIxMTAwNTU0NDc3NjY4ODk5QUFCQkNDRERF RUZGMCBsaWJmb28uc28iKSk7CisrICAvLyBUaGlzIHRlc3QgaXMgb25seSBhdmFpbGFibGUgZm9y IHRoZSBmb2xsb3dpbmcgcGFnZSBzaXplcworKyAgQVNTRVJUX1RSVUUoKHBhZ2Vfc2l6ZSA9PSA0 MDk2KSB8fCAocGFnZV9zaXplID09IDY1NTM2KSk7CisrICBpZiAocGFnZV9zaXplID09IDQwOTYp IHsKKysgICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLAorKyAgICAgICAgICAgICAgYnVm LmZpbmQoIk0gMDAwMDAwMDAwMDAwMTAwMCAwMDAwMDAwMDAwMDAwMDJBIDAwMDAwMDAwMDAwMDEw MDAgIgorKyAgICAgICAgICAgICAgICAgICAgICAgIjMzMjIxMTAwNTU0NDc3NjY4ODk5QUFCQkND RERFRUZGMCBsaWJmb28uc28iKSk7CisrICB9IGVsc2UgeworKyAgICBBU1NFUlRfTkUoc3RkOjpz dHJpbmc6Om5wb3MsCisrICAgICAgICAgICAgICBidWYuZmluZCgiTSAwMDAwMDAwMDAwMDEwMDAw IDAwMDAwMDAwMDAwMDAwMkEgMDAwMDAwMDAwMDAxMDAwMCAiCisrICAgICAgICAgICAgICAgICAg ICAgICAiMzMyMjExMDA1NTQ0Nzc2Njg4OTlBQUJCQ0NEREVFRkYwIGxpYmZvby5zbyIpKTsKKysg IH0KKyAjZWxzZQorICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLAorICAgICAgICAgICAg IGJ1Zi5maW5kKCJNIDAwMDAxMDAwIDAwMDAwMDJBIDAwMDAxMDAwICIKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCitAQCAtMTE3LDYgKzExNyw5 IEBAIGJvb2wgTGludXhDb3JlRHVtcGVyOjpHZXRUaHJlYWRJbmZvQnlJbmQKKyAjZWxpZiBkZWZp bmVkKF9fbWlwc19fKQorICAgc3RhY2tfcG9pbnRlciA9CisgICAgICAgcmVpbnRlcnByZXRfY2Fz dDx1aW50OF90Kj4oaW5mby0+bWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JFR19TUF0p OworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIHN0YWNrX3BvaW50ZXIgPQorKyAg ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGluZm8tPm1jb250ZXh0LmdwX3JlZ3NbTURf Q09OVEVYVF9QUEM2NF9SRUdfU1BdKTsKKyAjZWxzZQorICNlcnJvciAiVGhpcyBjb2RlIGhhc24n dCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCisgI2VuZGlmCitAQCAtMjEyLDcg KzIxNSwxMCBAQCBib29sIExpbnV4Q29yZUR1bXBlcjo6RW51bWVyYXRlVGhyZWFkcygpCisgICAg ICAgICBtZW1zZXQoJmluZm8sIDAsIHNpemVvZihUaHJlYWRJbmZvKSk7CisgICAgICAgICBpbmZv LnRnaWQgPSBzdGF0dXMtPnByX3BncnA7CisgICAgICAgICBpbmZvLnBwaWQgPSBzdGF0dXMtPnBy X3BwaWQ7CistI2lmIGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKysgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzE7IGkrKykKKysgICAgICAgICAgICBp bmZvLm1jb250ZXh0LmdwX3JlZ3NbaV0gPSBzdGF0dXMtPnByX3JlZ1tpXTsKKysjZWxpZiBkZWZp bmVkKF9fbWlwc19fKQorICNpZiBkZWZpbmVkKF9fQU5EUk9JRF9fKQorICAgICAgICAgZm9yIChp bnQgaSA9IEVGX1IwOyBpIDw9IEVGX1IzMTsgaSsrKQorICAgICAgICAgICBpbmZvLm1jb250ZXh0 LmdyZWdzW2kgLSBFRl9SMF0gPSBzdGF0dXMtPnByX3JlZ1tpXTsKKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKK0BAIC03NjUsNyArNzY1LDkgQEAgYm9vbCBMaW51 eER1bXBlcjo6R2V0U3RhY2tJbmZvKGNvbnN0IHZvaQorICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8 dWludDhfdCo+KGludF9zdGFja19wb2ludGVyICYgfihwYWdlX3NpemUgLSAxKSk7CisgCisgICAv LyBUaGUgbnVtYmVyIG9mIGJ5dGVzIG9mIHN0YWNrIHdoaWNoIHdlIHRyeSB0byBjYXB0dXJlLgor LSAgc3RhdGljIGNvbnN0IHB0cmRpZmZfdCBrU3RhY2tUb0NhcHR1cmUgPSAzMiAqIDEwMjQ7Cisr ICAvLyBUaGlzIG5vdyBkZXBlbmRzIG9uIHBhZ2Vfc2l6ZSB0byBhdm9pZCBtaXNzaW5nIGRhdGEK KysgIC8vIG9uIHN5c3RlbXMgd2l0aCBsYXJnZXIgcGFnZSBzaXplcy4KKysgIHN0YXRpYyBjb25z dCBwdHJkaWZmX3Qga1N0YWNrVG9DYXB0dXJlID0gOCAqIHBhZ2Vfc2l6ZTsKKyAKKyAgIGNvbnN0 IE1hcHBpbmdJbmZvKiBtYXBwaW5nID0gRmluZE1hcHBpbmcoc3RhY2tfcG9pbnRlcik7CisgICBp ZiAoIW1hcHBpbmcpCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVt cGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAor QEAgLTYzLDcgKzYzLDggQEAgbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZCB7CisgIChkZWZpbmVk KF9fbWlwc19fKSAmJiBfTUlQU19TSU0gPT0gX0FCSU8zMikKKyB0eXBlZGVmIEVsZjMyX2F1eHZf dCBlbGZfYXV4X2VudHJ5OworICNlbGlmIGRlZmluZWQoX194ODZfNjQpIHx8IGRlZmluZWQoX19h YXJjaDY0X18pIHx8IFwKKy0gICAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gIT0g X0FCSU8zMikKKysgICAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gIT0gX0FCSU8z MikgfHwgXAorKyAgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIHR5cGVkZWYgRWxmNjRfYXV4 dl90IGVsZl9hdXhfZW50cnk7CisgI2VuZGlmCisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0ZXN0X2hlbHBlci5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MKK0BAIC01 MSw2ICs1MSw4IEBACisgI2RlZmluZSBUSURfUFRSX1JFR0lTVEVSICJyY3giCisgI2VsaWYgZGVm aW5lZChfX21pcHNfXykKKyAjZGVmaW5lIFRJRF9QVFJfUkVHSVNURVIgIiQxIgorKyNlbGlmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKKysjZGVmaW5lIFRJRF9QVFJfUkVHSVNURVIgInI4IgorICNl bHNlCisgI2Vycm9yIFRoaXMgdGVzdCBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHRoaXMgcGxhdGZv cm0uCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRy YWNlX2R1bXBlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0 cmFjZV9kdW1wZXIuY2MKK0BAIC0xNTQsMTkgKzE1NCwyNyBAQCBib29sIExpbnV4UHRyYWNlRHVt cGVyOjpDb3B5RnJvbVByb2Nlc3MoCisgICByZXR1cm4gdHJ1ZTsKKyB9CisgCistYm9vbCBMaW51 eFB0cmFjZUR1bXBlcjo6UmVhZFJlZ2lzdGVyU2V0KFRocmVhZEluZm8qIGluZm8sIHBpZF90IHRp ZCkKKy17CisrYm9vbCBMaW51eFB0cmFjZUR1bXBlcjo6UmVhZFJlZ2lzdGVyU2V0KFRocmVhZElu Zm8qIGluZm8sIHBpZF90IHRpZCkgeworICNpZmRlZiBQVFJBQ0VfR0VUUkVHU0VUCisgICBzdHJ1 Y3QgaW92ZWMgaW87CisgICBpbmZvLT5HZXRHZW5lcmFsUHVycG9zZVJlZ2lzdGVycygmaW8uaW92 X2Jhc2UsICZpby5pb3ZfbGVuKTsKKy0gIGlmIChzeXNfcHRyYWNlKFBUUkFDRV9HRVRSRUdTRVQs IHRpZCwgKHZvaWQqKU5UX1BSU1RBVFVTLCAodm9pZCopJmlvKSA9PSAtMSkgeworKyAgaWYgKHB0 cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9QUlNUQVRVUywgKHZvaWQqKSZp bykgPT0gLTEpIHsKKyAgICAgcmV0dXJuIGZhbHNlOworICAgfQorIAorICAgaW5mby0+R2V0Rmxv YXRpbmdQb2ludFJlZ2lzdGVycygmaW8uaW92X2Jhc2UsICZpby5pb3ZfbGVuKTsKKy0gIGlmIChz eXNfcHRyYWNlKFBUUkFDRV9HRVRSRUdTRVQsIHRpZCwgKHZvaWQqKU5UX0ZQUkVHU0VULCAodm9p ZCopJmlvKSA9PSAtMSkgeworKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2 b2lkKilOVF9GUFJFR1NFVCwgKHZvaWQqKSZpbykgPT0gLTEpIHsKKyAgICAgcmV0dXJuIGZhbHNl OworICAgfQorKworKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAvLyBHcmFiIHRoZSB2 ZWN0b3IgcmVnaXN0ZXJzIG9uIFBQQzY0IHRvbworKyAgaW5mby0+R2V0VmVjdG9yUmVnaXN0ZXJz KCZpby5pb3ZfYmFzZSwgJmlvLmlvdl9sZW4pOworKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVH U0VULCB0aWQsICh2b2lkKilOVF9QUENfVk1YLCAodm9pZCopJmlvKSA9PSAtMSkgeworKyAgICBy ZXR1cm4gZmFsc2U7CisrICB9CisrI2VuZGlmIC8vIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysK KyAgIHJldHVybiB0cnVlOworICNlbHNlCisgICByZXR1cm4gZmFsc2U7CitAQCAtMzAzLDYgKzMx MSw5IEBAIGJvb2wgTGludXhQdHJhY2VEdW1wZXI6OkdldFRocmVhZEluZm9CeUkKKyAjZWxpZiBk ZWZpbmVkKF9fbWlwc19fKQorICAgc3RhY2tfcG9pbnRlciA9CisgICAgICAgcmVpbnRlcnByZXRf Y2FzdDx1aW50OF90Kj4oaW5mby0+bWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JFR19T UF0pOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIHN0YWNrX3BvaW50ZXIgPQor KyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGluZm8tPm1jb250ZXh0LmdwX3JlZ3Nb TURfQ09OVEVYVF9QUEM2NF9SRUdfU1BdKTsKKyAjZWxzZQorICNlcnJvciAiVGhpcyBjb2RlIGhh c24ndCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCisgI2VuZGlmCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5j YworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJf dW5pdHRlc3QuY2MKK0BAIC00NjIsNiArNDYyLDkgQEAgVEVTVChMaW51eFB0cmFjZUR1bXBlclRl c3QsIFZlcmlmeVN0YWNrUgorICNlbGlmIGRlZmluZWQoX19taXBzX18pCisgICAgIHBpZF90KiBw cm9jZXNzX3RpZF9sb2NhdGlvbiA9CisgICAgICAgICByZWludGVycHJldF9jYXN0PHBpZF90Kj4o b25lX3RocmVhZC5tY29udGV4dC5ncmVnc1sxXSk7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorKyAgICBwaWRfdCogcHJvY2Vzc190aWRfbG9jYXRpb24gPQorKyAgICAgICAgcmVpbnRl cnByZXRfY2FzdDxwaWRfdCo+KG9uZV90aHJlYWQubWNvbnRleHQuZ3BfcmVnc1s4XSk7CisgI2Vs c2UKKyAjZXJyb3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9y bS4KKyAjZW5kaWYKK0BAIC01NTksNiArNTYyLDggQEAgVEVTVF9GKExpbnV4UHRyYWNlRHVtcGVy VGVzdCwgU2FuaXRpemVTdAorICAgdWludHB0cl90IGhlYXBfYWRkciA9IHRocmVhZF9pbmZvLnJl Z3MucmN4OworICNlbGlmIGRlZmluZWQoX19taXBzX18pCisgICB1aW50cHRyX3QgaGVhcF9hZGRy ID0gdGhyZWFkX2luZm8ubWNvbnRleHQuZ3JlZ3NbMV07CisrI2VsaWYgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQorKyAgdWludHB0cl90IGhlYXBfYWRkciA9IHRocmVhZF9pbmZvLm1jb250ZXh0Lmdw X3JlZ3NbOF07CisgI2Vsc2UKKyAjZXJyb3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQg dG8gdGhpcyBwbGF0Zm9ybS4KKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9taW5pZHVtcF93cml0ZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9taW5pZHVtcF93cml0ZXIuY2MKK0BAIC0xMzYsNyArMTM2LDkgQEAgY2xhc3MgTWluaWR1bXBX cml0ZXIgeworICAgICAgIDogZmRfKG1pbmlkdW1wX2ZkKSwKKyAgICAgICAgIHBhdGhfKG1pbmlk dW1wX3BhdGgpLAorICAgICAgICAgdWNvbnRleHRfKGNvbnRleHQgPyAmY29udGV4dC0+Y29udGV4 dCA6IE5VTEwpLAorLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlw c19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgICAgICB2ZWN0b3Jfc3RhdGVf KGNvbnRleHQgPyAmY29udGV4dC0+dmVjdG9yX3N0YXRlIDogTlVMTCksCisrI2VsaWYgIWRlZmlu ZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAgICAgICAgIGZsb2F0X3N0 YXRlXyhjb250ZXh0ID8gJmNvbnRleHQtPmZsb2F0X3N0YXRlIDogTlVMTCksCisgI2VuZGlmCisg ICAgICAgICBkdW1wZXJfKGR1bXBlciksCitAQCAtNDY4LDcgKzQ3MCw5IEBAIGNsYXNzIE1pbmlk dW1wV3JpdGVyIHsKKyAgICAgICAgIGlmICghY3B1LkFsbG9jYXRlKCkpCisgICAgICAgICAgIHJl dHVybiBmYWxzZTsKKyAgICAgICAgIG15X21lbXNldChjcHUuZ2V0KCksIDAsIHNpemVvZihSYXdD b250ZXh0Q1BVKSk7CistI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19t aXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgICAgIFVDb250ZXh0UmVh ZGVyOjpGaWxsQ1BVQ29udGV4dChjcHUuZ2V0KCksIHVjb250ZXh0XywgdmVjdG9yX3N0YXRlXyk7 CisrI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAg ICAgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChjcHUuZ2V0KCksIHVjb250ZXh0 XywgZmxvYXRfc3RhdGVfKTsKKyAjZWxzZQorICAgICAgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxD UFVDb250ZXh0KGNwdS5nZXQoKSwgdWNvbnRleHRfKTsKK0BAIC04OTcsNyArOTAxLDcgQEAgY2xh c3MgTWluaWR1bXBXcml0ZXIgeworICAgICBkaXJlbnQtPmxvY2F0aW9uLnJ2YSA9IDA7CisgICB9 CisgCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVm aW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82 NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICBi b29sIFdyaXRlQ1BVSW5mb3JtYXRpb24oTURSYXdTeXN0ZW1JbmZvKiBzeXNfaW5mbykgeworICAg ICBjaGFyIHZlbmRvcl9pZFtzaXplb2Yoc3lzX2luZm8tPmNwdS54ODZfY3B1X2luZm8udmVuZG9y X2lkKSArIDFdID0gezB9OworICAgICBzdGF0aWMgY29uc3QgY2hhciB2ZW5kb3JfaWRfbmFtZVtd ID0gInZlbmRvcl9pZCI7CitAQCAtOTE3LDcgKzkyMSw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVy IHsKKyAKKyAgICAgLy8gcHJvY2Vzc29yX2FyY2hpdGVjdHVyZSBzaG91bGQgYWx3YXlzIGJlIHNl dCwgZG8gdGhpcyBmaXJzdAorICAgICBzeXNfaW5mby0+cHJvY2Vzc29yX2FyY2hpdGVjdHVyZSA9 CistI2lmIGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysg ICAgICAgIE1EX0NQVV9BUkNISVRFQ1RVUkVfUFBDNjQ7CisrI2VsaWYgZGVmaW5lZChfX21pcHNf XykKKyAjIGlmIF9NSVBTX1NJTSA9PSBfQUJJTzMyCisgICAgICAgICBNRF9DUFVfQVJDSElURUNU VVJFX01JUFM7CisgIyBlbGlmIF9NSVBTX1NJTSA9PSBfQUJJNjQKK0BAIC0xMzMzLDcgKzEzMzks OSBAQCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7CisgICBjb25zdCBjaGFyKiBwYXRoXzsgIC8vIFBh dGggdG8gdGhlIGZpbGUgd2hlcmUgdGhlIG1pbmlkdW0gc2hvdWxkIGJlIHdyaXR0ZW4uCisgCisg ICBjb25zdCB1Y29udGV4dF90KiBjb25zdCB1Y29udGV4dF87ICAvLyBhbHNvIGZyb20gdGhlIHNp Z25hbCBoYW5kbGVyCistI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19t aXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIGNvbnN0IGdvb2dsZV9icmVh a3BhZDo6dnN0YXRlX3QqIGNvbnN0IHZlY3Rvcl9zdGF0ZV87CisrI2VsaWYgIWRlZmluZWQoX19B Uk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAgIGNvbnN0IGdvb2dsZV9icmVha3Bh ZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9zdGF0ZV87ICAvLyBkaXR0bworICNlbmRpZgorICAg TGludXhEdW1wZXIqIGR1bXBlcl87CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIv bWluaWR1bXBfd3JpdGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5p ZHVtcF93cml0ZXIuaAorQEAgLTQ4LDYgKzQ4LDggQEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlcjsK KyAKKyAjaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKKyB0eXBlZGVmIHN0cnVjdCBmcHNpbWRfY29u dGV4dCBmcHN0YXRlX3Q7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorK3R5cGVkZWYg dnJyZWdzZXRfdCB2c3RhdGVfdDsKKyAjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFk ZWZpbmVkKF9fbWlwc19fKQorIHR5cGVkZWYgc3RkOjpyZW1vdmVfcG9pbnRlcjxmcHJlZ3NldF90 Pjo6dHlwZSBmcHN0YXRlX3Q7CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93 cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCitAQCAtNzE1LDYgKzcxNSwx MiBAQCBURVNUKE1pbmlkdW1wV3JpdGVyVGVzdCwgSW52YWxpZFN0YWNrUG9pCisgI2VsaWYgZGVm aW5lZChfX21pcHNfXykKKyAgIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5ncmVnc1tNRF9D T05URVhUX01JUFNfUkVHX1NQXSA9CisgICAgICAgaW52YWxpZF9zdGFja19wb2ludGVyOworKyNl bGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4 dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVHX1NQXSA9CisrICAgICAgaW52YWxpZF9zdGFj a19wb2ludGVyOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIGNvbnRleHQuY29u dGV4dC51Y19tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVHX1NQXSA9CisrICAg ICAgaW52YWxpZF9zdGFja19wb2ludGVyOworICNlbHNlCisgIyBlcnJvciAiVGhpcyBjb2RlIGhh cyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgorICNlbmRpZgorLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j b21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1v cnlfbWFwcGVkX2ZpbGUuY2MKK0BAIC02NSw4ICs2NSw3IEBAIGJvb2wgTWVtb3J5TWFwcGVkRmls ZTo6TWFwKGNvbnN0IGNoYXIqIHAKKyAgIH0KKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCistICAgKGRlZmluZWQoX19taXBzX18pICYmIF9N SVBTX1NJTSA9PSBfQUJJNjQpCistCisrICAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJ TSA9PSBfQUJJNjQpIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgIHN0cnVjdCBrZXJuZWxf c3RhdCBzdDsKKyAgIGlmIChzeXNfZnN0YXQoZmQsICZzdCkgPT0gLTEgfHwgc3Quc3Rfc2l6ZSA8 IDApIHsKKyAjZWxzZQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0 ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MK K0BAIC0xNzYsOSArMTc2LDEwIEBAIFRFU1RfRihNZW1vcnlNYXBwZWRGaWxlVGVzdCwgUmVtYXBB ZnRlck0KKyBURVNUX0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIE1hcFdpdGhPZmZzZXQpIHsKKyAg IC8vIFB1dCBtb3JlIGRhdGEgaW4gdGhlIHRlc3QgZmlsZSB0aGlzIHRpbWUuIE9mZnNldHMgY2Fu IG9ubHkgYmUKKyAgIC8vIGRvbmUgb24gcGFnZSBib3VuZGFyaWVzLCBzbyB3ZSBuZWVkIGEgdHdv IHBhZ2UgZmlsZSB0byB0ZXN0IHRoaXMuCistICBjb25zdCBpbnQgcGFnZV9zaXplID0gNDA5NjsK Ky0gIGNoYXIgZGF0YTFbMiAqIHBhZ2Vfc2l6ZV07CistICBzaXplX3QgZGF0YTFfc2l6ZSA9IHNp emVvZihkYXRhMSk7CisrICBjb25zdCBpbnQgcGFnZV9zaXplID0gZ2V0cGFnZXNpemUoKTsKKysg IGNoYXIgKmRhdGExID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1hbGxvYygyICogcGFnZV9zaXplKSk7 CisrICBFWFBFQ1RfVFJVRShkYXRhMSAhPSBOVUxMKTsKKysgIHNpemVfdCBkYXRhMV9zaXplID0g KDIgKiBwYWdlX3NpemUpOworICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRhMV9zaXplOyAr K2kpIHsKKyAgICAgZGF0YTFbaV0gPSBpICYgMHg3ZjsKKyAgIH0KKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL21lbW9y eV9hbGxvY2F0b3JfdW5pdHRlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxvY2F0b3JfdW5p dHRlc3QuY2MKK0BAIC01Nyw4ICs1Nyw5IEBAIFRFU1QoUGFnZUFsbG9jYXRvclRlc3QsIExhcmdl T2JqZWN0KSB7CisgCisgICBFWFBFQ1RfRVEoMFUsIGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQo KSk7CisgICB1aW50OF90KiBwID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYWxsb2NhdG9y LkFsbG9jKDEwMDAwKSk7CisrICB1aW50NjRfdCBleHBlY3RlZF9wYWdlcyA9IDEgKyAoKDEwMDAw IC0gMSkgLyBnZXRwYWdlc2l6ZSgpKTsKKyAgIEFTU0VSVF9GQUxTRShwID09IE5VTEwpOworLSAg RVhQRUNUX0VRKDNVLCBhbGxvY2F0b3IucGFnZXNfYWxsb2NhdGVkKCkpOworKyAgRVhQRUNUX0VR KGV4cGVjdGVkX3BhZ2VzLCBhbGxvY2F0b3IucGFnZXNfYWxsb2NhdGVkKCkpOworICAgZm9yICh1 bnNpZ25lZCBpID0gMTsgaSA8IDEwOyArK2kpIHsKKyAgICAgdWludDhfdCogcCA9IHJlaW50ZXJw cmV0X2Nhc3Q8dWludDhfdCo+KGFsbG9jYXRvci5BbGxvYyhpKSk7CisgICAgIEFTU0VSVF9GQUxT RShwID09IE5VTEwpOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfbGludXguY2MKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNjCitAQCAtMjAyLDEyICsyMDIsMTQg QEAgYm9vbCBFeHBsb2l0YWJpbGl0eUxpbnV4OjpFbmRlZE9uSWxsZWdhbAorICAgLy8gQ2hlY2sg YXJjaGl0ZWN0dXJlIGFuZCBzZXQgYXJjaGl0ZWN0dXJlIHZhcmlhYmxlIHRvIGNvcnJlc3BvbmRp bmcgZmxhZworICAgLy8gaW4gb2JqZHVtcC4KKyAgIHN3aXRjaCAoY29udGV4dC0+R2V0Q29udGV4 dENQVSgpKSB7CisrI2lmIGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0KQorICAg ICBjYXNlIE1EX0NPTlRFWFRfWDg2OgorICAgICAgIGFyY2hpdGVjdHVyZSA9ICJpMzg2IjsKKyAg ICAgICBicmVhazsKKyAgICAgY2FzZSBNRF9DT05URVhUX0FNRDY0OgorICAgICAgIGFyY2hpdGVj dHVyZSA9ICJpMzg2Ong4Ni02NCI7CisgICAgICAgYnJlYWs7CisrI2VuZGlmCisgICAgIGRlZmF1 bHQ6CisgICAgICAgLy8gVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlLiBOb3RlIHRoYXQgQVJNIGFy Y2hpdGVjdHVyZXMgYXJlIG5vdAorICAgICAgIC8vIHN1cHBvcnRlZCBiZWNhdXNlIG9iamR1bXAg ZG9lcyBub3Qgc3VwcG9ydCBBUk0uCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0 dGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfdW5pdHRlc3QuY2MKK0BAIC0x MDQsNiArMTA0LDggQEAgRXhwbG9pdGFiaWxpdHlGb3IoY29uc3Qgc3RyaW5nJiBmaWxlbmFtZQor IH0KKyAKKyBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdFdpbmRvd3NFbmdpbmUpIHsKKysv LyBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBvbmx5IGV4ZWN1dGFibGUgb24gYW4geDg2LWNsYXNz IGxpbnV4IG1hY2hpbmUuCisrI2lmICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2 KSB8fCBkZWZpbmVkKF9feDg2XzY0KSkKKyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVY UExPSVRBQklMSVRZX0hJR0gsCisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImFzY2lp X3JlYWRfYXYuZG1wIikpOworICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFC SUxJVFlfSElHSCwKK0BAIC0xMzYsOSArMTM4LDEyIEBAIFRFU1QoRXhwbG9pdGFiaWxpdHlUZXN0 LCBUZXN0V2luZG93c0VuZ2kKKyAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigicmVhZF9h dl9jbG9iYmVyX3dyaXRlLmRtcCIpKTsKKyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVY UExPSVRBQklMSVRZX0xPVywKKyAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigicmVhZF9h dl9jb25kaXRpb25hbC5kbXAiKSk7CisrI2VuZGlmCisgfQorIAorIFRFU1QoRXhwbG9pdGFiaWxp dHlUZXN0LCBUZXN0TGludXhFbmdpbmUpIHsKKysvLyBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBv bmx5IGV4ZWN1dGFibGUgb24gYW4geDg2LWNsYXNzIGxpbnV4IG1hY2hpbmUuCisrI2lmIGRlZmlu ZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0KQorICAgQVNTRVJUX0VRKGdvb2dsZV9icmVh a3BhZDo6RVhQTE9JVEFCSUxJVFlfSU5URVJFU1RJTkcsCisgICAgICAgICAgICAgRXhwbG9pdGFi aWxpdHlGb3IoImxpbnV4X251bGxfcmVhZF9hdi5kbXAiKSk7CisgICBBU1NFUlRfRVEoZ29vZ2xl X2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAorQEAgLTE3MSw3ICsxNzYsOCBAQCBURVNU KEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExpbnV4RW5naW5lCisgICAgICAgICAgICAgRXhwbG9p dGFiaWxpdHlGb3IoImxpbnV4X2V4ZWN1dGFibGVfaGVhcC5kbXAiKSk7CisgICBBU1NFUlRfRVEo Z29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAorICAgICAgICAgICAgIEV4cGxv aXRhYmlsaXR5Rm9yKCJsaW51eF9qbXBfdG9fbW9kdWxlX25vdF9leGVfcmVnaW9uLmRtcCIpKTsK Ky0jaWZuZGVmIF9XSU4zMgorKyNlbmRpZgorKyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZp bmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkpCisgICBBU1NFUlRfRVEoZ29vZ2xlX2Jy ZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5 Rm9yKCJsaW51eF93cml0ZV90b19ub253cml0YWJsZV9tb2R1bGUuZG1wIikpOworICAgQVNTRVJU X0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSElHSCwKK0BAIC0xODIsMTAgKzE4 OCwxMCBAQCBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExpbnV4RW5naW5lCisgICAgICAg ICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X3dyaXRlX3RvX291dHNpZGVfbW9kdWxlX3Zp YV9tYXRoLmRtcCIpKTsKKyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklM SVRZX0lOVEVSRVNUSU5HLAorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93 cml0ZV90b191bmRlcl80ay5kbXAiKSk7CistI2VuZGlmICAvLyBfV0lOMzIKKysjZW5kaWYgIC8v ICFkZWZpbmVkKF9XSU4zMikgJiYgKCFkZWZpbmVkKF9faTM4NikgJiYgIWRlZmluZWQoX194ODZf NjQpKQorIH0KKyAKKy0jaWZuZGVmIF9XSU4zMgorKyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChk ZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkpCisgVEVTVChFeHBsb2l0YWJpbGl0 eUxpbnV4VXRpbHNUZXN0LCBEaXNhc3NlbWJsZUJ5dGVzVGVzdCkgeworICAgQVNTRVJUX0ZBTFNF KEV4cGxvaXRhYmlsaXR5TGludXhUZXN0OjpEaXNhc3NlbWJsZUJ5dGVzKCIiLCBOVUxMLCA1LCBO VUxMKSk7CisgICB1aW50OF90IGJ5dGVzWzZdID0gezB4YzcsIDB4MCwgMHg1LCAweDAsIDB4MCwg MHgwfTsKK0BAIC0zMDEsNiArMzA3LDcgQEAgVEVTVChFeHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNU ZXN0LCBDYWxjdQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJndyaXRlX2FkZHJlc3MpKTsKKyB9CistI2VuZGlmICAv LyBfV0lOMzIKKysjZW5kaWYgIC8vICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2 KSB8fCBkZWZpbmVkKF9feDg2XzY0KSkKKysKKyAKKyB9ICAvLyBuYW1lc3BhY2UKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvdG9v bHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvdG9vbHMvbGludXgvbWQy Y29yZS9taW5pZHVtcC0yLWNvcmUuY2MKK0BAIC03Nyw2ICs3Nyw4IEBACisgICAjZGVmaW5lIEVM Rl9BUkNIICBFTV9NSVBTCisgI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKKyAgICNkZWZpbmUg RUxGX0FSQ0ggIEVNX0FBUkNINjQKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAj ZGVmaW5lIEVMRl9BUkNIICBFTV9QUEM2NAorICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9fYXJt X18pCitAQCAtODcsNiArODksOCBAQCB0eXBlZGVmIHVzZXJfcmVncyB1c2VyX3JlZ3Nfc3RydWN0 OworICNlbGlmIGRlZmluZWQgKF9fbWlwc19fKQorIC8vIFRoaXMgZmlsZS1sb2NhbCB0eXBlZGVm IHNpbXBsaWZpZXMgdGhlIHNvdXJjZSBjb2RlLgorIHR5cGVkZWYgZ3JlZ3NldF90IHVzZXJfcmVn c19zdHJ1Y3Q7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorK3R5cGVkZWYgc3RydWN0 IHB0X3JlZ3MgdXNlcl9yZWdzX3N0cnVjdDsKKyAjZW5kaWYKKyAKKyB1c2luZyBnb29nbGVfYnJl YWtwYWQ6Ok1EVHlwZUhlbHBlcjsKK0BAIC0zMjIsNiArMzI2LDEyIEBAIHN0cnVjdCBDcmFzaGVk UHJvY2VzcyB7CisgI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCisgICAgIHVzZXJfZnBzaW1kX3N0 cnVjdCBmcHJlZ3M7CisgI2VuZGlmCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAg bWNvbnRleHRfdCBtY29udGV4dDsKKysjZW5kaWYKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQorKyAgICBtY29udGV4dF90IG1jb250ZXh0OworKyNlbmRpZgorICAgICB1aW50cHRyX3Qgc3Rh Y2tfYWRkcjsKKyAgICAgY29uc3QgdWludDhfdCogc3RhY2s7CisgICAgIHNpemVfdCBzdGFja19s ZW5ndGg7CitAQCAtNTM1LDYgKzU0NSwzOCBAQCBQYXJzZVRocmVhZFJlZ2lzdGVycyhDcmFzaGVk UHJvY2Vzczo6VGhyCisgICB0aHJlYWQtPm1jb250ZXh0LmZwY19laXIgPSByYXdyZWdzLT5mbG9h dF9zYXZlLmZpcjsKKyAjZW5kaWYKKyB9CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor K3N0YXRpYyB2b2lkCisrUGFyc2VUaHJlYWRSZWdpc3RlcnMoQ3Jhc2hlZFByb2Nlc3M6OlRocmVh ZCogdGhyZWFkLAorKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE1pbmlkdW1wTWVtb3J5UmFu Z2UmIHJhbmdlKSB7CisrICBjb25zdCBNRFJhd0NvbnRleHRQUEM2NCogcmF3cmVncyA9IHJhbmdl LkdldERhdGE8TURSYXdDb250ZXh0UFBDNjQ+KDApOworKworKyAgZm9yIChpbnQgaSA9IDA7IGkg PCBNRF9DT05URVhUX1BQQzY0X0dQUl9DT1VOVDsgaSsrKQorKyAgICB0aHJlYWQtPm1jb250ZXh0 LmdwX3JlZ3NbaV0gPSByYXdyZWdzLT5ncHJbaV07CisrCisrICB0aHJlYWQtPm1jb250ZXh0Lmdw X3JlZ3NbUFRfTE5LXSA9IHJhd3JlZ3MtPmxyOworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdz W1BUX05JUF0gPSByYXdyZWdzLT5zcnIwOworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BU X01TUl0gPSByYXdyZWdzLT5zcnIxOworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX0ND Ul0gPSByYXdyZWdzLT5jcjsKKysgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9YRVJdID0g cmF3cmVncy0+eGVyOworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX0NUUl0gPSByYXdy ZWdzLT5jdHI7CisrICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+dnJzYXZlID0gcmF3cmVncy0+ dnJzYXZlOworKworKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9GTE9BVElOR1NBVkVBUkVBX1BQ Q19GUFJfQ09VTlQ7IGkrKykKKysgICAgICB0aHJlYWQtPm1jb250ZXh0LmZwX3JlZ3NbaV0gPSBy YXdyZWdzLT5mbG9hdF9zYXZlLmZwcmVnc1tpXTsKKysKKysgIHRocmVhZC0+bWNvbnRleHQuZnBf cmVnc1tORlBSRUctMV0gPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZwc2NyOworKworKyAgZm9yIChp bnQgaSA9IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7IGkrKykgeworKyAg ICAgIHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52cnJlZ3NbaV1bMF0gPSByYXdyZWdzLT52ZWN0 b3Jfc2F2ZS5zYXZlX3ZyW2ldLmhpZ2ggPj4gMzI7CisrICAgICAgdGhyZWFkLT5tY29udGV4dC52 X3JlZ3MtPnZycmVnc1tpXVsxXSA9IHJhd3JlZ3MtPnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0uaGln aDsKKysgICAgICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+dnJyZWdzW2ldWzJdID0gcmF3cmVn cy0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXS5sb3cgPj4gMzI7CisrICAgICAgdGhyZWFkLT5tY29u dGV4dC52X3JlZ3MtPnZycmVnc1tpXVszXSA9IHJhd3JlZ3MtPnZlY3Rvcl9zYXZlLnNhdmVfdnJb aV0ubG93OworKyAgfQorKworKyAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZzY3IudnNjcl93 b3JkID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92c2NyLmxvdyAmIDB4RkZGRkZGRkY7Cisr fQorKworICNlbHNlCisgI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5 b3VyIHBsYXRmb3JtIHlldCIKKyAjZW5kaWYKK0BAIC02MjMsNiArNjY1LDEyIEBAIFBhcnNlU3lz dGVtSW5mbyhjb25zdCBPcHRpb25zJiBvcHRpb25zLAorICMgZWxzZQorICMgIGVycm9yICJUaGlz IG1pcHMgQUJJIGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIChuMzIpIgorICMgZW5kaWYKKysj ZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBpZiAoc3lzaW5mby0+cHJvY2Vzc29yX2Fy Y2hpdGVjdHVyZSAhPSBNRF9DUFVfQVJDSElURUNUVVJFX1BQQzY0KSB7CisrICAgIGZwcmludGYo c3RkZXJyLAorKyAgICAgICAgICAgICJUaGlzIHZlcnNpb24gb2YgbWluaWR1bXAtMi1jb3JlIG9u bHkgc3VwcG9ydHMgUFBDNjQuXG4iKTsKKysgICAgZXhpdCgxKTsKKysgIH0KKyAjZWxzZQorICNl cnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQi CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JTCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JTCitAQCAtMTMsMyArMTMsNCBA QCBNYXJrIE1lbnRvdmFpIDxtYXJrQGNocm9taXVtLm9yZz4KKyBSb2JlcnQgU2VzZWsgPHJzZXNl a0BjaHJvbWl1bS5vcmc+CisgU2NvdHQgR3JhaGFtIDxzY290dG1nQGNocm9taXVtLm9yZz4KKyBK b3NodWEgUGVyYXphIDxqcGVyYXphQGNocm9taXVtLm9yZz4KKytTaGF3biBBbmFzdGFzaW8gPHNo YXduQGFuYXN0YXMuaW8+CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmgKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgv c3lzL3VzZXIuaAorQEAgLTE1LDYgKzE1LDcgQEAKKyAjaWZuZGVmIENSQVNIUEFEX0NPTVBBVF9M SU5VWF9TWVNfVVNFUl9IXworICNkZWZpbmUgQ1JBU0hQQURfQ09NUEFUX0xJTlVYX1NZU19VU0VS X0hfCisgCisrI2luY2x1ZGUgPGNzdGRkZWY+CisgI2luY2x1ZGVfbmV4dCA8c3lzL3VzZXIuaD4K KyAKKyAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgKK0BAIC01OTIsNiArNTkyLDcwIEBAIHN0cnVj dCBNaW5pZHVtcENvbnRleHRNSVBTNjQgeworICAgdWludDY0X3QgZmlyOworIH07CisgCisrLy8h IFxicmllZiBwcGM2NC1zcGVjaWZpYyBmbGFncyBmb3IgTWluaWR1bXBQUEM2NDo6Y29udGV4dF9m bGFncworKy8vISBCYXNlZCBvbiBtaW5pZHVtcF9jcHVfcHBjNjQuaCBmcm9tIGJyZWFrcGFkCisr ZW51bSBNaW5pZHVtcENvbnRleHRQUEM2NEZsYWdzIDogdWludDMyX3QgeworKyAgLy8hIFxicmll ZiBJZGVudGlmaWVzIHRoZSBjb250ZXh0IGFzIFBQQzY0LgorKyAga01pbmlkdW1wQ29udGV4dFBQ QzY0ID0gMHgwMTAwMDAwMCwKKysKKysgIC8vISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0 eSBvZiBnZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXJzLgorKyAgLy8hCisrICAvLyEgUmVnaXN0ZXJz IGByMGAtYHIzMWAsIGBuaXBgLCBgbXNyYCwgYGxyYCwgZXRjLiBhcmUgdmFsaWQuCisrICBrTWlu aWR1bXBDb250ZXh0UFBDNjRCYXNlID0ga01pbmlkdW1wQ29udGV4dFBQQzY0IHwgMHgwMDAwMDAw MSwKKysKKysgIC8vISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBvZiBmbG9hdGluZyBw b2ludCByZWdpc3RlcnMuCisrICAvLyEKKysgIC8vISBSZWdpc3RlcnMgYGZwMGAtYGZwMzFgLCBg ZnBzY3JgIGFyZSB2YWxpZC4KKysgIGtNaW5pZHVtcENvbnRleHRQUEM2NEZsb2F0aW5nID0ga01p bmlkdW1wQ29udGV4dFBQQzY0IHwgMHgwMDAwMDAwOCwKKysKKysgIC8vISBcYnJpZWYgSW5kaWNh dGVzIHRoZSB2YWxpZGl0eSBvZiBBbHRpdmVjL1ZNWCByZWdpc3RlcnMuCisrICAvLyEKKysgIC8v ISBSZWdpc3RlcnMgYHYwYC1gdjMxYCwgYHZzY3JgLCBgdnJzYXZlYC4KKysgIGtNaW5pZHVtcENv bnRleHRQUEM2NFZlY3RvciA9IGtNaW5pZHVtcENvbnRleHRQUEM2NCB8IDB4MDAwMDAwMjAsCisr CisrICAvLyEgXGJyaWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgYWxsIHJlZ2lzdGVycwor KyAga01pbmlkdW1wQ29udGV4dFBQQzY0QWxsID0ga01pbmlkdW1wQ29udGV4dFBQQzY0QmFzZSAg ICAgfAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAga01pbmlkdW1wQ29udGV4dFBQQzY0 RmxvYXRpbmcgfAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAga01pbmlkdW1wQ29udGV4 dFBQQzY0VmVjdG9yCisrfTsKKysKKysvLyEgXGJyaWVmIEEgUFBDNjQgQ1BVIGNvbnRleHQgY2Fy cmllZCBpbiBhIG1pbmlkdW1wIGZpbGUuCisrLy8hIEJhc2VkIG9uIG1pbmlkdW1wX2NwdV9wcGM2 NC5oIGZyb20gYnJlYWtwYWQuCisrc3RydWN0IE1pbmlkdW1wQ29udGV4dFBQQzY0IHsKKysgIHVp bnQ2NF90IGNvbnRleHRfZmxhZ3M7CisrCisrICAvLyEgXGJyaWVmIEdlbmVyYWwgcHVycG9zZSBy ZWdpc3RlcnMuCisrICB1aW50NjRfdCBuaXA7CisrICB1aW50NjRfdCBtc3I7CisrICB1aW50NjRf dCByZWdzWzMyXTsKKysgIHVpbnQ2NF90IGNjcjsKKysgIHVpbnQ2NF90IHhlcjsKKysgIHVpbnQ2 NF90IGxuazsKKysgIHVpbnQ2NF90IGN0cjsKKysKKysgIC8vISBcYnJpZWYgRmxvYXRpbmcgcG9p bnQgcmVnaXN0ZXJzLgorKyAgZG91YmxlIGZwcmVnc1szMl07CisrCisrICAvLyEgXGJyaWVmIEZQ VSBzdGF0dXMgcmVnaXN0ZXIuCisrICBkb3VibGUgZnBzY3I7CisrCisrICAvLyEgXGJyaWVmIEFs dGl2ZWMvVk1YIHZlY3RvciByZWdpc3RlcnMuCisrICBzdHJ1Y3QgeworKyAgICAgIC8vISBcYnJp ZWYgVmVjdG9yIHJlZ2lzdGVycyBhcmUgMTI4Yml0cy4KKysgICAgICB1aW50MTI4X3N0cnVjdCBz YXZlX3ZyWzMyXTsKKysgICAgICB1aW50MTI4X3N0cnVjdCBzYXZlX3ZzY3I7CisrCisrICAgICAg Ly8hIFxicmllZiBQYWRkaW5nIGluY2x1ZGVkIGZvciBicmVha3BhZCBjb21wYXRpYmlsdGl5Lgor KyAgICAgIHVpbnQzMl90IHNhdmVfcGFkNVs0XTsKKysKKysgICAgICAvLyEgXGJyaWVmIFZSU0FW RSByZWdpc3Rlci4KKysgICAgICB1aW50MzJfdCBzYXZlX3Zyc2F2ZTsKKysKKysgICAgICAvLyEg XGJyaWVmIFBhZGRpbmcgaW5jbHVkZWQgZm9yIGJyZWFrcGFkIGNvbXBhdGliaWx0aXkuCisrICAg ICAgdWludDMyX3Qgc2F2ZV9wYWQ2WzddOworKyAgfSB2cmVnczsKKyt9OworKworIH0gIC8vIG5h bWVzcGFjZSBjcmFzaHBhZAorIAorICNlbmRpZiAgLy8gQ1JBU0hQQURfTUlOSURVTVBfTUlOSURV TVBfQ09OVEVYVF9IXworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWlu aWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuY2MKK0BAIC0xMDEsNiArMTAxLDEzIEBAIE1p bmlkdW1wQ29udGV4dFdyaXRlcjo6Q3JlYXRlRnJvbVNuYXBzaG8KKyAgICAgICBicmVhazsKKyAg ICAgfQorIAorKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVQUEM2NDogeworKyAgICAgIGNvbnRl eHQgPSBzdGQ6Om1ha2VfdW5pcXVlPE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyPigpOworKyAg ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIqPihjb250ZXh0 LmdldCgpKQorKyAgICAgICAgICAtPkluaXRhbGl6ZUZyb21TbmFwc2hvdChjb250ZXh0X3NuYXBz aG90LT5wcGM2NCk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysKKyAgICAgZGVmYXVsdDogewor ICAgICAgIExPRyhFUlJPUikgPDwgInVua25vd24gY29udGV4dCBhcmNoaXRlY3R1cmUgIgorICAg ICAgICAgICAgICAgICAgPDwgY29udGV4dF9zbmFwc2hvdC0+YXJjaGl0ZWN0dXJlOworLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlk dW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0 X3dyaXRlci5oCitAQCAtMzE1LDYgKzMxNSw0NSBAQCBjbGFzcyBNaW5pZHVtcENvbnRleHRNSVBT NjRXcml0ZXIgZmluYWwKKyAgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihNaW5pZHVtcENvbnRl eHRNSVBTNjRXcml0ZXIpOworIH07CisgCisrY2xhc3MgTWluaWR1bXBDb250ZXh0UFBDNjRXcml0 ZXIgZmluYWwgOiBwdWJsaWMgTWluaWR1bXBDb250ZXh0V3JpdGVyIHsKKysgcHVibGljOgorKyAg TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIoKTsKKysgIH5NaW5pZHVtcENvbnRleHRQUEM2NFdy aXRlcigpIG92ZXJyaWRlOworKworKyAgLy8hIFxicmllZiBJbml0YWxpemVzIHRoZSBNaW5pZHVt cENvbnRleHRQUEM2NCBiYXNlZCBvbiBcYSBjb250ZXh0X3NuYXBzaG90LgorKyAgLy8hCisrICAv LyEgXHBhcmFtW2luXSBjb250ZXh0X3NuYXBzaG90IFRoZSBjb250ZXh0IHNuYXBzaG90IHRvIHVz ZSBhcyBzb3VyY2UgZGF0YS4KKysgIC8vIQorKyAgLy8hIFxub3RlIFZhbGlkIGluICNrU3RhdGVN dXRhYmxlLiBObyBtdXRhdGlvbiBvZiBjb250ZXh0KCkgbWF5IGJlIGRvbmUgYmVmb3JlCisrICAv LyEgICAgIGNhbGxpbmcgdGhpcyBtZXRob2QsIGFuZCBpdCBpcyBub3Qgbm9ybWFsbHkgbmVjZXNz YXJ5IHRvIGFsdGVyCisrICAvLyEgICAgIGNvbnRleHQoKSBhZnRlciBjYWxsaW5nIHRoaXMgbWV0 aG9kLgorKyAgdm9pZCBJbml0YWxpemVGcm9tU25hcHNob3QoY29uc3QgQ1BVQ29udGV4dFBQQzY0 KiBjb250ZXh0X3NuYXBzaG90KTsKKysKKysgIC8vISBcYnJpZWYgUmV0dXJucyBhIHBvaW50ZXIg dG8gdGhlIGNvbnRleHQgc3RydWN0dXJlIHRoYXQgdGhpcyBvYmplY3Qgd2lsbAorKyAgLy8hICAg ICB3cml0ZS4KKysgIC8vIQorKyAgLy8hIFxhdHRlbnRpb24gVGhpcyByZXR1cm5zIGEgbm9uLWBj b25zdGAgcG9pbnRlciB0byB0aGlzIG9iamVjdOKAmXMgcHJpdmF0ZQorKyAgLy8hICAgICBkYXRh IHNvIHRoYXQgYSBjYWxsZXIgY2FuIHBvcHVsYXRlIHRoZSBjb250ZXh0IHN0cnVjdHVyZSBkaXJl Y3RseS4KKysgIC8vISAgICAgVGhpcyBpcyBkb25lIGJlY2F1c2UgcHJvdmlkaW5nIHNldHRlciBp bnRlcmZhY2VzIHRvIGVhY2ggZmllbGQgaW4gdGhlCisrICAvLyEgICAgIGNvbnRleHQgc3RydWN0 dXJlIHdvdWxkIGJlIHVud2llbGR5IGFuZCBjdW1iZXJzb21lLiBDYXJlIG11c3QgYmUgdGFrZW4K KysgIC8vISAgICAgdG8gcG9wdWxhdGUgdGhlIGNvbnRleHQgc3RydWN0dXJlIGNvcnJlY3RseS4g VGhlIGNvbnRleHQgc3RydWN0dXJlCisrICAvLyEgICAgIG11c3Qgb25seSBiZSBtb2RpZmllZCB3 aGlsZSB0aGlzIG9iamVjdCBpcyBpbiB0aGUgI2tTdGF0ZU11dGFibGUKKysgIC8vISAgICAgc3Rh dGUuCisrICBNaW5pZHVtcENvbnRleHRQUEM2NCogY29udGV4dCgpIHsgcmV0dXJuICZjb250ZXh0 XzsgfQorKworKyBwcm90ZWN0ZWQ6CisrICAvLyBNaW5pZHVtcFdyaXRhYmxlOgorKyAgYm9vbCBX cml0ZU9iamVjdChGaWxlV3JpdGVySW50ZXJmYWNlKiBmaWxlX3dyaXRlcikgb3ZlcnJpZGU7Cisr CisrICAvLyBNaW5pZHVtcENvbnRleHRXcml0ZXI6CisrICBzaXplX3QgQ29udGV4dFNpemUoKSBj b25zdCBvdmVycmlkZTsKKysKKysgcHJpdmF0ZToKKysgIE1pbmlkdW1wQ29udGV4dFBQQzY0IGNv bnRleHRfOworKworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKE1pbmlkdW1wQ29udGV4dFBQ QzY0V3JpdGVyKTsKKyt9OworKworIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorIAorICNlbmRp ZiAgLy8gQ1JBU0hQQURfTUlOSURVTVBfTUlOSURVTVBfQ09OVEVYVF9XUklURVJfSF8KKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5p ZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlcl90ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBf Y29udGV4dF93cml0ZXJfdGVzdC5jYworQEAgLTIxMyw2ICsyMTMsMjEgQEAgVEVTVChNaW5pZHVt cENvbnRleHRXcml0ZXIsIE1JUFM2NF9Gcm9tUworICAgICAgIGNvbnRleHQsIEV4cGVjdE1pbmlk dW1wQ29udGV4dE1JUFM2NCwga1NlZWQpOworIH0KKyAKKytURVNUKE1pbmlkdW1wQ29udGV4dFdy aXRlciwgUFBDNjRfWmVyb3MpIHsKKysgIEVtcHR5Q29udGV4dFRlc3Q8TWluaWR1bXBDb250ZXh0 UFBDNjRXcml0ZXIsIE1pbmlkdW1wQ29udGV4dFBQQzY0PigKKysgICAgRXhwZWN0TWluaWR1bXBD b250ZXh0UFBDNjQpOworK30KKysKKytURVNUKE1pbmlkdW1wQ29udGV4dFdyaXRlciwgUFBDNjRf RnJvbVNuYXBzaG90KSB7CisrICBjb25zdGV4cHIgdWludDMyX3Qga1NlZWQgPSA2NDsKKysgIENQ VUNvbnRleHRQUEM2NCBjb250ZXh0X3BwYzY0OworKyAgQ1BVQ29udGV4dCBjb250ZXh0OworKyAg Y29udGV4dC5wcGM2NCA9ICZjb250ZXh0X3BwYzY0OworKyAgSW5pdGlhbGl6ZUNQVUNvbnRleHRQ UEM2NCgmY29udGV4dCwga1NlZWQpOworKyAgRnJvbVNuYXBzaG90VGVzdDxNaW5pZHVtcENvbnRl eHRQUEM2NFdyaXRlciwgTWluaWR1bXBDb250ZXh0UFBDNjQ+KAorKyAgICAgIGNvbnRleHQsIEV4 cGVjdE1pbmlkdW1wQ29udGV4dFBQQzY0LCBrU2VlZCk7CisrfQorKworIH0gIC8vIG5hbWVzcGFj ZQorIH0gIC8vIG5hbWVzcGFjZSB0ZXN0CisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWlu aWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21p c2NfaW5mb193cml0ZXIuY2MKK0BAIC0xMzUsNiArMTM1LDggQEAgc3RkOjpzdHJpbmcgTWluaWR1 bXBNaXNjSW5mb0RlYnVnQnVpbGRTdAorICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9 ICJtaXBzIjsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFM2NEVMKQorICAgc3RhdGljIGNv bnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJtaXBzNjQiOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVf UFBDNjQpCisrICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQVVtdID0gInBwYzY0IjsKKyAjZWxz ZQorICNlcnJvciBkZWZpbmUga0NQVSBmb3IgdGhpcyBDUFUKKyAjZW5kaWYKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9j YXB0dXJlX21lbW9yeS5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjCitAQCAtMTEyLDYg KzExMiwxMSBAQCB2b2lkIENhcHR1cmVNZW1vcnk6OlBvaW50ZWRUb0J5Q29udGV4dChjCisgICBm b3IgKHNpemVfdCBpID0gMDsgaSA8IGJhc2U6OnNpemUoY29udGV4dC5taXBzZWwtPnJlZ3MpOyAr K2kpIHsKKyAgICAgTWF5YmVDYXB0dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBjb250ZXh0Lm1p cHNlbC0+cmVnc1tpXSk7CisgICB9CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1J TFkpCisrICBNYXliZUNhcHR1cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUsIGNvbnRleHQucHBjNjQt Pm5pcCk7CisrICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGJhc2U6OnNpemUoY29udGV4dC5wcGM2 NC0+cmVncyk7ICsraSkgeworKyAgICBNYXliZUNhcHR1cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUs IGNvbnRleHQucHBjNjQtPnJlZ3NbaV0pOworKyAgfQorICNlbHNlCisgI2Vycm9yIFBvcnQuCisg I2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hp dGVjdHVyZS5oCitAQCAtNDMsNyArNDMsMTAgQEAgZW51bSBDUFVBcmNoaXRlY3R1cmUgeworICAg a0NQVUFyY2hpdGVjdHVyZU1JUFNFTCwKKyAKKyAgIC8vISBcYnJpZWYgNjQtYml0IE1JUFNFTC4K Ky0gIGtDUFVBcmNoaXRlY3R1cmVNSVBTNjRFTAorKyAga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVM LAorKworKyAgLy8hIFxicmllZiA2NC1iaXQgUFBDNjQuCisrICBrQ1BVQXJjaGl0ZWN0dXJlUFBD NjQKKyB9OworIAorIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250 ZXh0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKK0BAIC0xNjksNiArMTY5LDggQEAgdWlu dDY0X3QgQ1BVQ29udGV4dDo6SW5zdHJ1Y3Rpb25Qb2ludGVyKAorICAgICAgIHJldHVybiBhcm0t PnBjOworICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVBUk02NDoKKyAgICAgICByZXR1cm4gYXJt NjQtPnBjOworKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVQUEM2NDoKKysgICAgICByZXR1cm4g cHBjNjQtPm5pcDsKKyAgICAgZGVmYXVsdDoKKyAgICAgICBOT1RSRUFDSEVEKCk7CisgICAgICAg cmV0dXJuIH4wdWxsOworQEAgLTE4NSw2ICsxODcsOCBAQCB1aW50NjRfdCBDUFVDb250ZXh0OjpT dGFja1BvaW50ZXIoKSBjb25zCisgICAgICAgcmV0dXJuIGFybS0+c3A7CisgICAgIGNhc2Uga0NQ VUFyY2hpdGVjdHVyZUFSTTY0OgorICAgICAgIHJldHVybiBhcm02NC0+c3A7CisrICAgIGNhc2Ug a0NQVUFyY2hpdGVjdHVyZVBQQzY0OgorKyAgICAgIHJldHVybiBwcGM2NC0+cmVnc1sxXTsKKyAg ICAgZGVmYXVsdDoKKyAgICAgICBOT1RSRUFDSEVEKCk7CisgICAgICAgcmV0dXJuIH4wdWxsOwor QEAgLTE5Niw2ICsyMDAsNyBAQCBib29sIENQVUNvbnRleHQ6OklzNjRCaXQoKSBjb25zdCB7Cisg ICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVg4Nl82NDoKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0 dXJlQVJNNjQ6CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMOgorKyAgICBjYXNl IGtDUFVBcmNoaXRlY3R1cmVQUEM2NDoKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBr Q1BVQXJjaGl0ZWN0dXJlWDg2OgorICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVBUk06CistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvY3B1X2NvbnRleHQuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmgKK0BAIC0zNTIsNiAr MzUyLDI0IEBAIHN0cnVjdCBDUFVDb250ZXh0TUlQUzY0IHsKKyAgIHVpbnQ2NF90IGZpcjsKKyB9 OworIAorKy8vISBcYnJpZWYgQSBjb250ZXh0IHN0cnVjdHVyZSBjYXJyeWluZyBQUEM2NCBDUFUg c3RhdGUuCisrc3RydWN0IENQVUNvbnRleHRQUEM2NCB7CisrICB1aW50NjRfdCBuaXA7CisrICB1 aW50NjRfdCBtc3I7CisrICB1aW50NjRfdCByZWdzWzMyXTsKKysgIHVpbnQ2NF90IGNjcjsKKysg IHVpbnQ2NF90IHhlcjsKKysgIHVpbnQ2NF90IGxuazsKKysgIHVpbnQ2NF90IGN0cjsKKysgIGRv dWJsZSBmcHJlZ3NbMzJdOworKyAgZG91YmxlIGZwc2NyOworKyAgc3RydWN0IHsKKysgICAgdWlu dDEyOF9zdHJ1Y3Qgc2F2ZV92clszMl07CisrICAgIHVpbnQxMjhfc3RydWN0IHNhdmVfdnNjcjsK KysgICAgdWludDMyX3Qgc2F2ZV92cnNhdmU7CisrICB9IHZyZWdzOworK307CisrCisgLy8hIFxi cmllZiBBIGNvbnRleHQgc3RydWN0dXJlIGNhcGFibGUgb2YgY2FycnlpbmcgdGhlIGNvbnRleHQg b2YgYW55IHN1cHBvcnRlZAorIC8vISAgICAgQ1BVIGFyY2hpdGVjdHVyZS4KKyBzdHJ1Y3QgQ1BV Q29udGV4dCB7CitAQCAtMzgyLDYgKzQwMCw3IEBAIHN0cnVjdCBDUFVDb250ZXh0IHsKKyAgICAg Q1BVQ29udGV4dEFSTTY0KiBhcm02NDsKKyAgICAgQ1BVQ29udGV4dE1JUFMqIG1pcHNlbDsKKyAg ICAgQ1BVQ29udGV4dE1JUFM2NCogbWlwczY0OworKyAgICBDUFVDb250ZXh0UFBDNjQqIHBwYzY0 OworICAgfTsKKyB9OworIAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmgKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9saW51eC5oCitAQCAtMTUsNiArMTUsNyBAQAorICNp Zm5kZWYgQ1JBU0hQQURfU05BUFNIT1RfTElOVVhfQ1BVX0NPTlRFWFRfTElOVVhfSF8KKyAjZGVm aW5lIENSQVNIUEFEX1NOQVBTSE9UX0xJTlVYX0NQVV9DT05URVhUX0xJTlVYX0hfCisgCisrI2lu Y2x1ZGUgPGNzdHJpbmc+CisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorICNpbmNs dWRlICJzbmFwc2hvdC9jcHVfY29udGV4dC5oIgorICNpbmNsdWRlICJzbmFwc2hvdC9saW51eC9z aWduYWxfY29udGV4dC5oIgorQEAgLTE3NCw2ICsxNzUsNzYgQEAgdm9pZCBJbml0aWFsaXplQ1BV Q29udGV4dE1JUFMoCisgCisgI2VuZGlmICAvLyBBUkNIX0NQVV9NSVBTX0ZBTUlMWSB8fCBET1hZ R0VOCisgCisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKSB8fCBET1hZR0VOCisr CisrLy8hIFxicmllZiBJbml0YWxpemVzIGEgQ1BVQ29udGV4dFBQQzY0IHN0cnVjdHVyZSBmcm9t IG5hdGl2ZSBjb250ZXh0CisrLy8hICAgICBzdHJ1Y3R1cmVzIG9uIExpbnV4LgorKy8vIQorKy8v ISBccGFyYW1baW5dIHRocmVhZF9jb250ZXh0IFRoZSBuYXRpdmUgdGhyZWFkIGNvbnRleHQuCisr Ly8hIFxwYXJhbVtpbl0gZmxvYXRfY29udGV4dCBUaGUgbmF0aXZlIGZsb2F0IGNvbnRleHQuCisr Ly8hIFxwYXJhbVtpbl0gdmVjdG9yX2NvbnRleHQgVGhlIG5hdGl2ZSB2ZWN0b3IgY29udGV4dC4K KysvLyEgXHBhcmFtW291dF0gY29udGV4dCBUaGUgQ1BVQ29udGV4dFBQQzY0IHN0cnVjdHVyZSB0 byBpbml0YWxpemUuCisrdGVtcGxhdGUgPHR5cGVuYW1lIFRyYWl0cz4KKyt2b2lkIEluaXRpYWxp emVDUFVDb250ZXh0UFBDNjQoCisrICAgIGNvbnN0IFRocmVhZENvbnRleHQ6OnQ2NF90JiB0aHJl YWRfY29udGV4dCwKKysgICAgY29uc3QgRmxvYXRDb250ZXh0OjpmNjRfdCYgZmxvYXRfY29udGV4 dCwKKysgICAgY29uc3QgVmVjdG9yQ29udGV4dDo6djY0X3QmIHZlY3Rvcl9jb250ZXh0LAorKyAg ICB0eXBlbmFtZSBUcmFpdHM6OkNQVUNvbnRleHQqIGNvbnRleHQpIHsKKysKKysgIG1lbWNweShj b250ZXh0LT5yZWdzLCB0aHJlYWRfY29udGV4dC5ncHIsIHNpemVvZihjb250ZXh0LT5yZWdzKSk7 CisrICBjb250ZXh0LT5uaXAgPSB0aHJlYWRfY29udGV4dC5uaXA7CisrICBjb250ZXh0LT5tc3Ig PSB0aHJlYWRfY29udGV4dC5tc3I7CisrICBjb250ZXh0LT5jY3IgPSB0aHJlYWRfY29udGV4dC5j Y3I7CisrICBjb250ZXh0LT54ZXIgPSB0aHJlYWRfY29udGV4dC54ZXI7CisrICBjb250ZXh0LT5s bmsgPSB0aHJlYWRfY29udGV4dC5sbms7CisrICBjb250ZXh0LT5jdHIgPSB0aHJlYWRfY29udGV4 dC5jdHI7CisrCisrICBtZW1jcHkoY29udGV4dC0+ZnByZWdzLCBmbG9hdF9jb250ZXh0LmZwcmVn cywgc2l6ZW9mKGNvbnRleHQtPmZwcmVncykpOworKyAgY29udGV4dC0+ZnBzY3IgPSBmbG9hdF9j b250ZXh0LmZwc2NyOworKworKyAgZm9yICh1aW50OF90IGkgPSAwOyBpIDwgMzI7IGkrKykgewor KyAgICBjb250ZXh0LT52cmVncy5zYXZlX3ZyW2ldID0geworKyAgICAgICgoKHVpbnQ2NF90KXZl Y3Rvcl9jb250ZXh0LnZycmVnc1tpXVswXSkgPDwgMzIpIHwKKysgICAgICAgIHZlY3Rvcl9jb250 ZXh0LnZycmVnc1tpXVsxXSwKKysgICAgICAoKCh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52cnJl Z3NbaV1bMl0pIDw8IDMyKSB8CisrICAgICAgICB2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bM10K KysgICAgfTsKKysgIH0KKysgIGNvbnRleHQtPnZyZWdzLnNhdmVfdnJzYXZlID0gdmVjdG9yX2Nv bnRleHQudnJzYXZlOworKyAgY29udGV4dC0+dnJlZ3Muc2F2ZV92c2NyID0gezAsICh1aW50NjRf dCl2ZWN0b3JfY29udGV4dC52c2NyLnZzY3Jfd29yZH07CisrfQorKworK3RlbXBsYXRlIDx0eXBl bmFtZSBUcmFpdHM+Cisrdm9pZCBJbml0aWFsaXplQ1BVQ29udGV4dFBQQzY0KAorKyAgICBjb25z dCBTaWduYWxUaHJlYWRDb250ZXh0NjQgJnRocmVhZF9jb250ZXh0LAorKyAgICBjb25zdCBTaWdu YWxGbG9hdENvbnRleHQ2NCAmZmxvYXRfY29udGV4dCwKKysgICAgY29uc3QgU2lnbmFsVmVjdG9y Q29udGV4dDY0ICZ2ZWN0b3JfY29udGV4dCwKKysgICAgdHlwZW5hbWUgVHJhaXRzOjpDUFVDb250 ZXh0KiBjb250ZXh0KSB7CisrCisrICBtZW1jcHkoY29udGV4dC0+cmVncywgdGhyZWFkX2NvbnRl eHQucmVncywgc2l6ZW9mKGNvbnRleHQtPnJlZ3MpKTsKKysgIGNvbnRleHQtPm5pcCA9IHRocmVh ZF9jb250ZXh0Lm5pcDsKKysgIGNvbnRleHQtPm1zciA9IHRocmVhZF9jb250ZXh0Lm1zcjsKKysg IGNvbnRleHQtPmNjciA9IHRocmVhZF9jb250ZXh0LmNjcjsKKysgIGNvbnRleHQtPnhlciA9IHRo cmVhZF9jb250ZXh0LnhlcjsKKysgIGNvbnRleHQtPmxuayA9IHRocmVhZF9jb250ZXh0LmxuazsK KysgIGNvbnRleHQtPmN0ciA9IHRocmVhZF9jb250ZXh0LmN0cjsKKysKKysgIG1lbWNweShjb250 ZXh0LT5mcHJlZ3MsIGZsb2F0X2NvbnRleHQucmVncywgc2l6ZW9mKGNvbnRleHQtPmZwcmVncykp OworKyAgY29udGV4dC0+ZnBzY3IgPSBmbG9hdF9jb250ZXh0LmZwc2NyOworKworKyAgZm9yICh1 aW50OF90IGkgPSAwOyBpIDwgMzI7IGkrKykgeworKyAgICBjb250ZXh0LT52cmVncy5zYXZlX3Zy W2ldID0geworKyAgICAgICgoKHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVswXSkg PDwgMzIpIHwKKysgICAgICAgIHZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVsxXSwKKysgICAgICAo KCh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bMl0pIDw8IDMyKSB8CisrICAgICAg ICB2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bM10KKysgICAgfTsKKysgIH0KKysgIGNvbnRleHQt PnZyZWdzLnNhdmVfdnJzYXZlID0gdmVjdG9yX2NvbnRleHQudnJzYXZlOworKyAgY29udGV4dC0+ dnJlZ3Muc2F2ZV92c2NyID0gezAsICh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52c2NyLnZzY3Jf d29yZH07CisrfQorKworKyNlbmRpZgorIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAorIH0gIC8v IG5hbWVzcGFjZSBjcmFzaHBhZAorIAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVnX3JlbmRlenZvdXNf dGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVnX3JlbmRlenZvdXNfdGVzdC5jYworQEAgLTE5 Miw2ICsxOTIsOCBAQCB2b2lkIFRlc3RBZ2FpbnN0VGFyZ2V0KFB0cmFjZUNvbm5lY3Rpb24qCisg ICAgICAgICAgICAgICBkZXZpY2UgPT0gMCAmJiBpbm9kZSA9PSAwICYmIG1hcHBpbmdfbmFtZSA9 PSAiW3Zkc29dIjsKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODYpCisgICAgICAgICAgIHN0YXRp YyBjb25zdGV4cHIgY2hhciBrUHJlZml4W10gPSAibGludXgtZ2F0ZS5zby4iOworKyNlbGlmIGRl ZmluZWQoQVJDSF9DUFVfUFBDNjQpCisrICAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBr UHJlZml4W10gPSAibGludXgtdmRzbzY0LnNvLiI7CisgI2Vsc2UKKyAgICAgICAgICAgc3RhdGlj IGNvbnN0ZXhwciBjaGFyIGtQcmVmaXhbXSA9ICJsaW51eC12ZHNvLnNvLiI7CisgI2VuZGlmCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCitAQCAtMzIzLDYgKzMyMyw2OSBAQCBib29s IEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0CisgICAgICAgcmVhZGVyLCBjb250 ZXh0X2FkZHJlc3MsIGNvbnRleHRfLm1pcHM2NCk7CisgfQorIAorKyNlbGlmIGRlZmluZWQoQVJD SF9DUFVfUFBDNjRfRkFNSUxZKQorKworK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cisrc3Rh dGljIGJvb2wgUmVhZENvbnRleHQoUHJvY2Vzc1JlYWRlckxpbnV4KiByZWFkZXIsCisrICAgICAg ICAgICAgICAgICAgICAgICAgTGludXhWTUFkZHJlc3MgY29udGV4dF9hZGRyZXNzLAorKyAgICAg ICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIFRyYWl0czo6Q1BVQ29udGV4dCogZGVzdF9jb250 ZXh0KSB7CisrICBjb25zdCBQcm9jZXNzTWVtb3J5KiBtZW1vcnkgPSByZWFkZXItPk1lbW9yeSgp OworKworKyAgTGludXhWTUFkZHJlc3MgZ3BfcmVnc19hZGRyZXNzID0gY29udGV4dF9hZGRyZXNz ICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKFVDb250ZXh0 LCBtY29udGV4dCkgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0 b2YodHlwZW5hbWUgVHJhaXRzOjpNQ29udGV4dCwgZ3BfcmVncyk7CisrCisrICB0eXBlbmFtZSBU cmFpdHM6OlNpZ25hbFRocmVhZENvbnRleHQgdGhyZWFkX2NvbnRleHQ7CisrICBpZiAoIW1lbW9y eS0+UmVhZChncF9yZWdzX2FkZHJlc3MsIHNpemVvZih0aHJlYWRfY29udGV4dCksICZ0aHJlYWRf Y29udGV4dCkpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVhZCBncF9yZWdzISI7 CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIExpbnV4Vk1BZGRyZXNzIGZwX3JlZ3Nf YWRkcmVzcyA9IGNvbnRleHRfYWRkcmVzcyArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBvZmZzZXRvZihVQ29udGV4dCwgbWNvbnRleHQpICsKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHR5cGVuYW1lIFRyYWl0czo6TUNvbnRleHQsIGZw X3JlZ3MpOworKworKyAgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxGbG9hdENvbnRleHQgZnBfY29u dGV4dDsKKysgIGlmICghbWVtb3J5LT5SZWFkKGZwX3JlZ3NfYWRkcmVzcywgc2l6ZW9mKGZwX2Nv bnRleHQpLCAmZnBfY29udGV4dCkpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVh ZCBmcF9yZWdzISI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIExpbnV4Vk1BZGRy ZXNzIHZfcmVnc19wdHJfYWRkcmVzcyA9IGNvbnRleHRfYWRkcmVzcyArCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKFVDb250ZXh0LCBtY29udGV4dCkgKworKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZih0eXBlbmFtZSBUcmFpdHM6 Ok1Db250ZXh0LCB2bXhfcmVzZXJ2ZSkgKyA4OworKworKyAgdHlwZW5hbWUgVHJhaXRzOjpTaWdu YWxWZWN0b3JDb250ZXh0IHZfY29udGV4dDsKKysgIGlmICghbWVtb3J5LT5SZWFkKHZfcmVnc19w dHJfYWRkcmVzcywgc2l6ZW9mKHZfY29udGV4dCksICZ2X2NvbnRleHQpKSB7CisrICAgIExPRyhF UlJPUikgPDwgIkNvdWxkbid0IHJlYWQgdl9yZWdzISI7CisrICAgIHJldHVybiBmYWxzZTsKKysg IH0KKysKKysgIEluaXRpYWxpemVDUFVDb250ZXh0UFBDNjQ8Q29udGV4dFRyYWl0czY0Pih0aHJl YWRfY29udGV4dCwgZnBfY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgdl9j b250ZXh0LCBkZXN0X2NvbnRleHQpOworKworKyAgcmV0dXJuIHRydWU7CisrfQorKworK3RlbXBs YXRlPD4KKytib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0PENvbnRleHRU cmFpdHM2ND4oCisrICAgIFByb2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAorKyAgICBMaW51eFZN QWRkcmVzcyBjb250ZXh0X2FkZHJlc3MpIHsKKysgIGNvbnRleHRfLmFyY2hpdGVjdHVyZSA9IGtD UFVBcmNoaXRlY3R1cmVQUEM2NDsKKysgIGNvbnRleHRfLnBwYzY0ID0gJmNvbnRleHRfdW5pb25f LnBwYzY0OworKworKyAgcmV0dXJuIGludGVybmFsOjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRz NjQ+KAorKyAgICAgIHJlYWRlciwgY29udGV4dF9hZGRyZXNzLCBjb250ZXh0Xy5wcGM2NCk7Cisr fQorKworK3RlbXBsYXRlPD4KKytib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250 ZXh0PENvbnRleHRUcmFpdHMzMj4oCisrICAgIFByb2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAor KyAgICBMaW51eFZNQWRkcmVzcyBjb250ZXh0X2FkZHJlc3MpIHsKKysgIC8vIFBQQzY0IGlzIDY0 LWJpdAorKyAgcmV0dXJuIGZhbHNlOworK30KKysKKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9G QU1JTFkKKyAKKyBib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OkluaXRpYWxpemUoUHJvY2Vz c1JlYWRlckxpbnV4KiBwcm9jZXNzX3JlYWRlciwKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25f c25hcHNob3RfbGludXguaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51 eC5oCitAQCAtODQsNiArODQsOCBAQCBjbGFzcyBFeGNlcHRpb25TbmFwc2hvdExpbnV4IGZpbmFs IDogcHViCisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAgICAgQ1BVQ29u dGV4dE1JUFMgbWlwc2VsOworICAgICBDUFVDb250ZXh0TUlQUzY0IG1pcHM2NDsKKysjZWxpZiBk ZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgQ1BVQ29udGV4dFBQQzY0IHBwYzY0 OworICNlbmRpZgorICAgfSBjb250ZXh0X3VuaW9uXzsKKyAgIENQVUNvbnRleHQgY29udGV4dF87 CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXhfdGVzdC5jYworQEAgLTI5Niw3ICsy OTYsMjggQEAgdm9pZCBFeHBlY3RDb250ZXh0KGNvbnN0IENQVUNvbnRleHQmIGFjdAorICAgICAg ICAgICAgIDApOworICN1bmRlZiBDUFVfQVJDSF9OQU1FCisgfQorKyNlbGlmIGRlZmluZWQoQVJD SF9DUFVfUFBDNjRfRkFNSUxZKQorK3VzaW5nIE5hdGl2ZUNQVUNvbnRleHQgPSB1Y29udGV4dF90 OworIAorK3ZvaWQgSW5pdGlhbGl6ZUNvbnRleHQoTmF0aXZlQ1BVQ29udGV4dCogY29udGV4dCkg eworKyAgZm9yIChzaXplX3QgcmVnID0gMDsgcmVnIDwgMzI7ICsrcmVnKSB7CisrICAgIGNvbnRl eHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbcmVnXSA9IHJlZzsKKysgIH0KKysKKysgIG1lbXNldCgm Y29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVncywgNDQsCisrICAgICAgc2l6ZW9mKGNvbnRleHQt PnVjX21jb250ZXh0LmZwX3JlZ3MpKTsKKyt9CisrCisrdm9pZCBFeHBlY3RDb250ZXh0KGNvbnN0 IENQVUNvbnRleHQmIGFjdHVhbCwgY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgZXhwZWN0ZWQpIHsK KysgIEVYUEVDVF9FUShhY3R1YWwuYXJjaGl0ZWN0dXJlLCBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQp OworKworKyAgZm9yIChzaXplX3QgcmVnID0gMDsgcmVnIDwgMzI7ICsrcmVnKSB7CisrICAgIEVY UEVDVF9FUShhY3R1YWwucHBjNjQtPnJlZ3NbcmVnXSwgZXhwZWN0ZWQudWNfbWNvbnRleHQuZ3Bf cmVnc1tyZWddKTsKKysgIH0KKysKKysgIEVYUEVDVF9FUShtZW1jbXAoYWN0dWFsLnBwYzY0LT5m cHJlZ3MsIGV4cGVjdGVkLnVjX21jb250ZXh0LmZwX3JlZ3MsCisrICAgICAgICAgICAgc2l6ZW9m KGFjdHVhbC5wcGM2NC0+ZnByZWdzKSksIDApOworK30KKyAjZWxzZQorICNlcnJvciBQb3J0Lgor ICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4LmNjCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MKK0BAIC0xMDgsNiArMTA4LDggQEAgdm9p ZCBQcm9jZXNzUmVhZGVyTGludXg6OlRocmVhZDo6SW5pdGlhbAorICNlbGlmIGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpCisgICBzdGFja19wb2ludGVyID0gcmVhZGVyLT5JczY0Qml0KCkg PyB0aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50NjQucmVnc1syOV0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6IHRocmVhZF9pbmZvLnRocmVhZF9jb250ZXh0LnQzMi5y ZWdzWzI5XTsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgIHN0YWNr X3BvaW50ZXIgPSB0aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50NjQuZ3ByWzFdOworICNlbHNl CisgI2Vycm9yIFBvcnQuCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQu aAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKK0BAIC00MjIsNiArNDIyLDkzIEBA IHN0YXRpY19hc3NlcnQob2Zmc2V0b2YoVUNvbnRleHQ8Q29udGV4dFQKKyAgICAgICAgICAgICAg ICJjb250ZXh0IG9mZnNldCBtaXNtYXRjaCIpOworICNlbmRpZgorIAorKyNlbGlmIGRlZmluZWQo QVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKworK3N0cnVjdCBTaWduYWxUaHJlYWRDb250ZXh0NjQg eworKyAgdWludDY0X3QgcmVnc1szMl07CisrICB1aW50NjRfdCBuaXA7CisrICB1aW50NjRfdCBt c3I7CisrICB1aW50NjRfdCBvcmlnX3IzOworKyAgdWludDY0X3QgY3RyOworKyAgdWludDY0X3Qg bG5rOworKyAgdWludDY0X3QgeGVyOworKyAgdWludDY0X3QgY2NyOworKyAgdWludDY0X3Qgc29m dGU7CisrICB1aW50NjRfdCB0cmFwOworKyAgdWludDY0X3QgZGFyOworKyAgdWludDY0X3QgZHNp c3I7CisrICB1aW50NjRfdCByZXN1bHQ7CisrICB1aW50NjRfdCBkc2NyOworKyAgdWludDY0X3Qg ZnByMFszXTsKKyt9OworKworK3N0cnVjdCBTaWduYWxGbG9hdENvbnRleHQ2NCB7CisrICBkb3Vi bGUgcmVnc1szMl07CisrICBkb3VibGUgZnBzY3I7CisrfTsKKysKKytzdHJ1Y3QgU2lnbmFsVmVj dG9yQ29udGV4dDY0IHsKKysgIGludDMyX3QgdnJyZWdzWzMyXVs0XTsKKysgIHN0cnVjdCB7Cisr ICAgIGludDMyX3QgX19wYWRbM107CisrICAgIGludDMyX3QgdnNjcl93b3JkOworKyAgfSB2c2Ny OworKyAgaW50MzJfdCB2cnNhdmU7CisrICBpbnQzMl90IF9fcGFkWzNdOworK30gX19hdHRyaWJ1 dGVfXygoX19hbGlnbmVkX18oMTYpKSk7CisrCisrCisrI3ByYWdtYSBwYWNrKHBvcCkKKytzdHJ1 Y3QgTUNvbnRleHQ2NCB7CisrICB1aW50NjRfdCByZXNlcnZlZFs0XTsKKysgIGludDMyX3Qgc2ln bmFsOworKyAgaW50MzJfdCBfX3BhZDA7CisrICB1aW50NjRfdCBoYW5kbGVyOworKyAgdWludDY0 X3Qgb2xkbWFzazsKKysgIHVpbnQ2NF90IHB0X3JlZ3NfcHRyOworKyAgU2lnbmFsVGhyZWFkQ29u dGV4dDY0IGdwX3JlZ3M7CisrICBTaWduYWxGbG9hdENvbnRleHQ2NCAgZnBfcmVnczsKKysgIFNp Z25hbFZlY3RvckNvbnRleHQ2NCAqdl9yZWdzOworKyNpZmRlZiBfX0dMSUJDX18KKysgIGludDY0 X3Qgdm14X3Jlc2VydmVbNjldOworKyNlbHNlCisrICBpbnQ2NF90IHZteF9yZXNlcnZlWzEwMV07 CisrI2VuZGlmCisrfTsKKysKKytzdHJ1Y3QgQ29udGV4dFRyYWl0czY0IDogcHVibGljIFRyYWl0 czY0IHsKKysgIHVzaW5nIE1Db250ZXh0ID0gTUNvbnRleHQ2NDsKKysgIHVzaW5nIFNpZ25hbFRo cmVhZENvbnRleHQgPSBTaWduYWxUaHJlYWRDb250ZXh0NjQ7CisrICB1c2luZyBTaWduYWxGbG9h dENvbnRleHQgPSBTaWduYWxGbG9hdENvbnRleHQ2NDsKKysgIHVzaW5nIFNpZ25hbFZlY3RvckNv bnRleHQgPSBTaWduYWxWZWN0b3JDb250ZXh0NjQ7CisrICB1c2luZyBDUFVDb250ZXh0ID0gQ1BV Q29udGV4dFBQQzY0OworK307CisrCisrc3RydWN0IENvbnRleHRUcmFpdHMzMiA6IHB1YmxpYyBU cmFpdHMzMiB7fTsKKysKKytzdHJ1Y3QgVUNvbnRleHQgeworKyAgdWludDY0X3QgZmxhZ3M7Cisr ICB1aW50NjRfdCBsaW5rOworKyAgU2lnbmFsU3RhY2s8Q29udGV4dFRyYWl0czY0PiBzdGFjazsK KysgIFNpZ3NldDxDb250ZXh0VHJhaXRzNjQ+IHNpZ21hc2s7CisrICBNQ29udGV4dDY0IG1jb250 ZXh0OworK307CisrI3ByYWdtYSBwYWNrKHB1c2gsIDEpCisrCisrc3RhdGljX2Fzc2VydChzaXpl b2YoVUNvbnRleHQpID09IHNpemVvZih1Y29udGV4dF90KSwKKysgICAgICAgICAgICAgICJ1Y29u dGV4dF90IHNpemUgbWlzbWF0Y2giKTsKKytzdGF0aWNfYXNzZXJ0KHNpemVvZihNQ29udGV4dDY0 KSA9PSBzaXplb2YobWNvbnRleHRfdCksCisrICAgICAgICAgICAgICAibWNvbnRleHRfdCBzaXpl IG1pc21hdGNoIik7Cisrc3RhdGljX2Fzc2VydChzaXplb2YoU2lnbmFsVGhyZWFkQ29udGV4dDY0 KSA9PSBzaXplb2YoZ3JlZ3NldF90KSwKKysgICAgICAgICAgICAgICJncmVnc2V0X3Qgc2l6ZSBt aXNtYXRjaCIpOworK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFNpZ25hbEZsb2F0Q29udGV4dDY0KSA9 PSBzaXplb2YoZnByZWdzZXRfdCksCisrICAgICAgICAgICAgICAiZnByZWdzZXRfdCBzaXplIG1p c21hdGNoIik7Cisrc3RhdGljX2Fzc2VydChzaXplb2YoU2lnbmFsVmVjdG9yQ29udGV4dDY0KSA9 PSBzaXplb2YodnJyZWdzZXRfdCksCisrICAgICAgICAgICAgICAidnJyZWdzZXRfdCBzaXplIG1p c21hdGNoIik7Cisrc3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4dCwgbWNvbnRleHQpID09 CisrICAgICAgICAgICAgICBvZmZzZXRvZih1Y29udGV4dF90LCB1Y19tY29udGV4dCksICJtY29u dGV4dCBvZmZzZXQgbWlzbWF0Y2giKTsKKytzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKE1Db250ZXh0 NjQsIGdwX3JlZ3MpID09CisrICAgICAgICAgICAgICBvZmZzZXRvZihtY29udGV4dF90LCBncF9y ZWdzKSwgImdwX3JlZ3Mgb2Zmc2V0IG1pc21hdGNoIik7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4K KyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1f c25hcHNob3RfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXgu Y2MKK0BAIC0yMDQsNiArMjA0LDggQEAgQ1BVQXJjaGl0ZWN0dXJlIFN5c3RlbVNuYXBzaG90TGlu dXg6OkdldAorICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICByZXR1cm4g cHJvY2Vzc19yZWFkZXJfLT5JczY0Qml0KCkgPyBrQ1BVQXJjaGl0ZWN0dXJlTUlQUzY0RUwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGtDUFVBcmNoaXRlY3R1cmVNSVBT RUw7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICByZXR1cm4ga0NQ VUFyY2hpdGVjdHVyZVBQQzY0OworICNlbHNlCisgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRl Y3R1cmUKKyAjZW5kaWYKK0BAIC0yMTksNiArMjIxLDkgQEAgdWludDMyX3QgU3lzdGVtU25hcHNo b3RMaW51eDo6Q1BVUmV2aXNpbworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp CisgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCisgICByZXR1cm4gMDsKKysjZWxpZiBk ZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgIC8vIE5vdCB5ZXQgaW1wbGVtZW50ZWQg b24gUFBDNjQKKysgIHJldHVybiAwOworICNlbHNlCisgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNo aXRlY3R1cmUKKyAjZW5kaWYKK0BAIC0yMzksNiArMjQ0LDkgQEAgc3RkOjpzdHJpbmcgU3lzdGVt U25hcHNob3RMaW51eDo6Q1BVVmVuZAorICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpCisgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCisgICByZXR1cm4gc3RkOjpzdHJp bmcoKTsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgIC8vIE5vdCB5 ZXQgaW1wbGVtZW50ZWQgb24gUFBDNjQKKysgIHJldHVybiBzdGQ6OnN0cmluZygpOworICNlbHNl CisgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRlY3R1cmUKKyAjZW5kaWYKK0BAIC0zNzIsNiAr MzgwLDkgQEAgYm9vbCBTeXN0ZW1TbmFwc2hvdExpbnV4OjpOWEVuYWJsZWQoKSBjbworICNlbGlm IGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBv biBNSVBTCisgICByZXR1cm4gZmFsc2U7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9G QU1JTFkpCisrICAvLyBOb3QgeWV0IGltcGxlbWVudGVkIG9uIFBQQzY0CisrICByZXR1cm4gZmFs c2U7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1J TFkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0 X21vZHVsZXMuY2MKK0BAIC0xMTAsNiArMTEwLDggQEAgYm9vbCBXcml0ZVRlc3RNb2R1bGUoY29u c3QgYmFzZTo6RmlsZVBhdAorICAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fQUFSQ0g2NDsK KyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNFTCkgfHwgZGVmaW5lZChBUkNIX0NQVV9NSVBT NjRFTCkKKyAgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX01JUFM7CisrI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NCkKKysgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX1BQQzY0Owor ICNlbmRpZgorIAorICAgbW9kdWxlLmVoZHIuZV92ZXJzaW9uID0gRVZfQ1VSUkVOVDsKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJl YWRfc25hcHNob3RfbGludXguY2MKK0BAIC0xODYsNiArMTg2LDE0IEBAIGJvb2wgVGhyZWFkU25h cHNob3RMaW51eDo6SW5pdGlhbGl6ZShQcm8KKyAgICAgICAgIHRocmVhZC50aHJlYWRfaW5mby5m bG9hdF9jb250ZXh0LmYzMiwKKyAgICAgICAgIGNvbnRleHRfLm1pcHNlbCk7CisgICB9CisrI2Vs aWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBjb250ZXh0Xy5hcmNoaXRlY3R1 cmUgPSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ7CisrICBjb250ZXh0Xy5wcGM2NCA9ICZjb250ZXh0 X3VuaW9uXy5wcGM2NDsKKysgIEluaXRpYWxpemVDUFVDb250ZXh0UFBDNjQ8Q29udGV4dFRyYWl0 czY0PigKKysgICAgICB0aHJlYWQudGhyZWFkX2luZm8udGhyZWFkX2NvbnRleHQudDY0LAorKyAg ICAgIHRocmVhZC50aHJlYWRfaW5mby5mbG9hdF9jb250ZXh0LmY2NCwKKysgICAgICB0aHJlYWQu dGhyZWFkX2luZm8udmVjdG9yX2NvbnRleHQudjY0LAorKyAgICAgIGNvbnRleHRfLnBwYzY0KTsK KyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9z bmFwc2hvdF9saW51eC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgK K0BAIC02OCw2ICs2OCw4IEBAIGNsYXNzIFRocmVhZFNuYXBzaG90TGludXggZmluYWwgOiBwdWJs aWMKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgICBDUFVDb250ZXh0 TUlQUyBtaXBzZWw7CisgICAgIENQVUNvbnRleHRNSVBTNjQgbWlwczY0OworKyNlbGlmIGRlZmlu ZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICBDUFVDb250ZXh0UFBDNjQgcHBjNjQ7Cisg I2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0 b3IuY2MKK0BAIC01Niw2ICs1NiwxMSBAQCBib29sIEF1eGlsaWFyeVZlY3Rvcjo6UmVhZChQdHJh Y2VDb25uZWN0CisgICAgIGlmICh0eXBlID09IEFUX0lHTk9SRSkgeworICAgICAgIGNvbnRpbnVl OworICAgICB9CisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICBpZiAo dHlwZSA9PSBBVF9JR05PUkVQUEMpIHsKKysgICAgICBjb250aW51ZTsKKysgICAgfQorKyNlbmRp ZgorICAgICBpZiAoIU1hcEluc2VydE9yUmVwbGFjZSgmdmFsdWVzXywgdHlwZSwgdmFsdWUsIG51 bGxwdHIpKSB7CisgICAgICAgTE9HKEVSUk9SKSA8PCAiZHVwbGljYXRlIGF1eHYgZW50cnkiOwor ICAgICAgIHJldHVybiBmYWxzZTsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4 L3B0cmFjZXIuY2MKK0BAIC0zOTksNiArMzk5LDY0IEBAIGJvb2wgR2V0VGhyZWFkQXJlYTY0KHBp ZF90IHRpZCwKKyAgIHJldHVybiB0cnVlOworIH0KKyAKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BV X1BQQzY0X0ZBTUlMWSkKKysvLyBQUEM2NCBoYXMgaGFkIEhBVkVfQVJDSF9UUkFDRUhPT0sgc2V0 IHNpbmNlIDIuNi4yNyAoZXZlbiBiZWZvcmUgeDg2IGhhZCBpdCkuCisrLy8gVGhhdCBtZWFucyB3 ZSBjYW4gc2ltcGx5IHVzZSBQVFJBQ0VfR0VUUkVHRVNFVC4KKysKKyt0ZW1wbGF0ZSA8dHlwZW5h bWUgRGVzdGluYXRpb24+CisrYm9vbCBHZXRSZWdpc3RlclNldChwaWRfdCB0aWQsIGludCBzZXQs IERlc3RpbmF0aW9uKiBkZXN0LCBib29sIGNhbl9sb2cpIHsKKysgIGlvdmVjIGlvdjsKKysgIGlv di5pb3ZfYmFzZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGRlc3QpOworKyAgaW92Lmlvdl9s ZW4gPSBzaXplb2YoKmRlc3QpOworKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQs IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHNldCksICZpb3YpICE9IDApIHsKKysgICAgUExPR19J RihFUlJPUiwgY2FuX2xvZykgPDwgInB0cmFjZSI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0K KysgIGlmIChpb3YuaW92X2xlbiAhPSBzaXplb2YoKmRlc3QpKSB7CisrICAgIExPR19JRihFUlJP UiwgY2FuX2xvZykgPDwgIlVuZXhwZWN0ZWQgcmVnaXN0ZXJzIHNpemUiOworKyAgICByZXR1cm4g ZmFsc2U7CisrICB9CisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrYm9vbCBHZXRWZWN0b3JSZWdp c3RlcnM2NChwaWRfdCB0aWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBWZWN0b3JDb250 ZXh0KiBjb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7 CisrICByZXR1cm4gR2V0UmVnaXN0ZXJTZXQodGlkLCBOVF9QUENfVk1YLCAmY29udGV4dC0+djY0 LCBjYW5fbG9nKTsKKyt9CisrCisrYm9vbCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzNjQocGlk X3QgdGlkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0Q29udGV4dCog Y29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cp IHsKKysgIHJldHVybiBHZXRSZWdpc3RlclNldCh0aWQsIE5UX1BSRlBSRUcsICZjb250ZXh0LT5m NjQsIGNhbl9sb2cpOworK30KKysKKytib29sIEdldFRocmVhZEFyZWE2NChwaWRfdCB0aWQsCisr ICAgICAgICAgICAgICAgICAgICAgY29uc3QgVGhyZWFkQ29udGV4dCYgY29udGV4dCwKKysgICAg ICAgICAgICAgICAgICAgICBMaW51eFZNQWRkcmVzcyogYWRkcmVzcywKKysgICAgICAgICAgICAg ICAgICAgICBib29sIGNhbl9sb2cpIHsKKysgIC8vIFBQQzY0IGRvZXNuJ3QgaGF2ZSBQVFJBQ0Vf R0VUX1RIUkVBRF9BUkVBIHNpbmNlIHRoZSB0aHJlYWQgcG9pbnRlcgorKyAgLy8gaXMgc3RvcmVk IGluIEdQUiAxMy4KKysgIFRocmVhZENvbnRleHQ6OnQ2NF90IHRjOworKyAgaWYgKCFHZXRSZWdp c3RlclNldCh0aWQsIE5UX1BSU1RBVFVTLCAmdGMsIGNhbl9sb2cpKSB7CisrICAgIExPR19JRihF UlJPUiwgY2FuX2xvZykgPDwgIlVuYWJsZSB0byBnZXQgdGhyZWFkIHBvaW50ZXIhIjsKKysgICAg cmV0dXJuIGZhbHNlOworKyAgfQorKworKyAgKmFkZHJlc3MgPSB0Yy5ncHJbMTNdOworKworKyAg cmV0dXJuIHRydWU7CisrfQorKworKy8vIFN0dWJzIGZvciAzMi1iaXQgZnVuY3Rpb25zIG5vdCBh cHBsaWNhYmxlIG9uIFBQQzY0CisrYm9vbCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzMzIocGlk X3QgdGlkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0Q29udGV4dCog Y29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cp IHsgcmV0dXJuIGZhbHNlOyB9CisrYm9vbCBHZXRUaHJlYWRBcmVhMzIocGlkX3QgdGlkLAorKyAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IFRocmVhZENvbnRleHQgJmNvbnRleHQsCisrICAgICAg ICAgICAgICAgICAgICAgTGludXhWTUFkZHJlc3MgKmFkZHJlc3MsCisrICAgICAgICAgICAgICAg ICAgICAgYm9vbCBjYW5fbG9nKSB7IHJldHVybiBmYWxzZTsgfQorKworICNlbHNlCisgI2Vycm9y IFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAtNDk1LDYgKzU1Myw5 IEBAIGJvb2wgUHRyYWNlcjo6R2V0VGhyZWFkSW5mbyhwaWRfdCB0aWQsIFQKKyAgIGlmIChpc182 NF9iaXRfKSB7CisgICAgIHJldHVybiBHZXRHZW5lcmFsUHVycG9zZVJlZ2lzdGVyczY0KHRpZCwg JmluZm8tPnRocmVhZF9jb250ZXh0LCBjYW5fbG9nXykgJiYKKyAgICAgICAgICAgIEdldEZsb2F0 aW5nUG9pbnRSZWdpc3RlcnM2NCh0aWQsICZpbmZvLT5mbG9hdF9jb250ZXh0LCBjYW5fbG9nXykg JiYKKysjaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAgICAgICAgICBHZXRW ZWN0b3JSZWdpc3RlcnM2NCh0aWQsICZpbmZvLT52ZWN0b3JfY29udGV4dCwgY2FuX2xvZ18pICYm CisrI2VuZGlmCisgICAgICAgICAgICBHZXRUaHJlYWRBcmVhNjQodGlkLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGluZm8tPnRocmVhZF9jb250ZXh0LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZpbmZvLT50aHJlYWRfc3BlY2lmaWNfZGF0YV9hZGRyZXNzLAorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGlu dXgvdGhyZWFkX2luZm8uaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorQEAgLTM5LDYgKzM5 LDEzIEBAIHN0cnVjdCB1c2VyX3ZmcF9leGMgeworICNpbmNsdWRlIDxhbmRyb2lkL2FwaS1sZXZl bC5oPgorICNlbmRpZgorIAorKyNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysj aW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+CisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysjaW5j bHVkZSA8YXNtL3B0cmFjZS5oPgorKyNlbmRpZgorKyNlbmRpZgorKworIG5hbWVzcGFjZSBjcmFz aHBhZCB7CisgCisgLy8hIFxicmllZiBUaGUgc2V0IG9mIGdlbmVyYWwgcHVycG9zZSByZWdpc3Rl cnMgZm9yIGFuIGFyY2hpdGVjdHVyZSBmYW1pbHkuCitAQCAtOTAsNiArOTcsOCBAQCB1bmlvbiBU aHJlYWRDb250ZXh0IHsKKyAgICAgdWludDMyX3QgY3AwX3N0YXR1czsKKyAgICAgdWludDMyX3Qg Y3AwX2NhdXNlOworICAgICB1aW50MzJfdCBwYWRkaW5nMV87CisrI2VsaWYgZGVmaW5lZChBUkNI X0NQVV9QUEM2NF9GQU1JTFkpCisrICAgIC8vIFBQQzY0IGlzIDY0LWJpdAorICNlbHNlCisgI2Vy cm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAtMTQzLDYgKzE1 MiwyMSBAQCB1bmlvbiBUaHJlYWRDb250ZXh0IHsKKyAgICAgdWludDY0X3QgY3AwX2JhZHZhZGRy OworICAgICB1aW50NjRfdCBjcDBfc3RhdHVzOworICAgICB1aW50NjRfdCBjcDBfY2F1c2U7Cisr I2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAgIC8vIFJlZmxlY3RzIHN0 cnVjdCBwdF9yZWdzIGluIGFzbS9wdHJhY2UuaC4KKysgICAgdWludDY0X3QgZ3ByWzMyXTsKKysg ICAgdWludDY0X3QgbmlwOworKyAgICB1aW50NjRfdCBtc3I7CisrICAgIHVpbnQ2NF90IG9yaWdf Z3ByMzsKKysgICAgdWludDY0X3QgY3RyOworKyAgICB1aW50NjRfdCBsbms7CisrICAgIHVpbnQ2 NF90IHhlcjsKKysgICAgdWludDY0X3QgY2NyOworKyAgICB1aW50NjRfdCBzb2Z0ZTsKKysgICAg dWludDY0X3QgdHJhcDsKKysgICAgdWludDY0X3QgZGFyOworKyAgICB1aW50NjRfdCBkc2lzcjsK KysgICAgdWludDY0X3QgcmVzdWx0OworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAv LyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAtMTU0LDYgKzE3OCw4IEBAIHVuaW9uIFRocmVhZENv bnRleHQgeworICAgdXNpbmcgTmF0aXZlVGhyZWFkQ29udGV4dCA9IHVzZXJfcmVnczsKKyAjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorIC8vIE5vIGFwcHJvcHJpYXRlIE5hdGl2 ZVRocmVhZHNDb250ZXh0IHR5cGUgYXZhaWxhYmxlIGZvciBNSVBTCisrI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICB1c2luZyBOYXRpdmVUaHJlYWRDb250ZXh0ID0gc3Ry dWN0IHB0X3JlZ3M7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BV X1g4Nl9GQU1JTFkgfHwgQVJDSF9DUFVfQVJNNjQKK0BAIC0yMjksNiArMjU1LDkgQEAgdW5pb24g RmxvYXRDb250ZXh0IHsKKyAgICAgfSBmcHJlZ3NbMzJdOworICAgICB1aW50MzJfdCBmcGNzcjsK KyAgICAgdWludDMyX3QgZnB1X2lkOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFN SUxZKQorKyAgICAvLyBDcmFzaHBhZCdzIFBQQyBzdXBwb3J0IGlzIDY0LWJpdCBvbmx5LCBzbyB0 aGlzCisrICAgIC8vIDMyYml0LW9ubHkgc3RydWN0IGlzIGRlY2xhcmVkIGFzIGVtcHR5LgorICNl bHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAt MjYzLDYgKzI5MiwxMCBAQCB1bmlvbiBGbG9hdENvbnRleHQgeworICAgICBkb3VibGUgZnByZWdz WzMyXTsKKyAgICAgdWludDMyX3QgZnBjc3I7CisgICAgIHVpbnQzMl90IGZwdV9pZDsKKysjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgLy8gUmVmbGVjdHMgZnByZWdz ZXRfdCBpbiBzeXMvdWNvbnRleHQuaAorKyAgICBkb3VibGUgZnByZWdzWzMyXTsKKysgICAgZG91 YmxlIGZwc2NyOworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9Y ODZfRkFNSUxZCitAQCAtMjkxLDYgKzMyNCw4IEBAIHVuaW9uIEZsb2F0Q29udGV4dCB7CisgICBz dGF0aWNfYXNzZXJ0KHNpemVvZihmNjQpID09IHNpemVvZih1c2VyX2Zwc2ltZF9zdHJ1Y3QpLCAi U2l6ZSBtaXNtYXRjaCIpOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisg Ly8gTm8gYXBwcm9wcmlhdGUgZmxvYXRpbmcgcG9pbnQgY29udGV4dCBuYXRpdmUgdHlwZSBmb3Ig YXZhaWxhYmxlIE1JUFMuCisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisr ICBzdGF0aWNfYXNzZXJ0KHNpemVvZihmNjQpID09IHNpemVvZihmcHJlZ3NldF90KSwgIlNpemUg bWlzbWF0Y2giKTsKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVf WDg2CitAQCAtMjk4LDYgKzMzMywyNiBAQCB1bmlvbiBGbG9hdENvbnRleHQgeworIHN0YXRpY19h c3NlcnQoc3RkOjppc19zdGFuZGFyZF9sYXlvdXQ8RmxvYXRDb250ZXh0Pjo6dmFsdWUsCisgICAg ICAgICAgICAgICAiTm90IHN0YW5kYXJkIGxheW91dCIpOworIAorKy8vISBcYnJpZWYgVGhlIHZl Y3RvciByZWdpc3RlcnMgdXNlZCBmb3IgYW4gYXJjaGl0ZWN0dXJlIGZhbWlseQorK3VuaW9uIFZl Y3RvckNvbnRleHQgeworKyAgc3RydWN0IHYzMl90IHt9IHYzMjsKKysjaWYgZGVmaW5lZChBUkNI X0NQVV9QUEM2NF9GQU1JTFkpCisrICBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXygxNikpKSAv LyBWZWN0b3IgY29udGV4dCBtdXN0IGJlIGRvdWJsZXdvcmQgYWxpZ25lZC4KKysjZW5kaWYKKysg IHN0cnVjdCB2NjRfdCB7CisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAg ICAvLyBSZWZsZWN0cyB2cnJlZ3NldF90IGluIHN5cy91Y29udGV4dC5oCisrICAgIHVpbnQzMl90 IHZycmVnc1szMl1bNF07CisrICAgIHN0cnVjdCB7CisrICAgICAgdWludDMyX3QgX19wYWRbM107 CisrICAgICAgdWludDMyX3QgdnNjcl93b3JkOworKyAgICB9IHZzY3I7CisrICAgIHVpbnQzMl90 IHZyc2F2ZTsKKysgICAgdWludDMyX3QgX19wYWRbM107CisrI2VuZGlmCisrICB9IHY2NDsKKyt9 OworKworIC8vISBcYnJpZWYgQSBjb2xsZWN0aW9uIG9mIGBwdHJhY2VgLWFibGUgaW5mb3JtYXRp b24gYWJvdXQgYSB0aHJlYWQuCisgc3RydWN0IFRocmVhZEluZm8geworICAgVGhyZWFkSW5mbygp OworQEAgLTMwOSw2ICszNjQsOSBAQCBzdHJ1Y3QgVGhyZWFkSW5mbyB7CisgICAvLyEgXGJyaWVm IFRoZSBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMgZm9yIHRoZSB0aHJlYWQuCisgICBGbG9hdENv bnRleHQgZmxvYXRfY29udGV4dDsKKyAKKysgIC8vISBcYnJpZWYgKE9wdGlvbmFsKSBUaGUgdmVj dG9yIHJlZ2lzdGVycyB1c2VkIGZvciB0aGUgdGhyZWFkLgorKyAgVmVjdG9yQ29udGV4dCB2ZWN0 b3JfY29udGV4dDsKKysKKyAgIC8vISBcYnJpZWYgVGhlIHRocmVhZC1sb2NhbCBzdG9yYWdlIGFk ZHJlc3MgZm9yIHRoZSB0aHJlYWQuCisgICBMaW51eFZNQWRkcmVzcyB0aHJlYWRfc3BlY2lmaWNf ZGF0YV9hZGRyZXNzOworIH07CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dC5oCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9t aXNjL2NhcHR1cmVfY29udGV4dC5oCitAQCAtNjksNiArNjksNyBAQCB1c2luZyBOYXRpdmVDUFVD b250ZXh0ID0gdWNvbnRleHRfdDsKKyAvLyEgICAgIG1hY09TL0xpbnV4L0Z1Y2hzaWEgfCB4ODZf NjQgICAgICAgfCBgJSVyZGlgCisgLy8hICAgICBMaW51eCAgICAgICAgICAgICAgIHwgQVJNL0FS TTY0ICAgIHwgYHIwYC9geDBgCisgLy8hICAgICBMaW51eCAgICAgICAgICAgICAgIHwgTUlQUy9N SVBTNjQgIHwgYCRhMGAKKysvLyEgICAgIExpbnV4ICAgICAgICAgICAgICAgfCBQUEM2NCAgICAg ICAgfCBgcjNgCisgLy8hCisgLy8hICAgICBBZGRpdGlvbmFsbHksIHRoZSB2YWx1ZSBgTFJgIG9u IEFSTS9BUk02NCB3aWxsIGJlIHRoZSByZXR1cm4gYWRkcmVzcyBvZgorIC8vISAgICAgdGhpcyBm dW5jdGlvbi4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X2xpbnV4LlMKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2Mv Y2FwdHVyZV9jb250ZXh0X2xpbnV4LlMKK0BAIC0zMiw3ICszMiw3IEBACisgICAuYmFsaWduIDQs IDB4MAorICAgLnR5cGUgQ0FQVFVSRUNPTlRFWFRfU1lNQk9MLCAlZnVuY3Rpb24KKyAgIC50eXBl IENBUFRVUkVDT05URVhUX1NZTUJPTDIsICVmdW5jdGlvbgorLSNlbGlmIGRlZmluZWQoX19taXBz X18pCisrI2VsaWYgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor ICAgLmJhbGlnbiA0LCAweDAKKyAjZW5kaWYKKyAKK0BAIC00MjMsNCArNDIzLDIxNCBAQCBDQVBU VVJFQ09OVEVYVF9TWU1CT0wyOgorICAganIgJHJhCisgCisgICAuc2V0IGF0CisrI2VsaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gU3RvcmUgcjAtcjMxCisrICBzdGQgMCwgMHhlOCgz KSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMF0KKysgIHN0ZCAxLCAweGYwKDMp ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1sxXQorKyAgc3RkIDIsIDB4ZjgoMykg ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzJdCisrICAvLyBub3RlIHRoYXQgcjMn cyBvcmlnaW5hbCB2YWx1ZSB3YXMgbG9zdAorKyAgc3RkIDMsIDB4MTAwKDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5ncF9yZWdzWzNdCisrICBzdGQgNCwgMHgxMDgoMykgIC8vIGNvbnRleHQt PnVjX21jb250ZXh0LmdwX3JlZ3NbNF0KKysgIHN0ZCA1LCAweDExMCgzKSAgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQuZ3BfcmVnc1s1XQorKyAgc3RkIDYsIDB4MTE4KDMpICAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzZdCisrICBzdGQgNywgMHgxMjAoMykgIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LmdwX3JlZ3NbN10KKysgIHN0ZCA4LCAweDEyOCgzKSAgLy8gY29udGV4dC0+dWNf bWNvbnRleHQuZ3BfcmVnc1s4XQorKyAgc3RkIDksIDB4MTMwKDMpICAvLyBjb250ZXh0LT51Y19t Y29udGV4dC5ncF9yZWdzWzldCisrICBzdGQgMTAsIDB4MTM4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMTBdCisrICBzdGQgMTEsIDB4MTQwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMTFdCisrICBzdGQgMTIsIDB4MTQ4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMTJdCisrICBzdGQgMTMsIDB4MTUwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMTNdCisrICBzdGQgMTQsIDB4MTU4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMTRdCisrICBzdGQgMTUsIDB4MTYwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMTVdCisrICBzdGQgMTYsIDB4MTY4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMTZdCisrICBzdGQgMTcsIDB4MTcwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMTddCisrICBzdGQgMTgsIDB4MTc4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMThdCisrICBzdGQgMTksIDB4MTgwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMTldCisrICBzdGQgMjAsIDB4MTg4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjBdCisrICBzdGQgMjEsIDB4MTkwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjFdCisrICBzdGQgMjIsIDB4MTk4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjJdCisrICBzdGQgMjMsIDB4MWEwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjNdCisrICBzdGQgMjQsIDB4MWE4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjRdCisrICBzdGQgMjUsIDB4MWIwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjVdCisrICBzdGQgMjYsIDB4MWI4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjZdCisrICBzdGQgMjcsIDB4MWMwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjddCisrICBzdGQgMjgsIDB4MWM4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjhdCisrICBzdGQgMjksIDB4MWQwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMjldCisrICBzdGQgMzAsIDB4MWQ4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMzBdCisrICBzdGQgMzEsIDB4MWUwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbMzFdCisrCisrICAvLyBGb3IgTklQLCB3ZSBjYW4gdXNlIHRoZSB2YWx1 ZSBpbiB0aGUgbGluayByZWdpc3RlcgorKyAgbWZsciAwCisrICBzdGQgMCwgMHgxZTgoMykgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdCisrCisrICAvLyBDVFIKKysgIG1m Y3RyIDAKKysgIHN0ZCAwLCAweDIwMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdz W1BUX0NUUl0KKysKKysgIC8vIEZvciBMTkssIHdlJ2xsIHVzZSB0aGUgY2FsbGVyJ3MgTFIgc2F2 ZSBhcmVhICgyIHN0YWNrIGZyYW1lcyB1cCkuCisrICAvLyByNCBjYW4gYmUgdXNlZCBhcyBhIHNj cmF0Y2ggcmVnaXN0ZXIgc2luY2UgaXQgaGFzIGFscmVhZHkgYmVlbiBzYXZlZC4KKysgIGxkIDQs IDAoMSkKKysgIGxkIDQsIDE2KDQpCisrICBzdGQgNCwgMHgyMDgoMykgLy8gY29udGV4dC0+dWNf bWNvbnRleHQuZ3BfcmVnc1tQVF9MTktdCisrCisrICAvLyBYRVIKKysgIG1meGVyIDAKKysgIHN0 ZCAwLCAweDIxMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX1hFUl0KKysK KysgIC8vIENDUgorKyAgbWZjciAwCisrICBzdGQgMCwgMHgyMTgoMykgLy8gY29udGV4dC0+dWNf bWNvbnRleHQuZ3BfcmVnc1tQVF9DQ1JdCisrCisrICAvLyBNU1IsIG9yaWdfcjMsIE1RLCBUUkFQ LCBEQVIsIERTSVNSLCBSRVNVTFQsIERTQ1IsCisrICAvLyBub3QgdXNlZCBvciBub3QgcmVsZXZh bnQsICB6ZXJvIHRoZW0gb3V0LgorKyAgbGkgNCwgMAorKyAgc3RkIDQsIDB4MWYwKDMpIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTVNSXQorKyAgc3RkIDQsIDB4MWY4KDMpIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfT1JJR19SM10KKysgIHN0ZCA0LCAweDIy MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX01RXQorKyAgc3RkIDQsIDB4 MjI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfVFJBUF0KKysgIHN0ZCA0 LCAweDIzMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0RBUl0KKysgIHN0 ZCA0LCAweDIzOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0RTSVNSXQor KyAgc3RkIDQsIDB4MjQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfUkVT VUxUXQorKyAgc3RkIDQsIDB4MjQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3Nb UFRfRFNDUl0KKysKKysgIC8vIFVwZGF0ZSBjb250ZXh0LT51Y19tY29udGV4dC5yZWdzIHRvIHBv aW50IHRvIGdwX3JlZ3MKKysgIGFkZGkgMCwgMywgMHhlOAorKyAgc3RkIDAsIDB4ZTAoMykKKysK KysgIC8vIFNhdmUgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzIDAtMzEKKysgIHN0ZmQgMCwgMHgy NjgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMF0KKysgIHN0ZmQgMSwgMHgy NzAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMV0KKysgIHN0ZmQgMiwgMHgy NzgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMl0KKysgIHN0ZmQgMywgMHgy ODAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbM10KKysgIHN0ZmQgNCwgMHgy ODgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbNF0KKysgIHN0ZmQgNSwgMHgy OTAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbNV0KKysgIHN0ZmQgNiwgMHgy OTgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbNl0KKysgIHN0ZmQgNywgMHgy YTAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbN10KKysgIHN0ZmQgOCwgMHgy YTgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbOF0KKysgIHN0ZmQgOSwgMHgy YjAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbOV0KKysgIHN0ZmQgMTAsIDB4 MmI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTBdCisrICBzdGZkIDExLCAw eDJjMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzExXQorKyAgc3RmZCAxMiwg MHgyYzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxMl0KKysgIHN0ZmQgMTMs IDB4MmQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTNdCisrICBzdGZkIDE0 LCAweDJkOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE0XQorKyAgc3RmZCAx NSwgMHgyZTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxNV0KKysgIHN0ZmQg MTYsIDB4MmU4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTZdCisrICBzdGZk IDE3LCAweDJmMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE3XQorKyAgc3Rm ZCAxOCwgMHgyZjgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxOF0KKysgIHN0 ZmQgMTksIDB4MzAwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTldCisrICBz dGZkIDIwLCAweDMwOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzIwXQorKyAg c3RmZCAyMSwgMHgzMTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syMV0KKysg IHN0ZmQgMjIsIDB4MzE4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjJdCisr ICBzdGZkIDIzLCAweDMyMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzIzXQor KyAgc3RmZCAyNCwgMHgzMjgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syNF0K KysgIHN0ZmQgMjUsIDB4MzMwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjVd CisrICBzdGZkIDI2LCAweDMzOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI2 XQorKyAgc3RmZCAyNywgMHgzNDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sy N10KKysgIHN0ZmQgMjgsIDB4MzQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3Nb MjhdCisrICBzdGZkIDI5LCAweDM1MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdz WzI5XQorKyAgc3RmZCAzMCwgMHgzNTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVn c1szMF0KKysgIHN0ZmQgMzEsIDB4MzYwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3Jl Z3NbMzFdCisrCisrICAvLyBGUFNDUgorKyAgbWZmcyAwCisrICBzdGZkIDAsIDB4MzY4KDMpIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMzJdCisrCisrICAvLyBTYXZlIFZNWCBWZWN0 b3IgcmVnaXN0ZXJzCisrICAvLyBVcGRhdGUgcjQgdG8gY29udGFpbiB0aGUgYmFzZSBhZGRyZXNz IG9mIHZteF9yZXNlcnZlCisrICBhZGRpIDQsIDMsIDB4Mzc4CisrICAvLyBFbnN1cmUgdGhhdCBp dCBpcyBxdWFkd29yZCBhbGlnbmVkCisrICBhbmRpLiA1LCA0LCAweEYKKysgIGJlcSAxZiAvLyBO byBhbGlnbm1lbnQgaXMgbmVjZXNzYXJ5CisrICAvLyBBZGRyZXNzIGlzIGRvdWJsZXdvcmQgYWxp Z25lZCBhbmQgbm90IHF1YWR3b3JkIGFsaWduZWQsIGFkZCA4CisrICBhZGRpIDQsIDQsIDgKKysK KysxOgorKyAgLy8gU3RvcmUgVk1YIHJlZ2lzdGVycyAwLTMxCisrICAvLyByNCB3aWxsIGNvbnRh aW4gdGhlIGJhc2UgYWRkcmVzcworKyAgLy8gcjUgd2lsbCBjb250YWluIHRoZSBpbmRleAorKyAg bGkgNSwgMAorKyAgc3R2eCAwLCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jl c2VydmVbKGFsaWduKSArIDBdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEsIDQsIDUgICAv LyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMV0KKysgIGFkZGkg NSwgNSwgMTYKKysgIHN0dnggMiwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9y ZXNlcnZlWyhhbGlnbikgKyAyXQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAzLCA0LCA1ICAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDNdCisrICBhZGRp IDUsIDUsIDE2CisrICBzdHZ4IDQsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhf cmVzZXJ2ZVsoYWxpZ24pICsgNF0KKysgIGFkZGkgNSwgNSwgMTYKKysgIHN0dnggNSwgNCwgNSAg IC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyA1XQorKyAgYWRk aSA1LCA1LCAxNgorKyAgc3R2eCA2LCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14 X3Jlc2VydmVbKGFsaWduKSArIDZdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDcsIDQsIDUg ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgN10KKysgIGFk ZGkgNSwgNSwgMTYKKysgIHN0dnggOCwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZt eF9yZXNlcnZlWyhhbGlnbikgKyA4XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCA5LCA0LCA1 ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDldCisrICBh ZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEwLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52 bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTBdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDExLCA0 LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTFdCisr ICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEyLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4 dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTJdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEz LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTNd CisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE0LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29u dGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTRdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4 IDE1LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsg MTVdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE2LCA0LCA1ICAvLyBjb250ZXh0LT51Y19t Y29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTZdCisrICBhZGRpIDUsIDUsIDE2CisrICBz dHZ4IDE3LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24p ICsgMTddCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE4LCA0LCA1ICAvLyBjb250ZXh0LT51 Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMThdCisrICBhZGRpIDUsIDUsIDE2Cisr ICBzdHZ4IDE5LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxp Z24pICsgMTldCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDIwLCA0LCA1ICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjBdCisrICBhZGRpIDUsIDUsIDE2 CisrICBzdHZ4IDIxLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVso YWxpZ24pICsgMjFdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDIyLCA0LCA1ICAvLyBjb250 ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjJdCisrICBhZGRpIDUsIDUs IDE2CisrICBzdHZ4IDIzLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2 ZVsoYWxpZ24pICsgMjNdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI0LCA0LCA1ICAvLyBj b250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjRdCisrICBhZGRpIDUs IDUsIDE2CisrICBzdHZ4IDI1LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVz ZXJ2ZVsoYWxpZ24pICsgMjVdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI2LCA0LCA1ICAv LyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjZdCisrICBhZGRp IDUsIDUsIDE2CisrICBzdHZ4IDI3LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhf cmVzZXJ2ZVsoYWxpZ24pICsgMjddCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI4LCA0LCA1 ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjhdCisrICBh ZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI5LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52 bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjldCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDMwLCA0 LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMzBdCisr ICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDMxLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4 dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMzFdCisrICBhZGRpIDUsIDUsIDE2CisrCisrICAvLyBW U0NSCisrICBtZnZzY3IgMAorKyAgc3R2eCAwLCA0LCA1CisrICBhZGRpIDUsIDUsIDE2CisrCisr ICAvLyBWUlNBVkUKKysgIG1mdnJzYXZlIDAKKysgIHN0d3ggMCwgNCwgNQorKworKyAgLy8gVXBk YXRlIGNvbnRleHQtPnVjX21jb250ZXh0LnZfcmVncyB0byBwb2ludCB0byB2bXhfcmVzZXJ2ZSAr IGFsaWdubWVudC4KKysgIHN0ZCA0LCAweDM3MCgzKQorKworKyAgLy8gWmVybyBvdXQgYWxsIHVu dXNlZCBmaWVsZHMKKysgIGxpIDQsIDAKKysgIHN0ZCA0LCAweGM4KDMpIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LnNpZ25hbAorKyAgc3RkIDQsIDB4ZDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRl eHQuaGFuZGxlcgorKyAgc3RkIDQsIDB4ZDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQub2xk bWFzaworKworKyAgYmxyCisgI2VuZGlmICAvLyBfX2kzODZfXworLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJl X2NvbnRleHRfdGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdC5jYworQEAg LTU3LDcgKzU3LDcgQEAgdm9pZCBUZXN0Q2FwdHVyZUNvbnRleHQoKSB7CisgICB1aW50cHRyX3Qg cGMgPSBQcm9ncmFtQ291bnRlckZyb21Db250ZXh0KGNvbnRleHRfMSk7CisgCisgI2lmICFkZWZp bmVkKEFERFJFU1NfU0FOSVRJWkVSKSAmJiAhZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkg JiYgXAorLSAgICAhZGVmaW5lZChNRU1PUllfU0FOSVRJWkVSKQorKyAgICAhZGVmaW5lZChNRU1P UllfU0FOSVRJWkVSKSAmJiAhZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisgICAvLyBT YW5pdGl6ZXJzIGNhbiBjYXVzZSBlbm91Z2ggY29kZSBibG9hdCB0aGF0IHRoZSDigJxuZWFyYnni gJ0gY2hlY2sgd291bGQKKyAgIC8vIGxpa2VseSBmYWlsLgorICAgY29uc3QgdWludHB0cl90IGtS ZWZlcmVuY2VQQyA9CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXgu Y2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYworQEAgLTM1 LDYgKzM1LDggQEAgdm9pZCBTYW5pdHlDaGVja0NvbnRleHQoY29uc3QgTmF0aXZlQ1BVQworICAg RVhQRUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQucmVnc1swXSwgRnJvbVBvaW50ZXJDYXN0PHVp bnRwdHJfdD4oJmNvbnRleHQpKTsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZ KQorICAgRVhQRUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQuZ3JlZ3NbNF0sIEZyb21Qb2ludGVy Q2FzdDx1aW50cHRyX3Q+KCZjb250ZXh0KSk7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2 NF9GQU1JTFkpCisrICBFWFBFQ1RfRVEoY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzWzNdLCBG cm9tUG9pbnRlckNhc3Q8dWludHB0cl90PigmY29udGV4dCkpOworICNlbmRpZgorIH0KKyAKK0BA IC00OSw2ICs1MSw4IEBAIHVpbnRwdHJfdCBQcm9ncmFtQ291bnRlckZyb21Db250ZXh0KGNvbnMK KyAgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LnBjOworICNlbGlmIGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpCisgICByZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5wYzsKKysjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgIHJldHVybiBjb250ZXh0LnVjX21j b250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKKyAjZW5kaWYKKyB9CisgCitAQCAtNjMsNiArNjcsOCBA QCB1aW50cHRyX3QgU3RhY2tQb2ludGVyRnJvbUNvbnRleHQoY29uc3QKKyAgIHJldHVybiBjb250 ZXh0LnVjX21jb250ZXh0LnNwOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp CisgICByZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5ncmVnc1syOV07CisrI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICByZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5n cF9yZWdzWzFdOworICNlbmRpZgorIH0KKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3NpZ25hbHNfdGVzdC5jYwor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3V0aWwvcG9zaXgvc2lnbmFsc190ZXN0LmNjCitAQCAtNDYsOSArNDYsOSBAQCBib29sIENhbkNh dXNlU2lnbmFsKGludCBzaWcpIHsKKyAgIHJldHVybiBzaWcgPT0gU0lHQUJSVCB8fAorICAgICAg ICAgIHNpZyA9PSBTSUdBTFJNIHx8CisgICAgICAgICAgc2lnID09IFNJR0JVUyB8fAorLSNpZiAh ZGVmaW5lZChBUkNIX0NQVV9BUk02NCkKKysjaWYgIWRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYm ICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorICAgICAgICAgIHNpZyA9PSBTSUdGUEUgfHwKKy0j ZW5kaWYgIC8vICFkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KQorKyNlbmRpZiAgLy8gIWRlZmluZWQo QVJDSF9DUFVfQVJNNjQpICYmICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorICNpZiBkZWZpbmVk KEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNRUwpCisgICAgICAg ICAgc2lnID09IFNJR0lMTCB8fAorICNlbmRpZiAgLy8gZGVmaW5lZChBUkNIX0NQVV9YODZfRkFN SUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTUVMKQorQEAgLTExNyw5ICsxMTcsMTEgQEAgdm9p ZCBDYXVzZVNpZ25hbChpbnQgc2lnKSB7CisgICAgICAgYnJlYWs7CisgICAgIH0KKyAKKy0jaWYg IWRlZmluZWQoQVJDSF9DUFVfQVJNNjQpCisrI2lmICFkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KSAm JiAhZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKKyAgICAgLy8gQVJNNjQgaGFzIGhhcmR3YXJlIGlu dGVnZXIgZGl2aXNpb24gaW5zdHJ1Y3Rpb25zIHRoYXQgZG9u4oCZdCBnZW5lcmF0ZSBhCisgICAg IC8vIHRyYXAgZm9yIGRpdmlkZS1ieS16ZXJvLCBzbyB0aGlzIGRvZXNu4oCZdCBwcm9kdWNlIFNJ R0ZQRS4KKysgICAgLy8KKysgICAgLy8gUFBDNjQgZml4ZWQtcG9pbnQgZGl2aXNpb24gYnkgemVy byBhbHNvIGRvZXNuJ3QgcHJvZHVjZSBhIFNJR0ZQRS4KKyAgICAgY2FzZSBTSUdGUEU6IHsKKyAg ICAgICAvLyBPcHRpbWl6YXRpb24gbWFrZXMgdGhpcyB0cmlja3ksIHNvIGdldCB6ZXJvIGZyb20g YSBzeXN0ZW0gY2FsbCBsaWtlbHkKKyAgICAgICAvLyB0byBzdWNjZWVkLCBhbmQgdHJ5IHRvIGRv IHNvbWV0aGluZyB3aXRoIHRoZSByZXN1bHQuCitAQCAtMTM3LDcgKzEzOSw3IEBAIHZvaWQgQ2F1 c2VTaWduYWwoaW50IHNpZykgeworICAgICAgIGZzdGF0KHF1b3RpZW50LCAmc3RhdF9idWYpOwor ICAgICAgIGJyZWFrOworICAgICB9CistI2VuZGlmICAvLyBBUkNIX0NQVV9BUk02NAorKyNlbmRp ZiAgLy8gIWRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYmICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0 KQorIAorICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9D UFVfQVJNRUwpCisgICAgIGNhc2UgU0lHSUxMOiB7CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvZGF2MWQvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9kYXYxZC9CVUlMRC5nbgorQEAgLTE5Niw2ICsxOTYsOCBAQCBzdGF0aWNf bGlicmFyeSgiZGF2MWRfOGJpdCIpIHsKKyAgICAgc291cmNlcyArPSBhcm1fdGVtcGxhdGVfc291 cmNlcworICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7CisgICAgIHNvdXJj ZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKKysgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0g InBwYzY0IikgeworKyAgICBzb3VyY2VzICs9IHBwYzY0X3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0K KyAKKyAgIGNmbGFncyA9IGRhdjFkX2NvcHRzCitAQCAtMjI2LDYgKzIyOCw4IEBAIHN0YXRpY19s aWJyYXJ5KCJkYXYxZF8xMGJpdCIpIHsKKyAgICAgc291cmNlcyArPSBhcm1fdGVtcGxhdGVfc291 cmNlcworICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7CisgICAgIHNvdXJj ZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKKysgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0g InBwYzY0IikgeworKyAgICBzb3VyY2VzICs9IHBwYzY0X3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0K KyAKKyAgIGNmbGFncyA9IGRhdjFkX2NvcHRzCitAQCAtMjgzLDYgKzI4NywyMSBAQCBpZiAoY3Vy cmVudF9jcHUgPT0gIng4NiIgfHwgY3VycmVudF9jcHUKKyAgICAgfQorIAorICAgICBjZmxhZ3Mg PSBkYXYxZF9jb3B0cworKyAgfQorK30gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0Iikg eworKyAgc3RhdGljX2xpYnJhcnkoImRhdjFkX3BwYyIpIHsKKysgICAgc291cmNlcyA9IFsKKysg ICAgICAibGliZGF2MWQvc3JjL3BwYy9jcHUuYyIsCisrICAgICAgImxpYmRhdjFkL3NyYy9wcGMv Y3B1LmgiLAorKyAgICBdCisrCisrICAgIGNvbmZpZ3MgLT0gWyAiLy9idWlsZC9jb25maWcvY29t cGlsZXI6Y2hyb21pdW1fY29kZSIgXQorKyAgICBjb25maWdzICs9IFsKKysgICAgICAiLy9idWls ZC9jb25maWcvY29tcGlsZXI6bm9fY2hyb21pdW1fY29kZSIsCisrICAgICAgIjpkYXYxZF9jb25m aWciLAorKyAgICBdCisrCisrICAgIGNmbGFncyA9IGRhdjFkX2NvcHRzCisgCisgICAgIGRlcHMg PSBbICI6ZGF2MWRfaGVhZGVycyIgXQorICAgICBhbGxvd19jaXJjdWxhcl9pbmNsdWRlc19mcm9t ID0gWyAiOmRhdjFkX2hlYWRlcnMiIF0KK0BAIC0zMTUsNSArMzM0LDcgQEAgc3RhdGljX2xpYnJh cnkoImRhdjFkIikgeworICAgICB9CisgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJhcm0i IHx8IGN1cnJlbnRfY3B1ID09ICJhcm02NCIpIHsKKyAgICAgZGVwcyArPSBbICI6ZGF2MWRfYXJt IiBdCisrICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKKysgICAgZGVwcyAr PSBbICI6ZGF2MWRfcHBjIiBdCisgICB9CisgfQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2RhdjFkL2RhdjFkX2dlbmVyYXRlZC5nbmkKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9kYXYxZF9nZW5lcmF0ZWQuZ25pCitAQCAtMTAz LDYgKzEwMywxMSBAQCBhcm1fdGVtcGxhdGVfc291cmNlcyA9IFsKKyAgICJsaWJkYXYxZC9zcmMv YXJtL21jX2luaXRfdG1wbC5jIiwKKyBdCisgCisrcHBjNjRfdGVtcGxhdGVfc291cmNlcyA9IFsK KysgICJsaWJkYXYxZC9zcmMvcHBjL2NkZWZfaW5pdF90bXBsLmMiLAorKyAgImxpYmRhdjFkL3Ny Yy9wcGMvbG9vcHJlc3RvcmF0aW9uX2luaXRfdG1wbC5jIiwKKytdCisrCisgdGVtcGxhdGVfc291 cmNlcyA9IFsKKyAgICJsaWJkYXYxZC9zcmMvY2RlZl9hcHBseV90bXBsLmMiLAorICAgImxpYmRh djFkL3NyYy9jZGVmX3RtcGwuYyIsCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvZGF2MWQvZ2VuZXJhdGVfc291cmNlLnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvZGF2MWQvZ2VuZXJhdGVfc291cmNlLnB5CitAQCAtNTcsNiArNTcsOCBA QCBkZWYgX1dyaXRlR24oZmQpOgorICAgX1dyaXRlQXJyYXkoZmQsICJhcm02NF9hc21fc291cmNl cyIsIF9HbG9iKCJsaWJkYXYxZC9zcmMvYXJtLzY0LyouUyIpKQorICAgX1dyaXRlQXJyYXkoZmQs ICJhcm1fdGVtcGxhdGVfc291cmNlcyIsIF9HbG9iKCJsaWJkYXYxZC9zcmMvYXJtLypfdG1wbC5j IikpCisgCisrICBfV3JpdGVBcnJheShmZCwgInBwYzY0X3RlbXBsYXRlX3NvdXJjZXMiLCBfR2xv YigibGliZGF2MWQvc3JjL3BwYy8qX3RtcGwuYyIpKQorKworICAgdGVtcGxhdGVfc291cmNlcyA9 IF9HbG9iKCJsaWJkYXYxZC9zcmMvKl90bXBsLmMiKQorICAgX1dyaXRlQXJyYXkoZmQsICJ0ZW1w bGF0ZV9zb3VyY2VzIiwgdGVtcGxhdGVfc291cmNlcykKKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL3R5cGVzLmgKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBj L3R5cGVzLmgKK0BAIC01MSw0ICs1MSwxOSBAQAorICNkZWZpbmUgdTE2bF90b19pMzIodikgKChp MzJ4NCkgdmVjX21lcmdlbCgodTE2eDgpIHYsIHZlY19zcGxhdF91MTYoMCkpKQorICNkZWZpbmUg aTE2bF90b19pMzIodikgKChpMzJ4NCkgdmVjX3VucGFja2woKGkxNng4KXYpKQorIAorKyNpZiBk ZWZpbmVkKF9fY2xhbmdfXykKKysjdW5kZWYgdmVjX3NwbGF0cworKyNkZWZpbmUgdmVjX3NwbGF0 cyhOKSAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgX0dlbmVyaWMoKE4pLCAgICAgICAgICAg ICAgICAgICAgICAgICBcCisrICAgICAgICB1bnNpZ25lZCBjaGFyOiAgICAgICgodTh4MTYpKE4p KSwgXAorKyAgICAgICAgc2lnbmVkIGNoYXI6ICAgICAgICAoKGk4eDE2KShOKSksIFwKKysgICAg ICAgIHVuc2lnbmVkIHNob3J0OiAgICAgKCh1MTZ4OCkoTikpLCBcCisrICAgICAgICBzaWduZWQg c2hvcnQ6ICAgICAgICgoaTE2eDgpKE4pKSwgXAorKyAgICAgICAgdW5zaWduZWQgaW50OiAgICAg ICAoKHUzMng0KShOKSksIFwKKysgICAgICAgIHNpZ25lZCBpbnQ6ICAgICAgICAgKChpMzJ4NCko TikpLCBcCisrICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmc6ICgodTY0eDIpKE4pKSwgXAorKyAg ICAgICAgc2lnbmVkIGxvbmcgbG9uZzogICAoKGk2NHgyKShOKSkgIFwKKysgICAgKQorKyNlbmRp ZgorKworICNlbmRpZiAvKiBEQVYxRF9TUkNfUFBDX1RZUEVTX0ggKi8KKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9laWdlbjMvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9laWdlbjMvQlVJTEQuZ24KK0BAIC0yMiw0ICsyMiw4 IEBAIGNvbmZpZygiZWlnZW5faW5jbHVkZXMiKSB7CisgICAgICMgZm9yIHRoaXMgY29tcG9uZW50 IG9uIFdpbmRvd3Mgb24gQXJtIGR1ZSB0byBjb21waWxhdGlvbiBlcnJvcnMuCisgICAgIGRlZmlu ZXMgKz0gWyAiRUlHRU5fRE9OVF9WRUNUT1JJWkUiIF0KKyAgIH0KKysKKysgIGlmICh0YXJnZXRf Y3B1ID09ICJwcGM2NCIpIHsKKysgICAgZGVmaW5lcyArPSBbICJFSUdFTl9ET05UX1ZFQ1RPUkla RSIgXQorKyAgfQorIH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9s aWJhb20vQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9s aWJhb20vQlVJTEQuZ24KK0BAIC0zNyw2ICszNyw4IEBAIGlmIChlbmFibGVfbGliYW9tKSB7Cisg ICAgIH0gZWxzZSB7CisgICAgICAgY3B1X2FyY2hfZnVsbCA9ICJhcm0iCisgICAgIH0KKysgIH0g ZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgICBjcHVfYXJjaF9mdWxsID0g ImdlbmVyaWMiCisgICB9IGVsc2UgeworICAgICBjcHVfYXJjaF9mdWxsID0gY3VycmVudF9jcHUK KyAgIH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJnYXYxL29w dGlvbnMuZ25pCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGliZ2F2 MS9vcHRpb25zLmduaQorQEAgLTEyLDUgKzEyLDUgQEAgZGVjbGFyZV9hcmdzKCkgeworICAgICAg IGlzX2Nocm9tZW9zX2FzaCAmJiAodGFyZ2V0X2NwdSA9PSAiYXJtIiB8fCB0YXJnZXRfY3B1ID09 ICJhcm02NCIpCisgICB1c2VfbGliZ2F2MV9wYXJzZXIgPQorICAgICAgIChpc19jaHJvbWVvcyB8 fCBpc19saW51eCB8fCBpc193aW4pICYmCistICAgICAgKHRhcmdldF9jcHUgPT0gIng4NiIgfHwg dGFyZ2V0X2NwdSA9PSAieDY0IiB8fCB0YXJnZXRfY3B1ID09ICJhcm02NCIpCisrICAgICAgKHRh cmdldF9jcHUgPT0gIng4NiIgfHwgdGFyZ2V0X2NwdSA9PSAieDY0IiB8fCB0YXJnZXRfY3B1ID09 ICJhcm02NCIgfHwgdGFyZ2V0X2NwdSA9PSAicHBjNjQiKQorIH0KKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBw b3J0LmgKK0BAIC00MjYyLDcgKzQyNjIsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRmcyB7CisgICAg ICAgTFNTX1JFRygyLCBidWYpOworICAgICAgIExTU19CT0RZKHZvaWQqLCBtbWFwMiwgIjAiKF9f cjIpKTsKKyAgICAgfQorLSNlbHNlCisrI2VsaWYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykgLyog cHBjNjQgZG9lc24ndCBoYXZlIG1tYXAyICovCisgICAgICNkZWZpbmUgX19OUl9fbW1hcDIgX19O Ul9tbWFwMgorICAgICBMU1NfSU5MSU5FIF9zeXNjYWxsNih2b2lkKiwgX21tYXAyLCAgICAgICAg ICAgIHZvaWQqLCBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QsICAgICAgICAg ICAgICAgICAgIGwsIGludCwgICAgICAgICAgICAgICBwLAorQEAgLTQzNzMsNyArNDM3Myw3IEBA IHN0cnVjdCBrZXJuZWxfc3RhdGZzIHsKKyAgICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg ZGVmaW5lZChfX0FSTV9BUkNIXzNfXykgfHwgZGVmaW5lZChfX0FSTV9FQUJJX18pIHx8ICAgICAg ICAgICAgICAgICAgICAgXAorICAgICAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9 PSBfTUlQU19TSU1fQUJJMzIpIHx8ICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICBkZWZpbmVk KF9fUFBDX18pIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCisrICAgICAoZGVmaW5lZChfX1BQQ19fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2 NF9fKSkgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKKyAgICAgIChkZWZpbmVkKF9fczM5MF9fKSAmJiAhZGVmaW5lZChfX3MzOTB4X18pKQor ICAgICAvKiBPbiB0aGVzZSBhcmNoaXRlY3R1cmVzLCBpbXBsZW1lbnQgbW1hcCgpIHdpdGggbW1h cDIoKS4gKi8KKyAgICAgTFNTX0lOTElORSB2b2lkKiBMU1NfTkFNRShtbWFwKSh2b2lkICpzLCBz aXplX3QgbCwgaW50IHAsIGludCBmLCBpbnQgZCwKK0BAIC00NTU2LDkgKzQ1NTYsMTcgQEAgc3Ry dWN0IGtlcm5lbF9zdGF0ZnMgeworICAgICB9CisgICAjZW5kaWYKKyAgICNpZiBkZWZpbmVkKF9f TlJfZnN0YXRhdDY0KQorKyAgICAjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyAgICAgICAgLy8g bXVzbCBkb2Vzbid0IGRlZmluZSBmc3RhdGF0NjQgZnN0YXRhdAorKyAgICAgICAgI3VuZGVmIGZz dGF0YXQ2NAorKyAgICAjZW5kaWYKKyAgICAgTFNTX0lOTElORSBfc3lzY2FsbDQoaW50LCAgIGZz dGF0YXQ2NCwgICAgICAgIGludCwgICBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBjaGFyICosICAgICAgcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGtlcm5l bF9zdGF0NjQgKiwgICBiLCAgICBpbnQsICAgZikKKysgICAgI2lmICFkZWZpbmVkKF9fR0xJQkNf XykKKysgICAgCS8vIHRoZW4gcmVzdG9yZSBpdAorKyAgICAgICAgI2RlZmluZSBmc3RhdGF0NjQg ZnN0YXRhdAorKyAgICAjZW5kaWYKKyAgICNlbmRpZgorICAgI2lmIGRlZmluZWQoX19OUl93YWl0 cGlkKQorICAgICAvLyB3YWl0cGlkIGlzIHBvbHlmaWxsZWQgYmVsb3cgd2hlbiBub3QgYXZhaWxh YmxlLgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BkZml1bS90aGly ZF9wYXJ0eS9saWJwbmcxNi9wbmdwcml2LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvbGlicG5nMTYvcG5ncHJpdi5oCitAQCAtMTk2 LDExICsxOTYsNyBAQAorICNlbmRpZgorIAorICNpZm5kZWYgUE5HX1BPV0VSUENfVlNYX09QVAor LSMgIGlmIGRlZmluZWQoX19QUEM2NF9fKSAmJiBkZWZpbmVkKF9fQUxUSVZFQ19fKSAmJiBkZWZp bmVkKF9fVlNYX18pCistIyAgICAgZGVmaW5lIFBOR19QT1dFUlBDX1ZTWF9PUFQgMgorLSMgIGVs c2UKKy0jICAgICBkZWZpbmUgUE5HX1BPV0VSUENfVlNYX09QVCAwCistIyAgZW5kaWYKKysjICBk ZWZpbmUgUE5HX1BPV0VSUENfVlNYX09QVCAwCisgI2VuZGlmCisgCisgI2lmbmRlZiBQTkdfSU5U RUxfU1NFX09QVAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BmZmZ0 L3NyYy9wZmZmdC5jCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGZm ZnQvc3JjL3BmZmZ0LmMKK0BAIC0xMDAsNiArMTAwLDcgQEAKKyAgICBBbHRpdmVjIHN1cHBvcnQg bWFjcm9zIAorICovCisgI2lmICFkZWZpbmVkKFBGRkZUX1NJTURfRElTQUJMRSkgJiYgKGRlZmlu ZWQoX19wcGNfXykgfHwgZGVmaW5lZChfX3BwYzY0X18pKQorKyNpbmNsdWRlIDxhbHRpdmVjLmg+ CisgdHlwZWRlZiB2ZWN0b3IgZmxvYXQgdjRzZjsKKyAjICBkZWZpbmUgU0lNRF9TWiA0CisgIyAg ZGVmaW5lIFZaRVJPKCkgKCh2ZWN0b3IgZmxvYXQpIHZlY19zcGxhdF91OCgwKSkKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9za2lhL3NyYy9za3NsL1NrU0xTdHJpbmcu Y3BwCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc2tpYS9zcmMvc2tz bC9Ta1NMU3RyaW5nLmNwcAorQEAgLTE0Miw3ICsxNDIsMTIgQEAgU3RyaW5nIHRvX3N0cmluZyhk b3VibGUgdmFsdWUpIHsKKyAgICAgaWYgKG5lZWRzRG90WmVybykgeworICAgICAgICAgYnVmZmVy IDw8ICIuMCI7CisgICAgIH0KKy0gICAgcmV0dXJuIFN0cmluZyhidWZmZXIuc3RyKCkuY19zdHIo KSk7CisrCisrICAgIHN0ZDo6c3RyaW5nIHJldChidWZmZXIuc3RyKCkpOworKyAgICBpZiAoc2ln bmJpdCh2YWx1ZSkgJiYgcmV0WzBdID09ICcuJykgeworKyAgICAgICAgcmV0WzBdID0gJy0nOwor KyAgICB9CisrICAgIHJldHVybiBTdHJpbmcocmV0LmNfc3RyKCkpOworIH0KKyAKKyBib29sIHN0 b2QoY29uc3Qgc2tzdGQ6OnN0cmluZ192aWV3JiBzLCBTS1NMX0ZMT0FUKiB2YWx1ZSkgeworLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0 aW9uL3NxbGl0ZTMuYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3Nx bGl0ZS9zcmMvYW1hbGdhbWF0aW9uL3NxbGl0ZTMuYworQEAgLTE0NjI4LDcgKzE0NjI4LDggQEAg dHlwZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsKKyAjIGlmIGRlZmluZWQoaTM4NikgICAgICB8fCBk ZWZpbmVkKF9faTM4Nl9fKSAgICAgIHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAgXAorICAgICAg ZGVmaW5lZChfX3g4Nl82NCkgIHx8IGRlZmluZWQoX194ODZfNjRfXykgICAgfHwgZGVmaW5lZChf TV9YNjQpICB8fCAgICBcCisgICAgICBkZWZpbmVkKF9NX0FNRDY0KSAgfHwgZGVmaW5lZChfTV9B Uk0pICAgICAgICB8fCBkZWZpbmVkKF9feDg2KSAgIHx8ICAgIFwKKy0gICAgIGRlZmluZWQoX19B Uk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmluZWQoX01fQVJNNjQpCisr ICAgICBkZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVmaW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZp bmVkKF9NX0FSTTY0KSB8fCAgIFwKKysgICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgKF9f QllURV9PUkRFUl9fID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKQorICMgICBkZWZpbmUgU1FM SVRFX0JZVEVPUkRFUiAgICAxMjM0CisgIyBlbGlmIGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZp bmVkKF9fcHBjX18pIHx8IFwKKyAgICAgICAgZGVmaW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQo X19BQVJDSDY0RUJfXykKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9z cWxpdGUvc3JjL2FtYWxnYW1hdGlvbl9kZXYvc3FsaXRlMy5jCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb25fZGV2L3NxbGl0ZTMu YworQEAgLTE0NjQxLDcgKzE0NjQxLDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsKKyAj IGlmIGRlZmluZWQoaTM4NikgICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgICAgIHx8IGRlZmlu ZWQoX01fSVg4NikgfHwgICAgXAorICAgICAgZGVmaW5lZChfX3g4Nl82NCkgIHx8IGRlZmluZWQo X194ODZfNjRfXykgICAgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCisgICAgICBkZWZpbmVk KF9NX0FNRDY0KSAgfHwgZGVmaW5lZChfTV9BUk0pICAgICAgICB8fCBkZWZpbmVkKF9feDg2KSAg IHx8ICAgIFwKKy0gICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVM X18pIHx8IGRlZmluZWQoX01fQVJNNjQpCisrICAgICBkZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVm aW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0KSB8fCAgIFwKKysgICAgIGRl ZmluZWQoX19wb3dlcnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfTElUVExF X0VORElBTl9fKQorICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICAxMjM0CisgIyBlbGlm IGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKKyAgICAgICAgZGVm aW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5jCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9leHQvcnRy ZWUvcnRyZWUuYworQEAgLTQ1MCw3ICs0NTAsNyBAQCBzdHJ1Y3QgUnRyZWVNYXRjaEFyZyB7Cisg I2lmIGRlZmluZWQoaTM4NikgICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgfHwgZGVmaW5lZChf TV9JWDg2KSB8fCAgICBcCisgICAgIGRlZmluZWQoX194ODZfNjQpIHx8IGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCisgICAgIGRlZmluZWQoX01fQU1ENjQp IHx8IGRlZmluZWQoX01fQVJNKSAgICAgfHwgZGVmaW5lZChfX3g4NikgICB8fCAgICBcCistICAg IGRlZmluZWQoX19hcm1fXykKKysgICAgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXykK KyAjIGRlZmluZSBTUUxJVEVfQllURU9SREVSICAgIDEyMzQKKyAjZWxpZiBkZWZpbmVkKHNwYXJj KSAgICB8fCBkZWZpbmVkKF9fcHBjX18pCisgIyBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICA0 MzIxCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9z cmMvc3FsaXRlSW50LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9z cWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQuaAorQEAgLTg5MCw3ICs4OTAsOCBAQCB0eXBlZGVmIElO VDE2X1RZUEUgTG9nRXN0OworICMgaWYgZGVmaW5lZChpMzg2KSAgICAgIHx8IGRlZmluZWQoX19p Mzg2X18pICAgICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCisgICAgICBkZWZpbmVkKF9f eDg2XzY0KSAgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSAgICB8fCBkZWZpbmVkKF9NX1g2NCkgIHx8 ICAgIFwKKyAgICAgIGRlZmluZWQoX01fQU1ENjQpICB8fCBkZWZpbmVkKF9NX0FSTSkgICAgICAg IHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXAorLSAgICAgZGVmaW5lZChfX0FSTUVMX18pIHx8 IGRlZmluZWQoX19BQVJDSDY0RUxfXykgfHwgZGVmaW5lZChfTV9BUk02NCkKKysgICAgIGRlZmlu ZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmluZWQoX01fQVJN NjQpIHx8IFwKKysgICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9f ID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKQorICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRF UiAgICAxMjM0CisgIyBlbGlmIGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18p IHx8IFwKKyAgICAgICAgZGVmaW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJf XykKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxl cy9kZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJlL2RpZmZlcl9i bG9jay5jYworQEAgLTMwLDExICszMCw3IEBAIGJvb2wgVmVjdG9yRGlmZmVyZW5jZShjb25zdCB1 aW50OF90KiBpbWEKKyAgIHN0YXRpYyBib29sICgqZGlmZl9wcm9jKShjb25zdCB1aW50OF90Kiwg Y29uc3QgdWludDhfdCopID0gbnVsbHB0cjsKKyAKKyAgIGlmICghZGlmZl9wcm9jKSB7CistI2lm IGRlZmluZWQoV0VCUlRDX0FSQ0hfQVJNX0ZBTUlMWSkgfHwgZGVmaW5lZChXRUJSVENfQVJDSF9N SVBTX0ZBTUlMWSkKKy0gICAgLy8gRm9yIEFSTSBhbmQgTUlQUyBwcm9jZXNzb3JzLCBhbHdheXMg dXNlIEMgdmVyc2lvbi4KKy0gICAgLy8gVE9ETyhoY2xhbSk6IEltcGxlbWVudCBhIE5FT04gdmVy c2lvbi4KKy0gICAgZGlmZl9wcm9jID0gJlZlY3RvckRpZmZlcmVuY2VfQzsKKy0jZWxzZQorKyNp ZiBkZWZpbmVkKFdFQlJUQ19BUkNIX1g4Nl9GQU1JTFkpCisgICAgIGJvb2wgaGF2ZV9zc2UyID0g R2V0Q1BVSW5mbyhrU1NFMikgIT0gMDsKKyAgICAgLy8gRm9yIHg4NiBwcm9jZXNzb3JzLCBjaGVj ayBpZiBTU0UyIGlzIHN1cHBvcnRlZC4KKyAgICAgaWYgKGhhdmVfc3NlMiAmJiBrQmxvY2tTaXpl ID09IDMyKSB7CitAQCAtNDQsNiArNDAsMTAgQEAgYm9vbCBWZWN0b3JEaWZmZXJlbmNlKGNvbnN0 IHVpbnQ4X3QqIGltYQorICAgICB9IGVsc2UgeworICAgICAgIGRpZmZfcHJvYyA9ICZWZWN0b3JE aWZmZXJlbmNlX0M7CisgICAgIH0KKysjZWxzZQorKyAgICAvLyBGb3Igb3RoZXIgcHJvY2Vzc29y cywgYWx3YXlzIHVzZSBDIHZlcnNpb24uCisrICAgIC8vIFRPRE8oaGNsYW0pOiBJbXBsZW1lbnQg YSBORU9OIHZlcnNpb24uCisrICAgIGRpZmZfcHJvYyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7Cisg I2VuZGlmCisgICB9CisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvQlVJTEQuZ24K KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9CVUlMRC5nbgorQEAgLTEwODMsNiArMTA4 MywxMiBAQCBjb25maWcoInRvb2xjaGFpbiIpIHsKKyAgICAgfQorICAgICBpZiAoaG9zdF9ieXRl b3JkZXIgPT0gImxpdHRsZSIpIHsKKyAgICAgICBkZWZpbmVzICs9IFsgIlY4X1RBUkdFVF9BUkNI X1BQQ19MRSIgXQorKyAgICAgIGNmbGFncyArPSBbCisrICAgICAgICAjIEVuYWJsZSB1c2FnZSBv ZiBBbHRpVmVjLCBWU1gsIGFuZCBvdGhlciBQT1dFUjggYW5kIGhpZ2hlciBmZWF0dXJlcworKyAg ICAgICAgIi1tY3B1PXBvd2VyOCIsCisrICAgICAgICAiLW1hbHRpdmVjIiwKKysgICAgICAgICIt bXZzeCIsCisrICAgICAgXQorICAgICB9IGVsc2UgaWYgKGhvc3RfYnl0ZW9yZGVyID09ICJiaWci KSB7CisgICAgICAgZGVmaW5lcyArPSBbICJWOF9UQVJHRVRfQVJDSF9QUENfQkUiIF0KKyAgICAg ICBpZiAoY3VycmVudF9vcyA9PSAiYWl4IikgeworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3VpL2dsL2ZlYXR1cmVzLmduaQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3VpL2dsL2Zl YXR1cmVzLmduaQorQEAgLTM1LDcgKzM1LDggQEAgZGVjbGFyZV9hcmdzKCkgeworICAgICAgICAg ICAgICAgICAgICAgICAgIChpc19tYWMgJiYgdXNlX2VnbCkgfHwgaXNfY2hyb21lb3NfYXNoIHx8 IGlzX2Z1Y2hzaWEpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAodGFyZ2V0X2NwdSA9PSAi eDg2IiB8fCB0YXJnZXRfY3B1ID09ICJ4NjQiIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAg dGFyZ2V0X2NwdSA9PSAiYXJtIiB8fCB0YXJnZXRfY3B1ID09ICJhcm02NCIgfHwKKy0gICAgICAg ICAgICAgICAgICAgICAgICB0YXJnZXRfY3B1ID09ICJtaXBzZWwiIHx8IHRhcmdldF9jcHUgPT0g Im1pcHM2NGVsIikKKysgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfY3B1ID09ICJtaXBz ZWwiIHx8IHRhcmdldF9jcHUgPT0gIm1pcHM2NGVsIiB8fAorKyAgICAgICAgICAgICAgICAgICAg ICAgIHRhcmdldF9jcHUgPT0gInBwYzY0IikKKyB9CisgCisgdXNlX2dseCA9IHVzZV94MTEgfHwg b3pvbmVfcGxhdGZvcm1feDExCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvdGVzdC9C VUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3Rlc3QvQlVJTEQuZ24KK0BA IC00Miw3ICs0Miw2IEBAIGdyb3VwKCJnbl9hbGwiKSB7CisgICAgICAgImJlbmNobWFya3MvY3Bw OmduX2FsbCIsCisgICAgICAgImNjdGVzdDpjY3Rlc3QiLAorICAgICAgICJjY3Rlc3Q6Z2VuZXJh dGUtYnl0ZWNvZGUtZXhwZWN0YXRpb25zIiwKKy0gICAgICAidW5pdHRlc3RzOnVuaXR0ZXN0cyIs CisgICAgIF0KKyAgIH0KKyB9CitAQCAtODQsNyArODMsNiBAQCBncm91cCgidjhfYm90X2RlZmF1 bHQiKSB7CisgICAgICJtZXNzYWdlOnY4X21lc3NhZ2UiLAorICAgICAibWpzdW5pdDp2OF9tanN1 bml0IiwKKyAgICAgIm1rZ3Jva2R1bXA6bWtncm9rZHVtcCIsCistICAgICJ1bml0dGVzdHM6dW5p dHRlc3RzIiwKKyAgICAgIndlYmtpdDp2OF93ZWJraXQiLAorICAgXQorIAorQEAgLTEwOSw3ICsx MDcsNiBAQCBncm91cCgidjhfZGVmYXVsdCIpIHsKKyAgICAgIm1lc3NhZ2U6djhfbWVzc2FnZSIs CisgICAgICJtanN1bml0OnY4X21qc3VuaXQiLAorICAgICAibWtncm9rZHVtcDpta2dyb2tkdW1w IiwKKy0gICAgInVuaXR0ZXN0czp1bml0dGVzdHMiLAorICAgXQorIAorICAgaWYgKHY4X2VuYWJs ZV93ZWJhc3NlbWJseSkgeworLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2Rldi9udWxsCitAQCAtMCwwICsxLDM5IEBACisrLyoKKysgKiBBdXRvZ2VuZXJhdGVkIGJ5 IHRoZSBNZXNvbiBidWlsZCBzeXN0ZW0uCisrICogRG8gbm90IGVkaXQsIHlvdXIgY2hhbmdlcyB3 aWxsIGJlIGxvc3QuCisrICovCisrCisrI3ByYWdtYSBvbmNlCisrCisrI2RlZmluZSBBUkNIX0FB UkNINjQgMAorKworKyNkZWZpbmUgQVJDSF9BUk0gMAorKworKyNkZWZpbmUgQVJDSF9QUEM2NExF IDEKKysKKysjZGVmaW5lIEFSQ0hfWDg2IDAKKysKKysjZGVmaW5lIEFSQ0hfWDg2XzMyIDAKKysK KysjZGVmaW5lIEFSQ0hfWDg2XzY0IDAKKysKKysjZGVmaW5lIENPTkZJR18xNkJQQyAxCisrCisr I2RlZmluZSBDT05GSUdfOEJQQyAxCisrCisrLy8gI2RlZmluZSBDT05GSUdfTE9HIDEgLS0gTG9n Z2luZyBpcyBjb250cm9sbGVkIGJ5IENocm9taXVtCisrCisrI2RlZmluZSBFTkRJQU5ORVNTX0JJ RyAwCisrCisrI2RlZmluZSBIQVZFX0FTTSAxCisrCisrI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJ TUUgMQorKworKyNkZWZpbmUgSEFWRV9ETFNZTSAxCisrCisrI2RlZmluZSBIQVZFX0dFVEFVWFZB TCAxCisrCisrI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKKysKKysjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQorKworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fi c2VpbC1jcHAvYWJzbC9iYXNlL2ludGVybmFsL3Vuc2NhbGVkY3ljbGVjbG9jay5oCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL2Jhc2UvaW50 ZXJuYWwvdW5zY2FsZWRjeWNsZWNsb2NrLmgKK0BAIC00Niw3ICs0Niw3IEBACisgCisgLy8gVGhl IGZvbGxvd2luZyBwbGF0Zm9ybXMgaGF2ZSBhbiBpbXBsZW1lbnRhdGlvbiBvZiBhIGhhcmR3YXJl IGNvdW50ZXIuCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAorLSAgZGVmaW5lZChfX3Bvd2VycGNfXykgfHwg ZGVmaW5lZChfX3BwY19fKSB8fCBcCisrICAoKGRlZmluZWQoX19wb3dlcnBjX18pIHx8IGRlZmlu ZWQoX19wcGNfXykpICYmIGRlZmluZWQoX19HTElCQ19fKSkgfHwgXAorICAgZGVmaW5lZChfTV9J WDg2KSB8fCBkZWZpbmVkKF9NX1g2NCkKKyAjZGVmaW5lIEFCU0xfSEFWRV9VTlNDQUxFRF9DWUNM RUNMT0NLX0lNUExFTUVOVEFUSU9OIDEKKyAjZWxzZQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0 cmFjZV9jb25maWcuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fi c2VpbC1jcHAvYWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9jb25maWcuaAorQEAg LTU5LDcgKzU5LDcgQEAKKyAjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2 XzY0X18pCisgI2RlZmluZSBBQlNMX1NUQUNLVFJBQ0VfSU5MX0hFQURFUiBcCisgICAiYWJzbC9k ZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV94ODYtaW5sLmluYyIKKy0jZWxpZiBkZWZpbmVk KF9fcHBjX18pIHx8IGRlZmluZWQoX19QUENfXykKKysjZWxpZiBkZWZpbmVkKF9fcHBjX18pIHx8 IGRlZmluZWQoX19QUENfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgI2RlZmluZSBBQlNMX1NU QUNLVFJBQ0VfSU5MX0hFQURFUiBcCisgICAiYWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0 cmFjZV9wb3dlcnBjLWlubC5pbmMiCisgI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9y L3BhcnRpdGlvbl9hbGxvY19jb25maWcuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jh c2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5o CitAQCAtMTAwLDcgKzEwMCw4IEBAIHN0YXRpY19hc3NlcnQoc2l6ZW9mKHZvaWQqKSAhPSA4LCAi Iik7CisgLy8gUFVUX1JFRl9DT1VOVF9JTl9QUkVWSU9VU19TTE9UIGRvZXMuIEluIHRoaXMgY2Fz ZSB0aGUgcmVmY291bnQgb3ZlcmxhcHMgd2l0aAorIC8vIHRoZSBuZXh0IHBvaW50ZXIgc2hhZG93 IGZvciB0aGUgc21hbGxlc3QgYnVja2V0LgorICNpZiAhKGRlZmluZWQoT1NfTUFDKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVX0FSTTY0KSkgJiYgXAorLSAgICAhQlVJTERGTEFHKFBVVF9SRUZfQ09VTlRf SU5fUFJFVklPVVNfU0xPVCkKKysgICAgIUJVSUxERkxBRyhQVVRfUkVGX0NPVU5UX0lOX1BSRVZJ T1VTX1NMT1QpICYmIFwKKysgICAgKCFkZWZpbmVkKF9fR0xJQkMpICYmICFkZWZpbmVkKF9fcG93 ZXJwYzY0X18pKQorICNkZWZpbmUgUEFfSEFTX0ZSRUVMSVNUX0hBUkRFTklORworICNlbmRpZgor IAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2Rvd25sb2FkX25hY2xfdG9vbGNo YWlucy5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2Rvd25sb2FkX25hY2xf dG9vbGNoYWlucy5weQorQEAgLTEzLDYgKzEzLDggQEAgaW1wb3J0IHN5cworIAorIAorIGRlZiBN YWluKGFyZ3MpOgorKyAgaWYgJ2Rpc2FibGVfbmFjbD0xJyBpbiBvcy5lbnZpcm9uLmdldCgnR1lQ X0RFRklORVMnLCAnJyk6CisrICAgIHJldHVybiAwCisgICBzY3JpcHRfZGlyID0gb3MucGF0aC5k aXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCisgICBzcmNfZGlyID0gb3MucGF0aC5k aXJuYW1lKHNjcmlwdF9kaXIpCisgICBuYWNsX2RpciA9IG9zLnBhdGguam9pbihzcmNfZGlyLCAn bmF0aXZlX2NsaWVudCcpCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vY2hyb21lL2luc3Rh bGxlci9saW51eC9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Nocm9tZS9p bnN0YWxsZXIvbGludXgvQlVJTEQuZ24KK0BAIC0xMDAsOCArMTAwLDYgQEAgcGFja2FnaW5nX2Zp bGVzID0gcGFja2FnaW5nX2ZpbGVzX2JpbmFyaQorICAgICAgICAgICAgICAgICAgICAgIiRyb290 X291dF9kaXIveGRnLW1pbWUiLAorICAgICAgICAgICAgICAgICAgICAgIiRyb290X291dF9kaXIv eGRnLXNldHRpbmdzIiwKKyAgICAgICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL2xvY2Fs ZXMvZW4tVVMucGFrIiwKKy0gICAgICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL01FSVBy ZWxvYWQvbWFuaWZlc3QuanNvbiIsCistICAgICAgICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rp ci9NRUlQcmVsb2FkL3ByZWxvYWRlZF9kYXRhLnBiIiwKKyAgICAgICAgICAgICAgICAgICBdCisg CisgYWN0aW9uX2ZvcmVhY2goImNhbGN1bGF0ZV9kZWJfZGVwZW5kZW5jaWVzIikgeworQEAgLTMy MSw3ICszMTksNiBAQCBncm91cCgiaW5zdGFsbGVyX2RlcHMiKSB7CisgICAgICI6dGhlbWVfZmls ZXMiLAorICAgICAiLy9jaHJvbWUiLAorICAgICAiLy9jaHJvbWU6cGFja2VkX3Jlc291cmNlcyIs CistICAgICIvL2Nocm9tZS9icm93c2VyL3Jlc291cmNlcy9tZWRpYS9tZWlfcHJlbG9hZDpjb21w b25lbnQiLAorICAgICAiLy9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwOmNocm9tZV9jcmFzaHBh ZF9oYW5kbGVyIiwKKyAgICAgIi8vc2FuZGJveC9saW51eDpjaHJvbWVfc2FuZGJveCIsCisgICBd CistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF9zeXNjYWxscy5oCitAQCAtMCwwICsxLDEyIEBA CisrLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVz ZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt c3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu CisrCisrI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1NZ U0NBTExTX0hfCisrI2RlZmluZSBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJ TlVYX1NZU0NBTExTX0hfCisrCisrI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKysKKysvL1RPRE86 IGlzIGl0IG5lY2Vzc2FyeSB0byByZWRlZmluZSBzeXNjYWxsIG51bWJlcnMgZm9yIFBQQzY0Pwor KworKyNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9T WVNDQUxMU19IXworLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfdWNvbnRleHQuaAorQEAgLTAs MCArMSwxMiBAQAorKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwg cmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElD RU5TRSBmaWxlLgorKworKyNpZm5kZWYgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2 NF9MSU5VWF9VQ09OVEVYVF9IXworKyNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVS U19QUEM2NF9MSU5VWF9VQ09OVEVYVF9IXworKworKyNpbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4K KysKKysvL1RPRE86IGlzIGl0IG5lY2Vzc2FyeSB0byByZWRlZmluZSB1Y29udGV4dCBvbiBQUEM2 ND8KKysKKysjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElO VVhfVUNPTlRFWFRfSF8KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL25ldC9odHRwX3RyYW5zcG9ydF9saWJjdXJsLmNjCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRp bC9uZXQvaHR0cF90cmFuc3BvcnRfbGliY3VybC5jYworQEAgLTIzNiw2ICsyMzYsMTIgQEAgc3Rk OjpzdHJpbmcgVXNlckFnZW50KCkgeworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfQklHX0VORElB TikKKyAgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGFyY2hbXSA9ICJhYXJjaDY0X2JlIjsKKyAj ZW5kaWYKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrI2lmIGRlZmluZWQoQVJDSF9D UFVfTElUVExFX0VORElBTikKKysgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGFyY2hbXSA9ICJw cGM2NGxlIjsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX0JJR19FTkRJQU4pCisrICAgIHN0YXRp YyBjb25zdGV4cHIgY2hhciBhcmNoW10gPSAicHBjNjQiOworKyNlbmRpZgorICNlbHNlCisgI2Vy cm9yIFBvcnQKKyAjZW5kaWYKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9jb25maWcvbGludXgvcHBjNjQvY29uZmlnLmgKK0BAIC0w LDAgKzEsMzkgQEAKKysvKgorKyAqIEF1dG9nZW5lcmF0ZWQgYnkgdGhlIE1lc29uIGJ1aWxkIHN5 c3RlbS4KKysgKiBEbyBub3QgZWRpdCwgeW91ciBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4KKysgKi8K KysKKysjcHJhZ21hIG9uY2UKKysKKysjZGVmaW5lIEFSQ0hfQUFSQ0g2NCAwCisrCisrI2RlZmlu ZSBBUkNIX0FSTSAwCisrCisrI2RlZmluZSBBUkNIX1BQQzY0TEUgMQorKworKyNkZWZpbmUgQVJD SF9YODYgMAorKworKyNkZWZpbmUgQVJDSF9YODZfMzIgMAorKworKyNkZWZpbmUgQVJDSF9YODZf NjQgMAorKworKyNkZWZpbmUgQ09ORklHXzE2QlBDIDEKKysKKysjZGVmaW5lIENPTkZJR184QlBD IDEKKysKKysvLyAjZGVmaW5lIENPTkZJR19MT0cgMSAtLSBMb2dnaW5nIGlzIGNvbnRyb2xsZWQg YnkgQ2hyb21pdW0KKysKKysjZGVmaW5lIEVORElBTk5FU1NfQklHIDAKKysKKysjZGVmaW5lIEhB VkVfQVNNIDEKKysKKysjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCisrCisrI2RlZmluZSBI QVZFX0RMU1lNIDEKKysKKysjZGVmaW5lIEhBVkVfR0VUQVVYVkFMIDEKKysKKysjZGVmaW5lIEhB VkVfUE9TSVhfTUVNQUxJR04gMQorKworKyNkZWZpbmUgSEFWRV9VTklTVERfSCAxCisrCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAzLXh4eC1wcGM2NGxlLXN3 aWZ0c2hhZGVyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMy14eHgt cHBjNjRsZS1zd2lmdHNoYWRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjFhOGNkODM2OGRhMQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzA5MDMteHh4LXBwYzY0bGUtc3dpZnRzaGFkZXIucGF0Y2gKQEAgLTAs MCArMSwxOCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3N3aWZ0 c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9C VUlMRC5nbgorQEAgLTU3Niw2ICs1NzYsNyBAQCBzd2lmdHNoYWRlcl9sbHZtX3NvdXJjZV9zZXQo InN3aWZ0c2hhZGVyCisgICAgICJsbHZtL2xpYi9NQy9NQ0FzbUluZm9DT0ZGLmNwcCIsCisgICAg ICJsbHZtL2xpYi9NQy9NQ0FzbUluZm9EYXJ3aW4uY3BwIiwKKyAgICAgImxsdm0vbGliL01DL01D QXNtSW5mb0VMRi5jcHAiLAorKyAgICAibGx2bS9saWIvTUMvTUNBc21JbmZvWENPRkYuY3BwIiwK KyAgICAgImxsdm0vbGliL01DL01DQXNtTWFjcm8uY3BwIiwKKyAgICAgImxsdm0vbGliL01DL01D QXNtU3RyZWFtZXIuY3BwIiwKKyAgICAgImxsdm0vbGliL01DL01DQXNzZW1ibGVyLmNwcCIsCitA QCAtNjMxLDYgKzYzMiw3IEBAIHN3aWZ0c2hhZGVyX2xsdm1fc291cmNlX3NldCgic3dpZnRzaGFk ZXIKKyAgICAgImxsdm0vbGliL01DL01DV2luQ09GRlN0cmVhbWVyLmNwcCIsCisgICAgICJsbHZt L2xpYi9NQy9NQ1dpbkVILmNwcCIsCisgICAgICJsbHZtL2xpYi9NQy9NQ1hDT0ZGU3RyZWFtZXIu Y3BwIiwKKysgICAgImxsdm0vbGliL01DL01DWENPRkZPYmplY3RUYXJnZXRXcml0ZXIuY3BwIiwK KyAgICAgImxsdm0vbGliL01DL01hY2hPYmplY3RXcml0ZXIuY3BwIiwKKyAgICAgImxsdm0vbGli L01DL1N0cmluZ1RhYmxlQnVpbGRlci5jcHAiLAorICAgICAibGx2bS9saWIvTUMvU3VidGFyZ2V0 RmVhdHVyZS5jcHAiLApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRl IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uMmYwZGUyYzdhZGY2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlCkBAIC0wLDAgKzEsMTc4IEBACisjIFRlbXBsYXRlIGZp bGUgZm9yICdxdDYtd2ViZW5naW5lJworcGtnbmFtZT1xdDYtd2ViZW5naW5lCit2ZXJzaW9uPTYu My4xCityZXZpc2lvbj0xCit3cmtzcmM9InF0d2ViZW5naW5lLWV2ZXJ5d2hlcmUtc3JjLSR7dmVy c2lvbn0iCitidWlsZF9zdHlsZT1jbWFrZQorY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVE9P TFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlCisgLURRVF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0 ZW1fZmZtcGVnPU9OCisgLURRVF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0ZW1fbGliZXZlbnQ9T04K KyAtRFFUX0ZFQVRVUkVfd2ViZW5naW5lX3N5c3RlbV9nbj1PTgorIC1EUVRfRkVBVFVSRV93ZWJl bmdpbmVfc3lzdGVtX2ljdT1PTgorIC1EUVRfRkVBVFVSRV93ZWJlbmdpbmVfd2VicnRjX3BpcGV3 aXJlPU9OCisgLUROaW5qYV9FWEVDVVRBQkxFPSRYQlBTX1dSQVBQRVJESVIvbmluamEKKyAkKHZv cHRfYm9vbCBleGFtcGxlcyBRVF9CVUlMRF9FWEFNUExFUykKKyAtRFBLR19DT05GSUdfSE9TVF9F WEVDVVRBQkxFPSR7UEtHX0NPTkZJR19GT1JfQlVJTER9IgoraG9zdG1ha2VkZXBlbmRzPSJxdDYt YmFzZS1kZXZlbCBwZXJsIHBrZy1jb25maWcgbm9kZWpzIHB5dGhvbjMtaHRtbDVsaWIKKyBxdDYt ZGVjbGFyYXRpdmUtZGV2ZWwgcHJvdG9idWYgZ3BlcmYgZmxleCBuc3MtZGV2ZWwgbGlid2VicC1k ZXZlbAorIGljdS1kZXZlbCBsaWJldmVudC1kZXZlbCIKK21ha2VkZXBlbmRzPSJxdDYtYmFzZS1k ZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcHVsc2VhdWRpby1kZXZlbAorIHF0Ni10b29scy1k ZXZlbCBxdDYtd2Vic29ja2V0cy1kZXZlbCBsaWJmbGFjLWRldmVsCisgYWxzYS1saWItZGV2ZWwg bGlidnB4LWRldmVsIHBjaXV0aWxzLWRldmVsIG9wdXMtZGV2ZWwgbGlieHNsdC1kZXZlbAorIGxp YnhtbDItZGV2ZWwgZnJlZXR5cGUtZGV2ZWwgbGNtczItZGV2ZWwgbGlid2VicC1kZXZlbCBpY3Ut ZGV2ZWwKKyByZTItZGV2ZWwgemxpYi1kZXZlbCBsaWJwbmctZGV2ZWwgbWluaXppcC1kZXZlbCBo YXJmYnV6ei1kZXZlbAorIG5zcy1kZXZlbCBsaWJYY3Vyc29yLWRldmVsIGxpYlhjb21wb3NpdGUt ZGV2ZWwgbGliWFNjcm5TYXZlci1kZXZlbAorIHByb3RvYnVmLWRldmVsIGZmbXBlZy1kZXZlbCBz bmFwcHktZGV2ZWwgbGliZXZlbnQtZGV2ZWwgcGlwZXdpcmUtZGV2ZWwKKyBsaWJ4a2JmaWxlLWRl dmVsIHF0Ni1sb2NhdGlvbi1kZXZlbCBxdDYtd2ViY2hhbm5lbC1kZXZlbCBsaWJ4c2htZmVuY2Ut ZGV2ZWwiCisjIE5vdCB3b3JraW5nIHByb3Blcmx5IHdpdGggSFRUUFMgd2l0aG91dCB0aG9zZSBw YWNrYWdlcworIyBOb3Qgc3RyaWN0IGRlcGVuZGVuY2llcywgdGhvdWdoCitkZXBlbmRzPSJxdDYt cGx1Z2luLXRscy1vcGVuc3NsIHF0Ni1wbHVnaW4tdGxzLXFjZXJ0b25seSIKK3Nob3J0X2Rlc2M9 IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBXZWJlbmdpbmUi CittYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgorbGljZW5zZT0iR1BMLTMu MC1vbmx5LCBHUEwtMi4wLW9ubHksIExHUEwtMy4wLW9ubHkgQlNELTMtQ2xhdXNlIgoraG9tZXBh Z2U9Imh0dHBzOi8vd3d3LnF0LmlvIgorZGlzdGZpbGVzPSJodHRwczovL2Rvd25sb2FkLnF0Lmlv L29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVz L3F0d2ViZW5naW5lLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgorY2hlY2tzdW09 YWQ3YTMzYjIxYTk1NmRlZGEzN2M1ODdkNTBmODIxY2EzODE2NDAzYWUzMWJhOWI1ZDU5ZDAxNTYx YWQ2NmU0NworCitpZiBbIC16ICIkQ1JPU1NfQlVJTEQiIF07dGhlbgorCWNvbmZpZ3VyZV9hcmdz Kz0iIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9L3Vzci9saWIvY21ha2UvUXQ2L3F0LnRvb2xjaGFp bi5jbWFrZSIKK2ZpCisKK2lmIFsgIiRYQlBTX0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwlob3N0 bWFrZWRlcGVuZHMrPSIgbXVzbC1sZWdhY3ktY29tcGF0IgorZmkKKworaWYgWyAiJFhCUFNfVEFS R0VUX0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwltYWtlZGVwZW5kcys9IiBtdXNsLWxlZ2FjeS1j b21wYXQiCitmaQorCitpZiBbICEgIiRYQlBTX1dPUkRTSVpFIiA9ICIkWEJQU19UQVJHRVRfV09S RFNJWkUiIF07IHRoZW4KKwlicm9rZW49IndlYmVuZ2luZSBjYW4gYmUgYnVpbHQgb25seSBpZiB3 b3JkIHNpemUgbWF0Y2hlcyIKK2ZpCisKK2lmIFsgIiRYQlBTX1dPUkRTSVpFIiAtZXEgMzIgXTsg dGhlbgorCW5vZGVidWc9eWVzCisJTERGTEFHUz0iLVdsLC0tbm8ta2VlcC1tZW1vcnkiCitmaQor CitpZiBbICIkWEJQU19UQVJHRVRfRU5ESUFOIiAhPSAibGUiIF07IHRoZW4KKwlicm9rZW49Indl YmVuZ2luZSBvbmx5IHN1cHBvcnRzIGxpdHRsZSBlbmRpYW4iCitmaQorCitidWlsZF9vcHRpb25z PSJzbmRpbyBleGFtcGxlcyIKK2J1aWxkX29wdGlvbnNfZGVmYXVsdD0iIgorZGVzY19vcHRpb25f ZXhhbXBsZXM9IkJ1aWxkIGV4YW1wbGVzIgorZGVzY19vcHRpb25fc25kaW89IkVuYWJsZSBzdXBw b3J0IGZvciBzbmRpbyIKKworc3VicGFja2FnZXM9InF0Ni13ZWJlbmdpbmUtZGV2ZWwiCisKK2lm IFsgIiRidWlsZF9vcHRpb25fZXhhbXBsZXMiIF07IHRoZW4KKwlzdWJwYWNrYWdlcys9IiBxdDYt d2ViZW5naW5lLWV4YW1wbGVzIgorZmkKKworX2Jvb3RzdHJhcF9nbigpIHsKKwkjIEJvb3RzdHJh cCBnbiAoZ2VuZXJhdGUgbmluamEpCisJZWNobyAiQm9vdHN0cmFwcGluZyAnZ24nIgorCWNkICR7 d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24KKwlDRkxBR1M9IiRDRkxBR1NfaG9zdCIgQ1hYRkxBR1M9 IiRDWFhGTEFHU19ob3N0IiBMREZMQUdTPSIkTERGTEFHU19ob3N0IiBcCisJUEtHQ09ORklHPS91 c3IvYmluL3BrZ2NvbmZpZyBQS0dfQ09ORklHX1BBVEg9Ii91c3IvbGliL3BrZ2NvbmZpZzovdXNy L3NoYXJlL3BrZ2NvbmZpZyIgXAorCQlweXRob24zIGJ1aWxkL2dlbi5weSAtLW5vLWxhc3QtY29t bWl0LXBvc2l0aW9uIC0tb3V0LXBhdGggXAorCQkJJHt3cmtzcmN9L3NyYy8zcmRwYXJ0eS9nbi9v dXQvUmVsZWFzZSAtLWNjICIke0NDX2hvc3Q6LSRDQ30iIFwKKwkJCS0tY3h4ICIke0NYWF9ob3N0 Oi0kQ1hYfSIgLS1sZCAiJHtDWFhfaG9zdDotJENYWH0iIC0tYXIgIiR7QVJfaG9zdDotJEFSfSIg XAorCQkJLS1xdC12ZXJzaW9uICIke3ZlcnNpb259LnF0d2ViZW5naW5lLnF0LmlvIgorCW5pbmph IC1DIG91dC9SZWxlYXNlIGduCisJY2QgJHt3cmtzcmN9Cit9CisKK191bmJ1bmRsZV9saWJzKCkg eworCWNkICR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvY2hyb21pdW0KKwllY2hvIERyb3BwaW5nIGJ1 bmRsZWQgbGlicyBmcm9tIGNocm9taXVtCisJIyBVc2Ugc3lzdGVtLXByb3ZpZGVkIGxpYnJhcmll cy4KKwkjIFRPRE86IHVzZV9zeXN0ZW1faHVuc3BlbGwgKHVwc3RyZWFtIGNoYW5nZXMgbmVlZGVk KS4KKwkjIFRPRE86IHVzZV9zeXN0ZW1fbGlic3J0cC4KKwkjIFRPRE86IHVzZV9zeXN0ZW1fbGli dXNiIChodHRwOi8vY3JidWcuY29tLzI2NjE0OSkuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX3NzbCAo aHR0cDovL2NyYnVnLmNvbS81ODA4NykuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX3NxbGl0ZSAoaHR0 cDovL2NyYnVnLmNvbS8yMjIwOCkuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX2ljdSAoc2VnZmF1bHRz KQorCSMgdXNlX3N5c3RlbV9wcm90b2J1ZgorCSMgdXNlX3N5c3RlbV92OD0xCisJIyB1c2Vfc3lz dGVtX3psaWI9MQorCSMgYnppcDIganNvbmNwcCBtaW5pemlwIHhkZ191dGlscyBzcGVleAorCXN5 c3RlbT0iCisJCWZmbXBlZworCQlmbGFjCisJCWZvbnRjb25maWcKKwkJZnJlZXR5cGUKKwkJaGFy ZmJ1enotbmcKKwkJaWN1CisJCWxpYmRybQorCQlsaWJldmVudAorCQlsaWJqcGVnCisJCWxpYnBu ZworCQlsaWJ3ZWJwCisJCWxpYnhtbAorCQlsaWJ4c2x0CisJCW9wdXMKKwkJcmUyCisJCXNuYXBw eQorCSIKKwlidWlsZC9saW51eC91bmJ1bmRsZS9yZXBsYWNlX2duX2ZpbGVzLnB5IC0tc3lzdGVt LWxpYnJhcmllcyAke3N5c3RlbX0KK30KKworIyBQcm92aWRlIGEgd3JhcHBlciB0byBydW4gLi94 YnBzLXNyYyAtaiAxIGJ1aWxkIGxhdGVyCitfd3JhcF9uaW5qYSgpIHsKKwljYXQgPDwtJ19FT0Yn ID4iJFhCUFNfV1JBUFBFUkRJUiIvbmluamEKKwkjIS9iaW4vc2gKKworCWV4ZWMgL3Vzci9iaW4v bmluamEgJE5JTkpBRkxBR1MgIiRAIgorCV9FT0YKKwljaG1vZCAreCAiJFhCUFNfV1JBUFBFUkRJ UiIvbmluamEKK30KKworcHJlX2NvbmZpZ3VyZSgpIHsKKwlfYm9vdHN0cmFwX2duCisJIyBfdW5i dW5kbGVfbGlicworCV93cmFwX25pbmphCisJZXhwb3J0IFBBVEg9IiRQQVRIOiR7d3Jrc3JjfS9z cmMvM3JkcGFydHkvZ24vb3V0L1JlbGVhc2UiCit9CisKK3ByZV9idWlsZCgpIHsKKwlleHBvcnQg UEFUSD0iJFBBVEg6JHt3cmtzcmN9L3NyYy8zcmRwYXJ0eS9nbi9vdXQvUmVsZWFzZSIKKwlleHBv cnQgTklOSkFGTEFHUz0iJG1ha2Vqb2JzIgorCit9CisKK3ByZV9pbnN0YWxsKCkgeworCWV4cG9y dCBQQVRIPSIkUEFUSDoke3dya3NyY30vc3JjLzNyZHBhcnR5L2duL291dC9SZWxlYXNlIgorfQor Citwb3N0X2luc3RhbGwoKSB7CisJbG9jYWwgX2ZpbGUKKwlmaW5kICIke0RFU1RESVJ9Ii91c3Iv bGliL3F0Ni9leGFtcGxlcyBcCisJCS1wYXRoICcqL2xpYi9xdDYvKiovbGliL3F0Ni8qJyAtdHlw ZSBmIHwKKwl3aGlsZSByZWFkIF9maWxlOyBkbworCQltdiAiJF9maWxlIiAiJHtfZmlsZSUvbGli L3F0Ni8qfSIKKwlkb25lCit9CisKK3F0Ni13ZWJlbmdpbmUtZGV2ZWxfcGFja2FnZSgpIHsKKwlk ZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LXdlYmNoYW5u ZWwtZGV2ZWw+PSR7dmVyc2lvbn1fMQorCSBxdDYtZGVjbGFyYXRpdmUtZGV2ZWw+PSR7dmVyc2lv bn1fMSBxdDYtbG9jYXRpb24tZGV2ZWw+PSR7dmVyc2lvbn1fMSIKKwlzaG9ydF9kZXNjKz0iIC0g ZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRl CisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKKwkJdm1v dmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92ZSAidXNyL2xpYi8qLnNvIgorCQl2bW92ZSAi dXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJfQorfQorCitx dDYtd2ViZW5naW5lLWV4YW1wbGVzX3BhY2thZ2UoKSB7CisJc2hvcnRfZGVzYys9IiAtIHNhbXBs ZSBicm93c2VycyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2xpYi9xdDYvZXhhbXBs ZXMKKwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdXBkYXRlIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3VwZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjg0NDU1MjQ2NTIyMgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS91cGRhdGUKQEAgLTAsMCArMSBAQAorcGtnbmFtZT0iJHtwa2duYW1lLzYtL30tZXZl cnl3aGVyZS1zcmMiCgpGcm9tIGQ3NjM2ZDFiZTQxZDUxNzg5ZWEwYmQyMTQxYTY3ZGE3ZThmMDhl MzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEw bj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwu Y29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTg6MTAgKzA3MDAKU3ViamVjdDogW1BBVENI IDI3LzMzXSBweXRob24zLXB5cXQ2OiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcHl0 aG9uMy1weXF0Ni1jb25uZWN0aXZpdHkgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1w eXF0Ni1jb25uZWN0aXZpdHktZGV2ZWwgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni1t dWx0aW1lZGlhICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni1tdWx0aW1l ZGlhLWRldmVsICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni1wb3NpdGlvbiAgICAg ICAgICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni1wb3NpdGlvbi1kZXZlbCAgICAg IHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni1yZW1vdGVvYmplY3RzICAgICAgIHwgICAx ICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni1yZW1vdGVvYmplY3RzLWRldmVsIHwgICAxICsKIHNy Y3BrZ3MvcHl0aG9uMy1weXF0Ni1zZW5zb3JzICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3Mv cHl0aG9uMy1weXF0Ni1zZW5zb3JzLWRldmVsICAgICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9u My1weXF0Ni1zZXJpYWxwb3J0ICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0 Ni1zZXJpYWxwb3J0LWRldmVsICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJj aGFubmVsICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJjaGFubmVs LWRldmVsICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJzb2NrZXRzICAgICAg ICAgIHwgICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJzb2NrZXRzLWRldmVsICAgIHwg ICAxICsKIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni90ZW1wbGF0ZSAgICAgICAgICAgIHwgMTgzICsr KysrKysrKysrKysrKysrKysrKy0KIDE3IGZpbGVzIGNoYW5nZWQsIDE5NSBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcHl0aG9uMy1weXF0 Ni1jb25uZWN0aXZpdHkKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3B5dGhvbjMtcHlxdDYt Y29ubmVjdGl2aXR5LWRldmVsCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9weXRob24zLXB5 cXQ2LW11bHRpbWVkaWEKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3B5dGhvbjMtcHlxdDYt bXVsdGltZWRpYS1kZXZlbAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcHl0aG9uMy1weXF0 Ni1wb3NpdGlvbgogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni1wb3Np dGlvbi1kZXZlbAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni1yZW1v dGVvYmplY3RzCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9weXRob24zLXB5cXQ2LXJlbW90 ZW9iamVjdHMtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3B5dGhvbjMtcHlxdDYt c2Vuc29ycwogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni1zZW5zb3Jz LWRldmVsCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9weXRob24zLXB5cXQ2LXNlcmlhbHBv cnQKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3B5dGhvbjMtcHlxdDYtc2VyaWFscG9ydC1k ZXZlbAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJjaGFubmVs CiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9weXRob24zLXB5cXQ2LXdlYmNoYW5uZWwtZGV2 ZWwKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3B5dGhvbjMtcHlxdDYtd2Vic29ja2V0cwog Y3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJzb2NrZXRzLWRldmVs CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLXB5cXQ2LWNvbm5lY3Rpdml0eSBiL3NyY3Br Z3MvcHl0aG9uMy1weXF0Ni1jb25uZWN0aXZpdHkKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXgg MDAwMDAwMDAwMDAwLi5kZDYwM2Q2ODIzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5 dGhvbjMtcHlxdDYtY29ubmVjdGl2aXR5CkBAIC0wLDAgKzEgQEAKK3B5dGhvbjMtcHlxdDYKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtcHlx dDYtY29ubmVjdGl2aXR5LWRldmVsIGIvc3JjcGtncy9weXRob24zLXB5cXQ2LWNvbm5lY3Rpdml0 eS1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLmRkNjAzZDY4 MjM0OQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1jb25uZWN0aXZp dHktZGV2ZWwKQEAgLTAsMCArMSBAQAorcHl0aG9uMy1weXF0NgpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1tdWx0aW1lZGlhIGIv c3JjcGtncy9weXRob24zLXB5cXQ2LW11bHRpbWVkaWEKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5k ZXggMDAwMDAwMDAwMDAwLi5kZDYwM2Q2ODIzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3B5dGhvbjMtcHlxdDYtbXVsdGltZWRpYQpAQCAtMCwwICsxIEBACitweXRob24zLXB5cXQ2Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLXB5 cXQ2LW11bHRpbWVkaWEtZGV2ZWwgYi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtbXVsdGltZWRpYS1k ZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLmRkNjAzZDY4MjM0 OQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1tdWx0aW1lZGlhLWRl dmVsCkBAIC0wLDAgKzEgQEAKK3B5dGhvbjMtcHlxdDYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtcG9zaXRpb24gYi9zcmNwa2dz L3B5dGhvbjMtcHlxdDYtcG9zaXRpb24KbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAw MDAwMDAwLi5kZDYwM2Q2ODIzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5dGhvbjMt cHlxdDYtcG9zaXRpb24KQEAgLTAsMCArMSBAQAorcHl0aG9uMy1weXF0NgpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1wb3NpdGlv bi1kZXZlbCBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1wb3NpdGlvbi1kZXZlbApuZXcgZmlsZSBt b2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLmRkNjAzZDY4MjM0OQotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1wb3NpdGlvbi1kZXZlbApAQCAtMCwwICsxIEBA CitweXRob24zLXB5cXQ2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9weXRob24zLXB5cXQ2LXJlbW90ZW9iamVjdHMgYi9zcmNwa2dzL3B5dGhvbjMtcHlx dDYtcmVtb3Rlb2JqZWN0cwpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAu LmRkNjAzZDY4MjM0OQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1y ZW1vdGVvYmplY3RzCkBAIC0wLDAgKzEgQEAKK3B5dGhvbjMtcHlxdDYKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtcmVtb3Rlb2Jq ZWN0cy1kZXZlbCBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1yZW1vdGVvYmplY3RzLWRldmVsCm5l dyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uZGQ2MDNkNjgyMzQ5Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9weXRob24zLXB5cXQ2LXJlbW90ZW9iamVjdHMtZGV2ZWwK QEAgLTAsMCArMSBAQAorcHl0aG9uMy1weXF0NgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1zZW5zb3JzIGIvc3JjcGtncy9weXRo b24zLXB5cXQ2LXNlbnNvcnMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAw Li5kZDYwM2Q2ODIzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYt c2Vuc29ycwpAQCAtMCwwICsxIEBACitweXRob24zLXB5cXQ2ClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLXB5cXQ2LXNlbnNvcnMtZGV2ZWwg Yi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtc2Vuc29ycy1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAw MAppbmRleCAwMDAwMDAwMDAwMDAuLmRkNjAzZDY4MjM0OQotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcHl0aG9uMy1weXF0Ni1zZW5zb3JzLWRldmVsCkBAIC0wLDAgKzEgQEAKK3B5dGhvbjMt cHlxdDYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5 dGhvbjMtcHlxdDYtc2VyaWFscG9ydCBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1zZXJpYWxwb3J0 Cm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uZGQ2MDNkNjgyMzQ5Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9weXRob24zLXB5cXQ2LXNlcmlhbHBvcnQKQEAgLTAs MCArMSBAQAorcHl0aG9uMy1weXF0NgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1zZXJpYWxwb3J0LWRldmVsIGIvc3JjcGtncy9w eXRob24zLXB5cXQ2LXNlcmlhbHBvcnQtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXgg MDAwMDAwMDAwMDAwLi5kZDYwM2Q2ODIzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5 dGhvbjMtcHlxdDYtc2VyaWFscG9ydC1kZXZlbApAQCAtMCwwICsxIEBACitweXRob24zLXB5cXQ2 ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24z LXB5cXQ2LXdlYmNoYW5uZWwgYi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtd2ViY2hhbm5lbApuZXcg ZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLmRkNjAzZDY4MjM0OQotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJjaGFubmVsCkBAIC0wLDAgKzEg QEAKK3B5dGhvbjMtcHlxdDYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtd2ViY2hhbm5lbC1kZXZlbCBiL3NyY3BrZ3MvcHl0aG9u My1weXF0Ni13ZWJjaGFubmVsLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAw MDAwMDAwMC4uZGQ2MDNkNjgyMzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9weXRob24z LXB5cXQ2LXdlYmNoYW5uZWwtZGV2ZWwKQEAgLTAsMCArMSBAQAorcHl0aG9uMy1weXF0NgpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0 Ni13ZWJzb2NrZXRzIGIvc3JjcGtncy9weXRob24zLXB5cXQ2LXdlYnNvY2tldHMKbmV3IGZpbGUg bW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi5kZDYwM2Q2ODIzNDkKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtd2Vic29ja2V0cwpAQCAtMCwwICsxIEBACitw eXRob24zLXB5cXQ2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9weXRob24zLXB5cXQ2LXdlYnNvY2tldHMtZGV2ZWwgYi9zcmNwa2dzL3B5dGhvbjMtcHlx dDYtd2Vic29ja2V0cy1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAw MDAuLmRkNjAzZDY4MjM0OQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0 Ni13ZWJzb2NrZXRzLWRldmVsCkBAIC0wLDAgKzEgQEAKK3B5dGhvbjMtcHlxdDYKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtcHlxdDYvdGVt cGxhdGUgYi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYvdGVtcGxhdGUKaW5kZXggYTRhMmEwZWQzNmQ3 Li5kOWM0YjEzOWQ3ZGUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYvdGVtcGxhdGUKQEAgLTEsMTUgKzEsMjEgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtcHlxdDYnCiBwa2duYW1lPXB5dGhvbjMtcHlx dDYKLXZlcnNpb249Ni4xLjEKLXJldmlzaW9uPTIKK3ZlcnNpb249Ni4zLjEKK3JldmlzaW9uPTEK IHdya3NyYz1QeVF0Ni0kdmVyc2lvbgogYnVpbGRfc3R5bGU9c2lwLWJ1aWxkCiBidWlsZF9oZWxw ZXI9cWVtdQogY29uZmlndXJlX2FyZ3M9Ii0tY29uZmlybS1saWNlbnNlIC0tZGJ1cyAkWEJQU19D Uk9TU19CQVNFL3Vzci9pbmNsdWRlL2RidXMtMS4wIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFz ZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ2LXRvb2xzLWRldmVsCiAgcXQ2LXF1aWNr M2QtZGV2ZWwgcXQ2LXNoYWRlcnRvb2xzLWRldmVsIHF0Ni1zdmctZGV2ZWwgcHl0aG9uMy1kYnVz CisgcXQ2LXdlYmNoYW5uZWwtZGV2ZWwgcXQ2LW11bHRpbWVkaWEtZGV2ZWwgcXQ2LWxvY2F0aW9u LWRldmVsCisgcXQ2LXJlbW90ZW9iamVjdHMtZGV2ZWwgcXQ2LXNlbnNvcnMtZGV2ZWwgcXQ2LXNl cmlhbHBvcnQtZGV2ZWwKKyBxdDYtY29ubmVjdGl2aXR5LWRldmVsIHF0Ni13ZWJzb2NrZXRzLWRl dmVsCiAgcHl0aG9uMy1QeVF0LWJ1aWxkZXIgcGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRzPSJxdDYt YmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ2LXRvb2xzLWRldmVsCisgcXQ2LXdl YmNoYW5uZWwtZGV2ZWwgcXQ2LW11bHRpbWVkaWEtZGV2ZWwgcXQ2LWxvY2F0aW9uLWRldmVsCisg cXQ2LXJlbW90ZW9iamVjdHMtZGV2ZWwgcXQ2LXNlbnNvcnMtZGV2ZWwgcXQ2LXNlcmlhbHBvcnQt ZGV2ZWwKKyBxdDYtY29ubmVjdGl2aXR5LWRldmVsIHF0Ni13ZWJzb2NrZXRzLWRldmVsCiAgcXQ2 LXF1aWNrM2QtZGV2ZWwgcXQ2LXNoYWRlcnRvb2xzLWRldmVsIHF0Ni1zdmctZGV2ZWwgcHl0aG9u My1kYnVzLWRldmVsIgogZGVwZW5kcz0icHl0aG9uMy1weXF0Ni1zaXAiCiBzaG9ydF9kZXNjPSJQ eXRob24gMyBiaW5kaW5ncyBmb3IgUXQ2IgpAQCAtMTcsOSArMjMsOCBAQCBtYWludGFpbmVyPSLE kG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21haWwuY29tPiIKIGxpY2Vuc2U9 IkdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5yaXZlcmJhbmtjb21wdXRpbmcu Y29tL3NvZnR3YXJlL3B5cXQvIgogZGlzdGZpbGVzPSIkUFlQSV9TSVRFL1AvUHlRdDYvUHlRdDYt JHZlcnNpb24udGFyLmd6IgotY2hlY2tzdW09ODc3NTI0NGZhNzNmOTRiZmU4YWU3NjcyYjYyNGUy YTkwM2EyMmJjMzVkN2VhNDJkZDgzMDk0OWUyZjllNDNjNworY2hlY2tzdW09OGNjNmUyMWRiYWY3 MDQ3ZDFmYzg5N2UzOTZjY2Q5NzEwYTEyZjJlZjk3NjU2M2RhZDY1ZjA2MDE3ZDJjOTc1NwogbGli MzJkaXNhYmxlZD15ZXMKLXBhdGNoX2FyZ3M9LU5wMQogCiBpZiBbICIkWEJQU19UQVJHRVRfTk9f QVRPTUlDOCIgXTsgdGhlbgogCW1ha2VkZXBlbmRzKz0iIGxpYmF0b21pYy1kZXZlbCIKQEAgLTMy NSw3ICszMzAsMTc3IEBAIHB5dGhvbjMtcHlxdDYtZGV2ZWxfcGFja2FnZSgpIHsKIAkgcHl0aG9u My1weXF0Ni10ZXN0LWRldmVsPj0ke3ZlcnNpb259XyR7cmV2aXNpb259CiAJIHB5dGhvbjMtcHlx dDYtd2lkZ2V0cy1kZXZlbD49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQogCSBweXRob24zLXB5cXQ2 LXhtbC1kZXZlbD49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQorCSBweXRob24zLXB5cXQ2LXdlYnNv Y2tldHMtZGV2ZWw+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkgcHl0aG9uMy1weXF0Ni13ZWJj aGFubmVsLWRldmVsPj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJIHB5dGhvbjMtcHlxdDYtbXVs dGltZWRpYS1kZXZlbD49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQorCSBweXRob24zLXB5cXQ2LXBv c2l0aW9uLWRldmVsPj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJIHB5dGhvbjMtcHlxdDYtcmVt b3Rlb2JqZWN0cy1kZXZlbD49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQorCSBweXRob24zLXB5cXQ2 LXNlbnNvcnMtZGV2ZWw+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkgcHl0aG9uMy1weXF0Ni1z ZXJpYWxwb3J0LWRldmVsPj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJIHB5dGhvbjMtcHlxdDYt Y29ubmVjdGl2aXR5LWRldmVsPj0ke3ZlcnNpb259XyR7cmV2aXNpb259CiAJIHB5dGhvbjMtcHlx dDYtZGV2ZWwtdG9vbHM+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJYnVpbGRfc3R5bGU9bWV0 YQogCXNob3J0X2Rlc2M9IiR7c2hvcnRfZGVzY30gLSBkZXZlbG9wbWVudCBmaWxlcyIKIH0KKwor cHl0aG9uMy1weXF0Ni13ZWJzb2NrZXRzX3BhY2thZ2UoKSB7CisJbGliMzJkaXNhYmxlZD15ZXMK KwlzaG9ydF9kZXNjKz0iIC0gV2ViU29ja2V0cyIKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7 dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICIke3B5M19z aXRlbGlifS9QeVF0Ni9RdFdlYlNvY2tldHMuKiIKKwl9Cit9CisKK3B5dGhvbjMtcHlxdDYtd2Vi c29ja2V0cy1kZXZlbF9wYWNrYWdlKCkgeworCWxpYjMyZGlzYWJsZWQ9eWVzCisJc2hvcnRfZGVz Yys9IiAtIFdlYlNvY2tldHMgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlkZXBlbmRzPSJweXRob24z LXB5cXQ2LXdlYnNvY2tldHM+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkgcHl0aG9uMy1weXF0 Ni1jb3JlLWRldmVsPj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJIHF0Ni13ZWJzb2NrZXRzLWRl dmVsIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSAiJHtweTNfc2l0ZWxpYn0vUHlRdDYvYmlu ZGluZ3MvUXRXZWJTb2NrZXRzIgorCX0KK30KKworcHl0aG9uMy1weXF0Ni13ZWJjaGFubmVsX3Bh Y2thZ2UoKSB7CisJbGliMzJkaXNhYmxlZD15ZXMKKwlzaG9ydF9kZXNjKz0iIC0gV2ViQ2hhbm5l bCIKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJcGtn X2luc3RhbGwoKSB7CisJCXZtb3ZlICIke3B5M19zaXRlbGlifS9QeVF0Ni9RdFdlYkNoYW5uZWwu KiIKKwl9Cit9CisKK3B5dGhvbjMtcHlxdDYtd2ViY2hhbm5lbC1kZXZlbF9wYWNrYWdlKCkgewor CWxpYjMyZGlzYWJsZWQ9eWVzCisJc2hvcnRfZGVzYys9IiAtIFdlYkNoYW5uZWwgLSBkZXZlbG9w bWVudCBmaWxlcyIKKwlkZXBlbmRzPSJweXRob24zLXB5cXQ2LXdlYmNoYW5uZWw+PSR7dmVyc2lv bn1fJHtyZXZpc2lvbn0KKwkgcHl0aG9uMy1weXF0Ni1jb3JlLWRldmVsPj0ke3ZlcnNpb259XyR7 cmV2aXNpb259CisJIHF0Ni13ZWJjaGFubmVsLWRldmVsIgorCXBrZ19pbnN0YWxsKCkgeworCQl2 bW92ZSAiJHtweTNfc2l0ZWxpYn0vUHlRdDYvYmluZGluZ3MvUXRXZWJDaGFubmVsIgorCX0KK30K KworcHl0aG9uMy1weXF0Ni1tdWx0aW1lZGlhX3BhY2thZ2UoKSB7CisJbGliMzJkaXNhYmxlZD15 ZXMKKwlzaG9ydF9kZXNjKz0iIC0gTXVsdGltZWRpYSIKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+ PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICIke3B5 M19zaXRlbGlifS9QeVF0Ni9RdE11bHRpbWVkaWEqIgorCX0KK30KKworcHl0aG9uMy1weXF0Ni1t dWx0aW1lZGlhLWRldmVsX3BhY2thZ2UoKSB7CisJbGliMzJkaXNhYmxlZD15ZXMKKwlzaG9ydF9k ZXNjKz0iIC0gTXVsdGltZWRpYSAtIGRldmVsb3BtZW50IGZpbGVzIgorCWRlcGVuZHM9InB5dGhv bjMtcHlxdDYtbXVsdGltZWRpYT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQorCSBweXRob24zLXB5 cXQ2LWNvcmUtZGV2ZWw+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkgcXQ2LW11bHRpbWVkaWEt ZGV2ZWwiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICIke3B5M19zaXRlbGlifS9QeVF0Ni9i aW5kaW5ncy9RdE11bHRpbWVkaWEqIgorCX0KK30KKworcHl0aG9uMy1weXF0Ni1wb3NpdGlvbl9w YWNrYWdlKCkgeworCWxpYjMyZGlzYWJsZWQ9eWVzCisJc2hvcnRfZGVzYys9IiAtIFBvc2l0aW9u IgorCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlwa2df aW5zdGFsbCgpIHsKKwkJdm1vdmUgIiR7cHkzX3NpdGVsaWJ9L1B5UXQ2L1F0UG9zaXRpb25pbmcq IgorCX0KK30KKworcHl0aG9uMy1weXF0Ni1wb3NpdGlvbi1kZXZlbF9wYWNrYWdlKCkgeworCWxp YjMyZGlzYWJsZWQ9eWVzCisJc2hvcnRfZGVzYys9IiAtIFBvc2l0aW9uIC0gZGV2ZWxvcG1lbnQg ZmlsZXMiCisJZGVwZW5kcz0icHl0aG9uMy1weXF0Ni1wb3NpdGlvbj49JHt2ZXJzaW9ufV8ke3Jl dmlzaW9ufQorCSBweXRob24zLXB5cXQ2LWNvcmUtZGV2ZWw+PSR7dmVyc2lvbn1fJHtyZXZpc2lv bn0KKwkgcXQ2LWxvY2F0aW9uLWRldmVsIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSAiJHtw eTNfc2l0ZWxpYn0vUHlRdDYvYmluZGluZ3MvUXRQb3NpdGlvbmluZyIKKwl9Cit9CisKK3B5dGhv bjMtcHlxdDYtcmVtb3Rlb2JqZWN0c19wYWNrYWdlKCkgeworCWxpYjMyZGlzYWJsZWQ9eWVzCisJ c2hvcnRfZGVzYys9IiAtIFJlbW90ZU9iamVjdHMiCisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0k e3ZlcnNpb259XyR7cmV2aXNpb259IgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSAiJHtweTNf c2l0ZWxpYn0vUHlRdDYvUXRSZW1vdGVPYmplY3RzKiIKKwl9Cit9CisKK3B5dGhvbjMtcHlxdDYt cmVtb3Rlb2JqZWN0cy1kZXZlbF9wYWNrYWdlKCkgeworCWxpYjMyZGlzYWJsZWQ9eWVzCisJc2hv cnRfZGVzYys9IiAtIFJlbW90ZU9iamVjdHMgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlkZXBlbmRz PSJweXRob24zLXB5cXQ2LXJlbW90ZW9iamVjdHM+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkg cHl0aG9uMy1weXF0Ni1jb3JlLWRldmVsPj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJIHF0Ni1y ZW1vdGVvYmplY3RzLWRldmVsIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSAiJHtweTNfc2l0 ZWxpYn0vUHlRdDYvYmluZGluZ3MvUXRSZW1vdGVPYmplY3RzIgorCX0KK30KKworcHl0aG9uMy1w eXF0Ni1zZW5zb3JzX3BhY2thZ2UoKSB7CisJbGliMzJkaXNhYmxlZD15ZXMKKwlzaG9ydF9kZXNj Kz0iIC0gU2Vuc29ycyIKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0iCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICIke3B5M19zaXRlbGlifS9QeVF0Ni9R dFNlbnNvcnMqIgorCX0KK30KKworcHl0aG9uMy1weXF0Ni1zZW5zb3JzLWRldmVsX3BhY2thZ2Uo KSB7CisJbGliMzJkaXNhYmxlZD15ZXMKKwlzaG9ydF9kZXNjKz0iIC0gU2Vuc29ycyAtIGRldmVs b3BtZW50IGZpbGVzIgorCWRlcGVuZHM9InB5dGhvbjMtcHlxdDYtc2Vuc29ycz49JHt2ZXJzaW9u fV8ke3JldmlzaW9ufQorCSBweXRob24zLXB5cXQ2LWNvcmUtZGV2ZWw+PSR7dmVyc2lvbn1fJHty ZXZpc2lvbn0KKwkgcXQ2LXNlbnNvcnMtZGV2ZWwiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3Zl ICIke3B5M19zaXRlbGlifS9QeVF0Ni9iaW5kaW5ncy9RdFNlbnNvcnMiCisJfQorfQorCitweXRo b24zLXB5cXQ2LXNlcmlhbHBvcnRfcGFja2FnZSgpIHsKKwlsaWIzMmRpc2FibGVkPXllcworCXNo b3J0X2Rlc2MrPSIgLSBTZXJpYWxQb3J0IgorCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJz aW9ufV8ke3JldmlzaW9ufSIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgIiR7cHkzX3NpdGVs aWJ9L1B5UXQ2L1F0U2VyaWFsUG9ydCoiCisJfQorfQorCitweXRob24zLXB5cXQ2LXNlcmlhbHBv cnQtZGV2ZWxfcGFja2FnZSgpIHsKKwlsaWIzMmRpc2FibGVkPXllcworCXNob3J0X2Rlc2MrPSIg LSBTZXJpYWxQb3J0IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJZGVwZW5kcz0icHl0aG9uMy1weXF0 Ni1zZXJpYWxwb3J0Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJIHB5dGhvbjMtcHlxdDYtY29y ZS1kZXZlbD49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQorCSBxdDYtc2VyaWFscG9ydC1kZXZlbCIK Kwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgIiR7cHkzX3NpdGVsaWJ9L1B5UXQ2L2JpbmRpbmdz L1F0U2VyaWFsUG9ydCIKKwl9Cit9CisKK3B5dGhvbjMtcHlxdDYtY29ubmVjdGl2aXR5X3BhY2th Z2UoKSB7CisJbGliMzJkaXNhYmxlZD15ZXMKKwlzaG9ydF9kZXNjKz0iIC0gQ29ubmVjdGl2aXR5 IgorCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlwa2df aW5zdGFsbCgpIHsKKwkJdm1vdmUgIiR7cHkzX3NpdGVsaWJ9L1B5UXQ2L1F0Qmx1ZXRvb3RoKiIK KwkJdm1vdmUgIiR7cHkzX3NpdGVsaWJ9L1B5UXQ2L1F0TmZjKiIKKwl9Cit9CisKK3B5dGhvbjMt cHlxdDYtY29ubmVjdGl2aXR5LWRldmVsX3BhY2thZ2UoKSB7CisJbGliMzJkaXNhYmxlZD15ZXMK KwlzaG9ydF9kZXNjKz0iIC0gQ29ubmVjdGl2aXR5IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJZGVw ZW5kcz0icHl0aG9uMy1weXF0Ni1jb25uZWN0aXZpdHk+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0K KwkgcHl0aG9uMy1weXF0Ni1jb3JlLWRldmVsPj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJIHF0 Ni1jb25uZWN0aXZpdHktZGV2ZWwiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICIke3B5M19z aXRlbGlifS9QeVF0Ni9iaW5kaW5ncy9RdEJsdWV0b290aCIKKwkJdm1vdmUgIiR7cHkzX3NpdGVs aWJ9L1B5UXQ2L2JpbmRpbmdzL1F0TmZjIgorCX0KK30KCkZyb20gZDA5NTVmYmY5OTBmZDQwYzYy NzMzNjdjNTI0MzhhNjkyYjU0MTg5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9V VEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89 CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxNzo1NiAr MDcwMApTdWJqZWN0OiBbUEFUQ0ggMjgvMzNdIHB5dGhvbjMtcHlxdDYtM2Q6IHVwZGF0ZSB0byA2 LjMuMC4KCi0tLQogc3JjcGtncy9weXRob24zLXB5cXQ2LTNkL3RlbXBsYXRlIHwgNiArKystLS0K IDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9weXRob24zLXB5cXQ2LTNkL3RlbXBsYXRlIGIvc3JjcGtncy9weXRob24z LXB5cXQ2LTNkL3RlbXBsYXRlCmluZGV4IDdlMjJlNjM3MWFhYi4uODdhN2EyY2M4MzgyIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtM2QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9w eXRob24zLXB5cXQ2LTNkL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAncHl0aG9uMy1weXF0Ni0zZCcKIHBrZ25hbWU9cHl0aG9uMy1weXF0Ni0zZAotdmVyc2lv bj02LjEuMQotcmV2aXNpb249MgordmVyc2lvbj02LjMuMAorcmV2aXNpb249MQogd3Jrc3JjPVB5 UXQ2XzNELSR2ZXJzaW9uCiBidWlsZF9zdHlsZT1zaXAtYnVpbGQKIGhvc3RtYWtlZGVwZW5kcz0i cHl0aG9uMy1weXF0Ni1ndWktZGV2ZWwgcXQ2LTNkLWRldmVsCkBAIC0xMyw3ICsxMyw3IEBAIG1h aW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+ IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnJpdmVyYmFu a2NvbXB1dGluZy5jb20vc29mdHdhcmUvcHlxdDNkLyIKIGRpc3RmaWxlcz0iJFBZUElfU0lURS9Q L1B5UXQ2LTNEL1B5UXQ2XzNELSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09ZjAyNzdjMDRh YzYyZjA2NWNkZDNmNzQwYTIxNDlkMjYwYTU5MDllNTFkZjlmYmI2M2U1ZWQ4M2NlYmJlNDRmNAor Y2hlY2tzdW09ZmFiMDI0YjdmYjMyNDVkOWI0NjMwMjllMDAwMGY0NmNmZjk1ZjBiZGFiNjAzYjg3 NWZhYmNhYTUzZDlmZTYzZgogbGliMzJkaXNhYmxlZD15ZXMKIAogcHl0aG9uMy1weXF0Ni0zZC1k ZXZlbF9wYWNrYWdlKCkgewoKRnJvbSA2Y2UyYzQxMDRiMjQ5NmNhY2QwNzRlMzllNWFmNTc2MTA3 NmMyNjM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1D Mz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdt YWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjE3OjU5ICswNzAwClN1YmplY3Q6IFtQ QVRDSCAyOS8zM10gcHl0aG9uMy1weXF0Ni1jaGFydHM6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQog c3JjcGtncy9weXRob24zLXB5cXQ2LWNoYXJ0cy90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcHl0aG9uMy1weXF0Ni1jaGFydHMvdGVtcGxhdGUgYi9zcmNwa2dzL3B5dGhvbjMtcHlx dDYtY2hhcnRzL3RlbXBsYXRlCmluZGV4IGExODZiMmEwNGY1ZC4uNzU2MjE1ODYwOGZjIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtY2hhcnRzL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcHl0aG9uMy1weXF0Ni1jaGFydHMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdweXRob24zLXB5cXQ2LWNoYXJ0cycKIHBrZ25hbWU9cHl0aG9uMy1weXF0 Ni1jaGFydHMKLXZlcnNpb249Ni4xLjEKLXJldmlzaW9uPTIKK3ZlcnNpb249Ni4zLjEKK3Jldmlz aW9uPTEKIHdya3NyYz1QeVF0Nl9DaGFydHMtJHZlcnNpb24KIGJ1aWxkX3N0eWxlPXNpcC1idWls ZAogaG9zdG1ha2VkZXBlbmRzPSJxdDYtY2hhcnRzLWRldmVsIHB5dGhvbjMtcHlxdDYtd2lkZ2V0 cy1kZXZlbApAQCAtMTMsNyArMTMsNyBAQCBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5n IERhbmggPGNvbmdkYW5ocXhAZ21haWwuY29tPiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSIKIGhv bWVwYWdlPSJodHRwczovL3d3dy5yaXZlcmJhbmtjb21wdXRpbmcuY29tL3NvZnR3YXJlL3B5cXRj aGFydC8iCiBkaXN0ZmlsZXM9IiRQWVBJX1NJVEUvUC9QeVF0Ni1DaGFydHMvUHlRdDZfQ2hhcnRz LSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09MjU4NDE2YTVjODE0OGNjODI0ZGVkZTY0YjM3 ZWRlMDhmMTRlMWY5MGVmN2UzYzExZTQxMWIxYjAzMjY4ZmVlMgorY2hlY2tzdW09ZTZiYmIxN2Ez ZDU1MDM1MDhjYjI4YTdiOGY0NGRmZWRkNjU5YzQzZmY2MmFkYjY0MTgyYTAwNGZiZDk2OGYyZgog bGliMzJkaXNhYmxlZD15ZXMKIAogcHl0aG9uMy1weXF0Ni1jaGFydHMtZGV2ZWxfcGFja2FnZSgp IHsKCkZyb20gOWRhMjU4YzQ4MWIzZDUyMTY5ZmE5M2ZlY2E4MzE4NGFmOGE5M2ZmNCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9 QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgOCBBdWcgMjAyMiAxNzoxODowMiArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMzAvMzNdIHB5 dGhvbjMtcHlxdDYtbmV0d29ya2F1dGg6IHVwZGF0ZSB0byA2LjMuMC4KCi0tLQogc3JjcGtncy9w eXRob24zLXB5cXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9weXRob24zLXB5cXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIGIvc3JjcGtncy9weXRob24zLXB5 cXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlCmluZGV4IGVjMTJiOTQ5MWQ2ZS4uZmUwNmI2NjNjOTVm IDEwMDY0NAotLS0gYS9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtbmV0d29ya2F1dGgvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9weXRob24zLXB5cXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncHl0aG9uMy1weXF0Ni1uZXR3b3JrYXV0aCcK IHBrZ25hbWU9cHl0aG9uMy1weXF0Ni1uZXR3b3JrYXV0aAotdmVyc2lvbj02LjEuMQotcmV2aXNp b249MgordmVyc2lvbj02LjMuMAorcmV2aXNpb249MQogd3Jrc3JjPVB5UXQ2X05ldHdvcmtBdXRo LSR2ZXJzaW9uCiBidWlsZF9zdHlsZT1zaXAtYnVpbGQKIGhvc3RtYWtlZGVwZW5kcz0icHl0aG9u My1weXF0Ni1uZXR3b3JrLWRldmVsIHF0Ni1uZXR3b3JrYXV0aC1kZXZlbApAQCAtMTMsNyArMTMs NyBAQCBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21h aWwuY29tPiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5y aXZlcmJhbmtjb21wdXRpbmcuY29tL3NvZnR3YXJlL3B5cXRuZXR3b3JrYXV0aC8iCiBkaXN0Zmls ZXM9IiRQWVBJX1NJVEUvUC9QeVF0Ni1OZXR3b3JrQXV0aC9QeVF0Nl9OZXR3b3JrQXV0aC0ke3Zl cnNpb259LnRhci5neiIKLWNoZWNrc3VtPTE1OTAxMThjZWY5MjBhZGNlZjU1MDIyMjQ2OTk0ZDVk ZmNjNjRjYjc1MDRiZGQxN2VhYzkyZmZlYjRhMjFkYmUKK2NoZWNrc3VtPWIxNDM0YjM0OWUwODIw NjQ5MzQxYWNjZjc4Njg5ZTllZmQyYzczNTQzZWQ3ZDU0NzRmNjYwYWFlYTI3MDg0NTQKIGxpYjMy ZGlzYWJsZWQ9eWVzCiAKIHB5dGhvbjMtcHlxdDYtbmV0d29ya2F1dGgtZGV2ZWxfcGFja2FnZSgp IHsKCkZyb20gMGYzODY5ZDY0NGQzM2E0ZmY2YTRhNDU4NmU5NDUzOWRkZGQ2OGIzZCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9 QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgOCBBdWcgMjAyMiAxNzoxODowNSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMzEvMzNdIHB5 dGhvbjMtcHlxdDYtc2lwOiB1cGRhdGUgdG8gMTMuNC4wLgoKLS0tCiBzcmNwa2dzL3B5dGhvbjMt cHlxdDYtc2lwL3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLXB5cXQ2 LXNpcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1zaXAvdGVtcGxhdGUKaW5kZXgg NTc1NDdhM2Y2NGY3Li44ZDg1MTc4YzRjM2EgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHl0aG9uMy1w eXF0Ni1zaXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9weXRob24zLXB5cXQ2LXNpcC90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtcHlxdDYtc2lw JwogcGtnbmFtZT1weXRob24zLXB5cXQ2LXNpcAotdmVyc2lvbj0xMy4xLjAKLXJldmlzaW9uPTIK K3ZlcnNpb249MTMuNC4wCityZXZpc2lvbj0xCiB3cmtzcmM9IlB5UXQ2X3NpcC0kdmVyc2lvbiIK IGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtZGV2 ZWwgcHl0aG9uMy1zZXR1cHRvb2xzIHNpcCIKQEAgLTEyLDcgKzEyLDcgQEAgbWFpbnRhaW5lcj0i xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5oIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4iCiBsaWNlbnNl PSJHUEwtMi4wLW9ubHksIEdQTC0zLjAtb25seSwgY3VzdG9tOlNJUCIKIGhvbWVwYWdlPSJodHRw czovL3d3dy5yaXZlcmJhbmtjb21wdXRpbmcuY29tL3NvZnR3YXJlL3NpcC8iCiBkaXN0ZmlsZXM9 IiR7UFlQSV9TSVRFfS9QL1B5UXQ2X3NpcC9QeVF0Nl9zaXAtJHt2ZXJzaW9ufS50YXIuZ3oiCi1j aGVja3N1bT03YzMxMDczZmU4ZTZjYjhhNDJlODVkNjBkM2EwOTY3MDBhOTA0N2M3NzJiMzU0ZDYy MjdkZmU5NjU1NjZlYzhhCitjaGVja3N1bT02ZDg3YTNlZTU4NzJkNzUxMWI3Njk1N2Q2OGEzMjEw OTM1MmNhZjNiN2E0MmEwMWQ5ZWUyMDAzMmIzNTBkOTc5CiBsaWIzMmRpc2FibGVkPXllcwogCiBw b3N0X2V4dHJhY3QoKSB7CgpGcm9tIGRiN2NhOGU3ZTkxZDc3MzQxNjNhMTdmNTNhYmYzZWNiN2Nh OGI1MWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMz PUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21h aWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTk6MTA6NTggKzA3MDAKU3ViamVjdDogW1BB VENIIDMyLzMzXSBOZXcgcGFja2FnZTogcHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUtNi4zLjEKCi0t LQogc3JjcGtncy9weXRob24zLXB5cXQ2LXdlYmVuZ2luZS1kZXZlbCAgICB8ICAxICsKIHNyY3Br Z3MvcHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUvdGVtcGxhdGUgfCAzMiArKysrKysrKysrKysrKysr KysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg MTIwMDAwIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUtZGV2ZWwKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3B5dGhvbjMtcHlxdDYtd2ViZW5naW5lL3RlbXBsYXRlCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9weXRob24zLXB5cXQ2LXdlYmVuZ2luZS1kZXZlbCBiL3NyY3BrZ3MvcHl0 aG9uMy1weXF0Ni13ZWJlbmdpbmUtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAw MDAwMDAwMDAwLi5mMTg5YmIzNTI1NDIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5dGhv bjMtcHlxdDYtd2ViZW5naW5lLWRldmVsCkBAIC0wLDAgKzEgQEAKK3B5dGhvbjMtcHlxdDYtd2Vi ZW5naW5lClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9w eXRob24zLXB5cXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni13 ZWJlbmdpbmUvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li5hOWIxNzIxNWQ1NDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYt d2ViZW5naW5lL3RlbXBsYXRlCkBAIC0wLDAgKzEsMzIgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3Ig J3B5dGhvbjMtcHlxdDYtd2ViZW5naW5lJworcGtnbmFtZT1weXRob24zLXB5cXQ2LXdlYmVuZ2lu ZQordmVyc2lvbj02LjMuMQorcmV2aXNpb249MQord3Jrc3JjPVB5UXQ2X1dlYkVuZ2luZS0kdmVy c2lvbgorYnVpbGRfc3R5bGU9c2lwLWJ1aWxkCitob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtcHlx dDYtZ3VpLWRldmVsIHF0Ni13ZWJlbmdpbmUtZGV2ZWwKKyBweXRob24zLXB5cXQ2LW5ldHdvcmst ZGV2ZWwgcHl0aG9uMy1weXF0Ni13ZWJjaGFubmVsLWRldmVsCisgcHl0aG9uMy1weXF0Ni1kZWNs YXJhdGl2ZS1kZXZlbCBweXRob24zLXB5cXQ2LXByaW50c3VwcG9ydC1kZXZlbAorIHB5dGhvbjMt cHlxdDYtd2lkZ2V0cy1kZXZlbAorIHB5dGhvbjMtUHlRdC1idWlsZGVyIHBrZy1jb25maWciCitt YWtlZGVwZW5kcz0icHl0aG9uMy1weXF0Ni1ndWktZGV2ZWwgcXQ2LXdlYmVuZ2luZS1kZXZlbAor IHB5dGhvbjMtcHlxdDYtbmV0d29yay1kZXZlbCBweXRob24zLXB5cXQ2LXdlYmNoYW5uZWwtZGV2 ZWwKKyBweXRob24zLXB5cXQ2LWRlY2xhcmF0aXZlLWRldmVsIHB5dGhvbjMtcHlxdDYtcHJpbnRz dXBwb3J0LWRldmVsCisgcHl0aG9uMy1weXF0Ni13aWRnZXRzLWRldmVsIgorZGVwZW5kcz0icHl0 aG9uMy1weXF0NiIKK3Nob3J0X2Rlc2M9IlB5dGhvbiAzIGJpbmRpbmdzIGZvciBRdDYgLSBXZWJF bmdpbmUiCittYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhA Z21haWwuY29tPiIKK2xpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6 Ly93d3cucml2ZXJiYW5rY29tcHV0aW5nLmNvbS9zb2Z0d2FyZS9weXF0d2ViZW5naW5lLyIKK2Rp c3RmaWxlcz0iJFBZUElfU0lURS9QL1B5UXQ2X1dlYkVuZ2luZS9QeVF0Nl9XZWJFbmdpbmUtJHZl cnNpb24udGFyLmd6IgorY2hlY2tzdW09YzNkMWY1NTI3YjRiMTVmNDQxMDJkNjE3YzU5YjFkNzRk OWFmNTBmODIxNjI5ZTkzMzVmMTNkZjQ3ZGU4ZjAwNworbGliMzJkaXNhYmxlZD15ZXMKKworcHl0 aG9uMy1weXF0Ni13ZWJlbmdpbmUtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIke3NvdXJj ZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LXdlYmVuZ2luZS1kZXZlbCIKKwlzaG9y dF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3Zl ICR7cHkzX3NpdGVsaWJ9L1B5UXQ2L2JpbmRpbmdzCisJCXZtb3ZlIHVzci9zaGFyZQorCX0KK30K CkZyb20gMjNlZjY2ZmYyZTc5ZDVmZDU4MjViZmNhYmMxMzUxY2I1NTAxMDJiNyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9 QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1v biwgOCBBdWcgMjAyMiAyMTo0MjozNCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMzMvMzNdIGNhbGli cmU6IHVwZGF0ZSB0byA2LjIuMS4KCi0tLQogc3JjcGtncy9jYWxpYnJlL3RlbXBsYXRlIHwgNDgg KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDM1IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Y2FsaWJyZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2FsaWJyZS90ZW1wbGF0ZQppbmRleCAxZWNmYWFj ZjhmNjMuLjMwNDRhMDI1MTYwZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jYWxpYnJlL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvY2FsaWJyZS90ZW1wbGF0ZQpAQCAtMSwyNCArMSwyOCBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAnY2FsaWJyZScKIHBrZ25hbWU9Y2FsaWJyZQotdmVyc2lvbj01LjQ0LjAK K3ZlcnNpb249Ni4yLjEKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCiBw eWNvbXBpbGVfZGlycz0iL3Vzci9saWIvY2FsaWJyZS8iCi1ob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWcgcHl0aG9uMy1CZWF1dGlmdWxTb3VwNCBweXRob24zLVBpbGxvdyBweXRob24zLVB5UXQ1 LXN2ZwotIHB5dGhvbjMtUHlRdDUtd2ViZW5naW5lIHB5dGhvbjMtYXBzdyBweXRob24zLWNzcy1w YXJzZXIgcHl0aG9uMy1kYXRldXRpbAotIHB5dGhvbjMtZGV2ZWwgcHl0aG9uMy1odG1sNS1wYXJz ZXIgcHl0aG9uMy1tc2dwYWNrIHB5dGhvbjMtcmVnZXggcXQ1LXFtYWtlCi0gbGlicG9kb2ZvLWRl dmVsIHB5dGhvbjMtUHlRdC1idWlsZGVyIHB5dGhvbjMtUHlRdDUtZGV2ZWwgcXQ1LWhvc3QtdG9v bHMKLSBweXRob24zLXplcm9jb25mIHhkZy11dGlscyByYXB5ZHNjcmlwdC1uZyIKLW1ha2VkZXBl bmRzPSJsaWJpbnB1dC1kZXZlbCBsaWJtYWdpY2stZGV2ZWwgbGlibXRwLWRldmVsCi0gbGlicG9k b2ZvLWRldmVsIGxpYndtZi1kZXZlbCBsaWJ4a2Jjb21tb24tZGV2ZWwgcHl0aG9uMy1QeVF0NS1k ZXZlbAotIHF0NS1kZXZlbCBzcWxpdGUtZGV2ZWwgdHNsaWItZGV2ZWwgaHVuc3BlbGwtZGV2ZWwg aHlwaGVuLWRldmVsIGxpYnN0ZW1tZXItZGV2ZWwiCitob3N0bWFrZWRlcGVuZHM9InBrZy1jb25m aWcgY21ha2UgcHl0aG9uMy1CZWF1dGlmdWxTb3VwNCBweXRob24zLVBpbGxvdworIHB5dGhvbjMt YXBzdyBweXRob24zLWNzcy1wYXJzZXIgcHl0aG9uMy1kYXRldXRpbAorIHB5dGhvbjMtZGV2ZWwg cHl0aG9uMy1odG1sNS1wYXJzZXIgcHl0aG9uMy1tc2dwYWNrIHB5dGhvbjMtcmVnZXgKKyBweXRo b24zLXplcm9jb25mIHhkZy11dGlscyByYXB5ZHNjcmlwdC1uZyBsaWJwb2RvZm8tZGV2ZWwKKyBw eXRob24zLXB5cXQ2LXN2ZyBweXRob24zLXB5cXQ2LXdlYmVuZ2luZSBweXRob24zLXB5cXQ2LWRl dmVsCisgcXQ2LWJhc2UtZGV2ZWwgcHl0aG9uMy1QeVF0LWJ1aWxkZXIiCittYWtlZGVwZW5kcz0i bGliaW5wdXQtZGV2ZWwgbGlibWFnaWNrLWRldmVsIGxpYm10cC1kZXZlbCBsaWJzdGVtbWVyLWRl dmVsCisgbGlicG9kb2ZvLWRldmVsIGxpYndtZi1kZXZlbCBsaWJ4a2Jjb21tb24tZGV2ZWwgcG9w cGxlci1jcHAtZGV2ZWwKKyBmcmVldHlwZS1kZXZlbCB1Y2hhcmRldC1kZXZlbCBvcGVuc3NsLWRl dmVsIGljdS1kZXZlbCBsaWJ1c2ItZGV2ZWwKKyBzcWxpdGUtZGV2ZWwgdHNsaWItZGV2ZWwgaHVu c3BlbGwtZGV2ZWwgaHlwaGVuLWRldmVsIGxpYnN0ZW1tZXItZGV2ZWwKKyBweXRob24zLXB5cXQ2 LWRldmVsIHB5dGhvbjMtcHlxdDYtd2ViZW5naW5lLWRldmVsIHF0Ni13ZWJlbmdpbmUtZGV2ZWwi CiBkZXBlbmRzPSJkZXNrdG9wLWZpbGUtdXRpbHMgb3B0aXBuZyBwb3BwbGVyLXV0aWxzIHB5dGhv bjMtQmVhdXRpZnVsU291cDQKLSBweXRob24zLU1hcmtkb3duIHB5dGhvbjMtUGlsbG93IHB5dGhv bjMtUHlRdDUtc3ZnIHB5dGhvbjMtemVyb2NvbmYKLSBweXRob24zLVB5UXQ1LXdlYmVuZ2luZSBw eXRob24zLVB5UXQ1LXdlYmNoYW5uZWwgcHl0aG9uMy1QeWdtZW50cyBweXRob24zLWFwc3cKKyBw eXRob24zLU1hcmtkb3duIHB5dGhvbjMtUGlsbG93IHB5dGhvbjMtemVyb2NvbmYgcHl0aG9uMy1Q eWdtZW50cyBweXRob24zLWFwc3cKICBweXRob24zLWNzcy1wYXJzZXIgcHl0aG9uMy1jc3NzZWxl Y3QgcHl0aG9uMy1kYXRldXRpbCBweXRob24zLWplZXBuZXkKICBweXRob24zLWRuc3B5dGhvbiBw eXRob24zLWZlZWRwYXJzZXIgcHl0aG9uMy1odG1sNS1wYXJzZXIgcHl0aG9uMy1tZWNoYW5pemUK ICBweXRob24zLW1zZ3BhY2sgcHl0aG9uMy1uZXRpZmFjZXMgcHl0aG9uMy1wc3V0aWwgcHl0aG9u My1yZWdleCBweXRob24zLWh0bWwydGV4dAotIHB5dGhvbjMtcHljaG0gcHl0aG9uMy1jY2hhcmRl dCBxdDUtd2ViZW5naW5lIHNwZWVjaC1kaXNwYXRjaGVyIHB5dGhvbjMtc2dtbGxpYiIKKyBweXRo b24zLXB5Y2htIHB5dGhvbjMtY2NoYXJkZXQgc3BlZWNoLWRpc3BhdGNoZXIgcHl0aG9uMy1zZ21s bGliCisgcHl0aG9uMy1odG1sNWxpYgorIHB5dGhvbjMtcHlxdDYtd2ViY2hhbm5lbCBweXRob24z LXB5cXQ2LXN2ZyBweXRob24zLXB5cXQ2LXdlYmVuZ2luZSIKICMgc2hvdWxkIGNoZWNrIGlmIHB5 dGhvbjMtcHljcnlwdG9kb21lIGlzIHN0aWxsIG5lZWRlZAogY2hlY2tkZXBlbmRzPSIke2RlcGVu ZHN9IGxpYmpwZWctdHVyYm8tdG9vbHMganhybGliIHB5dGhvbjMtcHljcnlwdG9kb21lIgogc2hv cnRfZGVzYz0iRWJvb2sgbWFuYWdlbWVudCBhcHBsaWNhdGlvbiIKQEAgLTI3LDcgKzMxLDcgQEAg bGljZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vY2FsaWJyZS1lYm9vay5j b20iCiBjaGFuZ2Vsb2c9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9rb3ZpZGdv eWFsL2NhbGlicmUvbWFzdGVyL0NoYW5nZWxvZy50eHQiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZG93 bmxvYWQuY2FsaWJyZS1lYm9vay5jb20vJHt2ZXJzaW9ufS9jYWxpYnJlLSR7dmVyc2lvbn0udGFy Lnh6IgotY2hlY2tzdW09NmZmYWEzZWFmZDM2YTI0MzU1ZTU5NTdmMGY4MzhkYjZkYjZkMzQ1NmNm YTE3Y2I0ZDEzOWZkOTRlYmFmODhlYworY2hlY2tzdW09ZWFlMjM4MjQ3NTAzNjBkNDQ4NmFhNjI3 NTM2NGRkMDA5MjZiMWYzNjNjNTA0MDQxNzFmY2FjZWZiZjhmNzQ3NgogcHl0aG9uX3ZlcnNpb249 MwogbGliMzJkaXNhYmxlZD15ZXMKIG5vY3Jvc3M9eWVzCkBAIC00MSwxNSArNDUsMzIgQEAgZG9f Y29uZmlndXJlKCkgewogCQktZSAiL2ltcG9ydCBjb25maWdfZGlyLywvb3Mucm1kaXIoY29uZmln X2RpcikvZCIgXAogCQktZSAicy8nY3RjLXBvc21sJy8ndGV4dCcgbm90IGluIG10IGFuZCAncGRm JyBub3QgaW4gbXQgYW5kICd4aHRtbCcvIiBcCiAJCS1lICJzL15OYW1lPWNhbGlicmUvTmFtZT1D YWxpYnJlL2ciCisJY2F0ID4iJHtYQlBTX1dSQVBQRVJESVJ9L3NpcC1xbWFrZSIgPDwtX0VPRgor CSMhL2Jpbi9zaAorCWV4ZWMgL3Vzci9saWIvcXQ2L2Jpbi9xbWFrZSBcXAorCQkiXCRAIiBcXAor CQlQUkVGSVg9L3VzciBcXAorCQlRVF9JTlNUQUxMX1BSRUZJWD0vdXNyIFxcCisJCUxJQj0vdXNy L2xpYiBcXAorCQlRTUFLRV9DQz0iJENDIiBRTUFLRV9DWFg9IiRDWFgiIFxcCisJCVFNQUtFX0xJ Tks9IiRDWFgiIFFNQUtFX0xJTktfQz0iJENDIiBcXAorCQlRTUFLRV9DRkxBR1MrPSIkQ0ZMQUdT IiBcXAorCQlRTUFLRV9DWFhGTEFHUys9IiRDWFhGTEFHUyIgXFwKKwkJUU1BS0VfTEZMQUdTKz0i JExERkxBR1MiIFxcCisJCUNPTkZJRys9bm9fcXRfcnBhdGgKKwlfRU9GCisJY2htb2QgNzU1ICR7 WEJQU19XUkFQUEVSRElSfS9zaXAtcW1ha2UKIH0KIAogZG9fYnVpbGQoKSB7CisJZXhwb3J0IFFN QUtFPSR7WEJQU19XUkFQUEVSRElSfS9zaXAtcW1ha2UKIAlweXRob24zIHNldHVwLnB5IGJ1aWxk CiAJcHl0aG9uMyBzZXR1cC5weSBndWkKIAlweXRob24zIHNldHVwLnB5IHJhcHlkc2NyaXB0CiB9 CiAKIGRvX2NoZWNrKCkgeworCWV4cG9ydCBRTUFLRT0ke1hCUFNfV1JBUFBFUkRJUn0vc2lwLXFt YWtlCiAJIyBxdCB0ZXN0IGNyYXNoZXMgd2l0aG91dCBhbnkgZXJyb3IgbWVzc2FnZXMKIAkjIGRp c2FibGVkIGZvciBub3cKIAkjIHVucmFyIHRlc3QgZmFpbHMgYmVjYXVzZSBweXRob24zLXVucmFy ZGxsIGlzbid0IHBhY2thZ2VkCkBAIC02NSw2ICs4Niw3IEBAIGRvX2NoZWNrKCkgewogfQogCiBk b19pbnN0YWxsKCkgeworCWV4cG9ydCBRTUFLRT0ke1hCUFNfV1JBUFBFUkRJUn0vc2lwLXFtYWtl CiAJdm1rZGlyIHVzci9zaGFyZS96c2gvc2l0ZS1mdW5jdGlvbnMKIAogCXB5dGhvbjMgc2V0dXAu cHkgXAo= --===============4224944430764028322==--