Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp2079337pxa; Sun, 16 Aug 2020 23:11:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzjABJBHlrIAUvtGLvW0Gbu2dsW3Iwe6WZOLQchPCxmuol56SdC3bA3kl0gqiXO+R3uu7wX X-Received: by 2002:a17:906:7b83:: with SMTP id s3mr13501921ejo.2.1597644709667; Sun, 16 Aug 2020 23:11:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597644709; cv=none; d=google.com; s=arc-20160816; b=XddOC+2z2J5jMIUBW9Z9oioE6bbhL+fM3UOsSfjdCExSZB9epxdbZPT7ae3/HljaKP DviCBr+RL54qkbmgq0Yc8HoMKy3xFBRInsWiMmg/C4jGNenKzMyLb9NNtXukjftv3RQ6 8KOd3rfBsALBijk31njVdsYo4nNFhk9n5iwxrgJ2D7gA3Sh7d8kNm6TINriS7bOeljhF 7JgNWw0+o79kZzeUbt/Bt41xj5HYdh9bHU0in2i+vWIw307MmiE4TFt1aD0+BZT4sZpL 7ntv7QNuSxHF5CHE6yfmyI/+v8ilaaMrnRofgrzSVq0iYjaZBxx17Wed5vURDuHnRULG 8gpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=8yF/PIbeUSRYYfVKF5KvH6O4MCAKrVfzbr5Pnkcvh9c=; b=gYzfeqzvSMRsKFMYerrbJw04F0Dhh8IEA1QRWKbefvQQPm2d498KlAdxirweVu+7EP pDFAkkjDKnwxSx6PvWO6OlyMuTB1xPXXzZZXc9eghUIBMVBfEwf3ZKsx0NOn5ZeMULzS GspH8j5KgwfauykVgnoeoFAZ8NUjL9QWQ6hXxML4kV9Kg9oovmlBAW+8LP2S1j4dvHjm XCOc6AP/TX/V43YcI6VWK1Dnk1zwt+2maZoL1cR/SQNCIq0igtGg2Hee+TeCUpVTRevb MI4m97ymzbo1goMeBMVU5OoVq4HneMe5TovDWKiFvm6EtSZ+5ZKfKiWPUaqfs0FOkRSJ UJaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=LTiR4Jw6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id se13si10178741ejb.718.2020.08.16.23.11.24; Sun, 16 Aug 2020 23:11:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=LTiR4Jw6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726624AbgHQGJe (ORCPT + 99 others); Mon, 17 Aug 2020 02:09:34 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:4609 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726381AbgHQGJ1 (ORCPT ); Mon, 17 Aug 2020 02:09:27 -0400 X-UUID: 0fb9db6b890643f6816554f3aebb8e74-20200817 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=8yF/PIbeUSRYYfVKF5KvH6O4MCAKrVfzbr5Pnkcvh9c=; b=LTiR4Jw69yNcd6GFdRchNNytfCSk9qFsxX2/liFk/Q4YWw1fqAZlSud533DMzzmiMSjDj1DXdT+1Laql+GVqPvxtSi/q+KZWcz68GXJONTcEGFp8mXr6BIiFkNw7NM6aV+0YnPNsuLNwo8cn5T1Q2A/agCx2qInHdldK7qjkrx8=; X-UUID: 0fb9db6b890643f6816554f3aebb8e74-20200817 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 479496863; Mon, 17 Aug 2020 14:08:43 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 17 Aug 2020 14:08:40 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 17 Aug 2020 14:08:41 +0800 From: Jiaxin Yu To: , , , , CC: , , , , , , , , Jiaxin Yu Subject: [PATCH v5 1/2] ASoC: mediatek: mt6359: add codec driver Date: Mon, 17 Aug 2020 14:07:34 +0800 Message-ID: <1597644455-8216-2-git-send-email-jiaxin.yu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1597644455-8216-1-git-send-email-jiaxin.yu@mediatek.com> References: <1597644455-8216-1-git-send-email-jiaxin.yu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIHRoZSBtdDYzNTkgY29kZWMgZHJpdmVyLg0KDQpTaWduZWQtb2ZmLWJ5OiBKaWF4aW4gWXUg PGppYXhpbi55dUBtZWRpYXRlay5jb20+DQotLS0NCiBzb3VuZC9zb2MvY29kZWNzL0tjb25maWcg IHwgICAgOCArDQogc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZSB8ICAgIDIgKw0KIHNvdW5kL3Nv Yy9jb2RlY3MvbXQ2MzU5LmMgfCAyNzUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKw0KIHNvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5LmggfCAyNjQwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiA0IGZpbGVzIGNoYW5nZWQsIDU0 MDMgaW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBzb3VuZC9zb2MvY29kZWNzL210 NjM1OS5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5LmgNCg0K ZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZyBiL3NvdW5kL3NvYy9jb2RlY3Mv S2NvbmZpZw0KaW5kZXggOTQ2YTcwMi4uZTZjNzFjYSAxMDA2NDQNCi0tLSBhL3NvdW5kL3NvYy9j b2RlY3MvS2NvbmZpZw0KKysrIGIvc291bmQvc29jL2NvZGVjcy9LY29uZmlnDQpAQCAtMTI3LDYg KzEyNyw3IEBAIGNvbmZpZyBTTkRfU09DX0FMTF9DT0RFQ1MNCiAJaW1wbHkgU05EX1NPQ19NTDI2 MTI0DQogCWltcGx5IFNORF9TT0NfTVQ2MzUxDQogCWltcGx5IFNORF9TT0NfTVQ2MzU4DQorCWlt cGx5IFNORF9TT0NfTVQ2MzU5DQogCWltcGx5IFNORF9TT0NfTVQ2NjYwDQogCWltcGx5IFNORF9T T0NfTkFVODU0MA0KIAlpbXBseSBTTkRfU09DX05BVTg4MTANCkBAIC0xNzI0LDYgKzE3MjUsMTMg QEAgY29uZmlnIFNORF9TT0NfTVQ2MzU4DQogCSAgRW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBwbGF0 Zm9ybSB3aGljaCB1c2VzIE1UNjM1OCBhcw0KIAkgIGV4dGVybmFsIGNvZGVjIGRldmljZS4NCiAN Citjb25maWcgU05EX1NPQ19NVDYzNTkNCisJdHJpc3RhdGUgIk1lZGlhVGVrIE1UNjM1OSBDb2Rl YyINCisJZGVwZW5kcyBvbiBNVEtfUE1JQ19XUkFQDQorCWhlbHANCisJICBFbmFibGUgc3VwcG9y dCBmb3IgdGhlIHBsYXRmb3JtIHdoaWNoIHVzZXMgTVQ2MzU5IGFzDQorCSAgZXh0ZXJuYWwgY29k ZWMgZGV2aWNlLg0KKw0KIGNvbmZpZyBTTkRfU09DX01UNjY2MA0KIAl0cmlzdGF0ZSAiTWVkaWF0 ZWsgTVQ2NjYwIFNwZWFrZXIgQW1wbGlmaWVyIg0KIAlkZXBlbmRzIG9uIEkyQw0KZGlmZiAtLWdp dCBhL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxl DQppbmRleCAwMTQwYzYwLi45YTNmNThjIDEwMDY0NA0KLS0tIGEvc291bmQvc29jL2NvZGVjcy9N YWtlZmlsZQ0KKysrIGIvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZQ0KQEAgLTEyNiw2ICsxMjYs NyBAQCBzbmQtc29jLW1zbTg5MTYtYW5hbG9nLW9ianMgOj0gbXNtODkxNi13Y2QtYW5hbG9nLm8N CiBzbmQtc29jLW1zbTg5MTYtZGlnaXRhbC1vYmpzIDo9IG1zbTg5MTYtd2NkLWRpZ2l0YWwubw0K IHNuZC1zb2MtbXQ2MzUxLW9ianMgOj0gbXQ2MzUxLm8NCiBzbmQtc29jLW10NjM1OC1vYmpzIDo9 IG10NjM1OC5vDQorc25kLXNvYy1tdDYzNTktb2JqcyA6PSBtdDYzNTkubw0KIHNuZC1zb2MtbXQ2 NjYwLW9ianMgOj0gbXQ2NjYwLm8NCiBzbmQtc29jLW5hdTg1NDAtb2JqcyA6PSBuYXU4NTQwLm8N CiBzbmQtc29jLW5hdTg4MTAtb2JqcyA6PSBuYXU4ODEwLm8NCkBAIC00MzEsNiArNDMyLDcgQEAg b2JqLSQoQ09ORklHX1NORF9TT0NfTVNNODkxNl9XQ0RfQU5BTE9HKSArPXNuZC1zb2MtbXNtODkx Ni1hbmFsb2cubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01TTTg5MTZfV0NEX0RJR0lUQUwpICs9 c25kLXNvYy1tc204OTE2LWRpZ2l0YWwubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01UNjM1MSkJ Kz0gc25kLXNvYy1tdDYzNTEubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01UNjM1OCkJKz0gc25k LXNvYy1tdDYzNTgubw0KK29iai0kKENPTkZJR19TTkRfU09DX01UNjM1OSkJKz0gc25kLXNvYy1t dDYzNTkubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01UNjY2MCkJKz0gc25kLXNvYy1tdDY2NjAu bw0KIG9iai0kKENPTkZJR19TTkRfU09DX05BVTg1NDApICAgKz0gc25kLXNvYy1uYXU4NTQwLm8N CiBvYmotJChDT05GSUdfU05EX1NPQ19OQVU4ODEwKSAgICs9IHNuZC1zb2MtbmF1ODgxMC5vDQpk aWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9tdDYzNTkuYyBiL3NvdW5kL3NvYy9jb2RlY3Mv bXQ2MzU5LmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi43MmYwNTMzDQot LS0gL2Rldi9udWxsDQorKysgYi9zb3VuZC9zb2MvY29kZWNzL210NjM1OS5jDQpAQCAtMCwwICsx LDI3NTMgQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KKy8vDQorLy8g bXQ2MzU5LmMgIC0tICBtdDYzNTkgQUxTQSBTb0MgYXVkaW8gY29kZWMgZHJpdmVyDQorLy8NCisv LyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogS2FpQ2hpZWgg Q2h1YW5nIDxrYWljaGllaC5jaHVhbmdAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51 eC9kZWxheS5oPg0KKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+DQorI2luY2x1ZGUgPGxpbnV4 L21mZC9tdDYzOTcvY29yZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCisjaW5jbHVk ZSA8bGludXgvb2ZfZGV2aWNlLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5o Pg0KKyNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29uc3VtZXIuaD4NCisjaW5jbHVkZSA8bGlu dXgvc2NoZWQuaD4NCisjaW5jbHVkZSA8c291bmQvc29jLmg+DQorI2luY2x1ZGUgPHNvdW5kL3Rs di5oPg0KKw0KKyNpbmNsdWRlICJtdDYzNTkuaCINCisNCitzdGF0aWMgdm9pZCBtdDYzNTlfc2V0 X3BsYXliYWNrX2dwaW8oc3RydWN0IG10NjM1OV9wcml2ICpwcml2KQ0KK3sNCisJLyogc2V0IGdw aW8gbW9zaSBtb2RlLCBjbGsgLyBkYXRhIG1vc2kgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJl Z21hcCwgTVQ2MzU5X0dQSU9fTU9ERTJfQ0xSLCAweDBmZmUpOw0KKwlyZWdtYXBfd3JpdGUocHJp di0+cmVnbWFwLCBNVDYzNTlfR1BJT19NT0RFMl9TRVQsIDB4MDI0OSk7DQorDQorCS8qIHN5bmMg bW9zaSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19NT0RFM19D TFIsIDB4Nik7DQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9HUElPX01PREUz X1NFVCwgMHgxKTsNCit9DQorDQorc3RhdGljIHZvaWQgbXQ2MzU5X3Jlc2V0X3BsYXliYWNrX2dw aW8oc3RydWN0IG10NjM1OV9wcml2ICpwcml2KQ0KK3sNCisJLyogc2V0IHBhZF9hdWRfKl9tb3Np IHRvIEdQSU8gbW9kZSBhbmQgZGlyIGlucHV0DQorCSAqIHJlYXNvbjoNCisJICogcGFkX2F1ZF9k YXRfbW9zaSosIGJlY2F1c2UgdGhlIHBpbiBpcyB1c2VkIGFzIGJvb3Qgc3RyYXANCisJICogZG9u J3QgY2xlYW4gY2xrL3N5bmMsIGZvciBtdGthaWYgcHJvdG9jb2wgMg0KKwkgKi8NCisJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9ERTJfQ0xSLCAweDBmZjgpOw0KKwly ZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19ESVIwLCAweDcgPDwg OSwgMHgwKTsNCit9DQorDQorc3RhdGljIHZvaWQgbXQ2MzU5X3NldF9jYXB0dXJlX2dwaW8oc3Ry dWN0IG10NjM1OV9wcml2ICpwcml2KQ0KK3sNCisJLyogc2V0IGdwaW8gbWlzbyBtb2RlICovDQor CXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9HUElPX01PREUzX0NMUiwgMHgwZTAw KTsNCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9ERTNfU0VULCAw eDAyMDApOw0KKw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19NT0RF NF9DTFIsIDB4MDAzZik7DQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9HUElP X01PREU0X1NFVCwgMHgwMDA5KTsNCit9DQorDQorc3RhdGljIHZvaWQgbXQ2MzU5X3Jlc2V0X2Nh cHR1cmVfZ3BpbyhzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwkvKiBzZXQgcGFkX2F1 ZF8qX21pc28gdG8gR1BJTyBtb2RlIGFuZCBkaXIgaW5wdXQNCisJICogcmVhc29uOg0KKwkgKiBw YWRfYXVkX2Nsa19taXNvLCBiZWNhdXNlIHdoZW4gcGxheWJhY2sgb25seSB0aGUgbWlzb19jbGsN CisJICogd2lsbCBhbHNvIGhhdmUgMjZtLCBzbyB3aWxsIGhhdmUgcG93ZXIgbGVhaw0KKwkgKiBw YWRfYXVkX2RhdF9taXNvKiwgYmVjYXVzZSB0aGUgcGluIGlzIHVzZWQgYXMgYm9vdCBzdHJhcA0K KwkgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9ERTNfQ0xS LCAweDBlMDApOw0KKw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19N T0RFNF9DTFIsIDB4MDAzZik7DQorDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAs IE1UNjM1OV9HUElPX0RJUjAsDQorCQkJICAgMHg3IDw8IDEzLCAweDApOw0KKwlyZWdtYXBfdXBk YXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19ESVIxLA0KKwkJCSAgIDB4MyA8PCAw LCAweDApOw0KK30NCisNCitzdGF0aWMgdm9pZCBtdDYzNTlfc2V0X2RlY29kZXJfY2xrKHN0cnVj dCBtdDYzNTlfcHJpdiAqcHJpdiwgYm9vbCBlbmFibGUpDQorew0KKwlyZWdtYXBfdXBkYXRlX2Jp dHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMywNCisJCQkgICBSR19SU1RC X0RFQ09ERVJfVkEzMl9NQVNLX1NGVCwNCisJCQkgICAoZW5hYmxlID8gMSA6IDApIDw8IFJHX1JT VEJfREVDT0RFUl9WQTMyX1NGVCk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIG10NjM1OV9tdGthaWZf dHhfZW5hYmxlKHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdikNCit7DQorCXN3aXRjaCAocHJpdi0+ bXRrYWlmX3Byb3RvY29sKSB7DQorCWNhc2UgTVQ2MzU5X01US0FJRl9QUk9UT0NPTF8yX0NMS19Q MjoNCisJCS8qIE1US0FJRiBUWCBmb3JtYXQgc2V0dGluZyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9i aXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FGRV9BRERBX01US0FJRl9DRkcwLA0K KwkJCQkgICAweGZmZmYsIDB4MDIxMCk7DQorCQkvKiBlbmFibGUgYXVkX3BhZCBUWCBmaWZvcyAq Lw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FG RV9BVURfUEFEX1RPUCwNCisJCQkJICAgMHhmZjAwLCAweDM4MDApOw0KKwkJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUCwNCisJ CQkJICAgMHhmZjAwLCAweDM5MDApOw0KKwkJYnJlYWs7DQorCWNhc2UgTVQ2MzU5X01US0FJRl9Q Uk9UT0NPTF8yOg0KKwkJLyogTVRLQUlGIFRYIGZvcm1hdCBzZXR0aW5nICovDQorCQlyZWdtYXBf dXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkgICBNVDYzNTlfQUZFX0FEREFfTVRLQUlG X0NGRzAsDQorCQkJCSAgIDB4ZmZmZiwgMHgwMjEwKTsNCisJCS8qIGVuYWJsZSBhdWRfcGFkIFRY IGZpZm9zICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkgICBN VDYzNTlfQUZFX0FVRF9QQURfVE9QLA0KKwkJCQkgICAweGZmMDAsIDB4MzEwMCk7DQorCQlicmVh azsNCisJY2FzZSBNVDYzNTlfTVRLQUlGX1BST1RPQ09MXzE6DQorCWRlZmF1bHQ6DQorCQkvKiBN VEtBSUYgVFggZm9ybWF0IHNldHRpbmcgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5y ZWdtYXAsDQorCQkJCSAgIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfQ0ZHMCwNCisJCQkJICAgMHhm ZmZmLCAweDAwMDApOw0KKwkJLyogZW5hYmxlIGF1ZF9wYWQgVFggZmlmb3MgKi8NCisJCXJlZ21h cF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCSAgIE1UNjM1OV9BRkVfQVVEX1BBRF9U T1AsDQorCQkJCSAgIDB4ZmYwMCwgMHgzMTAwKTsNCisJCWJyZWFrOw0KKwl9DQorfQ0KKw0KK3N0 YXRpYyB2b2lkIG10NjM1OV9tdGthaWZfdHhfZGlzYWJsZShzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXYpDQorew0KKwkvKiBkaXNhYmxlIGF1ZF9wYWQgVFggZmlmb3MgKi8NCisJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUCwNCisJCQkgICAweGZm MDAsIDB4MzAwMCk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIHpjZF9kaXNhYmxlKHN0cnVjdCBtdDYz NTlfcHJpdiAqcHJpdikNCit7DQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9a Q0RfQ09OMCwgMHgwMDAwKTsNCit9DQorDQorc3RhdGljIHZvaWQgaHBfbWFpbl9vdXRwdXRfcmFt cChzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsIGJvb2wgdXApDQorew0KKwlpbnQgaSA9IDAsIHN0 YWdlID0gMDsNCisJaW50IHRhcmdldCA9IDc7DQorDQorCS8qIEVuYWJsZS9SZWR1Y2UgSFBML1Ig bWFpbiBvdXRwdXQgc3RhZ2Ugc3RlcCBieSBzdGVwICovDQorCWZvciAoaSA9IDA7IGkgPD0gdGFy Z2V0OyBpKyspIHsNCisJCXN0YWdlID0gdXAgPyBpIDogdGFyZ2V0IC0gaTsNCisJCXJlZ21hcF91 cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsDQorCQkJCSAg IFJHX0hQTE9VVFNUR0NUUkxfVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkJICAgc3RhZ2UgPDwgUkdf SFBMT1VUU1RHQ1RSTF9WQVVEUDMyX1NGVCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLA0KKwkJCQkgICBSR19IUFJPVVRTVEdDVFJM X1ZBVURQMzJfTUFTS19TRlQsDQorCQkJCSAgIHN0YWdlIDw8IFJHX0hQUk9VVFNUR0NUUkxfVkFV RFAzMl9TRlQpOw0KKwkJdXNsZWVwX3JhbmdlKDYwMCwgNjUwKTsNCisJfQ0KK30NCisNCitzdGF0 aWMgdm9pZCBocF9hdXhfZmVlZGJhY2tfbG9vcF9nYWluX3JhbXAoc3RydWN0IG10NjM1OV9wcml2 ICpwcml2LCBib29sIHVwKQ0KK3sNCisJaW50IGkgPSAwLCBzdGFnZSA9IDA7DQorCWludCB0YXJn ZXQgPSAweGY7DQorDQorCS8qIEVuYWJsZS9SZWR1Y2UgSFAgYXV4IGZlZWRiYWNrIGxvb3AgZ2Fp biBzdGVwIGJ5IHN0ZXAgKi8NCisJZm9yIChpID0gMDsgaSA8PSB0YXJnZXQ7IGkrKykgew0KKwkJ c3RhZ2UgPSB1cCA/IGkgOiB0YXJnZXQgLSBpOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwNCisJCQkJICAgMHhmIDw8IDEyLCBzdGFn ZSA8PCAxMik7DQorCQl1c2xlZXBfcmFuZ2UoNjAwLCA2NTApOw0KKwl9DQorfQ0KKw0KK3N0YXRp YyB2b2lkIGhwX2luX3BhaXJfY3VycmVudChzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsIGJvb2wg aW5jcmVhc2UpDQorew0KKwlpbnQgaSA9IDAsIHN0YWdlID0gMDsNCisJaW50IHRhcmdldCA9IDB4 MzsNCisNCisJLyogU2V0IGlucHV0IGRpZmYgcGFpciBiaWFzIHNlbGVjdCAoSGktRmkgbW9kZSkg Ki8NCisJaWYgKHByaXYtPmhwX2hpZmlfbW9kZSkgew0KKwkJLyogUmVkdWNlIEhQIGF1eCBmZWVk YmFjayBsb29wIGdhaW4gc3RlcCBieSBzdGVwICovDQorCQlmb3IgKGkgPSAwOyBpIDw9IHRhcmdl dDsgaSsrKSB7DQorCQkJc3RhZ2UgPSBpbmNyZWFzZSA/IGkgOiB0YXJnZXQgLSBpOw0KKwkJCXJl Z21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCQkgICBNVDYzNTlfQVVEREVDX0FO QV9DT04xMCwNCisJCQkJCSAgIDB4MyA8PCAzLCBzdGFnZSA8PCAzKTsNCisJCQl1c2xlZXBfcmFu Z2UoMTAwLCAxNTApOw0KKwkJfQ0KKwl9DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGhwX3B1bGxfZG93 bihzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsIGJvb2wgZW5hYmxlKQ0KK3sNCisJaW50IGk7DQor DQorCWlmIChlbmFibGUpIHsNCisJCWZvciAoaSA9IDB4MDsgaSA8PSAweDc7IGkrKykgew0KKwkJ CXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjIs DQorCQkJCQkgICBSR19IUFBTSE9SVDJWQ01fVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkJCSAgIGkg PDwgUkdfSFBQU0hPUlQyVkNNX1ZBVURQMzJfU0ZUKTsNCisJCQl1c2xlZXBfcmFuZ2UoMTAwLCAx NTApOw0KKwkJfQ0KKwl9IGVsc2Ugew0KKwkJZm9yIChpID0gMHg3OyBpID49IDB4MDsgaS0tKSB7 DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFf Q09OMiwNCisJCQkJCSAgIFJHX0hQUFNIT1JUMlZDTV9WQVVEUDMyX01BU0tfU0ZULA0KKwkJCQkJ ICAgaSA8PCBSR19IUFBTSE9SVDJWQ01fVkFVRFAzMl9TRlQpOw0KKwkJCXVzbGVlcF9yYW5nZSgx MDAsIDE1MCk7DQorCQl9DQorCX0NCit9DQorDQorc3RhdGljIGJvb2wgaXNfdmFsaWRfaHBfcGdh X2lkeChpbnQgcmVnX2lkeCkNCit7DQorCXJldHVybiAocmVnX2lkeCA+PSBETF9HQUlOXzhEQiAm JiByZWdfaWR4IDw9IERMX0dBSU5fTl8yMkRCKSB8fA0KKwkgICAgICAgcmVnX2lkeCA9PSBETF9H QUlOX05fNDBEQjsNCit9DQorDQorc3RhdGljIHZvaWQgaGVhZHNldF92b2x1bWVfcmFtcChzdHJ1 Y3QgbXQ2MzU5X3ByaXYgKnByaXYsDQorCQkJCWludCBmcm9tLCBpbnQgdG8pDQorew0KKwlpbnQg b2Zmc2V0ID0gMCwgY291bnQgPSAxLCByZWdfaWR4Ow0KKw0KKwlpZiAoIWlzX3ZhbGlkX2hwX3Bn YV9pZHgoZnJvbSkgfHwgIWlzX3ZhbGlkX2hwX3BnYV9pZHgodG8pKSB7DQorCQlkZXZfd2Fybihw cml2LT5kZXYsICIlcygpLCB2b2x1bWUgaW5kZXggaXMgbm90IHZhbGlkLCBmcm9tICVkLCB0byAl ZFxuIiwNCisJCQkgX19mdW5jX18sIGZyb20sIHRvKTsNCisJCXJldHVybjsNCisJfQ0KKw0KKwlk ZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGZyb20gJWQsIHRvICVkXG4iLCBfX2Z1bmNfXywgZnJv bSwgdG8pOw0KKw0KKwlpZiAodG8gPiBmcm9tKQ0KKwkJb2Zmc2V0ID0gdG8gLSBmcm9tOw0KKwll bHNlDQorCQlvZmZzZXQgPSBmcm9tIC0gdG87DQorDQorCXdoaWxlIChvZmZzZXQgPiAwKSB7DQor CQlpZiAodG8gPiBmcm9tKQ0KKwkJCXJlZ19pZHggPSBmcm9tICsgY291bnQ7DQorCQllbHNlDQor CQkJcmVnX2lkeCA9IGZyb20gLSBjb3VudDsNCisNCisJCWlmIChpc192YWxpZF9ocF9wZ2FfaWR4 KHJlZ19pZHgpKSB7DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJ CSAgIE1UNjM1OV9aQ0RfQ09OMiwNCisJCQkJCSAgIERMX0dBSU5fUkVHX01BU0ssDQorCQkJCQkg ICAocmVnX2lkeCA8PCA3KSB8IHJlZ19pZHgpOw0KKwkJCXVzbGVlcF9yYW5nZSg2MDAsIDY1MCk7 DQorCQl9DQorCQlvZmZzZXQtLTsNCisJCWNvdW50Kys7DQorCX0NCit9DQorDQorc3RhdGljIGlu dCBtdDYzNTlfcHV0X3ZvbHN3KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAg ICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkNCit7DQorCXN0cnVjdCBzbmRf c29jX2NvbXBvbmVudCAqY29tcG9uZW50ID0NCisJCQlzbmRfc29jX2tjb250cm9sX2NvbXBvbmVu dChrY29udHJvbCk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9u ZW50X2dldF9kcnZkYXRhKGNvbXBvbmVudCk7DQorCXN0cnVjdCBzb2NfbWl4ZXJfY29udHJvbCAq bWMgPQ0KKwkJCShzdHJ1Y3Qgc29jX21peGVyX2NvbnRyb2wgKilrY29udHJvbC0+cHJpdmF0ZV92 YWx1ZTsNCisJdW5zaWduZWQgaW50IHJlZzsNCisJaW50IGluZGV4ID0gdWNvbnRyb2wtPnZhbHVl LmludGVnZXIudmFsdWVbMF07DQorCWludCByZXQ7DQorDQorCXJldCA9IHNuZF9zb2NfcHV0X3Zv bHN3KGtjb250cm9sLCB1Y29udHJvbCk7DQorCWlmIChyZXQgPCAwKQ0KKwkJcmV0dXJuIHJldDsN CisNCisJc3dpdGNoIChtYy0+cmVnKSB7DQorCWNhc2UgTVQ2MzU5X1pDRF9DT04yOg0KKwkJcmVn bWFwX3JlYWQocHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjIsICZyZWcpOw0KKwkJcHJpdi0+ YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9IUE9VVExdID0NCisJCQkocmVnID4+IFJHX0FV REhQTEdBSU5fU0ZUKSAmIFJHX0FVREhQTEdBSU5fTUFTSzsNCisJCXByaXYtPmFuYV9nYWluW0FV RElPX0FOQUxPR19WT0xVTUVfSFBPVVRSXSA9DQorCQkJKHJlZyA+PiBSR19BVURIUFJHQUlOX1NG VCkgJiBSR19BVURIUFJHQUlOX01BU0s7DQorCQlicmVhazsNCisJY2FzZSBNVDYzNTlfWkNEX0NP TjE6DQorCQlyZWdtYXBfcmVhZChwcml2LT5yZWdtYXAsIE1UNjM1OV9aQ0RfQ09OMSwgJnJlZyk7 DQorCQlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0xJTkVPVVRMXSA9DQorCQkJ KHJlZyA+PiBSR19BVURMT0xHQUlOX1NGVCkgJiBSR19BVURMT0xHQUlOX01BU0s7DQorCQlwcml2 LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0xJTkVPVVRSXSA9DQorCQkJKHJlZyA+PiBS R19BVURMT1JHQUlOX1NGVCkgJiBSR19BVURMT1JHQUlOX01BU0s7DQorCQlicmVhazsNCisJY2Fz ZSBNVDYzNTlfWkNEX0NPTjM6DQorCQlyZWdtYXBfcmVhZChwcml2LT5yZWdtYXAsIE1UNjM1OV9a Q0RfQ09OMywgJnJlZyk7DQorCQlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0hT T1VUTF0gPQ0KKwkJCShyZWcgPj4gUkdfQVVESFNHQUlOX1NGVCkgJiBSR19BVURIU0dBSU5fTUFT SzsNCisJCWJyZWFrOw0KKwljYXNlIE1UNjM1OV9BVURFTkNfQU5BX0NPTjA6DQorCQlyZWdtYXBf cmVhZChwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsICZyZWcpOw0KKwkJcHJp di0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAxXSA9DQorCQkJKHJlZyA+PiBS R19BVURQUkVBTVBMR0FJTl9TRlQpICYgUkdfQVVEUFJFQU1QTEdBSU5fTUFTSzsNCisJCWJyZWFr Ow0KKwljYXNlIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE6DQorCQlyZWdtYXBfcmVhZChwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsICZyZWcpOw0KKwkJcHJpdi0+YW5hX2dhaW5b QVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAyXSA9DQorCQkJKHJlZyA+PiBSR19BVURQUkVBTVBS R0FJTl9TRlQpICYgUkdfQVVEUFJFQU1QUkdBSU5fTUFTSzsNCisJCWJyZWFrOw0KKwljYXNlIE1U NjM1OV9BVURFTkNfQU5BX0NPTjI6DQorCQlyZWdtYXBfcmVhZChwcml2LT5yZWdtYXAsIE1UNjM1 OV9BVURFTkNfQU5BX0NPTjIsICZyZWcpOw0KKwkJcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9H X1ZPTFVNRV9NSUNBTVAzXSA9DQorCQkJKHJlZyA+PiBSR19BVURQUkVBTVAzR0FJTl9TRlQpICYg UkdfQVVEUFJFQU1QM0dBSU5fTUFTSzsNCisJCWJyZWFrOw0KKwl9DQorDQorCWRldl9kYmcocHJp di0+ZGV2LCAiJXMoKSwgbmFtZSAlcywgcmVnKDB4JXgpID0gMHgleCwgc2V0IGluZGV4ID0gJXhc biIsDQorCQlfX2Z1bmNfXywga2NvbnRyb2wtPmlkLm5hbWUsIG1jLT5yZWcsIHJlZywgaW5kZXgp Ow0KKw0KKwlyZXR1cm4gcmV0Ow0KK30NCisNCisvKiBNVVggKi8NCisNCisvKiBMT0wgTVVYICov DQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBsb19pbl9tdXhfbWFwW10gPSB7DQorCSJPcGVu IiwgIlBsYXliYWNrX0xfREFDIiwgIlBsYXliYWNrIiwgIlRlc3QgTW9kZSINCit9Ow0KKw0KK3N0 YXRpYyBTT0NfRU5VTV9TSU5HTEVfREVDTChsb19pbl9tdXhfbWFwX2VudW0sIFNORF9TT0NfTk9Q TSwgMCwgbG9faW5fbXV4X21hcCk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRy b2xfbmV3IGxvX2luX211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiTE8gU2VsZWN0Iiwg bG9faW5fbXV4X21hcF9lbnVtKTsNCisNCisvKkhQIE1VWCAqLw0KK3N0YXRpYyBjb25zdCBjaGFy ICogY29uc3QgaHBfaW5fbXV4X21hcFtdID0gew0KKwkiT3BlbiIsDQorCSJMb3VkU1BLIFBsYXli YWNrIiwNCisJIkF1ZGlvIFBsYXliYWNrIiwNCisJIlRlc3QgTW9kZSIsDQorCSJIUCBJbXBlZGFu Y2UiLA0KK307DQorDQorc3RhdGljIFNPQ19FTlVNX1NJTkdMRV9ERUNMKGhwX2luX211eF9tYXBf ZW51bSwNCisJCQkJICBTTkRfU09DX05PUE0sDQorCQkJCSAgMCwNCisJCQkJICBocF9pbl9tdXhf bWFwKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgaHBfaW5fbXV4 X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJIUCBTZWxlY3QiLCBocF9pbl9tdXhfbWFwX2Vu dW0pOw0KKw0KKy8qIFJDViBNVVggKi8NCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHJjdl9p bl9tdXhfbWFwW10gPSB7DQorCSJPcGVuIiwgIk11dGUiLCAiVm9pY2UgUGxheWJhY2siLCAiVGVz dCBNb2RlIg0KK307DQorDQorc3RhdGljIFNPQ19FTlVNX1NJTkdMRV9ERUNMKHJjdl9pbl9tdXhf bWFwX2VudW0sDQorCQkJCSAgU05EX1NPQ19OT1BNLA0KKwkJCQkgIDAsDQorCQkJCSAgcmN2X2lu X211eF9tYXApOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyByY3Zf aW5fbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJSQ1YgU2VsZWN0IiwgcmN2X2luX211 eF9tYXBfZW51bSk7DQorDQorLyogREFDIEluIE1VWCAqLw0KK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3QgZGFjX2luX211eF9tYXBbXSA9IHsNCisJIk5vcm1hbCBQYXRoIiwgIlNnZW4iDQorfTsN CisNCitzdGF0aWMgaW50IGRhY19pbl9tdXhfbWFwX3ZhbHVlW10gPSB7DQorCTB4MCwgMHgxLA0K K307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKGRhY19pbl9tdXhfbWFw X2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9UT1BfQ09OMCwNCisJCQkJICBETF9TSU5FX09OX1NG VCwNCisJCQkJICBETF9TSU5FX09OX01BU0ssDQorCQkJCSAgZGFjX2luX211eF9tYXAsDQorCQkJ CSAgZGFjX2luX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tj b250cm9sX25ldyBkYWNfaW5fbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJEQUMgU2Vs ZWN0IiwgZGFjX2luX211eF9tYXBfZW51bSk7DQorDQorLyogQUlGIE91dCBNVVggKi8NCitzdGF0 aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0woYWlmX291dF9tdXhfbWFwX2VudW0sDQorCQkJ CSAgTVQ2MzU5X0FGRV9UT1BfQ09OMCwNCisJCQkJICBVTF9TSU5FX09OX1NGVCwNCisJCQkJICBV TF9TSU5FX09OX01BU0ssDQorCQkJCSAgZGFjX2luX211eF9tYXAsDQorCQkJCSAgZGFjX2luX211 eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBh aWZfb3V0X211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiQUlGIE91dCBTZWxlY3QiLCBh aWZfb3V0X211eF9tYXBfZW51bSk7DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9E RUNMKGFpZjJfb3V0X211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQUZFX1RPUF9DT04wLA0K KwkJCQkgIEFEREE2X1VMX1NJTkVfT05fU0ZULA0KKwkJCQkgIEFEREE2X1VMX1NJTkVfT05fTUFT SywNCisJCQkJICBkYWNfaW5fbXV4X21hcCwNCisJCQkJICBkYWNfaW5fbXV4X21hcF92YWx1ZSk7 DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFpZjJfb3V0X211eF9j b250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiQUlGIE91dCBTZWxlY3QiLCBhaWYyX291dF9tdXhf bWFwX2VudW0pOw0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdWxfc3JjX211eF9tYXBb XSA9IHsNCisJIkFNSUMiLA0KKwkiRE1JQyIsDQorfTsNCisNCitzdGF0aWMgaW50IHVsX3NyY19t dXhfbWFwX3ZhbHVlW10gPSB7DQorCVVMX1NSQ19NVVhfQU1JQywNCisJVUxfU1JDX01VWF9ETUlD LA0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKHVsX3NyY19tdXhf bWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9VTF9TUkNfQ09OMF9MLA0KKwkJCQkgIFVMX1NE TV8zX0xFVkVMX0NUTF9TRlQsDQorCQkJCSAgVUxfU0RNXzNfTEVWRUxfQ1RMX01BU0ssDQorCQkJ CSAgdWxfc3JjX211eF9tYXAsDQorCQkJCSAgdWxfc3JjX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB1bF9zcmNfbXV4X2NvbnRyb2wgPQ0K KwlTT0NfREFQTV9FTlVNKCJVTF9TUkNfTVVYIFNlbGVjdCIsIHVsX3NyY19tdXhfbWFwX2VudW0p Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTCh1bDJfc3JjX211eF9tYXBf ZW51bSwNCisJCQkJICBNVDYzNTlfQUZFX0FEREE2X1VMX1NSQ19DT04wX0wsDQorCQkJCSAgQURE QTZfVUxfU0RNXzNfTEVWRUxfQ1RMX1NGVCwNCisJCQkJICBBRERBNl9VTF9TRE1fM19MRVZFTF9D VExfTUFTSywNCisJCQkJICB1bF9zcmNfbXV4X21hcCwNCisJCQkJICB1bF9zcmNfbXV4X21hcF92 YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHVsMl9zcmNf bXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJVTF9TUkNfTVVYIFNlbGVjdCIsIHVsMl9z cmNfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1pc29fbXV4 X21hcFtdID0gew0KKwkiVUwxX0NIMSIsDQorCSJVTDFfQ0gyIiwNCisJIlVMMl9DSDEiLA0KKwki VUwyX0NIMiIsDQorfTsNCisNCitzdGF0aWMgaW50IG1pc29fbXV4X21hcF92YWx1ZVtdID0gew0K KwlNSVNPX01VWF9VTDFfQ0gxLA0KKwlNSVNPX01VWF9VTDFfQ0gyLA0KKwlNSVNPX01VWF9VTDJf Q0gxLA0KKwlNSVNPX01VWF9VTDJfQ0gyLA0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVN X1NJTkdMRV9ERUNMKG1pc28wX211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQUZFX01US0FJ Rl9NVVhfQ0ZHLA0KKwkJCQkgIFJHX0FEREFfQ0gxX1NFTF9TRlQsDQorCQkJCSAgUkdfQUREQV9D SDFfU0VMX01BU0ssDQorCQkJCSAgbWlzb19tdXhfbWFwLA0KKwkJCQkgIG1pc29fbXV4X21hcF92 YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IG1pc28wX211 eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiTUlTT19NVVggU2VsZWN0IiwgbWlzbzBfbXV4 X21hcF9lbnVtKTsNCisNCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0wobWlzbzFf bXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BRkVfTVRLQUlGX01VWF9DRkcsDQorCQkJCSAg UkdfQUREQV9DSDJfU0VMX1NGVCwNCisJCQkJICBSR19BRERBX0NIMl9TRUxfTUFTSywNCisJCQkJ ICBtaXNvX211eF9tYXAsDQorCQkJCSAgbWlzb19tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMg Y29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgbWlzbzFfbXV4X2NvbnRyb2wgPQ0KKwlTT0Nf REFQTV9FTlVNKCJNSVNPX01VWCBTZWxlY3QiLCBtaXNvMV9tdXhfbWFwX2VudW0pOw0KKw0KK3N0 YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChtaXNvMl9tdXhfbWFwX2VudW0sDQorCQkJ CSAgTVQ2MzU5X0FGRV9NVEtBSUZfTVVYX0NGRywNCisJCQkJICBSR19BRERBNl9DSDFfU0VMX1NG VCwNCisJCQkJICBSR19BRERBNl9DSDFfU0VMX01BU0ssDQorCQkJCSAgbWlzb19tdXhfbWFwLA0K KwkJCQkgIG1pc29fbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRf a2NvbnRyb2xfbmV3IG1pc28yX211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiTUlTT19N VVggU2VsZWN0IiwgbWlzbzJfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IGRtaWNfbXV4X21hcFtdID0gew0KKwkiRE1JQ19EQVRBMCIsDQorCSJETUlDX0RBVEEx X0wiLA0KKwkiRE1JQ19EQVRBMV9MXzEiLA0KKwkiRE1JQ19EQVRBMV9SIiwNCit9Ow0KKw0KK3N0 YXRpYyBpbnQgZG1pY19tdXhfbWFwX3ZhbHVlW10gPSB7DQorCURNSUNfTVVYX0RNSUNfREFUQTAs DQorCURNSUNfTVVYX0RNSUNfREFUQTFfTCwNCisJRE1JQ19NVVhfRE1JQ19EQVRBMV9MXzEsDQor CURNSUNfTVVYX0RNSUNfREFUQTFfUiwNCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9T SU5HTEVfREVDTChkbWljMF9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9NSUNfQVJS QVlfQ0ZHLA0KKwkJCQkgIFJHX0RNSUNfQURDMV9TT1VSQ0VfU0VMX1NGVCwNCisJCQkJICBSR19E TUlDX0FEQzFfU09VUkNFX1NFTF9NQVNLLA0KKwkJCQkgIGRtaWNfbXV4X21hcCwNCisJCQkJICBk bWljX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9s X25ldyBkbWljMF9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIkRNSUNfTVVYIFNlbGVj dCIsIGRtaWMwX211eF9tYXBfZW51bSk7DQorDQorLyogdWwxIGNoMiB1c2UgUkdfRE1JQ19BREMz X1NPVVJDRV9TRUwgKi8NCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0woZG1pYzFf bXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BRkVfTUlDX0FSUkFZX0NGRywNCisJCQkJICBS R19ETUlDX0FEQzNfU09VUkNFX1NFTF9TRlQsDQorCQkJCSAgUkdfRE1JQ19BREMzX1NPVVJDRV9T RUxfTUFTSywNCisJCQkJICBkbWljX211eF9tYXAsDQorCQkJCSAgZG1pY19tdXhfbWFwX3ZhbHVl KTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgZG1pYzFfbXV4X2Nv bnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJETUlDX01VWCBTZWxlY3QiLCBkbWljMV9tdXhfbWFw X2VudW0pOw0KKw0KKy8qIHVsMiBjaDEgdXNlIFJHX0RNSUNfQURDMl9TT1VSQ0VfU0VMICovDQor c3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKGRtaWMyX211eF9tYXBfZW51bSwNCisJ CQkJICBNVDYzNTlfQUZFX01JQ19BUlJBWV9DRkcsDQorCQkJCSAgUkdfRE1JQ19BREMyX1NPVVJD RV9TRUxfU0ZULA0KKwkJCQkgIFJHX0RNSUNfQURDMl9TT1VSQ0VfU0VMX01BU0ssDQorCQkJCSAg ZG1pY19tdXhfbWFwLA0KKwkJCQkgIGRtaWNfbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNv bnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGRtaWMyX211eF9jb250cm9sID0NCisJU09DX0RB UE1fRU5VTSgiRE1JQ19NVVggU2VsZWN0IiwgZG1pYzJfbXV4X21hcF9lbnVtKTsNCisNCisvKiBB REMgTCBNVVggKi8NCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFkY19sZWZ0X211eF9tYXBb XSA9IHsNCisJIklkbGUiLCAiQUlOMCIsICJMZWZ0IFByZWFtcGxpZmllciIsICJJZGxlXzEiDQor fTsNCisNCitzdGF0aWMgaW50IGFkY19tdXhfbWFwX3ZhbHVlW10gPSB7DQorCUFEQ19NVVhfSURM RSwNCisJQURDX01VWF9BSU4wLA0KKwlBRENfTVVYX1BSRUFNUExJRklFUiwNCisJQURDX01VWF9J RExFMSwNCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChhZGNfbGVm dF9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkJICBS R19BVURBRENMSU5QVVRTRUxfU0ZULA0KKwkJCQkgIFJHX0FVREFEQ0xJTlBVVFNFTF9NQVNLLA0K KwkJCQkgIGFkY19sZWZ0X211eF9tYXAsDQorCQkJCSAgYWRjX211eF9tYXBfdmFsdWUpOw0KKw0K K3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhZGNfbGVmdF9tdXhfY29udHJv bCA9DQorCVNPQ19EQVBNX0VOVU0oIkFEQyBMIFNlbGVjdCIsIGFkY19sZWZ0X211eF9tYXBfZW51 bSk7DQorDQorLyogQURDIFIgTVVYICovDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhZGNf cmlnaHRfbXV4X21hcFtdID0gew0KKwkiSWRsZSIsICJBSU4wIiwgIlJpZ2h0IFByZWFtcGxpZmll ciIsICJJZGxlXzEiDQorfTsNCisNCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0wo YWRjX3JpZ2h0X211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQVVERU5DX0FOQV9DT04xLA0K KwkJCQkgIFJHX0FVREFEQ1JJTlBVVFNFTF9TRlQsDQorCQkJCSAgUkdfQVVEQURDUklOUFVUU0VM X01BU0ssDQorCQkJCSAgYWRjX3JpZ2h0X211eF9tYXAsDQorCQkJCSAgYWRjX211eF9tYXBfdmFs dWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhZGNfcmlnaHRf bXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJBREMgUiBTZWxlY3QiLCBhZGNfcmlnaHRf bXV4X21hcF9lbnVtKTsNCisNCisvKiBBREMgMyBNVVggKi8NCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IGFkY18zX211eF9tYXBbXSA9IHsNCisJIklkbGUiLCAiQUlOMCIsICJQcmVhbXBsaWZp ZXIiLCAiSWRsZV8xIg0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNM KGFkY18zX211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQVVERU5DX0FOQV9DT04yLA0KKwkJ CQkgIFJHX0FVREFEQzNJTlBVVFNFTF9TRlQsDQorCQkJCSAgUkdfQVVEQURDM0lOUFVUU0VMX01B U0ssDQorCQkJCSAgYWRjXzNfbXV4X21hcCwNCisJCQkJICBhZGNfbXV4X21hcF92YWx1ZSk7DQor DQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFkY18zX211eF9jb250cm9s ID0NCisJU09DX0RBUE1fRU5VTSgiQURDIDMgU2VsZWN0IiwgYWRjXzNfbXV4X21hcF9lbnVtKTsN CisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBnYV9sX211eF9tYXBbXSA9IHsNCisJIk5v bmUiLCAiQUlOMCIsICJBSU4xIg0KK307DQorDQorc3RhdGljIGludCBwZ2FfbF9tdXhfbWFwX3Zh bHVlW10gPSB7DQorCVBHQV9MX01VWF9OT05FLA0KKwlQR0FfTF9NVVhfQUlOMCwNCisJUEdBX0xf TVVYX0FJTjENCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChwZ2Ff bGVmdF9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkJ ICBSR19BVURQUkVBTVBMSU5QVVRTRUxfU0ZULA0KKwkJCQkgIFJHX0FVRFBSRUFNUExJTlBVVFNF TF9NQVNLLA0KKwkJCQkgIHBnYV9sX211eF9tYXAsDQorCQkJCSAgcGdhX2xfbXV4X21hcF92YWx1 ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHBnYV9sZWZ0X211 eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiUEdBIEwgU2VsZWN0IiwgcGdhX2xlZnRfbXV4 X21hcF9lbnVtKTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBnYV9yX211eF9tYXBb XSA9IHsNCisJIk5vbmUiLCAiQUlOMiIsICJBSU4zIiwgIkFJTjAiDQorfTsNCisNCitzdGF0aWMg aW50IHBnYV9yX211eF9tYXBfdmFsdWVbXSA9IHsNCisJUEdBX1JfTVVYX05PTkUsDQorCVBHQV9S X01VWF9BSU4yLA0KKwlQR0FfUl9NVVhfQUlOMywNCisJUEdBX1JfTVVYX0FJTjANCit9Ow0KKw0K K3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChwZ2FfcmlnaHRfbXV4X21hcF9lbnVt LA0KKwkJCQkgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsDQorCQkJCSAgUkdfQVVEUFJFQU1QUklO UFVUU0VMX1NGVCwNCisJCQkJICBSR19BVURQUkVBTVBSSU5QVVRTRUxfTUFTSywNCisJCQkJICBw Z2Ffcl9tdXhfbWFwLA0KKwkJCQkgIHBnYV9yX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBwZ2FfcmlnaHRfbXV4X2NvbnRyb2wgPQ0KKwlT T0NfREFQTV9FTlVNKCJQR0EgUiBTZWxlY3QiLCBwZ2FfcmlnaHRfbXV4X21hcF9lbnVtKTsNCisN CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBnYV8zX211eF9tYXBbXSA9IHsNCisJIk5vbmUi LCAiQUlOMyIsICJBSU4yIg0KK307DQorDQorc3RhdGljIGludCBwZ2FfM19tdXhfbWFwX3ZhbHVl W10gPSB7DQorCVBHQV8zX01VWF9OT05FLA0KKwlQR0FfM19NVVhfQUlOMywNCisJUEdBXzNfTVVY X0FJTjINCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChwZ2FfM19t dXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwNCisJCQkJICBSR19B VURQUkVBTVAzSU5QVVRTRUxfU0ZULA0KKwkJCQkgIFJHX0FVRFBSRUFNUDNJTlBVVFNFTF9NQVNL LA0KKwkJCQkgIHBnYV8zX211eF9tYXAsDQorCQkJCSAgcGdhXzNfbXV4X21hcF92YWx1ZSk7DQor DQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHBnYV8zX211eF9jb250cm9s ID0NCisJU09DX0RBUE1fRU5VTSgiUEdBIDMgU2VsZWN0IiwgcGdhXzNfbXV4X21hcF9lbnVtKTsN CisNCitzdGF0aWMgaW50IG10X3NnZW5fZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQg KncsDQorCQkJIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSBpbnQgZXZlbnQp DQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3Rv X2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3Nv Y19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwg IiVzKCksIGV2ZW50ID0gMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsNCisNCisJc3dpdGNoIChl dmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyogc2RtIGF1ZGlvIGZp Zm8gY2xvY2sgcG93ZXIgb24gKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1 OV9BRlVOQ19BVURfQ09OMiwgMHgwMDA2KTsNCisJCS8qIHNjcmFtYmxlciBjbG9jayBvbiBlbmFi bGUgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09O MCwgMHhjYmExKTsNCisJCS8qIHNkbSBwb3dlciBvbiAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04yLCAweDAwMDMpOw0KKwkJLyogc2RtIGZpZm8g ZW5hYmxlICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVE X0NPTjIsIDB4MDAwYik7DQorDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQUZFX1NHRU5fQ0ZHMCwNCisJCQkJICAgMHhmZjNmLA0KKwkJCQkgICAweDAwMDApOw0K KwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9TR0VOX0NGRzEs DQorCQkJCSAgIDB4ZmZmZiwNCisJCQkJICAgMHgwMDAxKTsNCisJCWJyZWFrOw0KKwljYXNlIFNO RF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIERMIHNjcmFtYmxlciBkaXNhYmxpbmcgc2VxdWVu Y2UgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09O MiwgMHgwMDAwKTsNCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19B VURfQ09OMCwgMHhjYmEwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0N CisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIG10a19ocF9lbmFibGUoc3RydWN0 IG10NjM1OV9wcml2ICpwcml2KQ0KK3sNCisJaWYgKHByaXYtPmhwX2hpZmlfbW9kZSkgew0KKwkJ LyogU2V0IEhQIERSIGJpYXMgY3VycmVudCBvcHRpbWl6YXRpb24sIDAxMDogNnVBICovDQorCQly ZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMSwN CisJCQkJICAgRFJCSUFTX0hQX01BU0tfU0ZULA0KKwkJCQkgICBEUkJJQVNfNlVBIDw8IERSQklB U19IUF9TRlQpOw0KKwkJLyogU2V0IEhQICYgWkNEIGJpYXMgY3VycmVudCBvcHRpbWl6YXRpb24g Ki8NCisJCS8qIDAxOiBaQ0Q6IDR1QSwgSFAvSFMvTE86IDV1QSAqLw0KKwkJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIsDQorCQkJCSAgIElC SUFTX1pDRF9NQVNLX1NGVCwNCisJCQkJICAgSUJJQVNfWkNEXzRVQSA8PCBJQklBU19aQ0RfU0ZU KTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5B X0NPTjEyLA0KKwkJCQkgICBJQklBU19IUF9NQVNLX1NGVCwNCisJCQkJICAgSUJJQVNfNVVBIDw8 IElCSUFTX0hQX1NGVCk7DQorCX0gZWxzZSB7DQorCQkvKiBTZXQgSFAgRFIgYmlhcyBjdXJyZW50 IG9wdGltaXphdGlvbiwgMDAxOiA1dUEgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjExLA0KKwkJCQkgICBEUkJJQVNfSFBfTUFTS19T RlQsDQorCQkJCSAgIERSQklBU181VUEgPDwgRFJCSUFTX0hQX1NGVCk7DQorCQkvKiBTZXQgSFAg JiBaQ0QgYmlhcyBjdXJyZW50IG9wdGltaXphdGlvbiAqLw0KKwkJLyogMDA6IFpDRDogM3VBLCBI UC9IUy9MTzogNHVBICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT04xMiwNCisJCQkJICAgSUJJQVNfWkNEX01BU0tfU0ZULA0KKwkJCQkg ICBJQklBU19aQ0RfM1VBIDw8IElCSUFTX1pDRF9TRlQpOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIsDQorCQkJCSAgIElCSUFTX0hQ X01BU0tfU0ZULA0KKwkJCQkgICBJQklBU180VUEgPDwgSUJJQVNfSFBfU0ZUKTsNCisJfQ0KKw0K KwkvKiBIUCBkYW1wIGNpcmN1aXQgZW5hYmxlICovDQorCS8qIEVuYWJsZSBIUFJOL0hQTE4gb3V0 cHV0IDRLIHRvIFZDTSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVE REVDX0FOQV9DT04xMCwgMHgwMDg3KTsNCisNCisJLyogSFAgRmVlZGJhY2sgQ2FwIHNlbGVjdCAy J2IwMDogMTVwRiAqLw0KKwkvKiBmb3IgPj0gOTZLSHogc2FtcGxpbmcgcmF0ZTogMidiMDE6IDEw LjVwRiAqLw0KKwlpZiAocHJpdi0+ZGxfcmF0ZVtNVDYzNTlfQUlGXzFdID49IDk2MDAwKQ0KKwkJ cmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FVRERFQ19B TkFfQ09ONCwNCisJCQkJICAgUkdfQVVESFBIRkNPTVBCVUZHQUlOU0VMX1ZBVURQMzJfTUFTS19T RlQsDQorCQkJCSAgIDB4MSA8PCBSR19BVURIUEhGQ09NUEJVRkdBSU5TRUxfVkFVRFAzMl9TRlQp Ow0KKwllbHNlDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FO QV9DT040LCAweDAwMDApOw0KKw0KKwkvKiBTZXQgSFBQL04gU1RCIGVuaGFuY2UgY2lyY3VpdHMg Ki8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMiwg MHhmMTMzKTsNCisNCisJLyogRW5hYmxlIEhQIGF1eCBvdXRwdXQgc3RhZ2UgKi8NCisJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMSwgMHgwMDBjKTsNCisJ LyogRW5hYmxlIEhQIGF1eCBmZWVkYmFjayBsb29wICovDQorCXJlZ21hcF93cml0ZShwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsIDB4MDAzYyk7DQorCS8qIEVuYWJsZSBIUCBh dXggQ01GQiBsb29wICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURE RUNfQU5BX0NPTjksIDB4MGMwMCk7DQorCS8qIEVuYWJsZSBIUCBkcml2ZXIgYmlhcyBjaXJjdWl0 cyAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04w LCAweDMwYzApOw0KKwkvKiBFbmFibGUgSFAgZHJpdmVyIGNvcmUgY2lyY3VpdHMgKi8NCisJcmVn bWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwgMHgzMGYwKTsN CisJLyogU2hvcnQgSFAgbWFpbiBvdXRwdXQgdG8gSFAgYXV4IG91dHB1dCBzdGFnZSAqLw0KKwly ZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLCAweDAwZmMp Ow0KKw0KKwkvKiBJbmNyZWFzZSBIUCBpbnB1dCBwYWlyIGN1cnJlbnQgdG8gSFBNIHN0ZXAgYnkg c3RlcCAqLw0KKwlocF9pbl9wYWlyX2N1cnJlbnQocHJpdiwgdHJ1ZSk7DQorDQorCS8qIEVuYWJs ZSBIUCBtYWluIENNRkIgbG9vcCAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT045LCAweDBlMDApOw0KKwkvKiBEaXNhYmxlIEhQIGF1eCBDTUZCIGxv b3AgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09O OSwgMHgwMjAwKTsNCisNCisJLyogRW5hYmxlIEhQIG1haW4gb3V0cHV0IHN0YWdlICovDQorCXJl Z21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsIDB4MDBmZik7 DQorCS8qIEVuYWJsZSBIUFIvTCBtYWluIG91dHB1dCBzdGFnZSBzdGVwIGJ5IHN0ZXAgKi8NCisJ aHBfbWFpbl9vdXRwdXRfcmFtcChwcml2LCB0cnVlKTsNCisNCisJLyogUmVkdWNlIEhQIGF1eCBm ZWVkYmFjayBsb29wIGdhaW4gKi8NCisJaHBfYXV4X2ZlZWRiYWNrX2xvb3BfZ2Fpbl9yYW1wKHBy aXYsIHRydWUpOw0KKwkvKiBEaXNhYmxlIEhQIGF1eCBmZWVkYmFjayBsb29wICovDQorCXJlZ21h cF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsIDB4NzdjZik7DQor DQorCS8qIGFwcGx5IHZvbHVtZSBzZXR0aW5nICovDQorCWhlYWRzZXRfdm9sdW1lX3JhbXAocHJp diwNCisJCQkgICAgRExfR0FJTl9OXzIyREIsDQorCQkJICAgIHByaXYtPmFuYV9nYWluW0FVRElP X0FOQUxPR19WT0xVTUVfSFBPVVRMXSk7DQorDQorCS8qIERpc2FibGUgSFAgYXV4IG91dHB1dCBz dGFnZSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9D T04xLCAweDc3YzMpOw0KKwkvKiBVbnNob3J0IEhQIG1haW4gb3V0cHV0IHRvIEhQIGF1eCBvdXRw dXQgc3RhZ2UgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19B TkFfQ09OMSwgMHg3NzAzKTsNCisJdXNsZWVwX3JhbmdlKDEwMCwgMTIwKTsNCisNCisJLyogRW5h YmxlIEFVRF9DTEsgKi8NCisJbXQ2MzU5X3NldF9kZWNvZGVyX2Nsayhwcml2LCB0cnVlKTsNCisN CisJLyogRW5hYmxlIEF1ZGlvIERBQyAgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwg TVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwgMHgzMGZmKTsNCisJaWYgKHByaXYtPmhwX2hpZmlfbW9k ZSkgew0KKwkJLyogRW5hYmxlIGxvdy1ub2lzZSBtb2RlIG9mIERBQyAqLw0KKwkJcmVnbWFwX3dy aXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwgMHhmMjAxKTsNCisJfSBl bHNlIHsNCisJCS8qIERpc2FibGUgbG93LW5vaXNlIG1vZGUgb2YgREFDICovDQorCQlyZWdtYXBf d3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAweGYyMDApOw0KKwl9 DQorCXVzbGVlcF9yYW5nZSgxMDAsIDEyMCk7DQorDQorCS8qIFN3aXRjaCBIUEwgTVVYIHRvIGF1 ZGlvIERBQyAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FO QV9DT04wLCAweDMyZmYpOw0KKwkvKiBTd2l0Y2ggSFBSIE1VWCB0byBhdWRpbyBEQUMgKi8NCisJ cmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwgMHgzYWZm KTsNCisNCisJLyogRGlzYWJsZSBQdWxsLWRvd24gSFBML1IgdG8gQVZTUzI4X0FVRCAqLw0KKwlo cF9wdWxsX2Rvd24ocHJpdiwgZmFsc2UpOw0KK30NCisNCitzdGF0aWMgdm9pZCBtdGtfaHBfZGlz YWJsZShzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwkvKiBQdWxsLWRvd24gSFBML1Ig dG8gQVZTUzI4X0FVRCAqLw0KKwlocF9wdWxsX2Rvd24ocHJpdiwgdHJ1ZSk7DQorDQorCS8qIEhQ Ui9IUEwgbXV4IHRvIG9wZW4gKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwg TVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwNCisJCQkgICAweDBmMDAsIDB4MDAwMCk7DQorDQorCS8q IERpc2FibGUgbG93LW5vaXNlIG1vZGUgb2YgREFDICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhw cml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjksDQorCQkJICAgMHgwMDAxLCAweDAw MDApOw0KKw0KKwkvKiBEaXNhYmxlIEF1ZGlvIERBQyAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04wLA0KKwkJCSAgIDB4MDAwZiwgMHgw MDAwKTsNCisNCisJLyogRGlzYWJsZSBBVURfQ0xLICovDQorCW10NjM1OV9zZXRfZGVjb2Rlcl9j bGsocHJpdiwgZmFsc2UpOw0KKw0KKwkvKiBTaG9ydCBIUCBtYWluIG91dHB1dCB0byBIUCBhdXgg b3V0cHV0IHN0YWdlICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURE RUNfQU5BX0NPTjEsIDB4NzdjMyk7DQorCS8qIEVuYWJsZSBIUCBhdXggb3V0cHV0IHN0YWdlICov DQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsIDB4 NzdjZik7DQorDQorCS8qIGRlY3JlYXNlIEhQTC9SIGdhaW4gdG8gbm9ybWFsIGdhaW4gc3RlcCBi eSBzdGVwICovDQorCWhlYWRzZXRfdm9sdW1lX3JhbXAocHJpdiwNCisJCQkgICAgcHJpdi0+YW5h X2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9IUE9VVExdLA0KKwkJCSAgICBETF9HQUlOX05fMjJE Qik7DQorDQorCS8qIEVuYWJsZSBIUCBhdXggZmVlZGJhY2sgbG9vcCAqLw0KKwlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLCAweDc3ZmYpOw0KKw0KKwkv KiBSZWR1Y2UgSFAgYXV4IGZlZWRiYWNrIGxvb3AgZ2FpbiAqLw0KKwlocF9hdXhfZmVlZGJhY2tf bG9vcF9nYWluX3JhbXAocHJpdiwgZmFsc2UpOw0KKw0KKwkvKiBkZWNyZWFzZSBIUFIvTCBtYWlu IG91dHB1dCBzdGFnZSBzdGVwIGJ5IHN0ZXAgKi8NCisJaHBfbWFpbl9vdXRwdXRfcmFtcChwcml2 LCBmYWxzZSk7DQorDQorCS8qIERpc2FibGUgSFAgbWFpbiBvdXRwdXQgc3RhZ2UgKi8NCisJcmVn bWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMSwgMHgz LCAweDApOw0KKw0KKwkvKiBFbmFibGUgSFAgYXV4IENNRkIgbG9vcCAqLw0KKwlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAweDBlMDEpOw0KKw0KKwkv KiBEaXNhYmxlIEhQIG1haW4gQ01GQiBsb29wICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjksIDB4MGMwMSk7DQorDQorCS8qIERlY3JlYXNlIEhQ IGlucHV0IHBhaXIgY3VycmVudCB0byAyJ2IwMCBzdGVwIGJ5IHN0ZXAgKi8NCisJaHBfaW5fcGFp cl9jdXJyZW50KHByaXYsIGZhbHNlKTsNCisNCisJLyogVW5zaG9ydCBIUCBtYWluIG91dHB1dCB0 byBIUCBhdXggb3V0cHV0IHN0YWdlICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsDQorCQkJICAgMHgzIDw8IDYsIDB4MCk7DQorDQor CS8qIERpc2FibGUgSFAgZHJpdmVyIGNvcmUgY2lyY3VpdHMgKi8NCisJcmVnbWFwX3VwZGF0ZV9i aXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwNCisJCQkgICAweDMgPDwg NCwgMHgwKTsNCisNCisJLyogRGlzYWJsZSBIUCBkcml2ZXIgYmlhcyBjaXJjdWl0cyAqLw0KKwly ZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04wLA0K KwkJCSAgIDB4MyA8PCA2LCAweDApOw0KKw0KKwkvKiBEaXNhYmxlIEhQIGF1eCBDTUZCIGxvb3Ag Ki8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwg MHgyMDEpOw0KKw0KKwkvKiBEaXNhYmxlIEhQIGF1eCBmZWVkYmFjayBsb29wICovDQorCXJlZ21h cF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsDQorCQkJ ICAgMHgzIDw8IDQsIDB4MCk7DQorDQorCS8qIERpc2FibGUgSFAgYXV4IG91dHB1dCBzdGFnZSAq Lw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9D T04xLA0KKwkJCSAgIDB4MyA8PCAyLCAweDApOw0KK30NCisNCitzdGF0aWMgaW50IG10X2hwX2V2 ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJICAgICAgIHN0cnVjdCBzbmRf a2NvbnRyb2wgKmtjb250cm9sLA0KKwkJICAgICAgIGludCBldmVudCkNCit7DQorCXN0cnVjdCBz bmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRh cG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRf ZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBtdXggPSBkYXBtX2tjb250cm9sX2dldF92 YWx1ZSh3LT5rY29udHJvbHNbMF0pOw0KKwlpbnQgZGV2aWNlID0gREVWSUNFX0hQOw0KKw0KKwlk ZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50IDB4JXgsIGRldl9jb3VudGVyW0RFVl9IUF0g JWQsIG11eCAldVxuIiwNCisJCV9fZnVuY19fLCBldmVudCwgcHJpdi0+ZGV2X2NvdW50ZXJbZGV2 aWNlXSwgbXV4KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9Q UkVfUE1VOg0KKwkJcHJpdi0+ZGV2X2NvdW50ZXJbZGV2aWNlXSsrOw0KKwkJaWYgKG11eCA9PSBI UF9NVVhfSFApDQorCQkJbXRrX2hwX2VuYWJsZShwcml2KTsNCisJCWJyZWFrOw0KKwljYXNlIFNO RF9TT0NfREFQTV9QUkVfUE1EOg0KKwkJcHJpdi0+ZGV2X2NvdW50ZXJbZGV2aWNlXS0tOw0KKwkJ aWYgKG11eCA9PSBIUF9NVVhfSFApDQorCQkJbXRrX2hwX2Rpc2FibGUocHJpdik7DQorCQlicmVh azsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitz dGF0aWMgaW50IG10X3Jjdl9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJ CQlzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQlpbnQgZXZlbnQpDQorew0KKwlz dHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVu dCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25l bnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2 ZW50IDB4JXgsIG11eCAldVxuIiwNCisJCV9fZnVuY19fLCBldmVudCwgZGFwbV9rY29udHJvbF9n ZXRfdmFsdWUody0+a2NvbnRyb2xzWzBdKSk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2Fz ZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCS8qIERpc2FibGUgaGFuZHNldCBzaG9ydC1jaXJj dWl0IHByb3RlY3Rpb24gKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9B VURERUNfQU5BX0NPTjYsIDB4MDAxMCk7DQorDQorCQkvKiBTZXQgUkNWIERSIGJpYXMgY3VycmVu dCBvcHRpbWl6YXRpb24sIDAxMDogNnVBICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMSwNCisJCQkJICAgRFJCSUFTX0hTX01BU0tf U0ZULA0KKwkJCQkgICBEUkJJQVNfNlVBIDw8IERSQklBU19IU19TRlQpOw0KKwkJLyogU2V0IFJD ViAmIFpDRCBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uICovDQorCQkvKiAwMTogWkNEOiA0dUEs IEhQL0hTL0xPOiA1dUEgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9BVURERUNfQU5BX0NPTjEyLA0KKwkJCQkgICBJQklBU19aQ0RfTUFTS19TRlQsDQorCQkJ CSAgIElCSUFTX1pDRF80VUEgPDwgSUJJQVNfWkNEX1NGVCk7DQorCQlyZWdtYXBfdXBkYXRlX2Jp dHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMiwNCisJCQkJICAgSUJJQVNf SFNfTUFTS19TRlQsDQorCQkJCSAgIElCSUFTXzVVQSA8PCBJQklBU19IU19TRlQpOw0KKw0KKwkJ LyogU2V0IEhTIFNUQiBlbmhhbmNlIGNpcmN1aXRzICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LCAweDAwOTApOw0KKw0KKwkJLyogU2V0IEhT IG91dHB1dCBzdGFnZSAoMydiMTExID0gOHgpICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVn bWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMCwgMHg3MDAwKTsNCisNCisJCS8qIEVuYWJsZSBI UyBkcml2ZXIgYmlhcyBjaXJjdWl0cyAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwg TVQ2MzU5X0FVRERFQ19BTkFfQ09ONiwgMHgwMDkyKTsNCisJCS8qIEVuYWJsZSBIUyBkcml2ZXIg Y29yZSBjaXJjdWl0cyAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV RERFQ19BTkFfQ09ONiwgMHgwMDkzKTsNCisNCisJCS8qIFNldCBIUyBnYWluIHRvIG5vcm1hbCBn YWluIHN0ZXAgYnkgc3RlcCAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X1pDRF9DT04zLA0KKwkJCSAgICAgcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9I U09VVExdKTsNCisNCisJCS8qIEVuYWJsZSBBVURfQ0xLICovDQorCQltdDYzNTlfc2V0X2RlY29k ZXJfY2xrKHByaXYsIHRydWUpOw0KKw0KKwkJLyogRW5hYmxlIEF1ZGlvIERBQyAgKi8NCisJCXJl Z21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjAsIDB4MDAwOSk7 DQorCQkvKiBFbmFibGUgbG93LW5vaXNlIG1vZGUgb2YgREFDICovDQorCQlyZWdtYXBfd3JpdGUo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAweDAwMDEpOw0KKwkJLyogU3dp dGNoIEhTIE1VWCB0byBhdWRpbyBEQUMgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IE1UNjM1OV9BVURERUNfQU5BX0NPTjYsIDB4MDA5Yik7DQorCQlicmVhazsNCisJY2FzZSBTTkRf U09DX0RBUE1fUFJFX1BNRDoNCisJCS8qIEhTIG11eCB0byBvcGVuICovDQorCQlyZWdtYXBfdXBk YXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LA0KKwkJCQkgICBS R19BVURIU01VWElOUFVUU0VMX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJCSAgIFJDVl9NVVhfT1BF Tik7DQorDQorCQkvKiBEaXNhYmxlIEF1ZGlvIERBQyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwNCisJCQkJICAgMHgwMDBmLCAw eDAwMDApOw0KKw0KKwkJLyogRGlzYWJsZSBBVURfQ0xLICovDQorCQltdDYzNTlfc2V0X2RlY29k ZXJfY2xrKHByaXYsIGZhbHNlKTsNCisNCisJCS8qIGRlY3JlYXNlIEhTIGdhaW4gdG8gbWluaW11 bSBnYWluIHN0ZXAgYnkgc3RlcCAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X1pDRF9DT04zLCBETF9HQUlOX05fNDBEQik7DQorDQorCQkvKiBEaXNhYmxlIEhTIGRyaXZl ciBjb3JlIGNpcmN1aXRzICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQVVEREVDX0FOQV9DT042LA0KKwkJCQkgICBSR19BVURIU1BXUlVQX1ZBVURQMzJfTUFT S19TRlQsIDB4MCk7DQorDQorCQkvKiBEaXNhYmxlIEhTIGRyaXZlciBiaWFzIGNpcmN1aXRzICov DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9D T042LA0KKwkJCQkgICBSR19BVURIU1BXUlVQX0lCSUFTX1ZBVURQMzJfTUFTS19TRlQsIDB4MCk7 DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0K K30NCisNCitzdGF0aWMgaW50IG10X2xvX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0 ICp3LA0KKwkJICAgICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJICAgICAg IGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRf c29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmco cHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgMHgleCwgbXV4ICV1XG4iLA0KKwkJX19mdW5jX18sIGV2 ZW50LCBkYXBtX2tjb250cm9sX2dldF92YWx1ZSh3LT5rY29udHJvbHNbMF0pKTsNCisNCisJc3dp dGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyogRGlzYWJs ZSBoYW5kc2V0IHNob3J0LWNpcmN1aXQgcHJvdGVjdGlvbiAqLw0KKwkJcmVnbWFwX3dyaXRlKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONywgMHgwMDEwKTsNCisNCisJCS8qIFNl dCBMTyBEUiBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uLCAwMTA6IDZ1QSAqLw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTEsDQorCQkJ CSAgIERSQklBU19MT19NQVNLX1NGVCwNCisJCQkJICAgRFJCSUFTXzZVQSA8PCBEUkJJQVNfTE9f U0ZUKTsNCisJCS8qIFNldCBMTyAmIFpDRCBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uICovDQor CQkvKiAwMTogWkNEOiA0dUEsIEhQL0hTL0xPOiA1dUEgKi8NCisJCWlmIChwcml2LT5kZXZfY291 bnRlcltERVZJQ0VfSFBdID09IDApDQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21h cCwNCisJCQkJCSAgIE1UNjM1OV9BVURERUNfQU5BX0NPTjEyLA0KKwkJCQkJICAgSUJJQVNfWkNE X01BU0tfU0ZULA0KKwkJCQkJICAgSUJJQVNfWkNEXzRVQSA8PCBJQklBU19aQ0RfU0ZUKTsNCisN CisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjEyLA0KKwkJCQkgICBJQklBU19MT19NQVNLX1NGVCwNCisJCQkJICAgSUJJQVNfNVVBIDw8IElC SUFTX0xPX1NGVCk7DQorDQorCQkvKiBTZXQgTE8gU1RCIGVuaGFuY2UgY2lyY3VpdHMgKi8NCisJ CXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjcsIDB4MDEx MCk7DQorDQorCQkvKiBFbmFibGUgTE8gZHJpdmVyIGJpYXMgY2lyY3VpdHMgKi8NCisJCXJlZ21h cF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjcsIDB4MDExMik7DQor CQkvKiBFbmFibGUgTE8gZHJpdmVyIGNvcmUgY2lyY3VpdHMgKi8NCisJCXJlZ21hcF93cml0ZShw cml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjcsIDB4MDExMyk7DQorDQorCQkvKiBT ZXQgTE8gZ2FpbiB0byBub3JtYWwgZ2FpbiBzdGVwIGJ5IHN0ZXAgKi8NCisJCXJlZ21hcF93cml0 ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9aQ0RfQ09OMSwNCisJCQkgICAgIHByaXYtPmFuYV9nYWlu W0FVRElPX0FOQUxPR19WT0xVTUVfTElORU9VVExdKTsNCisNCisJCS8qIEVuYWJsZSBBVURfQ0xL ICovDQorCQltdDYzNTlfc2V0X2RlY29kZXJfY2xrKHByaXYsIHRydWUpOw0KKw0KKwkJLyogRW5h YmxlIEF1ZGlvIERBQyAoM3JkIERBQykgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IE1UNjM1OV9BVURERUNfQU5BX0NPTjcsIDB4MzExMyk7DQorCQkvKiBFbmFibGUgbG93LW5vaXNl IG1vZGUgb2YgREFDICovDQorCQlpZiAocHJpdi0+ZGV2X2NvdW50ZXJbREVWSUNFX0hQXSA9PSAw KQ0KKwkJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsDQorCQkJCSAgICAgTVQ2MzU5X0FVRERF Q19BTkFfQ09OOSwgMHgwMDAxKTsNCisJCS8qIFN3aXRjaCBMT0wgTVVYIHRvIGF1ZGlvIDNyZCBE QUMgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjcsIDB4MzExYik7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNRDoNCisJ CS8qIFN3aXRjaCBMT0wgTVVYIHRvIG9wZW4gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2 LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjcsDQorCQkJCSAgIFJHX0FVRExPTE1VWElO UFVUU0VMX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJCSAgIExPX01VWF9PUEVOKTsNCisNCisJCS8q IERpc2FibGUgQXVkaW8gREFDICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVEREVDX0FOQV9DT04wLA0KKwkJCQkgICAweDAwMGYsIDB4MDAwMCk7DQorDQor CQkvKiBEaXNhYmxlIEFVRF9DTEsgKi8NCisJCW10NjM1OV9zZXRfZGVjb2Rlcl9jbGsocHJpdiwg ZmFsc2UpOw0KKw0KKwkJLyogZGVjcmVhc2UgTE8gZ2FpbiB0byBtaW5pbXVtIGdhaW4gc3RlcCBi eSBzdGVwICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjEs IERMX0dBSU5fTl80MERCKTsNCisNCisJCS8qIERpc2FibGUgTE8gZHJpdmVyIGNvcmUgY2lyY3Vp dHMgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNf QU5BX0NPTjcsDQorCQkJCSAgIFJHX0FVRExPTFBXUlVQX1ZBVURQMzJfTUFTS19TRlQsIDB4MCk7 DQorDQorCQkvKiBEaXNhYmxlIExPIGRyaXZlciBiaWFzIGNpcmN1aXRzICovDQorCQlyZWdtYXBf dXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT043LA0KKwkJCQkg ICBSR19BVURMT0xQV1JVUF9JQklBU19WQVVEUDMyX01BU0tfU0ZULCAweDApOw0KKwkJYnJlYWs7 DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIGludCBtdF9hZGNfY2xrX2dlbl9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAq dywNCisJCQkJc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJCWludCBldmVudCkN Cit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9f Y29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29j X2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAi JXMoKSwgZXZlbnQgMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsNCisNCisJc3dpdGNoIChldmVu dCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNVToNCisJCS8qIEFEQyBDTEsgZnJvbSBD TEtHRU4gKDYuNU1IeikgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9BVURFTkNfQU5BX0NPTjUsDQorCQkJCSAgIFJHX0FVREFEQ0NMS1JTVEJfTUFTS19TRlQs DQorCQkJCSAgIDB4MSA8PCBSR19BVURBRENDTEtSU1RCX1NGVCk7DQorCQlyZWdtYXBfdXBkYXRl X2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19B VURBRENDTEtTT1VSQ0VfTUFTS19TRlQsIDB4MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBRENDTEtT RUxfTUFTS19TRlQsIDB4MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBRENDTEtHRU5NT0RFX01BU0tf U0ZULA0KKwkJCQkgICAweDEgPDwgUkdfQVVEQURDQ0xLR0VOTU9ERV9TRlQpOw0KKwkJYnJlYWs7 DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTUQ6DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBRENDTEtT T1VSQ0VfTUFTS19TRlQsIDB4MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBRENDTEtTRUxfTUFTS19T RlQsIDB4MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVE RU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBRENDTEtHRU5NT0RFX01BU0tfU0ZULCAweDAp Ow0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFf Q09ONSwNCisJCQkJICAgUkdfQVVEQURDQ0xLUlNUQl9NQVNLX1NGVCwgMHgwKTsNCisJCWJyZWFr Ow0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0 YXRpYyBpbnQgbXRfZGNjX2Nsa19ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywN CisJCQkgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgIGludCBldmVu dCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1f dG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRf c29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2 LCAiJXMoKSwgZXZlbnQgMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsNCisNCisJc3dpdGNoIChl dmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyogRENDIDUwayBDTEsg KGZyb20gMjZNKSAqLw0KKwkJLyogTVQ2MzU5X0FGRV9EQ0NMS19DRkcwLCBiaXQgMyBmb3IgZG0g Y2sgc3dhcCAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FG RV9EQ0NMS19DRkcwLA0KKwkJCQkgICAweGZmZjcsIDB4MjA2Mik7DQorCQlyZWdtYXBfdXBkYXRl X2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX0RDQ0xLX0NGRzAsDQorCQkJCSAgIDB4ZmZm NywgMHgyMDYwKTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9B RkVfRENDTEtfQ0ZHMCwNCisJCQkJICAgMHhmZmY3LCAweDIwNjEpOw0KKw0KKwkJcmVnbWFwX3dy aXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9EQ0NMS19DRkcxLCAweDAxMDApOw0KKwkJYnJl YWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9EQ0NMS19DRkcwLA0KKwkJCQkgICAweGZmZjcsIDB4 MjA2MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX0RD Q0xLX0NGRzAsDQorCQkJCSAgIDB4ZmZmNywgMHgyMDYyKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0 Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRf bWljX2JpYXNfMF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgICAg ICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAgIGludCBldmVudCkN Cit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9f Y29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29j X2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBtaWNfdHlwZSA9 IHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzBdOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRl diwgIiVzKCksIGV2ZW50IDB4JXgsIG1pY190eXBlICVkXG4iLA0KKwkJX19mdW5jX18sIGV2ZW50 LCBtaWNfdHlwZSk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1f UFJFX1BNVToNCisJCXN3aXRjaCAobWljX3R5cGUpIHsNCisJCWNhc2UgTUlDX1RZUEVfTVVYX0RD Q19FQ01fRElGRjoNCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJ ICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTUsDQorCQkJCQkgICAweGZmMDAsIDB4NzcwMCk7DQor CQkJYnJlYWs7DQorCQljYXNlIE1JQ19UWVBFX01VWF9EQ0NfRUNNX1NJTkdMRToNCisJCQlyZWdt YXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJICAgTVQ2MzU5X0FVREVOQ19BTkFf Q09OMTUsDQorCQkJCQkgICAweGZmMDAsIDB4MTEwMCk7DQorCQkJYnJlYWs7DQorCQlkZWZhdWx0 Og0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCQkgICBNVDYzNTlf QVVERU5DX0FOQV9DT04xNSwNCisJCQkJCSAgIDB4ZmYwMCwgMHgwMDAwKTsNCisJCQlicmVhazsN CisJCX0NCisNCisJCS8qIERNSUMgZW5hYmxlICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVn bWFwLA0KKwkJCSAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTQsIDB4MDAwNCk7DQorCQkvKiBN SVNCSUFTMCA9IDFQOVYgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9BVURFTkNfQU5BX0NPTjE1LA0KKwkJCQkgICBSR19BVURNSUNCSUFTMFZSRUZfTUFTS19T RlQsDQorCQkJCSAgIE1JQ19CSUFTXzFQOSA8PCBSR19BVURNSUNCSUFTMFZSRUZfU0ZUKTsNCisJ CS8qIG5vcm1hbCBwb3dlciBzZWxlY3QgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE1LA0KKwkJCQkgICBSR19BVURNSUNCSUFTMExP V1BFTl9NQVNLX1NGVCwNCisJCQkJICAgMCA8PCBSR19BVURNSUNCSUFTMExPV1BFTl9TRlQpOw0K KwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJLyogRGlzYWJsZSBN SUNCSUFTMCwgTUlTQklBUzAgPSAxUDdWICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVERU5DX0FOQV9DT04xNSwgMHgwMDAwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0 Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRf bWljX2JpYXNfMV9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgICAg ICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAgIGludCBldmVudCkN Cit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9f Y29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29j X2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBtaWNfdHlwZSA9 IHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzFdOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRl diwgIiVzKCksIGV2ZW50IDB4JXgsIG1pY190eXBlICVkXG4iLA0KKwkJX19mdW5jX18sIGV2ZW50 LCBtaWNfdHlwZSk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1f UFJFX1BNVToNCisJCS8qIE1JU0JJQVMxID0gMlA2ViAqLw0KKwkJaWYgKG1pY190eXBlID09IE1J Q19UWVBFX01VWF9EQ0NfRUNNX1NJTkdMRSkNCisJCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFw LA0KKwkJCQkgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE2LCAweDAxNjApOw0KKwkJZWxzZQ0K KwkJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsDQorCQkJCSAgICAgTVQ2MzU5X0FVREVOQ19B TkFfQ09OMTYsIDB4MDA2MCk7DQorDQorCQkvKiBub3JtYWwgcG93ZXIgc2VsZWN0ICovDQorCQly ZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04xNiwN CisJCQkJICAgUkdfQVVETUlDQklBUzFMT1dQRU5fTUFTS19TRlQsDQorCQkJCSAgIDAgPDwgUkdf QVVETUlDQklBUzFMT1dQRU5fU0ZUKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7 DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfbWljX2JpYXNfMl9l dmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgICAgICAgc3RydWN0IHNu ZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAgIGludCBldmVudCkNCit7DQorCXN0cnVj dCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHct PmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9n ZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBtaWNfdHlwZSA9IHByaXYtPm11eF9z ZWxlY3RbTVVYX01JQ19UWVBFXzJdOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2 ZW50IDB4JXgsIG1pY190eXBlICVkXG4iLA0KKwkJX19mdW5jX18sIGV2ZW50LCBtaWNfdHlwZSk7 DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJ CXN3aXRjaCAobWljX3R5cGUpIHsNCisJCWNhc2UgTUlDX1RZUEVfTVVYX0RDQ19FQ01fRElGRjoN CisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJICAgTVQ2MzU5X0FV REVOQ19BTkFfQ09OMTcsDQorCQkJCQkgICAweGZmMDAsIDB4NzcwMCk7DQorCQkJYnJlYWs7DQor CQljYXNlIE1JQ19UWVBFX01VWF9EQ0NfRUNNX1NJTkdMRToNCisJCQlyZWdtYXBfdXBkYXRlX2Jp dHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcsDQorCQkJ CQkgICAweGZmMDAsIDB4MTEwMCk7DQorCQkJYnJlYWs7DQorCQlkZWZhdWx0Og0KKwkJCXJlZ21h cF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCQkgICBNVDYzNTlfQVVERU5DX0FOQV9D T04xNywNCisJCQkJCSAgIDB4ZmYwMCwgMHgwMDAwKTsNCisJCQlicmVhazsNCisJCX0NCisNCisJ CS8qIE1JU0JJQVMyID0gMVA5ViAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcsDQorCQkJCSAgIFJHX0FVRE1JQ0JJQVMyVlJFRl9N QVNLX1NGVCwNCisJCQkJICAgTUlDX0JJQVNfMVA5IDw8IFJHX0FVRE1JQ0JJQVMyVlJFRl9TRlQp Ow0KKwkJLyogbm9ybWFsIHBvd2VyIHNlbGVjdCAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcsDQorCQkJCSAgIFJHX0FVRE1JQ0JJ QVMyTE9XUEVOX01BU0tfU0ZULA0KKwkJCQkgICAwIDw8IFJHX0FVRE1JQ0JJQVMyTE9XUEVOX1NG VCk7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6DQorCQkvKiBEaXNh YmxlIE1JQ0JJQVMyLCBNSVNCSUFTMCA9IDFQN1YgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE3LCAweDAwMDApOw0KKwkJYnJlYWs7DQorCWRl ZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGlu dCBtdF9tdGthaWZfdHhfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJ ICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAgaW50IGV2ZW50 KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90 b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9z b2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJZGV2X2RiZyhwcml2LT5kZXYs ICIlcygpLCBldmVudCA9IDB4JXhcbiIsIF9fZnVuY19fLCBldmVudCk7DQorDQorCXN3aXRjaCAo ZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCW10NjM1OV9tdGthaWZf dHhfZW5hYmxlKHByaXYpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1E Og0KKwkJbXQ2MzU5X210a2FpZl90eF9kaXNhYmxlKHByaXYpOw0KKwkJYnJlYWs7DQorCWRlZmF1 bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBt dF91bF9zcmNfZG1pY19ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkJ c3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJCWludCBldmVudCkNCit7DQorCXN0 cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50 KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVu dF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgZXZl bnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQor CWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQkvKiBVTCBkbWljIHNldHRpbmcgKi8NCisJ CWlmIChwcml2LT5kbWljX29uZV93aXJlX21vZGUpDQorCQkJcmVnbWFwX3dyaXRlKHByaXYtPnJl Z21hcCwgTVQ2MzU5X0FGRV9VTF9TUkNfQ09OMF9ILA0KKwkJCQkgICAgIDB4MDQwMCk7DQorCQll bHNlDQorCQkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9VTF9TUkNfQ09O MF9ILA0KKwkJCQkgICAgIDB4MDA4MCk7DQorCQkvKiBkZWZhdWx0IG9uZSB3aXJlLCAzLjI1TSAq Lw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9VTF9TUkNf Q09OMF9MLA0KKwkJCQkgICAweGZmZmMsIDB4MDAwMCk7DQorCQlicmVhazsNCisJY2FzZSBTTkRf U09DX0RBUE1fUE9TVF9QTUQ6DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLA0KKwkJCSAg ICAgTVQ2MzU5X0FGRV9VTF9TUkNfQ09OMF9ILCAweDAwMDApOw0KKwkJYnJlYWs7DQorCWRlZmF1 bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBt dF91bF9zcmNfMzRfZG1pY19ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJ CQkJICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJCSAgIGludCBldmVudCkN Cit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9f Y29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29j X2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAi JXMoKSwgZXZlbnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQpOw0KKw0KKwlzd2l0Y2ggKGV2 ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQkvKiBkZWZhdWx0IHR3byB3 aXJlLCAzLjI1TSAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwNCisJCQkgICAgIE1U NjM1OV9BRkVfQUREQTZfTF9TUkNfQ09OMF9ILCAweDAwODApOw0KKwkJcmVnbWFwX3VwZGF0ZV9i aXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9BRERBNl9VTF9TUkNfQ09OMF9MLA0KKwkJCQkg ICAweGZmZmMsIDB4MDAwMCk7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9Q TUQ6DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLA0KKwkJCSAgICAgTVQ2MzU5X0FGRV9B RERBNl9MX1NSQ19DT04wX0gsIDB4MDAwMCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJy ZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X2FkY19sX2V2 ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgc3RydWN0IHNuZF9rY29u dHJvbCAqa2NvbnRyb2wsDQorCQkJICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19j b21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJ c3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEo Y21wbnQpOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50ID0gMHgleFxuIiwg X19mdW5jX18sIGV2ZW50KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0Nf REFQTV9QT1NUX1BNVToNCisJCXVzbGVlcF9yYW5nZSgxMDAsIDEyMCk7DQorCQkvKiBBdWRpbyBM IHByZWFtcGxpZmllciBEQ0MgcHJlY2hhcmdlIG9mZiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkJICAgUkdfQVVEUFJF QU1QTERDUFJFQ0hBUkdFX01BU0tfU0ZULA0KKwkJCQkgICAweDApOw0KKwkJYnJlYWs7DQorCWRl ZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGlu dCBtdF9hZGNfcl9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgIHN0 cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgaW50IGV2ZW50KQ0KK3sNCisJc3Ry dWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQo dy0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50 X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBldmVu dCA9IDB4JXhcbiIsIF9fZnVuY19fLCBldmVudCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJ Y2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTVU6DQorCQl1c2xlZXBfcmFuZ2UoMTAwLCAxMjApOw0K KwkJLyogQXVkaW8gUiBwcmVhbXBsaWZpZXIgRENDIHByZWNoYXJnZSBvZmYgKi8NCisJCXJlZ21h cF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsDQorCQkJ CSAgIFJHX0FVRFBSRUFNUFJEQ1BSRUNIQVJHRV9NQVNLX1NGVCwNCisJCQkJICAgMHgwKTsNCisJ CWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0K Kw0KK3N0YXRpYyBpbnQgbXRfYWRjXzNfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQg KncsDQorCQkJICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgIGludCBldmVu dCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1f dG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRf c29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2 LCAiJXMoKSwgZXZlbnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQpOw0KKw0KKwlzd2l0Y2gg KGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0KKwkJdXNsZWVwX3Jhbmdl KDEwMCwgMTIwKTsNCisJCS8qIEF1ZGlvIFIgcHJlYW1wbGlmaWVyIERDQyBwcmVjaGFyZ2Ugb2Zm ICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FO QV9DT04yLA0KKwkJCQkgICBSR19BVURQUkVBTVAzRENQUkVDSEFSR0VfTUFTS19TRlQsDQorCQkJ CSAgIDB4MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJl dHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X3BnYV9sX211eF9ldmVudChzdHJ1Y3Qgc25k X3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29u dHJvbCwNCisJCQkgICAgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25l bnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0 IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQp Ow0KKwl1bnNpZ25lZCBpbnQgbXV4ID0gZGFwbV9rY29udHJvbF9nZXRfdmFsdWUody0+a2NvbnRy b2xzWzBdKTsNCisNCisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBtdXggJWRcbiIsIF9fZnVu Y19fLCBtdXgpOw0KKwlwcml2LT5tdXhfc2VsZWN0W01VWF9QR0FfTF0gPSBtdXggPj4gUkdfQVVE UFJFQU1QTElOUFVUU0VMX1NGVDsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRf cGdhX3JfbXV4X2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgICAg IHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICAgIGludCBldmVudCkNCit7 DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29t cG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2Nv bXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBtdXggPSBkYXBtX2tj b250cm9sX2dldF92YWx1ZSh3LT5rY29udHJvbHNbMF0pOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRl diwgIiVzKCksIG11eCAlZFxuIiwgX19mdW5jX18sIG11eCk7DQorCXByaXYtPm11eF9zZWxlY3Rb TVVYX1BHQV9SXSA9IG11eCA+PiBSR19BVURQUkVBTVBSSU5QVVRTRUxfU0ZUOw0KKwlyZXR1cm4g MDsNCit9DQorDQorc3RhdGljIGludCBtdF9wZ2FfM19tdXhfZXZlbnQoc3RydWN0IHNuZF9zb2Nf ZGFwbV93aWRnZXQgKncsDQorCQkJICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2ws DQorCQkJICAgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpj bXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYz NTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJ dW5zaWduZWQgaW50IG11eCA9IGRhcG1fa2NvbnRyb2xfZ2V0X3ZhbHVlKHctPmtjb250cm9sc1sw XSk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgbXV4ICVkXG4iLCBfX2Z1bmNfXywg bXV4KTsNCisJcHJpdi0+bXV4X3NlbGVjdFtNVVhfUEdBXzNdID0gbXV4ID4+IFJHX0FVRFBSRUFN UDNJTlBVVFNFTF9TRlQ7DQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X3BnYV9s X2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgc3RydWN0IHNuZF9r Y29udHJvbCAqa2NvbnRyb2wsDQorCQkJICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3Nv Y19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsN CisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRh dGEoY21wbnQpOw0KKwlpbnQgbWljX2dhaW5fbCA9IHByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxP R19WT0xVTUVfTUlDQU1QMV07DQorCXVuc2lnbmVkIGludCBtdXhfcGdhID0gcHJpdi0+bXV4X3Nl bGVjdFtNVVhfUEdBX0xdOw0KKwl1bnNpZ25lZCBpbnQgbWljX3R5cGU7DQorDQorCXN3aXRjaCAo bXV4X3BnYSkgew0KKwljYXNlIFBHQV9MX01VWF9BSU4wOg0KKwkJbWljX3R5cGUgPSBwcml2LT5t dXhfc2VsZWN0W01VWF9NSUNfVFlQRV8wXTsNCisJCWJyZWFrOw0KKwljYXNlIFBHQV9MX01VWF9B SU4xOg0KKwkJbWljX3R5cGUgPSBwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8xXTsNCisJ CWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJZGV2X2Vycihwcml2LT5kZXYsICIlcygpLCBpbnZhbGlk IHBnYSBtdXggJWRcbiIsDQorCQkJX19mdW5jX18sIG11eF9wZ2EpOw0KKwkJcmV0dXJuIC1FSU5W QUw7DQorCX0NCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVf UE1VOg0KKwkJaWYgKElTX0RDQ19CQVNFKG1pY190eXBlKSkgew0KKwkJCS8qIEF1ZGlvIEwgcHJl YW1wbGlmaWVyIERDQyBwcmVjaGFyZ2UgKi8NCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04wLA0KKwkJCQkJICAgUkdfQVVEUFJFQU1QTERD UFJFQ0hBUkdFX01BU0tfU0ZULA0KKwkJCQkJICAgMHgxIDw8IFJHX0FVRFBSRUFNUExEQ1BSRUNI QVJHRV9TRlQpOw0KKwkJfQ0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1V Og0KKwkJLyogc2V0IG1pYyBwZ2EgZ2FpbiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkJICAgUkdfQVVEUFJFQU1QTEdB SU5fTUFTS19TRlQsDQorCQkJCSAgIG1pY19nYWluX2wgPDwgUkdfQVVEUFJFQU1QTEdBSU5fU0ZU KTsNCisNCisJCWlmIChJU19EQ0NfQkFTRShtaWNfdHlwZSkpIHsNCisJCQkvKiBMIHByZWFtcGxp ZmllciBEQ0NFTiAqLw0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9BVURFTkNfQU5BX0NPTjAsDQorCQkJCQkgICBSR19BVURQUkVBTVBMRENDRU5fTUFTS19TRlQs DQorCQkJCQkgICAweDEgPDwgUkdfQVVEUFJFQU1QTERDQ0VOX1NGVCk7DQorCQl9DQorCQlicmVh azsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6DQorCQkvKiBMIHByZWFtcGxpZmllciBE Q0NFTiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVO Q19BTkFfQ09OMCwNCisJCQkJICAgUkdfQVVEUFJFQU1QTERDQ0VOX01BU0tfU0ZULA0KKwkJCQkg ICAweDAgPDwgUkdfQVVEUFJFQU1QTERDQ0VOX1NGVCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoN CisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X3Bn YV9yX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgc3RydWN0IHNu ZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25k X3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBt KTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2Ry dmRhdGEoY21wbnQpOw0KKwlpbnQgbWljX2dhaW5fciA9IHByaXYtPmFuYV9nYWluW0FVRElPX0FO QUxPR19WT0xVTUVfTUlDQU1QMl07DQorCXVuc2lnbmVkIGludCBtdXhfcGdhID0gcHJpdi0+bXV4 X3NlbGVjdFtNVVhfUEdBX1JdOw0KKwl1bnNpZ25lZCBpbnQgbWljX3R5cGU7DQorDQorCXN3aXRj aCAobXV4X3BnYSkgew0KKwljYXNlIFBHQV9SX01VWF9BSU4wOg0KKwkJbWljX3R5cGUgPSBwcml2 LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8wXTsNCisJCWJyZWFrOw0KKwljYXNlIFBHQV9SX01V WF9BSU4yOg0KKwljYXNlIFBHQV9SX01VWF9BSU4zOg0KKwkJbWljX3R5cGUgPSBwcml2LT5tdXhf c2VsZWN0W01VWF9NSUNfVFlQRV8yXTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJZGV2X2Vy cihwcml2LT5kZXYsICIlcygpLCBpbnZhbGlkIHBnYSBtdXggJWRcbiIsDQorCQkJX19mdW5jX18s IG11eF9wZ2EpOw0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJc3dpdGNoIChldmVudCkg ew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJaWYgKElTX0RDQ19CQVNFKG1pY190 eXBlKSkgew0KKwkJCS8qIEF1ZGlvIFIgcHJlYW1wbGlmaWVyIERDQyBwcmVjaGFyZ2UgKi8NCisJ CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04x LA0KKwkJCQkJICAgUkdfQVVEUFJFQU1QUkRDUFJFQ0hBUkdFX01BU0tfU0ZULA0KKwkJCQkJICAg MHgxIDw8IFJHX0FVRFBSRUFNUFJEQ1BSRUNIQVJHRV9TRlQpOw0KKwkJfQ0KKwkJYnJlYWs7DQor CWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0KKwkJLyogc2V0IG1pYyBwZ2EgZ2FpbiAqLw0K KwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09O MSwNCisJCQkJICAgUkdfQVVEUFJFQU1QUkdBSU5fTUFTS19TRlQsDQorCQkJCSAgIG1pY19nYWlu X3IgPDwgUkdfQVVEUFJFQU1QUkdBSU5fU0ZUKTsNCisNCisJCWlmIChJU19EQ0NfQkFTRShtaWNf dHlwZSkpIHsNCisJCQkvKiBSIHByZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJCXJlZ21hcF91cGRh dGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsDQorCQkJCQkgICBS R19BVURQUkVBTVBSRENDRU5fTUFTS19TRlQsDQorCQkJCQkgICAweDEgPDwgUkdfQVVEUFJFQU1Q UkRDQ0VOX1NGVCk7DQorCQl9DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9Q TUQ6DQorCQkvKiBSIHByZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMSwNCisJCQkJICAgUkdfQVVEUFJF QU1QUkRDQ0VOX01BU0tfU0ZULA0KKwkJCQkgICAweDAgPDwgUkdfQVVEUFJFQU1QUkRDQ0VOX1NG VCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAw Ow0KK30NCisNCitzdGF0aWMgaW50IG10X3BnYV8zX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1f d2lkZ2V0ICp3LA0KKwkJCSAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICBp bnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3Nv Y19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2 ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwlpbnQgbWljX2dhaW5f MyA9IHByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVfTUlDQU1QM107DQorCXVuc2ln bmVkIGludCBtdXhfcGdhID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfUEdBXzNdOw0KKwl1bnNpZ25l ZCBpbnQgbWljX3R5cGU7DQorDQorCXN3aXRjaCAobXV4X3BnYSkgew0KKwljYXNlIFBHQV8zX01V WF9BSU4yOg0KKwljYXNlIFBHQV8zX01VWF9BSU4zOg0KKwkJbWljX3R5cGUgPSBwcml2LT5tdXhf c2VsZWN0W01VWF9NSUNfVFlQRV8yXTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJZGV2X2Vy cihwcml2LT5kZXYsICIlcygpLCBpbnZhbGlkIHBnYSBtdXggJWRcbiIsDQorCQkJX19mdW5jX18s IG11eF9wZ2EpOw0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJc3dpdGNoIChldmVudCkg ew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJaWYgKElTX0RDQ19CQVNFKG1pY190 eXBlKSkgew0KKwkJCS8qIEF1ZGlvIDMgcHJlYW1wbGlmaWVyIERDQyBwcmVjaGFyZ2UgKi8NCisJ CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04y LA0KKwkJCQkJICAgUkdfQVVEUFJFQU1QM0RDUFJFQ0hBUkdFX01BU0tfU0ZULA0KKwkJCQkJICAg MHgxIDw8IFJHX0FVRFBSRUFNUDNEQ1BSRUNIQVJHRV9TRlQpOw0KKwkJfQ0KKwkJYnJlYWs7DQor CWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0KKwkJLyogc2V0IG1pYyBwZ2EgZ2FpbiAqLw0K KwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09O MiwNCisJCQkJICAgUkdfQVVEUFJFQU1QM0dBSU5fTUFTS19TRlQsDQorCQkJCSAgIG1pY19nYWlu XzMgPDwgUkdfQVVEUFJFQU1QM0dBSU5fU0ZUKTsNCisNCisJCWlmIChJU19EQ0NfQkFTRShtaWNf dHlwZSkpIHsNCisJCQkvKiAzIHByZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJCXJlZ21hcF91cGRh dGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIsDQorCQkJCQkgICBS R19BVURQUkVBTVAzRENDRU5fTUFTS19TRlQsDQorCQkJCQkgICAweDEgPDwgUkdfQVVEUFJFQU1Q M0RDQ0VOX1NGVCk7DQorCQl9DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9Q TUQ6DQorCQkvKiAzIHByZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwNCisJCQkJICAgUkdfQVVEUFJF QU1QM0RDQ0VOX01BU0tfU0ZULA0KKwkJCQkgICAweDAgPDwgUkdfQVVEUFJFQU1QM0RDQ0VOX1NG VCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAw Ow0KK30NCisNCisvKiBJdCBpcyBiYXNlZCBvbiBodydzIGNvbnRyb2wgc2VxdWVuZWNlIHRvIGFk ZCBzb21lIGRlbGF5IHdoZW4gUE1VL1BNRCAqLw0KK3N0YXRpYyBpbnQgbXRfZGVsYXlfMjUwX2V2 ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgICAgIHN0cnVjdCBzbmRf a2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICAgIGludCBldmVudCkNCit7DQorCXN3aXRjaCAo ZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTVU6DQorCWNhc2UgU05EX1NPQ19E QVBNX1BSRV9QTUQ6DQorCQl1c2xlZXBfcmFuZ2UoMjUwLCAyNzApOw0KKwkJYnJlYWs7DQorCWRl ZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGlu dCBtdF9kZWxheV8xMDBfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJ ICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAgaW50IGV2ZW50 KQ0KK3sNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNVToN CisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNRDoNCisJCXVzbGVlcF9yYW5nZSgxMDAsIDEyMCk7 DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0K K30NCisNCitzdGF0aWMgaW50IG10X2hwX3B1bGxfZG93bl9ldmVudChzdHJ1Y3Qgc25kX3NvY19k YXBtX3dpZGdldCAqdywNCisJCQkJIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJ CQkgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNu ZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAq cHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJc3dpdGNo IChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJaHBfcHVsbF9kb3du KHByaXYsIHRydWUpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0K KwkJaHBfcHVsbF9kb3duKHByaXYsIGZhbHNlKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJ YnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfaHBfbXV0 ZV9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgICAgc3RydWN0IHNu ZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgIGludCBldmVudCkNCit7DQorCXN0cnVjdCBz bmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRh cG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRf ZHJ2ZGF0YShjbXBudCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RB UE1fUFJFX1BNVToNCisJCS8qIFNldCBIUFIvSFBMIGdhaW4gdG8gLTIyZEIgKi8NCisJCXJlZ21h cF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9aQ0RfQ09OMiwgRExfR0FJTl9OXzIyREJfUkVH KTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIFNldCBI UEwvSFBSIGdhaW4gdG8gbXV0ZSAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X1pDRF9DT04yLCBETF9HQUlOX05fNDBEQl9SRUcpOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6 DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9o cF9kYW1wX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgICBzdHJ1 Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAgaW50IGV2ZW50KQ0KK3sNCisJc3Ry dWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQo dy0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50 X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9T T0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIERpc2FibGUgSFAgZGFtcGluZyBjaXJjdWl0ICYgSFBO IDRLIGxvYWQgKi8NCisJCS8qIHJlc2V0IENNRkIgUFcgbGV2ZWwgKi8NCisJCXJlZ21hcF93cml0 ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEwLCAweDAwMDApOw0KKwkJYnJl YWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQor c3RhdGljIGludCBtdF9lc2RfcmVzaXN0X2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0 ICp3LA0KKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAg ICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNu ZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAq cHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJc3dpdGNo IChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyogUmVkdWNlIEVT RCByZXNpc3RhbmNlIG9mIEFVX1JFRk4gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjIsDQorCQkJCSAgIFJHX0FVRFJFRk5fREVSRVNf RU5fVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkJICAgMHgxIDw8IFJHX0FVRFJFRk5fREVSRVNfRU5f VkFVRFAzMl9TRlQpOw0KKwkJdXNsZWVwX3JhbmdlKDI1MCwgMjcwKTsNCisJCWJyZWFrOw0KKwlj YXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIEluY3JlYXNlIEVTRCByZXNpc3RhbmNl IG9mIEFVX1JFRk4gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9BVURERUNfQU5BX0NPTjIsDQorCQkJCSAgIFJHX0FVRFJFRk5fREVSRVNfRU5fVkFVRFAzMl9N QVNLX1NGVCwgMHgwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisN CisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfc2RtX2V2ZW50KHN0cnVjdCBzbmRf c29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0K KwkJCWludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBz bmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYg KnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCXN3aXRj aCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCS8qIHNkbSBhdWRp byBmaWZvIGNsb2NrIHBvd2VyIG9uICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVn bWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjIsDQorCQkJCSAgIDB4ZmZmZCwgMHgwMDA2KTsNCisJ CS8qIHNjcmFtYmxlciBjbG9jayBvbiBlbmFibGUgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5y ZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OMCwgMHhjYmExKTsNCisJCS8qIHNkbSBwb3dlciBv biAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FV RF9DT04yLA0KKwkJCQkgICAweGZmZmQsIDB4MDAwMyk7DQorCQkvKiBzZG0gZmlmbyBlbmFibGUg Ki8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURf Q09OMiwNCisJCQkJICAgMHhmZmZkLCAweDAwMEIpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NP Q19EQVBNX1BPU1RfUE1EOg0KKwkJLyogREwgc2NyYW1ibGVyIGRpc2FibGluZyBzZXF1ZW5jZSAq Lw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9D T04yLA0KKwkJCQkgICAweGZmZmQsIDB4MDAwMCk7DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVn bWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjAsIDB4Y2JhMCk7DQorCQlicmVhazsNCisJZGVmYXVs dDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10 X3NkbV8zcmRfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJICAgIHN0 cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICBpbnQgZXZlbnQpDQorew0KKwlz dHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVu dCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25l bnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05E X1NPQ19EQVBNX1BSRV9QTVU6DQorCQkvKiBzZG0gYXVkaW8gZmlmbyBjbG9jayBwb3dlciBvbiAq Lw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04xMSwg MHgwMDA2KTsNCisJCS8qIHNjcmFtYmxlciBjbG9jayBvbiBlbmFibGUgKi8NCisJCXJlZ21hcF93 cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OOSwgMHhjYmExKTsNCisJCS8q IHNkbSBwb3dlciBvbiAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FG VU5DX0FVRF9DT04xMSwgMHgwMDAzKTsNCisJCS8qIHNkbSBmaWZvIGVuYWJsZSAqLw0KKwkJcmVn bWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04xMSwgMHgwMDBiKTsN CisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIERMIHNjcmFt YmxlciBkaXNhYmxpbmcgc2VxdWVuY2UgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IE1UNjM1OV9BRlVOQ19BVURfQ09OMTEsIDB4MDAwMCk7DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjksIDB4Y2JhMCk7DQorCQlicmVhazsNCisJZGVm YXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50 IG10X25jcF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQlzdHJ1Y3Qg c25kX2tjb250cm9sICprY29udHJvbCwNCisJCQlpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25k X3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBt KTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2Ry dmRhdGEoY21wbnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBN X1BSRV9QTVU6DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX05DUF9D RkcwLCAweGM4MDApOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0K KwlyZXR1cm4gMDsNCit9DQorDQorLyogREFQTSBXaWRnZXRzICovDQorc3RhdGljIGNvbnN0IHN0 cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IG10NjM1OV9kYXBtX3dpZGdldHNbXSA9IHsNCisJLyog R2xvYmFsIFN1cHBseSovDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQ0xLX0JVRiIsIFNVUFBM WV9TRVFfQ0xLX0JVRiwNCisJCQkgICAgICBNVDYzNTlfRENYT19DVzEyLA0KKwkJCSAgICAgIFJH X1hPX0FVRElPX0VOX01fU0ZULCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9T KCJMRE9fVkFVRDE4IiwgU1VQUExZX1NFUV9MRE9fVkFVRDE4LA0KKwkJCSAgICAgIE1UNjM1OV9M RE9fVkFVRDE4X0NPTjAsDQorCQkJICAgICAgUkdfTERPX1ZBVUQxOF9FTl9TRlQsIDAsIE5VTEws IDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkFVREdMQiIsIFNVUFBMWV9TRVFfQVVEX0dM QiwNCisJCQkgICAgICBNVDYzNTlfQVVEREVDX0FOQV9DT04xMywNCisJCQkgICAgICBSR19BVURH TEJfUFdSRE5fVkEzMl9TRlQsIDEsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1Mo IkNMS1NRIEF1ZGlvIiwgU1VQUExZX1NFUV9DTEtTUSwNCisJCQkgICAgICBNVDYzNTlfQVVERU5D X0FOQV9DT04yMywNCisJCQkgICAgICBSR19DTEtTUV9FTl9TRlQsIDAsIE5VTEwsIFNORF9TT0Nf REFQTV9QUkVfUE1VKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVUROQ1BfQ0siLCBTVVBQ TFlfU0VRX1RPUF9DSywNCisJCQkgICAgICBNVDYzNTlfQVVEX1RPUF9DS1BETl9DT04wLA0KKwkJ CSAgICAgIFJHX0FVRE5DUF9DS19QRE5fU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBN X1NVUFBMWV9TKCJaQ0QxM01fQ0siLCBTVVBQTFlfU0VRX1RPUF9DSywNCisJCQkgICAgICBNVDYz NTlfQVVEX1RPUF9DS1BETl9DT04wLA0KKwkJCSAgICAgIFJHX1pDRDEzTV9DS19QRE5fU0ZULCAx LCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURfQ0siLCBTVVBQTFlfU0VR X1RPUF9DS19MQVNULA0KKwkJCSAgICAgIE1UNjM1OV9BVURfVE9QX0NLUEROX0NPTjAsDQorCQkJ ICAgICAgUkdfQVVEX0NLX1BETl9TRlQsIDEsIG10X2RlbGF5XzI1MF9ldmVudCwNCisJCQkgICAg ICBTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUFJFX1BNRCksDQorCVNORF9T T0NfREFQTV9TVVBQTFlfUygiQVVESUZfQ0siLCBTVVBQTFlfU0VRX1RPUF9DSywNCisJCQkgICAg ICBNVDYzNTlfQVVEX1RPUF9DS1BETl9DT04wLA0KKwkJCSAgICAgIFJHX0FVRElGX0NLX1BETl9T RlQsIDEsIE5VTEwsIDApLA0KKwkvKiBEaWdpdGFsIENsb2NrICovDQorCVNORF9TT0NfREFQTV9T VVBQTFlfUygiQVVESU9fVE9QX0FGRV9DVEwiLCBTVVBQTFlfU0VRX0FVRF9UT1BfTEFTVCwNCisJ CQkgICAgICBNVDYzNTlfQVVESU9fVE9QX0NPTjAsDQorCQkJICAgICAgUEROX0FGRV9DVExfU0ZU LCAxLA0KKwkJCSAgICAgIG10X2RlbGF5XzI1MF9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RB UE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUFJFX1BNRCksDQorCVNORF9TT0NfREFQTV9TVVBQ TFlfUygiQVVESU9fVE9QX0RBQ19DVEwiLCBTVVBQTFlfU0VRX0FVRF9UT1AsDQorCQkJICAgICAg TVQ2MzU5X0FVRElPX1RPUF9DT04wLA0KKwkJCSAgICAgIFBETl9EQUNfQ1RMX1NGVCwgMSwgTlVM TCwgMCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQVVESU9fVE9QX0FEQ19DVEwiLCBTVVBQ TFlfU0VRX0FVRF9UT1AsDQorCQkJICAgICAgTVQ2MzU5X0FVRElPX1RPUF9DT04wLA0KKwkJCSAg ICAgIFBETl9BRENfQ1RMX1NGVCwgMSwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlf UygiQVVESU9fVE9QX0FEREE2X0FEQ19DVEwiLCBTVVBQTFlfU0VRX0FVRF9UT1AsDQorCQkJICAg ICAgTVQ2MzU5X0FVRElPX1RPUF9DT04wLA0KKwkJCSAgICAgIFBETl9BRERBNl9BRENfQ1RMX1NG VCwgMSwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQVVESU9fVE9QX0kyU19E TCIsIFNVUFBMWV9TRVFfQVVEX1RPUCwNCisJCQkgICAgICBNVDYzNTlfQVVESU9fVE9QX0NPTjAs DQorCQkJICAgICAgUEROX0kyU19ETF9DVExfU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19E QVBNX1NVUFBMWV9TKCJBVURJT19UT1BfUFdSX0NMSyIsIFNVUFBMWV9TRVFfQVVEX1RPUCwNCisJ CQkgICAgICBNVDYzNTlfQVVESU9fVE9QX0NPTjAsDQorCQkJICAgICAgUFdSX0NMS19ESVNfQ1RM X1NGVCwgMSwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQVVESU9fVE9QX1BE Tl9BRkVfVEVTVE1PREVMIiwgU1VQUExZX1NFUV9BVURfVE9QLA0KKwkJCSAgICAgIE1UNjM1OV9B VURJT19UT1BfQ09OMCwNCisJCQkgICAgICBQRE5fQUZFX1RFU1RNT0RFTF9DVExfU0ZULCAxLCBO VUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJT19UT1BfUEROX1JFU0VSVkVE IiwgU1VQUExZX1NFUV9BVURfVE9QLA0KKwkJCSAgICAgIE1UNjM1OV9BVURJT19UT1BfQ09OMCwN CisJCQkgICAgICBQRE5fUkVTRVJWRURfU0ZULCAxLCBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19E QVBNX1NVUFBMWV9TKCJTRE0iLCBTVVBQTFlfU0VRX0RMX1NETSwNCisJCQkgICAgICBTTkRfU09D X05PUE0sIDAsIDAsDQorCQkJICAgICAgbXRfc2RtX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0Nf REFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwNCisJU05EX1NPQ19EQVBNX1NV UFBMWV9TKCJTRE1fM1JEIiwgU1VQUExZX1NFUV9ETF9TRE0sDQorCQkJICAgICAgU05EX1NPQ19O T1BNLCAwLCAwLA0KKwkJCSAgICAgIG10X3NkbV8zcmRfZXZlbnQsDQorCQkJICAgICAgU05EX1NP Q19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKw0KKwkvKiBjaDEyMyBz aGFyZSBTRE0gRklGTyBDTEsgKi8NCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJTRE1fRklGT19D TEsiLCBTVVBQTFlfU0VRX0RMX1NETV9GSUZPX0NMSywNCisJCQkgICAgICBNVDYzNTlfQUZVTkNf QVVEX0NPTjIsDQorCQkJICAgICAgQ0NJX0FGSUZPX0NMS19QV0RCX1NGVCwgMCwNCisJCQkgICAg ICBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJOQ1AiLCBTVVBQTFlfU0VR X0RMX05DUCwNCisJCQkgICAgICBNVDYzNTlfQUZFX05DUF9DRkcwLA0KKwkJCSAgICAgIFJHX05D UF9PTl9TRlQsIDAsDQorCQkJICAgICAgbXRfbmNwX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0Nf REFQTV9QUkVfUE1VKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiREwgRGlnaXRhbCBDbG9j ayIsIFNORF9TT0NfTk9QTSwNCisJCQkgICAgMCwgMCwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQ TV9TVVBQTFkoIkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMV8yIiwgU05EX1NPQ19OT1BNLA0KKwkJCSAg ICAwLCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiREwgRGlnaXRhbCBDbG9j ayBDSF8zIiwgU05EX1NPQ19OT1BNLA0KKwkJCSAgICAwLCAwLCBOVUxMLCAwKSwNCisNCisJLyog QUZFIE9OICovDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQUZFX09OIiwgU1VQUExZX1NFUV9B RkUsDQorCQkJICAgICAgTVQ2MzU5X0FGRV9VTF9ETF9DT04wLCBBRkVfT05fU0ZULCAwLA0KKwkJ CSAgICAgIE5VTEwsIDApLA0KKw0KKwkvKiBBSUYgUngqLw0KKwlTTkRfU09DX0RBUE1fQUlGX0lO KCJBSUZfUlgiLCAiQUlGMSBQbGF5YmFjayIsIDAsDQorCQkJICAgIFNORF9TT0NfTk9QTSwgMCwg MCksDQorDQorCVNORF9TT0NfREFQTV9BSUZfSU4oIkFJRjJfUlgiLCAiQUlGMiBQbGF5YmFjayIs IDAsDQorCQkJICAgIFNORF9TT0NfTk9QTSwgMCwgMCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQ TFlfUygiQUZFX0RMX1NSQyIsIFNVUFBMWV9TRVFfRExfU1JDLA0KKwkJCSAgICAgIE1UNjM1OV9B RkVfRExfU1JDMl9DT04wX0wsDQorCQkJICAgICAgRExfMl9TUkNfT05fVE1QX0NUTF9QUkVfU0ZU LCAwLA0KKwkJCSAgICAgIE5VTEwsIDApLA0KKw0KKwkvKiBETCBTdXBwbHkgKi8NCisJU05EX1NP Q19EQVBNX1NVUFBMWSgiREwgUG93ZXIgU3VwcGx5IiwgU05EX1NPQ19OT1BNLA0KKwkJCSAgICAw LCAwLCBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJFU0RfUkVTSVNUIiwg U1VQUExZX1NFUV9ETF9FU0RfUkVTSVNULA0KKwkJCSAgICAgIFNORF9TT0NfTk9QTSwNCisJCQkg ICAgICAwLCAwLA0KKwkJCSAgICAgIG10X2VzZF9yZXNpc3RfZXZlbnQsDQorCQkJICAgICAgU05E X1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKwlTTkRfU09DX0RB UE1fU1VQUExZX1MoIkxETyIsIFNVUFBMWV9TRVFfRExfTERPLA0KKwkJCSAgICAgIE1UNjM1OV9B VURERUNfQU5BX0NPTjE0LA0KKwkJCSAgICAgIFJHX0xDTERPX0RFQ19FTl9WQTMyX1NGVCwgMCwN CisJCQkgICAgICBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJMRE9fUkVNT1RF IiwgU1VQUExZX1NFUV9ETF9MRE9fUkVNT1RFX1NFTlNFLA0KKwkJCSAgICAgIE1UNjM1OV9BVURE RUNfQU5BX0NPTjE0LA0KKwkJCSAgICAgIFJHX0xDTERPX0RFQ19SRU1PVEVfU0VOU0VfVkExOF9T RlQsIDAsDQorCQkJICAgICAgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiTlZf UkVHVUxBVE9SIiwgU1VQUExZX1NFUV9ETF9OViwNCisJCQkgICAgICBNVDYzNTlfQVVEREVDX0FO QV9DT04xNCwNCisJCQkgICAgICBSR19OVlJFR19FTl9WQVVEUDMyX1NGVCwgMCwNCisJCQkgICAg ICBtdF9kZWxheV8xMDBfZXZlbnQsIFNORF9TT0NfREFQTV9QT1NUX1BNVSksDQorCVNORF9TT0Nf REFQTV9TVVBQTFlfUygiSUJJU1QiLCBTVVBQTFlfU0VRX0RMX0lCSVNULA0KKwkJCSAgICAgIE1U NjM1OV9BVURERUNfQU5BX0NPTjEyLA0KKwkJCSAgICAgIFJHX0FVRElCSUFTUFdSRE5fVkFVRFAz Ml9TRlQsIDEsDQorCQkJICAgICAgTlVMTCwgMCksDQorDQorCS8qIERBQyAqLw0KKwlTTkRfU09D X0RBUE1fTVVYKCJEQUMgSW4gTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLCAmZGFjX2luX211eF9j b250cm9sKSwNCisNCisJU05EX1NPQ19EQVBNX0RBQygiREFDTCIsIE5VTEwsIFNORF9TT0NfTk9Q TSwgMCwgMCksDQorDQorCVNORF9TT0NfREFQTV9EQUMoIkRBQ1IiLCBOVUxMLCBTTkRfU09DX05P UE0sIDAsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fREFDKCJEQUNfM1JEIiwgTlVMTCwgU05EX1NP Q19OT1BNLCAwLCAwKSwNCisNCisJLyogSGVhZHBob25lICovDQorCVNORF9TT0NfREFQTV9NVVhf RSgiSFAgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZocF9pbl9tdXhfY29udHJv bCwNCisJCQkgICBtdF9ocF9ldmVudCwNCisJCQkgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNO RF9TT0NfREFQTV9QUkVfUE1EKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiSFBfU3VwcGx5 IiwgU05EX1NPQ19OT1BNLA0KKwkJCSAgICAwLCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBN X1NVUFBMWV9TKCJIUF9QVUxMX0RPV04iLCBTVVBQTFlfU0VRX0hQX1BVTExfRE9XTiwNCisJCQkg ICAgICBTTkRfU09DX05PUE0sDQorCQkJICAgICAgMCwgMCwNCisJCQkgICAgICBtdF9ocF9wdWxs X2Rvd25fZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RB UE1fUE9TVF9QTUQpLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkhQX01VVEUiLCBTVVBQTFlf U0VRX0hQX01VVEUsDQorCQkJICAgICAgU05EX1NPQ19OT1BNLA0KKwkJCSAgICAgIDAsIDAsDQor CQkJICAgICAgbXRfaHBfbXV0ZV9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BN VSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiSFBf REFNUCIsIFNVUFBMWV9TRVFfSFBfREFNUElOR19PRkZfUkVTRVRfQ01GQiwNCisJCQkgICAgICBT TkRfU09DX05PUE0sDQorCQkJICAgICAgMCwgMCwNCisJCQkgICAgICBtdF9ocF9kYW1wX2V2ZW50 LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorDQorCS8qIFJlY2VpdmVyICov DQorCVNORF9TT0NfREFQTV9NVVhfRSgiUkNWIE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJ CQkgICAmcmN2X2luX211eF9jb250cm9sLA0KKwkJCSAgIG10X3Jjdl9ldmVudCwNCisJCQkgICBT TkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QUkVfUE1EKSwNCisNCisJLyogTE9M ICovDQorCVNORF9TT0NfREFQTV9NVVhfRSgiTE9MIE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwN CisJCQkgICAmbG9faW5fbXV4X2NvbnRyb2wsDQorCQkJICAgbXRfbG9fZXZlbnQsDQorCQkJICAg U05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUFJFX1BNRCksDQorDQorCS8qIE91 dHB1dHMgKi8NCisJU05EX1NPQ19EQVBNX09VVFBVVCgiUmVjZWl2ZXIiKSwNCisJU05EX1NPQ19E QVBNX09VVFBVVCgiSGVhZHBob25lIEwiKSwNCisJU05EX1NPQ19EQVBNX09VVFBVVCgiSGVhZHBo b25lIFIiKSwNCisJU05EX1NPQ19EQVBNX09VVFBVVCgiSGVhZHBob25lIEwgRXh0IFNwayBBbXAi KSwNCisJU05EX1NPQ19EQVBNX09VVFBVVCgiSGVhZHBob25lIFIgRXh0IFNwayBBbXAiKSwNCisJ U05EX1NPQ19EQVBNX09VVFBVVCgiTElORU9VVCBMIiksDQorDQorCS8qIFNHRU4gKi8NCisJU05E X1NPQ19EQVBNX1NVUFBMWSgiU0dFTiBETCBFbmFibGUiLCBNVDYzNTlfQUZFX1NHRU5fQ0ZHMCwN CisJCQkgICAgU0dFTl9EQUNfRU5fQ1RMX1NGVCwgMCwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQ TV9TVVBQTFkoIlNHRU4gTVVURSIsIE1UNjM1OV9BRkVfU0dFTl9DRkcwLA0KKwkJCSAgICBTR0VO X01VVEVfU1dfQ1RMX1NGVCwgMSwNCisJCQkgICAgbXRfc2dlbl9ldmVudCwNCisJCQkgICAgU05E X1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKwlTTkRfU09DX0RB UE1fU1VQUExZKCJTR0VOIERMIFNSQyIsIE1UNjM1OV9BRkVfRExfU1JDMl9DT04wX0wsDQorCQkJ ICAgIERMXzJfU1JDX09OX1RNUF9DVExfUFJFX1NGVCwgMCwgTlVMTCwgMCksDQorDQorCVNORF9T T0NfREFQTV9JTlBVVCgiU0dFTiBETCIpLA0KKw0KKwkvKiBVcGxpbmtzICovDQorCVNORF9TT0Nf REFQTV9BSUZfT1VUKCJBSUYxVFgiLCAiQUlGMSBDYXB0dXJlIiwgMCwNCisJCQkgICAgIFNORF9T T0NfTk9QTSwgMCwgMCksDQorCVNORF9TT0NfREFQTV9BSUZfT1VUKCJBSUYyVFgiLCAiQUlGMiBD YXB0dXJlIiwgMCwNCisJCQkgICAgIFNORF9TT0NfTk9QTSwgMCwgMCksDQorDQorCVNORF9TT0Nf REFQTV9TVVBQTFlfUygiQURDX0NMS0dFTiIsIFNVUFBMWV9TRVFfQURDX0NMS0dFTiwNCisJCQkg ICAgICBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgICAgbXRfYWRjX2Nsa19nZW5fZXZlbnQs DQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1VIHwgU05EX1NPQ19EQVBNX1BSRV9QTUQp LA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkRDQ19DTEsiLCBTVVBQTFlfU0VRX0RDQ19D TEssDQorCQkJICAgICAgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICAgIG10X2RjY19jbGtf ZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9T VF9QTUQpLA0KKw0KKwkvKiBVcGxpbmtzIE1VWCAqLw0KKwlTTkRfU09DX0RBUE1fTVVYKCJBSUYg T3V0IE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgJmFpZl9vdXRfbXV4X2NvbnRyb2wp LA0KKw0KKwlTTkRfU09DX0RBUE1fTVVYKCJBSUYyIE91dCBNdXgiLCBTTkRfU09DX05PUE0sIDAs IDAsDQorCQkJICZhaWYyX291dF9tdXhfY29udHJvbCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQ TFkoIkFJRlRYX1N1cHBseSIsIFNORF9TT0NfTk9QTSwgMCwgMCwgTlVMTCwgMCksDQorDQorCVNO RF9TT0NfREFQTV9TVVBQTFlfUygiTVRLQUlGX1RYIiwgU1VQUExZX1NFUV9VTF9NVEtBSUYsDQor CQkJICAgICAgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICAgIG10X210a2FpZl90eF9ldmVu dCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BN RCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiVUxfU1JDIiwgU1VQUExZX1NFUV9VTF9T UkMsDQorCQkJICAgICAgTVQ2MzU5X0FGRV9VTF9TUkNfQ09OMF9MLA0KKwkJCSAgICAgIFVMX1NS Q19PTl9UTVBfQ1RMX1NGVCwgMCwNCisJCQkgICAgICBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19E QVBNX1NVUFBMWV9TKCJVTF9TUkNfRE1JQyIsIFNVUFBMWV9TRVFfVUxfU1JDX0RNSUMsDQorCQkJ ICAgICAgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICAgIG10X3VsX3NyY19kbWljX2V2ZW50 LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1E KSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJVTF9TUkNfMzQiLCBTVVBQTFlfU0VRX1VM X1NSQywNCisJCQkgICAgICBNVDYzNTlfQUZFX0FEREE2X1VMX1NSQ19DT04wX0wsDQorCQkJICAg ICAgQUREQTZfVUxfU1JDX09OX1RNUF9DVExfU0ZULCAwLA0KKwkJCSAgICAgIE5VTEwsIDApLA0K Kw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlVMX1NSQ18zNF9ETUlDIiwgU1VQUExZX1NFUV9V TF9TUkNfRE1JQywNCisJCQkgICAgICBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgICAgbXRf dWxfc3JjXzM0X2RtaWNfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBT TkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKw0KKwlTTkRfU09DX0RBUE1fTVVYKCJNSVNPMF9NVVgi LCBTTkRfU09DX05PUE0sIDAsIDAsICZtaXNvMF9tdXhfY29udHJvbCksDQorCVNORF9TT0NfREFQ TV9NVVgoIk1JU08xX01VWCIsIFNORF9TT0NfTk9QTSwgMCwgMCwgJm1pc28xX211eF9jb250cm9s KSwNCisJU05EX1NPQ19EQVBNX01VWCgiTUlTTzJfTVVYIiwgU05EX1NPQ19OT1BNLCAwLCAwLCAm bWlzbzJfbXV4X2NvbnRyb2wpLA0KKw0KKwlTTkRfU09DX0RBUE1fTVVYKCJVTF9TUkNfTVVYIiwg U05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAmdWxfc3JjX211eF9jb250cm9sKSwNCisJU05EX1NP Q19EQVBNX01VWCgiVUwyX1NSQ19NVVgiLCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICZ1bDJf c3JjX211eF9jb250cm9sKSwNCisNCisJU05EX1NPQ19EQVBNX01VWCgiRE1JQzBfTVVYIiwgU05E X1NPQ19OT1BNLCAwLCAwLCAmZG1pYzBfbXV4X2NvbnRyb2wpLA0KKwlTTkRfU09DX0RBUE1fTVVY KCJETUlDMV9NVVgiLCBTTkRfU09DX05PUE0sIDAsIDAsICZkbWljMV9tdXhfY29udHJvbCksDQor CVNORF9TT0NfREFQTV9NVVgoIkRNSUMyX01VWCIsIFNORF9TT0NfTk9QTSwgMCwgMCwgJmRtaWMy X211eF9jb250cm9sKSwNCisNCisJU05EX1NPQ19EQVBNX01VWF9FKCJBRENfTF9NdXgiLCBTTkRf U09DX05PUE0sIDAsIDAsDQorCQkJICAgJmFkY19sZWZ0X211eF9jb250cm9sLCBOVUxMLCAwKSwN CisJU05EX1NPQ19EQVBNX01VWF9FKCJBRENfUl9NdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsDQor CQkJICAgJmFkY19yaWdodF9tdXhfY29udHJvbCwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9N VVhfRSgiQURDXzNfTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZhZGNfM19tdXhf Y29udHJvbCwgTlVMTCwgMCksDQorDQorCVNORF9TT0NfREFQTV9BREMoIkFEQ19MIiwgTlVMTCwg U05EX1NPQ19OT1BNLCAwLCAwKSwNCisJU05EX1NPQ19EQVBNX0FEQygiQURDX1IiLCBOVUxMLCBT TkRfU09DX05PUE0sIDAsIDApLA0KKwlTTkRfU09DX0RBUE1fQURDKCJBRENfMyIsIE5VTEwsIFNO RF9TT0NfTk9QTSwgMCwgMCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQURDX0xfRU4i LCBTVVBQTFlfU0VRX1VMX0FEQywNCisJCQkgICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04wLA0K KwkJCSAgICAgIFJHX0FVREFEQ0xQV1JVUF9TRlQsIDAsDQorCQkJICAgICAgbXRfYWRjX2xfZXZl bnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1VKSwNCisJU05EX1NPQ19EQVBNX1NV UFBMWV9TKCJBRENfUl9FTiIsIFNVUFBMWV9TRVFfVUxfQURDLA0KKwkJCSAgICAgIE1UNjM1OV9B VURFTkNfQU5BX0NPTjEsDQorCQkJICAgICAgUkdfQVVEQURDUlBXUlVQX1NGVCwgMCwNCisJCQkg ICAgICBtdF9hZGNfcl9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9QTVUpLA0K KwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkFEQ18zX0VOIiwgU1VQUExZX1NFUV9VTF9BREMsDQor CQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwNCisJCQkgICAgICBSR19BVURBREMzUFdS VVBfU0ZULCAwLA0KKwkJCSAgICAgIG10X2FkY18zX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0Nf REFQTV9QT1NUX1BNVSksDQorDQorCVNORF9TT0NfREFQTV9NVVhfRSgiUEdBX0xfTXV4IiwgU05E X1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZwZ2FfbGVmdF9tdXhfY29udHJvbCwNCisJCQkgICBt dF9wZ2FfbF9tdXhfZXZlbnQsDQorCQkJICAgU05EX1NPQ19EQVBNX1dJTExfUE1VKSwNCisJU05E X1NPQ19EQVBNX01VWF9FKCJQR0FfUl9NdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAg JnBnYV9yaWdodF9tdXhfY29udHJvbCwNCisJCQkgICBtdF9wZ2Ffcl9tdXhfZXZlbnQsDQorCQkJ ICAgU05EX1NPQ19EQVBNX1dJTExfUE1VKSwNCisJU05EX1NPQ19EQVBNX01VWF9FKCJQR0FfM19N dXgiLCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgJnBnYV8zX211eF9jb250cm9sLA0KKwkJ CSAgIG10X3BnYV8zX211eF9ldmVudCwNCisJCQkgICBTTkRfU09DX0RBUE1fV0lMTF9QTVUpLA0K Kw0KKwlTTkRfU09DX0RBUE1fUEdBKCJQR0FfTCIsIFNORF9TT0NfTk9QTSwgMCwgMCwgTlVMTCwg MCksDQorCVNORF9TT0NfREFQTV9QR0EoIlBHQV9SIiwgU05EX1NPQ19OT1BNLCAwLCAwLCBOVUxM LCAwKSwNCisJU05EX1NPQ19EQVBNX1BHQSgiUEdBXzMiLCBTTkRfU09DX05PUE0sIDAsIDAsIE5V TEwsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlBHQV9MX0VOIiwgU1VQUExZX1NF UV9VTF9QR0EsDQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkgICAgICBS R19BVURQUkVBTVBMT05fU0ZULCAwLA0KKwkJCSAgICAgIG10X3BnYV9sX2V2ZW50LA0KKwkJCSAg ICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9Q TVUgfA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorCVNORF9TT0NfREFQTV9T VVBQTFlfUygiUEdBX1JfRU4iLCBTVVBQTFlfU0VRX1VMX1BHQSwNCisJCQkgICAgICBNVDYzNTlf QVVERU5DX0FOQV9DT04xLA0KKwkJCSAgICAgIFJHX0FVRFBSRUFNUFJPTl9TRlQsIDAsDQorCQkJ ICAgICAgbXRfcGdhX3JfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfA0K KwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNVSB8DQorCQkJICAgICAgU05EX1NPQ19EQVBN X1BPU1RfUE1EKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJQR0FfM19FTiIsIFNVUFBMWV9T RVFfVUxfUEdBLA0KKwkJCSAgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIsDQorCQkJICAgICAg UkdfQVVEUFJFQU1QM09OX1NGVCwgMCwNCisJCQkgICAgICBtdF9wZ2FfM19ldmVudCwNCisJCQkg ICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8DQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1Rf UE1VIHwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKw0KKwkvKiBVTCBpbnB1 dCAqLw0KKwlTTkRfU09DX0RBUE1fSU5QVVQoIkFJTjAiKSwNCisJU05EX1NPQ19EQVBNX0lOUFVU KCJBSU4xIiksDQorCVNORF9TT0NfREFQTV9JTlBVVCgiQUlOMiIpLA0KKwlTTkRfU09DX0RBUE1f SU5QVVQoIkFJTjMiKSwNCisNCisJU05EX1NPQ19EQVBNX0lOUFVUKCJBSU4wX0RNSUMiKSwNCisJ U05EX1NPQ19EQVBNX0lOUFVUKCJBSU4yX0RNSUMiKSwNCisJU05EX1NPQ19EQVBNX0lOUFVUKCJB SU4zX0RNSUMiKSwNCisNCisJLyogbWljIGJpYXMgKi8NCisJU05EX1NPQ19EQVBNX1NVUFBMWV9T KCJNSUNfQklBU18wIiwgU1VQUExZX1NFUV9NSUNfQklBUywNCisJCQkgICAgICBNVDYzNTlfQVVE RU5DX0FOQV9DT04xNSwNCisJCQkgICAgICBSR19BVURQV0RCTUlDQklBUzBfU0ZULCAwLA0KKwkJ CSAgICAgIG10X21pY19iaWFzXzBfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9Q TVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIk1J Q19CSUFTXzEiLCBTVVBQTFlfU0VRX01JQ19CSUFTLA0KKwkJCSAgICAgIE1UNjM1OV9BVURFTkNf QU5BX0NPTjE2LA0KKwkJCSAgICAgIFJHX0FVRFBXREJNSUNCSUFTMV9TRlQsIDAsDQorCQkJICAg ICAgbXRfbWljX2JpYXNfMV9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSks DQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiTUlDX0JJQVNfMiIsIFNVUFBMWV9TRVFfTUlDX0JJ QVMsDQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcsDQorCQkJICAgICAgUkdfQVVE UFdEQk1JQ0JJQVMyX1NGVCwgMCwNCisJCQkgICAgICBtdF9taWNfYmlhc18yX2V2ZW50LA0KKwkJ CSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwNCisN CisJLyogZG1pYyAqLw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkRNSUNfMCIsIFNVUFBMWV9T RVFfRE1JQywNCisJCQkgICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04xMywNCisJCQkgICAgICBS R19BVURESUdNSUNFTl9TRlQsIDAsDQorCQkJICAgICAgTlVMTCwgMCksDQorCVNORF9TT0NfREFQ TV9TVVBQTFlfUygiRE1JQ18xIiwgU1VQUExZX1NFUV9ETUlDLA0KKwkJCSAgICAgIE1UNjM1OV9B VURFTkNfQU5BX0NPTjE0LA0KKwkJCSAgICAgIFJHX0FVRERJR01JQzFFTl9TRlQsIDAsDQorCQkJ ICAgICAgTlVMTCwgMCksDQorfTsNCisNCitzdGF0aWMgaW50IG10X2RjY19jbGtfY29ubmVjdChz dHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqc291cmNlLA0KKwkJCSAgICAgIHN0cnVjdCBzbmRf c29jX2RhcG1fd2lkZ2V0ICpzaW5rKQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQg KncgPSBzaW5rOw0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19k YXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0g c25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlpZiAoSVNfRENDX0JB U0UocHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMF0pIHx8DQorCSAgICBJU19EQ0NfQkFT RShwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8xXSkgfHwNCisJICAgIElTX0RDQ19CQVNF KHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzJdKSkNCisJCXJldHVybiAxOw0KKwllbHNl DQorCQlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1f cm91dGUgbXQ2MzU5X2RhcG1fcm91dGVzW10gPSB7DQorCS8qIENhcHR1cmUgKi8NCisJeyJBSUZU WF9TdXBwbHkiLCBOVUxMLCAiQ0xLX0JVRiJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJM RE9fVkFVRDE4In0sDQorCXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkFVREdMQiJ9LA0KKwl7IkFJ RlRYX1N1cHBseSIsIE5VTEwsICJDTEtTUSBBdWRpbyJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5V TEwsICJBVURfQ0sifSwNCisJeyJBSUZUWF9TdXBwbHkiLCBOVUxMLCAiQVVESUZfQ0sifSwNCisJ eyJBSUZUWF9TdXBwbHkiLCBOVUxMLCAiQVVESU9fVE9QX0FGRV9DVEwifSwNCisJeyJBSUZUWF9T dXBwbHkiLCBOVUxMLCAiQVVESU9fVE9QX1BXUl9DTEsifSwNCisJeyJBSUZUWF9TdXBwbHkiLCBO VUxMLCAiQVVESU9fVE9QX1BETl9SRVNFUlZFRCJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEws ICJBVURJT19UT1BfSTJTX0RMIn0sDQorCS8qDQorCSAqICpfQURDX0NUTCBzaG91bGQgZW5hYmxl IG9ubHkgaWYgVUxfU1JDIGluIHVzZSwNCisJICogYnV0IGRtIGNrIG1heSBiZSBuZWVkZWQgZXZl biBVTF9TUkNfeCBub3QgaW4gdXNlDQorCSAqLw0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJB VURJT19UT1BfQURDX0NUTCJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJBVURJT19UT1Bf QUREQTZfQURDX0NUTCJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJBRkVfT04ifSwNCisN CisJLyogdWwgY2ggMTIgKi8NCisJeyJBSUYxVFgiLCBOVUxMLCAiQUlGIE91dCBNdXgifSwNCisJ eyJBSUYxVFgiLCBOVUxMLCAiQUlGVFhfU3VwcGx5In0sDQorCXsiQUlGMVRYIiwgTlVMTCwgIk1U S0FJRl9UWCJ9LA0KKw0KKwl7IkFJRjJUWCIsIE5VTEwsICJBSUYyIE91dCBNdXgifSwNCisJeyJB SUYyVFgiLCBOVUxMLCAiQUlGVFhfU3VwcGx5In0sDQorCXsiQUlGMlRYIiwgTlVMTCwgIk1US0FJ Rl9UWCJ9LA0KKw0KKwl7IkFJRiBPdXQgTXV4IiwgIk5vcm1hbCBQYXRoIiwgIk1JU08wX01VWCJ9 LA0KKwl7IkFJRiBPdXQgTXV4IiwgIk5vcm1hbCBQYXRoIiwgIk1JU08xX01VWCJ9LA0KKwl7IkFJ RjIgT3V0IE11eCIsICJOb3JtYWwgUGF0aCIsICJNSVNPMl9NVVgifSwNCisNCisJeyJNSVNPMF9N VVgiLCAiVUwxX0NIMSIsICJVTF9TUkNfTVVYIn0sDQorCXsiTUlTTzBfTVVYIiwgIlVMMV9DSDIi LCAiVUxfU1JDX01VWCJ9LA0KKwl7Ik1JU08wX01VWCIsICJVTDJfQ0gxIiwgIlVMMl9TUkNfTVVY In0sDQorCXsiTUlTTzBfTVVYIiwgIlVMMl9DSDIiLCAiVUwyX1NSQ19NVVgifSwNCisNCisJeyJN SVNPMV9NVVgiLCAiVUwxX0NIMSIsICJVTF9TUkNfTVVYIn0sDQorCXsiTUlTTzFfTVVYIiwgIlVM MV9DSDIiLCAiVUxfU1JDX01VWCJ9LA0KKwl7Ik1JU08xX01VWCIsICJVTDJfQ0gxIiwgIlVMMl9T UkNfTVVYIn0sDQorCXsiTUlTTzFfTVVYIiwgIlVMMl9DSDIiLCAiVUwyX1NSQ19NVVgifSwNCisN CisJeyJNSVNPMl9NVVgiLCAiVUwxX0NIMSIsICJVTF9TUkNfTVVYIn0sDQorCXsiTUlTTzJfTVVY IiwgIlVMMV9DSDIiLCAiVUxfU1JDX01VWCJ9LA0KKwl7Ik1JU08yX01VWCIsICJVTDJfQ0gxIiwg IlVMMl9TUkNfTVVYIn0sDQorCXsiTUlTTzJfTVVYIiwgIlVMMl9DSDIiLCAiVUwyX1NSQ19NVVgi fSwNCisNCisJeyJVTF9TUkNfTVVYIiwgIkFNSUMiLCAiQURDX0wifSwNCisJeyJVTF9TUkNfTVVY IiwgIkFNSUMiLCAiQURDX1IifSwNCisJeyJVTF9TUkNfTVVYIiwgIkRNSUMiLCAiRE1JQzBfTVVY In0sDQorCXsiVUxfU1JDX01VWCIsICJETUlDIiwgIkRNSUMxX01VWCJ9LA0KKwl7IlVMX1NSQ19N VVgiLCBOVUxMLCAiVUxfU1JDIn0sDQorDQorCXsiVUwyX1NSQ19NVVgiLCAiQU1JQyIsICJBRENf MyJ9LA0KKwl7IlVMMl9TUkNfTVVYIiwgIkRNSUMiLCAiRE1JQzJfTVVYIn0sDQorCXsiVUwyX1NS Q19NVVgiLCBOVUxMLCAiVUxfU1JDXzM0In0sDQorDQorCXsiRE1JQzBfTVVYIiwgIkRNSUNfREFU QTAiLCAiQUlOMF9ETUlDIn0sDQorCXsiRE1JQzBfTVVYIiwgIkRNSUNfREFUQTFfTCIsICJBSU4y X0RNSUMifSwNCisJeyJETUlDMF9NVVgiLCAiRE1JQ19EQVRBMV9MXzEiLCAiQUlOMl9ETUlDIn0s DQorCXsiRE1JQzBfTVVYIiwgIkRNSUNfREFUQTFfUiIsICJBSU4zX0RNSUMifSwNCisJeyJETUlD MV9NVVgiLCAiRE1JQ19EQVRBMCIsICJBSU4wX0RNSUMifSwNCisJeyJETUlDMV9NVVgiLCAiRE1J Q19EQVRBMV9MIiwgIkFJTjJfRE1JQyJ9LA0KKwl7IkRNSUMxX01VWCIsICJETUlDX0RBVEExX0xf MSIsICJBSU4yX0RNSUMifSwNCisJeyJETUlDMV9NVVgiLCAiRE1JQ19EQVRBMV9SIiwgIkFJTjNf RE1JQyJ9LA0KKwl7IkRNSUMyX01VWCIsICJETUlDX0RBVEEwIiwgIkFJTjBfRE1JQyJ9LA0KKwl7 IkRNSUMyX01VWCIsICJETUlDX0RBVEExX0wiLCAiQUlOMl9ETUlDIn0sDQorCXsiRE1JQzJfTVVY IiwgIkRNSUNfREFUQTFfTF8xIiwgIkFJTjJfRE1JQyJ9LA0KKwl7IkRNSUMyX01VWCIsICJETUlD X0RBVEExX1IiLCAiQUlOM19ETUlDIn0sDQorDQorCXsiRE1JQzBfTVVYIiwgTlVMTCwgIlVMX1NS Q19ETUlDIn0sDQorCXsiRE1JQzFfTVVYIiwgTlVMTCwgIlVMX1NSQ19ETUlDIn0sDQorCXsiRE1J QzJfTVVYIiwgTlVMTCwgIlVMX1NSQ18zNF9ETUlDIn0sDQorDQorCXsiQUlOMF9ETUlDIiwgTlVM TCwgIkRNSUNfMCJ9LA0KKwl7IkFJTjJfRE1JQyIsIE5VTEwsICJETUlDXzEifSwNCisJeyJBSU4z X0RNSUMiLCBOVUxMLCAiRE1JQ18xIn0sDQorCXsiQUlOMF9ETUlDIiwgTlVMTCwgIk1JQ19CSUFT XzAifSwNCisJeyJBSU4yX0RNSUMiLCBOVUxMLCAiTUlDX0JJQVNfMiJ9LA0KKwl7IkFJTjNfRE1J QyIsIE5VTEwsICJNSUNfQklBU18yIn0sDQorDQorCS8qIGFkYyAqLw0KKwl7IkFEQ19MIiwgTlVM TCwgIkFEQ19MX011eCJ9LA0KKwl7IkFEQ19MIiwgTlVMTCwgIkFEQ19DTEtHRU4ifSwNCisJeyJB RENfTCIsIE5VTEwsICJBRENfTF9FTiJ9LA0KKwl7IkFEQ19SIiwgTlVMTCwgIkFEQ19SX011eCJ9 LA0KKwl7IkFEQ19SIiwgTlVMTCwgIkFEQ19DTEtHRU4ifSwNCisJeyJBRENfUiIsIE5VTEwsICJB RENfUl9FTiJ9LA0KKwkvKg0KKwkgKiBhbWljIGZpZm8gY2gxLzIgY2xrIGZyb20gQURDX0wsDQor CSAqIGVuYWJsZSBBRENfTCBldmVuIHVzZSBBRENfUiBvbmx5DQorCSAqLw0KKwl7IkFEQ19SIiwg TlVMTCwgIkFEQ19MX0VOIn0sDQorCXsiQURDXzMiLCBOVUxMLCAiQURDXzNfTXV4In0sDQorCXsi QURDXzMiLCBOVUxMLCAiQURDX0NMS0dFTiJ9LA0KKwl7IkFEQ18zIiwgTlVMTCwgIkFEQ18zX0VO In0sDQorDQorCXsiQURDX0xfTXV4IiwgIkxlZnQgUHJlYW1wbGlmaWVyIiwgIlBHQV9MIn0sDQor CXsiQURDX1JfTXV4IiwgIlJpZ2h0IFByZWFtcGxpZmllciIsICJQR0FfUiJ9LA0KKwl7IkFEQ18z X011eCIsICJQcmVhbXBsaWZpZXIiLCAiUEdBXzMifSwNCisNCisJeyJQR0FfTCIsIE5VTEwsICJQ R0FfTF9NdXgifSwNCisJeyJQR0FfTCIsIE5VTEwsICJQR0FfTF9FTiJ9LA0KKwl7IlBHQV9SIiwg TlVMTCwgIlBHQV9SX011eCJ9LA0KKwl7IlBHQV9SIiwgTlVMTCwgIlBHQV9SX0VOIn0sDQorCXsi UEdBXzMiLCBOVUxMLCAiUEdBXzNfTXV4In0sDQorCXsiUEdBXzMiLCBOVUxMLCAiUEdBXzNfRU4i fSwNCisNCisJeyJQR0FfTCIsIE5VTEwsICJEQ0NfQ0xLIiwgbXRfZGNjX2Nsa19jb25uZWN0fSwN CisJeyJQR0FfUiIsIE5VTEwsICJEQ0NfQ0xLIiwgbXRfZGNjX2Nsa19jb25uZWN0fSwNCisJeyJQ R0FfMyIsIE5VTEwsICJEQ0NfQ0xLIiwgbXRfZGNjX2Nsa19jb25uZWN0fSwNCisNCisJeyJQR0Ff TF9NdXgiLCAiQUlOMCIsICJBSU4wIn0sDQorCXsiUEdBX0xfTXV4IiwgIkFJTjEiLCAiQUlOMSJ9 LA0KKw0KKwl7IlBHQV9SX011eCIsICJBSU4wIiwgIkFJTjAifSwNCisJeyJQR0FfUl9NdXgiLCAi QUlOMiIsICJBSU4yIn0sDQorCXsiUEdBX1JfTXV4IiwgIkFJTjMiLCAiQUlOMyJ9LA0KKw0KKwl7 IlBHQV8zX011eCIsICJBSU4yIiwgIkFJTjIifSwNCisJeyJQR0FfM19NdXgiLCAiQUlOMyIsICJB SU4zIn0sDQorDQorCXsiQUlOMCIsIE5VTEwsICJNSUNfQklBU18wIn0sDQorCXsiQUlOMSIsIE5V TEwsICJNSUNfQklBU18xIn0sDQorCXsiQUlOMiIsIE5VTEwsICJNSUNfQklBU18wIn0sDQorCXsi QUlOMiIsIE5VTEwsICJNSUNfQklBU18yIn0sDQorCXsiQUlOMyIsIE5VTEwsICJNSUNfQklBU18y In0sDQorDQorCS8qIERMIFN1cHBseSAqLw0KKwl7IkRMIFBvd2VyIFN1cHBseSIsIE5VTEwsICJD TEtfQlVGIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5IiwgTlVMTCwgIkxET19WQVVEMTgifSwNCisJ eyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiQVVER0xCIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5 IiwgTlVMTCwgIkNMS1NRIEF1ZGlvIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5IiwgTlVMTCwgIkFV RE5DUF9DSyJ9LA0KKwl7IkRMIFBvd2VyIFN1cHBseSIsIE5VTEwsICJaQ0QxM01fQ0sifSwNCisJ eyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiQVVEX0NLIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5 IiwgTlVMTCwgIkFVRElGX0NLIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5IiwgTlVMTCwgIkVTRF9S RVNJU1QifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiTERPIn0sDQorCXsiREwgUG93 ZXIgU3VwcGx5IiwgTlVMTCwgIkxET19SRU1PVEUifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBO VUxMLCAiTlZfUkVHVUxBVE9SIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5IiwgTlVMTCwgIklCSVNU In0sDQorDQorCS8qIERMIERpZ2l0YWwgU3VwcGx5ICovDQorCXsiREwgRGlnaXRhbCBDbG9jayIs IE5VTEwsICJBVURJT19UT1BfQUZFX0NUTCJ9LA0KKwl7IkRMIERpZ2l0YWwgQ2xvY2siLCBOVUxM LCAiQVVESU9fVE9QX0RBQ19DVEwifSwNCisJeyJETCBEaWdpdGFsIENsb2NrIiwgTlVMTCwgIkFV RElPX1RPUF9QV1JfQ0xLIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayIsIE5VTEwsICJBVURJT19U T1BfUEROX1JFU0VSVkVEIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayIsIE5VTEwsICJTRE1fRklG T19DTEsifSwNCisJeyJETCBEaWdpdGFsIENsb2NrIiwgTlVMTCwgIk5DUCJ9LA0KKwl7IkRMIERp Z2l0YWwgQ2xvY2siLCBOVUxMLCAiQUZFX09OIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayIsIE5V TEwsICJBRkVfRExfU1JDIn0sDQorDQorCXsiREwgRGlnaXRhbCBDbG9jayBDSF8xXzIiLCBOVUxM LCAiREwgRGlnaXRhbCBDbG9jayJ9LA0KKwl7IkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMV8yIiwgTlVM TCwgIlNETSJ9LA0KKw0KKwl7IkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMyIsIE5VTEwsICJETCBEaWdp dGFsIENsb2NrIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayBDSF8zIiwgTlVMTCwgIlNETV8zUkQi fSwNCisNCisJeyJBSUZfUlgiLCBOVUxMLCAiREwgRGlnaXRhbCBDbG9jayBDSF8xXzIifSwNCisN CisJeyJBSUYyX1JYIiwgTlVMTCwgIkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMyJ9LA0KKw0KKwkvKiBE TCBQYXRoICovDQorCXsiREFDIEluIE11eCIsICJOb3JtYWwgUGF0aCIsICJBSUZfUlgifSwNCisJ eyJEQUMgSW4gTXV4IiwgIlNnZW4iLCAiU0dFTiBETCJ9LA0KKwl7IlNHRU4gREwiLCBOVUxMLCAi U0dFTiBETCBTUkMifSwNCisJeyJTR0VOIERMIiwgTlVMTCwgIlNHRU4gTVVURSJ9LA0KKwl7IlNH RU4gREwiLCBOVUxMLCAiU0dFTiBETCBFbmFibGUifSwNCisJeyJTR0VOIERMIiwgTlVMTCwgIkRM IERpZ2l0YWwgQ2xvY2sgQ0hfMV8yIn0sDQorCXsiU0dFTiBETCIsIE5VTEwsICJETCBEaWdpdGFs IENsb2NrIENIXzMifSwNCisJeyJTR0VOIERMIiwgTlVMTCwgIkFVRElPX1RPUF9QRE5fQUZFX1RF U1RNT0RFTCJ9LA0KKw0KKwl7IkRBQ0wiLCBOVUxMLCAiREFDIEluIE11eCJ9LA0KKwl7IkRBQ0wi LCBOVUxMLCAiREwgUG93ZXIgU3VwcGx5In0sDQorDQorCXsiREFDUiIsIE5VTEwsICJEQUMgSW4g TXV4In0sDQorCXsiREFDUiIsIE5VTEwsICJETCBQb3dlciBTdXBwbHkifSwNCisNCisJLyogREFD IDNSRCAqLw0KKwl7IkRBQyBJbiBNdXgiLCAiTm9ybWFsIFBhdGgiLCAiQUlGMl9SWCJ9LA0KKwl7 IkRBQ18zUkQiLCBOVUxMLCAiREFDIEluIE11eCJ9LA0KKwl7IkRBQ18zUkQiLCBOVUxMLCAiREwg UG93ZXIgU3VwcGx5In0sDQorDQorCS8qIExpbmVvdXQgUGF0aCAqLw0KKwl7IkxPTCBNdXgiLCAi UGxheWJhY2siLCAiREFDXzNSRCJ9LA0KKwl7IkxJTkVPVVQgTCIsIE5VTEwsICJMT0wgTXV4In0s DQorDQorCS8qIEhlYWRwaG9uZSBQYXRoICovDQorCXsiSFBfU3VwcGx5IiwgTlVMTCwgIkhQX1BV TExfRE9XTiJ9LA0KKwl7IkhQX1N1cHBseSIsIE5VTEwsICJIUF9NVVRFIn0sDQorCXsiSFBfU3Vw cGx5IiwgTlVMTCwgIkhQX0RBTVAifSwNCisJeyJIUCBNdXgiLCBOVUxMLCAiSFBfU3VwcGx5In0s DQorDQorCXsiSFAgTXV4IiwgIkF1ZGlvIFBsYXliYWNrIiwgIkRBQ0wifSwNCisJeyJIUCBNdXgi LCAiQXVkaW8gUGxheWJhY2siLCAiREFDUiJ9LA0KKwl7IkhQIE11eCIsICJIUCBJbXBlZGFuY2Ui LCAiREFDTCJ9LA0KKwl7IkhQIE11eCIsICJIUCBJbXBlZGFuY2UiLCAiREFDUiJ9LA0KKwl7IkhQ IE11eCIsICJMb3VkU1BLIFBsYXliYWNrIiwgIkRBQ0wifSwNCisJeyJIUCBNdXgiLCAiTG91ZFNQ SyBQbGF5YmFjayIsICJEQUNSIn0sDQorDQorCXsiSGVhZHBob25lIEwiLCBOVUxMLCAiSFAgTXV4 In0sDQorCXsiSGVhZHBob25lIFIiLCBOVUxMLCAiSFAgTXV4In0sDQorCXsiSGVhZHBob25lIEwg RXh0IFNwayBBbXAiLCBOVUxMLCAiSFAgTXV4In0sDQorCXsiSGVhZHBob25lIFIgRXh0IFNwayBB bXAiLCBOVUxMLCAiSFAgTXV4In0sDQorDQorCS8qIFJlY2VpdmVyIFBhdGggKi8NCisJeyJSQ1Yg TXV4IiwgIlZvaWNlIFBsYXliYWNrIiwgIkRBQ0wifSwNCisJeyJSZWNlaXZlciIsIE5VTEwsICJS Q1YgTXV4In0sDQorfTsNCisNCitzdGF0aWMgaW50IG10NjM1OV9jb2RlY19kYWlfaHdfcGFyYW1z KHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLA0KKwkJCQkgICAgICBzdHJ1Y3Qg c25kX3BjbV9od19wYXJhbXMgKnBhcmFtcywNCisJCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFp ICpkYWkpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gZGFpLT5jb21w b25lbnQ7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dl dF9kcnZkYXRhKGNtcG50KTsNCisJdW5zaWduZWQgaW50IHJhdGUgPSBwYXJhbXNfcmF0ZShwYXJh bXMpOw0KKwlpbnQgaWQgPSBkYWktPmlkOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCks IGlkICVkLCBzdWJzdHJlYW0tPnN0cmVhbSAlZCwgcmF0ZSAlZCwgbnVtYmVyICVkXG4iLA0KKwkJ X19mdW5jX18sIGlkLCBzdWJzdHJlYW0tPnN0cmVhbSwgcmF0ZSwgc3Vic3RyZWFtLT5udW1iZXIp Ow0KKw0KKwlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFD SykNCisJCXByaXYtPmRsX3JhdGVbaWRdID0gcmF0ZTsNCisJZWxzZSBpZiAoc3Vic3RyZWFtLT5z dHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFKQ0KKwkJcHJpdi0+dWxfcmF0ZVtpZF0g PSByYXRlOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdDYzNTlfY29kZWNf ZGFpX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sDQorCQkJCSAg ICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVu dCAqY21wbnQgPSBkYWktPmNvbXBvbmVudDsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0g c25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZfZGJnKHByaXYt PmRldiwgIiVzIHN0cmVhbSAlZFxuIiwgX19mdW5jX18sIHN1YnN0cmVhbS0+c3RyZWFtKTsNCisJ aWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spDQorCQlt dDYzNTlfc2V0X3BsYXliYWNrX2dwaW8ocHJpdik7DQorCWVsc2UgaWYgKHN1YnN0cmVhbS0+c3Ry ZWFtID09IFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSkNCisJCW10NjM1OV9zZXRfY2FwdHVyZV9n cGlvKHByaXYpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHZvaWQgbXQ2MzU5X2Nv ZGVjX2RhaV9zaHV0ZG93bihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwNCisJ CQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19j b21wb25lbnQgKmNtcG50ID0gZGFpLT5jb21wb25lbnQ7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAq cHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJZGV2X2Ri Zyhwcml2LT5kZXYsICIlcyBzdHJlYW0gJWRcbiIsIF9fZnVuY19fLCBzdWJzdHJlYW0tPnN0cmVh bSk7DQorCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNL KQ0KKwkJbXQ2MzU5X3Jlc2V0X3BsYXliYWNrX2dwaW8ocHJpdik7DQorCWVsc2UgaWYgKHN1YnN0 cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSkNCisJCW10NjM1OV9yZXNl dF9jYXB0dXJlX2dwaW8ocHJpdik7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3Nv Y19kYWlfb3BzIG10NjM1OV9jb2RlY19kYWlfb3BzID0gew0KKwkuaHdfcGFyYW1zID0gbXQ2MzU5 X2NvZGVjX2RhaV9od19wYXJhbXMsDQorCS5zdGFydHVwID0gbXQ2MzU5X2NvZGVjX2RhaV9zdGFy dHVwLA0KKwkuc2h1dGRvd24gPSBtdDYzNTlfY29kZWNfZGFpX3NodXRkb3duLA0KK307DQorDQor I2RlZmluZSBNVDYzNTlfRk9STUFUUyAoU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9Q Q01fRk1UQklUX1MxNl9CRSB8XA0KKwkJCVNORFJWX1BDTV9GTVRCSVRfVTE2X0xFIHwgU05EUlZf UENNX0ZNVEJJVF9VMTZfQkUgfFwNCisJCQlTTkRSVl9QQ01fRk1UQklUX1MyNF9MRSB8IFNORFJW X1BDTV9GTVRCSVRfUzI0X0JFIHxcDQorCQkJU05EUlZfUENNX0ZNVEJJVF9VMjRfTEUgfCBTTkRS Vl9QQ01fRk1UQklUX1UyNF9CRSB8XA0KKwkJCVNORFJWX1BDTV9GTVRCSVRfUzMyX0xFIHwgU05E UlZfUENNX0ZNVEJJVF9TMzJfQkUgfFwNCisJCQlTTkRSVl9QQ01fRk1UQklUX1UzMl9MRSB8IFNO RFJWX1BDTV9GTVRCSVRfVTMyX0JFKQ0KKw0KK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWlfZHJp dmVyIG10NjM1OV9kYWlfZHJpdmVyW10gPSB7DQorCXsNCisJCS5pZCA9IE1UNjM1OV9BSUZfMSwN CisJCS5uYW1lID0gIm10NjM1OS1zbmQtY29kZWMtYWlmMSIsDQorCQkucGxheWJhY2sgPSB7DQor CQkJLnN0cmVhbV9uYW1lID0gIkFJRjEgUGxheWJhY2siLA0KKwkJCS5jaGFubmVsc19taW4gPSAx LA0KKwkJCS5jaGFubmVsc19tYXggPSAyLA0KKwkJCS5yYXRlcyA9IFNORFJWX1BDTV9SQVRFXzgw MDBfNDgwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfOTYwMDAgfA0KKwkJCQkgU05EUlZfUENN X1JBVEVfMTkyMDAwLA0KKwkJCS5mb3JtYXRzID0gTVQ2MzU5X0ZPUk1BVFMsDQorCQl9LA0KKwkJ LmNhcHR1cmUgPSB7DQorCQkJLnN0cmVhbV9uYW1lID0gIkFJRjEgQ2FwdHVyZSIsDQorCQkJLmNo YW5uZWxzX21pbiA9IDEsDQorCQkJLmNoYW5uZWxzX21heCA9IDIsDQorCQkJLnJhdGVzID0gU05E UlZfUENNX1JBVEVfODAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV8xNjAwMCB8DQorCQkJCSBT TkRSVl9QQ01fUkFURV8zMjAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV80ODAwMCB8DQorCQkJ CSBTTkRSVl9QQ01fUkFURV85NjAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV8xOTIwMDAsDQor CQkJLmZvcm1hdHMgPSBNVDYzNTlfRk9STUFUUywNCisJCX0sDQorCQkub3BzID0gJm10NjM1OV9j b2RlY19kYWlfb3BzLA0KKwl9LA0KKwl7DQorCQkuaWQgPSBNVDYzNTlfQUlGXzIsDQorCQkubmFt ZSA9ICJtdDYzNTktc25kLWNvZGVjLWFpZjIiLA0KKwkJLnBsYXliYWNrID0gew0KKwkJCS5zdHJl YW1fbmFtZSA9ICJBSUYyIFBsYXliYWNrIiwNCisJCQkuY2hhbm5lbHNfbWluID0gMSwNCisJCQku Y2hhbm5lbHNfbWF4ID0gMiwNCisJCQkucmF0ZXMgPSBTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAw IHwNCisJCQkJIFNORFJWX1BDTV9SQVRFXzk2MDAwIHwNCisJCQkJIFNORFJWX1BDTV9SQVRFXzE5 MjAwMCwNCisJCQkuZm9ybWF0cyA9IE1UNjM1OV9GT1JNQVRTLA0KKwkJfSwNCisJCS5jYXB0dXJl ID0gew0KKwkJCS5zdHJlYW1fbmFtZSA9ICJBSUYyIENhcHR1cmUiLA0KKwkJCS5jaGFubmVsc19t aW4gPSAxLA0KKwkJCS5jaGFubmVsc19tYXggPSAyLA0KKwkJCS5yYXRlcyA9IFNORFJWX1BDTV9S QVRFXzgwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfMTYwMDAgfA0KKwkJCQkgU05EUlZfUENN X1JBVEVfMzIwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfNDgwMDAsDQorCQkJLmZvcm1hdHMg PSBNVDYzNTlfRk9STUFUUywNCisJCX0sDQorCQkub3BzID0gJm10NjM1OV9jb2RlY19kYWlfb3Bz LA0KKwl9LA0KK307DQorDQorc3RhdGljIGludCBtdDYzNTlfY29kZWNfaW5pdF9yZWcoc3RydWN0 IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCkNCit7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJp diA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJLyogZW5hYmxl IGNsayBidWYgKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0RD WE9fQ1cxMiwNCisJCQkgICAweDEgPDwgUkdfWE9fQVVESU9fRU5fTV9TRlQsDQorCQkJICAgMHgx IDw8IFJHX1hPX0FVRElPX0VOX01fU0ZUKTsNCisNCisJLyogc2V0IHRob3NlIG5vdCBjb250cm9s bGVkIGJ5IGRhcG0gd2lkZ2V0ICovDQorDQorCS8qIGF1ZGlvIGNsayBzb3VyY2UgZnJvbSBpbnRl cm5hbCBkY3hvICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9B VURFTkNfQU5BX0NPTjIzLA0KKwkJCSAgIFJHX0NMS1NRX0lOX1NFTF9URVNUX01BU0tfU0ZULA0K KwkJCSAgIDB4MCk7DQorDQorCS8qIERpc2FibGUgSGVhZHBob25lTC9IZWFkcGhvbmVSIHNob3J0 IGNpcmN1aXQgcHJvdGVjdGlvbiAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVEREVDX0FOQV9DT04wLA0KKwkJCSAgIFJHX0FVREhQTFNDRElTQUJMRV9WQVVE UDMyX01BU0tfU0ZULA0KKwkJCSAgIDB4MSA8PCBSR19BVURIUExTQ0RJU0FCTEVfVkFVRFAzMl9T RlQpOw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FO QV9DT04wLA0KKwkJCSAgIFJHX0FVREhQUlNDRElTQUJMRV9WQVVEUDMyX01BU0tfU0ZULA0KKwkJ CSAgIDB4MSA8PCBSR19BVURIUFJTQ0RJU0FCTEVfVkFVRFAzMl9TRlQpOw0KKwkvKiBEaXNhYmxl IHZvaWNlIHNob3J0IGNpcmN1aXQgcHJvdGVjdGlvbiAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LA0KKwkJCSAgIFJHX0FVREhTU0NE SVNBQkxFX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJICAgMHgxIDw8IFJHX0FVREhTU0NESVNBQkxF X1ZBVURQMzJfU0ZUKTsNCisJLyogZGlzYWJsZSBMTyBidWZmZXIgbGVmdCBzaG9ydCBjaXJjdWl0 IHByb3RlY3Rpb24gKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FVRERFQ19BTkFfQ09ONywNCisJCQkgICBSR19BVURMT0xTQ0RJU0FCTEVfVkFVRFAzMl9NQVNL X1NGVCwNCisJCQkgICAweDEgPDwgUkdfQVVETE9MU0NESVNBQkxFX1ZBVURQMzJfU0ZUKTsNCisN CisJLyogc2V0IGdwaW8gKi8NCisJbXQ2MzU5X3Jlc2V0X3BsYXliYWNrX2dwaW8ocHJpdik7DQor CW10NjM1OV9yZXNldF9jYXB0dXJlX2dwaW8ocHJpdik7DQorDQorCS8qIGhwIGhpZmkgbW9kZSwg ZGVmYXVsdCBub3JtYWwgbW9kZSAqLw0KKwlwcml2LT5ocF9oaWZpX21vZGUgPSAwOw0KKw0KKwkv KiBEaXNhYmxlIEFVRF9aQ0QgKi8NCisJemNkX2Rpc2FibGUocHJpdik7DQorDQorCS8qIGRpc2Fi bGUgY2xrIGJ1ZiAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlf RENYT19DVzEyLA0KKwkJCSAgIDB4MSA8PCBSR19YT19BVURJT19FTl9NX1NGVCwNCisJCQkgICAw eDAgPDwgUkdfWE9fQVVESU9fRU5fTV9TRlQpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIGludCBtdDYzNTlfY29kZWNfcHJvYmUoc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBu dCkNCit7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dl dF9kcnZkYXRhKGNtcG50KTsNCisNCisJc25kX3NvY19jb21wb25lbnRfaW5pdF9yZWdtYXAoY21w bnQsIHByaXYtPnJlZ21hcCk7DQorDQorCXJldHVybiBtdDYzNTlfY29kZWNfaW5pdF9yZWcoY21w bnQpOw0KK30NCisNCitzdGF0aWMgdm9pZCBtdDYzNTlfY29kZWNfcmVtb3ZlKHN0cnVjdCBzbmRf c29jX2NvbXBvbmVudCAqY21wbnQpDQorew0KKwlzbmRfc29jX2NvbXBvbmVudF9leGl0X3JlZ21h cChjbXBudCk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShocF9w bGF5YmFja190bHYsIC0yMjAwLCAxMDAsIDApOw0KK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9E Ql9TQ0FMRShwbGF5YmFja190bHYsIC0xMDAwLCAxMDAsIDApOw0KK3N0YXRpYyBjb25zdCBERUNM QVJFX1RMVl9EQl9TQ0FMRShjYXB0dXJlX3RsdiwgMCwgNjAwLCAwKTsNCisNCitzdGF0aWMgY29u c3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgbXQ2MzU5X3NuZF9jb250cm9sc1tdID0gew0KKwkv KiBkbCBwZ2EgZ2FpbiAqLw0KKwlTT0NfRE9VQkxFX0VYVF9UTFYoIkhlYWRzZXQgVm9sdW1lIiwN CisJCQkgICBNVDYzNTlfWkNEX0NPTjIsIDAsIDcsIDB4MUUsIDAsDQorCQkJICAgc25kX3NvY19n ZXRfdm9sc3csIG10NjM1OV9wdXRfdm9sc3csDQorCQkJICAgaHBfcGxheWJhY2tfdGx2KSwNCisJ U09DX0RPVUJMRV9FWFRfVExWKCJMaW5lb3V0IFZvbHVtZSIsDQorCQkJICAgTVQ2MzU5X1pDRF9D T04xLCAwLCA3LCAweDEyLCAwLA0KKwkJCSAgIHNuZF9zb2NfZ2V0X3ZvbHN3LCBtdDYzNTlfcHV0 X3ZvbHN3LCBwbGF5YmFja190bHYpLA0KKwlTT0NfU0lOR0xFX0VYVF9UTFYoIkhhbmRzZXQgVm9s dW1lIiwNCisJCQkgICBNVDYzNTlfWkNEX0NPTjMsIDAsIDB4MTIsIDAsDQorCQkJICAgc25kX3Nv Y19nZXRfdm9sc3csIG10NjM1OV9wdXRfdm9sc3csIHBsYXliYWNrX3RsdiksDQorDQorCS8qIHVs IHBnYSBnYWluICovDQorCVNPQ19TSU5HTEVfRVhUX1RMVigiUEdBMSBWb2x1bWUiLA0KKwkJCSAg IE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsIFJHX0FVRFBSRUFNUExHQUlOX1NGVCwgNCwgMCwNCisJ CQkgICBzbmRfc29jX2dldF92b2xzdywgbXQ2MzU5X3B1dF92b2xzdywgY2FwdHVyZV90bHYpLA0K KwlTT0NfU0lOR0xFX0VYVF9UTFYoIlBHQTIgVm9sdW1lIiwNCisJCQkgICBNVDYzNTlfQVVERU5D X0FOQV9DT04xLCBSR19BVURQUkVBTVBSR0FJTl9TRlQsIDQsIDAsDQorCQkJICAgc25kX3NvY19n ZXRfdm9sc3csIG10NjM1OV9wdXRfdm9sc3csIGNhcHR1cmVfdGx2KSwNCisJU09DX1NJTkdMRV9F WFRfVExWKCJQR0EzIFZvbHVtZSIsDQorCQkJICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwgUkdf QVVEUFJFQU1QM0dBSU5fU0ZULCA0LCAwLA0KKwkJCSAgIHNuZF9zb2NfZ2V0X3ZvbHN3LCBtdDYz NTlfcHV0X3ZvbHN3LCBjYXB0dXJlX3RsdiksDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0 IHNuZF9zb2NfY29tcG9uZW50X2RyaXZlciBtdDYzNTlfc29jX2NvbXBvbmVudF9kcml2ZXIgPSB7 DQorCS5uYW1lID0gQ09ERUNfTVQ2MzU5X05BTUUsDQorCS5wcm9iZSA9IG10NjM1OV9jb2RlY19w cm9iZSwNCisJLnJlbW92ZSA9IG10NjM1OV9jb2RlY19yZW1vdmUsDQorCS5jb250cm9scyA9IG10 NjM1OV9zbmRfY29udHJvbHMsDQorCS5udW1fY29udHJvbHMgPSBBUlJBWV9TSVpFKG10NjM1OV9z bmRfY29udHJvbHMpLA0KKwkuZGFwbV93aWRnZXRzID0gbXQ2MzU5X2RhcG1fd2lkZ2V0cywNCisJ Lm51bV9kYXBtX3dpZGdldHMgPSBBUlJBWV9TSVpFKG10NjM1OV9kYXBtX3dpZGdldHMpLA0KKwku ZGFwbV9yb3V0ZXMgPSBtdDYzNTlfZGFwbV9yb3V0ZXMsDQorCS5udW1fZGFwbV9yb3V0ZXMgPSBB UlJBWV9TSVpFKG10NjM1OV9kYXBtX3JvdXRlcyksDQorfTsNCisNCitzdGF0aWMgaW50IG10NjM1 OV9wYXJzZV9kdChzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwlpbnQgcmV0Ow0KKwlz dHJ1Y3QgZGV2aWNlICpkZXYgPSBwcml2LT5kZXY7DQorDQorCXJldCA9IG9mX3Byb3BlcnR5X3Jl YWRfdTMyKGRldi0+b2Zfbm9kZSwgIm1lZGlhdGVrLGRtaWMtbW9kZSIsDQorCQkJCSAgICZwcml2 LT5kbWljX29uZV93aXJlX21vZGUpOw0KKwlpZiAocmV0KSB7DQorCQlkZXZfd2Fybihwcml2LT5k ZXYsICIlcygpIGZhaWxlZCB0byByZWFkIGRtaWMtbW9kZVxuIiwNCisJCQkgX19mdW5jX18pOw0K KwkJcHJpdi0+ZG1pY19vbmVfd2lyZV9tb2RlID0gMDsNCisJfQ0KKw0KKwlyZXQgPSBvZl9wcm9w ZXJ0eV9yZWFkX3UzMihkZXYtPm9mX25vZGUsICJtZWRpYXRlayxtaWMtdHlwZS0wIiwNCisJCQkJ ICAgJnByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzBdKTsNCisJaWYgKHJldCkgew0KKwkJ ZGV2X3dhcm4ocHJpdi0+ZGV2LCAiJXMoKSBmYWlsZWQgdG8gcmVhZCBtaWMtdHlwZS0wXG4iLA0K KwkJCSBfX2Z1bmNfXyk7DQorCQlwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8wXSA9IE1J Q19UWVBFX01VWF9JRExFOw0KKwl9DQorDQorCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKGRl di0+b2Zfbm9kZSwgIm1lZGlhdGVrLG1pYy10eXBlLTEiLA0KKwkJCQkgICAmcHJpdi0+bXV4X3Nl bGVjdFtNVVhfTUlDX1RZUEVfMV0pOw0KKwlpZiAocmV0KSB7DQorCQlkZXZfd2Fybihwcml2LT5k ZXYsICIlcygpIGZhaWxlZCB0byByZWFkIG1pYy10eXBlLTFcbiIsDQorCQkJIF9fZnVuY19fKTsN CisJCXByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzFdID0gTUlDX1RZUEVfTVVYX0lETEU7 DQorCX0NCisNCisJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoZGV2LT5vZl9ub2RlLCAibWVk aWF0ZWssbWljLXR5cGUtMiIsDQorCQkJCSAgICZwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQ RV8yXSk7DQorCWlmIChyZXQpIHsNCisJCWRldl93YXJuKHByaXYtPmRldiwgIiVzKCkgZmFpbGVk IHRvIHJlYWQgbWljLXR5cGUtMlxuIiwNCisJCQkgX19mdW5jX18pOw0KKwkJcHJpdi0+bXV4X3Nl bGVjdFtNVVhfTUlDX1RZUEVfMl0gPSBNSUNfVFlQRV9NVVhfSURMRTsNCisJfQ0KKw0KKwlyZXR1 cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdDYzNTlfcGxhdGZvcm1fZHJpdmVyX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXY7DQorCWludCByZXQ7DQorCXN0cnVjdCBtdDYzOTdfY2hpcCAqbXQ2Mzk3ID0gZGV2X2dldF9k cnZkYXRhKHBkZXYtPmRldi5wYXJlbnQpOw0KKw0KKwlkZXZfZGJnKCZwZGV2LT5kZXYsICIlcygp LCBkZXYgbmFtZSAlc1xuIiwNCisJCV9fZnVuY19fLCBkZXZfbmFtZSgmcGRldi0+ZGV2KSk7DQor DQorCXByaXYgPSBkZXZtX2t6YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKCpwcml2KSwgR0ZQX0tF Uk5FTCk7DQorCWlmICghcHJpdikNCisJCXJldHVybiAtRU5PTUVNOw0KKw0KKwlwcml2LT5yZWdt YXAgPSBtdDYzOTctPnJlZ21hcDsNCisJaWYgKElTX0VSUihwcml2LT5yZWdtYXApKQ0KKwkJcmV0 dXJuIFBUUl9FUlIocHJpdi0+cmVnbWFwKTsNCisNCisJZGV2X3NldF9kcnZkYXRhKCZwZGV2LT5k ZXYsIHByaXYpOw0KKwlwcml2LT5kZXYgPSAmcGRldi0+ZGV2Ow0KKw0KKwlwcml2LT5hdmRkX3Jl ZyA9IGRldm1fcmVndWxhdG9yX2dldCgmcGRldi0+ZGV2LCAidmF1ZDE4Iik7DQorCWlmIChJU19F UlIocHJpdi0+YXZkZF9yZWcpKSB7DQorCQlkZXZfZXJyKCZwZGV2LT5kZXYsICIlcygpLCBoYXZl IG5vIHZhdWQxOCBzdXBwbHk6ICVsZCIsDQorCQkJX19mdW5jX18sIFBUUl9FUlIocHJpdi0+YXZk ZF9yZWcpKTsNCisJCXJldHVybiBQVFJfRVJSKHByaXYtPmF2ZGRfcmVnKTsNCisJfQ0KKw0KKwly ZXQgPSByZWd1bGF0b3JfZW5hYmxlKHByaXYtPmF2ZGRfcmVnKTsNCisJaWYgKHJldCkgew0KKwkJ ZGV2X2VycigmcGRldi0+ZGV2LCAiJXMoKSwgZmFpbGVkIHRvIGVuYWJsZSByZWd1bGF0b3IhXG4i LA0KKwkJCV9fZnVuY19fKTsNCisJCXJldHVybiByZXQ7DQorCX0NCisNCisJcmV0ID0gbXQ2MzU5 X3BhcnNlX2R0KHByaXYpOw0KKwlpZiAocmV0KSB7DQorCQlkZXZfd2FybigmcGRldi0+ZGV2LCAi JXMoKSBmYWlsZWQgdG8gcGFyc2UgZHRzXG4iLCBfX2Z1bmNfXyk7DQorCQlyZXR1cm4gcmV0Ow0K Kwl9DQorDQorCXJldHVybiBkZXZtX3NuZF9zb2NfcmVnaXN0ZXJfY29tcG9uZW50KCZwZGV2LT5k ZXYsDQorCQkJCQkgICAgICAgJm10NjM1OV9zb2NfY29tcG9uZW50X2RyaXZlciwNCisJCQkJCSAg ICAgICBtdDYzNTlfZGFpX2RyaXZlciwNCisJCQkJCSAgICAgICBBUlJBWV9TSVpFKG10NjM1OV9k YWlfZHJpdmVyKSk7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXQ2MzU5X3BsYXRmb3JtX2RyaXZlcl9y ZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBtdDYzNTlf cHJpdiAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YSgmcGRldi0+ZGV2KTsNCisJaW50IHJldDsNCisN CisJZGV2X2RiZygmcGRldi0+ZGV2LCAiJXMoKSwgZGV2IG5hbWUgJXNcbiIsDQorCQlfX2Z1bmNf XywgZGV2X25hbWUoJnBkZXYtPmRldikpOw0KKw0KKwlyZXQgPSByZWd1bGF0b3JfZGlzYWJsZShw cml2LT5hdmRkX3JlZyk7DQorCWlmIChyZXQpIHsNCisJCWRldl9lcnIoJnBkZXYtPmRldiwgIiVz KCksIGZhaWxlZCB0byBkaXNhYmxlIHJlZ3VsYXRvciFcbiIsDQorCQkJX19mdW5jX18pOw0KKwkJ cmV0dXJuIHJldDsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgbXQ2MzU5X3BsYXRmb3JtX2RyaXZlciA9IHsNCisJLmRyaXZlciA9IHsN CisJCS5uYW1lID0gIm10NjM1OS1zb3VuZCIsDQorCX0sDQorCS5wcm9iZSA9IG10NjM1OV9wbGF0 Zm9ybV9kcml2ZXJfcHJvYmUsDQorCS5yZW1vdmUgPSBtdDYzNTlfcGxhdGZvcm1fZHJpdmVyX3Jl bW92ZSwNCit9Ow0KKw0KK21vZHVsZV9wbGF0Zm9ybV9kcml2ZXIobXQ2MzU5X3BsYXRmb3JtX2Ry aXZlcikNCisNCisvKiBNb2R1bGUgaW5mb3JtYXRpb24gKi8NCitNT0RVTEVfREVTQ1JJUFRJT04o Ik1UNjM1OSBBTFNBIFNvQyBjb2RlYyBkcml2ZXIiKTsNCitNT0RVTEVfQVVUSE9SKCJLYWlDaGll aCBDaHVhbmcgPGthaWNoaWVoLmNodWFuZ0BtZWRpYXRlay5jb20+Iik7DQorTU9EVUxFX0FVVEhP UigiRWFzb24gWWVuIDxlYXNvbi55ZW5AbWVkaWF0ZWsuY29tPiIpOw0KK01PRFVMRV9MSUNFTlNF KCJHUEwgdjIiKTsNCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL210NjM1OS5oIGIvc291 bmQvc29jL2NvZGVjcy9tdDYzNTkuaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAw MDAuLjM3OTJlNTMNCi0tLSAvZGV2L251bGwNCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5 LmgNCkBAIC0wLDAgKzEsMjY0MCBAQA0KKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wICovDQorLyoNCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKyAqIEF1 dGhvcjogQXJndXMgTGluIDxhcmd1cy5saW5AbWVkaWF0ZWsuY29tPg0KKyAqLw0KKw0KKyNpZm5k ZWYgX01UNjM1OV9IXw0KKyNkZWZpbmUgX01UNjM1OV9IXw0KKw0KKy8qKioqKioqKioqKioqUmVn aXN0ZXIgQml0IERlZmluZSoqKioqKioqKioqKiovDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9JUlFf U0hJRlQJCQkJMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDBfSVJRX1NISUZUCQkJMg0KKyNk ZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfSVJRX1NISUZUCQkJMw0KKyNkZWZpbmUgUE1JQ19BQ0NE RVRfSVJRX0NMUl9TSElGVAkJCTgNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX0lSUV9DTFJf U0hJRlQJCQkxMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfSVJRX0NMUl9TSElGVAkJCTEx DQorI2RlZmluZSBQTUlDX1JHX0lOVF9TVEFUVVNfQUNDREVUX1NISUZUCQkJNQ0KKyNkZWZpbmUg UE1JQ19SR19JTlRfU1RBVFVTX0FDQ0RFVF9FSU5UMF9TSElGVAkJNg0KKyNkZWZpbmUgUE1JQ19S R19JTlRfU1RBVFVTX0FDQ0RFVF9FSU5UMV9TSElGVAkJNw0KKyNkZWZpbmUgUE1JQ19SR19FSU5U MENPTkZJR0FDQ0RFVF9TSElGVAkJCTExDQorI2RlZmluZSBQTUlDX1JHX0VJTlQxQ09ORklHQUND REVUX1NISUZUCQkJMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDBfSU5WRVJURVJfU1dfRU5f U0hJRlQJCTYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQxX0lOVkVSVEVSX1NXX0VOX1NISUZU CQk4DQorI2RlZmluZSBQTUlDX1JHX01URVNUX0VOX1NISUZUCQkJCTgNCisjZGVmaW5lIFBNSUNf UkdfTVRFU1RfU0VMX1NISUZUCQkJCTkNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX01fU1df RU5fU0hJRlQJCQkxMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfTV9TV19FTl9TSElGVAkJ CTExDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9DRU5fU1RBQkxFX1NISUZUCQk1DQorI2Rl ZmluZSBQTUlDX0FDQ0RFVF9FSU5UMV9DRU5fU1RBQkxFX1NISUZUCQkxMA0KKyNkZWZpbmUgUE1J Q19BQ0NERVRfREFfU1RBQkxFX1NISUZUCQkJMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDBf RU5fU1RBQkxFX1NISUZUCQkxDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9DTVBFTl9TVEFC TEVfU0hJRlQJCTINCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQxX0VOX1NUQUJMRV9TSElGVAkJ Ng0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfQ01QRU5fU1RBQkxFX1NISUZUCQk3DQorI2Rl ZmluZSBQTUlDX0FDQ0RFVF9FSU5UX0NUVVJCT19TRUxfU0hJRlQJCTcNCisjZGVmaW5lIFBNSUNf QUNDREVUX0VJTlQwX0NUVVJCT19TV19TSElGVAkJNw0KKyNkZWZpbmUgUE1JQ19SR19FSU5UQ09N UFZUSF9TSElGVAkJCTQNCisjZGVmaW5lIFBNSUNfUkdfRUlOVDBISVJFTkJfU0hJRlQJCQkxMg0K KyNkZWZpbmUgUE1JQ19SR19FSU5UME5PSFlTX1NISUZUCQkJMTANCisjZGVmaW5lIFBNSUNfQUND REVUX1NXX0VOX1NISUZUCQkJCTANCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX01FTV9JTl9T SElGVAkJCTYNCisjZGVmaW5lIFBNSUNfQUNDREVUX01FTV9JTl9TSElGVAkJCTYNCisjZGVmaW5l IFBNSUNfQUNDREVUX0VJTlRfREVCT1VOQ0UwX1NISUZUCQkwDQorI2RlZmluZSBQTUlDX0FDQ0RF VF9FSU5UX0RFQk9VTkNFMV9TSElGVAkJNA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9ERUJP VU5DRTJfU0hJRlQJCTgNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfREVCT1VOQ0UzX1NISUZU CQkxMg0KKyNkZWZpbmUgUE1JQ19SR19BQ0NERVQyQVVYU1dFTl9TSElGVAkJCTE0DQorI2RlZmlu ZSBQTUlDX0FVREFDQ0RFVEFVWEFEQ1NXQ1RSTF9TRUxfU0hJRlQJCTkNCisjZGVmaW5lIFBNSUNf QVVEQUNDREVUQVVYQURDU1dDVFJMX1NXX1NISUZUCQkxMA0KKyNkZWZpbmUgUE1JQ19SR19FSU5U MENUVVJCT19TSElGVAkJCTUNCisjZGVmaW5lIFBNSUNfUkdfRUlOVDFDVFVSQk9fU0hJRlQJCQkx Mw0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9NX1BMVUdfSU5fTlVNX1NISUZUCQkxMg0KKyNk ZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9NX0RFVEVDVF9FTl9TSElGVAkJMTINCisjZGVmaW5lIFBN SUNfQUNDREVUX0VJTlQwX1NXX0VOX1NISUZUCQkJMg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlO VDFfU1dfRU5fU0hJRlQJCQk0DQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UX0NNUE1PVVRfU0VM X1NISUZUCQkxMg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9DTVBNRU5fU0VMX1NISUZUCQk2 DQorI2RlZmluZSBQTUlDX1JHX0hQTE9VVFBVVFNUQkVOSF9WQVVEUDMyX1NISUZUCQkwDQorI2Rl ZmluZSBQTUlDX1JHX0hQUk9VVFBVVFNUQkVOSF9WQVVEUDMyX1NISUZUCQk0DQorI2RlZmluZSBQ TUlDX1JHX0VJTlQwRU5fU0hJRlQJCQkJMg0KKyNkZWZpbmUgUE1JQ19SR19FSU5UMUVOX1NISUZU CQkJCTEwDQorI2RlZmluZSBQTUlDX1JHX05DUF9QRERJU19FTl9TSElGVAkJCTANCisjZGVmaW5l IFBNSUNfUkdfQUNDREVUU1BBUkVfU0hJRlQJCQkwDQorI2RlZmluZSBQTUlDX1JHX0FDQ0RFVF9S U1RfU0hJRlQJCQkxDQorI2RlZmluZSBQTUlDX1JHX0FVRE1JQ0JJQVMxSFZFTl9TSElGVAkJCTEy DQorI2RlZmluZSBQTUlDX1JHX0FVRE1JQ0JJQVMxVlJFRl9TSElGVAkJCTQNCisjZGVmaW5lIFBN SUNfUkdfQU5BTE9HRkRFTl9TSElGVAkJCTEyDQorI2RlZmluZSBQTUlDX1JHX0FVRE1JQ0JJQVMx RENTVzFQRU5fU0hJRlQJCTgNCisjZGVmaW5lIFBNSUNfUkdfQVVETUlDQklBUzFMT1dQRU5fU0hJ RlQJCQkyDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9TRVFfSU5JVF9TSElGVAkJCTENCisjZGVmaW5l IFBNSUNfUkdfRUlOVENPTVBWVEhfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlO VDBfTUVNX0lOX01BU0sJCQkweDMNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfREVCT1VOQ0Uw X01BU0sJCQkweGYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfREVCT1VOQ0UxX01BU0sJCQkw eGYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfREVCT1VOQ0UyX01BU0sJCQkweGYNCisjZGVm aW5lIFBNSUNfQUNDREVUX0VJTlRfREVCT1VOQ0UzX01BU0sJCQkweGYNCisjZGVmaW5lIFBNSUNf QUNDREVUX0VJTlQwX0lSUV9TSElGVAkJCTINCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQxX0lS UV9TSElGVAkJCTMNCisNCisvKiBBVURFTkNfQU5BX0NPTjE2OiAqLw0KKyNkZWZpbmUgUkdfQVVE X01JQ0JJQVMxX0xPV1BfRU4JCUJJVChQTUlDX1JHX0FVRE1JQ0JJQVMxTE9XUEVOX1NISUZUKQ0K Kw0KKy8qIEFVREVOQ19BTkFfQ09OMTg6ICovDQorI2RlZmluZSBSR19BQ0NERVRfTU9ERV9BTkEx MV9NT0RFMQkJCSgweDAwMGYpDQorI2RlZmluZSBSR19BQ0NERVRfTU9ERV9BTkExMV9NT0RFMgkJ CSgweDAwOGYpDQorI2RlZmluZSBSR19BQ0NERVRfTU9ERV9BTkExMV9NT0RFNgkJCSgweDAwOGYp DQorDQorLyogQVVYQURDX0FEQzU6ICBBdXhhZGMgQ0g1IHJlYWQgZGF0YSAqLw0KKyNkZWZpbmUg QVVYQURDX0RBVEFfUkRZX0NINQkJQklUKDE1KQ0KKyNkZWZpbmUgQVVYQURDX0RBVEFfUFJPQ0VF RF9DSDUJCUJJVCgxNSkNCisjZGVmaW5lIEFVWEFEQ19EQVRBX01BU0sJCQkJKDB4MGZmZikNCisN CisvKiBBVVhBRENfUlFTVDBfU0VUOiAgQXV4YWRjIENINSByZXF1ZXN0LCByZWxldmFudCAweDA3 RUMgKi8NCisjZGVmaW5lIEFVWEFEQ19SUVNUX0NINV9TRVQJCUJJVCg1KQ0KKy8qIEFVWEFEQ19S UVNUMF9DTFI6ICBBdXhhZGMgQ0g1IHJlcXVlc3QsIHJlbGV2YW50IDB4MDdFQyAqLw0KKyNkZWZp bmUgQVVYQURDX1JRU1RfQ0g1X0NMUgkJQklUKDUpDQorDQorI2RlZmluZSBBQ0NERVRfQ0FMSV9N QVNLMAkJCQkoMHhmZikNCisjZGVmaW5lIEFDQ0RFVF9DQUxJX01BU0sxCQkJCSgweGZmIDw8IDgp DQorI2RlZmluZSBBQ0NERVRfQ0FMSV9NQVNLMgkJCQkoMHhmZikNCisjZGVmaW5lIEFDQ0RFVF9D QUxJX01BU0szCQkJCSgweGZmIDw8IDgpDQorI2RlZmluZSBBQ0NERVRfQ0FMSV9NQVNLNAkJCQko MHhmZikNCisNCisjZGVmaW5lIEFDQ0RFVF9FSU5UMV9JUlFfQ0xSX0IxMQlCSVQoUE1JQ19BQ0NE RVRfRUlOVDFfSVJRX0NMUl9TSElGVCkNCisjZGVmaW5lIEFDQ0RFVF9FSU5UMF9JUlFfQ0xSX0Ix MAlCSVQoUE1JQ19BQ0NERVRfRUlOVDBfSVJRX0NMUl9TSElGVCkNCisjZGVmaW5lIEFDQ0RFVF9F SU5UX0lSUV9DTFJfQjEwXzExCSgweDAzIDw8IFwNCisJCQkJCSBQTUlDX0FDQ0RFVF9FSU5UMF9J UlFfQ0xSX1NISUZUKQ0KKyNkZWZpbmUgQUNDREVUX0lSUV9DTFJfQjgJCUJJVChQTUlDX0FDQ0RF VF9JUlFfQ0xSX1NISUZUKQ0KKw0KKyNkZWZpbmUgQUNDREVUX0VJTlQxX0lSUV9CMwkJQklUKFBN SUNfQUNDREVUX0VJTlQxX0lSUV9TSElGVCkNCisjZGVmaW5lIEFDQ0RFVF9FSU5UMF9JUlFfQjIJ CUJJVChQTUlDX0FDQ0RFVF9FSU5UMF9JUlFfU0hJRlQpDQorI2RlZmluZSBBQ0NERVRfRUlOVF9J UlFfQjJfQjMJCSgweDAzIDw8IFBNSUNfQUNDREVUX0VJTlQwX0lSUV9TSElGVCkNCisjZGVmaW5l IEFDQ0RFVF9JUlFfQjAJCQlCSVQoUE1JQ19BQ0NERVRfSVJRX1NISUZUKQ0KKw0KKy8qIEFDQ0RF VF9DT04yNTogUk8sIGFjY2RldCBGU00gc3RhdGUsZXRjLiovDQorI2RlZmluZSBBQ0NERVRfU1RB VEVfTUVNX0lOX09GRlNFVAkoUE1JQ19BQ0NERVRfTUVNX0lOX1NISUZUKQ0KKyNkZWZpbmUgQUND REVUX1NUQVRFX0FCX01BU0sJCQkJKDB4MDMpDQorI2RlZmluZSBBQ0NERVRfU1RBVEVfQUJfMDAJ CQkJKDB4MDApDQorI2RlZmluZSBBQ0NERVRfU1RBVEVfQUJfMDEJCQkJKDB4MDEpDQorI2RlZmlu ZSBBQ0NERVRfU1RBVEVfQUJfMTAJCQkJKDB4MDIpDQorI2RlZmluZSBBQ0NERVRfU1RBVEVfQUJf MTEJCQkJKDB4MDMpDQorDQorLyogQUNDREVUX0NPTjE5ICovDQorI2RlZmluZSBBQ0NERVRfRUlO VDBfU1RBQkxFX1ZBTCAoKDEgPDwgUE1JQ19BQ0NERVRfREFfU1RBQkxFX1NISUZUKSB8IFwNCisJ CQkJKDEgPDwgUE1JQ19BQ0NERVRfRUlOVDBfRU5fU1RBQkxFX1NISUZUKSB8IFwNCisJCQkJKDEg PDwgUE1JQ19BQ0NERVRfRUlOVDBfQ01QRU5fU1RBQkxFX1NISUZUKSB8IFwNCisJCQkJKDEgPDwg UE1JQ19BQ0NERVRfRUlOVDBfQ0VOX1NUQUJMRV9TSElGVCkpDQorDQorI2RlZmluZSBBQ0NERVRf RUlOVDFfU1RBQkxFX1ZBTCAoKDEgPDwgUE1JQ19BQ0NERVRfREFfU1RBQkxFX1NISUZUKSB8IFwN CisJCQkJKDEgPDwgUE1JQ19BQ0NERVRfRUlOVDFfRU5fU1RBQkxFX1NISUZUKSB8IFwNCisJCQkJ KDEgPDwgUE1JQ19BQ0NERVRfRUlOVDFfQ01QRU5fU1RBQkxFX1NISUZUKSB8IFwNCisJCQkJKDEg PDwgUE1JQ19BQ0NERVRfRUlOVDFfQ0VOX1NUQUJMRV9TSElGVCkpDQorDQorLyogVGhlIGZvbGxv d2luZyBhcmUgdXNlZCBmb3IgbXQ2MzU5LmMgKi8NCisvKiBNVDYzNTlfRENYT19DVzEyICovDQor I2RlZmluZSBSR19YT19BVURJT19FTl9NX1NGVAkJCQkxMw0KKw0KKy8qIExET19WQVVEMThfQ09O MCAqLw0KKyNkZWZpbmUgUkdfTERPX1ZBVUQxOF9FTl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfTERP X1ZBVUQxOF9FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfTERPX1ZBVUQxOF9FTl9NQVNLX1NG VAkJCSgweDEgPDwgMCkNCisNCisvKiBBVURfVE9QX0NLUEROX0NPTjAgKi8NCisjZGVmaW5lIFJH X1ZPVzEzTV9DS19QRE5fU0ZUCQkJCTEzDQorI2RlZmluZSBSR19WT1cxM01fQ0tfUEROX01BU0sJ CQkJMHgxDQorI2RlZmluZSBSR19WT1cxM01fQ0tfUEROX01BU0tfU0ZUCQkJKDB4MSA8PCAxMykN CisjZGVmaW5lIFJHX1ZPVzMyS19DS19QRE5fU0ZUCQkJCTEyDQorI2RlZmluZSBSR19WT1czMktf Q0tfUEROX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19WT1czMktfQ0tfUEROX01BU0tfU0ZUCQkJ KDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FVRF9JTlRSUF9DS19QRE5fU0ZUCQkJCTgNCisjZGVm aW5lIFJHX0FVRF9JTlRSUF9DS19QRE5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQ X0NLX1BETl9NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX1BBRF9BVURfQ0xLX01J U09fQ0tfUEROX1NGVAkJCTcNCisjZGVmaW5lIFJHX1BBRF9BVURfQ0xLX01JU09fQ0tfUEROX01B U0sJCQkweDENCisjZGVmaW5lIFJHX1BBRF9BVURfQ0xLX01JU09fQ0tfUEROX01BU0tfU0ZUCQko MHgxIDw8IDcpDQorI2RlZmluZSBSR19BVUROQ1BfQ0tfUEROX1NGVAkJCQk2DQorI2RlZmluZSBS R19BVUROQ1BfQ0tfUEROX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVUROQ1BfQ0tfUEROX01B U0tfU0ZUCQkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUkdfWkNEMTNNX0NLX1BETl9TRlQJCQkJNQ0K KyNkZWZpbmUgUkdfWkNEMTNNX0NLX1BETl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfWkNEMTNN X0NLX1BETl9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FVRElGX0NLX1BETl9T RlQJCQkJMg0KKyNkZWZpbmUgUkdfQVVESUZfQ0tfUEROX01BU0sJCQkJMHgxDQorI2RlZmluZSBS R19BVURJRl9DS19QRE5fTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURfQ0tf UEROX1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURfQ0tfUEROX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19BVURfQ0tfUEROX01BU0tfU0ZUCQkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FDQ0RF VF9DS19QRE5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FDQ0RFVF9DS19QRE5fTUFTSwkJCQkweDEN CisjZGVmaW5lIFJHX0FDQ0RFVF9DS19QRE5fTUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyog QVVEX1RPUF9DS1BETl9DT04wX1NFVCAqLw0KKyNkZWZpbmUgUkdfQVVEX1RPUF9DS1BETl9DT04w X1NFVF9TRlQJCQkwDQorI2RlZmluZSBSR19BVURfVE9QX0NLUEROX0NPTjBfU0VUX01BU0sJCQkw eDNmZmYNCisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tQRE5fQ09OMF9TRVRfTUFTS19TRlQJCSgweDNm ZmYgPDwgMCkNCisNCisvKiBBVURfVE9QX0NLUEROX0NPTjBfQ0xSICovDQorI2RlZmluZSBSR19B VURfVE9QX0NLUEROX0NPTjBfQ0xSX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tQRE5f Q09OMF9DTFJfTUFTSwkJCTB4M2ZmZg0KKyNkZWZpbmUgUkdfQVVEX1RPUF9DS1BETl9DT04wX0NM Ul9NQVNLX1NGVAkJKDB4M2ZmZiA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfQ0tTRUxfQ09OMCAqLw0K KyNkZWZpbmUgUkdfQVVESUZfQ0tfQ0tTRUxfU0ZUCQkJCTMNCisjZGVmaW5lIFJHX0FVRElGX0NL X0NLU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURJRl9DS19DS1NFTF9NQVNLX1NGVAkJ CSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVRF9DS19DS1NFTF9TRlQJCQkJMg0KKyNkZWZpbmUg UkdfQVVEX0NLX0NLU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURfQ0tfQ0tTRUxfTUFT S19TRlQJCQkoMHgxIDw8IDIpDQorDQorLyogQVVEX1RPUF9DS1NFTF9DT04wX1NFVCAqLw0KKyNk ZWZpbmUgUkdfQVVEX1RPUF9DS1NFTF9DT04wX1NFVF9TRlQJCQkwDQorI2RlZmluZSBSR19BVURf VE9QX0NLU0VMX0NPTjBfU0VUX01BU0sJCQkweGYNCisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tTRUxf Q09OMF9TRVRfTUFTS19TRlQJCSgweGYgPDwgMCkNCisNCisvKiBBVURfVE9QX0NLU0VMX0NPTjBf Q0xSICovDQorI2RlZmluZSBSR19BVURfVE9QX0NLU0VMX0NPTjBfQ0xSX1NGVAkJCTANCisjZGVm aW5lIFJHX0FVRF9UT1BfQ0tTRUxfQ09OMF9DTFJfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgUkdfQVVE X1RPUF9DS1NFTF9DT04wX0NMUl9NQVNLX1NGVAkJKDB4ZiA8PCAwKQ0KKw0KKy8qIEFVRF9UT1Bf Q0tUU1RfQ09OMCAqLw0KKyNkZWZpbmUgUkdfVk9XMTNNX0NLX1RTVFNFTF9TRlQJCQkJOQ0KKyNk ZWZpbmUgUkdfVk9XMTNNX0NLX1RTVFNFTF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19WT1cxM01f Q0tfVFNUU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfVk9XMTNNX0NLX1RT VF9ESVNfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfVk9XMTNNX0NLX1RTVF9ESVNfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfVk9XMTNNX0NLX1RTVF9ESVNfTUFTS19TRlQJCQkoMHgxIDw8IDgpDQorI2Rl ZmluZSBSR19BVUQyNk1fQ0tfVFNUU0VMX1NGVAkJCQk0DQorI2RlZmluZSBSR19BVUQyNk1fQ0tf VFNUU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRDI2TV9DS19UU1RTRUxfTUFTS19TRlQJ CQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BVURJRl9DS19UU1RTRUxfU0ZUCQkJCTMNCisjZGVm aW5lIFJHX0FVRElGX0NLX1RTVFNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESUZfQ0tf VFNUU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVEX0NLX1RTVFNFTF9T RlQJCQkJMg0KKyNkZWZpbmUgUkdfQVVEX0NLX1RTVFNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UkdfQVVEX0NLX1RTVFNFTF9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRDI2 TV9DS19UU1RfRElTX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRDI2TV9DS19UU1RfRElTX01BU0sJ CQkweDENCisjZGVmaW5lIFJHX0FVRDI2TV9DS19UU1RfRElTX01BU0tfU0ZUCQkJKDB4MSA8PCAw KQ0KKw0KKy8qIEFVRF9UT1BfQ0xLX0hXRU5fQ09OMCAqLw0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQ X0NLX1BETl9IV0VOX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRF9JTlRSUF9DS19QRE5fSFdFTl9N QVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURfSU5UUlBfQ0tfUEROX0hXRU5fTUFTS19TRlQJCSgw eDEgPDwgMCkNCisNCisvKiBBVURfVE9QX0NMS19IV0VOX0NPTjBfU0VUICovDQorI2RlZmluZSBS R19BVURfSU5UUlBfQ0tfUE5EX0hXRU5fQ09OMF9TRVRfU0ZUCQkwDQorI2RlZmluZSBSR19BVURf SU5UUlBfQ0tfUE5EX0hXRU5fQ09OMF9TRVRfTUFTSwkJMHhmZmZmDQorI2RlZmluZSBSR19BVURf SU5UUlBfQ0tfUE5EX0hXRU5fQ09OMF9TRVRfTUFTS19TRlQJKDB4ZmZmZiA8PCAwKQ0KKw0KKy8q IEFVRF9UT1BfQ0xLX0hXRU5fQ09OMF9DTFIgKi8NCisjZGVmaW5lIFJHX0FVRF9JTlRSUF9DTEtf UEROX0hXRU5fQ09OMF9DTFJfU0ZUCQkwDQorI2RlZmluZSBSR19BVURfSU5UUlBfQ0xLX1BETl9I V0VOX0NPTjBfQ0xSX01BU0sJCTB4ZmZmZg0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NMS19QRE5f SFdFTl9DT04wX0NMUl9NQVNLX1NGVAkoMHhmZmZmIDw8IDApDQorDQorLyogQVVEX1RPUF9SU1Rf Q09OMCAqLw0KKyNkZWZpbmUgUkdfQVVETkNQX1JTVF9TRlQJCQkJMw0KKyNkZWZpbmUgUkdfQVVE TkNQX1JTVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETkNQX1JTVF9NQVNLX1NGVAkJCQko MHgxIDw8IDMpDQorI2RlZmluZSBSR19aQ0RfUlNUX1NGVAkJCQkJMg0KKyNkZWZpbmUgUkdfWkNE X1JTVF9NQVNLCQkJCQkweDENCisjZGVmaW5lIFJHX1pDRF9SU1RfTUFTS19TRlQJCQkJKDB4MSA8 PCAyKQ0KKyNkZWZpbmUgUkdfQUNDREVUX1JTVF9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfQUNDREVU X1JTVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQUNDREVUX1JTVF9NQVNLX1NGVAkJCQkoMHgx IDw8IDEpDQorI2RlZmluZSBSR19BVURJT19SU1RfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRElP X1JTVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESU9fUlNUX01BU0tfU0ZUCQkJCSgweDEg PDwgMCkNCisNCisvKiBBVURfVE9QX1JTVF9DT04wX1NFVCAqLw0KKyNkZWZpbmUgUkdfQVVEX1RP UF9SU1RfQ09OMF9TRVRfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEX1RPUF9SU1RfQ09OMF9TRVRf TUFTSwkJCTB4Zg0KKyNkZWZpbmUgUkdfQVVEX1RPUF9SU1RfQ09OMF9TRVRfTUFTS19TRlQJCSgw eGYgPDwgMCkNCisNCisvKiBBVURfVE9QX1JTVF9DT04wX0NMUiAqLw0KKyNkZWZpbmUgUkdfQVVE X1RPUF9SU1RfQ09OMF9DTFJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEX1RPUF9SU1RfQ09OMF9D TFJfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgUkdfQVVEX1RPUF9SU1RfQ09OMF9DTFJfTUFTS19TRlQJ CSgweGYgPDwgMCkNCisNCisvKiBBVURfVE9QX1JTVF9CQU5LX0NPTjAgKi8NCisjZGVmaW5lIEJB TktfQVVEWkNEX1NXUlNUX1NGVAkJCQkyDQorI2RlZmluZSBCQU5LX0FVRFpDRF9TV1JTVF9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgQkFOS19BVURaQ0RfU1dSU1RfTUFTS19TRlQJCQkoMHgxIDw8IDIp DQorI2RlZmluZSBCQU5LX0FVRElPX1NXUlNUX1NGVAkJCQkxDQorI2RlZmluZSBCQU5LX0FVRElP X1NXUlNUX01BU0sJCQkJMHgxDQorI2RlZmluZSBCQU5LX0FVRElPX1NXUlNUX01BU0tfU0ZUCQkJ KDB4MSA8PCAxKQ0KKyNkZWZpbmUgQkFOS19BQ0NERVRfU1dSU1RfU0ZUCQkJCTANCisjZGVmaW5l IEJBTktfQUNDREVUX1NXUlNUX01BU0sJCQkJMHgxDQorI2RlZmluZSBCQU5LX0FDQ0RFVF9TV1JT VF9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBRkVfVUxfRExfQ09OMCAqLw0KKyNkZWZp bmUgQUZFX1VMX0xSX1NXQVBfU0ZUCQkJCTE1DQorI2RlZmluZSBBRkVfVUxfTFJfU1dBUF9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgQUZFX1VMX0xSX1NXQVBfTUFTS19TRlQJCQkJKDB4MSA8PCAxNSkN CisjZGVmaW5lIEFGRV9ETF9MUl9TV0FQX1NGVAkJCQkxNA0KKyNkZWZpbmUgQUZFX0RMX0xSX1NX QVBfTUFTSwkJCQkweDENCisjZGVmaW5lIEFGRV9ETF9MUl9TV0FQX01BU0tfU0ZUCQkJCSgweDEg PDwgMTQpDQorI2RlZmluZSBBRkVfT05fU0ZUCQkJCQkwDQorI2RlZmluZSBBRkVfT05fTUFTSwkJ CQkJMHgxDQorI2RlZmluZSBBRkVfT05fTUFTS19TRlQJCQkJCSgweDEgPDwgMCkNCisNCisvKiBB RkVfRExfU1JDMl9DT04wX0wgKi8NCisjZGVmaW5lIERMXzJfU1JDX09OX1RNUF9DVExfUFJFX1NG VAkJCTANCisjZGVmaW5lIERMXzJfU1JDX09OX1RNUF9DVExfUFJFX01BU0sJCQkweDENCisjZGVm aW5lIERMXzJfU1JDX09OX1RNUF9DVExfUFJFX01BU0tfU0ZUCQkoMHgxIDw8IDApDQorDQorLyog QUZFX1VMX1NSQ19DT04wX0ggKi8NCisjZGVmaW5lIENfRElHTUlDX1BIQVNFX1NFTF9DSDFfQ1RM X1NGVAkJCTExDQorI2RlZmluZSBDX0RJR01JQ19QSEFTRV9TRUxfQ0gxX0NUTF9NQVNLCQkJMHg3 DQorI2RlZmluZSBDX0RJR01JQ19QSEFTRV9TRUxfQ0gxX0NUTF9NQVNLX1NGVAkJKDB4NyA8PCAx MSkNCisjZGVmaW5lIENfRElHTUlDX1BIQVNFX1NFTF9DSDJfQ1RMX1NGVAkJCTgNCisjZGVmaW5l IENfRElHTUlDX1BIQVNFX1NFTF9DSDJfQ1RMX01BU0sJCQkweDcNCisjZGVmaW5lIENfRElHTUlD X1BIQVNFX1NFTF9DSDJfQ1RMX01BU0tfU0ZUCQkoMHg3IDw8IDgpDQorI2RlZmluZSBDX1RXT19E SUdJVEFMX01JQ19DVExfU0ZUCQkJNw0KKyNkZWZpbmUgQ19UV09fRElHSVRBTF9NSUNfQ1RMX01B U0sJCQkweDENCisjZGVmaW5lIENfVFdPX0RJR0lUQUxfTUlDX0NUTF9NQVNLX1NGVAkJCSgweDEg PDwgNykNCisNCisvKiBBRkVfVUxfU1JDX0NPTjBfTCAqLw0KKyNkZWZpbmUgRE1JQ19MT1dfUE9X RVJfTU9ERV9DVExfU0ZUCQkJMTQNCisjZGVmaW5lIERNSUNfTE9XX1BPV0VSX01PREVfQ1RMX01B U0sJCQkweDMNCisjZGVmaW5lIERNSUNfTE9XX1BPV0VSX01PREVfQ1RMX01BU0tfU0ZUCQkoMHgz IDw8IDE0KQ0KKyNkZWZpbmUgRElHTUlDXzRQMzNNX1NFTF9DVExfU0ZUCQkJNg0KKyNkZWZpbmUg RElHTUlDXzRQMzNNX1NFTF9DVExfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgRElHTUlDXzRQMzNNX1NF TF9DVExfTUFTS19TRlQJCQkoMHgxIDw8IDYpDQorI2RlZmluZSBESUdNSUNfM1AyNU1fMVA2MjVN X1NFTF9DVExfU0ZUCQkJNQ0KKyNkZWZpbmUgRElHTUlDXzNQMjVNXzFQNjI1TV9TRUxfQ1RMX01B U0sJCTB4MQ0KKyNkZWZpbmUgRElHTUlDXzNQMjVNXzFQNjI1TV9TRUxfQ1RMX01BU0tfU0ZUCQko MHgxIDw8IDUpDQorI2RlZmluZSBVTF9MT09QX0JBQ0tfTU9ERV9DVExfU0ZUCQkJMg0KKyNkZWZp bmUgVUxfTE9PUF9CQUNLX01PREVfQ1RMX01BU0sJCQkweDENCisjZGVmaW5lIFVMX0xPT1BfQkFD S19NT0RFX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFVMX1NETV8zX0xFVkVM X0NUTF9TRlQJCQkJMQ0KKyNkZWZpbmUgVUxfU0RNXzNfTEVWRUxfQ1RMX01BU0sJCQkJMHgxDQor I2RlZmluZSBVTF9TRE1fM19MRVZFTF9DVExfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmlu ZSBVTF9TUkNfT05fVE1QX0NUTF9TRlQJCQkJMA0KKyNkZWZpbmUgVUxfU1JDX09OX1RNUF9DVExf TUFTSwkJCQkweDENCisjZGVmaW5lIFVMX1NSQ19PTl9UTVBfQ1RMX01BU0tfU0ZUCQkJKDB4MSA8 PCAwKQ0KKw0KKy8qIEFGRV9BRERBNl9MX1NSQ19DT04wX0ggKi8NCisjZGVmaW5lIEFEREE2X0Nf RElHTUlDX1BIQVNFX1NFTF9DSDFfQ1RMX1NGVAkJMTENCisjZGVmaW5lIEFEREE2X0NfRElHTUlD X1BIQVNFX1NFTF9DSDFfQ1RMX01BU0sJCTB4Nw0KKyNkZWZpbmUgQUREQTZfQ19ESUdNSUNfUEhB U0VfU0VMX0NIMV9DVExfTUFTS19TRlQJKDB4NyA8PCAxMSkNCisjZGVmaW5lIEFEREE2X0NfRElH TUlDX1BIQVNFX1NFTF9DSDJfQ1RMX1NGVAkJOA0KKyNkZWZpbmUgQUREQTZfQ19ESUdNSUNfUEhB U0VfU0VMX0NIMl9DVExfTUFTSwkJMHg3DQorI2RlZmluZSBBRERBNl9DX0RJR01JQ19QSEFTRV9T RUxfQ0gyX0NUTF9NQVNLX1NGVAkoMHg3IDw8IDgpDQorI2RlZmluZSBBRERBNl9DX1RXT19ESUdJ VEFMX01JQ19DVExfU0ZUCQkJNw0KKyNkZWZpbmUgQUREQTZfQ19UV09fRElHSVRBTF9NSUNfQ1RM X01BU0sJCTB4MQ0KKyNkZWZpbmUgQUREQTZfQ19UV09fRElHSVRBTF9NSUNfQ1RMX01BU0tfU0ZU CQkoMHgxIDw8IDcpDQorDQorLyogQUZFX0FEREE2X1VMX1NSQ19DT04wX0wgKi8NCisjZGVmaW5l IEFEREE2X0RNSUNfTE9XX1BPV0VSX01PREVfQ1RMX1NGVAkJMTQNCisjZGVmaW5lIEFEREE2X0RN SUNfTE9XX1BPV0VSX01PREVfQ1RMX01BU0sJCTB4Mw0KKyNkZWZpbmUgQUREQTZfRE1JQ19MT1df UE9XRVJfTU9ERV9DVExfTUFTS19TRlQJCSgweDMgPDwgMTQpDQorI2RlZmluZSBBRERBNl9ESUdN SUNfNFAzM01fU0VMX0NUTF9TRlQJCQk2DQorI2RlZmluZSBBRERBNl9ESUdNSUNfNFAzM01fU0VM X0NUTF9NQVNLCQkJMHgxDQorI2RlZmluZSBBRERBNl9ESUdNSUNfNFAzM01fU0VMX0NUTF9NQVNL X1NGVAkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgQUREQTZfRElHTUlDXzNQMjVNXzFQNjI1TV9TRUxf Q1RMX1NGVAkJNQ0KKyNkZWZpbmUgQUREQTZfRElHTUlDXzNQMjVNXzFQNjI1TV9TRUxfQ1RMX01B U0sJCTB4MQ0KKyNkZWZpbmUgQUREQTZfRElHTUlDXzNQMjVNXzFQNjI1TV9TRUxfQ1RMX01BU0tf U0ZUCSgweDEgPDwgNSkNCisjZGVmaW5lIEFEREE2X1VMX0xPT1BfQkFDS19NT0RFX0NUTF9TRlQJ CQkyDQorI2RlZmluZSBBRERBNl9VTF9MT09QX0JBQ0tfTU9ERV9DVExfTUFTSwkJMHgxDQorI2Rl ZmluZSBBRERBNl9VTF9MT09QX0JBQ0tfTU9ERV9DVExfTUFTS19TRlQJCSgweDEgPDwgMikNCisj ZGVmaW5lIEFEREE2X1VMX1NETV8zX0xFVkVMX0NUTF9TRlQJCQkxDQorI2RlZmluZSBBRERBNl9V TF9TRE1fM19MRVZFTF9DVExfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQUREQTZfVUxfU0RNXzNfTEVW RUxfQ1RMX01BU0tfU0ZUCQkoMHgxIDw8IDEpDQorI2RlZmluZSBBRERBNl9VTF9TUkNfT05fVE1Q X0NUTF9TRlQJCQkwDQorI2RlZmluZSBBRERBNl9VTF9TUkNfT05fVE1QX0NUTF9NQVNLCQkJMHgx DQorI2RlZmluZSBBRERBNl9VTF9TUkNfT05fVE1QX0NUTF9NQVNLX1NGVAkJKDB4MSA8PCAwKQ0K Kw0KKy8qIEFGRV9UT1BfQ09OMCAqLw0KKyNkZWZpbmUgQUREQTZfTVRLQUlGX1NJTkVfT05fU0ZU CQkJNA0KKyNkZWZpbmUgQUREQTZfTVRLQUlGX1NJTkVfT05fTUFTSwkJCTB4MQ0KKyNkZWZpbmUg QUREQTZfTVRLQUlGX1NJTkVfT05fTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBBRERB Nl9VTF9TSU5FX09OX1NGVAkJCQkzDQorI2RlZmluZSBBRERBNl9VTF9TSU5FX09OX01BU0sJCQkJ MHgxDQorI2RlZmluZSBBRERBNl9VTF9TSU5FX09OX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNk ZWZpbmUgTVRLQUlGX1NJTkVfT05fU0ZUCQkJCTINCisjZGVmaW5lIE1US0FJRl9TSU5FX09OX01B U0sJCQkJMHgxDQorI2RlZmluZSBNVEtBSUZfU0lORV9PTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDIp DQorI2RlZmluZSBVTF9TSU5FX09OX1NGVAkJCQkJMQ0KKyNkZWZpbmUgVUxfU0lORV9PTl9NQVNL CQkJCQkweDENCisjZGVmaW5lIFVMX1NJTkVfT05fTUFTS19TRlQJCQkJKDB4MSA8PCAxKQ0KKyNk ZWZpbmUgRExfU0lORV9PTl9TRlQJCQkJCTANCisjZGVmaW5lIERMX1NJTkVfT05fTUFTSwkJCQkJ MHgxDQorI2RlZmluZSBETF9TSU5FX09OX01BU0tfU0ZUCQkJCSgweDEgPDwgMCkNCisNCisvKiBB VURJT19UT1BfQ09OMCAqLw0KKyNkZWZpbmUgUEROX0FGRV9DVExfU0ZUCQkJCQk3DQorI2RlZmlu ZSBQRE5fQUZFX0NUTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUEROX0FGRV9DVExfTUFTS19TRlQJ CQkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUEROX0RBQ19DVExfU0ZUCQkJCQk2DQorI2RlZmluZSBQ RE5fREFDX0NUTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUEROX0RBQ19DVExfTUFTS19TRlQJCQkJ KDB4MSA8PCA2KQ0KKyNkZWZpbmUgUEROX0FEQ19DVExfU0ZUCQkJCQk1DQorI2RlZmluZSBQRE5f QURDX0NUTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUEROX0FEQ19DVExfTUFTS19TRlQJCQkJKDB4 MSA8PCA1KQ0KKyNkZWZpbmUgUEROX0FEREE2X0FEQ19DVExfU0ZUCQkJCTQNCisjZGVmaW5lIFBE Tl9BRERBNl9BRENfQ1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBQRE5fQUREQTZfQURDX0NUTF9N QVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFBETl9JMlNfRExfQ1RMX1NGVAkJCQkzDQor I2RlZmluZSBQRE5fSTJTX0RMX0NUTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUEROX0kyU19ETF9D VExfTUFTS19TRlQJCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUFdSX0NMS19ESVNfQ1RMX1NGVAkJ CQkyDQorI2RlZmluZSBQV1JfQ0xLX0RJU19DVExfTUFTSwkJCQkweDENCisjZGVmaW5lIFBXUl9D TEtfRElTX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFBETl9BRkVfVEVTVE1P REVMX0NUTF9TRlQJCQkxDQorI2RlZmluZSBQRE5fQUZFX1RFU1RNT0RFTF9DVExfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUEROX0FGRV9URVNUTU9ERUxfQ1RMX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0K KyNkZWZpbmUgUEROX1JFU0VSVkVEX1NGVAkJCQkwDQorI2RlZmluZSBQRE5fUkVTRVJWRURfTUFT SwkJCQkweDENCisjZGVmaW5lIFBETl9SRVNFUlZFRF9NQVNLX1NGVAkJCQkoMHgxIDw8IDApDQor DQorLyogQUZFX01PTl9ERUJVRzAgKi8NCisjZGVmaW5lIEFVRElPX1NZU19UT1BfTU9OX1NXQVBf U0ZUCQkJMTQNCisjZGVmaW5lIEFVRElPX1NZU19UT1BfTU9OX1NXQVBfTUFTSwkJCTB4Mw0KKyNk ZWZpbmUgQVVESU9fU1lTX1RPUF9NT05fU1dBUF9NQVNLX1NGVAkJCSgweDMgPDwgMTQpDQorI2Rl ZmluZSBBVURJT19TWVNfVE9QX01PTl9TRUxfU0ZUCQkJOA0KKyNkZWZpbmUgQVVESU9fU1lTX1RP UF9NT05fU0VMX01BU0sJCQkweDFmDQorI2RlZmluZSBBVURJT19TWVNfVE9QX01PTl9TRUxfTUFT S19TRlQJCQkoMHgxZiA8PCA4KQ0KKyNkZWZpbmUgQUZFX01PTl9TRUxfU0ZUCQkJCQkwDQorI2Rl ZmluZSBBRkVfTU9OX1NFTF9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIEFGRV9NT05fU0VMX01BU0tf U0ZUCQkJCSgweGZmIDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjAgKi8NCisjZGVmaW5lIEND SV9BVURfQU5BQ0tfU0VMX1NGVAkJCQkxNQ0KKyNkZWZpbmUgQ0NJX0FVRF9BTkFDS19TRUxfTUFT SwkJCQkweDENCisjZGVmaW5lIENDSV9BVURfQU5BQ0tfU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAx NSkNCisjZGVmaW5lIENDSV9BVURJT19GSUZPX1dQVFJfU0ZUCQkJCTEyDQorI2RlZmluZSBDQ0lf QVVESU9fRklGT19XUFRSX01BU0sJCQkweDcNCisjZGVmaW5lIENDSV9BVURJT19GSUZPX1dQVFJf TUFTS19TRlQJCQkoMHg3IDw8IDEyKQ0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9DR19FTl9TRlQJ CQkJMTENCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfQ0dfRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUg Q0NJX1NDUkFNQkxFUl9DR19FTl9NQVNLX1NGVAkJCSgweDEgPDwgMTEpDQorI2RlZmluZSBDQ0lf TENIX0lOVl9TRlQJCQkJCTEwDQorI2RlZmluZSBDQ0lfTENIX0lOVl9NQVNLCQkJCTB4MQ0KKyNk ZWZpbmUgQ0NJX0xDSF9JTlZfTUFTS19TRlQJCQkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIENDSV9S QU5EX0VOX1NGVAkJCQkJOQ0KKyNkZWZpbmUgQ0NJX1JBTkRfRU5fTUFTSwkJCQkweDENCisjZGVm aW5lIENDSV9SQU5EX0VOX01BU0tfU0ZUCQkJCSgweDEgPDwgOSkNCisjZGVmaW5lIENDSV9TUExU X1NDUk1CX0NMS19PTl9TRlQJCQk4DQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9DTEtfT05fTUFT SwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfQ0xLX09OX01BU0tfU0ZUCQkJKDB4MSA8 PCA4KQ0KKyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfT05fU0ZUCQkJCTcNCisjZGVmaW5lIENDSV9T UExUX1NDUk1CX09OX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9PTl9NQVNL X1NGVAkJCSgweDEgPDwgNykNCisjZGVmaW5lIENDSV9BVURfSURBQ19URVNUX0VOX1NGVAkJCTYN CisjZGVmaW5lIENDSV9BVURfSURBQ19URVNUX0VOX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9B VURfSURBQ19URVNUX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgQ0NJX1pFUk9f UEFEX0RJU0FCTEVfU0ZUCQkJNQ0KKyNkZWZpbmUgQ0NJX1pFUk9fUEFEX0RJU0FCTEVfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgQ0NJX1pFUk9fUEFEX0RJU0FCTEVfTUFTS19TRlQJCQkoMHgxIDw8IDUp DQorI2RlZmluZSBDQ0lfQVVEX1NQTElUX1RFU1RfRU5fU0ZUCQkJNA0KKyNkZWZpbmUgQ0NJX0FV RF9TUExJVF9URVNUX0VOX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURfU1BMSVRfVEVTVF9F Tl9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIENDSV9BVURfU0RNX01VVEVMX1NGVAkJ CQkzDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQ0NJ X0FVRF9TRE1fTVVURUxfTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBDQ0lfQVVEX1NE TV9NVVRFUl9TRlQJCQkJMg0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVURVJfTUFTSwkJCQkweDEN CisjZGVmaW5lIENDSV9BVURfU0RNX01VVEVSX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZp bmUgQ0NJX0FVRF9TRE1fN0JJVF9TRUxfU0ZUCQkJMQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fN0JJ VF9TRUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fN0JJVF9TRUxfTUFTS19TRlQJ CQkoMHgxIDw8IDEpDQorI2RlZmluZSBDQ0lfU0NSQU1CTEVSX0VOX1NGVAkJCQkwDQorI2RlZmlu ZSBDQ0lfU0NSQU1CTEVSX0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lfU0NSQU1CTEVSX0VO X01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGVU5DX0FVRF9DT04xICovDQorI2RlZmlu ZSBBVURfU0RNX1RFU1RfTF9TRlQJCQkJOA0KKyNkZWZpbmUgQVVEX1NETV9URVNUX0xfTUFTSwkJ CQkweGZmDQorI2RlZmluZSBBVURfU0RNX1RFU1RfTF9NQVNLX1NGVAkJCQkoMHhmZiA8PCA4KQ0K KyNkZWZpbmUgQVVEX1NETV9URVNUX1JfU0ZUCQkJCTANCisjZGVmaW5lIEFVRF9TRE1fVEVTVF9S X01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgQVVEX1NETV9URVNUX1JfTUFTS19TRlQJCQkJKDB4ZmYg PDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09OMiAqLw0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5B X01VVEVfU0ZUCQkJNw0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX01VVEVfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX01VVEVfTUFTS19TRlQJCQkoMHgxIDw8IDcpDQorI2Rl ZmluZSBDQ0lfQVVEX0RBQ19BTkFfUlNUQl9TRUxfU0ZUCQkJNg0KKyNkZWZpbmUgQ0NJX0FVRF9E QUNfQU5BX1JTVEJfU0VMX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURfREFDX0FOQV9SU1RC X1NFTF9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fQ0xLSU5f SU5WX1NGVAkJCTQNCisjZGVmaW5lIENDSV9BVURJT19GSUZPX0NMS0lOX0lOVl9NQVNLCQkJMHgx DQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19DTEtJTl9JTlZfTUFTS19TRlQJCSgweDEgPDwgNCkN CisjZGVmaW5lIENDSV9BVURJT19GSUZPX0VOQUJMRV9TRlQJCQkzDQorI2RlZmluZSBDQ0lfQVVE SU9fRklGT19FTkFCTEVfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fRU5BQkxF X01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgQ0NJX0FDRF9NT0RFX1NGVAkJCQkyDQor I2RlZmluZSBDQ0lfQUNEX01PREVfTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9BQ0RfTU9ERV9N QVNLX1NGVAkJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBDQ0lfQUZJRk9fQ0xLX1BXREJfU0ZUCQkJ CTENCisjZGVmaW5lIENDSV9BRklGT19DTEtfUFdEQl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQ0NJ X0FGSUZPX0NMS19QV0RCX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgQ0NJX0FDRF9G VU5DX1JTVEJfU0ZUCQkJCTANCisjZGVmaW5lIENDSV9BQ0RfRlVOQ19SU1RCX01BU0sJCQkJMHgx DQorI2RlZmluZSBDQ0lfQUNEX0ZVTkNfUlNUQl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisv KiBBRlVOQ19BVURfQ09OMyAqLw0KKyNkZWZpbmUgU0RNX0FOQTEzTV9URVNUQ0tfU0VMX1NGVAkJ CTE1DQorI2RlZmluZSBTRE1fQU5BMTNNX1RFU1RDS19TRUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg U0RNX0FOQTEzTV9URVNUQ0tfU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAxNSkNCisjZGVmaW5lIFNE TV9BTkExM01fVEVTVENLX1NSQ19TRUxfU0ZUCQkJMTINCisjZGVmaW5lIFNETV9BTkExM01fVEVT VENLX1NSQ19TRUxfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgU0RNX0FOQTEzTV9URVNUQ0tfU1JDX1NF TF9NQVNLX1NGVAkJKDB4NyA8PCAxMikNCisjZGVmaW5lIFNETV9URVNUQ0tfU1JDX1NFTF9TRlQJ CQkJOA0KKyNkZWZpbmUgU0RNX1RFU1RDS19TUkNfU0VMX01BU0sJCQkJMHg3DQorI2RlZmluZSBT RE1fVEVTVENLX1NSQ19TRUxfTUFTS19TRlQJCQkoMHg3IDw8IDgpDQorI2RlZmluZSBESUdNSUNf VEVTVENLX1NSQ19TRUxfU0ZUCQkJNA0KKyNkZWZpbmUgRElHTUlDX1RFU1RDS19TUkNfU0VMX01B U0sJCQkweDcNCisjZGVmaW5lIERJR01JQ19URVNUQ0tfU1JDX1NFTF9NQVNLX1NGVAkJCSgweDcg PDwgNCkNCisjZGVmaW5lIERJR01JQ19URVNUQ0tfU0VMX1NGVAkJCQkwDQorI2RlZmluZSBESUdN SUNfVEVTVENLX1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgRElHTUlDX1RFU1RDS19TRUxfTUFT S19TRlQJCQkoMHgxIDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjQgKi8NCisjZGVmaW5lIFVM X0ZJRk9fV0NMS19JTlZfU0ZUCQkJCTgNCisjZGVmaW5lIFVMX0ZJRk9fV0NMS19JTlZfTUFTSwkJ CQkweDENCisjZGVmaW5lIFVMX0ZJRk9fV0NMS19JTlZfTUFTS19TRlQJCQkoMHgxIDw8IDgpDQor I2RlZmluZSBVTF9GSUZPX0RJR01JQ19XREFUQV9URVNUU1JDX1NFTF9TRlQJCTYNCisjZGVmaW5l IFVMX0ZJRk9fRElHTUlDX1dEQVRBX1RFU1RTUkNfU0VMX01BU0sJCTB4MQ0KKyNkZWZpbmUgVUxf RklGT19ESUdNSUNfV0RBVEFfVEVTVFNSQ19TRUxfTUFTS19TRlQJKDB4MSA8PCA2KQ0KKyNkZWZp bmUgVUxfRklGT19XREFUQV9URVNURU5fU0ZUCQkJNQ0KKyNkZWZpbmUgVUxfRklGT19XREFUQV9U RVNURU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgVUxfRklGT19XREFUQV9URVNURU5fTUFTS19TRlQJ CQkoMHgxIDw8IDUpDQorI2RlZmluZSBVTF9GSUZPX1dEQVRBX1RFU1RTUkNfU0VMX1NGVAkJCTQN CisjZGVmaW5lIFVMX0ZJRk9fV0RBVEFfVEVTVFNSQ19TRUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg VUxfRklGT19XREFUQV9URVNUU1JDX1NFTF9NQVNLX1NGVAkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUg VUxfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NFTF9TRlQJCSAzDQorI2RlZmluZSBVTF9GSUZPX1dD TEtfNlA1TV9URVNUQ0tfU0VMX01BU0sJCTB4MQ0KKyNkZWZpbmUgVUxfRklGT19XQ0xLXzZQNU1f VEVTVENLX1NFTF9NQVNLX1NGVAkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgVUxfRklGT19XQ0xLXzZQ NU1fVEVTVENLX1NSQ19TRUxfU0ZUCQkwDQorI2RlZmluZSBVTF9GSUZPX1dDTEtfNlA1TV9URVNU Q0tfU1JDX1NFTF9NQVNLCQkweDcNCisjZGVmaW5lIFVMX0ZJRk9fV0NMS182UDVNX1RFU1RDS19T UkNfU0VMX01BU0tfU0ZUCSgweDcgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09ONSAqLw0KKyNk ZWZpbmUgUl9BVURfREFDX1BPU19MQVJHRV9NT05PX1NGVAkJCTgNCisjZGVmaW5lIFJfQVVEX0RB Q19QT1NfTEFSR0VfTU9OT19NQVNLCQkJMHhmZg0KKyNkZWZpbmUgUl9BVURfREFDX1BPU19MQVJH RV9NT05PX01BU0tfU0ZUCQkoMHhmZiA8PCA4KQ0KKyNkZWZpbmUgUl9BVURfREFDX05FR19MQVJH RV9NT05PX1NGVAkJCTANCisjZGVmaW5lIFJfQVVEX0RBQ19ORUdfTEFSR0VfTU9OT19NQVNLCQkJ MHhmZg0KKyNkZWZpbmUgUl9BVURfREFDX05FR19MQVJHRV9NT05PX01BU0tfU0ZUCQkoMHhmZiA8 PCAwKQ0KKw0KKy8qIEFGVU5DX0FVRF9DT042ICovDQorI2RlZmluZSBSX0FVRF9EQUNfUE9TX1NN QUxMX01PTk9fU0ZUCQkJMTINCisjZGVmaW5lIFJfQVVEX0RBQ19QT1NfU01BTExfTU9OT19NQVNL CQkJMHhmDQorI2RlZmluZSBSX0FVRF9EQUNfUE9TX1NNQUxMX01PTk9fTUFTS19TRlQJCSgweGYg PDwgMTIpDQorI2RlZmluZSBSX0FVRF9EQUNfTkVHX1NNQUxMX01PTk9fU0ZUCQkJOA0KKyNkZWZp bmUgUl9BVURfREFDX05FR19TTUFMTF9NT05PX01BU0sJCQkweGYNCisjZGVmaW5lIFJfQVVEX0RB Q19ORUdfU01BTExfTU9OT19NQVNLX1NGVAkJKDB4ZiA8PCA4KQ0KKyNkZWZpbmUgUl9BVURfREFD X1BPU19USU5ZX01PTk9fU0ZUCQkJNg0KKyNkZWZpbmUgUl9BVURfREFDX1BPU19USU5ZX01PTk9f TUFTSwkJCTB4Mw0KKyNkZWZpbmUgUl9BVURfREFDX1BPU19USU5ZX01PTk9fTUFTS19TRlQJCSgw eDMgPDwgNikNCisjZGVmaW5lIFJfQVVEX0RBQ19ORUdfVElOWV9NT05PX1NGVAkJCTQNCisjZGVm aW5lIFJfQVVEX0RBQ19ORUdfVElOWV9NT05PX01BU0sJCQkweDMNCisjZGVmaW5lIFJfQVVEX0RB Q19ORUdfVElOWV9NT05PX01BU0tfU0ZUCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSX0FVRF9EQUNf TU9OT19TRUxfU0ZUCQkJCTMNCisjZGVmaW5lIFJfQVVEX0RBQ19NT05PX1NFTF9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUl9BVURfREFDX01PTk9fU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNk ZWZpbmUgUl9BVURfREFDXzNUSF9TRUxfU0ZUCQkJCTENCisjZGVmaW5lIFJfQVVEX0RBQ18zVEhf U0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBSX0FVRF9EQUNfM1RIX1NFTF9NQVNLX1NGVAkJCSgw eDEgPDwgMSkNCisjZGVmaW5lIFJfQVVEX0RBQ19TV19SU1RCX1NGVAkJCQkwDQorI2RlZmluZSBS X0FVRF9EQUNfU1dfUlNUQl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUl9BVURfREFDX1NXX1JTVEJf TUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjcgKi8NCisjZGVmaW5l IFVMMl9ESUdNSUNfVEVTVENLX1NSQ19TRUxfU0ZUCQkJMTANCisjZGVmaW5lIFVMMl9ESUdNSUNf VEVTVENLX1NSQ19TRUxfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgVUwyX0RJR01JQ19URVNUQ0tfU1JD X1NFTF9NQVNLX1NGVAkJKDB4NyA8PCAxMCkNCisjZGVmaW5lIFVMMl9ESUdNSUNfVEVTVENLX1NF TF9TRlQJCQk5DQorI2RlZmluZSBVTDJfRElHTUlDX1RFU1RDS19TRUxfTUFTSwkJCTB4MQ0KKyNk ZWZpbmUgVUwyX0RJR01JQ19URVNUQ0tfU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCA5KQ0KKyNkZWZp bmUgVUwyX0ZJRk9fV0NMS19JTlZfU0ZUCQkJCTgNCisjZGVmaW5lIFVMMl9GSUZPX1dDTEtfSU5W X01BU0sJCQkJMHgxDQorI2RlZmluZSBVTDJfRklGT19XQ0xLX0lOVl9NQVNLX1NGVAkJCSgweDEg PDwgOCkNCisjZGVmaW5lIFVMMl9GSUZPX0RJR01JQ19XREFUQV9URVNUU1JDX1NFTF9TRlQJCTYN CisjZGVmaW5lIFVMMl9GSUZPX0RJR01JQ19XREFUQV9URVNUU1JDX1NFTF9NQVNLCQkweDENCisj ZGVmaW5lIFVMMl9GSUZPX0RJR01JQ19XREFUQV9URVNUU1JDX1NFTF9NQVNLX1NGVAkoMHgxIDw8 IDYpDQorI2RlZmluZSBVTDJfRklGT19XREFUQV9URVNURU5fU0ZUCQkJNQ0KKyNkZWZpbmUgVUwy X0ZJRk9fV0RBVEFfVEVTVEVOX01BU0sJCQkweDENCisjZGVmaW5lIFVMMl9GSUZPX1dEQVRBX1RF U1RFTl9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFVMMl9GSUZPX1dEQVRBX1RFU1RT UkNfU0VMX1NGVAkJCTQNCisjZGVmaW5lIFVMMl9GSUZPX1dEQVRBX1RFU1RTUkNfU0VMX01BU0sJ CQkweDENCisjZGVmaW5lIFVMMl9GSUZPX1dEQVRBX1RFU1RTUkNfU0VMX01BU0tfU0ZUCQkoMHgx IDw8IDQpDQorI2RlZmluZSBVTDJfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NFTF9TRlQJCTMNCisj ZGVmaW5lIFVMMl9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU0VMX01BU0sJCTB4MQ0KKyNkZWZpbmUg VUwyX0ZJRk9fV0NMS182UDVNX1RFU1RDS19TRUxfTUFTS19TRlQJCSgweDEgPDwgMykNCisjZGVm aW5lIFVMMl9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU1JDX1NFTF9TRlQJCTANCisjZGVmaW5lIFVM Ml9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU1JDX1NFTF9NQVNLCQkweDcNCisjZGVmaW5lIFVMMl9G SUZPX1dDTEtfNlA1TV9URVNUQ0tfU1JDX1NFTF9NQVNLX1NGVAkoMHg3IDw8IDApDQorDQorLyog QUZVTkNfQVVEX0NPTjggKi8NCisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfRU5fU0ZUCQkJCTkN CisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgU1BMSVRU RVIyX0RJVEhFUl9FTl9NQVNLX1NGVAkJCSgweDEgPDwgOSkNCisjZGVmaW5lIFNQTElUVEVSMV9E SVRIRVJfRU5fU0ZUCQkJCTgNCisjZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJfRU5fTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgU1BMSVRURVIxX0RJVEhFUl9FTl9NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisj ZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfR0FJTl9TRlQJCQk0DQorI2RlZmluZSBTUExJVFRFUjJf RElUSEVSX0dBSU5fTUFTSwkJCTB4Zg0KKyNkZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9HQUlOX01B U0tfU0ZUCQkJKDB4ZiA8PCA0KQ0KKyNkZWZpbmUgU1BMSVRURVIxX0RJVEhFUl9HQUlOX1NGVAkJ CTANCisjZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJfR0FJTl9NQVNLCQkJMHhmDQorI2RlZmluZSBT UExJVFRFUjFfRElUSEVSX0dBSU5fTUFTS19TRlQJCQkoMHhmIDw8IDApDQorDQorLyogQUZVTkNf QVVEX0NPTjkgKi8NCisjZGVmaW5lIENDSV9BVURfQU5BQ0tfU0VMXzJORF9TRlQJCQkxNQ0KKyNk ZWZpbmUgQ0NJX0FVRF9BTkFDS19TRUxfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURf QU5BQ0tfU0VMXzJORF9NQVNLX1NGVAkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBDQ0lfQVVESU9f RklGT19XUFRSXzJORF9TRlQJCQkxMg0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fV1BUUl8yTkRf TUFTSwkJCTB4Nw0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fV1BUUl8yTkRfTUFTS19TRlQJCSgw eDcgPDwgMTIpDQorI2RlZmluZSBDQ0lfU0NSQU1CTEVSX0NHX0VOXzJORF9TRlQJCQkxMQ0KKyNk ZWZpbmUgQ0NJX1NDUkFNQkxFUl9DR19FTl8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX1ND UkFNQkxFUl9DR19FTl8yTkRfTUFTS19TRlQJCSAoMHgxIDw8IDExKQ0KKyNkZWZpbmUgQ0NJX0xD SF9JTlZfMk5EX1NGVAkJCQkxMA0KKyNkZWZpbmUgQ0NJX0xDSF9JTlZfMk5EX01BU0sJCQkJMHgx DQorI2RlZmluZSBDQ0lfTENIX0lOVl8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDEwKQ0KKyNkZWZp bmUgQ0NJX1JBTkRfRU5fMk5EX1NGVAkJCQk5DQorI2RlZmluZSBDQ0lfUkFORF9FTl8yTkRfTUFT SwkJCQkweDENCisjZGVmaW5lIENDSV9SQU5EX0VOXzJORF9NQVNLX1NGVAkJCSgweDEgPDwgOSkN CisjZGVmaW5lIENDSV9TUExUX1NDUk1CX0NMS19PTl8yTkRfU0ZUCQkJOA0KKyNkZWZpbmUgQ0NJ X1NQTFRfU0NSTUJfQ0xLX09OXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JN Ql9DTEtfT05fMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDgpDQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JN Ql9PTl8yTkRfU0ZUCQkJNw0KKyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfT05fMk5EX01BU0sJCQkw eDENCisjZGVmaW5lIENDSV9TUExUX1NDUk1CX09OXzJORF9NQVNLX1NGVAkJCSgweDEgPDwgNykN CisjZGVmaW5lIENDSV9BVURfSURBQ19URVNUX0VOXzJORF9TRlQJCQk2DQorI2RlZmluZSBDQ0lf QVVEX0lEQUNfVEVTVF9FTl8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9JREFDX1RF U1RfRU5fMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDYpDQorI2RlZmluZSBDQ0lfWkVST19QQURfRElT QUJMRV8yTkRfU0ZUCQkJNQ0KKyNkZWZpbmUgQ0NJX1pFUk9fUEFEX0RJU0FCTEVfMk5EX01BU0sJ CQkweDENCisjZGVmaW5lIENDSV9aRVJPX1BBRF9ESVNBQkxFXzJORF9NQVNLX1NGVAkJKDB4MSA8 PCA1KQ0KKyNkZWZpbmUgQ0NJX0FVRF9TUExJVF9URVNUX0VOXzJORF9TRlQJCQk0DQorI2RlZmlu ZSBDQ0lfQVVEX1NQTElUX1RFU1RfRU5fMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURf U1BMSVRfVEVTVF9FTl8yTkRfTUFTS19TRlQJCSgweDEgPDwgNCkNCisjZGVmaW5lIENDSV9BVURf U0RNX01VVEVMXzJORF9TRlQJCQkzDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFTF8yTkRfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVURUxfMk5EX01BU0tfU0ZUCQkJKDB4MSA8 PCAzKQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVURVJfMk5EX1NGVAkJCTINCisjZGVmaW5lIEND SV9BVURfU0RNX01VVEVSXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRF Ul8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBDQ0lfQVVEX1NETV83QklUX1NF TF8yTkRfU0ZUCQkJMQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fN0JJVF9TRUxfMk5EX01BU0sJCQkw eDENCisjZGVmaW5lIENDSV9BVURfU0RNXzdCSVRfU0VMXzJORF9NQVNLX1NGVAkJKDB4MSA8PCAx KQ0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9FTl8yTkRfU0ZUCQkJMA0KKyNkZWZpbmUgQ0NJX1ND UkFNQkxFUl9FTl8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9FTl8yTkRf TUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjEwICovDQorI2RlZmlu ZSBBVURfU0RNX1RFU1RfTF8yTkRfU0ZUCQkJCTgNCisjZGVmaW5lIEFVRF9TRE1fVEVTVF9MXzJO RF9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIEFVRF9TRE1fVEVTVF9MXzJORF9NQVNLX1NGVAkJCSgw eGZmIDw8IDgpDQorI2RlZmluZSBBVURfU0RNX1RFU1RfUl8yTkRfU0ZUCQkJCTANCisjZGVmaW5l IEFVRF9TRE1fVEVTVF9SXzJORF9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIEFVRF9TRE1fVEVTVF9S XzJORF9NQVNLX1NGVAkJCSgweGZmIDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjExICovDQor I2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFfTVVURV8yTkRfU0ZUCQkJNw0KKyNkZWZpbmUgQ0NJX0FV RF9EQUNfQU5BX01VVEVfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURfREFDX0FOQV9N VVRFXzJORF9NQVNLX1NGVAkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX1JT VEJfU0VMXzJORF9TRlQJCTYNCisjZGVmaW5lIENDSV9BVURfREFDX0FOQV9SU1RCX1NFTF8yTkRf TUFTSwkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFfUlNUQl9TRUxfMk5EX01BU0tfU0ZU CQkoMHgxIDw8IDYpDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19DTEtJTl9JTlZfMk5EX1NGVAkJ NA0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fQ0xLSU5fSU5WXzJORF9NQVNLCQkweDENCisjZGVm aW5lIENDSV9BVURJT19GSUZPX0NMS0lOX0lOVl8yTkRfTUFTS19TRlQJCSgweDEgPDwgNCkNCisj ZGVmaW5lIENDSV9BVURJT19GSUZPX0VOQUJMRV8yTkRfU0ZUCQkJMw0KKyNkZWZpbmUgQ0NJX0FV RElPX0ZJRk9fRU5BQkxFXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19F TkFCTEVfMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDMpDQorI2RlZmluZSBDQ0lfQUNEX01PREVfMk5E X1NGVAkJCQkyDQorI2RlZmluZSBDQ0lfQUNEX01PREVfMk5EX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBDQ0lfQUNEX01PREVfMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgQ0NJX0FG SUZPX0NMS19QV0RCXzJORF9TRlQJCQkxDQorI2RlZmluZSBDQ0lfQUZJRk9fQ0xLX1BXREJfMk5E X01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BRklGT19DTEtfUFdEQl8yTkRfTUFTS19TRlQJCQko MHgxIDw8IDEpDQorI2RlZmluZSBDQ0lfQUNEX0ZVTkNfUlNUQl8yTkRfU0ZUCQkJMA0KKyNkZWZp bmUgQ0NJX0FDRF9GVU5DX1JTVEJfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BQ0RfRlVO Q19SU1RCXzJORF9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09OMTIg Ki8NCisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfRU5fMk5EX1NGVAkJCTkNCisjZGVmaW5lIFNQ TElUVEVSMl9ESVRIRVJfRU5fMk5EX01BU0sJCQkweDENCisjZGVmaW5lIFNQTElUVEVSMl9ESVRI RVJfRU5fMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDkpDQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVS X0VOXzJORF9TRlQJCQk4DQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0VOXzJORF9NQVNLCQkJ MHgxDQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0VOXzJORF9NQVNLX1NGVAkJKDB4MSA8PCA4 KQ0KKyNkZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9HQUlOXzJORF9TRlQJCQk0DQorI2RlZmluZSBT UExJVFRFUjJfRElUSEVSX0dBSU5fMk5EX01BU0sJCQkweGYNCisjZGVmaW5lIFNQTElUVEVSMl9E SVRIRVJfR0FJTl8yTkRfTUFTS19TRlQJCSgweGYgPDwgNCkNCisjZGVmaW5lIFNQTElUVEVSMV9E SVRIRVJfR0FJTl8yTkRfU0ZUCQkJMA0KKyNkZWZpbmUgU1BMSVRURVIxX0RJVEhFUl9HQUlOXzJO RF9NQVNLCQkJMHhmDQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0dBSU5fMk5EX01BU0tfU0ZU CQkoMHhmIDw8IDApDQorDQorLyogQUZVTkNfQVVEX01PTjAgKi8NCisjZGVmaW5lIEFVRF9TQ1Jf T1VUX0xfU0ZUCQkJCTgNCisjZGVmaW5lIEFVRF9TQ1JfT1VUX0xfTUFTSwkJCQkweGZmDQorI2Rl ZmluZSBBVURfU0NSX09VVF9MX01BU0tfU0ZUCQkJCSgweGZmIDw8IDgpDQorI2RlZmluZSBBVURf U0NSX09VVF9SX1NGVAkJCQkwDQorI2RlZmluZSBBVURfU0NSX09VVF9SX01BU0sJCQkJMHhmZg0K KyNkZWZpbmUgQVVEX1NDUl9PVVRfUl9NQVNLX1NGVAkJCQkoMHhmZiA8PCAwKQ0KKw0KKy8qIEFG VU5DX0FVRF9NT04xICovDQorI2RlZmluZSBBVURfU0NSX09VVF9MXzJORF9TRlQJCQkJOA0KKyNk ZWZpbmUgQVVEX1NDUl9PVVRfTF8yTkRfTUFTSwkJCQkweGZmDQorI2RlZmluZSBBVURfU0NSX09V VF9MXzJORF9NQVNLX1NGVAkJCSgweGZmIDw8IDgpDQorI2RlZmluZSBBVURfU0NSX09VVF9SXzJO RF9TRlQJCQkJMA0KKyNkZWZpbmUgQVVEX1NDUl9PVVRfUl8yTkRfTUFTSwkJCQkweGZmDQorI2Rl ZmluZSBBVURfU0NSX09VVF9SXzJORF9NQVNLX1NGVAkJCSgweGZmIDw8IDApDQorDQorLyogQVVE UkNfVFVORV9NT04wICovDQorI2RlZmluZSBBU1lOQ19URVNUX09VVF9CQ0tfU0ZUCQkJCTE1DQor I2RlZmluZSBBU1lOQ19URVNUX09VVF9CQ0tfTUFTSwkJCQkweDENCisjZGVmaW5lIEFTWU5DX1RF U1RfT1VUX0JDS19NQVNLX1NGVAkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBSR1NfQVVEUkNUVU5F MVJFQURfU0ZUCQkJCTgNCisjZGVmaW5lIFJHU19BVURSQ1RVTkUxUkVBRF9NQVNLCQkJCTB4MWYN CisjZGVmaW5lIFJHU19BVURSQ1RVTkUxUkVBRF9NQVNLX1NGVAkJCSgweDFmIDw8IDgpDQorI2Rl ZmluZSBSR1NfQVVEUkNUVU5FMFJFQURfU0ZUCQkJCTANCisjZGVmaW5lIFJHU19BVURSQ1RVTkUw UkVBRF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHU19BVURSQ1RVTkUwUkVBRF9NQVNLX1NGVAkJ CSgweDFmIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX0ZJRk9fQ0ZHMCAqLw0KKyNkZWZp bmUgQUZFX1JFU0VSVkVEX1NGVAkJCQkxDQorI2RlZmluZSBBRkVfUkVTRVJWRURfTUFTSwkJCQkw eDdmZmYNCisjZGVmaW5lIEFGRV9SRVNFUlZFRF9NQVNLX1NGVAkJCQkoMHg3ZmZmIDw8IDEpDQor I2RlZmluZSBSR19NVEtBSUZfUlhJRl9GSUZPX0lOVEVOX1NGVAkJCTANCisjZGVmaW5lIFJHX01U S0FJRl9SWElGX0ZJRk9fSU5URU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZf RklGT19JTlRFTl9NQVNLX1NGVAkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBX01US0FJRl9G SUZPX0xPR19NT04xICovDQorI2RlZmluZSBNVEtBSUZfUlhJRl9XUl9GVUxMX1NUQVRVU19TRlQJ CQkxDQorI2RlZmluZSBNVEtBSUZfUlhJRl9XUl9GVUxMX1NUQVRVU19NQVNLCQkJMHgxDQorI2Rl ZmluZSBNVEtBSUZfUlhJRl9XUl9GVUxMX1NUQVRVU19NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNk ZWZpbmUgTVRLQUlGX1JYSUZfUkRfRU1QVFlfU1RBVFVTX1NGVAkJCTANCisjZGVmaW5lIE1US0FJ Rl9SWElGX1JEX0VNUFRZX1NUQVRVU19NQVNLCQkweDENCisjZGVmaW5lIE1US0FJRl9SWElGX1JE X0VNUFRZX1NUQVRVU19NQVNLX1NGVAkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBX01US0FJ Rl9NT04wICovDQorI2RlZmluZSBNVEtBSUZUWF9WM19TWU5DX09VVF9TRlQJCQkxNQ0KKyNkZWZp bmUgTVRLQUlGVFhfVjNfU1lOQ19PVVRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGVFhfVjNf U1lOQ19PVVRfTUFTS19TRlQJCQkoMHgxIDw8IDE1KQ0KKyNkZWZpbmUgTVRLQUlGVFhfVjNfU0RB VEFfT1VUM19TRlQJCQkxNA0KKyNkZWZpbmUgTVRLQUlGVFhfVjNfU0RBVEFfT1VUM19NQVNLCQkJ MHgxDQorI2RlZmluZSBNVEtBSUZUWF9WM19TREFUQV9PVVQzX01BU0tfU0ZUCQkJKDB4MSA8PCAx NCkNCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRBX09VVDJfU0ZUCQkJMTMNCisjZGVmaW5lIE1U S0FJRlRYX1YzX1NEQVRBX09VVDJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGVFhfVjNfU0RB VEFfT1VUMl9NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQorI2RlZmluZSBNVEtBSUZUWF9WM19TREFU QV9PVVQxX1NGVAkJCTEyDQorI2RlZmluZSBNVEtBSUZUWF9WM19TREFUQV9PVVQxX01BU0sJCQkw eDENCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRBX09VVDFfTUFTS19TRlQJCQkoMHgxIDw8IDEy KQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfRklGT19TVEFUVVNfU0ZUCQkJMA0KKyNkZWZpbmUgTVRL QUlGX1JYSUZfRklGT19TVEFUVVNfTUFTSwkJCTB4ZmZmDQorI2RlZmluZSBNVEtBSUZfUlhJRl9G SUZPX1NUQVRVU19NQVNLX1NGVAkJKDB4ZmZmIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlG X01PTjEgKi8NCisjZGVmaW5lIE1US0FJRlJYX1YzX1NZTkNfSU5fU0ZUCQkJCTE1DQorI2RlZmlu ZSBNVEtBSUZSWF9WM19TWU5DX0lOX01BU0sJCQkweDENCisjZGVmaW5lIE1US0FJRlJYX1YzX1NZ TkNfSU5fTUFTS19TRlQJCQkoMHgxIDw8IDE1KQ0KKyNkZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFf SU4zX1NGVAkJCTE0DQorI2RlZmluZSBNVEtBSUZSWF9WM19TREFUQV9JTjNfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFfSU4zX01BU0tfU0ZUCQkJKDB4MSA8PCAxNCkNCisj ZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRBX0lOMl9TRlQJCQkxMw0KKyNkZWZpbmUgTVRLQUlGUlhf VjNfU0RBVEFfSU4yX01BU0sJCQkweDENCisjZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRBX0lOMl9N QVNLX1NGVAkJCSgweDEgPDwgMTMpDQorI2RlZmluZSBNVEtBSUZSWF9WM19TREFUQV9JTjFfU0ZU CQkJMTINCisjZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRBX0lOMV9NQVNLCQkJMHgxDQorI2RlZmlu ZSBNVEtBSUZSWF9WM19TREFUQV9JTjFfTUFTS19TRlQJCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUg TVRLQUlGX1JYSUZfU0VBUkNIX0ZBSUxfRkxBR19TRlQJCTExDQorI2RlZmluZSBNVEtBSUZfUlhJ Rl9TRUFSQ0hfRkFJTF9GTEFHX01BU0sJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfU0VBUkNI X0ZBSUxfRkxBR19NQVNLX1NGVAkJKDB4MSA8PCAxMSkNCisjZGVmaW5lIE1US0FJRl9SWElGX0lO VkFMSURfRkxBR19TRlQJCQk4DQorI2RlZmluZSBNVEtBSUZfUlhJRl9JTlZBTElEX0ZMQUdfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfSU5WQUxJRF9GTEFHX01BU0tfU0ZUCQkoMHgx IDw8IDgpDQorI2RlZmluZSBNVEtBSUZfUlhJRl9JTlZBTElEX0NZQ0xFX1NGVAkJCTANCisjZGVm aW5lIE1US0FJRl9SWElGX0lOVkFMSURfQ1lDTEVfTUFTSwkJCTB4ZmYNCisjZGVmaW5lIE1US0FJ Rl9SWElGX0lOVkFMSURfQ1lDTEVfTUFTS19TRlQJCSgweGZmIDw8IDApDQorDQorLyogQUZFX0FE REFfTVRLQUlGX01PTjIgKi8NCisjZGVmaW5lIE1US0FJRl9UWElGX0lOX0NIMl9TRlQJCQkJOA0K KyNkZWZpbmUgTVRLQUlGX1RYSUZfSU5fQ0gyX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgTVRLQUlG X1RYSUZfSU5fQ0gyX01BU0tfU0ZUCQkJKDB4ZmYgPDwgOCkNCisjZGVmaW5lIE1US0FJRl9UWElG X0lOX0NIMV9TRlQJCQkJMA0KKyNkZWZpbmUgTVRLQUlGX1RYSUZfSU5fQ0gxX01BU0sJCQkJMHhm Zg0KKyNkZWZpbmUgTVRLQUlGX1RYSUZfSU5fQ0gxX01BU0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisN CisvKiBBRkVfQUREQTZfTVRLQUlGX01PTjMgKi8NCisjZGVmaW5lIEFEREE2X01US0FJRl9UWElG X0lOX0NIMl9TRlQJCQk4DQorI2RlZmluZSBBRERBNl9NVEtBSUZfVFhJRl9JTl9DSDJfTUFTSwkJ CTB4ZmYNCisjZGVmaW5lIEFEREE2X01US0FJRl9UWElGX0lOX0NIMl9NQVNLX1NGVAkJKDB4ZmYg PDwgOCkNCisjZGVmaW5lIEFEREE2X01US0FJRl9UWElGX0lOX0NIMV9TRlQJCQkwDQorI2RlZmlu ZSBBRERBNl9NVEtBSUZfVFhJRl9JTl9DSDFfTUFTSwkJCTB4ZmYNCisjZGVmaW5lIEFEREE2X01U S0FJRl9UWElGX0lOX0NIMV9NQVNLX1NGVAkJKDB4ZmYgPDwgMCkNCisNCisvKiBBRkVfQUREQV9N VEtBSUZfTU9ONCAqLw0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NIMl9TRlQJCQkJOA0KKyNk ZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NIMl9NQVNLCQkJMHhmZg0KKyNkZWZpbmUgTVRLQUlGX1JY SUZfT1VUX0NIMl9NQVNLX1NGVAkJCSgweGZmIDw8IDgpDQorI2RlZmluZSBNVEtBSUZfUlhJRl9P VVRfQ0gxX1NGVAkJCQkwDQorI2RlZmluZSBNVEtBSUZfUlhJRl9PVVRfQ0gxX01BU0sJCQkweGZm DQorI2RlZmluZSBNVEtBSUZfUlhJRl9PVVRfQ0gxX01BU0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisN CisvKiBBRkVfQUREQV9NVEtBSUZfTU9ONSAqLw0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NI M19TRlQJCQkJMA0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NIM19NQVNLCQkJMHhmZg0KKyNk ZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NIM19NQVNLX1NGVAkJCSgweGZmIDw8IDApDQorDQorLyog QUZFX0FEREFfTVRLQUlGX0NGRzAgKi8NCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0NMS0lOVl9T RlQJCQkxNQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfQ0xLSU5WX01BU0sJCQkweDENCisjZGVm aW5lIFJHX01US0FJRl9SWElGX0NMS0lOVl9NQVNLX1NGVAkJCSgweDEgPDwgMTUpDQorI2RlZmlu ZSBSR19BRERBNl9NVEtBSUZfVFhJRl9QUk9UT0NPTDJfU0ZUCQk5DQorI2RlZmluZSBSR19BRERB Nl9NVEtBSUZfVFhJRl9QUk9UT0NPTDJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BRERBNl9NVEtB SUZfVFhJRl9QUk9UT0NPTDJfTUFTS19TRlQJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJHX01US0FJ Rl9SWElGX1BST1RPQ09MMl9TRlQJCQk4DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9QUk9UT0NP TDJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfUFJPVE9DT0wyX01BU0tfU0ZU CQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19NVEtBSUZfQllQQVNTX1NSQ19NT0RFX1NGVAkJCTYN CisjZGVmaW5lIFJHX01US0FJRl9CWVBBU1NfU1JDX01PREVfTUFTSwkJCTB4Mw0KKyNkZWZpbmUg UkdfTVRLQUlGX0JZUEFTU19TUkNfTU9ERV9NQVNLX1NGVAkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUg UkdfTVRLQUlGX0JZUEFTU19TUkNfVEVTVF9TRlQJCQk1DQorI2RlZmluZSBSR19NVEtBSUZfQllQ QVNTX1NSQ19URVNUX01BU0sJCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9CWVBBU1NfU1JDX1RF U1RfTUFTS19TRlQJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX01US0FJRl9UWElGX1BST1RPQ09M Ml9TRlQJCQk0DQorI2RlZmluZSBSR19NVEtBSUZfVFhJRl9QUk9UT0NPTDJfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfTVRLQUlGX1RYSUZfUFJPVE9DT0wyX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQor I2RlZmluZSBSR19BRERBNl9NVEtBSUZfUE1JQ19UWElGXzhUTzVfU0ZUCQkzDQorI2RlZmluZSBS R19BRERBNl9NVEtBSUZfUE1JQ19UWElGXzhUTzVfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BRERB Nl9NVEtBSUZfUE1JQ19UWElGXzhUTzVfTUFTS19TRlQJCSgweDEgPDwgMykNCisjZGVmaW5lIFJH X01US0FJRl9QTUlDX1RYSUZfOFRPNV9TRlQJCQkyDQorI2RlZmluZSBSR19NVEtBSUZfUE1JQ19U WElGXzhUTzVfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1BNSUNfVFhJRl84VE81X01B U0tfU0ZUCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19NVEtBSUZfTE9PUEJBQ0tfVEVTVDJfU0ZU CQkJMQ0KKyNkZWZpbmUgUkdfTVRLQUlGX0xPT1BCQUNLX1RFU1QyX01BU0sJCQkweDENCisjZGVm aW5lIFJHX01US0FJRl9MT09QQkFDS19URVNUMl9NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZp bmUgUkdfTVRLQUlGX0xPT1BCQUNLX1RFU1QxX1NGVAkJCTANCisjZGVmaW5lIFJHX01US0FJRl9M T09QQkFDS19URVNUMV9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfTE9PUEJBQ0tfVEVT VDFfTUFTS19TRlQJCSgweDEgPDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtBSUZfUlhfQ0ZHMCAq Lw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfVk9JQ0VfTU9ERV9TRlQJCQkxMg0KKyNkZWZpbmUg UkdfTVRLQUlGX1JYSUZfVk9JQ0VfTU9ERV9NQVNLCQkJMHhmDQorI2RlZmluZSBSR19NVEtBSUZf UlhJRl9WT0lDRV9NT0RFX01BU0tfU0ZUCQkoMHhmIDw8IDEyKQ0KKyNkZWZpbmUgUkdfTVRLQUlG X1JYSUZfREFUQV9CSVRfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREFUQV9CSVRf TUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREFUQV9CSVRfTUFTS19TRlQJCSgw eDcgPDwgOCkNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0ZJRk9fUlNQX1NGVAkJCTQNCisjZGVm aW5lIFJHX01US0FJRl9SWElGX0ZJRk9fUlNQX01BU0sJCQkweDcNCisjZGVmaW5lIFJHX01US0FJ Rl9SWElGX0ZJRk9fUlNQX01BU0tfU0ZUCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSR19NVEtBSUZf UlhJRl9ERVRFQ1RfT05fU0ZUCQkJMw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREVURUNUX09O X01BU0sJCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0RFVEVDVF9PTl9NQVNLX1NGVAkJ KDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREFUQV9NT0RFX1NGVAkJCTANCisj ZGVmaW5lIFJHX01US0FJRl9SWElGX0RBVEFfTU9ERV9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19N VEtBSUZfUlhJRl9EQVRBX01PREVfTUFTS19TRlQJCSgweDEgPDwgMCkNCisNCisvKiBBRkVfQURE QV9NVEtBSUZfUlhfQ0ZHMSAqLw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19TRUFSQ0hf VEFCTEVfU0ZUCQkxMg0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19TRUFSQ0hfVEFCTEVf TUFTSwkJMHhmDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX1NFQVJDSF9UQUJMRV9NQVNL X1NGVAkoMHhmIDw8IDEyKQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfSU5WQUxJRF9TWU5DX0NI RUNLX1JPVU5EX1NGVAk4DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9JTlZBTElEX1NZTkNfQ0hF Q0tfUk9VTkRfTUFTSwkweGYNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0lOVkFMSURfU1lOQ19D SEVDS19ST1VORF9NQVNLX1NGVAkoMHhmIDw8IDgpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9T WU5DX0NIRUNLX1JPVU5EX1NGVAkJNA0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19DSEVD S19ST1VORF9NQVNLCQkweGYNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1NZTkNfQ0hFQ0tfUk9V TkRfTUFTS19TRlQJKDB4ZiA8PCA0KQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfVk9JQ0VfTU9E RV9QUk9UT0NPTDJfU0ZUCQkwDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9WT0lDRV9NT0RFX1BS T1RPQ09MMl9NQVNLCTB4Zg0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfVk9JQ0VfTU9ERV9QUk9U T0NPTDJfTUFTS19TRlQJKDB4ZiA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBX01US0FJRl9SWF9DRkcy ICovDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9QMl9JTlBVVF9TRUxfU0ZUCQkJMTUNCisjZGVm aW5lIFJHX01US0FJRl9SWElGX1AyX0lOUFVUX1NFTF9NQVNLCQkweDENCisjZGVmaW5lIFJHX01U S0FJRl9SWElGX1AyX0lOUFVUX1NFTF9NQVNLX1NGVAkJKDB4MSA8PCAxNSkNCisjZGVmaW5lIFJH X01US0FJRl9SWElGX1NZTkNfV09SRDJfRElTQUJMRV9TRlQJCTE0DQorI2RlZmluZSBSR19NVEtB SUZfUlhJRl9TWU5DX1dPUkQyX0RJU0FCTEVfTUFTSwkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZf UlhJRl9TWU5DX1dPUkQyX0RJU0FCTEVfTUFTS19TRlQJKDB4MSA8PCAxNCkNCisjZGVmaW5lIFJH X01US0FJRl9SWElGX1NZTkNfV09SRDFfRElTQUJMRV9TRlQJCTEzDQorI2RlZmluZSBSR19NVEtB SUZfUlhJRl9TWU5DX1dPUkQxX0RJU0FCTEVfTUFTSwkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZf UlhJRl9TWU5DX1dPUkQxX0RJU0FCTEVfTUFTS19TRlQJKDB4MSA8PCAxMykNCisjZGVmaW5lIFJH X01US0FJRl9SWElGX0NMRUFSX1NZTkNfRkFJTF9TRlQJCTEyDQorI2RlZmluZSBSR19NVEtBSUZf UlhJRl9DTEVBUl9TWU5DX0ZBSUxfTUFTSwkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9D TEVBUl9TWU5DX0ZBSUxfTUFTS19TRlQJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19NVEtBSUZf UlhJRl9TWU5DX0NOVF9UQUJMRV9TRlQJCTANCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1NZTkNf Q05UX1RBQkxFX01BU0sJCTB4ZmZmDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX0NOVF9U QUJMRV9NQVNLX1NGVAkJKDB4ZmZmIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX1JYX0NG RzMgKi8NCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0xPT1BCQUNLX1VTRV9OTEVfU0ZUCQk3DQor I2RlZmluZSBSR19NVEtBSUZfUlhJRl9MT09QQkFDS19VU0VfTkxFX01BU0sJCTB4MQ0KKyNkZWZp bmUgUkdfTVRLQUlGX1JYSUZfTE9PUEJBQ0tfVVNFX05MRV9NQVNLX1NGVAkoMHgxIDw8IDcpDQor I2RlZmluZSBSR19NVEtBSUZfUlhJRl9GSUZPX1JTUF9QUk9UT0NPTDJfU0ZUCQk0DQorI2RlZmlu ZSBSR19NVEtBSUZfUlhJRl9GSUZPX1JTUF9QUk9UT0NPTDJfTUFTSwkJMHg3DQorI2RlZmluZSBS R19NVEtBSUZfUlhJRl9GSUZPX1JTUF9QUk9UT0NPTDJfTUFTS19TRlQJKDB4NyA8PCA0KQ0KKyNk ZWZpbmUgUkdfTVRLQUlGX1JYSUZfREVURUNUX09OX1BST1RPQ09MMl9TRlQJCTMNCisjZGVmaW5l IFJHX01US0FJRl9SWElGX0RFVEVDVF9PTl9QUk9UT0NPTDJfTUFTSwkJMHgxDQorI2RlZmluZSBS R19NVEtBSUZfUlhJRl9ERVRFQ1RfT05fUFJPVE9DT0wyX01BU0tfU0ZUCSgweDEgPDwgMykNCisN CisvKiBBRkVfQUREQV9NVEtBSUZfU1lOQ1dPUkRfQ0ZHMCAqLw0KKyNkZWZpbmUgUkdfTVRLQUlG X1JYX1NZTkNfV09SRDJfU0ZUCQkJNA0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYX1NZTkNfV09SRDJf TUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYX1NZTkNfV09SRDJfTUFTS19TRlQJCSgw eDcgPDwgNCkNCisjZGVmaW5lIFJHX01US0FJRl9SWF9TWU5DX1dPUkQxX1NGVAkJCTANCisjZGVm aW5lIFJHX01US0FJRl9SWF9TWU5DX1dPUkQxX01BU0sJCQkweDcNCisjZGVmaW5lIFJHX01US0FJ Rl9SWF9TWU5DX1dPUkQxX01BU0tfU0ZUCQkoMHg3IDw8IDApDQorDQorLyogQUZFX0FEREFfTVRL QUlGX1NZTkNXT1JEX0NGRzEgKi8NCisjZGVmaW5lIFJHX0FEREE2X01US0FJRl9UWF9TWU5DX1dP UkQyX1NGVAkJMTINCisjZGVmaW5lIFJHX0FEREE2X01US0FJRl9UWF9TWU5DX1dPUkQyX01BU0sJ CTB4Nw0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1RYX1NZTkNfV09SRDJfTUFTS19TRlQJCSgw eDcgPDwgMTIpDQorI2RlZmluZSBSR19BRERBNl9NVEtBSUZfVFhfU1lOQ19XT1JEMV9TRlQJCTgN CisjZGVmaW5lIFJHX0FEREE2X01US0FJRl9UWF9TWU5DX1dPUkQxX01BU0sJCTB4Nw0KKyNkZWZp bmUgUkdfQUREQTZfTVRLQUlGX1RYX1NZTkNfV09SRDFfTUFTS19TRlQJCSgweDcgPDwgOCkNCisj ZGVmaW5lIFJHX0FEREFfTVRLQUlGX1RYX1NZTkNfV09SRDJfU0ZUCQk0DQorI2RlZmluZSBSR19B RERBX01US0FJRl9UWF9TWU5DX1dPUkQyX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfQUREQV9NVEtB SUZfVFhfU1lOQ19XT1JEMl9NQVNLX1NGVAkJKDB4NyA8PCA0KQ0KKyNkZWZpbmUgUkdfQUREQV9N VEtBSUZfVFhfU1lOQ19XT1JEMV9TRlQJCTANCisjZGVmaW5lIFJHX0FEREFfTVRLQUlGX1RYX1NZ TkNfV09SRDFfTUFTSwkJMHg3DQorI2RlZmluZSBSR19BRERBX01US0FJRl9UWF9TWU5DX1dPUkQx X01BU0tfU0ZUCQkoMHg3IDw8IDApDQorDQorLyogQUZFX1NHRU5fQ0ZHMCAqLw0KKyNkZWZpbmUg U0dFTl9BTVBfRElWX0NIMV9DVExfU0ZUCQkJMTINCisjZGVmaW5lIFNHRU5fQU1QX0RJVl9DSDFf Q1RMX01BU0sJCQkweGYNCisjZGVmaW5lIFNHRU5fQU1QX0RJVl9DSDFfQ1RMX01BU0tfU0ZUCQkJ KDB4ZiA8PCAxMikNCisjZGVmaW5lIFNHRU5fREFDX0VOX0NUTF9TRlQJCQkJNw0KKyNkZWZpbmUg U0dFTl9EQUNfRU5fQ1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBTR0VOX0RBQ19FTl9DVExfTUFT S19TRlQJCQkoMHgxIDw8IDcpDQorI2RlZmluZSBTR0VOX01VVEVfU1dfQ1RMX1NGVAkJCQk2DQor I2RlZmluZSBTR0VOX01VVEVfU1dfQ1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBTR0VOX01VVEVf U1dfQ1RMX01BU0tfU0ZUCQkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUl9BVURfU0RNX01VVEVfTF9T RlQJCQkJNQ0KKyNkZWZpbmUgUl9BVURfU0RNX01VVEVfTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg Ul9BVURfU0RNX01VVEVfTF9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJfQVVEX1NE TV9NVVRFX1JfU0ZUCQkJCTQNCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX1JfTUFTSwkJCQkweDEN CisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX1JfTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmlu ZSBSX0FVRF9TRE1fTVVURV9MXzJORF9TRlQJCQkzDQorI2RlZmluZSBSX0FVRF9TRE1fTVVURV9M XzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBSX0FVRF9TRE1fTVVURV9MXzJORF9NQVNLX1NGVAkJ CSgweDEgPDwgMykNCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX1JfMk5EX1NGVAkJCTINCisjZGVm aW5lIFJfQVVEX1NETV9NVVRFX1JfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIFJfQVVEX1NETV9N VVRFX1JfMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKw0KKy8qIEFGRV9TR0VOX0NGRzEgKi8N CisjZGVmaW5lIENfU0dFTl9SQ0hfSU5WXzVCSVRfU0ZUCQkJCTE1DQorI2RlZmluZSBDX1NHRU5f UkNIX0lOVl81QklUX01BU0sJCQkweDENCisjZGVmaW5lIENfU0dFTl9SQ0hfSU5WXzVCSVRfTUFT S19TRlQJCQkoMHgxIDw8IDE1KQ0KKyNkZWZpbmUgQ19TR0VOX1JDSF9JTlZfOEJJVF9TRlQJCQkJ MTQNCisjZGVmaW5lIENfU0dFTl9SQ0hfSU5WXzhCSVRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ19T R0VOX1JDSF9JTlZfOEJJVF9NQVNLX1NGVAkJCSgweDEgPDwgMTQpDQorI2RlZmluZSBTR0VOX0ZS RVFfRElWX0NIMV9DVExfU0ZUCQkJMA0KKyNkZWZpbmUgU0dFTl9GUkVRX0RJVl9DSDFfQ1RMX01B U0sJCQkweDFmDQorI2RlZmluZSBTR0VOX0ZSRVFfRElWX0NIMV9DVExfTUFTS19TRlQJCQkoMHgx ZiA8PCAwKQ0KKw0KKy8qIEFGRV9BRENfQVNZTkNfRklGT19DRkcgKi8NCisjZGVmaW5lIFJHX1VM X0FTWU5DX0ZJRk9fU09GVF9SU1RfRU5fU0ZUCQk1DQorI2RlZmluZSBSR19VTF9BU1lOQ19GSUZP X1NPRlRfUlNUX0VOX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfVUxfQVNZTkNfRklGT19TT0ZUX1JT VF9FTl9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfVUxfQVNZTkNfRklGT19TT0ZU X1JTVF9TRlQJCQk0DQorI2RlZmluZSBSR19VTF9BU1lOQ19GSUZPX1NPRlRfUlNUX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX1VMX0FTWU5DX0ZJRk9fU09GVF9SU1RfTUFTS19TRlQJCSgweDEgPDwg NCkNCisjZGVmaW5lIFJHX0FNSUNfVUxfQURDX0NMS19TRUxfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdf QU1JQ19VTF9BRENfQ0xLX1NFTF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BTUlDX1VMX0FEQ19D TEtfU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKw0KKy8qIEFGRV9BRENfQVNZTkNfRklGT19D RkcxICovDQorI2RlZmluZSBSR19VTDJfQVNZTkNfRklGT19TT0ZUX1JTVF9FTl9TRlQJCTUNCisj ZGVmaW5lIFJHX1VMMl9BU1lOQ19GSUZPX1NPRlRfUlNUX0VOX01BU0sJCTB4MQ0KKyNkZWZpbmUg UkdfVUwyX0FTWU5DX0ZJRk9fU09GVF9SU1RfRU5fTUFTS19TRlQJCSgweDEgPDwgNSkNCisjZGVm aW5lIFJHX1VMMl9BU1lOQ19GSUZPX1NPRlRfUlNUX1NGVAkJCTQNCisjZGVmaW5lIFJHX1VMMl9B U1lOQ19GSUZPX1NPRlRfUlNUX01BU0sJCQkweDENCisjZGVmaW5lIFJHX1VMMl9BU1lOQ19GSUZP X1NPRlRfUlNUX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQorDQorLyogQUZFX0RDQ0xLX0NGRzAgKi8N CisjZGVmaW5lIERDQ0xLX0RJVl9TRlQJCQkJCTUNCisjZGVmaW5lIERDQ0xLX0RJVl9NQVNLCQkJ CQkweDdmZg0KKyNkZWZpbmUgRENDTEtfRElWX01BU0tfU0ZUCQkJCSgweDdmZiA8PCA1KQ0KKyNk ZWZpbmUgRENDTEtfSU5WX1NGVAkJCQkJNA0KKyNkZWZpbmUgRENDTEtfSU5WX01BU0sJCQkJCTB4 MQ0KKyNkZWZpbmUgRENDTEtfSU5WX01BU0tfU0ZUCQkJCSgweDEgPDwgNCkNCisjZGVmaW5lIERD Q0xLX1JFRl9DS19TRUxfU0ZUCQkJCTINCisjZGVmaW5lIERDQ0xLX1JFRl9DS19TRUxfTUFTSwkJ CQkweDMNCisjZGVmaW5lIERDQ0xLX1JFRl9DS19TRUxfTUFTS19TRlQJCQkoMHgzIDw8IDIpDQor I2RlZmluZSBEQ0NMS19QRE5fU0ZUCQkJCQkxDQorI2RlZmluZSBEQ0NMS19QRE5fTUFTSwkJCQkJ MHgxDQorI2RlZmluZSBEQ0NMS19QRE5fTUFTS19TRlQJCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUg RENDTEtfR0VOX09OX1NGVAkJCQkwDQorI2RlZmluZSBEQ0NMS19HRU5fT05fTUFTSwkJCQkweDEN CisjZGVmaW5lIERDQ0xLX0dFTl9PTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDApDQorDQorLyogQUZF X0RDQ0xLX0NGRzEgKi8NCisjZGVmaW5lIFJFU1lOQ19TUkNfU0VMX1NGVAkJCQkxMA0KKyNkZWZp bmUgUkVTWU5DX1NSQ19TRUxfTUFTSwkJCQkweDMNCisjZGVmaW5lIFJFU1lOQ19TUkNfU0VMX01B U0tfU0ZUCQkJCSgweDMgPDwgMTApDQorI2RlZmluZSBSRVNZTkNfU1JDX0NLX0lOVl9TRlQJCQkJ OQ0KKyNkZWZpbmUgUkVTWU5DX1NSQ19DS19JTlZfTUFTSwkJCQkweDENCisjZGVmaW5lIFJFU1lO Q19TUkNfQ0tfSU5WX01BU0tfU0ZUCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgRENDTEtfUkVTWU5D X0JZUEFTU19TRlQJCQkJOA0KKyNkZWZpbmUgRENDTEtfUkVTWU5DX0JZUEFTU19NQVNLCQkJMHgx DQorI2RlZmluZSBEQ0NMS19SRVNZTkNfQllQQVNTX01BU0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNk ZWZpbmUgRENDTEtfUEhBU0VfU0VMX1NGVAkJCQk0DQorI2RlZmluZSBEQ0NMS19QSEFTRV9TRUxf TUFTSwkJCQkweGYNCisjZGVmaW5lIERDQ0xLX1BIQVNFX1NFTF9NQVNLX1NGVAkJCSgweGYgPDwg NCkNCisNCisvKiBBVURJT19ESUdfQ0ZHICovDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRf TUlTTzJfTE9PUEJBQ0tfU0ZUCQkxNQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfREFUX01JU08y X0xPT1BCQUNLX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfREFUX01JU08yX0xP T1BCQUNLX01BU0tfU0ZUCSgweDEgPDwgMTUpDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9QSEFT RV9NT0RFMl9TRlQJCQk4DQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFMl9NQVNL CQkJMHg3Zg0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfUEhBU0VfTU9ERTJfTUFTS19TRlQJCSgw eDdmIDw8IDgpDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRfTUlTT19MT09QQkFDS19TRlQJ CTcNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX0RBVF9NSVNPX0xPT1BCQUNLX01BU0sJCTB4MQ0K KyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfREFUX01JU09fTE9PUEJBQ0tfTUFTS19TRlQJKDB4MSA8 PCA3KQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfUEhBU0VfTU9ERV9TRlQJCQkwDQorI2RlZmlu ZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFX01BU0sJCQkweDdmDQorI2RlZmluZSBSR19BVURf UEFEX1RPUF9QSEFTRV9NT0RFX01BU0tfU0ZUCQkoMHg3ZiA8PCAwKQ0KKw0KKy8qIEFVRElPX0RJ R19DRkcxICovDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRfTUlTTzNfTE9PUEJBQ0tfU0ZU CQk3DQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRfTUlTTzNfTE9PUEJBQ0tfTUFTSwkJMHgx DQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRfTUlTTzNfTE9PUEJBQ0tfTUFTS19TRlQJKDB4 MSA8PCA3KQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfUEhBU0VfTU9ERTNfU0ZUCQkJMA0KKyNk ZWZpbmUgUkdfQVVEX1BBRF9UT1BfUEhBU0VfTU9ERTNfTUFTSwkJCTB4N2YNCisjZGVmaW5lIFJH X0FVRF9QQURfVE9QX1BIQVNFX01PREUzX01BU0tfU0ZUCQkoMHg3ZiA8PCAwKQ0KKw0KKy8qIEFG RV9BVURfUEFEX1RPUCAqLw0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfVFhfRklGT19SU1BfU0ZU CQkJMTINCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1RYX0ZJRk9fUlNQX01BU0sJCQkweDcNCisj ZGVmaW5lIFJHX0FVRF9QQURfVE9QX1RYX0ZJRk9fUlNQX01BU0tfU0ZUCQkoMHg3IDw8IDEyKQ0K KyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfTVRLQUlGX0NMS19QUk9UT0NPTDJfU0ZUCQkxMQ0KKyNk ZWZpbmUgUkdfQVVEX1BBRF9UT1BfTVRLQUlGX0NMS19QUk9UT0NPTDJfTUFTSwkweDENCisjZGVm aW5lIFJHX0FVRF9QQURfVE9QX01US0FJRl9DTEtfUFJPVE9DT0wyX01BU0tfU0ZUCSgweDEgPDwg MTEpDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9UWF9GSUZPX09OX1NGVAkJCTgNCisjZGVmaW5l IFJHX0FVRF9QQURfVE9QX1RYX0ZJRk9fT05fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX1BB RF9UT1BfVFhfRklGT19PTl9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKw0KKy8qIEFGRV9BVURfUEFE X1RPUF9NT04gKi8NCisjZGVmaW5lIEFEREFfQVVEX1BBRF9UT1BfTU9OX1NGVAkJCTANCisjZGVm aW5lIEFEREFfQVVEX1BBRF9UT1BfTU9OX01BU0sJCQkweGZmZmYNCisjZGVmaW5lIEFEREFfQVVE X1BBRF9UT1BfTU9OX01BU0tfU0ZUCQkJKDB4ZmZmZiA8PCAwKQ0KKw0KKy8qIEFGRV9BVURfUEFE X1RPUF9NT04xICovDQorI2RlZmluZSBBRERBX0FVRF9QQURfVE9QX01PTjFfU0ZUCQkJMA0KKyNk ZWZpbmUgQUREQV9BVURfUEFEX1RPUF9NT04xX01BU0sJCQkweGZmZmYNCisjZGVmaW5lIEFEREFf QVVEX1BBRF9UT1BfTU9OMV9NQVNLX1NGVAkJCSgweGZmZmYgPDwgMCkNCisNCisvKiBBRkVfQVVE X1BBRF9UT1BfTU9OMiAqLw0KKyNkZWZpbmUgQUREQV9BVURfUEFEX1RPUF9NT04yX1NGVAkJCTAN CisjZGVmaW5lIEFEREFfQVVEX1BBRF9UT1BfTU9OMl9NQVNLCQkJMHhmZmZmDQorI2RlZmluZSBB RERBX0FVRF9QQURfVE9QX01PTjJfTUFTS19TRlQJCQkoMHhmZmZmIDw8IDApDQorDQorLyogQUZF X0RMX05MRV9DRkcgKi8NCisjZGVmaW5lIE5MRV9SQ0hfSFBHQUlOX1NFTF9TRlQJCQkJMTANCisj ZGVmaW5lIE5MRV9SQ0hfSFBHQUlOX1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgTkxFX1JDSF9I UEdBSU5fU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIE5MRV9SQ0hfQ0hfU0VM X1NGVAkJCQk5DQorI2RlZmluZSBOTEVfUkNIX0NIX1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg TkxFX1JDSF9DSF9TRUxfTUFTS19TRlQJCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgTkxFX1JDSF9P Tl9TRlQJCQkJCTgNCisjZGVmaW5lIE5MRV9SQ0hfT05fTUFTSwkJCQkJMHgxDQorI2RlZmluZSBO TEVfUkNIX09OX01BU0tfU0ZUCQkJCSgweDEgPDwgOCkNCisjZGVmaW5lIE5MRV9MQ0hfSFBHQUlO X1NFTF9TRlQJCQkJMg0KKyNkZWZpbmUgTkxFX0xDSF9IUEdBSU5fU0VMX01BU0sJCQkJMHgxDQor I2RlZmluZSBOTEVfTENIX0hQR0FJTl9TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmlu ZSBOTEVfTENIX0NIX1NFTF9TRlQJCQkJMQ0KKyNkZWZpbmUgTkxFX0xDSF9DSF9TRUxfTUFTSwkJ CQkweDENCisjZGVmaW5lIE5MRV9MQ0hfQ0hfU0VMX01BU0tfU0ZUCQkJCSgweDEgPDwgMSkNCisj ZGVmaW5lIE5MRV9MQ0hfT05fU0ZUCQkJCQkwDQorI2RlZmluZSBOTEVfTENIX09OX01BU0sJCQkJ CTB4MQ0KKyNkZWZpbmUgTkxFX0xDSF9PTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDApDQorDQorLyog QUZFX0RMX05MRV9NT04gKi8NCisjZGVmaW5lIE5MRV9NT05JVE9SX1NGVAkJCQkJMA0KKyNkZWZp bmUgTkxFX01PTklUT1JfTUFTSwkJCQkweDNmZmYNCisjZGVmaW5lIE5MRV9NT05JVE9SX01BU0tf U0ZUCQkJCSgweDNmZmYgPDwgMCkNCisNCisvKiBBRkVfQ0dfRU5fTU9OICovDQorI2RlZmluZSBD S19DR19FTl9NT05fU0ZUCQkJCTANCisjZGVmaW5lIENLX0NHX0VOX01PTl9NQVNLCQkJCTB4M2YN CisjZGVmaW5lIENLX0NHX0VOX01PTl9NQVNLX1NGVAkJCQkoMHgzZiA8PCAwKQ0KKw0KKy8qIEFG RV9NSUNfQVJSQVlfQ0ZHICovDQorI2RlZmluZSBSR19BTUlDX0FEQzFfU09VUkNFX1NFTF9TRlQJ CQkxMA0KKyNkZWZpbmUgUkdfQU1JQ19BREMxX1NPVVJDRV9TRUxfTUFTSwkJCTB4Mw0KKyNkZWZp bmUgUkdfQU1JQ19BREMxX1NPVVJDRV9TRUxfTUFTS19TRlQJCSgweDMgPDwgMTApDQorI2RlZmlu ZSBSR19BTUlDX0FEQzJfU09VUkNFX1NFTF9TRlQJCQk4DQorI2RlZmluZSBSR19BTUlDX0FEQzJf U09VUkNFX1NFTF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BTUlDX0FEQzJfU09VUkNFX1NFTF9N QVNLX1NGVAkJKDB4MyA8PCA4KQ0KKyNkZWZpbmUgUkdfQU1JQ19BREMzX1NPVVJDRV9TRUxfU0ZU CQkJNg0KKyNkZWZpbmUgUkdfQU1JQ19BREMzX1NPVVJDRV9TRUxfTUFTSwkJCTB4Mw0KKyNkZWZp bmUgUkdfQU1JQ19BREMzX1NPVVJDRV9TRUxfTUFTS19TRlQJCSgweDMgPDwgNikNCisjZGVmaW5l IFJHX0RNSUNfQURDMV9TT1VSQ0VfU0VMX1NGVAkJCTQNCisjZGVmaW5lIFJHX0RNSUNfQURDMV9T T1VSQ0VfU0VMX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0RNSUNfQURDMV9TT1VSQ0VfU0VMX01B U0tfU0ZUCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19ETUlDX0FEQzJfU09VUkNFX1NFTF9TRlQJ CQkyDQorI2RlZmluZSBSR19ETUlDX0FEQzJfU09VUkNFX1NFTF9NQVNLCQkJMHgzDQorI2RlZmlu ZSBSR19ETUlDX0FEQzJfU09VUkNFX1NFTF9NQVNLX1NGVAkJKDB4MyA8PCAyKQ0KKyNkZWZpbmUg UkdfRE1JQ19BREMzX1NPVVJDRV9TRUxfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfRE1JQ19BREMzX1NP VVJDRV9TRUxfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfRE1JQ19BREMzX1NPVVJDRV9TRUxfTUFT S19TRlQJCSgweDMgPDwgMCkNCisNCisvKiBBRkVfQ0hPUF9DRkcwICovDQorI2RlZmluZSBSR19D SE9QX0RJVl9TRUxfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0NIT1BfRElWX1NFTF9NQVNLCQkJCTB4 MWYNCisjZGVmaW5lIFJHX0NIT1BfRElWX1NFTF9NQVNLX1NGVAkJCSgweDFmIDw8IDQpDQorI2Rl ZmluZSBSR19DSE9QX0RJVl9FTl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQ0hPUF9ESVZfRU5fTUFT SwkJCQkweDENCisjZGVmaW5lIFJHX0NIT1BfRElWX0VOX01BU0tfU0ZUCQkJCSgweDEgPDwgMCkN CisNCisvKiBBRkVfTVRLQUlGX01VWF9DRkcgKi8NCisjZGVmaW5lIFJHX0FEREE2X0VOX1NFTF9T RlQJCQkJMTINCisjZGVmaW5lIFJHX0FEREE2X0VOX1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UkdfQUREQTZfRU5fU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FEREE2 X0NIMl9TRUxfU0ZUCQkJCTEwDQorI2RlZmluZSBSR19BRERBNl9DSDJfU0VMX01BU0sJCQkJMHgz DQorI2RlZmluZSBSR19BRERBNl9DSDJfU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCAxMCkNCisjZGVm aW5lIFJHX0FEREE2X0NIMV9TRUxfU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FEREE2X0NIMV9TRUxf TUFTSwkJCQkweDMNCisjZGVmaW5lIFJHX0FEREE2X0NIMV9TRUxfTUFTS19TRlQJCQkoMHgzIDw8 IDgpDQorI2RlZmluZSBSR19BRERBX0VOX1NFTF9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQUREQV9F Tl9TRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FEREFfRU5fU0VMX01BU0tfU0ZUCQkJCSgw eDEgPDwgNCkNCisjZGVmaW5lIFJHX0FEREFfQ0gyX1NFTF9TRlQJCQkJMg0KKyNkZWZpbmUgUkdf QUREQV9DSDJfU0VMX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BRERBX0NIMl9TRUxfTUFTS19T RlQJCQkoMHgzIDw8IDIpDQorI2RlZmluZSBSR19BRERBX0NIMV9TRUxfU0ZUCQkJCTANCisjZGVm aW5lIFJHX0FEREFfQ0gxX1NFTF9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQUREQV9DSDFfU0VM X01BU0tfU0ZUCQkJKDB4MyA8PCAwKQ0KKw0KKy8qIEFGRV9QTUlDX05FV0lGX0NGRzMgKi8NCisj ZGVmaW5lIFJHX1VQOFhfU1lOQ19XT1JEX1NGVAkJCQkwDQorI2RlZmluZSBSR19VUDhYX1NZTkNf V09SRF9NQVNLCQkJCTB4ZmZmZg0KKyNkZWZpbmUgUkdfVVA4WF9TWU5DX1dPUkRfTUFTS19TRlQJ CQkoMHhmZmZmIDw8IDApDQorDQorLyogQUZFX05DUF9DRkcwICovDQorI2RlZmluZSAgUkdfTkNQ X0NLMV9WQUxJRF9DTlRfU0ZUCQkJOQ0KKyNkZWZpbmUgIFJHX05DUF9DSzFfVkFMSURfQ05UX01B U0sJCQkweDdmDQorI2RlZmluZSAgUkdfTkNQX0NLMV9WQUxJRF9DTlRfTUFTS19TRlQJCQkoMHg3 ZiA8PCA5KQ0KKyNkZWZpbmUgUkdfTkNQX0FESVRIX1NGVAkJCQk4DQorI2RlZmluZSBSR19OQ1Bf QURJVEhfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX05DUF9BRElUSF9NQVNLX1NGVAkJCQkoMHgx IDw8IDgpDQorI2RlZmluZSBSR19OQ1BfRElUSEVSX0VOX1NGVAkJCQk3DQorI2RlZmluZSBSR19O Q1BfRElUSEVSX0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19OQ1BfRElUSEVSX0VOX01BU0tf U0ZUCQkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfTkNQX0RJVEhFUl9GSVhFRF9DSzBfQUNLMV8y UF9TRlQJCTQNCisjZGVmaW5lIFJHX05DUF9ESVRIRVJfRklYRURfQ0swX0FDSzFfMlBfTUFTSwkJ MHg3DQorI2RlZmluZSBSR19OQ1BfRElUSEVSX0ZJWEVEX0NLMF9BQ0sxXzJQX01BU0tfU0ZUCSgw eDcgPDwgNCkNCisjZGVmaW5lIFJHX05DUF9ESVRIRVJfRklYRURfQ0swX0FDSzJfMlBfU0ZUCQkx DQorI2RlZmluZSBSR19OQ1BfRElUSEVSX0ZJWEVEX0NLMF9BQ0syXzJQX01BU0sJCTB4Nw0KKyNk ZWZpbmUgUkdfTkNQX0RJVEhFUl9GSVhFRF9DSzBfQUNLMl8yUF9NQVNLX1NGVAkoMHg3IDw8IDEp DQorI2RlZmluZSBSR19OQ1BfT05fU0ZUCQkJCQkwDQorI2RlZmluZSBSR19OQ1BfT05fTUFTSwkJ CQkJMHgxDQorI2RlZmluZSBSR19OQ1BfT05fTUFTS19TRlQJCQkJKDB4MSA8PCAwKQ0KKw0KKy8q IEFGRV9OQ1BfQ0ZHMSAqLw0KKyNkZWZpbmUgUkdfWFlfVkFMX0NGR19FTl9TRlQJCQkJMTUNCisj ZGVmaW5lIFJHX1hZX1ZBTF9DRkdfRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX1hZX1ZBTF9D RkdfRU5fTUFTS19TRlQJCQkoMHgxIDw8IDE1KQ0KKyNkZWZpbmUgUkdfWF9WQUxfQ0ZHX1NGVAkJ CQk4DQorI2RlZmluZSBSR19YX1ZBTF9DRkdfTUFTSwkJCQkweDdmDQorI2RlZmluZSBSR19YX1ZB TF9DRkdfTUFTS19TRlQJCQkJKDB4N2YgPDwgOCkNCisjZGVmaW5lIFJHX1lfVkFMX0NGR19TRlQJ CQkJMA0KKyNkZWZpbmUgUkdfWV9WQUxfQ0ZHX01BU0sJCQkJMHg3Zg0KKyNkZWZpbmUgUkdfWV9W QUxfQ0ZHX01BU0tfU0ZUCQkJCSgweDdmIDw8IDApDQorDQorLyogQUZFX05DUF9DRkcyICovDQor I2RlZmluZSBSR19OQ1BfTk9OQ0xLX1NFVF9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfTkNQX05PTkNM S19TRVRfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX05DUF9OT05DTEtfU0VUX01BU0tfU0ZUCQkJ KDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfTkNQX1BERElTX0VOX1NGVAkJCQkwDQorI2RlZmluZSBS R19OQ1BfUERESVNfRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX05DUF9QRERJU19FTl9NQVNL X1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBVURFTkNfQU5BX0NPTjAgKi8NCisjZGVmaW5lIFJH X0FVRFBSRUFNUExPTl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTE9OX01BU0sJCQkJ MHgxDQorI2RlZmluZSBSR19BVURQUkVBTVBMT05fTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2Rl ZmluZSBSR19BVURQUkVBTVBMRENDRU5fU0ZUCQkJCTENCisjZGVmaW5lIFJHX0FVRFBSRUFNUExE Q0NFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTERDQ0VOX01BU0tfU0ZUCQkJ KDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTERDUFJFQ0hBUkdFX1NGVAkJCTINCisj ZGVmaW5lIFJHX0FVRFBSRUFNUExEQ1BSRUNIQVJHRV9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19B VURQUkVBTVBMRENQUkVDSEFSR0VfTUFTS19TRlQJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FV RFBSRUFNUExQR0FURVNUX1NGVAkJCTMNCisjZGVmaW5lIFJHX0FVRFBSRUFNUExQR0FURVNUX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUExQR0FURVNUX01BU0tfU0ZUCQkJKDB4MSA8 PCAzKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTFZTQ0FMRV9TRlQJCQkJNA0KKyNkZWZpbmUgUkdf QVVEUFJFQU1QTFZTQ0FMRV9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURQUkVBTVBMVlNDQUxF X01BU0tfU0ZUCQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTElOUFVUU0VMX1NG VAkJCTYNCisjZGVmaW5lIFJHX0FVRFBSRUFNUExJTlBVVFNFTF9NQVNLCQkJMHgzDQorI2RlZmlu ZSBSR19BVURQUkVBTVBMSU5QVVRTRUxfTUFTS19TRlQJCQkoMHgzIDw8IDYpDQorI2RlZmluZSBS R19BVURQUkVBTVBMR0FJTl9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTEdBSU5fTUFT SwkJCQkweDcNCisjZGVmaW5lIFJHX0FVRFBSRUFNUExHQUlOX01BU0tfU0ZUCQkJKDB4NyA8PCA4 KQ0KKyNkZWZpbmUgUkdfQlVMS0xfVkNNX0VOX1NGVAkJCQkxMQ0KKyNkZWZpbmUgUkdfQlVMS0xf VkNNX0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19CVUxLTF9WQ01fRU5fTUFTS19TRlQJCQko MHgxIDw8IDExKQ0KKyNkZWZpbmUgUkdfQVVEQURDTFBXUlVQX1NGVAkJCQkxMg0KKyNkZWZpbmUg UkdfQVVEQURDTFBXUlVQX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENMUFdSVVBfTUFT S19TRlQJCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVEQURDTElOUFVUU0VMX1NGVAkJCQkx Mw0KKyNkZWZpbmUgUkdfQVVEQURDTElOUFVUU0VMX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19B VURBRENMSU5QVVRTRUxfTUFTS19TRlQJCQkoMHgzIDw8IDEzKQ0KKw0KKy8qIEFVREVOQ19BTkFf Q09OMSAqLw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUk9OX1NGVAkJCQkwDQorI2RlZmluZSBSR19B VURQUkVBTVBST05fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJPTl9NQVNLX1NG VAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJEQ0NFTl9TRlQJCQkJMQ0KKyNk ZWZpbmUgUkdfQVVEUFJFQU1QUkRDQ0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVB TVBSRENDRU5fTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURQUkVBTVBSRENQ UkVDSEFSR0VfU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUkRDUFJFQ0hBUkdFX01BU0sJ CQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJEQ1BSRUNIQVJHRV9NQVNLX1NGVAkJKDB4MSA8 PCAyKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUlBHQVRFU1RfU0ZUCQkJMw0KKyNkZWZpbmUgUkdf QVVEUFJFQU1QUlBHQVRFU1RfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUlBHQVRF U1RfTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURQUkVBTVBSVlNDQUxFX1NG VAkJCQk0DQorI2RlZmluZSBSR19BVURQUkVBTVBSVlNDQUxFX01BU0sJCQkweDMNCisjZGVmaW5l IFJHX0FVRFBSRUFNUFJWU0NBTEVfTUFTS19TRlQJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19B VURQUkVBTVBSSU5QVVRTRUxfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUklOUFVUU0VM X01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJJTlBVVFNFTF9NQVNLX1NGVAkJCSgw eDMgPDwgNikNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJHQUlOX1NGVAkJCQk4DQorI2RlZmluZSBS R19BVURQUkVBTVBSR0FJTl9NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUkdBSU5f TUFTS19TRlQJCQkoMHg3IDw8IDgpDQorI2RlZmluZSBSR19CVUxLUl9WQ01fRU5fU0ZUCQkJCTEx DQorI2RlZmluZSBSR19CVUxLUl9WQ01fRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0JVTEtS X1ZDTV9FTl9NQVNLX1NGVAkJCSgweDEgPDwgMTEpDQorI2RlZmluZSBSR19BVURBRENSUFdSVVBf U0ZUCQkJCTEyDQorI2RlZmluZSBSR19BVURBRENSUFdSVVBfTUFTSwkJCQkweDENCisjZGVmaW5l IFJHX0FVREFEQ1JQV1JVUF9NQVNLX1NGVAkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BVURB RENSSU5QVVRTRUxfU0ZUCQkJCTEzDQorI2RlZmluZSBSR19BVURBRENSSU5QVVRTRUxfTUFTSwkJ CQkweDMNCisjZGVmaW5lIFJHX0FVREFEQ1JJTlBVVFNFTF9NQVNLX1NGVAkJCSgweDMgPDwgMTMp DQorDQorLyogQVVERU5DX0FOQV9DT04yICovDQorI2RlZmluZSBSR19BVURQUkVBTVAzT05fU0ZU CQkJCTANCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNPTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVEUFJFQU1QM09OX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1Q M0RDQ0VOX1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURQUkVBTVAzRENDRU5fTUFTSwkJCQkweDEN CisjZGVmaW5lIFJHX0FVRFBSRUFNUDNEQ0NFTl9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVm aW5lIFJHX0FVRFBSRUFNUDNEQ1BSRUNIQVJHRV9TRlQJCQkyDQorI2RlZmluZSBSR19BVURQUkVB TVAzRENQUkVDSEFSR0VfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM0RDUFJFQ0hB UkdFX01BU0tfU0ZUCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURQUkVBTVAzUEdBVEVTVF9T RlQJCQkzDQorI2RlZmluZSBSR19BVURQUkVBTVAzUEdBVEVTVF9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVURQUkVBTVAzUEdBVEVTVF9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJH X0FVRFBSRUFNUDNWU0NBTEVfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNWU0NBTEVf TUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM1ZTQ0FMRV9NQVNLX1NGVAkJCSgweDMg PDwgNCkNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNJTlBVVFNFTF9TRlQJCQk2DQorI2RlZmluZSBS R19BVURQUkVBTVAzSU5QVVRTRUxfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM0lO UFVUU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM0dBSU5f U0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNHQUlOX01BU0sJCQkJMHg3DQorI2RlZmlu ZSBSR19BVURQUkVBTVAzR0FJTl9NQVNLX1NGVAkJCSgweDcgPDwgOCkNCisjZGVmaW5lIFJHX0JV TEszX1ZDTV9FTl9TRlQJCQkJMTENCisjZGVmaW5lIFJHX0JVTEszX1ZDTV9FTl9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUkdfQlVMSzNfVkNNX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxMSkNCisjZGVm aW5lIFJHX0FVREFEQzNQV1JVUF9TRlQJCQkJMTINCisjZGVmaW5lIFJHX0FVREFEQzNQV1JVUF9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDM1BXUlVQX01BU0tfU0ZUCQkJKDB4MSA8PCAx MikNCisjZGVmaW5lIFJHX0FVREFEQzNJTlBVVFNFTF9TRlQJCQkJMTMNCisjZGVmaW5lIFJHX0FV REFEQzNJTlBVVFNFTF9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEQURDM0lOUFVUU0VMX01B U0tfU0ZUCQkJKDB4MyA8PCAxMykNCisNCisvKiBBVURFTkNfQU5BX0NPTjMgKi8NCisjZGVmaW5l IFJHX0FVRFVMSEFMRkJJQVNfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRFVMSEFMRkJJQVNfTUFT SwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFVMSEFMRkJJQVNfTUFTS19TRlQJCQkoMHgxIDw8IDAp DQorI2RlZmluZSBSR19BVURHTEJWT1dMUFdFTl9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfQVVER0xC Vk9XTFBXRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREdMQlZPV0xQV0VOX01BU0tfU0ZU CQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTFBFTl9TRlQJCQkJMg0KKyNkZWZp bmUgUkdfQVVEUFJFQU1QTFBFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTFBF Tl9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVREFEQzFTVFNUQUdFTFBFTl9T RlQJCQkzDQorI2RlZmluZSBSR19BVURBREMxU1RTVEFHRUxQRU5fTUFTSwkJCTB4MQ0KKyNkZWZp bmUgUkdfQVVEQURDMVNUU1RBR0VMUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUg UkdfQVVEQURDMk5EU1RBR0VMUEVOX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVREFEQzJORFNUQUdF TFBFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURBREMyTkRTVEFHRUxQRU5fTUFTS19TRlQJ CQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BVURBRENGTEFTSExQRU5fU0ZUCQkJCTUNCisjZGVm aW5lIFJHX0FVREFEQ0ZMQVNITFBFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDRkxB U0hMUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QSUREVEVT VF9TRlQJCQkJNg0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QSUREVEVTVF9NQVNLCQkJMHgzDQorI2Rl ZmluZSBSR19BVURQUkVBTVBJRERURVNUX01BU0tfU0ZUCQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUg UkdfQVVEQURDMVNUU1RBR0VJRERURVNUX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVREFEQzFTVFNU QUdFSUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURBREMxU1RTVEFHRUlERFRFU1Rf TUFTS19TRlQJCSgweDMgPDwgOCkNCisjZGVmaW5lIFJHX0FVREFEQzJORFNUQUdFSUREVEVTVF9T RlQJCQkxMA0KKyNkZWZpbmUgUkdfQVVEQURDMk5EU1RBR0VJRERURVNUX01BU0sJCQkweDMNCisj ZGVmaW5lIFJHX0FVREFEQzJORFNUQUdFSUREVEVTVF9NQVNLX1NGVAkJKDB4MyA8PCAxMCkNCisj ZGVmaW5lIFJHX0FVREFEQ1JFRkJVRklERFRFU1RfU0ZUCQkJMTINCisjZGVmaW5lIFJHX0FVREFE Q1JFRkJVRklERFRFU1RfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEQURDUkVGQlVGSUREVEVT VF9NQVNLX1NGVAkJCSgweDMgPDwgMTIpDQorI2RlZmluZSBSR19BVURBRENGTEFTSElERFRFU1Rf U0ZUCQkJMTQNCisjZGVmaW5lIFJHX0FVREFEQ0ZMQVNISUREVEVTVF9NQVNLCQkJMHgzDQorI2Rl ZmluZSBSR19BVURBRENGTEFTSElERFRFU1RfTUFTS19TRlQJCQkoMHgzIDw8IDE0KQ0KKw0KKy8q IEFVREVOQ19BTkFfQ09ONCAqLw0KKyNkZWZpbmUgUkdfQVVEUlVMSEFMRkJJQVNfU0ZUCQkJCTAN CisjZGVmaW5lIFJHX0FVRFJVTEhBTEZCSUFTX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURS VUxIQUxGQklBU19NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVREdMQlJWT1dM UFdFTl9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfQVVER0xCUlZPV0xQV0VOX01BU0sJCQkJMHgxDQor I2RlZmluZSBSR19BVURHTEJSVk9XTFBXRU5fTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmlu ZSBSR19BVURSUFJFQU1QTFBFTl9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfQVVEUlBSRUFNUExQRU5f TUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFJQUkVBTVBMUEVOX01BU0tfU0ZUCQkJKDB4MSA8 PCAyKQ0KKyNkZWZpbmUgUkdfQVVEUkFEQzFTVFNUQUdFTFBFTl9TRlQJCQkzDQorI2RlZmluZSBS R19BVURSQURDMVNUU1RBR0VMUEVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRFJBREMxU1RT VEFHRUxQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURSQURDMk5EU1RB R0VMUEVOX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVRFJBREMyTkRTVEFHRUxQRU5fTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVEUkFEQzJORFNUQUdFTFBFTl9NQVNLX1NGVAkJCSgweDEgPDwgNCkN CisjZGVmaW5lIFJHX0FVRFJBRENGTEFTSExQRU5fU0ZUCQkJCTUNCisjZGVmaW5lIFJHX0FVRFJB RENGTEFTSExQRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUkFEQ0ZMQVNITFBFTl9NQVNL X1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FVRFJQUkVBTVBJRERURVNUX1NGVAkJCTYN CisjZGVmaW5lIFJHX0FVRFJQUkVBTVBJRERURVNUX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FV RFJQUkVBTVBJRERURVNUX01BU0tfU0ZUCQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUkdfQVVEUkFE QzFTVFNUQUdFSUREVEVTVF9TRlQJCQk4DQorI2RlZmluZSBSR19BVURSQURDMVNUU1RBR0VJRERU RVNUX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFJBREMxU1RTVEFHRUlERFRFU1RfTUFTS19T RlQJCSgweDMgPDwgOCkNCisjZGVmaW5lIFJHX0FVRFJBREMyTkRTVEFHRUlERFRFU1RfU0ZUCQkJ MTANCisjZGVmaW5lIFJHX0FVRFJBREMyTkRTVEFHRUlERFRFU1RfTUFTSwkJCTB4Mw0KKyNkZWZp bmUgUkdfQVVEUkFEQzJORFNUQUdFSUREVEVTVF9NQVNLX1NGVAkJKDB4MyA8PCAxMCkNCisjZGVm aW5lIFJHX0FVRFJBRENSRUZCVUZJRERURVNUX1NGVAkJCTEyDQorI2RlZmluZSBSR19BVURSQURD UkVGQlVGSUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURSQURDUkVGQlVGSUREVEVT VF9NQVNLX1NGVAkJKDB4MyA8PCAxMikNCisjZGVmaW5lIFJHX0FVRFJBRENGTEFTSElERFRFU1Rf U0ZUCQkJMTQNCisjZGVmaW5lIFJHX0FVRFJBRENGTEFTSElERFRFU1RfTUFTSwkJCTB4Mw0KKyNk ZWZpbmUgUkdfQVVEUkFEQ0ZMQVNISUREVEVTVF9NQVNLX1NGVAkJCSgweDMgPDwgMTQpDQorDQor LyogQVVERU5DX0FOQV9DT041ICovDQorI2RlZmluZSBSR19BVURBRENDTEtSU1RCX1NGVAkJCQkw DQorI2RlZmluZSBSR19BVURBRENDTEtSU1RCX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURB RENDTEtSU1RCX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEQURDQ0xLU0VM X1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURBRENDTEtTRUxfTUFTSwkJCQkweDMNCisjZGVmaW5l IFJHX0FVREFEQ0NMS1NFTF9NQVNLX1NGVAkJCSgweDMgPDwgMSkNCisjZGVmaW5lIFJHX0FVREFE Q0NMS1NPVVJDRV9TRlQJCQkJMw0KKyNkZWZpbmUgUkdfQVVEQURDQ0xLU09VUkNFX01BU0sJCQkJ MHgzDQorI2RlZmluZSBSR19BVURBRENDTEtTT1VSQ0VfTUFTS19TRlQJCQkoMHgzIDw8IDMpDQor I2RlZmluZSBSR19BVURBRENDTEtHRU5NT0RFX1NGVAkJCQk1DQorI2RlZmluZSBSR19BVURBREND TEtHRU5NT0RFX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVREFEQ0NMS0dFTk1PREVfTUFTS19T RlQJCQkoMHgzIDw8IDUpDQorI2RlZmluZSBSR19BVURQUkVBTVBfQUNDRlNfU0ZUCQkJCTcNCisj ZGVmaW5lIFJHX0FVRFBSRUFNUF9BQ0NGU19NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJF QU1QX0FDQ0ZTX01BU0tfU0ZUCQkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QQUFG RU5fU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRFBSRUFNUEFBRkVOX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19BVURQUkVBTVBBQUZFTl9NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJH X0RDQ1ZDTUJVRkxQTU9EU0VMX1NGVAkJCTkNCisjZGVmaW5lIFJHX0RDQ1ZDTUJVRkxQTU9EU0VM X01BU0sJCQkweDENCisjZGVmaW5lIFJHX0RDQ1ZDTUJVRkxQTU9EU0VMX01BU0tfU0ZUCQkJKDB4 MSA8PCA5KQ0KKyNkZWZpbmUgUkdfRENDVkNNQlVGTFBTV0VOX1NGVAkJCQkxMA0KKyNkZWZpbmUg UkdfRENDVkNNQlVGTFBTV0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19EQ0NWQ01CVUZMUFNX RU5fTUFTS19TRlQJCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgUkdfQVVEU1BBUkVQR0FfU0ZUCQkJ CTExDQorI2RlZmluZSBSR19BVURTUEFSRVBHQV9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0FV RFNQQVJFUEdBX01BU0tfU0ZUCQkJCSgweDFmIDw8IDExKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09O NiAqLw0KKyNkZWZpbmUgUkdfQVVEQURDMVNUU1RBR0VTREVOQl9TRlQJCQkwDQorI2RlZmluZSBS R19BVURBREMxU1RTVEFHRVNERU5CX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQzFTVFNU QUdFU0RFTkJfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURBREMyTkRTVEFH RVJFU0VUX1NGVAkJCTENCisjZGVmaW5lIFJHX0FVREFEQzJORFNUQUdFUkVTRVRfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVEQURDMk5EU1RBR0VSRVNFVF9NQVNLX1NGVAkJCSgweDEgPDwgMSkN CisjZGVmaW5lIFJHX0FVREFEQzNSRFNUQUdFUkVTRVRfU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVE QURDM1JEU1RBR0VSRVNFVF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURBREMzUkRTVEFHRVJF U0VUX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEQURDRlNSRVNFVF9TRlQJ CQkJMw0KKyNkZWZpbmUgUkdfQVVEQURDRlNSRVNFVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVEQURDRlNSRVNFVF9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVREFEQ1dJ REVDTV9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVEQURDV0lERUNNX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19BVURBRENXSURFQ01fTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19B VURBRENOT1BBVEVTVF9TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfQVVEQURDTk9QQVRFU1RfTUFTSwkJ CQkweDENCisjZGVmaW5lIFJHX0FVREFEQ05PUEFURVNUX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0K KyNkZWZpbmUgUkdfQVVEQURDQllQQVNTX1NGVAkJCQk2DQorI2RlZmluZSBSR19BVURBRENCWVBB U1NfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ0JZUEFTU19NQVNLX1NGVAkJCSgweDEg PDwgNikNCisjZGVmaW5lIFJHX0FVREFEQ0ZGQllQQVNTX1NGVAkJCQk3DQorI2RlZmluZSBSR19B VURBRENGRkJZUEFTU19NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDRkZCWVBBU1NfTUFT S19TRlQJCQkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19BVURBRENEQUNGQkNVUlJFTlRfU0ZUCQkJ OA0KKyNkZWZpbmUgUkdfQVVEQURDREFDRkJDVVJSRU5UX01BU0sJCQkweDENCisjZGVmaW5lIFJH X0FVREFEQ0RBQ0ZCQ1VSUkVOVF9NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX0FV REFEQ0RBQ0lERFRFU1RfU0ZUCQkJCTkNCisjZGVmaW5lIFJHX0FVREFEQ0RBQ0lERFRFU1RfTUFT SwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEQURDREFDSUREVEVTVF9NQVNLX1NGVAkJCSgweDMgPDwg OSkNCisjZGVmaW5lIFJHX0FVREFEQ0RBQ05SWl9TRlQJCQkJMTENCisjZGVmaW5lIFJHX0FVREFE Q0RBQ05SWl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDREFDTlJaX01BU0tfU0ZUCQkJ KDB4MSA8PCAxMSkNCisjZGVmaW5lIFJHX0FVREFEQ05PREVNX1NGVAkJCQkxMg0KKyNkZWZpbmUg UkdfQVVEQURDTk9ERU1fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ05PREVNX01BU0tf U0ZUCQkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BVURBRENEQUNURVNUX1NGVAkJCQkxMw0K KyNkZWZpbmUgUkdfQVVEQURDREFDVEVTVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURD REFDVEVTVF9NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQorI2RlZmluZSBSR19BVURBRENEQUMwUDI1 RlNfU0ZUCQkJCTE0DQorI2RlZmluZSBSR19BVURBRENEQUMwUDI1RlNfTUFTSwkJCQkweDENCisj ZGVmaW5lIFJHX0FVREFEQ0RBQzBQMjVGU19NQVNLX1NGVAkJCSgweDEgPDwgMTQpDQorI2RlZmlu ZSBSR19BVURBRENSREFDMFAyNUZTX1NGVAkJCQkxNQ0KKyNkZWZpbmUgUkdfQVVEQURDUkRBQzBQ MjVGU19NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENSREFDMFAyNUZTX01BU0tfU0ZUCQkJ KDB4MSA8PCAxNSkNCisNCisvKiBBVURFTkNfQU5BX0NPTjcgKi8NCisjZGVmaW5lIFJHX0FVREFE Q1RFU1REQVRBX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURBRENURVNUREFUQV9NQVNLCQkJCTB4 ZmZmZg0KKyNkZWZpbmUgUkdfQVVEQURDVEVTVERBVEFfTUFTS19TRlQJCQkoMHhmZmZmIDw8IDAp DQorDQorLyogQVVERU5DX0FOQV9DT044ICovDQorI2RlZmluZSBSR19BVURSQ1RVTkVMX1NGVAkJ CQkwDQorI2RlZmluZSBSR19BVURSQ1RVTkVMX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVE UkNUVU5FTF9NQVNLX1NGVAkJCQkoMHgxZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FTFNF TF9TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FTFNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUkdfQVVEUkNUVU5FTFNFTF9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FV RFJDVFVORVJfU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRFJDVFVORVJfTUFTSwkJCQkweDFmDQor I2RlZmluZSBSR19BVURSQ1RVTkVSX01BU0tfU0ZUCQkJCSgweDFmIDw8IDgpDQorI2RlZmluZSBS R19BVURSQ1RVTkVSU0VMX1NGVAkJCQkxMw0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FUlNFTF9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FUlNFTF9NQVNLX1NGVAkJCSgweDEgPDwgMTMp DQorDQorLyogQVVERU5DX0FOQV9DT045ICovDQorI2RlZmluZSBSR19BVUQzQ1RVTkVMX1NGVAkJ CQkwDQorI2RlZmluZSBSR19BVUQzQ1RVTkVMX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVE M0NUVU5FTF9NQVNLX1NGVAkJCQkoMHgxZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEM0NUVU5FTFNF TF9TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfQVVEM0NUVU5FTFNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUkdfQVVEM0NUVU5FTFNFTF9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHU19B VURSQ1RVTkUzUkVBRF9TRlQJCQkJNg0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORTNSRUFEX01BU0sJ CQkJMHgxZg0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORTNSRUFEX01BU0tfU0ZUCQkJKDB4MWYgPDwg NikNCisjZGVmaW5lIFJHX0FVRDNTUEFSRV9TRlQJCQkJMTENCisjZGVmaW5lIFJHX0FVRDNTUEFS RV9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVRDNTUEFSRV9NQVNLX1NGVAkJCQkoMHgxZiA8 PCAxMSkNCisNCisvKiBBVURFTkNfQU5BX0NPTjEwICovDQorI2RlZmluZSBSR1NfQVVEUkNUVU5F TFJFQURfU0ZUCQkJCTANCisjZGVmaW5lIFJHU19BVURSQ1RVTkVMUkVBRF9NQVNLCQkJCTB4MWYN CisjZGVmaW5lIFJHU19BVURSQ1RVTkVMUkVBRF9NQVNLX1NGVAkJCSgweDFmIDw8IDApDQorI2Rl ZmluZSBSR1NfQVVEUkNUVU5FUlJFQURfU0ZUCQkJCTgNCisjZGVmaW5lIFJHU19BVURSQ1RVTkVS UkVBRF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHU19BVURSQ1RVTkVSUkVBRF9NQVNLX1NGVAkJ CSgweDFmIDw8IDgpDQorDQorLyogQVVERU5DX0FOQV9DT04xMSAqLw0KKyNkZWZpbmUgUkdfQVVE U1BBUkVWQTMwX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURTUEFSRVZBMzBfTUFTSwkJCQkweGZm DQorI2RlZmluZSBSR19BVURTUEFSRVZBMzBfTUFTS19TRlQJCQkoMHhmZiA8PCAwKQ0KKyNkZWZp bmUgUkdfQVVEU1BBUkVWQTE4X1NGVAkJCQk4DQorI2RlZmluZSBSR19BVURTUEFSRVZBMThfTUFT SwkJCQkweGZmDQorI2RlZmluZSBSR19BVURTUEFSRVZBMThfTUFTS19TRlQJCQkoMHhmZiA8PCA4 KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTIgKi8NCisjZGVmaW5lIFJHX0FVRFBHQV9ERUNBUF9T RlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEUEdBX0RFQ0FQX01BU0sJCQkJMHgxDQorI2RlZmluZSBS R19BVURQR0FfREVDQVBfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURQR0Ff Q0FQUkFfU0ZUCQkJCTENCisjZGVmaW5lIFJHX0FVRFBHQV9DQVBSQV9NQVNLCQkJCTB4MQ0KKyNk ZWZpbmUgUkdfQVVEUEdBX0NBUFJBX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdf QVVEUEdBX0FDQ0NNUF9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfQVVEUEdBX0FDQ0NNUF9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVEUEdBX0FDQ0NNUF9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisj ZGVmaW5lIFJHX0FVREVOQ19TUEFSRTJfU0ZUCQkJCTMNCisjZGVmaW5lIFJHX0FVREVOQ19TUEFS RTJfTUFTSwkJCQkweDFmZmYNCisjZGVmaW5lIFJHX0FVREVOQ19TUEFSRTJfTUFTS19TRlQJCQko MHgxZmZmIDw8IDMpDQorDQorLyogQVVERU5DX0FOQV9DT04xMyAqLw0KKyNkZWZpbmUgUkdfQVVE RElHTUlDRU5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRERJR01JQ0VOX01BU0sJCQkJMHgxDQor I2RlZmluZSBSR19BVURESUdNSUNFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDApDQorI2RlZmluZSBS R19BVURESUdNSUNCSUFTX1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURESUdNSUNCSUFTX01BU0sJ CQkJMHgzDQorI2RlZmluZSBSR19BVURESUdNSUNCSUFTX01BU0tfU0ZUCQkJKDB4MyA8PCAxKQ0K KyNkZWZpbmUgUkdfRE1JQ0hQQ0xLRU5fU0ZUCQkJCTMNCisjZGVmaW5lIFJHX0RNSUNIUENMS0VO X01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19ETUlDSFBDTEtFTl9NQVNLX1NGVAkJCQkoMHgxIDw8 IDMpDQorI2RlZmluZSBSR19BVURESUdNSUNQRFVUWV9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVE RElHTUlDUERVVFlfTUFTSwkJCQkweDMNCisjZGVmaW5lIFJHX0FVRERJR01JQ1BEVVRZX01BU0tf U0ZUCQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVERElHTUlDTkRVVFlfU0ZUCQkJCTYNCisj ZGVmaW5lIFJHX0FVRERJR01JQ05EVVRZX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURESUdN SUNORFVUWV9NQVNLX1NGVAkJCSgweDMgPDwgNikNCisjZGVmaW5lIFJHX0RNSUNNT05FTl9TRlQJ CQkJOA0KKyNkZWZpbmUgUkdfRE1JQ01PTkVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19ETUlD TU9ORU5fTUFTS19TRlQJCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfRE1JQ01PTlNFTF9TRlQJ CQkJOQ0KKyNkZWZpbmUgUkdfRE1JQ01PTlNFTF9NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdfRE1J Q01PTlNFTF9NQVNLX1NGVAkJCQkoMHg3IDw8IDkpDQorDQorLyogQVVERU5DX0FOQV9DT04xNCAq Lw0KKyNkZWZpbmUgUkdfQVVERElHTUlDMUVOX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURESUdN SUMxRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRERJR01JQzFFTl9NQVNLX1NGVAkJCSgw eDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRERJR01JQ0JJQVMxX1NGVAkJCQkxDQorI2RlZmluZSBS R19BVURESUdNSUNCSUFTMV9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVERElHTUlDQklBUzFf TUFTS19TRlQJCQkoMHgzIDw8IDEpDQorI2RlZmluZSBSR19ETUlDMUhQQ0xLRU5fU0ZUCQkJCTMN CisjZGVmaW5lIFJHX0RNSUMxSFBDTEtFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRE1JQzFI UENMS0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVERElHTUlDMVBEVVRZ X1NGVAkJCQk0DQorI2RlZmluZSBSR19BVURESUdNSUMxUERVVFlfTUFTSwkJCQkweDMNCisjZGVm aW5lIFJHX0FVRERJR01JQzFQRFVUWV9NQVNLX1NGVAkJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJH X0FVRERJR01JQzFORFVUWV9TRlQJCQkJNg0KKyNkZWZpbmUgUkdfQVVERElHTUlDMU5EVVRZX01B U0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURESUdNSUMxTkRVVFlfTUFTS19TRlQJCQkoMHgzIDw8 IDYpDQorI2RlZmluZSBSR19ETUlDMU1PTkVOX1NGVAkJCQk4DQorI2RlZmluZSBSR19ETUlDMU1P TkVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19ETUlDMU1PTkVOX01BU0tfU0ZUCQkJCSgweDEg PDwgOCkNCisjZGVmaW5lIFJHX0RNSUMxTU9OU0VMX1NGVAkJCQk5DQorI2RlZmluZSBSR19ETUlD MU1PTlNFTF9NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdfRE1JQzFNT05TRUxfTUFTS19TRlQJCQkJ KDB4NyA8PCA5KQ0KKyNkZWZpbmUgUkdfQVVEU1BBUkVWTUlDX1NGVAkJCQkxMg0KKyNkZWZpbmUg UkdfQVVEU1BBUkVWTUlDX01BU0sJCQkJMHhmDQorI2RlZmluZSBSR19BVURTUEFSRVZNSUNfTUFT S19TRlQJCQkoMHhmIDw8IDEyKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTUgKi8NCisjZGVmaW5l IFJHX0FVRFBXREJNSUNCSUFTMF9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMw X01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQV0RCTUlDQklBUzBfTUFTS19TRlQJCQkoMHgx IDw8IDApDQorI2RlZmluZSBSR19BVURNSUNCSUFTMEJZUEFTU0VOX1NGVAkJCTENCisjZGVmaW5l IFJHX0FVRE1JQ0JJQVMwQllQQVNTRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklB UzBCWVBBU1NFTl9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMw TE9XUEVOX1NGVAkJCTINCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwTE9XUEVOX01BU0sJCQkweDEN CisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwTE9XUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNk ZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMzX1NGVAkJCQkzDQorI2RlZmluZSBSR19BVURQV0RCTUlD QklBUzNfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTM19NQVNLX1NGVAkJ CSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwVlJFRl9TRlQJCQkJNA0KKyNkZWZp bmUgUkdfQVVETUlDQklBUzBWUkVGX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19BVURNSUNCSUFT MFZSRUZfTUFTS19TRlQJCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cw UDFFTl9TRlQJCQk4DQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cwUDFFTl9NQVNLCQkJMHgx DQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cwUDFFTl9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0K KyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMFAyRU5fU0ZUCQkJOQ0KKyNkZWZpbmUgUkdfQVVE TUlDQklBUzBEQ1NXMFAyRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NX MFAyRU5fTUFTS19TRlQJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzBO RU5fU0ZUCQkJMTANCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzBORU5fTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXME5FTl9NQVNLX1NGVAkJCSgweDEgPDwgMTApDQor I2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cyUDFFTl9TRlQJCQkxMg0KKyNkZWZpbmUgUkdfQVVE TUlDQklBUzBEQ1NXMlAxRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NX MlAxRU5fTUFTS19TRlQJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cy UDJFTl9TRlQJCQkxMw0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMlAyRU5fTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMlAyRU5fTUFTS19TRlQJCSgweDEgPDwgMTMp DQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cyTkVOX1NGVAkJCTE0DQorI2RlZmluZSBSR19B VURNSUNCSUFTMERDU1cyTkVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENT VzJORU5fTUFTS19TRlQJCQkoMHgxIDw8IDE0KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTYgKi8N CisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTMV9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEUFdE Qk1JQ0JJQVMxX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQV0RCTUlDQklBUzFfTUFTS19T RlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURNSUNCSUFTMUJZUEFTU0VOX1NGVAkJCTEN CisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxQllQQVNTRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVETUlDQklBUzFCWVBBU1NFTl9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FV RE1JQ0JJQVMxTE9XUEVOX1NGVAkJCTINCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxTE9XUEVOX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxTE9XUEVOX01BU0tfU0ZUCQkJKDB4MSA8 PCAyKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFWUkVGX1NGVAkJCQk0DQorI2RlZmluZSBSR19B VURNSUNCSUFTMVZSRUZfTUFTSwkJCQkweDcNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxVlJFRl9N QVNLX1NGVAkJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxRENTVzFQRU5fU0ZU CQkJOA0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFEQ1NXMVBFTl9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVURNSUNCSUFTMURDU1cxUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUg UkdfQVVETUlDQklBUzFEQ1NXMU5FTl9TRlQJCQk5DQorI2RlZmluZSBSR19BVURNSUNCSUFTMURD U1cxTkVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxRENTVzFORU5fTUFTS19T RlQJCQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19CQU5ER0FQR0VOX1NGVAkJCQkxMA0KKyNkZWZp bmUgUkdfQkFOREdBUEdFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQkFOREdBUEdFTl9NQVNL X1NGVAkJCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFIVkVOX1NGVAkJCQkx Mg0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFIVkVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19B VURNSUNCSUFTMUhWRU5fTUFTS19TRlQJCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVETUlD QklBUzFIVlZSRUZfU0ZUCQkJMTMNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxSFZWUkVGX01BU0sJ CQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxSFZWUkVGX01BU0tfU0ZUCQkJKDB4MSA8PCAx MykNCisNCisvKiBBVURFTkNfQU5BX0NPTjE3ICovDQorI2RlZmluZSBSR19BVURQV0RCTUlDQklB UzJfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTMl9NQVNLCQkJCTB4MQ0KKyNk ZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMyX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUg UkdfQVVETUlDQklBUzJCWVBBU1NFTl9TRlQJCQkxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkJZ UEFTU0VOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyQllQQVNTRU5fTUFTS19T RlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkxPV1BFTl9TRlQJCQkyDQor I2RlZmluZSBSR19BVURNSUNCSUFTMkxPV1BFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURN SUNCSUFTMkxPV1BFTl9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRE1JQ0JJ QVMyVlJFRl9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJWUkVGX01BU0sJCQkJMHg3 DQorI2RlZmluZSBSR19BVURNSUNCSUFTMlZSRUZfTUFTS19TRlQJCQkoMHg3IDw8IDQpDQorI2Rl ZmluZSBSR19BVURNSUNCSUFTMkRDU1czUDFFTl9TRlQJCQk4DQorI2RlZmluZSBSR19BVURNSUNC SUFTMkRDU1czUDFFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkRDU1czUDFF Tl9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJEQ1NXM1AyRU5f U0ZUCQkJOQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJEQ1NXM1AyRU5fTUFTSwkJCTB4MQ0KKyNk ZWZpbmUgUkdfQVVETUlDQklBUzJEQ1NXM1AyRU5fTUFTS19TRlQJCSgweDEgPDwgOSkNCisjZGVm aW5lIFJHX0FVRE1JQ0JJQVMyRENTVzNORU5fU0ZUCQkJMTANCisjZGVmaW5lIFJHX0FVRE1JQ0JJ QVMyRENTVzNORU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJEQ1NXM05FTl9N QVNLX1NGVAkJCSgweDEgPDwgMTApDQorI2RlZmluZSBSR19BVURNSUNCSUFTU1BBUkVfU0ZUCQkJ CTEyDQorI2RlZmluZSBSR19BVURNSUNCSUFTU1BBUkVfTUFTSwkJCQkweGYNCisjZGVmaW5lIFJH X0FVRE1JQ0JJQVNTUEFSRV9NQVNLX1NGVAkJCSgweGYgPDwgMTIpDQorDQorLyogQVVERU5DX0FO QV9DT04xOCAqLw0KKyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzBQVUxMTE9XX1NGVAkJCTAN CisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJQVMwUFVMTExPV19NQVNLCQkweDENCisjZGVmaW5l IFJHX0FVREFDQ0RFVE1JQ0JJQVMwUFVMTExPV19NQVNLX1NGVAkJKDB4MSA8PCAwKQ0KKyNkZWZp bmUgUkdfQVVEQUNDREVUTUlDQklBUzFQVUxMTE9XX1NGVAkJCTENCisjZGVmaW5lIFJHX0FVREFD Q0RFVE1JQ0JJQVMxUFVMTExPV19NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJ QVMxUFVMTExPV19NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUTUlD QklBUzJQVUxMTE9XX1NGVAkJCTINCisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJQVMyUFVMTExP V19NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJQVMyUFVMTExPV19NQVNLX1NG VAkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVklOMVBVTExMT1dfU0ZUCQkJMw0K KyNkZWZpbmUgUkdfQVVEQUNDREVUVklOMVBVTExMT1dfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVEQUNDREVUVklOMVBVTExMT1dfTUFTS19TRlQJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FV REFDQ0RFVFZUSEFDQUxfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0FVREFDQ0RFVFZUSEFDQUxfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVlRIQUNBTF9NQVNLX1NGVAkJCSgweDEgPDwg NCkNCisjZGVmaW5lIFJHX0FVREFDQ0RFVFZUSEJDQUxfU0ZUCQkJCTUNCisjZGVmaW5lIFJHX0FV REFDQ0RFVFZUSEJDQUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVlRIQkNBTF9N QVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FVREFDQ0RFVFRWREVUX1NGVAkJCQk2 DQorI2RlZmluZSBSR19BVURBQ0NERVRUVkRFVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVE QUNDREVUVFZERVRfTUFTS19TRlQJCQkoMHgxIDw8IDYpDQorI2RlZmluZSBSR19BQ0NERVRTRUxf U0ZUCQkJCTcNCisjZGVmaW5lIFJHX0FDQ0RFVFNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf QUNDREVUU0VMX01BU0tfU0ZUCQkJCSgweDEgPDwgNykNCisjZGVmaW5lIFJHX1NXQlVGTU9EU0VM X1NGVAkJCQk4DQorI2RlZmluZSBSR19TV0JVRk1PRFNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UkdfU1dCVUZNT0RTRUxfTUFTS19TRlQJCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfU1dCVUZT V0VOX1NGVAkJCQk5DQorI2RlZmluZSBSR19TV0JVRlNXRU5fTUFTSwkJCQkweDENCisjZGVmaW5l IFJHX1NXQlVGU1dFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19FSU5UME5P SFlTX1NGVAkJCQkxMA0KKyNkZWZpbmUgUkdfRUlOVDBOT0hZU19NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUkdfRUlOVDBOT0hZU19NQVNLX1NGVAkJCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgUkdfRUlO VDBDT05GSUdBQ0NERVRfU0ZUCQkJMTENCisjZGVmaW5lIFJHX0VJTlQwQ09ORklHQUNDREVUX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwQ09ORklHQUNDREVUX01BU0tfU0ZUCQkJKDB4MSA8 PCAxMSkNCisjZGVmaW5lIFJHX0VJTlQwSElSRU5CX1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfRUlO VDBISVJFTkJfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwSElSRU5CX01BU0tfU0ZUCQkJ CSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BQ0NERVQyQVVYUkVTQllQQVNTX1NGVAkJCTEzDQor I2RlZmluZSBSR19BQ0NERVQyQVVYUkVTQllQQVNTX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FD Q0RFVDJBVVhSRVNCWVBBU1NfTUFTS19TRlQJCQkoMHgxIDw8IDEzKQ0KKyNkZWZpbmUgUkdfQUND REVUMkFVWFNXRU5fU0ZUCQkJCTE0DQorI2RlZmluZSBSR19BQ0NERVQyQVVYU1dFTl9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgUkdfQUNDREVUMkFVWFNXRU5fTUFTS19TRlQJCQkoMHgxIDw8IDE0KQ0K KyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzNQVUxMTE9XX1NGVAkJCTE1DQorI2RlZmluZSBS R19BVURBQ0NERVRNSUNCSUFTM1BVTExMT1dfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURBQ0NE RVRNSUNCSUFTM1BVTExMT1dfTUFTS19TRlQJCSgweDEgPDwgMTUpDQorDQorLyogQVVERU5DX0FO QV9DT04xOSAqLw0KKyNkZWZpbmUgUkdfRUlOVDFDT05GSUdBQ0NERVRfU0ZUCQkJMA0KKyNkZWZp bmUgUkdfRUlOVDFDT05GSUdBQ0NERVRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDFDT05G SUdBQ0NERVRfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19FSU5UMUhJUkVOQl9T RlQJCQkJMQ0KKyNkZWZpbmUgUkdfRUlOVDFISVJFTkJfTUFTSwkJCQkweDENCisjZGVmaW5lIFJH X0VJTlQxSElSRU5CX01BU0tfU0ZUCQkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0VJTlQxTk9I WVNfU0ZUCQkJCTINCisjZGVmaW5lIFJHX0VJTlQxTk9IWVNfTUFTSwkJCQkweDENCisjZGVmaW5l IFJHX0VJTlQxTk9IWVNfTUFTS19TRlQJCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfRUlOVENP TVBWVEhfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0VJTlRDT01QVlRIX01BU0sJCQkJMHhmDQorI2Rl ZmluZSBSR19FSU5UQ09NUFZUSF9NQVNLX1NGVAkJCQkoMHhmIDw8IDQpDQorI2RlZmluZSBSR19N VEVTVF9FTl9TRlQJCQkJCTgNCisjZGVmaW5lIFJHX01URVNUX0VOX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19NVEVTVF9FTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19NVEVT VF9TRUxfU0ZUCQkJCTkNCisjZGVmaW5lIFJHX01URVNUX1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUkdfTVRFU1RfU0VMX01BU0tfU0ZUCQkJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJHX01URVNU X0NVUlJFTlRfU0ZUCQkJCTEwDQorI2RlZmluZSBSR19NVEVTVF9DVVJSRU5UX01BU0sJCQkJMHgx DQorI2RlZmluZSBSR19NVEVTVF9DVVJSRU5UX01BU0tfU0ZUCQkJKDB4MSA8PCAxMCkNCisjZGVm aW5lIFJHX0FOQUxPR0ZERU5fU0ZUCQkJCTEyDQorI2RlZmluZSBSR19BTkFMT0dGREVOX01BU0sJ CQkJMHgxDQorI2RlZmluZSBSR19BTkFMT0dGREVOX01BU0tfU0ZUCQkJCSgweDEgPDwgMTIpDQor I2RlZmluZSBSR19GRFZJTjFQUFVMTExPV19TRlQJCQkJMTMNCisjZGVmaW5lIFJHX0ZEVklOMVBQ VUxMTE9XX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19GRFZJTjFQUFVMTExPV19NQVNLX1NGVAkJ CSgweDEgPDwgMTMpDQorI2RlZmluZSBSR19GREVJTlQwVFlQRV9TRlQJCQkJMTQNCisjZGVmaW5l IFJHX0ZERUlOVDBUWVBFX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19GREVJTlQwVFlQRV9NQVNL X1NGVAkJCQkoMHgxIDw8IDE0KQ0KKyNkZWZpbmUgUkdfRkRFSU5UMVRZUEVfU0ZUCQkJCTE1DQor I2RlZmluZSBSR19GREVJTlQxVFlQRV9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRkRFSU5UMVRZ UEVfTUFTS19TRlQJCQkJKDB4MSA8PCAxNSkNCisNCisvKiBBVURFTkNfQU5BX0NPTjIwICovDQor I2RlZmluZSBSR19FSU5UMENNUEVOX1NGVAkJCQkwDQorI2RlZmluZSBSR19FSU5UMENNUEVOX01B U0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMENNUEVOX01BU0tfU0ZUCQkJCSgweDEgPDwgMCkN CisjZGVmaW5lIFJHX0VJTlQwQ01QTUVOX1NGVAkJCQkxDQorI2RlZmluZSBSR19FSU5UMENNUE1F Tl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDBDTVBNRU5fTUFTS19TRlQJCQkJKDB4MSA8 PCAxKQ0KKyNkZWZpbmUgUkdfRUlOVDBFTl9TRlQJCQkJCTINCisjZGVmaW5lIFJHX0VJTlQwRU5f TUFTSwkJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMEVOX01BU0tfU0ZUCQkJCSgweDEgPDwgMikN CisjZGVmaW5lIFJHX0VJTlQwQ0VOX1NGVAkJCQkJMw0KKyNkZWZpbmUgUkdfRUlOVDBDRU5fTUFT SwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwQ0VOX01BU0tfU0ZUCQkJCSgweDEgPDwgMykNCisj ZGVmaW5lIFJHX0VJTlQwSU5WRU5fU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0VJTlQwSU5WRU5fTUFT SwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwSU5WRU5fTUFTS19TRlQJCQkJKDB4MSA8PCA0KQ0K KyNkZWZpbmUgUkdfRUlOVDBDVFVSQk9fU0ZUCQkJCTUNCisjZGVmaW5lIFJHX0VJTlQwQ1RVUkJP X01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19FSU5UMENUVVJCT19NQVNLX1NGVAkJCQkoMHg3IDw8 IDUpDQorI2RlZmluZSBSR19FSU5UMUNNUEVOX1NGVAkJCQk4DQorI2RlZmluZSBSR19FSU5UMUNN UEVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMUNNUEVOX01BU0tfU0ZUCQkJCSgweDEg PDwgOCkNCisjZGVmaW5lIFJHX0VJTlQxQ01QTUVOX1NGVAkJCQk5DQorI2RlZmluZSBSR19FSU5U MUNNUE1FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDFDTVBNRU5fTUFTS19TRlQJCQkJ KDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfRUlOVDFFTl9TRlQJCQkJCTEwDQorI2RlZmluZSBSR19F SU5UMUVOX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDFFTl9NQVNLX1NGVAkJCQkoMHgx IDw8IDEwKQ0KKyNkZWZpbmUgUkdfRUlOVDFDRU5fU0ZUCQkJCQkxMQ0KKyNkZWZpbmUgUkdfRUlO VDFDRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQxQ0VOX01BU0tfU0ZUCQkJCSgweDEg PDwgMTEpDQorI2RlZmluZSBSR19FSU5UMUlOVkVOX1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfRUlO VDFJTlZFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDFJTlZFTl9NQVNLX1NGVAkJCQko MHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfRUlOVDFDVFVSQk9fU0ZUCQkJCTEzDQorI2RlZmluZSBS R19FSU5UMUNUVVJCT19NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdfRUlOVDFDVFVSQk9fTUFTS19T RlQJCQkJKDB4NyA8PCAxMykNCisNCisvKiBBVURFTkNfQU5BX0NPTjIxICovDQorI2RlZmluZSBS R19BQ0NERVRTUEFSRV9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQUNDREVUU1BBUkVfTUFTSwkJCQkw eGZmZmYNCisjZGVmaW5lIFJHX0FDQ0RFVFNQQVJFX01BU0tfU0ZUCQkJCSgweGZmZmYgPDwgMCkN CisNCisvKiBBVURFTkNfQU5BX0NPTjIyICovDQorI2RlZmluZSBSR19BVURFTkNTUEFSRVZBMzBf U0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVREVOQ1NQQVJFVkEzMF9NQVNLCQkJCTB4ZmYNCisjZGVm aW5lIFJHX0FVREVOQ1NQQVJFVkEzMF9NQVNLX1NGVAkJCSgweGZmIDw8IDApDQorI2RlZmluZSBS R19BVURFTkNTUEFSRVZBMThfU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVREVOQ1NQQVJFVkExOF9N QVNLCQkJCTB4ZmYNCisjZGVmaW5lIFJHX0FVREVOQ1NQQVJFVkExOF9NQVNLX1NGVAkJCSgweGZm IDw8IDgpDQorDQorLyogQVVERU5DX0FOQV9DT04yMyAqLw0KKyNkZWZpbmUgUkdfQ0xLU1FfRU5f U0ZUCQkJCQkwDQorI2RlZmluZSBSR19DTEtTUV9FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf Q0xLU1FfRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQ0xLU1FfSU5fU0VM X1RFU1RfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfQ0xLU1FfSU5fU0VMX1RFU1RfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfQ0xLU1FfSU5fU0VMX1RFU1RfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2Rl ZmluZSBSR19DTV9SRUZHRU5TRUxfU0ZUCQkJCTINCisjZGVmaW5lIFJHX0NNX1JFRkdFTlNFTF9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQ01fUkVGR0VOU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAy KQ0KKyNkZWZpbmUgUkdfQVVESU9fVk9XX0VOX1NGVAkJCQkzDQorI2RlZmluZSBSR19BVURJT19W T1dfRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRElPX1ZPV19FTl9NQVNLX1NGVAkJCSgw eDEgPDwgMykNCisjZGVmaW5lIFJHX0NMS1NRX0VOX1ZPV19TRlQJCQkJNA0KKyNkZWZpbmUgUkdf Q0xLU1FfRU5fVk9XX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19DTEtTUV9FTl9WT1dfTUFTS19T RlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19DTEtBTkRfRU5fVk9XX1NGVAkJCQk1DQorI2Rl ZmluZSBSR19DTEtBTkRfRU5fVk9XX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19DTEtBTkRfRU5f Vk9XX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfVk9XQ0xLX1NFTF9FTl9WT1df U0ZUCQkJNg0KKyNkZWZpbmUgUkdfVk9XQ0xLX1NFTF9FTl9WT1dfTUFTSwkJCTB4MQ0KKyNkZWZp bmUgUkdfVk9XQ0xLX1NFTF9FTl9WT1dfTUFTS19TRlQJCQkoMHgxIDw8IDYpDQorI2RlZmluZSBS R19TUEFSRV9WT1dfU0ZUCQkJCTcNCisjZGVmaW5lIFJHX1NQQVJFX1ZPV19NQVNLCQkJCTB4Nw0K KyNkZWZpbmUgUkdfU1BBUkVfVk9XX01BU0tfU0ZUCQkJCSgweDcgPDwgNykNCisNCisvKiBBVURE RUNfQU5BX0NPTjAgKi8NCisjZGVmaW5lIFJHX0FVRERBQ0xQV1JVUF9WQVVEUDMyX1NGVAkJCTAN CisjZGVmaW5lIFJHX0FVRERBQ0xQV1JVUF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJH X0FVRERBQ0xQV1JVUF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19B VUREQUNSUFdSVVBfVkFVRFAzMl9TRlQJCQkxDQorI2RlZmluZSBSR19BVUREQUNSUFdSVVBfVkFV RFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVUREQUNSUFdSVVBfVkFVRFAzMl9NQVNLX1NG VAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEX0RBQ19QV1JfVVBfVkEzMl9TRlQJCQkyDQor I2RlZmluZSBSR19BVURfREFDX1BXUl9VUF9WQTMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV RF9EQUNfUFdSX1VQX1ZBMzJfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURf REFDX1BXTF9VUF9WQTMyX1NGVAkJCTMNCisjZGVmaW5lIFJHX0FVRF9EQUNfUFdMX1VQX1ZBMzJf TUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX0RBQ19QV0xfVVBfVkEzMl9NQVNLX1NGVAkJCSgw eDEgPDwgMykNCisjZGVmaW5lIFJHX0FVREhQTFBXUlVQX1ZBVURQMzJfU0ZUCQkJNA0KKyNkZWZp bmUgUkdfQVVESFBMUFdSVVBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURIUExQ V1JVUF9WQVVEUDMyX01BU0tfU0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVESFBSUFdS VVBfVkFVRFAzMl9TRlQJCQk1DQorI2RlZmluZSBSR19BVURIUFJQV1JVUF9WQVVEUDMyX01BU0sJ CQkweDENCisjZGVmaW5lIFJHX0FVREhQUlBXUlVQX1ZBVURQMzJfTUFTS19TRlQJCQkoMHgxIDw8 IDUpDQorI2RlZmluZSBSR19BVURIUExQV1JVUF9JQklBU19WQVVEUDMyX1NGVAkJNg0KKyNkZWZp bmUgUkdfQVVESFBMUFdSVVBfSUJJQVNfVkFVRFAzMl9NQVNLCQkweDENCisjZGVmaW5lIFJHX0FV REhQTFBXUlVQX0lCSUFTX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNikNCisjZGVmaW5lIFJH X0FVREhQUlBXUlVQX0lCSUFTX1ZBVURQMzJfU0ZUCQk3DQorI2RlZmluZSBSR19BVURIUFJQV1JV UF9JQklBU19WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBSUFdSVVBfSUJJQVNf VkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfQVVESFBMTVVYSU5QVVRT RUxfVkFVRFAzMl9TRlQJCTgNCisjZGVmaW5lIFJHX0FVREhQTE1VWElOUFVUU0VMX1ZBVURQMzJf TUFTSwkJMHgzDQorI2RlZmluZSBSR19BVURIUExNVVhJTlBVVFNFTF9WQVVEUDMyX01BU0tfU0ZU CQkoMHgzIDw8IDgpDQorI2RlZmluZSBSR19BVURIUFJNVVhJTlBVVFNFTF9WQVVEUDMyX1NGVAkJ MTANCisjZGVmaW5lIFJHX0FVREhQUk1VWElOUFVUU0VMX1ZBVURQMzJfTUFTSwkJMHgzDQorI2Rl ZmluZSBSR19BVURIUFJNVVhJTlBVVFNFTF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgzIDw8IDEwKQ0K KyNkZWZpbmUgUkdfQVVESFBMU0NESVNBQkxFX1ZBVURQMzJfU0ZUCQkJMTINCisjZGVmaW5lIFJH X0FVREhQTFNDRElTQUJMRV9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhQTFND RElTQUJMRV9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVESFBS U0NESVNBQkxFX1ZBVURQMzJfU0ZUCQkJMTMNCisjZGVmaW5lIFJHX0FVREhQUlNDRElTQUJMRV9W QVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhQUlNDRElTQUJMRV9WQVVEUDMyX01B U0tfU0ZUCQkoMHgxIDw8IDEzKQ0KKyNkZWZpbmUgUkdfQVVESFBMQlNDQ1VSUkVOVF9WQVVEUDMy X1NGVAkJCTE0DQorI2RlZmluZSBSR19BVURIUExCU0NDVVJSRU5UX1ZBVURQMzJfTUFTSwkJMHgx DQorI2RlZmluZSBSR19BVURIUExCU0NDVVJSRU5UX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwg MTQpDQorI2RlZmluZSBSR19BVURIUFJCU0NDVVJSRU5UX1ZBVURQMzJfU0ZUCQkJMTUNCisjZGVm aW5lIFJHX0FVREhQUkJTQ0NVUlJFTlRfVkFVRFAzMl9NQVNLCQkweDENCisjZGVmaW5lIFJHX0FV REhQUkJTQ0NVUlJFTlRfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxNSkNCisNCisvKiBBVURE RUNfQU5BX0NPTjEgKi8NCisjZGVmaW5lIFJHX0FVREhQTE9VVFBXUlVQX1ZBVURQMzJfU0ZUCQkJ MA0KKyNkZWZpbmUgUkdfQVVESFBMT1VUUFdSVVBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVURIUExPVVRQV1JVUF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDApDQorI2RlZmlu ZSBSR19BVURIUFJPVVRQV1JVUF9WQVVEUDMyX1NGVAkJCTENCisjZGVmaW5lIFJHX0FVREhQUk9V VFBXUlVQX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBST1VUUFdSVVBfVkFV RFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVESFBMT1VUQVVYUFdSVVBf VkFVRFAzMl9TRlQJCTINCisjZGVmaW5lIFJHX0FVREhQTE9VVEFVWFBXUlVQX1ZBVURQMzJfTUFT SwkJMHgxDQorI2RlZmluZSBSR19BVURIUExPVVRBVVhQV1JVUF9WQVVEUDMyX01BU0tfU0ZUCQko MHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURIUFJPVVRBVVhQV1JVUF9WQVVEUDMyX1NGVAkJMw0K KyNkZWZpbmUgUkdfQVVESFBST1VUQVVYUFdSVVBfVkFVRFAzMl9NQVNLCQkweDENCisjZGVmaW5l IFJHX0FVREhQUk9VVEFVWFBXUlVQX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMykNCisjZGVm aW5lIFJHX0hQTEFVWEZCUlNXX0VOX1ZBVURQMzJfU0ZUCQkJNA0KKyNkZWZpbmUgUkdfSFBMQVVY RkJSU1dfRU5fVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19IUExBVVhGQlJTV19FTl9W QVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19IUFJBVVhGQlJTV19FTl9W QVVEUDMyX1NGVAkJCTUNCisjZGVmaW5lIFJHX0hQUkFVWEZCUlNXX0VOX1ZBVURQMzJfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgUkdfSFBSQVVYRkJSU1dfRU5fVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8 PCA1KQ0KKyNkZWZpbmUgUkdfSFBMU0hPUlQySFBMQVVYX0VOX1ZBVURQMzJfU0ZUCQk2DQorI2Rl ZmluZSBSR19IUExTSE9SVDJIUExBVVhfRU5fVkFVRFAzMl9NQVNLCQkweDENCisjZGVmaW5lIFJH X0hQTFNIT1JUMkhQTEFVWF9FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDYpDQorI2RlZmlu ZSBSR19IUFJTSE9SVDJIUFJBVVhfRU5fVkFVRFAzMl9TRlQJCTcNCisjZGVmaW5lIFJHX0hQUlNI T1JUMkhQUkFVWF9FTl9WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfSFBSU0hPUlQySFBS QVVYX0VOX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNykNCisjZGVmaW5lIFJHX0hQTE9VVFNU R0NUUkxfVkFVRFAzMl9TRlQJCQk4DQorI2RlZmluZSBSR19IUExPVVRTVEdDVFJMX1ZBVURQMzJf TUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfSFBMT1VUU1RHQ1RSTF9WQVVEUDMyX01BU0tfU0ZUCQko MHg3IDw8IDgpDQorI2RlZmluZSBSR19IUFJPVVRTVEdDVFJMX1ZBVURQMzJfU0ZUCQkJMTINCisj ZGVmaW5lIFJHX0hQUk9VVFNUR0NUUkxfVkFVRFAzMl9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19I UFJPVVRTVEdDVFJMX1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwgMTIpDQorDQorLyogQVVEREVD X0FOQV9DT04yICovDQorI2RlZmluZSBSR19IUExPVVRQVVRTVEJFTkhfVkFVRFAzMl9TRlQJCQkw DQorI2RlZmluZSBSR19IUExPVVRQVVRTVEJFTkhfVkFVRFAzMl9NQVNLCQkJMHg3DQorI2RlZmlu ZSBSR19IUExPVVRQVVRTVEJFTkhfVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCAwKQ0KKyNkZWZp bmUgUkdfSFBST1VUUFVUU1RCRU5IX1ZBVURQMzJfU0ZUCQkJNA0KKyNkZWZpbmUgUkdfSFBST1VU UFVUU1RCRU5IX1ZBVURQMzJfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfSFBST1VUUFVUU1RCRU5I X1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJHX0FVREhQU1RBUlRVUF9W QVVEUDMyX1NGVAkJCTcNCisjZGVmaW5lIFJHX0FVREhQU1RBUlRVUF9WQVVEUDMyX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX0FVREhQU1RBUlRVUF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDcp DQorI2RlZmluZSBSR19BVURSRUZOX0RFUkVTX0VOX1ZBVURQMzJfU0ZUCQkJOA0KKyNkZWZpbmUg UkdfQVVEUkVGTl9ERVJFU19FTl9WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUkVG Tl9ERVJFU19FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19IUElO UFVUU1RCRU5IX1ZBVURQMzJfU0ZUCQkJOQ0KKyNkZWZpbmUgUkdfSFBJTlBVVFNUQkVOSF9WQVVE UDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hQSU5QVVRTVEJFTkhfVkFVRFAzMl9NQVNLX1NG VAkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfSFBJTlBVVFJFU0VUMF9WQVVEUDMyX1NGVAkJCTEw DQorI2RlZmluZSBSR19IUElOUFVUUkVTRVQwX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfSFBJTlBVVFJFU0VUMF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUg UkdfSFBPVVRQVVRSRVNFVDBfVkFVRFAzMl9TRlQJCQkxMQ0KKyNkZWZpbmUgUkdfSFBPVVRQVVRS RVNFVDBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19IUE9VVFBVVFJFU0VUMF9WQVVE UDMyX01BU0tfU0ZUCQkoMHgxIDw8IDExKQ0KKyNkZWZpbmUgUkdfSFBQU0hPUlQyVkNNX1ZBVURQ MzJfU0ZUCQkJMTINCisjZGVmaW5lIFJHX0hQUFNIT1JUMlZDTV9WQVVEUDMyX01BU0sJCQkweDcN CisjZGVmaW5lIFJHX0hQUFNIT1JUMlZDTV9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8IDEyKQ0K KyNkZWZpbmUgUkdfQVVESFBUUklNX0VOX1ZBVURQMzJfU0ZUCQkJMTUNCisjZGVmaW5lIFJHX0FV REhQVFJJTV9FTl9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhQVFJJTV9FTl9W QVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDE1KQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09OMyAqLw0K KyNkZWZpbmUgUkdfQVVESFBMVFJJTV9WQVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVREhQ TFRSSU1fVkFVRFAzMl9NQVNLCQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVESFBMVFJJTV9WQVVEUDMy X01BU0tfU0ZUCQkJKDB4MWYgPDwgMCkNCisjZGVmaW5lIFJHX0FVREhQTEZJTkVUUklNX1ZBVURQ MzJfU0ZUCQkJNQ0KKyNkZWZpbmUgUkdfQVVESFBMRklORVRSSU1fVkFVRFAzMl9NQVNLCQkJMHg3 DQorI2RlZmluZSBSR19BVURIUExGSU5FVFJJTV9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8IDUp DQorI2RlZmluZSBSR19BVURIUFJUUklNX1ZBVURQMzJfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfQVVE SFBSVFJJTV9WQVVEUDMyX01BU0sJCQkweDFmDQorI2RlZmluZSBSR19BVURIUFJUUklNX1ZBVURQ MzJfTUFTS19TRlQJCQkoMHgxZiA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVESFBSRklORVRSSU1fVkFV RFAzMl9TRlQJCQkxMw0KKyNkZWZpbmUgUkdfQVVESFBSRklORVRSSU1fVkFVRFAzMl9NQVNLCQkJ MHg3DQorI2RlZmluZSBSR19BVURIUFJGSU5FVFJJTV9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8 IDEzKQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09ONCAqLw0KKyNkZWZpbmUgUkdfQVVESFBESUZGSU5Q QklBU0FESl9WQVVEUDMyX1NGVAkJMA0KKyNkZWZpbmUgUkdfQVVESFBESUZGSU5QQklBU0FESl9W QVVEUDMyX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfQVVESFBESUZGSU5QQklBU0FESl9WQVVEUDMy X01BU0tfU0ZUCQkoMHg3IDw8IDApDQorI2RlZmluZSBSR19BVURIUExGQ09NUFJFU1NFTF9WQVVE UDMyX1NGVAkJNA0KKyNkZWZpbmUgUkdfQVVESFBMRkNPTVBSRVNTRUxfVkFVRFAzMl9NQVNLCQkw eDcNCisjZGVmaW5lIFJHX0FVREhQTEZDT01QUkVTU0VMX1ZBVURQMzJfTUFTS19TRlQJCSgweDcg PDwgNCkNCisjZGVmaW5lIFJHX0FVREhQSEZDT01QUkVTU0VMX1ZBVURQMzJfU0ZUCQk4DQorI2Rl ZmluZSBSR19BVURIUEhGQ09NUFJFU1NFTF9WQVVEUDMyX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdf QVVESFBIRkNPTVBSRVNTRUxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCA4KQ0KKyNkZWZpbmUg UkdfQVVESFBIRkNPTVBCVUZHQUlOU0VMX1ZBVURQMzJfU0ZUCQkxMg0KKyNkZWZpbmUgUkdfQVVE SFBIRkNPTVBCVUZHQUlOU0VMX1ZBVURQMzJfTUFTSwkJMHgzDQorI2RlZmluZSBSR19BVURIUEhG Q09NUEJVRkdBSU5TRUxfVkFVRFAzMl9NQVNLX1NGVAkoMHgzIDw8IDEyKQ0KKyNkZWZpbmUgUkdf QVVESFBDT01QX0VOX1ZBVURQMzJfU0ZUCQkJMTUNCisjZGVmaW5lIFJHX0FVREhQQ09NUF9FTl9W QVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhQQ09NUF9FTl9WQVVEUDMyX01BU0tf U0ZUCQkoMHgxIDw8IDE1KQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09ONSAqLw0KKyNkZWZpbmUgUkdf QVVESFBERUNNR0FJTkFESl9WQVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVREhQREVDTUdB SU5BREpfVkFVRFAzMl9NQVNLCQkweDcNCisjZGVmaW5lIFJHX0FVREhQREVDTUdBSU5BREpfVkFV RFAzMl9NQVNLX1NGVAkJKDB4NyA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVESFBERURNR0FJTkFESl9W QVVEUDMyX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVREhQREVETUdBSU5BREpfVkFVRFAzMl9NQVNL CQkweDcNCisjZGVmaW5lIFJHX0FVREhQREVETUdBSU5BREpfVkFVRFAzMl9NQVNLX1NGVAkJKDB4 NyA8PCA0KQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09ONiAqLw0KKyNkZWZpbmUgUkdfQVVESFNQV1JV UF9WQVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVREhTUFdSVVBfVkFVRFAzMl9NQVNLCQkJ MHgxDQorI2RlZmluZSBSR19BVURIU1BXUlVQX1ZBVURQMzJfTUFTS19TRlQJCQkoMHgxIDw8IDAp DQorI2RlZmluZSBSR19BVURIU1BXUlVQX0lCSUFTX1ZBVURQMzJfU0ZUCQkJMQ0KKyNkZWZpbmUg UkdfQVVESFNQV1JVUF9JQklBU19WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFNQ V1JVUF9JQklBU19WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURI U01VWElOUFVUU0VMX1ZBVURQMzJfU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVESFNNVVhJTlBVVFNF TF9WQVVEUDMyX01BU0sJCTB4Mw0KKyNkZWZpbmUgUkdfQVVESFNNVVhJTlBVVFNFTF9WQVVEUDMy X01BU0tfU0ZUCQkoMHgzIDw8IDIpDQorI2RlZmluZSBSR19BVURIU1NDRElTQUJMRV9WQVVEUDMy X1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVREhTU0NESVNBQkxFX1ZBVURQMzJfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfQVVESFNTQ0RJU0FCTEVfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA0KQ0K KyNkZWZpbmUgUkdfQVVESFNCU0NDVVJSRU5UX1ZBVURQMzJfU0ZUCQkJNQ0KKyNkZWZpbmUgUkdf QVVESFNCU0NDVVJSRU5UX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFNCU0ND VVJSRU5UX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FVREhTU1RB UlRVUF9WQVVEUDMyX1NGVAkJCTYNCisjZGVmaW5lIFJHX0FVREhTU1RBUlRVUF9WQVVEUDMyX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhTU1RBUlRVUF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgx IDw8IDYpDQorI2RlZmluZSBSR19IU09VVFBVVFNUQkVOSF9WQVVEUDMyX1NGVAkJCTcNCisjZGVm aW5lIFJHX0hTT1VUUFVUU1RCRU5IX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfSFNP VVRQVVRTVEJFTkhfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfSFNJ TlBVVFNUQkVOSF9WQVVEUDMyX1NGVAkJCTgNCisjZGVmaW5lIFJHX0hTSU5QVVRTVEJFTkhfVkFV RFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19IU0lOUFVUU1RCRU5IX1ZBVURQMzJfTUFTS19T RlQJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX0hTSU5QVVRSRVNFVDBfVkFVRFAzMl9TRlQJCQk5 DQorI2RlZmluZSBSR19IU0lOUFVUUkVTRVQwX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfSFNJTlBVVFJFU0VUMF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDkpDQorI2RlZmluZSBS R19IU09VVFBVVFJFU0VUMF9WQVVEUDMyX1NGVAkJCTEwDQorI2RlZmluZSBSR19IU09VVFBVVFJF U0VUMF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hTT1VUUFVUUkVTRVQwX1ZBVURQ MzJfTUFTS19TRlQJCSgweDEgPDwgMTApDQorI2RlZmluZSBSR19IU09VVF9TSE9SVFZDTV9WQVVE UDMyX1NGVAkJCTExDQorI2RlZmluZSBSR19IU09VVF9TSE9SVFZDTV9WQVVEUDMyX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX0hTT1VUX1NIT1JUVkNNX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwg MTEpDQorDQorLyogQVVEREVDX0FOQV9DT043ICovDQorI2RlZmluZSBSR19BVURMT0xQV1JVUF9W QVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRExPTFBXUlVQX1ZBVURQMzJfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVETE9MUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJCSgweDEgPDwgMCkN CisjZGVmaW5lIFJHX0FVRExPTFBXUlVQX0lCSUFTX1ZBVURQMzJfU0ZUCQkxDQorI2RlZmluZSBS R19BVURMT0xQV1JVUF9JQklBU19WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETE9M UFdSVVBfSUJJQVNfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVE TE9MTVVYSU5QVVRTRUxfVkFVRFAzMl9TRlQJCTINCisjZGVmaW5lIFJHX0FVRExPTE1VWElOUFVU U0VMX1ZBVURQMzJfTUFTSwkJMHgzDQorI2RlZmluZSBSR19BVURMT0xNVVhJTlBVVFNFTF9WQVVE UDMyX01BU0tfU0ZUCQkoMHgzIDw8IDIpDQorI2RlZmluZSBSR19BVURMT0xTQ0RJU0FCTEVfVkFV RFAzMl9TRlQJCQk0DQorI2RlZmluZSBSR19BVURMT0xTQ0RJU0FCTEVfVkFVRFAzMl9NQVNLCQkJ MHgxDQorI2RlZmluZSBSR19BVURMT0xTQ0RJU0FCTEVfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8 PCA0KQ0KKyNkZWZpbmUgUkdfQVVETE9MQlNDQ1VSUkVOVF9WQVVEUDMyX1NGVAkJCTUNCisjZGVm aW5lIFJHX0FVRExPTEJTQ0NVUlJFTlRfVkFVRFAzMl9NQVNLCQkweDENCisjZGVmaW5lIFJHX0FV RExPTEJTQ0NVUlJFTlRfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdf QVVETE9TVEFSVFVQX1ZBVURQMzJfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfQVVETE9TVEFSVFVQX1ZB VURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETE9TVEFSVFVQX1ZBVURQMzJfTUFTS19T RlQJCSgweDEgPDwgNikNCisjZGVmaW5lIFJHX0xPSU5QVVRTVEJFTkhfVkFVRFAzMl9TRlQJCQk3 DQorI2RlZmluZSBSR19MT0lOUFVUU1RCRU5IX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfTE9JTlBVVFNUQkVOSF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDcpDQorI2RlZmluZSBS R19MT09VVFBVVFNUQkVOSF9WQVVEUDMyX1NGVAkJCTgNCisjZGVmaW5lIFJHX0xPT1VUUFVUU1RC RU5IX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTE9PVVRQVVRTVEJFTkhfVkFVRFAz Ml9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfTE9JTlBVVFJFU0VUMF9WQVVEUDMy X1NGVAkJCTkNCisjZGVmaW5lIFJHX0xPSU5QVVRSRVNFVDBfVkFVRFAzMl9NQVNLCQkJMHgxDQor I2RlZmluZSBSR19MT0lOUFVUUkVTRVQwX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgOSkNCisj ZGVmaW5lIFJHX0xPT1VUUFVUUkVTRVQwX1ZBVURQMzJfU0ZUCQkJMTANCisjZGVmaW5lIFJHX0xP T1VUUFVUUkVTRVQwX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTE9PVVRQVVRSRVNF VDBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIFJHX0xPT1VUX1NIT1JU VkNNX1ZBVURQMzJfU0ZUCQkJMTENCisjZGVmaW5lIFJHX0xPT1VUX1NIT1JUVkNNX1ZBVURQMzJf TUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTE9PVVRfU0hPUlRWQ01fVkFVRFAzMl9NQVNLX1NGVAkJ KDB4MSA8PCAxMSkNCisjZGVmaW5lIFJHX0FVRERBQ1RQV1JVUF9WQVVEUDMyX1NGVAkJCTEyDQor I2RlZmluZSBSR19BVUREQUNUUFdSVVBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19B VUREQUNUUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FV RF9EQUNfUFdUX1VQX1ZBMzJfU0ZUCQkJMTMNCisjZGVmaW5lIFJHX0FVRF9EQUNfUFdUX1VQX1ZB MzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX0RBQ19QV1RfVVBfVkEzMl9NQVNLX1NGVAkJ CSgweDEgPDwgMTMpDQorDQorLyogQVVEREVDX0FOQV9DT044ICovDQorI2RlZmluZSBSR19BVURU UklNQlVGX0lOUFVUTVVYU0VMX1ZBVURQMzJfU0ZUCQkwDQorI2RlZmluZSBSR19BVURUUklNQlVG X0lOUFVUTVVYU0VMX1ZBVURQMzJfTUFTSwkJMHhmDQorI2RlZmluZSBSR19BVURUUklNQlVGX0lO UFVUTVVYU0VMX1ZBVURQMzJfTUFTS19TRlQJKDB4ZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEVFJJ TUJVRl9HQUlOU0VMX1ZBVURQMzJfU0ZUCQk0DQorI2RlZmluZSBSR19BVURUUklNQlVGX0dBSU5T RUxfVkFVRFAzMl9NQVNLCQkweDMNCisjZGVmaW5lIFJHX0FVRFRSSU1CVUZfR0FJTlNFTF9WQVVE UDMyX01BU0tfU0ZUCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19BVURUUklNQlVGX0VOX1ZBVURQ MzJfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfQVVEVFJJTUJVRl9FTl9WQVVEUDMyX01BU0sJCQkweDEN CisjZGVmaW5lIFJHX0FVRFRSSU1CVUZfRU5fVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0K KyNkZWZpbmUgUkdfQVVESFBTUEtERVRfSU5QVVRNVVhTRUxfVkFVRFAzMl9TRlQJCTgNCisjZGVm aW5lIFJHX0FVREhQU1BLREVUX0lOUFVUTVVYU0VMX1ZBVURQMzJfTUFTSwkJMHgzDQorI2RlZmlu ZSBSR19BVURIUFNQS0RFVF9JTlBVVE1VWFNFTF9WQVVEUDMyX01BU0tfU0ZUCSgweDMgPDwgOCkN CisjZGVmaW5lIFJHX0FVREhQU1BLREVUX09VVFBVVE1VWFNFTF9WQVVEUDMyX1NGVAkJMTANCisj ZGVmaW5lIFJHX0FVREhQU1BLREVUX09VVFBVVE1VWFNFTF9WQVVEUDMyX01BU0sJMHgzDQorI2Rl ZmluZSBSR19BVURIUFNQS0RFVF9PVVRQVVRNVVhTRUxfVkFVRFAzMl9NQVNLX1NGVAkoMHgzIDw8 IDEwKQ0KKyNkZWZpbmUgUkdfQVVESFBTUEtERVRfRU5fVkFVRFAzMl9TRlQJCQkxMg0KKyNkZWZp bmUgUkdfQVVESFBTUEtERVRfRU5fVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURI UFNQS0RFVF9FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEyKQ0KKw0KKy8qIEFVRERFQ19B TkFfQ09OOSAqLw0KKyNkZWZpbmUgUkdfQUJJREVDX1JTVkQwX1ZBMzJfU0ZUCQkJMA0KKyNkZWZp bmUgUkdfQUJJREVDX1JTVkQwX1ZBMzJfTUFTSwkJCTB4ZmYNCisjZGVmaW5lIFJHX0FCSURFQ19S U1ZEMF9WQTMyX01BU0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisjZGVmaW5lIFJHX0FCSURFQ19SU1ZE MF9WQVVEUDMyX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FCSURFQ19SU1ZEMF9WQVVEUDMyX01BU0sJ CQkweGZmDQorI2RlZmluZSBSR19BQklERUNfUlNWRDBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4ZmYg PDwgOCkNCisNCisvKiBBVURERUNfQU5BX0NPTjEwICovDQorI2RlZmluZSBSR19BQklERUNfUlNW RDFfVkFVRFAzMl9TRlQJCQkwDQorI2RlZmluZSBSR19BQklERUNfUlNWRDFfVkFVRFAzMl9NQVNL CQkJMHhmZg0KKyNkZWZpbmUgUkdfQUJJREVDX1JTVkQxX1ZBVURQMzJfTUFTS19TRlQJCSgweGZm IDw8IDApDQorI2RlZmluZSBSR19BQklERUNfUlNWRDJfVkFVRFAzMl9TRlQJCQk4DQorI2RlZmlu ZSBSR19BQklERUNfUlNWRDJfVkFVRFAzMl9NQVNLCQkJMHhmZg0KKyNkZWZpbmUgUkdfQUJJREVD X1JTVkQyX1ZBVURQMzJfTUFTS19TRlQJCSgweGZmIDw8IDgpDQorDQorLyogQVVEREVDX0FOQV9D T04xMSAqLw0KKyNkZWZpbmUgUkdfQVVEWkNETVVYU0VMX1ZBVURQMzJfU0ZUCQkJMA0KKyNkZWZp bmUgUkdfQVVEWkNETVVYU0VMX1ZBVURQMzJfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVEWkNE TVVYU0VMX1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwgMCkNCisjZGVmaW5lIFJHX0FVRFpDRENM S1NFTF9WQVVEUDMyX1NGVAkJCTMNCisjZGVmaW5lIFJHX0FVRFpDRENMS1NFTF9WQVVEUDMyX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FVRFpDRENMS1NFTF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgx IDw8IDMpDQorI2RlZmluZSBSR19BVURCSUFTQURKXzBfVkFVRFAzMl9TRlQJCQk3DQorI2RlZmlu ZSBSR19BVURCSUFTQURKXzBfVkFVRFAzMl9NQVNLCQkJMHgxZmYNCisjZGVmaW5lIFJHX0FVREJJ QVNBREpfMF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxZmYgPDwgNykNCisNCisvKiBBVURERUNfQU5B X0NPTjEyICovDQorI2RlZmluZSBSR19BVURCSUFTQURKXzFfVkFVRFAzMl9TRlQJCQkwDQorI2Rl ZmluZSBSR19BVURCSUFTQURKXzFfVkFVRFAzMl9NQVNLCQkJMHhmZg0KKyNkZWZpbmUgUkdfQVVE QklBU0FESl8xX1ZBVURQMzJfTUFTS19TRlQJCSgweGZmIDw8IDApDQorI2RlZmluZSBSR19BVURJ QklBU1BXUkROX1ZBVURQMzJfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfQVVESUJJQVNQV1JETl9WQVVE UDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRElCSUFTUFdSRE5fVkFVRFAzMl9NQVNLX1NG VAkJKDB4MSA8PCA4KQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09OMTMgKi8NCisjZGVmaW5lIFJHX1JT VEJfREVDT0RFUl9WQTMyX1NGVAkJCTANCisjZGVmaW5lIFJHX1JTVEJfREVDT0RFUl9WQTMyX01B U0sJCQkweDENCisjZGVmaW5lIFJHX1JTVEJfREVDT0RFUl9WQTMyX01BU0tfU0ZUCQkJKDB4MSA8 PCAwKQ0KKyNkZWZpbmUgUkdfU0VMX0RFQ09ERVJfOTZLX1ZBMzJfU0ZUCQkJMQ0KKyNkZWZpbmUg UkdfU0VMX0RFQ09ERVJfOTZLX1ZBMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfU0VMX0RFQ09E RVJfOTZLX1ZBMzJfTUFTS19TRlQJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX1NFTF9ERUxBWV9W Q09SRV9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfU0VMX0RFTEFZX1ZDT1JFX01BU0sJCQkJMHgxDQor I2RlZmluZSBSR19TRUxfREVMQVlfVkNPUkVfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmlu ZSBSR19BVURHTEJfUFdSRE5fVkEzMl9TRlQJCQk0DQorI2RlZmluZSBSR19BVURHTEJfUFdSRE5f VkEzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURHTEJfUFdSRE5fVkEzMl9NQVNLX1NGVAkJ CSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FVREdMQl9MUF9WT1dfRU5fVkEzMl9TRlQJCQk1DQor I2RlZmluZSBSR19BVURHTEJfTFBfVk9XX0VOX1ZBMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVER0xCX0xQX1ZPV19FTl9WQTMyX01BU0tfU0ZUCQkoMHgxIDw8IDUpDQorI2RlZmluZSBSR19B VURHTEJfTFAyX1ZPV19FTl9WQTMyX1NGVAkJCTYNCisjZGVmaW5lIFJHX0FVREdMQl9MUDJfVk9X X0VOX1ZBMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVER0xCX0xQMl9WT1dfRU5fVkEzMl9N QVNLX1NGVAkJKDB4MSA8PCA2KQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09OMTQgKi8NCisjZGVmaW5l IFJHX0xDTERPX0RFQ19FTl9WQTMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0xDTERPX0RFQ19FTl9W QTMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0xDTERPX0RFQ19FTl9WQTMyX01BU0tfU0ZUCQkJ KDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfTENMRE9fREVDX1BERElTX0VOX1ZBMThfU0ZUCQkJMQ0K KyNkZWZpbmUgUkdfTENMRE9fREVDX1BERElTX0VOX1ZBMThfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfTENMRE9fREVDX1BERElTX0VOX1ZBMThfTUFTS19TRlQJCSgweDEgPDwgMSkNCisjZGVmaW5l IFJHX0xDTERPX0RFQ19SRU1PVEVfU0VOU0VfVkExOF9TRlQJCTINCisjZGVmaW5lIFJHX0xDTERP X0RFQ19SRU1PVEVfU0VOU0VfVkExOF9NQVNLCQkweDENCisjZGVmaW5lIFJHX0xDTERPX0RFQ19S RU1PVEVfU0VOU0VfVkExOF9NQVNLX1NGVAkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfTlZSRUdf RU5fVkFVRFAzMl9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfTlZSRUdfRU5fVkFVRFAzMl9NQVNLCQkJ MHgxDQorI2RlZmluZSBSR19OVlJFR19FTl9WQVVEUDMyX01BU0tfU0ZUCQkJKDB4MSA8PCA0KQ0K KyNkZWZpbmUgUkdfTlZSRUdfUFVMTDBWX1ZBVURQMzJfU0ZUCQkJNQ0KKyNkZWZpbmUgUkdfTlZS RUdfUFVMTDBWX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTlZSRUdfUFVMTDBWX1ZB VURQMzJfTUFTS19TRlQJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FVRFBNVV9SU1ZEX1ZBMThf U0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRFBNVV9SU1ZEX1ZBMThfTUFTSwkJCTB4ZmYNCisjZGVm aW5lIFJHX0FVRFBNVV9SU1ZEX1ZBMThfTUFTS19TRlQJCQkoMHhmZiA8PCA4KQ0KKw0KKy8qIE1U NjM1OV9aQ0RfQ09OMCAqLw0KKyNkZWZpbmUgUkdfQVVEWkNERU5BQkxFX1NGVAkJCQkwDQorI2Rl ZmluZSBSR19BVURaQ0RFTkFCTEVfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFpDREVOQUJM RV9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRFpDREdBSU5TVEVQVElNRV9T RlQJCQkxDQorI2RlZmluZSBSR19BVURaQ0RHQUlOU1RFUFRJTUVfTUFTSwkJCTB4Nw0KKyNkZWZp bmUgUkdfQVVEWkNER0FJTlNURVBUSU1FX01BU0tfU0ZUCQkJKDB4NyA8PCAxKQ0KKyNkZWZpbmUg UkdfQVVEWkNER0FJTlNURVBTSVpFX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVRFpDREdBSU5TVEVQ U0laRV9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURaQ0RHQUlOU1RFUFNJWkVfTUFTS19TRlQJ CQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19BVURaQ0RUSU1FT1VUTU9ERVNFTF9TRlQJCQk2DQor I2RlZmluZSBSR19BVURaQ0RUSU1FT1VUTU9ERVNFTF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19B VURaQ0RUSU1FT1VUTU9ERVNFTF9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKw0KKy8qIE1UNjM1OV9a Q0RfQ09OMSAqLw0KKyNkZWZpbmUgUkdfQVVETE9MR0FJTl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdf QVVETE9MR0FJTl9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVRExPTEdBSU5fTUFTS19TRlQJ CQkJKDB4MWYgPDwgMCkNCisjZGVmaW5lIFJHX0FVRExPUkdBSU5fU0ZUCQkJCTcNCisjZGVmaW5l IFJHX0FVRExPUkdBSU5fTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR19BVURMT1JHQUlOX01BU0tf U0ZUCQkJCSgweDFmIDw8IDcpDQorDQorLyogTVQ2MzU5X1pDRF9DT04yICovDQorI2RlZmluZSBS R19BVURIUExHQUlOX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURIUExHQUlOX01BU0sJCQkJMHgx Zg0KKyNkZWZpbmUgUkdfQVVESFBMR0FJTl9NQVNLX1NGVAkJCQkoMHgxZiA8PCAwKQ0KKyNkZWZp bmUgUkdfQVVESFBSR0FJTl9TRlQJCQkJNw0KKyNkZWZpbmUgUkdfQVVESFBSR0FJTl9NQVNLCQkJ CTB4MWYNCisjZGVmaW5lIFJHX0FVREhQUkdBSU5fTUFTS19TRlQJCQkJKDB4MWYgPDwgNykNCisN CisvKiBNVDYzNTlfWkNEX0NPTjMgKi8NCisjZGVmaW5lIFJHX0FVREhTR0FJTl9TRlQJCQkJMA0K KyNkZWZpbmUgUkdfQVVESFNHQUlOX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVESFNHQUlO X01BU0tfU0ZUCQkJCSgweDFmIDw8IDApDQorDQorLyogTVQ2MzU5X1pDRF9DT040ICovDQorI2Rl ZmluZSBSR19BVURJVkxHQUlOX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURJVkxHQUlOX01BU0sJ CQkJMHg3DQorI2RlZmluZSBSR19BVURJVkxHQUlOX01BU0tfU0ZUCQkJCSgweDcgPDwgMCkNCisj ZGVmaW5lIFJHX0FVRElWUkdBSU5fU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRElWUkdBSU5fTUFT SwkJCQkweDcNCisjZGVmaW5lIFJHX0FVRElWUkdBSU5fTUFTS19TRlQJCQkJKDB4NyA8PCA4KQ0K Kw0KKy8qIE1UNjM1OV9aQ0RfQ09ONSAqLw0KKyNkZWZpbmUgUkdfQVVESU5UR0FJTjFfU0ZUCQkJ CTANCisjZGVmaW5lIFJHX0FVRElOVEdBSU4xX01BU0sJCQkJMHgzZg0KKyNkZWZpbmUgUkdfQVVE SU5UR0FJTjFfTUFTS19TRlQJCQkJKDB4M2YgPDwgMCkNCisjZGVmaW5lIFJHX0FVRElOVEdBSU4y X1NGVAkJCQk4DQorI2RlZmluZSBSR19BVURJTlRHQUlOMl9NQVNLCQkJCTB4M2YNCisjZGVmaW5l IFJHX0FVRElOVEdBSU4yX01BU0tfU0ZUCQkJCSgweDNmIDw8IDgpDQorDQorLyogYXVkaW8gcmVn aXN0ZXIgKi8NCisjZGVmaW5lIE1UNjM1OV9HUElPX0RJUjAJCQkJMHg4OA0KKyNkZWZpbmUgTVQ2 MzU5X0dQSU9fRElSMF9TRVQJCQkJMHg4YQ0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fRElSMF9DTFIJ CQkJMHg4Yw0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fRElSMQkJCQkweDhlDQorI2RlZmluZSBNVDYz NTlfR1BJT19ESVIxX1NFVAkJCQkweDkwDQorI2RlZmluZSBNVDYzNTlfR1BJT19ESVIxX0NMUgkJ CQkweDkyDQorDQorI2RlZmluZSBNVDYzNTlfRENYT19DVzExCQkJCTB4N2E2DQorI2RlZmluZSBN VDYzNTlfRENYT19DVzEyCQkJCTB4N2E4DQorI2RlZmluZSBNVDYzNTlfTERPX1ZBVUQxOF9DT04w CQkJCTB4MWM5OA0KKw0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTAJCQkJMHhjYw0KKyNkZWZp bmUgTVQ2MzU5X0dQSU9fTU9ERTBfU0VUCQkJCTB4Y2UNCisjZGVmaW5lIE1UNjM1OV9HUElPX01P REUwX0NMUgkJCQkweGQwDQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFMQkJCQkweGQyDQorI2Rl ZmluZSBNVDYzNTlfR1BJT19NT0RFMV9TRVQJCQkJMHhkNA0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9f TU9ERTFfQ0xSCQkJCTB4ZDYNCisjZGVmaW5lIE1UNjM1OV9HUElPX01PREUyCQkJCTB4ZDgNCisj ZGVmaW5lIE1UNjM1OV9HUElPX01PREUyX1NFVAkJCQkweGRhDQorI2RlZmluZSBNVDYzNTlfR1BJ T19NT0RFMl9DTFIJCQkJMHhkYw0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTMJCQkJMHhkZQ0K KyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTNfU0VUCQkJCTB4ZTANCisjZGVmaW5lIE1UNjM1OV9H UElPX01PREUzX0NMUgkJCQkweGUyDQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFNAkJCQkweGU0 DQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFNF9TRVQJCQkJMHhlNg0KKyNkZWZpbmUgTVQ2MzU5 X0dQSU9fTU9ERTRfQ0xSCQkJCTB4ZTgNCisNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0lECQkJ CTB4MjMwMA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfUkVWMAkJCQkweDIzMDINCisjZGVmaW5l IE1UNjM1OV9BVURfVE9QX0RCSQkJCQkweDIzMDQNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0RY SQkJCQkweDIzMDYNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NLUEROX1RQTTAJCQkweDIzMDgN CisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NLUEROX1RQTTEJCQkweDIzMGENCisjZGVmaW5lIE1U NjM1OV9BVURfVE9QX0NLUEROX0NPTjAJCQkweDIzMGMNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9Q X0NLUEROX0NPTjBfU0VUCQkJMHgyMzBlDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DS1BETl9D T04wX0NMUgkJCTB4MjMxMA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0tTRUxfQ09OMAkJCTB4 MjMxMg0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0tTRUxfQ09OMF9TRVQJCQkweDIzMTQNCisj ZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NLU0VMX0NPTjBfQ0xSCQkJMHgyMzE2DQorI2RlZmluZSBN VDYzNTlfQVVEX1RPUF9DS1RTVF9DT04wCQkJMHgyMzE4DQorI2RlZmluZSBNVDYzNTlfQVVEX1RP UF9DTEtfSFdFTl9DT04wCQkJMHgyMzFhDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DTEtfSFdF Tl9DT04wX1NFVAkJMHgyMzFjDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DTEtfSFdFTl9DT04w X0NMUgkJMHgyMzFlDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9SU1RfQ09OMAkJCQkweDIzMjAN CisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX1JTVF9DT04wX1NFVAkJCTB4MjMyMg0KKyNkZWZpbmUg TVQ2MzU5X0FVRF9UT1BfUlNUX0NPTjBfQ0xSCQkJMHgyMzI0DQorI2RlZmluZSBNVDYzNTlfQVVE X1RPUF9SU1RfQkFOS19DT04wCQkJMHgyMzI2DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRf Q09OMAkJCQkweDIzMjgNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0lOVF9DT04wX1NFVAkJCTB4 MjMyYQ0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSU5UX0NPTjBfQ0xSCQkJMHgyMzJjDQorI2Rl ZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRfTUFTS19DT04wCQkJMHgyMzJlDQorI2RlZmluZSBNVDYz NTlfQVVEX1RPUF9JTlRfTUFTS19DT04wX1NFVAkJMHgyMzMwDQorI2RlZmluZSBNVDYzNTlfQVVE X1RPUF9JTlRfTUFTS19DT04wX0NMUgkJMHgyMzMyDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9J TlRfU1RBVFVTMAkJCTB4MjMzNA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSU5UX1JBV19TVEFU VVMwCQkJMHgyMzM2DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRfTUlTQ19DT04wCQkJMHgy MzM4DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9NT05fQ09OMAkJCQkweDIzM2ENCisjZGVmaW5l IE1UNjM1OV9BVURJT19ESUdfRFNOX0lECQkJCTB4MjM4MA0KKyNkZWZpbmUgTVQ2MzU5X0FVRElP X0RJR19EU05fUkVWMAkJCTB4MjM4Mg0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR19EU05fREJJ CQkJMHgyMzg0DQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHX0RTTl9EWEkJCQkweDIzODYNCisj ZGVmaW5lIE1UNjM1OV9BRkVfVUxfRExfQ09OMAkJCQkweDIzODgNCisjZGVmaW5lIE1UNjM1OV9B RkVfRExfU1JDMl9DT04wX0wJCQkweDIzOGENCisjZGVmaW5lIE1UNjM1OV9BRkVfVUxfU1JDX0NP TjBfSAkJCTB4MjM4Yw0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9VTF9TUkNfQ09OMF9MCQkJMHgyMzhl DQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREE2X0xfU1JDX0NPTjBfSAkJCTB4MjM5MA0KKyNkZWZp bmUgTVQ2MzU5X0FGRV9BRERBNl9VTF9TUkNfQ09OMF9MCQkJMHgyMzkyDQorI2RlZmluZSBNVDYz NTlfQUZFX1RPUF9DT04wCQkJCTB4MjM5NA0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX1RPUF9DT04w CQkJCTB4MjM5Ng0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9NT05fREVCVUcwCQkJCTB4MjM5OA0KKyNk ZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT04wCQkJCTB4MjM5YQ0KKyNkZWZpbmUgTVQ2MzU5X0FG VU5DX0FVRF9DT04xCQkJCTB4MjM5Yw0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT04yCQkJ CTB4MjM5ZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT04zCQkJCTB4MjNhMA0KKyNkZWZp bmUgTVQ2MzU5X0FGVU5DX0FVRF9DT040CQkJCTB4MjNhMg0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5D X0FVRF9DT041CQkJCTB4MjNhNA0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT042CQkJCTB4 MjNhNg0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT043CQkJCTB4MjNhOA0KKyNkZWZpbmUg TVQ2MzU5X0FGVU5DX0FVRF9DT044CQkJCTB4MjNhYQ0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FV RF9DT045CQkJCTB4MjNhYw0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT04xMAkJCQkweDIz YWUNCisjZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfQ09OMTEJCQkJMHgyM2IwDQorI2RlZmluZSBN VDYzNTlfQUZVTkNfQVVEX0NPTjEyCQkJCTB4MjNiMg0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FV RF9NT04wCQkJCTB4MjNiNA0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9NT04xCQkJCTB4MjNi Ng0KKyNkZWZpbmUgTVQ2MzU5X0FVRFJDX1RVTkVfTU9OMAkJCQkweDIzYjgNCisjZGVmaW5lIE1U NjM1OV9BRkVfQUREQV9NVEtBSUZfRklGT19DRkcwCQkweDIzYmENCisjZGVmaW5lIE1UNjM1OV9B RkVfQUREQV9NVEtBSUZfRklGT19MT0dfTU9OMQkJMHgyM2JjDQorI2RlZmluZSBNVDYzNTlfQUZF X0FEREFfTVRLQUlGX01PTjAJCQkweDIzYmUNCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtB SUZfTU9OMQkJCTB4MjNjMA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01US0FJRl9NT04yCQkJ MHgyM2MyDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREE2X01US0FJRl9NT04zCQkJMHgyM2M0DQor I2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX01PTjQJCQkweDIzYzYNCisjZGVmaW5lIE1U NjM1OV9BRkVfQUREQV9NVEtBSUZfTU9ONQkJCTB4MjNjOA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9B RERBX01US0FJRl9DRkcwCQkJMHgyM2NhDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlG X1JYX0NGRzAJCQkweDIzY2MNCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfUlhfQ0ZH MQkJCTB4MjNjZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01US0FJRl9SWF9DRkcyCQkJMHgy M2QwDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX1JYX0NGRzMJCQkweDIzZDINCisj ZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfU1lOQ1dPUkRfQ0ZHMAkJMHgyM2Q0DQorI2Rl ZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX1NZTkNXT1JEX0NGRzEJCTB4MjNkNg0KKyNkZWZp bmUgTVQ2MzU5X0FGRV9TR0VOX0NGRzAJCQkJMHgyM2Q4DQorI2RlZmluZSBNVDYzNTlfQUZFX1NH RU5fQ0ZHMQkJCQkweDIzZGENCisjZGVmaW5lIE1UNjM1OV9BRkVfQURDX0FTWU5DX0ZJRk9fQ0ZH CQkJMHgyM2RjDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEQ19BU1lOQ19GSUZPX0NGRzEJCQkweDIz ZGUNCisjZGVmaW5lIE1UNjM1OV9BRkVfRENDTEtfQ0ZHMAkJCQkweDIzZTANCisjZGVmaW5lIE1U NjM1OV9BRkVfRENDTEtfQ0ZHMQkJCQkweDIzZTINCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdf Q0ZHCQkJCTB4MjNlNA0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR19DRkcxCQkJCTB4MjNlNg0K KyNkZWZpbmUgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUAkJCQkweDIzZTgNCisjZGVmaW5lIE1UNjM1 OV9BRkVfQVVEX1BBRF9UT1BfTU9OCQkJMHgyM2VhDQorI2RlZmluZSBNVDYzNTlfQUZFX0FVRF9Q QURfVE9QX01PTjEJCQkweDIzZWMNCisjZGVmaW5lIE1UNjM1OV9BRkVfQVVEX1BBRF9UT1BfTU9O MgkJCTB4MjNlZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9ETF9OTEVfQ0ZHCQkJCTB4MjNmMA0KKyNk ZWZpbmUgTVQ2MzU5X0FGRV9ETF9OTEVfTU9OCQkJCTB4MjNmMg0KKyNkZWZpbmUgTVQ2MzU5X0FG RV9DR19FTl9NT04JCQkJMHgyM2Y0DQorI2RlZmluZSBNVDYzNTlfQUZFX01JQ19BUlJBWV9DRkcJ CQkweDIzZjYNCisjZGVmaW5lIE1UNjM1OV9BRkVfQ0hPUF9DRkcwCQkJCTB4MjNmOA0KKyNkZWZp bmUgTVQ2MzU5X0FGRV9NVEtBSUZfTVVYX0NGRwkJCTB4MjNmYQ0KKyNkZWZpbmUgTVQ2MzU5X0FV RElPX0RJR18yTkRfRFNOX0lECQkJMHgyNDAwDQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHXzJO RF9EU05fUkVWMAkJCTB4MjQwMg0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR18yTkRfRFNOX0RC SQkJCTB4MjQwNA0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR18yTkRfRFNOX0RYSQkJCTB4MjQw Ng0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9QTUlDX05FV0lGX0NGRzMJCQkweDI0MDgNCisjZGVmaW5l IE1UNjM1OV9BVURJT19ESUdfM1JEX0RTTl9JRAkJCTB4MjQ4MA0KKyNkZWZpbmUgTVQ2MzU5X0FV RElPX0RJR18zUkRfRFNOX1JFVjAJCQkweDI0ODINCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdf M1JEX0RTTl9EQkkJCQkweDI0ODQNCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfM1JEX0RTTl9E WEkJCQkweDI0ODYNCisjZGVmaW5lIE1UNjM1OV9BRkVfTkNQX0NGRzAJCQkJMHgyNGRlDQorI2Rl ZmluZSBNVDYzNTlfQUZFX05DUF9DRkcxCQkJCTB4MjRlMA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9O Q1BfQ0ZHMgkJCQkweDI0ZTINCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfRFNOX0lECQkJCTB4MjUw MA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19EU05fUkVWMAkJCQkweDI1MDINCisjZGVmaW5lIE1U NjM1OV9BVURFTkNfRFNOX0RCSQkJCQkweDI1MDQNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfRFNO X0ZQSQkJCQkweDI1MDYNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAJCQkJMHgyNTA4 DQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04xCQkJCTB4MjUwYQ0KKyNkZWZpbmUgTVQ2 MzU5X0FVREVOQ19BTkFfQ09OMgkJCQkweDI1MGMNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5B X0NPTjMJCQkJMHgyNTBlDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT040CQkJCTB4MjUx MA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09ONQkJCQkweDI1MTINCisjZGVmaW5lIE1U NjM1OV9BVURFTkNfQU5BX0NPTjYJCQkJMHgyNTE0DQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FO QV9DT043CQkJCTB4MjUxNg0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OOAkJCQkweDI1 MTgNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjkJCQkJMHgyNTFhDQorI2RlZmluZSBN VDYzNTlfQVVERU5DX0FOQV9DT04xMAkJCQkweDI1MWMNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNf QU5BX0NPTjExCQkJCTB4MjUxZQ0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTIJCQkJ MHgyNTIwDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04xMwkJCQkweDI1MjINCisjZGVm aW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE0CQkJCTB4MjUyNA0KKyNkZWZpbmUgTVQ2MzU5X0FV REVOQ19BTkFfQ09OMTUJCQkJMHgyNTI2DQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04x NgkJCQkweDI1MjgNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE3CQkJCTB4MjUyYQ0K KyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTgJCQkJMHgyNTJjDQorI2RlZmluZSBNVDYz NTlfQVVERU5DX0FOQV9DT04xOQkJCQkweDI1MmUNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5B X0NPTjIwCQkJCTB4MjUzMA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMjEJCQkJMHgy NTMyDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04yMgkJCQkweDI1MzQNCisjZGVmaW5l IE1UNjM1OV9BVURFTkNfQU5BX0NPTjIzCQkJCTB4MjUzNg0KKyNkZWZpbmUgTVQ2MzU5X0FVRERF Q19EU05fSUQJCQkJMHgyNTgwDQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0RTTl9SRVYwCQkJCTB4 MjU4Mg0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19EU05fREJJCQkJCTB4MjU4NA0KKyNkZWZpbmUg TVQ2MzU5X0FVRERFQ19EU05fRlBJCQkJCTB4MjU4Ng0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19B TkFfQ09OMAkJCQkweDI1ODgNCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjEJCQkJMHgy NThhDQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT04yCQkJCTB4MjU4Yw0KKyNkZWZpbmUg TVQ2MzU5X0FVRERFQ19BTkFfQ09OMwkJCQkweDI1OGUNCisjZGVmaW5lIE1UNjM1OV9BVURERUNf QU5BX0NPTjQJCQkJMHgyNTkwDQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT041CQkJCTB4 MjU5Mg0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONgkJCQkweDI1OTQNCisjZGVmaW5l IE1UNjM1OV9BVURERUNfQU5BX0NPTjcJCQkJMHgyNTk2DQorI2RlZmluZSBNVDYzNTlfQVVEREVD X0FOQV9DT044CQkJCTB4MjU5OA0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOQkJCQkw eDI1OWENCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjEwCQkJCTB4MjU5Yw0KKyNkZWZp bmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTEJCQkJMHgyNTllDQorI2RlZmluZSBNVDYzNTlfQVVE REVDX0FOQV9DT04xMgkJCQkweDI1YTANCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjEz CQkJCTB4MjVhMg0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTQJCQkJMHgyNWE0DQor I2RlZmluZSBNVDYzNTlfQVVEWkNEX0RTTl9JRAkJCQkweDI2MDANCisjZGVmaW5lIE1UNjM1OV9B VURaQ0RfRFNOX1JFVjAJCQkJMHgyNjAyDQorI2RlZmluZSBNVDYzNTlfQVVEWkNEX0RTTl9EQkkJ CQkJMHgyNjA0DQorI2RlZmluZSBNVDYzNTlfQVVEWkNEX0RTTl9GUEkJCQkJMHgyNjA2DQorI2Rl ZmluZSBNVDYzNTlfWkNEX0NPTjAJCQkJCTB4MjYwOA0KKyNkZWZpbmUgTVQ2MzU5X1pDRF9DT04x CQkJCQkweDI2MGENCisjZGVmaW5lIE1UNjM1OV9aQ0RfQ09OMgkJCQkJMHgyNjBjDQorI2RlZmlu ZSBNVDYzNTlfWkNEX0NPTjMJCQkJCTB4MjYwZQ0KKyNkZWZpbmUgTVQ2MzU5X1pDRF9DT040CQkJ CQkweDI2MTANCisjZGVmaW5lIE1UNjM1OV9aQ0RfQ09ONQkJCQkJMHgyNjEyDQorI2RlZmluZSBN VDYzNTlfQUNDREVUX0RTTl9ESUdfSUQJCQkweDI2ODANCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRf RFNOX0RJR19SRVYwCQkJMHgyNjgyDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0RTTl9EQkkJCQkJ MHgyNjg0DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0RTTl9GUEkJCQkJMHgyNjg2DQorI2RlZmlu ZSBNVDYzNTlfQUNDREVUX0NPTjAJCQkJMHgyNjg4DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NP TjEJCQkJMHgyNjhhDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjIJCQkJMHgyNjhjDQorI2Rl ZmluZSBNVDYzNTlfQUNDREVUX0NPTjMJCQkJMHgyNjhlDQorI2RlZmluZSBNVDYzNTlfQUNDREVU X0NPTjQJCQkJMHgyNjkwDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjUJCQkJMHgyNjkyDQor I2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjYJCQkJMHgyNjk0DQorI2RlZmluZSBNVDYzNTlfQUND REVUX0NPTjcJCQkJMHgyNjk2DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjgJCQkJMHgyNjk4 DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjkJCQkJMHgyNjlhDQorI2RlZmluZSBNVDYzNTlf QUNDREVUX0NPTjEwCQkJCTB4MjY5Yw0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xMQkJCQkw eDI2OWUNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMTIJCQkJMHgyNmEwDQorI2RlZmluZSBN VDYzNTlfQUNDREVUX0NPTjEzCQkJCTB4MjZhMg0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04x NAkJCQkweDI2YTQNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMTUJCQkJMHgyNmE2DQorI2Rl ZmluZSBNVDYzNTlfQUNDREVUX0NPTjE2CQkJCTB4MjZhOA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RF VF9DT04xNwkJCQkweDI2YWENCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMTgJCQkJMHgyNmFj DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjE5CQkJCTB4MjZhZQ0KKyNkZWZpbmUgTVQ2MzU5 X0FDQ0RFVF9DT04yMAkJCQkweDI2YjANCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMjEJCQkJ MHgyNmIyDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjIyCQkJCTB4MjZiNA0KKyNkZWZpbmUg TVQ2MzU5X0FDQ0RFVF9DT04yMwkJCQkweDI2YjYNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09O MjQJCQkJMHgyNmI4DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjI1CQkJCTB4MjZiYQ0KKyNk ZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04yNgkJCQkweDI2YmMNCisjZGVmaW5lIE1UNjM1OV9BQ0NE RVRfQ09OMjcJCQkJMHgyNmJlDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjI4CQkJCTB4MjZj MA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04yOQkJCQkweDI2YzINCisjZGVmaW5lIE1UNjM1 OV9BQ0NERVRfQ09OMzAJCQkJMHgyNmM0DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjMxCQkJ CTB4MjZjNg0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04zMgkJCQkweDI2YzgNCisjZGVmaW5l IE1UNjM1OV9BQ0NERVRfQ09OMzMJCQkJMHgyNmNhDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NP TjM0CQkJCTB4MjZjYw0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04zNQkJCQkweDI2Y2UNCisj ZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMzYJCQkJMHgyNmQwDQorI2RlZmluZSBNVDYzNTlfQUND REVUX0NPTjM3CQkJCTB4MjZkMg0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04zOAkJCQkweDI2 ZDQNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMzkJCQkJMHgyNmQ2DQorI2RlZmluZSBNVDYz NTlfQUNDREVUX0NPTjQwCQkJCTB4MjZkOA0KKyNkZWZpbmUgTVQ2MzU5X01BWF9SRUdJU1RFUgkJ CQlNVDYzNTlfWkNEX0NPTjUNCisNCisvKiBkbCBiaWFzICovDQorI2RlZmluZSBEUkJJQVNfTUFT SyAweDcNCisjZGVmaW5lIERSQklBU19IUF9TRlQgKFJHX0FVREJJQVNBREpfMF9WQVVEUDMyX1NG VCArIDApDQorI2RlZmluZSBEUkJJQVNfSFBfTUFTS19TRlQgKERSQklBU19NQVNLIDw8IERSQklB U19IUF9TRlQpDQorI2RlZmluZSBEUkJJQVNfSFNfU0ZUIChSR19BVURCSUFTQURKXzBfVkFVRFAz Ml9TRlQgKyAzKQ0KKyNkZWZpbmUgRFJCSUFTX0hTX01BU0tfU0ZUIChEUkJJQVNfTUFTSyA8PCBE UkJJQVNfSFNfU0ZUKQ0KKyNkZWZpbmUgRFJCSUFTX0xPX1NGVCAoUkdfQVVEQklBU0FESl8wX1ZB VURQMzJfU0ZUICsgNikNCisjZGVmaW5lIERSQklBU19MT19NQVNLX1NGVCAoRFJCSUFTX01BU0sg PDwgRFJCSUFTX0xPX1NGVCkNCisjZGVmaW5lIElCSUFTX01BU0sgMHgzDQorI2RlZmluZSBJQklB U19IUF9TRlQgKFJHX0FVREJJQVNBREpfMV9WQVVEUDMyX1NGVCArIDApDQorI2RlZmluZSBJQklB U19IUF9NQVNLX1NGVCAoSUJJQVNfTUFTSyA8PCBJQklBU19IUF9TRlQpDQorI2RlZmluZSBJQklB U19IU19TRlQgKFJHX0FVREJJQVNBREpfMV9WQVVEUDMyX1NGVCArIDIpDQorI2RlZmluZSBJQklB U19IU19NQVNLX1NGVCAoSUJJQVNfTUFTSyA8PCBJQklBU19IU19TRlQpDQorI2RlZmluZSBJQklB U19MT19TRlQgKFJHX0FVREJJQVNBREpfMV9WQVVEUDMyX1NGVCArIDQpDQorI2RlZmluZSBJQklB U19MT19NQVNLX1NGVCAoSUJJQVNfTUFTSyA8PCBJQklBU19MT19TRlQpDQorI2RlZmluZSBJQklB U19aQ0RfU0ZUIChSR19BVURCSUFTQURKXzFfVkFVRFAzMl9TRlQgKyA2KQ0KKyNkZWZpbmUgSUJJ QVNfWkNEX01BU0tfU0ZUIChJQklBU19NQVNLIDw8IElCSUFTX1pDRF9TRlQpDQorDQorLyogZGwg Z2FpbiAqLw0KKyNkZWZpbmUgRExfR0FJTl9OXzEwREJfUkVHIChETF9HQUlOX05fMTBEQiA8PCA3 IHwgRExfR0FJTl9OXzEwREIpDQorI2RlZmluZSBETF9HQUlOX05fMjJEQl9SRUcgKERMX0dBSU5f Tl8yMkRCIDw8IDcgfCBETF9HQUlOX05fMjJEQikNCisjZGVmaW5lIERMX0dBSU5fTl80MERCX1JF RyAoRExfR0FJTl9OXzQwREIgPDwgNyB8IERMX0dBSU5fTl80MERCKQ0KKyNkZWZpbmUgRExfR0FJ Tl9SRUdfTUFTSyAweDBmOWYNCisNCisvKiBtaWMgdHlwZSBtdXggKi8NCisjZGVmaW5lIE1UX1NP Q19FTlVNX0VYVF9JRCh4bmFtZSwgeGVudW0sIHhoYW5kbGVyX2dldCwgeGhhbmRsZXJfcHV0LCBp ZCkgXA0KK3sJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0geG5h bWUsIC5kZXZpY2UgPSBpZCxcDQorCS5pbmZvID0gc25kX3NvY19pbmZvX2VudW1fZG91YmxlLCBc DQorCS5nZXQgPSB4aGFuZGxlcl9nZXQsIC5wdXQgPSB4aGFuZGxlcl9wdXQsIFwNCisJLnByaXZh dGVfdmFsdWUgPSAodW5zaWduZWQgbG9uZykmKHhlbnVtKSB9DQorDQorZW51bSB7DQorCU1UNjM1 OV9NVEtBSUZfUFJPVE9DT0xfMSA9IDAsDQorCU1UNjM1OV9NVEtBSUZfUFJPVE9DT0xfMiwNCisJ TVQ2MzU5X01US0FJRl9QUk9UT0NPTF8yX0NMS19QMiwNCit9Ow0KKw0KK2VudW0gew0KKwlNVDYz NTlfQUlGXzEgPSAwLAkvKiBkbDogaHAsIHJjdiwgaHArbG8gKi8NCisJTVQ2MzU5X0FJRl8yLAkJ LyogZGw6IGxvIG9ubHkgKi8NCisJTVQ2MzU5X0FJRl9OVU0sDQorfTsNCisNCitlbnVtIHsNCisJ QVVESU9fQU5BTE9HX1ZPTFVNRV9IU09VVEwsDQorCUFVRElPX0FOQUxPR19WT0xVTUVfSFNPVVRS LA0KKwlBVURJT19BTkFMT0dfVk9MVU1FX0hQT1VUTCwNCisJQVVESU9fQU5BTE9HX1ZPTFVNRV9I UE9VVFIsDQorCUFVRElPX0FOQUxPR19WT0xVTUVfTElORU9VVEwsDQorCUFVRElPX0FOQUxPR19W T0xVTUVfTElORU9VVFIsDQorCUFVRElPX0FOQUxPR19WT0xVTUVfTUlDQU1QMSwNCisJQVVESU9f QU5BTE9HX1ZPTFVNRV9NSUNBTVAyLA0KKwlBVURJT19BTkFMT0dfVk9MVU1FX01JQ0FNUDMsDQor CUFVRElPX0FOQUxPR19WT0xVTUVfVFlQRV9NQVgNCit9Ow0KKw0KK2VudW0gew0KKwlNVVhfTUlD X1RZUEVfMCwJLyogYWluMCwgbWljYmlhcyAwICovDQorCU1VWF9NSUNfVFlQRV8xLAkvKiBhaW4x LCBtaWNiaWFzIDEgKi8NCisJTVVYX01JQ19UWVBFXzIsCS8qIGFpbjIvMywgbWljYmlhcyAyICov DQorCU1VWF9QR0FfTCwNCisJTVVYX1BHQV9SLA0KKwlNVVhfUEdBXzMsDQorCU1VWF9IUCwNCisJ TVVYX05VTSwNCit9Ow0KKw0KK2VudW0gew0KKwlERVZJQ0VfSFAsDQorCURFVklDRV9MTywNCisJ REVWSUNFX1JDViwNCisJREVWSUNFX01JQzEsDQorCURFVklDRV9NSUMyLA0KKwlERVZJQ0VfTlVN DQorfTsNCisNCitlbnVtIHsNCisJSFBfR0FJTl9DVExfWkNEID0gMCwNCisJSFBfR0FJTl9DVExf TkxFLA0KKwlIUF9HQUlOX0NUTF9OVU0sDQorfTsNCisNCitlbnVtIHsNCisJSFBfTVVYX09QRU4g PSAwLA0KKwlIUF9NVVhfSFBTUEssDQorCUhQX01VWF9IUCwNCisJSFBfTVVYX1RFU1RfTU9ERSwN CisJSFBfTVVYX0hQX0lNUEVEQU5DRSwNCisJSFBfTVVYX01BU0sgPSAweDcsDQorfTsNCisNCitl bnVtIHsNCisJUkNWX01VWF9PUEVOID0gMCwNCisJUkNWX01VWF9NVVRFLA0KKwlSQ1ZfTVVYX1ZP SUNFX1BMQVlCQUNLLA0KKwlSQ1ZfTVVYX1RFU1RfTU9ERSwNCisJUkNWX01VWF9NQVNLID0gMHgz LA0KK307DQorDQorZW51bSB7DQorCUxPX01VWF9PUEVOID0gMCwNCisJTE9fTVVYX0xfREFDLA0K KwlMT19NVVhfM1JEX0RBQywNCisJTE9fTVVYX1RFU1RfTU9ERSwNCisJTE9fTVVYX01BU0sgPSAw eDMsDQorfTsNCisNCisvKiBTdXBwbHkgd2lkZ2V0IHN1YnNlcSAqLw0KK2VudW0gew0KKwkvKiBj b21tb24gKi8NCisJU1VQUExZX1NFUV9DTEtfQlVGLA0KKwlTVVBQTFlfU0VRX0xET19WQVVEMTgs DQorCVNVUFBMWV9TRVFfQVVEX0dMQiwNCisJU1VQUExZX1NFUV9IUF9QVUxMX0RPV04sDQorCVNV UFBMWV9TRVFfQ0xLU1EsDQorCVNVUFBMWV9TRVFfQURDX0NMS0dFTiwNCisJU1VQUExZX1NFUV9U T1BfQ0ssDQorCVNVUFBMWV9TRVFfVE9QX0NLX0xBU1QsDQorCVNVUFBMWV9TRVFfRENDX0NMSywN CisJU1VQUExZX1NFUV9NSUNfQklBUywNCisJU1VQUExZX1NFUV9ETUlDLA0KKwlTVVBQTFlfU0VR X0FVRF9UT1AsDQorCVNVUFBMWV9TRVFfQVVEX1RPUF9MQVNULA0KKwlTVVBQTFlfU0VRX0RMX1NE TV9GSUZPX0NMSywNCisJU1VQUExZX1NFUV9ETF9TRE0sDQorCVNVUFBMWV9TRVFfRExfTkNQLA0K KwlTVVBQTFlfU0VRX0FGRSwNCisJLyogcGxheWJhY2sgKi8NCisJU1VQUExZX1NFUV9ETF9TUkMs DQorCVNVUFBMWV9TRVFfRExfRVNEX1JFU0lTVCwNCisJU1VQUExZX1NFUV9IUF9EQU1QSU5HX09G Rl9SRVNFVF9DTUZCLA0KKwlTVVBQTFlfU0VRX0hQX01VVEUsDQorCVNVUFBMWV9TRVFfRExfTERP X1JFTU9URV9TRU5TRSwNCisJU1VQUExZX1NFUV9ETF9MRE8sDQorCVNVUFBMWV9TRVFfRExfTlYs DQorCVNVUFBMWV9TRVFfSFBfQU5BX1RSSU0sDQorCVNVUFBMWV9TRVFfRExfSUJJU1QsDQorCS8q IGNhcHR1cmUgKi8NCisJU1VQUExZX1NFUV9VTF9QR0EsDQorCVNVUFBMWV9TRVFfVUxfQURDLA0K KwlTVVBQTFlfU0VRX1VMX01US0FJRiwNCisJU1VQUExZX1NFUV9VTF9TUkNfRE1JQywNCisJU1VQ UExZX1NFUV9VTF9TUkMsDQorfTsNCisNCitlbnVtIHsNCisJQ0hfTCA9IDAsDQorCUNIX1IsDQor CU5VTV9DSCwNCit9Ow0KKw0KK2VudW0gew0KKwlEUkJJQVNfNFVBID0gMCwNCisJRFJCSUFTXzVV QSwNCisJRFJCSUFTXzZVQSwNCisJRFJCSUFTXzdVQSwNCisJRFJCSUFTXzhVQSwNCisJRFJCSUFT XzlVQSwNCisJRFJCSUFTXzEwVUEsDQorCURSQklBU18xMVVBLA0KK307DQorDQorZW51bSB7DQor CUlCSUFTXzRVQSA9IDAsDQorCUlCSUFTXzVVQSwNCisJSUJJQVNfNlVBLA0KKwlJQklBU183VUEs DQorfTsNCisNCitlbnVtIHsNCisJSUJJQVNfWkNEXzNVQSA9IDAsDQorCUlCSUFTX1pDRF80VUEs DQorCUlCSUFTX1pDRF81VUEsDQorCUlCSUFTX1pDRF82VUEsDQorfTsNCisNCitlbnVtIHsNCisJ TUlDX0JJQVNfMVA3ID0gMCwNCisJTUlDX0JJQVNfMVA4LA0KKwlNSUNfQklBU18xUDksDQorCU1J Q19CSUFTXzJQMCwNCisJTUlDX0JJQVNfMlAxLA0KKwlNSUNfQklBU18yUDUsDQorCU1JQ19CSUFT XzJQNiwNCisJTUlDX0JJQVNfMlA3LA0KK307DQorDQorLyogZGwgcGdhIGdhaW4gKi8NCitlbnVt IHsNCisJRExfR0FJTl84REIgPSAwLA0KKwlETF9HQUlOXzBEQiA9IDgsDQorCURMX0dBSU5fTl8x REIgPSA5LA0KKwlETF9HQUlOX05fMTBEQiA9IDE4LA0KKwlETF9HQUlOX05fMjJEQiA9IDMwLA0K KwlETF9HQUlOX05fNDBEQiA9IDB4MWYsDQorfTsNCisNCisvKiBNaWMgVHlwZSBNVVggKi8NCitl bnVtIHsNCisJTUlDX1RZUEVfTVVYX0lETEUgPSAwLA0KKwlNSUNfVFlQRV9NVVhfQUNDLA0KKwlN SUNfVFlQRV9NVVhfRE1JQywNCisJTUlDX1RZUEVfTVVYX0RDQywNCisJTUlDX1RZUEVfTVVYX0RD Q19FQ01fRElGRiwNCisJTUlDX1RZUEVfTVVYX0RDQ19FQ01fU0lOR0xFLA0KK307DQorDQorLyog VUwgU1JDIE1VWCAqLw0KK2VudW0gew0KKwlVTF9TUkNfTVVYX0FNSUMgPSAwLA0KKwlVTF9TUkNf TVVYX0RNSUMsDQorfTsNCisNCisvKiBNSVNPIE1VWCAqLw0KK2VudW0gew0KKwlNSVNPX01VWF9V TDFfQ0gxID0gMCwNCisJTUlTT19NVVhfVUwxX0NIMiwNCisJTUlTT19NVVhfVUwyX0NIMSwNCisJ TUlTT19NVVhfVUwyX0NIMiwNCit9Ow0KKw0KKy8qIERNSUMgTVVYICovDQorZW51bSB7DQorCURN SUNfTVVYX0RNSUNfREFUQTAgPSAwLA0KKwlETUlDX01VWF9ETUlDX0RBVEExX0wsDQorCURNSUNf TVVYX0RNSUNfREFUQTFfTF8xLA0KKwlETUlDX01VWF9ETUlDX0RBVEExX1IsDQorfTsNCisNCisv KiBBREMgTCBNVVggKi8NCitlbnVtIHsNCisJQURDX01VWF9JRExFID0gMCwNCisJQURDX01VWF9B SU4wLA0KKwlBRENfTVVYX1BSRUFNUExJRklFUiwNCisJQURDX01VWF9JRExFMSwNCit9Ow0KKw0K Ky8qIFBHQSBMIE1VWCAqLw0KK2VudW0gew0KKwlQR0FfTF9NVVhfTk9ORSA9IDAsDQorCVBHQV9M X01VWF9BSU4wLA0KKwlQR0FfTF9NVVhfQUlOMSwNCit9Ow0KKw0KKy8qIFBHQSBSIE1VWCAqLw0K K2VudW0gew0KKwlQR0FfUl9NVVhfTk9ORSA9IDAsDQorCVBHQV9SX01VWF9BSU4yLA0KKwlQR0Ff Ul9NVVhfQUlOMywNCisJUEdBX1JfTVVYX0FJTjAsDQorfTsNCisNCisvKiBQR0EgMyBNVVggKi8N CitlbnVtIHsNCisJUEdBXzNfTVVYX05PTkUgPSAwLA0KKwlQR0FfM19NVVhfQUlOMywNCisJUEdB XzNfTVVYX0FJTjIsDQorfTsNCisNCitzdHJ1Y3QgbXQ2MzU5X3ByaXYgew0KKwlzdHJ1Y3QgZGV2 aWNlICpkZXY7DQorCXN0cnVjdCByZWdtYXAgKnJlZ21hcDsNCisJdW5zaWduZWQgaW50IGRsX3Jh dGVbTVQ2MzU5X0FJRl9OVU1dOw0KKwl1bnNpZ25lZCBpbnQgdWxfcmF0ZVtNVDYzNTlfQUlGX05V TV07DQorCWludCBhbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX1RZUEVfTUFYXTsNCisJdW5z aWduZWQgaW50IG11eF9zZWxlY3RbTVVYX05VTV07DQorCXVuc2lnbmVkIGludCBkbWljX29uZV93 aXJlX21vZGU7DQorCWludCBkZXZfY291bnRlcltERVZJQ0VfTlVNXTsNCisJaW50IGhwX2dhaW5f Y3RsOw0KKwlpbnQgaHBfaGlmaV9tb2RlOw0KKwlpbnQgbXRrYWlmX3Byb3RvY29sOw0KKwlzdHJ1 Y3QgcmVndWxhdG9yICphdmRkX3JlZzsNCit9Ow0KKw0KKyNkZWZpbmUgQ09ERUNfTVQ2MzU5X05B TUUgIm10ay1jb2RlYy1tdDYzNTkiDQorI2RlZmluZSBJU19EQ0NfQkFTRSh0eXBlKSAoKHR5cGUp ID09IE1JQ19UWVBFX01VWF9EQ0MgfHwgXA0KKwkJCSAgICh0eXBlKSA9PSBNSUNfVFlQRV9NVVhf RENDX0VDTV9ESUZGIHx8IFwNCisJCQkgICAodHlwZSkgPT0gTUlDX1RZUEVfTVVYX0RDQ19FQ01f U0lOR0xFKQ0KKw0KKyNlbmRpZi8qIGVuZCBfTVQ2MzU5X0hfICovDQotLSANCjEuOC4xLjEuZGly dHkNCg==