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 8B03B42A678; Thu, 12 Oct 2023 13:33:37 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 8B03B42A678 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1697106817; bh=3H0h2ZDVefNWeyTdAYeDoIGHZy76AlZJ7OipLAKVKtQ=; 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=GkCvD+9YhnuO0A/OPeIID0F3jR7vr6jnzfsH953suiW3hm0pj6tz1Ve6iIaBdxG/r eYEhWxV/KduqU91waklJFceY7zSiPDQZMQxqZ1ryuY8gQ1D+4hZiryqjO93ZbCakVs Kr0BTN8zAelm0X4/dNe62IC155x5KfuWIc6HsL1k= Received: from f506.i.mail.ru (f506.i.mail.ru [45.84.129.22]) (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 E148242A678 for ; Thu, 12 Oct 2023 13:33:35 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org E148242A678 Received: by f506.i.mail.ru with local (envelope-from ) id 1qqt0X-0007D9-Rf; Thu, 12 Oct 2023 13:33:34 +0300 Received: by e.mail.ru with HTTP; Thu, 12 Oct 2023 13:33:33 +0300 To: =?UTF-8?B?U2VyZ2V5IEJyb25uaWtvdg==?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16970432080214348302 X-SenderField-Remind: 0 Date: Thu, 12 Oct 2023 13:33:33 +0300 X-Priority: 3 (Normal) Message-ID: <1697106813.981704268@f463.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--b9C43285856B446F97F2A202d91670D91697106813" In-Reply-To: References: X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251CB3F2B3760F780D931B40F3C56F4A6A396037E4543680D8628FD872164937FA4C7F8F392C6ED8EE7C535058459211B6440473F9F5814867BBF935D3107172DA47 X-7FA49CB5: 70AAF3C13DB70168C09775C1D3CA48CFB7839C755242BE0DB2086D80B0504778CF19DD082D7633A0ACBFF42033827DA764CD17681C2FEB7A0E30A4C9C8E338DA0EAC24016B54B34CC4224003CC836476ABE134FDCE4E2725BFD28B28ED4578739E625A9149C048EED76C6ED7039589DE6CEA61CADDE926D9B287FD4696A6DC2FA8DF7F3B2552694A4E2F5AFA99E116B42401471946AA11AFACC50219273B5BD882A779A89F7D69B28F08D7030A58E5AD1A62830130A00468AEEEE3FBA3A834EE7353EFBB5533756623EB08CC329A0577E072B44FE8DD5F1985F6712640D55DD0A471835C12D1D9774AD6D5ED66289B5278DA827A17800CE7A6779F98BF527B7A9FA2833FD35BB23D2EF20D2F80756B5F868A13BD56FB6657A471835C12D1D977725E5C173C3A84C3A333A05395E4745B117882F4460429728AD0CFFFB425014E868A13BD56FB6657E2021AF6380DFAD1A18204E546F3947C744B801E316CB65F2E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89F3695E42C86E34F97089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C1DE0DAB: 0D63561A33F958A5B44C1101167C76F6E7ED4711A60E3B3D81ACF6296256736BF87CCE6106E1FC07E67D4AC08A07B9B0BFD98ABA943BD70BCB5012B2E24CD356 X-C8649E89: 1C3962B70DF3F0ADE2815F1F17DA7190F22D334B9B612B432CCB5A6D6581D03D0776B5B2C279835F17BCBE6708A5A68D02015372BE9702A2DF3BC34CC57A25EC50BF0DD142BEAE461780FB3E896170F648B6B6396CDA0BB2CD33B51B6274B4219B815B7972F6FBBE48FF101AF9D0F5E71C37C4F5ACA59203C7CEAA0681F5848F4C41F94D744909CED78ACA237E033A03E5771FB83DCB4455B2E44A6A118E769B33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhyHg13dVC1FZ8GieaW08iEg== X-Mailru-MI: 10000000000400800 X-Mailru-Sender: 7940E2A4EB16C997A697C250BADECD3D76E86EB76870D73C59F1F3A85CA5295ACFBF4D54527BA10A4B4B6F8031CBA671E36A7BE05E38EE125EA65D4B9F24FE89AED07E233588217F88A45457F3DBDCCF3E0AECDEB884C0370F27244EEAA5B9A50D4ABDE8C577C2ED X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit_1/4=5D=5Bv2=5D_cod?= =?utf-8?q?ehealth=3A_fix_typos?= 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: max.kokryashkin@gmail.com, tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--b9C43285856B446F97F2A202d91670D91697106813 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpLCBTZXJnZXkhClRoYW5rcyBmb3IgdGhlIHBhdGNoIQpMR1RNCi0tCkJlc3QgcmVnYXJkcywK TWF4aW0gS29rcnlhc2hraW4KwqAKwqAgCj7QodGA0LXQtNCwLCAxMSDQvtC60YLRj9Cx0YDRjyAy MDIzLCAxOTo1MyArMDM6MDAg0L7RgiBTZXJnZXkgQnJvbm5pa292IHZpYSBUYXJhbnRvb2wtcGF0 Y2hlcyA8dGFyYW50b29sLXBhdGNoZXNAZGV2LnRhcmFudG9vbC5vcmc+Ogo+wqAKPkZyb206IFNl cmdleSBCcm9ubmlrb3YgPCBzZXJnZXliQHRhcmFudG9vbC5vcmcgPgo+Cj5GaXggdHlwb3MgZm91 bmQgd2l0aCBjb2Rlc3BlbGwgaW4gZmlsZXMgd2l0aCBvdXIgb3duIHNvdXJjZSBjb2RlLgo+LS0t Cj7CoHNyYy9sal9tZW1wcm9mLmMgfCA0ICsrLS0KPsKgc3JjL2xqX3N5c3Byb2YuYyB8IDIgKy0K PsKgc3JjL2xqX3didWYuaCB8IDIgKy0KPsKgc3JjL2x1YWppdC1nZGIucHkgfCA2ICsrKy0tLQo+ wqBzcmMvbHVhaml0X2xsZGIucHkgfCA2ICsrKy0tLQo+wqB0ZXN0L0x1YUpJVC10ZXN0cy9zcmMv Y3Rlc3QuYyB8IDIgKy0KPsKgdGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvYXBpLmx1YSB8IDQg KystLQo+wqB0ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9kYi5sdWEgfCAyICstCj7CoHRlc3Qv UFVDLVJpby1MdWEtNS4xLXRlc3RzL2djLmx1YSB8IDIgKy0KPsKgdGVzdC9QVUMtUmlvLUx1YS01 LjEtdGVzdHMvbWF0aC5sdWEgfCAyICstCj7CoHRlc3QvUFVDLVJpby1MdWEtNS4xLXRlc3RzL3N0 cmluZ3MubHVhIHwgMiArLQo+wqB0ZXN0L3RhcmFudG9vbC10ZXN0cy9DTWFrZUxpc3RzLnR4dCB8 IDIgKy0KPsKgdGVzdC90YXJhbnRvb2wtdGVzdHMvZml4LWVtaXQtcm1hLnRlc3QubHVhIHwgMiAr LQo+wqB0ZXN0L3RhcmFudG9vbC10ZXN0cy9naC00MTk5LWdjNjQtZnVzZS50ZXN0Lmx1YSB8IDIg Ky0KPsKgLi4uL2doLTYwOTYtZXh0ZXJuYWwtdW53aW5kaW5nLW9uLWFybTY0LnRlc3QubHVhIHwg MiArLQo+wqB0ZXN0L3RhcmFudG9vbC10ZXN0cy9naC02MTYzLW1pbi1tYXgudGVzdC5sdWEgfCAy ICstCj7CoHRlc3QvdGFyYW50b29sLXRlc3RzL2xqLTM1MC1zbG9hZC10eXBlY2hlY2sudGVzdC5s dWEgfCAyICstCj7CoHRlc3QvdGFyYW50b29sLXRlc3RzL2xqLTM1Ny1hcm02NC1ocmVmay50ZXN0 Lmx1YSB8IDIgKy0KPsKgdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNDE2LXhvci1iZWZvcmUtamNj LnRlc3QubHVhIHwgMiArLQo+wqAuLi4vbGotNDI2LWFybTY0LWluY29ycmVjdC1jaGVjay1jbG9z ZWQtdXYudGVzdC5sdWEgfCAyICstCj7CoC4uLi9sai01MTItcHJvZmlsZXItaG9vay1maW5hbGl6 ZXJzLnRlc3QubHVhIHwgNCArKy0tCj7CoHRlc3QvdGFyYW50b29sLXRlc3RzL2xqLTYwMy1lcnIt c25hcC1yZXN0b3JlLnRlc3QubHVhIHwgMiArLQo+wqB0ZXN0L3RhcmFudG9vbC10ZXN0cy9taXNj bGliLW1lbXByb2YtbGFwaS50ZXN0Lmx1YSB8IDggKysrKy0tLS0KPsKgdGVzdC90YXJhbnRvb2wt dGVzdHMvdGFwLmx1YSB8IDQgKystLQo+wqB0ZXN0L3RhcmFudG9vbC10ZXN0cy91bml0LWppdC1w YXJzZS50ZXN0Lmx1YSB8IDIgKy0KPsKgdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMvaml0L2dl bmVyYXRvcnMubHVhIHwgMiArLQo+wqB0b29scy9tZW1wcm9mL3BhcnNlLmx1YSB8IDQgKystLQo+ wqB0b29scy9tZW1wcm9mL3Byb2Nlc3MubHVhIHwgNCArKy0tCj7CoDI4IGZpbGVzIGNoYW5nZWQs IDQxIGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQo+Cj5kaWZmIC0tZ2l0IGEvc3JjL2xq X21lbXByb2YuYyBiL3NyYy9sal9tZW1wcm9mLmMKPmluZGV4IGE0OTJjZjU4Li5jOWE4YjIwMyAx MDA2NDQKPi0tLSBhL3NyYy9sal9tZW1wcm9mLmMKPisrKyBiL3NyYy9sal9tZW1wcm9mLmMKPkBA IC0yNjAsNyArMjYwLDcgQEAgaW50IGxqX21lbXByb2Zfc3RhcnQoc3RydWN0IGx1YV9TdGF0ZSAq TCwgY29uc3Qgc3RydWN0IGxqX21lbXByb2Zfb3B0aW9ucyAqb3B0KQo+wqDCoMKgbGpfYXNzZXJ0 TChvcHQtPmxlbiAhPSAwLCAiYmFkIG1lbXByb2Ygd3JpdGVyIGJ1ZmZlciBsZW5naHQiKTsKPsKg Cj7CoMKgwqBpZiAobXAtPnN0YXRlICE9IE1QU19JRExFKSB7Cj4tIC8qIENsZWFuIHVwIHJlc291 cnNlcy4gSWdub3JlIHBvc3NpYmxlIGVycm9ycy4gKi8KPisgLyogQ2xlYW4gdXAgcmVzb3VyY2Vz LiBJZ25vcmUgcG9zc2libGUgZXJyb3JzLiAqLwo+wqDCoMKgwqDCoG9wdC0+b25fc3RvcChvcHQt PmN0eCwgb3B0LT5idWYpOwo+wqDCoMKgwqDCoHJldHVybiBQUk9GSUxFX0VSUlJVTjsKPsKgwqDC oH0KPkBAIC0zOTIsNyArMzkyLDcgQEAgdm9pZCBsal9tZW1wcm9mX2FkZF90cmFjZShjb25zdCBz dHJ1Y3QgR0N0cmFjZSAqdHIpCj7CoGludCBsal9tZW1wcm9mX3N0YXJ0KHN0cnVjdCBsdWFfU3Rh dGUgKkwsIGNvbnN0IHN0cnVjdCBsal9tZW1wcm9mX29wdGlvbnMgKm9wdCkKPsKgewo+wqDCoMKg VU5VU0VEKEwpOwo+LSAvKiBDbGVhbiB1cCByZXNvdXJzZXMuIElnbm9yZSBwb3NzaWJsZSBlcnJv cnMuICovCj4rIC8qIENsZWFuIHVwIHJlc291cmNlcy4gSWdub3JlIHBvc3NpYmxlIGVycm9ycy4g Ki8KPsKgwqDCoG9wdC0+b25fc3RvcChvcHQtPmN0eCwgb3B0LT5idWYpOwo+wqDCoMKgcmV0dXJu IFBST0ZJTEVfRVJSVVNFOwo+wqB9Cj5kaWZmIC0tZ2l0IGEvc3JjL2xqX3N5c3Byb2YuYyBiL3Ny Yy9sal9zeXNwcm9mLmMKPmluZGV4IDUyZDRkMmE1Li44MmVkODIxMCAxMDA2NDQKPi0tLSBhL3Ny Yy9sal9zeXNwcm9mLmMKPisrKyBiL3NyYy9sal9zeXNwcm9mLmMKPkBAIC00ODYsNyArNDg2LDcg QEAgaW50IGxqX3N5c3Byb2Zfc3RvcChsdWFfU3RhdGUgKkwpCj7CoMKgwqBpZiAoU1BTX0hBTFQg PT0gc3AtPnN0YXRlKSB7Cj7CoMKgwqDCoMKgZXJybm8gPSBzcC0+c2F2ZWRfZXJybm87Cj7CoMKg wqDCoMKgc3AtPnN0YXRlID0gU1BTX0lETEU7Cj4tIC8qIHdidWYgd2FzIHRlcm1pbmF0ZWQgd2hl biBlcnJvciBvY2N1cmVkLiAqLwo+KyAvKiB3YnVmIHdhcyB0ZXJtaW5hdGVkIHdoZW4gZXJyb3Ig b2NjdXJyZWQuICovCj7CoMKgwqDCoMKgcmV0dXJuIFBST0ZJTEVfRVJSSU87Cj7CoMKgwqB9Cj7C oAo+ZGlmZiAtLWdpdCBhL3NyYy9sal93YnVmLmggYi9zcmMvbGpfd2J1Zi5oCj5pbmRleCA5ZWFh NWU1MS4uMzNlYzg0NjMgMTAwNjQ0Cj4tLS0gYS9zcmMvbGpfd2J1Zi5oCj4rKysgYi9zcmMvbGpf d2J1Zi5oCj5AQCAtNzUsNyArNzUsNyBAQCB2b2lkIGxqX3didWZfYWRkbihzdHJ1Y3QgbGpfd2J1 ZiAqYnVmLCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKTsKPsKgLyogV3JpdGUgc3RyaW5nIHRv IHRoZSBidWZmZXIuICovCj7CoHZvaWQgTEpfRkFTVENBTEwgbGpfd2J1Zl9hZGRzdHJpbmcoc3Ry dWN0IGxqX3didWYgKmJ1ZiwgY29uc3QgY2hhciAqcyk7Cj7CoAo+LS8qIEltbWVkaWF0bHkgZmx1 c2ggdGhlIGJ1ZmZlci4gKi8KPisvKiBJbW1lZGlhdGVseSBmbHVzaCB0aGUgYnVmZmVyLiAqLwo+ wqB2b2lkIExKX0ZBU1RDQUxMIGxqX3didWZfZmx1c2goc3RydWN0IGxqX3didWYgKmJ1Zik7Cj7C oAo+wqAvKiBDaGVjayBmbGFncy4gKi8KPmRpZmYgLS1naXQgYS9zcmMvbHVhaml0LWdkYi5weSBi L3NyYy9sdWFqaXQtZ2RiLnB5Cj5pbmRleCA1ZWFmMjUwZi4uZDIwNzBlOWIgMTAwNjQ0Cj4tLS0g YS9zcmMvbHVhaml0LWdkYi5weQo+KysrIGIvc3JjL2x1YWppdC1nZGIucHkKPkBAIC0zMTQsNyAr MzE0LDcgQEAgZGVmIHN0cmRhdGEob2JqKToKPsKgwqDCoMKgwqB0cnk6Cj7CoMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gc3RyKGNhc3QoJ2NoYXIgKicsIGNhc3QoJ0dDc3RyIConLCBvYmopICsgMSkp W2xlbihQQURESU5HKTpdCj7CoMKgwqDCoMKgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoKPi0g cmV0dXJuICI8bHVhaml0LWdkYjogZXJyb3Igb2NjdXJlZCB3aGlsZSByZW5kZXJpbmcgbm9uLWFz Y2lpIHNsb3Q+Igo+KyByZXR1cm4gIjxsdWFqaXQtZ2RiOiBlcnJvciBvY2N1cnJlZCB3aGlsZSBy ZW5kZXJpbmcgbm9uLWFzY2lpIHNsb3Q+Igo+wqAKPsKgCj7CoGRlZiBpdHlwZW1hcChvKToKPkBA IC02ODcsNyArNjg3LDcgQEAgY2xhc3MgTEpEdW1wVGFibGUoTEpCYXNlKToKPsKgwqDCoMKgwqAn JycKPsKgbGotdGFiIDxHQ3RhYiAqPgo+wqAKPi1UaGUgY29tbWFuZCByZWNlaXZlcyBhIEdDdGFi IGFkcmVzcyBhbmQgZHVtcHMgdGhlIHRhYmxlIGNvbnRlbnRzOgo+K1RoZSBjb21tYW5kIHJlY2Vp dmVzIGEgR0N0YWIgYWRkcmVzcyBhbmQgZHVtcHMgdGhlIHRhYmxlIGNvbnRlbnRzOgo+wqAqIE1l dGF0YWJsZSBhZGRyZXNzIHdoZXRoZXIgdGhlIG9uZSBpcyBzZXQKPsKgKiBBcnJheSBwYXJ0IDxh c2l6ZT4gc2xvdHM6Cj7CoMKgwqA8YXNsb3QgcHRyPjogWzxpbmRleD5dOiA8dHY+Cj5AQCAtNzU5 LDcgKzc1OSw3IEBAIGNvcm91dGluZSBndWVzdCBzdGFjazoKPsKgwqDCoMKgwqArIENQOiBQcm90 ZWN0ZWQgQyBmcmFtZQo+wqDCoMKgwqDCoCsgUFA6IFZNIHBlcmZvcm1zIGEgY2FsbCBhcyBhIHJl c3VsdCBvZiBleGVjdXRpbmlnIHBjYWxsIG9yIHhwY2FsbAo+wqAKPi1JZiBMIGlzIG9tbWl0ZWQg dGhlIG1haW4gY29yb3V0aW5lIGlzIHVzZWQuCj4rSWYgTCBpcyBvbWl0dGVkIHRoZSBtYWluIGNv cm91dGluZSBpcyB1c2VkLgo+wqDCoMKgwqDCoCcnJwo+wqAKPsKgwqDCoMKgwqBkZWYgaW52b2tl KHNlbGYsIGFyZywgZnJvbV90dHkpOgo+ZGlmZiAtLWdpdCBhL3NyYy9sdWFqaXRfbGxkYi5weSBi L3NyYy9sdWFqaXRfbGxkYi5weQo+aW5kZXggZWYwOTg2Y2MuLjVhYzExYjY1IDEwMDY0NAo+LS0t IGEvc3JjL2x1YWppdF9sbGRiLnB5Cj4rKysgYi9zcmMvbHVhaml0X2xsZGIucHkKPkBAIC01MjUs NyArNTI1LDcgQEAgZGVmIHN0cmRhdGEob2JqKToKPsKgwqDCoMKgwqDCoMKgwqDCoHB0ciA9IGNh c3QoJ2NoYXIgKicsIG9iaiArIDEpCj7CoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcHRyLnN1bW1h cnkKPsKgwqDCoMKgwqBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOgo+LSByZXR1cm4gIjxsdWFq aXQtbGxkYjogZXJyb3Igb2NjdXJlZCB3aGlsZSByZW5kZXJpbmcgbm9uLWFzY2lpIHNsb3Q+Igo+ KyByZXR1cm4gIjxsdWFqaXQtbGxkYjogZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVuZGVyaW5nIG5v bi1hc2NpaSBzbG90PiIKPsKgCj7CoAo+wqBkZWYgaXR5cGUobyk6Cj5AQCAtOTk2LDcgKzk5Niw3 IEBAIGNsYXNzIExKRHVtcFRhYmxlKENvbW1hbmQpOgo+wqDCoMKgwqDCoCcnJwo+wqBsai10YWIg PEdDdGFiICo+Cj7CoAo+LVRoZSBjb21tYW5kIHJlY2VpdmVzIGEgR0N0YWIgYWRyZXNzIGFuZCBk dW1wcyB0aGUgdGFibGUgY29udGVudHM6Cj4rVGhlIGNvbW1hbmQgcmVjZWl2ZXMgYSBHQ3RhYiBh ZGRyZXNzIGFuZCBkdW1wcyB0aGUgdGFibGUgY29udGVudHM6Cj7CoCogTWV0YXRhYmxlIGFkZHJl c3Mgd2hldGhlciB0aGUgb25lIGlzIHNldAo+wqAqIEFycmF5IHBhcnQgPGFzaXplPiBzbG90czoK PsKgwqDCoDxhc2xvdCBwdHI+OiBbPGluZGV4Pl06IDx0dj4KPkBAIC0xMDY3LDcgKzEwNjcsNyBA QCBjb3JvdXRpbmUgZ3Vlc3Qgc3RhY2s6Cj7CoMKgwqDCoMKgKyBDUDogUHJvdGVjdGVkIEMgZnJh bWUKPsKgwqDCoMKgwqArIFBQOiBWTSBwZXJmb3JtcyBhIGNhbGwgYXMgYSByZXN1bHQgb2YgZXhl Y3V0aW5pZyBwY2FsbCBvciB4cGNhbGwKPsKgCj4tSWYgTCBpcyBvbW1pdGVkIHRoZSBtYWluIGNv cm91dGluZSBpcyB1c2VkLgo+K0lmIEwgaXMgb21pdHRlZCB0aGUgbWFpbiBjb3JvdXRpbmUgaXMg dXNlZC4KPsKgwqDCoMKgwqAnJycKPsKgwqDCoMKgwqBkZWYgZXhlY3V0ZShzZWxmLCBkZWJ1Z2dl ciwgYXJncywgcmVzdWx0KToKPsKgwqDCoMKgwqDCoMKgwqDCoGxzdGF0ZSA9IHNlbGYucGFyc2Uo YXJncykKPmRpZmYgLS1naXQgYS90ZXN0L0x1YUpJVC10ZXN0cy9zcmMvY3Rlc3QuYyBiL3Rlc3Qv THVhSklULXRlc3RzL3NyYy9jdGVzdC5jCj5pbmRleCBkMjU3NTY3Yi4uZTk5ZjIzMDYgMTAwNjQ0 Cj4tLS0gYS90ZXN0L0x1YUpJVC10ZXN0cy9zcmMvY3Rlc3QuYwo+KysrIGIvdGVzdC9MdWFKSVQt dGVzdHMvc3JjL2N0ZXN0LmMKPkBAIC0yMzQsNyArMjM0LDcgQEAgc3RhdGljIGludCBjb3N0YXR1 cyhsdWFfU3RhdGUgKkwsIGx1YV9TdGF0ZSAqY28pIHsKPsKgwqDCoMKgwqDCoMKgZWxzZQo+wqAg cmV0dXJuIENPX1NVUzsgLyogaW5pdGlhbCBzdGF0ZSAqLwo+wqDCoMKgwqDCoH0KPi0gZGVmYXVs dDogLyogc29tZSBlcnJvciBvY2N1cmVkICovCj4rIGRlZmF1bHQ6IC8qIHNvbWUgZXJyb3Igb2Nj dXJyZWQgKi8KPsKgwqDCoMKgwqDCoMKgcmV0dXJuIENPX0RFQUQ7Cj7CoMKgwqB9Cj7CoH0KPmRp ZmYgLS1naXQgYS90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9hcGkubHVhIGIvdGVzdC9QVUMt UmlvLUx1YS01LjEtdGVzdHMvYXBpLmx1YQo+aW5kZXggYzk1NWViZjkuLjdlYzJmMWJhIDEwMDY0 NAo+LS0tIGEvdGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvYXBpLmx1YQo+KysrIGIvdGVzdC9Q VUMtUmlvLUx1YS01LjEtdGVzdHMvYXBpLmx1YQo+QEAgLTE3LDcgKzE3LDcgQEAgZnVuY3Rpb24g cGFjayguLi4pIHJldHVybiBhcmcgZW5kCj7CoAo+wqBwcmludCgndGVzdGluZyBDIEFQSScpCj7C oAo+LS0tIHRlc3RpbmcgYWxsaWdubWVudAo+Ky0tIHRlc3RpbmcgYWxpZ25tZW50Cj7CoGEgPSBU LmQycygxMjQ1ODk1NDMyMTEyMykKPsKgYXNzZXJ0KHN0cmluZy5sZW4oYSkgPT0gOCkgLS0gc2l6 ZW9mKGRvdWJsZSkKPsKgYXNzZXJ0KFQuczJkKGEpID09IDEyNDU4OTU0MzIxMTIzKQo+QEAgLTMz Myw3ICszMzMsNyBAQCBGID0gZnVuY3Rpb24gKHgpCj7CoMKgwqBpZiBBIH49IG5pbCB0aGVuCj7C oMKgwqDCoMKgYXNzZXJ0KHR5cGUoQSkgPT0gInVzZXJkYXRhIikKPsKgwqDCoMKgwqBhc3NlcnQo VC51ZGF0YXZhbChBKSA9PSBCKQo+LSBkZWJ1Zy5nZXRtZXRhdGFibGUoQSkgLS0ganVzdCBhY2Vz cyBpdAo+KyBkZWJ1Zy5nZXRtZXRhdGFibGUoQSkgLS0ganVzdCBhY2Nlc3MgaXQKPsKgwqDCoGVu ZAo+wqDCoMKgQSA9IHggLS0gcmVzc3VjaXRhIHVzZXJkYXRhCj7CoMKgwqBCID0gdWR2YWwKPmRp ZmYgLS1naXQgYS90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9kYi5sdWEgYi90ZXN0L1BVQy1S aW8tTHVhLTUuMS10ZXN0cy9kYi5sdWEKPmluZGV4IGIxNDhjMmRkLi4wZDQ2OTJlMSAxMDA2NDQK Pi0tLSBhL3Rlc3QvUFVDLVJpby1MdWEtNS4xLXRlc3RzL2RiLmx1YQo+KysrIGIvdGVzdC9QVUMt UmlvLUx1YS01LjEtdGVzdHMvZGIubHVhCj5AQCAtNTYxLDcgKzU2MSw3IEBAIHRbMV0gPSAiJ2Vy cm9yJyIKPsKgY2hlY2t0cmFjZWJhY2soY28sIHQpCj7CoAo+wqAKPi0tLSB0ZXN0IGFjZXNzaW5n IGxpbmUgbnVtYmVycyBvZiBhIGNvcm91dGluZSBmcm9tIGEgcmVzdW1lIGluc2lkZQo+Ky0tIHRl c3QgYWNjZXNzaW5nIGxpbmUgbnVtYmVycyBvZiBhIGNvcm91dGluZSBmcm9tIGEgcmVzdW1lIGlu c2lkZQo+wqAtLSBhIEMgZnVuY3Rpb24gKHRoaXMgaXMgYSBrbm93biBidWcgaW4gTHVhIDUuMCkK PsKgCj7CoGxvY2FsIGZ1bmN0aW9uIGcoeCkKPmRpZmYgLS1naXQgYS90ZXN0L1BVQy1SaW8tTHVh LTUuMS10ZXN0cy9nYy5sdWEgYi90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9nYy5sdWEKPmlu ZGV4IDEwZTFmMmRkLi5hMWM2ZTdjNyAxMDA2NDQKPi0tLSBhL3Rlc3QvUFVDLVJpby1MdWEtNS4x LXRlc3RzL2djLmx1YQo+KysrIGIvdGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvZ2MubHVhCj5A QCAtMzA4LDcgKzMwOCw3IEBAIGRvCj7CoMKgwqDCoMKgYXNzZXJ0KGdldG1ldGF0YWJsZShvKSA9 PSB0dCkKPsKgwqDCoMKgwqAtLSBjcmVhdGUgbmV3IG9iamVjdHMgZHVyaW5nIEdDCj7CoMKgwqDC oMKgbG9jYWwgYSA9ICd4dXh1Jy4uKDEwKzMpLi4nam9hbycsIHt9Cj4tIF9fX0dsb2IgPSBvIC0t IHJlc3N1cmVjdCBvYmplY3QhCj4rIF9fX0dsb2IgPSBvIC0tIHJlc3VycmVjdCBvYmplY3QhCj7C oMKgwqDCoMKgbmV3cHJveHkobykgLS0gY3JlYXRlcyBhIG5ldyBvbmUgd2l0aCBzYW1lIG1ldGF0 YWJsZQo+wqDCoMKgwqDCoHByaW50KCI+Pj4gY2xvc2luZyBzdGF0ZSAiIC4uICI8PDxcbiIpCj7C oMKgwqBlbmQKPmRpZmYgLS1naXQgYS90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9tYXRoLmx1 YSBiL3Rlc3QvUFVDLVJpby1MdWEtNS4xLXRlc3RzL21hdGgubHVhCj5pbmRleCBmNjZjZTE5Ni4u NjNlZmM1ZGQgMTAwNjQ0Cj4tLS0gYS90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9tYXRoLmx1 YQo+KysrIGIvdGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvbWF0aC5sdWEKPkBAIC0xNjUsNyAr MTY1LDcgQEAgc3RhdChhKQo+wqAKPsKgYSA9IG5pbAo+wqAKPi0tLSB0ZXN0aW5nIGltcGxpY2l0 IGNvbnZlcnRpb25zCj4rLS0gdGVzdGluZyBpbXBsaWNpdCBjb252ZXJzaW9ucwo+wqAKPsKgbG9j YWwgYSxiID0gJzEwJywgJzIwJwo+wqBhc3NlcnQoYSpiID09IDIwMCBhbmQgYStiID09IDMwIGFu ZCBhLWIgPT0gLTEwIGFuZCBhL2IgPT0gMC41IGFuZCAtYiA9PSAtMjApCj5kaWZmIC0tZ2l0IGEv dGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvc3RyaW5ncy5sdWEgYi90ZXN0L1BVQy1SaW8tTHVh LTUuMS10ZXN0cy9zdHJpbmdzLmx1YQo+aW5kZXggM2NjMWMxYjIuLjA4MThlMzkwIDEwMDY0NAo+ LS0tIGEvdGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvc3RyaW5ncy5sdWEKPisrKyBiL3Rlc3Qv UFVDLVJpby1MdWEtNS4xLXRlc3RzL3N0cmluZ3MubHVhCj5AQCAtMTU2LDcgKzE1Niw3IEBAIGFz c2VydChzdHJpbmcuZm9ybWF0KCciLSUyMHMuMjBzIicsIHN0cmluZy5yZXAoIiUiLCAyMDAwKSkg PT0KPsKgwqDCoMKgwqDCoMKgwqBzdHJpbmcuZm9ybWF0KCIlcSIsICItIi4uc3RyaW5nLnJlcCgi JSIsIDIwMDApLi4iLjIwcyIpKQo+wqAKPsKgCj4tLS0gbG9uZ2VzdCBudW1iZXIgdGhhdCBjYW4g YmUgZm9ybWF0ZWQKPistLSBsb25nZXN0IG51bWJlciB0aGF0IGNhbiBiZSBmb3JtYXR0ZWQKPsKg YXNzZXJ0KHN0cmluZy5sZW4oc3RyaW5nLmZvcm1hdCgnJTk5Ljk5ZicsIC0xZTMwOCkpID49IDEw MCkKPsKgCj7CoGFzc2VydChsb2Fkc3RyaW5nKCJyZXR1cm4gMVxuLS1jb21lbnRyaW8gc2VtIEVP TCBubyBmaW5hbCIpKCkgPT0gMSkKPmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9D TWFrZUxpc3RzLnR4dCBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL0NNYWtlTGlzdHMudHh0Cj5pbmRl eCBjMTVkNjAzNy4uNzNmZTRiNWEgMTAwNjQ0Cj4tLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9D TWFrZUxpc3RzLnR4dAo+KysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvQ01ha2VMaXN0cy50eHQK PkBAIC0xMzQsNyArMTM0LDcgQEAgZWxzZSgpCj7CoGVuZGlmKCkKPsKgCj7CoCMgTFVBX0NQQVRI IGFuZCBMRF9MSUJSQVJZX1BBVEggdmFyaWFibGVzIGFuZCBhbHNvIFRFU1RMSUJTIGxpc3QKPi0j IHdpdGggZGVwZW5kZWNpZXMgYXJlIHNldCBpbiBzY29wZSBvZiBCdWlsZFRlc3RMaWIgbWFjcm8u Cj4rIyB3aXRoIGRlcGVuZGVuY2llcyBhcmUgc2V0IGluIHNjb3BlIG9mIEJ1aWxkVGVzdExpYiBt YWNyby4KPsKgYWRkX2N1c3RvbV90YXJnZXQodGFyYW50b29sLXRlc3RzCj7CoMKgwqBERVBFTkRT ICR7TFVBSklUX1RFU1RfQklOQVJZfSAke1RFU1RMSUJTfQo+wqApCj5kaWZmIC0tZ2l0IGEvdGVz dC90YXJhbnRvb2wtdGVzdHMvZml4LWVtaXQtcm1hLnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wt dGVzdHMvZml4LWVtaXQtcm1hLnRlc3QubHVhCj5pbmRleCA0MjgwNDQ0Ny4uY2M5N2ZmNGQgMTAw NjQ0Cj4tLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9maXgtZW1pdC1ybWEudGVzdC5sdWEKPisr KyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2ZpeC1lbWl0LXJtYS50ZXN0Lmx1YQo+QEAgLTQsNyAr NCw3IEBAIGxvY2FsIHRlc3QgPSB0YXAudGVzdCgnZml4LWVtaXQtcm1hJyk6c2tpcGNvbmQoewo+ wqDCoMKgWydUZXN0IHJlcXVpcmVzIEdDNjQgbW9kZSBlbmFibGVkJ10gPSBub3QgcmVxdWlyZSgn ZmZpJykuYWJpKCdnYzY0JyksCj7CoH0pCj7CoAo+LS0tIE5lZWQgdG8gdGVzdCAyIGNhc2VzIG9m IGBlbWl0X3JtYSgpYCBwYXJ0aWN1bGFyeSBvbiB4NjQ6Cj4rLS0gTmVlZCB0byB0ZXN0IDIgY2Fz ZXMgb2YgYGVtaXRfcm1hKClgIHBhcnRpY3VsYXJseSBvbiB4NjQ6Cj7CoC0tICogYElSX0xERVhQ YCB3aXRoIGBmbGRgIGluc3RydWN0aW9uIGZvciBsb2FkaW5nIGNvbnN0YW50Cj7CoC0tIG51bWJl ciBgVFZhbHVlYCBieSBhZGRyZXNzLgo+wqAtLSAqIGBJUl9PQkFSYCB3aXRoIHRoZSBjb3JyZXNw b25kaW5nIGB0ZXN0YCBpbnN0cnVjdGlvbiBvbgo+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29s LXRlc3RzL2doLTQxOTktZ2M2NC1mdXNlLnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMv Z2gtNDE5OS1nYzY0LWZ1c2UudGVzdC5sdWEKPmluZGV4IGNhMDUwY2YwLi44NzdmNzg4NCAxMDA2 NDQKPi0tLSBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2doLTQxOTktZ2M2NC1mdXNlLnRlc3QubHVh Cj4rKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9naC00MTk5LWdjNjQtZnVzZS50ZXN0Lmx1YQo+ QEAgLTQ0LDcgKzQ0LDcgQEAgZm9yIG4gPSAxLCAxMDAgZG8KPsKgwqDCoMKgwqDCoMKgZm9yIGkg PSAxLCA1IGRvCj7CoMKgwqDCoMKgwqDCoMKgwqAtLSBUaGlzIGNvbnN0YW50IGZ1c2lvbiBsZWFk cyB0byB0aGUgdGVzdCBmYWlsdXJlLgo+wqDCoMKgwqDCoMKgwqDCoMKgYVtpXSA9IDAKPi0gLS0g VGhpcyBzdW1tIGlzIG5vdCBuZWNlc3NhcnJ5IGJ1dCBkZWNyZWFzZXMgdGhlIGFtb3VudCBvZgo+ KyAtLSBUaGlzIHN1bW0gaXMgbm90IG5lY2Vzc2FyeSBidXQgZGVjcmVhc2VzIHRoZSBhbW91bnQg b2YKPsKgwqDCoMKgwqDCoMKgwqDCoC0tIGl0ZXJhdGlvbnMuCj7CoMKgwqDCoMKgwqDCoMKgwqBh W2ldID0gYVtpXSArIHggKyB5Cj7CoMKgwqDCoMKgwqDCoMKgwqAtLSBVc2UgYWxsIEZQUiByZWdp c3RlcnMgYW5kIG9uZSB2YWx1ZSBmcm9tIHRoZSBtZW1vcnkKPmRpZmYgLS1naXQgYS90ZXN0L3Rh cmFudG9vbC10ZXN0cy9naC02MDk2LWV4dGVybmFsLXVud2luZGluZy1vbi1hcm02NC50ZXN0Lmx1 YSBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2doLTYwOTYtZXh0ZXJuYWwtdW53aW5kaW5nLW9uLWFy bTY0LnRlc3QubHVhCj5pbmRleCAwOTdlNzcxYy4uMDBmNTg2NDIgMTAwNjQ0Cj4tLS0gYS90ZXN0 L3RhcmFudG9vbC10ZXN0cy9naC02MDk2LWV4dGVybmFsLXVud2luZGluZy1vbi1hcm02NC50ZXN0 Lmx1YQo+KysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvZ2gtNjA5Ni1leHRlcm5hbC11bndpbmRp bmctb24tYXJtNjQudGVzdC5sdWEKPkBAIC0xLDYgKzEsNiBAQAo+wqBsb2NhbCB0YXAgPSByZXF1 aXJlKCd0YXAnKQo+wqAKPi0tLSBUZXN0IGZpbGUgdG8gY2hlY2sgY29ycmVjdG5lcyBvZiBleHRl cm5hbCB1bndpbmRpbmcKPistLSBUZXN0IGZpbGUgdG8gY2hlY2sgY29ycmVjdG5lc3Mgb2YgZXh0 ZXJuYWwgdW53aW5kaW5nCj7CoC0tIGluIEx1YUpJVC4KPsKgLS0gU2VlIGFsc28gIGh0dHBzOi8v Z2l0aHViLmNvbS9MdWFKSVQvTHVhSklUL2lzc3Vlcy82OTggLAo+wqAtLSAgaHR0cHM6Ly9naXRo dWIuY29tL0x1YUpJVC9MdWFKSVQvcHVsbC83NTcgLgo+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50 b29sLXRlc3RzL2doLTYxNjMtbWluLW1heC50ZXN0Lmx1YSBiL3Rlc3QvdGFyYW50b29sLXRlc3Rz L2doLTYxNjMtbWluLW1heC50ZXN0Lmx1YQo+aW5kZXggNGJjNjE1NWMuLjE3YWZkNTAyIDEwMDY0 NAo+LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvZ2gtNjE2My1taW4tbWF4LnRlc3QubHVhCj4r KysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9naC02MTYzLW1pbi1tYXgudGVzdC5sdWEKPkBAIC00 NSw3ICs0NSw3IEBAIGxvY2FsIHggPSAxCj7CoAo+wqBqaXQub3B0LnN0YXJ0KCdob3Rsb29wPTEn KQo+wqAKPi0tLSBYWFg6IExvb3Bpbmcgb3ZlciB0aGUgb3BlcmF0aW9ucyBhbmQgdGhlaXIgYXJn dW1lbnRzIGJyZWFrZXMgdGhlCj4rLS0gWFhYOiBMb29waW5nIG92ZXIgdGhlIG9wZXJhdGlvbnMg YW5kIHRoZWlyIGFyZ3VtZW50cyBicmVha3MgdGhlCj7CoC0tIHNlbWFudGljcyBvZiBzb21lIG9w dGltaXphdGlvbiB0ZXN0cyBiZWxvdy4gVGhlIGNhc2VzIGFyZQo+wqAtLSBjb3B5LXBhc3RlZCB0 byBwcmVzZXJ2ZSBvcHRpbWl6YXRpb24gc2VtYW50aWNzLgo+wqAKPmRpZmYgLS1naXQgYS90ZXN0 L3RhcmFudG9vbC10ZXN0cy9sai0zNTAtc2xvYWQtdHlwZWNoZWNrLnRlc3QubHVhIGIvdGVzdC90 YXJhbnRvb2wtdGVzdHMvbGotMzUwLXNsb2FkLXR5cGVjaGVjay50ZXN0Lmx1YQo+aW5kZXggMzMz ODAxNzAuLmM2ODc2NDczIDEwMDY0NAo+LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMzUw LXNsb2FkLXR5cGVjaGVjay50ZXN0Lmx1YQo+KysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGot MzUwLXNsb2FkLXR5cGVjaGVjay50ZXN0Lmx1YQo+QEAgLTEsNSArMSw1IEBACj7CoGxvY2FsIHRh cCA9IHJlcXVpcmUoJ3RhcCcpCj4tLS0gVGVzdCBmaWxlIHRvIGRlbW9uc3RyYXRlIHRoZSBpbmNv cnJlY3QgR0M2NCBKSVQgYXNlbWJsaW5nCj4rLS0gVGVzdCBmaWxlIHRvIGRlbW9uc3RyYXRlIHRo ZSBpbmNvcnJlY3QgR0M2NCBKSVQgYXNzZW1ibGluZwo+wqAtLSBgSVJfU0xPQURgLgo+wqAtLSBT ZWUgYWxzbyAgaHR0cHM6Ly9naXRodWIuY29tL0x1YUpJVC9MdWFKSVQvcHVsbC8zNTAgLgo+wqBs b2NhbCB0ZXN0ID0gdGFwLnRlc3QoJ2xqLTM1MC1zbG9hZC10eXBlY2hlY2snKTpza2lwY29uZCh7 Cj5kaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMzU3LWFybTY0LWhyZWZrLnRl c3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMzU3LWFybTY0LWhyZWZrLnRlc3QubHVh Cj5pbmRleCA4ZGI4YmJmYy4uMjNlMDZkOGMgMTAwNjQ0Cj4tLS0gYS90ZXN0L3RhcmFudG9vbC10 ZXN0cy9sai0zNTctYXJtNjQtaHJlZmsudGVzdC5sdWEKPisrKyBiL3Rlc3QvdGFyYW50b29sLXRl c3RzL2xqLTM1Ny1hcm02NC1ocmVmay50ZXN0Lmx1YQo+QEAgLTE3LDcgKzE3LDcgQEAgbG9jYWwg dCA9IHtocmVmayA9IDB9Cj7CoC0tIGNob29zZXMgdGhlIHNhbWUgcmVnaXN0ZXIgYXMgYSBiYXNl IHJlZ2lzdGVyIGZvciBvZmZzZXQgYW5kCj7CoC0tIGRlc3RpbmF0aW9uIGluIExEUiBpbnN0cnVj dGlvbi4KPsKgLS0gV2UgbmVlZCAxMDI4IGl0ZXJhdGlvbnMgPSAxMDI0IGl0ZXJhdGlvbiBmb3Ig MTAgdGFibGUgcmVoYXNoaW5nCj4tLS0gKGNyZWF0ZSBzaWRlIHRyYWNlcyBmb3IgaW52YXJpbmF0 IGFuZCB2YXJpYW50IGxvb3AgcGFydCkgKwo+Ky0tIChjcmVhdGUgc2lkZSB0cmFjZXMgZm9yIGlu dmFyaWFudCBhbmQgdmFyaWFudCBsb29wIHBhcnQpICsKPsKgLS0gMyBmb3IgdHJhY2UgaW5pdGlh bGl6ZSArIDEgdG8gcnVuIHRoZSBiYWQgdHJhY2UuCj7CoGxvY2FsIFNUQVJUID0gMTAyOAo+wqBs b2NhbCBTVE9QID0gMQo+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTQxNi14 b3ItYmVmb3JlLWpjYy50ZXN0Lmx1YSBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTQxNi14b3It YmVmb3JlLWpjYy50ZXN0Lmx1YQo+aW5kZXggNjA1YmI5MmEuLmY3MWM5ZWU0IDEwMDY0NAo+LS0t IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNDE2LXhvci1iZWZvcmUtamNjLnRlc3QubHVhCj4r KysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00MTYteG9yLWJlZm9yZS1qY2MudGVzdC5sdWEK PkBAIC00MSw3ICs0MSw3IEBAIGxvY2FsIHRlc3R4b3IgPSBmZmkubG9hZCgnbGlidGVzdHhvcicp Cj7CoC0tIHByZXNzdXJlIGFuZCBzcGVjaWZpYyByZWdpc3RlcnMgYWxsb2NhdGlvbnMuCj7CoGxv Y2FsIGhhbmRsZXIgPSBzZXRtZXRhdGFibGUoe30sIHsKPsKgwqDCoF9fbmV3aW5kZXggPSBmdW5j dGlvbiAoKQo+LSAtLSAwIGFuZCBuaWwgYXJlIHN1Z2dlc3RlZCBhcyBkaWZmZXJudCBjb25zdGFu dC16ZXJvIHZhbHVlcwo+KyAtLSAwIGFuZCBuaWwgYXJlIHN1Z2dlc3RlZCBhcyBkaWZmZXJlbnQg Y29uc3RhbnQtemVybyB2YWx1ZXMKPsKgwqDCoMKgwqAtLSBmb3IgdGhlIGNhbGwgYW5kIG9jY3Vw aWVkIGRpZmZlcmVudCByZWdpc3RlcnMuCj7CoMKgwqDCoMKgdGVzdHhvci50ZXN0X3hvcl9mdW5j KDAsIDAsIDAsIDAsIDAsIDAsIG5pbCwgMCkKPsKgwqDCoGVuZAo+ZGlmZiAtLWdpdCBhL3Rlc3Qv dGFyYW50b29sLXRlc3RzL2xqLTQyNi1hcm02NC1pbmNvcnJlY3QtY2hlY2stY2xvc2VkLXV2LnRl c3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNDI2LWFybTY0LWluY29ycmVjdC1jaGVj ay1jbG9zZWQtdXYudGVzdC5sdWEKPmluZGV4IGE2ODllZDYwLi5lYTAxYmEwNiAxMDA2NDQKPi0t LSBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTQyNi1hcm02NC1pbmNvcnJlY3QtY2hlY2stY2xv c2VkLXV2LnRlc3QubHVhCj4rKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00MjYtYXJtNjQt aW5jb3JyZWN0LWNoZWNrLWNsb3NlZC11di50ZXN0Lmx1YQo+QEAgLTE0LDcgKzE0LDcgQEAgZG8K PsKgwqDCoC0tIFRoZSBmdW5jdGlvbidzIHByb3RvdHlwZSBpcyBjcmVhdGVkIHdpdGggdGhlIGZv bGxvd2luZwo+wqDCoMKgLS0gY29uc3RhbnRzIGF0IGNodW5rIHBhcnNpbmcuIEFmdGVyIGFkZGlu ZyB0aGlzIGNvbnN0YW50IHRvCj7CoMKgwqAtLSB0aGUgZnVuY3Rpb24ncyBwcm90b3R5cGUgaXQg d2lsbCBiZSBtYXJrZWQgYXMgZ3JheSBkdXJpbmcKPi0gLS0gcHJvcG9nYXRlIHBoYXNlLgo+KyAt LSBwcm9wYWdhdGUgcGhhc2UuCj7CoMKgwqBsb2NhbCBmdW5jdGlvbiB1c2V0cygpIHV2ID0gJycg ZW5kCj7CoMKgwqBfRy51c2V0cyA9IHVzZXRzCj7CoGVuZAo+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFy YW50b29sLXRlc3RzL2xqLTUxMi1wcm9maWxlci1ob29rLWZpbmFsaXplcnMudGVzdC5sdWEgYi90 ZXN0L3RhcmFudG9vbC10ZXN0cy9sai01MTItcHJvZmlsZXItaG9vay1maW5hbGl6ZXJzLnRlc3Qu bHVhCj5pbmRleCBhMjgyYTEwZi4uZjAyYmQwNWYgMTAwNjQ0Cj4tLS0gYS90ZXN0L3RhcmFudG9v bC10ZXN0cy9sai01MTItcHJvZmlsZXItaG9vay1maW5hbGl6ZXJzLnRlc3QubHVhCj4rKysgYi90 ZXN0L3RhcmFudG9vbC10ZXN0cy9sai01MTItcHJvZmlsZXItaG9vay1maW5hbGl6ZXJzLnRlc3Qu bHVhCj5AQCAtMjAsOSArMjAsOSBAQCBsb2NhbCBmaW5pc2ggPSBvcy5jbG9jaygpCj7CoAo+wqBw cm9maWxlLnN0b3AoKQo+wqAKPi0tLSBYWFg6IFRoZSBidWcgaXMgb2NjdXJlZCBhcyBzdG9wcGlu ZyBvZiBjYWxsYmFja3MgaW52b2NhdGlvbiwKPistLSBYWFg6IFRoZSBidWcgaXMgb2NjdXJyZWQg YXMgc3RvcHBpbmcgb2YgY2FsbGJhY2tzIGludm9jYXRpb24sCj7CoC0tIHdoZW4gYSBuZXcgdGlj ayBzdHJpa2VzIGluc2lkZSBgZ2NfY2FsbF9maW5hbGl6ZXIoKWAuCj4tLS0gVGhlIGFtb3VudCBv ZiBzdWNjZXNzZnVsbCBjYWxsYmFja3MgaXNuJ3Qgc3RhYmxlICgyLTE1KS4KPistLSBUaGUgYW1v dW50IG9mIHN1Y2Nlc3NmdWwgY2FsbGJhY2tzIGlzbid0IHN0YWJsZSAoMi0xNSkuCj7CoC0tIFNv LCBhc3N1bWUgdGhhdCBhbW91bnQgb2YgcHJvZmlsaW5nIHNhbXBsZXMgc2hvdWxkIGJlIGF0IGxl YXN0Cj7CoC0tIG1vcmUgdGhhbiAwLjUgaW50ZXJ2YWxzIG9mIHRpbWUgZHVyaW5nIHNhbXBsaW5n Lgo+wqB0ZXN0Om9rKG5zYW1wbGVzID49IDAuNSAqIChmaW5pc2ggLSBzdGFydCkgKiAxZTMgLyBJ TlRFUlZBTCwKPmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai02MDMtZXJyLXNu YXAtcmVzdG9yZS50ZXN0Lmx1YSBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTYwMy1lcnItc25h cC1yZXN0b3JlLnRlc3QubHVhCj5pbmRleCA3OTExMDdiYS4uOTZlYmY5MmMgMTAwNjQ0Cj4tLS0g YS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai02MDMtZXJyLXNuYXAtcmVzdG9yZS50ZXN0Lmx1YQo+ KysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNjAzLWVyci1zbmFwLXJlc3RvcmUudGVzdC5s dWEKPkBAIC0xMSw3ICsxMSw3IEBAIGxvY2FsIGZ1bmN0aW9uIGRvX3Rlc3QoKQo+wqDCoMKgbG9j YWwgcmVjdXJzaXZlX2YKPsKgwqDCoGxvY2FsIGZ1bmN0aW9uIGVycmZ1bmMoKQo+wqDCoMKgwqDC oHhwY2FsbChyZWN1cnNpdmVfZiwgZXJyZnVuYykKPi0gLS0gU2luY2UgdGhpcyBlcnJvciBpcyBv Y2N1cmVkIG9uIHNuYXBzaG90IHJlc3RvcmF0aW9uIGFuZCBjYW4KPisgLS0gU2luY2UgdGhpcyBl cnJvciBpcyBvY2N1cnJlZCBvbiBzbmFwc2hvdCByZXN0b3JhdGlvbiBhbmQgY2FuCj7CoMKgwqDC oMKgLS0gYmUgaGFuZGxlZCBieSBjb21waWxlciBpdHNlbGYsIHdlIHNob3VsZG4ndCBib3RoZXIg YSB1c2VyCj7CoMKgwqDCoMKgLS0gd2l0aCBpdC4KPsKgwqDCoMKgwqBoYW5kbGVyX2lzX2NhbGxl ZCA9IHRydWUKPmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9taXNjbGliLW1lbXBy b2YtbGFwaS50ZXN0Lmx1YSBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL21pc2NsaWItbWVtcHJvZi1s YXBpLnRlc3QubHVhCj5pbmRleCAzY2I1YzhiZS4uODEzMmNmMDggMTAwNjQ0Cj4tLS0gYS90ZXN0 L3RhcmFudG9vbC10ZXN0cy9taXNjbGliLW1lbXByb2YtbGFwaS50ZXN0Lmx1YQo+KysrIGIvdGVz dC90YXJhbnRvb2wtdGVzdHMvbWlzY2xpYi1tZW1wcm9mLWxhcGkudGVzdC5sdWEKPkBAIC0xLDUg KzEsNSBAQAo+wqAtLSBYWFg6IFRoaXMgY29tbWVudCBpcyBhIHJlbWluZGVyIHRvIHJlaW1wbGVt ZW50IG1lbXByb2YgdGVzdHMKPi0tLSBhc3NlcnRpb25zIHRvIG1ha2UgdGhlbSBtb3JlIGluZGVw ZW50ZW50IHRvIHRoZSBjaGFuZ2VzIG1hZGUuCj4rLS0gYXNzZXJ0aW9ucyB0byBtYWtlIHRoZW0g bW9yZSBpbmRlcGVuZGVudCB0byB0aGUgY2hhbmdlcyBtYWRlLgo+wqBsb2NhbCB0YXAgPSByZXF1 aXJlKCJ0YXAiKQo+wqBsb2NhbCB0ZXN0ID0gdGFwLnRlc3QoIm1pc2MtbWVtcHJvZi1sYXBpIik6 c2tpcGNvbmQoewo+wqDCoMKgWydUZXN0IHJlcXVpcmVzIEpJVCBlbmFibGVkJ10gPSBub3Qgaml0 LnN0YXR1cygpLAo+QEAgLTUyLDEzICs1MiwxMyBAQCBsb2NhbCBmdW5jdGlvbiBnZW5lcmF0ZV9v dXRwdXQoZmlsZW5hbWUsIHBheWxvYWQpCj7CoMKgwqBjb2xsZWN0Z2FyYmFnZSgpCj7CoAo+wqDC oMKgbG9jYWwgcmVzLCBlcnIgPSBtaXNjLm1lbXByb2Yuc3RhcnQoZmlsZW5hbWUpCj4tIC0tIFNo b3VsZCBzdGFydCBzdWNjZXNmdWxseS4KPisgLS0gU2hvdWxkIHN0YXJ0IHN1Y2Nlc3NmdWxseS4K PsKgwqDCoGFzc2VydChyZXMsIGVycikKPsKgCj7CoMKgwqBwYXlsb2FkKCkKPsKgCj7CoMKgwqBy ZXMsIGVyciA9IG1pc2MubWVtcHJvZi5zdG9wKCkKPi0gLS0gU2hvdWxkIHN0b3Agc3VjY2VzZnVs bHkuCj4rIC0tIFNob3VsZCBzdG9wIHN1Y2Nlc3NmdWxseS4KPsKgwqDCoGFzc2VydChyZXMsIGVy cikKPsKgZW5kCj7CoAo+QEAgLTE4OCw3ICsxODgsNyBAQCB0ZXN0OnRlc3QoIm91dHB1dCIsIGZ1 bmN0aW9uKHN1YnRlc3QpCj7CoMKgwqAtLSBDaGVjayBhbGxvY2F0aW9uIHJlcG9ydHMuIFRoZSBz ZWNvbmQgYXJndW1lbnQgaXMgYSBsaW5lCj7CoMKgwqAtLSBudW1iZXIgb2YgdGhlIGFsbG9jYXRp b24gZXZlbnQgaXRzZWxmLiBUaGUgdGhpcmQgaXMgYSBsaW5lCj7CoMKgwqAtLSBudW1iZXIgb2Yg dGhlIGNvcnJlc3BvbmRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbi4gVGhlIGxhc3QKPi0gLS0gb25l IGlzIHRoZSBudW1iZXIgb2YgYWxsb2NhdGlvbnMuIDEgZXZlbnQgLSBhbG9jYXRpb24gb2YKPisg LS0gb25lIGlzIHRoZSBudW1iZXIgb2YgYWxsb2NhdGlvbnMuIDEgZXZlbnQgLSBhbGxvY2F0aW9u IG9mCj7CoMKgwqAtLSB0YWJsZSBieSBpdHNlbGYgKyAxIGFsbG9jYXRpb24gb2YgYXJyYXkgcGFy dCBhcyBmYXIgaXQgaXMKPsKgwqDCoC0tIGJpZ2dlciB0aGFuIExKX01BWF9DT0xPU0laRSAoMTYp Lgo+wqDCoMKgc3VidGVzdDpvayhjaGVja19hbGxvY19yZXBvcnQoYWxsb2MsIHsgbGluZSA9IDM3 LCBsaW5lZGVmaW5lZCA9IDM1IH0sIDIpKQo+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRl c3RzL3RhcC5sdWEgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy90YXAubHVhCj5pbmRleCBhZjFkNGIy MC4uMjUwZWI3ZDggMTAwNjQ0Cj4tLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy90YXAubHVhCj4r KysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy90YXAubHVhCj5AQCAtMSw2ICsxLDYgQEAKPsKgLS0t IHRhcC5sdWEgaW50ZXJuYWwgZmlsZS4KPsKgLS0tCj4tLS0tIFRoZSBUZXN0IEFueXRoaW5nIFBy b3RvY29sIHZlc2lvbiAxMyBwcm9kdWNlci4KPistLS0gVGhlIFRlc3QgQW55dGhpbmcgUHJvdG9j b2wgdmVyc2lvbiAxMyBwcm9kdWNlci4KPsKgLS0tCj7CoAo+wqAtLSBJbml0aWFsaXplciBGRkkg Zm9yIDxpc2NkYXRhPiBjaGVjay4KPkBAIC03OSw3ICs3OSw3IEBAIGxvY2FsIGZ1bmN0aW9uIG9r KHRlc3QsIGNvbmQsIG1lc3NhZ2UsIGV4dHJhKQo+wqDCoMKgaW8ud3JpdGUodGluZGVudCwgKCJs aW5lOlx0JXNcbiIpOmZvcm1hdCh0cmFjZVsjdHJhY2VdLmxpbmUpKQo+wqDCoMKgZm9yIGZyYW1l bm8sIGZyYW1lIGluIGlwYWlycyh0cmFjZSkgZG8KPsKgwqDCoMKgwqBpby53cml0ZSh0aW5kZW50 LCAoImZyYW1lICMlZFxuIik6Zm9ybWF0KGZyYW1lbm8pKQo+LSAtLSBYWFg6IFVzZSAiaGFsZiBp bmRlbnQiIHRvIGR1bXAgPGZyYW1lPiBmaWVscy4KPisgLS0gWFhYOiBVc2UgImhhbGYgaW5kZW50 IiB0byBkdW1wIDxmcmFtZT4gZmllbGRzLgo+wqDCoMKgwqDCoGxvY2FsIGZpbmRlbnQgPSBpbmRl bnQoMC41KSAuLiB0aW5kZW50Cj7CoMKgwqDCoMKgZm9yIGtleSwgdmFsdWUgaW4gcGFpcnMoZnJh bWUpIGRvCj7CoMKgwqDCoMKgwqDCoGlvLndyaXRlKGZpbmRlbnQsICgiJXM6XHQlc1xuIik6Zm9y bWF0KGtleSwgdmFsdWUpKQo+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL3VuaXQt aml0LXBhcnNlLnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvdW5pdC1qaXQtcGFyc2Uu dGVzdC5sdWEKPmluZGV4IGIwMzhmZGUzLi5iNDI2YzFjNiAxMDA2NDQKPi0tLSBhL3Rlc3QvdGFy YW50b29sLXRlc3RzL3VuaXQtaml0LXBhcnNlLnRlc3QubHVhCj4rKysgYi90ZXN0L3RhcmFudG9v bC10ZXN0cy91bml0LWppdC1wYXJzZS50ZXN0Lmx1YQo+QEAgLTM5LDcgKzM5LDcgQEAgbG9jYWwg bG9vcF90cmFjZSA9IHRyYWNlc1sxXQo+wqBmb3IgaXJudW0gPSAxLCBOX1RFU1RTIGRvCj7CoMKg wqBsb2NhbCBpcl9wYXR0ZXJuID0gZXhwZWN0ZWRfaXJzW2lybnVtXQo+wqDCoMKgbG9jYWwgaXJy ZWYgPSBsb29wX3RyYWNlOmhhc19pcihpcl9wYXR0ZXJuKQo+LSB0ZXN0Om9rKGlycmVmLCAnZmlu ZCBJUiByZWZlcm5jZSBieSBwYXR0ZXJuOiAnIC4uIGlyX3BhdHRlcm4pCj4rIHRlc3Q6b2soaXJy ZWYsICdmaW5kIElSIHJlZmVyZW5jZSBieSBwYXR0ZXJuOiAnIC4uIGlyX3BhdHRlcm4pCj7CoGVu ZAo+wqAKPsKgdGVzdDpkb25lKHRydWUpCj5kaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVz dHMvdXRpbHMvaml0L2dlbmVyYXRvcnMubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMv aml0L2dlbmVyYXRvcnMubHVhCj5pbmRleCAxNGUwZTNjMy4uZDZjNTBhMWYgMTAwNjQ0Cj4tLS0g YS90ZXN0L3RhcmFudG9vbC10ZXN0cy91dGlscy9qaXQvZ2VuZXJhdG9ycy5sdWEKPisrKyBiL3Rl c3QvdGFyYW50b29sLXRlc3RzL3V0aWxzL2ppdC9nZW5lcmF0b3JzLmx1YQo+QEAgLTE3LDcgKzE3 LDcgQEAgZW5kCj7CoGxvY2FsIHJlY2Z1bmNzID0ge30KPsKgbG9jYWwgbGFzdF9pID0gMAo+wqAt LSBUaGlzIGZ1bmN0aW9uIGdlbmVyYXRlcyBhIHRhYmxlIG9mIGZ1bmN0aW9ucyB3aXRoIGhlYXZ5 IG1jb2RlCj4tLS0gcGF5bG9hZCB3aXRoIHRhYiBhcml0aG1ldGljcyB0byBmaWxsIHRoZSBtY29k ZSBhcmVhIGZyb20gdGhlCj4rLS0gcGF5bG9hZCB3aXRoIHRhYiBhcml0aG1ldGljIHRvIGZpbGwg dGhlIG1jb2RlIGFyZWEgZnJvbSB0aGUKPsKgLS0gb25lIHRyYWNlIG1jb2RlIGJ5IHNvbWUgZ2l2 ZW4gc2l6ZS4gVGhpcyBzaXplIGlzIHVzdWFsbHkgYmlnCj7CoC0tIGVub3VnaCwgYmVjYXVzZSB3 ZSB3YW50IHRvIGNoZWNrIGxvbmcganVtcCBzaWRlIGV4aXRzIGZyb20gc29tZQo+wqAtLSB0cmFj ZXMuCj5kaWZmIC0tZ2l0IGEvdG9vbHMvbWVtcHJvZi9wYXJzZS5sdWEgYi90b29scy9tZW1wcm9m L3BhcnNlLmx1YQo+aW5kZXggZDg2NTI2N2IuLjJjMDlkYjkwIDEwMDY0NAo+LS0tIGEvdG9vbHMv bWVtcHJvZi9wYXJzZS5sdWEKPisrKyBiL3Rvb2xzL21lbXByb2YvcGFyc2UubHVhCj5AQCAtNTIs MTQgKzUyLDE0IEBAIGxvY2FsIGZ1bmN0aW9uIGxpbmtfdG9fcHJldmlvdXMoaGVhcF9jaHVuaywg ZSwgbnNpemUpCj7CoMKgwqDCoMKgaWYgbm90IGUucHJpbWFyeVtoZWFwX2NodW5rWzJdXSB0aGVu Cj7CoMKgwqDCoMKgwqDCoGUucHJpbWFyeVtoZWFwX2NodW5rWzJdXSA9IHsKPsKgwqDCoMKgwqDC oMKgwqDCoGxvYyA9IGhlYXBfY2h1bmtbM10sCj4tIGFsbG9jZWQgPSAwLAo+KyBhbGxvY2F0ZWQg PSAwLAo+wqDCoMKgwqDCoMKgwqDCoMKgZnJlZWQgPSAwLAo+wqDCoMKgwqDCoMKgwqDCoMKgY291 bnQgPSAwLAo+wqDCoMKgwqDCoMKgwqB9Cj7CoMKgwqDCoMKgZW5kCj7CoMKgwqDCoMKgLS0gU2F2 ZSBpbmZvcm1hdGlvbiBhYm91dCBkZWx0YSBmb3IgbWVtb3J5IGhlYXAuCj7CoMKgwqDCoMKgbG9j YWwgbG9jYXRpb25fZGF0YSA9IGUucHJpbWFyeVtoZWFwX2NodW5rWzJdXQo+LSBsb2NhdGlvbl9k YXRhLmFsbG9jZWQgPSBsb2NhdGlvbl9kYXRhLmFsbG9jZWQgKyBuc2l6ZQo+KyBsb2NhdGlvbl9k YXRhLmFsbG9jYXRlZCA9IGxvY2F0aW9uX2RhdGEuYWxsb2NhdGVkICsgbnNpemUKPsKgwqDCoMKg wqBsb2NhdGlvbl9kYXRhLmZyZWVkID0gbG9jYXRpb25fZGF0YS5mcmVlZCArIGhlYXBfY2h1bmtb MV0KPsKgwqDCoMKgwqBsb2NhdGlvbl9kYXRhLmNvdW50ID0gbG9jYXRpb25fZGF0YS5jb3VudCAr IDEKPsKgwqDCoGVuZAo+ZGlmZiAtLWdpdCBhL3Rvb2xzL21lbXByb2YvcHJvY2Vzcy5sdWEgYi90 b29scy9tZW1wcm9mL3Byb2Nlc3MubHVhCj5pbmRleCAwYmNiOTY1Yi4uOWRjMjAyYWUgMTAwNjQ0 Cj4tLS0gYS90b29scy9tZW1wcm9mL3Byb2Nlc3MubHVhCj4rKysgYi90b29scy9tZW1wcm9mL3By b2Nlc3MubHVhCj5AQCAtMzksOCArMzksOCBAQCBmdW5jdGlvbiBNLmZvcm1faGVhcF9kZWx0YShl dmVudHMsIHN5bWJvbHMpCj7CoMKgwqDCoMKgwqDCoGZvciBfLCBoZWFwX2NodW5rIGluIHBhaXJz KGV2ZW50LnByaW1hcnkpIGRvCj7CoMKgwqDCoMKgwqDCoMKgwqBsb2NhbCBldl9saW5lID0gc3lt dGFiLmRlbWFuZ2xlKHN5bWJvbHMsIGhlYXBfY2h1bmsubG9jKQo+wqAKPi0gaWYgKGhlYXBfY2h1 bmsuYWxsb2NlZCA+IDApIHRoZW4KPi0gZGhlYXBbZXZfbGluZV0uZGJ5dGVzID0gZGhlYXBbZXZf bGluZV0uZGJ5dGVzICsgaGVhcF9jaHVuay5hbGxvY2VkCj4rIGlmIChoZWFwX2NodW5rLmFsbG9j YXRlZCA+IDApIHRoZW4KPisgZGhlYXBbZXZfbGluZV0uZGJ5dGVzID0gZGhlYXBbZXZfbGluZV0u ZGJ5dGVzICsgaGVhcF9jaHVuay5hbGxvY2F0ZWQKPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkaGVh cFtldl9saW5lXS5uYWxsb2MgPSBkaGVhcFtldl9saW5lXS5uYWxsb2MgKyBoZWFwX2NodW5rLmNv dW50Cj7CoMKgwqDCoMKgwqDCoMKgwqBlbmQKPsKgCj4tLQo+Mi4zNC4xCsKg ----ALT--b9C43285856B446F97F2A202d91670D91697106813 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGksIFNlcmdleSE8L2Rpdj48ZGl2PlRoYW5rcyBmb3IgdGhlIHBh dGNoITwvZGl2PjxkaXY+TEdUTTwvZGl2PjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250 YWluZXIiPjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250ZW50Ij48ZGl2Pi0tPGJyPkJl c3QgcmVnYXJkcyw8L2Rpdj48ZGl2Pk1heGltIEtva3J5YXNoa2luPC9kaXY+PC9kaXY+PC9kaXY+ PGRpdj4mbmJzcDs8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJib3Jk ZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBw eDsiPtCh0YDQtdC00LAsIDExINC+0LrRgtGP0LHRgNGPIDIwMjMsIDE5OjUzICswMzowMCDQvtGC IFNlcmdleSBCcm9ubmlrb3YgdmlhIFRhcmFudG9vbC1wYXRjaGVzICZsdDt0YXJhbnRvb2wtcGF0 Y2hlc0BkZXYudGFyYW50b29sLm9yZyZndDs6PGJyPiZuYnNwOzxkaXYgaWQ9IiI+PGRpdiBjbGFz cz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXYgaWQ9InN0eWxlXzE2OTcwNDMy MDgwMjE0MzQ4MzAyX0JPRFkiPkZyb206IFNlcmdleSBCcm9ubmlrb3YgJmx0OzxhIGhyZWY9Ii9j b21wb3NlP1RvPXNlcmdleWJAdGFyYW50b29sLm9yZyI+c2VyZ2V5YkB0YXJhbnRvb2wub3JnPC9h PiZndDs8YnI+PGJyPkZpeCB0eXBvcyBmb3VuZCB3aXRoIGNvZGVzcGVsbCBpbiBmaWxlcyB3aXRo IG91ciBvd24gc291cmNlIGNvZGUuPGJyPi0tLTxicj4mbmJzcDtzcmMvbGpfbWVtcHJvZi5jIHwg NCArKy0tPGJyPiZuYnNwO3NyYy9sal9zeXNwcm9mLmMgfCAyICstPGJyPiZuYnNwO3NyYy9sal93 YnVmLmggfCAyICstPGJyPiZuYnNwO3NyYy9sdWFqaXQtZ2RiLnB5IHwgNiArKystLS08YnI+Jm5i c3A7c3JjL2x1YWppdF9sbGRiLnB5IHwgNiArKystLS08YnI+Jm5ic3A7dGVzdC9MdWFKSVQtdGVz dHMvc3JjL2N0ZXN0LmMgfCAyICstPGJyPiZuYnNwO3Rlc3QvUFVDLVJpby1MdWEtNS4xLXRlc3Rz L2FwaS5sdWEgfCA0ICsrLS08YnI+Jm5ic3A7dGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvZGIu bHVhIHwgMiArLTxicj4mbmJzcDt0ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9nYy5sdWEgfCAy ICstPGJyPiZuYnNwO3Rlc3QvUFVDLVJpby1MdWEtNS4xLXRlc3RzL21hdGgubHVhIHwgMiArLTxi cj4mbmJzcDt0ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9zdHJpbmdzLmx1YSB8IDIgKy08YnI+ Jm5ic3A7dGVzdC90YXJhbnRvb2wtdGVzdHMvQ01ha2VMaXN0cy50eHQgfCAyICstPGJyPiZuYnNw O3Rlc3QvdGFyYW50b29sLXRlc3RzL2ZpeC1lbWl0LXJtYS50ZXN0Lmx1YSB8IDIgKy08YnI+Jm5i c3A7dGVzdC90YXJhbnRvb2wtdGVzdHMvZ2gtNDE5OS1nYzY0LWZ1c2UudGVzdC5sdWEgfCAyICst PGJyPiZuYnNwOy4uLi9naC02MDk2LWV4dGVybmFsLXVud2luZGluZy1vbi1hcm02NC50ZXN0Lmx1 YSB8IDIgKy08YnI+Jm5ic3A7dGVzdC90YXJhbnRvb2wtdGVzdHMvZ2gtNjE2My1taW4tbWF4LnRl c3QubHVhIHwgMiArLTxicj4mbmJzcDt0ZXN0L3RhcmFudG9vbC10ZXN0cy9sai0zNTAtc2xvYWQt dHlwZWNoZWNrLnRlc3QubHVhIHwgMiArLTxicj4mbmJzcDt0ZXN0L3RhcmFudG9vbC10ZXN0cy9s ai0zNTctYXJtNjQtaHJlZmsudGVzdC5sdWEgfCAyICstPGJyPiZuYnNwO3Rlc3QvdGFyYW50b29s LXRlc3RzL2xqLTQxNi14b3ItYmVmb3JlLWpjYy50ZXN0Lmx1YSB8IDIgKy08YnI+Jm5ic3A7Li4u L2xqLTQyNi1hcm02NC1pbmNvcnJlY3QtY2hlY2stY2xvc2VkLXV2LnRlc3QubHVhIHwgMiArLTxi cj4mbmJzcDsuLi4vbGotNTEyLXByb2ZpbGVyLWhvb2stZmluYWxpemVycy50ZXN0Lmx1YSB8IDQg KystLTxicj4mbmJzcDt0ZXN0L3RhcmFudG9vbC10ZXN0cy9sai02MDMtZXJyLXNuYXAtcmVzdG9y ZS50ZXN0Lmx1YSB8IDIgKy08YnI+Jm5ic3A7dGVzdC90YXJhbnRvb2wtdGVzdHMvbWlzY2xpYi1t ZW1wcm9mLWxhcGkudGVzdC5sdWEgfCA4ICsrKystLS0tPGJyPiZuYnNwO3Rlc3QvdGFyYW50b29s LXRlc3RzL3RhcC5sdWEgfCA0ICsrLS08YnI+Jm5ic3A7dGVzdC90YXJhbnRvb2wtdGVzdHMvdW5p dC1qaXQtcGFyc2UudGVzdC5sdWEgfCAyICstPGJyPiZuYnNwO3Rlc3QvdGFyYW50b29sLXRlc3Rz L3V0aWxzL2ppdC9nZW5lcmF0b3JzLmx1YSB8IDIgKy08YnI+Jm5ic3A7dG9vbHMvbWVtcHJvZi9w YXJzZS5sdWEgfCA0ICsrLS08YnI+Jm5ic3A7dG9vbHMvbWVtcHJvZi9wcm9jZXNzLmx1YSB8IDQg KystLTxicj4mbmJzcDsyOCBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCA0MSBkZWxl dGlvbnMoLSk8YnI+PGJyPmRpZmYgLS1naXQgYS9zcmMvbGpfbWVtcHJvZi5jIGIvc3JjL2xqX21l bXByb2YuYzxicj5pbmRleCBhNDkyY2Y1OC4uYzlhOGIyMDMgMTAwNjQ0PGJyPi0tLSBhL3NyYy9s al9tZW1wcm9mLmM8YnI+KysrIGIvc3JjL2xqX21lbXByb2YuYzxicj5AQCAtMjYwLDcgKzI2MCw3 IEBAIGludCBsal9tZW1wcm9mX3N0YXJ0KHN0cnVjdCBsdWFfU3RhdGUgKkwsIGNvbnN0IHN0cnVj dCBsal9tZW1wcm9mX29wdGlvbnMgKm9wdCk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7bGpfYXNzZXJ0 TChvcHQtJmd0O2xlbiAhPSAwLCAiYmFkIG1lbXByb2Ygd3JpdGVyIGJ1ZmZlciBsZW5naHQiKTs8 YnI+Jm5ic3A7PGJyPiZuYnNwOyZuYnNwOyZuYnNwO2lmIChtcC0mZ3Q7c3RhdGUgIT0gTVBTX0lE TEUpIHs8YnI+LSAvKiBDbGVhbiB1cCByZXNvdXJzZXMuIElnbm9yZSBwb3NzaWJsZSBlcnJvcnMu ICovPGJyPisgLyogQ2xlYW4gdXAgcmVzb3VyY2VzLiBJZ25vcmUgcG9zc2libGUgZXJyb3JzLiAq Lzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtvcHQtJmd0O29uX3N0b3Aob3B0LSZn dDtjdHgsIG9wdC0mZ3Q7YnVmKTs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0 dXJuIFBST0ZJTEVfRVJSUlVOOzxicj4mbmJzcDsmbmJzcDsmbmJzcDt9PGJyPkBAIC0zOTIsNyAr MzkyLDcgQEAgdm9pZCBsal9tZW1wcm9mX2FkZF90cmFjZShjb25zdCBzdHJ1Y3QgR0N0cmFjZSAq dHIpPGJyPiZuYnNwO2ludCBsal9tZW1wcm9mX3N0YXJ0KHN0cnVjdCBsdWFfU3RhdGUgKkwsIGNv bnN0IHN0cnVjdCBsal9tZW1wcm9mX29wdGlvbnMgKm9wdCk8YnI+Jm5ic3A7ezxicj4mbmJzcDsm bmJzcDsmbmJzcDtVTlVTRUQoTCk7PGJyPi0gLyogQ2xlYW4gdXAgcmVzb3Vyc2VzLiBJZ25vcmUg cG9zc2libGUgZXJyb3JzLiAqLzxicj4rIC8qIENsZWFuIHVwIHJlc291cmNlcy4gSWdub3JlIHBv c3NpYmxlIGVycm9ycy4gKi88YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7b3B0LSZndDtvbl9zdG9wKG9w dC0mZ3Q7Y3R4LCBvcHQtJmd0O2J1Zik7PGJyPiZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiBQUk9G SUxFX0VSUlVTRTs8YnI+Jm5ic3A7fTxicj5kaWZmIC0tZ2l0IGEvc3JjL2xqX3N5c3Byb2YuYyBi L3NyYy9sal9zeXNwcm9mLmM8YnI+aW5kZXggNTJkNGQyYTUuLjgyZWQ4MjEwIDEwMDY0NDxicj4t LS0gYS9zcmMvbGpfc3lzcHJvZi5jPGJyPisrKyBiL3NyYy9sal9zeXNwcm9mLmM8YnI+QEAgLTQ4 Niw3ICs0ODYsNyBAQCBpbnQgbGpfc3lzcHJvZl9zdG9wKGx1YV9TdGF0ZSAqTCk8YnI+Jm5ic3A7 Jm5ic3A7Jm5ic3A7aWYgKFNQU19IQUxUID09IHNwLSZndDtzdGF0ZSkgezxicj4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtlcnJubyA9IHNwLSZndDtzYXZlZF9lcnJubzs8YnI+Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3AtJmd0O3N0YXRlID0gU1BTX0lETEU7PGJyPi0gLyog d2J1ZiB3YXMgdGVybWluYXRlZCB3aGVuIGVycm9yIG9jY3VyZWQuICovPGJyPisgLyogd2J1ZiB3 YXMgdGVybWluYXRlZCB3aGVuIGVycm9yIG9jY3VycmVkLiAqLzxicj4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtyZXR1cm4gUFJPRklMRV9FUlJJTzs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 fTxicj4mbmJzcDs8YnI+ZGlmZiAtLWdpdCBhL3NyYy9sal93YnVmLmggYi9zcmMvbGpfd2J1Zi5o PGJyPmluZGV4IDllYWE1ZTUxLi4zM2VjODQ2MyAxMDA2NDQ8YnI+LS0tIGEvc3JjL2xqX3didWYu aDxicj4rKysgYi9zcmMvbGpfd2J1Zi5oPGJyPkBAIC03NSw3ICs3NSw3IEBAIHZvaWQgbGpfd2J1 Zl9hZGRuKHN0cnVjdCBsal93YnVmICpidWYsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pOzxi cj4mbmJzcDsvKiBXcml0ZSBzdHJpbmcgdG8gdGhlIGJ1ZmZlci4gKi88YnI+Jm5ic3A7dm9pZCBM Sl9GQVNUQ0FMTCBsal93YnVmX2FkZHN0cmluZyhzdHJ1Y3QgbGpfd2J1ZiAqYnVmLCBjb25zdCBj aGFyICpzKTs8YnI+Jm5ic3A7PGJyPi0vKiBJbW1lZGlhdGx5IGZsdXNoIHRoZSBidWZmZXIuICov PGJyPisvKiBJbW1lZGlhdGVseSBmbHVzaCB0aGUgYnVmZmVyLiAqLzxicj4mbmJzcDt2b2lkIExK X0ZBU1RDQUxMIGxqX3didWZfZmx1c2goc3RydWN0IGxqX3didWYgKmJ1Zik7PGJyPiZuYnNwOzxi cj4mbmJzcDsvKiBDaGVjayBmbGFncy4gKi88YnI+ZGlmZiAtLWdpdCBhL3NyYy9sdWFqaXQtZ2Ri LnB5IGIvc3JjL2x1YWppdC1nZGIucHk8YnI+aW5kZXggNWVhZjI1MGYuLmQyMDcwZTliIDEwMDY0 NDxicj4tLS0gYS9zcmMvbHVhaml0LWdkYi5weTxicj4rKysgYi9zcmMvbHVhaml0LWdkYi5weTxi cj5AQCAtMzE0LDcgKzMxNCw3IEBAIGRlZiBzdHJkYXRhKG9iaik6PGJyPiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3RyeTo8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIHN0cihjYXN0KCdjaGFyIConLCBjYXN0KCdHQ3N0 ciAqJywgb2JqKSArIDEpKVtsZW4oUEFERElORyk6XTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOjxicj4tIHJldHVybiAiJmx0O2x1YWpp dC1nZGI6IGVycm9yIG9jY3VyZWQgd2hpbGUgcmVuZGVyaW5nIG5vbi1hc2NpaSBzbG90Jmd0OyI8 YnI+KyByZXR1cm4gIiZsdDtsdWFqaXQtZ2RiOiBlcnJvciBvY2N1cnJlZCB3aGlsZSByZW5kZXJp bmcgbm9uLWFzY2lpIHNsb3QmZ3Q7Ijxicj4mbmJzcDs8YnI+Jm5ic3A7PGJyPiZuYnNwO2RlZiBp dHlwZW1hcChvKTo8YnI+QEAgLTY4Nyw3ICs2ODcsNyBAQCBjbGFzcyBMSkR1bXBUYWJsZShMSkJh c2UpOjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsnJyc8YnI+Jm5ic3A7bGotdGFi ICZsdDtHQ3RhYiAqJmd0Ozxicj4mbmJzcDs8YnI+LVRoZSBjb21tYW5kIHJlY2VpdmVzIGEgR0N0 YWIgYWRyZXNzIGFuZCBkdW1wcyB0aGUgdGFibGUgY29udGVudHM6PGJyPitUaGUgY29tbWFuZCBy ZWNlaXZlcyBhIEdDdGFiIGFkZHJlc3MgYW5kIGR1bXBzIHRoZSB0YWJsZSBjb250ZW50czo8YnI+ Jm5ic3A7KiBNZXRhdGFibGUgYWRkcmVzcyB3aGV0aGVyIHRoZSBvbmUgaXMgc2V0PGJyPiZuYnNw OyogQXJyYXkgcGFydCAmbHQ7YXNpemUmZ3Q7IHNsb3RzOjxicj4mbmJzcDsmbmJzcDsmbmJzcDsm bHQ7YXNsb3QgcHRyJmd0OzogWyZsdDtpbmRleCZndDtdOiAmbHQ7dHYmZ3Q7PGJyPkBAIC03NTks NyArNzU5LDcgQEAgY29yb3V0aW5lIGd1ZXN0IHN0YWNrOjxicj4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsrIENQOiBQcm90ZWN0ZWQgQyBmcmFtZTxicj4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsrIFBQOiBWTSBwZXJmb3JtcyBhIGNhbGwgYXMgYSByZXN1bHQgb2YgZXhlY3V0 aW5pZyBwY2FsbCBvciB4cGNhbGw8YnI+Jm5ic3A7PGJyPi1JZiBMIGlzIG9tbWl0ZWQgdGhlIG1h aW4gY29yb3V0aW5lIGlzIHVzZWQuPGJyPitJZiBMIGlzIG9taXR0ZWQgdGhlIG1haW4gY29yb3V0 aW5lIGlzIHVzZWQuPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOycnJzxicj4mbmJz cDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZGVmIGludm9rZShzZWxmLCBhcmcs IGZyb21fdHR5KTo8YnI+ZGlmZiAtLWdpdCBhL3NyYy9sdWFqaXRfbGxkYi5weSBiL3NyYy9sdWFq aXRfbGxkYi5weTxicj5pbmRleCBlZjA5ODZjYy4uNWFjMTFiNjUgMTAwNjQ0PGJyPi0tLSBhL3Ny Yy9sdWFqaXRfbGxkYi5weTxicj4rKysgYi9zcmMvbHVhaml0X2xsZGIucHk8YnI+QEAgLTUyNSw3 ICs1MjUsNyBAQCBkZWYgc3RyZGF0YShvYmopOjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtwdHIgPSBjYXN0KCdjaGFyIConLCBvYmogKyAx KTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtyZXR1cm4gcHRyLnN1bW1hcnk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZXhj ZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjo8YnI+LSByZXR1cm4gIiZsdDtsdWFqaXQtbGxkYjogZXJy b3Igb2NjdXJlZCB3aGlsZSByZW5kZXJpbmcgbm9uLWFzY2lpIHNsb3QmZ3Q7Ijxicj4rIHJldHVy biAiJmx0O2x1YWppdC1sbGRiOiBlcnJvciBvY2N1cnJlZCB3aGlsZSByZW5kZXJpbmcgbm9uLWFz Y2lpIHNsb3QmZ3Q7Ijxicj4mbmJzcDs8YnI+Jm5ic3A7PGJyPiZuYnNwO2RlZiBpdHlwZShvKTo8 YnI+QEAgLTk5Niw3ICs5OTYsNyBAQCBjbGFzcyBMSkR1bXBUYWJsZShDb21tYW5kKTo8YnI+Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JycnPGJyPiZuYnNwO2xqLXRhYiAmbHQ7R0N0YWIg KiZndDs8YnI+Jm5ic3A7PGJyPi1UaGUgY29tbWFuZCByZWNlaXZlcyBhIEdDdGFiIGFkcmVzcyBh bmQgZHVtcHMgdGhlIHRhYmxlIGNvbnRlbnRzOjxicj4rVGhlIGNvbW1hbmQgcmVjZWl2ZXMgYSBH Q3RhYiBhZGRyZXNzIGFuZCBkdW1wcyB0aGUgdGFibGUgY29udGVudHM6PGJyPiZuYnNwOyogTWV0 YXRhYmxlIGFkZHJlc3Mgd2hldGhlciB0aGUgb25lIGlzIHNldDxicj4mbmJzcDsqIEFycmF5IHBh cnQgJmx0O2FzaXplJmd0OyBzbG90czo8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2FzbG90IHB0 ciZndDs6IFsmbHQ7aW5kZXgmZ3Q7XTogJmx0O3R2Jmd0Ozxicj5AQCAtMTA2Nyw3ICsxMDY3LDcg QEAgY29yb3V0aW5lIGd1ZXN0IHN0YWNrOjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsrIENQOiBQcm90ZWN0ZWQgQyBmcmFtZTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsrIFBQOiBWTSBwZXJmb3JtcyBhIGNhbGwgYXMgYSByZXN1bHQgb2YgZXhlY3V0aW5pZyBwY2Fs bCBvciB4cGNhbGw8YnI+Jm5ic3A7PGJyPi1JZiBMIGlzIG9tbWl0ZWQgdGhlIG1haW4gY29yb3V0 aW5lIGlzIHVzZWQuPGJyPitJZiBMIGlzIG9taXR0ZWQgdGhlIG1haW4gY29yb3V0aW5lIGlzIHVz ZWQuPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOycnJzxicj4mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtkZWYgZXhlY3V0ZShzZWxmLCBkZWJ1Z2dlciwgYXJncywgcmVzdWx0 KTo8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7bHN0YXRlID0gc2VsZi5wYXJzZShhcmdzKTxicj5kaWZmIC0tZ2l0IGEvdGVzdC9MdWFKSVQt dGVzdHMvc3JjL2N0ZXN0LmMgYi90ZXN0L0x1YUpJVC10ZXN0cy9zcmMvY3Rlc3QuYzxicj5pbmRl eCBkMjU3NTY3Yi4uZTk5ZjIzMDYgMTAwNjQ0PGJyPi0tLSBhL3Rlc3QvTHVhSklULXRlc3RzL3Ny Yy9jdGVzdC5jPGJyPisrKyBiL3Rlc3QvTHVhSklULXRlc3RzL3NyYy9jdGVzdC5jPGJyPkBAIC0y MzQsNyArMjM0LDcgQEAgc3RhdGljIGludCBjb3N0YXR1cyhsdWFfU3RhdGUgKkwsIGx1YV9TdGF0 ZSAqY28pIHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZWxz ZTxicj4mbmJzcDsgcmV0dXJuIENPX1NVUzsgLyogaW5pdGlhbCBzdGF0ZSAqLzxicj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyPi0gZGVmYXVsdDogLyogc29tZSBlcnJvciBvY2N1 cmVkICovPGJyPisgZGVmYXVsdDogLyogc29tZSBlcnJvciBvY2N1cnJlZCAqLzxicj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gQ09fREVBRDs8YnI+Jm5i c3A7Jm5ic3A7Jm5ic3A7fTxicj4mbmJzcDt9PGJyPmRpZmYgLS1naXQgYS90ZXN0L1BVQy1SaW8t THVhLTUuMS10ZXN0cy9hcGkubHVhIGIvdGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvYXBpLmx1 YTxicj5pbmRleCBjOTU1ZWJmOS4uN2VjMmYxYmEgMTAwNjQ0PGJyPi0tLSBhL3Rlc3QvUFVDLVJp by1MdWEtNS4xLXRlc3RzL2FwaS5sdWE8YnI+KysrIGIvdGVzdC9QVUMtUmlvLUx1YS01LjEtdGVz dHMvYXBpLmx1YTxicj5AQCAtMTcsNyArMTcsNyBAQCBmdW5jdGlvbiBwYWNrKC4uLikgcmV0dXJu IGFyZyBlbmQ8YnI+Jm5ic3A7PGJyPiZuYnNwO3ByaW50KCd0ZXN0aW5nIEMgQVBJJyk8YnI+Jm5i c3A7PGJyPi0tLSB0ZXN0aW5nIGFsbGlnbm1lbnQ8YnI+Ky0tIHRlc3RpbmcgYWxpZ25tZW50PGJy PiZuYnNwO2EgPSBULmQycygxMjQ1ODk1NDMyMTEyMyk8YnI+Jm5ic3A7YXNzZXJ0KHN0cmluZy5s ZW4oYSkgPT0gOCkgLS0gc2l6ZW9mKGRvdWJsZSk8YnI+Jm5ic3A7YXNzZXJ0KFQuczJkKGEpID09 IDEyNDU4OTU0MzIxMTIzKTxicj5AQCAtMzMzLDcgKzMzMyw3IEBAIEYgPSBmdW5jdGlvbiAoeCk8 YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYgQSB+PSBuaWwgdGhlbjxicj4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDthc3NlcnQodHlwZShBKSA9PSAidXNlcmRhdGEiKTxicj4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDthc3NlcnQoVC51ZGF0YXZhbChBKSA9PSBCKTxicj4tIGRlYnVn LmdldG1ldGF0YWJsZShBKSAtLSBqdXN0IGFjZXNzIGl0PGJyPisgZGVidWcuZ2V0bWV0YXRhYmxl KEEpIC0tIGp1c3QgYWNjZXNzIGl0PGJyPiZuYnNwOyZuYnNwOyZuYnNwO2VuZDxicj4mbmJzcDsm bmJzcDsmbmJzcDtBID0geCAtLSByZXNzdWNpdGEgdXNlcmRhdGE8YnI+Jm5ic3A7Jm5ic3A7Jm5i c3A7QiA9IHVkdmFsPGJyPmRpZmYgLS1naXQgYS90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9k Yi5sdWEgYi90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9kYi5sdWE8YnI+aW5kZXggYjE0OGMy ZGQuLjBkNDY5MmUxIDEwMDY0NDxicj4tLS0gYS90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9k Yi5sdWE8YnI+KysrIGIvdGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvZGIubHVhPGJyPkBAIC01 NjEsNyArNTYxLDcgQEAgdFsxXSA9ICInZXJyb3InIjxicj4mbmJzcDtjaGVja3RyYWNlYmFjayhj bywgdCk8YnI+Jm5ic3A7PGJyPiZuYnNwOzxicj4tLS0gdGVzdCBhY2Vzc2luZyBsaW5lIG51bWJl cnMgb2YgYSBjb3JvdXRpbmUgZnJvbSBhIHJlc3VtZSBpbnNpZGU8YnI+Ky0tIHRlc3QgYWNjZXNz aW5nIGxpbmUgbnVtYmVycyBvZiBhIGNvcm91dGluZSBmcm9tIGEgcmVzdW1lIGluc2lkZTxicj4m bmJzcDstLSBhIEMgZnVuY3Rpb24gKHRoaXMgaXMgYSBrbm93biBidWcgaW4gTHVhIDUuMCk8YnI+ Jm5ic3A7PGJyPiZuYnNwO2xvY2FsIGZ1bmN0aW9uIGcoeCk8YnI+ZGlmZiAtLWdpdCBhL3Rlc3Qv UFVDLVJpby1MdWEtNS4xLXRlc3RzL2djLmx1YSBiL3Rlc3QvUFVDLVJpby1MdWEtNS4xLXRlc3Rz L2djLmx1YTxicj5pbmRleCAxMGUxZjJkZC4uYTFjNmU3YzcgMTAwNjQ0PGJyPi0tLSBhL3Rlc3Qv UFVDLVJpby1MdWEtNS4xLXRlc3RzL2djLmx1YTxicj4rKysgYi90ZXN0L1BVQy1SaW8tTHVhLTUu MS10ZXN0cy9nYy5sdWE8YnI+QEAgLTMwOCw3ICszMDgsNyBAQCBkbzxicj4mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDthc3NlcnQoZ2V0bWV0YXRhYmxlKG8pID09IHR0KTxicj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDstLSBjcmVhdGUgbmV3IG9iamVjdHMgZHVyaW5nIEdDPGJy PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2xvY2FsIGEgPSAneHV4dScuLigxMCszKS4u J2pvYW8nLCB7fTxicj4tIF9fX0dsb2IgPSBvIC0tIHJlc3N1cmVjdCBvYmplY3QhPGJyPisgX19f R2xvYiA9IG8gLS0gcmVzdXJyZWN0IG9iamVjdCE8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7bmV3cHJveHkobykgLS0gY3JlYXRlcyBhIG5ldyBvbmUgd2l0aCBzYW1lIG1ldGF0YWJs ZTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtwcmludCgiJmd0OyZndDsmZ3Q7IGNs b3Npbmcgc3RhdGUgIiAuLiAiJmx0OyZsdDsmbHQ7XG4iKTxicj4mbmJzcDsmbmJzcDsmbmJzcDtl bmQ8YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvUFVDLVJpby1MdWEtNS4xLXRlc3RzL21hdGgubHVhIGIv dGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMvbWF0aC5sdWE8YnI+aW5kZXggZjY2Y2UxOTYuLjYz ZWZjNWRkIDEwMDY0NDxicj4tLS0gYS90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9tYXRoLmx1 YTxicj4rKysgYi90ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9tYXRoLmx1YTxicj5AQCAtMTY1 LDcgKzE2NSw3IEBAIHN0YXQoYSk8YnI+Jm5ic3A7PGJyPiZuYnNwO2EgPSBuaWw8YnI+Jm5ic3A7 PGJyPi0tLSB0ZXN0aW5nIGltcGxpY2l0IGNvbnZlcnRpb25zPGJyPistLSB0ZXN0aW5nIGltcGxp Y2l0IGNvbnZlcnNpb25zPGJyPiZuYnNwOzxicj4mbmJzcDtsb2NhbCBhLGIgPSAnMTAnLCAnMjAn PGJyPiZuYnNwO2Fzc2VydChhKmIgPT0gMjAwIGFuZCBhK2IgPT0gMzAgYW5kIGEtYiA9PSAtMTAg YW5kIGEvYiA9PSAwLjUgYW5kIC1iID09IC0yMCk8YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvUFVDLVJp by1MdWEtNS4xLXRlc3RzL3N0cmluZ3MubHVhIGIvdGVzdC9QVUMtUmlvLUx1YS01LjEtdGVzdHMv c3RyaW5ncy5sdWE8YnI+aW5kZXggM2NjMWMxYjIuLjA4MThlMzkwIDEwMDY0NDxicj4tLS0gYS90 ZXN0L1BVQy1SaW8tTHVhLTUuMS10ZXN0cy9zdHJpbmdzLmx1YTxicj4rKysgYi90ZXN0L1BVQy1S aW8tTHVhLTUuMS10ZXN0cy9zdHJpbmdzLmx1YTxicj5AQCAtMTU2LDcgKzE1Niw3IEBAIGFzc2Vy dChzdHJpbmcuZm9ybWF0KCciLSUyMHMuMjBzIicsIHN0cmluZy5yZXAoIiUiLCAyMDAwKSkgPT08 YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RyaW5n LmZvcm1hdCgiJXEiLCAiLSIuLnN0cmluZy5yZXAoIiUiLCAyMDAwKS4uIi4yMHMiKSk8YnI+Jm5i c3A7PGJyPiZuYnNwOzxicj4tLS0gbG9uZ2VzdCBudW1iZXIgdGhhdCBjYW4gYmUgZm9ybWF0ZWQ8 YnI+Ky0tIGxvbmdlc3QgbnVtYmVyIHRoYXQgY2FuIGJlIGZvcm1hdHRlZDxicj4mbmJzcDthc3Nl cnQoc3RyaW5nLmxlbihzdHJpbmcuZm9ybWF0KCclOTkuOTlmJywgLTFlMzA4KSkgJmd0Oz0gMTAw KTxicj4mbmJzcDs8YnI+Jm5ic3A7YXNzZXJ0KGxvYWRzdHJpbmcoInJldHVybiAxXG4tLWNvbWVu dHJpbyBzZW0gRU9MIG5vIGZpbmFsIikoKSA9PSAxKTxicj5kaWZmIC0tZ2l0IGEvdGVzdC90YXJh bnRvb2wtdGVzdHMvQ01ha2VMaXN0cy50eHQgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9DTWFrZUxp c3RzLnR4dDxicj5pbmRleCBjMTVkNjAzNy4uNzNmZTRiNWEgMTAwNjQ0PGJyPi0tLSBhL3Rlc3Qv dGFyYW50b29sLXRlc3RzL0NNYWtlTGlzdHMudHh0PGJyPisrKyBiL3Rlc3QvdGFyYW50b29sLXRl c3RzL0NNYWtlTGlzdHMudHh0PGJyPkBAIC0xMzQsNyArMTM0LDcgQEAgZWxzZSgpPGJyPiZuYnNw O2VuZGlmKCk8YnI+Jm5ic3A7PGJyPiZuYnNwOyMgTFVBX0NQQVRIIGFuZCBMRF9MSUJSQVJZX1BB VEggdmFyaWFibGVzIGFuZCBhbHNvIFRFU1RMSUJTIGxpc3Q8YnI+LSMgd2l0aCBkZXBlbmRlY2ll cyBhcmUgc2V0IGluIHNjb3BlIG9mIEJ1aWxkVGVzdExpYiBtYWNyby48YnI+KyMgd2l0aCBkZXBl bmRlbmNpZXMgYXJlIHNldCBpbiBzY29wZSBvZiBCdWlsZFRlc3RMaWIgbWFjcm8uPGJyPiZuYnNw O2FkZF9jdXN0b21fdGFyZ2V0KHRhcmFudG9vbC10ZXN0czxicj4mbmJzcDsmbmJzcDsmbmJzcDtE RVBFTkRTICR7TFVBSklUX1RFU1RfQklOQVJZfSAke1RFU1RMSUJTfTxicj4mbmJzcDspPGJyPmRp ZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9maXgtZW1pdC1ybWEudGVzdC5sdWEgYi90 ZXN0L3RhcmFudG9vbC10ZXN0cy9maXgtZW1pdC1ybWEudGVzdC5sdWE8YnI+aW5kZXggNDI4MDQ0 NDcuLmNjOTdmZjRkIDEwMDY0NDxicj4tLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9maXgtZW1p dC1ybWEudGVzdC5sdWE8YnI+KysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvZml4LWVtaXQtcm1h LnRlc3QubHVhPGJyPkBAIC00LDcgKzQsNyBAQCBsb2NhbCB0ZXN0ID0gdGFwLnRlc3QoJ2ZpeC1l bWl0LXJtYScpOnNraXBjb25kKHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7WydUZXN0IHJlcXVpcmVz IEdDNjQgbW9kZSBlbmFibGVkJ10gPSBub3QgcmVxdWlyZSgnZmZpJykuYWJpKCdnYzY0JyksPGJy PiZuYnNwO30pPGJyPiZuYnNwOzxicj4tLS0gTmVlZCB0byB0ZXN0IDIgY2FzZXMgb2YgYGVtaXRf cm1hKClgIHBhcnRpY3VsYXJ5IG9uIHg2NDo8YnI+Ky0tIE5lZWQgdG8gdGVzdCAyIGNhc2VzIG9m IGBlbWl0X3JtYSgpYCBwYXJ0aWN1bGFybHkgb24geDY0Ojxicj4mbmJzcDstLSAqIGBJUl9MREVY UGAgd2l0aCBgZmxkYCBpbnN0cnVjdGlvbiBmb3IgbG9hZGluZyBjb25zdGFudDxicj4mbmJzcDst LSBudW1iZXIgYFRWYWx1ZWAgYnkgYWRkcmVzcy48YnI+Jm5ic3A7LS0gKiBgSVJfT0JBUmAgd2l0 aCB0aGUgY29ycmVzcG9uZGluZyBgdGVzdGAgaW5zdHJ1Y3Rpb24gb248YnI+ZGlmZiAtLWdpdCBh L3Rlc3QvdGFyYW50b29sLXRlc3RzL2doLTQxOTktZ2M2NC1mdXNlLnRlc3QubHVhIGIvdGVzdC90 YXJhbnRvb2wtdGVzdHMvZ2gtNDE5OS1nYzY0LWZ1c2UudGVzdC5sdWE8YnI+aW5kZXggY2EwNTBj ZjAuLjg3N2Y3ODg0IDEwMDY0NDxicj4tLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9naC00MTk5 LWdjNjQtZnVzZS50ZXN0Lmx1YTxicj4rKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9naC00MTk5 LWdjNjQtZnVzZS50ZXN0Lmx1YTxicj5AQCAtNDQsNyArNDQsNyBAQCBmb3IgbiA9IDEsIDEwMCBk bzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtmb3IgaSA9IDEs IDUgZG88YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7LS0gVGhpcyBjb25zdGFudCBmdXNpb24gbGVhZHMgdG8gdGhlIHRlc3QgZmFpbHVyZS48 YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 YVtpXSA9IDA8YnI+LSAtLSBUaGlzIHN1bW0gaXMgbm90IG5lY2Vzc2FycnkgYnV0IGRlY3JlYXNl cyB0aGUgYW1vdW50IG9mPGJyPisgLS0gVGhpcyBzdW1tIGlzIG5vdCBuZWNlc3NhcnkgYnV0IGRl Y3JlYXNlcyB0aGUgYW1vdW50IG9mPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOy0tIGl0ZXJhdGlvbnMuPGJyPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2FbaV0gPSBhW2ldICsgeCArIHk8 YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 LS0gVXNlIGFsbCBGUFIgcmVnaXN0ZXJzIGFuZCBvbmUgdmFsdWUgZnJvbSB0aGUgbWVtb3J5PGJy PmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9naC02MDk2LWV4dGVybmFsLXVud2lu ZGluZy1vbi1hcm02NC50ZXN0Lmx1YSBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2doLTYwOTYtZXh0 ZXJuYWwtdW53aW5kaW5nLW9uLWFybTY0LnRlc3QubHVhPGJyPmluZGV4IDA5N2U3NzFjLi4wMGY1 ODY0MiAxMDA2NDQ8YnI+LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvZ2gtNjA5Ni1leHRlcm5h bC11bndpbmRpbmctb24tYXJtNjQudGVzdC5sdWE8YnI+KysrIGIvdGVzdC90YXJhbnRvb2wtdGVz dHMvZ2gtNjA5Ni1leHRlcm5hbC11bndpbmRpbmctb24tYXJtNjQudGVzdC5sdWE8YnI+QEAgLTEs NiArMSw2IEBAPGJyPiZuYnNwO2xvY2FsIHRhcCA9IHJlcXVpcmUoJ3RhcCcpPGJyPiZuYnNwOzxi cj4tLS0gVGVzdCBmaWxlIHRvIGNoZWNrIGNvcnJlY3RuZXMgb2YgZXh0ZXJuYWwgdW53aW5kaW5n PGJyPistLSBUZXN0IGZpbGUgdG8gY2hlY2sgY29ycmVjdG5lc3Mgb2YgZXh0ZXJuYWwgdW53aW5k aW5nPGJyPiZuYnNwOy0tIGluIEx1YUpJVC48YnI+Jm5ic3A7LS0gU2VlIGFsc28gPGEgaHJlZj0i aHR0cHM6Ly9naXRodWIuY29tL0x1YUpJVC9MdWFKSVQvaXNzdWVzLzY5OCIgdGFyZ2V0PSJfYmxh bmsiPmh0dHBzOi8vZ2l0aHViLmNvbS9MdWFKSVQvTHVhSklUL2lzc3Vlcy82OTg8L2E+LDxicj4m bmJzcDstLSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vTHVhSklUL0x1YUpJVC9wdWxsLzc1 NyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS9MdWFKSVQvTHVhSklUL3B1bGwv NzU3PC9hPi48YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2doLTYxNjMtbWlu LW1heC50ZXN0Lmx1YSBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2doLTYxNjMtbWluLW1heC50ZXN0 Lmx1YTxicj5pbmRleCA0YmM2MTU1Yy4uMTdhZmQ1MDIgMTAwNjQ0PGJyPi0tLSBhL3Rlc3QvdGFy YW50b29sLXRlc3RzL2doLTYxNjMtbWluLW1heC50ZXN0Lmx1YTxicj4rKysgYi90ZXN0L3RhcmFu dG9vbC10ZXN0cy9naC02MTYzLW1pbi1tYXgudGVzdC5sdWE8YnI+QEAgLTQ1LDcgKzQ1LDcgQEAg bG9jYWwgeCA9IDE8YnI+Jm5ic3A7PGJyPiZuYnNwO2ppdC5vcHQuc3RhcnQoJ2hvdGxvb3A9MScp PGJyPiZuYnNwOzxicj4tLS0gWFhYOiBMb29waW5nIG92ZXIgdGhlIG9wZXJhdGlvbnMgYW5kIHRo ZWlyIGFyZ3VtZW50cyBicmVha2VzIHRoZTxicj4rLS0gWFhYOiBMb29waW5nIG92ZXIgdGhlIG9w ZXJhdGlvbnMgYW5kIHRoZWlyIGFyZ3VtZW50cyBicmVha3MgdGhlPGJyPiZuYnNwOy0tIHNlbWFu dGljcyBvZiBzb21lIG9wdGltaXphdGlvbiB0ZXN0cyBiZWxvdy4gVGhlIGNhc2VzIGFyZTxicj4m bmJzcDstLSBjb3B5LXBhc3RlZCB0byBwcmVzZXJ2ZSBvcHRpbWl6YXRpb24gc2VtYW50aWNzLjxi cj4mbmJzcDs8YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTM1MC1zbG9h ZC10eXBlY2hlY2sudGVzdC5sdWEgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai0zNTAtc2xvYWQt dHlwZWNoZWNrLnRlc3QubHVhPGJyPmluZGV4IDMzMzgwMTcwLi5jNjg3NjQ3MyAxMDA2NDQ8YnI+ LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMzUwLXNsb2FkLXR5cGVjaGVjay50ZXN0Lmx1 YTxicj4rKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai0zNTAtc2xvYWQtdHlwZWNoZWNrLnRl c3QubHVhPGJyPkBAIC0xLDUgKzEsNSBAQDxicj4mbmJzcDtsb2NhbCB0YXAgPSByZXF1aXJlKCd0 YXAnKTxicj4tLS0gVGVzdCBmaWxlIHRvIGRlbW9uc3RyYXRlIHRoZSBpbmNvcnJlY3QgR0M2NCBK SVQgYXNlbWJsaW5nPGJyPistLSBUZXN0IGZpbGUgdG8gZGVtb25zdHJhdGUgdGhlIGluY29ycmVj dCBHQzY0IEpJVCBhc3NlbWJsaW5nPGJyPiZuYnNwOy0tIGBJUl9TTE9BRGAuPGJyPiZuYnNwOy0t IFNlZSBhbHNvIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9MdWFKSVQvTHVhSklUL3B1bGwv MzUwIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL0x1YUpJVC9MdWFKSVQvcHVs bC8zNTA8L2E+Ljxicj4mbmJzcDtsb2NhbCB0ZXN0ID0gdGFwLnRlc3QoJ2xqLTM1MC1zbG9hZC10 eXBlY2hlY2snKTpza2lwY29uZCh7PGJyPmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0 cy9sai0zNTctYXJtNjQtaHJlZmsudGVzdC5sdWEgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai0z NTctYXJtNjQtaHJlZmsudGVzdC5sdWE8YnI+aW5kZXggOGRiOGJiZmMuLjIzZTA2ZDhjIDEwMDY0 NDxicj4tLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai0zNTctYXJtNjQtaHJlZmsudGVzdC5s dWE8YnI+KysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMzU3LWFybTY0LWhyZWZrLnRlc3Qu bHVhPGJyPkBAIC0xNyw3ICsxNyw3IEBAIGxvY2FsIHQgPSB7aHJlZmsgPSAwfTxicj4mbmJzcDst LSBjaG9vc2VzIHRoZSBzYW1lIHJlZ2lzdGVyIGFzIGEgYmFzZSByZWdpc3RlciBmb3Igb2Zmc2V0 IGFuZDxicj4mbmJzcDstLSBkZXN0aW5hdGlvbiBpbiBMRFIgaW5zdHJ1Y3Rpb24uPGJyPiZuYnNw Oy0tIFdlIG5lZWQgMTAyOCBpdGVyYXRpb25zID0gMTAyNCBpdGVyYXRpb24gZm9yIDEwIHRhYmxl IHJlaGFzaGluZzxicj4tLS0gKGNyZWF0ZSBzaWRlIHRyYWNlcyBmb3IgaW52YXJpbmF0IGFuZCB2 YXJpYW50IGxvb3AgcGFydCkgKzxicj4rLS0gKGNyZWF0ZSBzaWRlIHRyYWNlcyBmb3IgaW52YXJp YW50IGFuZCB2YXJpYW50IGxvb3AgcGFydCkgKzxicj4mbmJzcDstLSAzIGZvciB0cmFjZSBpbml0 aWFsaXplICsgMSB0byBydW4gdGhlIGJhZCB0cmFjZS48YnI+Jm5ic3A7bG9jYWwgU1RBUlQgPSAx MDI4PGJyPiZuYnNwO2xvY2FsIFNUT1AgPSAxPGJyPmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9v bC10ZXN0cy9sai00MTYteG9yLWJlZm9yZS1qY2MudGVzdC5sdWEgYi90ZXN0L3RhcmFudG9vbC10 ZXN0cy9sai00MTYteG9yLWJlZm9yZS1qY2MudGVzdC5sdWE8YnI+aW5kZXggNjA1YmI5MmEuLmY3 MWM5ZWU0IDEwMDY0NDxicj4tLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00MTYteG9yLWJl Zm9yZS1qY2MudGVzdC5sdWE8YnI+KysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNDE2LXhv ci1iZWZvcmUtamNjLnRlc3QubHVhPGJyPkBAIC00MSw3ICs0MSw3IEBAIGxvY2FsIHRlc3R4b3Ig PSBmZmkubG9hZCgnbGlidGVzdHhvcicpPGJyPiZuYnNwOy0tIHByZXNzdXJlIGFuZCBzcGVjaWZp YyByZWdpc3RlcnMgYWxsb2NhdGlvbnMuPGJyPiZuYnNwO2xvY2FsIGhhbmRsZXIgPSBzZXRtZXRh dGFibGUoe30sIHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7X19uZXdpbmRleCA9IGZ1bmN0aW9uICgp PGJyPi0gLS0gMCBhbmQgbmlsIGFyZSBzdWdnZXN0ZWQgYXMgZGlmZmVybnQgY29uc3RhbnQtemVy byB2YWx1ZXM8YnI+KyAtLSAwIGFuZCBuaWwgYXJlIHN1Z2dlc3RlZCBhcyBkaWZmZXJlbnQgY29u c3RhbnQtemVybyB2YWx1ZXM8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7LS0gZm9y IHRoZSBjYWxsIGFuZCBvY2N1cGllZCBkaWZmZXJlbnQgcmVnaXN0ZXJzLjxicj4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDt0ZXN0eG9yLnRlc3RfeG9yX2Z1bmMoMCwgMCwgMCwgMCwgMCwg MCwgbmlsLCAwKTxicj4mbmJzcDsmbmJzcDsmbmJzcDtlbmQ8YnI+ZGlmZiAtLWdpdCBhL3Rlc3Qv dGFyYW50b29sLXRlc3RzL2xqLTQyNi1hcm02NC1pbmNvcnJlY3QtY2hlY2stY2xvc2VkLXV2LnRl c3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNDI2LWFybTY0LWluY29ycmVjdC1jaGVj ay1jbG9zZWQtdXYudGVzdC5sdWE8YnI+aW5kZXggYTY4OWVkNjAuLmVhMDFiYTA2IDEwMDY0NDxi cj4tLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00MjYtYXJtNjQtaW5jb3JyZWN0LWNoZWNr LWNsb3NlZC11di50ZXN0Lmx1YTxicj4rKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00MjYt YXJtNjQtaW5jb3JyZWN0LWNoZWNrLWNsb3NlZC11di50ZXN0Lmx1YTxicj5AQCAtMTQsNyArMTQs NyBAQCBkbzxicj4mbmJzcDsmbmJzcDsmbmJzcDstLSBUaGUgZnVuY3Rpb24ncyBwcm90b3R5cGUg aXMgY3JlYXRlZCB3aXRoIHRoZSBmb2xsb3dpbmc8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7LS0gY29u c3RhbnRzIGF0IGNodW5rIHBhcnNpbmcuIEFmdGVyIGFkZGluZyB0aGlzIGNvbnN0YW50IHRvPGJy PiZuYnNwOyZuYnNwOyZuYnNwOy0tIHRoZSBmdW5jdGlvbidzIHByb3RvdHlwZSBpdCB3aWxsIGJl IG1hcmtlZCBhcyBncmF5IGR1cmluZzxicj4tIC0tIHByb3BvZ2F0ZSBwaGFzZS48YnI+KyAtLSBw cm9wYWdhdGUgcGhhc2UuPGJyPiZuYnNwOyZuYnNwOyZuYnNwO2xvY2FsIGZ1bmN0aW9uIHVzZXRz KCkgdXYgPSAnJyBlbmQ8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7X0cudXNldHMgPSB1c2V0czxicj4m bmJzcDtlbmQ8YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTUxMi1wcm9m aWxlci1ob29rLWZpbmFsaXplcnMudGVzdC5sdWEgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai01 MTItcHJvZmlsZXItaG9vay1maW5hbGl6ZXJzLnRlc3QubHVhPGJyPmluZGV4IGEyODJhMTBmLi5m MDJiZDA1ZiAxMDA2NDQ8YnI+LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNTEyLXByb2Zp bGVyLWhvb2stZmluYWxpemVycy50ZXN0Lmx1YTxicj4rKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0 cy9sai01MTItcHJvZmlsZXItaG9vay1maW5hbGl6ZXJzLnRlc3QubHVhPGJyPkBAIC0yMCw5ICsy MCw5IEBAIGxvY2FsIGZpbmlzaCA9IG9zLmNsb2NrKCk8YnI+Jm5ic3A7PGJyPiZuYnNwO3Byb2Zp bGUuc3RvcCgpPGJyPiZuYnNwOzxicj4tLS0gWFhYOiBUaGUgYnVnIGlzIG9jY3VyZWQgYXMgc3Rv cHBpbmcgb2YgY2FsbGJhY2tzIGludm9jYXRpb24sPGJyPistLSBYWFg6IFRoZSBidWcgaXMgb2Nj dXJyZWQgYXMgc3RvcHBpbmcgb2YgY2FsbGJhY2tzIGludm9jYXRpb24sPGJyPiZuYnNwOy0tIHdo ZW4gYSBuZXcgdGljayBzdHJpa2VzIGluc2lkZSBgZ2NfY2FsbF9maW5hbGl6ZXIoKWAuPGJyPi0t LSBUaGUgYW1vdW50IG9mIHN1Y2Nlc3NmdWxsIGNhbGxiYWNrcyBpc24ndCBzdGFibGUgKDItMTUp Ljxicj4rLS0gVGhlIGFtb3VudCBvZiBzdWNjZXNzZnVsIGNhbGxiYWNrcyBpc24ndCBzdGFibGUg KDItMTUpLjxicj4mbmJzcDstLSBTbywgYXNzdW1lIHRoYXQgYW1vdW50IG9mIHByb2ZpbGluZyBz YW1wbGVzIHNob3VsZCBiZSBhdCBsZWFzdDxicj4mbmJzcDstLSBtb3JlIHRoYW4gMC41IGludGVy dmFscyBvZiB0aW1lIGR1cmluZyBzYW1wbGluZy48YnI+Jm5ic3A7dGVzdDpvayhuc2FtcGxlcyAm Z3Q7PSAwLjUgKiAoZmluaXNoIC0gc3RhcnQpICogMWUzIC8gSU5URVJWQUwsPGJyPmRpZmYgLS1n aXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai02MDMtZXJyLXNuYXAtcmVzdG9yZS50ZXN0Lmx1 YSBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTYwMy1lcnItc25hcC1yZXN0b3JlLnRlc3QubHVh PGJyPmluZGV4IDc5MTEwN2JhLi45NmViZjkyYyAxMDA2NDQ8YnI+LS0tIGEvdGVzdC90YXJhbnRv b2wtdGVzdHMvbGotNjAzLWVyci1zbmFwLXJlc3RvcmUudGVzdC5sdWE8YnI+KysrIGIvdGVzdC90 YXJhbnRvb2wtdGVzdHMvbGotNjAzLWVyci1zbmFwLXJlc3RvcmUudGVzdC5sdWE8YnI+QEAgLTEx LDcgKzExLDcgQEAgbG9jYWwgZnVuY3Rpb24gZG9fdGVzdCgpPGJyPiZuYnNwOyZuYnNwOyZuYnNw O2xvY2FsIHJlY3Vyc2l2ZV9mPGJyPiZuYnNwOyZuYnNwOyZuYnNwO2xvY2FsIGZ1bmN0aW9uIGVy cmZ1bmMoKTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt4cGNhbGwocmVjdXJzaXZl X2YsIGVycmZ1bmMpPGJyPi0gLS0gU2luY2UgdGhpcyBlcnJvciBpcyBvY2N1cmVkIG9uIHNuYXBz aG90IHJlc3RvcmF0aW9uIGFuZCBjYW48YnI+KyAtLSBTaW5jZSB0aGlzIGVycm9yIGlzIG9jY3Vy cmVkIG9uIHNuYXBzaG90IHJlc3RvcmF0aW9uIGFuZCBjYW48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7LS0gYmUgaGFuZGxlZCBieSBjb21waWxlciBpdHNlbGYsIHdlIHNob3VsZG4n dCBib3RoZXIgYSB1c2VyPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy0tIHdpdGgg aXQuPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2hhbmRsZXJfaXNfY2FsbGVkID0g dHJ1ZTxicj5kaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbWlzY2xpYi1tZW1wcm9m LWxhcGkudGVzdC5sdWEgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9taXNjbGliLW1lbXByb2YtbGFw aS50ZXN0Lmx1YTxicj5pbmRleCAzY2I1YzhiZS4uODEzMmNmMDggMTAwNjQ0PGJyPi0tLSBhL3Rl c3QvdGFyYW50b29sLXRlc3RzL21pc2NsaWItbWVtcHJvZi1sYXBpLnRlc3QubHVhPGJyPisrKyBi L3Rlc3QvdGFyYW50b29sLXRlc3RzL21pc2NsaWItbWVtcHJvZi1sYXBpLnRlc3QubHVhPGJyPkBA IC0xLDUgKzEsNSBAQDxicj4mbmJzcDstLSBYWFg6IFRoaXMgY29tbWVudCBpcyBhIHJlbWluZGVy IHRvIHJlaW1wbGVtZW50IG1lbXByb2YgdGVzdHM8YnI+LS0tIGFzc2VydGlvbnMgdG8gbWFrZSB0 aGVtIG1vcmUgaW5kZXBlbnRlbnQgdG8gdGhlIGNoYW5nZXMgbWFkZS48YnI+Ky0tIGFzc2VydGlv bnMgdG8gbWFrZSB0aGVtIG1vcmUgaW5kZXBlbmRlbnQgdG8gdGhlIGNoYW5nZXMgbWFkZS48YnI+ Jm5ic3A7bG9jYWwgdGFwID0gcmVxdWlyZSgidGFwIik8YnI+Jm5ic3A7bG9jYWwgdGVzdCA9IHRh cC50ZXN0KCJtaXNjLW1lbXByb2YtbGFwaSIpOnNraXBjb25kKHs8YnI+Jm5ic3A7Jm5ic3A7Jm5i c3A7WydUZXN0IHJlcXVpcmVzIEpJVCBlbmFibGVkJ10gPSBub3Qgaml0LnN0YXR1cygpLDxicj5A QCAtNTIsMTMgKzUyLDEzIEBAIGxvY2FsIGZ1bmN0aW9uIGdlbmVyYXRlX291dHB1dChmaWxlbmFt ZSwgcGF5bG9hZCk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Y29sbGVjdGdhcmJhZ2UoKTxicj4mbmJz cDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7bG9jYWwgcmVzLCBlcnIgPSBtaXNjLm1lbXByb2Yuc3Rh cnQoZmlsZW5hbWUpPGJyPi0gLS0gU2hvdWxkIHN0YXJ0IHN1Y2Nlc2Z1bGx5Ljxicj4rIC0tIFNo b3VsZCBzdGFydCBzdWNjZXNzZnVsbHkuPGJyPiZuYnNwOyZuYnNwOyZuYnNwO2Fzc2VydChyZXMs IGVycik8YnI+Jm5ic3A7PGJyPiZuYnNwOyZuYnNwOyZuYnNwO3BheWxvYWQoKTxicj4mbmJzcDs8 YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVzLCBlcnIgPSBtaXNjLm1lbXByb2Yuc3RvcCgpPGJyPi0g LS0gU2hvdWxkIHN0b3Agc3VjY2VzZnVsbHkuPGJyPisgLS0gU2hvdWxkIHN0b3Agc3VjY2Vzc2Z1 bGx5Ljxicj4mbmJzcDsmbmJzcDsmbmJzcDthc3NlcnQocmVzLCBlcnIpPGJyPiZuYnNwO2VuZDxi cj4mbmJzcDs8YnI+QEAgLTE4OCw3ICsxODgsNyBAQCB0ZXN0OnRlc3QoIm91dHB1dCIsIGZ1bmN0 aW9uKHN1YnRlc3QpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOy0tIENoZWNrIGFsbG9jYXRpb24gcmVw b3J0cy4gVGhlIHNlY29uZCBhcmd1bWVudCBpcyBhIGxpbmU8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 LS0gbnVtYmVyIG9mIHRoZSBhbGxvY2F0aW9uIGV2ZW50IGl0c2VsZi4gVGhlIHRoaXJkIGlzIGEg bGluZTxicj4mbmJzcDsmbmJzcDsmbmJzcDstLSBudW1iZXIgb2YgdGhlIGNvcnJlc3BvbmRpbmcg ZnVuY3Rpb24gZGVmaW5pdGlvbi4gVGhlIGxhc3Q8YnI+LSAtLSBvbmUgaXMgdGhlIG51bWJlciBv ZiBhbGxvY2F0aW9ucy4gMSBldmVudCAtIGFsb2NhdGlvbiBvZjxicj4rIC0tIG9uZSBpcyB0aGUg bnVtYmVyIG9mIGFsbG9jYXRpb25zLiAxIGV2ZW50IC0gYWxsb2NhdGlvbiBvZjxicj4mbmJzcDsm bmJzcDsmbmJzcDstLSB0YWJsZSBieSBpdHNlbGYgKyAxIGFsbG9jYXRpb24gb2YgYXJyYXkgcGFy dCBhcyBmYXIgaXQgaXM8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7LS0gYmlnZ2VyIHRoYW4gTEpfTUFY X0NPTE9TSVpFICgxNikuPGJyPiZuYnNwOyZuYnNwOyZuYnNwO3N1YnRlc3Q6b2soY2hlY2tfYWxs b2NfcmVwb3J0KGFsbG9jLCB7IGxpbmUgPSAzNywgbGluZWRlZmluZWQgPSAzNSB9LCAyKSk8YnI+ ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL3RhcC5sdWEgYi90ZXN0L3RhcmFudG9v bC10ZXN0cy90YXAubHVhPGJyPmluZGV4IGFmMWQ0YjIwLi4yNTBlYjdkOCAxMDA2NDQ8YnI+LS0t IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvdGFwLmx1YTxicj4rKysgYi90ZXN0L3RhcmFudG9vbC10 ZXN0cy90YXAubHVhPGJyPkBAIC0xLDYgKzEsNiBAQDxicj4mbmJzcDstLS0gdGFwLmx1YSBpbnRl cm5hbCBmaWxlLjxicj4mbmJzcDstLS08YnI+LS0tLSBUaGUgVGVzdCBBbnl0aGluZyBQcm90b2Nv bCB2ZXNpb24gMTMgcHJvZHVjZXIuPGJyPistLS0gVGhlIFRlc3QgQW55dGhpbmcgUHJvdG9jb2wg dmVyc2lvbiAxMyBwcm9kdWNlci48YnI+Jm5ic3A7LS0tPGJyPiZuYnNwOzxicj4mbmJzcDstLSBJ bml0aWFsaXplciBGRkkgZm9yICZsdDtpc2NkYXRhJmd0OyBjaGVjay48YnI+QEAgLTc5LDcgKzc5 LDcgQEAgbG9jYWwgZnVuY3Rpb24gb2sodGVzdCwgY29uZCwgbWVzc2FnZSwgZXh0cmEpPGJyPiZu YnNwOyZuYnNwOyZuYnNwO2lvLndyaXRlKHRpbmRlbnQsICgibGluZTpcdCVzXG4iKTpmb3JtYXQo dHJhY2VbI3RyYWNlXS5saW5lKSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Zm9yIGZyYW1lbm8sIGZy YW1lIGluIGlwYWlycyh0cmFjZSkgZG88YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 aW8ud3JpdGUodGluZGVudCwgKCJmcmFtZSAjJWRcbiIpOmZvcm1hdChmcmFtZW5vKSk8YnI+LSAt LSBYWFg6IFVzZSAiaGFsZiBpbmRlbnQiIHRvIGR1bXAgJmx0O2ZyYW1lJmd0OyBmaWVscy48YnI+ KyAtLSBYWFg6IFVzZSAiaGFsZiBpbmRlbnQiIHRvIGR1bXAgJmx0O2ZyYW1lJmd0OyBmaWVsZHMu PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2xvY2FsIGZpbmRlbnQgPSBpbmRlbnQo MC41KSAuLiB0aW5kZW50PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZvciBrZXks IHZhbHVlIGluIHBhaXJzKGZyYW1lKSBkbzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtpby53cml0ZShmaW5kZW50LCAoIiVzOlx0JXNcbiIpOmZvcm1hdChrZXks IHZhbHVlKSk8YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL3VuaXQtaml0LXBh cnNlLnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvdW5pdC1qaXQtcGFyc2UudGVzdC5s dWE8YnI+aW5kZXggYjAzOGZkZTMuLmI0MjZjMWM2IDEwMDY0NDxicj4tLS0gYS90ZXN0L3RhcmFu dG9vbC10ZXN0cy91bml0LWppdC1wYXJzZS50ZXN0Lmx1YTxicj4rKysgYi90ZXN0L3RhcmFudG9v bC10ZXN0cy91bml0LWppdC1wYXJzZS50ZXN0Lmx1YTxicj5AQCAtMzksNyArMzksNyBAQCBsb2Nh bCBsb29wX3RyYWNlID0gdHJhY2VzWzFdPGJyPiZuYnNwO2ZvciBpcm51bSA9IDEsIE5fVEVTVFMg ZG88YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7bG9jYWwgaXJfcGF0dGVybiA9IGV4cGVjdGVkX2lyc1tp cm51bV08YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7bG9jYWwgaXJyZWYgPSBsb29wX3RyYWNlOmhhc19p cihpcl9wYXR0ZXJuKTxicj4tIHRlc3Q6b2soaXJyZWYsICdmaW5kIElSIHJlZmVybmNlIGJ5IHBh dHRlcm46ICcgLi4gaXJfcGF0dGVybik8YnI+KyB0ZXN0Om9rKGlycmVmLCAnZmluZCBJUiByZWZl cmVuY2UgYnkgcGF0dGVybjogJyAuLiBpcl9wYXR0ZXJuKTxicj4mbmJzcDtlbmQ8YnI+Jm5ic3A7 PGJyPiZuYnNwO3Rlc3Q6ZG9uZSh0cnVlKTxicj5kaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wt dGVzdHMvdXRpbHMvaml0L2dlbmVyYXRvcnMubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRp bHMvaml0L2dlbmVyYXRvcnMubHVhPGJyPmluZGV4IDE0ZTBlM2MzLi5kNmM1MGExZiAxMDA2NDQ8 YnI+LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMvaml0L2dlbmVyYXRvcnMubHVhPGJy PisrKyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL3V0aWxzL2ppdC9nZW5lcmF0b3JzLmx1YTxicj5A QCAtMTcsNyArMTcsNyBAQCBlbmQ8YnI+Jm5ic3A7bG9jYWwgcmVjZnVuY3MgPSB7fTxicj4mbmJz cDtsb2NhbCBsYXN0X2kgPSAwPGJyPiZuYnNwOy0tIFRoaXMgZnVuY3Rpb24gZ2VuZXJhdGVzIGEg dGFibGUgb2YgZnVuY3Rpb25zIHdpdGggaGVhdnkgbWNvZGU8YnI+LS0tIHBheWxvYWQgd2l0aCB0 YWIgYXJpdGhtZXRpY3MgdG8gZmlsbCB0aGUgbWNvZGUgYXJlYSBmcm9tIHRoZTxicj4rLS0gcGF5 bG9hZCB3aXRoIHRhYiBhcml0aG1ldGljIHRvIGZpbGwgdGhlIG1jb2RlIGFyZWEgZnJvbSB0aGU8 YnI+Jm5ic3A7LS0gb25lIHRyYWNlIG1jb2RlIGJ5IHNvbWUgZ2l2ZW4gc2l6ZS4gVGhpcyBzaXpl IGlzIHVzdWFsbHkgYmlnPGJyPiZuYnNwOy0tIGVub3VnaCwgYmVjYXVzZSB3ZSB3YW50IHRvIGNo ZWNrIGxvbmcganVtcCBzaWRlIGV4aXRzIGZyb20gc29tZTxicj4mbmJzcDstLSB0cmFjZXMuPGJy PmRpZmYgLS1naXQgYS90b29scy9tZW1wcm9mL3BhcnNlLmx1YSBiL3Rvb2xzL21lbXByb2YvcGFy c2UubHVhPGJyPmluZGV4IGQ4NjUyNjdiLi4yYzA5ZGI5MCAxMDA2NDQ8YnI+LS0tIGEvdG9vbHMv bWVtcHJvZi9wYXJzZS5sdWE8YnI+KysrIGIvdG9vbHMvbWVtcHJvZi9wYXJzZS5sdWE8YnI+QEAg LTUyLDE0ICs1MiwxNCBAQCBsb2NhbCBmdW5jdGlvbiBsaW5rX3RvX3ByZXZpb3VzKGhlYXBfY2h1 bmssIGUsIG5zaXplKTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiBub3QgZS5w cmltYXJ5W2hlYXBfY2h1bmtbMl1dIHRoZW48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ZS5wcmltYXJ5W2hlYXBfY2h1bmtbMl1dID0gezxicj4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtsb2MgPSBoZWFwX2No dW5rWzNdLDxicj4tIGFsbG9jZWQgPSAwLDxicj4rIGFsbG9jYXRlZCA9IDAsPGJyPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZyZWVkID0gMCw8 YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Y291bnQgPSAwLDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9 PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2VuZDxicj4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDstLSBTYXZlIGluZm9ybWF0aW9uIGFib3V0IGRlbHRhIGZvciBtZW1vcnkg aGVhcC48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7bG9jYWwgbG9jYXRpb25fZGF0 YSA9IGUucHJpbWFyeVtoZWFwX2NodW5rWzJdXTxicj4tIGxvY2F0aW9uX2RhdGEuYWxsb2NlZCA9 IGxvY2F0aW9uX2RhdGEuYWxsb2NlZCArIG5zaXplPGJyPisgbG9jYXRpb25fZGF0YS5hbGxvY2F0 ZWQgPSBsb2NhdGlvbl9kYXRhLmFsbG9jYXRlZCArIG5zaXplPGJyPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO2xvY2F0aW9uX2RhdGEuZnJlZWQgPSBsb2NhdGlvbl9kYXRhLmZyZWVkICsg aGVhcF9jaHVua1sxXTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtsb2NhdGlvbl9k YXRhLmNvdW50ID0gbG9jYXRpb25fZGF0YS5jb3VudCArIDE8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 ZW5kPGJyPmRpZmYgLS1naXQgYS90b29scy9tZW1wcm9mL3Byb2Nlc3MubHVhIGIvdG9vbHMvbWVt cHJvZi9wcm9jZXNzLmx1YTxicj5pbmRleCAwYmNiOTY1Yi4uOWRjMjAyYWUgMTAwNjQ0PGJyPi0t LSBhL3Rvb2xzL21lbXByb2YvcHJvY2Vzcy5sdWE8YnI+KysrIGIvdG9vbHMvbWVtcHJvZi9wcm9j ZXNzLmx1YTxicj5AQCAtMzksOCArMzksOCBAQCBmdW5jdGlvbiBNLmZvcm1faGVhcF9kZWx0YShl dmVudHMsIHN5bWJvbHMpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO2ZvciBfLCBoZWFwX2NodW5rIGluIHBhaXJzKGV2ZW50LnByaW1hcnkpIGRvPGJyPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2xvY2FsIGV2 X2xpbmUgPSBzeW10YWIuZGVtYW5nbGUoc3ltYm9scywgaGVhcF9jaHVuay5sb2MpPGJyPiZuYnNw Ozxicj4tIGlmIChoZWFwX2NodW5rLmFsbG9jZWQgJmd0OyAwKSB0aGVuPGJyPi0gZGhlYXBbZXZf bGluZV0uZGJ5dGVzID0gZGhlYXBbZXZfbGluZV0uZGJ5dGVzICsgaGVhcF9jaHVuay5hbGxvY2Vk PGJyPisgaWYgKGhlYXBfY2h1bmsuYWxsb2NhdGVkICZndDsgMCkgdGhlbjxicj4rIGRoZWFwW2V2 X2xpbmVdLmRieXRlcyA9IGRoZWFwW2V2X2xpbmVdLmRieXRlcyArIGhlYXBfY2h1bmsuYWxsb2Nh dGVkPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO2RoZWFwW2V2X2xpbmVdLm5hbGxvYyA9IGRoZWFwW2V2X2xpbmVdLm5h bGxvYyArIGhlYXBfY2h1bmsuY291bnQ8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZW5kPGJyPiZuYnNwOzxicj4tLTxicj4yLjM0LjE8L2Rp dj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj4mbmJzcDs8L2Rpdj48L0JPRFk+ PC9IVE1MPgo= ----ALT--b9C43285856B446F97F2A202d91670D91697106813--