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=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,USER_AGENT_GIT 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 90EE0C43219 for ; Thu, 2 May 2019 08:07:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1D2DA20651 for ; Thu, 2 May 2019 08:07:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="UctJkf2A" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726596AbfEBIHW (ORCPT ); Thu, 2 May 2019 04:07:22 -0400 Received: from mail-eopbgr30084.outbound.protection.outlook.com ([40.107.3.84]:37540 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726127AbfEBIHV (ORCPT ); Thu, 2 May 2019 04:07:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0fZuumsE+/rrh6SDwystdXGSsK5jIro0ifEHyiq2bfA=; b=UctJkf2ANJ1sWW8y7gL+dwjXCQQ83gjph8D1XB3gmUbNXrqeikVZIkTv9GJ2TpVyTwjbNu5fhdVFEOMQerApgIPGRFWeLhzR0QkIzn+IqUATQziSbGKea5ap1wLOkLrKsdyTP1OtgNHRsa5N/v8V7GoJ7ej8g/B7mMrNwM15gCQ= Received: from AM0PR04MB5779.eurprd04.prod.outlook.com (20.178.202.151) by AM0PR04MB6161.eurprd04.prod.outlook.com (20.179.36.79) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.13; Thu, 2 May 2019 08:06:54 +0000 Received: from AM0PR04MB5779.eurprd04.prod.outlook.com ([fe80::c19b:5964:bfcb:96a8]) by AM0PR04MB5779.eurprd04.prod.outlook.com ([fe80::c19b:5964:bfcb:96a8%7]) with mapi id 15.20.1856.008; Thu, 2 May 2019 08:06:54 +0000 From: Abel Vesa To: Mike Turquette , Stephen Boyd , Shawn Guo , Fabio Estevam , Sascha Hauer CC: dl-linux-imx , Daniel Baluta , "linux-clk@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Linux Kernel Mailing List , Abel Vesa Subject: [PATCH v2 16/18] clk: imx6ul: Switch to clk_hw based API Thread-Topic: [PATCH v2 16/18] clk: imx6ul: Switch to clk_hw based API Thread-Index: AQHVAL4BoFwKesSClEel+XZfCBt5rg== Date: Thu, 2 May 2019 08:06:54 +0000 Message-ID: <1556784376-7191-17-git-send-email-abel.vesa@nxp.com> References: <1556784376-7191-1-git-send-email-abel.vesa@nxp.com> In-Reply-To: <1556784376-7191-1-git-send-email-abel.vesa@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR0501CA0041.eurprd05.prod.outlook.com (2603:10a6:800:60::27) To AM0PR04MB5779.eurprd04.prod.outlook.com (2603:10a6:208:131::23) x-originating-ip: [89.37.124.34] authentication-results: spf=none (sender IP is ) smtp.mailfrom=abel.vesa@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1bba6a83-3cbc-4035-2bb4-08d6ced523ad x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:AM0PR04MB6161; x-ms-traffictypediagnostic: AM0PR04MB6161: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 0025434D2D x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(396003)(366004)(376002)(136003)(39860400002)(199004)(189003)(30864003)(64756008)(66476007)(66446008)(66556008)(66946007)(73956011)(110136005)(54906003)(5660300002)(6512007)(68736007)(53936002)(53946003)(316002)(386003)(6506007)(26005)(2906002)(186003)(478600001)(102836004)(6436002)(76176011)(52116002)(99286004)(66066001)(6116002)(3846002)(14454004)(25786009)(4326008)(36756003)(256004)(14444005)(86362001)(81156014)(486006)(8676002)(44832011)(81166006)(8936002)(7736002)(446003)(11346002)(2616005)(50226002)(476003)(305945005)(6486002)(71190400001)(71200400001)(32563001)(559001)(569006);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR04MB6161;H:AM0PR04MB5779.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: fCV7MEvY24DyeyeqHRE7aoC8g3q9Sk84wLHfPEDGrY24QzK8RPouGGLldBQtIxY/KeyqX8L/DO5YQ+a6Cd1Wk66usqwSUG8GVK2SDp38zA7BtM+Qmce6f07xtDwlaRTl96D7OVty5qGKDicF4YAiLGYGYZMPUURzyT3s8lIKMYs409BDAuVhJ71x6uvak25jW4/7rZNlihGSVtWCM9zys71zr9jWZOP8uPiFpPb3VRRamfkaau8tEUFxp2ZOZ3IG+EFq2+J7EQNdo2zMb99sG5eCEunrF+Qa5dPlnBNnPF0oK7CG9sMLct/gagYYuTHvdcjp2Tz94C3UYiyNbEZrnmNWL6atlKizpOyylJB8n/p7jWtdji880gLiP5r3EWPQuhLOBYALJGgvLujS7zyW0BI5Alwvz+++v9EiVoRsiIM= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1bba6a83-3cbc-4035-2bb4-08d6ced523ad X-MS-Exchange-CrossTenant-originalarrivaltime: 02 May 2019 08:06:54.3969 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6161 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org U3dpdGNoIHRoZSBlbnRpcmUgY2xrLWlteDZ1bCBkcml2ZXIgdG8gY2xrX2h3IGJhc2VkIEFQSS4g VGhpcyBhbGxvd3MgdXMNCnRvIG1vdmUgY2xvc2VyIHRvIGEgY2xlYXIgc3BsaXQgYmV0d2VlbiBj b25zdW1lciBhbmQgcHJvdmlkZXIgY2xrIEFQSXMuDQoNClNpZ25lZC1vZmYtYnk6IEFiZWwgVmVz YSA8YWJlbC52ZXNhQG54cC5jb20+DQotLS0NCiBkcml2ZXJzL2Nsay9pbXgvY2xrLWlteDZ1bC5j IHwgNTc0ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAxIGZp bGUgY2hhbmdlZCwgMjkwIGluc2VydGlvbnMoKyksIDI4NCBkZWxldGlvbnMoLSkNCg0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvY2xrL2lteC9jbGstaW14NnVsLmMgYi9kcml2ZXJzL2Nsay9pbXgvY2xr LWlteDZ1bC5jDQppbmRleCBmZDYwZDE1Li4wZDZjZjQzIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9j bGsvaW14L2Nsay1pbXg2dWwuYw0KKysrIGIvZHJpdmVycy9jbGsvaW14L2Nsay1pbXg2dWwuYw0K QEAgLTc2LDggKzc2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNrbzJfc2Vsc1tdID0geyAiZHVt bXkiLCAiZHVtbXkiLCAiZHVtbXkiLCAidXNkaGMxIiwgImR1bW15IiwNCiAJCQkJICAgImR1bW15 IiwgImR1bW15IiwgImR1bW15IiwgImR1bW15IiwgInVhcnRfc2VyaWFsIiwgInNwZGlmIiwgImR1 bW15IiwgImR1bW15IiwgfTsNCiBzdGF0aWMgY29uc3QgY2hhciAqY2tvX3NlbHNbXSA9IHsgImNr bzEiLCAiY2tvMiIsIH07DQogDQotc3RhdGljIHN0cnVjdCBjbGsgKmNsa3NbSU1YNlVMX0NMS19F TkRdOw0KLXN0YXRpYyBzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSBjbGtfZGF0YTsNCitzdGF0aWMg c3RydWN0IGNsa19odyAqKmh3czsNCitzdGF0aWMgc3RydWN0IGNsa19od19vbmVjZWxsX2RhdGEg KmNsa19od19kYXRhOw0KIA0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY2xrX2Rpdl90YWJsZSBjbGtf ZW5ldF9yZWZfdGFibGVbXSA9IHsNCiAJeyAudmFsID0gMCwgLmRpdiA9IDIwLCB9LA0KQEAgLTEy NCw2MSArMTI0LDY5IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBpbXg2dWxfY2xvY2tzX2luaXQoc3Ry dWN0IGRldmljZV9ub2RlICpjY21fbm9kZSkNCiAJc3RydWN0IGRldmljZV9ub2RlICpucDsNCiAJ dm9pZCBfX2lvbWVtICpiYXNlOw0KIA0KLQljbGtzW0lNWDZVTF9DTEtfRFVNTVldID0gaW14X2Ns a19maXhlZCgiZHVtbXkiLCAwKTsNCisJY2xrX2h3X2RhdGEgPSBremFsbG9jKHN0cnVjdF9zaXpl KGNsa19od19kYXRhLCBod3MsDQorCQkJCQkgIElNWDZVTF9DTEtfRU5EKSwgR0ZQX0tFUk5FTCk7 DQorCWlmIChXQVJOX09OKCFjbGtfaHdfZGF0YSkpDQorCQlyZXR1cm47DQogDQotCWNsa3NbSU1Y NlVMX0NMS19DS0lMXSA9IG9mX2Nsa19nZXRfYnlfbmFtZShjY21fbm9kZSwgImNraWwiKTsNCi0J Y2xrc1tJTVg2VUxfQ0xLX09TQ10gPSBvZl9jbGtfZ2V0X2J5X25hbWUoY2NtX25vZGUsICJvc2Mi KTsNCisJY2xrX2h3X2RhdGEtPm51bSA9IElNWDZVTF9DTEtfRU5EOw0KKwlod3MgPSBjbGtfaHdf ZGF0YS0+aHdzOw0KKw0KKwlod3NbSU1YNlVMX0NMS19EVU1NWV0gPSBpbXhfY2xrX2h3X2ZpeGVk KCJkdW1teSIsIDApOw0KKw0KKwlod3NbSU1YNlVMX0NMS19DS0lMXSA9IF9fY2xrX2dldF9odyhv Zl9jbGtfZ2V0X2J5X25hbWUoY2NtX25vZGUsICJja2lsIikpOw0KKwlod3NbSU1YNlVMX0NMS19P U0NdID0gX19jbGtfZ2V0X2h3KG9mX2Nsa19nZXRfYnlfbmFtZShjY21fbm9kZSwgIm9zYyIpKTsN CiANCiAJLyogaXBwX2RpIGNsb2NrIGlzIGV4dGVybmFsIGlucHV0ICovDQotCWNsa3NbSU1YNlVM X0NMS19JUFBfREkwXSA9IG9mX2Nsa19nZXRfYnlfbmFtZShjY21fbm9kZSwgImlwcF9kaTAiKTsN Ci0JY2xrc1tJTVg2VUxfQ0xLX0lQUF9ESTFdID0gb2ZfY2xrX2dldF9ieV9uYW1lKGNjbV9ub2Rl LCAiaXBwX2RpMSIpOw0KKwlod3NbSU1YNlVMX0NMS19JUFBfREkwXSA9IF9fY2xrX2dldF9odyhv Zl9jbGtfZ2V0X2J5X25hbWUoY2NtX25vZGUsICJpcHBfZGkwIikpOw0KKwlod3NbSU1YNlVMX0NM S19JUFBfREkxXSA9IF9fY2xrX2dldF9odyhvZl9jbGtfZ2V0X2J5X25hbWUoY2NtX25vZGUsICJp cHBfZGkxIikpOw0KIA0KIAlucCA9IG9mX2ZpbmRfY29tcGF0aWJsZV9ub2RlKE5VTEwsIE5VTEws ICJmc2wsaW14NnVsLWFuYXRvcCIpOw0KIAliYXNlID0gb2ZfaW9tYXAobnAsIDApOw0KIAlvZl9u b2RlX3B1dChucCk7DQogCVdBUk5fT04oIWJhc2UpOw0KIA0KLQljbGtzW0lNWDZVTF9QTEwxX0JZ UEFTU19TUkNdID0gaW14X2Nsa19tdXgoInBsbDFfYnlwYXNzX3NyYyIsIGJhc2UgKyAweDAwLCAx NCwgMSwgcGxsX2J5cGFzc19zcmNfc2VscywgQVJSQVlfU0laRShwbGxfYnlwYXNzX3NyY19zZWxz KSk7DQotCWNsa3NbSU1YNlVMX1BMTDJfQllQQVNTX1NSQ10gPSBpbXhfY2xrX211eCgicGxsMl9i eXBhc3Nfc3JjIiwgYmFzZSArIDB4MzAsIDE0LCAxLCBwbGxfYnlwYXNzX3NyY19zZWxzLCBBUlJB WV9TSVpFKHBsbF9ieXBhc3Nfc3JjX3NlbHMpKTsNCi0JY2xrc1tJTVg2VUxfUExMM19CWVBBU1Nf U1JDXSA9IGlteF9jbGtfbXV4KCJwbGwzX2J5cGFzc19zcmMiLCBiYXNlICsgMHgxMCwgMTQsIDEs IHBsbF9ieXBhc3Nfc3JjX3NlbHMsIEFSUkFZX1NJWkUocGxsX2J5cGFzc19zcmNfc2VscykpOw0K LQljbGtzW0lNWDZVTF9QTEw0X0JZUEFTU19TUkNdID0gaW14X2Nsa19tdXgoInBsbDRfYnlwYXNz X3NyYyIsIGJhc2UgKyAweDcwLCAxNCwgMSwgcGxsX2J5cGFzc19zcmNfc2VscywgQVJSQVlfU0la RShwbGxfYnlwYXNzX3NyY19zZWxzKSk7DQotCWNsa3NbSU1YNlVMX1BMTDVfQllQQVNTX1NSQ10g PSBpbXhfY2xrX211eCgicGxsNV9ieXBhc3Nfc3JjIiwgYmFzZSArIDB4YTAsIDE0LCAxLCBwbGxf YnlwYXNzX3NyY19zZWxzLCBBUlJBWV9TSVpFKHBsbF9ieXBhc3Nfc3JjX3NlbHMpKTsNCi0JY2xr c1tJTVg2VUxfUExMNl9CWVBBU1NfU1JDXSA9IGlteF9jbGtfbXV4KCJwbGw2X2J5cGFzc19zcmMi LCBiYXNlICsgMHhlMCwgMTQsIDEsIHBsbF9ieXBhc3Nfc3JjX3NlbHMsIEFSUkFZX1NJWkUocGxs X2J5cGFzc19zcmNfc2VscykpOw0KLQljbGtzW0lNWDZVTF9QTEw3X0JZUEFTU19TUkNdID0gaW14 X2Nsa19tdXgoInBsbDdfYnlwYXNzX3NyYyIsIGJhc2UgKyAweDIwLCAxNCwgMSwgcGxsX2J5cGFz c19zcmNfc2VscywgQVJSQVlfU0laRShwbGxfYnlwYXNzX3NyY19zZWxzKSk7DQotDQotCWNsa3Nb SU1YNlVMX0NMS19QTEwxXSA9IGlteF9jbGtfcGxsdjMoSU1YX1BMTFYzX1NZUywJICJwbGwxIiwg Im9zYyIsIGJhc2UgKyAweDAwLCAweDdmKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1BMTDJdID0gaW14 X2Nsa19wbGx2MyhJTVhfUExMVjNfR0VORVJJQywgInBsbDIiLCAib3NjIiwgYmFzZSArIDB4MzAs IDB4MSk7DQotCWNsa3NbSU1YNlVMX0NMS19QTEwzXSA9IGlteF9jbGtfcGxsdjMoSU1YX1BMTFYz X1VTQiwJICJwbGwzIiwgIm9zYyIsIGJhc2UgKyAweDEwLCAweDMpOw0KLQljbGtzW0lNWDZVTF9D TEtfUExMNF0gPSBpbXhfY2xrX3BsbHYzKElNWF9QTExWM19BViwJICJwbGw0IiwgIm9zYyIsIGJh c2UgKyAweDcwLCAweDdmKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1BMTDVdID0gaW14X2Nsa19wbGx2 MyhJTVhfUExMVjNfQVYsCSAicGxsNSIsICJvc2MiLCBiYXNlICsgMHhhMCwgMHg3Zik7DQotCWNs a3NbSU1YNlVMX0NMS19QTEw2XSA9IGlteF9jbGtfcGxsdjMoSU1YX1BMTFYzX0VORVQsCSAicGxs NiIsICJvc2MiLCBiYXNlICsgMHhlMCwgMHgzKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1BMTDddID0g aW14X2Nsa19wbGx2MyhJTVhfUExMVjNfVVNCLAkgInBsbDciLCAib3NjIiwgYmFzZSArIDB4MjAs IDB4Myk7DQotDQotCWNsa3NbSU1YNlVMX1BMTDFfQllQQVNTXSA9IGlteF9jbGtfbXV4X2ZsYWdz KCJwbGwxX2J5cGFzcyIsIGJhc2UgKyAweDAwLCAxNiwgMSwgcGxsMV9ieXBhc3Nfc2VscywgQVJS QVlfU0laRShwbGwxX2J5cGFzc19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCWNsa3Nb SU1YNlVMX1BMTDJfQllQQVNTXSA9IGlteF9jbGtfbXV4X2ZsYWdzKCJwbGwyX2J5cGFzcyIsIGJh c2UgKyAweDMwLCAxNiwgMSwgcGxsMl9ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGwyX2J5cGFz c19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCWNsa3NbSU1YNlVMX1BMTDNfQllQQVNT XSA9IGlteF9jbGtfbXV4X2ZsYWdzKCJwbGwzX2J5cGFzcyIsIGJhc2UgKyAweDEwLCAxNiwgMSwg cGxsM19ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGwzX2J5cGFzc19zZWxzKSwgQ0xLX1NFVF9S QVRFX1BBUkVOVCk7DQotCWNsa3NbSU1YNlVMX1BMTDRfQllQQVNTXSA9IGlteF9jbGtfbXV4X2Zs YWdzKCJwbGw0X2J5cGFzcyIsIGJhc2UgKyAweDcwLCAxNiwgMSwgcGxsNF9ieXBhc3Nfc2Vscywg QVJSQVlfU0laRShwbGw0X2J5cGFzc19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCWNs a3NbSU1YNlVMX1BMTDVfQllQQVNTXSA9IGlteF9jbGtfbXV4X2ZsYWdzKCJwbGw1X2J5cGFzcyIs IGJhc2UgKyAweGEwLCAxNiwgMSwgcGxsNV9ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGw1X2J5 cGFzc19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCWNsa3NbSU1YNlVMX1BMTDZfQllQ QVNTXSA9IGlteF9jbGtfbXV4X2ZsYWdzKCJwbGw2X2J5cGFzcyIsIGJhc2UgKyAweGUwLCAxNiwg MSwgcGxsNl9ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGw2X2J5cGFzc19zZWxzKSwgQ0xLX1NF VF9SQVRFX1BBUkVOVCk7DQotCWNsa3NbSU1YNlVMX1BMTDdfQllQQVNTXSA9IGlteF9jbGtfbXV4 X2ZsYWdzKCJwbGw3X2J5cGFzcyIsIGJhc2UgKyAweDIwLCAxNiwgMSwgcGxsN19ieXBhc3Nfc2Vs cywgQVJSQVlfU0laRShwbGw3X2J5cGFzc19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQot CWNsa3NbSU1YNlVMX0NMS19DU0lfU0VMXSA9IGlteF9jbGtfbXV4X2ZsYWdzKCJjc2lfc2VsIiwg YmFzZSArIDB4M2MsIDksIDIsIGNzaV9zZWxzLCBBUlJBWV9TSVpFKGNzaV9zZWxzKSwgQ0xLX1NF VF9SQVRFX1BBUkVOVCk7DQorCWh3c1tJTVg2VUxfUExMMV9CWVBBU1NfU1JDXSA9IGlteF9jbGtf aHdfbXV4KCJwbGwxX2J5cGFzc19zcmMiLCBiYXNlICsgMHgwMCwgMTQsIDEsIHBsbF9ieXBhc3Nf c3JjX3NlbHMsIEFSUkFZX1NJWkUocGxsX2J5cGFzc19zcmNfc2VscykpOw0KKwlod3NbSU1YNlVM X1BMTDJfQllQQVNTX1NSQ10gPSBpbXhfY2xrX2h3X211eCgicGxsMl9ieXBhc3Nfc3JjIiwgYmFz ZSArIDB4MzAsIDE0LCAxLCBwbGxfYnlwYXNzX3NyY19zZWxzLCBBUlJBWV9TSVpFKHBsbF9ieXBh c3Nfc3JjX3NlbHMpKTsNCisJaHdzW0lNWDZVTF9QTEwzX0JZUEFTU19TUkNdID0gaW14X2Nsa19o d19tdXgoInBsbDNfYnlwYXNzX3NyYyIsIGJhc2UgKyAweDEwLCAxNCwgMSwgcGxsX2J5cGFzc19z cmNfc2VscywgQVJSQVlfU0laRShwbGxfYnlwYXNzX3NyY19zZWxzKSk7DQorCWh3c1tJTVg2VUxf UExMNF9CWVBBU1NfU1JDXSA9IGlteF9jbGtfaHdfbXV4KCJwbGw0X2J5cGFzc19zcmMiLCBiYXNl ICsgMHg3MCwgMTQsIDEsIHBsbF9ieXBhc3Nfc3JjX3NlbHMsIEFSUkFZX1NJWkUocGxsX2J5cGFz c19zcmNfc2VscykpOw0KKwlod3NbSU1YNlVMX1BMTDVfQllQQVNTX1NSQ10gPSBpbXhfY2xrX2h3 X211eCgicGxsNV9ieXBhc3Nfc3JjIiwgYmFzZSArIDB4YTAsIDE0LCAxLCBwbGxfYnlwYXNzX3Ny Y19zZWxzLCBBUlJBWV9TSVpFKHBsbF9ieXBhc3Nfc3JjX3NlbHMpKTsNCisJaHdzW0lNWDZVTF9Q TEw2X0JZUEFTU19TUkNdID0gaW14X2Nsa19od19tdXgoInBsbDZfYnlwYXNzX3NyYyIsIGJhc2Ug KyAweGUwLCAxNCwgMSwgcGxsX2J5cGFzc19zcmNfc2VscywgQVJSQVlfU0laRShwbGxfYnlwYXNz X3NyY19zZWxzKSk7DQorCWh3c1tJTVg2VUxfUExMN19CWVBBU1NfU1JDXSA9IGlteF9jbGtfaHdf bXV4KCJwbGw3X2J5cGFzc19zcmMiLCBiYXNlICsgMHgyMCwgMTQsIDEsIHBsbF9ieXBhc3Nfc3Jj X3NlbHMsIEFSUkFZX1NJWkUocGxsX2J5cGFzc19zcmNfc2VscykpOw0KKw0KKwlod3NbSU1YNlVM X0NMS19QTEwxXSA9IGlteF9jbGtfaHdfcGxsdjMoSU1YX1BMTFYzX1NZUywJICJwbGwxIiwgIm9z YyIsIGJhc2UgKyAweDAwLCAweDdmKTsNCisJaHdzW0lNWDZVTF9DTEtfUExMMl0gPSBpbXhfY2xr X2h3X3BsbHYzKElNWF9QTExWM19HRU5FUklDLCAicGxsMiIsICJvc2MiLCBiYXNlICsgMHgzMCwg MHgxKTsNCisJaHdzW0lNWDZVTF9DTEtfUExMM10gPSBpbXhfY2xrX2h3X3BsbHYzKElNWF9QTExW M19VU0IsCSAicGxsMyIsICJvc2MiLCBiYXNlICsgMHgxMCwgMHgzKTsNCisJaHdzW0lNWDZVTF9D TEtfUExMNF0gPSBpbXhfY2xrX2h3X3BsbHYzKElNWF9QTExWM19BViwJICJwbGw0IiwgIm9zYyIs IGJhc2UgKyAweDcwLCAweDdmKTsNCisJaHdzW0lNWDZVTF9DTEtfUExMNV0gPSBpbXhfY2xrX2h3 X3BsbHYzKElNWF9QTExWM19BViwJICJwbGw1IiwgIm9zYyIsIGJhc2UgKyAweGEwLCAweDdmKTsN CisJaHdzW0lNWDZVTF9DTEtfUExMNl0gPSBpbXhfY2xrX2h3X3BsbHYzKElNWF9QTExWM19FTkVU LAkgInBsbDYiLCAib3NjIiwgYmFzZSArIDB4ZTAsIDB4Myk7DQorCWh3c1tJTVg2VUxfQ0xLX1BM TDddID0gaW14X2Nsa19od19wbGx2MyhJTVhfUExMVjNfVVNCLAkgInBsbDciLCAib3NjIiwgYmFz ZSArIDB4MjAsIDB4Myk7DQorDQorCWh3c1tJTVg2VUxfUExMMV9CWVBBU1NdID0gaW14X2Nsa19o d19tdXhfZmxhZ3MoInBsbDFfYnlwYXNzIiwgYmFzZSArIDB4MDAsIDE2LCAxLCBwbGwxX2J5cGFz c19zZWxzLCBBUlJBWV9TSVpFKHBsbDFfYnlwYXNzX3NlbHMpLCBDTEtfU0VUX1JBVEVfUEFSRU5U KTsNCisJaHdzW0lNWDZVTF9QTEwyX0JZUEFTU10gPSBpbXhfY2xrX2h3X211eF9mbGFncygicGxs Ml9ieXBhc3MiLCBiYXNlICsgMHgzMCwgMTYsIDEsIHBsbDJfYnlwYXNzX3NlbHMsIEFSUkFZX1NJ WkUocGxsMl9ieXBhc3Nfc2VscyksIENMS19TRVRfUkFURV9QQVJFTlQpOw0KKwlod3NbSU1YNlVM X1BMTDNfQllQQVNTXSA9IGlteF9jbGtfaHdfbXV4X2ZsYWdzKCJwbGwzX2J5cGFzcyIsIGJhc2Ug KyAweDEwLCAxNiwgMSwgcGxsM19ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGwzX2J5cGFzc19z ZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQorCWh3c1tJTVg2VUxfUExMNF9CWVBBU1NdID0g aW14X2Nsa19od19tdXhfZmxhZ3MoInBsbDRfYnlwYXNzIiwgYmFzZSArIDB4NzAsIDE2LCAxLCBw bGw0X2J5cGFzc19zZWxzLCBBUlJBWV9TSVpFKHBsbDRfYnlwYXNzX3NlbHMpLCBDTEtfU0VUX1JB VEVfUEFSRU5UKTsNCisJaHdzW0lNWDZVTF9QTEw1X0JZUEFTU10gPSBpbXhfY2xrX2h3X211eF9m bGFncygicGxsNV9ieXBhc3MiLCBiYXNlICsgMHhhMCwgMTYsIDEsIHBsbDVfYnlwYXNzX3NlbHMs IEFSUkFZX1NJWkUocGxsNV9ieXBhc3Nfc2VscyksIENMS19TRVRfUkFURV9QQVJFTlQpOw0KKwlo d3NbSU1YNlVMX1BMTDZfQllQQVNTXSA9IGlteF9jbGtfaHdfbXV4X2ZsYWdzKCJwbGw2X2J5cGFz cyIsIGJhc2UgKyAweGUwLCAxNiwgMSwgcGxsNl9ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGw2 X2J5cGFzc19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQorCWh3c1tJTVg2VUxfUExMN19C WVBBU1NdID0gaW14X2Nsa19od19tdXhfZmxhZ3MoInBsbDdfYnlwYXNzIiwgYmFzZSArIDB4MjAs IDE2LCAxLCBwbGw3X2J5cGFzc19zZWxzLCBBUlJBWV9TSVpFKHBsbDdfYnlwYXNzX3NlbHMpLCBD TEtfU0VUX1JBVEVfUEFSRU5UKTsNCisJaHdzW0lNWDZVTF9DTEtfQ1NJX1NFTF0gPSBpbXhfY2xr X2h3X211eF9mbGFncygiY3NpX3NlbCIsIGJhc2UgKyAweDNjLCA5LCAyLCBjc2lfc2VscywgQVJS QVlfU0laRShjc2lfc2VscyksIENMS19TRVRfUkFURV9QQVJFTlQpOw0KIA0KIAkvKiBEbyBub3Qg YnlwYXNzIFBMTHMgaW5pdGlhbGx5ICovDQotCWNsa19zZXRfcGFyZW50KGNsa3NbSU1YNlVMX1BM TDFfQllQQVNTXSwgY2xrc1tJTVg2VUxfQ0xLX1BMTDFdKTsNCi0JY2xrX3NldF9wYXJlbnQoY2xr c1tJTVg2VUxfUExMMl9CWVBBU1NdLCBjbGtzW0lNWDZVTF9DTEtfUExMMl0pOw0KLQljbGtfc2V0 X3BhcmVudChjbGtzW0lNWDZVTF9QTEwzX0JZUEFTU10sIGNsa3NbSU1YNlVMX0NMS19QTEwzXSk7 DQotCWNsa19zZXRfcGFyZW50KGNsa3NbSU1YNlVMX1BMTDRfQllQQVNTXSwgY2xrc1tJTVg2VUxf Q0xLX1BMTDRdKTsNCi0JY2xrX3NldF9wYXJlbnQoY2xrc1tJTVg2VUxfUExMNV9CWVBBU1NdLCBj bGtzW0lNWDZVTF9DTEtfUExMNV0pOw0KLQljbGtfc2V0X3BhcmVudChjbGtzW0lNWDZVTF9QTEw2 X0JZUEFTU10sIGNsa3NbSU1YNlVMX0NMS19QTEw2XSk7DQotCWNsa19zZXRfcGFyZW50KGNsa3Nb SU1YNlVMX1BMTDdfQllQQVNTXSwgY2xrc1tJTVg2VUxfQ0xLX1BMTDddKTsNCi0NCi0JY2xrc1tJ TVg2VUxfQ0xLX1BMTDFfU1lTXQk9IGlteF9jbGtfZml4ZWRfZmFjdG9yKCJwbGwxX3N5cyIsCSJw bGwxX2J5cGFzcyIsIDEsIDEpOw0KLQljbGtzW0lNWDZVTF9DTEtfUExMMl9CVVNdCT0gaW14X2Ns a19nYXRlKCJwbGwyX2J1cyIsCSJwbGwyX2J5cGFzcyIsIGJhc2UgKyAweDMwLCAxMyk7DQotCWNs a3NbSU1YNlVMX0NMS19QTEwzX1VTQl9PVEddCT0gaW14X2Nsa19nYXRlKCJwbGwzX3VzYl9vdGci LAkicGxsM19ieXBhc3MiLCBiYXNlICsgMHgxMCwgMTMpOw0KLQljbGtzW0lNWDZVTF9DTEtfUExM NF9BVURJT10JPSBpbXhfY2xrX2dhdGUoInBsbDRfYXVkaW8iLAkicGxsNF9ieXBhc3MiLCBiYXNl ICsgMHg3MCwgMTMpOw0KLQljbGtzW0lNWDZVTF9DTEtfUExMNV9WSURFT10JPSBpbXhfY2xrX2dh dGUoInBsbDVfdmlkZW8iLAkicGxsNV9ieXBhc3MiLCBiYXNlICsgMHhhMCwgMTMpOw0KLQljbGtz W0lNWDZVTF9DTEtfUExMNl9FTkVUXQk9IGlteF9jbGtfZ2F0ZSgicGxsNl9lbmV0IiwJInBsbDZf YnlwYXNzIiwgYmFzZSArIDB4ZTAsIDEzKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1BMTDdfVVNCX0hP U1RdCT0gaW14X2Nsa19nYXRlKCJwbGw3X3VzYl9ob3N0IiwJInBsbDdfYnlwYXNzIiwgYmFzZSAr IDB4MjAsIDEzKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZVTF9QTEwxX0JZUEFTU10tPmNs aywgaHdzW0lNWDZVTF9DTEtfUExMMV0tPmNsayk7DQorCWNsa19zZXRfcGFyZW50KGh3c1tJTVg2 VUxfUExMMl9CWVBBU1NdLT5jbGssIGh3c1tJTVg2VUxfQ0xLX1BMTDJdLT5jbGspOw0KKwljbGtf c2V0X3BhcmVudChod3NbSU1YNlVMX1BMTDNfQllQQVNTXS0+Y2xrLCBod3NbSU1YNlVMX0NMS19Q TEwzXS0+Y2xrKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZVTF9QTEw0X0JZUEFTU10tPmNs aywgaHdzW0lNWDZVTF9DTEtfUExMNF0tPmNsayk7DQorCWNsa19zZXRfcGFyZW50KGh3c1tJTVg2 VUxfUExMNV9CWVBBU1NdLT5jbGssIGh3c1tJTVg2VUxfQ0xLX1BMTDVdLT5jbGspOw0KKwljbGtf c2V0X3BhcmVudChod3NbSU1YNlVMX1BMTDZfQllQQVNTXS0+Y2xrLCBod3NbSU1YNlVMX0NMS19Q TEw2XS0+Y2xrKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZVTF9QTEw3X0JZUEFTU10tPmNs aywgaHdzW0lNWDZVTF9DTEtfUExMN10tPmNsayk7DQorDQorCWh3c1tJTVg2VUxfQ0xLX1BMTDFf U1lTXQk9IGlteF9jbGtfaHdfZml4ZWRfZmFjdG9yKCJwbGwxX3N5cyIsCSJwbGwxX2J5cGFzcyIs IDEsIDEpOw0KKwlod3NbSU1YNlVMX0NMS19QTEwyX0JVU10JPSBpbXhfY2xrX2h3X2dhdGUoInBs bDJfYnVzIiwJInBsbDJfYnlwYXNzIiwgYmFzZSArIDB4MzAsIDEzKTsNCisJaHdzW0lNWDZVTF9D TEtfUExMM19VU0JfT1RHXQk9IGlteF9jbGtfaHdfZ2F0ZSgicGxsM191c2Jfb3RnIiwJInBsbDNf YnlwYXNzIiwgYmFzZSArIDB4MTAsIDEzKTsNCisJaHdzW0lNWDZVTF9DTEtfUExMNF9BVURJT10J PSBpbXhfY2xrX2h3X2dhdGUoInBsbDRfYXVkaW8iLAkicGxsNF9ieXBhc3MiLCBiYXNlICsgMHg3 MCwgMTMpOw0KKwlod3NbSU1YNlVMX0NMS19QTEw1X1ZJREVPXQk9IGlteF9jbGtfaHdfZ2F0ZSgi cGxsNV92aWRlbyIsCSJwbGw1X2J5cGFzcyIsIGJhc2UgKyAweGEwLCAxMyk7DQorCWh3c1tJTVg2 VUxfQ0xLX1BMTDZfRU5FVF0JPSBpbXhfY2xrX2h3X2dhdGUoInBsbDZfZW5ldCIsCSJwbGw2X2J5 cGFzcyIsIGJhc2UgKyAweGUwLCAxMyk7DQorCWh3c1tJTVg2VUxfQ0xLX1BMTDdfVVNCX0hPU1Rd CT0gaW14X2Nsa19od19nYXRlKCJwbGw3X3VzYl9ob3N0IiwJInBsbDdfYnlwYXNzIiwgYmFzZSAr IDB4MjAsIDEzKTsNCiANCiAJLyoNCiAJICogQml0IDIwIGlzIHRoZSByZXNlcnZlZCBhbmQgcmVh ZC1vbmx5IGJpdCwgd2UgZG8gdGhpcyBvbmx5IGZvcjoNCkBAIC0xODYsMjkxICsxOTQsMjg5IEBA IHN0YXRpYyB2b2lkIF9faW5pdCBpbXg2dWxfY2xvY2tzX2luaXQoc3RydWN0IGRldmljZV9ub2Rl ICpjY21fbm9kZSkNCiAJICogLSBLZWVwIHJlZmNvdW50IHdoZW4gZG8gdXNicGh5IGNsa19lbmFi bGUvZGlzYWJsZSwgaW4gdGhhdCBjYXNlLA0KIAkgKiB0aGUgY2xrIGZyYW1ld29yayBtYW55IG5l ZWQgdG8gZW5hYmxlL2Rpc2FibGUgdXNicGh5J3MgcGFyZW50DQogCSAqLw0KLQljbGtzW0lNWDZV TF9DTEtfVVNCUEhZMV0gPSBpbXhfY2xrX2dhdGUoInVzYnBoeTEiLCAicGxsM191c2Jfb3RnIiwg IGJhc2UgKyAweDEwLCAyMCk7DQotCWNsa3NbSU1YNlVMX0NMS19VU0JQSFkyXSA9IGlteF9jbGtf Z2F0ZSgidXNicGh5MiIsICJwbGw3X3VzYl9ob3N0IiwgYmFzZSArIDB4MjAsIDIwKTsNCisJaHdz W0lNWDZVTF9DTEtfVVNCUEhZMV0gPSBpbXhfY2xrX2h3X2dhdGUoInVzYnBoeTEiLCAicGxsM191 c2Jfb3RnIiwgIGJhc2UgKyAweDEwLCAyMCk7DQorCWh3c1tJTVg2VUxfQ0xLX1VTQlBIWTJdID0g aW14X2Nsa19od19nYXRlKCJ1c2JwaHkyIiwgInBsbDdfdXNiX2hvc3QiLCBiYXNlICsgMHgyMCwg MjApOw0KIA0KIAkvKg0KIAkgKiB1c2JwaHkqX2dhdGUgbmVlZHMgdG8gYmUgb24gYWZ0ZXIgc3lz dGVtIGJvb3RzIHVwLCBhbmQgc29mdHdhcmUNCiAJICogbmV2ZXIgbmVlZHMgdG8gY29udHJvbCBp dCBhbnltb3JlLg0KIAkgKi8NCi0JY2xrc1tJTVg2VUxfQ0xLX1VTQlBIWTFfR0FURV0gPSBpbXhf Y2xrX2dhdGUoInVzYnBoeTFfZ2F0ZSIsICJkdW1teSIsIGJhc2UgKyAweDEwLCA2KTsNCi0JY2xr c1tJTVg2VUxfQ0xLX1VTQlBIWTJfR0FURV0gPSBpbXhfY2xrX2dhdGUoInVzYnBoeTJfZ2F0ZSIs ICJkdW1teSIsIGJhc2UgKyAweDIwLCA2KTsNCisJaHdzW0lNWDZVTF9DTEtfVVNCUEhZMV9HQVRF XSA9IGlteF9jbGtfaHdfZ2F0ZSgidXNicGh5MV9nYXRlIiwgImR1bW15IiwgYmFzZSArIDB4MTAs IDYpOw0KKwlod3NbSU1YNlVMX0NMS19VU0JQSFkyX0dBVEVdID0gaW14X2Nsa19od19nYXRlKCJ1 c2JwaHkyX2dhdGUiLCAiZHVtbXkiLCBiYXNlICsgMHgyMCwgNik7DQogDQogCS8qCQkJCQluYW1l CQkgICBwYXJlbnRfbmFtZQkgICByZWcJCWlkeCAqLw0KLQljbGtzW0lNWDZVTF9DTEtfUExMMl9Q RkQwXSA9IGlteF9jbGtfcGZkKCJwbGwyX3BmZDBfMzUybSIsICJwbGwyX2J1cyIsCSAgIGJhc2Ug KyAweDEwMCwgMCk7DQotCWNsa3NbSU1YNlVMX0NMS19QTEwyX1BGRDFdID0gaW14X2Nsa19wZmQo InBsbDJfcGZkMV81OTRtIiwgInBsbDJfYnVzIiwJICAgYmFzZSArIDB4MTAwLCAxKTsNCi0JY2xr c1tJTVg2VUxfQ0xLX1BMTDJfUEZEMl0gPSBpbXhfY2xrX3BmZCgicGxsMl9wZmQyXzM5Nm0iLCAi cGxsMl9idXMiLAkgICBiYXNlICsgMHgxMDAsIDIpOw0KLQljbGtzW0lNWDZVTF9DTEtfUExMMl9Q RkQzXSA9IGlteF9jbGtfcGZkKCJwbGwyX3BmZDNfNTk0bSIsICJwbGwyX2J1cyIsCSAgIGJhc2Ug KyAweDEwMCwgMyk7DQotCWNsa3NbSU1YNlVMX0NMS19QTEwzX1BGRDBdID0gaW14X2Nsa19wZmQo InBsbDNfcGZkMF83MjBtIiwgInBsbDNfdXNiX290ZyIsIGJhc2UgKyAweGYwLCAgMCk7DQotCWNs a3NbSU1YNlVMX0NMS19QTEwzX1BGRDFdID0gaW14X2Nsa19wZmQoInBsbDNfcGZkMV81NDBtIiwg InBsbDNfdXNiX290ZyIsIGJhc2UgKyAweGYwLCAgMSk7DQotCWNsa3NbSU1YNlVMX0NMS19QTEwz X1BGRDJdID0gaW14X2Nsa19wZmQoInBsbDNfcGZkMl81MDhtIiwgInBsbDNfdXNiX290ZyIsIGJh c2UgKyAweGYwLAkgMik7DQotCWNsa3NbSU1YNlVMX0NMS19QTEwzX1BGRDNdID0gaW14X2Nsa19w ZmQoInBsbDNfcGZkM180NTRtIiwgInBsbDNfdXNiX290ZyIsIGJhc2UgKyAweGYwLAkgMyk7DQot DQotCWNsa3NbSU1YNlVMX0NMS19FTkVUX1JFRl0gPSBjbGtfcmVnaXN0ZXJfZGl2aWRlcl90YWJs ZShOVUxMLCAiZW5ldF9yZWYiLCAicGxsNl9lbmV0IiwgMCwNCisJaHdzW0lNWDZVTF9DTEtfUExM Ml9QRkQwXSA9IGlteF9jbGtfaHdfcGZkKCJwbGwyX3BmZDBfMzUybSIsICJwbGwyX2J1cyIsCSAg IGJhc2UgKyAweDEwMCwgMCk7DQorCWh3c1tJTVg2VUxfQ0xLX1BMTDJfUEZEMV0gPSBpbXhfY2xr X2h3X3BmZCgicGxsMl9wZmQxXzU5NG0iLCAicGxsMl9idXMiLAkgICBiYXNlICsgMHgxMDAsIDEp Ow0KKwlod3NbSU1YNlVMX0NMS19QTEwyX1BGRDJdID0gaW14X2Nsa19od19wZmQoInBsbDJfcGZk Ml8zOTZtIiwgInBsbDJfYnVzIiwJICAgYmFzZSArIDB4MTAwLCAyKTsNCisJaHdzW0lNWDZVTF9D TEtfUExMMl9QRkQzXSA9IGlteF9jbGtfaHdfcGZkKCJwbGwyX3BmZDNfNTk0bSIsICJwbGwyX2J1 cyIsCSAgIGJhc2UgKyAweDEwMCwgMyk7DQorCWh3c1tJTVg2VUxfQ0xLX1BMTDNfUEZEMF0gPSBp bXhfY2xrX2h3X3BmZCgicGxsM19wZmQwXzcyMG0iLCAicGxsM191c2Jfb3RnIiwgYmFzZSArIDB4 ZjAsICAwKTsNCisJaHdzW0lNWDZVTF9DTEtfUExMM19QRkQxXSA9IGlteF9jbGtfaHdfcGZkKCJw bGwzX3BmZDFfNTQwbSIsICJwbGwzX3VzYl9vdGciLCBiYXNlICsgMHhmMCwgIDEpOw0KKwlod3Nb SU1YNlVMX0NMS19QTEwzX1BGRDJdID0gaW14X2Nsa19od19wZmQoInBsbDNfcGZkMl81MDhtIiwg InBsbDNfdXNiX290ZyIsIGJhc2UgKyAweGYwLAkgMik7DQorCWh3c1tJTVg2VUxfQ0xLX1BMTDNf UEZEM10gPSBpbXhfY2xrX2h3X3BmZCgicGxsM19wZmQzXzQ1NG0iLCAicGxsM191c2Jfb3RnIiwg YmFzZSArIDB4ZjAsCSAzKTsNCisNCisJaHdzW0lNWDZVTF9DTEtfRU5FVF9SRUZdID0gY2xrX2h3 X3JlZ2lzdGVyX2RpdmlkZXJfdGFibGUoTlVMTCwgImVuZXRfcmVmIiwgInBsbDZfZW5ldCIsIDAs DQogCQkJYmFzZSArIDB4ZTAsIDAsIDIsIDAsIGNsa19lbmV0X3JlZl90YWJsZSwgJmlteF9jY21f bG9jayk7DQotCWNsa3NbSU1YNlVMX0NMS19FTkVUMl9SRUZdID0gY2xrX3JlZ2lzdGVyX2Rpdmlk ZXJfdGFibGUoTlVMTCwgImVuZXQyX3JlZiIsICJwbGw2X2VuZXQiLCAwLA0KKwlod3NbSU1YNlVM X0NMS19FTkVUMl9SRUZdID0gY2xrX2h3X3JlZ2lzdGVyX2RpdmlkZXJfdGFibGUoTlVMTCwgImVu ZXQyX3JlZiIsICJwbGw2X2VuZXQiLCAwLA0KIAkJCWJhc2UgKyAweGUwLCAyLCAyLCAwLCBjbGtf ZW5ldF9yZWZfdGFibGUsICZpbXhfY2NtX2xvY2spOw0KIA0KLQljbGtzW0lNWDZVTF9DTEtfRU5F VDJfUkVGXzEyNU1dID0gaW14X2Nsa19nYXRlKCJlbmV0X3JlZl8xMjVtIiwgImVuZXQyX3JlZiIs IGJhc2UgKyAweGUwLCAyMCk7DQotCWNsa3NbSU1YNlVMX0NMS19FTkVUX1BUUF9SRUZdCT0gaW14 X2Nsa19maXhlZF9mYWN0b3IoImVuZXRfcHRwX3JlZiIsICJwbGw2X2VuZXQiLCAxLCAyMCk7DQot CWNsa3NbSU1YNlVMX0NMS19FTkVUX1BUUF0JPSBpbXhfY2xrX2dhdGUoImVuZXRfcHRwIiwgImVu ZXRfcHRwX3JlZiIsIGJhc2UgKyAweGUwLCAyMSk7DQorCWh3c1tJTVg2VUxfQ0xLX0VORVQyX1JF Rl8xMjVNXSA9IGlteF9jbGtfaHdfZ2F0ZSgiZW5ldF9yZWZfMTI1bSIsICJlbmV0Ml9yZWYiLCBi YXNlICsgMHhlMCwgMjApOw0KKwlod3NbSU1YNlVMX0NMS19FTkVUX1BUUF9SRUZdCT0gaW14X2Ns a19od19maXhlZF9mYWN0b3IoImVuZXRfcHRwX3JlZiIsICJwbGw2X2VuZXQiLCAxLCAyMCk7DQor CWh3c1tJTVg2VUxfQ0xLX0VORVRfUFRQXQk9IGlteF9jbGtfaHdfZ2F0ZSgiZW5ldF9wdHAiLCAi ZW5ldF9wdHBfcmVmIiwgYmFzZSArIDB4ZTAsIDIxKTsNCiANCi0JY2xrc1tJTVg2VUxfQ0xLX1BM TDRfUE9TVF9ESVZdICA9IGNsa19yZWdpc3Rlcl9kaXZpZGVyX3RhYmxlKE5VTEwsICJwbGw0X3Bv c3RfZGl2IiwgInBsbDRfYXVkaW8iLA0KKwlod3NbSU1YNlVMX0NMS19QTEw0X1BPU1RfRElWXSAg PSBjbGtfaHdfcmVnaXN0ZXJfZGl2aWRlcl90YWJsZShOVUxMLCAicGxsNF9wb3N0X2RpdiIsICJw bGw0X2F1ZGlvIiwNCiAJCSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX1NFVF9SQVRFX0dBVEUs IGJhc2UgKyAweDcwLCAxOSwgMiwgMCwgcG9zdF9kaXZfdGFibGUsICZpbXhfY2NtX2xvY2spOw0K LQljbGtzW0lNWDZVTF9DTEtfUExMNF9BVURJT19ESVZdID0gY2xrX3JlZ2lzdGVyX2RpdmlkZXIo TlVMTCwgInBsbDRfYXVkaW9fZGl2IiwgInBsbDRfcG9zdF9kaXYiLA0KKwlod3NbSU1YNlVMX0NM S19QTEw0X0FVRElPX0RJVl0gPSBjbGtfaHdfcmVnaXN0ZXJfZGl2aWRlcihOVUxMLCAicGxsNF9h dWRpb19kaXYiLCAicGxsNF9wb3N0X2RpdiIsDQogCQkgQ0xLX1NFVF9SQVRFX1BBUkVOVCB8IENM S19TRVRfUkFURV9HQVRFLCBiYXNlICsgMHgxNzAsIDE1LCAxLCAwLCAmaW14X2NjbV9sb2NrKTsN Ci0JY2xrc1tJTVg2VUxfQ0xLX1BMTDVfUE9TVF9ESVZdICA9IGNsa19yZWdpc3Rlcl9kaXZpZGVy X3RhYmxlKE5VTEwsICJwbGw1X3Bvc3RfZGl2IiwgInBsbDVfdmlkZW8iLA0KKwlod3NbSU1YNlVM X0NMS19QTEw1X1BPU1RfRElWXSAgPSBjbGtfaHdfcmVnaXN0ZXJfZGl2aWRlcl90YWJsZShOVUxM LCAicGxsNV9wb3N0X2RpdiIsICJwbGw1X3ZpZGVvIiwNCiAJCSBDTEtfU0VUX1JBVEVfUEFSRU5U IHwgQ0xLX1NFVF9SQVRFX0dBVEUsIGJhc2UgKyAweGEwLCAxOSwgMiwgMCwgcG9zdF9kaXZfdGFi bGUsICZpbXhfY2NtX2xvY2spOw0KLQljbGtzW0lNWDZVTF9DTEtfUExMNV9WSURFT19ESVZdID0g Y2xrX3JlZ2lzdGVyX2RpdmlkZXJfdGFibGUoTlVMTCwgInBsbDVfdmlkZW9fZGl2IiwgInBsbDVf cG9zdF9kaXYiLA0KKwlod3NbSU1YNlVMX0NMS19QTEw1X1ZJREVPX0RJVl0gPSBjbGtfaHdfcmVn aXN0ZXJfZGl2aWRlcl90YWJsZShOVUxMLCAicGxsNV92aWRlb19kaXYiLCAicGxsNV9wb3N0X2Rp diIsDQogCQkgQ0xLX1NFVF9SQVRFX1BBUkVOVCB8IENMS19TRVRfUkFURV9HQVRFLCBiYXNlICsg MHgxNzAsIDMwLCAyLCAwLCB2aWRlb19kaXZfdGFibGUsICZpbXhfY2NtX2xvY2spOw0KIA0KIAkv KgkJCQkJCSAgIG5hbWUJCXBhcmVudF9uYW1lCSBtdWx0ICBkaXYgKi8NCi0JY2xrc1tJTVg2VUxf Q0xLX1BMTDJfMTk4TV0gPSBpbXhfY2xrX2ZpeGVkX2ZhY3RvcigicGxsMl8xOThtIiwgInBsbDJf cGZkMl8zOTZtIiwgMSwJMik7DQotCWNsa3NbSU1YNlVMX0NMS19QTEwzXzgwTV0gID0gaW14X2Ns a19maXhlZF9mYWN0b3IoInBsbDNfODBtIiwgICJwbGwzX3VzYl9vdGciLCAgIDEsCTYpOw0KLQlj bGtzW0lNWDZVTF9DTEtfUExMM182ME1dICA9IGlteF9jbGtfZml4ZWRfZmFjdG9yKCJwbGwzXzYw bSIsICAicGxsM191c2Jfb3RnIiwgICAxLAk4KTsNCi0JY2xrc1tJTVg2VUxfQ0xLX0dQVF8zTV0J ICAgPSBpbXhfY2xrX2ZpeGVkX2ZhY3RvcigiZ3B0XzNtIiwJIm9zYyIsCQkgMSwJOCk7DQorCWh3 c1tJTVg2VUxfQ0xLX1BMTDJfMTk4TV0gPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3RvcigicGxsMl8x OThtIiwgInBsbDJfcGZkMl8zOTZtIiwgMSwJMik7DQorCWh3c1tJTVg2VUxfQ0xLX1BMTDNfODBN XSAgPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3RvcigicGxsM184MG0iLCAgInBsbDNfdXNiX290ZyIs ICAgMSwJNik7DQorCWh3c1tJTVg2VUxfQ0xLX1BMTDNfNjBNXSAgPSBpbXhfY2xrX2h3X2ZpeGVk X2ZhY3RvcigicGxsM182MG0iLCAgInBsbDNfdXNiX290ZyIsICAgMSwJOCk7DQorCWh3c1tJTVg2 VUxfQ0xLX0dQVF8zTV0JICAgPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3RvcigiZ3B0XzNtIiwJIm9z YyIsCQkgMSwJOCk7DQogDQogCW5wID0gY2NtX25vZGU7DQogCWJhc2UgPSBvZl9pb21hcChucCwg MCk7DQogCVdBUk5fT04oIWJhc2UpOw0KIA0KLQljbGtzW0lNWDZVTF9DQTdfU0VDT05EQVJZX1NF TF0JICA9IGlteF9jbGtfbXV4KCJjYTdfc2Vjb25kYXJ5X3NlbCIsIGJhc2UgKyAweGMsIDMsIDEs IGNhN19zZWNvbmRhcnlfc2VscywgQVJSQVlfU0laRShjYTdfc2Vjb25kYXJ5X3NlbHMpKTsNCi0J Y2xrc1tJTVg2VUxfQ0xLX1NURVBdCQkgID0gaW14X2Nsa19tdXgoInN0ZXAiLCBiYXNlICsgMHgw YywgOCwgMSwgc3RlcF9zZWxzLCBBUlJBWV9TSVpFKHN0ZXBfc2VscykpOw0KLQljbGtzW0lNWDZV TF9DTEtfUExMMV9TV10JICA9IGlteF9jbGtfbXV4X2ZsYWdzKCJwbGwxX3N3IiwgICBiYXNlICsg MHgwYywgMiwgIDEsIHBsbDFfc3dfc2VscywgQVJSQVlfU0laRShwbGwxX3N3X3NlbHMpLCAwKTsN Ci0JY2xrc1tJTVg2VUxfQ0xLX0FYSV9BTFRfU0VMXQkgID0gaW14X2Nsa19tdXgoImF4aV9hbHRf c2VsIiwJCWJhc2UgKyAweDE0LCA3LCAgMSwgYXhpX2FsdF9zZWxzLCBBUlJBWV9TSVpFKGF4aV9h bHRfc2VscykpOw0KLQljbGtzW0lNWDZVTF9DTEtfQVhJX1NFTF0JICA9IGlteF9jbGtfbXV4X2Zs YWdzKCJheGlfc2VsIiwJYmFzZSArIDB4MTQsIDYsICAxLCBheGlfc2VscywgQVJSQVlfU0laRShh eGlfc2VscyksIDApOw0KLQljbGtzW0lNWDZVTF9DTEtfUEVSSVBIX1BSRV0JICA9IGlteF9jbGtf bXV4KCJwZXJpcGhfcHJlIiwgICAgICAgYmFzZSArIDB4MTgsIDE4LCAyLCBwZXJpcGhfcHJlX3Nl bHMsIEFSUkFZX1NJWkUocGVyaXBoX3ByZV9zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19QRVJJ UEgyX1BSRV0JICA9IGlteF9jbGtfbXV4KCJwZXJpcGgyX3ByZSIsICAgICAgYmFzZSArIDB4MTgs IDIxLCAyLCBwZXJpcGgyX3ByZV9zZWxzLCBBUlJBWV9TSVpFKHBlcmlwaDJfcHJlX3NlbHMpKTsN Ci0JY2xrc1tJTVg2VUxfQ0xLX1BFUklQSF9DTEsyX1NFTF0gID0gaW14X2Nsa19tdXgoInBlcmlw aF9jbGsyX3NlbCIsICBiYXNlICsgMHgxOCwgMTIsIDIsIHBlcmlwaF9jbGsyX3NlbHMsIEFSUkFZ X1NJWkUocGVyaXBoX2NsazJfc2VscykpOw0KLQljbGtzW0lNWDZVTF9DTEtfUEVSSVBIMl9DTEsy X1NFTF0gPSBpbXhfY2xrX211eCgicGVyaXBoMl9jbGsyX3NlbCIsIGJhc2UgKyAweDE4LCAyMCwg MSwgcGVyaXBoMl9jbGsyX3NlbHMsIEFSUkFZX1NJWkUocGVyaXBoMl9jbGsyX3NlbHMpKTsNCi0J Y2xrc1tJTVg2VUxfQ0xLX0VJTV9TTE9XX1NFTF0JICA9IGlteF9jbGtfbXV4KCJlaW1fc2xvd19z ZWwiLCBiYXNlICsgMHgxYywgMjksIDIsIGVpbV9zbG93X3NlbHMsIEFSUkFZX1NJWkUoZWltX3Ns b3dfc2VscykpOw0KLQljbGtzW0lNWDZVTF9DTEtfR1BNSV9TRUxdCSAgPSBpbXhfY2xrX211eCgi Z3BtaV9zZWwiLCAgICAgYmFzZSArIDB4MWMsIDE5LCAxLCBncG1pX3NlbHMsIEFSUkFZX1NJWkUo Z3BtaV9zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19CQ0hfU0VMXQkgID0gaW14X2Nsa19tdXgo ImJjaF9zZWwiLAliYXNlICsgMHgxYywgMTgsIDEsIGJjaF9zZWxzLCBBUlJBWV9TSVpFKGJjaF9z ZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19VU0RIQzJfU0VMXQkgID0gaW14X2Nsa19tdXgoInVz ZGhjMl9zZWwiLCAgIGJhc2UgKyAweDFjLCAxNywgMSwgdXNkaGNfc2VscywgQVJSQVlfU0laRSh1 c2RoY19zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19VU0RIQzFfU0VMXQkgID0gaW14X2Nsa19t dXgoInVzZGhjMV9zZWwiLCAgIGJhc2UgKyAweDFjLCAxNiwgMSwgdXNkaGNfc2VscywgQVJSQVlf U0laRSh1c2RoY19zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19TQUkzX1NFTF0JICA9IGlteF9j bGtfbXV4KCJzYWkzX3NlbCIsICAgICBiYXNlICsgMHgxYywgMTQsIDIsIHNhaV9zZWxzLCBBUlJB WV9TSVpFKHNhaV9zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19TQUkyX1NFTF0gICAgICAgICA9 IGlteF9jbGtfbXV4KCJzYWkyX3NlbCIsICAgICBiYXNlICsgMHgxYywgMTIsIDIsIHNhaV9zZWxz LCBBUlJBWV9TSVpFKHNhaV9zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19TQUkxX1NFTF0JICA9 IGlteF9jbGtfbXV4KCJzYWkxX3NlbCIsICAgICBiYXNlICsgMHgxYywgMTAsIDIsIHNhaV9zZWxz LCBBUlJBWV9TSVpFKHNhaV9zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19RU1BJMV9TRUxdCSAg PSBpbXhfY2xrX211eCgicXNwaTFfc2VsIiwgICAgYmFzZSArIDB4MWMsIDcsICAzLCBxc3BpMV9z ZWxzLCBBUlJBWV9TSVpFKHFzcGkxX3NlbHMpKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1BFUkNMS19T RUxdCSAgPSBpbXhfY2xrX211eCgicGVyY2xrX3NlbCIsCWJhc2UgKyAweDFjLCA2LCAgMSwgcGVy Y2xrX3NlbHMsIEFSUkFZX1NJWkUocGVyY2xrX3NlbHMpKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX0NB Tl9TRUxdCSAgPSBpbXhfY2xrX211eCgiY2FuX3NlbCIsCWJhc2UgKyAweDIwLCA4LCAgMiwgY2Fu X3NlbHMsIEFSUkFZX1NJWkUoY2FuX3NlbHMpKTsNCisJaHdzW0lNWDZVTF9DQTdfU0VDT05EQVJZ X1NFTF0JICA9IGlteF9jbGtfaHdfbXV4KCJjYTdfc2Vjb25kYXJ5X3NlbCIsIGJhc2UgKyAweGMs IDMsIDEsIGNhN19zZWNvbmRhcnlfc2VscywgQVJSQVlfU0laRShjYTdfc2Vjb25kYXJ5X3NlbHMp KTsNCisJaHdzW0lNWDZVTF9DTEtfU1RFUF0JCSAgPSBpbXhfY2xrX2h3X211eCgic3RlcCIsIGJh c2UgKyAweDBjLCA4LCAxLCBzdGVwX3NlbHMsIEFSUkFZX1NJWkUoc3RlcF9zZWxzKSk7DQorCWh3 c1tJTVg2VUxfQ0xLX1BMTDFfU1ddCSAgPSBpbXhfY2xrX2h3X211eF9mbGFncygicGxsMV9zdyIs ICAgYmFzZSArIDB4MGMsIDIsICAxLCBwbGwxX3N3X3NlbHMsIEFSUkFZX1NJWkUocGxsMV9zd19z ZWxzKSwgMCk7DQorCWh3c1tJTVg2VUxfQ0xLX0FYSV9BTFRfU0VMXQkgID0gaW14X2Nsa19od19t dXgoImF4aV9hbHRfc2VsIiwJCWJhc2UgKyAweDE0LCA3LCAgMSwgYXhpX2FsdF9zZWxzLCBBUlJB WV9TSVpFKGF4aV9hbHRfc2VscykpOw0KKwlod3NbSU1YNlVMX0NMS19BWElfU0VMXQkgID0gaW14 X2Nsa19od19tdXhfZmxhZ3MoImF4aV9zZWwiLAliYXNlICsgMHgxNCwgNiwgIDEsIGF4aV9zZWxz LCBBUlJBWV9TSVpFKGF4aV9zZWxzKSwgMCk7DQorCWh3c1tJTVg2VUxfQ0xLX1BFUklQSF9QUkVd CSAgPSBpbXhfY2xrX2h3X211eCgicGVyaXBoX3ByZSIsICAgICAgIGJhc2UgKyAweDE4LCAxOCwg MiwgcGVyaXBoX3ByZV9zZWxzLCBBUlJBWV9TSVpFKHBlcmlwaF9wcmVfc2VscykpOw0KKwlod3Nb SU1YNlVMX0NMS19QRVJJUEgyX1BSRV0JICA9IGlteF9jbGtfaHdfbXV4KCJwZXJpcGgyX3ByZSIs ICAgICAgYmFzZSArIDB4MTgsIDIxLCAyLCBwZXJpcGgyX3ByZV9zZWxzLCBBUlJBWV9TSVpFKHBl cmlwaDJfcHJlX3NlbHMpKTsNCisJaHdzW0lNWDZVTF9DTEtfUEVSSVBIX0NMSzJfU0VMXSAgPSBp bXhfY2xrX2h3X211eCgicGVyaXBoX2NsazJfc2VsIiwgIGJhc2UgKyAweDE4LCAxMiwgMiwgcGVy aXBoX2NsazJfc2VscywgQVJSQVlfU0laRShwZXJpcGhfY2xrMl9zZWxzKSk7DQorCWh3c1tJTVg2 VUxfQ0xLX1BFUklQSDJfQ0xLMl9TRUxdID0gaW14X2Nsa19od19tdXgoInBlcmlwaDJfY2xrMl9z ZWwiLCBiYXNlICsgMHgxOCwgMjAsIDEsIHBlcmlwaDJfY2xrMl9zZWxzLCBBUlJBWV9TSVpFKHBl cmlwaDJfY2xrMl9zZWxzKSk7DQorCWh3c1tJTVg2VUxfQ0xLX0VJTV9TTE9XX1NFTF0JICA9IGlt eF9jbGtfaHdfbXV4KCJlaW1fc2xvd19zZWwiLCBiYXNlICsgMHgxYywgMjksIDIsIGVpbV9zbG93 X3NlbHMsIEFSUkFZX1NJWkUoZWltX3Nsb3dfc2VscykpOw0KKwlod3NbSU1YNlVMX0NMS19HUE1J X1NFTF0JICA9IGlteF9jbGtfaHdfbXV4KCJncG1pX3NlbCIsICAgICBiYXNlICsgMHgxYywgMTks IDEsIGdwbWlfc2VscywgQVJSQVlfU0laRShncG1pX3NlbHMpKTsNCisJaHdzW0lNWDZVTF9DTEtf QkNIX1NFTF0JICA9IGlteF9jbGtfaHdfbXV4KCJiY2hfc2VsIiwJYmFzZSArIDB4MWMsIDE4LCAx LCBiY2hfc2VscywgQVJSQVlfU0laRShiY2hfc2VscykpOw0KKwlod3NbSU1YNlVMX0NMS19VU0RI QzJfU0VMXQkgID0gaW14X2Nsa19od19tdXgoInVzZGhjMl9zZWwiLCAgIGJhc2UgKyAweDFjLCAx NywgMSwgdXNkaGNfc2VscywgQVJSQVlfU0laRSh1c2RoY19zZWxzKSk7DQorCWh3c1tJTVg2VUxf Q0xLX1VTREhDMV9TRUxdCSAgPSBpbXhfY2xrX2h3X211eCgidXNkaGMxX3NlbCIsICAgYmFzZSAr IDB4MWMsIDE2LCAxLCB1c2RoY19zZWxzLCBBUlJBWV9TSVpFKHVzZGhjX3NlbHMpKTsNCisJaHdz W0lNWDZVTF9DTEtfU0FJM19TRUxdCSAgPSBpbXhfY2xrX2h3X211eCgic2FpM19zZWwiLCAgICAg YmFzZSArIDB4MWMsIDE0LCAyLCBzYWlfc2VscywgQVJSQVlfU0laRShzYWlfc2VscykpOw0KKwlo d3NbSU1YNlVMX0NMS19TQUkyX1NFTF0gICAgICAgICA9IGlteF9jbGtfaHdfbXV4KCJzYWkyX3Nl bCIsICAgICBiYXNlICsgMHgxYywgMTIsIDIsIHNhaV9zZWxzLCBBUlJBWV9TSVpFKHNhaV9zZWxz KSk7DQorCWh3c1tJTVg2VUxfQ0xLX1NBSTFfU0VMXQkgID0gaW14X2Nsa19od19tdXgoInNhaTFf c2VsIiwgICAgIGJhc2UgKyAweDFjLCAxMCwgMiwgc2FpX3NlbHMsIEFSUkFZX1NJWkUoc2FpX3Nl bHMpKTsNCisJaHdzW0lNWDZVTF9DTEtfUVNQSTFfU0VMXQkgID0gaW14X2Nsa19od19tdXgoInFz cGkxX3NlbCIsICAgIGJhc2UgKyAweDFjLCA3LCAgMywgcXNwaTFfc2VscywgQVJSQVlfU0laRShx c3BpMV9zZWxzKSk7DQorCWh3c1tJTVg2VUxfQ0xLX1BFUkNMS19TRUxdCSAgPSBpbXhfY2xrX2h3 X211eCgicGVyY2xrX3NlbCIsCWJhc2UgKyAweDFjLCA2LCAgMSwgcGVyY2xrX3NlbHMsIEFSUkFZ X1NJWkUocGVyY2xrX3NlbHMpKTsNCisJaHdzW0lNWDZVTF9DTEtfQ0FOX1NFTF0JICA9IGlteF9j bGtfaHdfbXV4KCJjYW5fc2VsIiwJYmFzZSArIDB4MjAsIDgsICAyLCBjYW5fc2VscywgQVJSQVlf U0laRShjYW5fc2VscykpOw0KIAlpZiAoY2xrX29uX2lteDZ1bGwoKSkNCi0JCWNsa3NbSU1YNlVM TF9DTEtfRVNBSV9TRUxdCSAgPSBpbXhfY2xrX211eCgiZXNhaV9zZWwiLAliYXNlICsgMHgyMCwg MTksIDIsIGVzYWlfc2VscywgQVJSQVlfU0laRShlc2FpX3NlbHMpKTsNCi0JY2xrc1tJTVg2VUxf Q0xLX1VBUlRfU0VMXQkgID0gaW14X2Nsa19tdXgoInVhcnRfc2VsIiwJYmFzZSArIDB4MjQsIDYs ICAxLCB1YXJ0X3NlbHMsIEFSUkFZX1NJWkUodWFydF9zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NM S19FTkZDX1NFTF0JICA9IGlteF9jbGtfbXV4KCJlbmZjX3NlbCIsCWJhc2UgKyAweDJjLCAxNSwg MywgZW5mY19zZWxzLCBBUlJBWV9TSVpFKGVuZmNfc2VscykpOw0KLQljbGtzW0lNWDZVTF9DTEtf TERCX0RJMF9TRUxdCSAgPSBpbXhfY2xrX211eCgibGRiX2RpMF9zZWwiLAliYXNlICsgMHgyYywg OSwgIDMsIGxkYl9kaTBfc2VscywgQVJSQVlfU0laRShsZGJfZGkwX3NlbHMpKTsNCi0JY2xrc1tJ TVg2VUxfQ0xLX1NQRElGX1NFTF0JICA9IGlteF9jbGtfbXV4KCJzcGRpZl9zZWwiLAliYXNlICsg MHgzMCwgMjAsIDIsIHNwZGlmX3NlbHMsIEFSUkFZX1NJWkUoc3BkaWZfc2VscykpOw0KKwkJaHdz W0lNWDZVTExfQ0xLX0VTQUlfU0VMXQkgID0gaW14X2Nsa19od19tdXgoImVzYWlfc2VsIiwJYmFz ZSArIDB4MjAsIDE5LCAyLCBlc2FpX3NlbHMsIEFSUkFZX1NJWkUoZXNhaV9zZWxzKSk7DQorCWh3 c1tJTVg2VUxfQ0xLX1VBUlRfU0VMXQkgID0gaW14X2Nsa19od19tdXgoInVhcnRfc2VsIiwJYmFz ZSArIDB4MjQsIDYsICAxLCB1YXJ0X3NlbHMsIEFSUkFZX1NJWkUodWFydF9zZWxzKSk7DQorCWh3 c1tJTVg2VUxfQ0xLX0VORkNfU0VMXQkgID0gaW14X2Nsa19od19tdXgoImVuZmNfc2VsIiwJYmFz ZSArIDB4MmMsIDE1LCAzLCBlbmZjX3NlbHMsIEFSUkFZX1NJWkUoZW5mY19zZWxzKSk7DQorCWh3 c1tJTVg2VUxfQ0xLX0xEQl9ESTBfU0VMXQkgID0gaW14X2Nsa19od19tdXgoImxkYl9kaTBfc2Vs IiwJYmFzZSArIDB4MmMsIDksICAzLCBsZGJfZGkwX3NlbHMsIEFSUkFZX1NJWkUobGRiX2RpMF9z ZWxzKSk7DQorCWh3c1tJTVg2VUxfQ0xLX1NQRElGX1NFTF0JICA9IGlteF9jbGtfaHdfbXV4KCJz cGRpZl9zZWwiLAliYXNlICsgMHgzMCwgMjAsIDIsIHNwZGlmX3NlbHMsIEFSUkFZX1NJWkUoc3Bk aWZfc2VscykpOw0KIAlpZiAoY2xrX29uX2lteDZ1bCgpKSB7DQotCQljbGtzW0lNWDZVTF9DTEtf U0lNX1BSRV9TRUxdIAkgID0gaW14X2Nsa19tdXgoInNpbV9wcmVfc2VsIiwJYmFzZSArIDB4MzQs IDE1LCAzLCBzaW1fcHJlX3NlbHMsIEFSUkFZX1NJWkUoc2ltX3ByZV9zZWxzKSk7DQotCQljbGtz W0lNWDZVTF9DTEtfU0lNX1NFTF0JICA9IGlteF9jbGtfbXV4KCJzaW1fc2VsIiwgCWJhc2UgKyAw eDM0LCA5LCAzLCBzaW1fc2VscywgQVJSQVlfU0laRShzaW1fc2VscykpOw0KKwkJaHdzW0lNWDZV TF9DTEtfU0lNX1BSRV9TRUxdCT0gaW14X2Nsa19od19tdXgoInNpbV9wcmVfc2VsIiwJYmFzZSAr IDB4MzQsIDE1LCAzLCBzaW1fcHJlX3NlbHMsIEFSUkFZX1NJWkUoc2ltX3ByZV9zZWxzKSk7DQor CQlod3NbSU1YNlVMX0NMS19TSU1fU0VMXQkJPSBpbXhfY2xrX2h3X211eCgic2ltX3NlbCIsCWJh c2UgKyAweDM0LCA5LCAzLCBzaW1fc2VscywgQVJSQVlfU0laRShzaW1fc2VscykpOw0KIAl9IGVs c2UgaWYgKGNsa19vbl9pbXg2dWxsKCkpIHsNCi0JCWNsa3NbSU1YNlVMTF9DTEtfRVBEQ19QUkVf U0VMXQkgID0gaW14X2Nsa19tdXgoImVwZGNfcHJlX3NlbCIsCWJhc2UgKyAweDM0LCAxNSwgMywg ZXBkY19wcmVfc2VscywgQVJSQVlfU0laRShlcGRjX3ByZV9zZWxzKSk7DQotCQljbGtzW0lNWDZV TExfQ0xLX0VQRENfU0VMXQkgID0gaW14X2Nsa19tdXgoImVwZGNfc2VsIiwJYmFzZSArIDB4MzQs IDksIDMsIGVwZGNfc2VscywgQVJSQVlfU0laRShlcGRjX3NlbHMpKTsNCisJCWh3c1tJTVg2VUxM X0NMS19FUERDX1BSRV9TRUxdCT0gaW14X2Nsa19od19tdXgoImVwZGNfcHJlX3NlbCIsCWJhc2Ug KyAweDM0LCAxNSwgMywgZXBkY19wcmVfc2VscywgQVJSQVlfU0laRShlcGRjX3ByZV9zZWxzKSk7 DQorCQlod3NbSU1YNlVMTF9DTEtfRVBEQ19TRUxdCT0gaW14X2Nsa19od19tdXgoImVwZGNfc2Vs IiwJYmFzZSArIDB4MzQsIDksIDMsIGVwZGNfc2VscywgQVJSQVlfU0laRShlcGRjX3NlbHMpKTsN CiAJfQ0KLQljbGtzW0lNWDZVTF9DTEtfRUNTUElfU0VMXQkgID0gaW14X2Nsa19tdXgoImVjc3Bp X3NlbCIsCWJhc2UgKyAweDM4LCAxOCwgMSwgZWNzcGlfc2VscywgQVJSQVlfU0laRShlY3NwaV9z ZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19MQ0RJRl9QUkVfU0VMXQkgID0gaW14X2Nsa19tdXhf ZmxhZ3MoImxjZGlmX3ByZV9zZWwiLCBiYXNlICsgMHgzOCwgMTUsIDMsIGxjZGlmX3ByZV9zZWxz LCBBUlJBWV9TSVpFKGxjZGlmX3ByZV9zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCWNs a3NbSU1YNlVMX0NMS19MQ0RJRl9TRUxdCSAgPSBpbXhfY2xrX211eCgibGNkaWZfc2VsIiwJYmFz ZSArIDB4MzgsIDksIDMsIGxjZGlmX3NlbHMsIEFSUkFZX1NJWkUobGNkaWZfc2VscykpOw0KLQ0K LQljbGtzW0lNWDZVTF9DTEtfTERCX0RJMF9ESVZfU0VMXSAgPSBpbXhfY2xrX211eCgibGRiX2Rp MCIsIGJhc2UgKyAweDIwLCAxMCwgMSwgbGRiX2RpMF9kaXZfc2VscywgQVJSQVlfU0laRShsZGJf ZGkwX2Rpdl9zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19MREJfREkxX0RJVl9TRUxdICA9IGlt eF9jbGtfbXV4KCJsZGJfZGkxIiwgYmFzZSArIDB4MjAsIDExLCAxLCBsZGJfZGkxX2Rpdl9zZWxz LCBBUlJBWV9TSVpFKGxkYl9kaTFfZGl2X3NlbHMpKTsNCi0NCi0JY2xrc1tJTVg2VUxfQ0xLX0NL TzFfU0VMXQkgID0gaW14X2Nsa19tdXgoImNrbzFfc2VsIiwgYmFzZSArIDB4NjAsIDAsICA0LCBj a28xX3NlbHMsIEFSUkFZX1NJWkUoY2tvMV9zZWxzKSk7DQotCWNsa3NbSU1YNlVMX0NMS19DS08y X1NFTF0JICA9IGlteF9jbGtfbXV4KCJja28yX3NlbCIsIGJhc2UgKyAweDYwLCAxNiwgNSwgY2tv Ml9zZWxzLCBBUlJBWV9TSVpFKGNrbzJfc2VscykpOw0KLQljbGtzW0lNWDZVTF9DTEtfQ0tPXQkJ ICA9IGlteF9jbGtfbXV4KCJja28iLCBiYXNlICsgMHg2MCwgOCwgMSwgY2tvX3NlbHMsIEFSUkFZ X1NJWkUoY2tvX3NlbHMpKTsNCi0NCi0JY2xrc1tJTVg2VUxfQ0xLX0xEQl9ESTBfRElWXzNfNV0g PSBpbXhfY2xrX2ZpeGVkX2ZhY3RvcigibGRiX2RpMF9kaXZfM181IiwgImxkYl9kaTBfc2VsIiwg MiwgNyk7DQotCWNsa3NbSU1YNlVMX0NMS19MREJfREkwX0RJVl83XQkgPSBpbXhfY2xrX2ZpeGVk X2ZhY3RvcigibGRiX2RpMF9kaXZfNyIsICAgImxkYl9kaTBfc2VsIiwgMSwgNyk7DQotCWNsa3Nb SU1YNlVMX0NMS19MREJfREkxX0RJVl8zXzVdID0gaW14X2Nsa19maXhlZF9mYWN0b3IoImxkYl9k aTFfZGl2XzNfNSIsICJxc3BpMV9zZWwiLCAyLCA3KTsNCi0JY2xrc1tJTVg2VUxfQ0xLX0xEQl9E STFfRElWXzddCSA9IGlteF9jbGtfZml4ZWRfZmFjdG9yKCJsZGJfZGkxX2Rpdl83IiwgICAicXNw aTFfc2VsIiwgMSwgNyk7DQotDQotCWNsa3NbSU1YNlVMX0NMS19QRVJJUEhdICA9IGlteF9jbGtf YnVzeV9tdXgoInBlcmlwaCIsICBiYXNlICsgMHgxNCwgMjUsIDEsIGJhc2UgKyAweDQ4LCA1LCBw ZXJpcGhfc2VscywgQVJSQVlfU0laRShwZXJpcGhfc2VscykpOw0KLQljbGtzW0lNWDZVTF9DTEtf UEVSSVBIMl0gPSBpbXhfY2xrX2J1c3lfbXV4KCJwZXJpcGgyIiwgYmFzZSArIDB4MTQsIDI2LCAx LCBiYXNlICsgMHg0OCwgMywgcGVyaXBoMl9zZWxzLCBBUlJBWV9TSVpFKHBlcmlwaDJfc2Vscykp Ow0KLQ0KLQljbGtzW0lNWDZVTF9DTEtfUEVSSVBIX0NMSzJdCT0gaW14X2Nsa19kaXZpZGVyKCJw ZXJpcGhfY2xrMiIsICAgInBlcmlwaF9jbGsyX3NlbCIsCWJhc2UgKyAweDE0LCAyNywgMyk7DQot CWNsa3NbSU1YNlVMX0NMS19QRVJJUEgyX0NMSzJdCT0gaW14X2Nsa19kaXZpZGVyKCJwZXJpcGgy X2NsazIiLCAgInBlcmlwaDJfY2xrMl9zZWwiLAliYXNlICsgMHgxNCwgMCwgIDMpOw0KLQljbGtz W0lNWDZVTF9DTEtfSVBHXQkJPSBpbXhfY2xrX2RpdmlkZXIoImlwZyIsCSAgICJhaGIiLAkJYmFz ZSArIDB4MTQsIDgsCSAyKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX0xDRElGX1BPREZdCT0gaW14X2Ns a19kaXZpZGVyKCJsY2RpZl9wb2RmIiwJICAgImxjZGlmX3ByZWQiLAliYXNlICsgMHgxOCwgMjMs IDMpOw0KLQljbGtzW0lNWDZVTF9DTEtfUVNQSTFfUERPRl0JPSBpbXhfY2xrX2RpdmlkZXIoInFz cGkxX3BvZGYiLAkgICAicXNwaTFfc2VsIiwJCWJhc2UgKyAweDFjLCAyNiwgMyk7DQotCWNsa3Nb SU1YNlVMX0NMS19FSU1fU0xPV19QT0RGXQk9IGlteF9jbGtfZGl2aWRlcigiZWltX3Nsb3dfcG9k ZiIsICJlaW1fc2xvd19zZWwiLAliYXNlICsgMHgxYywgMjMsIDMpOw0KLQljbGtzW0lNWDZVTF9D TEtfUEVSQ0xLXQkJPSBpbXhfY2xrX2RpdmlkZXIoInBlcmNsayIsCSAgICJwZXJjbGtfc2VsIiwJ YmFzZSArIDB4MWMsIDAsICA2KTsNCi0JY2xrc1tJTVg2VUxfQ0xLX0NBTl9QT0RGXQk9IGlteF9j bGtfZGl2aWRlcigiY2FuX3BvZGYiLAkgICAiY2FuX3NlbCIsCQliYXNlICsgMHgyMCwgMiwgIDYp Ow0KLQljbGtzW0lNWDZVTF9DTEtfR1BNSV9QT0RGXQk9IGlteF9jbGtfZGl2aWRlcigiZ3BtaV9w b2RmIiwJICAgImdwbWlfc2VsIiwJCWJhc2UgKyAweDI0LCAyMiwgMyk7DQotCWNsa3NbSU1YNlVM X0NMS19CQ0hfUE9ERl0JPSBpbXhfY2xrX2RpdmlkZXIoImJjaF9wb2RmIiwJICAgImJjaF9zZWwi LAkJYmFzZSArIDB4MjQsIDE5LCAzKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1VTREhDMl9QT0RGXQk9 IGlteF9jbGtfZGl2aWRlcigidXNkaGMyX3BvZGYiLCAgICJ1c2RoYzJfc2VsIiwJYmFzZSArIDB4 MjQsIDE2LCAzKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1VTREhDMV9QT0RGXQk9IGlteF9jbGtfZGl2 aWRlcigidXNkaGMxX3BvZGYiLCAgICJ1c2RoYzFfc2VsIiwJYmFzZSArIDB4MjQsIDExLCAzKTsN Ci0JY2xrc1tJTVg2VUxfQ0xLX1VBUlRfUE9ERl0JPSBpbXhfY2xrX2RpdmlkZXIoInVhcnRfcG9k ZiIsCSAgICJ1YXJ0X3NlbCIsCQliYXNlICsgMHgyNCwgMCwgIDYpOw0KLQljbGtzW0lNWDZVTF9D TEtfU0FJM19QUkVEXQk9IGlteF9jbGtfZGl2aWRlcigic2FpM19wcmVkIiwJICAgInNhaTNfc2Vs IiwJCWJhc2UgKyAweDI4LCAyMiwgMyk7DQotCWNsa3NbSU1YNlVMX0NMS19TQUkzX1BPREZdCT0g aW14X2Nsa19kaXZpZGVyKCJzYWkzX3BvZGYiLAkgICAic2FpM19wcmVkIiwJCWJhc2UgKyAweDI4 LCAxNiwgNik7DQotCWNsa3NbSU1YNlVMX0NMS19TQUkxX1BSRURdCT0gaW14X2Nsa19kaXZpZGVy KCJzYWkxX3ByZWQiLAkgICAic2FpMV9zZWwiLAkJYmFzZSArIDB4MjgsIDYsCSAzKTsNCi0JY2xr c1tJTVg2VUxfQ0xLX1NBSTFfUE9ERl0JPSBpbXhfY2xrX2RpdmlkZXIoInNhaTFfcG9kZiIsCSAg ICJzYWkxX3ByZWQiLAkJYmFzZSArIDB4MjgsIDAsCSA2KTsNCisJaHdzW0lNWDZVTF9DTEtfRUNT UElfU0VMXQkgID0gaW14X2Nsa19od19tdXgoImVjc3BpX3NlbCIsCWJhc2UgKyAweDM4LCAxOCwg MSwgZWNzcGlfc2VscywgQVJSQVlfU0laRShlY3NwaV9zZWxzKSk7DQorCWh3c1tJTVg2VUxfQ0xL X0xDRElGX1BSRV9TRUxdCSAgPSBpbXhfY2xrX2h3X211eF9mbGFncygibGNkaWZfcHJlX3NlbCIs IGJhc2UgKyAweDM4LCAxNSwgMywgbGNkaWZfcHJlX3NlbHMsIEFSUkFZX1NJWkUobGNkaWZfcHJl X3NlbHMpLCBDTEtfU0VUX1JBVEVfUEFSRU5UKTsNCisJaHdzW0lNWDZVTF9DTEtfTENESUZfU0VM XQkgID0gaW14X2Nsa19od19tdXgoImxjZGlmX3NlbCIsCWJhc2UgKyAweDM4LCA5LCAzLCBsY2Rp Zl9zZWxzLCBBUlJBWV9TSVpFKGxjZGlmX3NlbHMpKTsNCisNCisJaHdzW0lNWDZVTF9DTEtfTERC X0RJMF9ESVZfU0VMXSAgPSBpbXhfY2xrX2h3X211eCgibGRiX2RpMCIsIGJhc2UgKyAweDIwLCAx MCwgMSwgbGRiX2RpMF9kaXZfc2VscywgQVJSQVlfU0laRShsZGJfZGkwX2Rpdl9zZWxzKSk7DQor CWh3c1tJTVg2VUxfQ0xLX0xEQl9ESTFfRElWX1NFTF0gID0gaW14X2Nsa19od19tdXgoImxkYl9k aTEiLCBiYXNlICsgMHgyMCwgMTEsIDEsIGxkYl9kaTFfZGl2X3NlbHMsIEFSUkFZX1NJWkUobGRi X2RpMV9kaXZfc2VscykpOw0KKw0KKwlod3NbSU1YNlVMX0NMS19DS08xX1NFTF0JICA9IGlteF9j bGtfaHdfbXV4KCJja28xX3NlbCIsIGJhc2UgKyAweDYwLCAwLCAgNCwgY2tvMV9zZWxzLCBBUlJB WV9TSVpFKGNrbzFfc2VscykpOw0KKwlod3NbSU1YNlVMX0NMS19DS08yX1NFTF0JICA9IGlteF9j bGtfaHdfbXV4KCJja28yX3NlbCIsIGJhc2UgKyAweDYwLCAxNiwgNSwgY2tvMl9zZWxzLCBBUlJB WV9TSVpFKGNrbzJfc2VscykpOw0KKwlod3NbSU1YNlVMX0NMS19DS09dCQkgID0gaW14X2Nsa19o d19tdXgoImNrbyIsIGJhc2UgKyAweDYwLCA4LCAxLCBja29fc2VscywgQVJSQVlfU0laRShja29f c2VscykpOw0KKw0KKwlod3NbSU1YNlVMX0NMS19MREJfREkwX0RJVl8zXzVdID0gaW14X2Nsa19o d19maXhlZF9mYWN0b3IoImxkYl9kaTBfZGl2XzNfNSIsICJsZGJfZGkwX3NlbCIsIDIsIDcpOw0K Kwlod3NbSU1YNlVMX0NMS19MREJfREkwX0RJVl83XQkgPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3Rv cigibGRiX2RpMF9kaXZfNyIsICAgImxkYl9kaTBfc2VsIiwgMSwgNyk7DQorCWh3c1tJTVg2VUxf Q0xLX0xEQl9ESTFfRElWXzNfNV0gPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3RvcigibGRiX2RpMV9k aXZfM181IiwgInFzcGkxX3NlbCIsIDIsIDcpOw0KKwlod3NbSU1YNlVMX0NMS19MREJfREkxX0RJ Vl83XQkgPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3RvcigibGRiX2RpMV9kaXZfNyIsICAgInFzcGkx X3NlbCIsIDEsIDcpOw0KKw0KKwlod3NbSU1YNlVMX0NMS19QRVJJUEhdICA9IGlteF9jbGtfaHdf YnVzeV9tdXgoInBlcmlwaCIsICBiYXNlICsgMHgxNCwgMjUsIDEsIGJhc2UgKyAweDQ4LCA1LCBw ZXJpcGhfc2VscywgQVJSQVlfU0laRShwZXJpcGhfc2VscykpOw0KKwlod3NbSU1YNlVMX0NMS19Q RVJJUEgyXSA9IGlteF9jbGtfaHdfYnVzeV9tdXgoInBlcmlwaDIiLCBiYXNlICsgMHgxNCwgMjYs IDEsIGJhc2UgKyAweDQ4LCAzLCBwZXJpcGgyX3NlbHMsIEFSUkFZX1NJWkUocGVyaXBoMl9zZWxz KSk7DQorDQorCWh3c1tJTVg2VUxfQ0xLX1BFUklQSF9DTEsyXQk9IGlteF9jbGtfaHdfZGl2aWRl cigicGVyaXBoX2NsazIiLCAgICJwZXJpcGhfY2xrMl9zZWwiLAliYXNlICsgMHgxNCwgMjcsIDMp Ow0KKwlod3NbSU1YNlVMX0NMS19QRVJJUEgyX0NMSzJdCT0gaW14X2Nsa19od19kaXZpZGVyKCJw ZXJpcGgyX2NsazIiLCAgInBlcmlwaDJfY2xrMl9zZWwiLAliYXNlICsgMHgxNCwgMCwgIDMpOw0K Kwlod3NbSU1YNlVMX0NMS19JUEddCQk9IGlteF9jbGtfaHdfZGl2aWRlcigiaXBnIiwJICAgImFo YiIsCQliYXNlICsgMHgxNCwgOCwJIDIpOw0KKwlod3NbSU1YNlVMX0NMS19MQ0RJRl9QT0RGXQk9 IGlteF9jbGtfaHdfZGl2aWRlcigibGNkaWZfcG9kZiIsCSAgICJsY2RpZl9wcmVkIiwJYmFzZSAr IDB4MTgsIDIzLCAzKTsNCisJaHdzW0lNWDZVTF9DTEtfUVNQSTFfUERPRl0JPSBpbXhfY2xrX2h3 X2RpdmlkZXIoInFzcGkxX3BvZGYiLAkgICAicXNwaTFfc2VsIiwJCWJhc2UgKyAweDFjLCAyNiwg Myk7DQorCWh3c1tJTVg2VUxfQ0xLX0VJTV9TTE9XX1BPREZdCT0gaW14X2Nsa19od19kaXZpZGVy KCJlaW1fc2xvd19wb2RmIiwgImVpbV9zbG93X3NlbCIsCWJhc2UgKyAweDFjLCAyMywgMyk7DQor CWh3c1tJTVg2VUxfQ0xLX1BFUkNMS10JCT0gaW14X2Nsa19od19kaXZpZGVyKCJwZXJjbGsiLAkg ICAicGVyY2xrX3NlbCIsCWJhc2UgKyAweDFjLCAwLCAgNik7DQorCWh3c1tJTVg2VUxfQ0xLX0NB Tl9QT0RGXQk9IGlteF9jbGtfaHdfZGl2aWRlcigiY2FuX3BvZGYiLAkgICAiY2FuX3NlbCIsCQli YXNlICsgMHgyMCwgMiwgIDYpOw0KKwlod3NbSU1YNlVMX0NMS19HUE1JX1BPREZdCT0gaW14X2Ns a19od19kaXZpZGVyKCJncG1pX3BvZGYiLAkgICAiZ3BtaV9zZWwiLAkJYmFzZSArIDB4MjQsIDIy LCAzKTsNCisJaHdzW0lNWDZVTF9DTEtfQkNIX1BPREZdCT0gaW14X2Nsa19od19kaXZpZGVyKCJi Y2hfcG9kZiIsCSAgICJiY2hfc2VsIiwJCWJhc2UgKyAweDI0LCAxOSwgMyk7DQorCWh3c1tJTVg2 VUxfQ0xLX1VTREhDMl9QT0RGXQk9IGlteF9jbGtfaHdfZGl2aWRlcigidXNkaGMyX3BvZGYiLCAg ICJ1c2RoYzJfc2VsIiwJYmFzZSArIDB4MjQsIDE2LCAzKTsNCisJaHdzW0lNWDZVTF9DTEtfVVNE SEMxX1BPREZdCT0gaW14X2Nsa19od19kaXZpZGVyKCJ1c2RoYzFfcG9kZiIsICAgInVzZGhjMV9z ZWwiLAliYXNlICsgMHgyNCwgMTEsIDMpOw0KKwlod3NbSU1YNlVMX0NMS19VQVJUX1BPREZdCT0g aW14X2Nsa19od19kaXZpZGVyKCJ1YXJ0X3BvZGYiLAkgICAidWFydF9zZWwiLAkJYmFzZSArIDB4 MjQsIDAsICA2KTsNCisJaHdzW0lNWDZVTF9DTEtfU0FJM19QUkVEXQk9IGlteF9jbGtfaHdfZGl2 aWRlcigic2FpM19wcmVkIiwJICAgInNhaTNfc2VsIiwJCWJhc2UgKyAweDI4LCAyMiwgMyk7DQor CWh3c1tJTVg2VUxfQ0xLX1NBSTNfUE9ERl0JPSBpbXhfY2xrX2h3X2RpdmlkZXIoInNhaTNfcG9k ZiIsCSAgICJzYWkzX3ByZWQiLAkJYmFzZSArIDB4MjgsIDE2LCA2KTsNCisJaHdzW0lNWDZVTF9D TEtfU0FJMV9QUkVEXQk9IGlteF9jbGtfaHdfZGl2aWRlcigic2FpMV9wcmVkIiwJICAgInNhaTFf c2VsIiwJCWJhc2UgKyAweDI4LCA2LAkgMyk7DQorCWh3c1tJTVg2VUxfQ0xLX1NBSTFfUE9ERl0J PSBpbXhfY2xrX2h3X2RpdmlkZXIoInNhaTFfcG9kZiIsCSAgICJzYWkxX3ByZWQiLAkJYmFzZSAr IDB4MjgsIDAsCSA2KTsNCiAJaWYgKGNsa19vbl9pbXg2dWxsKCkpIHsNCi0JCWNsa3NbSU1YNlVM TF9DTEtfRVNBSV9QUkVEXQk9IGlteF9jbGtfZGl2aWRlcigiZXNhaV9wcmVkIiwgICAgICJlc2Fp X3NlbCIsCQliYXNlICsgMHgyOCwgOSwgIDMpOw0KLQkJY2xrc1tJTVg2VUxMX0NMS19FU0FJX1BP REZdCT0gaW14X2Nsa19kaXZpZGVyKCJlc2FpX3BvZGYiLCAgICAgImVzYWlfcHJlZCIsCQliYXNl ICsgMHgyOCwgMjUsIDMpOw0KKwkJaHdzW0lNWDZVTExfQ0xLX0VTQUlfUFJFRF0JPSBpbXhfY2xr X2h3X2RpdmlkZXIoImVzYWlfcHJlZCIsICAgICAiZXNhaV9zZWwiLAkJYmFzZSArIDB4MjgsIDks ICAzKTsNCisJCWh3c1tJTVg2VUxMX0NMS19FU0FJX1BPREZdCT0gaW14X2Nsa19od19kaXZpZGVy KCJlc2FpX3BvZGYiLCAgICAgImVzYWlfcHJlZCIsCQliYXNlICsgMHgyOCwgMjUsIDMpOw0KIAl9 DQotCWNsa3NbSU1YNlVMX0NMS19FTkZDX1BSRURdCT0gaW14X2Nsa19kaXZpZGVyKCJlbmZjX3By ZWQiLAkgICAiZW5mY19zZWwiLAkJYmFzZSArIDB4MmMsIDE4LCAzKTsNCi0JY2xrc1tJTVg2VUxf Q0xLX0VORkNfUE9ERl0JPSBpbXhfY2xrX2RpdmlkZXIoImVuZmNfcG9kZiIsCSAgICJlbmZjX3By ZWQiLAkJYmFzZSArIDB4MmMsIDIxLCA2KTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1NBSTJfUFJFRF0J PSBpbXhfY2xrX2RpdmlkZXIoInNhaTJfcHJlZCIsCSAgICJzYWkyX3NlbCIsCQliYXNlICsgMHgy YywgNiwJIDMpOw0KLQljbGtzW0lNWDZVTF9DTEtfU0FJMl9QT0RGXQk9IGlteF9jbGtfZGl2aWRl cigic2FpMl9wb2RmIiwJICAgInNhaTJfcHJlZCIsCQliYXNlICsgMHgyYywgMCwgIDYpOw0KLQlj bGtzW0lNWDZVTF9DTEtfU1BESUZfUFJFRF0JPSBpbXhfY2xrX2RpdmlkZXIoInNwZGlmX3ByZWQi LAkgICAic3BkaWZfc2VsIiwJCWJhc2UgKyAweDMwLCAyNSwgMyk7DQotCWNsa3NbSU1YNlVMX0NM S19TUERJRl9QT0RGXQk9IGlteF9jbGtfZGl2aWRlcigic3BkaWZfcG9kZiIsCSAgICJzcGRpZl9w cmVkIiwJYmFzZSArIDB4MzAsIDIyLCAzKTsNCisJaHdzW0lNWDZVTF9DTEtfRU5GQ19QUkVEXQk9 IGlteF9jbGtfaHdfZGl2aWRlcigiZW5mY19wcmVkIiwJICAgImVuZmNfc2VsIiwJCWJhc2UgKyAw eDJjLCAxOCwgMyk7DQorCWh3c1tJTVg2VUxfQ0xLX0VORkNfUE9ERl0JPSBpbXhfY2xrX2h3X2Rp dmlkZXIoImVuZmNfcG9kZiIsCSAgICJlbmZjX3ByZWQiLAkJYmFzZSArIDB4MmMsIDIxLCA2KTsN CisJaHdzW0lNWDZVTF9DTEtfU0FJMl9QUkVEXQk9IGlteF9jbGtfaHdfZGl2aWRlcigic2FpMl9w cmVkIiwJICAgInNhaTJfc2VsIiwJCWJhc2UgKyAweDJjLCA2LAkgMyk7DQorCWh3c1tJTVg2VUxf Q0xLX1NBSTJfUE9ERl0JPSBpbXhfY2xrX2h3X2RpdmlkZXIoInNhaTJfcG9kZiIsCSAgICJzYWky X3ByZWQiLAkJYmFzZSArIDB4MmMsIDAsICA2KTsNCisJaHdzW0lNWDZVTF9DTEtfU1BESUZfUFJF RF0JPSBpbXhfY2xrX2h3X2RpdmlkZXIoInNwZGlmX3ByZWQiLAkgICAic3BkaWZfc2VsIiwJCWJh c2UgKyAweDMwLCAyNSwgMyk7DQorCWh3c1tJTVg2VUxfQ0xLX1NQRElGX1BPREZdCT0gaW14X2Ns a19od19kaXZpZGVyKCJzcGRpZl9wb2RmIiwJICAgInNwZGlmX3ByZWQiLAliYXNlICsgMHgzMCwg MjIsIDMpOw0KIAlpZiAoY2xrX29uX2lteDZ1bCgpKQ0KLQkJY2xrc1tJTVg2VUxfQ0xLX1NJTV9Q T0RGXQk9IGlteF9jbGtfZGl2aWRlcigic2ltX3BvZGYiLAkgICAic2ltX3ByZV9zZWwiLAliYXNl ICsgMHgzNCwgMTIsIDMpOw0KKwkJaHdzW0lNWDZVTF9DTEtfU0lNX1BPREZdCT0gaW14X2Nsa19o d19kaXZpZGVyKCJzaW1fcG9kZiIsCSAgICJzaW1fcHJlX3NlbCIsCWJhc2UgKyAweDM0LCAxMiwg Myk7DQogCWVsc2UgaWYgKGNsa19vbl9pbXg2dWxsKCkpDQotCQljbGtzW0lNWDZVTExfQ0xLX0VQ RENfUE9ERl0JPSBpbXhfY2xrX2RpdmlkZXIoImVwZGNfcG9kZiIsCSAgICJlcGRjX3ByZV9zZWwi LAliYXNlICsgMHgzNCwgMTIsIDMpOw0KLQljbGtzW0lNWDZVTF9DTEtfRUNTUElfUE9ERl0JPSBp bXhfY2xrX2RpdmlkZXIoImVjc3BpX3BvZGYiLAkgICAiZWNzcGlfc2VsIiwJCWJhc2UgKyAweDM4 LCAxOSwgNik7DQotCWNsa3NbSU1YNlVMX0NMS19MQ0RJRl9QUkVEXQk9IGlteF9jbGtfZGl2aWRl cigibGNkaWZfcHJlZCIsCSAgICJsY2RpZl9wcmVfc2VsIiwJYmFzZSArIDB4MzgsIDEyLCAzKTsN Ci0JY2xrc1tJTVg2VUxfQ0xLX0NTSV9QT0RGXSAgICAgICA9IGlteF9jbGtfZGl2aWRlcigiY3Np X3BvZGYiLCAgICAgICJjc2lfc2VsIiwgICAgICAgICAgIGJhc2UgKyAweDNjLCAxMSwgMyk7DQor CQlod3NbSU1YNlVMTF9DTEtfRVBEQ19QT0RGXQk9IGlteF9jbGtfaHdfZGl2aWRlcigiZXBkY19w b2RmIiwJICAgImVwZGNfcHJlX3NlbCIsCWJhc2UgKyAweDM0LCAxMiwgMyk7DQorCWh3c1tJTVg2 VUxfQ0xLX0VDU1BJX1BPREZdCT0gaW14X2Nsa19od19kaXZpZGVyKCJlY3NwaV9wb2RmIiwJICAg ImVjc3BpX3NlbCIsCQliYXNlICsgMHgzOCwgMTksIDYpOw0KKwlod3NbSU1YNlVMX0NMS19MQ0RJ Rl9QUkVEXQk9IGlteF9jbGtfaHdfZGl2aWRlcigibGNkaWZfcHJlZCIsCSAgICJsY2RpZl9wcmVf c2VsIiwJYmFzZSArIDB4MzgsIDEyLCAzKTsNCisJaHdzW0lNWDZVTF9DTEtfQ1NJX1BPREZdICAg ICAgID0gaW14X2Nsa19od19kaXZpZGVyKCJjc2lfcG9kZiIsICAgICAgImNzaV9zZWwiLCAgICAg ICAgICAgYmFzZSArIDB4M2MsIDExLCAzKTsNCiANCi0JY2xrc1tJTVg2VUxfQ0xLX0NLTzFfUE9E Rl0JPSBpbXhfY2xrX2RpdmlkZXIoImNrbzFfcG9kZiIsICAgICAiY2tvMV9zZWwiLCAgICAgICAg ICBiYXNlICsgMHg2MCwgNCwgIDMpOw0KLQljbGtzW0lNWDZVTF9DTEtfQ0tPMl9QT0RGXQk9IGlt eF9jbGtfZGl2aWRlcigiY2tvMl9wb2RmIiwgICAgICJja28yX3NlbCIsICAgICAgICAgIGJhc2Ug KyAweDYwLCAyMSwgMyk7DQorCWh3c1tJTVg2VUxfQ0xLX0NLTzFfUE9ERl0JPSBpbXhfY2xrX2h3 X2RpdmlkZXIoImNrbzFfcG9kZiIsICAgICAiY2tvMV9zZWwiLCAgICAgICAgICBiYXNlICsgMHg2 MCwgNCwgIDMpOw0KKwlod3NbSU1YNlVMX0NMS19DS08yX1BPREZdCT0gaW14X2Nsa19od19kaXZp ZGVyKCJja28yX3BvZGYiLCAgICAgImNrbzJfc2VsIiwgICAgICAgICAgYmFzZSArIDB4NjAsIDIx LCAzKTsNCiANCi0JY2xrc1tJTVg2VUxfQ0xLX0FSTV0JCT0gaW14X2Nsa19idXN5X2RpdmlkZXIo ImFybSIsCSAgICAicGxsMV9zdyIsCWJhc2UgKwkweDEwLCAwLCAgMywgIGJhc2UgKyAweDQ4LCAx Nik7DQotCWNsa3NbSU1YNlVMX0NMS19NTURDX1BPREZdCT0gaW14X2Nsa19idXN5X2RpdmlkZXIo Im1tZGNfcG9kZiIsICJwZXJpcGgyIiwJYmFzZSArICAweDE0LCAzLCAgMywgIGJhc2UgKyAweDQ4 LCAyKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX0FYSV9QT0RGXQk9IGlteF9jbGtfYnVzeV9kaXZpZGVy KCJheGlfcG9kZiIsICAiYXhpX3NlbCIsCWJhc2UgKyAgMHgxNCwgMTYsIDMsICBiYXNlICsgMHg0 OCwgMCk7DQotCWNsa3NbSU1YNlVMX0NMS19BSEJdCQk9IGlteF9jbGtfYnVzeV9kaXZpZGVyKCJh aGIiLAkgICAgInBlcmlwaCIsCWJhc2UgKyAgMHgxNCwgMTAsIDMsICBiYXNlICsgMHg0OCwgMSk7 DQorCWh3c1tJTVg2VUxfQ0xLX0FSTV0JCT0gaW14X2Nsa19od19idXN5X2RpdmlkZXIoImFybSIs CSAgICAicGxsMV9zdyIsCWJhc2UgKwkweDEwLCAwLCAgMywgIGJhc2UgKyAweDQ4LCAxNik7DQor CWh3c1tJTVg2VUxfQ0xLX01NRENfUE9ERl0JPSBpbXhfY2xrX2h3X2J1c3lfZGl2aWRlcigibW1k Y19wb2RmIiwgInBlcmlwaDIiLAliYXNlICsgIDB4MTQsIDMsICAzLCAgYmFzZSArIDB4NDgsIDIp Ow0KKwlod3NbSU1YNlVMX0NMS19BWElfUE9ERl0JPSBpbXhfY2xrX2h3X2J1c3lfZGl2aWRlcigi YXhpX3BvZGYiLCAgImF4aV9zZWwiLAliYXNlICsgIDB4MTQsIDE2LCAzLCAgYmFzZSArIDB4NDgs IDApOw0KKwlod3NbSU1YNlVMX0NMS19BSEJdCQk9IGlteF9jbGtfaHdfYnVzeV9kaXZpZGVyKCJh aGIiLAkgICAgInBlcmlwaCIsCWJhc2UgKyAgMHgxNCwgMTAsIDMsICBiYXNlICsgMHg0OCwgMSk7 DQogDQogCS8qIENDR1IwICovDQotCWNsa3NbSU1YNlVMX0NMS19BSVBTVFoxXQk9IGlteF9jbGtf Z2F0ZTJfZmxhZ3MoImFpcHNfdHoxIiwgImFoYiIsIGJhc2UgKyAweDY4LCAwLCBDTEtfSVNfQ1JJ VElDQUwpOw0KLQljbGtzW0lNWDZVTF9DTEtfQUlQU1RaMl0JPSBpbXhfY2xrX2dhdGUyX2ZsYWdz KCJhaXBzX3R6MiIsICJhaGIiLCBiYXNlICsgMHg2OCwgMiwgQ0xLX0lTX0NSSVRJQ0FMKTsNCi0J Y2xrc1tJTVg2VUxfQ0xLX0FQQkhETUFdCT0gaW14X2Nsa19nYXRlMigiYXBiaF9kbWEiLAkiYmNo X3BvZGYiLAliYXNlICsgMHg2OCwJNCk7DQotCWNsa3NbSU1YNlVMX0NMS19BU1JDX0lQR10JPSBp bXhfY2xrX2dhdGUyX3NoYXJlZCgiYXNyY19pcGciLAkiYWhiIiwJYmFzZSArIDB4NjgsCTYsICZz aGFyZV9jb3VudF9hc3JjKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX0FTUkNfTUVNXQk9IGlteF9jbGtf Z2F0ZTJfc2hhcmVkKCJhc3JjX21lbSIsCSJhaGIiLAliYXNlICsgMHg2OCwJNiwgJnNoYXJlX2Nv dW50X2FzcmMpOw0KKwlod3NbSU1YNlVMX0NMS19BSVBTVFoxXQk9IGlteF9jbGtfaHdfZ2F0ZTJf ZmxhZ3MoImFpcHNfdHoxIiwgImFoYiIsIGJhc2UgKyAweDY4LCAwLCBDTEtfSVNfQ1JJVElDQUwp Ow0KKwlod3NbSU1YNlVMX0NMS19BSVBTVFoyXQk9IGlteF9jbGtfaHdfZ2F0ZTJfZmxhZ3MoImFp cHNfdHoyIiwgImFoYiIsIGJhc2UgKyAweDY4LCAyLCBDTEtfSVNfQ1JJVElDQUwpOw0KKwlod3Nb SU1YNlVMX0NMS19BUEJIRE1BXQk9IGlteF9jbGtfaHdfZ2F0ZTIoImFwYmhfZG1hIiwJImJjaF9w b2RmIiwJYmFzZSArIDB4NjgsCTQpOw0KKwlod3NbSU1YNlVMX0NMS19BU1JDX0lQR10JPSBpbXhf Y2xrX2h3X2dhdGUyX3NoYXJlZCgiYXNyY19pcGciLAkiYWhiIiwJYmFzZSArIDB4NjgsCTYsICZz aGFyZV9jb3VudF9hc3JjKTsNCisJaHdzW0lNWDZVTF9DTEtfQVNSQ19NRU1dCT0gaW14X2Nsa19o d19nYXRlMl9zaGFyZWQoImFzcmNfbWVtIiwJImFoYiIsCWJhc2UgKyAweDY4LAk2LCAmc2hhcmVf Y291bnRfYXNyYyk7DQogCWlmIChjbGtfb25faW14NnVsKCkpIHsNCi0JCWNsa3NbSU1YNlVMX0NM S19DQUFNX01FTV0JPSBpbXhfY2xrX2dhdGUyKCJjYWFtX21lbSIsCSJhaGIiLAkJYmFzZSArIDB4 NjgsCTgpOw0KLQkJY2xrc1tJTVg2VUxfQ0xLX0NBQU1fQUNMS10JPSBpbXhfY2xrX2dhdGUyKCJj YWFtX2FjbGsiLAkiYWhiIiwJCWJhc2UgKyAweDY4LAkxMCk7DQotCQljbGtzW0lNWDZVTF9DTEtf Q0FBTV9JUEddCT0gaW14X2Nsa19nYXRlMigiY2FhbV9pcGciLAkiaXBnIiwJCWJhc2UgKyAweDY4 LAkxMik7DQorCQlod3NbSU1YNlVMX0NMS19DQUFNX01FTV0JPSBpbXhfY2xrX2h3X2dhdGUyKCJj YWFtX21lbSIsCSJhaGIiLAkJYmFzZSArIDB4NjgsCTgpOw0KKwkJaHdzW0lNWDZVTF9DTEtfQ0FB TV9BQ0xLXQk9IGlteF9jbGtfaHdfZ2F0ZTIoImNhYW1fYWNsayIsCSJhaGIiLAkJYmFzZSArIDB4 NjgsCTEwKTsNCisJCWh3c1tJTVg2VUxfQ0xLX0NBQU1fSVBHXQk9IGlteF9jbGtfaHdfZ2F0ZTIo ImNhYW1faXBnIiwJImlwZyIsCQliYXNlICsgMHg2OCwJMTIpOw0KIAl9IGVsc2UgaWYgKGNsa19v bl9pbXg2dWxsKCkpIHsNCi0JCWNsa3NbSU1YNlVMTF9DTEtfRENQX0NMS10JPSBpbXhfY2xrX2dh dGUyKCJkY3AiLAkJImFoYiIsCQliYXNlICsgMHg2OCwJMTApOw0KLQkJY2xrc1tJTVg2VUxfQ0xL X0VORVRdCQk9IGlteF9jbGtfZ2F0ZTIoImVuZXQiLAkJImlwZyIsCQliYXNlICsgMHg2OCwJMTIp Ow0KLQkJY2xrc1tJTVg2VUxfQ0xLX0VORVRfQUhCXQk9IGlteF9jbGtfZ2F0ZTIoImVuZXRfYWhi IiwJImFoYiIsCQliYXNlICsgMHg2OCwJMTIpOw0KKwkJaHdzW0lNWDZVTExfQ0xLX0RDUF9DTEtd CT0gaW14X2Nsa19od19nYXRlMigiZGNwIiwJCSJhaGIiLAkJYmFzZSArIDB4NjgsCTEwKTsNCisJ CWh3c1tJTVg2VUxfQ0xLX0VORVRdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoImVuZXQiLAkJImlwZyIs CQliYXNlICsgMHg2OCwJMTIpOw0KKwkJaHdzW0lNWDZVTF9DTEtfRU5FVF9BSEJdCT0gaW14X2Ns a19od19nYXRlMigiZW5ldF9haGIiLAkiYWhiIiwJCWJhc2UgKyAweDY4LAkxMik7DQogCX0NCi0J Y2xrc1tJTVg2VUxfQ0xLX0NBTjFfSVBHXQk9IGlteF9jbGtfZ2F0ZTIoImNhbjFfaXBnIiwJImlw ZyIsCQliYXNlICsgMHg2OCwJMTQpOw0KLQljbGtzW0lNWDZVTF9DTEtfQ0FOMV9TRVJJQUxdCT0g aW14X2Nsa19nYXRlMigiY2FuMV9zZXJpYWwiLAkiY2FuX3BvZGYiLAliYXNlICsgMHg2OCwJMTYp Ow0KLQljbGtzW0lNWDZVTF9DTEtfQ0FOMl9JUEddCT0gaW14X2Nsa19nYXRlMigiY2FuMl9pcGci LAkiaXBnIiwJCWJhc2UgKyAweDY4LAkxOCk7DQotCWNsa3NbSU1YNlVMX0NMS19DQU4yX1NFUklB TF0JPSBpbXhfY2xrX2dhdGUyKCJjYW4yX3NlcmlhbCIsCSJjYW5fcG9kZiIsCWJhc2UgKyAweDY4 LAkyMCk7DQotCWNsa3NbSU1YNlVMX0NMS19HUFQyX0JVU10JPSBpbXhfY2xrX2dhdGUyKCJncHQy X2J1cyIsCSJwZXJjbGsiLAliYXNlICsgMHg2OCwJMjQpOw0KLQljbGtzW0lNWDZVTF9DTEtfR1BU Ml9TRVJJQUxdCT0gaW14X2Nsa19nYXRlMigiZ3B0Ml9zZXJpYWwiLAkicGVyY2xrIiwJYmFzZSAr IDB4NjgsCTI2KTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1VBUlQyX0lQR10JPSBpbXhfY2xrX2dhdGUy KCJ1YXJ0Ml9pcGciLAkiaXBnIiwJCWJhc2UgKyAweDY4LAkyOCk7DQotCWNsa3NbSU1YNlVMX0NM S19VQVJUMl9TRVJJQUxdCT0gaW14X2Nsa19nYXRlMigidWFydDJfc2VyaWFsIiwJInVhcnRfcG9k ZiIsCWJhc2UgKyAweDY4LAkyOCk7DQorCWh3c1tJTVg2VUxfQ0xLX0NBTjFfSVBHXQk9IGlteF9j bGtfaHdfZ2F0ZTIoImNhbjFfaXBnIiwJImlwZyIsCQliYXNlICsgMHg2OCwJMTQpOw0KKwlod3Nb SU1YNlVMX0NMS19DQU4xX1NFUklBTF0JPSBpbXhfY2xrX2h3X2dhdGUyKCJjYW4xX3NlcmlhbCIs CSJjYW5fcG9kZiIsCWJhc2UgKyAweDY4LAkxNik7DQorCWh3c1tJTVg2VUxfQ0xLX0NBTjJfSVBH XQk9IGlteF9jbGtfaHdfZ2F0ZTIoImNhbjJfaXBnIiwJImlwZyIsCQliYXNlICsgMHg2OCwJMTgp Ow0KKwlod3NbSU1YNlVMX0NMS19DQU4yX1NFUklBTF0JPSBpbXhfY2xrX2h3X2dhdGUyKCJjYW4y X3NlcmlhbCIsCSJjYW5fcG9kZiIsCWJhc2UgKyAweDY4LAkyMCk7DQorCWh3c1tJTVg2VUxfQ0xL X0dQVDJfQlVTXQk9IGlteF9jbGtfaHdfZ2F0ZTIoImdwdDJfYnVzIiwJInBlcmNsayIsCWJhc2Ug KyAweDY4LAkyNCk7DQorCWh3c1tJTVg2VUxfQ0xLX0dQVDJfU0VSSUFMXQk9IGlteF9jbGtfaHdf Z2F0ZTIoImdwdDJfc2VyaWFsIiwJInBlcmNsayIsCWJhc2UgKyAweDY4LAkyNik7DQorCWh3c1tJ TVg2VUxfQ0xLX1VBUlQyX0lQR10JPSBpbXhfY2xrX2h3X2dhdGUyKCJ1YXJ0Ml9pcGciLAkiaXBn IiwJCWJhc2UgKyAweDY4LAkyOCk7DQorCWh3c1tJTVg2VUxfQ0xLX1VBUlQyX1NFUklBTF0JPSBp bXhfY2xrX2h3X2dhdGUyKCJ1YXJ0Ml9zZXJpYWwiLAkidWFydF9wb2RmIiwJYmFzZSArIDB4Njgs CTI4KTsNCiAJaWYgKGNsa19vbl9pbXg2dWxsKCkpDQotCQljbGtzW0lNWDZVTF9DTEtfQUlQU1Ra M10JPSBpbXhfY2xrX2dhdGUyKCJhaXBzX3R6MyIsCSJhaGIiLAkJIGJhc2UgKyAweDgwLAkxOCk7 DQotCWNsa3NbSU1YNlVMX0NMS19HUElPMl0JCT0gaW14X2Nsa19nYXRlMigiZ3BpbzIiLAkiaXBn IiwJCWJhc2UgKyAweDY4LAkzMCk7DQorCQlod3NbSU1YNlVMX0NMS19BSVBTVFozXQk9IGlteF9j bGtfaHdfZ2F0ZTIoImFpcHNfdHozIiwJImFoYiIsCQkgYmFzZSArIDB4ODAsCTE4KTsNCisJaHdz W0lNWDZVTF9DTEtfR1BJTzJdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoImdwaW8yIiwJImlwZyIsCQli YXNlICsgMHg2OCwJMzApOw0KIA0KIAkvKiBDQ0dSMSAqLw0KLQljbGtzW0lNWDZVTF9DTEtfRUNT UEkxXQkJPSBpbXhfY2xrX2dhdGUyKCJlY3NwaTEiLAkiZWNzcGlfcG9kZiIsCWJhc2UgKyAweDZj LAkwKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX0VDU1BJMl0JCT0gaW14X2Nsa19nYXRlMigiZWNzcGky IiwJImVjc3BpX3BvZGYiLAliYXNlICsgMHg2YywJMik7DQotCWNsa3NbSU1YNlVMX0NMS19FQ1NQ STNdCQk9IGlteF9jbGtfZ2F0ZTIoImVjc3BpMyIsCSJlY3NwaV9wb2RmIiwJYmFzZSArIDB4NmMs CTQpOw0KLQljbGtzW0lNWDZVTF9DTEtfRUNTUEk0XQkJPSBpbXhfY2xrX2dhdGUyKCJlY3NwaTQi LAkiZWNzcGlfcG9kZiIsCWJhc2UgKyAweDZjLAk2KTsNCi0JY2xrc1tJTVg2VUxfQ0xLX0FEQzJd CQk9IGlteF9jbGtfZ2F0ZTIoImFkYzIiLAkJImlwZyIsCQliYXNlICsgMHg2YywJOCk7DQotCWNs a3NbSU1YNlVMX0NMS19VQVJUM19JUEddCT0gaW14X2Nsa19nYXRlMigidWFydDNfaXBnIiwJImlw ZyIsCQliYXNlICsgMHg2YywJMTApOw0KLQljbGtzW0lNWDZVTF9DTEtfVUFSVDNfU0VSSUFMXQk9 IGlteF9jbGtfZ2F0ZTIoInVhcnQzX3NlcmlhbCIsCSJ1YXJ0X3BvZGYiLAliYXNlICsgMHg2YywJ MTApOw0KLQljbGtzW0lNWDZVTF9DTEtfRVBJVDFdCQk9IGlteF9jbGtfZ2F0ZTIoImVwaXQxIiwJ InBlcmNsayIsCWJhc2UgKyAweDZjLAkxMik7DQotCWNsa3NbSU1YNlVMX0NMS19FUElUMl0JCT0g aW14X2Nsa19nYXRlMigiZXBpdDIiLAkicGVyY2xrIiwJYmFzZSArIDB4NmMsCTE0KTsNCi0JY2xr c1tJTVg2VUxfQ0xLX0FEQzFdCQk9IGlteF9jbGtfZ2F0ZTIoImFkYzEiLAkJImlwZyIsCQliYXNl ICsgMHg2YywJMTYpOw0KLQljbGtzW0lNWDZVTF9DTEtfR1BUMV9CVVNdCT0gaW14X2Nsa19nYXRl MigiZ3B0MV9idXMiLAkicGVyY2xrIiwJYmFzZSArIDB4NmMsCTIwKTsNCi0JY2xrc1tJTVg2VUxf Q0xLX0dQVDFfU0VSSUFMXQk9IGlteF9jbGtfZ2F0ZTIoImdwdDFfc2VyaWFsIiwJInBlcmNsayIs CWJhc2UgKyAweDZjLAkyMik7DQotCWNsa3NbSU1YNlVMX0NMS19VQVJUNF9JUEddCT0gaW14X2Ns a19nYXRlMigidWFydDRfaXBnIiwJImlwZyIsCQliYXNlICsgMHg2YywJMjQpOw0KLQljbGtzW0lN WDZVTF9DTEtfVUFSVDRfU0VSSUFMXQk9IGlteF9jbGtfZ2F0ZTIoInVhcnQ0X3NlcmlhbCIsCSJ1 YXJ0X3BvZGYiLAliYXNlICsgMHg2YywJMjQpOw0KLQljbGtzW0lNWDZVTF9DTEtfR1BJTzFdCQk9 IGlteF9jbGtfZ2F0ZTIoImdwaW8xIiwJImlwZyIsCQliYXNlICsgMHg2YywJMjYpOw0KLQljbGtz W0lNWDZVTF9DTEtfR1BJTzVdCQk9IGlteF9jbGtfZ2F0ZTIoImdwaW81IiwJImlwZyIsCQliYXNl ICsgMHg2YywJMzApOw0KKwlod3NbSU1YNlVMX0NMS19FQ1NQSTFdCQk9IGlteF9jbGtfaHdfZ2F0 ZTIoImVjc3BpMSIsCSJlY3NwaV9wb2RmIiwJYmFzZSArIDB4NmMsCTApOw0KKwlod3NbSU1YNlVM X0NMS19FQ1NQSTJdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoImVjc3BpMiIsCSJlY3NwaV9wb2RmIiwJ YmFzZSArIDB4NmMsCTIpOw0KKwlod3NbSU1YNlVMX0NMS19FQ1NQSTNdCQk9IGlteF9jbGtfaHdf Z2F0ZTIoImVjc3BpMyIsCSJlY3NwaV9wb2RmIiwJYmFzZSArIDB4NmMsCTQpOw0KKwlod3NbSU1Y NlVMX0NMS19FQ1NQSTRdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoImVjc3BpNCIsCSJlY3NwaV9wb2Rm IiwJYmFzZSArIDB4NmMsCTYpOw0KKwlod3NbSU1YNlVMX0NMS19BREMyXQkJPSBpbXhfY2xrX2h3 X2dhdGUyKCJhZGMyIiwJCSJpcGciLAkJYmFzZSArIDB4NmMsCTgpOw0KKwlod3NbSU1YNlVMX0NM S19VQVJUM19JUEddCT0gaW14X2Nsa19od19nYXRlMigidWFydDNfaXBnIiwJImlwZyIsCQliYXNl ICsgMHg2YywJMTApOw0KKwlod3NbSU1YNlVMX0NMS19VQVJUM19TRVJJQUxdCT0gaW14X2Nsa19o d19nYXRlMigidWFydDNfc2VyaWFsIiwJInVhcnRfcG9kZiIsCWJhc2UgKyAweDZjLAkxMCk7DQor CWh3c1tJTVg2VUxfQ0xLX0VQSVQxXQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJlcGl0MSIsCSJwZXJj bGsiLAliYXNlICsgMHg2YywJMTIpOw0KKwlod3NbSU1YNlVMX0NMS19FUElUMl0JCT0gaW14X2Ns a19od19nYXRlMigiZXBpdDIiLAkicGVyY2xrIiwJYmFzZSArIDB4NmMsCTE0KTsNCisJaHdzW0lN WDZVTF9DTEtfQURDMV0JCT0gaW14X2Nsa19od19nYXRlMigiYWRjMSIsCQkiaXBnIiwJCWJhc2Ug KyAweDZjLAkxNik7DQorCWh3c1tJTVg2VUxfQ0xLX0dQVDFfQlVTXQk9IGlteF9jbGtfaHdfZ2F0 ZTIoImdwdDFfYnVzIiwJInBlcmNsayIsCWJhc2UgKyAweDZjLAkyMCk7DQorCWh3c1tJTVg2VUxf Q0xLX0dQVDFfU0VSSUFMXQk9IGlteF9jbGtfaHdfZ2F0ZTIoImdwdDFfc2VyaWFsIiwJInBlcmNs ayIsCWJhc2UgKyAweDZjLAkyMik7DQorCWh3c1tJTVg2VUxfQ0xLX1VBUlQ0X0lQR10JPSBpbXhf Y2xrX2h3X2dhdGUyKCJ1YXJ0NF9pcGciLAkiaXBnIiwJCWJhc2UgKyAweDZjLAkyNCk7DQorCWh3 c1tJTVg2VUxfQ0xLX1VBUlQ0X1NFUklBTF0JPSBpbXhfY2xrX2h3X2dhdGUyKCJ1YXJ0NF9zZXJp YWwiLAkidWFydF9wb2RmIiwJYmFzZSArIDB4NmMsCTI0KTsNCisJaHdzW0lNWDZVTF9DTEtfR1BJ TzFdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoImdwaW8xIiwJImlwZyIsCQliYXNlICsgMHg2YywJMjYp Ow0KKwlod3NbSU1YNlVMX0NMS19HUElPNV0JCT0gaW14X2Nsa19od19nYXRlMigiZ3BpbzUiLAki aXBnIiwJCWJhc2UgKyAweDZjLAkzMCk7DQogDQogCS8qIENDR1IyICovDQogCWlmIChjbGtfb25f aW14NnVsbCgpKSB7DQotCQljbGtzW0lNWDZVTExfQ0xLX0VTQUlfRVhUQUxdCT0gaW14X2Nsa19n YXRlMl9zaGFyZWQoImVzYWlfZXh0YWwiLAkiZXNhaV9wb2RmIiwJYmFzZSArIDB4NzAsCTAsICZz aGFyZV9jb3VudF9lc2FpKTsNCi0JCWNsa3NbSU1YNlVMTF9DTEtfRVNBSV9JUEddCT0gaW14X2Ns a19nYXRlMl9zaGFyZWQoImVzYWlfaXBnIiwJImFoYiIsCQliYXNlICsgMHg3MCwJMCwgJnNoYXJl X2NvdW50X2VzYWkpOw0KLQkJY2xrc1tJTVg2VUxMX0NMS19FU0FJX01FTV0JPSBpbXhfY2xrX2dh dGUyX3NoYXJlZCgiZXNhaV9tZW0iLAkiYWhiIiwJCWJhc2UgKyAweDcwLAkwLCAmc2hhcmVfY291 bnRfZXNhaSk7DQorCQlod3NbSU1YNlVMTF9DTEtfRVNBSV9FWFRBTF0JPSBpbXhfY2xrX2h3X2dh dGUyX3NoYXJlZCgiZXNhaV9leHRhbCIsCSJlc2FpX3BvZGYiLAliYXNlICsgMHg3MCwJMCwgJnNo YXJlX2NvdW50X2VzYWkpOw0KKwkJaHdzW0lNWDZVTExfQ0xLX0VTQUlfSVBHXQk9IGlteF9jbGtf aHdfZ2F0ZTJfc2hhcmVkKCJlc2FpX2lwZyIsCSJhaGIiLAkJYmFzZSArIDB4NzAsCTAsICZzaGFy ZV9jb3VudF9lc2FpKTsNCisJCWh3c1tJTVg2VUxMX0NMS19FU0FJX01FTV0JPSBpbXhfY2xrX2h3 X2dhdGUyX3NoYXJlZCgiZXNhaV9tZW0iLAkiYWhiIiwJCWJhc2UgKyAweDcwLAkwLCAmc2hhcmVf Y291bnRfZXNhaSk7DQogCX0NCi0JY2xrc1tJTVg2VUxfQ0xLX0NTSV0JCT0gaW14X2Nsa19nYXRl MigiY3NpIiwJCSJjc2lfcG9kZiIsCQliYXNlICsgMHg3MCwJMik7DQotCWNsa3NbSU1YNlVMX0NM S19JMkMxXQkJPSBpbXhfY2xrX2dhdGUyKCJpMmMxIiwJCSJwZXJjbGsiLAliYXNlICsgMHg3MCwJ Nik7DQotCWNsa3NbSU1YNlVMX0NMS19JMkMyXQkJPSBpbXhfY2xrX2dhdGUyKCJpMmMyIiwJCSJw ZXJjbGsiLAliYXNlICsgMHg3MCwJOCk7DQotCWNsa3NbSU1YNlVMX0NMS19JMkMzXQkJPSBpbXhf Y2xrX2dhdGUyKCJpMmMzIiwJCSJwZXJjbGsiLAliYXNlICsgMHg3MCwJMTApOw0KLQljbGtzW0lN WDZVTF9DTEtfT0NPVFBdCQk9IGlteF9jbGtfZ2F0ZTIoIm9jb3RwIiwJImlwZyIsCQliYXNlICsg MHg3MCwJMTIpOw0KLQljbGtzW0lNWDZVTF9DTEtfSU9NVVhDXQkJPSBpbXhfY2xrX2dhdGUyKCJp b211eGMiLAkibGNkaWZfcG9kZiIsCWJhc2UgKyAweDcwLAkxNCk7DQotCWNsa3NbSU1YNlVMX0NM S19HUElPM10JCT0gaW14X2Nsa19nYXRlMigiZ3BpbzMiLAkiaXBnIiwJCWJhc2UgKyAweDcwLAky Nik7DQotCWNsa3NbSU1YNlVMX0NMS19MQ0RJRl9BUEJdCT0gaW14X2Nsa19nYXRlMigibGNkaWZf YXBiIiwJImF4aSIsCQliYXNlICsgMHg3MCwJMjgpOw0KLQljbGtzW0lNWDZVTF9DTEtfUFhQXQkJ PSBpbXhfY2xrX2dhdGUyKCJweHAiLAkJImF4aSIsCQliYXNlICsgMHg3MCwJMzApOw0KKwlod3Nb SU1YNlVMX0NMS19DU0ldCQk9IGlteF9jbGtfaHdfZ2F0ZTIoImNzaSIsCQkiY3NpX3BvZGYiLAkJ YmFzZSArIDB4NzAsCTIpOw0KKwlod3NbSU1YNlVMX0NMS19JMkMxXQkJPSBpbXhfY2xrX2h3X2dh dGUyKCJpMmMxIiwJCSJwZXJjbGsiLAliYXNlICsgMHg3MCwJNik7DQorCWh3c1tJTVg2VUxfQ0xL X0kyQzJdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoImkyYzIiLAkJInBlcmNsayIsCWJhc2UgKyAweDcw LAk4KTsNCisJaHdzW0lNWDZVTF9DTEtfSTJDM10JCT0gaW14X2Nsa19od19nYXRlMigiaTJjMyIs CQkicGVyY2xrIiwJYmFzZSArIDB4NzAsCTEwKTsNCisJaHdzW0lNWDZVTF9DTEtfT0NPVFBdCQk9 IGlteF9jbGtfaHdfZ2F0ZTIoIm9jb3RwIiwJImlwZyIsCQliYXNlICsgMHg3MCwJMTIpOw0KKwlo d3NbSU1YNlVMX0NMS19JT01VWENdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoImlvbXV4YyIsCSJsY2Rp Zl9wb2RmIiwJYmFzZSArIDB4NzAsCTE0KTsNCisJaHdzW0lNWDZVTF9DTEtfR1BJTzNdCQk9IGlt eF9jbGtfaHdfZ2F0ZTIoImdwaW8zIiwJImlwZyIsCQliYXNlICsgMHg3MCwJMjYpOw0KKwlod3Nb SU1YNlVMX0NMS19MQ0RJRl9BUEJdCT0gaW14X2Nsa19od19nYXRlMigibGNkaWZfYXBiIiwJImF4 aSIsCQliYXNlICsgMHg3MCwJMjgpOw0KKwlod3NbSU1YNlVMX0NMS19QWFBdCQk9IGlteF9jbGtf aHdfZ2F0ZTIoInB4cCIsCQkiYXhpIiwJCWJhc2UgKyAweDcwLAkzMCk7DQogDQogCS8qIENDR1Iz ICovDQotCWNsa3NbSU1YNlVMX0NMS19VQVJUNV9JUEddCT0gaW14X2Nsa19nYXRlMigidWFydDVf aXBnIiwJImlwZyIsCQliYXNlICsgMHg3NCwJMik7DQotCWNsa3NbSU1YNlVMX0NMS19VQVJUNV9T RVJJQUxdCT0gaW14X2Nsa19nYXRlMigidWFydDVfc2VyaWFsIiwJInVhcnRfcG9kZiIsCWJhc2Ug KyAweDc0LAkyKTsNCisJaHdzW0lNWDZVTF9DTEtfVUFSVDVfSVBHXQk9IGlteF9jbGtfaHdfZ2F0 ZTIoInVhcnQ1X2lwZyIsCSJpcGciLAkJYmFzZSArIDB4NzQsCTIpOw0KKwlod3NbSU1YNlVMX0NM S19VQVJUNV9TRVJJQUxdCT0gaW14X2Nsa19od19nYXRlMigidWFydDVfc2VyaWFsIiwJInVhcnRf cG9kZiIsCWJhc2UgKyAweDc0LAkyKTsNCiAJaWYgKGNsa19vbl9pbXg2dWwoKSkgew0KLQkJY2xr c1tJTVg2VUxfQ0xLX0VORVRdCQk9IGlteF9jbGtfZ2F0ZTIoImVuZXQiLAkJImlwZyIsCQliYXNl ICsgMHg3NCwJNCk7DQotCQljbGtzW0lNWDZVTF9DTEtfRU5FVF9BSEJdCT0gaW14X2Nsa19nYXRl MigiZW5ldF9haGIiLAkiYWhiIiwJCWJhc2UgKyAweDc0LAk0KTsNCisJCWh3c1tJTVg2VUxfQ0xL X0VORVRdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoImVuZXQiLAkJImlwZyIsCQliYXNlICsgMHg3NCwJ NCk7DQorCQlod3NbSU1YNlVMX0NMS19FTkVUX0FIQl0JPSBpbXhfY2xrX2h3X2dhdGUyKCJlbmV0 X2FoYiIsCSJhaGIiLAkJYmFzZSArIDB4NzQsCTQpOw0KIAl9IGVsc2UgaWYgKGNsa19vbl9pbXg2 dWxsKCkpIHsNCi0JCWNsa3NbSU1YNlVMTF9DTEtfRVBEQ19BQ0xLXQk9IGlteF9jbGtfZ2F0ZTIo ImVwZGNfYWNsayIsCSJheGkiLAkJYmFzZSArIDB4NzQsCTQpOw0KLQkJY2xrc1tJTVg2VUxMX0NM S19FUERDX1BJWF0JPSBpbXhfY2xrX2dhdGUyKCJlcGRjX3BpeCIsCSJlcGRjX3BvZGYiLAliYXNl ICsgMHg3NCwJNCk7DQorCQlod3NbSU1YNlVMTF9DTEtfRVBEQ19BQ0xLXQk9IGlteF9jbGtfaHdf Z2F0ZTIoImVwZGNfYWNsayIsCSJheGkiLAkJYmFzZSArIDB4NzQsCTQpOw0KKwkJaHdzW0lNWDZV TExfQ0xLX0VQRENfUElYXQk9IGlteF9jbGtfaHdfZ2F0ZTIoImVwZGNfcGl4IiwJImVwZGNfcG9k ZiIsCWJhc2UgKyAweDc0LAk0KTsNCiAJfQ0KLQljbGtzW0lNWDZVTF9DTEtfVUFSVDZfSVBHXQk9 IGlteF9jbGtfZ2F0ZTIoInVhcnQ2X2lwZyIsCSJpcGciLAkJYmFzZSArIDB4NzQsCTYpOw0KLQlj bGtzW0lNWDZVTF9DTEtfVUFSVDZfU0VSSUFMXQk9IGlteF9jbGtfZ2F0ZTIoInVhcnQ2X3Nlcmlh bCIsCSJ1YXJ0X3BvZGYiLAliYXNlICsgMHg3NCwJNik7DQotCWNsa3NbSU1YNlVMX0NMS19MQ0RJ Rl9QSVhdCT0gaW14X2Nsa19nYXRlMigibGNkaWZfcGl4IiwJImxjZGlmX3BvZGYiLAliYXNlICsg MHg3NCwJMTApOw0KLQljbGtzW0lNWDZVTF9DTEtfR1BJTzRdCQk9IGlteF9jbGtfZ2F0ZTIoImdw aW80IiwJImlwZyIsCQliYXNlICsgMHg3NCwJMTIpOw0KLQljbGtzW0lNWDZVTF9DTEtfUVNQSV0J CT0gaW14X2Nsa19nYXRlMigicXNwaTEiLAkicXNwaTFfcG9kZiIsCWJhc2UgKyAweDc0LAkxNCk7 DQotCWNsa3NbSU1YNlVMX0NMS19XRE9HMV0JCT0gaW14X2Nsa19nYXRlMigid2RvZzEiLAkiaXBn IiwJCWJhc2UgKyAweDc0LAkxNik7DQotCWNsa3NbSU1YNlVMX0NMS19NTURDX1AwX0ZBU1RdCT0g aW14X2Nsa19nYXRlX2ZsYWdzKCJtbWRjX3AwX2Zhc3QiLCAibW1kY19wb2RmIiwgYmFzZSArIDB4 NzQsCTIwLCBDTEtfSVNfQ1JJVElDQUwpOw0KLQljbGtzW0lNWDZVTF9DTEtfTU1EQ19QMF9JUEdd CT0gaW14X2Nsa19nYXRlMl9mbGFncygibW1kY19wMF9pcGciLAkiaXBnIiwJCWJhc2UgKyAweDc0 LAkyNCwgQ0xLX0lTX0NSSVRJQ0FMKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX01NRENfUDFfSVBHXQk9 IGlteF9jbGtfZ2F0ZTIoIm1tZGNfcDFfaXBnIiwJImlwZyIsCQliYXNlICsgMHg3NCwJMjYpOw0K LQljbGtzW0lNWDZVTF9DTEtfQVhJXQkJPSBpbXhfY2xrX2dhdGVfZmxhZ3MoImF4aSIsCSJheGlf cG9kZiIsCWJhc2UgKyAweDc0LAkyOCwgQ0xLX0lTX0NSSVRJQ0FMKTsNCisJaHdzW0lNWDZVTF9D TEtfVUFSVDZfSVBHXQk9IGlteF9jbGtfaHdfZ2F0ZTIoInVhcnQ2X2lwZyIsCSJpcGciLAkJYmFz ZSArIDB4NzQsCTYpOw0KKwlod3NbSU1YNlVMX0NMS19VQVJUNl9TRVJJQUxdCT0gaW14X2Nsa19o d19nYXRlMigidWFydDZfc2VyaWFsIiwJInVhcnRfcG9kZiIsCWJhc2UgKyAweDc0LAk2KTsNCisJ aHdzW0lNWDZVTF9DTEtfTENESUZfUElYXQk9IGlteF9jbGtfaHdfZ2F0ZTIoImxjZGlmX3BpeCIs CSJsY2RpZl9wb2RmIiwJYmFzZSArIDB4NzQsCTEwKTsNCisJaHdzW0lNWDZVTF9DTEtfR1BJTzRd CQk9IGlteF9jbGtfaHdfZ2F0ZTIoImdwaW80IiwJImlwZyIsCQliYXNlICsgMHg3NCwJMTIpOw0K Kwlod3NbSU1YNlVMX0NMS19RU1BJXQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJxc3BpMSIsCSJxc3Bp MV9wb2RmIiwJYmFzZSArIDB4NzQsCTE0KTsNCisJaHdzW0lNWDZVTF9DTEtfV0RPRzFdCQk9IGlt eF9jbGtfaHdfZ2F0ZTIoIndkb2cxIiwJImlwZyIsCQliYXNlICsgMHg3NCwJMTYpOw0KKwlod3Nb SU1YNlVMX0NMS19NTURDX1AwX0ZBU1RdCT0gaW14X2Nsa19od19nYXRlX2ZsYWdzKCJtbWRjX3Aw X2Zhc3QiLCAibW1kY19wb2RmIiwgYmFzZSArIDB4NzQsCTIwLCBDTEtfSVNfQ1JJVElDQUwpOw0K Kwlod3NbSU1YNlVMX0NMS19NTURDX1AwX0lQR10JPSBpbXhfY2xrX2h3X2dhdGUyX2ZsYWdzKCJt bWRjX3AwX2lwZyIsCSJpcGciLAkJYmFzZSArIDB4NzQsCTI0LCBDTEtfSVNfQ1JJVElDQUwpOw0K Kwlod3NbSU1YNlVMX0NMS19NTURDX1AxX0lQR10JPSBpbXhfY2xrX2h3X2dhdGUyKCJtbWRjX3Ax X2lwZyIsCSJpcGciLAkJYmFzZSArIDB4NzQsCTI2KTsNCisJaHdzW0lNWDZVTF9DTEtfQVhJXQkJ PSBpbXhfY2xrX2h3X2dhdGVfZmxhZ3MoImF4aSIsCSJheGlfcG9kZiIsCWJhc2UgKyAweDc0LAky OCwgQ0xLX0lTX0NSSVRJQ0FMKTsNCiANCiAJLyogQ0NHUjQgKi8NCi0JY2xrc1tJTVg2VUxfQ0xL X1BFUl9CQ0hdCT0gaW14X2Nsa19nYXRlMigicGVyX2JjaCIsCSJiY2hfcG9kZiIsCWJhc2UgKyAw eDc4LAkxMik7DQotCWNsa3NbSU1YNlVMX0NMS19QV00xXQkJPSBpbXhfY2xrX2dhdGUyKCJwd20x IiwJCSJwZXJjbGsiLAliYXNlICsgMHg3OCwJMTYpOw0KLQljbGtzW0lNWDZVTF9DTEtfUFdNMl0J CT0gaW14X2Nsa19nYXRlMigicHdtMiIsCQkicGVyY2xrIiwJYmFzZSArIDB4NzgsCTE4KTsNCi0J Y2xrc1tJTVg2VUxfQ0xLX1BXTTNdCQk9IGlteF9jbGtfZ2F0ZTIoInB3bTMiLAkJInBlcmNsayIs CWJhc2UgKyAweDc4LAkyMCk7DQotCWNsa3NbSU1YNlVMX0NMS19QV000XQkJPSBpbXhfY2xrX2dh dGUyKCJwd200IiwJCSJwZXJjbGsiLAliYXNlICsgMHg3OCwJMjIpOw0KLQljbGtzW0lNWDZVTF9D TEtfR1BNSV9CQ0hfQVBCXQk9IGlteF9jbGtfZ2F0ZTIoImdwbWlfYmNoX2FwYiIsCSJiY2hfcG9k ZiIsCWJhc2UgKyAweDc4LAkyNCk7DQotCWNsa3NbSU1YNlVMX0NMS19HUE1JX0JDSF0JPSBpbXhf Y2xrX2dhdGUyKCJncG1pX2JjaCIsCSJncG1pX3BvZGYiLAliYXNlICsgMHg3OCwJMjYpOw0KLQlj bGtzW0lNWDZVTF9DTEtfR1BNSV9JT10JPSBpbXhfY2xrX2dhdGUyKCJncG1pX2lvIiwJImVuZmNf cG9kZiIsCWJhc2UgKyAweDc4LAkyOCk7DQotCWNsa3NbSU1YNlVMX0NMS19HUE1JX0FQQl0JPSBp bXhfY2xrX2dhdGUyKCJncG1pX2FwYiIsCSJiY2hfcG9kZiIsCWJhc2UgKyAweDc4LAkzMCk7DQor CWh3c1tJTVg2VUxfQ0xLX1BFUl9CQ0hdCT0gaW14X2Nsa19od19nYXRlMigicGVyX2JjaCIsCSJi Y2hfcG9kZiIsCWJhc2UgKyAweDc4LAkxMik7DQorCWh3c1tJTVg2VUxfQ0xLX1BXTTFdCQk9IGlt eF9jbGtfaHdfZ2F0ZTIoInB3bTEiLAkJInBlcmNsayIsCWJhc2UgKyAweDc4LAkxNik7DQorCWh3 c1tJTVg2VUxfQ0xLX1BXTTJdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoInB3bTIiLAkJInBlcmNsayIs CWJhc2UgKyAweDc4LAkxOCk7DQorCWh3c1tJTVg2VUxfQ0xLX1BXTTNdCQk9IGlteF9jbGtfaHdf Z2F0ZTIoInB3bTMiLAkJInBlcmNsayIsCWJhc2UgKyAweDc4LAkyMCk7DQorCWh3c1tJTVg2VUxf Q0xLX1BXTTRdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoInB3bTQiLAkJInBlcmNsayIsCWJhc2UgKyAw eDc4LAkyMik7DQorCWh3c1tJTVg2VUxfQ0xLX0dQTUlfQkNIX0FQQl0JPSBpbXhfY2xrX2h3X2dh dGUyKCJncG1pX2JjaF9hcGIiLAkiYmNoX3BvZGYiLAliYXNlICsgMHg3OCwJMjQpOw0KKwlod3Nb SU1YNlVMX0NMS19HUE1JX0JDSF0JPSBpbXhfY2xrX2h3X2dhdGUyKCJncG1pX2JjaCIsCSJncG1p X3BvZGYiLAliYXNlICsgMHg3OCwJMjYpOw0KKwlod3NbSU1YNlVMX0NMS19HUE1JX0lPXQk9IGlt eF9jbGtfaHdfZ2F0ZTIoImdwbWlfaW8iLAkiZW5mY19wb2RmIiwJYmFzZSArIDB4NzgsCTI4KTsN CisJaHdzW0lNWDZVTF9DTEtfR1BNSV9BUEJdCT0gaW14X2Nsa19od19nYXRlMigiZ3BtaV9hcGIi LAkiYmNoX3BvZGYiLAliYXNlICsgMHg3OCwJMzApOw0KIA0KIAkvKiBDQ0dSNSAqLw0KLQljbGtz W0lNWDZVTF9DTEtfUk9NXQkJPSBpbXhfY2xrX2dhdGUyX2ZsYWdzKCJyb20iLAkiYWhiIiwJCWJh c2UgKyAweDdjLAkwLAlDTEtfSVNfQ1JJVElDQUwpOw0KLQljbGtzW0lNWDZVTF9DTEtfU0RNQV0J CT0gaW14X2Nsa19nYXRlMigic2RtYSIsCQkiYWhiIiwJCWJhc2UgKyAweDdjLAk2KTsNCi0JY2xr c1tJTVg2VUxfQ0xLX0tQUF0JCT0gaW14X2Nsa19nYXRlMigia3BwIiwJCSJpcGciLAkJYmFzZSAr IDB4N2MsCTgpOw0KLQljbGtzW0lNWDZVTF9DTEtfV0RPRzJdCQk9IGlteF9jbGtfZ2F0ZTIoIndk b2cyIiwJImlwZyIsCQliYXNlICsgMHg3YywJMTApOw0KLQljbGtzW0lNWDZVTF9DTEtfU1BCQV0J CT0gaW14X2Nsa19nYXRlMigic3BiYSIsCQkiaXBnIiwJCWJhc2UgKyAweDdjLAkxMik7DQotCWNs a3NbSU1YNlVMX0NMS19TUERJRl0JCT0gaW14X2Nsa19nYXRlMl9zaGFyZWQoInNwZGlmIiwJCSJz cGRpZl9wb2RmIiwJYmFzZSArIDB4N2MsCTE0LCAmc2hhcmVfY291bnRfYXVkaW8pOw0KLQljbGtz W0lNWDZVTF9DTEtfU1BESUZfR0NMS10JPSBpbXhfY2xrX2dhdGUyX3NoYXJlZCgic3BkaWZfZ2Ns ayIsCSJpcGciLAkJYmFzZSArIDB4N2MsCTE0LCAmc2hhcmVfY291bnRfYXVkaW8pOw0KLQljbGtz W0lNWDZVTF9DTEtfU0FJM10JCT0gaW14X2Nsa19nYXRlMl9zaGFyZWQoInNhaTMiLAkJInNhaTNf cG9kZiIsCWJhc2UgKyAweDdjLAkyMiwgJnNoYXJlX2NvdW50X3NhaTMpOw0KLQljbGtzW0lNWDZV TF9DTEtfU0FJM19JUEddCT0gaW14X2Nsa19nYXRlMl9zaGFyZWQoInNhaTNfaXBnIiwJImlwZyIs CQliYXNlICsgMHg3YywJMjIsICZzaGFyZV9jb3VudF9zYWkzKTsNCi0JY2xrc1tJTVg2VUxfQ0xL X1VBUlQxX0lQR10JPSBpbXhfY2xrX2dhdGUyKCJ1YXJ0MV9pcGciLAkiaXBnIiwJCWJhc2UgKyAw eDdjLAkyNCk7DQotCWNsa3NbSU1YNlVMX0NMS19VQVJUMV9TRVJJQUxdCT0gaW14X2Nsa19nYXRl MigidWFydDFfc2VyaWFsIiwJInVhcnRfcG9kZiIsCWJhc2UgKyAweDdjLAkyNCk7DQotCWNsa3Nb SU1YNlVMX0NMS19VQVJUN19JUEddCT0gaW14X2Nsa19nYXRlMigidWFydDdfaXBnIiwJImlwZyIs CQliYXNlICsgMHg3YywJMjYpOw0KLQljbGtzW0lNWDZVTF9DTEtfVUFSVDdfU0VSSUFMXQk9IGlt eF9jbGtfZ2F0ZTIoInVhcnQ3X3NlcmlhbCIsCSJ1YXJ0X3BvZGYiLAliYXNlICsgMHg3YywJMjYp Ow0KLQljbGtzW0lNWDZVTF9DTEtfU0FJMV0JCT0gaW14X2Nsa19nYXRlMl9zaGFyZWQoInNhaTEi LAkJInNhaTFfcG9kZiIsCWJhc2UgKyAweDdjLAkyOCwgJnNoYXJlX2NvdW50X3NhaTEpOw0KLQlj bGtzW0lNWDZVTF9DTEtfU0FJMV9JUEddCT0gaW14X2Nsa19nYXRlMl9zaGFyZWQoInNhaTFfaXBn IiwJImlwZyIsCQliYXNlICsgMHg3YywJMjgsICZzaGFyZV9jb3VudF9zYWkxKTsNCi0JY2xrc1tJ TVg2VUxfQ0xLX1NBSTJdCQk9IGlteF9jbGtfZ2F0ZTJfc2hhcmVkKCJzYWkyIiwJCSJzYWkyX3Bv ZGYiLAliYXNlICsgMHg3YywJMzAsICZzaGFyZV9jb3VudF9zYWkyKTsNCi0JY2xrc1tJTVg2VUxf Q0xLX1NBSTJfSVBHXQk9IGlteF9jbGtfZ2F0ZTJfc2hhcmVkKCJzYWkyX2lwZyIsCSJpcGciLAkJ YmFzZSArIDB4N2MsCTMwLCAmc2hhcmVfY291bnRfc2FpMik7DQorCWh3c1tJTVg2VUxfQ0xLX1JP TV0JCT0gaW14X2Nsa19od19nYXRlMl9mbGFncygicm9tIiwJImFoYiIsCQliYXNlICsgMHg3YywJ MCwJQ0xLX0lTX0NSSVRJQ0FMKTsNCisJaHdzW0lNWDZVTF9DTEtfU0RNQV0JCT0gaW14X2Nsa19o d19nYXRlMigic2RtYSIsCQkiYWhiIiwJCWJhc2UgKyAweDdjLAk2KTsNCisJaHdzW0lNWDZVTF9D TEtfS1BQXQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJrcHAiLAkJImlwZyIsCQliYXNlICsgMHg3YywJ OCk7DQorCWh3c1tJTVg2VUxfQ0xLX1dET0cyXQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJ3ZG9nMiIs CSJpcGciLAkJYmFzZSArIDB4N2MsCTEwKTsNCisJaHdzW0lNWDZVTF9DTEtfU1BCQV0JCT0gaW14 X2Nsa19od19nYXRlMigic3BiYSIsCQkiaXBnIiwJCWJhc2UgKyAweDdjLAkxMik7DQorCWh3c1tJ TVg2VUxfQ0xLX1NQRElGXQkJPSBpbXhfY2xrX2h3X2dhdGUyX3NoYXJlZCgic3BkaWYiLAkJInNw ZGlmX3BvZGYiLAliYXNlICsgMHg3YywJMTQsICZzaGFyZV9jb3VudF9hdWRpbyk7DQorCWh3c1tJ TVg2VUxfQ0xLX1NQRElGX0dDTEtdCT0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQoInNwZGlmX2dj bGsiLAkiaXBnIiwJCWJhc2UgKyAweDdjLAkxNCwgJnNoYXJlX2NvdW50X2F1ZGlvKTsNCisJaHdz W0lNWDZVTF9DTEtfU0FJM10JCT0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQoInNhaTMiLAkJInNh aTNfcG9kZiIsCWJhc2UgKyAweDdjLAkyMiwgJnNoYXJlX2NvdW50X3NhaTMpOw0KKwlod3NbSU1Y NlVMX0NMS19TQUkzX0lQR10JPSBpbXhfY2xrX2h3X2dhdGUyX3NoYXJlZCgic2FpM19pcGciLAki aXBnIiwJCWJhc2UgKyAweDdjLAkyMiwgJnNoYXJlX2NvdW50X3NhaTMpOw0KKwlod3NbSU1YNlVM X0NMS19VQVJUMV9JUEddCT0gaW14X2Nsa19od19nYXRlMigidWFydDFfaXBnIiwJImlwZyIsCQli YXNlICsgMHg3YywJMjQpOw0KKwlod3NbSU1YNlVMX0NMS19VQVJUMV9TRVJJQUxdCT0gaW14X2Ns a19od19nYXRlMigidWFydDFfc2VyaWFsIiwJInVhcnRfcG9kZiIsCWJhc2UgKyAweDdjLAkyNCk7 DQorCWh3c1tJTVg2VUxfQ0xLX1VBUlQ3X0lQR10JPSBpbXhfY2xrX2h3X2dhdGUyKCJ1YXJ0N19p cGciLAkiaXBnIiwJCWJhc2UgKyAweDdjLAkyNik7DQorCWh3c1tJTVg2VUxfQ0xLX1VBUlQ3X1NF UklBTF0JPSBpbXhfY2xrX2h3X2dhdGUyKCJ1YXJ0N19zZXJpYWwiLAkidWFydF9wb2RmIiwJYmFz ZSArIDB4N2MsCTI2KTsNCisJaHdzW0lNWDZVTF9DTEtfU0FJMV0JCT0gaW14X2Nsa19od19nYXRl Ml9zaGFyZWQoInNhaTEiLAkJInNhaTFfcG9kZiIsCWJhc2UgKyAweDdjLAkyOCwgJnNoYXJlX2Nv dW50X3NhaTEpOw0KKwlod3NbSU1YNlVMX0NMS19TQUkxX0lQR10JPSBpbXhfY2xrX2h3X2dhdGUy X3NoYXJlZCgic2FpMV9pcGciLAkiaXBnIiwJCWJhc2UgKyAweDdjLAkyOCwgJnNoYXJlX2NvdW50 X3NhaTEpOw0KKwlod3NbSU1YNlVMX0NMS19TQUkyXQkJPSBpbXhfY2xrX2h3X2dhdGUyX3NoYXJl ZCgic2FpMiIsCQkic2FpMl9wb2RmIiwJYmFzZSArIDB4N2MsCTMwLCAmc2hhcmVfY291bnRfc2Fp Mik7DQorCWh3c1tJTVg2VUxfQ0xLX1NBSTJfSVBHXQk9IGlteF9jbGtfaHdfZ2F0ZTJfc2hhcmVk KCJzYWkyX2lwZyIsCSJpcGciLAkJYmFzZSArIDB4N2MsCTMwLCAmc2hhcmVfY291bnRfc2FpMik7 DQogDQogCS8qIENDR1I2ICovDQotCWNsa3NbSU1YNlVMX0NMS19VU0JPSDNdCQk9IGlteF9jbGtf Z2F0ZTIoInVzYm9oMyIsCSJpcGciLAkJIGJhc2UgKyAweDgwLAkwKTsNCi0JY2xrc1tJTVg2VUxf Q0xLX1VTREhDMV0JCT0gaW14X2Nsa19nYXRlMigidXNkaGMxIiwJInVzZGhjMV9wb2RmIiwJIGJh c2UgKyAweDgwLAkyKTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1VTREhDMl0JCT0gaW14X2Nsa19nYXRl MigidXNkaGMyIiwJInVzZGhjMl9wb2RmIiwJIGJhc2UgKyAweDgwLAk0KTsNCisJaHdzW0lNWDZV TF9DTEtfVVNCT0gzXQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJ1c2JvaDMiLAkiaXBnIiwJCSBiYXNl ICsgMHg4MCwJMCk7DQorCWh3c1tJTVg2VUxfQ0xLX1VTREhDMV0JCT0gaW14X2Nsa19od19nYXRl MigidXNkaGMxIiwJInVzZGhjMV9wb2RmIiwJIGJhc2UgKyAweDgwLAkyKTsNCisJaHdzW0lNWDZV TF9DTEtfVVNESEMyXQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJ1c2RoYzIiLAkidXNkaGMyX3BvZGYi LAkgYmFzZSArIDB4ODAsCTQpOw0KIAlpZiAoY2xrX29uX2lteDZ1bCgpKSB7DQotCQljbGtzW0lN WDZVTF9DTEtfU0lNMV0JCT0gaW14X2Nsa19nYXRlMigic2ltMSIsCQkic2ltX3NlbCIsCSBiYXNl ICsgMHg4MCwJNik7DQotCQljbGtzW0lNWDZVTF9DTEtfU0lNMl0JCT0gaW14X2Nsa19nYXRlMigi c2ltMiIsCQkic2ltX3NlbCIsCSBiYXNlICsgMHg4MCwJOCk7DQorCQlod3NbSU1YNlVMX0NMS19T SU0xXQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJzaW0xIiwJCSJzaW1fc2VsIiwJIGJhc2UgKyAweDgw LAk2KTsNCisJCWh3c1tJTVg2VUxfQ0xLX1NJTTJdCQk9IGlteF9jbGtfaHdfZ2F0ZTIoInNpbTIi LAkJInNpbV9zZWwiLAkgYmFzZSArIDB4ODAsCTgpOw0KIAl9DQotCWNsa3NbSU1YNlVMX0NMS19F SU1dCQk9IGlteF9jbGtfZ2F0ZTIoImVpbSIsCQkiZWltX3Nsb3dfcG9kZiIsIGJhc2UgKyAweDgw LAkxMCk7DQotCWNsa3NbSU1YNlVMX0NMS19QV004XQkJPSBpbXhfY2xrX2dhdGUyKCJwd204IiwJ CSJwZXJjbGsiLAkgYmFzZSArIDB4ODAsCTE2KTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1VBUlQ4X0lQ R10JPSBpbXhfY2xrX2dhdGUyKCJ1YXJ0OF9pcGciLAkiaXBnIiwJCSBiYXNlICsgMHg4MCwJMTQp Ow0KLQljbGtzW0lNWDZVTF9DTEtfVUFSVDhfU0VSSUFMXQk9IGlteF9jbGtfZ2F0ZTIoInVhcnQ4 X3NlcmlhbCIsICJ1YXJ0X3BvZGYiLAkgYmFzZSArIDB4ODAsCTE0KTsNCi0JY2xrc1tJTVg2VUxf Q0xLX1dET0czXQkJPSBpbXhfY2xrX2dhdGUyKCJ3ZG9nMyIsCSJpcGciLAkJIGJhc2UgKyAweDgw LAkyMCk7DQotCWNsa3NbSU1YNlVMX0NMS19JMkM0XQkJPSBpbXhfY2xrX2dhdGUyKCJpMmM0IiwJ CSJwZXJjbGsiLAkgYmFzZSArIDB4ODAsCTI0KTsNCi0JY2xrc1tJTVg2VUxfQ0xLX1BXTTVdCQk9 IGlteF9jbGtfZ2F0ZTIoInB3bTUiLAkJInBlcmNsayIsCSBiYXNlICsgMHg4MCwJMjYpOw0KLQlj bGtzW0lNWDZVTF9DTEtfUFdNNl0JCT0gaW14X2Nsa19nYXRlMigicHdtNiIsCQkicGVyY2xrIiwJ IGJhc2UgKwkweDgwLAkyOCk7DQotCWNsa3NbSU1YNlVMX0NMS19QV003XQkJPSBpbXhfY2xrX2dh dGUyKCJwd203IiwJCSJwZXJjbGsiLAkgYmFzZSArIDB4ODAsCTMwKTsNCisJaHdzW0lNWDZVTF9D TEtfRUlNXQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJlaW0iLAkJImVpbV9zbG93X3BvZGYiLCBiYXNl ICsgMHg4MCwJMTApOw0KKwlod3NbSU1YNlVMX0NMS19QV004XQkJPSBpbXhfY2xrX2h3X2dhdGUy KCJwd204IiwJCSJwZXJjbGsiLAkgYmFzZSArIDB4ODAsCTE2KTsNCisJaHdzW0lNWDZVTF9DTEtf VUFSVDhfSVBHXQk9IGlteF9jbGtfaHdfZ2F0ZTIoInVhcnQ4X2lwZyIsCSJpcGciLAkJIGJhc2Ug KyAweDgwLAkxNCk7DQorCWh3c1tJTVg2VUxfQ0xLX1VBUlQ4X1NFUklBTF0JPSBpbXhfY2xrX2h3 X2dhdGUyKCJ1YXJ0OF9zZXJpYWwiLCAidWFydF9wb2RmIiwJIGJhc2UgKyAweDgwLAkxNCk7DQor CWh3c1tJTVg2VUxfQ0xLX1dET0czXQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJ3ZG9nMyIsCSJpcGci LAkJIGJhc2UgKyAweDgwLAkyMCk7DQorCWh3c1tJTVg2VUxfQ0xLX0kyQzRdCQk9IGlteF9jbGtf aHdfZ2F0ZTIoImkyYzQiLAkJInBlcmNsayIsCSBiYXNlICsgMHg4MCwJMjQpOw0KKwlod3NbSU1Y NlVMX0NMS19QV001XQkJPSBpbXhfY2xrX2h3X2dhdGUyKCJwd201IiwJCSJwZXJjbGsiLAkgYmFz ZSArIDB4ODAsCTI2KTsNCisJaHdzW0lNWDZVTF9DTEtfUFdNNl0JCT0gaW14X2Nsa19od19nYXRl MigicHdtNiIsCQkicGVyY2xrIiwJIGJhc2UgKwkweDgwLAkyOCk7DQorCWh3c1tJTVg2VUxfQ0xL X1BXTTddCQk9IGlteF9jbGtfaHdfZ2F0ZTIoInB3bTciLAkJInBlcmNsayIsCSBiYXNlICsgMHg4 MCwJMzApOw0KIA0KIAkvKiBDQ09TUiAqLw0KLQljbGtzW0lNWDZVTF9DTEtfQ0tPMV0JCT0gaW14 X2Nsa19nYXRlKCJja28xIiwJCSJja28xX3BvZGYiLAkgYmFzZSArIDB4NjAsCTcpOw0KLQljbGtz W0lNWDZVTF9DTEtfQ0tPMl0JCT0gaW14X2Nsa19nYXRlKCJja28yIiwJCSJja28yX3BvZGYiLAkg YmFzZSArIDB4NjAsCTI0KTsNCisJaHdzW0lNWDZVTF9DTEtfQ0tPMV0JCT0gaW14X2Nsa19od19n YXRlKCJja28xIiwJCSJja28xX3BvZGYiLAkgYmFzZSArIDB4NjAsCTcpOw0KKwlod3NbSU1YNlVM X0NMS19DS08yXQkJPSBpbXhfY2xrX2h3X2dhdGUoImNrbzIiLAkJImNrbzJfcG9kZiIsCSBiYXNl ICsgMHg2MCwJMjQpOw0KIA0KIAkvKiBtYXNrIGhhbmRzaGFrZSBvZiBtbWRjICovDQogCXdyaXRl bF9yZWxheGVkKEJNX0NDTV9DQ0RSX01NRENfQ0gwX01BU0ssIGJhc2UgKyBDQ0RSKTsNCiANCi0J aW14X2NoZWNrX2Nsb2NrcyhjbGtzLCBBUlJBWV9TSVpFKGNsa3MpKTsNCisJaW14X2NoZWNrX2Ns a19od3MoaHdzLCBJTVg2VUxfQ0xLX0VORCk7DQogDQotCWNsa19kYXRhLmNsa3MgPSBjbGtzOw0K LQljbGtfZGF0YS5jbGtfbnVtID0gQVJSQVlfU0laRShjbGtzKTsNCi0Jb2ZfY2xrX2FkZF9wcm92 aWRlcihucCwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgJmNsa19kYXRhKTsNCisJb2ZfY2xrX2Fk ZF9od19wcm92aWRlcihucCwgb2ZfY2xrX2h3X29uZWNlbGxfZ2V0LCBjbGtfaHdfZGF0YSk7DQog DQogCS8qDQogCSAqIExvd2VyIHRoZSBBSEIgY2xvY2sgcmF0ZSBiZWZvcmUgY2hhbmdpbmcgdGhl IHBhcmVudCBjbG9jayBzb3VyY2UsDQpAQCAtNDc5LDM5ICs0ODUsMzkgQEAgc3RhdGljIHZvaWQg X19pbml0IGlteDZ1bF9jbG9ja3NfaW5pdChzdHJ1Y3QgZGV2aWNlX25vZGUgKmNjbV9ub2RlKQ0K IAkgKiBBWEkgY2xvY2sgcmF0ZSwgc28gd2UgbmVlZCB0byBsb3dlciBBSEIgcmF0ZSBmaXJzdCB0 byBtYWtlIHN1cmUgYXQNCiAJICogYW55IHRpbWUsIEFIQiByYXRlIGlzIDw9IDEzM01Iei4NCiAJ ICovDQotCWNsa19zZXRfcmF0ZShjbGtzW0lNWDZVTF9DTEtfQUhCXSwgOTkwMDAwMDApOw0KKwlj bGtfc2V0X3JhdGUoaHdzW0lNWDZVTF9DTEtfQUhCXS0+Y2xrLCA5OTAwMDAwMCk7DQogDQogCS8q IENoYW5nZSBwZXJpcGhfcHJlIGNsb2NrIHRvIHBsbDJfYnVzIHRvIGFkanVzdCBBWEkgcmF0ZSB0 byAyNjRNSHogKi8NCi0JY2xrX3NldF9wYXJlbnQoY2xrc1tJTVg2VUxfQ0xLX1BFUklQSF9DTEsy X1NFTF0sIGNsa3NbSU1YNlVMX0NMS19PU0NdKTsNCi0JY2xrX3NldF9wYXJlbnQoY2xrc1tJTVg2 VUxfQ0xLX1BFUklQSF0sIGNsa3NbSU1YNlVMX0NMS19QRVJJUEhfQ0xLMl0pOw0KLQljbGtfc2V0 X3BhcmVudChjbGtzW0lNWDZVTF9DTEtfUEVSSVBIX1BSRV0sIGNsa3NbSU1YNlVMX0NMS19QTEwy X0JVU10pOw0KLQljbGtfc2V0X3BhcmVudChjbGtzW0lNWDZVTF9DTEtfUEVSSVBIXSwgY2xrc1tJ TVg2VUxfQ0xLX1BFUklQSF9QUkVdKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZVTF9DTEtf UEVSSVBIX0NMSzJfU0VMXS0+Y2xrLCBod3NbSU1YNlVMX0NMS19PU0NdLT5jbGspOw0KKwljbGtf c2V0X3BhcmVudChod3NbSU1YNlVMX0NMS19QRVJJUEhdLT5jbGssIGh3c1tJTVg2VUxfQ0xLX1BF UklQSF9DTEsyXS0+Y2xrKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZVTF9DTEtfUEVSSVBI X1BSRV0tPmNsaywgaHdzW0lNWDZVTF9DTEtfUExMMl9CVVNdLT5jbGspOw0KKwljbGtfc2V0X3Bh cmVudChod3NbSU1YNlVMX0NMS19QRVJJUEhdLT5jbGssIGh3c1tJTVg2VUxfQ0xLX1BFUklQSF9Q UkVdLT5jbGspOw0KIA0KIAkvKiBNYWtlIHN1cmUgQUhCIHJhdGUgaXMgMTMyTUh6ICAqLw0KLQlj bGtfc2V0X3JhdGUoY2xrc1tJTVg2VUxfQ0xLX0FIQl0sIDEzMjAwMDAwMCk7DQorCWNsa19zZXRf cmF0ZShod3NbSU1YNlVMX0NMS19BSEJdLT5jbGssIDEzMjAwMDAwMCk7DQogDQogCS8qIHNldCBw ZXJjbGsgdG8gZnJvbSBPU0MgKi8NCi0JY2xrX3NldF9wYXJlbnQoY2xrc1tJTVg2VUxfQ0xLX1BF UkNMS19TRUxdLCBjbGtzW0lNWDZVTF9DTEtfT1NDXSk7DQorCWNsa19zZXRfcGFyZW50KGh3c1tJ TVg2VUxfQ0xLX1BFUkNMS19TRUxdLT5jbGssIGh3c1tJTVg2VUxfQ0xLX09TQ10tPmNsayk7DQog DQotCWNsa19zZXRfcmF0ZShjbGtzW0lNWDZVTF9DTEtfRU5FVF9SRUZdLCA1MDAwMDAwMCk7DQot CWNsa19zZXRfcmF0ZShjbGtzW0lNWDZVTF9DTEtfRU5FVDJfUkVGXSwgNTAwMDAwMDApOw0KLQlj bGtfc2V0X3JhdGUoY2xrc1tJTVg2VUxfQ0xLX0NTSV0sIDI0MDAwMDAwKTsNCisJY2xrX3NldF9y YXRlKGh3c1tJTVg2VUxfQ0xLX0VORVRfUkVGXS0+Y2xrLCA1MDAwMDAwMCk7DQorCWNsa19zZXRf cmF0ZShod3NbSU1YNlVMX0NMS19FTkVUMl9SRUZdLT5jbGssIDUwMDAwMDAwKTsNCisJY2xrX3Nl dF9yYXRlKGh3c1tJTVg2VUxfQ0xLX0NTSV0tPmNsaywgMjQwMDAwMDApOw0KIA0KIAlpZiAoY2xr X29uX2lteDZ1bGwoKSkNCi0JCWNsa19wcmVwYXJlX2VuYWJsZShjbGtzW0lNWDZVTF9DTEtfQUlQ U1RaM10pOw0KKwkJY2xrX3ByZXBhcmVfZW5hYmxlKGh3c1tJTVg2VUxfQ0xLX0FJUFNUWjNdLT5j bGspOw0KIA0KIAlpZiAoSVNfRU5BQkxFRChDT05GSUdfVVNCX01YU19QSFkpKSB7DQotCQljbGtf cHJlcGFyZV9lbmFibGUoY2xrc1tJTVg2VUxfQ0xLX1VTQlBIWTFfR0FURV0pOw0KLQkJY2xrX3By ZXBhcmVfZW5hYmxlKGNsa3NbSU1YNlVMX0NMS19VU0JQSFkyX0dBVEVdKTsNCisJCWNsa19wcmVw YXJlX2VuYWJsZShod3NbSU1YNlVMX0NMS19VU0JQSFkxX0dBVEVdLT5jbGspOw0KKwkJY2xrX3By ZXBhcmVfZW5hYmxlKGh3c1tJTVg2VUxfQ0xLX1VTQlBIWTJfR0FURV0tPmNsayk7DQogCX0NCiAN Ci0JY2xrX3NldF9wYXJlbnQoY2xrc1tJTVg2VUxfQ0xLX0NBTl9TRUxdLCBjbGtzW0lNWDZVTF9D TEtfUExMM182ME1dKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZVTF9DTEtfQ0FOX1NFTF0t PmNsaywgaHdzW0lNWDZVTF9DTEtfUExMM182ME1dLT5jbGspOw0KIAlpZiAoY2xrX29uX2lteDZ1 bCgpKQ0KLQkJY2xrX3NldF9wYXJlbnQoY2xrc1tJTVg2VUxfQ0xLX1NJTV9QUkVfU0VMXSwgY2xr c1tJTVg2VUxfQ0xLX1BMTDNfVVNCX09UR10pOw0KKwkJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZV TF9DTEtfU0lNX1BSRV9TRUxdLT5jbGssIGh3c1tJTVg2VUxfQ0xLX1BMTDNfVVNCX09UR10tPmNs ayk7DQogCWVsc2UgaWYgKGNsa19vbl9pbXg2dWxsKCkpDQotCQljbGtfc2V0X3BhcmVudChjbGtz W0lNWDZVTExfQ0xLX0VQRENfUFJFX1NFTF0sIGNsa3NbSU1YNlVMX0NMS19QTEwzX1BGRDJdKTsN CisJCWNsa19zZXRfcGFyZW50KGh3c1tJTVg2VUxMX0NMS19FUERDX1BSRV9TRUxdLT5jbGssIGh3 c1tJTVg2VUxfQ0xLX1BMTDNfUEZEMl0tPmNsayk7DQogDQotCWNsa19zZXRfcGFyZW50KGNsa3Nb SU1YNlVMX0NMS19FTkZDX1NFTF0sIGNsa3NbSU1YNlVMX0NMS19QTEwyX1BGRDJdKTsNCisJY2xr X3NldF9wYXJlbnQoaHdzW0lNWDZVTF9DTEtfRU5GQ19TRUxdLT5jbGssIGh3c1tJTVg2VUxfQ0xL X1BMTDJfUEZEMl0tPmNsayk7DQogfQ0KIA0KIENMS19PRl9ERUNMQVJFKGlteDZ1bCwgImZzbCxp bXg2dWwtY2NtIiwgaW14NnVsX2Nsb2Nrc19pbml0KTsNCi0tIA0KMi43LjQNCg0K