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 560BE1BD853; Thu, 26 Jan 2023 17:45:59 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 560BE1BD853 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1674744359; bh=KagHFUGTuirS1FSdsznsbDAgYkJT7LsgS2YCQh9IiYk=; 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=Z0xDFFlIG4edwJuHFgfcqsnSOgtj/Ck02oWYLt2suODahySBxwfiG6ISpKMxYP/hP NCUVZ/uDwQs5/3LirZ2lJxubaVx3a8bDuY4SvKeUlK8PlugdOyZdh0xyYVYPRq21r4 7HaHnBcTE0wN3gXkgiqDpvk4zoQ3bEFDP5WfUlpI= Received: from f753.i.mail.ru (f753.i.mail.ru [45.84.129.124]) (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 96FC61BD853 for ; Thu, 26 Jan 2023 17:45:58 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 96FC61BD853 Received: by f753.i.mail.ru with local (envelope-from ) id 1pL3Vk-00086B-4t; Thu, 26 Jan 2023 17:45:56 +0300 Received: by e.mail.ru with HTTP; Thu, 26 Jan 2023 17:45:56 +0300 To: =?UTF-8?B?U2VyZ2V5IEthcGx1bg==?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16747169861188406182 X-SenderField-Remind: 0 Date: Thu, 26 Jan 2023 17:45:56 +0300 X-Priority: 3 (Normal) Message-ID: <1674744356.835526054@f753.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--54aE1d85e84D79C61B83Bd1C5c1De2C81674744356" In-Reply-To: References: <1674573205.475122003@f164.i.mail.ru> X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 119C1F4DF6A9251CC4CB645F38C7FB2C7A971C87AC641BD61953E04172E4852F8FD872164937FA4CF6F4C5358E855F69396D54FE50971B6DE46FABB6A33A6E4AB4D78A385411A981 X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE7657CBE4C891612CED82A6BABE6F325ACACBFF42033827DA7BCF491FFA38154B613377AFFFEAFD269176DF2183F8FC7C0E30E47A50CB819D6C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE792E16514AF283DFAEA1F7E6F0F101C6723150C8DA25C47586E58E00D9D99D84E1BDDB23E98D2D38B6F1F7B995052D5CE05046D60604025EB650F4B34160707DCCC7F00164DA146DAFE8445B8C89999728AA50765F7900637F924B32C592EA89F389733CBF5DBD5E9C8A9BA7A39EFB766F5D81C698A659EA7CC7F00164DA146DA9985D098DBDEAEC84D3DDB508812D900F6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA7E827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F790063735872C767BF85DA227C277FBC8AE2E8B2303E78B907142AC75ECD9A6C639B01B4E70A05D1297E1BBCB5012B2E24CD356 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34A783A638E01A3CDEB52E17A88B20E6D0607B852DDD40BA17BE6118C13A2B28B39C3B8E7EB15170431D7E09C32AA3244CF609FEAA1F55E3BEB7BA3C4828C62840BBA718C7E6A9E042FACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhKwbBStgXi9FGYuhdRB4lBw== X-Mailru-MI: 80000000000000400800 X-Mailru-Sender: AA591B35411F7F75656A9C333011AC3855B48EC9B6DAD4750FFD51B6F519801AB040AD744C92D0A157BE63593B17739F29380EAE0A631D0EC1769CFB044623F8E747D2BC1AD30F011E60DA90B68B1748BB83A8C3DAEBA78A61AAEF30F77CACB9EAB4BC95F72C04283CDA0F3B3F5B9367 X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit_3/3=5D_x86/x64=3A_?= =?utf-8?q?Fix_loop_realignment=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: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--54aE1d85e84D79C61B83Bd1C5c1De2C81674744356 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpLCBTZXJnZXkhClRoYW5rcyBmb3IgdGhlIGZpeGVzIQpMR1RNCsKgCj7CoAo+PkhpLCBNYXhp bSEKPj4KPj5UaGFua3MgZm9yIHRoZSByZXZpZXchCj4+Cj4+T24gMjQuMDEuMjMsIE1heGltIEtv a3J5YXNoa2luIHdyb3RlOgo+Pj4KPj4+IEhpLCBTZXJnZXkhCj4+PiBUaGFua3MgZm9yIHRoZSBw YXRjaCEKPj4+IFBsZWFzZSBjb25zaWRlciBteSBjb21tZW50cyBiZWxvdy4KPj4+IMKgCj4+PiA+ wqAKPj4+ID4+RnJvbTogTWlrZSBQYWxsIDxtaWtlPgo+Pj4gPj4KPj4+ID4+KGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgNTIyZDIwNzNkYTRiZTJhZjc5ZGI0NzI4Y2JiMzc1ZGIwZmJkZmM0OCkK Pj4+ID4+Cj4+PiA+PmBhc21faW50YXJpdGgoKWAgZnVuY3Rpb24gbWF5IHRyeSB0byBkcm9wIGB0 ZXN0IHIsIHJgIGluc3RydWN0aW9uIGJlZm9yZQo+Pj4gPlBsZWFzZSBub3RlIHRoYXQgInIiIGlz IGFuIGFsbG9jYXRlZCByZWdpc3RlcsKgZm9yIHRoZSBpbnN0cnVjdGlvbi4KPj4+ID4+dGhlIEpj YyBpbnN0cnVjdGlvbi4gSG93ZXZlciwgaW4gY2FzZSB3aGVuIEpjYyBpbnN0cnVjdGlvbiBpcyAi SnVtcAo+Pj4gPlR5cG86IHMvaW4gY2FzZSB3aGVuL2luIGNhc2VzIHdoZXJlLwo+Pgo+PkZpeGVk Lgo+Pgo+Pj4gPj5zaG9ydCBpZiAuLi4iIGluc3RydWN0aW9uIChpLmUuIGhhcyBubyAwRiBvcGNv ZGUgcHJlZml4IGxpa2UgIkp1bXAgbmVhcgo+Pj4gPj5pZiAuLi4iKSwgdGhlIGB0ZXN0YCBpbnN0 cnVjdGlvbiBpcyBkcm9wcGVkIHdoZW4gc2hvdWxkbid0IGJlLCBkdWUgdG8KPj4+ID5UeXBvOiBz L3doZW4vd2hlbiBpdC8KPj4+ID4+bWVtb3J5IG1pc3MuIEFzIHRoZSByZXN1bHQsIHRoZSBsb29w IGNhbid0IGJlIHJlYWxpZ25lZCBsYXRlciBpbgo+Pj4gPlR5cG86IHMvbWVtb3J5L2EgbWVtb3J5 Lwo+Pj4gPkFsc28sIHRoYXQgcGFydCBhYm91dCB0aGUgbWVtb3J5IG1pc3MgaXMgdW5jbGVhciwg aXQgd291bGQgYmUgYmV0dGVyIGlmIHlvdQo+Pj4gPmNvdWxkIGNsYXJpZnkgaXQgYSBiaXQuCj4+ PiA+PmBhc21fbG9vcF9maXh1cGAgZHVlIHRvIHRhcmdldCB0byBqdW1wIGlzbid0IGFsaWduZWQg YW5kIHRoZSBhc3NlcnRpb24KPj4+ID5UeXBvOiBzL2lzbuKAmXQgYWxpZ25lZC9iZWluZyBtaXNh bGlnbmVkLwo+Pgo+PkZpeGVkLgo+Pgo+Pj4gPj5mYWlscy4KPj4+ID4+Cj4+PiA+PlRoaXMgcGF0 Y2ggYWRkcyB0aGUgYWRkaXRpb25hbCBjaGVjayBmb3IgMEYgb3Bjb2RlIGluIGBhc21faW50YXJp dGgoKWAuCj4+PiA+VHlwbzogcy9mb3IgMEYvZm9yIHRoZSAwRi8KPj4KPj5GaXhlZCwgdGhhbmtz IQo+Pgo+Pj4gPj4KPj4+ID4+U2VyZ2V5IEthcGx1bjoKPj4+ID4+KiBhZGRlZCB0aGUgZGVzY3Jp cHRpb24gYW5kIHRoZSB0ZXN0IGZvciB0aGUgcHJvYmxlbQo+Pj4gPj4KPj4+ID4+UGFydCBvZiB0 YXJhbnRvb2wvdGFyYW50b29sIzgwNjkKPj4KPj5UaGUgbmV3IGNvbW1pdCBtZXNzYWdlIGlzIHRo ZSBmb2xsb3dpbmc6Cj4+Cj4+fCB4ODYveDY0OiBGaXggbG9vcCByZWFsaWdubWVudC4KPj58Cj4+ fCAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1MjJkMjA3M2RhNGJlMmFmNzlkYjQ3MjhjYmIz NzVkYjBmYmRmYzQ4KQo+PnwKPj58IGBhc21faW50YXJpdGgoKWAgZnVuY3Rpb24gbWF5IHRyeSB0 byBkcm9wIGB0ZXN0IHIsIHJgICh3aGVyZSBgcmAgaXMgYW4KPj58IGFsbG9jYXRlZCByZWdpc3Rl cikgaW5zdHJ1Y3Rpb24gYmVmb3JlIHRoZSBKY2MgaW5zdHJ1Y3Rpb24uIEhvd2V2ZXIsIGluCj4+ fCBjYXNlcyB3aGVuIEpjYyBpbnN0cnVjdGlvbiBpcyAiSnVtcCBzaG9ydCBpZiAuLi4iIGluc3Ry dWN0aW9uIChpLmUuIGhhcwo+Pnwgbm8gMEYgb3Bjb2RlIHByZWZpeCBsaWtlICJKdW1wIG5lYXIg aWYgLi4uIiksIHRoZSBgdGVzdGAgaW5zdHJ1Y3Rpb24gaXMKPj58IGRyb3BwZWQgd2hlbiBpdCBz aG91bGRuJ3QgYmUsIGR1ZSB0byB1c2FnZSBmb3IgdGhlIGNvbXBhcmlzb24gdGhlIG5leHQKPj58 IGJ5dGUgYWZ0ZXIgaW5zdHJ1Y3Rpb24gaXRzZWxmLiBBcyB0aGUgcmVzdWx0LCB0aGUgbG9vcCBj YW4ndCBiZQo+PnwgcmVhbGlnbmVkIGxhdGVyIGluIGBhc21fbG9vcF9maXh1cGAgZHVlIHRvIHRh cmdldCB0byBqdW1wIGJlaW5nCj4+fCBtaXNhbGlnbmVkIGFuZCB0aGUgYXNzZXJ0aW9uIGZhaWxz Lgo+PnwKPj58IFRoaXMgcGF0Y2ggYWRkcyB0aGUgYWRkaXRpb25hbCBjaGVjayBmb3IgdGhlIDBG IG9wY29kZSBpbgo+PnwgYGFzbV9pbnRhcml0aCgpYC4KPj58Cj4+fCBTZXJnZXkgS2FwbHVuOgo+ PnwgKiBhZGRlZCB0aGUgZGVzY3JpcHRpb24gYW5kIHRoZSB0ZXN0IGZvciB0aGUgcHJvYmxlbQo+ PnwKPj58IFBhcnQgb2YgdGFyYW50b29sL3RhcmFudG9vbCM4MDY5Cj4+Cj4+QnJhbmNoIGlzIGZv cmNlIHB1c2hlZC4KPj4KPj4+ID4+LS0tCj4+PiA+PsKgc3JjL2xqX2FzbV94ODYuaCB8IDUgKysr LS0KPj4+ID4+wqAuLi4vbGotNTU2LWZpeC1sb29wLXJlYWxpZ25tZW50LnRlc3QubHVhIHwgMTgg KysrKysrKysrKysrKysrKysrCj4+PiA+PsKgMiBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQo+Pj4gPj7CoGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3RhcmFu dG9vbC10ZXN0cy9sai01NTYtZml4LWxvb3AtcmVhbGlnbm1lbnQudGVzdC5sdWEKPj4+ID4+Cj4+ PiA+PmRpZmYgLS1naXQgYS9zcmMvbGpfYXNtX3g4Ni5oIGIvc3JjL2xqX2FzbV94ODYuaAo+Pj4g Pj5pbmRleCA4ZWZkYThlNS4uZTZjNDJjNmQgMTAwNjQ0Cj4+PiA+Pi0tLSBhL3NyYy9sal9hc21f eDg2LmgKPj4+ID4+KysrIGIvc3JjL2xqX2FzbV94ODYuaAo+Pj4gPj5AQCAtMjA2OCw4ICsyMDY4 LDkgQEAgc3RhdGljIHZvaWQgYXNtX2ludGFyaXRoKEFTTVN0YXRlICphcywgSVJJbnMgKmlyLCB4 ODZBcml0aCB4YSkKPj4+ID4+wqDCoMKgaW50MzJfdCBrID0gMDsKPj4+ID4+wqDCoMKgaWYgKGFz LT5mbGFnbWNwID09IGFzLT5tY3ApIHsgLyogRHJvcCB0ZXN0IHIsciBpbnN0cnVjdGlvbi4gKi8K Pj4+ID4+wqDCoMKgwqDCoE1Db2RlICpwID0gYXMtPm1jcCArICgoTEpfNjQgJiYgKmFzLT5tY3Ag PCBYSV9URVNUYikgPyAzIDogMik7Cj4+PiA+Pi0gaWYgKChwWzFdICYgMTUpIDwgMTQpIHsKPj4+ ID4+LSBpZiAoKHBbMV0gJiAxNSkgPj0gMTIpIHBbMV0gLT0gNDsgLyogTCA8LT5TLCBOTCA8LT4g TlMgKi8KPj4+ID4+KyBNQ29kZSAqcSA9IHBbMF0gPT0gMHgwZiA/IHArMSA6IHA7Cj4+PiA+Pisg aWYgKCgqcSAmIDE1KSA8IDE0KSB7Cj4+PiA+PisgaWYgKCgqcSAmIDE1KSA+PSAxMikgKnEgLT0g NDsgLyogTCA8LT5TLCBOTCA8LT4gTlMgKi8KPj4+ID4+wqDCoMKgwqDCoMKgwqBhcy0+ZmxhZ21j cCA9IE5VTEw7Cj4+PiA+PsKgwqDCoMKgwqDCoMKgYXMtPm1jcCA9IHA7Cj4+PiA+PsKgwqDCoMKg wqB9IC8qIGVsc2U6IGNhbm5vdCB0cmFuc2Zvcm0gTEUvTkxFIHRvIGNjIHdpdGhvdXQgdXNlIG9m IE9GLiAqLwo+Pj4gPj5kaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNTU2LWZp eC1sb29wLXJlYWxpZ25tZW50LnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNTU2 LWZpeC1sb29wLXJlYWxpZ25tZW50LnRlc3QubHVhCj4+PiA+Pm5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4+PiA+PmluZGV4IDAwMDAwMDAwLi45YThlNjA5OAo+Pj4gPj4tLS0gL2Rldi9udWxsCj4+PiA+ PisrKyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTU1Ni1maXgtbG9vcC1yZWFsaWdubWVudC50 ZXN0Lmx1YQo+Pj4gPj5AQCAtMCwwICsxLDE4IEBACj4+PiA+Pitsb2NhbCB0YXAgPSByZXF1aXJl KCd0YXAnKQo+Pj4gPj4rCj4+PiA+Pitsb2NhbCB0ZXN0ID0gdGFwLnRlc3QoJ2xqLTUwNS1mb2xk LWljb3JyZWN0LWJlaGF2aW9yJykKPj4+ID4+K3Rlc3Q6cGxhbigxKQo+Pj4gPj4rCj4+PiA+Pist LSBUZXN0IGZpbGUgdG8gZGVtb25zdHJhdGUgSklUIG1pc2JlaGF2aW91ciBmb3IgbG9vcCByZWFs aWdubWVudAo+Pj4gPj4rLS0gaW4gTFVBSklUX05VTU1PREU9Mi4gU2VlIGFsc28KPj4+ID4+Ky0t ICBodHRwczovL2dpdGh1Yi5jb20vTHVhSklUL0x1YUpJVC9pc3N1ZXMvNTU2IC4KPj4+ID4+Kwo+ Pj4gPj4raml0Lm9wdC5zdGFydCgnaG90bG9vcD0xJykKPj4+ID4+Kwo+Pj4gPj4rbG9jYWwgcyA9 IDQKPj4+ID4+K3doaWxlIHMgPiAwIGRvCj4+PiA+PisgcyA9IHMgLSAxCj4+PiA+PitlbmQKPj4+ ID4+Kwo+Pj4gPj4rdGVzdDpvayh0cnVlLCAnbG9vcCBpcyBjb21waWxlZCBhbmQgcmFuIHN1Y2Nl c3NmdWxseScpCj4+PiA+Pitvcy5leGl0KHRlc3Q6Y2hlY2soKSBhbmQgMCBvciAxKQo+Pj4gPj4t LQo+Pj4gPlRoZSB0ZXN0IHdvcmtzIGp1c3QgZmluZSB3aXRoIEhFQUQgb27CoAo+Pj4gPmY3ZDYx ZDk2IMKgY2k6IGludHJvZHVjZSB3b3JrZmxvdyBmb3IgZXhvdGljIGJ1aWxkcy4KPj4+ID7CoAo+ Pj4gPlRlc3RlZCBjb25maWd1cmF0aW9uczrCoAo+Pj4gPkxKXzY0OiBUcnVlLCBMSl9HQzY0OiBU cnVlLCBMSl9EVUFMTlVNOiBUcnVlCj4+PiA+TEpfNjQ6IFRydWUsIExKX0dDNjQ6IEZhbHNlLCBM Sl9EVUFMTlVNOiBUcnVlCj4+Cj4+SXQncyBzdHJhbmdlLi4uCj4+SSB1c2UgdGhlIGZvbGxvd2lu ZyBidWlsZCBjb21tYW5kOgo+PnwgJCBjbWFrZSAuIC1EQ01BS0VfQlVJTERfVFlQRT1EZWJ1ZyAt RExVQV9VU0VfQVBJQ0hFQ0s9T04gLURMVUFfVVNFX0FTU0VSVD1PTiAtRExVQUpJVF9FTkFCTEVf R0M2ND1PRkYgLURMVUFKSVRfTlVNTU9ERT0yICYmIG1ha2UgLWoKPj5hbmQgZ2V0IHRoZSBmb2xs b3dpbmcgYXNzZXJ0aW9uOgo+PnwgYXNtX2xvb3BfZml4dXA6IEFzc2VydGlvbiBgKChpbnRwdHJf dCl0YXJnZXQgJiAxNSkgPT0gMCcgZmFpbGVkLgo+PldoYXQgY29tbWFuZCBkbyB5b3UgdXNlIHRv IGJ1aWxkIEx1YUpJVD8KPlBFQktBQywgSSBmb3Jnb3QgdG8gYWRkIHRoZSBMVUFfVVNFX0FTU0VS VCBmbGFnLgo+Pj4gPi0tCj4+PiA+QmVzdCByZWdhcmRzLAo+Pj4gPk1heGltIEtva3J5YXNoa2lu Cj4+PiA+wqAKPj4KPj4tLQo+PkJlc3QgcmVnYXJkcywKPj5TZXJnZXkgS2FwbHVuCj4tLQo+QmVz dCByZWdhcmRzLAo+TWF4aW0gS29rcnlhc2hraW4KPsKg ----ALT--54aE1d85e84D79C61B83Bd1C5c1De2C81674744356 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGksIFNlcmdleSE8L2Rpdj48ZGl2PlRoYW5rcyBmb3IgdGhlIGZp eGVzITwvZGl2PjxkaXY+TEdUTTwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGJsb2NrcXVvdGUgc3R5 bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzow IDAgMCAxMHB4OyI+PGRpdj4mbmJzcDs8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4 IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlk PSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJz dHlsZV8xNjc0NzE2OTg2MTE4ODQwNjE4Ml9CT0RZIj5IaSwgTWF4aW0hPGJyPjxicj5UaGFua3Mg Zm9yIHRoZSByZXZpZXchPGJyPjxicj5PbiAyNC4wMS4yMywgTWF4aW0gS29rcnlhc2hraW4gd3Jv dGU6PGJyPiZndDs8YnI+Jmd0OyBIaSwgU2VyZ2V5ITxicj4mZ3Q7IFRoYW5rcyBmb3IgdGhlIHBh dGNoITxicj4mZ3Q7IFBsZWFzZSBjb25zaWRlciBteSBjb21tZW50cyBiZWxvdy48YnI+Jmd0OyAm bmJzcDs8YnI+Jmd0OyAmZ3Q7Jm5ic3A7PGJyPiZndDsgJmd0OyZndDtGcm9tOiBNaWtlIFBhbGwg Jmx0O21pa2UmZ3Q7PGJyPiZndDsgJmd0OyZndDs8YnI+Jmd0OyAmZ3Q7Jmd0OyhjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IDUyMmQyMDczZGE0YmUyYWY3OWRiNDcyOGNiYjM3NWRiMGZiZGZjNDgp PGJyPiZndDsgJmd0OyZndDs8YnI+Jmd0OyAmZ3Q7Jmd0O2Bhc21faW50YXJpdGgoKWAgZnVuY3Rp b24gbWF5IHRyeSB0byBkcm9wIGB0ZXN0IHIsIHJgIGluc3RydWN0aW9uIGJlZm9yZTxicj4mZ3Q7 ICZndDtQbGVhc2Ugbm90ZSB0aGF0ICJyIiBpcyBhbiBhbGxvY2F0ZWQgcmVnaXN0ZXImbmJzcDtm b3IgdGhlIGluc3RydWN0aW9uLjxicj4mZ3Q7ICZndDsmZ3Q7dGhlIEpjYyBpbnN0cnVjdGlvbi4g SG93ZXZlciwgaW4gY2FzZSB3aGVuIEpjYyBpbnN0cnVjdGlvbiBpcyAiSnVtcDxicj4mZ3Q7ICZn dDtUeXBvOiBzL2luIGNhc2Ugd2hlbi9pbiBjYXNlcyB3aGVyZS88YnI+PGJyPkZpeGVkLjxicj48 YnI+Jmd0OyAmZ3Q7Jmd0O3Nob3J0IGlmIC4uLiIgaW5zdHJ1Y3Rpb24gKGkuZS4gaGFzIG5vIDBG IG9wY29kZSBwcmVmaXggbGlrZSAiSnVtcCBuZWFyPGJyPiZndDsgJmd0OyZndDtpZiAuLi4iKSwg dGhlIGB0ZXN0YCBpbnN0cnVjdGlvbiBpcyBkcm9wcGVkIHdoZW4gc2hvdWxkbid0IGJlLCBkdWUg dG88YnI+Jmd0OyAmZ3Q7VHlwbzogcy93aGVuL3doZW4gaXQvPGJyPiZndDsgJmd0OyZndDttZW1v cnkgbWlzcy4gQXMgdGhlIHJlc3VsdCwgdGhlIGxvb3AgY2FuJ3QgYmUgcmVhbGlnbmVkIGxhdGVy IGluPGJyPiZndDsgJmd0O1R5cG86IHMvbWVtb3J5L2EgbWVtb3J5Lzxicj4mZ3Q7ICZndDtBbHNv LCB0aGF0IHBhcnQgYWJvdXQgdGhlIG1lbW9yeSBtaXNzIGlzIHVuY2xlYXIsIGl0IHdvdWxkIGJl IGJldHRlciBpZiB5b3U8YnI+Jmd0OyAmZ3Q7Y291bGQgY2xhcmlmeSBpdCBhIGJpdC48YnI+Jmd0 OyAmZ3Q7Jmd0O2Bhc21fbG9vcF9maXh1cGAgZHVlIHRvIHRhcmdldCB0byBqdW1wIGlzbid0IGFs aWduZWQgYW5kIHRoZSBhc3NlcnRpb248YnI+Jmd0OyAmZ3Q7VHlwbzogcy9pc27igJl0IGFsaWdu ZWQvYmVpbmcgbWlzYWxpZ25lZC88YnI+PGJyPkZpeGVkLjxicj48YnI+Jmd0OyAmZ3Q7Jmd0O2Zh aWxzLjxicj4mZ3Q7ICZndDsmZ3Q7PGJyPiZndDsgJmd0OyZndDtUaGlzIHBhdGNoIGFkZHMgdGhl IGFkZGl0aW9uYWwgY2hlY2sgZm9yIDBGIG9wY29kZSBpbiBgYXNtX2ludGFyaXRoKClgLjxicj4m Z3Q7ICZndDtUeXBvOiBzL2ZvciAwRi9mb3IgdGhlIDBGLzxicj48YnI+Rml4ZWQsIHRoYW5rcyE8 YnI+PGJyPiZndDsgJmd0OyZndDs8YnI+Jmd0OyAmZ3Q7Jmd0O1NlcmdleSBLYXBsdW46PGJyPiZn dDsgJmd0OyZndDsqIGFkZGVkIHRoZSBkZXNjcmlwdGlvbiBhbmQgdGhlIHRlc3QgZm9yIHRoZSBw cm9ibGVtPGJyPiZndDsgJmd0OyZndDs8YnI+Jmd0OyAmZ3Q7Jmd0O1BhcnQgb2YgdGFyYW50b29s L3RhcmFudG9vbCM4MDY5PGJyPjxicj5UaGUgbmV3IGNvbW1pdCBtZXNzYWdlIGlzIHRoZSBmb2xs b3dpbmc6PGJyPjxicj58IHg4Ni94NjQ6IEZpeCBsb29wIHJlYWxpZ25tZW50Ljxicj58PGJyPnwg KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTIyZDIwNzNkYTRiZTJhZjc5ZGI0NzI4Y2JiMzc1 ZGIwZmJkZmM0OCk8YnI+fDxicj58IGBhc21faW50YXJpdGgoKWAgZnVuY3Rpb24gbWF5IHRyeSB0 byBkcm9wIGB0ZXN0IHIsIHJgICh3aGVyZSBgcmAgaXMgYW48YnI+fCBhbGxvY2F0ZWQgcmVnaXN0 ZXIpIGluc3RydWN0aW9uIGJlZm9yZSB0aGUgSmNjIGluc3RydWN0aW9uLiBIb3dldmVyLCBpbjxi cj58IGNhc2VzIHdoZW4gSmNjIGluc3RydWN0aW9uIGlzICJKdW1wIHNob3J0IGlmIC4uLiIgaW5z dHJ1Y3Rpb24gKGkuZS4gaGFzPGJyPnwgbm8gMEYgb3Bjb2RlIHByZWZpeCBsaWtlICJKdW1wIG5l YXIgaWYgLi4uIiksIHRoZSBgdGVzdGAgaW5zdHJ1Y3Rpb24gaXM8YnI+fCBkcm9wcGVkIHdoZW4g aXQgc2hvdWxkbid0IGJlLCBkdWUgdG8gdXNhZ2UgZm9yIHRoZSBjb21wYXJpc29uIHRoZSBuZXh0 PGJyPnwgYnl0ZSBhZnRlciBpbnN0cnVjdGlvbiBpdHNlbGYuIEFzIHRoZSByZXN1bHQsIHRoZSBs b29wIGNhbid0IGJlPGJyPnwgcmVhbGlnbmVkIGxhdGVyIGluIGBhc21fbG9vcF9maXh1cGAgZHVl IHRvIHRhcmdldCB0byBqdW1wIGJlaW5nPGJyPnwgbWlzYWxpZ25lZCBhbmQgdGhlIGFzc2VydGlv biBmYWlscy48YnI+fDxicj58IFRoaXMgcGF0Y2ggYWRkcyB0aGUgYWRkaXRpb25hbCBjaGVjayBm b3IgdGhlIDBGIG9wY29kZSBpbjxicj58IGBhc21faW50YXJpdGgoKWAuPGJyPnw8YnI+fCBTZXJn ZXkgS2FwbHVuOjxicj58ICogYWRkZWQgdGhlIGRlc2NyaXB0aW9uIGFuZCB0aGUgdGVzdCBmb3Ig dGhlIHByb2JsZW08YnI+fDxicj58IFBhcnQgb2YgdGFyYW50b29sL3RhcmFudG9vbCM4MDY5PGJy Pjxicj5CcmFuY2ggaXMgZm9yY2UgcHVzaGVkLjxicj48YnI+Jmd0OyAmZ3Q7Jmd0Oy0tLTxicj4m Z3Q7ICZndDsmZ3Q7Jm5ic3A7c3JjL2xqX2FzbV94ODYuaCB8IDUgKysrLS08YnI+Jmd0OyAmZ3Q7 Jmd0OyZuYnNwOy4uLi9sai01NTYtZml4LWxvb3AtcmVhbGlnbm1lbnQudGVzdC5sdWEgfCAxOCAr KysrKysrKysrKysrKysrKys8YnI+Jmd0OyAmZ3Q7Jmd0OyZuYnNwOzIgZmlsZXMgY2hhbmdlZCwg MjEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSk8YnI+Jmd0OyAmZ3Q7Jmd0OyZuYnNwO2Ny ZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3RhcmFudG9vbC10ZXN0cy9sai01NTYtZml4LWxvb3AtcmVh bGlnbm1lbnQudGVzdC5sdWE8YnI+Jmd0OyAmZ3Q7Jmd0Ozxicj4mZ3Q7ICZndDsmZ3Q7ZGlmZiAt LWdpdCBhL3NyYy9sal9hc21feDg2LmggYi9zcmMvbGpfYXNtX3g4Ni5oPGJyPiZndDsgJmd0OyZn dDtpbmRleCA4ZWZkYThlNS4uZTZjNDJjNmQgMTAwNjQ0PGJyPiZndDsgJmd0OyZndDstLS0gYS9z cmMvbGpfYXNtX3g4Ni5oPGJyPiZndDsgJmd0OyZndDsrKysgYi9zcmMvbGpfYXNtX3g4Ni5oPGJy PiZndDsgJmd0OyZndDtAQCAtMjA2OCw4ICsyMDY4LDkgQEAgc3RhdGljIHZvaWQgYXNtX2ludGFy aXRoKEFTTVN0YXRlICphcywgSVJJbnMgKmlyLCB4ODZBcml0aCB4YSk8YnI+Jmd0OyAmZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyZuYnNwO2ludDMyX3QgayA9IDA7PGJyPiZndDsgJmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDtpZiAoYXMtJmd0O2ZsYWdtY3AgPT0gYXMtJmd0O21jcCkgeyAvKiBEcm9wIHRl c3QgcixyIGluc3RydWN0aW9uLiAqLzxicj4mZ3Q7ICZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7TUNvZGUgKnAgPSBhcy0mZ3Q7bWNwICsgKChMSl82NCAmYW1wOyZhbXA7ICph cy0mZ3Q7bWNwICZsdDsgWElfVEVTVGIpID8gMyA6IDIpOzxicj4mZ3Q7ICZndDsmZ3Q7LSBpZiAo KHBbMV0gJmFtcDsgMTUpICZsdDsgMTQpIHs8YnI+Jmd0OyAmZ3Q7Jmd0Oy0gaWYgKChwWzFdICZh bXA7IDE1KSAmZ3Q7PSAxMikgcFsxXSAtPSA0OyAvKiBMICZsdDstJmd0O1MsIE5MICZsdDstJmd0 OyBOUyAqLzxicj4mZ3Q7ICZndDsmZ3Q7KyBNQ29kZSAqcSA9IHBbMF0gPT0gMHgwZiA/IHArMSA6 IHA7PGJyPiZndDsgJmd0OyZndDsrIGlmICgoKnEgJmFtcDsgMTUpICZsdDsgMTQpIHs8YnI+Jmd0 OyAmZ3Q7Jmd0OysgaWYgKCgqcSAmYW1wOyAxNSkgJmd0Oz0gMTIpICpxIC09IDQ7IC8qIEwgJmx0 Oy0mZ3Q7UywgTkwgJmx0Oy0mZ3Q7IE5TICovPGJyPiZndDsgJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDthcy0mZ3Q7ZmxhZ21jcCA9IE5VTEw7PGJyPiZn dDsgJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDthcy0m Z3Q7bWNwID0gcDs8YnI+Jmd0OyAmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O30gLyogZWxzZTogY2Fubm90IHRyYW5zZm9ybSBMRS9OTEUgdG8gY2Mgd2l0aG91dCB1c2Ugb2Yg T0YuICovPGJyPiZndDsgJmd0OyZndDtkaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMv bGotNTU2LWZpeC1sb29wLXJlYWxpZ25tZW50LnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVz dHMvbGotNTU2LWZpeC1sb29wLXJlYWxpZ25tZW50LnRlc3QubHVhPGJyPiZndDsgJmd0OyZndDtu ZXcgZmlsZSBtb2RlIDEwMDY0NDxicj4mZ3Q7ICZndDsmZ3Q7aW5kZXggMDAwMDAwMDAuLjlhOGU2 MDk4PGJyPiZndDsgJmd0OyZndDstLS0gL2Rldi9udWxsPGJyPiZndDsgJmd0OyZndDsrKysgYi90 ZXN0L3RhcmFudG9vbC10ZXN0cy9sai01NTYtZml4LWxvb3AtcmVhbGlnbm1lbnQudGVzdC5sdWE8 YnI+Jmd0OyAmZ3Q7Jmd0O0BAIC0wLDAgKzEsMTggQEA8YnI+Jmd0OyAmZ3Q7Jmd0Oytsb2NhbCB0 YXAgPSByZXF1aXJlKCd0YXAnKTxicj4mZ3Q7ICZndDsmZ3Q7Kzxicj4mZ3Q7ICZndDsmZ3Q7K2xv Y2FsIHRlc3QgPSB0YXAudGVzdCgnbGotNTA1LWZvbGQtaWNvcnJlY3QtYmVoYXZpb3InKTxicj4m Z3Q7ICZndDsmZ3Q7K3Rlc3Q6cGxhbigxKTxicj4mZ3Q7ICZndDsmZ3Q7Kzxicj4mZ3Q7ICZndDsm Z3Q7Ky0tIFRlc3QgZmlsZSB0byBkZW1vbnN0cmF0ZSBKSVQgbWlzYmVoYXZpb3VyIGZvciBsb29w IHJlYWxpZ25tZW50PGJyPiZndDsgJmd0OyZndDsrLS0gaW4gTFVBSklUX05VTU1PREU9Mi4gU2Vl IGFsc288YnI+Jmd0OyAmZ3Q7Jmd0OystLSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vTHVh SklUL0x1YUpJVC9pc3N1ZXMvNTU2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29t L0x1YUpJVC9MdWFKSVQvaXNzdWVzLzU1NjwvYT4gLjxicj4mZ3Q7ICZndDsmZ3Q7Kzxicj4mZ3Q7 ICZndDsmZ3Q7K2ppdC5vcHQuc3RhcnQoJ2hvdGxvb3A9MScpPGJyPiZndDsgJmd0OyZndDsrPGJy PiZndDsgJmd0OyZndDsrbG9jYWwgcyA9IDQ8YnI+Jmd0OyAmZ3Q7Jmd0Oyt3aGlsZSBzICZndDsg MCBkbzxicj4mZ3Q7ICZndDsmZ3Q7KyBzID0gcyAtIDE8YnI+Jmd0OyAmZ3Q7Jmd0OytlbmQ8YnI+ Jmd0OyAmZ3Q7Jmd0Oys8YnI+Jmd0OyAmZ3Q7Jmd0Oyt0ZXN0Om9rKHRydWUsICdsb29wIGlzIGNv bXBpbGVkIGFuZCByYW4gc3VjY2Vzc2Z1bGx5Jyk8YnI+Jmd0OyAmZ3Q7Jmd0Oytvcy5leGl0KHRl c3Q6Y2hlY2soKSBhbmQgMCBvciAxKTxicj4mZ3Q7ICZndDsmZ3Q7LS08YnI+Jmd0OyAmZ3Q7VGhl IHRlc3Qgd29ya3MganVzdCBmaW5lIHdpdGggSEVBRCBvbiZuYnNwOzxicj4mZ3Q7ICZndDtmN2Q2 MWQ5NiAmbmJzcDtjaTogaW50cm9kdWNlIHdvcmtmbG93IGZvciBleG90aWMgYnVpbGRzLjxicj4m Z3Q7ICZndDsmbmJzcDs8YnI+Jmd0OyAmZ3Q7VGVzdGVkIGNvbmZpZ3VyYXRpb25zOiZuYnNwOzxi cj4mZ3Q7ICZndDtMSl82NDogVHJ1ZSwgTEpfR0M2NDogVHJ1ZSwgTEpfRFVBTE5VTTogVHJ1ZTxi cj4mZ3Q7ICZndDtMSl82NDogVHJ1ZSwgTEpfR0M2NDogRmFsc2UsIExKX0RVQUxOVU06IFRydWU8 YnI+PGJyPkl0J3Mgc3RyYW5nZS4uLjxicj5JIHVzZSB0aGUgZm9sbG93aW5nIGJ1aWxkIGNvbW1h bmQ6PGJyPnwgJCBjbWFrZSAuIC1EQ01BS0VfQlVJTERfVFlQRT1EZWJ1ZyAtRExVQV9VU0VfQVBJ Q0hFQ0s9T04gLURMVUFfVVNFX0FTU0VSVD1PTiAtRExVQUpJVF9FTkFCTEVfR0M2ND1PRkYgLURM VUFKSVRfTlVNTU9ERT0yICZhbXA7JmFtcDsgbWFrZSAtajxicj5hbmQgZ2V0IHRoZSBmb2xsb3dp bmcgYXNzZXJ0aW9uOjxicj58IGFzbV9sb29wX2ZpeHVwOiBBc3NlcnRpb24gYCgoaW50cHRyX3Qp dGFyZ2V0ICZhbXA7IDE1KSA9PSAwJyBmYWlsZWQuPGJyPldoYXQgY29tbWFuZCBkbyB5b3UgdXNl IHRvIGJ1aWxkIEx1YUpJVD88L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRp dj5QRUJLQUMsIEkgZm9yZ290IHRvIGFkZCB0aGUgTFVBX1VTRV9BU1NFUlQgZmxhZy48L2Rpdj48 YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjox MHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1y ZWFkbXNnLW1zZyI+PGRpdj48ZGl2PiZndDsgJmd0Oy0tPGJyPiZndDsgJmd0O0Jlc3QgcmVnYXJk cyw8YnI+Jmd0OyAmZ3Q7TWF4aW0gS29rcnlhc2hraW48YnI+Jmd0OyAmZ3Q7Jm5ic3A7PGJyPjxi cj4tLTxicj5CZXN0IHJlZ2FyZHMsPGJyPlNlcmdleSBLYXBsdW48L2Rpdj48L2Rpdj48L2Rpdj48 L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48ZGl2Pi0tPGJyPkJlc3QgcmVnYXJkcyw8L2Rpdj48ZGl2 Pk1heGltIEtva3J5YXNoa2luPC9kaXY+PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48L2Rpdj48L2Js b2NrcXVvdGU+PC9CT0RZPjwvSFRNTD4K ----ALT--54aE1d85e84D79C61B83Bd1C5c1De2C81674744356--