From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 77A6A337D8B; Mon, 6 Mar 2023 17:52:44 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 77A6A337D8B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1678114364; bh=6bp2no3i+Ex+FFGmZTvi4GGixIyBgO/gjMa1HYRYrdk=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=dp2JtNFdmi8GAbN+hd2OgzZ1WB0uAGSOXlXWZEY4ftwgojckk0zUTcHcJGrgDYQxm em7zV5FnY8bICpAGfK1feejc0LXIuI822LMWZLBccIyNp8MkGhNg0Pkijhe/EXVTVL J0BMDilxgDBLGdMv5n+IBofj8OfCz9xwsf63D8Sg= Received: from f173.i.mail.ru (f173.i.mail.ru [45.84.128.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 48A87258C8C for ; Mon, 6 Mar 2023 17:52:42 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 48A87258C8C Received: by f173.i.mail.ru with local (envelope-from ) id 1pZCCe-0005v0-EG; Mon, 06 Mar 2023 17:52:41 +0300 Received: by e.mail.ru with HTTP; Mon, 06 Mar 2023 17:52:40 +0300 To: =?UTF-8?B?c2VyZ29z?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16778465432029938987 X-SenderField-Remind: 0 Date: Mon, 06 Mar 2023 17:52:40 +0300 X-Priority: 3 (Normal) Message-ID: <1678114360.413595907@f173.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--314a96B6F8fBD32a356f5e85D8dCf8Ba1678114360" In-Reply-To: <874063BF-3019-4BD8-9C7A-17BC9C325FEE@tarantool.org> References: <20230208200550.48291-1-max.kokryashkin@gmail.com> <874063BF-3019-4BD8-9C7A-17BC9C325FEE@tarantool.org> X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 119C1F4DF6A9251CCCD15B701D9134D12B4ABC5B231264242A906F4320C389B2ABF6EAE57C0FACE970964D413777F14CA9C336125AC97C35FA89E49175B464925A3E3A1F90AE8952 X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE79FD8C1F0E635DA57D82A6BABE6F325ACACBFF42033827DA7BCF491FFA38154B613377AFFFEAFD2697680F9384605B9031840AE9AFD3F5D61C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE7B8387EA37EC1BE7DEA1F7E6F0F101C6723150C8DA25C47586E58E00D9D99D84E1BDDB23E98D2D38B6F1F7B995052D5CE0F24692BB462AFA66ADBC833F8B79567CC7F00164DA146DAFE8445B8C89999728AA50765F790063740F9514592BAD022389733CBF5DBD5E9C8A9BA7A39EFB766F5D81C698A659EA7CC7F00164DA146DA9985D098DBDEAEC8A6C7FFFE744CA7FBF6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA7E827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F790063735872C767BF85DA227C277FBC8AE2E8BDCE939D40DBB93CA75ECD9A6C639B01B4E70A05D1297E1BBCB5012B2E24CD356 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D3457FA942CB4462B4CA3DF53B5DCE603AC8DAD1203F4B19A385E53E84E313632BC0BF9AD0D9C0D662A1D7E09C32AA3244C080ABED437B46AE7F43F7873DB5696CE30363D8B7DA7DD44927AC6DF5659F194 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhe3k7kaFIJy8uXyH17kumgw== X-Mailru-MI: 400800 X-Mailru-Sender: 3486C3469AF023A8E23FB4C01BC07D53BDE30F8B62DC680DEF5ACD667E6659A96F2D049A396CE3BB06CD02445D2D9C8FA2BFD6D8330F0C2D563E610FBBDBB4C842051EA7CBBFB509093DA5C00B83CE8412EB40C6FA10D71EFD657A8799238ED55FEEDEB644C299C0ED14614B50AE0675 X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit_v8=5D_Fix_math=2Em?= =?utf-8?q?in=28=29/math=2Emax=28=29_inconsistencies=2E?= X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Maxim Kokryashkin via Tarantool-patches Reply-To: =?UTF-8?B?TWF4aW0gS29rcnlhc2hraW4=?= Cc: =?UTF-8?B?TWFrc2ltIEtva3J5YXNoa2lu?= , tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--314a96B6F8fBD32a356f5e85D8dCf8Ba1678114360 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpIQpUaGUgWFhYIG9uZXMgYXJlIGp1c3Qgc29tZSB1c2VmdWzCoG5vdGVzLMKgdGhlIEZJWE1F IG9uZXMKYXJlIHNvbWUgaXNzdWVzIHdpdGggTHVhSklUIHRoYXQgcmVtYWluIHVuZml4ZWQgaW4g dGhlIG1haW5saW5lLgrCoAotLQpCZXN0IHJlZ2FyZHMsCk1heGltIEtva3J5YXNoa2luCsKgCsKg Cj7CoAo+PkhpIQo+Pgo+PlRoYW5rcyBmb3IgdGhlIHBhdGNoIQo+Pgo+Pk51bWJlciBvZiBGSVhN RSBhbmQgYSBYWFggaW4gdGhlIHRlc3QgLSBkb2VzIGl0IG1lYW4gd2XigJlkIGhhdmUgcHJvYmxl bXMgaW4gQ0k/Cj4+Cj4+UmVnYXJkcywKPj5TZXJnb3MKPj7CoAo+Pj4gT24gOCBGZWIgMjAyMywg YXQgMjM6MDUsIE1ha3NpbSBLb2tyeWFzaGtpbiA8IG1heC5rb2tyeWFzaGtpbkBnbWFpbC5jb20g PiB3cm90ZToKPj4+Cj4+PiBGcm9tOiBNaWtlIFBhbGwgPG1pa2U+Cj4+Pgo+Pj4gKGNoZXJyeS1w aWNrZWQgZnJvbSBjb21taXQgMDMyMDhjODE2MmFmOWNjMDFjYTc2ZWUxNjc2Y2E3OWU1YWJlOWI2 MCkKPj4+Cj4+PiBgbWF0aC5taW4oKWAvYG1hdGgubWF4KClgIGNvdWxkIHByb2R1Y2UgZGlmZmVy ZW50IHJlc3VsdHMuCj4+PiBQcmV2aW91c2x5LCBkaXJ0eSB2YWx1ZXMgb24gdGhlIEx1YSBzdGFj ayBjb3VsZCBiZQo+Pj4gdHJlYXRlZCBhcyBhcmd1bWVudHMgdG8gYG1hdGgubWluKClgL2BtYXRo Lm1heCgpYC4KPj4+IFRoaXMgcGF0Y2ggYWRkcyBjaGVjayBmb3IgdGhlIG51bWJlciBvZiBhcmd1 bWVudHMgcHJvdmlkZWQgdG8KPj4+IG1hdGgubWluL21heCwgd2hpY2ggZml4ZXMgdGhlIGlzc3Vl Lgo+Pj4KPj4+IEFsc28sIHNldmVyYWwgZm9sZCBvcHRpbWl6YXRpb25zIHdlcmUgbW9kaWZpZWQg b3IKPj4+IGRlbGV0ZWQgZHVlIHRvIGluY29uc2lzdGVuY2llcyBiZXR3ZWVuIGNvbXBpbGVyCj4+ PiBhbmQgaW50ZXJwcmV0ZXIgb24gTmFOLXZhbHVlcy4KPj4+Cj4+PiBDaGFuZ2VzIGluIGBmb2xk X2tmb2xkX251bWFyaXRoKClgIGFsc28gcmVxdWlyZWQKPj4+IHRvIHJlcGxhY2UgdGhlIGBDQ19M Ty9DQ19ISWAgY29tcGFyaXNvbiBtb2RlcyB3aXRoIHRoZSBgQ0NfTEUvQ0NfUExgCj4+PiBvbiBh YXJjaDY0IHBsYXRmb3Jtcy4gVGhlIGlzc3VlIGlzIHRob3JvdWdobHkgZGVzY3JpYmVkIGp1c3Qg YmVmb3JlCj4+PiB0aGUgY29ycmVzcG9uZGluZyB0ZXN0Lgo+Pj4KPj4+IENoYW5nZXMgZm9yIE1J UFMgYW5kIFBQQyBhcmNoaXRlY3R1cmVzIGFyZSBvbW1pdGVkLCBkdWUgdG8gdGhlCj4+PiBhYnNl bmNlIG9mIG90aGVyIHBhdGNoZXMgdGhlIGFyZSBkZXBlbmRlbnQgb24uCj4+Pgo+Pj4gTWF4aW0g S29rcnlhc2hraW4gJiBTZXJnZXkgS2FwbHVuOgo+Pj4gKiBhZGRlZCB0aGUgZGVzY3JpcHRpb24g YW5kIHRlc3RzIGZvciB0aGUgcHJvYmxlbQo+Pj4KPj4+IFJlc29sdmVzIHRhcmFudG9vbC90YXJh bnRvb2wjNjE2Mwo+Pj4gLS0tCj4+PiBDaGFuZ2VzIGluIHY4Ogo+Pj4gLSBGaXhlZCBjb21tZW50 cyBhcyBwZXIgcmV2aWV3IGJ5IFNlcmdleQo+Pj4KPj4+IEJyYW5jaDogIGh0dHBzOi8vZ2l0aHVi LmNvbS90YXJhbnRvb2wvbHVhaml0L3RyZWUvZmNreG9yZy9naC02MTYzLW1pbi1tYXgKPj4+IFBS OiAgaHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90YXJhbnRvb2wvcHVsbC83NDU1Cj4+PiBJ c3N1ZSBmb3IgeDg2IG1pc2JlaGF2aW9yOiAgaHR0cHM6Ly9naXRodWIuY29tL0x1YUpJVC9MdWFK SVQvaXNzdWVzLzk1Nwo+Pj4gc3JjL2xqX2FzbV9hcm0uaCB8IDYgKy0KPj4+IHNyYy9sal9hc21f YXJtNjQuaCB8IDYgKy0KPj4+IHNyYy9sal9vcHRfZm9sZC5jIHwgNTMgKystLQo+Pj4gc3JjL2xq X3ZtbWF0aC5jIHwgNCArLQo+Pj4gc3JjL3ZtX2FybS5kYXNjIHwgNCArLQo+Pj4gc3JjL3ZtX2Fy bTY0LmRhc2MgfCA0ICstCj4+PiBzcmMvdm1feDY0LmRhc2MgfCAyICstCj4+PiBzcmMvdm1feDg2 LmRhc2MgfCAyICstCj4+PiB0ZXN0L3RhcmFudG9vbC10ZXN0cy9naC02MTYzLW1pbi1tYXgudGVz dC5sdWEgfCAyNjMgKysrKysrKysrKysrKysrKysrCj4+PiA5IGZpbGVzIGNoYW5nZWQsIDI5NiBp bnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkKPj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0 L3RhcmFudG9vbC10ZXN0cy9naC02MTYzLW1pbi1tYXgudGVzdC5sdWEKPj4+Cj4+PiBkaWZmIC0t Z2l0IGEvc3JjL2xqX2FzbV9hcm0uaCBiL3NyYy9sal9hc21fYXJtLmgKPj4+IGluZGV4IDhhZjE5 ZWI5Li42YWU2ZTJmMiAxMDA2NDQKPj4+IC0tLSBhL3NyYy9sal9hc21fYXJtLmgKPj4+ICsrKyBi L3NyYy9sal9hc21fYXJtLmgKPj4+IEBAIC0xNjYzLDggKzE2NjMsOCBAQCBzdGF0aWMgdm9pZCBh c21fbWluX21heChBU01TdGF0ZSAqYXMsIElSSW5zICppciwgaW50IGNjLCBpbnQgZmNjKQo+Pj4g YXNtX2ludG1pbl9tYXgoYXMsIGlyLCBjYyk7Cj4+PiB9Cj4+Pgo+Pj4gLSNkZWZpbmUgYXNtX21p bihhcywgaXIpIGFzbV9taW5fbWF4KGFzLCBpciwgQ0NfR1QsIENDX0hJKQo+Pj4gLSNkZWZpbmUg YXNtX21heChhcywgaXIpIGFzbV9taW5fbWF4KGFzLCBpciwgQ0NfTFQsIENDX0xPKQo+Pj4gKyNk ZWZpbmUgYXNtX21pbihhcywgaXIpIGFzbV9taW5fbWF4KGFzLCBpciwgQ0NfR1QsIENDX1BMKQo+ Pj4gKyNkZWZpbmUgYXNtX21heChhcywgaXIpIGFzbV9taW5fbWF4KGFzLCBpciwgQ0NfTFQsIEND X0xFKQo+Pj4KPj4+IC8qIC0tIENvbXBhcmlzb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwo+Pj4KPj4+IEBAIC0xODU2LDcgKzE4 NTYsNyBAQCBzdGF0aWMgdm9pZCBhc21faGlvcChBU01TdGF0ZSAqYXMsIElSSW5zICppcikKPj4+ IH0gZWxzZSBpZiAoKGlyLTEpLT5vID09IElSX01JTiB8fCAoaXItMSktPm8gPT0gSVJfTUFYKSB7 Cj4+PiBhcy0+Y3VyaW5zLS07IC8qIEFsd2F5cyBza2lwIHRoZSBsb3dvcmQgbWluL21heC4gKi8K Pj4+IGlmICh1c2VsbyB8fCB1c2VoaSkKPj4+IC0gYXNtX3NmcG1pbl9tYXgoYXMsIGlyLTEsIChp ci0xKS0+byA9PSBJUl9NSU4gPyBDQ19ISSA6IENDX0xPKTsKPj4+ICsgYXNtX3NmcG1pbl9tYXgo YXMsIGlyLTEsIChpci0xKS0+byA9PSBJUl9NSU4gPyBDQ19QTCA6IENDX0xFKTsKPj4+IHJldHVy bjsKPj4+ICNlbGlmIExKX0hBU0ZGSQo+Pj4gfSBlbHNlIGlmICgoaXItMSktPm8gPT0gSVJfQ09O Vikgewo+Pj4gZGlmZiAtLWdpdCBhL3NyYy9sal9hc21fYXJtNjQuaCBiL3NyYy9sal9hc21fYXJt NjQuaAo+Pj4gaW5kZXggNGFlYjUxZjMuLmZlMTk3NzAwIDEwMDY0NAo+Pj4gLS0tIGEvc3JjL2xq X2FzbV9hcm02NC5oCj4+PiArKysgYi9zcmMvbGpfYXNtX2FybTY0LmgKPj4+IEBAIC0xNTkyLDcg KzE1OTIsNyBAQCBzdGF0aWMgdm9pZCBhc21fZnBtaW5fbWF4KEFTTVN0YXRlICphcywgSVJJbnMg KmlyLCBBNjRDQyBmY2MpCj4+PiBSZWcgZGVzdCA9IChyYV9kZXN0KGFzLCBpciwgUlNFVF9GUFIp ICYgMzEpOwo+Pj4gUmVnIHJpZ2h0LCBsZWZ0ID0gcmFfYWxsb2MyKGFzLCBpciwgUlNFVF9GUFIp Owo+Pj4gcmlnaHQgPSAoKGxlZnQgPj4gOCkgJiAzMSk7IGxlZnQgJj0gMzE7Cj4+PiAtIGVtaXRf ZG5tKGFzLCBBNjRJX0ZDU0VMZCB8IEE2NEZfQ0MoZmNjKSwgZGVzdCwgbGVmdCwgcmlnaHQpOwo+ Pj4gKyBlbWl0X2RubShhcywgQTY0SV9GQ1NFTGQgfCBBNjRGX0NDKGZjYyksIGRlc3QsIHJpZ2h0 LCBsZWZ0KTsKPj4+IGVtaXRfbm0oYXMsIEE2NElfRkNNUGQsIGxlZnQsIHJpZ2h0KTsKPj4+IH0K Pj4+Cj4+PiBAQCAtMTYwNCw4ICsxNjA0LDggQEAgc3RhdGljIHZvaWQgYXNtX21pbl9tYXgoQVNN U3RhdGUgKmFzLCBJUklucyAqaXIsIEE2NENDIGNjLCBBNjRDQyBmY2MpCj4+PiBhc21faW50bWlu X21heChhcywgaXIsIGNjKTsKPj4+IH0KPj4+Cj4+PiAtI2RlZmluZSBhc21fbWF4KGFzLCBpcikg YXNtX21pbl9tYXgoYXMsIGlyLCBDQ19HVCwgQ0NfSEkpCj4+PiAtI2RlZmluZSBhc21fbWluKGFz LCBpcikgYXNtX21pbl9tYXgoYXMsIGlyLCBDQ19MVCwgQ0NfTE8pCj4+PiArI2RlZmluZSBhc21f bWluKGFzLCBpcikgYXNtX21pbl9tYXgoYXMsIGlyLCBDQ19MVCwgQ0NfUEwpCj4+PiArI2RlZmlu ZSBhc21fbWF4KGFzLCBpcikgYXNtX21pbl9tYXgoYXMsIGlyLCBDQ19HVCwgQ0NfTEUpCj4+Pgo+ Pj4gLyogLS0gQ29tcGFyaXNvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL3NyYy9sal9vcHRf Zm9sZC5jIGIvc3JjL2xqX29wdF9mb2xkLmMKPj4+IGluZGV4IDQ5Zjc0OTk2Li4yN2U0ODlhZiAx MDA2NDQKPj4+IC0tLSBhL3NyYy9sal9vcHRfZm9sZC5jCj4+PiArKysgYi9zcmMvbGpfb3B0X2Zv bGQuYwo+Pj4gQEAgLTE3OTcsOCArMTc5Nyw2IEBAIExKRk9MREYocmVhc3NvY19pbnRhcml0aF9r NjQpCj4+PiAjZW5kaWYKPj4+IH0KPj4+Cj4+PiAtTEpGT0xEKE1JTiBNSU4gYW55KQo+Pj4gLUxK Rk9MRChNQVggTUFYIGFueSkKPj4+IExKRk9MRChCQU5EIEJBTkQgYW55KQo+Pj4gTEpGT0xEKEJP UiBCT1IgYW55KQo+Pj4gTEpGT0xERihyZWFzc29jX2R1cCkKPj4+IEBAIC0xODA4LDYgKzE4MDYs MTUgQEAgTEpGT0xERihyZWFzc29jX2R1cCkKPj4+IHJldHVybiBORVhURk9MRDsKPj4+IH0KPj4+ Cj4+PiArTEpGT0xEKE1JTiBNSU4gYW55KQo+Pj4gK0xKRk9MRChNQVggTUFYIGFueSkKPj4+ICtM SkZPTERGKHJlYXNzb2NfZHVwX21pbm1heCkKPj4+ICt7Cj4+PiArIGlmIChmaW5zLT5vcDIgPT0g ZmxlZnQtPm9wMikKPj4+ICsgcmV0dXJuIExFRlRGT0xEOyAvKiAoYSBvIGIpIG8gYiA9PT4gYSBv IGIgKi8KPj4+ICsgcmV0dXJuIE5FWFRGT0xEOwo+Pj4gK30KPj4+ICsKPj4+IExKRk9MRChCWE9S IEJYT1IgYW55KQo+Pj4gTEpGT0xERihyZWFzc29jX2J4b3IpCj4+PiB7Cj4+PiBAQCAtMTg0Niwy MyArMTg1MywxMiBAQCBMSkZPTERGKHJlYXNzb2Nfc2hpZnQpCj4+PiByZXR1cm4gTkVYVEZPTEQ7 Cj4+PiB9Cj4+Pgo+Pj4gLUxKRk9MRChNSU4gTUlOIEtOVU0pCj4+PiAtTEpGT0xEKE1BWCBNQVgg S05VTSkKPj4+IExKRk9MRChNSU4gTUlOIEtJTlQpCj4+PiBMSkZPTEQoTUFYIE1BWCBLSU5UKQo+ Pj4gTEpGT0xERihyZWFzc29jX21pbm1heF9rKQo+Pj4gewo+Pj4gSVJJbnMgKmlyayA9IElSKGZs ZWZ0LT5vcDIpOwo+Pj4gLSBpZiAoaXJrLT5vID09IElSX0tOVU0pIHsKPj4+IC0gbHVhX051bWJl ciBhID0gaXJfa251bShpcmspLT5uOwo+Pj4gLSBsdWFfTnVtYmVyIHkgPSBsal92bV9mb2xkYXJp dGgoYSwga251bXJpZ2h0LCBmaW5zLT5vIC0gSVJfQUREKTsKPj4+IC0gaWYgKGEgPT0geSkgLyog KHggbyBrMSkgbyBrMiA9PT4geCBvIGsxLCBpZiAoazEgbyBrMikgPT0gazEuICovCj4+PiAtIHJl dHVybiBMRUZURk9MRDsKPj4+IC0gUEhJQkFSUklFUihmbGVmdCk7Cj4+PiAtIGZpbnMtPm9wMSA9 IGZsZWZ0LT5vcDE7Cj4+PiAtIGZpbnMtPm9wMiA9IChJUlJlZjEpbGpfaXJfa251bShKLCB5KTsK Pj4+IC0gcmV0dXJuIFJFVFJZRk9MRDsgLyogKHggbyBrMSkgbyBrMiA9PT4geCBvIChrMSBvIGsy KSAqLwo+Pj4gLSB9IGVsc2UgaWYgKGlyay0+byA9PSBJUl9LSU5UKSB7Cj4+PiArIGlmIChpcmst Pm8gPT0gSVJfS0lOVCkgewo+Pj4gaW50MzJfdCBhID0gaXJrLT5pOwo+Pj4gaW50MzJfdCB5ID0g a2ZvbGRfaW50b3AoYSwgZnJpZ2h0LT5pLCBmaW5zLT5vKTsKPj4+IGlmIChhID09IHkpIC8qICh4 IG8gazEpIG8gazIgPT0+IHggbyBrMSwgaWYgKGsxIG8gazIpID09IGsxLiAqLwo+Pj4gQEAgLTE4 NzUsMjQgKzE4NzEsNiBAQCBMSkZPTERGKHJlYXNzb2NfbWlubWF4X2spCj4+PiByZXR1cm4gTkVY VEZPTEQ7Cj4+PiB9Cj4+Pgo+Pj4gLUxKRk9MRChNSU4gTUFYIGFueSkKPj4+IC1MSkZPTEQoTUFY IE1JTiBhbnkpCj4+PiAtTEpGT0xERihyZWFzc29jX21pbm1heF9sZWZ0KQo+Pj4gLXsKPj4+IC0g aWYgKGZpbnMtPm9wMiA9PSBmbGVmdC0+b3AxIHx8IGZpbnMtPm9wMiA9PSBmbGVmdC0+b3AyKQo+ Pj4gLSByZXR1cm4gUklHSFRGT0xEOyAvKiAoYiBvMSBhKSBvMiBiID09PiBiOyAoYSBvMSBiKSBv MiBiID09PiBiICovCj4+PiAtIHJldHVybiBORVhURk9MRDsKPj4+IC19Cj4+PiAtCj4+PiAtTEpG T0xEKE1JTiBhbnkgTUFYKQo+Pj4gLUxKRk9MRChNQVggYW55IE1JTikKPj4+IC1MSkZPTERGKHJl YXNzb2NfbWlubWF4X3JpZ2h0KQo+Pj4gLXsKPj4+IC0gaWYgKGZpbnMtPm9wMSA9PSBmcmlnaHQt Pm9wMSB8fCBmaW5zLT5vcDEgPT0gZnJpZ2h0LT5vcDIpCj4+PiAtIHJldHVybiBMRUZURk9MRDsg LyogYSBvMiAoYSBvMSBiKSA9PT4gYTsgYSBvMiAoYiBvMSBhKSA9PT4gYSAqLwo+Pj4gLSByZXR1 cm4gTkVYVEZPTEQ7Cj4+PiAtfQo+Pj4gLQo+Pj4gLyogLS0gQXJyYXkgYm91bmRzIGNoZWNrIGVs aW1pbmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCj4+Pgo+ Pj4gLyogRWxpbWluYXRlIEFCQyBhY3Jvc3MgUEhJcyB0byBoYW5kbGUgdFtpLTFdIGZvcndhcmRp bmcgY2FzZS4KPj4+IEBAIC0yMDE4LDggKzE5OTYsNiBAQCBMSkZPTERGKGNvbW1fY29tcCkKPj4+ Cj4+PiBMSkZPTEQoQkFORCBhbnkgYW55KQo+Pj4gTEpGT0xEKEJPUiBhbnkgYW55KQo+Pj4gLUxK Rk9MRChNSU4gYW55IGFueSkKPj4+IC1MSkZPTEQoTUFYIGFueSBhbnkpCj4+PiBMSkZPTERGKGNv bW1fZHVwKQo+Pj4gewo+Pj4gaWYgKGZpbnMtPm9wMSA9PSBmaW5zLT5vcDIpIC8qIHggbyB4ID09 PiB4ICovCj4+PiBAQCAtMjAyNyw2ICsyMDAzLDE1IEBAIExKRk9MREYoY29tbV9kdXApCj4+PiBy ZXR1cm4gZm9sZF9jb21tX3N3YXAoSik7Cj4+PiB9Cj4+Pgo+Pj4gK0xKRk9MRChNSU4gYW55IGFu eSkKPj4+ICtMSkZPTEQoTUFYIGFueSBhbnkpCj4+PiArTEpGT0xERihjb21tX2R1cF9taW5tYXgp Cj4+PiArewo+Pj4gKyBpZiAoZmlucy0+b3AxID09IGZpbnMtPm9wMikgLyogeCBvIHggPT0+IHgg Ki8KPj4+ICsgcmV0dXJuIExFRlRGT0xEOwo+Pj4gKyByZXR1cm4gTkVYVEZPTEQ7Cj4+PiArfQo+ Pj4gKwo+Pj4gTEpGT0xEKEJYT1IgYW55IGFueSkKPj4+IExKRk9MREYoY29tbV9ieG9yKQo+Pj4g ewo+Pj4gZGlmZiAtLWdpdCBhL3NyYy9sal92bW1hdGguYyBiL3NyYy9sal92bW1hdGguYwo+Pj4g aW5kZXggYzA0NDU5YmQuLmFlNGUwZjE1IDEwMDY0NAo+Pj4gLS0tIGEvc3JjL2xqX3ZtbWF0aC5j Cj4+PiArKysgYi9zcmMvbGpfdm1tYXRoLmMKPj4+IEBAIC00OSw4ICs0OSw4IEBAIGRvdWJsZSBs al92bV9mb2xkYXJpdGgoZG91YmxlIHgsIGRvdWJsZSB5LCBpbnQgb3ApCj4+PiBjYXNlIElSX0FC UyAtIElSX0FERDogcmV0dXJuIGZhYnMoeCk7IGJyZWFrOwo+Pj4gI2lmIExKX0hBU0pJVAo+Pj4g Y2FzZSBJUl9MREVYUCAtIElSX0FERDogcmV0dXJuIGxkZXhwKHgsIChpbnQpeSk7IGJyZWFrOwo+ Pj4gLSBjYXNlIElSX01JTiAtIElSX0FERDogcmV0dXJuIHggPiB5ID8geSA6IHg7IGJyZWFrOwo+ Pj4gLSBjYXNlIElSX01BWCAtIElSX0FERDogcmV0dXJuIHggPCB5ID8geSA6IHg7IGJyZWFrOwo+ Pj4gKyBjYXNlIElSX01JTiAtIElSX0FERDogcmV0dXJuIHggPCB5ID8geCA6IHk7IGJyZWFrOwo+ Pj4gKyBjYXNlIElSX01BWCAtIElSX0FERDogcmV0dXJuIHggPiB5ID8geCA6IHk7IGJyZWFrOwo+ Pj4gI2VuZGlmCj4+PiBkZWZhdWx0OiByZXR1cm4geDsKPj4+IH0KPj4+IGRpZmYgLS1naXQgYS9z cmMvdm1fYXJtLmRhc2MgYi9zcmMvdm1fYXJtLmRhc2MKPj4+IGluZGV4IGEyOTI5MmYxLi44OWZh YTAzZSAxMDA2NDQKPj4+IC0tLSBhL3NyYy92bV9hcm0uZGFzYwo+Pj4gKysrIGIvc3JjL3ZtX2Fy bS5kYXNjCj4+PiBAQCAtMTcxOCw4ICsxNzE4LDggQEAgc3RhdGljIHZvaWQgYnVpbGRfc3Vicm91 dGluZXMoQnVpbGRDdHggKmN0eCkKPj4+IHwuZW5kaWYKPj4+IHwuZW5kbWFjcm8KPj4+IHwKPj4+ IC0gfCBtYXRoX21pbm1heCBtYXRoX21pbiwgZ3QsIGhpCj4+PiAtIHwgbWF0aF9taW5tYXggbWF0 aF9tYXgsIGx0LCBsbwo+Pj4gKyB8IG1hdGhfbWlubWF4IG1hdGhfbWluLCBndCwgcGwKPj4+ICsg fCBtYXRoX21pbm1heCBtYXRoX21heCwgbHQsIGxlCj4+PiB8Cj4+PiB8Ly8tLSBTdHJpbmcgbGli cmFyeSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+Pj4gfAo+Pj4gZGlmZiAtLWdpdCBhL3NyYy92bV9hcm02NC5kYXNjIGIvc3JjL3ZtX2FybTY0 LmRhc2MKPj4+IGluZGV4IGY1MTdhODA4Li4yYzFiYjRmOCAxMDA2NDQKPj4+IC0tLSBhL3NyYy92 bV9hcm02NC5kYXNjCj4+PiArKysgYi9zcmMvdm1fYXJtNjQuZGFzYwo+Pj4gQEAgLTE0OTQsOCAr MTQ5NCw4IEBAIHN0YXRpYyB2b2lkIGJ1aWxkX3N1YnJvdXRpbmVzKEJ1aWxkQ3R4ICpjdHgpCj4+ PiB8IGIgPDYKPj4+IHwuZW5kbWFjcm8KPj4+IHwKPj4+IC0gfCBtYXRoX21pbm1heCBtYXRoX21p biwgZ3QsIGhpCj4+PiAtIHwgbWF0aF9taW5tYXggbWF0aF9tYXgsIGx0LCBsbwo+Pj4gKyB8IG1h dGhfbWlubWF4IG1hdGhfbWluLCBndCwgcGwKPj4+ICsgfCBtYXRoX21pbm1heCBtYXRoX21heCwg bHQsIGxlCj4+PiB8Cj4+PiB8Ly8tLSBTdHJpbmcgbGlicmFyeSAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+Pj4gfAo+Pj4gZGlmZiAtLWdpdCBh L3NyYy92bV94NjQuZGFzYyBiL3NyYy92bV94NjQuZGFzYwo+Pj4gaW5kZXggNTlmMTE3YmEuLmZh ZWI1MTgxIDEwMDY0NAo+Pj4gLS0tIGEvc3JjL3ZtX3g2NC5kYXNjCj4+PiArKysgYi9zcmMvdm1f eDY0LmRhc2MKPj4+IEBAIC0xODk2LDcgKzE4OTYsNyBAQCBzdGF0aWMgdm9pZCBidWlsZF9zdWJy b3V0aW5lcyhCdWlsZEN0eCAqY3R4KQo+Pj4gfCBqbXAgLT5mZmZfcmVzCj4+PiB8Cj4+PiB8Lm1h Y3JvIG1hdGhfbWlubWF4LCBuYW1lLCBjbW92b3AsIHNzZW9wCj4+PiAtIHwgLmZmdW5jIG5hbWUK Pj4+ICsgfCAuZmZ1bmNfMSBuYW1lCj4+PiB8IG1vdiBSQWQsIDIKPj4+IHwuaWYgRFVBTE5VTQo+ Pj4gfCBtb3YgUkIsIFtCQVNFXQo+Pj4gZGlmZiAtLWdpdCBhL3NyYy92bV94ODYuZGFzYyBiL3Ny Yy92bV94ODYuZGFzYwo+Pj4gaW5kZXggZjdmZmU1ZDIuLjFjOTk1ZDE2IDEwMDY0NAo+Pj4gLS0t IGEvc3JjL3ZtX3g4Ni5kYXNjCj4+PiArKysgYi9zcmMvdm1feDg2LmRhc2MKPj4+IEBAIC0yMzIx LDcgKzIzMjEsNyBAQCBzdGF0aWMgdm9pZCBidWlsZF9zdWJyb3V0aW5lcyhCdWlsZEN0eCAqY3R4 KQo+Pj4gfCB4b3JwcyB4bW00LCB4bW00OyBqbXAgPDEgLy8gUmV0dXJuICstSW5mIGFuZCArLTAu Cj4+PiB8Cj4+PiB8Lm1hY3JvIG1hdGhfbWlubWF4LCBuYW1lLCBjbW92b3AsIHNzZW9wCj4+PiAt IHwgLmZmdW5jIG5hbWUKPj4+ICsgfCAuZmZ1bmNfMSBuYW1lCj4+PiB8IG1vdiBSQSwgMgo+Pj4g fCBjbXAgZHdvcmQgW0JBU0UrNF0sIExKX1RJU05VTQo+Pj4gfC5pZiBEVUFMTlVNCj4+PiBkaWZm IC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvZ2gtNjE2My1taW4tbWF4LnRlc3QubHVhIGIv dGVzdC90YXJhbnRvb2wtdGVzdHMvZ2gtNjE2My1taW4tbWF4LnRlc3QubHVhCj4+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+Pj4gaW5kZXggMDAwMDAwMDAuLmZiN2E0MDU4Cj4+PiAtLS0gL2Rldi9u dWxsCj4+PiArKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9naC02MTYzLW1pbi1tYXgudGVzdC5s dWEKPj4+IEBAIC0wLDAgKzEsMjYzIEBACj4+PiArbG9jYWwgdGFwID0gcmVxdWlyZSgndGFwJykK Pj4+ICtsb2NhbCB0ZXN0ID0gdGFwLnRlc3QoJ2doLTYxNjMtaml0LW1pbi1tYXgnKQo+Pj4gK2xv Y2FsIHg4Nl82NCA9IGppdC5hcmNoID09ICd4ODYnIG9yIGppdC5hcmNoID09ICd4NjQnCj4+PiAr dGVzdDpwbGFuKDE4KQo+Pj4gKy0tCj4+PiArLS0gZ2gtNjE2MzogbWF0aC5taW4vbWF0aC5tYXgg aW5jb25zaXN0ZW5jaWVzLgo+Pj4gKy0tCj4+PiArCj4+PiArbG9jYWwgZnVuY3Rpb24gaXNuYW4o eCkKPj4+ICsgcmV0dXJuIHggfj0geAo+Pj4gK2VuZAo+Pj4gKwo+Pj4gK2xvY2FsIGZ1bmN0aW9u IGFycmF5X2lzX2NvbnNpc3RlbnQocmVzKQo+Pj4gKyBmb3IgaSA9IDEsICNyZXMgLSAxIGRvCj4+ PiArIGlmIHJlc1tpXSB+PSByZXNbaSArIDFdIGFuZCBub3QgKGlzbmFuKHJlc1tpXSkgYW5kIGlz bmFuKHJlc1tpICsgMV0pKSB0aGVuCj4+PiArIHJldHVybiBmYWxzZQo+Pj4gKyBlbmQKPj4+ICsg ZW5kCj4+PiArIHJldHVybiB0cnVlCj4+PiArZW5kCj4+PiArCj4+PiArLS0gVGhpcyBmdW5jdGlv biBjcmVhdGVzIGRpcnR5IHZhbHVlcyBvbiB0aGUgTHVhIHN0YWNrLgo+Pj4gKy0tIFRoZSBsYXR0 ZXIgb2YgdGhlbSBpcyBnb2luZyB0byBiZSB0cmVhdGVkIGFzIGFuCj4+PiArLS0gYXJndW1lbnQg YnkgdGhlIGBtYXRoLm1pbi9tYXRoLm1heGAuCj4+PiArLS0gVGhlIGZpcnN0IHR3byBvZiB0aGVt IGFyZSBnb2luZyB0byBiZSBvdmVyd3JpdHRlbgo+Pj4gKy0tIGJ5IHRoZSBtYXRoIGZ1bmN0aW9u IGl0c2VsZi4KPj4+ICtsb2NhbCBmdW5jdGlvbiBmaWxsZXIoKQo+Pj4gKyByZXR1cm4gMSwgMSwg MQo+Pj4gK2VuZAo+Pj4gKwo+Pj4gK2xvY2FsIG1pbiA9IG1hdGgubWluCj4+PiArbG9jYWwgbWF4 ID0gbWF0aC5tYXgKPj4+ICsKPj4+ICstLSBJdCB3b3VsZCBiZSBlbm91Z2ggdG8gdGVzdCBhbGwg Y2FzZXMgZm9yIHRoZQo+Pj4gKy0tIGBtYXRoLm1pbigpYCBvciBmb3IgdGhlIGBtYXRoLm1heCgp YCBvbmx5LCBiZWNhdXNlIHRoZQo+Pj4gKy0tIHByb2JsZW0gd2FzIGluIHRoZSBjb21tb24gY29k ZS4gSG93ZXZlciwgd2Ugc2hvdWxkbid0Cj4+PiArLS0gbWFrZSBzdWNoIGFzc3VtcHRpb25zIGlu IHRoZSB0ZXN0aW5nIGNvZGUuCj4+PiArCj4+PiArLS0gYG1hdGgubWluKCkvbWF0aC5tYXgoKWAg c2hvdWxkIHJhaXNlIGFuIGVycm9yIHdoZW4KPj4+ICstLSBjYWxsZWQgd2l0aCBubyBhcmd1bWVu dHMuCj4+PiArZmlsbGVyKCkKPj4+ICtsb2NhbCByLCBfID0gcGNhbGwoZnVuY3Rpb24oKSBtaW4o KSBlbmQpCj4+PiArdGVzdDpvayhub3QgciwgJ21hdGgubWluIGZhaWxzIHdpdGggbm8gYXJncycp Cj4+PiArCj4+PiArZmlsbGVyKCkKPj4+ICtyLCBfID0gcGNhbGwoZnVuY3Rpb24oKSBtYXgoKSBl bmQpCj4+PiArdGVzdDpvayhmYWxzZSA9PSByLCAnbWF0aC5tYXggZmFpbHMgd2l0aCBubyBhcmdz JykKPj4+ICsKPj4+ICtsb2NhbCBuYW4gPSAwLzAKPj4+ICtsb2NhbCB4ID0gMQo+Pj4gKwo+Pj4g K2ppdC5vcHQuc3RhcnQoJ2hvdGxvb3A9MScpCj4+PiArCj4+PiArLS0gWFhYOiBMb29waW5nIG92 ZXIgdGhlIG9wZXJhdGlvbnMgYW5kIHRoZWlyIGFyZ3VtZW50cyBicmVha2VzIHRoZQo+Pj4gKy0t IHNlbWFudGljcyBvZiBzb21lIG9wdGltaXphdGlvbiB0ZXN0cyBiZWxvdy4gVGhlIGNhc2VzIGFy ZQo+Pj4gKy0tIGNvcHktcGFzdGVkIHRvIHByZXNlcnZlIG9wdGltaXphdGlvbiBzZW1hbnRpY3Mu Cj4+PiArCj4+PiArLS0gV2l0aG91dCB0aGUgYChhIG8gYikgbyBhID09PiBhIG8gYmAgZm9sZCBv cHRpbWl6YXRpb24gZm9yCj4+PiArLS0gYG1hdGgubWluKCkvbWF0aC5tYXgoKWAgdGhlIGZvbGxv d2luZyBtY29kZSBpcyBlbWl0dGVkIG9uIGFhcmNoNjQKPj4+ICstLSBmb3IgdGhlIGBtYXRoLm1p bihtYXRoLm1pbih4LCBuYW4pLCB4KWAgZXhwcmVzc2lvbjoKPj4+ICstLQo+Pj4gKy0tIHwgZmNt cCBkMiwgZDMgOyBmY21wIDEuMCwgbmFuCj4+PiArLS0gfCBmY3NlbCBkMSwgZDIsIGQzLCBjYyA7 IGQxID09IG5hbiBhZnRlciB0aGlzIGluc3RydWN0aW9uCj4+PiArLS0gfCAuLi4KPj4+ICstLSB8 IGZjbXAgZDEsIGQyIDsgZmNtcCBuYW4sIDEuMAo+Pj4gKy0tIHwgZmNzZWwgZDAsIGQxLCBkMiwg Y2MgOyBkMCA9PSAxLjAgYWZ0ZXIgdGhpcyBpbnN0cnVjdGlvbgo+Pj4gKy0tCj4+PiArLS0gQWNj b3JkaW5nIHRvIHRoZSBgZmNtcGAgZG9jc1sxXSwgaWYgZWl0aGVyIG9mIHRoZSBvcGVyYW5kcyBp cyBOYU4sCj4+PiArLS0gdGhlbiB0aGUgb3BlcmFuZHMgYXJlIHVub3JkZXJlZC4gSXQgcmVzdWx0 cyBpbiB0aGUgZm9sbG93aW5nIHN0YXRlCj4+PiArLS0gb2YgdGhlIGZsYWdzIHJlZ2lzdGVyOiBO PTAsIFo9MCwgQz0xLCBWPTEKPj4+ICstLQo+Pj4gKy0tIEFjY29yZGluZyB0byB0aGUgYGZjc2Vs YCBkb2NzWzJdLCBpZiB0aGUgY29uZGl0aW9uIGlzIG1ldCwgdGhlbgo+Pj4gKy0tIHRoZSBmaXJz dCByZWdpc3RlciB2YWx1ZSBpcyB0YWtlbiwgb3RoZXJ3aXNlIC0tIHRoZSBzZWNvbmQuCj4+PiAr LS0gSW4gb3VyIGNhc2UsIHRoZSBjb25kaXRpb24gaXMgY2MsIHdoaWNoIG1lYW5zIHRoYXQgdGhl IGBDYCBmbGFnCj4+PiArLS0gc2hvdWxkIGJlIGNsZWFyWzNdLCB3aGljaCBpcyBmYWxzZS4gVGhl biwgdGhlIHNlY29uZCB2YWx1ZSBpcyB0YWtlbiwKPj4+ICstLSB3aGljaCBpcyBgTmFOYCBmb3Ig dGhlIGZpcnN0IGBmY21wYC1gZmNzZWxgIHBhaXIsIGFuZCBgMS4wYCBmb3IKPj4+ICstLSB0aGUg c2Vjb25kLgo+Pj4gKy0tCj4+PiArLS0gSWYgdGhhdCBmb2xkIG9wdGltaXphdGlvbiBpcyBhcHBs aWVkLCB0aGVuIG9ubHkgdGhlIGZpcnN0IGBmY21wYC1gZmNzZWxgCj4+PiArLS0gcGFpciBpcyBl bWl0dGVkLCBhbmQgdGhlIHJlc3VsdCBpcyBgTmFOYCwgd2hpY2ggaXMgaW5jb25zaXN0ZW50IHdp dGgKPj4+ICstLSB0aGUgcmVzdWx0IG9mIHRoZSBub24tb3B0aW1pemVkIG1jb2RlLgo+Pj4gKy0t Cj4+PiArLS0gWzFdOiAgaHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2R1 aTA4MDEvZy9BNjQtRmxvYXRpbmctcG9pbnQtSW5zdHJ1Y3Rpb25zL0ZDTVAKPj4+ICstLSBbMl06 ICBodHRwczovL2RldmVsb3Blci5hcm0uY29tL2RvY3VtZW50YXRpb24vMTAwMDY5LzA2MDgvQTY0 LUZsb2F0aW5nLXBvaW50LUluc3RydWN0aW9ucy9GQ1NFTAo+Pj4gKy0tIFszXTogIGh0dHBzOi8v ZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi9kdWkwMDY4L2IvQVJNLUluc3RydWN0aW9u LVJlZmVyZW5jZS9Db25kaXRpb25hbC1leGVjdXRpb24KPj4+ICsKPj4+ICtsb2NhbCByZXN1bHQg PSB7fQo+Pj4gK2ZvciBrID0gMSwgNCBkbwo+Pj4gKyByZXN1bHRba10gPSBtaW4obWluKHgsIG5h biksIHgpCj4+PiArZW5kCj4+PiArLS0gZXhwZWN0ZWQ6IDEgMSAxIDEKPj4+ICt0ZXN0Om9rKGFy cmF5X2lzX2NvbnNpc3RlbnQocmVzdWx0KSwgJ21hdGgubWluOiByZWFzc29jX2R1cCcpCj4+PiAr Cj4+PiArcmVzdWx0ID0ge30KPj4+ICtmb3IgayA9IDEsIDQgZG8KPj4+ICsgcmVzdWx0W2tdID0g bWF4KG1heCh4LCBuYW4pLCB4KQo+Pj4gK2VuZAo+Pj4gKy0tIGV4cGVjdGVkOiAxIDEgMSAxCj4+ PiArdGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCksICdtYXRoLm1heDogcmVhc3Nv Y19kdXAnKQo+Pj4gKwo+Pj4gKy0tIElmIG9uZSBnZXRzIHRoZSBleHByZXNzaW9uIGxpa2UgYG1h dGgubWluKHgsIG1hdGgubWluKHgsIG5hbikpYCwKPj4+ICstLSBhbmQgdGhlIGBjb21tX2R1cGAg b3B0aW1pemF0aW9uIGlzIGFwcGxpZWQsIGl0IHJlc3VsdHMgaW4gdGhlCj4+PiArLS0gc2FtZSBz aXR1YXRpb24gYXMgZXhwbGFpbmVkIGFib3ZlLiBXaXRoIHRoZSBgY29tbV9kdXBfbWlubWF4YAo+ Pj4gKy0tIHRoZXJlIGlzIG5vIHN3YXAsIGhlbmNlLCBldmVyeXRoaW5nIGlzIGNvbnNpc3RlbnQg YWdhaW46Cj4+PiArLS0KPj4+ICstLSB8IGZjbXAgZDIsIGQzIDsgZmNtcCAxLjAsIG5hbgo+Pj4g Ky0tIHwgZmNzZWwgZDEsIGQzLCBkMiwgcGwgOyBkMSA9PSBuYW4gYWZ0ZXIgdGhpcyBpbnN0cnVj dGlvbgo+Pj4gKy0tIHwgLi4uCj4+PiArLS0gfCBmY21wIGQyLCBkMSA7IGZjbXAgMS4wLCBuYW4K Pj4+ICstLSB8IGZjc2VsIGQwLCBkMSwgZDIsIHBsIDsgZDAgPT0gbmFuIGFmdGVyIHRoaXMgaW5z dHJ1Y3Rpb24KPj4+ICstLSBgcGxgIChha2EgYENDX1BMYCkgY29uZGl0aW9uIG1lYW5zIHRoYXQg TiBmbGFnIGlzIDAgWzJdLCB0aGF0Cj4+PiArLS0gaXMgdHJ1ZSB3aGVuIHdlIGFyZSBjb21wYXJp bmcgc29tZXRoaW5nIHdpdGggTmFOLiBTbywgdGhlIHZhbHVlIG9mIHRoZQo+Pj4gKy0tIGZpcnN0 IHNvdXJjZSByZWdpc3RlciBpcyB0YWtlbgo+Pj4gKwo+Pj4gK3Jlc3VsdCA9IHt9Cj4+PiArZm9y IGsgPSAxLCA0IGRvCj4+PiArIHJlc3VsdFtrXSA9IG1pbih4LCBtaW4oeCwgbmFuKSkKPj4+ICtl bmQKPj4+ICstLSBGSVhNRTogcmVzdWx0cyBhcmUgc3RpbGwgaW5jb25zaXN0ZW50IGZvciB0aGUg eDg2LzY0IGFyY2hpdGVjdHVyZS4KPj4+ICstLSBleHBlY3RlZDogbmFuIG5hbiBuYW4gbmFuCj4+ PiArdGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCkgb3IgeDg2XzY0LCAnbWF0aC5t aW46IGNvbW1fZHVwX21pbm1heCcpCj4+PiArCj4+PiArcmVzdWx0ID0ge30KPj4+ICtmb3IgayA9 IDEsIDQgZG8KPj4+ICsgcmVzdWx0W2tdID0gbWF4KHgsIG1heCh4LCBuYW4pKQo+Pj4gK2VuZAo+ Pj4gKy0tIEZJWE1FOiByZXN1bHRzIGFyZSBzdGlsbCBpbmNvbnNpc3RlbnQgZm9yIHRoZSB4ODYv NjQgYXJjaGl0ZWN0dXJlLgo+Pj4gKy0tIGV4cGVjdGVkOiBuYW4gbmFuIG5hbiBuYW4KPj4+ICt0 ZXN0Om9rKGFycmF5X2lzX2NvbnNpc3RlbnQocmVzdWx0KSBvciB4ODZfNjQsICdtYXRoLm1heDog Y29tbV9kdXBfbWlubWF4JykKPj4+ICsKPj4+ICstLSBUaGUgZm9sbG93aW5nIG9wdGltaXphdGlv biBzaG91bGQgYmUgZGlzYWJsZWQ6Cj4+PiArLS0gKHggbyBrMSkgbyBrMiA9PT4geCBvIChrMSBv IGsyKQo+Pj4gKwo+Pj4gK3ggPSAxLjIKPj4+ICtyZXN1bHQgPSB7fQo+Pj4gK2ZvciBrID0gMSwg NCBkbwo+Pj4gKyByZXN1bHRba10gPSBtaW4obWluKHgsIDAvMCksIDEuMykKPj4+ICtlbmQKPj4+ ICstLSBleHBlY3RlZDogMS4zIDEuMyAxLjMgMS4zCj4+PiArdGVzdDpvayhhcnJheV9pc19jb25z aXN0ZW50KHJlc3VsdCksICdtYXRoLm1pbjogcmVhc3NvY19taW5tYXhfaycpCj4+PiArCj4+PiAr cmVzdWx0ID0ge30KPj4+ICtmb3IgayA9IDEsIDQgZG8KPj4+ICsgcmVzdWx0W2tdID0gbWF4KG1h eCh4LCAwLzApLCAxLjEpCj4+PiArZW5kCj4+PiArLS0gZXhwZWN0ZWQ6IDEuMSAxLjEgMS4xIDEu MQo+Pj4gK3Rlc3Q6b2soYXJyYXlfaXNfY29uc2lzdGVudChyZXN1bHQpLCAnbWF0aC5tYXg6IHJl YXNzb2NfbWlubWF4X2snKQo+Pj4gKwo+Pj4gK3Jlc3VsdCA9IHt9Cj4+PiArZm9yIGsgPSAxLCA0 IGRvCj4+PiArIHJlc3VsdFtrXSA9IG1pbihtYXgobmFuLCAxKSwgMSkKPj4+ICtlbmQKPj4+ICst LSBleHBlY3RlZDogMSAxIDEgMQo+Pj4gK3Rlc3Q6b2soYXJyYXlfaXNfY29uc2lzdGVudChyZXN1 bHQpLCAnbWluLW1heC1jYXNlMTogcmVhc3NvY19taW5tYXhfbGVmdCcpCj4+PiArCj4+PiArcmVz dWx0ID0ge30KPj4+ICtmb3IgayA9IDEsIDQgZG8KPj4+ICsgcmVzdWx0W2tdID0gbWluKG1heCgx LCBuYW4pLCAxKQo+Pj4gK2VuZAo+Pj4gKy0tIGV4cGVjdGVkOiAxIDEgMSAxCj4+PiArdGVzdDpv ayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCksICdtaW4tbWF4LWNhc2UyOiByZWFzc29jX21p bm1heF9sZWZ0JykKPj4+ICsKPj4+ICtyZXN1bHQgPSB7fQo+Pj4gK2ZvciBrID0gMSwgNCBkbwo+ Pj4gKyByZXN1bHRba10gPSBtYXgobWluKG5hbiwgMSksIDEpCj4+PiArZW5kCj4+PiArLS0gZXhw ZWN0ZWQ6IDEgMSAxIDEKPj4+ICt0ZXN0Om9rKGFycmF5X2lzX2NvbnNpc3RlbnQocmVzdWx0KSwg J21heC1taW4tY2FzZTE6IHJlYXNzb2NfbWlubWF4X2xlZnQnKQo+Pj4gKwo+Pj4gK3Jlc3VsdCA9 IHt9Cj4+PiArZm9yIGsgPSAxLCA0IGRvCj4+PiArIHJlc3VsdFtrXSA9IG1heChtaW4oMSwgbmFu KSwgMSkKPj4+ICtlbmQKPj4+ICstLSBleHBlY3RlZDogMSAxIDEgMQo+Pj4gK3Rlc3Q6b2soYXJy YXlfaXNfY29uc2lzdGVudChyZXN1bHQpLCAnbWF4LW1pbi1jYXNlMjogcmVhc3NvY19taW5tYXhf bGVmdCcpCj4+PiArCj4+PiArcmVzdWx0ID0ge30KPj4+ICtmb3IgayA9IDEsIDQgZG8KPj4+ICsg cmVzdWx0W2tdID0gbWluKDEsIG1heChuYW4sIDEpKQo+Pj4gK2VuZAo+Pj4gKy0tIGV4cGVjdGVk OiAxIDEgMSAxCj4+PiArdGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCksICdtaW4t bWF4LWNhc2UxOiByZWFzc29jX21pbm1heF9yaWdodCcpCj4+PiArCj4+PiArcmVzdWx0ID0ge30K Pj4+ICtmb3IgayA9IDEsIDQgZG8KPj4+ICsgcmVzdWx0W2tdID0gbWluKDEsIG1heCgxLCBuYW4p KQo+Pj4gK2VuZAo+Pj4gKy0tIEZJWE1FOiByZXN1bHRzIGFyZSBzdGlsbCBpbmNvbnNpc3RlbnQg Zm9yIHRoZSB4ODYvNjQgYXJjaGl0ZWN0dXJlLgo+Pj4gKy0tIGV4cGVjdGVkOiBuYW4gbmFuIG5h biBuYW4KPj4+ICt0ZXN0Om9rKGFycmF5X2lzX2NvbnNpc3RlbnQocmVzdWx0KSBvciB4ODZfNjQs ICdtaW4tbWF4LWNhc2UyOiByZWFzc29jX21pbm1heF9yaWdodCcpCj4+PiArCj4+PiArcmVzdWx0 ID0ge30KPj4+ICtmb3IgayA9IDEsIDQgZG8KPj4+ICsgcmVzdWx0W2tdID0gbWF4KDEsIG1pbihu YW4sIDEpKQo+Pj4gK2VuZAo+Pj4gKy0tIGV4cGVjdGVkOiAxIDEgMSAxCj4+PiArdGVzdDpvayhh cnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCksICdtYXgtbWluLWNhc2UxOiByZWFzc29jX21pbm1h eF9yaWdodCcpCj4+PiArCj4+PiArcmVzdWx0ID0ge30KPj4+ICtmb3IgayA9IDEsIDQgZG8KPj4+ ICsgcmVzdWx0W2tdID0gbWF4KDEsIG1pbigxLCBuYW4pKQo+Pj4gK2VuZAo+Pj4gKy0tIEZJWE1F OiByZXN1bHRzIGFyZSBzdGlsbCBpbmNvbnNpc3RlbnQgZm9yIHRoZSB4ODYvNjQgYXJjaGl0ZWN0 dXJlLgo+Pj4gKy0tIGV4cGVjdGVkOiBuYW4gbmFuIG5hbiBuYW4KPj4+ICt0ZXN0Om9rKGFycmF5 X2lzX2NvbnNpc3RlbnQocmVzdWx0KSBvciB4ODZfNjQsICdtYXgtbWluLWNhc2UyOiByZWFzc29j X21pbm1heF9yaWdodCcpCj4+PiArCj4+PiArLS0gWFhYOiBJZiB3ZSBsb29rIGludG8gdGhlIGRp c2Fzc2VtYmxlZCBjb2RlIG9mIGBsal92bV9mb2xkYXJpdGgoKWAKPj4+ICstLSB3ZSBjYW4gc2Vl IHRoZSBmb2xsb3dpbmc6Cj4+PiArLS0KPj4+ICstLSB8IC8qIEluIG91ciB0ZXN0IHggPT0gNy4x LCB5ID09IG5hbiAqLwo+Pj4gKy0tIHwgY2FzZSBJUl9NSU4gLSBJUl9BREQ6IHJldHVybiB4ID4g eSA/IHkgOiB4OyBicmVhazsKPj4+ICstLQo+Pj4gKy0tIHwgOyBjYXNlIElSX01JTgo+Pj4gKy0t IHwgPGxqX3ZtX2ZvbGRhcml0aCszMzc+OiBtb3ZzZCB4bW0wLFFXT1JEIFBUUiBbcnNwKzB4MThd IDsgeG1tMCA8LSA3LjEKPj4+ICstLSB8IDxsal92bV9mb2xkYXJpdGgrMzQzPjogY29taXNkIHht bTAsUVdPUkQgUFRSIFtyc3ArMHgxMF0gOyBjb21pc2QgNy4xLCBuYW4KPj4+ICstLSB8IDxsal92 bV9mb2xkYXJpdGgrMzQ5PjogamJlIDxsal92bV9mb2xkYXJpdGgrMzU4PiA7ID49ID8KPj4+ICst LSB8IDxsal92bV9mb2xkYXJpdGgrMzUxPjogbW92IHJheCxRV09SRCBQVFIgW3JzcCsweDEwXSA7 IHJldHVybiBuYW4KPj4+ICstLSB8IDxsal92bV9mb2xkYXJpdGgrMzU2Pjogam1wIDxsal92bV9m b2xkYXJpdGgrMzk4PiA7Cj4+PiArLS0gfCA8bGpfdm1fZm9sZGFyaXRoKzM1OD46IG1vdiByYXgs UVdPUkQgUFRSIFtyc3ArMHgxOF0gOyBlbHNlIHJldHVybiA3LjEKPj4+ICstLSB8IDxsal92bV9m b2xkYXJpdGgrMzYzPjogam1wIDxsal92bV9mb2xkYXJpdGgrMzk4PiA7Cj4+PiArLS0KPj4+ICst LSBBY2NvcmRpbmcgdG8gYGNvbWlzZGAgZG9jdW1lbnRhdGlvbiBbNF0gaW4gY2FzZSB3aGVuIG9u ZSBvZiB0aGUgb3BlcmFuZHMKPj4+ICstLSBpcyBOYU4sIHRoZSByZXN1bHQgaXMgdW5vcmRlcmVk IGFuZCBaRixQRixDRiA6PSAxMTEuIFRoaXMgbWVhbnMgdGhhdCBgamJlYAo+Pj4gKy0tIGNvbmRp dGlvbiBpcyB0cnVlIChDRj0xIG9yIFpGPTEpWzVdLCBzbyB3ZSByZXR1cm4gNy4xICh0aGUgZmly c3QKPj4+ICstLSBvcGVyYW5kKSBmb3IgY2FzZSBgSVJfTUlOYC4KPj4+ICstLQo+Pj4gKy0tIEhv d2V2ZXIsIGluIGBsal9mZl9tYXRoX21pbigpYCBpbiB0aGUgVk0gd2Ugc2VlIHRoZSBmb2xsb3dp bmc6Cj4+PiArLS0gfDc6Cj4+PiArLS0gfCBzc2VvcCB4bW0wLCB4bW0xCj4+PiArLS0gV2hlcmUg YHNzZW9wYCBpcyBlaXRoZXIgYG1pbnNkYCBvciBgbWF4c2RgIGluc3RydWN0aW9uLgo+Pj4gKy0t IElmIG9ubHkgb25lIG9mIHRoZWlyIGFyZ3MgaXMgYSBOYU4sIHRoZSBzZWNvbmQgc291cmNlIG9w ZXJhbmQsCj4+PiArLS0gZWl0aGVyIGEgTmFOIG9yIGEgdmFsaWQgZmxvYXRpbmctcG9pbnQgdmFs dWUsIGlzCj4+PiArLS0gd3JpdHRlbiB0byB0aGUgcmVzdWx0Lgo+Pj4gKy0tCj4+PiArLS0gU28g dGhlIHBhdGNoIGNoYW5nZXMgdGhlIGBsal92bV9mb2xkYWlydGgoKWAgYXNzZW1ibHkgaW4gdGhl IGZvbGxvd2luZyB3YXk6Cj4+PiArLS0gfCA7IGNhc2UgSVJfTUlOCj4+PiArLS0gfCA8bGpfdm1f Zm9sZGFyaXRoKzMzNz46IG1vdnNkIHhtbTAsUVdPUkQgUFRSIFtyc3ArMHgxMF0gOyB4bW0wIDwt IG5hbgo+Pj4gKy0tIHwgPGxqX3ZtX2ZvbGRhcml0aCszNDM+OiBjb21pc2QgeG1tMCxRV09SRCBQ VFIgW3JzcCsweDE4XSA7IGNvbWlzZCBuYW4sIDcuMQo+Pj4gKy0tIHwgPGxqX3ZtX2ZvbGRhcml0 aCszNDk+OiBqYmUgPGxqX3ZtX2ZvbGRhcml0aCszNTg+IDsgPj0gPwo+Pj4gKy0tIHwgPGxqX3Zt X2ZvbGRhcml0aCszNTE+OiBtb3YgcmF4LFFXT1JEIFBUUiBbcnNwKzB4MThdIDsgcmV0dXJuIDcu MQo+Pj4gKy0tIHwgPGxqX3ZtX2ZvbGRhcml0aCszNTY+OiBqbXAgPGxqX3ZtX2ZvbGRhcml0aCsz OTg+IDsKPj4+ICstLSB8IDxsal92bV9mb2xkYXJpdGgrMzU4PjogbW92IHJheCxRV09SRCBQVFIg W3JzcCsweDEwXSA7IGVsc2UgcmV0dXJuIG5hbgo+Pj4gKy0tIHwgPGxqX3ZtX2ZvbGRhcml0aCsz NjM+OiBqbXAgPGxqX3ZtX2ZvbGRhcml0aCszOTg+IDsKPj4+ICstLQo+Pj4gKy0tIFNvIG5vdyB3 ZSBhbHdheXMgcmV0dXJuIHRoZSBzZWNvbmQgb3BlcmFuZC4KPj4+ICstLQo+Pj4gKy0tIFhYWDog VGhlIHR3byB0ZXN0cyBiZWxvdyB1c2UgdGhlIGAwLzBgIGNvbnN0YW50IGluc3RlYWQgb2YgYG5h bmAKPj4+ICstLSB2YXJpYWJsZSBpcyBkaWN0YXRlZCBieSB0aGUgYGZvbGRfa2ZvbGRfbnVtYXJp dGhgIHNlbWFudGljcy4KPj4+ICtyZXN1bHQgPSB7fQo+Pj4gK2ZvciBrID0gMSwgNCBkbwo+Pj4g KyByZXN1bHRba10gPSBtaW4obWluKDcuMSwgMC8wKSwgMS4xKQo+Pj4gK2VuZAo+Pj4gKy0tIGV4 cGVjdGVkOiAxLjEgMS4xIDEuMSAxLjEKPj4+ICt0ZXN0Om9rKGFycmF5X2lzX2NvbnNpc3RlbnQo cmVzdWx0KSwgJ21pbjogZm9sZF9rZm9sZF9udW1hcml0aCcpCj4+PiArCj4+PiArcmVzdWx0ID0g e30KPj4+ICtmb3IgayA9IDEsIDQgZG8KPj4+ICsgcmVzdWx0W2tdID0gbWF4KG1heCg3LjEsIDAv MCksIDEuMSkKPj4+ICtlbmQKPj4+ICstLSBleHBlY3RlZDogMS4xIDEuMSAxLjEgMS4xCj4+PiAr dGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCksICdtYXg6IGZvbGRfa2ZvbGRfbnVt YXJpdGgnKQo+Pj4gKwo+Pj4gK29zLmV4aXQodGVzdDpjaGVjaygpIGFuZCAwIG9yIDEpCj4+PiAt LQo+Pj4gMi4zNy4xIChBcHBsZSBHaXQtMTM3LjEpCj4+Pgo+wqA= ----ALT--314a96B6F8fBD32a356f5e85D8dCf8Ba1678114360 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGkhPC9kaXY+PGRpdj5UaGUgWFhYIG9uZXMgYXJlIGp1c3Qgc29t ZSB1c2VmdWwmbmJzcDtub3RlcywmbmJzcDt0aGUgRklYTUUgb25lczwvZGl2PjxkaXY+YXJlIHNv bWUgaXNzdWVzIHdpdGggTHVhSklUIHRoYXQgcmVtYWluIHVuZml4ZWQgaW4gdGhlIG1haW5saW5l LjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdiBkYXRhLXNpZ25hdHVyZS13aWRnZXQ9ImNvbnRh aW5lciI+PGRpdiBkYXRhLXNpZ25hdHVyZS13aWRnZXQ9ImNvbnRlbnQiPjxkaXY+LS08YnI+QmVz dCByZWdhcmRzLDwvZGl2PjxkaXY+TWF4aW0gS29rcnlhc2hraW48L2Rpdj48L2Rpdj48L2Rpdj48 ZGl2PiZuYnNwOzwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRl ci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4 OyI+PGRpdj4mbmJzcDs8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMw ODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIiPjxkaXYg Y2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNjc3 ODQ2NTQzMjAyOTkzODk4N19CT0RZIj5IaSE8YnI+PGJyPlRoYW5rcyBmb3IgdGhlIHBhdGNoITxi cj48YnI+TnVtYmVyIG9mIEZJWE1FIGFuZCBhIFhYWCBpbiB0aGUgdGVzdCAtIGRvZXMgaXQgbWVh biB3ZeKAmWQgaGF2ZSBwcm9ibGVtcyBpbiBDST88YnI+PGJyPlJlZ2FyZHMsPGJyPlNlcmdvczxi cj4mbmJzcDs8ZGl2IGNsYXNzPSJtYWlsLXF1b3RlLWNvbGxhcHNlIj4mZ3Q7IE9uIDggRmViIDIw MjMsIGF0IDIzOjA1LCBNYWtzaW0gS29rcnlhc2hraW4gJmx0OzxhIGhyZWY9Ii9jb21wb3NlP1Rv PW1heC5rb2tyeWFzaGtpbkBnbWFpbC5jb20iPm1heC5rb2tyeWFzaGtpbkBnbWFpbC5jb208L2E+ Jmd0OyB3cm90ZTo8YnI+Jmd0Ozxicj4mZ3Q7IEZyb206IE1pa2UgUGFsbCAmbHQ7bWlrZSZndDs8 YnI+Jmd0Ozxicj4mZ3Q7IChjaGVycnktcGlja2VkIGZyb20gY29tbWl0IDAzMjA4YzgxNjJhZjlj YzAxY2E3NmVlMTY3NmNhNzllNWFiZTliNjApPGJyPiZndDs8YnI+Jmd0OyBgbWF0aC5taW4oKWAv YG1hdGgubWF4KClgIGNvdWxkIHByb2R1Y2UgZGlmZmVyZW50IHJlc3VsdHMuPGJyPiZndDsgUHJl dmlvdXNseSwgZGlydHkgdmFsdWVzIG9uIHRoZSBMdWEgc3RhY2sgY291bGQgYmU8YnI+Jmd0OyB0 cmVhdGVkIGFzIGFyZ3VtZW50cyB0byBgbWF0aC5taW4oKWAvYG1hdGgubWF4KClgLjxicj4mZ3Q7 IFRoaXMgcGF0Y2ggYWRkcyBjaGVjayBmb3IgdGhlIG51bWJlciBvZiBhcmd1bWVudHMgcHJvdmlk ZWQgdG88YnI+Jmd0OyBtYXRoLm1pbi9tYXgsIHdoaWNoIGZpeGVzIHRoZSBpc3N1ZS48YnI+Jmd0 Ozxicj4mZ3Q7IEFsc28sIHNldmVyYWwgZm9sZCBvcHRpbWl6YXRpb25zIHdlcmUgbW9kaWZpZWQg b3I8YnI+Jmd0OyBkZWxldGVkIGR1ZSB0byBpbmNvbnNpc3RlbmNpZXMgYmV0d2VlbiBjb21waWxl cjxicj4mZ3Q7IGFuZCBpbnRlcnByZXRlciBvbiBOYU4tdmFsdWVzLjxicj4mZ3Q7PGJyPiZndDsg Q2hhbmdlcyBpbiBgZm9sZF9rZm9sZF9udW1hcml0aCgpYCBhbHNvIHJlcXVpcmVkPGJyPiZndDsg dG8gcmVwbGFjZSB0aGUgYENDX0xPL0NDX0hJYCBjb21wYXJpc29uIG1vZGVzIHdpdGggdGhlIGBD Q19MRS9DQ19QTGA8YnI+Jmd0OyBvbiBhYXJjaDY0IHBsYXRmb3Jtcy4gVGhlIGlzc3VlIGlzIHRo b3JvdWdobHkgZGVzY3JpYmVkIGp1c3QgYmVmb3JlPGJyPiZndDsgdGhlIGNvcnJlc3BvbmRpbmcg dGVzdC48YnI+Jmd0Ozxicj4mZ3Q7IENoYW5nZXMgZm9yIE1JUFMgYW5kIFBQQyBhcmNoaXRlY3R1 cmVzIGFyZSBvbW1pdGVkLCBkdWUgdG8gdGhlPGJyPiZndDsgYWJzZW5jZSBvZiBvdGhlciBwYXRj aGVzIHRoZSBhcmUgZGVwZW5kZW50IG9uLjxicj4mZ3Q7PGJyPiZndDsgTWF4aW0gS29rcnlhc2hr aW4gJmFtcDsgU2VyZ2V5IEthcGx1bjo8YnI+Jmd0OyAqIGFkZGVkIHRoZSBkZXNjcmlwdGlvbiBh bmQgdGVzdHMgZm9yIHRoZSBwcm9ibGVtPGJyPiZndDs8YnI+Jmd0OyBSZXNvbHZlcyB0YXJhbnRv b2wvdGFyYW50b29sIzYxNjM8YnI+Jmd0OyAtLS08YnI+Jmd0OyBDaGFuZ2VzIGluIHY4Ojxicj4m Z3Q7IC0gRml4ZWQgY29tbWVudHMgYXMgcGVyIHJldmlldyBieSBTZXJnZXk8YnI+Jmd0Ozxicj4m Z3Q7IEJyYW5jaDogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC9sdWFqaXQv dHJlZS9mY2t4b3JnL2doLTYxNjMtbWluLW1heCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0 aHViLmNvbS90YXJhbnRvb2wvbHVhaml0L3RyZWUvZmNreG9yZy9naC02MTYzLW1pbi1tYXg8L2E+ PGJyPiZndDsgUFI6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50 b29sL3B1bGwvNzQ1NSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRv b2wvdGFyYW50b29sL3B1bGwvNzQ1NTwvYT48YnI+Jmd0OyBJc3N1ZSBmb3IgeDg2IG1pc2JlaGF2 aW9yOiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vTHVhSklUL0x1YUpJVC9pc3N1ZXMvOTU3 IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL0x1YUpJVC9MdWFKSVQvaXNzdWVz Lzk1NzwvYT48YnI+Jmd0OyBzcmMvbGpfYXNtX2FybS5oIHwgNiArLTxicj4mZ3Q7IHNyYy9sal9h c21fYXJtNjQuaCB8IDYgKy08YnI+Jmd0OyBzcmMvbGpfb3B0X2ZvbGQuYyB8IDUzICsrLS08YnI+ Jmd0OyBzcmMvbGpfdm1tYXRoLmMgfCA0ICstPGJyPiZndDsgc3JjL3ZtX2FybS5kYXNjIHwgNCAr LTxicj4mZ3Q7IHNyYy92bV9hcm02NC5kYXNjIHwgNCArLTxicj4mZ3Q7IHNyYy92bV94NjQuZGFz YyB8IDIgKy08YnI+Jmd0OyBzcmMvdm1feDg2LmRhc2MgfCAyICstPGJyPiZndDsgdGVzdC90YXJh bnRvb2wtdGVzdHMvZ2gtNjE2My1taW4tbWF4LnRlc3QubHVhIHwgMjYzICsrKysrKysrKysrKysr KysrKzxicj4mZ3Q7IDkgZmlsZXMgY2hhbmdlZCwgMjk2IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0 aW9ucygtKTxicj4mZ3Q7IGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3RhcmFudG9vbC10ZXN0cy9n aC02MTYzLW1pbi1tYXgudGVzdC5sdWE8YnI+Jmd0Ozxicj4mZ3Q7IGRpZmYgLS1naXQgYS9zcmMv bGpfYXNtX2FybS5oIGIvc3JjL2xqX2FzbV9hcm0uaDxicj4mZ3Q7IGluZGV4IDhhZjE5ZWI5Li42 YWU2ZTJmMiAxMDA2NDQ8YnI+Jmd0OyAtLS0gYS9zcmMvbGpfYXNtX2FybS5oPGJyPiZndDsgKysr IGIvc3JjL2xqX2FzbV9hcm0uaDxicj4mZ3Q7IEBAIC0xNjYzLDggKzE2NjMsOCBAQCBzdGF0aWMg dm9pZCBhc21fbWluX21heChBU01TdGF0ZSAqYXMsIElSSW5zICppciwgaW50IGNjLCBpbnQgZmNj KTxicj4mZ3Q7IGFzbV9pbnRtaW5fbWF4KGFzLCBpciwgY2MpOzxicj4mZ3Q7IH08YnI+Jmd0Ozxi cj4mZ3Q7IC0jZGVmaW5lIGFzbV9taW4oYXMsIGlyKSBhc21fbWluX21heChhcywgaXIsIENDX0dU LCBDQ19ISSk8YnI+Jmd0OyAtI2RlZmluZSBhc21fbWF4KGFzLCBpcikgYXNtX21pbl9tYXgoYXMs IGlyLCBDQ19MVCwgQ0NfTE8pPGJyPiZndDsgKyNkZWZpbmUgYXNtX21pbihhcywgaXIpIGFzbV9t aW5fbWF4KGFzLCBpciwgQ0NfR1QsIENDX1BMKTxicj4mZ3Q7ICsjZGVmaW5lIGFzbV9tYXgoYXMs IGlyKSBhc21fbWluX21heChhcywgaXIsIENDX0xULCBDQ19MRSk8YnI+Jmd0Ozxicj4mZ3Q7IC8q IC0tIENvbXBhcmlzb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSAqLzxicj4mZ3Q7PGJyPiZndDsgQEAgLTE4NTYsNyArMTg1Niw3IEBA IHN0YXRpYyB2b2lkIGFzbV9oaW9wKEFTTVN0YXRlICphcywgSVJJbnMgKmlyKTxicj4mZ3Q7IH0g ZWxzZSBpZiAoKGlyLTEpLSZndDtvID09IElSX01JTiB8fCAoaXItMSktJmd0O28gPT0gSVJfTUFY KSB7PGJyPiZndDsgYXMtJmd0O2N1cmlucy0tOyAvKiBBbHdheXMgc2tpcCB0aGUgbG93b3JkIG1p bi9tYXguICovPGJyPiZndDsgaWYgKHVzZWxvIHx8IHVzZWhpKTxicj4mZ3Q7IC0gYXNtX3NmcG1p bl9tYXgoYXMsIGlyLTEsIChpci0xKS0mZ3Q7byA9PSBJUl9NSU4gPyBDQ19ISSA6IENDX0xPKTs8 YnI+Jmd0OyArIGFzbV9zZnBtaW5fbWF4KGFzLCBpci0xLCAoaXItMSktJmd0O28gPT0gSVJfTUlO ID8gQ0NfUEwgOiBDQ19MRSk7PGJyPiZndDsgcmV0dXJuOzxicj4mZ3Q7ICNlbGlmIExKX0hBU0ZG STxicj4mZ3Q7IH0gZWxzZSBpZiAoKGlyLTEpLSZndDtvID09IElSX0NPTlYpIHs8YnI+Jmd0OyBk aWZmIC0tZ2l0IGEvc3JjL2xqX2FzbV9hcm02NC5oIGIvc3JjL2xqX2FzbV9hcm02NC5oPGJyPiZn dDsgaW5kZXggNGFlYjUxZjMuLmZlMTk3NzAwIDEwMDY0NDxicj4mZ3Q7IC0tLSBhL3NyYy9sal9h c21fYXJtNjQuaDxicj4mZ3Q7ICsrKyBiL3NyYy9sal9hc21fYXJtNjQuaDxicj4mZ3Q7IEBAIC0x NTkyLDcgKzE1OTIsNyBAQCBzdGF0aWMgdm9pZCBhc21fZnBtaW5fbWF4KEFTTVN0YXRlICphcywg SVJJbnMgKmlyLCBBNjRDQyBmY2MpPGJyPiZndDsgUmVnIGRlc3QgPSAocmFfZGVzdChhcywgaXIs IFJTRVRfRlBSKSAmYW1wOyAzMSk7PGJyPiZndDsgUmVnIHJpZ2h0LCBsZWZ0ID0gcmFfYWxsb2My KGFzLCBpciwgUlNFVF9GUFIpOzxicj4mZ3Q7IHJpZ2h0ID0gKChsZWZ0ICZndDsmZ3Q7IDgpICZh bXA7IDMxKTsgbGVmdCAmYW1wOz0gMzE7PGJyPiZndDsgLSBlbWl0X2RubShhcywgQTY0SV9GQ1NF TGQgfCBBNjRGX0NDKGZjYyksIGRlc3QsIGxlZnQsIHJpZ2h0KTs8YnI+Jmd0OyArIGVtaXRfZG5t KGFzLCBBNjRJX0ZDU0VMZCB8IEE2NEZfQ0MoZmNjKSwgZGVzdCwgcmlnaHQsIGxlZnQpOzxicj4m Z3Q7IGVtaXRfbm0oYXMsIEE2NElfRkNNUGQsIGxlZnQsIHJpZ2h0KTs8YnI+Jmd0OyB9PGJyPiZn dDs8YnI+Jmd0OyBAQCAtMTYwNCw4ICsxNjA0LDggQEAgc3RhdGljIHZvaWQgYXNtX21pbl9tYXgo QVNNU3RhdGUgKmFzLCBJUklucyAqaXIsIEE2NENDIGNjLCBBNjRDQyBmY2MpPGJyPiZndDsgYXNt X2ludG1pbl9tYXgoYXMsIGlyLCBjYyk7PGJyPiZndDsgfTxicj4mZ3Q7PGJyPiZndDsgLSNkZWZp bmUgYXNtX21heChhcywgaXIpIGFzbV9taW5fbWF4KGFzLCBpciwgQ0NfR1QsIENDX0hJKTxicj4m Z3Q7IC0jZGVmaW5lIGFzbV9taW4oYXMsIGlyKSBhc21fbWluX21heChhcywgaXIsIENDX0xULCBD Q19MTyk8YnI+Jmd0OyArI2RlZmluZSBhc21fbWluKGFzLCBpcikgYXNtX21pbl9tYXgoYXMsIGly LCBDQ19MVCwgQ0NfUEwpPGJyPiZndDsgKyNkZWZpbmUgYXNtX21heChhcywgaXIpIGFzbV9taW5f bWF4KGFzLCBpciwgQ0NfR1QsIENDX0xFKTxicj4mZ3Q7PGJyPiZndDsgLyogLS0gQ29tcGFyaXNv bnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tICovPGJyPiZndDs8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvc3JjL2xqX29wdF9mb2xkLmMgYi9z cmMvbGpfb3B0X2ZvbGQuYzxicj4mZ3Q7IGluZGV4IDQ5Zjc0OTk2Li4yN2U0ODlhZiAxMDA2NDQ8 YnI+Jmd0OyAtLS0gYS9zcmMvbGpfb3B0X2ZvbGQuYzxicj4mZ3Q7ICsrKyBiL3NyYy9sal9vcHRf Zm9sZC5jPGJyPiZndDsgQEAgLTE3OTcsOCArMTc5Nyw2IEBAIExKRk9MREYocmVhc3NvY19pbnRh cml0aF9rNjQpPGJyPiZndDsgI2VuZGlmPGJyPiZndDsgfTxicj4mZ3Q7PGJyPiZndDsgLUxKRk9M RChNSU4gTUlOIGFueSk8YnI+Jmd0OyAtTEpGT0xEKE1BWCBNQVggYW55KTxicj4mZ3Q7IExKRk9M RChCQU5EIEJBTkQgYW55KTxicj4mZ3Q7IExKRk9MRChCT1IgQk9SIGFueSk8YnI+Jmd0OyBMSkZP TERGKHJlYXNzb2NfZHVwKTxicj4mZ3Q7IEBAIC0xODA4LDYgKzE4MDYsMTUgQEAgTEpGT0xERihy ZWFzc29jX2R1cCk8YnI+Jmd0OyByZXR1cm4gTkVYVEZPTEQ7PGJyPiZndDsgfTxicj4mZ3Q7PGJy PiZndDsgK0xKRk9MRChNSU4gTUlOIGFueSk8YnI+Jmd0OyArTEpGT0xEKE1BWCBNQVggYW55KTxi cj4mZ3Q7ICtMSkZPTERGKHJlYXNzb2NfZHVwX21pbm1heCk8YnI+Jmd0OyArezxicj4mZ3Q7ICsg aWYgKGZpbnMtJmd0O29wMiA9PSBmbGVmdC0mZ3Q7b3AyKTxicj4mZ3Q7ICsgcmV0dXJuIExFRlRG T0xEOyAvKiAoYSBvIGIpIG8gYiA9PSZndDsgYSBvIGIgKi88YnI+Jmd0OyArIHJldHVybiBORVhU Rk9MRDs8YnI+Jmd0OyArfTxicj4mZ3Q7ICs8YnI+Jmd0OyBMSkZPTEQoQlhPUiBCWE9SIGFueSk8 YnI+Jmd0OyBMSkZPTERGKHJlYXNzb2NfYnhvcik8YnI+Jmd0OyB7PGJyPiZndDsgQEAgLTE4NDYs MjMgKzE4NTMsMTIgQEAgTEpGT0xERihyZWFzc29jX3NoaWZ0KTxicj4mZ3Q7IHJldHVybiBORVhU Rk9MRDs8YnI+Jmd0OyB9PGJyPiZndDs8YnI+Jmd0OyAtTEpGT0xEKE1JTiBNSU4gS05VTSk8YnI+ Jmd0OyAtTEpGT0xEKE1BWCBNQVggS05VTSk8YnI+Jmd0OyBMSkZPTEQoTUlOIE1JTiBLSU5UKTxi cj4mZ3Q7IExKRk9MRChNQVggTUFYIEtJTlQpPGJyPiZndDsgTEpGT0xERihyZWFzc29jX21pbm1h eF9rKTxicj4mZ3Q7IHs8YnI+Jmd0OyBJUklucyAqaXJrID0gSVIoZmxlZnQtJmd0O29wMik7PGJy PiZndDsgLSBpZiAoaXJrLSZndDtvID09IElSX0tOVU0pIHs8YnI+Jmd0OyAtIGx1YV9OdW1iZXIg YSA9IGlyX2tudW0oaXJrKS0mZ3Q7bjs8YnI+Jmd0OyAtIGx1YV9OdW1iZXIgeSA9IGxqX3ZtX2Zv bGRhcml0aChhLCBrbnVtcmlnaHQsIGZpbnMtJmd0O28gLSBJUl9BREQpOzxicj4mZ3Q7IC0gaWYg KGEgPT0geSkgLyogKHggbyBrMSkgbyBrMiA9PSZndDsgeCBvIGsxLCBpZiAoazEgbyBrMikgPT0g azEuICovPGJyPiZndDsgLSByZXR1cm4gTEVGVEZPTEQ7PGJyPiZndDsgLSBQSElCQVJSSUVSKGZs ZWZ0KTs8YnI+Jmd0OyAtIGZpbnMtJmd0O29wMSA9IGZsZWZ0LSZndDtvcDE7PGJyPiZndDsgLSBm aW5zLSZndDtvcDIgPSAoSVJSZWYxKWxqX2lyX2tudW0oSiwgeSk7PGJyPiZndDsgLSByZXR1cm4g UkVUUllGT0xEOyAvKiAoeCBvIGsxKSBvIGsyID09Jmd0OyB4IG8gKGsxIG8gazIpICovPGJyPiZn dDsgLSB9IGVsc2UgaWYgKGlyay0mZ3Q7byA9PSBJUl9LSU5UKSB7PGJyPiZndDsgKyBpZiAoaXJr LSZndDtvID09IElSX0tJTlQpIHs8YnI+Jmd0OyBpbnQzMl90IGEgPSBpcmstJmd0O2k7PGJyPiZn dDsgaW50MzJfdCB5ID0ga2ZvbGRfaW50b3AoYSwgZnJpZ2h0LSZndDtpLCBmaW5zLSZndDtvKTs8 YnI+Jmd0OyBpZiAoYSA9PSB5KSAvKiAoeCBvIGsxKSBvIGsyID09Jmd0OyB4IG8gazEsIGlmIChr MSBvIGsyKSA9PSBrMS4gKi88YnI+Jmd0OyBAQCAtMTg3NSwyNCArMTg3MSw2IEBAIExKRk9MREYo cmVhc3NvY19taW5tYXhfayk8YnI+Jmd0OyByZXR1cm4gTkVYVEZPTEQ7PGJyPiZndDsgfTxicj4m Z3Q7PGJyPiZndDsgLUxKRk9MRChNSU4gTUFYIGFueSk8YnI+Jmd0OyAtTEpGT0xEKE1BWCBNSU4g YW55KTxicj4mZ3Q7IC1MSkZPTERGKHJlYXNzb2NfbWlubWF4X2xlZnQpPGJyPiZndDsgLXs8YnI+ Jmd0OyAtIGlmIChmaW5zLSZndDtvcDIgPT0gZmxlZnQtJmd0O29wMSB8fCBmaW5zLSZndDtvcDIg PT0gZmxlZnQtJmd0O29wMik8YnI+Jmd0OyAtIHJldHVybiBSSUdIVEZPTEQ7IC8qIChiIG8xIGEp IG8yIGIgPT0mZ3Q7IGI7IChhIG8xIGIpIG8yIGIgPT0mZ3Q7IGIgKi88YnI+Jmd0OyAtIHJldHVy biBORVhURk9MRDs8YnI+Jmd0OyAtfTxicj4mZ3Q7IC08YnI+Jmd0OyAtTEpGT0xEKE1JTiBhbnkg TUFYKTxicj4mZ3Q7IC1MSkZPTEQoTUFYIGFueSBNSU4pPGJyPiZndDsgLUxKRk9MREYocmVhc3Nv Y19taW5tYXhfcmlnaHQpPGJyPiZndDsgLXs8YnI+Jmd0OyAtIGlmIChmaW5zLSZndDtvcDEgPT0g ZnJpZ2h0LSZndDtvcDEgfHwgZmlucy0mZ3Q7b3AxID09IGZyaWdodC0mZ3Q7b3AyKTxicj4mZ3Q7 IC0gcmV0dXJuIExFRlRGT0xEOyAvKiBhIG8yIChhIG8xIGIpID09Jmd0OyBhOyBhIG8yIChiIG8x IGEpID09Jmd0OyBhICovPGJyPiZndDsgLSByZXR1cm4gTkVYVEZPTEQ7PGJyPiZndDsgLX08YnI+ Jmd0OyAtPGJyPiZndDsgLyogLS0gQXJyYXkgYm91bmRzIGNoZWNrIGVsaW1pbmF0aW9uIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovPGJyPiZndDs8YnI+Jmd0OyAvKiBF bGltaW5hdGUgQUJDIGFjcm9zcyBQSElzIHRvIGhhbmRsZSB0W2ktMV0gZm9yd2FyZGluZyBjYXNl Ljxicj4mZ3Q7IEBAIC0yMDE4LDggKzE5OTYsNiBAQCBMSkZPTERGKGNvbW1fY29tcCk8YnI+Jmd0 Ozxicj4mZ3Q7IExKRk9MRChCQU5EIGFueSBhbnkpPGJyPiZndDsgTEpGT0xEKEJPUiBhbnkgYW55 KTxicj4mZ3Q7IC1MSkZPTEQoTUlOIGFueSBhbnkpPGJyPiZndDsgLUxKRk9MRChNQVggYW55IGFu eSk8YnI+Jmd0OyBMSkZPTERGKGNvbW1fZHVwKTxicj4mZ3Q7IHs8YnI+Jmd0OyBpZiAoZmlucy0m Z3Q7b3AxID09IGZpbnMtJmd0O29wMikgLyogeCBvIHggPT0mZ3Q7IHggKi88YnI+Jmd0OyBAQCAt MjAyNyw2ICsyMDAzLDE1IEBAIExKRk9MREYoY29tbV9kdXApPGJyPiZndDsgcmV0dXJuIGZvbGRf Y29tbV9zd2FwKEopOzxicj4mZ3Q7IH08YnI+Jmd0Ozxicj4mZ3Q7ICtMSkZPTEQoTUlOIGFueSBh bnkpPGJyPiZndDsgK0xKRk9MRChNQVggYW55IGFueSk8YnI+Jmd0OyArTEpGT0xERihjb21tX2R1 cF9taW5tYXgpPGJyPiZndDsgK3s8YnI+Jmd0OyArIGlmIChmaW5zLSZndDtvcDEgPT0gZmlucy0m Z3Q7b3AyKSAvKiB4IG8geCA9PSZndDsgeCAqLzxicj4mZ3Q7ICsgcmV0dXJuIExFRlRGT0xEOzxi cj4mZ3Q7ICsgcmV0dXJuIE5FWFRGT0xEOzxicj4mZ3Q7ICt9PGJyPiZndDsgKzxicj4mZ3Q7IExK Rk9MRChCWE9SIGFueSBhbnkpPGJyPiZndDsgTEpGT0xERihjb21tX2J4b3IpPGJyPiZndDsgezxi cj4mZ3Q7IGRpZmYgLS1naXQgYS9zcmMvbGpfdm1tYXRoLmMgYi9zcmMvbGpfdm1tYXRoLmM8YnI+ Jmd0OyBpbmRleCBjMDQ0NTliZC4uYWU0ZTBmMTUgMTAwNjQ0PGJyPiZndDsgLS0tIGEvc3JjL2xq X3ZtbWF0aC5jPGJyPiZndDsgKysrIGIvc3JjL2xqX3ZtbWF0aC5jPGJyPiZndDsgQEAgLTQ5LDgg KzQ5LDggQEAgZG91YmxlIGxqX3ZtX2ZvbGRhcml0aChkb3VibGUgeCwgZG91YmxlIHksIGludCBv cCk8YnI+Jmd0OyBjYXNlIElSX0FCUyAtIElSX0FERDogcmV0dXJuIGZhYnMoeCk7IGJyZWFrOzxi cj4mZ3Q7ICNpZiBMSl9IQVNKSVQ8YnI+Jmd0OyBjYXNlIElSX0xERVhQIC0gSVJfQUREOiByZXR1 cm4gbGRleHAoeCwgKGludCl5KTsgYnJlYWs7PGJyPiZndDsgLSBjYXNlIElSX01JTiAtIElSX0FE RDogcmV0dXJuIHggJmd0OyB5ID8geSA6IHg7IGJyZWFrOzxicj4mZ3Q7IC0gY2FzZSBJUl9NQVgg LSBJUl9BREQ6IHJldHVybiB4ICZsdDsgeSA/IHkgOiB4OyBicmVhazs8YnI+Jmd0OyArIGNhc2Ug SVJfTUlOIC0gSVJfQUREOiByZXR1cm4geCAmbHQ7IHkgPyB4IDogeTsgYnJlYWs7PGJyPiZndDsg KyBjYXNlIElSX01BWCAtIElSX0FERDogcmV0dXJuIHggJmd0OyB5ID8geCA6IHk7IGJyZWFrOzxi cj4mZ3Q7ICNlbmRpZjxicj4mZ3Q7IGRlZmF1bHQ6IHJldHVybiB4Ozxicj4mZ3Q7IH08YnI+Jmd0 OyBkaWZmIC0tZ2l0IGEvc3JjL3ZtX2FybS5kYXNjIGIvc3JjL3ZtX2FybS5kYXNjPGJyPiZndDsg aW5kZXggYTI5MjkyZjEuLjg5ZmFhMDNlIDEwMDY0NDxicj4mZ3Q7IC0tLSBhL3NyYy92bV9hcm0u ZGFzYzxicj4mZ3Q7ICsrKyBiL3NyYy92bV9hcm0uZGFzYzxicj4mZ3Q7IEBAIC0xNzE4LDggKzE3 MTgsOCBAQCBzdGF0aWMgdm9pZCBidWlsZF9zdWJyb3V0aW5lcyhCdWlsZEN0eCAqY3R4KTxicj4m Z3Q7IHwuZW5kaWY8YnI+Jmd0OyB8LmVuZG1hY3JvPGJyPiZndDsgfDxicj4mZ3Q7IC0gfCBtYXRo X21pbm1heCBtYXRoX21pbiwgZ3QsIGhpPGJyPiZndDsgLSB8IG1hdGhfbWlubWF4IG1hdGhfbWF4 LCBsdCwgbG88YnI+Jmd0OyArIHwgbWF0aF9taW5tYXggbWF0aF9taW4sIGd0LCBwbDxicj4mZ3Q7 ICsgfCBtYXRoX21pbm1heCBtYXRoX21heCwgbHQsIGxlPGJyPiZndDsgfDxicj4mZ3Q7IHwvLy0t IFN0cmluZyBsaWJyYXJ5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tPGJyPiZndDsgfDxicj4mZ3Q7IGRpZmYgLS1naXQgYS9zcmMvdm1fYXJtNjQu ZGFzYyBiL3NyYy92bV9hcm02NC5kYXNjPGJyPiZndDsgaW5kZXggZjUxN2E4MDguLjJjMWJiNGY4 IDEwMDY0NDxicj4mZ3Q7IC0tLSBhL3NyYy92bV9hcm02NC5kYXNjPGJyPiZndDsgKysrIGIvc3Jj L3ZtX2FybTY0LmRhc2M8YnI+Jmd0OyBAQCAtMTQ5NCw4ICsxNDk0LDggQEAgc3RhdGljIHZvaWQg YnVpbGRfc3Vicm91dGluZXMoQnVpbGRDdHggKmN0eCk8YnI+Jmd0OyB8IGIgJmx0OzY8YnI+Jmd0 OyB8LmVuZG1hY3JvPGJyPiZndDsgfDxicj4mZ3Q7IC0gfCBtYXRoX21pbm1heCBtYXRoX21pbiwg Z3QsIGhpPGJyPiZndDsgLSB8IG1hdGhfbWlubWF4IG1hdGhfbWF4LCBsdCwgbG88YnI+Jmd0OyAr IHwgbWF0aF9taW5tYXggbWF0aF9taW4sIGd0LCBwbDxicj4mZ3Q7ICsgfCBtYXRoX21pbm1heCBt YXRoX21heCwgbHQsIGxlPGJyPiZndDsgfDxicj4mZ3Q7IHwvLy0tIFN0cmluZyBsaWJyYXJ5IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPiZn dDsgfDxicj4mZ3Q7IGRpZmYgLS1naXQgYS9zcmMvdm1feDY0LmRhc2MgYi9zcmMvdm1feDY0LmRh c2M8YnI+Jmd0OyBpbmRleCA1OWYxMTdiYS4uZmFlYjUxODEgMTAwNjQ0PGJyPiZndDsgLS0tIGEv c3JjL3ZtX3g2NC5kYXNjPGJyPiZndDsgKysrIGIvc3JjL3ZtX3g2NC5kYXNjPGJyPiZndDsgQEAg LTE4OTYsNyArMTg5Niw3IEBAIHN0YXRpYyB2b2lkIGJ1aWxkX3N1YnJvdXRpbmVzKEJ1aWxkQ3R4 ICpjdHgpPGJyPiZndDsgfCBqbXAgLSZndDtmZmZfcmVzPGJyPiZndDsgfDxicj4mZ3Q7IHwubWFj cm8gbWF0aF9taW5tYXgsIG5hbWUsIGNtb3ZvcCwgc3Nlb3A8YnI+Jmd0OyAtIHwgLmZmdW5jIG5h bWU8YnI+Jmd0OyArIHwgLmZmdW5jXzEgbmFtZTxicj4mZ3Q7IHwgbW92IFJBZCwgMjxicj4mZ3Q7 IHwuaWYgRFVBTE5VTTxicj4mZ3Q7IHwgbW92IFJCLCBbQkFTRV08YnI+Jmd0OyBkaWZmIC0tZ2l0 IGEvc3JjL3ZtX3g4Ni5kYXNjIGIvc3JjL3ZtX3g4Ni5kYXNjPGJyPiZndDsgaW5kZXggZjdmZmU1 ZDIuLjFjOTk1ZDE2IDEwMDY0NDxicj4mZ3Q7IC0tLSBhL3NyYy92bV94ODYuZGFzYzxicj4mZ3Q7 ICsrKyBiL3NyYy92bV94ODYuZGFzYzxicj4mZ3Q7IEBAIC0yMzIxLDcgKzIzMjEsNyBAQCBzdGF0 aWMgdm9pZCBidWlsZF9zdWJyb3V0aW5lcyhCdWlsZEN0eCAqY3R4KTxicj4mZ3Q7IHwgeG9ycHMg eG1tNCwgeG1tNDsgam1wICZsdDsxIC8vIFJldHVybiArLUluZiBhbmQgKy0wLjxicj4mZ3Q7IHw8 YnI+Jmd0OyB8Lm1hY3JvIG1hdGhfbWlubWF4LCBuYW1lLCBjbW92b3AsIHNzZW9wPGJyPiZndDsg LSB8IC5mZnVuYyBuYW1lPGJyPiZndDsgKyB8IC5mZnVuY18xIG5hbWU8YnI+Jmd0OyB8IG1vdiBS QSwgMjxicj4mZ3Q7IHwgY21wIGR3b3JkIFtCQVNFKzRdLCBMSl9USVNOVU08YnI+Jmd0OyB8Lmlm IERVQUxOVU08YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvZ2gtNjE2 My1taW4tbWF4LnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvZ2gtNjE2My1taW4tbWF4 LnRlc3QubHVhPGJyPiZndDsgbmV3IGZpbGUgbW9kZSAxMDA2NDQ8YnI+Jmd0OyBpbmRleCAwMDAw MDAwMC4uZmI3YTQwNTg8YnI+Jmd0OyAtLS0gL2Rldi9udWxsPGJyPiZndDsgKysrIGIvdGVzdC90 YXJhbnRvb2wtdGVzdHMvZ2gtNjE2My1taW4tbWF4LnRlc3QubHVhPGJyPiZndDsgQEAgLTAsMCAr MSwyNjMgQEA8YnI+Jmd0OyArbG9jYWwgdGFwID0gcmVxdWlyZSgndGFwJyk8YnI+Jmd0OyArbG9j YWwgdGVzdCA9IHRhcC50ZXN0KCdnaC02MTYzLWppdC1taW4tbWF4Jyk8YnI+Jmd0OyArbG9jYWwg eDg2XzY0ID0gaml0LmFyY2ggPT0gJ3g4Nicgb3Igaml0LmFyY2ggPT0gJ3g2NCc8YnI+Jmd0OyAr dGVzdDpwbGFuKDE4KTxicj4mZ3Q7ICstLTxicj4mZ3Q7ICstLSBnaC02MTYzOiBtYXRoLm1pbi9t YXRoLm1heCBpbmNvbnNpc3RlbmNpZXMuPGJyPiZndDsgKy0tPGJyPiZndDsgKzxicj4mZ3Q7ICts b2NhbCBmdW5jdGlvbiBpc25hbih4KTxicj4mZ3Q7ICsgcmV0dXJuIHggfj0geDxicj4mZ3Q7ICtl bmQ8YnI+Jmd0OyArPGJyPiZndDsgK2xvY2FsIGZ1bmN0aW9uIGFycmF5X2lzX2NvbnNpc3RlbnQo cmVzKTxicj4mZ3Q7ICsgZm9yIGkgPSAxLCAjcmVzIC0gMSBkbzxicj4mZ3Q7ICsgaWYgcmVzW2ld IH49IHJlc1tpICsgMV0gYW5kIG5vdCAoaXNuYW4ocmVzW2ldKSBhbmQgaXNuYW4ocmVzW2kgKyAx XSkpIHRoZW48YnI+Jmd0OyArIHJldHVybiBmYWxzZTxicj4mZ3Q7ICsgZW5kPGJyPiZndDsgKyBl bmQ8YnI+Jmd0OyArIHJldHVybiB0cnVlPGJyPiZndDsgK2VuZDxicj4mZ3Q7ICs8YnI+Jmd0OyAr LS0gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGRpcnR5IHZhbHVlcyBvbiB0aGUgTHVhIHN0YWNrLjxi cj4mZ3Q7ICstLSBUaGUgbGF0dGVyIG9mIHRoZW0gaXMgZ29pbmcgdG8gYmUgdHJlYXRlZCBhcyBh bjxicj4mZ3Q7ICstLSBhcmd1bWVudCBieSB0aGUgYG1hdGgubWluL21hdGgubWF4YC48YnI+Jmd0 OyArLS0gVGhlIGZpcnN0IHR3byBvZiB0aGVtIGFyZSBnb2luZyB0byBiZSBvdmVyd3JpdHRlbjxi cj4mZ3Q7ICstLSBieSB0aGUgbWF0aCBmdW5jdGlvbiBpdHNlbGYuPGJyPiZndDsgK2xvY2FsIGZ1 bmN0aW9uIGZpbGxlcigpPGJyPiZndDsgKyByZXR1cm4gMSwgMSwgMTxicj4mZ3Q7ICtlbmQ8YnI+ Jmd0OyArPGJyPiZndDsgK2xvY2FsIG1pbiA9IG1hdGgubWluPGJyPiZndDsgK2xvY2FsIG1heCA9 IG1hdGgubWF4PGJyPiZndDsgKzxicj4mZ3Q7ICstLSBJdCB3b3VsZCBiZSBlbm91Z2ggdG8gdGVz dCBhbGwgY2FzZXMgZm9yIHRoZTxicj4mZ3Q7ICstLSBgbWF0aC5taW4oKWAgb3IgZm9yIHRoZSBg bWF0aC5tYXgoKWAgb25seSwgYmVjYXVzZSB0aGU8YnI+Jmd0OyArLS0gcHJvYmxlbSB3YXMgaW4g dGhlIGNvbW1vbiBjb2RlLiBIb3dldmVyLCB3ZSBzaG91bGRuJ3Q8YnI+Jmd0OyArLS0gbWFrZSBz dWNoIGFzc3VtcHRpb25zIGluIHRoZSB0ZXN0aW5nIGNvZGUuPGJyPiZndDsgKzxicj4mZ3Q7ICst LSBgbWF0aC5taW4oKS9tYXRoLm1heCgpYCBzaG91bGQgcmFpc2UgYW4gZXJyb3Igd2hlbjxicj4m Z3Q7ICstLSBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMuPGJyPiZndDsgK2ZpbGxlcigpPGJyPiZn dDsgK2xvY2FsIHIsIF8gPSBwY2FsbChmdW5jdGlvbigpIG1pbigpIGVuZCk8YnI+Jmd0OyArdGVz dDpvayhub3QgciwgJ21hdGgubWluIGZhaWxzIHdpdGggbm8gYXJncycpPGJyPiZndDsgKzxicj4m Z3Q7ICtmaWxsZXIoKTxicj4mZ3Q7ICtyLCBfID0gcGNhbGwoZnVuY3Rpb24oKSBtYXgoKSBlbmQp PGJyPiZndDsgK3Rlc3Q6b2soZmFsc2UgPT0gciwgJ21hdGgubWF4IGZhaWxzIHdpdGggbm8gYXJn cycpPGJyPiZndDsgKzxicj4mZ3Q7ICtsb2NhbCBuYW4gPSAwLzA8YnI+Jmd0OyArbG9jYWwgeCA9 IDE8YnI+Jmd0OyArPGJyPiZndDsgK2ppdC5vcHQuc3RhcnQoJ2hvdGxvb3A9MScpPGJyPiZndDsg Kzxicj4mZ3Q7ICstLSBYWFg6IExvb3Bpbmcgb3ZlciB0aGUgb3BlcmF0aW9ucyBhbmQgdGhlaXIg YXJndW1lbnRzIGJyZWFrZXMgdGhlPGJyPiZndDsgKy0tIHNlbWFudGljcyBvZiBzb21lIG9wdGlt aXphdGlvbiB0ZXN0cyBiZWxvdy4gVGhlIGNhc2VzIGFyZTxicj4mZ3Q7ICstLSBjb3B5LXBhc3Rl ZCB0byBwcmVzZXJ2ZSBvcHRpbWl6YXRpb24gc2VtYW50aWNzLjxicj4mZ3Q7ICs8YnI+Jmd0OyAr LS0gV2l0aG91dCB0aGUgYChhIG8gYikgbyBhID09Jmd0OyBhIG8gYmAgZm9sZCBvcHRpbWl6YXRp b24gZm9yPGJyPiZndDsgKy0tIGBtYXRoLm1pbigpL21hdGgubWF4KClgIHRoZSBmb2xsb3dpbmcg bWNvZGUgaXMgZW1pdHRlZCBvbiBhYXJjaDY0PGJyPiZndDsgKy0tIGZvciB0aGUgYG1hdGgubWlu KG1hdGgubWluKHgsIG5hbiksIHgpYCBleHByZXNzaW9uOjxicj4mZ3Q7ICstLTxicj4mZ3Q7ICst LSB8IGZjbXAgZDIsIGQzIDsgZmNtcCAxLjAsIG5hbjxicj4mZ3Q7ICstLSB8IGZjc2VsIGQxLCBk MiwgZDMsIGNjIDsgZDEgPT0gbmFuIGFmdGVyIHRoaXMgaW5zdHJ1Y3Rpb248YnI+Jmd0OyArLS0g fCAuLi48YnI+Jmd0OyArLS0gfCBmY21wIGQxLCBkMiA7IGZjbXAgbmFuLCAxLjA8YnI+Jmd0OyAr LS0gfCBmY3NlbCBkMCwgZDEsIGQyLCBjYyA7IGQwID09IDEuMCBhZnRlciB0aGlzIGluc3RydWN0 aW9uPGJyPiZndDsgKy0tPGJyPiZndDsgKy0tIEFjY29yZGluZyB0byB0aGUgYGZjbXBgIGRvY3Nb MV0sIGlmIGVpdGhlciBvZiB0aGUgb3BlcmFuZHMgaXMgTmFOLDxicj4mZ3Q7ICstLSB0aGVuIHRo ZSBvcGVyYW5kcyBhcmUgdW5vcmRlcmVkLiBJdCByZXN1bHRzIGluIHRoZSBmb2xsb3dpbmcgc3Rh dGU8YnI+Jmd0OyArLS0gb2YgdGhlIGZsYWdzIHJlZ2lzdGVyOiBOPTAsIFo9MCwgQz0xLCBWPTE8 YnI+Jmd0OyArLS08YnI+Jmd0OyArLS0gQWNjb3JkaW5nIHRvIHRoZSBgZmNzZWxgIGRvY3NbMl0s IGlmIHRoZSBjb25kaXRpb24gaXMgbWV0LCB0aGVuPGJyPiZndDsgKy0tIHRoZSBmaXJzdCByZWdp c3RlciB2YWx1ZSBpcyB0YWtlbiwgb3RoZXJ3aXNlIC0tIHRoZSBzZWNvbmQuPGJyPiZndDsgKy0t IEluIG91ciBjYXNlLCB0aGUgY29uZGl0aW9uIGlzIGNjLCB3aGljaCBtZWFucyB0aGF0IHRoZSBg Q2AgZmxhZzxicj4mZ3Q7ICstLSBzaG91bGQgYmUgY2xlYXJbM10sIHdoaWNoIGlzIGZhbHNlLiBU aGVuLCB0aGUgc2Vjb25kIHZhbHVlIGlzIHRha2VuLDxicj4mZ3Q7ICstLSB3aGljaCBpcyBgTmFO YCBmb3IgdGhlIGZpcnN0IGBmY21wYC1gZmNzZWxgIHBhaXIsIGFuZCBgMS4wYCBmb3I8YnI+Jmd0 OyArLS0gdGhlIHNlY29uZC48YnI+Jmd0OyArLS08YnI+Jmd0OyArLS0gSWYgdGhhdCBmb2xkIG9w dGltaXphdGlvbiBpcyBhcHBsaWVkLCB0aGVuIG9ubHkgdGhlIGZpcnN0IGBmY21wYC1gZmNzZWxg PGJyPiZndDsgKy0tIHBhaXIgaXMgZW1pdHRlZCwgYW5kIHRoZSByZXN1bHQgaXMgYE5hTmAsIHdo aWNoIGlzIGluY29uc2lzdGVudCB3aXRoPGJyPiZndDsgKy0tIHRoZSByZXN1bHQgb2YgdGhlIG5v bi1vcHRpbWl6ZWQgbWNvZGUuPGJyPiZndDsgKy0tPGJyPiZndDsgKy0tIFsxXTogPGEgaHJlZj0i aHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2R1aTA4MDEvZy9BNjQtRmxv YXRpbmctcG9pbnQtSW5zdHJ1Y3Rpb25zL0ZDTVAiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2Rl dmVsb3Blci5hcm0uY29tL2RvY3VtZW50YXRpb24vZHVpMDgwMS9nL0E2NC1GbG9hdGluZy1wb2lu dC1JbnN0cnVjdGlvbnMvRkNNUDwvYT48YnI+Jmd0OyArLS0gWzJdOiA8YSBocmVmPSJodHRwczov L2RldmVsb3Blci5hcm0uY29tL2RvY3VtZW50YXRpb24vMTAwMDY5LzA2MDgvQTY0LUZsb2F0aW5n LXBvaW50LUluc3RydWN0aW9ucy9GQ1NFTCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZGV2ZWxv cGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDAwNjkvMDYwOC9BNjQtRmxvYXRpbmctcG9pbnQt SW5zdHJ1Y3Rpb25zL0ZDU0VMPC9hPjxicj4mZ3Q7ICstLSBbM106IDxhIGhyZWY9Imh0dHBzOi8v ZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi9kdWkwMDY4L2IvQVJNLUluc3RydWN0aW9u LVJlZmVyZW5jZS9Db25kaXRpb25hbC1leGVjdXRpb24iIHRhcmdldD0iX2JsYW5rIj5odHRwczov L2RldmVsb3Blci5hcm0uY29tL2RvY3VtZW50YXRpb24vZHVpMDA2OC9iL0FSTS1JbnN0cnVjdGlv bi1SZWZlcmVuY2UvQ29uZGl0aW9uYWwtZXhlY3V0aW9uPC9hPjxicj4mZ3Q7ICs8YnI+Jmd0OyAr bG9jYWwgcmVzdWx0ID0ge308YnI+Jmd0OyArZm9yIGsgPSAxLCA0IGRvPGJyPiZndDsgKyByZXN1 bHRba10gPSBtaW4obWluKHgsIG5hbiksIHgpPGJyPiZndDsgK2VuZDxicj4mZ3Q7ICstLSBleHBl Y3RlZDogMSAxIDEgMTxicj4mZ3Q7ICt0ZXN0Om9rKGFycmF5X2lzX2NvbnNpc3RlbnQocmVzdWx0 KSwgJ21hdGgubWluOiByZWFzc29jX2R1cCcpPGJyPiZndDsgKzxicj4mZ3Q7ICtyZXN1bHQgPSB7 fTxicj4mZ3Q7ICtmb3IgayA9IDEsIDQgZG88YnI+Jmd0OyArIHJlc3VsdFtrXSA9IG1heChtYXgo eCwgbmFuKSwgeCk8YnI+Jmd0OyArZW5kPGJyPiZndDsgKy0tIGV4cGVjdGVkOiAxIDEgMSAxPGJy PiZndDsgK3Rlc3Q6b2soYXJyYXlfaXNfY29uc2lzdGVudChyZXN1bHQpLCAnbWF0aC5tYXg6IHJl YXNzb2NfZHVwJyk8YnI+Jmd0OyArPGJyPiZndDsgKy0tIElmIG9uZSBnZXRzIHRoZSBleHByZXNz aW9uIGxpa2UgYG1hdGgubWluKHgsIG1hdGgubWluKHgsIG5hbikpYCw8YnI+Jmd0OyArLS0gYW5k IHRoZSBgY29tbV9kdXBgIG9wdGltaXphdGlvbiBpcyBhcHBsaWVkLCBpdCByZXN1bHRzIGluIHRo ZTxicj4mZ3Q7ICstLSBzYW1lIHNpdHVhdGlvbiBhcyBleHBsYWluZWQgYWJvdmUuIFdpdGggdGhl IGBjb21tX2R1cF9taW5tYXhgPGJyPiZndDsgKy0tIHRoZXJlIGlzIG5vIHN3YXAsIGhlbmNlLCBl dmVyeXRoaW5nIGlzIGNvbnNpc3RlbnQgYWdhaW46PGJyPiZndDsgKy0tPGJyPiZndDsgKy0tIHwg ZmNtcCBkMiwgZDMgOyBmY21wIDEuMCwgbmFuPGJyPiZndDsgKy0tIHwgZmNzZWwgZDEsIGQzLCBk MiwgcGwgOyBkMSA9PSBuYW4gYWZ0ZXIgdGhpcyBpbnN0cnVjdGlvbjxicj4mZ3Q7ICstLSB8IC4u Ljxicj4mZ3Q7ICstLSB8IGZjbXAgZDIsIGQxIDsgZmNtcCAxLjAsIG5hbjxicj4mZ3Q7ICstLSB8 IGZjc2VsIGQwLCBkMSwgZDIsIHBsIDsgZDAgPT0gbmFuIGFmdGVyIHRoaXMgaW5zdHJ1Y3Rpb248 YnI+Jmd0OyArLS0gYHBsYCAoYWthIGBDQ19QTGApIGNvbmRpdGlvbiBtZWFucyB0aGF0IE4gZmxh ZyBpcyAwIFsyXSwgdGhhdDxicj4mZ3Q7ICstLSBpcyB0cnVlIHdoZW4gd2UgYXJlIGNvbXBhcmlu ZyBzb21ldGhpbmcgd2l0aCBOYU4uIFNvLCB0aGUgdmFsdWUgb2YgdGhlPGJyPiZndDsgKy0tIGZp cnN0IHNvdXJjZSByZWdpc3RlciBpcyB0YWtlbjxicj4mZ3Q7ICs8YnI+Jmd0OyArcmVzdWx0ID0g e308YnI+Jmd0OyArZm9yIGsgPSAxLCA0IGRvPGJyPiZndDsgKyByZXN1bHRba10gPSBtaW4oeCwg bWluKHgsIG5hbikpPGJyPiZndDsgK2VuZDxicj4mZ3Q7ICstLSBGSVhNRTogcmVzdWx0cyBhcmUg c3RpbGwgaW5jb25zaXN0ZW50IGZvciB0aGUgeDg2LzY0IGFyY2hpdGVjdHVyZS48YnI+Jmd0OyAr LS0gZXhwZWN0ZWQ6IG5hbiBuYW4gbmFuIG5hbjxicj4mZ3Q7ICt0ZXN0Om9rKGFycmF5X2lzX2Nv bnNpc3RlbnQocmVzdWx0KSBvciB4ODZfNjQsICdtYXRoLm1pbjogY29tbV9kdXBfbWlubWF4Jyk8 YnI+Jmd0OyArPGJyPiZndDsgK3Jlc3VsdCA9IHt9PGJyPiZndDsgK2ZvciBrID0gMSwgNCBkbzxi cj4mZ3Q7ICsgcmVzdWx0W2tdID0gbWF4KHgsIG1heCh4LCBuYW4pKTxicj4mZ3Q7ICtlbmQ8YnI+ Jmd0OyArLS0gRklYTUU6IHJlc3VsdHMgYXJlIHN0aWxsIGluY29uc2lzdGVudCBmb3IgdGhlIHg4 Ni82NCBhcmNoaXRlY3R1cmUuPGJyPiZndDsgKy0tIGV4cGVjdGVkOiBuYW4gbmFuIG5hbiBuYW48 YnI+Jmd0OyArdGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCkgb3IgeDg2XzY0LCAn bWF0aC5tYXg6IGNvbW1fZHVwX21pbm1heCcpPGJyPiZndDsgKzxicj4mZ3Q7ICstLSBUaGUgZm9s bG93aW5nIG9wdGltaXphdGlvbiBzaG91bGQgYmUgZGlzYWJsZWQ6PGJyPiZndDsgKy0tICh4IG8g azEpIG8gazIgPT0mZ3Q7IHggbyAoazEgbyBrMik8YnI+Jmd0OyArPGJyPiZndDsgK3ggPSAxLjI8 YnI+Jmd0OyArcmVzdWx0ID0ge308YnI+Jmd0OyArZm9yIGsgPSAxLCA0IGRvPGJyPiZndDsgKyBy ZXN1bHRba10gPSBtaW4obWluKHgsIDAvMCksIDEuMyk8YnI+Jmd0OyArZW5kPGJyPiZndDsgKy0t IGV4cGVjdGVkOiAxLjMgMS4zIDEuMyAxLjM8YnI+Jmd0OyArdGVzdDpvayhhcnJheV9pc19jb25z aXN0ZW50KHJlc3VsdCksICdtYXRoLm1pbjogcmVhc3NvY19taW5tYXhfaycpPGJyPiZndDsgKzxi cj4mZ3Q7ICtyZXN1bHQgPSB7fTxicj4mZ3Q7ICtmb3IgayA9IDEsIDQgZG88YnI+Jmd0OyArIHJl c3VsdFtrXSA9IG1heChtYXgoeCwgMC8wKSwgMS4xKTxicj4mZ3Q7ICtlbmQ8YnI+Jmd0OyArLS0g ZXhwZWN0ZWQ6IDEuMSAxLjEgMS4xIDEuMTxicj4mZ3Q7ICt0ZXN0Om9rKGFycmF5X2lzX2NvbnNp c3RlbnQocmVzdWx0KSwgJ21hdGgubWF4OiByZWFzc29jX21pbm1heF9rJyk8YnI+Jmd0OyArPGJy PiZndDsgK3Jlc3VsdCA9IHt9PGJyPiZndDsgK2ZvciBrID0gMSwgNCBkbzxicj4mZ3Q7ICsgcmVz dWx0W2tdID0gbWluKG1heChuYW4sIDEpLCAxKTxicj4mZ3Q7ICtlbmQ8YnI+Jmd0OyArLS0gZXhw ZWN0ZWQ6IDEgMSAxIDE8YnI+Jmd0OyArdGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3Vs dCksICdtaW4tbWF4LWNhc2UxOiByZWFzc29jX21pbm1heF9sZWZ0Jyk8YnI+Jmd0OyArPGJyPiZn dDsgK3Jlc3VsdCA9IHt9PGJyPiZndDsgK2ZvciBrID0gMSwgNCBkbzxicj4mZ3Q7ICsgcmVzdWx0 W2tdID0gbWluKG1heCgxLCBuYW4pLCAxKTxicj4mZ3Q7ICtlbmQ8YnI+Jmd0OyArLS0gZXhwZWN0 ZWQ6IDEgMSAxIDE8YnI+Jmd0OyArdGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCks ICdtaW4tbWF4LWNhc2UyOiByZWFzc29jX21pbm1heF9sZWZ0Jyk8YnI+Jmd0OyArPGJyPiZndDsg K3Jlc3VsdCA9IHt9PGJyPiZndDsgK2ZvciBrID0gMSwgNCBkbzxicj4mZ3Q7ICsgcmVzdWx0W2td ID0gbWF4KG1pbihuYW4sIDEpLCAxKTxicj4mZ3Q7ICtlbmQ8YnI+Jmd0OyArLS0gZXhwZWN0ZWQ6 IDEgMSAxIDE8YnI+Jmd0OyArdGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCksICdt YXgtbWluLWNhc2UxOiByZWFzc29jX21pbm1heF9sZWZ0Jyk8YnI+Jmd0OyArPGJyPiZndDsgK3Jl c3VsdCA9IHt9PGJyPiZndDsgK2ZvciBrID0gMSwgNCBkbzxicj4mZ3Q7ICsgcmVzdWx0W2tdID0g bWF4KG1pbigxLCBuYW4pLCAxKTxicj4mZ3Q7ICtlbmQ8YnI+Jmd0OyArLS0gZXhwZWN0ZWQ6IDEg MSAxIDE8YnI+Jmd0OyArdGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCksICdtYXgt bWluLWNhc2UyOiByZWFzc29jX21pbm1heF9sZWZ0Jyk8YnI+Jmd0OyArPGJyPiZndDsgK3Jlc3Vs dCA9IHt9PGJyPiZndDsgK2ZvciBrID0gMSwgNCBkbzxicj4mZ3Q7ICsgcmVzdWx0W2tdID0gbWlu KDEsIG1heChuYW4sIDEpKTxicj4mZ3Q7ICtlbmQ8YnI+Jmd0OyArLS0gZXhwZWN0ZWQ6IDEgMSAx IDE8YnI+Jmd0OyArdGVzdDpvayhhcnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCksICdtaW4tbWF4 LWNhc2UxOiByZWFzc29jX21pbm1heF9yaWdodCcpPGJyPiZndDsgKzxicj4mZ3Q7ICtyZXN1bHQg PSB7fTxicj4mZ3Q7ICtmb3IgayA9IDEsIDQgZG88YnI+Jmd0OyArIHJlc3VsdFtrXSA9IG1pbigx LCBtYXgoMSwgbmFuKSk8YnI+Jmd0OyArZW5kPGJyPiZndDsgKy0tIEZJWE1FOiByZXN1bHRzIGFy ZSBzdGlsbCBpbmNvbnNpc3RlbnQgZm9yIHRoZSB4ODYvNjQgYXJjaGl0ZWN0dXJlLjxicj4mZ3Q7 ICstLSBleHBlY3RlZDogbmFuIG5hbiBuYW4gbmFuPGJyPiZndDsgK3Rlc3Q6b2soYXJyYXlfaXNf Y29uc2lzdGVudChyZXN1bHQpIG9yIHg4Nl82NCwgJ21pbi1tYXgtY2FzZTI6IHJlYXNzb2NfbWlu bWF4X3JpZ2h0Jyk8YnI+Jmd0OyArPGJyPiZndDsgK3Jlc3VsdCA9IHt9PGJyPiZndDsgK2ZvciBr ID0gMSwgNCBkbzxicj4mZ3Q7ICsgcmVzdWx0W2tdID0gbWF4KDEsIG1pbihuYW4sIDEpKTxicj4m Z3Q7ICtlbmQ8YnI+Jmd0OyArLS0gZXhwZWN0ZWQ6IDEgMSAxIDE8YnI+Jmd0OyArdGVzdDpvayhh cnJheV9pc19jb25zaXN0ZW50KHJlc3VsdCksICdtYXgtbWluLWNhc2UxOiByZWFzc29jX21pbm1h eF9yaWdodCcpPGJyPiZndDsgKzxicj4mZ3Q7ICtyZXN1bHQgPSB7fTxicj4mZ3Q7ICtmb3IgayA9 IDEsIDQgZG88YnI+Jmd0OyArIHJlc3VsdFtrXSA9IG1heCgxLCBtaW4oMSwgbmFuKSk8YnI+Jmd0 OyArZW5kPGJyPiZndDsgKy0tIEZJWE1FOiByZXN1bHRzIGFyZSBzdGlsbCBpbmNvbnNpc3RlbnQg Zm9yIHRoZSB4ODYvNjQgYXJjaGl0ZWN0dXJlLjxicj4mZ3Q7ICstLSBleHBlY3RlZDogbmFuIG5h biBuYW4gbmFuPGJyPiZndDsgK3Rlc3Q6b2soYXJyYXlfaXNfY29uc2lzdGVudChyZXN1bHQpIG9y IHg4Nl82NCwgJ21heC1taW4tY2FzZTI6IHJlYXNzb2NfbWlubWF4X3JpZ2h0Jyk8YnI+Jmd0OyAr PGJyPiZndDsgKy0tIFhYWDogSWYgd2UgbG9vayBpbnRvIHRoZSBkaXNhc3NlbWJsZWQgY29kZSBv ZiBgbGpfdm1fZm9sZGFyaXRoKClgPGJyPiZndDsgKy0tIHdlIGNhbiBzZWUgdGhlIGZvbGxvd2lu Zzo8YnI+Jmd0OyArLS08YnI+Jmd0OyArLS0gfCAvKiBJbiBvdXIgdGVzdCB4ID09IDcuMSwgeSA9 PSBuYW4gKi88YnI+Jmd0OyArLS0gfCBjYXNlIElSX01JTiAtIElSX0FERDogcmV0dXJuIHggJmd0 OyB5ID8geSA6IHg7IGJyZWFrOzxicj4mZ3Q7ICstLTxicj4mZ3Q7ICstLSB8IDsgY2FzZSBJUl9N SU48YnI+Jmd0OyArLS0gfCAmbHQ7bGpfdm1fZm9sZGFyaXRoKzMzNyZndDs6IG1vdnNkIHhtbTAs UVdPUkQgUFRSIFtyc3ArMHgxOF0gOyB4bW0wICZsdDstIDcuMTxicj4mZ3Q7ICstLSB8ICZsdDts al92bV9mb2xkYXJpdGgrMzQzJmd0OzogY29taXNkIHhtbTAsUVdPUkQgUFRSIFtyc3ArMHgxMF0g OyBjb21pc2QgNy4xLCBuYW48YnI+Jmd0OyArLS0gfCAmbHQ7bGpfdm1fZm9sZGFyaXRoKzM0OSZn dDs6IGpiZSAmbHQ7bGpfdm1fZm9sZGFyaXRoKzM1OCZndDsgOyAmZ3Q7PSA/PGJyPiZndDsgKy0t IHwgJmx0O2xqX3ZtX2ZvbGRhcml0aCszNTEmZ3Q7OiBtb3YgcmF4LFFXT1JEIFBUUiBbcnNwKzB4 MTBdIDsgcmV0dXJuIG5hbjxicj4mZ3Q7ICstLSB8ICZsdDtsal92bV9mb2xkYXJpdGgrMzU2Jmd0 Ozogam1wICZsdDtsal92bV9mb2xkYXJpdGgrMzk4Jmd0OyA7PGJyPiZndDsgKy0tIHwgJmx0O2xq X3ZtX2ZvbGRhcml0aCszNTgmZ3Q7OiBtb3YgcmF4LFFXT1JEIFBUUiBbcnNwKzB4MThdIDsgZWxz ZSByZXR1cm4gNy4xPGJyPiZndDsgKy0tIHwgJmx0O2xqX3ZtX2ZvbGRhcml0aCszNjMmZ3Q7OiBq bXAgJmx0O2xqX3ZtX2ZvbGRhcml0aCszOTgmZ3Q7IDs8YnI+Jmd0OyArLS08YnI+Jmd0OyArLS0g QWNjb3JkaW5nIHRvIGBjb21pc2RgIGRvY3VtZW50YXRpb24gWzRdIGluIGNhc2Ugd2hlbiBvbmUg b2YgdGhlIG9wZXJhbmRzPGJyPiZndDsgKy0tIGlzIE5hTiwgdGhlIHJlc3VsdCBpcyB1bm9yZGVy ZWQgYW5kIFpGLFBGLENGIDo9IDExMS4gVGhpcyBtZWFucyB0aGF0IGBqYmVgPGJyPiZndDsgKy0t IGNvbmRpdGlvbiBpcyB0cnVlIChDRj0xIG9yIFpGPTEpWzVdLCBzbyB3ZSByZXR1cm4gNy4xICh0 aGUgZmlyc3Q8YnI+Jmd0OyArLS0gb3BlcmFuZCkgZm9yIGNhc2UgYElSX01JTmAuPGJyPiZndDsg Ky0tPGJyPiZndDsgKy0tIEhvd2V2ZXIsIGluIGBsal9mZl9tYXRoX21pbigpYCBpbiB0aGUgVk0g d2Ugc2VlIHRoZSBmb2xsb3dpbmc6PGJyPiZndDsgKy0tIHw3Ojxicj4mZ3Q7ICstLSB8IHNzZW9w IHhtbTAsIHhtbTE8YnI+Jmd0OyArLS0gV2hlcmUgYHNzZW9wYCBpcyBlaXRoZXIgYG1pbnNkYCBv ciBgbWF4c2RgIGluc3RydWN0aW9uLjxicj4mZ3Q7ICstLSBJZiBvbmx5IG9uZSBvZiB0aGVpciBh cmdzIGlzIGEgTmFOLCB0aGUgc2Vjb25kIHNvdXJjZSBvcGVyYW5kLDxicj4mZ3Q7ICstLSBlaXRo ZXIgYSBOYU4gb3IgYSB2YWxpZCBmbG9hdGluZy1wb2ludCB2YWx1ZSwgaXM8YnI+Jmd0OyArLS0g d3JpdHRlbiB0byB0aGUgcmVzdWx0Ljxicj4mZ3Q7ICstLTxicj4mZ3Q7ICstLSBTbyB0aGUgcGF0 Y2ggY2hhbmdlcyB0aGUgYGxqX3ZtX2ZvbGRhaXJ0aCgpYCBhc3NlbWJseSBpbiB0aGUgZm9sbG93 aW5nIHdheTo8YnI+Jmd0OyArLS0gfCA7IGNhc2UgSVJfTUlOPGJyPiZndDsgKy0tIHwgJmx0O2xq X3ZtX2ZvbGRhcml0aCszMzcmZ3Q7OiBtb3ZzZCB4bW0wLFFXT1JEIFBUUiBbcnNwKzB4MTBdIDsg eG1tMCAmbHQ7LSBuYW48YnI+Jmd0OyArLS0gfCAmbHQ7bGpfdm1fZm9sZGFyaXRoKzM0MyZndDs6 IGNvbWlzZCB4bW0wLFFXT1JEIFBUUiBbcnNwKzB4MThdIDsgY29taXNkIG5hbiwgNy4xPGJyPiZn dDsgKy0tIHwgJmx0O2xqX3ZtX2ZvbGRhcml0aCszNDkmZ3Q7OiBqYmUgJmx0O2xqX3ZtX2ZvbGRh cml0aCszNTgmZ3Q7IDsgJmd0Oz0gPzxicj4mZ3Q7ICstLSB8ICZsdDtsal92bV9mb2xkYXJpdGgr MzUxJmd0OzogbW92IHJheCxRV09SRCBQVFIgW3JzcCsweDE4XSA7IHJldHVybiA3LjE8YnI+Jmd0 OyArLS0gfCAmbHQ7bGpfdm1fZm9sZGFyaXRoKzM1NiZndDs6IGptcCAmbHQ7bGpfdm1fZm9sZGFy aXRoKzM5OCZndDsgOzxicj4mZ3Q7ICstLSB8ICZsdDtsal92bV9mb2xkYXJpdGgrMzU4Jmd0Ozog bW92IHJheCxRV09SRCBQVFIgW3JzcCsweDEwXSA7IGVsc2UgcmV0dXJuIG5hbjxicj4mZ3Q7ICst LSB8ICZsdDtsal92bV9mb2xkYXJpdGgrMzYzJmd0Ozogam1wICZsdDtsal92bV9mb2xkYXJpdGgr Mzk4Jmd0OyA7PGJyPiZndDsgKy0tPGJyPiZndDsgKy0tIFNvIG5vdyB3ZSBhbHdheXMgcmV0dXJu IHRoZSBzZWNvbmQgb3BlcmFuZC48YnI+Jmd0OyArLS08YnI+Jmd0OyArLS0gWFhYOiBUaGUgdHdv IHRlc3RzIGJlbG93IHVzZSB0aGUgYDAvMGAgY29uc3RhbnQgaW5zdGVhZCBvZiBgbmFuYDxicj4m Z3Q7ICstLSB2YXJpYWJsZSBpcyBkaWN0YXRlZCBieSB0aGUgYGZvbGRfa2ZvbGRfbnVtYXJpdGhg IHNlbWFudGljcy48YnI+Jmd0OyArcmVzdWx0ID0ge308YnI+Jmd0OyArZm9yIGsgPSAxLCA0IGRv PGJyPiZndDsgKyByZXN1bHRba10gPSBtaW4obWluKDcuMSwgMC8wKSwgMS4xKTxicj4mZ3Q7ICtl bmQ8YnI+Jmd0OyArLS0gZXhwZWN0ZWQ6IDEuMSAxLjEgMS4xIDEuMTxicj4mZ3Q7ICt0ZXN0Om9r KGFycmF5X2lzX2NvbnNpc3RlbnQocmVzdWx0KSwgJ21pbjogZm9sZF9rZm9sZF9udW1hcml0aCcp PGJyPiZndDsgKzxicj4mZ3Q7ICtyZXN1bHQgPSB7fTxicj4mZ3Q7ICtmb3IgayA9IDEsIDQgZG88 YnI+Jmd0OyArIHJlc3VsdFtrXSA9IG1heChtYXgoNy4xLCAwLzApLCAxLjEpPGJyPiZndDsgK2Vu ZDxicj4mZ3Q7ICstLSBleHBlY3RlZDogMS4xIDEuMSAxLjEgMS4xPGJyPiZndDsgK3Rlc3Q6b2so YXJyYXlfaXNfY29uc2lzdGVudChyZXN1bHQpLCAnbWF4OiBmb2xkX2tmb2xkX251bWFyaXRoJyk8 YnI+Jmd0OyArPGJyPiZndDsgK29zLmV4aXQodGVzdDpjaGVjaygpIGFuZCAwIG9yIDEpPGJyPiZn dDsgLS08YnI+Jmd0OyAyLjM3LjEgKEFwcGxlIEdpdC0xMzcuMSk8YnI+Jmd0OzwvZGl2PjwvZGl2 PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PiZuYnNwOzwvZGl2PjwvZGl2Pjwv YmxvY2txdW90ZT48L0JPRFk+PC9IVE1MPgo= ----ALT--314a96B6F8fBD32a356f5e85D8dCf8Ba1678114360--