From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7039647964761948160 X-Received: by 2002:a05:600c:a55:: with SMTP id c21mr17606567wmq.191.1639152738082; Fri, 10 Dec 2021 08:12:18 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:1c7:: with SMTP id 190ls6219464wmb.3.canary-gmail; Fri, 10 Dec 2021 08:12:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJzCS8gW+lw8laQnO2wJ1bItP6JqONXodg0QpBzktLdIrnCksblyU+ok+xZ7kbwNUipARxRC X-Received: by 2002:a05:600c:6006:: with SMTP id az6mr18155454wmb.5.1639152736929; Fri, 10 Dec 2021 08:12:16 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1639152736; cv=pass; d=google.com; s=arc-20160816; b=wO/O8FiEECwBVXPhW7bQ0+RG80XQinjcSHHSzPdG7i2KDA5BAq7gvLgZk2UU/MiRSV LzyLFSKr2+0aAkFCCz4gZ5bS7M9VWOCr7Jm6K0DAhp2kpaXmfYnwLXl6oezUCm6ZxuIp MVmSI1nHfj5y0P7tcVIA5MxDSNOoQ1arv0hWdxpqmuRsNnjQbpah6GT/BHdzAr+N/7tZ Vc7gNhNl02VYNhlk8BLoWcbli1qka5imjPYQtdGHjTsbh5CQA9zuXftGu0B8xtAo1Dr3 3CDu97IxlJ2MKK8/T89DvxVnayYm9f2QFAdz2UCCGiKrzKUyWPtw9CNZsLtfuAZJ2omb ng7w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:document_confidentiality :msip_labels:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:to:from :dkim-signature; bh=WbbcPliUnlFwHSHi6ONKq3mMy6pRaGoH08i9/nKbnGs=; b=GGiafjIgXx8ch/JNtQddA/dxTPdmTGzLNCftB7UN6B78nbLlBHe0P5tkbC83Cjkwyp 5YJ1eFHZlOs7p4dR1+nztQos6CRuN9Yzdb/5cic6kMG8Z9yYogomgiBiq0FJhbFkvRtX ilJPpaJC9g+OdYtBS5ogIo4BKalTodiqtp9PZz5kgubZYqqZI8/qvdZTiiygB3f1pmEn evzRJqqWaEZ9ssy5pbwtBddBHCQTB4pPeEYWDnNliUFaA9p71gKjSKonF7LQLro27CqK +gFjj6GlWiN/wS+oCjeyC2uchb90cHDiLDIvXDMkkAiqJ096Glk3vQiKotqSO7HomAE4 Tybg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=J8vcDSb6; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of adriaan.schmidt@siemens.com designates 40.107.14.51 as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140051.outbound.protection.outlook.com. [40.107.14.51]) by gmr-mx.google.com with ESMTPS id s138si838423wme.1.2021.12.10.08.12.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Dec 2021 08:12:16 -0800 (PST) Received-SPF: pass (google.com: domain of adriaan.schmidt@siemens.com designates 40.107.14.51 as permitted sender) client-ip=40.107.14.51; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=J8vcDSb6; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of adriaan.schmidt@siemens.com designates 40.107.14.51 as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OOsU9EiUFMfmNEqNIRAJ/DNAJYsjm4ymWrmVTG9PADiLE2a2uaZdlrwHRE3b5mrKmr6YAlJX8yfnYpCA58UIqL7mOuUt3+RxAMFCxvXM2c4ABr/BuBMnFD7fw+hXMt+VSRCGY1SaiEFoVWurC5hsbDZCHhyHSDIK0dLnakaFzS33+pnKMOROV1eHABislnWnpYKFePF8J31a9Mj+DvGyWtb+u3Lun0GiuNUZu96XN+Y4z71ODHdlNhFW8ZvuIezeAu0Cj8HR7mBx8EqmnnILjZwUK/4GQuCMBFNjYaSBlAxVL7tSGV0HWSswOiwkSeVcayTRR4zb/IXDYnnSBRcH2Q== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WbbcPliUnlFwHSHi6ONKq3mMy6pRaGoH08i9/nKbnGs=; b=AjcBuCuKB6v72th7FibkVV7ohcte9LZK5fBVf95y+5Wch6yLJwzmeIDy6ZJNJUwAUWXMK/6FjfaJfmHrwjjnATPhOfb+ErUxJ/JZr3z8VHKWQoUW1ZuD+z3kt5cTZ0RrUsJAH2M6Uiif01Fm1h8rO7kcjfXydQwLdAT48Hw90QRPsiwjr43VF8naiKdjVU1/FivQX99JFI7Me37U56xmN4/9DFi5sV6no/vokcKy2HQZK01w0A8ppZ35z9kuMs9NZMddmwbMXynd9q39Wla0iR5H4hwBeq2sWKZxZXGp/sq2whqspLjv0lR2Q0R84uaWc3qV3sGc2gKta0sBlluRzA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WbbcPliUnlFwHSHi6ONKq3mMy6pRaGoH08i9/nKbnGs=; b=J8vcDSb6+n2B4YllwrsjD1Qm8D8cnk/OzmRR1nm1ws5XnJKPehQF5GGd9qqwdT3ZPtv3wSGWXVsG1p6MylOuYn0fyPiIV7uEhNsANvkYwchrgW/OT6K6XNwxcjgRLmCAZxsTM/PCmpB8ySnmBLdyGmvM32pVwwjdz4z+3Fie82ZrO2Z+yrWvBYFxx471OU+Kf63V6f3O5NBYzp5iO9iG5m+x3uRdq5nEgvvPhNTexotzpQo/m84NnoC2Uo9vlgZhf761ccV7EFv4aXoBT8B0HjdEAvzVdH9lKS7lsTQZvh+7u/yyhf6EnsKiEMo3A4SDAy5G2xhLm516sUZJjy72gA== Received: from AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4b8::15) by AM9PR10MB5099.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:438::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Fri, 10 Dec 2021 16:12:15 +0000 Received: from AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM ([fe80::c53f:aa5c:6457:fb0]) by AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM ([fe80::c53f:aa5c:6457:fb0%7]) with mapi id 15.20.4734.023; Fri, 10 Dec 2021 16:12:15 +0000 From: "Schmidt, Adriaan" To: Anton Mikanovich , "isar-users@googlegroups.com" Subject: RE: [RFC PATCH v2] testsuite: refactor Thread-Topic: [RFC PATCH v2] testsuite: refactor Thread-Index: AQHX7Z4h+m8N1jmVuUa5N8ERDn60u6wr02GAgAADXoA= Date: Fri, 10 Dec 2021 16:12:14 +0000 Message-ID: References: <20211210081526.2944853-1-adriaan.schmidt@siemens.com> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_Enabled=true; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_SetDate=2021-12-10T16:12:12Z; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_Method=Standard; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_Name=restricted-default; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_SiteId=38ae3bcd-9579-4fd4-adda-b42e1495d55a; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_ActionId=67b1263d-d389-46df-a8ab-9dbbdc68ad85; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_ContentBits=0 document_confidentiality: Restricted authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a9db418b-9eb5-4cc2-83c0-08d9bbf7d4bf x-ms-traffictypediagnostic: AM9PR10MB5099:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2657; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pGVK6gkkuy1/bIqdH/2kXQbKM1ny+thc1FvdcTHx0RPlm0LxyjZigLtbeZ6Wu1ZwL5sRqJkk6qwHuELzpquUqG0Dkpo74T6PjgCoA+gzgUm2jFX1J9pIlZPvSH3HshAceR6TqZAAq+rEzx95gMopSnLsPTQISWqYym/6ceEnElEx43kfekhdGjHY8BQAIPKMKQNJhjvISjk0gsa4Sleg8xq0yEfJhLxuhteIoww06x/Fli/AynbJ+JLRIkAKGZgngFACJp7INAf8gqYCC3jT7AqS2VyHLbhWAbd/af90SDL/Ybj32p+UreNzMp7GcHa6KRiYJ2D6rmnio77xqDPpw7NV+sKpuIT+aPKlu5l+mPahNkyGBjFdAdldGVZs6sdhi4/opFNUEkJt+aA/LxugG1dtzCWG5Aeb9vstNQ993VtbBFa3QyU6IACwUUzgIJ8Nt5JpARw54+TiJUxRLy7vsqUuIu7us88bvyeMnjDGmiRmNFbcpI5VOhQW0d3vo3ffek0EJ4eaj2ox2rvtLuFE5o+0HFvDLFvYQnzIOGn80MrgZcPLbU+zxwzQOO9cpINEtJeWMdULk2HKBt81bV7V+WH9aq00PVmRyM40iVwA0WM0IZegDY9Vs6kSLxVhu3MGNKtlx8KL0pVRgTuDCuv7ICVOz/yRl7xuEhlkobLUMn0LRj+TSGDgMaf1JWx+c4dArpKH4gUsEf6JpyEQX5eTSQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(7696005)(38100700002)(30864003)(64756008)(6506007)(76116006)(82960400001)(66556008)(66446008)(71200400001)(186003)(498600001)(8676002)(66476007)(52536014)(33656002)(26005)(8936002)(83380400001)(5660300002)(110136005)(38070700005)(9686003)(122000001)(2906002)(55016003)(86362001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?N3JsRWdRK2lrR0pBSHl5SXNsQzV0OGhsOWx4eXhmVFpacEVHQUpEQ0lOMXNE?= =?utf-8?B?WElraDhBZEU4dFRUa3VBWUR5S3J2SGZJZ1dNOGhTbTluR0kveDRBUnpXTExx?= =?utf-8?B?QThBVDdhZE1OR3Btc1FvYm9ENWJpNVlPWmNlei9ZMmliWHROOXduUUtIVE1s?= =?utf-8?B?R0JMaWtWMTFKT0hnelF1eHZkU3FvRWlJa2ZZZDZydUFEZnRGTlJDTUl1Ui9X?= =?utf-8?B?aXVTb3ZlWmVWeDF0bnAvL1lyUFZ5NkJIdUpCN2daeXFwMmJwNGtYUHdDMFlj?= =?utf-8?B?WG5zV1F0b2Y1b1J1aWt5RmFmbGVkdGlVMXB3YXRtMWpybm9pckxua2FEd3ky?= =?utf-8?B?L3dCemdURUJ3MXBQOWFRMEZhYnU5Q2tpZW5vWUFJaG5zTWNUczlhZ2NWbGx6?= =?utf-8?B?dmZ0UitkTEhjWVhUR2toanNyNEkvYlFscHc3VEJFc2lhRFhVUmZxL2VRbEZT?= =?utf-8?B?QjJUNzNtQStwdUtCMy9RUTQ4SEw1a1pNZUxDZ2RYNGFrT0VUblpuK2dKNzJQ?= =?utf-8?B?S3M1UFMyTXM3b1ExT3h5dE4rd3AyTjY0MDNMN3F6cTlheWpMYkZqQUxMRzNX?= =?utf-8?B?QUNzOUJ1dnRvOWMyUllOWmsrYU5JYUFnL2NIek9IY0VlZGJraGlEUzg5V2M2?= =?utf-8?B?NlJPS1o5RTFweHNKbnNaaGtNZ0tQN1gvOVlMODAyUDVpTEVONlNaaHF5T2Z4?= =?utf-8?B?VDdCMVJwQ29saFR3aFF3d1pUUkJhWkpJMjJOUlpFTHA0bEhKVGxaNHFsYmNT?= =?utf-8?B?SDBhSE81OHVITmNQdEVrNllWQmp3bFRzRXdqRS9MU1ZidG92Nmltb2JuQjdN?= =?utf-8?B?TFZwcTVOOStMSjg5UGJXUEsrbG9Gb2JOL1JXeWZhd3pCU1g0VFdxQ3pCWTBD?= =?utf-8?B?UXlvMTdPV3VyS3Z5aHA1eW5iaEpldW9kb05jVTN2cndLREZ2Q3JKY1RXcWZR?= =?utf-8?B?RGo0WG9RcHVrN0V4amViN0Q2ZndUVmdmSjFWYVcyUVhuQy9DMUo0TytSTCtq?= =?utf-8?B?YkF4VzM0c3RHWnRlWXBJWG9nS3B2Y1NXakFCMDYxRU5mcnUzN1dqaFAvWURp?= =?utf-8?B?OStxcC9HNEhCMGVXVkx1eXYrUkpuL0FMaWFOZVBLOXhLZ1p6VWV6Z0JLenRu?= =?utf-8?B?SERHVHJBY3krZHBLU3drZTJ6cVREK2pEMDlDOFZDc3hXdHdvSE5FanVib05i?= =?utf-8?B?a1lEdEN2TDhVU3lpUnNJM1hhQk8xS0J3aHNjZnltZGxGZkI5d1BkZnlGQXdv?= =?utf-8?B?L01sUkIyS2ZsUFVOL2NqeHVESWxvVUIvYUF3eU1SeUJPNUZ5OXV3N2QwTUJk?= =?utf-8?B?cVpyZkpQcFArZ0VGUVhjU0VFcythbEFwcDhCS0hhU0JqSTh5OURvejVmTDUz?= =?utf-8?B?a0t3RVRUQzlNekduVTVnOHViTFZSYXphNXdLRGFMN2ozMm9acnh5QXRiYUJB?= =?utf-8?B?bzQ3dGhaYjJ0RHl6Q3lta3ZjdmtBejlRWVhnU2hVSGpaQ3FYcWRpZlJwUm45?= =?utf-8?B?MnNjUGZDZHZ1NWtFNVdBNURjcFJxejVEUEV5WWV6TytDVGk4Y3Zyb1BlckRr?= =?utf-8?B?MEErN1lqMzJJOS9wdUZRREt4UnNwL3E0c2ZyVzF3VWhrRmY3cDNnTklUQVYw?= =?utf-8?B?ZkxVN3B5VXhvQVdCUHVCQTlLdTZXK0QxbGZ2OVBueW92SlR4RytLRHp2ZTRw?= =?utf-8?B?UEp2Mm4zT3JuQndKSU9ZNEI4SEM1U0hQYWl5K3kxc0dLd09JY1pUQ3VEWTZI?= =?utf-8?B?cWNKbTRBYjV6UlNnTFZvRXEwNHFHTk9VcU5OeEhjQUY2QVZNK0I0WU5nV2xJ?= =?utf-8?B?cVhoVHd3eW5iNGd2bllNMjhEN1l1RXVsU3Q3Nyt4V2dFMm9WYVJPSCtlczB5?= =?utf-8?B?Q2xFQUlUZmNiamlqbEViTW82NC80RFdydWprMXFKcUpkcUZSUi96Wm45bXY1?= =?utf-8?B?ZVJCYlVDWnFRd2w5a0FlV0xGczdOTWY2QnFxYzhUSkcwa1d5Uk5oVUdKc2dp?= =?utf-8?B?MjRWKzBYOW54M081ZnI1c0JQdGcxVjVIVnAwNjFURE8vYUhRUWZQSmZ1UU0v?= =?utf-8?B?elJ6U29IT2RTVzVmL2pGNU5DQjlFc04rSEhPaEUwNml4WlV4aytPc283d204?= =?utf-8?B?V0g5eGtLdGVvVzhlL3hGbnArQzNheEFxK2QyQmw4OUNKeDFraFJJdW9UNDAz?= =?utf-8?B?bW5GL0FJMlM2S29kU1BYNXlDMUowTE1XaXV6a3pFQUN4NjlHSmw4bDZDZkZ6?= =?utf-8?B?ZFowMWZqVnVFNEV3VEdKU1lRS2hRPT0=?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: a9db418b-9eb5-4cc2-83c0-08d9bbf7d4bf X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2021 16:12:14.8241 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Bid7zBmsepsGD1nLgKzDd/ovpYQ6qAUEirqIF+GNPWLnti33qrB8ybcZxnQaH8i1bOUmasT6xIlHVC0TdoCYbknElHCjuk07I5YGmUxb49Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR10MB5099 X-TUID: Yw646auW6S2T QW50b24gTWlrYW5vdmljaCwgMTAuIERlemVtYmVyIDIwMjEgMTY6MDU6DQo+IA0KPiBUaGFua3Mg Zm9yIHYyLCBpdCBsb29rcyBtdWNoIGJldHRlciBub3cuDQo+IEJ1dCB0aGVyZSBhcmUgc3RpbGwg c29tZSBjb21tZW50cyBiZWxsb3cuDQo+IA0KPiAxMC4xMi4yMDIxIDExOjE1LCBBZHJpYWFuIFNj aG1pZHQgd3JvdGU6DQo+ID4gLSBtYWtlIHRlc3QgaW5pdGlhbGl6YXRpb24gbW9yZSBleHBsaWNp dC4NCj4gPiAgICB0ZXN0cyBub3cgY2FsbCBpbml0KCkgdG8gaW5pdGlhbGl6ZSBidWlsZF9kaXIg YW5kIGVudmlyb25tZW50LA0KPiA+ICAgIGFuZCBjb25maWd1cmUoKSB0byBnZW5lcmF0ZSB0aGUg Y29uZmlnIGZpbGUgYW5kIGJpdGJha2VfYXJncw0KPiA+IC0gb25seSBjb25maWd1cmUoKSB0b3Vj aGVzIHRoZSBjb25maWcgZmlsZS4gaWYgY29uZmlnIG5lZWRzIHRvIGNoYW5nZQ0KPiA+ICAgIGR1 cmluZyBvbmUgdGVzdCBjYXNlLCBpdCBpcyBjcmVhdGVkIGZyb20gc2NyYXRjaCAobm8gYXBwZW5k aW5nDQo+ID4gICAgYnkgdGhlIHRlc3QgY2FzZSBpdHNlbGYpLg0KPiA+IC0gYnVpbGRfZGlyIGlz IG5vdCBwYXNzZWQgdmlhIGF2b2NhZG8gcGFyYW1ldGVyLiBlYWNoIHRlc3QNCj4gPiAgICBjYW4g c2V0IGl0IGluIHRoZSBjYWxsIHRvIGluaXQoKS4gdGhpcyBtYWtlcyBkZXBlbmRlbmNpZXMNCj4g PiAgICBiZXR3ZWVuIHRlc3RzIGV4cGxpY2l0IGFuZCBwZXJtaXRzIHBhcmFsbGVsaXphdGlvbi4N Cj4gPiAtIGluIHRoZSBtYWluIGludm9jYXRpb24gc2NyaXB0LCByZW5hbWUgLS1idWlsZCB0byAt LWJhc2UuDQo+ID4gICAgd2hhdCB3ZSdyZSBzZXR0aW5nIGhlcmUgaXMgbm90IHRoZSBiaXRiYWtl IGJ1aWxkX2RpciBidXQNCj4gPiAgICB0aGUgYmFzZSBkaXIgZm9yIGF2b2NhZG8gdGVzdCBvdXRw dXQuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBBZHJpYWFuIFNjaG1pZHQgPGFkcmlhYW4uc2No bWlkdEBzaWVtZW5zLmNvbT4NCj4gPiAtLS0NCj4gPiAgIHNjcmlwdHMvY2lfYnVpbGQuc2ggICAg ICAgICAgICAgICAgfCAgMjIgKysrLS0tDQo+ID4gICB0ZXN0c3VpdGUvYnVpbGRfdGVzdC9idWls ZF90ZXN0LnB5IHwgIDM1ICsrKysrLS0tLS0NCj4gPiAgIHRlc3RzdWl0ZS9idWlsZF90ZXN0L2Np YmFzZS5weSAgICAgfCAxMDMgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgIHRl c3RzdWl0ZS9idWlsZF90ZXN0L2NpYnVpbGRlci5weSAgfCAgOTggKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tDQo+ID4gICA0IGZpbGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspLCAxMzAg ZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvc2NyaXB0cy9jaV9idWlsZC5zaCBi L3NjcmlwdHMvY2lfYnVpbGQuc2gNCj4gPiBpbmRleCBlOWJhMDM0Li4zMzllYmNhIDEwMDc1NQ0K PiA+IC0tLSBhL3NjcmlwdHMvY2lfYnVpbGQuc2gNCj4gPiArKysgYi9zY3JpcHRzL2NpX2J1aWxk LnNoDQo+ID4gQEAgLTI3LDggKzI3LDggQEAgZmkNCj4gPiAgICMgR2V0IEF2b2NhZG8gYnVpbGQg dGVzdHMgcGF0aA0KPiA+ICAgQlVJTERfVEVTVF9ESVI9IiQocHdkKS90ZXN0c3VpdGUvYnVpbGRf dGVzdCINCj4gPg0KPiA+IC0jIFN0YXJ0IGJ1aWxkIGluIElzYXIgdHJlZSBieSBkZWZhdWx0DQo+ ID4gLUJVSUxEX0RJUj0uL2J1aWxkDQo+ID4gKyMgU3RhcnQgdGVzdHMgaW4gY3VycmVudCBwYXRo IGJ5IGRlZmF1bHQNCj4gPiArQkFTRV9ESVI9Li9idWlsZA0KPiA+DQo+ID4gICAjIENoZWNrIGRl cGVuZGVuY2llcw0KPiA+ICAgREVQRU5ERU5DSUVTPSJ1bW9jaSBza29wZW8iDQo+ID4gQEAgLTQ1 LDggKzQ1LDggQEAgc2hvd19oZWxwKCkgew0KPiA+ICAgICAgIGVjaG8gIiAgICAkMCBbcGFyYW1z XSINCj4gPiAgICAgICBlY2hvDQo+ID4gICAgICAgZWNobyAiUGFyYW1ldGVyczoiDQo+ID4gLSAg ICBlY2hvICIgICAgLWIsIC0tYnVpbGQgQlVJTERfRElSICAgIHNldCBwYXRoIHRvIGJ1aWxkIGRp cmVjdG9yeS4gSWYgbm90DQo+IHNldCwiDQo+ID4gLSAgICBlY2hvICIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRoZSBidWlsZCB3aWxsIGJlIHN0YXJ0ZWQgaW4NCj4gY3VycmVudCBwYXRo LiINCj4gPiArICAgIGVjaG8gIiAgICAtYiwgLS1iYXNlIEJBU0VfRElSICAgICAgc2V0IHBhdGgg dG8gYmFzZSBkaXJlY3RvcnkuIElmIG5vdA0KPiBzZXQsIg0KPiA+ICsgICAgZWNobyAiICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0aGUgdGVzdHMgd2lsbCBiZSBzdGFydGVkIGluDQo+IGN1 cnJlbnQgcGF0aC4iDQo+ID4gICAgICAgZWNobyAiICAgIC1jLCAtLWNyb3NzICAgICAgICAgICAg ICBlbmFibGUgY3Jvc3MtY29tcGlsYXRpb24uIg0KPiA+ICAgICAgIGVjaG8gIiAgICAtZCwgLS1k ZWJ1ZyAgICAgICAgICAgICAgZW5hYmxlIGRlYnVnIGJpdGJha2Ugb3V0cHV0LiINCj4gPiAgICAg ICBlY2hvICIgICAgLWYsIC0tZmFzdCAgICAgICAgICAgICAgIGNyb3NzIGJ1aWxkIHJlZHVjZWQg c2V0IG9mDQo+IGNvbmZpZ3VyYXRpb25zLiINCj4gPiBAQCAtNzMsOCArNzMsOCBAQCBkbw0KPiA+ ICAgICAgICAgICBzaG93X2hlbHANCj4gPiAgICAgICAgICAgZXhpdCAwDQo+ID4gICAgICAgICAg IDs7DQo+ID4gLSAgICAtYnwtLWJ1aWxkKQ0KPiA+IC0gICAgICAgIEJVSUxEX0RJUj0iJDIiDQo+ ID4gKyAgICAtYnwtLWJhc2UpDQo+ID4gKyAgICAgICAgQkFTRV9ESVI9IiQyIg0KPiA+ICAgICAg ICAgICBzaGlmdA0KPiA+ICAgICAgICAgICA7Ow0KPiA+ICAgICAgIC1jfC0tY3Jvc3MpDQo+ID4g QEAgLTExNywxMCArMTE3LDEwIEBAIGZpDQo+ID4gICBta2RpciAtcCAuY29uZmlnL2F2b2NhZG8N Cj4gPiAgIGNhdCA8PEVPRiA+IC5jb25maWcvYXZvY2Fkby9hdm9jYWRvLmNvbmYNCj4gPiAgIFtk YXRhZGlyLnBhdGhzXQ0KPiA+IC1iYXNlX2RpciA9ICQocmVhbHBhdGggJEJVSUxEX0RJUikvDQo+ ID4gLXRlc3RfZGlyID0gJChyZWFscGF0aCAkQlVJTERfRElSKS90ZXN0cw0KPiA+IC1kYXRhX2Rp ciA9ICQocmVhbHBhdGggJEJVSUxEX0RJUikvZGF0YQ0KPiA+IC1sb2dzX2RpciA9ICQocmVhbHBh dGggJEJVSUxEX0RJUikvam9iLXJlc3VsdHMNCj4gPiArYmFzZV9kaXIgPSAkKHJlYWxwYXRoICRC QVNFX0RJUikvDQo+ID4gK3Rlc3RfZGlyID0gJChyZWFscGF0aCAkQkFTRV9ESVIpL3Rlc3RzDQo+ ID4gK2RhdGFfZGlyID0gJChyZWFscGF0aCAkQkFTRV9ESVIpL2RhdGENCj4gPiArbG9nc19kaXIg PSAkKHJlYWxwYXRoICRCQVNFX0RJUikvam9iLXJlc3VsdHMNCj4gPiAgIEVPRg0KPiA+ICAgZXhw b3J0IFZJUlRVQUxfRU5WPSIuLyINCj4gPg0KPiA+IEBAIC0xMjksNCArMTI5LDQgQEAgc2V0IC14 DQo+ID4NCj4gPiAgIGF2b2NhZG8gJFZFUkJPU0UgcnVuICIkQlVJTERfVEVTVF9ESVIvYnVpbGRf dGVzdC5weSIgXA0KPiA+ICAgICAgIC10ICRUQUdTIC0tdGVzdC1ydW5uZXI9cnVubmVyIC0tZGlz YWJsZS1zeXNpbmZvIFwNCj4gPiAtICAgIC1wIGJ1aWxkX2Rpcj0iJEJVSUxEX0RJUiIgLXAgcXVp ZXQ9JFFVSUVUIC1wIGNyb3NzPSRDUk9TU19CVUlMRA0KPiA+ICsgICAgLXAgcXVpZXQ9JFFVSUVU IC1wIGNyb3NzPSRDUk9TU19CVUlMRA0KPiA+IGRpZmYgLS1naXQgYS90ZXN0c3VpdGUvYnVpbGRf dGVzdC9idWlsZF90ZXN0LnB5DQo+IGIvdGVzdHN1aXRlL2J1aWxkX3Rlc3QvYnVpbGRfdGVzdC5w eQ0KPiA+IGluZGV4IGRlOWUzZmMuLjczNTkyOTUgMTAwNjQ0DQo+ID4gLS0tIGEvdGVzdHN1aXRl L2J1aWxkX3Rlc3QvYnVpbGRfdGVzdC5weQ0KPiA+ICsrKyBiL3Rlc3RzdWl0ZS9idWlsZF90ZXN0 L2J1aWxkX3Rlc3QucHkNCj4gPiBAQCAtMyw3ICszLDcgQEANCj4gPiAgIGltcG9ydCBvcw0KPiA+ DQo+ID4gICBmcm9tIGF2b2NhZG8gaW1wb3J0IHNraXBVbmxlc3MNCj4gPiAtZnJvbSBhdm9jYWRv LnV0aWxzIGltcG9ydCBwYXRoDQo+ID4gK2Zyb20gYXZvY2Fkby51dGlscyBpbXBvcnQgcGF0aCwg cHJvY2Vzcw0KPiANCj4gRG9lcyBpdCByZWFsbHkgbmVlZGVkIGhlcmU/DQoNCk5vLCB0aGF0IHdh cyBqdXN0IGxlZnQgb3ZlciBmcm9tIG1vdmluZyB0aGluZ3MgYXJvdW5kLi4uDQoNCj4gPiAgIGZy b20gY2liYXNlIGltcG9ydCBDSUJhc2VUZXN0DQo+ID4NCj4gPiAgIFVNT0NJX0FWQUlMQUJMRSA9 IFRydWUNCj4gPiBAQCAtMzAsNyArMzAsNyBAQCBjbGFzcyBSZXByb1Rlc3QoQ0lCYXNlVGVzdCk6 DQo+ID4gICAgICAgICAgICAgICAnbWM6cWVtdWFybTY0LXN0cmV0Y2g6aXNhci1pbWFnZS1iYXNl Jw0KPiA+ICAgICAgICAgICAgICAgICAgICAgXQ0KPiA+DQo+ID4gLSAgICAgICAgc2VsZi5wZXJm b3JtX3JlcHJvX3Rlc3QodGFyZ2V0cywgMSkNCj4gPiArICAgICAgICBzZWxmLnBlcmZvcm1fcmVw cm9fdGVzdCh0YXJnZXRzLCBzaWduZWQ9VHJ1ZSkNCj4gPg0KPiA+ICAgICAgIGRlZiB0ZXN0X3Jl cHJvX3Vuc2lnbmVkKHNlbGYpOg0KPiA+ICAgICAgICAgICB0YXJnZXRzID0gWw0KPiA+IEBAIC0z OCw3ICszOCw3IEBAIGNsYXNzIFJlcHJvVGVzdChDSUJhc2VUZXN0KToNCj4gPiAgICAgICAgICAg ICAgICdtYzpxZW11YXJtLXN0cmV0Y2g6aXNhci1pbWFnZS1iYXNlJw0KPiA+ICAgICAgICAgICAg ICAgICAgICAgXQ0KPiA+DQo+ID4gLSAgICAgICAgc2VsZi5wZXJmb3JtX3JlcHJvX3Rlc3QodGFy Z2V0cywgMCkNCj4gPiArICAgICAgICBzZWxmLnBlcmZvcm1fcmVwcm9fdGVzdCh0YXJnZXRzKQ0K PiA+DQo+ID4gICBjbGFzcyBDY2FjaGVUZXN0KENJQmFzZVRlc3QpOg0KPiA+DQo+ID4gQEAgLTY5 LDcgKzY5LDcgQEAgY2xhc3MgQ3Jvc3NUZXN0KENJQmFzZVRlc3QpOg0KPiA+ICAgICAgICAgICAg ICAgJ21jOnJwaS1zdHJldGNoOmlzYXItaW1hZ2UtYmFzZScNCj4gPiAgICAgICAgICAgICAgICAg ICAgIF0NCj4gPg0KPiA+IC0gICAgICAgIHNlbGYucGVyZm9ybV9idWlsZF90ZXN0KHRhcmdldHMs IDEsIE5vbmUpDQo+ID4gKyAgICAgICAgc2VsZi5wZXJmb3JtX2J1aWxkX3Rlc3QodGFyZ2V0cywg Y3Jvc3M9VHJ1ZSkNCj4gPg0KPiA+ICAgICAgIGRlZiB0ZXN0X2Nyb3NzX3VidW50dShzZWxmKToN Cj4gPiAgICAgICAgICAgdGFyZ2V0cyA9IFsNCj4gPiBAQCAtNzcsNyArNzcsNyBAQCBjbGFzcyBD cm9zc1Rlc3QoQ0lCYXNlVGVzdCk6DQo+ID4gICAgICAgICAgICAgICAgICAgICBdDQo+ID4NCj4g PiAgICAgICAgICAgdHJ5Og0KPiA+IC0gICAgICAgICAgICBzZWxmLnBlcmZvcm1fYnVpbGRfdGVz dCh0YXJnZXRzLCAxLCBOb25lKQ0KPiA+ICsgICAgICAgICAgICBzZWxmLnBlcmZvcm1fYnVpbGRf dGVzdCh0YXJnZXRzLCBjcm9zcz1UcnVlKQ0KPiA+ICAgICAgICAgICBleGNlcHQ6DQo+ID4gICAg ICAgICAgICAgICBzZWxmLmNhbmNlbCgnS0ZBSUwnKQ0KPiA+DQo+ID4gQEAgLTg3LDcgKzg3LDcg QEAgY2xhc3MgQ3Jvc3NUZXN0KENJQmFzZVRlc3QpOg0KPiA+ICAgICAgICAgICAgICAgICAgICAg XQ0KPiA+DQo+ID4gICAgICAgICAgIHRyeToNCj4gPiAtICAgICAgICAgICAgc2VsZi5wZXJmb3Jt X2J1aWxkX3Rlc3QodGFyZ2V0cywgMSwgTm9uZSkNCj4gPiArICAgICAgICAgICAgc2VsZi5wZXJm b3JtX2J1aWxkX3Rlc3QodGFyZ2V0cywgY3Jvc3M9VHJ1ZSkNCj4gPiAgICAgICAgICAgZXhjZXB0 Og0KPiA+ICAgICAgICAgICAgICAgc2VsZi5jYW5jZWwoJ0tGQUlMJykNCj4gPg0KPiA+IEBAIC0x MDEsNyArMTAxLDcgQEAgY2xhc3MgU2RrVGVzdChDSUJhc2VUZXN0KToNCj4gPiAgICAgICBkZWYg dGVzdF9zZGsoc2VsZik6DQo+ID4gICAgICAgICAgIHRhcmdldHMgPSBbJ21jOnFlbXVhcm0tc3Ry ZXRjaDppc2FyLWltYWdlLWJhc2UnXQ0KPiA+DQo+ID4gLSAgICAgICAgc2VsZi5wZXJmb3JtX2J1 aWxkX3Rlc3QodGFyZ2V0cywgMSwgJ2RvX3BvcHVsYXRlX3NkaycpDQo+ID4gKyAgICAgICAgc2Vs Zi5wZXJmb3JtX2J1aWxkX3Rlc3QodGFyZ2V0cywgYml0YmFrZV9jbWQ9J2RvX3BvcHVsYXRlX3Nk aycpDQo+ID4NCj4gPiAgIGNsYXNzIE5vQ3Jvc3NUZXN0KENJQmFzZVRlc3QpOg0KPiA+DQo+ID4g QEAgLTEzMSwxMCArMTMxLDkgQEAgY2xhc3MgTm9Dcm9zc1Rlc3QoQ0lCYXNlVGVzdCk6DQo+ID4g ICAgICAgICAgICAgICAgICAgICBdDQo+ID4NCj4gPiAgICAgICAgICAgIyBDbGVhbnVwIGFmdGVy IGNyb3NzIGJ1aWxkDQo+ID4gLSAgICAgICAgc2VsZi5kZWxldGV0bXAoc2VsZi5wYXJhbXMuZ2V0 KCdidWlsZF9kaXInLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9b3MucGF0 aC5kaXJuYW1lKF9fZmlsZV9fKSArDQo+ICcvLi4vLi4vYnVpbGQnKSkNCj4gPiAtDQo+ID4gLSAg ICAgICAgc2VsZi5wZXJmb3JtX2J1aWxkX3Rlc3QodGFyZ2V0cywgMCwgTm9uZSkNCj4gPiArICAg ICAgICBzZWxmLmluaXQoKQ0KPiANCj4gSXMgdGhhdCB0aGUgc2Vjb25kIGluaXQ/IFdoeSB3ZSBu ZWVkIGl0IGhlcmU/DQoNClRoaXMgb25lIGlzIGEgYml0IHRyaWNreS4uLiBpbml0KCkgc2V0cyB0 aGUgYnVpbGRfZGlyLCBzbyBpdCBuZWVkcyB0byBiZSBjYWxsZWQNCmJlZm9yZSBkZWxldGVfZnJv bV9idWlsZF9kaXIoKSBvciAoYmVsb3cpIGJlZm9yZSBnZXRsYXllcmRpcigpLg0KTXkgZ29hbCBp cyB0byByZW1vdmUgYWxsIHRoZSBwYXNzaW5nLWFyb3VuZCBvZiBidWlsZF9kaXIsIGJ1dCBteSBj dXJyZW50IHByb3Bvc2FsDQppcyBhbHNvIG5vdCBnb29kLCBiZWNhdXNlIGluaXQoKSBjYW4gYmUg Y2FsbGVkIG11bHRpcGxlIHRpbWVzLCBhbmQgaWYgZGlmZmVyZW50DQp2YWx1ZXMgYXJlIHBhc3Nl ZCBJIHRoaW5rIHVuZGVzaXJlZCB0aGluZ3Mgd2lsbCBoYXBwZW4uDQoNCkkgdGhpbmsgdGhlIGNs ZWFuIHNvbHV0aW9uIGlzIHRvIHJlcXVpcmUgdGhhdCBhbGwgdGVzdHMgY2FsbCBpbml0KCkgZXhw bGljaXRseS4NCkZvciBub3cgdGhhdCB3aWxsIHNlZW0gbGlrZSBkdXBsaWNhdGlvbiwgYnV0IGlm IHdlIG1vdmUgdG8gc2VwYXJhdGUgYnVpbGQgZGlycyBsYXRlcg0KKGFsc28gdG8gZW5hYmxlIHBh cmFsbGVsIGV4ZWN1dGlvbiksIEkgdGhpbmsgaXQgd2lsbCBtYWtlIHRlc3QgbXVjaCBjbGVhcmVy DQp0byB1bmRlcnN0YW5kLg0KDQpJbiBhZGRpdGlvbiwgSSdkIGFkZCBjaGVja3MgdG8gQ2lCdWls ZGVyLCB0byBlbnN1cmUgaW5pdCgpIGlzIGNhbGxlZCBleGFjdGx5IG9uY2UuDQoNCldpbGwgc2Vu ZCB2My4NCg0KQWRyaWFhbg0KDQo+ID4gKyAgICAgICAgc2VsZi5kZWxldGVfZnJvbV9idWlsZF9k aXIoJ3RtcCcpDQo+ID4gKyAgICAgICAgc2VsZi5wZXJmb3JtX2J1aWxkX3Rlc3QodGFyZ2V0cywg Y3Jvc3M9RmFsc2UpDQo+ID4NCj4gPiAgICAgICBkZWYgdGVzdF9ub2Nyb3NzX2J1bGxzZXllKHNl bGYpOg0KPiA+ICAgICAgICAgICB0YXJnZXRzID0gWw0KPiA+IEBAIC0xNDYsNyArMTQ1LDcgQEAg Y2xhc3MgTm9Dcm9zc1Rlc3QoQ0lCYXNlVGVzdCk6DQo+ID4gICAgICAgICAgICAgICAgICAgICBd DQo+ID4NCj4gPiAgICAgICAgICAgdHJ5Og0KPiA+IC0gICAgICAgICAgICBzZWxmLnBlcmZvcm1f YnVpbGRfdGVzdCh0YXJnZXRzLCAwLCBOb25lKQ0KPiA+ICsgICAgICAgICAgICBzZWxmLnBlcmZv cm1fYnVpbGRfdGVzdCh0YXJnZXRzLCBjcm9zcz1GYWxzZSkNCj4gPiAgICAgICAgICAgZXhjZXB0 Og0KPiA+ICAgICAgICAgICAgICAgc2VsZi5jYW5jZWwoJ0tGQUlMJykNCj4gPg0KPiA+IEBAIC0x NTgsMTkgKzE1NywxNiBAQCBjbGFzcyBSZWJ1aWxkVGVzdChDSUJhc2VUZXN0KToNCj4gPiAgICAg ICA6YXZvY2FkbzogdGFncz1yZWJ1aWxkLGZhc3QsZnVsbA0KPiA+ICAgICAgICIiIg0KPiA+ICAg ICAgIGRlZiB0ZXN0X3JlYnVpbGQoc2VsZik6DQo+ID4gLSAgICAgICAgaXNfY3Jvc3NfYnVpbGQg PSBpbnQoc2VsZi5wYXJhbXMuZ2V0KCdjcm9zcycsIGRlZmF1bHQ9MCkpDQo+ID4gLQ0KPiA+ICsg ICAgICAgIHNlbGYuaW5pdCgpDQo+IA0KPiBUaGUgc2FtZSBxdWVzdGlvbiBoZXJlLiBJbml0IGlz IGFscmVhZHkgZG9uZSBpbnNpZGUgcGVyZm9ybV9idWlsZF90ZXN0Lg0KPiANCj4gPiAgICAgICAg ICAgbGF5ZXJkaXJfY29yZSA9IHNlbGYuZ2V0bGF5ZXJkaXIoJ2NvcmUnKQ0KPiA+DQo+ID4gICAg ICAgICAgIGRwa2diYXNlX2ZpbGUgPSBsYXllcmRpcl9jb3JlICsgJy9jbGFzc2VzL2Rwa2ctYmFz ZS5iYmNsYXNzJw0KPiA+IC0NCj4gDQo+IFBsZWFzZSByZW1vdmUgY2hhbmdlcyB0aGF0IGp1c3Qg cmVtb3ZlIGVtcHR5IGxpbmVzLiBJdCBjYW4gYmUgY29uZnVzaW5nDQo+IGZvciB0aGUgaGlzdG9y eS4NCj4gDQo+ID4gICAgICAgICAgIHNlbGYuYmFja3VwZmlsZShkcGtnYmFzZV9maWxlKQ0KPiA+ ICAgICAgICAgICB3aXRoIG9wZW4oZHBrZ2Jhc2VfZmlsZSwgJ2EnKSBhcyBmaWxlOg0KPiA+ICAg ICAgICAgICAgICAgZmlsZS53cml0ZSgnZG9fZmV0Y2hfYXBwZW5kKCkge1xuXG59JykNCj4gPg0K PiA+ICAgICAgICAgICB0cnk6DQo+ID4gLSAgICAgICAgICAgIHNlbGYucGVyZm9ybV9idWlsZF90 ZXN0KCdtYzpxZW11YW1kNjQtc3RyZXRjaDppc2FyLWltYWdlLQ0KPiBiYXNlJywNCj4gPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfY3Jvc3NfYnVpbGQsIE5vbmUpDQo+ ID4gKyAgICAgICAgICAgIHNlbGYucGVyZm9ybV9idWlsZF90ZXN0KCdtYzpxZW11YW1kNjQtc3Ry ZXRjaDppc2FyLWltYWdlLQ0KPiBiYXNlJykNCj4gPiAgICAgICAgICAgZmluYWxseToNCj4gPiAg ICAgICAgICAgICAgIHNlbGYucmVzdG9yZWZpbGUoZHBrZ2Jhc2VfZmlsZSkNCj4gPg0KPiA+IEBA IC0xODksNiArMTg1LDcgQEAgY2xhc3MgV2ljVGVzdChDSUJhc2VUZXN0KToNCj4gPiAgICAgICAg ICAgc2VsZi5wZXJmb3JtX3dpY190ZXN0KCdtYzpxZW11YW1kNjQtc3RyZXRjaDppc2FyLWltYWdl LWJhc2UnLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2tzX3BhdGgsIHdp Y19wYXRoKQ0KPiA+DQo+ID4gKw0KPiANCj4gVGhlIHNhbWUgd2l0aCBhZGRpbmcgbmV3bGluZXMu DQo+IA0KPiA+ICAgY2xhc3MgQ29udGFpbmVySW1hZ2VUZXN0KENJQmFzZVRlc3QpOg0KPiA+DQo+ ID4gICAgICAgIiIiDQo+ID4gQEAgLTIwNCw3ICsyMDEsNyBAQCBjbGFzcyBDb250YWluZXJJbWFn ZVRlc3QoQ0lCYXNlVGVzdCk6DQo+ID4gICAgICAgICAgICAgICAnbWM6Y29udGFpbmVyLWFtZDY0 LWJ1bGxzZXllOmlzYXItaW1hZ2UtYmFzZScNCj4gPiAgICAgICAgICAgICAgICAgICAgIF0NCj4g Pg0KPiA+IC0gICAgICAgIHNlbGYucGVyZm9ybV9jb250YWluZXJfdGVzdCh0YXJnZXRzLCBOb25l KQ0KPiA+ICsgICAgICAgIHNlbGYucGVyZm9ybV9idWlsZF90ZXN0KHRhcmdldHMsIGNvbnRhaW5l cj1UcnVlKQ0KPiA+DQo+ID4gICBjbGFzcyBDb250YWluZXJTZGtUZXN0KENJQmFzZVRlc3QpOg0K PiA+DQo+ID4gQEAgLTIxNyw0ICsyMTQsNCBAQCBjbGFzcyBDb250YWluZXJTZGtUZXN0KENJQmFz ZVRlc3QpOg0KPiA+ICAgICAgIGRlZiB0ZXN0X2NvbnRhaW5lcl9zZGsoc2VsZik6DQo+ID4gICAg ICAgICAgIHRhcmdldHMgPSBbJ21jOmNvbnRhaW5lci1hbWQ2NC1zdHJldGNoOmlzYXItaW1hZ2Ut YmFzZSddDQo+ID4NCj4gPiAtICAgICAgICBzZWxmLnBlcmZvcm1fY29udGFpbmVyX3Rlc3QodGFy Z2V0cywgJ2RvX3BvcHVsYXRlX3NkaycpDQo+ID4gKyAgICAgICAgc2VsZi5wZXJmb3JtX2J1aWxk X3Rlc3QodGFyZ2V0cywgYml0YmFrZV9jbWQ9J2RvX3BvcHVsYXRlX3NkaycsDQo+IGNvbnRhaW5l cj1UcnVlKQ0KPiA+IGRpZmYgLS1naXQgYS90ZXN0c3VpdGUvYnVpbGRfdGVzdC9jaWJhc2UucHkN Cj4gYi90ZXN0c3VpdGUvYnVpbGRfdGVzdC9jaWJhc2UucHkNCj4gPiBpbmRleCAwYjA1M2FhLi45 YzA2Yzk0IDEwMDY0NA0KPiA+IC0tLSBhL3Rlc3RzdWl0ZS9idWlsZF90ZXN0L2NpYmFzZS5weQ0K PiA+ICsrKyBiL3Rlc3RzdWl0ZS9idWlsZF90ZXN0L2NpYmFzZS5weQ0KPiA+IEBAIC04LDUwICs4 LDI0IEBAIGltcG9ydCB0aW1lDQo+ID4gICBmcm9tIGNpYnVpbGRlciBpbXBvcnQgQ0lCdWlsZGVy DQo+ID4gICBmcm9tIGF2b2NhZG8udXRpbHMgaW1wb3J0IHByb2Nlc3MNCj4gPg0KPiA+IC1pc2Fy X3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pICsgJy8uLi8uLicNCj4gPg0KPiA+ICAg Y2xhc3MgQ0lCYXNlVGVzdChDSUJ1aWxkZXIpOg0KPiA+IC0NCj4gPiAtICAgIGRlZiBwcmVwKHNl bGYsIHRlc3RuYW1lLCB0YXJnZXRzLCBjcm9zcywgZGVic3JjX2NhY2hlKToNCj4gPiAtICAgICAg ICBidWlsZF9kaXIgPSBzZWxmLnBhcmFtcy5nZXQoJ2J1aWxkX2RpcicsIGRlZmF1bHQ9aXNhcl9y b290ICsNCj4gJy9idWlsZCcpDQo+ID4gLSAgICAgICAgYnVpbGRfZGlyID0gb3MucGF0aC5yZWFs cGF0aChidWlsZF9kaXIpDQo+ID4gLSAgICAgICAgcXVpZXQgPSBpbnQoc2VsZi5wYXJhbXMuZ2V0 KCdxdWlldCcsIGRlZmF1bHQ9MCkpDQo+ID4gLSAgICAgICAgYml0YmFrZV9hcmdzID0gJy12Jw0K PiA+IC0NCj4gPiAtICAgICAgICBpZiBxdWlldDoNCj4gPiAtICAgICAgICAgICAgYml0YmFrZV9h cmdzID0gJycNCj4gPiAtDQo+ID4gLQ0KPiBzZWxmLmxvZy5pbmZvKCc9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nKQ0KPiA+IC0gICAgICAgIHNlbGYu bG9nLmluZm8oJ1J1bm5pbmcgJyArIHRlc3RuYW1lICsgJyB0ZXN0IGZvcjonKQ0KPiA+IC0gICAg ICAgIHNlbGYubG9nLmluZm8odGFyZ2V0cykNCj4gPiAtICAgICAgICBzZWxmLmxvZy5pbmZvKCdJ c2FyIGJ1aWxkIGZvbGRlciBpczogJyArIGJ1aWxkX2RpcikNCj4gPiAtDQo+IHNlbGYubG9nLmlu Zm8oJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScp DQo+ID4gLQ0KPiA+IC0gICAgICAgIHNlbGYuaW5pdChidWlsZF9kaXIpDQo+ID4gLSAgICAgICAg c2VsZi5jb25mcHJlcGFyZShidWlsZF9kaXIsIDEsIGNyb3NzLCBkZWJzcmNfY2FjaGUpDQo+ID4g LQ0KPiA+IC0gICAgICAgIHJldHVybiBidWlsZF9kaXIsIGJpdGJha2VfYXJnczsNCj4gPiAtDQo+ ID4gLSAgICBkZWYgcGVyZm9ybV9idWlsZF90ZXN0KHNlbGYsIHRhcmdldHMsIGNyb3NzLCBiaXRi YWtlX2NtZCk6DQo+ID4gLSAgICAgICAgYnVpbGRfZGlyLCBiYl9hcmdzID0gc2VsZi5wcmVwKCdJ c2FyIGJ1aWxkJywgdGFyZ2V0cywgY3Jvc3MsIDEpDQo+ID4gKyAgICBkZWYgcGVyZm9ybV9idWls ZF90ZXN0KHNlbGYsIHRhcmdldHMsICoqa3dhcmdzKToNCj4gPiArICAgICAgICBzZWxmLmluaXQo Kiprd2FyZ3MpDQo+ID4gKyAgICAgICAgc2VsZi5jb25maWd1cmUoKiprd2FyZ3MpDQo+ID4NCj4g PiAgICAgICAgICAgc2VsZi5sb2cuaW5mbygnU3RhcnRpbmcgYnVpbGQuLi4nKQ0KPiA+DQo+ID4g LSAgICAgICAgc2VsZi5iaXRiYWtlKGJ1aWxkX2RpciwgdGFyZ2V0cywgYml0YmFrZV9jbWQsIGJi X2FyZ3MpDQo+ID4gLQ0KPiA+IC0gICAgZGVmIHBlcmZvcm1fcmVwcm9fdGVzdChzZWxmLCB0YXJn ZXRzLCBzaWduZWQpOg0KPiA+IC0gICAgICAgIGNyb3NzID0gaW50KHNlbGYucGFyYW1zLmdldCgn Y3Jvc3MnLCBkZWZhdWx0PTApKQ0KPiA+IC0gICAgICAgIGJ1aWxkX2RpciwgYmJfYXJncyA9IHNl bGYucHJlcCgncmVwcm8gSXNhciBidWlsZCcsIHRhcmdldHMsIGNyb3NzLA0KPiAwKQ0KPiA+ICsg ICAgICAgIHNlbGYuYml0YmFrZSh0YXJnZXRzLCAqKmt3YXJncykNCj4gPg0KPiA+ICsgICAgZGVm IHBlcmZvcm1fcmVwcm9fdGVzdChzZWxmLCB0YXJnZXRzLCBzaWduZWQ9RmFsc2UsICoqa3dhcmdz KToNCj4gPiAgICAgICAgICAgZ3BnX3B1Yl9rZXkgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18p ICsgJy8uLi9iYXNlLQ0KPiBhcHQvdGVzdF9wdWIua2V5Jw0KPiA+ICAgICAgICAgICBncGdfcHJp dl9rZXkgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pICsgJy8uLi9iYXNlLQ0KPiBhcHQvdGVz dF9wcml2LmtleScNCj4gPg0KPiA+IC0gICAgICAgIGlmIHNpZ25lZDoNCj4gPiAtICAgICAgICAg ICAgd2l0aCBvcGVuKGJ1aWxkX2RpciArICcvY29uZi9jaV9idWlsZC5jb25mJywgJ2EnKSBhcyBm aWxlOg0KPiA+IC0gICAgICAgICAgICAgICAgIyBFbmFibGUgdXNlIG9mIHNpZ25lZCBjYWNoZWQg YmFzZSByZXBvc2l0b3J5DQo+ID4gLSAgICAgICAgICAgICAgICBmaWxlLndyaXRlKCdCQVNFX1JF UE9fS0VZPSJmaWxlOi8vJyArIGdwZ19wdWJfa2V5ICsgJyJcbicpDQo+ID4gKyAgICAgICAgc2Vs Zi5pbml0KCoqa3dhcmdzKQ0KPiA+ICsgICAgICAgIHNlbGYuY29uZmlndXJlKGdwZ19wdWJfa2V5 PWdwZ19wdWJfa2V5IGlmIHNpZ25lZCBlbHNlIE5vbmUsDQo+ICoqa3dhcmdzKQ0KPiA+DQo+ID4g LSAgICAgICAgb3MuY2hkaXIoYnVpbGRfZGlyKQ0KPiA+ICsgICAgICAgIG9zLmNoZGlyKHNlbGYu YnVpbGRfZGlyKQ0KPiA+DQo+ID4gICAgICAgICAgIG9zLmVudmlyb25bJ0dOVVBHSE9NRSddID0g dGVtcGZpbGUubWtkdGVtcCgpDQo+ID4gICAgICAgICAgIHJlc3VsdCA9IHByb2Nlc3MucnVuKCdn cGcgLS1pbXBvcnQgJXMgJXMnICUgKGdwZ19wdWJfa2V5LA0KPiBncGdfcHJpdl9rZXkpKQ0KPiA+ IEBAIC01OSwzMyArMzMsMzEgQEAgY2xhc3MgQ0lCYXNlVGVzdChDSUJ1aWxkZXIpOg0KPiA+ICAg ICAgICAgICBpZiByZXN1bHQuZXhpdF9zdGF0dXM6DQo+ID4gICAgICAgICAgICAgICBzZWxmLmZh aWwoJ0dQRyBpbXBvcnQgZmFpbGVkJykNCj4gPg0KPiA+IC0gICAgICAgIHNlbGYuYml0YmFrZShi dWlsZF9kaXIsIHRhcmdldHMsIE5vbmUsIGJiX2FyZ3MpDQo+ID4gKyAgICAgICAgc2VsZi5iaXRi YWtlKHRhcmdldHMsICoqa3dhcmdzKQ0KPiA+DQo+ID4gLSAgICAgICAgc2VsZi5kZWxldGV0bXAo YnVpbGRfZGlyKQ0KPiA+IC0gICAgICAgIHdpdGggb3BlbihidWlsZF9kaXIgKyAnL2NvbmYvY2lf YnVpbGQuY29uZicsICdhJykgYXMgZmlsZToNCj4gPiAtICAgICAgICAgICAgZmlsZS53cml0ZSgn SVNBUl9VU0VfQ0FDSEVEX0JBU0VfUkVQTyA9ICIxIlxuJykNCj4gPiAtICAgICAgICAgICAgZmls ZS53cml0ZSgnQkJfTk9fTkVUV09SSyA9ICIxIlxuJykNCj4gPiArICAgICAgICBzZWxmLmRlbGV0 ZV9mcm9tX2J1aWxkX2RpcigndG1wJykNCj4gPiArICAgICAgICBzZWxmLmNvbmZpZ3VyZShncGdf cHViX2tleT1ncGdfcHViX2tleSBpZiBzaWduZWQgZWxzZSBOb25lLA0KPiBvZmZsaW5lPVRydWUs ICoqa3dhcmdzKQ0KPiA+DQo+ID4gLSAgICAgICAgc2VsZi5iaXRiYWtlKGJ1aWxkX2RpciwgdGFy Z2V0cywgTm9uZSwgYmJfYXJncykNCj4gPiArICAgICAgICBzZWxmLmJpdGJha2UodGFyZ2V0cywg Kiprd2FyZ3MpDQo+ID4NCj4gPiAgICAgICAgICAgIyBEaXNhYmxlIHVzZSBvZiBjYWNoZWQgYmFz ZSByZXBvc2l0b3J5DQo+ID4gLSAgICAgICAgc2VsZi5jb25mY2xlYW51cChidWlsZF9kaXIpDQo+ ID4gKyAgICAgICAgc2VsZi51bmNvbmZpZ3VyZSgpDQo+ID4NCj4gPiAgICAgICAgICAgaWYgbm90 IHNpZ25lZDoNCj4gPiAgICAgICAgICAgICAgICMgVHJ5IHRvIGJ1aWxkIHdpdGggY2hhbmdlZCBj b25maWd1cmF0aW9uIHdpdGggbm8gY2xlYW51cA0KPiA+IC0gICAgICAgICAgICBzZWxmLmJpdGJh a2UoYnVpbGRfZGlyLCB0YXJnZXRzLCBOb25lLCBiYl9hcmdzKQ0KPiA+ICsgICAgICAgICAgICBz ZWxmLmJpdGJha2UodGFyZ2V0cywgKiprd2FyZ3MpDQo+ID4NCj4gPiAgICAgICAgICAgIyBDbGVh bnVwDQo+ID4gLSAgICAgICAgc2VsZi5kZWxldGV0bXAoYnVpbGRfZGlyKQ0KPiA+ICsgICAgICAg IHNlbGYuZGVsZXRlX2Zyb21fYnVpbGRfZGlyKCd0bXAnKQ0KPiA+DQo+ID4gLSAgICBkZWYgcGVy Zm9ybV93aWNfdGVzdChzZWxmLCB0YXJnZXRzLCB3a3NfcGF0aCwgd2ljX3BhdGgpOg0KPiA+IC0g ICAgICAgIGNyb3NzID0gaW50KHNlbGYucGFyYW1zLmdldCgnY3Jvc3MnLCBkZWZhdWx0PTApKQ0K PiA+IC0gICAgICAgIGJ1aWxkX2RpciwgYmJfYXJncyA9IHNlbGYucHJlcCgnV0lDIGV4Y2x1ZGUg YnVpbGQnLCB0YXJnZXRzLA0KPiBjcm9zcywgMSkNCj4gPiArICAgIGRlZiBwZXJmb3JtX3dpY190 ZXN0KHNlbGYsIHRhcmdldHMsIHdrc19wYXRoLCB3aWNfcGF0aCwgKiprd2FyZ3MpOg0KPiA+ICsg ICAgICAgIHNlbGYuaW5pdCgqKmt3YXJncykNCj4gPiArICAgICAgICBzZWxmLmNvbmZpZ3VyZSgq Kmt3YXJncykNCj4gPg0KPiA+ICAgICAgICAgICBsYXllcmRpcl9pc2FyID0gc2VsZi5nZXRsYXll cmRpcignaXNhcicpDQo+ID4NCj4gPiAgICAgICAgICAgd2tzX2ZpbGUgPSBsYXllcmRpcl9pc2Fy ICsgd2tzX3BhdGgNCj4gPiAtICAgICAgICB3aWNfaW1nID0gYnVpbGRfZGlyICsgd2ljX3BhdGgN Cj4gPiArICAgICAgICB3aWNfaW1nID0gc2VsZi5idWlsZF9kaXIgKyB3aWNfcGF0aA0KPiA+DQo+ ID4gICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZSh3aWNfaW1nKToNCj4gPiAgICAgICAg ICAgICAgIHNlbGYuZmFpbCgnTm8gYnVpbGQgc3RhcnRlZCBiZWZvcmU6ICcgKyB3aWNfaW1nICsg JyBub3QNCj4gZXhpc3QnKQ0KPiA+IEBAIC05OSw0NCArNzEsMzAgQEAgY2xhc3MgQ0lCYXNlVGVz dChDSUJ1aWxkZXIpOg0KPiA+ICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6DQo+ID4g ICAgICAgICAgICAgICAgICAgZmlsZS53cml0ZShyZS5zdWIocidwYXJ0IFwvICcsICdwYXJ0IFwv IC0tZXhjbHVkZS1wYXRoDQo+IHVzciAnLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpbmUpKQ0KPiA+IC0NCj4gPiAgICAgICAgICAgdHJ5Og0KPiA+IC0gICAgICAg ICAgICBzZWxmLmJpdGJha2UoYnVpbGRfZGlyLCB0YXJnZXRzLCBOb25lLCBiYl9hcmdzKQ0KPiA+ ICsgICAgICAgICAgICBzZWxmLmJpdGJha2UodGFyZ2V0cywgKiprd2FyZ3MpDQo+ID4gICAgICAg ICAgIGZpbmFsbHk6DQo+ID4gICAgICAgICAgICAgICBzZWxmLnJlc3RvcmVmaWxlKHdrc19maWxl KQ0KPiA+IC0NCj4gPiAgICAgICAgICAgc2VsZi5yZXN0b3JlZmlsZSh3aWNfaW1nKQ0KPiA+DQo+ ID4gLSAgICBkZWYgcGVyZm9ybV9jb250YWluZXJfdGVzdChzZWxmLCB0YXJnZXRzLCBiaXRiYWtl X2NtZCk6DQo+ID4gLSAgICAgICAgY3Jvc3MgPSBpbnQoc2VsZi5wYXJhbXMuZ2V0KCdjcm9zcycs IGRlZmF1bHQ9MCkpDQo+ID4gLSAgICAgICAgYnVpbGRfZGlyLCBiYl9hcmdzID0gc2VsZi5wcmVw KCdJc2FyIENvbnRhaW5lcicsIHRhcmdldHMsIGNyb3NzLA0KPiAxKQ0KPiA+IC0NCj4gPiAtICAg ICAgICBzZWxmLmNvbnRhaW5lcnByZXAoYnVpbGRfZGlyKQ0KPiA+IC0NCj4gPiAtICAgICAgICBz ZWxmLmJpdGJha2UoYnVpbGRfZGlyLCB0YXJnZXRzLCBiaXRiYWtlX2NtZCwgYmJfYXJncykNCj4g PiAtDQo+ID4gKyAgICBkZWYgcGVyZm9ybV9jY2FjaGVfdGVzdChzZWxmLCB0YXJnZXRzLCAqKmt3 YXJncyk6DQo+ID4gKyAgICAgICAgc2VsZi5pbml0KCoqa3dhcmdzKQ0KPiA+ICsgICAgICAgIHNl bGYuY29uZmlndXJlKGNjYWNoZT1UcnVlLCAqKmt3YXJncykNCj4gPg0KPiA+IC0gICAgZGVmIHBl cmZvcm1fY2NhY2hlX3Rlc3Qoc2VsZiwgdGFyZ2V0cyk6DQo+ID4gLSAgICAgICAgYnVpbGRfZGly LCBiYl9hcmdzID0gc2VsZi5wcmVwKCdJc2FyIGNjYWNoZSBidWlsZCcsIHRhcmdldHMsIDAsIDAp DQo+ID4gLQ0KPiA+IC0gICAgICAgIHNlbGYuZGVsZXRldG1wKGJ1aWxkX2RpcikNCj4gPiAtICAg ICAgICBwcm9jZXNzLnJ1bigncm0gLXJmICcgKyBidWlsZF9kaXIgKyAnL2NjYWNoZScsIHN1ZG89 VHJ1ZSkNCj4gPiAtDQo+ID4gLSAgICAgICAgd2l0aCBvcGVuKGJ1aWxkX2RpciArICcvY29uZi9j aV9idWlsZC5jb25mJywgJ2EnKSBhcyBmaWxlOg0KPiA+IC0gICAgICAgICAgICBmaWxlLndyaXRl KCdVU0VfQ0NBQ0hFID0gIjEiXG4nKQ0KPiA+IC0gICAgICAgICAgICBmaWxlLndyaXRlKCdDQ0FD SEVfVE9QX0RJUiA9ICIke1RPUERJUn0vY2NhY2hlIicpDQo+ID4gKyAgICAgICAgc2VsZi5kZWxl dGVfZnJvbV9idWlsZF9kaXIoJ3RtcCcpDQo+ID4gKyAgICAgICAgc2VsZi5kZWxldGVfZnJvbV9i dWlsZF9kaXIoJ2NjYWNoZScpDQo+ID4NCj4gPiAgICAgICAgICAgc2VsZi5sb2cuaW5mbygnU3Rh cnRpbmcgYnVpbGQgYW5kIGZpbGxpbmcgY2NhY2hlIGRpci4uLicpDQo+ID4gICAgICAgICAgIHN0 YXJ0ID0gdGltZS50aW1lKCkNCj4gPiAtICAgICAgICBzZWxmLmJpdGJha2UoYnVpbGRfZGlyLCB0 YXJnZXRzLCBOb25lLCBiYl9hcmdzKQ0KPiA+ICsgICAgICAgIHNlbGYuYml0YmFrZSh0YXJnZXRz LCAqKmt3YXJncykNCj4gPiAgICAgICAgICAgZmlyc3RfdGltZSA9IHRpbWUudGltZSgpIC0gc3Rh cnQNCj4gPiAgICAgICAgICAgc2VsZi5sb2cuaW5mbygnTm9uLWNhY2hlZCBidWlsZDogJyArIHN0 cihyb3VuZChmaXJzdF90aW1lKSkgKw0KPiAncycpDQo+ID4NCj4gPiAtICAgICAgICBzZWxmLmRl bGV0ZXRtcChidWlsZF9kaXIpDQo+ID4gKyAgICAgICAgc2VsZi5kZWxldGVfZnJvbV9idWlsZF9k aXIoJ3RtcCcpDQo+ID4NCj4gPiAgICAgICAgICAgc2VsZi5sb2cuaW5mbygnU3RhcnRpbmcgYnVp bGQgYW5kIHVzaW5nIGNjYWNoZSBkaXIuLi4nKQ0KPiA+ICAgICAgICAgICBzdGFydCA9IHRpbWUu dGltZSgpDQo+ID4gLSAgICAgICAgc2VsZi5iaXRiYWtlKGJ1aWxkX2RpciwgdGFyZ2V0cywgTm9u ZSwgYmJfYXJncykNCj4gPiArICAgICAgICBzZWxmLmJpdGJha2UodGFyZ2V0cywgKiprd2FyZ3Mp DQo+ID4gICAgICAgICAgIHNlY29uZF90aW1lID0gdGltZS50aW1lKCkgLSBzdGFydA0KPiA+ICAg ICAgICAgICBzZWxmLmxvZy5pbmZvKCdDYWNoZWQgYnVpbGQ6ICcgKyBzdHIocm91bmQoc2Vjb25k X3RpbWUpKSArICdzJykNCj4gPg0KPiA+IEBAIC0xNDUsNSArMTAzLDYgQEAgY2xhc3MgQ0lCYXNl VGVzdChDSUJ1aWxkZXIpOg0KPiA+ICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdObyBzcGVlZHVw IGFmdGVyIHJlYnVpbGQgd2l0aCBjY2FjaGUnKQ0KPiA+DQo+ID4gICAgICAgICAgICMgQ2xlYW51 cA0KPiA+IC0gICAgICAgIHNlbGYuZGVsZXRldG1wKGJ1aWxkX2RpcikNCj4gPiAtICAgICAgICBw cm9jZXNzLnJ1bigncm0gLXJmICcgKyBidWlsZF9kaXIgKyAnL2NjYWNoZScsIHN1ZG89VHJ1ZSkN Cj4gPiArICAgICAgICBzZWxmLmRlbGV0ZV9mcm9tX2J1aWxkX2RpcigndG1wJykNCj4gPiArICAg ICAgICBzZWxmLmRlbGV0ZV9mcm9tX2J1aWxkX2RpcignY2NhY2hlJykNCj4gPiArDQo+ID4gZGlm ZiAtLWdpdCBhL3Rlc3RzdWl0ZS9idWlsZF90ZXN0L2NpYnVpbGRlci5weQ0KPiBiL3Rlc3RzdWl0 ZS9idWlsZF90ZXN0L2NpYnVpbGRlci5weQ0KPiA+IGluZGV4IDk0Nzg2YzcuLjZhOWY2YTAgMTAw NjQ0DQo+ID4gLS0tIGEvdGVzdHN1aXRlL2J1aWxkX3Rlc3QvY2lidWlsZGVyLnB5DQo+ID4gKysr IGIvdGVzdHN1aXRlL2J1aWxkX3Rlc3QvY2lidWlsZGVyLnB5DQo+ID4gQEAgLTIsNyArMiw2IEBA DQo+ID4NCj4gPiAgIGltcG9ydCBsb2dnaW5nDQo+ID4gICBpbXBvcnQgb3MNCj4gPiAtaW1wb3J0 IHJlDQo+ID4gICBpbXBvcnQgc2VsZWN0DQo+ID4gICBpbXBvcnQgc2h1dGlsDQo+ID4gICBpbXBv cnQgc3VicHJvY2Vzcw0KPiA+IEBAIC0xMSw5ICsxMCw4IEBAIGZyb20gYXZvY2FkbyBpbXBvcnQg VGVzdA0KPiA+ICAgZnJvbSBhdm9jYWRvLnV0aWxzIGltcG9ydCBwYXRoDQo+ID4gICBmcm9tIGF2 b2NhZG8udXRpbHMgaW1wb3J0IHByb2Nlc3MNCj4gPg0KPiA+IC1pc2FyX3Jvb3QgPSBvcy5wYXRo LmRpcm5hbWUoX19maWxlX18pICsgJy8uLi8uLicNCj4gPiAraXNhcl9yb290ID0gb3MucGF0aC5h YnNwYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLA0KPiAn Li4nKSkNCj4gPiAgIGJhY2t1cF9wcmVmaXggPSAnLmNpLWJhY2t1cCcNCj4gPiAtDQo+ID4gICBh cHBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoImF2b2NhZG8uYXBwIikNCj4gPg0KPiA+ICAgY2xh c3MgQ0lCdWlsZGVyKFRlc3QpOg0KPiA+IEBAIC0yOCwxNyArMjYsNTUgQEAgY2xhc3MgQ0lCdWls ZGVyKFRlc3QpOg0KPiA+ICAgICAgICAgICBzZWxmLl9maWxlX2hhbmRsZXIuc2V0Rm9ybWF0dGVy KGZvcm1hdHRlcikNCj4gPiAgICAgICAgICAgYXBwX2xvZy5hZGRIYW5kbGVyKHNlbGYuX2ZpbGVf aGFuZGxlcikNCj4gPg0KPiA+IC0gICAgZGVmIGluaXQoc2VsZiwgYnVpbGRfZGlyKToNCj4gPiAr DQo+ID4gKyAgICBkZWYgaW5pdChzZWxmLCBidWlsZF9kaXI9J2J1aWxkJywgKiprd2FyZ3MpOg0K PiA+ICsgICAgICAgICMgaW5pdGlhbGl6ZSBidWlsZF9kaXIgYW5kIHNldHVwIGVudmlyb25tZW50 DQo+ID4gKyAgICAgICAgIyBuZWVkcyB0byBydW4gb25jZSAocGVyIHRlc3QgY2FzZSkNCj4gPiAr ICAgICAgICBzZWxmLmJ1aWxkX2RpciA9IG9zLnBhdGguam9pbihpc2FyX3Jvb3QsIGJ1aWxkX2Rp cikNCj4gPiAgICAgICAgICAgb3MuY2hkaXIoaXNhcl9yb290KQ0KPiA+IC0gICAgICAgIHBhdGgu dXNhYmxlX3J3X2RpcihidWlsZF9kaXIpDQo+ID4gKyAgICAgICAgcGF0aC51c2FibGVfcndfZGly KHNlbGYuYnVpbGRfZGlyKQ0KPiA+ICAgICAgICAgICBvdXRwdXQgPSBwcm9jZXNzLmdldG91dHB1 dCgnL2Jpbi9iYXNoIC1jICJzb3VyY2UgaXNhci1pbml0LWJ1aWxkLQ0KPiBlbnYgXA0KPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlcyAyPiYxID4vZGV2L251bGw7IGVu diInICUgYnVpbGRfZGlyKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAlcyAyPiYxID4vZGV2L251bGw7IGVudiInICUNCj4gc2VsZi5idWlsZF9kaXIpDQo+ID4gICAg ICAgICAgIGVudiA9IGRpY3QoKCh4LnNwbGl0KCc9JywgMSkgKyBbJyddKVs6Ml0gXA0KPiA+ICAg ICAgICAgICAgICAgICAgICAgICBmb3IgeCBpbiBvdXRwdXQuc3BsaXRsaW5lcygpIGlmIHggIT0g JycpKQ0KPiA+ICAgICAgICAgICBvcy5lbnZpcm9uLnVwZGF0ZShlbnYpDQo+ID4NCj4gPiAtICAg IGRlZiBjb25mcHJlcGFyZShzZWxmLCBidWlsZF9kaXIsIGNvbXBhdF9hcmNoLCBjcm9zcywgZGVi c3JjX2NhY2hlKToNCj4gPiAtICAgICAgICB3aXRoIG9wZW4oYnVpbGRfZGlyICsgJy9jb25mL2Np X2J1aWxkLmNvbmYnLCAndycpIGFzIGY6DQo+ID4gKw0KPiA+ICsgICAgZGVmIGNvbmZpZ3VyZShz ZWxmLCBjb21wYXRfYXJjaD1UcnVlLCBjcm9zcz1Ob25lLCBkZWJzcmNfY2FjaGU9VHJ1ZSwNCj4g PiArICAgICAgICAgICAgICAgICAgY29udGFpbmVyPUZhbHNlLCBjY2FjaGU9RmFsc2UsIHNzdGF0 ZT1GYWxzZSwNCj4gb2ZmbGluZT1GYWxzZSwNCj4gPiArICAgICAgICAgICAgICAgICAgZ3BnX3B1 Yl9rZXk9Tm9uZSwgKiprd2FyZ3MpOg0KPiA+ICsgICAgICAgICMgd3JpdGUgY29uZmlndXJhdGlv biBmaWxlIGFuZCBzZXQgYml0YmFrZV9hcmdzDQo+ID4gKyAgICAgICAgIyBjYW4gcnVuIG11bHRp cGxlIHRpbWVzIHBlciB0ZXN0IGNhc2UNCj4gPiArDQo+ID4gKyAgICAgICAgIyBnZXQgcGFyYW1l dGVycyBmcm9tIGF2b2NhZG8gY21kbGluZQ0KPiA+ICsgICAgICAgIHF1aWV0ID0gYm9vbChpbnQo c2VsZi5wYXJhbXMuZ2V0KCdxdWlldCcsIGRlZmF1bHQ9MCkpKQ0KPiA+ICsgICAgICAgIGlmIGNy b3NzIGlzIE5vbmU6DQo+ID4gKyAgICAgICAgICAgIGNyb3NzID0gYm9vbChpbnQoc2VsZi5wYXJh bXMuZ2V0KCdjcm9zcycsIGRlZmF1bHQ9MCkpKQ0KPiA+ICsNCj4gPiArICAgICAgICAjIGdldCBw YXJhbWV0ZXJzIGZyb20gZW52aXJvbm1lbnQNCj4gPiArICAgICAgICBkaXN0cm9fYXB0X3ByZW1p ciA9IG9zLmdldGVudignRElTVFJPX0FQVF9QUkVNSVJST1JTJykNCj4gPiArDQo+ID4gKw0KPiBz ZWxmLmxvZy5pbmZvKGYnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09XG4nDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICBmJ0NvbmZpZ3VyaW5nIGJ1 aWxkX2RpciB7c2VsZi5idWlsZF9kaXJ9XG4nDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICBm JyAgY29tcGF0X2FyY2ggPSB7Y29tcGF0X2FyY2h9XG4nDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICBmJyAgY3Jvc3MgPSB7Y3Jvc3N9XG4nDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICBm JyAgZGVic3JjX2NhY2hlID0ge2RlYnNyY19jYWNoZX1cbicNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgIGYnICBvZmZsaW5lID0ge29mZmxpbmV9XG4nDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICBmJyAgY29udGFpbmVyID0ge2NvbnRhaW5lcn1cbicNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgIGYnICBjY2FjaGUgPSB7Y2NhY2hlfVxuJw0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgZicgIHNzdGF0ZSA9IHtzc3RhdGV9XG4nDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICBm JyAgZ3BnX3B1Yl9rZXkgPSB7Z3BnX3B1Yl9rZXl9XG4nDQo+ID4gKw0KPiBmJz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScpDQo+ID4gKw0KPiA+ICsg ICAgICAgICMgZGV0ZXJtaW5lIGJpdGJha2VfYXJncw0KPiA+ICsgICAgICAgIHNlbGYuYml0YmFr ZV9hcmdzID0gW10NCj4gPiArICAgICAgICBpZiBub3QgcXVpZXQ6DQo+ID4gKyAgICAgICAgICAg IHNlbGYuYml0YmFrZV9hcmdzLmFwcGVuZCgnLXYnKQ0KPiA+ICsgICAgICAgIGlmIG5vdCBzc3Rh dGU6DQo+ID4gKyAgICAgICAgICAgIHNlbGYuYml0YmFrZV9hcmdzLmFwcGVuZCgnLS1uby1zZXRz Y2VuZScpDQo+ID4gKw0KPiA+ICsgICAgICAgICMgd3JpdGUgY2lfYnVpbGQuY29uZg0KPiA+ICsg ICAgICAgIHdpdGggb3BlbihzZWxmLmJ1aWxkX2RpciArICcvY29uZi9jaV9idWlsZC5jb25mJywg J3cnKSBhcyBmOg0KPiA+ICAgICAgICAgICAgICAgaWYgY29tcGF0X2FyY2g6DQo+ID4gICAgICAg ICAgICAgICAgICAgZi53cml0ZSgnSVNBUl9FTkFCTEVfQ09NUEFUX0FSQ0hfYW1kNjQgPSAiMSJc bicpDQo+ID4gICAgICAgICAgICAgICAgICAgZi53cml0ZSgnSVNBUl9FTkFCTEVfQ09NUEFUX0FS Q0hfYXJtNjQgPSAiMSJcbicpDQo+ID4gQEAgLTQ4LDM2ICs4NCw0MiBAQCBjbGFzcyBDSUJ1aWxk ZXIoVGVzdCk6DQo+ID4gICAgICAgICAgICAgICAgICAgZi53cml0ZSgnSVNBUl9DUk9TU19DT01Q SUxFID0gIjEiXG4nKQ0KPiA+ICAgICAgICAgICAgICAgaWYgZGVic3JjX2NhY2hlOg0KPiA+ICAg ICAgICAgICAgICAgICAgIGYud3JpdGUoJ0JBU0VfUkVQT19GRUFUVVJFUyA9ICJjYWNoZS1kZWIt c3JjIlxuJykNCj4gPiAtICAgICAgICAgICAgZGlzdHJvX2FwdF9wcmVtaXIgPSBvcy5nZXRlbnYo J0RJU1RST19BUFRfUFJFTUlSUk9SUycpDQo+ID4gKyAgICAgICAgICAgIGlmIG9mZmxpbmU6DQo+ ID4gKyAgICAgICAgICAgICAgICBmLndyaXRlKCdJU0FSX1VTRV9DQUNIRURfQkFTRV9SRVBPID0g IjEiXG4nKQ0KPiA+ICsgICAgICAgICAgICAgICAgZi53cml0ZSgnQkJfTk9fTkVUV09SSyA9ICIx IlxuJykNCj4gPiArICAgICAgICAgICAgaWYgY29udGFpbmVyOg0KPiA+ICsgICAgICAgICAgICAg ICAgZi53cml0ZSgnU0RLX0ZPUk1BVFMgPSAiZG9ja2VyLWFyY2hpdmUiXG4nKQ0KPiA+ICsgICAg ICAgICAgICAgICAgZi53cml0ZSgnSU1BR0VfSU5TVEFMTF9yZW1vdmUgPSAiZXhhbXBsZS1tb2R1 bGUtDQo+ICR7S0VSTkVMX05BTUV9IGVuYWJsZS1mc2NrIlxuJykNCj4gPiArICAgICAgICAgICAg aWYgZ3BnX3B1Yl9rZXk6DQo+ID4gKyAgICAgICAgICAgICAgICBmLndyaXRlKCdCQVNFX1JFUE9f S0VZPSJmaWxlOi8vJyArIGdwZ19wdWJfa2V5ICsgJyJcbicpDQo+ID4gICAgICAgICAgICAgICBp ZiBkaXN0cm9fYXB0X3ByZW1pcjoNCj4gPiAgICAgICAgICAgICAgICAgICBmLndyaXRlKCdESVNU Uk9fQVBUX1BSRU1JUlJPUlMgPSAiJXMiXG4nICUNCj4gZGlzdHJvX2FwdF9wcmVtaXIpDQo+ID4N Cj4gPiAtICAgICAgICB3aXRoIG9wZW4oYnVpbGRfZGlyICsgJy9jb25mL2xvY2FsLmNvbmYnLCAn cisnKSBhcyBmOg0KPiA+ICsgICAgICAgICMgaW5jbHVkZSBjaV9idWlsZC5jb25mIGluIGxvY2Fs LmNvbmYNCj4gPiArICAgICAgICB3aXRoIG9wZW4oc2VsZi5idWlsZF9kaXIgKyAnL2NvbmYvbG9j YWwuY29uZicsICdyKycpIGFzIGY6DQo+ID4gICAgICAgICAgICAgICBmb3IgbGluZSBpbiBmOg0K PiA+ICAgICAgICAgICAgICAgICAgIGlmICdpbmNsdWRlIGNpX2J1aWxkLmNvbmYnIGluIGxpbmU6 DQo+ID4gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrDQo+ID4gICAgICAgICAgICAgICBlbHNl Og0KPiA+ICAgICAgICAgICAgICAgICAgIGYud3JpdGUoJ1xuaW5jbHVkZSBjaV9idWlsZC5jb25m JykNCj4gPg0KPiA+IC0gICAgZGVmIGNvbnRhaW5lcnByZXAoc2VsZiwgYnVpbGRfZGlyKToNCj4g PiAtICAgICAgICB3aXRoIG9wZW4oYnVpbGRfZGlyICsgJy9jb25mL2NpX2J1aWxkLmNvbmYnLCAn YScpIGFzIGY6DQo+ID4gLSAgICAgICAgICAgIGYud3JpdGUoJ1NES19GT1JNQVRTID0gImRvY2tl ci1hcmNoaXZlIlxuJykNCj4gPiAtICAgICAgICAgICAgZi53cml0ZSgnSU1BR0VfSU5TVEFMTF9y ZW1vdmUgPSAiZXhhbXBsZS1tb2R1bGUtJHtLRVJORUxfTkFNRX0NCj4gZW5hYmxlLWZzY2siXG4n KQ0KPiA+IC0NCj4gPiAtICAgIGRlZiBjb25mY2xlYW51cChzZWxmLCBidWlsZF9kaXIpOg0KPiA+ IC0gICAgICAgIG9wZW4oYnVpbGRfZGlyICsgJy9jb25mL2NpX2J1aWxkLmNvbmYnLCAndycpLmNs b3NlKCkNCj4gPiArICAgIGRlZiB1bmNvbmZpZ3VyZShzZWxmKToNCj4gPiArICAgICAgICBvcGVu KHNlbGYuYnVpbGRfZGlyICsgJy9jb25mL2NpX2J1aWxkLmNvbmYnLCAndycpLmNsb3NlKCkNCj4g Pg0KPiA+IC0gICAgZGVmIGRlbGV0ZXRtcChzZWxmLCBidWlsZF9kaXIpOg0KPiA+IC0gICAgICAg IHByb2Nlc3MucnVuKCdybSAtcmYgJyArIGJ1aWxkX2RpciArICcvdG1wJywgc3Vkbz1UcnVlKQ0K PiA+ICsgICAgZGVmIGRlbGV0ZV9mcm9tX2J1aWxkX2RpcihzZWxmLCBwYXRoKToNCj4gPiArICAg ICAgICBwcm9jZXNzLnJ1bigncm0gLXJmICcgKyBzZWxmLmJ1aWxkX2RpciArICcvJyArIHBhdGgs IHN1ZG89VHJ1ZSkNCj4gPg0KPiA+IC0gICAgZGVmIGJpdGJha2Uoc2VsZiwgYnVpbGRfZGlyLCB0 YXJnZXQsIGNtZCwgYXJncyk6DQo+ID4gLSAgICAgICAgb3MuY2hkaXIoYnVpbGRfZGlyKQ0KPiA+ ICsgICAgZGVmIGJpdGJha2Uoc2VsZiwgdGFyZ2V0LCBiaXRiYWtlX2NtZD1Ob25lLCAqKmt3YXJn cyk6DQo+ID4gKw0KPiBzZWxmLmxvZy5pbmZvKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0nKQ0KPiA+ICsgICAgICAgIHNlbGYubG9nLmluZm8oJ0J1 aWxkaW5nICcgKyBzdHIodGFyZ2V0KSkNCj4gPiArDQo+IHNlbGYubG9nLmluZm8oJz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScpDQo+ID4gKyAgICAg ICAgb3MuY2hkaXIoc2VsZi5idWlsZF9kaXIpDQo+ID4gICAgICAgICAgIGNtZGxpbmUgPSBbJ2Jp dGJha2UnXQ0KPiA+IC0gICAgICAgIGlmIGFyZ3M6DQo+ID4gLSAgICAgICAgICAgIGNtZGxpbmUu YXBwZW5kKGFyZ3MpDQo+ID4gLSAgICAgICAgaWYgY21kOg0KPiA+ICsgICAgICAgIGlmIHNlbGYu Yml0YmFrZV9hcmdzOg0KPiA+ICsgICAgICAgICAgICBjbWRsaW5lLmV4dGVuZChzZWxmLmJpdGJh a2VfYXJncykNCj4gPiArICAgICAgICBpZiBiaXRiYWtlX2NtZDoNCj4gPiAgICAgICAgICAgICAg IGNtZGxpbmUuYXBwZW5kKCctYycpDQo+ID4gLSAgICAgICAgICAgIGNtZGxpbmUuYXBwZW5kKGNt ZCkNCj4gPiArICAgICAgICAgICAgY21kbGluZS5hcHBlbmQoYml0YmFrZV9jbWQpDQo+ID4gICAg ICAgICAgIGlmIGlzaW5zdGFuY2UodGFyZ2V0LCBsaXN0KToNCj4gPiAgICAgICAgICAgICAgIGNt ZGxpbmUuZXh0ZW5kKHRhcmdldCkNCj4gPiAgICAgICAgICAgZWxzZToNCj4gPiBAQCAtMTI0LDkg KzE2Niw5IEBAIGNsYXNzIENJQnVpbGRlcihUZXN0KToNCj4gPiAgICAgICAgICAgdHJ5Og0KPiA+ ICAgICAgICAgICAgICAgcGF0aC5maW5kX2NvbW1hbmQoJ2JpdGJha2UnKQ0KPiA+ICAgICAgICAg ICBleGNlcHQgcGF0aC5DbWROb3RGb3VuZEVycm9yOg0KPiA+IC0gICAgICAgICAgICBidWlsZF9k aXIgPSBzZWxmLnBhcmFtcy5nZXQoJ2J1aWxkX2RpcicsDQo+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PWlzYXJfcm9vdCArICcvYnVpbGQnKQ0KPiA+ IC0gICAgICAgICAgICBzZWxmLmluaXQoYnVpbGRfZGlyKQ0KPiA+ICsgICAgICAgICAgICBzZWxm LmxvZy5lcnJvcigiQnJva2VuIHRlc3QgaW1wbGVtZW50YXRpb246IG11c3QgY2FsbCBpbml0KCkN Cj4gYmVmb3JlICINCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzaW5nIGdldGxh eWVyZGlyKCkhIikNCj4gPiArICAgICAgICAgICAgcmFpc2UNCj4gPiAgICAgICAgICAgb3V0cHV0 ID0gcHJvY2Vzcy5nZXRvdXRwdXQoJ2JpdGJha2UgLWUgfCBncmVwICJeTEFZRVJESVJfLio9Iicp DQo+ID4gICAgICAgICAgIGVudiA9IGRpY3QoKCh4LnNwbGl0KCc9JywgMSkgKyBbJyddKVs6Ml0g XA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICBmb3IgeCBpbiBvdXRwdXQuc3BsaXRsaW5lcygp IGlmIHggIT0gJycpKQ0KPiANCj4gLS0NCj4gQW50b24gTWlrYW5vdmljaA0KPiBQcm9td2FkIEx0 ZC4NCj4gRXh0ZXJuYWwgc2VydmljZSBwcm92aWRlciBvZiBpbGJlcnMgR21iSA0KPiBNYXJpYS1N ZXJpYW4tU3RyLiA4DQo+IDg1NTIxIE90dG9icnVubiwgR2VybWFueQ0KPiArNDkgKDg5KSAxMjIg NjcgMjQtMA0KPiBDb21tZXJjaWFsIHJlZ2lzdGVyIE11bmljaCwgSFJCIDIxNDE5Nw0KPiBHZW5l cmFsIE1hbmFnZXI6IEJhdXJ6aGFuIElzbWFndWxvdg0KDQo=