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: chasel.chiu@intel.com) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by groups.io with SMTP; Fri, 27 Sep 2019 00:05:31 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Sep 2019 00:05:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,554,1559545200"; d="scan'208";a="193120841" Received: from kmsmsx153.gar.corp.intel.com ([172.21.73.88]) by orsmga003.jf.intel.com with ESMTP; 27 Sep 2019 00:05:28 -0700 Received: from pgsmsx112.gar.corp.intel.com ([169.254.3.2]) by KMSMSX153.gar.corp.intel.com ([169.254.5.31]) with mapi id 14.03.0439.000; Fri, 27 Sep 2019 15:05:27 +0800 From: "Chiu, Chasel" To: Laszlo Ersek , "devel@edk2.groups.io" CC: "Wu, Hao A" , "Dong, Eric" , "Desimone, Nathaniel L" , "Gao, Liming" Subject: Re: [edk2-devel] [PATCH v2] MdeModulePkg: Enable/Disable S3BootScript dynamically. Thread-Topic: [edk2-devel] [PATCH v2] MdeModulePkg: Enable/Disable S3BootScript dynamically. Thread-Index: AQHVc9MVNXF72WGPiUapQCPDKX+6qqc9LL7AgABKPwCAAaTA4A== Date: Fri, 27 Sep 2019 07:05:26 +0000 Message-ID: <3C3EFB470A303B4AB093197B6777CCEC504E38D8@PGSMSX112.gar.corp.intel.com> References: <20190925092135.16664-1-chasel.chiu@intel.com> <3C3EFB470A303B4AB093197B6777CCEC504E2AEC@PGSMSX112.gar.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-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjUwNTMxZDEtYjdjNS00OGQ0LTljZjMtMzc4OTMzOGY0OTJkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiM1pzN3pXOVwvM0xUY0JuSUJNRFN1bHFJQndYWVJFRTdxRnB5elZNcnR0NU0rb0pHTkdiRXFJWGtTclNzSnlQaHoifQ== x-ctpclassification: CTP_NT x-originating-ip: [172.30.20.206] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIDxs ZXJzZWtAcmVkaGF0LmNvbT4NCj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAyNiwgMjAxOSA5 OjU4IFBNDQo+IFRvOiBDaGl1LCBDaGFzZWwgPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IGRldmVs QGVkazIuZ3JvdXBzLmlvDQo+IENjOiBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47IERv bmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+Ow0KPiBEZXNpbW9uZSwgTmF0aGFuaWVsIEwg PG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT47IEdhbywgTGltaW5nDQo+IDxsaW1pbmcu Z2FvQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjJdIE1k ZU1vZHVsZVBrZzogRW5hYmxlL0Rpc2FibGUNCj4gUzNCb290U2NyaXB0IGR5bmFtaWNhbGx5Lg0K PiANCj4gT24gMDkvMjYvMTkgMDM6NTIsIENoaXUsIENoYXNlbCB3cm90ZToNCj4gPg0KPiA+IFRo YW5rcyBMYXN6bG8gZm9yIHlvdXIgdGltZSBvbiBkZXRhaWwgcmV2aWV3aW5nIGFuZCB2ZXJ5IGdv b2QgZmVlZGJhY2tzIQ0KPiA+IFBsZWFzZSBzZWUgbXkgcmVwbHkgaW5saW5lIGJlbG93Lg0KPiA+ DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IExhc3psbyBFcnNl ayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ID4+IFNlbnQ6IFRodXJzZGF5LCBTZXB0ZW1iZXIgMjYs IDIwMTkgMjo1OCBBTQ0KPiA+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IENoaXUsIENoYXNl bCA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPg0KPiA+PiBDYzogV3UsIEhhbyBBIDxoYW8uYS53dUBp bnRlbC5jb20+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsNCj4gPj4gRGVzaW1v bmUsIE5hdGhhbmllbCBMIDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5jb20+OyBHYW8sIExp bWluZw0KPiA+PiA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBbZWRr Mi1kZXZlbF0gW1BBVENIIHYyXSBNZGVNb2R1bGVQa2c6IEVuYWJsZS9EaXNhYmxlDQo+ID4+IFMz Qm9vdFNjcmlwdCBkeW5hbWljYWxseS4NCj4gPj4NCj4gPj4gT24gMDkvMjUvMTkgMTE6MjEsIENo aXUsIENoYXNlbCB3cm90ZToNCj4gPj4+IFJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUu b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEyDQo+ID4+Pg0KPiA+Pj4gSW4gYmluYXJ5IG1vZGVsIHRo ZSBzYW1lIGJpbmFyeSBtYXkgaGF2ZSB0byBzdXBwb3J0IGJvdGgNCj4gPj4+IFMzIGVuYWJsZWQg YW5kIGRpc2FibGVkIHNjZW5hcmlvcywgaG93ZXZlciBub3QgYWxsIERYRSBkcml2ZXJzDQo+ID4+ PiBsaW5raW5nIFBpRHhlUzNCb290U2NyaXB0TGliIGNhbiByZXR1cm4gZXJyb3IgdG8gaW52b2tl IGxpYnJhcnkNCj4gPj4+IERFU1RSVUNUT1IgZm9yIHJlbGVhc2luZyByZXNvdXJjZS4NCj4gPj4N Cj4gPj4gVGhhbmtzLCB0aGlzIHNvdW5kcyBiZXR0ZXIuIE1vcmUgY29tbWVudHM6DQo+ID4+DQo+ ID4+PiBUbyBzdXBwb3J0IHRoaXMgdXNhZ2UgbW9kZWwgYmVsb3cgUENEIGlzIHVzZWQgdG8gc2tp cCBTM0Jvb3RTY3JpcHQNCj4gPj4+IGZ1bmN0aW9ucyB3aGVuIFBDRCBzZXQgdG8gRkFMU0U6DQo+ ID4+PiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RBY3BpUzNFbmFibGUNCj4g Pj4+DQo+ID4+PiBUZXN0OiBWZXJpZmllZCBvbiBpbnRlcm5hbCBwbGF0Zm9ybSBhbmQgUzNCb290 U2NyaXB0DQo+ID4+PiAgICAgICBmdW5jdGlvbnMgY2FuIGJlIHNraXBwZWQgYnkgUENEIGR1cmlu ZyBib290IHRpbWUuDQo+ID4+Pg0KPiA+Pj4gQ2M6IEhhbyBBIFd1IDxoYW8uYS53dUBpbnRlbC5j b20+DQo+ID4+PiBDYzogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiA+Pj4gQ2M6 IE5hdGUgRGVTaW1vbmUgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT4NCj4gPj4+IENj OiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPj4+IENjOiBMYXN6bG8gRXJz ZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+Pj4gU2lnbmVkLW9mZi1ieTogQ2hhc2VsIENoaXUg PGNoYXNlbC5jaGl1QGludGVsLmNvbT4NCj4gPj4+IC0tLQ0KPiA+Pj4gIE1kZU1vZHVsZVBrZy9M aWJyYXJ5L1BpRHhlUzNCb290U2NyaXB0TGliL0Jvb3RTY3JpcHRTYXZlLmMNCj4gfA0KPiA+PiAx MyArKysrKysrKysrKystDQo+ID4+PiAgTWRlTW9kdWxlUGtnL0xpYnJhcnkvUGlEeGVTM0Jvb3RT Y3JpcHRMaWIvRHhlUzNCb290U2NyaXB0TGliLmluZiB8DQo+ID4+IDQNCj4gPj4+ICsrKy0NCj4g Pj4+ICAyIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdA0KPiA+Pj4gYS9NZGVNb2R1bGVQa2cvTGlicmFyeS9QaUR4 ZVMzQm9vdFNjcmlwdExpYi9Cb290U2NyaXB0U2F2ZS5jDQo+ID4+PiBiL01kZU1vZHVsZVBrZy9M aWJyYXJ5L1BpRHhlUzNCb290U2NyaXB0TGliL0Jvb3RTY3JpcHRTYXZlLmMNCj4gPj4+IGluZGV4 IGMxMTY3Mjc1MzEuLmM1MzUzMTE5ZjcgMTAwNjQ0DQo+ID4+PiAtLS0gYS9NZGVNb2R1bGVQa2cv TGlicmFyeS9QaUR4ZVMzQm9vdFNjcmlwdExpYi9Cb290U2NyaXB0U2F2ZS5jDQo+ID4+PiArKysg Yi9NZGVNb2R1bGVQa2cvTGlicmFyeS9QaUR4ZVMzQm9vdFNjcmlwdExpYi9Cb290U2NyaXB0U2F2 ZS5jDQo+ID4+PiBAQCAtMSw3ICsxLDcgQEANCj4gPj4+ICAvKiogQGZpbGUNCj4gPj4+ICAgIFNh dmUgdGhlIFMzIGRhdGEgdG8gUzMgYm9vdCBzY3JpcHQuDQo+ID4+Pg0KPiA+Pj4gLSAgQ29weXJp Z2h0IChjKSAyMDA2IC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPj4+ IHJlc2VydmVkLjxCUj4NCj4gPj4+ICsgIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTksIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4+PiArIHJlc2VydmVkLjxCUj4NCj4gPj4+DQo+ ID4+PiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ Pj4NCj4gPj4+IEBAIC0xMjQsNiArMTI0LDcgQEAgVk9JRA0KPiA+PiAqbVJlZ2lzdHJhdGlvblNt bVJlYWR5VG9Mb2NrID0gTlVMTDsNCj4gPj4+ICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAg ICAgICBtUzNCb290U2NyaXB0VGFibGVBbGxvY2F0ZWQNCj4gPQ0KPiA+PiBGQUxTRTsNCj4gPj4+ ICBCT09MRUFODQo+ID4+IG1TM0Jvb3RTY3JpcHRUYWJsZVNtbUFsbG9jYXRlZCA9IEZBTFNFOw0K PiA+Pj4gIEVGSV9TTU1fU1lTVEVNX1RBQkxFMiAgICAgICAgICAgICptQm9vdFNjcmlwdFNtc3Qg PSBOVUxMOw0KPiA+Pj4gK0JPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgIG1BY3BpUzNF bmFibGUgPSBUUlVFOw0KPiA+Pj4NCj4gPj4+ICAvKioNCj4gPj4+ICAgIFRoaXMgaXMgYW4gaW50 ZXJuYWwgZnVuY3Rpb24gdG8gYWRkIGEgdGVybWluYXRlIG5vZGUgdGhlIGVudHJ5LA0KPiA+Pj4g cmVjYWxjdWxhdGUgdGhlIHRhYmxlIEBAIC00MzYsNiArNDM3LDExIEBAIFMzQm9vdFNjcmlwdExp YkluaXRpYWxpemUgKA0KPiA+Pj4gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgIElu U21tOw0KPiA+Pj4gICAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICAgIEJ1ZmZlcjsNCj4g Pj4+DQo+ID4+PiArICBpZiAoIVBjZEdldEJvb2wgKFBjZEFjcGlTM0VuYWJsZSkpIHsNCj4gPj4+ ICsgICAgbUFjcGlTM0VuYWJsZSA9IEZBTFNFOw0KPiA+Pj4gKyAgICByZXR1cm4gUkVUVVJOX1NV Q0NFU1M7DQo+ID4+PiArICB9DQo+ID4+PiArDQo+ID4+PiAgICBTM1RhYmxlUHRyID0NCj4gPj4N Cj4gKFNDUklQVF9UQUJMRV9QUklWQVRFX0RBVEEqKShVSU5UTilQY2RHZXQ2NChQY2RTM0Jvb3RT Y3JpcHRUYWJsZVByaXZhDQo+ID4+IHQNCj4gPj4gZURhdGFQdHIpOw0KPiA+Pj4gICAgLy8NCj4g Pj4+ICAgIC8vIFRoZSBCb290IHNjcmlwdCBwcml2YXRlIGRhdGEgaXMgbm90IGJlIGluaXRpYWxp emVkLiBjcmVhdGUgaXQNCj4gPj4NCj4gPj4gKDEpIEkgdGhpbmsgdGhhdCwgZm9yIGZ1dHVyZSBt YWludGVuYW5jZSwgaXQgd291bGQgaGVscCBpZiB3ZSBhZGRlZCBhDQo+ID4+IHNpbWlsYXIgY2hl Y2sgKG9uIG1BY3BpUzNFbmFibGUpIHRvIFMzQm9vdFNjcmlwdExpYkRlaW5pdGlhbGl6ZSgpIGFz IHdlbGwuDQo+ID4+DQo+ID4+IEkgdW5kZXJzdGFuZCB0aGF0LCByaWdodCBub3csIGlmIHRoZSBj b25zdHJ1Y3RvciBpcyBzaG9ydC1jaXJjdWl0ZWQsDQo+ID4+IHRoZW4gdGhlIGRlc3RydWN0b3Ig d2lsbCBlbmQgdXAgZG9pbmcgbm90aGluZy4gQnV0IEkgdGhpbmsgaXQgd291bGQNCj4gPj4gbWFr ZSBtYWludGVuYW5jZSBlYXNpZXIgaWYgdGhlIGRlc3RydWN0b3Igd2VyZSBzaG9ydC1jaXJjdWl0 ZWQgZXhwbGljaXRseQ0KPiBhcyB3ZWxsLg0KPiA+Pg0KPiA+DQo+ID4gQWdyZWUuIEkgd2lsbCBh ZGQgY2hlY2sgdG8gZGVzdHJ1Y3Rvci4NCj4gPg0KPiA+DQo+ID4+DQo+ID4+PiBAQCAtODEwLDYg KzgxNiwxMSBAQCBTM0Jvb3RTY3JpcHRHZXRFbnRyeUFkZEFkZHJlc3MgKCAgew0KPiA+Pj4gICAg VUlOVDgqICAgICAgICAgICAgICAgICAgICAgICAgIE5ld0VudHJ5UHRyOw0KPiA+Pj4NCj4gPj4+ ICsgIGlmICghbUFjcGlTM0VuYWJsZSkgew0KPiA+Pj4gKyAgICBERUJVRyAoKERFQlVHX0lORk8s ICJTa2lwIFMzQm9vdFNjcmlwdCBiZWNhdXNlIEFDUEkgUzMNCj4gPj4gZGlzYWJsZWQuXG4iKSk7 DQo+ID4+PiArICAgIHJldHVybiBOVUxMOw0KPiA+Pj4gKyAgfQ0KPiA+Pj4gKw0KPiA+Pj4gICAg aWYgKG1TM0Jvb3RTY3JpcHRUYWJsZVB0ci0+U21tTG9ja2VkKSB7DQo+ID4+PiAgICAgIC8vDQo+ ID4+PiAgICAgIC8vIFdlIG5lZWQgY2hlY2sgSW5TbW0sIGJlY2F1c2UgYWZ0ZXIgU21tUmVhZHlU b0xvY2ssIG9ubHkNCj4gPj4gU01NIGRyaXZlciBpcyBhbGxvd2VkIHRvIHdyaXRlIGJvb3Qgc2Ny aXB0Lg0KPiA+Pg0KPiA+PiAoMikgSSB3b3VsZCBsaWtlIHRvIHNlZSB0aGUgZGVidWcgbWVzc2Fn ZSB1cGRhdGVkOg0KPiA+Pg0KPiA+PiAoMmEpIHBsZWFzZSBsb2csIGFzIHBhcnQgb2YgdGhlIG1l c3NhZ2UsIHdpdGggIiVhIiwgdGhlDQo+ICJnRWZpQ2FsbGVyQmFzZU5hbWUiDQo+ID4+IHZhcmlh YmxlLiBBIGxpYnJhcnkgaW5zdGFuY2UgY2FuIGJlIGxpbmtlZCBpbnRvIG11bHRpcGxlIG1vZHVs ZXMsIGFuZA0KPiA+PiBrbm93aW5nIHRoZSBtb2R1bGUgbmFtZSBpcyB1c2VmdWwuDQo+ID4+DQo+ ID4NCj4gPiBZZXMuIHdpbGwgYWRkIG1vZHVsZSBuYW1lIGludG8gZGVidWcgbWVzc2FnZS4NCj4g Pg0KPiA+PiAoMmIpIEkgdGhpbmsgd2Ugc2hvdWxkIGFkZCB0aGUgZGVidWcgbWVzc2FnZSB0byB0 aGUgY29uc3RydWN0b3INCj4gPj4gZnVuY3Rpb24gaW5zdGVhZC4gUGxlYXNlIHNlZSB0aGUgbWVz c2FnZSB0aGF0IHdlIGFscmVhZHkgaGF2ZSBpbiB0aGUNCj4gZGVzdHJ1Y3Rvci4NCj4gPj4NCj4g Pj4gTWFpbmx5LCBhIERFQlVHX0lORk8gbWVzc2FnZSBpcyB0b28gbG91ZCBmb3IgYSB1dGlsaXR5 IGZ1bmN0aW9uIHRoYXQNCj4gPj4gbWF5IGJlIGNhbGxlZCBzZXZlcmFsIHRpbWVzLiBTbywgaWYg d2Uga2VlcCB0aGUgbWVzc2FnZSBhdA0KPiA+PiBERUJVR19JTkZPLCBpdCBzaG91bGQgYmUgbW92 ZWQgaW50byB0aGUgY29uc3RydWN0b3IuIENvbnZlcnNlbHksIGlmDQo+ID4+IHlvdSB3YW50IHRv IGtlZXAgdGhlIG1lc3NhZ2UgaW4gUzNCb290U2NyaXB0R2V0RW50cnlBZGRBZGRyZXNzKCksDQo+ ID4+IHRoZW4gaXQgc2hvdWxkIGJlIGRvd25ncmFkZWQgdG8gREVCVUdfVkVSQk9TRS4NCj4gPj4N Cj4gPg0KPiA+IEkgaGF2ZSBxdWVzdGlvbiBmb3IgYWRkaW5nIGRlYnVnIG1lc3NhZ2UgaW4gY29u c3RydWN0b3IuDQo+ID4gRGVidWdMaWIgbWlnaHQgYWxzbyBoYXZlIGNvbnN0cnVjdG9yIGFuZCBh cyBmYXIgYXMgSSBrbm93IGN1cnJlbnRseSB3ZSBkbw0KPiBub3QgaGF2ZSBtZWNoYW5pc20gdG8g ZW5zdXJlIHRoYXQgRGVidWdMaWIgY29uc3RydWN0b3Igd2lsbCBiZSBleGVjdXRlZA0KPiBlYXJs aWVyIHRoYW4gUzNCb290U2NyaXB0TGliIGNvbnN0cnVjdG9yLg0KPiA+IE9yIGhhdmUgd2UgYWRk IHRoZSBtZWNoYW5pc20gYWxyZWFkeT8gSWYgc28gSSBoYXZlIG5vIGNvbmNlcm4gdG8gbW92ZQ0K PiBkZWJ1ZyBtZXNzYWdlIHRvIGNvbnN0cnVjdG9yLg0KPiANCj4gVG8gbXkgdW5kZXJzdGFuZGlu ZywgaWY6DQo+IC0gd2UgaGF2ZSBhIGxpYnJhcnkgaW5zdGFuY2UgSW5zdGFuY2UxIChmb3IgQ2xh c3MxKSwgYW5kDQo+IC0gd2UgaGF2ZSBJbnN0YW5jZTIgKGZvciBDbGFzczIpLCBhbmQNCj4gLSBJ bnN0YW5jZTEgZGVwZW5kcyBvbiBDbGFzczIsIGFuZA0KPiAtIGJvdGggSW5zdGFuY2UxIGFuZCBJ bnN0YW5jZTIgaGF2ZSBDT05TVFJVQ1RPUiBmdW5jdGlvbnMsDQo+IA0KPiB0aGVuIHRoZSBidWls ZCB0b29scyBtYWtlIHN1cmUgdG8gZ2VuZXJhdGUgc3VjaCBjb2RlIHRoYXQgdGhlIGNvbnN0cnVj dG9yIG9mDQo+IEluc3RhbmNlMiBiZSBjYWxsZWQgYmVmb3JlIGNhbGxpbmcgdGhlIGNvbnN0cnVj dG9yIG9mIEluc3RhbmNlMS4NCj4gDQo+IFdlIGhhdmUgZW5jb3VudGVyZWQgaXNzdWVzIGluIHRo ZSBwYXN0ICpvbmx5KiB3aGVuIGF0IGxlYXN0IG9uZSBpbnN0YW5jZQ0KPiBsYWNrZWQgYSBjb25z dHJ1Y3Rvci4gKE5vdGUgdGhhdCBpdCBjYW4gZ2V0IHF1aXRlIHRyaWNreTogeW91IGNhbiBoYXZl IGEgbG9uZw0KPiBjaGFpbiBvZiBkZXBlbmRlbmNpZXMsIGFuZCBpZiBvbmUgImxpbmsiIChvbmUg bGlicmFyeSBpbnN0YW5jZSBpbiB0aGUNCj4gZGVwZW5kZW5jeSBjaGFpbikgbGFja3MgYSBjb25z dHJ1Y3RvciwgdGhlbiB0aGluZ3MgY2FuIGJyZWFrLikNCj4gDQo+IFRvIGdpdmUgeW91IG9uZSBl eGFtcGxlLCB0aGUgZm9sbG93aW5nIGNvbnN0cnVjdG9yIGZ1bmN0aW9uczoNCj4gLSBRZW11RndD ZmdJbml0aWFsaXplKCkgW092bWZQa2cvTGlicmFyeS9RZW11RndDZmdMaWIvUWVtdUZ3Q2ZnUGVp LmNdDQo+IC0gUWVtdUZ3Q2ZnSW5pdGlhbGl6ZSgpIFtPdm1mUGtnL0xpYnJhcnkvUWVtdUZ3Q2Zn TGliL1FlbXVGd0NmZ0R4ZS5jXQ0KPiANCj4gY2FsbCBERUJVRygpLiBUaGV5IHdvcmsgZmluZS4N Cj4gDQo+IEZvciBleGFtcGxlLCAiT3ZtZlBrZy9BY3BpUGxhdGZvcm1EeGUvQWNwaVBsYXRmb3Jt RHhlLmluZiIgaXMgYSBtb2R1bGUNCj4gdGhhdCBkZXBlbmRzIG9uIFFlbXVGd0NmZ0xpYi4gVGhl IFFlbXVGd0NmZ0xpYiBpbnN0YW5jZSBpcyB0aGUgRFhFIG9uZSwNCj4gZnJvbSBhYm92ZSAoT3Zt ZlBrZy9MaWJyYXJ5L1FlbXVGd0NmZ0xpYi9RZW11RndDZmdEeGVMaWIuaW5mKS4NCj4gDQo+IEZ1 cnRoZXJtb3JlLCBRZW11RndDZmdEeGVMaWIuaW5mIGRlcGVuZHMgb24gRGVidWdMaWIuIEFuZCB0 aGUgRGVidWdMaWINCj4gaW5zdGFuY2UgaW4gdXNlIGlzDQo+ICJPdm1mUGtnL0xpYnJhcnkvUGxh dGZvcm1EZWJ1Z0xpYklvUG9ydC9QbGF0Zm9ybURlYnVnTGliSW9Qb3J0LmluZiIsDQo+IHdoaWNo IGFsc28gaGFzIGEgY29uc3RydWN0b3IgZnVuY3Rpb246IFBsYXRmb3JtRGVidWdMaWJJb1BvcnRD b25zdHJ1Y3RvcigpLg0KPiANCj4gTm93LCBsZXQncyBzZWUgdGhlIGNvZGUgZ2VuZXJhdGVkIGZv ciBBY3BpUGxhdGZvcm1EeGUgKCJBdXRvR2VuLmMiKToNCj4gDQo+IFZPSUQNCj4gRUZJQVBJDQo+ IFByb2Nlc3NMaWJyYXJ5Q29uc3RydWN0b3JMaXN0ICgNCj4gICBJTiBFRklfSEFORExFICAgICAg ICBJbWFnZUhhbmRsZSwNCj4gICBJTiBFRklfU1lTVEVNX1RBQkxFICAqU3lzdGVtVGFibGUNCj4g ICApDQo+IHsNCj4gICBFRklfU1RBVFVTICBTdGF0dXM7DQo+IA0KPiAgIFN0YXR1cyA9IFBsYXRm b3JtRGVidWdMaWJJb1BvcnRDb25zdHJ1Y3RvciAoKTsNCj4gICBBU1NFUlRfUkVUVVJOX0VSUk9S IChTdGF0dXMpOw0KPiANCj4gICBTdGF0dXMgPSBVZWZpQm9vdFNlcnZpY2VzVGFibGVMaWJDb25z dHJ1Y3RvciAoSW1hZ2VIYW5kbGUsIFN5c3RlbVRhYmxlKTsNCj4gICBBU1NFUlRfRUZJX0VSUk9S IChTdGF0dXMpOw0KPiANCj4gICBTdGF0dXMgPSBVZWZpUnVudGltZVNlcnZpY2VzVGFibGVMaWJD b25zdHJ1Y3RvciAoSW1hZ2VIYW5kbGUsDQo+IFN5c3RlbVRhYmxlKTsNCj4gICBBU1NFUlRfRUZJ X0VSUk9SIChTdGF0dXMpOw0KPiANCj4gICBTdGF0dXMgPSBEZXZpY2VQYXRoTGliQ29uc3RydWN0 b3IgKEltYWdlSGFuZGxlLCBTeXN0ZW1UYWJsZSk7DQo+ICAgQVNTRVJUX0VGSV9FUlJPUiAoU3Rh dHVzKTsNCj4gDQo+ICAgU3RhdHVzID0gVWVmaUxpYkNvbnN0cnVjdG9yIChJbWFnZUhhbmRsZSwg U3lzdGVtVGFibGUpOw0KPiAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+IA0KPiAgIFN0 YXR1cyA9IFFlbXVGd0NmZ0luaXRpYWxpemUgKCk7DQo+ICAgQVNTRVJUX1JFVFVSTl9FUlJPUiAo U3RhdHVzKTsNCj4gDQo+ICAgU3RhdHVzID0gSG9iTGliQ29uc3RydWN0b3IgKEltYWdlSGFuZGxl LCBTeXN0ZW1UYWJsZSk7DQo+ICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gDQo+ICAg U3RhdHVzID0gRHhlU2VydmljZXNUYWJsZUxpYkNvbnN0cnVjdG9yIChJbWFnZUhhbmRsZSwgU3lz dGVtVGFibGUpOw0KPiAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+IA0KPiB9DQo+IA0K PiBBcyB5b3UgY2FuIHNlZSwgdGhpcyBpcyBhIHRvcG9sb2dpY2FsIHNvcnQgKHB1dCBkaWZmZXJl bnRseSwgYSBkZXBlbmRlbmN5IHNvcnQpLg0KPiBUaGUgUGxhdGZvcm1EZWJ1Z0xpYklvUG9ydCBp bnN0YW5jZSBpcyBjb25zdHJ1Y3RlZCBmaXJzdCwgYmVjYXVzZSB0aGF0J3MgdGhlDQo+IG9uZSBh bGwgdGhlIG90aGVyIGxpYnJhcnkgY29uc3RydWN0b3JzIGluIEFjcGlQbGF0Zm9ybUR4ZSBkZXBl bmQgb24uDQo+IFFlbXVGd0NmZ0luaXRpYWxpemUoKSBpcyBjYWxsZWQgbGF0ZXIsIGFuZCBzbyB0 aGUgREVCVUcoKSBjYWxscyBpbg0KPiBRZW11RndDZmdJbml0aWFsaXplKCkgd29yayBmaW5lLg0K PiANCj4gPiBERUJVR19WRVJCT1NFIHNvdW5kcyBsaWtlIGdvb2QgaWRlYSBidXQgbW9zdCBvZiB0 aGUgcGxhdGZvcm1zIGJ5DQo+IGRlZmF1bHQgZGlzYWJsZWQgaXQgYW5kIHdpbGwgbm90IHNlZSB0 aGlzIG1lc3NhZ2UuDQo+IA0KPiBUaGF0J3MgT0suIEl0IGlzIHVwIHRvIHRob3NlIHBsYXRmb3Jt cyB0byBlbmFibGUgREVCVUdfVkVSQk9TRSBpbiB0aGVpcg0KPiBkZWJ1ZyBsb2cgbWFza3MuDQo+ IA0KPiBOb3RlIHRoYXQgdGhlIHJlbGV2YW50IFBDRCBjYW4gYmUgc2V0IHBlciBtb2R1bGUgdG9v IChpbiB0aGUgRFNDIGZpbGUpLCBub3QNCj4gb25seSBnbG9iYWxseSBmb3IgYWxsIG1vZHVsZXMs IHNvIGl0IHNob3VsZCBiZSBxdWl0ZSBmbGV4aWJsZS4NCj4gDQo+ID4gSG93IGFib3V0IGFkZGlu ZyBhICJtRGVidWdNZXNzYWdlQWxyZWFkeVByaW50ZWQiIHRvIGNvbnRyb2wgdGhlDQo+IGRlYnVn IG1lc3NhZ2Ugb25seSBzaG93IG9uY2UgcGVyIG1vZHVsZSwgd2hhdCBkbyB5b3UgdGhpbms/DQo+ IA0KPiBJIHRoaW5rIHRoYXQncyBhbiBpbmZlcmlvciBzb2x1dGlvbi4gSWYgd2Ugd2FudCB0byBw cmludCB0aGUgbWVzc2FnZSBvbmx5IG9uY2UsDQo+IHRoZW4gaXQgc2hvdWxkIGdvIGludG8gdGhl IGNvbnN0cnVjdG9yLg0KPiANCj4gSSB0aGluayB0aGF0LCBpbiBwcmFjdGljZSwgKmFsbCogRGVi dWdMaWIgaW5zdGFuY2VzIHNob3VsZCBoYXZlIGNvbnN0cnVjdG9yDQo+IGZ1bmN0aW9ucyAtLSBl dmVuIGlmIHRoZXkgZG8gbm90aGluZywgdGhleSBzaG91bGQgaGF2ZSBjb25zdHJ1Y3RvcnMgcHJl Y2lzZWx5DQo+IGluIG9yZGVyIHRvIGVuYWJsZSB0aGUgdG9wb2xvZ2ljYWwgc29ydCBpbiBCYXNl VG9vbHMgdGhhdCBJIGRlc2NyaWJlIGFib3ZlLg0KPiANCj4gVGhlIHR3byBtb3N0IGNvbW1vbmx5 IHVzZWQgc2VyaWFsIHBvcnQgZGVidWcgbGliIGluc3RhbmNlcyBpbiBlZGsyLA0KPiBuYW1lbHkN Cj4gDQo+IC0gTWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliU2VyaWFsUG9ydC9CYXNlRGVidWdM aWJTZXJpYWxQb3J0LmluZg0KPiAtDQo+IE1kZVBrZy9MaWJyYXJ5L0R4ZVJ1bnRpbWVEZWJ1Z0xp YlNlcmlhbFBvcnQvRHhlUnVudGltZURlYnVnTGliU2VyaWFsUA0KPiBvcnQuaW5mDQo+IA0KPiBk byBoYXZlIGNvbnN0cnVjdG9yIGZ1bmN0aW9ucy4NCj4gDQoNCg0KSSBkaWQgYSB0ZXN0IGFuZCBp dCB3b3JrcyBzbyBJIHdpbGwgc2VuZCBWMyBwYXRjaCB0byBtb3ZlIGRlYnVnIG1lc3NhZ2UgdG8g Y29uc3RydWN0b3IuDQpUaGFua3MgTGFzemxvIQ0KDQoNCj4gPg0KPiA+DQo+ID4+DQo+ID4+PiBk aWZmIC0tZ2l0DQo+ID4+PiBhL01kZU1vZHVsZVBrZy9MaWJyYXJ5L1BpRHhlUzNCb290U2NyaXB0 TGliL0R4ZVMzQm9vdFNjcmlwdExpYi5pbmYNCj4gPj4+IGIvTWRlTW9kdWxlUGtnL0xpYnJhcnkv UGlEeGVTM0Jvb3RTY3JpcHRMaWIvRHhlUzNCb290U2NyaXB0TGliLmluZg0KPiA+Pj4gaW5kZXgg NTE3ZWE2OTU2OC4uZmExMzliMDNmZiAxMDA2NDQNCj4gPj4+IC0tLQ0KPiA+Pj4gYS9NZGVNb2R1 bGVQa2cvTGlicmFyeS9QaUR4ZVMzQm9vdFNjcmlwdExpYi9EeGVTM0Jvb3RTY3JpcHRMaWIuaW5m DQo+ID4+PiArKysNCj4gYi9NZGVNb2R1bGVQa2cvTGlicmFyeS9QaUR4ZVMzQm9vdFNjcmlwdExp Yi9EeGVTM0Jvb3RTY3JpcHRMaWIuaQ0KPiA+Pj4gKysrIG5mDQo+ID4+PiBAQCAtMSw3ICsxLDcg QEANCj4gPj4+ICAjIyBAZmlsZQ0KPiA+Pj4gICMgRFhFIFMzIGJvb3Qgc2NyaXB0IExpYnJhcnku DQo+ID4+PiAgIw0KPiA+Pj4gLSMgQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxOCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMNCj4gPj4+IHJlc2VydmVkLjxCUj4NCj4gPj4+ICsjIENvcHly aWdodCAoYykgMjAwNiAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4+ PiArcmVzZXJ2ZWQuPEJSPg0KPiA+Pj4gICMNCj4gPj4+ICAjIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICAjIEBAIC02NSw0ICs2NSw2IEBADQo+ID4+PiAgICAj IyBTT01FVElNRVNfUFJPRFVDRVMNCj4gPj4+DQo+ID4+DQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2RTM0Jvb3RTY3JpcHRUYWJsZVByaXZhdGVTbW1EYXRhUHRyDQo+ID4+Pg0K PiA+Pg0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUzNCb290U2NyaXB0UnVu dGltZVRhYmxlUmVzZXJ2ZVBhDQo+ID4+IGdlTnVtYmVyICAgIyMgQ09OU1VNRVMNCj4gPj4+ICsg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RBY3BpUzNFbmFibGUNCj4gPj4gIyMg Q09OU1VNRVMNCj4gPj4+ICsNCj4gPj4NCj4gPj4gKDMpIFBsZWFzZSBkbyBub3QgYWRkIHRoZSBz dXBlcmZsdW91cyBlbXB0eSBsaW5lLg0KPiA+Pg0KPiA+DQo+ID4gU29ycnkgZm9yIHRoaXMsIEkg d2lsbCBjb3JyZWN0IGl0IGFuZCBiZSBtb3JlIGNhcmVmdWwgaW4gdGhlIGZvbGxvd2luZw0KPiA+ IGNvZGUgcmV2aWV3LiAobWlnaHQgUGF0Y2hDaGVjay5weSBiZSBlbmhhbmNlZCB0byBjYXB0dXJl IHRoaXMga2luZCBvZg0KPiA+IGNvZGluZyBzdHlsZSBpc3N1ZT8pDQo+IA0KPiBOb3Qgc3VyZSA6 KQ0KPiANCj4gVGhhbmtzIQ0KPiBMYXN6bG8NCg==