From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.3386.1588819095999681316 for ; Wed, 06 May 2020 19:38:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=SVZGQ1xy; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: eric.dong@intel.com) IronPort-SDR: Nw08/PYUlAnDqlWLL+Dei09sApR+WccfCs0VNij31b2VeV2x2wj9njDHnAq5VMqQ8RonnA2E7t tvZYt1UDK/ZA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2020 19:38:15 -0700 IronPort-SDR: 1TxjiujTZUF5C9dz5QAUAIcLXmzq01rZcENOuJCBqVzb2gHukL4PMxfNd9x2AzBCAXMt5FefVm cNSeDbiwrSjg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,361,1583222400"; d="scan'208";a="278450416" Received: from orsmsx102.amr.corp.intel.com ([10.22.225.129]) by orsmga002.jf.intel.com with ESMTP; 06 May 2020 19:38:15 -0700 Received: from orsmsx163.amr.corp.intel.com (10.22.240.88) by ORSMSX102.amr.corp.intel.com (10.22.225.129) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 6 May 2020 19:38:14 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by ORSMSX163.amr.corp.intel.com (10.22.240.88) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 6 May 2020 19:38:15 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.174) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 6 May 2020 19:38:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U1cVySijO6uYMO31cjKbH0ePbUxyLpREzIijk4ahU04P7kK2LjNtnlyvsT2e/EPt3YB0gulxo4DqJ+8VbpbN7qkTs5pBlUS0+5H8n8VNi1fXT9igkqj13NPoFY/BSv5nuHfCGuQVGSWPyc+WhPRG97A8dMVsBXcY09+0HSKI5a8AaaVPQS/QMSqbueUoCcbnWWWAx2l0R/jYg3Llq2wWtrNbV+W13LpAfjdNNMH+wJD/vsirszAGOCVAlNFhjLxQvEgH9l9Xey95fUnsuRlOhOXb92wANM7PYIKXxk2MEtWKeqXzTE3oFo/IPlbbpBkGqZdN8ind1AG+F35EsakkXQ== 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=KmvBZ5YI3Fk7OZuRtu7fTmFLPYgwlXXSegbxUlb8dZM=; b=ocGrndwksbJe3gnvOjkhePYv2MG+v76+tvSvDV1XAZX6s8dE1c1l8l9rDOU+5wje8s7U9ayEFa4W83XDcJK6WHYSrqidco7JOimTDQET2NlQx04wAJ8NMqqiaLujk/TDAG0c7T4Q4KlPlZ9IX1Sx6fGPKX6/8qRHPO0C307xfEshwKaEuAAESE4QExCP4kD76wV8WoJjVTWNy97OV1qe9ofRoCVNP65+plQC53uV705gSzwMnZojaUFGEH9Q2leaqutDzT8Cutg90x3QH4N5eAwpBbfEqO15C9r9x4Woj3uOIHcngrfYId3KqtFGYy1Feuz6XM2aCzfSEE9tAXHkjw== 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=KmvBZ5YI3Fk7OZuRtu7fTmFLPYgwlXXSegbxUlb8dZM=; b=SVZGQ1xy/MSs3ZMPkV4AQplW/E3sqvCzFeJAvZ6sbbEa6ds8Zz2o2Lmfz8MyjPKxoht356nFXNivmawBI4ZiQg30bBEgfmS6IRZ5QfcFCj8xdNHbDwE4lxxY8j+np5Wo7/yLis0Xg6no8ez2jwU/oDDyVEva9y7B1HPjG6qUuxw= Received: from DM6PR11MB3274.namprd11.prod.outlook.com (2603:10b6:5:b::26) by DM6PR11MB3609.namprd11.prod.outlook.com (2603:10b6:5:140::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Thu, 7 May 2020 02:38:13 +0000 Received: from DM6PR11MB3274.namprd11.prod.outlook.com ([fe80::e1d1:a495:9826:f88b]) by DM6PR11MB3274.namprd11.prod.outlook.com ([fe80::e1d1:a495:9826:f88b%3]) with mapi id 15.20.2979.028; Thu, 7 May 2020 02:38:13 +0000 From: "Dong, Eric" To: Tom Lendacky , "devel@edk2.groups.io" , "lersek@redhat.com" CC: "Justen, Jordan L" , Ard Biesheuvel , "Kinney, Michael D" , "Gao, Liming" , "Ni, Ray" , Brijesh Singh , "Wang, Jian J" , "Wu, Hao A" Subject: Re: [edk2-devel] [PATCH v7 01/43] MdeModulePkg: Create PCDs to be used in support of SEV-ES Thread-Topic: [edk2-devel] [PATCH v7 01/43] MdeModulePkg: Create PCDs to be used in support of SEV-ES Thread-Index: AQHWGM1pL5n8c77RvEKHgNe+rGnzSaiUYqrggAMXLgCAAIkO8P//qyoAgAF+L4CAAS5ksIAAP6IAgACdqqCAAEAOAIAAhukA Date: Thu, 7 May 2020 02:38:12 +0000 Message-ID: References: <3af2e4a8-fa4d-bb29-a282-c406ada7cf06@amd.com> <66c3ab32-0b1c-676b-2924-f14214be5de6@redhat.com> <226c8566-6550-613c-e07c-636686a851f9@amd.com> <13992141-8be7-bdb4-e104-9036dddbb04d@amd.com> In-Reply-To: <13992141-8be7-bdb4-e104-9036dddbb04d@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 19d0710b-be1c-4c47-d0cf-08d7f22fb07c x-ms-traffictypediagnostic: DM6PR11MB3609: 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:7219; x-forefront-prvs: 03965EFC76 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EJU1KStAnZLJfOYdT02g9SeofgzFwgoe8lsw63yvTSL8pXaVDm/zgBMc2pSBWD6yvn1rTZKNrW7g0O9FsMglMx0Dzu1+pfVJ0AqjwW1+HoVj58FfGvTMVpGcOuS36dqMhLrZFWhbOKf8JnxNKOf4AqBFz4rpu3fKsOxFxGMDRpqDc19q7vSh9pwuy+1uIh1ilIajOCG5r5J/+k7oAfE1RAaBbyGvZyY6I1hJJF0mBvrOtY9FU0/olB8RH6RKLVN8hZNiiPJuHTHOhPvDJXKcOeeHfoqWSn9dad19jzh9XehjTGnU4nGYEInkmWwebghar0TY1jGgYbVajf3+7njCHF0coMjmjRO1OD5J39NyVdcQq5lhmR1xVuX74uwc2hK7pMP3a8m/yQvkzbmkrkz4gP9PkOyCQ3via7dtp0clJ9Q0Msf0diZ3AJ64VPuuYZq5Qm9k7RYfQbh1ol0E6P0X1RL5r5qb6FEoDFbMB/HHi8tv5NIRNVPcEqazMPV1nOYRGdKcMqeJYbnHkzaAkBqXVXjIW640kamrQO2do7TyAT/LVIHspbd0tOun2/fcQW4kTalngtx1F0Jv2nClsWreRietr+GxZN4ah9sN3hCw8n0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB3274.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(396003)(346002)(136003)(39860400002)(376002)(33430700001)(64756008)(26005)(83080400001)(76116006)(9686003)(6506007)(110136005)(66476007)(55016002)(966005)(66446008)(66946007)(478600001)(52536014)(33656002)(53546011)(66556008)(83310400001)(83320400001)(83280400001)(83290400001)(83300400001)(54906003)(5660300002)(316002)(8676002)(2906002)(4326008)(45080400002)(86362001)(186003)(107886003)(8936002)(19627235002)(7696005)(71200400001)(33440700001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: VzE8x47DGzqRa+E6bxTH0p/Qg9np4ygqavNZXPr2U3drv5KyXSNiaqmDyZ2WlIggJLgY2lSmWUkzMwFZ/IhnTee19g/tNvMuWaiflXxW2dJ0gsXvjdwLpg8TBRagXNJjVPcVwTN1I411IOFvumsyLRoK6BmOTkV7B2nx6uQE6HpJRoKf9f1ihbh4Cc90cTkfDUf4/KE0WPB51eNWvS/ujVYMsxIxk3VDFGy0upLMqqaNCmF1aNC+OpQSznCe3a3A30cb9rL9H9FVIZAILG7zc+a48PaeAaCcNSc9IZP0BesFsA6VPZtlOAYyYFWMM5eOaL0C6zda/PFc6tusYAew/kZZm3TO1Ihkfu7OgGB1Xwq5RoUJp8LykguZnKB4JXa9Db1c9eVoAJw2tXwCxPDTkc5hznThPegQzjhHeNs4hzaNfqplmPyVBD2QzpXNnsxvcBnQalVaZmKPQvtly2mxAyAjyg/1bQjoaCkj4GWjM9oO+dr7hJzUH0GgumfWDBkMTlLIl8hgAwnLZe3KcGNcS3Y+ofQ8to001XGrZfAmX7EmxRd/eqa/sHB0R8ZiRdVyDpLj8lFO+PSdUdjcO+fKvviiyHaDYfp51VK3yHCFHjNcsQ7MjbH/JLPHvBRy5TX6buZzicWoB+RF8o1O9sXC/p/VM/9AO8MvZOtSBQRRwauMzz9IUwsKbdxw06VBRjoDWXrx1wlb7l1/upwtGmSxDWBVN3zFJIl1RdF4FMonuFHWtoF+9nOTRjj2KPur6Rs2fFtbgFnHpqppVr57G5wdso/p5FU7Rf7FShjhrZX0SrA= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 19d0710b-be1c-4c47-d0cf-08d7f22fb07c X-MS-Exchange-CrossTenant-originalarrivaltime: 07 May 2020 02:38:12.9272 (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: PxAd1xqljeFPlgVXCoY1z2RDDztAKspFxSeLmCYFjRA6xlXqBv2gpwm9bAF6yu54Qts3g6ROe3YsrdGpi3iUiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3609 Return-Path: eric.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgVG9tLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFRvbSBMZW5k YWNreSA8dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBNYXkgNywg MjAyMCAyOjMzIEFNDQo+IFRvOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgZGV2 ZWxAZWRrMi5ncm91cHMuaW87DQo+IGxlcnNla0ByZWRoYXQuY29tDQo+IENjOiBKdXN0ZW4sIEpv cmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPGFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+OyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBO aSwgUmF5DQo+IDxyYXkubmlAaW50ZWwuY29tPjsgQnJpamVzaCBTaW5naCA8YnJpamVzaC5zaW5n aEBhbWQuY29tPjsgV2FuZywgSmlhbiBKDQo+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwg SGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBb UEFUQ0ggdjcgMDEvNDNdIE1kZU1vZHVsZVBrZzogQ3JlYXRlIFBDRHMgdG8NCj4gYmUgdXNlZCBp biBzdXBwb3J0IG9mIFNFVi1FUw0KPiANCj4gSGkgRXJpYywNCj4gDQo+IE9uIDUvNi8yMCAxMDow NiBBTSwgRG9uZywgRXJpYyB3cm90ZToNCj4gPiBIaSBUb20sDQo+ID4NCj4gPj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVs QGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4gPj4gTGVuZGFja3ksIFRob21hcw0KPiA+ PiBTZW50OiBXZWRuZXNkYXksIE1heSA2LCAyMDIwIDk6MjAgUE0NCj4gPj4gVG86IERvbmcsIEVy aWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsNCj4gPj4gbGVy c2VrQHJlZGhhdC5jb20NCj4gPj4gQ2M6IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3Rl bkBpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA+PiA8YXJkLmJpZXNoZXV2ZWxAbGluYXJv Lm9yZz47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IE5pLA0KPiBSYXkNCj4gPj4g PHJheS5uaUBpbnRlbC5jb20+OyBCcmlqZXNoIFNpbmdoIDxicmlqZXNoLnNpbmdoQGFtZC5jb20+ OyBXYW5nLCBKaWFuDQo+IEoNCj4gPj4gPGppYW4uai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8g QSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSCB2NyAwMS80M10gTWRlTW9kdWxlUGtnOiBDcmVhdGUgUENEcw0KPiB0bw0KPiA+PiBiZSB1 c2VkIGluIHN1cHBvcnQgb2YgU0VWLUVTDQo+ID4+DQo+ID4+IE9uIDUvNS8yMCA4OjUzIFBNLCBE b25nLCBFcmljIHdyb3RlOg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyBbbWFpbHRvOmRldmVs QGVkazIuZ3JvdXBzLmlvXSBPbiBCZWhhbGYNCj4gT2YNCj4gPj4+PiBMYXN6bG8gRXJzZWsNCj4g Pj4+PiBTZW50OiBUdWVzZGF5LCBNYXkgNSwgMjAyMCAxMTozMCBQTQ0KPiA+Pj4+IFRvOiBUb20g TGVuZGFja3kgPHRob21hcy5sZW5kYWNreUBhbWQuY29tPjsgRG9uZywgRXJpYw0KPiA+Pj4+IDxl cmljLmRvbmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4+PiBDYzogSnVz dGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47IEFyZCBCaWVzaGV1dmVs DQo+ID4+Pj4gPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+OyBLaW5uZXksIE1pY2hhZWwgRA0K PiA+Pj4+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcu Z2FvQGludGVsLmNvbT47DQo+IE5pLA0KPiA+Pj4+IFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEJy aWplc2ggU2luZ2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT47DQo+IFdhbmcsDQo+ID4+Pj4gSmlh biBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNv bT4NCj4gPj4+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2NyAwMS80M10gTWRl TW9kdWxlUGtnOiBDcmVhdGUNCj4gUENEcw0KPiA+Pj4+IHRvIGJlIHVzZWQgaW4gc3VwcG9ydCBv ZiBTRVYtRVMNCj4gPj4+Pg0KPiA+Pj4+IE9uIDA1LzA0LzIwIDE4OjQxLCBUb20gTGVuZGFja3kg d3JvdGU6DQo+ID4+Pj4NCj4gPj4+Pj4gSXMgdGhlcmUgYW4gZWFzeSB3YXkgdG8gcnVuIGV2ZXJ5 dGhpbmcgdGhhdCB0aGlzIGxpbmsgcG9pbnRzLCB0b28/DQo+ID4+Pj4+IElzIGl0IGp1c3QgY3Jl YXRpbmcgYSBwdWxsIHJlcXVlc3QgdGhhdCBkb2VzIHRoaXM/IEkgZG9uJ3Qgd2FudCB0bw0KPiA+ Pj4+PiB0YWtlIHVwIGEgbG90IG9mIHlvdXIgdGltZSwgc28gaWYgdGhlcmUncyBzb21lIGRvY3Vt ZW50YXRpb24gb24gaG93DQo+ID4+Pj4+IHRvIHJ1biBhbiBpbnRlZ3JhdGlvbiB0ZXN0IHRvIGZp bmQgYW5kIGZpeCBpc3N1ZXMgbGlrZSB0aGlzLCBqdXN0IHBvaW50IG1lDQo+IHRvIGl0Lg0KPiA+ Pj4+DQo+ID4+Pj4gSnVzdCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Q7IGl0IHdpbGwgc2V0IG9mZiBD SSwgYW5kIHlvdSBjYW4gcmV2aWV3IFZTDQo+ID4+Pj4gYnVpbGQgZXJyb3JzIHRoZXJlIChpZiBh bnkpLg0KPiA+Pj4+DQo+ID4+Pj4gWW91ciBQUiB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY2xvc2Vk IChyZWplY3RlZCkgcmVnYXJkbGVzcyBvZiB3aGV0aGVyDQo+ID4+Pj4gQ0kgc3VjY2VlZHMgb3Ig bm90LiBQUnMgYXJlIG1lcmdlZCAtLSBpbiBmYWN0LCAqYXV0byotbWVyZ2VkLCBieSB0aGUNCj4g Pj4+PiAibWVyZ2lmeSBib3QiIC0tIGlmIGFuZCBvbmx5IGlmIChhKSB0aGUgQ0kgcnVuIHN1Y2Nl ZWRzLCBhbmQgKGIpIHRoZSBQUiBoYXMNCj4gPj4gdGhlICJwdXNoIg0KPiA+Pj4+IGxhYmVsIHNl dC4NCj4gPj4+Pg0KPiA+Pj4+IEFuZCBvbmx5IGVkazIgbWFpbnRhaW5lcnMgaGF2ZSBwZXJtaXNz aW9uIHRvIHNldCB0aGUgInB1c2giIGxhYmVsLg0KPiA+Pj4+IEFueSBQUiB3aXRob3V0IHRoZSAi cHVzaCIgbGFiZWwgcXVhbGlmaWVzIGFzIGEgInBlcnNvbmFsIHRlc3QgYnVpbGQiLg0KPiA+Pj4+ IFNvIHlvdSBjYW4gZnJlZWx5IGV4cGVyaW1lbnQgd2l0aCBQUnMsIGJlY2F1c2UgeW91IGNhbid0 IChldmVuDQo+ID4+Pj4gdW53aXR0aW5nbHkpIHNhdGlzZnkgY29uZGl0aW9uIChiKS4NCj4gPj4+ Pg0KPiA+Pj4+DQo+ID4+DQo+IGh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0 bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmdpdA0KPiA+Pj4+IGh1Yi5jb20lMkZ0aWFub2Nv cmUlMkZ0aWFub2NvcmUuZ2l0aHViLmlvJTJGd2lraSUyRkVESy1JSS0NCj4gPj4gRGV2ZWxvcG1l bnQNCj4gPj4+PiAtDQo+ID4+DQo+ICZhbXA7ZGF0YT0wMiU3QzAxJTdDdGhvbWFzLmxlbmRhY2t5 JTQwYW1kLmNvbSU3QzljZmYzNDc1YWZmODRhOQ0KPiA+PiA1NzI4NQ0KPiA+Pj4+DQo+ID4+DQo+ IDA4ZDdmMTYwNGM5OSU3QzNkZDg5NjFmZTQ4ODRlNjA4ZTExYTgyZDk5NGUxODNkJTdDMCU3QzAl N0M2MzcyNA0KPiA+PiAzMjY4MjENCj4gPj4+Pg0KPiA+Pg0KPiA3MzgyMDE5JmFtcDtzZGF0YT0z JTJGSUtCMTc0UWFWTGFxTzB1MWdkckwwaXpYbWhFWiUyQnl2ajNpQzEzVVlCDQo+ID4+IGMlM0Qm DQo+ID4+Pj4gYW1wO3Jlc2VydmVkPTANCj4gPj4+PiBQcm9jZXNzDQo+ID4+Pj4NCj4gPj4+DQo+ ID4+PiBUaGFua3MgTGFzemxvIGZvciB5b3VyIGV4cGxhbmF0aW9uLg0KPiA+Pj4NCj4gPj4+IEkg Zm91bmQgdGhpcyBwYXRjaCBzZXJpYWwgaXMgaW5jb21wYXRpYmxlIGZvciB0aGUgZXhpc3RlZCBw bGF0Zm9ybXMuDQo+ID4+PiBDYW4geW91IGhlbHAgdG8gZml4IHRoZSBidWlsZCBmYWlsdXJlIGZv ciB0aGVzZSBwbGF0Zm9ybXMgaW4NCj4gPj4+DQo+ID4+DQo+IGh0dHBzOi8vbmFtMTEuc2FmZWxp bmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmdpdGgNCj4gPj4+ IHViLmNvbSUyRnRpYW5vY29yZSUyRmVkazItDQo+ID4+IHBsYXRmb3JtcyZhbXA7ZGF0YT0wMiU3 QzAxJTdDdGhvbWFzLmxlbmRhY2t5DQo+ID4+PiAlNDBhbWQuY29tJTdDOWNmZjM0NzVhZmY4NGE5 NTcyODUwOGQ3ZjE2MDRjOTklN0MzZGQ4OTYxZmU0ODg0DQo+IGU2DQo+ID4+IDA4ZTExYTgNCj4g Pj4+DQo+ID4+DQo+IDJkOTk0ZTE4M2QlN0MwJTdDMCU3QzYzNzI0MzI2ODIxNzM4MjAxOSZhbXA7 c2RhdGE9alUwcXJCJTJCVjZaDQo+ID4+IHZGbVB6amN4DQo+ID4+PiBHbzlvMlB1MSUyRnJoUlcw Z1VaVE12JTJCaVhEUSUzRCZhbXA7cmVzZXJ2ZWQ9MA0KPiA+Pj4NCj4gPj4NCj4gPj4gSSBoYXZl IGZpeGVkIGFsbCBvZiB0aGUgYnVpbGQgaXNzdWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgVlMgY29t cGlsZXIgdXNpbmcNCj4gdGhlDQo+ID4+IHB1bGwgcmVxdWVzdCBtZXRob2QgdGhhdCBMYXN6bG8g bWVudGlvbmVkLiBJIHRoZW4gc3VjY2Vzc2Z1bGx5IGJ1aWx0IHRoZQ0KPiBSUGk0DQo+ID4+IHBs YXRmb3JtIHVuZGVyIEdDQyAoYnVpbGQgLW4gMzIgLWEgQUFSQ0g2NCAtdCBHQ0M1IC1wDQo+ID4+ IFBsYXRmb3JtL1Jhc3BiZXJyeVBpL1JQaTQvUlBpNC5kc2MpIHVzaW5nIHRoZSBBQVJDSDY0IGNy b3NzIGNvbXBpbGVyLg0KPiA+Pg0KPiA+PiBJcyB0aGVyZSBhIHBhcnRpY3VsYXIgcGxhdGZvcm0g dGhhdCBleHBlcmllbmNlcyBhbiBpc3N1ZSBvciBhcmUgdGhlIGZhaWx1cmVzDQo+ID4+IHJlbGF0 ZWQgdG8gdGhlIFZTIGNvbXBpbGVyIGVycm9ycyB0aGF0IG15IG5leHQgc2VyaWVzIHdpbGwgaGF2 ZSBmaXhlZD8NCj4gPg0KPiA+IEkgdXNlZCB0aGUgS2FieWxha2VSdnAzIHBsYXRmb3JtIHdpdGgg eW91ciBjaGFuZ2VzIGluIEVkazIgYW5kIG1ldA0KPiBmYWlsdXJlcy4NCj4gPiBLYWJ5bGFrZVJ2 cDMgY29kZSBhdCBFZGsyLQ0KPiBwbGF0Zm9ybXNcUGxhdGZvcm1cSW50ZWxcS2FieWxha2VPcGVu Qm9hcmRQa2dcDQo+ID4NCj4gPiAgIEkgdXNlZCBiZWxvdyBjb21tYW5kIHRvIGJ1aWxkIHRoZSBj b2RlLg0KPiA+IEM6XENvZGVcT3BlblNvdXJjZVxlZGsyLXBsYXRmb3Jtc1xQbGF0Zm9ybVxJbnRl bD5idWlsZF9iaW9zLnB5IC0tDQo+IHBsYXRmb3JtIEthYnlsYWtlUnZwMw0KPiA+DQo+ID4gWW91 IG5lZWQgY2xvbmUgYmVsb3cgcmVwb3NpdG9yaWVzIHRvIGJ1aWxkIHRoZSBjb2RlLg0KPiA+IEVk azI6IGdpdEBnaXRodWIuY29tOnRpYW5vY29yZS9lZGsyLmdpdA0KPiA+IEVkazItUGxhdGZvcm0g Z2l0QGdpdGh1Yi5jb206dGlhbm9jb3JlL2VkazItcGxhdGZvcm1zLmdpdA0KPiA+IGVkazItbm9u LW9zaSA6ICBnaXRAZ2l0aHViLmNvbTp0aWFub2NvcmUvZWRrMi1ub24tb3NpLmdpdA0KPiA+IEZT UDogZ2l0QGdpdGh1Yi5jb206SW50ZWxGc3AvRlNQLmdpdA0KPiANCj4gT24gbXkgTGludXggc3lz dGVtLCBJIGNsb25lZCBhbGwgdGhlIGxpYnJhcmllcyBhbmQgc2V0IHRoZSBXT1JLU1BBQ0UgYW5k DQo+IFBBQ0tBR0VTX1BBVEggZW52IHZhcmlhYmxlcywgc291cmNlZCBlZGtzZXR1cC5zaCBhbmQg aXNzdWVkOg0KPiANCj4gcHl0aG9uMyBlZGsyLXBsYXRmb3Jtcy9QbGF0Zm9ybS9JbnRlbC9idWls ZF9iaW9zLnB5IC0tcGxhdGZvcm0NCj4gS2FieWxha2VSdnAzDQo+IA0KPiBhbmQgZ290IHRoZSBm b2xsb3dpbmcgZXJyb3JzOg0KPiANCj4gVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3Qp Og0KPiAgIEZpbGUgImVkazItcGxhdGZvcm1zL1BsYXRmb3JtL0ludGVsL2J1aWxkX2Jpb3MucHki LCBsaW5lIDEwOTcsIGluIDxtb2R1bGU+DQo+ICAgICBtYWluKCkNCj4gICBGaWxlICJlZGsyLXBs YXRmb3Jtcy9QbGF0Zm9ybS9JbnRlbC9idWlsZF9iaW9zLnB5IiwgbGluZSAxMDY3LCBpbiBtYWlu DQo+ICAgICBwbGF0Zm9ybV9jb25maWcgPSBnZXRfcGxhdGZvcm1fY29uZmlnKGFyZ3VtZW50cy5w bGF0Zm9ybSwgYnVpbGRfY29uZmlnKQ0KPiAgIEZpbGUgImVkazItcGxhdGZvcm1zL1BsYXRmb3Jt L0ludGVsL2J1aWxkX2Jpb3MucHkiLCBsaW5lIDkwNCwgaW4NCj4gZ2V0X3BsYXRmb3JtX2NvbmZp Zw0KPiAgICAgcGF0aCA9IHBsYXRmb3JtX2RhdGEuZ2V0KHBsYXRmb3JtX25hbWUpDQo+IEF0dHJp YnV0ZUVycm9yOiAnTm9uZVR5cGUnIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdnZXQnDQo+IA0K PiBJIGRvbid0IGtub3cgd2hhdCBJJ20gbWlzc2luZyBhcyB0byB3aHkgdGhpcyBlcnJvciBwb3Bz IHVwLiBIb3cgaXMgdGhpcw0KPiBkb25lIG9uIGEgTGludXggc3lzdGVtPw0KDQpDYW4geW91IHJ1 biB0aGUgY29tbWFuZCBpbiBJbnRlbCBkaXJlY3Rvcnk/IFNlZW1zIGxpa2UgeW91IG5vdCBydW4g aXQgaW4gSW50ZWwgZGlyZWN0b3J5IG5vdy4NCg0KQ2hhbmdlIHRvIEludGVsIGRpcmVjdG9yeSB0 aGVuIHJ1biBweXRob24zIGJ1aWxkX2Jpb3MucHkgLS1wbGF0Zm9ybSBLYWJ5bGFrZVJ2cDMNCg0K VGhhbmtzLA0KRXJpYw0KPiANCj4gRGlkIHlvdXIgYnVpbGQgZmFpbCBiZWNhdXNlIG9mIHRoZSBW bWdFeGl0TGliIGxpYnJhcnkgbm90IGJlaW5nIHNwZWNpZmllZD8NCj4gSWYgdGhlIHBsYXRmb3Jt IGluY2x1ZGVzIHRoZSBDcHVFeGNlcHRpb25IYW5kbGVyTGliIG9yIE1wSW5pdExpYiBsaWJyYXJp ZXMNCj4gdGhlbiBpdCB3aWxsIG5vdyBhbHNvIG5lZWQgdG8gaW5jbHVkZSB0aGUgVm1nRXhpdExp YiBsaWJyYXJ5Lg0KPiANCj4gSSB3aXNoIHRoZSBidWlsZCBzeXN0ZW0gY291bGQgZmlndXJlIG91 dCB0aGF0IGJlY2F1c2UgdGhlIFZtZ0V4aXRMaWINCj4gbGlicmFyeSBpcyBzcGVjaWZpZWQgaW4g dGhlIHZhcmlvdXMgQ3B1RXhjZXB0aW9uSGFuZGxlckxpYiBJTkYgZmlsZXMgYW5kDQo+IHRoZSB2 YXJpb3VzIE1wSW5pdExpYiBJTkYgZmlsZXMsIGl0IHdvdWxkIGF1dG9tYXRpY2FsbHkga25vdyB0 byBpbmNsdWRlIGl0DQo+IGluIHdoYXRldmVyIHVzZXMgdGhvc2UgbGlicmFyaWVzLiBJdCBkb2Vz bid0IHNlZW0gcmlnaHQgdGhhdCB5b3Ugd291bGQNCj4gaGF2ZSB0byBrbm93IGFuZCBzcGVjaWZ5 IHRoZSBsaWJyYXJ5IHJlcXVpcmVtZW50cyBvZiBhIGxpYnJhcnkgeW91IGFyZQ0KPiBpbmNsdWRp bmcgd2hlbiB0aGUgc3lzdGVtIGNvdWxkIGZpZ3VyZSBpdCBvdXQuDQo+IA0KPiBUaGFua3MsDQo+ IFRvbQ0KPiANCj4gPg0KPiA+Pg0KPiA+Pj4gSSB0aGluayB5b3UgYWxzbyBuZWVkcyB0byBhZGQg YW4gd2lraSBwYWdlIHRvIGV4cGxhaW4gd2hhdCBuZWVkIHRvIGRvIGlmDQo+IGFuDQo+ID4+IHBs YXRmb3JtIG5lZWRzIHRvIGludGVncmF0ZSB5b3VyIGNoYW5nZXMsIGFsc28gaXQncyBiZXR0ZXIg dG8gZXhwbGFpbiB0aGlzDQo+ID4+IGZlYXR1cmUgaW4gdGhlIHBhZ2UuDQo+ID4+Pg0KPiA+Pg0K PiBodHRwczovL25hbTExLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0 cHMlM0ElMkYlMkZnaXRoDQo+ID4+Pg0KPiA+Pg0KPiB1Yi5jb20lMkZ0aWFub2NvcmUlMkZ0aWFu b2NvcmUuZ2l0aHViLmlvJTJGd2lraSZhbXA7ZGF0YT0wMiU3QzAxJTcNCj4gPj4gQ3Robw0KPiA+ Pj4NCj4gPj4NCj4gbWFzLmxlbmRhY2t5JTQwYW1kLmNvbSU3QzljZmYzNDc1YWZmODRhOTU3Mjg1 MDhkN2YxNjA0Yzk5JTdDM2RkODkNCj4gPj4gNjFmZTQNCj4gPj4+DQo+ID4+DQo+IDg4NGU2MDhl MTFhODJkOTk0ZTE4M2QlN0MwJTdDMCU3QzYzNzI0MzI2ODIxNzM4MjAxOSZhbXA7c2RhdGE9eA0K PiA+PiBMa29WNHpXDQo+ID4+PiBoeHRzYnFzenFQYzBsRUFsJTJCWUxMJTJCMndnMW5JWHFsOGE2 NEUlM0QmYW1wO3Jlc2VydmVkPTANCj4gPj4NCj4gPj4gSSBkb24ndCBzZWUgYW55IHBsYXRmb3Jt IG90aGVyIHRoYW4gT1ZNRiB1c2luZyB0aGlzIGZlYXR1cmUgYXMgaXQgaXMgYQ0KPiA+PiB2aXJ0 dWFsaXphdGlvbiBmZWF0dXJlLiBIYXZpbmcgc2FpZCB0aGF0IEkgY2FuIGFkZCBhbiBleHBsYW5h dGlvbiBvZiB3aGF0IGlzDQo+ID4+IG5lZWRlZCBzaG91bGQgYW5vdGhlciB2aXJ0dWFsaXphdGlv biBwbGF0Zm9ybSBiZSBjcmVhdGVkIHVuZGVyIEVESzINCj4gdGhhdA0KPiA+PiB3YW50cyB0byBz dXBwb3J0IFNFVi1FUy4gQW5kLCBhcyB5b3Ugc2FpZCwgSSBjYW4gYWxzbyBleHBsYWluIHRoZSBm ZWF0dXJlDQo+ID4+IG92ZXJhbGwgb24gdGhlIHBhZ2UuDQo+ID4+DQo+ID4NCj4gPiBJIHRoaW5r IHlvdXIgcGFnZSBpbmNsdWRlcyB0d28gcGFydHMsIG9uZSBpcyBob3cgdG8gY2hhbmdlIHRoZSBw bGF0Zm9ybQ0KPiBjb2RlIHRvIG1ha2UgdGhlIHBsYXRmb3JtIHBhc3MgYnVpbGQsDQo+ID4gdGhl IG90aGVyIGlzIGlmIHRoZSBwbGF0Zm9ybSBuZWVkcyB0byBlbmFibGUgdGhlIHZpcnR1YWxpemF0 aW9uIGZlYXR1cmUsIGhvdw0KPiB0byBlbmFibGUgaXQuDQo+ID4NCj4gPj4+DQo+ID4+Pg0KPiA+ Pj4gSWYgeW91IHdhbnQgdG8gaW5jbHVkZSB0aGlzIGNoYW5nZSBpbiB0aGUgbmV4dCBlZGsyIHJl bGVhc2UsIHlvdSBuZWVkDQo+ID4+PiB0byBhZGQgb25lIGl0ZW0gZm9yIGl0IGluIHRoZSByZWxl YXNlIHBsYW4gcGFnZSwgc2FtcGxlIGNhbiBiZSBmb3VuZA0KPiA+Pj4gaW4gYmVsb3cgcGFnZXM6 DQo+ID4+Pg0KPiA+Pg0KPiBodHRwczovL25hbTExLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxv b2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZnaXRoDQo+ID4+PiB1Yi5jb20lMkZ0aWFub2NvcmUl MkZ0aWFub2NvcmUuZ2l0aHViLmlvJTJGd2lraSUyRkVESy1JSS1SZWxlYXNlLQ0KPiA+PiBQbGFu bg0KPiA+Pj4NCj4gPj4NCj4gaW5nJmFtcDtkYXRhPTAyJTdDMDElN0N0aG9tYXMubGVuZGFja3kl NDBhbWQuY29tJTdDOWNmZjM0NzVhZmY4NA0KPiA+PiBhOTU3MjgNCj4gPj4+DQo+ID4+DQo+IDUw OGQ3ZjE2MDRjOTklN0MzZGQ4OTYxZmU0ODg0ZTYwOGUxMWE4MmQ5OTRlMTgzZCU3QzAlN0MwJTdD NjM3Mg0KPiA+PiA0MzI2ODIxDQo+ID4+Pg0KPiA+Pg0KPiA3MzgyMDE5JmFtcDtzZGF0YT1rY0RW allITVM5YlJSWk9sS0VrNXluRk5UMzlBbnhjaEpBTWFrJTJCbjg3MA0KPiA+PiBJJTNEJmFtcA0K PiA+Pj4gO3Jlc2VydmVkPTANCj4gPj4NCj4gPj4gVGhhbmtzLiBJcyB0aGVyZSBhbnlvbmUgaW4g cGFydGljdWxhciB0aGF0IEkgbmVlZCB0byByZXF1ZXN0IHRoaXMgZmVhdHVyZSBiZQ0KPiA+PiBh ZGRlZD8NCj4gPg0KPiA+IFlvdSBjYW4gc3luIHdpdGggTGltaW5nLCBoZSBpcyB0aGUgZWRrMiBy ZWxlYXNlIG1hbmFnZXIuIEhlIG93bnMgZWRrMg0KPiBzdGFibGUgdGFnIHJlbGVhc2UgdGFzay4N Cj4gPg0KPiA+IFRoYW5rcywNCj4gPiBFcmljDQo+ID4+DQo+ID4+IFRoYW5rcywNCj4gPj4gVG9t DQo+ID4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IFRoYW5rcywNCj4gPj4+IEVyaWMNCj4gPj4+DQo+ ID4+Pj4gVGhhbmtzLA0KPiA+Pj4+IExhc3psbw0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+ Pg0KPiA+PiANCj4gPg0K