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 4080 invoked from network); 12 Jul 2022 13:20:16 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 12 Jul 2022 13:20:16 -0000 Content-Type: multipart/mixed; boundary="===============6817388188506343792==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_7zip-22=2E00?= To: ml@inbox.vuxu.org From: r-ricci Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 12 Jul 2022 15:20:16 +0200 List-Id: Message-ID: <20220712132016.Iy4XwbzT-CIQq24yg0dTxqxefDmFg3eQos836zr-GWw@z> GitHub notification mails are now in MIME to allow UTF8. --===============6817388188506343792== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgci1yaWNjaSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vci1y aWNjaS92b2lkLXBhY2thZ2VzIDd6aXAKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3OTQwCgpOZXcgcGFja2FnZTogN3ppcC0yMi4wMAo8IS0tIFVuY29t bWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBh cHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhl IGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2Fn ZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVu dHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0 ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0K DQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBo b3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5H Lm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUg YnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9y ZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0N CiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3Ig bXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxv Y2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1 aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0t Pg0KDQpJIGRvbid0IHRoaW5rIHRoZXJlJ3MgYW55IHJlYXNvbiB0byBzaGlwIHRoZSBmdWxsIGFu ZCB0aGUgcmVkdWNlZCB2ZXJzaW9ucyBpbiB0aGUgc2FtZSBwYWNrYWdlLCBzbyBJIGp1c3QgY29t cGlsZSB0aGUgZnVsbCBvbmUgYW5kIGNyZWF0ZSBzeW1saW5rcyBmb3IgY29tcGF0aWJpbGl0eS4N Cg0KVE9ETzoNCg0KLSBbeF0gZml4IG11c2w6IH5+aXQgdXNlcyBzb21lIGZ1bmN0aW9ucyByZXF1 aXJpbmcgYF9HTlVfU09VUkNFYCwgYnV0IG90aGVyIHBhcnRzIG9mIHRoZSBzb3VyY2UgZGVmaW5l IGl0IHdpdGhvdXQgY2hlY2tpbmcgaWYgaXQncyBhbHJlYWR5IGRlZmluZWQsIHNvIEkgZ2V0IGNv bXBpbGF0aW9uIGVycm9ycyBpZiBJIGp1c3QgZGVmaW5lIGl0IGdsb2JhbGx5Ln5+DQotIFsgXSBi dWlsZCB3aXRoIGFzc2VtYmx5IHdoZXJlIHBvc3NpYmxlOiBpdCByZXF1aXJlcyBgYXNtY2Agb3Ig YGp3YXNtYCBhc3NlbWJsZXJzLCBub25lIG9mIHdoaWNoIGFyZSBwYWNrYWdlZA0KLSBbIF0gYnVp bGQgYSB2ZXJzaW9uIHdpdGggUkFSIHN1cHBvcnQgKG5vbmZyZWUgcmVwbykNCi0gW3hdIHVzZSBv dXIgY29tcGlsZSBhbmQgbGluayBmbGFncw0KLSBbIF0gd2hhdCdzIHRoZSBtb3N0IGFwcHJvcHJp YXRlIG5hbWUgZm9yIHRoZSBwYWNrYWdlPyA3emlwLCA3LXppcCBvciA3ej8NCg0KY2xvc2VzICMz Nzg3NQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3OTQwLnBhdGNoIGlzIGF0dGFjaGVk --===============6817388188506343792== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSAzNTc1NjI0NTI0Nzc4ZGQzZGFiNzdjMjVjMjQzZmE0YzllOGE5ZmVhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIE5l dyBwYWNrYWdlOiA3emlwLTIyLjAwCgotLS0KIHNyY3BrZ3MvN3ppcC9maWxlcy83enouMSAgICAg ICAgICAgICAgICAgICAgICB8IDIxNSArKysrKysrKysrKysKIHNyY3BrZ3MvN3ppcC9wYXRjaGVz L2J1aWxkX2ZsYWdzLnBhdGNoICAgICAgICB8ICAzMCArKwogc3JjcGtncy83emlwL3RlbXBsYXRl ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDU2ICsrKysKIHNyY3BrZ3MvcDd6aXAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL3A3emlwLXVucmFyICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIw LUNWRS0yMDE4LTU5OTYucGF0Y2ggIHwgMjIxIC0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvcDd6aXAv cGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaCB8IDMxMSAtLS0tLS0tLS0tLS0tLS0tLS0K IHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoICAgICB8ICAxMiAtCiBz cmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2ggICAgfCAgMjYgLS0KIHNy Y3BrZ3MvcDd6aXAvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICB8ICA0NyAtLS0KIHNy Y3BrZ3MvcDd6aXAvdXBkYXRlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAtCiAxMSBm aWxlcyBjaGFuZ2VkLCAzMDIgaW5zZXJ0aW9ucygrKSwgNjE5IGRlbGV0aW9ucygtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC9maWxlcy83enouMQogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxkX2ZsYWdzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy83emlwL3RlbXBsYXRlCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9wN3pp cAogZGVsZXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcDd6aXAtdW5yYXIKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3A3emlwL3BhdGNoZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaAogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRj aAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2 LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3 LTE3OTY5LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wN3ppcC90ZW1wbGF0ZQog ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcDd6aXAvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy83emlwL2ZpbGVzLzd6ei4xIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmUxNTliZDk0YmI0Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCkBAIC0wLDAgKzEsMjE1IEBACisuVEgg N1paICIxIiAiRmVicnVhcnkgMTQsIDIwMjIiCisuU0ggTkFNRQorN3p6IFwtIFN0YW5kYWxvbmUg Y29uc29sZSB2ZXJzaW9uIG9mIHRoZSA3LVppcCBmaWxlIGFyY2hpdmVyCisuU0ggU1lOT1BTSVMK Ky5CIDd6egorLlwiIFxmSVwsPGNvbW1hbmQ+IFwvW1xmSVwsPHN3aXRjaD5cLy4uLl0gXGZJXCw8 YXJjaGl2ZV9uYW1lPiBcL1tcZklcLDxmaWxlX25hbWVzPlwvLi4uXSBbXGZJXCxAbGlzdF9maWxl XC9dCisuQlIgPGNvbW1hbmQ+CisuQlIgWzxzd2l0Y2g+Li4uXQorLkJSIDxhcmNoaXZlX25hbWU+ CisuQlIgWzxmaWxlX25hbWVzPl0KKy5CUiBbQGxpc3RmaWxlXQorLlNIIERFU0NSSVBUSU9OCis3 XC1aaXAgaXMgYSBmaWxlIGFyY2hpdmVyIHdpdGggYSBoaWdoIGNvbXByZXNzaW9uIHJhdGlvLiBT dXBwb3J0ZWQgZm9ybWF0czoKKy5JUAorUGFja2luZyBhbmQgdW5wYWNraW5nOiA3eiwgWFosIEJa SVAyLCBHWklQLCBUQVIsIFpJUCBhbmQgV0lNLgorLklQCitVbnBhY2tpbmcgb25seTogQVIsIEFS SiwgQ0FCLCBDSE0sIENQSU8sIENyYW1GUywgRE1HLCBFWFQsIEZBVCwgR1BULCBIRlMsIElIRVgs IElTTywgTFpILCBMWk1BLCBNQlIsIE1TSSwgTlNJUywgTlRGUywgUUNPVzIsIFJBUiwgUlBNLCBT cXVhc2hGUywgVURGLCBVRUZJLCBWREksIFZIRCwgVkhEWCwgVk1ESywgV0lNLCBYQVIgYW5kIFou CisuU0ggQ29tbWFuZHMKKy5UUAorLkJSIGEKK0FkZCBmaWxlcyB0byBhcmNoaXZlCisuVFAKKy5C UiBiCitCZW5jaG1hcmsKKy5UUAorLkJSIGQKK0RlbGV0ZSBmaWxlcyBmcm9tIGFyY2hpdmUKKy5U UAorLkJSIGUKK0V4dHJhY3QgZmlsZXMgZnJvbSBhcmNoaXZlICh3aXRob3V0IHVzaW5nIGRpcmVj dG9yeSBuYW1lcykKKy5UUAorLkJSIGgKK0NhbGN1bGF0ZSBoYXNoIHZhbHVlcyBmb3IgZmlsZXMK Ky5UUAorLkJSIGkKK1Nob3cgaW5mb3JtYXRpb24gYWJvdXQgc3VwcG9ydGVkIGZvcm1hdHMKKy5U UAorLkJSIGwKK0xpc3QgY29udGVudHMgb2YgYXJjaGl2ZQorLlRQCisuQlIgcm4KK1JlbmFtZSBm aWxlcyBpbiBhcmNoaXZlCisuVFAKKy5CUiB0CitUZXN0IGludGVncml0eSBvZiBhcmNoaXZlCisu VFAKKy5CUiB1CitVcGRhdGUgZmlsZXMgdG8gYXJjaGl2ZQorLlRQCisuQlIgeAorRXh0cmFjdCBm aWxlcyB3aXRoIGZ1bGwgcGF0aHMKKy5TSCBTd2l0Y2hlcworLlRQCisuQlIgXC1cLQorU3RvcCBz d2l0Y2hlcyBhbmQgQGxpc3RmaWxlIHBhcnNpbmcKKy5UUAorLkJSIFwtYWlbcltcLXwwXV17QGxp c3RmaWxlfCF3aWxkY2FyZH0KK0luY2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYXhbcltcLXww XV17QGxpc3RmaWxlfCF3aWxkY2FyZH0KK0V4Y2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYW97 YXxzfHR8dX0KK1NldCBPdmVyd3JpdGUgbW9kZQorLlRQCisuQlIgXC1hbgorRGlzYWJsZSBhcmNo aXZlX25hbWUgZmllbGQKKy5UUAorLkJSIFwtYmJbMFwtM10KK1NldCBvdXRwdXQgbG9nIGxldmVs CisuVFAKKy5CUiBcLWJkCitEaXNhYmxlIHByb2dyZXNzIGluZGljYXRvcgorLlRQCisuQlIgXC1i c3tvfGV8cH17MHwxfDJ9CitTZXQgb3V0cHV0IHN0cmVhbSBmb3Igb3V0cHV0L2Vycm9yL3Byb2dy ZXNzIGxpbmUKKy5UUAorLkJSIFwtYnQKK3Nob3cgZXhlY3V0aW9uIHRpbWUgc3RhdGlzdGljcwor LlRQCisuQlIgXC1pW3JbXC18MF1de0BsaXN0ZmlsZXwhd2lsZGNhcmR9CitJbmNsdWRlIGZpbGVu YW1lcworLlRQCisuQlIgXC1te1BhcmFtZXRlcnN9CitTZXQgY29tcHJlc3Npb24gTWV0aG9kCisu VFAKKy5CUiBcLW1tdFtOXQorU2V0IG51bWJlciBvZiBDUFUgdGhyZWFkcworLlRQCisuQlIgXC1t eFtOXQorU2V0IGNvbXByZXNzaW9uIGxldmVsOiBcLW14MSAoZmFzdGVzdCkgLi4uIFwtbXg5ICh1 bHRyYSkKKy5UUAorLkJSIFwtb3tEaXJlY3Rvcnl9CitTZXQgT3V0cHV0IGRpcmVjdG9yeQorLlRQ CisuQlIgXC1we1Bhc3N3b3JkfQorU2V0IFBhc3N3b3JkCisuVFAKKy5CUiBcLXJbXC18MF0KK1Jl Y3Vyc2Ugc3ViZGlyZWN0b3JpZXMgZm9yIG5hbWUgc2VhcmNoCisuVFAKKy5CUiBcLXNhe2F8ZXxz fQorU2V0IEFyY2hpdmUgbmFtZSBtb2RlCisuVFAKKy5CUiBcLXNjY3tVVEZcLTh8V0lOfERPU30K K1NldCBjaGFyc2V0IGZvciBmb3IgY29uc29sZSBpbnB1dC9vdXRwdXQKKy5UUAorLkJSIFwtc2Nz e1VURlwtOHxVVEZcLTE2TEV8VVRGXC0xNkJFfFdJTnxET1N8e2lkfX0KK1NldCBjaGFyc2V0IGZv ciBsaXN0IGZpbGVzCisuVFAKKy5CUiBcLXNjcmNbQ1JDMzJ8Q1JDNjR8U0hBMXxTSEEyNTZ8Kl0K K1NldCBoYXNoIGZ1bmN0aW9uIGZvciB4LCBlLCBoIGNvbW1hbmRzCisuVFAKKy5CUiBcLXNkZWwK K0RlbGV0ZSBmaWxlcyBhZnRlciBjb21wcmVzc2lvbgorLlRQCisuQlIgXC1zZW1sWy5dCitTZW5k IGFyY2hpdmUgYnkgZW1haWwKKy5UUAorLkJSIFwtc2Z4W3tuYW1lfV0KK0NyZWF0ZSBTRlggYXJj aGl2ZQorLlRQCisuQlIgXC1zaVt7bmFtZX1dCitSZWFkIGRhdGEgZnJvbSBzdGRpbgorLlRQCisu QlIgXC1zbHAKK1NldCBMYXJnZSBQYWdlcyBtb2RlCisuVFAKKy5CUiBcLXNsdAorU2hvdyB0ZWNo bmljYWwgaW5mb3JtYXRpb24gZm9yIGwgKExpc3QpIGNvbW1hbmQKKy5UUAorLkJSIFwtc25oCitT dG9yZSBoYXJkIGxpbmtzIGFzIGxpbmtzCisuVFAKKy5CUiBcLXNubAorU3RvcmUgc3ltYm9saWMg bGlua3MgYXMgbGlua3MKKy5UUAorLkJSIFwtc25pCitTdG9yZSBOVCBzZWN1cml0eSBpbmZvcm1h dGlvbgorLlRQCisuQlIgXC1zbnNbXC1dCitTdG9yZSBOVEZTIGFsdGVybmF0ZSBzdHJlYW1zCisu VFAKKy5CUiBcLXNvCitXcml0ZSBkYXRhIHRvIHN0ZG91dAorLlRQCisuQlIgXC1zcGQKK0Rpc2Fi bGUgd2lsZGNhcmQgbWF0Y2hpbmcgZm9yIGZpbGUgbmFtZXMKKy5UUAorLkJSIFwtc3BlCitFbGlt aW5hdGUgZHVwbGljYXRpb24gb2Ygcm9vdCBmb2xkZXIgZm9yIGV4dHJhY3QgY29tbWFuZAorLlRQ CisuQlIgXC1zcGYKK1VzZSBmdWxseSBxdWFsaWZpZWQgZmlsZSBwYXRocworLlRQCisuQlIgXC1z c2NbXC1dCitTZXQgc2Vuc2l0aXZlIGNhc2UgbW9kZQorLlRQCisuQlIgXC1zc2UKK1N0b3AgYXJj aGl2ZSBjcmVhdGluZywgaWYgaXQgY2FuJ3Qgb3BlbiBzb21lIGlucHV0IGZpbGUKKy5UUAorLkJS IFwtc3NwCitEbyBub3QgY2hhbmdlIExhc3QgQWNjZXNzIFRpbWUgb2Ygc291cmNlIGZpbGVzIHdo aWxlIGFyY2hpdmluZworLlRQCisuQlIgXC1zc3cKK0NvbXByZXNzIHNoYXJlZCBmaWxlcworLlRQ CisuQlIgXC1zdGwKK1NldCBhcmNoaXZlIHRpbWVzdGFtcCBmcm9tIHRoZSBtb3N0IHJlY2VudGx5 IG1vZGlmaWVkIGZpbGUKKy5UUAorLkJSIFwtc3Rte0hleE1hc2t9CitTZXQgQ1BVIHRocmVhZCBh ZmZpbml0eSBtYXNrIChoZXhhZGVjaW1hbCBudW1iZXIpCisuVFAKKy5CUiBcLXN0eHtUeXBlfQor RXhjbHVkZSBhcmNoaXZlIHR5cGUKKy5UUAorLkJSIFwtdHtUeXBlfQorU2V0IHR5cGUgb2YgYXJj aGl2ZQorLlRQCisuQlIgXC11W1wtXVtwI11bcSNdW3IjXVt4I11beSNdW3ojXVshbmV3QXJjaGl2 ZU5hbWVdCitVcGRhdGUgb3B0aW9ucworLlRQCisuQlIgXC12e1NpemV9W2J8a3xtfGddCitDcmVh dGUgdm9sdW1lcworLlRQCisuQlIgXC13W3twYXRofV0KK1NldCB3b3JraW5nIGRpcmVjdG9yeS4g RW1wdHkgcGF0aCBtZWFucyBhIHRlbXBvcmFyeSBkaXJlY3RvcnkKKy5UUAorLkJSIFwteFtyW1wt fDBdXXtAbGlzdGZpbGV8IXdpbGRjYXJkfQorRXhjbHVkZSBmaWxlbmFtZXMKKy5UUAorLkJSIFwt eQorQXNzdW1lIFllcyBvbiBhbGwgcXVlcmllcworLlNIIExpc3RmaWxlCitZb3UgY2FuIHN1cHBs eSBvbmUgb3IgbW9yZSBmaWxlbmFtZXMgb3Igd2lsZGNhcmRzIGZvciBzcGVjaWFsIGxpc3QgZmls ZXMgKGZpbGVzIGNvbnRhaW5pbmcgbGlzdHMgb2YgZmlsZXMpLiBUaGUgZmlsZW5hbWVzIGluIHN1 Y2ggbGlzdCBmaWxlIG11c3QgYmUgc2VwYXJhdGVkIGJ5IG5ldyBsaW5lIHN5bWJvbChzKS4gRm9y IGxpc3QgZmlsZXMsIDdcLVppcCB1c2VzIFVURlwtOCBlbmNvZGluZyBieSBkZWZhdWx0LiBZb3Ug Y2FuIGNoYW5nZSBlbmNvZGluZyB1c2luZworLkJSIFwtc2NzCitzd2l0Y2guIE11bHRpcGxlIGxp c3QgZmlsZXMgYXJlIHN1cHBvcnRlZC4KKy5QUAorRm9yIGV4YW1wbGUsIGlmIHRoZSBmaWxlICJs aXN0ZmlsZS50eHQiIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmc6CisuSVAKK015IHByb2dyYW1zXFwq LmNwcAorLmJyCitTcmNcXCouY3BwCisuUFAKK3RoZW4gdGhlIGNvbW1hbmQKKy5JUAorLkIgN3og YSBcLXR6aXAgYXJjaGl2ZS56aXAgQGxpc3RmaWxlLnR4dAorLlBQCithZGRzIHRvIHRoZSBhcmNo aXZlICJhcmNoaXZlLnppcCIgYWxsICIqLmNwcCIgZmlsZXMgZnJvbSBkaXJlY3RvcmllcyAiTXkg cHJvZ3JhbXMiIGFuZCAiU3JjIi4KKy5TSCAiU0VFIEFMU08iCisuQlIgeHogKDEpCisuYnIKK0Zy ZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zOiA8aHR0cHM6Ly93d3cuNy16aXAub3JnL2ZhcS5odG1s PgorLmJyCitSZWNvdmVyIGNvcnJ1cHRlZCA3eiBhcmNoaXZlOiA8aHR0cHM6Ly93d3cuNy16aXAu b3JnL3JlY292ZXIuaHRtbD4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxk X2ZsYWdzLnBhdGNoIGIvc3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRfZmxhZ3MucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40Zjc5MWZmNjNkZGYKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9mbGFncy5wYXRjaApAQCAt MCwwICsxLDMwIEBACithcHBlbmQgKGRvbid0IHByZWZpeCkgeGJwcyBidWlsZCBmbGFncyBhbmQg ZG9uJ3Qgc3RyaXAgdGhlIGV4ZWN1dGFibGUKKy0tLSBhL0NQUC83emlwLzd6aXBfZ2NjLm1hawor KysrIGIvQ1BQLzd6aXAvN3ppcF9nY2MubWFrCitAQCAtMTI2LDcgKzEyNiw3IEBAIGVuZGlmCisg DQorIA0KKyANCistQ0ZMQUdTID0gJChNWV9BUkNIXzIpICQoTE9DQUxfRkxBR1MpICQoQ0ZMQUdT X0JBU0UyKSAkKENGTEFHU19CQVNFKSAkKENDX1NIQVJFRCkgLW8gJEANCisrQ0ZMQUdTID0gJChN WV9BUkNIXzIpICQoTE9DQUxfRkxBR1MpICQoQ0ZMQUdTX0JBU0UyKSAkKENGTEFHU19CQVNFKSAk KENDX1NIQVJFRCkgJChYQlBTX0NGTEFHUykgLW8gJEANCisgDQorIA0KKyBpZmRlZiBJU19NSU5H Vw0KK0BAIC0xNTQsNyArMTU0LDcgQEAgQ1hYX1dBUk5fRkxBR1MgPQorICMtV25vLWludmFsaWQt b2Zmc2V0b2YNCisgIy1Xbm8tcmVvcmRlcg0KKyANCistQ1hYRkxBR1MgPSAkKE1ZX0FSQ0hfMikg JChMT0NBTF9GTEFHUykgJChDWFhGTEFHU19CQVNFMikgJChDRkxBR1NfQkFTRSkgJChDWFhGTEFH U19FWFRSQSkgJChDQ19TSEFSRUQpIC1vICRAICQoQ1hYX1dBUk5fRkxBR1MpDQorK0NYWEZMQUdT ID0gJChNWV9BUkNIXzIpICQoTE9DQUxfRkxBR1MpICQoQ1hYRkxBR1NfQkFTRTIpICQoQ0ZMQUdT X0JBU0UpICQoQ1hYRkxBR1NfRVhUUkEpICQoQ0NfU0hBUkVEKSAtbyAkQCAkKENYWF9XQVJOX0ZM QUdTKSAkKFhCUFNfQ1hYRkxBR1MpDQorIA0KKyBTVEFUSUNfVEFSR0VUPQ0KKyBpZmRlZiBDT01Q TF9TVEFUSUMNCitAQCAtMTY3LDcgKzE2Nyw3IEBAIGFsbDogJChPKSAkKFBST0dQQVRIKSAkKFNU QVRJQ19UQVJHRVQpCisgJChPKToNCisgCSQoTVlfTUtESVIpICQoTykNCisgDQorLUxGTEFHU19B TEwgPSAtcyAkKE1ZX0FSQ0hfMikgJChMREZMQUdTKSAkKExEX2FyY2gpICQoT0JKUykgJChNWV9M SUJTKSAkKExJQjIpDQorK0xGTEFHU19BTEwgPSAkKE1ZX0FSQ0hfMikgJChMREZMQUdTKSAkKExE X2FyY2gpICQoT0JKUykgJChNWV9MSUJTKSAkKExJQjIpICQoWEJQU19MREZMQUdTKQ0KKyAkKFBS T0dQQVRIKTogJChPQkpTKQ0KKyAJJChDWFgpIC1vICQoUFJPR1BBVEgpICQoTEZMQUdTX0FMTCkN CisgDQpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwL3RlbXBsYXRlIGIvc3JjcGtncy83emlwL3Rl bXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGM2OGRiNjhl YTAyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwL3RlbXBsYXRlCkBAIC0wLDAgKzEs NTYgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJzd6aXAnCitwa2duYW1lPTd6aXAKK3ZlcnNpb249 MjIuMDAKK3JldmlzaW9uPTEKK2NyZWF0ZV93cmtzcmM9eWVzCitzaG9ydF9kZXNjPSJGaWxlIGFy Y2hpdmVyIHdpdGggYSBoaWdoIGNvbXByZXNzaW9uIHJhdGlvIgorbWFpbnRhaW5lcj0iUm9iZXJ0 byBSaWNjaSA8cmljY2lAZGlzcm9vdC5vcmc+IgorbGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0ZXIs IEJTRC0zLUNsYXVzZSIKK2hvbWVwYWdlPSJodHRwczovL3d3dy43LXppcC5vcmciCitjaGFuZ2Vs b2c9Imh0dHBzOi8vd3d3LjctemlwLm9yZy9oaXN0b3J5LnR4dCIKK2Rpc3RmaWxlcz0iaHR0cHM6 Ly93d3cuNy16aXAub3JnL2EvN3oke3ZlcnNpb24vLy4vfS1zcmMudGFyLnh6IgorY2hlY2tzdW09 NDA5NjlmNjAxZTg2YWZmNDlhYWEwYmEwZGY1Y2U2ZmQzOTdjZjdlMjY4M2E4NGI1OTFiMDA4MWU0 NjFlZjY3NQorCitpZiBbICIkWEJQU19UQVJHRVRfTElCQyIgPSBtdXNsIF07IHRoZW4KKwkjIG1p c3NpbmcgcHRocmVhZF9hdHRyX3NldGFmZmluaXR5X25wKCkKKwlDRkxBR1M9Ii1EXzdaSVBfQUZG SU5JVFlfRElTQUJMRSIKKwlDWFhGTEFHUz0iLURfN1pJUF9BRkZJTklUWV9ESVNBQkxFIgorZmkK KworZG9fYnVpbGQoKSB7CisJY2QgQ1BQLzd6aXAvQnVuZGxlcy9BbG9uZTIKKwltYWtlICIkbWFr ZWpvYnMiIC1mIC4uLy4uL2NtcGxfZ2NjLm1hayBcCisJCUNDPSIkQ0MiIENYWD0iJENYWCIgWEJQ U19DRkxBR1M9IiRDRkxBR1MiIFwKKwkJWEJQU19DWFhGTEFHUz0iJENYWEZMQUdTIiBYQlBTX0xE RkxBR1M9IiRMREZMQUdTIiBcCisJCURJU0FCTEVfUkFSX0NPTVBSRVNTPTEKK30KKworZG9faW5z dGFsbCgpIHsKKwl2YmluIENQUC83emlwL0J1bmRsZXMvQWxvbmUyL2IvZy83enoKKwlmb3IgaSBp biA3eiA3emEgN3pyOyBkbworCQlsbiAtc2YgN3p6ICR7REVTVERJUn0vdXNyL2Jpbi8ke2l9CisJ ZG9uZQorCisJdmxpY2Vuc2UgRE9DL0xpY2Vuc2UudHh0CisKKwkjIGh0dHBzOi8vY2dpdC5mcmVl YnNkLm9yZy9wb3J0cy9wbGFpbi9hcmNoaXZlcnMvNy16aXAvZmlsZXMvN3p6LjEKKwl2bWFuICR7 RklMRVNESVJ9Lzd6ei4xCit9CisKKyM3emlwLXJhcl9wYWNrYWdlKCkgeworCSNyZXBvc2l0b3J5 PW5vbmZyZWUKKwkjY29uZmxpY3RzPTd6aXAKKwkjc2hvcnRfZGVzYys9IiB3aXRoIFJBUiBzdXBw b3J0IgorI30KKworcDd6aXBfcGFja2FnZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJZGVwZW5k cz03emlwCisJc2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29t cHJlc3NlZCBmaWxlIGFyY2hpdmUgKHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlKSIKK30KKwor I3A3emlwLXVucmFyX3BhY2thZ2UgeworCSNidWlsZF9zdHlsZT1tZXRhCisJI2RlcGVuZHM9N3pp cC1yYXIKKwkjc2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29t cHJlc3NlZCBmaWxlIGFyY2hpdmUgLSBSQVIgc3VwcG9ydCAodHJhbnNpdGlvbmFsIGR1bW15IHBh Y2thZ2UpIgorI30KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAgYi9zcmNwa2dzL3A3emlwCm5l dyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMjg0MzEyNTk1YTRjCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9wN3ppcApAQCAtMCwwICsxIEBACis3emlwClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC11bnJhciBiL3Ny Y3BrZ3MvcDd6aXAtdW5yYXIKZGVsZXRlZCBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IGJmNTM0OWVl NjY2Ni4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAtdW5yYXIKKysrIC9kZXYvbnVs bApAQCAtMSArMCwwIEBACi1wN3ppcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoIGIvc3Jj cGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDY3MzNiZmY5MTg5NS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv cDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MjIxICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRhIDxyb2JlcnRAZGViaWFuLm9yZz4KLURh dGU6IFN1biwgMjggSmFuIDIwMTggMjM6NDc6NDAgKzAxMDAKLVN1YmplY3Q6IENWRS0yMDE4LTU5 OTYKLQotSG9wZWZ1bGx5IGZpeCBNZW1vcnkgQ29ycnVwdGlvbnMgdmlhIFJBUiBQUE1kIChDVkUt MjAxOC01OTk2KSBieQotYXBwbHlpbmcgYSBmZXcgY2hhbmdlcyBmcm9tIDdaaXAgMTguMDAtYmV0 YS4KLQotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvIzg4ODMxNAotLS0tCi0g Q1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIHwgMTMgKysrKysrKysrLS0tLQotIENQ UC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggICB8ICAxICsKLSBDUFAvN3ppcC9Db21wcmVz cy9SYXIyRGVjb2Rlci5jcHAgfCAxMCArKysrKysrKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MkRlY29kZXIuaCAgIHwgIDEgKwotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCB8 IDIzICsrKysrKysrKysrKysrKysrKysrLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29k ZXIuaCAgIHwgIDIgKysKLSA2IGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDggZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5j cHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLWluZGV4IDFhYWVkY2MuLjY4 MDMwYzcgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsr KyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAotQEAgLTI5LDcgKzI5LDcgQEAg cHVibGljOgotIH07Ci0gKi8KLSAKLS1DRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZh bHNlKSB7IH0KLStDRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSwgX2Vycm9y TW9kZShmYWxzZSkgeyB9Ci0gCi0gdm9pZCBDRGVjb2Rlcjo6SW5pdFN0cnVjdHVyZXMoKQotIHsK LUBAIC00MDYsOSArNDA2LDE0IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50 aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBJbml0RGF0 YSgpOwotICAgaWYgKCFtX0lzU29saWQpCi0gICB7Ci0rICAgIF9lcnJvck1vZGUgPSBmYWxzZTsK LSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLSAgICAgSW5pdEh1ZmYoKTsKLSAgIH0KLSsKLSsgIGlm IChfZXJyb3JNb2RlKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIGlmIChtX1VucGFja1Np emUgPiAwKQotICAgewotICAgICBHZXRGbGFnc0J1ZigpOwotQEAgLTQ3Nyw5ICs0ODIsOSBAQCBT VERNRVRIT0RJTVAgQ0RlY29kZXI6OkNvZGUoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0s IElTZXF1ZW50aWFsT3V0U3RyZWFtCi0gICAgIGNvbnN0IFVJbnQ2NCAqaW5TaXplLCBjb25zdCBV SW50NjQgKm91dFNpemUsIElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewotICAg dHJ5IHsgcmV0dXJuIENvZGVSZWFsKGluU3RyZWFtLCBvdXRTdHJlYW0sIGluU2l6ZSwgb3V0U2l6 ZSwgcHJvZ3Jlc3MpOyB9Ci0tICBjYXRjaChjb25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUpIHsg cmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaChjb25zdCBDTHpPdXRXaW5kb3dFeGNlcHRp b24gJmUpIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaCguLi4pIHsgcmV0dXJuIFNf RkFMU0U7IH0KLSsgIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgeyBfZXJyb3JN b2RlID0gdHJ1ZTsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0rICBjYXRjaChjb25zdCBDTHpPdXRX aW5kb3dFeGNlcHRpb24gJmUpIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJldHVybiBlLkVycm9yQ29k ZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gU19GQUxTRTsg fQotIH0KLSAKLSBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVzMihj b25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6ZSkKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIxRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotaW5k ZXggNjMwZjA4OS4uMDFiNjA2YiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFE ZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLUBAIC0zOSw2 ICszOSw3IEBAIHB1YmxpYzoKLSAKLSAgIEludDY0IG1fVW5wYWNrU2l6ZTsKLSAgIGJvb2wgbV9J c1NvbGlkOwotKyAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgVUludDMyIFJlYWRCaXRzKGludCBu dW1CaXRzKTsKLSAgIEhSRVNVTFQgQ29weUJsb2NrKFVJbnQzMiBkaXN0YW5jZSwgVUludDMyIGxl bik7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwIGIvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1pbmRleCBiM2YyYjRiLi4wNTgwYzhkIDEw MDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi0rKysgYi9DUFAv N3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLUBAIC04MCw3ICs4MCw4IEBAIHN0YXRpYyBj b25zdCBVSW50MzIga0hpc3RvcnlTaXplID0gMSA8PCAyMDsKLSBzdGF0aWMgY29uc3QgVUludDMy IGtXaW5kb3dSZXNlcnZTaXplID0gKDEgPDwgMjIpICsgMjU2OwotIAotIENEZWNvZGVyOjpDRGVj b2RlcigpOgotLSAgbV9Jc1NvbGlkKGZhbHNlKQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIG1f VGFibGVzT0soZmFsc2UpCi0gewotIH0KLSAKLUBAIC0xMDAsNiArMTAxLDggQEAgVUludDMyIENE ZWNvZGVyOjpSZWFkQml0cyh1bnNpZ25lZCBudW1CaXRzKSB7IHJldHVybiBtX0luQml0U3RyZWFt LlJlYWRCaXRzKG51bUIKLSAKLSBib29sIENEZWNvZGVyOjpSZWFkVGFibGVzKHZvaWQpCi0gewot KyAgbV9UYWJsZXNPSyA9IGZhbHNlOwotKwotICAgQnl0ZSBsZXZlbExldmVsc1trTGV2ZWxUYWJs ZVNpemVdOwotICAgQnl0ZSBuZXdMZXZlbHNba01heFRhYmxlU2l6ZV07Ci0gICBtX0F1ZGlvTW9k ZSA9IChSZWFkQml0cygxKSA9PSAxKTsKLUBAIC0xNzAsNiArMTczLDggQEAgYm9vbCBDRGVjb2Rl cjo6UmVhZFRhYmxlcyh2b2lkKQotICAgfQotICAgCi0gICBtZW1jcHkobV9MYXN0TGV2ZWxzLCBu ZXdMZXZlbHMsIGtNYXhUYWJsZVNpemUpOwotKyAgbV9UYWJsZXNPSyA9IHRydWU7Ci0rCi0gICBy ZXR1cm4gdHJ1ZTsKLSB9Ci0gCi1AQCAtMzQ0LDYgKzM0OSw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6 OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0 cmVhbSAqCi0gICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0gICB9Ci0gCi0rICBpZiAoIW1fVGFibGVz T0spCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotICAgVUludDY0IHN0YXJ0UG9zID0gbV9PdXRX aW5kb3dTdHJlYW0uR2V0UHJvY2Vzc2VkU2l6ZSgpOwotICAgd2hpbGUgKHBvcyA8IHVuUGFja1Np emUpCi0gICB7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCBi L0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLWluZGV4IDNhMDUzNWMuLjBlOTAwNWYg MTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi0rKysgYi9DUFAv N3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1AQCAtMTM5LDYgKzEzOSw3IEBAIGNsYXNzIENE ZWNvZGVyIDoKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXplOwotICAgYm9vbCBtX0lzU29saWQ7Ci0r ICBib29sIG1fVGFibGVzT0s7Ci0gCi0gICB2b2lkIEluaXRTdHJ1Y3R1cmVzKCk7Ci0gICBVSW50 MzIgUmVhZEJpdHModW5zaWduZWQgbnVtQml0cyk7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyM0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3Bw Ci1pbmRleCAzYmYyNTEzLi42Y2I4YTZhIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyM0RlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAK LUBAIC05Miw3ICs5Miw4IEBAIENEZWNvZGVyOjpDRGVjb2RlcigpOgotICAgX3dyaXR0ZW5GaWxl U2l6ZSgwKSwKLSAgIF92bURhdGEoMCksCi0gICBfdm1Db2RlKDApLAotLSAgbV9Jc1NvbGlkKGZh bHNlKQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIF9lcnJvck1vZGUoZmFsc2UpCi0gewotICAg UHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci0gfQotQEAgLTU0NSw2ICs1NDYsOSBAQCBIUkVTVUxU IENEZWNvZGVyOjpSZWFkVGFibGVzKGJvb2wgJmtlZXBEZWNvbXByZXNzaW5nKQotICAgICByZXR1 cm4gSW5pdFBQTSgpOwotICAgfQotIAotKyAgVGFibGVzUmVhZCA9IGZhbHNlOwotKyAgVGFibGVz T0sgPSBmYWxzZTsKLSsKLSAgIF9sek1vZGUgPSB0cnVlOwotICAgUHJldkFsaWduQml0cyA9IDA7 Ci0gICBQcmV2QWxpZ25Db3VudCA9IDA7Ci1AQCAtNjA2LDYgKzYxMCw5IEBAIEhSRVNVTFQgQ0Rl Y29kZXI6OlJlYWRUYWJsZXMoYm9vbCAma2VlcERlY29tcHJlc3NpbmcpCi0gICAgICAgfQotICAg ICB9Ci0gICB9Ci0rICBpZiAoSW5wdXRFb2ZFcnJvcigpKQotKyAgICByZXR1cm4gU19GQUxTRTsK LSsKLSAgIFRhYmxlc1JlYWQgPSB0cnVlOwotIAotICAgLy8gb3JpZ2luYWwgY29kZSBoYXMgY2hl Y2sgaGVyZToKLUBAIC02MjMsNiArNjMwLDkgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6UmVhZFRhYmxl cyhib29sICZrZWVwRGVjb21wcmVzc2luZykKLSAgIFJJRihtX0xlbkRlY29kZXIuQnVpbGQoJm5l d0xldmVsc1trTWFpblRhYmxlU2l6ZSArIGtEaXN0VGFibGVTaXplICsga0FsaWduVGFibGVTaXpl XSkpOwotIAotICAgbWVtY3B5KG1fTGFzdExldmVscywgbmV3TGV2ZWxzLCBrVGFibGVzU2l6ZXNT dW0pOwotKwotKyAgVGFibGVzT0sgPSB0cnVlOwotKwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAot QEAgLTgyNCw3ICs4MzQsMTIgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSUNvbXByZXNz UHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgICAgUHBtRXNjQ2hhciA9IDI7Ci0gICAgIFBwbUVy cm9yID0gdHJ1ZTsKLSAgICAgSW5pdEZpbHRlcnMoKTsKLSsgICAgX2Vycm9yTW9kZSA9IGZhbHNl OwotICAgfQotKwotKyAgaWYgKF9lcnJvck1vZGUpCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwot ICAgaWYgKCFtX0lzU29saWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7Ci0gICAgIGJvb2wga2VlcERl Y29tcHJlc3Npbmc7Ci1AQCAtODM4LDYgKzg1Myw4IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVS ZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICAgIGJvb2wga2VlcERlY29t cHJlc3Npbmc7Ci0gICAgIGlmIChfbHpNb2RlKQotICAgICB7Ci0rICAgICAgaWYgKCFUYWJsZXNP SykKLSsgICAgICAgIHJldHVybiBTX0ZBTFNFOwotICAgICAgIFJJTk9LKERlY29kZUxaKGtlZXBE ZWNvbXByZXNzaW5nKSkKLSAgICAgfQotICAgICBlbHNlCi1AQCAtOTAxLDggKzkxOCw4IEBAIFNU RE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwg SVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgX3VucGFja1NpemUgPSBvdXRTaXplID8gKm91dFNp emUgOiAoVUludDY0KShJbnQ2NCktMTsKLSAgICAgcmV0dXJuIENvZGVSZWFsKHByb2dyZXNzKTsK LSAgIH0KLS0gIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgIHsgcmV0dXJuIGUu RXJyb3JDb2RlOyB9Ci0tICBjYXRjaCguLi4pIHsgcmV0dXJuIFNfRkFMU0U7IH0KLSsgIGNhdGNo KGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJldHVy biBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1 cm4gU19GQUxTRTsgfQotICAgLy8gQ05ld0V4Y2VwdGlvbiBpcyBwb3NzaWJsZSBoZXJlLiBCdXQg cHJvYmFibHkgQ05ld0V4Y2VwdGlvbiBpcyBjYXVzZWQKLSAgIC8vIGJ5IGVycm9yIGluIGRhdGEg c3RyZWFtLgotIH0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5o IGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotaW5kZXggYzEzMGNlYy4uMmY3MmQ3 ZCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLSsrKyBiL0NQ UC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLUBAIC0xOTIsNiArMTkyLDcgQEAgY2xhc3Mg Q0RlY29kZXI6Ci0gICBVSW50MzIgX2xhc3RGaWx0ZXI7Ci0gCi0gICBib29sIG1fSXNTb2xpZDsK LSsgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIGJvb2wgX2x6TW9kZTsKLSAgIGJvb2wgX3Vuc3Vw cG9ydGVkRmlsdGVyOwotQEAgLTIwMCw2ICsyMDEsNyBAQCBjbGFzcyBDRGVjb2RlcjoKLSAgIFVJ bnQzMiBQcmV2QWxpZ25Db3VudDsKLSAKLSAgIGJvb2wgVGFibGVzUmVhZDsKLSsgIGJvb2wgVGFi bGVzT0s7Ci0gCi0gICBDUHBtZDcgX3BwbWQ7Ci0gICBpbnQgUHBtRXNjQ2hhcjsKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaCBiL3NyY3Br Z3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggN2Q5YzRiZjgxZjAwLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9w N3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MzExICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRhIDxyb2JlcnRAZGViaWFuLm9yZz4KLURh dGU6IFR1ZSwgMjkgTWF5IDIwMTggMjM6NTk6MDkgKzAyMDAKLVN1YmplY3Q6IEZpeCBDVkUtMjAx OC0xMDExNQotCi1BcHBseSAicGF0Y2giIHRha2VuIGZyb20gaHR0cHM6Ly9sYW5kYXZlLmlvL2Zp bGVzL3BhdGNoXzd6aXBfQ1ZFLTIwMTgtMTAxMTUudHh0Ci0KLQotQnVncy1EZWJpYW46IGh0dHBz Oi8vYnVncy5kZWJpYW4ub3JnLzg5NzY3NAotLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURl Y29kZXIuY3BwIHwgMTYgKysrKysrKysrKystLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjFE ZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcCB8 IDE3ICsrKysrKysrKysrKystLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCAg IHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwIHwgMTkgKysrKysr KysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmggICB8ICAzICsr LQotIENQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcCB8ICA4ICsrKysrKysrCi0gQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaCAgIHwgIDEgKwotIDggZmlsZXMgY2hhbmdlZCwg NTQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3pp cC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rl ci5jcHAKLWluZGV4IDY4MDMwYzcuLjhjODkwYzggMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVy LmNwcAotQEAgLTI5LDcgKzI5LDcgQEAgcHVibGljOgotIH07Ci0gKi8KLSAKLS1DRGVjb2Rlcjo6 Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSwgX2Vycm9yTW9kZShmYWxzZSkgeyB9Ci0rQ0Rl Y29kZXI6OkNEZWNvZGVyKCk6IF9pc1NvbGlkKGZhbHNlKSwgX3NvbGlkQWxsb3dlZChmYWxzZSks IF9lcnJvck1vZGUoZmFsc2UpIHsgfQotIAotIHZvaWQgQ0RlY29kZXI6OkluaXRTdHJ1Y3R1cmVz KCkKLSB7Ci1AQCAtMzQ1LDcgKzM0NSw3IEBAIHZvaWQgQ0RlY29kZXI6OkdldEZsYWdzQnVmKCkK LSAKLSB2b2lkIENEZWNvZGVyOjpJbml0RGF0YSgpCi0gewotLSAgaWYgKCFtX0lzU29saWQpCi0r ICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBBdnJQbGNCID0gQXZyTG4xID0gQXZyTG4yID0g QXZyTG4zID0gTnVtSHVmID0gQnVmNjAgPSAwOwotICAgICBBdnJQbGMgPSAweDM1MDA7Ci1AQCAt MzkxLDYgKzM5MSwxMSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbElu U3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgaWYgKGluU2l6ZSA9 PSBOVUxMIHx8IG91dFNpemUgPT0gTlVMTCkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLSAK LSsgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dlZCkKLSsgICAgcmV0dXJuIFNfRkFMU0U7 Ci0rCi0rICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICBpZiAoIW1fT3V0V2luZG93U3Ry ZWFtLkNyZWF0ZShrSGlzdG9yeVNpemUpKQotICAgICByZXR1cm4gRV9PVVRPRk1FTU9SWTsKLSAg IGlmICghbV9JbkJpdFN0cmVhbS5DcmVhdGUoMSA8PCAyMCkpCi1AQCAtMzk4LDEzICs0MDMsMTMg QEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJl YW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAKLSAgIG1fVW5wYWNrU2l6ZSA9IChJbnQ2NCkq b3V0U2l6ZTsKLSAgIG1fT3V0V2luZG93U3RyZWFtLlNldFN0cmVhbShvdXRTdHJlYW0pOwotLSAg bV9PdXRXaW5kb3dTdHJlYW0uSW5pdChtX0lzU29saWQpOwotKyAgbV9PdXRXaW5kb3dTdHJlYW0u SW5pdChfaXNTb2xpZCk7Ci0gICBtX0luQml0U3RyZWFtLlNldFN0cmVhbShpblN0cmVhbSk7Ci0g ICBtX0luQml0U3RyZWFtLkluaXQoKTsKLSAKLSAgIC8vIENDb2RlclJlbGVhc2VyIGNvZGVyUmVs ZWFzZXIodGhpcyk7Ci0gICBJbml0RGF0YSgpOwotLSAgaWYgKCFtX0lzU29saWQpCi0rICBpZiAo IV9pc1NvbGlkKQotICAgewotICAgICBfZXJyb3JNb2RlID0gZmFsc2U7Ci0gICAgIEluaXRTdHJ1 Y3R1cmVzKCk7Ci1AQCAtNDc1LDYgKzQ4MCw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFs KElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0g ICB9Ci0gICBpZiAobV9VbnBhY2tTaXplIDwgMCkKLSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICBf c29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgIHJldHVybiBtX091dFdpbmRvd1N0cmVhbS5GbHVzaCgp OwotIH0KLSAKLUBAIC00OTEsNyArNDk3LDcgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXRE ZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewotICAg aWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlkID0g KChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDAp OwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNz L1JhcjFEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oCi1pbmRleCAw MWI2MDZiLi44YWJiM2EzIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29k ZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotQEAgLTM4LDcgKzM4 LDggQEAgcHVibGljOgotICAgVUludDMyIExhc3RMZW5ndGg7Ci0gCi0gICBJbnQ2NCBtX1VucGFj a1NpemU7Ci0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9z b2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBVSW50MzIgUmVhZEJpdHMo aW50IG51bUJpdHMpOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVy LmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotaW5kZXggMDU4MGM4ZC4u YmU4ZDg0MiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAot KysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1AQCAtODAsNyArODAsOCBA QCBzdGF0aWMgY29uc3QgVUludDMyIGtIaXN0b3J5U2l6ZSA9IDEgPDwgMjA7Ci0gc3RhdGljIGNv bnN0IFVJbnQzMiBrV2luZG93UmVzZXJ2U2l6ZSA9ICgxIDw8IDIyKSArIDI1NjsKLSAKLSBDRGVj b2Rlcjo6Q0RlY29kZXIoKToKLS0gIG1fSXNTb2xpZChmYWxzZSksCi0rICBfaXNTb2xpZChmYWxz ZSksCi0rICBfc29saWRBbGxvd2VkKGZhbHNlKSwKLSAgIG1fVGFibGVzT0soZmFsc2UpCi0gewot IH0KLUBAIC0zMjAsNiArMzIxLDEwIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1 ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBpZiAo aW5TaXplID09IE5VTEwgfHwgb3V0U2l6ZSA9PSBOVUxMKQotICAgICByZXR1cm4gRV9JTlZBTElE QVJHOwotIAotKyAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICByZXR1cm4g U19GQUxTRTsKLSsgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAgIGlmICghbV9PdXRXaW5k b3dTdHJlYW0uQ3JlYXRlKGtIaXN0b3J5U2l6ZSkpCi0gICAgIHJldHVybiBFX09VVE9GTUVNT1JZ OwotICAgaWYgKCFtX0luQml0U3RyZWFtLkNyZWF0ZSgxIDw8IDIwKSkKLUBAIC0zMzAsMTIgKzMz NSwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICpp blN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgVUludDY0IHBvcyA9IDAsIHVuUGFj a1NpemUgPSAqb3V0U2l6ZTsKLSAgIAotICAgbV9PdXRXaW5kb3dTdHJlYW0uU2V0U3RyZWFtKG91 dFN0cmVhbSk7Ci0tICBtX091dFdpbmRvd1N0cmVhbS5Jbml0KG1fSXNTb2xpZCk7Ci0rICBtX091 dFdpbmRvd1N0cmVhbS5Jbml0KF9pc1NvbGlkKTsKLSAgIG1fSW5CaXRTdHJlYW0uU2V0U3RyZWFt KGluU3RyZWFtKTsKLSAgIG1fSW5CaXRTdHJlYW0uSW5pdCgpOwotIAotICAgLy8gQ0NvZGVyUmVs ZWFzZXIgY29kZXJSZWxlYXNlcih0aGlzKTsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFf aXNTb2xpZCkKLSAgIHsKLSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLSAgICAgaWYgKHVuUGFja1Np emUgPT0gMCkKLUBAIC0zNDMsNiArMzQ4LDcgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwo SVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAg ICAgICBpZiAobV9JbkJpdFN0cmVhbS5HZXRQcm9jZXNzZWRTaXplKCkgKyAyIDw9IG1fUGFja1Np emUpIC8vIHRlc3QgaXQ6IHByb2JhYmx5IGluY29ycmVjdDsKLSAgICAgICAgIGlmICghUmVhZFRh YmxlcygpKQotICAgICAgICAgICByZXR1cm4gU19GQUxTRTsKLSsgICAgICBfc29saWRBbGxvd2Vk ID0gdHJ1ZTsKLSAgICAgICByZXR1cm4gU19PSzsKLSAgICAgfQotICAgICBpZiAoIVJlYWRUYWJs ZXMoKSkKLUBAIC0zODYsNiArMzkyLDkgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNl cXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAKLSAg IGlmICghUmVhZExhc3RUYWJsZXMoKSkKLSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0rICBfc29s aWRBbGxvd2VkID0gdHJ1ZTsKLSsKLSAgIHJldHVybiBtX091dFdpbmRvd1N0cmVhbS5GbHVzaCgp OwotIH0KLSAKLUBAIC00MDIsNyArNDExLDcgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXRE ZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewotICAg aWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlkID0g KChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDAp OwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNz L1JhcjJEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1pbmRleCAw ZTkwMDVmLi4zNzBiY2UyIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29k ZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotQEAgLTEzOCw3ICsx MzgsOCBAQCBjbGFzcyBDRGVjb2RlciA6Ci0gICBCeXRlIG1fTGFzdExldmVsc1trTWF4VGFibGVT aXplXTsKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXplOwotLSAgYm9vbCBtX0lzU29saWQ7Ci0rICBi b29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxvd2VkOwotICAgYm9vbCBtX1RhYmxlc09L OwotIAotICAgdm9pZCBJbml0U3RydWN0dXJlcygpOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0Nv bXByZXNzL1JhcjNEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNw cAotaW5kZXggNmNiOGE2YS4uN2I4NTgzMyAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNz L1JhcjNEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3Bw Ci1AQCAtOTIsNyArOTIsOCBAQCBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLSAgIF93cml0dGVuRmls ZVNpemUoMCksCi0gICBfdm1EYXRhKDApLAotICAgX3ZtQ29kZSgwKSwKLS0gIG1fSXNTb2xpZChm YWxzZSksCi0rICBfaXNTb2xpZChmYWxzZSksCi0rICBfc29saWRBbGxvd2VkKGZhbHNlKSwKLSAg IF9lcnJvck1vZGUoZmFsc2UpCi0gewotICAgUHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci1AQCAt ODIxLDcgKzgyMiw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dy ZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewotICAgX3dyaXR0ZW5GaWxlU2l6ZSA9IDA7Ci0gICBfdW5z dXBwb3J0ZWRGaWx0ZXIgPSBmYWxzZTsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFfaXNT b2xpZCkKLSAgIHsKLSAgICAgX2x6U2l6ZSA9IDA7Ci0gICAgIF93aW5Qb3MgPSAwOwotQEAgLTg0 MCwxMiArODQxLDE1IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dy ZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICBpZiAoX2Vycm9yTW9kZSkKLSAgICAgcmV0dXJuIFNfRkFM U0U7Ci0gCi0tICBpZiAoIW1fSXNTb2xpZCB8fCAhVGFibGVzUmVhZCkKLSsgIGlmICghX2lzU29s aWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7Ci0gICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7Ci0g ICAgIFJJTk9LKFJlYWRUYWJsZXMoa2VlcERlY29tcHJlc3NpbmcpKTsKLSAgICAgaWYgKCFrZWVw RGVjb21wcmVzc2luZykKLSsgICAgewotKyAgICAgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotICAg ICAgIHJldHVybiBTX09LOwotKyAgICB9Ci0gICB9Ci0gCi0gICBmb3IgKDs7KQotQEAgLTg3MCw2 ICs4NzQsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVzc0lu Zm8gKnByb2dyZXNzKQotICAgICBpZiAoIWtlZXBEZWNvbXByZXNzaW5nKQotICAgICAgIGJyZWFr OwotICAgfQotKwotKyAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0rCi0gICBSSU5PSyhXcml0ZUJ1 ZigpKTsKLSAgIFVJbnQ2NCBwYWNrU2l6ZSA9IG1fSW5CaXRTdHJlYW0uQml0RGVjb2Rlci5HZXRQ cm9jZXNzZWRTaXplKCk7Ci0gICBSSU5PSyhwcm9ncmVzcy0+U2V0UmF0aW9JbmZvKCZwYWNrU2l6 ZSwgJl93cml0dGVuRmlsZVNpemUpKTsKLUBAIC04OTAsNiArODk3LDEwIEBAIFNURE1FVEhPRElN UCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRp YWxPdXRTdHJlYW0KLSAgICAgaWYgKCFpblNpemUpCi0gICAgICAgcmV0dXJuIEVfSU5WQUxJREFS RzsKLSAKLSsgICAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICAgIHJldHVy biBTX0ZBTFNFOwotKyAgICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICAgIGlmICghX3Zt RGF0YSkKLSAgICAgewotICAgICAgIF92bURhdGEgPSAoQnl0ZSAqKTo6TWlkQWxsb2Moa1ZtRGF0 YVNpemVNYXggKyBrVm1Db2RlU2l6ZU1heCk7Ci1AQCAtOTI4LDcgKzkzOSw3IEBAIFNURE1FVEhP RElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclByb3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJ bnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXplIDwgMSkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFS RzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotKyAgX2lzU29saWQgPSAo KGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJldHVybiBTX09LOwotIH0KLSAKLWRpZmYgLS1naXQg YS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy M0RlY29kZXIuaAotaW5kZXggMmY3MmQ3ZC4uMzJjODk0MyAxMDA2NDQKLS0tLSBhL0NQUC83emlw L0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNv ZGVyLmgKLUBAIC0xOTEsNyArMTkxLDggQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBDUmVjb3JkVmVj dG9yPENUZW1wRmlsdGVyICo+ICBfdGVtcEZpbHRlcnM7Ci0gICBVSW50MzIgX2xhc3RGaWx0ZXI7 Ci0gCi0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9zb2xp ZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBib29sIF9sek1vZGU7Ci1kaWZm IC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyNURlY29kZXIuY3BwCi1pbmRleCBkYzg4MzBmLi5hODI2ZDVhIDEwMDY0NAotLS0t IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21w cmVzcy9SYXI1RGVjb2Rlci5jcHAKLUBAIC03Miw2ICs3Miw3IEBAIENEZWNvZGVyOjpDRGVjb2Rl cigpOgotICAgICBfd3JpdHRlbkZpbGVTaXplKDApLAotICAgICBfZGljdFNpemVMb2coMCksCi0g ICAgIF9pc1NvbGlkKGZhbHNlKSwKLSsgICAgX3NvbGlkQWxsb3dlZChmYWxzZSksCi0gICAgIF93 YXNJbml0KGZhbHNlKSwKLSAgICAgX2lucHV0QnVmKE5VTEwpCi0gewotQEAgLTgwMSw3ICs4MDIs MTAgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoKQotICAgKi8KLSAKLSAgIGlmIChyZXMg PT0gU19PSykKLSsgIHsKLSsgICAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0gICAgIHJlcyA9IHJl czI7Ci0rICB9Ci0gICAgICAKLSAgIGlmIChyZXMgPT0gU19PSyAmJiBfdW5wYWNrU2l6ZV9EZWZp bmVkICYmIF93cml0dGVuRmlsZVNpemUgIT0gX3VucGFja1NpemUpCi0gICAgIHJldHVybiBTX0ZB TFNFOwotQEAgLTgyMSw2ICs4MjUsMTAgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpDb2RlKElT ZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbQotIHsKLSAg IHRyeQotICAgewotKyAgICBpZiAoX2lzU29saWQgJiYgIV9zb2xpZEFsbG93ZWQpCi0rICAgICAg cmV0dXJuIFNfRkFMU0U7Ci0rICAgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAgICAgaWYg KF9kaWN0U2l6ZUxvZyA+PSBzaXplb2Yoc2l6ZV90KSAqIDgpCi0gICAgICAgcmV0dXJuIEVfTk9U SU1QTDsKLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oIGIv Q1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaAotaW5kZXggYjBhNGRkMS4uM2RiNTAxOCAx MDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLSsrKyBiL0NQUC83 emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLUBAIC0yNzEsNiArMjcxLDcgQEAgY2xhc3MgQ0Rl Y29kZXI6Ci0gICBCeXRlIF9kaWN0U2l6ZUxvZzsKLSAgIGJvb2wgX3RhYmxlV2FzRmlsbGVkOwot ICAgYm9vbCBfaXNTb2xpZDsKLSsgIGJvb2wgX3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgX3dhc0lu aXQ7Ci0gCi0gICBVSW50MzIgX3JlcHNba051bVJlcHNdOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9w N3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2ggYi9zcmNwa2dzL3A3emlwL3BhdGNoZXMv Q1ZFLTIwMTYtOTI5Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJiYjMz NzczN2U1Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2 LTkyOTYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0gYS9DUFAvN3pp cC9BcmNoaXZlLzd6Lzd6SW4uY3BwCVN1biBOb3YgMjAgMDk6Mjk6NDEgMjAxNgotKysrIGIvQ1BQ Lzd6aXAvQXJjaGl2ZS83ei83ekluLmNwcAlTdW4gTm92IDIwIDA5OjMxOjIyIDIwMTYKLUBAIC0x MDk3LDcgKzEwOTcsOCBAQCBIUkVTVUxUIENJbkFyY2hpdmU6OlJlYWRBbmREZWNvZGVQYWNrZWRT dHJlYW1zKAotICAgICAgIGlmIChDcmNDYWxjKGRhdGEsIHVucGFja1NpemUpICE9IGZvbGRlcnMu Rm9sZGVyQ1JDcy5WYWxzW2ldKQotICAgICAgICAgVGhyb3dJbmNvcnJlY3QoKTsKLSAgIH0KLS0g IEhlYWRlcnNTaXplICs9IGZvbGRlcnMuUGFja1Bvc2l0aW9uc1tmb2xkZXJzLk51bVBhY2tTdHJl YW1zXTsKLSsgIGlmIChmb2xkZXJzLlBhY2tQb3NpdGlvbnMpCi0rICAgICAgSGVhZGVyc1NpemUg Kz0gZm9sZGVycy5QYWNrUG9zaXRpb25zW2ZvbGRlcnMuTnVtUGFja1N0cmVhbXNdOwotICAgcmV0 dXJuIFNfT0s7Ci0gfQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0y MDE3LTE3OTY5LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTgyMGFmNzMwNjcuLjAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tOiA9P3V0Zi04P3E/QW50b2luZV9CZWF1 cHI9QzM9QTk/PSA8YW5hcmNhdEBkZWJpYW4ub3JnPgotRGF0ZTogU3VuLCAyOCBKYW4gMjAxOCAy MToxOTo1MCArMDEwMAotU3ViamVjdDogYmFja3BvcnQgb2YgdGhlIENWRS0yMDE3LTE3OTY5IGZp eCBmcm9tIDd6aXAgMTguMDAtYmV0YQotCi0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtE ZWNvZGVyLmNwcCB8IDcgKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1Nocmlua0Rl Y29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAKLWluZGV4IDgw YjdlNjcuLjRhY2RjZTUgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNv ZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAKLUBAIC0x MjEsNyArMTIxLDEyIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5T dHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICAgIHsKLSAgICAgICBf c3RhY2tbaSsrXSA9IF9zdWZmaXhlc1tjdXJdOwotICAgICAgIGN1ciA9IF9wYXJlbnRzW2N1cl07 Ci0tICAgIH0KLSsgICAgICBpZiAoaSA+PSBrTnVtSXRlbXMpCi0rICAgICAgICBicmVhazsKLSsg ICAgIH0KLSsKLSsgICAgaWYgKGkgPj0ga051bUl0ZW1zKQotKyAgICAgIGJyZWFrOwotICAgICAK LSAgICAgX3N0YWNrW2krK10gPSAoQnl0ZSljdXI7Ci0gICAgIGxhc3RDaGFyMiA9IChCeXRlKWN1 cjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvdGVtcGxhdGUgYi9zcmNwa2dzL3A3emlwL3Rl bXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDJlMjRhZGFmNTIuLjAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAgLTEs NDcgKzAsMCBAQAotIyBUZW1wbGF0ZSBmaWxlIGZvciAncDd6aXAnCi1wa2duYW1lPXA3emlwCi12 ZXJzaW9uPTE2LjAyCi1yZXZpc2lvbj01Ci13cmtzcmM9IiR7cGtnbmFtZX1fJHt2ZXJzaW9ufSIK LWhvc3RtYWtlZGVwZW5kcz0ieWFzbSBuYXNtIgotc2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZl cnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBmaWxlIGFyY2hpdmUiCi1tYWludGFpbmVyPSJP cnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotbGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0 ZXIiCi1ob21lcGFnZT0iaHR0cDovL3A3emlwLnNvdXJjZWZvcmdlLm5ldC8iCi1kaXN0ZmlsZXM9 IiR7U09VUkNFRk9SR0VfU0lURX0vJHtwa2duYW1lfS8ke3BrZ25hbWV9XyR7dmVyc2lvbn1fc3Jj X2FsbC50YXIuYnoyIgotY2hlY2tzdW09NWViMjBhYzBlMjk0NGY2Y2I5YzJkNTFkZDZjNDUxODk0 MWMxODUzNDdkNDA4OWVhODkwODdmZmRkNmUyMzQxZgotCi1DWFhGTEFHUz0iLVduby1uYXJyb3dp bmciCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4K LQkJaTY4NiopIGNwIG1ha2VmaWxlLmxpbnV4X3g4Nl9hc21fZ2NjXzQuWCBtYWtlZmlsZS5tYWNo aW5lOzsKLQkJeDg2XzY0KikgY3AgbWFrZWZpbGUubGludXhfYW1kNjRfYXNtIG1ha2VmaWxlLm1h Y2hpbmU7OwotCQkqKSBjcCBtYWtlZmlsZS5saW51eF9hbnlfY3B1X2djY180LlggbWFrZWZpbGUu bWFjaGluZTs7Ci0JZXNhYwotCXNlZCAtZSAicyxnKyssJHtDWFh9LCIgLWkgbWFrZWZpbGUubWFj aGluZQotCXNlZCAtZSAicyxnY2MsJHtDQ30sIiAtaSBtYWtlZmlsZS5tYWNoaW5lCi19Ci1kb19i dWlsZCgpIHsKLQltYWtlIGFsbDMgT1BURkxBR1M9IiRDWFhGTEFHUyIgJHttYWtlam9ic30KLX0K LWRvX2luc3RhbGwoKSB7Ci0JbWFrZSBpbnN0YWxsIERFU1RfRElSPSIke0RFU1RESVJ9IiBERVNU X0hPTUU9Ii91c3IiIFwKLQkJREVTVF9NQU49Ii91c3Ivc2hhcmUvbWFuIiBcCi0JCURFU1RfU0hB UkVfRE9DPSIvdXNyL3NoYXJlL2RvYy8ke3BrZ25hbWV9IgotCWZpbmQgJHtERVNURElSfS91c3Iv c2hhcmUvZG9jLyRwa2duYW1lIC10eXBlIGQgLWV4ZWMgY2htb2QgNzU1IHt9IFw7Ci0JbWtkaXIg LXAgJHtERVNURElSfS91c3Ivc2hhcmUvbGljZW5zZXMvcDd6aXAvCi0JbXYgJHtERVNURElSfS91 c3Ivc2hhcmUvZG9jL3A3emlwL0RPQy9jb3B5aW5nLnR4dCBcCi0JICAgJHtERVNURElSfS91c3Iv c2hhcmUvbGljZW5zZXMvcDd6aXAvTElDRU5TRQotfQotCi1wN3ppcC11bnJhcl9wYWNrYWdlKCkg ewotCXNob3J0X2Rlc2MrPSIgLSBSQVIgc3VwcG9ydCIKLQlsaWNlbnNlPSJjdXN0b206ZnJlZXdh cmUiCi0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi0JcmVw b3NpdG9yeT1ub25mcmVlCi0JcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlIHVzci9saWIvcDd6aXAv Q29kZWNzL1Jhci5zbwotCQl2bGljZW5zZSBET0MvdW5SYXJMaWNlbnNlLnR4dCBMSUNFTlNFCi0J fQotfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC91cGRhdGUgYi9zcmNwa2dzL3A3emlwL3Vw ZGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODRlZDQ2ZDc0YTFhLi4wMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC91cGRhdGUKKysrIC9kZXYvbnVsbApAQCAtMSArMCww IEBACi1wYXR0ZXJuPSdwN3ppcF9cS1suXGRdKycKCkZyb20gNTQ0ZjkzNTYyMjQ0OWVlOGVhYzg3 MGFjYTE1YzEwNjUzNmQ3YjBlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUm9iZXJ0 byBSaWNjaSA8cmljY2lAZGlzcm9vdC5vcmc+CkRhdGU6IFR1ZSwgMTIgSnVsIDIwMjIgMTA6NTM6 NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvMl0gcmFyCgotLS0KIHNyY3BrZ3MvN3ppcC11bnJh ciAgICB8ICAxICsKIHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZSB8IDU2ICsrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvcDd6aXAtdW5yYXIgICB8ICAxICsK IDMgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCiBjcmVh dGUgbW9kZSAxMjAwMDAgc3JjcGtncy83emlwLXVucmFyCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3Jj cGtncy9wN3ppcC11bnJhcgoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC11bnJhciBiL3NyY3Br Z3MvN3ppcC11bnJhcgpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjI4 NDMxMjU5NWE0YwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC11bnJhcgpAQCAtMCww ICsxIEBACis3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy83emlwL3RlbXBsYXRlIGIvc3JjcGtncy83emlwL3RlbXBsYXRlCmluZGV4IGRjNjhkYjY4 ZWEwMi4uZDA4NGQ5NjY3Y2VmIDEwMDY0NAotLS0gYS9zcmNwa2dzLzd6aXAvdGVtcGxhdGUKKysr IGIvc3JjcGtncy83emlwL3RlbXBsYXRlCkBAIC0xOCwzMCArMTgsNDYgQEAgaWYgWyAiJFhCUFNf VEFSR0VUX0xJQkMiID0gbXVzbCBdOyB0aGVuCiBmaQogCiBkb19idWlsZCgpIHsKLQljZCBDUFAv N3ppcC9CdW5kbGVzL0Fsb25lMgotCW1ha2UgIiRtYWtlam9icyIgLWYgLi4vLi4vY21wbF9nY2Mu bWFrIFwKLQkJQ0M9IiRDQyIgQ1hYPSIkQ1hYIiBYQlBTX0NGTEFHUz0iJENGTEFHUyIgXAotCQlY QlBTX0NYWEZMQUdTPSIkQ1hYRkxBR1MiIFhCUFNfTERGTEFHUz0iJExERkxBR1MiIFwKLQkJRElT QUJMRV9SQVJfQ09NUFJFU1M9MQorCV83el9idWlsZCgpIHsKKwkJY2QgIiR3cmtzcmMiL0NQUC83 emlwL0J1bmRsZXMvQWxvbmUyCisJCW1ha2UgIiRtYWtlam9icyIgLWYgLi4vLi4vY21wbF9nY2Mu bWFrIFwKKwkJCUNDPSIkQ0MiIENYWD0iJENYWCIgWEJQU19DRkxBR1M9IiRDRkxBR1MiIFwKKwkJ CVhCUFNfQ1hYRkxBR1M9IiRDWFhGTEFHUyIgWEJQU19MREZMQUdTPSIkTERGTEFHUyIgXAorCQkJ IiRAIgorCX0KKwlfN3pfYnVpbGQgTz1iL25vcmFyIERJU0FCTEVfUkFSX0NPTVBSRVNTPTEKKwlf N3pfYnVpbGQgTz1iL3JhcgogfQogCi1kb19pbnN0YWxsKCkgewotCXZiaW4gQ1BQLzd6aXAvQnVu ZGxlcy9BbG9uZTIvYi9nLzd6egorXzd6X2luc3RhbGwoKSB7CisJYmluZGlyPSIkMSIKKwlkZXN0 PSIkMiIKKworCXZiaW4gIiR7d3Jrc3JjfS9DUFAvN3ppcC9CdW5kbGVzL0Fsb25lMi8ke2JpbmRp cn0vN3p6IgogCWZvciBpIGluIDd6IDd6YSA3enI7IGRvCi0JCWxuIC1zZiA3enogJHtERVNURElS fS91c3IvYmluLyR7aX0KKwkJbG4gLXNmIDd6eiAiJHtkZXN0fS91c3IvYmluLyR7aX0iCiAJZG9u ZQogCi0JdmxpY2Vuc2UgRE9DL0xpY2Vuc2UudHh0CisJdmxpY2Vuc2UgIiR3cmtzcmMiL0RPQy9M aWNlbnNlLnR4dAogCiAJIyBodHRwczovL2NnaXQuZnJlZWJzZC5vcmcvcG9ydHMvcGxhaW4vYXJj aGl2ZXJzLzctemlwL2ZpbGVzLzd6ei4xCi0Jdm1hbiAke0ZJTEVTRElSfS83enouMQorCXZtYW4g IiRGSUxFU0RJUiIvN3p6LjEKK30KKworZG9faW5zdGFsbCgpIHsKKwlfN3pfaW5zdGFsbCBiL25v cmFyICIkREVTVERJUiIKIH0KIAotIzd6aXAtcmFyX3BhY2thZ2UoKSB7Ci0JI3JlcG9zaXRvcnk9 bm9uZnJlZQotCSNjb25mbGljdHM9N3ppcAotCSNzaG9ydF9kZXNjKz0iIHdpdGggUkFSIHN1cHBv cnQiCi0jfQorN3ppcC11bnJhcl9wYWNrYWdlKCkgeworCWxpY2Vuc2UrPSIsIGN1c3RvbTpmcmVl d2FyZSIKKwlyZXBvc2l0b3J5PW5vbmZyZWUKKwljb25mbGljdHM9N3ppcAorCXNob3J0X2Rlc2Mr PSIgLSBSQVIgc3VwcG9ydCIKKworCXBrZ19pbnN0YWxsKCkgeworCQlfN3pfaW5zdGFsbCBiL3Jh ciAiJFBLR0RFU1RESVIiCisJfQorfQogCiBwN3ppcF9wYWNrYWdlKCkgewogCWJ1aWxkX3N0eWxl PW1ldGEKQEAgLTQ5LDggKzY1LDggQEAgcDd6aXBfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjPSJD b21tYW5kLWxpbmUgdmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSAo dHJhbnNpdGlvbmFsIGR1bW15IHBhY2thZ2UpIgogfQogCi0jcDd6aXAtdW5yYXJfcGFja2FnZSB7 Ci0JI2J1aWxkX3N0eWxlPW1ldGEKLQkjZGVwZW5kcz03emlwLXJhcgotCSNzaG9ydF9kZXNjPSJD b21tYW5kLWxpbmUgdmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSAt IFJBUiBzdXBwb3J0ICh0cmFuc2l0aW9uYWwgZHVtbXkgcGFja2FnZSkiCi0jfQorcDd6aXAtdW5y YXJfcGFja2FnZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJZGVwZW5kcz03emlwLXVucmFyCisJ c2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBm aWxlIGFyY2hpdmUgLSBSQVIgc3VwcG9ydCAodHJhbnNpdGlvbmFsIGR1bW15IHBhY2thZ2UpIgor fQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC11bnJhciBiL3NyY3BrZ3MvcDd6aXAtdW5yYXIK bmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi4yODQzMTI1OTVhNGMKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3A3emlwLXVucmFyCkBAIC0wLDAgKzEgQEAKKzd6aXAK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg== --===============6817388188506343792==--