From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (NAM12-DM6-obe.outbound.protection.outlook.com [40.107.243.52]) by mx.groups.io with SMTP id smtpd.web10.1075.1635885322091441205 for ; Tue, 02 Nov 2021 13:35:22 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=selector2 header.b=awab5LZ7; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.243.52, mailfrom: bobm@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L/M02gsEsExzNRtdDcsMF2JCkji3u9RNTcTOzRaxUwa5iAN/aNoWmNpGAu4f+HICIvRs0C+vTyMw874JcrxUMZK70hjFJ05bG0SQeJd68cadU+rKgVyhmmQTWkQqcUfIRmbiJBXyejsfaMkk+RA8/O9mNBwFe63nFVazCNtJcRY2DKrG8WvVw5h1RXL6bkojrKSNGthwDSPQONd14Y3IhPttbiiQuehMGPCkz099geYoBOHkcXeLLhYywXjl+mcog7sarCaXbNSJ+jv4SyGsTKDZJQtX36Jq6P0DiGomQcawN6UgIs3SkIMXXzTLN1M3tWo1WiwtCq4k4M0bgAdjRw== 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=mwreybY0Kb/D+klPLP7+lf4jBfAlkcsP4o5dBGYXD7Y=; b=OWE6J4wsfBSm1b90gga0SJ2ngClVSF9DYfNXwyqeh7i7XduAYRpDo0EgxwY2ozG+4AWRljpY7TgHTPw+Biu9D5A9khvMM9/83JTrAX2gI1tgLo9cS5wURvT2ynLggw8iwNHHyqnse/504ZUpJCuYugwQXI2RpEXXkJ7wmY2mZ5cjTdy9s9mEJcyXnecGFX1BVWWqQqnfI9RXTPYHJbAQCPVmw9c024hhpI+cKQDSKo8tampzRt9a8D5cIIPXneCQTaIoTm1gL09WUaTah1+Y6FpUzK/8NhTCyuj+LKuSWLZZLCVFwgN3LxhKtqumiM7BhO1ovZP+Qfa9NDHTQUEiug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mwreybY0Kb/D+klPLP7+lf4jBfAlkcsP4o5dBGYXD7Y=; b=awab5LZ7ISk4Xq/18DFVAbd/MrgyNc5rJAd9CW3CNVxwZCC6SsRjguhH+qsxRoip17jFUNgGuj49P0OdgaLjmWX3rx/NmL/eLqHZmtMDbN8oKC5m7RhXe89tk6t7vTrUAHB0r8S+UAWNRAle5RvjSAJilYC3P6V1Bo6AfUZqGv6yvPxZeJYNvhIv8U7ViNKifYr/vjq9auoyqyGiM20MNV53oPXdux7raFjeyU+af+Xk0/irn2VTc8dzZ+tNaAKWePQsy+kjCp814vmSIbkrkKEr17gDEGqBq9HHk9YOxwFD1yIimID2hGqzOg6V1MFGsNeeO4sLaA4/oxJ4+XGYAg== Received: from DM6PR12MB4779.namprd12.prod.outlook.com (2603:10b6:5:172::23) by DM5PR12MB1180.namprd12.prod.outlook.com (2603:10b6:3:74::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Tue, 2 Nov 2021 20:35:20 +0000 Received: from DM6PR12MB4779.namprd12.prod.outlook.com ([fe80::f80c:8b3a:b5c2:4959]) by DM6PR12MB4779.namprd12.prod.outlook.com ([fe80::f80c:8b3a:b5c2:4959%7]) with mapi id 15.20.4649.019; Tue, 2 Nov 2021 20:35:20 +0000 From: "Bob Morgan" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" CC: 'Jian J Wang' , 'Guomin Jiang' Subject: =?UTF-8?B?UmU6IFtlZGsyLWRldmVsXSDlm57lpI06IFtQQVRDSF0gTWRlTW9kdWxlUGtnL0R4ZUNhcHN1bGVMaWJGbXA6IENhcHN1bGUgb24gRGlzayBmaWxlIG5hbWUgY2Fwc3VsZQ==?= Thread-Topic: =?utf-8?B?W2VkazItZGV2ZWxdIOWbnuWkjTogW1BBVENIXSBNZGVNb2R1bGVQa2cvRHhl?= =?utf-8?B?Q2Fwc3VsZUxpYkZtcDogQ2Fwc3VsZSBvbiBEaXNrIGZpbGUgbmFtZSBjYXBz?= =?utf-8?Q?ule?= Thread-Index: AQHXxFx5/tFKOEJTNUGtphoXCQwBLqvpRNgAgADtHuCABVKUAIABRMng Date: Tue, 2 Nov 2021 20:35:20 +0000 Message-ID: References: <40287570ea45e6e5724c00657a7f9ef99f8693d0.1634587878.git.bobm@nvidia.com> <00a501d7cc66$c954fe40$5bfefac0$@byosoft.com.cn> <002b01d7cf86$a24f6b00$e6ee4100$@byosoft.com.cn> In-Reply-To: <002b01d7cf86$a24f6b00$e6ee4100$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 79a7e798-a634-4e65-f3b0-08d99e4049ed x-ms-traffictypediagnostic: DM5PR12MB1180: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:155; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OCiQ2FZ7aLlvO7Tepo/YftPQbIe8CykPDk0dMI7aJMpvrmIfCHEEgatTvpJBLv4/Vkvd3+o1Gm+1AZK/UDhxibi59/X2O3vAk8nU9gW1D//gc/s51fGxFQG7cX7Viny/snW3jNdJnbefOqYU6/LBti7tDQinakQsaw8gA6qIfdVZv0VIlG5N8c1EOzt8uzghgOtXNLSXhmKIz5DMmfV1vspqdPYB4s4EF4AOGvpsTBVYWSlJWhDQkwdGfbgen60FqpBK3+FBHyuOvv72L6cTl4nbjxLdtlr+16cIGyI8eeP6u7DiMzmdrW7UwsWR+peF1UfDq+2CnrIIyMRDxOBoA4SzOVvZTLtTgTKJOhq4tNQGRd3Pg2aSYvfOaKDp0N894u1yH1oIPvMrw5GyfPfg0yiT/pDZmrRSDYRQGocPtP7dHwCFfOd1mfjH+HTKY924WPgdURzDQ6fhzHBSYsWC2fXPhmUE6Nu+UxbiZzfvBbAltpwvdIiHT+Vy1J2CkpQk7RluzoEKT/eETV6WkNxI9jECN4OukVSCxa+T/gNNN0UNx4C4ba7SNMLBnCHQZlSxrSlIE+VSmdxPYjdxgBkj9cLPKScrSp/2Co+zMmJhHrv8JYsVwbx32rTwTcBv6rFRAE4KaJDkU492F5/nv6mpy5pTNX5x7kJzyz1DNsYk1KOYQMl8N/gd2IKpBtM6qc+D8AOBUUDPqr008Y8wPmqp3J5fmgh8ZRP3jVb3qAIeHoHnx5I23AyrTNbvbfGu7LuTj5aWdfbtx2uZ117u9BwsW7fCB8CtePdfdmQFEYlcAwY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB4779.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(186003)(4326008)(66476007)(26005)(9686003)(38100700002)(53546011)(33656002)(6506007)(66556008)(76116006)(224303003)(8936002)(966005)(55016002)(66446008)(64756008)(71200400001)(52536014)(54906003)(86362001)(122000001)(5660300002)(83380400001)(316002)(110136005)(2906002)(66946007)(38070700005)(7696005)(508600001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eHlyWWZEWEtDNjNlam0vcGxZRkw5cUdGVWwwNmNzT0pDOGlRQU00KzZzcm04?= =?utf-8?B?dWE4dllrNEs0MWRqNnVFK0hyTjl4Z3dGUGtxT1hLRXFreWlSa0tKMm9HalFU?= =?utf-8?B?NGNTTmxCcVU4U0ZocGJXMU5TQmF3bmxZcDJ4VTVQanJiQWpLeXhnL2tsREw5?= =?utf-8?B?aENXbEtUNkJmT2RmZ0FYaTlQbExwZVp3ZlEzZlJWZ0FsTkpmWStKamRhMEk3?= =?utf-8?B?bXpDNktNaU1RZGxLRyttc0ZCS1N1b1pZNHdOdE50SExMeXhuRkgyRFc2Wm5H?= =?utf-8?B?YTBCWFl2enYyTlVUTDE4MC9nLzZReUtBZ0VoY2RuSTZIdDY0MlJGV1pwMlBl?= =?utf-8?B?L0hsNkE3ZTNZblJTcTVkRzFiaXRURm93NjluSS9qM1UrYTZwNXhGeGNTY1c3?= =?utf-8?B?WUpGcVpQcHhURysyRHNJZjI0aXR0MDRzenlCN1czRWdWd050enFRSk43Y3FL?= =?utf-8?B?dVhocjZyc3BrNnd1bmNsVlR4bGJZZHlHekVwUytkSEkzSWZseG5RditadWgx?= =?utf-8?B?KzYycFB2MEtOOHUvcVpudlQrRUgvTEsyKzhmbWs5NDZ3VnIzeUxIR2dCT1lV?= =?utf-8?B?VThCUm9xMFloV1BxaUdISWQ5M05QMlBlVUtlYnYya0oxNk1FcHRPbVRkck5n?= =?utf-8?B?NW4zR3dlUmdYbzErNnROWlRwRjVjZTZiQlhrYlJ6bzNGR3RCVDlLMWVoY3Jy?= =?utf-8?B?WDQ1SDdGWUI5NTlZUi91QXNHeGxoT0kwWEE2ZlcvT1pxNGxwMmVWTHoxUnk3?= =?utf-8?B?ajhSc2xZZTM0c2wvOGlGTHBnZHJuSzZuNU1oeU03c0xkcjZ5SzJpYUd1cWh6?= =?utf-8?B?YUhzVEJxWFNlTXRJeGpRUVR0Y05naWRwNjEvT3YrbnhEVzhrUmxzK3QxNlRT?= =?utf-8?B?VFhtbFRpQUkyRWV4Q25BRDA4YlE3N05keDk1MWJnWmZKdFhzMmdsNjY5TGdT?= =?utf-8?B?dmpXanBIeFFvTVgyelBLNnZ5MTJ4VG13a3FrbHlvVWRMQWlRTFFqaGh0WjEy?= =?utf-8?B?dXNmYXdZVW9oQ0pXYXJ2MndjRFhZaXRCRGdlVTlCQmFreVFIQVdzZm5UNmZB?= =?utf-8?B?bGYrQ05oN3g5M3Z3d1lDMkl0K3lFTGNxdkhQak01ZDd1L1NBV29MU010eUZT?= =?utf-8?B?MVdqazBLV0lWaDhiS29WQ0hYZmlsT0x5UU9MVi9TNVZyZ0hzaXJ2emJlM3Bi?= =?utf-8?B?NkNmUFJ3cEdmQll4MWdBY2YwYUZsazRsVjA2ek04aGJ2THprNExGb3U2Ujlz?= =?utf-8?B?MElMa1FLbjN1Vkl5aG1mK0Q0dGZ5UkF5L2dvbEpiWHkwWjlMcnRTaGpIVkIw?= =?utf-8?B?VXFMTFBmRk1HejBnODJOd3NSNzR1NE5rUUZJNmsrL080SDhCZ0ppZkQrUEM4?= =?utf-8?B?THovUFB1T2hoOXVROFRCU2xqM01yOEpvSlVLNTZrRFZyU0M4SVVrRHNCUzZy?= =?utf-8?B?bTk3MVRSb2NndzFaZHlwT25iL2xLcVNRU1ZQck4yNUhOWUwvVHB0UFl4YkR6?= =?utf-8?B?azg4Zk41cGtvZEc0Y3N5MTd6TGt4SHVoWTdBZ3BaV3JWNFRHcWJOeVR4OEtL?= =?utf-8?B?N09zU2RCRnF0YWxWbjdTVVQ3U0tJaG1EUE5UcnNuamNwRGxIeWdGdk9hbDYy?= =?utf-8?B?L0NGSlZROTZUbU9wS2x5eklVTUxRYTJOckN0SlpCV0s3OHlsQVFpeWxJcnVy?= =?utf-8?B?VENINGlhangyeEtiUTlySXk0SzRZUG5iODUzQ3ZpWHhtRHJpY3dCMnJRWHFQ?= =?utf-8?B?Y3R6em1TanZlMHhjQTIvMlJOM2FUbmtVL08wN2g5VVd6R2VnNFRQOU1zTmhZ?= =?utf-8?B?VFV0SDZoc2hteEdDa2lBbVFXcnhUMG5PWTloTzArMTQrZlJ4U0V3M29IejF5?= =?utf-8?B?SG10TWQ4Y1RsTlBVaEJsQVRoS2NFc3d1YXpXVlN5QWpKYnRFaDBQZVlpVlQx?= =?utf-8?B?V3pSbjlHR294bHNtL3M3aFcwYlN4UmI0Y2hNOXRhdEdUT1BFa1JvUyt2RG4v?= =?utf-8?B?Znpmd0VpR3d6QjhlWmhudFNmRWpYOXZCMWYrQkptWTlDRUQzQVJ3TDgyc28x?= =?utf-8?B?ck5NdlczaU9xb3NHak53YXdpRmZZWDc2S1NGb1dna0cydkJtWUVzS2RYcVNY?= =?utf-8?Q?VN5c=3D?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4779.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 79a7e798-a634-4e65-f3b0-08d99e4049ed X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2021 20:35:20.4412 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Q44GnXAO9qsXL+WU37KmnMJldwi38dBtwa5t4+0zP96rT/OhttollNPQ2pcoKVDn X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1180 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIExpbWluZy4gIEkgd2lsbCBzZW5kIGEgdjIgcGF0Y2ggd2l0aCB0aGF0IGNoYW5nZS4N Cg0KLWJvYg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5n cm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgZ2FvbGltaW5nIHZp YSBncm91cHMuaW8NClNlbnQ6IE1vbmRheSwgTm92ZW1iZXIgMSwgMjAyMSA3OjEyIFBNDQpUbzog ZGV2ZWxAZWRrMi5ncm91cHMuaW87IEJvYiBNb3JnYW4gPGJvYm1AbnZpZGlhLmNvbT4NCkNjOiAn SmlhbiBKIFdhbmcnIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyAnR3VvbWluIEppYW5nJyA8Z3Vv bWluLmppYW5nQGludGVsLmNvbT4NClN1YmplY3Q6IOWbnuWkjTogW2VkazItZGV2ZWxdIOWbnuWk jTogW1BBVENIXSBNZGVNb2R1bGVQa2cvRHhlQ2Fwc3VsZUxpYkZtcDogQ2Fwc3VsZSBvbiBEaXNr IGZpbGUgbmFtZSBjYXBzdWxlDQoNCkV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5n IGxpbmtzIG9yIGF0dGFjaG1lbnRzDQoNCg0KQm9iOg0KICBZZXMuICdCdWlsZEdhdGhlcicgaXMg YmV0dGVyLg0KDQpUaGFua3MNCkxpbWluZw0KPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+IOWP keS7tuS6ujogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiDku6Po oaggQm9iIE1vcmdhbiB2aWEgDQo+IGdyb3Vwcy5pbw0KPiDlj5HpgIHml7bpl7Q6IDIwMjHlubQx MOaciDMw5pelIDA6MDINCj4g5pS25Lu25Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgZ2FvbGlt aW5nQGJ5b3NvZnQuY29tLmNuDQo+IOaKhOmAgTogJ0ppYW4gSiBXYW5nJyA8amlhbi5qLndhbmdA aW50ZWwuY29tPjsgJ0d1b21pbiBKaWFuZycNCj4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+DQo+ IOS4u+mimDogUmU6IFtlZGsyLWRldmVsXSDlm57lpI06IFtQQVRDSF0gTWRlTW9kdWxlUGtnL0R4 ZUNhcHN1bGVMaWJGbXA6DQo+IENhcHN1bGUgb24gRGlzayBmaWxlIG5hbWUgY2Fwc3VsZQ0KPg0K PiBIaSBMaW1pbmcsDQo+DQo+IEJ1aWxkU2cgaXMgc3VwcG9zZWQgdG8gbWVhbiAnQnVpbGQgU2Nh dHRlci1HYXRoZXInLiAgTWF5YmUgJ0J1aWxkR2F0aGVyJw0KPiB3b3VsZCBiZSBhIGJldHRlciBn b3RvIGxhYmVsIHNpbmNlIGl0IG1hdGNoZXMgdGhlIGNvbW1lbnQgYW5kIHRoZSBmdW5jdGlvbj8N Cj4NCj4gTGV0IG1lIGtub3cuDQo+DQo+IFRoYW5rcywNCj4NCj4gLWJvYg0KPg0KPg0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2 ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiANCj4gZ2FvbGltaW5nIHZpYSBncm91cHMu aW8NCj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjgsIDIwMjEgNzo0NiBQTQ0KPiBUbzogQm9i IE1vcmdhbiA8Ym9ibUBudmlkaWEuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6ICdK aWFuIEogV2FuZycgPGppYW4uai53YW5nQGludGVsLmNvbT47ICdHdW9taW4gSmlhbmcnDQo+IDxn dW9taW4uamlhbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0g5Zue5aSNOiBb UEFUQ0hdIE1kZU1vZHVsZVBrZy9EeGVDYXBzdWxlTGliRm1wOg0KPiBDYXBzdWxlIG9uIERpc2sg ZmlsZSBuYW1lIGNhcHN1bGUNCj4NCj4gRXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5p bmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4NCj4NCj4gQm9iOg0KPg0KPg0KPiA+IC0tLS0t6YKu 5Lu25Y6f5Lu2LS0tLS0NCj4gPiDlj5Hku7bkuro6IEJvYiBNb3JnYW4gPGJvYm1AbnZpZGlhLmNv bT4NCj4gPiDlj5HpgIHml7bpl7Q6IDIwMjHlubQxMOaciDE55pelIDQ6MTINCj4gPiDmlLbku7bk uro6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4g5oqE6YCBOiBCb2IgTW9yZ2FuIDxib2JtQG52 aWRpYS5jb20+OyBKaWFuIEogV2FuZw0KPiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsNCj4gPiBM aW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBHdW9taW4gSmlhbmcgDQo+ID4g PGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+DQo+ID4g5Li76aKYOiBbUEFUQ0hdIE1kZU1vZHVsZVBr Zy9EeGVDYXBzdWxlTGliRm1wOiBDYXBzdWxlIG9uIERpc2sgZmlsZQ0KPiBuYW1lDQo+ID4gY2Fw c3VsZQ0KPiA+DQo+ID4gRW5oYW5jZSBSZWxvY2F0ZUNhcHN1bGVUb1JhbSgpIHRvIHNraXAgY3Jl YXRpb24gb2YgdGhlIENhcHN1bGUgb24gDQo+ID4gRGlzayBmaWxlIG5hbWUgY2Fwc3VsZSBpZiBQ Y2RTdXBwb3J0VXBkYXRlQ2Fwc3VsZVJlc2V0IGZlYXR1cmUgaXMgbm90IGVuYWJsZWQuDQo+ID4g VGhpcyBhdm9pZHMgYW4gRUZJX1VOU1VQUE9SVEVEIHJldHVybiBzdGF0dXMgZnJvbSBVcGRhdGVD YXBzdWxlKCkNCj4gd2hlbg0KPiA+IHRoZSBmaWxlIG5hbWUgY2Fwc3VsZSBpcyBlbmNvdW50ZXJl ZCBhbmQgDQo+ID4gUGNkU3VwcG9ydFVwZGF0ZUNhcHN1bGVSZXNldCBpcyBGQUxTRS4NCj4gPg0K PiA+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+IENjOiBMaW1p bmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4gQ2M6IEd1b21pbiBKaWFuZyA8 Z3VvbWluLmppYW5nQGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBCb2IgTW9yZ2FuIDxi b2JtQG52aWRpYS5jb20+DQo+ID4gLS0tDQo+ID4gIC4uLi9MaWJyYXJ5L0R4ZUNhcHN1bGVMaWJG bXAvQ2Fwc3VsZU9uRGlzay5jICB8IDE5DQo+ID4gKysrKysrKysrKysrKysrKy0tLQ0KPiA+ICAx IGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gPg0KPiA+ IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVDYXBzdWxlTGliRm1wL0NhcHN1 bGVPbkRpc2suYw0KPiA+IGIvTWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlQ2Fwc3VsZUxpYkZtcC9D YXBzdWxlT25EaXNrLmMNCj4gPiBpbmRleCA0YzMyYzZjZGNmLi5lNjVlMzM1NTg1IDEwMDY0NA0K PiA+IC0tLSBhL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUNhcHN1bGVMaWJGbXAvQ2Fwc3VsZU9u RGlzay5jDQo+ID4gKysrIGIvTWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlQ2Fwc3VsZUxpYkZtcC9D YXBzdWxlT25EaXNrLmMNCj4gPiBAQCAtMTczOSw2ICsxNzM5LDcgQEAgUmVsb2NhdGVDYXBzdWxl VG9SYW0gKA0KPiA+ICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICpTdHJpbmdCdWY7 DQo+ID4gICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nU2l6ZTsNCj4gPiAg ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbFN0cmluZ1NpemU7DQo+ID4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgQ2Fwc3VsZXNUb1Byb2Nlc3M7DQo+ID4NCj4g PiAgICBDYXBzdWxlT25EaXNrQnVmID0gTlVMTDsNCj4gPiAgICBCbG9ja0Rlc2NyaXB0b3JzID0g TlVMTDsNCj4gPiBAQCAtMTc3OCw2ICsxNzc5LDEzIEBAIFJlbG9jYXRlQ2Fwc3VsZVRvUmFtICgN Cj4gPiAgICAgIFRvdGFsU3RyaW5nU2l6ZSArPSBTdHJTaXplDQo+ID4gKENhcHN1bGVPbkRpc2tC dWZbSW5kZXhdLkZpbGVJbmZvLT5GaWxlTmFtZSk7DQo+ID4gICAgfQ0KPiA+DQo+ID4gKyAgLy8g SWYgUGVyc2lzdCBBY3Jvc3MgUmVzZXQgaXNuJ3Qgc3VwcG9ydGVkLCBza2lwIHRoZSBmaWxlIG5h bWUgDQo+ID4gKyBzdHJpbmdzDQo+IGNhcHN1bGUNCj4gPiArICBpZiAoIUZlYXR1cmVQY2RHZXQg KFBjZFN1cHBvcnRVcGRhdGVDYXBzdWxlUmVzZXQpKSB7DQo+ID4gKyAgICBDYXBzdWxlc1RvUHJv Y2VzcyA9IENhcHN1bGVPbkRpc2tOdW07DQo+ID4gKyAgICBnb3RvIEJ1aWxkU2c7DQo+ID4gKyAg fQ0KPiA+ICsgIENhcHN1bGVzVG9Qcm9jZXNzID0gQ2Fwc3VsZU9uRGlza051bSArIDE7DQo+ID4g Kw0KPiA+ICAgIEZpbGVOYW1lQ2Fwc3VsZSA9IEFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZiAoRUZJ X0NBUFNVTEVfSEVBREVSKSArIA0KPiA+IFRvdGFsU3RyaW5nU2l6ZSk7DQo+ID4gICAgaWYgKEZp bGVOYW1lQ2Fwc3VsZSA9PSBOVUxMKSB7DQo+ID4gICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAi RmFpbCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIG5hbWUgDQo+ID4gY2Fwc3VsZS5cbiIpKTsgQEAg LTE4MDQsMTggKzE4MTIsMjMgQEAgUmVsb2NhdGVDYXBzdWxlVG9SYW0gKA0KPiA+ICAgIC8vDQo+ ID4gICAgLy8gMy4gQnVpbGQgR2F0aGVyIGxpc3QgZm9yIHRoZSBjYXBzdWxlcw0KPiA+ICAgIC8v DQo+ID4gLSAgU3RhdHVzID0gQnVpbGRHYXRoZXJMaXN0IChDYXBzdWxlQnVmZmVyLCBDYXBzdWxl U2l6ZSwgDQo+ID4gQ2Fwc3VsZU9uRGlza051bQ0KPiArDQo+ID4gMSwgJkJsb2NrRGVzY3JpcHRv cnMpOw0KPiA+ICtCdWlsZFNnOg0KPg0KPiBXaGF0IGRvZXMgJ0J1aWxkU2cnIG1lYW4/DQo+DQo+ IFRoYW5rcw0KPiBMaW1pbmcNCj4gPiArICBTdGF0dXMgPSBCdWlsZEdhdGhlckxpc3QgKENhcHN1 bGVCdWZmZXIsIENhcHN1bGVTaXplLA0KPiBDYXBzdWxlc1RvUHJvY2VzcywNCj4gPiAmQmxvY2tE ZXNjcmlwdG9ycyk7DQo+ID4gICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSB8fCBCbG9ja0Rlc2Ny aXB0b3JzID09IE5VTEwpIHsNCj4gPiAgICAgIEZyZWVQb29sIChDYXBzdWxlQnVmZmVyKTsNCj4g PiAgICAgIEZyZWVQb29sIChDYXBzdWxlU2l6ZSk7DQo+ID4gLSAgICBGcmVlUG9vbCAoRmlsZU5h bWVDYXBzdWxlKTsNCj4gPiArICAgIGlmIChGaWxlTmFtZUNhcHN1bGUgIT0gTlVMTCkgew0KPiA+ ICsgICAgICBGcmVlUG9vbCAoRmlsZU5hbWVDYXBzdWxlKTsNCj4gPiArICAgIH0NCj4gPiAgICAg IHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gPiAgICB9DQo+ID4NCj4gPiAgICAvLw0K PiA+ICAgIC8vIDQuIENhbGwgVXBkYXRlQ2Fwc3VsZSgpIHNlcnZpY2UNCj4gPiAgICAvLw0KPiA+ IC0gIFN0YXR1cyA9IGdSVC0+VXBkYXRlQ2Fwc3VsZSgoRUZJX0NBUFNVTEVfSEVBREVSICoqKSAN Cj4gPiBDYXBzdWxlQnVmZmVyLCBDYXBzdWxlT25EaXNrTnVtICsgMSwgKFVJTlROKSBCbG9ja0Rl c2NyaXB0b3JzKTsNCj4gPiArICBTdGF0dXMgPSBnUlQtPlVwZGF0ZUNhcHN1bGUgKChFRklfQ0FQ U1VMRV9IRUFERVIgKiopDQo+IENhcHN1bGVCdWZmZXIsDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDYXBzdWxlc1RvUHJvY2VzcywNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChVSU5UTikgQmxvY2tEZXNjcmlwdG9ycyk7DQo+ID4NCj4gPiAgICByZXR1 cm4gU3RhdHVzOw0KPiA+ICB9DQo+ID4gLS0NCj4gPiAyLjE3LjENCj4NCj4NCj4NCj4NCj4NCj4N Cj4NCj4NCj4NCj4NCj4NCj4NCg0KDQoNCg0KDQoNCg0KDQo=