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 3C0E46ECCC; Tue, 26 May 2026 16:50:38 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 3C0E46ECCC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1779803438; bh=AmFvT/ODAAhulCU8vYIaz2pqt1TGNBoQKRJIPnMAJyU=; 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=ml2+7tZawx25QBxt5ov+CwXPlaw/H0mZmzWCwzQH6FCOHouUhgkdIN8zct3fw0w1z s7HNRMSjizEwcBh5ZnxcXbthu61+XElZVItpSHyKrjmR0Q/OQ6PphfV4o50vBtqUDZ wd9rXQ46CGQMoSnJP55EMPAxSSScRVh9XQdjJIYY= Received: from send107.i.mail.ru (send107.i.mail.ru [89.221.237.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 26F866ECCC for ; Tue, 26 May 2026 16:50:36 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 26F866ECCC Received: by exim-f-64d49b99f9-8f2mt with local (envelope-from ) id 1wRsAt-00000000I9c-3DSd; Tue, 26 May 2026 16:50:35 +0300 Received: by e.mail.ru with HTTP; Tue, 26 May 2026 16:50:27 +0300 To: =?UTF-8?B?U2VyZ2V5IEthcGx1bg==?= MIME-Version: 1.0 X-Priority: 3 (Normal) X-Mailer: Mail.Ru Mailer 1.0 X-Senderfield-Remsg: 17791944001467731085 X-Senderfield-Remind: 0 Date: Tue, 26 May 2026 16:50:27 +0300 Message-Id: <1779803427.60260456@f511.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--f82640F52B7f5fAbeB17E2d5719244Fd1779803427" In-Reply-To: <20260519123913.178775-2-skaplun@tarantool.org> References: <20260519123913.178775-1-skaplun@tarantool.org> <20260519123913.178775-2-skaplun@tarantool.org> X-Mailru-Src: fe X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251CCA1970C75E2541CA835F7BF6D2D29BCC292B0B3DE827D8ED8FD872164937FA4CF8D9908513823CB93DE06ABAFEAF6705E4DB0A7BC7FB515541AF4E25CB52F6A1C9EA2F84C7A79461 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7AC43A7B4C36B769DEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637F88016AB904663428638F802B75D45FF914D58D5BE9E6BC1A93B80C6DEB9DEE97C6FB206A91F05B29766FCC800B4BDB92E070BE324C7D3C4454C0486DECE4E4EF6B57BC7E64490618DEB871D839B73339E8FC8737B5C2249957A4DEDD2346B42CC7F00164DA146DAFE8445B8C89999729449624AB7ADAF37F6B57BC7E64490611E7FA7ABCAF51C92176DF2183F8FC7C091DAD9F922AA71188941B15DA834481F9449624AB7ADAF372E808ACE2090B5E14AD6D5ED66289B5259CC434672EE63711DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C3C839A5C92C19B5C335872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-87b9d050: 1 X-C1DE0DAB: 0D63561A33F958A540103B88DF4BC37D5002B1117B3ED696B95E6A523762BCBE0E58516B1639A14B823CB91A9FED034534781492E4B8EEADFB12F4B11BB5604FBDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADB58128AB1E6D661A543584D22441D852AB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D659FA860DD218848156CFE8E37389A7CD63E48991D8DFF092A8E2FEFD4DF270051D14D543B8585DD7EBB8341EE9D5BE9A0ACD894F2A253E79FB82EE88ECFC150379AFEB96E212C10FA8C7CEAA0681F5848F4C41F94D744909CEEF9E35A692215F79327F81E6EEE0AEB67A0F9F91F029B6AF33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+Od3uM/CLT152eL7j4ZacoUSF0MSa0v5VBmEtSutdC50BIKdL3VIRlkt/X9Gr7QWYXucPUinHATAeHXorM+S1NQOd7Dfgh+EySf9K3VfwFOme7WybjgrXZh0= X-Mailru-MI: 20001000010000000000400800 X-Mailru-Sender: 3B9A0136629DC9120A4DB50F7DDD57C88F91CAF122C238F8EA62B7A47654148789735B1BFD0A707D8888881126709038B838212C44EFF7BCFF8827D84BA35E87E0C81887C6B2EBA88CC9D01740B45CCA8541B43355FF3DF2139C1CE02BAFBE04EAB4BC95F72C04283CDA0F3B3F5B9367 X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v2_luajit_1/6=5D_test=3A_?= =?utf-8?q?introduce_tests_for_debugging_extensions?= 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: Evgeniy Temirgaleev via Tarantool-patches Reply-To: =?UTF-8?B?RXZnZW5peSBUZW1pcmdhbGVldg==?= Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--f82640F52B7f5fAbeB17E2d5719244Fd1779803427 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGksIFNlcmdleSEKClRoYW5rcyBmb3IgdGhlIHBhdGNoLiBQbGVhc2UsIGNvbnNpZGVyIG15IHN1 Z2dlc3Rpb246IHRoZSBkZWJ1Z2dlci1hd2FyZSDCq2NvbnN0YW50c8K7IGFyZcKgZGVmaW5lZCBp biBvbmUgYmxvY2sgcGVyIGRlYnVnZ2VyLgoKZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLWRl YnVnZ2VyLXRlc3RzL2RlYnVnLWV4dGVuc2lvbi10ZXN0cy5weSBiL3Rlc3QvdGFyYW50b29sLWRl YnVnZ2VyLXRlc3RzL2RlYnVnLWV4dGVuc2lvbi10ZXN0cy5weQppbmRleCAzMGEyYzQ3OC4uZjQ0 MTRmNGQgMTAwNjQ0Ci0tLSBhL3Rlc3QvdGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzL2RlYnVnLWV4 dGVuc2lvbi10ZXN0cy5weQorKysgYi90ZXN0L3RhcmFudG9vbC1kZWJ1Z2dlci10ZXN0cy9kZWJ1 Zy1leHRlbnNpb24tdGVzdHMucHkKQEAgLTE5LDkgKzE5LDYgQEAgTExEQiA9ICdsbGRiJyBpbiBE RUJVR0dFUgpFWFRFTlNJT04gPSBFWFRFTlNJT05fUEFUSCArICcvbHVhaml0X2RiZy5weScKVElN RU9VVCA9IDEwCgotIyBEb24ndCBydW4gYW55IGluaXRpYWxpemF0aW9uIHNjcmlwdHMuCi1SVU5f Q01EX0ZJTEUgPSBbXQotCmlmIExMREI6ClJVTl9DTURfRklMRSA9IFsKJy0tYmF0Y2gnLApAQCAt MzAsMTUgKzI3LDE1IEBAIGlmIExMREI6CictLXNvdXJjZS1xdWlldGx5JywKJy0tc291cmNlJwpd CivCoCDCoCBJTkZFUklPUl9BUkdTID0gJy0tJworwqAgwqAgUFJPQ0VTU19SVU4gPSAncHJvY2Vz cyBsYXVuY2gnCivCoCDCoCBMT0FEX0VYVEVOU0lPTiA9ICdjb21tYW5kIHNjcmlwdCBpbXBvcnQg e2V4dH0nLmZvcm1hdChleHQ9RVhURU5TSU9OKQplbHNlOgojIEdEQi4KUlVOX0NNRF9GSUxFID0g WyctLWJhdGNoJywgJy0tbngnLCAnLS1xdWlldCcsICctLWNvbW1hbmQnXQotCi1JTkZFUklPUl9B UkdTID0gJy0tJyBpZiBMTERCIGVsc2UgJy0tYXJncycKLVBST0NFU1NfUlVOID0gJ3Byb2Nlc3Mg bGF1bmNoJyBpZiBMTERCIGVsc2UgJ3InCi1MT0FEX0VYVEVOU0lPTiA9ICgKLcKgIMKgICdjb21t YW5kIHNjcmlwdCBpbXBvcnQge2V4dH0nIGlmIExMREIgZWxzZSAnc291cmNlIHtleHR9JwotKS5m b3JtYXQoZXh0PUVYVEVOU0lPTikKK8KgIMKgIElORkVSSU9SX0FSR1MgPSAnLS1hcmdzJworwqAg wqAgUFJPQ0VTU19SVU4gPSAncicKK8KgIMKgIExPQURfRVhURU5TSU9OID0gJ3NvdXJjZSB7ZXh0 fScuZm9ybWF0KGV4dD1FWFRFTlNJT04pCgotLQpCZXN0IHJlZ2FyZHMsCkV2Z2VuaXkgVGVtaXJn YWxlZXYKCj4gCj4gRnJvbTogU2VyZ2V5IEthcGx1biA8c2thcGx1bkB0YXJhbnRvb2wub3JnPgo+ IFRvOiBNaWtoYWlsIEVsaGltb3YgPG0uZWxoaW1vdkB2ay50ZWFtPiwgU2VyZ2V5IEJyb25uaWtv diA8c2VyZ2V5YkB0YXJhbnRvb2wub3JnCj4gPiwgRXZnZW5peSBUZW1pcmdhbGVldiA8ZS50ZW1p cmdhbGVldkB0YXJhbnRvb2wub3JnPgo+IENjOiB0YXJhbnRvb2wtcGF0Y2hlc0BkZXYudGFyYW50 b29sLm9yZywgU2VyZ2V5IEthcGx1biA8c2thcGx1bkB0YXJhbnRvb2wub3JnCj4gPgo+IERhdGU6 IFR1ZXNkYXksIE1heSAxOSwgMjAyNiAzOjQwIFBNICswMzowMAo+IEZyb206IE1heGltIEtva3J5 YXNoa2luIDxtLmtva3J5YXNoa2luQHRhcmFudG9vbC5vcmc+Cj4gCj4gVGhpcyBwYXRjaCBhZGRz IHRlc3RzIGZvciBMdWFKSVQgZGVidWdnaW5nIGV4dGVuc2lvbnMgZm9yIGxsZGIgYW5kIGdkYi4K PiBUaGUgdGVzdHMgYXJlIHdyaXR0ZW4gaW4gUHl0aG9uJ3MgdW5pdHRlc3QgZnJhbWV3b3JrIFsx XS4KPiAKPiBNb3N0IG9mIHRoZSB0ZXN0cyBhcmUgZmFpbGVkIGZvciB0aGUgbGxkYiBkdWUgdG8g b3V0ZGF0ZWQgZXh0ZW5zaW9uCj4gc291cmNlcyBhbmQgb3ZlcmNvbXBsaWNhdGVkIGhhcmQtY29k ZWQgQyBzdHJ1Y3R1cmVzIGZpZWxkcwo+IGludHJvc3BlY3Rpb24uIEhlbmNlLCB0ZXN0cyBmb3Ig TExEQiBhcmUgZGlzYWJsZWQgc2luY2UgdGhleSBhcmUgZmFpbGluZwo+IGFueXdheS4KPiAKPiBU aGUgdGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzIHRhcmdldCBpcyBpbnRyb2R1Y2VkLiBUaGlzIHRh cmdldCBpcwo+IGluY2x1ZGVkIGluIHRoZSBMdWFKSVQtY2hlY2stYWxsIHRhcmdldCBidXQgbm90 IGluIHRoZSBMdWFKSVQtdGVzdAo+IHRhcmdldCB0byBhdm9pZCBpdCBydW5uaW5nIGZvciBhbGwg THVhSklUIGJ1aWxkcyBieSBkZWZhdWx0IGluIENJLgo+IAo+IFsxXTogaHR0cHM6Ly9kb2NzLnB5 dGhvbi5vcmcvMy9saWJyYXJ5L3VuaXR0ZXN0Lmh0bWwKPiAtLS0KPiB0ZXN0L0NNYWtlTGlzdHMu dHh0IHwgNyArCj4gdGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvQ01ha2VMaXN0cy50eHQg fCA5MyArKysrKysKPiAuLi4vZGVidWctZXh0ZW5zaW9uLXRlc3RzLnB5IHwgMjg2ICsrKysrKysr KysrKysrKysrKwo+IDMgZmlsZXMgY2hhbmdlZCwgMzg2IGluc2VydGlvbnMoKykKPiBjcmVhdGUg bW9kZSAxMDA2NDQgdGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvQ01ha2VMaXN0cy50eHQK PiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvZGVidWct ZXh0ZW5zaW9uLXRlc3RzLnB5Cj4gCj4gZGlmZiAtLWdpdCBhL3Rlc3QvQ01ha2VMaXN0cy50eHQg Yi90ZXN0L0NNYWtlTGlzdHMudHh0Cj4gaW5kZXggZjQ4YWZhMjUuLjI2YjE1ODkyIDEwMDY0NAo+ IC0tLSBhL3Rlc3QvQ01ha2VMaXN0cy50eHQKPiArKysgYi90ZXN0L0NNYWtlTGlzdHMudHh0Cj4g QEAgLTE3NSw2ICsxNzUsNyBAQCBhZGRfc3ViZGlyZWN0b3J5KEx1YUpJVC10ZXN0cykKPiBhZGRf c3ViZGlyZWN0b3J5KFBVQy1SaW8tTHVhLTUuMS10ZXN0cykKPiBhZGRfc3ViZGlyZWN0b3J5KGx1 YS1IYXJuZXNzLXRlc3RzKQo+IGFkZF9zdWJkaXJlY3RvcnkodGFyYW50b29sLWMtdGVzdHMpCj4g K2FkZF9zdWJkaXJlY3RvcnkodGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzKQo+IGFkZF9zdWJkaXJl Y3RvcnkodGFyYW50b29sLXRlc3RzKQo+IAo+ICMgRWFjaCB0ZXN0c3VpdGUgaGFzIGl0cyBvd24g Q01ha2UgdGFyZ2V0LCBidXQgY29tYmluaW5nIHRoZXNlCj4gQEAgLTE4Niw2ICsxODcsOSBAQCBh ZGRfc3ViZGlyZWN0b3J5KHRhcmFudG9vbC10ZXN0cykKPiAjIGNvbW1hbmQgdGhhdCBydW5zIGFs bCBnZW5lcmF0ZWQgQ01ha2UgdGVzdHMuCj4gYWRkX2N1c3RvbV90YXJnZXQoJHtQUk9KRUNUX05B TUV9LXRlc3QKPiBDT01NQU5EICR7Q01BS0VfQ1RFU1RfQ09NTUFORH0gJHtDVEVTVF9GTEFHU30K PiArICMgT21pdCB0aGlzIHRhcmdldCBpbiBMdWFKSVQtdGVzdCBzaW5jZSB3ZSBkb24ndCB3YW50 IHRvIHNldAo+ICsgIyB1cCBhbmQgcnVuIGRlYnVnZ2VycyBmb3IgZXZlcnkgYnVpbGQuCj4gKyAt LWxhYmVsLWV4Y2x1ZGUgdGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzCj4gREVQRU5EUyB0YXJhbnRv b2wtYy10ZXN0cy1kZXBzCj4gdGFyYW50b29sLXRlc3RzLWRlcHMKPiBsdWEtSGFybmVzcy10ZXN0 cy1kZXBzCj4gQEAgLTE5NSw1ICsxOTksOCBAQCBhZGRfY3VzdG9tX3RhcmdldCgke1BST0pFQ1Rf TkFNRX0tdGVzdAo+IAo+IGFkZF9jdXN0b21fdGFyZ2V0KCR7UFJPSkVDVF9OQU1FfS1jaGVjay1h bGwKPiBERVBFTkRTICR7UFJPSkVDVF9OQU1FfS10ZXN0Cj4gKyAjIE9taXQgdGhpcyB0YXJnZXQg aW4gTHVhSklULXRlc3Qgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0bwo+ICsgIyBzZXQgdXAgYW5kIHJ1 biBkZWJ1Z2dlcnMgZm9yIGV2ZXJ5IGJ1aWxkLgo+ICsgdGFyYW50b29sLWRlYnVnZ2VyLXRlc3Rz Cj4gJHtQUk9KRUNUX05BTUV9LWxpbnQKPiApCj4gZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29s LWRlYnVnZ2VyLXRlc3RzL0NNYWtlTGlzdHMudHh0Cj4gYi90ZXN0L3RhcmFudG9vbC1kZWJ1Z2dl ci10ZXN0cy9DTWFrZUxpc3RzLnR4dAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw MDAwMDAuLjdmZDBkZWJjCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3Rlc3QvdGFyYW50b29sLWRl YnVnZ2VyLXRlc3RzL0NNYWtlTGlzdHMudHh0Cj4gQEAgLTAsMCArMSw5MyBAQAo+ICtzZXQoVEVT VF9TVUlURV9OQU1FICJ0YXJhbnRvb2wtZGVidWdnZXItdGVzdHMiKQo+ICsKPiArIyBYWFg6IFRo ZSBjYWxsIHByb2R1Y2VzIGJvdGggdGVzdCBhbmQgdGFyZ2V0Cj4gKyMgPHRhcmFudG9vbC1kZWJ1 Z2dlci10ZXN0cy1kZXBzPiBhcyBhIHNpZGUgZWZmZWN0Lgo+ICthZGRfdGVzdF9zdWl0ZV90YXJn ZXQodGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzCj4gKyBMQUJFTFMgJHtURVNUX1NVSVRFX05BTUV9 Cj4gKyBERVBFTkRTICR7TFVBSklUX1RFU1RfQklOQVJZfQo+ICspCj4gKwo+ICsjIERlYnVnIGlu Zm8gaXMgcmVxdWlyZWQgZm9yIHRlc3Rpbmcgb2YgZXh0ZW5zaW9ucy4KPiAraWYoTk9UIChDTUFL RV9CVUlMRF9UWVBFIE1BVENIRVMgRGVidWcpKQo+ICsgbWVzc2FnZShXQVJOSU5HCj4gKyAiTm90 IGEgREVCVUcgYnVpbGQsIHRhcmFudG9vbC1kZWJ1Z2dlci10ZXN0cyBpcyBkdW1teSIKPiArICkK PiArIHJldHVybigpCj4gK2VuZGlmKCkKPiArCj4gKyMgTWFjT1MgYXNrcyBmb3IgcGVybWlzc2lv biB0byBkZWJ1ZyBhIHByb2Nlc3MgZXZlbiB3aGVuIHRoZQo+ICsjIG1hY2hpbmUgaXMgc2V0IGlu dG8gZGV2ZWxvcG1lbnQgbW9kZS4gVG8gc29sdmUgdGhlIGlzc3VlLAo+ICsjIGl0IGlzIHJlcXVp cmVkIHRvIGFkZCByZWxldmFudCB1c2VycyB0byB0aGUgYF9kZXZlbG9wZXJgIHVzZXIKPiArIyBn cm91cCBpbiBtYWNPUy4gRGlzYWJsZWQgZm9yIG5vdy4KPiAraWYoQ01BS0VfU1lTVEVNX05BTUUg U1RSRVFVQUwgIkRhcndpbiIgQU5EIERFRklORUQgRU5We0NJfSkKPiArIG1lc3NhZ2UoV0FSTklO Rwo+ICsgIkludGVyYWN0aXZlIGRlYnVnZ2luZyBpcyB1bmF2YWlsYWJsZSBmb3IgbWFjT1MgQ0kg YnVpbGRzLCIKPiArICIgdGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzIGlzIGR1bW15Igo+ICsgKQo+ ICsgcmV0dXJuKCkKPiArZW5kaWYoKQo+ICsKPiAraWYoQ01BS0VfVkVSU0lPTiBWRVJTSU9OX0xF U1MgIjMuMTIiKQo+ICsgIyBUT0RPOkNhbiByZW1vdmUgdGhpcyBhZnRlciB1cGdyYWRpbmcgdG8g Q01ha2UgPj0gMy4xMi4KPiArIGZpbmRfcGFja2FnZShQeXRob25JbnRlcnApCj4gKyBpZihOT1Qg UFlUSE9OSU5URVJQX0ZPVU5EKQo+ICsgbWVzc2FnZShXQVJOSU5HICJgcHl0aG9uYCBpcyBub3Qg Zm91bmQsIHRhcmFudG9vbC1kZWJ1Z2dlci10ZXN0cyBpcwo+IGR1bW15IikKPiArIHJldHVybigp Cj4gKyBlbmRpZigpCj4gK2Vsc2UoKQo+ICsgZmluZF9wYWNrYWdlKFB5dGhvbiBDT01QT05FTlRT IEludGVycHJldGVyKQo+ICsgaWYoTk9UIFBZVEhPTl9GT1VORCkKPiArIG1lc3NhZ2UoV0FSTklO RyAiYHB5dGhvbmAgaXMgbm90IGZvdW5kLCB0YXJhbnRvb2wtZGVidWdnZXItdGVzdHMgaXMKPiBk dW1teSIpCj4gKyByZXR1cm4oKQo+ICsgZW5kaWYoKQo+ICsgc2V0KFBZVEhPTl9FWEVDVVRBQkxF ICIke1B5dGhvbl9FWEVDVVRBQkxFfSIpCj4gK2VuZGlmKCkKPiArCj4gK3NldChERUJVR0dFUl9U RVNUX0VOVgo+ICsgIkxVQUpJVF9URVNUX0JJTkFSWT0ke0xVQUpJVF9URVNUX0JJTkFSWX0iCj4g KyAjIFN1cHByZXNzZXMgX19weWNhY2hlX18gZ2VuZXJhdGlvbi4KPiArICJQWVRIT05ET05UV1JJ VEVCWVRFQ09ERT0xIgo+ICsgIkRFQlVHR0VSX0VYVEVOU0lPTl9QQVRIPSR7UFJPSkVDVF9TT1VS Q0VfRElSfS9zcmMiCj4gKykKPiArCj4gK3NldChURVNUX1NDUklQVF9QQVRICj4gKyAke0NNQUtF X0NVUlJFTlRfU09VUkNFX0RJUn0vZGVidWctZXh0ZW5zaW9uLXRlc3RzLnB5Cj4gKykKPiArCj4g K2ZpbmRfcHJvZ3JhbShHREIgZ2RiKQo+ICtpZihHREIpCj4gKyBzZXQodGVzdF90aXRsZSAidGVz dC8ke1RFU1RfU1VJVEVfTkFNRX0vZ2RiIikKPiArIHNldChHREJfVEVTVF9FTlYgJHtERUJVR0dF Ul9URVNUX0VOVn0gIkRFQlVHR0VSX0NPTU1BTkQ9JHtHREJ9IikKPiArIGFkZF90ZXN0KE5BTUUg IiR7dGVzdF90aXRsZX0iCj4gKyBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7VEVTVF9T Q1JJUFRfUEFUSH0KPiArIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllf RElSfQo+ICsgKQo+ICsgc2V0X3Rlc3RzX3Byb3BlcnRpZXMoIiR7dGVzdF90aXRsZX0iIFBST1BF UlRJRVMKPiArIEVOVklST05NRU5UICIke0dEQl9URVNUX0VOVn0iCj4gKyBMQUJFTFMgJHtURVNU X1NVSVRFX05BTUV9Cj4gKyBERVBFTkRTIHRhcmFudG9vbC1kZWJ1Z2dlci10ZXN0cy1kZXBzCj4g KyApCj4gK2Vsc2UoKQo+ICsgbWVzc2FnZShXQVJOSU5HCj4gKyAiYGdkYicgaXMgbm90IGZvdW5k LCBzbyB0YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvZ2RiIGlzIG9taXR0ZWQiCj4gKyApCj4gK2Vu ZGlmKCkKPiArCj4gK2ZpbmRfcHJvZ3JhbShMTERCIGxsZGIpCj4gK2lmKExMREIpCj4gKyBzZXQo dGVzdF90aXRsZSAidGVzdC8ke1RFU1RfU1VJVEVfTkFNRX0vbGxkYiIpCj4gKyBzZXQoTExEQl9U RVNUX0VOViAke0RFQlVHR0VSX1RFU1RfRU5WfSAiREVCVUdHRVJfQ09NTUFORD0ke0xMREJ9IikK PiArIGFkZF90ZXN0KE5BTUUgIiR7dGVzdF90aXRsZX0iCj4gKyBDT01NQU5EICR7UFlUSE9OX0VY RUNVVEFCTEV9ICR7VEVTVF9TQ1JJUFRfUEFUSH0KPiArIFdPUktJTkdfRElSRUNUT1JZICR7Q01B S0VfQ1VSUkVOVF9CSU5BUllfRElSfQo+ICsgKQo+ICsgc2V0X3Rlc3RzX3Byb3BlcnRpZXMoIiR7 dGVzdF90aXRsZX0iIFBST1BFUlRJRVMKPiArIEVOVklST05NRU5UICIke0xMREJfVEVTVF9FTlZ9 Igo+ICsgTEFCRUxTICR7VEVTVF9TVUlURV9OQU1FfQo+ICsgREVQRU5EUyB0YXJhbnRvb2wtZGVi dWdnZXItdGVzdHMtZGVwcwo+ICsgKQo+ICtlbHNlKCkKPiArIG1lc3NhZ2UoV0FSTklORwo+ICsg ImBsbGRiJyBpcyBub3QgZm91bmQsIHNvIHRhcmFudG9vbC1kZWJ1Z2dlci10ZXN0cy9sbGRiIGlz IG9taXR0ZWQiCj4gKyApCj4gK2VuZGlmKCkKPiBkaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wt ZGVidWdnZXItdGVzdHMvZGVidWctZXh0ZW5zaW9uLXRlc3RzLnB5Cj4gYi90ZXN0L3RhcmFudG9v bC1kZWJ1Z2dlci10ZXN0cy9kZWJ1Zy1leHRlbnNpb24tdGVzdHMucHkKPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwLi42MDk0YzUzNQo+IC0tLSAvZGV2L251bGwKPiArKysg Yi90ZXN0L3RhcmFudG9vbC1kZWJ1Z2dlci10ZXN0cy9kZWJ1Zy1leHRlbnNpb24tdGVzdHMucHkK PiBAQCAtMCwwICsxLDI4NiBAQAo+ICsjIFRoaXMgZmlsZSBwcm92aWRlcyB0ZXN0cyBmb3IgTHVh SklUIGRlYnVnIGV4dGVuc2lvbnMgZm9yIGxsZGIKPiArIyBhbmQgZ2RiLgo+ICsKPiAraW1wb3J0 IG9zCj4gK2ltcG9ydCByZQo+ICtpbXBvcnQgc3VicHJvY2Vzcwo+ICtpbXBvcnQgc3lzCj4gK2lt cG9ydCB0ZW1wZmlsZQo+ICtpbXBvcnQgdW5pdHRlc3QKPiArCj4gK2Zyb20gdGhyZWFkaW5nIGlt cG9ydCBUaW1lcgo+ICsKPiArTEVHQUNZID0gcmUubWF0Y2gocideMlwuJywgc3lzLnZlcnNpb24p Cj4gKwo+ICtMVUFKSVRfQklOQVJZID0gb3MuZW52aXJvblsnTFVBSklUX1RFU1RfQklOQVJZJ10K PiArRVhURU5TSU9OX1BBVEggPSBvcy5lbnZpcm9uWydERUJVR0dFUl9FWFRFTlNJT05fUEFUSCdd Cj4gK0RFQlVHR0VSID0gb3MuZW52aXJvblsnREVCVUdHRVJfQ09NTUFORCddCj4gK0xMREIgPSAn bGxkYicgaW4gREVCVUdHRVIKPiArRVhURU5TSU9OID0gRVhURU5TSU9OX1BBVEggKyAoJy9sdWFq aXRfbGxkYi5weScgaWYgTExEQiBlbHNlCj4gJy9sdWFqaXQtZ2RiLnB5JykKPiArVElNRU9VVCA9 IDEwCj4gKwo+ICsjIERvbid0IHJ1biBhbnkgaW5pdGlhbGl6YXRpb24gc2NyaXB0cy4KPiArUlVO X0NNRF9GSUxFID0gW10KPiArCj4gK2lmIExMREI6Cj4gKyBSVU5fQ01EX0ZJTEUgPSBbCj4gKyAn LS1iYXRjaCcsCj4gKyAnLS1uby1sbGRiaW5pdCcsCj4gKyAnLS1uby11c2UtY29sb3JzJywKPiAr ICctLXNvdXJjZS1xdWlldGx5JywKPiArICctLXNvdXJjZScKPiArIF0KPiArZWxzZToKPiArICMg R0RCLgo+ICsgUlVOX0NNRF9GSUxFID0gWyctLWJhdGNoJywgJy0tbngnLCAnLS1xdWlldCcsICct LWNvbW1hbmQnXQo+ICsKPiArSU5GRVJJT1JfQVJHUyA9ICctLScgaWYgTExEQiBlbHNlICctLWFy Z3MnCj4gK1BST0NFU1NfUlVOID0gJ3Byb2Nlc3MgbGF1bmNoJyBpZiBMTERCIGVsc2UgJ3InCj4g K0xPQURfRVhURU5TSU9OID0gKAo+ICsgJ2NvbW1hbmQgc2NyaXB0IGltcG9ydCB7ZXh0fScgaWYg TExEQiBlbHNlICdzb3VyY2Uge2V4dH0nCj4gKykuZm9ybWF0KGV4dD1FWFRFTlNJT04pCj4gKwo+ ICsKPiArUlhfQUREUiA9IHInMHhbYS1mMC05XSsnCj4gK1JYX0hBU0ggPSBSWF9BRERSICMgVGhl IHNhbWUgcGF0dGVybiBmb3IgaGV4YWRlbWljIHZhbHVlcy4KPiArUlhfRlJBTUUgPSByJ1xbKFN8 XHMpKEJ8XHMpKFR8XHMpKE18XHMpXF0nCj4gKwo+ICsKPiArZGVmIHBlcnNpc3QoZGF0YSk6Cj4g KyB0bXAgPSB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0ndycpCj4gKyB0bXAud3Jp dGUoZGF0YSkKPiArIHRtcC5mbHVzaCgpCj4gKyByZXR1cm4gdG1wCj4gKwo+ICsKPiArZGVmIGV4 ZWN1dGVfcHJvY2VzcyhjbWQsIHRpbWVvdXQ9VElNRU9VVCk6Cj4gKyBpZiBMRUdBQ1k6Cj4gKyAj IFhYWDogVGhlIFB5dGhvbiAyLjcgdmVyc2lvbiBvZiBgc3VicHJvY2Vzcy5Qb3BlbmAKPiArICMg ZG9lc24ndCBoYXZlIGEgdGltZW91dCBvcHRpb24sIHNvIHRoZSByZXF1aXJlZAo+ICsgIyBmdW5j dGlvbmFsaXR5IHdhcyBpbXBsZW1lbnRlZCB2aWEgYHRocmVhZGluZy5UaW1lcmAuCj4gKyBwcm9j ZXNzID0gc3VicHJvY2Vzcy5Qb3BlbigKPiArIGNtZCwKPiArIHN0ZG91dD1zdWJwcm9jZXNzLlBJ UEUsCj4gKyBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFLAo+ICsgIyBUaGlzIHByZXZlbnRzIHNlbmRp bmcgb2YgU0lHU1RUT1UgdG8gdGhlIHRlc3Qgd2hlbgo+ICsgIyBydW5uaW5nIGJ5IGBtYWtlJy4g U3RkaW4gaXMgdW51c2VkIGFueXdheS4KPiArIHN0ZGluPXN1YnByb2Nlc3MuREVWTlVMTAo+ICsg KQo+ICsgdGltZXIgPSBUaW1lcihUSU1FT1VULCBwcm9jZXNzLmtpbGwpCj4gKyB0aW1lci5zdGFy dCgpCj4gKyBzdGRvdXQsIF8gPSBwcm9jZXNzLmNvbW11bmljYXRlKCkKPiArIHRpbWVyLmNhbmNl bCgpCj4gKwo+ICsgIyBYWFg6IElmIHRoZSB0aW1lb3V0IGlzIGV4Y2VlZGVkIGFuZCB0aGUgcHJv Y2VzcyBpcwo+ICsgIyBraWxsZWQgYnkgdGhlIHRpbWVyLCB0aGVuIHRoZSByZXR1cm4gY29kZSBp cyBub24temVybywKPiArICMgYW5kIHdlIGFyZSBnb2luZyB0byBibG93IHVwLgo+ICsgYXNzZXJ0 IHByb2Nlc3MucmV0dXJuY29kZSA9PSAwCj4gKyByZXR1cm4gc3Rkb3V0LmRlY29kZSgnYXNjaWkn KQo+ICsgZWxzZToKPiArIHByb2Nlc3MgPSBzdWJwcm9jZXNzLnJ1bigKPiArIGNtZCwKPiArIHN0 ZG91dD1zdWJwcm9jZXNzLlBJUEUsCj4gKyBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFLAo+ICsgIyBU aGlzIHByZXZlbnRzIHNlbmRpbmcgb2YgU0lHU1RUT1UgdG8gdGhlIHRlc3Qgd2hlbgo+ICsgIyBy dW5uaW5nIGJ5IGBtYWtlJy4gU3RkaW4gaXMgdW51c2VkIGFueXdheS4KPiArIHN0ZGluPXN1YnBy b2Nlc3MuREVWTlVMTCwKPiArIHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlLAo+ICsgdGltZW91dD1U SU1FT1VUCj4gKyApCj4gKyByZXR1cm4gcHJvY2Vzcy5zdGRvdXQKPiArCj4gKwo+ICtjbGFzcyBU ZXN0Q2FzZUJhc2UodW5pdHRlc3QuVGVzdENhc2UpOgo+ICsgQGNsYXNzbWV0aG9kCj4gKyBkZWYg Y29uc3RydWN0X2NtZHMoY2xzKToKPiArIHJldHVybiAnXG4nLmpvaW4oWwo+ICsgJ2Ige2xvY30n LmZvcm1hdChsb2M9Y2xzLmxvY2F0aW9uKSwKPiArIFBST0NFU1NfUlVOLAo+ICsgJ24nLAo+ICsg TE9BRF9FWFRFTlNJT04sCj4gKyBjbHMuZXh0ZW5zaW9uX2NtZHMuc3RyaXAoKSwKPiArICdxJywK PiArIF0pCj4gKwo+ICsgQGNsYXNzbWV0aG9kCj4gKyBkZWYgc2V0VXBDbGFzcyhjbHMpOgo+ICsg Y21kX2ZpbGUgPSBwZXJzaXN0KGNscy5jb25zdHJ1Y3RfY21kcygpKQo+ICsgc2NyaXB0X2ZpbGUg PSBwZXJzaXN0KGNscy5sdWFfc2NyaXB0KQo+ICsgcHJvY2Vzc19jbWQgPSBbCj4gKyBERUJVR0dF UiwKPiArICpSVU5fQ01EX0ZJTEUsCj4gKyBjbWRfZmlsZS5uYW1lLAo+ICsgSU5GRVJJT1JfQVJH UywKPiArIExVQUpJVF9CSU5BUlksCj4gKyBzY3JpcHRfZmlsZS5uYW1lLAo+ICsgXQo+ICsgY2xz Lm91dHB1dCA9IGV4ZWN1dGVfcHJvY2Vzcyhwcm9jZXNzX2NtZCkKPiArIGNtZF9maWxlLmNsb3Nl KCkKPiArIHNjcmlwdF9maWxlLmNsb3NlKCkKPiArCj4gKyBkZWYgY2hlY2soc2VsZik6Cj4gKyBp ZiBMRUdBQ1k6Cj4gKyBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMoc2VsZi5vdXRwdXQsIHNlbGYu cGF0dGVybi5zdHJpcCgpKQo+ICsgZWxzZToKPiArIHNlbGYuYXNzZXJ0UmVnZXgoc2VsZi5vdXRw dXQsIHNlbGYucGF0dGVybi5zdHJpcCgpKQo+ICsKPiArCj4gK2NsYXNzIFRlc3RMb2FkKFRlc3RD YXNlQmFzZSk6Cj4gKyBleHRlbnNpb25fY21kcyA9ICcnCj4gKyBsb2NhdGlvbiA9ICdsal9jZl9w cmludCcKPiArIGx1YV9zY3JpcHQgPSAncHJpbnQoMSknCj4gKyBwYXR0ZXJuID0gKAo+ICsgcids ai1hcmNoIGNvbW1hbmQgaW5pdGlhbGl6ZWRcbicKPiArIHInbGotdHYgY29tbWFuZCBpbml0aWFs aXplZFxuJwo+ICsgcidsai1zdHIgY29tbWFuZCBpbml0aWFsaXplZFxuJwo+ICsgcidsai10YWIg Y29tbWFuZCBpbml0aWFsaXplZFxuJwo+ICsgcidsai1zdGFjayBjb21tYW5kIGluaXRpYWxpemVk XG4nCj4gKyByJ2xqLXN0YXRlIGNvbW1hbmQgaW5pdGlhbGl6ZWRcbicKPiArIHInbGotZ2MgY29t bWFuZCBpbml0aWFsaXplZFxuJwo+ICsgcicuKmlzIHN1Y2Nlc3NmdWxseSBsb2FkZWQnCj4gKyAp Cj4gKwo+ICsKPiArY2xhc3MgVGVzdExKQXJjaChUZXN0Q2FzZUJhc2UpOgo+ICsgZXh0ZW5zaW9u X2NtZHMgPSAnbGotYXJjaCcKPiArIGxvY2F0aW9uID0gJ2xqX2NmX3ByaW50Jwo+ICsgbHVhX3Nj cmlwdCA9ICdwcmludCgxKScKPiArIHBhdHRlcm4gPSAoCj4gKyByJ0xKXzY0OiAoVHJ1ZXxGYWxz ZSksICcKPiArIHInTEpfR0M2NDogKFRydWV8RmFsc2UpLCAnCj4gKyByJ0xKX0RVQUxOVU06IChU cnVlfEZhbHNlKScKPiArICkKPiArCj4gKwo+ICtjbGFzcyBUZXN0TEpTdGF0ZShUZXN0Q2FzZUJh c2UpOgo+ICsgZXh0ZW5zaW9uX2NtZHMgPSAnbGotc3RhdGUnCj4gKyBsb2NhdGlvbiA9ICdsal9j Zl9wcmludCcKPiArIGx1YV9zY3JpcHQgPSAncHJpbnQoMSknCj4gKyBwYXR0ZXJuID0gKAo+ICsg cidWTSBzdGF0ZTogW0EtWl0rXG4nCj4gKyByJ0dDIHN0YXRlOiBbQS1aXStcbicKPiArIHInSklU IHN0YXRlOiBbQS1aXStcbicKPiArICkKPiArCj4gKwo+ICtjbGFzcyBUZXN0TEpHQyhUZXN0Q2Fz ZUJhc2UpOgo+ICsgZXh0ZW5zaW9uX2NtZHMgPSAnbGotZ2MnCj4gKyBsb2NhdGlvbiA9ICdsal9j Zl9wcmludCcKPiArIGx1YV9zY3JpcHQgPSAncHJpbnQoMSknCj4gKyBwYXR0ZXJuID0gKAo+ICsg cidHQyBzdGF0czogW0EtWl0rXG4nCj4gKyByJ1x0dG90YWw6IFxkK1xuJwo+ICsgcidcdHRocmVz aG9sZDogXGQrXG4nCj4gKyByJ1x0ZGVidDogXGQrXG4nCj4gKyByJ1x0ZXN0aW1hdGU6IFxkK1xu Jwo+ICsgcidcdHN0ZXBtdWw6IFxkK1xuJwo+ICsgcidcdHBhdXNlOiBcZCtcbicKPiArIHInXHRz d2VlcHN0cjogXGQrL1xkK1xuJwo+ICsgcidcdHJvb3Q6IFxkKyBvYmplY3RzXG4nCj4gKyByJ1x0 Z3JheTogXGQrIG9iamVjdHNcbicKPiArIHInXHRncmF5YWdhaW46IFxkKyBvYmplY3RzXG4nCj4g KyByJ1x0d2VhazogXGQrIG9iamVjdHNcbicKPiArIHInXHRtbXVkYXRhOiBcZCsgb2JqZWN0c1xu Jwo+ICsgKQo+ICsKPiArCj4gK2NsYXNzIFRlc3RMSlN0YWNrKFRlc3RDYXNlQmFzZSk6Cj4gKyBl eHRlbnNpb25fY21kcyA9ICdsai1zdGFjaycKPiArIGxvY2F0aW9uID0gJ2xqX2NmX3ByaW50Jwo+ ICsgbHVhX3NjcmlwdCA9ICdwcmludCgxKScKPiArIHBhdHRlcm4gPSAoCj4gKyByJy0rIFJlZCB6 b25lOlxzK1xkKyBzbG90cyAtK1xuJwo+ICsgcicoJyArIFJYX0FERFIgKyByJ1xzKycgKyBSWF9G UkFNRSArIHInIFZBTFVFOiBuaWxcbj8pKlxuJwo+ICsgcictKyBTdGFjazpccytcZCsgc2xvdHMg LStcbicKPiArIHInKCcgKyBSWF9BRERSICsgcicoOicgKyBSWF9BRERSICsgcicpP1xzKycgKyBS WF9GUkFNRSArIHInLipcbj8pK1xuJwo+ICsgKQo+ICsKPiArCj4gK2NsYXNzIFRlc3RMSlRWKFRl c3RDYXNlQmFzZSk6Cj4gKyBsb2NhdGlvbiA9ICdsal9jZl9wcmludCcKPiArIGV4dGVuc2lvbl9j bWRzID0gKAo+ICsgJ2xqLXR2IEwtPmJhc2VcbicKPiArICdsai10diBMLT5iYXNlICsgMVxuJwo+ ICsgJ2xqLXR2IEwtPmJhc2UgKyAyXG4nCj4gKyAnbGotdHYgTC0+YmFzZSArIDNcbicKPiArICds ai10diBMLT5iYXNlICsgNFxuJwo+ICsgJ2xqLXR2IEwtPmJhc2UgKyA1XG4nCj4gKyAnbGotdHYg TC0+YmFzZSArIDZcbicKPiArICdsai10diBMLT5iYXNlICsgN1xuJwo+ICsgJ2xqLXR2IEwtPmJh c2UgKyA4XG4nCj4gKyAnbGotdHYgTC0+YmFzZSArIDlcbicKPiArICdsai10diBMLT5iYXNlICsg MTBcbicKPiArICdsai10diBMLT5iYXNlICsgMTFcbicKPiArICkKPiArCj4gKyBsdWFfc2NyaXB0 ID0gKAo+ICsgJ2xvY2FsIGZmaSA9IHJlcXVpcmUoImZmaSIpXG4nCj4gKyAncHJpbnQoXG4nCj4g KyAnIG5pbCxcbicKPiArICcgZmFsc2UsXG4nCj4gKyAnIHRydWUsXG4nCj4gKyAnICJoZWxsbyIs XG4nCj4gKyAnIHsxfSxcbicKPiArICcgMSxcbicKPiArICcgMS4xLFxuJwo+ICsgJyBjb3JvdXRp bmUuY3JlYXRlKGZ1bmN0aW9uKCkgZW5kKSxcbicKPiArICcgZmZpLm5ldygiaW50KiIpLFxuJwo+ ICsgJyBmdW5jdGlvbigpIGVuZCxcbicKPiArICcgcHJpbnQsXG4nCj4gKyAnIHJlcXVpcmVcbicK PiArICcpXG4nCj4gKyApCj4gKwo+ICsgcGF0dGVybiA9ICgKPiArIHInbmlsXG4nCj4gKyByJ2Zh bHNlXG4nCj4gKyByJ3RydWVcbicKPiArIHInc3RyaW5nIFwiaGVsbG9cIiBAICcgKyBSWF9BRERS ICsgcidcbicKPiArIHIndGFibGUgQCAnICsgUlhfQUREUiArIHInIFwoYXNpemU6IFxkKywgaG1h c2s6ICcgKyBSWF9IQVNIICsgcidcKVxuJwo+ICsgcicobnVtYmVyfGludGVnZXIpIC4qMS4qXG4n Cj4gKyByJ251bWJlciAxLjFcZCtcbicKPiArIHIndGhyZWFkIEAgJyArIFJYX0FERFIgKyByJ1xu Jwo+ICsgcidjZGF0YSBAICcgKyBSWF9BRERSICsgcidcbicKPiArIHInTHVhIGZ1bmN0aW9uIEAg JyArIFJYX0FERFIgKyByJywgWzAtOV0rIHVwdmFsdWVzLCAuKzpbMC05XStcbicKPiArIHInZmFz dCBmdW5jdGlvbiAjWzAtOV0rXG4nCj4gKyByJ0MgZnVuY3Rpb24gQCAnICsgUlhfQUREUiArIHIn XG4nCj4gKyApCj4gKwo+ICsKPiArY2xhc3MgVGVzdExKU3RyKFRlc3RDYXNlQmFzZSk6Cj4gKyBl eHRlbnNpb25fY21kcyA9ICgKPiArICMgWFhYOiBHZXQgdGhlIHZhbHVlIHRvIHRoZSBzdGFjayBz bG90IGZvciB0aGUgdmFyaWFibGUuCj4gKyAnblxuJwo+ICsgJ2xqLXN0ciBmbmFtZVxuJwo+ICsg KQo+ICsgbG9jYXRpb24gPSAnbGpfY2ZfZG9maWxlJwo+ICsgbHVhX3NjcmlwdCA9ICdwY2FsbChk b2ZpbGUoIm5hbWUiKSknCj4gKyBwYXR0ZXJuID0gcidTdHJpbmc6IC4qIFxbXGQrIGJ5dGVzXF0g d2l0aCBoYXNoICcgKyBSWF9IQVNICj4gKwo+ICsKPiArY2xhc3MgVGVzdExKVGFiKFRlc3RDYXNl QmFzZSk6Cj4gKyBleHRlbnNpb25fY21kcyA9ICgKPiArICMgWFhYOiBHZXQgdGhlIHZhbHVlIHRv IHRoZSBzdGFjayBzbG90IGZvciB0aGUgdmFyaWFibGUuCj4gKyAnblxuJwo+ICsgJ2xqLXRhYiB0 XG4nCj4gKyApCj4gKyBsb2NhdGlvbiA9ICdsal9jZl91bnBhY2snCj4gKyBsdWFfc2NyaXB0ID0g J3VucGFjayh7MTsgYSA9IDF9KScKPiArIHBhdHRlcm4gPSAoCj4gKyByJ0FycmF5IHBhcnQ6IDMg c2xvdHNcbicgKwo+ICsgUlhfQUREUiArIHInOiBcWzBcXTogbmlsXG4nICsKPiArIFJYX0FERFIg KyByJzogXFsxXF06IC4rIDFcbicgKwo+ICsgUlhfQUREUiArIHInOiBcWzJcXTogbmlsXG4nICsK PiArIHInSGFzaCBwYXJ0OiAyIG5vZGVzXG4nICsKPiArIFJYX0FERFIgKyByJzogeyBzdHJpbmcg ImEiIEAgJyArIFJYX0FERFIgKyByJyB9ID0+ICcgKwo+ICsgcid7IC4rIDEgfTsgbmV4dCA9IDB4 MFxuJyArCj4gKyBSWF9BRERSICsgcic6IHsgbmlsIH0gPT4geyBuaWwgfTsgbmV4dCA9IDB4MFxu Jwo+ICsgKQo+ICsKPiArCj4gK2ZvciB0ZXN0X2NscyBpbiBUZXN0Q2FzZUJhc2UuX19zdWJjbGFz c2VzX18oKToKPiArIHRlc3RfY2xzLnRlc3QgPSBsYW1iZGEgc2VsZjogc2VsZi5jaGVjaygpCj4g Kwo+ICsjIEZJWE1FOiBza2lwIGZvciBMTERCIHNpbmNlIG1vc3QgY29tbWFuZHMgYXJlIG5vdCB3 b3JraW5nIGFueXdheS4KPiAraWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJyBhbmQgbm90IExMREI6 Cj4gKyB1bml0dGVzdC5tYWluKHZlcmJvc2l0eT0yKQo+IC0tCj4gMi41My4wCj4= ----ALT--f82640F52B7f5fAbeB17E2d5719244Fd1779803427 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXYgY2xhc3M9ImNsLXg4a2duOWlyeDMiPjxkaXY+SGksIFNlcmdleSE8 L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+VGhhbmtzIGZvciB0aGUgcGF0Y2guIFBsZWFzZSwg Y29uc2lkZXIgbXkgc3VnZ2VzdGlvbjogdGhlIGRlYnVnZ2VyLWF3YXJlIMKrY29uc3RhbnRzwrsg YXJlJm5ic3A7ZGVmaW5lZCBpbiBvbmUgYmxvY2sgcGVyIGRlYnVnZ2VyLjwvZGl2PjxkaXY+Jm5i c3A7PC9kaXY+PGRpdj48ZGl2PjxkaXY+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLWRlYnVn Z2VyLXRlc3RzL2RlYnVnLWV4dGVuc2lvbi10ZXN0cy5weSBiL3Rlc3QvdGFyYW50b29sLWRlYnVn Z2VyLXRlc3RzL2RlYnVnLWV4dGVuc2lvbi10ZXN0cy5weTwvZGl2PjxkaXY+aW5kZXggMzBhMmM0 NzguLmY0NDE0ZjRkIDEwMDY0NDwvZGl2PjxkaXY+LS0tIGEvdGVzdC90YXJhbnRvb2wtZGVidWdn ZXItdGVzdHMvZGVidWctZXh0ZW5zaW9uLXRlc3RzLnB5PC9kaXY+PGRpdj4rKysgYi90ZXN0L3Rh cmFudG9vbC1kZWJ1Z2dlci10ZXN0cy9kZWJ1Zy1leHRlbnNpb24tdGVzdHMucHk8L2Rpdj48ZGl2 PkBAIC0xOSw5ICsxOSw2IEBAIExMREIgPSAnbGxkYicgaW4gREVCVUdHRVI8L2Rpdj48ZGl2PiZu YnNwO0VYVEVOU0lPTiA9IEVYVEVOU0lPTl9QQVRIICsgJy9sdWFqaXRfZGJnLnB5JzwvZGl2Pjxk aXY+Jm5ic3A7VElNRU9VVCA9IDEwPC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2Pi0jIERvbid0 IHJ1biBhbnkgaW5pdGlhbGl6YXRpb24gc2NyaXB0cy48L2Rpdj48ZGl2Pi1SVU5fQ01EX0ZJTEUg PSBbXTwvZGl2PjxkaXY+LTwvZGl2PjxkaXY+Jm5ic3A7aWYgTExEQjo8L2Rpdj48ZGl2PiZuYnNw OyAmbmJzcDsgJm5ic3A7UlVOX0NNRF9GSUxFID0gWzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyctLWJhdGNoJyw8L2Rpdj48ZGl2PkBAIC0zMCwxNSArMjcsMTUg QEAgaWYgTExEQjo8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsn LS1zb3VyY2UtcXVpZXRseScsPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7Jy0tc291cmNlJzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDtdPC9kaXY+PGRp dj4rJm5ic3A7ICZuYnNwOyBJTkZFUklPUl9BUkdTID0gJy0tJzwvZGl2PjxkaXY+KyZuYnNwOyAm bmJzcDsgUFJPQ0VTU19SVU4gPSAncHJvY2VzcyBsYXVuY2gnPC9kaXY+PGRpdj4rJm5ic3A7ICZu YnNwOyBMT0FEX0VYVEVOU0lPTiA9ICdjb21tYW5kIHNjcmlwdCBpbXBvcnQge2V4dH0nLmZvcm1h dChleHQ9RVhURU5TSU9OKTwvZGl2PjxkaXY+Jm5ic3A7ZWxzZTo8L2Rpdj48ZGl2PiZuYnNwOyAm bmJzcDsgJm5ic3A7IyBHREIuPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwO1JVTl9DTURf RklMRSA9IFsnLS1iYXRjaCcsICctLW54JywgJy0tcXVpZXQnLCAnLS1jb21tYW5kJ108L2Rpdj48 ZGl2Pi08L2Rpdj48ZGl2Pi1JTkZFUklPUl9BUkdTID0gJy0tJyBpZiBMTERCIGVsc2UgJy0tYXJn cyc8L2Rpdj48ZGl2Pi1QUk9DRVNTX1JVTiA9ICdwcm9jZXNzIGxhdW5jaCcgaWYgTExEQiBlbHNl ICdyJzwvZGl2PjxkaXY+LUxPQURfRVhURU5TSU9OID0gKDwvZGl2PjxkaXY+LSZuYnNwOyAmbmJz cDsgJ2NvbW1hbmQgc2NyaXB0IGltcG9ydCB7ZXh0fScgaWYgTExEQiBlbHNlICdzb3VyY2Uge2V4 dH0nPC9kaXY+PGRpdj4tKS5mb3JtYXQoZXh0PUVYVEVOU0lPTik8L2Rpdj48ZGl2PismbmJzcDsg Jm5ic3A7IElORkVSSU9SX0FSR1MgPSAnLS1hcmdzJzwvZGl2PjxkaXY+KyZuYnNwOyAmbmJzcDsg UFJPQ0VTU19SVU4gPSAncic8L2Rpdj48ZGl2PismbmJzcDsgJm5ic3A7IExPQURfRVhURU5TSU9O ID0gJ3NvdXJjZSB7ZXh0fScuZm9ybWF0KGV4dD1FWFRFTlNJT04pPC9kaXY+PC9kaXY+PGJyPiZu YnNwOzwvZGl2PjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250YWluZXIiPjxkaXYgZGF0 YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250ZW50Ij48ZGl2Pi0tPGJyPkJlc3QgcmVnYXJkcyw8L2Rp dj48ZGl2PkV2Z2VuaXkgVGVtaXJnYWxlZXY8L2Rpdj48L2Rpdj48L2Rpdj48YnI+PGRpdiBjbGFz cz0ibWFpbC1xdW90ZS1jb2xsYXBzZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFw eCBzb2xpZCAjMDg1N0E2O21hcmdpbjoxMHB4O3BhZGRpbmc6MCAwIDAgMTBweCI+PHNwYW4+RnJv bTogU2VyZ2V5IEthcGx1biAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNrYXBsdW5AdGFyYW50b29sLm9y ZyI+c2thcGx1bkB0YXJhbnRvb2wub3JnPC9hPiZndDs8YnI+VG86IE1pa2hhaWwgRWxoaW1vdiAm bHQ7PGEgaHJlZj0ibWFpbHRvOm0uZWxoaW1vdkB2ay50ZWFtIj5tLmVsaGltb3ZAdmsudGVhbTwv YT4mZ3Q7LCBTZXJnZXkgQnJvbm5pa292ICZsdDs8YSBocmVmPSJtYWlsdG86c2VyZ2V5YkB0YXJh bnRvb2wub3JnIj5zZXJnZXliQHRhcmFudG9vbC5vcmc8L2E+Jmd0OywgRXZnZW5peSBUZW1pcmdh bGVldiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmUudGVtaXJnYWxlZXZAdGFyYW50b29sLm9yZyI+ZS50 ZW1pcmdhbGVldkB0YXJhbnRvb2wub3JnPC9hPiZndDs8YnI+Q2M6IHRhcmFudG9vbC1wYXRjaGVz QGRldi50YXJhbnRvb2wub3JnLCBTZXJnZXkgS2FwbHVuICZsdDs8YSBocmVmPSJtYWlsdG86c2th cGx1bkB0YXJhbnRvb2wub3JnIj5za2FwbHVuQHRhcmFudG9vbC5vcmc8L2E+Jmd0Ozxicj5EYXRl OiBUdWVzZGF5LCBNYXkgMTksIDIwMjYgMzo0MCBQTSArMDM6MDA8L3NwYW4+PGJyPiZuYnNwOzxk aXY+PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJjbC1ndW12aHhjN2V3Ij48ZGl2IGNsYXNzPSJqcy1o ZWxwZXJfbXJfY3NzX2F0dHIganMtcmVhZG1zZy1tc2dfbXJfY3NzX2F0dHIiPjxkaXYgaWQ9InN0 eWxlXzE3NzkxOTQ0MDAxNDY3NzMxMDg1X21yX2Nzc19hdHRyIj48ZGl2IGlkPSJzdHlsZV8xNzc5 MTk0NDAwMTQ2NzczMTA4NV9CT0RZX21yX2Nzc19hdHRyIj5Gcm9tOiBNYXhpbSBLb2tyeWFzaGtp biAmbHQ7PGEgaHJlZj0ibWFpbHRvOm0ua29rcnlhc2hraW5AdGFyYW50b29sLm9yZyI+bS5rb2ty eWFzaGtpbkB0YXJhbnRvb2wub3JnPC9hPiZndDs8YnI+PGJyPlRoaXMgcGF0Y2ggYWRkcyB0ZXN0 cyBmb3IgTHVhSklUIGRlYnVnZ2luZyBleHRlbnNpb25zIGZvciBsbGRiIGFuZCBnZGIuPGJyPlRo ZSB0ZXN0cyBhcmUgd3JpdHRlbiBpbiBQeXRob24ncyB1bml0dGVzdCBmcmFtZXdvcmsgWzFdLjxi cj48YnI+TW9zdCBvZiB0aGUgdGVzdHMgYXJlIGZhaWxlZCBmb3IgdGhlIGxsZGIgZHVlIHRvIG91 dGRhdGVkIGV4dGVuc2lvbjxicj5zb3VyY2VzIGFuZCBvdmVyY29tcGxpY2F0ZWQgaGFyZC1jb2Rl ZCBDIHN0cnVjdHVyZXMgZmllbGRzPGJyPmludHJvc3BlY3Rpb24uIEhlbmNlLCB0ZXN0cyBmb3Ig TExEQiBhcmUgZGlzYWJsZWQgc2luY2UgdGhleSBhcmUgZmFpbGluZzxicj5hbnl3YXkuPGJyPjxi cj5UaGUgdGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzIHRhcmdldCBpcyBpbnRyb2R1Y2VkLiBUaGlz IHRhcmdldCBpczxicj5pbmNsdWRlZCBpbiB0aGUgTHVhSklULWNoZWNrLWFsbCB0YXJnZXQgYnV0 IG5vdCBpbiB0aGUgTHVhSklULXRlc3Q8YnI+dGFyZ2V0IHRvIGF2b2lkIGl0IHJ1bm5pbmcgZm9y IGFsbCBMdWFKSVQgYnVpbGRzIGJ5IGRlZmF1bHQgaW4gQ0kuPGJyPjxicj5bMV06IDxhIGhyZWY9 Imh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS91bml0dGVzdC5odG1sIj5odHRwczov L2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvdW5pdHRlc3QuaHRtbDwvYT48YnI+LS0tPGJyPnRl c3QvQ01ha2VMaXN0cy50eHQgfCA3ICs8YnI+dGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVzdHMv Q01ha2VMaXN0cy50eHQgfCA5MyArKysrKys8YnI+Li4uL2RlYnVnLWV4dGVuc2lvbi10ZXN0cy5w eSB8IDI4NiArKysrKysrKysrKysrKysrKys8YnI+MyBmaWxlcyBjaGFuZ2VkLCAzODYgaW5zZXJ0 aW9ucygrKTxicj5jcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVz dHMvQ01ha2VMaXN0cy50eHQ8YnI+Y3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvdGFyYW50b29sLWRl YnVnZ2VyLXRlc3RzL2RlYnVnLWV4dGVuc2lvbi10ZXN0cy5weTxicj48YnI+ZGlmZiAtLWdpdCBh L3Rlc3QvQ01ha2VMaXN0cy50eHQgYi90ZXN0L0NNYWtlTGlzdHMudHh0PGJyPmluZGV4IGY0OGFm YTI1Li4yNmIxNTg5MiAxMDA2NDQ8YnI+LS0tIGEvdGVzdC9DTWFrZUxpc3RzLnR4dDxicj4rKysg Yi90ZXN0L0NNYWtlTGlzdHMudHh0PGJyPkBAIC0xNzUsNiArMTc1LDcgQEAgYWRkX3N1YmRpcmVj dG9yeShMdWFKSVQtdGVzdHMpPGJyPmFkZF9zdWJkaXJlY3RvcnkoUFVDLVJpby1MdWEtNS4xLXRl c3RzKTxicj5hZGRfc3ViZGlyZWN0b3J5KGx1YS1IYXJuZXNzLXRlc3RzKTxicj5hZGRfc3ViZGly ZWN0b3J5KHRhcmFudG9vbC1jLXRlc3RzKTxicj4rYWRkX3N1YmRpcmVjdG9yeSh0YXJhbnRvb2wt ZGVidWdnZXItdGVzdHMpPGJyPmFkZF9zdWJkaXJlY3RvcnkodGFyYW50b29sLXRlc3RzKTxicj48 YnI+IyBFYWNoIHRlc3RzdWl0ZSBoYXMgaXRzIG93biBDTWFrZSB0YXJnZXQsIGJ1dCBjb21iaW5p bmcgdGhlc2U8YnI+QEAgLTE4Niw2ICsxODcsOSBAQCBhZGRfc3ViZGlyZWN0b3J5KHRhcmFudG9v bC10ZXN0cyk8YnI+IyBjb21tYW5kIHRoYXQgcnVucyBhbGwgZ2VuZXJhdGVkIENNYWtlIHRlc3Rz Ljxicj5hZGRfY3VzdG9tX3RhcmdldCgke1BST0pFQ1RfTkFNRX0tdGVzdDxicj5DT01NQU5EICR7 Q01BS0VfQ1RFU1RfQ09NTUFORH0gJHtDVEVTVF9GTEFHU308YnI+KyAjIE9taXQgdGhpcyB0YXJn ZXQgaW4gTHVhSklULXRlc3Qgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0byBzZXQ8YnI+KyAjIHVwIGFu ZCBydW4gZGVidWdnZXJzIGZvciBldmVyeSBidWlsZC48YnI+KyAtLWxhYmVsLWV4Y2x1ZGUgdGFy YW50b29sLWRlYnVnZ2VyLXRlc3RzPGJyPkRFUEVORFMgdGFyYW50b29sLWMtdGVzdHMtZGVwczxi cj50YXJhbnRvb2wtdGVzdHMtZGVwczxicj5sdWEtSGFybmVzcy10ZXN0cy1kZXBzPGJyPkBAIC0x OTUsNSArMTk5LDggQEAgYWRkX2N1c3RvbV90YXJnZXQoJHtQUk9KRUNUX05BTUV9LXRlc3Q8YnI+ PGJyPmFkZF9jdXN0b21fdGFyZ2V0KCR7UFJPSkVDVF9OQU1FfS1jaGVjay1hbGw8YnI+REVQRU5E UyAke1BST0pFQ1RfTkFNRX0tdGVzdDxicj4rICMgT21pdCB0aGlzIHRhcmdldCBpbiBMdWFKSVQt dGVzdCBzaW5jZSB3ZSBkb24ndCB3YW50IHRvPGJyPisgIyBzZXQgdXAgYW5kIHJ1biBkZWJ1Z2dl cnMgZm9yIGV2ZXJ5IGJ1aWxkLjxicj4rIHRhcmFudG9vbC1kZWJ1Z2dlci10ZXN0czxicj4ke1BS T0pFQ1RfTkFNRX0tbGludDxicj4pPGJyPmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC1kZWJ1 Z2dlci10ZXN0cy9DTWFrZUxpc3RzLnR4dCBiL3Rlc3QvdGFyYW50b29sLWRlYnVnZ2VyLXRlc3Rz L0NNYWtlTGlzdHMudHh0PGJyPm5ldyBmaWxlIG1vZGUgMTAwNjQ0PGJyPmluZGV4IDAwMDAwMDAw Li43ZmQwZGViYzxicj4tLS0gL2Rldi9udWxsPGJyPisrKyBiL3Rlc3QvdGFyYW50b29sLWRlYnVn Z2VyLXRlc3RzL0NNYWtlTGlzdHMudHh0PGJyPkBAIC0wLDAgKzEsOTMgQEA8YnI+K3NldChURVNU X1NVSVRFX05BTUUgInRhcmFudG9vbC1kZWJ1Z2dlci10ZXN0cyIpPGJyPis8YnI+KyMgWFhYOiBU aGUgY2FsbCBwcm9kdWNlcyBib3RoIHRlc3QgYW5kIHRhcmdldDxicj4rIyAmbHQ7dGFyYW50b29s LWRlYnVnZ2VyLXRlc3RzLWRlcHMmZ3Q7IGFzIGEgc2lkZSBlZmZlY3QuPGJyPithZGRfdGVzdF9z dWl0ZV90YXJnZXQodGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzPGJyPisgTEFCRUxTICR7VEVTVF9T VUlURV9OQU1FfTxicj4rIERFUEVORFMgJHtMVUFKSVRfVEVTVF9CSU5BUll9PGJyPispPGJyPis8 YnI+KyMgRGVidWcgaW5mbyBpcyByZXF1aXJlZCBmb3IgdGVzdGluZyBvZiBleHRlbnNpb25zLjxi cj4raWYoTk9UIChDTUFLRV9CVUlMRF9UWVBFIE1BVENIRVMgRGVidWcpKTxicj4rIG1lc3NhZ2Uo V0FSTklORzxicj4rICJOb3QgYSBERUJVRyBidWlsZCwgdGFyYW50b29sLWRlYnVnZ2VyLXRlc3Rz IGlzIGR1bW15Ijxicj4rICk8YnI+KyByZXR1cm4oKTxicj4rZW5kaWYoKTxicj4rPGJyPisjIE1h Y09TIGFza3MgZm9yIHBlcm1pc3Npb24gdG8gZGVidWcgYSBwcm9jZXNzIGV2ZW4gd2hlbiB0aGU8 YnI+KyMgbWFjaGluZSBpcyBzZXQgaW50byBkZXZlbG9wbWVudCBtb2RlLiBUbyBzb2x2ZSB0aGUg aXNzdWUsPGJyPisjIGl0IGlzIHJlcXVpcmVkIHRvIGFkZCByZWxldmFudCB1c2VycyB0byB0aGUg YF9kZXZlbG9wZXJgIHVzZXI8YnI+KyMgZ3JvdXAgaW4gbWFjT1MuIERpc2FibGVkIGZvciBub3cu PGJyPitpZihDTUFLRV9TWVNURU1fTkFNRSBTVFJFUVVBTCAiRGFyd2luIiBBTkQgREVGSU5FRCBF TlZ7Q0l9KTxicj4rIG1lc3NhZ2UoV0FSTklORzxicj4rICJJbnRlcmFjdGl2ZSBkZWJ1Z2dpbmcg aXMgdW5hdmFpbGFibGUgZm9yIG1hY09TIENJIGJ1aWxkcywiPGJyPisgIiB0YXJhbnRvb2wtZGVi dWdnZXItdGVzdHMgaXMgZHVtbXkiPGJyPisgKTxicj4rIHJldHVybigpPGJyPitlbmRpZigpPGJy Pis8YnI+K2lmKENNQUtFX1ZFUlNJT04gVkVSU0lPTl9MRVNTICIzLjEyIik8YnI+KyAjIFRPRE86 Q2FuIHJlbW92ZSB0aGlzIGFmdGVyIHVwZ3JhZGluZyB0byBDTWFrZSAmZ3Q7PSAzLjEyLjxicj4r IGZpbmRfcGFja2FnZShQeXRob25JbnRlcnApPGJyPisgaWYoTk9UIFBZVEhPTklOVEVSUF9GT1VO RCk8YnI+KyBtZXNzYWdlKFdBUk5JTkcgImBweXRob25gIGlzIG5vdCBmb3VuZCwgdGFyYW50b29s LWRlYnVnZ2VyLXRlc3RzIGlzIGR1bW15Iik8YnI+KyByZXR1cm4oKTxicj4rIGVuZGlmKCk8YnI+ K2Vsc2UoKTxicj4rIGZpbmRfcGFja2FnZShQeXRob24gQ09NUE9ORU5UUyBJbnRlcnByZXRlcik8 YnI+KyBpZihOT1QgUFlUSE9OX0ZPVU5EKTxicj4rIG1lc3NhZ2UoV0FSTklORyAiYHB5dGhvbmAg aXMgbm90IGZvdW5kLCB0YXJhbnRvb2wtZGVidWdnZXItdGVzdHMgaXMgZHVtbXkiKTxicj4rIHJl dHVybigpPGJyPisgZW5kaWYoKTxicj4rIHNldChQWVRIT05fRVhFQ1VUQUJMRSAiJHtQeXRob25f RVhFQ1VUQUJMRX0iKTxicj4rZW5kaWYoKTxicj4rPGJyPitzZXQoREVCVUdHRVJfVEVTVF9FTlY8 YnI+KyAiTFVBSklUX1RFU1RfQklOQVJZPSR7TFVBSklUX1RFU1RfQklOQVJZfSI8YnI+KyAjIFN1 cHByZXNzZXMgX19weWNhY2hlX18gZ2VuZXJhdGlvbi48YnI+KyAiUFlUSE9ORE9OVFdSSVRFQllU RUNPREU9MSI8YnI+KyAiREVCVUdHRVJfRVhURU5TSU9OX1BBVEg9JHtQUk9KRUNUX1NPVVJDRV9E SVJ9L3NyYyI8YnI+Kyk8YnI+Kzxicj4rc2V0KFRFU1RfU0NSSVBUX1BBVEg8YnI+KyAke0NNQUtF X0NVUlJFTlRfU09VUkNFX0RJUn0vZGVidWctZXh0ZW5zaW9uLXRlc3RzLnB5PGJyPispPGJyPis8 YnI+K2ZpbmRfcHJvZ3JhbShHREIgZ2RiKTxicj4raWYoR0RCKTxicj4rIHNldCh0ZXN0X3RpdGxl ICJ0ZXN0LyR7VEVTVF9TVUlURV9OQU1FfS9nZGIiKTxicj4rIHNldChHREJfVEVTVF9FTlYgJHtE RUJVR0dFUl9URVNUX0VOVn0gIkRFQlVHR0VSX0NPTU1BTkQ9JHtHREJ9Iik8YnI+KyBhZGRfdGVz dChOQU1FICIke3Rlc3RfdGl0bGV9Ijxicj4rIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0g JHtURVNUX1NDUklQVF9QQVRIfTxicj4rIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVO VF9CSU5BUllfRElSfTxicj4rICk8YnI+KyBzZXRfdGVzdHNfcHJvcGVydGllcygiJHt0ZXN0X3Rp dGxlfSIgUFJPUEVSVElFUzxicj4rIEVOVklST05NRU5UICIke0dEQl9URVNUX0VOVn0iPGJyPisg TEFCRUxTICR7VEVTVF9TVUlURV9OQU1FfTxicj4rIERFUEVORFMgdGFyYW50b29sLWRlYnVnZ2Vy LXRlc3RzLWRlcHM8YnI+KyApPGJyPitlbHNlKCk8YnI+KyBtZXNzYWdlKFdBUk5JTkc8YnI+KyAi YGdkYicgaXMgbm90IGZvdW5kLCBzbyB0YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvZ2RiIGlzIG9t aXR0ZWQiPGJyPisgKTxicj4rZW5kaWYoKTxicj4rPGJyPitmaW5kX3Byb2dyYW0oTExEQiBsbGRi KTxicj4raWYoTExEQik8YnI+KyBzZXQodGVzdF90aXRsZSAidGVzdC8ke1RFU1RfU1VJVEVfTkFN RX0vbGxkYiIpPGJyPisgc2V0KExMREJfVEVTVF9FTlYgJHtERUJVR0dFUl9URVNUX0VOVn0gIkRF QlVHR0VSX0NPTU1BTkQ9JHtMTERCfSIpPGJyPisgYWRkX3Rlc3QoTkFNRSAiJHt0ZXN0X3RpdGxl fSI8YnI+KyBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7VEVTVF9TQ1JJUFRfUEFUSH08 YnI+KyBXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn08YnI+KyAp PGJyPisgc2V0X3Rlc3RzX3Byb3BlcnRpZXMoIiR7dGVzdF90aXRsZX0iIFBST1BFUlRJRVM8YnI+ KyBFTlZJUk9OTUVOVCAiJHtMTERCX1RFU1RfRU5WfSI8YnI+KyBMQUJFTFMgJHtURVNUX1NVSVRF X05BTUV9PGJyPisgREVQRU5EUyB0YXJhbnRvb2wtZGVidWdnZXItdGVzdHMtZGVwczxicj4rICk8 YnI+K2Vsc2UoKTxicj4rIG1lc3NhZ2UoV0FSTklORzxicj4rICJgbGxkYicgaXMgbm90IGZvdW5k LCBzbyB0YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvbGxkYiBpcyBvbWl0dGVkIjxicj4rICk8YnI+ K2VuZGlmKCk8YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzL2Rl YnVnLWV4dGVuc2lvbi10ZXN0cy5weSBiL3Rlc3QvdGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzL2Rl YnVnLWV4dGVuc2lvbi10ZXN0cy5weTxicj5uZXcgZmlsZSBtb2RlIDEwMDY0NDxicj5pbmRleCAw MDAwMDAwMC4uNjA5NGM1MzU8YnI+LS0tIC9kZXYvbnVsbDxicj4rKysgYi90ZXN0L3RhcmFudG9v bC1kZWJ1Z2dlci10ZXN0cy9kZWJ1Zy1leHRlbnNpb24tdGVzdHMucHk8YnI+QEAgLTAsMCArMSwy ODYgQEA8YnI+KyMgVGhpcyBmaWxlIHByb3ZpZGVzIHRlc3RzIGZvciBMdWFKSVQgZGVidWcgZXh0 ZW5zaW9ucyBmb3IgbGxkYjxicj4rIyBhbmQgZ2RiLjxicj4rPGJyPitpbXBvcnQgb3M8YnI+K2lt cG9ydCByZTxicj4raW1wb3J0IHN1YnByb2Nlc3M8YnI+K2ltcG9ydCBzeXM8YnI+K2ltcG9ydCB0 ZW1wZmlsZTxicj4raW1wb3J0IHVuaXR0ZXN0PGJyPis8YnI+K2Zyb20gdGhyZWFkaW5nIGltcG9y dCBUaW1lcjxicj4rPGJyPitMRUdBQ1kgPSByZS5tYXRjaChyJ14yXC4nLCBzeXMudmVyc2lvbik8 YnI+Kzxicj4rTFVBSklUX0JJTkFSWSA9IG9zLmVudmlyb25bJ0xVQUpJVF9URVNUX0JJTkFSWSdd PGJyPitFWFRFTlNJT05fUEFUSCA9IG9zLmVudmlyb25bJ0RFQlVHR0VSX0VYVEVOU0lPTl9QQVRI J108YnI+K0RFQlVHR0VSID0gb3MuZW52aXJvblsnREVCVUdHRVJfQ09NTUFORCddPGJyPitMTERC ID0gJ2xsZGInIGluIERFQlVHR0VSPGJyPitFWFRFTlNJT04gPSBFWFRFTlNJT05fUEFUSCArICgn L2x1YWppdF9sbGRiLnB5JyBpZiBMTERCIGVsc2UgJy9sdWFqaXQtZ2RiLnB5Jyk8YnI+K1RJTUVP VVQgPSAxMDxicj4rPGJyPisjIERvbid0IHJ1biBhbnkgaW5pdGlhbGl6YXRpb24gc2NyaXB0cy48 YnI+K1JVTl9DTURfRklMRSA9IFtdPGJyPis8YnI+K2lmIExMREI6PGJyPisgUlVOX0NNRF9GSUxF ID0gWzxicj4rICctLWJhdGNoJyw8YnI+KyAnLS1uby1sbGRiaW5pdCcsPGJyPisgJy0tbm8tdXNl LWNvbG9ycycsPGJyPisgJy0tc291cmNlLXF1aWV0bHknLDxicj4rICctLXNvdXJjZSc8YnI+KyBd PGJyPitlbHNlOjxicj4rICMgR0RCLjxicj4rIFJVTl9DTURfRklMRSA9IFsnLS1iYXRjaCcsICct LW54JywgJy0tcXVpZXQnLCAnLS1jb21tYW5kJ108YnI+Kzxicj4rSU5GRVJJT1JfQVJHUyA9ICct LScgaWYgTExEQiBlbHNlICctLWFyZ3MnPGJyPitQUk9DRVNTX1JVTiA9ICdwcm9jZXNzIGxhdW5j aCcgaWYgTExEQiBlbHNlICdyJzxicj4rTE9BRF9FWFRFTlNJT04gPSAoPGJyPisgJ2NvbW1hbmQg c2NyaXB0IGltcG9ydCB7ZXh0fScgaWYgTExEQiBlbHNlICdzb3VyY2Uge2V4dH0nPGJyPispLmZv cm1hdChleHQ9RVhURU5TSU9OKTxicj4rPGJyPis8YnI+K1JYX0FERFIgPSByJzB4W2EtZjAtOV0r Jzxicj4rUlhfSEFTSCA9IFJYX0FERFIgIyBUaGUgc2FtZSBwYXR0ZXJuIGZvciBoZXhhZGVtaWMg dmFsdWVzLjxicj4rUlhfRlJBTUUgPSByJ1xbKFN8XHMpKEJ8XHMpKFR8XHMpKE18XHMpXF0nPGJy Pis8YnI+Kzxicj4rZGVmIHBlcnNpc3QoZGF0YSk6PGJyPisgdG1wID0gdGVtcGZpbGUuTmFtZWRU ZW1wb3JhcnlGaWxlKG1vZGU9J3cnKTxicj4rIHRtcC53cml0ZShkYXRhKTxicj4rIHRtcC5mbHVz aCgpPGJyPisgcmV0dXJuIHRtcDxicj4rPGJyPis8YnI+K2RlZiBleGVjdXRlX3Byb2Nlc3MoY21k LCB0aW1lb3V0PVRJTUVPVVQpOjxicj4rIGlmIExFR0FDWTo8YnI+KyAjIFhYWDogVGhlIFB5dGhv biAyLjcgdmVyc2lvbiBvZiBgc3VicHJvY2Vzcy5Qb3BlbmA8YnI+KyAjIGRvZXNuJ3QgaGF2ZSBh IHRpbWVvdXQgb3B0aW9uLCBzbyB0aGUgcmVxdWlyZWQ8YnI+KyAjIGZ1bmN0aW9uYWxpdHkgd2Fz IGltcGxlbWVudGVkIHZpYSBgdGhyZWFkaW5nLlRpbWVyYC48YnI+KyBwcm9jZXNzID0gc3VicHJv Y2Vzcy5Qb3Blbig8YnI+KyBjbWQsPGJyPisgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSw8YnI+KyBz dGRlcnI9c3VicHJvY2Vzcy5QSVBFLDxicj4rICMgVGhpcyBwcmV2ZW50cyBzZW5kaW5nIG9mIFNJ R1NUVE9VIHRvIHRoZSB0ZXN0IHdoZW48YnI+KyAjIHJ1bm5pbmcgYnkgYG1ha2UnLiBTdGRpbiBp cyB1bnVzZWQgYW55d2F5Ljxicj4rIHN0ZGluPXN1YnByb2Nlc3MuREVWTlVMTDxicj4rICk8YnI+ KyB0aW1lciA9IFRpbWVyKFRJTUVPVVQsIHByb2Nlc3Mua2lsbCk8YnI+KyB0aW1lci5zdGFydCgp PGJyPisgc3Rkb3V0LCBfID0gcHJvY2Vzcy5jb21tdW5pY2F0ZSgpPGJyPisgdGltZXIuY2FuY2Vs KCk8YnI+Kzxicj4rICMgWFhYOiBJZiB0aGUgdGltZW91dCBpcyBleGNlZWRlZCBhbmQgdGhlIHBy b2Nlc3MgaXM8YnI+KyAjIGtpbGxlZCBieSB0aGUgdGltZXIsIHRoZW4gdGhlIHJldHVybiBjb2Rl IGlzIG5vbi16ZXJvLDxicj4rICMgYW5kIHdlIGFyZSBnb2luZyB0byBibG93IHVwLjxicj4rIGFz c2VydCBwcm9jZXNzLnJldHVybmNvZGUgPT0gMDxicj4rIHJldHVybiBzdGRvdXQuZGVjb2RlKCdh c2NpaScpPGJyPisgZWxzZTo8YnI+KyBwcm9jZXNzID0gc3VicHJvY2Vzcy5ydW4oPGJyPisgY21k LDxicj4rIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsPGJyPisgc3RkZXJyPXN1YnByb2Nlc3MuUElQ RSw8YnI+KyAjIFRoaXMgcHJldmVudHMgc2VuZGluZyBvZiBTSUdTVFRPVSB0byB0aGUgdGVzdCB3 aGVuPGJyPisgIyBydW5uaW5nIGJ5IGBtYWtlJy4gU3RkaW4gaXMgdW51c2VkIGFueXdheS48YnI+ KyBzdGRpbj1zdWJwcm9jZXNzLkRFVk5VTEwsPGJyPisgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUs PGJyPisgdGltZW91dD1USU1FT1VUPGJyPisgKTxicj4rIHJldHVybiBwcm9jZXNzLnN0ZG91dDxi cj4rPGJyPis8YnI+K2NsYXNzIFRlc3RDYXNlQmFzZSh1bml0dGVzdC5UZXN0Q2FzZSk6PGJyPisg QGNsYXNzbWV0aG9kPGJyPisgZGVmIGNvbnN0cnVjdF9jbWRzKGNscyk6PGJyPisgcmV0dXJuICdc bicuam9pbihbPGJyPisgJ2Ige2xvY30nLmZvcm1hdChsb2M9Y2xzLmxvY2F0aW9uKSw8YnI+KyBQ Uk9DRVNTX1JVTiw8YnI+KyAnbicsPGJyPisgTE9BRF9FWFRFTlNJT04sPGJyPisgY2xzLmV4dGVu c2lvbl9jbWRzLnN0cmlwKCksPGJyPisgJ3EnLDxicj4rIF0pPGJyPis8YnI+KyBAY2xhc3NtZXRo b2Q8YnI+KyBkZWYgc2V0VXBDbGFzcyhjbHMpOjxicj4rIGNtZF9maWxlID0gcGVyc2lzdChjbHMu Y29uc3RydWN0X2NtZHMoKSk8YnI+KyBzY3JpcHRfZmlsZSA9IHBlcnNpc3QoY2xzLmx1YV9zY3Jp cHQpPGJyPisgcHJvY2Vzc19jbWQgPSBbPGJyPisgREVCVUdHRVIsPGJyPisgKlJVTl9DTURfRklM RSw8YnI+KyBjbWRfZmlsZS5uYW1lLDxicj4rIElORkVSSU9SX0FSR1MsPGJyPisgTFVBSklUX0JJ TkFSWSw8YnI+KyBzY3JpcHRfZmlsZS5uYW1lLDxicj4rIF08YnI+KyBjbHMub3V0cHV0ID0gZXhl Y3V0ZV9wcm9jZXNzKHByb2Nlc3NfY21kKTxicj4rIGNtZF9maWxlLmNsb3NlKCk8YnI+KyBzY3Jp cHRfZmlsZS5jbG9zZSgpPGJyPis8YnI+KyBkZWYgY2hlY2soc2VsZik6PGJyPisgaWYgTEVHQUNZ Ojxicj4rIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhzZWxmLm91dHB1dCwgc2VsZi5wYXR0ZXJu LnN0cmlwKCkpPGJyPisgZWxzZTo8YnI+KyBzZWxmLmFzc2VydFJlZ2V4KHNlbGYub3V0cHV0LCBz ZWxmLnBhdHRlcm4uc3RyaXAoKSk8YnI+Kzxicj4rPGJyPitjbGFzcyBUZXN0TG9hZChUZXN0Q2Fz ZUJhc2UpOjxicj4rIGV4dGVuc2lvbl9jbWRzID0gJyc8YnI+KyBsb2NhdGlvbiA9ICdsal9jZl9w cmludCc8YnI+KyBsdWFfc2NyaXB0ID0gJ3ByaW50KDEpJzxicj4rIHBhdHRlcm4gPSAoPGJyPisg cidsai1hcmNoIGNvbW1hbmQgaW5pdGlhbGl6ZWRcbic8YnI+KyByJ2xqLXR2IGNvbW1hbmQgaW5p dGlhbGl6ZWRcbic8YnI+KyByJ2xqLXN0ciBjb21tYW5kIGluaXRpYWxpemVkXG4nPGJyPisgcids ai10YWIgY29tbWFuZCBpbml0aWFsaXplZFxuJzxicj4rIHInbGotc3RhY2sgY29tbWFuZCBpbml0 aWFsaXplZFxuJzxicj4rIHInbGotc3RhdGUgY29tbWFuZCBpbml0aWFsaXplZFxuJzxicj4rIHIn bGotZ2MgY29tbWFuZCBpbml0aWFsaXplZFxuJzxicj4rIHInLippcyBzdWNjZXNzZnVsbHkgbG9h ZGVkJzxicj4rICk8YnI+Kzxicj4rPGJyPitjbGFzcyBUZXN0TEpBcmNoKFRlc3RDYXNlQmFzZSk6 PGJyPisgZXh0ZW5zaW9uX2NtZHMgPSAnbGotYXJjaCc8YnI+KyBsb2NhdGlvbiA9ICdsal9jZl9w cmludCc8YnI+KyBsdWFfc2NyaXB0ID0gJ3ByaW50KDEpJzxicj4rIHBhdHRlcm4gPSAoPGJyPisg cidMSl82NDogKFRydWV8RmFsc2UpLCAnPGJyPisgcidMSl9HQzY0OiAoVHJ1ZXxGYWxzZSksICc8 YnI+KyByJ0xKX0RVQUxOVU06IChUcnVlfEZhbHNlKSc8YnI+KyApPGJyPis8YnI+Kzxicj4rY2xh c3MgVGVzdExKU3RhdGUoVGVzdENhc2VCYXNlKTo8YnI+KyBleHRlbnNpb25fY21kcyA9ICdsai1z dGF0ZSc8YnI+KyBsb2NhdGlvbiA9ICdsal9jZl9wcmludCc8YnI+KyBsdWFfc2NyaXB0ID0gJ3By aW50KDEpJzxicj4rIHBhdHRlcm4gPSAoPGJyPisgcidWTSBzdGF0ZTogW0EtWl0rXG4nPGJyPisg cidHQyBzdGF0ZTogW0EtWl0rXG4nPGJyPisgcidKSVQgc3RhdGU6IFtBLVpdK1xuJzxicj4rICk8 YnI+Kzxicj4rPGJyPitjbGFzcyBUZXN0TEpHQyhUZXN0Q2FzZUJhc2UpOjxicj4rIGV4dGVuc2lv bl9jbWRzID0gJ2xqLWdjJzxicj4rIGxvY2F0aW9uID0gJ2xqX2NmX3ByaW50Jzxicj4rIGx1YV9z Y3JpcHQgPSAncHJpbnQoMSknPGJyPisgcGF0dGVybiA9ICg8YnI+KyByJ0dDIHN0YXRzOiBbQS1a XStcbic8YnI+KyByJ1x0dG90YWw6IFxkK1xuJzxicj4rIHInXHR0aHJlc2hvbGQ6IFxkK1xuJzxi cj4rIHInXHRkZWJ0OiBcZCtcbic8YnI+KyByJ1x0ZXN0aW1hdGU6IFxkK1xuJzxicj4rIHInXHRz dGVwbXVsOiBcZCtcbic8YnI+KyByJ1x0cGF1c2U6IFxkK1xuJzxicj4rIHInXHRzd2VlcHN0cjog XGQrL1xkK1xuJzxicj4rIHInXHRyb290OiBcZCsgb2JqZWN0c1xuJzxicj4rIHInXHRncmF5OiBc ZCsgb2JqZWN0c1xuJzxicj4rIHInXHRncmF5YWdhaW46IFxkKyBvYmplY3RzXG4nPGJyPisgcidc dHdlYWs6IFxkKyBvYmplY3RzXG4nPGJyPisgcidcdG1tdWRhdGE6IFxkKyBvYmplY3RzXG4nPGJy PisgKTxicj4rPGJyPis8YnI+K2NsYXNzIFRlc3RMSlN0YWNrKFRlc3RDYXNlQmFzZSk6PGJyPisg ZXh0ZW5zaW9uX2NtZHMgPSAnbGotc3RhY2snPGJyPisgbG9jYXRpb24gPSAnbGpfY2ZfcHJpbnQn PGJyPisgbHVhX3NjcmlwdCA9ICdwcmludCgxKSc8YnI+KyBwYXR0ZXJuID0gKDxicj4rIHInLSsg UmVkIHpvbmU6XHMrXGQrIHNsb3RzIC0rXG4nPGJyPisgcicoJyArIFJYX0FERFIgKyByJ1xzKycg KyBSWF9GUkFNRSArIHInIFZBTFVFOiBuaWxcbj8pKlxuJzxicj4rIHInLSsgU3RhY2s6XHMrXGQr IHNsb3RzIC0rXG4nPGJyPisgcicoJyArIFJYX0FERFIgKyByJyg6JyArIFJYX0FERFIgKyByJyk/ XHMrJyArIFJYX0ZSQU1FICsgcicuKlxuPykrXG4nPGJyPisgKTxicj4rPGJyPis8YnI+K2NsYXNz IFRlc3RMSlRWKFRlc3RDYXNlQmFzZSk6PGJyPisgbG9jYXRpb24gPSAnbGpfY2ZfcHJpbnQnPGJy PisgZXh0ZW5zaW9uX2NtZHMgPSAoPGJyPisgJ2xqLXR2IEwtJmd0O2Jhc2Vcbic8YnI+KyAnbGot dHYgTC0mZ3Q7YmFzZSArIDFcbic8YnI+KyAnbGotdHYgTC0mZ3Q7YmFzZSArIDJcbic8YnI+KyAn bGotdHYgTC0mZ3Q7YmFzZSArIDNcbic8YnI+KyAnbGotdHYgTC0mZ3Q7YmFzZSArIDRcbic8YnI+ KyAnbGotdHYgTC0mZ3Q7YmFzZSArIDVcbic8YnI+KyAnbGotdHYgTC0mZ3Q7YmFzZSArIDZcbic8 YnI+KyAnbGotdHYgTC0mZ3Q7YmFzZSArIDdcbic8YnI+KyAnbGotdHYgTC0mZ3Q7YmFzZSArIDhc bic8YnI+KyAnbGotdHYgTC0mZ3Q7YmFzZSArIDlcbic8YnI+KyAnbGotdHYgTC0mZ3Q7YmFzZSAr IDEwXG4nPGJyPisgJ2xqLXR2IEwtJmd0O2Jhc2UgKyAxMVxuJzxicj4rICk8YnI+Kzxicj4rIGx1 YV9zY3JpcHQgPSAoPGJyPisgJ2xvY2FsIGZmaSA9IHJlcXVpcmUoImZmaSIpXG4nPGJyPisgJ3By aW50KFxuJzxicj4rICcgbmlsLFxuJzxicj4rICcgZmFsc2UsXG4nPGJyPisgJyB0cnVlLFxuJzxi cj4rICcgImhlbGxvIixcbic8YnI+KyAnIHsxfSxcbic8YnI+KyAnIDEsXG4nPGJyPisgJyAxLjEs XG4nPGJyPisgJyBjb3JvdXRpbmUuY3JlYXRlKGZ1bmN0aW9uKCkgZW5kKSxcbic8YnI+KyAnIGZm aS5uZXcoImludCoiKSxcbic8YnI+KyAnIGZ1bmN0aW9uKCkgZW5kLFxuJzxicj4rICcgcHJpbnQs XG4nPGJyPisgJyByZXF1aXJlXG4nPGJyPisgJylcbic8YnI+KyApPGJyPis8YnI+KyBwYXR0ZXJu ID0gKDxicj4rIHInbmlsXG4nPGJyPisgcidmYWxzZVxuJzxicj4rIHIndHJ1ZVxuJzxicj4rIHIn c3RyaW5nIFwiaGVsbG9cIiBAICcgKyBSWF9BRERSICsgcidcbic8YnI+KyByJ3RhYmxlIEAgJyAr IFJYX0FERFIgKyByJyBcKGFzaXplOiBcZCssIGhtYXNrOiAnICsgUlhfSEFTSCArIHInXClcbic8 YnI+KyByJyhudW1iZXJ8aW50ZWdlcikgLioxLipcbic8YnI+KyByJ251bWJlciAxLjFcZCtcbic8 YnI+KyByJ3RocmVhZCBAICcgKyBSWF9BRERSICsgcidcbic8YnI+KyByJ2NkYXRhIEAgJyArIFJY X0FERFIgKyByJ1xuJzxicj4rIHInTHVhIGZ1bmN0aW9uIEAgJyArIFJYX0FERFIgKyByJywgWzAt OV0rIHVwdmFsdWVzLCAuKzpbMC05XStcbic8YnI+KyByJ2Zhc3QgZnVuY3Rpb24gI1swLTldK1xu Jzxicj4rIHInQyBmdW5jdGlvbiBAICcgKyBSWF9BRERSICsgcidcbic8YnI+KyApPGJyPis8YnI+ Kzxicj4rY2xhc3MgVGVzdExKU3RyKFRlc3RDYXNlQmFzZSk6PGJyPisgZXh0ZW5zaW9uX2NtZHMg PSAoPGJyPisgIyBYWFg6IEdldCB0aGUgdmFsdWUgdG8gdGhlIHN0YWNrIHNsb3QgZm9yIHRoZSB2 YXJpYWJsZS48YnI+KyAnblxuJzxicj4rICdsai1zdHIgZm5hbWVcbic8YnI+KyApPGJyPisgbG9j YXRpb24gPSAnbGpfY2ZfZG9maWxlJzxicj4rIGx1YV9zY3JpcHQgPSAncGNhbGwoZG9maWxlKCJu YW1lIikpJzxicj4rIHBhdHRlcm4gPSByJ1N0cmluZzogLiogXFtcZCsgYnl0ZXNcXSB3aXRoIGhh c2ggJyArIFJYX0hBU0g8YnI+Kzxicj4rPGJyPitjbGFzcyBUZXN0TEpUYWIoVGVzdENhc2VCYXNl KTo8YnI+KyBleHRlbnNpb25fY21kcyA9ICg8YnI+KyAjIFhYWDogR2V0IHRoZSB2YWx1ZSB0byB0 aGUgc3RhY2sgc2xvdCBmb3IgdGhlIHZhcmlhYmxlLjxicj4rICduXG4nPGJyPisgJ2xqLXRhYiB0 XG4nPGJyPisgKTxicj4rIGxvY2F0aW9uID0gJ2xqX2NmX3VucGFjayc8YnI+KyBsdWFfc2NyaXB0 ID0gJ3VucGFjayh7MTsgYSA9IDF9KSc8YnI+KyBwYXR0ZXJuID0gKDxicj4rIHInQXJyYXkgcGFy dDogMyBzbG90c1xuJyArPGJyPisgUlhfQUREUiArIHInOiBcWzBcXTogbmlsXG4nICs8YnI+KyBS WF9BRERSICsgcic6IFxbMVxdOiAuKyAxXG4nICs8YnI+KyBSWF9BRERSICsgcic6IFxbMlxdOiBu aWxcbicgKzxicj4rIHInSGFzaCBwYXJ0OiAyIG5vZGVzXG4nICs8YnI+KyBSWF9BRERSICsgcic6 IHsgc3RyaW5nICJhIiBAICcgKyBSWF9BRERSICsgcicgfSA9Jmd0OyAnICs8YnI+KyByJ3sgLisg MSB9OyBuZXh0ID0gMHgwXG4nICs8YnI+KyBSWF9BRERSICsgcic6IHsgbmlsIH0gPSZndDsgeyBu aWwgfTsgbmV4dCA9IDB4MFxuJzxicj4rICk8YnI+Kzxicj4rPGJyPitmb3IgdGVzdF9jbHMgaW4g VGVzdENhc2VCYXNlLl9fc3ViY2xhc3Nlc19fKCk6PGJyPisgdGVzdF9jbHMudGVzdCA9IGxhbWJk YSBzZWxmOiBzZWxmLmNoZWNrKCk8YnI+Kzxicj4rIyBGSVhNRTogc2tpcCBmb3IgTExEQiBzaW5j ZSBtb3N0IGNvbW1hbmRzIGFyZSBub3Qgd29ya2luZyBhbnl3YXkuPGJyPitpZiBfX25hbWVfXyA9 PSAnX19tYWluX18nIGFuZCBub3QgTExEQjo8YnI+KyB1bml0dGVzdC5tYWluKHZlcmJvc2l0eT0y KTxicj4tLTxicj4yLjUzLjA8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Js b2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9CT0RZPjwvSFRNTD4K ----ALT--f82640F52B7f5fAbeB17E2d5719244Fd1779803427--