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 ED5E271218; Wed, 27 Oct 2021 10:52:59 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org ED5E271218 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1635321180; bh=pg4MWqSiq2dflGS2PTAp0CI+2erwnkMgk9pQJ06aFnM=; 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=APUsu9ab73N+U8Hq2//99lyeKfNMAGmE68rzS3m/DVWeh1P+ylLJVe7VCo907WsqA lGL9jJ5pjx9xg/aBbRXHOuOlGM9aOsdf6XT/bPKtqsIR4+VTp+ObpP4ZRByDsszEa5 oX5Iy9RtsXcSp5fXBxTcvAU/kxVk65ZZ79j/2VJ0= Received: from f166.i.mail.ru (f166.i.mail.ru [128.140.171.71]) (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 EF5DB71218 for ; Wed, 27 Oct 2021 10:52:58 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org EF5DB71218 Received: by f166.i.mail.ru with local (envelope-from ) id 1mfdk0-0000bv-Bd; Wed, 27 Oct 2021 10:52:56 +0300 Received: by e.mail.ru with HTTP; Wed, 27 Oct 2021 10:52:56 +0300 To: =?UTF-8?B?U2VyZ2UgUGV0cmVua28=?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16353192520527531861 X-SenderField-Remind: 0 Date: Wed, 27 Oct 2021 10:52:56 +0300 X-Priority: 3 (Normal) Message-ID: <1635321176.960768974@f166.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--cF92cA14Fb7639156A11983D844084451635321176" In-Reply-To: <46ad5eaec4e0f29b3770c2bc53f1f21a45bc0c22.1635318768.git.sergepetrenko@tarantool.org> References: <46ad5eaec4e0f29b3770c2bc53f1f21a45bc0c22.1635318768.git.sergepetrenko@tarantool.org> X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251C075A508E40C291306B60B7872F411548A9DEC181E9DCB2038FD872164937FA4C09B9AD797F2929874465A537B9AC1D8C1F44AAFF2C2B81058A521973878864A4 X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE7BAF98542F10635B9D82A6BABE6F325AC08BE7437D75B48FABCF491FFA38154B613377AFFFEAFD2691661749BA6B9773536C75B72B9FDC350B287FD4696A6DC2FA8DF7F3B2552694A4E2F5AFA99E116B42401471946AA11AF1661749BA6B9773596563325B6E011C88F08D7030A58E5AD1A62830130A00468AEEEE3FBA3A834EE7353EFBB553375662749EEF4D85F8CCA7CEF13F6A5134DD24B30214AAAA748DDA471835C12D1D9774AD6D5ED66289B5259CC434672EE6371117882F4460429724CE54428C33FAD30A8DF7F3B2552694AC26CFBAC0749D213D2E47CDBA5A9658378DA827A17800CE77A825AB47F0FC8649FA2833FD35BB23DF004C906525384302BEBFE083D3B9BA71A620F70A64A45A98AA50765F79006372E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89F08401973E8A7E3E9262FEC7FBD7D1F5BB5C8C57E37DE458BEDA766A37F9254B7 X-C1DE0DAB: 0D63561A33F958A5BBD1FDBA9C4C3A1C31F94BAB6956FD1B7301273AE817FD18BDC6A1CF3F042BAD6DF99611D93F60EFE37876E7723AB534DC48ACC2A39D04F89CDFB48F4795C241BDAD6C7F3747799A X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D346B222596F62B8FA963706CF600769219DE58485546E258487D5676A28258D4EC4ED960EFA90F33081D7E09C32AA3244C47AD52C5BE45A91AF8F4B60793F63237D9ADFF0C0BDB8D1FFACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhuS3umlKH6St+Jyq82QARMg== X-Mailru-MI: 800 X-Mailru-Sender: 583F1D7ACE8F49BD1D825449814A2CC297C3B63830C9392FA81D10E8B3CCCAE58C8B342CC24CB4E076E149BFDDB39AAE29380EAE0A631D0ECC8C667815EE47EB10A486D242DFEDA21E60DA90B68B17487B3F536FA1060A55867D54C4B3182E9F0D4ABDE8C577C2ED X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v3_2/2=5D_replication=3A_?= =?utf-8?q?fix_replica_disconnect_upon_reconfiguration?= 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: Vitaliia Ioffe via Tarantool-patches Reply-To: =?UTF-8?B?Vml0YWxpaWEgSW9mZmU=?= Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--cF92cA14Fb7639156A11983D844084451635321176 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CldoeSBkaWTCoG5vdCB5b3UgdXNlwqAKYXNzZXJ0czphc3NlcnRfc2VydmVyX2ZvbGxvd191cHN0 cmVhbShzZXJ2ZXIsIGlkKQpmcm9tIGFzc2VydHMubHVhIGhlcmU/CsKgCitsb2NhbCBmdW5jdGlv biBjaGVja19mb2xsb3dfbWFzdGVyKHNlcnZlcikKKyByZXR1cm4gdC5hc3NlcnRfZXF1YWxzKAor IHNlcnZlcjpldmFsKCdyZXR1cm4gYm94LmluZm8ucmVwbGljYXRpb25bMV0udXBzdHJlYW0uc3Rh dHVzJyksICdmb2xsb3cnKQorZW5kCsKgCsKgCkFsc28sIGRvIHdlIHdhbnQgdG8gY2hlY2sgdGhp cyBwYXRjaMKgb25seSBmb3IgbWVtdHg/IEkgYXNrZWQgYmVjYXVzZSB5b3UgaGF2ZW7igJl0IHBy b3ZpZGVkIGFueSBlbmdpbmUgZm9yIHRoZSB0ZXN0LgrCoAotLQpWaXRhbGlpYSBJb2ZmZQrCoArC oAo+0KHRgNC10LTQsCwgMjcg0L7QutGC0Y/QsdGA0Y8gMjAyMSwgMTA6MjAgKzAzOjAwINC+0YIg U2VyZ2UgUGV0cmVua28gPCBzZXJnZXBldHJlbmtvQHRhcmFudG9vbC5vcmcgPjoKPsKgCj5SZXBs aWNhdGlvbiByZWNvbmZpZ3VyYXRpb24gdXNlZCB0byB3b3JrIGFzIGZvbGxvd3M6IHVwb24gcmVj ZWl2aW5nIGEKPm5ldyBjb25maWcgZGlzY29ubmVjdCBmcm9tIGFsbCB0aGUgZXhpc3RpbmcgbWFz dGVycyBhbmQgdHJ5IHRvIGNvbm5lY3QKPnRvIGFsbCB0aGUgbWFzdGVycyBmcm9tIHRoZSBuZXcg Y29uZmlnLgo+Cj5UaGlzIGxlYWQgdG8gaW5zdGFuY2VzIGRvaW5nIGV4dHJhIHdvcmsgd2hlbiBv bGQgY29uZmlnIGFuZCBuZXcgY29uZmlnCj5oYWQgdGhlIHNhbWUgbm9kZXMgaW4gdGhlbTogaW5z dGVhZCBvZiBkb2luZyBub3RoaW5nLCB0YXJhbnRvb2wKPnJlaW5pdGlhbGl6ZWQgdGhlIGNvbm5l Y3Rpb24uCj4KPlRoZXJlIHdhcyBhbm90aGVyIHByb2JsZW06IHdoZW4gYW4gZXhpc3RpbmcgY29u bmVjdGlvbiBpcyBicm9rZW4sIG1hc3Rlcgo+dGFrZXMgc29tZSB0aW1lIHRvIG5vdGljZSB0aGF0 LiBTbywgd2hlbiByZXBsaWNhIHJlc2V0cyB0aGUgY29ubmVjdGlvbiwKPml0IG1heSB0cnkgdG8g cmVjb25uZWN0IGZhc3RlciB0aGFuIHRoZSBtYXN0ZXIgaXMgYWJsZSB0byBub3RpY2UgaXRzCj5h YnNlbmNlLiBJbiB0aGlzIGNhc2UgcmVwbGljYSB3b3VsZG4ndCBiZSBhYmxlIHRvIHJlY29ubmVj dCBkdWUgdG8KPmBkdXBsaWNhdGUgY29ubmVjdGlvbiB3aXRoIHRoZSBzYW1lIHJlcGxpY2EgVVVJ RGAuIFNvIHJlcGxpY2F0aW9uIHdvdWxkCj5zdG9wIGZvciBhIHJlcGxpY2F0aW9uX3RpbWVvdXQs IHdoaWNoIG1heSBiZSBxdWl0ZSBsYXJnZSAoc2Vjb25kcyBvcgo+dGVucyBvZiBzZWNvbmRzKS4K Pgo+TGV0J3MgcHJldmVudCB0YXJhbnRvb2wgZnJvbSByZWNvbm5lY3RpbmcgdG8gdGhlIHNhbWUg aW5zdGFuY2UsIGlmIHRoZXJlCj5hbHJlYWR5IGlzIGEgd29ya2luZyBjb25uZWN0aW9uLgo+Cj5D bG9zZXMgIzQ2NjkKPi0tLQo+wqAuLi4vZ2gtNDY2OS1hcHBsaWVyLXJlY29uZmlnLXJlY29ubmVj dC5tZCB8IDUgKysKPsKgc3JjL2JveC9ib3guY2MgfCAzMSArKysrKysrKy0tLQo+wqBzcmMvYm94 L3JlcGxpY2F0aW9uLmNjIHwgNDEgKysrKysrKysrLS0tLS0KPsKgc3JjL2JveC9yZXBsaWNhdGlv bi5oIHwgNCArLQo+wqAuLi4vZ2hfNDY2OV9hcHBsaWVyX3JlY29ubmVjdF90ZXN0Lmx1YSB8IDUz ICsrKysrKysrKysrKysrKysrKysKPsKgNSBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9ucygr KSwgMjEgZGVsZXRpb25zKC0pCj7CoGNyZWF0ZSBtb2RlIDEwMDY0NCBjaGFuZ2Vsb2dzL3VucmVs ZWFzZWQvZ2gtNDY2OS1hcHBsaWVyLXJlY29uZmlnLXJlY29ubmVjdC5tZAo+wqBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdC9yZXBsaWNhdGlvbi1sdWF0ZXN0L2doXzQ2NjlfYXBwbGllcl9yZWNvbm5l Y3RfdGVzdC5sdWEKPgo+ZGlmZiAtLWdpdCBhL2NoYW5nZWxvZ3MvdW5yZWxlYXNlZC9naC00NjY5 LWFwcGxpZXItcmVjb25maWctcmVjb25uZWN0Lm1kIGIvY2hhbmdlbG9ncy91bnJlbGVhc2VkL2do LTQ2NjktYXBwbGllci1yZWNvbmZpZy1yZWNvbm5lY3QubWQKPm5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj5pbmRleCAwMDAwMDAwMDAuLjJhNzc2ODcyYgo+LS0tIC9kZXYvbnVsbAo+KysrIGIvY2hhbmdl bG9ncy91bnJlbGVhc2VkL2doLTQ2NjktYXBwbGllci1yZWNvbmZpZy1yZWNvbm5lY3QubWQKPkBA IC0wLDAgKzEsNSBAQAo+KyMjIGJ1Z2ZpeC9yZXBsaWNhdGlvbgo+Kwo+KyogRml4ZWQgcmVwbGlj YSByZWNvbm5lY3RpbmcgdG8gYSBsaXZpbmcgbWFzdGVyIG9uIGFueSBgYm94LmNmZ3tyZXBsaWNh dGlvbj0uLi59YAo+KyBjaGFuZ2UuIFN1Y2ggcmVjb25uZWN0cyBjb3VsZCBsZWFkIHRvIHJlcGxp Y2EgZmFpbGluZyB0byByZXN0b3JlIGNvbm5lY3Rpb24KPisgZm9yIGByZXBsaWNhdGlvbl90aW1l b3V0YCBzZWNvbmRzIChnaC00NjY5KS4KPmRpZmYgLS1naXQgYS9zcmMvYm94L2JveC5jYyBiL3Ny Yy9ib3gvYm94LmNjCj5pbmRleCBiMTE1NGFmZmEuLmMyZTRhNTVhNyAxMDA2NDQKPi0tLSBhL3Ny Yy9ib3gvYm94LmNjCj4rKysgYi9zcmMvYm94L2JveC5jYwo+QEAgLTEyNjEsNyArMTI2MSw3IEBA IGNmZ19nZXRfcmVwbGljYXRpb24oaW50ICpwX2NvdW50KQo+wqDCoCogZG9uJ3Qgc3RhcnQgYXBw bGllcnMuCj7CoMKgKi8KPsKgc3RhdGljIHZvaWQKPi1ib3hfc3luY19yZXBsaWNhdGlvbihib29s IGNvbm5lY3RfcXVvcnVtKQo+K2JveF9zeW5jX3JlcGxpY2F0aW9uKGJvb2wgZG9fcXVvcnVtLCBi b29sIGRvX3JldXNlKQo+wqB7Cj7CoCBpbnQgY291bnQgPSAwOwo+wqAgc3RydWN0IGFwcGxpZXIg KiphcHBsaWVycyA9IGNmZ19nZXRfcmVwbGljYXRpb24oJmNvdW50KTsKPkBAIC0xMjcyLDEyICsx MjcyLDI3IEBAIGJveF9zeW5jX3JlcGxpY2F0aW9uKGJvb2wgY29ubmVjdF9xdW9ydW0pCj7CoCBm b3IgKGludCBpID0gMDsgaSA8IGNvdW50OyBpKyspCj7CoCBhcHBsaWVyX2RlbGV0ZShhcHBsaWVy c1tpXSk7IC8qIGRvZXNuJ3QgYWZmZWN0IGRpYWcgKi8KPsKgIH0pOwo+LQo+LSByZXBsaWNhc2V0 X2Nvbm5lY3QoYXBwbGllcnMsIGNvdW50LCBjb25uZWN0X3F1b3J1bSk7Cj4rIHJlcGxpY2FzZXRf Y29ubmVjdChhcHBsaWVycywgY291bnQsIGRvX3F1b3J1bSwgZG9fcmV1c2UpOwo+wqAKPsKgIGd1 YXJkLmlzX2FjdGl2ZSA9IGZhbHNlOwo+wqB9Cj7CoAo+K3N0YXRpYyBpbmxpbmUgdm9pZAo+K2Jv eF9yZXN0YXJ0X3JlcGxpY2F0aW9uKHZvaWQpCj4rewo+KyBjb25zdCBib29sIGRvX3F1b3J1bSA9 IHRydWU7Cj4rIGNvbnN0IGJvb2wgZG9fcmV1c2UgPSBmYWxzZTsKPisgYm94X3N5bmNfcmVwbGlj YXRpb24oZG9fcXVvcnVtLCBkb19yZXVzZSk7Cj4rfQo+Kwo+K3N0YXRpYyBpbmxpbmUgdm9pZAo+ K2JveF91cGRhdGVfcmVwbGljYXRpb24odm9pZCkKPit7Cj4rIGNvbnN0IGJvb2wgZG9fcXVvcnVt ID0gZmFsc2U7Cj4rIGNvbnN0IGJvb2wgZG9fcmV1c2UgPSB0cnVlOwo+KyBib3hfc3luY19yZXBs aWNhdGlvbihkb19xdW9ydW0sIGRvX3JldXNlKTsKPit9Cj4rCj7CoHZvaWQKPsKgYm94X3NldF9y ZXBsaWNhdGlvbih2b2lkKQo+wqB7Cj5AQCAtMTI5Niw3ICsxMzExLDcgQEAgYm94X3NldF9yZXBs aWNhdGlvbih2b2lkKQo+wqAgKiBTdGF5IGluIG9ycGhhbiBtb2RlIGluIGNhc2Ugd2UgZmFpbCB0 byBjb25uZWN0IHRvIGF0IGxlYXN0Cj7CoCAqICdyZXBsaWNhdGlvbl9jb25uZWN0X3F1b3J1bScg cmVtb3RlIGluc3RhbmNlcy4KPsKgICovCj4tIGJveF9zeW5jX3JlcGxpY2F0aW9uKGZhbHNlKTsK PisgYm94X3VwZGF0ZV9yZXBsaWNhdGlvbigpOwo+wqAgLyogRm9sbG93IHJlcGxpY2EgKi8KPsKg IHJlcGxpY2FzZXRfZm9sbG93KCk7Cj7CoCAvKiBXYWl0IHVudGlsIGFwcGxpZXJzIGFyZSBpbiBz eW5jICovCj5AQCAtMTQxNiw3ICsxNDMxLDcgQEAgYm94X3NldF9yZXBsaWNhdGlvbl9hbm9uKHZv aWQpCj7CoCAqIHRoZW0gY2FuIHJlZ2lzdGVyIGFuZCBvdGhlcnMgcmVzZW5kIGEKPsKgICogbm9u LWFub255bW91cyBzdWJzY3JpYmUuCj7CoCAqLwo+LSBib3hfc3luY19yZXBsaWNhdGlvbih0cnVl KTsKPisgYm94X3Jlc3RhcnRfcmVwbGljYXRpb24oKTsKPsKgIC8qCj7CoCAqIFdhaXQgdW50aWwg dGhlIG1hc3RlciBoYXMgcmVnaXN0ZXJlZCB0aGlzCj7CoCAqIGluc3RhbmNlLgo+QEAgLTMyNzks NyArMzI5NCw3IEBAIGJvb3RzdHJhcChjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVp ZCwKPsKgICogd2l0aCBjb25uZWN0aW5nIHRvICdyZXBsaWNhdGlvbl9jb25uZWN0X3F1b3J1bScg bWFzdGVycy4KPsKgICogSWYgdGhpcyBhbHNvIGZhaWxzLCB0aHJvdyBhbiBlcnJvci4KPsKgICov Cj4tIGJveF9zeW5jX3JlcGxpY2F0aW9uKHRydWUpOwo+KyBib3hfcmVzdGFydF9yZXBsaWNhdGlv bigpOwo+wqAKPsKgIHN0cnVjdCByZXBsaWNhICptYXN0ZXIgPSByZXBsaWNhc2V0X2ZpbmRfam9p bl9tYXN0ZXIoKTsKPsKgIGFzc2VydChtYXN0ZXIgPT0gTlVMTCB8fCBtYXN0ZXItPmFwcGxpZXIg IT0gTlVMTCk7Cj5AQCAtMzM1Niw3ICszMzcxLDcgQEAgbG9jYWxfcmVjb3ZlcnkoY29uc3Qgc3Ry dWN0IHR0X3V1aWQgKmluc3RhbmNlX3V1aWQsCj7CoCBpZiAod2FsX2Rpcl9sb2NrID49IDApIHsK PsKgIGlmIChib3hfbGlzdGVuKCkgIT0gMCkKPsKgIGRpYWdfcmFpc2UoKTsKPi0gYm94X3N5bmNf cmVwbGljYXRpb24oZmFsc2UpOwo+KyBib3hfdXBkYXRlX3JlcGxpY2F0aW9uKCk7Cj7CoAo+wqAg c3RydWN0IHJlcGxpY2EgKm1hc3RlcjsKPsKgIGlmIChyZXBsaWNhc2V0X25lZWRzX3Jlam9pbigm bWFzdGVyKSkgewo+QEAgLTM0MzUsNyArMzQ1MCw3IEBAIGxvY2FsX3JlY292ZXJ5KGNvbnN0IHN0 cnVjdCB0dF91dWlkICppbnN0YW5jZV91dWlkLAo+wqAgdmNsb2NrX2NvcHkoJnJlcGxpY2FzZXQu dmNsb2NrLCAmcmVjb3ZlcnktPnZjbG9jayk7Cj7CoCBpZiAoYm94X2xpc3RlbigpICE9IDApCj7C oCBkaWFnX3JhaXNlKCk7Cj4tIGJveF9zeW5jX3JlcGxpY2F0aW9uKGZhbHNlKTsKPisgYm94X3Vw ZGF0ZV9yZXBsaWNhdGlvbigpOwo+wqAgfQo+wqAgc3RyZWFtX2d1YXJkLmlzX2FjdGl2ZSA9IGZh bHNlOwo+wqAgcmVjb3ZlcnlfZmluYWxpemUocmVjb3ZlcnkpOwo+ZGlmZiAtLWdpdCBhL3NyYy9i b3gvcmVwbGljYXRpb24uY2MgYi9zcmMvYm94L3JlcGxpY2F0aW9uLmNjCj5pbmRleCAxMjg4YmM5 YjEuLjEwYjRhYzkxNSAxMDA2NDQKPi0tLSBhL3NyYy9ib3gvcmVwbGljYXRpb24uY2MKPisrKyBi L3NyYy9ib3gvcmVwbGljYXRpb24uY2MKPkBAIC01MDcsNyArNTA3LDcgQEAgcmVwbGljYV9vbl9h cHBsaWVyX3N0YXRlX2Yoc3RydWN0IHRyaWdnZXIgKnRyaWdnZXIsIHZvaWQgKmV2ZW50KQo+wqDC oCogdXBvbiByZWNvbmZpZ3VyYXRpb24gb2YgYm94LmNmZy5yZXBsaWNhdGlvbi4KPsKgwqAqLwo+ wqBzdGF0aWMgdm9pZAo+LXJlcGxpY2FzZXRfdXBkYXRlKHN0cnVjdCBhcHBsaWVyICoqYXBwbGll cnMsIGludCBjb3VudCkKPityZXBsaWNhc2V0X3VwZGF0ZShzdHJ1Y3QgYXBwbGllciAqKmFwcGxp ZXJzLCBpbnQgY291bnQsIGJvb2wga2VlcF9jb25uZWN0KQo+wqB7Cj7CoCByZXBsaWNhX2hhc2hf dCB1bmlxOwo+wqAgbWVtc2V0KCZ1bmlxLCAwLCBzaXplb2YodW5pcSkpOwo+QEAgLTU3MiwyMiAr NTcyLDM5IEBAIHJlcGxpY2FzZXRfdXBkYXRlKHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsIGlu dCBjb3VudCkKPsKgIGFwcGxpZXJfc3RvcChhcHBsaWVyKTsKPsKgIGFwcGxpZXJfZGVsZXRlKGFw cGxpZXIpOwo+wqAgfQo+Kwo+KyByZXBsaWNhc2V0LmFwcGxpZXIudG90YWwgPSBjb3VudDsKPisg cmVwbGljYXNldC5hcHBsaWVyLmNvbm5lY3RlZCA9IDA7Cj4rIHJlcGxpY2FzZXQuYXBwbGllci5s b2FkaW5nID0gMDsKPisgcmVwbGljYXNldC5hcHBsaWVyLnN5bmNlZCA9IDA7Cj7CoCByZXBsaWNh c2V0X2ZvcmVhY2gocmVwbGljYSkgewo+wqAgaWYgKHJlcGxpY2EtPmFwcGxpZXIgPT0gTlVMTCkK PsKgIGNvbnRpbnVlOwo+LSBhcHBsaWVyID0gcmVwbGljYS0+YXBwbGllcjsKPi0gcmVwbGljYV9j bGVhcl9hcHBsaWVyKHJlcGxpY2EpOwo+LSByZXBsaWNhLT5hcHBsaWVyX3N5bmNfc3RhdGUgPSBB UFBMSUVSX0RJU0NPTk5FQ1RFRDsKPisgc3RydWN0IHJlcGxpY2EgKm90aGVyID0gcmVwbGljYV9o YXNoX3NlYXJjaCgmdW5pcSwgcmVwbGljYSk7Cj4rIGlmIChrZWVwX2Nvbm5lY3QgJiYgb3RoZXIg IT0gTlVMTCAmJgo+KyAocmVwbGljYS0+YXBwbGllci0+c3RhdGUgPT0gQVBQTElFUl9GT0xMT1cg fHwKPisgcmVwbGljYS0+YXBwbGllci0+c3RhdGUgPT0gQVBQTElFUl9TWU5DKSkgewo+KyAvKgo+ KyAqIFRyeSBub3QgdG8gaW50ZXJydXB0IHdvcmtpbmcgYXBwbGllcnMgdXBvbgo+KyAqIHJlY29u ZmlndXJhdGlvbi4KPisgKi8KPisgcmVwbGljYXNldC5hcHBsaWVyLmNvbm5lY3RlZCsrOwo+KyBy ZXBsaWNhc2V0LmFwcGxpZXIuc3luY2VkKys7Cj4rIHJlcGxpY2FfaGFzaF9yZW1vdmUoJnVuaXEs IG90aGVyKTsKPisgYXBwbGllciA9IG90aGVyLT5hcHBsaWVyOwo+KyByZXBsaWNhX2NsZWFyX2Fw cGxpZXIob3RoZXIpOwo+KyByZXBsaWNhX2RlbGV0ZShvdGhlcik7Cj4rIH0gZWxzZSB7Cj4rIGFw cGxpZXIgPSByZXBsaWNhLT5hcHBsaWVyOwo+KyByZXBsaWNhX2NsZWFyX2FwcGxpZXIocmVwbGlj YSk7Cj4rIHJlcGxpY2EtPmFwcGxpZXJfc3luY19zdGF0ZSA9IEFQUExJRVJfRElTQ09OTkVDVEVE Owo+KyB9Cj7CoCBhcHBsaWVyX3N0b3AoYXBwbGllcik7Cj7CoCBhcHBsaWVyX2RlbGV0ZShhcHBs aWVyKTsKPsKgIH0KPsKgCj4tIC8qIFNhdmUgbmV3IGFwcGxpZXJzICovCj4tIHJlcGxpY2FzZXQu YXBwbGllci50b3RhbCA9IGNvdW50Owo+LSByZXBsaWNhc2V0LmFwcGxpZXIuY29ubmVjdGVkID0g MDsKPi0gcmVwbGljYXNldC5hcHBsaWVyLmxvYWRpbmcgPSAwOwo+LSByZXBsaWNhc2V0LmFwcGxp ZXIuc3luY2VkID0gMDsKPsKgCj4rIC8qIFNhdmUgbmV3IGFwcGxpZXJzICovCj7CoCByZXBsaWNh X2hhc2hfZm9yZWFjaF9zYWZlKCZ1bmlxLCByZXBsaWNhLCBuZXh0KSB7Cj7CoCByZXBsaWNhX2hh c2hfcmVtb3ZlKCZ1bmlxLCByZXBsaWNhKTsKPsKgCj5AQCAtNjY0LDExICs2ODEsMTEgQEAgYXBw bGllcl9vbl9jb25uZWN0X2Yoc3RydWN0IHRyaWdnZXIgKnRyaWdnZXIsIHZvaWQgKmV2ZW50KQo+ wqAKPsKgdm9pZAo+wqByZXBsaWNhc2V0X2Nvbm5lY3Qoc3RydWN0IGFwcGxpZXIgKiphcHBsaWVy cywgaW50IGNvdW50LAo+LSBib29sIGNvbm5lY3RfcXVvcnVtKQo+KyBib29sIGNvbm5lY3RfcXVv cnVtLCBib29sIGtlZXBfY29ubmVjdCkKPsKgewo+wqAgaWYgKGNvdW50ID09IDApIHsKPsKgIC8q IENsZWFudXAgdGhlIHJlcGxpY2Egc2V0LiAqLwo+LSByZXBsaWNhc2V0X3VwZGF0ZShhcHBsaWVy cywgY291bnQpOwo+KyByZXBsaWNhc2V0X3VwZGF0ZShhcHBsaWVycywgMCwgZmFsc2UpOwo+wqAg cmV0dXJuOwo+wqAgfQo+wqAKPkBAIC03NzIsNyArNzg5LDcgQEAgcmVwbGljYXNldF9jb25uZWN0 KHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsIGludCBjb3VudCwKPsKgCj7CoCAvKiBOb3cgYWxs IHRoZSBhcHBsaWVycyBhcmUgY29ubmVjdGVkLCB1cGRhdGUgdGhlIHJlcGxpY2Egc2V0LiAqLwo+ wqAgdHJ5IHsKPi0gcmVwbGljYXNldF91cGRhdGUoYXBwbGllcnMsIGNvdW50KTsKPisgcmVwbGlj YXNldF91cGRhdGUoYXBwbGllcnMsIGNvdW50LCBrZWVwX2Nvbm5lY3QpOwo+wqAgfSBjYXRjaCAo RXhjZXB0aW9uICplKSB7Cj7CoCBnb3RvIGVycm9yOwo+wqAgfQo+ZGlmZiAtLWdpdCBhL3NyYy9i b3gvcmVwbGljYXRpb24uaCBiL3NyYy9ib3gvcmVwbGljYXRpb24uaAo+aW5kZXggNGM4MmNkODM5 Li5hOGZlZDQ1ZTggMTAwNjQ0Cj4tLS0gYS9zcmMvYm94L3JlcGxpY2F0aW9uLmgKPisrKyBiL3Ny Yy9ib3gvcmVwbGljYXRpb24uaAo+QEAgLTQzOSwxMCArNDM5LDEyIEBAIHJlcGxpY2FzZXRfYWRk X2Fub24oY29uc3Qgc3RydWN0IHR0X3V1aWQgKnJlcGxpY2FfdXVpZCk7Cj7CoMKgKiBccGFyYW0g Y29ubmVjdF9xdW9ydW0gaWYgdGhpcyBmbGFnIGlzIHNldCwgZmFpbCB1bmxlc3MgYXQKPsKgwqAq IGxlYXN0IHJlcGxpY2F0aW9uX2Nvbm5lY3RfcXVvcnVtCj7CoMKgKiBhcHBsaWVycyBoYXZlIHN1 Y2Nlc3NmdWxseSBjb25uZWN0ZWQuCj4rICogXHBhcmFtIGtlZXBfY29ubmVjdCBpZiB0aGlzIGZs YWcgaXMgc2V0IGRvIG5vdCBmb3JjZSBhIHJlY29ubmVjdCBpZiB0aGUKPisgKiBvbGQgY29ubmVj dGlvbiB0byB0aGUgcmVwbGljYSBpcyBmaW5lLgo+wqDCoCovCj7CoHZvaWQKPsKgcmVwbGljYXNl dF9jb25uZWN0KHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsIGludCBjb3VudCwKPi0gYm9vbCBj b25uZWN0X3F1b3J1bSk7Cj4rIGJvb2wgY29ubmVjdF9xdW9ydW0sIGJvb2wga2VlcF9jb25uZWN0 KTsKPsKgCj7CoC8qKgo+wqDCoCogQ2hlY2sgaWYgdGhlIGN1cnJlbnQgaW5zdGFuY2UgZmVsbCB0 b28gbXVjaCBiZWhpbmQgaXRzCj5kaWZmIC0tZ2l0IGEvdGVzdC9yZXBsaWNhdGlvbi1sdWF0ZXN0 L2doXzQ2NjlfYXBwbGllcl9yZWNvbm5lY3RfdGVzdC5sdWEgYi90ZXN0L3JlcGxpY2F0aW9uLWx1 YXRlc3QvZ2hfNDY2OV9hcHBsaWVyX3JlY29ubmVjdF90ZXN0Lmx1YQo+bmV3IGZpbGUgbW9kZSAx MDA2NDQKPmluZGV4IDAwMDAwMDAwMC4uOWM2ZDI2MDM2Cj4tLS0gL2Rldi9udWxsCj4rKysgYi90 ZXN0L3JlcGxpY2F0aW9uLWx1YXRlc3QvZ2hfNDY2OV9hcHBsaWVyX3JlY29ubmVjdF90ZXN0Lmx1 YQo+QEAgLTAsMCArMSw1MyBAQAo+K2xvY2FsIHQgPSByZXF1aXJlKCdsdWF0ZXN0JykKPitsb2Nh bCBjbHVzdGVyID0gcmVxdWlyZSgndGVzdC5sdWF0ZXN0X2hlbHBlcnMuY2x1c3RlcicpCj4rbG9j YWwgaGVscGVycyA9IHJlcXVpcmUoJ3Rlc3QubHVhdGVzdF9oZWxwZXJzJykKPisKPitsb2NhbCBn ID0gdC5ncm91cCgnZ2gtNDY2OS1hcHBsaWVyLXJlY29ubmVjdCcpCj4rCj4rbG9jYWwgZnVuY3Rp b24gY2hlY2tfZm9sbG93X21hc3RlcihzZXJ2ZXIpCj4rIHJldHVybiB0LmFzc2VydF9lcXVhbHMo Cj4rIHNlcnZlcjpldmFsKCdyZXR1cm4gYm94LmluZm8ucmVwbGljYXRpb25bMV0udXBzdHJlYW0u c3RhdHVzJyksICdmb2xsb3cnKQo+K2VuZAo+Kwo+K2cuYmVmb3JlX2VhY2goZnVuY3Rpb24oKQo+ KyBnLmNsdXN0ZXIgPSBjbHVzdGVyOm5ldyh7fSkKPisgZy5tYXN0ZXIgPSBnLmNsdXN0ZXI6YnVp bGRfc2VydmVyKHthbGlhcyA9ICdtYXN0ZXInfSkKPisgbG9jYWwgYm94X2NmZyA9IHsKPisgcmVw bGljYXRpb24gPSAoJyVzL21hc3Rlci5pcHJvdG8nKTpmb3JtYXQoaGVscGVycy5TT0NLRVRfRElS KSwKPisgfQo+KyBnLnJlcGxpY2EgPSBnLmNsdXN0ZXI6YnVpbGRfc2VydmVyKHthbGlhcyA9ICdy ZXBsaWNhJywgYm94X2NmZyA9IGJveF9jZmd9KQo+KyBnLnJlcGxpY2EyID0gZy5jbHVzdGVyOmJ1 aWxkX3NlcnZlcih7YWxpYXMgPSAncmVwbGljYTInLCBib3hfY2ZnID0gYm94X2NmZ30pCj4rCj4r IGcuY2x1c3RlcjphZGRfc2VydmVyKGcubWFzdGVyKQo+KyBnLmNsdXN0ZXI6YWRkX3NlcnZlcihn LnJlcGxpY2EpCj4rIGcuY2x1c3RlcjphZGRfc2VydmVyKGcucmVwbGljYTIpCj4rIGcuY2x1c3Rl cjpzdGFydCgpCj4rIGNoZWNrX2ZvbGxvd19tYXN0ZXIoZy5yZXBsaWNhKQo+K2VuZCkKPisKPitn LmFmdGVyX2VhY2goZnVuY3Rpb24oKQo+KyBnLmNsdXN0ZXI6c3RvcCgpCj4rZW5kKQo+Kwo+Ky0t IFRlc3QgdGhhdCBhcHBsaWVycyBhcmVuJ3QgcmVjcmVhdGVkIHVwb24gcmVwbGljYXRpb24gcmVj b25maWd1cmF0aW9uLgo+Ky0tIEFkZCBhbmQgdGhlbiByZW1vdmUgdHdvIGV4dHJhIHJlcGxpY2Fz IHRvIHRoZSBjb25maWd1cmF0aW9uLiBUaGUgbWFzdGVyCj4rLS0gY29ubmVjdGlvbiBzaG91bGQg c3RheSBpbnRhY3QuCj4rZy50ZXN0X2FwcGxpZXJfY29ubmVjdGlvbl9vbl9yZWNvbmZpZyA9IGZ1 bmN0aW9uKGcpCj4rIGcucmVwbGljYTpldmFsKChbWwo+KyBib3guY2Znewo+KyByZXBsaWNhdGlv biA9IHsKPisgYm94LmNmZy5saXN0ZW4sCj4rIGJveC5jZmcucmVwbGljYXRpb25bMV0sCj4rICIl cy9yZXBsaWNhMi5pcHJvdG8iLAo+KyB9Cj4rIH1dXSk6Zm9ybWF0KGhlbHBlcnMuU09DS0VUX0RJ UikpCj4rIGcucmVwbGljYTpldmFsKFtbCj4rIGJveC5jZmd7Cj4rIHJlcGxpY2F0aW9uID0gewo+ KyBib3guY2ZnLnJlcGxpY2F0aW9uWzJdCj4rIH0KPisgfQo+KyBdXSkKPisgY2hlY2tfZm9sbG93 X21hc3RlcihnLnJlcGxpY2EpCj4rIHQuYXNzZXJ0X2VxdWFscyhnLm1hc3RlcjpncmVwX2xvZygi ZXhpdGluZyB0aGUgcmVsYXkgbG9vcCIpLCBuaWwpCj4rZW5kCj4tLQo+Mi4zMC4xIChBcHBsZSBH aXQtMTMwKQrCoA== ----ALT--cF92cA14Fb7639156A11983D844084451635321176 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdiBp ZD0ic3R5bGVfMTYzNTMyMDg1MDA4NjA1MTI3NzEiPjxkaXYgaWQ9InN0eWxlXzE2MzUzMjA4NTAw ODYwNTEyNzcxX0JPRFkiPjxkaXYgY2xhc3M9ImNsXzM0MDA4MyI+PGRpdiBjbGFzcz0ianMtaGVs cGVyX21yX2Nzc19hdHRyIGpzLXJlYWRtc2ctbXNnX21yX2Nzc19hdHRyIj48ZGl2IGlkPSJzdHls ZV8xNjM1MzIwNzYwMDcwNjg5NjM4OF9tcl9jc3NfYXR0ciI+PGRpdiBpZD0ic3R5bGVfMTYzNTMy MDc2MDA3MDY4OTYzODhfQk9EWV9tcl9jc3NfYXR0ciI+PGRpdiBjbGFzcz0iY2xfMzI4NjQzX21y X2Nzc19hdHRyIj48ZGl2PldoeSBkaWQmbmJzcDtub3QgeW91IHVzZSZuYnNwOzwvZGl2PjxkaXY+ PHA+YXNzZXJ0czphc3NlcnRfc2VydmVyX2ZvbGxvd191cHN0cmVhbShzZXJ2ZXIsIGlkKTwvcD48 ZGl2PmZyb20gYXNzZXJ0cy5sdWEgaGVyZT88L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+K2xv Y2FsIGZ1bmN0aW9uIGNoZWNrX2ZvbGxvd19tYXN0ZXIoc2VydmVyKTxicj4rIHJldHVybiB0LmFz c2VydF9lcXVhbHMoPGJyPisgc2VydmVyOmV2YWwoJ3JldHVybiBib3guaW5mby5yZXBsaWNhdGlv blsxXS51cHN0cmVhbS5zdGF0dXMnKSwgJ2ZvbGxvdycpPGJyPitlbmQ8L2Rpdj48L2Rpdj48ZGl2 PiZuYnNwOzwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj5BbHNvLCBkbyB3ZSB3YW50IHRvIGNo ZWNrIHRoaXMgcGF0Y2gmbmJzcDtvbmx5IGZvciBtZW10eD8gSSBhc2tlZCBiZWNhdXNlIHlvdSBo YXZlbuKAmXQgcHJvdmlkZWQgYW55IGVuZ2luZSBmb3IgdGhlIHRlc3QuPC9kaXY+PGRpdj4mbmJz cDs8L2Rpdj48ZGl2IGRhdGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGFpbmVyIj48ZGl2IGRhdGEt c2lnbmF0dXJlLXdpZGdldD0iY29udGVudCI+PGRpdj4tLTxicj5WaXRhbGlpYSBJb2ZmZTwvZGl2 PjwvZGl2PjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2IGNsYXNz PSJtYWlsLXF1b3RlLWNvbGxhcHNlIj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4 IHNvbGlkICMwODU3QTY7bWFyZ2luOjEwcHg7cGFkZGluZzowIDAgMCAxMHB4OyI+PHNwYW4+PHNw YW4+0KHRgNC10LTQsCwgMjcg0L7QutGC0Y/QsdGA0Y8gMjAyMSwgMTA6MjAgKzAzOjAwINC+0YIg U2VyZ2UgUGV0cmVua28gJmx0OzxhPnNlcmdlcGV0cmVua29AdGFyYW50b29sLm9yZzwvYT4mZ3Q7 Ojxicj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxkaXY+PGRpdj48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9 ImpzLWhlbHBlcl9tcl9jc3NfYXR0ciBqcy1yZWFkbXNnLW1zZ19tcl9jc3NfYXR0ciI+PGRpdj48 ZGl2IGlkPSJzdHlsZV8xNjM1MzE5MjUyMDUyNzUzMTg2MV9CT0RZX21yX2Nzc19hdHRyIj5SZXBs aWNhdGlvbiByZWNvbmZpZ3VyYXRpb24gdXNlZCB0byB3b3JrIGFzIGZvbGxvd3M6IHVwb24gcmVj ZWl2aW5nIGE8YnI+bmV3IGNvbmZpZyBkaXNjb25uZWN0IGZyb20gYWxsIHRoZSBleGlzdGluZyBt YXN0ZXJzIGFuZCB0cnkgdG8gY29ubmVjdDxicj50byBhbGwgdGhlIG1hc3RlcnMgZnJvbSB0aGUg bmV3IGNvbmZpZy48YnI+PGJyPlRoaXMgbGVhZCB0byBpbnN0YW5jZXMgZG9pbmcgZXh0cmEgd29y ayB3aGVuIG9sZCBjb25maWcgYW5kIG5ldyBjb25maWc8YnI+aGFkIHRoZSBzYW1lIG5vZGVzIGlu IHRoZW06IGluc3RlYWQgb2YgZG9pbmcgbm90aGluZywgdGFyYW50b29sPGJyPnJlaW5pdGlhbGl6 ZWQgdGhlIGNvbm5lY3Rpb24uPGJyPjxicj5UaGVyZSB3YXMgYW5vdGhlciBwcm9ibGVtOiB3aGVu IGFuIGV4aXN0aW5nIGNvbm5lY3Rpb24gaXMgYnJva2VuLCBtYXN0ZXI8YnI+dGFrZXMgc29tZSB0 aW1lIHRvIG5vdGljZSB0aGF0LiBTbywgd2hlbiByZXBsaWNhIHJlc2V0cyB0aGUgY29ubmVjdGlv biw8YnI+aXQgbWF5IHRyeSB0byByZWNvbm5lY3QgZmFzdGVyIHRoYW4gdGhlIG1hc3RlciBpcyBh YmxlIHRvIG5vdGljZSBpdHM8YnI+YWJzZW5jZS4gSW4gdGhpcyBjYXNlIHJlcGxpY2Egd291bGRu J3QgYmUgYWJsZSB0byByZWNvbm5lY3QgZHVlIHRvPGJyPmBkdXBsaWNhdGUgY29ubmVjdGlvbiB3 aXRoIHRoZSBzYW1lIHJlcGxpY2EgVVVJRGAuIFNvIHJlcGxpY2F0aW9uIHdvdWxkPGJyPnN0b3Ag Zm9yIGEgcmVwbGljYXRpb25fdGltZW91dCwgd2hpY2ggbWF5IGJlIHF1aXRlIGxhcmdlIChzZWNv bmRzIG9yPGJyPnRlbnMgb2Ygc2Vjb25kcykuPGJyPjxicj5MZXQncyBwcmV2ZW50IHRhcmFudG9v bCBmcm9tIHJlY29ubmVjdGluZyB0byB0aGUgc2FtZSBpbnN0YW5jZSwgaWYgdGhlcmU8YnI+YWxy ZWFkeSBpcyBhIHdvcmtpbmcgY29ubmVjdGlvbi48YnI+PGJyPkNsb3NlcyAjNDY2OTxicj4tLS08 YnI+Jm5ic3A7Li4uL2doLTQ2NjktYXBwbGllci1yZWNvbmZpZy1yZWNvbm5lY3QubWQgfCA1ICsr PGJyPiZuYnNwO3NyYy9ib3gvYm94LmNjIHwgMzEgKysrKysrKystLS08YnI+Jm5ic3A7c3JjL2Jv eC9yZXBsaWNhdGlvbi5jYyB8IDQxICsrKysrKysrKy0tLS0tPGJyPiZuYnNwO3NyYy9ib3gvcmVw bGljYXRpb24uaCB8IDQgKy08YnI+Jm5ic3A7Li4uL2doXzQ2NjlfYXBwbGllcl9yZWNvbm5lY3Rf dGVzdC5sdWEgfCA1MyArKysrKysrKysrKysrKysrKysrPGJyPiZuYnNwOzUgZmlsZXMgY2hhbmdl ZCwgMTEzIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKTxicj4mbmJzcDtjcmVhdGUgbW9k ZSAxMDA2NDQgY2hhbmdlbG9ncy91bnJlbGVhc2VkL2doLTQ2NjktYXBwbGllci1yZWNvbmZpZy1y ZWNvbm5lY3QubWQ8YnI+Jm5ic3A7Y3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvcmVwbGljYXRpb24t bHVhdGVzdC9naF80NjY5X2FwcGxpZXJfcmVjb25uZWN0X3Rlc3QubHVhPGJyPjxicj5kaWZmIC0t Z2l0IGEvY2hhbmdlbG9ncy91bnJlbGVhc2VkL2doLTQ2NjktYXBwbGllci1yZWNvbmZpZy1yZWNv bm5lY3QubWQgYi9jaGFuZ2Vsb2dzL3VucmVsZWFzZWQvZ2gtNDY2OS1hcHBsaWVyLXJlY29uZmln LXJlY29ubmVjdC5tZDxicj5uZXcgZmlsZSBtb2RlIDEwMDY0NDxicj5pbmRleCAwMDAwMDAwMDAu LjJhNzc2ODcyYjxicj4tLS0gL2Rldi9udWxsPGJyPisrKyBiL2NoYW5nZWxvZ3MvdW5yZWxlYXNl ZC9naC00NjY5LWFwcGxpZXItcmVjb25maWctcmVjb25uZWN0Lm1kPGJyPkBAIC0wLDAgKzEsNSBA QDxicj4rIyMgYnVnZml4L3JlcGxpY2F0aW9uPGJyPis8YnI+KyogRml4ZWQgcmVwbGljYSByZWNv bm5lY3RpbmcgdG8gYSBsaXZpbmcgbWFzdGVyIG9uIGFueSBgYm94LmNmZ3tyZXBsaWNhdGlvbj0u Li59YDxicj4rIGNoYW5nZS4gU3VjaCByZWNvbm5lY3RzIGNvdWxkIGxlYWQgdG8gcmVwbGljYSBm YWlsaW5nIHRvIHJlc3RvcmUgY29ubmVjdGlvbjxicj4rIGZvciBgcmVwbGljYXRpb25fdGltZW91 dGAgc2Vjb25kcyAoZ2gtNDY2OSkuPGJyPmRpZmYgLS1naXQgYS9zcmMvYm94L2JveC5jYyBiL3Ny Yy9ib3gvYm94LmNjPGJyPmluZGV4IGIxMTU0YWZmYS4uYzJlNGE1NWE3IDEwMDY0NDxicj4tLS0g YS9zcmMvYm94L2JveC5jYzxicj4rKysgYi9zcmMvYm94L2JveC5jYzxicj5AQCAtMTI2MSw3ICsx MjYxLDcgQEAgY2ZnX2dldF9yZXBsaWNhdGlvbihpbnQgKnBfY291bnQpPGJyPiZuYnNwOyZuYnNw OyogZG9uJ3Qgc3RhcnQgYXBwbGllcnMuPGJyPiZuYnNwOyZuYnNwOyovPGJyPiZuYnNwO3N0YXRp YyB2b2lkPGJyPi1ib3hfc3luY19yZXBsaWNhdGlvbihib29sIGNvbm5lY3RfcXVvcnVtKTxicj4r Ym94X3N5bmNfcmVwbGljYXRpb24oYm9vbCBkb19xdW9ydW0sIGJvb2wgZG9fcmV1c2UpPGJyPiZu YnNwO3s8YnI+Jm5ic3A7IGludCBjb3VudCA9IDA7PGJyPiZuYnNwOyBzdHJ1Y3QgYXBwbGllciAq KmFwcGxpZXJzID0gY2ZnX2dldF9yZXBsaWNhdGlvbigmYW1wO2NvdW50KTs8YnI+QEAgLTEyNzIs MTIgKzEyNzIsMjcgQEAgYm94X3N5bmNfcmVwbGljYXRpb24oYm9vbCBjb25uZWN0X3F1b3J1bSk8 YnI+Jm5ic3A7IGZvciAoaW50IGkgPSAwOyBpICZsdDsgY291bnQ7IGkrKyk8YnI+Jm5ic3A7IGFw cGxpZXJfZGVsZXRlKGFwcGxpZXJzW2ldKTsgLyogZG9lc24ndCBhZmZlY3QgZGlhZyAqLzxicj4m bmJzcDsgfSk7PGJyPi08YnI+LSByZXBsaWNhc2V0X2Nvbm5lY3QoYXBwbGllcnMsIGNvdW50LCBj b25uZWN0X3F1b3J1bSk7PGJyPisgcmVwbGljYXNldF9jb25uZWN0KGFwcGxpZXJzLCBjb3VudCwg ZG9fcXVvcnVtLCBkb19yZXVzZSk7PGJyPiZuYnNwOzxicj4mbmJzcDsgZ3VhcmQuaXNfYWN0aXZl ID0gZmFsc2U7PGJyPiZuYnNwO308YnI+Jm5ic3A7PGJyPitzdGF0aWMgaW5saW5lIHZvaWQ8YnI+ K2JveF9yZXN0YXJ0X3JlcGxpY2F0aW9uKHZvaWQpPGJyPit7PGJyPisgY29uc3QgYm9vbCBkb19x dW9ydW0gPSB0cnVlOzxicj4rIGNvbnN0IGJvb2wgZG9fcmV1c2UgPSBmYWxzZTs8YnI+KyBib3hf c3luY19yZXBsaWNhdGlvbihkb19xdW9ydW0sIGRvX3JldXNlKTs8YnI+K308YnI+Kzxicj4rc3Rh dGljIGlubGluZSB2b2lkPGJyPitib3hfdXBkYXRlX3JlcGxpY2F0aW9uKHZvaWQpPGJyPit7PGJy PisgY29uc3QgYm9vbCBkb19xdW9ydW0gPSBmYWxzZTs8YnI+KyBjb25zdCBib29sIGRvX3JldXNl ID0gdHJ1ZTs8YnI+KyBib3hfc3luY19yZXBsaWNhdGlvbihkb19xdW9ydW0sIGRvX3JldXNlKTs8 YnI+K308YnI+Kzxicj4mbmJzcDt2b2lkPGJyPiZuYnNwO2JveF9zZXRfcmVwbGljYXRpb24odm9p ZCk8YnI+Jm5ic3A7ezxicj5AQCAtMTI5Niw3ICsxMzExLDcgQEAgYm94X3NldF9yZXBsaWNhdGlv bih2b2lkKTxicj4mbmJzcDsgKiBTdGF5IGluIG9ycGhhbiBtb2RlIGluIGNhc2Ugd2UgZmFpbCB0 byBjb25uZWN0IHRvIGF0IGxlYXN0PGJyPiZuYnNwOyAqICdyZXBsaWNhdGlvbl9jb25uZWN0X3F1 b3J1bScgcmVtb3RlIGluc3RhbmNlcy48YnI+Jm5ic3A7ICovPGJyPi0gYm94X3N5bmNfcmVwbGlj YXRpb24oZmFsc2UpOzxicj4rIGJveF91cGRhdGVfcmVwbGljYXRpb24oKTs8YnI+Jm5ic3A7IC8q IEZvbGxvdyByZXBsaWNhICovPGJyPiZuYnNwOyByZXBsaWNhc2V0X2ZvbGxvdygpOzxicj4mbmJz cDsgLyogV2FpdCB1bnRpbCBhcHBsaWVycyBhcmUgaW4gc3luYyAqLzxicj5AQCAtMTQxNiw3ICsx NDMxLDcgQEAgYm94X3NldF9yZXBsaWNhdGlvbl9hbm9uKHZvaWQpPGJyPiZuYnNwOyAqIHRoZW0g Y2FuIHJlZ2lzdGVyIGFuZCBvdGhlcnMgcmVzZW5kIGE8YnI+Jm5ic3A7ICogbm9uLWFub255bW91 cyBzdWJzY3JpYmUuPGJyPiZuYnNwOyAqLzxicj4tIGJveF9zeW5jX3JlcGxpY2F0aW9uKHRydWUp Ozxicj4rIGJveF9yZXN0YXJ0X3JlcGxpY2F0aW9uKCk7PGJyPiZuYnNwOyAvKjxicj4mbmJzcDsg KiBXYWl0IHVudGlsIHRoZSBtYXN0ZXIgaGFzIHJlZ2lzdGVyZWQgdGhpczxicj4mbmJzcDsgKiBp bnN0YW5jZS48YnI+QEAgLTMyNzksNyArMzI5NCw3IEBAIGJvb3RzdHJhcChjb25zdCBzdHJ1Y3Qg dHRfdXVpZCAqaW5zdGFuY2VfdXVpZCw8YnI+Jm5ic3A7ICogd2l0aCBjb25uZWN0aW5nIHRvICdy ZXBsaWNhdGlvbl9jb25uZWN0X3F1b3J1bScgbWFzdGVycy48YnI+Jm5ic3A7ICogSWYgdGhpcyBh bHNvIGZhaWxzLCB0aHJvdyBhbiBlcnJvci48YnI+Jm5ic3A7ICovPGJyPi0gYm94X3N5bmNfcmVw bGljYXRpb24odHJ1ZSk7PGJyPisgYm94X3Jlc3RhcnRfcmVwbGljYXRpb24oKTs8YnI+Jm5ic3A7 PGJyPiZuYnNwOyBzdHJ1Y3QgcmVwbGljYSAqbWFzdGVyID0gcmVwbGljYXNldF9maW5kX2pvaW5f bWFzdGVyKCk7PGJyPiZuYnNwOyBhc3NlcnQobWFzdGVyID09IE5VTEwgfHwgbWFzdGVyLSZndDth cHBsaWVyICE9IE5VTEwpOzxicj5AQCAtMzM1Niw3ICszMzcxLDcgQEAgbG9jYWxfcmVjb3Zlcnko Y29uc3Qgc3RydWN0IHR0X3V1aWQgKmluc3RhbmNlX3V1aWQsPGJyPiZuYnNwOyBpZiAod2FsX2Rp cl9sb2NrICZndDs9IDApIHs8YnI+Jm5ic3A7IGlmIChib3hfbGlzdGVuKCkgIT0gMCk8YnI+Jm5i c3A7IGRpYWdfcmFpc2UoKTs8YnI+LSBib3hfc3luY19yZXBsaWNhdGlvbihmYWxzZSk7PGJyPisg Ym94X3VwZGF0ZV9yZXBsaWNhdGlvbigpOzxicj4mbmJzcDs8YnI+Jm5ic3A7IHN0cnVjdCByZXBs aWNhICptYXN0ZXI7PGJyPiZuYnNwOyBpZiAocmVwbGljYXNldF9uZWVkc19yZWpvaW4oJmFtcDtt YXN0ZXIpKSB7PGJyPkBAIC0zNDM1LDcgKzM0NTAsNyBAQCBsb2NhbF9yZWNvdmVyeShjb25zdCBz dHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVpZCw8YnI+Jm5ic3A7IHZjbG9ja19jb3B5KCZhbXA7 cmVwbGljYXNldC52Y2xvY2ssICZhbXA7cmVjb3ZlcnktJmd0O3ZjbG9jayk7PGJyPiZuYnNwOyBp ZiAoYm94X2xpc3RlbigpICE9IDApPGJyPiZuYnNwOyBkaWFnX3JhaXNlKCk7PGJyPi0gYm94X3N5 bmNfcmVwbGljYXRpb24oZmFsc2UpOzxicj4rIGJveF91cGRhdGVfcmVwbGljYXRpb24oKTs8YnI+ Jm5ic3A7IH08YnI+Jm5ic3A7IHN0cmVhbV9ndWFyZC5pc19hY3RpdmUgPSBmYWxzZTs8YnI+Jm5i c3A7IHJlY292ZXJ5X2ZpbmFsaXplKHJlY292ZXJ5KTs8YnI+ZGlmZiAtLWdpdCBhL3NyYy9ib3gv cmVwbGljYXRpb24uY2MgYi9zcmMvYm94L3JlcGxpY2F0aW9uLmNjPGJyPmluZGV4IDEyODhiYzli MS4uMTBiNGFjOTE1IDEwMDY0NDxicj4tLS0gYS9zcmMvYm94L3JlcGxpY2F0aW9uLmNjPGJyPisr KyBiL3NyYy9ib3gvcmVwbGljYXRpb24uY2M8YnI+QEAgLTUwNyw3ICs1MDcsNyBAQCByZXBsaWNh X29uX2FwcGxpZXJfc3RhdGVfZihzdHJ1Y3QgdHJpZ2dlciAqdHJpZ2dlciwgdm9pZCAqZXZlbnQp PGJyPiZuYnNwOyZuYnNwOyogdXBvbiByZWNvbmZpZ3VyYXRpb24gb2YgYm94LmNmZy5yZXBsaWNh dGlvbi48YnI+Jm5ic3A7Jm5ic3A7Ki88YnI+Jm5ic3A7c3RhdGljIHZvaWQ8YnI+LXJlcGxpY2Fz ZXRfdXBkYXRlKHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsIGludCBjb3VudCk8YnI+K3JlcGxp Y2FzZXRfdXBkYXRlKHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsIGludCBjb3VudCwgYm9vbCBr ZWVwX2Nvbm5lY3QpPGJyPiZuYnNwO3s8YnI+Jm5ic3A7IHJlcGxpY2FfaGFzaF90IHVuaXE7PGJy PiZuYnNwOyBtZW1zZXQoJmFtcDt1bmlxLCAwLCBzaXplb2YodW5pcSkpOzxicj5AQCAtNTcyLDIy ICs1NzIsMzkgQEAgcmVwbGljYXNldF91cGRhdGUoc3RydWN0IGFwcGxpZXIgKiphcHBsaWVycywg aW50IGNvdW50KTxicj4mbmJzcDsgYXBwbGllcl9zdG9wKGFwcGxpZXIpOzxicj4mbmJzcDsgYXBw bGllcl9kZWxldGUoYXBwbGllcik7PGJyPiZuYnNwOyB9PGJyPis8YnI+KyByZXBsaWNhc2V0LmFw cGxpZXIudG90YWwgPSBjb3VudDs8YnI+KyByZXBsaWNhc2V0LmFwcGxpZXIuY29ubmVjdGVkID0g MDs8YnI+KyByZXBsaWNhc2V0LmFwcGxpZXIubG9hZGluZyA9IDA7PGJyPisgcmVwbGljYXNldC5h cHBsaWVyLnN5bmNlZCA9IDA7PGJyPiZuYnNwOyByZXBsaWNhc2V0X2ZvcmVhY2gocmVwbGljYSkg ezxicj4mbmJzcDsgaWYgKHJlcGxpY2EtJmd0O2FwcGxpZXIgPT0gTlVMTCk8YnI+Jm5ic3A7IGNv bnRpbnVlOzxicj4tIGFwcGxpZXIgPSByZXBsaWNhLSZndDthcHBsaWVyOzxicj4tIHJlcGxpY2Ff Y2xlYXJfYXBwbGllcihyZXBsaWNhKTs8YnI+LSByZXBsaWNhLSZndDthcHBsaWVyX3N5bmNfc3Rh dGUgPSBBUFBMSUVSX0RJU0NPTk5FQ1RFRDs8YnI+KyBzdHJ1Y3QgcmVwbGljYSAqb3RoZXIgPSBy ZXBsaWNhX2hhc2hfc2VhcmNoKCZhbXA7dW5pcSwgcmVwbGljYSk7PGJyPisgaWYgKGtlZXBfY29u bmVjdCAmYW1wOyZhbXA7IG90aGVyICE9IE5VTEwgJmFtcDsmYW1wOzxicj4rIChyZXBsaWNhLSZn dDthcHBsaWVyLSZndDtzdGF0ZSA9PSBBUFBMSUVSX0ZPTExPVyB8fDxicj4rIHJlcGxpY2EtJmd0 O2FwcGxpZXItJmd0O3N0YXRlID09IEFQUExJRVJfU1lOQykpIHs8YnI+KyAvKjxicj4rICogVHJ5 IG5vdCB0byBpbnRlcnJ1cHQgd29ya2luZyBhcHBsaWVycyB1cG9uPGJyPisgKiByZWNvbmZpZ3Vy YXRpb24uPGJyPisgKi88YnI+KyByZXBsaWNhc2V0LmFwcGxpZXIuY29ubmVjdGVkKys7PGJyPisg cmVwbGljYXNldC5hcHBsaWVyLnN5bmNlZCsrOzxicj4rIHJlcGxpY2FfaGFzaF9yZW1vdmUoJmFt cDt1bmlxLCBvdGhlcik7PGJyPisgYXBwbGllciA9IG90aGVyLSZndDthcHBsaWVyOzxicj4rIHJl cGxpY2FfY2xlYXJfYXBwbGllcihvdGhlcik7PGJyPisgcmVwbGljYV9kZWxldGUob3RoZXIpOzxi cj4rIH0gZWxzZSB7PGJyPisgYXBwbGllciA9IHJlcGxpY2EtJmd0O2FwcGxpZXI7PGJyPisgcmVw bGljYV9jbGVhcl9hcHBsaWVyKHJlcGxpY2EpOzxicj4rIHJlcGxpY2EtJmd0O2FwcGxpZXJfc3lu Y19zdGF0ZSA9IEFQUExJRVJfRElTQ09OTkVDVEVEOzxicj4rIH08YnI+Jm5ic3A7IGFwcGxpZXJf c3RvcChhcHBsaWVyKTs8YnI+Jm5ic3A7IGFwcGxpZXJfZGVsZXRlKGFwcGxpZXIpOzxicj4mbmJz cDsgfTxicj4mbmJzcDs8YnI+LSAvKiBTYXZlIG5ldyBhcHBsaWVycyAqLzxicj4tIHJlcGxpY2Fz ZXQuYXBwbGllci50b3RhbCA9IGNvdW50Ozxicj4tIHJlcGxpY2FzZXQuYXBwbGllci5jb25uZWN0 ZWQgPSAwOzxicj4tIHJlcGxpY2FzZXQuYXBwbGllci5sb2FkaW5nID0gMDs8YnI+LSByZXBsaWNh c2V0LmFwcGxpZXIuc3luY2VkID0gMDs8YnI+Jm5ic3A7PGJyPisgLyogU2F2ZSBuZXcgYXBwbGll cnMgKi88YnI+Jm5ic3A7IHJlcGxpY2FfaGFzaF9mb3JlYWNoX3NhZmUoJmFtcDt1bmlxLCByZXBs aWNhLCBuZXh0KSB7PGJyPiZuYnNwOyByZXBsaWNhX2hhc2hfcmVtb3ZlKCZhbXA7dW5pcSwgcmVw bGljYSk7PGJyPiZuYnNwOzxicj5AQCAtNjY0LDExICs2ODEsMTEgQEAgYXBwbGllcl9vbl9jb25u ZWN0X2Yoc3RydWN0IHRyaWdnZXIgKnRyaWdnZXIsIHZvaWQgKmV2ZW50KTxicj4mbmJzcDs8YnI+ Jm5ic3A7dm9pZDxicj4mbmJzcDtyZXBsaWNhc2V0X2Nvbm5lY3Qoc3RydWN0IGFwcGxpZXIgKiph cHBsaWVycywgaW50IGNvdW50LDxicj4tIGJvb2wgY29ubmVjdF9xdW9ydW0pPGJyPisgYm9vbCBj b25uZWN0X3F1b3J1bSwgYm9vbCBrZWVwX2Nvbm5lY3QpPGJyPiZuYnNwO3s8YnI+Jm5ic3A7IGlm IChjb3VudCA9PSAwKSB7PGJyPiZuYnNwOyAvKiBDbGVhbnVwIHRoZSByZXBsaWNhIHNldC4gKi88 YnI+LSByZXBsaWNhc2V0X3VwZGF0ZShhcHBsaWVycywgY291bnQpOzxicj4rIHJlcGxpY2FzZXRf dXBkYXRlKGFwcGxpZXJzLCAwLCBmYWxzZSk7PGJyPiZuYnNwOyByZXR1cm47PGJyPiZuYnNwOyB9 PGJyPiZuYnNwOzxicj5AQCAtNzcyLDcgKzc4OSw3IEBAIHJlcGxpY2FzZXRfY29ubmVjdChzdHJ1 Y3QgYXBwbGllciAqKmFwcGxpZXJzLCBpbnQgY291bnQsPGJyPiZuYnNwOzxicj4mbmJzcDsgLyog Tm93IGFsbCB0aGUgYXBwbGllcnMgYXJlIGNvbm5lY3RlZCwgdXBkYXRlIHRoZSByZXBsaWNhIHNl dC4gKi88YnI+Jm5ic3A7IHRyeSB7PGJyPi0gcmVwbGljYXNldF91cGRhdGUoYXBwbGllcnMsIGNv dW50KTs8YnI+KyByZXBsaWNhc2V0X3VwZGF0ZShhcHBsaWVycywgY291bnQsIGtlZXBfY29ubmVj dCk7PGJyPiZuYnNwOyB9IGNhdGNoIChFeGNlcHRpb24gKmUpIHs8YnI+Jm5ic3A7IGdvdG8gZXJy b3I7PGJyPiZuYnNwOyB9PGJyPmRpZmYgLS1naXQgYS9zcmMvYm94L3JlcGxpY2F0aW9uLmggYi9z cmMvYm94L3JlcGxpY2F0aW9uLmg8YnI+aW5kZXggNGM4MmNkODM5Li5hOGZlZDQ1ZTggMTAwNjQ0 PGJyPi0tLSBhL3NyYy9ib3gvcmVwbGljYXRpb24uaDxicj4rKysgYi9zcmMvYm94L3JlcGxpY2F0 aW9uLmg8YnI+QEAgLTQzOSwxMCArNDM5LDEyIEBAIHJlcGxpY2FzZXRfYWRkX2Fub24oY29uc3Qg c3RydWN0IHR0X3V1aWQgKnJlcGxpY2FfdXVpZCk7PGJyPiZuYnNwOyZuYnNwOyogXHBhcmFtIGNv bm5lY3RfcXVvcnVtIGlmIHRoaXMgZmxhZyBpcyBzZXQsIGZhaWwgdW5sZXNzIGF0PGJyPiZuYnNw OyZuYnNwOyogbGVhc3QgcmVwbGljYXRpb25fY29ubmVjdF9xdW9ydW08YnI+Jm5ic3A7Jm5ic3A7 KiBhcHBsaWVycyBoYXZlIHN1Y2Nlc3NmdWxseSBjb25uZWN0ZWQuPGJyPisgKiBccGFyYW0ga2Vl cF9jb25uZWN0IGlmIHRoaXMgZmxhZyBpcyBzZXQgZG8gbm90IGZvcmNlIGEgcmVjb25uZWN0IGlm IHRoZTxicj4rICogb2xkIGNvbm5lY3Rpb24gdG8gdGhlIHJlcGxpY2EgaXMgZmluZS48YnI+Jm5i c3A7Jm5ic3A7Ki88YnI+Jm5ic3A7dm9pZDxicj4mbmJzcDtyZXBsaWNhc2V0X2Nvbm5lY3Qoc3Ry dWN0IGFwcGxpZXIgKiphcHBsaWVycywgaW50IGNvdW50LDxicj4tIGJvb2wgY29ubmVjdF9xdW9y dW0pOzxicj4rIGJvb2wgY29ubmVjdF9xdW9ydW0sIGJvb2wga2VlcF9jb25uZWN0KTs8YnI+Jm5i c3A7PGJyPiZuYnNwOy8qKjxicj4mbmJzcDsmbmJzcDsqIENoZWNrIGlmIHRoZSBjdXJyZW50IGlu c3RhbmNlIGZlbGwgdG9vIG11Y2ggYmVoaW5kIGl0czxicj5kaWZmIC0tZ2l0IGEvdGVzdC9yZXBs aWNhdGlvbi1sdWF0ZXN0L2doXzQ2NjlfYXBwbGllcl9yZWNvbm5lY3RfdGVzdC5sdWEgYi90ZXN0 L3JlcGxpY2F0aW9uLWx1YXRlc3QvZ2hfNDY2OV9hcHBsaWVyX3JlY29ubmVjdF90ZXN0Lmx1YTxi cj5uZXcgZmlsZSBtb2RlIDEwMDY0NDxicj5pbmRleCAwMDAwMDAwMDAuLjljNmQyNjAzNjxicj4t LS0gL2Rldi9udWxsPGJyPisrKyBiL3Rlc3QvcmVwbGljYXRpb24tbHVhdGVzdC9naF80NjY5X2Fw cGxpZXJfcmVjb25uZWN0X3Rlc3QubHVhPGJyPkBAIC0wLDAgKzEsNTMgQEA8YnI+K2xvY2FsIHQg PSByZXF1aXJlKCdsdWF0ZXN0Jyk8YnI+K2xvY2FsIGNsdXN0ZXIgPSByZXF1aXJlKCd0ZXN0Lmx1 YXRlc3RfaGVscGVycy5jbHVzdGVyJyk8YnI+K2xvY2FsIGhlbHBlcnMgPSByZXF1aXJlKCd0ZXN0 Lmx1YXRlc3RfaGVscGVycycpPGJyPis8YnI+K2xvY2FsIGcgPSB0Lmdyb3VwKCdnaC00NjY5LWFw cGxpZXItcmVjb25uZWN0Jyk8YnI+Kzxicj4rbG9jYWwgZnVuY3Rpb24gY2hlY2tfZm9sbG93X21h c3RlcihzZXJ2ZXIpPGJyPisgcmV0dXJuIHQuYXNzZXJ0X2VxdWFscyg8YnI+KyBzZXJ2ZXI6ZXZh bCgncmV0dXJuIGJveC5pbmZvLnJlcGxpY2F0aW9uWzFdLnVwc3RyZWFtLnN0YXR1cycpLCAnZm9s bG93Jyk8YnI+K2VuZDxicj4rPGJyPitnLmJlZm9yZV9lYWNoKGZ1bmN0aW9uKCk8YnI+KyBnLmNs dXN0ZXIgPSBjbHVzdGVyOm5ldyh7fSk8YnI+KyBnLm1hc3RlciA9IGcuY2x1c3RlcjpidWlsZF9z ZXJ2ZXIoe2FsaWFzID0gJ21hc3Rlcid9KTxicj4rIGxvY2FsIGJveF9jZmcgPSB7PGJyPisgcmVw bGljYXRpb24gPSAoJyVzL21hc3Rlci5pcHJvdG8nKTpmb3JtYXQoaGVscGVycy5TT0NLRVRfRElS KSw8YnI+KyB9PGJyPisgZy5yZXBsaWNhID0gZy5jbHVzdGVyOmJ1aWxkX3NlcnZlcih7YWxpYXMg PSAncmVwbGljYScsIGJveF9jZmcgPSBib3hfY2ZnfSk8YnI+KyBnLnJlcGxpY2EyID0gZy5jbHVz dGVyOmJ1aWxkX3NlcnZlcih7YWxpYXMgPSAncmVwbGljYTInLCBib3hfY2ZnID0gYm94X2NmZ30p PGJyPis8YnI+KyBnLmNsdXN0ZXI6YWRkX3NlcnZlcihnLm1hc3Rlcik8YnI+KyBnLmNsdXN0ZXI6 YWRkX3NlcnZlcihnLnJlcGxpY2EpPGJyPisgZy5jbHVzdGVyOmFkZF9zZXJ2ZXIoZy5yZXBsaWNh Mik8YnI+KyBnLmNsdXN0ZXI6c3RhcnQoKTxicj4rIGNoZWNrX2ZvbGxvd19tYXN0ZXIoZy5yZXBs aWNhKTxicj4rZW5kKTxicj4rPGJyPitnLmFmdGVyX2VhY2goZnVuY3Rpb24oKTxicj4rIGcuY2x1 c3RlcjpzdG9wKCk8YnI+K2VuZCk8YnI+Kzxicj4rLS0gVGVzdCB0aGF0IGFwcGxpZXJzIGFyZW4n dCByZWNyZWF0ZWQgdXBvbiByZXBsaWNhdGlvbiByZWNvbmZpZ3VyYXRpb24uPGJyPistLSBBZGQg YW5kIHRoZW4gcmVtb3ZlIHR3byBleHRyYSByZXBsaWNhcyB0byB0aGUgY29uZmlndXJhdGlvbi4g VGhlIG1hc3Rlcjxicj4rLS0gY29ubmVjdGlvbiBzaG91bGQgc3RheSBpbnRhY3QuPGJyPitnLnRl c3RfYXBwbGllcl9jb25uZWN0aW9uX29uX3JlY29uZmlnID0gZnVuY3Rpb24oZyk8YnI+KyBnLnJl cGxpY2E6ZXZhbCgoW1s8YnI+KyBib3guY2Znezxicj4rIHJlcGxpY2F0aW9uID0gezxicj4rIGJv eC5jZmcubGlzdGVuLDxicj4rIGJveC5jZmcucmVwbGljYXRpb25bMV0sPGJyPisgIiVzL3JlcGxp Y2EyLmlwcm90byIsPGJyPisgfTxicj4rIH1dXSk6Zm9ybWF0KGhlbHBlcnMuU09DS0VUX0RJUikp PGJyPisgZy5yZXBsaWNhOmV2YWwoW1s8YnI+KyBib3guY2Znezxicj4rIHJlcGxpY2F0aW9uID0g ezxicj4rIGJveC5jZmcucmVwbGljYXRpb25bMl08YnI+KyB9PGJyPisgfTxicj4rIF1dKTxicj4r IGNoZWNrX2ZvbGxvd19tYXN0ZXIoZy5yZXBsaWNhKTxicj4rIHQuYXNzZXJ0X2VxdWFscyhnLm1h c3RlcjpncmVwX2xvZygiZXhpdGluZyB0aGUgcmVsYXkgbG9vcCIpLCBuaWwpPGJyPitlbmQ8YnI+ LS08YnI+Mi4zMC4xIChBcHBsZSBHaXQtMTMwKTwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2 PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjwvZGl2PjwvZGl2Pjwv ZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvQk9EWT48L0hUTUw+Cg== ----ALT--cF92cA14Fb7639156A11983D844084451635321176--