From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web10.6329.1627485730277563806 for ; Wed, 28 Jul 2021 08:22:11 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=UlAGV3o9; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10059"; a="212676572" X-IronPort-AV: E=Sophos;i="5.84,276,1620716400"; d="scan'208";a="212676572" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jul 2021 08:22:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,276,1620716400"; d="scan'208";a="498925196" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga001.jf.intel.com with ESMTP; 28 Jul 2021 08:22:06 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) 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.2242.10; Wed, 28 Jul 2021 08:22:06 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Wed, 28 Jul 2021 08:22:05 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Wed, 28 Jul 2021 08:22:05 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.170) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Wed, 28 Jul 2021 08:22:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HrPhC2rQBpg09YaytrLhUQdfdKzQdjOXBfqxRtUXMDdG0UJV8eV6BTIalbERiESG1MERh0einvGrPn7Uvs1nLQ7RTDb94yHlOyCVb+YUExHrhciUeiIpnj37jH1IdyBiUWQ/OJMrhxPwR/ac5TQW8qdEQc6QgSkrrBpT4lqfME5a3024T58g+GUdm70Oy/2niU9kWnO/4gnQraHLPtZTShOI4Z1Ik58GDZvxLkYec1cNr2HxLpP3dlLR6R1H8WgjRQCh/XzY77RVi68rSXyaAgQPTCkzrSe0wVOOVSLqeLEF8VyTVdeJd+QVlUUssh51GusoNoj0Zw4MwKZQs6rENg== 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=xBeFlZxoqFzUNuvyYlS+lm8Gpnk8J5pKqss6KOTAYrw=; b=YNs13tlSgqqGucHxVVl390Gd78ielKWDNMXKV9ERNmfGoTxS6xgDgbyDLHLFwzODUchP/6C8eRa/e71SdoEHjvlNuMpXTDQ/2aMel3ogKOshdqqfrm01e8tznQcruxf3omc5C40S6JOFXnLqFJqG37IoTIchEX9ia7qeQE2IIJoCZCtTJAUlDolK5hqXEDH67Ga5IimR3ux3BfWfJcxq4NxW6IBza7zl9RNlavfnqQdOew23C2lg1YGv1+4oCgtejLBNkJUrnUQjsyKMvxQS5jT69edoH692BjeChR9qr5i0Jdg1SCCOynn+rvUiWzU8n0gZq0KabCtfPruiCUPTFA== 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=xBeFlZxoqFzUNuvyYlS+lm8Gpnk8J5pKqss6KOTAYrw=; b=UlAGV3o9F7QcY2qyVPlS7PFQcKMvJJuK99q8ffAkK2P2Obtb7IKH+HYvUv6j4uS5qwppyD1jhK3X+fOdJmumIde6bxHAMtBDUnOCE42wM49HmSJaPHIdPSv+gtmIBr9HgraldwLSJpbO6OUhOPG2STVCMwRICq7lR8FQ/8mQqTU= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB4967.namprd11.prod.outlook.com (2603:10b6:510:41::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.29; Wed, 28 Jul 2021 15:22:02 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::6c99:8170:1c3c:9121]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::6c99:8170:1c3c:9121%3]) with mapi id 15.20.4352.031; Wed, 28 Jul 2021 15:22:02 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "brijesh.singh@amd.com" , "Xu, Min M" CC: Ard Biesheuvel , "Justen, Jordan L" , Erdem Aktas , "James Bottomley" , Tom Lendacky Subject: Re: [edk2-devel] [PATCH V3 06/10] OvmfPkg: Add AmdSev.asm in ResetVector Thread-Topic: [edk2-devel] [PATCH V3 06/10] OvmfPkg: Add AmdSev.asm in ResetVector Thread-Index: AQHXgqpMyZ2YEZCZ4k+xX9pxDyR89KtWps2AgAAPQgCAAAs5AIAAAmzQgAET7wCAABAEfIAADumAgAAIn1CAAHbDgIAACPhQ Date: Wed, 28 Jul 2021 15:22:02 +0000 Message-ID: References: <4E4F0C83-ED04-4CFC-BDE2-33825C106DB9@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 74b36d4e-8d81-4bd0-9c19-08d951db733b x-ms-traffictypediagnostic: PH0PR11MB4967: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OfkJj6qH2fWQYP7MW3lFbUTHZADwa39ERlZtBmR/pmsvcahQhYkPCH8z+2ph0P+rffnZbZ/n98VuPSAbQD7FJGlmXXhwBwf4NjRnHmJoDTb1EOSDpKTB5kbTJDuyqjbPUVpCmFsdxMyst5pXlDcMZGYvaLlD/W1IfT1b66g6ek941BbMhIMjYMMme9E09Ee/8ofz2sLAwbyRP/3j3BF7SWgU1Cc6cSAIiWTyNRjG6ZKx6K/ErhgtvQr5YhyQq5eSAEV/WJGd99xRdxJZIqHKJ3CpJrAPkgGL11Ir9eqzpLer0ngE0X9efDYHp2BY1oYOLWeX0nQ6pHJx37AOSTPPjbQRg3gIho6D8dnJ8nYuOB7ZfmzU8QdSPrvLXj4E/nsscOlwECrjx/N4LBLOEzEP0Uqtuk4JL5e5TO1Qp0ou+j/wdF0/f1P2F0FNrDaRaBcsZ/UKzjHlbuStXflcd/+xlHTE7/gOOMtnb7iXmdhk9U2zXlZH8JbDQrfRACg4jZWDboaexwKSsBaqTtaJP5zrU6nqFXH/FRkD3JvP01OufW3gmgV/9A/s4xbhKb8GPEcgrhY+6LuAVW9IBRXmhzTSa5HREnOPetepAdKueknS2nclvzY55eMX+UZZMQt4E6+0m2d9NjoSlO5tkhYyXD0H+Benyyj9A0z0uYjKwqm9XGYC1I3g7AJZZ8+ddPS0TrjE0tmOyYLz7lzc5oNzpdiygEZHzjfYFoAKu2izVTg2SkhzwKxeKY8Urr58nLyzPr49OWEZPRcRMR4cy2Dt5fa45O3btYBqkk3DbrHqlXUg5j0j1uAvbXbo+eNIH0YDtoVPdrDJaENngU5XNU2OWGxXwA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4885.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(346002)(376002)(39860400002)(136003)(5660300002)(186003)(122000001)(4326008)(8676002)(83380400001)(66946007)(66556008)(33656002)(66476007)(9686003)(55016002)(478600001)(71200400001)(966005)(38070700005)(64756008)(6636002)(66446008)(86362001)(6506007)(76116006)(316002)(8936002)(52536014)(110136005)(53546011)(26005)(38100700002)(2906002)(54906003)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YnF4ZldCUXkrWFVOUVhGNTkvc0lLL2ZCUDk2TVdBZUxRWGRnTnQwVzBoR1Q0?= =?utf-8?B?SUFFYkIxdmw2VkhRZE00MjlUZVdMVGJzVFdoYkRYekFQQ0ozSjJPbEdoUHhz?= =?utf-8?B?Rm1LK1AyYXZGbUUzTjduamwyN1kza29yd3p0UEVBYmlTaEJCOStXcHdUeThw?= =?utf-8?B?TENmU0IxOHRvTVB5YUpYRHdIUlJlR0Z2elp3WUtnRFRpNEY2ejJRZzYyZk53?= =?utf-8?B?dzNsc0tvVTVXSWI1OUpBdDZZZndhbWRUeXY2clZOT2c1MVR5Qmp1ZDIzbHJs?= =?utf-8?B?ZGVWNlk3Ylp2UXJVanlTTzBZc2dNcjhvdWF0cHZTQUpuRFdwZk1NSitRb0tO?= =?utf-8?B?MkpPdFJiald4cTdIak1GME9DVlBkZEVKQUZUYzdOWG5Idjg4ekdiM1RXVEYy?= =?utf-8?B?Znd2TWhOQ1psVHV2dVZPZ29maGxtRXZpSkR5RExzaCtJdHVObEZWazhyV2JT?= =?utf-8?B?dU1ETG9ObFBFOHFlYzZWUVpvM09VMmZycXNIZHVnc0pnbTN2NzUwWXVhZTR3?= =?utf-8?B?RkJabDNpNXlUbDlWOGZXQW9ZdWsvdVd4VmMvWWc0dDhuakRSOUR0RVFKNU9K?= =?utf-8?B?MVRNbDBGSHloWGZFMXBBTG1wZkxWbE00ejhjWjB3eFJod2xnbjNLM3FncDV6?= =?utf-8?B?U3h5bVJGWGJ4UHU4aDFRc2NINVp2RitpUjFqUUZUT05XZDd1V3I2M05ZdHFU?= =?utf-8?B?TTM4RS9ta0g5Ym5kNHAwVGNWVVYya1Fpd2JyYk9sUlR5Q2wzaGxzSXduSDVH?= =?utf-8?B?dXdzOTBmV0ZVcnUxN1Nyb2czQ3RlU0NnMlRUOWtlc3FhWitNZFRBOWNUSDJ6?= =?utf-8?B?SURVYStncTBPdXhqWWlDTUdqeHQ4VXlFbmxGTTY3VHN4cnB3ZW1KbUpPUUJX?= =?utf-8?B?T3pzdVdReG5BUjJMNHJvVWlTL2g3dFJadjZiYlkxMVlERFlKdHRXbUtpOTFF?= =?utf-8?B?d3UwNVU1U2RSdW1BbnFqaTNkclQvNzVidCtHVUw1QVpkVUt6L1YzcVFqVlJK?= =?utf-8?B?QWRMWmY4WTFMS3M3MWczcnA5OHF3Sm1BRWZodHhuRDN5SlpzUHlMN2VweHdt?= =?utf-8?B?UkZzS1NBTFlmYlJUdHlnZFpmOWVlUk5jY0lNRkVYWHVlYXNsZk9tR1llY2VY?= =?utf-8?B?ZjZ2bG1vU3E1V0ttUXBvR1llWnp3Y1BSYkNxL21kd2VKc3pjMEpCQS9kR3VB?= =?utf-8?B?VE5KcFRFaENtN1hES2VtZTRKNWlFQm9tZUthbkpVeVBuTTB1TU8yVkhKaEIw?= =?utf-8?B?L1k2TkVQTHl6dDNIQTRqdFZDTDVNbEM3dG9wN3BYWjNDRG5valFkRHdoaDJD?= =?utf-8?B?VlY3YkNBTWhZaHE4Q0ZVY2VWS0dRNWlDL1ZMYUllUkJYNm85NXpHV2N1Tmxl?= =?utf-8?B?UjYxTUxGU0w4SEZqK1hTNkhCemlGREVYaG0yT2wrNDN2VnpEL0hsekpsWSsy?= =?utf-8?B?VU5vamtlN0xkdVJTUG1adHpHRjd3cVYrU25KUGVQNmFWVlJPZ0FZdTN0aHFi?= =?utf-8?B?WXB4elJnVzVSSEROWVJhbTdkdkt0MFJ0TXEzb3lEREczN1FGV252S1NreWI0?= =?utf-8?B?cTczS00zQlFqYlcrVHlpRG5yeGllbG9qcXB6OStsSmF1VjVzWm5NK1dHNzBY?= =?utf-8?B?cVZxd1ZHYmhZQm9BZjRmeDZQMDVuRUhQNkpheEFtQkZ4YmFUWUU1MHo3MEQ5?= =?utf-8?B?cGpWYUVmTnNiVHNTVitQWlB0S2Erc1Vwa2MrNGRoNnZDZHVXcGxRYWtsay9l?= =?utf-8?Q?QnKk1Hyq/TcRp4N2W7z1WiaeCVTPpwBprnET1ww?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4885.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74b36d4e-8d81-4bd0-9c19-08d951db733b X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jul 2021 15:22:02.1464 (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: pAnchGjNfdDXgi52XhHTEBxraW108yTMp76a8mOhb6UcHI2YoDPkrMiUjZrRPP6vkCoffwpiO/oqXP1yXt+hIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4967 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQnJpamVzaA0KVGhhbmtzIQ0KDQpJIHRoaW5rIGlmIHdlIHdhbnQgdG8gcmV1c2UgdGhpcywg d2UgbmVlZCByZW5hbWUgdGhlIGRhdGEgc3RydWN0dXJlLg0KDQpGaXJzdCwgd2Ugc2hvdWxkIHVz ZSBhIGdlbmVyaWMgbmFtZS4NCg0KU2Vjb25kLCBJIGRvbuKAmXQgdGhpbmsgaXQgaXMgZ29vZCBp ZGVhIHRvIGRlZmluZSB0d28gKmVuYWJsZSogZmllbGRzLiBTaW5jZSBvbmx5IG9uZSBvZiB0aGVt IHNob3VsZCBiZSBlbmFibGVkLCB3ZSBzaG91bGQgdXNlIDEgZmllbGQgYXMgZW51bWVyYXRpb24u DQoNClRoaXJkLCB3ZSBzaG91bGQgaGlkZSB0aGUgU0VWIHNwZWNpZmljIGFuZCBURFggc3BlY2lm aWMgZGVmaW5pdGlvbiBpbiBDQyBjb21tb24gd29yayBhcmVhLg0KDQpJZiB3ZSBhZ3JlZSB0byB1 c2UgYSBjb21tb24gd29yayBhcmVhLCBJIHJlY29tbWVuZCBiZWxvdzoNCg0KdHlwZWRlZiBzdHJ1 Y3Qgew0KICAgVUlOVDggICAgSGVhZGVyVmVyc2lvbjsgLy8gMA0KICAgVUlOVDggICAgSGVhZExl bmd0aDsgLy8gNA0KICAgVUlOVDggICAgVHlwZTsgLy8gMCAtIGxlZ2FjeSwgMSAtIFNFViwgMiAt IFREWA0KICAgVUlOVDggICAgU3ViVHlwZTsgLy8gVHlwZSBzcGVjaWZpYyBzdWIgdHlwZSwgaWYg bmVlZGVkLg0KfSBDQ19DT01NT05fV09SS19BUkVBX0hFQURFUjsNCg0KdHlwZWRlZiBzdHJ1Y3Qg ew0KICAgQ0NfQ09NTU9OX1dPUktfQVJFQV9IRUFERVIgSGVhZGVyOw0KICAgLy8gcmVzZXQgaXMg dmFsaWQgaWYgVHlwZSA9PSAxDQogICBVSU5UOCAgICBSZXNlcnZlZDFbNF07DQogICBVSU5UNjQg ICBSYW5kb21EYXRhOw0KICAgVUlOVDY0ICAgRW5jcnlwdGlvbk1hc2s7DQp9IFNFQ19TRVZfRVNf V09SS19BUkVBOw0KDQp0eXBlZGVmIHN0cnVjdCB7DQogICBDQ19DT01NT05fV09SS19BUkVBX0hF QURFUiBIZWFkZXI7DQogICAvLyByZXNldCBpcyB2YWxpZCBpZiBUeXBlID09IDINCiAgIFVJTlQ4 ICAgIFRkeFNwZWNpZmljW107ICAvLyBUQkQNCn0gVERYX1dPUktfQVJFQTsNCg0KVGhhbmsgeW91 DQpZYW8gSmlld2VuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2 ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgQnJp amVzaA0KPiBTaW5naCB2aWEgZ3JvdXBzLmlvDQo+IFNlbnQ6IFdlZG5lc2RheSwgSnVseSAyOCwg MjAyMSAxMDozNCBQTQ0KPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsg WHUsIE1pbiBNIDxtaW4ubS54dUBpbnRlbC5jb20+DQo+IENjOiBicmlqZXNoLnNpbmdoQGFtZC5j b207IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBBcmQgQmllc2hldXZlbA0KPiA8YXJkYit0aWFub2Nv cmVAa2VybmVsLm9yZz47IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5j b20+Ow0KPiBFcmRlbSBBa3RhcyA8ZXJkZW1ha3Rhc0Bnb29nbGUuY29tPjsgSmFtZXMgQm90dG9t bGV5DQo+IDxqZWpiQGxpbnV4LmlibS5jb20+OyBUb20gTGVuZGFja3kgPHRob21hcy5sZW5kYWNr eUBhbWQuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCBWMyAwNi8xMF0g T3ZtZlBrZzogQWRkIEFtZFNldi5hc20gaW4NCj4gUmVzZXRWZWN0b3INCj4gDQo+IEhpIEppZXdl biBhbmQgTWluLA0KPiANCj4gU2VlIG15IGNvbW1lbnRzIGJlbG93Lg0KPiANCj4gDQo+IE9uIDcv MjgvMjEgMjo1NCBBTSwgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+ID4gWWVzLiBJIGFtIHRoaW5raW5n IHRoZSBzYW1lIHRoaW5nLg0KPiA+DQo+ID4gW0NDIEZsYWcgbWVtb3J5IGxvY2F0aW9uXQ0KPiA+ IDEpIEEgZ2VuZXJhbCBwdXJwb3NlIHJlZ2lzdGVyLCBzdWNoIGFzIEVCUC4NCj4gPg0KPiA+IDIp IEEgZ2xvYmFsIHZhcmlhYmxlLCBzdWNoIGFzDQo+ID4gLmRhdGENCj4gPiBUZWVGbGFnczogREQg MA0KPiA+DQo+ID4gMykgQSBmaXhlZCByZWdpb24gaW4gc3RhY2ssIHN1Y2ggYXMNCj4gPiBkd29y ZFtTVEFDS19UT1AgLSA0XQ0KPiA+DQo+ID4gNCkgQSBuZXcgQ0MgY29tbW9uIGZpeGVkIHJlZ2lv biwgc3VjaCBhcw0KPiA+IGR3b3JkW0NDX0NPTU1PTl9GTEFHU10NCj4gPg0KPiA+IDUpIEEgZml4 ZWQgcmVnaW9uIHBpZ2d5YmFjayBvbiBleGlzdGluZyBDQyB3b3JraW5nIGFyZWEsIHN1Y2ggYXMN Cj4gPiBkd29yZFtDQ19XT1JLSU5HX0FSRUFdDQo+ID4NCj4gPiBIaSBCcmlqZXNoL01pbg0KPiA+ IEFueSBwcmVmZXJlbmNlPw0KPiA+DQo+ID4gW0NDIEluZGljYXRvciBGbGFnc10NCj4gPiBQcm9w b3NhbDogVUlOVDhbNF0NCj4gPg0KPiA+IEJ5dGUgWzBdIFZlcnNpb246IDANCj4gPiBieXRlIFsx XSBMZW5ndGg6IDQNCj4gPiBieXRlIFsyXSBUeXBlOg0KPiA+IAkwOiBsZWdhY3kNCj4gPiAJMTog U0VWDQo+ID4gCTI6IFREWA0KPiA+IGJ5dGUgWzNdIFN1YiBUeXBlOg0KPiA+IAlJZiBUeXBlIGlz IDAgKGxlZ2FjeSksIHRoZW4NCj4gPiAJCTA6IGxlZ2FjeQ0KPiA+IAlJZiBUeXBlIGlzIDEgKFNF ViksIHRoZW4NCj4gPiAJCTA6IFNFVg0KPiA+IAkJMTogU0VWLUVTDQo+ID4gCQkyOiBTRVYtU05Q DQo+ID4gCUlmIFR5cGUgaXMgMiAoVERYKSwgdGhlbg0KPiA+IAkJMDogVERYIDEuMA0KPiA+DQo+ ID4gVGhhbmsgeW91DQo+ID4gWWFvIEppZXdlbg0KPiA+DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogWHUsIE1pbiBNIDxtaW4ubS54dUBpbnRlbC5jb20+ DQo+ID4+IFNlbnQ6IFdlZG5lc2RheSwgSnVseSAyOCwgMjAyMSAyOjU4IFBNDQo+ID4+IFRvOiBZ YW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4+IENjOiBCcmlqZXNoIFNpbmdo IDxicmlqZXNoLnNpbmdoQGFtZC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgQXJkDQo+ID4+ IEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+OyBKdXN0ZW4sIEpvcmRhbiBM DQo+ID4+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgRXJkZW0gQWt0YXMgPGVyZGVtYWt0 YXNAZ29vZ2xlLmNvbT47DQo+IEphbWVzDQo+ID4+IEJvdHRvbWxleSA8amVqYkBsaW51eC5pYm0u Y29tPjsgVG9tIExlbmRhY2t5DQo+IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4NCj4gPj4gU3Vi amVjdDogUkU6IFtQQVRDSCBWMyAwNi8xMF0gT3ZtZlBrZzogQWRkIEFtZFNldi5hc20gaW4gUmVz ZXRWZWN0b3INCj4gPj4NCj4gPj4gT24gSnVseSAyOCwgMjAyMSAyOjA1IFBNLCBZYW8sIEppZXdl biB3cm90ZToNCj4gPj4+IEl0IGRvZXMgbm90IG5lY2Vzc2FyeSB0byBiZSBhIHdvcmtpbmcgYXJl YS4NCj4gPj4+DQo+ID4+PiBXZSBqdXN0IG5lZWQgYSBjb21tb24gVEVFIGZsYWcgdG8gaW5kaWNh dGUgaWYgdGhlIHN5c3RlbSBydW4gaW4gbGVnYWN5LCBTRVYsDQo+ID4+IG9yDQo+ID4+PiBURFgs IHJpZ2h0Pw0KPiA+PiBSaWdodC4gV2UgbmVlZCBzb21ld2hlcmUgdG8gc3RvcmUgdGhpcyBmbGFn LCBlaXRoZXIgaW4gYSBSZWdpc3RlciBvciBpbg0KPiBNZW1vcnkuDQo+ID4+IElmIGl0IGlzIG1l bW9yeSwgdGhlbiBpbiBUZHggdGhlIG1lbW9yeSByZWdpb24gc2hvdWxkIGJlIGluaXRpYWxpemVk IGJ5IGhvc3QNCj4gVk1NLg0KPiA+Pj4NCj4gPj4+IHRoYW5rIHlvdSENCj4gPj4+IFlhbywgSmll d2VuDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+PiDlnKggMjAyMeW5tDfmnIgyOOaXpe+8jOS4i+WNiDE6 MDfvvIxYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT4g5YaZDQo+IOmBk++8mg0KPiA+Pj4+ DQo+ID4+Pj4g77u/T24gSnVseSAyNywgMjAyMSA4OjQ2IFBNLCBZYW8sIEppZXdlbiB3cm90ZToN Cj4gPj4+Pj4gSEkgTWluDQo+ID4+Pj4+IEkgYWdyZWUgd2l0aCBCcmlqZXNoLg0KPiA+Pj4+Pg0K PiA+Pj4+PiBUaGUgYmFzaWMgcnVsZSBpczogU0VWIGZpbGUgc2hhbGwgbmV2ZXIgcmVmZXIgdG8g VERYIGRhdGEgc3RydWN0dXJlLg0KPiA+Pj4+PiBURFggZmlsZSBzaGFsbCBuZXZlciByZWZlciB0 byBTRVYgZGF0YSBzdHJ1Y3R1cmUuDQo+ID4+Pj4+IFRoZXNlIGNvZGUgc2hvdWxkIGJlIGlzb2xh dGVkIGNsZWFybHkuDQo+ID4+Pj4+DQo+ID4+Pj4+IERvIHdlIHN0aWxsIG5lZWQgdGhhdCBsb2dp YyBpZiB3ZSBmb2xsb3cgdGhlIG5ldyBwYXR0ZXJuPw0KPiA+Pj4+IEkgaGF2ZSByZXBsaWVkIHRv IEJyaWplc2gncyBtYWlsIGFib3V0IHRoZSBjb25jZXJuIG9mIHRoZSBuZXcgcGF0dGVybi4NCj4g Pj4+Pg0KPiA+Pj4+IEkgaGF2ZSBzb21lIGNvbmNlcm4gaW4gdGhlIGN1cnJlbnQgcGF0dGVybjoN Cj4gPj4+PiA9PT09PT09PT09PT09PT09PT09PQ0KPiA+Pj4+ICAgICBPbmVUaW1lQ2FsbCAgIFBy ZU1haW5GdW5jdGlvbkhvb2tTZXYNCj4gPj4+PiAgICAgT25lVGltZUNhbGwgICBQcmVNYWluRnVu Y3Rpb25Ib29rVGR4DQo+ID4+Pj4gTWFpbkZ1bmN0aW9uOg0KPiA+Pj4+ICAgICBYWFhYWFgNCj4g Pj4+PiAgICAgT25lVGltZUNhbGwgICBQb3N0TWFpbkZ1bmN0aW9uSG9va1Nldg0KPiA+Pj4+ICAg ICBPbmVUaW1lQ2FsbCAgIFBvc3RNYWluRnVuY3Rpb25Ib29rVGR4DQo+ID4+Pj4gPT09PT09PT09 PT09PT09PT09PT0NCj4gPj4+PiBUaGUgVEVFIGZ1bmN0aW9uIG5lZWQgaW1wbGVtZW50IGEgVEVF IGNoZWNrIGZ1bmN0aW9uIChzdWNoIGFzIElzU2V2LCBvcg0KPiA+PiBJc1RkeCkuDQo+ID4+Pj4N Cj4gPj4+PiBUZHggY2FsbCBDUFVJRCgweDIxKSB0byBkZXRlcm1pbmUgaWYgaXQgaXMgdGR4IGd1 ZXN0IGluIHRoZSB2ZXJ5DQo+ID4+Pj4gYmVnaW5uaW5nIG9mIFJlc2V0VmVjdG9yLiBUaGVuICdU RFhHJyBpcyBzZXQgaW4gVERYX1dPUktfQVJFQS4gU0VWDQo+IGRvZXMNCj4gPj4+IHRoZSBzaW1p bGFyIHdvcmsgd2hpY2ggY2FsbCBDaGVja1NldkZlYXR1cmVzIHRvIHNldCBTRVZfRVNfV09SS19B UkVBIHRvDQo+IDEuDQo+ID4+Pj4NCj4gPj4+PiBBZnRlciB0aGF0IGJvdGggVERYIGFuZCBTRVYg cmVhZCB0aGUgYWJvdmUgV09SS19BUkVBIHRvIGNoZWNrIGlmIGl0IGlzDQo+IFREWA0KPiA+Pj4g b3IgU0VWIG9yIGxlZ2FjeSBndWVzdC4NCj4gPj4+Pg0KPiA+Pj4+IEluIFRkeCB0aGUgYWNjZXNz IHRvIFNFVl9FU19XT1JLX0FSRUEgd2lsbCB0cmlnZ2VyIGVycm9yIGJlY2F1c2UNCj4gPj4+IFNF Vl9FU19XT1JLX0FSRUEgaXMgKk5PVCogaW5pdGlhbGl6ZWQgYnkgaG9zdCBWTU0uDQo+ID4+Pj4g SW4gU0VWLVNOUCBJIGFtIGFmcmFpZCB0aGUgYWNjZXNzIHRvIFREWF9XT1JLX0FSRUEgd2lsbCB0 cmlnZ2VyIGVycm9yDQo+IHRvby4NCj4gPj4+Pg0KPiA+Pj4+IEkgYW0gd29uZGVyaW5nIGlmIFRE WCBhbmQgU0VWIGNhbiB1c2UgdGhlIHNhbWUgbWVtb3J5IHJlZ2lvbiAoZm9yDQo+ID4+IGV4YW1w bGUsDQo+ID4+PiBURUVfV09SS19BUkVBKSBhcyB0aGUgd29yayBhcmVhPw0KPiA+Pj4+IFNvIHRo YXQgdGhpcyB3b3JrIGFyZWEgaXMgZ3VhcmFudGVlZCB0byBiZSBpbml0aWFsaXplZCBpbiBib3Ro IFREWCBhbmQNCj4gPj4+PiBTRVYuIFN0cnVjdHVyZSBvZiB0aGUgVEVFX1dPUktfQVJFQSBtYXkg bG9vayBsaWtlIHRoaXM6DQo+ID4+Pj4gICB0eXBlZGVmIHN0cnVjdCB7DQo+ID4+Pj4gICAgICAg VUlOVDggIEZsYWdbNF07ICAgICAgICAgJ1REWEcnIG9yICdTRVZHJyBvciBhbGwtMA0KPiA+Pj4+ ICAgICAgIFVJTlQ4ICBPdGhlcnNbXTsNCj4gPj4+PiAgIH0gVEVFX1dPUktfQVJFQTsNCj4gPj4+ Pj4NCj4gDQo+IEFyZSB3ZSByZXNlcnZpbmcgYSBuZXcgcGFnZSBmb3IgdGhlIFREWF9XT1JLX0FS RUEgPyBJIGFtIHdvbmRlcmluZyB3aHkNCj4gY2FuJ3Qgd2UgdXNlIHRoZSBTRVZfRVNfV09SS19B UkVBIGluc3RlYWQgb2Ygd2FzdGluZyBzcGFjZSBpbiB0aGUgTUVNRkQuDQo+IA0KPiBUaGUgU0VW X0VTX1dPUktfQVJFQSBsYXlvdXQgbG9va3MgbGlrZSB0aGlzOg0KPiANCj4gdHlwZWRlZiBzdHJ1 Y3QgX1NFQ19TRVZfRVNfV09SS19BUkVBIHsNCj4gICAgVUlOVDggICAgU2V2RXNFbmFibGVkOw0K PiAgICBVSU5UOCAgICBSZXNlcnZlZDFbN107DQo+IA0KPiAgICBVSU5UNjQgICBSYW5kb21EYXRh Ow0KPiANCj4gICAgVUlOVDY0ICAgRW5jcnlwdGlvbk1hc2s7DQo+IH0gU0VDX1NFVl9FU19XT1JL X0FSRUE7DQo+IA0KPiBUaGVyZSBpcyByZXNlcnZlZCBiaXQgYWZ0ZXIgdGhlIFNldkVzRW5hYmxl ZCBhbmQgb25lIGJ5dGUgY2FuIGJlIHVzZWQNCj4gZm9yIHRoZSBUZHhFbmFibGVkOw0KPiANCj4g dHlwZWRlZiBzdHJ1Y3QgX1NFQ19TRVZfRVNfV09SS19BUkVBIHsNCj4gICAgVUlOVDggICAgU2V2 RXNFbmFibGVkOw0KPiAgICBVSU5UOCAgICBUZHhFbmFibGVkOw0KPiAgICBVSU5UOCAgICBSZXNl cnZlZDJbNl07DQo+IA0KPiAgICBVSU5UNjQgICBSYW5kb21EYXRhOw0KPiANCj4gICAgVUlOVDY0 ICAgRW5jcnlwdGlvbk1hc2s7DQo+IH0gU0VDX1NFVl9FU19XT1JLX0FSRUE7DQo+IA0KPiBUaGUg U0VWX0VTX1dPUktfQVJFQSBjYW4gYmUgdHJlYXRlZCBhcyBhIFRFRV9XT1JLX0FSRUEgYW5kIHdl IGNhbiBiZQ0KPiBwdWxsIG91dCBmcm9tIE1lbUVuY3J5cFNldkxpYi5oIHRvIENjV29ya0FyZWFM aWIuaCBhbmQgcmVuYW1lIHRoZQ0KPiBzdHJ1Y3R1cmUgKGlmIG5lZWRlZCkuDQo+IA0KPiBCb3Ro IHRoZSBTRVYtU05QIGFuZCBURUUgaG9zdC1WTU0gYWNjZXB0cyB0aGUgVEVFX1dPUktfQVJFQSBi ZWZvcmUNCj4gYm9vdGluZyB0aGUgZ3Vlc3QgdG8gZW5zdXJlIHRoYXQgaXRzIHNhZmUgdG8gYWNj ZXNzIHRoZSBtZW1vcnkgd2l0aG91dA0KPiBnb2luZyB0aHJvdWdoIHRoZSBhY2NlcHQvdmFsaWRh dGlvbiBwcm9jZXNzLg0KPiANCj4gSW4gY2FzZSBvZiB0aGUgVERYLCB0aGUgcmVzZXQgdmVjdG9y IGNvZGUgc2V0cyB0aGUgVGR4RW5hYmxlZCBvbiB0aGUNCj4gZW50cnkuIEluIGNhc2Ugb2YgdGhl IFNFViwgdGhlIHdvcmthcmVhIGlzIHZhbGlkIGZyb20gU0VDIHRvIFBFSSBwaGFzZQ0KPiBvbmx5 IGFuZCBpdCBnZXRzIHJldXNlZCBmb3Igb3RoZXIgcHVycG9zZXMuIFRoZSBQRUkgcGhhc2Ugc2V0 IHRoZSBQY2Qncw0KPiAoc3VjaCBhcyBTZXZFc0VuYWJsZWQgb3IgU2V2RW5hYmxlZCBldGMpIHNv IHRoYXQgRHhlIG9yIG90aGVyIEVESzIgY29yZQ0KPiBkb2VzIG5vdCBuZWVkIHRvIGtub3cgYW55 dGhpbmcgYWJvdXQgdGhlIHdvcmthcmVhIGFuZCB0aGV5IHNpbXBseSBjYW4NCj4gcmVhZCB0aGUg UENEcy4NCj4gDQo+IC1CcmlqZXNoDQo+IA0KPiANCj4gDQo+IA0KDQo=