From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 C152D21E8799E for ; Thu, 14 Sep 2017 01:43:43 -0700 (PDT) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Sep 2017 01:46:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,391,1500966000"; d="scan'208,217";a="151722430" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga006.fm.intel.com with ESMTP; 14 Sep 2017 01:46:22 -0700 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 14 Sep 2017 01:46:21 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 14 Sep 2017 01:46:21 -0700 Received: from shsmsx152.ccr.corp.intel.com ([169.254.6.93]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.168]) with mapi id 14.03.0319.002; Thu, 14 Sep 2017 16:46:19 +0800 From: "Wang, Jian J" To: "Yao, Jiewen" , Laszlo Ersek CC: "Dong, Eric" , "Justen, Jordan L" , "edk2-devel@lists.01.org" , "Wolman, Ayellet" , "Kinney, Michael D" , "Zeng, Star" Thread-Topic: [edk2] [PATCH 4/4] OvmfPkg/QemuVideoDxe: Update QemuVideoDxe driver to bypass NULL pointer detection if enabled. Thread-Index: AQHTLOjaGr4fA1D1skaggpFr6cHp6qKy8rOAgAAcvwCAACF6gIAAV2QAgACIDFCAAAExwA== Date: Thu, 14 Sep 2017 08:46:18 +0000 Message-ID: References: <20170913092507.12504-1-jian.j.wang@intel.com> <20170913092507.12504-5-jian.j.wang@intel.com> <848bc70b-b3f7-62fb-ef2d-df89ff8805a6@redhat.com> <4dd43619-552e-9d0e-3d2b-ca9c1f3b80a3@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503A9B264A@SHSMSX151.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503A9B264A@SHSMSX151.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [PATCH 4/4] OvmfPkg/QemuVideoDxe: Update QemuVideoDxe driver to bypass NULL pointer detection if enabled. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Sep 2017 08:43:44 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SXTigJlzIGFuIGltcGxlbWVudGF0aW9uIGxpbWl0YXRpb24uIEFsbCBwYWdlIGF0dHJpYnV0ZXMg d2lsbCBiZSBmaWx0ZXJlZCBvdXQgYmVmb3JlIGNhbGxpbmcgQ1BVIGFyY2ggcHJvdG9jb2wgdG8g dXBkYXRlIHRoZSBhdHRyaWJ1dGVzIChHY2QuYykuDQoNCkZyb206IFlhbywgSmlld2VuDQpTZW50 OiBUaHVyc2RheSwgU2VwdGVtYmVyIDE0LCAyMDE3IDQ6MzggUE0NClRvOiBMYXN6bG8gRXJzZWsg PGxlcnNla0ByZWRoYXQuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+ DQpDYzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwg PGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgV29s bWFuLCBBeWVsbGV0IDxheWVsbGV0LndvbG1hbkBpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50 ZWwuY29tPg0KU3ViamVjdDogUkU6IFtlZGsyXSBbUEFUQ0ggNC80XSBPdm1mUGtnL1FlbXVWaWRl b0R4ZTogVXBkYXRlIFFlbXVWaWRlb0R4ZSBkcml2ZXIgdG8gYnlwYXNzIE5VTEwgcG9pbnRlciBk ZXRlY3Rpb24gaWYgZW5hYmxlZC4NCg0KSEkNCkkgd29uZGVyIGlmIGl0IGlzIHNwZWMgbGltaXRh dGlvbiBvciBpbXBsZW1lbnRhdGlvbiBsaW1pdGF0aW9uLg0KDQpJZiBpdCBpcyBpbXBsZW1lbnRh dGlvbiBsaW1pdGF0aW9uLCB3ZSBjYW4gZW5oYW5jZSB0aGUgRHhlQ29yZSB0byBhbGxvdyBpdC4N Cg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCkZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxl cnNla0ByZWRoYXQuY29tXQ0KU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAxNCwgMjAxNyA0OjMw IFBNDQpUbzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb208bWFpbHRvOmppYW4u ai53YW5nQGludGVsLmNvbT4+DQpDYzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbTxt YWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+OyBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5q dXN0ZW5AaW50ZWwuY29tPG1haWx0bzpqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPj47IGVkazIt ZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz47IFlhbywg Smlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+ PjsgV29sbWFuLCBBeWVsbGV0IDxheWVsbGV0LndvbG1hbkBpbnRlbC5jb208bWFpbHRvOmF5ZWxs ZXQud29sbWFuQGludGVsLmNvbT4+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb208bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPj47IFplbmcsIFN0 YXIgPHN0YXIuemVuZ0BpbnRlbC5jb208bWFpbHRvOnN0YXIuemVuZ0BpbnRlbC5jb20+Pg0KU3Vi amVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggNC80XSBPdm1mUGtnL1FlbXVWaWRlb0R4ZTogVXBkYXRl IFFlbXVWaWRlb0R4ZSBkcml2ZXIgdG8gYnlwYXNzIE5VTEwgcG9pbnRlciBkZXRlY3Rpb24gaWYg ZW5hYmxlZC4NCg0KT24gMDkvMTQvMTcgMDU6MTcsIFdhbmcsIEppYW4gSiB3cm90ZToNCj4gRm9y IHRoZSB1c2Ugb2YgYXJjaCBwcm90b2NvbCwgdGhlcmUncyBvbmUgdGhpbmcgSSBtZW50aW9uZWQg aXMgbm90DQo+IGFjY3VyYXRlLiBJIGFjdHVhbGx5IHRyaWVkIGdEUy0+U2V0TWVtb3J5U3BhY2VB dHRyaWJ1dGVzKCkgYnV0IGl0DQo+IGNhbm5vdCBjaGFuZ2UgcGFnZSBhdHRyaWJ1dGVzLiBUaGF0 J3Mgd2h5IEkgaGF2ZSB0byB0dXJuIHRvIGNwdSBhcmNoDQo+IHByb3RvY29sLg0KVGhhbmsgeW91 IGZvciB0aGUgZXhwbGFuYXRpb24uDQoNCkluIHRoYXQgY2FzZSwgd2UgY2Fubm90IGF2b2lkIHZp b2xhdGluZyB0aGUgUEkgc3BlYy4gSSBhZ3JlZSB3ZSBjYW4NCmJyZWFrIHRoZSBzcGVjIGlmIGl0 IGhhcHBlbnMgZm9yIHNlY3VyaXR5IHB1cnBvc2VzLCBidXQgaW4gdGhhdCBjYXNlLCBJDQpiZWxp ZXZlIHRoYXQgaGlkaW5nIHRoZSBpbXBsZW1lbnRhdGlvbiBiZWhpbmQgYSBsaWJyYXJ5IGNsYXNz IGlzDQptYW5kYXRvcnkuIFZpZXdlZCBmcm9tIHRoZSBzcGVjIHNpZGUsIGFjY2Vzc2luZyB0aGUg Q1BVIEFyY2ggcHJvdG9jb2wgaXMNCmEgaGFjaywgYW5kIHNvIGl0IHNob3VsZCBub3QgYmUgc3By ZWFkIHRvIHRoZSBzb3VyY2UgY29kZSBvZiBzZXZlcmFsDQpkcml2ZXIgbW9kdWxlcy4NCg0KVGhh bmsgeW91LA0KTGFzemxvDQoNCg0KPg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10g T24gQmVoYWxmIE9mIFdhbmcsIEppYW4gSg0KPiBTZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDE0 LCAyMDE3IDk6MTcgQU0NCj4gVG86IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb208bWFp bHRvOmxlcnNla0ByZWRoYXQuY29tPj4NCj4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRl bC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+PjsgSnVzdGVuLCBKb3JkYW4gTCA8am9y ZGFuLmwuanVzdGVuQGludGVsLmNvbTxtYWlsdG86am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4+ OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+ OyBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50 ZWwuY29tPj47IFdvbG1hbiwgQXllbGxldCA8YXllbGxldC53b2xtYW5AaW50ZWwuY29tPG1haWx0 bzpheWVsbGV0LndvbG1hbkBpbnRlbC5jb20+PjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4+OyBa ZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPG1haWx0bzpzdGFyLnplbmdAaW50ZWwuY29t Pj4NCj4gU3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggNC80XSBPdm1mUGtnL1FlbXVWaWRlb0R4 ZTogVXBkYXRlIFFlbXVWaWRlb0R4ZSBkcml2ZXIgdG8gYnlwYXNzIE5VTEwgcG9pbnRlciBkZXRl Y3Rpb24gaWYgZW5hYmxlZC4NCj4NCj4gVGhhbmtzIGZvciB0aGUgY29tbWVudHMgYW5kIGdvb2Qg YWR2aWNlcy4gU29ycnkgdGhlIGZvcm1hdCBpc3N1ZXMuDQo+IFRoaXMgaXMgbXkgZmlyc3QgcGF0 Y2ggZm9yIHRoaXMgcHJvamVjdC4gVG9vIG1hbnkgZGV0YWlscyBmb3IgbWUgdG8gZ2V0DQo+IGZh bWlsaWFyIHdpdGguDQo+DQo+ICgxKSBTdXJlLg0KPiAoMikgSSdsbCBjaGFuZ2UgdGhhdC4NCj4g KDMpIEknbGwgdXNlIHRoZSB0b29sIHRvIGVuc3VyZSB0aGUgcGF0Y2ggZm9ybWF0Lg0KPiAoNCkg SSdsbCByZW1vdmUgdGhlICcsJyBpbiBuYW1lDQo+ICg1KSBJJ2xsIGFkZCBtb3JlIGRlc2NyaXB0 aW9uIGFib3V0IGl0Lg0KPiAoNikgWW91J3JlIHJpZ2h0LiBJIHNob3VsZCB1c2UgU2V0TWVtb3J5 U3BhY2VBdHRyaWJ1dGVzKCkgb2YgRFhFIHNlcnZpY2UNCj4gICAgICBpbnN0ZWFkLiBUaGUgb25s eSByZWFzb24gSSBkaWRuJ3QgZG8gaXQgaXMgdGhhdCBJIGZvdW5kDQo+ICAgICAgIEdldE1lbW9y eVNwYWNlRGVzY3JpcHRvcigpIGRvZXNuJ3QgcmV0dXJuIHRoZSBzYW1lIGluZm9ybWF0aW9uDQo+ ICAgICAgd2hpY2ggU2V0TWVtb3J5U3BhY2VBdHRyaWJ1dGVzKCkganVzdCBjaGFuZ2VkLiBTbyBJ IGZlZWwgdXNpbmcgQ1BVDQo+ICAgICBhcmNoIHByb3RvY29sIGlzIGEgYml0IHNhZmVyLiBBbnl3 YXksIEknbGwgY2hhbmdlIGl0Lg0KPiAoNykgSSBkaWQgcHV0IHRob3NlIG1hY3JvcyBpbiB0aGUg aW5zdGFsbCBmdW5jdGlvbiBiZWZvcmUuIFRvIHJlZHVjZSB0aGUNCj4gICAgICBudW1iZXIgb2Yg Y2hhbmdlZCBmaWxlcywgSSBtYWRlIGN1cnJlbnQgY2hhbmdlcy4gWW91J3JlIHJpZ2h0IGl0J3MN Cj4gICAgICBub3Qgd29ydGh5Lg0KPiAoOCkgVXNpbmcgbWFjcm8gY2FuIGhlbHAgdGhlIHJlYWRh YmlsaXR5LCB3aGljaCBpcyBtb3JlIGltcG9ydGFudCB0byBtZS4NCj4gICAgIEkga25vdyBmdW5j dGlvbiBjYW4gZG8gdGhlIHNhbWUuIEJ1dCBpdCBsb29rcyBhIGJpdCBoZWF2eSBpbiB0aGlzIHNp dHVhdGlvbi4NCj4gICAgIEkgaGF2ZSB0byBhZG1pdCByZXBsYWNpbmcgIHRoZSBtYWNyb3Mgd2l0 aCBhIGxpYnJhcnkgaXMgYSB2ZXJ5IGdvb2QgaWRlYSwNCj4gICAgIHdoaWNoIGJyaW5ncyB0aGUg c2FtZSByZWFkYWJpbGl0eS4gSSBkaWRuJ3QgdGhpbmsgb2YgdGhhdCBiZWZvcmUuIEFsdGhvdWdo DQo+ICAgICBMaWJyYXJ5IGlzIHN0aWxsIGEgbGl0dGxlIGJpdCBoZWF2eSB0byBtZSBidXQgaXQn cyBpbiBhIGRpZmZlcmVudCB3YXksIEkgdGhpbmsgaXQNCj4gICAgIHdvcnRoIGEgdHJ5aW5nLg0K PiAoOSkgUHV0dGluZyBhIHNwYWNlIGJlZm9yZSBvcGVuIHBhcmVudGhlc2lzIGlzIGZvcmNlZCBz dHlsZT8gSWYgc28sIEknbGwgYWRkIGl0Lg0KPiAoMTApIFlvdSdyZSByaWdodC4gVXNpbmcgbGli cmFyeSBjYW4gcmVkdWNlIHRoZSBkaXN0dXJicyB0byBhZmZlY3RlZCBkcml2ZXJzDQo+ICAgICAg ICBieSB0aGlzIGZlYXR1cmUgdG8gdGhlIG1pbmltdW0uDQo+DQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29t XQ0KPiBTZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDE0LCAyMDE3IDc6MzUgQU0NCj4gVG86IFdh bmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPG1haWx0bzpqaWFuLmoud2FuZ0BpbnRl bC5jb20+Pg0KPiBDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxA bGlzdHMuMDEub3JnPjsgSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNv bTxtYWlsdG86am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4+OyBEb25nLCBFcmljIDxlcmljLmRv bmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29tPj47IEtpbm5leSwgTWljaGFl bCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbTxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBp bnRlbC5jb20+PjsgV29sbWFuLCBBeWVsbGV0IDxheWVsbGV0LndvbG1hbkBpbnRlbC5jb208bWFp bHRvOmF5ZWxsZXQud29sbWFuQGludGVsLmNvbT4+OyBZYW8sIEppZXdlbiA8amlld2VuLnlhb0Bp bnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPj47IFplbmcsIFN0YXIgPHN0YXIu emVuZ0BpbnRlbC5jb208bWFpbHRvOnN0YXIuemVuZ0BpbnRlbC5jb20+Pg0KPiBTdWJqZWN0OiBS ZTogW2VkazJdIFtQQVRDSCA0LzRdIE92bWZQa2cvUWVtdVZpZGVvRHhlOiBVcGRhdGUgUWVtdVZp ZGVvRHhlIGRyaXZlciB0byBieXBhc3MgTlVMTCBwb2ludGVyIGRldGVjdGlvbiBpZiBlbmFibGVk Lg0KPg0KPiBIaSwNCj4NCj4gc29tZSBvZiB0aGUgcG9pbnRzIEknbSBnb2luZyB0byBtYWtlIGhh dmUgYWxyZWFkeSBiZWVuIHBvaW50ZWQgb3V0IGJ5DQo+IEpvcmRhbjoNCj4NCj4gKDEpIFdoZW4g cG9zdGluZyBhIHBhdGNoIHNlcmllcywgcGxlYXNlIGNvbGxlY3QgdGhlIENjOiB0YWdzIGZyb20g YWxsIG9mDQo+IHRoZSBwYXRjaGVzLCBhbmQgYWRkIHRoZW0gKmFsbCogdG8gdGhlIGNvdmVyIGxl dHRlci4gVGhpcyB3YXkgZXZlcnlvbmUNCj4gd2lsbCBnZXQgYSBwZXJzb25hbCBjb3B5IG9mIHRo ZSBnZW5lcmFsIGRlc2NyaXB0aW9uLg0KPg0KPg0KPiAoMikgVGhlIHN1YmplY3QgbGluZSBpcyB0 b28gbG9uZy4gT25lIHBvc3NpYmxlIHNpbXBsaWZpY2F0aW9uOg0KPg0KPiBPdm1mUGtnL1FlbXVW aWRlb0R4ZTogYnlwYXNzIE5VTEwgcG9pbnRlciBkZXRlY3Rpb24NCj4NCj4NCj4gT24gMDkvMTMv MTcgMTE6MjUsIFdhbmcsIEppYW4gSiB3cm90ZToNCj4+IFFlbXVWaWRlb0R4ZSBkcml2ZXIgd2ls bCBpbnN0YWxsIFZCRSBTSElNIGludG8gcGFnZSAwLiBJZiBOVUxMIHBvaW50ZXINCj4+IGRldGVj dGlvbiBpcyBlbmFibGVkLCBwYWdlIDAgbXVzdCBiZSBlbmFibGVkIHRlbXBvcmFyaWx5IGJlZm9y ZQ0KPj4gaW5zdGFsbGluZyBhbmQgZGlzYWJsZWQgYWdhaW4gYWZ0ZXJ3YXJkcy4gRm9yIFdpbmRv d3MgNyBib290LCBCSVQ3IG9mDQo+PiBQY2ROdWxsUG9pbnRlckRldGVjdGlvblByb3BlcnR5TWFz ayBtdXN0IHN0aWxsIGJlIHNldCB0byBhdm9pZCBoYW5nLg0KPg0KPiAoMykgU3ViamVjdCBsaW5l IGFuZCBjb21taXQgbWVzc2FnZSBib3RoIHNob3VsZCBub3QgZXhjZWVkIDc0IGNoYXJhY3RlcnMN Cj4gbGluZSBsZW5ndGguIChOb3Qgc3VyZSBob3cgbWFueSBjaGFycyBQYXRjaENoZWNrLnB5IGFj dHVhbGx5IGVuZm9yY2VzLCBJDQo+IGFsd2F5cyBzdGljayB3aXRoIDc0LCBmb2xsb3dpbmcgdGhl IExpbnV4IGtlcm5lbCB0cmFkaXRpb24uKQ0KPg0KPiBJIHJld3JhcHBlZCB0aGUgY29tbWl0IG1l c3NhZ2UgaGVyZSBmb3IgcmVhZGFiaWxpdHkuDQo+DQo+DQo+Pg0KPj4gQ2M6IEppZXdlbiBZYW8g PGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+DQo+PiBD YzogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwu Y29tPj4NCj4+IENjOiBTdGFyIFplbmcgPHN0YXIuemVuZ0BpbnRlbC5jb208bWFpbHRvOnN0YXIu emVuZ0BpbnRlbC5jb20+Pg0KPj4gQ2M6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb208 bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPj4NCj4+IENjOiBKdXN0ZW4sIEpvcmRhbiBMIDxqb3Jk YW4ubC5qdXN0ZW5AaW50ZWwuY29tPG1haWx0bzpqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPj4N Cj4+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb208bWFp bHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPj4NCj4+IENjOiBXb2xtYW4sIEF5ZWxsZXQg PGF5ZWxsZXQud29sbWFuQGludGVsLmNvbTxtYWlsdG86YXllbGxldC53b2xtYW5AaW50ZWwuY29t Pj4NCj4+IFN1Z2dlc3RlZC1ieTogV29sbWFuLCBBeWVsbGV0IDxheWVsbGV0LndvbG1hbkBpbnRl bC5jb208bWFpbHRvOmF5ZWxsZXQud29sbWFuQGludGVsLmNvbT4+DQo+PiBDb250cmlidXRlZC11 bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4xDQo+PiBTaWduZWQtb2Zm LWJ5OiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbTxtYWlsdG86amlhbi5qLndh bmdAaW50ZWwuY29tPj4NCj4NCj4gKDQpIEkgdGhpbmsgdGhpcyBpcyBhbHNvIHNvbWV0aGluZyB0 aGF0IEpvcmRhbiBoYWQgcG9pbnRlZCBvdXQgYSBsb25nDQo+IHRpbWUgYWdvIChhcG9sb2dpZXMg aWYgSSBtaXMtcmVtZW1iZXIpOg0KPg0KPiBUaGUgc3RyaW5ncyBhZnRlciB0aGUgdGFncyBzaG91 bGQgZm9ybSBjb3JyZWN0IGVtYWlsIGFkZHJlc3NlcywgYW5kIGlmDQo+IHRoZXJlIGFyZSB2YXJp b3VzIGVtYWlsIG1ldGEtY2hhcmFjdGVycyBpbiB0aGVtLCBsaWtlICIuIiAoZG90KSBhbmQgIiwi DQo+IChjb21tYSksIHRoZW4gdGhleSBzaG91bGQgYmUgcXVvdGVkLCBsaWtlIHRoaXM6DQo+DQo+ IENjOiAiSnVzdGVuLCBKb3JkYW4gTCIgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb208bWFpbHRv OmpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+Pg0KPiBDYzogIktpbm5leSwgTWljaGFlbCBEIiA8 bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb208bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPj4NCj4gQ2M6ICJXb2xtYW4sIEF5ZWxsZXQiIDxheWVsbGV0LndvbG1hbkBpbnRlbC5jb208 bWFpbHRvOmF5ZWxsZXQud29sbWFuQGludGVsLmNvbT4+DQo+IFN1Z2dlc3RlZC1ieTogIldvbG1h biwgQXllbGxldCIgPGF5ZWxsZXQud29sbWFuQGludGVsLmNvbTxtYWlsdG86YXllbGxldC53b2xt YW5AaW50ZWwuY29tPj4NCj4gU2lnbmVkLW9mZi1ieTogIldhbmcsIEppYW4gSiIgPGppYW4uai53 YW5nQGludGVsLmNvbTxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPj4NCj4NCj4gSWYgeW91 IGxvb2sgYXQgdGhlIGFjdHVhbCBhZGRyZXNzZXMgb24gdGhlIGVtYWlscyB0aGF0IGhhdmUgYmVl biBzZW50DQo+IG91dCwgeW91IGNhbiBzZWUgdGhleSBhcmUgYWxsIG1hbGZvcm1lZC4gRm9yIGV4 YW1wbGUsIEkgaGF2ZToNCj4NCj4gIkpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29t PG1haWx0bzpqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPj4iIGZvciBKb3JkYW4gLS0gdGhlIHBh cnQgYmVmb3JlIHRoZQ0KPiBjb21tYSB3YXMgdGFrZW4gdG8gYmUgYSBzZXBhcmF0ZSBlbWFpbCBh ZGRyZXNzIChhIG1hbGZvcm1lZCBvbmUpLg0KPg0KPiBBdCBsZWFzdCBmb3IgbXkgcmVwbHksIEkg aGF2ZSBmaXhlZCB1cCB0aGUgZW1haWwgYWRkcmVzc2VzLg0KPg0KPg0KPiAoNSkgVGhlIGNvbW1p dCBtZXNzYWdlIG1lbnRpb25zIEJJVDcgb2YgdGhlIG5ldyBQQ0QuDQo+DQo+IEZpcnN0LCB0aGFu a3MgZm9yIGNoZWNraW5nIFdpbmRvd3MgNyBib290IChhbmQgSSdtIGhhcHB5IHRoYXQgSSBnb3QN Cj4gc3VzcGljaW91cyBvZiB0aGUgZmVhdHVyZSB3aXRoIHJlZ2FyZCB0byBXaW5kb3dzIDcpLiBJ IHRoaW5rIEJJVDcgaXMgYQ0KPiBnb29kIGZlYXR1cmUuDQo+DQo+IEhvd2V2ZXIsIHBsZWFzZSBp bmNsdWRlIHRoZSBzaG9ydCBkZXNjcmlwdGlvbiBvZiB0aGF0IGZlYXR1cmUgaW4gdGhlDQo+IGNv bW1pdCBtZXNzYWdlIC0tIGl0IGlzIG9uZSBzZW50ZW5jZTsgIkRpc2FibGUgTlVMTCBwb2ludGVy IGRldGVjdGlvbg0KPiBqdXN0IGFmdGVyIEVuZE9mRHhlLiINCj4NCj4gKEkgdGhpbmsgQklUNyBp cyBhIHJlYWxseSBzbWFydCBmZWF0dXJlLCBhbmQgSSBsaWtlICpob3cqIGl0IGlzIHVzZWQgaW4N Cj4gIk5VTExfREVURUNUSU9OX0VOQUJMRUQiIGJlbG93LiBUaGUgY2hlY2sgbWVhbnMsICJpZiB0 aGUgcHJvdGVjdGlvbiBpcw0KPiBlbmFibGVkIGZvciBEWEUsIGFuZCAqbm90IGRpc2FibGVkKiAo PT0gYWxzbyBlbmFibGVkKSBhZnRlciBFbmQtb2YtRHhlIi4NCj4NCj4gVGhpcyBkb2Vzbid0IG1l YW4gdGhhdCBJIGxpa2UgdGhlIE5VTExfREVURUNUSU9OX0VOQUJMRUQgbWFjcm8gaXRzZWxmOw0K PiBtb3JlIG9uIHRoYXQgYmVsb3cuKQ0KPg0KPg0KPj4gLS0tDQo+PiAgT3ZtZlBrZy9RZW11Vmlk ZW9EeGUvRHJpdmVyLmMgICAgICAgICB8IDE1ICsrKysrKysrKysrKysrLQ0KPj4gIE92bWZQa2cv UWVtdVZpZGVvRHhlL1FlbXUuaCAgICAgICAgICAgfCAxNiArKysrKysrKysrKysrKysrDQo+PiAg T3ZtZlBrZy9RZW11VmlkZW9EeGUvUWVtdVZpZGVvRHhlLmluZiB8ICAyICsrDQo+PiAgMyBmaWxl cyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pg0KPj4gZGlmZiAt LWdpdCBhL092bWZQa2cvUWVtdVZpZGVvRHhlL0RyaXZlci5jIGIvT3ZtZlBrZy9RZW11VmlkZW9E eGUvRHJpdmVyLmMNCj4+IGluZGV4IDBkY2U4MGU1OWIuLmVlMGVlZDcyMTQgMTAwNjQ0DQo+PiAt LS0gYS9Pdm1mUGtnL1FlbXVWaWRlb0R4ZS9Ecml2ZXIuYw0KPj4gKysrIGIvT3ZtZlBrZy9RZW11 VmlkZW9EeGUvRHJpdmVyLmMNCj4+IEBAIC0xOTQsNiArMTk0LDcgQEAgUWVtdVZpZGVvQ29udHJv bGxlckRyaXZlclN0YXJ0ICgNCj4+ICAgIFBDSV9UWVBFMDAgICAgICAgICAgICAgICAgICAgICAg ICBQY2k7DQo+PiAgICBRRU1VX1ZJREVPX0NBUkQgICAgICAgICAgICAgICAgICAgKkNhcmQ7DQo+ PiAgICBFRklfUENJX0lPX1BST1RPQ09MICAgICAgICAgICAgICAgKkNoaWxkUGNpSW87DQo+PiAr ICBFRklfQ1BVX0FSQ0hfUFJPVE9DT0wgICAgICAgICAgICAgKkNwdTsNCj4NCj4gKDYpIEkgYmVs aWV2ZSBJIG1lbnRpb25lZCB0aGlzIGluIHRoZSBlYXJsaWVyIGRpc2N1c3Npb24sIGluIHNvbWUg Zm9ybSwNCj4gYnV0IG5vdyBJJ2xsIHNheSBpdCBhZ2FpbjoNCj4NCj4gQSBVRUZJIGRyaXZlciBo YXMgbm8gYnVzaW5lc3MgcG9raW5nIGF0IHRoZSBDUFUgQXJjaCBwcm90b2NvbC4gVGhlIFBJDQo+ IHNwZWMgKDEuNikgc3RhdGVzLA0KPg0KPiAgIDEyLjMgQ1BVIEFyY2hpdGVjdHVyYWwgUHJvdG9j b2wNCj4gICBFRklfQ1BVX0FSQ0hfUFJPVE9DT0wNCj4NCj4gICBTdW1tYXJ5DQo+DQo+ICAgQWJz dHJhY3RzIHRoZSBwcm9jZXNzb3Igc2VydmljZXMgdGhhdCBhcmUgcmVxdWlyZWQgdG8gaW1wbGVt ZW50IHNvbWUNCj4gICBvZiB0aGUgRFhFIHNlcnZpY2VzLiBUaGlzIHByb3RvY29sIG11c3QgYmUg cHJvZHVjZWQgYnkgYSBib290IHNlcnZpY2UNCj4gICBvciBydW50aW1lIERYRSBkcml2ZXIgYW5k IG1heSBvbmx5IGJlIGNvbnN1bWVkIGJ5IHRoZSBEWEUgRm91bmRhdGlvbg0KPiAgIGFuZCBEWEUg ZHJpdmVycyB0aGF0IHByb2R1Y2UgYXJjaGl0ZWN0dXJhbCBwcm90b2NvbHMuDQo+DQo+IFRoZSBE WEUgY29yZSBpcyBvYnZpb3VzbHkgZnJlZSB0byB1c2UgdGhlIENQVSBBcmNoIHByb3RvY29sLCBi dXQgYSBVRUZJDQo+IGRyaXZlciBpcyBmb3JiaWRkZW4gZnJvbSBpdCwgKmV2ZW4gaWYqIHdlIHNh eSB0aGF0LCBpbiB0aGlzIFVFRkkgZHJpdmVyLA0KPiB3ZSBhcmUgZ29pbmcgdG8gdXNlIERYRSBz ZXJ2aWNlcy4gKFdoaWNoIGNvbWUgZnJvbSB0aGUgUEkgc3BlYywgYW5kIG5vdA0KPiB0aGUgVUVG SSBzcGVjLikNCj4NCj4gVGhlcmVmb3JlLCBoZXJlIHdlIGhhdmUgdG8gdXNlIGdEUy0+U2V0TWVt b3J5U3BhY2VBdHRyaWJ1dGVzKCkuDQo+DQo+IFRoZSBnRFMtPlNldE1lbW9yeVNwYWNlQXR0cmli dXRlcygpIHNlcnZpY2UgZGVwZW5kcyBvbiB0aGUgQ1BVIEFyY2gNCj4gcHJvdG9jb2wsIGJ5IHRo ZSBQSSBzcGVjLiBJdCBpcyBub3QgZWFzeSB0byBzZWUsIGJlY2F1c2UgdGhlIFBJIHNwZWMgaGFz DQo+IGEgZm9ybWF0dGluZyBlcnJvciBpbiB0aGlzIGFyZWEuIElmIHlvdSBsb29rIHVuZGVyDQo+ IEdldE1lbW9yeVNwYWNlRGVzY3JpcHRvcigpLCB0aGVyZSBpcyBhbiBlcnJvciBjb2RlDQo+DQo+ ICAgRUZJX05PVF9BVkFJTEFCTEVfWUVUICBUaGUgYXR0cmlidXRlcyBjYW5ub3QgYmUgc2V0IGJl Y2F1c2UgQ1BVDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBhcmNoaXRlY3R1cmFsIHByb3Rv Y29sIGlzIG5vdCBhdmFpbGFibGUgeWV0Lg0KPg0KPiBPYnZpb3VzbHkgdGhpcyBlcnJvciBjb2Rl IGJlbG9uZ3MgdG8gU2V0TWVtb3J5U3BhY2VBdHRyaWJ1dGVzKCksIG5vdA0KPiBHZXRNZW1vcnlT cGFjZURlc2NyaXB0b3IoKS4NCj4NCj4gQW55d2F5LCBnRFMgc2hvdWxkIGJlIHVzZWQsIGFyY2hp dGVjdHVyYWwgcHJvdG9jb2xzIHNob3VsZG4ndCBiZS4NCj4NCj4NCj4+DQo+PiAgICBPbGRUcGwg PSBnQlMtPlJhaXNlVFBMIChUUExfQ0FMTEJBQ0spOw0KPj4NCj4+IEBAIC00NzksNyArNDgwLDE5 IEBAIFFlbXVWaWRlb0NvbnRyb2xsZXJEcml2ZXJTdGFydCAoDQo+PiAgI2lmIGRlZmluZWQgTURF X0NQVV9JQTMyIHx8IGRlZmluZWQgTURFX0NQVV9YNjQNCj4+ICAgIGlmIChQcml2YXRlLT5WYXJp YW50ID09IFFFTVVfVklERU9fQk9DSFNfTU1JTyB8fA0KPj4gICAgICAgIFByaXZhdGUtPlZhcmlh bnQgPT0gUUVNVV9WSURFT19CT0NIUykgew0KPj4gLSAgICBJbnN0YWxsVmJlU2hpbSAoQ2FyZC0+ TmFtZSwgUHJpdmF0ZS0+R3JhcGhpY3NPdXRwdXQuTW9kZS0+RnJhbWVCdWZmZXJCYXNlKTsNCj4+ ICsgICAgLy8NCj4+ICsgICAgLy8gUHJlcGFyZSBDUFUgYXJjaCBwcm90b2NvbCBmb3IgTlVMTCBw b2ludGVyIGRldGVjdGlvbg0KPj4gKyAgICAvLw0KPj4gKyAgICBTdGF0dXMgPSBnQlMtPkxvY2F0 ZVByb3RvY29sICgNCj4+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpQ3B1QXJjaFByb3RvY29s R3VpZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+PiArICAgICAgICAgICAgICAg ICAgICAoVk9JRCAqKikgJkNwdQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4+ICsgICAg QVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4+ICsNCj4+ICsgICAgRElTQUJMRV9OVUxMX0RF VEVDVElPTihDcHUpOw0KPj4gKyAgICAgIEluc3RhbGxWYmVTaGltIChDYXJkLT5OYW1lLCBQcml2 YXRlLT5HcmFwaGljc091dHB1dC5Nb2RlLT5GcmFtZUJ1ZmZlckJhc2UpOw0KPj4gKyAgICBFTkFC TEVfTlVMTF9ERVRFQ1RJT04oQ3B1KTsNCj4NCj4gKDcpIFRoZSBOVUxMIGRldGVjdGlvbiBkaXNh YmxpbmcgYW5kIGVuYWJsaW5nIHNob3VsZCBicmFja2V0IHRoZQ0KPiBhZmZlY3RlZCBjb2RlIGFz IHRpZ2h0bHkgYXMgcG9zc2libGUuDQo+DQo+IFNvIHBsZWFzZSBtb3ZlIHRoaXMgaW50byBJbnN0 YWxsVmJlU2hpbSgpIGFjY29yZGluZ2x5Lg0KPg0KPg0KPj4gICAgfQ0KPj4gICNlbmRpZg0KPj4N Cj4+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL1FlbXVWaWRlb0R4ZS9RZW11LmggYi9Pdm1mUGtnL1Fl bXVWaWRlb0R4ZS9RZW11LmgNCj4+IGluZGV4IDdmYmIyNWIzZWYuLmJiM2JjNmViMGYgMTAwNjQ0 DQo+PiAtLS0gYS9Pdm1mUGtnL1FlbXVWaWRlb0R4ZS9RZW11LmgNCj4+ICsrKyBiL092bWZQa2cv UWVtdVZpZGVvRHhlL1FlbXUuaA0KPj4gQEAgLTI1LDYgKzI1LDcgQEANCj4+ICAjaW5jbHVkZSA8 UHJvdG9jb2wvUGNpSW8uaD4NCj4+ICAjaW5jbHVkZSA8UHJvdG9jb2wvRHJpdmVyU3VwcG9ydGVk RWZpVmVyc2lvbi5oPg0KPj4gICNpbmNsdWRlIDxQcm90b2NvbC9EZXZpY2VQYXRoLmg+DQo+PiAr I2luY2x1ZGUgPFByb3RvY29sL0NwdS5oPg0KPj4NCj4+ICAjaW5jbHVkZSA8TGlicmFyeS9EZWJ1 Z0xpYi5oPg0KPj4gICNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlEcml2ZXJFbnRyeVBvaW50Lmg+DQo+ PiBAQCAtODIsNiArODMsMjEgQEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPj4NCj4+ICAjZGVmaW5lIEdS QVBISUNTX09VVFBVVF9JTlZBTElERV9NT0RFX05VTUJFUiAgMHhmZmZmDQo+Pg0KPj4gKy8vDQo+ PiArLy8gVkJFIGNvZGUgd2lsbCBhY2Nlc3MgbWVtb3J5IGJldHdlZW4gMC00MDk1IHdoaWNoIHdp bGwgY2F1c2UgcGFnZSBmYXVsdCBleGNlcHRpb24NCj4+ICsvLyBpZiBOVUxMIHBvaW50ZXIgZGV0 ZWN0aW9uIG1lY2hhbmlzbSBpcyBlbmFibGVkLiBGb2xsb3dpbmcgbWFjcm9zIGNhbiBiZSB1c2Vk IHRvDQo+PiArLy8gZGlzYWJsZS9lbmFibGUgTlVMTCBwb2ludGVyIGRldGVjdGlvbiBiZWZvcmUv YWZ0ZXIgYWNjZXNzaW5nIHRob3NlIG1lbW9yeS4NCj4+ICsvLw0KPj4gKyNkZWZpbmUgTlVMTF9E RVRFQ1RJT05fRU5BQkxFRCAgKChQY2RHZXQ4KFBjZE51bGxQb2ludGVyRGV0ZWN0aW9uUHJvcGVy dHlNYXNrKSAmIChCSVQwfEJJVDcpKSA9PSBCSVQwKQ0KPj4gKyNkZWZpbmUgRElTQUJMRV9OVUxM X0RFVEVDVElPTihDcHUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXA0KPj4gKyAgaWYgKE5VTExfREVURUNUSU9OX0VOQUJMRUQpIHsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPj4gKyAgICAoQ3B1KS0+U2V0TWVt b3J5QXR0cmlidXRlcygoQ3B1KSwgMCwgRUZJX1BBR0VfU0laRSwgMCk7ICAgICAgICAgICAgICAg ICAgICAgXA0KPj4gKyAgfQ0KPj4gKyNkZWZpbmUgRU5BQkxFX05VTExfREVURUNUSU9OKENwdSkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPj4gKyAgaWYg KE5VTExfREVURUNUSU9OX0VOQUJMRUQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXA0KPj4gKyAgICAoQ3B1KS0+U2V0TWVtb3J5QXR0cmlidXRlcygo Q3B1KSwgMCwgRUZJX1BBR0VfU0laRSwgRUZJX01FTU9SWV9SUCk7ICAgICAgICAgXA0KPj4gKyAg fQ0KPj4gKw0KPg0KPiAoOCkgSSBiZWxpZXZlIEpvcmRhbiB0b28gY29tbWVudGVkIG9uIHRoZXNl IG1hY3JvcyBlbHNld2hlcmUgKHVuZGVyDQo+IHBhdGNoIDEvNCkuDQo+DQo+IEluIG15IG9waW5p b24sIHRoaXMgZnVuY3Rpb25hbGl0eSBzaG91bGQgYmUgZXh0cmFjdGVkIGludG8gYSBsaWJyYXJ5 DQo+IGNsYXNzLCB3aXRoIGEgbGlicmFyeSBpbnN0YW5jZSB0aGF0IGlzIHN1aXRhYmxlIGZvciBh dCBsZWFzdCBVRUZJX0RSSVZFUg0KPiBtb2R1bGVzLiAoTWF5YmUgZXZlbiBmb3IgRFhFX0RSSVZF UiBtb2R1bGVzLikNCj4NCj4gWW91IGNvdWxkIGFkZCBhIHNlcGFyYXRlIGxpYnJhcnkgaW5zdGFu Y2UgZm9yIFNNTSBkcml2ZXJzLCBpZiB0aGF0IHdlcmUNCj4gbmVjZXNzYXJ5Lg0KPg0KPg0KPiAo OSkgU3R5bGUgY29tbWVudDogcGxlYXNlIHB1dCBvbmUgc3BhY2UgY2hhcmFjdGVyIGJldHdlZW4g dGhlIGZ1bmN0aW9uDQo+IGRlc2lnbmF0b3IgYW5kIHRoZSBvcGVuaW5nIHBhcmVudGhlc2lzLg0K Pg0KPg0KPj4gIC8vDQo+PiAgLy8gUUVNVSBWaWRlbyBQcml2YXRlIERhdGEgU3RydWN0dXJlDQo+ PiAgLy8NCj4+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL1FlbXVWaWRlb0R4ZS9RZW11VmlkZW9EeGUu aW5mIGIvT3ZtZlBrZy9RZW11VmlkZW9EeGUvUWVtdVZpZGVvRHhlLmluZg0KPj4gaW5kZXggN2M3 ZDQyOWJjYS4uNWQxNjZlYjk5YyAxMDA2NDQNCj4+IC0tLSBhL092bWZQa2cvUWVtdVZpZGVvRHhl L1FlbXVWaWRlb0R4ZS5pbmYNCj4+ICsrKyBiL092bWZQa2cvUWVtdVZpZGVvRHhlL1FlbXVWaWRl b0R4ZS5pbmYNCj4+IEBAIC03Miw3ICs3Miw5IEBADQo+PiAgICBnRWZpR3JhcGhpY3NPdXRwdXRQ cm90b2NvbEd1aWQgICAgICAgICAgICAgICAgIyBQUk9UT0NPTCBCWV9TVEFSVA0KPj4gICAgZ0Vm aURldmljZVBhdGhQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICMgUFJPVE9DT0wgQllf U1RBUlQNCj4+ICAgIGdFZmlQY2lJb1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgICAg ICAjIFBST1RPQ09MIFRPX1NUQVJUDQo+PiArICBnRWZpQ3B1QXJjaFByb3RvY29sR3VpZA0KPj4N Cj4+ICBbUGNkXQ0KPj4gICAgZ09wdGlvblJvbVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERyaXZlclN1 cHBvcnRlZEVmaVZlcnNpb24NCj4+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2ROdWxsUG9pbnRlckRldGVjdGlvblByb3BlcnR5TWFzaw0KPg0KPiAoMTApIEluc3RlYWQgb2Yg dGhlc2UsIHRoZSBsaWJyYXJ5IGNsYXNzIHRoYXQgSSBkZXNjcmliZWQgdW5kZXIgKDgpDQo+IHNo b3VsZCBiZSBhZGRlZCBoZXJlLg0KPg0KPiBBbnkgZnVydGhlciBkZXBlbmRlbmNpZXMgbGlrZSBQ Q0RzLCBwcm90b2NvbHMgZXRjIHNob3VsZCBiZSBpbmhlcml0ZWQgYnkNCj4gdGhlIGRyaXZlciB0 aHJvdWdoIHRoZSBsaWJyYXJ5IGluc3RhbmNlIHRoYXQgdGhlIHBsYXRmb3JtIERTQyBmaWxlDQo+ IHJlc29sdmVzIHRoZSBsaWJyYXJ5IGNsYXNzIHRvLg0KPg0KPiBCb251czogc2hvdWxkIHlvdSBy ZWFsaXplIHRoYXQgdGhlIGZlYXR1cmUgaXMgaW1wb3NzaWJsZSB0byBpbXBsZW1lbnQNCj4gd2l0 aG91dCBhY2Nlc3NpbmcgdGhlIENQVSBBcmNoIHByb3RvY29sIGRpcmVjdGx5LCB5b3UgY291bGQg aGlkZSB0aGUNCj4gcHJvdG9jb2wgR1VJRCBkZXBlbmRlbmN5IGluIHRoZSBsaWJyYXJ5IGluc3Rh bmNlIElORiBmaWxlLCBhbmQgSSdkIGJlDQo+IG5vbmUgdGhlIHdpc2VyLg0KPg0KPiAuLi4gV2Vs bCwgSSBjb3VsZCBhdCBsZWFzdCBwcmV0ZW5kIHRoYXQuIDopDQo+DQo+IFRoYW5rcywNCj4gTGFz emxvDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0 bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1h bi9saXN0aW5mby9lZGsyLWRldmVsDQo+DQo=