From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web11.2021.1584665972100301228 for ; Thu, 19 Mar 2020 17:59:32 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: 6n/HJ5BsPMgqpCNPauBHTb9o+QffW2i0IdDeHG/KMQl2iBfSuQXAKnt4j/HJpLxSmlyCa0fSS7 HIrefhe1+LIw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2020 17:59:31 -0700 IronPort-SDR: izzeSIQTIYMvSqpcTVKrZFaRnmLV8JPFoJgyIVlnQ6o8aTkGDzGyfmkAVKMzooBG2R17/qSbpi iKPxGzRyHNKg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,573,1580803200"; d="scan'208";a="234353031" Received: from orsmsx101.amr.corp.intel.com ([10.22.225.128]) by orsmga007.jf.intel.com with ESMTP; 19 Mar 2020 17:59:31 -0700 Received: from orsmsx151.amr.corp.intel.com (10.22.226.38) by ORSMSX101.amr.corp.intel.com (10.22.225.128) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 19 Mar 2020 17:59:31 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.188]) by ORSMSX151.amr.corp.intel.com ([169.254.7.134]) with mapi id 14.03.0439.000; Thu, 19 Mar 2020 17:59:30 -0700 From: "Michael D Kinney" To: "Chang, Abner (HPS SW/FW Technologist)" , "devel@edk2.groups.io" , "Bi, Dandan" , "Kinney, Michael D" CC: Leif Lindholm , "Gao, Liming" , Ard Biesheuvel , Laszlo Ersek , "Schaefer, Daniel (DualStudy)" , "Chen, Gilbert" Subject: Re: [edk2-devel] [edk2/master PATCH DxeIplHandoffLib v1] MdePkg/DxeIplHandoffLibNullLib: Abstract DxeIpl Thread-Topic: [edk2-devel] [edk2/master PATCH DxeIplHandoffLib v1] MdePkg/DxeIplHandoffLibNullLib: Abstract DxeIpl Thread-Index: AQHV+zj2etybsVczkkm+uOnHsz4K7KhPtnIAgAADjoCAAPS3YA== Date: Fri, 20 Mar 2020 00:59:30 +0000 Message-ID: References: <20200309102740.8591-1-abner.chang@hpe.com> <3C0D5C461C9E904E8F62152F6274C0BB40D7A9FA@SHSMSX104.ccr.corp.intel.com> <3C0D5C461C9E904E8F62152F6274C0BB40D806BE@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.22.254.140] MIME-Version: 1.0 Return-Path: michael.d.kinney@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWJuZXIsDQoNCklmIHRoZSBBUk0vQUFSQ0g2NC9SSVNDVjY0IGNvbnRlbnQgcmVxdWlyZWQgYnkg RHhlSXBsIHdlcmUgYWRkZWQgdG8NCk1kZVBrZyBvciBNZGVNb2R1bGVQa2cgY291bGQgd2UgcmVt b3ZlIHRoZSBuZWVkIGZvciB0aGlzIG5ldyBsaWIgY2xhc3M/DQoNCldoYXQgUklTQ1Y2NCBjb250 ZW50IG5lZWRzIHRvIGJlIGFkZGVkIHRvIE1kZVBrZy9NZGVNb2R1bGVQa2cgc28gYWxsDQpDUFVz IGFyZSBzdXBwb3J0ZWQgdGhlIHNhbWUgd2F5Pw0KDQpUaGFua3MsDQoNCk1pa2UNCg0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBDaGFuZywgQWJuZXIgKEhQUyBTVy9GVyBU ZWNobm9sb2dpc3QpDQo+IDxhYm5lci5jaGFuZ0BocGUuY29tPg0KPiBTZW50OiBXZWRuZXNkYXks IE1hcmNoIDE4LCAyMDIwIDg6MjIgUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBCaSwg RGFuZGFuDQo+IDxkYW5kYW4uYmlAaW50ZWwuY29tPg0KPiBDYzogTGVpZiBMaW5kaG9sbSA8bGVp ZkBudXZpYWluYy5jb20+OyBLaW5uZXksIE1pY2hhZWwNCj4gRCA8bWljaGFlbC5kLmtpbm5leUBp bnRlbC5jb20+OyBHYW8sIExpbWluZw0KPiA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBBcmQgQmll c2hldXZlbA0KPiA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IExhc3psbyBFcnNlaw0KPiA8 bGVyc2VrQHJlZGhhdC5jb20+OyBTY2hhZWZlciwgRGFuaWVsIChEdWFsU3R1ZHkpDQo+IDxkYW5p ZWwuc2NoYWVmZXJAaHBlLmNvbT47IENoZW4sIEdpbGJlcnQNCj4gPGdpbGJlcnQuY2hlbkBocGUu Y29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtlZGsyL21hc3RlciBQQVRDSA0KPiBE eGVJcGxIYW5kb2ZmTGliIHYxXSBNZGVQa2cvRHhlSXBsSGFuZG9mZkxpYk51bGxMaWI6DQo+IEFi c3RyYWN0IER4ZUlwbA0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBbbWFpbHRvOmRldmVsQGVkazIuZ3JvdXBz LmlvXSBPbiBCZWhhbGYgT2YNCj4gPiBEYW5kYW4gQmkNCj4gPiBTZW50OiBUaHVyc2RheSwgTWFy Y2ggMTksIDIwMjAgMTE6MDkgQU0NCj4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IENoYW5n LCBBYm5lciAoSFBTIFNXL0ZXDQo+IFRlY2hub2xvZ2lzdCkNCj4gPiA8YWJuZXIuY2hhbmdAaHBl LmNvbT4NCj4gPiBDYzogTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+OyBLaW5uZXks DQo+IE1pY2hhZWwgRA0KPiA+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IEdhbywgTGlt aW5nDQo+IDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IEFyZA0KPiA+IEJpZXNoZXV2ZWwgPGFyZC5i aWVzaGV1dmVsQGxpbmFyby5vcmc+OyBMYXN6bG8gRXJzZWsNCj4gPGxlcnNla0ByZWRoYXQuY29t PjsNCj4gPiBTY2hhZWZlciwgRGFuaWVsIChEdWFsU3R1ZHkpDQo+IDxkYW5pZWwuc2NoYWVmZXJA aHBlLmNvbT47IENoZW4sIEdpbGJlcnQNCj4gPiA8Z2lsYmVydC5jaGVuQGhwZS5jb20+DQo+ID4g U3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMi9tYXN0ZXIgUEFUQ0gNCj4gRHhlSXBsSGFu ZG9mZkxpYiB2MV0NCj4gPiBNZGVQa2cvRHhlSXBsSGFuZG9mZkxpYk51bGxMaWI6IEFic3RyYWN0 IER4ZUlwbA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJv bTogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gW21haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pb10g T24gQmVoYWxmIE9mDQo+ID4gPiBBYm5lciBDaGFuZw0KPiA+ID4gU2VudDogTW9uZGF5LCBNYXJj aCAxNiwgMjAyMCAxMDoxNyBBTQ0KPiA+ID4gVG86IEJpLCBEYW5kYW4gPGRhbmRhbi5iaUBpbnRl bC5jb20+Ow0KPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gQ2M6IExlaWYgTGluZGhvbG0g PGxlaWZAbnV2aWFpbmMuY29tPjsgS2lubmV5LA0KPiBNaWNoYWVsIEQNCj4gPiA+IDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT47IEdhbywgTGltaW5nDQo+IDxsaW1pbmcuZ2FvQGludGVsLmNv bT47IEFyZA0KPiA+ID4gQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IExh c3psbw0KPiBFcnNlaw0KPiA+ID4gPGxlcnNla0ByZWRoYXQuY29tPjsgU2NoYWVmZXIsIERhbmll bCAoRHVhbFN0dWR5KQ0KPiA+ID4gPGRhbmllbC5zY2hhZWZlckBocGUuY29tPjsgQ2hlbiwgR2ls YmVydA0KPiA8Z2lsYmVydC5jaGVuQGhwZS5jb20+DQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazIt ZGV2ZWxdIFtlZGsyL21hc3RlciBQQVRDSA0KPiBEeGVJcGxIYW5kb2ZmTGliIHYxXQ0KPiA+ID4g TWRlUGtnL0R4ZUlwbEhhbmRvZmZMaWJOdWxsTGliOiBBYnN0cmFjdCBEeGVJcGwNCj4gPiA+DQo+ ID4gPg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4g RnJvbTogQmksIERhbmRhbiBbbWFpbHRvOmRhbmRhbi5iaUBpbnRlbC5jb21dDQo+ID4gPiA+IFNl bnQ6IE1vbmRheSwgTWFyY2ggMTYsIDIwMjAgOTozMSBBTQ0KPiA+ID4gPiBUbzogQ2hhbmcsIEFi bmVyIChIUFMgU1cvRlcgVGVjaG5vbG9naXN0KQ0KPiA8YWJuZXIuY2hhbmdAaHBlLmNvbT47DQo+ ID4gPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+IENjOiBMZWlmIExpbmRob2xtIDxs ZWlmQG51dmlhaW5jLmNvbT47IEtpbm5leSwNCj4gTWljaGFlbCBEDQo+ID4gPiA+IDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT47IEdhbywgTGltaW5nDQo+IDxsaW1pbmcuZ2FvQGludGVsLmNv bT47DQo+ID4gPiA+IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPjsN Cj4gTGFzemxvIEVyc2VrDQo+ID4gPiA+IDxsZXJzZWtAcmVkaGF0LmNvbT47IFNjaGFlZmVyLCBE YW5pZWwgKER1YWxTdHVkeSkNCj4gPiA+ID4gPGRhbmllbC5zY2hhZWZlckBocGUuY29tPjsgQ2hl biwgR2lsYmVydA0KPiA8Z2lsYmVydC5jaGVuQGhwZS5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFJF OiBbZWRrMi9tYXN0ZXIgUEFUQ0ggRHhlSXBsSGFuZG9mZkxpYg0KPiB2MV0NCj4gPiA+ID4gTWRl UGtnL0R4ZUlwbEhhbmRvZmZMaWJOdWxsTGliOiBBYnN0cmFjdCBEeGVJcGwNCj4gPiA+ID4NCj4g PiA+ID4gSGkgQWJuZXIsDQo+ID4gPiA+DQo+ID4gPiA+IFNvbWUgY29tbWVudHMgYXMgYmVsb3cu DQo+ID4gPiA+DQo+ID4gPiA+IDEuIEZvciB0aGUgcGF0Y2ggaXRzZWxmDQo+ID4gPiA+IGEpICBp dCBpbnRyb2R1Y2VzIGEgbmV3IGxpYnJhcnkgY2xhc3MsIHNvIGJlc2lkZXMNCj4gdGhlIGluc3Rh bmNlLCB3ZQ0KPiA+ID4gPiBhbHNvIG5lZWQgdG8gYWRkIHRoZSBoZWFkZXIgZmlsZSAocHVibGlj DQo+IGludGVyZmFjZSBkZWZpbml0aW9ucykgaW4NCj4gPiA+ID4gdGhlIGluY2x1ZGUvbGlicmFy eSBkaXJlY3RvcnkgYW5kIGRlZmluZSB0aGUNCj4gbGlicmFyeSBjbGFzcyBpbiBkZWMgZmlsZS4N Cj4gPiA+ID4gYikgIEVGSUFQSSBrZXl3b3JkIHNob3VsZCBiZSBhZGRlZCB3aXRoIHRoZQ0KPiBw dWJsaWMgQVBJIGRlZmluaXRpb24gKA0KPiA+ID4gPiBIYW5kT2ZmVG9EeGVDb3JlKS4NCj4gPiA+ IE9rLiAgV2lsbCByZXNlbmQgdGhlIHBhdGNoLg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gMi4g VGhpcyBwYXRoIGlzIGp1c3QgdG8gYWRkIGFuIGVtcHR5IGluc3RhbmNlIGZvcg0KPiBub3cuDQo+ ID4gPiA+IEFibmVyLCB3aWxsIHlvdSBhbHNvIGFkZCBvdGhlciBpbnN0YW5jZXMgZm9yDQo+IG90 aGVyIEFyY2hzIGFuZCB1cGRhdGUNCj4gPiA+ID4gRHhlSXBsIHRvIGNvbnN1bWUgdGhlIG5ldyBs aWJyYXJ5Pw0KPiA+ID4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBjaGFuZ2UgaXMgdG8gYWJzdHJhY3Qg YXJjaCBmcm9tDQo+IER4ZUlwbCBtb2R1bGUNCj4gPiA+IHVuZGVyIE1kZU1vZHVsZVBrZyBhbmQg cmVtb3ZlIHRoZSBkZXBlbmRlbmNpZXMgd2l0aA0KPiBhcmNoIHBhY2thZ2UNCj4gPiBmcm9tDQo+ ID4gPiBNZGVNb2R1bGVQa2cuY2kueWFtbC4NCj4gPiA+IFllcywgSSBhbHJlYWR5IGFkZGVkIGFu IGluc3RhbmNlIGZvciBSSVNDLVYgYW5kDQo+IHJldmlzZWQgRHhlSXBsIHRvDQo+ID4gPiBjb25z dW1lIG5ldyBsaWIgKm9ubHkqIGZvciBSSVNDVjY0IGFyY2gsICB0aGlzDQo+IGNoYW5nZSB3aWxs IGJlIGluIHRoZQ0KPiA+ID4gc2V0IG9mIFJJU0MtViBlZGsyIHBhdGNoZXMuIFRoZSBwYXRjaCB5 b3UgYXJlDQo+IHJldmlld2luZyBub3cgaXMgdGhlDQo+ID4gPiBwcmVyZXF1aXNpdGUgZm9yIFJJ U0MtViBlZGsyIHBvcnQuDQo+ID4gPg0KPiA+ID4gPiBBbmQgZm9yIHBsYXRmb3JtLCBpdCdzIGlu Y29tcGF0aWJsZSBjaGFuZ2UgdG8gdXNlDQo+IG5ldyBhZGRlZCBsaWJyYXJ5DQo+ID4gPiBpbnN0 YW5jZS4NCj4gPiA+ID4gU28gaXQncyBiZXR0ZXIgcmV2aWV3IGl0IGluIFRpYW5vQ29yZSBEZXNp Z24NCj4gTWVldGluZyBmaXJzdGx5Lg0KPiA+ID4gSXQgd2lsbCBzdGF5IHRoZSBzYW1lIGZvciBY ODYsIEFSTSBtYXkgaGF2ZSB0byB1c2UNCj4gdGhpcyBOVUxMIGluc3RhbmNlDQo+ID4gPiBhbmQg cmVtb3ZlIHRoZSBkZXBlbmRlbmNpZXMgZnJvbQ0KPiBNZGVNb2R1bGVQa2cuY2kueWFtbCBhcyB3 ZWxsLg0KPiA+ID4gSG93ZXZlciwgSSBjYW4ndCBzcGVhayBmb3IgQVJNIGJlY2F1c2UgdGhlDQo+ IGRlcGVuZGVuY2Ugd2l0aCBBUk0NCj4gPiBwYWNrYWdlDQo+ID4gPiBpbiBNZGVNb2R1bGVQa2cg aGFzIGJlZW4gaW4gTWRlTW9kdWxlUGtnLmNpLnlhbWwNCj4gd2hlbiBlZGsyIENJIHdhcw0KPiA+ ID4gaW50cm9kdWNlZCAobXkgZ3Vlc3MsIG5vdCBzdXJlIHRoZSBoaXN0b3J5KS4NCj4gUklTQ1Y2 NCBpcyBhIG5ldyBhcmNoIGFuZA0KPiA+ID4gd2FzIHJlcXVlc3RlZCB0byBiZSBkZWNvdXBsZWQg ZnJvbSBNZGVNb2R1bGVQa2cuDQo+IFRoaXMgY2hhbmdlIGRvbid0DQo+ID4gPiBicmluZyBpbmNv bXBhdGlibGUgaXNzdWUgdGhvdWdoLiBBUk0gYXJjaCBjYW4gc3RpbGwNCj4gc3RheSB0aGUgc2Ft ZSBhcw0KPiA+ID4gaXQgaXMgaW4gZWRrMiBub3cuDQo+ID4gQWJuZXIsDQo+ID4gU28geW91IHdp bGwgb25seSBhbmQgb25lIGluc3RhbmNlIHVzZWQgZm9yIFJJU0NWNjQsDQo+IG5vIGluc3RhbmNl IGZvciBvdGhlcg0KPiA+IGFyY2hzLg0KPiBZZXMuDQo+IA0KPiA+IEhhbmRPZmZUb0R4ZUNvcmUg bG9naWMgaW4gRHhlTG9hZEZ1bmMuYyBmb3IgSUEzMiBhbmQNCj4gWDY0IHdpbGwga2VlcCBzYW1l DQo+ID4gd2l0aCBiZWZvcmUsIGRvIG5vdCBsZXZlcmFnZSBuZXcgRHhlSXBsSGFuZG9mZkxpYg0K PiBUaGVuIHRoZXJlIGlzIG5vDQo+ID4gaW5jb21wYXRpYmxlIGNvbmNlcm4gZm9yIElBMzIgYW5k IFg2NCwgaXMgdGhhdA0KPiBjb3JyZWN0Pw0KPiBObywgbm8gaW1wYWN0cyBvbiBhcmNoaXRlY3R1 cmVzIG90aGVyIHRoYW4gUklTQy1WLiAgWDg2DQo+IGRvZXNuJ3QgaGF2ZSB0byBjaGFuZ2UgYmVj YXVzZSB0aGVyZSBpcyBubyBwYWNrYWdlDQo+IGRlcGVuZGVuY3kgaXNzdWVzIHdoZW4gZWRrMiBD SSB0ZXN0aW5nLg0KPiBBUk0gc3RpbGwgaGF2ZSBwcm9ibGVtIGlmIHRoZXkga2VlcCB0aGUgc2Ft ZSB3YXksDQo+IGhvd2V2ZXIgdGhleSBhcmUgZ29vZCBiZWNhdXNlIENJIHBhY2thZ2UgdGVzdCBo YXMgYW4NCj4gZXhjZXB0aW9uIGZvciBBUk0gaW4gTWRlTW9kdWxlUGtnLmNpLnlhbWwuDQo+IA0K PiBJIHdpbGwgZ2V0IG9uIFRpYW5vQ29yZSBkZXNpZ24gbWVldGluZyB0b21vcnJvdyBhbmQNCj4g aGF2ZSBhIHNob3J0IHByZXNlbnRhdGlvbiBvZiB0aGlzIGNoYW5nZS4gRllJLg0KPiANCj4gPg0K PiA+IFRoYW5rcywNCj4gPiBEYW5kYW4NCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+ DQo+ID4gPiA+IFRoYW5rcywNCj4gPiA+ID4gRGFuZGFuDQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBBYm5lciBDaGFuZyBbbWFpbHRvOmFibmVy LmNoYW5nQGhwZS5jb21dDQo+ID4gPiA+ID4gU2VudDogTW9uZGF5LCBNYXJjaCA5LCAyMDIwIDY6 MjggUE0NCj4gPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gPiBDYzog YWJuZXIuY2hhbmdAaHBlLmNvbTsgTGVpZiBMaW5kaG9sbQ0KPiA8bGVpZkBudXZpYWluYy5jb20+ Ow0KPiA+ID4gPiA+IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT47DQo+IEdhbywgTGltaW5nDQo+ID4gPiA+ID4gPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgQXJk IEJpZXNoZXV2ZWwNCj4gPiA+ID4gPiA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IExhc3ps byBFcnNlaw0KPiA8bGVyc2VrQHJlZGhhdC5jb20+OyBCaSwNCj4gPiA+ID4gPiBEYW5kYW4gPGRh bmRhbi5iaUBpbnRlbC5jb20+OyBEYW5pZWwgU2NoYWVmZXINCj4gPiA+ID4gPiA8ZGFuaWVsLnNj aGFlZmVyQGhwZS5jb20+OyBHaWxiZXJ0IENoZW4NCj4gPGdpbGJlcnQuY2hlbkBocGUuY29tPg0K PiA+ID4gPiA+IFN1YmplY3Q6IFtlZGsyL21hc3RlciBQQVRDSCBEeGVJcGxIYW5kb2ZmTGliDQo+ IHYxXQ0KPiA+ID4gPiA+IE1kZVBrZy9EeGVJcGxIYW5kb2ZmTGliTnVsbExpYjogQWJzdHJhY3Qg RHhlSXBsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBCWjoyNTgzOg0KPiA+ID4gPiA+IElOVkFMSUQg VVJJIFJFTU9WRUQNCj4gPiA+ID4gPiBlLm9yZ19zaG93LTVGYnVnLmNnaS0zRmlkLQ0KPiA+ID4g PiAzRDI1ODMmZD1Ed0lGQWcmYz1DNWI4elJRTzFtaUdtQmVWWjJMRldnJnI9Xw0KPiA+ID4gPiA+ DQo+ID4gPiA+DQo+ID4gPg0KPiA+DQo+IFNONkZaQk40VmdpNFVsa3NrejZxVTNOWVJPMDNuSHA5 UDdaNXE1OUEzRSZtPVlRUjdOWF9reHoNCj4gNEJQUkVUDQo+ID4gPiA+IHA1bk5MV1dPSw0KPiA+ ID4gPiA+DQo+ID4gPiA+DQo+ID4gPg0KPiA+DQo+IE5PaW1rb3N0RXpkcnZ5dlBrQSZzPTd3eXlB T2l0cDJJdk1LdjE5dGxwYkp4dDJtMGJuX1pzUjQNCj4gUjdsbFlJMTljJg0KPiA+ID4gPiBlPQ0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gQ3VycmVudCBEeGVJcGwgaGFzIGJpbmRpbmdzIGZvciBkaWZm ZXJlbnQNCj4gcHJvY2Vzc29yIGFyY2hpdGVjdHVyZXMsDQo+ID4gPiA+ID4gdGhpcyByZXN1bHRz IGluIE1kZU1vZHVsZVBrZyBoYXMgdGhlIGRlcGVuZGVuY2UNCj4gd2l0aCBwcm9jZXNzb3INCj4g PiA+ID4gPiBhcmNoaXRlY3R1cmUgcGFja2FnZXMgc3VjaCBhcyBBcm1Qa2cgb3INCj4gUmlzY1ZQ a2cuIFRoaXMgYWxzbyBsZWFkcw0KPiA+ID4gPiA+IENJIHRlc3RpbmcgdG8gZXJyb3IgZHVyaW5n IHBhY2thZ2UgZGVwZW5kZW5jeQ0KPiBjaGVjay4gUHJvdmlkZSBhDQo+ID4gPiA+ID4gZGVmYXVs dCBEeGVJcGxIYW5kb2ZmIGxpYnJhcnkgdG8gYWJzdHJhY3QNCj4gcHJvY2Vzc29yIGFyY2hpdGVj dHVyZQ0KPiA+ID4gPiA+IGZyb20gRHhlSXBsIGRyaXZlciwgcGxhdGZvcm0gY2FuIHByb3ZpZGUg aXRzDQo+IG93biBsaWJyYXJ5IGluc3RhbmNlDQo+ID4gPiA+ID4gZm9yIHRoZSBwcm9jZXNzb3IN Cj4gPiA+ID4gYXJjaGl0ZWN0dXJlLSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbi4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEFibmVyIENoYW5nDQo+IDxhYm5lci5jaGFuZ0Bo cGUuY29tPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQ2M6IExlaWYgTGluZGhvbG0gPGxlaWZAbnV2 aWFpbmMuY29tPg0KPiA+ID4gPiA+IENjOiBNaWNoYWVsIEQgS2lubmV5DQo+IDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gPiBDYzogTGltaW5nIEdhbyA8bGltaW5nLmdhb0Bp bnRlbC5jb20+DQo+ID4gPiA+ID4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBs aW5hcm8ub3JnPg0KPiA+ID4gPiA+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29t Pg0KPiA+ID4gPiA+IENjOiBEYW5kYW4gQmkgPGRhbmRhbi5iaUBpbnRlbC5jb20+DQo+ID4gPiA+ ID4gQ2M6IERhbmllbCBTY2hhZWZlciA8ZGFuaWVsLnNjaGFlZmVyQGhwZS5jb20+DQo+ID4gPiA+ ID4gQ2M6IEdpbGJlcnQgQ2hlbiA8Z2lsYmVydC5jaGVuQGhwZS5jb20+DQo+ID4gPiA+ID4gLS0t DQo+ID4gPiA+ID4gIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZHNjDQo+IHwgIDIgKysNCj4g PiA+ID4gPiAgLi4uL0R4ZUlwbEhhbmRvZmZMaWJOdWxsLmluZg0KPiB8IDMwICsrKysrKysrKysr KysrKysrDQo+ID4gPiA+ID4gIC4uLi9EeGVJcGxIYW5kb2ZmTGliTnVsbC5jDQo+IHwgMzMgKysr KysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ICAuLi4vRHhlSXBsSGFuZG9mZkxpYk51bGwudW5p DQo+IHwgMTQgKysrKysrKysNCj4gPiA+ID4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRp b25zKCspICBjcmVhdGUgbW9kZQ0KPiAxMDA2NDQNCj4gPiA+ID4gPg0KPiA+DQo+IE1kZU1vZHVs ZVBrZy9MaWJyYXJ5L0R4ZUlwbEhhbmRvZmZMaWJOdWxsL0R4ZUlwbEhhbmRvZmYNCj4gTGliTnVs bC5pbmYNCj4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4NCj4gTWRlTW9k dWxlUGtnL0xpYnJhcnkvRHhlSXBsSGFuZG9mZkxpYk51bGwvRHhlSXBsSGFuZG9mZg0KPiBMaWJO dWxsLmMNCj4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4NCj4gPg0KPiBN ZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVJcGxIYW5kb2ZmTGliTnVsbC9EeGVJcGxIYW5kb2ZmDQo+ IExpYk51bGwudW5pDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxl UGtnL01kZU1vZHVsZVBrZy5kc2MNCj4gPiA+ID4gPiBiL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQ a2cuZHNjIGluZGV4DQo+IGY3ZGJiMjdjZTIuLjZlYjkyMmRmYWENCj4gPiA+ID4gPiAxMDA2NDQN Cj4gPiA+ID4gPiAtLS0gYS9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRzYw0KPiA+ID4gPiA+ ICsrKyBiL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZHNjDQo+ID4gPiA+ID4gQEAgLTMsNiAr Myw3IEBADQo+ID4gPiA+ID4gICMgIyAoQykgQ29weXJpZ2h0IDIwMTQgSGV3bGV0dC1QYWNrYXJk DQo+IERldmVsb3BtZW50IENvbXBhbnksDQo+ID4gPiA+ID4gTC5QLjxCUj4gIyBDb3B5cmlnaHQg KGMpIDIwMDcgLSAyMDE5LCBJbnRlbA0KPiBDb3Jwb3JhdGlvbi4gQWxsDQo+ID4gPiA+ID4gcmln aHRzIHJlc2VydmVkLjxCUj4rIyBDb3B5cmlnaHQgKGMpIDIwMjAsDQo+IEhld2xldHQgUGFja2Fy ZA0KPiA+ID4gPiA+IEVudGVycHJpc2UNCj4gPiA+ID4gRGV2ZWxvcG1lbnQgTFAuIEFsbCByaWdo dHMNCj4gPiA+ID4gPiByZXNlcnZlZC48QlI+ICMgIyAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjoNCj4gQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ICNAQCAtDQo+ID4gPiA+ID4gMzIxLDYgKzMy Miw3IEBADQo+ID4gPiA+ID4NCj4gTWRlTW9kdWxlUGtnL0xpYnJhcnkvQmFzZUJtcFN1cHBvcnRM aWIvQmFzZUJtcFN1cHBvcnRMaQ0KPiBiLmluZg0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPg0K PiA+DQo+IE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0Rpc3BsYXlVcGRhdGVQcm9ncmVzc0xpYkdyYXBo aWNzL0QNCj4gaXNwbGF5VXBkYXRlUA0KPiA+ID4gPiA+IHJvZ3Jlc3NMaWJHcmFwaGljcy5pbmYN Cj4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4NCj4gPg0KPiBNZGVNb2R1bGVQa2cvTGlicmFyeS9E aXNwbGF5VXBkYXRlUHJvZ3Jlc3NMaWJUZXh0L0Rpc3BsDQo+IGF5VXBkYXRlUHJvZ3INCj4gPiA+ ID4gPiBlc3NMaWJUZXh0LmluZisNCj4gPiA+ID4gPg0KPiA+DQo+IE1kZU1vZHVsZVBrZy9MaWJy YXJ5L0R4ZUlwbEhhbmRvZmZMaWJOdWxsL0R4ZUlwbEhhbmRvZmYNCj4gTGliTnVsbC5pbmYNCj4g PiA+ID4gPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Jkc0R4ZS9CZHNEeGUuaW5mDQo+ID4gPiA+ ID4NCj4gPiA+ID4NCj4gPiA+DQo+ID4NCj4gTWRlTW9kdWxlUGtnL0FwcGxpY2F0aW9uL0Jvb3RN YW5hZ2VyTWVudUFwcC9Cb290TWFuYWdlcg0KPiBNZW51QXANCj4gPiA+ID4gPiBwLmluZmRpZmYg LS1naXQNCj4gPiA+ID4gPg0KPiA+ID4NCj4gYS9NZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVJcGxI YW5kb2ZmTGliTnVsbC9EeGVJcGxIYW5kbw0KPiBmZkxpYk51bGwuaW5mDQo+ID4gPiA+ID4NCj4g PiA+DQo+IGIvTWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlSXBsSGFuZG9mZkxpYk51bGwvRHhlSXBs SGFuZG8NCj4gZmZMaWJOdWxsLmluZg0KPiA+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ ID4gPiA+ID4gaW5kZXggMDAwMDAwMDAwMC4uYjcyMTA2NTZiNw0KPiA+ID4gPiA+IC0tLSAvZGV2 L251bGwNCj4gPiA+ID4gPiArKysNCj4gPiA+ID4gPg0KPiA+ID4NCj4gYi9NZGVNb2R1bGVQa2cv TGlicmFyeS9EeGVJcGxIYW5kb2ZmTGliTnVsbC9EeGVJcGxIYW5kbw0KPiBmZkxpYk51bGwuaW5m DQo+ID4gPiA+ID4gQEAgLTAsMCArMSwzMCBAQA0KPiA+ID4gPiA+ICsjIyBAZmlsZSsjICBOdWxs IERYRSBJUEwgaGFuZG9mZiB0byBEWEUgQ29yZQ0KPiBMaWJyYXJ5DQo+ID4gPiA+ID4gK2luc3Rh bmNlLisjKyMNCj4gPiA+ID4gPiBDb3B5cmlnaHQgKGMpIDIwMjAsIEhld2xldHQgUGFja2FyZCBF bnRlcnByaXNlDQo+IERldmVsb3BtZW50IExQLiBBbGwNCj4gPiA+ID4gPiByaWdodHMgcmVzZXJ2 ZWQuPEJSPisjKyMgIFNQRFgtTGljZW5zZS0NCj4gSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLQ0K PiA+ID4gPiA+IFBhdGVudCsjKyMjKytbRGVmaW5lc10rICBJTkZfVkVSU0lPTg0KPiA9IDB4MDAw MTAwMWIrDQo+ID4gPiA+ID4gQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0NCj4gRHhl SXBsSGFuZG9mZkxpYk51bGwrICBNT0RVTEVfVU5JX0ZJTEUNCj4gPiA+ID4gPiA9IER4ZUlwbEhh bmRvZmZMaWJOdWxsLnVuaSsgIEZJTEVfR1VJRA0KPiA9IDVjMTg4MTJkLTM2ODQtDQo+ID4gNDA5 My0NCj4gPiA+ID4gPiBiYzc1LWZjODQ2YTU5NTM1MysgIE1PRFVMRV9UWVBFDQo+ID0gQkFTRSsN Cj4gPiBWRVJTSU9OX1NUUklORw0KPiA+ID4gPiA+ID0gMS4wKyAgTElCUkFSWV9DTEFTUyAgICAg ICAgICAgICAgICAgID0NCj4gRHhlSXBsSGFuZG9mZkxpYisrIysjIFRoZSBmb2xsb3dpbmcNCj4g PiA+ID4gPiBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5vdA0KPiByZXF1 aXJlZCBieSB0aGUgYnVpbGQNCj4gPiB0b29scy4rIysjDQo+ID4gPiA+ID4gVkFMSURfQVJDSElU RUNUVVJFUyAgICAgICAgICAgPQ0KPiBSSVNDVjY0KyMrK1tTb3VyY2VzXSsNCj4gPiA+ID4gPiBE eGVJcGxIYW5kb2ZmTGliTnVsbC5jKytbUGFja2FnZXNdKw0KPiBNZGVQa2cvTWRlUGtnLmRlYytk aWZmIC0tZ2l0DQo+ID4gPiA+ID4NCj4gPg0KPiBhL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUlw bEhhbmRvZmZMaWJOdWxsL0R4ZUlwbEhhbmRvDQo+IGZmTGliTnVsbC5jDQo+ID4gPiA+ID4NCj4g Pg0KPiBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUlwbEhhbmRvZmZMaWJOdWxsL0R4ZUlwbEhh bmRvDQo+IGZmTGliTnVsbC5jDQo+ID4gPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+ ID4gPiBpbmRleCAwMDAwMDAwMDAwLi5jODM5MjJjYjZlDQo+ID4gPiA+ID4gLS0tIC9kZXYvbnVs bA0KPiA+ID4gPiA+ICsrKw0KPiA+ID4gPg0KPiBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUlw bEhhbmRvZmZMaWJOdWxsL0R4ZUlwbEhhbmRvDQo+IGZmTGliTnVsbC5jDQo+ID4gPiA+ID4gQEAg LTAsMCArMSwzMyBAQA0KPiA+ID4gPiA+ICsvKiogQGZpbGUrICBOVUxMIGluc3RhbmNlIG9mIERY RSBJUEwgaGFuZG9mZg0KPiB0byBEWEUgQ29yZQ0KPiA+ID4gPiA+ICtMaWJyYXJ5LisrDQo+ID4g PiA+ID4gQ29weXJpZ2h0IChjKSAyMDIwLCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZQ0KPiBE ZXZlbG9wbWVudCBMUC4gQWxsDQo+ID4gPiA+ID4gcmlnaHRzIHJlc2VydmVkLjxCUj4rKyAgU1BE WC1MaWNlbnNlLQ0KPiBJZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtDQo+ID4gPiA+ID4gUGF0ZW50 KysqKi8rKyNpbmNsdWRlIDxQaVBlaS5oPisjaW5jbHVkZQ0KPiA+ID4gPExpYnJhcnkvRGVidWdM aWIuaD4rKy8qKisNCj4gPiA+ID4gPiBUcmFuc2ZlcnMgY29udHJvbCB0byBEeGVDb3JlLisrICAg VGhpcyBmdW5jdGlvbg0KPiBwZXJmb3JtcyBhIENQVQ0KPiA+ID4gYXJjaGl0ZWN0dXJlDQo+ID4g PiA+ID4gc3BlY2lmaWMgb3BlcmF0aW9ucyB0byBleGVjdXRlKyAgIHRoZSBlbnRyeQ0KPiBwb2lu dCBvZiBEeGVDb3JlIHdpdGggdGhlDQo+ID4gPiA+ID4gcGFyYW1ldGVycyBvZiBIb2JMaXN0Lisg ICBJdCBhbHNvIGluc3RhbGxzDQo+IEVGSV9FTkRfT0ZfUEVJX1BQSSB0byBzaWduYWwNCj4gPiB0 aGUNCj4gPiA+ID4gPiBlbmQgb2YgUEVJIHBoYXNlLisrICAgQHBhcmFtIER4ZUNvcmVFbnRyeVBv aW50DQo+IFRoZSBlbnRyeSBwb2ludA0KPiA+IG9mDQo+ID4gPiA+ID4gRHhlQ29yZS4rICAgQHBh cmFtIEhvYkxpc3QNCj4gVGhlIHN0YXJ0IG9mIEhvYkxpc3QgcGFzc2VkIHRvDQo+ID4gPiA+ID4g RHhlQ29yZS4rKyoqLytWT0lEK0hhbmRPZmZUb0R4ZUNvcmUgKCsgIElODQo+ID4gPiBFRklfUEhZ U0lDQUxfQUREUkVTUw0KPiA+ID4gPiA+IER4ZUNvcmVFbnRyeVBvaW50LCsgIElOIEVGSV9QRUlf SE9CX1BPSU5URVJTDQo+IEhvYkxpc3QrICApK3srDQo+ID4gREVCVUcNCj4gPiA+ID4gPiAoKERF QlVHX0lORk8sICJObyBpbXBsZW1lbnRhdGlvbiBvZiBEWEUgSVBMDQo+IGhhbmRvZmYgdG8gRFhF IENvcmUNCj4gPiA+ID4gPiBsaWJyYXJ5LlxyXG4iKSk7KyAgQVNTRVJUIChGQUxTRSk7K30rZGlm ZiAtLWdpdA0KPiA+ID4gPiA+DQo+ID4gPg0KPiBhL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUlw bEhhbmRvZmZMaWJOdWxsL0R4ZUlwbEhhbmRvDQo+IGZmTGliTnVsbC51bmkNCj4gPiA+ID4gPg0K PiA+ID4NCj4gYi9NZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVJcGxIYW5kb2ZmTGliTnVsbC9EeGVJ cGxIYW5kbw0KPiBmZkxpYk51bGwudW5pDQo+ID4gPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gPiA+ID4gPiBpbmRleCAwMDAwMDAwMDAwLi41YTg5NzNkNmU1DQo+ID4gPiA+ID4gLS0tIC9k ZXYvbnVsbA0KPiA+ID4gPiA+ICsrKw0KPiA+ID4gPiA+DQo+ID4gPg0KPiBiL01kZU1vZHVsZVBr Zy9MaWJyYXJ5L0R4ZUlwbEhhbmRvZmZMaWJOdWxsL0R4ZUlwbEhhbmRvDQo+IGZmTGliTnVsbC51 bmkNCj4gPiA+ID4gPiBAQCAtMCwwICsxLDE0IEBADQo+ID4gPiA+ID4gKy8vIC8qKiBAZmlsZSsv LyBOdWxsIERYRSBJUEwgaGFuZG9mZiB0byBEWEUNCj4gQ29yZSBMaWJyYXJ5DQo+ID4gPiA+ID4g K2luc3RhbmNlLisvLysvLw0KPiA+ID4gPiA+IENvcHlyaWdodCAoYykgMjAyMCwgSGV3bGV0dCBQ YWNrYXJkIEVudGVycHJpc2UNCj4gRGV2ZWxvcG1lbnQgTFAuIEFsbA0KPiA+ID4gPiA+IHJpZ2h0 cyByZXNlcnZlZC48QlI+Ky8vKy8vIFNQRFgtTGljZW5zZS0NCj4gSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLQ0KPiA+ID4gPiBQYXRlbnQrLy8rLy8NCj4gPiA+ID4gPiAqKi8rKysjc3RyaW5nIFNU Ul9NT0RVTEVfQUJTVFJBQ1QNCj4gI2xhbmd1YWdlIGVuLVVTICJOdWxsDQo+ID4gPiBEWEUNCj4g PiA+ID4gPiBJUEwgaGFuZG9mZiB0byBEWEUgQ29yZSBMaWJyYXJ5DQo+IGluc3RhbmNlLiIrKyNz dHJpbmcNCj4gPiA+ID4gPiBTVFJfTU9EVUxFX0RFU0NSSVBUSU9OICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUw0KPiAiTnVsbCBEWEUgSVBMDQo+ID4gaGFuZG9mZg0KPiA+ID4gdG8NCj4gPiA+ID4g PiBEWEUgQ29yZSBMaWJyYXJ5IGluc3RhbmNlLiIrLS0NCj4gPiA+ID4gPiAyLjI1LjANCj4gPiA+ DQo+ID4gPg0KPiA+ID4NCj4gPg0KPiA+DQo+ID4gDQo+IA0KDQo=