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=-8.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 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 EDC21C33CAE for ; Tue, 14 Jan 2020 02:40:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9DEEA214AF for ; Tue, 14 Jan 2020 02:40:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="WGKS7pnz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729099AbgANCkK (ORCPT ); Mon, 13 Jan 2020 21:40:10 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:56024 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1729094AbgANCkK (ORCPT ); Mon, 13 Jan 2020 21:40:10 -0500 X-UUID: d111d1a3bca048738377370ea24226f6-20200114 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=s91wsWY3AMojoJAsD/yjj0Y42k7CxEKn0IaToXR7qMA=; b=WGKS7pnz8gLmOBIjrTS6ocVkv9Eb7/k/ecjRDa9Q8DnfuWDo4JXrBs6jPBom6ffAVwkuvWQ6jVyOB3jWKJo81DNugRYqzGbP0Ba+jyJnuUKJOeXjFGitTSb/xUfb53nke0KYAzI/ZZeCspFISUUnFYA23lSPFVYfYOv8heKCPf0=; X-UUID: d111d1a3bca048738377370ea24226f6-20200114 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 674285515; Tue, 14 Jan 2020 10:39:56 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 14 Jan 2020 10:39:27 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Tue, 14 Jan 2020 10:40:07 +0800 Message-ID: <1578969594.4495.3.camel@mtkswgap22> Subject: Re: [PATCH 3/4] regulator: mt6359: Add support for MT6359 regulator From: Wen Su To: Lee Jones , Rob Herring , "Mark Brown" , Matthias Brugger CC: "linux-kernel@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , "devicetree@vger.kernel.org" , Liam Girdwood , Mark Rutland , "linux-arm-kernel@lists.infradead.org" , wsd_upstream , Date: Tue, 14 Jan 2020 10:39:54 +0800 In-Reply-To: <1571218786-15073-4-git-send-email-Wen.Su@mediatek.com> References: <1571218786-15073-1-git-send-email-Wen.Su@mediatek.com> <1571218786-15073-4-git-send-email-Wen.Su@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org RGVhciByZXZpZXdlcnMsIA0KDQoJR2VudGxlIHBpbmcgZm9yIHRoaXMgcGF0Y2ggc2V0Lg0KDQpP biBXZWQsIDIwMTktMTAtMTYgYXQgMTc6MzkgKzA4MDAsIFdlbiBTdSB3cm90ZToNCj4gRnJvbTog Indlbi5zdSIgPHdlbi5zdUBtZWRpYXRlay5jb20+DQo+IA0KPiBUaGUgTVQ2MzU5IGlzIGEgcmVn dWxhdG9yIGZvdW5kIG9uIGJvYXJkcyBiYXNlZCBvbiBNZWRpYVRlayBNVDY3NzkgYW5kDQo+IHBy b2JhYmx5IG90aGVyIFNvQ3MuIEl0IGlzIGEgc28gY2FsbGVkIHBtaWMgYW5kIGNvbm5lY3RzIGFz IGEgc2xhdmUgdG8NCj4gU29DIHVzaW5nIFNQSSwgd3JhcHBlZCBpbnNpZGUgdGhlIHBtaWMtd3Jh cHBlci4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IHdlbi5zdSA8d2VuLnN1QG1lZGlhdGVrLmNvbT4N Cj4gLS0tDQo+ICBkcml2ZXJzL3JlZ3VsYXRvci9LY29uZmlnICAgICAgICAgICAgICAgICAgfCAg IDkgKw0KPiAgZHJpdmVycy9yZWd1bGF0b3IvTWFrZWZpbGUgICAgICAgICAgICAgICAgIHwgICAx ICsNCj4gIGRyaXZlcnMvcmVndWxhdG9yL210NjM1OS1yZWd1bGF0b3IuYyAgICAgICB8IDg1OSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgaW5jbHVkZS9saW51eC9yZWd1bGF0b3Iv bXQ2MzU5LXJlZ3VsYXRvci5oIHwgIDU4ICsrDQo+ICA0IGZpbGVzIGNoYW5nZWQsIDkyNyBpbnNl cnRpb25zKCspDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9yZWd1bGF0b3IvbXQ2MzU5 LXJlZ3VsYXRvci5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9saW51eC9yZWd1bGF0 b3IvbXQ2MzU5LXJlZ3VsYXRvci5oDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZWd1bGF0 b3IvS2NvbmZpZyBiL2RyaXZlcnMvcmVndWxhdG9yL0tjb25maWcNCj4gaW5kZXggYjU3MDkzZC4u NzA4NDRhOCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9yZWd1bGF0b3IvS2NvbmZpZw0KPiArKysg Yi9kcml2ZXJzL3JlZ3VsYXRvci9LY29uZmlnDQo+IEBAIC02MTgsNiArNjE4LDE1IEBAIGNvbmZp ZyBSRUdVTEFUT1JfTVQ2MzIzDQo+ICAgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBjb250cm9s IG9mIGRpZmZlcmVudCBwb3dlciByYWlscyBvZiBkZXZpY2UNCj4gICAgdGhyb3VnaCByZWd1bGF0 b3IgaW50ZXJmYWNlLg0KPiANCj4gK2NvbmZpZyBSRUdVTEFUT1JfTVQ2MzU5DQo+ICt0cmlzdGF0 ZSAiTWVkaWFUZWsgTVQ2MzU5IFBNSUMiDQo+ICtkZXBlbmRzIG9uIE1GRF9NVDYzOTcNCj4gK2hl bHANCj4gKyAgU2F5IHkgaGVyZSB0byBzZWxlY3QgdGhpcyBvcHRpb24gdG8gZW5hYmxlIHRoZSBw b3dlciByZWd1bGF0b3Igb2YNCj4gKyAgTWVkaWFUZWsgTVQ2MzU5IFBNSUMuDQo+ICsgIFRoaXMg ZHJpdmVyIHN1cHBvcnRzIHRoZSBjb250cm9sIG9mIGRpZmZlcmVudCBwb3dlciByYWlscyBvZiBk ZXZpY2UNCj4gKyAgdGhyb3VnaCByZWd1bGF0b3IgaW50ZXJmYWNlLg0KPiArDQo+ICBjb25maWcg UkVHVUxBVE9SX01UNjM4MA0KPiAgdHJpc3RhdGUgIk1lZGlhVGVrIE1UNjM4MCBQTUlDIg0KPiAg ZGVwZW5kcyBvbiBNVEtfUE1JQ19XUkFQDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3JlZ3VsYXRv ci9NYWtlZmlsZSBiL2RyaXZlcnMvcmVndWxhdG9yL01ha2VmaWxlDQo+IGluZGV4IGVlZjczYjUu LmI0YTZlMjMgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvcmVndWxhdG9yL01ha2VmaWxlDQo+ICsr KyBiL2RyaXZlcnMvcmVndWxhdG9yL01ha2VmaWxlDQo+IEBAIC03OSw2ICs3OSw3IEBAIG9iai0k KENPTkZJR19SRUdVTEFUT1JfTUMxM1hYWF9DT1JFKSArPSAgbWMxM3h4eC1yZWd1bGF0b3ItY29y ZS5vDQo+ICBvYmotJChDT05GSUdfUkVHVUxBVE9SX01DUDE2NTAyKSArPSBtY3AxNjUwMi5vDQo+ ICBvYmotJChDT05GSUdfUkVHVUxBVE9SX01UNjMxMSkgKz0gbXQ2MzExLXJlZ3VsYXRvci5vDQo+ ICBvYmotJChDT05GSUdfUkVHVUxBVE9SX01UNjMyMykrPSBtdDYzMjMtcmVndWxhdG9yLm8NCj4g K29iai0kKENPTkZJR19SRUdVTEFUT1JfTVQ2MzU5KSs9IG10NjM1OS1yZWd1bGF0b3Iubw0KPiAg b2JqLSQoQ09ORklHX1JFR1VMQVRPUl9NVDYzODApKz0gbXQ2MzgwLXJlZ3VsYXRvci5vDQo+ICBv YmotJChDT05GSUdfUkVHVUxBVE9SX01UNjM5NykrPSBtdDYzOTctcmVndWxhdG9yLm8NCj4gIG9i ai0kKENPTkZJR19SRUdVTEFUT1JfUUNPTV9SUE0pICs9IHFjb21fcnBtLXJlZ3VsYXRvci5vDQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3JlZ3VsYXRvci9tdDYzNTktcmVndWxhdG9yLmMgYi9kcml2 ZXJzL3JlZ3VsYXRvci9tdDYzNTktcmVndWxhdG9yLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMC4uMTdiNjZjNA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2RyaXZl cnMvcmVndWxhdG9yL210NjM1OS1yZWd1bGF0b3IuYw0KPiBAQCAtMCwwICsxLDg1OSBAQA0KPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4gKy8vDQo+ICsvLyBDb3B5cmln aHQgKGMpIDIwMTkgTWVkaWFUZWsgSW5jLg0KPiArDQo+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZv cm1fZGV2aWNlLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvbWZkL210NjM1OS9yZWdpc3RlcnMuaD4N Cj4gKyNpbmNsdWRlIDxsaW51eC9tZmQvbXQ2Mzk3L2NvcmUuaD4NCj4gKyNpbmNsdWRlIDxsaW51 eC9tb2R1bGUuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4NCj4gKyNpbmNsdWRl IDxsaW51eC9yZWdtYXAuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvZHJpdmVyLmg+ DQo+ICsjaW5jbHVkZSA8bGludXgvcmVndWxhdG9yL21hY2hpbmUuaD4NCj4gKyNpbmNsdWRlIDxs aW51eC9yZWd1bGF0b3IvbXQ2MzU5LXJlZ3VsYXRvci5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L3Jl Z3VsYXRvci9vZl9yZWd1bGF0b3IuaD4NCj4gKw0KPiArI2RlZmluZSBNVDYzNTlfQlVDS19NT0RF X0FVVE8wDQo+ICsjZGVmaW5lIE1UNjM1OV9CVUNLX01PREVfRk9SQ0VfUFdNMQ0KPiArI2RlZmlu ZSBNVDYzNTlfQlVDS19NT0RFX05PUk1BTDANCj4gKyNkZWZpbmUgTVQ2MzU5X0JVQ0tfTU9ERV9M UDINCj4gKw0KPiArLyoNCj4gKyAqIE1UNjM1OSByZWd1bGF0b3JzJyBpbmZvcm1hdGlvbg0KPiAr ICoNCj4gKyAqIEBkZXNjOiBzdGFuZGFyZCBmaWVsZHMgb2YgcmVndWxhdG9yIGRlc2NyaXB0aW9u Lg0KPiArICogQHN0YXR1c19yZWc6IGZvciBxdWVyeSBzdGF0dXMgb2YgcmVndWxhdG9ycy4NCj4g KyAqIEBxaTogTWFzayBmb3IgcXVlcnkgZW5hYmxlIHNpZ25hbCBzdGF0dXMgb2YgcmVndWxhdG9y cy4NCj4gKyAqIEBtb2Rlc2V0X3JlZzogZm9yIG9wZXJhdGluZyBBVVRPL1BXTSBtb2RlIHJlZ2lz dGVyLg0KPiArICogQG1vZGVzZXRfbWFzazogTUFTSyBmb3Igb3BlcmF0aW5nIG1vZGVzZXQgcmVn aXN0ZXIuDQo+ICsgKiBAbW9kZXNldF9zaGlmdDogU0hJRlQgZm9yIG9wZXJhdGluZyBtb2Rlc2V0 IHJlZ2lzdGVyLg0KPiArICovDQo+ICtzdHJ1Y3QgbXQ2MzU5X3JlZ3VsYXRvcl9pbmZvIHsNCj4g K3N0cnVjdCByZWd1bGF0b3JfZGVzYyBkZXNjOw0KPiArdTMyIHN0YXR1c19yZWc7DQo+ICt1MzIg cWk7DQo+ICtjb25zdCB1MzIgKmluZGV4X3RhYmxlOw0KPiArdW5zaWduZWQgaW50IG5fdGFibGU7 DQo+ICt1MzIgdnNlbF9zaGlmdDsNCj4gK3UzMiBkYV92c2VsX3JlZzsNCj4gK3UzMiBkYV92c2Vs X21hc2s7DQo+ICt1MzIgZGFfdnNlbF9zaGlmdDsNCj4gK3UzMiBtb2Rlc2V0X3JlZzsNCj4gK3Uz MiBtb2Rlc2V0X21hc2s7DQo+ICt1MzIgbW9kZXNldF9zaGlmdDsNCj4gK3UzMiBscF9tb2RlX3Jl ZzsNCj4gK3UzMiBscF9tb2RlX21hc2s7DQo+ICt1MzIgbHBfbW9kZV9zaGlmdDsNCj4gK307DQo+ ICsNCj4gKyNkZWZpbmUgTVQ2MzU5X0JVQ0sobWF0Y2gsIF9uYW1lLCBtaW4sIG1heCwgc3RlcCwg bWluX3NlbCxcDQo+ICt2b2x0X3JhbmdlcywgX2VuYWJsZV9yZWcsIF9zdGF0dXNfcmVnLFwNCj4g K19kYV92c2VsX3JlZywgX2RhX3ZzZWxfbWFzaywgX2RhX3ZzZWxfc2hpZnQsXA0KPiArX3ZzZWxf cmVnLCBfdnNlbF9tYXNrLFwNCj4gK19scF9tb2RlX3JlZywgX2xwX21vZGVfc2hpZnQsXA0KPiAr X21vZGVzZXRfcmVnLCBfbW9kZXNldF9zaGlmdClcDQo+ICtbTVQ2MzU5X0lEXyMjX25hbWVdID0g e1wNCj4gKy5kZXNjID0ge1wNCj4gKy5uYW1lID0gI19uYW1lLFwNCj4gKy5vZl9tYXRjaCA9IG9m X21hdGNoX3B0cihtYXRjaCksXA0KPiArLm9wcyA9ICZtdDYzNTlfdm9sdF9yYW5nZV9vcHMsXA0K PiArLnR5cGUgPSBSRUdVTEFUT1JfVk9MVEFHRSxcDQo+ICsuaWQgPSBNVDYzNTlfSURfIyNfbmFt ZSxcDQo+ICsub3duZXIgPSBUSElTX01PRFVMRSxcDQo+ICsudVZfc3RlcCA9IChzdGVwKSxcDQo+ ICsubGluZWFyX21pbl9zZWwgPSAobWluX3NlbCksXA0KPiArLm5fdm9sdGFnZXMgPSAoKG1heCkg LSAobWluKSkgLyAoc3RlcCkgKyAxLFwNCj4gKy5taW5fdVYgPSAobWluKSxcDQo+ICsubGluZWFy X3JhbmdlcyA9IHZvbHRfcmFuZ2VzLFwNCj4gKy5uX2xpbmVhcl9yYW5nZXMgPSBBUlJBWV9TSVpF KHZvbHRfcmFuZ2VzKSxcDQo+ICsudnNlbF9yZWcgPSBfdnNlbF9yZWcsXA0KPiArLnZzZWxfbWFz ayA9IF92c2VsX21hc2ssXA0KPiArLmVuYWJsZV9yZWcgPSBfZW5hYmxlX3JlZyxcDQo+ICsuZW5h YmxlX21hc2sgPSBCSVQoMCksXA0KPiArLm9mX21hcF9tb2RlID0gbXQ2MzU5X21hcF9tb2RlLFwN Cj4gK30sXA0KPiArLmRhX3ZzZWxfcmVnID0gX2RhX3ZzZWxfcmVnLFwNCj4gKy5kYV92c2VsX21h c2sgPSBfZGFfdnNlbF9tYXNrLFwNCj4gKy5kYV92c2VsX3NoaWZ0ID0gX2RhX3ZzZWxfc2hpZnQs XA0KPiArLnN0YXR1c19yZWcgPSBfc3RhdHVzX3JlZyxcDQo+ICsucWkgPSBCSVQoMCksXA0KPiAr LmxwX21vZGVfcmVnID0gX2xwX21vZGVfcmVnLFwNCj4gKy5scF9tb2RlX21hc2sgPSBCSVQoX2xw X21vZGVfc2hpZnQpLFwNCj4gKy5scF9tb2RlX3NoaWZ0ID0gX2xwX21vZGVfc2hpZnQsXA0KPiAr Lm1vZGVzZXRfcmVnID0gX21vZGVzZXRfcmVnLFwNCj4gKy5tb2Rlc2V0X21hc2sgPSBCSVQoX21v ZGVzZXRfc2hpZnQpLFwNCj4gKy5tb2Rlc2V0X3NoaWZ0ID0gX21vZGVzZXRfc2hpZnRcDQo+ICt9 DQo+ICsNCj4gKyNkZWZpbmUgTVQ2MzU5X0xET19MSU5FQVIobWF0Y2gsIF9uYW1lLCBtaW4sIG1h eCwgc3RlcCwgbWluX3NlbCxcDQo+ICt2b2x0X3JhbmdlcywgX2VuYWJsZV9yZWcsIF9zdGF0dXNf cmVnLFwNCj4gK19kYV92c2VsX3JlZywgX2RhX3ZzZWxfbWFzaywgX2RhX3ZzZWxfc2hpZnQsXA0K PiArX3ZzZWxfcmVnLCBfdnNlbF9tYXNrKVwNCj4gK1tNVDYzNTlfSURfIyNfbmFtZV0gPSB7XA0K PiArLmRlc2MgPSB7XA0KPiArLm5hbWUgPSAjX25hbWUsXA0KPiArLm9mX21hdGNoID0gb2ZfbWF0 Y2hfcHRyKG1hdGNoKSxcDQo+ICsub3BzID0gJm10NjM1OV92b2x0X3JhbmdlX29wcyxcDQo+ICsu dHlwZSA9IFJFR1VMQVRPUl9WT0xUQUdFLFwNCj4gKy5pZCA9IE1UNjM1OV9JRF8jI19uYW1lLFwN Cj4gKy5vd25lciA9IFRISVNfTU9EVUxFLFwNCj4gKy51Vl9zdGVwID0gKHN0ZXApLFwNCj4gKy5s aW5lYXJfbWluX3NlbCA9IChtaW5fc2VsKSxcDQo+ICsubl92b2x0YWdlcyA9ICgobWF4KSAtICht aW4pKSAvIChzdGVwKSArIDEsXA0KPiArLm1pbl91ViA9IChtaW4pLFwNCj4gKy5saW5lYXJfcmFu Z2VzID0gdm9sdF9yYW5nZXMsXA0KPiArLm5fbGluZWFyX3JhbmdlcyA9IEFSUkFZX1NJWkUodm9s dF9yYW5nZXMpLFwNCj4gKy52c2VsX3JlZyA9IF92c2VsX3JlZyxcDQo+ICsudnNlbF9tYXNrID0g X3ZzZWxfbWFzayxcDQo+ICsuZW5hYmxlX3JlZyA9IF9lbmFibGVfcmVnLFwNCj4gKy5lbmFibGVf bWFzayA9IEJJVCgwKSxcDQo+ICt9LFwNCj4gKy5kYV92c2VsX3JlZyA9IF9kYV92c2VsX3JlZyxc DQo+ICsuZGFfdnNlbF9tYXNrID0gX2RhX3ZzZWxfbWFzayxcDQo+ICsuZGFfdnNlbF9zaGlmdCA9 IF9kYV92c2VsX3NoaWZ0LFwNCj4gKy5zdGF0dXNfcmVnID0gX3N0YXR1c19yZWcsXA0KPiArLnFp ID0gQklUKDApLFwNCj4gK30NCj4gKw0KPiArI2RlZmluZSBNVDYzNTlfTERPKG1hdGNoLCBfbmFt ZSwgX3ZvbHRfdGFibGUsIF9pbmRleF90YWJsZSxcDQo+ICtfZW5hYmxlX3JlZywgX2VuYWJsZV9t YXNrLCBfc3RhdHVzX3JlZyxcDQo+ICtfdnNlbF9yZWcsIF92c2VsX21hc2ssIF92c2VsX3NoaWZ0 KVwNCj4gK1tNVDYzNTlfSURfIyNfbmFtZV0gPSB7XA0KPiArLmRlc2MgPSB7XA0KPiArLm5hbWUg PSAjX25hbWUsXA0KPiArLm9mX21hdGNoID0gb2ZfbWF0Y2hfcHRyKG1hdGNoKSxcDQo+ICsub3Bz ID0gJm10NjM1OV92b2x0X3RhYmxlX29wcyxcDQo+ICsudHlwZSA9IFJFR1VMQVRPUl9WT0xUQUdF LFwNCj4gKy5pZCA9IE1UNjM1OV9JRF8jI19uYW1lLFwNCj4gKy5vd25lciA9IFRISVNfTU9EVUxF LFwNCj4gKy5uX3ZvbHRhZ2VzID0gQVJSQVlfU0laRShfdm9sdF90YWJsZSksXA0KPiArLnZvbHRf dGFibGUgPSBfdm9sdF90YWJsZSxcDQo+ICsudnNlbF9yZWcgPSBfdnNlbF9yZWcsXA0KPiArLnZz ZWxfbWFzayA9IF92c2VsX21hc2ssXA0KPiArLmVuYWJsZV9yZWcgPSBfZW5hYmxlX3JlZyxcDQo+ ICsuZW5hYmxlX21hc2sgPSBCSVQoX2VuYWJsZV9tYXNrKSxcDQo+ICt9LFwNCj4gKy5zdGF0dXNf cmVnID0gX3N0YXR1c19yZWcsXA0KPiArLnFpID0gQklUKDApLFwNCj4gKy5pbmRleF90YWJsZSA9 IF9pbmRleF90YWJsZSxcDQo+ICsubl90YWJsZSA9IEFSUkFZX1NJWkUoX2luZGV4X3RhYmxlKSxc DQo+ICsudnNlbF9zaGlmdCA9IF92c2VsX3NoaWZ0LFwNCj4gK30NCj4gKw0KPiArI2RlZmluZSBN VDYzNTlfUkVHX0ZJWEVEKG1hdGNoLCBfbmFtZSwgX2VuYWJsZV9yZWcsXA0KPiArX3N0YXR1c19y ZWcsIF9maXhlZF92b2x0KVwNCj4gK1tNVDYzNTlfSURfIyNfbmFtZV0gPSB7XA0KPiArLmRlc2Mg PSB7XA0KPiArLm5hbWUgPSAjX25hbWUsXA0KPiArLm9mX21hdGNoID0gb2ZfbWF0Y2hfcHRyKG1h dGNoKSxcDQo+ICsub3BzID0gJm10NjM1OV92b2x0X2ZpeGVkX29wcyxcDQo+ICsudHlwZSA9IFJF R1VMQVRPUl9WT0xUQUdFLFwNCj4gKy5pZCA9IE1UNjM1OV9JRF8jI19uYW1lLFwNCj4gKy5vd25l ciA9IFRISVNfTU9EVUxFLFwNCj4gKy5uX3ZvbHRhZ2VzID0gMSxcDQo+ICsuZW5hYmxlX3JlZyA9 IF9lbmFibGVfcmVnLFwNCj4gKy5lbmFibGVfbWFzayA9IEJJVCgwKSxcDQo+ICsuZml4ZWRfdVYg PSAoX2ZpeGVkX3ZvbHQpLFwNCj4gK30sXA0KPiArLnN0YXR1c19yZWcgPSBfc3RhdHVzX3JlZyxc DQo+ICsucWkgPSBCSVQoMCksXA0KPiArfQ0KPiArDQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJl Z3VsYXRvcl9saW5lYXJfcmFuZ2UgbXRfdm9sdF9yYW5nZTFbXSA9IHsNCj4gK1JFR1VMQVRPUl9M SU5FQVJfUkFOR0UoODAwMDAwLCAwLCAweDcwLCAxMjUwMCksDQo+ICt9Ow0KPiArDQo+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IHJlZ3VsYXRvcl9saW5lYXJfcmFuZ2UgbXRfdm9sdF9yYW5nZTJbXSA9 IHsNCj4gK1JFR1VMQVRPUl9MSU5FQVJfUkFOR0UoNDAwMDAwLCAwLCAweDdmLCA2MjUwKSwNCj4g K307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVndWxhdG9yX2xpbmVhcl9yYW5nZSBt dF92b2x0X3JhbmdlM1tdID0gew0KPiArUkVHVUxBVE9SX0xJTkVBUl9SQU5HRSg0MDAwMDAsIDAs IDB4NzAsIDYyNTApLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWd1bGF0 b3JfbGluZWFyX3JhbmdlIG10X3ZvbHRfcmFuZ2U0W10gPSB7DQo+ICtSRUdVTEFUT1JfTElORUFS X1JBTkdFKDgwMDAwMCwgMCwgMHg0MCwgMTI1MDApLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNv bnN0IHN0cnVjdCByZWd1bGF0b3JfbGluZWFyX3JhbmdlIG10X3ZvbHRfcmFuZ2U1W10gPSB7DQo+ ICtSRUdVTEFUT1JfTElORUFSX1JBTkdFKDUwMDAwMCwgMCwgMHgzRiwgNTAwMDApLA0KPiArfTsN Cj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWd1bGF0b3JfbGluZWFyX3JhbmdlIG10X3Zv bHRfcmFuZ2U2W10gPSB7DQo+ICtSRUdVTEFUT1JfTElORUFSX1JBTkdFKDUwMDAwMCwgMCwgMHg2 ZiwgNjI1MCksDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ3VsYXRvcl9s aW5lYXJfcmFuZ2UgbXRfdm9sdF9yYW5nZTdbXSA9IHsNCj4gK1JFR1VMQVRPUl9MSU5FQVJfUkFO R0UoNTAwMDAwLCAwLCAweDYwLCA2MjUwKSwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1 MzIgdnNpbTFfdm9sdGFnZXNbXSA9IHsNCj4gKzE3MDAwMDAsIDE4MDAwMDAsIDI3MDAwMDAsIDMw MDAwMDAsIDMxMDAwMDAsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdTMyIHZpYnJfdm9s dGFnZXNbXSA9IHsNCj4gKzEyMDAwMDAsIDEzMDAwMDAsIDE1MDAwMDAsIDE4MDAwMDAsIDIwMDAw MDAsDQo+ICsyNzAwMDAwLCAyODAwMDAwLCAzMDAwMDAwLCAzMzAwMDAwLA0KPiArfTsNCj4gKw0K PiArc3RhdGljIGNvbnN0IHUzMiB2cmYxMl92b2x0YWdlc1tdID0gew0KPiArMTEwMDAwMCwgMTIw MDAwMCwgMTMwMDAwMCwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1MzIgdm9sdDE4X3Zv bHRhZ2VzW10gPSB7DQo+ICsxNzAwMDAwLCAxODAwMDAwLCAxOTAwMDAwLA0KPiArfTsNCj4gKw0K PiArc3RhdGljIGNvbnN0IHUzMiB2Y24xM192b2x0YWdlc1tdID0gew0KPiArOTAwMDAwLCAxMDAw MDAwLCAxMjAwMDAwLCAxMzAwMDAwLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHUzMiB2 Y24zM192b2x0YWdlc1tdID0gew0KPiArMjgwMDAwMCwgMzMwMDAwMCwgMzQwMDAwMCwgMzUwMDAw MCwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1MzIgdmVmdXNlX3ZvbHRhZ2VzW10gPSB7 DQo+ICsxNzAwMDAwLCAxODAwMDAwLCAxOTAwMDAwLCAyMDAwMDAwLA0KPiArfTsNCj4gKw0KPiAr c3RhdGljIGNvbnN0IHUzMiB2eG8yMl92b2x0YWdlc1tdID0gew0KPiArMTgwMDAwMCwgMjIwMDAw MCwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1MzIgdnJmY2tfdm9sdGFnZXNbXSA9IHsN Cj4gKzE1MDAwMDAsIDE2MDAwMDAsIDE3MDAwMDAsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29u c3QgdTMyIHZpbzI4X3ZvbHRhZ2VzW10gPSB7DQo+ICsyODAwMDAwLCAyOTAwMDAwLCAzMDAwMDAw LCAzMTAwMDAwLCAzMzAwMDAwLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHUzMiB2ZW1j X3ZvbHRhZ2VzW10gPSB7DQo+ICsyOTAwMDAwLCAzMDAwMDAwLCAzMzAwMDAwLA0KPiArfTsNCj4g Kw0KPiArc3RhdGljIGNvbnN0IHUzMiB2YTEyX3ZvbHRhZ2VzW10gPSB7DQo+ICsxMjAwMDAwLCAx MzAwMDAwLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHUzMiB2YTA5X3ZvbHRhZ2VzW10g PSB7DQo+ICs4MDAwMDAsIDkwMDAwMCwgMTIwMDAwMCwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBj b25zdCB1MzIgdnJmMThfdm9sdGFnZXNbXSA9IHsNCj4gKzE3MDAwMDAsIDE4MDAwMDAsIDE4MTAw MDAsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdTMyIHZiYmNrX3ZvbHRhZ2VzW10gPSB7 DQo+ICsxMTAwMDAwLCAxMTUwMDAwLCAxMjAwMDAwLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNv bnN0IHUzMiB2c2ltMl92b2x0YWdlc1tdID0gew0KPiArMTcwMDAwMCwgMTgwMDAwMCwgMjcwMDAw MCwgMzAwMDAwMCwgMzEwMDAwMCwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1MzIgdnNp bTFfaWR4W10gPSB7DQo+ICszLCA0LCA4LCAxMSwgMTIsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMg Y29uc3QgdTMyIHZpYnJfaWR4W10gPSB7DQo+ICswLCAxLCAyLCA0LCA1LCA4LCA5LCAxMSwgMTMs DQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdTMyIHZyZjEyX2lkeFtdID0gew0KPiArMiwg MywgNCwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1MzIgdm9sdDE4X2lkeFtdID0gew0K PiArMTEsIDEyLCAxMywNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1MzIgdmNuMTNfaWR4 W10gPSB7DQo+ICswLCAxLCAzLCA0LA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHUzMiB2 Y24zM19pZHhbXSA9IHsNCj4gKzksIDEzLCAxNCwgMTUsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMg Y29uc3QgdTMyIHZlZnVzZV9pZHhbXSA9IHsNCj4gKzExLCAxMiwgMTMsIDE0LA0KPiArfTsNCj4g Kw0KPiArc3RhdGljIGNvbnN0IHUzMiB2eG8yMl9pZHhbXSA9IHsNCj4gKzAsIDQsDQo+ICt9Ow0K PiArDQo+ICtzdGF0aWMgY29uc3QgdTMyIHZyZmNrX2lkeFtdID0gew0KPiArMiwgNywgMTIsDQo+ ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdTMyIHZpbzI4X2lkeFtdID0gew0KPiArOSwgMTAs IDExLCAxMiwgMTMsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdTMyIHZlbWNfaWR4W10g PSB7DQo+ICsxMCwgMTEsIDEzLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHUzMiB2YTEy X2lkeFtdID0gew0KPiArNiwgNywNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1MzIgdmEw OV9pZHhbXSA9IHsNCj4gKzIsIDMsIDYsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdTMy IHZyZjE4X2lkeFtdID0gew0KPiArNSwgNiwgNywNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25z dCB1MzIgdmJiY2tfaWR4W10gPSB7DQo+ICs0LCA4LCAxMiwNCj4gK307DQo+ICsNCj4gK3N0YXRp YyBjb25zdCB1MzIgdnNpbTJfaWR4W10gPSB7DQo+ICszLCA0LCA4LCAxMSwgMTIsDQo+ICt9Ow0K PiArDQo+ICtzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBtdDYzNTlfbWFwX21vZGUodW5zaWdu ZWQgaW50IG1vZGUpDQo+ICt7DQo+ICtzd2l0Y2ggKG1vZGUpIHsNCj4gK2Nhc2UgTVQ2MzU5X0JV Q0tfTU9ERV9OT1JNQUw6DQo+ICtyZXR1cm4gUkVHVUxBVE9SX01PREVfTk9STUFMOw0KPiArY2Fz ZSBNVDYzNTlfQlVDS19NT0RFX0ZPUkNFX1BXTToNCj4gK3JldHVybiBSRUdVTEFUT1JfTU9ERV9G QVNUOw0KPiArY2FzZSBNVDYzNTlfQlVDS19NT0RFX0xQOg0KPiArcmV0dXJuIFJFR1VMQVRPUl9N T0RFX0lETEU7DQo+ICtkZWZhdWx0Og0KPiArcmV0dXJuIFJFR1VMQVRPUl9NT0RFX0lOVkFMSUQ7 DQo+ICt9DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQgbXQ2MzU5X3NldF92b2x0YWdlX3NlbChz dHJ1Y3QgcmVndWxhdG9yX2RldiAqcmRldiwNCj4gKyAgdW5zaWduZWQgaW50IHNlbGVjdG9yKQ0K PiArew0KPiAraW50IGlkeCwgcmV0Ow0KPiArY29uc3QgdTMyICpwdm9sOw0KPiArc3RydWN0IG10 NjM1OV9yZWd1bGF0b3JfaW5mbyAqaW5mbyA9IHJkZXZfZ2V0X2RydmRhdGEocmRldik7DQo+ICsN Cj4gK3B2b2wgPSBpbmZvLT5pbmRleF90YWJsZTsNCj4gKw0KPiAraWR4ID0gcHZvbFtzZWxlY3Rv cl07DQo+ICtyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMocmRldi0+cmVnbWFwLCBpbmZvLT5kZXNj LnZzZWxfcmVnLA0KPiArIGluZm8tPmRlc2MudnNlbF9tYXNrLA0KPiArIGlkeCA8PCBpbmZvLT52 c2VsX3NoaWZ0KTsNCj4gKw0KPiArcmV0dXJuIHJldDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGlu dCBtdDYzNTlfZ2V0X3ZvbHRhZ2Vfc2VsKHN0cnVjdCByZWd1bGF0b3JfZGV2ICpyZGV2KQ0KPiAr ew0KPiAraW50IGlkeCwgcmV0Ow0KPiArdTMyIHNlbGVjdG9yOw0KPiArc3RydWN0IG10NjM1OV9y ZWd1bGF0b3JfaW5mbyAqaW5mbyA9IHJkZXZfZ2V0X2RydmRhdGEocmRldik7DQo+ICtjb25zdCB1 MzIgKnB2b2w7DQo+ICsNCj4gK3JldCA9IHJlZ21hcF9yZWFkKHJkZXYtPnJlZ21hcCwgaW5mby0+ ZGVzYy52c2VsX3JlZywgJnNlbGVjdG9yKTsNCj4gK2lmIChyZXQgIT0gMCkgew0KPiArZGV2X2Vy cigmcmRldi0+ZGV2LA0KPiArIkZhaWxlZCB0byBnZXQgbXQ2MzU5ICVzIHZzZWwgcmVnOiAlZFxu IiwNCj4gK2luZm8tPmRlc2MubmFtZSwgcmV0KTsNCj4gK3JldHVybiByZXQ7DQo+ICt9DQo+ICsN Cj4gK3NlbGVjdG9yID0gKHNlbGVjdG9yICYgaW5mby0+ZGVzYy52c2VsX21hc2spID4+IGluZm8t PnZzZWxfc2hpZnQ7DQo+ICtwdm9sID0gaW5mby0+aW5kZXhfdGFibGU7DQo+ICtmb3IgKGlkeCA9 IDA7IGlkeCA8IGluZm8tPmRlc2Mubl92b2x0YWdlczsgaWR4KyspIHsNCj4gK2lmIChwdm9sW2lk eF0gPT0gc2VsZWN0b3IpDQo+ICtyZXR1cm4gaWR4Ow0KPiArfQ0KPiArDQo+ICtyZXR1cm4gLUVJ TlZBTDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludCBtdDYzNTlfZ2V0X2xpbmVhcl92b2x0YWdl X3NlbChzdHJ1Y3QgcmVndWxhdG9yX2RldiAqcmRldikNCj4gK3sNCj4gK3N0cnVjdCBtdDYzNTlf cmVndWxhdG9yX2luZm8gKmluZm8gPSByZGV2X2dldF9kcnZkYXRhKHJkZXYpOw0KPiAraW50IHJl dCwgcmVndmFsOw0KPiArDQo+ICtyZXQgPSByZWdtYXBfcmVhZChyZGV2LT5yZWdtYXAsIGluZm8t PmRhX3ZzZWxfcmVnLCAmcmVndmFsKTsNCj4gK2lmIChyZXQgIT0gMCkgew0KPiArZGV2X2Vycigm cmRldi0+ZGV2LA0KPiArIkZhaWxlZCB0byBnZXQgbXQ2MzU5IEJ1Y2sgJXMgdnNlbCByZWc6ICVk XG4iLA0KPiAraW5mby0+ZGVzYy5uYW1lLCByZXQpOw0KPiArcmV0dXJuIHJldDsNCj4gK30NCj4g Kw0KPiArcmV0ID0gKHJlZ3ZhbCA+PiBpbmZvLT5kYV92c2VsX3NoaWZ0KSAmIGluZm8tPmRhX3Zz ZWxfbWFzazsNCj4gKw0KPiArcmV0dXJuIHJldDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludCBt dDYzNTlfZ2V0X3N0YXR1cyhzdHJ1Y3QgcmVndWxhdG9yX2RldiAqcmRldikNCj4gK3sNCj4gK2lu dCByZXQ7DQo+ICt1MzIgcmVndmFsOw0KPiArc3RydWN0IG10NjM1OV9yZWd1bGF0b3JfaW5mbyAq aW5mbyA9IHJkZXZfZ2V0X2RydmRhdGEocmRldik7DQo+ICsNCj4gK3JldCA9IHJlZ21hcF9yZWFk KHJkZXYtPnJlZ21hcCwgaW5mby0+c3RhdHVzX3JlZywgJnJlZ3ZhbCk7DQo+ICtpZiAocmV0ICE9 IDApIHsNCj4gK2Rldl9lcnIoJnJkZXYtPmRldiwgIkZhaWxlZCB0byBnZXQgZW5hYmxlIHJlZzog JWRcbiIsIHJldCk7DQo+ICtyZXR1cm4gcmV0Ow0KPiArfQ0KPiArDQo+ICtyZXR1cm4gKHJlZ3Zh bCAmIGluZm8tPnFpKSA/IFJFR1VMQVRPUl9TVEFUVVNfT04gOiBSRUdVTEFUT1JfU1RBVFVTX09G RjsNCj4gK30NCj4gKw0KPiArc3RhdGljIHVuc2lnbmVkIGludCBtdDYzNTlfcmVndWxhdG9yX2dl dF9tb2RlKHN0cnVjdCByZWd1bGF0b3JfZGV2ICpyZGV2KQ0KPiArew0KPiArc3RydWN0IG10NjM1 OV9yZWd1bGF0b3JfaW5mbyAqaW5mbyA9IHJkZXZfZ2V0X2RydmRhdGEocmRldik7DQo+ICtpbnQg cmV0LCByZWd2YWw7DQo+ICsNCj4gK3JldCA9IHJlZ21hcF9yZWFkKHJkZXYtPnJlZ21hcCwgaW5m by0+bW9kZXNldF9yZWcsICZyZWd2YWwpOw0KPiAraWYgKHJldCAhPSAwKSB7DQo+ICtkZXZfZXJy KCZyZGV2LT5kZXYsDQo+ICsiRmFpbGVkIHRvIGdldCBtdDYzNTkgYnVjayBtb2RlOiAlZFxuIiwg cmV0KTsNCj4gK3JldHVybiByZXQ7DQo+ICt9DQo+ICsNCj4gK2lmICgocmVndmFsICYgaW5mby0+ bW9kZXNldF9tYXNrKSA+PiBpbmZvLT5tb2Rlc2V0X3NoaWZ0ID09DQo+ICtNVDYzNTlfQlVDS19N T0RFX0ZPUkNFX1BXTSkNCj4gK3JldHVybiBSRUdVTEFUT1JfTU9ERV9GQVNUOw0KPiArDQo+ICty ZXQgPSByZWdtYXBfcmVhZChyZGV2LT5yZWdtYXAsIGluZm8tPmxwX21vZGVfcmVnLCAmcmVndmFs KTsNCj4gK2lmIChyZXQgIT0gMCkgew0KPiArZGV2X2VycigmcmRldi0+ZGV2LA0KPiArIkZhaWxl ZCB0byBnZXQgbXQ2MzU5IGJ1Y2sgbHAgbW9kZTogJWRcbiIsIHJldCk7DQo+ICtyZXR1cm4gcmV0 Ow0KPiArfQ0KPiArDQo+ICtpZiAocmVndmFsICYgaW5mby0+bHBfbW9kZV9tYXNrKQ0KPiArcmV0 dXJuIFJFR1VMQVRPUl9NT0RFX0lETEU7DQo+ICtlbHNlDQo+ICtyZXR1cm4gUkVHVUxBVE9SX01P REVfTk9STUFMOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50IG10NjM1OV9yZWd1bGF0b3Jfc2V0 X21vZGUoc3RydWN0IHJlZ3VsYXRvcl9kZXYgKnJkZXYsDQo+ICsgICAgIHVuc2lnbmVkIGludCBt b2RlKQ0KPiArew0KPiArc3RydWN0IG10NjM1OV9yZWd1bGF0b3JfaW5mbyAqaW5mbyA9IHJkZXZf Z2V0X2RydmRhdGEocmRldik7DQo+ICtpbnQgcmV0ID0gMCwgdmFsOw0KPiAraW50IGN1cnJfbW9k ZTsNCj4gKw0KPiArY3Vycl9tb2RlID0gbXQ2MzU5X3JlZ3VsYXRvcl9nZXRfbW9kZShyZGV2KTsN Cj4gK3N3aXRjaCAobW9kZSkgew0KPiArY2FzZSBSRUdVTEFUT1JfTU9ERV9GQVNUOg0KPiAraWYg KGN1cnJfbW9kZSA9PSBSRUdVTEFUT1JfTU9ERV9JRExFKSB7DQo+ICtXQVJOX09OKDEpOw0KPiAr ZGV2X25vdGljZSgmcmRldi0+ZGV2LA0KPiArICAgIkJVQ0sgJXMgaXMgTFAgbW9kZSwgY2FuJ3Qg RlBXTVxuIiwNCj4gKyAgIHJkZXYtPmRlc2MtPm5hbWUpOw0KPiArcmV0dXJuIC1FSU87DQo+ICt9 DQo+ICt2YWwgPSBNVDYzNTlfQlVDS19NT0RFX0ZPUkNFX1BXTTsNCj4gK3ZhbCA8PD0gaW5mby0+ bW9kZXNldF9zaGlmdDsNCj4gK3JldCA9IHJlZ21hcF91cGRhdGVfYml0cyhyZGV2LT5yZWdtYXAs DQo+ICsgaW5mby0+bW9kZXNldF9yZWcsDQo+ICsgaW5mby0+bW9kZXNldF9tYXNrLA0KPiArIHZh bCk7DQo+ICticmVhazsNCj4gK2Nhc2UgUkVHVUxBVE9SX01PREVfTk9STUFMOg0KPiAraWYgKGN1 cnJfbW9kZSA9PSBSRUdVTEFUT1JfTU9ERV9GQVNUKSB7DQo+ICt2YWwgPSBNVDYzNTlfQlVDS19N T0RFX0FVVE87DQo+ICt2YWwgPDw9IGluZm8tPm1vZGVzZXRfc2hpZnQ7DQo+ICtyZXQgPSByZWdt YXBfdXBkYXRlX2JpdHMocmRldi0+cmVnbWFwLA0KPiArIGluZm8tPm1vZGVzZXRfcmVnLA0KPiAr IGluZm8tPm1vZGVzZXRfbWFzaywNCj4gKyB2YWwpOw0KPiArfSBlbHNlIGlmIChjdXJyX21vZGUg PT0gUkVHVUxBVE9SX01PREVfSURMRSkgew0KPiArdmFsID0gTVQ2MzU5X0JVQ0tfTU9ERV9OT1JN QUw7DQo+ICt2YWwgPDw9IGluZm8tPmxwX21vZGVfc2hpZnQ7DQo+ICtyZXQgPSByZWdtYXBfdXBk YXRlX2JpdHMocmRldi0+cmVnbWFwLA0KPiArIGluZm8tPmxwX21vZGVfcmVnLA0KPiArIGluZm8t PmxwX21vZGVfbWFzaywNCj4gKyB2YWwpOw0KPiArdWRlbGF5KDEwMCk7DQo+ICt9DQo+ICticmVh azsNCj4gK2Nhc2UgUkVHVUxBVE9SX01PREVfSURMRToNCj4gK2lmIChjdXJyX21vZGUgPT0gUkVH VUxBVE9SX01PREVfRkFTVCkgew0KPiArV0FSTl9PTigxKTsNCj4gK2Rldl9ub3RpY2UoJnJkZXYt PmRldiwNCj4gKyAgICJCVUNLICVzIGlzIEZQV00gbW9kZSwgY2FuJ3QgZW50ZXIgTFBcbiIsDQo+ ICsgICByZGV2LT5kZXNjLT5uYW1lKTsNCj4gK3JldHVybiAtRUlPOw0KPiArfQ0KPiArdmFsID0g TVQ2MzU5X0JVQ0tfTU9ERV9MUCA+PiAxOw0KPiArdmFsIDw8PSBpbmZvLT5scF9tb2RlX3NoaWZ0 Ow0KPiArcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHJkZXYtPnJlZ21hcCwNCj4gKyBpbmZvLT5s cF9tb2RlX3JlZywNCj4gKyBpbmZvLT5scF9tb2RlX21hc2ssDQo+ICsgdmFsKTsNCj4gK2JyZWFr Ow0KPiArZGVmYXVsdDoNCj4gK3JldHVybiAtRUlOVkFMOw0KPiArfQ0KPiArDQo+ICtpZiAocmV0 ICE9IDApIHsNCj4gK2Rldl9lcnIoJnJkZXYtPmRldiwNCj4gKyJGYWlsZWQgdG8gc2V0IG10NjM1 OSBidWNrIG1vZGU6ICVkXG4iLCByZXQpOw0KPiArfQ0KPiArDQo+ICtyZXR1cm4gcmV0Ow0KPiAr fQ0KPiArDQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ3VsYXRvcl9vcHMgbXQ2MzU5X3ZvbHRf cmFuZ2Vfb3BzID0gew0KPiArLmxpc3Rfdm9sdGFnZSA9IHJlZ3VsYXRvcl9saXN0X3ZvbHRhZ2Vf bGluZWFyX3JhbmdlLA0KPiArLm1hcF92b2x0YWdlID0gcmVndWxhdG9yX21hcF92b2x0YWdlX2xp bmVhcl9yYW5nZSwNCj4gKy5zZXRfdm9sdGFnZV9zZWwgPSByZWd1bGF0b3Jfc2V0X3ZvbHRhZ2Vf c2VsX3JlZ21hcCwNCj4gKy5nZXRfdm9sdGFnZV9zZWwgPSBtdDYzNTlfZ2V0X2xpbmVhcl92b2x0 YWdlX3NlbCwNCj4gKy5zZXRfdm9sdGFnZV90aW1lX3NlbCA9IHJlZ3VsYXRvcl9zZXRfdm9sdGFn ZV90aW1lX3NlbCwNCj4gKy5lbmFibGUgPSByZWd1bGF0b3JfZW5hYmxlX3JlZ21hcCwNCj4gKy5k aXNhYmxlID0gcmVndWxhdG9yX2Rpc2FibGVfcmVnbWFwLA0KPiArLmlzX2VuYWJsZWQgPSByZWd1 bGF0b3JfaXNfZW5hYmxlZF9yZWdtYXAsDQo+ICsuZ2V0X3N0YXR1cyA9IG10NjM1OV9nZXRfc3Rh dHVzLA0KPiArLnNldF9tb2RlID0gbXQ2MzU5X3JlZ3VsYXRvcl9zZXRfbW9kZSwNCj4gKy5nZXRf bW9kZSA9IG10NjM1OV9yZWd1bGF0b3JfZ2V0X21vZGUsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IHJlZ3VsYXRvcl9vcHMgbXQ2MzU5X3ZvbHRfdGFibGVfb3BzID0gew0KPiAr Lmxpc3Rfdm9sdGFnZSA9IHJlZ3VsYXRvcl9saXN0X3ZvbHRhZ2VfdGFibGUsDQo+ICsubWFwX3Zv bHRhZ2UgPSByZWd1bGF0b3JfbWFwX3ZvbHRhZ2VfaXRlcmF0ZSwNCj4gKy5zZXRfdm9sdGFnZV9z ZWwgPSBtdDYzNTlfc2V0X3ZvbHRhZ2Vfc2VsLA0KPiArLmdldF92b2x0YWdlX3NlbCA9IG10NjM1 OV9nZXRfdm9sdGFnZV9zZWwsDQo+ICsuc2V0X3ZvbHRhZ2VfdGltZV9zZWwgPSByZWd1bGF0b3Jf c2V0X3ZvbHRhZ2VfdGltZV9zZWwsDQo+ICsuZW5hYmxlID0gcmVndWxhdG9yX2VuYWJsZV9yZWdt YXAsDQo+ICsuZGlzYWJsZSA9IHJlZ3VsYXRvcl9kaXNhYmxlX3JlZ21hcCwNCj4gKy5pc19lbmFi bGVkID0gcmVndWxhdG9yX2lzX2VuYWJsZWRfcmVnbWFwLA0KPiArLmdldF9zdGF0dXMgPSBtdDYz NTlfZ2V0X3N0YXR1cywNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVndWxh dG9yX29wcyBtdDYzNTlfdm9sdF9maXhlZF9vcHMgPSB7DQo+ICsuZW5hYmxlID0gcmVndWxhdG9y X2VuYWJsZV9yZWdtYXAsDQo+ICsuZGlzYWJsZSA9IHJlZ3VsYXRvcl9kaXNhYmxlX3JlZ21hcCwN Cj4gKy5pc19lbmFibGVkID0gcmVndWxhdG9yX2lzX2VuYWJsZWRfcmVnbWFwLA0KPiArLmdldF9z dGF0dXMgPSBtdDYzNTlfZ2V0X3N0YXR1cywNCj4gK307DQo+ICsNCj4gKy8qIFRoZSBhcnJheSBp cyBpbmRleGVkIGJ5IGlkKE1UNjM1OV9JRF9YWFgpICovDQo+ICtzdGF0aWMgc3RydWN0IG10NjM1 OV9yZWd1bGF0b3JfaW5mbyBtdDYzNTlfcmVndWxhdG9yc1tdID0gew0KPiArTVQ2MzU5X0JVQ0so ImJ1Y2tfdnMxIiwgVlMxLCA4MDAwMDAsIDIyMDAwMDAsIDEyNTAwLCAwLA0KPiArICAgIG10X3Zv bHRfcmFuZ2UxLCBNVDYzNTlfUkdfQlVDS19WUzFfRU5fQUREUiwNCj4gKyAgICBNVDYzNTlfREFf VlMxX0VOX0FERFIsIE1UNjM1OV9EQV9WUzFfVk9TRUxfQUREUiwNCj4gKyAgICBNVDYzNTlfREFf VlMxX1ZPU0VMX01BU0ssIE1UNjM1OV9EQV9WUzFfVk9TRUxfU0hJRlQsDQo+ICsgICAgTVQ2MzU5 X1JHX0JVQ0tfVlMxX1ZPU0VMX0FERFIsDQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVlMxX1ZPU0VM X01BU0sgPDwNCj4gKyAgICBNVDYzNTlfUkdfQlVDS19WUzFfVk9TRUxfU0hJRlQsDQo+ICsgICAg TVQ2MzU5X1JHX0JVQ0tfVlMxX0xQX0FERFIsIE1UNjM1OV9SR19CVUNLX1ZTMV9MUF9TSElGVCwN Cj4gKyAgICBNVDYzNTlfUkdfVlMxX0ZQV01fQUREUiwgTVQ2MzU5X1JHX1ZTMV9GUFdNX1NISUZU KSwNCj4gK01UNjM1OV9CVUNLKCJidWNrX3ZncHUxMSIsIFZHUFUxMSwgNDAwMDAwLCAxMTkzNzUw LCA2MjUwLCAwLA0KPiArICAgIG10X3ZvbHRfcmFuZ2UyLCBNVDYzNTlfUkdfQlVDS19WR1BVMTFf RU5fQUREUiwNCj4gKyAgICBNVDYzNTlfREFfVkdQVTExX0VOX0FERFIsIE1UNjM1OV9EQV9WR1BV MTFfVk9TRUxfQUREUiwNCj4gKyAgICBNVDYzNTlfREFfVkdQVTExX1ZPU0VMX01BU0ssIE1UNjM1 OV9EQV9WR1BVMTFfVk9TRUxfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVkdQVTExX1ZP U0VMX0FERFIsDQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVkdQVTExX1ZPU0VMX01BU0sgPDwNCj4g KyAgICBNVDYzNTlfUkdfQlVDS19WR1BVMTFfVk9TRUxfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JH X0JVQ0tfVkdQVTExX0xQX0FERFIsDQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVkdQVTExX0xQX1NI SUZULA0KPiArICAgIE1UNjM1OV9SR19WR1BVMTFfRkNDTV9BRERSLCBNVDYzNTlfUkdfVkdQVTEx X0ZDQ01fU0hJRlQpLA0KPiArTVQ2MzU5X0JVQ0soImJ1Y2tfdm1vZGVtIiwgVk1PREVNLCA0MDAw MDAsIDExMDAwMDAsIDYyNTAsIDAsDQo+ICsgICAgbXRfdm9sdF9yYW5nZTMsIE1UNjM1OV9SR19C VUNLX1ZNT0RFTV9FTl9BRERSLA0KPiArICAgIE1UNjM1OV9EQV9WTU9ERU1fRU5fQUREUiwgTVQ2 MzU5X0RBX1ZNT0RFTV9WT1NFTF9BRERSLA0KPiArICAgIE1UNjM1OV9EQV9WTU9ERU1fVk9TRUxf TUFTSywgTVQ2MzU5X0RBX1ZNT0RFTV9WT1NFTF9TSElGVCwNCj4gKyAgICBNVDYzNTlfUkdfQlVD S19WTU9ERU1fVk9TRUxfQUREUiwNCj4gKyAgICBNVDYzNTlfUkdfQlVDS19WTU9ERU1fVk9TRUxf TUFTSyA8PA0KPiArICAgIE1UNjM1OV9SR19CVUNLX1ZNT0RFTV9WT1NFTF9TSElGVCwNCj4gKyAg ICBNVDYzNTlfUkdfQlVDS19WTU9ERU1fTFBfQUREUiwNCj4gKyAgICBNVDYzNTlfUkdfQlVDS19W TU9ERU1fTFBfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JHX1ZNT0RFTV9GQ0NNX0FERFIsIE1UNjM1 OV9SR19WTU9ERU1fRkNDTV9TSElGVCksDQo+ICtNVDYzNTlfQlVDSygiYnVja192cHUiLCBWUFUs IDQwMDAwMCwgMTE5Mzc1MCwgNjI1MCwgMCwNCj4gKyAgICBtdF92b2x0X3JhbmdlMiwgTVQ2MzU5 X1JHX0JVQ0tfVlBVX0VOX0FERFIsDQo+ICsgICAgTVQ2MzU5X0RBX1ZQVV9FTl9BRERSLCBNVDYz NTlfREFfVlBVX1ZPU0VMX0FERFIsDQo+ICsgICAgTVQ2MzU5X0RBX1ZQVV9WT1NFTF9NQVNLLCBN VDYzNTlfREFfVlBVX1ZPU0VMX1NISUZULA0KPiArICAgIE1UNjM1OV9SR19CVUNLX1ZQVV9WT1NF TF9BRERSLA0KPiArICAgIE1UNjM1OV9SR19CVUNLX1ZQVV9WT1NFTF9NQVNLIDw8DQo+ICsgICAg TVQ2MzU5X1JHX0JVQ0tfVlBVX1ZPU0VMX1NISUZULA0KPiArICAgIE1UNjM1OV9SR19CVUNLX1ZQ VV9MUF9BRERSLCBNVDYzNTlfUkdfQlVDS19WUFVfTFBfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JH X1ZQVV9GQ0NNX0FERFIsIE1UNjM1OV9SR19WUFVfRkNDTV9TSElGVCksDQo+ICtNVDYzNTlfQlVD SygiYnVja192Y29yZSIsIFZDT1JFLCA0MDAwMDAsIDExOTM3NTAsIDYyNTAsIDAsDQo+ICsgICAg bXRfdm9sdF9yYW5nZTIsIE1UNjM1OV9SR19CVUNLX1ZDT1JFX0VOX0FERFIsDQo+ICsgICAgTVQ2 MzU5X0RBX1ZDT1JFX0VOX0FERFIsIE1UNjM1OV9EQV9WQ09SRV9WT1NFTF9BRERSLA0KPiArICAg IE1UNjM1OV9EQV9WQ09SRV9WT1NFTF9NQVNLLCBNVDYzNTlfREFfVkNPUkVfVk9TRUxfU0hJRlQs DQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVkNPUkVfVk9TRUxfQUREUiwNCj4gKyAgICBNVDYzNTlf UkdfQlVDS19WQ09SRV9WT1NFTF9NQVNLIDw8DQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVkNPUkVf Vk9TRUxfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVkNPUkVfTFBfQUREUiwgTVQ2MzU5 X1JHX0JVQ0tfVkNPUkVfTFBfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JHX1ZDT1JFX0ZDQ01fQURE UiwgTVQ2MzU5X1JHX1ZDT1JFX0ZDQ01fU0hJRlQpLA0KPiArTVQ2MzU5X0JVQ0soImJ1Y2tfdnMy IiwgVlMyLCA4MDAwMDAsIDE2MDAwMDAsIDEyNTAwLCAwLA0KPiArICAgIG10X3ZvbHRfcmFuZ2U0 LCBNVDYzNTlfUkdfQlVDS19WUzJfRU5fQUREUiwNCj4gKyAgICBNVDYzNTlfREFfVlMyX0VOX0FE RFIsIE1UNjM1OV9EQV9WUzJfVk9TRUxfQUREUiwNCj4gKyAgICBNVDYzNTlfREFfVlMyX1ZPU0VM X01BU0ssIE1UNjM1OV9EQV9WUzJfVk9TRUxfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tf VlMyX1ZPU0VMX0FERFIsDQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVlMyX1ZPU0VMX01BU0sgPDwN Cj4gKyAgICBNVDYzNTlfUkdfQlVDS19WUzJfVk9TRUxfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JH X0JVQ0tfVlMyX0xQX0FERFIsIE1UNjM1OV9SR19CVUNLX1ZTMl9MUF9TSElGVCwNCj4gKyAgICBN VDYzNTlfUkdfVlMyX0ZQV01fQUREUiwgTVQ2MzU5X1JHX1ZTMl9GUFdNX1NISUZUKSwNCj4gK01U NjM1OV9CVUNLKCJidWNrX3ZwYSIsIFZQQSwgNTAwMDAwLCAzNjUwMDAwLCA1MDAwMCwgMCwNCj4g KyAgICBtdF92b2x0X3JhbmdlNSwgTVQ2MzU5X1JHX0JVQ0tfVlBBX0VOX0FERFIsDQo+ICsgICAg TVQ2MzU5X0RBX1ZQQV9FTl9BRERSLCBNVDYzNTlfREFfVlBBX1ZPU0VMX0FERFIsDQo+ICsgICAg TVQ2MzU5X0RBX1ZQQV9WT1NFTF9NQVNLLCBNVDYzNTlfREFfVlBBX1ZPU0VMX1NISUZULA0KPiAr ICAgIE1UNjM1OV9SR19CVUNLX1ZQQV9WT1NFTF9BRERSLA0KPiArICAgIE1UNjM1OV9SR19CVUNL X1ZQQV9WT1NFTF9NQVNLIDw8DQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVlBBX1ZPU0VMX1NISUZU LA0KPiArICAgIE1UNjM1OV9SR19CVUNLX1ZQQV9MUF9BRERSLCBNVDYzNTlfUkdfQlVDS19WUEFf TFBfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JHX1ZQQV9NT0RFU0VUX0FERFIsIE1UNjM1OV9SR19W UEFfTU9ERVNFVF9TSElGVCksDQo+ICtNVDYzNTlfQlVDSygiYnVja192cHJvYzIiLCBWUFJPQzIs IDQwMDAwMCwgMTE5Mzc1MCwgNjI1MCwgMCwNCj4gKyAgICBtdF92b2x0X3JhbmdlMiwgTVQ2MzU5 X1JHX0JVQ0tfVlBST0MyX0VOX0FERFIsDQo+ICsgICAgTVQ2MzU5X0RBX1ZQUk9DMl9FTl9BRERS LCBNVDYzNTlfREFfVlBST0MyX1ZPU0VMX0FERFIsDQo+ICsgICAgTVQ2MzU5X0RBX1ZQUk9DMl9W T1NFTF9NQVNLLCBNVDYzNTlfREFfVlBST0MyX1ZPU0VMX1NISUZULA0KPiArICAgIE1UNjM1OV9S R19CVUNLX1ZQUk9DMl9WT1NFTF9BRERSLA0KPiArICAgIE1UNjM1OV9SR19CVUNLX1ZQUk9DMl9W T1NFTF9NQVNLIDw8DQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVlBST0MyX1ZPU0VMX1NISUZULA0K PiArICAgIE1UNjM1OV9SR19CVUNLX1ZQUk9DMl9MUF9BRERSLA0KPiArICAgIE1UNjM1OV9SR19C VUNLX1ZQUk9DMl9MUF9TSElGVCwNCj4gKyAgICBNVDYzNTlfUkdfVlBST0MyX0ZDQ01fQUREUiwg TVQ2MzU5X1JHX1ZQUk9DMl9GQ0NNX1NISUZUKSwNCj4gK01UNjM1OV9CVUNLKCJidWNrX3Zwcm9j MSIsIFZQUk9DMSwgNDAwMDAwLCAxMTkzNzUwLCA2MjUwLCAwLA0KPiArICAgIG10X3ZvbHRfcmFu Z2UyLCBNVDYzNTlfUkdfQlVDS19WUFJPQzFfRU5fQUREUiwNCj4gKyAgICBNVDYzNTlfREFfVlBS T0MxX0VOX0FERFIsIE1UNjM1OV9EQV9WUFJPQzFfVk9TRUxfQUREUiwNCj4gKyAgICBNVDYzNTlf REFfVlBST0MxX1ZPU0VMX01BU0ssIE1UNjM1OV9EQV9WUFJPQzFfVk9TRUxfU0hJRlQsDQo+ICsg ICAgTVQ2MzU5X1JHX0JVQ0tfVlBST0MxX1ZPU0VMX0FERFIsDQo+ICsgICAgTVQ2MzU5X1JHX0JV Q0tfVlBST0MxX1ZPU0VMX01BU0sgPDwNCj4gKyAgICBNVDYzNTlfUkdfQlVDS19WUFJPQzFfVk9T RUxfU0hJRlQsDQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVlBST0MxX0xQX0FERFIsDQo+ICsgICAg TVQ2MzU5X1JHX0JVQ0tfVlBST0MxX0xQX1NISUZULA0KPiArICAgIE1UNjM1OV9SR19WUFJPQzFf RkNDTV9BRERSLCBNVDYzNTlfUkdfVlBST0MxX0ZDQ01fU0hJRlQpLA0KPiArTVQ2MzU5X0JVQ0so ImJ1Y2tfdmNvcmVfc3NodWIiLCBWQ09SRV9TU0hVQiwgNDAwMDAwLCAxMTkzNzUwLCA2MjUwLCAw LA0KPiArICAgIG10X3ZvbHRfcmFuZ2UyLCBNVDYzNTlfUkdfQlVDS19WQ09SRV9TU0hVQl9FTl9B RERSLA0KPiArICAgIE1UNjM1OV9EQV9WQ09SRV9FTl9BRERSLA0KPiArICAgIE1UNjM1OV9SR19C VUNLX1ZDT1JFX1NTSFVCX1ZPU0VMX0FERFIsDQo+ICsgICAgTVQ2MzU5X1JHX0JVQ0tfVkNPUkVf U1NIVUJfVk9TRUxfTUFTSywNCj4gKyAgICBNVDYzNTlfUkdfQlVDS19WQ09SRV9TU0hVQl9WT1NF TF9TSElGVCwNCj4gKyAgICBNVDYzNTlfUkdfQlVDS19WQ09SRV9TU0hVQl9WT1NFTF9BRERSLA0K PiArICAgIE1UNjM1OV9SR19CVUNLX1ZDT1JFX1NTSFVCX1ZPU0VMX01BU0sgPDwNCj4gKyAgICBN VDYzNTlfUkdfQlVDS19WQ09SRV9TU0hVQl9WT1NFTF9TSElGVCwNCj4gKyAgICBNVDYzNTlfUkdf QlVDS19WQ09SRV9MUF9BRERSLCBNVDYzNTlfUkdfQlVDS19WQ09SRV9MUF9TSElGVCwNCj4gKyAg ICBNVDYzNTlfUkdfVkNPUkVfRkNDTV9BRERSLCBNVDYzNTlfUkdfVkNPUkVfRkNDTV9TSElGVCks DQo+ICtNVDYzNTlfUkVHX0ZJWEVEKCJsZG9fdmF1ZDE4IiwgVkFVRDE4LCBNVDYzNTlfUkdfTERP X1ZBVUQxOF9FTl9BRERSLA0KPiArIE1UNjM1OV9EQV9WQVVEMThfQl9FTl9BRERSLCAxODAwMDAw KSwNCj4gK01UNjM1OV9MRE8oImxkb192c2ltMSIsIFZTSU0xLCB2c2ltMV92b2x0YWdlcywgdnNp bTFfaWR4LA0KPiArICAgTVQ2MzU5X1JHX0xET19WU0lNMV9FTl9BRERSLCBNVDYzNTlfUkdfTERP X1ZTSU0xX0VOX1NISUZULA0KPiArICAgTVQ2MzU5X0RBX1ZTSU0xX0JfRU5fQUREUiwgTVQ2MzU5 X1JHX1ZTSU0xX1ZPU0VMX0FERFIsDQo+ICsgICBNVDYzNTlfUkdfVlNJTTFfVk9TRUxfTUFTSyA8 PCBNVDYzNTlfUkdfVlNJTTFfVk9TRUxfU0hJRlQsDQo+ICsgICBNVDYzNTlfUkdfVlNJTTFfVk9T RUxfU0hJRlQpLA0KPiArTVQ2MzU5X0xETygibGRvX3ZpYnIiLCBWSUJSLCB2aWJyX3ZvbHRhZ2Vz LCB2aWJyX2lkeCwNCj4gKyAgIE1UNjM1OV9SR19MRE9fVklCUl9FTl9BRERSLCBNVDYzNTlfUkdf TERPX1ZJQlJfRU5fU0hJRlQsDQo+ICsgICBNVDYzNTlfREFfVklCUl9CX0VOX0FERFIsIE1UNjM1 OV9SR19WSUJSX1ZPU0VMX0FERFIsDQo+ICsgICBNVDYzNTlfUkdfVklCUl9WT1NFTF9NQVNLIDw8 IE1UNjM1OV9SR19WSUJSX1ZPU0VMX1NISUZULA0KPiArICAgTVQ2MzU5X1JHX1ZJQlJfVk9TRUxf U0hJRlQpLA0KPiArTVQ2MzU5X0xETygibGRvX3ZyZjEyIiwgVlJGMTIsIHZyZjEyX3ZvbHRhZ2Vz LCB2cmYxMl9pZHgsDQo+ICsgICBNVDYzNTlfUkdfTERPX1ZSRjEyX0VOX0FERFIsIE1UNjM1OV9S R19MRE9fVlJGMTJfRU5fU0hJRlQsDQo+ICsgICBNVDYzNTlfREFfVlJGMTJfQl9FTl9BRERSLCBN VDYzNTlfUkdfVlJGMTJfVk9TRUxfQUREUiwNCj4gKyAgIE1UNjM1OV9SR19WUkYxMl9WT1NFTF9N QVNLIDw8IE1UNjM1OV9SR19WUkYxMl9WT1NFTF9TSElGVCwNCj4gKyAgIE1UNjM1OV9SR19WUkYx Ml9WT1NFTF9TSElGVCksDQo+ICtNVDYzNTlfUkVHX0ZJWEVEKCJsZG9fdnVzYiIsIFZVU0IsIE1U NjM1OV9SR19MRE9fVlVTQl9FTl8wX0FERFIsDQo+ICsgTVQ2MzU5X0RBX1ZVU0JfQl9FTl9BRERS LCAzMDAwMDAwKSwNCj4gK01UNjM1OV9MRE9fTElORUFSKCJsZG9fdnNyYW1fcHJvYzIiLCBWU1JB TV9QUk9DMiwgNTAwMDAwLCAxMTkzNzUwLCA2MjUwLA0KPiArICAwLCBtdF92b2x0X3JhbmdlNiwg TVQ2MzU5X1JHX0xET19WU1JBTV9QUk9DMl9FTl9BRERSLA0KPiArICBNVDYzNTlfREFfVlNSQU1f UFJPQzJfQl9FTl9BRERSLA0KPiArICBNVDYzNTlfREFfVlNSQU1fUFJPQzJfVk9TRUxfQUREUiwN Cj4gKyAgTVQ2MzU5X0RBX1ZTUkFNX1BST0MyX1ZPU0VMX01BU0ssDQo+ICsgIE1UNjM1OV9EQV9W U1JBTV9QUk9DMl9WT1NFTF9TSElGVCwNCj4gKyAgTVQ2MzU5X1JHX0xET19WU1JBTV9QUk9DMl9W T1NFTF9BRERSLA0KPiArICBNVDYzNTlfUkdfTERPX1ZTUkFNX1BST0MyX1ZPU0VMX01BU0sgPDwN Cj4gKyAgTVQ2MzU5X1JHX0xET19WU1JBTV9QUk9DMl9WT1NFTF9TSElGVCksDQo+ICtNVDYzNTlf TERPKCJsZG9fdmlvMTgiLCBWSU8xOCwgdm9sdDE4X3ZvbHRhZ2VzLCB2b2x0MThfaWR4LA0KPiAr ICAgTVQ2MzU5X1JHX0xET19WSU8xOF9FTl9BRERSLCBNVDYzNTlfUkdfTERPX1ZJTzE4X0VOX1NI SUZULA0KPiArICAgTVQ2MzU5X0RBX1ZJTzE4X0JfRU5fQUREUiwgTVQ2MzU5X1JHX1ZJTzE4X1ZP U0VMX0FERFIsDQo+ICsgICBNVDYzNTlfUkdfVklPMThfVk9TRUxfTUFTSyA8PCBNVDYzNTlfUkdf VklPMThfVk9TRUxfU0hJRlQsDQo+ICsgICBNVDYzNTlfUkdfVklPMThfVk9TRUxfU0hJRlQpLA0K PiArTVQ2MzU5X0xETygibGRvX3ZjYW1pbyIsIFZDQU1JTywgdm9sdDE4X3ZvbHRhZ2VzLCB2b2x0 MThfaWR4LA0KPiArICAgTVQ2MzU5X1JHX0xET19WQ0FNSU9fRU5fQUREUiwgTVQ2MzU5X1JHX0xE T19WQ0FNSU9fRU5fU0hJRlQsDQo+ICsgICBNVDYzNTlfREFfVkNBTUlPX0JfRU5fQUREUiwgTVQ2 MzU5X1JHX1ZDQU1JT19WT1NFTF9BRERSLA0KPiArICAgTVQ2MzU5X1JHX1ZDQU1JT19WT1NFTF9N QVNLIDw8IE1UNjM1OV9SR19WQ0FNSU9fVk9TRUxfU0hJRlQsDQo+ICsgICBNVDYzNTlfUkdfVkNB TUlPX1ZPU0VMX1NISUZUKSwNCj4gK01UNjM1OV9SRUdfRklYRUQoImxkb192Y24xOCIsIFZDTjE4 LCBNVDYzNTlfUkdfTERPX1ZDTjE4X0VOX0FERFIsDQo+ICsgTVQ2MzU5X0RBX1ZDTjE4X0JfRU5f QUREUiwgMTgwMDAwMCksDQo+ICtNVDYzNTlfUkVHX0ZJWEVEKCJsZG9fdmZlMjgiLCBWRkUyOCwg TVQ2MzU5X1JHX0xET19WRkUyOF9FTl9BRERSLA0KPiArIE1UNjM1OV9EQV9WRkUyOF9CX0VOX0FE RFIsIDI4MDAwMDApLA0KPiArTVQ2MzU5X0xETygibGRvX3ZjbjEzIiwgVkNOMTMsIHZjbjEzX3Zv bHRhZ2VzLCB2Y24xM19pZHgsDQo+ICsgICBNVDYzNTlfUkdfTERPX1ZDTjEzX0VOX0FERFIsIE1U NjM1OV9SR19MRE9fVkNOMTNfRU5fU0hJRlQsDQo+ICsgICBNVDYzNTlfREFfVkNOMTNfQl9FTl9B RERSLCBNVDYzNTlfUkdfVkNOMTNfVk9TRUxfQUREUiwNCj4gKyAgIE1UNjM1OV9SR19WQ04xM19W T1NFTF9NQVNLIDw8IE1UNjM1OV9SR19WQ04xM19WT1NFTF9TSElGVCwNCj4gKyAgIE1UNjM1OV9S R19WQ04xM19WT1NFTF9TSElGVCksDQo+ICtNVDYzNTlfTERPKCJsZG9fdmNuMzNfMV9idCIsIFZD TjMzXzFfQlQsIHZjbjMzX3ZvbHRhZ2VzLCB2Y24zM19pZHgsDQo+ICsgICBNVDYzNTlfUkdfTERP X1ZDTjMzXzFfRU5fMF9BRERSLA0KPiArICAgTVQ2MzU5X1JHX0xET19WQ04zM18xX0VOXzBfU0hJ RlQsDQo+ICsgICBNVDYzNTlfREFfVkNOMzNfMV9CX0VOX0FERFIsIE1UNjM1OV9SR19WQ04zM18x X1ZPU0VMX0FERFIsDQo+ICsgICBNVDYzNTlfUkdfVkNOMzNfMV9WT1NFTF9NQVNLIDw8DQo+ICsg ICBNVDYzNTlfUkdfVkNOMzNfMV9WT1NFTF9TSElGVCwNCj4gKyAgIE1UNjM1OV9SR19WQ04zM18x X1ZPU0VMX1NISUZUKSwNCj4gK01UNjM1OV9MRE8oImxkb192Y24zM18xX3dpZmkiLCBWQ04zM18x X1dJRkksIHZjbjMzX3ZvbHRhZ2VzLCB2Y24zM19pZHgsDQo+ICsgICBNVDYzNTlfUkdfTERPX1ZD TjMzXzFfRU5fMV9BRERSLA0KPiArICAgTVQ2MzU5X1JHX0xET19WQ04zM18xX0VOXzFfU0hJRlQs DQo+ICsgICBNVDYzNTlfREFfVkNOMzNfMV9CX0VOX0FERFIsIE1UNjM1OV9SR19WQ04zM18xX1ZP U0VMX0FERFIsDQo+ICsgICBNVDYzNTlfUkdfVkNOMzNfMV9WT1NFTF9NQVNLIDw8DQo+ICsgICBN VDYzNTlfUkdfVkNOMzNfMV9WT1NFTF9TSElGVCwNCj4gKyAgIE1UNjM1OV9SR19WQ04zM18xX1ZP U0VMX1NISUZUKSwNCj4gK01UNjM1OV9SRUdfRklYRUQoImxkb192YXV4MTgiLCBWQVVYMTgsIE1U NjM1OV9SR19MRE9fVkFVWDE4X0VOX0FERFIsDQo+ICsgTVQ2MzU5X0RBX1ZBVVgxOF9CX0VOX0FE RFIsIDE4MDAwMDApLA0KPiArTVQ2MzU5X0xET19MSU5FQVIoImxkb192c3JhbV9vdGhlcnMiLCBW U1JBTV9PVEhFUlMsIDUwMDAwMCwgMTE5Mzc1MCwNCj4gKyAgNjI1MCwgMCwgbXRfdm9sdF9yYW5n ZTYsDQo+ICsgIE1UNjM1OV9SR19MRE9fVlNSQU1fT1RIRVJTX0VOX0FERFIsDQo+ICsgIE1UNjM1 OV9EQV9WU1JBTV9PVEhFUlNfQl9FTl9BRERSLA0KPiArICBNVDYzNTlfREFfVlNSQU1fT1RIRVJT X1ZPU0VMX0FERFIsDQo+ICsgIE1UNjM1OV9EQV9WU1JBTV9PVEhFUlNfVk9TRUxfTUFTSywNCj4g KyAgTVQ2MzU5X0RBX1ZTUkFNX09USEVSU19WT1NFTF9TSElGVCwNCj4gKyAgTVQ2MzU5X1JHX0xE T19WU1JBTV9PVEhFUlNfVk9TRUxfQUREUiwNCj4gKyAgTVQ2MzU5X1JHX0xET19WU1JBTV9PVEhF UlNfVk9TRUxfTUFTSyA8PA0KPiArICBNVDYzNTlfUkdfTERPX1ZTUkFNX09USEVSU19WT1NFTF9T SElGVCksDQo+ICtNVDYzNTlfTERPKCJsZG9fdmVmdXNlIiwgVkVGVVNFLCB2ZWZ1c2Vfdm9sdGFn ZXMsIHZlZnVzZV9pZHgsDQo+ICsgICBNVDYzNTlfUkdfTERPX1ZFRlVTRV9FTl9BRERSLCBNVDYz NTlfUkdfTERPX1ZFRlVTRV9FTl9TSElGVCwNCj4gKyAgIE1UNjM1OV9EQV9WRUZVU0VfQl9FTl9B RERSLCBNVDYzNTlfUkdfVkVGVVNFX1ZPU0VMX0FERFIsDQo+ICsgICBNVDYzNTlfUkdfVkVGVVNF X1ZPU0VMX01BU0sgPDwgTVQ2MzU5X1JHX1ZFRlVTRV9WT1NFTF9TSElGVCwNCj4gKyAgIE1UNjM1 OV9SR19WRUZVU0VfVk9TRUxfU0hJRlQpLA0KPiArTVQ2MzU5X0xETygibGRvX3Z4bzIyIiwgVlhP MjIsIHZ4bzIyX3ZvbHRhZ2VzLCB2eG8yMl9pZHgsDQo+ICsgICBNVDYzNTlfUkdfTERPX1ZYTzIy X0VOX0FERFIsIE1UNjM1OV9SR19MRE9fVlhPMjJfRU5fU0hJRlQsDQo+ICsgICBNVDYzNTlfREFf VlhPMjJfQl9FTl9BRERSLCBNVDYzNTlfUkdfVlhPMjJfVk9TRUxfQUREUiwNCj4gKyAgIE1UNjM1 OV9SR19WWE8yMl9WT1NFTF9NQVNLIDw8IE1UNjM1OV9SR19WWE8yMl9WT1NFTF9TSElGVCwNCj4g KyAgIE1UNjM1OV9SR19WWE8yMl9WT1NFTF9TSElGVCksDQo+ICtNVDYzNTlfTERPKCJsZG9fdnJm Y2siLCBWUkZDSywgdnJmY2tfdm9sdGFnZXMsIHZyZmNrX2lkeCwNCj4gKyAgIE1UNjM1OV9SR19M RE9fVlJGQ0tfRU5fQUREUiwgTVQ2MzU5X1JHX0xET19WUkZDS19FTl9TSElGVCwNCj4gKyAgIE1U NjM1OV9EQV9WUkZDS19CX0VOX0FERFIsIE1UNjM1OV9SR19WUkZDS19WT1NFTF9BRERSLA0KPiAr ICAgTVQ2MzU5X1JHX1ZSRkNLX1ZPU0VMX01BU0sgPDwgTVQ2MzU5X1JHX1ZSRkNLX1ZPU0VMX1NI SUZULA0KPiArICAgTVQ2MzU5X1JHX1ZSRkNLX1ZPU0VMX1NISUZUKSwNCj4gK01UNjM1OV9SRUdf RklYRUQoImxkb192YmlmMjgiLCBWQklGMjgsIE1UNjM1OV9SR19MRE9fVkJJRjI4X0VOX0FERFIs DQo+ICsgTVQ2MzU5X0RBX1ZCSUYyOF9CX0VOX0FERFIsIDI4MDAwMDApLA0KPiArTVQ2MzU5X0xE TygibGRvX3ZpbzI4IiwgVklPMjgsIHZpbzI4X3ZvbHRhZ2VzLCB2aW8yOF9pZHgsDQo+ICsgICBN VDYzNTlfUkdfTERPX1ZJTzI4X0VOX0FERFIsIE1UNjM1OV9SR19MRE9fVklPMjhfRU5fU0hJRlQs DQo+ICsgICBNVDYzNTlfREFfVklPMjhfQl9FTl9BRERSLCBNVDYzNTlfUkdfVklPMjhfVk9TRUxf QUREUiwNCj4gKyAgIE1UNjM1OV9SR19WSU8yOF9WT1NFTF9NQVNLIDw8IE1UNjM1OV9SR19WSU8y OF9WT1NFTF9TSElGVCwNCj4gKyAgIE1UNjM1OV9SR19WSU8yOF9WT1NFTF9TSElGVCksDQo+ICtN VDYzNTlfTERPKCJsZG9fdmVtYyIsIFZFTUMsIHZlbWNfdm9sdGFnZXMsIHZlbWNfaWR4LA0KPiAr ICAgTVQ2MzU5X1JHX0xET19WRU1DX0VOX0FERFIsIE1UNjM1OV9SR19MRE9fVkVNQ19FTl9TSElG VCwNCj4gKyAgIE1UNjM1OV9EQV9WRU1DX0JfRU5fQUREUiwgTVQ2MzU5X1JHX1ZFTUNfVk9TRUxf QUREUiwNCj4gKyAgIE1UNjM1OV9SR19WRU1DX1ZPU0VMX01BU0sgPDwgTVQ2MzU5X1JHX1ZFTUNf Vk9TRUxfU0hJRlQsDQo+ICsgICBNVDYzNTlfUkdfVkVNQ19WT1NFTF9TSElGVCksDQo+ICtNVDYz NTlfTERPKCJsZG9fdmNuMzNfMl9idCIsIFZDTjMzXzJfQlQsIHZjbjMzX3ZvbHRhZ2VzLCB2Y24z M19pZHgsDQo+ICsgICBNVDYzNTlfUkdfTERPX1ZDTjMzXzJfRU5fMF9BRERSLA0KPiArICAgTVQ2 MzU5X1JHX0xET19WQ04zM18yX0VOXzBfU0hJRlQsDQo+ICsgICBNVDYzNTlfREFfVkNOMzNfMl9C X0VOX0FERFIsIE1UNjM1OV9SR19WQ04zM18yX1ZPU0VMX0FERFIsDQo+ICsgICBNVDYzNTlfUkdf VkNOMzNfMl9WT1NFTF9NQVNLIDw8DQo+ICsgICBNVDYzNTlfUkdfVkNOMzNfMl9WT1NFTF9TSElG VCwNCj4gKyAgIE1UNjM1OV9SR19WQ04zM18yX1ZPU0VMX1NISUZUKSwNCj4gK01UNjM1OV9MRE8o Imxkb192Y24zM18yX3dpZmkiLCBWQ04zM18yX1dJRkksIHZjbjMzX3ZvbHRhZ2VzLCB2Y24zM19p ZHgsDQo+ICsgICBNVDYzNTlfUkdfTERPX1ZDTjMzXzJfRU5fMV9BRERSLA0KPiArICAgTVQ2MzU5 X1JHX0xET19WQ04zM18yX0VOXzFfU0hJRlQsDQo+ICsgICBNVDYzNTlfREFfVkNOMzNfMl9CX0VO X0FERFIsIE1UNjM1OV9SR19WQ04zM18yX1ZPU0VMX0FERFIsDQo+ICsgICBNVDYzNTlfUkdfVkNO MzNfMl9WT1NFTF9NQVNLIDw8DQo+ICsgICBNVDYzNTlfUkdfVkNOMzNfMl9WT1NFTF9TSElGVCwN Cj4gKyAgIE1UNjM1OV9SR19WQ04zM18yX1ZPU0VMX1NISUZUKSwNCj4gK01UNjM1OV9MRE8oImxk b192YTEyIiwgVkExMiwgdmExMl92b2x0YWdlcywgdmExMl9pZHgsDQo+ICsgICBNVDYzNTlfUkdf TERPX1ZBMTJfRU5fQUREUiwgTVQ2MzU5X1JHX0xET19WQTEyX0VOX1NISUZULA0KPiArICAgTVQ2 MzU5X0RBX1ZBMTJfQl9FTl9BRERSLCBNVDYzNTlfUkdfVkExMl9WT1NFTF9BRERSLA0KPiArICAg TVQ2MzU5X1JHX1ZBMTJfVk9TRUxfTUFTSyA8PCBNVDYzNTlfUkdfVkExMl9WT1NFTF9TSElGVCwN Cj4gKyAgIE1UNjM1OV9SR19WQTEyX1ZPU0VMX1NISUZUKSwNCj4gK01UNjM1OV9MRE8oImxkb192 YTA5IiwgVkEwOSwgdmEwOV92b2x0YWdlcywgdmEwOV9pZHgsDQo+ICsgICBNVDYzNTlfUkdfTERP X1ZBMDlfRU5fQUREUiwgTVQ2MzU5X1JHX0xET19WQTA5X0VOX1NISUZULA0KPiArICAgTVQ2MzU5 X0RBX1ZBMDlfQl9FTl9BRERSLCBNVDYzNTlfUkdfVkEwOV9WT1NFTF9BRERSLA0KPiArICAgTVQ2 MzU5X1JHX1ZBMDlfVk9TRUxfTUFTSyA8PCBNVDYzNTlfUkdfVkEwOV9WT1NFTF9TSElGVCwNCj4g KyAgIE1UNjM1OV9SR19WQTA5X1ZPU0VMX1NISUZUKSwNCj4gK01UNjM1OV9MRE8oImxkb192cmYx OCIsIFZSRjE4LCB2cmYxOF92b2x0YWdlcywgdnJmMThfaWR4LA0KPiArICAgTVQ2MzU5X1JHX0xE T19WUkYxOF9FTl9BRERSLCBNVDYzNTlfUkdfTERPX1ZSRjE4X0VOX1NISUZULA0KPiArICAgTVQ2 MzU5X0RBX1ZSRjE4X0JfRU5fQUREUiwgTVQ2MzU5X1JHX1ZSRjE4X1ZPU0VMX0FERFIsDQo+ICsg ICBNVDYzNTlfUkdfVlJGMThfVk9TRUxfTUFTSyA8PCBNVDYzNTlfUkdfVlJGMThfVk9TRUxfU0hJ RlQsDQo+ICsgICBNVDYzNTlfUkdfVlJGMThfVk9TRUxfU0hJRlQpLA0KPiArTVQ2MzU5X0xET19M SU5FQVIoImxkb192c3JhbV9tZCIsIFZTUkFNX01ELCA1MDAwMDAsIDExMDAwMDAsIDYyNTAsDQo+ ICsgIDAsIG10X3ZvbHRfcmFuZ2U3LCBNVDYzNTlfUkdfTERPX1ZTUkFNX01EX0VOX0FERFIsDQo+ ICsgIE1UNjM1OV9EQV9WU1JBTV9NRF9CX0VOX0FERFIsDQo+ICsgIE1UNjM1OV9EQV9WU1JBTV9N RF9WT1NFTF9BRERSLA0KPiArICBNVDYzNTlfREFfVlNSQU1fTURfVk9TRUxfTUFTSywNCj4gKyAg TVQ2MzU5X0RBX1ZTUkFNX01EX1ZPU0VMX1NISUZULA0KPiArICBNVDYzNTlfUkdfTERPX1ZTUkFN X01EX1ZPU0VMX0FERFIsDQo+ICsgIE1UNjM1OV9SR19MRE9fVlNSQU1fTURfVk9TRUxfTUFTSyA8 PA0KPiArICBNVDYzNTlfUkdfTERPX1ZTUkFNX01EX1ZPU0VMX1NISUZUKSwNCj4gK01UNjM1OV9M RE8oImxkb192dWZzIiwgVlVGUywgdm9sdDE4X3ZvbHRhZ2VzLCB2b2x0MThfaWR4LA0KPiArICAg TVQ2MzU5X1JHX0xET19WVUZTX0VOX0FERFIsIE1UNjM1OV9SR19MRE9fVlVGU19FTl9TSElGVCwN Cj4gKyAgIE1UNjM1OV9EQV9WVUZTX0JfRU5fQUREUiwgTVQ2MzU5X1JHX1ZVRlNfVk9TRUxfQURE UiwNCj4gKyAgIE1UNjM1OV9SR19WVUZTX1ZPU0VMX01BU0sgPDwgTVQ2MzU5X1JHX1ZVRlNfVk9T RUxfU0hJRlQsDQo+ICsgICBNVDYzNTlfUkdfVlVGU19WT1NFTF9TSElGVCksDQo+ICtNVDYzNTlf TERPKCJsZG9fdm0xOCIsIFZNMTgsIHZvbHQxOF92b2x0YWdlcywgdm9sdDE4X2lkeCwNCj4gKyAg IE1UNjM1OV9SR19MRE9fVk0xOF9FTl9BRERSLCBNVDYzNTlfUkdfTERPX1ZNMThfRU5fU0hJRlQs DQo+ICsgICBNVDYzNTlfREFfVk0xOF9CX0VOX0FERFIsIE1UNjM1OV9SR19WTTE4X1ZPU0VMX0FE RFIsDQo+ICsgICBNVDYzNTlfUkdfVk0xOF9WT1NFTF9NQVNLIDw8IE1UNjM1OV9SR19WTTE4X1ZP U0VMX1NISUZULA0KPiArICAgTVQ2MzU5X1JHX1ZNMThfVk9TRUxfU0hJRlQpLA0KPiArTVQ2MzU5 X0xETygibGRvX3ZiYmNrIiwgVkJCQ0ssIHZiYmNrX3ZvbHRhZ2VzLCB2YmJja19pZHgsDQo+ICsg ICBNVDYzNTlfUkdfTERPX1ZCQkNLX0VOX0FERFIsIE1UNjM1OV9SR19MRE9fVkJCQ0tfRU5fU0hJ RlQsDQo+ICsgICBNVDYzNTlfREFfVkJCQ0tfQl9FTl9BRERSLCBNVDYzNTlfUkdfVkJCQ0tfVk9T RUxfQUREUiwNCj4gKyAgIE1UNjM1OV9SR19WQkJDS19WT1NFTF9NQVNLIDw8IE1UNjM1OV9SR19W QkJDS19WT1NFTF9TSElGVCwNCj4gKyAgIE1UNjM1OV9SR19WQkJDS19WT1NFTF9TSElGVCksDQo+ ICtNVDYzNTlfTERPX0xJTkVBUigibGRvX3ZzcmFtX3Byb2MxIiwgVlNSQU1fUFJPQzEsIDUwMDAw MCwgMTE5Mzc1MCwgNjI1MCwNCj4gKyAgMCwgbXRfdm9sdF9yYW5nZTYsIE1UNjM1OV9SR19MRE9f VlNSQU1fUFJPQzFfRU5fQUREUiwNCj4gKyAgTVQ2MzU5X0RBX1ZTUkFNX1BST0MxX0JfRU5fQURE UiwNCj4gKyAgTVQ2MzU5X0RBX1ZTUkFNX1BST0MxX1ZPU0VMX0FERFIsDQo+ICsgIE1UNjM1OV9E QV9WU1JBTV9QUk9DMV9WT1NFTF9NQVNLLA0KPiArICBNVDYzNTlfREFfVlNSQU1fUFJPQzFfVk9T RUxfU0hJRlQsDQo+ICsgIE1UNjM1OV9SR19MRE9fVlNSQU1fUFJPQzFfVk9TRUxfQUREUiwNCj4g KyAgTVQ2MzU5X1JHX0xET19WU1JBTV9QUk9DMV9WT1NFTF9NQVNLIDw8DQo+ICsgIE1UNjM1OV9S R19MRE9fVlNSQU1fUFJPQzFfVk9TRUxfU0hJRlQpLA0KPiArTVQ2MzU5X0xETygibGRvX3ZzaW0y IiwgVlNJTTIsIHZzaW0yX3ZvbHRhZ2VzLCB2c2ltMl9pZHgsDQo+ICsgICBNVDYzNTlfUkdfTERP X1ZTSU0yX0VOX0FERFIsIE1UNjM1OV9SR19MRE9fVlNJTTJfRU5fU0hJRlQsDQo+ICsgICBNVDYz NTlfREFfVlNJTTJfQl9FTl9BRERSLCBNVDYzNTlfUkdfVlNJTTJfVk9TRUxfQUREUiwNCj4gKyAg IE1UNjM1OV9SR19WU0lNMl9WT1NFTF9NQVNLIDw8IE1UNjM1OV9SR19WU0lNMl9WT1NFTF9TSElG VCwNCj4gKyAgIE1UNjM1OV9SR19WU0lNMl9WT1NFTF9TSElGVCksDQo+ICtNVDYzNTlfTERPX0xJ TkVBUigibGRvX3ZzcmFtX290aGVyc19zc2h1YiIsIFZTUkFNX09USEVSU19TU0hVQiwNCj4gKyAg NTAwMDAwLCAxMTkzNzUwLCA2MjUwLCAwLCBtdF92b2x0X3JhbmdlNiwNCj4gKyAgTVQ2MzU5X1JH X0xET19WU1JBTV9PVEhFUlNfU1NIVUJfRU5fQUREUiwNCj4gKyAgTVQ2MzU5X0RBX1ZTUkFNX09U SEVSU19CX0VOX0FERFIsDQo+ICsgIE1UNjM1OV9SR19MRE9fVlNSQU1fT1RIRVJTX1NTSFVCX1ZP U0VMX0FERFIsDQo+ICsgIE1UNjM1OV9SR19MRE9fVlNSQU1fT1RIRVJTX1NTSFVCX1ZPU0VMX01B U0ssDQo+ICsgIE1UNjM1OV9SR19MRE9fVlNSQU1fT1RIRVJTX1NTSFVCX1ZPU0VMX1NISUZULA0K PiArICBNVDYzNTlfUkdfTERPX1ZTUkFNX09USEVSU19TU0hVQl9WT1NFTF9BRERSLA0KPiArICBN VDYzNTlfUkdfTERPX1ZTUkFNX09USEVSU19TU0hVQl9WT1NFTF9NQVNLIDw8DQo+ICsgIE1UNjM1 OV9SR19MRE9fVlNSQU1fT1RIRVJTX1NTSFVCX1ZPU0VMX1NISUZUKSwNCj4gK307DQo+ICsNCj4g K3N0YXRpYyBpbnQgbXQ2MzU5X3JlZ3VsYXRvcl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQ0KPiArew0KPiArc3RydWN0IG10NjM5N19jaGlwICptdDYzOTcgPSBkZXZfZ2V0X2Ry dmRhdGEocGRldi0+ZGV2LnBhcmVudCk7DQo+ICtzdHJ1Y3QgcmVndWxhdG9yX2NvbmZpZyBjb25m aWcgPSB7fTsNCj4gK3N0cnVjdCByZWd1bGF0b3JfZGV2ICpyZGV2Ow0KPiAraW50IGk7DQo+ICsN Cj4gK2ZvciAoaSA9IDA7IGkgPCBNVDYzNTlfTUFYX1JFR1VMQVRPUjsgaSsrKSB7DQo+ICtjb25m aWcuZGV2ID0gJnBkZXYtPmRldjsNCj4gK2NvbmZpZy5kcml2ZXJfZGF0YSA9ICZtdDYzNTlfcmVn dWxhdG9yc1tpXTsNCj4gK2NvbmZpZy5yZWdtYXAgPSBtdDYzOTctPnJlZ21hcDsNCj4gKw0KPiAr cmRldiA9IGRldm1fcmVndWxhdG9yX3JlZ2lzdGVyKCZwZGV2LT5kZXYsDQo+ICsgICAgICAgJm10 NjM1OV9yZWd1bGF0b3JzW2ldLmRlc2MsDQo+ICsgICAgICAgJmNvbmZpZyk7DQo+ICtpZiAoSVNf RVJSKHJkZXYpKSB7DQo+ICtkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIg JXNcbiIsDQo+ICttdDYzNTlfcmVndWxhdG9yc1tpXS5kZXNjLm5hbWUpOw0KPiArcmV0dXJuIFBU Ul9FUlIocmRldik7DQo+ICt9DQo+ICt9DQo+ICsNCj4gK3JldHVybiAwOw0KPiArfQ0KPiArDQo+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IHBsYXRmb3JtX2RldmljZV9pZCBtdDYzNTlfcGxhdGZvcm1f aWRzW10gPSB7DQo+ICt7Im10NjM1OS1yZWd1bGF0b3IiLCAwfSwNCj4gK3sgLyogc2VudGluZWwg Ki8gfSwNCj4gK307DQo+ICtNT0RVTEVfREVWSUNFX1RBQkxFKHBsYXRmb3JtLCBtdDYzNTlfcGxh dGZvcm1faWRzKTsNCj4gKw0KPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXQ2MzU5 X3JlZ3VsYXRvcl9kcml2ZXIgPSB7DQo+ICsuZHJpdmVyID0gew0KPiArLm5hbWUgPSAibXQ2MzU5 LXJlZ3VsYXRvciIsDQo+ICt9LA0KPiArLnByb2JlID0gbXQ2MzU5X3JlZ3VsYXRvcl9wcm9iZSwN Cj4gKy5pZF90YWJsZSA9IG10NjM1OV9wbGF0Zm9ybV9pZHMsDQo+ICt9Ow0KPiArDQo+ICttb2R1 bGVfcGxhdGZvcm1fZHJpdmVyKG10NjM1OV9yZWd1bGF0b3JfZHJpdmVyKTsNCj4gKw0KPiArTU9E VUxFX0FVVEhPUigiV2VuIFN1IDx3ZW4uc3VAbWVkaWF0ZWsuY29tPiIpOw0KPiArTU9EVUxFX0RF U0NSSVBUSU9OKCJSZWd1bGF0b3IgRHJpdmVyIGZvciBNZWRpYVRlayBNVDYzNTkgUE1JQyIpOw0K PiArTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOw0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9y ZWd1bGF0b3IvbXQ2MzU5LXJlZ3VsYXRvci5oIGIvaW5jbHVkZS9saW51eC9yZWd1bGF0b3IvbXQ2 MzU5LXJlZ3VsYXRvci5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAu LjZiMTcxNzMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9pbmNsdWRlL2xpbnV4L3JlZ3VsYXRv ci9tdDYzNTktcmVndWxhdG9yLmgNCj4gQEAgLTAsMCArMSw1OCBAQA0KPiArLyogU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8NCj4gKy8qDQo+ICsgKiBDb3B5cmlnaHQgKGMpIDIw MTkgTWVkaWFUZWsgSW5jLg0KPiArICovDQo+ICsNCj4gKyNpZm5kZWYgX19MSU5VWF9SRUdVTEFU T1JfTVQ2MzU5X0gNCj4gKyNkZWZpbmUgX19MSU5VWF9SRUdVTEFUT1JfTVQ2MzU5X0gNCj4gKw0K PiArZW51bSB7DQo+ICtNVDYzNTlfSURfVlMxID0gMCwNCj4gK01UNjM1OV9JRF9WR1BVMTEsDQo+ ICtNVDYzNTlfSURfVk1PREVNLA0KPiArTVQ2MzU5X0lEX1ZQVSwNCj4gK01UNjM1OV9JRF9WQ09S RSwNCj4gK01UNjM1OV9JRF9WUzIsDQo+ICtNVDYzNTlfSURfVlBBLA0KPiArTVQ2MzU5X0lEX1ZQ Uk9DMiwNCj4gK01UNjM1OV9JRF9WUFJPQzEsDQo+ICtNVDYzNTlfSURfVkNPUkVfU1NIVUIsDQo+ ICtNVDYzNTlfSURfVkFVRDE4ID0gMTAsDQo+ICtNVDYzNTlfSURfVlNJTTEsDQo+ICtNVDYzNTlf SURfVklCUiwNCj4gK01UNjM1OV9JRF9WUkYxMiwNCj4gK01UNjM1OV9JRF9WVVNCLA0KPiArTVQ2 MzU5X0lEX1ZTUkFNX1BST0MyLA0KPiArTVQ2MzU5X0lEX1ZJTzE4LA0KPiArTVQ2MzU5X0lEX1ZD QU1JTywNCj4gK01UNjM1OV9JRF9WQ04xOCwNCj4gK01UNjM1OV9JRF9WRkUyOCwNCj4gK01UNjM1 OV9JRF9WQ04xMywNCj4gK01UNjM1OV9JRF9WQ04zM18xX0JULA0KPiArTVQ2MzU5X0lEX1ZDTjMz XzFfV0lGSSwNCj4gK01UNjM1OV9JRF9WQVVYMTgsDQo+ICtNVDYzNTlfSURfVlNSQU1fT1RIRVJT LA0KPiArTVQ2MzU5X0lEX1ZFRlVTRSwNCj4gK01UNjM1OV9JRF9WWE8yMiwNCj4gK01UNjM1OV9J RF9WUkZDSywNCj4gK01UNjM1OV9JRF9WQklGMjgsDQo+ICtNVDYzNTlfSURfVklPMjgsDQo+ICtN VDYzNTlfSURfVkVNQywNCj4gK01UNjM1OV9JRF9WQ04zM18yX0JULA0KPiArTVQ2MzU5X0lEX1ZD TjMzXzJfV0lGSSwNCj4gK01UNjM1OV9JRF9WQTEyLA0KPiArTVQ2MzU5X0lEX1ZBMDksDQo+ICtN VDYzNTlfSURfVlJGMTgsDQo+ICtNVDYzNTlfSURfVlNSQU1fTUQsDQo+ICtNVDYzNTlfSURfVlVG UywNCj4gK01UNjM1OV9JRF9WTTE4LA0KPiArTVQ2MzU5X0lEX1ZCQkNLLA0KPiArTVQ2MzU5X0lE X1ZTUkFNX1BST0MxLA0KPiArTVQ2MzU5X0lEX1ZTSU0yLA0KPiArTVQ2MzU5X0lEX1ZTUkFNX09U SEVSU19TU0hVQiwNCj4gK01UNjM1OV9JRF9SR19NQVgsDQo+ICt9Ow0KPiArDQo+ICsjZGVmaW5l IE1UNjM1OV9NQVhfUkVHVUxBVE9STVQ2MzU5X0lEX1JHX01BWA0KPiArDQo+ICsjZW5kaWYgLyog X19MSU5VWF9SRUdVTEFUT1JfTVQ2MzU5X0ggKi8NCj4gLS0NCj4gMS45LjENCj4gDQoNCg==