From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 14520C47082 for ; Tue, 8 Jun 2021 07:36:25 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D21926127A for ; Tue, 8 Jun 2021 07:36:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D21926127A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5C4546EAD5; Tue, 8 Jun 2021 07:36:24 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id D04F66EAD8 for ; Tue, 8 Jun 2021 07:36:22 +0000 (UTC) IronPort-SDR: S33H93J/g7jGJQWYGUjddkAZ7UQNTeQdO8K2YTPJAMnoCgN3SuntWhXqb6R1w+Blt6Mte4hGc4 UEvcdaCdL1ug== X-IronPort-AV: E=McAfee;i="6200,9189,10008"; a="185164239" X-IronPort-AV: E=Sophos;i="5.83,257,1616482800"; d="scan'208";a="185164239" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jun 2021 00:36:22 -0700 IronPort-SDR: cLTO0uYtOpYjS2Qca8rlPUx2IKdJInNwavcEIAdcGj67mL5vD/6vaGMLKmC9UrlvE7/lMAdomi kHS8j607G/+A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,257,1616482800"; d="scan'208";a="449422986" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.171]) by fmsmga008.fm.intel.com with SMTP; 08 Jun 2021 00:36:14 -0700 Received: by stinkbox (sSMTP sendmail emulation); Tue, 08 Jun 2021 10:36:13 +0300 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Tue, 8 Jun 2021 10:35:49 +0300 Message-Id: <20210608073603.2408-4-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210608073603.2408-1-ville.syrjala@linux.intel.com> References: <20210608073603.2408-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 03/17] drm/i915: Wrap the platform specific buf trans structs into a union X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jani Nikula Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCklu IG9yZGVyIHRvIGFic3RhY3QgdGhlIGJ1ZiB0cmFucyBzdHVmZiBsZXQncyB3cmFwIHRoZSBwbGF0 Zm9ybQpzcGVjaWZpYyBzdHJ1Y3RzIGludG8gYSB1bmlvbi4KCnYyOiBIYW5kbGUgYWRsLXAKClJl dmlld2VkLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPiAjdjEKU2lnbmVk LW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jICAgICAgfCAgIDc2 ICstCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGlfYnVmX3RyYW5zLmMgICAgfCAxMzcw ICsrKysrKysrLS0tLS0tLS0tCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGlfYnVmX3Ry YW5zLmggICAgfCAgIDMwICstCiAzIGZpbGVzIGNoYW5nZWQsIDc0MiBpbnNlcnRpb25zKCspLCA3 MzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMK aW5kZXggMzNlOTQwMzAwOTBmLi5mM2ZiYTUzNTgxMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYwpAQCAtMTAyLDcgKzEwMiw3IEBAIHZvaWQgaHN3X3ByZXBhcmVf ZHBfZGRpX2J1ZmZlcnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJdTMyIGlib29z dF9iaXQgPSAwOwogCWludCBpLCBuX2VudHJpZXM7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVy LT5wb3J0OwotCWNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9u czsKKwljb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRp b25zOwogCiAJZGRpX3RyYW5zbGF0aW9ucyA9IGhzd19nZXRfYnVmX3RyYW5zKGVuY29kZXIsIGNy dGNfc3RhdGUsICZuX2VudHJpZXMpOwogCkBAIC0xMTYsOSArMTE2LDkgQEAgdm9pZCBoc3dfcHJl cGFyZV9kcF9kZGlfYnVmZmVycyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCWZv ciAoaSA9IDA7IGkgPCBuX2VudHJpZXM7IGkrKykgewogCQlpbnRlbF9kZV93cml0ZShkZXZfcHJp diwgRERJX0JVRl9UUkFOU19MTyhwb3J0LCBpKSwKLQkJCSAgICAgICBkZGlfdHJhbnNsYXRpb25z W2ldLnRyYW5zMSB8IGlib29zdF9iaXQpOworCQkJICAgICAgIGRkaV90cmFuc2xhdGlvbnNbaV0u aHN3LnRyYW5zMSB8IGlib29zdF9iaXQpOwogCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRERJ X0JVRl9UUkFOU19ISShwb3J0LCBpKSwKLQkJCSAgICAgICBkZGlfdHJhbnNsYXRpb25zW2ldLnRy YW5zMik7CisJCQkgICAgICAgZGRpX3RyYW5zbGF0aW9uc1tpXS5oc3cudHJhbnMyKTsKIAl9CiB9 CiAKQEAgLTEzNSw3ICsxMzUsNyBAQCBzdGF0aWMgdm9pZCBoc3dfcHJlcGFyZV9oZG1pX2RkaV9i dWZmZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXUzMiBpYm9vc3RfYml0ID0g MDsKIAlpbnQgbl9lbnRyaWVzOwogCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKLQlj b25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnM7CisJY29uc3Qg dW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqZGRpX3RyYW5zbGF0aW9uczsKIAogCWRk aV90cmFuc2xhdGlvbnMgPSBoc3dfZ2V0X2J1Zl90cmFucyhlbmNvZGVyLCBjcnRjX3N0YXRlLCAg Jm5fZW50cmllcyk7CiAKQEAgLTE1MSw5ICsxNTEsOSBAQCBzdGF0aWMgdm9pZCBoc3dfcHJlcGFy ZV9oZG1pX2RkaV9idWZmZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCiAJLyog RW50cnkgOSBpcyBmb3IgSERNSTogKi8KIAlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRERJX0JV Rl9UUkFOU19MTyhwb3J0LCA5KSwKLQkJICAgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLnRy YW5zMSB8IGlib29zdF9iaXQpOworCQkgICAgICAgZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uaHN3 LnRyYW5zMSB8IGlib29zdF9iaXQpOwogCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBERElfQlVG X1RSQU5TX0hJKHBvcnQsIDkpLAotCQkgICAgICAgZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0udHJh bnMyKTsKKwkJICAgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmhzdy50cmFuczIpOwogfQog CiB2b2lkIGludGVsX3dhaXRfZGRpX2J1Zl9pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKQEAgLTk0NCw3ICs5NDQsNyBAQCBzdGF0aWMgdm9pZCBza2xfZGRpX3NldF9pYm9v c3Qoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCWlib29zdCA9IGludGVsX2Jpb3Nf ZW5jb2Rlcl9kcF9ib29zdF9sZXZlbChlbmNvZGVyLT5kZXZkYXRhKTsKIAogCWlmIChpYm9vc3Qg PT0gMCkgewotCQljb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlv bnM7CisJCWNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRkaV90cmFuc2xh dGlvbnM7CiAJCWludCBuX2VudHJpZXM7CiAKIAkJZGRpX3RyYW5zbGF0aW9ucyA9IGhzd19nZXRf YnVmX3RyYW5zKGVuY29kZXIsIGNydGNfc3RhdGUsICZuX2VudHJpZXMpOwpAQCAtOTU0LDcgKzk1 NCw3IEBAIHN0YXRpYyB2b2lkIHNrbF9kZGlfc2V0X2lib29zdChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAkJaWYgKGRybV9XQVJOX09OX09OQ0UoJmRldl9wcml2LT5kcm0sIGxldmVs ID49IG5fZW50cmllcykpCiAJCQlsZXZlbCA9IG5fZW50cmllcyAtIDE7CiAKLQkJaWJvb3N0ID0g ZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uaV9ib29zdDsKKwkJaWJvb3N0ID0gZGRpX3RyYW5zbGF0 aW9uc1tsZXZlbF0uaHN3LmlfYm9vc3Q7CiAJfQogCiAJLyogTWFrZSBzdXJlIHRoYXQgdGhlIHJl cXVlc3RlZCBJX2Jvb3N0IGlzIHZhbGlkICovCkBAIC05NzQsNyArOTc0LDcgQEAgc3RhdGljIHZv aWQgYnh0X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCQkJICAgIGludCBsZXZlbCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQljb25zdCBzdHJ1Y3QgYnh0X2RkaV9i dWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnM7CisJY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90 cmFuc19lbnRyeSAqZGRpX3RyYW5zbGF0aW9uczsKIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXIt PnBvcnQ7CiAJaW50IG5fZW50cmllczsKIApAQCAtOTg1LDEwICs5ODUsMTAgQEAgc3RhdGljIHZv aWQgYnh0X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCWxldmVsID0gbl9lbnRyaWVzIC0gMTsKIAogCWJ4dF9kZGlfcGh5X3NldF9zaWduYWxfbGV2 ZWwoZGV2X3ByaXYsIHBvcnQsCi0JCQkJICAgICBkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5tYXJn aW4sCi0JCQkJICAgICBkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5zY2FsZSwKLQkJCQkgICAgIGRk aV90cmFuc2xhdGlvbnNbbGV2ZWxdLmVuYWJsZSwKLQkJCQkgICAgIGRkaV90cmFuc2xhdGlvbnNb bGV2ZWxdLmRlZW1waGFzaXMpOworCQkJCSAgICAgZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uYnh0 Lm1hcmdpbiwKKwkJCQkgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmJ4dC5zY2FsZSwKKwkJ CQkgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmJ4dC5lbmFibGUsCisJCQkJICAgICBkZGlf dHJhbnNsYXRpb25zW2xldmVsXS5ieHQuZGVlbXBoYXNpcyk7CiB9CiAKIHN0YXRpYyB1OCBpbnRl bF9kZGlfZHBfdm9sdGFnZV9tYXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKQEAgLTEwNDks NyArMTA0OSw3IEBAIHN0YXRpYyB2b2lkIGNubF9kZGlfdnN3aW5nX3Byb2dyYW0oc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgaW50IGxldmVsKQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCWNv bnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uczsKKwljb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRpb25zOwogCWVudW0g cG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKIAlpbnQgbl9lbnRyaWVzLCBsbjsKIAl1MzIgdmFs OwpAQCAtMTA3MSw4ICsxMDcxLDggQEAgc3RhdGljIHZvaWQgY25sX2RkaV92c3dpbmdfcHJvZ3Jh bShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl2YWwgPSBpbnRlbF9kZV9yZWFkKGRl dl9wcml2LCBDTkxfUE9SVF9UWF9EVzJfTE4wKHBvcnQpKTsKIAl2YWwgJj0gfihTV0lOR19TRUxf TE9XRVJfTUFTSyB8IFNXSU5HX1NFTF9VUFBFUl9NQVNLIHwKIAkJIFJDT01QX1NDQUxBUl9NQVNL KTsKLQl2YWwgfD0gU1dJTkdfU0VMX1VQUEVSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3Ml9z d2luZ19zZWwpOwotCXZhbCB8PSBTV0lOR19TRUxfTE9XRVIoZGRpX3RyYW5zbGF0aW9uc1tsZXZl bF0uZHcyX3N3aW5nX3NlbCk7CisJdmFsIHw9IFNXSU5HX1NFTF9VUFBFUihkZGlfdHJhbnNsYXRp b25zW2xldmVsXS5jbmwuZHcyX3N3aW5nX3NlbCk7CisJdmFsIHw9IFNXSU5HX1NFTF9MT1dFUihk ZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jbmwuZHcyX3N3aW5nX3NlbCk7CiAJLyogUmNvbXAgc2Nh bGFyIGlzIGZpeGVkIGFzIDB4OTggZm9yIGV2ZXJ5IHRhYmxlIGVudHJ5ICovCiAJdmFsIHw9IFJD T01QX1NDQUxBUigweDk4KTsKIAlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgQ05MX1BPUlRfVFhf RFcyX0dSUChwb3J0KSwgdmFsKTsKQEAgLTEwODMsOSArMTA4Myw5IEBAIHN0YXRpYyB2b2lkIGNu bF9kZGlfdnN3aW5nX3Byb2dyYW0oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXZh bCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIENOTF9QT1JUX1RYX0RXNF9MTihsbiwgcG9ydCkp OwogCQl2YWwgJj0gfihQT1NUX0NVUlNPUl8xX01BU0sgfCBQT1NUX0NVUlNPUl8yX01BU0sgfAog CQkJIENVUlNPUl9DT0VGRl9NQVNLKTsKLQkJdmFsIHw9IFBPU1RfQ1VSU09SXzEoZGRpX3RyYW5z bGF0aW9uc1tsZXZlbF0uZHc0X3Bvc3RfY3Vyc29yXzEpOwotCQl2YWwgfD0gUE9TVF9DVVJTT1Jf MihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzRfcG9zdF9jdXJzb3JfMik7Ci0JCXZhbCB8PSBD VVJTT1JfQ09FRkYoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uZHc0X2N1cnNvcl9jb2VmZik7CisJ CXZhbCB8PSBQT1NUX0NVUlNPUl8xKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNubC5kdzRfcG9z dF9jdXJzb3JfMSk7CisJCXZhbCB8PSBQT1NUX0NVUlNPUl8yKGRkaV90cmFuc2xhdGlvbnNbbGV2 ZWxdLmNubC5kdzRfcG9zdF9jdXJzb3JfMik7CisJCXZhbCB8PSBDVVJTT1JfQ09FRkYoZGRpX3Ry YW5zbGF0aW9uc1tsZXZlbF0uY25sLmR3NF9jdXJzb3JfY29lZmYpOwogCQlpbnRlbF9kZV93cml0 ZShkZXZfcHJpdiwgQ05MX1BPUlRfVFhfRFc0X0xOKGxuLCBwb3J0KSwgdmFsKTsKIAl9CiAKQEAg LTExMDAsNyArMTEwMCw3IEBAIHN0YXRpYyB2b2lkIGNubF9kZGlfdnN3aW5nX3Byb2dyYW0oc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJLyogUHJvZ3JhbSBQT1JUX1RYX0RXNyAqLwog CXZhbCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIENOTF9QT1JUX1RYX0RXN19MTjAocG9ydCkp OwogCXZhbCAmPSB+Tl9TQ0FMQVJfTUFTSzsKLQl2YWwgfD0gTl9TQ0FMQVIoZGRpX3RyYW5zbGF0 aW9uc1tsZXZlbF0uZHc3X25fc2NhbGFyKTsKKwl2YWwgfD0gTl9TQ0FMQVIoZGRpX3RyYW5zbGF0 aW9uc1tsZXZlbF0uY25sLmR3N19uX3NjYWxhcik7CiAJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYs IENOTF9QT1JUX1RYX0RXN19HUlAocG9ydCksIHZhbCk7CiB9CiAKQEAgLTExNzAsNyArMTE3MCw3 IEBAIHN0YXRpYyB2b2lkIGljbF9kZGlfY29tYm9fdnN3aW5nX3Byb2dyYW0oc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJCQkJCSBpbnQgbGV2ZWwpCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0JY29uc3Qg c3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNsYXRpb25zOworCWNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRkaV90cmFuc2xhdGlvbnM7CiAJZW51bSBwaHkg cGh5ID0gaW50ZWxfcG9ydF90b19waHkoZGV2X3ByaXYsIGVuY29kZXItPnBvcnQpOwogCWludCBu X2VudHJpZXMsIGxuOwogCXUzMiB2YWw7CkBAIC0xMjExLDggKzEyMTEsOCBAQCBzdGF0aWMgdm9p ZCBpY2xfZGRpX2NvbWJvX3Zzd2luZ19wcm9ncmFtKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCXZhbCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIElDTF9QT1JUX1RYX0RXMl9MTjAo cGh5KSk7CiAJdmFsICY9IH4oU1dJTkdfU0VMX0xPV0VSX01BU0sgfCBTV0lOR19TRUxfVVBQRVJf TUFTSyB8CiAJCSBSQ09NUF9TQ0FMQVJfTUFTSyk7Ci0JdmFsIHw9IFNXSU5HX1NFTF9VUFBFUihk ZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzJfc3dpbmdfc2VsKTsKLQl2YWwgfD0gU1dJTkdfU0VM X0xPV0VSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3Ml9zd2luZ19zZWwpOworCXZhbCB8PSBT V0lOR19TRUxfVVBQRVIoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY25sLmR3Ml9zd2luZ19zZWwp OworCXZhbCB8PSBTV0lOR19TRUxfTE9XRVIoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY25sLmR3 Ml9zd2luZ19zZWwpOwogCS8qIFByb2dyYW0gUmNvbXAgc2NhbGFyIGZvciBldmVyeSB0YWJsZSBl bnRyeSAqLwogCXZhbCB8PSBSQ09NUF9TQ0FMQVIoMHg5OCk7CiAJaW50ZWxfZGVfd3JpdGUoZGV2 X3ByaXYsIElDTF9QT1JUX1RYX0RXMl9HUlAocGh5KSwgdmFsKTsKQEAgLTEyMjMsMTYgKzEyMjMs MTYgQEAgc3RhdGljIHZvaWQgaWNsX2RkaV9jb21ib192c3dpbmdfcHJvZ3JhbShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJdmFsID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgSUNM X1BPUlRfVFhfRFc0X0xOKGxuLCBwaHkpKTsKIAkJdmFsICY9IH4oUE9TVF9DVVJTT1JfMV9NQVNL IHwgUE9TVF9DVVJTT1JfMl9NQVNLIHwKIAkJCSBDVVJTT1JfQ09FRkZfTUFTSyk7Ci0JCXZhbCB8 PSBQT1NUX0NVUlNPUl8xKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3NF9wb3N0X2N1cnNvcl8x KTsKLQkJdmFsIHw9IFBPU1RfQ1VSU09SXzIoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uZHc0X3Bv c3RfY3Vyc29yXzIpOwotCQl2YWwgfD0gQ1VSU09SX0NPRUZGKGRkaV90cmFuc2xhdGlvbnNbbGV2 ZWxdLmR3NF9jdXJzb3JfY29lZmYpOworCQl2YWwgfD0gUE9TVF9DVVJTT1JfMShkZGlfdHJhbnNs YXRpb25zW2xldmVsXS5jbmwuZHc0X3Bvc3RfY3Vyc29yXzEpOworCQl2YWwgfD0gUE9TVF9DVVJT T1JfMihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jbmwuZHc0X3Bvc3RfY3Vyc29yXzIpOworCQl2 YWwgfD0gQ1VSU09SX0NPRUZGKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNubC5kdzRfY3Vyc29y X2NvZWZmKTsKIAkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIElDTF9QT1JUX1RYX0RXNF9MTihs biwgcGh5KSwgdmFsKTsKIAl9CiAKIAkvKiBQcm9ncmFtIFBPUlRfVFhfRFc3ICovCiAJdmFsID0g aW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgSUNMX1BPUlRfVFhfRFc3X0xOMChwaHkpKTsKIAl2YWwg Jj0gfk5fU0NBTEFSX01BU0s7Ci0JdmFsIHw9IE5fU0NBTEFSKGRkaV90cmFuc2xhdGlvbnNbbGV2 ZWxdLmR3N19uX3NjYWxhcik7CisJdmFsIHw9IE5fU0NBTEFSKGRkaV90cmFuc2xhdGlvbnNbbGV2 ZWxdLmNubC5kdzdfbl9zY2FsYXIpOwogCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBJQ0xfUE9S VF9UWF9EVzdfR1JQKHBoeSksIHZhbCk7CiB9CiAKQEAgLTEzMDMsNyArMTMwMyw3IEBAIHN0YXRp YyB2b2lkIGljbF9tZ19waHlfZGRpX3Zzd2luZ19zZXF1ZW5jZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3Bv cnRfdG9fdGMoZGV2X3ByaXYsIGVuY29kZXItPnBvcnQpOwotCWNvbnN0IHN0cnVjdCBpY2xfbWdf cGh5X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnM7CisJY29uc3QgdW5pb24gaW50ZWxf ZGRpX2J1Zl90cmFuc19lbnRyeSAqZGRpX3RyYW5zbGF0aW9uczsKIAlpbnQgbl9lbnRyaWVzLCBs bjsKIAl1MzIgdmFsOwogCkBAIC0xMzMzLDEzICsxMzMzLDEzIEBAIHN0YXRpYyB2b2lkIGljbF9t Z19waHlfZGRpX3Zzd2luZ19zZXF1ZW5jZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJdmFsID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgTUdfVFgxX1NXSU5HQ1RSTChsbiwgdGNf cG9ydCkpOwogCQl2YWwgJj0gfkNSSV9UWERFRU1QSF9PVkVSUklERV8xN18xMl9NQVNLOwogCQl2 YWwgfD0gQ1JJX1RYREVFTVBIX09WRVJSSURFXzE3XzEyKAotCQkJZGRpX3RyYW5zbGF0aW9uc1ts ZXZlbF0uY3JpX3R4ZGVlbXBoX292ZXJyaWRlXzE3XzEyKTsKKwkJCWRkaV90cmFuc2xhdGlvbnNb bGV2ZWxdLm1nLmNyaV90eGRlZW1waF9vdmVycmlkZV8xN18xMik7CiAJCWludGVsX2RlX3dyaXRl KGRldl9wcml2LCBNR19UWDFfU1dJTkdDVFJMKGxuLCB0Y19wb3J0KSwgdmFsKTsKIAogCQl2YWwg PSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBNR19UWDJfU1dJTkdDVFJMKGxuLCB0Y19wb3J0KSk7 CiAJCXZhbCAmPSB+Q1JJX1RYREVFTVBIX09WRVJSSURFXzE3XzEyX01BU0s7CiAJCXZhbCB8PSBD UklfVFhERUVNUEhfT1ZFUlJJREVfMTdfMTIoCi0JCQlkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5j cmlfdHhkZWVtcGhfb3ZlcnJpZGVfMTdfMTIpOworCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0u bWcuY3JpX3R4ZGVlbXBoX292ZXJyaWRlXzE3XzEyKTsKIAkJaW50ZWxfZGVfd3JpdGUoZGV2X3By aXYsIE1HX1RYMl9TV0lOR0NUUkwobG4sIHRjX3BvcnQpLCB2YWwpOwogCX0KIApAQCAtMTM0OSw5 ICsxMzQ5LDkgQEAgc3RhdGljIHZvaWQgaWNsX21nX3BoeV9kZGlfdnN3aW5nX3NlcXVlbmNlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQl2YWwgJj0gfihDUklfVFhERUVNUEhfT1ZF UlJJREVfMTFfNl9NQVNLIHwKIAkJCSBDUklfVFhERUVNUEhfT1ZFUlJJREVfNV8wX01BU0spOwog CQl2YWwgfD0gQ1JJX1RYREVFTVBIX09WRVJSSURFXzVfMCgKLQkJCWRkaV90cmFuc2xhdGlvbnNb bGV2ZWxdLmNyaV90eGRlZW1waF9vdmVycmlkZV81XzApIHwKKwkJCWRkaV90cmFuc2xhdGlvbnNb bGV2ZWxdLm1nLmNyaV90eGRlZW1waF9vdmVycmlkZV81XzApIHwKIAkJCUNSSV9UWERFRU1QSF9P VkVSUklERV8xMV82KAotCQkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNyaV90eGRlZW1waF9v dmVycmlkZV8xMV82KSB8CisJCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0ubWcuY3JpX3R4ZGVl bXBoX292ZXJyaWRlXzExXzYpIHwKIAkJCUNSSV9UWERFRU1QSF9PVkVSUklERV9FTjsKIAkJaW50 ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIE1HX1RYMV9EUlZDVFJMKGxuLCB0Y19wb3J0KSwgdmFsKTsK IApAQCAtMTM1OSw5ICsxMzU5LDkgQEAgc3RhdGljIHZvaWQgaWNsX21nX3BoeV9kZGlfdnN3aW5n X3NlcXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQl2YWwgJj0gfihDUklf VFhERUVNUEhfT1ZFUlJJREVfMTFfNl9NQVNLIHwKIAkJCSBDUklfVFhERUVNUEhfT1ZFUlJJREVf NV8wX01BU0spOwogCQl2YWwgfD0gQ1JJX1RYREVFTVBIX09WRVJSSURFXzVfMCgKLQkJCWRkaV90 cmFuc2xhdGlvbnNbbGV2ZWxdLmNyaV90eGRlZW1waF9vdmVycmlkZV81XzApIHwKKwkJCWRkaV90 cmFuc2xhdGlvbnNbbGV2ZWxdLm1nLmNyaV90eGRlZW1waF9vdmVycmlkZV81XzApIHwKIAkJCUNS SV9UWERFRU1QSF9PVkVSUklERV8xMV82KAotCQkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNy aV90eGRlZW1waF9vdmVycmlkZV8xMV82KSB8CisJCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0u bWcuY3JpX3R4ZGVlbXBoX292ZXJyaWRlXzExXzYpIHwKIAkJCUNSSV9UWERFRU1QSF9PVkVSUklE RV9FTjsKIAkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIE1HX1RYMl9EUlZDVFJMKGxuLCB0Y19w b3J0KSwgdmFsKTsKIApAQCAtMTQ0MSw3ICsxNDQxLDcgQEAgdGdsX2RrbF9waHlfZGRpX3Zzd2lu Z19zZXF1ZW5jZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAll bnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIGVuY29kZXIt PnBvcnQpOwotCWNvbnN0IHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlfYnVmX3RyYW5zICpkZGlfdHJh bnNsYXRpb25zOworCWNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRkaV90 cmFuc2xhdGlvbnM7CiAJdTMyIHZhbCwgZHBjbnRfbWFzaywgZHBjbnRfdmFsOwogCWludCBuX2Vu dHJpZXMsIGxuOwogCkBAIC0xNDYxLDkgKzE0NjEsOSBAQCB0Z2xfZGtsX3BoeV9kZGlfdnN3aW5n X3NlcXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWRwY250X21hc2sgPSAo REtMX1RYX1BSRVNIT09UX0NPRUZGX01BU0sgfAogCQkgICAgICBES0xfVFhfREVfRU1QQUhTSVNf Q09FRkZfTUFTSyB8CiAJCSAgICAgIERLTF9UWF9WU1dJTkdfQ09OVFJPTF9NQVNLKTsKLQlkcGNu dF92YWwgPSBES0xfVFhfVlNXSU5HX0NPTlRST0woZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uZGts X3Zzd2luZ19jb250cm9sKTsKLQlkcGNudF92YWwgfD0gREtMX1RYX0RFX0VNUEhBU0lTX0NPRUZG KGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmRrbF9kZV9lbXBoYXNpc19jb250cm9sKTsKLQlkcGNu dF92YWwgfD0gREtMX1RYX1BSRVNIT09UX0NPRUZGKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmRr bF9wcmVzaG9vdF9jb250cm9sKTsKKwlkcGNudF92YWwgPSBES0xfVFhfVlNXSU5HX0NPTlRST0wo ZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uZGtsLmRrbF92c3dpbmdfY29udHJvbCk7CisJZHBjbnRf dmFsIHw9IERLTF9UWF9ERV9FTVBIQVNJU19DT0VGRihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5k a2wuZGtsX2RlX2VtcGhhc2lzX2NvbnRyb2wpOworCWRwY250X3ZhbCB8PSBES0xfVFhfUFJFU0hP T1RfQ09FRkYoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uZGtsLmRrbF9wcmVzaG9vdF9jb250cm9s KTsKIAogCWZvciAobG4gPSAwOyBsbiA8IDI7IGxuKyspIHsKIAkJaW50ZWxfZGVfd3JpdGUoZGV2 X3ByaXYsIEhJUF9JTkRFWF9SRUcodGNfcG9ydCksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJhbnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5jCmluZGV4IGY3YjcxNzgzNjNlOC4uM2Yz ODI2N2I3ZGQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RkaV9idWZfdHJhbnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RkaV9idWZfdHJhbnMuYwpAQCAtMTMsNzYxICsxMyw3NjEgQEAKICAqIHRoZW0gZm9yIGJvdGgg RFAgYW5kIEZESSB0cmFuc3BvcnRzLCBhbGxvd2luZyB0aG9zZSBwb3J0cyB0bwogICogYXV0b21h dGljYWxseSBhZGFwdCB0byBIRE1JIGNvbm5lY3Rpb25zIGFzIHdlbGwKICAqLwotc3RhdGljIGNv bnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBoc3dfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0g ewotCXsgMHgwMEZGRkZGRiwgMHgwMDA2MDAwRSwgMHgwIH0sCi0JeyAweDAwRDc1RkZGLCAweDAw MDUwMDBBLCAweDAgfSwKLQl7IDB4MDBDMzBGRkYsIDB4MDAwNDAwMDYsIDB4MCB9LAotCXsgMHg4 MEFBQUZGRiwgMHgwMDBCMDAwMCwgMHgwIH0sCi0JeyAweDAwRkZGRkZGLCAweDAwMDUwMDBBLCAw eDAgfSwKLQl7IDB4MDBENzVGRkYsIDB4MDAwQzAwMDQsIDB4MCB9LAotCXsgMHg4MEMzMEZGRiwg MHgwMDBCMDAwMCwgMHgwIH0sCi0JeyAweDAwRkZGRkZGLCAweDAwMDQwMDA2LCAweDAgfSwKLQl7 IDB4ODBENzVGRkYsIDB4MDAwQjAwMDAsIDB4MCB9LAorc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgaHN3X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKKwl7IC5o c3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwNjAwMEUsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAw RDc1RkZGLCAweDAwMDUwMDBBLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEMzMEZGRiwgMHgw MDA0MDAwNiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODBBQUFGRkYsIDB4MDAwQjAwMDAsIDB4 MCB9IH0sCisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDUwMDBBLCAweDAgfSB9LAorCXsg LmhzdyA9IHsgMHgwMEQ3NUZGRiwgMHgwMDBDMDAwNCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4 ODBDMzBGRkYsIDB4MDAwQjAwMDAsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAw eDAwMDQwMDA2LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4MEQ3NUZGRiwgMHgwMDBCMDAwMCwg MHgwIH0gfSwKIH07CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgaHN3 X2RkaV90cmFuc2xhdGlvbnNfZmRpW10gPSB7Ci0JeyAweDAwRkZGRkZGLCAweDAwMDcwMDBFLCAw eDAgfSwKLQl7IDB4MDBENzVGRkYsIDB4MDAwRjAwMEEsIDB4MCB9LAotCXsgMHgwMEMzMEZGRiwg MHgwMDA2MDAwNiwgMHgwIH0sCi0JeyAweDAwQUFBRkZGLCAweDAwMUUwMDAwLCAweDAgfSwKLQl7 IDB4MDBGRkZGRkYsIDB4MDAwRjAwMEEsIDB4MCB9LAotCXsgMHgwMEQ3NUZGRiwgMHgwMDE2MDAw NCwgMHgwIH0sCi0JeyAweDAwQzMwRkZGLCAweDAwMUUwMDAwLCAweDAgfSwKLQl7IDB4MDBGRkZG RkYsIDB4MDAwNjAwMDYsIDB4MCB9LAotCXsgMHgwMEQ3NUZGRiwgMHgwMDFFMDAwMCwgMHgwIH0s CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBoc3dfZGRpX3Ry YW5zbGF0aW9uc19mZGlbXSA9IHsKKwl7IC5oc3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwNzAwMEUs IDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMEYwMDBBLCAweDAgfSB9LAor CXsgLmhzdyA9IHsgMHgwMEMzMEZGRiwgMHgwMDA2MDAwNiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7 IDB4MDBBQUFGRkYsIDB4MDAxRTAwMDAsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwRkZGRkZG LCAweDAwMEYwMDBBLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEQ3NUZGRiwgMHgwMDE2MDAw NCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBDMzBGRkYsIDB4MDAxRTAwMDAsIDB4MCB9IH0s CisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDYwMDA2LCAweDAgfSB9LAorCXsgLmhzdyA9 IHsgMHgwMEQ3NUZGRiwgMHgwMDFFMDAwMCwgMHgwIH0gfSwKIH07CiAKLXN0YXRpYyBjb25zdCBz dHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgaHN3X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewot CQkJCQkvKiBJZHgJTlQgbVYgZAlUIG1WIGQJZGIJKi8KLQl7IDB4MDBGRkZGRkYsIDB4MDAwNjAw MEUsIDB4MCB9LC8qIDA6CTQwMAk0MDAJMAkqLwotCXsgMHgwMEU3OUZGRiwgMHgwMDBFMDAwQywg MHgwIH0sLyogMToJNDAwCTUwMAkyCSovCi0JeyAweDAwRDc1RkZGLCAweDAwMDUwMDBBLCAweDAg fSwvKiAyOgk0MDAJNjAwCTMuNQkqLwotCXsgMHgwMEZGRkZGRiwgMHgwMDA1MDAwQSwgMHgwIH0s LyogMzoJNjAwCTYwMAkwCSovCi0JeyAweDAwRTc5RkZGLCAweDAwMUQwMDA3LCAweDAgfSwvKiA0 Ogk2MDAJNzUwCTIJKi8KLQl7IDB4MDBENzVGRkYsIDB4MDAwQzAwMDQsIDB4MCB9LC8qIDU6CTYw MAk5MDAJMy41CSovCi0JeyAweDAwRkZGRkZGLCAweDAwMDQwMDA2LCAweDAgfSwvKiA2Ogk4MDAJ ODAwCTAJKi8KLQl7IDB4ODBFNzlGRkYsIDB4MDAwMzAwMDIsIDB4MCB9LC8qIDc6CTgwMAkxMDAw CTIJKi8KLQl7IDB4MDBGRkZGRkYsIDB4MDAxNDAwMDUsIDB4MCB9LC8qIDg6CTg1MAk4NTAJMAkq LwotCXsgMHgwMEZGRkZGRiwgMHgwMDBDMDAwNCwgMHgwIH0sLyogOToJOTAwCTkwMAkwCSovCi0J eyAweDAwRkZGRkZGLCAweDAwMUMwMDAzLCAweDAgfSwvKiAxMDoJOTUwCTk1MAkwCSovCi0JeyAw eDgwRkZGRkZGLCAweDAwMDMwMDAyLCAweDAgfSwvKiAxMToJMTAwMAkxMDAwCTAJKi8KK3N0YXRp YyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGhzd19kZGlfdHJhbnNsYXRp b25zX2hkbWlbXSA9IHsKKwkJCQkJCQkvKiBJZHgJTlQgbVYgZAlUIG1WIGQJZGIJKi8KKwl7IC5o c3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwNjAwMEUsIDB4MCB9IH0sCS8qIDA6CTQwMAk0MDAJMAkq LworCXsgLmhzdyA9IHsgMHgwMEU3OUZGRiwgMHgwMDBFMDAwQywgMHgwIH0gfSwJLyogMToJNDAw CTUwMAkyCSovCisJeyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMDUwMDBBLCAweDAgfSB9LAkv KiAyOgk0MDAJNjAwCTMuNQkqLworCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA1MDAwQSwg MHgwIH0gfSwJLyogMzoJNjAwCTYwMAkwCSovCisJeyAuaHN3ID0geyAweDAwRTc5RkZGLCAweDAw MUQwMDA3LCAweDAgfSB9LAkvKiA0Ogk2MDAJNzUwCTIJKi8KKwl7IC5oc3cgPSB7IDB4MDBENzVG RkYsIDB4MDAwQzAwMDQsIDB4MCB9IH0sCS8qIDU6CTYwMAk5MDAJMy41CSovCisJeyAuaHN3ID0g eyAweDAwRkZGRkZGLCAweDAwMDQwMDA2LCAweDAgfSB9LAkvKiA2Ogk4MDAJODAwCTAJKi8KKwl7 IC5oc3cgPSB7IDB4ODBFNzlGRkYsIDB4MDAwMzAwMDIsIDB4MCB9IH0sCS8qIDc6CTgwMAkxMDAw CTIJKi8KKwl7IC5oc3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAxNDAwMDUsIDB4MCB9IH0sCS8qIDg6 CTg1MAk4NTAJMAkqLworCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDBDMDAwNCwgMHgwIH0g fSwJLyogOToJOTAwCTkwMAkwCSovCisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMUMwMDAz LCAweDAgfSB9LAkvKiAxMDoJOTUwCTk1MAkwCSovCisJeyAuaHN3ID0geyAweDgwRkZGRkZGLCAw eDAwMDMwMDAyLCAweDAgfSB9LAkvKiAxMToJMTAwMAkxMDAwCTAJKi8KIH07CiAKLXN0YXRpYyBj b25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgYmR3X2RkaV90cmFuc2xhdGlvbnNfZWRwW10g PSB7Ci0JeyAweDAwRkZGRkZGLCAweDAwMDAwMDEyLCAweDAgfSwKLQl7IDB4MDBFQkFGRkYsIDB4 MDAwMjAwMTEsIDB4MCB9LAotCXsgMHgwMEM3MUZGRiwgMHgwMDA2MDAwRiwgMHgwIH0sCi0JeyAw eDAwQUFBRkZGLCAweDAwMEUwMDBBLCAweDAgfSwKLQl7IDB4MDBGRkZGRkYsIDB4MDAwMjAwMTEs IDB4MCB9LAotCXsgMHgwMERCNkZGRiwgMHgwMDA1MDAwRiwgMHgwIH0sCi0JeyAweDAwQkVFRkZG LCAweDAwMEEwMDBDLCAweDAgfSwKLQl7IDB4MDBGRkZGRkYsIDB4MDAwNTAwMEYsIDB4MCB9LAot CXsgMHgwMERCNkZGRiwgMHgwMDBBMDAwQywgMHgwIH0sCitzdGF0aWMgY29uc3QgdW5pb24gaW50 ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBiZHdfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKKwl7 IC5oc3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwMDAwMTIsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAw eDAwRUJBRkZGLCAweDAwMDIwMDExLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEM3MUZGRiwg MHgwMDA2MDAwRiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBBQUFGRkYsIDB4MDAwRTAwMEEs IDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDIwMDExLCAweDAgfSB9LAor CXsgLmhzdyA9IHsgMHgwMERCNkZGRiwgMHgwMDA1MDAwRiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7 IDB4MDBCRUVGRkYsIDB4MDAwQTAwMEMsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwRkZGRkZG LCAweDAwMDUwMDBGLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMERCNkZGRiwgMHgwMDBBMDAw QywgMHgwIH0gfSwKIH07CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMg YmR3X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKLQl7IDB4MDBGRkZGRkYsIDB4MDAwNzAwMEUs IDB4MCB9LAotCXsgMHgwMEQ3NUZGRiwgMHgwMDBFMDAwQSwgMHgwIH0sCi0JeyAweDAwQkVGRkZG LCAweDAwMTQwMDA2LCAweDAgfSwKLQl7IDB4ODBCMkNGRkYsIDB4MDAxQjAwMDIsIDB4MCB9LAot CXsgMHgwMEZGRkZGRiwgMHgwMDBFMDAwQSwgMHgwIH0sCi0JeyAweDAwREI2RkZGLCAweDAwMTYw MDA1LCAweDAgfSwKLQl7IDB4ODBDNzFGRkYsIDB4MDAxQTAwMDIsIDB4MCB9LAotCXsgMHgwMEY3 REZGRiwgMHgwMDE4MDAwNCwgMHgwIH0sCi0JeyAweDgwRDc1RkZGLCAweDAwMUIwMDAyLCAweDAg fSwKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGJkd19kZGlf dHJhbnNsYXRpb25zX2RwW10gPSB7CisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDcwMDBF LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEQ3NUZGRiwgMHgwMDBFMDAwQSwgMHgwIH0gfSwK Kwl7IC5oc3cgPSB7IDB4MDBCRUZGRkYsIDB4MDAxNDAwMDYsIDB4MCB9IH0sCisJeyAuaHN3ID0g eyAweDgwQjJDRkZGLCAweDAwMUIwMDAyLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEZGRkZG RiwgMHgwMDBFMDAwQSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBEQjZGRkYsIDB4MDAxNjAw MDUsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwQzcxRkZGLCAweDAwMUEwMDAyLCAweDAgfSB9 LAorCXsgLmhzdyA9IHsgMHgwMEY3REZGRiwgMHgwMDE4MDAwNCwgMHgwIH0gfSwKKwl7IC5oc3cg PSB7IDB4ODBENzVGRkYsIDB4MDAxQjAwMDIsIDB4MCB9IH0sCiB9OwogCi1zdGF0aWMgY29uc3Qg c3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIGJkd19kZGlfdHJhbnNsYXRpb25zX2ZkaVtdID0gewot CXsgMHgwMEZGRkZGRiwgMHgwMDAxMDAwRSwgMHgwIH0sCi0JeyAweDAwRDc1RkZGLCAweDAwMDQw MDBBLCAweDAgfSwKLQl7IDB4MDBDMzBGRkYsIDB4MDAwNzAwMDYsIDB4MCB9LAotCXsgMHgwMEFB QUZGRiwgMHgwMDBDMDAwMCwgMHgwIH0sCi0JeyAweDAwRkZGRkZGLCAweDAwMDQwMDBBLCAweDAg fSwKLQl7IDB4MDBENzVGRkYsIDB4MDAwOTAwMDQsIDB4MCB9LAotCXsgMHgwMEMzMEZGRiwgMHgw MDBDMDAwMCwgMHgwIH0sCi0JeyAweDAwRkZGRkZGLCAweDAwMDcwMDA2LCAweDAgfSwKLQl7IDB4 MDBENzVGRkYsIDB4MDAwQzAwMDAsIDB4MCB9LAorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2Rk aV9idWZfdHJhbnNfZW50cnkgYmR3X2RkaV90cmFuc2xhdGlvbnNfZmRpW10gPSB7CisJeyAuaHN3 ID0geyAweDAwRkZGRkZGLCAweDAwMDEwMDBFLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEQ3 NUZGRiwgMHgwMDA0MDAwQSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBDMzBGRkYsIDB4MDAw NzAwMDYsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwQUFBRkZGLCAweDAwMEMwMDAwLCAweDAg fSB9LAorCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA0MDAwQSwgMHgwIH0gfSwKKwl7IC5o c3cgPSB7IDB4MDBENzVGRkYsIDB4MDAwOTAwMDQsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAw QzMwRkZGLCAweDAwMEMwMDAwLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgw MDA3MDAwNiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBENzVGRkYsIDB4MDAwQzAwMDAsIDB4 MCB9IH0sCiB9OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIGJkd19k ZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKLQkJCQkJLyogSWR4CU5UIG1WIGQJVCBtViBkZglk YgkqLwotCXsgMHgwMEZGRkZGRiwgMHgwMDA3MDAwRSwgMHgwIH0sLyogMDoJNDAwCTQwMAkwCSov Ci0JeyAweDAwRDc1RkZGLCAweDAwMEUwMDBBLCAweDAgfSwvKiAxOgk0MDAJNjAwCTMuNQkqLwot CXsgMHgwMEJFRkZGRiwgMHgwMDE0MDAwNiwgMHgwIH0sLyogMjoJNDAwCTgwMAk2CSovCi0JeyAw eDAwRkZGRkZGLCAweDAwMDkwMDBELCAweDAgfSwvKiAzOgk0NTAJNDUwCTAJKi8KLQl7IDB4MDBG RkZGRkYsIDB4MDAwRTAwMEEsIDB4MCB9LC8qIDQ6CTYwMAk2MDAJMAkqLwotCXsgMHgwMEQ3RkZG RiwgMHgwMDE0MDAwNiwgMHgwIH0sLyogNToJNjAwCTgwMAkyLjUJKi8KLQl7IDB4ODBDQjJGRkYs IDB4MDAxQjAwMDIsIDB4MCB9LC8qIDY6CTYwMAkxMDAwCTQuNQkqLwotCXsgMHgwMEZGRkZGRiwg MHgwMDE0MDAwNiwgMHgwIH0sLyogNzoJODAwCTgwMAkwCSovCi0JeyAweDgwRTc5RkZGLCAweDAw MUIwMDAyLCAweDAgfSwvKiA4Ogk4MDAJMTAwMAkyCSovCi0JeyAweDgwRkZGRkZGLCAweDAwMUIw MDAyLCAweDAgfSwvKiA5OgkxMDAwCTEwMDAJMAkqLworc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgYmR3X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0geworCQkJ CQkJCS8qIElkeAlOVCBtViBkCVQgbVYgZGYJZGIJKi8KKwl7IC5oc3cgPSB7IDB4MDBGRkZGRkYs IDB4MDAwNzAwMEUsIDB4MCB9IH0sCS8qIDA6CTQwMAk0MDAJMAkqLworCXsgLmhzdyA9IHsgMHgw MEQ3NUZGRiwgMHgwMDBFMDAwQSwgMHgwIH0gfSwJLyogMToJNDAwCTYwMAkzLjUJKi8KKwl7IC5o c3cgPSB7IDB4MDBCRUZGRkYsIDB4MDAxNDAwMDYsIDB4MCB9IH0sCS8qIDI6CTQwMAk4MDAJNgkq LworCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA5MDAwRCwgMHgwIH0gfSwJLyogMzoJNDUw CTQ1MAkwCSovCisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMEUwMDBBLCAweDAgfSB9LAkv KiA0Ogk2MDAJNjAwCTAJKi8KKwl7IC5oc3cgPSB7IDB4MDBEN0ZGRkYsIDB4MDAxNDAwMDYsIDB4 MCB9IH0sCS8qIDU6CTYwMAk4MDAJMi41CSovCisJeyAuaHN3ID0geyAweDgwQ0IyRkZGLCAweDAw MUIwMDAyLCAweDAgfSB9LAkvKiA2Ogk2MDAJMTAwMAk0LjUJKi8KKwl7IC5oc3cgPSB7IDB4MDBG RkZGRkYsIDB4MDAxNDAwMDYsIDB4MCB9IH0sCS8qIDc6CTgwMAk4MDAJMAkqLworCXsgLmhzdyA9 IHsgMHg4MEU3OUZGRiwgMHgwMDFCMDAwMiwgMHgwIH0gfSwJLyogODoJODAwCTEwMDAJMgkqLwor CXsgLmhzdyA9IHsgMHg4MEZGRkZGRiwgMHgwMDFCMDAwMiwgMHgwIH0gfSwJLyogOToJMTAwMAkx MDAwCTAJKi8KIH07CiAKIC8qIFNreWxha2UgSCBhbmQgUyAqLwotc3RhdGljIGNvbnN0IHN0cnVj dCBoc3dfZGRpX2J1Zl90cmFucyBza2xfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0gewotCXsgMHgw MDAwMjAxNiwgMHgwMDAwMDBBMCwgMHgwIH0sCi0JeyAweDAwMDA1MDEyLCAweDAwMDAwMDlCLCAw eDAgfSwKLQl7IDB4MDAwMDcwMTEsIDB4MDAwMDAwODgsIDB4MCB9LAotCXsgMHg4MDAwOTAxMCwg MHgwMDAwMDBDMCwgMHgxIH0sCi0JeyAweDAwMDAyMDE2LCAweDAwMDAwMDlCLCAweDAgfSwKLQl7 IDB4MDAwMDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9LAotCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBD MCwgMHgxIH0sCi0JeyAweDAwMDAyMDE2LCAweDAwMDAwMERGLCAweDAgfSwKLQl7IDB4ODAwMDUw MTIsIDB4MDAwMDAwQzAsIDB4MSB9LAorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZf dHJhbnNfZW50cnkgc2tsX2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKKwl7IC5oc3cgPSB7IDB4 MDAwMDIwMTYsIDB4MDAwMDAwQTAsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA1MDEyLCAw eDAwMDAwMDlCLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNzAxMSwgMHgwMDAwMDA4OCwg MHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDkwMTAsIDB4MDAwMDAwQzAsIDB4MSB9IH0sCisJ eyAuaHN3ID0geyAweDAwMDAyMDE2LCAweDAwMDAwMDlCLCAweDAgfSB9LAorCXsgLmhzdyA9IHsg MHgwMDAwNTAxMiwgMHgwMDAwMDA4OCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDcwMTEs IDB4MDAwMDAwQzAsIDB4MSB9IH0sCisJeyAuaHN3ID0geyAweDAwMDAyMDE2LCAweDAwMDAwMERG LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgxIH0gfSwK IH07CiAKIC8qIFNreWxha2UgVSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90 cmFucyBza2xfdV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7Ci0JeyAweDAwMDAyMDFCLCAweDAw MDAwMEEyLCAweDAgfSwKLQl7IDB4MDAwMDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9LAotCXsgMHg4 MDAwNzAxMSwgMHgwMDAwMDBDRCwgMHgxIH0sCi0JeyAweDgwMDA5MDEwLCAweDAwMDAwMEMwLCAw eDEgfSwKLQl7IDB4MDAwMDIwMUIsIDB4MDAwMDAwOUQsIDB4MCB9LAotCXsgMHg4MDAwNTAxMiwg MHgwMDAwMDBDMCwgMHgxIH0sCi0JeyAweDgwMDA3MDExLCAweDAwMDAwMEMwLCAweDEgfSwKLQl7 IDB4MDAwMDIwMTYsIDB4MDAwMDAwODgsIDB4MCB9LAotCXsgMHg4MDAwNTAxMiwgMHgwMDAwMDBD MCwgMHgxIH0sCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBz a2xfdV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CisJeyAuaHN3ID0geyAweDAwMDAyMDFCLCAw eDAwMDAwMEEyLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNTAxMiwgMHgwMDAwMDA4OCwg MHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDcwMTEsIDB4MDAwMDAwQ0QsIDB4MSB9IH0sCisJ eyAuaHN3ID0geyAweDgwMDA5MDEwLCAweDAwMDAwMEMwLCAweDEgfSB9LAorCXsgLmhzdyA9IHsg MHgwMDAwMjAxQiwgMHgwMDAwMDA5RCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDUwMTIs IDB4MDAwMDAwQzAsIDB4MSB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA3MDExLCAweDAwMDAwMEMw LCAweDEgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMjAxNiwgMHgwMDAwMDA4OCwgMHgwIH0gfSwK Kwl7IC5oc3cgPSB7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MSB9IH0sCiB9OwogCiAvKiBT a3lsYWtlIFkgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgc2tsX3lf ZGRpX3RyYW5zbGF0aW9uc19kcFtdID0gewotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBMiwgMHgw IH0sCi0JeyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAgfSwKLQl7IDB4ODAwMDcwMTEsIDB4 MDAwMDAwQ0QsIDB4MyB9LAotCXsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgzIH0sCi0JeyAw eDAwMDAwMDE4LCAweDAwMDAwMDlELCAweDAgfSwKLQl7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAs IDB4MyB9LAotCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgzIH0sCi0JeyAweDAwMDAwMDE4 LCAweDAwMDAwMDg4LCAweDAgfSwKLQl7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9LAor c3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX3lfZGRpX3Ry YW5zbGF0aW9uc19kcFtdID0geworCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBMiwg MHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9IH0sCisJ eyAuaHN3ID0geyAweDgwMDA3MDExLCAweDAwMDAwMENELCAweDMgfSB9LAorCXsgLmhzdyA9IHsg MHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgs IDB4MDAwMDAwOUQsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA1MDEyLCAweDAwMDAwMEMw LCAweDMgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgzIH0gfSwK Kwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwODgsIDB4MCB9IH0sCisJeyAuaHN3ID0g eyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDMgfSB9LAogfTsKIAogLyogS2FieWxha2UgSCBh bmQgUyAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBrYmxfZGRpX3Ry YW5zbGF0aW9uc19kcFtdID0gewotCXsgMHgwMDAwMjAxNiwgMHgwMDAwMDBBMCwgMHgwIH0sCi0J eyAweDAwMDA1MDEyLCAweDAwMDAwMDlCLCAweDAgfSwKLQl7IDB4MDAwMDcwMTEsIDB4MDAwMDAw ODgsIDB4MCB9LAotCXsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgxIH0sCi0JeyAweDAwMDAy MDE2LCAweDAwMDAwMDlCLCAweDAgfSwKLQl7IDB4MDAwMDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9 LAotCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgxIH0sCi0JeyAweDAwMDAyMDE2LCAweDAw MDAwMDk3LCAweDAgfSwKLQl7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MSB9LAorc3RhdGlj IGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkga2JsX2RkaV90cmFuc2xhdGlv bnNfZHBbXSA9IHsKKwl7IC5oc3cgPSB7IDB4MDAwMDIwMTYsIDB4MDAwMDAwQTAsIDB4MCB9IH0s CisJeyAuaHN3ID0geyAweDAwMDA1MDEyLCAweDAwMDAwMDlCLCAweDAgfSB9LAorCXsgLmhzdyA9 IHsgMHgwMDAwNzAxMSwgMHgwMDAwMDA4OCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDkw MTAsIDB4MDAwMDAwQzAsIDB4MSB9IH0sCisJeyAuaHN3ID0geyAweDAwMDAyMDE2LCAweDAwMDAw MDlCLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNTAxMiwgMHgwMDAwMDA4OCwgMHgwIH0g fSwKKwl7IC5oc3cgPSB7IDB4ODAwMDcwMTEsIDB4MDAwMDAwQzAsIDB4MSB9IH0sCisJeyAuaHN3 ID0geyAweDAwMDAyMDE2LCAweDAwMDAwMDk3LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAw NTAxMiwgMHgwMDAwMDBDMCwgMHgxIH0gfSwKIH07CiAKIC8qIEthYnlsYWtlIFUgKi8KLXN0YXRp YyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMga2JsX3VfZGRpX3RyYW5zbGF0aW9uc19k cFtdID0gewotCXsgMHgwMDAwMjAxQiwgMHgwMDAwMDBBMSwgMHgwIH0sCi0JeyAweDAwMDA1MDEy LCAweDAwMDAwMDg4LCAweDAgfSwKLQl7IDB4ODAwMDcwMTEsIDB4MDAwMDAwQ0QsIDB4MyB9LAot CXsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgzIH0sCi0JeyAweDAwMDAyMDFCLCAweDAwMDAw MDlELCAweDAgfSwKLQl7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9LAotCXsgMHg4MDAw NzAxMSwgMHgwMDAwMDBDMCwgMHgzIH0sCi0JeyAweDAwMDAyMDE2LCAweDAwMDAwMDRGLCAweDAg fSwKLQl7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9LAorc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkga2JsX3VfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0g eworCXsgLmhzdyA9IHsgMHgwMDAwMjAxQiwgMHgwMDAwMDBBMSwgMHgwIH0gfSwKKwl7IC5oc3cg PSB7IDB4MDAwMDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA3 MDExLCAweDAwMDAwMENELCAweDMgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwOTAxMCwgMHgwMDAw MDBDMCwgMHgzIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDIwMUIsIDB4MDAwMDAwOUQsIDB4MCB9 IH0sCisJeyAuaHN3ID0geyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDMgfSB9LAorCXsgLmhz dyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAw MDIwMTYsIDB4MDAwMDAwNEYsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA1MDEyLCAweDAw MDAwMEMwLCAweDMgfSB9LAogfTsKIAogLyogS2FieWxha2UgWSAqLwotc3RhdGljIGNvbnN0IHN0 cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBrYmxfeV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7Ci0J eyAweDAwMDAxMDE3LCAweDAwMDAwMEExLCAweDAgfSwKLQl7IDB4MDAwMDUwMTIsIDB4MDAwMDAw ODgsIDB4MCB9LAotCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDRCwgMHgzIH0sCi0JeyAweDgwMDA4 MDBGLCAweDAwMDAwMEMwLCAweDMgfSwKLQl7IDB4MDAwMDEwMTcsIDB4MDAwMDAwOUQsIDB4MCB9 LAotCXsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0sCi0JeyAweDgwMDA3MDExLCAweDAw MDAwMEMwLCAweDMgfSwKLQl7IDB4MDAwMDEwMTcsIDB4MDAwMDAwNEMsIDB4MCB9LAotCXsgMHg4 MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0sCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSBrYmxfeV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CisJeyAuaHN3 ID0geyAweDAwMDAxMDE3LCAweDAwMDAwMEExLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAw NTAxMiwgMHgwMDAwMDA4OCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDcwMTEsIDB4MDAw MDAwQ0QsIDB4MyB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA4MDBGLCAweDAwMDAwMEMwLCAweDMg fSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMTAxNywgMHgwMDAwMDA5RCwgMHgwIH0gfSwKKwl7IC5o c3cgPSB7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9IH0sCisJeyAuaHN3ID0geyAweDgw MDA3MDExLCAweDAwMDAwMEMwLCAweDMgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMTAxNywgMHgw MDAwMDA0QywgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4 MyB9IH0sCiB9OwogCiAvKgogICogU2t5bGFrZS9LYWJ5bGFrZSBIIGFuZCBTCiAgKiBlRFAgMS40 IGxvdyB2c3dpbmcgdHJhbnNsYXRpb24gcGFyYW1ldGVycwogICovCi1zdGF0aWMgY29uc3Qgc3Ry dWN0IGhzd19kZGlfYnVmX3RyYW5zIHNrbF9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewotCXsg MHgwMDAwMDAxOCwgMHgwMDAwMDBBOCwgMHgwIH0sCi0JeyAweDAwMDA0MDEzLCAweDAwMDAwMEE5 LCAweDAgfSwKLQl7IDB4MDAwMDcwMTEsIDB4MDAwMDAwQTIsIDB4MCB9LAotCXsgMHgwMDAwOTAx MCwgMHgwMDAwMDA5QywgMHgwIH0sCi0JeyAweDAwMDAwMDE4LCAweDAwMDAwMEE5LCAweDAgfSwK LQl7IDB4MDAwMDYwMTMsIDB4MDAwMDAwQTIsIDB4MCB9LAotCXsgMHgwMDAwNzAxMSwgMHgwMDAw MDBBNiwgMHgwIH0sCi0JeyAweDAwMDAwMDE4LCAweDAwMDAwMEFCLCAweDAgfSwKLQl7IDB4MDAw MDcwMTMsIDB4MDAwMDAwOUYsIDB4MCB9LAotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBERiwgMHgw IH0sCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBza2xfZGRp X3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKKwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAw QTgsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA0MDEzLCAweDAwMDAwMEE5LCAweDAgfSB9 LAorCXsgLmhzdyA9IHsgMHgwMDAwNzAxMSwgMHgwMDAwMDBBMiwgMHgwIH0gfSwKKwl7IC5oc3cg PSB7IDB4MDAwMDkwMTAsIDB4MDAwMDAwOUMsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDAw MDE4LCAweDAwMDAwMEE5LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNjAxMywgMHgwMDAw MDBBMiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDcwMTEsIDB4MDAwMDAwQTYsIDB4MCB9 IH0sCisJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEFCLCAweDAgfSB9LAorCXsgLmhz dyA9IHsgMHgwMDAwNzAxMywgMHgwMDAwMDA5RiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAw MDAwMTgsIDB4MDAwMDAwREYsIDB4MCB9IH0sCiB9OwogCiAvKgogICogU2t5bGFrZS9LYWJ5bGFr ZSBVCiAgKiBlRFAgMS40IGxvdyB2c3dpbmcgdHJhbnNsYXRpb24gcGFyYW1ldGVycwogICovCi1z dGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIHNrbF91X2RkaV90cmFuc2xhdGlv bnNfZWRwW10gPSB7Ci0JeyAweDAwMDAwMDE4LCAweDAwMDAwMEE4LCAweDAgfSwKLQl7IDB4MDAw MDQwMTMsIDB4MDAwMDAwQTksIDB4MCB9LAotCXsgMHgwMDAwNzAxMSwgMHgwMDAwMDBBMiwgMHgw IH0sCi0JeyAweDAwMDA5MDEwLCAweDAwMDAwMDlDLCAweDAgfSwKLQl7IDB4MDAwMDAwMTgsIDB4 MDAwMDAwQTksIDB4MCB9LAotCXsgMHgwMDAwNjAxMywgMHgwMDAwMDBBMiwgMHgwIH0sCi0JeyAw eDAwMDA3MDExLCAweDAwMDAwMEE2LCAweDAgfSwKLQl7IDB4MDAwMDIwMTYsIDB4MDAwMDAwQUIs IDB4MCB9LAotCXsgMHgwMDAwNTAxMywgMHgwMDAwMDA5RiwgMHgwIH0sCi0JeyAweDAwMDAwMDE4 LCAweDAwMDAwMERGLCAweDAgfSwKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3Ry YW5zX2VudHJ5IHNrbF91X2RkaV90cmFuc2xhdGlvbnNfZWRwW10gPSB7CisJeyAuaHN3ID0geyAw eDAwMDAwMDE4LCAweDAwMDAwMEE4LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNDAxMywg MHgwMDAwMDBBOSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDcwMTEsIDB4MDAwMDAwQTIs IDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA5MDEwLCAweDAwMDAwMDlDLCAweDAgfSB9LAor CXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBOSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7 IDB4MDAwMDYwMTMsIDB4MDAwMDAwQTIsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA3MDEx LCAweDAwMDAwMEE2LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMjAxNiwgMHgwMDAwMDBB QiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDUwMTMsIDB4MDAwMDAwOUYsIDB4MCB9IH0s CisJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMERGLCAweDAgfSB9LAogfTsKIAogLyoK ICAqIFNreWxha2UvS2FieWxha2UgWQogICogZURQIDEuNCBsb3cgdnN3aW5nIHRyYW5zbGF0aW9u IHBhcmFtZXRlcnMKICAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBz a2xfeV9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBB OCwgMHgwIH0sCi0JeyAweDAwMDA0MDEzLCAweDAwMDAwMEFCLCAweDAgfSwKLQl7IDB4MDAwMDcw MTEsIDB4MDAwMDAwQTQsIDB4MCB9LAotCXsgMHgwMDAwOTAxMCwgMHgwMDAwMDBERiwgMHgwIH0s Ci0JeyAweDAwMDAwMDE4LCAweDAwMDAwMEFBLCAweDAgfSwKLQl7IDB4MDAwMDYwMTMsIDB4MDAw MDAwQTQsIDB4MCB9LAotCXsgMHgwMDAwNzAxMSwgMHgwMDAwMDA5RCwgMHgwIH0sCi0JeyAweDAw MDAwMDE4LCAweDAwMDAwMEEwLCAweDAgfSwKLQl7IDB4MDAwMDYwMTIsIDB4MDAwMDAwREYsIDB4 MCB9LAotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDA4QSwgMHgwIH0sCitzdGF0aWMgY29uc3QgdW5p b24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2VkcFtd ID0geworCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBOCwgMHgwIH0gfSwKKwl7IC5o c3cgPSB7IDB4MDAwMDQwMTMsIDB4MDAwMDAwQUIsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAw MDA3MDExLCAweDAwMDAwMEE0LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwOTAxMCwgMHgw MDAwMDBERiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQUEsIDB4 MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA2MDEzLCAweDAwMDAwMEE0LCAweDAgfSB9LAorCXsg LmhzdyA9IHsgMHgwMDAwNzAxMSwgMHgwMDAwMDA5RCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4 MDAwMDAwMTgsIDB4MDAwMDAwQTAsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA2MDEyLCAw eDAwMDAwMERGLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDA4QSwg MHgwIH0gfSwKIH07CiAKIC8qIFNreWxha2UvS2FieWxha2UgVSwgSCBhbmQgUyAqLwotc3RhdGlj IGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBza2xfZGRpX3RyYW5zbGF0aW9uc19oZG1p W10gPSB7Ci0JeyAweDAwMDAwMDE4LCAweDAwMDAwMEFDLCAweDAgfSwKLQl7IDB4MDAwMDUwMTIs IDB4MDAwMDAwOUQsIDB4MCB9LAotCXsgMHgwMDAwNzAxMSwgMHgwMDAwMDA4OCwgMHgwIH0sCi0J eyAweDAwMDAwMDE4LCAweDAwMDAwMEExLCAweDAgfSwKLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAw OTgsIDB4MCB9LAotCXsgMHgwMDAwNDAxMywgMHgwMDAwMDA4OCwgMHgwIH0sCi0JeyAweDgwMDA2 MDEyLCAweDAwMDAwMENELCAweDEgfSwKLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwREYsIDB4MCB9 LAotCXsgMHg4MDAwMzAxNSwgMHgwMDAwMDBDRCwgMHgxIH0sCS8qIERlZmF1bHQgKi8KLQl7IDB4 ODAwMDMwMTUsIDB4MDAwMDAwQzAsIDB4MSB9LAotCXsgMHg4MDAwMDAxOCwgMHgwMDAwMDBDMCwg MHgxIH0sCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBza2xf ZGRpX3RyYW5zbGF0aW9uc19oZG1pW10gPSB7CisJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAw MDAwMEFDLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNTAxMiwgMHgwMDAwMDA5RCwgMHgw IH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDcwMTEsIDB4MDAwMDAwODgsIDB4MCB9IH0sCisJeyAu aHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEExLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgw MDAwMDAxOCwgMHgwMDAwMDA5OCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDQwMTMsIDB4 MDAwMDAwODgsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA2MDEyLCAweDAwMDAwMENELCAw eDEgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDBERiwgMHgwIH0gfSwKKwl7 IC5oc3cgPSB7IDB4ODAwMDMwMTUsIDB4MDAwMDAwQ0QsIDB4MSB9IH0sCS8qIERlZmF1bHQgKi8K Kwl7IC5oc3cgPSB7IDB4ODAwMDMwMTUsIDB4MDAwMDAwQzAsIDB4MSB9IH0sCisJeyAuaHN3ID0g eyAweDgwMDAwMDE4LCAweDAwMDAwMEMwLCAweDEgfSB9LAogfTsKIAogLyogU2t5bGFrZS9LYWJ5 bGFrZSBZICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIHNrbF95X2Rk aV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBMSwgMHgw IH0sCi0JeyAweDAwMDA1MDEyLCAweDAwMDAwMERGLCAweDAgfSwKLQl7IDB4ODAwMDcwMTEsIDB4 MDAwMDAwQ0IsIDB4MyB9LAotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBNCwgMHgwIH0sCi0JeyAw eDAwMDAwMDE4LCAweDAwMDAwMDlELCAweDAgfSwKLQl7IDB4MDAwMDQwMTMsIDB4MDAwMDAwODAs IDB4MCB9LAotCXsgMHg4MDAwNjAxMywgMHgwMDAwMDBDMCwgMHgzIH0sCi0JeyAweDAwMDAwMDE4 LCAweDAwMDAwMDhBLCAweDAgfSwKLQl7IDB4ODAwMDMwMTUsIDB4MDAwMDAwQzAsIDB4MyB9LAkv KiBEZWZhdWx0ICovCi0JeyAweDgwMDAzMDE1LCAweDAwMDAwMEMwLCAweDMgfSwKLQl7IDB4ODAw MDAwMTgsIDB4MDAwMDAwQzAsIDB4MyB9LAorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19oZG1pW10gPSB7CisJeyAuaHN3 ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEExLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAw NTAxMiwgMHgwMDAwMDBERiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDcwMTEsIDB4MDAw MDAwQ0IsIDB4MyB9IH0sCisJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEE0LCAweDAg fSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDA5RCwgMHgwIH0gfSwKKwl7IC5o c3cgPSB7IDB4MDAwMDQwMTMsIDB4MDAwMDAwODAsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgw MDA2MDEzLCAweDAwMDAwMEMwLCAweDMgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgw MDAwMDA4QSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDMwMTUsIDB4MDAwMDAwQzAsIDB4 MyB9IH0sCS8qIERlZmF1bHQgKi8KKwl7IC5oc3cgPSB7IDB4ODAwMDMwMTUsIDB4MDAwMDAwQzAs IDB4MyB9IH0sCisJeyAuaHN3ID0geyAweDgwMDAwMDE4LCAweDAwMDAwMEMwLCAweDMgfSB9LAog fTsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyBieHRfZGRpX3RyYW5z bGF0aW9uc19kcFtdID0gewotCQkJCQkvKiBJZHgJTlQgbVYgZGlmZglkYiAgKi8KLQl7IDUyLCAg MHg5QSwgMCwgMTI4LCB9LAkvKiAwOgk0MDAJCTAgICAqLwotCXsgNzgsICAweDlBLCAwLCA4NSwg IH0sCS8qIDE6CTQwMAkJMy41ICovCi0JeyAxMDQsIDB4OUEsIDAsIDY0LCAgfSwJLyogMjoJNDAw CQk2ICAgKi8KLQl7IDE1NCwgMHg5QSwgMCwgNDMsICB9LAkvKiAzOgk0MDAJCTkuNSAqLwotCXsg NzcsICAweDlBLCAwLCAxMjgsIH0sCS8qIDQ6CTYwMAkJMCAgICovCi0JeyAxMTYsIDB4OUEsIDAs IDg1LCAgfSwJLyogNToJNjAwCQkzLjUgKi8KLQl7IDE1NCwgMHg5QSwgMCwgNjQsICB9LAkvKiA2 Ogk2MDAJCTYgICAqLwotCXsgMTAyLCAweDlBLCAwLCAxMjgsIH0sCS8qIDc6CTgwMAkJMCAgICov Ci0JeyAxNTQsIDB4OUEsIDAsIDg1LCAgfSwJLyogODoJODAwCQkzLjUgKi8KLQl7IDE1NCwgMHg5 QSwgMSwgMTI4LCB9LAkvKiA5OgkxMjAwCQkwICAgKi8KK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IGJ4dF9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CisJCQkJ CQkvKiBJZHgJTlQgbVYgZGlmZglkYiAgKi8KKwl7IC5ieHQgPSB7IDUyLCAgMHg5QSwgMCwgMTI4 LCB9IH0sCS8qIDA6CTQwMAkJMCAgICovCisJeyAuYnh0ID0geyA3OCwgIDB4OUEsIDAsIDg1LCAg fSB9LAkvKiAxOgk0MDAJCTMuNSAqLworCXsgLmJ4dCA9IHsgMTA0LCAweDlBLCAwLCA2NCwgIH0g fSwJLyogMjoJNDAwCQk2ICAgKi8KKwl7IC5ieHQgPSB7IDE1NCwgMHg5QSwgMCwgNDMsICB9IH0s CS8qIDM6CTQwMAkJOS41ICovCisJeyAuYnh0ID0geyA3NywgIDB4OUEsIDAsIDEyOCwgfSB9LAkv KiA0Ogk2MDAJCTAgICAqLworCXsgLmJ4dCA9IHsgMTE2LCAweDlBLCAwLCA4NSwgIH0gfSwJLyog NToJNjAwCQkzLjUgKi8KKwl7IC5ieHQgPSB7IDE1NCwgMHg5QSwgMCwgNjQsICB9IH0sCS8qIDY6 CTYwMAkJNiAgICovCisJeyAuYnh0ID0geyAxMDIsIDB4OUEsIDAsIDEyOCwgfSB9LAkvKiA3Ogk4 MDAJCTAgICAqLworCXsgLmJ4dCA9IHsgMTU0LCAweDlBLCAwLCA4NSwgIH0gfSwJLyogODoJODAw CQkzLjUgKi8KKwl7IC5ieHQgPSB7IDE1NCwgMHg5QSwgMSwgMTI4LCB9IH0sCS8qIDk6CTEyMDAJ CTAgICAqLwogfTsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyBieHRf ZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IGJ4dF9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewogCQkJCQkvKiBJ ZHgJTlQgbVYgZGlmZglkYiAgKi8KLQl7IDI2LCAwLCAwLCAxMjgsIH0sCS8qIDA6CTIwMAkJMCAg ICovCi0JeyAzOCwgMCwgMCwgMTEyLCB9LAkvKiAxOgkyMDAJCTEuNSAqLwotCXsgNDgsIDAsIDAs IDk2LCAgfSwJLyogMjoJMjAwCQk0ICAgKi8KLQl7IDU0LCAwLCAwLCA2OSwgIH0sCS8qIDM6CTIw MAkJNiAgICovCi0JeyAzMiwgMCwgMCwgMTI4LCB9LAkvKiA0OgkyNTAJCTAgICAqLwotCXsgNDgs IDAsIDAsIDEwNCwgfSwJLyogNToJMjUwCQkxLjUgKi8KLQl7IDU0LCAwLCAwLCA4NSwgIH0sCS8q IDY6CTI1MAkJNCAgICovCi0JeyA0MywgMCwgMCwgMTI4LCB9LAkvKiA3OgkzMDAJCTAgICAqLwot CXsgNTQsIDAsIDAsIDEwMSwgfSwJLyogODoJMzAwCQkxLjUgKi8KLQl7IDQ4LCAwLCAwLCAxMjgs IH0sCS8qIDk6CTMwMAkJMCAgICovCisJeyAuYnh0ID0geyAyNiwgMCwgMCwgMTI4LCB9IH0sCS8q IDA6CTIwMAkJMCAgICovCisJeyAuYnh0ID0geyAzOCwgMCwgMCwgMTEyLCB9IH0sCS8qIDE6CTIw MAkJMS41ICovCisJeyAuYnh0ID0geyA0OCwgMCwgMCwgOTYsICB9IH0sCS8qIDI6CTIwMAkJNCAg ICovCisJeyAuYnh0ID0geyA1NCwgMCwgMCwgNjksICB9IH0sCS8qIDM6CTIwMAkJNiAgICovCisJ eyAuYnh0ID0geyAzMiwgMCwgMCwgMTI4LCB9IH0sCS8qIDQ6CTI1MAkJMCAgICovCisJeyAuYnh0 ID0geyA0OCwgMCwgMCwgMTA0LCB9IH0sCS8qIDU6CTI1MAkJMS41ICovCisJeyAuYnh0ID0geyA1 NCwgMCwgMCwgODUsICB9IH0sCS8qIDY6CTI1MAkJNCAgICovCisJeyAuYnh0ID0geyA0MywgMCwg MCwgMTI4LCB9IH0sCS8qIDc6CTMwMAkJMCAgICovCisJeyAuYnh0ID0geyA1NCwgMCwgMCwgMTAx LCB9IH0sCS8qIDg6CTMwMAkJMS41ICovCisJeyAuYnh0ID0geyA0OCwgMCwgMCwgMTI4LCB9IH0s CS8qIDk6CTMwMAkJMCAgICovCiB9OwogCiAvKiBCU3BlYyBoYXMgMiByZWNvbW1lbmRlZCB2YWx1 ZXMgLSBlbnRyaWVzIDAgYW5kIDguCiAgKiBVc2luZyB0aGUgZW50cnkgd2l0aCBoaWdoZXIgdnN3 aW5nLgogICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGJ4dF9kZGlfYnVmX3RyYW5zIGJ4dF9kZGlf dHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKLQkJCQkJLyogSWR4CU5UIG1WIGRpZmYJZGIgICovCi0J eyA1MiwgIDB4OUEsIDAsIDEyOCwgfSwJLyogMDoJNDAwCQkwICAgKi8KLQl7IDUyLCAgMHg5QSwg MCwgODUsICB9LAkvKiAxOgk0MDAJCTMuNSAqLwotCXsgNTIsICAweDlBLCAwLCA2NCwgIH0sCS8q IDI6CTQwMAkJNiAgICovCi0JeyA0MiwgIDB4OUEsIDAsIDQzLCAgfSwJLyogMzoJNDAwCQk5LjUg Ki8KLQl7IDc3LCAgMHg5QSwgMCwgMTI4LCB9LAkvKiA0Ogk2MDAJCTAgICAqLwotCXsgNzcsICAw eDlBLCAwLCA4NSwgIH0sCS8qIDU6CTYwMAkJMy41ICovCi0JeyA3NywgIDB4OUEsIDAsIDY0LCAg fSwJLyogNjoJNjAwCQk2ICAgKi8KLQl7IDEwMiwgMHg5QSwgMCwgMTI4LCB9LAkvKiA3Ogk4MDAJ CTAgICAqLwotCXsgMTAyLCAweDlBLCAwLCA4NSwgIH0sCS8qIDg6CTgwMAkJMy41ICovCi0JeyAx NTQsIDB4OUEsIDEsIDEyOCwgfSwJLyogOToJMTIwMAkJMCAgICovCitzdGF0aWMgY29uc3QgdW5p b24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBieHRfZGRpX3RyYW5zbGF0aW9uc19oZG1pW10g PSB7CisJCQkJCQkvKiBJZHgJTlQgbVYgZGlmZglkYiAgKi8KKwl7IC5ieHQgPSB7IDUyLCAgMHg5 QSwgMCwgMTI4LCB9IH0sCS8qIDA6CTQwMAkJMCAgICovCisJeyAuYnh0ID0geyA1MiwgIDB4OUEs IDAsIDg1LCAgfSB9LAkvKiAxOgk0MDAJCTMuNSAqLworCXsgLmJ4dCA9IHsgNTIsICAweDlBLCAw LCA2NCwgIH0gfSwJLyogMjoJNDAwCQk2ICAgKi8KKwl7IC5ieHQgPSB7IDQyLCAgMHg5QSwgMCwg NDMsICB9IH0sCS8qIDM6CTQwMAkJOS41ICovCisJeyAuYnh0ID0geyA3NywgIDB4OUEsIDAsIDEy OCwgfSB9LAkvKiA0Ogk2MDAJCTAgICAqLworCXsgLmJ4dCA9IHsgNzcsICAweDlBLCAwLCA4NSwg IH0gfSwJLyogNToJNjAwCQkzLjUgKi8KKwl7IC5ieHQgPSB7IDc3LCAgMHg5QSwgMCwgNjQsICB9 IH0sCS8qIDY6CTYwMAkJNiAgICovCisJeyAuYnh0ID0geyAxMDIsIDB4OUEsIDAsIDEyOCwgfSB9 LAkvKiA3Ogk4MDAJCTAgICAqLworCXsgLmJ4dCA9IHsgMTAyLCAweDlBLCAwLCA4NSwgIH0gfSwJ LyogODoJODAwCQkzLjUgKi8KKwl7IC5ieHQgPSB7IDE1NCwgMHg5QSwgMSwgMTI4LCB9IH0sCS8q IDk6CTEyMDAJCTAgICAqLwogfTsKIAogLyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3Ig VmNjSU8gMC44NVYgZm9yIERQICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3Ry YW5zIGNubF9kZGlfdHJhbnNsYXRpb25zX2RwXzBfODVWW10gPSB7Ci0JCQkJCQkvKiBOVCBtViBU cmFucyBtViBkYiAgICAqLwotCXsgMHhBLCAweDVELCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDM1 MCAgIDM1MCAgICAgIDAuMCAgICovCi0JeyAweEEsIDB4NkEsIDB4MzgsIDB4MDAsIDB4MDcgfSwJ LyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KLQl7IDB4QiwgMHg3QSwgMHgzMiwgMHgwMCwgMHgw RCB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwotCXsgMHg2LCAweDdDLCAweDJELCAweDAw LCAweDEyIH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCi0JeyAweEEsIDB4NjksIDB4M0Ys IDB4MDAsIDB4MDAgfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KLQl7IDB4QiwgMHg3QSwg MHgzNiwgMHgwMCwgMHgwOSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLwotCXsgMHg2LCAw eDdDLCAweDMwLCAweDAwLCAweDBGIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCi0JeyAw eEIsIDB4N0QsIDB4M0MsIDB4MDAsIDB4MDMgfSwJLyogNjUwICAgNzI1ICAgICAgMC45ICAgKi8K LQl7IDB4NiwgMHg3QywgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUg ICAqLwotCXsgMHg2LCAweDdCLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAgICAg IDAuMCAgICovCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBj bmxfZGRpX3RyYW5zbGF0aW9uc19kcF8wXzg1VltdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5z IG1WIGRiICAgICovCisJeyAuY25sID0geyAweEEsIDB4NUQsIDB4M0YsIDB4MDAsIDB4MDAgfSB9 LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDZBLCAweDM4 LCAweDAwLCAweDA3IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KKwl7IC5jbmwgPSB7 IDB4QiwgMHg3QSwgMHgzMiwgMHgwMCwgMHgwRCB9IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAg ICovCisJeyAuY25sID0geyAweDYsIDB4N0MsIDB4MkQsIDB4MDAsIDB4MTIgfSB9LAkvKiAzNTAg ICA5MDAgICAgICA4LjIgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDY5LCAweDNGLCAweDAwLCAw eDAwIH0gfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QiwgMHg3 QSwgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCisJeyAu Y25sID0geyAweDYsIDB4N0MsIDB4MzAsIDB4MDAsIDB4MEYgfSB9LAkvKiA1MDAgICA5MDAgICAg ICA1LjEgICAqLworCXsgLmNubCA9IHsgMHhCLCAweDdELCAweDNDLCAweDAwLCAweDAzIH0gfSwJ LyogNjUwICAgNzI1ICAgICAgMC45ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3QywgMHgzNCwg MHgwMCwgMHgwQiB9IH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCisJeyAuY25sID0geyAw eDYsIDB4N0IsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAq LwogfTsKIAogLyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMC44NVYgZm9y IEhETUkgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgY25sX2RkaV90 cmFuc2xhdGlvbnNfaGRtaV8wXzg1VltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIg ICAgKi8KLQl7IDB4QSwgMHg2MCwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA0NTAgICA0NTAgICAg ICAwLjAgICAqLwotCXsgMHhCLCAweDczLCAweDM2LCAweDAwLCAweDA5IH0sCS8qIDQ1MCAgIDY1 MCAgICAgIDMuMiAgICovCi0JeyAweDYsIDB4N0YsIDB4MzEsIDB4MDAsIDB4MEUgfSwJLyogNDUw ICAgODUwICAgICAgNS41ICAgKi8KLQl7IDB4QiwgMHg3MywgMHgzRiwgMHgwMCwgMHgwMCB9LAkv KiA2NTAgICA2NTAgICAgICAwLjAgICAqLwotCXsgMHg2LCAweDdGLCAweDM3LCAweDAwLCAweDA4 IH0sCS8qIDY1MCAgIDg1MCAgICAgIDIuMyAgICovCi0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAs IDB4MDAgfSwJLyogODUwICAgODUwICAgICAgMC4wICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzNSwg MHgwMCwgMHgwQSB9LAkvKiA2MDAgICA4NTAgICAgICAzLjAgICAqLworc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8w Xzg1VltdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJeyAuY25sID0g eyAweEEsIDB4NjAsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0NTAgICA0NTAgICAgICAwLjAg ICAqLworCXsgLmNubCA9IHsgMHhCLCAweDczLCAweDM2LCAweDAwLCAweDA5IH0gfSwJLyogNDUw ICAgNjUwICAgICAgMy4yICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzMSwgMHgwMCwg MHgwRSB9IH0sCS8qIDQ1MCAgIDg1MCAgICAgIDUuNSAgICovCisJeyAuY25sID0geyAweEIsIDB4 NzMsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA2NTAgICA2NTAgICAgICAwLjAgICAqLworCXsg LmNubCA9IHsgMHg2LCAweDdGLCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogNjUwICAgODUwICAg ICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0s CS8qIDg1MCAgIDg1MCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzUs IDB4MDAsIDB4MEEgfSB9LAkvKiA2MDAgICA4NTAgICAgICAzLjAgICAqLwogfTsKIAogLyogVm9s dGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMC44NVYgZm9yIGVEUCAqLwotc3RhdGlj IGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBf MF84NVZbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEsIDB4 NjYsIDB4M0EsIDB4MDAsIDB4MDUgfSwJLyogMzg0ICAgNTAwICAgICAgMi4zICAgKi8KLQl7IDB4 MCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAxNTMgICAyMDAgICAgICAyLjMgICAqLwot CXsgMHg4LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDE5MiAgIDI1MCAgICAgIDIuMyAg ICovCi0JeyAweDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMjMwICAgMzAwICAgICAg Mi4zICAgKi8KLQl7IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAyNjkgICAzNTAg ICAgICAyLjMgICAqLwotCXsgMHhBLCAweDY2LCAweDNDLCAweDAwLCAweDAzIH0sCS8qIDQ0NiAg IDUwMCAgICAgIDEuMCAgICovCi0JeyAweEIsIDB4NzAsIDB4M0MsIDB4MDAsIDB4MDMgfSwJLyog NDYwICAgNjAwICAgICAgMi4zICAgKi8KLQl7IDB4QywgMHg3NSwgMHgzQywgMHgwMCwgMHgwMyB9 LAkvKiA1MzcgICA3MDAgICAgICAyLjMgICAqLwotCXsgMHgyLCAweDdGLCAweDNGLCAweDAwLCAw eDAwIH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAgICovCitzdGF0aWMgY29uc3QgdW5pb24gaW50 ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBfMF84NVZbXSA9 IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsgLmNubCA9IHsgMHhBLCAw eDY2LCAweDNBLCAweDAwLCAweDA1IH0gfSwJLyogMzg0ICAgNTAwICAgICAgMi4zICAgKi8KKwl7 IC5jbmwgPSB7IDB4MCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDE1MyAgIDIwMCAg ICAgIDIuMyAgICovCisJeyAuY25sID0geyAweDgsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9 LAkvKiAxOTIgICAyNTAgICAgICAyLjMgICAqLworCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDM4 LCAweDAwLCAweDA3IH0gfSwJLyogMjMwICAgMzAwICAgICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7 IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDI2OSAgIDM1MCAgICAgIDIuMyAg ICovCisJeyAuY25sID0geyAweEEsIDB4NjYsIDB4M0MsIDB4MDAsIDB4MDMgfSB9LAkvKiA0NDYg ICA1MDAgICAgICAxLjAgICAqLworCXsgLmNubCA9IHsgMHhCLCAweDcwLCAweDNDLCAweDAwLCAw eDAzIH0gfSwJLyogNDYwICAgNjAwICAgICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg3 NSwgMHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDUzNyAgIDcwMCAgICAgIDIuMyAgICovCisJeyAu Y25sID0geyAweDIsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0MDAgICAg ICAwLjAgICAqLwogfTsKIAogLyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8g MC45NVYgZm9yIERQICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGNu bF9kZGlfdHJhbnNsYXRpb25zX2RwXzBfOTVWW10gPSB7Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBt ViBkYiAgICAqLwotCXsgMHhBLCAweDVELCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1 MCAgICAgIDAuMCAgICovCi0JeyAweEEsIDB4NkEsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMzUw ICAgNTAwICAgICAgMy4xICAgKi8KLQl7IDB4QiwgMHg3QSwgMHgzMiwgMHgwMCwgMHgwRCB9LAkv KiAzNTAgICA3MDAgICAgICA2LjAgICAqLwotCXsgMHg2LCAweDdDLCAweDJELCAweDAwLCAweDEy IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCi0JeyAweEEsIDB4NjksIDB4M0YsIDB4MDAs IDB4MDAgfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KLQl7IDB4QiwgMHg3QSwgMHgzNiwg MHgwMCwgMHgwOSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLwotCXsgMHg2LCAweDdDLCAw eDMwLCAweDAwLCAweDBGIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCi0JeyAweEIsIDB4 N0QsIDB4M0MsIDB4MDAsIDB4MDMgfSwJLyogNjUwICAgNzI1ICAgICAgMC45ICAgKi8KLQl7IDB4 NiwgMHg3QywgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLwot CXsgMHg2LCAweDdCLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAg ICovCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRp X3RyYW5zbGF0aW9uc19kcF8wXzk1VltdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRi ICAgICovCisJeyAuY25sID0geyAweEEsIDB4NUQsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAz NTAgICAzNTAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDZBLCAweDM4LCAweDAw LCAweDA3IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KKwl7IC5jbmwgPSB7IDB4Qiwg MHg3QSwgMHgzMiwgMHgwMCwgMHgwRCB9IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCisJ eyAuY25sID0geyAweDYsIDB4N0MsIDB4MkQsIDB4MDAsIDB4MTIgfSB9LAkvKiAzNTAgICA5MDAg ICAgICA4LjIgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDY5LCAweDNGLCAweDAwLCAweDAwIH0g fSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QiwgMHg3QSwgMHgz NiwgMHgwMCwgMHgwOSB9IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCisJeyAuY25sID0g eyAweDYsIDB4N0MsIDB4MzAsIDB4MDAsIDB4MEYgfSB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEg ICAqLworCXsgLmNubCA9IHsgMHhCLCAweDdELCAweDNDLCAweDAwLCAweDAzIH0gfSwJLyogNjUw ICAgNzI1ICAgICAgMC45ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3QywgMHgzNCwgMHgwMCwg MHgwQiB9IH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCisJeyAuY25sID0geyAweDYsIDB4 N0IsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwogfTsK IAogLyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMC45NVYgZm9yIEhETUkg Ki8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgY25sX2RkaV90cmFuc2xh dGlvbnNfaGRtaV8wXzk1VltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8K LQl7IDB4QSwgMHg1QywgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAg ICAqLwotCXsgMHhCLCAweDY5LCAweDM3LCAweDAwLCAweDA4IH0sCS8qIDQwMCAgIDYwMCAgICAg IDMuNSAgICovCi0JeyAweDUsIDB4NzYsIDB4MzEsIDB4MDAsIDB4MEUgfSwJLyogNDAwICAgODAw ICAgICAgNi4wICAgKi8KLQl7IDB4QSwgMHg1RSwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA0NTAg ICA0NTAgICAgICAwLjAgICAqLwotCXsgMHhCLCAweDY5LCAweDNGLCAweDAwLCAweDAwIH0sCS8q IDYwMCAgIDYwMCAgICAgIDAuMCAgICovCi0JeyAweEIsIDB4NzksIDB4MzUsIDB4MDAsIDB4MEEg fSwJLyogNjAwICAgODUwICAgICAgMy4wICAgKi8KLQl7IDB4NiwgMHg3RCwgMHgzMiwgMHgwMCwg MHgwRCB9LAkvKiA2MDAgICAxMDAwICAgICA0LjQgICAqLwotCXsgMHg1LCAweDc2LCAweDNGLCAw eDAwLCAweDAwIH0sCS8qIDgwMCAgIDgwMCAgICAgIDAuMCAgICovCi0JeyAweDYsIDB4N0QsIDB4 MzksIDB4MDAsIDB4MDYgfSwJLyogODAwICAgMTAwMCAgICAgMS45ICAgKi8KLQl7IDB4NiwgMHg3 RiwgMHgzOSwgMHgwMCwgMHgwNiB9LAkvKiA4NTAgICAxMDUwICAgICAxLjggICAqLwotCXsgMHg2 LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDEwNTAgIDEwNTAgICAgIDAuMCAgICovCitz dGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5z bGF0aW9uc19oZG1pXzBfOTVWW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAg Ki8KKwl7IC5jbmwgPSB7IDB4QSwgMHg1QywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDQwMCAg IDQwMCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEIsIDB4NjksIDB4MzcsIDB4MDAsIDB4 MDggfSB9LAkvKiA0MDAgICA2MDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHg1LCAweDc2 LCAweDMxLCAweDAwLCAweDBFIH0gfSwJLyogNDAwICAgODAwICAgICAgNi4wICAgKi8KKwl7IC5j bmwgPSB7IDB4QSwgMHg1RSwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDQ1MCAgIDQ1MCAgICAg IDAuMCAgICovCisJeyAuY25sID0geyAweEIsIDB4NjksIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkv KiA2MDAgICA2MDAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhCLCAweDc5LCAweDM1LCAw eDAwLCAweDBBIH0gfSwJLyogNjAwICAgODUwICAgICAgMy4wICAgKi8KKwl7IC5jbmwgPSB7IDB4 NiwgMHg3RCwgMHgzMiwgMHgwMCwgMHgwRCB9IH0sCS8qIDYwMCAgIDEwMDAgICAgIDQuNCAgICov CisJeyAuY25sID0geyAweDUsIDB4NzYsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA4MDAgICA4 MDAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdELCAweDM5LCAweDAwLCAweDA2 IH0gfSwJLyogODAwICAgMTAwMCAgICAgMS45ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3Riwg MHgzOSwgMHgwMCwgMHgwNiB9IH0sCS8qIDg1MCAgIDEwNTAgICAgIDEuOCAgICovCisJeyAuY25s ID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAxMDUwICAxMDUwICAgICAw LjAgICAqLwogfTsKIAogLyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMC45 NVYgZm9yIGVEUCAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmxf ZGRpX3RyYW5zbGF0aW9uc19lZHBfMF85NVZbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1W IGRiICAgICovCi0JeyAweEEsIDB4NjEsIDB4M0EsIDB4MDAsIDB4MDUgfSwJLyogMzg0ICAgNTAw ICAgICAgMi4zICAgKi8KLQl7IDB4MCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAxNTMg ICAyMDAgICAgICAyLjMgICAqLwotCXsgMHg4LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8q IDE5MiAgIDI1MCAgICAgIDIuMyAgICovCi0JeyAweDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcg fSwJLyogMjMwICAgMzAwICAgICAgMi4zICAgKi8KLQl7IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwg MHgwNyB9LAkvKiAyNjkgICAzNTAgICAgICAyLjMgICAqLwotCXsgMHhBLCAweDYxLCAweDNDLCAw eDAwLCAweDAzIH0sCS8qIDQ0NiAgIDUwMCAgICAgIDEuMCAgICovCi0JeyAweEIsIDB4NjgsIDB4 MzksIDB4MDAsIDB4MDYgfSwJLyogNDYwICAgNjAwICAgICAgMi4zICAgKi8KLQl7IDB4QywgMHg2 RSwgMHgzOSwgMHgwMCwgMHgwNiB9LAkvKiA1MzcgICA3MDAgICAgICAyLjMgICAqLwotCXsgMHg0 LCAweDdGLCAweDNBLCAweDAwLCAweDA1IH0sCS8qIDQ2MCAgIDYwMCAgICAgIDIuMyAgICovCi0J eyAweDIsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNDAwICAgNDAwICAgICAgMC4wICAg Ki8KK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGNubF9kZGlf dHJhbnNsYXRpb25zX2VkcF8wXzk1VltdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRi ICAgICovCisJeyAuY25sID0geyAweEEsIDB4NjEsIDB4M0EsIDB4MDAsIDB4MDUgfSB9LAkvKiAz ODQgICA1MDAgICAgICAyLjMgICAqLworCXsgLmNubCA9IHsgMHgwLCAweDdGLCAweDM4LCAweDAw LCAweDA3IH0gfSwJLyogMTUzICAgMjAwICAgICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4OCwg MHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDE5MiAgIDI1MCAgICAgIDIuMyAgICovCisJ eyAuY25sID0geyAweDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyMzAgICAzMDAg ICAgICAyLjMgICAqLworCXsgLmNubCA9IHsgMHg5LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0g fSwJLyogMjY5ICAgMzUwICAgICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg2MSwgMHgz QywgMHgwMCwgMHgwMyB9IH0sCS8qIDQ0NiAgIDUwMCAgICAgIDEuMCAgICovCisJeyAuY25sID0g eyAweEIsIDB4NjgsIDB4MzksIDB4MDAsIDB4MDYgfSB9LAkvKiA0NjAgICA2MDAgICAgICAyLjMg ICAqLworCXsgLmNubCA9IHsgMHhDLCAweDZFLCAweDM5LCAweDAwLCAweDA2IH0gfSwJLyogNTM3 ICAgNzAwICAgICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4NCwgMHg3RiwgMHgzQSwgMHgwMCwg MHgwNSB9IH0sCS8qIDQ2MCAgIDYwMCAgICAgIDIuMyAgICovCisJeyAuY25sID0geyAweDIsIDB4 N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLwogfTsK IAogLyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMS4wNVYgZm9yIERQICov Ci1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJhbnNsYXRp b25zX2RwXzFfMDVWW10gPSB7Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwotCXsg MHhBLCAweDU4LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAgICov Ci0JeyAweEIsIDB4NjQsIDB4MzcsIDB4MDAsIDB4MDggfSwJLyogNDAwICAgNjAwICAgICAgMy41 ICAgKi8KLQl7IDB4NSwgMHg3MCwgMHgzMSwgMHgwMCwgMHgwRSB9LAkvKiA0MDAgICA4MDAgICAg ICA2LjAgICAqLwotCXsgMHg2LCAweDdGLCAweDJDLCAweDAwLCAweDEzIH0sCS8qIDQwMCAgIDEw NTAgICAgIDguNCAgICovCi0JeyAweEIsIDB4NjQsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNjAw ICAgNjAwICAgICAgMC4wICAgKi8KLQl7IDB4NSwgMHg3MywgMHgzNSwgMHgwMCwgMHgwQSB9LAkv KiA2MDAgICA4NTAgICAgICAzLjAgICAqLwotCXsgMHg2LCAweDdGLCAweDMwLCAweDAwLCAweDBG IH0sCS8qIDU1MCAgIDEwNTAgICAgIDUuNiAgICovCi0JeyAweDUsIDB4NzYsIDB4M0UsIDB4MDAs IDB4MDEgfSwJLyogODUwICAgOTAwICAgICAgMC41ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzNiwg MHgwMCwgMHgwOSB9LAkvKiA3NTAgICAxMDUwICAgICAyLjkgICAqLwotCXsgMHg2LCAweDdGLCAw eDNGLCAweDAwLCAweDAwIH0sCS8qIDEwNTAgIDEwNTAgICAgIDAuMCAgICovCitzdGF0aWMgY29u c3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9uc19k cF8xXzA1VltdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJeyAuY25s ID0geyAweEEsIDB4NTgsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0MDAgICAgICAw LjAgICAqLworCXsgLmNubCA9IHsgMHhCLCAweDY0LCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyog NDAwICAgNjAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4NSwgMHg3MCwgMHgzMSwgMHgw MCwgMHgwRSB9IH0sCS8qIDQwMCAgIDgwMCAgICAgIDYuMCAgICovCisJeyAuY25sID0geyAweDYs IDB4N0YsIDB4MkMsIDB4MDAsIDB4MTMgfSB9LAkvKiA0MDAgICAxMDUwICAgICA4LjQgICAqLwor CXsgLmNubCA9IHsgMHhCLCAweDY0LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNjAwICAgNjAw ICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4NSwgMHg3MywgMHgzNSwgMHgwMCwgMHgwQSB9 IH0sCS8qIDYwMCAgIDg1MCAgICAgIDMuMCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4 MzAsIDB4MDAsIDB4MEYgfSB9LAkvKiA1NTAgICAxMDUwICAgICA1LjYgICAqLworCXsgLmNubCA9 IHsgMHg1LCAweDc2LCAweDNFLCAweDAwLCAweDAxIH0gfSwJLyogODUwICAgOTAwICAgICAgMC41 ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDc1 MCAgIDEwNTAgICAgIDIuOSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAs IDB4MDAgfSB9LAkvKiAxMDUwICAxMDUwICAgICAwLjAgICAqLwogfTsKIAogLyogVm9sdGFnZSBT d2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMS4wNVYgZm9yIEhETUkgKi8KLXN0YXRpYyBjb25z dCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8xXzA1 VltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KLQl7IDB4QSwgMHg1OCwg MHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLwotCXsgMHhCLCAw eDY0LCAweDM3LCAweDAwLCAweDA4IH0sCS8qIDQwMCAgIDYwMCAgICAgIDMuNSAgICovCi0JeyAw eDUsIDB4NzAsIDB4MzEsIDB4MDAsIDB4MEUgfSwJLyogNDAwICAgODAwICAgICAgNi4wICAgKi8K LQl7IDB4QSwgMHg1QiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA0NTAgICA0NTAgICAgICAwLjAg ICAqLwotCXsgMHhCLCAweDY0LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDYwMCAgIDYwMCAgICAg IDAuMCAgICovCi0JeyAweDUsIDB4NzMsIDB4MzUsIDB4MDAsIDB4MEEgfSwJLyogNjAwICAgODUw ICAgICAgMy4wICAgKi8KLQl7IDB4NiwgMHg3QywgMHgzMiwgMHgwMCwgMHgwRCB9LAkvKiA2MDAg ICAxMDAwICAgICA0LjQgICAqLwotCXsgMHg1LCAweDcwLCAweDNGLCAweDAwLCAweDAwIH0sCS8q IDgwMCAgIDgwMCAgICAgIDAuMCAgICovCi0JeyAweDYsIDB4N0MsIDB4MzksIDB4MDAsIDB4MDYg fSwJLyogODAwICAgMTAwMCAgICAgMS45ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzOSwgMHgwMCwg MHgwNiB9LAkvKiA4NTAgICAxMDUwICAgICAxLjggICAqLwotCXsgMHg2LCAweDdGLCAweDNGLCAw eDAwLCAweDAwIH0sCS8qIDEwNTAgIDEwNTAgICAgIDAuMCAgICovCitzdGF0aWMgY29uc3QgdW5p b24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzFf MDVWW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7 IDB4QSwgMHg1OCwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAg ICovCisJeyAuY25sID0geyAweEIsIDB4NjQsIDB4MzcsIDB4MDAsIDB4MDggfSB9LAkvKiA0MDAg ICA2MDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHg1LCAweDcwLCAweDMxLCAweDAwLCAw eDBFIH0gfSwJLyogNDAwICAgODAwICAgICAgNi4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg1 QiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDQ1MCAgIDQ1MCAgICAgIDAuMCAgICovCisJeyAu Y25sID0geyAweEIsIDB4NjQsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA2MDAgICA2MDAgICAg ICAwLjAgICAqLworCXsgLmNubCA9IHsgMHg1LCAweDczLCAweDM1LCAweDAwLCAweDBBIH0gfSwJ LyogNjAwICAgODUwICAgICAgMy4wICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3QywgMHgzMiwg MHgwMCwgMHgwRCB9IH0sCS8qIDYwMCAgIDEwMDAgICAgIDQuNCAgICovCisJeyAuY25sID0geyAw eDUsIDB4NzAsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA4MDAgICA4MDAgICAgICAwLjAgICAq LworCXsgLmNubCA9IHsgMHg2LCAweDdDLCAweDM5LCAweDAwLCAweDA2IH0gfSwJLyogODAwICAg MTAwMCAgICAgMS45ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzOSwgMHgwMCwgMHgw NiB9IH0sCS8qIDg1MCAgIDEwNTAgICAgIDEuOCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0Ys IDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAxMDUwICAxMDUwICAgICAwLjAgICAqLwogfTsKIAog LyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMS4wNVYgZm9yIGVEUCAqLwot c3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmxfZGRpX3RyYW5zbGF0aW9u c19lZHBfMV8wNVZbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAw eEEsIDB4NUUsIDB4M0EsIDB4MDAsIDB4MDUgfSwJLyogMzg0ICAgNTAwICAgICAgMi4zICAgKi8K LQl7IDB4MCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAxNTMgICAyMDAgICAgICAyLjMg ICAqLwotCXsgMHg4LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDE5MiAgIDI1MCAgICAg IDIuMyAgICovCi0JeyAweDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMjMwICAgMzAw ICAgICAgMi4zICAgKi8KLQl7IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAyNjkg ICAzNTAgICAgICAyLjMgICAqLwotCXsgMHhBLCAweDVFLCAweDNDLCAweDAwLCAweDAzIH0sCS8q IDQ0NiAgIDUwMCAgICAgIDEuMCAgICovCi0JeyAweEIsIDB4NjQsIDB4MzksIDB4MDAsIDB4MDYg fSwJLyogNDYwICAgNjAwICAgICAgMi4zICAgKi8KLQl7IDB4RSwgMHg2QSwgMHgzOSwgMHgwMCwg MHgwNiB9LAkvKiA1MzcgICA3MDAgICAgICAyLjMgICAqLwotCXsgMHgyLCAweDdGLCAweDNGLCAw eDAwLCAweDAwIH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAgICovCitzdGF0aWMgY29uc3QgdW5p b24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBfMV8w NVZbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsgLmNubCA9IHsg MHhBLCAweDVFLCAweDNBLCAweDAwLCAweDA1IH0gfSwJLyogMzg0ICAgNTAwICAgICAgMi4zICAg Ki8KKwl7IC5jbmwgPSB7IDB4MCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDE1MyAg IDIwMCAgICAgIDIuMyAgICovCisJeyAuY25sID0geyAweDgsIDB4N0YsIDB4MzgsIDB4MDAsIDB4 MDcgfSB9LAkvKiAxOTIgICAyNTAgICAgICAyLjMgICAqLworCXsgLmNubCA9IHsgMHgxLCAweDdG LCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMjMwICAgMzAwICAgICAgMi4zICAgKi8KKwl7IC5j bmwgPSB7IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDI2OSAgIDM1MCAgICAg IDIuMyAgICovCisJeyAuY25sID0geyAweEEsIDB4NUUsIDB4M0MsIDB4MDAsIDB4MDMgfSB9LAkv KiA0NDYgICA1MDAgICAgICAxLjAgICAqLworCXsgLmNubCA9IHsgMHhCLCAweDY0LCAweDM5LCAw eDAwLCAweDA2IH0gfSwJLyogNDYwICAgNjAwICAgICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4 RSwgMHg2QSwgMHgzOSwgMHgwMCwgMHgwNiB9IH0sCS8qIDUzNyAgIDcwMCAgICAgIDIuMyAgICov CisJeyAuY25sID0geyAweDIsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0 MDAgICAgICAwLjAgICAqLwogfTsKIAogLyogaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25z ICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGljbF9jb21ib19waHlf ZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyW10gPSB7Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBk YiAgICAqLwotCXsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAg ICAgIDAuMCAgICovCi0JeyAweEEsIDB4NEYsIDB4MzcsIDB4MDAsIDB4MDggfSwJLyogMzUwICAg NTAwICAgICAgMy4xICAgKi8KLQl7IDB4QywgMHg3MSwgMHgyRiwgMHgwMCwgMHgxMCB9LAkvKiAz NTAgICA3MDAgICAgICA2LjAgICAqLwotCXsgMHg2LCAweDdGLCAweDJCLCAweDAwLCAweDE0IH0s CS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCi0JeyAweEEsIDB4NEMsIDB4M0YsIDB4MDAsIDB4 MDAgfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KLQl7IDB4QywgMHg3MywgMHgzNCwgMHgw MCwgMHgwQiB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLwotCXsgMHg2LCAweDdGLCAweDJG LCAweDAwLCAweDEwIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCi0JeyAweEMsIDB4NkMs IDB4M0MsIDB4MDAsIDB4MDMgfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KLQl7IDB4Niwg MHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLwotCXsg MHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICov Ci19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMg bVYgZGIgICAgKi8KLQl7IDB4MCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAyMDAgICAy MDAgICAgICAwLjAgICAqLwotCXsgMHg4LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDIw MCAgIDI1MCAgICAgIDEuOSAgICovCi0JeyAweDEsIDB4N0YsIDB4MzMsIDB4MDAsIDB4MEMgfSwJ LyogMjAwICAgMzAwICAgICAgMy41ICAgKi8KLQl7IDB4OSwgMHg3RiwgMHgzMSwgMHgwMCwgMHgw RSB9LAkvKiAyMDAgICAzNTAgICAgICA0LjkgICAqLwotCXsgMHg4LCAweDdGLCAweDNGLCAweDAw LCAweDAwIH0sCS8qIDI1MCAgIDI1MCAgICAgIDAuMCAgICovCi0JeyAweDEsIDB4N0YsIDB4Mzgs IDB4MDAsIDB4MDcgfSwJLyogMjUwICAgMzAwICAgICAgMS42ICAgKi8KLQl7IDB4OSwgMHg3Riwg MHgzNSwgMHgwMCwgMHgwQSB9LAkvKiAyNTAgICAzNTAgICAgICAyLjkgICAqLwotCXsgMHgxLCAw eDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDMwMCAgIDMwMCAgICAgIDAuMCAgICovCi0JeyAw eDksIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMzAwICAgMzUwICAgICAgMS4zICAgKi8K LQl7IDB4OSwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAg ICAqLwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBpY2xfY29t Ym9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjNbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRy YW5zIG1WIGRiICAgICovCi0JeyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUw ICAgMzUwICAgICAgMC4wICAgKi8KLQl7IDB4QSwgMHg0RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkv KiAzNTAgICA1MDAgICAgICAzLjEgICAqLwotCXsgMHhDLCAweDcxLCAweDJGLCAweDAwLCAweDEw IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCi0JeyAweDYsIDB4N0YsIDB4MkIsIDB4MDAs IDB4MTQgfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KLQl7IDB4QSwgMHg0QywgMHgzRiwg MHgwMCwgMHgwMCB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLwotCXsgMHhDLCAweDczLCAw eDM0LCAweDAwLCAweDBCIH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCi0JeyAweDYsIDB4 N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KLQl7IDB4 QywgMHg2QywgMHgzQywgMHgwMCwgMHgwMyB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwot CXsgMHg2LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAg ICovCi0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogOTAwICAgOTAwICAgICAg MC4wICAgKi8KLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgaWNs X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRy YW5zIG1WIGRiICAgICovCi0JeyAweEEsIDB4NjAsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNDUw ICAgNDUwICAgICAgMC4wICAgKi8KLQl7IDB4QiwgMHg3MywgMHgzNiwgMHgwMCwgMHgwOSB9LAkv KiA0NTAgICA2NTAgICAgICAzLjIgICAqLwotCXsgMHg2LCAweDdGLCAweDMxLCAweDAwLCAweDBF IH0sCS8qIDQ1MCAgIDg1MCAgICAgIDUuNSAgICovCi0JeyAweEIsIDB4NzMsIDB4M0YsIDB4MDAs IDB4MDAgfSwJLyogNjUwICAgNjUwICAgICAgMC4wICAgQUxTICovCi0JeyAweDYsIDB4N0YsIDB4 MzcsIDB4MDAsIDB4MDggfSwJLyogNjUwICAgODUwICAgICAgMi4zICAgKi8KLQl7IDB4NiwgMHg3 RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA4NTAgICA4NTAgICAgICAwLjAgICAqLwotCXsgMHg2 LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDYwMCAgIDg1MCAgICAgIDMuMCAgICovCi19 OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGVobF9jb21ib19waHlf ZGRpX3RyYW5zbGF0aW9uc19kcFtdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAg Ki8KLQl7IDB4QSwgMHgzMywgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAgICAw LjAgICAqLwotCXsgMHhBLCAweDQ3LCAweDM2LCAweDAwLCAweDA5IH0sCS8qIDM1MCAgIDUwMCAg ICAgIDMuMSAgICovCi0JeyAweEMsIDB4NjQsIDB4MzQsIDB4MDAsIDB4MEIgfSwJLyogMzUwICAg NzAwICAgICAgNi4wICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzMCwgMHgwMCwgMHgwRiB9LAkvKiAz NTAgICA5MDAgICAgICA4LjIgICAqLwotCXsgMHhBLCAweDQ2LCAweDNGLCAweDAwLCAweDAwIH0s CS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCi0JeyAweEMsIDB4NjQsIDB4MzgsIDB4MDAsIDB4 MDcgfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzMiwgMHgw MCwgMHgwRCB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLwotCXsgMHhDLCAweDYxLCAweDNG LCAweDAwLCAweDAwIH0sCS8qIDY1MCAgIDcwMCAgICAgIDAuNiAgICovCi0JeyAweDYsIDB4N0Ys IDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KLQl7IDB4Niwg MHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwotfTsK LQotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBqc2xfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfZWRwX2hicltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIg ICAgKi8KLQl7IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyogMjAwICAg MjAwICAgICAgMC4wICAgKi8KLQl7IDB4OCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAg ICAgLyogMjAwICAgMjUwICAgICAgMS45ICAgKi8KLQl7IDB4MSwgMHg3RiwgMHgzMywgMHgwMCwg MHgwQyB9LCAgICAgICAgLyogMjAwICAgMzAwICAgICAgMy41ICAgKi8KLQl7IDB4QSwgMHgzNSwg MHgzNiwgMHgwMCwgMHgwOSB9LCAgICAgICAgLyogMjAwICAgMzUwICAgICAgNC45ICAgKi8KLQl7 IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyogMjUwICAgMjUwICAgICAg MC4wICAgKi8KLQl7IDB4MSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAgLyogMjUw ICAgMzAwICAgICAgMS42ICAgKi8KLQl7IDB4QSwgMHgzNSwgMHgzNSwgMHgwMCwgMHgwQSB9LCAg ICAgICAgLyogMjUwICAgMzUwICAgICAgMi45ICAgKi8KLQl7IDB4MSwgMHg3RiwgMHgzRiwgMHgw MCwgMHgwMCB9LCAgICAgICAgLyogMzAwICAgMzAwICAgICAgMC4wICAgKi8KLQl7IDB4QSwgMHgz NSwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAgLyogMzAwICAgMzUwICAgICAgMS4zICAgKi8K LQl7IDB4QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyogMzUwICAgMzUwICAg ICAgMC4wICAgKi8KLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMg anNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyW10gPSB7Ci0JCQkJCQkvKiBO VCBtViBUcmFucyBtViBkYiAgICAqLwotCXsgMHg4LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0s ICAgICAgICAvKiAyMDAgICAyMDAgICAgICAwLjAgICAqLwotCXsgMHg4LCAweDdGLCAweDNGLCAw eDAwLCAweDAwIH0sICAgICAgICAvKiAyMDAgICAyNTAgICAgICAxLjkgICAqLwotCXsgMHgxLCAw eDdGLCAweDNELCAweDAwLCAweDAyIH0sICAgICAgICAvKiAyMDAgICAzMDAgICAgICAzLjUgICAq LwotCXsgMHhBLCAweDM1LCAweDM4LCAweDAwLCAweDA3IH0sICAgICAgICAvKiAyMDAgICAzNTAg ICAgICA0LjkgICAqLwotCXsgMHg4LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sICAgICAgICAv KiAyNTAgICAyNTAgICAgICAwLjAgICAqLwotCXsgMHgxLCAweDdGLCAweDNGLCAweDAwLCAweDAw IH0sICAgICAgICAvKiAyNTAgICAzMDAgICAgICAxLjYgICAqLwotCXsgMHhBLCAweDM1LCAweDNB LCAweDAwLCAweDA1IH0sICAgICAgICAvKiAyNTAgICAzNTAgICAgICAyLjkgICAqLwotCXsgMHgx LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sICAgICAgICAvKiAzMDAgICAzMDAgICAgICAwLjAg ICAqLwotCXsgMHhBLCAweDM1LCAweDM4LCAweDAwLCAweDA3IH0sICAgICAgICAvKiAzMDAgICAz NTAgICAgICAxLjMgICAqLwotCXsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0sICAgICAg ICAvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBj bmxfZGRpX2J1Zl90cmFucyBkZzFfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfcmJyX2hi cltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KLQl7IDB4QSwgMHgzMiwg MHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwotCXsgMHhBLCAw eDQ4LCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCi0JeyAw eEMsIDB4NjMsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAgKi8K LQl7IDB4NiwgMHg3RiwgMHgyQywgMHgwMCwgMHgxMyB9LAkvKiAzNTAgICA5MDAgICAgICA4LjIg ICAqLwotCXsgMHhBLCAweDQzLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDUwMCAgIDUwMCAgICAg IDAuMCAgICovCi0JeyAweEMsIDB4NjAsIDB4MzYsIDB4MDAsIDB4MDkgfSwJLyogNTAwICAgNzAw ICAgICAgMi45ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzMCwgMHgwMCwgMHgwRiB9LAkvKiA1MDAg ICA5MDAgICAgICA1LjEgICAqLwotCXsgMHhDLCAweDYwLCAweDNGLCAweDAwLCAweDAwIH0sCS8q IDY1MCAgIDcwMCAgICAgIDAuNiAgICovCi0JeyAweDYsIDB4N0YsIDB4MzcsIDB4MDAsIDB4MDgg fSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwg MHgwMCB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwotfTsKLQotc3RhdGljIGNvbnN0IHN0 cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBkZzFfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBf aGJyMl9oYnIzW10gPSB7Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwotCXsgMHhB LCAweDMyLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCi0J eyAweEEsIDB4NDgsIDB4MzUsIDB4MDAsIDB4MEEgfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAg Ki8KLQl7IDB4QywgMHg2MywgMHgyRiwgMHgwMCwgMHgxMCB9LAkvKiAzNTAgICA3MDAgICAgICA2 LjAgICAqLwotCXsgMHg2LCAweDdGLCAweDJDLCAweDAwLCAweDEzIH0sCS8qIDM1MCAgIDkwMCAg ICAgIDguMiAgICovCi0JeyAweEEsIDB4NDMsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNTAwICAg NTAwICAgICAgMC4wICAgKi8KLQl7IDB4QywgMHg2MCwgMHgzNiwgMHgwMCwgMHgwOSB9LAkvKiA1 MDAgICA3MDAgICAgICAyLjkgICAqLwotCXsgMHg2LCAweDdGLCAweDMwLCAweDAwLCAweDBGIH0s CS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCi0JeyAweEMsIDB4NTgsIDB4M0YsIDB4MDAsIDB4 MDAgfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzNSwgMHgw MCwgMHgwQSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLwotCXsgMHg2LCAweDdGLCAweDNG LCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCi19OwotCi1zdGF0aWMg Y29uc3Qgc3RydWN0IGljbF9tZ19waHlfZGRpX2J1Zl90cmFucyBpY2xfbWdfcGh5X2RkaV90cmFu c2xhdGlvbnNfcmJyX2hicltdID0gewotCQkJCS8qIFZvbHRhZ2Ugc3dpbmcgIHByZS1lbXBoYXNp cyAqLwotCXsgMHgxOCwgMHgwMCwgMHgwMCB9LAkvKiAwICAgICAgICAgICAgICAwICAgKi8KLQl7 IDB4MUQsIDB4MDAsIDB4MDUgfSwJLyogMCAgICAgICAgICAgICAgMSAgICovCi0JeyAweDI0LCAw eDAwLCAweDBDIH0sCS8qIDAgICAgICAgICAgICAgIDIgICAqLwotCXsgMHgyQiwgMHgwMCwgMHgx NCB9LAkvKiAwICAgICAgICAgICAgICAzICAgKi8KLQl7IDB4MjEsIDB4MDAsIDB4MDAgfSwJLyog MSAgICAgICAgICAgICAgMCAgICovCi0JeyAweDJCLCAweDAwLCAweDA4IH0sCS8qIDEgICAgICAg ICAgICAgIDEgICAqLwotCXsgMHgzMCwgMHgwMCwgMHgwRiB9LAkvKiAxICAgICAgICAgICAgICAy ICAgKi8KLQl7IDB4MzEsIDB4MDAsIDB4MDMgfSwJLyogMiAgICAgICAgICAgICAgMCAgICovCi0J eyAweDM0LCAweDAwLCAweDBCIH0sCS8qIDIgICAgICAgICAgICAgIDEgICAqLwotCXsgMHgzRiwg MHgwMCwgMHgwMCB9LAkvKiAzICAgICAgICAgICAgICAwICAgKi8KLX07Ci0KLXN0YXRpYyBjb25z dCBzdHJ1Y3QgaWNsX21nX3BoeV9kZGlfYnVmX3RyYW5zIGljbF9tZ19waHlfZGRpX3RyYW5zbGF0 aW9uc19oYnIyX2hicjNbXSA9IHsKLQkJCQkvKiBWb2x0YWdlIHN3aW5nICBwcmUtZW1waGFzaXMg Ki8KLQl7IDB4MTgsIDB4MDAsIDB4MDAgfSwJLyogMCAgICAgICAgICAgICAgMCAgICovCi0JeyAw eDFELCAweDAwLCAweDA1IH0sCS8qIDAgICAgICAgICAgICAgIDEgICAqLwotCXsgMHgyNCwgMHgw MCwgMHgwQyB9LAkvKiAwICAgICAgICAgICAgICAyICAgKi8KLQl7IDB4MkIsIDB4MDAsIDB4MTQg fSwJLyogMCAgICAgICAgICAgICAgMyAgICovCi0JeyAweDI2LCAweDAwLCAweDAwIH0sCS8qIDEg ICAgICAgICAgICAgIDAgICAqLwotCXsgMHgyQywgMHgwMCwgMHgwNyB9LAkvKiAxICAgICAgICAg ICAgICAxICAgKi8KLQl7IDB4MzMsIDB4MDAsIDB4MEMgfSwJLyogMSAgICAgICAgICAgICAgMiAg ICovCi0JeyAweDJFLCAweDAwLCAweDAwIH0sCS8qIDIgICAgICAgICAgICAgIDAgICAqLwotCXsg MHgzNiwgMHgwMCwgMHgwOSB9LAkvKiAyICAgICAgICAgICAgICAxICAgKi8KLQl7IDB4M0YsIDB4 MDAsIDB4MDAgfSwJLyogMyAgICAgICAgICAgICAgMCAgICovCi19OwotCi1zdGF0aWMgY29uc3Qg c3RydWN0IGljbF9tZ19waHlfZGRpX2J1Zl90cmFucyBpY2xfbWdfcGh5X2RkaV90cmFuc2xhdGlv bnNfaGRtaVtdID0gewotCQkJCS8qIEhETUkgUHJlc2V0CVZTCVByZS1lbXBoICovCi0JeyAweDFB LCAweDAsIDB4MCB9LAkvKiAxCQk0MDBtVgkwZEIgKi8KLQl7IDB4MjAsIDB4MCwgMHgwIH0sCS8q IDIJCTUwMG1WCTBkQiAqLwotCXsgMHgyOSwgMHgwLCAweDAgfSwJLyogMwkJNjUwbVYJMGRCICov Ci0JeyAweDMyLCAweDAsIDB4MCB9LAkvKiA0CQk4MDBtVgkwZEIgKi8KLQl7IDB4M0YsIDB4MCwg MHgwIH0sCS8qIDUJCTEwMDBtVgkwZEIgKi8KLQl7IDB4M0EsIDB4MCwgMHg1IH0sCS8qIDYJCUZ1 bGwJLTEuNSBkQiAqLwotCXsgMHgzOSwgMHgwLCAweDYgfSwJLyogNwkJRnVsbAktMS44IGRCICov Ci0JeyAweDM4LCAweDAsIDB4NyB9LAkvKiA4CQlGdWxsCS0yIGRCICovCi0JeyAweDM3LCAweDAs IDB4OCB9LAkvKiA5CQlGdWxsCS0yLjUgZEIgKi8KLQl7IDB4MzYsIDB4MCwgMHg5IH0sCS8qIDEw CQlGdWxsCS0zIGRCICovCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IHRnbF9ka2xfcGh5X2Rk aV9idWZfdHJhbnMgdGdsX2RrbF9waHlfZHBfZGRpX3RyYW5zW10gPSB7Ci0JCQkJLyogVlMJcHJl LWVtcAlOb24tdHJhbnMgbVYJUHJlLWVtcGggZEIgKi8KLQl7IDB4NywgMHgwLCAweDAwIH0sCS8q IDAJMAk0MDBtVgkJMCBkQiAqLwotCXsgMHg1LCAweDAsIDB4MDUgfSwJLyogMAkxCTQwMG1WCQkz LjUgZEIgKi8KLQl7IDB4MiwgMHgwLCAweDBCIH0sCS8qIDAJMgk0MDBtVgkJNiBkQiAqLwotCXsg MHgwLCAweDAsIDB4MTggfSwJLyogMAkzCTQwMG1WCQk5LjUgZEIgKi8KLQl7IDB4NSwgMHgwLCAw eDAwIH0sCS8qIDEJMAk2MDBtVgkJMCBkQiAqLwotCXsgMHgyLCAweDAsIDB4MDggfSwJLyogMQkx CTYwMG1WCQkzLjUgZEIgKi8KLQl7IDB4MCwgMHgwLCAweDE0IH0sCS8qIDEJMgk2MDBtVgkJNiBk QiAqLwotCXsgMHgyLCAweDAsIDB4MDAgfSwJLyogMgkwCTgwMG1WCQkwIGRCICovCi0JeyAweDAs IDB4MCwgMHgwQiB9LAkvKiAyCTEJODAwbVYJCTMuNSBkQiAqLwotCXsgMHgwLCAweDAsIDB4MDAg fSwJLyogMwkwCTEyMDBtVgkJMCBkQiBIRE1JIGRlZmF1bHQgKi8KLX07Ci0KLXN0YXRpYyBjb25z dCBzdHJ1Y3QgdGdsX2RrbF9waHlfZGRpX2J1Zl90cmFucyB0Z2xfZGtsX3BoeV9kcF9kZGlfdHJh bnNfaGJyMltdID0gewotCQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5zIG1WCVByZS1lbXBoIGRC ICovCi0JeyAweDcsIDB4MCwgMHgwMCB9LAkvKiAwCTAJNDAwbVYJCTAgZEIgKi8KLQl7IDB4NSwg MHgwLCAweDA1IH0sCS8qIDAJMQk0MDBtVgkJMy41IGRCICovCi0JeyAweDIsIDB4MCwgMHgwQiB9 LAkvKiAwCTIJNDAwbVYJCTYgZEIgKi8KLQl7IDB4MCwgMHgwLCAweDE5IH0sCS8qIDAJMwk0MDBt VgkJOS41IGRCICovCi0JeyAweDUsIDB4MCwgMHgwMCB9LAkvKiAxCTAJNjAwbVYJCTAgZEIgKi8K LQl7IDB4MiwgMHgwLCAweDA4IH0sCS8qIDEJMQk2MDBtVgkJMy41IGRCICovCi0JeyAweDAsIDB4 MCwgMHgxNCB9LAkvKiAxCTIJNjAwbVYJCTYgZEIgKi8KLQl7IDB4MiwgMHgwLCAweDAwIH0sCS8q IDIJMAk4MDBtVgkJMCBkQiAqLwotCXsgMHgwLCAweDAsIDB4MEIgfSwJLyogMgkxCTgwMG1WCQkz LjUgZEIgKi8KLQl7IDB4MCwgMHgwLCAweDAwIH0sCS8qIDMJMAkxMjAwbVYJCTAgZEIgSERNSSBk ZWZhdWx0ICovCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IHRnbF9ka2xfcGh5X2RkaV9idWZf dHJhbnMgdGdsX2RrbF9waHlfaGRtaV9kZGlfdHJhbnNbXSA9IHsKLQkJCQkvKiBIRE1JIFByZXNl dAlWUwlQcmUtZW1waCAqLwotCXsgMHg3LCAweDAsIDB4MCB9LAkvKiAxCQk0MDBtVgkwZEIgKi8K LQl7IDB4NiwgMHgwLCAweDAgfSwJLyogMgkJNTAwbVYJMGRCICovCi0JeyAweDQsIDB4MCwgMHgw IH0sCS8qIDMJCTY1MG1WCTBkQiAqLwotCXsgMHgyLCAweDAsIDB4MCB9LAkvKiA0CQk4MDBtVgkw ZEIgKi8KLQl7IDB4MCwgMHgwLCAweDAgfSwJLyogNQkJMTAwMG1WCTBkQiAqLwotCXsgMHgwLCAw eDAsIDB4NSB9LAkvKiA2CQlGdWxsCS0xLjUgZEIgKi8KLQl7IDB4MCwgMHgwLCAweDYgfSwJLyog NwkJRnVsbAktMS44IGRCICovCi0JeyAweDAsIDB4MCwgMHg3IH0sCS8qIDgJCUZ1bGwJLTIgZEIg Ki8KLQl7IDB4MCwgMHgwLCAweDggfSwJLyogOQkJRnVsbAktMi41IGRCICovCi0JeyAweDAsIDB4 MCwgMHhBIH0sCS8qIDEwCQlGdWxsCS0zIGRCICovCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0 IGNubF9kZGlfYnVmX3RyYW5zIHRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnJb XSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEsIDB4MzIsIDB4 M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KLQl7IDB4QSwgMHg0 RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwotCXsgMHhD LCAweDcxLCAweDJGLCAweDAwLCAweDEwIH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCi0J eyAweDYsIDB4N0QsIDB4MkIsIDB4MDAsIDB4MTQgfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAg Ki8KLQl7IDB4QSwgMHg0QywgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA1MDAgICA1MDAgICAgICAw LjAgICAqLwotCXsgMHhDLCAweDczLCAweDM0LCAweDAwLCAweDBCIH0sCS8qIDUwMCAgIDcwMCAg ICAgIDIuOSAgICovCi0JeyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogNTAwICAg OTAwICAgICAgNS4xICAgKi8KLQl7IDB4QywgMHg2QywgMHgzQywgMHgwMCwgMHgwMyB9LAkvKiA2 NTAgICA3MDAgICAgICAwLjYgICAqLwotCXsgMHg2LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0s CS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCi0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4 MDAgfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgY25sX2RkaV9idWZfdHJhbnMgdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hi cjJbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEsIDB4MzUs IDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KLQl7IDB4QSwg MHg0RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwotCXsg MHhDLCAweDYzLCAweDJGLCAweDAwLCAweDEwIH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICov Ci0JeyAweDYsIDB4N0YsIDB4MkIsIDB4MDAsIDB4MTQgfSwJLyogMzUwICAgOTAwICAgICAgOC4y ICAgKi8KLQl7IDB4QSwgMHg0NywgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA1MDAgICA1MDAgICAg ICAwLjAgICAqLwotCXsgMHhDLCAweDYzLCAweDM0LCAweDAwLCAweDBCIH0sCS8qIDUwMCAgIDcw MCAgICAgIDIuOSAgICovCi0JeyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogNTAw ICAgOTAwICAgICAgNS4xICAgKi8KLQl7IDB4QywgMHg2MSwgMHgzQywgMHgwMCwgMHgwMyB9LAkv KiA2NTAgICA3MDAgICAgICAwLjYgICAqLwotCXsgMHg2LCAweDdCLCAweDM1LCAweDAwLCAweDBB IH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCi0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAs IDB4MDAgfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KLX07Ci0KLXN0YXRpYyBjb25zdCBz dHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgdGdsX3V5X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25z X2RwX2hicjJbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEs IDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KLQl7 IDB4QSwgMHg0RiwgMHgzNiwgMHgwMCwgMHgwOSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAq LwotCXsgMHhDLCAweDYwLCAweDMyLCAweDAwLCAweDBEIH0sCS8qIDM1MCAgIDcwMCAgICAgIDYu MCAgICovCi0JeyAweEMsIDB4N0YsIDB4MkQsIDB4MDAsIDB4MTIgfSwJLyogMzUwICAgOTAwICAg ICAgOC4yICAgKi8KLQl7IDB4QywgMHg0NywgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA1MDAgICA1 MDAgICAgICAwLjAgICAqLwotCXsgMHhDLCAweDZGLCAweDM2LCAweDAwLCAweDA5IH0sCS8qIDUw MCAgIDcwMCAgICAgIDIuOSAgICovCi0JeyAweDYsIDB4N0QsIDB4MzIsIDB4MDAsIDB4MEQgfSwJ LyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KLQl7IDB4NiwgMHg2MCwgMHgzQywgMHgwMCwgMHgw MyB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwotCXsgMHg2LCAweDdGLCAweDM0LCAweDAw LCAweDBCIH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCi0JeyAweDYsIDB4N0YsIDB4M0Ys IDB4MDAsIDB4MDAgfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KK3N0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0 aW9uc19kcF9oYnIyW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KKwl7 IC5jbmwgPSB7IDB4QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDM1MCAgIDM1MCAg ICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEEsIDB4NEYsIDB4MzcsIDB4MDAsIDB4MDggfSB9 LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDcxLCAweDJG LCAweDAwLCAweDEwIH0gfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAgKi8KKwl7IC5jbmwgPSB7 IDB4NiwgMHg3RiwgMHgyQiwgMHgwMCwgMHgxNCB9IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAg ICovCisJeyAuY25sID0geyAweEEsIDB4NEMsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA1MDAg ICA1MDAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDczLCAweDM0LCAweDAwLCAw eDBCIH0gfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3 RiwgMHgyRiwgMHgwMCwgMHgxMCB9IH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCisJeyAu Y25sID0geyAweEMsIDB4NkMsIDB4M0MsIDB4MDAsIDB4MDMgfSB9LAkvKiA2NTAgICA3MDAgICAg ICAwLjYgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0gfSwJ LyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwg MHgwMCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCit9OworCitzdGF0aWMg Y29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBpY2xfY29tYm9fcGh5X2RkaV90 cmFuc2xhdGlvbnNfZWRwX2hicjJbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAg ICAqLworCXsgLmNubCA9IHsgMHgwLCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMjAw ICAgMjAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4OCwgMHg3RiwgMHgzOCwgMHgwMCwg MHgwNyB9IH0sCS8qIDIwMCAgIDI1MCAgICAgIDEuOSAgICovCisJeyAuY25sID0geyAweDEsIDB4 N0YsIDB4MzMsIDB4MDAsIDB4MEMgfSB9LAkvKiAyMDAgICAzMDAgICAgICAzLjUgICAqLworCXsg LmNubCA9IHsgMHg5LCAweDdGLCAweDMxLCAweDAwLCAweDBFIH0gfSwJLyogMjAwICAgMzUwICAg ICAgNC45ICAgKi8KKwl7IC5jbmwgPSB7IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0s CS8qIDI1MCAgIDI1MCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweDEsIDB4N0YsIDB4Mzgs IDB4MDAsIDB4MDcgfSB9LAkvKiAyNTAgICAzMDAgICAgICAxLjYgICAqLworCXsgLmNubCA9IHsg MHg5LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0gfSwJLyogMjUwICAgMzUwICAgICAgMi45ICAg Ki8KKwl7IC5jbmwgPSB7IDB4MSwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDMwMCAg IDMwMCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweDksIDB4N0YsIDB4MzgsIDB4MDAsIDB4 MDcgfSB9LAkvKiAzMDAgICAzNTAgICAgICAxLjMgICAqLworCXsgLmNubCA9IHsgMHg5LCAweDdG LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KK307CisK K3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyM1tdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5z IG1WIGRiICAgICovCisJeyAuY25sID0geyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9 LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDRGLCAweDM3 LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KKwl7IC5jbmwgPSB7 IDB4QywgMHg3MSwgMHgyRiwgMHgwMCwgMHgxMCB9IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAg ICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MkIsIDB4MDAsIDB4MTQgfSB9LAkvKiAzNTAg ICA5MDAgICAgICA4LjIgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDRDLCAweDNGLCAweDAwLCAw eDAwIH0gfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg3 MywgMHgzNCwgMHgwMCwgMHgwQiB9IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCisJeyAu Y25sID0geyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSB9LAkvKiA1MDAgICA5MDAgICAg ICA1LjEgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDZDLCAweDNDLCAweDAwLCAweDAzIH0gfSwJ LyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNSwg MHgwMCwgMHgwQSB9IH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCisJeyAuY25sID0geyAw eDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAq LworfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNs X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBU cmFucyBtViBkYiAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDYwLCAweDNGLCAweDAwLCAweDAw IH0gfSwJLyogNDUwICAgNDUwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QiwgMHg3Mywg MHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDQ1MCAgIDY1MCAgICAgIDMuMiAgICovCisJeyAuY25s ID0geyAweDYsIDB4N0YsIDB4MzEsIDB4MDAsIDB4MEUgfSB9LAkvKiA0NTAgICA4NTAgICAgICA1 LjUgICAqLworCXsgLmNubCA9IHsgMHhCLCAweDczLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyog NjUwICAgNjUwICAgICAgMC4wICAgQUxTICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4Mzcs IDB4MDAsIDB4MDggfSB9LAkvKiA2NTAgICA4NTAgICAgICAyLjMgICAqLworCXsgLmNubCA9IHsg MHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogODUwICAgODUwICAgICAgMC4wICAg Ki8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9IH0sCS8qIDYwMCAg IDg1MCAgICAgIDMuMCAgICovCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1 Zl90cmFuc19lbnRyeSBlaGxfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKKwkJ CQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDMzLCAw eDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KKwl7IC5jbmwg PSB7IDB4QSwgMHg0NywgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMu MSAgICovCisJeyAuY25sID0geyAweEMsIDB4NjQsIDB4MzQsIDB4MDAsIDB4MEIgfSB9LAkvKiAz NTAgICA3MDAgICAgICA2LjAgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDMwLCAweDAw LCAweDBGIH0gfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwg MHg0NiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCisJ eyAuY25sID0geyAweEMsIDB4NjQsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiA1MDAgICA3MDAg ICAgICAyLjkgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDMyLCAweDAwLCAweDBEIH0g fSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg2MSwgMHgz RiwgMHgwMCwgMHgwMCB9IH0sCS8qIDY1MCAgIDcwMCAgICAgIDAuNiAgICovCisJeyAuY25sID0g eyAweDYsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUg ICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAw ICAgOTAwICAgICAgMC4wICAgKi8KK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IGpzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyW10g PSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7IDB4OCwg MHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDIwMCAgIDIwMCAgICAgIDAuMCAgICovCisJ eyAuY25sID0geyAweDgsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyMDAgICAyNTAg ICAgICAxLjkgICAqLworCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDMzLCAweDAwLCAweDBDIH0g fSwJLyogMjAwICAgMzAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzNSwgMHgz NiwgMHgwMCwgMHgwOSB9IH0sCS8qIDIwMCAgIDM1MCAgICAgIDQuOSAgICovCisJeyAuY25sID0g eyAweDgsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAyNTAgICAyNTAgICAgICAwLjAg ICAqLworCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMjUw ICAgMzAwICAgICAgMS42ICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzNSwgMHgzNSwgMHgwMCwg MHgwQSB9IH0sCS8qIDI1MCAgIDM1MCAgICAgIDIuOSAgICovCisJeyAuY25sID0geyAweDEsIDB4 N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzMDAgICAzMDAgICAgICAwLjAgICAqLworCXsg LmNubCA9IHsgMHhBLCAweDM1LCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMzAwICAgMzUwICAg ICAgMS4zICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9IH0s CS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50 ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBqc2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRw X2hicjJbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsgLmNubCA9 IHsgMHg4LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMjAwICAgMjAwICAgICAgMC4w ICAgKi8KKwl7IC5jbmwgPSB7IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDIw MCAgIDI1MCAgICAgIDEuOSAgICovCisJeyAuY25sID0geyAweDEsIDB4N0YsIDB4M0QsIDB4MDAs IDB4MDIgfSB9LAkvKiAyMDAgICAzMDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHhBLCAw eDM1LCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMjAwICAgMzUwICAgICAgNC45ICAgKi8KKwl7 IC5jbmwgPSB7IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDI1MCAgIDI1MCAg ICAgIDAuMCAgICovCisJeyAuY25sID0geyAweDEsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9 LAkvKiAyNTAgICAzMDAgICAgICAxLjYgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNB LCAweDAwLCAweDA1IH0gfSwJLyogMjUwICAgMzUwICAgICAgMi45ICAgKi8KKwl7IC5jbmwgPSB7 IDB4MSwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDMwMCAgIDMwMCAgICAgIDAuMCAg ICovCisJeyAuY25sID0geyAweEEsIDB4MzUsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAzMDAg ICAzNTAgICAgICAxLjMgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAw eDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KK307CisKK3N0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGRnMV9jb21ib19waHlfZGRpX3RyYW5zbGF0 aW9uc19kcF9yYnJfaGJyW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8K Kwl7IC5jbmwgPSB7IDB4QSwgMHgzMiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDM1MCAgIDM1 MCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEEsIDB4NDgsIDB4MzUsIDB4MDAsIDB4MEEg fSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDYzLCAw eDJGLCAweDAwLCAweDEwIH0gfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAgKi8KKwl7IC5jbmwg PSB7IDB4NiwgMHg3RiwgMHgyQywgMHgwMCwgMHgxMyB9IH0sCS8qIDM1MCAgIDkwMCAgICAgIDgu MiAgICovCisJeyAuY25sID0geyAweEEsIDB4NDMsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA1 MDAgICA1MDAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDYwLCAweDM2LCAweDAw LCAweDA5IH0gfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KKwl7IC5jbmwgPSB7IDB4Niwg MHg3RiwgMHgzMCwgMHgwMCwgMHgwRiB9IH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCisJ eyAuY25sID0geyAweEMsIDB4NjAsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA2NTAgICA3MDAg ICAgICAwLjYgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM3LCAweDAwLCAweDA4IH0g fSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgz RiwgMHgwMCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCit9OworCitzdGF0 aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBkZzFfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfZHBfaGJyMl9oYnIzW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMg bVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzMiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0s CS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEEsIDB4NDgsIDB4MzUs IDB4MDAsIDB4MEEgfSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLworCXsgLmNubCA9IHsg MHhDLCAweDYzLCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAg Ki8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgyQywgMHgwMCwgMHgxMyB9IH0sCS8qIDM1MCAg IDkwMCAgICAgIDguMiAgICovCisJeyAuY25sID0geyAweEEsIDB4NDMsIDB4M0YsIDB4MDAsIDB4 MDAgfSB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDYw LCAweDM2LCAweDAwLCAweDA5IH0gfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KKwl7IC5j bmwgPSB7IDB4NiwgMHg3RiwgMHgzMCwgMHgwMCwgMHgwRiB9IH0sCS8qIDUwMCAgIDkwMCAgICAg IDUuMSAgICovCisJeyAuY25sID0geyAweEMsIDB4NTgsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkv KiA2NTAgICA3MDAgICAgICAwLjYgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM1LCAw eDAwLCAweDBBIH0gfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4 NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICov Cit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBpY2xf bWdfcGh5X2RkaV90cmFuc2xhdGlvbnNfcmJyX2hicltdID0geworCQkJCQkvKiBWb2x0YWdlIHN3 aW5nICBwcmUtZW1waGFzaXMgKi8KKwl7IC5tZyA9IHsgMHgxOCwgMHgwMCwgMHgwMCB9IH0sCS8q IDAgICAgICAgICAgICAgIDAgICAqLworCXsgLm1nID0geyAweDFELCAweDAwLCAweDA1IH0gfSwJ LyogMCAgICAgICAgICAgICAgMSAgICovCisJeyAubWcgPSB7IDB4MjQsIDB4MDAsIDB4MEMgfSB9 LAkvKiAwICAgICAgICAgICAgICAyICAgKi8KKwl7IC5tZyA9IHsgMHgyQiwgMHgwMCwgMHgxNCB9 IH0sCS8qIDAgICAgICAgICAgICAgIDMgICAqLworCXsgLm1nID0geyAweDIxLCAweDAwLCAweDAw IH0gfSwJLyogMSAgICAgICAgICAgICAgMCAgICovCisJeyAubWcgPSB7IDB4MkIsIDB4MDAsIDB4 MDggfSB9LAkvKiAxICAgICAgICAgICAgICAxICAgKi8KKwl7IC5tZyA9IHsgMHgzMCwgMHgwMCwg MHgwRiB9IH0sCS8qIDEgICAgICAgICAgICAgIDIgICAqLworCXsgLm1nID0geyAweDMxLCAweDAw LCAweDAzIH0gfSwJLyogMiAgICAgICAgICAgICAgMCAgICovCisJeyAubWcgPSB7IDB4MzQsIDB4 MDAsIDB4MEIgfSB9LAkvKiAyICAgICAgICAgICAgICAxICAgKi8KKwl7IC5tZyA9IHsgMHgzRiwg MHgwMCwgMHgwMCB9IH0sCS8qIDMgICAgICAgICAgICAgIDAgICAqLworfTsKKworc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX21nX3BoeV9kZGlfdHJhbnNs YXRpb25zX2hicjJfaGJyM1tdID0geworCQkJCQkvKiBWb2x0YWdlIHN3aW5nICBwcmUtZW1waGFz aXMgKi8KKwl7IC5tZyA9IHsgMHgxOCwgMHgwMCwgMHgwMCB9IH0sCS8qIDAgICAgICAgICAgICAg IDAgICAqLworCXsgLm1nID0geyAweDFELCAweDAwLCAweDA1IH0gfSwJLyogMCAgICAgICAgICAg ICAgMSAgICovCisJeyAubWcgPSB7IDB4MjQsIDB4MDAsIDB4MEMgfSB9LAkvKiAwICAgICAgICAg ICAgICAyICAgKi8KKwl7IC5tZyA9IHsgMHgyQiwgMHgwMCwgMHgxNCB9IH0sCS8qIDAgICAgICAg ICAgICAgIDMgICAqLworCXsgLm1nID0geyAweDI2LCAweDAwLCAweDAwIH0gfSwJLyogMSAgICAg ICAgICAgICAgMCAgICovCisJeyAubWcgPSB7IDB4MkMsIDB4MDAsIDB4MDcgfSB9LAkvKiAxICAg ICAgICAgICAgICAxICAgKi8KKwl7IC5tZyA9IHsgMHgzMywgMHgwMCwgMHgwQyB9IH0sCS8qIDEg ICAgICAgICAgICAgIDIgICAqLworCXsgLm1nID0geyAweDJFLCAweDAwLCAweDAwIH0gfSwJLyog MiAgICAgICAgICAgICAgMCAgICovCisJeyAubWcgPSB7IDB4MzYsIDB4MDAsIDB4MDkgfSB9LAkv KiAyICAgICAgICAgICAgICAxICAgKi8KKwl7IC5tZyA9IHsgMHgzRiwgMHgwMCwgMHgwMCB9IH0s CS8qIDMgICAgICAgICAgICAgIDAgICAqLworfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9 IHsKKwkJCQkJLyogSERNSSBQcmVzZXQJVlMJUHJlLWVtcGggKi8KKwl7IC5tZyA9IHsgMHgxQSwg MHgwLCAweDAgfSB9LAkvKiAxCQk0MDBtVgkwZEIgKi8KKwl7IC5tZyA9IHsgMHgyMCwgMHgwLCAw eDAgfSB9LAkvKiAyCQk1MDBtVgkwZEIgKi8KKwl7IC5tZyA9IHsgMHgyOSwgMHgwLCAweDAgfSB9 LAkvKiAzCQk2NTBtVgkwZEIgKi8KKwl7IC5tZyA9IHsgMHgzMiwgMHgwLCAweDAgfSB9LAkvKiA0 CQk4MDBtVgkwZEIgKi8KKwl7IC5tZyA9IHsgMHgzRiwgMHgwLCAweDAgfSB9LAkvKiA1CQkxMDAw bVYJMGRCICovCisJeyAubWcgPSB7IDB4M0EsIDB4MCwgMHg1IH0gfSwJLyogNgkJRnVsbAktMS41 IGRCICovCisJeyAubWcgPSB7IDB4MzksIDB4MCwgMHg2IH0gfSwJLyogNwkJRnVsbAktMS44IGRC ICovCisJeyAubWcgPSB7IDB4MzgsIDB4MCwgMHg3IH0gfSwJLyogOAkJRnVsbAktMiBkQiAqLwor CXsgLm1nID0geyAweDM3LCAweDAsIDB4OCB9IH0sCS8qIDkJCUZ1bGwJLTIuNSBkQiAqLworCXsg Lm1nID0geyAweDM2LCAweDAsIDB4OSB9IH0sCS8qIDEwCQlGdWxsCS0zIGRCICovCit9OworCitz dGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSB0Z2xfZGtsX3BoeV9k cF9kZGlfdHJhbnNbXSA9IHsKKwkJCQkJLyogVlMJcHJlLWVtcAlOb24tdHJhbnMgbVYJUHJlLWVt cGggZEIgKi8KKwl7IC5ka2wgPSB7IDB4NywgMHgwLCAweDAwIH0gfSwJLyogMAkwCTQwMG1WCQkw IGRCICovCisJeyAuZGtsID0geyAweDUsIDB4MCwgMHgwNSB9IH0sCS8qIDAJMQk0MDBtVgkJMy41 IGRCICovCisJeyAuZGtsID0geyAweDIsIDB4MCwgMHgwQiB9IH0sCS8qIDAJMgk0MDBtVgkJNiBk QiAqLworCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MTggfSB9LAkvKiAwCTMJNDAwbVYJCTkuNSBk QiAqLworCXsgLmRrbCA9IHsgMHg1LCAweDAsIDB4MDAgfSB9LAkvKiAxCTAJNjAwbVYJCTAgZEIg Ki8KKwl7IC5ka2wgPSB7IDB4MiwgMHgwLCAweDA4IH0gfSwJLyogMQkxCTYwMG1WCQkzLjUgZEIg Ki8KKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDE0IH0gfSwJLyogMQkyCTYwMG1WCQk2IGRCICov CisJeyAuZGtsID0geyAweDIsIDB4MCwgMHgwMCB9IH0sCS8qIDIJMAk4MDBtVgkJMCBkQiAqLwor CXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MEIgfSB9LAkvKiAyCTEJODAwbVYJCTMuNSBkQiAqLwor CXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MDAgfSB9LAkvKiAzCTAJMTIwMG1WCQkwIGRCIEhETUkg ZGVmYXVsdCAqLworfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNf ZW50cnkgdGdsX2RrbF9waHlfZHBfZGRpX3RyYW5zX2hicjJbXSA9IHsKKwkJCQkJLyogVlMJcHJl LWVtcAlOb24tdHJhbnMgbVYJUHJlLWVtcGggZEIgKi8KKwl7IC5ka2wgPSB7IDB4NywgMHgwLCAw eDAwIH0gfSwJLyogMAkwCTQwMG1WCQkwIGRCICovCisJeyAuZGtsID0geyAweDUsIDB4MCwgMHgw NSB9IH0sCS8qIDAJMQk0MDBtVgkJMy41IGRCICovCisJeyAuZGtsID0geyAweDIsIDB4MCwgMHgw QiB9IH0sCS8qIDAJMgk0MDBtVgkJNiBkQiAqLworCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MTkg fSB9LAkvKiAwCTMJNDAwbVYJCTkuNSBkQiAqLworCXsgLmRrbCA9IHsgMHg1LCAweDAsIDB4MDAg fSB9LAkvKiAxCTAJNjAwbVYJCTAgZEIgKi8KKwl7IC5ka2wgPSB7IDB4MiwgMHgwLCAweDA4IH0g fSwJLyogMQkxCTYwMG1WCQkzLjUgZEIgKi8KKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDE0IH0g fSwJLyogMQkyCTYwMG1WCQk2IGRCICovCisJeyAuZGtsID0geyAweDIsIDB4MCwgMHgwMCB9IH0s CS8qIDIJMAk4MDBtVgkJMCBkQiAqLworCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MEIgfSB9LAkv KiAyCTEJODAwbVYJCTMuNSBkQiAqLworCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MDAgfSB9LAkv KiAzCTAJMTIwMG1WCQkwIGRCIEhETUkgZGVmYXVsdCAqLworfTsKKworc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX2RrbF9waHlfaGRtaV9kZGlfdHJhbnNb XSA9IHsKKwkJCQkJLyogSERNSSBQcmVzZXQJVlMJUHJlLWVtcGggKi8KKwl7IC5ka2wgPSB7IDB4 NywgMHgwLCAweDAgfSB9LAkvKiAxCQk0MDBtVgkwZEIgKi8KKwl7IC5ka2wgPSB7IDB4NiwgMHgw LCAweDAgfSB9LAkvKiAyCQk1MDBtVgkwZEIgKi8KKwl7IC5ka2wgPSB7IDB4NCwgMHgwLCAweDAg fSB9LAkvKiAzCQk2NTBtVgkwZEIgKi8KKwl7IC5ka2wgPSB7IDB4MiwgMHgwLCAweDAgfSB9LAkv KiA0CQk4MDBtVgkwZEIgKi8KKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDAgfSB9LAkvKiA1CQkx MDAwbVYJMGRCICovCisJeyAuZGtsID0geyAweDAsIDB4MCwgMHg1IH0gfSwJLyogNgkJRnVsbAkt MS41IGRCICovCisJeyAuZGtsID0geyAweDAsIDB4MCwgMHg2IH0gfSwJLyogNwkJRnVsbAktMS44 IGRCICovCisJeyAuZGtsID0geyAweDAsIDB4MCwgMHg3IH0gfSwJLyogOAkJRnVsbAktMiBkQiAq LworCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4OCB9IH0sCS8qIDkJCUZ1bGwJLTIuNSBkQiAqLwor CXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4QSB9IH0sCS8qIDEwCQlGdWxsCS0zIGRCICovCit9Owor CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSB0Z2xfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMg bVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzMiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0s CS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEEsIDB4NEYsIDB4Mzcs IDB4MDAsIDB4MDggfSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLworCXsgLmNubCA9IHsg MHhDLCAweDcxLCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAg Ki8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RCwgMHgyQiwgMHgwMCwgMHgxNCB9IH0sCS8qIDM1MCAg IDkwMCAgICAgIDguMiAgICovCisJeyAuY25sID0geyAweEEsIDB4NEMsIDB4M0YsIDB4MDAsIDB4 MDAgfSB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDcz LCAweDM0LCAweDAwLCAweDBCIH0gfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KKwl7IC5j bmwgPSB7IDB4NiwgMHg3RiwgMHgyRiwgMHgwMCwgMHgxMCB9IH0sCS8qIDUwMCAgIDkwMCAgICAg IDUuMSAgICovCisJeyAuY25sID0geyAweEMsIDB4NkMsIDB4M0MsIDB4MDAsIDB4MDMgfSB9LAkv KiA2NTAgICA3MDAgICAgICAwLjYgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM1LCAw eDAwLCAweDBBIH0gfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4 NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICov Cit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSB0Z2xf Y29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMltdID0geworCQkJCQkJCS8qIE5UIG1W IFRyYW5zIG1WIGRiICAgICovCisJeyAuY25sID0geyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4 MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDRG LCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KKwl7IC5j bmwgPSB7IDB4QywgMHg2MywgMHgyRiwgMHgwMCwgMHgxMCB9IH0sCS8qIDM1MCAgIDcwMCAgICAg IDYuMCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MkIsIDB4MDAsIDB4MTQgfSB9LAkv KiAzNTAgICA5MDAgICAgICA4LjIgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDQ3LCAweDNGLCAw eDAwLCAweDAwIH0gfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4 QywgMHg2MywgMHgzNCwgMHgwMCwgMHgwQiB9IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICov CisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSB9LAkvKiA1MDAgICA5 MDAgICAgICA1LjEgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDYxLCAweDNDLCAweDAwLCAweDAz IH0gfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3Qiwg MHgzNSwgMHgwMCwgMHgwQSB9IH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCisJeyAuY25s ID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAw LjAgICAqLworfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgdGdsX3V5X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjJbXSA9IHsKKwkJCQkJ CQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNG LCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7 IDB4QSwgMHg0RiwgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAg ICovCisJeyAuY25sID0geyAweEMsIDB4NjAsIDB4MzIsIDB4MDAsIDB4MEQgfSB9LAkvKiAzNTAg ICA3MDAgICAgICA2LjAgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDdGLCAweDJELCAweDAwLCAw eDEyIH0gfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg0 NywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCisJeyAu Y25sID0geyAweEMsIDB4NkYsIDB4MzYsIDB4MDAsIDB4MDkgfSB9LAkvKiA1MDAgICA3MDAgICAg ICAyLjkgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdELCAweDMyLCAweDAwLCAweDBEIH0gfSwJ LyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg2MCwgMHgzQywg MHgwMCwgMHgwMyB9IH0sCS8qIDY1MCAgIDcwMCAgICAgIDAuNiAgICovCisJeyAuY25sID0geyAw eDYsIDB4N0YsIDB4MzQsIDB4MDAsIDB4MEIgfSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAq LworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAg OTAwICAgICAgMC4wICAgKi8KIH07CiAKIC8qCiAgKiBDbG9uZWQgdGhlIEhPQkwgZW50cnkgdG8g Y29tcGx5IHdpdGggdGhlIHZvbHRhZ2UgYW5kIHByZS1lbXBoYXNpcyBlbnRyaWVzCiAgKiB0aGF0 IERpc3BsYXlQb3J0IHNwZWNpZmljYXRpb24gcmVxdWlyZXMKICAqLwotc3RhdGljIGNvbnN0IHN0 cnVjdCBjbmxfZGRpX2J1Zl90cmFucyB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRw X2hicjJfaG9ibFtdID0gewotCQkJCQkJLyogVlMJcHJlLWVtcAkqLwotCXsgMHg2LCAweDdGLCAw eDNGLCAweDAwLCAweDAwIH0sCS8qIDAJMAkqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAw eDAwIH0sCS8qIDAJMQkqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDAJ MgkqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDAJMwkqLwotCXsgMHg2 LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDEJMAkqLwotCXsgMHg2LCAweDdGLCAweDNG LCAweDAwLCAweDAwIH0sCS8qIDEJMQkqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAw IH0sCS8qIDEJMgkqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDIJMAkq LwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDIJMQkqLworc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX2NvbWJvX3BoeV9kZGlfdHJh bnNsYXRpb25zX2VkcF9oYnIyX2hvYmxbXSA9IHsKKwkJCQkJCQkvKiBWUwlwcmUtZW1wCSovCisJ eyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAwCTAJKi8KKwl7 IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDAJMQkqLworCXsg LmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMAkyCSovCisJeyAu Y25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAwCTMJKi8KKwl7IC5j bmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDEJMAkqLworCXsgLmNu bCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMQkxCSovCisJeyAuY25s ID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAxCTIJKi8KKwl7IC5jbmwg PSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDIJMAkqLworCXsgLmNubCA9 IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMgkxCSovCiB9OwogCi1zdGF0 aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIHJrbF9jb21ib19waHlfZGRpX3RyYW5z bGF0aW9uc19kcF9oYnJbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0J eyAweEEsIDB4MkYsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAg Ki8KLQl7IDB4QSwgMHg0RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiAzNTAgICA1MDAgICAgICAz LjEgICAqLwotCXsgMHhDLCAweDYzLCAweDJGLCAweDAwLCAweDEwIH0sCS8qIDM1MCAgIDcwMCAg ICAgIDYuMCAgICovCi0JeyAweDYsIDB4N0QsIDB4MkEsIDB4MDAsIDB4MTUgfSwJLyogMzUwICAg OTAwICAgICAgOC4yICAgKi8KLQl7IDB4QSwgMHg0QywgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA1 MDAgICA1MDAgICAgICAwLjAgICAqLwotCXsgMHhDLCAweDczLCAweDM0LCAweDAwLCAweDBCIH0s CS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCi0JeyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4 MTAgfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KLQl7IDB4QywgMHg2RSwgMHgzRSwgMHgw MCwgMHgwMSB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwotCXsgMHg2LCAweDdGLCAweDM1 LCAweDAwLCAweDBBIH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCi0JeyAweDYsIDB4N0Ys IDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KK3N0YXRpYyBj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHJrbF9jb21ib19waHlfZGRpX3Ry YW5zbGF0aW9uc19kcF9oYnJbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAq LworCXsgLmNubCA9IHsgMHhBLCAweDJGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAg MzUwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg0RiwgMHgzNywgMHgwMCwgMHgw OCB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCisJeyAuY25sID0geyAweEMsIDB4NjMs IDB4MkYsIDB4MDAsIDB4MTAgfSB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLworCXsgLmNu bCA9IHsgMHg2LCAweDdELCAweDJBLCAweDAwLCAweDE1IH0gfSwJLyogMzUwICAgOTAwICAgICAg OC4yICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg0QywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8q IDUwMCAgIDUwMCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEMsIDB4NzMsIDB4MzQsIDB4 MDAsIDB4MEIgfSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLworCXsgLmNubCA9IHsgMHg2 LCAweDdGLCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8K Kwl7IC5jbmwgPSB7IDB4QywgMHg2RSwgMHgzRSwgMHgwMCwgMHgwMSB9IH0sCS8qIDY1MCAgIDcw MCAgICAgIDAuNiAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEg fSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAw eDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KIH07CiAKLXN0 YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgcmtsX2NvbWJvX3BoeV9kZGlfdHJh bnNsYXRpb25zX2RwX2hicjJfaGJyM1tdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIg ICAgKi8KLQl7IDB4QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAg ICAwLjAgICAqLwotCXsgMHhBLCAweDUwLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDM1MCAgIDUw MCAgICAgIDMuMSAgICovCi0JeyAweEMsIDB4NjEsIDB4MzMsIDB4MDAsIDB4MEMgfSwJLyogMzUw ICAgNzAwICAgICAgNi4wICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgyRSwgMHgwMCwgMHgxMSB9LAkv KiAzNTAgICA5MDAgICAgICA4LjIgICAqLwotCXsgMHhBLCAweDQ3LCAweDNGLCAweDAwLCAweDAw IH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCi0JeyAweEMsIDB4NUYsIDB4MzgsIDB4MDAs IDB4MDcgfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgyRiwg MHgwMCwgMHgxMCB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLwotCXsgMHhDLCAweDVGLCAw eDNGLCAweDAwLCAweDAwIH0sCS8qIDY1MCAgIDcwMCAgICAgIDAuNiAgICovCi0JeyAweDYsIDB4 N0UsIDB4MzYsIDB4MDAsIDB4MDkgfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KLQl7IDB4 NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwor c3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgcmtsX2NvbWJvX3Bo eV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJyM1tdID0geworCQkJCQkJCS8qIE5UIG1WIFRy YW5zIG1WIGRiICAgICovCisJeyAuY25sID0geyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAg fSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDUwLCAw eDM4LCAweDAwLCAweDA3IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KKwl7IC5jbmwg PSB7IDB4QywgMHg2MSwgMHgzMywgMHgwMCwgMHgwQyB9IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYu MCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MkUsIDB4MDAsIDB4MTEgfSB9LAkvKiAz NTAgICA5MDAgICAgICA4LjIgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDQ3LCAweDNGLCAweDAw LCAweDAwIH0gfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4Qywg MHg1RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCisJ eyAuY25sID0geyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSB9LAkvKiA1MDAgICA5MDAg ICAgICA1LjEgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDVGLCAweDNGLCAweDAwLCAweDAwIH0g fSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RSwgMHgz NiwgMHgwMCwgMHgwOSB9IH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCisJeyAuY25sID0g eyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAg ICAqLwogfTsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlfYnVmX3RyYW5z IGFkbHBfZGtsX3BoeV9kcF9kZGlfdHJhbnNfaGJyW10gPSB7Ci0JCQkJLyogVlMJcHJlLWVtcAlO b24tdHJhbnMgbVYJUHJlLWVtcGggZEIgKi8KLQl7IDB4NywgMHgwLCAweDAxIH0sCS8qIDAJMAk0 MDBtVgkJMCBkQiAqLwotCXsgMHg1LCAweDAsIDB4MDYgfSwJLyogMAkxCTQwMG1WCQkzLjUgZEIg Ki8KLQl7IDB4MiwgMHgwLCAweDBCIH0sCS8qIDAJMgk0MDBtVgkJNiBkQiAqLwotCXsgMHgwLCAw eDAsIDB4MTcgfSwJLyogMAkzCTQwMG1WCQk5LjUgZEIgKi8KLQl7IDB4NSwgMHgwLCAweDAwIH0s CS8qIDEJMAk2MDBtVgkJMCBkQiAqLwotCXsgMHgyLCAweDAsIDB4MDggfSwJLyogMQkxCTYwMG1W CQkzLjUgZEIgKi8KLQl7IDB4MCwgMHgwLCAweDE0IH0sCS8qIDEJMgk2MDBtVgkJNiBkQiAqLwot CXsgMHgyLCAweDAsIDB4MDAgfSwJLyogMgkwCTgwMG1WCQkwIGRCICovCi0JeyAweDAsIDB4MCwg MHgwQiB9LAkvKiAyCTEJODAwbVYJCTMuNSBkQiAqLwotCXsgMHgwLCAweDAsIDB4MDAgfSwJLyog MwkwCTEyMDBtVgkJMCBkQiAqLworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkgYWRscF9ka2xfcGh5X2RwX2RkaV90cmFuc19oYnJbXSA9IHsKKwkJCQkJLyogVlMJ cHJlLWVtcAlOb24tdHJhbnMgbVYJUHJlLWVtcGggZEIgKi8KKwl7IC5ka2wgPSB7IDB4NywgMHgw LCAweDAxIH0gfSwJLyogMAkwCTQwMG1WCQkwIGRCICovCisJeyAuZGtsID0geyAweDUsIDB4MCwg MHgwNiB9IH0sCS8qIDAJMQk0MDBtVgkJMy41IGRCICovCisJeyAuZGtsID0geyAweDIsIDB4MCwg MHgwQiB9IH0sCS8qIDAJMgk0MDBtVgkJNiBkQiAqLworCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4 MTcgfSB9LAkvKiAwCTMJNDAwbVYJCTkuNSBkQiAqLworCXsgLmRrbCA9IHsgMHg1LCAweDAsIDB4 MDAgfSB9LAkvKiAxCTAJNjAwbVYJCTAgZEIgKi8KKwl7IC5ka2wgPSB7IDB4MiwgMHgwLCAweDA4 IH0gfSwJLyogMQkxCTYwMG1WCQkzLjUgZEIgKi8KKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDE0 IH0gfSwJLyogMQkyCTYwMG1WCQk2IGRCICovCisJeyAuZGtsID0geyAweDIsIDB4MCwgMHgwMCB9 IH0sCS8qIDIJMAk4MDBtVgkJMCBkQiAqLworCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MEIgfSB9 LAkvKiAyCTEJODAwbVYJCTMuNSBkQiAqLworCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MDAgfSB9 LAkvKiAzCTAJMTIwMG1WCQkwIGRCICovCiB9OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IHRnbF9k a2xfcGh5X2RkaV9idWZfdHJhbnMgYWRscF9ka2xfcGh5X2RwX2RkaV90cmFuc19oYnIyX2hicjNb XSA9IHsKLQkJCQkvKiBWUwlwcmUtZW1wCU5vbi10cmFucyBtVglQcmUtZW1waCBkQiAqLwotCXsg MHg3LCAweDAsIDB4MDAgfSwJLyogMAkwCTQwMG1WCQkwIGRCICovCi0JeyAweDUsIDB4MCwgMHgw NCB9LAkvKiAwCTEJNDAwbVYJCTMuNSBkQiAqLwotCXsgMHgyLCAweDAsIDB4MEEgfSwJLyogMAky CTQwMG1WCQk2IGRCICovCi0JeyAweDAsIDB4MCwgMHgxOCB9LAkvKiAwCTMJNDAwbVYJCTkuNSBk QiAqLwotCXsgMHg1LCAweDAsIDB4MDAgfSwJLyogMQkwCTYwMG1WCQkwIGRCICovCi0JeyAweDIs IDB4MCwgMHgwNiB9LAkvKiAxCTEJNjAwbVYJCTMuNSBkQiAqLwotCXsgMHgwLCAweDAsIDB4MTQg fSwJLyogMQkyCTYwMG1WCQk2IGRCICovCi0JeyAweDIsIDB4MCwgMHgwMCB9LAkvKiAyCTAJODAw bVYJCTAgZEIgKi8KLQl7IDB4MCwgMHgwLCAweDA5IH0sCS8qIDIJMQk4MDBtVgkJMy41IGRCICov Ci0JeyAweDAsIDB4MCwgMHgwMCB9LAkvKiAzCTAJMTIwMG1WCQkwIGRCICovCitzdGF0aWMgY29u c3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBhZGxwX2RrbF9waHlfZHBfZGRpX3Ry YW5zX2hicjJfaGJyM1tdID0geworCQkJCQkvKiBWUwlwcmUtZW1wCU5vbi10cmFucyBtVglQcmUt ZW1waCBkQiAqLworCXsgLmRrbCA9IHsgMHg3LCAweDAsIDB4MDAgfSB9LAkvKiAwCTAJNDAwbVYJ CTAgZEIgKi8KKwl7IC5ka2wgPSB7IDB4NSwgMHgwLCAweDA0IH0gfSwJLyogMAkxCTQwMG1WCQkz LjUgZEIgKi8KKwl7IC5ka2wgPSB7IDB4MiwgMHgwLCAweDBBIH0gfSwJLyogMAkyCTQwMG1WCQk2 IGRCICovCisJeyAuZGtsID0geyAweDAsIDB4MCwgMHgxOCB9IH0sCS8qIDAJMwk0MDBtVgkJOS41 IGRCICovCisJeyAuZGtsID0geyAweDUsIDB4MCwgMHgwMCB9IH0sCS8qIDEJMAk2MDBtVgkJMCBk QiAqLworCXsgLmRrbCA9IHsgMHgyLCAweDAsIDB4MDYgfSB9LAkvKiAxCTEJNjAwbVYJCTMuNSBk QiAqLworCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MTQgfSB9LAkvKiAxCTIJNjAwbVYJCTYgZEIg Ki8KKwl7IC5ka2wgPSB7IDB4MiwgMHgwLCAweDAwIH0gfSwJLyogMgkwCTgwMG1WCQkwIGRCICov CisJeyAuZGtsID0geyAweDAsIDB4MCwgMHgwOSB9IH0sCS8qIDIJMQk4MDBtVgkJMy41IGRCICov CisJeyAuZGtsID0geyAweDAsIDB4MCwgMHgwMCB9IH0sCS8qIDMJMAkxMjAwbVYJCTAgZEIgKi8K IH07CiAKLWJvb2wgaXNfaG9ibF9idWZfdHJhbnMoY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3Ry YW5zICp0YWJsZSkKK2Jvb2wgaXNfaG9ibF9idWZfdHJhbnMoY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSAqdGFibGUpCiB7CiAJcmV0dXJuIHRhYmxlID09IHRnbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMl9ob2JsOwogfQogCi1zdGF0aWMgY29uc3Qgc3Ry dWN0IGhzd19kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVm X3RyYW5zX2VudHJ5ICoKIGJkd19nZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CkBAIC03ODEsNyArNzgxLDcg QEAgYmR3X2dldF9idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBp bnQgKm5fZW50cmllcykKIAl9CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZf dHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgog c2tsX2dldF9idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAq bl9lbnRyaWVzKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAtNzk4LDcgKzc5OCw3IEBAIHNrbF9nZXRfYnVmX3Ry YW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKIAl9 CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgoga2JsX2dldF9idWZfdHJhbnNf ZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5k ZXYpOwpAQCAtODE5LDcgKzgxOSw3IEBAIGtibF9nZXRfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKIAl9CiB9CiAKLXN0YXRpYyBjb25z dCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2Rk aV9idWZfdHJhbnNfZW50cnkgKgogc2tsX2dldF9idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKQEAgLTg1MSw3ICs4 NTEsNyBAQCBza2xfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsIGludCAqbl9lbnRyaWVzKQogCQlyZXR1cm4gc2tsX2dldF9idWZfdHJhbnNfZHAoZW5jb2Rl ciwgbl9lbnRyaWVzKTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFu cyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBza2xf Z2V0X2J1Zl90cmFuc19oZG1pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50 ICpuX2VudHJpZXMpCiB7CiAJaWYgKElTX1NLTF9VTFgoZGV2X3ByaXYpIHx8CkBAIC04NzUsNyAr ODc1LDcgQEAgc3RhdGljIGludCBza2xfYnVmX3RyYW5zX251bV9lbnRyaWVzKGVudW0gcG9ydCBw b3J0LCBpbnQgbl9lbnRyaWVzKQogCQlyZXR1cm4gbWluKG5fZW50cmllcywgOSk7CiB9CiAKLXN0 YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogaHN3X2dldF9idWZfdHJhbnNfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAt ODgzLDEyICs4ODMsMTIgQEAgaHN3X2dldF9idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogCWlmIChJU19LQUJZTEFLRShkZXZfcHJpdikg fHwKIAkgICAgSVNfQ09GRkVFTEFLRShkZXZfcHJpdikgfHwKIAkgICAgSVNfQ09NRVRMQUtFKGRl dl9wcml2KSkgewotCQljb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xh dGlvbnMgPQorCQljb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJh bnNsYXRpb25zID0KIAkJCWtibF9nZXRfYnVmX3RyYW5zX2RwKGVuY29kZXIsIG5fZW50cmllcyk7 CiAJCSpuX2VudHJpZXMgPSBza2xfYnVmX3RyYW5zX251bV9lbnRyaWVzKGVuY29kZXItPnBvcnQs ICpuX2VudHJpZXMpOwogCQlyZXR1cm4gZGRpX3RyYW5zbGF0aW9uczsKIAl9IGVsc2UgaWYgKElT X1NLWUxBS0UoZGV2X3ByaXYpKSB7Ci0JCWNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAq ZGRpX3RyYW5zbGF0aW9ucyA9CisJCWNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgKmRkaV90cmFuc2xhdGlvbnMgPQogCQkJc2tsX2dldF9idWZfdHJhbnNfZHAoZW5jb2Rlciwg bl9lbnRyaWVzKTsKIAkJKm5fZW50cmllcyA9IHNrbF9idWZfdHJhbnNfbnVtX2VudHJpZXMoZW5j b2Rlci0+cG9ydCwgKm5fZW50cmllcyk7CiAJCXJldHVybiBkZGlfdHJhbnNsYXRpb25zOwpAQCAt OTA0LDEzICs5MDQsMTMgQEAgaHN3X2dldF9idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogCXJldHVybiBOVUxMOwogfQogCi1zdGF0aWMg Y29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGhzd19nZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAKIAlpZiAo RElTUExBWV9WRVIoZGV2X3ByaXYpID09IDkgJiYgIUlTX0JST1hUT04oZGV2X3ByaXYpKSB7Ci0J CWNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9ucyA9CisJCWNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRkaV90cmFuc2xhdGlvbnMgPQog CQkJc2tsX2dldF9idWZfdHJhbnNfZWRwKGVuY29kZXIsIG5fZW50cmllcyk7CiAJCSpuX2VudHJp ZXMgPSBza2xfYnVmX3RyYW5zX251bV9lbnRyaWVzKGVuY29kZXItPnBvcnQsICpuX2VudHJpZXMp OwogCQlyZXR1cm4gZGRpX3RyYW5zbGF0aW9uczsKQEAgLTkyNSw3ICs5MjUsNyBAQCBoc3dfZ2V0 X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRy aWVzKQogCXJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVm X3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoK IGhzd19nZXRfYnVmX3RyYW5zX2ZkaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJ ICAgICAgaW50ICpuX2VudHJpZXMpCiB7CkBAIC05NDMsNyArOTQzLDcgQEAgaHN3X2dldF9idWZf dHJhbnNfZmRpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBOVUxMOwog fQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGhzd19nZXRfYnVmX3RyYW5zX2hk bWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCSAgICAgICBpbnQgKm5fZW50cmll cykKIHsKQEAgLTk2Myw3ICs5NjMsNyBAQCBoc3dfZ2V0X2J1Zl90cmFuc19oZG1pKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBOVUxMOwogfQogCi1jb25zdCBzdHJ1Y3Qg aHN3X2RkaV9idWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRy eSAqCiBoc3dfZ2V0X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJ ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICBpbnQgKm5f ZW50cmllcykKQEAgLTk3OCwxNCArOTc4LDE0IEBAIGhzd19nZXRfYnVmX3RyYW5zKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlyZXR1cm4gaHN3X2dldF9idWZfdHJhbnNfZHAoZW5j b2Rlciwgbl9lbnRyaWVzKTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90 cmFucyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBi eHRfZ2V0X2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpu X2VudHJpZXMpCiB7CiAJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoYnh0X2RkaV90cmFuc2xhdGlv bnNfZHApOwogCXJldHVybiBieHRfZGRpX3RyYW5zbGF0aW9uc19kcDsKIH0KIAotc3RhdGljIGNv bnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxf ZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBieHRfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogewogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAtOTk4LDE0 ICs5OTgsMTQgQEAgYnh0X2dldF9idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLCBpbnQgKm5fZW50cmllcykKIAlyZXR1cm4gYnh0X2dldF9idWZfdHJhbnNfZHAoZW5j b2Rlciwgbl9lbnRyaWVzKTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90 cmFucyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBi eHRfZ2V0X2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQg Km5fZW50cmllcykKIHsKIAkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShieHRfZGRpX3RyYW5zbGF0 aW9uc19oZG1pKTsKIAlyZXR1cm4gYnh0X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKIH0KIAotY29u c3Qgc3RydWN0IGJ4dF9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGludGVsX2RkaV9idWZf dHJhbnNfZW50cnkgKgogYnh0X2dldF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJ CSAgaW50ICpuX2VudHJpZXMpCkBAIC0xMDE3LDcgKzEwMTcsNyBAQCBieHRfZ2V0X2J1Zl90cmFu cyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gYnh0X2dldF9idWZfdHJh bnNfZHAoZW5jb2Rlciwgbl9lbnRyaWVzKTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxf ZGRpX2J1Zl90cmFucyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19l bnRyeSAqCiBjbmxfZ2V0X2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLCBpbnQgKm5fZW50cmllcykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKQEAgLTEwMzksNyArMTAzOSw3IEBAIGNu bF9nZXRfYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAq bl9lbnRyaWVzKQogCXJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9k ZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5ICoKIGNubF9nZXRfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LCBpbnQgKm5fZW50cmllcykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKQEAgLTEwNjEsNyArMTA2MSw3IEBAIGNubF9n ZXRfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50 cmllcykKIAlyZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1 Zl90cmFucyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAq CiBjbmxfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGlu dCAqbl9lbnRyaWVzKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAtMTA4Nyw3ICsxMDg3LDcgQEAgY25sX2dldF9i dWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmll cykKIAl9CiB9CiAKLWNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCitjb25zdCB1bmlv biBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGNubF9nZXRfYnVmX3RyYW5zKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAogCQkgIGludCAqbl9lbnRyaWVzKQpAQCAtMTA5OSw3ICsxMDk5LDcgQEAg Y25sX2dldF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJu IGNubF9nZXRfYnVmX3RyYW5zX2RwKGVuY29kZXIsIG5fZW50cmllcyk7CiB9CiAKLXN0YXRpYyBj b25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgKgogaWNsX2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgIGludCAqbl9lbnRyaWVzKQpAQCAtMTEwOCw3 ICsxMTA4LDcgQEAgaWNsX2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hk bWk7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorc3RhdGlj IGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogaWNsX2dldF9jb21ib19i dWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgIGludCAqbl9lbnRyaWVz KQpAQCAtMTExNyw3ICsxMTE3LDcgQEAgaWNsX2dldF9jb21ib19idWZfdHJhbnNfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIGljbF9jb21ib19waHlfZGRpX3RyYW5z bGF0aW9uc19kcF9oYnIyOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3Ry YW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGlj bF9nZXRfY29tYm9fYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAg ICBpbnQgKm5fZW50cmllcykKQEAgLTExNDEsNyArMTE0MSw3IEBAIGljbF9nZXRfY29tYm9fYnVm X3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gaWNsX2dl dF9jb21ib19idWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRyaWVzKTsKIH0K IAotY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGludGVsX2Rk aV9idWZfdHJhbnNfZW50cnkgKgogaWNsX2dldF9jb21ib19idWZfdHJhbnMoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKIAkJCWludCAqbl9lbnRyaWVzKQpAQCAtMTE1NCw3ICsxMTU0LDcgQEAgaWNsX2dl dF9jb21ib19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXJldHVy biBpY2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19kcChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJp ZXMpOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGljbF9tZ19waHlfZGRpX2J1Zl90cmFucyAq CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBpY2xfZ2V0 X21nX2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgaW50ICpuX2Vu dHJpZXMpCkBAIC0xMTYzLDcgKzExNjMsNyBAQCBpY2xfZ2V0X21nX2J1Zl90cmFuc19oZG1pKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBpY2xfbWdfcGh5X2RkaV90cmFu c2xhdGlvbnNfaGRtaTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBpY2xfbWdfcGh5X2RkaV9i dWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg KgogaWNsX2dldF9tZ19idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCWludCAq bl9lbnRyaWVzKQpAQCAtMTE3Nyw3ICsxMTc3LDcgQEAgaWNsX2dldF9tZ19idWZfdHJhbnNfZHAo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJfQogfQogCi1jb25zdCBzdHJ1Y3QgaWNs X21nX3BoeV9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNf ZW50cnkgKgogaWNsX2dldF9tZ19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCiAJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJ CSAgICAgaW50ICpuX2VudHJpZXMpCkBAIC0xMTg4LDcgKzExODgsNyBAQCBpY2xfZ2V0X21nX2J1 Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJcmV0dXJuIGljbF9nZXRf bWdfYnVmX3RyYW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7CiB9CiAKLXN0 YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogZWhsX2dldF9jb21ib19idWZfdHJhbnNfaGRt aShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgIGludCAqbl9lbnRyaWVzKQpAQCAt MTE5Nyw3ICsxMTk3LDcgQEAgZWhsX2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRp b25zX2hkbWk7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgor c3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogZWhsX2dldF9j b21ib19idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgIGludCAqbl9l bnRyaWVzKQpAQCAtMTIwNiw3ICsxMjA2LDcgQEAgZWhsX2dldF9jb21ib19idWZfdHJhbnNfZHAo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIGVobF9jb21ib19waHlfZGRp X3RyYW5zbGF0aW9uc19kcDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90 cmFucyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBl aGxfZ2V0X2NvbWJvX2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCQkgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkg ICAgaW50ICpuX2VudHJpZXMpCkBAIC0xMjIxLDcgKzEyMjEsNyBAQCBlaGxfZ2V0X2NvbWJvX2J1 Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIGVobF9n ZXRfY29tYm9fYnVmX3RyYW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7CiB9 CiAKLWNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCitjb25zdCB1bmlvbiBpbnRlbF9k ZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGVobF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCiAJCQlpbnQgKm5fZW50cmllcykKQEAgLTEyMzQsNyArMTIzNCw3IEBAIGVobF9n ZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlyZXR1 cm4gZWhsX2dldF9jb21ib19idWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRy aWVzKTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCitzdGF0 aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBqc2xfZ2V0X2NvbWJv X2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICAgaW50ICpu X2VudHJpZXMpCkBAIC0xMjQzLDcgKzEyNDMsNyBAQCBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19o ZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBpY2xfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRp X2J1Zl90cmFucyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRy eSAqCiBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIAkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAog CQkJICAgaW50ICpuX2VudHJpZXMpCkBAIC0xMjUyLDcgKzEyNTIsNyBAQCBqc2xfZ2V0X2NvbWJv X2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gaWNs X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjI7CiB9CiAKLXN0YXRpYyBjb25zdCBz dHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgKgoganNsX2dldF9jb21ib19idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAogCQkJICAgIGludCAqbl9lbnRyaWVzKQpAQCAtMTI3Miw3ICsxMjcyLDcg QEAganNsX2dldF9jb21ib19idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCXJldHVybiBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19kcChlbmNvZGVyLCBjcnRjX3N0 YXRlLCBuX2VudHJpZXMpOwogfQogCi1jb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgor Y29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBqc2xfZ2V0X2NvbWJvX2J1 Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCWNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJaW50ICpuX2VudHJpZXMpCkBAIC0xMjg1 LDcgKzEyODUsNyBAQCBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAkJcmV0dXJuIGpzbF9nZXRfY29tYm9fYnVmX3RyYW5zX2RwKGVuY29kZXIs IGNydGNfc3RhdGUsIG5fZW50cmllcyk7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2Rk aV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgKgogdGdsX2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCiAJCQkgICAgIGludCAqbl9lbnRyaWVzKQpAQCAtMTI5NCw3ICsxMjk0LDcgQEAgdGdsX2dl dF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAly ZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWk7CiB9CiAKLXN0YXRpYyBj b25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgKgogdGdsX2dldF9jb21ib19idWZfdHJhbnNfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgIGludCAqbl9lbnRyaWVzKQpAQCAtMTMyMyw3ICsxMzIz LDcgQEAgdGdsX2dldF9jb21ib19idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJfQogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoK K3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIHRnbF9nZXRf Y29tYm9fYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAg ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICBpbnQg Km5fZW50cmllcykKQEAgLTEzNDUsNyArMTM0NSw3IEBAIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5z X2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gdGdsX2dldF9jb21i b19idWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRyaWVzKTsKIH0KIAotY29u c3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGludGVsX2RkaV9idWZf dHJhbnNfZW50cnkgKgogdGdsX2dldF9jb21ib19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKIAkJCWludCAqbl9lbnRyaWVzKQpAQCAtMTM1OCw3ICsxMzU4LDcgQEAgdGdsX2dldF9jb21i b19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXJldHVybiB0Z2xf Z2V0X2NvbWJvX2J1Zl90cmFuc19kcChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOwog fQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IHRnbF9ka2xfcGh5X2RkaV9idWZfdHJhbnMgKgorc3Rh dGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogdGdsX2dldF9ka2xf YnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgIGludCAqbl9lbnRy aWVzKQpAQCAtMTM2Nyw3ICsxMzY3LDcgQEAgdGdsX2dldF9ka2xfYnVmX3RyYW5zX2hkbWkoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIHRnbF9ka2xfcGh5X2hkbWlfZGRp X3RyYW5zOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IHRnbF9ka2xfcGh5X2RkaV9idWZfdHJh bnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogdGds X2dldF9ka2xfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJ IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJIGludCAqbl9l bnRyaWVzKQpAQCAtMTM4MSw3ICsxMzgxLDcgQEAgdGdsX2dldF9ka2xfYnVmX3RyYW5zX2RwKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCX0KIH0KIAotY29uc3Qgc3RydWN0IHRnbF9k a2xfcGh5X2RkaV9idWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19l bnRyeSAqCiB0Z2xfZ2V0X2RrbF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCiAJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAog CQkgICAgICBpbnQgKm5fZW50cmllcykKQEAgLTEzOTIsNyArMTM5Miw3IEBAIHRnbF9nZXRfZGts X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJcmV0dXJuIHRnbF9n ZXRfZGtsX2J1Zl90cmFuc19kcChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOwogfQog Ci1zdGF0aWMgY29uc3Qgc3RydWN0IHRnbF9ka2xfcGh5X2RkaV9idWZfdHJhbnMgKgorc3RhdGlj IGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogYWRscF9nZXRfZGtsX2J1 Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgIGludCAqbl9lbnRyaWVzKQpA QCAtMTQwNiw3ICsxNDA2LDcgQEAgYWRscF9nZXRfZGtsX2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gYWRscF9ka2xfcGh5X2RwX2RkaV90cmFuc19o YnI7CiB9CiAKLWNvbnN0IHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlfYnVmX3RyYW5zICoKK2NvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogYWRscF9nZXRfZGtsX2J1Zl90cmFu cyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICAgICAgIGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgICAgICAgaW50ICpuX2VudHJpZXMpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJh bnMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5o CmluZGV4IDQyOGYxZjM0MzM0MS4uNDg3YTRmODE1NDcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJhbnMuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJhbnMuaApAQCAtNDUsNTIgKzQ1LDYw IEBAIHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlfYnVmX3RyYW5zIHsKIAl1MzIgZGtsX2RlX2VtcGhh c2lzX2NvbnRyb2w7CiB9OwogCi1ib29sIGlzX2hvYmxfYnVmX3RyYW5zKGNvbnN0IHN0cnVjdCBj bmxfZGRpX2J1Zl90cmFucyAqdGFibGUpOwordW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRy eSB7CisJc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIGhzdzsKKwlzdHJ1Y3QgYnh0X2RkaV9idWZf dHJhbnMgYnh0OworCXN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmw7CisJc3RydWN0IGljbF9t Z19waHlfZGRpX2J1Zl90cmFucyBtZzsKKwlzdHJ1Y3QgdGdsX2RrbF9waHlfZGRpX2J1Zl90cmFu cyBka2w7Cit9OworCitib29sIGlzX2hvYmxfYnVmX3RyYW5zKGNvbnN0IHVuaW9uIGludGVsX2Rk aV9idWZfdHJhbnNfZW50cnkgKnRhYmxlKTsKIAogaW50IGludGVsX2RkaV9oZG1pX251bV9lbnRy aWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgIGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICAgIGludCAqZGVmYXVsdF9l bnRyeSk7CiAKLWNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAqCitjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGhzd19nZXRfYnVmX3RyYW5zKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAogCQkgIGludCAqbl9lbnRyaWVzKTsKIAotY29uc3Qgc3RydWN0IGJ4dF9kZGlf YnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogYnh0 X2dldF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCSAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgaW50ICpuX2VudHJpZXMp OwogCi1jb25zdCBzdHJ1Y3QgdGdsX2RrbF9waHlfZGRpX2J1Zl90cmFucyAqCitjb25zdCB1bmlv biBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGFkbHBfZ2V0X2RrbF9idWZfdHJhbnMoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAgICAgIGludCAqbl9lbnRyaWVzKTsKLWNvbnN0 IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCitjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3Ry YW5zX2VudHJ5ICoKIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCQlpbnQgKm5fZW50cmllcyk7Ci1jb25zdCBzdHJ1Y3QgdGdsX2RrbF9waHlfZGRpX2J1Zl90 cmFucyAqCitjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIHRnbF9nZXRf ZGtsX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICAgICAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgICAgIGludCAqbl9l bnRyaWVzKTsKLWNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCitjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGpzbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJCQlpbnQgKm5fZW50cmllcyk7Ci1jb25zdCBzdHJ1Y3QgY25sX2Rk aV9idWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBl aGxfZ2V0X2NvbWJvX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJ CWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJaW50ICpuX2Vu dHJpZXMpOwotY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGlu dGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogaWNsX2dldF9jb21ib19idWZfdHJhbnMoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKIAkJCWludCAqbl9lbnRyaWVzKTsKLWNvbnN0IHN0cnVjdCBpY2xfbWdf cGh5X2RkaV9idWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRy eSAqCiBpY2xfZ2V0X21nX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAg ICBpbnQgKm5fZW50cmllcyk7CiAKLWNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCitj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGNubF9nZXRfYnVmX3RyYW5z KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgIGludCAqbl9lbnRyaWVzKTsKLS0gCjIuMzEuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==