From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id BBE6FA0C47;
	Tue, 12 Oct 2021 09:17:11 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 8459840142;
	Tue, 12 Oct 2021 09:17:11 +0200 (CEST)
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24])
 by mails.dpdk.org (Postfix) with ESMTP id DDDD94003C
 for <dev@dpdk.org>; Tue, 12 Oct 2021 09:17:09 +0200 (CEST)
X-IronPort-AV: E=McAfee;i="6200,9189,10134"; a="226963191"
X-IronPort-AV: E=Sophos;i="5.85,367,1624345200"; d="scan'208";a="226963191"
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 12 Oct 2021 00:17:07 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.85,367,1624345200"; d="scan'208";a="480207488"
Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14])
 by orsmga007.jf.intel.com with ESMTP; 12 Oct 2021 00:17:07 -0700
Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by
 ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.12; Tue, 12 Oct 2021 00:17:07 -0700
Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by
 ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.12; Tue, 12 Oct 2021 00:17:06 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
 orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.12 via Frontend Transport; Tue, 12 Oct 2021 00:17:06 -0700
Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.43) by
 edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2242.12; Tue, 12 Oct 2021 00:17:05 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C7qLZHAhVyUxleRQ1jobiCX9IHsAsSWDprqjVgvGjk3ih13PASqiPbZI4IVV0XoBg7QQWtUwLbP81EXM3vpTY5DxFpSoNkjaTYHdGbugOVW/Lk4/GOSieqUQBHcOc1w4Yvy4Ko59zLBemTNlb4xNVNE9J0GsZFPDoLjkUfP31NrVXTipZ41CLMxsNQRBBVmmuy+ORAzS+xq1O0+jz+d6a8d1Bd4KJf2lpWeqGnCZW2nrnjuizvjlAtCmbzVAnvf7gUSmQUYUi553FMofskseEYcnvuUtTs9HpmMfJXzT+yiIT9vCc/iVrRoZqeDkUl+hExqnbcv5UTwE/vdkNLh3kA==
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=WtGanX+cu6a3rmiT48AeHXeH1s2GzDcwtmKILoBTzrI=;
 b=TtleADaH5W+9usaoY4oGGK6nqG8RBkubLYmCtas32XfRXTrvC8HluRmxBpBzXXEC/z+nkxsiiqUle0F+De0yLCs/EejZcoWn/SjOG+iwRk5/lmRqXCLacZqCc0h1hmThwhOIpsZwb9+rCVOIPCyJNWXqaC4MGegHTHn2u0B6LvAxLOoKR9cgn83MmXZk/vPQhHRwiN19OsgLqFQGv7as2Ns6dqfheKddQtuy9Uo4FxMytficeixpMC/OY+7GX9i69rzRmF0BH4MSBcUnyFCsNMgKGBti6po52AtfJcR9efqpAHVrU/OAP61XNYiUAU4nh4z67gHe4ebsbbTRGBV31g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; 
 s=selector2-intel-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WtGanX+cu6a3rmiT48AeHXeH1s2GzDcwtmKILoBTzrI=;
 b=qhsYaCrx0sSAMvyt6kNrE7xjOovLwbinW2yyPCLVvNXQjCAMoRC+Ewxf5Gjv8TmNyX5Lve/OcTre7RYf4ZXNzCKbFRSKgB9avwxPZPjIhqvfU/LY8qcUYsVr+LS2SAvrG+GtbErVTfG4YEmo6S/eGij3HjOvBhNhUAAhMgLsZ5Q=
