From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=khjNL25D; spf=none, err=SPF record not found (domain: amd.com, ip: 40.107.71.89, mailfrom: thomas.lendacky@amd.com) Received: from NAM05-BY2-obe.outbound.protection.outlook.com (NAM05-BY2-obe.outbound.protection.outlook.com [40.107.71.89]) by groups.io with SMTP; Mon, 19 Aug 2019 15:25:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oc/fbpvvThuU8labImFAxlz2jKb2rsLe5pl8ISLHifCp52c+swx9bdE5DLkSLLzMyynhqHh6aKn3Xcrl4RU9Tiuv62iSwXGWgiCUWimZwceCekCSTcC1hP1DXHiiq83xlg4Ds59NRjA6Mng0E52ndAF0WfELfsib3UnFqz4/fesSa8qIPZTGlZUbLdCr0uAIKMgGNArCH/OeYmXMlDxMR7Cc/F1XQdgvX7FkAymmeHoBubv9G89dUvG1RnNVZKwzJFs+OghKlca/vI4GqPVs+l29I4tnTVcqq30id6/O3ZJ2xcsQweBJsX7r8r1Ql/rjg3gewEi4FQJKvComU3qzAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tS0DaqgPp6WJ8cPZ5cp8z7K3xxX4cySU70pzigmmDho=; b=WwmPxeM0b+vV2XyDLDYiFqHn59VIPKRk1pzfsNbVYQSOFVDqBIjf3uEc+FVr8UPDxE4jGQfJUZCEl8G0j/wSGq2v+zmE0igL2PaANFoVqyoS3c5TlOjCebmaq4ruakQhRk1xJuMTeonpC36zw63F0AR9OX/eSsG/1qBgla83HEA6k+vCgq3cBQYE4v9Lx5XqcxL8hmlaSBOODbaksTQWXSd80DH95BA+iWDCvJrcRNk4rdGmidK3lzcP4I7pDd0IJ70SdAUXEd5IjslR/SrDIp0XJT5kIOASsuzqg3JY2qQgOc1+d5XlwqU8cPGL+xJ409ZK7fKPn4eW6nqIPFX41A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tS0DaqgPp6WJ8cPZ5cp8z7K3xxX4cySU70pzigmmDho=; b=khjNL25D0NioIEFibUdpmfXke1BW0W9SfPquSJuYLVqWG70wKCd+biY/+7TLc7TpACeo4+huiFeIEBHsaH+HNACvK8e1UC2dZ+BK1Xeiwn7diMxqBgBU9J58nPKzt40K2mOCU+6pbFTM7pvV0ckzVeW5ypw3yyQc4k2gY2bzMHc= Received: from BYAPR12MB3158.namprd12.prod.outlook.com (20.179.92.19) by BYAPR12MB3590.namprd12.prod.outlook.com (20.178.197.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2178.16; Mon, 19 Aug 2019 22:25:45 +0000 Received: from BYAPR12MB3158.namprd12.prod.outlook.com ([fe80::39b9:76bd:a491:1f27]) by BYAPR12MB3158.namprd12.prod.outlook.com ([fe80::39b9:76bd:a491:1f27%6]) with mapi id 15.20.2157.022; Mon, 19 Aug 2019 22:25:45 +0000 From: "Lendacky, Thomas" To: "Ni, Ray" , "devel@edk2.groups.io" CC: "Justen, Jordan L" , Laszlo Ersek , Ard Biesheuvel , "Kinney, Michael D" , "Gao, Liming" , "Dong, Eric" , "Singh, Brijesh" Subject: Re: [RFC PATCH 08/28] MdePkg/BaseLib: Implement the VMGEXIT support Thread-Topic: [RFC PATCH 08/28] MdePkg/BaseLib: Implement the VMGEXIT support Thread-Index: AQHVVtYV6ovIQ0EYA0mbP9JSyXPRuqcDAcgAgAAKngA= Date: Mon, 19 Aug 2019 22:25:44 +0000 Message-ID: <9c3fd829-2fa2-f1f5-cd6f-2db0eca28290@amd.com> References: <734D49CCEBEEF84792F5B80ED585239D5C28D765@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C28D765@SHSMSX104.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN4PR0501CA0100.namprd05.prod.outlook.com (2603:10b6:803:42::17) To BYAPR12MB3158.namprd12.prod.outlook.com (2603:10b6:a03:132::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3b7237e8-161a-4b5c-3d1a-08d724f42d3f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);SRVR:BYAPR12MB3590; x-ms-traffictypediagnostic: BYAPR12MB3590: x-ms-exchange-purlcount: 1 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0134AD334F x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(366004)(376002)(396003)(346002)(136003)(39860400002)(199004)(189003)(13464003)(53546011)(2501003)(2616005)(31696002)(36756003)(66556008)(3846002)(31686004)(6116002)(66446008)(11346002)(305945005)(14454004)(64756008)(386003)(6246003)(8936002)(81156014)(81166006)(53936002)(86362001)(6506007)(66946007)(7736002)(66476007)(6306002)(229853002)(19627235002)(6486002)(6512007)(486006)(53376002)(26005)(6436002)(476003)(76176011)(102836004)(186003)(256004)(110136005)(54906003)(25786009)(52116002)(446003)(966005)(316002)(478600001)(99286004)(66066001)(5660300002)(71200400001)(2906002)(71190400001)(4326008)(8676002);DIR:OUT;SFP:1101;SCL:1;SRVR:BYAPR12MB3590;H:BYAPR12MB3158.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 6a5hl43BON6f68qdKxxx00iyXqlmWfZyFN9E54B/MRgIfB0GQQkVEJMtG9nCwiwThwvszMnJjnFLJvZ8Vh2qlMWLre5fCW+PnwWXAUtoZ2jN66r8/4J0s/BpEGRyTIYtSO3rKmr20Lekj/pzCmecxiiv3Us1CPIQkWsJl7W5DIz+NHLVG6JaGrN3jK4ez0ytRpMiBmXSE9ei/ngg8jkheVybNRwMvFjVz0lapXk1i7agDt5XHqT5aeipot7rNE50ChpP4LsSv6sOvna0d4KrA6zM9Wx9NlP7RYtLadMZF0pKDERXMbxROH5+rn90YfCPqJ1rXJkC6yulcCnNg5k5FKDLJ5h0F/ce6xEUz0tRku2vmVUxCNuNCx/Sbq6zdJ4Q13g27+yGNbvfVMS1XnltDVgqdE+6nobSKwox8TkpKNA= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b7237e8-161a-4b5c-3d1a-08d724f42d3f X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2019 22:25:44.7732 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: A1ovRTOB/c3ciSEWo/8U5qbC4/wrCD3Tb/JVb86J3TPVzzB7CUqp0ndUMRzrgTwzc+dnXOVxVfKEajyk71kdjw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3590 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <9EC6EF88E068D240BD3ABB6984717F1F@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 SGkgUmF5LA0KDQpPbiA4LzE5LzE5IDQ6NDcgUE0sIE5pLCBSYXkgd3JvdGU6DQo+IFRvbSwNCj4g MS4gSXQncyBub3QgYSBjb21tb24gcHJhY3RpY2UgdG8gaGF2ZSBzdGF0aWMgaW5saW5lIGZ1bmN0 aW9ucyBkZWZpbmVkIGluIGhlYWRlciBmaWxlLiBXaG8gaXMgZ29pbmcgdG8gY2FsbCB0aGVtPw0K DQpUaGUgZnVuY3Rpb25zIGFyZSBjYWxsZWQgZnJvbSB0d28gbG9jYXRpb25zLCBzbyB0aGF0J3Mg d2h5IEkgbWFkZSB0aGVtDQpzdGF0aWMgaW5saW5lLiBJJ20gbmV3IHRvIEVESzIgcHJvZ3JhbW1p bmcsIHNvIEknbSBzdXJlIHRoZXJlIHdpbGwgYmUgYQ0KbnVtYmVyIG9mIHRoaW5ncyBJIGRvIHRo YXQgd2lsbCBuZWVkIHRvIGJlIGNoYW5nZWQuDQoNClNob3VsZCBJIG1ha2UgdGhlbSBub24taW5s aW5lIGFuZCBtb3ZlIHRoZW0gdG8gdGhlIEJhc2VMaWIgaW4gTWRlUGtnIG9yDQpzb21ld2hlcmUg ZWxzZT8NCg0KPiAyLiBSZWNlbnRseSBJIG1hZGUgYSBjaGFuZ2UgdG8gbW92ZSB0aGUgQU1EIHJl Z2lzdGVycyBkZWZpbml0aW9ucyB0byBNZGVQa2cvSW5jbHVkZS9SZWdpc3Rlci9BbWQgZnJvbSBV ZWZpQ3B1UGtnLiBEbyB5b3UgdGhpbmsgdGhhdCdzIGEgZ29vZCBpZGVhIGFuZCBjYW4geW91IHBs ZWFzZSBwdXQgeW91ciBuZXcgcmVnaXN0ZXIgZGVmaW5pdGlvbnMgdG8gTWRlUGtnIGFzIHdlbGw/ DQoNCk9rLCBsZXQgbWUgcHVsbCB0aGUgbGF0ZXN0IHRyZWUgYW5kIHJlYmFzZS4gVGhpcyBwYXRj aHNldCBpcyBjdXJyZW50bHkNCmJhc2VkIG9uIGEgSnVseSAxN3RoIHBhdGNoOg0KDQpjY2UwMWY1 MzhmYjQgKCJNZGVQa2cvQmFzZUxpYjogQmFzZTY0RGVjb2RlKCk6IGRvbid0IGRlY2xhcmUgdmFy aWFibGVzIGluIG5lc3RlZCBibG9ja3MiKQ0KDQpzbyBJJ20gcHJvYmFibHkgYmVoaW5kIHRoZSBj aGFuZ2UgdGhhdCB5b3UgbWFkZSBpZiBpdCB3YXMgcmVjZW50Lg0KDQo+IDMuIFdoYXQgaGFwcGVu cyBpZiB0aGUgInJlcDsgdm1tY2FsbCIgaXMgZXhlY3V0ZWQgaW4gSW50ZWwgcHJvY2Vzc29yPw0K DQpHb29kIHF1ZXN0aW9uLCBJJ20gbm90IHN1cmUuIElzIHRoZXJlIGEgd2F5IHRoYXQgRURLMiBo YXMgdG8gcHJldmVudA0KZXhlY3V0aW9uIG9mIHVuc3VwcG9ydGVkIGluc3RydWN0aW9ucz8gIEN1 cnJlbnRseSwgdGhpcyBpbnN0cnVjdGlvbiB3aWxsDQpvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBp cyBrbm93biB0aGF0IFNFVi1FUyBpcyBhY3RpdmUuDQoNClRoYW5rcywNClRvbQ0KDQo+IA0KPiBU aGFua3MsDQo+IFJheQ0KPiANCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9t OiBMZW5kYWNreSwgVGhvbWFzIDxUaG9tYXMuTGVuZGFja3lAYW1kLmNvbT4NCj4+IFNlbnQ6IE1v bmRheSwgQXVndXN0IDE5LCAyMDE5IDI6MzYgUE0NCj4+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5p bw0KPj4gQ2M6IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBM YXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4+IDxhcmQu Ymllc2hldXZlbEBsaW5hcm8ub3JnPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgRG9uZywN Cj4+IEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29t PjsgU2luZ2gsIEJyaWplc2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT4NCj4+IFN1YmplY3Q6IFtS RkMgUEFUQ0ggMDgvMjhdIE1kZVBrZy9CYXNlTGliOiBJbXBsZW1lbnQgdGhlIFZNR0VYSVQgc3Vw cG9ydA0KPj4NCj4+IEZyb206IFRvbSBMZW5kYWNreSA8dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+ DQo+Pg0KPj4gVk1HRVhJVCBpcyBhIG5ldyBpbnN0cnVjdGlvbiB1c2VkIGZvciBIeXBlcnZpc29y L0d1ZXN0IGNvbW11bmljYXRpb24gd2hlbg0KPj4gcnVubmluZyBhcyBhbiBTRVYtRVMgZ3Vlc3Qu IEEgVk1HRVhJVCB3aWxsIGNhdXNlIGFuIGF1dG9tYXRpYyBleGl0IChBRSkNCj4+IHRvIG9jY3Vy LCByZXN1bHRpbmcgaW4gYSAjVk1FWElUIHdpdGggYW4gZXhpdCBjb2RlIHZhbHVlIG9mIDB4NDAz Lg0KPj4NCj4+IFRvIHN1cHBvcnQgVk1HRVhJVCwgZGVmaW5lIHRoZSBWTUdFWElUIGFzc2VtYmVy IHJvdXRpbmUgdG8gaXNzdWUgdGhlDQo+PiBpbnN0cnVjdGlvbiAocmVwOyB2bW1jYWxsKSwgdGhl IEdIQ0Igc3RydWN0dXJlIGFuZCBzb21lIGhlbHBlciBmdW5jdGlvbnMNCj4+IGZvciBjb21tdW5p Y2F0aW5nIHJlZ2lzdGVyIGluZm9ybWF0aW9uIHRvIGFuZCBmcm9tIHRoZSBoeXBlcnZpc29yIGFu ZCB0aGUNCj4+IGd1ZXN0Lg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IFRvbSBMZW5kYWNreSA8dGhv bWFzLmxlbmRhY2t5QGFtZC5jb20+DQo+PiAtLS0NCj4+ICBNZGVQa2cvTGlicmFyeS9CYXNlTGli L0Jhc2VMaWIuaW5mICAgICAgfCAgIDEgKw0KPj4gIE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvQmFz ZUxpYi5oICAgICAgICB8ICAxNCArKw0KPj4gIFVlZmlDcHVQa2cvSW5jbHVkZS9SZWdpc3Rlci9B bWQvR2hjYi5oICB8IDE5NyArKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICBNZGVQa2cvTGli cmFyeS9CYXNlTGliL1g2NC9HY2NJbmxpbmUuYyAgfCAgMTcgKysNCj4+ICBNZGVQa2cvTGlicmFy eS9CYXNlTGliL1g2NC9WbWdFeGl0Lm5hc20gfCAgMzggKysrKysNCj4+ICA1IGZpbGVzIGNoYW5n ZWQsIDI2NyBpbnNlcnRpb25zKCspDQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFVlZmlDcHVQa2cv SW5jbHVkZS9SZWdpc3Rlci9BbWQvR2hjYi5oDQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1kZVBr Zy9MaWJyYXJ5L0Jhc2VMaWIvWDY0L1ZtZ0V4aXQubmFzbQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9N ZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mIGIvTWRlUGtnL0xpYnJhcnkvQmFzZUxp Yi9CYXNlTGliLmluZg0KPj4gaW5kZXggMzU4NmJlYjBhYjVjLi5hNDE0MDEzNDBmOTUgMTAwNjQ0 DQo+PiAtLS0gYS9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mDQo+PiArKysgYi9N ZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mDQo+PiBAQCAtMjg2LDYgKzI4Niw3IEBA IFtTb3VyY2VzLlg2NF0NCj4+ICAgIFg2NC9SZWFkQ3IyLm5hc218IE1TRlQNCj4+ICAgIFg2NC9S ZWFkQ3IwLm5hc218IE1TRlQNCj4+ICAgIFg2NC9SZWFkRWZsYWdzLm5hc218IE1TRlQNCj4+ICsg IFg2NC9WbWdFeGl0Lm5hc20gfCBNU0ZUDQo+Pg0KPj4NCj4+ICAgIFg2NC9Ob24tZXhpc3Rpbmcu Yw0KPj4gZGlmZiAtLWdpdCBhL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvQmFzZUxpYi5oIGIvTWRl UGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlTGliLmgNCj4+IGluZGV4IDJhNzViYzAyM2Y1Ni4uODBi ZDVjZjU3YTcyIDEwMDY0NA0KPj4gLS0tIGEvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlTGli LmgNCj4+ICsrKyBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvQmFzZUxpYi5oDQo+PiBAQCAtNzg4 MCw2ICs3ODgwLDIwIEBAIEFzbUxmZW5jZSAoDQo+PiAgICBWT0lEDQo+PiAgICApOw0KPj4NCj4+ ICsvKioNCj4+ICsgIEV4ZWN1dGVzIGEgVk1HRVhJVCBpbnN0cnVjdGlvbiAoVk1NQ0FMTCB3aXRo IGEgUkVQIHByZWZpeCkNCj4+ICsNCj4+ICsgIEV4ZWN1dGVzIGEgVk1HRVhJVCBpbnN0cnVjdGlv bi4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGF2YWlsYWJsZSBvbiBJQS0zMiBhbmQNCj4+ICsgIHg2 NC4NCj4+ICsNCj4+ICsqKi8NCj4+ICtWT0lEDQo+PiArRUZJQVBJDQo+PiArQXNtVm1nRXhpdCAo DQo+PiArICBWT0lEDQo+PiArICApOw0KPj4gKw0KPj4gKw0KPj4gIC8qKg0KPj4gICAgUGF0Y2gg dGhlIGltbWVkaWF0ZSBvcGVyYW5kIG9mIGFuIElBMzIgb3IgWDY0IGluc3RydWN0aW9uIHN1Y2gg dGhhdCB0aGUgYnl0ZSwNCj4+ICAgIHdvcmQsIGR3b3JkIG9yIHF3b3JkIG9wZXJhbmQgaXMgZW5j b2RlZCBhdCB0aGUgZW5kIG9mIHRoZSBpbnN0cnVjdGlvbidzDQo+PiBkaWZmIC0tZ2l0IGEvVWVm aUNwdVBrZy9JbmNsdWRlL1JlZ2lzdGVyL0FtZC9HaGNiLmggYi9VZWZpQ3B1UGtnL0luY2x1ZGUv UmVnaXN0ZXIvQW1kL0doY2IuaA0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAw MDAwMDAwMDAwMC4uZTlmZDExNmZhYzI1DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9VZWZp Q3B1UGtnL0luY2x1ZGUvUmVnaXN0ZXIvQW1kL0doY2IuaA0KPj4gQEAgLTAsMCArMSwxOTcgQEAN Cj4+ICsNCj4+ICsjaWZuZGVmIF9fR0hDQl9IX18NCj4+ICsjZGVmaW5lIF9fR0hDQl9IX18NCj4+ ICsNCj4+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRGVidWdTdXBwb3J0Lmg+DQo+PiArI2luY2x1ZGUg PExpYnJhcnkvQmFzZUxpYi5oPg0KPj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ PiArDQo+PiArI2RlZmluZSBVRF9FWENFUFRJT04gIDYNCj4+ICsjZGVmaW5lIEdQX0VYQ0VQVElP TiAxMw0KPj4gKw0KPj4gKyNkZWZpbmUgR0hDQl9WRVJTSU9OX01JTiAgICAgMQ0KPj4gKyNkZWZp bmUgR0hDQl9WRVJTSU9OX01BWCAgICAgMQ0KPj4gKw0KPj4gKyNkZWZpbmUgR0hDQl9TVEFOREFS RF9VU0FHRSAgMA0KPj4gKw0KPj4gK3R5cGVkZWYgZW51bSB7DQo+PiArICBTdm1FeGl0RHI3UmVh ZCAgICAgICA9IDB4MjcsDQo+PiArICBTdm1FeGl0RHI3V3JpdGUgICAgICA9IDB4MzcsDQo+PiAr ICBTdm1FeGl0UmR0c2MgICAgICAgICA9IDB4NkUsDQo+PiArICBTdm1FeGl0UmRwbWMsDQo+PiAr ICBTdm1FeGl0Q3B1aWQgICAgICAgICA9IDB4NzIsDQo+PiArICBTdm1FeGl0SW52ZCAgICAgICAg ICA9IDB4NzYsDQo+PiArICBTdm1FeGl0SW9pb1Byb3QgICAgICA9IDB4N0IsDQo+PiArICBTdm1F eGl0TXNyLA0KPj4gKyAgU3ZtRXhpdFZtbUNhbGwgICAgICAgPSAweDgxLA0KPj4gKyAgU3ZtRXhp dFJkdHNjcCAgICAgICAgPSAweDg3LA0KPj4gKyAgU3ZtRXhpdFdiaW52ZCAgICAgICAgPSAweDg5 LA0KPj4gKyAgU3ZtRXhpdE1vbml0b3IsDQo+PiArICBTdm1FeGl0TXdhaXQsDQo+PiArICBTdm1F eGl0TnBmICAgICAgICAgICA9IDB4NDAwLA0KPj4gKw0KPj4gKyAgLy8gVk1HIHNwZWNpYWwgZXhp dHMNCj4+ICsgIFN2bUV4aXRNbWlvUmVhZCAgICAgID0gMHg4MDAwMDAwMSwNCj4+ICsgIFN2bUV4 aXRNbWlvV3JpdGUsDQo+PiArICBTdm1FeGl0Tm1pQ29tcGxldGUsDQo+PiArICBTdm1FeGl0QXBS ZXNldEhvbGQsDQo+PiArDQo+PiArICBTdm1FeGl0VW5zdXBwb3J0ZWQgICA9IDB4ODAwMEZGRkYs DQo+PiArfSBTVk1fRVhJVENPREU7DQo+PiArDQo+PiArdHlwZWRlZiBlbnVtIHsNCj4+ICsgIEdo Y2JDcGwgICAgICAgICAgICAgID0gMjUsDQo+PiArICBHaGNiUmZsYWdzICAgICAgICAgICA9IDQ2 LA0KPj4gKyAgR2hjYlJpcCwNCj4+ICsgIEdoY2JSc3AgICAgICAgICAgICAgID0gNTksDQo+PiAr ICBHaGNiUmF4ICAgICAgICAgICAgICA9IDYzLA0KPj4gKyAgR2hjYlJjeCAgICAgICAgICAgICAg PSA5NywNCj4+ICsgIEdoY2JSZHgsDQo+PiArICBHaGNiUmJ4LA0KPj4gKyAgR2hjYlJicCAgICAg ICAgICAgICAgPSAxMDEsDQo+PiArICBHaGNiUnNpLA0KPj4gKyAgR2hjYlJkaSwNCj4+ICsgIEdo Y2JSOCwNCj4+ICsgIEdoY2JSOSwNCj4+ICsgIEdoY2JSMTAsDQo+PiArICBHaGNiUjExLA0KPj4g KyAgR2hjYlIxMiwNCj4+ICsgIEdoY2JSMTMsDQo+PiArICBHaGNiUjE0LA0KPj4gKyAgR2hjYlIx NSwNCj4+ICsgIEdoY2JYQ3IwICAgICAgICAgICAgID0gMTI1LA0KPj4gK30gR0hDQl9SRUdJU1RF UjsNCj4+ICsNCj4+ICt0eXBlZGVmIHN0cnVjdCB7DQo+PiArICBVSU5UOCAgICAgICAgICAgICAg ICAgIFJlc2VydmVkMVsyMDNdOw0KPj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICBDcGw7DQo+ PiArICBVSU5UOCAgICAgICAgICAgICAgICAgIFJlc2VydmVkMlsxNDhdOw0KPj4gKyAgVUlOVDY0 ICAgICAgICAgICAgICAgICBEcjc7DQo+PiArICBVSU5UOCAgICAgICAgICAgICAgICAgIFJlc2Vy dmVkM1sxNDRdOw0KPj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAgICBSYXg7DQo+PiArICBVSU5U OCAgICAgICAgICAgICAgICAgIFJlc2VydmVkNFsyNjRdOw0KPj4gKyAgVUlOVDY0ICAgICAgICAg ICAgICAgICBSY3g7DQo+PiArICBVSU5UNjQgICAgICAgICAgICAgICAgIFJkeDsNCj4+ICsgIFVJ TlQ2NCAgICAgICAgICAgICAgICAgUmJ4Ow0KPj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICBS ZXNlcnZlZDVbMTEyXTsNCj4+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICAgU3dFeGl0Q29kZTsN Cj4+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICAgU3dFeGl0SW5mbzE7DQo+PiArICBVSU5UNjQg ICAgICAgICAgICAgICAgIFN3RXhpdEluZm8yOw0KPj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAg ICBTd1NjcmF0Y2g7DQo+PiArICBVSU5UOCAgICAgICAgICAgICAgICAgIFJlc2VydmVkNls1Nl07 DQo+PiArICBVSU5UNjQgICAgICAgICAgICAgICAgIFhDcjA7DQo+PiArICBVSU5UOCAgICAgICAg ICAgICAgICAgIFZhbGlkQml0bWFwWzE2XTsNCj4+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICAg WDg3U3RhdGVHcGE7DQo+PiArICBVSU5UOCAgICAgICAgICAgICAgICAgIFJlc2VydmVkN1sxMDE2 XTsNCj4+ICt9IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSkgR0hDQl9TQVZFX0FSRUE7DQo+ PiArDQo+PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPj4gKyAgR0hDQl9TQVZFX0FSRUEgICAgICAgICBT YXZlQXJlYTsNCj4+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgU2hhcmVkQnVmZmVyWzIwMzJd Ow0KPj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICBSZXNlcnZlZDFbMTBdOw0KPj4gKyAgVUlO VDE2ICAgICAgICAgICAgICAgICBQcm90b2NvbFZlcnNpb247DQo+PiArICBVSU5UMzIgICAgICAg ICAgICAgICAgIEdoY2JVc2FnZTsNCj4+ICt9IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSkg X19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoU0laRV80S0IpKSkgR0hDQjsNCj4+ICsNCj4+ICt0eXBl ZGVmIHVuaW9uIHsNCj4+ICsgIHN0cnVjdCB7DQo+PiArICAgIFVJTlQzMiAgTG93ZXIzMkJpdHM7 DQo+PiArICAgIFVJTlQzMiAgVXBwZXIzMkJpdHM7DQo+PiArICB9IEVsZW1lbnRzOw0KPj4gKw0K Pj4gKyAgVUlOVDY0ICAgIFVpbnQ2NDsNCj4+ICt9IEdIQ0JfRVhJVF9JTkZPOw0KPj4gKw0KPj4g K3N0YXRpYyBpbmxpbmUNCj4+ICtCT09MRUFODQo+PiArR2hjYklzUmVnVmFsaWQoDQo+PiArICBH SENCICAgICAgICAgICAgICAgICAgICpHaGNiLA0KPj4gKyAgR0hDQl9SRUdJU1RFUiAgICAgICAg ICBSZWcNCj4+ICsgICkNCj4+ICt7DQo+PiArICBVSU5UMzIgIFJlZ0luZGV4ID0gUmVnIC8gODsN Cj4+ICsgIFVJTlQzMiAgUmVnQml0ICAgPSBSZWcgJiAweDA3Ow0KPj4gKw0KPj4gKyAgcmV0dXJu IChHaGNiLT5TYXZlQXJlYS5WYWxpZEJpdG1hcFtSZWdJbmRleF0gJiAoMSA8PCBSZWdCaXQpKTsN Cj4+ICt9DQo+PiArDQo+PiArc3RhdGljIGlubGluZQ0KPj4gK1ZPSUQNCj4+ICtHaGNiU2V0UmVn VmFsaWQoDQo+PiArICBHSENCICAgICAgICAgICAgICAgICAgICpHaGNiLA0KPj4gKyAgR0hDQl9S RUdJU1RFUiAgICAgICAgICBSZWcNCj4+ICsgICkNCj4+ICt7DQo+PiArICBVSU5UMzIgIFJlZ0lu ZGV4ID0gUmVnIC8gODsNCj4+ICsgIFVJTlQzMiAgUmVnQml0ICAgPSBSZWcgJiAweDA3Ow0KPj4g Kw0KPj4gKyAgR2hjYi0+U2F2ZUFyZWEuVmFsaWRCaXRtYXBbUmVnSW5kZXhdIHw9ICgxIDw8IFJl Z0JpdCk7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbmxpbmUNCj4+ICtWT0lEDQo+PiArVm1n RXhjZXB0aW9uKA0KPj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICBFeGNlcHRpb24NCj4+ICsg ICkNCj4+ICt7DQo+PiArICBzd2l0Y2ggKEV4Y2VwdGlvbikgew0KPj4gKyAgY2FzZSBVRF9FWENF UFRJT046DQo+PiArICBjYXNlIEdQX0VYQ0VQVElPTjoNCj4+ICsgICAgYnJlYWs7DQo+PiArICBk ZWZhdWx0Og0KPj4gKyAgICBBU1NFUlQgKDApOw0KPj4gKyAgfQ0KPj4gK30NCj4+ICsNCj4+ICtz dGF0aWMgaW5saW5lDQo+PiArVUlOVE4NCj4+ICtWbWdFeGl0KA0KPj4gKyAgR0hDQiAgICAgICAg ICAgICAgICAgICAqR2hjYiwNCj4+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICAgRXhpdENvZGUs DQo+PiArICBVSU5UNjQgICAgICAgICAgICAgICAgIEV4aXRJbmZvMSwNCj4+ICsgIFVJTlQ2NCAg ICAgICAgICAgICAgICAgRXhpdEluZm8yDQo+PiArICApDQo+PiArew0KPj4gKyAgR0hDQl9FWElU X0lORk8gICBFeGl0SW5mbzsNCj4+ICsgIFVJTlROICAgICAgICAgICAgUmVhc29uLCBBY3Rpb247 DQo+PiArDQo+PiArICBHaGNiLT5TYXZlQXJlYS5Td0V4aXRDb2RlID0gRXhpdENvZGU7DQo+PiAr ICBHaGNiLT5TYXZlQXJlYS5Td0V4aXRJbmZvMSA9IEV4aXRJbmZvMTsNCj4+ICsgIEdoY2ItPlNh dmVBcmVhLlN3RXhpdEluZm8yID0gRXhpdEluZm8yOw0KPj4gKyAgQXNtVm1nRXhpdCAoKTsNCj4+ ICsNCj4+ICsgIGlmICghR2hjYi0+U2F2ZUFyZWEuU3dFeGl0SW5mbzEpIHsNCj4+ICsgICAgcmV0 dXJuIDA7DQo+PiArICB9DQo+PiArDQo+PiArICBFeGl0SW5mby5VaW50NjQgPSBHaGNiLT5TYXZl QXJlYS5Td0V4aXRJbmZvMTsNCj4+ICsgIFJlYXNvbiA9IEV4aXRJbmZvLkVsZW1lbnRzLlVwcGVy MzJCaXRzOw0KPj4gKyAgQWN0aW9uID0gRXhpdEluZm8uRWxlbWVudHMuTG93ZXIzMkJpdHM7DQo+ PiArICBzd2l0Y2ggKEFjdGlvbikgew0KPj4gKyAgY2FzZSAxOg0KPj4gKyAgICBWbWdFeGNlcHRp b24gKFJlYXNvbik7DQo+PiArICAgIGJyZWFrOw0KPj4gKyAgZGVmYXVsdDoNCj4+ICsgICAgQVNT RVJUICgwKTsNCj4+ICsgIH0NCj4+ICsNCj4+ICsgIHJldHVybiBSZWFzb247DQo+PiArfQ0KPj4g Kw0KPj4gK3N0YXRpYyBpbmxpbmUNCj4+ICtWT0lEDQo+PiArVm1nSW5pdCgNCj4+ICsgIEdIQ0Ig ICAgICAgICAgICAgICAgICAgKkdoY2INCj4+ICsgICkNCj4+ICt7DQo+PiArICBTZXRNZW0gKCZH aGNiLT5TYXZlQXJlYSwgc2l6ZW9mIChHaGNiLT5TYXZlQXJlYSksIDApOw0KPj4gK30NCj4+ICsN Cj4+ICtzdGF0aWMgaW5saW5lDQo+PiArVk9JRA0KPj4gK1ZtZ0RvbmUoDQo+PiArICBHSENCICAg ICAgICAgICAgICAgICAgICpHaGNiDQo+PiArICApDQo+PiArew0KPj4gK30NCj4+ICsjZW5kaWYN Cj4+IGRpZmYgLS1naXQgYS9NZGVQa2cvTGlicmFyeS9CYXNlTGliL1g2NC9HY2NJbmxpbmUuYyBi L01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvWDY0L0djY0lubGluZS5jDQo+PiBpbmRleCAxNTRjZTFm NTdlOTIuLjE3NTM5Y2FhMDc5OCAxMDA2NDQNCj4+IC0tLSBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VM aWIvWDY0L0djY0lubGluZS5jDQo+PiArKysgYi9NZGVQa2cvTGlicmFyeS9CYXNlTGliL1g2NC9H Y2NJbmxpbmUuYw0KPj4gQEAgLTE3OTgsMyArMTc5OCwyMCBAQCBBc21GbHVzaENhY2hlTGluZSAo DQo+PiAgfQ0KPj4NCj4+DQo+PiArLyoqDQo+PiArICBFeGVjdXRlcyBhIFZNR0VYSVQgaW5zdHJ1 Y3Rpb24uDQo+PiArDQo+PiArICBFeGVjdXRlcyBhIFZNR0VYSVQgaW5zdHJ1Y3Rpb24uIFRoaXMg ZnVuY3Rpb24gaXMgb25seSBhdmFpbGFibGUgb24gSUEtMzIgYW5kDQo+PiArICBYNjQuDQo+PiAr DQo+PiArKiovDQo+PiArVk9JRA0KPj4gK0VGSUFQSQ0KPj4gK0FzbVZtZ0V4aXQgKA0KPj4gKyAg Vk9JRA0KPj4gKyAgKQ0KPj4gK3sNCj4+ICsgIF9fYXNtX18gX192b2xhdGlsZV9fICgicmVwOyB2 bW1jYWxsIjo6OiJtZW1vcnkiKTsNCj4+ICt9DQo+PiArDQo+PiArDQo+PiBkaWZmIC0tZ2l0IGEv TWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9YNjQvVm1nRXhpdC5uYXNtIGIvTWRlUGtnL0xpYnJhcnkv QmFzZUxpYi9YNjQvVm1nRXhpdC5uYXNtDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5k ZXggMDAwMDAwMDAwMDAwLi5iNjczYmI5NGI2MGQNCj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBi L01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvWDY0L1ZtZ0V4aXQubmFzbQ0KPj4gQEAgLTAsMCArMSwz OCBAQA0KPj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+ICs7DQo+PiArOyBDb3B5cmlnaHQg KGMpIDIwMTksIEFkdmFuY2VkIE1pY3JvIERldmljZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4+ICs7IFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMN Cj4+ICs7IGFyZSBsaWNlbnNlZCBhbmQgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFu ZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZQ0KPj4gKzsgd2hpY2ggYWNjb21wYW5pZXMg dGhpcyBkaXN0cmlidXRpb24uICBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlIG1heSBiZSBm b3VuZCBhdA0KPj4gKzsgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNl LnBocC4NCj4+ICs7DQo+PiArOyBUSEUgUFJPR1JBTSBJUyBESVNUUklCVVRFRCBVTkRFUiBUSEUg QlNEIExJQ0VOU0UgT04gQU4gIkFTIElTIiBCQVNJUywNCj4+ICs7IFdJVEhPVVQgV0FSUkFOVElF UyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJ RUQuDQo+PiArOw0KPj4gKzsgTW9kdWxlIE5hbWU6DQo+PiArOw0KPj4gKzsgICBWbWdFeGl0LkFz bQ0KPj4gKzsNCj4+ICs7IEFic3RyYWN0Og0KPj4gKzsNCj4+ICs7ICAgQXNtVm1nRXhpdCBmdW5j dGlvbg0KPj4gKzsNCj4+ICs7IE5vdGVzOg0KPj4gKzsNCj4+ICs7LS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+PiArDQo+PiArICAgIERFRkFVTFQgUkVMDQo+PiArICAgIFNFQ1RJT04gLnRleHQNCj4+ ICsNCj4+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiArOyBWT0lEDQo+PiArOyBFRklBUEkN Cj4+ICs7IEFzbVZtZ0V4aXQgKA0KPj4gKzsgICBWT0lEDQo+PiArOyAgICk7DQo+PiArOy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPj4gK2dsb2JhbCBBU01fUEZYKEFzbVZtZ0V4aXQpDQo+PiArQVNN X1BGWChBc21WbWdFeGl0KToNCj4+ICsgICAgcmVwOyB2bW1jYWxsDQo+PiArICAgIHJldA0KPj4g Kw0KPj4gLS0NCj4+IDIuMTcuMQ0KPiANCg==