From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f505.i.mail.ru (f505.i.mail.ru [217.69.138.172]) (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 334104429E1 for ; Mon, 29 Jun 2020 20:42:18 +0300 (MSK) From: =?UTF-8?B?SWx5YSBLb3NhcmV2?= MIME-Version: 1.0 Date: Mon, 29 Jun 2020 20:42:17 +0300 Reply-To: =?UTF-8?B?SWx5YSBLb3NhcmV2?= Message-ID: <1593452537.284366351@f505.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--4283eCbaBf66b7AEfE6882F649e411561593452537" In-Reply-To: References: <20200618175720.27089-1-i.kosarev@tarantool.org> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH=5D_tuple=3A_make_fields_nu?= =?utf-8?q?llable_by_default_except_array/map?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QWxla3NhbmRyIEx5YXB1bm92?= Cc: tarantool-patches@dev.tarantool.org ----ALT--4283eCbaBf66b7AEfE6882F649e411561593452537 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpIQoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LgrCoAo0IGFuc3dlcnMgYmVsb3cuCsKgIAo+0JLR gtC+0YDQvdC40LosIDIzINC40Y7QvdGPIDIwMjAsIDEzOjU2ICswMzowMCDQvtGCIEFsZWtzYW5k ciBMeWFwdW5vdiA8YWx5YXB1bm92QHRhcmFudG9vbC5vcmc+Ogo+wqAKPkhlbGxvLCB0aGFua3Mg Zm9yIHRoZSBwYXRjaCEKPkkgZG9uJ3QgbGlrZSBpdCBuZXZlcnRoZWxlc3MuCj5CdHcgSSBkb24n dCBsaWtlIFZsYWRpbWlyJ3MgcGF0Y2ggYWJvdXQgcmVxdWlyZWQgbWFwL2FycmF5IGVpdGhlci4K Pkl0IHNlZW1zIHRoYXQgdGhlcmUgYXJlIHRvIG1hbnkgd2F5cyB0byBkZWNsYXJlIGZpZWxkIGFz IG51bGxhYmxlLAo+YXQgbGVhc3QgYnkgc2V0dGluZyBudWxsYWJsZV9hY3Rpb24gYW5kIHJlbW92 aW5nIGNvcnJlc3BvbmRpbmcgYml0Cj5mcm9tIHJlcXVpcmVkX2ZpbGVkcyBtYXNrLgoxLsKgQWx0 aG91Z2ggdGhlcmUgaXMgbW9yZSB0aGFuIG9uZcKgd2F5LCBpIHRoaW5rIHRoYXQgc2V0dGluZwpu dWxsYWJsZV9hY3Rpb24gaW7CoCB0dXBsZV9maWVsZF9uZXcgaXMgdGhlwqBkZWZhdWx0IHdheSB0 byBkbyB0aGlzLgpyZXF1aXJlZF9maWVsZHMgZGVwZW5kIG9uIGl0OgrCoCDCoCBpZiAoanNvbl90 b2tlbl9pc19sZWFmKCZmaWVsZC0+dG9rZW4pICYmCsKgIMKgIMKgIMKgICF0dXBsZV9maWVsZF9p c19udWxsYWJsZShmaWVsZCkpCsKgIMKgIMKgIGJpdF9zZXQocmVxdWlyZWRfZmllbGRzLCBmaWVs ZC0+aWQpOwo+VGhlcmUgbXVzdCBvbmUgbW9yZSB3YXkgc2luY2UgdGFyYW50b29sIGZyb20gbWFz dGVyIGFsbG93cwo+dG8gaW5zZXJ0IHR1cGxlcyBsaWtlIHRoYXQ6Cj5zOmNyZWF0ZV9pbmRleCgn cGsnLCB7cGFydHM9e3sxLCB1aW50fX19KQo+czpjcmVhdGVfaW5kZXgoJ3Rlc3QnLCB7cGFydHM9 e3s0LCB1aW50fX19KQo+czpyZXBsYWNlezEsIGJveC5OVUxMLCBuaWwsIDF9Cj4KPlRoYXQgbWVh bnMgdGhhdCB0aGUgY2FzZSBhYm92ZSAybmQgYW5kIDNyZCBmaWVsZHMgYXJlIG51bGxhYmxlCj5i eSBkZWZhdWx0LgoyLsKgVGhlc2UgZmllbGRzIGFyZSBub3QgcmVhbGx5IG51bGxhYmxlLiBUaGUg cmVhc29uIGl0IGlzIHBvc3NpYmxlIGlzIHRoZQp3YXkgb2YgZm9ybWF0IHZlcmlmaWNhdGlvbi4g SGVyZSBhcmUgc29tZSBtb3JlIGV4YW1wbGVzOgppMSA9IHM6Y3JlYXRlX2luZGV4KCdpMScsIHtw YXJ0cz17ezEsICd1bnNpZ25lZCd9fX0pCmkyID0gczpjcmVhdGVfaW5kZXgoJ2kyJywge3BhcnRz PXt7NSwgJ3Vuc2lnbmVkJywgaXNfbnVsbGFibGU9dHJ1ZX19fSkKczppbnNlcnR7MSwgbmlsLCBu aWwsIG5pbCwgNX0gLS0gb2sKczppbnNlcnR7MSwgbmlsLCBuaWwsIG5pbH0gLS0gZXJyb3IKwqAK RXZlbiBpbiBjYXNlIHdlIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmllbGQgYXMgbm9uLW51bGxh YmxlIHdpdGhvdXQgYW55Cm90aGVyIGRldGFpbHPCoGl0IHN0aWxsIGdvZXMgZmluZSAod2hpY2gg c2VlbXMgdG8gYmUgZXZlbiBtb3JlIGluY29ycmVjdCk6CnM6Zm9ybWF0KHt7bmFtZT0nZmllbGQx JywgaXNfbnVsbGFibGU9ZmFsc2V9fSkKaTEgPSBzOmNyZWF0ZV9pbmRleCgnaTEnLCB7cGFydHM9 e3syLCAndW5zaWduZWQnfX19KQppMiA9IHM6Y3JlYXRlX2luZGV4KCdpMicsIHtwYXJ0cz17ezUs ICd1bnNpZ25lZCcsIGlzX251bGxhYmxlPXRydWV9fX0pCnM6aW5zZXJ0e25pbCwgMiwgbmlsLCBu aWwsIDV9IC0tIG9rCsKgClRoaXMgd2F5LCB3aXRoIHR5cGUgc3BlY2lmaWVkLMKgaXQgZmluYWxs eSBnaXZlcyB1cyBhbiBlcnJvcjoKczpmb3JtYXQoe3tuYW1lPSdmaWVsZDEnLCAndW5zaWduZWQn LCBpc19udWxsYWJsZT1mYWxzZX19KQppMSA9IHM6Y3JlYXRlX2luZGV4KCdpMScsIHtwYXJ0cz17 ezIsICd1bnNpZ25lZCd9fX0pCmkyID0gczpjcmVhdGVfaW5kZXgoJ2kyJywge3BhcnRzPXt7NSwg J3Vuc2lnbmVkJywgaXNfbnVsbGFibGU9dHJ1ZX19fSkKczppbnNlcnR7bmlsLCAyLCBuaWwsIG5p bCwgNX0gLS0gZXJyb3IKwqAKSXQgYWxzbyB3b3JrcyBmaW5lIChnaXZpbmcgYW4gZXJyb3IpwqB3 aXRoIGluZGV4IHBhcnRzOgppMSA9IHM6Y3JlYXRlX2luZGV4KCdpMScsIHtwYXJ0cz17ezEsICd1 bnNpZ25lZCd9fX0pCmkyID0gczpjcmVhdGVfaW5kZXgoJ2kyJywge3BhcnRzPXt7NSwgJ3Vuc2ln bmVkJywgaXNfbnVsbGFibGU9dHJ1ZX19fSkKaTMgPSBzOmNyZWF0ZV9pbmRleCgnaTMnLCB7cGFy dHM9e3szLCBpc19udWxsYWJsZT1mYWxzZX19fSkKczppbnNlcnR7MSwgbmlsLCBuaWwsIG5pbCwg NX0gLS0gZXJyb3IKwqAKSSB0aGluayB0aGF0IHJlcXVpcmVkIGZpZWxkcyB2ZXJpZmljYXRpb24g b24gaW5zZXJ0IG5lZWRzIHRvIGJlIGZpeGVkLgpCdXQgaXQgc2VlbXMgdG8gYmUgdGhlIGlzc3Vl IGZvciBhbm90aGVyIHBhdGNoLgo+SXQgYWxsIGxvb2tzIGxpa2UgYSBtZXNzLCBJIGZlYXIgdGhh dCB5b3UgaGF2ZSB0byBkaWcgbW9yZSBhbmQgY3JlYXRlCj50aGUgb25lIGFuZCBvbmx5IHdheSB0 byBzZXQgZmllbGRzIGFzIHJlcXVpcmVkIG9yIG5vdC4KMy7CoEkgdHJpZWQgdG8gdGhpbmsgb2Yg YSBuaWNlciB3YXkgdG8gY3JlYXRlIHR1cGxlIGZvcm1hdCwgYnV0IGl0IHNlZW1zIHRvCmJlwqB1 bnNpbXBsaWZpYWJsZS4KPlBsZWFzZSBzZWUgbXkgY29tbWVudCBiZWxvdy4KPgo+T24gNi8xOC8y MCA4OjU3IFBNLCBJbHlhIEtvc2FyZXYgd3JvdGU6Cj4+IFNpbmNlIGUxZDNmZThhYjhlZWQ2NTM5 NGFkMTc0MDk0MDFhOTNiNmZjZGM0MzUgKHR1cGxlIGZvcm1hdDogZG9uJ3QKPj4gYWxsb3cgbnVs bCB3aGVyZSBhcnJheS9tYXAgaXMgZXhwZWN0ZWQpIHR1cGxlIGZpZWxkcyBhcmUgbnVsbGFibGUg YnkKPj4gZGVmYXVsdC4gSXQgc2VlbXMgc3RyYW5nZSBhdCBsZWFzdCBpbiBjYXNlIHdlIGhhdmUg aW1wbGljaXQgZmllbGRzIGluCj4+IGZyb250IG9mIGV4cGxpY2l0IG51bGxhYmxlIGZpZWxkLiBO b3cgZmllbGRzIGFyZSBudWxsYWJsZSBieSBkZWZhdWx0Cj4+IGV4Y2VwdCBhcnJheXMgJiBtYXBz IGR1ZSB0byByZWFzb25zIHNwZWNpZmllZCBpbiBtZW50aW9uZWQgY29tbWl0Lgo+Pgo+PiBDbG9z ZXMgIzUwMjcKPj4gLS0tCj4+IEJyYW5jaDogIGh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wv dGFyYW50b29sL3RyZWUvaS5rb3NhcmV2L2doLTUwMjctZml4LXR1cGxlLWZpZWxkcy1udWxsYWJp bGl0eQo+PiBJc3N1ZTogIGh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL2lz c3Vlcy81MDI3Cj4+Cj4+IEBDaGFuZ2VMb2c6Cj4+ICogRml4IGNvbmZ1c2luZyBpbXBsaWNpdCBy ZXF1aXJlbWVudHMgZm9yIHR1cGxlIGZpZWxkcy4KPj4KPj4gc3JjL2JveC90dXBsZV9mb3JtYXQu YyB8IDYgKysrKystCj4+IHRlc3QvZW5naW5lL2luc2VydC5yZXN1bHQgfCAzMyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPj4gdGVzdC9lbmdpbmUvaW5zZXJ0LnRlc3QubHVhIHwg MTIgKysrKysrKysrKysrCj4+IDMgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvc3JjL2JveC90dXBsZV9mb3JtYXQuYyBiL3Ny Yy9ib3gvdHVwbGVfZm9ybWF0LmMKPj4gaW5kZXggNjhlYzJhNzQ5OS4uNGI4ZjMyMTQ5ZSAxMDA2 NDQKPj4gLS0tIGEvc3JjL2JveC90dXBsZV9mb3JtYXQuYwo+PiArKysgYi9zcmMvYm94L3R1cGxl X2Zvcm1hdC5jCj4+IEBAIC0xNTIsNyArMTUyLDcgQEAgdHVwbGVfZmllbGRfbmV3KHZvaWQpCj4+ IGZpZWxkLT50eXBlID0gRklFTERfVFlQRV9BTlk7Cj4+IGZpZWxkLT5vZmZzZXRfc2xvdCA9IFRV UExFX09GRlNFVF9TTE9UX05JTDsKPj4gZmllbGQtPmNvbGxfaWQgPSBDT0xMX05PTkU7Cj4+IC0g ZmllbGQtPm51bGxhYmxlX2FjdGlvbiA9IE9OX0NPTkZMSUNUX0FDVElPTl9ERUZBVUxUOwo+PiAr IGZpZWxkLT5udWxsYWJsZV9hY3Rpb24gPSBPTl9DT05GTElDVF9BQ1RJT05fTk9ORTsKPj4gZmll bGQtPm11bHRpa2V5X3JlcXVpcmVkX2ZpZWxkcyA9IE5VTEw7Cj4+IHJldHVybiBmaWVsZDsKPj4g fQo+PiBAQCAtNTI4LDYgKzUyOCwxMCBAQCB0dXBsZV9mb3JtYXRfY3JlYXRlKHN0cnVjdCB0dXBs ZV9mb3JtYXQgKmZvcm1hdCwgc3RydWN0IGtleV9kZWYgKiBjb25zdCAqa2V5cywKPj4gbXVsdGlr ZXlfcmVxdWlyZWRfZmllbGRzOwo+PiByZXF1aXJlZF9maWVsZHMgPSBtdWx0aWtleV9yZXF1aXJl ZF9maWVsZHM7Cj4+IH0KPj4gKyBpZiAoKGZpZWxkLT50eXBlID09IEZJRUxEX1RZUEVfQVJSQVkg fHwKPj4gKyBmaWVsZC0+dHlwZSA9PSBGSUVMRF9UWVBFX01BUCkgJiYKPj4gKyB0dXBsZV9maWVs ZF9pc19udWxsYWJsZShmaWVsZCkpCj4+ICsgZmllbGQtPm51bGxhYmxlX2FjdGlvbiA9IE9OX0NP TkZMSUNUX0FDVElPTl9ERUZBVUxUOwo+VGhhdCBkb2Vzbid0IGxvb2sgbGlrZSBhIHByb3BlciBw bGFjZSB0byBlZGl0IGZpZWxkLgo+SWYgYXJyYXkgYW5kIG1hcCBmaWVsZHMgYXJlIG5vdCBhbGxv d2VkIHRvIGJlIG51bGxhYmxlIHRoZW4gdHdvIGxpbmVzCj5hYm92ZSB0aGUgZmlsZWQgd2FzIGlu IGluY29uc2lzdGVudCBzdGF0ZSAtIHdpdGggYXJyYXkvbWFwIHR5cGUgYW5kCj5udWxsYWJsZS4K PlRoYXQncyBiYWQuIFdlIHNob3VsZCBzZXQgdHlwZSBhbmQgbnVsbGFibGVfYWN0aW9uIGF0IGxl YXN0IGluIGFkamFjZW50Cj5saW5lcy4KNC4gVHVwbGUgZm9ybWF0IGlzIG1vc3RseSBjcmVhdGVk IGluwqB0dXBsZV9mb3JtYXRfbmV3IHdoaWNoIGluIHR1cm4KdXNlcyB0dXBsZV9mb3JtYXRfYWxs b2MgYW5kIHR1cGxlX2Zvcm1hdF9jcmVhdGUuIERlcGVuZGluZyBvbiB0aGUgZmllbGQKZmVhdHVy ZXMgaXQncyB0eXBlIG1pZ2h0IGJlIHNwZWNpZmllZCBpbiBkaWZmZXJlbnQgcGxhY2VzLCBmb3Ig ZXhhbXBsZSwKZGVlcCBpbiB0dXBsZV9mb3JtYXRfYWRkX2ZpZWxkLiBUaGlzIG1lYW5zIHRoYXQg aWYgd2Ugd2FudCB0byBzZXQKbnVsbGFiaWxpdHkgcmlnaHQgYWZ0ZXIgd2Ugc2V0IHRoZSB0eXBl IHdlIHdpbGwgaGF2ZSB0byBwdXQgdGhpcyBsb2dpYwppbnRvIGFuIGFtb3VudCBvZiBwbGFjZXMs IHdoaWNoIGRvZXNuJ3Qgc2VlbSB0byBiZSBuaWNlLiBUaGF0J3Mgd2h5IEkKY2hvc2UgdG8gcHV0 IHRoaXMgbG9naWMganVzdCBiZWZvcmUgc2V0dGluZyByZXF1aXJlZF9maWVsZHMuIEkgdGhpbmsg aXQKbWlnaHQgc3RpbGwgYmUgY29uc2lzdGVudCBhcyBmYXIgYXMgd2UgYXJlIHN0aWxsIGluc2lk ZSBvZiBmb3JtYXQKY3JlYXRpb24gcHJvY2VzcyBhbmQgd2UgZGVwZW5kIG9uIHByZXZpb3VzbHkg Y29sbGVjdGVkIHR5cGUgaW5mby7CoAo+PiAvKgo+PiAqIE1hcmsgYWxsIGxlYWYgbm9uLW51bGxh YmxlIGZpZWxkcyBhcyByZXF1aXJlZAo+PiAqIGJ5IHNldHRpbmcgdGhlIGNvcnJlc3BvbmRpbmcg Yml0IGluIHRoZSBiaXRtYXAKPj4gZGlmZiAtLWdpdCBhL3Rlc3QvZW5naW5lL2luc2VydC5yZXN1 bHQgYi90ZXN0L2VuZ2luZS9pbnNlcnQucmVzdWx0Cj4+IGluZGV4IDEzZmZlOGNlYjEuLjM3YTRl OGNjNjggMTAwNjQ0Cj4+IC0tLSBhL3Rlc3QvZW5naW5lL2luc2VydC5yZXN1bHQKPj4gKysrIGIv dGVzdC9lbmdpbmUvaW5zZXJ0LnJlc3VsdAo+PiBAQCAtOTg4LDMgKzk4OCwzNiBAQCBzOnNlbGVj dCgpCj4+IHM6ZHJvcCgpCj4+IC0tLQo+PiAuLi4KPj4gKy0tIGdoLTUwMjc6IERvIG5vdCByZXF1 aXJlIGV4dHJhIGZpZWxkcwo+PiArcyA9IGJveC5zY2hlbWEuc3BhY2UuY3JlYXRlKCd0ZXN0JykK Pj4gKy0tLQo+PiArLi4uCj4+ICtpMSA9IHM6Y3JlYXRlX2luZGV4KCdpMScsIHtwYXJ0cz17ezEs ICd1bnNpZ25lZCd9fX0pCj4+ICstLS0KPj4gKy4uLgo+PiAraTIgPSBzOmNyZWF0ZV9pbmRleCgn aTInLCB7cGFydHM9e3s1LCAndW5zaWduZWQnLCBpc19udWxsYWJsZT10cnVlfX19KQo+PiArLS0t Cj4+ICsuLi4KPj4gK3M6aW5zZXJ0ezEsIDIsIDN9Cj4+ICstLS0KPj4gKy0gWzEsIDIsIDNdCj4+ ICsuLi4KPj4gK3M6ZHJvcCgpCj4+ICstLS0KPj4gKy4uLgo+PiArcyA9IGJveC5zY2hlbWEuc3Bh Y2UuY3JlYXRlKCd0ZXN0JykKPj4gKy0tLQo+PiArLi4uCj4+ICtpMSA9IHM6Y3JlYXRlX2luZGV4 KCdpMScsIHtwYXJ0cz17ezEsICd1bnNpZ25lZCd9fX0pCj4+ICstLS0KPj4gKy4uLgo+PiAraTIg PSBzOmNyZWF0ZV9pbmRleCgnaTInLCB7cGFydHM9e3s1LCAndW5zaWduZWQnLCBpc19udWxsYWJs ZT1mYWxzZX19fSkKPj4gKy0tLQo+PiArLi4uCj4+ICtzOmluc2VydHsxLCAyLCAzfQo+PiArLS0t Cj4+ICstIGVycm9yOiBUdXBsZSBmaWVsZCA1IHJlcXVpcmVkIGJ5IHNwYWNlIGZvcm1hdCBpcyBt aXNzaW5nCj4+ICsuLi4KPj4gK3M6ZHJvcCgpCj4+ICstLS0KPj4gKy4uLgo+PiBkaWZmIC0tZ2l0 IGEvdGVzdC9lbmdpbmUvaW5zZXJ0LnRlc3QubHVhIGIvdGVzdC9lbmdpbmUvaW5zZXJ0LnRlc3Qu bHVhCj4+IGluZGV4IDJmZmM4Y2QwYTAuLjExMmNhNjJjNTMgMTAwNjQ0Cj4+IC0tLSBhL3Rlc3Qv ZW5naW5lL2luc2VydC50ZXN0Lmx1YQo+PiArKysgYi90ZXN0L2VuZ2luZS9pbnNlcnQudGVzdC5s dWEKPj4gQEAgLTIxMCwzICsyMTAsMTUgQEAgZGRkOmRlbGV0ZShmZmkuY2FzdCgnZG91YmxlJywg MTIzKSkKPj4gczpzZWxlY3QoKQo+Pgo+PiBzOmRyb3AoKQo+PiArCj4+ICstLSBnaC01MDI3OiBE byBub3QgcmVxdWlyZSBleHRyYSBmaWVsZHMKPj4gK3MgPSBib3guc2NoZW1hLnNwYWNlLmNyZWF0 ZSgndGVzdCcpCj4+ICtpMSA9IHM6Y3JlYXRlX2luZGV4KCdpMScsIHtwYXJ0cz17ezEsICd1bnNp Z25lZCd9fX0pCj4+ICtpMiA9IHM6Y3JlYXRlX2luZGV4KCdpMicsIHtwYXJ0cz17ezUsICd1bnNp Z25lZCcsIGlzX251bGxhYmxlPXRydWV9fX0pCj4+ICtzOmluc2VydHsxLCAyLCAzfQo+PiArczpk cm9wKCkKPj4gK3MgPSBib3guc2NoZW1hLnNwYWNlLmNyZWF0ZSgndGVzdCcpCj4+ICtpMSA9IHM6 Y3JlYXRlX2luZGV4KCdpMScsIHtwYXJ0cz17ezEsICd1bnNpZ25lZCd9fX0pCj4+ICtpMiA9IHM6 Y3JlYXRlX2luZGV4KCdpMicsIHtwYXJ0cz17ezUsICd1bnNpZ25lZCcsIGlzX251bGxhYmxlPWZh bHNlfX19KQo+PiArczppbnNlcnR7MSwgMiwgM30KPj4gK3M6ZHJvcCgpCj4+IFwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZSAKwqAKwqAKLS0KSWx5YSBLb3NhcmV2CsKg ----ALT--4283eCbaBf66b7AEfE6882F649e411561593452537 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+PGRpdj5IaSE8YnI+PGJyPlRoYW5rcyBmb3IgdGhlIHJldmlldy48 L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+NCBhbnN3ZXJzIGJlbG93Ljxicj4mbmJzcDs8L2Rp dj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdp bjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij7QktGC0L7RgNC90LjQuiwgMjMg0LjRjtC90Y8g MjAyMCwgMTM6NTYgKzAzOjAwINC+0YIgQWxla3NhbmRyIEx5YXB1bm92ICZsdDthbHlhcHVub3ZA dGFyYW50b29sLm9yZyZndDs6PGJyPiZuYnNwOzxkaXYgaWQ9IiI+PGRpdiBjbGFzcz0ianMtaGVs cGVyIGpzLXJlYWRtc2ctbXNnIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PGRpdj48 ZGl2IGlkPSJzdHlsZV8xNTkyOTA5ODEwMDA0MTI5MTg2NF9CT0RZIj5IZWxsbywgdGhhbmtzIGZv ciB0aGUgcGF0Y2ghPGJyPkkgZG9uJ3QgbGlrZSBpdCBuZXZlcnRoZWxlc3MuPGJyPkJ0dyBJIGRv bid0IGxpa2UgVmxhZGltaXIncyBwYXRjaCBhYm91dCByZXF1aXJlZCBtYXAvYXJyYXkgZWl0aGVy Ljxicj5JdCBzZWVtcyB0aGF0IHRoZXJlIGFyZSB0byBtYW55IHdheXMgdG8gZGVjbGFyZSBmaWVs ZCBhcyBudWxsYWJsZSw8YnI+YXQgbGVhc3QgYnkgc2V0dGluZyBudWxsYWJsZV9hY3Rpb24gYW5k IHJlbW92aW5nIGNvcnJlc3BvbmRpbmcgYml0PGJyPmZyb20gcmVxdWlyZWRfZmlsZWRzIG1hc2su PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+MS4mbmJzcDtB bHRob3VnaCB0aGVyZSBpcyBtb3JlIHRoYW4gb25lJm5ic3A7d2F5LCBpIHRoaW5rIHRoYXQgc2V0 dGluZzxicj5udWxsYWJsZV9hY3Rpb24gaW4mbmJzcDs8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6 JnF1b3Q7QW5kYWxlIE1vbm8mcXVvdDssJnF1b3Q7THVjaWRhIENvbnNvbGUmcXVvdDssTW9uYWNv LG1vbm9zcGFjZTtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4OyI+dHVwbGVfZmllbGRf bmV3PC9zcGFuPiBpcyB0aGUmbmJzcDtkZWZhdWx0IHdheSB0byBkbyB0aGlzLjxicj48c3BhbiBz dHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7QW5kYWxlIE1vbm8mcXVvdDssJnF1b3Q7THVjaWRhIENv bnNvbGUmcXVvdDssTW9uYWNvLG1vbm9zcGFjZTtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoy MHB4OyI+cmVxdWlyZWRfZmllbGRzPC9zcGFuPiBkZXBlbmQgb24gaXQ6PC9kaXY+PGRpdj48c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7QW5kYWxlIE1vbm8mcXVvdDssJnF1b3Q7THVjaWRh IENvbnNvbGUmcXVvdDssTW9uYWNvLG1vbm9zcGFjZTtmb250LXNpemU6MTRweDtsaW5lLWhlaWdo dDoyMHB4OyI+Jm5ic3A7ICZuYnNwOyBpZiAoanNvbl90b2tlbl9pc19sZWFmKCZhbXA7ZmllbGQt Jmd0O3Rva2VuKSAmYW1wOyZhbXA7PGJyPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAhdHVw bGVfZmllbGRfaXNfbnVsbGFibGUoZmllbGQpKTxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBiaXRf c2V0KHJlcXVpcmVkX2ZpZWxkcywgZmllbGQtJmd0O2lkKTs8L3NwYW4+PC9kaXY+PGRpdj48Ymxv Y2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4 OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFk bXNnLW1zZyI+PGRpdj48ZGl2PlRoZXJlIG11c3Qgb25lIG1vcmUgd2F5IHNpbmNlIHRhcmFudG9v bCBmcm9tIG1hc3RlciBhbGxvd3M8YnI+dG8gaW5zZXJ0IHR1cGxlcyBsaWtlIHRoYXQ6PGJyPnM6 Y3JlYXRlX2luZGV4KCdwaycsIHtwYXJ0cz17ezEsIHVpbnR9fX0pPGJyPnM6Y3JlYXRlX2luZGV4 KCd0ZXN0Jywge3BhcnRzPXt7NCwgdWludH19fSk8YnI+czpyZXBsYWNlezEsIGJveC5OVUxMLCBu aWwsIDF9PGJyPjxicj5UaGF0IG1lYW5zIHRoYXQgdGhlIGNhc2UgYWJvdmUgMm5kIGFuZCAzcmQg ZmllbGRzIGFyZSBudWxsYWJsZTxicj5ieSBkZWZhdWx0LjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2 PjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2PjIuJm5ic3A7VGhlc2UgZmllbGRzIGFyZSBub3QgcmVh bGx5IG51bGxhYmxlLiBUaGUgcmVhc29uIGl0IGlzIHBvc3NpYmxlIGlzIHRoZTxicj53YXkgb2Yg Zm9ybWF0IHZlcmlmaWNhdGlvbi4gSGVyZSBhcmUgc29tZSBtb3JlIGV4YW1wbGVzOjwvZGl2Pjxk aXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FuZGFsZSBNb25vJnF1b3Q7LCZxdW90 O0x1Y2lkYSBDb25zb2xlJnF1b3Q7LE1vbmFjbyxtb25vc3BhY2U7Zm9udC1zaXplOjE0cHg7bGlu ZS1oZWlnaHQ6MjBweDsiPmkxID0gczpjcmVhdGVfaW5kZXgoJ2kxJywge3BhcnRzPXt7MSwgJ3Vu c2lnbmVkJ319fSk8YnI+aTIgPSBzOmNyZWF0ZV9pbmRleCgnaTInLCB7cGFydHM9e3s1LCAndW5z aWduZWQnLCBpc19udWxsYWJsZT10cnVlfX19KTxicj5zOmluc2VydHsxLCBuaWwsIG5pbCwgbmls LCA1fSAtLSBvazxicj5zOmluc2VydHsxLCBuaWwsIG5pbCwgbmlsfSAtLSBlcnJvcjwvc3Bhbj48 L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+RXZlbiBpbiBjYXNlIHdlIGV4cGxpY2l0bHkgc3Bl Y2lmeSB0aGUgZmllbGQgYXMgbm9uLW51bGxhYmxlIHdpdGhvdXQgYW55PGJyPm90aGVyIGRldGFp bHMmbmJzcDtpdCBzdGlsbCBnb2VzIGZpbmUgKHdoaWNoIHNlZW1zIHRvIGJlIGV2ZW4gbW9yZSBp bmNvcnJlY3QpOjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FuZGFs ZSBNb25vJnF1b3Q7LCZxdW90O0x1Y2lkYSBDb25zb2xlJnF1b3Q7LE1vbmFjbyxtb25vc3BhY2U7 Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDsiPnM6Zm9ybWF0KHt7bmFtZT0nZmllbGQx JywgaXNfbnVsbGFibGU9ZmFsc2V9fSk8YnI+aTEgPSBzOmNyZWF0ZV9pbmRleCgnaTEnLCB7cGFy dHM9e3syLCAndW5zaWduZWQnfX19KTxicj5pMiA9IHM6Y3JlYXRlX2luZGV4KCdpMicsIHtwYXJ0 cz17ezUsICd1bnNpZ25lZCcsIGlzX251bGxhYmxlPXRydWV9fX0pPGJyPnM6aW5zZXJ0e25pbCwg MiwgbmlsLCBuaWwsIDV9IC0tIG9rPC9zcGFuPjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj48 c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWw7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6 MjBweDsiPlRoaXMgd2F5LCB3aXRoIHR5cGUgc3BlY2lmaWVkLCZuYnNwO2l0IGZpbmFsbHkgZ2l2 ZXMgdXMgYW4gZXJyb3I6PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O0FuZGFsZSBNb25vJnF1b3Q7LCZxdW90O0x1Y2lkYSBDb25zb2xlJnF1b3Q7LE1vbmFj byxtb25vc3BhY2U7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDsiPnM6Zm9ybWF0KHt7 bmFtZT0nZmllbGQxJywgJ3Vuc2lnbmVkJywgaXNfbnVsbGFibGU9ZmFsc2V9fSk8YnI+aTEgPSBz OmNyZWF0ZV9pbmRleCgnaTEnLCB7cGFydHM9e3syLCAndW5zaWduZWQnfX19KTxicj5pMiA9IHM6 Y3JlYXRlX2luZGV4KCdpMicsIHtwYXJ0cz17ezUsICd1bnNpZ25lZCcsIGlzX251bGxhYmxlPXRy dWV9fX0pPGJyPnM6aW5zZXJ0e25pbCwgMiwgbmlsLCBuaWwsIDV9IC0tIGVycm9yPC9zcGFuPjwv ZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWw7 Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MjBweDsiPkl0IGFsc28gd29ya3MgZmluZSAoZ2l2 aW5nIGFuIGVycm9yKSZuYnNwO3dpdGggaW5kZXggcGFydHM6PC9zcGFuPjwvZGl2PjxkaXY+PHNw YW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FuZGFsZSBNb25vJnF1b3Q7LCZxdW90O0x1Y2lk YSBDb25zb2xlJnF1b3Q7LE1vbmFjbyxtb25vc3BhY2U7Zm9udC1zaXplOjE0cHg7bGluZS1oZWln aHQ6MjBweDsiPmkxID0gczpjcmVhdGVfaW5kZXgoJ2kxJywge3BhcnRzPXt7MSwgJ3Vuc2lnbmVk J319fSk8YnI+aTIgPSBzOmNyZWF0ZV9pbmRleCgnaTInLCB7cGFydHM9e3s1LCAndW5zaWduZWQn LCBpc19udWxsYWJsZT10cnVlfX19KTxicj5pMyA9IHM6Y3JlYXRlX2luZGV4KCdpMycsIHtwYXJ0 cz17ezMsIGlzX251bGxhYmxlPWZhbHNlfX19KTxicj5zOmluc2VydHsxLCBuaWwsIG5pbCwgbmls LCA1fSAtLSBlcnJvcjwvc3Bhbj48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+PHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OkFyaWFsO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjIwcHg7Ij5J IHRoaW5rIHRoYXQgcmVxdWlyZWQgZmllbGRzIHZlcmlmaWNhdGlvbiBvbiBpbnNlcnQgbmVlZHMg dG8gYmUgZml4ZWQuPGJyPkJ1dCBpdCBzZWVtcyB0byBiZSB0aGUgaXNzdWUgZm9yIGFub3RoZXIg cGF0Y2guPC9zcGFuPjwvZGl2PjxkaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFw eCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48 ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj5JdCBhbGwgbG9v a3MgbGlrZSBhIG1lc3MsIEkgZmVhciB0aGF0IHlvdSBoYXZlIHRvIGRpZyBtb3JlIGFuZCBjcmVh dGU8YnI+dGhlIG9uZSBhbmQgb25seSB3YXkgdG8gc2V0IGZpZWxkcyBhcyByZXF1aXJlZCBvciBu b3QuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+My4mbmJz cDtJIHRyaWVkIHRvIHRoaW5rIG9mIGEgbmljZXIgd2F5IHRvIGNyZWF0ZSB0dXBsZSBmb3JtYXQs IGJ1dCBpdCBzZWVtcyB0bzwvZGl2PjxkaXY+YmUmbmJzcDt1bnNpbXBsaWZpYWJsZS48L2Rpdj48 ZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFy Z2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxkaXY+PGRpdiBjbGFzcz0ianMtaGVscGVy IGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXY+UGxlYXNlIHNlZSBteSBjb21tZW50IGJlbG93Ljxi cj48YnI+T24gNi8xOC8yMCA4OjU3IFBNLCBJbHlhIEtvc2FyZXYgd3JvdGU6PGJyPiZndDsgU2lu Y2UgZTFkM2ZlOGFiOGVlZDY1Mzk0YWQxNzQwOTQwMWE5M2I2ZmNkYzQzNSAodHVwbGUgZm9ybWF0 OiBkb24ndDxicj4mZ3Q7IGFsbG93IG51bGwgd2hlcmUgYXJyYXkvbWFwIGlzIGV4cGVjdGVkKSB0 dXBsZSBmaWVsZHMgYXJlIG51bGxhYmxlIGJ5PGJyPiZndDsgZGVmYXVsdC4gSXQgc2VlbXMgc3Ry YW5nZSBhdCBsZWFzdCBpbiBjYXNlIHdlIGhhdmUgaW1wbGljaXQgZmllbGRzIGluPGJyPiZndDsg ZnJvbnQgb2YgZXhwbGljaXQgbnVsbGFibGUgZmllbGQuIE5vdyBmaWVsZHMgYXJlIG51bGxhYmxl IGJ5IGRlZmF1bHQ8YnI+Jmd0OyBleGNlcHQgYXJyYXlzICZhbXA7IG1hcHMgZHVlIHRvIHJlYXNv bnMgc3BlY2lmaWVkIGluIG1lbnRpb25lZCBjb21taXQuPGJyPiZndDs8YnI+Jmd0OyBDbG9zZXMg IzUwMjc8YnI+Jmd0OyAtLS08YnI+Jmd0OyBCcmFuY2g6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi LmNvbS90YXJhbnRvb2wvdGFyYW50b29sL3RyZWUvaS5rb3NhcmV2L2doLTUwMjctZml4LXR1cGxl LWZpZWxkcy1udWxsYWJpbGl0eSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS90 YXJhbnRvb2wvdGFyYW50b29sL3RyZWUvaS5rb3NhcmV2L2doLTUwMjctZml4LXR1cGxlLWZpZWxk cy1udWxsYWJpbGl0eTwvYT48YnI+Jmd0OyBJc3N1ZTogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIu Y29tL3RhcmFudG9vbC90YXJhbnRvb2wvaXNzdWVzLzUwMjciIHRhcmdldD0iX2JsYW5rIj5odHRw czovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC9pc3N1ZXMvNTAyNzwvYT48YnI+Jmd0 Ozxicj4mZ3Q7IEBDaGFuZ2VMb2c6PGJyPiZndDsgKiBGaXggY29uZnVzaW5nIGltcGxpY2l0IHJl cXVpcmVtZW50cyBmb3IgdHVwbGUgZmllbGRzLjxicj4mZ3Q7PGJyPiZndDsgc3JjL2JveC90dXBs ZV9mb3JtYXQuYyB8IDYgKysrKystPGJyPiZndDsgdGVzdC9lbmdpbmUvaW5zZXJ0LnJlc3VsdCB8 IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKzxicj4mZ3Q7IHRlc3QvZW5naW5l L2luc2VydC50ZXN0Lmx1YSB8IDEyICsrKysrKysrKysrKzxicj4mZ3Q7IDMgZmlsZXMgY2hhbmdl ZCwgNTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKTxicj4mZ3Q7PGJyPiZndDsgZGlmZiAt LWdpdCBhL3NyYy9ib3gvdHVwbGVfZm9ybWF0LmMgYi9zcmMvYm94L3R1cGxlX2Zvcm1hdC5jPGJy PiZndDsgaW5kZXggNjhlYzJhNzQ5OS4uNGI4ZjMyMTQ5ZSAxMDA2NDQ8YnI+Jmd0OyAtLS0gYS9z cmMvYm94L3R1cGxlX2Zvcm1hdC5jPGJyPiZndDsgKysrIGIvc3JjL2JveC90dXBsZV9mb3JtYXQu Yzxicj4mZ3Q7IEBAIC0xNTIsNyArMTUyLDcgQEAgdHVwbGVfZmllbGRfbmV3KHZvaWQpPGJyPiZn dDsgZmllbGQtJmd0O3R5cGUgPSBGSUVMRF9UWVBFX0FOWTs8YnI+Jmd0OyBmaWVsZC0mZ3Q7b2Zm c2V0X3Nsb3QgPSBUVVBMRV9PRkZTRVRfU0xPVF9OSUw7PGJyPiZndDsgZmllbGQtJmd0O2NvbGxf aWQgPSBDT0xMX05PTkU7PGJyPiZndDsgLSBmaWVsZC0mZ3Q7bnVsbGFibGVfYWN0aW9uID0gT05f Q09ORkxJQ1RfQUNUSU9OX0RFRkFVTFQ7PGJyPiZndDsgKyBmaWVsZC0mZ3Q7bnVsbGFibGVfYWN0 aW9uID0gT05fQ09ORkxJQ1RfQUNUSU9OX05PTkU7PGJyPiZndDsgZmllbGQtJmd0O211bHRpa2V5 X3JlcXVpcmVkX2ZpZWxkcyA9IE5VTEw7PGJyPiZndDsgcmV0dXJuIGZpZWxkOzxicj4mZ3Q7IH08 YnI+Jmd0OyBAQCAtNTI4LDYgKzUyOCwxMCBAQCB0dXBsZV9mb3JtYXRfY3JlYXRlKHN0cnVjdCB0 dXBsZV9mb3JtYXQgKmZvcm1hdCwgc3RydWN0IGtleV9kZWYgKiBjb25zdCAqa2V5cyw8YnI+Jmd0 OyBtdWx0aWtleV9yZXF1aXJlZF9maWVsZHM7PGJyPiZndDsgcmVxdWlyZWRfZmllbGRzID0gbXVs dGlrZXlfcmVxdWlyZWRfZmllbGRzOzxicj4mZ3Q7IH08YnI+Jmd0OyArIGlmICgoZmllbGQtJmd0 O3R5cGUgPT0gRklFTERfVFlQRV9BUlJBWSB8fDxicj4mZ3Q7ICsgZmllbGQtJmd0O3R5cGUgPT0g RklFTERfVFlQRV9NQVApICZhbXA7JmFtcDs8YnI+Jmd0OyArIHR1cGxlX2ZpZWxkX2lzX251bGxh YmxlKGZpZWxkKSk8YnI+Jmd0OyArIGZpZWxkLSZndDtudWxsYWJsZV9hY3Rpb24gPSBPTl9DT05G TElDVF9BQ1RJT05fREVGQVVMVDs8YnI+VGhhdCBkb2Vzbid0IGxvb2sgbGlrZSBhIHByb3BlciBw bGFjZSB0byBlZGl0IGZpZWxkLjxicj5JZiBhcnJheSBhbmQgbWFwIGZpZWxkcyBhcmUgbm90IGFs bG93ZWQgdG8gYmUgbnVsbGFibGUgdGhlbiB0d28gbGluZXM8YnI+YWJvdmUgdGhlIGZpbGVkIHdh cyBpbiBpbmNvbnNpc3RlbnQgc3RhdGUgLSB3aXRoIGFycmF5L21hcCB0eXBlIGFuZDxicj5udWxs YWJsZS48YnI+VGhhdCdzIGJhZC4gV2Ugc2hvdWxkIHNldCB0eXBlIGFuZCBudWxsYWJsZV9hY3Rp b24gYXQgbGVhc3QgaW4gYWRqYWNlbnQ8YnI+bGluZXMuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+ PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+NC4gVHVwbGUgZm9ybWF0IGlzIG1vc3RseSBjcmVhdGVk IGluJm5ic3A7dHVwbGVfZm9ybWF0X25ldyB3aGljaCBpbiB0dXJuPGJyPnVzZXMgdHVwbGVfZm9y bWF0X2FsbG9jIGFuZCB0dXBsZV9mb3JtYXRfY3JlYXRlLiBEZXBlbmRpbmcgb24gdGhlIGZpZWxk PGJyPmZlYXR1cmVzIGl0J3MgdHlwZSBtaWdodCBiZSBzcGVjaWZpZWQgaW4gZGlmZmVyZW50IHBs YWNlcywgZm9yIGV4YW1wbGUsPGJyPmRlZXAgaW4gdHVwbGVfZm9ybWF0X2FkZF9maWVsZC4gVGhp cyBtZWFucyB0aGF0IGlmIHdlIHdhbnQgdG8gc2V0PGJyPm51bGxhYmlsaXR5IHJpZ2h0IGFmdGVy IHdlIHNldCB0aGUgdHlwZSB3ZSB3aWxsIGhhdmUgdG8gcHV0IHRoaXMgbG9naWM8YnI+aW50byBh biBhbW91bnQgb2YgcGxhY2VzLCB3aGljaCBkb2Vzbid0IHNlZW0gdG8gYmUgbmljZS4gVGhhdCdz IHdoeSBJPGJyPmNob3NlIHRvIHB1dCB0aGlzIGxvZ2ljIGp1c3QgYmVmb3JlIHNldHRpbmcgcmVx dWlyZWRfZmllbGRzLiBJIHRoaW5rIGl0PGJyPm1pZ2h0IHN0aWxsIGJlIGNvbnNpc3RlbnQgYXMg ZmFyIGFzIHdlIGFyZSBzdGlsbCBpbnNpZGUgb2YgZm9ybWF0PGJyPmNyZWF0aW9uIHByb2Nlc3Mg YW5kIHdlIGRlcGVuZCBvbiBwcmV2aW91c2x5IGNvbGxlY3RlZCB0eXBlIGluZm8uJm5ic3A7PC9k aXY+PGRpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7 IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9ImpzLWhl bHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2PiZndDsgLyo8YnI+Jmd0OyAqIE1hcmsgYWxs IGxlYWYgbm9uLW51bGxhYmxlIGZpZWxkcyBhcyByZXF1aXJlZDxicj4mZ3Q7ICogYnkgc2V0dGlu ZyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIGJpdG1hcDxicj4mZ3Q7IGRpZmYgLS1naXQg YS90ZXN0L2VuZ2luZS9pbnNlcnQucmVzdWx0IGIvdGVzdC9lbmdpbmUvaW5zZXJ0LnJlc3VsdDxi cj4mZ3Q7IGluZGV4IDEzZmZlOGNlYjEuLjM3YTRlOGNjNjggMTAwNjQ0PGJyPiZndDsgLS0tIGEv dGVzdC9lbmdpbmUvaW5zZXJ0LnJlc3VsdDxicj4mZ3Q7ICsrKyBiL3Rlc3QvZW5naW5lL2luc2Vy dC5yZXN1bHQ8YnI+Jmd0OyBAQCAtOTg4LDMgKzk4OCwzNiBAQCBzOnNlbGVjdCgpPGJyPiZndDsg czpkcm9wKCk8YnI+Jmd0OyAtLS08YnI+Jmd0OyAuLi48YnI+Jmd0OyArLS0gZ2gtNTAyNzogRG8g bm90IHJlcXVpcmUgZXh0cmEgZmllbGRzPGJyPiZndDsgK3MgPSBib3guc2NoZW1hLnNwYWNlLmNy ZWF0ZSgndGVzdCcpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48YnI+Jmd0OyAraTEgPSBzOmNy ZWF0ZV9pbmRleCgnaTEnLCB7cGFydHM9e3sxLCAndW5zaWduZWQnfX19KTxicj4mZ3Q7ICstLS08 YnI+Jmd0OyArLi4uPGJyPiZndDsgK2kyID0gczpjcmVhdGVfaW5kZXgoJ2kyJywge3BhcnRzPXt7 NSwgJ3Vuc2lnbmVkJywgaXNfbnVsbGFibGU9dHJ1ZX19fSk8YnI+Jmd0OyArLS0tPGJyPiZndDsg Ky4uLjxicj4mZ3Q7ICtzOmluc2VydHsxLCAyLCAzfTxicj4mZ3Q7ICstLS08YnI+Jmd0OyArLSBb MSwgMiwgM108YnI+Jmd0OyArLi4uPGJyPiZndDsgK3M6ZHJvcCgpPGJyPiZndDsgKy0tLTxicj4m Z3Q7ICsuLi48YnI+Jmd0OyArcyA9IGJveC5zY2hlbWEuc3BhY2UuY3JlYXRlKCd0ZXN0Jyk8YnI+ Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7ICtpMSA9IHM6Y3JlYXRlX2luZGV4KCdpMScs IHtwYXJ0cz17ezEsICd1bnNpZ25lZCd9fX0pPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48YnI+ Jmd0OyAraTIgPSBzOmNyZWF0ZV9pbmRleCgnaTInLCB7cGFydHM9e3s1LCAndW5zaWduZWQnLCBp c19udWxsYWJsZT1mYWxzZX19fSk8YnI+Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7ICtz Omluc2VydHsxLCAyLCAzfTxicj4mZ3Q7ICstLS08YnI+Jmd0OyArLSBlcnJvcjogVHVwbGUgZmll bGQgNSByZXF1aXJlZCBieSBzcGFjZSBmb3JtYXQgaXMgbWlzc2luZzxicj4mZ3Q7ICsuLi48YnI+ Jmd0OyArczpkcm9wKCk8YnI+Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7IGRpZmYgLS1n aXQgYS90ZXN0L2VuZ2luZS9pbnNlcnQudGVzdC5sdWEgYi90ZXN0L2VuZ2luZS9pbnNlcnQudGVz dC5sdWE8YnI+Jmd0OyBpbmRleCAyZmZjOGNkMGEwLi4xMTJjYTYyYzUzIDEwMDY0NDxicj4mZ3Q7 IC0tLSBhL3Rlc3QvZW5naW5lL2luc2VydC50ZXN0Lmx1YTxicj4mZ3Q7ICsrKyBiL3Rlc3QvZW5n aW5lL2luc2VydC50ZXN0Lmx1YTxicj4mZ3Q7IEBAIC0yMTAsMyArMjEwLDE1IEBAIGRkZDpkZWxl dGUoZmZpLmNhc3QoJ2RvdWJsZScsIDEyMykpPGJyPiZndDsgczpzZWxlY3QoKTxicj4mZ3Q7PGJy PiZndDsgczpkcm9wKCk8YnI+Jmd0OyArPGJyPiZndDsgKy0tIGdoLTUwMjc6IERvIG5vdCByZXF1 aXJlIGV4dHJhIGZpZWxkczxicj4mZ3Q7ICtzID0gYm94LnNjaGVtYS5zcGFjZS5jcmVhdGUoJ3Rl c3QnKTxicj4mZ3Q7ICtpMSA9IHM6Y3JlYXRlX2luZGV4KCdpMScsIHtwYXJ0cz17ezEsICd1bnNp Z25lZCd9fX0pPGJyPiZndDsgK2kyID0gczpjcmVhdGVfaW5kZXgoJ2kyJywge3BhcnRzPXt7NSwg J3Vuc2lnbmVkJywgaXNfbnVsbGFibGU9dHJ1ZX19fSk8YnI+Jmd0OyArczppbnNlcnR7MSwgMiwg M308YnI+Jmd0OyArczpkcm9wKCk8YnI+Jmd0OyArcyA9IGJveC5zY2hlbWEuc3BhY2UuY3JlYXRl KCd0ZXN0Jyk8YnI+Jmd0OyAraTEgPSBzOmNyZWF0ZV9pbmRleCgnaTEnLCB7cGFydHM9e3sxLCAn dW5zaWduZWQnfX19KTxicj4mZ3Q7ICtpMiA9IHM6Y3JlYXRlX2luZGV4KCdpMicsIHtwYXJ0cz17 ezUsICd1bnNpZ25lZCcsIGlzX251bGxhYmxlPWZhbHNlfX19KTxicj4mZ3Q7ICtzOmluc2VydHsx LCAyLCAzfTxicj4mZ3Q7ICtzOmRyb3AoKTxicj4mZ3Q7IFwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZTwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT4mbmJzcDs8ZGl2PiZuYnNw OzwvZGl2PjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250YWluZXIiPjxkaXYgZGF0YS1z aWduYXR1cmUtd2lkZ2V0PSJjb250ZW50Ij48ZGl2Pi0tPGJyPklseWEgS29zYXJldjwvZGl2Pjwv ZGl2PjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PC9kaXY+PC9CT0RZPjwvSFRNTD4K ----ALT--4283eCbaBf66b7AEfE6882F649e411561593452537--