Received: from DM8PR11MB5591.namprd11.prod.outlook.com (2603:10b6:8:38::23) by
 DM8PR11MB5608.namprd11.prod.outlook.com (2603:10b6:8:35::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4608.14; Tue, 12 Oct 2021 07:17:02 +0000
Received: from DM8PR11MB5591.namprd11.prod.outlook.com
 ([fe80::3d47:b590:aa2a:d5cc]) by DM8PR11MB5591.namprd11.prod.outlook.com
 ([fe80::3d47:b590:aa2a:d5cc%9]) with mapi id 15.20.4587.026; Tue, 12 Oct 2021
 07:17:02 +0000
From: "Peng, ZhihongX" <zhihongx.peng@intel.com>
To: David Marchand <david.marchand@redhat.com>, "Richardson, Bruce"
 <bruce.richardson@intel.com>
CC: "Burakov, Anatoly" <anatoly.burakov@intel.com>, "Ananyev, Konstantin"
 <konstantin.ananyev@intel.com>, Stephen Hemminger
 <stephen@networkplumber.org>, dev <dev@dpdk.org>, "Lin, Xueqin"
 <xueqin.lin@intel.com>, Thomas Monjalon <thomas@monjalon.net>
Thread-Topic: [dpdk-dev] [PATCH v6 1/2] Enable ASan for memory detector on DPDK
Thread-Index: AQHXtb0yUlb9uW6iB0uZ+PLmDLP2Qau8PHEAgBLHeaA=
Date: Tue, 12 Oct 2021 07:17:02 +0000
Message-ID: <DM8PR11MB5591413E185E317AAFBA8EDDF0B69@DM8PR11MB5591.namprd11.prod.outlook.com>
References: <20210924100310.4278-1-zhihongx.peng@intel.com>
 <20210930052724.195414-1-zhihongx.peng@intel.com>
 <CAJFAV8yzYJtwpnx+jsaB+X7q7POT86uKC3RS-FB9t7p=kTyGDw@mail.gmail.com>
In-Reply-To: <CAJFAV8yzYJtwpnx+jsaB+X7q7POT86uKC3RS-FB9t7p=kTyGDw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: redhat.com; dkim=none (message not signed)
 header.d=none;redhat.com; dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2f193f27-59cc-46e7-c2cc-08d98d5049ea
x-ms-traffictypediagnostic: DM8PR11MB5608:
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <DM8PR11MB56087A434C838DDA752C6DECF0B69@DM8PR11MB5608.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: N1pUlZZzN4KwZly2xltYGFAuSHEHxkqtM7+9tH62LxeC5dFj7Cq2Ly9K39M6KMg6kAVOaLHpu+nNEVzfZFyxQdHUWMvvNleIbA0ezWUPzCXJGF2iK9JJPR4RSHc9B05aKFMZott0qHzouQFvQPQPKEFnPXYdB2xEq4F/t8Ps0J0mwCl3F30hRBeZMCgzE4gbORan3uOqwya1D3DQ22h6AreRL9ekso7DODEwAEwONMZhOiUSwc/4xRIUsD99jLlugDr8RPLbwEA5RBewi7NtSr9iVo2i/L6OGaQOc1LpQEdjjvFR9UUBHMXF5NyLDzcIfTlrFFPdHVJnXxY4wClq6eeAoarkHKBYxpar0bU24l3uSTeXR5ga6/rJwtNU56UZMH5w/sgT9EEGbMgTVWbmva3X08xUTimrFP1oQD2VoquUpYk5rIVuDMotsP/tXS1V9QlVEnyHUrBXC4bW2rR8KtLW28t9KKXXhrn6ssYUrlu77XFaLS2zhY9ekHEArrrizmfLMGbX73n1EfBALpnmYsa/wBPm8ZUCj/S9VZXLVGSmJjn5ZPYz7TtcBSTES7GrSrN0juHJAgJ77Cc/ByomLLtb/LWv+fBAtOuk2seZV+a/y30zxjf6u5F+JhU3AdOwUZ2BMfcH2myJmtNAz5y85VY9fFP/nzaUCvJchM5qjrhfqsD64mxJRnD6Jn/NC9LZKhHfPdoiKf6EkDNQ7fQJ/LNJepUPD64gtYqgRK2qB3xfWGFwYK7XANTOR8ejVnwYXgm+AYbwdXOLqfshmnuY37epHDk42JByZJrQdvMjW6JwwOaPvxbiXxMQ6zFR8pmaqnbM1ufy30IM91WN3YBhRA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DM8PR11MB5591.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(366004)(71200400001)(110136005)(186003)(2906002)(122000001)(26005)(316002)(54906003)(38100700002)(52536014)(6636002)(66946007)(76116006)(86362001)(66476007)(4326008)(55016002)(508600001)(9686003)(66556008)(64756008)(66446008)(5660300002)(33656002)(53546011)(8676002)(6506007)(83380400001)(38070700005)(7696005)(8936002);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YzdySGZUNmdnWngzdThJWXpnQWdJK2U1N3VxTjNtMjJqWDZaaU43ZjNlYmgz?=
 =?utf-8?B?VW1yc3BGeGMxQXNaRlpxNGNmdjJaWDNESFRvNzRvM3JwcnBhYngxTHN3S3px?=
 =?utf-8?B?VVB4SXN1N0dnVTR2bVJmdmxaQkswQU50TDdUbFQ3WXZSdkxqUWdWODN6dUIz?=
 =?utf-8?B?Q2YxZ3A0bVJzSUdNQ3F6SFkyUGlXWUJoaGZzU2xSOGxwRlNudXVTRE9mY2Zm?=
 =?utf-8?B?OVllQW43SmZyYXUxTEpSano0QzdSTkRCWC9tUkRpcTNreEtSY1FhOS9XUi9P?=
 =?utf-8?B?WDVWS2x6bHlTNVFNUjRJb0cxTXJMWDFaM2VrM0s4cHljQ1Vxdll1dUZNV1JM?=
 =?utf-8?B?ZkhMRUhQbzBHR21talBuT2RVeTNvbko3RzIxWkVlbUtjOW1uWHZIdU1XZWti?=
 =?utf-8?B?eldHUkVodStocysvY241Z3plblZVTU13QkN3cXI1dTVaZVBGOUE5Z09hdFUy?=
 =?utf-8?B?WDdONC9KTE5HYldPejNnNUtEYVN3WjIwSVYxRWF3cCtnbnRJbFNRRUQxd01G?=
 =?utf-8?B?U2VpeWZvblk0dTRJR01aOXhKTEJSNG91UEJXaG1hY2FlK05uVXFNSmlrbTlR?=
 =?utf-8?B?OUJ3NDFLaVJRWGN5TFNMbXBYMUJZMkM4aDZDb0pOTTh4OTcrbUEzQkJYbldX?=
 =?utf-8?B?QmlxRlFYV2JYWjF5RE1oTzhVMDkwZWJkOUh2SUx2bnRqTWMzcml2anMvRkdu?=
 =?utf-8?B?OVF0US94czVMWlRJdWJjV010UlRES2VlN0d2Q01vNTNSSFU4K2g0TW4wL3Ja?=
 =?utf-8?B?Q0F3bVQxQk5GUHRMajFKbE5jcmZTVjRkMzY3NzVXVEM3ekhLN1JFbUFQeVdZ?=
 =?utf-8?B?dUVtdSs0YzczdTE1RXllZ0hMWUVvMm5MQ21pTEppVERlZDBaTWFNdTEyUjU4?=
 =?utf-8?B?RzljV0NsVmlFdGMyWXNKalAvVko0dDJ5QWRZRlluZkh3WXVEQ1QyTHdZSjFQ?=
 =?utf-8?B?M2NaVllkY3hCZnhGK0cxNmpvVys3dVVFcjNOekxieTY1dnZFTmc0VlMrVUlQ?=
 =?utf-8?B?blg1dE9waWU0ZnNEWTYyazVIZXJaMFhDRCt4ZUNTRkZ4alNEanRhTFEvZ0Rh?=
 =?utf-8?B?TGV3NmdKcFlyTEpvaStjL0NaSVFKRjQ4VEw0eEVpMHlERml2d280MFJ0SzVB?=
 =?utf-8?B?Ykl2YWt2VlhxdUg1amROYmc1bHFnMWFTdlRQdW4rbG5EQUNpY2pkZmNYWGdF?=
 =?utf-8?B?WE1tQ1ZXMHN1Vm5SY2syOXFyOGNEYzJOUlB0OUdCaXlQZ3NVVTlibVBBWTR3?=
 =?utf-8?B?UDQ3TWRtU3FlMVFkNmE2VDFzSEFCSG56eVVTQnJ3OXQvQWpXcjZ0Vi9KS0g0?=
 =?utf-8?B?dHFtZkRrVjFscFBxa0I0d1dJNTJFamczU2l1YXdDU2YyRkhnVkQ0ZHNOeEdP?=
 =?utf-8?B?WVQxU1RFaDhFQUlEd2daMHZHVit4a2MwQ2puakFGM1FZV2RQS2lTNUl2OGlm?=
 =?utf-8?B?cjkzQUN6c2hpeEp6N1JLdExCcTV3N0VHNkh2Z0I0WUJ1d3h5Q25HbHlIQ1VF?=
 =?utf-8?B?UU9WeWdzazJzbEZieUZvNXQ3K0s3ZjFMTENDUndLZ0hZejcwanJyL0RSUVJz?=
 =?utf-8?B?bllNQW5lQkJDbGR1NFplamZLMTdjbDJVeCtpeW53VlNocnFLN1ZDT3IyVVZr?=
 =?utf-8?B?YUUwVDdOSGFoc2RYSU56RHUrY1pKbWtvNlRvUzd0NVJ3NVljbzNCS0IzblBh?=
 =?utf-8?B?aVlWTnRvbUo0V2svbk1jM2s4azFZMnV5R0RIZ3VKcm1GNU5zMTgwRjRvcVJz?=
 =?utf-8?Q?/sS0GaGfq1bfHxN8JE=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5591.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f193f27-59cc-46e7-c2cc-08d98d5049ea
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2021 07:17:02.4696 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: hae3fE0jTDEyaJEl9//AvDDdqp7TdwoxbZY777tHkVH8wg4KLUF8QuUx0d5nLpI08ropDtR5zpiZrAKSYc7pbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR11MB5608
X-OriginatorOrg: intel.com
Subject: Re: [dpdk-dev] [PATCH v6 1/2] Enable ASan for memory detector on
 DPDK
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEYXZpZCBNYXJjaGFuZCA8ZGF2
aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4NCj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAzMCwg
MjAyMSA0OjIwIFBNDQo+IFRvOiBQZW5nLCBaaGlob25nWCA8WmhpaG9uZ1guUGVuZ0BpbnRlbC5j
b20+OyBSaWNoYXJkc29uLCBCcnVjZQ0KPiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+DQo+
IENjOiBCdXJha292LCBBbmF0b2x5IDxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPjsgQW5hbnll
diwgS29uc3RhbnRpbg0KPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47IFN0ZXBoZW4g
SGVtbWluZ2VyDQo+IDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz47IGRldiA8ZGV2QGRwZGsu
b3JnPjsgTGluLCBYdWVxaW4NCj4gPHh1ZXFpbi5saW5AaW50ZWwuY29tPjsgVGhvbWFzIE1vbmph
bG9uIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFU
Q0ggdjYgMS8yXSBFbmFibGUgQVNhbiBmb3IgbWVtb3J5IGRldGVjdG9yIG9uDQo+IERQREsNCj4g
DQo+IEhlbGxvLA0KPiANCj4gSSBzZWUgdjYgaXMgc3VwZXJzZWRlZCBpbiBwdywgSSBoYXZlIGJl
ZW4gY2xlYW5pbmcgbXkgcXVldWUuLi4gbWF5YmUgbXkNCj4gZmF1bHQuDQo+IA0KPiANCj4gT24g
VGh1LCBTZXAgMzAsIDIwMjEgYXQgNzozNyBBTSA8emhpaG9uZ3gucGVuZ0BpbnRlbC5jb20+IHdy
b3RlOg0KPiA+DQo+ID4gRnJvbTogWmhpaG9uZyBQZW5nIDx6aGlob25neC5wZW5nQGludGVsLmNv
bT4NCj4gPg0KPiA+IEFkZHJlc3NTYW5pdGl6ZXIgKEFTYW4pIGlzIGEgZ29vZ2xlIG1lbW9yeSBl
cnJvciBkZXRlY3Qgc3RhbmRhcmQgdG9vbC4NCj4gPiBJdCBjb3VsZCBoZWxwIHRvIGRldGVjdCB1
c2UtYWZ0ZXItZnJlZSBhbmQge2hlYXAsc3RhY2ssZ2xvYmFsfS1idWZmZXINCj4gPiBvdmVyZmxv
dyBidWdzIGluIEMvQysrIHByb2dyYW1zLCBwcmludCBkZXRhaWxlZCBlcnJvciBpbmZvcm1hdGlv
biB3aGVuDQo+ID4gZXJyb3IgaGFwcGVucywgbGFyZ2UgaW1wcm92ZSBkZWJ1ZyBlZmZpY2llbmN5
Lg0KPiA+DQo+ID4gYEFkZHJlc3NTYW5pdGl6ZXINCj4gPiA8aHR0cHM6Ly9naXRodWIuY29tL2dv
b2dsZS9zYW5pdGl6ZXJzL3dpa2kvQWRkcmVzc1Nhbml0aXplcj5gIChBU2FuKQ0KPiA+IGlzIGEg
d2lkZWx5LXVzZWQgZGVidWdnaW5nIHRvb2wgdG8gZGV0ZWN0IG1lbW9yeSBhY2Nlc3MgZXJyb3Jz
Lg0KPiA+IEl0IGhlbHBzIGRldGVjdCBpc3N1ZXMgbGlrZSB1c2UtYWZ0ZXItZnJlZSwgdmFyaW91
cyBraW5kcyBvZiBidWZmZXINCj4gPiBvdmVycnVucyBpbiBDL0MrKyBwcm9ncmFtcywgYW5kIG90
aGVyIHNpbWlsYXIgZXJyb3JzLCBhcyB3ZWxsIGFzDQo+ID4gcHJpbnRpbmcgb3V0IGRldGFpbGVk
IGRlYnVnIGluZm9ybWF0aW9uIHdoZW5ldmVyIGFuIGVycm9yIGlzIGRldGVjdGVkLg0KPiANCj4g
VGhpcyBwYXRjaCBtaXhlcyBob3cgdG8gdXNlIEFTYW4gYW5kIGluc3RydW1lbnRpbmcgdGhlIERQ
REsgbWVtDQo+IGFsbG9jYXRvci4NCj4gDQo+IEkgd291bGQgc3BsaXQgdGhpcyBwYXRjaCBpbiB0
d28uDQo+IA0KPiBUaGUgZmlyc3QgcGF0Y2ggY2FuIGFkZCB0aGUgZG9jdW1lbnRhdGlvbiBvbiBl
bmFibGluZy91c2luZyBBU2FuIGFuZA0KPiBkZXNjcmliZSB0aGUga25vd24gaXNzdWVzIG9uIGVu
YWJsaW5nIGl0Lg0KPiBJJ2QgZmluZCBpdCBiZXR0ZXIgKGZyb20gYSB1c2VyIHBvdikgaWYgd2Ug
aGlkZSBhbGwgdGhvc2UgZGV0YWlscyBhYm91dCBiX2x1bmRlZg0KPiBhbmQgaW5zdGFsbGF0aW9u
IG9mIGxpYmFzYW4gb24gQ2VudG9zLg0KPiANCj4gU29tZXRoaW5nIGxpa2UgKG9ubHkgcXVpY2ts
eSB0ZXN0ZWQpOg0KPiANCj4gZGlmZiAtLWdpdCBhL2NvbmZpZy9tZXNvbi5idWlsZCBiL2NvbmZp
Zy9tZXNvbi5idWlsZCBpbmRleA0KPiA0Y2RmNTg5ZTIwLi43ZDhiNzFkYTc5IDEwMDY0NA0KPiAt
LS0gYS9jb25maWcvbWVzb24uYnVpbGQNCj4gKysrIGIvY29uZmlnL21lc29uLmJ1aWxkDQo+IEBA
IC00MTEsNiArNDExLDMzIEBAIGlmIGdldF9vcHRpb24oJ2JfbHRvJykNCj4gICAgICBlbmRpZg0K
PiAgZW5kaWYNCj4gDQo+ICtpZiBnZXRfb3B0aW9uKCdiX3Nhbml0aXplJykgPT0gJ2FkZHJlc3Mn
DQo+ICsgICAgYXNhbl9kZXAgPSBjYy5maW5kX2xpYnJhcnkoJ2FzYW4nLCByZXF1aXJlZDogdHJ1
ZSkNCj4gKyAgICBpZiAobm90IGNjLmxpbmtzKCdpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJn
dltdKSB7IHJldHVybiAwOyB9JywNCj4gKyAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2ll
czogYXNhbl9kZXApKQ0KPiArICAgICAgICBlcnJvcignYnJva2VuIGRlcGVuZGVuY3ksICJsaWJh
c2FuIicpDQo+ICsgICAgZW5kaWYNCj4gKyAgICBhZGRfcHJvamVjdF9saW5rX2FyZ3VtZW50cygn
LWxhc2FuJywgbGFuZ3VhZ2U6ICdjJykNCj4gKyAgICBkcGRrX2V4dHJhX2xkZmxhZ3MgKz0gJy1s
YXNhbicNCg0KTm8gbmVlZCB0byBhZGQgY29kZTogDQphZGRfcHJvamVjdF9saW5rX2FyZ3VtZW50
cygnLWxhc2FuJywgbGFuZ3VhZ2U6ICdjJykNCmRwZGtfZXh0cmFfbGRmbGFncyArPSAnLWxhc2Fu
Jw0KDQpUaGUgYXBwIGNvbXBpbGVkIGJ5IGNsYW5nIHdpbGwgZmFpbCB0byBydW4NCg0KPiArZW5k
aWYNCj4gKw0KPiAgaWYgZ2V0X29wdGlvbignZGVmYXVsdF9saWJyYXJ5JykgPT0gJ2JvdGgnDQo+
ICAgICAgZXJyb3IoICcnJw0KPiAgIFVuc3VwcG9ydGVkIHZhbHVlICJib3RoIiBmb3IgImRlZmF1
bHRfbGlicmFyeSIgb3B0aW9uLg0KPiANCj4gDQo+IEJydWNlLCBkbyB5b3Ugc2VlIGFuIGlzc3Vl
IHdpdGggdGhpcyBhcHByb2FjaD8NCj4gDQo+IA0KPiBUaGVuIGEgc2Vjb25kIHBhdGNoIGFkZHMg
dGhlIHJ0ZV9tYWxsb2MgaW5zdHJ1bWVudGF0aW9uLCB3aXRoIGEgY2hlY2sgYXQNCj4gY29uZmln
dXJhdGlvbiB0aW1lLg0KPiANCj4gICAgICBlbmRpZg0KPiAgICAgIGFkZF9wcm9qZWN0X2xpbmtf
YXJndW1lbnRzKCctbGFzYW4nLCBsYW5ndWFnZTogJ2MnKQ0KPiAgICAgIGRwZGtfZXh0cmFfbGRm
bGFncyArPSAnLWxhc2FuJw0KPiArICAgIGlmIGFyY2hfc3ViZGlyID09ICd4ODYnDQo+ICsgICAg
ICAgIGFzYW5fY2hlY2tfY29kZSA9ICcnJw0KPiArI2lmZGVmIF9fU0FOSVRJWkVfQUREUkVTU19f
DQo+ICsjZGVmaW5lIFJURV9NQUxMT0NfQVNBTg0KPiArI2VsaWYgZGVmaW5lZChfX2hhc19mZWF0
dXJlKQ0KPiArIyBpZiBfX2hhc19mZWF0dXJlKGFkZHJlc3Nfc2FuaXRpemVyKQ0KPiArI2RlZmlu
ZSBSVEVfTUFMTE9DX0FTQU4NCj4gKyMgZW5kaWYNCj4gKyNlbmRpZg0KPiArDQo+ICsjaWZuZGVm
IFJURV9NQUxMT0NfQVNBTg0KPiArI2Vycm9yIEFTYW4gbm90IGF2YWlsYWJsZS4NCj4gKyNlbmRp
Zg0KPiArJycnDQo+ICsgICAgICAgIGlmIGNjLmNvbXBpbGVzKGFzYW5fY2hlY2tfY29kZSkNCj4g
KyAgICAgICAgICAgIGRwZGtfY29uZi5zZXQxMCgnUlRFX01BTExPQ19BU0FOJywgdHJ1ZSkNCmRw
ZGtfY29uZi5zZXQxMCgnUlRFX01BTExPQ19BU0FOJywgdHJ1ZSkgaXMgbm90IGV4ZWN1dGVkDQo+
ICsgICAgICAgIGVuZGlmDQo+ICsgICAgZW5kaWYNCj4gIGVuZGlmDQpTZXQgdGhlIG1hY3JvIGRp
cmVjdGx5Og0KZHBka19jb25mLnNldDEwKCdSVEVfTUFMTE9DX0FTQU4nLCB0cnVlKQ0KDQpBbGwg
Y29kZToNCmlmIGdldF9vcHRpb24oJ2Jfc2FuaXRpemUnKSA9PSAnYWRkcmVzcycNCiAgICBhc2Fu
X2RlcCA9IGNjLmZpbmRfbGlicmFyeSgnYXNhbicsIHJlcXVpcmVkOiB0cnVlKQ0KICAgIGlmIChu
b3QgY2MubGlua3MoJ2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsgcmV0dXJuIDA7
IH0nLA0KICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogYXNhbl9kZXApKQ0KICAgICAgICBl
cnJvcignYnJva2VuIGRlcGVuZGVuY3ksICJsaWJhc2FuIicpDQogICAgZW5kaWYNCg0KICAgIGlm
IGFyY2hfc3ViZGlyID09ICd4ODYnDQogICAgICAgIGRwZGtfY29uZi5zZXQxMCgnUlRFX01BTExP
Q19BU0FOJywgdHJ1ZSkNCiAgICBlbmRpZg0KZW5kaWYNCg0KPiAgaWYgZ2V0X29wdGlvbignZGVm
YXVsdF9saWJyYXJ5JykgPT0gJ2JvdGgnDQo+IA0KPiANCj4gRmV3IG1vcmUgY29tbWVudHM6DQo+
IA0KPiANCj4gPg0KPiA+IERQREsgQVNhbiBmdW5jdGlvbmFsaXR5IGlzIGN1cnJlbnRseSBvbmx5
IHN1cHBvcnRlZCBMaW51eCB4ODZfNjQuDQo+ID4gU3VwcG9ydCBvdGhlciBwbGF0Zm9ybXMsIG5l
ZWQgdG8gZGVmaW5lIEFTQU5fU0hBRE9XX09GRlNFVCB2YWx1ZQ0KPiA+IGFjY29yZGluZyB0byBn
b29nbGUgQVNhbiBkb2N1bWVudC4NCj4gPg0KPiA+IEhlcmUgaXMgYW4gZXhhbXBsZSBvZiBoZWFw
LWJ1ZmZlci1vdmVyZmxvdyBidWc6DQo+ID4gICAgICAgICAuLi4uLi4NCj4gPiAgICAgICAgIGNo
YXIgKnAgPSBydGVfem1hbGxvYyhOVUxMLCA3LCAwKTsNCj4gPiAgICAgICAgIHBbN10gPSAnYSc7
DQo+ID4gICAgICAgICAuLi4uLi4NCj4gPg0KPiA+IEhlcmUgaXMgYW4gZXhhbXBsZSBvZiB1c2Ut
YWZ0ZXItZnJlZSBidWc6DQo+ID4gICAgICAgICAuLi4uLi4NCj4gPiAgICAgICAgIGNoYXIgKnAg
PSBydGVfem1hbGxvYyhOVUxMLCA3LCAwKTsNCj4gPiAgICAgICAgIHJ0ZV9mcmVlKHApOw0KPiA+
ICAgICAgICAgKnAgPSAnYSc7DQo+ID4gICAgICAgICAuLi4uLi4NCj4gPg0KPiA+IElmIHlvdSB3
YW50IHRvIHVzZSB0aGlzIGZlYXR1cmUsDQo+ID4geW91IG5lZWQgdG8gYWRkIGJlbG93IGNvbXBp
bGF0aW9uIG9wdGlvbnMgd2hlbiBjb21waWxpbmcgY29kZToNCj4gPiAtRGJ1aWxkdHlwZT1kZWJ1
ZyAtRGJfbHVuZGVmPWZhbHNlIC1EYl9zYW5pdGl6ZT1hZGRyZXNzDQo+ID4gIi1EYnVpbGR0eXBl
PWRlYnVnIjogVGhpcyBpcyBhIG5vbi1lc3NlbnRpYWwgb3B0aW9uLiBXaGVuIHRoaXMgb3B0aW9u
DQo+ID4gaXMgYWRkZWQsIGlmIGEgbWVtb3J5IGVycm9yIG9jY3VycywgQVNhbiBjYW4gY2xlYXJs
eSBzaG93IHdoZXJlIHRoZQ0KPiA+IGNvZGUgaXMgd3JvbmcuDQo+ID4gIi1EYl9sdW5kZWY9ZmFs
c2UiOiBXaGVuIHVzZSBjbGFuZyB0byBjb21waWxlIERQREssIHRoaXMgb3B0aW9uIG11c3QNCj4g
PiBiZSBhZGRlZC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFh1ZXFpbiBMaW4gPHh1ZXFpbi5s
aW5AaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFpoaWhvbmcgUGVuZyA8emhpaG9uZ3gu
cGVuZ0BpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIGRldnRvb2xzL3dvcmRzLWNhc2UudHh0ICAg
ICAgICAgfCAgIDEgKw0KPiA+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvQVNhbi5yc3QgIHwgMTA4
ICsrKysrKysrKysrKysrKysrDQo+ID4gIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9pbmRleC5yc3Qg
fCAgIDEgKw0KPiA+ICBleGFtcGxlcy9oZWxsb3dvcmxkL21haW4uYyAgICAgIHwgICA1ICsNCj4g
PiAgbGliL2VhbC9jb21tb24vbWFsbG9jX2VsZW0uYyAgICB8ICAyNiArKystDQo+ID4gIGxpYi9l
YWwvY29tbW9uL21hbGxvY19lbGVtLmggICAgfCAyMDQNCj4gKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKy0NCj4gPiAgbGliL2VhbC9jb21tb24vbWFsbG9jX2hlYXAuYyAgICB8ICAxMiAr
Kw0KPiA+ICBsaWIvZWFsL2NvbW1vbi9ydGVfbWFsbG9jLmMgICAgIHwgICA5ICstDQo+ID4gIDgg
ZmlsZXMgY2hhbmdlZCwgMzYxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pICBjcmVhdGUg
bW9kZQ0KPiA+IDEwMDY0NCBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvQVNhbi5yc3QNCj4gPg0KPiA+
IGRpZmYgLS1naXQgYS9kZXZ0b29scy93b3Jkcy1jYXNlLnR4dCBiL2RldnRvb2xzL3dvcmRzLWNh
c2UudHh0IGluZGV4DQo+ID4gMGJiYWQ0ODYyNi4uMzY1NTU5NmQ0NyAxMDA2NDQNCj4gPiAtLS0g
YS9kZXZ0b29scy93b3Jkcy1jYXNlLnR4dA0KPiA+ICsrKyBiL2RldnRvb2xzL3dvcmRzLWNhc2Uu
dHh0DQo+ID4gQEAgLTg2LDMgKzg2LDQgQEAgVlhMQU4NCj4gPiAgV2luZG93cw0KPiA+ICBYRFAN
Cj4gPiAgWE9SDQo+ID4gK0FTYW4NCj4gDQo+IEFscGhhYmV0aWNhbCBvcmRlciBwbGVhc2UuDQo+
IA0KPiANCj4gPiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL0FTYW4ucnN0DQo+
ID4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvQVNhbi5yc3QNCj4gDQo+IEZpbGVuYW1lcyBhcmUg
bG93ZXJjYXNlIGluIHRoZSBkb2MuDQo+IA0KPiANCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K
PiA+IGluZGV4IDAwMDAwMDAwMDAuLjcxNDVhM2IxYTENCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4g
KysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL0FTYW4ucnN0DQo+ID4gQEAgLTAsMCArMSwxMDgg
QEANCj4gPiArLi4gQ29weXJpZ2h0IChjKSA8MjAyMT4sIEludGVsIENvcnBvcmF0aW9uDQo+ID4g
KyAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gKw0KPiA+ICtNZW1vcnkgZXJyb3IgZGV0ZWN0
IHN0YW5kYXJkIHRvb2wgLSBBZGRyZXNzU2FuaXRpemVyKEFTYW4pDQo+ID4NCj4gKz09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA9DQo+
ID4gKw0KPiA+ICtBZGRyZXNzU2FuaXRpemVyIChBU2FuKSBpcyBhIGdvb2dsZSBtZW1vcnkgZXJy
b3IgZGV0ZWN0IHN0YW5kYXJkDQo+ID4gK3Rvb2wuIEl0IGNvdWxkIGhlbHAgdG8gZGV0ZWN0IHVz
ZS1hZnRlci1mcmVlIGFuZA0KPiA+ICt7aGVhcCxzdGFjayxnbG9iYWx9LWJ1ZmZlciBvdmVyZmxv
dyBidWdzIGluIEMvQysrIHByb2dyYW1zLCBwcmludA0KPiA+ICtkZXRhaWxlZCBlcnJvciBpbmZv
cm1hdGlvbiB3aGVuIGVycm9yIGhhcHBlbnMsIGxhcmdlIGltcHJvdmUgZGVidWcNCj4gPiArZWZm
aWNpZW5jeS4NCj4gPiArDQo+ID4gK0J5IHJlZmVycmluZyB0byBpdHMgaW1wbGVtZW50YXRpb24g
YWxnb3JpdGhtDQo+ID4gKyhodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL3Nhbml0aXplcnMvd2lr
aS9BZGRyZXNzU2FuaXRpemVyQWxnb3JpdGhtKQ0KPiA+ICssIGVuYWJsZWQgaGVhcC1idWZmZXIt
b3ZlcmZsb3cgYW5kIHVzZS1hZnRlci1mcmVlIGZ1bmN0aW9ucyBvbiBEUERLLg0KPiA+ICtEUERL
IEFTYW4gZnVuY3Rpb24gY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgb24gTGludXggeDg2XzY0Lg0K
PiA+ICsNCj4gPiArQWRkcmVzc1Nhbml0aXplciBpcyBhIHBhcnQgb2YgTExWTSgzLjErKWFuZCBH
Q0MoNC44KykuDQo+IA0KPiBtaXNzaW5nIHNwYWNlcyBhcm91bmQgKCkuDQo+IA0KPiANCj4gPiAr
DQo+ID4gK0V4YW1wbGUgaGVhcC1idWZmZXItb3ZlcmZsb3cgZXJyb3INCj4gPiArLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiArRm9sbG93aW5nIGVycm9yIHdh
cyByZXBvcnRlZCB3aGVuIEFTYW4gd2FzIGVuYWJsZWQ6Og0KPiA+ICsNCj4gPiArICAgIEFwcGxp
ZWQgOSBieXRlcyBvZiBtZW1vcnksIGJ1dCBhY2Nlc3NlZCB0aGUgMTB0aCBieXRlIG9mIG1lbW9y
eSwNCj4gPiArICAgIHNvIGhlYXAtYnVmZmVyLW92ZXJmbG93IGFwcGVhcmVkLg0KPiA+ICsNCj4g
PiArQmVsb3cgY29kZSByZXN1bHRzIGluIHRoaXMgZXJyb3I6Og0KPiA+ICsNCj4gPiArICAgIGNo
YXIgKnAgPSBydGVfem1hbGxvYyhOVUxMLCA5LCAwKTsNCj4gPiArICAgIGlmICghcCkgew0KPiA+
ICsgICAgICAgIHByaW50ZigicnRlX3ptYWxsb2MgZXJyb3IuIik7DQo+ID4gKyAgICAgICAgcmV0
dXJuIC0xOw0KPiA+ICsgICAgfQ0KPiA+ICsgICAgcFs5XSA9ICdhJzsNCj4gPiArDQo+ID4gK1Ro
ZSBlcnJvciBsb2c6Og0KPiA+ICsNCj4gPiArICAgID09NDk0MzM9PUVSUk9SOiBBZGRyZXNzU2Fu
aXRpemVyOiBoZWFwLWJ1ZmZlci1vdmVyZmxvdyBvbiBhZGRyZXNzDQo+IDB4N2Y3NzNmYWZhMjQ5
IGF0IHBjIDB4NTU1NmIxM2JkYWU0IGJwIDB4N2ZmZWI0OTY1ZTQwIHNwIDB4N2ZmZWI0OTY1ZTMw
DQo+IFdSSVRFIG9mIHNpemUgMSBhdCAweDdmNzczZmFmYTI0OSB0aHJlYWQgVDANCj4gPiArICAg
ICMwIDB4NTU1NmIxM2JkYWUzIGluIGFzYW5faGVhcF9idWZmZXJfb3ZlcmZsb3cNCj4gPiArIC4u
L2FwcC90ZXN0L3Rlc3RfYXNhbl9oZWFwX2J1ZmZlcl9vdmVyZmxvdy5jOjI1DQo+IA0KPiBQbGVh
c2UgdXBkYXRlIHRoaXMgZXhhbXBsZSBzaW5jZSB0aGUgdW5pdCB0ZXN0IGhhcyBiZWVuIHJlbW92
ZWQuDQo+IA0KPiANCj4gPiArICAgICMxIDB4NTU1NmIwNDNlOWQ0IGluDQo+IGNtZF9hdXRvdGVz
dF9wYXJzZWQgLi4vYXBwL3Rlc3QvY29tbWFuZHMuYzo3MQ0KPiA+ICsgICAgIzIgMHg1NTU2YjFj
ZGQ0YjAgaW4NCj4gY21kbGluZV9wYXJzZSAuLi9saWIvY21kbGluZS9jbWRsaW5lX3BhcnNlLmM6
MjkwDQo+ID4gKyAgICAjMyAweDU1NTZiMWNkODk4NyBpbiBjbWRsaW5lX3ZhbGlkX2J1ZmZlciAu
Li9saWIvY21kbGluZS9jbWRsaW5lLmM6MjYNCj4gPiArICAgICM0IDB4NTU1NmIxY2U0NzdhIGlu
IHJkbGluZV9jaGFyX2luIC4uL2xpYi9jbWRsaW5lL2NtZGxpbmVfcmRsaW5lLmM6NDIxDQo+ID4g
KyAgICAjNSAweDU1NTZiMWNkOTIzZSBpbiBjbWRsaW5lX2luIC4uL2xpYi9jbWRsaW5lL2NtZGxp
bmUuYzoxNDkNCj4gPiArICAgICM2IDB4NTU1NmIxY2Q5NzY5IGluIGNtZGxpbmVfaW50ZXJhY3Qg
Li4vbGliL2NtZGxpbmUvY21kbGluZS5jOjIyMw0KPiA+ICsgICAgIzcgMHg1NTU2YjA0NWY1M2Ig
aW4gbWFpbiAuLi9hcHAvdGVzdC90ZXN0LmM6MjM0DQo+ID4gKyAgICAjOCAweDdmN2YxZWJhOTBi
MiBpbiBfX2xpYmNfc3RhcnRfbWFpbiAoL2xpYi94ODZfNjQtbGludXgtDQo+IGdudS9saWJjLnNv
LjYrMHgyNzBiMikNCj4gPiArICAgICM5IDB4NTU1NmIwNDNlNzBkIGluIF9zdGFydA0KPiA+ICsg
KC9ob21lL3B6aC95eXkveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3QvZHBkay0N
Cj4gdGVzdCsweDdjZTcwDQo+ID4gKyBkKQ0KPiA+ICsNCj4gPiArICAgIEFkZHJlc3MgMHg3Zjc3
M2ZhZmEyNDkgaXMgYSB3aWxkIHBvaW50ZXIuDQo+ID4gKyAgICBTVU1NQVJZOiBBZGRyZXNzU2Fu
aXRpemVyOiBoZWFwLWJ1ZmZlci1vdmVyZmxvdw0KPiA+ICsgLi4vYXBwL3Rlc3QvdGVzdF9hc2Fu
X2hlYXBfYnVmZmVyX292ZXJmbG93LmM6MjUgaW4NCj4gPiArIGFzYW5faGVhcF9idWZmZXJfb3Zl
cmZsb3cNCj4gPiArDQo+ID4gK0V4YW1wbGUgdXNlLWFmdGVyLWZyZWUgZXJyb3INCj4gPiArLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiArRm9sbG93aW5nIGVycm9yIHdh
cyByZXBvcnRlZCB3aGVuIEFTYW4gd2FzIGVuYWJsZWQ6Og0KPiA+ICsNCj4gPiArICAgIEFwcGxp
ZWQgZm9yIDkgYnl0ZXMgb2YgbWVtb3J5LCBhbmQgYWNjZXNzZWQgdGhlIGZpcnN0IGJ5dGUgYWZ0
ZXINCj4gPiArICAgIHJlbGVhc2VkLCBzbyBoZWFwLXVzZS1hZnRlci1mcmVlIGFwcGVhcmVkLg0K
PiA+ICsNCj4gPiArQmVsb3cgY29kZSByZXN1bHRzIGluIHRoaXMgZXJyb3I6Og0KPiA+ICsNCj4g
PiArICAgIGNoYXIgKnAgPSBydGVfem1hbGxvYyhOVUxMLCA5LCAwKTsNCj4gPiArICAgIGlmICgh
cCkgew0KPiA+ICsgICAgICAgIHByaW50ZigicnRlX3ptYWxsb2MgZXJyb3IuIik7DQo+ID4gKyAg
ICAgICAgcmV0dXJuIC0xOw0KPiA+ICsgICAgfQ0KPiA+ICsgICAgcnRlX2ZyZWUocCk7DQo+ID4g
KyAgICAqcCA9ICdhJzsNCj4gPiArDQo+ID4gK1RoZSBlcnJvciBsb2c6Og0KPiA+ICsNCj4gPiAr
ICAgID09NDk0Nzg9PUVSUk9SOiBBZGRyZXNzU2FuaXRpemVyOiBoZWFwLXVzZS1hZnRlci1mcmVl
IG9uIGFkZHJlc3MNCj4gMHg3ZmUyZmZhZmEyNDAgYXQgcGMgMHg1NjQwOWIwODRiYzggYnAgMHg3
ZmZlZjYyYzU3ZDAgc3AgMHg3ZmZlZjYyYzU3YzANCj4gV1JJVEUgb2Ygc2l6ZSAxIGF0IDB4N2Zl
MmZmYWZhMjQwIHRocmVhZCBUMA0KPiA+ICsgICAgIzAgMHg1NjQwOWIwODRiYzcgaW4gYXNhbl91
c2VfYWZ0ZXJfZnJlZQ0KPiA+ICsgLi4vYXBwL3Rlc3QvdGVzdF9hc2FuX3VzZV9hZnRlcl9mcmVl
LmM6MjYNCj4gDQo+IElkZW0uDQo+IA0KPiANCj4gPiArICAgICMxIDB4NTY0MDlhMTA1OWQ0IGlu
DQo+IGNtZF9hdXRvdGVzdF9wYXJzZWQgLi4vYXBwL3Rlc3QvY29tbWFuZHMuYzo3MQ0KPiA+ICsg
ICAgIzIgMHg1NjQwOWI5YTQ0YjAgaW4NCj4gY21kbGluZV9wYXJzZSAuLi9saWIvY21kbGluZS9j
bWRsaW5lX3BhcnNlLmM6MjkwDQo+ID4gKyAgICAjMyAweDU2NDA5Yjk5Zjk4NyBpbiBjbWRsaW5l
X3ZhbGlkX2J1ZmZlciAuLi9saWIvY21kbGluZS9jbWRsaW5lLmM6MjYNCj4gPiArICAgICM0IDB4
NTY0MDliOWFiNzdhIGluDQo+IHJkbGluZV9jaGFyX2luIC4uL2xpYi9jbWRsaW5lL2NtZGxpbmVf
cmRsaW5lLmM6NDIxDQo+ID4gKyAgICAjNSAweDU2NDA5YjlhMDIzZSBpbiBjbWRsaW5lX2luIC4u
L2xpYi9jbWRsaW5lL2NtZGxpbmUuYzoxNDkNCj4gPiArICAgICM2IDB4NTY0MDliOWEwNzY5IGlu
IGNtZGxpbmVfaW50ZXJhY3QgLi4vbGliL2NtZGxpbmUvY21kbGluZS5jOjIyMw0KPiA+ICsgICAg
IzcgMHg1NjQwOWExMjY1M2IgaW4gbWFpbiAuLi9hcHAvdGVzdC90ZXN0LmM6MjM0DQo+ID4gKyAg
ICAjOCAweDdmZWFmYWZjMjBiMiBpbiBfX2xpYmNfc3RhcnRfbWFpbiAoL2xpYi94ODZfNjQtbGlu
dXgtDQo+IGdudS9saWJjLnNvLjYrMHgyNzBiMikNCj4gPiArICAgICM5IDB4NTY0MDlhMTA1NzBk
IGluIF9zdGFydA0KPiA+ICsgKC9ob21lL3B6aC95eXkveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n
Y2MvYXBwL3Rlc3QvZHBkay0NCj4gdGVzdCsweDdjZTcwDQo+ID4gKyBkKQ0KPiA+ICsNCj4gPiAr
ICAgIEFkZHJlc3MgMHg3ZmUyZmZhZmEyNDAgaXMgYSB3aWxkIHBvaW50ZXIuDQo+ID4gKyAgICBT
VU1NQVJZOiBBZGRyZXNzU2FuaXRpemVyOiBoZWFwLXVzZS1hZnRlci1mcmVlDQo+ID4gKyAuLi9h
cHAvdGVzdC90ZXN0X2FzYW5fdXNlX2FmdGVyX2ZyZWUuYzoyNiBpbiBhc2FuX3VzZV9hZnRlcl9m
cmVlDQo+IA0KPiANCj4gLS0NCj4gRGF2aWQgTWFyY2hhbmQNCg0K