From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2069.outbound.protection.outlook.com [40.107.237.69]) by sourceware.org (Postfix) with ESMTPS id 2C9A438930D5 for ; Fri, 24 Apr 2020 10:26:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2C9A438930D5 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=AlokKumar.Sharma@amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CFk6Bk6xFEjBqyw+CzkdnmBdsFpZNVdg5GbcjuuxKro9aEXiYSOLXbHHn0XprBxTUXwd5fxIwfj60e5eSjxfAZhB05Fd/o3V76I58pcyt+wn/L7QesOwbD0aMPVZB/N+gGTjDHjD+5wyQ2UJQOWPFH03tGezvDCctxvLVNBNXd67CADtI5JMpL7mc2nEoJYXSKreqLxiR6N/t8Icote43GUsKRep+ygcyW+M+0g8SWVWnqa+QdBEP1NCBvaMq3HH81KywQIFKgLfpn9BYXloJxUe1gdQwKrXiFttyYzv/3cN9YekiHoJlHG8q9bIfoS58JHjB0XImNVqiK3yjHpt8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EQ53D4fPj+csCUrryd9mVIOG8hppvLNTo6wtSjzY5OA=; b=mfLIhBqN6yb5u1cCn/ZSVLZnY7tWNJYtHdKdEG+eS/1o32WjpcKga9W+zvNOc+TujgAns/gEtIlYQjYGtFOU52v0QDRC2sxgxIP7yrnfybwJJzSkjrPboSE9T9NH+GJjm+94tcONH8ER40UzYQ9nDwvsJM97383QmKO1bXkG9Hr5tEaMsHNbC00bgU76xR9Z65Fta8635Kx2VY1iSDOd/XYpCuwOBeEaz2qskKU5szXQ3mABTMu817oTHReGoOzBdeaySsG3KQLHzGXrYmdqqe014Q0k4FQnGtVUD5wF+strzdovrbj3upVv41kgN7RQHF37mlu5g2q6hZ10TuUeWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EQ53D4fPj+csCUrryd9mVIOG8hppvLNTo6wtSjzY5OA=; b=fsQtO3NnT8k8niIiNDIBL4RjlFQL8GizhVu+ANmWUpeCqr3beq+ARAsF0VIShIwl1Ljj5wqui7gcsUhJTDCfsNldKkZ8DLTpWpe3ZcIqVp3ktO6f/gMhC6Kk1i9NhA1RQuvrYXhweZ8pa9oOkqHcYsCxDHvIAEMIh6r+Tku6fSk= Received: from MN2PR12MB3871.namprd12.prod.outlook.com (2603:10b6:208:16a::17) by MN2PR12MB4080.namprd12.prod.outlook.com (2603:10b6:208:1d9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.27; Fri, 24 Apr 2020 10:26:40 +0000 Received: from MN2PR12MB3871.namprd12.prod.outlook.com ([fe80::6563:d197:f00c:fa58]) by MN2PR12MB3871.namprd12.prod.outlook.com ([fe80::6563:d197:f00c:fa58%7]) with mapi id 15.20.2937.020; Fri, 24 Apr 2020 10:26:40 +0000 From: "Sharma, Alok Kumar" To: "gdb-patches@sourceware.org" CC: "George, Jini Susan" , "Achra, Nitika" Subject: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Topic: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Index: AdYaIsJriQG1RnWOTw2sd9A03bx5Pw== Date: Fri, 24 Apr 2020 10:26:40 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Enabled=true; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_SetDate=2020-04-24T10:24:35Z; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Method=Privileged; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Name=Non-Business; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_ActionId=708c32c0-33e3-4f4f-8c04-0000be537c14; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_ContentBits=0 msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_enabled: true msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_setdate: 2020-04-24T10:26:35Z msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_method: Privileged msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_name: Non-Business msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_actionid: e9b89228-7dd5-4dc7-9943-000066c57394 msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_contentbits: 0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=AlokKumar.Sharma@amd.com; x-originating-ip: [165.204.158.249] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 35cbf235-2b25-43d5-7305-08d7e839fa74 x-ms-traffictypediagnostic: MN2PR12MB4080:|MN2PR12MB4080: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 03838E948C x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3871.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(366004)(376002)(39860400002)(346002)(396003)(136003)(86362001)(6916009)(5660300002)(2906002)(478600001)(8936002)(81156014)(8676002)(186003)(7696005)(316002)(33656002)(54906003)(4326008)(71200400001)(26005)(6506007)(66446008)(66946007)(66616009)(64756008)(52536014)(76116006)(66476007)(55016002)(66556008)(99936003)(9686003); DIR:OUT; SFP:1101; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uYXzT82a2J4xFlnTUG955Tq7WOYv2A3L/IYeQQUiEkc1+BQzN3q1E9PrfqZu+q/0tzgBPCmoC29/8Ckc+KjPQZNtIhjTOUrGh9WbaIuHQ4uov3wv1DAjPr2soiHfI+dK26//mhTpshYAWusvNdKrJuw8m7aNIBaPgOmP+HcG29oIAt6xZv1ZQb2VAnjcAABFL2k/yHTAoDvkxCxmDpIq/vJQCVvYcMGfCvGGf2eFnTaR71cPVR0g9AWmMu3GxTedUygOSH8wGOlH07a0RROQvw0PLYQfy1FmPuFVb99htJB1ETgutLGQFKPmOygSj8Tg+DXC7i5ih6D3AfcPrHpX81w+yHRW/utbZx9EOr6objdU52s5OUTnAPhWHG185tZh3e77k2y7OPk04Q3VVgmL/JMNyzljrtd7nnSMvaHV/NewT0LLw5wFYgkScWMYKrTl x-ms-exchange-antispam-messagedata: rd3dA2gBhcCWgmzZDmjy3K+abJE6/9/1LEYa6mDw9GBwS/ne/5GcdDbOM3JQ6c1MYI2BJDeKQN5pWjiYdP0PWDQp2vOPohW/hwR10QLRjWoYklUC+sITapDqqyhx9Q2qRF+qWowDsm3EzSJ1xxi1FQ== Content-Type: multipart/mixed; boundary="_002_MN2PR12MB3871CBF788430A407B7E3DEB9ED00MN2PR12MB3871namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35cbf235-2b25-43d5-7305-08d7e839fa74 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Apr 2020 10:26:40.8110 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1g3JK2TBKAqxl2i4L+qpdJOEHXoVJif1kW4ZMzHEhqtKbnbT2UFKX774YnQ8xpLS4VFnwGV59avbrueBYXYXHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4080 X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, RCVD_IN_ABUSEAT, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Apr 2020 10:26:52 -0000 --_002_MN2PR12MB3871CBF788430A407B7E3DEB9ED00MN2PR12MB3871namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, (Resending as previous mail was sent with wrong tag) I request you all to please review this patch. Below are the details. Problem Description: Name of fortran main function for Flang compiler is MAIN_ while for gfortra= n it is MAIN__ . In test cases MAIN__ is hardcoded for the purpose of inser= ting breakpoint. (please note the number of underscores after MAIN)=20 Resolution: New proc is added to detect main function name depending on the compiler us= ed. Which is used in testcases. This commit adds support for Flang main function, there should be no change= for gfortran. gdb/testsuite/ChangeLog * gdb.dwarf2/dw2-common-block.exp: Skip test except for gfortra= n, as assembly file to be tested is generated by gfortran. * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_. * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_ * gdb.fortran/array-bounds.exp: Likewise. * gdb.fortran/array-slices.exp: Likewise. * gdb.fortran/block-data.exp: Likewise. * gdb.fortran/charset.exp: Likewise. * gdb.fortran/common-block.exp: Likewise. * gdb.fortran/complex.exp: Likewise. * gdb.fortran/derived-type-function.exp: Likewise. * gdb.fortran/derived-type.exp: Likewise. * gdb.fortran/info-modules.exp: Likewise. * gdb.fortran/info-types.exp: Likewise. * gdb.fortran/intrinsics.exp: Likewise. * gdb.fortran/library-module.exp: Likewise. * gdb.fortran/logical.exp: Likewise. * gdb.fortran/max-depth.exp: Likewise. * gdb.fortran/module.exp: Likewise. * gdb.fortran/multi-dim.exp: Likewise. * gdb.fortran/nested-funcs.exp: Likewise. * gdb.fortran/print-formatted.exp: Likewise. * gdb.fortran/print_type.exp: Likewise. * gdb.fortran/printing-types.exp: Likewise. * gdb.fortran/ptr-indentation.exp: Likewise. * gdb.fortran/ptype-on-functions.exp: Likewise. * gdb.fortran/subarray.exp: Likewise. * gdb.fortran/vla-alloc-assoc.exp: Likewise. * gdb.fortran/vla-datatypes.exp: Likewise. * gdb.fortran/vla-history.exp: Likewise. * gdb.fortran/vla-ptr-info.exp: Likewise. * gdb.fortran/vla-ptype-sub.exp: Likewise. * gdb.fortran/vla-ptype.exp: Likewise. * gdb.fortran/vla-sizeof.exp: Likewise. * gdb.fortran/vla-type.exp: Likewise. * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. * gdb.fortran/vla-value-sub-finish.exp: Likewise. * gdb.fortran/vla-value-sub.exp: Likewise. * gdb.fortran/vla-value.exp: Likewise. * gdb.fortran/whatis_type.exp: Likewise. * gdb.mi/mi-var-child-f.exp: Likewise. Please let me know your comments. Regards, Alok --_002_MN2PR12MB3871CBF788430A407B7E3DEB9ED00MN2PR12MB3871namp_ Content-Type: application/octet-stream; name="0001-gdb-fortran-Allow-Flang-MAIN_-in-Fortran-testing.patch" Content-Description: 0001-gdb-fortran-Allow-Flang-MAIN_-in-Fortran-testing.patch Content-Disposition: attachment; filename="0001-gdb-fortran-Allow-Flang-MAIN_-in-Fortran-testing.patch"; size=30204; creation-date="Fri, 24 Apr 2020 09:24:29 GMT"; modification-date="Fri, 24 Apr 2020 09:37:48 GMT" Content-Transfer-Encoding: base64 RnJvbSA3YzE2NjdmMmUwNzRkYzFlMGQ5YTAzMzZkOWVjMDdkYTU5MTI0YTcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbG9rIEt1bWFyIFNoYXJtYSA8QWxva0t1bWFyLlNoYXJtYUBh bWQuY29tPgpEYXRlOiBGcmksIDI0IEFwciAyMDIwIDE0OjQ2OjA5ICswNTMwClN1YmplY3Q6IFtQ QVRDSF0gZ2RiL2ZvcnRyYW46IEFsbG93IEZsYW5nIE1BSU5fIGluIEZvcnRyYW4gdGVzdGluZwoK TmFtZSBvZiBmb3J0cmFuIG1haW4gZnVuY3Rpb24gZm9yIEZsYW5nIGNvbXBpbGVyIGlzIE1BSU5f IHdoaWxlCmZvciBnZm9ydHJhbiBpdCBpcyBNQUlOX18gLiBJbiB0ZXN0IGNhc2VzIE1BSU5fXyBp cyBoYXJkY29kZWQgZm9yCnRoZSBwdXJwb3NlIG9mIGluc2VydGluZyBicmVha3BvaW50LgoKTmV3 IHByb2MgaXMgYWRkZWQgdG8gZGV0ZWN0IG1haW4gZnVuY3Rpb24gbmFtZSBkZXBlbmRpbmcgb24g dGhlCmNvbXBpbGVyIHVzZWQuIFdoaWNoIGlzIHVzZWQgaW4gdGVzdGNhc2VzLgoKVGhpcyBjb21t aXQgYWRkcyBzdXBwb3J0IGZvciBGbGFuZyBtYWluIGZ1bmN0aW9uLCB0aGVyZSBzaG91bGQgYmUK bm8gY2hhbmdlIGZvciBnZm9ydHJhbi4KCmdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCgoJKiBnZGIu ZHdhcmYyL2R3Mi1jb21tb24tYmxvY2suZXhwOiBTa2lwIHRlc3QgZXhjZXB0IGZvciBnZm9ydHJh biwKCWFzIGFzc2VtYmx5IGZpbGUgdG8gYmUgdGVzdGVkIGlzIGdlbmVyYXRlZCBieSBnZm9ydHJh bi4KCSogbGliL2ZvcnRyYW4uZXhwIChmb3J0cmFuX21haW4pOiBOZXcgUHJvYywgaGFuZGxlIGZs YW5nIE1BSU5fLgoJKiBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHA6IEhhbmRsZSBm bGFuZyBNQUlOXwoJKiBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwOiBMaWtld2lzZS4KCSog Z2RiLmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2Js b2NrLWRhdGEuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vY2hhcnNldC5leHA6IExpa2V3 aXNlLgoJKiBnZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZv cnRyYW4vY29tcGxleC5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUt ZnVuY3Rpb24uZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLmV4cDog TGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2luZm8tbW9kdWxlcy5leHA6IExpa2V3aXNlLgoJKiBn ZGIuZm9ydHJhbi9pbmZvLXR5cGVzLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2ludHJp bnNpY3MuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vbGlicmFyeS1tb2R1bGUuZXhwOiBM aWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vbG9naWNhbC5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9y dHJhbi9tYXgtZGVwdGguZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vbW9kdWxlLmV4cDog TGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL211bHRpLWRpbS5leHA6IExpa2V3aXNlLgoJKiBnZGIu Zm9ydHJhbi9uZXN0ZWQtZnVuY3MuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vcHJpbnQt Zm9ybWF0dGVkLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwOiBM aWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vcHJpbnRpbmctdHlwZXMuZXhwOiBMaWtld2lzZS4KCSog Z2RiLmZvcnRyYW4vcHRyLWluZGVudGF0aW9uLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFu L3B0eXBlLW9uLWZ1bmN0aW9ucy5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9zdWJhcnJh eS5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtYWxsb2MtYXNzb2MuZXhwOiBMaWtl d2lzZS4KCSogZ2RiLmZvcnRyYW4vdmxhLWRhdGF0eXBlcy5leHA6IExpa2V3aXNlLgoJKiBnZGIu Zm9ydHJhbi92bGEtaGlzdG9yeS5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtcHRy LWluZm8uZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLXN1Yi5leHA6IExp a2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZv cnRyYW4vdmxhLXNpemVvZi5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtdHlwZS5l eHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFyeS5leHA6 IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWZpbmlzaC5leHA6IExpa2V3 aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5m b3J0cmFuL3ZsYS12YWx1ZS5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi93aGF0aXNfdHlw ZS5leHA6IExpa2V3aXNlLgoJKiBnZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwOiBMaWtld2lzZS4K CkNoYW5nZS1JZDogSTBhMzBmNWRhZDY4NDg3OWI0MTZmNzFkM2QwOGMzODVjMTU5MzI1YmYKLS0t CiBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgfCA0NCArKysr KysrKysrKysrKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWNvbW1vbi1ibG9j ay5leHAgfCAgNiArKysKIC4uLi9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAgICAg ICAgICB8ICA1ICsrLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhw ICAgIHwgIDUgKystCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAg ICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9ibG9jay1kYXRhLmV4cCAgICAg IHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY2hhcnNldC5leHAgICAgICAgICB8 ICA2ICsrLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwICAgIHwg IDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tcGxleC5leHAgICAgICAgICB8ICA1 ICsrLQogLi4uL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHAgICAgIHwgIDUg KystCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS5leHAgICAgfCAgNCAr LQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVsZXMuZXhwICAgIHwgIDQgKy0K IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby10eXBlcy5leHAgICAgICB8ICA0ICstCiBn ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwICAgICAgfCAgNCArLQogZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAgIHwgIDUgKystCiBnZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xvZ2ljYWwuZXhwICAgICAgICAgfCAgNSArKy0KIGdkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbWF4LWRlcHRoLmV4cCAgICAgICB8ICA0ICstCiBnZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL21vZHVsZS5leHAgICAgICAgICAgfCAgNiArLS0KIGdkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cCAgICAgICB8ICA0ICstCiBnZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL25lc3RlZC1mdW5jcy5leHAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhwIHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAgICAgICB8ICAyICstCiBnZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cCAgfCAgNSArKy0KIGdkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vcHRyLWluZGVudGF0aW9uLmV4cCB8ICA0ICstCiAuLi4vZ2RiLmZvcnRyYW4vcHR5 cGUtb24tZnVuY3Rpb25zLmV4cCAgICAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9zdWJhcnJheS5leHAgICAgICAgIHwgIDUgKystCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtZGF0YXR5cGVzLmV4cCAgIHwgIDIgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLWhpc3RvcnkuZXhwICAgICB8ICAzICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1wdHItaW5mby5leHAgICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt cHR5cGUtc3ViLmV4cCAgIHwgIDIgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0 eXBlLmV4cCAgICAgICB8ICAyICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXpl b2YuZXhwICAgICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5l eHAgICAgICAgIHwgIDIgKy0KIC4uLi9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFy eS5leHAgICB8ICAzICstCiAuLi4vZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1maW5pc2guZXhw ICAgICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLmV4 cCAgIHwgIDMgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCAgICAg ICB8ICA2ICstLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi93aGF0aXNfdHlwZS5leHAgICAg IHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cCAgICAgICB8 ICAyICstCiBnZGIvdGVzdHN1aXRlL2xpYi9mb3J0cmFuLmV4cCAgICAgICAgICAgICAgICAgfCAx NiArKysrKysrCiA0MSBmaWxlcyBjaGFuZ2VkLCAxNDggaW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cgYi9nZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZwppbmRleCAxMDY4M2RiNTY2Li5lOTcyZjk3ZmFkIDEwMDY0NAotLS0gYS9n ZGIvdGVzdHN1aXRlL0NoYW5nZUxvZworKysgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwpAQCAt MSwzICsxLDQ3IEBACisyMDIwLTA0LTI0ICBBbG9rIEt1bWFyIFNoYXJtYSAgPGFsb2trdW1hci5z aGFybWFAYW1kLmNvbT4KKworCSogZ2RiLmR3YXJmMi9kdzItY29tbW9uLWJsb2NrLmV4cDogU2tp cCB0ZXN0IGV4Y2VwdCBmb3IgZ2ZvcnRyYW4sCisJYXMgYXNzZW1ibHkgZmlsZSB0byBiZSB0ZXN0 ZWQgaXMgZ2VuZXJhdGVkIGJ5IGdmb3J0cmFuLgorCSogbGliL2ZvcnRyYW4uZXhwIChmb3J0cmFu X21haW4pOiBOZXcgUHJvYywgaGFuZGxlIGZsYW5nIE1BSU5fLgorCSogZ2RiLmZvcnRyYW4vYXJy YXktYm91bmRzLWhpZ2guZXhwOiBIYW5kbGUgZmxhbmcgTUFJTl8KKwkqIGdkYi5mb3J0cmFuL2Fy cmF5LWJvdW5kcy5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4 cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9ibG9jay1kYXRhLmV4cDogTGlrZXdpc2UuCisJ KiBnZGIuZm9ydHJhbi9jaGFyc2V0LmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9jb21t b24tYmxvY2suZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2NvbXBsZXguZXhwOiBMaWtl d2lzZS4KKwkqIGdkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHA6IExpa2V3aXNl LgorCSogZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9y dHJhbi9pbmZvLW1vZHVsZXMuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2luZm8tdHlw ZXMuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwOiBMaWtld2lz ZS4KKwkqIGdkYi5mb3J0cmFuL2xpYnJhcnktbW9kdWxlLmV4cDogTGlrZXdpc2UuCisJKiBnZGIu Zm9ydHJhbi9sb2dpY2FsLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9tYXgtZGVwdGgu ZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL21vZHVsZS5leHA6IExpa2V3aXNlLgorCSog Z2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9uZXN0 ZWQtZnVuY3MuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ByaW50LWZvcm1hdHRlZC5l eHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHA6IExpa2V3aXNlLgor CSogZ2RiLmZvcnRyYW4vcHJpbnRpbmctdHlwZXMuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0 cmFuL3B0ci1pbmRlbnRhdGlvbi5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vcHR5cGUt b24tZnVuY3Rpb25zLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9zdWJhcnJheS5leHA6 IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vdmxhLWFsbG9jLWFzc29jLmV4cDogTGlrZXdpc2Uu CisJKiBnZGIuZm9ydHJhbi92bGEtZGF0YXR5cGVzLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9y dHJhbi92bGEtaGlzdG9yeS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vdmxhLXB0ci1p bmZvLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4cDogTGlr ZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5m b3J0cmFuL3ZsYS1zaXplb2YuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ZsYS10eXBl LmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFyeS5l eHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1maW5pc2guZXhwOiBM aWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwOiBMaWtld2lzZS4KKwkq IGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vd2hh dGlzX3R5cGUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5taS9taS12YXItY2hpbGQtZi5leHA6IExp a2V3aXNlLgorCiAyMDIwLTA0LTIzICBUb20gZGUgVnJpZXMgIDx0ZGV2cmllc0BzdXNlLmRlPgog CiAJKiBnZGIuYmFzZS9kZWNsLWJlZm9yZS1kZWYuZXhwOiBSdW4gdG8gbWFpbiBhbmQgcHJpbnQg YSBhZ2Fpbi4KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItY29tbW9u LWJsb2NrLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItY29tbW9uLWJsb2NrLmV4 cAppbmRleCA5YmNmMDZiMTdmLi5jZjQxYzY4MzNmIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLWNvbW1vbi1ibG9jay5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1jb21tb24tYmxvY2suZXhwCkBAIC0zMCw2ICszMCwxMiBAQCBpZiB7W3NraXBf Zm9ydHJhbl90ZXN0c119IHsKICAgICByZXR1cm4gMAogfQogCisjIEFzc2VtYmx5IGZpbGUgaXMg Z2VuZXJhdGVkIHVzaW5nIGdmb3J0cmFuLgorIyBza2lwIHJ1bm5pbmcgZm9yIG90aGVyIGNvbXBp bGVycy4KK2lmIHshW3Rlc3RfY29tcGlsZXJfaW5mbyB7Z2NjLSp9XX0geworICAgIHJldHVybiAw Cit9CisKIHN0YW5kYXJkX3Rlc3RmaWxlIC5TCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3Rpbmcg ImZhaWxlZCB0byBwcmVwYXJlIiAiJHt0ZXN0ZmlsZX0iICRzcmNmaWxlIFwKZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLWhpZ2guZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAKaW5kZXggODFlMmY4N2I4 OS4uZjE5NDViNDExMiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJh eS1ib3VuZHMtaGlnaC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1i b3VuZHMtaGlnaC5leHAKQEAgLTIwLDEzICsyMCwxNCBAQCBpZiB7IFtza2lwX2ZvcnRyYW5fdGVz dHNdIH0geyByZXR1cm4gLTEgfQogCiBzZXQgdGVzdGZpbGUgImFycmF5LWJvdW5kcy1oaWdoIgog c3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYge1twcmVw YXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtmOTAgZGVi dWd9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBNQUlOX19dfSB7Ci0gICAg cGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5fXycuIgoraWYgeyFbcnVu dG8gJGZtYWluXX0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAk Zm1haW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2FycmF5LWJvdW5kcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Fy cmF5LWJvdW5kcy5leHAKaW5kZXggMTJiZjVjMmRiMy4uYmUyOGZmNmRhOSAxMDA2NDQKLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwCisrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cApAQCAtMjAsMTMgKzIwLDE0IEBAIGlm IHsgW3NraXBfZm9ydHJhbl90ZXN0c10gfSB7IHJldHVybiAtMSB9CiAKIHNldCB0ZXN0ZmlsZSAi YXJyYXktYm91bmRzIgogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9ydHJhbi5l eHAKIAogaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRz cmNmaWxlIHtmOTAgZGVidWd9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBN QUlOX19dfSB7Ci0gICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5f XycuIgoraWYgeyFbcnVudG8gJGZtYWluXX0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0 byBicmVha3BvaW50IGAkZm1haW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAKaW5kZXggMTE5OTdmOTI2YS4uZTkxZGI2MmFh MSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1zbGljZXMuZXhw CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4cApAQCAtMjEs MTMgKzIxLDE0IEBACiBpZiB7W3NraXBfZm9ydHJhbl90ZXN0c119IHsgcmV0dXJuIC0xIH0KIAog c3RhbmRhcmRfdGVzdGZpbGUgIi5mOTAiCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3By ZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0g XAogCSB7ZGVidWcgZjkwfV19IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWlu XSB7CitpZiAhW3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRv IG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2Jsb2NrLWRhdGEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9ibG9jay1k YXRhLmV4cAppbmRleCAyOTJhZmU2YzE2Li41MjBmMGQ1ZDI4IDEwMDY0NAotLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2Jsb2NrLWRhdGEuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vYmxvY2stZGF0YS5leHAKQEAgLTMwLDggKzMwLDggQEAgaWYge1twcmVwYXJlX2Zv cl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0g ewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgdW50 ZXN0ZWQgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmICFbcnVudG8gJGZt YWluXSB0aGVuIHsKKyAgICB1bnRlc3RlZCAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZt YWluIgogICAgIHJldHVybiAtMQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2NoYXJzZXQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jaGFyc2V0LmV4 cAppbmRleCBmMGY2MmY4NDkwLi4xMWFiOWRmZGYwIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2NoYXJzZXQuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v Y2hhcnNldC5leHAKQEAgLTE5LDEyICsxOSwxNCBAQAogaWYgeyBbc2tpcF9mb3J0cmFuX3Rlc3Rz XSB9IHsgcmV0dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9y dHJhbi5leHAKKwogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUi ICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0ge2RlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9LWZiYWNrc2xh c2ggZjkwfV0gfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG8gTUFJTl9fXSB7Ci0g ICAgcGVycm9yICJDb3VsZG4ndCBydW4gdG8gTUFJTl9fIgoraWYgIVtydW50byAkZm1haW5dIHsK KyAgICBwZXJyb3IgIkNvdWxkbid0IHJ1biB0byAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwCmluZGV4IDE5YzFhZjBk ODEuLjJiNzRhMThlNzUgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29t bW9uLWJsb2NrLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9j ay5leHAKQEAgLTI3LDggKzI3LDggQEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQg dG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gXAogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRv IE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBN QUlOX18iCitpZiAhW3J1bnRvICRmbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3VsZG4ndCBy dW4gdG8gYnJlYWtwb2ludCAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21wbGV4LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vY29tcGxleC5leHAKaW5kZXggYzA5MmFiMjlmMS4uOGFjODFjMWZjYiAxMDA2NDQK LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21wbGV4LmV4cAorKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2NvbXBsZXguZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAKICMgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlIC5mOTAKK2xvYWRfbGliIGZvcnRyYW4uZXhw CiAKIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0Zmls ZSAkc3JjZmlsZSB7ZGVidWcgZjkwIHF1aWV0fV19IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYg IVtydW50byBNQUlOX19dIHRoZW4gewotICAgIHBlcnJvciAiQ291bGRuJ3QgcnVuIHRvIE1BSU5f XyIKK2lmICFbcnVudG8gJGZtYWluXSB0aGVuIHsKKyAgICBwZXJyb3IgIkNvdWxkbid0IHJ1biB0 byAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUtZnVuY3Rpb24uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9kZXJpdmVkLXR5cGUtZnVuY3Rpb24uZXhwCmluZGV4IDFmMGY5NTczMTcuLjhhMjk4 ZjVmN2IgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBl LWZ1bmN0aW9uLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlw ZS1mdW5jdGlvbi5leHAKQEAgLTIxLDEzICsyMSwxNCBAQAogaWYgeyBbc2tpcF9mb3J0cmFuX3Rl c3RzXSB9IHsgcmV0dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIg Zm9ydHJhbi5leHAKIAogaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFy ZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQogfQog Ci1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8g YnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvICRmbWFpbl0gdGhlbiB7CisgICAgcGVycm9y ICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwCmluZGV4IGYxNzA1YmZm ZDguLmVkZGQ5ODVlNTkgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZGVy aXZlZC10eXBlLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlw ZS5leHAKQEAgLTI3LDggKzI3LDggQEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQg dG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVy biAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4n dCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvICRmbWFpbl0gdGhlbiB7Cisg ICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCAkZm1haW4iCiAgICAgY29udGlu dWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVs ZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVsZXMuZXhwCmluZGV4 IDBjM2M2YTU4ZTEuLjk5Njc4MDNkY2MgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vaW5mby1tb2R1bGVzLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2lu Zm8tbW9kdWxlcy5leHAKQEAgLTI4LDggKzI4LDggQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGlu ZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlm IHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVh a3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtydW50byAkZm1haW5dIH0geworICAgIHBlcnJvciAi Q291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAkZm1haW4nLiIKICAgICBjb250aW51ZQogfQog CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2luZm8tdHlwZXMuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLXR5cGVzLmV4cAppbmRleCAyMTM4OTM3Nzgy Li43ZjU4NzQwZWQ4IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2luZm8t dHlwZXMuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby10eXBlcy5leHAK QEAgLTI3LDggKzI3LDggQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHBy ZXBhcmUiICR0ZXN0ZmlsZSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlO X19dIH0gewotICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGBNQUlOX18n LiIKK2lmIHsgIVtydW50byAkZm1haW5dIH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0 byBicmVha3BvaW50IGAkZm1haW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9pbnRyaW5zaWNzLmV4cAppbmRleCA1MDRiY2U0MTM4Li5kY2EyZDk4Y2Y0IDEw MDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwCisrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW50cmluc2ljcy5leHAKQEAgLTI1LDggKzI1LDgg QEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0Zmls ZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV0gfQogICAgIHJldHVybiAtMQogfQogCi1pZiB7ICFbcnVu dG8gTUFJTl9fXSB9IHsKLSAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBg TUFJTl9fJy4iCitpZiB7ICFbcnVudG8gJGZtYWluXSB9IHsKKyAgICBwZXJyb3IgIkNvdWxkIG5v dCBydW4gdG8gYnJlYWtwb2ludCBgJGZtYWluJy4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xpYnJhcnktbW9kdWxlLmV4cAppbmRleCBmMjU5ODhlMzJj Li5lYjI2NTUxZjRkIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xpYnJh cnktbW9kdWxlLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xpYnJhcnktbW9k dWxlLmV4cApAQCAtNDAsOSArNDAsMTAgQEAgaWYgIHsgW2dkYl9jb21waWxlICRzcmNkaXIvJHN1 YmRpci8kc3JjZmlsZSAkYmluZmlsZSBleGVjdXRhYmxlIFtsaXN0IGRlYnVnIGY5MAogY2xlYW5f cmVzdGFydCAkdGVzdGZpbGUKIAogZ2RiX2xvYWRfc2hsaWIgJGxpYmZpbGUKK2xvYWRfbGliIGZv cnRyYW4uZXhwCiAKLWlmICFbcnVudG8gTUFJTl9fXSB0aGVuIHsKLSAgICBwZXJyb3IgImNvdWxk bid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmICFbcnVudG8gJGZtYWluXSB0aGVuIHsK KyAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50ICRmbWFpbiIKICAgICBjb250 aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xvZ2ljYWwu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9sb2dpY2FsLmV4cAppbmRleCAzMjQ3MTRm YTQ5Li5lZjU5NTRhYWY5IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xv Z2ljYWwuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbG9naWNhbC5leHAKQEAg LTE2LDEzICsxNiwxNCBAQAogIyBUaGlzIGZpbGUgd2FzIHdyaXR0ZW4gYnkgSmFuIEtyYXRvY2h2 aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkw Citsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxl ZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MCBxdWlldH1dfSB7CiAg ICAgcmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJvciAi Q291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtydW50byAkZm1h aW5dIH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAkZm1haW4n LiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL21heC1kZXB0aC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21heC1kZXB0aC5l eHAKaW5kZXggMjYyZDBmZGZhMS4uNTJiNWEyNGI5OCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9tYXgtZGVwdGguZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vbWF4LWRlcHRoLmV4cApAQCAtMjYsOCArMjYsOCBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0 aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XSB9 CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJv ciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtydW50byAk Zm1haW5dIH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAkZm1h aW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL21vZHVsZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21vZHVsZS5leHAK aW5kZXggMWMyNjllMmZlZC4uOWY1Yzc5ZmJhMiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9tb2R1bGUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbW9k dWxlLmV4cApAQCAtMjksOCArMjksOCBAQCBnZGJfdGVzdCAicCBtb2RtYW55Ojp2YXJfaSIgIiA9 IDE0IiAic3RvcHBlZCBsYW5ndWFnZSBkZXRlY3Rpb24iCiAKIGdkYl90ZXN0ICJwcmludCBtb2Qx Ojp2YXJfY29uc3QiICIgPSAyMCIgImZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIERXX1RBR19jb25z dGFudCIKIAotaWYgIVtydW50byBNQUlOX19dIHRoZW4gewotICAgIHBlcnJvciAiY291bGRuJ3Qg cnVuIHRvIGJyZWFrcG9pbnQgTUFJTl9fIgoraWYgIVtydW50byAkZm1haW5dIHRoZW4geworICAg IHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZtYWluIgogICAgIGNvbnRpbnVl CiB9CiAKQEAgLTEyMyw3ICsxMjMsNyBAQCBjb21wbGV0ZSAibW9kbWFueTo6dmFyIiAkbW9kbWFu eV9saXN0CiAjIEJyZWFrcG9pbnQgd291bGQgd29yayBpbiBsYW5ndWFnZSAiYyIuCiBnZGJfdGVz dCAic2hvdyBsYW5ndWFnZSIge1RoZSBjdXJyZW50IHNvdXJjZSBsYW5ndWFnZSBpcyAiKGF1dG87 IGN1cnJlbnRseSApP2ZvcnRyYW4iLn0KIAotIyBnY2MtNC40LjI6IFRoZSBtYWluIHByb2dyYW0g aXMgYWx3YXlzIE1BSU5fXyBpbiAuc3ltdGFiIHNvICJydW50byIgYWJvdmUKKyMgZ2NjLTQuNC4y OiBUaGUgbWFpbiBwcm9ncmFtIGlzIGFsd2F5cyAkZm1haW4gaW4gLnN5bXRhYiBzbyAicnVudG8i IGFib3ZlCiAjIHdvcmtzLiAgQnV0IERXQVJGIERXX1RBR19zdWJwcm9ncmFtIGNvbnRhaW5zIHRo ZSBuYW1lIHNwZWNpZmllZCBieQogIyB0aGUgInByb2dyYW0iIEZvcnRyYW4gc3RhdGVtZW50Lgog aWYgW2dkYl9icmVha3BvaW50ICJtb2R1bGUiXSB7CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL211bHRpLWRpbS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL211 bHRpLWRpbS5leHAKaW5kZXggMDU1OTA5MTRkZi4uMjU2N2YxNjZlMiAxMDA2NDQKLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tdWx0aS1kaW0uZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cApAQCAtMjUsOCArMjUsOCBAQCBpZiB7IFtwcmVwYXJl X2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSB7 ZGVidWcgZjkwfQogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gewotICAg IHBlcnJvciAiQ291bGRuJ3QgcnVuIHRvIE1BSU5fXyIKK2lmICFbcnVudG8gJGZtYWluXSB7Cisg ICAgcGVycm9yICJDb3VsZG4ndCBydW4gdG8gJGZtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbmVzdGVkLWZ1bmNzLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbmVzdGVkLWZ1bmNzLmV4cAppbmRleCBlNGZjMDJmZmE1 Li5iNjgyMjdjYjVhIDEwMDc1NQotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL25lc3Rl ZC1mdW5jcy5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9uZXN0ZWQtZnVuY3Mu ZXhwCkBAIC0yNSw4ICsyNSw4IEBAIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRv IHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV19IHsKICAgICByZXR1cm4g LTENCiB9DQogDQotaWYgIVtydW50byBNQUlOX19dIHRoZW4gew0KLSAgICBwZXJyb3IgImNvdWxk bid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyINCitpZiAhW3J1bnRvICRmbWFpbl0gdGhlbiB7 DQorICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZtYWluIg0KICAgICBj b250aW51ZQ0KIH0NCiANCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3By aW50LWZvcm1hdHRlZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50LWZvcm1h dHRlZC5leHAKaW5kZXggOGM2NTI5Y2U3Zi4uY2QxMmM2YjNjNCAxMDA2NDQKLS0tIGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhwCisrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcHJpbnQtZm9ybWF0dGVkLmV4cApAQCAtMjUsOCArMjUsOCBAQCBpZiB7 IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNm aWxlIHtkZWJ1ZyBmOTB9XSB9CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlO X19dIH0gewotICAgIGZhaWwgInJ1bnRvIE1BSU5fXyIKK2lmIHsgIVtydW50byAkZm1haW5dIH0g eworICAgIGZhaWwgInJ1bnRvICRmbWFpbiIKICAgICByZXR1cm4gLTEKIH0KIApkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKaW5kZXggN2Q1OTE1MzkwZC4uNjE1YzJiZTIy NiAxMDA3NTUKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cAor KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwCkBAIC0yNCw3ICsy NCw3IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZp bGV9ICR7c3JjZmlsZX0gXAogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvX21haW5dIHsK K2lmICFbcnVudG8gJGZtYWluXSB7CiAgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFp biIKICAgICByZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vcHJpbnRpbmctdHlwZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGlu Zy10eXBlcy5leHAKaW5kZXggMmM4OGY5ZTAwMy4uMjA2Y2NjZDE5YiAxMDA2NDQKLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGluZy10eXBlcy5leHAKKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9wcmludGluZy10eXBlcy5leHAKQEAgLTE2LDEzICsxNiwxNCBAQAog aWYge1tza2lwX2ZvcnRyYW5fdGVzdHNdfSB7IHJldHVybiAtMSB9CiAKIHN0YW5kYXJkX3Rlc3Rm aWxlIC5mOTAKK2xvYWRfbGliIGZvcnRyYW4uZXhwCiAKIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGlu ZyAkdGVzdGZpbGUuZXhwICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV19IHsKICAgICBy ZXR1cm4gLTEKIH0KIAotaWYgeyFbcnVudG8gTUFJTl9fXX0gdGhlbiB7Ci0gICAgdW50ZXN0ZWQg ImNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiB7IVtydW50byAkZm1haW5d fSB0aGVuIHsKKyAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBicmVha3BvaW50ICRmbWFp biIKICAgICByZXR1cm4gLTEKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wdHItaW5kZW50YXRpb24uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHIt aW5kZW50YXRpb24uZXhwCmluZGV4IDI4NWUyNGUyY2MuLmJmZmQ0OTgzZjAgMTAwNjQ0Ci0tLSBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHRyLWluZGVudGF0aW9uLmV4cAorKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0ci1pbmRlbnRhdGlvbi5leHAKQEAgLTIyLDggKzIyLDgg QEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNm aWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBNQUlO X19dfSB0aGVuIHsKLSAgICB1bnRlc3RlZCAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJ Tl9fIgoraWYgeyFbcnVudG8gJGZtYWluXX0gdGhlbiB7CisgICAgdW50ZXN0ZWQgImNvdWxkbid0 IHJ1biB0byBicmVha3BvaW50ICRmbWFpbiIKICAgICByZXR1cm4gLTEKIH0KIApkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwCmluZGV4IGQ5MWU0 YmQ0OGUuLmJmMWY1ZDg2MzcgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cHR5cGUtb24tZnVuY3Rpb25zLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0 eXBlLW9uLWZ1bmN0aW9ucy5leHAKQEAgLTI0LDggKzI0LDggQEAgaWYge1twcmVwYXJlX2Zvcl90 ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9 XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAg cGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvICRm bWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCAkZm1h aW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9zdWJhcnJheS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YmFycmF5LmV4 cAppbmRleCA1ZTNlOGMzOGNiLi5jOGFhNWZlODI5IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3N1YmFycmF5LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3N1YmFycmF5LmV4cApAQCAtMjEsNiArMjEsNyBAQAogaWYgeyBbc2tpcF9mb3J0cmFuX3Rlc3Rz XSB9IHsgcmV0dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVzdGZpbGUgLmYKK2xvYWRfbGliIGZvcnRy YW4uZXhwCiAKIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0 ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV19IHsKICAgICByZXR1cm4gLTEKQEAgLTMxLDgg KzMyLDggQEAgZ2RiX3N0YXJ0CiBnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRzdWJkaXIK IGdkYl9sb2FkICR7YmluZmlsZX0KIAotaWYgIVtydW50byBNQUlOX19dIHRoZW4gewotICAgIHBl cnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJTl9fIgoraWYgIVtydW50byAkZm1h aW5dIHRoZW4geworICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZtYWlu IgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLWFsbG9jLWFzc29jLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFs bG9jLWFzc29jLmV4cAppbmRleCA1ZDg1ODVjMmVlLi5iYTFlZThlNThjIDEwMDY0NAotLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHAKKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtYWxsb2MtYXNzb2MuZXhwCkBAIC0xNCwxMyArMTQsMTQg QEAKICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEuZjkwIgorbG9hZF9s aWIgZm9ydHJhbi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHBy ZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9 IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW3J1bnRvICRm bWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJu IC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1kYXRhdHlw ZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZGF0YXR5cGVzLmV4cAppbmRl eCAyZGI5YjNlMTEwLi5iNGM0YjE5OGMzIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS1kYXRhdHlwZXMuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLWRhdGF0eXBlcy5leHAKQEAgLTI0LDcgKzI0LDcgQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVz dGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogIyBjaGVj ayB0aGF0IGFsbCBmb3J0cmFuIHN0YW5kYXJkIGRhdGF0eXBlcyB3aWxsIGJlCiAjIGhhbmRsZWQg Y29ycmVjdGx5IHdoZW4gdXNpbmcgYXMgVkxBJ3MKIAotaWYgIVtydW50b19tYWluXSB7CitpZiAh W3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAg ICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1oaXN0b3J5LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhw CmluZGV4IDI0YmQ5NDVmNGEuLmFhMzhkNTI4OGMgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLWhpc3RvcnkuZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAKICMgYWxvbmcgd2l0aCB0aGlz IHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAK IHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEuZjkwIgorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYg eyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7 c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9IHsKICAgICByZXR1cm4gLTEKIH0K IAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVk ICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHAKaW5kZXggMjRjN2I0NTg0MC4uMTUzOGY2ODll MiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHRyLWluZm8uZXhw CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0ci1pbmZvLmV4cApAQCAtMTQs MTMgKzE0LDE0IEBACiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLmY5 MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhwCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZh aWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkw IHF1aWV0fV0gfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYg IVtydW50byAkZm1haW5dIHsKICAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgog ICAgIHJldHVybiAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtcHR5cGUtc3ViLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLXN1 Yi5leHAKaW5kZXggMDk5MDllNzRiMC4uOTA0NTU2MDFlNCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1wdHlwZS1zdWIuZXhwCkBAIC0yMSw3ICsyMSw3IEBAIGlmIHsgW3ByZXBh cmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9 IFwKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW3J1bnRvICRm bWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJu IC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKaW5kZXggMjJiMjAw NTMxNy4uMzlkMDBhMzJjMiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtcHR5cGUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4 cApAQCAtMjEsNyArMjEsNyBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8g cHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlm ICFbcnVudG9fbWFpbl0geworaWYgIVtydW50byAkZm1haW5dIHsKICAgICB1bnRlc3RlZCAiY291 bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLXNpemVvZi5leHAKaW5kZXggOGU3ZDM2MzE0ZS4uYzgyNmQ5NmViOSAxMDA2NDQK LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAorKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAK ICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEuZjkwIgorbG9hZF9saWIg Zm9ydHJhbi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBh cmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9IHsK ICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW3J1bnRvICRmbWFp bl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0x CiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCmluZGV4IDZkODg1ZTc4ODku LmQ5YjY2ZmYzOTUgMTAwNzU1Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5 cGUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCkBAIC0y MSw3ICsyMSw3IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJl IiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50 b19tYWluXSB7CitpZiAhW3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3Qg cnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCmluZGV4IGFiNjFkZGUwNmYu LmExOGI0ZTQyMDkgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZh bHVlLXN1Yi1hcmJpdHJhcnkuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxh LXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAKICMgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEtc3ViLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4u ZXhwCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rl c3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7CiAgICAgcmV0 dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYgIVtydW50byAkZm1haW5dIHsKICAg ICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWZpbmlzaC5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cApp bmRleCBhZmQ5OTJjZWU0Li5hMDU2ZmMyNzMyIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAj IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLXN1Yi5mOTAiCitsb2FkX2xp YiBmb3J0cmFuLmV4cAogCiBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJl cGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAge2RlYnVnIGY5MCBxdWlldH1dIH0g ewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvX21haW5dIHsKK2lmICFbcnVudG8gJGZt YWluXSB7CiAgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKICAgICByZXR1cm4g LTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1 Yi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwCmluZGV4 IDMzMTFmNmJlZmEuLmUwYTQyMjYwYTQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLXZhbHVlLXN1Yi5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtdmFsdWUtc3ViLmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAjIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogCiBz dGFuZGFyZF90ZXN0ZmlsZSAidmxhLXN1Yi5mOTAiCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBp ZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0g JHtzcmNmaWxlfSBcCiAgICAge2RlYnVnIGY5MCBxdWlldH1dIH0gewogICAgIHJldHVybiAtMQog fQogCi1pZiAhW3J1bnRvX21haW5dIHsKK2lmICFbcnVudG8gJGZtYWluXSB7CiAgICAgdW50ZXN0 ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKICAgICByZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAppbmRleCA1YWYxN2I1NzBjLi45OTRhNWEzZTdhIDEw MDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAKKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCkBAIC0yMSw3ICsyMSw3IEBA IGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxl fSAke3NyY2ZpbGV9IFwKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7Citp ZiAhW3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4i CiAgICAgcmV0dXJuIC0xCiB9CkBAIC0xMjksOCArMTI5LDggQEAgZ2RiX3Rlc3QgInByaW50IHZs YTEoOSwgOSwgOSkiICJubyBzdWNoIHZlY3RvciBlbGVtZW50IFxcXCh2ZWN0b3Igbm90IGFsbG9j YXRlZFwKICMgVHJ5IHRvIGFzc2lnbiBWTEEgdG8gdXNlciB2YXJpYWJsZQogY2xlYW5fcmVzdGFy dCAke3Rlc3RmaWxlfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJj b3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvICRmbWFpbl0gdGhl biB7CisgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCAkZm1haW4iCiAgICAg Y29udGludWUKIH0KIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2bGEyLWFs bG9jYXRlZCJdCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3doYXRpc190 eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vd2hhdGlzX3R5cGUuZXhwCmluZGV4 IDZhOWNjMGE4MWUuLjhhOWExZWI3OWYgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vd2hhdGlzX3R5cGUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vd2hh dGlzX3R5cGUuZXhwCkBAIC0yMyw4ICsyMyw4IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3Rpbmcg ImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlm ICFbcnVudG8gTUFJTl9fXSB7Ci0gICAgZmFpbCAicnVuIHRvIE1BSU5fXyIKK2lmICFbcnVudG8g JGZtYWluXSB7CisgICAgZmFpbCAicnVuIHRvICRmbWFpbiIKICAgICByZXR1cm4KIH0KIApkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwCmluZGV4IDhjZmZmYTdjMDguLjM2M2Rh MGI3ZWQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4 cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAKQEAgLTM2LDcg KzM2LDcgQEAgaWYge1tnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9 IiAiJHtiaW5maWxlfSIgXAogbWlfZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGly CiBtaV9nZGJfbG9hZCAke2JpbmZpbGV9CiAKLW1pX3J1bnRvIE1BSU5fXworbWlfcnVudG8gJGZt YWluCiAKIG1pX2NyZWF0ZV92YXJvYmogImFycmF5IiAiYXJyYXkiICJjcmVhdGUgbG9jYWwgdmFy aWFibGUgYXJyYXkiCiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL2ZvcnRyYW4uZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZm9ydHJhbi5leHAKaW5kZXggNTQ5ZWQ2NTc5MC4uMGJkOTU1 MDRjOCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZm9ydHJhbi5leHAKKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9saWIvZm9ydHJhbi5leHAKQEAgLTE4LDYgKzE4LDggQEAKICMgQXV4aWxpYXJ5 IGZ1bmN0aW9uIHRvIHNldCB0aGUgbGFuZ3VhZ2UgdG8gZm9ydHJhbi4KICMgVGhlIHJlc3VsdCBp cyAxICh0cnVlKSBmb3Igc3VjY2VzcywgMCAoZmFsc2UpIGZvciBmYWlsdXJlLgogCitnbG9iYWwg Zm1haW4KKwogcHJvYyBzZXRfbGFuZ19mb3J0cmFuIHt9IHsKICAgICBpZiBbZ2RiX3Rlc3Rfbm9f b3V0cHV0ICJzZXQgbGFuZ3VhZ2UgZm9ydHJhbiJdIHsKIAlyZXR1cm4gMApAQCAtMTI2LDMgKzEy OCwxNyBAQCBwcm9jIGZvcnRyYW5fY2hhcmFjdGVyMSB7fSB7CiAJcmV0dXJuICJ1bmtub3duIgog ICAgIH0KIH0KKworcHJvYyBmb3J0cmFuX21haW4ge30geworICAgIGlmIHtbdGVzdF9jb21waWxl cl9pbmZvIHtnY2MtNC1bMDEyXS0qfV0KKyAgICAgICAgIHx8IFt0ZXN0X2NvbXBpbGVyX2luZm8g e2djYy0qfV0KKyAgICAgICAgIHx8IFt0ZXN0X2NvbXBpbGVyX2luZm8ge2ljYy0qfV19IHsKKwly ZXR1cm4gIk1BSU5fXyIKKyAgICB9IGVsc2VpZiB7W3Rlc3RfY29tcGlsZXJfaW5mbyB7Y2xhbmct Kn1dfSB7CisJcmV0dXJuICJNQUlOXyIKKyAgICB9IGVsc2UgeworCXJldHVybiAidW5rbm93biIK KyAgICB9Cit9CisKK3NldCBmbWFpbiAgW2ZvcnRyYW5fbWFpbl0KLS0gCjIuMTcuMQoK --_002_MN2PR12MB3871CBF788430A407B7E3DEB9ED00MN2PR12MB3871namp_--