Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s7ElJ-004VGS-5f for pgsql-hackers@arkaria.postgresql.org; Wed, 15 May 2024 13:33:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1s7ElI-00Geo8-TV for pgsql-hackers@arkaria.postgresql.org; Wed, 15 May 2024 13:33:40 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s7ElI-00Geo0-CA for pgsql-hackers@lists.postgresql.org; Wed, 15 May 2024 13:33:40 +0000 Received: from lahtoruutu.iki.fi ([2a0b:5c81:1c1::37]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s7ElD-000N9P-CB for pgsql-hackers@lists.postgresql.org; Wed, 15 May 2024 13:33:39 +0000 Received: from [192.168.1.115] (dsl-hkibng22-54f8db-125.dhcp.inet.fi [84.248.219.125]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: hlinnaka) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4VfZ1T6D0kz49Pv3; Wed, 15 May 2024 16:33:33 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1715780014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=snDShSR6a8xBz0M7CqBgoGDno1/+Qlf1WGqvQQfGWk8=; b=ZMJb6a1YHec+MKcRfEqI5NFlbxFgrwZAEXcKB4BCRPk2blFAEkouMX4RIJpetWcWwNju1S OD2fmyH8rStg4DAMe88c/YWXKcTswF/NlY9l6CxvirYtK4kRqsAiVZuHjBE709XyLsDzSs S+7lV/WGYMlk26Mqr+1k7XbB38wNwm189jUPnT85V+3A+MKjlsBReVfIPlvbfo284cvcDc KAEPab7WX5dyShde1XXwuObdjDkP6BxfJJLahO+gD/MQqrs9r3IRbeI4uhZn+1KojI3xdH 7skfGr1Gupt3veKGv+13br88I/eWbAXkGyGHnnWXSnRaGxd4amjdb0MkHZ+seg== ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1715780014; a=rsa-sha256; cv=none; b=jJwQIvGc/f871tmy1ih0FpDRySZGTiOsFZIrL75X/bZOkThDr33e3KIrSTN9l7hA+ArvLf OfTOxkwGBMS0T4ZXmkT3VP4fXYNm6jSHYgWBqY/IMSjUEDVulZizBO1FmVFZ8/3muw9Cot m11n6QxiEsKYN/nYvdd3an71KDeAFxpXWwEa9e4x2/v62Cu3d+aUrzuNnWZb/3+u2jr5SW 3qysmUYKEqO3MeAV9MAKww7YyERH1GnHR6o5v79MmzVA/de9quZ6/pbVMUdl9kkWZ7uo7G i/mj8LX+N5/RI2Hk5uvYlMBRsPpm22m3RFt7VMzlfIzmkT0ThvNV+VO3iVx4RA== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=hlinnaka smtp.mailfrom=hlinnaka@iki.fi ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1715780014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=snDShSR6a8xBz0M7CqBgoGDno1/+Qlf1WGqvQQfGWk8=; b=VhVLLgnXhPyhzq6+bA0j7Hk2sY7ZexJKhKw35iy33WiD7c91F8N5H6lfHxGwHocEGkBRUJ Gcu6HLJ7eG/kmcoaKZ7zlIMjmnNXZXoQUiOVMZUrrUX7rmEBVdyze/pBvx6opA6dxFcImA bXp40DjXfq3TRAlX20aXzMS0XofZ1QY4QzkjUz8BDIlPHPNRcQHK8WLKahPORuY312fgDH TTpHkIgU5/eNsC7mhugo7r0HR60IaWmhDAEsjSpuCsyztghP/yGmVO3TKFgvktmVp9E640 ANGhDXtKqfrWDZdmUFlll2dcX7mwq+MGpGmT3RL13HAHjdapZRoywJZgbgm6DA== Content-Type: multipart/mixed; boundary="------------hxCQBdwPPEh0g0tDo9H2fTZX" Message-ID: <2b5b0c20-c531-4f51-a169-17617ba73dd6@iki.fi> Date: Wed, 15 May 2024 16:33:33 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Direct SSL connection with ALPN and HBA rules To: Jacob Champion , Robert Haas Cc: Daniel Gustafsson , Michael Paquier , Postgres hackers References: <3a6f126c-e1aa-4dcc-9252-9868308f6cf0@iki.fi> <1a717f65-7390-4111-8efd-c6e9b213805e@iki.fi> <3fdaf4b1-82d1-45bb-8175-f97ff53a1f01@iki.fi> Content-Language: en-US From: Heikki Linnakangas In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------hxCQBdwPPEh0g0tDo9H2fTZX Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 14/05/2024 01:29, Jacob Champion wrote: > Definitely not a major problem, but I think > select_next_encryption_method() has gone stale, since it originally > provided generality and lines of fallback that no longer exist. In > other words, I think the following code is now misleading: > >> if (conn->sslmode[0] == 'a') >> SELECT_NEXT_METHOD(ENC_PLAINTEXT); >> >> SELECT_NEXT_METHOD(ENC_NEGOTIATED_SSL); >> SELECT_NEXT_METHOD(ENC_DIRECT_SSL); >> >> if (conn->sslmode[0] != 'a') >> SELECT_NEXT_METHOD(ENC_PLAINTEXT); > > To me, that implies that negotiated mode takes precedence over direct, > but the point of the patch is that it's not possible to have both. And > if direct SSL is in use, then sslmode can't be "allow" anyway, and we > definitely don't want ENC_PLAINTEXT. > > So if someone proposes a change to select_next_encryption_method(), > you'll have to remember to stare at init_allowed_encryption_methods() > as well, and think really hard about what's going on. And vice-versa. > That worries me. Ok, yeah, I can see that now. Here's a new version to address that. I merged ENC_SSL_NEGOTIATED_SSL and ENC_SSL_DIRECT_SSL to a single method, ENC_SSL. The places that need to distinguish between them now check conn-sslnegotiation. That seems more clear now that there is no fallback. -- Heikki Linnakangas Neon (https://neon.tech) --------------hxCQBdwPPEh0g0tDo9H2fTZX Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-Remove-option-to-fall-back-from-direct-to-postgre.patch" Content-Disposition: attachment; filename*0="v2-0001-Remove-option-to-fall-back-from-direct-to-postgre.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA3YTJiYzJlZGU1YmE3YmVmMTQ3ZTUwOWNlM2M0ZDU0NzJjOGUwMjQ3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIZWlra2kgTGlubmFrYW5nYXMgPGhlaWtraS5saW5u YWthbmdhc0Bpa2kuZmk+CkRhdGU6IFdlZCwgMTUgTWF5IDIwMjQgMTY6Mjc6NTEgKzAzMDAK U3ViamVjdDogW1BBVENIIHYyIDEvMV0gUmVtb3ZlIG9wdGlvbiB0byBmYWxsIGJhY2sgZnJv bSBkaXJlY3QgdG8gcG9zdGdyZXMgU1NMCiBuZWdvdGlhdGlvbgoKVGhlcmUgd2VyZSB0aHJl ZSBwcm9ibGVtcyB3aXRoIHRoZSBzc2xuZWdvdGlhdGlvbiBvcHRpb25zOgoKMS4gVGhlIHNz bG1vZGU9cHJlZmVyIGFuZCBzc2xuZWdvdGlhdGlvbj1yZXF1aXJlZGlyZWN0IGNvbWJpbmF0 aW9uIHdhcwpzb21ld2hhdCBkYW5nZXJvdXMsIGFzIHlvdSBtaWdodCB1bmludGVudGlvbmFs bHkgZmFsbCBiYWNrIHRvCnBsYWludGV4dCBhdXRoZW50aWNhdGlvbiB3aGVuIGNvbm5lY3Rp bmcgdG8gYSBwcmUtdjE3IHNlcnZlci4KCjIuIFRoZXJlIHdhcyBhbiBhc3ltbWV0cnkgYmV0 d2VlbiAncG9zdGdyZXMnIGFuZCAnZGlyZWN0JwpvcHRpb25zLiAncG9zdGdyZXMnIG1lYW50 ICJ0cnkgb25seSB0cmFkaXRpb25hbCBuZWdvdGlhdGlvbiIsIHdoaWxlCidkaXJlY3QnIG1l YW50ICJ0cnkgZGlyZWN0IGZpcnN0LCBhbmQgZmFsbCBiYWNrIHRvIHRyYWRpdGlvbmFsCm5l Z290aWF0aW9uIGlmIGl0IGZhaWxzIi4gVGhhdCB3YXMgYXBwYXJlbnQgb25seSBpZiB5b3Ug a25ldyB0aGF0IHRoZQoncmVxdWlyZWRpcmVjdCcgbW9kZSBhbHNvIGV4aXN0cy4KCjMuIFRo ZSAicmVxdWlyZSIgd29yZCBpbiAncmVxdWlyZWRpcmVjdCcgc3VnZ2VzdHMgdGhhdCBpdCdz IHNvbWVob3cKbW9yZSBzdHJpY3Qgb3IgbW9yZSBzZWN1cmUsIHNpbWlsYXIgdG8gc3NsbW9k ZS4gSG93ZXZlciwgSSBkb24ndApjb25zaWRlciBkaXJlY3QgU1NMIGNvbm5lY3Rpb25zIHRv IGJlIGEgc2VjdXJpdHkgZmVhdHVyZS4KClRvIGFkZHJlc3MgdGhlc2UgcHJvYmxlbXM6Cgot IE9ubHkgYWxsb3cgc3NsbmVnb3RpYXRpb249J2RpcmVjdCcgaWYgc3NsbW9kZT0ncmVxdWly ZScgb3IKc3Ryb25nZXIuIEFuZCBmb3IgdGhlIHJlY29yZCwgSmFjb2IgYW5kIFJvYmVydCBm ZWx0IHRoYXQgd2Ugc2hvdWxkIGRvCnRoYXQgKG9yIGhhdmUgc3NsbmVnb3RpYXRpb249J2Rp cmVjdCcgaW1wbHkgc3NsbW9kZT0ncmVxdWlyZScpIGFueXdheSwKcmVnYXJkbGVzcyBvZiB0 aGUgZmlyc3QgaXNzdWUuCgotIFJlbW92ZSB0aGUgJ2RpcmVjdCcgbW9kZSB0aGF0IGZhbGxz IGJhY2sgdG8gdHJhZGl0aW9uYWwgbmVnb3RpYXRpb24sCmFuZCByZW5hbWUgd2hhdCB3YXMg Y2FsbGVkICdyZXF1aXJlZGlyZWN0JyB0byAnZGlyZWN0JyBpbnN0ZWFkLiBJbgpvdGhlciB3 b3JkcywgdGhlcmUgaXMgbm8gInRyeSBib3RoIG1ldGhvZHMiIG9wdGlvbiBhbnltb3JlLCAn cG9zdGdyZXMnCm5vdyBtZWFucyB0aGUgdHJhZGl0aW9uYWwgbmVnb3RpYXRpb24gYW5kICdk aXJlY3QnIG1lYW5zIGEgZGlyZWN0IFNTTApjb25uZWN0aW9uLgoKUmV2aWV3ZWQtYnk6IEpl bHRlIEZlbm5lbWEtTmlvLCBSb2JlcnQgSGFhcywgSmFjb2IgQ2hhbXBpb24KRGlzY3Vzc2lv bjogaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC9kM2IxNjA4YS1hMWI2 LTRlZGEtOWVjNS1kZGIzZTQzNzU4MDglNDBpa2kuZmkKLS0tCiBkb2Mvc3JjL3NnbWwvbGli cHEuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgfCAgNDkgKystLQogc3JjL2ludGVyZmFj ZXMvbGlicHEvZmUtY29ubmVjdC5jICAgICAgICAgICAgIHwgMTQ0ICsrKysrLS0tLS0KIHNy Yy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1vcGVuc3NsLmMgICAgICB8ICAgMiArLQog c3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmggICAgICAgICAgICAgIHwgICA2ICst CiAuLi4vbGlicHEvdC8wMDVfbmVnb3RpYXRlX2VuY3J5cHRpb24ucGwgICAgICAgfCAyNTQg KysrKysrKystLS0tLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDIwMiBpbnNlcnRpb25zKCsp LCAyNTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xpYnBxLnNn bWwgYi9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbAppbmRleCAxZDMyYzIyNmQ4Li5iMzJlNDk3 YjFiIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbAorKysgYi9kb2Mvc3Jj L3NnbWwvbGlicHEuc2dtbApAQCAtMTc3MiwxNSArMTc3MiwxOCBAQCBwb3N0Z3Jlc3FsOi8v JTJGdmFyJTJGbGliJTJGcG9zdGdyZXNxbC9kYm5hbWUKICAgICAgIDx0ZXJtPjxsaXRlcmFs PnNzbG5lZ290aWF0aW9uPC9saXRlcmFsPjwvdGVybT4KICAgICAgIDxsaXN0aXRlbT4KICAg ICAgICA8cGFyYT4KLSAgICAgICAgVGhpcyBvcHRpb24gY29udHJvbHMgd2hldGhlciA8cHJv ZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+Ci0gICAgICAgIHdpbGwgcGVyZm9y bSBpdHMgcHJvdG9jb2wgbmVnb3RpYXRpb24gdG8gcmVxdWVzdCBlbmNyeXB0aW9uIGZyb20g dGhlCi0gICAgICAgIHNlcnZlciBvciB3aWxsIGp1c3QgZGlyZWN0bHkgbWFrZSBhIHN0YW5k YXJkIDxhY3JvbnltPlNTTDwvYWNyb255bT4KLSAgICAgICAgY29ubmVjdGlvbi4gIFRyYWRp dGlvbmFsIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4KLSAgICAgICAg cHJvdG9jb2wgbmVnb3RpYXRpb24gaXMgdGhlIGRlZmF1bHQgYW5kIHRoZSBtb3N0IGZsZXhp YmxlIHdpdGgKLSAgICAgICAgZGlmZmVyZW50IHNlcnZlciBjb25maWd1cmF0aW9ucy4gSWYg dGhlIHNlcnZlciBpcyBrbm93biB0byBzdXBwb3J0Ci0gICAgICAgIGRpcmVjdCA8YWNyb255 bT5TU0w8L2Fjcm9ueW0+IGNvbm5lY3Rpb25zIHRoZW4gdGhlIGxhdHRlciByZXF1aXJlcyBv bmUKLSAgICAgICAgZmV3ZXIgcm91bmQgdHJpcCByZWR1Y2luZyBjb25uZWN0aW9uIGxhdGVu Y3kgYW5kIGFsc28gYWxsb3dzIHRoZSB1c2UKLSAgICAgICAgb2YgcHJvdG9jb2wgYWdub3N0 aWMgU1NMIG5ldHdvcmsgdG9vbHMuCisgICAgICAgIFRoaXMgb3B0aW9uIGNvbnRyb2xzIGhv dyBTU0wgZW5jcnlwdGlvbiBpcyBuZWdvdGlhdGVkIHdpdGggdGhlIHNlcnZlciwKKyAgICAg ICAgaWYgU1NMIGlzIHVzZWQuIEluIHRoZSBkZWZhdWx0IDxsaXRlcmFsPnBvc3RncmVzPC9s aXRlcmFsPiBtb2RlLCB0aGUKKyAgICAgICAgY2xpZW50IGZpcnN0IGFza3MgdGhlIHNlcnZl ciBpZiBTU0wgaXMgc3VwcG9ydGVkLiBJbgorICAgICAgICA8bGl0ZXJhbD5kaXJlY3Q8L2xp dGVyYWw+IG1vZGUsIHRoZSBjbGllbnQgc3RhcnRzIHRoZSBzdGFuZGFyZCBTU0wKKyAgICAg ICAgaGFuZHNoYWtlIGRpcmVjdGx5IGFmdGVyIGVzdGFibGlzaGluZyB0aGUgVENQL0lQIGNv bm5lY3Rpb24uIFRyYWRpdGlvbmFsCisgICAgICAgIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FM PC9wcm9kdWN0bmFtZT4gcHJvdG9jb2wgbmVnb3RpYXRpb24gaXMgdGhlIG1vc3QKKyAgICAg ICAgZmxleGlibGUgd2l0aCBkaWZmZXJlbnQgc2VydmVyIGNvbmZpZ3VyYXRpb25zLiBJZiB0 aGUgc2VydmVyIGlzIGtub3duCisgICAgICAgIHRvIHN1cHBvcnQgZGlyZWN0IDxhY3Jvbnlt PlNTTDwvYWNyb255bT4gY29ubmVjdGlvbnMgdGhlbiB0aGUgbGF0dGVyCisgICAgICAgIHJl cXVpcmVzIG9uZSBmZXdlciByb3VuZCB0cmlwIHJlZHVjaW5nIGNvbm5lY3Rpb24gbGF0ZW5j eSBhbmQgYWxzbworICAgICAgICBhbGxvd3MgdGhlIHVzZSBvZiBwcm90b2NvbCBhZ25vc3Rp YyBTU0wgbmV0d29yayB0b29scy4gVGhlIGRpcmVjdCBTU0wKKyAgICAgICAgb3B0aW9uIHdh cyBpbnRyb2R1Y2VkIGluIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4g dmVyc2lvbgorICAgICAgICAxNy4KICAgICAgICA8L3BhcmE+CiAKICAgICAgICAgPHZhcmlh YmxlbGlzdD4KQEAgLTE3OTgsMzIgKzE4MDEsMTQgQEAgcG9zdGdyZXNxbDovLyUyRnZhciUy RmxpYiUyRnBvc3RncmVzcWwvZGJuYW1lCiAgICAgICAgICAgPHRlcm0+PGxpdGVyYWw+ZGly ZWN0PC9saXRlcmFsPjwvdGVybT4KICAgICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgICAg IDxwYXJhPgotICAgICAgICAgICAgIGZpcnN0IGF0dGVtcHQgdG8gZXN0YWJsaXNoIGEgc3Rh bmRhcmQgU1NMIGNvbm5lY3Rpb24gYW5kIGlmIHRoYXQKLSAgICAgICAgICAgICBmYWlscyBy ZWNvbm5lY3QgYW5kIHBlcmZvcm0gdGhlIG5lZ290aWF0aW9uLiBUaGlzIGZhbGxiYWNrCi0g ICAgICAgICAgICAgcHJvY2VzcyBhZGRzIHNpZ25pZmljYW50IGxhdGVuY3kgaWYgdGhlIGlu aXRpYWwgU1NMIGNvbm5lY3Rpb24KLSAgICAgICAgICAgICBmYWlscy4KLSAgICAgICAgICAg PC9wYXJhPgotICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICBBbiBleGNlcHRpb24g aXMgaWYgPGxpdGVyYWw+Z3NzZW5jbW9kZTwvbGl0ZXJhbD4gaXMgc2V0Ci0gICAgICAgICAg ICAgdG8gPGxpdGVyYWw+cHJlZmVyPC9saXRlcmFsPiwgYnV0IHRoZSBzZXJ2ZXIgcmVqZWN0 cyBHU1MgZW5jcnlwdGlvbi4KLSAgICAgICAgICAgICBJbiB0aGF0IGNhc2UsIFNTTCBpcyBu ZWdvdGlhdGVkIG92ZXIgdGhlIHNhbWUgVENQIGNvbm5lY3Rpb24gdXNpbmcKLSAgICAgICAg ICAgICA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+IHByb3RvY29sIG5l Z290aWF0aW9uLiBJbgotICAgICAgICAgICAgIG90aGVyIHdvcmRzLCB0aGUgZGlyZWN0IFNT TCBoYW5kc2hha2UgaXMgbm90IHVzZWQsIGlmIGEgVENQCi0gICAgICAgICAgICAgY29ubmVj dGlvbiBoYXMgYWxyZWFkeSBiZWVuIGVzdGFibGlzaGVkIGFuZCBjYW4gYmUgdXNlZCBmb3Ig dGhlCisgICAgICAgICAgICAgc3RhcnQgU1NMIGhhbmRzaGFrZSBkaXJlY3RseSBhZnRlciBl c3RhYmxpc2hpbmcgdGhlIFRDUC9JUAorICAgICAgICAgICAgIGNvbm5lY3Rpb24uICBUaGlz IGlzIG9ubHkgYWxsb3dlZCB3aXRoIHNzbG1vZGU9cmVxdWlyZSBvciBoaWdoZXIsCisgICAg ICAgICAgICAgYmVjYXVzZSB0aGUgd2Vha2VyIHNldHRpbmdzIGNvdWxkIGxlYWQgdG8gdW5p bnRlbmRlZCBmYWxsYmFjayB0bworICAgICAgICAgICAgIHBsYWludGV4dCBhdXRoZW50aWNh dGlvbiB3aGVuIHRoZSBzZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBkaXJlY3QKICAgICAgICAg ICAgICBTU0wgaGFuZHNoYWtlLgogICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgPC9s aXN0aXRlbT4KICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgotCi0gICAgICAgICA8dmFybGlz dGVudHJ5PgotICAgICAgICAgIDx0ZXJtPjxsaXRlcmFsPnJlcXVpcmVkaXJlY3Q8L2xpdGVy YWw+PC90ZXJtPgotICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgPHBhcmE+Ci0g ICAgICAgICAgICAgYXR0ZW1wdCB0byBlc3RhYmxpc2ggYSBzdGFuZGFyZCBTU0wgY29ubmVj dGlvbiBhbmQgaWYgdGhhdCBmYWlscwotICAgICAgICAgICAgIHJldHVybiBhIGNvbm5lY3Rp b24gZmFpbHVyZSBpbW1lZGlhdGVseS4KLSAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAg IDwvbGlzdGl0ZW0+Ci0gICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KICAgICAgICAgPC92YXJp YWJsZWxpc3Q+CiAgICAgICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KQEAg LTIwNjQsNyArMjA0OSw3IEBAIHBvc3RncmVzcWw6Ly8lMkZ2YXIlMkZsaWIlMkZwb3N0Z3Jl c3FsL2RibmFtZQogICAgICAgICBjb25uZWN0aW9ucyB3aXRob3V0IGhhdmluZyB0byBkZWNy eXB0IHRoZSBTU0wgc3RyZWFtLiAgKE5vdGUgdGhhdAogICAgICAgICB1bmxlc3MgdGhlIHBy b3h5IGlzIGF3YXJlIG9mIHRoZSBQb3N0Z3JlU1FMIHByb3RvY29sIGhhbmRzaGFrZSB0aGlz CiAgICAgICAgIHdvdWxkIHJlcXVpcmUgc2V0dGluZyA8bGl0ZXJhbD5zc2xuZWdvdGlhdGlv bjwvbGl0ZXJhbD4KLSAgICAgICAgdG8gPGxpdGVyYWw+ZGlyZWN0PC9saXRlcmFsPiBvciA8 bGl0ZXJhbD5yZXF1aXJlZGlyZWN0PC9saXRlcmFsPi4pCisgICAgICAgIHRvIDxsaXRlcmFs PmRpcmVjdDwvbGl0ZXJhbD4uKQogICAgICAgICBIb3dldmVyLCA8YWNyb255bT5TTkk8L2Fj cm9ueW0+IG1ha2VzIHRoZSBkZXN0aW5hdGlvbiBob3N0IG5hbWUgYXBwZWFyCiAgICAgICAg IGluIGNsZWFydGV4dCBpbiB0aGUgbmV0d29yayB0cmFmZmljLCBzbyBpdCBtaWdodCBiZSB1 bmRlc2lyYWJsZSBpbgogICAgICAgICBzb21lIGNhc2VzLgpkaWZmIC0tZ2l0IGEvc3JjL2lu dGVyZmFjZXMvbGlicHEvZmUtY29ubmVjdC5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUt Y29ubmVjdC5jCmluZGV4IDgxZDI3OGMzOTUuLjg1ZjU1YjE0YTkgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3QuYworKysgYi9zcmMvaW50ZXJmYWNlcy9s aWJwcS9mZS1jb25uZWN0LmMKQEAgLTI3NCw3ICsyNzQsNyBAQCBzdGF0aWMgY29uc3QgaW50 ZXJuYWxQUWNvbm5pbmZvT3B0aW9uIFBRY29ubmluZm9PcHRpb25zW10gPSB7CiAJb2Zmc2V0 b2Yoc3RydWN0IHBnX2Nvbm4sIHNzbG1vZGUpfSwKIAogCXsic3NsbmVnb3RpYXRpb24iLCAi UEdTU0xORUdPVElBVElPTiIsIERlZmF1bHRTU0xOZWdvdGlhdGlvbiwgTlVMTCwKLQkJIlNT TC1OZWdvdGlhdGlvbiIsICIiLCAxNCwJLyogc2l6ZW9mKCJyZXF1aXJlZGlyZWN0IikgPT0g MTQgKi8KKwkJIlNTTC1OZWdvdGlhdGlvbiIsICIiLCA5LAkvKiBzaXplb2YoInBvc3RncmVz IikgPT0gOSAgKi8KIAlvZmZzZXRvZihzdHJ1Y3QgcGdfY29ubiwgc3NsbmVnb3RpYXRpb24p fSwKIAogCXsic3NsY29tcHJlc3Npb24iLCAiUEdTU0xDT01QUkVTU0lPTiIsICIwIiwgTlVM TCwKQEAgLTE1OTAsOCArMTU5MCw3IEBAIHBxQ29ubmVjdE9wdGlvbnMyKFBHY29ubiAqY29u bikKIAlpZiAoY29ubi0+c3NsbmVnb3RpYXRpb24pCiAJewogCQlpZiAoc3RyY21wKGNvbm4t PnNzbG5lZ290aWF0aW9uLCAicG9zdGdyZXMiKSAhPSAwCi0JCQkmJiBzdHJjbXAoY29ubi0+ c3NsbmVnb3RpYXRpb24sICJkaXJlY3QiKSAhPSAwCi0JCQkmJiBzdHJjbXAoY29ubi0+c3Ns bmVnb3RpYXRpb24sICJyZXF1aXJlZGlyZWN0IikgIT0gMCkKKwkJCSYmIHN0cmNtcChjb25u LT5zc2xuZWdvdGlhdGlvbiwgImRpcmVjdCIpICE9IDApCiAJCXsKIAkJCWNvbm4tPnN0YXR1 cyA9IENPTk5FQ1RJT05fQkFEOwogCQkJbGlicHFfYXBwZW5kX2Nvbm5fZXJyb3IoY29ubiwg ImludmFsaWQgJXMgdmFsdWU6IFwiJXNcIiIsCkBAIC0xNjA4LDYgKzE2MDcsMjUgQEAgcHFD b25uZWN0T3B0aW9uczIoUEdjb25uICpjb25uKQogCQkJcmV0dXJuIGZhbHNlOwogCQl9CiAj ZW5kaWYKKworCQkvKgorCQkgKiBEb24ndCBhbGxvdyBkaXJlY3QgU1NMIG5lZ290aWF0aW9u IHdpdGggc3NsbW9kZT0ncHJlZmVyJywgYmVjYXVzZQorCQkgKiB0aGF0IHBvc2VzIGEgcmlz ayBvZiB1bmludGVudGlvbmFsIGZhbGxiYWNrIHRvIHBsYWludGV4dCBjb25uZWN0aW9uCisJ CSAqIHdoZW4gY29ubmVjdGluZyB0byBhIHByZS12MTcgc2VydmVyIHRoYXQgZG9lcyBub3Qg c3VwcG9ydCBkaXJlY3QKKwkJICogU1NMIGNvbm5lY3Rpb25zLiBUbyBrZWVwIHRoaW5ncyBz aW1wbGUsIGRvbid0IGFsbG93IGl0IHdpdGgKKwkJICogc3NsbW9kZT0nYWxsb3cnIG9yIHNz bG1vZGU9J2Rpc2FibGUnIGVpdGhlci4gSWYgYSB1c2VyIGdvZXMgdGhyb3VnaAorCQkgKiB0 aGUgdHJvdWJsZSBvZiBzZXR0aW5nIHNzbG5lZ290aWF0aW9uPSdkaXJlY3QnLCB0aGV5IHBy b2JhYmx5CisJCSAqIGludGVuZCB0byB1c2UgU1NMLCBhbmQgc3NsbW9kZT1kaXNhYmxlIG9y IGFsbG93IGlzIHByb2JhYmx5IGEgdXNlcgorCQkgKiB1c2VyIG1pc3Rha2UgYW55d2F5Lgor CQkgKi8KKwkJaWYgKGNvbm4tPnNzbG5lZ290aWF0aW9uWzBdID09ICdkJyAmJgorCQkJY29u bi0+c3NsbW9kZVswXSAhPSAncicgJiYgY29ubi0+c3NsbW9kZVswXSAhPSAndicpCisJCXsK KwkJCWNvbm4tPnN0YXR1cyA9IENPTk5FQ1RJT05fQkFEOworCQkJbGlicHFfYXBwZW5kX2Nv bm5fZXJyb3IoY29ubiwgIndlYWsgc3NsbW9kZSBcIiVzXCIgbWF5IG5vdCBiZSB1c2VkIHdp dGggc3NsbmVnb3RpYXRpb249ZGlyZWN0ICh1c2UgXCJyZXF1aXJlXCIsIFwidmVyaWZ5LWNh XCIsIG9yIFwidmVyaWZ5LWZ1bGxcIikiLAorCQkJCQkJCQkJY29ubi0+c3NsbW9kZSk7CisJ CQlyZXR1cm4gZmFsc2U7CisJCX0KIAl9CiAJZWxzZQogCXsKQEAgLTMzNDcsNDIgKzMzNjUs NDcgQEAga2VlcF9nb2luZzoJCQkJCQkvKiBXZSB3aWxsIGNvbWUgYmFjayB0byBoZXJlIHVu dGlsIHRoZXJlIGlzCiAJCQkJCWdvdG8gZXJyb3JfcmV0dXJuOwogCiAJCQkJLyoKLQkJCQkg KiBJZiBkaXJlY3QgU1NMIGlzIGVuYWJsZWQsIGp1bXAgcmlnaHQgaW50byBTU0wgaGFuZHNo YWtlLiBXZQotCQkJCSAqIHdpbGwgY29tZSBiYWNrIGhlcmUgYWZ0ZXIgU1NMIGVuY3J5cHRp b24gaGFzIGJlZW4KLQkJCQkgKiBlc3RhYmxpc2hlZCwgd2l0aCBzc2xfaW5fdXNlIHNldC4K LQkJCQkgKi8KLQkJCQlpZiAoY29ubi0+Y3VycmVudF9lbmNfbWV0aG9kID09IEVOQ19ESVJF Q1RfU1NMICYmICFjb25uLT5zc2xfaW5fdXNlKQotCQkJCXsKLQkJCQkJY29ubi0+c3RhdHVz ID0gQ09OTkVDVElPTl9TU0xfU1RBUlRVUDsKLQkJCQkJcmV0dXJuIFBHUkVTX1BPTExJTkdf V1JJVElORzsKLQkJCQl9Ci0KLQkJCQkvKgotCQkJCSAqIElmIG5lZ290aWF0ZWQgU1NMIGlz IGVuYWJsZWQsIHJlcXVlc3QgU1NMIGFuZCBwcm9jZWVkIHdpdGgKLQkJCQkgKiBTU0wgaGFu ZHNoYWtlLiAgV2Ugd2lsbCBjb21lIGJhY2sgaGVyZSBhZnRlciBTU0wgZW5jcnlwdGlvbgot CQkJCSAqIGhhcyBiZWVuIGVzdGFibGlzaGVkLCB3aXRoIHNzbF9pbl91c2Ugc2V0LgorCQkJ CSAqIElmIFNTTCBpcyBlbmFibGVkLCBzdGFydCB0aGUgU1NMIG5lZ290aWF0aW9uLiBXZSB3 aWxsIGNvbWUKKwkJCQkgKiBiYWNrIGhlcmUgYWZ0ZXIgU1NMIGVuY3J5cHRpb24gaGFzIGJl ZW4gZXN0YWJsaXNoZWQsIHdpdGgKKwkJCQkgKiBzc2xfaW5fdXNlIHNldC4KIAkJCQkgKi8K LQkJCQlpZiAoY29ubi0+Y3VycmVudF9lbmNfbWV0aG9kID09IEVOQ19ORUdPVElBVEVEX1NT TCAmJiAhY29ubi0+c3NsX2luX3VzZSkKKwkJCQlpZiAoY29ubi0+Y3VycmVudF9lbmNfbWV0 aG9kID09IEVOQ19TU0wgJiYgIWNvbm4tPnNzbF9pbl91c2UpCiAJCQkJewotCQkJCQlQcm90 b2NvbFZlcnNpb24gcHY7Ci0KIAkJCQkJLyoKLQkJCQkJICogU2VuZCB0aGUgU1NMIHJlcXVl c3QgcGFja2V0LgotCQkJCQkgKgotCQkJCQkgKiBUaGVvcmV0aWNhbGx5LCB0aGlzIGNvdWxk IGJsb2NrLCBidXQgaXQgcmVhbGx5Ci0JCQkJCSAqIHNob3VsZG4ndCBzaW5jZSB3ZSBvbmx5 IGdvdCBoZXJlIGlmIHRoZSBzb2NrZXQgaXMKLQkJCQkJICogd3JpdGUtcmVhZHkuCisJCQkJ CSAqIElmIHRyYWRpdGlvbmFsIHBvc3RncmVzIFNTTCBuZWdvdGlhdGlvbiBpcyB1c2VkLCBz ZW5kCisJCQkJCSAqIHRoZSBTU0wgcmVxdWVzdC4gIEluIGRpcmVjdCBuZWdvdGlhdGlvbiwg anVtcCBzdHJhaWdodAorCQkJCQkgKiBpbnRvIHRoZSBTU0wgaGFuZHNoYWtlLgogCQkJCQkg Ki8KLQkJCQkJcHYgPSBwZ19odG9uMzIoTkVHT1RJQVRFX1NTTF9DT0RFKTsKLQkJCQkJaWYg KHBxUGFja2V0U2VuZChjb25uLCAwLCAmcHYsIHNpemVvZihwdikpICE9IFNUQVRVU19PSykK KwkJCQkJaWYgKGNvbm4tPnNzbG5lZ290aWF0aW9uWzBdID09ICdwJykKIAkJCQkJewotCQkJ CQkJbGlicHFfYXBwZW5kX2Nvbm5fZXJyb3IoY29ubiwgImNvdWxkIG5vdCBzZW5kIFNTTCBu ZWdvdGlhdGlvbiBwYWNrZXQ6ICVzIiwKLQkJCQkJCQkJCQkJCVNPQ0tfU1RSRVJST1IoU09D S19FUlJOTywgc2VidWYsIHNpemVvZihzZWJ1ZikpKTsKLQkJCQkJCWdvdG8gZXJyb3JfcmV0 dXJuOworCQkJCQkJUHJvdG9jb2xWZXJzaW9uIHB2OworCisJCQkJCQlBc3NlcnQoY29ubi0+ c3NsbmVnb3RpYXRpb25bMF0gPT0gJ3AnKTsKKworCQkJCQkJLyoKKwkJCQkJCSAqIFNlbmQg dGhlIFNTTCByZXF1ZXN0IHBhY2tldC4KKwkJCQkJCSAqCisJCQkJCQkgKiBUaGVvcmV0aWNh bGx5LCB0aGlzIGNvdWxkIGJsb2NrLCBidXQgaXQgcmVhbGx5CisJCQkJCQkgKiBzaG91bGRu J3Qgc2luY2Ugd2Ugb25seSBnb3QgaGVyZSBpZiB0aGUgc29ja2V0IGlzCisJCQkJCQkgKiB3 cml0ZS1yZWFkeS4KKwkJCQkJCSAqLworCQkJCQkJcHYgPSBwZ19odG9uMzIoTkVHT1RJQVRF X1NTTF9DT0RFKTsKKwkJCQkJCWlmIChwcVBhY2tldFNlbmQoY29ubiwgMCwgJnB2LCBzaXpl b2YocHYpKSAhPSBTVEFUVVNfT0spCisJCQkJCQl7CisJCQkJCQkJbGlicHFfYXBwZW5kX2Nv bm5fZXJyb3IoY29ubiwgImNvdWxkIG5vdCBzZW5kIFNTTCBuZWdvdGlhdGlvbiBwYWNrZXQ6 ICVzIiwKKwkJCQkJCQkJCQkJCQlTT0NLX1NUUkVSUk9SKFNPQ0tfRVJSTk8sIHNlYnVmLCBz aXplb2Yoc2VidWYpKSk7CisJCQkJCQkJZ290byBlcnJvcl9yZXR1cm47CisJCQkJCQl9CisJ CQkJCQkvKiBPaywgd2FpdCBmb3IgcmVzcG9uc2UgKi8KKwkJCQkJCWNvbm4tPnN0YXR1cyA9 IENPTk5FQ1RJT05fU1NMX1NUQVJUVVA7CisJCQkJCQlyZXR1cm4gUEdSRVNfUE9MTElOR19S RUFESU5HOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJQXNzZXJ0KGNvbm4t PnNzbG5lZ290aWF0aW9uWzBdID09ICdkJyk7CisJCQkJCQljb25uLT5zdGF0dXMgPSBDT05O RUNUSU9OX1NTTF9TVEFSVFVQOworCQkJCQkJcmV0dXJuIFBHUkVTX1BPTExJTkdfV1JJVElO RzsKIAkJCQkJfQotCQkJCQkvKiBPaywgd2FpdCBmb3IgcmVzcG9uc2UgKi8KLQkJCQkJY29u bi0+c3RhdHVzID0gQ09OTkVDVElPTl9TU0xfU1RBUlRVUDsKLQkJCQkJcmV0dXJuIFBHUkVT X1BPTExJTkdfUkVBRElORzsKIAkJCQl9CiAjZW5kaWYJCQkJCQkJLyogVVNFX1NTTCAqLwog CkBAIC0zNDUzLDExICszNDc2LDExIEBAIGtlZXBfZ29pbmc6CQkJCQkJLyogV2Ugd2lsbCBj b21lIGJhY2sgdG8gaGVyZSB1bnRpbCB0aGVyZSBpcwogCQkJCVBvc3RncmVzUG9sbGluZ1N0 YXR1c1R5cGUgcG9sbHJlczsKIAogCQkJCS8qCi0JCQkJICogT24gZmlyc3QgdGltZSB0aHJv dWdoLCBnZXQgdGhlIHBvc3RtYXN0ZXIncyByZXNwb25zZSB0byBvdXIKLQkJCQkgKiBTU0wg bmVnb3RpYXRpb24gcGFja2V0LiBJZiB3ZSBhcmUgdHJ5aW5nIGEgZGlyZWN0IHNzbAotCQkJ CSAqIGNvbm5lY3Rpb24sIGdvIHN0cmFpZ2h0IHRvIGluaXRpYXRpbmcgc3NsLgorCQkJCSAq IE9uIGZpcnN0IHRpbWUgdGhyb3VnaCB3aXRoIHRyYWRpdGlvbmFsIFNTTCBuZWdvdGlhdGlv biwgZ2V0CisJCQkJICogdGhlIHBvc3RtYXN0ZXIncyByZXNwb25zZSB0byBvdXIgU1NMUmVx dWVzdCBwYWNrZXQuIFdpdGgKKwkJCQkgKiBzc2xuZWdvdGlhdGlvbj0nZGlyZWN0JywgZ28g c3RyYWlnaHQgdG8gaW5pdGlhdGluZyBTU0wuCiAJCQkJICovCi0JCQkJaWYgKCFjb25uLT5z c2xfaW5fdXNlICYmIGNvbm4tPmN1cnJlbnRfZW5jX21ldGhvZCA9PSBFTkNfTkVHT1RJQVRF RF9TU0wpCisJCQkJaWYgKCFjb25uLT5zc2xfaW5fdXNlICYmIGNvbm4tPnNzbG5lZ290aWF0 aW9uWzBdID09ICdwJykKIAkJCQl7CiAJCQkJCS8qCiAJCQkJCSAqIFdlIHVzZSBwcVJlYWRE YXRhIGhlcmUgc2luY2UgaXQgaGFzIHRoZSBsb2dpYyB0bwpAQCAtNDI4Miw3ICs0MzA1LDcg QEAgaW5pdF9hbGxvd2VkX2VuY3J5cHRpb25fbWV0aG9kcyhQR2Nvbm4gKmNvbm4pCiAJaWYg KGNvbm4tPnJhZGRyLmFkZHIuc3NfZmFtaWx5ID09IEFGX1VOSVgpCiAJewogCQkvKiBEb24n dCByZXF1ZXN0IFNTTCBvciBHU1NBUEkgb3ZlciBVbml4IHNvY2tldHMgKi8KLQkJY29ubi0+ YWxsb3dlZF9lbmNfbWV0aG9kcyAmPSB+KEVOQ19ESVJFQ1RfU1NMIHwgRU5DX05FR09USUFU RURfU1NMIHwgRU5DX0dTU0FQSSk7CisJCWNvbm4tPmFsbG93ZWRfZW5jX21ldGhvZHMgJj0g fihFTkNfU1NMIHwgRU5DX0dTU0FQSSk7CiAKIAkJLyoKIAkJICogWFhYOiB3ZSBwcm9iYWJs eSBzaG91bGQgbm90IGRvIHRoaXMuIHNzbG1vZGU9cmVxdWlyZSB3b3JrcwpAQCAtNDMwOSwx MiArNDMzMiw3IEBAIGluaXRfYWxsb3dlZF9lbmNyeXB0aW9uX21ldGhvZHMoUEdjb25uICpj b25uKQogCS8qIHNzbG1vZGUgYW55dGhpbmcgYnV0ICdkaXNhYmxlJywgYW5kIEdTU0FQSSBu b3QgcmVxdWlyZWQgKi8KIAlpZiAoY29ubi0+c3NsbW9kZVswXSAhPSAnZCcgJiYgY29ubi0+ Z3NzZW5jbW9kZVswXSAhPSAncicpCiAJewotCQlpZiAoY29ubi0+c3NsbmVnb3RpYXRpb25b MF0gPT0gJ3AnKQotCQkJY29ubi0+YWxsb3dlZF9lbmNfbWV0aG9kcyB8PSBFTkNfTkVHT1RJ QVRFRF9TU0w7Ci0JCWVsc2UgaWYgKGNvbm4tPnNzbG5lZ290aWF0aW9uWzBdID09ICdkJykK LQkJCWNvbm4tPmFsbG93ZWRfZW5jX21ldGhvZHMgfD0gRU5DX0RJUkVDVF9TU0wgfCBFTkNf TkVHT1RJQVRFRF9TU0w7Ci0JCWVsc2UgaWYgKGNvbm4tPnNzbG5lZ290aWF0aW9uWzBdID09 ICdyJykKLQkJCWNvbm4tPmFsbG93ZWRfZW5jX21ldGhvZHMgfD0gRU5DX0RJUkVDVF9TU0w7 CisJCWNvbm4tPmFsbG93ZWRfZW5jX21ldGhvZHMgfD0gRU5DX1NTTDsKIAl9CiAjZW5kaWYK IApAQCAtNDM1NCw3ICs0MzcyLDggQEAgZW5jcnlwdGlvbl9uZWdvdGlhdGlvbl9mYWlsZWQo UEdjb25uICpjb25uKQogCiAJaWYgKHNlbGVjdF9uZXh0X2VuY3J5cHRpb25fbWV0aG9kKGNv bm4sIHRydWUpKQogCXsKLQkJaWYgKGNvbm4tPmN1cnJlbnRfZW5jX21ldGhvZCA9PSBFTkNf RElSRUNUX1NTTCkKKwkJLyogQW4gZXhpc3RpbmcgY29ubmVjdGlvbiBjYW5ub3QgYmUgcmV1 c2VkIGZvciBkaXJlY3QgU1NMICovCisJCWlmIChjb25uLT5jdXJyZW50X2VuY19tZXRob2Qg PT0gRU5DX1NTTCAmJiBjb25uLT5zc2xuZWdvdGlhdGlvblswXSA9PSAnZCcpCiAJCQlyZXR1 cm4gMjsKIAkJZWxzZQogCQkJcmV0dXJuIDE7CkBAIC00Mzc2LDE4ICs0Mzk1LDYgQEAgY29u bmVjdGlvbl9mYWlsZWQoUEdjb25uICpjb25uKQogCUFzc2VydCgoY29ubi0+ZmFpbGVkX2Vu Y19tZXRob2RzICYgY29ubi0+Y3VycmVudF9lbmNfbWV0aG9kKSA9PSAwKTsKIAljb25uLT5m YWlsZWRfZW5jX21ldGhvZHMgfD0gY29ubi0+Y3VycmVudF9lbmNfbWV0aG9kOwogCi0JLyoK LQkgKiBJZiB0aGUgc2VydmVyIHJlcG9ydGVkIGFuIGVycm9yIGFmdGVyIHRoZSBTU0wgaGFu ZHNoYWtlLCBubyBwb2ludCBpbgotCSAqIHJldHJ5aW5nIHdpdGggbmVnb3RpYXRlZCB2cyBk aXJlY3QgU1NMLgotCSAqLwotCWlmICgoY29ubi0+Y3VycmVudF9lbmNfbWV0aG9kICYgKEVO Q19ESVJFQ1RfU1NMIHwgRU5DX05FR09USUFURURfU1NMKSkgIT0gMCAmJgotCQljb25uLT5z c2xfaGFuZHNoYWtlX3N0YXJ0ZWQpCi0JewotCQljb25uLT5mYWlsZWRfZW5jX21ldGhvZHMg fD0gKEVOQ19ESVJFQ1RfU1NMIHwgRU5DX05FR09USUFURURfU1NMKSAmIGNvbm4tPmFsbG93 ZWRfZW5jX21ldGhvZHM7Ci0JfQotCWVsc2UKLQkJY29ubi0+ZmFpbGVkX2VuY19tZXRob2Rz IHw9IGNvbm4tPmN1cnJlbnRfZW5jX21ldGhvZDsKLQogCXJldHVybiBzZWxlY3RfbmV4dF9l bmNyeXB0aW9uX21ldGhvZChjb25uLCBmYWxzZSk7CiB9CiAKQEAgLTQ0NDUsMjQgKzQ0NTIs MTcgQEAgc2VsZWN0X25leHRfZW5jcnlwdGlvbl9tZXRob2QoUEdjb25uICpjb25uLCBib29s IGhhdmVfdmFsaWRfY29ubmVjdGlvbikKIAlTRUxFQ1RfTkVYVF9NRVRIT0QoRU5DX0dTU0FQ SSk7CiAjZW5kaWYKIAotCS8qIFdpdGggc3NsbW9kZT1hbGxvdywgdHJ5IHBsYWludGV4dCBj b25uZWN0aW9uIGJlZm9yZSBTU0wuICovCi0JaWYgKGNvbm4tPnNzbG1vZGVbMF0gPT0gJ2En KQotCQlTRUxFQ1RfTkVYVF9NRVRIT0QoRU5DX1BMQUlOVEVYVCk7Ci0KIAkvKgotCSAqIElm IGVuYWJsZWQsIHRyeSBkaXJlY3QgU1NMLiBVbmxlc3Mgd2UgaGF2ZSBhIHZhbGlkIFRDUCBj b25uZWN0aW9uIHRoYXQKLQkgKiBmYWlsZWQgbmVnb3RpYXRpbmcgR1NTQVBJIGVuY3J5cHRp b247IGluIHRoYXQgY2FzZSB3ZSBwcmVmZXIgdG8gcmV1c2UKLQkgKiB0aGUgY29ubmVjdGlv biB3aXRoIG5lZ290aWF0ZWQgU1NMLCBpbnN0ZWFkIG9mIHJlY29ubmVjdGluZyB0byBkbwot CSAqIGRpcmVjdCBTU0wuIFRoZSBwb2ludCBvZiBzc2xuZWdvdGlhdGlvbj1kaXJlY3QgaXMg dG8gYXZvaWQgdGhlCi0JICogcm91bmR0cmlwIGZyb20gdGhlIG5lZ290aWF0aW9uLCBidXQg cmVjb25uZWN0aW5nIHdvdWxkIGFsc28gaW5jdXIgYQotCSAqIHJvdW5kdHJpcC4gKEluIHNz bG5lZ290aWF0aW9uPXJlcXVpcmVkaXJlY3QgbW9kZSwgbmVnb3RpYXRlZCBTU0wgaXMgbm90 Ci0JICogaW4gdGhlIGxpc3Qgb2YgYWxsb3dlZCBtZXRob2RzIGFuZCB3ZSB3aWxsIHJlY29u bmVjdC4pCisJICogVGhlIG9yZGVyIGJldHdlZW4gU1NMIGVuY3J5cHRpb24gYW5kIHBsYWlu dGV4dCBkZXBlbmRzIG9uIHNzbG1vZGUuIFdpdGgKKwkgKiBzc2xtb2RlPWFsbG93LCB0cnkg cGxhaW50ZXh0IGNvbm5lY3Rpb24gYmVmb3JlIFNTTC4gV2l0aAorCSAqIHNzbG1vZGU9cHJl ZmVyLCBpdCdzIHRoZSBvdGhlciB3YXkgcm91bmQuIFdpdGggb3RoZXIgbW9kZXMsIHdlIG9u bHkgdHJ5CisJICogcGxhaW50ZXh0IG9yIFNTTCBjb25uZWN0aW9ucyBzbyB0aGUgb3JkZXIg dGhleSdyZSBsaXN0ZWQgaGVyZSBkb2Vzbid0CisJICogbWF0dGVyLgogCSAqLwotCWlmICho YXZlX3ZhbGlkX2Nvbm5lY3Rpb24pCi0JCVNFTEVDVF9ORVhUX01FVEhPRChFTkNfTkVHT1RJ QVRFRF9TU0wpOworCWlmIChjb25uLT5zc2xtb2RlWzBdID09ICdhJykKKwkJU0VMRUNUX05F WFRfTUVUSE9EKEVOQ19QTEFJTlRFWFQpOwogCi0JU0VMRUNUX05FWFRfTUVUSE9EKEVOQ19E SVJFQ1RfU1NMKTsKLQlTRUxFQ1RfTkVYVF9NRVRIT0QoRU5DX05FR09USUFURURfU1NMKTsK KwlTRUxFQ1RfTkVYVF9NRVRIT0QoRU5DX1NTTCk7CiAKIAlpZiAoY29ubi0+c3NsbW9kZVsw XSAhPSAnYScpCiAJCVNFTEVDVF9ORVhUX01FVEhPRChFTkNfUExBSU5URVhUKTsKZGlmZiAt LWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1vcGVuc3NsLmMgYi9zcmMv aW50ZXJmYWNlcy9saWJwcS9mZS1zZWN1cmUtb3BlbnNzbC5jCmluZGV4IGZiNmJiOTExZjUu LmJmOWRmYmY5MTggMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3Vy ZS1vcGVuc3NsLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2VjdXJlLW9wZW5z c2wuYwpAQCAtMTU4Niw3ICsxNTg2LDcgQEAgb3Blbl9jbGllbnRfU1NMKFBHY29ubiAqY29u bikKIAl9CiAKIAkvKiBBTFBOIGlzIG1hbmRhdG9yeSB3aXRoIGRpcmVjdCBTU0wgY29ubmVj dGlvbnMgKi8KLQlpZiAoY29ubi0+Y3VycmVudF9lbmNfbWV0aG9kID09IEVOQ19ESVJFQ1Rf U1NMKQorCWlmIChjb25uLT5jdXJyZW50X2VuY19tZXRob2QgPT0gRU5DX1NTTCAmJiBjb25u LT5zc2xuZWdvdGlhdGlvblswXSA9PSAnZCcpCiAJewogCQljb25zdCB1bnNpZ25lZCBjaGFy ICpzZWxlY3RlZDsKIAkJdW5zaWduZWQgaW50IGxlbjsKZGlmZiAtLWdpdCBhL3NyYy9pbnRl cmZhY2VzL2xpYnBxL2xpYnBxLWludC5oIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEt aW50LmgKaW5kZXggMzY5MWU1ZWU5Ni4uMzg4NjIwNGM3MCAxMDA2NDQKLS0tIGEvc3JjL2lu dGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmgKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEv bGlicHEtaW50LmgKQEAgLTIzNSw4ICsyMzUsNyBAQCB0eXBlZGVmIGVudW0KICNkZWZpbmUg RU5DX0VSUk9SCQkJMAogI2RlZmluZSBFTkNfUExBSU5URVhUCQkweDAxCiAjZGVmaW5lIEVO Q19HU1NBUEkJCQkweDAyCi0jZGVmaW5lIEVOQ19ESVJFQ1RfU1NMCQkweDA0Ci0jZGVmaW5l IEVOQ19ORUdPVElBVEVEX1NTTAkweDA4CisjZGVmaW5lIEVOQ19TU0wJCQkJMHgwNAogCiAv KiBUYXJnZXQgc2VydmVyIHR5cGUgKGRlY29kZWQgdmFsdWUgb2YgdGFyZ2V0X3Nlc3Npb25f YXR0cnMpICovCiB0eXBlZGVmIGVudW0KQEAgLTM5NSw4ICszOTQsNyBAQCBzdHJ1Y3QgcGdf Y29ubgogCWNoYXIJICAgKmtlZXBhbGl2ZXNfY291bnQ7CS8qIG1heGltdW0gbnVtYmVyIG9m IFRDUCBrZWVwYWxpdmUKIAkJCQkJCQkJCSAqIHJldHJhbnNtaXRzICovCiAJY2hhcgkgICAq c3NsbW9kZTsJCS8qIFNTTCBtb2RlIChyZXF1aXJlLHByZWZlcixhbGxvdyxkaXNhYmxlKSAq LwotCWNoYXIJICAgKnNzbG5lZ290aWF0aW9uOyAvKiBTU0wgaW5pdGlhdGlvbiBzdHlsZQot CQkJCQkJCQkgKiAocG9zdGdyZXMsZGlyZWN0LHJlcXVpcmVkaXJlY3QpICovCisJY2hhcgkg ICAqc3NsbmVnb3RpYXRpb247IC8qIFNTTCBpbml0aWF0aW9uIHN0eWxlIChwb3N0Z3Jlcyxk aXJlY3QpICovCiAJY2hhcgkgICAqc3NsY29tcHJlc3Npb247IC8qIFNTTCBjb21wcmVzc2lv biAoMCBvciAxKSAqLwogCWNoYXIJICAgKnNzbGtleTsJCQkvKiBjbGllbnQga2V5IGZpbGVu YW1lICovCiAJY2hhcgkgICAqc3NsY2VydDsJCS8qIGNsaWVudCBjZXJ0aWZpY2F0ZSBmaWxl bmFtZSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvdC8wMDVfbmVnb3Rp YXRlX2VuY3J5cHRpb24ucGwgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS90LzAwNV9uZWdvdGlh dGVfZW5jcnlwdGlvbi5wbAppbmRleCBiYzE5Y2QyNDRiLi5jM2Y3MGQzMWJjIDEwMDY0NAot LS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS90LzAwNV9uZWdvdGlhdGVfZW5jcnlwdGlvbi5w bAorKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS90LzAwNV9uZWdvdGlhdGVfZW5jcnlwdGlv bi5wbApAQCAtMjEzLDcgKzIxMyw3IEBAIG15IEBhbGxfdGVzdF91c2VycyA9CiAgICgndGVz dHVzZXInLCAnc3NsdXNlcicsICdub3NzbHVzZXInLCAnZ3NzdXNlcicsICdub2dzc3VzZXIn KTsKIG15IEBhbGxfZ3NzZW5jbW9kZXMgPSAoJ2Rpc2FibGUnLCAncHJlZmVyJywgJ3JlcXVp cmUnKTsKIG15IEBhbGxfc3NsbW9kZXMgPSAoJ2Rpc2FibGUnLCAnYWxsb3cnLCAncHJlZmVy JywgJ3JlcXVpcmUnKTsKLW15IEBhbGxfc3NsbmVnb3RpYXRpb25zID0gKCdwb3N0Z3Jlcycs ICdkaXJlY3QnLCAncmVxdWlyZWRpcmVjdCcpOworbXkgQGFsbF9zc2xuZWdvdGlhdGlvbnMg PSAoJ3Bvc3RncmVzJywgJ2RpcmVjdCcpOwogCiBteSAkc2VydmVyX2NvbmZpZyA9IHsKIAlz ZXJ2ZXJfc3NsID0+IDAsCkBAIC0yMjgsMjMgKzIyOCwyMiBAQCBpZiAoJHNzbF9zdXBwb3J0 ZWQpCiB7CiAJJHRlc3RfdGFibGUgPSBxewogIyBVU0VSICAgICAgR1NTRU5DTU9ERSAgIFNT TE1PREUgICAgICBTU0xORUdPVElBVElPTiBFVkVOVFMgICAgICAgICAgICAgICAgICAgICAg LT4gT1VUQ09NRQotdGVzdHVzZXIgICAgZGlzYWJsZSAgICAgIGRpc2FibGUgICAgICAqICAg ICAgICAgICAgICBjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAgLT4gcGxhaW4KLS4gICAg ICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAgICAgKiAgICAgICAgICAgICAgY29ubmVj dCwgYXV0aG9rICAgICAgICAgICAgIC0+IHBsYWluCit0ZXN0dXNlciAgICBkaXNhYmxlICAg ICAgZGlzYWJsZSAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGF1dGhvayAgICAgICAg ICAgICAtPiBwbGFpbgorLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICBw b3N0Z3JlcyAgICAgICBjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAgLT4gcGxhaW4KIC4g ICAgICAgICAgIC4gICAgICAgICAgICBwcmVmZXIgICAgICAgcG9zdGdyZXMgICAgICAgY29u bmVjdCwgc3NscmVqZWN0LCBhdXRob2sgIC0+IHBsYWluCi0uICAgICAgICAgICAuICAgICAg ICAgICAgLiAgICAgICAgICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGRpcmVjdHNzbHJl amVjdCwgcmVjb25uZWN0LCBzc2xyZWplY3QsIGF1dGhvayAgLT4gcGxhaW4KLS4gICAgICAg ICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZWRpcmVjdCAgY29ubmVjdCwg ZGlyZWN0c3NscmVqZWN0LCByZWNvbm5lY3QsIGF1dGhvayAtPiBwbGFpbgogLiAgICAgICAg ICAgLiAgICAgICAgICAgIHJlcXVpcmUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBz c2xyZWplY3QgICAgICAgICAgLT4gZmFpbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4g ICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBkaXJlY3Rzc2xyZWplY3QsIHJl Y29ubmVjdCwgc3NscmVqZWN0IC0+IGZhaWwKLS4gICAgICAgICAgIC4gICAgICAgICAgICAu ICAgICAgICAgICAgcmVxdWlyZWRpcmVjdCAgY29ubmVjdCwgZGlyZWN0c3NscmVqZWN0ICAg IC0+IGZhaWwKLS4gICAgICAgICAgIHByZWZlciAgICAgICBkaXNhYmxlICAgICAgKiAgICAg ICAgICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAgICAgIC0+IHBsYWluCi0uICAgICAg ICAgICAuICAgICAgICAgICAgYWxsb3cgICAgICAgICogICAgICAgICAgICAgIGNvbm5lY3Qs IGF1dGhvayAgICAgICAgICAgICAtPiBwbGFpbgorLiAgICAgICAgICAgLiAgICAgICAgICAg IC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBkaXJlY3Rzc2xyZWplY3Qg ICAgLT4gZmFpbAorLiAgICAgICAgICAgcHJlZmVyICAgICAgIGRpc2FibGUgICAgICBwb3N0 Z3JlcyAgICAgICBjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAgLT4gcGxhaW4KKy4gICAg ICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVj dCwgYXV0aG9rICAgICAgICAgICAgIC0+IHBsYWluCiAuICAgICAgICAgICAuICAgICAgICAg ICAgcHJlZmVyICAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIHNzbHJlamVjdCwgYXV0 aG9rICAtPiBwbGFpbgotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBk aXJlY3QgICAgICAgICBjb25uZWN0LCBkaXJlY3Rzc2xyZWplY3QsIHJlY29ubmVjdCwgc3Ns cmVqZWN0LCBhdXRob2sgIC0+IHBsYWluCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAg ICAgICAgICAgIHJlcXVpcmVkaXJlY3QgIGNvbm5lY3QsIGRpcmVjdHNzbHJlamVjdCwgcmVj b25uZWN0LCBhdXRob2sgLT4gcGxhaW4KIC4gICAgICAgICAgIC4gICAgICAgICAgICByZXF1 aXJlICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgc3NscmVqZWN0ICAgICAgICAgIC0+ IGZhaWwKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAg ICAgICAgY29ubmVjdCwgZGlyZWN0c3NscmVqZWN0LCByZWNvbm5lY3QsIHNzbHJlamVjdCAt PiBmYWlsCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmVk aXJlY3QgIGNvbm5lY3QsIGRpcmVjdHNzbHJlamVjdCAgICAtPiBmYWlsCi0JfTsKKy4gICAg ICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVj dCwgZGlyZWN0c3NscmVqZWN0ICAgIC0+IGZhaWwKKworIyBzc2xuZWdvdGlhdGlvbj1kaXJl Y3QgaXMgbm90IGFjY2NlcHRlZCB1bmxlc3Mgc3NsbW9kZT1yZXF1aXJlIG9yIHN0cm9uZ2Vy CisqICAgICAgICAgICAqICAgICAgICAgICAgZGlzYWJsZSAgICAgIGRpcmVjdCAgICAgICAg IC0gICAgIC0+IGZhaWwKKyogICAgICAgICAgICogICAgICAgICAgICBhbGxvdyAgICAgICAg ZGlyZWN0ICAgICAgICAgLSAgICAgLT4gZmFpbAorKiAgICAgICAgICAgKiAgICAgICAgICAg IHByZWZlciAgICAgICBkaXJlY3QgICAgICAgICAtICAgICAtPiBmYWlsCit9OwogfQogZWxz ZQogewpAQCAtMjU4LDExICsyNTcsMTAgQEAgdGVzdHVzZXIgICAgZGlzYWJsZSAgICAgIGRp c2FibGUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBhdXRob2sKIC4gICAgICAgICAg IC4gICAgICAgICAgICBhbGxvdyAgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgYXV0 aG9rICAgICAgICAgICAgIC0+IHBsYWluCiAuICAgICAgICAgICAuICAgICAgICAgICAgcHJl ZmVyICAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAgICAt PiBwbGFpbgogCi0jIFdpdGhvdXQgU1NMIHN1cHBvcnQsIHNzbG1vZGU9cmVxdWlyZSBhbmQg c3NsbmVnb3RpYXRpb249ZGlyZWN0L3JlcXVpcmVkaXJlY3QKLSMgYXJlIG5vdCBhY2NlcHRl ZCBhdCBhbGwuCi0uICAgICAgICAgICAqICAgICAgICAgICAgcmVxdWlyZSAgICAgICogICAg ICAgICAgICAgIC0gICAgIC0+IGZhaWwKLS4gICAgICAgICAgICogICAgICAgICAgICAqICAg ICAgICAgICAgZGlyZWN0ICAgICAgICAgLSAgICAgLT4gZmFpbAotLiAgICAgICAgICAgKiAg ICAgICAgICAgICogICAgICAgICAgICByZXF1aXJlZGlyZWN0ICAtICAgICAtPiBmYWlsCisj IFdpdGhvdXQgU1NMIHN1cHBvcnQsIHNzbG1vZGU9cmVxdWlyZSBhbmQgc3NsbmVnb3RpYXRp b249ZGlyZWN0IGFyZQorIyBub3QgYWNjZXB0ZWQgYXQgYWxsCisqICAgICAgICAgICAqICAg ICAgICAgICAgcmVxdWlyZSAgICAgICogICAgICAgICAgICAgIC0gICAgIC0+IGZhaWwKKyog ICAgICAgICAgICogICAgICAgICAgICAqICAgICAgICAgICAgZGlyZWN0ICAgICAgICAgLSAg ICAgLT4gZmFpbAogCX07CiB9CiAKQEAgLTI4OCwzNCArMjg2LDI2IEBAIFNLSVA6CiAKIAkk dGVzdF90YWJsZSA9IHF7CiAjIFVTRVIgICAgICBHU1NFTkNNT0RFICAgU1NMTU9ERSAgICAg IFNTTE5FR09USUFUSU9OIEVWRU5UUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+IE9VVENPTUUKLXRlc3R1c2VyICAgIGRpc2FibGUgICAgICBkaXNhYmxl ICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gcGxhaW4KLS4gICAgICAgICAgIC4gICAgICAgICAgICBhbGxv dyAgICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gcGxhaW4KK3Rlc3R1c2VyICAgIGRpc2FibGUgICAgICBk aXNhYmxlICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gcGxhaW4KKy4gICAgICAgICAgIC4gICAgICAgICAg ICBhbGxvdyAgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4gcGxhaW4KIC4gICAgICAgICAgIC4gICAgICAg ICAgICBwcmVmZXIgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgc3NsYWNjZXB0LCBh dXRob2sgICAgICAgICAgICAgICAgICAgICAgLT4gc3NsCi0uICAgICAgICAgICAuICAgICAg ICAgICAgLiAgICAgICAgICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGRpcmVjdHNzbGFj Y2VwdCwgYXV0aG9rICAgICAgICAgICAgICAgIC0+IHNzbAotLiAgICAgICAgICAgLiAgICAg ICAgICAgIC4gICAgICAgICAgICByZXF1aXJlZGlyZWN0ICBjb25uZWN0LCBkaXJlY3Rzc2xh Y2NlcHQsIGF1dGhvayAgICAgICAgICAgICAgICAtPiBzc2wKIC4gICAgICAgICAgIC4gICAg ICAgICAgICByZXF1aXJlICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgc3NsYWNjZXB0 LCBhdXRob2sgICAgICAgICAgICAgICAgICAgICAgLT4gc3NsCiAuICAgICAgICAgICAuICAg ICAgICAgICAgLiAgICAgICAgICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGRpcmVjdHNz bGFjY2VwdCwgYXV0aG9rICAgICAgICAgICAgICAgIC0+IHNzbAotLiAgICAgICAgICAgLiAg ICAgICAgICAgIC4gICAgICAgICAgICByZXF1aXJlZGlyZWN0ICBjb25uZWN0LCBkaXJlY3Rz c2xhY2NlcHQsIGF1dGhvayAgICAgICAgICAgICAgICAtPiBzc2wKLXNzbHVzZXIgICAgIC4g ICAgICAgICAgICBkaXNhYmxlICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgYXV0aGZh aWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gZmFpbAorc3NsdXNlciAgICAg LiAgICAgICAgICAgIGRpc2FibGUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBhdXRo ZmFpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBmYWlsCiAuICAgICAgICAg ICAuICAgICAgICAgICAgYWxsb3cgICAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGF1 dGhmYWlsLCByZWNvbm5lY3QsIHNzbGFjY2VwdCwgYXV0aG9rIC0+IHNzbAotLiAgICAgICAg ICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBh dXRoZmFpbCwgcmVjb25uZWN0LCBkaXJlY3Rzc2xhY2NlcHQsIGF1dGhvayAtPiBzc2wKLS4g ICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZWRpcmVjdCAgY29u bmVjdCwgYXV0aGZhaWwsIHJlY29ubmVjdCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRob2sgLT4g c3NsCiAuICAgICAgICAgICAuICAgICAgICAgICAgcHJlZmVyICAgICAgIHBvc3RncmVzICAg ICAgIGNvbm5lY3QsIHNzbGFjY2VwdCwgYXV0aG9rICAgICAgICAgICAgICAgICAgICAgIC0+ IHNzbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAg ICAgICBjb25uZWN0LCBkaXJlY3Rzc2xhY2NlcHQsIGF1dGhvayAgICAgICAgICAgICAgICAt PiBzc2wKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZWRp cmVjdCAgY29ubmVjdCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRob2sgICAgICAgICAgICAgICAg LT4gc3NsCiAuICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAgIHBvc3RncmVz ICAgICAgIGNvbm5lY3QsIHNzbGFjY2VwdCwgYXV0aG9rICAgICAgICAgICAgICAgICAgICAg IC0+IHNzbAogLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3Qg ICAgICAgICBjb25uZWN0LCBkaXJlY3Rzc2xhY2NlcHQsIGF1dGhvayAgICAgICAgICAgICAg ICAtPiBzc2wKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWly ZWRpcmVjdCAgY29ubmVjdCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRob2sgICAgICAgICAgICAg ICAgLT4gc3NsCi1ub3NzbHVzZXIgICAuICAgICAgICAgICAgZGlzYWJsZSAgICAgICogICAg ICAgICAgICAgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+IHBsYWluCitub3NzbHVzZXIgICAuICAgICAgICAgICAgZGlzYWJsZSAgICAgIHBv c3RncmVzICAgICAgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+IHBsYWluCiAuICAgICAgICAgICAuICAgICAgICAgICAgYWxsb3cgICAgICAg IHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+IHBsYWluCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAgICAg ICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+IHBsYWluCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAg ICAgICAgIHJlcXVpcmVkaXJlY3QgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+IHBsYWluCiAuICAgICAgICAgICAuICAgICAgICAgICAgcHJl ZmVyICAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIHNzbGFjY2VwdCwgYXV0aGZhaWws IHJlY29ubmVjdCwgYXV0aG9rIC0+IHBsYWluCi0uICAgICAgICAgICAuICAgICAgICAgICAg LiAgICAgICAgICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGRpcmVjdHNzbGFjY2VwdCwg YXV0aGZhaWwsIHJlY29ubmVjdCwgYXV0aG9rIC0+IHBsYWluCi0uICAgICAgICAgICAuICAg ICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmVkaXJlY3QgIGNvbm5lY3QsIGRpcmVjdHNz bGFjY2VwdCwgYXV0aGZhaWwsIHJlY29ubmVjdCwgYXV0aG9rIC0+IHBsYWluCiAuICAgICAg ICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3Qs IHNzbGFjY2VwdCwgYXV0aGZhaWwgICAgICAgICAgICAgICAgICAgIC0+IGZhaWwKIC4gICAg ICAgICAgIC4gICAgICAgICAgICByZXF1aXJlICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVj dCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRoZmFpbCAgICAgICAgICAgICAgLT4gZmFpbAotLiAg ICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmUgICAgICByZXF1aXJlZGlyZWN0ICBjb25u ZWN0LCBkaXJlY3Rzc2xhY2NlcHQsIGF1dGhmYWlsICAgICAgICAgICAgICAtPiBmYWlsCisK KyMgc3NsbmVnb3RpYXRpb249ZGlyZWN0IGlzIG5vdCBhY2NjZXB0ZWQgdW5sZXNzIHNzbG1v ZGU9cmVxdWlyZSBvciBzdHJvbmdlcgorKiAgICAgICAgICAgKiAgICAgICAgICAgIGRpc2Fi bGUgICAgICBkaXJlY3QgICAgICAgICAtICAgICAtPiBmYWlsCisqICAgICAgICAgICAqICAg ICAgICAgICAgYWxsb3cgICAgICAgIGRpcmVjdCAgICAgICAgIC0gICAgIC0+IGZhaWwKKyog ICAgICAgICAgICogICAgICAgICAgICBwcmVmZXIgICAgICAgZGlyZWN0ICAgICAgICAgLSAg ICAgLT4gZmFpbAogfTsKIAogCSMgRW5hYmxlIFNTTCBpbiB0aGUgc2VydmVyCkBAIC0zNTAs NjIgKzM0MCw1NCBAQCBTS0lQOgogCiAJJHRlc3RfdGFibGUgPSBxewogIyBVU0VSICAgICAg R1NTRU5DTU9ERSAgIFNTTE1PREUgICAgICBTU0xORUdPVElBVElPTiBFVkVOVFMgICAgICAg ICAgICAgICAgICAgICAgIC0+IE9VVENPTUUKLXRlc3R1c2VyICAgIGRpc2FibGUgICAgICBk aXNhYmxlICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAgICAg ICAtPiBwbGFpbgotLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICAqICAg ICAgICAgICAgICBjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAgIC0+IHBsYWluCit0ZXN0 dXNlciAgICBkaXNhYmxlICAgICAgZGlzYWJsZSAgICAgIHBvc3RncmVzICAgICAgIGNvbm5l Y3QsIGF1dGhvayAgICAgICAgICAgICAgLT4gcGxhaW4KKy4gICAgICAgICAgIC4gICAgICAg ICAgICBhbGxvdyAgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAg ICAgICAgICAtPiBwbGFpbgogLiAgICAgICAgICAgLiAgICAgICAgICAgIHByZWZlciAgICAg ICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBzc2xyZWplY3QsIGF1dGhvayAgIC0+IHBsYWlu Ci0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAgICAgICAgIGRpcmVjdCAgICAgICAg IGNvbm5lY3QsIGRpcmVjdHNzbHJlamVjdCwgcmVjb25uZWN0LCBzc2xyZWplY3QsIGF1dGhv ayAgLT4gcGxhaW4KLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgcmVx dWlyZWRpcmVjdCAgY29ubmVjdCwgZGlyZWN0c3NscmVqZWN0LCByZWNvbm5lY3QsIGF1dGhv ayAgICAgICAgICAgICAtPiBwbGFpbgogLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVp cmUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBzc2xyZWplY3QgICAgICAgICAgICAg ICAgLT4gZmFpbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJl Y3QgICAgICAgICBjb25uZWN0LCBkaXJlY3Rzc2xyZWplY3QsIHJlY29ubmVjdCwgc3NscmVq ZWN0IC0+IGZhaWwKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgcmVx dWlyZWRpcmVjdCAgY29ubmVjdCwgZGlyZWN0c3NscmVqZWN0ICAgICAgICAgIC0+IGZhaWwK LS4gICAgICAgICAgIHByZWZlciAgICAgICAqICAgICAgICAgICAgKiAgICAgICAgICAgICAg Y29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRob2sgICAgICAgIC0+IGdzcwotLiAgICAgICAgICAg cmVxdWlyZSAgICAgICogICAgICAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3Nh Y2NlcHQsIGF1dGhvayAgICAgICAgLT4gZ3NzCisuICAgICAgICAgICAuICAgICAgICAgICAg LiAgICAgICAgICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGRpcmVjdHNzbHJlamVjdCAg ICAgICAgICAtPiBmYWlsCisuICAgICAgICAgICBwcmVmZXIgICAgICAgKiAgICAgICAgICAg IHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aG9rICAgICAgICAtPiBn c3MKKy4gICAgICAgICAgIHByZWZlciAgICAgICByZXF1aXJlICAgICAgZGlyZWN0ICAgICAg ICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRob2sgICAgICAgIC0+IGdzcworLiAgICAgICAg ICAgcmVxdWlyZSAgICAgICogICAgICAgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBn c3NhY2NlcHQsIGF1dGhvayAgICAgICAgLT4gZ3NzCisuICAgICAgICAgICAuICAgICAgICAg ICAgcmVxdWlyZSAgICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0 aG9rICAgICAgICAtPiBnc3MKIAotZ3NzdXNlciAgICAgZGlzYWJsZSAgICAgIGRpc2FibGUg ICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBhdXRoZmFpbCAgICAgICAgICAgICAgICAg IC0+IGZhaWwKK2dzc3VzZXIgICAgIGRpc2FibGUgICAgICBkaXNhYmxlICAgICAgcG9zdGdy ZXMgICAgICAgY29ubmVjdCwgYXV0aGZhaWwgICAgICAgICAgICAgICAgICAtPiBmYWlsCiAu ICAgICAgICAgICAuICAgICAgICAgICAgYWxsb3cgICAgICAgIHBvc3RncmVzICAgICAgIGNv bm5lY3QsIGF1dGhmYWlsLCByZWNvbm5lY3QsIHNzbHJlamVjdCAtPiBmYWlsCi0uICAgICAg ICAgICAuICAgICAgICAgICAgLiAgICAgICAgICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3Qs IGF1dGhmYWlsLCByZWNvbm5lY3QsIGRpcmVjdHNzbHJlamVjdCwgcmVjb25uZWN0LCBzc2xy ZWplY3QgLT4gZmFpbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBy ZXF1aXJlZGlyZWN0ICBjb25uZWN0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBkaXJlY3Rzc2xy ZWplY3QgLT4gZmFpbAogLiAgICAgICAgICAgLiAgICAgICAgICAgIHByZWZlciAgICAgICBw b3N0Z3JlcyAgICAgICBjb25uZWN0LCBzc2xyZWplY3QsIGF1dGhmYWlsICAgICAgIC0+IGZh aWwKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAg ICAgY29ubmVjdCwgZGlyZWN0c3NscmVqZWN0LCByZWNvbm5lY3QsIHNzbHJlamVjdCwgYXV0 aGZhaWwgLT4gZmFpbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBy ZXF1aXJlZGlyZWN0ICBjb25uZWN0LCBkaXJlY3Rzc2xyZWplY3QsIHJlY29ubmVjdCwgYXV0 aGZhaWwgLT4gZmFpbAogLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmUgICAgICBw b3N0Z3JlcyAgICAgICBjb25uZWN0LCBzc2xyZWplY3QgICAgICAgICAgICAgICAgIC0+IGZh aWwKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAg ICAgY29ubmVjdCwgZGlyZWN0c3NscmVqZWN0LCByZWNvbm5lY3QsIHNzbHJlamVjdCAtPiBm YWlsCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmVkaXJl Y3QgIGNvbm5lY3QsIGRpcmVjdHNzbHJlamVjdCAgICAgICAgICAgLT4gZmFpbAotLiAgICAg ICAgICAgcHJlZmVyICAgICAgICogICAgICAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0 LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcwotLiAgICAgICAgICAgcmVxdWlyZSAgICAg ICogICAgICAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhv ayAgIC0+IGdzcworLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJl Y3QgICAgICAgICBjb25uZWN0LCBkaXJlY3Rzc2xyZWplY3QgICAgICAgICAgIC0+IGZhaWwK Ky4gICAgICAgICAgIHByZWZlciAgICAgICAqICAgICAgICAgICAgcG9zdGdyZXMgICAgICAg Y29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRob2sgICAtPiBnc3MKKy4gICAgICAgICAgIHByZWZl ciAgICAgICByZXF1aXJlICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0 LCBhdXRob2sgICAtPiBnc3MKKy4gICAgICAgICAgIHJlcXVpcmUgICAgICAqICAgICAgICAg ICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRob2sgICAtPiBnc3MK Ky4gICAgICAgICAgIC4gICAgICAgICAgICByZXF1aXJlICAgICAgZGlyZWN0ICAgICAgICAg Y29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRob2sgICAtPiBnc3MKIAotbm9nc3N1c2VyICAgZGlz YWJsZSAgICAgIGRpc2FibGUgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBhdXRob2sg ICAgICAgICAgICAgIC0+IHBsYWluCitub2dzc3VzZXIgICBkaXNhYmxlICAgICAgZGlzYWJs ZSAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAgICAgLT4g cGxhaW4KIC4gICAgICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAgICAgcG9zdGdyZXMg ICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAgICAgICAtPiBwbGFpbgotLiAgICAgICAg ICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBh dXRob2sgICAgICAgICAgICAgIC0+IHBsYWluCi0uICAgICAgICAgICAuICAgICAgICAgICAg LiAgICAgICAgICAgIHJlcXVpcmVkaXJlY3QgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAg ICAgLT4gcGxhaW4KIC4gICAgICAgICAgIC4gICAgICAgICAgICBwcmVmZXIgICAgICAgcG9z dGdyZXMgICAgICAgY29ubmVjdCwgc3NscmVqZWN0LCBhdXRob2sgICAtPiBwbGFpbgotLiAg ICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25u ZWN0LCBkaXJlY3Rzc2xyZWplY3QsIHJlY29ubmVjdCwgc3NscmVqZWN0LCBhdXRob2sgICAt PiBwbGFpbgotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICByZXF1aXJl ZGlyZWN0ICBjb25uZWN0LCBkaXJlY3Rzc2xyZWplY3QsIHJlY29ubmVjdCwgYXV0aG9rICAg ICAgICAgICAgICAtPiBwbGFpbgogLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmUg ICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBzc2xyZWplY3QgICAgICAgICAgICAgICAg IC0+IGZhaWwKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0 ICAgICAgICAgY29ubmVjdCwgZGlyZWN0c3NscmVqZWN0LCByZWNvbm5lY3QsIHNzbHJlamVj dCAtPiBmYWlsCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVp cmVkaXJlY3QgIGNvbm5lY3QsIGRpcmVjdHNzbHJlamVjdCAgICAgICAgICAgLT4gZmFpbAot LiAgICAgICAgICAgcHJlZmVyICAgICAgIGRpc2FibGUgICAgICAqICAgICAgICAgICAgICBj b25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGF1dGhvayAgICAgICAg ICAgICAtPiBwbGFpbgorLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBk aXJlY3QgICAgICAgICBjb25uZWN0LCBkaXJlY3Rzc2xyZWplY3QgICAgICAgICAgIC0+IGZh aWwKKy4gICAgICAgICAgIHByZWZlciAgICAgICBkaXNhYmxlICAgICAgcG9zdGdyZXMgICAg ICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBhdXRob2sgICAg ICAgICAgICAgLT4gcGxhaW4KIC4gICAgICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAg ICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCwgcmVjb25u ZWN0LCBhdXRob2sgICAgICAgICAgICAgLT4gcGxhaW4KLS4gICAgICAgICAgIC4gICAgICAg ICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBh dXRoZmFpbCwgcmVjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAgLT4gcGxhaW4KLS4gICAg ICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZWRpcmVjdCAgY29ubmVj dCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAg LT4gcGxhaW4KIC4gICAgICAgICAgIC4gICAgICAgICAgICBwcmVmZXIgICAgICAgcG9zdGdy ZXMgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBzc2xy ZWplY3QsIGF1dGhvayAgLT4gcGxhaW4KLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAg ICAgICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCwg cmVjb25uZWN0LCBkaXJlY3Rzc2xyZWplY3QsIHJlY29ubmVjdCwgc3NscmVqZWN0LCBhdXRo b2sgIC0+IHBsYWluCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAgICAgICAgIHJl cXVpcmVkaXJlY3QgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwsIHJlY29ubmVjdCwg ZGlyZWN0c3NscmVqZWN0LCByZWNvbm5lY3QsIGF1dGhvayAgLT4gcGxhaW4KIC4gICAgICAg ICAgIC4gICAgICAgICAgICByZXF1aXJlICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwg Z3NzYWNjZXB0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBzc2xyZWplY3QgICAgICAgICAgLT4g ZmFpbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAg ICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRpcmVjdHNz bHJlamVjdCwgcmVjb25uZWN0LCBzc2xyZWplY3QgICAgICAgICAgLT4gZmFpbAotLiAgICAg ICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICByZXF1aXJlZGlyZWN0ICBjb25uZWN0 LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRpcmVjdHNzbHJlamVjdCAgICAg ICAgICAtPiBmYWlsCi0uICAgICAgICAgICByZXF1aXJlICAgICAgZGlzYWJsZSAgICAgICog ICAgICAgICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbAotLiAg ICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICAqICAgICAgICAgICAgICBjb25u ZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsIC0+IGZhaWwKLS4gICAgICAgICAgIC4gICAgICAg ICAgICBwcmVmZXIgICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBh dXRoZmFpbCAtPiBmYWlsCi0uICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAg ICogICAgICAgICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbCAg ICMgSWYgYm90aCBHU1NBUEkgYW5kIHNzbG1vZGUgYXJlIHJlcXVpcmVkLCBhbmQgR1NTIGlz IG5vdCBhdmFpbGFibGUgLT4gZmFpbAorLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAg ICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCBy ZWNvbm5lY3QsIGRpcmVjdHNzbHJlamVjdCAgICAgICAgICAtPiBmYWlsCisuICAgICAgICAg ICByZXF1aXJlICAgICAgZGlzYWJsZSAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGdz c2FjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbAorLiAgICAgICAgICAgLiAgICAgICAgICAgIGFs bG93ICAgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWls IC0+IGZhaWwKKy4gICAgICAgICAgIC4gICAgICAgICAgICBwcmVmZXIgICAgICAgcG9zdGdy ZXMgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCAtPiBmYWlsCisuICAgICAg ICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3Qs IGdzc2FjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbCAgICMgSWYgYm90aCBHU1NBUEkgYW5kIHNz bG1vZGUgYXJlIHJlcXVpcmVkLCBhbmQgR1NTIGlzIG5vdCBhdmFpbGFibGUgLT4gZmFpbAor LiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBj b25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsIC0+IGZhaWwgICAjIElmIGJvdGggR1NTQVBJ IGFuZCBzc2xtb2RlIGFyZSByZXF1aXJlZCwgYW5kIEdTUyBpcyBub3QgYXZhaWxhYmxlIC0+ IGZhaWwKKworIyBzc2xuZWdvdGlhdGlvbj1kaXJlY3QgaXMgbm90IGFjY2NlcHRlZCB1bmxl c3Mgc3NsbW9kZT1yZXF1aXJlIG9yIHN0cm9uZ2VyCisqICAgICAgICAgICAqICAgICAgICAg ICAgZGlzYWJsZSAgICAgIGRpcmVjdCAgICAgICAgIC0gICAgIC0+IGZhaWwKKyogICAgICAg ICAgICogICAgICAgICAgICBhbGxvdyAgICAgICAgZGlyZWN0ICAgICAgICAgLSAgICAgLT4g ZmFpbAorKiAgICAgICAgICAgKiAgICAgICAgICAgIHByZWZlciAgICAgICBkaXJlY3QgICAg ICAgICAtICAgICAtPiBmYWlsCiAJfTsKIAogCSMgVGhlIGV4cGVjdGVkIGV2ZW50cyBhbmQg b3V0Y29tZXMgYWJvdmUgYXNzdW1lIHRoYXQgU1NMIHN1cHBvcnQKIAkjIGlzIGVuYWJsZWQu IFdoZW4gbGlicHEgaXMgY29tcGlsZWQgd2l0aG91dCBTU0wgc3VwcG9ydCwgYWxsCiAJIyBh dHRlbXB0cyB0byBjb25uZWN0IHdpdGggc3NsbW9kZT1yZXF1aXJlIG9yCi0JIyBzc2xuZWdv dGlhdGlvbj1kaXJlY3QvcmVxdWlyZWRpcmVjdCB3b3VsZCBmYWlsIGltbWVkaWF0ZWx5IHdp dGhvdXQKLQkjIGV2ZW4gY29ubmVjdGluZyB0byB0aGUgc2VydmVyLiBTa2lwIHRob3NlLCBi ZWNhdXNlIHdlIHRlc3RlZAotCSMgdGhlbSBlYXJsaWVyIGFscmVhZHkuCisJIyBzc2xuZWdv dGlhdGlvbj1kaXJlY3Qgd291bGQgZmFpbCBpbW1lZGlhdGVseSB3aXRob3V0IGV2ZW4KKwkj IGNvbm5lY3RpbmcgdG8gdGhlIHNlcnZlci4gU2tpcCB0aG9zZSwgYmVjYXVzZSB3ZSB0ZXN0 ZWQgdGhlbQorCSMgZWFybGllciBhbHJlYWR5LgogCW15ICgkc3NsbW9kZXMsICRzc2xuZWdv dGlhdGlvbnMpOwogCWlmICgkc3NsX3N1cHBvcnRlZCAhPSAwKQogCXsKQEAgLTQ0NSwxMDAg KzQyNyw4NCBAQCBTS0lQOgogCiAJJHRlc3RfdGFibGUgPSBxewogIyBVU0VSICAgICAgR1NT RU5DTU9ERSAgIFNTTE1PREUgICAgICBTU0xORUdPVElBVElPTiBFVkVOVFMgICAgICAgICAg ICAgICAgICAgICAgIC0+IE9VVENPTUUKLXRlc3R1c2VyICAgIGRpc2FibGUgICAgICBkaXNh YmxlICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAgICAgICAt PiBwbGFpbgotLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICAqICAgICAg ICAgICAgICBjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAgIC0+IHBsYWluCi0uICAgICAg ICAgICAuICAgICAgICAgICAgcHJlZmVyICAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3Qs IHNzbGFjY2VwdCwgYXV0aG9rICAgICAgICAgLT4gc3NsCi0uICAgICAgICAgICAuICAgICAg ICAgICAgLiAgICAgICAgICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGRpcmVjdHNzbGFj Y2VwdCwgYXV0aG9rICAgLT4gc3NsCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAg ICAgICAgIHJlcXVpcmVkaXJlY3QgIGNvbm5lY3QsIGRpcmVjdHNzbGFjY2VwdCwgYXV0aG9r ICAgLT4gc3NsCi0uICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAgIHBvc3Rn cmVzICAgICAgIGNvbm5lY3QsIHNzbGFjY2VwdCwgYXV0aG9rICAgICAgICAgLT4gc3NsCit0 ZXN0dXNlciAgICBkaXNhYmxlICAgICAgZGlzYWJsZSAgICAgIHBvc3RncmVzICAgICAgIGNv bm5lY3QsIGF1dGhvayAgICAgICAgICAgICAgLT4gcGxhaW4KKy4gICAgICAgICAgIC4gICAg ICAgICAgICBhbGxvdyAgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgYXV0aG9rICAg ICAgICAgICAgICAtPiBwbGFpbgorLiAgICAgICAgICAgLiAgICAgICAgICAgIHByZWZlciAg ICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBzc2xhY2NlcHQsIGF1dGhvayAgIC0+IHNz bAorLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmUgICAgICBwb3N0Z3JlcyAgICAg ICBjb25uZWN0LCBzc2xhY2NlcHQsIGF1dGhvayAgIC0+IHNzbAogLiAgICAgICAgICAgLiAg ICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBkaXJlY3Rz c2xhY2NlcHQsIGF1dGhvayAgIC0+IHNzbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4g ICAgICAgICAgICByZXF1aXJlZGlyZWN0ICBjb25uZWN0LCBkaXJlY3Rzc2xhY2NlcHQsIGF1 dGhvayAgIC0+IHNzbAotLiAgICAgICAgICAgcHJlZmVyICAgICAgIGRpc2FibGUgICAgICAq ICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcwotLiAg ICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICAqICAgICAgICAgICAgICBjb25u ZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcwotLiAgICAgICAgICAgLiAgICAgICAg ICAgIHByZWZlciAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1 dGhvayAgIC0+IGdzcwotLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmUgICAgICAq ICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcyAgICAg IyBJZiBib3RoIEdTUyBhbmQgU1NMIGlzIHBvc3NpYmxlLCBHU1MgaXMgY2hvc2VuIG92ZXIg U1NMLCBldmVuIGlmIHNzbG1vZGU9cmVxdWlyZQotLiAgICAgICAgICAgcmVxdWlyZSAgICAg IGRpc2FibGUgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhv ayAgIC0+IGdzcwotLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICAqICAg ICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcwotLiAgICAg ICAgICAgLiAgICAgICAgICAgIHByZWZlciAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0 LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcwotLiAgICAgICAgICAgLiAgICAgICAgICAg IHJlcXVpcmUgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhv ayAgIC0+IGdzcyAgICAgIyBJZiBib3RoIEdTUyBhbmQgU1NMIGlzIHBvc3NpYmxlLCBHU1Mg aXMgY2hvc2VuIG92ZXIgU1NMLCBldmVuIGlmIHNzbG1vZGU9cmVxdWlyZQotCi1nc3N1c2Vy ICAgICBkaXNhYmxlICAgICAgZGlzYWJsZSAgICAgICogICAgICAgICAgICAgIGNvbm5lY3Qs IGF1dGhmYWlsICAgICAgICAgICAgLT4gZmFpbAorLiAgICAgICAgICAgcHJlZmVyICAgICAg IGRpc2FibGUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhv ayAgIC0+IGdzcworLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICBwb3N0 Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcworLiAgICAg ICAgICAgLiAgICAgICAgICAgIHByZWZlciAgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0 LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcworLiAgICAgICAgICAgLiAgICAgICAgICAg IHJlcXVpcmUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhv ayAgIC0+IGdzcyAgICAgIyBJZiBib3RoIEdTUyBhbmQgU1NMIGlzIHBvc3NpYmxlLCBHU1Mg aXMgY2hvc2VuIG92ZXIgU1NMLCBldmVuIGlmIHNzbG1vZGU9cmVxdWlyZQorLiAgICAgICAg ICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBn c3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcworLiAgICAgICAgICAgcmVxdWlyZSAgICAgIGRp c2FibGUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAg IC0+IGdzcworLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICBwb3N0Z3Jl cyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcworLiAgICAgICAg ICAgLiAgICAgICAgICAgIHByZWZlciAgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBn c3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcworLiAgICAgICAgICAgLiAgICAgICAgICAgIHJl cXVpcmUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAg IC0+IGdzcyAgICAgIyBJZiBib3RoIEdTUyBhbmQgU1NMIGlzIHBvc3NpYmxlLCBHU1MgaXMg Y2hvc2VuIG92ZXIgU1NMLCBldmVuIGlmIHNzbG1vZGU9cmVxdWlyZQorLiAgICAgICAgICAg LiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBnc3Nh Y2NlcHQsIGF1dGhvayAgIC0+IGdzcworCitnc3N1c2VyICAgICBkaXNhYmxlICAgICAgZGlz YWJsZSAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGF1dGhmYWlsICAgICAgICAgICAg LT4gZmFpbAogLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICBwb3N0Z3Jl cyAgICAgICBjb25uZWN0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBzc2xhY2NlcHQsIGF1dGhm YWlsIC0+IGZhaWwKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGly ZWN0ICAgICAgICAgY29ubmVjdCwgYXV0aGZhaWwsIHJlY29ubmVjdCwgZGlyZWN0c3NsYWNj ZXB0LCBhdXRoZmFpbCAtPiBmYWlsCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAg ICAgICAgIHJlcXVpcmVkaXJlY3QgIGNvbm5lY3QsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRp cmVjdHNzbGFjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbAogLiAgICAgICAgICAgLiAgICAgICAg ICAgIHByZWZlciAgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBzc2xhY2NlcHQsIGF1 dGhmYWlsLCByZWNvbm5lY3QsIGF1dGhmYWlsIC0+IGZhaWwKLS4gICAgICAgICAgIC4gICAg ICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwgZGlyZWN0c3Ns YWNjZXB0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBhdXRoZmFpbCAtPiBmYWlsCi0uICAgICAg ICAgICAuICAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmVkaXJlY3QgIGNvbm5lY3Qs IGRpcmVjdHNzbGFjY2VwdCwgYXV0aGZhaWwsIHJlY29ubmVjdCwgYXV0aGZhaWwgLT4gZmFp bAogLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmUgICAgICBwb3N0Z3JlcyAgICAg ICBjb25uZWN0LCBzc2xhY2NlcHQsIGF1dGhmYWlsICAgICAgIC0+IGZhaWwKIC4gICAgICAg ICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwg ZGlyZWN0c3NsYWNjZXB0LCBhdXRoZmFpbCAtPiBmYWlsCi0uICAgICAgICAgICAuICAgICAg ICAgICAgLiAgICAgICAgICAgIHJlcXVpcmVkaXJlY3QgIGNvbm5lY3QsIGRpcmVjdHNzbGFj Y2VwdCwgYXV0aGZhaWwgLT4gZmFpbAotLiAgICAgICAgICAgcHJlZmVyICAgICAgIGRpc2Fi bGUgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+ IGdzcwotLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICAqICAgICAgICAg ICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcwotLiAgICAgICAgICAg LiAgICAgICAgICAgIHByZWZlciAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3Nh Y2NlcHQsIGF1dGhvayAgIC0+IGdzcwotLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVp cmUgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+ IGdzcyAgICMgR1NTIGlzIGNob3NlbiBvdmVyIFNTTCwgZXZlbiB0aG91Z2ggc3NsbW9kZT1y ZXF1aXJlCi0uICAgICAgICAgICByZXF1aXJlICAgICAgZGlzYWJsZSAgICAgICogICAgICAg ICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aG9rICAgLT4gZ3NzCi0uICAgICAgICAg ICAuICAgICAgICAgICAgYWxsb3cgICAgICAgICogICAgICAgICAgICAgIGNvbm5lY3QsIGdz c2FjY2VwdCwgYXV0aG9rICAgLT4gZ3NzCi0uICAgICAgICAgICAuICAgICAgICAgICAgcHJl ZmVyICAgICAgICogICAgICAgICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aG9rICAg LT4gZ3NzCi0uICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAgICogICAgICAg ICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aG9rICAgLT4gZ3NzICAgICAjIElmIGJv dGggR1NTIGFuZCBTU0wgaXMgcG9zc2libGUsIEdTUyBpcyBjaG9zZW4gb3ZlciBTU0wsIGV2 ZW4gaWYgc3NsbW9kZT1yZXF1aXJlCi0KLXNzbHVzZXIgICAgIGRpc2FibGUgICAgICBkaXNh YmxlICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgYXV0aGZhaWwgICAgICAgICAgICAt PiBmYWlsCisuICAgICAgICAgICBwcmVmZXIgICAgICAgZGlzYWJsZSAgICAgIHBvc3RncmVz ICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aG9rICAgLT4gZ3NzCisuICAgICAgICAg ICAuICAgICAgICAgICAgYWxsb3cgICAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGdz c2FjY2VwdCwgYXV0aG9rICAgLT4gZ3NzCisuICAgICAgICAgICAuICAgICAgICAgICAgcHJl ZmVyICAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aG9rICAg LT4gZ3NzCisuICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAgIHBvc3RncmVz ICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aG9rICAgLT4gZ3NzICAgIyBHU1MgaXMg Y2hvc2VuIG92ZXIgU1NMLCBldmVuIHRob3VnaCBzc2xtb2RlPXJlcXVpcmUKKy4gICAgICAg ICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwg Z3NzYWNjZXB0LCBhdXRob2sgICAtPiBnc3MKKy4gICAgICAgICAgIHJlcXVpcmUgICAgICBk aXNhYmxlICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRob2sg ICAtPiBnc3MKKy4gICAgICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAgICAgcG9zdGdy ZXMgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRob2sgICAtPiBnc3MKKy4gICAgICAg ICAgIC4gICAgICAgICAgICBwcmVmZXIgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwg Z3NzYWNjZXB0LCBhdXRob2sgICAtPiBnc3MKKy4gICAgICAgICAgIC4gICAgICAgICAgICBy ZXF1aXJlICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRob2sg ICAtPiBnc3MgICAgICMgSWYgYm90aCBHU1MgYW5kIFNTTCBpcyBwb3NzaWJsZSwgR1NTIGlz IGNob3NlbiBvdmVyIFNTTCwgZXZlbiBpZiBzc2xtb2RlPXJlcXVpcmUKKy4gICAgICAgICAg IC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwgZ3Nz YWNjZXB0LCBhdXRob2sgICAtPiBnc3MKKworc3NsdXNlciAgICAgZGlzYWJsZSAgICAgIGRp c2FibGUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBhdXRoZmFpbCAgICAgICAgICAg IC0+IGZhaWwKIC4gICAgICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAgICAgcG9zdGdy ZXMgICAgICAgY29ubmVjdCwgYXV0aGZhaWwsIHJlY29ubmVjdCwgc3NsYWNjZXB0LCBhdXRo b2sgICAgICAgLT4gc3NsCi0uICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAgICAgICAg IGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRpcmVjdHNz bGFjY2VwdCwgYXV0aG9rIC0+IHNzbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAg ICAgICAgICByZXF1aXJlZGlyZWN0ICBjb25uZWN0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBk aXJlY3Rzc2xhY2NlcHQsIGF1dGhvayAtPiBzc2wKIC4gICAgICAgICAgIC4gICAgICAgICAg ICBwcmVmZXIgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgc3NsYWNjZXB0LCBhdXRo b2sgICAgICAgICAtPiBzc2wKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAg ICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRob2sgICAt PiBzc2wKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZWRp cmVjdCAgY29ubmVjdCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRob2sgICAtPiBzc2wKIC4gICAg ICAgICAgIC4gICAgICAgICAgICByZXF1aXJlICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVj dCwgc3NsYWNjZXB0LCBhdXRob2sgICAgICAgICAtPiBzc2wKIC4gICAgICAgICAgIC4gICAg ICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwgZGlyZWN0c3Ns YWNjZXB0LCBhdXRob2sgICAtPiBzc2wKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAg ICAgICAgICAgcmVxdWlyZWRpcmVjdCAgY29ubmVjdCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRo b2sgICAtPiBzc2wKLS4gICAgICAgICAgIHByZWZlciAgICAgICBkaXNhYmxlICAgICAgKiAg ICAgICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBh dXRoZmFpbCAtPiBmYWlsCisuICAgICAgICAgICBwcmVmZXIgICAgICAgZGlzYWJsZSAgICAg IHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwsIHJlY29ubmVj dCwgYXV0aGZhaWwgLT4gZmFpbAogLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93ICAg ICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNv bm5lY3QsIGF1dGhmYWlsLCByZWNvbm5lY3QsIHNzbGFjY2VwdCwgYXV0aG9rICAgICAgIC0+ IHNzbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAg ICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGF1dGhmYWls LCByZWNvbm5lY3QsIGRpcmVjdHNzbGFjY2VwdCwgYXV0aG9rIC0+IHNzbAotLiAgICAgICAg ICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICByZXF1aXJlZGlyZWN0ICBjb25uZWN0LCBn c3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRp cmVjdHNzbGFjY2VwdCwgYXV0aG9rIC0+IHNzbAogLiAgICAgICAgICAgLiAgICAgICAgICAg IHByZWZlciAgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhm YWlsLCByZWNvbm5lY3QsIHNzbGFjY2VwdCwgYXV0aG9rICAgICAgIC0+IHNzbAotLiAgICAg ICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0 LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRpcmVjdHNzbGFjY2VwdCwgYXV0 aG9rIC0+IHNzbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICByZXF1 aXJlZGlyZWN0ICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRp cmVjdHNzbGFjY2VwdCwgYXV0aG9rIC0+IHNzbAogLiAgICAgICAgICAgLiAgICAgICAgICAg IHJlcXVpcmUgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhm YWlsLCByZWNvbm5lY3QsIHNzbGFjY2VwdCwgYXV0aG9rICAgICAgIC0+IHNzbAogLiAgICAg ICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0 LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRpcmVjdHNzbGFjY2VwdCwgYXV0 aG9rIC0+IHNzbAotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICByZXF1 aXJlZGlyZWN0ICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRp cmVjdHNzbGFjY2VwdCwgYXV0aG9rIC0+IHNzbAotLiAgICAgICAgICAgcmVxdWlyZSAgICAg IGRpc2FibGUgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhm YWlsIC0+IGZhaWwKLS4gICAgICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAgICAgKiAg ICAgICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCAtPiBmYWlsCi0uICAg ICAgICAgICAuICAgICAgICAgICAgcHJlZmVyICAgICAgICogICAgICAgICAgICAgIGNvbm5l Y3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbAotLiAgICAgICAgICAgLiAgICAgICAg ICAgIHJlcXVpcmUgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1 dGhmYWlsIC0+IGZhaWwgICAgICAgICAjIElmIGJvdGggR1NTIGFuZCBTU0wgYXJlIHJlcXVp cmVkLCB0aGUgc3NsbW9kZT1yZXF1aXJlIGlzIGVmZmVjdGl2ZWx5IGlnbm9yZWQgYW5kIEdT UyBpcyByZXF1aXJlZAorLiAgICAgICAgICAgcmVxdWlyZSAgICAgIGRpc2FibGUgICAgICBw b3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsIC0+IGZhaWwKKy4g ICAgICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAgICAgcG9zdGdyZXMgICAgICAgY29u bmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCAtPiBmYWlsCisuICAgICAgICAgICAuICAgICAg ICAgICAgcHJlZmVyICAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwg YXV0aGZhaWwgLT4gZmFpbAorLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmUgICAg ICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsIC0+IGZhaWwg ICAgICAgICAjIElmIGJvdGggR1NTIGFuZCBTU0wgYXJlIHJlcXVpcmVkLCB0aGUgc3NsbW9k ZT1yZXF1aXJlIGlzIGVmZmVjdGl2ZWx5IGlnbm9yZWQgYW5kIEdTUyBpcyByZXF1aXJlZAor LiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBj b25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsIC0+IGZhaWwKIAotbm9nc3N1c2VyICAgZGlz YWJsZSAgICAgIGRpc2FibGUgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBhdXRob2sg ICAgICAgICAgICAgIC0+IHBsYWluCitub2dzc3VzZXIgICBkaXNhYmxlICAgICAgZGlzYWJs ZSAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAgICAgLT4g cGxhaW4KIC4gICAgICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAgICAgcG9zdGdyZXMg ICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAgICAgICAtPiBwbGFpbgotLiAgICAgICAg ICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBh dXRob2sgICAgICAgICAgICAgIC0+IHBsYWluCi0uICAgICAgICAgICAuICAgICAgICAgICAg LiAgICAgICAgICAgIHJlcXVpcmVkaXJlY3QgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAg ICAgLT4gcGxhaW4KIC4gICAgICAgICAgIC4gICAgICAgICAgICBwcmVmZXIgICAgICAgcG9z dGdyZXMgICAgICAgY29ubmVjdCwgc3NsYWNjZXB0LCBhdXRob2sgICAtPiBzc2wKLS4gICAg ICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAgICAgICAgY29ubmVj dCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRob2sgICAtPiBzc2wKLS4gICAgICAgICAgIC4gICAg ICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZWRpcmVjdCAgY29ubmVjdCwgZGlyZWN0c3Ns YWNjZXB0LCBhdXRob2sgICAtPiBzc2wKIC4gICAgICAgICAgIC4gICAgICAgICAgICByZXF1 aXJlICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgc3NsYWNjZXB0LCBhdXRob2sgICAt PiBzc2wKIC4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0ICAg ICAgICAgY29ubmVjdCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRob2sgICAtPiBzc2wKLS4gICAg ICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZWRpcmVjdCAgY29ubmVj dCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRob2sgICAtPiBzc2wKLS4gICAgICAgICAgIHByZWZl ciAgICAgICBkaXNhYmxlICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0 LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAgIC0+IHBsYWluCi0u ICAgICAgICAgICAuICAgICAgICAgICAgYWxsb3cgICAgICAgICogICAgICAgICAgICAgIGNv bm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwsIHJlY29ubmVjdCwgYXV0aG9rICAgICAgICAg ICAgICAtPiBwbGFpbgorLiAgICAgICAgICAgcHJlZmVyICAgICAgIGRpc2FibGUgICAgICBw b3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3Qs IGF1dGhvayAgICAgICAgICAgICAgLT4gcGxhaW4KKy4gICAgICAgICAgIC4gICAgICAgICAg ICBhbGxvdyAgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRo ZmFpbCwgcmVjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAgIC0+IHBsYWluCiAuICAgICAg ICAgICAuICAgICAgICAgICAgcHJlZmVyICAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3Qs IGdzc2FjY2VwdCwgYXV0aGZhaWwsIHJlY29ubmVjdCwgc3NsYWNjZXB0LCBhdXRob2sgICAg ICAgICAtPiBzc2wKLS4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGly ZWN0ICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCwgcmVjb25uZWN0LCBk aXJlY3Rzc2xhY2NlcHQsIGF1dGhvayAgIC0+IHNzbAotLiAgICAgICAgICAgLiAgICAgICAg ICAgIC4gICAgICAgICAgICByZXF1aXJlZGlyZWN0ICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1 dGhmYWlsLCByZWNvbm5lY3QsIGRpcmVjdHNzbGFjY2VwdCwgYXV0aG9rICAgLT4gc3NsCiAu ICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAgIHBvc3RncmVzICAgICAgIGNv bm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwsIHJlY29ubmVjdCwgc3NsYWNjZXB0LCBhdXRo b2sgICAgICAgICAtPiBzc2wKIC4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAg ICAgZGlyZWN0ICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCwgcmVjb25u ZWN0LCBkaXJlY3Rzc2xhY2NlcHQsIGF1dGhvayAgIC0+IHNzbAotLiAgICAgICAgICAgLiAg ICAgICAgICAgIC4gICAgICAgICAgICByZXF1aXJlZGlyZWN0ICBjb25uZWN0LCBnc3NhY2Nl cHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGRpcmVjdHNzbGFjY2VwdCwgYXV0aG9rICAgLT4g c3NsCi0uICAgICAgICAgICByZXF1aXJlICAgICAgZGlzYWJsZSAgICAgICogICAgICAgICAg ICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbAotLiAgICAgICAgICAg LiAgICAgICAgICAgIGFsbG93ICAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3Nh Y2NlcHQsIGF1dGhmYWlsIC0+IGZhaWwKLS4gICAgICAgICAgIC4gICAgICAgICAgICBwcmVm ZXIgICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFpbCAt PiBmYWlsCi0uICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAgICogICAgICAg ICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbCAgICMgSWYgYm90 aCBHU1MgYW5kIFNTTCBhcmUgcmVxdWlyZWQsIHRoZSBzc2xtb2RlPXJlcXVpcmUgaXMgZWZm ZWN0aXZlbHkgaWdub3JlZCBhbmQgR1NTIGlzIHJlcXVpcmVkCi0KLW5vc3NsdXNlciAgIGRp c2FibGUgICAgICBkaXNhYmxlICAgICAgKiAgICAgICAgICAgICAgY29ubmVjdCwgYXV0aG9r ICAgICAgICAgICAgICAtPiBwbGFpbgotLiAgICAgICAgICAgLiAgICAgICAgICAgIGFsbG93 ICAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBhdXRob2sgICAgICAgICAgICAgIC0+ IHBsYWluCisuICAgICAgICAgICByZXF1aXJlICAgICAgZGlzYWJsZSAgICAgIHBvc3RncmVz ICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbAorLiAgICAgICAg ICAgLiAgICAgICAgICAgIGFsbG93ICAgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBn c3NhY2NlcHQsIGF1dGhmYWlsIC0+IGZhaWwKKy4gICAgICAgICAgIC4gICAgICAgICAgICBw cmVmZXIgICAgICAgcG9zdGdyZXMgICAgICAgY29ubmVjdCwgZ3NzYWNjZXB0LCBhdXRoZmFp bCAtPiBmYWlsCisuICAgICAgICAgICAuICAgICAgICAgICAgcmVxdWlyZSAgICAgIHBvc3Rn cmVzICAgICAgIGNvbm5lY3QsIGdzc2FjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbCAgICMgSWYg Ym90aCBHU1MgYW5kIFNTTCBhcmUgcmVxdWlyZWQsIHRoZSBzc2xtb2RlPXJlcXVpcmUgaXMg ZWZmZWN0aXZlbHkgaWdub3JlZCBhbmQgR1NTIGlzIHJlcXVpcmVkCisuICAgICAgICAgICAu ICAgICAgICAgICAgLiAgICAgICAgICAgIGRpcmVjdCAgICAgICAgIGNvbm5lY3QsIGdzc2Fj Y2VwdCwgYXV0aGZhaWwgLT4gZmFpbAorCitub3NzbHVzZXIgICBkaXNhYmxlICAgICAgZGlz YWJsZSAgICAgIHBvc3RncmVzICAgICAgIGNvbm5lY3QsIGF1dGhvayAgICAgICAgICAgICAg LT4gcGxhaW4KKy4gICAgICAgICAgIC4gICAgICAgICAgICBhbGxvdyAgICAgICAgcG9zdGdy ZXMgICAgICAgY29ubmVjdCwgYXV0aG9rICAgICAgICAgICAgICAtPiBwbGFpbgogLiAgICAg ICAgICAgLiAgICAgICAgICAgIHByZWZlciAgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0 LCBzc2xhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGF1dGhvayAgICAgICAtPiBwbGFp bgotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICBkaXJlY3QgICAgICAg ICBjb25uZWN0LCBkaXJlY3Rzc2xhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5lY3QsIGF1dGhv ayAtPiBwbGFpbgotLiAgICAgICAgICAgLiAgICAgICAgICAgIC4gICAgICAgICAgICByZXF1 aXJlZGlyZWN0ICBjb25uZWN0LCBkaXJlY3Rzc2xhY2NlcHQsIGF1dGhmYWlsLCByZWNvbm5l Y3QsIGF1dGhvayAtPiBwbGFpbgogLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmUg ICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBzc2xhY2NlcHQsIGF1dGhmYWlsICAgICAg IC0+IGZhaWwKIC4gICAgICAgICAgIC4gICAgICAgICAgICAuICAgICAgICAgICAgZGlyZWN0 ICAgICAgICAgY29ubmVjdCwgZGlyZWN0c3NsYWNjZXB0LCBhdXRoZmFpbCAtPiBmYWlsCi0u ICAgICAgICAgICAuICAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmVkaXJlY3QgIGNv bm5lY3QsIGRpcmVjdHNzbGFjY2VwdCwgYXV0aGZhaWwgLT4gZmFpbAotLiAgICAgICAgICAg cHJlZmVyICAgICAgICogICAgICAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3Nh Y2NlcHQsIGF1dGhvayAgIC0+IGdzcwotLiAgICAgICAgICAgcmVxdWlyZSAgICAgICogICAg ICAgICAgICAqICAgICAgICAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+ IGdzcworLiAgICAgICAgICAgcHJlZmVyICAgICAgICogICAgICAgICAgICBwb3N0Z3JlcyAg ICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcworLiAgICAgICAgICAg LiAgICAgICAgICAgIHJlcXVpcmUgICAgICBkaXJlY3QgICAgICAgICBjb25uZWN0LCBnc3Nh Y2NlcHQsIGF1dGhvayAgIC0+IGdzcworLiAgICAgICAgICAgcmVxdWlyZSAgICAgICogICAg ICAgICAgICBwb3N0Z3JlcyAgICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+ IGdzcworLiAgICAgICAgICAgLiAgICAgICAgICAgIHJlcXVpcmUgICAgICBkaXJlY3QgICAg ICAgICBjb25uZWN0LCBnc3NhY2NlcHQsIGF1dGhvayAgIC0+IGdzcworCisjIHNzbG5lZ290 aWF0aW9uPWRpcmVjdCBpcyBub3QgYWNjY2VwdGVkIHVubGVzcyBzc2xtb2RlPXJlcXVpcmUg b3Igc3Ryb25nZXIKKyogICAgICAgICAgICogICAgICAgICAgICBkaXNhYmxlICAgICAgZGly ZWN0ICAgICAgICAgLSAgICAgLT4gZmFpbAorKiAgICAgICAgICAgKiAgICAgICAgICAgIGFs bG93ICAgICAgICBkaXJlY3QgICAgICAgICAtICAgICAtPiBmYWlsCisqICAgICAgICAgICAq ICAgICAgICAgICAgcHJlZmVyICAgICAgIGRpcmVjdCAgICAgICAgIC0gICAgIC0+IGZhaWwK IAl9OwogCiAJbm90ZSgiUnVubmluZyB0ZXN0cyB3aXRoIGJvdGggR1NTIGFuZCBTU0wgZW5h YmxlZCBpbiBzZXJ2ZXIiKTsKLS0gCjIuMzkuMgoK --------------hxCQBdwPPEh0g0tDo9H2fTZX--