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=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 23583 invoked from network); 18 Jul 2022 19:39:06 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 18 Jul 2022 19:39:06 -0000 Content-Type: multipart/mixed; boundary="===============2772009897129172682==" 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: Mon, 18 Jul 2022 21:39:05 +0200 List-Id: Message-ID: <20220718193905.siLxsBbUDsTttltHFV3VRNoCbLdu56FRNqFxR0t87bc@z> GitHub notification mails are now in MIME to allow UTF8. --===============2772009897129172682== 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 Cg0KIyMjIyBUT0RPOg0KDQotIFt4XSBmaXggbXVzbDogfn5pdCB1c2VzIHNvbWUgZnVuY3Rpb25z IHJlcXVpcmluZyBgX0dOVV9TT1VSQ0VgLCBidXQgb3RoZXIgcGFydHMgb2YgdGhlIHNvdXJjZSBk ZWZpbmUgaXQgd2l0aG91dCBjaGVja2luZyBpZiBpdCdzIGFscmVhZHkgZGVmaW5lZCwgc28gSSBn ZXQgY29tcGlsYXRpb24gZXJyb3JzIGlmIEkganVzdCBkZWZpbmUgaXQgZ2xvYmFsbHkufn4NCi0g WyBdIGJ1aWxkIHdpdGggYXNzZW1ibHkgd2hlcmUgcG9zc2libGU6IG9uIGk2ODYgYW5kIHg4Nl82 NCogaXQgcmVxdWlyZXMgYGFzbWNgIG9yIGBqd2FzbWAvYHVhc21gIGFzc2VtYmxlcnMsIG5vbmUg b2Ygd2hpY2ggYXJlIHBhY2thZ2VkDQotIFt4XSBidWlsZCBhIHZlcnNpb24gd2l0aCBSQVIgc3Vw cG9ydCAobm9uZnJlZSByZXBvKQ0KLSBbeF0gdXNlIG91ciBjb21waWxlIGFuZCBsaW5rIGZsYWdz DQotIFsgXSB3aGF0J3MgdGhlIG1vc3QgYXBwcm9wcmlhdGUgbmFtZSBmb3IgdGhlIHBhY2thZ2U/ IDd6aXAsIDctemlwIG9yIDd6Pw0KLSB0ZXN0IHBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGBwN3pp cGAgYXQgcnVudGltZSBvciBidWlsZCB0aW1lOg0KICAgIC0gWyBdIGp1bGlhDQogICAgLSBbIF0g bHV0cmlzDQogICAgLSBbIF0gbXVsdGlib290dXNiDQogICAgLSBbIF0gcGxheW9ubGludXgNCiAg ICAtIFsgXSBTTEFERQ0KICAgIC0gWyBdIFo4MEV4cGxvcmVyDQogICAgLSBbIF0gYXJrDQogICAg LSBbIF0gY2JwMm1ha2UNCg0KY2xvc2VzICMzNzg3NQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6 Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM3OTQwLnBhdGNoIGlz IGF0dGFjaGVk --===============2772009897129172682== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSBjYTc1OGViOTA1ZDY3YjljMTUzMjZiOTMzZWNlZDFlMGYwY2RiYTE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gTmV3IHBh Y2thZ2U6IDd6aXAtMjIuMDAKCi0tLQogc3JjcGtncy83emlwLXVucmFyICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvN3ppcC9maWxlcy83enouMSAgICAgICAgICAg ICAgICAgICAgICB8IDIxNSArKysrKysrKysrKysKIHNyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5J TlNUQUxMLm1zZyAgICAgICAgICB8ICAgNSArCiBzcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9m bGFncy5wYXRjaCAgICAgICAgfCAgMzAgKysKIHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICB8ICA4NCArKysrKwogc3JjcGtncy83emlwL3VwZGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICsKIHNyY3BrZ3MvcDd6aXAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL3A3emlwLXVucmFyICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAx OC01OTk2LnBhdGNoICB8IDIyMSAtLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3A3emlwL3BhdGNoZXMv MzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2ggfCAzMTEgLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dz L3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaCAgICAgfCAgMTIgLQogc3JjcGtncy9w N3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoICAgIHwgIDI2IC0tCiBzcmNwa2dzL3A3 emlwL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDcgLS0tCiBzcmNwa2dzL3A3 emlwL3VwZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogMTQgZmlsZXMgY2hh bmdlZCwgMzM5IGluc2VydGlvbnMoKyksIDYxOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEy MDAwMCBzcmNwa2dzLzd6aXAtdW5yYXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAv ZmlsZXMvN3p6LjEKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIu SU5TVEFMTC5tc2cKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWls ZF9mbGFncy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC91cGRhdGUKIGNyZWF0ZSBtb2RlIDEyMDAw MCBzcmNwa2dzL3A3emlwCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wN3ppcC9wYXRjaGVz LzIwLUNWRS0yMDE4LTU5OTYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3A3emlw L3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcDd6aXAvdGVtcGxhdGUKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3A3emlwL3VwZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC11bnJhciBiL3NyY3BrZ3Mv N3ppcC11bnJhcgpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjI4NDMx MjU5NWE0YwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC11bnJhcgpAQCAtMCwwICsx IEBACis3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy83emlwL2ZpbGVzLzd6ei4xIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmUxNTliZDk0YmI0Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCkBAIC0wLDAgKzEsMjE1IEBACisuVEggN1pa ICIxIiAiRmVicnVhcnkgMTQsIDIwMjIiCisuU0ggTkFNRQorN3p6IFwtIFN0YW5kYWxvbmUgY29u c29sZSB2ZXJzaW9uIG9mIHRoZSA3LVppcCBmaWxlIGFyY2hpdmVyCisuU0ggU1lOT1BTSVMKKy5C IDd6egorLlwiIFxmSVwsPGNvbW1hbmQ+IFwvW1xmSVwsPHN3aXRjaD5cLy4uLl0gXGZJXCw8YXJj aGl2ZV9uYW1lPiBcL1tcZklcLDxmaWxlX25hbWVzPlwvLi4uXSBbXGZJXCxAbGlzdF9maWxlXC9d CisuQlIgPGNvbW1hbmQ+CisuQlIgWzxzd2l0Y2g+Li4uXQorLkJSIDxhcmNoaXZlX25hbWU+Cisu QlIgWzxmaWxlX25hbWVzPl0KKy5CUiBbQGxpc3RmaWxlXQorLlNIIERFU0NSSVBUSU9OCis3XC1a aXAgaXMgYSBmaWxlIGFyY2hpdmVyIHdpdGggYSBoaWdoIGNvbXByZXNzaW9uIHJhdGlvLiBTdXBw b3J0ZWQgZm9ybWF0czoKKy5JUAorUGFja2luZyBhbmQgdW5wYWNraW5nOiA3eiwgWFosIEJaSVAy LCBHWklQLCBUQVIsIFpJUCBhbmQgV0lNLgorLklQCitVbnBhY2tpbmcgb25seTogQVIsIEFSSiwg Q0FCLCBDSE0sIENQSU8sIENyYW1GUywgRE1HLCBFWFQsIEZBVCwgR1BULCBIRlMsIElIRVgsIElT TywgTFpILCBMWk1BLCBNQlIsIE1TSSwgTlNJUywgTlRGUywgUUNPVzIsIFJBUiwgUlBNLCBTcXVh c2hGUywgVURGLCBVRUZJLCBWREksIFZIRCwgVkhEWCwgVk1ESywgV0lNLCBYQVIgYW5kIFouCisu U0ggQ29tbWFuZHMKKy5UUAorLkJSIGEKK0FkZCBmaWxlcyB0byBhcmNoaXZlCisuVFAKKy5CUiBi CitCZW5jaG1hcmsKKy5UUAorLkJSIGQKK0RlbGV0ZSBmaWxlcyBmcm9tIGFyY2hpdmUKKy5UUAor LkJSIGUKK0V4dHJhY3QgZmlsZXMgZnJvbSBhcmNoaXZlICh3aXRob3V0IHVzaW5nIGRpcmVjdG9y eSBuYW1lcykKKy5UUAorLkJSIGgKK0NhbGN1bGF0ZSBoYXNoIHZhbHVlcyBmb3IgZmlsZXMKKy5U UAorLkJSIGkKK1Nob3cgaW5mb3JtYXRpb24gYWJvdXQgc3VwcG9ydGVkIGZvcm1hdHMKKy5UUAor LkJSIGwKK0xpc3QgY29udGVudHMgb2YgYXJjaGl2ZQorLlRQCisuQlIgcm4KK1JlbmFtZSBmaWxl cyBpbiBhcmNoaXZlCisuVFAKKy5CUiB0CitUZXN0IGludGVncml0eSBvZiBhcmNoaXZlCisuVFAK Ky5CUiB1CitVcGRhdGUgZmlsZXMgdG8gYXJjaGl2ZQorLlRQCisuQlIgeAorRXh0cmFjdCBmaWxl cyB3aXRoIGZ1bGwgcGF0aHMKKy5TSCBTd2l0Y2hlcworLlRQCisuQlIgXC1cLQorU3RvcCBzd2l0 Y2hlcyBhbmQgQGxpc3RmaWxlIHBhcnNpbmcKKy5UUAorLkJSIFwtYWlbcltcLXwwXV17QGxpc3Rm aWxlfCF3aWxkY2FyZH0KK0luY2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYXhbcltcLXwwXV17 QGxpc3RmaWxlfCF3aWxkY2FyZH0KK0V4Y2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYW97YXxz fHR8dX0KK1NldCBPdmVyd3JpdGUgbW9kZQorLlRQCisuQlIgXC1hbgorRGlzYWJsZSBhcmNoaXZl X25hbWUgZmllbGQKKy5UUAorLkJSIFwtYmJbMFwtM10KK1NldCBvdXRwdXQgbG9nIGxldmVsCisu VFAKKy5CUiBcLWJkCitEaXNhYmxlIHByb2dyZXNzIGluZGljYXRvcgorLlRQCisuQlIgXC1ic3tv fGV8cH17MHwxfDJ9CitTZXQgb3V0cHV0IHN0cmVhbSBmb3Igb3V0cHV0L2Vycm9yL3Byb2dyZXNz IGxpbmUKKy5UUAorLkJSIFwtYnQKK3Nob3cgZXhlY3V0aW9uIHRpbWUgc3RhdGlzdGljcworLlRQ CisuQlIgXC1pW3JbXC18MF1de0BsaXN0ZmlsZXwhd2lsZGNhcmR9CitJbmNsdWRlIGZpbGVuYW1l cworLlRQCisuQlIgXC1te1BhcmFtZXRlcnN9CitTZXQgY29tcHJlc3Npb24gTWV0aG9kCisuVFAK Ky5CUiBcLW1tdFtOXQorU2V0IG51bWJlciBvZiBDUFUgdGhyZWFkcworLlRQCisuQlIgXC1teFtO XQorU2V0IGNvbXByZXNzaW9uIGxldmVsOiBcLW14MSAoZmFzdGVzdCkgLi4uIFwtbXg5ICh1bHRy YSkKKy5UUAorLkJSIFwtb3tEaXJlY3Rvcnl9CitTZXQgT3V0cHV0IGRpcmVjdG9yeQorLlRQCisu QlIgXC1we1Bhc3N3b3JkfQorU2V0IFBhc3N3b3JkCisuVFAKKy5CUiBcLXJbXC18MF0KK1JlY3Vy c2Ugc3ViZGlyZWN0b3JpZXMgZm9yIG5hbWUgc2VhcmNoCisuVFAKKy5CUiBcLXNhe2F8ZXxzfQor U2V0IEFyY2hpdmUgbmFtZSBtb2RlCisuVFAKKy5CUiBcLXNjY3tVVEZcLTh8V0lOfERPU30KK1Nl dCBjaGFyc2V0IGZvciBmb3IgY29uc29sZSBpbnB1dC9vdXRwdXQKKy5UUAorLkJSIFwtc2Nze1VU RlwtOHxVVEZcLTE2TEV8VVRGXC0xNkJFfFdJTnxET1N8e2lkfX0KK1NldCBjaGFyc2V0IGZvciBs aXN0IGZpbGVzCisuVFAKKy5CUiBcLXNjcmNbQ1JDMzJ8Q1JDNjR8U0hBMXxTSEEyNTZ8Kl0KK1Nl dCBoYXNoIGZ1bmN0aW9uIGZvciB4LCBlLCBoIGNvbW1hbmRzCisuVFAKKy5CUiBcLXNkZWwKK0Rl bGV0ZSBmaWxlcyBhZnRlciBjb21wcmVzc2lvbgorLlRQCisuQlIgXC1zZW1sWy5dCitTZW5kIGFy Y2hpdmUgYnkgZW1haWwKKy5UUAorLkJSIFwtc2Z4W3tuYW1lfV0KK0NyZWF0ZSBTRlggYXJjaGl2 ZQorLlRQCisuQlIgXC1zaVt7bmFtZX1dCitSZWFkIGRhdGEgZnJvbSBzdGRpbgorLlRQCisuQlIg XC1zbHAKK1NldCBMYXJnZSBQYWdlcyBtb2RlCisuVFAKKy5CUiBcLXNsdAorU2hvdyB0ZWNobmlj YWwgaW5mb3JtYXRpb24gZm9yIGwgKExpc3QpIGNvbW1hbmQKKy5UUAorLkJSIFwtc25oCitTdG9y ZSBoYXJkIGxpbmtzIGFzIGxpbmtzCisuVFAKKy5CUiBcLXNubAorU3RvcmUgc3ltYm9saWMgbGlu a3MgYXMgbGlua3MKKy5UUAorLkJSIFwtc25pCitTdG9yZSBOVCBzZWN1cml0eSBpbmZvcm1hdGlv bgorLlRQCisuQlIgXC1zbnNbXC1dCitTdG9yZSBOVEZTIGFsdGVybmF0ZSBzdHJlYW1zCisuVFAK Ky5CUiBcLXNvCitXcml0ZSBkYXRhIHRvIHN0ZG91dAorLlRQCisuQlIgXC1zcGQKK0Rpc2FibGUg d2lsZGNhcmQgbWF0Y2hpbmcgZm9yIGZpbGUgbmFtZXMKKy5UUAorLkJSIFwtc3BlCitFbGltaW5h dGUgZHVwbGljYXRpb24gb2Ygcm9vdCBmb2xkZXIgZm9yIGV4dHJhY3QgY29tbWFuZAorLlRQCisu QlIgXC1zcGYKK1VzZSBmdWxseSBxdWFsaWZpZWQgZmlsZSBwYXRocworLlRQCisuQlIgXC1zc2Nb XC1dCitTZXQgc2Vuc2l0aXZlIGNhc2UgbW9kZQorLlRQCisuQlIgXC1zc2UKK1N0b3AgYXJjaGl2 ZSBjcmVhdGluZywgaWYgaXQgY2FuJ3Qgb3BlbiBzb21lIGlucHV0IGZpbGUKKy5UUAorLkJSIFwt c3NwCitEbyBub3QgY2hhbmdlIExhc3QgQWNjZXNzIFRpbWUgb2Ygc291cmNlIGZpbGVzIHdoaWxl IGFyY2hpdmluZworLlRQCisuQlIgXC1zc3cKK0NvbXByZXNzIHNoYXJlZCBmaWxlcworLlRQCisu QlIgXC1zdGwKK1NldCBhcmNoaXZlIHRpbWVzdGFtcCBmcm9tIHRoZSBtb3N0IHJlY2VudGx5IG1v ZGlmaWVkIGZpbGUKKy5UUAorLkJSIFwtc3Rte0hleE1hc2t9CitTZXQgQ1BVIHRocmVhZCBhZmZp bml0eSBtYXNrIChoZXhhZGVjaW1hbCBudW1iZXIpCisuVFAKKy5CUiBcLXN0eHtUeXBlfQorRXhj bHVkZSBhcmNoaXZlIHR5cGUKKy5UUAorLkJSIFwtdHtUeXBlfQorU2V0IHR5cGUgb2YgYXJjaGl2 ZQorLlRQCisuQlIgXC11W1wtXVtwI11bcSNdW3IjXVt4I11beSNdW3ojXVshbmV3QXJjaGl2ZU5h bWVdCitVcGRhdGUgb3B0aW9ucworLlRQCisuQlIgXC12e1NpemV9W2J8a3xtfGddCitDcmVhdGUg dm9sdW1lcworLlRQCisuQlIgXC13W3twYXRofV0KK1NldCB3b3JraW5nIGRpcmVjdG9yeS4gRW1w dHkgcGF0aCBtZWFucyBhIHRlbXBvcmFyeSBkaXJlY3RvcnkKKy5UUAorLkJSIFwteFtyW1wtfDBd XXtAbGlzdGZpbGV8IXdpbGRjYXJkfQorRXhjbHVkZSBmaWxlbmFtZXMKKy5UUAorLkJSIFwteQor QXNzdW1lIFllcyBvbiBhbGwgcXVlcmllcworLlNIIExpc3RmaWxlCitZb3UgY2FuIHN1cHBseSBv bmUgb3IgbW9yZSBmaWxlbmFtZXMgb3Igd2lsZGNhcmRzIGZvciBzcGVjaWFsIGxpc3QgZmlsZXMg KGZpbGVzIGNvbnRhaW5pbmcgbGlzdHMgb2YgZmlsZXMpLiBUaGUgZmlsZW5hbWVzIGluIHN1Y2gg bGlzdCBmaWxlIG11c3QgYmUgc2VwYXJhdGVkIGJ5IG5ldyBsaW5lIHN5bWJvbChzKS4gRm9yIGxp c3QgZmlsZXMsIDdcLVppcCB1c2VzIFVURlwtOCBlbmNvZGluZyBieSBkZWZhdWx0LiBZb3UgY2Fu IGNoYW5nZSBlbmNvZGluZyB1c2luZworLkJSIFwtc2NzCitzd2l0Y2guIE11bHRpcGxlIGxpc3Qg ZmlsZXMgYXJlIHN1cHBvcnRlZC4KKy5QUAorRm9yIGV4YW1wbGUsIGlmIHRoZSBmaWxlICJsaXN0 ZmlsZS50eHQiIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmc6CisuSVAKK015IHByb2dyYW1zXFwqLmNw cAorLmJyCitTcmNcXCouY3BwCisuUFAKK3RoZW4gdGhlIGNvbW1hbmQKKy5JUAorLkIgN3ogYSBc LXR6aXAgYXJjaGl2ZS56aXAgQGxpc3RmaWxlLnR4dAorLlBQCithZGRzIHRvIHRoZSBhcmNoaXZl ICJhcmNoaXZlLnppcCIgYWxsICIqLmNwcCIgZmlsZXMgZnJvbSBkaXJlY3RvcmllcyAiTXkgcHJv Z3JhbXMiIGFuZCAiU3JjIi4KKy5TSCAiU0VFIEFMU08iCisuQlIgeHogKDEpCisuYnIKK0ZyZXF1 ZW50bHkgQXNrZWQgUXVlc3Rpb25zOiA8aHR0cHM6Ly93d3cuNy16aXAub3JnL2ZhcS5odG1sPgor LmJyCitSZWNvdmVyIGNvcnJ1cHRlZCA3eiBhcmNoaXZlOiA8aHR0cHM6Ly93d3cuNy16aXAub3Jn L3JlY292ZXIuaHRtbD4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNU QUxMLm1zZyBiL3NyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNUQUxMLm1zZwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjc3NWY5NDNjMGE1NgotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNUQUxMLm1zZwpAQCAtMCwwICsxLDUg QEAKK1RoZSBwN3ppcC11bnJhciBwYWNrYWdlIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IDd6aXAtdW5y YXIuCitUbyB1c2UgdGhlIFJBUi1lbmFibGVkIHZlcnNpb24gb2YgYDd6YCwgbWFrZSBzdXJlIHRo ZSBkZXNpcmVkCithbHRlcm5hdGl2ZSBpcyBjb25maWd1cmVkOgorCisJIyB4YnBzLWFsdGVybmF0 aXZlcyAtcyA3emlwLXVucmFyCmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWls ZF9mbGFncy5wYXRjaCBiL3NyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxkX2ZsYWdzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGY3OTFmZjYzZGRmCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRfZmxhZ3MucGF0Y2gKQEAg LTAsMCArMSwzMCBAQAorYXBwZW5kIChkb24ndCBwcmVmaXgpIHhicHMgYnVpbGQgZmxhZ3MgYW5k IGRvbid0IHN0cmlwIHRoZSBleGVjdXRhYmxlCistLS0gYS9DUFAvN3ppcC83emlwX2djYy5tYWsK KysrKyBiL0NQUC83emlwLzd6aXBfZ2NjLm1haworQEAgLTEyNiw3ICsxMjYsNyBAQCBlbmRpZgor IA0KKyANCisgDQorLUNGTEFHUyA9ICQoTVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENGTEFH U19CQVNFMikgJChDRkxBR1NfQkFTRSkgJChDQ19TSEFSRUQpIC1vICRADQorK0NGTEFHUyA9ICQo TVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENGTEFHU19CQVNFMikgJChDRkxBR1NfQkFTRSkg JChDQ19TSEFSRUQpICQoWEJQU19DRkxBR1MpIC1vICRADQorIA0KKyANCisgaWZkZWYgSVNfTUlO R1cNCitAQCAtMTU0LDcgKzE1NCw3IEBAIENYWF9XQVJOX0ZMQUdTID0KKyAjLVduby1pbnZhbGlk LW9mZnNldG9mDQorICMtV25vLXJlb3JkZXINCisgDQorLUNYWEZMQUdTID0gJChNWV9BUkNIXzIp ICQoTE9DQUxfRkxBR1MpICQoQ1hYRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ1hYRkxB R1NfRVhUUkEpICQoQ0NfU0hBUkVEKSAtbyAkQCAkKENYWF9XQVJOX0ZMQUdTKQ0KKytDWFhGTEFH UyA9ICQoTVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENYWEZMQUdTX0JBU0UyKSAkKENGTEFH U19CQVNFKSAkKENYWEZMQUdTX0VYVFJBKSAkKENDX1NIQVJFRCkgLW8gJEAgJChDWFhfV0FSTl9G TEFHUykgJChYQlBTX0NYWEZMQUdTKQ0KKyANCisgU1RBVElDX1RBUkdFVD0NCisgaWZkZWYgQ09N UExfU1RBVElDDQorQEAgLTE2Nyw3ICsxNjcsNyBAQCBhbGw6ICQoTykgJChQUk9HUEFUSCkgJChT VEFUSUNfVEFSR0VUKQorICQoTyk6DQorIAkkKE1ZX01LRElSKSAkKE8pDQorIA0KKy1MRkxBR1Nf QUxMID0gLXMgJChNWV9BUkNIXzIpICQoTERGTEFHUykgJChMRF9hcmNoKSAkKE9CSlMpICQoTVlf TElCUykgJChMSUIyKQ0KKytMRkxBR1NfQUxMID0gJChNWV9BUkNIXzIpICQoTERGTEFHUykgJChM RF9hcmNoKSAkKE9CSlMpICQoTVlfTElCUykgJChMSUIyKSAkKFhCUFNfTERGTEFHUykNCisgJChQ Uk9HUEFUSCk6ICQoT0JKUykNCisgCSQoQ1hYKSAtbyAkKFBST0dQQVRIKSAkKExGTEFHU19BTEwp DQorIA0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvN3ppcC90 ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmNhOTM3NzQ4 ZDlhZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC90ZW1wbGF0ZQpAQCAtMCwwICsx LDg0IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICc3emlwJworcGtnbmFtZT03emlwCit2ZXJzaW9u PTIyLjAwCityZXZpc2lvbj0xCitjcmVhdGVfd3Jrc3JjPXllcworc2hvcnRfZGVzYz0iRmlsZSBh cmNoaXZlciB3aXRoIGEgaGlnaCBjb21wcmVzc2lvbiByYXRpbyIKK21haW50YWluZXI9IlJvYmVy dG8gUmljY2kgPHJpY2NpQGRpc3Jvb3Qub3JnPiIKK2xpY2Vuc2U9IkxHUEwtMi4xLW9yLWxhdGVy LCBCU0QtMy1DbGF1c2UiCitob21lcGFnZT0iaHR0cHM6Ly93d3cuNy16aXAub3JnIgorY2hhbmdl bG9nPSJodHRwczovL3d3dy43LXppcC5vcmcvaGlzdG9yeS50eHQiCitkaXN0ZmlsZXM9Imh0dHBz Oi8vd3d3LjctemlwLm9yZy9hLzd6JHt2ZXJzaW9uLy8uL30tc3JjLnRhci54eiIKK2NoZWNrc3Vt PTQwOTY5ZjYwMWU4NmFmZjQ5YWFhMGJhMGRmNWNlNmZkMzk3Y2Y3ZTI2ODNhODRiNTkxYjAwODFl NDYxZWY2NzUKK2FsdGVybmF0aXZlcz0iCisgN3o6N3o6L3Vzci9iaW4vN3otZnJlZQorIDd6Ojd6 YTovdXNyL2Jpbi83ei1mcmVlCisgN3o6N3pyOi91c3IvYmluLzd6LWZyZWUKKyA3ejo3ei4xOi91 c3Ivc2hhcmUvbWFuL21hbjEvN3otZnJlZS4xIgorCitpZiBbICIkWEJQU19UQVJHRVRfTElCQyIg PSBtdXNsIF07IHRoZW4KKwkjIG1pc3NpbmcgcHRocmVhZF9hdHRyX3NldGFmZmluaXR5X25wKCkK KwlDRkxBR1MrPSItRF83WklQX0FGRklOSVRZX0RJU0FCTEUiCisJQ1hYRkxBR1MrPSItRF83WklQ X0FGRklOSVRZX0RJU0FCTEUiCitmaQorCitkb19idWlsZCgpIHsKKwljZCAiJHdya3NyYyIvQ1BQ Lzd6aXAvQnVuZGxlcy9BbG9uZTIKKworCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgor CWFhcmNoNjQqKSBfN3pfbWFrZWZpbGU9Ii4uLy4uL2NtcGxfZ2NjX2FybTY0Lm1hayI7OworCSop ICAgICAgICBfN3pfbWFrZWZpbGU9Ii4uLy4uL2NtcGxfZ2NjLm1hayI7OworCWVzYWMKKworCWZv ciBvcHRzIGluICJPPWIvbm9yYXIgRElTQUJMRV9SQVJfQ09NUFJFU1M9MSIgTz1iL3JhcjsgZG8K KwkJbWFrZSAiJG1ha2Vqb2JzIiAtZiAiJF83el9tYWtlZmlsZSIgXAorCQkJQ0M9IiRDQyIgQ1hY PSIkQ1hYIiBYQlBTX0NGTEFHUz0iJENGTEFHUyIgXAorCQkJWEJQU19DWFhGTEFHUz0iJENYWEZM QUdTIiBYQlBTX0xERkxBR1M9IiRMREZMQUdTIiBcCisJCQkkb3B0cworCWRvbmUKK30KKworXzd6 X2luc3RhbGwoKSB7CisJYmluZGlyPSIkMSIKKwlkZXN0PSIkMiIKKwlzdWZmaXg9IiQzIgorCisJ dmJpbiAiJHt3cmtzcmN9L0NQUC83emlwL0J1bmRsZXMvQWxvbmUyLyR7YmluZGlyfS83enoiICI3 ei0ke3N1ZmZpeH0iCisKKwl2bGljZW5zZSAiJHt3cmtzcmN9L0RPQy9MaWNlbnNlLnR4dCIKKwor CSMgaHR0cHM6Ly9jZ2l0LmZyZWVic2Qub3JnL3BvcnRzL3BsYWluL2FyY2hpdmVycy83LXppcC9m aWxlcy83enouMQorCXZtYW4gIiR7RklMRVNESVJ9Lzd6ei4xIiAiN3otJHtzdWZmaXh9LjEiCit9 CisKK2RvX2luc3RhbGwoKSB7CisJXzd6X2luc3RhbGwgYi9ub3JhciAiJERFU1RESVIiIGZyZWUK K30KKworN3ppcC11bnJhcl9wYWNrYWdlKCkgeworCWxpY2Vuc2UrPSIsIGN1c3RvbTpmcmVld2Fy ZSIKKwlyZXBvc2l0b3J5PW5vbmZyZWUKKwlzaG9ydF9kZXNjKz0iIC0gUkFSIHN1cHBvcnQiCisJ YWx0ZXJuYXRpdmVzPSIKKwkgN3o6N3o6L3Vzci9iaW4vN3otdW5yYXIKKwkgN3o6N3phOi91c3Iv YmluLzd6LXVucmFyCisJIDd6Ojd6cjovdXNyL2Jpbi83ei11bnJhcgorCSA3ejo3ei4xOi91c3Iv c2hhcmUvbWFuL21hbjEvN3otdW5yYXIuMSIKKworCXBrZ19pbnN0YWxsKCkgeworCQlfN3pfaW5z dGFsbCBiL3JhciAiJFBLR0RFU1RESVIiIHVucmFyCisJfQorfQorCitwN3ppcF9wYWNrYWdlKCkg eworCWJ1aWxkX3N0eWxlPW1ldGEKKwlkZXBlbmRzPTd6aXAKKwlzaG9ydF9kZXNjPSJDb21tYW5k LWxpbmUgdmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSAodHJhbnNp dGlvbmFsIGR1bW15IHBhY2thZ2UpIgorfQorCitwN3ppcC11bnJhcl9wYWNrYWdlKCkgeworCWJ1 aWxkX3N0eWxlPW1ldGEKKwlyZXBvc2l0b3J5PW5vbmZyZWUKKwlkZXBlbmRzPTd6aXAtdW5yYXIK KwlzaG9ydF9kZXNjPSJDb21tYW5kLWxpbmUgdmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2Vk IGZpbGUgYXJjaGl2ZSAtIFJBUiBzdXBwb3J0ICh0cmFuc2l0aW9uYWwgZHVtbXkgcGFja2FnZSki Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvdXBkYXRlIGIvc3JjcGtncy83emlwL3VwZGF0 ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjU0NjNmMTQ4ZTRmOAot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC91cGRhdGUKQEAgLTAsMCArMSwyIEBACitz aXRlPSdodHRwczovLzctemlwLm9yZy9kb3dubG9hZC5odG1sJworcGF0dGVybj0nRG93bmxvYWQg Ny1aaXAgXEtbXGQuXSsnCmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwIGIvc3JjcGtncy9wN3pp cApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjI4NDMxMjU5NWE0Ywot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcDd6aXAKQEAgLTAsMCArMSBAQAorN3ppcApcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAtdW5yYXIg Yi9zcmNwa2dzL3A3emlwLXVucmFyCmluZGV4IGJmNTM0OWVlNjY2Ni4uMjg0MzEyNTk1YTRjIDEy MDAwMAotLS0gYS9zcmNwa2dzL3A3emlwLXVucmFyCisrKyBiL3NyY3BrZ3MvcDd6aXAtdW5yYXIK QEAgLTEgKzEgQEAKLXA3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorN3ppcApcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hl cy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0y MDE4LTU5OTYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3MzNiZmY5MTg5 NS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01 OTk2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAgQEAKLUZyb206IFJvYmVydCBM dWJlcmRhIDxyb2JlcnRAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMjggSmFuIDIwMTggMjM6NDc6 NDAgKzAxMDAKLVN1YmplY3Q6IENWRS0yMDE4LTU5OTYKLQotSG9wZWZ1bGx5IGZpeCBNZW1vcnkg Q29ycnVwdGlvbnMgdmlhIFJBUiBQUE1kIChDVkUtMjAxOC01OTk2KSBieQotYXBwbHlpbmcgYSBm ZXcgY2hhbmdlcyBmcm9tIDdaaXAgMTguMDAtYmV0YS4KLQotQnVnLURlYmlhbjogaHR0cHM6Ly9i dWdzLmRlYmlhbi5vcmcvIzg4ODMxNAotLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29k ZXIuY3BwIHwgMTMgKysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVy LmggICB8ICAxICsKLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAgfCAxMCArKysr KysrKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCAgIHwgIDEgKwotIENQUC83 emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCB8IDIzICsrKysrKysrKysrKysrKysrKysrLS0t Ci0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaCAgIHwgIDIgKysKLSA2IGZpbGVzIGNo YW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9D UFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIx RGVjb2Rlci5jcHAKLWluZGV4IDFhYWVkY2MuLjY4MDMwYzcgMTAwNjQ0Ci0tLS0gYS9DUFAvN3pp cC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFE ZWNvZGVyLmNwcAotQEAgLTI5LDcgKzI5LDcgQEAgcHVibGljOgotIH07Ci0gKi8KLSAKLS1DRGVj b2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSB7IH0KLStDRGVjb2Rlcjo6Q0RlY29k ZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSwgX2Vycm9yTW9kZShmYWxzZSkgeyB9Ci0gCi0gdm9pZCBD RGVjb2Rlcjo6SW5pdFN0cnVjdHVyZXMoKQotIHsKLUBAIC00MDYsOSArNDA2LDE0IEBAIEhSRVNV TFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2Vx dWVudGlhbE91dFN0cmVhbSAqCi0gICBJbml0RGF0YSgpOwotICAgaWYgKCFtX0lzU29saWQpCi0g ICB7Ci0rICAgIF9lcnJvck1vZGUgPSBmYWxzZTsKLSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLSAg ICAgSW5pdEh1ZmYoKTsKLSAgIH0KLSsKLSsgIGlmIChfZXJyb3JNb2RlKQotKyAgICByZXR1cm4g U19GQUxTRTsKLSsKLSAgIGlmIChtX1VucGFja1NpemUgPiAwKQotICAgewotICAgICBHZXRGbGFn c0J1ZigpOwotQEAgLTQ3Nyw5ICs0ODIsOSBAQCBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OkNvZGUo SVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtCi0gICAg IGNvbnN0IFVJbnQ2NCAqaW5TaXplLCBjb25zdCBVSW50NjQgKm91dFNpemUsIElDb21wcmVzc1By b2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewotICAgdHJ5IHsgcmV0dXJuIENvZGVSZWFsKGluU3Ry ZWFtLCBvdXRTdHJlYW0sIGluU2l6ZSwgb3V0U2l6ZSwgcHJvZ3Jlc3MpOyB9Ci0tICBjYXRjaChj b25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUpIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBj YXRjaChjb25zdCBDTHpPdXRXaW5kb3dFeGNlcHRpb24gJmUpIHsgcmV0dXJuIGUuRXJyb3JDb2Rl OyB9Ci0tICBjYXRjaCguLi4pIHsgcmV0dXJuIFNfRkFMU0U7IH0KLSsgIGNhdGNoKGNvbnN0IENJ bkJ1ZmZlckV4Y2VwdGlvbiAmZSkgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0dXJuIGUuRXJyb3JD b2RlOyB9Ci0rICBjYXRjaChjb25zdCBDTHpPdXRXaW5kb3dFeGNlcHRpb24gJmUpIHsgX2Vycm9y TW9kZSA9IHRydWU7IHJldHVybiBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJv ck1vZGUgPSB0cnVlOyByZXR1cm4gU19GQUxTRTsgfQotIH0KLSAKLSBTVERNRVRIT0RJTVAgQ0Rl Y29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6 ZSkKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oIGIvQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotaW5kZXggNjMwZjA4OS4uMDFiNjA2YiAxMDA2NDQK LS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0Nv bXByZXNzL1JhcjFEZWNvZGVyLmgKLUBAIC0zOSw2ICszOSw3IEBAIHB1YmxpYzoKLSAKLSAgIElu dDY0IG1fVW5wYWNrU2l6ZTsKLSAgIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfZXJyb3JNb2Rl OwotIAotICAgVUludDMyIFJlYWRCaXRzKGludCBudW1CaXRzKTsKLSAgIEhSRVNVTFQgQ29weUJs b2NrKFVJbnQzMiBkaXN0YW5jZSwgVUludDMyIGxlbik7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyMkRlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIu Y3BwCi1pbmRleCBiM2YyYjRiLi4wNTgwYzhkIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMkRlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5j cHAKLUBAIC04MCw3ICs4MCw4IEBAIHN0YXRpYyBjb25zdCBVSW50MzIga0hpc3RvcnlTaXplID0g MSA8PCAyMDsKLSBzdGF0aWMgY29uc3QgVUludDMyIGtXaW5kb3dSZXNlcnZTaXplID0gKDEgPDwg MjIpICsgMjU2OwotIAotIENEZWNvZGVyOjpDRGVjb2RlcigpOgotLSAgbV9Jc1NvbGlkKGZhbHNl KQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIG1fVGFibGVzT0soZmFsc2UpCi0gewotIH0KLSAK LUBAIC0xMDAsNiArMTAxLDggQEAgVUludDMyIENEZWNvZGVyOjpSZWFkQml0cyh1bnNpZ25lZCBu dW1CaXRzKSB7IHJldHVybiBtX0luQml0U3RyZWFtLlJlYWRCaXRzKG51bUIKLSAKLSBib29sIENE ZWNvZGVyOjpSZWFkVGFibGVzKHZvaWQpCi0gewotKyAgbV9UYWJsZXNPSyA9IGZhbHNlOwotKwot ICAgQnl0ZSBsZXZlbExldmVsc1trTGV2ZWxUYWJsZVNpemVdOwotICAgQnl0ZSBuZXdMZXZlbHNb a01heFRhYmxlU2l6ZV07Ci0gICBtX0F1ZGlvTW9kZSA9IChSZWFkQml0cygxKSA9PSAxKTsKLUBA IC0xNzAsNiArMTczLDggQEAgYm9vbCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyh2b2lkKQotICAgfQot ICAgCi0gICBtZW1jcHkobV9MYXN0TGV2ZWxzLCBuZXdMZXZlbHMsIGtNYXhUYWJsZVNpemUpOwot KyAgbV9UYWJsZXNPSyA9IHRydWU7Ci0rCi0gICByZXR1cm4gdHJ1ZTsKLSB9Ci0gCi1AQCAtMzQ0 LDYgKzM0OSw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJl YW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICAgICAgcmV0dXJuIFNfRkFM U0U7Ci0gICB9Ci0gCi0rICBpZiAoIW1fVGFibGVzT0spCi0rICAgIHJldHVybiBTX0ZBTFNFOwot KwotICAgVUludDY0IHN0YXJ0UG9zID0gbV9PdXRXaW5kb3dTdHJlYW0uR2V0UHJvY2Vzc2VkU2l6 ZSgpOwotICAgd2hpbGUgKHBvcyA8IHVuUGFja1NpemUpCi0gICB7Ci1kaWZmIC0tZ2l0IGEvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNv ZGVyLmgKLWluZGV4IDNhMDUzNWMuLjBlOTAwNWYgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIyRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5o Ci1AQCAtMTM5LDYgKzEzOSw3IEBAIGNsYXNzIENEZWNvZGVyIDoKLSAKLSAgIFVJbnQ2NCBtX1Bh Y2tTaXplOwotICAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIG1fVGFibGVzT0s7Ci0gCi0gICB2 b2lkIEluaXRTdHJ1Y3R1cmVzKCk7Ci0gICBVSW50MzIgUmVhZEJpdHModW5zaWduZWQgbnVtQml0 cyk7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwIGIvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi1pbmRleCAzYmYyNTEzLi42Y2I4YTZhIDEw MDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi0rKysgYi9DUFAv N3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAKLUBAIC05Miw3ICs5Miw4IEBAIENEZWNvZGVy OjpDRGVjb2RlcigpOgotICAgX3dyaXR0ZW5GaWxlU2l6ZSgwKSwKLSAgIF92bURhdGEoMCksCi0g ICBfdm1Db2RlKDApLAotLSAgbV9Jc1NvbGlkKGZhbHNlKQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwK LSsgIF9lcnJvck1vZGUoZmFsc2UpCi0gewotICAgUHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci0g fQotQEAgLTU0NSw2ICs1NDYsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpSZWFkVGFibGVzKGJvb2wg JmtlZXBEZWNvbXByZXNzaW5nKQotICAgICByZXR1cm4gSW5pdFBQTSgpOwotICAgfQotIAotKyAg VGFibGVzUmVhZCA9IGZhbHNlOwotKyAgVGFibGVzT0sgPSBmYWxzZTsKLSsKLSAgIF9sek1vZGUg PSB0cnVlOwotICAgUHJldkFsaWduQml0cyA9IDA7Ci0gICBQcmV2QWxpZ25Db3VudCA9IDA7Ci1A QCAtNjA2LDYgKzYxMCw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OlJlYWRUYWJsZXMoYm9vbCAma2Vl cERlY29tcHJlc3NpbmcpCi0gICAgICAgfQotICAgICB9Ci0gICB9Ci0rICBpZiAoSW5wdXRFb2ZF cnJvcigpKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIFRhYmxlc1JlYWQgPSB0cnVlOwot IAotICAgLy8gb3JpZ2luYWwgY29kZSBoYXMgY2hlY2sgaGVyZToKLUBAIC02MjMsNiArNjMwLDkg QEAgSFJFU1VMVCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyhib29sICZrZWVwRGVjb21wcmVzc2luZykK LSAgIFJJRihtX0xlbkRlY29kZXIuQnVpbGQoJm5ld0xldmVsc1trTWFpblRhYmxlU2l6ZSArIGtE aXN0VGFibGVTaXplICsga0FsaWduVGFibGVTaXplXSkpOwotIAotICAgbWVtY3B5KG1fTGFzdExl dmVscywgbmV3TGV2ZWxzLCBrVGFibGVzU2l6ZXNTdW0pOwotKwotKyAgVGFibGVzT0sgPSB0cnVl OwotKwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotQEAgLTgyNCw3ICs4MzQsMTIgQEAgSFJFU1VM VCBDRGVjb2Rlcjo6Q29kZVJlYWwoSUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAg ICAgUHBtRXNjQ2hhciA9IDI7Ci0gICAgIFBwbUVycm9yID0gdHJ1ZTsKLSAgICAgSW5pdEZpbHRl cnMoKTsKLSsgICAgX2Vycm9yTW9kZSA9IGZhbHNlOwotICAgfQotKwotKyAgaWYgKF9lcnJvck1v ZGUpCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotICAgaWYgKCFtX0lzU29saWQgfHwgIVRhYmxl c1JlYWQpCi0gICB7Ci0gICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7Ci1AQCAtODM4LDYgKzg1 Myw4IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAq cHJvZ3Jlc3MpCi0gICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7Ci0gICAgIGlmIChfbHpNb2Rl KQotICAgICB7Ci0rICAgICAgaWYgKCFUYWJsZXNPSykKLSsgICAgICAgIHJldHVybiBTX0ZBTFNF OwotICAgICAgIFJJTk9LKERlY29kZUxaKGtlZXBEZWNvbXByZXNzaW5nKSkKLSAgICAgfQotICAg ICBlbHNlCi1AQCAtOTAxLDggKzkxOCw4IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJ U2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAg X3VucGFja1NpemUgPSBvdXRTaXplID8gKm91dFNpemUgOiAoVUludDY0KShJbnQ2NCktMTsKLSAg ICAgcmV0dXJuIENvZGVSZWFsKHByb2dyZXNzKTsKLSAgIH0KLS0gIGNhdGNoKGNvbnN0IENJbkJ1 ZmZlckV4Y2VwdGlvbiAmZSkgIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaCguLi4p IHsgcmV0dXJuIFNfRkFMU0U7IH0KLSsgIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAm ZSkgIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJldHVybiBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2go Li4uKSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gU19GQUxTRTsgfQotICAgLy8gQ05ld0V4 Y2VwdGlvbiBpcyBwb3NzaWJsZSBoZXJlLiBCdXQgcHJvYmFibHkgQ05ld0V4Y2VwdGlvbiBpcyBj YXVzZWQKLSAgIC8vIGJ5IGVycm9yIGluIGRhdGEgc3RyZWFtLgotIH0KLWRpZmYgLS1naXQgYS9D UFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0Rl Y29kZXIuaAotaW5kZXggYzEzMGNlYy4uMmY3MmQ3ZCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0Nv bXByZXNzL1JhcjNEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVy LmgKLUBAIC0xOTIsNiArMTkyLDcgQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBVSW50MzIgX2xhc3RG aWx0ZXI7Ci0gCi0gICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAg IGJvb2wgX2x6TW9kZTsKLSAgIGJvb2wgX3Vuc3VwcG9ydGVkRmlsdGVyOwotQEAgLTIwMCw2ICsy MDEsNyBAQCBjbGFzcyBDRGVjb2RlcjoKLSAgIFVJbnQzMiBQcmV2QWxpZ25Db3VudDsKLSAKLSAg IGJvb2wgVGFibGVzUmVhZDsKLSsgIGJvb2wgVGFibGVzT0s7Ci0gCi0gICBDUHBtZDcgX3BwbWQ7 Ci0gICBpbnQgUHBtRXNjQ2hhcjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8z MC1DVkUtMjAxOC0xMDExNS5wYXRjaCBiL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAx OC0xMDExNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q5YzRiZjgxZjAw Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEw MTE1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzExICswLDAgQEAKLUZyb206IFJvYmVydCBM dWJlcmRhIDxyb2JlcnRAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgMjkgTWF5IDIwMTggMjM6NTk6 MDkgKzAyMDAKLVN1YmplY3Q6IEZpeCBDVkUtMjAxOC0xMDExNQotCi1BcHBseSAicGF0Y2giIHRh a2VuIGZyb20gaHR0cHM6Ly9sYW5kYXZlLmlvL2ZpbGVzL3BhdGNoXzd6aXBfQ1ZFLTIwMTgtMTAx MTUudHh0Ci0KLQotQnVncy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg5NzY3NAot LS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIHwgMTYgKysrKysrKysrKyst LS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83 emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcCB8IDE3ICsrKysrKysrKysrKystLS0tCi0gQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCAgIHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJl c3MvUmFyM0RlY29kZXIuY3BwIHwgMTkgKysrKysrKysrKysrKysrLS0tLQotIENQUC83emlwL0Nv bXByZXNzL1JhcjNEZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjVE ZWNvZGVyLmNwcCB8ICA4ICsrKysrKysrCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIu aCAgIHwgIDEgKwotIDggZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAg Yi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLWluZGV4IDY4MDMwYzcuLjhjODkw YzggMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsrKyBi L0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAotQEAgLTI5LDcgKzI5LDcgQEAgcHVi bGljOgotIH07Ci0gKi8KLSAKLS1DRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNl KSwgX2Vycm9yTW9kZShmYWxzZSkgeyB9Ci0rQ0RlY29kZXI6OkNEZWNvZGVyKCk6IF9pc1NvbGlk KGZhbHNlKSwgX3NvbGlkQWxsb3dlZChmYWxzZSksIF9lcnJvck1vZGUoZmFsc2UpIHsgfQotIAot IHZvaWQgQ0RlY29kZXI6OkluaXRTdHJ1Y3R1cmVzKCkKLSB7Ci1AQCAtMzQ1LDcgKzM0NSw3IEBA IHZvaWQgQ0RlY29kZXI6OkdldEZsYWdzQnVmKCkKLSAKLSB2b2lkIENEZWNvZGVyOjpJbml0RGF0 YSgpCi0gewotLSAgaWYgKCFtX0lzU29saWQpCi0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAg ICBBdnJQbGNCID0gQXZyTG4xID0gQXZyTG4yID0gQXZyTG4zID0gTnVtSHVmID0gQnVmNjAgPSAw OwotICAgICBBdnJQbGMgPSAweDM1MDA7Ci1AQCAtMzkxLDYgKzM5MSwxMSBAQCBIUkVTVUxUIENE ZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRp YWxPdXRTdHJlYW0gKgotICAgaWYgKGluU2l6ZSA9PSBOVUxMIHx8IG91dFNpemUgPT0gTlVMTCkK LSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLSAKLSsgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlk QWxsb3dlZCkKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0rICBfc29saWRBbGxvd2VkID0gZmFs c2U7Ci0rCi0gICBpZiAoIW1fT3V0V2luZG93U3RyZWFtLkNyZWF0ZShrSGlzdG9yeVNpemUpKQot ICAgICByZXR1cm4gRV9PVVRPRk1FTU9SWTsKLSAgIGlmICghbV9JbkJpdFN0cmVhbS5DcmVhdGUo MSA8PCAyMCkpCi1AQCAtMzk4LDEzICs0MDMsMTMgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJl YWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoK LSAKLSAgIG1fVW5wYWNrU2l6ZSA9IChJbnQ2NCkqb3V0U2l6ZTsKLSAgIG1fT3V0V2luZG93U3Ry ZWFtLlNldFN0cmVhbShvdXRTdHJlYW0pOwotLSAgbV9PdXRXaW5kb3dTdHJlYW0uSW5pdChtX0lz U29saWQpOwotKyAgbV9PdXRXaW5kb3dTdHJlYW0uSW5pdChfaXNTb2xpZCk7Ci0gICBtX0luQml0 U3RyZWFtLlNldFN0cmVhbShpblN0cmVhbSk7Ci0gICBtX0luQml0U3RyZWFtLkluaXQoKTsKLSAK LSAgIC8vIENDb2RlclJlbGVhc2VyIGNvZGVyUmVsZWFzZXIodGhpcyk7Ci0gICBJbml0RGF0YSgp OwotLSAgaWYgKCFtX0lzU29saWQpCi0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBfZXJy b3JNb2RlID0gZmFsc2U7Ci0gICAgIEluaXRTdHJ1Y3R1cmVzKCk7Ci1AQCAtNDc1LDYgKzQ4MCw3 IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3Ry ZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICB9Ci0gICBpZiAobV9VbnBhY2tTaXplIDwg MCkKLSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgIHJl dHVybiBtX091dFdpbmRvd1N0cmVhbS5GbHVzaCgpOwotIH0KLSAKLUBAIC00OTEsNyArNDk3LDcg QEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0 ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewotICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1cm4g RV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlkID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBf aXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAot ZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggYi9DUFAvN3ppcC9D b21wcmVzcy9SYXIxRGVjb2Rlci5oCi1pbmRleCAwMWI2MDZiLi44YWJiM2EzIDEwMDY0NAotLS0t IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMURlY29kZXIuaAotQEAgLTM4LDcgKzM4LDggQEAgcHVibGljOgotICAgVUludDMyIExh c3RMZW5ndGg7Ci0gCi0gICBJbnQ2NCBtX1VucGFja1NpemU7Ci0tICBib29sIG1fSXNTb2xpZDsK LSsgIGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJv ck1vZGU7Ci0gCi0gICBVSW50MzIgUmVhZEJpdHMoaW50IG51bUJpdHMpOwotZGlmZiAtLWdpdCBh L0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1Jh cjJEZWNvZGVyLmNwcAotaW5kZXggMDU4MGM4ZC4uYmU4ZDg0MiAxMDA2NDQKLS0tLSBhL0NQUC83 emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MkRlY29kZXIuY3BwCi1AQCAtODAsNyArODAsOCBAQCBzdGF0aWMgY29uc3QgVUludDMyIGtIaXN0 b3J5U2l6ZSA9IDEgPDwgMjA7Ci0gc3RhdGljIGNvbnN0IFVJbnQzMiBrV2luZG93UmVzZXJ2U2l6 ZSA9ICgxIDw8IDIyKSArIDI1NjsKLSAKLSBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLS0gIG1fSXNT b2xpZChmYWxzZSksCi0rICBfaXNTb2xpZChmYWxzZSksCi0rICBfc29saWRBbGxvd2VkKGZhbHNl KSwKLSAgIG1fVGFibGVzT0soZmFsc2UpCi0gewotIH0KLUBAIC0zMjAsNiArMzIxLDEwIEBAIEhS RVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJ U2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBpZiAoaW5TaXplID09IE5VTEwgfHwgb3V0U2l6ZSA9 PSBOVUxMKQotICAgICByZXR1cm4gRV9JTlZBTElEQVJHOwotIAotKyAgaWYgKF9pc1NvbGlkICYm ICFfc29saWRBbGxvd2VkKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsgIF9zb2xpZEFsbG93ZWQg PSBmYWxzZTsKLSsKLSAgIGlmICghbV9PdXRXaW5kb3dTdHJlYW0uQ3JlYXRlKGtIaXN0b3J5U2l6 ZSkpCi0gICAgIHJldHVybiBFX09VVE9GTUVNT1JZOwotICAgaWYgKCFtX0luQml0U3RyZWFtLkNy ZWF0ZSgxIDw8IDIwKSkKLUBAIC0zMzAsMTIgKzMzNSwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpD b2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJl YW0gKgotICAgVUludDY0IHBvcyA9IDAsIHVuUGFja1NpemUgPSAqb3V0U2l6ZTsKLSAgIAotICAg bV9PdXRXaW5kb3dTdHJlYW0uU2V0U3RyZWFtKG91dFN0cmVhbSk7Ci0tICBtX091dFdpbmRvd1N0 cmVhbS5Jbml0KG1fSXNTb2xpZCk7Ci0rICBtX091dFdpbmRvd1N0cmVhbS5Jbml0KF9pc1NvbGlk KTsKLSAgIG1fSW5CaXRTdHJlYW0uU2V0U3RyZWFtKGluU3RyZWFtKTsKLSAgIG1fSW5CaXRTdHJl YW0uSW5pdCgpOwotIAotICAgLy8gQ0NvZGVyUmVsZWFzZXIgY29kZXJSZWxlYXNlcih0aGlzKTsK LS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFfaXNTb2xpZCkKLSAgIHsKLSAgICAgSW5pdFN0 cnVjdHVyZXMoKTsKLSAgICAgaWYgKHVuUGFja1NpemUgPT0gMCkKLUBAIC0zNDMsNiArMzQ4LDcg QEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJl YW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAgICAgICBpZiAobV9JbkJpdFN0cmVhbS5HZXRQ cm9jZXNzZWRTaXplKCkgKyAyIDw9IG1fUGFja1NpemUpIC8vIHRlc3QgaXQ6IHByb2JhYmx5IGlu Y29ycmVjdDsKLSAgICAgICAgIGlmICghUmVhZFRhYmxlcygpKQotICAgICAgICAgICByZXR1cm4g U19GQUxTRTsKLSsgICAgICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgICAgICByZXR1cm4gU19P SzsKLSAgICAgfQotICAgICBpZiAoIVJlYWRUYWJsZXMoKSkKLUBAIC0zODYsNiArMzkyLDkgQEAg SFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0s IElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAKLSAgIGlmICghUmVhZExhc3RUYWJsZXMoKSkKLSAg ICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0rICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSsKLSAgIHJl dHVybiBtX091dFdpbmRvd1N0cmVhbS5GbHVzaCgpOwotIH0KLSAKLUBAIC00MDIsNyArNDExLDcg QEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0 ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewotICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1cm4g RV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlkID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBf aXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAot ZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggYi9DUFAvN3ppcC9D b21wcmVzcy9SYXIyRGVjb2Rlci5oCi1pbmRleCAwZTkwMDVmLi4zNzBiY2UyIDEwMDY0NAotLS0t IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMkRlY29kZXIuaAotQEAgLTEzOCw3ICsxMzgsOCBAQCBjbGFzcyBDRGVjb2RlciA6Ci0g ICBCeXRlIG1fTGFzdExldmVsc1trTWF4VGFibGVTaXplXTsKLSAKLSAgIFVJbnQ2NCBtX1BhY2tT aXplOwotLSAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29s aWRBbGxvd2VkOwotICAgYm9vbCBtX1RhYmxlc09LOwotIAotICAgdm9pZCBJbml0U3RydWN0dXJl cygpOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCBiL0NQ UC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotaW5kZXggNmNiOGE2YS4uN2I4NTgzMyAx MDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotKysrIGIvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi1AQCAtOTIsNyArOTIsOCBAQCBDRGVjb2Rl cjo6Q0RlY29kZXIoKToKLSAgIF93cml0dGVuRmlsZVNpemUoMCksCi0gICBfdm1EYXRhKDApLAot ICAgX3ZtQ29kZSgwKSwKLS0gIG1fSXNTb2xpZChmYWxzZSksCi0rICBfaXNTb2xpZChmYWxzZSks Ci0rICBfc29saWRBbGxvd2VkKGZhbHNlKSwKLSAgIF9lcnJvck1vZGUoZmFsc2UpCi0gewotICAg UHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci1AQCAtODIxLDcgKzgyMiw3IEBAIEhSRVNVTFQgQ0Rl Y29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewotICAg X3dyaXR0ZW5GaWxlU2l6ZSA9IDA7Ci0gICBfdW5zdXBwb3J0ZWRGaWx0ZXIgPSBmYWxzZTsKLS0g IGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFfaXNTb2xpZCkKLSAgIHsKLSAgICAgX2x6U2l6ZSA9 IDA7Ci0gICAgIF93aW5Qb3MgPSAwOwotQEAgLTg0MCwxMiArODQxLDE1IEBAIEhSRVNVTFQgQ0Rl Y29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICBpZiAo X2Vycm9yTW9kZSkKLSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0gCi0tICBpZiAoIW1fSXNTb2xpZCB8 fCAhVGFibGVzUmVhZCkKLSsgIGlmICghX2lzU29saWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7Ci0g ICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7Ci0gICAgIFJJTk9LKFJlYWRUYWJsZXMoa2VlcERl Y29tcHJlc3NpbmcpKTsKLSAgICAgaWYgKCFrZWVwRGVjb21wcmVzc2luZykKLSsgICAgewotKyAg ICAgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotICAgICAgIHJldHVybiBTX09LOwotKyAgICB9Ci0g ICB9Ci0gCi0gICBmb3IgKDs7KQotQEAgLTg3MCw2ICs4NzQsOSBAQCBIUkVTVUxUIENEZWNvZGVy OjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotICAgICBpZiAoIWtl ZXBEZWNvbXByZXNzaW5nKQotICAgICAgIGJyZWFrOwotICAgfQotKwotKyAgX3NvbGlkQWxsb3dl ZCA9IHRydWU7Ci0rCi0gICBSSU5PSyhXcml0ZUJ1ZigpKTsKLSAgIFVJbnQ2NCBwYWNrU2l6ZSA9 IG1fSW5CaXRTdHJlYW0uQml0RGVjb2Rlci5HZXRQcm9jZXNzZWRTaXplKCk7Ci0gICBSSU5PSyhw cm9ncmVzcy0+U2V0UmF0aW9JbmZvKCZwYWNrU2l6ZSwgJl93cml0dGVuRmlsZVNpemUpKTsKLUBA IC04OTAsNiArODk3LDEwIEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlh bEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgaWYgKCFpblNp emUpCi0gICAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLSAKLSsgICAgaWYgKF9pc1NvbGlkICYm ICFfc29saWRBbGxvd2VkKQotKyAgICAgIHJldHVybiBTX0ZBTFNFOwotKyAgICBfc29saWRBbGxv d2VkID0gZmFsc2U7Ci0rCi0gICAgIGlmICghX3ZtRGF0YSkKLSAgICAgewotICAgICAgIF92bURh dGEgPSAoQnl0ZSAqKTo6TWlkQWxsb2Moa1ZtRGF0YVNpemVNYXggKyBrVm1Db2RlU2l6ZU1heCk7 Ci1AQCAtOTI4LDcgKzkzOSw3IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclBy b3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJbnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXpl IDwgMSkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVsw XSAmIDEpICE9IDApOwotKyAgX2lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJl dHVybiBTX09LOwotIH0KLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVj b2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotaW5kZXggMmY3MmQ3ZC4u MzJjODk0MyAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLSsr KyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLUBAIC0xOTEsNyArMTkxLDggQEAg Y2xhc3MgQ0RlY29kZXI6Ci0gICBDUmVjb3JkVmVjdG9yPENUZW1wRmlsdGVyICo+ICBfdGVtcEZp bHRlcnM7Ci0gICBVSW50MzIgX2xhc3RGaWx0ZXI7Ci0gCi0tICBib29sIG1fSXNTb2xpZDsKLSsg IGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1v ZGU7Ci0gCi0gICBib29sIF9sek1vZGU7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyNURlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwCi1pbmRl eCBkYzg4MzBmLi5hODI2ZDVhIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURl Y29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAKLUBAIC03 Miw2ICs3Miw3IEBAIENEZWNvZGVyOjpDRGVjb2RlcigpOgotICAgICBfd3JpdHRlbkZpbGVTaXpl KDApLAotICAgICBfZGljdFNpemVMb2coMCksCi0gICAgIF9pc1NvbGlkKGZhbHNlKSwKLSsgICAg X3NvbGlkQWxsb3dlZChmYWxzZSksCi0gICAgIF93YXNJbml0KGZhbHNlKSwKLSAgICAgX2lucHV0 QnVmKE5VTEwpCi0gewotQEAgLTgwMSw3ICs4MDIsMTAgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29k ZVJlYWwoKQotICAgKi8KLSAKLSAgIGlmIChyZXMgPT0gU19PSykKLSsgIHsKLSsgICAgX3NvbGlk QWxsb3dlZCA9IHRydWU7Ci0gICAgIHJlcyA9IHJlczI7Ci0rICB9Ci0gICAgICAKLSAgIGlmIChy ZXMgPT0gU19PSyAmJiBfdW5wYWNrU2l6ZV9EZWZpbmVkICYmIF93cml0dGVuRmlsZVNpemUgIT0g X3VucGFja1NpemUpCi0gICAgIHJldHVybiBTX0ZBTFNFOwotQEAgLTgyMSw2ICs4MjUsMTAgQEAg U1RETUVUSE9ESU1QIENEZWNvZGVyOjpDb2RlKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFt LCBJU2VxdWVudGlhbE91dFN0cmVhbQotIHsKLSAgIHRyeQotICAgewotKyAgICBpZiAoX2lzU29s aWQgJiYgIV9zb2xpZEFsbG93ZWQpCi0rICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICAgIF9zb2xp ZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAgICAgaWYgKF9kaWN0U2l6ZUxvZyA+PSBzaXplb2Yoc2l6 ZV90KSAqIDgpCi0gICAgICAgcmV0dXJuIEVfTk9USU1QTDsKLSAKLWRpZmYgLS1naXQgYS9DUFAv N3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29k ZXIuaAotaW5kZXggYjBhNGRkMS4uM2RiNTAxOCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXBy ZXNzL1JhcjVEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgK LUBAIC0yNzEsNiArMjcxLDcgQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBCeXRlIF9kaWN0U2l6ZUxv ZzsKLSAgIGJvb2wgX3RhYmxlV2FzRmlsbGVkOwotICAgYm9vbCBfaXNTb2xpZDsKLSsgIGJvb2wg X3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgX3dhc0luaXQ7Ci0gCi0gICBVSW50MzIgX3JlcHNba051 bVJlcHNdOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYu cGF0Y2ggYi9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJiYjMzNzczN2U1Li4wMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxMiArMCwwIEBACi0tLS0gYS9DUFAvN3ppcC9BcmNoaXZlLzd6Lzd6SW4uY3BwCVN1biBO b3YgMjAgMDk6Mjk6NDEgMjAxNgotKysrIGIvQ1BQLzd6aXAvQXJjaGl2ZS83ei83ekluLmNwcAlT dW4gTm92IDIwIDA5OjMxOjIyIDIwMTYKLUBAIC0xMDk3LDcgKzEwOTcsOCBAQCBIUkVTVUxUIENJ bkFyY2hpdmU6OlJlYWRBbmREZWNvZGVQYWNrZWRTdHJlYW1zKAotICAgICAgIGlmIChDcmNDYWxj KGRhdGEsIHVucGFja1NpemUpICE9IGZvbGRlcnMuRm9sZGVyQ1JDcy5WYWxzW2ldKQotICAgICAg ICAgVGhyb3dJbmNvcnJlY3QoKTsKLSAgIH0KLS0gIEhlYWRlcnNTaXplICs9IGZvbGRlcnMuUGFj a1Bvc2l0aW9uc1tmb2xkZXJzLk51bVBhY2tTdHJlYW1zXTsKLSsgIGlmIChmb2xkZXJzLlBhY2tQ b3NpdGlvbnMpCi0rICAgICAgSGVhZGVyc1NpemUgKz0gZm9sZGVycy5QYWNrUG9zaXRpb25zW2Zv bGRlcnMuTnVtUGFja1N0cmVhbXNdOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIApkaWZmIC0tZ2l0 IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoIGIvc3JjcGtncy9w N3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA5YTgyMGFmNzMwNjcuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3Bh dGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBA Ci1Gcm9tOiA9P3V0Zi04P3E/QW50b2luZV9CZWF1cHI9QzM9QTk/PSA8YW5hcmNhdEBkZWJpYW4u b3JnPgotRGF0ZTogU3VuLCAyOCBKYW4gMjAxOCAyMToxOTo1MCArMDEwMAotU3ViamVjdDogYmFj a3BvcnQgb2YgdGhlIENWRS0yMDE3LTE3OTY5IGZpeCBmcm9tIDd6aXAgMTguMDAtYmV0YQotCi0t LS0KLSBDUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNvZGVyLmNwcCB8IDcgKysrKysrLQotIDEg ZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdp dCBhL0NQUC83emlwL0NvbXByZXNzL1Nocmlua0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJl c3MvU2hyaW5rRGVjb2Rlci5jcHAKLWluZGV4IDgwYjdlNjcuLjRhY2RjZTUgMTAwNjQ0Ci0tLS0g YS9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29t cHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAKLUBAIC0xMjEsNyArMTIxLDEyIEBAIEhSRVNVTFQgQ0Rl Y29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlh bE91dFN0cmVhbSAqCi0gICAgIHsKLSAgICAgICBfc3RhY2tbaSsrXSA9IF9zdWZmaXhlc1tjdXJd OwotICAgICAgIGN1ciA9IF9wYXJlbnRzW2N1cl07Ci0tICAgIH0KLSsgICAgICBpZiAoaSA+PSBr TnVtSXRlbXMpCi0rICAgICAgICBicmVhazsKLSsgICAgIH0KLSsKLSsgICAgaWYgKGkgPj0ga051 bUl0ZW1zKQotKyAgICAgIGJyZWFrOwotICAgICAKLSAgICAgX3N0YWNrW2krK10gPSAoQnl0ZSlj dXI7Ci0gICAgIGxhc3RDaGFyMiA9IChCeXRlKWN1cjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6 aXAvdGVtcGxhdGUgYi9zcmNwa2dzL3A3emlwL3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA2NDJlMjRhZGFmNTIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlw L3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotIyBUZW1wbGF0ZSBmaWxl IGZvciAncDd6aXAnCi1wa2duYW1lPXA3emlwCi12ZXJzaW9uPTE2LjAyCi1yZXZpc2lvbj01Ci13 cmtzcmM9IiR7cGtnbmFtZX1fJHt2ZXJzaW9ufSIKLWhvc3RtYWtlZGVwZW5kcz0ieWFzbSBuYXNt Igotc2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3Nl ZCBmaWxlIGFyY2hpdmUiCi1tYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5v cmc+IgotbGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0ZXIiCi1ob21lcGFnZT0iaHR0cDovL3A3emlw LnNvdXJjZWZvcmdlLm5ldC8iCi1kaXN0ZmlsZXM9IiR7U09VUkNFRk9SR0VfU0lURX0vJHtwa2du YW1lfS8ke3BrZ25hbWV9XyR7dmVyc2lvbn1fc3JjX2FsbC50YXIuYnoyIgotY2hlY2tzdW09NWVi MjBhYzBlMjk0NGY2Y2I5YzJkNTFkZDZjNDUxODk0MWMxODUzNDdkNDA4OWVhODkwODdmZmRkNmUy MzQxZgotCi1DWFhGTEFHUz0iLVduby1uYXJyb3dpbmciCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQlj YXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KLQkJaTY4NiopIGNwIG1ha2VmaWxlLmxpbnV4 X3g4Nl9hc21fZ2NjXzQuWCBtYWtlZmlsZS5tYWNoaW5lOzsKLQkJeDg2XzY0KikgY3AgbWFrZWZp bGUubGludXhfYW1kNjRfYXNtIG1ha2VmaWxlLm1hY2hpbmU7OwotCQkqKSBjcCBtYWtlZmlsZS5s aW51eF9hbnlfY3B1X2djY180LlggbWFrZWZpbGUubWFjaGluZTs7Ci0JZXNhYwotCXNlZCAtZSAi cyxnKyssJHtDWFh9LCIgLWkgbWFrZWZpbGUubWFjaGluZQotCXNlZCAtZSAicyxnY2MsJHtDQ30s IiAtaSBtYWtlZmlsZS5tYWNoaW5lCi19Ci1kb19idWlsZCgpIHsKLQltYWtlIGFsbDMgT1BURkxB R1M9IiRDWFhGTEFHUyIgJHttYWtlam9ic30KLX0KLWRvX2luc3RhbGwoKSB7Ci0JbWFrZSBpbnN0 YWxsIERFU1RfRElSPSIke0RFU1RESVJ9IiBERVNUX0hPTUU9Ii91c3IiIFwKLQkJREVTVF9NQU49 Ii91c3Ivc2hhcmUvbWFuIiBcCi0JCURFU1RfU0hBUkVfRE9DPSIvdXNyL3NoYXJlL2RvYy8ke3Br Z25hbWV9IgotCWZpbmQgJHtERVNURElSfS91c3Ivc2hhcmUvZG9jLyRwa2duYW1lIC10eXBlIGQg LWV4ZWMgY2htb2QgNzU1IHt9IFw7Ci0JbWtkaXIgLXAgJHtERVNURElSfS91c3Ivc2hhcmUvbGlj ZW5zZXMvcDd6aXAvCi0JbXYgJHtERVNURElSfS91c3Ivc2hhcmUvZG9jL3A3emlwL0RPQy9jb3B5 aW5nLnR4dCBcCi0JICAgJHtERVNURElSfS91c3Ivc2hhcmUvbGljZW5zZXMvcDd6aXAvTElDRU5T RQotfQotCi1wN3ppcC11bnJhcl9wYWNrYWdlKCkgewotCXNob3J0X2Rlc2MrPSIgLSBSQVIgc3Vw cG9ydCIKLQlsaWNlbnNlPSJjdXN0b206ZnJlZXdhcmUiCi0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9 LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi0JcmVwb3NpdG9yeT1ub25mcmVlCi0JcGtnX2luc3Rh bGwoKSB7Ci0JCXZtb3ZlIHVzci9saWIvcDd6aXAvQ29kZWNzL1Jhci5zbwotCQl2bGljZW5zZSBE T0MvdW5SYXJMaWNlbnNlLnR4dCBMSUNFTlNFCi0JfQotfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9w N3ppcC91cGRhdGUgYi9zcmNwa2dzL3A3emlwL3VwZGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggODRlZDQ2ZDc0YTFhLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC91 cGRhdGUKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1wYXR0ZXJuPSdwN3ppcF9cS1suXGRd KycK --===============2772009897129172682==--