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 1twyAS-001T8h-N3 for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 06:53:45 +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 1twyAR-00HH0v-7L for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 06:53:43 +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 1twyAQ-00HGzY-FJ for pgsql-hackers@lists.postgresql.org; Tue, 25 Mar 2025 06:53:42 +0000 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1twyAM-0011l4-2p for pgsql-hackers@lists.postgresql.org; Tue, 25 Mar 2025 06:53:41 +0000 Received: by mail-pj1-x1036.google.com with SMTP id 98e67ed59e1d1-2ff69365e1dso7192509a91.3 for ; Mon, 24 Mar 2025 23:53:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1742885617; x=1743490417; darn=lists.postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=KZtPYhZub6ot7U+gwBbSb7sOw36oEO9wfyW0Wozq5+Y=; b=hKpPv+CH316/0/EFfwbKOnWMnUx9Bo5hr/P2HbWidORE/diq4EySHCe8K7dlpw9ftG McyhK/sPg8Jm2q+HcLQO1CSEGlQW/3Zsu3rmQizmQguc4snyWo4BhSq31taex+yK+gWL Ugj5NPQhzFL1EUw63VU8u+AGq2Uc5eDxEJNZksgYwB3BUyhgA5sv8lUTItwxw/mZuAKp Dbcbvp/04fgzr30HMFoKn09aQRH9W3T3DqL6xEiqVAi94e5xZlxi//VthynTtUhqqTHK hCrVWYByxPcqi2M3EeVsq+KmFn4yJfr4zovF6mZotzhReOTOK0DpZvxG2V3PK+R/VwFq rXpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742885617; x=1743490417; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=KZtPYhZub6ot7U+gwBbSb7sOw36oEO9wfyW0Wozq5+Y=; b=QLfazD9LsRnMQL5jkMRBD9jqpoPuj7CYUArdmGSIjNxvfg693n9J0ECOrqMebuZDQH lAYMI3voITtKssUDH2CgiLQXcKMmxzCSjR2B7NhTu4Ec6QbA6exsbHWl55xhRzpv/A/w D0N4Rl/bZkpbKZPHpZjz5Y0ti+CPlY20tCCfxWVxBMrJDGKcT2QVlCk97uMeap/WtU1j NRyVVr9vijVwNraHC9Zy8uX55FpBVpDf6UTTO0LWQCMJKf3fLHsXTdUFLhoppUD0UZZ4 969h1Fdm1E67cV6N2KwCFI5AmevqLpF1L+Cmkgh8ZvNeuBZkDsAnf5fevWiGhtWHUgH/ yf3g== X-Forwarded-Encrypted: i=1; AJvYcCVQ0NmAVSHop164aQHiald/Z00Ygd+vL6FqbyHjnQb0OIoCRsE9jdnTgPrgbWEDTxH7tlrq/KrkDuWLGuso@lists.postgresql.org X-Gm-Message-State: AOJu0YyMP5eovC+oKbJr/F9XyX7rLtuMMC132pvnubiaCdD5gOy8OdHG p72pl78JpPW3tVj+RYiMZY7w1+t2vcz8pAmtPcJxCku17ifP56ZXAAT26WXlxw== X-Gm-Gg: ASbGncuD4Z5dmEqO6m0GVJJxfx6kOTouBNCy/8uogjMCUDbs/6Xp5hAgRPj/2CZRtAF imHXDq3TvRXAvxdPBfPaNb7RGjBvewFKs9E7t6SlsYEm/bKPD7QPygpvT8SMBub+lUzs9AFGf8A R3OGYj92R1w4Pt5FiKpsvqEAe8FBTWhBNPHkqILpM5ouLpvSKCEEIm6eCk7vpa4Io7EzPZyx62o Z2KeF9mt5m40XcyxxcONRPDp6mE1/drg+qiohe86rnsxh3RIw35RB1KZGrS8D09tH3Jav/XXQqQ MWZF2q+03APGlHF6Sz3E2y9fb8Fs8LAluoS5CHjfh4Nqsbj1xbhxfiHIu0WQDC6KP7wq+ueB0DD pmfh8xBUHub/xCw== X-Google-Smtp-Source: AGHT+IFv9SGZ2qDJA+CXYO7fsja5kF93uFd+zL5/eZENUkCr9YVdo/CeZNHxc6911c6cdI6PaK4Fsw== X-Received: by 2002:a17:90b:1f86:b0:2fe:baa3:b8b9 with SMTP id 98e67ed59e1d1-3030fe552b6mr22841738a91.4.1742885616452; Mon, 24 Mar 2025 23:53:36 -0700 (PDT) Received: from ?IPv6:2601:642:4c01:9572:f2ac:282a:8454:9cac? ([2601:642:4c01:9572:f2ac:282a:8454:9cac]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-227811baf30sm82218995ad.130.2025.03.24.23.53.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 23:53:35 -0700 (PDT) Message-ID: <5812bf576f181e2f94944cab485cee46f611ed3e.camel@j-davis.com> Subject: Re: Statistics Import and Export From: Jeff Davis To: Corey Huinker Cc: Robert Treat , Robert Haas , Andres Freund , Nathan Bossart , Tom Lane , Michael Paquier , jian he , Bruce Momjian , Matthias van de Meent , Magnus Hagander , Stephen Frost , Ashutosh Bapat , Peter Smith , PostgreSQL Hackers , alvherre@alvh.no-ip.org Date: Mon, 24 Mar 2025 23:53:33 -0700 In-Reply-To: References: <6af48508a32499a8be3398cafffd29fb6188c44b.camel@j-davis.com> <6rpmhyrtci4epuzay7y5xvd2cwdwb6zmtt6ofxrvakyawxhm7s@6grajbpr4kij> Content-Type: multipart/mixed; boundary="=-dxA/2JezQT+Q5tg1USWW" User-Agent: Evolution 3.44.4-0ubuntu2 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-dxA/2JezQT+Q5tg1USWW Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 2025-03-19 at 15:17 -0700, Jeff Davis wrote: > On Sat, 2025-03-15 at 21:37 -0400, Corey Huinker wrote: > > > 0001 - no changes, but the longer I go the more I'm certain this > > > is > > > something we want to do. >=20 > This replaces regclassin with custom lookups of the namespace and > relname, but misses some of the complexities that regclassin is > handling. For instance, it calls RangeVarGetRelid(), which calls > LookupExplicitNamespace(), which handles temp tables and > InvokeNamespaceSearchHook(). >=20 > At first it looked like a bit too much code to copy, but regclassin() > passes NoLock, which means we basically just have to call > LookupExplicitNamespace(). Attached new version 9j: * Changed to use LookupExplicitNamespace() * Added test for temp tables * Doc fixes Regards, Jeff Davis --=-dxA/2JezQT+Q5tg1USWW Content-Disposition: attachment; filename*0=v9j-0001-Stats-use-schemaname-relname-instead-of-regclass.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="v9j-0001-Stats-use-schemaname-relname-instead-of-regclass.patch"; charset="UTF-8" RnJvbSA3MmQ0YjlmYzEyOGU2ZDRlZjczYmIyNGViYmE0MTc5N2QwNmE3ZDllIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDb3JleSBIdWlua2VyIDxjb3JleS5odWlua2VyQGdtYWlsLmNv bT4KRGF0ZTogVHVlLCA0IE1hciAyMDI1IDIyOjE2OjUyIC0wNTAwClN1YmplY3Q6IFtQQVRDSCB2 OWpdIFN0YXRzOiB1c2Ugc2NoZW1hbmFtZS9yZWxuYW1lIGluc3RlYWQgb2YgcmVnY2xhc3MuCgpG b3IgaW1wb3J0IGFuZCBleHBvcnQsIHVzZSBzY2hlbWFuYW1lL3JlbG5hbWUgcmF0aGVyIHRoYW4K cmVnY2xhc3MuCgpUaGlzIGlzIG1vcmUgbmF0dXJhbCBkdXJpbmcgZXhwb3J0LCBmaXRzIHdpdGgg dGhlIG90aGVyIGFyZ3VtZW50cwpiZXR0ZXIsIGFuZCBpdCBnaXZlcyBiZXR0ZXIgY29udHJvbCBv dmVyIGVycm9yIGhhbmRsaW5nIGluIGNhc2Ugd2UKbmVlZCB0byBkb3duZ3JhZGUgbW9yZSBlcnJv cnMgdG8gd2FybmluZ3MuCgpBbHNvLCB1c2UgdGV4dCBmb3IgdGhlIGFyZ3VtZW50IHR5cGVzIGZv ciBzY2hlbWFuYW1lLCByZWxuYW1lLCBhbmQKYXR0bmFtZSBzbyB0aGF0IGNhc3RzIHRvICJuYW1l IiBhcmUgbm90IHJlcXVpcmVkLgoKQXV0aG9yOiBDb3JleSBIdWlua2VyIDxjb3JleS5odWlua2Vy QGdtYWlsLmNvbT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQURrTE09Y2VPU3N4 Xz1vZTczUVEtQnhVRlIyQ3dxdW03LVVQX2ZQZTIyREJZME5lckFAbWFpbC5nbWFpbC5jb20KLS0t CiBkb2Mvc3JjL3NnbWwvZnVuYy5zZ21sICAgICAgICAgICAgICAgICAgICAgfCAgNTAgKy0tCiBz cmMvYmFja2VuZC9zdGF0aXN0aWNzL2F0dHJpYnV0ZV9zdGF0cy5jICAgfCAgODcgKysrLS0KIHNy Yy9iYWNrZW5kL3N0YXRpc3RpY3MvcmVsYXRpb25fc3RhdHMuYyAgICB8ICA2NSArKy0tCiBzcmMv YmFja2VuZC9zdGF0aXN0aWNzL3N0YXRfdXRpbHMuYyAgICAgICAgfCAgMzcgKysrCiBzcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5jICAgICAgICAgICAgICAgICAgfCAgMjUgKy0KIHNyYy9iaW4vcGdf ZHVtcC90LzAwMl9wZ19kdW1wLnBsICAgICAgICAgICB8ICAgNiArLQogc3JjL2luY2x1ZGUvY2F0 YWxvZy9jYXR2ZXJzaW9uLmggICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9jYXRhbG9n L3BnX3Byb2MuZGF0ICAgICAgICAgICAgfCAgIDggKy0KIHNyYy9pbmNsdWRlL3N0YXRpc3RpY3Mv c3RhdF91dGlscy5oICAgICAgICB8ICAgMiArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0 YXRzX2ltcG9ydC5vdXQgfCAzNTMgKysrKysrKysrKysrKystLS0tLS0tCiBzcmMvdGVzdC9yZWdy ZXNzL3NxbC9zdGF0c19pbXBvcnQuc3FsICAgICAgfCAzMDYgKysrKysrKysrKysrLS0tLS0tCiAx MSBmaWxlcyBjaGFuZ2VkLCA2NDcgaW5zZXJ0aW9ucygrKSwgMjk0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9mdW5jLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21s CmluZGV4IDZmYTFkNjU4NmI4Li5mOGMxZGViMDRlZSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L2Z1bmMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCkBAIC0zMDM2NCwyMiArMzAz NjQsMjQgQEAgcG9zdGdyZXM9IyBTRUxFQ1QgJzAvMCc6OnBnX2xzbiArIHBkLnNlZ21lbnRfbnVt YmVyICogcHMuc2V0dGluZzo6aW50ICsgOm9mZnNldAogICAgICAgICAgPHN0cnVjdG5hbWU+bXl0 YWJsZTwvc3RydWN0bmFtZT46CiA8cHJvZ3JhbWxpc3Rpbmc+CiAgU0VMRUNUIHBnX3Jlc3RvcmVf cmVsYXRpb25fc3RhdHMoCi0gICAgJ3JlbGF0aW9uJywgICdteXRhYmxlJzo6cmVnY2xhc3MsCi0g ICAgJ3JlbHBhZ2VzJywgIDE3Mzo6aW50ZWdlciwKLSAgICAncmVsdHVwbGVzJywgMTAwMDA6OnJl YWwpOworICAgICdzY2hlbWFuYW1lJywgJ215c2NoZW1hJywKKyAgICAncmVsbmFtZScsICAgICdt eXRhYmxlJywKKyAgICAncmVscGFnZXMnLCAgIDE3Mzo6aW50ZWdlciwKKyAgICAncmVsdHVwbGVz JywgIDEwMDAwOjpyZWFsKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+CiAgICAgICAgIDwvcGFyYT4KICAg ICAgICAgPHBhcmE+Ci0gICAgICAgICBUaGUgYXJndW1lbnQgPGxpdGVyYWw+cmVsYXRpb248L2xp dGVyYWw+IHdpdGggYSB2YWx1ZSBvZiB0eXBlCi0gICAgICAgICA8dHlwZT5yZWdjbGFzczwvdHlw ZT4gaXMgcmVxdWlyZWQsIGFuZCBzcGVjaWZpZXMgdGhlIHRhYmxlLiBPdGhlcgorICAgICAgICAg VGhlIGFyZ3VtZW50cyA8bGl0ZXJhbD5zY2hlbWFuYW1lPC9saXRlcmFsPiBhbmQKKyAgICAgICAg IDxsaXRlcmFsPnJlbG5hbWU8L2xpdGVyYWw+IGFyZSByZXF1aXJlZCwgYW5kIHNwZWNpZnkgdGhl IHRhYmxlLiBPdGhlcgogICAgICAgICAgYXJndW1lbnRzIGFyZSB0aGUgbmFtZXMgYW5kIHZhbHVl cyBvZiBzdGF0aXN0aWNzIGNvcnJlc3BvbmRpbmcgdG8KICAgICAgICAgIGNlcnRhaW4gY29sdW1u cyBpbiA8bGluawogICAgICAgICAgbGlua2VuZD0iY2F0YWxvZy1wZy1jbGFzcyI+PHN0cnVjdG5h bWU+cGdfY2xhc3M8L3N0cnVjdG5hbWU+PC9saW5rPi4KICAgICAgICAgIFRoZSBjdXJyZW50bHkt c3VwcG9ydGVkIHJlbGF0aW9uIHN0YXRpc3RpY3MgYXJlCiAgICAgICAgICA8bGl0ZXJhbD5yZWxw YWdlczwvbGl0ZXJhbD4gd2l0aCBhIHZhbHVlIG9mIHR5cGUKICAgICAgICAgIDx0eXBlPmludGVn ZXI8L3R5cGU+LCA8bGl0ZXJhbD5yZWx0dXBsZXM8L2xpdGVyYWw+IHdpdGggYSB2YWx1ZSBvZgot ICAgICAgICAgdHlwZSA8dHlwZT5yZWFsPC90eXBlPiwgYW5kIDxsaXRlcmFsPnJlbGFsbHZpc2li bGU8L2xpdGVyYWw+IHdpdGggYQotICAgICAgICAgdmFsdWUgb2YgdHlwZSA8dHlwZT5pbnRlZ2Vy PC90eXBlPi4KKyAgICAgICAgIHR5cGUgPHR5cGU+cmVhbDwvdHlwZT4sIDxsaXRlcmFsPnJlbGFs bHZpc2libGU8L2xpdGVyYWw+IHdpdGggYSB2YWx1ZQorICAgICAgICAgb2YgdHlwZSA8dHlwZT5p bnRlZ2VyPC90eXBlPiwgYW5kIDxsaXRlcmFsPnJlbGFsbGZyb3plbjwvbGl0ZXJhbD4KKyAgICAg ICAgIHdpdGggYSB2YWx1ZSBvZiB0eXBlIDx0eXBlPmludGVnZXI8L3R5cGU+LgogICAgICAgICA8 L3BhcmE+CiAgICAgICAgIDxwYXJhPgogICAgICAgICAgQWRkaXRpb25hbGx5LCB0aGlzIGZ1bmN0 aW9uIGFjY2VwdHMgYXJndW1lbnQgbmFtZQpAQCAtMzA0MDcsNyArMzA0MDksNyBAQCBwb3N0Z3Jl cz0jIFNFTEVDVCAnMC8wJzo6cGdfbHNuICsgcGQuc2VnbWVudF9udW1iZXIgKiBwcy5zZXR0aW5n OjppbnQgKyA6b2Zmc2V0CiAgICAgICAgICA8aW5kZXh0ZXJtPgogICAgICAgICAgIDxwcmltYXJ5 PnBnX2NsZWFyX3JlbGF0aW9uX3N0YXRzPC9wcmltYXJ5PgogICAgICAgICAgPC9pbmRleHRlcm0+ Ci0gICAgICAgICA8ZnVuY3Rpb24+cGdfY2xlYXJfcmVsYXRpb25fc3RhdHM8L2Z1bmN0aW9uPiAo IDxwYXJhbWV0ZXI+cmVsYXRpb248L3BhcmFtZXRlcj4gPHR5cGU+cmVnY2xhc3M8L3R5cGU+ICkK KyAgICAgICAgIDxmdW5jdGlvbj5wZ19jbGVhcl9yZWxhdGlvbl9zdGF0czwvZnVuY3Rpb24+ICgg PHBhcmFtZXRlcj5zY2hlbWFuYW1lPC9wYXJhbWV0ZXI+IDx0eXBlPnRleHQ8L3R5cGU+LCA8cGFy YW1ldGVyPnJlbG5hbWU8L3BhcmFtZXRlcj4gPHR5cGU+dGV4dDwvdHlwZT4gKQogICAgICAgICAg PHJldHVybnZhbHVlPnZvaWQ8L3JldHVybnZhbHVlPgogICAgICAgICA8L3BhcmE+CiAgICAgICAg IDxwYXJhPgpAQCAtMzA0NTYsMjIgKzMwNDU4LDIzIEBAIHBvc3RncmVzPSMgU0VMRUNUICcwLzAn OjpwZ19sc24gKyBwZC5zZWdtZW50X251bWJlciAqIHBzLnNldHRpbmc6OmludCArIDpvZmZzZXQK ICAgICAgICAgIDxzdHJ1Y3RuYW1lPm15dGFibGU8L3N0cnVjdG5hbWU+OgogPHByb2dyYW1saXN0 aW5nPgogIFNFTEVDVCBwZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKLSAgICAncmVsYXRpb24n LCAgICAnbXl0YWJsZSc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgICAgICdjb2wxJzo6bmFt ZSwKLSAgICAnaW5oZXJpdGVkJywgICBmYWxzZSwKLSAgICAnYXZnX3dpZHRoJywgICAxMjU6Omlu dGVnZXIsCi0gICAgJ251bGxfZnJhYycsICAgMC41OjpyZWFsKTsKKyAgICAnc2NoZW1hbmFtZScs ICdteXNjaGVtYScsCisgICAgJ3JlbG5hbWUnLCAgICAnbXl0YWJsZScsCisgICAgJ2F0dG5hbWUn LCAgICAnY29sMScsCisgICAgJ2luaGVyaXRlZCcsICBmYWxzZSwKKyAgICAnYXZnX3dpZHRoJywg IDEyNTo6aW50ZWdlciwKKyAgICAnbnVsbF9mcmFjJywgIDAuNTo6cmVhbCk7CiA8L3Byb2dyYW1s aXN0aW5nPgogICAgICAgICA8L3BhcmE+CiAgICAgICAgIDxwYXJhPgotICAgICAgICAgVGhlIHJl cXVpcmVkIGFyZ3VtZW50cyBhcmUgPGxpdGVyYWw+cmVsYXRpb248L2xpdGVyYWw+IHdpdGggYSB2 YWx1ZQotICAgICAgICAgb2YgdHlwZSA8dHlwZT5yZWdjbGFzczwvdHlwZT4sIHdoaWNoIHNwZWNp ZmllcyB0aGUgdGFibGU7IGVpdGhlcgotICAgICAgICAgPGxpdGVyYWw+YXR0bmFtZTwvbGl0ZXJh bD4gd2l0aCBhIHZhbHVlIG9mIHR5cGUgPHR5cGU+bmFtZTwvdHlwZT4gb3IKLSAgICAgICAgIDxs aXRlcmFsPmF0dG51bTwvbGl0ZXJhbD4gd2l0aCBhIHZhbHVlIG9mIHR5cGUgPHR5cGU+c21hbGxp bnQ8L3R5cGU+LAotICAgICAgICAgd2hpY2ggc3BlY2lmaWVzIHRoZSBjb2x1bW47IGFuZCA8bGl0 ZXJhbD5pbmhlcml0ZWQ8L2xpdGVyYWw+LCB3aGljaAotICAgICAgICAgc3BlY2lmaWVzIHdoZXRo ZXIgdGhlIHN0YXRpc3RpY3MgaW5jbHVkZSB2YWx1ZXMgZnJvbSBjaGlsZCB0YWJsZXMuCi0gICAg ICAgICBPdGhlciBhcmd1bWVudHMgYXJlIHRoZSBuYW1lcyBhbmQgdmFsdWVzIG9mIHN0YXRpc3Rp Y3MgY29ycmVzcG9uZGluZwotICAgICAgICAgdG8gY29sdW1ucyBpbiA8bGluaworICAgICAgICAg VGhlIHJlcXVpcmVkIGFyZ3VtZW50cyBhcmUgPGxpdGVyYWw+c2NoZW1hbmFtZTwvbGl0ZXJhbD4g YW5kCisgICAgICAgICA8bGl0ZXJhbD5yZWxuYW1lPC9saXRlcmFsPiB3aXRoIGEgdmFsdWUgb2Yg dHlwZSA8dHlwZT50ZXh0PC90eXBlPgorICAgICAgICAgd2hpY2ggc3BlY2lmeSB0aGUgdGFibGU7 IGVpdGhlciA8bGl0ZXJhbD5hdHRuYW1lPC9saXRlcmFsPiB3aXRoIGEKKyAgICAgICAgIHZhbHVl IG9mIHR5cGUgPHR5cGU+dGV4dDwvdHlwZT4gb3IgPGxpdGVyYWw+YXR0bnVtPC9saXRlcmFsPiB3 aXRoIGEKKyAgICAgICAgIHZhbHVlIG9mIHR5cGUgPHR5cGU+c21hbGxpbnQ8L3R5cGU+LCB3aGlj aCBzcGVjaWZpZXMgdGhlIGNvbHVtbjsgYW5kCisgICAgICAgICA8bGl0ZXJhbD5pbmhlcml0ZWQ8 L2xpdGVyYWw+LCB3aGljaCBzcGVjaWZpZXMgd2hldGhlciB0aGUgc3RhdGlzdGljcworICAgICAg ICAgaW5jbHVkZSB2YWx1ZXMgZnJvbSBjaGlsZCB0YWJsZXMuICBPdGhlciBhcmd1bWVudHMgYXJl IHRoZSBuYW1lcyBhbmQKKyAgICAgICAgIHZhbHVlcyBvZiBzdGF0aXN0aWNzIGNvcnJlc3BvbmRp bmcgdG8gY29sdW1ucyBpbiA8bGluawogICAgICAgICAgbGlua2VuZD0idmlldy1wZy1zdGF0cyI+ PHN0cnVjdG5hbWU+cGdfc3RhdHM8L3N0cnVjdG5hbWU+PC9saW5rPi4KICAgICAgICAgPC9wYXJh PgogICAgICAgICA8cGFyYT4KQEAgLTMwNTAxLDggKzMwNTA0LDkgQEAgcG9zdGdyZXM9IyBTRUxF Q1QgJzAvMCc6OnBnX2xzbiArIHBkLnNlZ21lbnRfbnVtYmVyICogcHMuc2V0dGluZzo6aW50ICsg Om9mZnNldAogICAgICAgICAgIDxwcmltYXJ5PnBnX2NsZWFyX2F0dHJpYnV0ZV9zdGF0czwvcHJp bWFyeT4KICAgICAgICAgIDwvaW5kZXh0ZXJtPgogICAgICAgICAgPGZ1bmN0aW9uPnBnX2NsZWFy X2F0dHJpYnV0ZV9zdGF0czwvZnVuY3Rpb24+ICgKLSAgICAgICAgIDxwYXJhbWV0ZXI+cmVsYXRp b248L3BhcmFtZXRlcj4gPHR5cGU+cmVnY2xhc3M8L3R5cGU+LAotICAgICAgICAgPHBhcmFtZXRl cj5hdHRuYW1lPC9wYXJhbWV0ZXI+IDx0eXBlPm5hbWU8L3R5cGU+LAorICAgICAgICAgPHBhcmFt ZXRlcj5zY2hlbWFuYW1lPC9wYXJhbWV0ZXI+IDx0eXBlPnRleHQ8L3R5cGU+LAorICAgICAgICAg PHBhcmFtZXRlcj5yZWxuYW1lPC9wYXJhbWV0ZXI+IDx0eXBlPnRleHQ8L3R5cGU+LAorICAgICAg ICAgPHBhcmFtZXRlcj5hdHRuYW1lPC9wYXJhbWV0ZXI+IDx0eXBlPnRleHQ8L3R5cGU+LAogICAg ICAgICAgPHBhcmFtZXRlcj5pbmhlcml0ZWQ8L3BhcmFtZXRlcj4gPHR5cGU+Ym9vbGVhbjwvdHlw ZT4gKQogICAgICAgICAgPHJldHVybnZhbHVlPnZvaWQ8L3JldHVybnZhbHVlPgogICAgICAgICA8 L3BhcmE+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdGF0aXN0aWNzL2F0dHJpYnV0ZV9zdGF0 cy5jIGIvc3JjL2JhY2tlbmQvc3RhdGlzdGljcy9hdHRyaWJ1dGVfc3RhdHMuYwppbmRleCA2YmNi ZWUwZWRiYS4uZjg3ZGIyZDYxMDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0YXRpc3RpY3Mv YXR0cmlidXRlX3N0YXRzLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RhdGlzdGljcy9hdHRyaWJ1dGVf c3RhdHMuYwpAQCAtMzYsNyArMzYsOCBAQAogCiBlbnVtIGF0dHJpYnV0ZV9zdGF0c19hcmdudW0K IHsKLQlBVFRSRUxBVElPTl9BUkcgPSAwLAorCUFUVFJFTFNDSEVNQV9BUkcgPSAwLAorCUFUVFJF TE5BTUVfQVJHLAogCUFUVE5BTUVfQVJHLAogCUFUVE5VTV9BUkcsCiAJSU5IRVJJVEVEX0FSRywK QEAgLTU4LDggKzU5LDkgQEAgZW51bSBhdHRyaWJ1dGVfc3RhdHNfYXJnbnVtCiAKIHN0YXRpYyBz dHJ1Y3QgU3RhdHNBcmdJbmZvIGF0dGFyZ2luZm9bXSA9CiB7Ci0JW0FUVFJFTEFUSU9OX0FSR10g PSB7InJlbGF0aW9uIiwgUkVHQ0xBU1NPSUR9LAotCVtBVFROQU1FX0FSR10gPSB7ImF0dG5hbWUi LCBOQU1FT0lEfSwKKwlbQVRUUkVMU0NIRU1BX0FSR10gPSB7InNjaGVtYW5hbWUiLCBURVhUT0lE fSwKKwlbQVRUUkVMTkFNRV9BUkddID0geyJyZWxuYW1lIiwgVEVYVE9JRH0sCisJW0FUVE5BTUVf QVJHXSA9IHsiYXR0bmFtZSIsIFRFWFRPSUR9LAogCVtBVFROVU1fQVJHXSA9IHsiYXR0bnVtIiwg SU5UMk9JRH0sCiAJW0lOSEVSSVRFRF9BUkddID0geyJpbmhlcml0ZWQiLCBCT09MT0lEfSwKIAlb TlVMTF9GUkFDX0FSR10gPSB7Im51bGxfZnJhYyIsIEZMT0FUNE9JRH0sCkBAIC04MCw3ICs4Miw4 IEBAIHN0YXRpYyBzdHJ1Y3QgU3RhdHNBcmdJbmZvIGF0dGFyZ2luZm9bXSA9CiAKIGVudW0gY2xl YXJfYXR0cmlidXRlX3N0YXRzX2FyZ251bQogewotCUNfQVRUUkVMQVRJT05fQVJHID0gMCwKKwlD X0FUVFJFTFNDSEVNQV9BUkcgPSAwLAorCUNfQVRUUkVMTkFNRV9BUkcsCiAJQ19BVFROQU1FX0FS RywKIAlDX0lOSEVSSVRFRF9BUkcsCiAJQ19OVU1fQVRUUklCVVRFX1NUQVRTX0FSR1MKQEAgLTg4 LDggKzkxLDkgQEAgZW51bSBjbGVhcl9hdHRyaWJ1dGVfc3RhdHNfYXJnbnVtCiAKIHN0YXRpYyBz dHJ1Y3QgU3RhdHNBcmdJbmZvIGNsZWFyYXJnaW5mb1tdID0KIHsKLQlbQ19BVFRSRUxBVElPTl9B UkddID0geyJyZWxhdGlvbiIsIFJFR0NMQVNTT0lEfSwKLQlbQ19BVFROQU1FX0FSR10gPSB7ImF0 dG5hbWUiLCBOQU1FT0lEfSwKKwlbQ19BVFRSRUxTQ0hFTUFfQVJHXSA9IHsicmVsYXRpb24iLCBU RVhUT0lEfSwKKwlbQ19BVFRSRUxOQU1FX0FSR10gPSB7InJlbGF0aW9uIiwgVEVYVE9JRH0sCisJ W0NfQVRUTkFNRV9BUkddID0geyJhdHRuYW1lIiwgVEVYVE9JRH0sCiAJW0NfSU5IRVJJVEVEX0FS R10gPSB7ImluaGVyaXRlZCIsIEJPT0xPSUR9LAogCVtDX05VTV9BVFRSSUJVVEVfU1RBVFNfQVJH U10gPSB7MH0KIH07CkBAIC0xMzMsNiArMTM3LDkgQEAgc3RhdGljIHZvaWQgaW5pdF9lbXB0eV9z dGF0c190dXBsZShPaWQgcmVsb2lkLCBpbnQxNiBhdHRudW0sIGJvb2wgaW5oZXJpdGVkLAogc3Rh dGljIGJvb2wKIGF0dHJpYnV0ZV9zdGF0aXN0aWNzX3VwZGF0ZShGdW5jdGlvbkNhbGxJbmZvIGZj aW5mbykKIHsKKwljaGFyCSAgICpuc3BuYW1lOworCU9pZAkJCW5zcG9pZDsKKwljaGFyCSAgICpy ZWxuYW1lOwogCU9pZAkJCXJlbG9pZDsKIAljaGFyCSAgICphdHRuYW1lOwogCUF0dHJOdW1iZXIJ YXR0bnVtOwpAQCAtMTcwLDggKzE3NywyMyBAQCBhdHRyaWJ1dGVfc3RhdGlzdGljc191cGRhdGUo RnVuY3Rpb25DYWxsSW5mbyBmY2luZm8pCiAKIAlib29sCQlyZXN1bHQgPSB0cnVlOwogCi0Jc3Rh dHNfY2hlY2tfcmVxdWlyZWRfYXJnKGZjaW5mbywgYXR0YXJnaW5mbywgQVRUUkVMQVRJT05fQVJH KTsKLQlyZWxvaWQgPSBQR19HRVRBUkdfT0lEKEFUVFJFTEFUSU9OX0FSRyk7CisJc3RhdHNfY2hl Y2tfcmVxdWlyZWRfYXJnKGZjaW5mbywgYXR0YXJnaW5mbywgQVRUUkVMU0NIRU1BX0FSRyk7CisJ c3RhdHNfY2hlY2tfcmVxdWlyZWRfYXJnKGZjaW5mbywgYXR0YXJnaW5mbywgQVRUUkVMTkFNRV9B UkcpOworCisJbnNwbmFtZSA9IFRleHREYXR1bUdldENTdHJpbmcoUEdfR0VUQVJHX0RBVFVNKEFU VFJFTFNDSEVNQV9BUkcpKTsKKwluc3BvaWQgPSBzdGF0c19zY2hlbWFfY2hlY2tfcHJpdmlsZWdl cyhuc3BuYW1lKTsKKwlpZiAobnNwb2lkID09IEludmFsaWRPaWQpCisJCXJldHVybiBmYWxzZTsK KworCXJlbG5hbWUgPSBUZXh0RGF0dW1HZXRDU3RyaW5nKFBHX0dFVEFSR19EQVRVTShBVFRSRUxO QU1FX0FSRykpOworCXJlbG9pZCA9IGdldF9yZWxuYW1lX3JlbGlkKHJlbG5hbWUsIG5zcG9pZCk7 CisJaWYgKHJlbG9pZCA9PSBJbnZhbGlkT2lkKQorCXsKKwkJZXJlcG9ydChXQVJOSU5HLAorCQkJ CShlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09CSkVDVCksCisJCQkJIGVycm1zZygiUmVsYXRp b24gXCIlc1wiLlwiJXNcIiBub3QgZm91bmQuIiwgbnNwbmFtZSwgcmVsbmFtZSkpKTsKKwkJcmV0 dXJuIGZhbHNlOworCX0KIAogCWlmIChSZWNvdmVyeUluUHJvZ3Jlc3MoKSkKIAkJZXJlcG9ydChF UlJPUiwKQEAgLTE4NSwyMSArMjA3LDE4IEBAIGF0dHJpYnV0ZV9zdGF0aXN0aWNzX3VwZGF0ZShG dW5jdGlvbkNhbGxJbmZvIGZjaW5mbykKIAkvKiB1c2VyIGNhbiBzcGVjaWZ5IGVpdGhlciBhdHRu YW1lIG9yIGF0dG51bSwgYnV0IG5vdCBib3RoICovCiAJaWYgKCFQR19BUkdJU05VTEwoQVRUTkFN RV9BUkcpKQogCXsKLQkJTmFtZQkJYXR0bmFtZW5hbWU7Ci0KIAkJaWYgKCFQR19BUkdJU05VTEwo QVRUTlVNX0FSRykpCiAJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkoZXJyY29kZShFUlJDT0RFX0lO VkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKIAkJCQkJIGVycm1zZygiY2Fubm90IHNwZWNpZnkgYm90 aCBhdHRuYW1lIGFuZCBhdHRudW0iKSkpOwotCQlhdHRuYW1lbmFtZSA9IFBHX0dFVEFSR19OQU1F KEFUVE5BTUVfQVJHKTsKLQkJYXR0bmFtZSA9IE5hbWVTdHIoKmF0dG5hbWVuYW1lKTsKKwkJYXR0 bmFtZSA9IFRleHREYXR1bUdldENTdHJpbmcoUEdfR0VUQVJHX0RBVFVNKEFUVE5BTUVfQVJHKSk7 CiAJCWF0dG51bSA9IGdldF9hdHRudW0ocmVsb2lkLCBhdHRuYW1lKTsKIAkJLyogbm90ZSB0aGF0 IHRoaXMgdGVzdCBjb3ZlcnMgYXR0aXNkcm9wcGVkIGNhc2VzIHRvbzogKi8KIAkJaWYgKGF0dG51 bSA9PSBJbnZhbGlkQXR0ck51bWJlcikKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCShlcnJjb2Rl KEVSUkNPREVfVU5ERUZJTkVEX0NPTFVNTiksCi0JCQkJCSBlcnJtc2coImNvbHVtbiBcIiVzXCIg b2YgcmVsYXRpb24gXCIlc1wiIGRvZXMgbm90IGV4aXN0IiwKLQkJCQkJCQlhdHRuYW1lLCBnZXRf cmVsX25hbWUocmVsb2lkKSkpKTsKKwkJCQkJIGVycm1zZygiY29sdW1uIFwiJXNcIiBvZiByZWxh dGlvbiBcIiVzXCIuXCIlc1wiIGRvZXMgbm90IGV4aXN0IiwKKwkJCQkJCQlhdHRuYW1lLCBuc3Bu YW1lLCByZWxuYW1lKSkpOwogCX0KIAllbHNlIGlmICghUEdfQVJHSVNOVUxMKEFUVE5VTV9BUkcp KQogCXsKQEAgLTIxMCw4ICsyMjksOCBAQCBhdHRyaWJ1dGVfc3RhdGlzdGljc191cGRhdGUoRnVu Y3Rpb25DYWxsSW5mbyBmY2luZm8pCiAJCQkhU2VhcmNoU3lzQ2FjaGVFeGlzdHNBdHROYW1lKHJl bG9pZCwgYXR0bmFtZSkpCiAJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkoZXJyY29kZShFUlJDT0RF X1VOREVGSU5FRF9DT0xVTU4pLAotCQkJCQkgZXJybXNnKCJjb2x1bW4gJWQgb2YgcmVsYXRpb24g XCIlc1wiIGRvZXMgbm90IGV4aXN0IiwKLQkJCQkJCQlhdHRudW0sIGdldF9yZWxfbmFtZShyZWxv aWQpKSkpOworCQkJCQkgZXJybXNnKCJjb2x1bW4gJWQgb2YgcmVsYXRpb24gXCIlc1wiLlwiJXNc IiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQkJYXR0bnVtLCBuc3BuYW1lLCByZWxuYW1lKSkpOwog CX0KIAllbHNlCiAJewpAQCAtOTAwLDEzICs5MTksMzMgQEAgaW5pdF9lbXB0eV9zdGF0c190dXBs ZShPaWQgcmVsb2lkLCBpbnQxNiBhdHRudW0sIGJvb2wgaW5oZXJpdGVkLAogRGF0dW0KIHBnX2Ns ZWFyX2F0dHJpYnV0ZV9zdGF0cyhQR19GVU5DVElPTl9BUkdTKQogeworCWNoYXIJICAgKm5zcG5h bWU7CisJT2lkCQkJbnNwb2lkOworCWNoYXIJICAgKnJlbG5hbWU7CiAJT2lkCQkJcmVsb2lkOwot CU5hbWUJCWF0dG5hbWU7CisJY2hhcgkgICAqYXR0bmFtZTsKIAlBdHRyTnVtYmVyCWF0dG51bTsK IAlib29sCQlpbmhlcml0ZWQ7CiAKLQlzdGF0c19jaGVja19yZXF1aXJlZF9hcmcoZmNpbmZvLCBj bGVhcmFyZ2luZm8sIENfQVRUUkVMQVRJT05fQVJHKTsKLQlyZWxvaWQgPSBQR19HRVRBUkdfT0lE KENfQVRUUkVMQVRJT05fQVJHKTsKKwlzdGF0c19jaGVja19yZXF1aXJlZF9hcmcoZmNpbmZvLCBj bGVhcmFyZ2luZm8sIENfQVRUUkVMU0NIRU1BX0FSRyk7CisJc3RhdHNfY2hlY2tfcmVxdWlyZWRf YXJnKGZjaW5mbywgY2xlYXJhcmdpbmZvLCBDX0FUVFJFTE5BTUVfQVJHKTsKKwlzdGF0c19jaGVj a19yZXF1aXJlZF9hcmcoZmNpbmZvLCBjbGVhcmFyZ2luZm8sIENfQVRUTkFNRV9BUkcpOworCXN0 YXRzX2NoZWNrX3JlcXVpcmVkX2FyZyhmY2luZm8sIGNsZWFyYXJnaW5mbywgQ19JTkhFUklURURf QVJHKTsKKworCW5zcG5hbWUgPSBUZXh0RGF0dW1HZXRDU3RyaW5nKFBHX0dFVEFSR19EQVRVTShD X0FUVFJFTFNDSEVNQV9BUkcpKTsKKwluc3BvaWQgPSBzdGF0c19zY2hlbWFfY2hlY2tfcHJpdmls ZWdlcyhuc3BuYW1lKTsKKwlpZiAoIU9pZElzVmFsaWQobnNwb2lkKSkKKwkJcmV0dXJuIGZhbHNl OworCisJcmVsbmFtZSA9IFRleHREYXR1bUdldENTdHJpbmcoUEdfR0VUQVJHX0RBVFVNKENfQVRU UkVMTkFNRV9BUkcpKTsKKwlyZWxvaWQgPSBnZXRfcmVsbmFtZV9yZWxpZChyZWxuYW1lLCBuc3Bv aWQpOworCWlmICghT2lkSXNWYWxpZChyZWxvaWQpKQorCXsKKwkJZXJlcG9ydChXQVJOSU5HLAor CQkJCShlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09CSkVDVCksCisJCQkJIGVycm1zZygiUmVs YXRpb24gXCIlc1wiLlwiJXNcIiBub3QgZm91bmQuIiwgbnNwbmFtZSwgcmVsbmFtZSkpKTsKKwkJ cmV0dXJuIGZhbHNlOworCX0KIAogCWlmIChSZWNvdmVyeUluUHJvZ3Jlc3MoKSkKIAkJZXJlcG9y dChFUlJPUiwKQEAgLTkxNiwyMyArOTU1LDIxIEBAIHBnX2NsZWFyX2F0dHJpYnV0ZV9zdGF0cyhQ R19GVU5DVElPTl9BUkdTKQogCiAJc3RhdHNfbG9ja19jaGVja19wcml2aWxlZ2VzKHJlbG9pZCk7 CiAKLQlzdGF0c19jaGVja19yZXF1aXJlZF9hcmcoZmNpbmZvLCBjbGVhcmFyZ2luZm8sIENfQVRU TkFNRV9BUkcpOwotCWF0dG5hbWUgPSBQR19HRVRBUkdfTkFNRShDX0FUVE5BTUVfQVJHKTsKLQlh dHRudW0gPSBnZXRfYXR0bnVtKHJlbG9pZCwgTmFtZVN0cigqYXR0bmFtZSkpOworCWF0dG5hbWUg PSBUZXh0RGF0dW1HZXRDU3RyaW5nKFBHX0dFVEFSR19EQVRVTShDX0FUVE5BTUVfQVJHKSk7CisJ YXR0bnVtID0gZ2V0X2F0dG51bShyZWxvaWQsIGF0dG5hbWUpOwogCiAJaWYgKGF0dG51bSA8IDAp CiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQ T1JURUQpLAogCQkJCSBlcnJtc2coImNhbm5vdCBjbGVhciBzdGF0aXN0aWNzIG9uIHN5c3RlbSBj b2x1bW4gXCIlc1wiIiwKLQkJCQkJCU5hbWVTdHIoKmF0dG5hbWUpKSkpOworCQkJCQkJYXR0bmFt ZSkpKTsKIAogCWlmIChhdHRudW0gPT0gSW52YWxpZEF0dHJOdW1iZXIpCiAJCWVyZXBvcnQoRVJS T1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfQ09MVU1OKSwKIAkJCQkgZXJybXNn KCJjb2x1bW4gXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCi0JCQkJ CQlOYW1lU3RyKCphdHRuYW1lKSwgZ2V0X3JlbF9uYW1lKHJlbG9pZCkpKSk7CisJCQkJCQlhdHRu YW1lLCBnZXRfcmVsX25hbWUocmVsb2lkKSkpKTsKIAotCXN0YXRzX2NoZWNrX3JlcXVpcmVkX2Fy ZyhmY2luZm8sIGNsZWFyYXJnaW5mbywgQ19JTkhFUklURURfQVJHKTsKIAlpbmhlcml0ZWQgPSBQ R19HRVRBUkdfQk9PTChDX0lOSEVSSVRFRF9BUkcpOwogCiAJZGVsZXRlX3BnX3N0YXRpc3RpYyhy ZWxvaWQsIGF0dG51bSwgaW5oZXJpdGVkKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0YXRp c3RpY3MvcmVsYXRpb25fc3RhdHMuYyBiL3NyYy9iYWNrZW5kL3N0YXRpc3RpY3MvcmVsYXRpb25f c3RhdHMuYwppbmRleCA1MmRmYTQ3NzE4Ny4uZmRjNjliYzkzZTIgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3N0YXRpc3RpY3MvcmVsYXRpb25fc3RhdHMuYworKysgYi9zcmMvYmFja2VuZC9zdGF0 aXN0aWNzL3JlbGF0aW9uX3N0YXRzLmMKQEAgLTE5LDkgKzE5LDEyIEBACiAKICNpbmNsdWRlICJh Y2Nlc3MvaGVhcGFtLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9pbmRleGluZy5oIgorI2luY2x1ZGUg ImNhdGFsb2cvbmFtZXNwYWNlLmgiCiAjaW5jbHVkZSAic3RhdGlzdGljcy9zdGF0X3V0aWxzLmgi CisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKICNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5o IgogI2luY2x1ZGUgInV0aWxzL2ZtZ3Jwcm90b3MuaCIKKyNpbmNsdWRlICJ1dGlscy9sc3lzY2Fj aGUuaCIKICNpbmNsdWRlICJ1dGlscy9zeXNjYWNoZS5oIgogCiAKQEAgLTMyLDcgKzM1LDggQEAK IAogZW51bSByZWxhdGlvbl9zdGF0c19hcmdudW0KIHsKLQlSRUxBVElPTl9BUkcgPSAwLAorCVJF TFNDSEVNQV9BUkcgPSAwLAorCVJFTE5BTUVfQVJHLAogCVJFTFBBR0VTX0FSRywKIAlSRUxUVVBM RVNfQVJHLAogCVJFTEFMTFZJU0lCTEVfQVJHLApAQCAtNDIsNyArNDYsOCBAQCBlbnVtIHJlbGF0 aW9uX3N0YXRzX2FyZ251bQogCiBzdGF0aWMgc3RydWN0IFN0YXRzQXJnSW5mbyByZWxhcmdpbmZv W10gPQogewotCVtSRUxBVElPTl9BUkddID0geyJyZWxhdGlvbiIsIFJFR0NMQVNTT0lEfSwKKwlb UkVMU0NIRU1BX0FSR10gPSB7InNjaGVtYW5hbWUiLCBURVhUT0lEfSwKKwlbUkVMTkFNRV9BUkdd ID0geyJyZWxuYW1lIiwgVEVYVE9JRH0sCiAJW1JFTFBBR0VTX0FSR10gPSB7InJlbHBhZ2VzIiwg SU5UNE9JRH0sCiAJW1JFTFRVUExFU19BUkddID0geyJyZWx0dXBsZXMiLCBGTE9BVDRPSUR9LAog CVtSRUxBTExWSVNJQkxFX0FSR10gPSB7InJlbGFsbHZpc2libGUiLCBJTlQ0T0lEfSwKQEAgLTU5 LDYgKzY0LDkgQEAgc3RhdGljIGJvb2wKIHJlbGF0aW9uX3N0YXRpc3RpY3NfdXBkYXRlKEZ1bmN0 aW9uQ2FsbEluZm8gZmNpbmZvKQogewogCWJvb2wJCXJlc3VsdCA9IHRydWU7CisJY2hhcgkgICAq bnNwbmFtZTsKKwlPaWQJCQluc3BvaWQ7CisJY2hhcgkgICAqcmVsbmFtZTsKIAlPaWQJCQlyZWxv aWQ7CiAJUmVsYXRpb24JY3JlbDsKIAlCbG9ja051bWJlciByZWxwYWdlcyA9IDA7CkBAIC03Niw2 ICs4NCwzMiBAQCByZWxhdGlvbl9zdGF0aXN0aWNzX3VwZGF0ZShGdW5jdGlvbkNhbGxJbmZvIGZj aW5mbykKIAlib29sCQludWxsc1s0XSA9IHswfTsKIAlpbnQJCQlucmVwbGFjZXMgPSAwOwogCisJ c3RhdHNfY2hlY2tfcmVxdWlyZWRfYXJnKGZjaW5mbywgcmVsYXJnaW5mbywgUkVMU0NIRU1BX0FS Ryk7CisJc3RhdHNfY2hlY2tfcmVxdWlyZWRfYXJnKGZjaW5mbywgcmVsYXJnaW5mbywgUkVMTkFN RV9BUkcpOworCisJbnNwbmFtZSA9IFRleHREYXR1bUdldENTdHJpbmcoUEdfR0VUQVJHX0RBVFVN KFJFTFNDSEVNQV9BUkcpKTsKKwluc3BvaWQgPSBzdGF0c19zY2hlbWFfY2hlY2tfcHJpdmlsZWdl cyhuc3BuYW1lKTsKKwlpZiAoIU9pZElzVmFsaWQobnNwb2lkKSkKKwkJcmV0dXJuIGZhbHNlOwor CisJcmVsbmFtZSA9IFRleHREYXR1bUdldENTdHJpbmcoUEdfR0VUQVJHX0RBVFVNKFJFTE5BTUVf QVJHKSk7CisJcmVsb2lkID0gZ2V0X3JlbG5hbWVfcmVsaWQocmVsbmFtZSwgbnNwb2lkKTsKKwlp ZiAoIU9pZElzVmFsaWQocmVsb2lkKSkKKwl7CisJCWVyZXBvcnQoV0FSTklORywKKwkJCQkoZXJy Y29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCSBlcnJtc2coIlJlbGF0aW9uIFwi JXNcIi5cIiVzXCIgbm90IGZvdW5kLiIsIG5zcG5hbWUsIHJlbG5hbWUpKSk7CisJCXJldHVybiBm YWxzZTsKKwl9CisKKwlpZiAoUmVjb3ZlcnlJblByb2dyZXNzKCkpCisJCWVyZXBvcnQoRVJST1Is CisJCQkJKGVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lOX1BSRVJFUVVJU0lURV9TVEFURSks CisJCQkJIGVycm1zZygicmVjb3ZlcnkgaXMgaW4gcHJvZ3Jlc3MiKSwKKwkJCQkgZXJyaGludCgi U3RhdGlzdGljcyBjYW5ub3QgYmUgbW9kaWZpZWQgZHVyaW5nIHJlY292ZXJ5LiIpKSk7CisKKwlz dGF0c19sb2NrX2NoZWNrX3ByaXZpbGVnZXMocmVsb2lkKTsKKwogCWlmICghUEdfQVJHSVNOVUxM KFJFTFBBR0VTX0FSRykpCiAJewogCQlyZWxwYWdlcyA9IFBHX0dFVEFSR19VSU5UMzIoUkVMUEFH RVNfQVJHKTsKQEAgLTEwOCwxNyArMTQyLDYgQEAgcmVsYXRpb25fc3RhdGlzdGljc191cGRhdGUo RnVuY3Rpb25DYWxsSW5mbyBmY2luZm8pCiAJCXVwZGF0ZV9yZWxhbGxmcm96ZW4gPSB0cnVlOwog CX0KIAotCXN0YXRzX2NoZWNrX3JlcXVpcmVkX2FyZyhmY2luZm8sIHJlbGFyZ2luZm8sIFJFTEFU SU9OX0FSRyk7Ci0JcmVsb2lkID0gUEdfR0VUQVJHX09JRChSRUxBVElPTl9BUkcpOwotCi0JaWYg KFJlY292ZXJ5SW5Qcm9ncmVzcygpKQotCQllcmVwb3J0KEVSUk9SLAotCQkJCShlcnJjb2RlKEVS UkNPREVfT0JKRUNUX05PVF9JTl9QUkVSRVFVSVNJVEVfU1RBVEUpLAotCQkJCSBlcnJtc2coInJl Y292ZXJ5IGlzIGluIHByb2dyZXNzIiksCi0JCQkJIGVycmhpbnQoIlN0YXRpc3RpY3MgY2Fubm90 IGJlIG1vZGlmaWVkIGR1cmluZyByZWNvdmVyeS4iKSkpOwotCi0Jc3RhdHNfbG9ja19jaGVja19w cml2aWxlZ2VzKHJlbG9pZCk7Ci0KIAkvKgogCSAqIFRha2UgUm93RXhjbHVzaXZlTG9jayBvbiBw Z19jbGFzcywgY29uc2lzdGVudCB3aXRoCiAJICogdmFjX3VwZGF0ZV9yZWxzdGF0cygpLgpAQCAt MTg3LDIwICsyMTAsMjIgQEAgcmVsYXRpb25fc3RhdGlzdGljc191cGRhdGUoRnVuY3Rpb25DYWxs SW5mbyBmY2luZm8pCiBEYXR1bQogcGdfY2xlYXJfcmVsYXRpb25fc3RhdHMoUEdfRlVOQ1RJT05f QVJHUykKIHsKLQlMT0NBTF9GQ0lORk8obmV3ZmNpbmZvLCA1KTsKKwlMT0NBTF9GQ0lORk8obmV3 ZmNpbmZvLCA2KTsKIAotCUluaXRGdW5jdGlvbkNhbGxJbmZvRGF0YSgqbmV3ZmNpbmZvLCBOVUxM LCA1LCBJbnZhbGlkT2lkLCBOVUxMLCBOVUxMKTsKKwlJbml0RnVuY3Rpb25DYWxsSW5mb0RhdGEo Km5ld2ZjaW5mbywgTlVMTCwgNiwgSW52YWxpZE9pZCwgTlVMTCwgTlVMTCk7CiAKLQluZXdmY2lu Zm8tPmFyZ3NbMF0udmFsdWUgPSBQR19HRVRBUkdfT0lEKDApOworCW5ld2ZjaW5mby0+YXJnc1sw XS52YWx1ZSA9IFBHX0dFVEFSR19EQVRVTSgwKTsKIAluZXdmY2luZm8tPmFyZ3NbMF0uaXNudWxs ID0gUEdfQVJHSVNOVUxMKDApOwotCW5ld2ZjaW5mby0+YXJnc1sxXS52YWx1ZSA9IFVJbnQzMkdl dERhdHVtKDApOwotCW5ld2ZjaW5mby0+YXJnc1sxXS5pc251bGwgPSBmYWxzZTsKLQluZXdmY2lu Zm8tPmFyZ3NbMl0udmFsdWUgPSBGbG9hdDRHZXREYXR1bSgtMS4wKTsKKwluZXdmY2luZm8tPmFy Z3NbMV0udmFsdWUgPSBQR19HRVRBUkdfREFUVU0oMSk7CisJbmV3ZmNpbmZvLT5hcmdzWzFdLmlz bnVsbCA9IFBHX0FSR0lTTlVMTCgxKTsKKwluZXdmY2luZm8tPmFyZ3NbMl0udmFsdWUgPSBVSW50 MzJHZXREYXR1bSgwKTsKIAluZXdmY2luZm8tPmFyZ3NbMl0uaXNudWxsID0gZmFsc2U7Ci0JbmV3 ZmNpbmZvLT5hcmdzWzNdLnZhbHVlID0gVUludDMyR2V0RGF0dW0oMCk7CisJbmV3ZmNpbmZvLT5h cmdzWzNdLnZhbHVlID0gRmxvYXQ0R2V0RGF0dW0oLTEuMCk7CiAJbmV3ZmNpbmZvLT5hcmdzWzNd LmlzbnVsbCA9IGZhbHNlOwogCW5ld2ZjaW5mby0+YXJnc1s0XS52YWx1ZSA9IFVJbnQzMkdldERh dHVtKDApOwogCW5ld2ZjaW5mby0+YXJnc1s0XS5pc251bGwgPSBmYWxzZTsKKwluZXdmY2luZm8t PmFyZ3NbNV0udmFsdWUgPSBVSW50MzJHZXREYXR1bSgwKTsKKwluZXdmY2luZm8tPmFyZ3NbNV0u aXNudWxsID0gZmFsc2U7CiAKIAlyZWxhdGlvbl9zdGF0aXN0aWNzX3VwZGF0ZShuZXdmY2luZm8p OwogCVBHX1JFVFVSTl9WT0lEKCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdGF0aXN0aWNz L3N0YXRfdXRpbHMuYyBiL3NyYy9iYWNrZW5kL3N0YXRpc3RpY3Mvc3RhdF91dGlscy5jCmluZGV4 IDk2NDdmNTEwOGIzLi5iNDQ0ZjY4NzFkZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RhdGlz dGljcy9zdGF0X3V0aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RhdGlzdGljcy9zdGF0X3V0aWxz LmMKQEAgLTE4LDcgKzE4LDkgQEAKIAogI2luY2x1ZGUgImFjY2Vzcy9yZWxhdGlvbi5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvaW5kZXguaCIKKyNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFjZS5oIgog I2luY2x1ZGUgImNhdGFsb2cvcGdfZGF0YWJhc2UuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX25h bWVzcGFjZS5oIgogI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIK ICNpbmNsdWRlICJzdGF0aXN0aWNzL3N0YXRfdXRpbHMuaCIKQEAgLTIxMyw2ICsyMTUsNDEgQEAg c3RhdHNfbG9ja19jaGVja19wcml2aWxlZ2VzKE9pZCByZWxvaWQpCiAJcmVsYXRpb25fY2xvc2Uo dGFibGUsIE5vTG9jayk7CiB9CiAKKworLyoKKyAqIFJlc29sdmUgYSBzY2hlbWEgbmFtZSBpbnRv IGFuIE9pZCwgZW5zdXJlIHRoYXQgdGhlIHVzZXIgaGFzIHVzYWdlIHByaXZzIG9uCisgKiB0aGF0 IHNjaGVtYS4KKyAqLworT2lkCitzdGF0c19zY2hlbWFfY2hlY2tfcHJpdmlsZWdlcyhjb25zdCBj aGFyICpuc3BuYW1lKQoreworCU9pZAkJCW5zcG9pZDsKKwlBY2xSZXN1bHQJYWNscmVzdWx0Owor CisJbnNwb2lkID0gTG9va3VwRXhwbGljaXROYW1lc3BhY2UobnNwbmFtZSwgdHJ1ZSk7CisKKwlp ZiAobnNwb2lkID09IEludmFsaWRPaWQpCisJeworCQllcmVwb3J0KFdBUk5JTkcsCisJCQkJKGVy cmNvZGUoRVJSQ09ERV9JTlZBTElEX1NDSEVNQV9OQU1FKSwKKwkJCQkgZXJybXNnKCJzY2hlbWEg JXMgZG9lcyBub3QgZXhpc3QiLCBuc3BuYW1lKSkpOworCQlyZXR1cm4gSW52YWxpZE9pZDsKKwl9 CisKKwlhY2xyZXN1bHQgPSBvYmplY3RfYWNsY2hlY2soTmFtZXNwYWNlUmVsYXRpb25JZCwgbnNw b2lkLCBHZXRVc2VySWQoKSwgQUNMX1VTQUdFKTsKKworCWlmIChhY2xyZXN1bHQgIT0gQUNMQ0hF Q0tfT0spCisJeworCQllcmVwb3J0KFdBUk5JTkcsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlNV RkZJQ0lFTlRfUFJJVklMRUdFKSwKKwkJCQkgZXJybXNnKCJwZXJtaXNzaW9uIGRlbmllZCBmb3Ig c2NoZW1hICVzIiwgbnNwbmFtZSkpKTsKKwkJcmV0dXJuIEludmFsaWRPaWQ7CisJfQorCisJcmV0 dXJuIG5zcG9pZDsKK30KKworCiAvKgogICogRmluZCB0aGUgYXJndW1lbnQgbnVtYmVyIGZvciB0 aGUgZ2l2ZW4gYXJndW1lbnQgbmFtZSwgcmV0dXJuaW5nIC0xIGlmIG5vdAogICogZm91bmQuCmRp ZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3Bn X2R1bXAuYwppbmRleCA0MjhlZDJkNjBmYy4uMjM5NjY0YzQ1OWQgMTAwNjQ0Ci0tLSBhL3NyYy9i aW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAt MTA0OTgsNyArMTA0OTgsNiBAQCBkdW1wUmVsYXRpb25TdGF0cyhBcmNoaXZlICpmb3V0LCBjb25z dCBSZWxTdGF0c0luZm8gKnJzaW5mbykKIAlQUUV4cEJ1ZmZlciBvdXQ7CiAJRHVtcElkCSAgICpk ZXBzID0gTlVMTDsKIAlpbnQJCQluZGVwcyA9IDA7Ci0JY2hhcgkgICAqcXVhbGlmaWVkX25hbWU7 CiAJaW50CQkJaV9hdHRuYW1lOwogCWludAkJCWlfaW5oZXJpdGVkOwogCWludAkJCWlfbnVsbF9m cmFjOwpAQCAtMTA1NjMsMTUgKzEwNTYyLDE2IEBAIGR1bXBSZWxhdGlvblN0YXRzKEFyY2hpdmUg KmZvdXQsIGNvbnN0IFJlbFN0YXRzSW5mbyAqcnNpbmZvKQogCiAJb3V0ID0gY3JlYXRlUFFFeHBC dWZmZXIoKTsKIAotCXF1YWxpZmllZF9uYW1lID0gcGdfc3RyZHVwKGZtdFF1YWxpZmllZER1bXBh YmxlKHJzaW5mbykpOwotCiAJLyogcmVzdG9yZSByZWxhdGlvbiBzdGF0cyAqLwogCWFwcGVuZFBR RXhwQnVmZmVyU3RyKG91dCwgIlNFTEVDVCAqIEZST00gcGdfY2F0YWxvZy5wZ19yZXN0b3JlX3Jl bGF0aW9uX3N0YXRzKFxuIik7CiAJYXBwZW5kUFFFeHBCdWZmZXIob3V0LCAiXHQndmVyc2lvbics ICcldSc6OmludGVnZXIsXG4iLAogCQkJCQkgIGZvdXQtPnJlbW90ZVZlcnNpb24pOwotCWFwcGVu ZFBRRXhwQnVmZmVyU3RyKG91dCwgIlx0J3JlbGF0aW9uJywgIik7Ci0JYXBwZW5kU3RyaW5nTGl0 ZXJhbEFIKG91dCwgcXVhbGlmaWVkX25hbWUsIGZvdXQpOwotCWFwcGVuZFBRRXhwQnVmZmVyU3Ry KG91dCwgIjo6cmVnY2xhc3MsXG4iKTsKKwlhcHBlbmRQUUV4cEJ1ZmZlclN0cihvdXQsICJcdCdz Y2hlbWFuYW1lJywgIik7CisJYXBwZW5kU3RyaW5nTGl0ZXJhbEFIKG91dCwgcnNpbmZvLT5kb2Jq Lm5hbWVzcGFjZS0+ZG9iai5uYW1lLCBmb3V0KTsKKwlhcHBlbmRQUUV4cEJ1ZmZlclN0cihvdXQs ICIsXG4iKTsKKwlhcHBlbmRQUUV4cEJ1ZmZlclN0cihvdXQsICJcdCdyZWxuYW1lJywgIik7CisJ YXBwZW5kU3RyaW5nTGl0ZXJhbEFIKG91dCwgcnNpbmZvLT5kb2JqLm5hbWUsIGZvdXQpOworCWFw cGVuZFBRRXhwQnVmZmVyU3RyKG91dCwgIixcbiIpOwogCWFwcGVuZFBRRXhwQnVmZmVyKG91dCwg Ilx0J3JlbHBhZ2VzJywgJyVkJzo6aW50ZWdlcixcbiIsIHJzaW5mby0+cmVscGFnZXMpOwogCWFw cGVuZFBRRXhwQnVmZmVyKG91dCwgIlx0J3JlbHR1cGxlcycsICclcyc6OnJlYWwsXG4iLCByc2lu Zm8tPnJlbHR1cGxlcyk7CiAJYXBwZW5kUFFFeHBCdWZmZXIob3V0LCAiXHQncmVsYWxsdmlzaWJs ZScsICclZCc6OmludGVnZXJcbik7XG4iLApAQCAtMTA2MTAsOSArMTA2MTAsMTAgQEAgZHVtcFJl bGF0aW9uU3RhdHMoQXJjaGl2ZSAqZm91dCwgY29uc3QgUmVsU3RhdHNJbmZvICpyc2luZm8pCiAJ CWFwcGVuZFBRRXhwQnVmZmVyU3RyKG91dCwgIlNFTEVDVCAqIEZST00gcGdfY2F0YWxvZy5wZ19y ZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cyhcbiIpOwogCQlhcHBlbmRQUUV4cEJ1ZmZlcihvdXQsICJc dCd2ZXJzaW9uJywgJyV1Jzo6aW50ZWdlcixcbiIsCiAJCQkJCQkgIGZvdXQtPnJlbW90ZVZlcnNp b24pOwotCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihvdXQsICJcdCdyZWxhdGlvbicsICIpOwotCQlh cHBlbmRTdHJpbmdMaXRlcmFsQUgob3V0LCBxdWFsaWZpZWRfbmFtZSwgZm91dCk7Ci0JCWFwcGVu ZFBRRXhwQnVmZmVyU3RyKG91dCwgIjo6cmVnY2xhc3MiKTsKKwkJYXBwZW5kUFFFeHBCdWZmZXJT dHIob3V0LCAiXHQnc2NoZW1hbmFtZScsICIpOworCQlhcHBlbmRTdHJpbmdMaXRlcmFsQUgob3V0 LCByc2luZm8tPmRvYmoubmFtZXNwYWNlLT5kb2JqLm5hbWUsIGZvdXQpOworCQlhcHBlbmRQUUV4 cEJ1ZmZlclN0cihvdXQsICIsXG5cdCdyZWxuYW1lJywgIik7CisJCWFwcGVuZFN0cmluZ0xpdGVy YWxBSChvdXQsIHJzaW5mby0+ZG9iai5uYW1lLCBmb3V0KTsKIAogCQlpZiAoUFFnZXRpc251bGwo cmVzLCByb3dudW0sIGlfYXR0bmFtZSkpCiAJCQlwZ19mYXRhbCgiYXR0bmFtZSBjYW5ub3QgYmUg TlVMTCIpOwpAQCAtMTA2MjQsNyArMTA2MjUsMTAgQEAgZHVtcFJlbGF0aW9uU3RhdHMoQXJjaGl2 ZSAqZm91dCwgY29uc3QgUmVsU3RhdHNJbmZvICpyc2luZm8pCiAJCSAqIHRoZWlyIGF0dG5hbWVz IGFyZSBub3QgbmVjZXNzYXJpbHkgc3RhYmxlIGFjcm9zcyBkdW1wL3JlbG9hZC4KIAkJICovCiAJ CWlmIChyc2luZm8tPm5pbmRBdHROYW1lcyA9PSAwKQotCQkJYXBwZW5kTmFtZWRBcmd1bWVudChv dXQsIGZvdXQsICJhdHRuYW1lIiwgIm5hbWUiLCBhdHRuYW1lKTsKKwkJeworCQkJYXBwZW5kUFFF eHBCdWZmZXIob3V0LCAiLFxuXHQnYXR0bmFtZScsICIpOworCQkJYXBwZW5kU3RyaW5nTGl0ZXJh bEFIKG91dCwgYXR0bmFtZSwgZm91dCk7CisJCX0KIAkJZWxzZQogCQl7CiAJCQlib29sCQlmb3Vu ZCA9IGZhbHNlOwpAQCAtMTA3MDQsNyArMTA3MDgsNiBAQCBkdW1wUmVsYXRpb25TdGF0cyhBcmNo aXZlICpmb3V0LCBjb25zdCBSZWxTdGF0c0luZm8gKnJzaW5mbykKIAkJCQkJCQkgIC5kZXBzID0g ZGVwcywKIAkJCQkJCQkgIC5uRGVwcyA9IG5kZXBzKSk7CiAKLQlmcmVlKHF1YWxpZmllZF9uYW1l KTsKIAlkZXN0cm95UFFFeHBCdWZmZXIob3V0KTsKIAlkZXN0cm95UFFFeHBCdWZmZXIocXVlcnkp OwogfQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwgYi9zcmMv YmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbAppbmRleCBkMjgxZTI3YWE2Ny4uZDNlODRmNDRj NmMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCisrKyBiL3Ny Yy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCkBAIC00NzQxLDE0ICs0NzQxLDE2IEBAIG15 ICV0ZXN0cyA9ICgKIAkJcmVnZXhwID0+IHFyL14KIAkJCVxRU0VMRUNUICogRlJPTSBwZ19jYXRh bG9nLnBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoXEVccysKIAkJCSd2ZXJzaW9uJyxccydcZCsn OjppbnRlZ2VyLFxzKwotCQkJJ3JlbGF0aW9uJyxccydkdW1wX3Rlc3QuZHVwX3Rlc3RfcG9zdF9k YXRhX2l4Jzo6cmVnY2xhc3MsXHMrCisJCQknc2NoZW1hbmFtZScsXHMnZHVtcF90ZXN0JyxccysK KwkJCSdyZWxuYW1lJyxccydkdXBfdGVzdF9wb3N0X2RhdGFfaXgnLFxzKwogCQkJJ3JlbHBhZ2Vz JyxccydcZCsnOjppbnRlZ2VyLFxzKwogCQkJJ3JlbHR1cGxlcycsXHMnXGQrJzo6cmVhbCxccysK IAkJCSdyZWxhbGx2aXNpYmxlJyxccydcZCsnOjppbnRlZ2VyXHMrCiAJCQlcKTtccysKIAkJCVxR U0VMRUNUICogRlJPTSBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKFxFXHMr CiAJCQkndmVyc2lvbicsXHMnXGQrJzo6aW50ZWdlcixccysKLQkJCSdyZWxhdGlvbicsXHMnZHVt cF90ZXN0LmR1cF90ZXN0X3Bvc3RfZGF0YV9peCc6OnJlZ2NsYXNzLFxzKworCQkJJ3NjaGVtYW5h bWUnLFxzJ2R1bXBfdGVzdCcsXHMrCisJCQkncmVsbmFtZScsXHMnZHVwX3Rlc3RfcG9zdF9kYXRh X2l4JyxccysKIAkJCSdhdHRudW0nLFxzJzInOjpzbWFsbGludCxccysKIAkJCSdpbmhlcml0ZWQn LFxzJ2YnOjpib29sZWFuLFxzKwogCQkJJ251bGxfZnJhYycsXHMnMCc6OnJlYWwsXHMrCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL2NhdHZlcnNpb24uaCBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvY2F0dmVyc2lvbi5oCmluZGV4IGNmMzgxODY3ZTQwLi5jNjhmZjljYmY4MyAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXR2ZXJzaW9uLmgKKysrIGIvc3JjL2luY2x1ZGUv Y2F0YWxvZy9jYXR2ZXJzaW9uLmgKQEAgLTU3LDYgKzU3LDYgQEAKICAqLwogCiAvKgkJCQkJCQl5 eXl5bW1kZE4gKi8KLSNkZWZpbmUgQ0FUQUxPR19WRVJTSU9OX05PCTIwMjUwMzI0MQorI2RlZmlu ZSBDQVRBTE9HX1ZFUlNJT05fTk8JMjAyNTAzMjQyCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5kYXQKaW5kZXggMGQyOWVmNTBmZjIuLjNmN2I4MmUwMmJiIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5kYXQKQEAgLTEyNDUzLDggKzEyNDUzLDggQEAKICAgZGVzY3IgPT4gJ2NsZWFyIHN0YXRpc3Rp Y3Mgb24gcmVsYXRpb24nLAogICBwcm9uYW1lID0+ICdwZ19jbGVhcl9yZWxhdGlvbl9zdGF0cycs IHByb3ZvbGF0aWxlID0+ICd2JywgcHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9wYXJhbGxlbCA9 PiAndScsIHByb3JldHR5cGUgPT4gJ3ZvaWQnLAotICBwcm9hcmd0eXBlcyA9PiAncmVnY2xhc3Mn LAotICBwcm9hcmduYW1lcyA9PiAne3JlbGF0aW9ufScsCisgIHByb2FyZ3R5cGVzID0+ICd0ZXh0 IHRleHQnLAorICBwcm9hcmduYW1lcyA9PiAne3NjaGVtYW5hbWUscmVsbmFtZX0nLAogICBwcm9z cmMgPT4gJ3BnX2NsZWFyX3JlbGF0aW9uX3N0YXRzJyB9LAogeyBvaWQgPT4gJzg0NjEnLAogICBk ZXNjciA9PiAncmVzdG9yZSBzdGF0aXN0aWNzIG9uIGF0dHJpYnV0ZScsCkBAIC0xMjQ2OSw4ICsx MjQ2OSw4IEBACiAgIGRlc2NyID0+ICdjbGVhciBzdGF0aXN0aWNzIG9uIGF0dHJpYnV0ZScsCiAg IHByb25hbWUgPT4gJ3BnX2NsZWFyX2F0dHJpYnV0ZV9zdGF0cycsIHByb3ZvbGF0aWxlID0+ICd2 JywgcHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9wYXJhbGxlbCA9PiAndScsIHByb3JldHR5cGUg PT4gJ3ZvaWQnLAotICBwcm9hcmd0eXBlcyA9PiAncmVnY2xhc3MgbmFtZSBib29sJywKLSAgcHJv YXJnbmFtZXMgPT4gJ3tyZWxhdGlvbixhdHRuYW1lLGluaGVyaXRlZH0nLAorICBwcm9hcmd0eXBl cyA9PiAndGV4dCB0ZXh0IHRleHQgYm9vbCcsCisgIHByb2FyZ25hbWVzID0+ICd7c2NoZW1hbmFt ZSxyZWxuYW1lLGF0dG5hbWUsaW5oZXJpdGVkfScsCiAgIHByb3NyYyA9PiAncGdfY2xlYXJfYXR0 cmlidXRlX3N0YXRzJyB9LAogCiAjIEdpU1Qgc3RyYXRudW0gaW1wbGVtZW50YXRpb25zCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9zdGF0aXN0aWNzL3N0YXRfdXRpbHMuaCBiL3NyYy9pbmNsdWRl L3N0YXRpc3RpY3Mvc3RhdF91dGlscy5oCmluZGV4IDBlYjRkZWNmY2FjLi5iYTA5YjQzMWMxMSAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RhdGlzdGljcy9zdGF0X3V0aWxzLmgKKysrIGIvc3Jj L2luY2x1ZGUvc3RhdGlzdGljcy9zdGF0X3V0aWxzLmgKQEAgLTMyLDYgKzMyLDggQEAgZXh0ZXJu IGJvb2wgc3RhdHNfY2hlY2tfYXJnX3BhaXIoRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sCiAKIGV4 dGVybiB2b2lkIHN0YXRzX2xvY2tfY2hlY2tfcHJpdmlsZWdlcyhPaWQgcmVsb2lkKTsKIAorZXh0 ZXJuIE9pZAlzdGF0c19zY2hlbWFfY2hlY2tfcHJpdmlsZWdlcyhjb25zdCBjaGFyICpuc3BuYW1l KTsKKwogZXh0ZXJuIGJvb2wgc3RhdHNfZmlsbF9mY2luZm9fZnJvbV9hcmdfcGFpcnMoRnVuY3Rp b25DYWxsSW5mbyBwYWlyc19mY2luZm8sCiAJCQkJCQkJCQkJCSBGdW5jdGlvbkNhbGxJbmZvIHBv c2l0aW9uYWxfZmNpbmZvLAogCQkJCQkJCQkJCQkgc3RydWN0IFN0YXRzQXJnSW5mbyAqYXJnaW5m byk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0YXRzX2ltcG9ydC5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0YXRzX2ltcG9ydC5vdXQKaW5kZXggMWY0 NmQ1ZTc4NTQuLjMwMmU3Nzc0M2UzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3N0YXRzX2ltcG9ydC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdGF0 c19pbXBvcnQub3V0CkBAIC0xNCw3ICsxNCw4IEBAIENSRUFURSBUQUJMRSBzdGF0c19pbXBvcnQu dGVzdCgKICkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gZmFsc2UpOwogU0VMRUNUCiAgICAg cGdfY2F0YWxvZy5wZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAotICAgICAgICAncmVsYXRpb24n LCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKKyAgICAgICAgJ3NjaGVtYW5hbWUnLCAn c3RhdHNfaW1wb3J0JywKKyAgICAgICAgJ3JlbG5hbWUnLCAndGVzdCcsCiAgICAgICAgICdyZWxw YWdlcycsIDE4OjppbnRlZ2VyLAogICAgICAgICAncmVsdHVwbGVzJywgMjE6OnJlYWwsCiAgICAg ICAgICdyZWxhbGx2aXNpYmxlJywgMjQ6OmludGVnZXIsCkBAIC0zNiw3ICszNyw3IEBAIE9SREVS IEJZIHJlbG5hbWU7CiAgdGVzdCAgICB8ICAgICAgIDE4IHwgICAgICAgIDIxIHwgICAgICAgICAg ICAyNCB8ICAgICAgICAgICAyNwogKDEgcm93KQogCi1TRUxFQ1QgcGdfY2xlYXJfcmVsYXRpb25f c3RhdHMoJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MpOworU0VMRUNUIHBnX2NsZWFyX3Jl bGF0aW9uX3N0YXRzKCdzdGF0c19pbXBvcnQnLCAndGVzdCcpOwogIHBnX2NsZWFyX3JlbGF0aW9u X3N0YXRzIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIApAQCAtNDUsMzMgKzQ2LDU0IEBA IFNFTEVDVCBwZ19jbGVhcl9yZWxhdGlvbl9zdGF0cygnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdj bGFzcyk7CiAtLQogLS0gcmVsc3RhdHMgdGVzdHMKIC0tCi0tLS0gZXJyb3I6IHJlbGF0aW9uIGlz IHdyb25nIHR5cGUKKy0tIGVycm9yOiBzY2hlbWFuYW1lIG1pc3NpbmcKIFNFTEVDVCBwZ19jYXRh bG9nLnBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsIDA6Om9p ZCwKKyAgICAgICAgJ3JlbG5hbWUnLCAndGVzdCcsCiAgICAgICAgICdyZWxwYWdlcycsIDE3Ojpp bnRlZ2VyKTsKLVdBUk5JTkc6ICBhcmd1bWVudCAicmVsYXRpb24iIGhhcyB0eXBlICJvaWQiLCBl eHBlY3RlZCB0eXBlICJyZWdjbGFzcyIKLUVSUk9SOiAgInJlbGF0aW9uIiBjYW5ub3QgYmUgTlVM TAorRVJST1I6ICAic2NoZW1hbmFtZSIgY2Fubm90IGJlIE5VTEwKKy0tIGVycm9yOiByZWxuYW1l IG1pc3NpbmcKK1NFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCisg ICAgICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxwYWdlcycs IDE3OjppbnRlZ2VyKTsKK0VSUk9SOiAgInJlbG5hbWUiIGNhbm5vdCBiZSBOVUxMCistLS0gZXJy b3I6IHNjaGVtYW5hbWUgaXMgd3JvbmcgdHlwZQorU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9y ZV9yZWxhdGlvbl9zdGF0cygKKyAgICAgICAgJ3NjaGVtYW5hbWUnLCAzLjY6OmZsb2F0LAorICAg ICAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAgICAgJ3JlbHBhZ2VzJywgMTc6OmludGVnZXIp OworV0FSTklORzogIGFyZ3VtZW50ICJzY2hlbWFuYW1lIiBoYXMgdHlwZSAiZG91YmxlIHByZWNp c2lvbiIsIGV4cGVjdGVkIHR5cGUgInRleHQiCitFUlJPUjogICJzY2hlbWFuYW1lIiBjYW5ub3Qg YmUgTlVMTAorLS0tIGVycm9yOiByZWxuYW1lIGlzIHdyb25nIHR5cGUKK1NFTEVDVCBwZ19jYXRh bG9nLnBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCisgICAgICAgICdzY2hlbWFuYW1lJywgJ3N0 YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgMDo6b2lkLAorICAgICAgICAncmVscGFn ZXMnLCAxNzo6aW50ZWdlcik7CitXQVJOSU5HOiAgYXJndW1lbnQgInJlbG5hbWUiIGhhcyB0eXBl ICJvaWQiLCBleHBlY3RlZCB0eXBlICJ0ZXh0IgorRVJST1I6ICAicmVsbmFtZSIgY2Fubm90IGJl IE5VTEwKIC0tIGVycm9yOiByZWxhdGlvbiBub3QgZm91bmQKIFNFTEVDVCBwZ19jYXRhbG9nLnBn X3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsIDA6Om9pZDo6cmVn Y2xhc3MsCisgICAgICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdy ZWxuYW1lJywgJ25vcGUnLAogICAgICAgICAncmVscGFnZXMnLCAxNzo6aW50ZWdlcik7Ci1FUlJP UjogIGNvdWxkIG5vdCBvcGVuIHJlbGF0aW9uIHdpdGggT0lEIDAKK1dBUk5JTkc6ICBSZWxhdGlv biAic3RhdHNfaW1wb3J0Ii4ibm9wZSIgbm90IGZvdW5kLgorIHBnX3Jlc3RvcmVfcmVsYXRpb25f c3RhdHMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBmCisoMSByb3cpCisKIC0tIGVy cm9yOiBvZGQgbnVtYmVyIG9mIHZhcmlhZGljIGFyZ3VtZW50cyBjYW5ub3QgYmUgcGFpcnMKIFNF TEVDVCBwZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAotICAgICAgICAncmVsYXRpb24nLCAnc3Rh dHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKKyAgICAgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNf aW1wb3J0JywKKyAgICAgICAgJ3JlbG5hbWUnLCAndGVzdCcsCiAgICAgICAgICdyZWxhbGx2aXNp YmxlJyk7CiBFUlJPUjogIHZhcmlhZGljIGFyZ3VtZW50cyBtdXN0IGJlIG5hbWUvdmFsdWUgcGFp cnMKIEhJTlQ6ICBQcm92aWRlIGFuIGV2ZW4gbnVtYmVyIG9mIHZhcmlhZGljIGFyZ3VtZW50cyB0 aGF0IGNhbiBiZSBkaXZpZGVkIGludG8gcGFpcnMuCiAtLSBlcnJvcjogYXJndW1lbnQgbmFtZSBp cyBOVUxMCiBTRUxFQ1QgcGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0cygKLSAgICAgICAgJ3JlbGF0 aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCisgICAgICAgICdzY2hlbWFuYW1l JywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgJ3Rlc3QnLAogICAgICAgICBO VUxMLCAnMTcnOjppbnRlZ2VyKTsKLUVSUk9SOiAgbmFtZSBhdCB2YXJpYWRpYyBwb3NpdGlvbiAz IGlzIE5VTEwKLS0tIGVycm9yOiBhcmd1bWVudCBuYW1lIGlzIG5vdCBhIHRleHQgdHlwZQotU0VM RUNUIHBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICcwJzo6 b2lkOjpyZWdjbGFzcywKLSAgICAgICAgMTcsICcxNyc6OmludGVnZXIpOwotRVJST1I6ICBuYW1l IGF0IHZhcmlhZGljIHBvc2l0aW9uIDMgaGFzIHR5cGUgImludGVnZXIiLCBleHBlY3RlZCB0eXBl ICJ0ZXh0IgorRVJST1I6ICBuYW1lIGF0IHZhcmlhZGljIHBvc2l0aW9uIDUgaXMgTlVMTAogLS0g c3RhcnRpbmcgc3RhdHMKIFNFTEVDVCByZWxwYWdlcywgcmVsdHVwbGVzLCByZWxhbGx2aXNpYmxl LCByZWxhbGxmcm96ZW4KIEZST00gcGdfY2xhc3MKQEAgLTg0LDcgKzEwNiw4IEBAIFdIRVJFIG9p ZCA9ICdzdGF0c19pbXBvcnQudGVzdF9pJzo6cmVnY2xhc3M7CiAtLSByZWd1bGFyIGluZGV4ZXMg aGF2ZSBzcGVjaWFsIGNhc2UgbG9ja2luZyBydWxlcwogQkVHSU47CiBTRUxFQ1QgcGdfY2F0YWxv Zy5wZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAotICAgICAgICAncmVsYXRpb24nLCAnc3RhdHNf aW1wb3J0LnRlc3RfaSc6OnJlZ2NsYXNzLAorICAgICAgICAnc2NoZW1hbmFtZScsICdzdGF0c19p bXBvcnQnLAorICAgICAgICAncmVsbmFtZScsICd0ZXN0X2knLAogICAgICAgICAncmVscGFnZXMn LCAxODo6aW50ZWdlcik7CiAgcGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0cyAKIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQpAQCAtMTMyLDcgKzE1NSw4IEBAIFdIRVJFIG9pZCA9ICdzdGF0c19p bXBvcnQucGFydF9wYXJlbnQnOjpyZWdjbGFzczsKIC0tCiBCRUdJTjsKIFNFTEVDVCBwZ19jYXRh bG9nLnBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICdzdGF0 c19pbXBvcnQucGFydF9wYXJlbnRfaSc6OnJlZ2NsYXNzLAorICAgICAgICAnc2NoZW1hbmFtZScs ICdzdGF0c19pbXBvcnQnLAorICAgICAgICAncmVsbmFtZScsICdwYXJ0X3BhcmVudF9pJywKICAg ICAgICAgJ3JlbHBhZ2VzJywgMjo6aW50ZWdlcik7CiAgcGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0 cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTY2LDcgKzE5MCw4IEBAIFdIRVJF IG9pZCA9ICdzdGF0c19pbXBvcnQucGFydF9wYXJlbnRfaSc6OnJlZ2NsYXNzOwogCiAtLSBvazog c2V0IGFsbCByZWxzdGF0cywgd2l0aCB2ZXJzaW9uLCBubyBib3VuZHMgY2hlY2tpbmcKIFNFTEVD VCBwZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAotICAgICAgICAncmVsYXRpb24nLCAnc3RhdHNf aW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKKyAgICAgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1w b3J0JywKKyAgICAgICAgJ3JlbG5hbWUnLCAndGVzdCcsCiAgICAgICAgICd2ZXJzaW9uJywgMTUw MDAwOjppbnRlZ2VyLAogICAgICAgICAncmVscGFnZXMnLCAnLTE3Jzo6aW50ZWdlciwKICAgICAg ICAgJ3JlbHR1cGxlcycsIDQwMDo6cmVhbCwKQEAgLTE4Nyw3ICsyMTIsOCBAQCBXSEVSRSBvaWQg PSAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzczsKIAogLS0gb2s6IHNldCBqdXN0IHJlbHBh Z2VzLCByZXN0IHN0YXkgc2FtZQogU0VMRUNUIHBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCi0g ICAgICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAorICAgICAg ICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAgICAncmVsbmFtZScsICd0ZXN0 JywKICAgICAgICAgJ3JlbHBhZ2VzJywgJzE2Jzo6aW50ZWdlcik7CiAgcGdfcmVzdG9yZV9yZWxh dGlvbl9zdGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjA0LDcgKzIzMCw4 IEBAIFdIRVJFIG9pZCA9ICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzOwogCiAtLSBvazog c2V0IGp1c3QgcmVsdHVwbGVzLCByZXN0IHN0YXkgc2FtZQogU0VMRUNUIHBnX3Jlc3RvcmVfcmVs YXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJl Z2NsYXNzLAorICAgICAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAgICAn cmVsbmFtZScsICd0ZXN0JywKICAgICAgICAgJ3JlbHR1cGxlcycsICc1MDAnOjpyZWFsKTsKICBw Z19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBA IC0yMjEsNyArMjQ4LDggQEAgV0hFUkUgb2lkID0gJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xh c3M7CiAKIC0tIG9rOiBzZXQganVzdCByZWxhbGx2aXNpYmxlLCByZXN0IHN0YXkgc2FtZQogU0VM RUNUIHBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICdzdGF0 c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAorICAgICAgICAnc2NoZW1hbmFtZScsICdzdGF0c19p bXBvcnQnLAorICAgICAgICAncmVsbmFtZScsICd0ZXN0JywKICAgICAgICAgJ3JlbGFsbHZpc2li bGUnLCA1OjppbnRlZ2VyKTsKICBwZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzIAogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yMzgsNyArMjY2LDggQEAgV0hFUkUgb2lkID0gJ3N0YXRz X2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3M7CiAKIC0tIG9rOiBqdXN0IHJlbGFsbGZyb3plbgogU0VM RUNUIHBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICdzdGF0 c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAorICAgICAgICAnc2NoZW1hbmFtZScsICdzdGF0c19p bXBvcnQnLAorICAgICAgICAncmVsbmFtZScsICd0ZXN0JywKICAgICAgICAgJ3ZlcnNpb24nLCAx NTAwMDA6OmludGVnZXIsCiAgICAgICAgICdyZWxhbGxmcm96ZW4nLCAzOjppbnRlZ2VyKTsKICBw Z19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzIApAQCAtMjU2LDcgKzI4NSw4IEBAIFdIRVJFIG9pZCA9 ICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzOwogCiAtLSB3YXJuOiBiYWQgcmVscGFnZXMg dHlwZSwgcmVzdCB1cGRhdGVkCiBTRUxFQ1QgcGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0cygKLSAg ICAgICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCisgICAgICAg ICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgJ3Rlc3Qn LAogICAgICAgICAncmVscGFnZXMnLCAnbm9wZSc6OnRleHQsCiAgICAgICAgICdyZWx0dXBsZXMn LCA0MDAuMDo6cmVhbCwKICAgICAgICAgJ3JlbGFsbHZpc2libGUnLCA0OjppbnRlZ2VyLApAQCAt Mjc3LDcgKzMwNyw4IEBAIFdIRVJFIG9pZCA9ICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNz OwogCiAtLSB1bnJlY29nbml6ZWQgYXJndW1lbnQgbmFtZSwgcmVzdCBvawogU0VMRUNUIHBnX3Jl c3RvcmVfcmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQu dGVzdCc6OnJlZ2NsYXNzLAorICAgICAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAor ICAgICAgICAncmVsbmFtZScsICd0ZXN0JywKICAgICAgICAgJ3JlbHBhZ2VzJywgJzE3MSc6Omlu dGVnZXIsCiAgICAgICAgICdub3BlJywgMTA6OmludGVnZXIpOwogV0FSTklORzogIHVucmVjb2du aXplZCBhcmd1bWVudCBuYW1lOiAibm9wZSIKQEAgLTI5NSw4ICszMjYsNyBAQCBXSEVSRSBvaWQg PSAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzczsKICgxIHJvdykKIAogLS0gb2s6IGNsZWFy IHN0YXRzCi1TRUxFQ1QgcGdfY2F0YWxvZy5wZ19jbGVhcl9yZWxhdGlvbl9zdGF0cygKLSAgICBy ZWxhdGlvbiA9PiAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcyk7CitTRUxFQ1QgcGdfY2F0 YWxvZy5wZ19jbGVhcl9yZWxhdGlvbl9zdGF0cyhzY2hlbWFuYW1lID0+ICdzdGF0c19pbXBvcnQn LCByZWxuYW1lID0+ICd0ZXN0Jyk7CiAgcGdfY2xlYXJfcmVsYXRpb25fc3RhdHMgCiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAgCkBAIC0zMTMsODcgKzM0MywxMjMgQEAgV0hFUkUgb2lkID0g J3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3M7CiAtLSBpbnZhbGlkIHJlbGtpbmRzIGZvciBz dGF0aXN0aWNzCiBDUkVBVEUgU0VRVUVOQ0Ugc3RhdHNfaW1wb3J0LnRlc3RzZXE7CiBTRUxFQ1Qg cGdfY2F0YWxvZy5wZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAotICAgICAgICAncmVsYXRpb24n LCAnc3RhdHNfaW1wb3J0LnRlc3RzZXEnOjpyZWdjbGFzcyk7CisgICAgICAgICdzY2hlbWFuYW1l JywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgJ3Rlc3RzZXEnKTsKIEVSUk9S OiAgY2Fubm90IG1vZGlmeSBzdGF0aXN0aWNzIGZvciByZWxhdGlvbiAidGVzdHNlcSIKIERFVEFJ TDogIFRoaXMgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHNlcXVlbmNlcy4KLVNFTEVD VCBwZ19jYXRhbG9nLnBnX2NsZWFyX3JlbGF0aW9uX3N0YXRzKAotICAgICAgICAnc3RhdHNfaW1w b3J0LnRlc3RzZXEnOjpyZWdjbGFzcyk7CitTRUxFQ1QgcGdfY2F0YWxvZy5wZ19jbGVhcl9yZWxh dGlvbl9zdGF0cyhzY2hlbWFuYW1lID0+ICdzdGF0c19pbXBvcnQnLCByZWxuYW1lID0+ICd0ZXN0 c2VxJyk7CiBFUlJPUjogIGNhbm5vdCBtb2RpZnkgc3RhdGlzdGljcyBmb3IgcmVsYXRpb24gInRl c3RzZXEiCiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciBzZXF1 ZW5jZXMuCiBDUkVBVEUgVklFVyBzdGF0c19pbXBvcnQudGVzdHZpZXcgQVMgU0VMRUNUICogRlJP TSBzdGF0c19pbXBvcnQudGVzdDsKLVNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfcmVsYXRp b25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdHZpZXcnOjpy ZWdjbGFzcyk7Ci1FUlJPUjogIGNhbm5vdCBtb2RpZnkgc3RhdGlzdGljcyBmb3IgcmVsYXRpb24g InRlc3R2aWV3IgotREVUQUlMOiAgVGhpcyBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3Ig dmlld3MuCi1TRUxFQ1QgcGdfY2F0YWxvZy5wZ19jbGVhcl9yZWxhdGlvbl9zdGF0cygKLSAgICAg ICAgJ3N0YXRzX2ltcG9ydC50ZXN0dmlldyc6OnJlZ2NsYXNzKTsKK1NFTEVDVCBwZ19jYXRhbG9n LnBnX2NsZWFyX3JlbGF0aW9uX3N0YXRzKHNjaGVtYW5hbWUgPT4gJ3N0YXRzX2ltcG9ydCcsIHJl bG5hbWUgPT4gJ3Rlc3R2aWV3Jyk7CiBFUlJPUjogIGNhbm5vdCBtb2RpZnkgc3RhdGlzdGljcyBm b3IgcmVsYXRpb24gInRlc3R2aWV3IgogREVUQUlMOiAgVGhpcyBvcGVyYXRpb24gaXMgbm90IHN1 cHBvcnRlZCBmb3Igdmlld3MuCiAtLQogLS0gYXR0cmlidXRlIHN0YXRzCiAtLQotLS0gZXJyb3I6 IG9iamVjdCBkb2VzIG5vdCBleGlzdAorLS0gZXJyb3I6IHNjaGVtYW5hbWUgbWlzc2luZworU0VM RUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCisgICAgJ3JlbG5hbWUn LCAndGVzdCcsCisgICAgJ2F0dG5hbWUnLCAnaWQnLAorICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6 Ym9vbGVhbiwKKyAgICAnbnVsbF9mcmFjJywgMC4xOjpyZWFsKTsKK0VSUk9SOiAgInNjaGVtYW5h bWUiIGNhbm5vdCBiZSBOVUxMCistLSBlcnJvcjogc2NoZW1hIGRvZXMgbm90IGV4aXN0CitTRUxF Q1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKKyAgICAnc2NoZW1hbmFt ZScsICdub3BlJywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdpZCcs CisgICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAorICAgICdudWxsX2ZyYWMnLCAwLjE6 OnJlYWwpOworV0FSTklORzogIHNjaGVtYSBub3BlIGRvZXMgbm90IGV4aXN0CisgcGdfcmVzdG9y ZV9hdHRyaWJ1dGVfc3RhdHMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZgorKDEg cm93KQorCistLSBlcnJvcjogcmVsbmFtZSBtaXNzaW5nCitTRUxFQ1QgcGdfY2F0YWxvZy5wZ19y ZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQn LAorICAgICdhdHRuYW1lJywgJ2lkJywKKyAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4s CisgICAgJ251bGxfZnJhYycsIDAuMTo6cmVhbCk7CitFUlJPUjogICJyZWxuYW1lIiBjYW5ub3Qg YmUgTlVMTAorLS0gZXJyb3I6IHJlbG5hbWUgZG9lcyBub3QgZXhpc3QKIFNFTEVDVCBwZ19jYXRh bG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICcwJzo6b2lk OjpyZWdjbGFzcywKLSAgICAnYXR0bmFtZScsICdpZCc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUn LCAnc3RhdHNfaW1wb3J0JywKKyAgICAncmVsbmFtZScsICdub3BlJywKKyAgICAnYXR0bmFtZScs ICdpZCcsCiAgICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdudWxsX2ZyYWMn LCAwLjE6OnJlYWwpOwotRVJST1I6ICBjb3VsZCBub3Qgb3BlbiByZWxhdGlvbiB3aXRoIE9JRCAw Ci0tLSBlcnJvcjogcmVsYXRpb24gbnVsbAorV0FSTklORzogIFJlbGF0aW9uICJzdGF0c19pbXBv cnQiLiJub3BlIiBub3QgZm91bmQuCisgcGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZgorKDEgcm93KQorCistLSBlcnJvcjogcmVsbmFt ZSBudWxsCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKLSAg ICAncmVsYXRpb24nLCBOVUxMOjpvaWQ6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2lkJzo6 bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywg TlVMTCwKKyAgICAnYXR0bmFtZScsICdpZCcsCiAgICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpib29s ZWFuLAogICAgICdudWxsX2ZyYWMnLCAwLjE6OnJlYWwpOwotRVJST1I6ICAicmVsYXRpb24iIGNh bm5vdCBiZSBOVUxMCitFUlJPUjogICJyZWxuYW1lIiBjYW5ub3QgYmUgTlVMTAogLS0gZXJyb3I6 IE5VTEwgYXR0bmFtZQogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3Rh dHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAg J2F0dG5hbWUnLCBOVUxMOjpuYW1lLAorICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcs CisgICAgJ3JlbG5hbWUnLCAndGVzdCcsCisgICAgJ2F0dG5hbWUnLCBOVUxMLAogICAgICdpbmhl cml0ZWQnLCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4xOjpyZWFsKTsKIEVS Uk9SOiAgbXVzdCBzcGVjaWZ5IGVpdGhlciBhdHRuYW1lIG9yIGF0dG51bQogLS0gZXJyb3I6IGF0 dG5hbWUgZG9lc24ndCBleGlzdAogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1 dGVfc3RhdHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3Ms Ci0gICAgJ2F0dG5hbWUnLCAnbm9wZSc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNf aW1wb3J0JywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdub3BlJywK ICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMTo6 cmVhbCwKICAgICAnYXZnX3dpZHRoJywgMjo6aW50ZWdlciwKICAgICAnbl9kaXN0aW5jdCcsIDAu Mzo6cmVhbCk7Ci1FUlJPUjogIGNvbHVtbiAibm9wZSIgb2YgcmVsYXRpb24gInRlc3QiIGRvZXMg bm90IGV4aXN0CitFUlJPUjogIGNvbHVtbiAibm9wZSIgb2YgcmVsYXRpb24gInN0YXRzX2ltcG9y dCIuInRlc3QiIGRvZXMgbm90IGV4aXN0CiAtLSBlcnJvcjogYm90aCBhdHRuYW1lIGFuZCBhdHRu dW0KIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdy ZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywg J2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxu YW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnYXR0bnVtJywgMTo6c21h bGxpbnQsCiAgICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdudWxsX2ZyYWMn LCAwLjE6OnJlYWwpOwogRVJST1I6ICBjYW5ub3Qgc3BlY2lmeSBib3RoIGF0dG5hbWUgYW5kIGF0 dG51bQogLS0gZXJyb3I6IG5laXRoZXIgYXR0bmFtZSBub3IgYXR0bnVtCiBTRUxFQ1QgcGdfY2F0 YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKLSAgICAncmVsYXRpb24nLCAnc3RhdHNf aW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQn LAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVh biwKICAgICAnbnVsbF9mcmFjJywgMC4xOjpyZWFsKTsKIEVSUk9SOiAgbXVzdCBzcGVjaWZ5IGVp dGhlciBhdHRuYW1lIG9yIGF0dG51bQogLS0gZXJyb3I6IGF0dHJpYnV0ZSBpcyBzeXN0ZW0gY29s dW1uCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKLSAgICAn cmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKLSAgICAnYXR0bmFtZScs ICd4bWluJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdy ZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ3htaW4nLAogICAgICdpbmhlcml0ZWQn LCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4xOjpyZWFsKTsKIEVSUk9SOiAg Y2Fubm90IG1vZGlmeSBzdGF0aXN0aWNzIG9uIHN5c3RlbSBjb2x1bW4gInhtaW4iCiAtLSBlcnJv cjogaW5oZXJpdGVkIG51bGwKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRl X3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAot ICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBv cnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAn aW5oZXJpdGVkJywgTlVMTDo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4xOjpyZWFsKTsK IEVSUk9SOiAgImluaGVyaXRlZCIgY2Fubm90IGJlIE5VTEwKIC0tIG9rOiBqdXN0IHRoZSBmaXhl ZCB2YWx1ZXMsIHdpdGggdmVyc2lvbiwgbm8gc3Rha2luZHMKIFNFTEVDVCBwZ19jYXRhbG9nLnBn X3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQu dGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1h bmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRu YW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ3ZlcnNp b24nLCAxNTAwMDA6OmludGVnZXIsCiAgICAgJ251bGxfZnJhYycsIDAuMjo6cmVhbCwKQEAgLTQy MSw3ICs0ODcsOCBAQCBBTkQgYXR0bmFtZSA9ICdpZCc7CiAtLSBmb3IgYW55IHN0YXQtaGF2aW5n IHJlbGF0aW9uLgogLS0KIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0 YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAorICAg ICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgJ3JlbG5hbWUnLCAndGVzdCcsCiAg ICAgJ2F0dG51bScsIDE6OnNtYWxsaW50LAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVh biwKICAgICAnbnVsbF9mcmFjJywgMC40OjpyZWFsKTsKQEAgLTQ0Myw4ICs1MTAsOSBAQCBBTkQg YXR0bmFtZSA9ICdpZCc7CiAKIC0tIHdhcm46IHVucmVjb2duaXplZCBhcmd1bWVudCBuYW1lLCBy ZXN0IGdldCBzZXQKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRz KAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdh dHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAor ICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJp dGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMjo6cmVhbCwKICAgICAn bm9wZScsIDAuNTo6cmVhbCk7CkBAIC00NjcsOCArNTM1LDkgQEAgQU5EIGF0dG5hbWUgPSAnaWQn OwogCiAtLSB3YXJuOiBtY3YgLyBtY2YgbnVsbCBtaXNtYXRjaCBwYXJ0IDEsIHJlc3QgZ2V0IHNl dAogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0gICAgJ3Jl bGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUnLCAn aWQnOjpuYW1lLAorICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgJ3JlbG5h bWUnLCAndGVzdCcsCisgICAgJ2F0dG5hbWUnLCAnaWQnLAogICAgICdpbmhlcml0ZWQnLCBmYWxz ZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4yMTo6cmVhbCwKICAgICAnbW9zdF9jb21t b25fZnJlcXMnLCAnezAuMSwwLjIsMC4zfSc6OnJlYWxbXQpAQCAtNDkyLDggKzU2MSw5IEBAIEFO RCBhdHRuYW1lID0gJ2lkJzsKIAogLS0gd2FybjogbWN2IC8gbWNmIG51bGwgbWlzbWF0Y2ggcGFy dCAyLCByZXN0IGdldCBzZXQKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRl X3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAot ICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBv cnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAn aW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMjE6OnJlYWws CiAgICAgJ21vc3RfY29tbW9uX3ZhbHMnLCAnezEsMiwzfSc6OnRleHQKQEAgLTUxNyw4ICs1ODcs OSBAQCBBTkQgYXR0bmFtZSA9ICdpZCc7CiAKIC0tIHdhcm46IG1jZiB0eXBlIG1pc21hdGNoLCBt Y3YtcGFpciBmYWlscywgcmVzdCBnZXQgc2V0CiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3Jl X2F0dHJpYnV0ZV9zdGF0cygKLSAgICAncmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpy ZWdjbGFzcywKLSAgICAnYXR0bmFtZScsICdpZCc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAn c3RhdHNfaW1wb3J0JywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdp ZCcsCiAgICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdudWxsX2ZyYWMnLCAw LjIyOjpyZWFsLAogICAgICdtb3N0X2NvbW1vbl92YWxzJywgJ3syLDEsM30nOjp0ZXh0LApAQCAt NTQ0LDggKzYxNSw5IEBAIEFORCBhdHRuYW1lID0gJ2lkJzsKIAogLS0gd2FybjogbWN2IGNhc3Qg ZmFpbHVyZSwgbWN2LXBhaXIgZmFpbHMsIHJlc3QgZ2V0IHNldAogU0VMRUNUIHBnX2NhdGFsb2cu cGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9y dC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUnLCAnaWQnOjpuYW1lLAorICAgICdzY2hl bWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgJ3JlbG5hbWUnLCAndGVzdCcsCisgICAgJ2F0 dG5hbWUnLCAnaWQnLAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbnVs bF9mcmFjJywgMC4yMzo6cmVhbCwKICAgICAnbW9zdF9jb21tb25fdmFscycsICd7Mixmb3VyLDN9 Jzo6dGV4dCwKQEAgLTU3MCw4ICs2NDIsOSBAQCBBTkQgYXR0bmFtZSA9ICdpZCc7CiAKIC0tIG9r OiBtY3YrbWNmCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygK LSAgICAncmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKLSAgICAnYXR0 bmFtZScsICdpZCc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAg ICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdpZCcsCiAgICAgJ2luaGVyaXRl ZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdtb3N0X2NvbW1vbl92YWxzJywgJ3syLDEsM30nOjp0 ZXh0LAogICAgICdtb3N0X2NvbW1vbl9mcmVxcycsICd7MC4zLDAuMjUsMC4wNX0nOjpyZWFsW10K QEAgLTU5NCw4ICs2NjcsOSBAQCBBTkQgYXR0bmFtZSA9ICdpZCc7CiAKIC0tIHdhcm46IE5VTEwg aW4gaGlzdG9ncmFtIGFycmF5LCByZXN0IGdldCBzZXQKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jl c3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVz dCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFt ZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1l JywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJh YycsIDAuMjQ6OnJlYWwsCiAgICAgJ2hpc3RvZ3JhbV9ib3VuZHMnLCAnezEsTlVMTCwzLDR9Jzo6 dGV4dApAQCAtNjE5LDggKzY5Myw5IEBAIEFORCBhdHRuYW1lID0gJ2lkJzsKIAogLS0gb2s6IGhp c3RvZ3JhbV9ib3VuZHMKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0 YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAg ICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQn LAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5o ZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ2hpc3RvZ3JhbV9ib3VuZHMnLCAnezEsMiwz LDR9Jzo6dGV4dAogICAgICk7CkBAIC02NDIsOCArNzE3LDkgQEAgQU5EIGF0dG5hbWUgPSAnaWQn OwogCiAtLSB3YXJuOiBlbGVtX2NvdW50X2hpc3RvZ3JhbSBudWxsIGVsZW1lbnQsIHJlc3QgZ2V0 IHNldAogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0gICAg J3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUn LCAndGFncyc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAgICAn cmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICd0YWdzJywKICAgICAnaW5oZXJpdGVk JywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMjU6OnJlYWwsCiAgICAgJ2Vs ZW1fY291bnRfaGlzdG9ncmFtJywgJ3sxLDEsTlVMTCwxLDEsMSwxLDF9Jzo6cmVhbFtdCkBAIC02 NjcsOCArNzQzLDkgQEAgQU5EIGF0dG5hbWUgPSAndGFncyc7CiAKIC0tIG9rOiBlbGVtX2NvdW50 X2hpc3RvZ3JhbQogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMo Ci0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0 dG5hbWUnLCAndGFncyc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywK KyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICd0YWdzJywKICAgICAnaW5o ZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMjY6OnJlYWwsCiAg ICAgJ2VsZW1fY291bnRfaGlzdG9ncmFtJywgJ3sxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEs MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEs MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx LDF9Jzo6cmVhbFtdCkBAIC02OTEsOCArNzY4LDkgQEAgQU5EIGF0dG5hbWUgPSAndGFncyc7CiAK IC0tIHdhcm46IHJhbmdlIHN0YXRzIG9uIGEgc2NhbGFyIHR5cGUsIHJlc3Qgb2sKIFNFTEVDVCBw Z19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdz dGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwK KyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3Qn LAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4s CiAgICAgJ251bGxfZnJhYycsIDAuMjc6OnJlYWwsCiAgICAgJ3JhbmdlX2VtcHR5X2ZyYWMnLCAw LjU6OnJlYWwsCkBAIC03MTgsOCArNzk2LDkgQEAgQU5EIGF0dG5hbWUgPSAnaWQnOwogCiAtLSB3 YXJuOiByYW5nZV9lbXB0eV9mcmFjIHJhbmdlX2xlbmd0aF9oaXN0IG51bGwgbWlzbWF0Y2gsIHJl c3Qgb2sKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAg ICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1l JywgJ2FyYW5nZSc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAg ICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdhcmFuZ2UnLAogICAgICdpbmhl cml0ZWQnLCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4yODo6cmVhbCwKICAg ICAncmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbScsICd7Mzk5LDQ5OSxJbmZpbml0eX0nOjp0ZXh0CkBA IC03NDMsOCArODIyLDkgQEAgQU5EIGF0dG5hbWUgPSAnYXJhbmdlJzsKIAogLS0gd2FybjogcmFu Z2VfZW1wdHlfZnJhYyByYW5nZV9sZW5ndGhfaGlzdCBudWxsIG1pc21hdGNoIHBhcnQgMiwgcmVz dCBvawogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0gICAg J3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUn LCAnYXJhbmdlJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAg ICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2FyYW5nZScsCiAgICAgJ2luaGVy aXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdudWxsX2ZyYWMnLCAwLjI5OjpyZWFsLAogICAg ICdyYW5nZV9lbXB0eV9mcmFjJywgMC41OjpyZWFsCkBAIC03NjgsOCArODQ4LDkgQEAgQU5EIGF0 dG5hbWUgPSAnYXJhbmdlJzsKIAogLS0gb2s6IHJhbmdlX2VtcHR5X2ZyYWMgKyByYW5nZV9sZW5n dGhfaGlzdAogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0g ICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5h bWUnLCAnYXJhbmdlJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAor ICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2FyYW5nZScsCiAgICAgJ2lu aGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdyYW5nZV9lbXB0eV9mcmFjJywgMC41Ojpy ZWFsLAogICAgICdyYW5nZV9sZW5ndGhfaGlzdG9ncmFtJywgJ3szOTksNDk5LEluZmluaXR5fSc6 OnRleHQKQEAgLTc5Miw4ICs4NzMsOSBAQCBBTkQgYXR0bmFtZSA9ICdhcmFuZ2UnOwogCiAtLSB3 YXJuOiByYW5nZSBib3VuZHMgaGlzdG9ncmFtIG9uIHNjYWxhciwgcmVzdCBvawogU0VMRUNUIHBn X2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0 YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUnLCAnaWQnOjpuYW1lLAor ICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgJ3JlbG5hbWUnLCAndGVzdCcs CisgICAgJ2F0dG5hbWUnLCAnaWQnLAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVhbiwK ICAgICAnbnVsbF9mcmFjJywgMC4zMTo6cmVhbCwKICAgICAncmFuZ2VfYm91bmRzX2hpc3RvZ3Jh bScsICd7IlstMSwxKSIsIlswLDQpIiwiWzEsNCkiLCJbMSwxMDApIn0nOjp0ZXh0CkBAIC04MTgs OCArOTAwLDkgQEAgQU5EIGF0dG5hbWUgPSAnaWQnOwogCiAtLSBvazogcmFuZ2VfYm91bmRzX2hp c3RvZ3JhbQogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0g ICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5h bWUnLCAnYXJhbmdlJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAor ICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2FyYW5nZScsCiAgICAgJ2lu aGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdyYW5nZV9ib3VuZHNfaGlzdG9ncmFtJywg J3siWy0xLDEpIiwiWzAsNCkiLCJbMSw0KSIsIlsxLDEwMCkifSc6OnRleHQKICAgICApOwpAQCAt ODQxLDggKzkyNCw5IEBAIEFORCBhdHRuYW1lID0gJ2FyYW5nZSc7CiAKIC0tIHdhcm46IGNhbm5v dCBzZXQgbW9zdF9jb21tb25fZWxlbXMgZm9yIHJhbmdlIHR5cGUsIHJlc3Qgb2sKIFNFTEVDVCBw Z19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdz dGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2FyYW5nZSc6Om5h bWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAgICAncmVsbmFtZScsICd0 ZXN0JywKKyAgICAnYXR0bmFtZScsICdhcmFuZ2UnLAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6 Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4zMjo6cmVhbCwKICAgICAnbW9zdF9jb21tb25f ZWxlbXMnLCAnezMsMX0nOjp0ZXh0LApAQCAtODY4LDggKzk1Miw5IEBAIEFORCBhdHRuYW1lID0g J2FyYW5nZSc7CiAKIC0tIHdhcm46IHNjYWxhcnMgY2FuJ3QgaGF2ZSBtY2VsZW0sIHJlc3Qgb2sK IFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxh dGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2lk Jzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1l JywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6 OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMzM6OnJlYWwsCiAgICAgJ21vc3RfY29tbW9u X2VsZW1zJywgJ3sxLDN9Jzo6dGV4dCwKQEAgLTg5NSw4ICs5ODAsOSBAQCBBTkQgYXR0bmFtZSA9 ICdpZCc7CiAKIC0tIHdhcm46IG1jZWxlbSAvIG1jZWxlbSBtaXNtYXRjaCwgcmVzdCBvawogU0VM RUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0gICAgJ3JlbGF0aW9u JywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUnLCAndGFncyc6 Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAgICAncmVsbmFtZScs ICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICd0YWdzJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6 OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMzQ6OnJlYWwsCiAgICAgJ21vc3RfY29tbW9u X2VsZW1zJywgJ3tvbmUsdHdvfSc6OnRleHQKQEAgLTkyMCw4ICsxMDA2LDkgQEAgQU5EIGF0dG5h bWUgPSAndGFncyc7CiAKIC0tIHdhcm46IG1jZWxlbSAvIG1jZWxlbSBudWxsIG1pc21hdGNoIHBh cnQgMiwgcmVzdCBvawogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3Rh dHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAg J2F0dG5hbWUnLCAndGFncyc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0 JywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICd0YWdzJywKICAgICAn aW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMzU6OnJlYWws CiAgICAgJ21vc3RfY29tbW9uX2VsZW1fZnJlcXMnLCAnezAuMywwLjIsMC4yLDAuM30nOjpyZWFs W10KQEAgLTk0NSw4ICsxMDMyLDkgQEAgQU5EIGF0dG5hbWUgPSAndGFncyc7CiAKIC0tIG9rOiBt Y2VsZW0KIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAg ICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1l JywgJ3RhZ3MnOjpuYW1lLAorICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAg J3JlbG5hbWUnLCAndGVzdCcsCisgICAgJ2F0dG5hbWUnLCAndGFncycsCiAgICAgJ2luaGVyaXRl ZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdtb3N0X2NvbW1vbl9lbGVtcycsICd7b25lLHRocmVl fSc6OnRleHQsCiAgICAgJ21vc3RfY29tbW9uX2VsZW1fZnJlcXMnLCAnezAuMywwLjIsMC4yLDAu MywwLjB9Jzo6cmVhbFtdCkBAIC05NjksOCArMTA1Nyw5IEBAIEFORCBhdHRuYW1lID0gJ3RhZ3Mn OwogCiAtLSB3YXJuOiBzY2FsYXJzIGNhbid0IGhhdmUgZWxlbV9jb3VudF9oaXN0b2dyYW0sIHJl c3Qgb2sKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAg ICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1l JywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdy ZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywg ZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMzY6OnJlYWwsCiAgICAgJ2VsZW1f Y291bnRfaGlzdG9ncmFtJywgJ3sxLDEsMSwxLDEsMSwxLDEsMSwxfSc6OnJlYWxbXQpAQCAtMTAy Miw4ICsxMTExLDkgQEAgU0VMRUNUIHMuc2NoZW1hbmFtZSwgcy50YWJsZW5hbWUsIHMuYXR0bmFt ZSwgcy5pbmhlcml0ZWQsIHIuKgogRlJPTSBwZ19jYXRhbG9nLnBnX3N0YXRzIEFTIHMKIENST1NT IEpPSU4gTEFURVJBTAogICAgIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMo Ci0gICAgICAgICdyZWxhdGlvbicsICgnc3RhdHNfaW1wb3J0LicgfHwgcy50YWJsZW5hbWUgfHwg J19jbG9uZScpOjpyZWdjbGFzcywKLSAgICAgICAgJ2F0dG5hbWUnLCBzLmF0dG5hbWUsCisgICAg ICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgcy50 YWJsZW5hbWU6OnRleHQgfHwgJ19jbG9uZScsCisgICAgICAgICdhdHRuYW1lJywgcy5hdHRuYW1l Ojp0ZXh0LAogICAgICAgICAnaW5oZXJpdGVkJywgcy5pbmhlcml0ZWQsCiAgICAgICAgICd2ZXJz aW9uJywgMTUwMDAwLAogICAgICAgICAnbnVsbF9mcmFjJywgcy5udWxsX2ZyYWMsCkBAIC0xMjAw LDkgKzEyOTAsMTAgQEAgQU5EIGF0dG5hbWUgPSAnYXJhbmdlJzsKICgxIHJvdykKIAogU0VMRUNU IHBnX2NhdGFsb2cucGdfY2xlYXJfYXR0cmlidXRlX3N0YXRzKAotICAgIHJlbGF0aW9uID0+ICdz dGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgIGF0dG5hbWUgPT4gJ2FyYW5nZSc6Om5h bWUsCi0gICAgaW5oZXJpdGVkID0+IGZhbHNlOjpib29sZWFuKTsKKyAgICBzY2hlbWFuYW1lID0+ ICdzdGF0c19pbXBvcnQnLAorICAgIHJlbG5hbWUgPT4gJ3Rlc3QnLAorICAgIGF0dG5hbWUgPT4g J2FyYW5nZScsCisgICAgaW5oZXJpdGVkID0+IGZhbHNlKTsKICBwZ19jbGVhcl9hdHRyaWJ1dGVf c3RhdHMgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIApAQCAtMTIxOSw2ICsxMzEwLDUy IEBAIEFORCBhdHRuYW1lID0gJ2FyYW5nZSc7CiAgICAgIDAKICgxIHJvdykKIAorLS0gdGVtcCB0 YWJsZXMKK0NSRUFURSBURU1QIFRBQkxFIHN0YXRzX3RlbXAoaSBpbnQpOworU0VMRUNUIHBnX3Jl c3RvcmVfcmVsYXRpb25fc3RhdHMoCisgICAgICAgICdzY2hlbWFuYW1lJywgJ3BnX3RlbXAnLAor ICAgICAgICAncmVsbmFtZScsICdzdGF0c190ZW1wJywKKyAgICAgICAgJ3JlbHBhZ2VzJywgJy0x OSc6OmludGVnZXIsCisgICAgICAgICdyZWx0dXBsZXMnLCA0MDE6OnJlYWwsCisgICAgICAgICdy ZWxhbGx2aXNpYmxlJywgNTo6aW50ZWdlciwKKyAgICAgICAgJ3JlbGFsbGZyb3plbicsIDM6Omlu dGVnZXIpOworIHBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyB0CisoMSByb3cpCisKK1NFTEVDVCByZWxuYW1lLCByZWxwYWdlcywgcmVsdHVw bGVzLCByZWxhbGx2aXNpYmxlLCByZWxhbGxmcm96ZW4KK0ZST00gcGdfY2xhc3MKK1dIRVJFIG9p ZCA9ICdwZ190ZW1wLnN0YXRzX3RlbXAnOjpyZWdjbGFzcworT1JERVIgQlkgcmVsbmFtZTsKKyAg cmVsbmFtZSAgIHwgcmVscGFnZXMgfCByZWx0dXBsZXMgfCByZWxhbGx2aXNpYmxlIHwgcmVsYWxs ZnJvemVuIAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tCisgc3RhdHNfdGVtcCB8ICAgICAgLTE5IHwgICAgICAgNDAxIHwg ICAgICAgICAgICAgNSB8ICAgICAgICAgICAgMworKDEgcm93KQorCitTRUxFQ1QgcGdfY2F0YWxv Zy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKKyAgICAnc2NoZW1hbmFtZScsICdwZ190ZW1w JywKKyAgICAncmVsbmFtZScsICdzdGF0c190ZW1wJywKKyAgICAnYXR0bmFtZScsICdpJywKKyAg ICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCisgICAgJ251bGxfZnJhYycsIDAuMDEyMzo6 cmVhbAorICAgICk7CisgcGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgdAorKDEgcm93KQorCitTRUxFQ1QgdGFibGVuYW1lLCBudWxsX2Zy YWMKK0ZST00gcGdfc3RhdHMKK1dIRVJFIHNjaGVtYW5hbWUgbGlrZSAncGdfdGVtcCUnCitBTkQg dGFibGVuYW1lID0gJ3N0YXRzX3RlbXAnCitBTkQgaW5oZXJpdGVkID0gZmFsc2UKK0FORCBhdHRu YW1lID0gJ2knOworIHRhYmxlbmFtZSAgfCBudWxsX2ZyYWMgCistLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0KKyBzdGF0c190ZW1wIHwgICAgMC4wMTIzCisoMSByb3cpCisKIERST1AgU0NIRU1BIHN0 YXRzX2ltcG9ydCBDQVNDQURFOwogTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byA2IG90aGVyIG9i amVjdHMKIERFVEFJTDogIGRyb3AgY2FzY2FkZXMgdG8gdHlwZSBzdGF0c19pbXBvcnQuY29tcGxl eF90eXBlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdGF0c19pbXBvcnQuc3Fs IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3RhdHNfaW1wb3J0LnNxbAppbmRleCAwZWM1OTA2ODhj Mi4uMzVhOWExZTNlN2EgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N0YXRzX2lt cG9ydC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3RhdHNfaW1wb3J0LnNxbApAQCAt MTcsNyArMTcsOCBAQCBDUkVBVEUgVEFCTEUgc3RhdHNfaW1wb3J0LnRlc3QoCiAKIFNFTEVDVAog ICAgIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0cygKLSAgICAgICAgJ3JlbGF0 aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCisgICAgICAgICdzY2hlbWFuYW1l JywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgJ3Rlc3QnLAogICAgICAgICAn cmVscGFnZXMnLCAxODo6aW50ZWdlciwKICAgICAgICAgJ3JlbHR1cGxlcycsIDIxOjpyZWFsLAog ICAgICAgICAncmVsYWxsdmlzaWJsZScsIDI0OjppbnRlZ2VyLApAQCAtMzIsMzcgKzMzLDUyIEBA IEZST00gcGdfY2xhc3MKIFdIRVJFIG9pZCA9ICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNz CiBPUkRFUiBCWSByZWxuYW1lOwogCi1TRUxFQ1QgcGdfY2xlYXJfcmVsYXRpb25fc3RhdHMoJ3N0 YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MpOworU0VMRUNUIHBnX2NsZWFyX3JlbGF0aW9uX3N0 YXRzKCdzdGF0c19pbXBvcnQnLCAndGVzdCcpOwogCiAtLQogLS0gcmVsc3RhdHMgdGVzdHMKIC0t CiAKLS0tLSBlcnJvcjogcmVsYXRpb24gaXMgd3JvbmcgdHlwZQorLS0gZXJyb3I6IHNjaGVtYW5h bWUgbWlzc2luZwogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0cygK LSAgICAgICAgJ3JlbGF0aW9uJywgMDo6b2lkLAorICAgICAgICAncmVsbmFtZScsICd0ZXN0JywK KyAgICAgICAgJ3JlbHBhZ2VzJywgMTc6OmludGVnZXIpOworCistLSBlcnJvcjogcmVsbmFtZSBt aXNzaW5nCitTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAorICAg ICAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAgICAncmVscGFnZXMnLCAx Nzo6aW50ZWdlcik7CisKKy0tLSBlcnJvcjogc2NoZW1hbmFtZSBpcyB3cm9uZyB0eXBlCitTRUxF Q1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAorICAgICAgICAnc2NoZW1h bmFtZScsIDMuNjo6ZmxvYXQsCisgICAgICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICAgICAn cmVscGFnZXMnLCAxNzo6aW50ZWdlcik7CisKKy0tLSBlcnJvcjogcmVsbmFtZSBpcyB3cm9uZyB0 eXBlCitTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAorICAgICAg ICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAgICAncmVsbmFtZScsIDA6Om9p ZCwKICAgICAgICAgJ3JlbHBhZ2VzJywgMTc6OmludGVnZXIpOwogCiAtLSBlcnJvcjogcmVsYXRp b24gbm90IGZvdW5kCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRz KAotICAgICAgICAncmVsYXRpb24nLCAwOjpvaWQ6OnJlZ2NsYXNzLAorICAgICAgICAnc2NoZW1h bmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAgICAncmVsbmFtZScsICdub3BlJywKICAgICAg ICAgJ3JlbHBhZ2VzJywgMTc6OmludGVnZXIpOwogCiAtLSBlcnJvcjogb2RkIG51bWJlciBvZiB2 YXJpYWRpYyBhcmd1bWVudHMgY2Fubm90IGJlIHBhaXJzCiBTRUxFQ1QgcGdfcmVzdG9yZV9yZWxh dGlvbl9zdGF0cygKLSAgICAgICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVn Y2xhc3MsCisgICAgICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdy ZWxuYW1lJywgJ3Rlc3QnLAogICAgICAgICAncmVsYWxsdmlzaWJsZScpOwogCiAtLSBlcnJvcjog YXJndW1lbnQgbmFtZSBpcyBOVUxMCiBTRUxFQ1QgcGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0cygK LSAgICAgICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCisgICAg ICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgJ3Rl c3QnLAogICAgICAgICBOVUxMLCAnMTcnOjppbnRlZ2VyKTsKIAotLS0gZXJyb3I6IGFyZ3VtZW50 IG5hbWUgaXMgbm90IGEgdGV4dCB0eXBlCi1TRUxFQ1QgcGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0 cygKLSAgICAgICAgJ3JlbGF0aW9uJywgJzAnOjpvaWQ6OnJlZ2NsYXNzLAotICAgICAgICAxNywg JzE3Jzo6aW50ZWdlcik7Ci0KIC0tIHN0YXJ0aW5nIHN0YXRzCiBTRUxFQ1QgcmVscGFnZXMsIHJl bHR1cGxlcywgcmVsYWxsdmlzaWJsZSwgcmVsYWxsZnJvemVuCiBGUk9NIHBnX2NsYXNzCkBAIC03 MSw3ICs4Nyw4IEBAIFdIRVJFIG9pZCA9ICdzdGF0c19pbXBvcnQudGVzdF9pJzo6cmVnY2xhc3M7 CiAtLSByZWd1bGFyIGluZGV4ZXMgaGF2ZSBzcGVjaWFsIGNhc2UgbG9ja2luZyBydWxlcwogQkVH SU47CiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAotICAgICAg ICAncmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3RfaSc6OnJlZ2NsYXNzLAorICAgICAgICAn c2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAgICAncmVsbmFtZScsICd0ZXN0X2kn LAogICAgICAgICAncmVscGFnZXMnLCAxODo6aW50ZWdlcik7CiAKIFNFTEVDVCBtb2RlIEZST00g cGdfbG9ja3MKQEAgLTEwOCw3ICsxMjUsOCBAQCBXSEVSRSBvaWQgPSAnc3RhdHNfaW1wb3J0LnBh cnRfcGFyZW50Jzo6cmVnY2xhc3M7CiBCRUdJTjsKIAogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVz dG9yZV9yZWxhdGlvbl9zdGF0cygKLSAgICAgICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC5w YXJ0X3BhcmVudF9pJzo6cmVnY2xhc3MsCisgICAgICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2lt cG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgJ3BhcnRfcGFyZW50X2knLAogICAgICAgICAncmVs cGFnZXMnLCAyOjppbnRlZ2VyKTsKIAogU0VMRUNUIG1vZGUgRlJPTSBwZ19sb2NrcwpAQCAtMTI3 LDcgKzE0NSw4IEBAIFdIRVJFIG9pZCA9ICdzdGF0c19pbXBvcnQucGFydF9wYXJlbnRfaSc6OnJl Z2NsYXNzOwogCiAtLSBvazogc2V0IGFsbCByZWxzdGF0cywgd2l0aCB2ZXJzaW9uLCBubyBib3Vu ZHMgY2hlY2tpbmcKIFNFTEVDVCBwZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAotICAgICAgICAn cmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKKyAgICAgICAgJ3NjaGVt YW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAgICAgICAgJ3JlbG5hbWUnLCAndGVzdCcsCiAgICAg ICAgICd2ZXJzaW9uJywgMTUwMDAwOjppbnRlZ2VyLAogICAgICAgICAncmVscGFnZXMnLCAnLTE3 Jzo6aW50ZWdlciwKICAgICAgICAgJ3JlbHR1cGxlcycsIDQwMDo6cmVhbCwKQEAgLTE0MCw3ICsx NTksOCBAQCBXSEVSRSBvaWQgPSAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzczsKIAogLS0g b2s6IHNldCBqdXN0IHJlbHBhZ2VzLCByZXN0IHN0YXkgc2FtZQogU0VMRUNUIHBnX3Jlc3RvcmVf cmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6 OnJlZ2NsYXNzLAorICAgICAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAg ICAncmVsbmFtZScsICd0ZXN0JywKICAgICAgICAgJ3JlbHBhZ2VzJywgJzE2Jzo6aW50ZWdlcik7 CiAKIFNFTEVDVCByZWxwYWdlcywgcmVsdHVwbGVzLCByZWxhbGx2aXNpYmxlLCByZWxhbGxmcm96 ZW4KQEAgLTE0OSw3ICsxNjksOCBAQCBXSEVSRSBvaWQgPSAnc3RhdHNfaW1wb3J0LnRlc3QnOjpy ZWdjbGFzczsKIAogLS0gb2s6IHNldCBqdXN0IHJlbHR1cGxlcywgcmVzdCBzdGF5IHNhbWUKIFNF TEVDVCBwZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAotICAgICAgICAncmVsYXRpb24nLCAnc3Rh dHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKKyAgICAgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNf aW1wb3J0JywKKyAgICAgICAgJ3JlbG5hbWUnLCAndGVzdCcsCiAgICAgICAgICdyZWx0dXBsZXMn LCAnNTAwJzo6cmVhbCk7CiAKIFNFTEVDVCByZWxwYWdlcywgcmVsdHVwbGVzLCByZWxhbGx2aXNp YmxlLCByZWxhbGxmcm96ZW4KQEAgLTE1OCw3ICsxNzksOCBAQCBXSEVSRSBvaWQgPSAnc3RhdHNf aW1wb3J0LnRlc3QnOjpyZWdjbGFzczsKIAogLS0gb2s6IHNldCBqdXN0IHJlbGFsbHZpc2libGUs IHJlc3Qgc3RheSBzYW1lCiBTRUxFQ1QgcGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0cygKLSAgICAg ICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCisgICAgICAgICdz Y2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgJ3Rlc3QnLAog ICAgICAgICAncmVsYWxsdmlzaWJsZScsIDU6OmludGVnZXIpOwogCiBTRUxFQ1QgcmVscGFnZXMs IHJlbHR1cGxlcywgcmVsYWxsdmlzaWJsZSwgcmVsYWxsZnJvemVuCkBAIC0xNjcsNyArMTg5LDgg QEAgV0hFUkUgb2lkID0gJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3M7CiAKIC0tIG9rOiBq dXN0IHJlbGFsbGZyb3plbgogU0VMRUNUIHBnX3Jlc3RvcmVfcmVsYXRpb25fc3RhdHMoCi0gICAg ICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAorICAgICAgICAn c2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAgICAncmVsbmFtZScsICd0ZXN0JywK ICAgICAgICAgJ3ZlcnNpb24nLCAxNTAwMDA6OmludGVnZXIsCiAgICAgICAgICdyZWxhbGxmcm96 ZW4nLCAzOjppbnRlZ2VyKTsKIApAQCAtMTc3LDcgKzIwMCw4IEBAIFdIRVJFIG9pZCA9ICdzdGF0 c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzOwogCiAtLSB3YXJuOiBiYWQgcmVscGFnZXMgdHlwZSwg cmVzdCB1cGRhdGVkCiBTRUxFQ1QgcGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0cygKLSAgICAgICAg J3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCisgICAgICAgICdzY2hl bWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgICAgICdyZWxuYW1lJywgJ3Rlc3QnLAogICAg ICAgICAncmVscGFnZXMnLCAnbm9wZSc6OnRleHQsCiAgICAgICAgICdyZWx0dXBsZXMnLCA0MDAu MDo6cmVhbCwKICAgICAgICAgJ3JlbGFsbHZpc2libGUnLCA0OjppbnRlZ2VyLApAQCAtMTg5LDcg KzIxMyw4IEBAIFdIRVJFIG9pZCA9ICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzOwogCiAt LSB1bnJlY29nbml6ZWQgYXJndW1lbnQgbmFtZSwgcmVzdCBvawogU0VMRUNUIHBnX3Jlc3RvcmVf cmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6 OnJlZ2NsYXNzLAorICAgICAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAg ICAncmVsbmFtZScsICd0ZXN0JywKICAgICAgICAgJ3JlbHBhZ2VzJywgJzE3MSc6OmludGVnZXIs CiAgICAgICAgICdub3BlJywgMTA6OmludGVnZXIpOwogCkBAIC0xOTgsOCArMjIzLDcgQEAgRlJP TSBwZ19jbGFzcwogV0hFUkUgb2lkID0gJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3M7CiAK IC0tIG9rOiBjbGVhciBzdGF0cwotU0VMRUNUIHBnX2NhdGFsb2cucGdfY2xlYXJfcmVsYXRpb25f c3RhdHMoCi0gICAgcmVsYXRpb24gPT4gJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MpOwor U0VMRUNUIHBnX2NhdGFsb2cucGdfY2xlYXJfcmVsYXRpb25fc3RhdHMoc2NoZW1hbmFtZSA9PiAn c3RhdHNfaW1wb3J0JywgcmVsbmFtZSA9PiAndGVzdCcpOwogCiBTRUxFQ1QgcmVscGFnZXMsIHJl bHR1cGxlcywgcmVsYWxsdmlzaWJsZQogRlJPTSBwZ19jbGFzcwpAQCAtMjA5LDQ4ICsyMzMsNzAg QEAgV0hFUkUgb2lkID0gJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3M7CiBDUkVBVEUgU0VR VUVOQ0Ugc3RhdHNfaW1wb3J0LnRlc3RzZXE7CiAKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3Rv cmVfcmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVz dHNlcSc6OnJlZ2NsYXNzKTsKKyAgICAgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywK KyAgICAgICAgJ3JlbG5hbWUnLCAndGVzdHNlcScpOwogCi1TRUxFQ1QgcGdfY2F0YWxvZy5wZ19j bGVhcl9yZWxhdGlvbl9zdGF0cygKLSAgICAgICAgJ3N0YXRzX2ltcG9ydC50ZXN0c2VxJzo6cmVn Y2xhc3MpOworU0VMRUNUIHBnX2NhdGFsb2cucGdfY2xlYXJfcmVsYXRpb25fc3RhdHMoc2NoZW1h bmFtZSA9PiAnc3RhdHNfaW1wb3J0JywgcmVsbmFtZSA9PiAndGVzdHNlcScpOwogCiBDUkVBVEUg VklFVyBzdGF0c19pbXBvcnQudGVzdHZpZXcgQVMgU0VMRUNUICogRlJPTSBzdGF0c19pbXBvcnQu dGVzdDsKIAotU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9yZWxhdGlvbl9zdGF0cygKLSAg ICAgICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0dmlldyc6OnJlZ2NsYXNzKTsKLQot U0VMRUNUIHBnX2NhdGFsb2cucGdfY2xlYXJfcmVsYXRpb25fc3RhdHMoCi0gICAgICAgICdzdGF0 c19pbXBvcnQudGVzdHZpZXcnOjpyZWdjbGFzcyk7CitTRUxFQ1QgcGdfY2F0YWxvZy5wZ19jbGVh cl9yZWxhdGlvbl9zdGF0cyhzY2hlbWFuYW1lID0+ICdzdGF0c19pbXBvcnQnLCByZWxuYW1lID0+ ICd0ZXN0dmlldycpOwogCiAtLQogLS0gYXR0cmlidXRlIHN0YXRzCiAtLQogCi0tLSBlcnJvcjog b2JqZWN0IGRvZXMgbm90IGV4aXN0CistLSBlcnJvcjogc2NoZW1hbmFtZSBtaXNzaW5nCitTRUxF Q1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKKyAgICAncmVsbmFtZScs ICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdpZCcsCisgICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpi b29sZWFuLAorICAgICdudWxsX2ZyYWMnLCAwLjE6OnJlYWwpOworCistLSBlcnJvcjogc2NoZW1h IGRvZXMgbm90IGV4aXN0CiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9z dGF0cygKLSAgICAncmVsYXRpb24nLCAnMCc6Om9pZDo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUn LCAnaWQnOjpuYW1lLAorICAgICdzY2hlbWFuYW1lJywgJ25vcGUnLAorICAgICdyZWxuYW1lJywg J3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJv b2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMTo6cmVhbCk7CiAKLS0tIGVycm9yOiByZWxhdGlv biBudWxsCistLSBlcnJvcjogcmVsbmFtZSBtaXNzaW5nCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19y ZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKLSAgICAncmVsYXRpb24nLCBOVUxMOjpvaWQ6OnJlZ2Ns YXNzLAotICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0 c19pbXBvcnQnLAorICAgICdhdHRuYW1lJywgJ2lkJywKKyAgICAnaW5oZXJpdGVkJywgZmFsc2U6 OmJvb2xlYW4sCisgICAgJ251bGxfZnJhYycsIDAuMTo6cmVhbCk7CisKKy0tIGVycm9yOiByZWxu YW1lIGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0 ZV9zdGF0cygKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1l JywgJ25vcGUnLAorICAgICdhdHRuYW1lJywgJ2lkJywKKyAgICAnaW5oZXJpdGVkJywgZmFsc2U6 OmJvb2xlYW4sCisgICAgJ251bGxfZnJhYycsIDAuMTo6cmVhbCk7CisKKy0tIGVycm9yOiByZWxu YW1lIG51bGwKK1NFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAor ICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgJ3JlbG5hbWUnLCBOVUxMLAor ICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAg ICAgJ251bGxfZnJhYycsIDAuMTo6cmVhbCk7CiAKIC0tIGVycm9yOiBOVUxMIGF0dG5hbWUKIFNF TEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlv bicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgTlVMTDo6 bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywg J3Rlc3QnLAorICAgICdhdHRuYW1lJywgTlVMTCwKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJv b2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMTo6cmVhbCk7CiAKIC0tIGVycm9yOiBhdHRuYW1l IGRvZXNuJ3QgZXhpc3QKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0 YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAg ICdhdHRuYW1lJywgJ25vcGUnOjpuYW1lLAorICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9y dCcsCisgICAgJ3JlbG5hbWUnLCAndGVzdCcsCisgICAgJ2F0dG5hbWUnLCAnbm9wZScsCiAgICAg J2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdudWxsX2ZyYWMnLCAwLjE6OnJlYWws CiAgICAgJ2F2Z193aWR0aCcsIDI6OmludGVnZXIsCkBAIC0yNTgsMzYgKzMwNCw0MSBAQCBTRUxF Q1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKIAogLS0gZXJyb3I6IGJv dGggYXR0bmFtZSBhbmQgYXR0bnVtCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJp YnV0ZV9zdGF0cygKLSAgICAncmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFz cywKLSAgICAnYXR0bmFtZScsICdpZCc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNf aW1wb3J0JywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdpZCcsCiAg ICAgJ2F0dG51bScsIDE6OnNtYWxsaW50LAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVh biwKICAgICAnbnVsbF9mcmFjJywgMC4xOjpyZWFsKTsKIAogLS0gZXJyb3I6IG5laXRoZXIgYXR0 bmFtZSBub3IgYXR0bnVtCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9z dGF0cygKLSAgICAncmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKKyAg ICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAog ICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4xOjpy ZWFsKTsKIAogLS0gZXJyb3I6IGF0dHJpYnV0ZSBpcyBzeXN0ZW0gY29sdW1uCiBTRUxFQ1QgcGdf Y2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKLSAgICAncmVsYXRpb24nLCAnc3Rh dHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKLSAgICAnYXR0bmFtZScsICd4bWluJzo6bmFtZSwK KyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3Qn LAorICAgICdhdHRuYW1lJywgJ3htaW4nLAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVh biwKICAgICAnbnVsbF9mcmFjJywgMC4xOjpyZWFsKTsKIAogLS0gZXJyb3I6IGluaGVyaXRlZCBu dWxsCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKLSAgICAn cmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKLSAgICAnYXR0bmFtZScs ICdpZCc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAgICAncmVs bmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdpZCcsCiAgICAgJ2luaGVyaXRlZCcsIE5V TEw6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMTo6cmVhbCk7CiAKIC0tIG9rOiBqdXN0 IHRoZSBmaXhlZCB2YWx1ZXMsIHdpdGggdmVyc2lvbiwgbm8gc3Rha2luZHMKIFNFTEVDVCBwZ19j YXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0 c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAg ICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAor ICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAg ICAgJ3ZlcnNpb24nLCAxNTAwMDA6OmludGVnZXIsCiAgICAgJ251bGxfZnJhYycsIDAuMjo6cmVh bCwKQEAgLTMwNyw3ICszNTgsOCBAQCBBTkQgYXR0bmFtZSA9ICdpZCc7CiAtLSBmb3IgYW55IHN0 YXQtaGF2aW5nIHJlbGF0aW9uLgogLS0KIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0 cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2Ns YXNzLAorICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgJ3JlbG5hbWUnLCAn dGVzdCcsCiAgICAgJ2F0dG51bScsIDE6OnNtYWxsaW50LAogICAgICdpbmhlcml0ZWQnLCBmYWxz ZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC40OjpyZWFsKTsKQEAgLTMyMSw4ICszNzMs OSBAQCBBTkQgYXR0bmFtZSA9ICdpZCc7CiAKIC0tIHdhcm46IHVucmVjb2duaXplZCBhcmd1bWVu dCBuYW1lLCByZXN0IGdldCBzZXQKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmli dXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNz LAotICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19p bXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAg ICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMjo6cmVh bCwKICAgICAnbm9wZScsIDAuNTo6cmVhbCk7CkBAIC0zMzYsOCArMzg5LDkgQEAgQU5EIGF0dG5h bWUgPSAnaWQnOwogCiAtLSB3YXJuOiBtY3YgLyBtY2YgbnVsbCBtaXNtYXRjaCBwYXJ0IDEsIHJl c3QgZ2V0IHNldAogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMo Ci0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0 dG5hbWUnLCAnaWQnOjpuYW1lLAorICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisg ICAgJ3JlbG5hbWUnLCAndGVzdCcsCisgICAgJ2F0dG5hbWUnLCAnaWQnLAogICAgICdpbmhlcml0 ZWQnLCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4yMTo6cmVhbCwKICAgICAn bW9zdF9jb21tb25fZnJlcXMnLCAnezAuMSwwLjIsMC4zfSc6OnJlYWxbXQpAQCAtMzUyLDggKzQw Niw5IEBAIEFORCBhdHRuYW1lID0gJ2lkJzsKIAogLS0gd2FybjogbWN2IC8gbWNmIG51bGwgbWlz bWF0Y2ggcGFydCAyLCByZXN0IGdldCBzZXQKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVf YXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJl Z2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdz dGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lk JywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAu MjE6OnJlYWwsCiAgICAgJ21vc3RfY29tbW9uX3ZhbHMnLCAnezEsMiwzfSc6OnRleHQKQEAgLTM2 OCw4ICs0MjMsOSBAQCBBTkQgYXR0bmFtZSA9ICdpZCc7CiAKIC0tIHdhcm46IG1jZiB0eXBlIG1p c21hdGNoLCBtY3YtcGFpciBmYWlscywgcmVzdCBnZXQgc2V0CiBTRUxFQ1QgcGdfY2F0YWxvZy5w Z19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKLSAgICAncmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0 LnRlc3QnOjpyZWdjbGFzcywKLSAgICAnYXR0bmFtZScsICdpZCc6Om5hbWUsCisgICAgJ3NjaGVt YW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0 bmFtZScsICdpZCcsCiAgICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdudWxs X2ZyYWMnLCAwLjIyOjpyZWFsLAogICAgICdtb3N0X2NvbW1vbl92YWxzJywgJ3syLDEsM30nOjp0 ZXh0LApAQCAtMzg1LDggKzQ0MSw5IEBAIEFORCBhdHRuYW1lID0gJ2lkJzsKIAogLS0gd2Fybjog bWN2IGNhc3QgZmFpbHVyZSwgbWN2LXBhaXIgZmFpbHMsIHJlc3QgZ2V0IHNldAogU0VMRUNUIHBn X2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0 YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUnLCAnaWQnOjpuYW1lLAor ICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgJ3JlbG5hbWUnLCAndGVzdCcs CisgICAgJ2F0dG5hbWUnLCAnaWQnLAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVhbiwK ICAgICAnbnVsbF9mcmFjJywgMC4yMzo6cmVhbCwKICAgICAnbW9zdF9jb21tb25fdmFscycsICd7 Mixmb3VyLDN9Jzo6dGV4dCwKQEAgLTQwMiw4ICs0NTksOSBAQCBBTkQgYXR0bmFtZSA9ICdpZCc7 CiAKIC0tIG9rOiBtY3YrbWNmCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0 ZV9zdGF0cygKLSAgICAncmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywK LSAgICAnYXR0bmFtZScsICdpZCc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1w b3J0JywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdpZCcsCiAgICAg J2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdtb3N0X2NvbW1vbl92YWxzJywgJ3sy LDEsM30nOjp0ZXh0LAogICAgICdtb3N0X2NvbW1vbl9mcmVxcycsICd7MC4zLDAuMjUsMC4wNX0n OjpyZWFsW10KQEAgLTQxOCw4ICs0NzYsOSBAQCBBTkQgYXR0bmFtZSA9ICdpZCc7CiAKIC0tIHdh cm46IE5VTEwgaW4gaGlzdG9ncmFtIGFycmF5LCByZXN0IGdldCBzZXQKIFNFTEVDVCBwZ19jYXRh bG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19p bXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAn c2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAg ICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAg J251bGxfZnJhYycsIDAuMjQ6OnJlYWwsCiAgICAgJ2hpc3RvZ3JhbV9ib3VuZHMnLCAnezEsTlVM TCwzLDR9Jzo6dGV4dApAQCAtNDM0LDggKzQ5Myw5IEBAIEFORCBhdHRuYW1lID0gJ2lkJzsKIAog LS0gb2s6IGhpc3RvZ3JhbV9ib3VuZHMKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0 cmlidXRlX3N0YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2Ns YXNzLAotICAgICdhdHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0 c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywK ICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ2hpc3RvZ3JhbV9ib3VuZHMn LCAnezEsMiwzLDR9Jzo6dGV4dAogICAgICk7CkBAIC00NDksOCArNTA5LDkgQEAgQU5EIGF0dG5h bWUgPSAnaWQnOwogCiAtLSB3YXJuOiBlbGVtX2NvdW50X2hpc3RvZ3JhbSBudWxsIGVsZW1lbnQs IHJlc3QgZ2V0IHNldAogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3Rh dHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAg J2F0dG5hbWUnLCAndGFncyc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0 JywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICd0YWdzJywKICAgICAn aW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMjU6OnJlYWws CiAgICAgJ2VsZW1fY291bnRfaGlzdG9ncmFtJywgJ3sxLDEsTlVMTCwxLDEsMSwxLDF9Jzo6cmVh bFtdCkBAIC00NjUsOCArNTI2LDkgQEAgQU5EIGF0dG5hbWUgPSAndGFncyc7CiAKIC0tIG9rOiBl bGVtX2NvdW50X2hpc3RvZ3JhbQogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1 dGVfc3RhdHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3Ms Ci0gICAgJ2F0dG5hbWUnLCAndGFncyc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNf aW1wb3J0JywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICd0YWdzJywK ICAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMjY6 OnJlYWwsCiAgICAgJ2VsZW1fY291bnRfaGlzdG9ncmFtJywgJ3sxLDEsMSwxLDEsMSwxLDEsMSwx LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEs MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEs MSwxLDEsMSwxLDF9Jzo6cmVhbFtdCkBAIC00ODEsOCArNTQzLDkgQEAgQU5EIGF0dG5hbWUgPSAn dGFncyc7CiAKIC0tIHdhcm46IHJhbmdlIHN0YXRzIG9uIGEgc2NhbGFyIHR5cGUsIHJlc3Qgb2sK IFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxh dGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2lk Jzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICdyZWxuYW1l JywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVkJywgZmFsc2U6 OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMjc6OnJlYWwsCiAgICAgJ3JhbmdlX2VtcHR5 X2ZyYWMnLCAwLjU6OnJlYWwsCkBAIC00OTgsOCArNTYxLDkgQEAgQU5EIGF0dG5hbWUgPSAnaWQn OwogCiAtLSB3YXJuOiByYW5nZV9lbXB0eV9mcmFjIHJhbmdlX2xlbmd0aF9oaXN0IG51bGwgbWlz bWF0Y2gsIHJlc3Qgb2sKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0 YXRzKAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAg ICdhdHRuYW1lJywgJ2FyYW5nZSc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1w b3J0JywKKyAgICAncmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdhcmFuZ2UnLAog ICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4yODo6 cmVhbCwKICAgICAncmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbScsICd7Mzk5LDQ5OSxJbmZpbml0eX0n Ojp0ZXh0CkBAIC01MTQsOCArNTc4LDkgQEAgQU5EIGF0dG5hbWUgPSAnYXJhbmdlJzsKIAogLS0g d2FybjogcmFuZ2VfZW1wdHlfZnJhYyByYW5nZV9sZW5ndGhfaGlzdCBudWxsIG1pc21hdGNoIHBh cnQgMiwgcmVzdCBvawogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3Rh dHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAg J2F0dG5hbWUnLCAnYXJhbmdlJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBv cnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2FyYW5nZScsCiAg ICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdudWxsX2ZyYWMnLCAwLjI5Ojpy ZWFsLAogICAgICdyYW5nZV9lbXB0eV9mcmFjJywgMC41OjpyZWFsCkBAIC01MzAsOCArNTk1LDkg QEAgQU5EIGF0dG5hbWUgPSAnYXJhbmdlJzsKIAogLS0gb2s6IHJhbmdlX2VtcHR5X2ZyYWMgKyBy YW5nZV9sZW5ndGhfaGlzdAogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVf c3RhdHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0g ICAgJ2F0dG5hbWUnLCAnYXJhbmdlJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19p bXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2FyYW5nZScs CiAgICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdyYW5nZV9lbXB0eV9mcmFj JywgMC41OjpyZWFsLAogICAgICdyYW5nZV9sZW5ndGhfaGlzdG9ncmFtJywgJ3szOTksNDk5LElu ZmluaXR5fSc6OnRleHQKQEAgLTU0Niw4ICs2MTIsOSBAQCBBTkQgYXR0bmFtZSA9ICdhcmFuZ2Un OwogCiAtLSB3YXJuOiByYW5nZSBib3VuZHMgaGlzdG9ncmFtIG9uIHNjYWxhciwgcmVzdCBvawog U0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0gICAgJ3JlbGF0 aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUnLCAnaWQn OjpuYW1lLAorICAgICdzY2hlbWFuYW1lJywgJ3N0YXRzX2ltcG9ydCcsCisgICAgJ3JlbG5hbWUn LCAndGVzdCcsCisgICAgJ2F0dG5hbWUnLCAnaWQnLAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6 Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4zMTo6cmVhbCwKICAgICAncmFuZ2VfYm91bmRz X2hpc3RvZ3JhbScsICd7IlstMSwxKSIsIlswLDQpIiwiWzEsNCkiLCJbMSwxMDApIn0nOjp0ZXh0 CkBAIC01NjIsOCArNjI5LDkgQEAgQU5EIGF0dG5hbWUgPSAnaWQnOwogCiAtLSBvazogcmFuZ2Vf Ym91bmRzX2hpc3RvZ3JhbQogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVf c3RhdHMoCi0gICAgJ3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0g ICAgJ2F0dG5hbWUnLCAnYXJhbmdlJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19p bXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2FyYW5nZScs CiAgICAgJ2luaGVyaXRlZCcsIGZhbHNlOjpib29sZWFuLAogICAgICdyYW5nZV9ib3VuZHNfaGlz dG9ncmFtJywgJ3siWy0xLDEpIiwiWzAsNCkiLCJbMSw0KSIsIlsxLDEwMCkifSc6OnRleHQKICAg ICApOwpAQCAtNTc3LDggKzY0NSw5IEBAIEFORCBhdHRuYW1lID0gJ2FyYW5nZSc7CiAKIC0tIHdh cm46IGNhbm5vdCBzZXQgbW9zdF9jb21tb25fZWxlbXMgZm9yIHJhbmdlIHR5cGUsIHJlc3Qgb2sK IFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAotICAgICdyZWxh dGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRuYW1lJywgJ2Fy YW5nZSc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAgICAncmVs bmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICdhcmFuZ2UnLAogICAgICdpbmhlcml0ZWQn LCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4zMjo6cmVhbCwKICAgICAnbW9z dF9jb21tb25fZWxlbXMnLCAnezMsMX0nOjp0ZXh0LApAQCAtNTk0LDggKzY2Myw5IEBAIEFORCBh dHRuYW1lID0gJ2FyYW5nZSc7CiAKIC0tIHdhcm46IHNjYWxhcnMgY2FuJ3QgaGF2ZSBtY2VsZW0s IHJlc3Qgb2sKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzKAot ICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdhdHRu YW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAg ICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJpdGVk JywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMzM6OnJlYWwsCiAgICAgJ21v c3RfY29tbW9uX2VsZW1zJywgJ3sxLDN9Jzo6dGV4dCwKQEAgLTYxMSw4ICs2ODEsOSBAQCBBTkQg YXR0bmFtZSA9ICdpZCc7CiAKIC0tIHdhcm46IG1jZWxlbSAvIG1jZWxlbSBtaXNtYXRjaCwgcmVz dCBvawogU0VMRUNUIHBnX2NhdGFsb2cucGdfcmVzdG9yZV9hdHRyaWJ1dGVfc3RhdHMoCi0gICAg J3JlbGF0aW9uJywgJ3N0YXRzX2ltcG9ydC50ZXN0Jzo6cmVnY2xhc3MsCi0gICAgJ2F0dG5hbWUn LCAndGFncyc6Om5hbWUsCisgICAgJ3NjaGVtYW5hbWUnLCAnc3RhdHNfaW1wb3J0JywKKyAgICAn cmVsbmFtZScsICd0ZXN0JywKKyAgICAnYXR0bmFtZScsICd0YWdzJywKICAgICAnaW5oZXJpdGVk JywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMzQ6OnJlYWwsCiAgICAgJ21v c3RfY29tbW9uX2VsZW1zJywgJ3tvbmUsdHdvfSc6OnRleHQKQEAgLTYyNyw4ICs2OTgsOSBAQCBB TkQgYXR0bmFtZSA9ICd0YWdzJzsKIAogLS0gd2FybjogbWNlbGVtIC8gbWNlbGVtIG51bGwgbWlz bWF0Y2ggcGFydCAyLCByZXN0IG9rCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJp YnV0ZV9zdGF0cygKLSAgICAncmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFz cywKLSAgICAnYXR0bmFtZScsICd0YWdzJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0 c19pbXBvcnQnLAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ3RhZ3Mn LAogICAgICdpbmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbnVsbF9mcmFjJywgMC4z NTo6cmVhbCwKICAgICAnbW9zdF9jb21tb25fZWxlbV9mcmVxcycsICd7MC4zLDAuMiwwLjIsMC4z fSc6OnJlYWxbXQpAQCAtNjQzLDggKzcxNSw5IEBAIEFORCBhdHRuYW1lID0gJ3RhZ3MnOwogCiAt LSBvazogbWNlbGVtCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0 cygKLSAgICAncmVsYXRpb24nLCAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKLSAgICAn YXR0bmFtZScsICd0YWdzJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQn LAorICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ3RhZ3MnLAogICAgICdp bmhlcml0ZWQnLCBmYWxzZTo6Ym9vbGVhbiwKICAgICAnbW9zdF9jb21tb25fZWxlbXMnLCAne29u ZSx0aHJlZX0nOjp0ZXh0LAogICAgICdtb3N0X2NvbW1vbl9lbGVtX2ZyZXFzJywgJ3swLjMsMC4y LDAuMiwwLjMsMC4wfSc6OnJlYWxbXQpAQCAtNjU5LDggKzczMiw5IEBAIEFORCBhdHRuYW1lID0g J3RhZ3MnOwogCiAtLSB3YXJuOiBzY2FsYXJzIGNhbid0IGhhdmUgZWxlbV9jb3VudF9oaXN0b2dy YW0sIHJlc3Qgb2sKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRz KAotICAgICdyZWxhdGlvbicsICdzdGF0c19pbXBvcnQudGVzdCc6OnJlZ2NsYXNzLAotICAgICdh dHRuYW1lJywgJ2lkJzo6bmFtZSwKKyAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAor ICAgICdyZWxuYW1lJywgJ3Rlc3QnLAorICAgICdhdHRuYW1lJywgJ2lkJywKICAgICAnaW5oZXJp dGVkJywgZmFsc2U6OmJvb2xlYW4sCiAgICAgJ251bGxfZnJhYycsIDAuMzY6OnJlYWwsCiAgICAg J2VsZW1fY291bnRfaGlzdG9ncmFtJywgJ3sxLDEsMSwxLDEsMSwxLDEsMSwxfSc6OnJlYWxbXQpA QCAtNzA3LDggKzc4MSw5IEBAIFNFTEVDVCBzLnNjaGVtYW5hbWUsIHMudGFibGVuYW1lLCBzLmF0 dG5hbWUsIHMuaW5oZXJpdGVkLCByLioKIEZST00gcGdfY2F0YWxvZy5wZ19zdGF0cyBBUyBzCiBD Uk9TUyBKT0lOIExBVEVSQUwKICAgICBwZ19jYXRhbG9nLnBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0 YXRzKAotICAgICAgICAncmVsYXRpb24nLCAoJ3N0YXRzX2ltcG9ydC4nIHx8IHMudGFibGVuYW1l IHx8ICdfY2xvbmUnKTo6cmVnY2xhc3MsCi0gICAgICAgICdhdHRuYW1lJywgcy5hdHRuYW1lLAor ICAgICAgICAnc2NoZW1hbmFtZScsICdzdGF0c19pbXBvcnQnLAorICAgICAgICAncmVsbmFtZScs IHMudGFibGVuYW1lOjp0ZXh0IHx8ICdfY2xvbmUnLAorICAgICAgICAnYXR0bmFtZScsIHMuYXR0 bmFtZTo6dGV4dCwKICAgICAgICAgJ2luaGVyaXRlZCcsIHMuaW5oZXJpdGVkLAogICAgICAgICAn dmVyc2lvbicsIDE1MDAwMCwKICAgICAgICAgJ251bGxfZnJhYycsIHMubnVsbF9mcmFjLApAQCAt ODUzLDkgKzkyOCwxMCBAQCBBTkQgaW5oZXJpdGVkID0gZmFsc2UKIEFORCBhdHRuYW1lID0gJ2Fy YW5nZSc7CiAKIFNFTEVDVCBwZ19jYXRhbG9nLnBnX2NsZWFyX2F0dHJpYnV0ZV9zdGF0cygKLSAg ICByZWxhdGlvbiA9PiAnc3RhdHNfaW1wb3J0LnRlc3QnOjpyZWdjbGFzcywKLSAgICBhdHRuYW1l ID0+ICdhcmFuZ2UnOjpuYW1lLAotICAgIGluaGVyaXRlZCA9PiBmYWxzZTo6Ym9vbGVhbik7Cisg ICAgc2NoZW1hbmFtZSA9PiAnc3RhdHNfaW1wb3J0JywKKyAgICByZWxuYW1lID0+ICd0ZXN0JywK KyAgICBhdHRuYW1lID0+ICdhcmFuZ2UnLAorICAgIGluaGVyaXRlZCA9PiBmYWxzZSk7CiAKIFNF TEVDVCBDT1VOVCgqKQogRlJPTSBwZ19zdGF0cwpAQCAtODY0LDQgKzk0MCwzNCBAQCBBTkQgdGFi bGVuYW1lID0gJ3Rlc3QnCiBBTkQgaW5oZXJpdGVkID0gZmFsc2UKIEFORCBhdHRuYW1lID0gJ2Fy YW5nZSc7CiAKKy0tIHRlbXAgdGFibGVzCitDUkVBVEUgVEVNUCBUQUJMRSBzdGF0c190ZW1wKGkg aW50KTsKK1NFTEVDVCBwZ19yZXN0b3JlX3JlbGF0aW9uX3N0YXRzKAorICAgICAgICAnc2NoZW1h bmFtZScsICdwZ190ZW1wJywKKyAgICAgICAgJ3JlbG5hbWUnLCAnc3RhdHNfdGVtcCcsCisgICAg ICAgICdyZWxwYWdlcycsICctMTknOjppbnRlZ2VyLAorICAgICAgICAncmVsdHVwbGVzJywgNDAx OjpyZWFsLAorICAgICAgICAncmVsYWxsdmlzaWJsZScsIDU6OmludGVnZXIsCisgICAgICAgICdy ZWxhbGxmcm96ZW4nLCAzOjppbnRlZ2VyKTsKKworU0VMRUNUIHJlbG5hbWUsIHJlbHBhZ2VzLCBy ZWx0dXBsZXMsIHJlbGFsbHZpc2libGUsIHJlbGFsbGZyb3plbgorRlJPTSBwZ19jbGFzcworV0hF UkUgb2lkID0gJ3BnX3RlbXAuc3RhdHNfdGVtcCc6OnJlZ2NsYXNzCitPUkRFUiBCWSByZWxuYW1l OworCitTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cygKKyAgICAn c2NoZW1hbmFtZScsICdwZ190ZW1wJywKKyAgICAncmVsbmFtZScsICdzdGF0c190ZW1wJywKKyAg ICAnYXR0bmFtZScsICdpJywKKyAgICAnaW5oZXJpdGVkJywgZmFsc2U6OmJvb2xlYW4sCisgICAg J251bGxfZnJhYycsIDAuMDEyMzo6cmVhbAorICAgICk7CisKK1NFTEVDVCB0YWJsZW5hbWUsIG51 bGxfZnJhYworRlJPTSBwZ19zdGF0cworV0hFUkUgc2NoZW1hbmFtZSBsaWtlICdwZ190ZW1wJScK K0FORCB0YWJsZW5hbWUgPSAnc3RhdHNfdGVtcCcKK0FORCBpbmhlcml0ZWQgPSBmYWxzZQorQU5E IGF0dG5hbWUgPSAnaSc7CisKIERST1AgU0NIRU1BIHN0YXRzX2ltcG9ydCBDQVNDQURFOwotLSAK Mi4zNC4xCgo= --=-dxA/2JezQT+Q5tg1USWW--