From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by mx.groups.io with SMTP id smtpd.web12.1973.1645752319949182976
 for <devel@edk2.groups.io>;
 Thu, 24 Feb 2022 17:25:20 -0800
Authentication-Results: mx.groups.io;
 dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=QOGx49d0;
 spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: guo.dong@intel.com)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1645752319; x=1677288319;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=uwKC8ZOoxiRlvgAYfC7hMLn5NOUiKeO+7EWlLNGdFhA=;
  b=QOGx49d0Z526BeNkijrkn0iknI55NW+NVtNf9cgOpPbwvxM7H66ETzpD
   GXUpAGp5CpaLb3r116SS3Brh5TocDtwbrwVfwtHrwpb4TKd7xrAnk0c9/
   GLTxb0JeClvgLYK75tysuYfhLppfslUINUF3jMfO0mkIpKUfhDdfUx5Jn
   1Ghb7FnseWmOmkOcKfMgO8sx6Oxkw4ysmu//7Od30GVainSljf8QktdH9
   1zjDb3lqUhQWipnrcffjYlGobNB1eumqFDnYonvjJ8x/nhOsj7klelMNJ
   UefCHnO/M4rrun/2kAwP6tOW2cAa7/nzg8H9aph/yuPO92L68aXwmZ/4T
   w==;
X-IronPort-AV: E=McAfee;i="6200,9189,10268"; a="338829464"
X-IronPort-AV: E=Sophos;i="5.90,134,1643702400"; 
   d="scan'208";a="338829464"
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
  by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Feb 2022 17:25:19 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.90,134,1643702400"; 
   d="scan'208";a="638058062"
Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18])
  by fmsmga002.fm.intel.com with ESMTP; 24 Feb 2022 17:25:19 -0800
Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by
 ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.21; Thu, 24 Feb 2022 17:25:18 -0800
Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by
 ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20; Thu, 24 Feb 2022 17:25:18 -0800
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
 orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.21 via Frontend Transport; Thu, 24 Feb 2022 17:25:18 -0800
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108)
 by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2308.20; Thu, 24 Feb 2022 17:25:18 -0800
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e3uAAW4T0OQVMr3CNS8A1y7E6wfURR9rCi7GGg5F4ouIs4BTaYigCI65HJRfeD6OOV/erQ+oBL77RkXepxEvONTSHyuJHOl/mekIDk5+ZGkCs7N0aLhMVTMAGeeGkTrbTZUUphtTaEk7LmraKV4YJJKRyymScgIe3z8QNNK8NSLipzN1ICSAmXvIynMcSQPC/7bXeN5FuBvhcAa7rP/Vm0Zgv8U0Wm5cboBIH2Z/XPlu+nvdpajsAJf3EiYqRjNqizElUYUSgy1eMA6zbtHZL+uCdFL5rAFVkzjuiDprQwC/VYf8IFQNVazcsNzbwSOMMVv6gptDVhlEKDaNjkHv+g==
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=uwKC8ZOoxiRlvgAYfC7hMLn5NOUiKeO+7EWlLNGdFhA=;
 b=mCTNXy/pmm90w81XZlqDdxKqo48y+HxCP1AMlfpiJBlaMImxlqFKfZobbqfGv6uBwmUZerkX7qMgT3LAdvpDtCX2ZjZqfQYcZG2asMnPQaKU4p/8259UuNpguXyqYgT+M/MtPspY1ZLIRsg77l9+ZrnP1p5xdV+Vy56Z7CjYoSPKGWu0rt/VmOPrvo/zmAT/Ma1vyhwOEYOteHdbKXM9ALRwLUr6nmO1a1qRf8TC9bm3YBMiEulZ0q5xw4PY/JCVVetrmU0mkeYluiufn4qyVbPwABFn3jfJD9HH3i3aF1cSDeedz2mXD81bQ8zvKRUffDzMKHljSv5RbzFvS9tRSg==
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
Received: from BYAPR11MB3622.namprd11.prod.outlook.com (2603:10b6:a03:fe::30)
 by DM6PR11MB4187.namprd11.prod.outlook.com (2603:10b6:5:19e::32) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Fri, 25 Feb
 2022 01:25:15 +0000
Received: from BYAPR11MB3622.namprd11.prod.outlook.com
 ([fe80::45c8:c9c6:42a:a43d]) by BYAPR11MB3622.namprd11.prod.outlook.com
 ([fe80::45c8:c9c6:42a:a43d%4]) with mapi id 15.20.5017.024; Fri, 25 Feb 2022
 01:25:15 +0000
From: "Guo Dong" <guo.dong@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"patrick.rudolph@9elements.com" <patrick.rudolph@9elements.com>, "Ma,
 Maurice" <maurice.ma@intel.com>
CC: "Rhodes, Sean" <sean@starlabs.systems>, "Ni, Ray" <ray.ni@intel.com>,
	"You, Benjamin" <benjamin.you@intel.com>
Subject: Re: [edk2-devel] [PATCH 1/2] UefiPayloadPkg: Add i801 SMBus controller DXE
Thread-Topic: [edk2-devel] [PATCH 1/2] UefiPayloadPkg: Add i801 SMBus
 controller DXE
Thread-Index: AQHYJCcGVKKsXkkd+UKWTGJNjVidcqyYDs4AgAqAWwCAAFTxYIAAmYMw
Date: Fri, 25 Feb 2022 01:25:15 +0000
Message-ID: <BYAPR11MB36221CFC089B5E722CE00DD49E3E9@BYAPR11MB3622.namprd11.prod.outlook.com>
References: <c8070771e19c158e3512319a33ae68bf32beab36.1645120287.git.sean@starlabs.systems>
 <CO1PR11MB49454D86BFBFA8779E877DA089369@CO1PR11MB4945.namprd11.prod.outlook.com>
 <CALNFmy0Ac8L4R1YOM0wM_=oHgO=GPAfHjn2_tAvyeBeYaF6SvQ@mail.gmail.com>
 <BYAPR11MB3622EE717CC08D70F1338DA19E3D9@BYAPR11MB3622.namprd11.prod.outlook.com>
