From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: ray.ni@intel.com) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by groups.io with SMTP; Wed, 31 Jul 2019 18:28:11 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Jul 2019 18:28:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,332,1559545200"; d="scan'208";a="324005204" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga004.jf.intel.com with ESMTP; 31 Jul 2019 18:28:09 -0700 Received: from fmsmsx124.amr.corp.intel.com (10.18.125.39) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 31 Jul 2019 18:27:59 -0700 Received: from shsmsx106.ccr.corp.intel.com (10.239.4.159) by fmsmsx124.amr.corp.intel.com (10.18.125.39) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 31 Jul 2019 18:27:59 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.112]) by SHSMSX106.ccr.corp.intel.com ([169.254.10.204]) with mapi id 14.03.0439.000; Thu, 1 Aug 2019 09:27:57 +0800 From: "Ni, Ray" To: "Yao, Jiewen" , "devel@edk2.groups.io" , "lersek@redhat.com" CC: "Dong, Eric" , "Wang, Jian J" Subject: Re: [edk2-devel] [PATCH v2 2/2] UefiCpuPkg/PiSmmCpu: PcdCpuSmmAccessOut controls SMM access-out policy Thread-Topic: [edk2-devel] [PATCH v2 2/2] UefiCpuPkg/PiSmmCpu: PcdCpuSmmAccessOut controls SMM access-out policy Thread-Index: AQHVR/WU6Iz8BO8X30eoNUShJHkQl6bk4uAAgACY32A= Date: Thu, 1 Aug 2019 01:27:56 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C266BC4@SHSMSX104.ccr.corp.intel.com> References: <20190731163852.191708-1-ray.ni@intel.com> <20190731163852.191708-3-ray.ni@intel.com>,<50b073a1-bf04-4b8a-e267-2af933d34c5c@redhat.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYWViNTU5ZDctYzNiNi00OWUxLWJlZjgtZmJkZWViZjU1YzkxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSGQ0RHN0ZW44OFZ3Vm1taGdZSEg3M3BJY1FmN2Z3V2ZsejVpaWMyZkx0bVkxNVhuZ1R0Y2FCNnA5WDJaaXJHQyJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 PiBCZWxvdyBpcyBteSB0aG91Z2h0LCBwbGVhc2UgY29ycmVjdCBpZiBJIGFtIHdyb25nLg0KPiAx KSBTdGF0aWNQYWdpbmc9ZmFsc2UsIEFjY2Vzc091dD1mYWxzZTogaXQgc2VlbXMgaW52YWxpZC4g SWYgd2UgZG9uoa90IHN1cHBvcnQgYWNjZXNzIG91dCwgd2h5IHdlIG5lZWQgZHluYW1pYyBwYWdp bmc/DQo+IDIpIFN0YXRpY1BhZ2luZz1mYWxzZSwgQWNjZXNzT3V0PXRydWU6IGl0IHNlZW1zIHZh bGlkLiBXZSBuZWVkIGFjY2VzcyBvdXQsIGJ1dCB3ZSBvbmx5IHdhbnQgYSBzbWFsbCBwYWdpbmcg aW4gdGhlIGJlZ2lubmluZy4gQXMNCj4gc3VjaCB3ZSB1c2UgZHluYW1pYyBwYWdpbmcuIFRoaXMg aXMgdG8gc3VwcG9ydCBIb3RwbHVnIG1lbW9yeS4NCj4gMykgU3RhdGljUGFnaW5nPXRydWUsIEFj Y2Vzc091dD1mYWxzZTogaXQgc2VlbXMgdmFsaWQuIFRoZSBpcyBzZWN1cmUgY29uZmlndXJhdGlv bi4NCj4gNCkgU3RhdGljUGFnaW5nPXRydWUsIEFjY2Vzc091dD10cnVlOiBpdCBzZWVtcyB2YWxp ZCwgYnV0IEkgZG8gbm90IHNlZSB0aGUgdmFsdWUgdG8gc3VwcG9ydCB0aGlzLiBJZiB3ZSBhbHdh eXMgYWxsb3cgYWNjZXNzIG91dCwNCj4gd2hhdCBpcyB0aGUgdmFsdWUgdG8gc2V0IHN0YXRpYyBw YWdpbmcuIE9yIHdoeSB3ZSBjYXJlIHRoZSBwYWdpbmcgaXMgc3RhdGljIG9yIGR5bmFtaWM/DQoN Cg0KSmlld2VuLA0KVGhlIHZhbHVlIG9mIHN0YXRpYyBwYWdpbmcgaXMgdG8gcmVkdWNlIHBhZ2Ug dGFibGUgU01SQU0gY29uc3VtcHRpb24uIFdlIGNvdWxkIGNyZWF0ZSB0aGUgcGFnZSB0YWJsZSBp biBhZHZhbmNlIGFuZCB0aGF0DQpwYWdlIHRhYmxlIHBlcm1pdHMgc21tIGFjY2VzcyBvdXQuDQoN Cj4gDQo+IEFzIHN1Y2ggSSByZWNvbW1lbmQgd2Ugb25seSBzdXBwb3J0ICMyIGFuZCAjMy4NCg0K U3VwcG9ydGluZyAjMiBhbmQgIzMgaXMgYmFzZWQgb24gcmVhbCByZXF1aXJlbWVudCwgbm90IGZy b20gYWJvdmUgZGlzY3Vzc2lvbiBvZiA0IGNvbWJpbmF0aW9ucy4NCg0KPiANCj4gQWdhaW4sIGlm IHRoZSBuYW1pbmcgaXMgY29uZnVzaW5nLCBJIGFncmVlIHdlIHNob3VsZCBjbGFyaWZ5IG9yIGV2 ZW4gcmVuYW1lLg0KDQpJIGFsc28gYWdyZWUgdGhhdCBoYXZpbmcgZmV3ZXIgUENEcyB0byBwcm92 aWRlIGZld2VyIGNvbmZpZ3VyYXRpb25zLiBJdCBhbHNvIHJlZHVjZXMgdmFsaWRhdGlvbiBlZmZv cnQuDQoNCkppZXdlbiAmIExhc3psbywNCkRvIHlvdSBhZ3JlZSB0aGF0IHdpdGggb25seSAjMiBh bmQgIzMgc3VwcG9ydGVkLCB0aGUgZXhpc3RpbmcgUENEIGNhbiBiZSByZW5hbWVkIHRvIFBjZENw dVNtbUFjY2Vzc091dD8NCklmIEFjY2Vzc091dD10cnVlLCBpdCBpbXBsaWVzIHN0YXRpYyBwYWdp bmcgaXMgbm90IHVzZWQuDQpJZiBBY2Nlc3NPdXQ9ZmFsc2UsIGl0IGltcGxpZXMgc3RhdGljIHBh Z2luZyBpcyB1c2VkLg0KDQpNeSBnb2FsIGlzIHRvIGhhdmUgYSB3YXkgdG8gYWxsb3cgUkFTIGNv ZGUgYWNjZXNzIG91dCBmcm9tIFNNTSBhZnRlciBSZWFkeVRvTG9jay4NCkFueSBzb2x1dGlvbiB0 aGF0IGNhbiBtZWV0IHRoaXMgZ29hbCBpcyBvayB0byBtZS4gSSBkb24ndCB3YW50IHRvIGFkZCBj b25mdXNpbmcvdW5uZWNlc3NhcnktY29tcGxleGl0eSBkdWUgdG8gdGhpcyBnb2FsLg0KDQo+IFdo YXQgSSBhbSB0cnlpbmcgdG8gYWNoaWV2ZSBpcyB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIHN1cHBv cnRlZCBjb21iaW5hdGlvbiB0byByZWR1Y2UgdGhlIGVmZm9ydCBvZiB2YWxpZGF0aW9uIGFuZCBt YWludGVuYW5jZS4NCj4gDQo+IHRoYW5rIHlvdSENCj4gWWFvLCBKaWV3ZW4NCj4gDQo+IA0KPiA+ INTaIDIwMTnE6jjUwjHI1aOsyc/O5zc6MTOjrExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5j b20+INC0tcCjug0KPiA+DQo+ID4gSGkgUmF5LCBKaWV3ZW4sDQo+ID4NCj4gPiBJJ3ZlIGdvdCBz ZXZlcmFsIGNvbW1lbnRzIC8gcXVlc3Rpb25zOg0KPiA+DQo+ID4+IE9uIDA3LzMxLzE5IDE4OjM4 LCBOaSwgUmF5IHdyb3RlOg0KPiA+PiBUaGlzIHBhdGNoIHNraXBzIHRvIHVwZGF0ZSBwYWdlIHRh YmxlIGZvciBub24tU01SQU0gbWVtb3J5IHdoZW4NCj4gPj4gUGNkQ3B1U21tQWNjZXNzT3V0IGlz IFRSVUUuDQo+ID4+IFNvIHRoYXQgd2hlbiBTTU0gYWNjZXNzZXMgb3V0LCBubyBwYWdlIGZhdWx0 IGlzIHRyaWdnZXJlZCBhdCBhbGwuDQo+ID4+DQo+ID4+IFNpZ25lZC1vZmYtYnk6IFJheSBOaSA8 cmF5Lm5pQGludGVsLmNvbT4NCj4gPj4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNv bT4NCj4gPj4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+PiBDYzog SmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPj4gQ2M6IExhc3psbyBFcnNl ayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ID4+IC0tLQ0KPiA+PiBVZWZpQ3B1UGtnL1BpU21tQ3B1 RHhlU21tL1BpU21tQ3B1RHhlU21tLmMgfCAyMSArKysrKysrKysrKysrKysrKy0tLS0NCj4gPj4g VWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9YNjQvUGFnZVRibC5jICAgIHwgIDIgKy0NCj4gPj4g MiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPiA+Pg0K PiA+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNwdUR4ZVNt bS5jIGIvVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNwdUR4ZVNtbS5jDQo+ID4+IGlu ZGV4IDY5YTA0ZGZiMjMuLjQyN2MzM2ZiMDEgMTAwNjQ0DQo+ID4+IC0tLSBhL1VlZmlDcHVQa2cv UGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uYw0KPiA+PiArKysgYi9VZWZpQ3B1UGtnL1Bp U21tQ3B1RHhlU21tL1BpU21tQ3B1RHhlU21tLmMNCj4gPj4gQEAgLTEzMCw2ICsxMzAsMTEgQEAg VUlOVDggICAgICAgICAgICAgICAgICAgIG1QaHlzaWNhbEFkZHJlc3NCaXRzOw0KPiA+PiBVSU5U MzIgICAgICAgICAgICAgICAgICAgbVNtbUNyMDsNCj4gPj4gVUlOVDMyICAgICAgICAgICAgICAg ICAgIG1TbW1DcjQ7DQo+ID4+DQo+ID4+ICsvLw0KPiA+PiArLy8gQ2FjaGUgb2YgUGNkQ3B1U21t QWNjZXNzT3V0DQo+ID4+ICsvLw0KPiA+PiArQk9PTEVBTiAgICAgICAgICAgICAgICAgIG1TbW1B Y2Nlc3NPdXQ7DQo+ID4+ICsNCj4gPj4gLyoqDQo+ID4+ICAgSW5pdGlhbGl6ZSBJRFQgdG8gc2V0 dXAgZXhjZXB0aW9uIGhhbmRsZXJzIGZvciBTTU0uDQo+ID4+DQo+ID4+IEBAIC02MTAsNiArNjE1 LDEyIEBAIFBpQ3B1U21tRW50cnkgKA0KPiA+PiAgIG1TbW1Db2RlQWNjZXNzQ2hlY2tFbmFibGUg PSBQY2RHZXRCb29sIChQY2RDcHVTbW1Db2RlQWNjZXNzQ2hlY2tFbmFibGUpOw0KPiA+PiAgIERF QlVHICgoRUZJX0RfSU5GTywgIlBjZENwdVNtbUNvZGVBY2Nlc3NDaGVja0VuYWJsZSA9ICVkXG4i LCBtU21tQ29kZUFjY2Vzc0NoZWNrRW5hYmxlKSk7DQo+ID4+DQo+ID4+ICsgIC8vDQo+ID4+ICsg IC8vIFNhdmUgdGhlIFBjZENwdVNtbUFjY2Vzc091dCB2YWx1ZSBpbnRvIGEgZ2xvYmFsIHZhcmlh YmxlLg0KPiA+PiArICAvLw0KPiA+PiArICBtU21tQWNjZXNzT3V0ID0gUGNkR2V0Qm9vbCAoUGNk Q3B1U21tQWNjZXNzT3V0KTsNCj4gPj4gKyAgREVCVUcgKChERUJVR19JTkZPLCAiUGNkQ3B1U21t QWNjZXNzT3V0ID0gJWRcbiIsIG1TbW1BY2Nlc3NPdXQpKTsNCj4gPj4gKw0KPiA+PiAgIC8vDQo+ ID4+ICAgLy8gU2F2ZSB0aGUgUGNkUHRlTWVtb3J5RW5jcnlwdGlvbkFkZHJlc3NPck1hc2sgdmFs dWUgaW50byBhIGdsb2JhbCB2YXJpYWJsZS4NCj4gPj4gICAvLyBNYWtlIHN1cmUgQWRkcmVzc0Vu Y01hc2sgaXMgY29udGFpbmVkIHRvIHNtYWxsZXN0IHN1cHBvcnRlZCBhZGRyZXNzIGZpZWxkLg0K PiA+DQo+ID4gVGhlIGFib3ZlIGxvb2tzIGNvcnJlY3Q7IGhvd2V2ZXIsIHRoZSBQY2RHZXRCb29s KCkgY2FsbCBkZXBlbmRzIG9uIHRoZQ0KPiA+IElORiBmaWxlIGxpc3RpbmcgUGNkQ3B1U21tQWNj ZXNzT3V0Lg0KPiA+DQo+ID4gKDEpIFJheSwgZGlkIHlvdSBmb3JnZXQgdG8gc3RhZ2UgdGhlIElO RiBmaWxlIHVwZGF0ZSBmb3IgdGhpcyBwYXRjaCBjb21taXQ/DQo+ID4NCj4gPg0KPiA+PiBAQCAt MTQzMSwxMCArMTQ0MiwxMiBAQCBQZXJmb3JtUmVtYWluaW5nVGFza3MgKA0KPiA+PiAgICAgLy8N Cj4gPj4gICAgIFNldE1lbU1hcEF0dHJpYnV0ZXMgKCk7DQo+ID4+DQo+ID4+IC0gICAgLy8NCj4g Pj4gLSAgICAvLyBGb3Igb3V0c2lkZSBTTVJBTSwgd2Ugb25seSBtYXAgU01NIGNvbW11bmljYXRp b24gYnVmZmVyIG9yIE1NSU8uDQo+ID4+IC0gICAgLy8NCj4gPj4gLSAgICBTZXRVZWZpTWVtTWFw QXR0cmlidXRlcyAoKTsNCj4gPj4gKyAgICBpZiAoIW1TbW1BY2Nlc3NPdXQpIHsNCj4gPj4gKyAg ICAgIC8vDQo+ID4+ICsgICAgICAvLyBGb3Igb3V0c2lkZSBTTVJBTSwgd2Ugb25seSBtYXAgU01N IGNvbW11bmljYXRpb24gYnVmZmVyIG9yIE1NSU8uDQo+ID4+ICsgICAgICAvLw0KPiA+PiArICAg ICAgU2V0VWVmaU1lbU1hcEF0dHJpYnV0ZXMgKCk7DQo+ID4+ICsgICAgfQ0KPiA+DQo+ID4gVGhp cyBjaGFuZ2UgbG9va3MgT0suIEl0IHNlZW1zIHRvIGNvbmRpdGlvbmFsaXplIHRoZSBsb2dpYyBh ZGRlZCBpbg0KPiA+IGNvbW1pdCBkMmZjNzcxMTEzNmEgKCJVZWZpQ3B1UGtnL1BpU21tQ3B1OiBB ZGQgU01NIENvbW0gQnVmZmVyIFBhZ2luZw0KPiA+IFByb3RlY3Rpb24uIiwgMjAxNi0xMi0xOSku DQo+ID4NCj4gPiBIb3dldmVyLCB0aGUgY29tbWVudCBjb25mdXNlcyBtZSBhIGJpdDsgaXQgc2F5 cyAiU01NIGNvbW11bmljYXRpb24NCj4gPiBidWZmZXIgKm9yIE1NSU8qIi4NCj4gPg0KPiA+IEkg YXNzdW1lICJTTU0gY29tbXVuaWNhdGlvbiBidWZmZXIiIGNhbiBiZSBpbiAicmVzZXJ2ZWQsIHJ1 bnRpbWUgYW5kDQo+ID4gQUNQSSBOVlMiIFJBTSwgc28gdGhhdCBwYXJ0IGxpa2VseSBtYXRjaGVz IHRoZSBuZXcgUENEJ3MgZXhwbGFuYXRpb24NCj4gPiBmcm9tIHBhdGNoIzEuIEJ1dCBNTUlPIGlz IG5vdCBtZW50aW9uZWQgaW4gcGF0Y2gjMS4NCj4gPg0KPiA+ICgyKSBTaG91bGQgd2UgZXh0ZW5k IHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgUENEIGluIHBhdGNoIzEsIHdpdGggTU1JTz8NCj4gPg0K PiA+IE9yIGlzIE1NSU8gY29uc2lkZXJlZCAqcnVudGltZSogTU1JTyAoYW5kIHNvIGNvdmVyZWQg YnkgInJ1bnRpbWUiKT8NCj4gPg0KPiA+Pg0KPiA+PiAgICAgLy8NCj4gPj4gICAgIC8vIFNldCBw YWdlIHRhYmxlIGl0c2VsZiB0byBiZSByZWFkLW9ubHkNCj4gPg0KPiA+IEluIHRoZSBwcmV2aW91 cyB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBzZXJpZXMsIG5hbWVseQ0KPiA+DQo+ID4gIFtlZGsyLWRl dmVsXSBbUEFUQ0ggMy8zXQ0KPiA+ICBVZWZpQ3B1UGtnL1BpU21tQ3B1OiBBbGxvdyBTTU0gYWNj ZXNzLW91dCB3aGVuIHN0YXRpYyBwYWdpbmcgaXMgT0ZGDQo+ID4NCj4gPiAgaHR0cDovL21pZC5t YWlsLWFyY2hpdmUuY29tLzIwMTkwNzI3MDMyODUwLjMzNzg0MC00LXJheS5uaUBpbnRlbC5jb20N Cj4gPiAgaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNDQ0NzANCj4gPg0K PiA+IHRoZSBuZXh0IG9wZXJhdGlvbiAobmFtZWx5IFNldFBhZ2VUYWJsZUF0dHJpYnV0ZXMoKSkg d2FzIGNvbmRpdGlvbmFsaXplZA0KPiA+IHRvby4gSXMgdGhhdCBubyBsb25nZXIgbmVjZXNzYXJ5 LCB3aXRoIHRoZSBuZXcgUENEPyBTaG91bGRuJ3Qgd2Ugc3RpbGwNCj4gPiBjb25kaXRpb25hbGl6 ZSBTZXRQYWdlVGFibGVBdHRyaWJ1dGVzKCkgb24gdGhlICpvdGhlciogKHN0YXRpYyBwYWdpbmcp IFBDRD8NCj4gPg0KPiA+IEFoIHdhaXQsIHdlIGFscmVhZHkgZG8gaXQhIFNldFBhZ2VUYWJsZUF0 dHJpYnV0ZXMoKSBoYXMgdHdvDQo+ID4gaW1wbGVtZW50YXRpb25zLCBvbmUgZm9yIElBMzIgYW5k IGFub3RoZXIgZm9yIFg2NC4NCj4gPg0KPiA+IC0gVGhlIFg2NCB2YXJpYW50IGNoZWNrcyBmb3Ig c3RhdGljIHBhZ2UgdGFibGVzIGludGVybmFsbHksIGFuZCBpZiB0aGV5DQo+ID4gYXJlIGRpc2Fi bGVkLCB0aGVuIFNldFBhZ2VUYWJsZUF0dHJpYnV0ZXMoKSBkb2VzIG5vdGhpbmcuDQo+ID4NCj4g PiAtIFRoZSBJQTMyIHZhcmlhbnQgZG9lcyBub3QgY29udGFpbiB0aGF0IGNoZWNrLCBiZWNhdXNl IG9uIElBMzIgdGhlIHBhZ2UNCj4gPiB0YWJsZXMgYXJlIGFsd2F5cyBidWlsdCBzdGF0aWNhbGx5 Lg0KPiA+DQo+ID4gU28gU2V0UGFnZVRhYmxlQXR0cmlidXRlcygpIGFscmVhZHkgZGVwZW5kcyBv biBzdGF0aWMgcGFnaW5nDQo+ID4gKmludGVybmFsbHkqLCBoZW5jZSBnYXRpbmcgdGhlIFNldFBh Z2VUYWJsZUF0dHJpYnV0ZXMoKSBjYWxsDQo+ID4gKmV4dGVybmFsbHkqLCBsaWtlIGl0IHdhcyBk b25lIGluIHRoZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZSBwYXRjaA0KPiA+IHNlcmllcywgaXMg c3VwZXJmbHVvdXMgaW4gdGhlIGZpcnN0IHBsYWNlLg0KPiA+DQo+ID4gR29vZCENCj4gPg0KPiA+ DQo+ID4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1g2NC9QYWdlVGJs LmMgYi9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1g2NC9QYWdlVGJsLmMNCj4gPj4gaW5kZXgg YTNiNjJmNzc4Ny4uNjY5OWFhYzY1ZCAxMDA2NDQNCj4gPj4gLS0tIGEvVWVmaUNwdVBrZy9QaVNt bUNwdUR4ZVNtbS9YNjQvUGFnZVRibC5jDQo+ID4+ICsrKyBiL1VlZmlDcHVQa2cvUGlTbW1DcHVE eGVTbW0vWDY0L1BhZ2VUYmwuYw0KPiA+PiBAQCAtMTAyOSw3ICsxMDI5LDcgQEAgU21pUEZIYW5k bGVyICgNCj4gPj4gICAgICAgZ290byBFeGl0Ow0KPiA+PiAgICAgfQ0KPiA+Pg0KPiA+PiAtICAg IGlmIChtQ3B1U21tU3RhdGljUGFnZVRhYmxlICYmIElzU21tQ29tbUJ1ZmZlckZvcmJpZGRlbkFk ZHJlc3MgKFBGQWRkcmVzcykpIHsNCj4gPj4gKyAgICBpZiAoSXNTbW1Db21tQnVmZmVyRm9yYmlk ZGVuQWRkcmVzcyAoUEZBZGRyZXNzKSkgew0KPiA+PiAgICAgICBEdW1wQ3B1Q29udGV4dCAoSW50 ZXJydXB0VHlwZSwgU3lzdGVtQ29udGV4dCk7DQo+ID4+ICAgICAgIERFQlVHICgoREVCVUdfRVJS T1IsICJBY2Nlc3MgU01NIGNvbW11bmljYXRpb24gZm9yYmlkZGVuIGFkZHJlc3MgKDB4JWx4KSFc biIsIFBGQWRkcmVzcykpOw0KPiA+PiAgICAgICBERUJVR19DT0RFICgNCj4gPj4NCj4gPg0KPiA+ IFRoaXMgaHVuayBsb29rcyBnb29kLiBCZWNhdXNlOg0KPiA+DQo+ID4gLSB3ZSBlbnN1cmUgdGhh dCB0aGVyZSBpcyBubyBwYWdlIGZhdWx0IGF0IGFsbCwgaW4gdGhlICJhY2Nlc3Mtb3V0DQo+ID4g cGVybWl0dGVkIiBjYXNlLCBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbnNpZGVyICJhY2Nlc3Mt b3V0IiBpbiB0aGUNCj4gPiBmYXVsdCBoYW5kbGVyIGF0IGFsbDsNCj4gPg0KPiA+IC0gdGhlICJt U21tQWNjZXNzT3V0IiBsb2dpYyBpbiBQZXJmb3JtUmVtYWluaW5nVGFza3MoKSBhcHBsaWVzIHRv IGJvdGgNCj4gPiBJQTMyIGFuZCBYNjQgKGNvbW1vbmx5KSwgYW5kIHRoZSBTbWlQRkhhbmRsZXIo KSBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZA0KPiA+IGZvciBib3RoIElBMzIgYW5kIFg2NCAoc2Vw YXJhdGVseSksIGFuZCBhZnRlciB0aGlzIHBhdGNoLCBib3RoIGZhdWx0DQo+ID4gaGFuZGxlcnMg Y2hlY2sgSXNTbW1Db21tQnVmZmVyRm9yYmlkZGVuQWRkcmVzcygpIGlkZW50aWNhbGx5LiBTbyB0 aGlzIGlzDQo+ID4gbmljZSBhbmQgc3ltbWV0cmljOw0KPiA+DQo+ID4gLSB3ZSBkb24ndCBpbnRl cmZlcmUgd2l0aCBvbi1kZW1hbmQgcGFnZSB0YWJsZSBidWlsZGluZyAod2hlbiBpdCBpcw0KPiA+ IGVuYWJsZWQgb24gWDY0KSAtLSBwYWdlIGZhdWx0cyBzaG91bGQgc3RpbGwgYmUgdHJpZ2dlcmVk IGJ5IFJBTSBwYWdlcw0KPiA+IG5vdCB5ZXQgbWFwcGVkIGF0IGFsbCwgYW5kIHRoZSBYNjQgdmFy aWFudCBvZiBTbWlEZWZhdWx0UEZIYW5kbGVyKCkNCj4gPiBzaG91bGQgZml4IHVwICp0aG9zZSog ZmF1bHRzIGxpa2UgYmVmb3JlLg0KPiA+DQo+ID4NCj4gPiBIb3dldmVyOiBnaXZlbiB0aGF0IHRo aXMgaHVuayBwcmFjdGljYWxseSB1bmRlcyBjb21taXQgYzYwZDM2YjQsIEkgd291bGQNCj4gPiBz dWdnZXN0IHRoYXQgd2UgcmV2ZXJ0IGNvbW1pdCBjNjBkMzZiNCBpbiBhIHNlcGFyYXRlIHBhdGNo LiBTbyB0aGUNCj4gPiBzZXJpZXMgd291bGQgZ28gbGlrZToNCj4gPg0KPiA+IC0gcGF0Y2gjMTog Y29tbWl0IGM2MGQzNmI0IGlzIG5vdCBnb29kIGVub3VnaCwgd2UncmUgZ29pbmcgdG8gaW1wbGVt ZW50DQo+ID4gYSBzZXBhcmF0ZSBhcHByb2FjaCwgc28gcmV2ZXJ0IGNvbW1pdCBjNjBkMzZiNCwg YXQgZmlyc3QuDQo+ID4gLSBwYXRjaCMyOiBpbnRyb2R1Y2UgdGhlIG5ldyBQQ0QNCj4gPiAtIHBh dGNoIzM6IGRpc2FibGUgcGFnZSBmYXVsdCBnZW5lcmF0aW9uIGZvciBub24tU01SQU0gYWRkcmVz c2VzICg9IGtlZXANCj4gPiB0aGVtIG1hcHBlZCBhcyBub3JtYWwpIHRvIHdoaWNoIGFjY2Vzcy1v dXQgaXMgcGVybWl0dGVkLg0KPiA+DQo+ID4gKDMpIFJheSwgZG8geW91IGFncmVlIHRvIHN0cnVj dHVyZSB0aGUgcGF0Y2ggc2VyaWVzIGxpa2UgdGhhdD8NCj4gPg0KPiA+ICg0KSBKaWV3ZW4sIGFy ZSB5b3UgT0sgd2l0aCB0aGUgZ2VuZXJhbCBhcHByb2FjaCwgbmFtZWx5IHRvIHJlbGF4DQo+ID4g YWNjZXNzLW91dCBieSBlbGltaW5hdGluZyAqc3VjaCogcGFnZSBmYXVsdHMsIHJhdGhlciB0aGFu IGZpeGluZyB0aGVtIHVwDQo+ID4gaW4gdGhlIGZhdWx0IGhhbmRsZXI/DQo+ID4NCj4gPiAoSSBj ZXJ0YWlubHkgYWdyZWUgd2l0aCB0aGlzIGFwcHJvYWNoOiB0aGUgZml4dXAgaW4gdGhlIGZhdWx0 IGhhbmRsZXIsDQo+ID4gbmFtZWx5IFNtaURlZmF1bHRQRkhhbmRsZXIoKSwgb25seSBjb3ZlcnMg dGhlIFg2NCBjYXNlOyBpbiB0aGUgSUEzMg0KPiA+IGNhc2UsIGl0IGp1c3QgaGFuZ3MuIFRoYXQg c2hvd3MgdGhhdCB0aGUgZmF1bHQgZml4dXAgaXMgaW5oZXJlbnRseSB0aWVkDQo+ID4gdG8gb24t ZGVtYW5kIHBhZ2UgdGFibGUgYnVpbGRpbmcsIHdoZXJlYXMgdGhlIGFjY2Vzcy1vdXQgZmVhdHVy ZSBzaG91bGQNCj4gPiBiZSBwb3NzaWJsZSB0byBwZXJtaXQgb24gSUEzMiB0b28uKQ0KPiA+DQo+ ID4gVGhhbmtzLA0KPiA+IExhc3psbw0KPiA+DQo+ID4gDQo+ID4NCg==