From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=jiewen.yao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (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 994102119C8A7 for ; Mon, 17 Dec 2018 18:08:23 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 18:08:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,367,1539673200"; d="scan'208";a="128700695" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga004.fm.intel.com with ESMTP; 17 Dec 2018 18:08:23 -0800 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 17 Dec 2018 18:08:22 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 17 Dec 2018 18:08:21 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.182]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.201]) with mapi id 14.03.0415.000; Tue, 18 Dec 2018 10:08:19 +0800 From: "Yao, Jiewen" To: Ard Biesheuvel , "Wu, Hao A" CC: "edk2-devel@lists.01.org" , "Gao, Liming" , "Zhang, Chao B" Thread-Topic: [edk2] [PATCH 05/13] MdePkg/Library/BaseLib/AArch64: Add AsmLfence function Thread-Index: AQHUlazh9asijuz/jUi0/lqlY+s7lKWCOEig///PW4CAAAbjAIAAidDAgAABmLD//3uJAIAAh+ow//+GqoAAM6rH0A== Date: Tue, 18 Dec 2018 02:08:19 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503F45A684@shsmsx102.ccr.corp.intel.com> References: <1544789607-11316-1-git-send-email-jagadeesh.ujja@arm.com> <1544789607-11316-6-git-send-email-jagadeesh.ujja@arm.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E38D42E@SHSMSX104.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F457847@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F457F55@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F457F7E@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F458002@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiODRkMjRhMjgtMDU1MS00MDM4LTg4M2EtYTJhMDYyNzQ0Mzc1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoibUJKSDdtdk9KNWtLdTBhaXQ5V3dYdXhrV3lRVjRTZUx5ZnRCclFXTlcremxtYU9IQnNtcmF3S3dcL0w0aTRSRjUifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: request-justification,no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 05/13] MdePkg/Library/BaseLib/AArch64: Add AsmLfence function X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Dec 2018 02:08:23 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 KyBXdSBIYW8sIHNpbmNlIGhlIGNvbnRyaWJ1dGVkIHRoZSBvcmlnaW5hbCBwYXRjaC4NCg0KQXJk DQpXb3VsZCB5b3UgcGxlYXNlIGZpbGUgYSBCdWd6aWxsYSBmb3IgdGhhdD8gVGhlbiB3ZSBjYW4g c3RhcnQgd29ya2luZyBvbiB0aGF0Lg0KDQpUaGFuayB5b3UNCllhbyBKaWV3ZW4NCg0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBcmQgQmllc2hldXZlbCBbbWFpbHRvOmFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmddDQo+IFNlbnQ6IE1vbmRheSwgRGVjZW1iZXIgMTcsIDIw MTggNToyOCBQTQ0KPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiBD YzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVs LmNvbT47IFpoYW5nLA0KPiBDaGFvIEIgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+DQo+IFN1Ympl Y3Q6IFJlOiBbZWRrMl0gW1BBVENIIDA1LzEzXSBNZGVQa2cvTGlicmFyeS9CYXNlTGliL0FBcmNo NjQ6IEFkZA0KPiBBc21MZmVuY2UgZnVuY3Rpb24NCj4gDQo+IE9uIE1vbiwgMTcgRGVjIDIwMTgg YXQgMDk6NDQsIFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4gd3JvdGU6DQo+ID4N Cj4gPiBUaGFua3MgQXJkLg0KPiA+IEkgaGF2ZSBsaXR0bGUgY29uY2VybiBhYm91dCAiU3BlYyIs IGJlY2F1c2UgcGVvcGxlIG1heSByZWFkIGl0IGFzDQo+ICJTcGVjaWZpY2F0aW9uIiwgZXNwZWNp YWxseSBpbiBvdXIgdGVhbS4gOikNCj4gPg0KPiANCj4gSSB1bmRlcnN0YW5kIDotKQ0KPiANCj4g U3BlY3VsYXRpb25CYXJyaWVyKCkgaXMgZmluZSB3aXRoIG1lLg0KPiANCj4gDQo+ID4NCj4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBlZGsyLWRldmVsIFttYWls dG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmDQo+IE9mDQo+ID4g PiBBcmQgQmllc2hldXZlbA0KPiA+ID4gU2VudDogTW9uZGF5LCBEZWNlbWJlciAxNywgMjAxOCA0 OjM1IFBNDQo+ID4gPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+ ID4gQ2M6IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0Bp bnRlbC5jb20+Ow0KPiBaaGFuZywNCj4gPiA+IENoYW8gQiA8Y2hhby5iLnpoYW5nQGludGVsLmNv bT4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIDA1LzEzXSBNZGVQa2cvTGlicmFy eS9CYXNlTGliL0FBcmNoNjQ6DQo+IEFkZA0KPiA+ID4gQXNtTGZlbmNlIGZ1bmN0aW9uDQo+ID4g Pg0KPiA+ID4gT24gTW9uLCAxNyBEZWMgMjAxOCBhdCAwOTozMCwgWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPg0KPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gSSByZXZpZXdlZCB0 aGUgQVJNIHdoaXRlIHBhcGVyIC0NCj4gPiA+DQo+IGZpbGU6Ly8vQzovVXNlcnMvanlhbzEvRG93 bmxvYWRzL0NhY2hlX1NwZWN1bGF0aW9uX1NpZGUtY2hhbm5lbHMtdjIuNC5wDQo+ID4gPiBkZg0K PiA+ID4gPg0KPiA+ID4gPiBJIGFncmVlIHdpdGggeW91IHRoYXQgTG9hZEZlbmNlIG1pZ2h0IG5v dCBiZSB0aGUgYmVzdCBpZGVhLg0KPiA+ID4gPg0KPiA+ID4gPiBIb3cgYWJvdXQgU3BlY3VsYXRp b25CYXJyaWVyKCkgPw0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+IFRoYXQgd29ya3MgZm9yIG1lLiBP ciBTcGVjRmVuY2UgKCkuIEFzIGxvbmcgYXMgaXQgZG9lcyBub3QgY29uZmxhdGUNCj4gPiA+IG1l bW9yeSBvcmRlcmluZyB3aXRoIGNvbnRyb2xsaW5nIHRoZSBzaWRlIGVmZmVjdHMgb2Ygc3BlY3Vs YXRpdmUNCj4gPiA+IGV4ZWN1dGlvbiwgaXQgaXMgb2sgd2l0aCBtZS4NCj4gPiA+DQo+ID4gPiBJ J2xsIGNvbnRyaWJ1dGUgdGhlIEFSTSBhbmQgQUFSQ0g2NCBpbXBsZW1lbnRhdGlvbnMgYXNhcCBv bmNlIHRoZQ0KPiA+ID4gZ2VuZXJpYyBjaGFuZ2VzIGFyZSBwb3N0ZWQgb24gdGhlIGxpc3QuDQo+ ID4gPg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJv dW5jZXNAbGlzdHMuMDEub3JnXSBPbg0KPiBCZWhhbGYNCj4gPiA+IE9mDQo+ID4gPiA+ID4gWWFv LCBKaWV3ZW4NCj4gPiA+ID4gPiBTZW50OiBNb25kYXksIERlY2VtYmVyIDE3LCAyMDE4IDQ6MjUg UE0NCj4gPiA+ID4gPiBUbzogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5v cmc+OyBMZWlmIExpbmRob2xtDQo+ID4gPiA+ID4gPGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz4N Cj4gPiA+ID4gPiBDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IFpoYW5nLCBDaGFvIEINCj4g PGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+Ow0KPiA+ID4gPiA+IEdhbywgTGltaW5nIDxsaW1pbmcu Z2FvQGludGVsLmNvbT4NCj4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCAwNS8x M10gTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0Og0KPiA+ID4gQWRkDQo+ID4gPiA+ID4g QXNtTGZlbmNlIGZ1bmN0aW9uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBIaSBBcmQNCj4gPiA+ID4g PiBJIGFtIE9LIHRvIHJlZmluZSBpdCBub3cuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBEbyB5b3Ug aGF2ZSBhbnkgcHJvcG9zYWwgb24gdGhlIG5hbWluZyBmcm9tIEFSTSBzaWRlPw0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gVGhhbmsgeW91DQo+ID4gPiA+ID4gWWFvIEppZXdlbg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gRnJvbTog QXJkIEJpZXNoZXV2ZWwgW21haWx0bzphcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnXQ0KPiA+ID4g PiA+ID4gU2VudDogTW9uZGF5LCBEZWNlbWJlciAxNywgMjAxOCA0OjExIFBNDQo+ID4gPiA+ID4g PiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgTGVpZiBMaW5kaG9sbQ0K PiA+ID4gPiA+ID4gPGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz4NCj4gPiA+ID4gPiA+IENjOiBH YW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBKYWdhZGVlc2ggVWpqYQ0KPiA+ID4g PiA+ID4gPGphZ2FkZWVzaC51amphQGFybS5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsg WmhhbmcsIENoYW8NCj4gQg0KPiA+ID4gPiA+ID4gPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+DQo+ ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIDA1LzEzXSBNZGVQa2cvTGlicmFyeS9CYXNl TGliL0FBcmNoNjQ6IEFkZA0KPiA+ID4gPiA+ID4gQXNtTGZlbmNlIGZ1bmN0aW9uDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gT24gTW9uLCAxNyBEZWMgMjAxOCBhdCAwODo0NSwgQXJkIEJpZXNo ZXV2ZWwNCj4gPiA+ID4gPiA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gPiA+ID4gPiA+ IHdyb3RlOg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBPbiBNb24sIDE3IERlYyAyMDE4 IGF0IDA0OjI5LCBZYW8sIEppZXdlbg0KPiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gPiA+ ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEkgdGhpbmsgd2Ug aGF2ZSBiZWxvdyBkZWZpbml0aW9uLg0KPiA+ID4gPiA+ID4gPiA+IC0tIE1lbW9yeUZlbmNlOiBT ZXJpYWxpemUgbG9hZCBhbmQgc3RvcmUgb3BlcmF0aW9ucy4NCj4gPiA+ID4gPiA+ID4gPiAtLSBM b2FkRmVuY2U6IFNlcmlhbGl6ZSBsb2FkIG9wZXJhdGlvbnMuDQo+ID4gPiA+ID4gPiA+ID4gLS0g U3RvcmVGZW5jZTogU2VyaWFsaXplIHN0b3JlIG9wZXJhdGlvbnMuDQo+ID4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gPiBBY2NvcmRpbmcgdG8gSUEzMiBTRE0sIEludGVsIGhhcyBNRkVOQ0Us IExGRU5DRSBhbmQgU0ZFTkNFLg0KPiA+ID4gPiA+ID4gPiA+IElmIEFSTSBvbmx5IGhhcyBETUIs IGl0IGlzIHBvc3NpYmxlIHRvIHVzZSBETUIgZm9yDQo+IE1lbW9yeUZlbmNlLA0KPiA+ID4gPiA+ ID4gTG9hZEZlbmNlIG9yIFN0b3JlRmVuY2UuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiBNYXliZSBpdCBpcyBiZXR0ZXIgdG8gdXNlIExvYWRGZW5jZSwgaW5zdGVhZCBvZiBBc21M RmVuY2U/DQo+ID4gPiA+ID4gPiA+ID4gVGhlbiB3ZSBjYW4gYWxpZ24gd2l0aCBNZW1vcnlGZW5j ZS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBJIHRoaW5r IHVzaW5nIEFzbUxmZW5jZSgpIGFsbCBvdmVyIHRoZSBjb2RlIHRvIGxpbWl0IHNwZWN1bGF0aW9u DQo+IHdhcyBhDQo+ID4gPiA+ID4gPiA+IG1pc3Rha2UsIGFuZCBJIGFtIGRpc2FwcG9pbnRlZCBu b2JvZHkgZnJvbSB0aGUgQVJNIHNpZGUgd2FzDQo+ID4gPiBpbnZvbHZlZA0KPiA+ID4gPiA+ID4g PiBhdCBhbGwgd2hlbiB0aGVzZSBjaGFuZ2VzIHdlcmUgcHJvcG9zZWQuDQo+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gT0ssIEkgaGF2ZSB0byBhcG9sb2dpemUgaGVyZS4g SGFvIGRpZCBjYyB1cyBvbiB0aGVzZSBwYXRjaGVzLCBhbmQgc28NCj4gPiA+ID4gPiA+IHdlIGRp ZCBoYXZlIHRoZSBvcHBvcnR1bml0eSB0byByZXNwb25kIGF0IHRoZSB0aW1lLg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+IEJ1dCB0aGF0IGRvZXNuJ3QgY2hhbmdlIHRoZSBmYWN0IHRoYXQgQXNt TGZlbmNlKCkgc2hvdWxkIGJlDQo+IHJlcGxhY2VkDQo+ID4gPiA+ID4gPiBieSBhbiBhYnN0cmFj dGlvbiB0aGF0IGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgc2VtYW50aWNzIG9mIHRoZSB4ODYNCj4g PiA+ID4gPiA+IExmZW5jZSBpbXBsZW1ldGF0aW9uIGJleW9uZCBtZW1vcnkgb3JkZXJpbmcgdGhh dCB3ZSBhcmUgcmVseWluZw0KPiBvbg0KPiA+ID4gPiA+ID4gaGVyZS4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gVGhlIGNvZGUgY2hhbmdlcyBy ZWx5IG9uIHNwZWNpZmljIHNlbWFudGljcyBvZiB0aGUgeDg2IExmZW5jZQ0KPiA+ID4gPiA+ID4g PiBpbnN0cnVjdGlvbnMsIGkuZS4sIHRoYXQgYmV5b25kIGxvYWQgc2VyaWFsaXphdGlvbiwgdGhl eSBlbnN1cmUgdGhhdA0KPiA+ID4gPiA+ID4gPiBhbGwgaW5zdHJ1Y3Rpb25zIChub3QganVzdCBs b2FkcykgY29tcGxldGUgYmVmb3JlIHRoZSBsZmVuY2UNCj4gPiA+ID4gPiA+ID4gY29tcGxldGVz LiBUaGlzIGlzIGEgbXVjaCBzdHJvbmdlciBub3Rpb24gdGhhbiBhIGxvYWQgYmFycmllciwgYW5k DQo+IHNvDQo+ID4gPiA+ID4gPiA+IHRoZSBhYnN0cmFjdGlvbiBzaG91bGQgaGF2ZSBiZWVuIGRl ZmluZWQgYXMgc29tZXRoaW5nIGxpa2UgYQ0KPiA+ID4gPiA+ID4gPiBFeGVjRmVuY2UoKSBvciBw aXBlbGluZSBiYXJyaWVyIGV0YywgYW5kIHRoZSB4ODYgc3BlY2lmaWMNCj4gPiA+ID4gPiA+ID4g aW1wbGVtZW50YXRpb24gd291bGQgaGF2ZSBiZWVuIG1hcHBlZCBvbnRvIExmZW5jZS4gRm9yIHRo ZQ0KPiBBUk0NCj4gPiA+ID4gPiBzaWRlLA0KPiA+ID4gPiA+ID4gPiB3ZSBwcm9iYWJseSBuZWVk IGFuIElTQiBpbnN0cnVjdGlvbiBoZXJlIGFzIHdlbGwgYXMgc29tZSBraW5kIG9mDQo+ID4gPiBv dGhlcg0KPiA+ID4gPiA+ID4gPiBiYXJyaWVyLiBDYWxsaW5nIGl0IExvYWRGZW5jZSgpIG1ha2Vz IG5vIHNlbnNlIHdoYXRzb2V2ZXIuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4g PiA+ID4gPiBGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3Rz LjAxLm9yZ10NCj4gT24NCj4gPiA+ID4gPiBCZWhhbGYNCj4gPiA+ID4gPiA+IE9mDQo+ID4gPiA+ ID4gPiA+ID4gPiBHYW8sIExpbWluZw0KPiA+ID4gPiA+ID4gPiA+ID4gU2VudDogTW9uZGF5LCBE ZWNlbWJlciAxNywgMjAxOCAxMDowNCBBTQ0KPiA+ID4gPiA+ID4gPiA+ID4gVG86IEFyZCBCaWVz aGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPjsgSmFnYWRlZXNoDQo+IFVqamENCj4g PiA+ID4gPiA+ID4gPiA+IDxqYWdhZGVlc2gudWpqYUBhcm0uY29tPjsgTGVpZiBMaW5kaG9sbQ0K PiA+ID4gPiA+IDxsZWlmLmxpbmRob2xtQGxpbmFyby5vcmc+DQo+ID4gPiA+ID4gPiA+ID4gPiBD YzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IFpoYW5nLCBDaGFvIEINCj4gPiA+ID4gPiA+IDxj aGFvLmIuemhhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtl ZGsyXSBbUEFUQ0ggMDUvMTNdDQo+ID4gPiBNZGVQa2cvTGlicmFyeS9CYXNlTGliL0FBcmNoNjQ6 DQo+ID4gPiA+ID4gPiBBZGQNCj4gPiA+ID4gPiA+ID4gPiA+IEFzbUxmZW5jZSBmdW5jdGlvbg0K PiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IEFyZDoNCj4gPiA+ID4gPiA+ID4g PiA+ICAgTXkgZmlyc3QgY29tbWVudCBpcyB0byBzdWdnZXN0IHVwZGF0aW5nIHRoZSBjYWxsZXIg Y29kZSBmb3INCj4gdGhlDQo+ID4gPiA+ID4gYXJjaA0KPiA+ID4gPiA+ID4gPiA+ID4gc3BlY2lm aWMgY29kZS4gIEJ1dCwgdGhlcmUgYXJlIHR3byBkcml2ZXJzIHRoYXQgaGF2ZSB0aGUgc2FtZQ0K PiA+ID4gdXNhZ2UuDQo+ID4gPiA+ID4gPiBUaGlzDQo+ID4gPiA+ID4gPiA+ID4gPiB3YXkgd2ls bCBpbnRyb2R1Y2UgdGhlIGR1cGxpY2F0ZWQgY29kZSBsb2dpYy4gU28sIEkgc3VnZ2VzdA0KPiBh bm90aGVyDQo+ID4gPiA+ID4gd2F5DQo+ID4gPiA+ID4gPiB0bw0KPiA+ID4gPiA+ID4gPiA+ID4g ZXh0ZW5kICBBc21MZmVuY2UoKSBBUEkgc2NvcGUgZm9yIHRoZSBkaWZmZXJlbnQgQVJDSHMuIElm DQo+IHlvdQ0KPiA+ID4gdGhpbmsNCj4gPiA+ID4gPiBpdA0KPiA+ID4gPiA+ID4gYnJpbmdzDQo+ ID4gPiA+ID4gPiA+ID4gPiB0aGUgY29uZnVzZSwgSSBqdXN0IHRoaW5rIGFub3RoZXIgd2F5IHRv IHJlc29sdmUgdGhpcyBjYXNlIGluIHRoZQ0KPiA+ID4gY2FsbGVyDQo+ID4gPiA+ID4gPiBjb2Rl Lg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ICNpZiBkZWZpbmVkIChNREVf Q1BVX0lBMzIpIHx8IGRlZmluZWQgKE1ERV9DUFVfWDY0KQ0KPiA+ID4gPiA+ID4gPiA+ID4gQXNt TGZlbmNlKCk7DQo+ID4gPiA+ID4gPiA+ID4gPiAjZWxzZQ0KPiA+ID4gPiA+ID4gPiA+ID4gTWVt b3J5RmVuY2UoKQ0KPiA+ID4gPiA+ID4gPiA+ID4gI2VuZGlmDQo+ID4gPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiA+ID4gVGhhbmtzDQo+ID4gPiA+ID4gPiA+ID4gPiBMaW1pbmcNCj4gPiA+ ID4gPiA+ID4gPiA+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ ID4gPkZyb206IEFyZCBCaWVzaGV1dmVsIFttYWlsdG86YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9y Z10NCj4gPiA+ID4gPiA+ID4gPiA+ID5TZW50OiBGcmlkYXksIERlY2VtYmVyIDE0LCAyMDE4IDk6 NTQgUE0NCj4gPiA+ID4gPiA+ID4gPiA+ID5UbzogSmFnYWRlZXNoIFVqamEgPGphZ2FkZWVzaC51 amphQGFybS5jb20+OyBMZWlmDQo+IExpbmRob2xtDQo+ID4gPiA+ID4gPiA+ID4gPiA+PGxlaWYu bGluZGhvbG1AbGluYXJvLm9yZz4NCj4gPiA+ID4gPiA+ID4gPiA+ID5DYzogZWRrMi1kZXZlbEBs aXN0cy4wMS5vcmc7IEdhbywgTGltaW5nDQo+ID4gPiA8bGltaW5nLmdhb0BpbnRlbC5jb20+Ow0K PiA+ID4gPiA+ID4gWmhhbmcsDQo+ID4gPiA+ID4gPiA+ID4gPiA+Q2hhbyBCIDxjaGFvLmIuemhh bmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiA+ID4gPlN1YmplY3Q6IFJlOiBbUEFUQ0ggMDUv MTNdDQo+IE1kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQUFyY2g2NDoNCj4gPiA+IEFkZA0KPiA+ID4g PiA+ID4gPiA+ID4gPkFzbUxmZW5jZSBmdW5jdGlvbg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gPiA+ID4gPk9uIEZyaSwgMTQgRGVjIDIwMTggYXQgMTM6MTMsIEphZ2FkZWVzaCBV amphDQo+ID4gPiA+ID4gPiA8amFnYWRlZXNoLnVqamFAYXJtLmNvbT4NCj4gPiA+ID4gPiA+ID4g PiA+ID53cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiBW YXJpYWJsZSBzZXJ2aWNlIGRyaXZlciBpbmNsdWRlcyBhIGNhbGwgdG8gQXNtTGZlbmNlLiBUbw0K PiByZXVzZQ0KPiA+ID4gdGhpcw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gZHJpdmVyIG9uIEFBcmNo NjQgYmFzZWQgcGxhdGZvcm1zLCBhZGQgYW4gaW1wbGVtZW50YXRpb24NCj4gb2YNCj4gPiA+ID4g PiA+IEFzbUxmZW5jZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gdGhhdCBhY3RzIGFzIGEgd3JhcHBl ciBvbiB0aGUgQUFyY2g2NCBzcGVjaWZpYw0KPiBNZW1vcnlGZW5jZQ0KPiA+ID4gPiA+ID4gZnVu Y3Rpb24uDQo+ID4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gQ29udHJp YnV0ZWQtdW5kZXI6IFRpYW5vQ29yZSBDb250cmlidXRpb24gQWdyZWVtZW50IDEuMQ0KPiA+ID4g PiA+ID4gPiA+ID4gPj4gU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIFVqamEgPGphZ2FkZWVzaC51 amphQGFybS5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAtLS0NCj4gPiA+ID4gPiA+ID4gPiA+ ID4+ICBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VMaWIuaCAgICAgICAgICAgICB8IDMzDQo+ ID4gPiA+ID4gPiArKysrKysrKystLS0tLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICBNZGVQa2cv TGlicmFyeS9CYXNlTGliL0FBcmNoNjQvQXNtTGZlbmNlLlMgICB8IDQyDQo+ID4gPiA+ID4gPiA+ ID4gPiA+KysrKysrKysrKysrKysrKysrKysNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICBNZGVQa2cv TGlicmFyeS9CYXNlTGliL0FBcmNoNjQvQXNtTGZlbmNlLmFzbSB8IDQxDQo+ID4gPiA+ID4gPiA+ ID4gPiA+KysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gIE1kZVBrZy9M aWJyYXJ5L0Jhc2VMaWIvQmFzZUxpYi5pbmYgICAgICAgICAgIHwgIDIgKw0KPiA+ID4gPiA+ID4g PiA+ID4gPj4gIDQgZmlsZXMgY2hhbmdlZCwgMTA1IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9u cygtKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+IGRpZmYgLS1n aXQgYS9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VMaWIuaA0KPiA+ID4gPiA+ID4gPiA+ID4g PmIvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlTGliLmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ IGluZGV4IDhjYzA4NjkuLmNhOTYxZWUgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAtLS0g YS9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VMaWIuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4g KysrIGIvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlTGliLmgNCj4gPiA+ID4gPiA+ID4gPiA+ ID4+IEBAIC03Njk3LDE5ICs3Njk3LDYgQEAgQXNtV3JpdGVUciAoDQo+ID4gPiA+ID4gPiA+ID4g PiA+PiAgICApOw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICAv KioNCj4gPiA+ID4gPiA+ID4gPiA+ID4+IC0gIFBlcmZvcm1zIGEgc2VyaWFsaXppbmcgb3BlcmF0 aW9uIG9uIGFsbA0KPiBsb2FkLWZyb20tbWVtb3J5DQo+ID4gPiA+ID4gPiBpbnN0cnVjdGlvbnMN Cj4gPiA+ID4gPiA+ID4gPiA+IHRoYXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4+IC0gIHdlcmUgaXNz dWVkIHByaW9yIHRoZSBBc21MZmVuY2UgZnVuY3Rpb24uDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAt DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAtICBFeGVjdXRlcyBhIExGRU5DRSBpbnN0cnVjdGlvbi4g VGhpcyBmdW5jdGlvbiBpcyBvbmx5DQo+ID4gPiBhdmFpbGFibGUNCj4gPiA+ID4gPiBvbg0KPiA+ ID4gPiA+ID4gSUEtMzINCj4gPiA+ID4gPiA+ID4gPiA+IGFuZA0KPiA+ID4gPiA+ID4gPiA+ID4g Png2NC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+IC0NCj4gPiA+ID4gPiA+ID4gPiA+ID4+IC0qKi8N Cj4gPiA+ID4gPiA+ID4gPiA+ID4+IC1WT0lEDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAtRUZJQVBJ DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAtQXNtTGZlbmNlICgNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ IC0gIFZPSUQNCj4gPiA+ID4gPiA+ID4gPiA+ID4+IC0gICk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ PiAtDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAtLyoqDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAgICBQ YXRjaCB0aGUgaW1tZWRpYXRlIG9wZXJhbmQgb2YgYW4gSUEzMiBvciBYNjQNCj4gaW5zdHJ1Y3Rp b24NCj4gPiA+ID4gPiBzdWNoDQo+ID4gPiA+ID4gPiB0aGF0DQo+ID4gPiA+ID4gPiA+ID4gPiB0 aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID5ieXRlLA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gICAgd29y ZCwgZHdvcmQgb3IgcXdvcmQgb3BlcmFuZCBpcyBlbmNvZGVkIGF0IHRoZSBlbmQNCj4gb2YNCj4g PiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gaW5zdHJ1Y3Rpb24ncw0KPiA+ID4gPiA+ID4gPiA+ ID4gPj4gICAgYmluYXJ5IHJlcHJlc2VudGF0aW9uLg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gQEAg LTc3NTIsNCArNzczOSwyNCBAQCBQYXRjaEluc3RydWN0aW9uWDg2ICgNCj4gPiA+ID4gPiA+ID4g PiA+ID4+ICAgICk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4g ICNlbmRpZiAvLyBkZWZpbmVkIChNREVfQ1BVX0lBMzIpIHx8IGRlZmluZWQNCj4gPiA+IChNREVf Q1BVX1g2NCkNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsj aWYgZGVmaW5lZCAoTURFX0NQVV9JQTMyKSB8fCBkZWZpbmVkIChNREVfQ1BVX1g2NCkNCj4gfHwN Cj4gPiA+ID4gPiA+IGRlZmluZWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4oTURFX0NQVV9BQVJDSDY0 KQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKy8qKg0KPiA+ ID4gPiA+ID4gPiA+ID4gPj4gKyAgUGVyZm9ybXMgYSBzZXJpYWxpemluZyBvcGVyYXRpb24gb24g YWxsDQo+IGxvYWQtZnJvbS1tZW1vcnkNCj4gPiA+ID4gPiA+IGluc3RydWN0aW9ucw0KPiA+ID4g PiA+ID4gPiA+ID4gdGhhdA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyAgd2VyZSBpc3N1ZWQgcHJp b3IgdGhlIEFzbUxmZW5jZSBmdW5jdGlvbi4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsNCj4gPiA+ ID4gPiA+ID4gPiA+ID4+ICsgIEluIGNhc2Ugb2YgSUEtMzIgYW5kIHg2NCwgRXhlY3V0ZXMgYSBM RkVOQ0UNCj4gaW5zdHJ1Y3Rpb24uDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArDQo+ID4gPiA+ID4g PiA+ID4gPiA+PiArICBJbiBjYXNlIG9mIEFBcmNoNjQgdGhpcyBhY3RzIGFzIGEgd3JhcHBlciBv biB0aGUNCj4gQUFyY2g2NA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyAgc3BlY2lmaWMgTWVtb3J5 RmVuY2UgZnVuY3Rpb24NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ ID4+ICsqKi8NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICtWT0lEDQo+ID4gPiA+ID4gPiA+ID4gPiA+ PiArRUZJQVBJDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArQXNtTGZlbmNlICgNCj4gPiA+ID4gPiA+ ID4gPiA+ID4+ICsgIFZPSUQNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsgICk7DQo+ID4gPiA+ID4g PiA+ID4gPiA+PiArDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArI2VuZGlmICAvLyBkZWZpbmVkIChN REVfQ1BVX0lBMzIpIHx8IGRlZmluZWQNCj4gPiA+IChNREVfQ1BVX1g2NCkNCj4gPiA+ID4gPiA+ IHx8DQo+ID4gPiA+ID4gPiA+ID4gPiA+ZGVmaW5lZCAoTURFX0NQVV9BQVJDSDY0KQ0KPiA+ID4g PiA+ID4gPiA+ID4gPj4gICNlbmRpZiAvLyAhZGVmaW5lZCAoX19CQVNFX0xJQl9fKQ0KPiA+ID4g PiA+ID4gPiA+ID4gPj4gZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQUFyY2g2 NC9Bc21MZmVuY2UuUw0KPiA+ID4gPiA+ID4gPiA+ID4gPmIvTWRlUGtnL0xpYnJhcnkvQmFzZUxp Yi9BQXJjaDY0L0FzbUxmZW5jZS5TDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gaW5kZXggMDAwMDAwMC4uMmZkODA0Yg0KPiA+ ID4gPiA+ID4gPiA+ID4gPj4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKysr IGIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0L0FzbUxmZW5jZS5TDQo+ID4gPiA+ID4g PiA+ID4gPiA+PiBAQCAtMCwwICsxLDQyIEBADQo+ID4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4g PiA+ICsjIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyMNCj4g PiA+ID4gPiA+ID4gPiA+ID4+ICsjIEFzbUxmZW5jZSgpIGZvciBBQXJjaDY0DQo+ID4gPiA+ID4g PiA+ID4gPiA+PiArIw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyMgQ29weXJpZ2h0IChjKSAyMDEz LTIwMTgsIEFSTSBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ PiArIw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21w YW55aW5nIG1hdGVyaWFscw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyMgYXJlIGxpY2Vuc2VkIGFu ZCBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgYW5kDQo+ID4gPiBjb25kaXRpb25zDQo+ ID4gPiA+ID4gPiBvZiB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID5CU0QgTGljZW5zZQ0KPiA+ID4g PiA+ID4gPiA+ID4gPj4gKyMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24uICBU aGUgZnVsbCB0ZXh0IG9mDQo+IHRoZQ0KPiA+ID4gPiA+IGxpY2Vuc2UNCj4gPiA+ID4gPiA+IG1h eQ0KPiA+ID4gPiA+ID4gPiA+ID4gYmUNCj4gPiA+ID4gPiA+ID4gPiA+ID5mb3VuZCBhdA0KPiA+ ID4gPiA+ID4gPiA+ID4gPj4gKyMgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1s aWNlbnNlLnBocC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsjDQo+ID4gPiA+ID4gPiA+ID4gPiA+ PiArIyBUSEUgUFJPR1JBTSBJUyBESVNUUklCVVRFRCBVTkRFUiBUSEUgQlNEDQo+IExJQ0VOU0UN Cj4gPiA+IE9ODQo+ID4gPiA+ID4gQU4NCj4gPiA+ID4gPiA+ICJBUw0KPiA+ID4gPiA+ID4gPiA+ ID4gSVMiDQo+ID4gPiA+ID4gPiA+ID4gPiA+QkFTSVMsDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAr IyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TIE9GIEFOWQ0KPiA+ID4gS0lO RCwNCj4gPiA+ID4gPiA+IEVJVEhFUg0KPiA+ID4gPiA+ID4gPiA+ID4gPkVYUFJFU1MgT1IgSU1Q TElFRC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsjDQo+ID4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ ID4gPiA+ICsjIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKw0K PiA+ID4gPiA+ID4gPiA+ID4gPj4gKy50ZXh0DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArLnAyYWxp Z24gMg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gK0dDQ19B U01fRVhQT1JUKEFzbUxmZW5jZSkNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsNCj4gPiA+ID4gPiA+ ID4gPiA+ID4+ICsjIElNUE9SVA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gK0dDQ19BU01fSU1QT1JU KE1lbW9yeUZlbmNlKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKw0KPiA+ID4gPiA+ID4gPiA+ID4g Pj4gKyMvKioNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsjICBVc2VkIHRvIHNlcmlhbGl6ZSBsb2Fk IGFuZCBzdG9yZSBvcGVyYXRpb25zLg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyMNCj4gPiA+ID4g PiA+ID4gPiA+ID4+ICsjICBBbGwgbG9hZHMgYW5kIHN0b3JlcyB0aGF0IHByb2NlZWQgY2FsbHMg dG8gdGhpcyBmdW5jdGlvbg0KPiBhcmUNCj4gPiA+ID4gPiA+ID4gPiA+IGd1YXJhbnRlZWQgdG8N Cj4gPiA+ID4gPiA+ID4gPiA+ID5iZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyMgIGdsb2JhbGx5 IHZpc2libGUgd2hlbiB0aGlzIGZ1bmN0aW9uIHJldHVybnMuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ PiArIw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyMqKi8NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsj Vk9JRA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyNFRklBUEkNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ ICsjQXNtTGZlbmNlICgNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsjICBWT0lEDQo+ID4gPiA+ID4g PiA+ID4gPiA+PiArIyAgKTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsjDQo+ID4gPiA+ID4gPiA+ ID4gPiA+PiArQVNNX1BGWChBc21MZmVuY2UpOg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyAgICBz dHAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSENCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsgICAgYmwg TWVtb3J5RmVuY2UNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsgICAgbGRwICAgeDI5LCB4MzAsIFtz cF0sICMweDEwDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArICAgIHJldA0KPiA+ID4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPkFueSByZWFzb24gd2UgY2FuJ3Qgc2ltcGx5IGRvDQo+ ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+YiBNZW1vcnlGZW5jZQ0KPiA+ ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPmhlcmU/DQo+ID4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+QWxzbywgd2h5IEkgdW5kZXJzdGFuZCB0aGUgcmF0 aW9uYWxlLCBJIHN0aWxsIHRoaW5rIGl0IHdvdWxkIGJlDQo+ID4gPiBiZXR0ZXINCj4gPiA+ID4g PiA+ID4gPiA+ID50byBjaGFuZ2UgY2FsbGVycyBvZiB0aGUgW3g4NiBzcGVjaWZpY10gQXNtTGZl bmNlKCkgdGhhbiB0bw0KPiA+ID4gaW50cm9kdWNlDQo+ID4gPiA+ID4gPiA+ID4gPiA+YW4gYWxp YXMgb2YgTWVtb3J5RmVuY2UoKSBmb3IgYXJjaGl0ZWN0dXJlcyB3aGVyZSBMZmVuY2UgaXMNCj4g bm90DQo+ID4gPiA+ID4gPiA+ID4gPiA+ZGVmaW5lZC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID5UaGlzIGlzIG5vdCBvbmx5IGFib3V0IHRpZGluZXNzLCBidXQgYWxz byBhYm91dCBwb3RlbnRpYWxseQ0KPiBoYXZpbmcNCj4gPiA+ID4gPiA+ID4gPiA+ID5kaWZmZXJl bnQgc2VtYW50aWNzLCB3aGljaCB3ZSBjYW4ndCBwcm92aWRlIGluIGdlbmVyYWwgb24NCj4gQVJN LA0KPiA+ID4gYnV0DQo+ID4gPiA+ID4gPiA+ID4gPiA+b25seSBpbiBwYXJ0aWN1bGFyIGNhc2Vz IFtzdWNoIGFzIHRoZSBjb2RlIHRoYXQgaXMgbW9kaWZpZWQgaW4NCj4gdGhpcw0KPiA+ID4gPiA+ ID4gPiA+ID4gPnNlcmllc10NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ ID5JbiBvdGhlciB3b3JkcywgbmV3bHkgaW50cm9kdWNlZCBvY2N1cnJlbmNlcyBvZg0KPiBBc21M ZmVuY2UoKQ0KPiA+ID4gbm93DQo+ID4gPiA+ID4gPiBoYXZlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ dG8gYmUgYXVkaXRlZCBmb3IgYmVpbmcgYXBwcm9wcmlhdGUgb24gQUFyYzY0IGlmIHRoZXkgYXJl DQo+IGFkZGVkDQo+ID4gPiB0bw0KPiA+ID4gPiA+ID4gPiA+ID4gPmdlbmVyaWMgY29kZS4NCj4g PiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ ID4+IGRpZmYgLS1naXQNCj4gYS9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0FBcmNoNjQvQXNtTGZl bmNlLmFzbQ0KPiA+ID4gPiA+ID4gPiA+ID4gPmIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJj aDY0L0FzbUxmZW5jZS5hc20NCj4gPiA+ID4gPiA+ID4gPiA+ID4+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiBpbmRleCAwMDAwMDAwLi43ZGQ1NjU5DQo+ID4gPiA+ ID4gPiA+ID4gPiA+PiAtLS0gL2Rldi9udWxsDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArKysgYi9N ZGVQa2cvTGlicmFyeS9CYXNlTGliL0FBcmNoNjQvQXNtTGZlbmNlLmFzbQ0KPiA+ID4gPiA+ID4g PiA+ID4gPj4gQEAgLTAsMCArMSw0MSBAQA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ICs7 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArOw0KPiA+ID4gPiA+ ID4gPiA+ID4gPj4gKzsgQXNtTGZlbmNlKCkgZm9yIEFBcmNoNjQNCj4gPiA+ID4gPiA+ID4gPiA+ ID4+ICs7DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArOyBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxOCwg QVJNIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICs7DQo+ ID4gPiA+ID4gPiA+ID4gPiA+PiArOyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcg bWF0ZXJpYWxzDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArOyBhcmUgbGljZW5zZWQgYW5kIG1hZGUg YXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQNCj4gPiA+IGNvbmRpdGlvbnMNCj4gPiA+ID4g PiA+IG9mIHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPkJTRCBMaWNlbnNlDQo+ID4gPiA+ID4gPiA+ ID4gPiA+PiArOyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxs IHRleHQgb2YNCj4gdGhlDQo+ID4gPiA+ID4gbGljZW5zZQ0KPiA+ID4gPiA+ID4gbWF5DQo+ID4g PiA+ID4gPiA+ID4gPiBiZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPmZvdW5kIGF0DQo+ID4gPiA+ID4g PiA+ID4gPiA+PiArOyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2Uu cGhwLg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKzsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICs7IFRI RSBQUk9HUkFNIElTIERJU1RSSUJVVEVEIFVOREVSIFRIRSBCU0QNCj4gTElDRU5TRQ0KPiA+ID4g T04NCj4gPiA+ID4gPiBBTg0KPiA+ID4gPiA+ID4gIkFTDQo+ID4gPiA+ID4gPiA+ID4gPiBJUyIN Cj4gPiA+ID4gPiA+ID4gPiA+ID5CQVNJUywNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICs7IFdJVEhP VVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZDQo+ID4gPiBLSU5ELA0KPiA+ ID4gPiA+ID4gRUlUSEVSDQo+ID4gPiA+ID4gPiA+ID4gPiA+RVhQUkVTUyBPUiBJTVBMSUVELg0K PiA+ID4gPiA+ID4gPiA+ID4gPj4gKzsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+DQo+ID4gPiArOy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKw0KPiA+ID4gPiA+ID4g PiA+ID4gPj4gKyAgRVhQT1JUIEFzbUxmZW5jZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyAgQVJF QSBCYXNlTGliX0xvd0xldmVsLCBDT0RFLCBSRUFET05MWQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4g KyAgIyBJTVBPUlQNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsgIEdDQ19BU01fSU1QT1JUKE1lbW9y eUZlbmNlKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKzsv KioNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICs7ICBVc2VkIHRvIHNlcmlhbGl6ZSBsb2FkIGFuZCBz dG9yZSBvcGVyYXRpb25zLg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKzsNCj4gPiA+ID4gPiA+ID4g PiA+ID4+ICs7ICBBbGwgbG9hZHMgYW5kIHN0b3JlcyB0aGF0IHByb2NlZWQgY2FsbHMgdG8gdGhp cyBmdW5jdGlvbg0KPiBhcmUNCj4gPiA+ID4gPiA+IGd1YXJhbnRlZWQNCj4gPiA+ID4gPiA+ID4g PiA+IHRvDQo+ID4gPiA+ID4gPiA+ID4gPiA+YmUNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICs7ICBn bG9iYWxseSB2aXNpYmxlIHdoZW4gdGhpcyBmdW5jdGlvbiByZXR1cm5zLg0KPiA+ID4gPiA+ID4g PiA+ID4gPj4gKzsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICs7KiovDQo+ID4gPiA+ID4gPiA+ID4g PiA+PiArO1ZPSUQNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICs7RUZJQVBJDQo+ID4gPiA+ID4gPiA+ ID4gPiA+PiArO0FzbUxmZW5jZSAoDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArOyAgVk9JRA0KPiA+ ID4gPiA+ID4gPiA+ID4gPj4gKzsgICk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArOw0KPiA+ID4g PiA+ID4gPiA+ID4gPj4gK0FzbUxmZW5jZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyAgICBzdHAg ICB4MjksIHgzMCwgW3NwLCAjLTE2XSENCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsgICAgYmwgTWVt b3J5RmVuY2UNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICsgICAgbGRwICAgeDI5LCB4MzAsIFtzcF0s ICMweDEwDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiArICAgIHJldA0KPiA+ID4gPiA+ID4gPiA+ID4g Pj4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gKyAgRU5EDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiBk aWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9CYXNlTGliLmluZg0KPiA+ID4gPiA+ ID4gPiA+ID4gPmIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9CYXNlTGliLmluZg0KPiA+ID4gPiA+ ID4gPiA+ID4gPj4gaW5kZXggYjg0ZTU4My4uYjdkN2JjYiAxMDA2NDQNCj4gPiA+ID4gPiA+ID4g PiA+ID4+IC0tLSBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQmFzZUxpYi5pbmYNCj4gPiA+ID4g PiA+ID4gPiA+ID4+ICsrKyBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQmFzZUxpYi5pbmYNCj4g PiA+ID4gPiA+ID4gPiA+ID4+IEBAIC01ODUsNiArNTg1LDcgQEANCj4gPiA+ID4gPiA+ID4gPiA+ ID4+ICAgIE1hdGg2NC5jDQo+ID4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ID4g Pj4gICAgQUFyY2g2NC9NZW1vcnlGZW5jZS5TICAgICAgICAgICAgIHwgR0NDDQo+ID4gPiA+ID4g PiA+ID4gPiA+PiArICBBQXJjaDY0L0FzbUxmZW5jZS5TICAgICAgICAgICAgICAgfCBHQ0MNCj4g PiA+ID4gPiA+ID4gPiA+ID4+ICAgIEFBcmNoNjQvU3dpdGNoU3RhY2suUyAgICAgICAgICAgICB8 IEdDQw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gICAgQUFyY2g2NC9FbmFibGVJbnRlcnJ1cHRzLlMg ICAgICAgIHwgR0NDDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAgICBBQXJjaDY0L0Rpc2FibGVJbnRl cnJ1cHRzLlMgICAgICAgfCBHQ0MNCj4gPiA+ID4gPiA+ID4gPiA+ID4+IEBAIC01OTMsNiArNTk0 LDcgQEANCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICAgIEFBcmNoNjQvQ3B1QnJlYWtwb2ludC5TICAg ICAgICAgICB8IEdDQw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+ ICAgIEFBcmNoNjQvTWVtb3J5RmVuY2UuYXNtICAgICAgICAgICB8IE1TRlQNCj4gPiA+ID4gPiA+ ID4gPiA+ID4+ICsgIEFBcmNoNjQvQXNtTGZlbmNlLmFzbSAgICAgICAgICAgICB8IE1TRlQNCj4g PiA+ID4gPiA+ID4gPiA+ID4+ICAgIEFBcmNoNjQvU3dpdGNoU3RhY2suYXNtICAgICAgICAgICB8 IE1TRlQNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICAgIEFBcmNoNjQvRW5hYmxlSW50ZXJydXB0cy5h c20gICAgICB8IE1TRlQNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICAgIEFBcmNoNjQvRGlzYWJsZUlu dGVycnVwdHMuYXNtICAgICB8IE1TRlQNCj4gPiA+ID4gPiA+ID4gPiA+ID4+IC0tDQo+ID4gPiA+ ID4gPiA+ID4gPiA+PiAyLjcuNA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4g PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4g PiA+ID4gPiA+ID4gPiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+ID4gPiA+ID4gPiA+ID4g ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+ID4gPiA+ID4gPiA+IGh0dHBzOi8vbGlzdHMu MDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPiA+ID4gPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gPiA+ID4gZWRrMi1kZXZl bCBtYWlsaW5nIGxpc3QNCj4gPiA+ID4gPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4g PiA+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPiA+ ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+ IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4gPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0K PiA+ID4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=