From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A527C433E0 for ; Tue, 12 Jan 2021 17:34:01 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B627222285 for ; Tue, 12 Jan 2021 17:34:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B627222285 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3C1BD89E06; Tue, 12 Jan 2021 17:34:00 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1936089E06 for ; Tue, 12 Jan 2021 17:33:59 +0000 (UTC) IronPort-SDR: bWryFz5oSrInC1cR4zc3zKxzo4xUC6laF0O0mISnVCki1HVj3gg9wceXTgiG6Yz3PvgdNCXrmE DIN8fCCj444Q== X-IronPort-AV: E=McAfee;i="6000,8403,9862"; a="157256524" X-IronPort-AV: E=Sophos;i="5.79,342,1602572400"; d="scan'208";a="157256524" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2021 09:33:56 -0800 IronPort-SDR: YlEpzO6DEcgUSfXrkobANfMYhduoTJL+aWXaMMmRjxCfQsIlqZ+qi90ogoGGeAeeyzZ15Gg9yI vG8ggmqFU3Zg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,342,1602572400"; d="scan'208";a="345272828" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga007.fm.intel.com with ESMTP; 12 Jan 2021 09:33:56 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 12 Jan 2021 09:33:55 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 12 Jan 2021 09:33:53 -0800 Received: from fmsmsx610.amr.corp.intel.com ([10.18.126.90]) by fmsmsx610.amr.corp.intel.com ([10.18.126.90]) with mapi id 15.01.1713.004; Tue, 12 Jan 2021 09:33:53 -0800 From: "Vivi, Rodrigo" To: "Roper, Matthew D" , "De Marchi, Lucas" Thread-Topic: [Intel-gfx] [PATCH 1/2] drm/i915/tgl: Use TGL stepping info for applying WAs Thread-Index: AQHW5hS9ajk3U6LnA06vWFLz4vGl5qoe6mkAgAR77ICAAAGKgIAACuOAgAAH34CAAVF8AA== Date: Tue, 12 Jan 2021 17:33:53 +0000 Message-ID: <13f8831443053efa9502c4ab35c546952ebb225e.camel@intel.com> References: <20210108231853.2859646-1-aditya.swarup@intel.com> <20210108231853.2859646-2-aditya.swarup@intel.com> <20210108234440.GO3894148@mdroper-desk1.amr.corp.intel.com> <878s8zw7tw.fsf@intel.com> <875z43w7kq.fsf@intel.com> <20210111205743.GC4758@mdroper-desk1.amr.corp.intel.com> <20210111212553.brclyuex7dgzeryu@ldmartin-desk1> In-Reply-To: <20210111212553.brclyuex7dgzeryu@ldmartin-desk1> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.38.3 (3.38.3-1.fc33) x-originating-ip: [10.22.254.132] Content-ID: MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/tgl: Use TGL stepping info for applying WAs X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "intel-gfx@lists.freedesktop.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gTW9uLCAyMDIxLTAxLTExIGF0IDEzOjI1IC0wODAwLCBMdWNhcyBEZSBNYXJjaGkgd3JvdGU6 DQo+IE9uIE1vbiwgSmFuIDExLCAyMDIxIGF0IDEyOjU3OjQzUE0gLTA4MDAsIE1hdHQgUm9wZXIg d3JvdGU6DQo+ID4gT24gTW9uLCBKYW4gMTEsIDIwMjEgYXQgMTA6MTg6NDVQTSArMDIwMCwgSmFu aSBOaWt1bGEgd3JvdGU6DQo+ID4gPiBPbiBNb24sIDExIEphbiAyMDIxLCBKYW5pIE5pa3VsYSA8 amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPg0KPiA+ID4gd3JvdGU6DQo+ID4gPiA+IE9uIEZy aSwgMDggSmFuIDIwMjEsIE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+DQo+ ID4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+IE9uIEZyaSwgSmFuIDA4LCAyMDIxIGF0IDAzOjE4OjUy UE0gLTA4MDAsIEFkaXR5YSBTd2FydXANCj4gPiA+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+IFRH TCBhZGRzIGFub3RoZXIgbGV2ZWwgb2YgaW5kaXJlY3Rpb24gZm9yIGFwcGx5aW5nIFdBIGJhc2Vk DQo+ID4gPiA+ID4gPiBvbiBzdGVwcGluZw0KPiA+ID4gPiA+ID4gaW5mb3JtYXRpb24gcmF0aGVy IHRoYW4gUENJIFJFVklELiBTbyBjaGFuZ2UgVEdMX1JFVklEIGVudW0NCj4gPiA+ID4gPiA+IGlu dG8NCj4gPiA+ID4gPiA+IHN0ZXBwaW5nIGVudW0gYW5kIHVzZSBQQ0kgUkVWSUQgYXMgaW5kZXgg aW50byByZXZpZCB0bw0KPiA+ID4gPiA+ID4gc3RlcHBpbmcgdGFibGUgdG8NCj4gPiA+ID4gPiA+ IGZldGNoIGNvcnJlY3QgZGlzcGxheSBhbmQgR1Qgc3RlcHBpbmcgZm9yIGFwcGxpY2F0aW9uIG9m DQo+ID4gPiA+ID4gPiBXQXMgYXMNCj4gPiA+ID4gPiA+IHN1Z2dlc3RlZCBieSBNYXR0IFJvcGVy Lg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IFNvIHRvIGNsYXJpZnkgdGhlIGdvYWwgaXMgdG8gcmVu YW1lICJyZXZpZCIgLT4gInN0ZXBwaW5nIg0KPiA+ID4gPiA+IGJlY2F1c2UgdGhlDQo+ID4gPiA+ ID4gdmFsdWVzIGxpa2UgIkExLCIgIkMwLCIgZXRjLiBhcmUndCB0aGUgYWN0dWFsIFBDSSByZXZp c2lvbg0KPiA+ID4gPiA+IElELCBidXQNCj4gPiA+ID4gPiByYXRoZXIgZGVzY3JpcHRpb25zIG9m IHRoZSBzdGVwcGluZyBvZiBhIGdpdmVuIElQIGJsb2NrOyB0aGUNCj4gPiA+ID4gPiBlbnVtIHZh bHVlcw0KPiA+ID4gPiA+IHdlIHVzZSB0byByZXByZXNlbnQgdGhvc2UgYXJlIGFyYml0cmFyeSBh bmQgZG9uJ3QgbWF0dGVyIGFzDQo+ID4gPiA+ID4gbG9uZyBhcw0KPiA+ID4gPiA+IHRoZXkncmUg bW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGZvciBjb21wYXJpc29ucy7CoCBUaGUgUENJDQo+ID4g PiA+ID4gcmV2aXNpb24gSUQNCj4gPiA+ID4gPiBpcyBqdXN0IHRoZSBpbnB1dCB3ZSB1c2UgdG9k YXkgdG8gZGVkdWNlIHdoYXQgdGhlIElQDQo+ID4gPiA+ID4gc3RlcHBpbmdzIGFyZSwgYW5kDQo+ ID4gPiA+ID4gdGhlcmUncyB0YWxrIHRoYXQgd2UgY291bGQgZGV0ZXJtaW5lIHRoZSBJUCBzdGVw cGluZ3MgaW4gYQ0KPiA+ID4gPiA+IGRpZmZlcmVudCB3YXkNCj4gPiA+ID4gPiBhdCBzb21lIHBv aW50IGluIHRoZSBmdXR1cmUuDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gRnVydGhlcm1vcmUsIHNp bmNlIHRoZSBzYW1lIHNjaGVtZSB3aWxsIGJlIHVzZWQgYXQgbGVhc3QgZm9yDQo+ID4gPiA+ID4g QURMLVMsIHdlDQo+ID4gPiA+ID4gc2hvdWxkIGRyb3AgdGhlICJUR0wiIHByZWZpeCBzaW5jZSB0 aGVyZSdzIG5vIG5lZWQgdG8gbmFtZQ0KPiA+ID4gPiA+IHRoZXNlIGdlbmVyYWwNCj4gPiA+ID4g PiBlbnVtIHZhbHVlcyBpbiBhIHBsYXRmb3JtLXNwZWNpZmljIG1hbm5lci4NCj4gPiA+ID4gPiAN Cj4gPiA+ID4gPiBSZXZpZXdlZC1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVs LmNvbT4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBXZSBzaG91bGQgcHJvYmFibHkgbWFrZSB0aGUg c2FtZSBraW5kIG9mIGNoYW5nZSB0byBLQkwgKGFuZA0KPiA+ID4gPiA+IHVzZSB0aGUgc2FtZQ0K PiA+ID4gPiA+IHN0ZXBwaW5nIGVudW0pIHRvbyBzaW5jZSBpdCBoYXMgdGhlIHNhbWUga2luZCBv ZiBleHRyYQ0KPiA+ID4gPiA+IGluZGlyZWN0aW9uIGFzDQo+ID4gPiA+ID4gVEdML0FETC1TLCBi dXQgd2UgY2FuIGRvIHRoYXQgYXMgYSBmb2xsb3d1cCBwYXRjaC4NCj4gPiA+ID4gDQo+ID4gPiA+ IEZXSVcgSSBoYXZlIGEgd2lwIHNlcmllcyBjaGFuZ2luZyB0aGUgd2hvbGUgdGhpbmcgdG8gYWJz dHJhY3QNCj4gPiA+ID4gc3RlcHBpbmdzDQo+ID4gPiA+IGVudW1zIHRoYXQgYXJlIHNoYXJlZCBi ZXR3ZWVuIHBsYXRmb3JtcywgYnV0IGl0J3MgaW4gYSBiaXQgb2YNCj4gPiA+ID4gbGltYm8NCj4g PiA+ID4gYmVjYXVzZSB0aGUgcHJldmlvdXMgcmV2aWQgY2hhbmdlcyB3ZXJlIGFwcGxpZWQgdG8g ZHJtLWludGVsLQ0KPiA+ID4gPiBndC1uZXh0LA0KPiA+ID4gPiBhbmQgaXQncyBmYWxsZW4gcHJl dHR5IGZhciBvdXQgb2Ygc3luYyB3aXRoIGRybS1pbnRlbC1uZXh0LiBBbGwNCj4gPiA+ID4gb2Yg dGhpcw0KPiA+ID4gPiByZWFsbHkgYmVsb25ncyB0byBkcm0taW50ZWwtbmV4dCwgYnV0IGNhbid0 IGRvIHRoYXQgdW50aWwgdGhlDQo+ID4gPiA+IGJyYW5jaGVzDQo+ID4gPiA+IHN5bmMgdXAgYWdh aW4uDQo+ID4gPiANCj4gPiA+IEJ0dyB0aGlzIHNlcmllcyBkb2Vzbid0IGFwcGx5IHRvIGRybS1p bnRlbC1uZXh0IGVpdGhlciwgZm9yIHRoZQ0KPiA+ID4gc2FtZQ0KPiA+ID4gcmVhc29uLCBhbmQg dGhlIEFETC1TIHBsYXRmb3JtIGRlZmluaXRpb24gYW5kIFBDSSBJRHMgbXVzdCAqbm90Kg0KPiA+ ID4gYmUNCj4gPiA+IGFwcGxpZWQgdG8gZHJtLWludGVsLWd0LW5leHQuDQo+ID4gDQo+ID4gU28g dG8gY2xhcmlmeSwgaXQgbG9va3MgbGlrZSB3ZSBoYXZlIGEgYnVuY2ggb2YgcmV2aWQgY2hhbmdl cyB0bw0KPiA+IHRoZQ0KPiA+IGRpc3BsYXkgY29kZSB0aGF0IGdvdCBtZXJnZWQgdG8gdGhlIGd0 LW5leHQgdHJlZSBidXQgbm90IHRvIHRoZQ0KPiA+IGludGVsLW5leHQgdHJlZT/CoCBTaG91bGQg d2UgYmUgZ29pbmcgYmFjayBhbmQgYWxzbyBtZXJnaW5nIC8NCj4gPiBjaGVycnktcGlja2luZyB0 aG9zZSBvdmVyIHRvIGludGVsLW5leHQgc2luY2UgdGhhdCdzIHdoZXJlIHRoZQ0KPiA+IGRpc3Bs YXkNCj4gPiBjaGFuZ2VzIGFyZSBzdXBwb3NlZCB0byBnbywgb3IgaXMgaXQgdG9vIGxhdGUgdG8g ZG8gdGhhdCBjbGVhbmx5IGF0DQo+ID4gdGhpcw0KPiA+IHBvaW50Pw0KPiANCj4gaXQgd2FzIG15 IG1pc3Rha2UgdG8gbWVyZ2UgdGhlbSB0byBkcm0taW50ZWwtZ3QtbmV4dC4gVGhleSBzaG91bGQN Cj4gaGF2ZQ0KPiBiZWVuIGluIGRybS1pbnRlbC1uZXh0Lg0KPiANCj4gPiANCj4gPiBHb2luZyBm b3J3YXJkLCB3aGF0IHNob3VsZCB0aGUgZ2VuZXJhbCBzdHJhdGVneSBiZSBmb3Igc3R1ZmYgbGlr ZQ0KPiA+IHBsYXRmb3JtIGRlZmluaXRpb25zIGFuZCBzdWNoP8KgIE1lcmdlIHN1Y2ggZW5hYmxl bWVudCBwYXRjaGVzIHRvDQo+ID4gYm90aA0KPiANCj4gbGFzdCB0aW1lIHdlIHRhbGtlZCBhYm91 dCB0aGlzIHdhcyByZWdhcmRpbmcgZGcxIEFGQUlSIGFuZCB0aGUNCj4gY29uc2Vuc3VzDQo+IHdh cyB0byBjcmVhdGUgYSB0b3BpYyBicmFuY2ggYW5kIHRoYXQgdG9waWMgYnJhbmNoIHRvIGJlIG1l cmdlZCBpbg0KPiBib3RoDQo+IGJyYW5jaGVzLiBUaGF0IHdvdWxkIGF2b2lkIGhhdmluZyAyIGNv bW1pdHMgaW4gZGlmZmVyZW50IGJyYW5jaGVzLg0KDQpZZWFwLCBJIGJlbGlldmUgdGhpcyBpcyB0 aGUgd2F5IHRvIGdvLg0KDQo+IA0KPiBOb3Qgc3VyZSBpZiBpdCB3b3VsZCB3b3JrIG91dCBuaWNl bHkgZm9yIGdldHRpbmcgdGVzdCBvbiBDSSB0aG91Z2guDQoNCmNyZWF0ZSBhbiBlbXB0eSB0b3Bp YyBicmFuY2ggdXNpbmcgZGltLg0KDQpQcmUtbWVyZ2UgQ0kgd2l0aCBkcm0tdGlwLiBPbmx5IGlm IHBhc3NpbmcgYW5kIGlmIGV2ZXJ5dGhpbmcgaXMgcmVhbHkNCnJlYWR5LiBQdXNoIHRvIHRoZSB0 b3BpYyBicmFuY2ggdXNpbmcgZGltLg0KDQpUaGVuIGl0IHdpbGwgYmUgcGFydCBvZiBkcm0tdGlw IGFscmVhZHkgZm9yIGFueSBzdWJzZXF1ZW50aWFsIHByZS1tZXJnZQ0KQ0kuLi4NCg0KVGhlbiBk byB0aGUgcHVsbCByZXF1ZXN0cyB0byBib3QgZHJtLWludGVsLW5leHQgYW5kIGRybS1pbnRlbC1n dC1uZXh0Lg0KDQpBZnRlciBldmVyeXRoaW5nIGlzIHB1bGxlZCB0byBib3RoIHBsYWNlcywgdGhl biBkZWxldGUgdGhlIHRvcGljDQpicmFuY2guDQoNCj4gU2luY2UgdGhlIGNoYW5nZXMgYXJlIHNw cmVhZCB0aHJvdWdoIHRoZSBjb2RlYmFzZSwgd2UgY291bGQgdmVyeQ0KPiBlYXNpbHkNCj4gaGl0 IGEgc2l0dWF0aW9uIHRoYXQgdGhpcyB0b3BpYyBicmFuY2ggY3JlYXRlcyBjb25mbGljdHMgZm9y IG90aGVyDQo+IHBhdGNoZXMgZ2V0dGluZyBtZXJnZWQgb24gZWl0aGVyIGRybS1pbnRlbC1uZXh0 IG9yIGRybS1pbnRlbC1ndC1uZXh0Lg0KPiANCj4gK0pvb25hcywgK1JvZHJpZ28NCj4gDQo+IEx1 Y2FzIERlIE1hcmNoaQ0KPiANCj4gPiBpbnRlbC1uZXh0IGFuZCBndC1uZXh0IGF0IHRoZSBzYW1l IHRpbWUgc28gdGhhdCB0aGUgYmFzaWMNCj4gPiBkZWZpbml0aW9ucw0KPiA+IGFyZSBhdmFpbGFi bGUgdG8gYm90aCB0cmVlcz/CoCBJdCBzZWVtcyBsaWtlIHRoZSB3aG9sZSBzcGxpdCBpbnRvDQo+ ID4gdHdvDQo+ID4gdHJlZXMgcmVhbGx5IGlzbid0IHdvcmtpbmcgd2VsbCBhbmQgaXMganVzdCBs ZWFkaW5nIHRvIG1vcmUNCj4gPiBtaXN0YWtlcyBhbmQNCj4gPiBib3R0bGVuZWNrcy7CoCBXaGF0 IGJlbmVmaXQgYXJlIHdlIHN1cHBvc2VkIHRvIGJlIGdldHRpbmcgZnJvbSB0aGlzDQo+ID4gc3Bs aXQ/DQo+ID4gDQo+ID4gDQo+ID4gTWF0dA0KPiA+IA0KPiA+IA0KPiA+ID4gDQo+ID4gPiBCUiwN Cj4gPiA+IEphbmkuDQo+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IE15IHNlcmllcyBhbHNvIGNv bXBsZXRlbHkgaGlkZXMgdGhlIGFycmF5cyBpbnRvIGEgc2VwYXJhdGUgLmMNCj4gPiA+ID4gZmls ZSwNCj4gPiA+ID4gYmVjYXVzZSB0aGUgZXh0ZXJucyB3aXRoIGRpcmVjdCBhcnJheSBhY2Nlc3Mg YXJlIHR1cm5pbmcgaW50bw0KPiA+ID4gPiBuaWdodG1hcmUuIFRoZSBBUlJBWV9TSVpFKCkgY2hl Y2tzIHJlbHkgb24gdGhlIGV4dGVybg0KPiA+ID4gPiBkZWNsYXJhdGlvbiBhbmQNCj4gPiA+ID4g dGhlIGFjdHVhbCBhcnJheSBkZWZpbml0aW9uIHRvIGhhdmUgdGhlIHNpemVzIGluIHN5bmMsIGJ1 dCB0aGUNCj4gPiA+ID4gY29tcGlsZXINCj4gPiA+ID4gZG9lcyBub3QgY2hlY2sgdGhhdC4gUmVh bGx5Lg0KPiA+ID4gPiANCj4gPiA+ID4gSURLLCBmZWVscyBsaWtlIHRoaXMgbWVyZ2luZyB0aGlz IHNlcmllcyBpcyBnb2luZyB0byBiZSBleHRyYQ0KPiA+ID4gPiBjaHVybi4NCj4gPiA+ID4gDQo+ ID4gPiA+IA0KPiA+ID4gPiBCUiwNCj4gPiA+ID4gSmFuaS4NCj4gPiA+ID4gDQo+ID4gPiA+IA0K PiA+ID4gPiA+IA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IE1hdHQNCj4gPiA+ID4gPiANCj4gPiA+ ID4gPiA+IA0KPiA+ID4gPiA+ID4gQ2M6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRl bC5jb20+DQo+ID4gPiA+ID4gPiBDYzogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBp bnRlbC5jb20+DQo+ID4gPiA+ID4gPiBDYzogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5z b3V6YUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBZGl0eWEgU3dhcnVw IDxhZGl0eWEuc3dhcnVwQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4g wqAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmPCoMKgwqAgfMKgIDIg Ky0NCj4gPiA+ID4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3Iu Y8KgwqDCoMKgwqAgfMKgIDQgKy0NCj4gPiA+ID4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9zcHJpdGUuY8KgwqAgfMKgIDIgKy0NCj4gPiA+ID4gPiA+IMKgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuY8KgwqAgfCAyNiArKysrKy0tDQo+ ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA1MA0KPiA+ID4gPiA+ID4gKysrKysr KysrLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArLQ0KPiA+ID4gPiA+ID4gwqA2 IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQ0KPiA+ID4g PiA+ID4gDQo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4gPiBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jDQo+ID4gPiA+ID4gPiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jDQo+ID4gPiA+ ID4gPiBpbmRleCBkNTIzNzRmMDEzMTYuLmJiMDRiNTAyYTQ0MiAxMDA2NDQNCj4gPiA+ID4gPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5j DQo+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXlfcG93ZXIuYw0KPiA+ID4gPiA+ID4gQEAgLTUzNDAsNyArNTM0MCw3IEBAIHN0YXRpYyB2 b2lkIHRnbF9id19idWRkeV9pbml0KHN0cnVjdA0KPiA+ID4gPiA+ID4gZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaW50IGNvbmZpZywgaTsN Cj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGlmIChJU19ERzFfUkVW SUQoZGV2X3ByaXYsIERHMV9SRVZJRF9BMCwNCj4gPiA+ID4gPiA+IERHMV9SRVZJRF9BMCkgfHwN Cj4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoCBJU19UR0xfRElTUF9SRVZJRChkZXZf cHJpdiwgVEdMX1JFVklEX0EwLA0KPiA+ID4gPiA+ID4gVEdMX1JFVklEX0IwKSkNCj4gPiA+ID4g PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCBJU19UR0xfRElTUF9TVEVQUElORyhkZXZfcHJpdiwg U1RFUF9BMCwNCj4gPiA+ID4gPiA+IFNURVBfQjApKQ0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAvKiBXYV8xNDA5NzY3MTA4OnRnbCxkZzEgKi8NCj4gPiA+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGFibGUgPSB3YV8xNDA5NzY3MTA4 X2J1ZGR5X3BhZ2VfbWFza3M7DQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgZWxzZQ0KPiA+ ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf cHNyLmMNCj4gPiA+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9w c3IuYw0KPiA+ID4gPiA+ID4gaW5kZXggYzI0YWU2OTQyNmNmLi5hOTM3MTcxNzg5NTcgMTAwNjQ0 DQo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bz ci5jDQo+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X3Bzci5jDQo+ID4gPiA+ID4gPiBAQCAtNTUwLDcgKzU1MCw3IEBAIHN0YXRpYyB2b2lkIGhzd19h Y3RpdmF0ZV9wc3IyKHN0cnVjdA0KPiA+ID4gPiA+ID4gaW50ZWxfZHAgKmludGVsX2RwKQ0KPiA+ ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGRldl9wcml2LT5wc3Iu cHNyMl9zZWxfZmV0Y2hfZW5hYmxlZCkgew0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAvKiBXQSAxNDA4MzMwODQ3ICovDQo+ID4gPiA+ID4gPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKElTX1RHTF9ESVNQX1JFVklEKGRldl9wcml2LA0KPiA+ ID4gPiA+ID4gVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApIHx8DQo+ID4gPiA+ID4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKElTX1RHTF9ESVNQX1NURVBQSU5HKGRldl9w cml2LCBTVEVQX0EwLA0KPiA+ID4gPiA+ID4gU1RFUF9BMCkgfHwNCj4gPiA+ID4gPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIElTX1JLTF9SRVZJRChkZXZfcHJpdiwg UktMX1JFVklEX0EwLA0KPiA+ID4gPiA+ID4gUktMX1JFVklEX0EwKSkNCj4gPiA+ID4gPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGludGVsX2RlX3Jt dyhkZXZfcHJpdiwNCj4gPiA+ID4gPiA+IENISUNLRU5fUEFSMV8xLA0KPiA+ID4gPiA+ID4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgDQo+ID4gPiA+ID4gPiBESVNfUkFNX0JZUEFTU19QU1IyX01BTl9UUkFDSywN Cj4gPiA+ID4gPiA+IEBAIC0xMTAyLDcgKzExMDIsNyBAQCBzdGF0aWMgdm9pZA0KPiA+ID4gPiA+ ID4gaW50ZWxfcHNyX2Rpc2FibGVfbG9ja2VkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApDQo+ ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqAvKiBXQSAxNDA4MzMwODQ3 ICovDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGRldl9wcml2LT5wc3IucHNyMl9z ZWxfZmV0Y2hfZW5hYmxlZCAmJg0KPiA+ID4gPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgIChJ U19UR0xfRElTUF9SRVZJRChkZXZfcHJpdiwgVEdMX1JFVklEX0EwLA0KPiA+ID4gPiA+ID4gVEdM X1JFVklEX0EwKSB8fA0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgIChJU19UR0xf RElTUF9TVEVQUElORyhkZXZfcHJpdiwgU1RFUF9BMCwNCj4gPiA+ID4gPiA+IFNURVBfQTApIHx8 DQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSVNfUktMX1JFVklEKGRldl9w cml2LCBSS0xfUkVWSURfQTAsDQo+ID4gPiA+ID4gPiBSS0xfUkVWSURfQTApKSkNCj4gPiA+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaW50ZWxfZGVfcm13KGRldl9wcml2 LCBDSElDS0VOX1BBUjFfMSwNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERJU19SQU1fQllQQVNTX1BTUjJfTUFOX1RS QUNLLA0KPiA+ID4gPiA+ID4gMCk7DQo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUuYw0KPiA+ID4gPiA+ID4gYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jDQo+ID4gPiA+ID4gPiBpbmRleCBj ZjM1ODlmZDBkZGIuLjRjZTMyZGYzODU1ZiAxMDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMNCj4gPiA+ID4gPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMNCj4gPiA+ID4gPiA+ IEBAIC0zMDMzLDcgKzMwMzMsNyBAQCBzdGF0aWMgYm9vbA0KPiA+ID4gPiA+ID4gZ2VuMTJfcGxh bmVfc3VwcG9ydHNfbWNfY2NzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlDQo+ID4gPiA+ID4gPiAq ZGV2X3ByaXYsDQo+ID4gPiA+ID4gPiDCoHsNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqAv KiBXYV8xNDAxMDQ3NzAwODp0Z2xbYTAuLmMwXSxya2xbYWxsXSxkZzFbYWxsXSAqLw0KPiA+ID4g PiA+ID4gwqDCoMKgwqDCoMKgwqDCoGlmIChJU19ERzEoZGV2X3ByaXYpIHx8IElTX1JPQ0tFVExB S0UoZGV2X3ByaXYpIHx8DQo+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqAgSVNfVEdM X0RJU1BfUkVWSUQoZGV2X3ByaXYsIFRHTF9SRVZJRF9BMCwNCj4gPiA+ID4gPiA+IFRHTF9SRVZJ RF9DMCkpDQo+ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgSVNfVEdMX0RJU1BfU1RF UFBJTkcoZGV2X3ByaXYsIFNURVBfQTAsDQo+ID4gPiA+ID4gPiBTVEVQX0MwKSkNCj4gPiA+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGZhbHNlOw0KPiA+ID4g PiA+ID4gDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHBsYW5lX2lkIDwgUExB TkVfU1BSSVRFNDsNCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF93b3JrYXJvdW5kcy5jDQo+ID4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMNCj4gPiA+ID4gPiA+IGluZGV4IGMyMWE5NzI2MzI2 YS4uMTExZDAxZTJmODFlIDEwMDY0NA0KPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYw0KPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYw0KPiA+ID4gPiA+ID4gQEAgLTcxLDE3 ICs3MSwxNyBAQCBjb25zdCBzdHJ1Y3QgaTkxNV9yZXZfc3RlcHBpbmdzDQo+ID4gPiA+ID4gPiBr YmxfcmV2aWRzW10gPSB7DQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgWzddID0geyAuZ3Rf c3RlcHBpbmcgPSBLQkxfUkVWSURfRzAsIC5kaXNwX3N0ZXBwaW5nDQo+ID4gPiA+ID4gPiA9IEtC TF9SRVZJRF9DMCB9LA0KPiA+ID4gPiA+ID4gwqB9Ow0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4g PiAtY29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncyB0Z2xfdXlfcmV2aWRzW10gPSB7DQo+ ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBbMF0gPSB7IC5ndF9zdGVwcGluZyA9IFRHTF9SRVZJ RF9BMCwgLmRpc3Bfc3RlcHBpbmcNCj4gPiA+ID4gPiA+ID0gVEdMX1JFVklEX0EwIH0sDQo+ID4g PiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBbMV0gPSB7IC5ndF9zdGVwcGluZyA9IFRHTF9SRVZJRF9C MCwgLmRpc3Bfc3RlcHBpbmcNCj4gPiA+ID4gPiA+ID0gVEdMX1JFVklEX0MwIH0sDQo+ID4gPiA+ ID4gPiAtwqDCoMKgwqDCoMKgwqBbMl0gPSB7IC5ndF9zdGVwcGluZyA9IFRHTF9SRVZJRF9CMSwg LmRpc3Bfc3RlcHBpbmcNCj4gPiA+ID4gPiA+ID0gVEdMX1JFVklEX0MwIH0sDQo+ID4gPiA+ID4g PiAtwqDCoMKgwqDCoMKgwqBbM10gPSB7IC5ndF9zdGVwcGluZyA9IFRHTF9SRVZJRF9DMCwgLmRp c3Bfc3RlcHBpbmcNCj4gPiA+ID4gPiA+ID0gVEdMX1JFVklEX0QwIH0sDQo+ID4gPiA+ID4gPiAr Y29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncyB0Z2xfdXlfcmV2aWRfc3RlcF90YmxbXSA9 DQo+ID4gPiA+ID4gPiB7DQo+ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqBbMF0gPSB7IC5ndF9z dGVwcGluZyA9IFNURVBfQTAsIC5kaXNwX3N0ZXBwaW5nID0NCj4gPiA+ID4gPiA+IFNURVBfQTAg fSwNCj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoFsxXSA9IHsgLmd0X3N0ZXBwaW5nID0gU1RF UF9CMCwgLmRpc3Bfc3RlcHBpbmcgPQ0KPiA+ID4gPiA+ID4gU1RFUF9DMCB9LA0KPiA+ID4gPiA+ ID4gK8KgwqDCoMKgwqDCoMKgWzJdID0geyAuZ3Rfc3RlcHBpbmcgPSBTVEVQX0IxLCAuZGlzcF9z dGVwcGluZyA9DQo+ID4gPiA+ID4gPiBTVEVQX0MwIH0sDQo+ID4gPiA+ID4gPiArwqDCoMKgwqDC oMKgwqBbM10gPSB7IC5ndF9zdGVwcGluZyA9IFNURVBfQzAsIC5kaXNwX3N0ZXBwaW5nID0NCj4g PiA+ID4gPiA+IFNURVBfRDAgfSwNCj4gPiA+ID4gPiA+IMKgfTsNCj4gPiA+ID4gPiA+IA0KPiA+ ID4gPiA+ID4gwqAvKiBTYW1lIEdUIHN0ZXBwaW5nIGJldHdlZW4gdGdsX3V5X3JldmlkcyBhbmQg dGdsX3Jldmlkcw0KPiA+ID4gPiA+ID4gZG9uJ3QgbWVhbiB0aGUgc2FtZSBIVyAqLw0KPiA+ID4g PiA+ID4gLWNvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3MgdGdsX3Jldmlkc1tdID0gew0K PiA+ID4gPiA+ID4gLcKgwqDCoMKgwqDCoMKgWzBdID0geyAuZ3Rfc3RlcHBpbmcgPSBUR0xfUkVW SURfQTAsIC5kaXNwX3N0ZXBwaW5nDQo+ID4gPiA+ID4gPiA9IFRHTF9SRVZJRF9CMCB9LA0KPiA+ ID4gPiA+ID4gLcKgwqDCoMKgwqDCoMKgWzFdID0geyAuZ3Rfc3RlcHBpbmcgPSBUR0xfUkVWSURf QjAsIC5kaXNwX3N0ZXBwaW5nDQo+ID4gPiA+ID4gPiA9IFRHTF9SRVZJRF9EMCB9LA0KPiA+ID4g PiA+ID4gK2NvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3MgdGdsX3JldmlkX3N0ZXBfdGJs W10gPSB7DQo+ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqBbMF0gPSB7IC5ndF9zdGVwcGluZyA9 IFNURVBfQTAsIC5kaXNwX3N0ZXBwaW5nID0NCj4gPiA+ID4gPiA+IFNURVBfQjAgfSwNCj4gPiA+ ID4gPiA+ICvCoMKgwqDCoMKgwqDCoFsxXSA9IHsgLmd0X3N0ZXBwaW5nID0gU1RFUF9CMCwgLmRp c3Bfc3RlcHBpbmcgPQ0KPiA+ID4gPiA+ID4gU1RFUF9EMCB9LA0KPiA+ID4gPiA+ID4gwqB9Ow0K PiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiDCoHN0YXRpYyB2b2lkIHdhX2luaXRfc3RhcnQoc3Ry dWN0IGk5MTVfd2FfbGlzdCAqd2FsLCBjb25zdA0KPiA+ID4gPiA+ID4gY2hhciAqbmFtZSwgY29u c3QgY2hhciAqZW5naW5lX25hbWUpDQo+ID4gPiA+ID4gPiBAQCAtMTIxMSwxOSArMTIxMSwxOSBA QCB0Z2xfZ3Rfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QNCj4gPiA+ID4gPiA+IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsIHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCkNCj4gPiA+ID4gPiA+IMKgwqDC oMKgwqDCoMKgwqBnZW4xMl9ndF93b3JrYXJvdW5kc19pbml0KGk5MTUsIHdhbCk7DQo+ID4gPiA+ ID4gPiANCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqAvKiBXYV8xNDA5NDIwNjA0OnRnbCAq Lw0KPiA+ID4gPiA+ID4gLcKgwqDCoMKgwqDCoMKgaWYgKElTX1RHTF9VWV9HVF9SRVZJRChpOTE1 LCBUR0xfUkVWSURfQTAsDQo+ID4gPiA+ID4gPiBUR0xfUkVWSURfQTApKQ0KPiA+ID4gPiA+ID4g K8KgwqDCoMKgwqDCoMKgaWYgKElTX1RHTF9VWV9HVF9TVEVQUElORyhpOTE1LCBTVEVQX0EwLCBT VEVQX0EwKSkNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgd2Ff d3JpdGVfb3Iod2FsLA0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFNVQlNMSUNFX1VOSVRfTEVWRUxfQ0xLR0FURTIsDQo+ ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgQ1BTU1VOSVRfQ0xLR0FURV9ESVMpOw0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4g PiDCoMKgwqDCoMKgwqDCoMKgLyogV2FfMTYwNzA4NzA1Njp0Z2wgYWxzbyBrbm93IGFzIEJVRzox NDA5MTgwMzM4ICovDQo+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBpZiAoSVNfVEdMX1VZX0dU X1JFVklEKGk5MTUsIFRHTF9SRVZJRF9BMCwNCj4gPiA+ID4gPiA+IFRHTF9SRVZJRF9BMCkpDQo+ ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqBpZiAoSVNfVEdMX1VZX0dUX1NURVBQSU5HKGk5MTUs IFNURVBfQTAsIFNURVBfQTApKQ0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB3YV93cml0ZV9vcih3YWwsDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgU0xJQ0VfVU5JVF9MRVZFTF9DTEtH QVRFLA0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIEwzX0NMS0dBVEVfRElTIHwNCj4gPiA+ID4gPiA+IEwzX0NSMlhfQ0xL R0FURV9ESVMpOw0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgLyog V2FfMTQwODYxNTA3Mjp0Z2xbYTBdICovDQo+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBpZiAo SVNfVEdMX1VZX0dUX1JFVklEKGk5MTUsIFRHTF9SRVZJRF9BMCwNCj4gPiA+ID4gPiA+IFRHTF9S RVZJRF9BMCkpDQo+ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqBpZiAoSVNfVEdMX1VZX0dUX1NU RVBQSU5HKGk5MTUsIFNURVBfQTAsIFNURVBfQTApKQ0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB3YV93cml0ZV9vcih3YWwsDQo+ID4gPiA+ID4gPiBVTlNMSUNF X1VOSVRfTEVWRUxfQ0xLR0FURTIsDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgVlNVTklUX0NMS0dBVEVfRElTX1RHTCk7 DQo+ID4gPiA+ID4gPiDCoH0NCj4gPiA+ID4gPiA+IEBAIC0xNzAwLDcgKzE3MDAsNyBAQCByY3Nf ZW5naW5lX3dhX2luaXQoc3RydWN0DQo+ID4gPiA+ID4gPiBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQ0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZW5naW5lLT5pOTE1Ow0KPiA+ID4gPiA+ ID4gDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaWYgKElTX0RHMV9SRVZJRChpOTE1LCBE RzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkNCj4gPiA+ID4gPiA+IHx8DQo+ID4gPiA+ID4gPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqAgSVNfVEdMX1VZX0dUX1JFVklEKGk5MTUsIFRHTF9SRVZJRF9B MCwNCj4gPiA+ID4gPiA+IFRHTF9SRVZJRF9BMCkpIHsNCj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoCBJU19UR0xfVVlfR1RfU1RFUFBJTkcoaTkxNSwgU1RFUF9BMCwgU1RFUF9BMCkp DQo+ID4gPiA+ID4gPiB7DQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoC8qDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIFdh XzE2MDcxMzgzMzY6dGdsW2EwXSxkZzFbYTBdDQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAqIFdhXzE2MDcwNjM5ODg6dGdsW2EwXSxkZzFbYTBdDQo+ID4gPiA+ ID4gPiBAQCAtMTcxMCw3ICsxNzEwLDcgQEAgcmNzX2VuZ2luZV93YV9pbml0KHN0cnVjdA0KPiA+ ID4gPiA+ID4gaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBpOTE1X3dhX2xpc3QgKndh bCkNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoA0KPiA+ID4gPiA+ID4gR0VOMTJfRElTQUJMRV9QT1NIX0JVU1lfRkZfRE9Q X0NHKTsNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqB9DQo+ID4gPiA+ID4gPiANCj4gPiA+ ID4gPiA+IC3CoMKgwqDCoMKgwqDCoGlmIChJU19UR0xfVVlfR1RfUkVWSUQoaTkxNSwgVEdMX1JF VklEX0EwLA0KPiA+ID4gPiA+ID4gVEdMX1JFVklEX0EwKSkgew0KPiA+ID4gPiA+ID4gK8KgwqDC oMKgwqDCoMKgaWYgKElTX1RHTF9VWV9HVF9TVEVQUElORyhpOTE1LCBTVEVQX0EwLCBTVEVQX0Ew KSkNCj4gPiA+ID4gPiA+IHsNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgLyoNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICog V2FfMTYwNjY3OTEwMzp0Z2wNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICogKHNlZSBhbHNvIFdhXzE2MDY2ODIxNjY6aWNsKQ0KPiA+ID4gPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgNCj4gPiA+ID4gPiA+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaA0KPiA+ID4gPiA+ID4gaW5kZXggNWU1YmNlZjIw ZTMzLi4xMWQ2ZThhYmRlNDYgMTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oDQo+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oDQo+ID4gPiA+ID4gPiBAQCAtMTU1OSw1NCArMTU1OSw1NCBAQCBleHRlcm4g Y29uc3Qgc3RydWN0DQo+ID4gPiA+ID4gPiBpOTE1X3Jldl9zdGVwcGluZ3Mga2JsX3Jldmlkc1td Ow0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoChJU19KU0xfRUhMKHApICYmIElTX1JFVklE KHAsIHNpbmNlLCB1bnRpbCkpDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IMKgZW51bSB7DQo+ ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBUR0xfUkVWSURfQTAsDQo+ID4gPiA+ID4gPiAtwqDC oMKgwqDCoMKgwqBUR0xfUkVWSURfQjAsDQo+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBUR0xf UkVWSURfQjEsDQo+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBUR0xfUkVWSURfQzAsDQo+ID4g PiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBUR0xfUkVWSURfRDAsDQo+ID4gPiA+ID4gPiArwqDCoMKg wqDCoMKgwqBTVEVQX0EwLA0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgU1RFUF9CMCwNCj4g PiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoFNURVBfQjEsDQo+ID4gPiA+ID4gPiArwqDCoMKgwqDC oMKgwqBTVEVQX0MwLA0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgU1RFUF9EMCwNCj4gPiA+ ID4gPiA+IMKgfTsNCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gLSNkZWZpbmUgVEdMX1VZX1JF VklEU19TSVpFwqDCoMKgwqDCoDQNCj4gPiA+ID4gPiA+IC0jZGVmaW5lIFRHTF9SRVZJRFNfU0la RcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgMg0KPiA+ID4gPiA+ID4gKyNkZWZpbmUg VEdMX1VZX1JFVklEX1NURVBfVEJMX1NJWkXCoMKgwqDCoMKgNA0KPiA+ID4gPiA+ID4gKyNkZWZp bmUgVEdMX1JFVklEX1NURVBfVEJMX1NJWkXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oDINCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gLWV4dGVybiBjb25zdCBzdHJ1Y3QgaTkxNV9y ZXZfc3RlcHBpbmdzDQo+ID4gPiA+ID4gPiB0Z2xfdXlfcmV2aWRzW1RHTF9VWV9SRVZJRFNfU0la RV07DQo+ID4gPiA+ID4gPiAtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3MN Cj4gPiA+ID4gPiA+IHRnbF9yZXZpZHNbVEdMX1JFVklEU19TSVpFXTsNCj4gPiA+ID4gPiA+ICtl eHRlcm4gY29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncw0KPiA+ID4gPiA+ID4gdGdsX3V5 X3JldmlkX3N0ZXBfdGJsW1RHTF9VWV9SRVZJRF9TVEVQX1RCTF9TSVpFXTsNCj4gPiA+ID4gPiA+ ICtleHRlcm4gY29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncw0KPiA+ID4gPiA+ID4gdGds X3JldmlkX3N0ZXBfdGJsW1RHTF9SRVZJRF9TVEVQX1RCTF9TSVpFXTsNCj4gPiA+ID4gPiA+IA0K PiA+ID4gPiA+ID4gwqBzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGlu Z3MgKg0KPiA+ID4gPiA+ID4gLXRnbF9yZXZpZHNfZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikNCj4gPiA+ID4gPiA+ICt0Z2xfc3RlcHBpbmdfZ2V0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikNCj4gPiA+ID4gPiA+IMKgew0KPiA+ID4gPiA+ID4gwqDCoMKg wqDCoMKgwqDCoHU4IHJldmlkID0gSU5URUxfUkVWSUQoZGV2X3ByaXYpOw0KPiA+ID4gPiA+ID4g wqDCoMKgwqDCoMKgwqDCoHU4IHNpemU7DQo+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBjb25z dCBzdHJ1Y3QgaTkxNV9yZXZfc3RlcHBpbmdzICp0Z2xfcmV2aWRfdGJsOw0KPiA+ID4gPiA+ID4g K8KgwqDCoMKgwqDCoMKgY29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncyAqcmV2aWRfc3Rl cF90Ymw7DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqBpZiAoSVNf VEdMX1UoZGV2X3ByaXYpIHx8IElTX1RHTF9ZKGRldl9wcml2KSkgew0KPiA+ID4gPiA+ID4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRnbF9yZXZpZF90YmwgPSB0Z2xfdXlfcmV2aWRz Ow0KPiA+ID4gPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNpemUgPSBBUlJB WV9TSVpFKHRnbF91eV9yZXZpZHMpOw0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHJldmlkX3N0ZXBfdGJsID0gdGdsX3V5X3JldmlkX3N0ZXBfdGJsOw0KPiA+ID4g PiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNpemUgPSBBUlJBWV9TSVpFKHRn bF91eV9yZXZpZF9zdGVwX3RibCk7DQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgfSBlbHNl IHsNCj4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0Z2xfcmV2aWRf dGJsID0gdGdsX3JldmlkczsNCj4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBzaXplID0gQVJSQVlfU0laRSh0Z2xfcmV2aWRzKTsNCj4gPiA+ID4gPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXZpZF9zdGVwX3RibCA9IHRnbF9yZXZpZF9zdGVwX3Ri bDsNCj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzaXplID0gQVJS QVlfU0laRSh0Z2xfcmV2aWRfc3RlcF90YmwpOw0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDC oH0NCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoHJldmlkID0gbWlu X3QodTgsIHJldmlkLCBzaXplIC0gMSk7DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAmdGdsX3JldmlkX3RibFtyZXZpZF07DQo+ID4gPiA+ID4gPiArwqDC oMKgwqDCoMKgwqByZXR1cm4gJnJldmlkX3N0ZXBfdGJsW3JldmlkXTsNCj4gPiA+ID4gPiA+IMKg fQ0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiAtI2RlZmluZSBJU19UR0xfRElTUF9SRVZJRChw LCBzaW5jZSwgdW50aWwpIFwNCj4gPiA+ID4gPiA+ICsjZGVmaW5lIElTX1RHTF9ESVNQX1NURVBQ SU5HKHAsIHNpbmNlLCB1bnRpbCkgXA0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoChJU19U SUdFUkxBS0UocCkgJiYgXA0KPiA+ID4gPiA+ID4gLcKgwqDCoMKgwqDCoMKgIHRnbF9yZXZpZHNf Z2V0KHApLT5kaXNwX3N0ZXBwaW5nID49IChzaW5jZSkgJiYgXA0KPiA+ID4gPiA+ID4gLcKgwqDC oMKgwqDCoMKgIHRnbF9yZXZpZHNfZ2V0KHApLT5kaXNwX3N0ZXBwaW5nIDw9ICh1bnRpbCkpDQo+ ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqAgdGdsX3N0ZXBwaW5nX2dldChwKS0+ZGlzcF9zdGVw cGluZyA+PSAoc2luY2UpICYmIFwNCj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCB0Z2xfc3Rl cHBpbmdfZ2V0KHApLT5kaXNwX3N0ZXBwaW5nIDw9ICh1bnRpbCkpDQo+ID4gPiA+ID4gPiANCj4g PiA+ID4gPiA+IC0jZGVmaW5lIElTX1RHTF9VWV9HVF9SRVZJRChwLCBzaW5jZSwgdW50aWwpIFwN Cj4gPiA+ID4gPiA+ICsjZGVmaW5lIElTX1RHTF9VWV9HVF9TVEVQUElORyhwLCBzaW5jZSwgdW50 aWwpIFwNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqAoKElTX1RHTF9VKHApIHx8IElTX1RH TF9ZKHApKSAmJiBcDQo+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqAgdGdsX3Jldmlkc19nZXQo cCktPmd0X3N0ZXBwaW5nID49IChzaW5jZSkgJiYgXA0KPiA+ID4gPiA+ID4gLcKgwqDCoMKgwqDC oMKgIHRnbF9yZXZpZHNfZ2V0KHApLT5ndF9zdGVwcGluZyA8PSAodW50aWwpKQ0KPiA+ID4gPiA+ ID4gK8KgwqDCoMKgwqDCoMKgIHRnbF9zdGVwcGluZ19nZXQocCktPmd0X3N0ZXBwaW5nID49IChz aW5jZSkgJiYgXA0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIHRnbF9zdGVwcGluZ19nZXQo cCktPmd0X3N0ZXBwaW5nIDw9ICh1bnRpbCkpDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IC0j ZGVmaW5lIElTX1RHTF9HVF9SRVZJRChwLCBzaW5jZSwgdW50aWwpIFwNCj4gPiA+ID4gPiA+ICsj ZGVmaW5lIElTX1RHTF9HVF9TVEVQUElORyhwLCBzaW5jZSwgdW50aWwpIFwNCj4gPiA+ID4gPiA+ IMKgwqDCoMKgwqDCoMKgwqAoSVNfVElHRVJMQUtFKHApICYmIFwNCj4gPiA+ID4gPiA+IMKgwqDC oMKgwqDCoMKgwqAgIShJU19UR0xfVShwKSB8fCBJU19UR0xfWShwKSkgJiYgXA0KPiA+ID4gPiA+ ID4gLcKgwqDCoMKgwqDCoMKgIHRnbF9yZXZpZHNfZ2V0KHApLT5ndF9zdGVwcGluZyA+PSAoc2lu Y2UpICYmIFwNCj4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB0Z2xfcmV2aWRzX2dldChwKS0+ Z3Rfc3RlcHBpbmcgPD0gKHVudGlsKSkNCj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCB0Z2xf c3RlcHBpbmdfZ2V0KHApLT5ndF9zdGVwcGluZyA+PSAoc2luY2UpICYmIFwNCj4gPiA+ID4gPiA+ ICvCoMKgwqDCoMKgwqDCoCB0Z2xfc3RlcHBpbmdfZ2V0KHApLT5ndF9zdGVwcGluZyA8PSAodW50 aWwpKQ0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiDCoCNkZWZpbmUgUktMX1JFVklEX0EwwqDC oMKgwqDCoMKgwqDCoMKgwqDCoDB4MA0KPiA+ID4gPiA+ID4gwqAjZGVmaW5lIFJLTF9SRVZJRF9C MMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAweDENCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jDQo+ID4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMNCj4gPiA+ID4gPiA+IGluZGV4IGJiYzczZGY3Zjc1My4uMzE5YWNj YTI2MzBiIDEwMDY0NA0KPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYw0KPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u Yw0KPiA+ID4gPiA+ID4gQEAgLTcxMTAsNyArNzExMCw3IEBAIHN0YXRpYyB2b2lkDQo+ID4gPiA+ ID4gPiB0Z2xfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQ0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIElM S19EUEZDX0NISUNLRU5fQ09NUF9EVU1NWV9QSVhFTCk7DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqAvKiBXYV8xNDA5ODI1Mzc2OnRnbCAocHJlLXByb2QpKi8NCj4g PiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoGlmIChJU19UR0xfRElTUF9SRVZJRChkZXZfcHJpdiwg VEdMX1JFVklEX0EwLA0KPiA+ID4gPiA+ID4gVEdMX1JFVklEX0IxKSkNCj4gPiA+ID4gPiA+ICvC oMKgwqDCoMKgwqDCoGlmIChJU19UR0xfRElTUF9TVEVQUElORyhkZXZfcHJpdiwgU1RFUF9BMCwN Cj4gPiA+ID4gPiA+IFNURVBfQjEpKQ0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBpbnRlbF91bmNvcmVfd3JpdGUoJmRldl9wcml2LT51bmNvcmUsDQo+ID4gPiA+ ID4gPiBHRU45X0NMS0dBVEVfRElTXzMsIGludGVsX3VuY29yZV9yZWFkKCZkZXZfcHJpdi0+dW5j b3JlLA0KPiA+ID4gPiA+ID4gR0VOOV9DTEtHQVRFX0RJU18zKSB8DQo+ID4gPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFRHTF9WUkhf R0FUSU5HX0RJUyk7DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4gPiAy LjI3LjANCj4gPiA+ID4gPiA+IA0KPiA+ID4gDQo+ID4gPiAtLQ0KPiA+ID4gSmFuaSBOaWt1bGEs IEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcg0KPiA+IA0KPiA+IC0tIA0KPiA+IE1h dHQgUm9wZXINCj4gPiBHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcg0KPiA+IFZUVC1PU0dDIFBs YXRmb3JtIEVuYWJsZW1lbnQNCj4gPiBJbnRlbCBDb3Jwb3JhdGlvbg0KPiA+ICg5MTYpIDM1Ni0y Nzk1DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=