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.93, mailfrom: liming.gao@intel.com) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by groups.io with SMTP; Tue, 13 Aug 2019 02:19:47 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Aug 2019 02:19:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,381,1559545200"; d="scan'208";a="181131067" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga006.jf.intel.com with ESMTP; 13 Aug 2019 02:19:45 -0700 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 13 Aug 2019 02:19:44 -0700 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 13 Aug 2019 02:19:44 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.112]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.249]) with mapi id 14.03.0439.000; Tue, 13 Aug 2019 17:19:42 +0800 From: "Liming Gao" To: "devel@edk2.groups.io" , "Gao, Liming" , "Chen, Marc W" , "lersek@redhat.com" , "Ni, Ray" CC: "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH] MdePkg: Add MmAccess and MmControl definition. Thread-Topic: [edk2-devel] [PATCH] MdePkg: Add MmAccess and MmControl definition. Thread-Index: AQHVRcW+DNj93F0Ff0OTbvaK1JyqQqbl/g2wgAABaiCAAAEfIP//jrCAgAADE4CAAQvmAIAGudOAgAAUJYCAAfdxAIAD40QAgACGQzCABRe0AA== Date: Tue, 13 Aug 2019 09:19:42 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E4CFDDA@SHSMSX104.ccr.corp.intel.com> References: <20190729042556.17692-1-marc.w.chen@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E4C7400@SHSMSX104.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C267BB4@SHSMSX104.ccr.corp.intel.com> <211b95ba-703d-4561-c2bc-891e02d0ec2b@redhat.com> <734D49CCEBEEF84792F5B80ED585239D5C27417F@SHSMSX104.ccr.corp.intel.com> <324c388e-b964-f2c9-3719-e47293649351@redhat.com> <15B9725390DC0000.29320@groups.io> In-Reply-To: <15B9725390DC0000.29320@groups.io> 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: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UHVzaCBANmYzM2Y3YTI2MjMxNGFmMzVlMmI5OWM4NDllMDg5MjhlYTQ5YWE1NQ0KDQo+LS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyBbbWFpbHRv OmRldmVsQGVkazIuZ3JvdXBzLmlvXSBPbiBCZWhhbGYgT2YNCj5MaW1pbmcgR2FvDQo+U2VudDog U2F0dXJkYXksIEF1Z3VzdCAxMCwgMjAxOSAxMTozNCBBTQ0KPlRvOiBDaGVuLCBNYXJjIFcgPG1h cmMudy5jaGVuQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOw0KPmxlcnNla0ByZWRo YXQuY29tOyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPkNjOiBLaW5uZXksIE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+U3ViamVjdDogUmU6IFtlZGsyLWRldmVs XSBbUEFUQ0hdIE1kZVBrZzogQWRkIE1tQWNjZXNzIGFuZCBNbUNvbnRyb2wNCj5kZWZpbml0aW9u Lg0KPg0KPkkgYWdyZWUuIFRoZSBwYXRjaCB0byBhZGQgdGhlbSBpbiBNZGVQa2cgaXMgY2xlYXIu IEkgd2lsbCBwdXNoIGl0IG5leHQgTW9uZGF5Lg0KPg0KPlRoYW5rcw0KPkxpbWluZw0KPj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+IEZyb206IENoZW4sIE1hcmMgVw0KPj4gU2VudDog U2F0dXJkYXksIEF1Z3VzdCAxMCwgMjAxOSAxMTozMyBBTQ0KPj4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBsZXJzZWtAcmVkaGF0LmNvbTsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47DQo+ R2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPj4gQ2M6IEtpbm5leSwgTWljaGFl bCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4+IFN1YmplY3Q6IFJFOiBbZWRrMi1k ZXZlbF0gW1BBVENIXSBNZGVQa2c6IEFkZCBNbUFjY2VzcyBhbmQgTW1Db250cm9sDQo+ZGVmaW5p dGlvbi4NCj4+DQo+PiBIaSBMaW1pbmcNCj4+DQo+PiBTaW5jZSB0aGUgU21tQWNjZXNzLmggb2Yg TWRlTW9kdWxlUGtnIHJlbW92YWwgaXMgc3RpbGwgdW5kZXIgZGlzY3Vzc2lvbiwNCj5jYW4gd2Ug cHVzaCB0aGUgTW1BY2Nlc3MuaCBhbmQgTW1Db250cm9sLmggdG8gTWRlUGtnDQo+PiBmaXJzdD8g SSBoYXZlIG90aGVyIHRhc2tzIHBlbmRpbmcgYnkgdGhpcy4NCj4+IFdlIGNhbiBrZWVwIGRpc2N1 c3NpbmcgdGhlIFNtbUFjY2VzcyBhZnRlciBwdXNoIHRoZSBjb2RlLg0KPj4NCj4+IFRoYW5rcywN Cj4+IE1hcmMNCj4+DQo+PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiA+IEZyb206 IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9m IExhc3psbw0KPj4gPiBFcnNlaw0KPj4gPiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDgsIDIwMTkg MTI6MTEgQU0NCj4+ID4gVG86IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBDaGVuLCBNYXJj IFcgPG1hcmMudy5jaGVuQGludGVsLmNvbT47DQo+PiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBH YW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+PiA+IENjOiBLaW5uZXksIE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+PiA+IFN1YmplY3Q6IFJlOiBbZWRr Mi1kZXZlbF0gW1BBVENIXSBNZGVQa2c6IEFkZCBNbUFjY2VzcyBhbmQNCj5NbUNvbnRyb2wNCj4+ ID4gZGVmaW5pdGlvbi4NCj4+ID4NCj4+ID4gT24gMDgvMDYvMTkgMTI6MDgsIE5pLCBSYXkgd3Jv dGU6DQo+PiA+ID4gTGFzemxvLA0KPj4gPiA+IERvIHlvdSB3YW50IHRvIGF2b2lkIHRvdWNoaW5n IHRoZSBPdm1mUGtnIGR1ZSB0aGUgZmlsZSByZW1vdmFsIGluDQo+PiA+IE1kZU1vZHVsZVBrZz8N Cj4+ID4NCj4+ID4gTXkgbWFpbiBwcm9ibGVtIHdpdGggdGhpcyAqc3BlY2lmaWMqIHVwZGF0ZSBw cm9wb3NhbCBpcyB0aGF0IHRoZQ0KPj4gPiBpZGVudGlmaWVycyAodHlwZSBuYW1lcyBhbmQgc3Vj aCkgdGhhdCB3b3VsZCBiZSBzdWJqZWN0IHRvIHJlbW92YWwgd2VyZQ0KPj4gPiBwdWJsaWNseSBz cGVjaWZpZWQgaW4gZWFybGllciBQSSBzcGVjIHJlbGVhc2VzLg0KPj4gPg0KPj4gPiBJIGRvbid0 IHN1Z2dlc3QgdGhhdCB3ZSBtYWludGFpbiB0d28gcGFyYWxsZWwgc2V0cyBvZiB0eXBlZGVmcyBh bmQgc3VjaA0KPj4gPiBpbiBlZGsyLiBJdCdzIGZpbmUgdG8ga2VlcCB0aGUgbmV3ICJNTSIgbm9t ZW5jbGF0dXJlIHRoZSBtYWluIG9uZS4gQnV0DQo+PiA+IHdlIHNob3VsZCBrZWVwIHRoZSAiU01N IiBzZXQgb2YgdGVybXMgdG9vLCBhcyBhIHRoaW4gd3JhcHBlciwgaWYgdGhhdCdzDQo+PiA+IHRl Y2huaWNhbGx5IGZlYXNpYmxlLg0KPj4gPg0KPj4gPiBJZiB3ZSByZW1vdmUgIlNNTSIsIHRoYXQg d2lsbCBub3Qgb25seSBhZmZlY3QgT3ZtZlBrZyB1bnBsZWFzYW50bHksIGJ1dA0KPj4gPiBhIGJ1 bmNoIG9mIG90aGVyLCBvdXQtb2YtdHJlZSBjb2RlLiBBbmQgdGhlIHJlYXNvbiBJIHN1ZGRlbmx5 IGNhcmUgYWJvdXQNCj4+ID4gb3V0LW9mLXRyZWUgY29kZSBpcyB0aGF0IHN1Y2ggY29kZSB3YXMg d3JpdHRlbiBhZ2FpbnN0IGEgcHVibGljIGluZHVzdHJ5DQo+PiA+IHNwZWMgKD0gZWFybGllciB2 ZXJzaW9ucyBvZiB0aGUgUEkgc3BlYykuDQo+PiA+DQo+PiA+IEkgZG9uJ3QgdGhpbmsgdGhhdCB0 aGUgc2ltcGxpY2l0eSB0aGF0IHdvdWxkIGNvbWUgZnJvbSByZW1vdmluZyAiU01NIg0KPj4gPiBh bHRvZ2V0aGVyLCBpcyB3ZWxsLWJhbGFuY2VkIGFnYWluc3QgdGhlIHBhaW4gdGhhdCBpdCB3b3Vs ZCBjYXVzZSBmb3INCj4+ID4gcGxhdGZvcm1zLg0KPj4gPg0KPj4gPiBFYXJsaWVyIHRoaXMgd2Fz IHNvbHZlZCBpbiB0aGUgZm9sbG93aW5nIGNvbW1pdHM6DQo+PiA+IC0gMDdjNmE0N2U3MGJhICgi TWRlUGtnOiBBZGQgbmV3IGRlZmluaXRpb25zIGZvciBNYW5hZ2VtZW50IE1vZGUuIiwNCj4+ID4g MjAxNy0wOC0yOSkNCj4+ID4gLSAyZjIwOGU1OWU0YjkgKCJNZGVQa2c6IFJlZmVyZW5jZSBuZXcg ZGVmaW5pdGlvbnMgZm9yIE1hbmFnZW1lbnQNCj4+ID4gTW9kZS4iLCAyMDE3LTA4LTI5KQ0KPj4g Pg0KPj4gPiBUaGFua3MNCj4+ID4gTGFzemxvDQo+PiA+DQo+PiA+ID4gSSBwcmVmZXIgdG8gcmVt b3ZlIHRoZSBmaWxlcyBpbiBNZGVNb2R1bGVQa2cgdG8gYXZvaWQgZnV0dXJlIGNvbmZ1c2lvbi4N Cj4+ID4gPg0KPj4gPiA+IFRoYW5rcywNCj4+ID4gPiBSYXkNCj4+ID4gPg0KPj4gPiA+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPiA+PiBGcm9tOiBDaGVuLCBNYXJjIFcNCj4+ID4g Pj4gU2VudDogVHVlc2RheSwgQXVndXN0IDYsIDIwMTkgNDo1NyBQTQ0KPj4gPiA+PiBUbzogZGV2 ZWxAZWRrMi5ncm91cHMuaW87IGxlcnNla0ByZWRoYXQuY29tOyBOaSwgUmF5DQo+PiA+IDxyYXku bmlAaW50ZWwuY29tPjsNCj4+ID4gPj4gR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29t Pg0KPj4gPiA+PiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPg0KPj4gPiA+PiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlUGtnOiBB ZGQgTW1BY2Nlc3MgYW5kDQo+PiA+IE1tQ29udHJvbA0KPj4gPiA+PiBkZWZpbml0aW9uLg0KPj4g PiA+Pg0KPj4gPiA+PiBIaSBMaW1pbmcgYW5kIFJheQ0KPj4gPiA+Pg0KPj4gPiA+PiBEbyB5b3Ug YWxzbyBhZ3JlZT8NCj4+ID4gPj4NCj4+ID4gPj4gVGhhbmtzLA0KPj4gPiA+PiBNYXJjDQo+PiA+ ID4+DQo+PiA+ID4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPiA+Pj4gRnJvbTog ZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YN Cj4+ID4gTGFzemxvDQo+PiA+ID4+PiBFcnNlaw0KPj4gPiA+Pj4gU2VudDogRnJpZGF5LCBBdWd1 c3QgMiwgMjAxOSAxMDoxNCBBTQ0KPj4gPiA+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBD aGVuLCBNYXJjIFcgPG1hcmMudy5jaGVuQGludGVsLmNvbT47DQo+TmksDQo+PiA+ID4+PiBSYXkg PHJheS5uaUBpbnRlbC5jb20+OyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ PiA+ID4+PiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KPj4gPiA+Pj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBrZzogQWRk IE1tQWNjZXNzIGFuZA0KPj4gPiA+PiBNbUNvbnRyb2wNCj4+ID4gPj4+IGRlZmluaXRpb24uDQo+ PiA+ID4+Pg0KPj4gPiA+Pj4gT24gMDgvMDEvMTkgMTI6MTUsIE1hcmMgVyBDaGVuIHdyb3RlOg0K Pj4gPiA+Pj4+IFllcywgbXkgcHVycG9zZSBpcyB0byBhdm9pZCBwbGF0Zm9ybSBjb2RlIHVwZGF0 ZSBpZiB0aGUgcGFja2FnZSBpcw0KPj4gPiA+Pj4+IGFsbG93ZWQNCj4+ID4gPj4+IHRvIHVzZSBN ZGVNb2R1bGVQa2cgbGlrZSBPdm1mUGtnLg0KPj4gPiA+Pj4+IEZvciB0aG9zZSBwYWNrYWdlcyB0 aGF0IGNhbm5vdCBkZXBlbmQgb24gTWRlTW9kdWxlUGtnIG11c3QNCj4+ID4gY2hhbmdlDQo+PiA+ ID4+IHRvDQo+PiA+ID4+PiB1c2UgbmV3IGRlZmluaXRpb24uDQo+PiA+ID4+Pg0KPj4gPiA+Pj4g QWdyZWVkLg0KPj4gPiA+Pj4NCj4+ID4gPj4+IFRoYW5rcyENCj4+ID4gPj4+IExhc3psbw0KPj4g PiA+Pj4NCj4+ID4gPj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+ID4gPj4+Pj4g RnJvbTogTmksIFJheQ0KPj4gPiA+Pj4+PiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDEsIDIwMTkg NjowNCBQTQ0KPj4gPiA+Pj4+PiBUbzogQ2hlbiwgTWFyYyBXIDxtYXJjLncuY2hlbkBpbnRlbC5j b20+OyBHYW8sIExpbWluZw0KPj4gPiA+Pj4+PiA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KPj4gPiA+Pj4+PiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPj4gPiA+Pj4+PiBTdWJqZWN0OiBSRTogW2VkazItZGV2 ZWxdIFtQQVRDSF0gTWRlUGtnOiBBZGQgTW1BY2Nlc3MgYW5kDQo+PiA+ID4+PiBNbUNvbnRyb2wN Cj4+ID4gPj4+Pj4gZGVmaW5pdGlvbi4NCj4+ID4gPj4+Pj4NCj4+ID4gPj4+Pj4gTWFyYywNCj4+ ID4gPj4+Pj4gSXMgdGhlIHB1cnBvc2UgdG8gYXZvaWQgcGxhdGZvcm0gY29kZSB1cGRhdGUgd2l0 aCB0aGUgd3JhcHBlcg0KPj4gPiA+Pj4+PiBoZWFkZXINCj4+ID4gPj4+IGZpbGUgaW4NCj4+ID4g Pj4+Pj4gTWRlTW9kdWxlUGtnPw0KPj4gPiA+Pj4+PiBDZXJ0YWluIHBsYXRmb3JtcyB0aGV5IG1h eSByZXF1aXJlIHRvIG5vdCBkZXBlbmQgb24NCj5NZGVNb2R1bGVQa2cNCj4+ID4gPj4+Pj4gYnV0 IGp1c3QgZGVwZW5kIG9uIE1kZVBrZy4NCj4+ID4gPj4+Pj4gSGF2aW5nIFNtbUFjY2Vzcy5oIGlu IE1kZU1vZHVsZVBrZyBkb2Vzbid0IGhlbHAuDQo+PiA+ID4+Pj4+DQo+PiA+ID4+Pj4+IEl0IGFs c28gYnJpbmcgY29uZnVzaW5nLg0KPj4gPiA+Pj4+Pg0KPj4gPiA+Pj4+PiBUaGFua3MsDQo+PiA+ ID4+Pj4+IFJheQ0KPj4gPiA+Pj4+Pg0KPj4gPiA+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4+ID4gPj4+Pj4+IEZyb206IENoZW4sIE1hcmMgVw0KPj4gPiA+Pj4+Pj4gU2VudDog VGh1cnNkYXksIEF1Z3VzdCAxLCAyMDE5IDQ6NTMgUE0NCj4+ID4gPj4+Pj4+IFRvOiBHYW8sIExp bWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPj4gPiA+ Pj4+Pj4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 IE5pLCBSYXkNCj4+ID4gPj4+Pj4+IDxyYXkubmlAaW50ZWwuY29tPg0KPj4gPiA+Pj4+Pj4gU3Vi amVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBrZzogQWRkIE1tQWNjZXNzIGFuZA0K Pj4gPiA+Pj4gTW1Db250cm9sDQo+PiA+ID4+Pj4+PiBkZWZpbml0aW9uLg0KPj4gPiA+Pj4+Pj4N Cj4+ID4gPj4+Pj4+IEhpIExpbWluZw0KPj4gPiA+Pj4+Pj4NCj4+ID4gPj4+Pj4+IEFub3RoZXIg dGhvdWdodCwgZG8geW91IHRoaW5rIGl0IGlzIG9rIHRvIGtlZXAgU21tQWNjZXNzLmggaW4NCj4+ ID4gPj4+Pj4+IE1kZU1vZHVsZVBrZz8gV2UgY2FuIHVzZSAjZGVmaW5lIGFuZCB0eXBlZGVmIHRv IGNvbnZlcnQNCj4+ID4gPj4gTW1BY2Nlc3MNCj4+ID4gPj4+IHRvDQo+PiA+ID4+Pj4+PiBTbW1B Y2Nlc3MsIGp1c3QgbGlrZSBjdXJyZW50IFNtbUFjY2VzcyBQcm90b2NvbCBpbiBNZGVQa2cuDQo+ PiA+ID4+Pj4+Pg0KPj4gPiA+Pj4+Pj4gVGhhbmtzLA0KPj4gPiA+Pj4+Pj4gTWFyYw0KPj4gPiA+ Pj4+Pj4NCj4+ID4gPj4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPiA+Pj4+ Pj4+IEZyb206IENoZW4sIE1hcmMgVw0KPj4gPiA+Pj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBBdWd1 c3QgMSwgMjAxOSA0OjQ4IFBNDQo+PiA+ID4+Pj4+Pj4gVG86IEdhbywgTGltaW5nIDxsaW1pbmcu Z2FvQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+PiA+ID4+Pj4+Pj4gQ2M6IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IE5pLCBSYXkNCj4+ ID4gPj4+Pj4+PiA8cmF5Lm5pQGludGVsLmNvbT4NCj4+ID4gPj4+Pj4+PiBTdWJqZWN0OiBSRTog W2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlUGtnOiBBZGQgTW1BY2Nlc3MgYW5kDQo+PiA+ID4+Pj4+ PiBNbUNvbnRyb2wNCj4+ID4gPj4+Pj4+PiBkZWZpbml0aW9uLg0KPj4gPiA+Pj4+Pj4+DQo+PiA+ ID4+Pj4+Pj4gSGkgTGltaW5nDQo+PiA+ID4+Pj4+Pj4NCj4+ID4gPj4+Pj4+PiBTaW5jZSB0aGVy ZSBhcmUgbXVsdGlwbGUgcGFja2FnZXMgYXJlIHN0aWxsIHVzaW5nIFNtbUFjY2Vzcy5oLA0KPndl DQo+PiA+ID4+Pj4+Pj4gbmVlZCB0byBjaGFuZ2UgYWxsIHBhY2thZ2VzIHRvIHVzZSBNbUFjY2Vz cy5oIGluc3RlYWQgb2YNCj4+ID4gPj4+Pj4+PiBTbW1BY2Nlc3MuaCBmaXJzdCwgdGhlbiBjbGVh biB1cCBTbW1BY2Nlc3MuaCBmcm9tDQo+PiA+IE1kZU1vZHVsZVBrZw0KPj4gPiA+PiB3aWxsIGJl IHRoZSBsYXN0IHN0ZXAuDQo+PiA+ID4+Pj4+Pj4gQmVsb3cgYXJlIHRoZSBwYWNrYWdlcyB0aGF0 IGhhcyAiaW5jbHVkZSA8UHBpL1NtbUFjY2Vzcy5oPiINCj5mb3INCj4+ID4gPj4+Pj4+PiB5b3Vy IHJlZmVyZW5jZS4NCj4+ID4gPj4+Pj4+PiAqCUVkazIgcmVwbzoNCj4+ID4gPj4+Pj4+PiBvCU1k ZU1vZHVsZVBrZw0KPj4gPiA+Pj4+Pj4+IG8JT3ZtZlBrZw0KPj4gPiA+Pj4+Pj4+IG8JVWVmaUNw dVBrZw0KPj4gPiA+Pj4+Pj4+ICoJRWRrMlBsYXRmb3JtIHJlcG86DQo+PiA+ID4+Pj4+Pj4gbwlN aW5QbGF0Zm9ybVBrZw0KPj4gPiA+Pj4+Pj4+IG8JUXVhcmtTb2NQa2cNCj4+ID4gPj4+Pj4+Pg0K Pj4gPiA+Pj4+Pj4+IFRoYW5rcywNCj4+ID4gPj4+Pj4+PiBNYXJjDQo+PiA+ID4+Pj4+Pj4NCj4+ ID4gPj4+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+ID4gPj4+Pj4+Pj4gRnJv bTogR2FvLCBMaW1pbmcNCj4+ID4gPj4+Pj4+Pj4gU2VudDogVGh1cnNkYXksIEF1Z3VzdCAxLCAy MDE5IDQ6NDIgUE0NCj4+ID4gPj4+Pj4+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBDaGVu LCBNYXJjIFcNCj4+ID4gPG1hcmMudy5jaGVuQGludGVsLmNvbT4NCj4+ID4gPj4+Pj4+Pj4gQ2M6 IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IE5pLCBSYXkN Cj4+ID4gPj4+Pj4+Pj4gPHJheS5uaUBpbnRlbC5jb20+DQo+PiA+ID4+Pj4+Pj4+IFN1YmplY3Q6 IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVQa2c6IEFkZCBNbUFjY2Vzcw0KPmFuZA0KPj4g PiA+Pj4+Pj4gTW1Db250cm9sDQo+PiA+ID4+Pj4+Pj4+IGRlZmluaXRpb24uDQo+PiA+ID4+Pj4+ Pj4+DQo+PiA+ID4+Pj4+Pj4+IE1hcmM6DQo+PiA+ID4+Pj4+Pj4+ICAgVGhlIGNoYW5nZSBpcyBn b29kLiBSZXZpZXdlZC1ieTogTGltaW5nIEdhbw0KPj4gPiA+Pj4gPGxpbWluZy5nYW9AaW50ZWwu Y29tPg0KPj4gPiA+Pj4+Pj4+Pg0KPj4gPiA+Pj4+Pj4+PiAgIEJlc2lkZXMsIEkgc2VlIEJaIGFs c28gbWVudGlvbiB0byByZW1vdmUgdGhlIG9uZSBpbg0KPj4gPiA+PiBNZGVNb2R1bGVQa2cuDQo+ PiA+ID4+Pj4+Pj4+IEhhdmUgeW91IHRoZSBmb2xsb3dpbmcgcGF0Y2hlcyBmb3IgdGhlIGNoYW5n ZSBpbg0KPk1kZU1vZHVsZVBrZz8NCj4+ID4gPj4+Pj4+Pj4NCj4+ID4gPj4+Pj4+Pj4gVGhhbmtz DQo+PiA+ID4+Pj4+Pj4+IExpbWluZw0KPj4gPiA+Pj4+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4+ID4gPj4+Pj4+Pj4+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIFttYWls dG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9dDQo+T24NCj4+ID4gPj4+Pj4gQmVoYWxmDQo+PiA+ID4+ Pj4+Pj4+PiBPZiBNYXJjIFcgQ2hlbg0KPj4gPiA+Pj4+Pj4+Pj4gU2VudDogTW9uZGF5LCBKdWx5 IDI5LCAyMDE5IDEyOjI2IFBNDQo+PiA+ID4+Pj4+Pj4+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMu aW8NCj4+ID4gPj4+Pj4+Pj4+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb20+OyBHYW8sDQo+PiA+IExpbWluZw0KPj4gPiA+Pj4+Pj4+Pj4gPGxpbWluZy5n YW9AaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4+ID4gPj4+Pj4+Pj4+ IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBrZzogQWRkIE1tQWNjZXNzIGFuZA0K Pj4gPiA+Pj4+PiBNbUNvbnRyb2wNCj4+ID4gPj4+Pj4+Pj4+IGRlZmluaXRpb24uDQo+PiA+ID4+ Pj4+Pj4+Pg0KPj4gPiA+Pj4+Pj4+Pj4gRUZJIE1tQWNjZXNzIGFuZCBNbUNvbnRyb2wgUFBJcyBh cmUgZGVmaW5lZCBpbiB0aGUgUEkgMS41DQo+PiA+ID4+Pj4+PiBzcGVjaWZpY2F0aW9uLg0KPj4g PiA+Pj4+Pj4+Pj4NCj4+ID4gPj4+Pj4+Pj4+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT4NCj4+ID4gPj4+Pj4+Pj4+IENjOiBMaW1pbmcgR2FvIDxsaW1p bmcuZ2FvQGludGVsLmNvbT4NCj4+ID4gPj4+Pj4+Pj4+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRl bC5jb20+DQo+PiA+ID4+Pj4+Pj4+PiBSZWY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9y Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMw0KPj4gPiA+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTWFy YyBXIENoZW4gPG1hcmMudy5jaGVuQGludGVsLmNvbT4NCj4+ID4gPj4+Pj4+Pj4+IC0tLQ0KPj4g PiA+Pj4+Pj4+Pj4gTWRlUGtnL0luY2x1ZGUvUHBpL01tQWNjZXNzLmggIHwgMTU1DQo+PiA+ID4+ Pj4+Pj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gPiA+ Pj4+Pj4+Pj4gTWRlUGtnL0luY2x1ZGUvUHBpL01tQ29udHJvbC5oIHwgIDkwDQo+PiA+ID4+Pj4+ PiArKysrKysrKysrKysrKysrKysrKysrKysNCj4+ID4gPj4+Pj4+Pj4+IE1kZVBrZy9NZGVQa2cu ZGVjICAgICAgICAgICAgICB8ICAgNiArKw0KPj4gPiA+Pj4+Pj4+Pj4gMyBmaWxlcyBjaGFuZ2Vk LCAyNTEgaW5zZXJ0aW9ucygrKSBjcmVhdGUgbW9kZSAxMDA2NDQNCj4+ID4gPj4+Pj4+Pj4+IE1k ZVBrZy9JbmNsdWRlL1BwaS9NbUFjY2Vzcy5oIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPj4gPiA+Pj4+ Pj4+Pj4gTWRlUGtnL0luY2x1ZGUvUHBpL01tQ29udHJvbC5oDQo+PiA+ID4+Pj4+Pj4+Pg0KPj4g PiA+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL01kZVBrZy9JbmNsdWRlL1BwaS9NbUFjY2Vzcy5oDQo+ PiA+ID4+Pj4+Pj4+PiBiL01kZVBrZy9JbmNsdWRlL1BwaS9NbUFjY2Vzcy5oIG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+PiA+IGluZGV4DQo+PiA+ID4+Pj4+Pj4+PiAwMDAwMDAwMDAwLi42MzZlNzI4 OGEwDQo+PiA+ID4+Pj4+Pj4+PiAtLS0gL2Rldi9udWxsDQo+PiA+ID4+Pj4+Pj4+PiArKysgYi9N ZGVQa2cvSW5jbHVkZS9QcGkvTW1BY2Nlc3MuaA0KPj4gPiA+Pj4+Pj4+Pj4gQEAgLTAsMCArMSwx NTUgQEANCj4+ID4gPj4+Pj4+Pj4+ICsvKiogQGZpbGUNCj4+ID4gPj4+Pj4+Pj4+ICsgIEVGSSBN TSBBY2Nlc3MgUFBJIGRlZmluaXRpb24uDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+ PiArICBUaGlzIFBQSSBpcyB1c2VkIHRvIGNvbnRyb2wgdGhlIHZpc2liaWxpdHkgb2YgdGhlIE1N UkFNIG9uDQo+PiA+ID4+Pj4+Pj4+PiArIHRoZQ0KPj4gPiA+Pj4+Pj4gcGxhdGZvcm0uDQo+PiA+ ID4+Pj4+Pj4+PiArICBUaGUgRUZJX1BFSV9NTV9BQ0NFU1NfUFBJIGFic3RyYWN0cyB0aGUgbG9j YXRpb24gYW5kDQo+PiA+ID4+Pj4+Pj4+PiArIGNoYXJhY3RlcmlzdGljcw0KPj4gPiA+Pj4+Pj4+ IG9mDQo+PiA+ID4+Pj4+Pj4+PiBNTVJBTS4gVGhlDQo+PiA+ID4+Pj4+Pj4+PiArICBwcmluY2lw YWwgZnVuY3Rpb25hbGl0eSBmb3VuZCBpbiB0aGUgbWVtb3J5IGNvbnRyb2xsZXINCj4+ID4gPj4+ Pj4+Pj4+ICsgaW5jbHVkZXMgdGhlDQo+PiA+ID4+Pj4+Pj4+IGZvbGxvd2luZzoNCj4+ID4gPj4+ Pj4+Pj4+ICsgIC0gRXhwb3NpbmcgdGhlIE1NUkFNIHRvIGFsbCBub24tTU0gYWdlbnRzLCBvciB0 aGUNCj4ib3BlbiINCj4+ID4gPj4+Pj4+Pj4+ICsgc3RhdGUNCj4+ID4gPj4+Pj4+Pj4+ICsgIC0g U2hyb3VkaW5nIHRoZSBNTVJBTSB0byBhbGwgYnV0IHRoZSBNTSBhZ2VudHMsIG9yIHRoZQ0KPj4g PiA+PiAiY2xvc2VkIg0KPj4gPiA+Pj4+Pj4+Pj4gKyBzdGF0ZQ0KPj4gPiA+Pj4+Pj4+Pj4gKyAg LSBQcmVzZXJ2aW5nIHRoZSBzeXN0ZW0gaW50ZWdyaXR5LCBvciAibG9ja2luZyIgdGhlIE1NUkFN LA0KPj4gPiA+Pj4+Pj4+Pj4gKyBzdWNoIHRoYXQNCj4+ID4gPj4+Pj4+PiB0aGUNCj4+ID4gPj4+ Pj4+Pj4+IHNldHRpbmdzIGNhbm5vdCBiZQ0KPj4gPiA+Pj4+Pj4+Pj4gKyAgICBwZXJ0dXJiZWQg YnkgZWl0aGVyIGJvb3Qgc2VydmljZSBvciBydW50aW1lIGFnZW50cw0KPj4gPiA+Pj4+Pj4+Pj4g Kw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cw0KPj4gPiA+Pj4+Pj4+Pj4gKyByZXNlcnZlZC48QlI+DQo+PiA+ID4+Pj4+ Pj4+PiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPj4g PiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhciBSZXZpc2lvbiBSZWZlcmVuY2U6 DQo+PiA+ID4+Pj4+Pj4+PiArICBUaGlzIFBQSSBpcyBpbnRyb2R1Y2VkIGluIFBJIFZlcnNpb24g MS41Lg0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKyoqLw0KPj4gPiA+Pj4+Pj4+ Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKyNpZm5kZWYgX01NX0FDQ0VTU19QUElfSF8NCj4+ID4gPj4+ Pj4+Pj4+ICsjZGVmaW5lIF9NTV9BQ0NFU1NfUFBJX0hfDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ ID4+Pj4+Pj4+PiArI2RlZmluZSBFRklfUEVJX01NX0FDQ0VTU19QUElfR1VJRCBcDQo+PiA+ID4+ Pj4+Pj4+PiArICB7IDB4MjY4ZjMzYTksIDB4Y2NjZCwgMHg0OGJlLCB7IDB4ODgsIDB4MTcsIDB4 ODYsIDB4NSwgMHgzYSwNCj4+ID4gPj4+Pj4+Pj4+ICsweGMzLCAweDJlLA0KPj4gPiA+Pj4+Pj4+ Pj4gMHhkNiB9fQ0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gK3R5cGVkZWYgc3Ry dWN0IF9FRklfUEVJX01NX0FDQ0VTU19QUEkNCj4+ID4gPj4gRUZJX1BFSV9NTV9BQ0NFU1NfUFBJ Ow0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKy8qKg0KPj4gPiA+Pj4+Pj4+Pj4g KyAgT3BlbnMgdGhlIE1NUkFNIGFyZWEgdG8gYmUgYWNjZXNzaWJsZSBieSBhIFBFSU0uDQo+PiA+ ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArICBUaGlzIGZ1bmN0aW9uICJvcGVucyIgTU1S QU0gc28gdGhhdCBpdCBpcyB2aXNpYmxlIHdoaWxlIG5vdA0KPj4gPiA+Pj4+Pj4+Pj4gKyBpbnNp ZGUgb2YNCj4+ID4gPj4+Pj4+PiBNTS4NCj4+ID4gPj4+Pj4+Pj4+IFRoZSBmdW5jdGlvbiBzaG91 bGQNCj4+ID4gPj4+Pj4+Pj4+ICsgIHJldHVybiBFRklfVU5TVVBQT1JURUQgaWYgdGhlIGhhcmR3 YXJlIGRvZXMgbm90DQo+c3VwcG9ydA0KPj4gPiA+Pj4+Pj4+Pj4gKyBoaWRpbmcgb2YNCj4+ID4g Pj4+Pj4+Pj4+IE1NUkFNLiBUaGUgZnVuY3Rpb24NCj4+ID4gPj4+Pj4+Pj4+ICsgIHNob3VsZCBy ZXR1cm4gRUZJX0RFVklDRV9FUlJPUiBpZiB0aGUgTU1SQU0NCj4+ID4gY29uZmlndXJhdGlvbg0K Pj4gPiA+PiBpcw0KPj4gPiA+Pj4+Pj4gbG9ja2VkLg0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+ Pj4+Pj4+Pj4gKyAgQHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgICAgICAgIEFuIGluZGlyZWN0IHBv aW50ZXIgdG8gdGhlIFBFSQ0KPj4gPiBTZXJ2aWNlcw0KPj4gPiA+Pj4+Pj4gVGFibGUNCj4+ID4g Pj4+Pj4+Pj4+IHB1Ymxpc2hlZCBieSB0aGUgUEVJIEZvdW5kYXRpb24uDQo+PiA+ID4+Pj4+Pj4+ PiArICBAcGFyYW0gIFRoaXMgICAgICAgICAgICAgICAgICAgVGhlIEVGSV9QRUlfTU1fQUNDRVNT X1BQSQ0KPmluc3RhbmNlLg0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBEZXNjcmlwdG9ySW5k ZXggICAgICAgIFRoZSByZWdpb24gb2YgTU1SQU0gdG8NCj5PcGVuLg0KPj4gPiA+Pj4+Pj4+Pj4g Kw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIFRoZSBv cGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwuDQo+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFsIEVGSV9V TlNVUFBPUlRFRCAgICAgICAgVGhlIHN5c3RlbSBkb2VzIG5vdA0KPnN1cHBvcnQNCj4+ID4gPj4+ Pj4gb3BlbmluZw0KPj4gPiA+Pj4+Pj4+PiBhbmQNCj4+ID4gPj4+Pj4+Pj4+IGNsb3Npbmcgb2Yg TU1SQU0uDQo+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAg TU1SQU0gY2Fubm90IGJlIG9wZW5lZCwNCj4+ID4gPj4+Pj4gcGVyaGFwcw0KPj4gPiA+Pj4+Pj4+ Pj4gYmVjYXVzZSBpdCBpcyBsb2NrZWQuDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+ PiArKiovDQo+PiA+ID4+Pj4+Pj4+PiArdHlwZWRlZg0KPj4gPiA+Pj4+Pj4+Pj4gK0VGSV9TVEFU VVMNCj4+ID4gPj4+Pj4+Pj4+ICsoRUZJQVBJICpFRklfUEVJX01NX09QRU4pKA0KPj4gPiA+Pj4+ Pj4+Pj4gKyAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2Vz LA0KPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gRUZJX1BFSV9NTV9BQ0NFU1NfUFBJICAgICAgICAgICAq VGhpcywNCj4+ID4gPj4+Pj4+Pj4+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAg ICAgRGVzY3JpcHRvckluZGV4DQo+PiA+ID4+Pj4+Pj4+PiArICApOw0KPj4gPiA+Pj4+Pj4+Pj4g Kw0KPj4gPiA+Pj4+Pj4+Pj4gKy8qKg0KPj4gPiA+Pj4+Pj4+Pj4gKyAgSW5oaWJpdHMgYWNjZXNz IHRvIHRoZSBNTVJBTS4NCj4+ID4gPj4+Pj4+Pj4+ICsNCj4+ID4gPj4+Pj4+Pj4+ICsgIFRoaXMg ZnVuY3Rpb24gImNsb3NlcyIgTU1SQU0gc28gdGhhdCBpdCBpcyBub3QgdmlzaWJsZSB3aGlsZQ0K Pj4gPiA+Pj4+Pj4+Pj4gKyBvdXRzaWRlIG9mDQo+PiA+ID4+Pj4+Pj4+IE1NLg0KPj4gPiA+Pj4+ Pj4+Pj4gVGhlIGZ1bmN0aW9uIHNob3VsZA0KPj4gPiA+Pj4+Pj4+Pj4gKyAgcmV0dXJuIEVGSV9V TlNVUFBPUlRFRCBpZiB0aGUgaGFyZHdhcmUgZG9lcyBub3QNCj5zdXBwb3J0DQo+PiA+ID4+Pj4+ Pj4+PiArIGhpZGluZyBvZg0KPj4gPiA+Pj4+Pj4+Pj4gTU1SQU0uDQo+PiA+ID4+Pj4+Pj4+PiAr DQo+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFBlaVNlcnZpY2VzICAgICAgICAgICAgQW4gaW5k aXJlY3QgcG9pbnRlciB0byB0aGUgUEVJDQo+PiA+IFNlcnZpY2VzDQo+PiA+ID4+Pj4+PiBUYWJs ZQ0KPj4gPiA+Pj4+Pj4+Pj4gcHVibGlzaGVkIGJ5IHRoZSBQRUkgRm91bmRhdGlvbi4NCj4+ID4g Pj4+Pj4+Pj4+ICsgIEBwYXJhbSAgVGhpcyAgICAgICAgICAgICAgICAgICBUaGUgRUZJX1BFSV9N TV9BQ0NFU1NfUFBJDQo+aW5zdGFuY2UuDQo+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIERlc2Ny aXB0b3JJbmRleCAgICAgICAgVGhlIHJlZ2lvbiBvZiBNTVJBTSB0bw0KPkNsb3NlLg0KPj4gPiA+ Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAg ICAgIFRoZSBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwuDQo+PiA+ID4+Pj4+Pj4+PiArICBAcmV0 dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgVGhlIHN5c3RlbSBkb2VzIG5vdA0KPnN1cHBvcnQN Cj4+ID4gPj4+Pj4gb3BlbmluZw0KPj4gPiA+Pj4+Pj4+PiBhbmQNCj4+ID4gPj4+Pj4+Pj4+IGNs b3Npbmcgb2YgTU1SQU0uDQo+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJS T1IgICAgICAgTU1SQU0gY2Fubm90IGJlIGNsb3NlZC4NCj4+ID4gPj4+Pj4+Pj4+ICsNCj4+ID4g Pj4+Pj4+Pj4+ICsqKi8NCj4+ID4gPj4+Pj4+Pj4+ICt0eXBlZGVmDQo+PiA+ID4+Pj4+Pj4+PiAr RUZJX1NUQVRVUw0KPj4gPiA+Pj4+Pj4+Pj4gKyhFRklBUEkgKkVGSV9QRUlfTU1fQ0xPU0UpKA0K Pj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgICAgICAqKlBl aVNlcnZpY2VzLA0KPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gRUZJX1BFSV9NTV9BQ0NFU1NfUFBJICAg ICAgICAgICAqVGhpcywNCj4+ID4gPj4+Pj4+Pj4+ICsgIElOIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgICAgRGVzY3JpcHRvckluZGV4DQo+PiA+ID4+Pj4+Pj4+PiArICApOw0KPj4gPiA+ Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKy8qKg0KPj4gPiA+Pj4+Pj4+Pj4gKyAgVGhpcyBm dW5jdGlvbiBwcm9oaWJpdHMgYWNjZXNzIHRvIHRoZSBNTVJBTSByZWdpb24uIFRoaXMNCj4+ID4g Pj4+Pj4+Pj4+ICtmdW5jdGlvbiBpcw0KPj4gPiA+Pj4+Pj4+PiB1c3VhbGx5DQo+PiA+ID4+Pj4+ Pj4+PiBpbXBsZW1lbnRlZCBzdWNoDQo+PiA+ID4+Pj4+Pj4+PiArICB0aGF0IGl0IGlzIGEgd3Jp dGUtb25jZSBvcGVyYXRpb24uDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArICBA cGFyYW0gIFBlaVNlcnZpY2VzICAgICAgICAgICAgQW4gaW5kaXJlY3QgcG9pbnRlciB0byB0aGUg UEVJDQo+PiA+IFNlcnZpY2VzDQo+PiA+ID4+Pj4+PiBUYWJsZQ0KPj4gPiA+Pj4+Pj4+Pj4gcHVi bGlzaGVkIGJ5IHRoZSBQRUkgRm91bmRhdGlvbi4NCj4+ID4gPj4+Pj4+Pj4+ICsgIEBwYXJhbSAg VGhpcyAgICAgICAgICAgICAgICAgICBUaGUgRUZJX1BFSV9NTV9BQ0NFU1NfUFBJDQo+aW5zdGFu Y2UuDQo+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIERlc2NyaXB0b3JJbmRleCAgICAgICAgVGhl IHJlZ2lvbiBvZiBNTVJBTSB0bw0KPkxvY2suDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+ Pj4+PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhlIG9wZXJhdGlvbiB3YXMg c3VjY2Vzc2Z1bC4NCj4+ID4gPj4+Pj4+Pj4+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAg ICAgICBUaGUgc3lzdGVtIGRvZXMgbm90DQo+c3VwcG9ydA0KPj4gPiA+Pj4+PiBvcGVuaW5nDQo+ PiA+ID4+Pj4+Pj4+IGFuZA0KPj4gPiA+Pj4+Pj4+Pj4gY2xvc2luZyBvZiBNTVJBTS4NCj4+ID4g Pj4+Pj4+Pj4+ICsNCj4+ID4gPj4+Pj4+Pj4+ICsqKi8NCj4+ID4gPj4+Pj4+Pj4+ICt0eXBlZGVm DQo+PiA+ID4+Pj4+Pj4+PiArRUZJX1NUQVRVUw0KPj4gPiA+Pj4+Pj4+Pj4gKyhFRklBUEkgKkVG SV9QRUlfTU1fTE9DSykoDQo+PiA+ID4+Pj4+Pj4+PiArICBJTiBFRklfUEVJX1NFUlZJQ0VTICAg ICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+PiA+ID4+Pj4+Pj4+PiArICBJTiBFRklfUEVJ X01NX0FDQ0VTU19QUEkgICAgICAgICAgICpUaGlzLA0KPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdG9ySW5kZXgNCj4+ID4gPj4+Pj4+ Pj4+ICsgICk7DQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArLyoqDQo+PiA+ID4+ Pj4+Pj4+PiArICBRdWVyaWVzIHRoZSBtZW1vcnkgY29udHJvbGxlciBmb3IgdGhlIHBvc3NpYmxl IHJlZ2lvbnMgdGhhdA0KPj4gPiA+Pj4+Pj4+Pj4gK3dpbGwgc3VwcG9ydA0KPj4gPiA+Pj4+Pj4+ Pj4gTU1SQU0uDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArICBUaGlzIGZ1bmN0 aW9uIGRlc2NyaWJlcyB0aGUgTU1SQU0gcmVnaW9ucy4NCj4+ID4gPj4+Pj4+Pj4+ICsgIFRoaXMg ZGF0YSBzdHJ1Y3R1cmUgZm9ybXMgdGhlIGNvbnRyYWN0IGJldHdlZW4gdGhlDQo+PiA+ID4+IE1N X0FDQ0VTUw0KPj4gPiA+Pj4+PiBhbmQNCj4+ID4gPj4+Pj4+Pj4+IE1NX0lQTCBkcml2ZXJzLiBU aGVyZSBpcyBhbg0KPj4gPiA+Pj4+Pj4+Pj4gKyAgYW1iaWd1aXR5IHdoZW4gYW55IE1NUkFNIHJl Z2lvbiBpcyByZW1hcHBlZC4gRm9yDQo+PiA+IGV4YW1wbGUsDQo+PiA+ID4+IG9uDQo+PiA+ID4+ Pj4+Pj4gc29tZQ0KPj4gPiA+Pj4+Pj4+Pj4gY2hpcHNldHMsIHNvbWUgTU1SQU0NCj4+ID4gPj4+ Pj4+Pj4+ICsgIHJlZ2lvbnMgY2FuIGJlIGluaXRpYWxpemVkIGF0IG9uZSBwaHlzaWNhbCBhZGRy ZXNzIGJ1dCBpcw0KPj4gPiA+Pj4+Pj4+Pj4gKyBsYXRlciBhY2Nlc3NlZCBhdA0KPj4gPiA+Pj4+ Pj4+Pj4gYW5vdGhlciBwcm9jZXNzb3IgYWRkcmVzcy4NCj4+ID4gPj4+Pj4+Pj4+ICsgIFRoZXJl IGlzIGN1cnJlbnRseSBubyB3YXkgZm9yIHRoZSBNTSBJUEwgZHJpdmVyIHRvIGtub3cNCj50aGF0 DQo+PiA+ID4+Pj4+Pj4+PiArIGl0IG11c3QgdXNlDQo+PiA+ID4+Pj4+Pj4+PiB0d28gZGlmZmVy ZW50IGFkZHJlc3Nlcw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgZGVwZW5kaW5nIG9uIHdoYXQgaXQgaXMg dHJ5aW5nIHRvIGRvLiBBcyBhIHJlc3VsdCwgaW5pdGlhbA0KPj4gPiA+Pj4+Pj4+Pj4gKyBjb25m aWd1cmF0aW9uIGFuZA0KPj4gPiA+Pj4+Pj4+Pj4gbG9hZGluZyBjYW4gdXNlIHRoZQ0KPj4gPiA+ Pj4+Pj4+Pj4gKyAgcGh5c2ljYWwgYWRkcmVzcyBQaHlzaWNhbFN0YXJ0IHdoaWxlIE1NUkFNIGlz IG9wZW4uDQo+PiA+IEhvd2V2ZXIsDQo+PiA+ID4+Pj4+Pj4+PiArIG9uY2UNCj4+ID4gPj4+Pj4+ PiB0aGUNCj4+ID4gPj4+Pj4+Pj4+IHJlZ2lvbiBoYXMgYmVlbg0KPj4gPiA+Pj4+Pj4+Pj4gKyAg Y2xvc2VkIGFuZCBuZWVkcyB0byBiZSBhY2Nlc3NlZCBieSBhZ2VudHMgaW4gTU0sIHRoZQ0KPj4g PiA+Pj4+Pj4+Pj4gKyBDcHVTdGFydCBhZGRyZXNzDQo+PiA+ID4+Pj4+Pj4+PiBtdXN0IGJlIHVz ZWQuDQo+PiA+ID4+Pj4+Pj4+PiArICBUaGlzIFBQSSBwdWJsaXNoZXMgdGhlIGF2YWlsYWJsZSBt ZW1vcnkgdGhhdCB0aGUgY2hpcHNldA0KPmNhbg0KPj4gPiA+Pj4+Pj4+Pj4gKyBzaHJvdWQgZm9y DQo+PiA+ID4+Pj4+Pj4+IHRoZQ0KPj4gPiA+Pj4+Pj4+Pj4gdXNlIG9mIGluc3RhbGxpbmcgY29k ZS4NCj4+ID4gPj4+Pj4+Pj4+ICsgIFRoZXNlIHJlZ2lvbnMgc2VydmUgdGhlIGR1YWwgcHVycG9z ZSBvZiBkZXNjcmliaW5nIHdoaWNoDQo+PiA+ID4+Pj4+Pj4+PiArIHJlZ2lvbnMgaGF2ZQ0KPj4g PiA+Pj4+Pj4+Pj4gYmVlbiBvcGVuLCBjbG9zZWQsIG9yIGxvY2tlZC4NCj4+ID4gPj4+Pj4+Pj4+ ICsgIEluIGFkZGl0aW9uLCB0aGVzZSByZWdpb25zIG1heSBpbmNsdWRlIG92ZXJsYXBwaW5nIG1l bW9yeQ0KPj4gPiA+Pj4+Pj4+Pj4gKyByYW5nZXMsDQo+PiA+ID4+Pj4+Pj4+PiBkZXBlbmRpbmcg b24gdGhlIGNoaXBzZXQNCj4+ID4gPj4+Pj4+Pj4+ICsgIGltcGxlbWVudGF0aW9uLiBUaGUgbGF0 dGVyIG1pZ2h0IGluY2x1ZGUgYSBjaGlwc2V0IHRoYXQNCj4+ID4gPj4+Pj4+Pj4+ICsgc3VwcG9y dHMgVC1TRUcsDQo+PiA+ID4+Pj4+Pj4+PiB3aGVyZSBtZW1vcnkgbmVhciB0aGUgdG9wDQo+PiA+ ID4+Pj4+Pj4+PiArICBvZiB0aGUgcGh5c2ljYWwgRFJBTSBjYW4gYmUgYWxsb2NhdGVkIGZvciBN TVJBTSB0b28uDQo+PiA+ID4+Pj4+Pj4+PiArICBUaGUga2V5IHRoaW5nIHRvIG5vdGUgaXMgdGhh dCB0aGUgcmVnaW9ucyB0aGF0IGFyZSBkZXNjcmliZWQNCj4+ID4gPj4+Pj4+Pj4+ICsgYnkgdGhl IFBQSQ0KPj4gPiA+Pj4+Pj4+IGFyZQ0KPj4gPiA+Pj4+Pj4+PiBhDQo+PiA+ID4+Pj4+Pj4+PiBz dWJzZXQgb2YgdGhlIGNhcGFiaWxpdGllcw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgb2YgdGhlIGhhcmR3 YXJlLg0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBQZWlTZXJ2 aWNlcyAgICAgICAgICAgIEFuIGluZGlyZWN0IHBvaW50ZXIgdG8gdGhlIFBFSQ0KPj4gPiBTZXJ2 aWNlcw0KPj4gPiA+Pj4+Pj4gVGFibGUNCj4+ID4gPj4+Pj4+Pj4+IHB1Ymxpc2hlZCBieSB0aGUg UEVJIEZvdW5kYXRpb24uDQo+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFRoaXMgICAgICAgICAg ICAgICAgICAgVGhlIEVGSV9QRUlfTU1fQUNDRVNTX1BQSQ0KPmluc3RhbmNlLg0KPj4gPiA+Pj4+ Pj4+Pj4gKyAgQHBhcmFtICBNbXJhbU1hcFNpemUgICAgICAgICAgIEEgcG9pbnRlciB0byB0aGUg c2l6ZSwgaW4NCj5ieXRlcywNCj4+ID4gb2YNCj4+ID4gPj4+Pj4gdGhlDQo+PiA+ID4+Pj4+Pj4+ PiBNbXJhbU1lbW9yeU1hcCBidWZmZXIuIE9uIGlucHV0LCB0aGlzIHZhbHVlIGlzDQo+PiA+ID4+ Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHNpemUgb2YgdGhl IGJ1ZmZlciB0aGF0DQo+PiA+ID4+Pj4+Pj4+PiArIGlzIGFsbG9jYXRlZCBieSB0aGUgY2FsbGVy LiBPbg0KPj4gPiA+Pj4+Pj4+Pj4gb3V0cHV0LCBpdCBpcyB0aGUgc2l6ZSBvZiB0aGUNCj4+ID4g Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIgdGhhdCB3 YXMgcmV0dXJuZWQgYnkNCj4+ID4gPj4+Pj4+Pj4+ICsgdGhlIGZpcm13YXJlIGlmIHRoZSBidWZm ZXINCj4+ID4gPj4+Pj4+Pj4gd2FzDQo+PiA+ID4+Pj4+Pj4+PiBsYXJnZSBlbm91Z2gsIG9yLCBp ZiB0aGUNCj4+ID4gPj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi dWZmZXIgd2FzIHRvbyBzbWFsbCwgdGhlDQo+PiA+ID4+Pj4+Pj4+PiArIHNpemUgb2YgdGhlIGJ1 ZmZlciB0aGF0IGlzDQo+PiA+ID4+Pj4+Pj4+IG5lZWRlZCB0bw0KPj4gPiA+Pj4+Pj4+Pj4gY29u dGFpbiB0aGUgbWFwLg0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtIE1tcmFtTWFwICAgICAgICAg ICAgICAgIEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIGluDQo+d2hpY2gNCj4+ID4gPj4+Pj4+IGZp cm13YXJlDQo+PiA+ID4+Pj4+Pj4+PiBwbGFjZXMgdGhlIGN1cnJlbnQgbWVtb3J5IG1hcC4gVGhl IG1hcCBpcw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGFuIGFycmF5IG9mDQo+PiA+ID4+Pj4+Pj4+PiArIEVGSV9NTVJBTV9ERVNDUklQVE9Scw0KPj4g PiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgICAgIFRoZSBjaGlwc2V0IHN1cHBvcnRlZCB0aGUgZ2l2ZW4NCj4+ID4gPj4+Pj4gcmVzb3Vy Y2UuDQo+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFsIEVGSV9CVUZGRVJfVE9PX1NNQUxMICAgVGhl IE1tcmFtTWFwDQo+PiA+IHBhcmFtZXRlcg0KPj4gPiA+Pj4gd2FzDQo+PiA+ID4+Pj4+PiB0b28N Cj4+ID4gPj4+Pj4+Pj4+IHNtYWxsLiBUaGUgY3VycmVudA0KPj4gPiA+Pj4+Pj4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlciBzaXplIG5lZWRlZCB0byBob2xkDQo+ PiA+ID4+Pj4+Pj4+PiArIHRoZSBtZW1vcnkgbWFwIGlzDQo+PiA+ID4+Pj4+Pj4gcmV0dXJuZWQN Cj4+ID4gPj4+Pj4+Pj4gaW4NCj4+ID4gPj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBNbXJhbU1hcFNpemUuDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+ PiArKiovDQo+PiA+ID4+Pj4+Pj4+PiArdHlwZWRlZg0KPj4gPiA+Pj4+Pj4+Pj4gK0VGSV9TVEFU VVMNCj4+ID4gPj4+Pj4+Pj4+ICsoRUZJQVBJICpFRklfUEVJX01NX0NBUEFCSUxJVElFUykoDQo+ PiA+ID4+Pj4+Pj4+PiArICBJTiBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAgICAgICoqUGVp U2VydmljZXMsDQo+PiA+ID4+Pj4+Pj4+PiArICBJTiBFRklfUEVJX01NX0FDQ0VTU19QUEkgICAg ICAgICAgICpUaGlzLA0KPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gT1VUIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAqTW1yYW1NYXBTaXplLA0KPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gT1VUIEVGSV9N TVJBTV9ERVNDUklQVE9SICAgICAgICAqTW1yYW1NYXANCj4+ID4gPj4+Pj4+Pj4+ICsgICk7DQo+ PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArLy8vDQo+PiA+ID4+Pj4+Pj4+PiArLy8v ICBFRkkgTU0gQWNjZXNzIFBQSSBpcyB1c2VkIHRvIGNvbnRyb2wgdGhlIHZpc2liaWxpdHkgb2YN Cj4+ID4gPj4+Pj4+Pj4+ICt0aGUgTU1SQU0gb24NCj4+ID4gPj4+Pj4+Pj4gdGhlDQo+PiA+ID4+ Pj4+Pj4+PiBwbGF0Zm9ybS4NCj4+ID4gPj4+Pj4+Pj4+ICsvLy8gIEl0IGFic3RyYWN0cyB0aGUg bG9jYXRpb24gYW5kIGNoYXJhY3RlcmlzdGljcyBvZiBNTVJBTS4NCj4+ID4gPj4+Pj4+Pj4+ICtU aGUgcGxhdGZvcm0NCj4+ID4gPj4+Pj4+Pj4+IHNob3VsZCByZXBvcnQNCj4+ID4gPj4+Pj4+Pj4+ ICsvLy8gIGFsbCBNTVJBTSB2aWEgRUZJX1BFSV9NTV9BQ0NFU1NfUFBJLiBUaGUNCj5leHBlY3Rh dGlvbg0KPj4gPiBpcw0KPj4gPiA+Pj4gdGhhdA0KPj4gPiA+Pj4+Pj4+Pj4gK3RoZQ0KPj4gPiA+ Pj4+Pj4+Pj4gbm9ydGggYnJpZGdlIG9yDQo+PiA+ID4+Pj4+Pj4+PiArLy8vICBtZW1vcnkgY29u dHJvbGxlciB3b3VsZCBwdWJsaXNoIHRoaXMgUFBJLg0KPj4gPiA+Pj4+Pj4+Pj4gKy8vLw0KPj4g PiA+Pj4+Pj4+Pj4gK3N0cnVjdCBfRUZJX1BFSV9NTV9BQ0NFU1NfUFBJIHsNCj4+ID4gPj4+Pj4+ Pj4+ICsgIEVGSV9QRUlfTU1fT1BFTiAgICAgICAgICBPcGVuOw0KPj4gPiA+Pj4+Pj4+Pj4gKyAg RUZJX1BFSV9NTV9DTE9TRSAgICAgICAgIENsb3NlOw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgRUZJX1BF SV9NTV9MT0NLICAgICAgICAgIExvY2s7DQo+PiA+ID4+Pj4+Pj4+PiArICBFRklfUEVJX01NX0NB UEFCSUxJVElFUyAgR2V0Q2FwYWJpbGl0aWVzOw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQk9PTEVBTiAg ICAgICAgICAgICAgICAgIExvY2tTdGF0ZTsNCj4+ID4gPj4+Pj4+Pj4+ICsgIEJPT0xFQU4gICAg ICAgICAgICAgICAgICBPcGVuU3RhdGU7DQo+PiA+ID4+Pj4+Pj4+PiArfTsNCj4+ID4gPj4+Pj4+ Pj4+ICsNCj4+ID4gPj4+Pj4+Pj4+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVBlaU1tQWNjZXNzUHBp R3VpZDsNCj4+ID4gPj4+Pj4+Pj4+ICsNCj4+ID4gPj4+Pj4+Pj4+ICsjZW5kaWYNCj4+ID4gPj4+ Pj4+Pj4+IGRpZmYgLS1naXQgYS9NZGVQa2cvSW5jbHVkZS9QcGkvTW1Db250cm9sLmgNCj4+ID4g Pj4+Pj4+Pj4+IGIvTWRlUGtnL0luY2x1ZGUvUHBpL01tQ29udHJvbC5oIG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+PiA+IGluZGV4DQo+PiA+ID4+Pj4+Pj4+PiAwMDAwMDAwMDAwLi45ODNlZDk1Y2Q1 DQo+PiA+ID4+Pj4+Pj4+PiAtLS0gL2Rldi9udWxsDQo+PiA+ID4+Pj4+Pj4+PiArKysgYi9NZGVQ a2cvSW5jbHVkZS9QcGkvTW1Db250cm9sLmgNCj4+ID4gPj4+Pj4+Pj4+IEBAIC0wLDAgKzEsOTAg QEANCj4+ID4gPj4+Pj4+Pj4+ICsvKiogQGZpbGUNCj4+ID4gPj4+Pj4+Pj4+ICsgIEVGSSBNTSBD b250cm9sIFBQSSBkZWZpbml0aW9uLg0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4g KyAgVGhpcyBQUEkgaXMgdXNlZCBpbml0aWF0ZSBzeW5jaHJvbm91cyBNTUkgYWN0aXZhdGlvbnMu IFRoaXMNCj4+ID4gPj4+Pj4+Pj4+ICsgUFBJIGNvdWxkIGJlDQo+PiA+ID4+Pj4+Pj4+PiBwdWJs aXNoZWQgYnkgYSBwcm9jZXNzb3INCj4+ID4gPj4+Pj4+Pj4+ICsgIGRyaXZlciB0byBhYnN0cmFj dCB0aGUgTU1JIElQSSBvciBhIGRyaXZlciB3aGljaCBhYnN0cmFjdHMNCj4+ID4gPj4+Pj4+Pj4+ ICsgdGhlIEFTSUMgdGhhdA0KPj4gPiA+Pj4+Pj4+IGlzDQo+PiA+ID4+Pj4+Pj4+PiBzdXBwb3J0 aW5nIHRoZSBBUE0gcG9ydC4NCj4+ID4gPj4+Pj4+Pj4+ICsgIEJlY2F1c2Ugb2YgdGhlIHBvc3Np YmlsaXR5IG9mIHBlcmZvcm1pbmcgTU1JIElQSQ0KPj4gPiA+Pj4+Pj4+Pj4gKyB0cmFuc2FjdGlv bnMsIHRoZSBhYmlsaXR5DQo+PiA+ID4+Pj4+Pj4+IHRvDQo+PiA+ID4+Pj4+Pj4+PiBnZW5lcmF0 ZSB0aGlzIGV2ZW50DQo+PiA+ID4+Pj4+Pj4+PiArICBmcm9tIGEgcGxhdGZvcm0gY2hpcHNldCBh Z2VudCBpcyBhbiBvcHRpb25hbCBjYXBhYmlsaXR5IGZvcg0KPj4gPiA+Pj4+Pj4+Pj4gKyBib3Ro DQo+PiA+ID4+Pj4+Pj4+PiArIElBLTMyDQo+PiA+ID4+Pj4+Pj4gYW5kDQo+PiA+ID4+Pj4+Pj4+ PiB4NjQtYmFzZWQgc3lzdGVtcy4NCj4+ID4gPj4+Pj4+Pj4+ICsNCj4+ID4gPj4+Pj4+Pj4+ICsg IENvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4+ID4g Pj4+Pj4+Pj4+ICsgcmVzZXJ2ZWQuPEJSPg0KPj4gPiA+Pj4+Pj4+Pj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4+ID4gPj4+Pj4+Pj4+ICsNCj4+ID4g Pj4+Pj4+Pj4+ICsgIEBwYXIgUmV2aXNpb24gUmVmZXJlbmNlOg0KPj4gPiA+Pj4+Pj4+Pj4gKyAg VGhpcyBQUEkgaXMgaW50cm9kdWNlZCBpbiBQSSBWZXJzaW9uIDEuNS4NCj4+ID4gPj4+Pj4+Pj4+ ICsNCj4+ID4gPj4+Pj4+Pj4+ICsqKi8NCj4+ID4gPj4+Pj4+Pj4+ICsNCj4+ID4gPj4+Pj4+Pj4+ ICsNCj4+ID4gPj4+Pj4+Pj4+ICsjaWZuZGVmIF9NTV9DT05UUk9MX1BQSV9IXw0KPj4gPiA+Pj4+ Pj4+Pj4gKyNkZWZpbmUgX01NX0NPTlRST0xfUFBJX0hfDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ ID4+Pj4+Pj4+PiArI2RlZmluZSBFRklfUEVJX01NX0NPTlRST0xfUFBJX0dVSUQgXA0KPj4gPiA+ Pj4+Pj4+Pj4gKyAgeyAweDYxYzY4NzAyLCAweDRkN2UsIDB4NGY0MywgMHg4ZCwgMHhlZiwgMHhh NywgMHg0MywgMHg1LA0KPj4gPiA+Pj4+Pj4+Pj4gKzB4Y2UsIDB4NzQsDQo+PiA+ID4+Pj4+Pj4+ IDB4YzUgfQ0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gK3R5cGVkZWYgc3RydWN0 IF9FRklfUEVJX01NX0NPTlRST0xfUFBJDQo+PiA+ID4+Pj4+PiBFRklfUEVJX01NX0NPTlRST0xf UFBJOw0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKy8qKg0KPj4gPiA+Pj4+Pj4+ Pj4gKyAgSW52b2tlcyBQUEkgYWN0aXZhdGlvbiBmcm9tIHRoZSBQSSBQRUkgZW52aXJvbm1lbnQu DQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFBlaVNlcnZpY2Vz ICAgICAgICAgICBBbiBpbmRpcmVjdCBwb2ludGVyIHRvIHRoZSBQRUkNCj4+ID4gU2VydmljZXMN Cj4+ID4gPj4+Pj4gVGFibGUNCj4+ID4gPj4+Pj4+Pj4+IHB1Ymxpc2hlZCBieSB0aGUgUEVJIEZv dW5kYXRpb24uDQo+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFRoaXMgICAgICAgICAgICAgICAg ICBUaGUgUEVJX01NX0NPTlRST0xfUFBJIGluc3RhbmNlLg0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBh cmFtICBBcmd1bWVudEJ1ZmZlciAgICAgICAgVGhlIHZhbHVlIHBhc3NlZCB0byB0aGUgTU1JDQo+ PiA+ID4+PiBoYW5kbGVyLg0KPj4gPiA+Pj4+Pj4+IFRoaXMNCj4+ID4gPj4+Pj4+Pj4+IHZhbHVl IGNvcnJlc3BvbmRzIHRvIHRoZQ0KPj4gPiA+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3dNbWlJbnB1dFZhbHVlIGluIHRoZQ0KPj4gPiA+Pj4+Pj4+Pj4gKyBSZWdp c3RlckNvbnRleHQgcGFyYW1ldGVyDQo+PiA+ID4+Pj4+Pj4gZm9yDQo+PiA+ID4+Pj4+Pj4+IHRo ZQ0KPj4gPiA+Pj4+Pj4+Pj4gUmVnaXN0ZXIoKQ0KPj4gPiA+Pj4+Pj4+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW4gdGhlDQo+PiA+ID4+Pj4+Pj4+PiArIEVG SV9NTV9TV19ESVNQQVRDSF9QUk9UT0NPTA0KPj4gPiA+Pj4+Pj4+IGFuZA0KPj4gPiA+Pj4+Pj4+ PiBpbg0KPj4gPiA+Pj4+Pj4+Pj4gdGhlIENvbnRleHQgcGFyYW1ldGVyDQo+PiA+ID4+Pj4+Pj4+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgY2FsbCB0byB0aGUgRGlz cGF0Y2hGdW5jdGlvbg0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBBcmd1bWVudEJ1ZmZlclNp emUgICAgVGhlIHNpemUgb2YgdGhlIGRhdGEgcGFzc2VkDQo+aW4NCj4+ID4gPj4+Pj4+Pj4+IEFy Z3VtZW50QnVmZmVyIG9yIE5VTEwgaWYgQXJndW1lbnRCdWZmZXIgaXMgTlVMTC4NCj4+ID4gPj4+ Pj4+Pj4+ICsgIEBwYXJhbSAgUGVyaW9kaWMgICAgICAgICAgICAgIEFuIG9wdGlvbmFsIG1lY2hh bmlzbSB0bw0KPnBlcmlvZGljYWxseQ0KPj4gPiA+Pj4+PiByZXBlYXQNCj4+ID4gPj4+Pj4+Pj4+ IGFjdGl2YXRpb24uDQo+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIEFjdGl2YXRpb25JbnRlcnZh bCAgICBBbiBvcHRpb25hbCBwYXJhbWV0ZXIgdG8NCj5yZXBlYXQNCj4+ID4gYXQNCj4+ID4gPj4+ Pj4gdGhpcw0KPj4gPiA+Pj4+Pj4+PiBwZXJpb2QNCj4+ID4gPj4+Pj4+Pj4+IG9uZQ0KPj4gPiA+ Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZSBvciwgaWYgdGhl IFBlcmlvZGljIEJvb2xlYW4gaXMgc2V0LA0KPj4gPiBwZXJpb2RpY2FsbHkuDQo+PiA+ID4+Pj4+ Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBU aGUgTU1JIGhhcyBiZWVuIGVuZ2VuZGVyZWQuDQo+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFsIEVG SV9ERVZJQ0VfRVJST1IgICAgICBUaGUgdGltaW5nIGlzIHVuc3VwcG9ydGVkLg0KPj4gPiA+Pj4+ Pj4+Pj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgVGhlIGFjdGl2YXRpb24gcGVy aW9kIGlzDQo+PiA+ID4+Pj4+PiB1bnN1cHBvcnRlZC4NCj4+ID4gPj4+Pj4+Pj4+ICsgIEByZXR2 YWwgRUZJX05PVF9TVEFSVEVEICAgICAgIFRoZSBNTSBiYXNlIHNlcnZpY2UgaGFzIG5vdA0KPj4g PiA+PiBiZWVuDQo+PiA+ID4+Pj4+Pj4+IGluaXRpYWxpemVkLg0KPj4gPiA+Pj4+Pj4+Pj4gKw0K Pj4gPiA+Pj4+Pj4+Pj4gKyoqLw0KPj4gPiA+Pj4+Pj4+Pj4gK3R5cGVkZWYNCj4+ID4gPj4+Pj4+ Pj4+ICtFRklfU1RBVFVTDQo+PiA+ID4+Pj4+Pj4+PiArKEVGSUFQSSAqRUZJX1BFSV9NTV9BQ1RJ VkFURSkgKA0KPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4+ID4gPj4+Pj4+Pj4+ICsgIElO IEVGSV9QRUlfTU1fQ09OVFJPTF9QUEkgICAgICAgICAgICAgICAgICAgICAgICAgICogVGhpcywN Cj4+ID4gPj4+Pj4+Pj4+ICsgIElOIE9VVCBJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICpBcmd1bWVudEJ1ZmZlcg0KPk9QVElPTkFMLA0KPj4gPiA+Pj4+Pj4+Pj4g KyAgSU4gT1VUIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkFy Z3VtZW50QnVmZmVyU2l6ZQ0KPj4gPiA+Pj4gT1BUSU9OQUwsDQo+PiA+ID4+Pj4+Pj4+PiArICBJ TiBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZXJpb2Rp YyBPUFRJT05BTCwNCj4+ID4gPj4+Pj4+Pj4+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFjdGl2YXRpb25JbnRlcnZhbCBPUFRJT05BTA0KPj4g PiA+Pj4+Pj4+Pj4gKyAgKTsNCj4+ID4gPj4+Pj4+Pj4+ICsNCj4+ID4gPj4+Pj4+Pj4+ICsvKioN Cj4+ID4gPj4+Pj4+Pj4+ICsgIENsZWFycyBhbnkgc3lzdGVtIHN0YXRlIHRoYXQgd2FzIGNyZWF0 ZWQgaW4gcmVzcG9uc2UgdG8gdGhlDQo+PiA+ID4+PiBUcmlnZ2VyKCkNCj4+ID4gPj4+Pj4+IGNh bGwuDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFBlaVNlcnZp Y2VzICAgICAgICAgICBHZW5lcmFsIHB1cnBvc2Ugc2VydmljZXMNCj5hdmFpbGFibGUNCj4+ID4g dG8NCj4+ID4gPj4+Pj4gZXZlcnkNCj4+ID4gPj4+Pj4+Pj4gUEVJTS4NCj4+ID4gPj4+Pj4+Pj4+ ICsgIEBwYXJhbSAgVGhpcyAgICAgICAgICAgICAgICAgIFRoZSBQRUlfTU1fQ09OVFJPTF9QUEkg aW5zdGFuY2UuDQo+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFBlcmlvZGljICAgICAgICAgICAg ICBPcHRpb25hbCBwYXJhbWV0ZXIgdG8gcmVwZWF0IGF0DQo+dGhpcw0KPj4gPiA+Pj4+PiBwZXJp b2QNCj4+ID4gPj4+Pj4+PiBvbmUNCj4+ID4gPj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRpbWUgb3IsIGlmIHRoZSBQZXJpb2RpYyBCb29sZWFuIGlzIHNldCwNCj4+ ID4gcGVyaW9kaWNhbGx5Lg0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIE1NSSBoYXMgYmVlbiBlbmdlbmRlcmVkLg0K Pj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgVGhlIHNvdXJj ZSBjb3VsZCBub3QgYmUNCj4+ID4gY2xlYXJlZC4NCj4+ID4gPj4+Pj4+Pj4+ICsgIEByZXR2YWwg RUZJX0lOVkFMSURfUEFSQU1FVEVSIFRoZSBzZXJ2aWNlIGRpZCBub3QNCj5zdXBwb3J0DQo+PiA+ ID4+Pj4+Pj4+PiArIHRoZQ0KPj4gPiA+Pj4+Pj4+PiBQZXJpb2RpYw0KPj4gPiA+Pj4+Pj4+Pj4g aW5wdXQgYXJndW1lbnQuDQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArKiovDQo+ PiA+ID4+Pj4+Pj4+PiArdHlwZWRlZg0KPj4gPiA+Pj4+Pj4+Pj4gK0VGSV9TVEFUVVMNCj4+ID4g Pj4+Pj4+Pj4+ICsoRUZJQVBJICpQRUlfTU1fREVBQ1RJVkFURSkgKA0KPj4gPiA+Pj4+Pj4+Pj4g KyAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2Vz LA0KPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gRUZJX1BFSV9NTV9DT05UUk9MX1BQSSAgICAgICAgICAg ICAgICAqIFRoaXMsDQo+PiA+ID4+Pj4+Pj4+PiArICBJTiBCT09MRUFOICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBlcmlvZGljIE9QVElPTkFMDQo+PiA+ID4+Pj4+Pj4+PiArICApOw0K Pj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4gKy8vLw0KPj4gPiA+Pj4+Pj4+Pj4gKy8v LyAgVGhlIEVGSV9QRUlfTU1fQ09OVFJPTF9QUEkgaXMgcHJvZHVjZWQgYnkgYSBQRUlNLg0KPkl0 DQo+PiA+ID4+Pj4+PiBwcm92aWRlcw0KPj4gPiA+Pj4+Pj4+IGFuDQo+PiA+ID4+Pj4+Pj4+PiBh YnN0cmFjdGlvbiBvZiB0aGUNCj4+ID4gPj4+Pj4+Pj4+ICsvLy8gIHBsYXRmb3JtIGhhcmR3YXJl IHRoYXQgZ2VuZXJhdGVzIGFuIE1NSS4gVGhlcmUgYXJlDQo+b2Z0ZW4NCj4+ID4gPj4+Pj4+Pj4+ ICtJL08gcG9ydHMNCj4+ID4gPj4+Pj4+Pj4+IHRoYXQsIHdoZW4gYWNjZXNzZWQsIHdpbGwNCj4+ ID4gPj4+Pj4+Pj4+ICsvLy8gIGdlbmVyYXRlIHRoZSBNTUkuIEFsc28sIHRoZSBoYXJkd2FyZSBv cHRpb25hbGx5DQo+c3VwcG9ydHMNCj4+ID4gPj4+Pj4+Pj4+ICt0aGUNCj4+ID4gPj4+Pj4+PiBw ZXJpb2RpYw0KPj4gPiA+Pj4+Pj4+Pj4gZ2VuZXJhdGlvbiBvZiB0aGVzZSBzaWduYWxzLg0KPj4g PiA+Pj4+Pj4+Pj4gKy8vLw0KPj4gPiA+Pj4+Pj4+Pj4gK3N0cnVjdCBfUEVJX01NX0NPTlRST0xf UFBJIHsNCj4+ID4gPj4+Pj4+Pj4+ICsgIFBFSV9NTV9BQ1RJVkFURSAgICBUcmlnZ2VyOw0KPj4g PiA+Pj4+Pj4+Pj4gKyAgUEVJX01NX0RFQUNUSVZBVEUgIENsZWFyOw0KPj4gPiA+Pj4+Pj4+Pj4g K307DQo+PiA+ID4+Pj4+Pj4+PiArDQo+PiA+ID4+Pj4+Pj4+PiArZXh0ZXJuIEVGSV9HVUlEIGdF ZmlQZWlNbUNvbnRyb2xQcGlHdWlkOw0KPj4gPiA+Pj4+Pj4+Pj4gKw0KPj4gPiA+Pj4+Pj4+Pj4g KyNlbmRpZg0KPj4gPiA+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL01kZVBrZy9NZGVQa2cuZGVjIGIv TWRlUGtnL01kZVBrZy5kZWMNCj5pbmRleA0KPj4gPiA+Pj4+Pj4+Pj4gYjM4MmVmZDU3OC4uMzRl MGYzOTM5NSAxMDA2NDQNCj4+ID4gPj4+Pj4+Pj4+IC0tLSBhL01kZVBrZy9NZGVQa2cuZGVjDQo+ PiA+ID4+Pj4+Pj4+PiArKysgYi9NZGVQa2cvTWRlUGtnLmRlYw0KPj4gPiA+Pj4+Pj4+Pj4gQEAg LTkyNSw2ICs5MjUsMTIgQEANCj4+ID4gPj4+Pj4+Pj4+ICAgIyMgSW5jbHVkZS9QcGkvU2VjSG9i RGF0YS5oDQo+PiA+ID4+Pj4+Pj4+PiAgIGdFZmlTZWNIb2JEYXRhUHBpR3VpZCA9IHsgMHgzZWJk YWYyMCwgMHg2NjY3LCAweDQwZDgsDQo+ezB4YjQsDQo+PiA+ID4+Pj4+Pj4+PiAweGVlLA0KPj4g PiA+Pj4+Pj4+IDB4ZjUsDQo+PiA+ID4+Pj4+Pj4+PiAweDk5LCAweDlhLCAweGMxLCAweGI3LCAw eDFmIH0gfQ0KPj4gPiA+Pj4+Pj4+Pj4NCj4+ID4gPj4+Pj4+Pj4+ICsgICMjIEluY2x1ZGUvUHBp L01tQWNjZXNzLmgNCj4+ID4gPj4+Pj4+Pj4+ICsgIGdFZmlQZWlNbUFjY2Vzc1BwaUd1aWQgICAg ICAgICAgPSAgeyAweDI2OGYzM2E5LCAweGNjY2QsDQo+MHg0OGJlLA0KPj4gPiA+Pj4+PiB7IDB4 ODgsDQo+PiA+ID4+Pj4+Pj4+IDB4MTcsDQo+PiA+ID4+Pj4+Pj4+PiAweDg2LCAweDUsIDB4M2Es IDB4YzMsIDB4MmUsIDB4ZDYgfX0NCj4+ID4gPj4+Pj4+Pj4+ICsNCj4+ID4gPj4+Pj4+Pj4+ICsg ICMjIEluY2x1ZGUvUHBpL01tQ29udHJvbC5oDQo+PiA+ID4+Pj4+Pj4+PiArICBnRWZpUGVpTW1D b250cm9sUHBpR3VpZCAgICAgICAgID0gIHsgMHg2MWM2ODcwMiwgMHg0ZDdlLA0KPjB4NGY0MywN Cj4+ID4gPj4+Pj4geyAweDhkLA0KPj4gPiA+Pj4+Pj4+PiAweGVmLA0KPj4gPiA+Pj4+Pj4+Pj4g MHhhNywgMHg0MywgMHg1LCAweGNlLCAweDc0LCAweGM1IH19DQo+PiA+ID4+Pj4+Pj4+PiArDQo+ PiA+ID4+Pj4+Pj4+PiAgICMNCj4+ID4gPj4+Pj4+Pj4+ICAgIyBQUElzIGRlZmluZWQgaW4gUEkg MS43Lg0KPj4gPiA+Pj4+Pj4+Pj4gICAjDQo+PiA+ID4+Pj4+Pj4+PiAtLQ0KPj4gPiA+Pj4+Pj4+ Pj4gMi4xNi4yLndpbmRvd3MuMQ0KPj4gPiA+Pj4+Pj4+Pj4NCj4+ID4gPj4+Pj4+Pj4+DQo+PiA+ ID4+Pj4+Pj4+Pg0KPj4gPiA+Pj4+DQo+PiA+ID4+Pj4NCj4+ID4gPj4+Pg0KPj4gPiA+Pj4+DQo+ PiA+ID4+Pg0KPj4gPiA+Pj4NCj4+ID4gPj4+DQo+PiA+ID4NCj4+ID4NCj4+ID4NCj4+ID4NCj4N Cj4NCj4NCg0K