In-Reply-To: <BYAPR11MB3622EE717CC08D70F1338DA19E3D9@BYAPR11MB3622.namprd11.prod.outlook.com>
Accept-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
dlp-product: dlpe-windows
dlp-reaction: no-action
dlp-version: 11.6.401.20
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 377d64c3-7d36-456f-7ead-08d9f7fdad67
x-ms-traffictypediagnostic: DM6PR11MB4187:EE_
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <DM6PR11MB4187158099DF2BE02726FEF89E3E9@DM6PR11MB4187.namprd11.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: uH/dX/xQR5CowqACXM4WdPw/ziMNIEF0Q3/1ViepGWLv4Bz4TpJFTK/yto9ObWJ3fQUheKnS/ITJKfzSEY6jYp5pyPMtz9guMqn+VQ5ivgYFmgEsQ4JM9jyWhRdLVHqWsStoLq49gcKQ29/07t6P0avFoUVzfuIER1jkF15mfSxH3ubLBRVRd4FC4wYp3qzsPjmuoGalaVUJp60+wzoGOJiLilPF3oDxlwVNt46BQOUbC5GHmaSHUuZVM+uFor/tmlNRKoGSj3DYnkJZKbStBV8+hXqGl9c8Gf2o9Rrr7TRUDNjljBP4+6z6T2Jo7ZdTWwj72ZLndnJrcl6VJ+joyM6n/FBdGcAgByt7Tmzs+U5FUc9KUWVyCE7hPMd8ywCpa+f8VGnabzh/7YOTjknf0lkN8eIBUmFkhCACkZk869PLepfgYoY58BFvM+Oj/Z0tt3GfDCZ86tl/sUji+HmF65msiGARt2WHV2z1kvzzIsT2fS5pzuir7/eMduOPGhdyA2BBjfjgFca4QqCR+4OsW5KHldkWVWcLKNq+wElK59tzAzOE9YmNrgu3+I4EvsuT6sNeutav4osSI808txEAlTnwBFWzVUjl8M+A7wlsXeWCrSIepFEnHsHALUHXpJGRaBNag7NRHPAAb3utoXPJP1k+PtPOrhjShSAopZKiQ3TPC2tprFPSjIidSR7T59G+Nx+7EKZIWjvC1fwwXA/OyWayT8trYBZm0je56acqvvkjGZ5JC76rQ9nI0U6qjrO5iLRszjSPYmhqCiNBo++87xJtC32HY0npNOl0r5SUu1kALH52CrsGnH0RD/ARUzTTrV94AU11hj24+whRvmmxxw==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR11MB3622.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(110136005)(8936002)(83380400001)(54906003)(316002)(19627235002)(122000001)(66446008)(966005)(30864003)(82960400001)(5660300002)(4326008)(33656002)(52536014)(76116006)(66556008)(66476007)(8676002)(6636002)(64756008)(66946007)(508600001)(107886003)(53546011)(71200400001)(86362001)(38070700005)(38100700002)(7696005)(9686003)(6506007)(55016003)(186003)(26005)(579004);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZVBpTGNWbjBUc3BQZTkxNzU2c0FlL3ZlYkxiQmg3cjIrRTllaSt3M29PRjZZ?=
 =?utf-8?B?TXZGV0JhcmtQUXBTMmVSR2U0L1FEQ210RG5rSENDMzBBbFpCN2s0M2x4cXNX?=
 =?utf-8?B?ZVJnNFJ3OENMbzFFcGNBQlhGZE5LTHlyTlByTnlPSlFtaVRlTHM0K1dES0xs?=
 =?utf-8?B?U3k2N2FxY3dCVTJkZndabTRZZkN4eTdLN05BeHpNajlwR2UvV0lFZmZBbG5K?=
 =?utf-8?B?TnJYS1RQdjk1elhjQSt3TlJpUWhHMFR1Qm0vcUJCWmg1YkJnSWVCeTlxOFk0?=
 =?utf-8?B?dTJ6NkcrQlI5dFROaFJOYWJGNFVNOGdqV2R1QytSVHNxaTJZOWdNd0NPUDVX?=
 =?utf-8?B?UFN1RjQ5WlB6c1VXUmFRV2RQdHE2bld2WmJ3cHM1SzMzOFQydVpJWWFaNXN3?=
 =?utf-8?B?d1V4ZVlKTWdzT0FLRlZwU2tUVFNpeE91UlorRXQ4RjJ3c01RWWdlYTROQXFS?=
 =?utf-8?B?Z0o2d2dnekx4dXFLd2d0VFBla2pzcUM2SzZEbkFCVXR6QUs5MzlkZVdvV0tY?=
 =?utf-8?B?RjY0a00zV3BEVWVUMGdlNUhVN2hWbkZSOGR3RFU0b3JHVGlsMlNWQm5wVXRN?=
 =?utf-8?B?TTdXYzRRTGQxN2N5VGZ4czNGK0F2V0QwUkNPeCtFYWFWb1UrdVZNWERTdEpF?=
 =?utf-8?B?NjV5eE4wdHhURVZRNVg5VXZQUHlpUUpSUGlQK3h0MS9HcVZHZlJ0Y3U1UnNs?=
 =?utf-8?B?OEhKWm1BY2NnR0I3bWlkVjE3YThDOVJZT2U1OStGQ3pJTVUxNUdwTS9jV0hX?=
 =?utf-8?B?cDZnbUlRS1o0ZldzTllDTDZlcjRhUXFwUzhDV2tDTENKYW96S2tlOVY2ZFlP?=
 =?utf-8?B?RzRKWllpbG1KeHBzYi9nTXA2SXpTMWoyeVVuTFFRTjRZR0FyQ0tuTklQSmxY?=
 =?utf-8?B?cWx2Z3R0c0l4b21YbkpqakhEMm1DTjJuemRXdjBhSnFFZ3ljNUY2OFhZMHpQ?=
 =?utf-8?B?YUpNQ0RVaytwWWhwVU51U3grTURPMW9zQnZWTWsrUXJnbkRraFJnd3NXKzMx?=
 =?utf-8?B?REh2djlFbzI4azY1UVF1dmFNNTlKNGNBNC8xSlZpY1RKRm1kUnRMMzdaa0dy?=
 =?utf-8?B?M3Y5SSt1SmJwYlZCQjA4MXlXYllDeFZVeVBSbXBLNXEydk9JNGI4V2pOM2dr?=
 =?utf-8?B?bytSUVJSKzhuOUpDT0RPNVVLanE4UHFBSVlmRzk2RjhUM0VNdFRHWUYrcUEv?=
 =?utf-8?B?eVU4b1g3RmdMT3VZRmE4cGpMTFUvVzRRMG1hUXRMajVqeThqZlUvWE5PQUov?=
 =?utf-8?B?YzJGS3kwdUlzMkhjQ1NVQ3lWWjR6ZlVabURkYTZpUm1uMnMzd0Z2ODdSckx1?=
 =?utf-8?B?TUxkbmhNZlJNRUh4N3diL1RWQlVxZWFqa24rOVNnQlh2MThkM2VqNTQ2TlE3?=
 =?utf-8?B?REpNWDg4MGZlQ2FsM3YzS3M3eWdweGMrelU5UzJDcHMwMlhjVnNTSU05QTdT?=
 =?utf-8?B?VU42dVYybVIrK25vcEhPNTEwOVdiWW5EL08rR0RXbDI3M2lXMk04QmtTYVVE?=
 =?utf-8?B?ZW4wL25veVZYYjMrRHg0aGMzelFtUlREZnBmNk5QQXRrM2lJK2hQU1lSWVlO?=
 =?utf-8?B?N2hZWGU0NVd1R1p1VURKdnNyVytuS05iUmMzNVZmUGZ3VVYySzVVbmlTTmtQ?=
 =?utf-8?B?ek9IejQ3a3NZVFpmbkJZdjNuemptb2l3dXk1TzhPNzlDamh4Y2VFT241TWRW?=
 =?utf-8?B?enJXd1VmVTBJajBiTFBxVFdXQlNJWnU4QXdvOHVmZEZ3dGZZdU1tQkNBLzNu?=
 =?utf-8?B?Tk1uUGlrMHFVSTE4Z2VLZHZLelY3MENpUGloY0lCMEVyd1pyS1hmdzhtckJp?=
 =?utf-8?B?NE4zNUdjam12OGMvd0FXVkw4bXJzVG10akJOYTNSQ3ZaU1JTVEswUnoveUxH?=
 =?utf-8?B?eGVJc2lqa2c2TDRFaFpQOHRzOGJHY3JKTHh3bXdESWxVTnkzdENpbEJvVG1L?=
 =?utf-8?B?NDNoY1lrcFllT3k0b3o2Rm12R2FhN1RZOVJVTytoQ0txV0U1Rk4xWjFEZFhE?=
 =?utf-8?B?bytCM3BRTDNZRnYxS21Sa0J2RzREOHliRHpSQnA1MDJvV3I0UVd3OXlPMWhl?=
 =?utf-8?B?cy9DWk5ncWRhUWQzV3ZuOWhyWGo5VHFHOGxZTUNsRzh4UGR1UnU2VndOZ1Fh?=
 =?utf-8?B?VnpSakRTREp1M20yUE1sdnlNUXYremhPa25hWFg4d3JrZHVmVDloK0tEMFlo?=
 =?utf-8?B?U1E9PQ==?=
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3622.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 377d64c3-7d36-456f-7ead-08d9f7fdad67
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Feb 2022 01:25:15.6257
 (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: rh7AcJ916RoRemgz9vyLQcgDF7IqfuTA3VSbV6O20IzVgqbHY5ncMMQvZPFGfRGgfYeEur59nNPs3HHU3VHc0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4187
Return-Path: guo.dong@intel.com
X-OriginatorOrg: intel.com
Content-Language: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQpIaSBQYXRyaWNrLA0KDQpZb3UgY291bGQgcmVmZXIgdGhpcyBwYWdlIGh0dHBzOi8vZ2l0aHVi
LmNvbS90aWFub2NvcmUvZWRrMi1wbGF0Zm9ybXMgb24gaG93IHRvIGJ1aWxkIHBsYXRmb3JtIHdp
dGggRURLMiBhbmQgZWRrMi1wbGF0Zm9ybSByZXBvLg0KDQpJIGhhZCB0aG91Z2h0IHlvdSBhZGRl
ZCBhIFNNYnVzIGRyaXZlciB0aGF0IGNvdWxkIG9ubHkgd29yayBvbiBhIHBhcnRpY3VsYXIgZGV2
aWNlLiAgSSBhZ3JlZSB3aXRoIE1hdXJpY2UgdG8gcHV0IHRoaXMga2luZCBvZiBtb2R1bGVzIHRv
IEVkazItcGxhdGZvcm0gcmVwby4NCkZvciBTcGlGbGFzaExpYiBpdCBpcyBsaWJyYXJ5IHNwZWNp
ZmljIGZvciBJbnRlbCBQQ0ggU1BJLCB3ZSBldmVyIGRpc2N1c3NlZCB0byBwdXQgdG8gZWRrMi1w
bGF0Zm9ybSBiZWZvcmUuICBCdXQgd2UgdGVtcG9yYXJpbHkgcHV0IHRvIEVESzIgd2l0aCBvdGhl
ciBTTU0gbW9kdWxlcyBmb3IgY29udmVuaWVuY2Ugc2luY2UgdGhlcmUgaXMgb25seSBmZXcgdGhp
cyBraW5kIG9mIG1vZHVsZXMuDQpMZXQgbWUgZXhwbG9yZSBhIHNvbHV0aW9uIHRvIG1vdmUgUENI
IHNwZWNpZmljIG1vZHVsZXMgdG8gZWRrMi1wbGF0Zm9ybS4gTWF5YmUgY3JlYXRlIFBheWxvYWRQ
bGF0Zm9ybVBrZyB1bmRlciBlZGsyLXBsYXRmb3Jtc1xQbGF0Zm9ybVxJbnRlbCB0byBidWlsZCB1
bml2ZXJzYWwgVUVGSSBwYXlsb2FkIGZyb20gRWRrMiByZXBvLCBhbmQgYnVpbGQgYSBzZXBhcmF0
ZSBGViB0byBpbmNsdWRlIFBDSCBzcGVjaWZpYyBtb2R1bGVzIGZyb20gZWRrMi1wbGF0Zm9ybSBy
ZXBvLiBUaGUgYnVpbGQgc2NyaXB0IGNvdWxkIGFkZCB0aGUgRlYgaW50byB0aGUgdW5pdmVyc2Fs
IHBheWxvYWQgYXMgYSBzZWN0aW9uIG9mIHVuaXZlcnNhbCBwYXlsb2FkIGRlZmluZWQgYnkgdGhl
IHVuaXZlcnNhbCBwYXlsb2FkIHNwZWNpZmljYXRpb24uIFRoaXMgd2F5IHRoZSBVRUZJIHBheWxv
YWQgaW4gRURLMiBjb3VsZCBiZSBnZW5lcmljIGVub3VnaCB3aXRob3V0IHBsYXRmb3JtIHNwZWNp
ZmljIG1vZHVsZXMuDQoNClRoYW5rcywNCkd1bw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t
LQ0KRnJvbTogRG9uZywgR3VvIA0KU2VudDogVGh1cnNkYXksIEZlYnJ1YXJ5IDI0LCAyMDIyIDg6
NTQgQU0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgcGF0cmljay5ydWRvbHBoQDllbGVtZW50
cy5jb207IE1hLCBNYXVyaWNlIDxtYXVyaWNlLm1hQGludGVsLmNvbT4NCkNjOiBSaG9kZXMsIFNl
YW4gPHNlYW5Ac3RhcmxhYnMuc3lzdGVtcz47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBZ
b3UsIEJlbmphbWluIDxiZW5qYW1pbi55b3VAaW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtlZGsy
LWRldmVsXSBbUEFUQ0ggMS8yXSBVZWZpUGF5bG9hZFBrZzogQWRkIGk4MDEgU01CdXMgY29udHJv
bGxlciBEWEUNCg0KDQpIaSBQYXRyaWNrLA0KDQpVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L1NwaUZs
YXNoTGliL1NwaUZsYXNoTGliLmluZiBpcyBhIGNvbW1vbiBtb2R1bGUgYXMgdGhlIGNvbW1pdCBt
ZXNzYWdlIG1lbnRpb25lZCBhcyBiZWxvdzoNCg0KKiBVZWZpUGF5bG9hZFBrZzogQWRkIFNwaUZs
YXNoTGliDQoNClRoaXMgaXMgYSBjb21tb24gU1BJIEZsYXNoIGxpYnJhcnkgdXNlZCBmb3IgdGhl
IEludGVsIHBsYXRmb3JtIHRoYXQgc3VwcG9ydHMgU1BJIGhhcmR3YXJlIHNlcXVlbmNlLiBUaGlz
IGxpYnJhcnkgcHJvdmlkZXMgYWN0dWFsIFNQSSBmbGFzaCBvcGVyYXRpb24gdmlhIEludGVsIFBD
SCBTUEkgY29udHJvbGxlci4NCg0KVGhhbmtzLA0KR3VvDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn
ZS0tLS0tDQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+
IE9uIEJlaGFsZiBPZiBQYXRyaWNrIFJ1ZG9scGgNClNlbnQ6IFRodXJzZGF5LCBGZWJydWFyeSAy
NCwgMjAyMiAzOjQ2IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IE1hLCBNYXVyaWNlIDxt
YXVyaWNlLm1hQGludGVsLmNvbT4NCkNjOiBSaG9kZXMsIFNlYW4gPHNlYW5Ac3RhcmxhYnMuc3lz
dGVtcz47IERvbmcsIEd1byA8Z3VvLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGlu
dGVsLmNvbT47IFlvdSwgQmVuamFtaW4gPGJlbmphbWluLnlvdUBpbnRlbC5jb20+DQpTdWJqZWN0
OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCAxLzJdIFVlZmlQYXlsb2FkUGtnOiBBZGQgaTgwMSBT
TUJ1cyBjb250cm9sbGVyIERYRQ0KDQpIaSBNYXVyaWNlLA0KSSBhZ3JlZSB0aGF0IGVkazItcGxh
dGZvcm1zIGlzIHRoZSByaWdodCBwbGFjZS4NCkhvdyBzaG91bGQgaXQgYmUgdXNlZCB0byBidWls
ZCBVZWZpUGxheWxvYWRQa2c/IFNob3VsZCBpdCBiZSBob29rZWQgdXAgYXMgZ2l0IHN1Ym1vZHVs
ZT8NCg0KSnVzdCB3b25kZXJpbmcgd2h5IHlvdSBhZGRlZCB2ZW5kb3IgKG9yIHBsYXRmb3JtKSBz
cGVjaWZpYyBjb2RlIGluIFVlZmlQYXlsb2FkUGtnL0xpYnJhcnkvU3BpRmxhc2hMaWIvU3BpRmxh
c2hMaWIuaW5mID8NClBsZWFzZSBjbGFyaWZ5Lg0KDQpSZWdhcmRzLA0KUGF0cmljayBSdWRvbHBo
DQoNCk9uIFRodSwgRmViIDE3LCAyMDIyIGF0IDc6MjQgUE0gTWEsIE1hdXJpY2UgPG1hdXJpY2Uu
bWFAaW50ZWwuY29tPiB3cm90ZToNCj4NCj4gVGhpcyB2ZW5kb3Igc3BlY2lmaWMgZGV2aWNlIGRy
aXZlciBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBzZWVtIHRvIGZpdCBpbnRvIFVFRkkgcGF5bG9h
ZCBwYWNrYWdlIHNjb3BlIHdlbGwuDQo+DQo+IERvIHlvdSB0aGluayBodHRwczovL2dpdGh1Yi5j
b20vdGlhbm9jb3JlL2VkazItcGxhdGZvcm1zL3RyZWUvbWFzdGVyL1NpbGljb24gY291bGQgYmUg
YSBiZXR0ZXIgbG9jYXRpb24gPw0KPg0KPiBUaGFua3MNCj4gTWF1cmljZQ0KPiA+IC0tLS0tT3Jp
Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVs
QGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgU2VhbiANCj4gPiBSaG9kZXMNCj4gPiBTZW50
OiBUaHVyc2RheSwgRmVicnVhcnkgMTcsIDIwMjIgOTo1MQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdy
b3Vwcy5pbw0KPiA+IENjOiBEb25nLCBHdW8gPGd1by5kb25nQGludGVsLmNvbT47IFBhdHJpY2sg
UnVkb2xwaCANCj4gPiA8cGF0cmljay5ydWRvbHBoQDllbGVtZW50cy5jb20+OyBOaSwgUmF5IDxy
YXkubmlAaW50ZWwuY29tPjsgTWEsIA0KPiA+IE1hdXJpY2UgPG1hdXJpY2UubWFAaW50ZWwuY29t
PjsgWW91LCBCZW5qYW1pbiANCj4gPiA8YmVuamFtaW4ueW91QGludGVsLmNvbT4NCj4gPiBTdWJq
ZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMl0gVWVmaVBheWxvYWRQa2c6IEFkZCBpODAxIFNN
QnVzIA0KPiA+IGNvbnRyb2xsZXIgRFhFDQo+ID4NCj4gPiBGcm9tOiBQYXRyaWNrIFJ1ZG9scGgg
PHBhdHJpY2sucnVkb2xwaEA5ZWxlbWVudHMuY29tPg0KPiA+DQo+ID4gSW1wbGVtZW50IGEgc3Vi
c2V0IG9mIHRoZSBnRWZpU21idXNIY1Byb3RvY29sR3VpZCB1c2luZyBhIGdlbmVyaWMgDQo+ID4g
UENJIGk4MDEgU01CdXMgY29udHJvbGxlci4NCj4gPg0KPiA+IENjOiBHdW8gRG9uZyA8Z3VvLmRv
bmdAaW50ZWwuY29tPg0KPiA+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4gQ2M6
IE1hdXJpY2UgTWEgPG1hdXJpY2UubWFAaW50ZWwuY29tPg0KPiA+IENjOiBCZW5qYW1pbiBZb3Ug
PGJlbmphbWluLnlvdUBpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogUGF0cmljayBSdWRv
bHBoIDxwYXRyaWNrLnJ1ZG9scGhAOWVsZW1lbnRzLmNvbT4NCj4gPiAtLS0NCj4gPiAgLi4uL0xp
YnJhcnkvQnJvdGxpQ3VzdG9tRGVjb21wcmVzc0xpYi9icm90bGkgIHwgICAyICstDQo+ID4gIFVl
ZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5jICAgICAgICB8IDU1Ng0KPiA+ICsr
KysrKysrKysrKysrKysrKw0KPiA+ICBVZWZpUGF5bG9hZFBrZy9TbWJ1c0R4ZS9TTUJ1c2k4MDFE
eGUuaCAgICAgICAgfCAgMTcgKw0KPiA+ICBVZWZpUGF5bG9hZFBrZy9TbWJ1c0R4ZS9TTUJ1c2k4
MDFEeGUuaW5mICAgICAgfCAgNDUgKysNCj4gPiAgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQ
a2cuZHNjICAgICAgICAgICAgIHwgICA3ICsNCj4gPiAgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxv
YWRQa2cuZmRmICAgICAgICAgICAgIHwgICA1ICsNCj4gPiAgNiBmaWxlcyBjaGFuZ2VkLCA2MzEg
aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKSAgY3JlYXRlIG1vZGUNCj4gPiAxMDA2NDQgVWVm
aVBheWxvYWRQa2cvU21idXNEeGUvU01CdXNpODAxRHhlLmMNCj4gPiAgY3JlYXRlIG1vZGUgMTAw
NjQ0IFVlZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5oDQo+ID4gIGNyZWF0ZSBt
b2RlIDEwMDY0NCBVZWZpUGF5bG9hZFBrZy9TbWJ1c0R4ZS9TTUJ1c2k4MDFEeGUuaW5mDQo+ID4N
Cj4gPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL0xpYnJhcnkvQnJvdGxpQ3VzdG9tRGVjb21w
cmVzc0xpYi9icm90bGkNCj4gPiBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jyb3RsaUN1c3RvbURl
Y29tcHJlc3NMaWIvYnJvdGxpDQo+ID4gaW5kZXggZjQxNTNhMDlmOC4uNjY2YzMyODBjYyAxNjAw
MDANCj4gPiAtLS0gYS9NZGVNb2R1bGVQa2cvTGlicmFyeS9Ccm90bGlDdXN0b21EZWNvbXByZXNz
TGliL2Jyb3RsaQ0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jyb3RsaUN1c3RvbURl
Y29tcHJlc3NMaWIvYnJvdGxpDQo+ID4gQEAgLTEgKzEgQEANCj4gPiAtU3VicHJvamVjdCBjb21t
aXQgZjQxNTNhMDlmODdjYmI5YzgyNmQ4ZmMxMmM3NDY0MmJiMmQ4NzllYQ0KPiA+ICtTdWJwcm9q
ZWN0IGNvbW1pdCA2NjZjMzI4MGNjMTFkYzQzM2MzMDNkNzlhODNkNGZmYmRkMTJjYzhkDQo+ID4g
ZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5jDQo+ID4g
Yi9VZWZpUGF5bG9hZFBrZy9TbWJ1c0R4ZS9TTUJ1c2k4MDFEeGUuYw0KPiA+IG5ldyBmaWxlIG1v
ZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMC4uN2JmN2I4OTNhZA0KPiA+IC0tLSAvZGV2
L251bGwNCj4gPiArKysgYi9VZWZpUGF5bG9hZFBrZy9TbWJ1c0R4ZS9TTUJ1c2k4MDFEeGUuYw0K
PiA+IEBAIC0wLDAgKzEsNTU2IEBADQo+ID4gKy8qKiBAZmlsZSsgIEltcGxlbWVudGF0aW9uIGZv
ciBhIGdlbmVyaWMgaTgwMSBTTUJ1cyANCj4gPiArZHJpdmVyLisrQ29weXJpZ2h0IChjKQ0KPiA+
IDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4rU1BEWC1M
aWNlbnNlLUlkZW50aWZpZXI6DQo+ID4gQlNELTItQ2xhdXNlLVBhdGVudCsrKyoqLysrI2luY2x1
ZGUgIlNNQnVzaTgwMUR4ZS5oIisjaW5jbHVkZQ0KPiA+IDxMaWJyYXJ5L1RpbWVyTGliLmg+KyNp
bmNsdWRlIDxMaWJyYXJ5L1BjaUxpYi5oPisjaW5jbHVkZSANCj4gPiA8TGlicmFyeS9Jb0xpYi5o
PisjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPisjaW5jbHVkZSANCj4gPiA8TGlicmFyeS9C
YXNlTWVtb3J5TGliLmg+KyNpbmNsdWRlDQo+ID4gPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1Rh
YmxlTGliLmg+KytFRklfSEFORExFICBtRHJpdmVySGFuZGxlID0NCj4gPiBOVUxMOytVSU5UMzIg
ICAgICBQY2lEZXZpY2UgICAgID0gMDsrKy8qIFNNQnVzIHJlZ2lzdGVyIG9mZnNldHMuICovKyNk
ZWZpbmUNCj4gPiBTTUJIU1RTVEFUICAgICAgMHgwKyNkZWZpbmUgU01CSFNUQ1RMICAgICAgIDB4
MisjZGVmaW5lIFNNQkhTVENNRA0KPiA+IDB4MysjZGVmaW5lIFNNQlhNSVRBREQgICAgICAweDQr
I2RlZmluZSBTTUJIU1REQVQwICAgICAgMHg1KyNkZWZpbmUNCj4gPiBTTUJIU1REQVQxICAgICAg
MHg2KyNkZWZpbmUgU01CQkxLREFUICAgICAgIDB4NysjZGVmaW5lIFNNQlRSTlNBREQNCj4gPiAw
eDkrI2RlZmluZSBTTUJTTFZEQVRBICAgICAgMHhhKyNkZWZpbmUgU01MSU5LX1BJTl9DVEwgIDB4
ZSsjZGVmaW5lDQo+ID4gU01CVVNfUElOX0NUTCAgIDB4ZisjZGVmaW5lIFNNQlNMVkNNRCAgICAg
ICAweDExKysvKiBJODAxIGNvbW1hbmQNCj4gPiBjb25zdGFudHMgKi8rI2RlZmluZSBJODAxX1FV
SUNLICAgICAgICAgICAoMCA8PCAyKSsjZGVmaW5lIEk4MDFfQllURSAgICAgICAgICAgICgxDQo+
ID4gPDwgMikrI2RlZmluZSBJODAxX0JZVEVfREFUQSAgICAgICAoMiA8PCAyKSsjZGVmaW5lIEk4
MDFfV09SRF9EQVRBICAgICAgICgzDQo+ID4gPDwgMikrI2RlZmluZSBJODAxX1BST0NFU1NfQ0FM
TCAgICAoNCA8PCAyKSsjZGVmaW5lIEk4MDFfQkxPQ0tfREFUQQ0KPiA+ICg1IDw8IDIpKyNkZWZp
bmUgSTgwMV9JMkNfQkxPQ0tfREFUQSAgKDYgPDwgMikgICAgIC8qIElDSDUgYW5kIGxhdGVyICov
KysvKg0KPiA+IEk4MDEgSG9zdCBDb250cm9sIHJlZ2lzdGVyIGJpdHMgKi8rI2RlZmluZSBTTUJI
U1RDTlRfSU5UUkVOICAgICAoMSA8PA0KPiA+IDApKyNkZWZpbmUgU01CSFNUQ05UX0tJTEwgICAg
ICAgKDEgPDwgMSkrI2RlZmluZSBTTUJIU1RDTlRfTEFTVF9CWVRFDQo+ID4gKDEgPDwgNSkrI2Rl
ZmluZSBTTUJIU1RDTlRfU1RBUlQgICAgICAoMSA8PCA2KSsjZGVmaW5lDQo+ID4gU01CSFNUQ05U
X1BFQ19FTiAgICAgKDEgPDwgNykgICAgLyogSUNIMyBhbmQgbGF0ZXIgKi8rKy8qIEk4MDEgSG9z
dHMgU3RhdHVzDQo+ID4gcmVnaXN0ZXIgYml0cyAqLysjZGVmaW5lIFNNQkhTVFNUU19CWVRFX0RP
TkUgICAgICgxIDw8IDcpKyNkZWZpbmUNCj4gPiBTTUJIU1RTVFNfSU5VU0VfU1RTICAgICAoMSA8
PCA2KSsjZGVmaW5lIFNNQkhTVFNUU19TTUJBTEVSVF9TVFMgICgxDQo+ID4gPDwgNSkrI2RlZmlu
ZSBTTUJIU1RTVFNfRkFJTEVEICAgICAgICAoMSA8PCA0KSsjZGVmaW5lDQo+ID4gU01CSFNUU1RT
X0JVU19FUlIgICAgICAgKDEgPDwgMykrI2RlZmluZSBTTUJIU1RTVFNfREVWX0VSUiAgICAgICAo
MSA8PA0KPiA+IDIpKyNkZWZpbmUgU01CSFNUU1RTX0lOVFIgICAgICAgICAgKDEgPDwgMSkrI2Rl
ZmluZSBTTUJIU1RTVFNfSE9TVF9CVVNZDQo+ID4gKDEgPDwgMCkrKy8qIEZvciBTTUJYTUlUQURE
IHJlZ2lzdGVyLiAqLysjZGVmaW5lIFhNSVRfV1JJVEUoZGV2KQ0KPiA+ICgoKGRldikgPDwgMSkg
fCAwKSsjZGVmaW5lIFhNSVRfUkVBRChkZXYpICAgKCgoZGV2KSA8PCAxKSB8DQo+ID4gMSkrK1NU
QVRJQytVSU5UMTYrRUZJQVBJK1NtYnVzR2V0U01CYXNlQWRkcmVzcyAoKyAgSU4gVk9JRCsgICkr
eysNCj4gPiBVSU5UMTYgIENtZDsrICBVSU5UMzIgIFJlZzMyOysgIFVJTlQxNiAgSW9CYXNlOysr
ICBJb0Jhc2UgPSAwOysgIC8vKyANCj4gPiAvLyBUZXN0IGlmIEkvTyBkZWNvZGluZyBpcyBlbmFi
bGVkKyAgLy8rICBDbWQgPSBQY2lSZWFkMTYgKFBjaURldmljZSArIDB4NCk7KyAgaWYNCj4gPiAo
IShDbWQgJiAxKSkgeysgICAgZ290byBDbG9zZUFuZFJldHVybjsrICB9KysgIC8vKyAgLy8gVGVz
dCBpZiBCQVIwIGlzIEkvTyBiYXINCj4gPiBhbmQgZW5hYmxlZCsgIC8vKyAgUmVnMzIgPSBQY2lS
ZWFkMTYgKFBjaURldmljZSArIDB4MjApOysgIGlmDQo+ID4gKCEoUmVnMzIgJiAxKQ0KPiA+IHx8
ICEoUmVnMzIgJiAweGZmZmMpIHx8ICgoUmVnMzIgJiAweGZmZmMpID09IDB4ZmZmYykpIHsrICAg
IGdvdG8NCj4gPiBDbG9zZUFuZFJldHVybjsrICB9KysgIElvQmFzZSA9IFJlZzMyICYgMHhmZmZj
OysrQ2xvc2VBbmRSZXR1cm46KyANCj4gPiByZXR1cm4gSW9CYXNlOyt9KytTVEFUSUMrRUZJX1NU
QVRVUytTbWJ1c1NldHVwQ29tbWFuZCAoKyAgSU4gVUlOVDE2DQo+ID4gSW9CYXNlLCsgIElOIFVJ
TlQ4ICAgQ3RybCwrICBJTiBVSU5UOCAgIFhtaXRhZGQrICApK3srICBVSU5UTiAgTG9vcHMgPSAx
MDAwMDsrDQo+ID4gVUlOVDggIGhvc3RfYnVzeTsrKyAgZG8geysgICAgTWljcm9TZWNvbmREZWxh
eSAoMTAwKTsrICAgIGhvc3RfYnVzeSA9DQo+ID4gSW9SZWFkOCAoSW9CYXNlICsgU01CSFNUU1RB
VCkgJiBTTUJIU1RTVFNfSE9TVF9CVVNZOysgIH0gd2hpbGUgKC0tDQo+ID4gTG9vcHMgJiYgaG9z
dF9idXN5KTsrKyAgaWYgKExvb3BzID09IDApIHsrICAgIHJldHVybiBFRklfVElNRU9VVDsrICB9
KysgIC8qDQo+ID4gQ2xlYXIgYW55IGxpbmdlcmluZyBlcnJvcnMsIHNvIHRoZSB0cmFuc2FjdGlv
biB3aWxsIHJ1bi4gKi8rDQo+ID4gSW9Xcml0ZTggKElvQmFzZSArIFNNQkhTVFNUQVQsIElvUmVh
ZDggKElvQmFzZSArIFNNQkhTVFNUQVQpKTsrKyAgLyogDQo+ID4gU2V0IHVwIHRyYW5zYWN0aW9u
ICovKw0KPiA+IC8qIERpc2FibGUgaW50ZXJydXB0cyAqLysgIElvV3JpdGU4IChJb0Jhc2UgKyBT
TUJIU1RDVEwsIEN0cmwpOysrDQo+ID4gLyogU2V0IHRoZSBkZXZpY2UgSSdtIHRhbGtpbmcgdG8u
ICovKyAgSW9Xcml0ZTggKElvQmFzZSArIA0KPiA+IFNNQlhNSVRBREQsIFhtaXRhZGQpOysrIHJl
dHVybiANCj4gPiBFRklfU1VDQ0VTUzsrfSsrU1RBVElDK0VGSV9TVEFUVVMrU21idXNFeGVjdXRl
Q29tbWFuZCAoKyBJTiBVSU5UMTYNCj4gPiBJb0Jhc2UrICApK3srICBVSU5UTiAgTG9vcHMgPSAx
MDAwMDsrICBVSU5UOCAgU3RhdHVzOysrICAvKiBTdGFydA0KPiA+IHRoZSBjb21tYW5kLiAqLysg
IElvV3JpdGU4IChJb0Jhc2UgKyBTTUJIU1RDVEwsIElvUmVhZDggKElvQmFzZSArDQo+ID4gU01C
SFNUQ1RMKSB8IFNNQkhTVENOVF9TVEFSVCk7KyAgU3RhdHVzID0gSW9SZWFkOCAoSW9CYXNlICsN
Cj4gPiBTTUJIU1RTVEFUKTsrKyAgLyogUG9sbCBmb3IgaXQgdG8gc3RhcnQuICovKyAgZG8geysg
ICAgTWljcm9TZWNvbmREZWxheQ0KPiA+ICgxMDApOysrICAgIC8qIElmIHdlIHBvbGwgdG9vIHNs
b3csIHdlIGNvdWxkIG1pc3MgSE9TVF9CVVNZIGZsYWcrICAgICAqIHNldCBhbmQNCj4gPiBkZXRl
Y3QgSU5UUiBvciB4X0VSUiBmbGFncyBpbnN0ZWFkIGhlcmUuKyAgICAgKi8rICAgIFN0YXR1cyA9
IElvUmVhZDggKElvQmFzZSArDQo+ID4gU01CSFNUU1RBVCk7KysgICAgU3RhdHVzICY9IH4oU01C
SFNUU1RTX1NNQkFMRVJUX1NUUyB8DQo+ID4gU01CSFNUU1RTX0lOVVNFX1NUUyk7KyAgfSB3aGls
ZSAoLS1Mb29wcyAmJiBTdGF0dXMgPT0gMCk7KysgIGlmIChMb29wcyA9PSAwKQ0KPiA+IHsrICAg
IHJldHVybiBFRklfVElNRU9VVDsrICB9KysgIHJldHVybg0KPiA+IEVGSV9TVUNDRVNTOyt9KytT
VEFUSUMrQk9PTEVBTitTbWJ1c0hvc3RDb21wbGV0ZWQgKCsgIElOIFVJTlQ4DQo+ID4gU3RhdHVz
KyAgKSt7KyAgaWYgKFN0YXR1cyAmIFNNQkhTVFNUU19IT1NUX0JVU1kpIHsrICAgIHJldHVybiBG
QUxTRTsrICB9KysNCj4gPiAvKiBUaGVzZSBzdGF0dXMgYml0cyBkbyBub3QgaW1wbHkgY29tcGxl
dGlvbiBvZiB0cmFuc2FjdGlvbi4gKi8rIA0KPiA+IFN0YXR1cyAmPSB+KFNNQkhTVFNUU19CWVRF
X0RPTkUgfCBTTUJIU1RTVFNfSU5VU0VfU1RTIHwgDQo+ID4gU01CSFNUU1RTX1NNQkFMRVJUX1NU
Uyk7KyAgcmV0dXJuIFN0YXR1cyAhPSANCj4gPiAwOyt9KytTVEFUSUMrRUZJX1NUQVRVUytTbWJ1
c0NvbXBsZXRlQ29tbWFuZCAoKyAgSU4gVUlOVDE2DQo+ID4gSW9CYXNlKyAgKSt7KyAgVUlOVE4g
IExvb3BzID0gMTAwMDA7KyAgVUlOVDggIFN0YXR1czsrKyAgZG8geysNCj4gPiBNaWNyb1NlY29u
ZERlbGF5ICgxMDApOysgICAgU3RhdHVzID0gSW9SZWFkOCAoSW9CYXNlICsgU01CSFNUU1RBVCk7
KyAgfQ0KPiA+IHdoaWxlICgtLUxvb3BzICYmICFTbWJ1c0hvc3RDb21wbGV0ZWQgKFN0YXR1cykp
OysrICBpZiAoTG9vcHMgPT0gMCkgDQo+ID4geysgcmV0dXJuIEVGSV9USU1FT1VUOysgIH0rKyAg
LyogVGhlc2Ugc3RhdHVzIGJpdHMgZG8gbm90IGltcGx5IA0KPiA+IGVycm9ycy4gKi8rIFN0YXR1
cyAmPSB+KFNNQkhTVFNUU19CWVRFX0RPTkUgfCBTTUJIU1RTVFNfSU5VU0VfU1RTIHwNCj4gPiBT
TUJIU1RTVFNfU01CQUxFUlRfU1RTKTsrKyAgaWYgKFN0YXR1cyA9PSBTTUJIU1RTVFNfSU5UUikg
eysgICAgcmV0dXJuDQo+ID4gRUZJX1NVQ0NFU1M7KyAgfSsrICByZXR1cm4NCj4gPiBFRklfTk9f
UkVTUE9OU0U7K30rK1NUQVRJQytFRklfU1RBVFVTK0VGSUFQSStTbWJ1c1Byb2Nlc3NDYWxsT3Bl
cg0KPiA+IGF0aW9uICgrICBJTiBDT05TVCAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICBJb0Jh
c2UsKyAgSU4gQ09OU1QNCj4gPiBFRklfU01CVVNfSENfUFJPVE9DT0wgICAgICpUaGlzLCsgIElO
ICAgICAgICBFRklfU01CVVNfREVWSUNFX0FERFJFU1MNCj4gPiBTbGF2ZUFkZHJlc3MsKyAgSU4g
ICAgICAgIEVGSV9TTUJVU19ERVZJQ0VfQ09NTUFORCAgQ29tbWFuZCwrICBJTg0KPiA+IEJPT0xF
QU4gICAgICAgICAgICAgICAgICAgUGVjQ2hlY2ssKyAgSU4gT1VUICAgIFVJTlROICAgICAgICAg
ICAgICAgICAgICAgKkxlbmd0aCwrICBJTiBPVVQNCj4gPiBWT0lEICAgICAgICAgICAgICAgICAg
ICAgICpCdWZmZXIrICApK3srICBFRklfU1RBVFVTICBTdGF0dXM7KyAgVUlOVDE2DQo+ID4gUmVz
dWx0QnVmZmVyOysgIFVJTlQxNiAgICAgIEFkZHJCdWZmZXI7KysgIGlmICghQnVmZmVyIHx8ICFM
ZW5ndGgpIHsrICAgIHJldHVybg0KPiA+IFJFVFVSTl9JTlZBTElEX1BBUkFNRVRFUjsrICB9Kysg
IGlmICgqTGVuZ3RoICE9IDIpIHsrICAgIHJldHVybg0KPiA+IFJFVFVSTl9JTlZBTElEX1BBUkFN
RVRFUjsrICB9KysgIENvcHlNZW0gKCZBZGRyQnVmZmVyLCBCdWZmZXIsIA0KPiA+IHNpemVvZiAo
QWRkckJ1ZmZlcikpOysrICAvKiBTZXQgdXAgZm9yIHByb2Nlc3MgY2FsbCAqLysgIFN0YXR1cyA9
IA0KPiA+IFNtYnVzU2V0dXBDb21tYW5kIChJb0Jhc2UsIEk4MDFfUFJPQ0VTU19DQUxMLCBYTUlU
X1dSSVRFDQo+ID4gKFNsYXZlQWRkcmVzcy5TbWJ1c0RldmljZUFkZHJlc3MpKTsrICBpZiAoRUZJ
X0VSUk9SIChTdGF0dXMpKSB7KyAgICByZXR1cm4NCj4gPiBTdGF0dXM7KyAgfSsrICAvKiBjbWQg
d2lsbCBvbmx5IGJlIHNlbmQgaWYgSTJDX0VOIGlzIHplcm8gKi8rDQo+ID4gSW9Xcml0ZTggKElv
QmFzZQ0KPiA+ICsgU01CSFNUQ01ELCBDb21tYW5kKTsrKyAgSW9Xcml0ZTggKElvQmFzZSArIFNN
QkhTVERBVDAsIEFkZHJCdWZmZXINCj4gPiAmIDB4MDBmZik7KyAgSW9Xcml0ZTggKElvQmFzZSAr
IFNNQkhTVERBVDEsIChBZGRyQnVmZmVyICYgMHhmZjAwKSA+PiANCj4gPiA4KTsrKw0KPiA+IC8q
IFN0YXJ0IHRoZSBjb21tYW5kICovKyAgU3RhdHVzID0gU21idXNFeGVjdXRlQ29tbWFuZCAoSW9C
YXNlKTsrICBpZg0KPiA+IChFRklfRVJST1IgKFN0YXR1cykpIHsrICAgIHJldHVybiBTdGF0dXM7
KyAgfSsrICAvKiBQb2xsIGZvciB0cmFuc2FjdGlvbg0KPiA+IGNvbXBsZXRpb24gKi8rICBTdGF0
dXMgPSBTbWJ1c0NvbXBsZXRlQ29tbWFuZCAoSW9CYXNlKTsrICBpZg0KPiA+IChFRklfRVJST1Ig
KFN0YXR1cykpIHsrICAgIHJldHVybiBTdGF0dXM7KyAgfSsrICAvKiBSZWFkIHJlc3VsdHMgb2Yg
dHJhbnNhY3Rpb24NCj4gPiAqLysgIFJlc3VsdEJ1ZmZlciAgPSBJb1JlYWQ4IChJb0Jhc2UgKyBT
TUJIU1REQVQwKTsrICBSZXN1bHRCdWZmZXINCj4gPiB8PQ0KPiA+IChJb1JlYWQ4IChJb0Jhc2Ug
KyBTTUJIU1REQVQxKSA8PCA4KTsrKyAgQ29weU1lbSAoQnVmZmVyLCANCj4gPiAmUmVzdWx0QnVm
ZmVyLCBzaXplb2YgKFJlc3VsdEJ1ZmZlcikpOysgICpMZW5ndGggPSBzaXplb2YgDQo+ID4gKFJl
c3VsdEJ1ZmZlcik7KysgcmV0dXJuIEVGSV9TVUNDRVNTOyt9KytTVEFUSUMrRUZJX1NUQVRVUytF
RklBUEkrU21idXNSZWFkT3BlcmF0aW9uDQo+ID4gKCsgIElOIENPTlNUICBVSU5UMTYgICAgICAg
ICAgICAgICAgICAgIElvQmFzZSwrICBJTiBDT05TVA0KPiA+IEVGSV9TTUJVU19IQ19QUk9UT0NP
TCAgICAgKlRoaXMsKyAgSU4gICAgICAgIEVGSV9TTUJVU19ERVZJQ0VfQUREUkVTUw0KPiA+IFNs
YXZlQWRkcmVzcywrICBJTiAgICAgICAgRUZJX1NNQlVTX0RFVklDRV9DT01NQU5EICBDb21tYW5k
LCsgIElODQo+ID4gQk9PTEVBTiAgICAgICAgICAgICAgICAgICBQZWNDaGVjaywrICBJTiBPVVQg
ICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAqTGVuZ3RoLCsgIElOIE9VVA0KPiA+IFZPSUQg
ICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlcisgICkreysgIEVGSV9TVEFUVVMgIFN0YXR1czsr
ICBVSU5UOA0KPiA+IFJlc3VsdEJ1ZmZlcjsrKyAgaWYgKCFCdWZmZXIgfHwgIUxlbmd0aCkgeysg
ICAgcmV0dXJuDQo+ID4gUkVUVVJOX0lOVkFMSURfUEFSQU1FVEVSOysgIH0rKyAgLyogU2V0IHVw
IGZvciBhIGJ5dGUgZGF0YSByZWFkLiAqLysgDQo+ID4gU3RhdHVzID0gU21idXNTZXR1cENvbW1h
bmQgKElvQmFzZSwgSTgwMV9CWVRFX0RBVEEsIFhNSVRfUkVBRA0KPiA+IChTbGF2ZUFkZHJlc3Mu
U21idXNEZXZpY2VBZGRyZXNzKSk7KyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgeysgICAgcmV0
dXJuDQo+ID4gU3RhdHVzOysgIH0rKyAgSW9Xcml0ZTggKElvQmFzZSArIFNNQkhTVENNRCwgQ29t
bWFuZCk7KysgIElvV3JpdGU4IA0KPiA+IChJb0Jhc2UgKyBTTUJIU1REQVQwLCAwKTsrICBJb1dy
aXRlOCAoSW9CYXNlICsgU01CSFNUREFUMSwgMCk7KysgIC8qIA0KPiA+IFN0YXJ0IHRoZSBjb21t
YW5kICovKyAgU3RhdHVzID0gU21idXNFeGVjdXRlQ29tbWFuZCAoSW9CYXNlKTsrICBpZg0KPiA+
IChFRklfRVJST1IgKFN0YXR1cykpIHsrICAgIHJldHVybiBTdGF0dXM7KyAgfSsrICAvKiBQb2xs
IGZvciB0cmFuc2FjdGlvbg0KPiA+IGNvbXBsZXRpb24gKi8rICBTdGF0dXMgPSBTbWJ1c0NvbXBs
ZXRlQ29tbWFuZCAoSW9CYXNlKTsrICBpZg0KPiA+IChFRklfRVJST1IgKFN0YXR1cykpIHsrICAg
IHJldHVybiBTdGF0dXM7KyAgfSsrICAvKiBSZWFkIHJlc3VsdHMgb2YgdHJhbnNhY3Rpb24NCj4g
PiAqLysgIFJlc3VsdEJ1ZmZlciA9IElvUmVhZDggKElvQmFzZSArIFNNQkhTVERBVDApOysrICBD
b3B5TWVtIA0KPiA+IChCdWZmZXIsICZSZXN1bHRCdWZmZXIsIHNpemVvZiAoUmVzdWx0QnVmZmVy
KSk7KyAgKkxlbmd0aCA9IHNpemVvZiANCj4gPiAoUmVzdWx0QnVmZmVyKTsrKyByZXR1cm4gRUZJ
X1NVQ0NFU1M7K30rK1NUQVRJQytFRklfU1RBVFVTK0VGSUFQSStTbWJ1c1dyaXRlT3BlcmF0aW9u
DQo+ID4gKCsgIElOIENPTlNUICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIElvQmFzZSwrICBJ
TiBDT05TVA0KPiA+IEVGSV9TTUJVU19IQ19QUk9UT0NPTCAgICAgKlRoaXMsKyAgSU4gICAgICAg
IEVGSV9TTUJVU19ERVZJQ0VfQUREUkVTUw0KPiA+IFNsYXZlQWRkcmVzcywrICBJTiAgICAgICAg
RUZJX1NNQlVTX0RFVklDRV9DT01NQU5EICBDb21tYW5kLCsgIElODQo+ID4gQk9PTEVBTiAgICAg
ICAgICAgICAgICAgICBQZWNDaGVjaywrICBJTiBPVVQgICAgVUlOVE4gICAgICAgICAgICAgICAg
ICAgICAqTGVuZ3RoLCsgIElOIE9VVA0KPiA+IFZPSUQgICAgICAgICAgICAgICAgICAgICAgKkJ1
ZmZlcisgICkreysgIEVGSV9TVEFUVVMgIFN0YXR1czsrICBVSU5UOA0KPiA+IElucHV0QnVmZmVy
OysrICBpZiAoIUJ1ZmZlciB8fCAhTGVuZ3RoKSB7KyAgICByZXR1cm4NCj4gPiBSRVRVUk5fSU5W
QUxJRF9QQVJBTUVURVI7KyAgfSsrICBpZiAoKkxlbmd0aCAhPSAxKSB7KyAgICByZXR1cm4NCj4g
PiBSRVRVUk5fSU5WQUxJRF9QQVJBTUVURVI7KyAgfSsrICBDb3B5TWVtICgmSW5wdXRCdWZmZXIs
IEJ1ZmZlciwgDQo+ID4gc2l6ZW9mIChJbnB1dEJ1ZmZlcikpOysrICAvKiBTZXQgdXAgZm9yIGEg
Ynl0ZSBkYXRhIHJlYWQuICovKyBTdGF0dXMgDQo+ID4gPSBTbWJ1c1NldHVwQ29tbWFuZCAoSW9C
YXNlLCBJODAxX0JZVEVfREFUQSwgWE1JVF9XUklURQ0KPiA+IChTbGF2ZUFkZHJlc3MuU21idXNE
ZXZpY2VBZGRyZXNzKSk7KyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgeysgICAgcmV0dXJuDQo+
ID4gU3RhdHVzOysgIH0rKyAgSW9Xcml0ZTggKElvQmFzZSArIFNNQkhTVENNRCwgQ29tbWFuZCk7
KysgIElvV3JpdGU4IA0KPiA+IChJb0Jhc2UgKyBTTUJIU1REQVQwLCBJbnB1dEJ1ZmZlcik7Kysg
IC8qIFN0YXJ0IHRoZSBjb21tYW5kICovKyAgU3RhdHVzID0NCj4gPiBTbWJ1c0V4ZWN1dGVDb21t
YW5kIChJb0Jhc2UpOysgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsrICAgIHJldHVybg0KPiA+
IFN0YXR1czsrICB9KysgIC8qIFBvbGwgZm9yIHRyYW5zYWN0aW9uIGNvbXBsZXRpb24gKi8rICBT
dGF0dXMgPQ0KPiA+IFNtYnVzQ29tcGxldGVDb21tYW5kIChJb0Jhc2UpOysgIGlmIChFRklfRVJS
T1IgKFN0YXR1cykpIHsrICAgIHJldHVybg0KPiA+IFN0YXR1czsrICB9KysgIHJldHVybg0KPiA+
IEVGSV9TVUNDRVNTOyt9KytTVEFUSUMrRUZJX1NUQVRVUytFRklBUEkrU21idXNFeGVjdXRlT3Bl
cmF0aW9uICgrDQo+ID4gSU4gQ09OU1QgIEVGSV9TTUJVU19IQ19QUk9UT0NPTCAgICAgKlRoaXMs
KyAgSU4NCj4gPiBFRklfU01CVVNfREVWSUNFX0FERFJFU1MgIFNsYXZlQWRkcmVzcywrICBJTiAN
Cj4gPiBFRklfU01CVVNfREVWSUNFX0NPTU1BTkQgIENvbW1hbmQsKyAgSU4NCj4gPiBFRklfU01C
VVNfT1BFUkFUSU9OICAgICAgIE9wZXJhdGlvbiwrICBJTiAgICAgICAgQk9PTEVBTg0KPiA+IFBl
Y0NoZWNrLCsgIElOIE9VVCAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICpMZW5ndGgsKyAg
SU4gT1VUICAgIFZPSUQNCj4gPiAqQnVmZmVyKyAgKSt7KyAgVUlOVDE2ICBJb0Jhc2U7KysgIElv
QmFzZSA9IFNtYnVzR2V0U01CYXNlQWRkcmVzcyAoKTsrICBpZg0KPiA+ICghSW9CYXNlKSB7KyAg
ICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOysgIH0rKyAgaWYgKE9wZXJhdGlvbiA9PQ0KPiA+IEVm
aVNtYnVzUHJvY2Vzc0NhbGwpIHsrICAgIHJldHVybiBTbWJ1c1Byb2Nlc3NDYWxsT3BlcmF0aW9u
ICgrDQo+ID4gSW9CYXNlLCsgICAgICAgICAgICAgVGhpcywrICAgICAgICAgICAgIFNsYXZlQWRk
cmVzcywrICAgICAgICAgICAgIENvbW1hbmQsKw0KPiA+IFBlY0NoZWNrLCsgICAgICAgICAgICAg
TGVuZ3RoLCsgICAgICAgICAgICAgQnVmZmVyKyAgICAgICAgICAgICApOysgIH0gZWxzZSBpZiAo
T3BlcmF0aW9uID09DQo+ID4gRWZpU21idXNSZWFkQnl0ZSkgeysgICAgcmV0dXJuIFNtYnVzUmVh
ZE9wZXJhdGlvbiAoKyAgICAgICAgICAgICBJb0Jhc2UsKw0KPiA+IFRoaXMsKyAgICAgICAgICAg
ICBTbGF2ZUFkZHJlc3MsKyAgICAgICAgICAgICBDb21tYW5kLCsgICAgICAgICAgICAgUGVjQ2hl
Y2ssKw0KPiA+IExlbmd0aCwrICAgICAgICAgICAgIEJ1ZmZlcisgICAgICAgICAgICAgKTsrICB9
IGVsc2UgaWYgKE9wZXJhdGlvbiA9PSBFZmlTbWJ1c1dyaXRlQnl0ZSkNCj4gPiB7KyAgICByZXR1
cm4gU21idXNXcml0ZU9wZXJhdGlvbiAoKyAgICAgICAgICAgICBJb0Jhc2UsKyAgICAgICAgICAg
ICBUaGlzLCsNCj4gPiBTbGF2ZUFkZHJlc3MsKyAgICAgICAgICAgICBDb21tYW5kLCsgICAgICAg
ICAgICAgUGVjQ2hlY2ssKyAgICAgICAgICAgICBMZW5ndGgsKw0KPiA+IEJ1ZmZlcisgICAgICAg
ICAgICAgKTsrICB9KysgIHJldHVybg0KPiA+IEVGSV9VTlNVUFBPUlRFRDsrfSsrU1RBVElDK0VG
SV9TVEFUVVMrRUZJQVBJK1NtYnVzSGNQcm90b2NvbEFycEQNCj4gPiBldmljZSAoKyAgSU4gQ09O
U1QgIEVGSV9TTUJVU19IQ19QUk9UT0NPTCAqVGhpcywrICBJTiAgICAgICAgQk9PTEVBTg0KPiA+
IEFycEFsbCwrICBJTiAgICAgICAgRUZJX1NNQlVTX1VESUQgKlNtYnVzVWRpZCwgT1BUSU9OQUwr
ICBJTiBPVVQNCj4gPiBFRklfU01CVVNfREVWSUNFX0FERFJFU1MgICpTbGF2ZUFkZHJlc3MgT1BU
SU9OQUwrICApK3srICByZXR1cm4gDQo+ID4gRUZJX1VOU1VQUE9SVEVEOyt9KytTVEFUSUMrRUZJ
X1NUQVRVUytFRklBUEkrU21idXNIY1Byb3RvY29sR2V0QQ0KPiA+IHJwTWFwICgrICBJTiBDT05T
VCAgRUZJX1NNQlVTX0hDX1BST1RPQ09MICAqVGhpcywrICBJTiBPVVQgICAgVUlOVE4NCj4gPiAq
TGVuZ3RoLCsgIElOIE9VVCAgICBFRklfU01CVVNfREVWSUNFX01BUCAgICoqU21idXNEZXZpY2VN
YXArICApK3srDQo+ID4gcmV0dXJuDQo+ID4gRUZJX1VOU1VQUE9SVEVEOyt9KytTVEFUSUMrRUZJ
X1NUQVRVUytFRklBUEkrU21idXNIY1Byb3RvY29sTm90aWYNCj4gPiB5ICgrICBJTiBDT05TVCAg
RUZJX1NNQlVTX0hDX1BST1RPQ09MICAgICAgKlRoaXMsKyAgSU4NCj4gPiBFRklfU01CVVNfREVW
SUNFX0FERFJFU1MgICBTbGF2ZUFkZHJlc3MsKyAgSU4gICAgICAgIFVJTlRODQo+ID4gRGF0YSwr
ICBJTiAgICAgICAgRUZJX1NNQlVTX05PVElGWV9GVU5DVElPTiAgTm90aWZ5RnVuY3Rpb24rICAp
K3srICByZXR1cm4NCj4gPiBFRklfVU5TVVBQT1JURUQ7K30rK0VGSV9TTUJVU19IQ19QUk9UT0NP
TCAgbVNtYnVzUHJvdG9jb2wgPSB7KyANCj4gPiBTbWJ1c0V4ZWN1dGVPcGVyYXRpb24sKyAgU21i
dXNIY1Byb3RvY29sQXJwRGV2aWNlLCsgDQo+ID4gU21idXNIY1Byb3RvY29sR2V0QXJwTWFwLCsg
IFNtYnVzSGNQcm90b2NvbE5vdGlmeSt9OysrLyoqKyAgVGhlIA0KPiA+IEVudHJ5IFBvaW50IGZv
ciBTTUJVUyBkcml2ZXIuKysgIEl0IGluc3RhbGxzIERyaXZlckJpbmRpbmcuKysgIEByZXR2YWwg
RUZJX1NVQ0NFU1MNCj4gPiBUaGUgZW50cnkgcG9pbnQgaXMgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5
LisgIEByZXR2YWwgb3RoZXIgICAgICAgICAgICAgU29tZSBlcnJvcg0KPiA+IG9jY3VycyB3aGVu
IGV4ZWN1dGluZyB0aGlzIGVudHJ5DQo+ID4gcG9pbnQuKysqKi8rRUZJX1NUQVRVUytFRklBUEkr
SW5zdGFsbFNtYnVzUHJvdG9jb2wgKCsgIElOIEVGSV9IQU5ETEUgDQo+ID4gSW1hZ2VIYW5kbGUs
KyAgSU4gRUZJX1NZU1RFTV9UQUJMRSAgKlN5c3RlbVRhYmxlKyAgKSt7KyAgRUZJX1NUQVRVUw0K
PiA+IFN0YXR1czsrICBVSU5UMTYgICAgICBJb0Jhc2U7KyAgVUlOVDggICAgICAgRGV2aWNlOysg
IFVJTlQ4ICAgICAgIEZ1bmN0aW9uOysNCj4gPiBCT09MRUFOICAgICBCcmVha0xvb3A7KyAgVUlO
VDggICAgICAgQmFzZUNsYXNzOysgIFVJTlQ4ICAgICAgIFN1YkNsYXNzOysrDQo+ID4gQnJlYWtM
b29wID0gRkFMU0U7KyAgU3RhdHVzICAgID0gRUZJX1NVQ0NFU1M7KysgIC8vKyAgLy8gU2VhcmNo
IGZvciBTTUJ1cw0KPiA+IENvbnRyb2xsZXIgd2l0aGluIFBDSSBEZXZpY2VzIG9uIHJvb3QgYnVz
KyAgLy8rICBmb3IgKERldmljZSA9IDA7IERldmljZSA8PQ0KPiA+IFBDSV9NQVhfREVWSUNFOyBE
ZXZpY2UrKykgeysgICAgZm9yIChGdW5jdGlvbiA9IDA7IEZ1bmN0aW9uIDw9DQo+ID4gUENJX01B
WF9GVU5DOyBGdW5jdGlvbisrKSB7KyAgICAgIGlmIChQY2lSZWFkMTYgKFBDSV9MSUJfQUREUkVT
UyAoMCwNCj4gPiBEZXZpY2UsIEZ1bmN0aW9uLCAweDAwKSkgIT0gMHg4MDg2KSB7KyAgICAgICAg
Y29udGludWU7KyAgICAgIH0rKyAgICAgIEJhc2VDbGFzcyA9DQo+ID4gUGNpUmVhZDggKFBDSV9M
SUJfQUREUkVTUyAoMCwgRGV2aWNlLCBGdW5jdGlvbiwgMHgwQikpOysrICAgICAgaWYgKEJhc2VD
bGFzcw0KPiA+ID09IFBDSV9DTEFTU19TRVJJQUwpIHsrICAgICAgICBTdWJDbGFzcyA9IFBjaVJl
YWQ4IChQQ0lfTElCX0FERFJFU1MgKDAsDQo+ID4gRGV2aWNlLCBGdW5jdGlvbiwgMHhBKSk7Kysg
ICAgICAgIGlmIChTdWJDbGFzcyA9PSBQQ0lfQ0xBU1NfU0VSSUFMX1NNQikgeysNCj4gPiBCcmVh
a0xvb3AgPSBUUlVFOysgICAgICAgICAgUGNpRGV2aWNlID0gUENJX0xJQl9BRERSRVNTICgwLCBE
ZXZpY2UsIEZ1bmN0aW9uLA0KPiA+IDB4MDApOysgICAgICAgICAgYnJlYWs7KyAgICAgICAgfSsg
ICAgICB9KyAgICB9KysgICAgaWYgKEJyZWFrTG9vcCkgeysgICAgICBicmVhazsrICAgIH0rICB9
KysgIGlmDQo+ID4gKCFCcmVha0xvb3ApIHsrICAgIERFQlVHICgoRUZJX0RfSU5GTywgIk5vIFBD
SSBTTUJVUyBjb250cm9sbGVyDQo+ID4gZm91bmQuXG4iKSk7KyAgICByZXR1cm4gRUZJX1VOU1VQ
UE9SVEVEOysgIH0rKyAgREVCVUcgKChFRklfRF9JTkZPLCAiUENJDQo+ID4gRGV2aWNlIGZvdW5k
IG9uIDAtJXgtJXhcbiIsIERldmljZSwgRnVuY3Rpb24pKTsrKyAgSW9CYXNlID0NCj4gPiBTbWJ1
c0dldFNNQmFzZUFkZHJlc3MgKCk7KyAgaWYgKCFJb0Jhc2UpIHsrICAgIHJldHVybg0KPiA+IEVG
SV9VTlNVUFBPUlRFRDsrICB9KysgIERFQlVHICgoKyAgICBFRklfRF9JTkZPLCsgICAgIiVhOiBE
ZXRlY3RlZCBpODAxDQo+ID4gU01CdXMgY29udHJvbGxlciB3aXRoIFNNQkFTRSAweCV4XG4iLCsg
ICAgX19GVU5DVElPTl9fLCsNCj4gPiBJb0Jhc2UrICAgICkpOysrICBTdGF0dXMgPSBnQlMtPklu
c3RhbGxQcm90b2NvbEludGVyZmFjZSAoKw0KPiA+ICZtRHJpdmVySGFuZGxlLCsgICAgICAgICAg
ICAgICAgICAmZ0VmaVNtYnVzSGNQcm90b2NvbEd1aWQsKw0KPiA+IEVGSV9OQVRJVkVfSU5URVJG
QUNFLCsgICAgICAgICAgICAgICAgICAmbVNtYnVzUHJvdG9jb2wrICAgICAgICAgICAgICAgICAg
KTsrKyAgaWYNCj4gPiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7KyAgICByZXR1cm4gU3RhdHVzOysg
IH0rKyAgcmV0dXJuIEVGSV9TVUNDRVNTOyt9ZGlmZiAtLWdpdA0KPiA+IGEvVWVmaVBheWxvYWRQ
a2cvU21idXNEeGUvU01CdXNpODAxRHhlLmgNCj4gPiBiL1VlZmlQYXlsb2FkUGtnL1NtYnVzRHhl
L1NNQnVzaTgwMUR4ZS5oDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAw
MDAwMDAwLi5lODg4MjNkYTMxDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL1VlZmlQYXls
b2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5oDQo+ID4gQEAgLTAsMCArMSwxNyBAQA0KPiA+
ICsvKiogQGZpbGUrICBIZWFkZXIgZmlsZSBmb3IgYSBnZW5lcmljIGk4MDEgU01CVVMgZHJpdmVy
LisrQ29weXJpZ2h0DQo+ID4gKyhjKSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0
cw0KPiA+ICtyZXNlcnZlZC48QlI+K1NQRFgtTGljZW5zZS1JZGVudGlmaWVyOg0KPiA+ICtCU0Qt
Mi1DbGF1c2UtUGF0ZW50KysrKiovKyNpZm5kZWYgX1BDSV9QTEFURk9STV9EWEVfSF8rI2RlZmlu
ZQ0KPiA+ICtfUENJX1BMQVRGT1JNX0RYRV9IXysjaW5jbHVkZSA8UGlEeGUuaD4rKyNpbmNsdWRl
IA0KPiA+ICs8SW5kdXN0cnlTdGFuZGFyZC9QY2kuaD4rI2luY2x1ZGUNCj4gPiArPEluZHVzdHJ5
U3RhbmRhcmQvUGNpMjIuaD4rI2luY2x1ZGUNCj4gPiArPFByb3RvY29sL1NtYnVzSGMuaD4rKyNl
bmRpZmRpZmYgLS1naXQgDQo+ID4gK2EvVWVmaVBheWxvYWRQa2cvU21idXNEeGUvU01CdXNpODAx
RHhlLmluZg0KPiA+ICtiL1VlZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5pbmYN
Cj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAuLjdkMTNjNDQ2
ZWYNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvVWVmaVBheWxvYWRQa2cvU21idXNEeGUv
U01CdXNpODAxRHhlLmluZg0KPiA+IEBAIC0wLDAgKzEsNDUgQEANCj4gPiArIyMgQGZpbGUrIyBU
aGlzIGRyaXZlciBwcm9kdWNlcyBnRWZpU21idXNIY1Byb3RvY29sR3VpZCBwcm90b2NvbCB0byAN
Cj4gPiArbG9hZA0KPiA+IGFjY2VzcyBTTUJVUyBkZXZpY2VzKyMrIyBDb3B5cmlnaHQgKGMpIDIw
MjAsIDllbGVtZW50cyBBZ2VuY3kNCj4gPiBHbWJIKyMrIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp
ZXI6IEJTRC0yLUNsYXVzZS0NCj4gPiBQYXRlbnQrIysjKyMjKytbRGVmaW5lc10rICBJTkZfVkVS
U0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1Kw0KPiA+IEJBU0VfTkFNRSAgICAg
ICAgICAgICAgICAgICAgICA9IFNNQnVzaTgwMUR4ZSsgIEZJTEVfR1VJRCAgICAgICAgICAgICAg
ICAgICAgICA9IDM5MDIwOERBLQ0KPiA+IDhFNkYtNDk1Ny05MEQ2LTQyMTczN0ZFQTlCRisgIE1P
RFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVIrDQo+ID4gVkVSU0lPTl9T
VFJJTkcgICAgICAgICAgICAgICAgID0gMS4wKyAgRU5UUllfUE9JTlQgICAgICAgICAgICAgICAg
ICAgID0NCj4gPiBJbnN0YWxsU21idXNQcm90b2NvbCsrIysjIFRoZSBmb2xsb3dpbmcgaW5mb3Jt
YXRpb24gaXMgZm9yIHJlZmVyZW5jZSANCj4gPiBJbnN0YWxsU21idXNQcm90b2NvbCsrb25seQ0K
PiA+IGFuZCBub3QgcmVxdWlyZWQgYnkgdGhlIGJ1aWxkIHRvb2xzLisjKyMgIFZBTElEX0FSQ0hJ
VEVDVFVSRVMgICAgICAgICAgID0gSUEzMg0KPiA+IFg2NCsjKytbU291cmNlcy5jb21tb25dKyAg
U01CdXNpODAxRHhlLmgrDQo+ID4gU01CdXNpODAxRHhlLmMrK1tQYWNrYWdlc10rICBNZGVQa2cv
TWRlUGtnLmRlYysgDQo+ID4gTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMrK1tMaWJyYXJ5
Q2xhc3Nlc10rDQo+ID4gVWVmaURyaXZlckVudHJ5UG9pbnQrICBEZWJ1Z0xpYisgIElvTGliKyAg
VWVmaUxpYisgIFRpbWVyTGliKw0KPiA+IFBjaUxpYisrW1Byb3RvY29sc10rICBnRWZpU21idXNI
Y1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgICAgIyMNCj4gPiBQUk9EVUNFUysrW0Rl
cGV4XSsgIFRSVUVkaWZmIC0tZ2l0DQo+ID4gUFJPRFVDRVMrK2EvVWVmaVBheWxvYWRQa2cvVWVm
aVBheWxvYWRQa2cuZHNjDQo+ID4gYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5kc2MN
Cj4gPiBpbmRleCAxY2U5NmE1MWMxLi41NDU0M2I3NjIzIDEwMDY0NA0KPiA+IC0tLSBhL1VlZmlQ
YXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnLmRzYw0KPiA+ICsrKyBiL1VlZmlQYXlsb2FkUGtnL1Vl
ZmlQYXlsb2FkUGtnLmRzYw0KPiA+IEBAIC0yOTAsNiArMjkwLDcgQEANCj4gPiAgIWlmICQoUEVS
Rk9STUFOQ0VfTUVBU1VSRU1FTlRfRU5BQkxFKQ0KPiA+IFBlcmZvcm1hbmNlTGlifE1kZU1vZHVs
ZVBrZy9MaWJyYXJ5L0R4ZUNvcmVQZXJmb3JtYW5jZUxpYi9EeGVDb3JlDQo+ID4gUGVyZm9ybWFu
Y2VMaWIuaW5mICFlbmRpZisNCj4gPiBTbWJ1c0xpYnxNZGVQa2cvTGlicmFyeS9EeGVTbWJ1c0xp
Yi9EeGVTbWJ1c0xpYi5pbmYNCj4gPiBbTGlicmFyeUNsYXNzZXMuY29tbW9uLkRYRV9EUklWRVJd
DQo+ID4gUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5mQEAgLTMw
NCw2ICszMDUsNyBAQA0KPiA+ICAhaWYgJChQRVJGT1JNQU5DRV9NRUFTVVJFTUVOVF9FTkFCTEUp
DQo+ID4gUGVyZm9ybWFuY2VMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlUGVyZm9ybWFuY2VM
aWIvRHhlUGVyZm9ybWENCj4gPiBuY2VMaWIuaW5mICFlbmRpZisNCj4gPiBTbWJ1c0xpYnxNZGVQ
a2cvTGlicmFyeS9EeGVTbWJ1c0xpYi9EeGVTbWJ1c0xpYi5pbmYNCj4gPiBbTGlicmFyeUNsYXNz
ZXMuY29tbW9uLkRYRV9SVU5USU1FX0RSSVZFUl0NCj4gPiBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkv
RHhlUGNkTGliL0R4ZVBjZExpYi5pbmZAQCAtNjU3LDYgKzY1OSwxMSBAQA0KPiA+ICAhZW5kaWYg
ICBNZGVNb2R1bGVQa2cvQnVzL0lzYS9QczJNb3VzZUR4ZS9QczJNb3VzZUR4ZS5pbmYgKyAgIysg
ICMNCj4gPiBTTUJVUyBTdXBwb3J0KyAgIysgIFVlZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVz
aTgwMUR4ZS5pbmYrICAgIyAgICMNCj4gPiBDb25zb2xlIFN1cHBvcnQgICAjZGlmZiAtLWdpdCBh
L1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnLmZkZg0KPiA+IGIvVWVmaVBheWxvYWRQa2cv
VWVmaVBheWxvYWRQa2cuZmRmDQo+ID4gaW5kZXggYzdiMDQ5NzhhZC4uODg2MWQyOTE2MiAxMDA2
NDQNCj4gPiAtLS0gYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5mZGYNCj4gPiArKysg
Yi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5mZGYNCj4gPiBAQCAtMTc4LDYgKzE3OCwx
MSBAQCBJTkYNCj4gPiBNZGVNb2R1bGVQa2cvQnVzL0lzYS9QczJLZXlib2FyZER4ZS9QczJLZXli
b2FyZER4ZS5pbmYNCj4gPiAgIWVuZGlmIElORiBNZGVNb2R1bGVQa2cvQnVzL0lzYS9QczJNb3Vz
ZUR4ZS9QczJNb3VzZUR4ZS5pbmYgKyMrIyANCj4gPiBTTUJVUyBTdXBwb3J0KyMrSU5GIFVlZmlQ
YXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5pbmYrICMgIyANCj4gPiBDb25zb2xlIFN1
cHBvcnQgIy0tDQo+ID4gMi4zMi4wDQo+ID4NCj4gPg0KPiA+DQo+ID4gLT0tPS09LT0tPS09DQo+
ID4gR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlz
IGdyb3VwLg0KPiA+IFZpZXcvUmVwbHkgT25saW5lICgjODY3MzApOiANCj4gPiBodHRwczovL2Vk
azIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS84NjczMA0KPiA+IE11dGUgVGhpcyBUb3BpYzog
aHR0cHM6Ly9ncm91cHMuaW8vbXQvODkyMTQ5OTEvMTc3Mzk3Mg0KPiA+IEdyb3VwIE93bmVyOiBk
ZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbw0KPiA+IFVuc3Vic2NyaWJlOiBodHRwczovL2VkazIu
Z3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWINCj4gPiBbbWF1cmljZS5tYUBpbnRlbC5jb21dIC09LT0t
PS09LT0tPQ0KPiA+DQo+DQo+DQo+DQo+IA0KPg0KPg0KDQoNCg0KDQoNCg==