From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=jiewen.yao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id AC949211D35C2 for ; Tue, 5 Mar 2019 08:15:26 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Mar 2019 08:15:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,444,1544515200"; d="scan'208";a="139334927" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga002.jf.intel.com with ESMTP; 05 Mar 2019 08:15:25 -0800 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 5 Mar 2019 08:15:17 -0800 Received: from shsmsx108.ccr.corp.intel.com (10.239.4.97) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 5 Mar 2019 08:15:16 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.163]) by SHSMSX108.ccr.corp.intel.com ([169.254.8.57]) with mapi id 14.03.0415.000; Wed, 6 Mar 2019 00:15:14 +0800 From: "Yao, Jiewen" To: Jagadeesh Ujja , Ard Biesheuvel CC: Achin Gupta , "Gao, Liming" , "edk2-devel@lists.01.org" , "Zhang, Chao B" , "Kinney, Michael D" , "Zeng, Star" Thread-Topic: [edk2] [PATCH v3] StandaloneMmPkg/Library: Install Variable Arch Protocol Thread-Index: AQHU0mfqMa9Ltin1GEmUj73clI6mfKX6vAYAgAHTE4CAAKj6wA== Date: Tue, 5 Mar 2019 16:15:13 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503F54FA39@shsmsx102.ccr.corp.intel.com> References: <1551689639-21446-1-git-send-email-jagadeesh.ujja@arm.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZGYzNWYyMDAtN2NkYi00OTg3LTkxYjktM2M2YzJkOTVlN2M3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRWh4dFIyc1pPdVwvRVpEREN2aDQ4SHkxTzdXdE9mYzNoRTZ0XC9paVVKVng5ZDNCaFpKOXczejdEamJaazRTSkFFIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v3] StandaloneMmPkg/Library: Install Variable Arch Protocol X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Mar 2019 16:15:27 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBsb29rIGF0IHRoZSBwYXRjaC4gSSBkb27igJl0IGhhdmUgY29uY2Vybi4NCg0KUGxlYXNlIGdv IGFoZWFkLg0KDQpUaGFuayB5b3UNCllhbyBKaWV3ZW4NCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IEphZ2FkZWVzaCBVamphIFttYWlsdG86amFnYWRlZXNoLnVqamFA YXJtLmNvbV0NCj4gU2VudDogVHVlc2RheSwgTWFyY2ggNSwgMjAxOSA2OjA5IEFNDQo+IFRvOiBB cmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gQ2M6IEFjaGluIEd1 cHRhIDxBY2hpbi5HdXB0YUBhcm0uY29tPjsgWWFvLCBKaWV3ZW4NCj4gPGppZXdlbi55YW9AaW50 ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsNCj4gZWRrMi1kZXZl bEBsaXN0cy4wMS5vcmc7IFpoYW5nLCBDaGFvIEIgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+OyBL aW5uZXksDQo+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBaZW5nLCBT dGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCB2 M10gU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnk6IEluc3RhbGwgVmFyaWFibGUNCj4gQXJjaCBQcm90 b2NvbA0KPiANCj4gaGkgSmlld2VuLCBBY2hpbg0KPiANCj4gT24gTW9uLCBNYXIgNCwgMjAxOSBh dCA0OjE2IFBNIEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiB3 cm90ZToNCj4gPg0KPiA+IChhZGQgU3RhbmRhbG9uZU1tUGtnIG1haW50YWluZXJzKQ0KPiA+DQo+ IFBsZWFzZSBsZXQgbWUga25vdyBpZiB5b3UgaGF2ZSBhbnkgY29tbWVudHMgb24gdGhpcyBwYXRj aA0KPiANCj4gPiBPbiBNb24sIDQgTWFyIDIwMTkgYXQgMDk6NTQsIEphZ2FkZWVzaCBVamphIDxq YWdhZGVlc2gudWpqYUBhcm0uY29tPg0KPiB3cm90ZToNCj4gPiA+DQo+ID4gPiBJbiBhIHN5c3Rl bSBpbXBsZW1lbnRpbmcgdGhlIHZhcmlhYmxlIHN0b3JlIGluIE1NLCB0aGVyZSBhcmUgbm8gdmFy aWFibGUNCj4gPiA+IGFyY2ggcHJvdG9jb2wgYW5kIHZhcmlhYmxlIHdyaXRlIGFyY2ggcHJvdG9j b2wgaW5zdGFsbGVkIGludG8gdGhlDQo+ID4gPiBEWEVfU01NIHByb3RvY29sIGRhdGFiYXNlLiBP biBzdWNoIHN5c3RlbXMsIGl0IGlzIG5vdCByZXF1aXJlZCB0bw0KPiA+ID4gbG9jYXRlIHRoZXNl IHByb3RvY29scyBieSB0aGUgRFhFIHJ1bnRpbWUgdmFyaWFibGUgZHJpdmVycyBiZWNhdXNlDQo+ ID4gPiBpdCBjYW4gYmUgYXNzdW1lZCB0aGF0IHRoZXNlIHByb3RvY29scyBhcmUgYWxyZWFkeSBp bnN0YWxsZWQgaW4gdGhlDQo+ID4gPiBNTSBjb250ZXh0LiBCdXQgdGhlbiBzdWNoIGFuIGltcGxl bWVudGF0aW9uIHdpbGwgZGV2aWF0ZSBmcm9tIHRoZQ0KPiA+ID4gZXhpc3RpbmcgdHJhZGl0aW9u YWwgTU0gYmFzZWQgdmFyaWFibGUgZHJpdmVyIGltcGxlbWVudGF0aW9uLg0KPiA+ID4NCj4gPiA+ IFNvIGluIG9yZGVyIHRvIG1haW50YWluIGNvbnNpc3RlbmN5IHdpdGggdGhlIHRyYWRpdGlvbmFs IE1NIHZhcmlhYmxlDQo+ID4gPiBkcml2ZXIgaW1wbGVtZW50YXRpb24sIGFsbG93IHBsYXRmb3Jt cyB0byBpbnN0YWxsIHRoZXNlIHByb3RvY29scyBpbnRvDQo+ID4gPiB0aGUgRFhFIHByb3RvY29s IGRhdGFiYXNlIGJ1dCB0aGVzZSBwcm90b2NvbCB3aWxsIG5vdCBiZSBjb25zdW1lZA0KPiA+ID4g Ynkgbm9uLXNlY3VyZSB2YXJpYWJsZSBzZXJ2aWNlIHJ1bnRpbWUgZHJpdmVyLg0KPiA+ID4NCj4g PiA+IFRoZSBQbGF0Zm9ybSB3aGljaCB1c2VzIFN0YW5kYWxvbmVNTSBiYXNlZCBzZWN1cmUgdmFy aWFibGUgc3RvcmFnZQ0KPiA+ID4gaGF2ZSB0byBpbmNsdWRlIHRoaXMgbGlicmFyeQ0KPiA+ID4N Cj4gPiA+IEV4YW1wbGUNCj4gPiA+IEluIGVkazItcGxhdGZvcm1zL1BsYXRmb3JtL0FSTS9TZ2lQ a2cvU2dpUGxhdGZvcm0uZHNjDQo+ID4gPg0KPiA+ID4gICBBcm1Qa2cvRHJpdmVycy9NbUNvbW11 bmljYXRpb25EeGUvTW1Db21tdW5pY2F0aW9uLmluZiB7DQo+ID4gPiAgICAgPExpYnJhcnlDbGFz c2VzPg0KPiA+ID4NCj4gTlVMTHxTdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9WYXJpYWJsZU1tRGVw ZW5kZW5jeS9WYXJpYWJsZU1tRGVwDQo+IGVuZGVuY3kuaW5mDQo+ID4gPiAgIH0NCj4gPiA+DQo+ ID4gPiBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQg MS4xDQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKYWdhZGVlc2ggVWpqYSA8amFnYWRlZXNoLnVqamFA YXJtLmNvbT4NCj4gPg0KPiA+IFJldmlld2VkLWJ5OiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNo ZXV2ZWxAbGluYXJvLm9yZz4NCj4gPg0KPiA+ID4gLS0tDQo+ID4gPiBDaGFuZ2VzIHNpbmNlIHYy Og0KPiA+ID4gLSBBZGRyZXNzZWQgdGhlIGNvbW1lbnRzIGZyb20gQXJkIEJpZXNoZXV2ZWwgYW5k IFplbmcgU3Rhcg0KPiA+ID4NCj4gPiA+IENoYW5nZXMgc2luY2UgdjE6DQo+ID4gPiAtIFRoaXMg aXMgYSBuZXh0IHZlcnNpb24gb2YgcGF0Y2gNCj4gPiA+ICAgIOKAnE1kZU1vZHVsZVBrZy9WYXJp YWJsZVNtbVJ1bnRpbWVEeGU6IFJlZmFjdG9yIGxvY2F0aW5nDQo+IFZhcmlhYmxlIEFyY2ggUHJv dG9jb2zigJ0uDQo+ID4gPg0KPiBbaHR0cHM6Ly9saXN0cy4wMS5vcmcvcGlwZXJtYWlsL2VkazIt ZGV2ZWwvMjAxOS1GZWJydWFyeS8wMzY4ODUuaHRtbF0NCj4gPiA+IC0gQWRkcmVzc2VkIHRoZSBj b21tZW50cyBmcm9tIEFyZCBCaWVzaGV1dmVsIGFuZCBaZW5nIFN0YXINCj4gPiA+IC0gQ2FuIHRo aXMgbGlicmFyeSBiZSBwbGFjZWQgaW4gTWRlUGtnIHJhdGhlciB0aGVuIHRoZSBTdGFuZGFsb25l TW1Qa2c/DQo+ID4gPg0KPiA+ID4NCj4gU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvVmFyaWFibGVN bURlcGVuZGVuY3kvVmFyaWFibGVNbURlcGVuZGVuYw0KPiB5LmMgICB8IDU0ICsrKysrKysrKysr KysrKysrKysrDQo+ID4gPg0KPiBTdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9WYXJpYWJsZU1tRGVw ZW5kZW5jeS9WYXJpYWJsZU1tRGVwZW5kZW5jDQo+IHkuaW5mIHwgNDYgKysrKysrKysrKysrKysr KysNCj4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspDQo+ID4gPg0KPiA+ ID4gZGlmZiAtLWdpdA0KPiBhL1N0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1ZhcmlhYmxlTW1EZXBl bmRlbmN5L1ZhcmlhYmxlTW1EZXBlbmRlDQo+IG5jeS5jDQo+IGIvU3RhbmRhbG9uZU1tUGtnL0xp YnJhcnkvVmFyaWFibGVNbURlcGVuZGVuY3kvVmFyaWFibGVNbURlcGVuZGUNCj4gbmN5LmMNCj4g PiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiBpbmRleCAwMDAwMDAwLi43ZTBmMzFiDQo+ ID4gPiAtLS0gL2Rldi9udWxsDQo+ID4gPiArKysNCj4gYi9TdGFuZGFsb25lTW1Qa2cvTGlicmFy eS9WYXJpYWJsZU1tRGVwZW5kZW5jeS9WYXJpYWJsZU1tRGVwZW5kZQ0KPiBuY3kuYw0KPiA+ID4g QEAgLTAsMCArMSw1NCBAQA0KPiA+ID4gKy8qKiBAZmlsZQ0KPiA+ID4gKyAgUnVudGltZSBEWEUg cGFydCBjb3JyZXNwb25kaW5nIHRvIFN0YW5hbG9uZU1NIHZhcmlhYmxlIG1vZHVsZS4NCj4gPiA+ ICsNCj4gPiA+ICtUaGlzIG1vZHVsZSBpbnN0YWxscyB2YXJpYWJsZSBhcmNoIHByb3RvY29sIGFu ZCB2YXJpYWJsZSB3cml0ZSBhcmNoDQo+IHByb3RvY29sDQo+ID4gPiArdG8gU3RhbmRhbG9uZU1N IHJ1bnRpbWUgdmFyaWFibGUgc2VydmljZS4NCj4gPiA+ICsNCj4gPiA+ICtDb3B5cmlnaHQgKGMp IDIwMTksIEFSTSBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gPiArDQo+ID4gPiArVGhp cyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KPiA+ID4gK2FyZSBsaWNl bnNlZCBhbmQgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9m IHRoZQ0KPiBCU0QgTGljZW5zZQ0KPiA+ID4gK3doaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJp YnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5zZSBtYXkNCj4gYmUgZm91bmQgYXQN Cj4gPiA+ICtodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwLg0K PiA+ID4gKw0KPiA+ID4gK1RIRSBQUk9HUkFNIElTIERJU1RSSUJVVEVEIFVOREVSIFRIRSBCU0Qg TElDRU5TRSBPTiBBTiAiQVMgSVMiDQo+IEJBU0lTLA0KPiA+ID4gK1dJVEhPVVQgV0FSUkFOVElF UyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUg0KPiBFWFBSRVNTIE9SIElN UExJRUQuDQo+ID4gPiArDQo+ID4gPiArKiovDQo+ID4gPiArDQo+ID4gPiArI2luY2x1ZGUgPExp YnJhcnkvRGVidWdMaWIuaD4NCj4gPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpQm9vdFNlcnZp Y2VzVGFibGVMaWIuaD4NCj4gPiA+ICsNCj4gPiA+ICsvKioNCj4gPiA+ICsgIFRoZSBjb25zdHJ1 Y3RvciBmdW5jdGlvbiBpbnN0YWxscyB2YXJpYWJsZSBhcmNoIHByb3RvY29sIGFuZCB2YXJpYWJs ZQ0KPiA+ID4gKyAgd3JpdGUgYXJjaCBwcm90b2NvbCB0byBTdGFuZGFsb25lTU0gcnVudGltZSB2 YXJpYWJsZSBzZXJ2aWNlDQo+ID4gPiArDQo+ID4gPiArICBAcGFyYW0gIEltYWdlSGFuZGxlICAg VGhlIGZpcm13YXJlIGFsbG9jYXRlZCBoYW5kbGUgZm9yIHRoZSBFRkkNCj4gaW1hZ2UuDQo+ID4g PiArICBAcGFyYW0gIFN5c3RlbVRhYmxlICAgQSBwb2ludGVyIHRvIHRoZSBNYW5hZ2VtZW50IG1v ZGUNCj4gU3lzdGVtIFRhYmxlLg0KPiA+ID4gKw0KPiA+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VT UyAgIFRoZSBjb25zdHJ1Y3RvciBhbHdheXMgcmV0dXJucw0KPiBFRklfU1VDQ0VTUy4NCj4gPiA+ ICsNCj4gPiA+ICsqKi8NCj4gPiA+ICtFRklfU1RBVFVTDQo+ID4gPiArRUZJQVBJDQo+ID4gPiAr VmFyaWFibGVNbURlcGVuZGVuY3lMaWJDb25zdHJ1Y3RvciAoDQo+ID4gPiArICBJTiBFRklfSEFO RExFICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ID4gPiArICBJTiBF RklfU1lTVEVNX1RBQkxFICAgICAgICAgICAgICAgICAgICAgKlN5c3RlbVRhYmxlDQo+ID4gPiAr ICApDQo+ID4gPiArew0KPiA+ID4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgIFN0YXR1czsNCj4g PiA+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICBIYW5kbGU7DQo+ID4gPiArDQo+ID4gPiArICBI YW5kbGUgPSBOVUxMOw0KPiA+ID4gKyAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsTXVsdGlwbGVQcm90 b2NvbEludGVyZmFjZXMgKA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICZIYW5kbGUsDQo+ID4g PiArICAgICAgICAgICAgICAgICAgJmdFZmlTbW1WYXJpYWJsZVByb3RvY29sR3VpZCwNCj4gPiA+ ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICZnU21t VmFyaWFibGVXcml0ZUd1aWQsDQo+ID4gPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gPiA+ ICsgICAgICAgICAgICAgICAgICBOVUxMDQo+ID4gPiArICAgICAgICAgICAgICAgICAgKTsNCj4g PiA+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ID4gPiArICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gZGlmZiAtLWdpdA0KPiBhL1N0YW5kYWxv bmVNbVBrZy9MaWJyYXJ5L1ZhcmlhYmxlTW1EZXBlbmRlbmN5L1ZhcmlhYmxlTW1EZXBlbmRlDQo+ IG5jeS5pbmYNCj4gYi9TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9WYXJpYWJsZU1tRGVwZW5kZW5j eS9WYXJpYWJsZU1tRGVwZW5kZQ0KPiBuY3kuaW5mDQo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiA+ID4gaW5kZXggMDAwMDAwMC4uZTcxYzQ0ZA0KPiA+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ ID4gKysrDQo+IGIvU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvVmFyaWFibGVNbURlcGVuZGVuY3kv VmFyaWFibGVNbURlcGVuZGUNCj4gbmN5LmluZg0KPiA+ID4gQEAgLTAsMCArMSw0NiBAQA0KPiA+ ID4gKyMjIEBmaWxlDQo+ID4gPiArIyAgUnVudGltZSBEWEUgcGFydCBjb3JyZXNwb25kaW5nIHRv IFN0YW5hbG9uZU1NIHZhcmlhYmxlIG1vZHVsZS4NCj4gPiA+ICsjDQo+ID4gPiArIyAgVGhpcyBt b2R1bGUgaW5zdGFsbHMgdmFyaWFibGUgYXJjaCBwcm90b2NvbCBhbmQgdmFyaWFibGUgd3JpdGUg YXJjaA0KPiBwcm90b2NvbA0KPiA+ID4gKyMgIHRvIFN0YW5kYWxvbmVNTSBydW50aW1lIHZhcmlh YmxlIHNlcnZpY2UuDQo+ID4gPiArIw0KPiA+ID4gKyMgQ29weXJpZ2h0IChjKSAyMDE5LCBBUk0g THRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+ID4gKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUg YWNjb21wYW55aW5nIG1hdGVyaWFscw0KPiA+ID4gKyMgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlIGF2 YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlDQo+IEJTRCBMaWNl bnNlDQo+ID4gPiArIyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIGZ1 bGwgdGV4dCBvZiB0aGUgbGljZW5zZSBtYXkNCj4gYmUgZm91bmQgYXQNCj4gPiA+ICsjIGh0dHA6 Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHANCj4gPiA+ICsjIFRIRSBQ Uk9HUkFNIElTIERJU1RSSUJVVEVEIFVOREVSIFRIRSBCU0QgTElDRU5TRSBPTiBBTiAiQVMNCj4g SVMiIEJBU0lTLA0KPiA+ID4gKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9O UyBPRiBBTlkgS0lORCwgRUlUSEVSDQo+IEVYUFJFU1MgT1IgSU1QTElFRC4NCj4gPiA+ICsjDQo+ ID4gPiArIyMNCj4gPiA+ICsNCj4gPiA+ICtbRGVmaW5lc10NCj4gPiA+ICsgIElORl9WRVJTSU9O ICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMUENCj4gPiA+ICsgIEJBU0VfTkFNRSAgICAg ICAgICAgICAgICAgICAgICA9IFZhcmlhYmxlTW1EZXBlbmRlbmN5DQo+ID4gPiArICBGSUxFX0dV SUQgICAgICAgICAgICAgICAgICAgICAgPQ0KPiA2NEJDNDEyOS03NzhFLTQ4NjctQkEwNy0xMzk5 OUE0REVDM0YNCj4gPiA+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9E UklWRVINCj4gPiA+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IE5VTEwNCj4g PiA+ICsgIENPTlNUUlVDVE9SICAgICAgICAgICAgICAgICAgICA9DQo+IFZhcmlhYmxlTW1EZXBl bmRlbmN5TGliQ29uc3RydWN0b3INCj4gPiA+ICsNCj4gPiA+ICsjDQo+ID4gPiArIyBUaGUgZm9s bG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBhbmQgbm90IHJlcXVpcmVk IGJ5DQo+IHRoZSBidWlsZCB0b29scy4NCj4gPiA+ICsjDQo+ID4gPiArIyAgVkFMSURfQVJDSElU RUNUVVJFUyAgICAgICAgICAgPSBBQVJDSDY0DQo+ID4gPiArIw0KPiA+ID4gKyMNCj4gPiA+ICsN Cj4gPiA+ICtbU291cmNlc10NCj4gPiA+ICsgIFZhcmlhYmxlTW1EZXBlbmRlbmN5LmMNCj4gPiA+ ICsNCj4gPiA+ICtbUGFja2FnZXNdDQo+ID4gPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiA+ID4g KyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gPiA+ICsNCj4gPiA+ICtbUHJvdG9j b2xzXQ0KPiA+ID4gKyAgZ0VmaVNtbVZhcmlhYmxlUHJvdG9jb2xHdWlkICAgICAgICAjIyBQUk9E VUNFUw0KPiA+ID4gKw0KPiA+ID4gK1tHdWlkc10NCj4gPiA+ICsgIGdTbW1WYXJpYWJsZVdyaXRl R3VpZCAgICAgICAgICAgICAgIyMgUFJPRFVDRVMNCj4gIyMgR1VJRCAjIEluc3RhbGwgcHJvdG9j b2wNCj4gPiA+ICsNCj4gPiA+ICtbRGVwZXhdDQo+ID4gPiArICBUUlVFDQo+ID4gPiAtLQ0KPiA+ ID4gMi43LjQNCj4gPiA+DQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCj4gPiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+IGVkazItZGV2ZWxA bGlzdHMuMDEub3JnDQo+ID4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9l ZGsyLWRldmVsDQo=