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 17034 invoked from network); 29 Aug 2022 12:40:49 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 29 Aug 2022 12:40:49 -0000 Content-Type: multipart/mixed; boundary="===============0784663791088234702==" 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, 29 Aug 2022 14:40:49 +0200 List-Id: Message-ID: <20220829124049.ApVnDwv_qFSHPajxldvJ0vaB2oiMb9f4UQS6FImNS4k@z> GitHub notification mails are now in MIME to allow UTF8. --===============0784663791088234702== 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 Cg0KIyMjIyBUT0RPOg0KDQotIFt4XSBmaXggbXVzbA0KLSBbIF0gfmJ1aWxkIHdpdGggYXNzZW1i bHkgd2hlcmUgcG9zc2libGU6IG9uIGk2ODYgYW5kIHg4Nl82NCogaXQgcmVxdWlyZXMgYGFzbWNg IG9yIGBqd2FzbWAvYHVhc21gIGFzc2VtYmxlcnMsIG5vbmUgb2Ygd2hpY2ggYXJlIHBhY2thZ2Vk fg0KLSBbeF0gYnVpbGQgYSB2ZXJzaW9uIHdpdGggUkFSIHN1cHBvcnQgKG5vbmZyZWUgcmVwbykN Ci0gW3hdIHVzZSBvdXIgY29tcGlsZSBhbmQgbGluayBmbGFncw0KLSBbeF0gdGVzdCBwYWNrYWdl cyB0aGF0IGRlcGVuZCBvbiBgcDd6aXBgIGF0IGJ1aWxkL2NoZWNrIHRpbWU6IFNMQURFLCBaODBF eHBsb3JlciwgYXJrLCBjYnAybWFrZS4gKEkganVzdCB0ZXN0ZWQgdGhhdCB0aGV5IHN0aWxsIGJ1 aWxkKQ0KLSB0ZXN0IHBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGBwN3ppcGAgYXQgcnVuIHRpbWU6 DQogICAgLSBbIF0ganVsaWENCiAgICAtIFsgXSBsdXRyaXMNCiAgICAtIFsgXSBtdWx0aWJvb3R1 c2INCiAgICAtIFsgXSBwbGF5b25saW51eA0KDQpjbG9zZXMgIzM3ODc1CgpBIHBhdGNoIGZpbGUg ZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzc5 NDAucGF0Y2ggaXMgYXR0YWNoZWQ= --===============0784663791088234702== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSAzMzg0YTcxMmJlYjhkM2FjYTgzYjQzYTA4ODIzYjBjMzkwMzc3M2NlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gTmV3IHBh Y2thZ2U6IDd6aXAtMjIuMDEKCi0tLQogc3JjcGtncy83emlwLXVucmFyICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNUQUxMLm1z ZyAgICAgICAgICB8ICAgNSArCiBzcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9mbGFncy5wYXRj aCAgICAgICAgfCAgMzAgKysKIHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA3MyArKysrCiBzcmNwa2dzLzd6aXAvdXBkYXRlICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDIgKwogc3JjcGtncy9wN3ppcCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAxICsKIHNyY3BrZ3MvcDd6aXAtdW5yYXIgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMiArLQogc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYucGF0 Y2ggIHwgMjIxIC0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAx OC0xMDExNS5wYXRjaCB8IDMxMSAtLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvcDd6aXAvcGF0 Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoICAgICB8ICAxMiAtCiBzcmNwa2dzL3A3emlwL3BhdGNo ZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2ggICAgfCAgMjYgLS0KIHNyY3BrZ3MvcDd6aXAvdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgICAgICB8ICA0NyAtLS0KIHNyY3BrZ3MvcDd6aXAvdXBkYXRl ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAtCiAxMyBmaWxlcyBjaGFuZ2VkLCAxMTMg aW5zZXJ0aW9ucygrKSwgNjE5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3Br Z3MvN3ppcC11bnJhcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC9wN3ppcC11bnJh ci5JTlNUQUxMLm1zZwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1 aWxkX2ZsYWdzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3RlbXBsYXRl CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3VwZGF0ZQogY3JlYXRlIG1vZGUgMTIw MDAwIHNyY3BrZ3MvcDd6aXAKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3A3emlwL3BhdGNo ZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcDd6 aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9wN3ppcC90ZW1wbGF0ZQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvcDd6aXAvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwLXVucmFyIGIvc3JjcGtn cy83emlwLXVucmFyCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMjg0 MzEyNTk1YTRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwLXVucmFyCkBAIC0wLDAg KzEgQEAKKzd6aXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNw a2dzLzd6aXAvcDd6aXAtdW5yYXIuSU5TVEFMTC5tc2cgYi9zcmNwa2dzLzd6aXAvcDd6aXAtdW5y YXIuSU5TVEFMTC5tc2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43 NzVmOTQzYzBhNTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIu SU5TVEFMTC5tc2cKQEAgLTAsMCArMSw1IEBACitUaGUgcDd6aXAtdW5yYXIgcGFja2FnZSBoYXMg YmVlbiByZXBsYWNlZCBieSA3emlwLXVucmFyLgorVG8gdXNlIHRoZSBSQVItZW5hYmxlZCB2ZXJz aW9uIG9mIGA3emAsIG1ha2Ugc3VyZSB0aGUgZGVzaXJlZAorYWx0ZXJuYXRpdmUgaXMgY29uZmln dXJlZDoKKworCSMgeGJwcy1hbHRlcm5hdGl2ZXMgLXMgN3ppcC11bnJhcgpkaWZmIC0tZ2l0IGEv c3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRfZmxhZ3MucGF0Y2ggYi9zcmNwa2dzLzd6aXAvcGF0 Y2hlcy9idWlsZF9mbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjRmNzkxZmY2M2RkZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC9wYXRj aGVzL2J1aWxkX2ZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK2FwcGVuZCAoZG9uJ3QgcHJl Zml4KSB4YnBzIGJ1aWxkIGZsYWdzIGFuZCBkb24ndCBzdHJpcCB0aGUgZXhlY3V0YWJsZQorLS0t IGEvQ1BQLzd6aXAvN3ppcF9nY2MubWFrCisrKysgYi9DUFAvN3ppcC83emlwX2djYy5tYWsKK0BA IC0xMjYsNyArMTI2LDcgQEAgZW5kaWYKKyANCisgDQorIA0KKy1DRkxBR1MgPSAkKE1ZX0FSQ0hf MikgJChMT0NBTF9GTEFHUykgJChDRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ0NfU0hB UkVEKSAtbyAkQA0KKytDRkxBR1MgPSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChDRkxB R1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ0NfU0hBUkVEKSAkKFhCUFNfQ0ZMQUdTKSAtbyAk QA0KKyANCisgDQorIGlmZGVmIElTX01JTkdXDQorQEAgLTE1NCw3ICsxNTQsNyBAQCBDWFhfV0FS Tl9GTEFHUyA9CisgIy1Xbm8taW52YWxpZC1vZmZzZXRvZg0KKyAjLVduby1yZW9yZGVyDQorIA0K Ky1DWFhGTEFHUyA9ICQoTVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENYWEZMQUdTX0JBU0Uy KSAkKENGTEFHU19CQVNFKSAkKENYWEZMQUdTX0VYVFJBKSAkKENDX1NIQVJFRCkgLW8gJEAgJChD WFhfV0FSTl9GTEFHUykNCisrQ1hYRkxBR1MgPSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykg JChDWFhGTEFHU19CQVNFMikgJChDRkxBR1NfQkFTRSkgJChDWFhGTEFHU19FWFRSQSkgJChDQ19T SEFSRUQpIC1vICRAICQoQ1hYX1dBUk5fRkxBR1MpICQoWEJQU19DWFhGTEFHUykNCisgDQorIFNU QVRJQ19UQVJHRVQ9DQorIGlmZGVmIENPTVBMX1NUQVRJQw0KK0BAIC0xNjcsNyArMTY3LDcgQEAg YWxsOiAkKE8pICQoUFJPR1BBVEgpICQoU1RBVElDX1RBUkdFVCkKKyAkKE8pOg0KKyAJJChNWV9N S0RJUikgJChPKQ0KKyANCistTEZMQUdTX0FMTCA9IC1zICQoTVlfQVJDSF8yKSAkKExERkxBR1Mp ICQoTERfYXJjaCkgJChPQkpTKSAkKE1ZX0xJQlMpICQoTElCMikNCisrTEZMQUdTX0FMTCA9ICQo TVlfQVJDSF8yKSAkKExERkxBR1MpICQoTERfYXJjaCkgJChPQkpTKSAkKE1ZX0xJQlMpICQoTElC MikgJChYQlBTX0xERkxBR1MpDQorICQoUFJPR1BBVEgpOiAkKE9CSlMpDQorIAkkKENYWCkgLW8g JChQUk9HUEFUSCkgJChMRkxBR1NfQUxMKQ0KKyANCmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAv dGVtcGxhdGUgYi9zcmNwa2dzLzd6aXAvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi43MDZiMGMxZWE0MjIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz Lzd6aXAvdGVtcGxhdGUKQEAgLTAsMCArMSw3MyBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnN3pp cCcKK3BrZ25hbWU9N3ppcAordmVyc2lvbj0yMi4wMQorcmV2aXNpb249MQorY3JlYXRlX3dya3Ny Yz15ZXMKK3Nob3J0X2Rlc2M9IkZpbGUgYXJjaGl2ZXIgd2l0aCBhIGhpZ2ggY29tcHJlc3Npb24g cmF0aW8iCittYWludGFpbmVyPSJSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4iCits aWNlbnNlPSJMR1BMLTIuMS1vci1sYXRlciwgQlNELTMtQ2xhdXNlIgoraG9tZXBhZ2U9Imh0dHBz Oi8vd3d3LjctemlwLm9yZyIKK2NoYW5nZWxvZz0iaHR0cHM6Ly93d3cuNy16aXAub3JnL2hpc3Rv cnkudHh0IgorZGlzdGZpbGVzPSJodHRwczovL3d3dy43LXppcC5vcmcvYS83eiR7dmVyc2lvbi8v Li99LXNyYy50YXIueHoiCitjaGVja3N1bT0zOTMwOTg3MzBjNzAwNDIzOTJhZjgwODkxN2U3NjU5 NDVkYzI0MzdkZWU3YWFlM2NmY2M0OTY2ZWI5MjBmYmM1CithbHRlcm5hdGl2ZXM9IgorIDd6Ojd6 Oi91c3IvYmluLzd6aXAKKyA3ejo3emE6L3Vzci9iaW4vN3ppcAorIDd6Ojd6cjovdXNyL2Jpbi83 emlwIgorCitpZiBbICIkWEJQU19UQVJHRVRfTElCQyIgPSBtdXNsIF07IHRoZW4KKwkjIG1pc3Np bmcgcHRocmVhZF9hdHRyX3NldGFmZmluaXR5X25wKCkKKwlDRkxBR1MrPSItRF83WklQX0FGRklO SVRZX0RJU0FCTEUiCisJQ1hYRkxBR1MrPSItRF83WklQX0FGRklOSVRZX0RJU0FCTEUiCitmaQor Citkb19idWlsZCgpIHsKKwljZCAiJHdya3NyYyIvQ1BQLzd6aXAvQnVuZGxlcy9BbG9uZTIKKwor CWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCWFhcmNoNjQqKSBfN3pfbWFrZWZpbGU9 Ii4uLy4uL2NtcGxfZ2NjX2FybTY0Lm1hayI7OworCSopICAgICAgICBfN3pfbWFrZWZpbGU9Ii4u Ly4uL2NtcGxfZ2NjLm1hayI7OworCWVzYWMKKworCWZvciBvcHRzIGluICJPPWIvbm9yYXIgRElT QUJMRV9SQVJfQ09NUFJFU1M9MSIgIk89Yi9yYXIiOyBkbworCQltYWtlICIkbWFrZWpvYnMiIC1m ICIkXzd6X21ha2VmaWxlIiBcCisJCQlDQz0iJENDIiBDWFg9IiRDWFgiIFhCUFNfQ0ZMQUdTPSIk Q0ZMQUdTIiBcCisJCQlYQlBTX0NYWEZMQUdTPSIkQ1hYRkxBR1MiIFhCUFNfTERGTEFHUz0iJExE RkxBR1MiIFwKKwkJCSRvcHRzCisJZG9uZQorfQorCitkb19pbnN0YWxsKCkgeworCXZiaW4gIiR7 d3Jrc3JjfS9DUFAvN3ppcC9CdW5kbGVzL0Fsb25lMi9iL25vcmFyLzd6eiIgIjd6aXAiCisJdmxp Y2Vuc2UgIiR7d3Jrc3JjfS9ET0MvTGljZW5zZS50eHQiCit9CisKKzd6aXAtdW5yYXJfcGFja2Fn ZSgpIHsKKwlsaWNlbnNlKz0iLCBjdXN0b206ZnJlZXdhcmUiCisJcmVwb3NpdG9yeT1ub25mcmVl CisJc2hvcnRfZGVzYys9IiAtIFJBUiBzdXBwb3J0IgorCWFsdGVybmF0aXZlcz0iCisJIDd6Ojd6 Oi91c3IvYmluLzd6aXAtdW5yYXIKKwkgN3o6N3phOi91c3IvYmluLzd6aXAtdW5yYXIKKwkgN3o6 N3pyOi91c3IvYmluLzd6aXAtdW5yYXIiCisKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdmJpbiAiJHt3 cmtzcmN9L0NQUC83emlwL0J1bmRsZXMvQWxvbmUyL2IvcmFyLzd6eiIgIjd6aXAtdW5yYXIiCisJ CXZsaWNlbnNlICIke3dya3NyY30vRE9DL0xpY2Vuc2UudHh0IgorCX0KK30KKworcDd6aXBfcGFj a2FnZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJZGVwZW5kcz03emlwCisJc2hvcnRfZGVzYz0i Q29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBmaWxlIGFyY2hpdmUi CisJc2hvcnRfZGVzYys9IiAodHJhbnNpdGlvbmFsIGR1bW15IHBhY2thZ2UpIgorfQorCitwN3pp cC11bnJhcl9wYWNrYWdlKCkgeworCWJ1aWxkX3N0eWxlPW1ldGEKKwlyZXBvc2l0b3J5PW5vbmZy ZWUKKwlkZXBlbmRzPTd6aXAtdW5yYXIKKwlzaG9ydF9kZXNjPSJDb21tYW5kLWxpbmUgdmVyc2lv biBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSAtIFJBUiBzdXBwb3J0IgorCXNo b3J0X2Rlc2MrPSIgKHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlKSIKK30KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvN3ppcC91cGRhdGUgYi9zcmNwa2dzLzd6aXAvdXBkYXRlCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNTQ2M2YxNDhlNGY4Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy83emlwL3VwZGF0ZQpAQCAtMCwwICsxLDIgQEAKK3NpdGU9J2h0dHBzOi8vNy16 aXAub3JnL2Rvd25sb2FkLmh0bWwnCitwYXR0ZXJuPSdEb3dubG9hZCA3LVppcCBcS1tcZC5dKycK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAgYi9zcmNwa2dzL3A3emlwCm5ldyBmaWxlIG1vZGUg MTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMjg0MzEyNTk1YTRjCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9wN3ppcApAQCAtMCwwICsxIEBACis3emlwClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC11bnJhciBiL3NyY3BrZ3MvcDd6aXAt dW5yYXIKaW5kZXggYmY1MzQ5ZWU2NjY2Li4yODQzMTI1OTVhNGMgMTIwMDAwCi0tLSBhL3NyY3Br Z3MvcDd6aXAtdW5yYXIKKysrIGIvc3JjcGtncy9wN3ppcC11bnJhcgpAQCAtMSArMSBAQAotcDd6 aXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis3emlwClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5 OTYucGF0Y2ggYi9zcmNwa2dzL3A3emlwL3BhdGNoZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjczM2JmZjkxODk1Li4wMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwyMjEgKzAsMCBAQAotRnJvbTogUm9iZXJ0IEx1YmVyZGEgPHJvYmVydEBk ZWJpYW4ub3JnPgotRGF0ZTogU3VuLCAyOCBKYW4gMjAxOCAyMzo0Nzo0MCArMDEwMAotU3ViamVj dDogQ1ZFLTIwMTgtNTk5NgotCi1Ib3BlZnVsbHkgZml4IE1lbW9yeSBDb3JydXB0aW9ucyB2aWEg UkFSIFBQTWQgKENWRS0yMDE4LTU5OTYpIGJ5Ci1hcHBseWluZyBhIGZldyBjaGFuZ2VzIGZyb20g N1ppcCAxOC4wMC1iZXRhLgotCi1CdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8j ODg4MzE0Ci0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgfCAxMyArKysr KysrKystLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaCAgIHwgIDEgKwotIENQ UC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcCB8IDEwICsrKysrKysrKy0KLSBDUFAvN3pp cC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oICAgfCAgMSArCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFy M0RlY29kZXIuY3BwIHwgMjMgKysrKysrKysrKysrKysrKysrKystLS0KLSBDUFAvN3ppcC9Db21w cmVzcy9SYXIzRGVjb2Rlci5oICAgfCAgMiArKwotIDYgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0 aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNz L1JhcjFEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAotaW5k ZXggMWFhZWRjYy4uNjgwMzBjNyAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFE ZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi1AQCAt MjksNyArMjksNyBAQCBwdWJsaWM6Ci0gfTsKLSAqLwotIAotLUNEZWNvZGVyOjpDRGVjb2Rlcigp OiBtX0lzU29saWQoZmFsc2UpIHsgfQotK0NEZWNvZGVyOjpDRGVjb2RlcigpOiBtX0lzU29saWQo ZmFsc2UpLCBfZXJyb3JNb2RlKGZhbHNlKSB7IH0KLSAKLSB2b2lkIENEZWNvZGVyOjpJbml0U3Ry dWN0dXJlcygpCi0gewotQEAgLTQwNiw5ICs0MDYsMTQgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29k ZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFt ICoKLSAgIEluaXREYXRhKCk7Ci0gICBpZiAoIW1fSXNTb2xpZCkKLSAgIHsKLSsgICAgX2Vycm9y TW9kZSA9IGZhbHNlOwotICAgICBJbml0U3RydWN0dXJlcygpOwotICAgICBJbml0SHVmZigpOwot ICAgfQotKwotKyAgaWYgKF9lcnJvck1vZGUpCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotICAg aWYgKG1fVW5wYWNrU2l6ZSA+IDApCi0gICB7Ci0gICAgIEdldEZsYWdzQnVmKCk7Ci1AQCAtNDc3 LDkgKzQ4Miw5IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3Ry ZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgY29uc3QgVUludDY0ICpp blNpemUsIGNvbnN0IFVJbnQ2NCAqb3V0U2l6ZSwgSUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9n cmVzcykKLSB7Ci0gICB0cnkgeyByZXR1cm4gQ29kZVJlYWwoaW5TdHJlYW0sIG91dFN0cmVhbSwg aW5TaXplLCBvdXRTaXplLCBwcm9ncmVzcyk7IH0KLS0gIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4 Y2VwdGlvbiAmZSkgeyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLS0gIGNhdGNoKGNvbnN0IENMek91 dFdpbmRvd0V4Y2VwdGlvbiAmZSkgeyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLS0gIGNhdGNoKC4u LikgeyByZXR1cm4gU19GQUxTRTsgfQotKyAgY2F0Y2goY29uc3QgQ0luQnVmZmVyRXhjZXB0aW9u ICZlKSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLSsgIGNhdGNo KGNvbnN0IENMek91dFdpbmRvd0V4Y2VwdGlvbiAmZSkgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0 dXJuIGUuRXJyb3JDb2RlOyB9Ci0rICBjYXRjaCguLi4pIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJl dHVybiBTX0ZBTFNFOyB9Ci0gfQotIAotIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2Rl clByb3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJbnQzMiBzaXplKQotZGlmZiAtLWdpdCBh L0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIx RGVjb2Rlci5oCi1pbmRleCA2MzBmMDg5Li4wMWI2MDZiIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyMURlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29k ZXIuaAotQEAgLTM5LDYgKzM5LDcgQEAgcHVibGljOgotIAotICAgSW50NjQgbV9VbnBhY2tTaXpl OwotICAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBVSW50MzIg UmVhZEJpdHMoaW50IG51bUJpdHMpOwotICAgSFJFU1VMVCBDb3B5QmxvY2soVUludDMyIGRpc3Rh bmNlLCBVSW50MzIgbGVuKTsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVj b2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLWluZGV4IGIzZjJi NGIuLjA1ODBjOGQgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5j cHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotQEAgLTgwLDcgKzgw LDggQEAgc3RhdGljIGNvbnN0IFVJbnQzMiBrSGlzdG9yeVNpemUgPSAxIDw8IDIwOwotIHN0YXRp YyBjb25zdCBVSW50MzIga1dpbmRvd1Jlc2VydlNpemUgPSAoMSA8PCAyMikgKyAyNTY7Ci0gCi0g Q0RlY29kZXI6OkNEZWNvZGVyKCk6Ci0tICBtX0lzU29saWQoZmFsc2UpCi0rICBtX0lzU29saWQo ZmFsc2UpLAotKyAgbV9UYWJsZXNPSyhmYWxzZSkKLSB7Ci0gfQotIAotQEAgLTEwMCw2ICsxMDEs OCBAQCBVSW50MzIgQ0RlY29kZXI6OlJlYWRCaXRzKHVuc2lnbmVkIG51bUJpdHMpIHsgcmV0dXJu IG1fSW5CaXRTdHJlYW0uUmVhZEJpdHMobnVtQgotIAotIGJvb2wgQ0RlY29kZXI6OlJlYWRUYWJs ZXModm9pZCkKLSB7Ci0rICBtX1RhYmxlc09LID0gZmFsc2U7Ci0rCi0gICBCeXRlIGxldmVsTGV2 ZWxzW2tMZXZlbFRhYmxlU2l6ZV07Ci0gICBCeXRlIG5ld0xldmVsc1trTWF4VGFibGVTaXplXTsK LSAgIG1fQXVkaW9Nb2RlID0gKFJlYWRCaXRzKDEpID09IDEpOwotQEAgLTE3MCw2ICsxNzMsOCBA QCBib29sIENEZWNvZGVyOjpSZWFkVGFibGVzKHZvaWQpCi0gICB9Ci0gICAKLSAgIG1lbWNweSht X0xhc3RMZXZlbHMsIG5ld0xldmVscywga01heFRhYmxlU2l6ZSk7Ci0rICBtX1RhYmxlc09LID0g dHJ1ZTsKLSsKLSAgIHJldHVybiB0cnVlOwotIH0KLSAKLUBAIC0zNDQsNiArMzQ5LDkgQEAgSFJF U1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElT ZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAgICAgICByZXR1cm4gU19GQUxTRTsKLSAgIH0KLSAKLSsg IGlmICghbV9UYWJsZXNPSykKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0gICBVSW50NjQgc3Rh cnRQb3MgPSBtX091dFdpbmRvd1N0cmVhbS5HZXRQcm9jZXNzZWRTaXplKCk7Ci0gICB3aGlsZSAo cG9zIDwgdW5QYWNrU2l6ZSkKLSAgIHsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9S YXIyRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotaW5kZXggM2Ew NTM1Yy4uMGU5MDA1ZiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVy LmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLUBAIC0xMzksNiArMTM5 LDcgQEAgY2xhc3MgQ0RlY29kZXIgOgotIAotICAgVUludDY0IG1fUGFja1NpemU7Ci0gICBib29s IG1fSXNTb2xpZDsKLSsgIGJvb2wgbV9UYWJsZXNPSzsKLSAKLSAgIHZvaWQgSW5pdFN0cnVjdHVy ZXMoKTsKLSAgIFVJbnQzMiBSZWFkQml0cyh1bnNpZ25lZCBudW1CaXRzKTsKLWRpZmYgLS1naXQg YS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9S YXIzRGVjb2Rlci5jcHAKLWluZGV4IDNiZjI1MTMuLjZjYjhhNmEgMTAwNjQ0Ci0tLS0gYS9DUFAv N3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1Jh cjNEZWNvZGVyLmNwcAotQEAgLTkyLDcgKzkyLDggQEAgQ0RlY29kZXI6OkNEZWNvZGVyKCk6Ci0g ICBfd3JpdHRlbkZpbGVTaXplKDApLAotICAgX3ZtRGF0YSgwKSwKLSAgIF92bUNvZGUoMCksCi0t ICBtX0lzU29saWQoZmFsc2UpCi0rICBtX0lzU29saWQoZmFsc2UpLAotKyAgX2Vycm9yTW9kZShm YWxzZSkKLSB7Ci0gICBQcG1kN19Db25zdHJ1Y3QoJl9wcG1kKTsKLSB9Ci1AQCAtNTQ1LDYgKzU0 Niw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OlJlYWRUYWJsZXMoYm9vbCAma2VlcERlY29tcHJlc3Np bmcpCi0gICAgIHJldHVybiBJbml0UFBNKCk7Ci0gICB9Ci0gCi0rICBUYWJsZXNSZWFkID0gZmFs c2U7Ci0rICBUYWJsZXNPSyA9IGZhbHNlOwotKwotICAgX2x6TW9kZSA9IHRydWU7Ci0gICBQcmV2 QWxpZ25CaXRzID0gMDsKLSAgIFByZXZBbGlnbkNvdW50ID0gMDsKLUBAIC02MDYsNiArNjEwLDkg QEAgSFJFU1VMVCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyhib29sICZrZWVwRGVjb21wcmVzc2luZykK LSAgICAgICB9Ci0gICAgIH0KLSAgIH0KLSsgIGlmIChJbnB1dEVvZkVycm9yKCkpCi0rICAgIHJl dHVybiBTX0ZBTFNFOwotKwotICAgVGFibGVzUmVhZCA9IHRydWU7Ci0gCi0gICAvLyBvcmlnaW5h bCBjb2RlIGhhcyBjaGVjayBoZXJlOgotQEAgLTYyMyw2ICs2MzAsOSBAQCBIUkVTVUxUIENEZWNv ZGVyOjpSZWFkVGFibGVzKGJvb2wgJmtlZXBEZWNvbXByZXNzaW5nKQotICAgUklGKG1fTGVuRGVj b2Rlci5CdWlsZCgmbmV3TGV2ZWxzW2tNYWluVGFibGVTaXplICsga0Rpc3RUYWJsZVNpemUgKyBr QWxpZ25UYWJsZVNpemVdKSk7Ci0gCi0gICBtZW1jcHkobV9MYXN0TGV2ZWxzLCBuZXdMZXZlbHMs IGtUYWJsZXNTaXplc1N1bSk7Ci0rCi0rICBUYWJsZXNPSyA9IHRydWU7Ci0rCi0gICByZXR1cm4g U19PSzsKLSB9Ci0gCi1AQCAtODI0LDcgKzgzNCwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2Rl UmVhbChJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotICAgICBQcG1Fc2NDaGFyID0g MjsKLSAgICAgUHBtRXJyb3IgPSB0cnVlOwotICAgICBJbml0RmlsdGVycygpOwotKyAgICBfZXJy b3JNb2RlID0gZmFsc2U7Ci0gICB9Ci0rCi0rICBpZiAoX2Vycm9yTW9kZSkKLSsgICAgcmV0dXJu IFNfRkFMU0U7Ci0rCi0gICBpZiAoIW1fSXNTb2xpZCB8fCAhVGFibGVzUmVhZCkKLSAgIHsKLSAg ICAgYm9vbCBrZWVwRGVjb21wcmVzc2luZzsKLUBAIC04MzgsNiArODUzLDggQEAgSFJFU1VMVCBD RGVjb2Rlcjo6Q29kZVJlYWwoSUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgICAg Ym9vbCBrZWVwRGVjb21wcmVzc2luZzsKLSAgICAgaWYgKF9sek1vZGUpCi0gICAgIHsKLSsgICAg ICBpZiAoIVRhYmxlc09LKQotKyAgICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0gICAgICAgUklOT0so RGVjb2RlTFooa2VlcERlY29tcHJlc3NpbmcpKQotICAgICB9Ci0gICAgIGVsc2UKLUBAIC05MDEs OCArOTE4LDggQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpDb2RlKElTZXF1ZW50aWFsSW5TdHJl YW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbQotICAgICBfdW5wYWNrU2l6ZSA9IG91 dFNpemUgPyAqb3V0U2l6ZSA6IChVSW50NjQpKEludDY0KS0xOwotICAgICByZXR1cm4gQ29kZVJl YWwocHJvZ3Jlc3MpOwotICAgfQotLSAgY2F0Y2goY29uc3QgQ0luQnVmZmVyRXhjZXB0aW9uICZl KSAgeyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLS0gIGNhdGNoKC4uLikgeyByZXR1cm4gU19GQUxT RTsgfQotKyAgY2F0Y2goY29uc3QgQ0luQnVmZmVyRXhjZXB0aW9uICZlKSAgeyBfZXJyb3JNb2Rl ID0gdHJ1ZTsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0rICBjYXRjaCguLi4pIHsgX2Vycm9yTW9k ZSA9IHRydWU7IHJldHVybiBTX0ZBTFNFOyB9Ci0gICAvLyBDTmV3RXhjZXB0aW9uIGlzIHBvc3Np YmxlIGhlcmUuIEJ1dCBwcm9iYWJseSBDTmV3RXhjZXB0aW9uIGlzIGNhdXNlZAotICAgLy8gYnkg ZXJyb3IgaW4gZGF0YSBzdHJlYW0uCi0gfQotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNz L1JhcjNEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oCi1pbmRleCBj MTMwY2VjLi4yZjcyZDdkIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29k ZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotQEAgLTE5Miw2ICsx OTIsNyBAQCBjbGFzcyBDRGVjb2RlcjoKLSAgIFVJbnQzMiBfbGFzdEZpbHRlcjsKLSAKLSAgIGJv b2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgYm9vbCBfbHpNb2RlOwot ICAgYm9vbCBfdW5zdXBwb3J0ZWRGaWx0ZXI7Ci1AQCAtMjAwLDYgKzIwMSw3IEBAIGNsYXNzIENE ZWNvZGVyOgotICAgVUludDMyIFByZXZBbGlnbkNvdW50OwotIAotICAgYm9vbCBUYWJsZXNSZWFk OwotKyAgYm9vbCBUYWJsZXNPSzsKLSAKLSAgIENQcG1kNyBfcHBtZDsKLSAgIGludCBQcG1Fc2ND aGFyOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1 LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDljNGJmODFmMDAuLjAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwzMTEgKzAsMCBAQAotRnJvbTogUm9iZXJ0IEx1YmVyZGEgPHJvYmVydEBk ZWJpYW4ub3JnPgotRGF0ZTogVHVlLCAyOSBNYXkgMjAxOCAyMzo1OTowOSArMDIwMAotU3ViamVj dDogRml4IENWRS0yMDE4LTEwMTE1Ci0KLUFwcGx5ICJwYXRjaCIgdGFrZW4gZnJvbSBodHRwczov L2xhbmRhdmUuaW8vZmlsZXMvcGF0Y2hfN3ppcF9DVkUtMjAxOC0xMDExNS50eHQKLQotCi1CdWdz LURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODk3Njc0Ci0tLS0KLSBDUFAvN3ppcC9D b21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgfCAxNiArKysrKysrKysrKy0tLS0tCi0gQ1BQLzd6aXAv Q29tcHJlc3MvUmFyMURlY29kZXIuaCAgIHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MkRlY29kZXIuY3BwIHwgMTcgKysrKysrKysrKysrKy0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9S YXIyRGVjb2Rlci5oICAgfCAgMyArKy0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5j cHAgfCAxOSArKysrKysrKysrKysrKystLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29k ZXIuaCAgIHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwIHwgIDgg KysrKysrKysKLSBDUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oICAgfCAgMSArCi0gOCBm aWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXBy ZXNzL1JhcjFEZWNvZGVyLmNwcAotaW5kZXggNjgwMzBjNy4uOGM4OTBjOCAxMDA2NDQKLS0tLSBh L0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMURlY29kZXIuY3BwCi1AQCAtMjksNyArMjksNyBAQCBwdWJsaWM6Ci0gfTsKLSAqLwot IAotLUNEZWNvZGVyOjpDRGVjb2RlcigpOiBtX0lzU29saWQoZmFsc2UpLCBfZXJyb3JNb2RlKGZh bHNlKSB7IH0KLStDRGVjb2Rlcjo6Q0RlY29kZXIoKTogX2lzU29saWQoZmFsc2UpLCBfc29saWRB bGxvd2VkKGZhbHNlKSwgX2Vycm9yTW9kZShmYWxzZSkgeyB9Ci0gCi0gdm9pZCBDRGVjb2Rlcjo6 SW5pdFN0cnVjdHVyZXMoKQotIHsKLUBAIC0zNDUsNyArMzQ1LDcgQEAgdm9pZCBDRGVjb2Rlcjo6 R2V0RmxhZ3NCdWYoKQotIAotIHZvaWQgQ0RlY29kZXI6OkluaXREYXRhKCkKLSB7Ci0tICBpZiAo IW1fSXNTb2xpZCkKLSsgIGlmICghX2lzU29saWQpCi0gICB7Ci0gICAgIEF2clBsY0IgPSBBdnJM bjEgPSBBdnJMbjIgPSBBdnJMbjMgPSBOdW1IdWYgPSBCdWY2MCA9IDA7Ci0gICAgIEF2clBsYyA9 IDB4MzUwMDsKLUBAIC0zOTEsNiArMzkxLDExIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFs KElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0g ICBpZiAoaW5TaXplID09IE5VTEwgfHwgb3V0U2l6ZSA9PSBOVUxMKQotICAgICByZXR1cm4gRV9J TlZBTElEQVJHOwotIAotKyAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICBy ZXR1cm4gU19GQUxTRTsKLSsKLSsgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAgIGlmICgh bV9PdXRXaW5kb3dTdHJlYW0uQ3JlYXRlKGtIaXN0b3J5U2l6ZSkpCi0gICAgIHJldHVybiBFX09V VE9GTUVNT1JZOwotICAgaWYgKCFtX0luQml0U3RyZWFtLkNyZWF0ZSgxIDw8IDIwKSkKLUBAIC0z OTgsMTMgKzQwMywxMyBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbElu U3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotIAotICAgbV9VbnBhY2tT aXplID0gKEludDY0KSpvdXRTaXplOwotICAgbV9PdXRXaW5kb3dTdHJlYW0uU2V0U3RyZWFtKG91 dFN0cmVhbSk7Ci0tICBtX091dFdpbmRvd1N0cmVhbS5Jbml0KG1fSXNTb2xpZCk7Ci0rICBtX091 dFdpbmRvd1N0cmVhbS5Jbml0KF9pc1NvbGlkKTsKLSAgIG1fSW5CaXRTdHJlYW0uU2V0U3RyZWFt KGluU3RyZWFtKTsKLSAgIG1fSW5CaXRTdHJlYW0uSW5pdCgpOwotIAotICAgLy8gQ0NvZGVyUmVs ZWFzZXIgY29kZXJSZWxlYXNlcih0aGlzKTsKLSAgIEluaXREYXRhKCk7Ci0tICBpZiAoIW1fSXNT b2xpZCkKLSsgIGlmICghX2lzU29saWQpCi0gICB7Ci0gICAgIF9lcnJvck1vZGUgPSBmYWxzZTsK LSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLUBAIC00NzUsNiArNDgwLDcgQEAgSFJFU1VMVCBDRGVj b2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFs T3V0U3RyZWFtICoKLSAgIH0KLSAgIGlmIChtX1VucGFja1NpemUgPCAwKQotICAgICByZXR1cm4g U19GQUxTRTsKLSsgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotICAgcmV0dXJuIG1fT3V0V2luZG93 U3RyZWFtLkZsdXNoKCk7Ci0gfQotIAotQEAgLTQ5MSw3ICs0OTcsNyBAQCBTVERNRVRIT0RJTVAg Q0RlY29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIg c2l6ZSkKLSB7Ci0gICBpZiAoc2l6ZSA8IDEpCi0gICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0t ICBtX0lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSsgIF9pc1NvbGlkID0gKChkYXRh WzBdICYgMSkgIT0gMCk7Ci0gICByZXR1cm4gU19PSzsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNv ZGVyLmgKLWluZGV4IDAxYjYwNmIuLjhhYmIzYTMgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIxRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5o Ci1AQCAtMzgsNyArMzgsOCBAQCBwdWJsaWM6Ci0gICBVSW50MzIgTGFzdExlbmd0aDsKLSAKLSAg IEludDY0IG1fVW5wYWNrU2l6ZTsKLS0gIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfaXNTb2xp ZDsKLSsgIGJvb2wgX3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIFVJ bnQzMiBSZWFkQml0cyhpbnQgbnVtQml0cyk7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMkRlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1p bmRleCAwNTgwYzhkLi5iZThkODQyIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MkRlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLUBA IC04MCw3ICs4MCw4IEBAIHN0YXRpYyBjb25zdCBVSW50MzIga0hpc3RvcnlTaXplID0gMSA8PCAy MDsKLSBzdGF0aWMgY29uc3QgVUludDMyIGtXaW5kb3dSZXNlcnZTaXplID0gKDEgPDwgMjIpICsg MjU2OwotIAotIENEZWNvZGVyOjpDRGVjb2RlcigpOgotLSAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsg IF9pc1NvbGlkKGZhbHNlKSwKLSsgIF9zb2xpZEFsbG93ZWQoZmFsc2UpLAotICAgbV9UYWJsZXNP SyhmYWxzZSkKLSB7Ci0gfQotQEAgLTMyMCw2ICszMjEsMTAgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6 Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3Ry ZWFtICoKLSAgIGlmIChpblNpemUgPT0gTlVMTCB8fCBvdXRTaXplID09IE5VTEwpCi0gICAgIHJl dHVybiBFX0lOVkFMSURBUkc7Ci0gCi0rICBpZiAoX2lzU29saWQgJiYgIV9zb2xpZEFsbG93ZWQp Ci0rICAgIHJldHVybiBTX0ZBTFNFOwotKyAgX3NvbGlkQWxsb3dlZCA9IGZhbHNlOwotKwotICAg aWYgKCFtX091dFdpbmRvd1N0cmVhbS5DcmVhdGUoa0hpc3RvcnlTaXplKSkKLSAgICAgcmV0dXJu IEVfT1VUT0ZNRU1PUlk7Ci0gICBpZiAoIW1fSW5CaXRTdHJlYW0uQ3JlYXRlKDEgPDwgMjApKQot QEAgLTMzMCwxMiArMzM1LDEyIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50 aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBVSW50NjQg cG9zID0gMCwgdW5QYWNrU2l6ZSA9ICpvdXRTaXplOwotICAgCi0gICBtX091dFdpbmRvd1N0cmVh bS5TZXRTdHJlYW0ob3V0U3RyZWFtKTsKLS0gIG1fT3V0V2luZG93U3RyZWFtLkluaXQobV9Jc1Nv bGlkKTsKLSsgIG1fT3V0V2luZG93U3RyZWFtLkluaXQoX2lzU29saWQpOwotICAgbV9JbkJpdFN0 cmVhbS5TZXRTdHJlYW0oaW5TdHJlYW0pOwotICAgbV9JbkJpdFN0cmVhbS5Jbml0KCk7Ci0gCi0g ICAvLyBDQ29kZXJSZWxlYXNlciBjb2RlclJlbGVhc2VyKHRoaXMpOwotLSAgaWYgKCFtX0lzU29s aWQpCi0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBJbml0U3RydWN0dXJlcygpOwotICAg ICBpZiAodW5QYWNrU2l6ZSA9PSAwKQotQEAgLTM0Myw2ICszNDgsNyBAQCBIUkVTVUxUIENEZWNv ZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxP dXRTdHJlYW0gKgotICAgICAgIGlmIChtX0luQml0U3RyZWFtLkdldFByb2Nlc3NlZFNpemUoKSAr IDIgPD0gbV9QYWNrU2l6ZSkgLy8gdGVzdCBpdDogcHJvYmFibHkgaW5jb3JyZWN0OwotICAgICAg ICAgaWYgKCFSZWFkVGFibGVzKCkpCi0gICAgICAgICAgIHJldHVybiBTX0ZBTFNFOwotKyAgICAg IF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotICAgICAgIHJldHVybiBTX09LOwotICAgICB9Ci0gICAg IGlmICghUmVhZFRhYmxlcygpKQotQEAgLTM4Niw2ICszOTIsOSBAQCBIUkVTVUxUIENEZWNvZGVy OjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRT dHJlYW0gKgotIAotICAgaWYgKCFSZWFkTGFzdFRhYmxlcygpKQotICAgICByZXR1cm4gU19GQUxT RTsKLSsKLSsgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotKwotICAgcmV0dXJuIG1fT3V0V2luZG93 U3RyZWFtLkZsdXNoKCk7Ci0gfQotIAotQEAgLTQwMiw3ICs0MTEsNyBAQCBTVERNRVRIT0RJTVAg Q0RlY29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIg c2l6ZSkKLSB7Ci0gICBpZiAoc2l6ZSA8IDEpCi0gICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0t ICBtX0lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSsgIF9pc1NvbGlkID0gKChkYXRh WzBdICYgMSkgIT0gMCk7Ci0gICByZXR1cm4gU19PSzsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNv ZGVyLmgKLWluZGV4IDBlOTAwNWYuLjM3MGJjZTIgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIyRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5o Ci1AQCAtMTM4LDcgKzEzOCw4IEBAIGNsYXNzIENEZWNvZGVyIDoKLSAgIEJ5dGUgbV9MYXN0TGV2 ZWxzW2tNYXhUYWJsZVNpemVdOwotIAotICAgVUludDY0IG1fUGFja1NpemU7Ci0tICBib29sIG1f SXNTb2xpZDsKLSsgIGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBi b29sIG1fVGFibGVzT0s7Ci0gCi0gICB2b2lkIEluaXRTdHJ1Y3R1cmVzKCk7Ci1kaWZmIC0tZ2l0 IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyM0RlY29kZXIuY3BwCi1pbmRleCA2Y2I4YTZhLi43Yjg1ODMzIDEwMDY0NAotLS0tIGEvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9S YXIzRGVjb2Rlci5jcHAKLUBAIC05Miw3ICs5Miw4IEBAIENEZWNvZGVyOjpDRGVjb2RlcigpOgot ICAgX3dyaXR0ZW5GaWxlU2l6ZSgwKSwKLSAgIF92bURhdGEoMCksCi0gICBfdm1Db2RlKDApLAot LSAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIF9pc1NvbGlkKGZhbHNlKSwKLSsgIF9zb2xpZEFsbG93 ZWQoZmFsc2UpLAotICAgX2Vycm9yTW9kZShmYWxzZSkKLSB7Ci0gICBQcG1kN19Db25zdHJ1Y3Qo Jl9wcG1kKTsKLUBAIC04MjEsNyArODIyLDcgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwo SUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSB7Ci0gICBfd3JpdHRlbkZpbGVTaXpl ID0gMDsKLSAgIF91bnN1cHBvcnRlZEZpbHRlciA9IGZhbHNlOwotLSAgaWYgKCFtX0lzU29saWQp Ci0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBfbHpTaXplID0gMDsKLSAgICAgX3dpblBv cyA9IDA7Ci1AQCAtODQwLDEyICs4NDEsMTUgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwo SUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgIGlmIChfZXJyb3JNb2RlKQotICAg ICByZXR1cm4gU19GQUxTRTsKLSAKLS0gIGlmICghbV9Jc1NvbGlkIHx8ICFUYWJsZXNSZWFkKQot KyAgaWYgKCFfaXNTb2xpZCB8fCAhVGFibGVzUmVhZCkKLSAgIHsKLSAgICAgYm9vbCBrZWVwRGVj b21wcmVzc2luZzsKLSAgICAgUklOT0soUmVhZFRhYmxlcyhrZWVwRGVjb21wcmVzc2luZykpOwot ICAgICBpZiAoIWtlZXBEZWNvbXByZXNzaW5nKQotKyAgICB7Ci0rICAgICAgX3NvbGlkQWxsb3dl ZCA9IHRydWU7Ci0gICAgICAgcmV0dXJuIFNfT0s7Ci0rICAgIH0KLSAgIH0KLSAKLSAgIGZvciAo OzspCi1AQCAtODcwLDYgKzg3NCw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21w cmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICAgIGlmICgha2VlcERlY29tcHJlc3Npbmcp Ci0gICAgICAgYnJlYWs7Ci0gICB9Ci0rCi0rICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSsKLSAg IFJJTk9LKFdyaXRlQnVmKCkpOwotICAgVUludDY0IHBhY2tTaXplID0gbV9JbkJpdFN0cmVhbS5C aXREZWNvZGVyLkdldFByb2Nlc3NlZFNpemUoKTsKLSAgIFJJTk9LKHByb2dyZXNzLT5TZXRSYXRp b0luZm8oJnBhY2tTaXplLCAmX3dyaXR0ZW5GaWxlU2l6ZSkpOwotQEAgLTg5MCw2ICs4OTcsMTAg QEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpDb2RlKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3Ry ZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbQotICAgICBpZiAoIWluU2l6ZSkKLSAgICAgICByZXR1 cm4gRV9JTlZBTElEQVJHOwotIAotKyAgICBpZiAoX2lzU29saWQgJiYgIV9zb2xpZEFsbG93ZWQp Ci0rICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICAgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsK LSAgICAgaWYgKCFfdm1EYXRhKQotICAgICB7Ci0gICAgICAgX3ZtRGF0YSA9IChCeXRlICopOjpN aWRBbGxvYyhrVm1EYXRhU2l6ZU1heCArIGtWbUNvZGVTaXplTWF4KTsKLUBAIC05MjgsNyArOTM5 LDcgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3Qg Qnl0ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewotICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1 cm4gRV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlkID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0r ICBfaXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQot IAotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmggYi9DUFAvN3pp cC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oCi1pbmRleCAyZjcyZDdkLi4zMmM4OTQzIDEwMDY0NAot LS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyM0RlY29kZXIuaAotQEAgLTE5MSw3ICsxOTEsOCBAQCBjbGFzcyBDRGVjb2RlcjoK LSAgIENSZWNvcmRWZWN0b3I8Q1RlbXBGaWx0ZXIgKj4gIF90ZW1wRmlsdGVyczsKLSAgIFVJbnQz MiBfbGFzdEZpbHRlcjsKLSAKLS0gIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfaXNTb2xpZDsK LSsgIGJvb2wgX3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIGJvb2wg X2x6TW9kZTsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAg Yi9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAKLWluZGV4IGRjODgzMGYuLmE4MjZk NWEgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAKLSsrKyBi L0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcAotQEAgLTcyLDYgKzcyLDcgQEAgQ0Rl Y29kZXI6OkNEZWNvZGVyKCk6Ci0gICAgIF93cml0dGVuRmlsZVNpemUoMCksCi0gICAgIF9kaWN0 U2l6ZUxvZygwKSwKLSAgICAgX2lzU29saWQoZmFsc2UpLAotKyAgICBfc29saWRBbGxvd2VkKGZh bHNlKSwKLSAgICAgX3dhc0luaXQoZmFsc2UpLAotICAgICBfaW5wdXRCdWYoTlVMTCkKLSB7Ci1A QCAtODAxLDcgKzgwMiwxMCBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbCgpCi0gICAqLwot IAotICAgaWYgKHJlcyA9PSBTX09LKQotKyAgewotKyAgICBfc29saWRBbGxvd2VkID0gdHJ1ZTsK LSAgICAgcmVzID0gcmVzMjsKLSsgIH0KLSAgICAgIAotICAgaWYgKHJlcyA9PSBTX09LICYmIF91 bnBhY2tTaXplX0RlZmluZWQgJiYgX3dyaXR0ZW5GaWxlU2l6ZSAhPSBfdW5wYWNrU2l6ZSkKLSAg ICAgcmV0dXJuIFNfRkFMU0U7Ci1AQCAtODIxLDYgKzgyNSwxMCBAQCBTVERNRVRIT0RJTVAgQ0Rl Y29kZXI6OkNvZGUoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0 U3RyZWFtCi0gewotICAgdHJ5Ci0gICB7Ci0rICAgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxs b3dlZCkKLSsgICAgICByZXR1cm4gU19GQUxTRTsKLSsgICAgX3NvbGlkQWxsb3dlZCA9IGZhbHNl OwotKwotICAgICBpZiAoX2RpY3RTaXplTG9nID49IHNpemVvZihzaXplX3QpICogOCkKLSAgICAg ICByZXR1cm4gRV9OT1RJTVBMOwotIAotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1Jh cjVEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oCi1pbmRleCBiMGE0 ZGQxLi4zZGI1MDE4IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIu aAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaAotQEAgLTI3MSw2ICsyNzEs NyBAQCBjbGFzcyBDRGVjb2RlcjoKLSAgIEJ5dGUgX2RpY3RTaXplTG9nOwotICAgYm9vbCBfdGFi bGVXYXNGaWxsZWQ7Ci0gICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxvd2VkOwot ICAgYm9vbCBfd2FzSW5pdDsKLSAKLSAgIFVJbnQzMiBfcmVwc1trTnVtUmVwc107CmRpZmYgLS1n aXQgYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaCBiL3NyY3BrZ3Mv cDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBmYmJiMzM3NzM3ZTUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3Bh dGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAK LS0tLSBhL0NQUC83emlwL0FyY2hpdmUvN3ovN3pJbi5jcHAJU3VuIE5vdiAyMCAwOToyOTo0MSAy MDE2Ci0rKysgYi9DUFAvN3ppcC9BcmNoaXZlLzd6Lzd6SW4uY3BwCVN1biBOb3YgMjAgMDk6MzE6 MjIgMjAxNgotQEAgLTEwOTcsNyArMTA5Nyw4IEBAIEhSRVNVTFQgQ0luQXJjaGl2ZTo6UmVhZEFu ZERlY29kZVBhY2tlZFN0cmVhbXMoCi0gICAgICAgaWYgKENyY0NhbGMoZGF0YSwgdW5wYWNrU2l6 ZSkgIT0gZm9sZGVycy5Gb2xkZXJDUkNzLlZhbHNbaV0pCi0gICAgICAgICBUaHJvd0luY29ycmVj dCgpOwotICAgfQotLSAgSGVhZGVyc1NpemUgKz0gZm9sZGVycy5QYWNrUG9zaXRpb25zW2ZvbGRl cnMuTnVtUGFja1N0cmVhbXNdOwotKyAgaWYgKGZvbGRlcnMuUGFja1Bvc2l0aW9ucykKLSsgICAg ICBIZWFkZXJzU2l6ZSArPSBmb2xkZXJzLlBhY2tQb3NpdGlvbnNbZm9sZGVycy5OdW1QYWNrU3Ry ZWFtc107Ci0gICByZXR1cm4gU19PSzsKLSB9Ci0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlw L3BhdGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2ggYi9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZF LTIwMTctMTc5NjkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhODIwYWY3 MzA2Ny4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0x Nzk2OS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUZyb206ID0/dXRmLTg/ cT9BbnRvaW5lX0JlYXVwcj1DMz1BOT89IDxhbmFyY2F0QGRlYmlhbi5vcmc+Ci1EYXRlOiBTdW4s IDI4IEphbiAyMDE4IDIxOjE5OjUwICswMTAwCi1TdWJqZWN0OiBiYWNrcG9ydCBvZiB0aGUgQ1ZF LTIwMTctMTc5NjkgZml4IGZyb20gN3ppcCAxOC4wMC1iZXRhCi0KLS0tLQotIENQUC83emlwL0Nv bXByZXNzL1Nocmlua0RlY29kZXIuY3BwIHwgNyArKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDYg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29t cHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNvZGVy LmNwcAotaW5kZXggODBiN2U2Ny4uNGFjZGNlNSAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXBy ZXNzL1Nocmlua0RlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNv ZGVyLmNwcAotQEAgLTEyMSw3ICsxMjEsMTIgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwo SVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAg ICAgewotICAgICAgIF9zdGFja1tpKytdID0gX3N1ZmZpeGVzW2N1cl07Ci0gICAgICAgY3VyID0g X3BhcmVudHNbY3VyXTsKLS0gICAgfQotKyAgICAgIGlmIChpID49IGtOdW1JdGVtcykKLSsgICAg ICAgIGJyZWFrOwotKyAgICAgfQotKwotKyAgICBpZiAoaSA+PSBrTnVtSXRlbXMpCi0rICAgICAg YnJlYWs7Ci0gICAgIAotICAgICBfc3RhY2tbaSsrXSA9IChCeXRlKWN1cjsKLSAgICAgbGFzdENo YXIyID0gKEJ5dGUpY3VyOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcDd6aXAvdGVtcGxhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0MmUy NGFkYWY1Mi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvdGVtcGxhdGUKKysrIC9k ZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0jIFRlbXBsYXRlIGZpbGUgZm9yICdwN3ppcCcKLXBr Z25hbWU9cDd6aXAKLXZlcnNpb249MTYuMDIKLXJldmlzaW9uPTUKLXdya3NyYz0iJHtwa2duYW1l fV8ke3ZlcnNpb259IgotaG9zdG1ha2VkZXBlbmRzPSJ5YXNtIG5hc20iCi1zaG9ydF9kZXNjPSJD b21tYW5kLWxpbmUgdmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSIK LW1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCi1saWNlbnNlPSJM R1BMLTIuMS1vci1sYXRlciIKLWhvbWVwYWdlPSJodHRwOi8vcDd6aXAuc291cmNlZm9yZ2UubmV0 LyIKLWRpc3RmaWxlcz0iJHtTT1VSQ0VGT1JHRV9TSVRFfS8ke3BrZ25hbWV9LyR7cGtnbmFtZX1f JHt2ZXJzaW9ufV9zcmNfYWxsLnRhci5iejIiCi1jaGVja3N1bT01ZWIyMGFjMGUyOTQ0ZjZjYjlj MmQ1MWRkNmM0NTE4OTQxYzE4NTM0N2Q0MDg5ZWE4OTA4N2ZmZGQ2ZTIzNDFmCi0KLUNYWEZMQUdT PSItV25vLW5hcnJvd2luZyIKLQotZG9fY29uZmlndXJlKCkgewotCWNhc2UgIiRYQlBTX1RBUkdF VF9NQUNISU5FIiBpbgotCQlpNjg2KikgY3AgbWFrZWZpbGUubGludXhfeDg2X2FzbV9nY2NfNC5Y IG1ha2VmaWxlLm1hY2hpbmU7OwotCQl4ODZfNjQqKSBjcCBtYWtlZmlsZS5saW51eF9hbWQ2NF9h c20gbWFrZWZpbGUubWFjaGluZTs7Ci0JCSopIGNwIG1ha2VmaWxlLmxpbnV4X2FueV9jcHVfZ2Nj XzQuWCBtYWtlZmlsZS5tYWNoaW5lOzsKLQllc2FjCi0Jc2VkIC1lICJzLGcrKywke0NYWH0sIiAt aSBtYWtlZmlsZS5tYWNoaW5lCi0Jc2VkIC1lICJzLGdjYywke0NDfSwiIC1pIG1ha2VmaWxlLm1h Y2hpbmUKLX0KLWRvX2J1aWxkKCkgewotCW1ha2UgYWxsMyBPUFRGTEFHUz0iJENYWEZMQUdTIiAk e21ha2Vqb2JzfQotfQotZG9faW5zdGFsbCgpIHsKLQltYWtlIGluc3RhbGwgREVTVF9ESVI9IiR7 REVTVERJUn0iIERFU1RfSE9NRT0iL3VzciIgXAotCQlERVNUX01BTj0iL3Vzci9zaGFyZS9tYW4i IFwKLQkJREVTVF9TSEFSRV9ET0M9Ii91c3Ivc2hhcmUvZG9jLyR7cGtnbmFtZX0iCi0JZmluZCAk e0RFU1RESVJ9L3Vzci9zaGFyZS9kb2MvJHBrZ25hbWUgLXR5cGUgZCAtZXhlYyBjaG1vZCA3NTUg e30gXDsKLQlta2RpciAtcCAke0RFU1RESVJ9L3Vzci9zaGFyZS9saWNlbnNlcy9wN3ppcC8KLQlt diAke0RFU1RESVJ9L3Vzci9zaGFyZS9kb2MvcDd6aXAvRE9DL2NvcHlpbmcudHh0IFwKLQkgICAk e0RFU1RESVJ9L3Vzci9zaGFyZS9saWNlbnNlcy9wN3ppcC9MSUNFTlNFCi19Ci0KLXA3emlwLXVu cmFyX3BhY2thZ2UoKSB7Ci0Jc2hvcnRfZGVzYys9IiAtIFJBUiBzdXBwb3J0IgotCWxpY2Vuc2U9 ImN1c3RvbTpmcmVld2FyZSIKLQlkZXBlbmRzPSIke3NvdXJjZXBrZ30tJHt2ZXJzaW9ufV8ke3Jl dmlzaW9ufSIKLQlyZXBvc2l0b3J5PW5vbmZyZWUKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUg dXNyL2xpYi9wN3ppcC9Db2RlY3MvUmFyLnNvCi0JCXZsaWNlbnNlIERPQy91blJhckxpY2Vuc2Uu dHh0IExJQ0VOU0UKLQl9Ci19CmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwL3VwZGF0ZSBiL3Ny Y3BrZ3MvcDd6aXAvdXBkYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGVkNDZk NzRhMWEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3VwZGF0ZQorKysgL2Rldi9u dWxsCkBAIC0xICswLDAgQEAKLXBhdHRlcm49J3A3emlwX1xLWy5cZF0rJwo= --===============0784663791088234702==--