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.136, mailfrom: zhichao.gao@intel.com) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by groups.io with SMTP; Tue, 23 Apr 2019 19:37:09 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Apr 2019 19:37:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,388,1549958400"; d="scan'208";a="340216540" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga005.fm.intel.com with ESMTP; 23 Apr 2019 19:37:08 -0700 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 23 Apr 2019 19:37:08 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 23 Apr 2019 19:37:07 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.164]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.92]) with mapi id 14.03.0415.000; Wed, 24 Apr 2019 10:37:05 +0800 From: "Gao, Zhichao" To: "devel@edk2.groups.io" , "lersek@redhat.com" CC: Aaron Antone , "Wang, Jian J" , "Wu, Hao A" , "Ni, Ray" , "Zeng, Star" , "Gao, Liming" , Sean Brogan , "Michael Turner" , Bret Barkelew Subject: Re: [edk2-devel] [PATCH V2 2/2] MdeModulePkg/GraphicsConsoleDxe: Do not clean the screen Thread-Topic: [edk2-devel] [PATCH V2 2/2] MdeModulePkg/GraphicsConsoleDxe: Do not clean the screen Thread-Index: AQHU+duHALd3AD4NKk6L95UEJQ1RGqZKiU7g Date: Wed, 24 Apr 2019 02:37:05 +0000 Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B7C3D2E@SHSMSX101.ccr.corp.intel.com> References: <20190423070450.1892-1-zhichao.gao@intel.com> <20190423070450.1892-3-zhichao.gao@intel.com> <1e606f64-af5b-494b-e497-eef0b2f0fe7a@redhat.com> In-Reply-To: <1e606f64-af5b-494b-e497-eef0b2f0fe7a@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: zhichao.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91 cHMuaW8gW21haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pb10gT24gQmVoYWxmIE9mDQo+IExhc3ps byBFcnNlaw0KPiBTZW50OiBUdWVzZGF5LCBBcHJpbCAyMywgMjAxOSA5OjUxIFBNDQo+IFRvOiBH YW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlv DQo+IENjOiBBYXJvbiBBbnRvbmUgPGFhbnRvbkBtaWNyb3NvZnQuY29tPjsgV2FuZywgSmlhbiBK DQo+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNv bT47IE5pLCBSYXkNCj4gPHJheS5uaUBpbnRlbC5jb20+OyBaZW5nLCBTdGFyIDxzdGFyLnplbmdA aW50ZWwuY29tPjsgR2FvLCBMaW1pbmcNCj4gPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgU2VhbiBC cm9nYW4gPHNlYW4uYnJvZ2FuQG1pY3Jvc29mdC5jb20+Ow0KPiBNaWNoYWVsIFR1cm5lciA8TWlj aGFlbC5UdXJuZXJAbWljcm9zb2Z0LmNvbT47IEJyZXQgQmFya2VsZXcNCj4gPEJyZXQuQmFya2Vs ZXdAbWljcm9zb2Z0LmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggVjIg Mi8yXQ0KPiBNZGVNb2R1bGVQa2cvR3JhcGhpY3NDb25zb2xlRHhlOiBEbyBub3QgY2xlYW4gdGhl IHNjcmVlbg0KPiANCj4gT24gMDQvMjMvMTkgMDk6MDQsIFpoaWNoYW8gR2FvIHdyb3RlOg0KPiA+ IEZyb206IEFhcm9uIEFudG9uZSA8YWFudG9uQG1pY3Jvc29mdC5jb20+DQo+ID4NCj4gPiBSRUY6 IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxMg0KPiA+ DQo+ID4gRm9yIG5vdywgbW9zdCBwbGF0Zm9ybSBzdXBwb3J0IHRvIGRpc3BsYXkgZHVyaW5nIFBF SU0uIEl0IG1lYW5zIHRoZQ0KPiA+IGxvZ28gY2FuIHNob3cgYXQgUEVJIHBoYXNlLiBCdXQgdGhl IHNjcmVlbiB3b3VsZCBiZSBjbGVhcmVkIGF0IEJEUw0KPiA+IGNvbm5lY3QgY29uc29sZSBwaGFz ZS4gVGhhdCBtYXkgbWFrZSB0aGUgc2NyZWVuIGZsdXNoIGFuZCB0dXJuIGludG8gYmxhY2sNCj4g c2NyZWVuLg0KPiA+IFNvIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIHdoaWxlIHNldCB0aGUgdGV4 dCBtb2RlIGZvciBncmFwaGljcw0KPiA+IGNvbnNvbGUgZGV2aWNlIGZvciB0aGUgZmlyc3QgdGlt ZSBib290Lg0KPiA+IEFzIHRoZSBzaGVsbCByZWNvbm5lY3QgY29tbWFuZCB3b3VsZCBtYWtlIHRo ZSBzYW1lIHJlc2x1dCB3aXRoIHRoZQ0KPiA+IGZpcnN0IGJvb3QsIHVzZSB0aGUgZ0VmaUV2ZW50 UmVhZHlUb0Jvb3RHdWlkIHRvIGRpc3Rpbmd1aXNoIHRoZW0uDQo+ID4NCj4gPiBBbHNvIHJlcGxh Y2UgdGhlIGRlYnVnIGNvZGUgaW4gR3JhcGhpY3NDb25zb2xlQ29udHJvbGxlckRyaXZlclN0YXJ0 Lg0KPiA+IFRoZSBvcmlnaW4gb25lIHdvdWxkIHNldCBhIGJhc2ljIG1vZGUgYW5kIHRoZW4gcHJp bnQgdGhlIHRleHQgaW5mbyB0bw0KPiA+IGdyYXBoaWMgY29uc29sZSBkZXZpY2UuIFRoZW4gdGhl IGNvbnNwbGl0ZXIgd291bGQgc2V0IGEgYmVzdCBtb2RlIGZvcg0KPiA+IGdyYXBoaWNzIGNvbnNv bGUgZGV2aWNlLiBJZiB0aGUgYmVzdCBtb2RlIGlzIGRpZmZlcmVudCB3aXRoIHRoZSBiYXNpYw0K PiA+IG9uZSwgdGhlIHNjcmVlbiB3b3VsZCBiZSBjbGVhcmVkLiBTbyB1c2UgdGhlIGRlYnVnIG91 dHB1dCBpbnN0ZWFkLg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBvbmx5IGFmZmVjdCB0aGUgYmVoYXZp b3Igb2YgU2V0TW9kZSBhdCB0aGUgZmlyc3QgYm9vdA0KPiA+IGR1cmluZyB0aGUgZ3JhcGhpY3Mg Y29uc29sZSBkZXZpY2VzIGZpcnN0IGNvbm5lY3Qgb3BlcmF0aW9ucy4gVGhhdA0KPiA+IG1lYW5z IGF0IERYRSBwaGFzZSBiZWZvcmUgUmVhZHlUb0Jvb3QsIHRoZSBHcmFwaGljcyBTaW1wbGUgVGV4 dCBPdXQNCj4gPiBTZXRNb2RlIHdvdWxkIG5vdCBjbGVhciB0aGUgc2NyZWVuIGR1cmluZyB0aGUg Zmlyc3QgY29ubmVjdHRpb24gb2YgdGhlDQo+IGdyYXBoaWNzIGRldmljZXMuDQo+IA0KPiBUaGUg VUVGSSBzcGVjIHJlcXVpcmVtZW50IGRvZXNuJ3QgYXBwbHkgYWZ0ZXIgUmVhZHlUb0Jvb3Qgb25s eS4gV2hhdA0KPiBhYm91dCBTeXNQcmVwIGFwcGxpY2F0aW9ucywgZm9yIGV4YW1wbGU6DQo+IA0K PiAiIiINCj4gV2hlbiBsYXVuY2hlZCwgdGhlIHBsYXRmb3JtIGlzIHJlcXVpcmVkIHRvIHByb3Zp ZGUgdGhlIGFwcGxpY2F0aW9uIGxvYWRlZCBieQ0KPiBTeXNQcmVwIyMjIywgd2l0aCB0aGUgc2Ft ZSBzZXJ2aWNlcyBzdWNoIGFzIGNvbnNvbGUgYW5kIG5ldHdvcmsgYXMgYXJlDQo+IG5vcm1hbGx5 IHByb3ZpZGVkIGF0IGxhdW5jaCB0byBhcHBsaWNhdGlvbnMgcmVmZXJlbmNlZCBieSBhIEJvb3Qj IyMjDQo+IHZhcmlhYmxlLiBbLi4uXSBBZnRlciBhbGwgU3lzUHJlcCMjIyMgdmFyaWFibGVzIGhh dmUgYmVlbiBsYXVuY2hlZCBhbmQgZXhpdGVkLA0KPiB0aGUgcGxhdGZvcm0gc2hhbGwgbm90aWZ5 IEVGSV9FVkVOVF9HUk9VUF9SRUFEWV9UT19CT09UIGV2ZW50IGdyb3VwDQo+IGFuZCBiZWdpbiB0 byBldmFsdWF0ZSBCb290IyMjIyB2YXJpYWJsZXMgWy4uLl0gIiIiDQo+IA0KPiBUaHVzIGEgU3lz UHJlcCBhcHBsaWNhdGlvbiBpcyBwZXJtaXR0ZWQgdG8gZXhwZWN0LCBhbmQgdG8gdXNlLCB0aGUg Y29uc29sZSwNCj4gYnV0IGl0IGlzIGxhdW5jaGVkIGJlZm9yZSBSZWFkeVRvQm9vdDsgYW5kIHNv IHRoaXMgcGF0Y2ggY291bGQgYnJlYWsgdGhlDQo+IGNvbnNvbGUncyBzdGQgY29uZm9ybWFuY2Ug Zm9yIFN5c1ByZXAgYXBwcy4NCg0KVGhhbmtzIGZvciB5b3VyIHJlbWluZGVyLiBUaGUgJ1N5c1By ZXAjIyMjJyBhbmQgJ1BsYXRmb3JtUmVjb3ZlcnkjIyMjJyBhcmUgYm90aCBvcHRpb25hbCBmb3Ig dGhlIGNvbnN1bWVycy4gVGhlIGNvbmRpdGlvbiBvZiAnU3lzUHJlcCMjIyMnIGlzIGxpa2Ugd2hh dCB5b3UgbWVudGlvbmVkIGFib3ZlLiBGb3IgJ1BsYXRmb3JtUmVjb3ZlcnkjIyMjJywgaWYgdGhl IHBsYXRmb3JtIHNldCB0aGUgJ09zSW5kaWNhdGlvbnMnIEVGSV9PU19JTkRJQ0FUSU9OU19TVEFS VF9QTEFURk9STV9SRUNPVkVSWSBiaXQsIHRoZW4gdGhlIHN5c3RlbSB3b3VsZCBkaXJlY3RseSB0 cnkgdG8gZXhlY3V0ZSB0aGUgJ1BsYXRmb3JtUmVjb3ZlcnkjIyMjJy4gQW5kIHRoZSBQbGF0Zm9y bVJlY292ZXJ5IGFwcGxpY2F0aW9uIHdvdWxkIGhhdmUgdGhlIHNhbWUgaXNzdWUgd2l0aCBTeXNQ cmVwIGFwcGxpY2F0aW9uLg0KVG8gY292ZXIgYWxsIHRoZSBjb25kaXRpb25zIHdlIGRpc2N1c3Nl ZCwgdGhlIHBoYXNlIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBQbGF0Zm9ybUJvb3RNYW5hZ2VyQWZ0 ZXJDb25zb2xlKCkgaXMgdGhlIGJlc3QgY2hvaWNlLiBJIGFsc28gdGhvdWdodCBvZiB0aGUgRW5k T2ZEeGUgZXZlbnQuIEJ1dCBpdCBpcyBjb250cm9sbGVkIGJ5IHRoZSBQbGF0Zm9ybUJkc0xpYiBh bmQgdGhlIHVzdWFsIHNpZ25hbCBmdW5jdGlvbiBpcyBhdCB0aGUgZW5kIG9mIFBsYXRmb3JtQm9v dE1hbmFnZXJCZWZvcmVDb25zb2xlKCkuIFRoYXQgd291bGQgbWlzcyB0aGUgUENJIGdyYXBoaWNz IGRldmljZXMgY29ubmVjdGVkIGluIHRoZSBhZnRlciBjb25zb2xlLg0KRm9yIG5vdyBzZWVtcyB0 aGVyZSBpcyBubyBzdWl0YWJsZSBldmVudCB0byBkaXN0aW5ndWlzaCB0aGUgYmVoYXZpb3JzIGlu IGRpZmZlcmVudCBwaGFzZXMuIEFkZGluZyBhbiBldmVudCBpbiB0aGUgQmRzIGlzIGFsc28gdW5z dWl0YWJsZS4NCg0KVGhhbmtzLA0KWmhpY2hhbw0KDQo+IA0KPiBJIGd1ZXNzIHlvdSBoYXZlIGFs cmVhZHkgaW52ZXN0aWdhdGVkIGFkZGluZyBhIGJvb2xlYW4gZmllbGQgdG8NCj4gR1JBUEhJQ1Nf Q09OU09MRV9ERVYsIGFuZCBmb3VuZCBpdCB1bnN1aXRhYmxlIGZvciB0aG9zZSBwbGF0Zm9ybXMg dGhhdA0KPiBuZWVkIHRoaXMgYW50aS1mbGlja2VyIHR3ZWFrLiBTbyBJJ20gbm90IGdvaW5nIHRv IHN1Z2dlc3Qgc3VjaCBhIGJvb2xlYW4gZmllbGQNCj4gbm93Lg0KPiANCj4gSW5zdGVhZCwgSSBw cm9wb3NlIGEgUENEIChmZWF0dXJlIFBDRCBvciBkeW5hbWljIGJvb2xlYW4gUENEKS4gSWYgeW91 IGFkZCBhDQo+IFBDRCwgSSB3b24ndCBjYXJlIGFib3V0IHRoZSBwYXJ0aWN1bGFycyBvZiB0aGlz IHBhdGNoLCBhcyBsb25nIGFzIHBsYXRmb3Jtcw0KPiBjb250aW51ZSBvYnNlcnZpbmcgdGhlIHN0 ZCBjb25mb3JtYW50IGJlaGF2aW9yLCB1bmRlciB0aGUgZGVmYXVsdCB2YWx1ZSBvZg0KPiB0aGUg UENEIChpLmUuLCBmcm9tICJNZGVNb2R1bGVQa2cuZGVjIikuDQo+IA0KPiBUaGFua3MsDQo+IExh c3psbw0KPiANCj4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4g PiBDYzogSGFvIFd1IDxoYW8uYS53dUBpbnRlbC5jb20+DQo+ID4gQ2M6IFJheSBOaSA8cmF5Lm5p QGludGVsLmNvbT4NCj4gPiBDYzogU3RhciBaZW5nIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+ IENjOiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiBDYzogU2VhbiBCcm9n YW4gPHNlYW4uYnJvZ2FuQG1pY3Jvc29mdC5jb20+DQo+ID4gQ2M6IE1pY2hhZWwgVHVybmVyIDxN aWNoYWVsLlR1cm5lckBtaWNyb3NvZnQuY29tPg0KPiA+IENjOiBCcmV0IEJhcmtlbGV3IDxCcmV0 LkJhcmtlbGV3QG1pY3Jvc29mdC5jb20+DQo+ID4gQ2M6IExhc3psbyBFcnNlayA8bGVyc2VrQHJl ZGhhdC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogWmhpY2hhbyBHYW8gPHpoaWNoYW8uZ2FvQGlu dGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgLi4uL0dyYXBoaWNzQ29uc29sZUR4ZS9HcmFwaGljc0Nv bnNvbGUuYyAgICAgIHwgODIgKysrKysrKysrKysrKy0tLS0tLQ0KPiA+ICAuLi4vR3JhcGhpY3ND b25zb2xlRHhlL0dyYXBoaWNzQ29uc29sZUR4ZS5pbmYgfCAgMyArDQo+ID4gIDIgZmlsZXMgY2hh bmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0t Z2l0DQo+ID4NCj4gYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUvR3JhcGhpY3NDb25z b2xlRHhlL0dyYXBoaWNzQ29uc29sZQ0KPiAuYw0KPiA+DQo+IGIvTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9Db25zb2xlL0dyYXBoaWNzQ29uc29sZUR4ZS9HcmFwaGljc0NvbnNvbA0KPiBlLmMNCj4g PiBpbmRleCAyNmVhMTlmMzAwLi4zOWE5OTk4MzhjIDEwMDY0NA0KPiA+IC0tLQ0KPiA+DQo+IGEv TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Db25zb2xlL0dyYXBoaWNzQ29uc29sZUR4ZS9HcmFwaGlj c0NvbnNvbGUNCj4gLmMNCj4gPiArKysNCj4gYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNv bGUvR3JhcGhpY3NDb25zb2xlRHhlL0dyYXBoaWNzQ29uc29sDQo+ID4gKysrIGUuYw0KPiA+IEBA IC0xLDcgKzEsNyBAQA0KPiA+ICAvKiogQGZpbGUNCj4gPiAgICBUaGlzIGlzIHRoZSBtYWluIHJv dXRpbmUgZm9yIGluaXRpYWxpemluZyB0aGUgR3JhcGhpY3MgQ29uc29sZSBzdXBwb3J0DQo+IHJv dXRpbmVzLg0KPiA+DQo+ID4gLUNvcHlyaWdodCAoYykgMjAwNiAtIDIwMTgsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ICtDb3B5cmlnaHQgKGMp IDIwMDYgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ICtyZXNlcnZl ZC48QlI+DQo+ID4gIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ID4NCj4gPiAgKiovDQo+ID4gQEAgLTk2LDYgKzk2LDEyIEBAIEVGSV9EUklWRVJfQklORElO R19QUk9UT0NPTA0KPiBnR3JhcGhpY3NDb25zb2xlRHJpdmVyQmluZGluZyA9IHsNCj4gPiAgICBO VUxMDQo+ID4gIH07DQo+ID4NCj4gPiArLy8NCj4gPiArLy8gRXZlbnQgYW5kIHZhcmlhYmxlIHRv IGluZGljYXRlIHRoZSBib290IHBoYXNlLg0KPiA+ICsvLw0KPiA+ICtFRklfRVZFTlQgICBtR3Jh cGhpY3NDb25zb2xlUmVhZHlUb0Jvb3RFdmVudDsNCj4gPiArQk9PTEVBTiAgICAgbUdyYXBoaWNz Q29uc29sZVJlYWR5VG9Cb290ICAgICAgID0gRkFMU0U7DQo+ID4gKw0KPiA+ICAvKioNCj4gPiAg ICBUZXN0IHRvIHNlZSBpZiBHcmFwaGljcyBDb25zb2xlIGNvdWxkIGJlIHN1cHBvcnRlZCBvbiB0 aGUgQ29udHJvbGxlci4NCj4gPg0KPiA+IEBAIC01NjcsMTYgKzU3Myw3IEBAIEdyYXBoaWNzQ29u c29sZUNvbnRyb2xsZXJEcml2ZXJTdGFydCAoDQo+ID4gICAgLy8NCj4gPiAgICBQcml2YXRlLT5T aW1wbGVUZXh0T3V0cHV0TW9kZS5NYXhNb2RlID0gKElOVDMyKSBNYXhNb2RlOw0KPiA+DQo+ID4g LSAgREVCVUdfQ09ERV9CRUdJTiAoKTsNCj4gPiAtICAgIFN0YXR1cyA9IEdyYXBoaWNzQ29uc29s ZUNvbk91dFNldE1vZGUgKCZQcml2YXRlLQ0KPiA+U2ltcGxlVGV4dE91dHB1dCwgMCk7DQo+ID4g LSAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4gLSAgICAgIGdvdG8gRXJyb3I7DQo+ ID4gLSAgICB9DQo+ID4gLSAgICBTdGF0dXMgPSBHcmFwaGljc0NvbnNvbGVDb25PdXRPdXRwdXRT dHJpbmcgKCZQcml2YXRlLQ0KPiA+U2ltcGxlVGV4dE91dHB1dCwgKENIQVIxNiAqKUwiR3JhcGhp Y3MgQ29uc29sZSBTdGFydGVkXG5cciIpOw0KPiA+IC0gICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiA+IC0gICAgICBnb3RvIEVycm9yOw0KPiA+IC0gICAgfQ0KPiA+IC0gIERFQlVHX0NP REVfRU5EICgpOw0KPiA+ICsgIERFQlVHICgoREVCVUdfSU5GTywgIkdyYXBoaWNzIENvbnNvbGUg U3RhcnRlZCFcblxyIikpOw0KPiA+DQo+ID4gICAgLy8NCj4gPiAgICAvLyBJbnN0YWxsIHByb3Rv Y29sIGludGVyZmFjZXMgZm9yIHRoZSBHcmFwaGljcyBDb25zb2xlIGRldmljZS4NCj4gPiBAQCAt MTM2NiwxOCArMTM2MywyNiBAQCBHcmFwaGljc0NvbnNvbGVDb25PdXRTZXRNb2RlICgNCj4gPiAg ICAgICAgLy8NCj4gPiAgICAgICAgLy8gVGhlIGN1cnJlbnQgZ3JhcGhpY3MgbW9kZSBpcyBjb3Jy ZWN0LCBzbyBzaW1wbHkgY2xlYXIgdGhlIGVudGlyZQ0KPiBkaXNwbGF5DQo+ID4gICAgICAgIC8v DQo+ID4gLSAgICAgIFN0YXR1cyA9IEdyYXBoaWNzT3V0cHV0LT5CbHQgKA0KPiA+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgIEdyYXBoaWNzT3V0cHV0LA0KPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICZtR3JhcGhpY3NFZmlDb2xvcnNbMF0sDQo+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgRWZpQmx0VmlkZW9GaWxsLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg IDAsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAwLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgTW9kZURhdGEtPkdvcFdpZHRoLA0KPiA+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgIE1vZGVEYXRhLT5Hb3BIZWlnaHQsDQo+ID4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgMA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ID4gKyAgICAgIC8vDQo+ID4gKyAgICAgIC8vIEZvciB0aGUgZmlyc3QgdGltZSBib290IHN5c3Rl bSwgZG8gbm90IGNsZWFyIHRoZSBkaXNwbGF5Lg0KPiA+ICsgICAgICAvLyBTb21lIHBsYXRmb3Jt cyB3b3VsZCBzaG93IGxvZ28gYXQgUEVJTSBhbmQgdGhpcyB3b3VsZCBjbGVhcg0KPiA+ICsgICAg ICAvLyB0aGUgd2hvbGUgc2NyZWVuLiBTbyBmb3IgZmlyc3QgYm9vdCBzZXQgbW9kZSwgZG8gbm90 IGNsZWFyDQo+ID4gKyAgICAgIC8vIHRoZSBzY3JlZW4uDQo+ID4gKyAgICAgIC8vDQo+ID4gKyAg ICAgIGlmIChUaGlzLT5Nb2RlLT5Nb2RlICE9IC0xIHx8IG1HcmFwaGljc0NvbnNvbGVSZWFkeVRv Qm9vdCkgew0KPiA+ICsgICAgICAgIFN0YXR1cyA9IEdyYXBoaWNzT3V0cHV0LT5CbHQgKA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NPdXRwdXQsDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmbUdyYXBoaWNzRWZpQ29sb3JzWzBdLA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRWZpQmx0VmlkZW9GaWxsLA0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAs DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vZGVE YXRhLT5Hb3BXaWR0aCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vZGVEYXRh LT5Hb3BIZWlnaHQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAwDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiA+ICsgICAgICB9DQo+ID4gICAgICB9DQo+ ID4gICAgfSBlbHNlIGlmIChGZWF0dXJlUGNkR2V0IChQY2RVZ2FDb25zdW1lU3VwcG9ydCkpIHsN Cj4gPiAgICAgIC8vDQo+ID4gQEAgLTIwNjUsNiArMjA3MCwyNCBAQCBSZWdpc3RlckZvbnRQYWNr YWdlICgNCj4gPiAgICBGcmVlUG9vbCAoUGFja2FnZSk7DQo+ID4gIH0NCj4gPg0KPiA+ICsvKioN Cj4gPiArICBJbmRpY2F0ZSB0aGUgQm9vdCBwaGFzZSBpcyBhdCBSZWFkeVRvQm9vdC4NCj4gPiAr DQo+ID4gKyAgQHBhcmFtW2luXSAgRXZlbnQgICBUaGUgRXZlbnQgdGhhdCBpcyBiZWluZyBwcm9j ZXNzZWQuDQo+ID4gKyAgQHBhcmFtW2luXSAgQ29udGV4dCBUaGUgRXZlbnQgQ29udGV4dC4NCj4g PiArDQo+ID4gKyoqLw0KPiA+ICtWT0lEDQo+ID4gK0dyYXBoaWNzQ29uc29sZVJlYWR5VG9Cb290 RXZlbnQgKA0KPiA+ICsgIElOIEVGSV9FVkVOVCAgICAgICAgRXZlbnQsDQo+ID4gKyAgSU4gVk9J RCAgICAgICAgICAgICAqQ29udGV4dA0KPiA+ICsgICkNCj4gPiArew0KPiA+ICsgIG1HcmFwaGlj c0NvbnNvbGVSZWFkeVRvQm9vdCA9IFRSVUU7DQo+ID4gKw0KPiA+ICsgIGdCUy0+Q2xvc2VFdmVu dCAobUdyYXBoaWNzQ29uc29sZVJlYWR5VG9Cb290RXZlbnQpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ ICAvKioNCj4gPiAgICBUaGUgdXNlciBFbnRyeSBQb2ludCBmb3IgbW9kdWxlIEdyYXBoaWNzQ29u c29sZS4gVGhlIHVzZXIgY29kZSBzdGFydHMNCj4gd2l0aCB0aGlzIGZ1bmN0aW9uLg0KPiA+DQo+ ID4gQEAgLTIwOTUsNiArMjExOCwxOSBAQCBJbml0aWFsaXplR3JhcGhpY3NDb25zb2xlICgNCj4g PiAgICAgICZtSGlpUmVnaXN0cmF0aW9uDQo+ID4gICAgICApOw0KPiA+DQo+ID4gKyAgLy8NCj4g PiArICAvLyBDcmVhdGUgYSBldmVudCBmdW5jdGlvbiBvZiBSZWFkeVRvQm9vdCB0byBhdm9pZCBj bGVhcmluZyBzY3JlZW4NCj4gPiArIGJlZm9yZSBib290ICAvLyAgU3RhdHVzID0gZ0JTLT5DcmVh dGVFdmVudEV4ICgNCj4gPiArICAgICAgICAgICAgICAgICAgRVZUX05PVElGWV9TSUdOQUwsDQo+ ID4gKyAgICAgICAgICAgICAgICAgIFRQTF9OT1RJRlksDQo+ID4gKyAgICAgICAgICAgICAgICAg IEdyYXBoaWNzQ29uc29sZVJlYWR5VG9Cb290RXZlbnQsDQo+ID4gKyAgICAgICAgICAgICAgICAg IE5VTEwsDQo+ID4gKyAgICAgICAgICAgICAgICAgICZnRWZpRXZlbnRSZWFkeVRvQm9vdEd1aWQs DQo+ID4gKyAgICAgICAgICAgICAgICAgICZtR3JhcGhpY3NDb25zb2xlUmVhZHlUb0Jvb3RFdmVu dA0KPiA+ICsgICAgICAgICAgICAgICAgICApOw0KPiA+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0 YXR1cyk7DQo+ID4gKw0KPiA+ICAgIC8vDQo+ID4gICAgLy8gSW5zdGFsbCBkcml2ZXIgbW9kZWwg cHJvdG9jb2wocykuDQo+ID4gICAgLy8NCj4gPiBkaWZmIC0tZ2l0DQo+ID4NCj4gYS9NZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUvR3JhcGhpY3NDb25zb2xlRHhlL0dyYXBoaWNzQ29uc29s ZQ0KPiBEeGUNCj4gPiAuaW5mDQo+ID4NCj4gYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNv bGUvR3JhcGhpY3NDb25zb2xlRHhlL0dyYXBoaWNzQ29uc29sDQo+IGVEeGUNCj4gPiAuaW5mDQo+ ID4gaW5kZXggZjdjYWE2NWFhOS4uNTk3NTE4OTNmNiAxMDA2NDQNCj4gPiAtLS0NCj4gPg0KPiBh L01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9HcmFwaGljc0NvbnNvbGVEeGUvR3JhcGhp Y3NDb25zb2xlDQo+IER4ZQ0KPiA+IC5pbmYNCj4gPiArKysNCj4gYi9NZGVNb2R1bGVQa2cvVW5p dmVyc2FsL0NvbnNvbGUvR3JhcGhpY3NDb25zb2xlRHhlL0dyYXBoaWNzQ29uc29sDQo+ID4gKysr IGVEeGUuaW5mDQo+ID4gQEAgLTQ5LDYgKzQ5LDkgQEANCj4gPiAgICBIaWlMaWINCj4gPiAgICBQ Y2RMaWINCj4gPg0KPiA+ICtbR3VpZHNdDQo+ID4gKyAgZ0VmaUV2ZW50UmVhZHlUb0Jvb3RHdWlk ICAgICAgICAgICAgICAgICAgICAgICMjIENPTlNVTUVTDQo+ID4gKw0KPiA+ICBbUHJvdG9jb2xz XQ0KPiA+ICAgIGdFZmlEZXZpY2VQYXRoUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAj IyBUT19TVEFSVA0KPiA+ICAgIGdFZmlTaW1wbGVUZXh0T3V0UHJvdG9jb2xHdWlkICAgICAgICAg ICAgICAgICAjIyBCWV9TVEFSVA0KPiA+DQo+IA0KPiANCj4gDQoNCg==