From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 01/11] drm/msm/dpu: Remove dpu_dbg Date: Mon, 5 Nov 2018 16:30:53 -0700 Message-ID: <20181105233103.7657-2-jcrouse@codeaurora.org> References: <20181105233103.7657-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181105233103.7657-1-jcrouse@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: freedreno@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, bzwang@chromium.org, seanpaul@chromium.org, abhinavk@codeaurora.org, sam@ravnborg.org List-Id: linux-arm-msm@vger.kernel.org VGhlIGZ1bmN0aW9ucyBpbiBkcHVfZGJnLmMgYXJlbid0IHVzZWQuIFRoZSB0d28gbWFpbiBkdW1w IGZ1bmN0aW9ucwpmYWlsIGFmdGVyIGEgbG9va3VwIGZyb20gZHB1X2RiZ19iYXNlLnJlZ19iYXNl X2xpc3Qgd2hpY2ggdHVybnMgb3V0CnRvIG5ldmVyIGJlIHBvcHVsYXRlZCBhbmQgb25jZSB0aG9z ZSBhcmUgcmVtb3ZlZCB0aGUgcmVzdCBvZiB0aGUKZmlsZSBkb2Vzbid0IG1ha2UgYW55IHNlbnNl LgoKdjI6IE1vdmVkIHNvbWUgdW5yZWxhdGVkIGNoYW5nZXMgdG8gYW5vdGhlciBwYXRjaAoKU2ln bmVkLW9mZi1ieTogSm9yZGFuIENyb3VzZSA8amNyb3VzZUBjb2RlYXVyb3JhLm9yZz4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vbXNtL01ha2VmaWxlICAgICAgICAgICAgICAgICAgfCAgICAzICstCiBk cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZGJnLmMgICAgICAgfCAyMzkzIC0tLS0t LS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZGJnLmggICAg ICAgfCAgMTAzIC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMg ICB8ICAgIDQgKy0KIC4uLi9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2NtZC5j ICB8ICAgIDEgLQogLi4uL2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMg IHwgICAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfY3RsLmMgICAg fCAgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19pbnRmLmMgICB8 ICAgIDEgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMgICAgIHwg ICAgMSAtCiAuLi4vZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19waW5ncG9uZy5jICAgfCAg ICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19zc3BwLmMgICB8ICAg IDEgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3RvcC5jICAgIHwgICAg MyAtCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdmJpZi5jICAgfCAgICAx IC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyAgICAgICB8ICAgMjAg Ky0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaCAgICAgICB8ICAgIDEg LQogMTUgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyNTMxIGRlbGV0aW9ucygtKQog ZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9kYmcu YwogZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9k YmcuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vTWFrZWZpbGUgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL01ha2VmaWxlCmluZGV4IDE5YWI1MjFkNGMzYS4uZTA2N2RkMTM0MWIxIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vTWFrZWZpbGUKQEAgLTkyLDggKzkyLDcgQEAgbXNtLXkgOj0gXAogCW1zbV9yaW5n YnVmZmVyLm8gXAogCW1zbV9zdWJtaXRxdWV1ZS5vCiAKLW1zbS0kKENPTkZJR19ERUJVR19GUykg Kz0gYWRyZW5vL2E1eHhfZGVidWdmcy5vIFwKLQkJCSAgZGlzcC9kcHUxL2RwdV9kYmcubworbXNt LSQoQ09ORklHX0RFQlVHX0ZTKSArPSBhZHJlbm8vYTV4eF9kZWJ1Z2ZzLm8KIAogbXNtLSQoQ09O RklHX0RSTV9GQkRFVl9FTVVMQVRJT04pICs9IG1zbV9mYmRldi5vCiBtc20tJChDT05GSUdfQ09N TU9OX0NMSykgKz0gZGlzcC9tZHA0L21kcDRfbHZkc19wbGwubwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2RiZy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2RiZy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODUwNzgx MjMxMTkuLjAwMDAwMDAwMDAwMAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZGJnLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMzkzICswLDAgQEAKLS8qIENvcHlyaWdodCAo YykgMjAwOS0yMDE4LCBUaGUgTGludXggRm91bmRhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K LSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYW5kCi0gKiBvbmx5IHZlcnNpb24gMiBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgotICovCi0KLSNkZWZpbmUgcHJfZm10KGZtdCkJIltkcm06JXM6JWRdICIgZm10 LCBfX2Z1bmNfXywgX19MSU5FX18KLQotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0jaW5jbHVk ZSA8bGludXgvc3BpbmxvY2suaD4KLSNpbmNsdWRlIDxsaW51eC9rdGltZS5oPgotI2luY2x1ZGUg PGxpbnV4L2RlYnVnZnMuaD4KLSNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8 bGludXgvZG1hLWJ1Zi5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51 eC9saXN0X3NvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1lLmg+Ci0KLSNpbmNsdWRl ICJkcHVfZGJnLmgiCi0jaW5jbHVkZSAiZGlzcC9kcHUxL2RwdV9od19jYXRhbG9nLmgiCi0KLQot I2RlZmluZSBERUZBVUxUX0RCR0JVU19EUFUJRFBVX0RCR19EVU1QX0lOX01FTQotI2RlZmluZSBE RUZBVUxUX0RCR0JVU19WQklGUlQJRFBVX0RCR19EVU1QX0lOX01FTQotI2RlZmluZSBSRUdfQkFT RV9OQU1FX0xFTgk4MAotCi0jZGVmaW5lIERCR0JVU19GTEFHU19EU1BQCUJJVCgwKQotI2RlZmlu ZSBEQkdCVVNfRFNQUF9TVEFUVVMJMHgzNEMKLQotI2RlZmluZSBEQkdCVVNfTkFNRV9EUFUJCSJk cHUiCi0jZGVmaW5lIERCR0JVU19OQU1FX1ZCSUZfUlQJInZiaWZfcnQiCi0KLS8qIG9mZnNldHMg ZnJvbSBkcHUgdG9wIGFkZHJlc3MgZm9yIHRoZSBkZWJ1ZyBidXNlcyAqLwotI2RlZmluZSBEQkdC VVNfU1NQUDAJMHgxODgKLSNkZWZpbmUgREJHQlVTX0FYSV9JTlRGCTB4MTk0Ci0jZGVmaW5lIERC R0JVU19TU1BQMQkweDI5OAotI2RlZmluZSBEQkdCVVNfRFNQUAkweDM0OAotI2RlZmluZSBEQkdC VVNfUEVSSVBICTB4NDE4Ci0KLSNkZWZpbmUgVEVTVF9NQVNLKGlkLCB0cCkJKChpZCA8PCA0KSB8 ICh0cCA8PCAxKSB8IEJJVCgwKSkKLQotLyogZm9sbG93aW5nIG9mZnNldHMgYXJlIHdpdGggcmVz cGVjdCB0byBNRFAgVkJJRiBiYXNlIGZvciBEQkcgQlVTIGFjY2VzcyAqLwotI2RlZmluZSBNTVNT X1ZCSUZfQ0xLT04JCQkweDQKLSNkZWZpbmUgTU1TU19WQklGX1RFU1RfQlVTX09VVF9DVFJMCTB4 MjEwCi0jZGVmaW5lIE1NU1NfVkJJRl9URVNUX0JVU19PVVQJCTB4MjMwCi0KLS8qIFZiaWYgZXJy b3IgaW5mbyAqLwotI2RlZmluZSBNTVNTX1ZCSUZfUE5EX0VSUgkJMHgxOTAKLSNkZWZpbmUgTU1T U19WQklGX1NSQ19FUlIJCTB4MTk0Ci0jZGVmaW5lIE1NU1NfVkJJRl9YSU5fSEFMVF9DVFJMMQkw eDIwNAotI2RlZmluZSBNTVNTX1ZCSUZfRVJSX0lORk8JCTBYMWEwCi0jZGVmaW5lIE1NU1NfVkJJ Rl9FUlJfSU5GT18xCQkweDFhNAotI2RlZmluZSBNTVNTX1ZCSUZfQ0xJRU5UX05VTQkJMTQKLQot LyoqCi0gKiBzdHJ1Y3QgZHB1X2RiZ19yZWdfYmFzZSAtIHJlZ2lzdGVyIHJlZ2lvbiBiYXNlLgot ICoJbWF5IHN1Yi1yYW5nZXM6IHN1Yi1yYW5nZXMgYXJlIHVzZWQgZm9yIGR1bXBpbmcKLSAqCW9y IG1heSBub3QgaGF2ZSBzdWItcmFuZ2VzOiBkdW1waW5nIGlzIGJhc2UgLT4gbWF4X29mZnNldAot ICogQHJlZ19iYXNlX2hlYWQ6IGhlYWQgb2YgdGhpcyBub2RlCi0gKiBAbmFtZTogcmVnaXN0ZXIg YmFzZSBuYW1lCi0gKiBAYmFzZTogYmFzZSBwb2ludGVyCi0gKiBAb2ZmOiBjYWNoZWQgb2Zmc2V0 IG9mIHJlZ2lvbiBmb3IgbWFudWFsIHJlZ2lzdGVyIGR1bXBpbmcKLSAqIEBjbnQ6IGNhY2hlZCBy YW5nZSBvZiByZWdpb24gZm9yIG1hbnVhbCByZWdpc3RlciBkdW1waW5nCi0gKiBAbWF4X29mZnNl dDogbGVuZ3RoIG9mIHJlZ2lvbgotICogQGJ1ZjogYnVmZmVyIHVzZWQgZm9yIG1hbnVhbCByZWdp c3RlciBkdW1waW5nCi0gKiBAYnVmX2xlbjogIGJ1ZmZlciBsZW5ndGggdXNlZCBmb3IgbWFudWFs IHJlZ2lzdGVyIGR1bXBpbmcKLSAqIEBjYjogY2FsbGJhY2sgZm9yIGV4dGVybmFsIGR1bXAgZnVu Y3Rpb24sIG51bGwgaWYgbm90IGRlZmluZWQKLSAqIEBjYl9wdHI6IHByaXZhdGUgcG9pbnRlciB0 byBjYWxsYmFjayBmdW5jdGlvbgotICovCi1zdHJ1Y3QgZHB1X2RiZ19yZWdfYmFzZSB7Ci0Jc3Ry dWN0IGxpc3RfaGVhZCByZWdfYmFzZV9oZWFkOwotCWNoYXIgbmFtZVtSRUdfQkFTRV9OQU1FX0xF Tl07Ci0Jdm9pZCBfX2lvbWVtICpiYXNlOwotCXNpemVfdCBvZmY7Ci0Jc2l6ZV90IGNudDsKLQlz aXplX3QgbWF4X29mZnNldDsKLQljaGFyICpidWY7Ci0Jc2l6ZV90IGJ1Zl9sZW47Ci0Jdm9pZCAo KmNiKSh2b2lkICpwdHIpOwotCXZvaWQgKmNiX3B0cjsKLX07Ci0KLXN0cnVjdCBkcHVfZGVidWdf YnVzX2VudHJ5IHsKLQl1MzIgd3JfYWRkcjsKLQl1MzIgYmxvY2tfaWQ7Ci0JdTMyIHRlc3RfaWQ7 Ci0Jdm9pZCAoKmFuYWx5emVyKSh2b2lkIF9faW9tZW0gKm1lbV9iYXNlLAotCQkJCXN0cnVjdCBk cHVfZGVidWdfYnVzX2VudHJ5ICplbnRyeSwgdTMyIHZhbCk7Ci19OwotCi1zdHJ1Y3QgdmJpZl9k ZWJ1Z19idXNfZW50cnkgewotCXUzMiBkaXNhYmxlX2J1c19hZGRyOwotCXUzMiBibG9ja19idXNf YWRkcjsKLQl1MzIgYml0X29mZnNldDsKLQl1MzIgYmxvY2tfY250OwotCXUzMiB0ZXN0X3BudF9z dGFydDsKLQl1MzIgdGVzdF9wbnRfY250OwotfTsKLQotc3RydWN0IGRwdV9kYmdfZGVidWdfYnVz X2NvbW1vbiB7Ci0JY2hhciAqbmFtZTsKLQl1MzIgZW5hYmxlX21hc2s7Ci0JYm9vbCBpbmNsdWRl X2luX2RlZmVycmVkX3dvcms7Ci0JdTMyIGZsYWdzOwotCXUzMiBlbnRyaWVzX3NpemU7Ci0JdTMy ICpkdW1wZWRfY29udGVudDsKLX07Ci0KLXN0cnVjdCBkcHVfZGJnX2RwdV9kZWJ1Z19idXMgewot CXN0cnVjdCBkcHVfZGJnX2RlYnVnX2J1c19jb21tb24gY21uOwotCXN0cnVjdCBkcHVfZGVidWdf YnVzX2VudHJ5ICplbnRyaWVzOwotCXUzMiB0b3BfYmxrX29mZjsKLX07Ci0KLXN0cnVjdCBkcHVf ZGJnX3ZiaWZfZGVidWdfYnVzIHsKLQlzdHJ1Y3QgZHB1X2RiZ19kZWJ1Z19idXNfY29tbW9uIGNt bjsKLQlzdHJ1Y3QgdmJpZl9kZWJ1Z19idXNfZW50cnkgKmVudHJpZXM7Ci19OwotCi0vKioKLSAq IHN0cnVjdCBkcHVfZGJnX2Jhc2UgLSBnbG9iYWwgZHB1IGRlYnVnIGJhc2Ugc3RydWN0dXJlCi0g KiBAcmVnX2Jhc2VfbGlzdDogbGlzdCBvZiByZWdpc3RlciBkdW1waW5nIHJlZ2lvbnMKLSAqIEBk ZXY6IGRldmljZSBwb2ludGVyCi0gKiBAZHVtcF93b3JrOiB3b3JrIHN0cnVjdCBmb3IgZGVmZXJy aW5nIHJlZ2lzdGVyIGR1bXAgd29yayB0byBzZXBhcmF0ZSB0aHJlYWQKLSAqIEBkYmdidXNfZHB1 OiBkZWJ1ZyBidXMgc3RydWN0dXJlIGZvciB0aGUgZHB1Ci0gKiBAZGJnYnVzX3ZiaWZfcnQ6IGRl YnVnIGJ1cyBzdHJ1Y3R1cmUgZm9yIHRoZSByZWFsdGltZSB2YmlmCi0gKi8KLXN0YXRpYyBzdHJ1 Y3QgZHB1X2RiZ19iYXNlIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkIHJlZ19iYXNlX2xpc3Q7Ci0Jc3Ry dWN0IGRldmljZSAqZGV2OwotCi0Jc3RydWN0IHdvcmtfc3RydWN0IGR1bXBfd29yazsKLQotCXN0 cnVjdCBkcHVfZGJnX2RwdV9kZWJ1Z19idXMgZGJnYnVzX2RwdTsKLQlzdHJ1Y3QgZHB1X2RiZ192 YmlmX2RlYnVnX2J1cyBkYmdidXNfdmJpZl9ydDsKLX0gZHB1X2RiZ19iYXNlOwotCi1zdGF0aWMg dm9pZCBfZHB1X2RlYnVnX2J1c194YmFyX2R1bXAodm9pZCBfX2lvbWVtICptZW1fYmFzZSwKLQkJ c3RydWN0IGRwdV9kZWJ1Z19idXNfZW50cnkgKmVudHJ5LCB1MzIgdmFsKQotewotCURSTV9ERVZf RVJST1IoZHB1X2RiZ19iYXNlLmRldiwgInhiYXIgMHgleCAlZCAlZCAweCV4XG4iLAotCQkJZW50 cnktPndyX2FkZHIsIGVudHJ5LT5ibG9ja19pZCwgZW50cnktPnRlc3RfaWQsIHZhbCk7Ci19Ci0K LXN0YXRpYyB2b2lkIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAodm9pZCBfX2lvbWVtICptZW1fYmFz ZSwKLQkJc3RydWN0IGRwdV9kZWJ1Z19idXNfZW50cnkgKmVudHJ5LCB1MzIgdmFsKQotewotCWlm ICghKHZhbCAmIDB4RkZGMDAwKSkKLQkJcmV0dXJuOwotCi0JRFJNX0RFVl9FUlJPUihkcHVfZGJn X2Jhc2UuZGV2LCAibG0gMHgleCAlZCAlZCAweCV4XG4iLAotCQkJZW50cnktPndyX2FkZHIsIGVu dHJ5LT5ibG9ja19pZCwgZW50cnktPnRlc3RfaWQsIHZhbCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9k cHVfZGVidWdfYnVzX3BwYjBfZHVtcCh2b2lkIF9faW9tZW0gKm1lbV9iYXNlLAotCQlzdHJ1Y3Qg ZHB1X2RlYnVnX2J1c19lbnRyeSAqZW50cnksIHUzMiB2YWwpCi17Ci0JaWYgKCEodmFsICYgQklU KDE1KSkpCi0JCXJldHVybjsKLQotCURSTV9ERVZfRVJST1IoZHB1X2RiZ19iYXNlLmRldiwgInBw YjAgMHgleCAlZCAlZCAweCV4XG4iLAotCQkJZW50cnktPndyX2FkZHIsIGVudHJ5LT5ibG9ja19p ZCwgZW50cnktPnRlc3RfaWQsIHZhbCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9kcHVfZGVidWdfYnVz X3BwYjFfZHVtcCh2b2lkIF9faW9tZW0gKm1lbV9iYXNlLAotCQlzdHJ1Y3QgZHB1X2RlYnVnX2J1 c19lbnRyeSAqZW50cnksIHUzMiB2YWwpCi17Ci0JaWYgKCEodmFsICYgQklUKDE1KSkpCi0JCXJl dHVybjsKLQotCURSTV9ERVZfRVJST1IoZHB1X2RiZ19iYXNlLmRldiwgInBwYjEgMHgleCAlZCAl ZCAweCV4XG4iLAotCQkJZW50cnktPndyX2FkZHIsIGVudHJ5LT5ibG9ja19pZCwgZW50cnktPnRl c3RfaWQsIHZhbCk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgZHB1X2RlYnVnX2J1c19lbnRyeSBkYmdf YnVzX2RwdV84OTk4W10gPSB7Ci0KLQkvKiBVbnBhY2sgMCBzc3BwIDAqLwotCXsgREJHQlVTX1NT UFAwLCA1MCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA2MCwgMiB9LAotCXsgREJHQlVTX1NTUFAw LCA3MCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA4NSwgMiB9LAotCi0JLyogVXBhY2sgMCBzc3Bw IDEqLwotCXsgREJHQlVTX1NTUFAxLCA1MCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA2MCwgMiB9 LAotCXsgREJHQlVTX1NTUFAxLCA3MCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA4NSwgMiB9LAot Ci0JLyogc2NoZWR1bGVyICovCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCAwIH0sCi0JeyBEQkdCVVNf RFNQUCwgMTMwLCAxIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCAyIH0sCi0JeyBEQkdCVVNfRFNQ UCwgMTMwLCAzIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCA0IH0sCi0JeyBEQkdCVVNfRFNQUCwg MTMwLCA1IH0sCi0KLQkvKiBxc2VlZCAqLwotCXsgREJHQlVTX1NTUFAwLCA2LCAwfSwKLQl7IERC R0JVU19TU1BQMCwgNiwgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDI2LCAwfSwKLQl7IERCR0JVU19T U1BQMCwgMjYsIDF9LAotCXsgREJHQlVTX1NTUFAxLCA2LCAwfSwKLQl7IERCR0JVU19TU1BQMSwg NiwgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDI2LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgMjYsIDF9 LAotCi0JLyogc2NhbGUgKi8KLQl7IERCR0JVU19TU1BQMCwgMTYsIDB9LAotCXsgREJHQlVTX1NT UFAwLCAxNiwgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDM2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwg MzYsIDF9LAotCXsgREJHQlVTX1NTUFAxLCAxNiwgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDE2LCAx fSwKLQl7IERCR0JVU19TU1BQMSwgMzYsIDB9LAotCXsgREJHQlVTX1NTUFAxLCAzNiwgMX0sCi0K LQkvKiBmZXRjaCBzc3BwMCAqLwotCi0JLyogdmlnIDAgKi8KLQl7IERCR0JVU19TU1BQMCwgMCwg MCB9LAotCXsgREJHQlVTX1NTUFAwLCAwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDIgfSwK LQl7IERCR0JVU19TU1BQMCwgMCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAwLCA0IH0sCi0JeyBE QkdCVVNfU1NQUDAsIDAsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMCwgNiB9LAotCXsgREJHQlVT X1NTUFAwLCAwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMSwgMCB9LAotCXsgREJHQlVTX1NT UFAwLCAxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDEsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwg MSwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDEsIDUg fSwKLQl7IERCR0JVU19TU1BQMCwgMSwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAxLCA3IH0sCi0K LQl7IERCR0JVU19TU1BQMCwgMiwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAyLCAxIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDIsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMiwgMyB9LAotCXsgREJHQlVT X1NTUFAwLCAyLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIsIDUgfSwKLQl7IERCR0JVU19TU1BQ MCwgMiwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAyLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwg NCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCA0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQsIDIg fSwKLQl7IERCR0JVU19TU1BQMCwgNCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA0LCA0IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDQsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNCwgNiB9LAotCXsgREJH QlVTX1NTUFAwLCA0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgNSwgMCB9LAotCXsgREJHQlVT X1NTUFAwLCA1LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDUsIDIgfSwKLQl7IERCR0JVU19TU1BQ MCwgNSwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDUs IDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNSwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCA3IH0s Ci0KLQkvKiB2aWcgMiAqLwotCXsgREJHQlVTX1NTUFAwLCAyMCwgMCB9LAotCXsgREJHQlVTX1NT UFAwLCAyMCwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgMiB9LAotCXsgREJHQlVTX1NTUFAw LCAyMCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAy MCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwg NyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAx IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAzIH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDIxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCA1IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDIxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCA3IH0sCi0KLQl7 IERCR0JVU19TU1BQMCwgMjIsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDEgfSwKLQl7IERC R0JVU19TU1BQMCwgMjIsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDMgfSwKLQl7IERCR0JV U19TU1BQMCwgMjIsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDUgfSwKLQl7IERCR0JVU19T U1BQMCwgMjIsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDcgfSwKLQotCXsgREJHQlVTX1NT UFAwLCAyNCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgMSB9LAotCXsgREJHQlVTX1NTUFAw LCAyNCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAy NCwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwg NiB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAw IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAyIH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDI1LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCA0IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDI1LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCA2IH0sCi0JeyBE QkdCVVNfU1NQUDAsIDI1LCA3IH0sCi0KLQkvKiBkbWEgMiAqLwotCXsgREJHQlVTX1NTUFAwLCAz MCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwg MiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNCB9 LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNiB9LAot CXsgREJHQlVTX1NTUFAwLCAzMCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCAwIH0sCi0J eyBEQkdCVVNfU1NQUDAsIDMxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCAyIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDMxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA0IH0sCi0JeyBEQkdC VVNfU1NQUDAsIDMxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA2IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDMxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMzIsIDAgfSwKLQl7IERCR0JVU19T U1BQMCwgMzIsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDIgfSwKLQl7IERCR0JVU19TU1BQ MCwgMzIsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwg MzIsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIs IDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAzMywgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywg MSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgMyB9 LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNSB9LAot CXsgREJHQlVTX1NTUFAwLCAzMywgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNyB9LAotCi0J eyBEQkdCVVNfU1NQUDAsIDM0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAxIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDM0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAzIH0sCi0JeyBEQkdC VVNfU1NQUDAsIDM0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCA1IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDM0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCA3IH0sCi0KLQl7IERCR0JVU19T U1BQMCwgMzUsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMzUsIDEgfSwKLQl7IERCR0JVU19TU1BQ MCwgMzUsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMzUsIDMgfSwKLQotCS8qIGRtYSAwICovCi0J eyBEQkdCVVNfU1NQUDAsIDQwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAxIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDQwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAzIH0sCi0JeyBEQkdC VVNfU1NQUDAsIDQwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCA1IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDQwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCA3IH0sCi0KLQl7IERCR0JVU19T U1BQMCwgNDEsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDEgfSwKLQl7IERCR0JVU19TU1BQ MCwgNDEsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwg NDEsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEs IDYgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCA0Miwg MCB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgMiB9 LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgNCB9LAot CXsgREJHQlVTX1NTUFAwLCA0MiwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgNiB9LAotCXsg REJHQlVTX1NTUFAwLCA0MiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAwIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDQ0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAyIH0sCi0JeyBEQkdC VVNfU1NQUDAsIDQ0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA0IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDQ0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA2IH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDQ0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgNDUsIDAgfSwKLQl7IERCR0JVU19TU1BQ MCwgNDUsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwg NDUsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUs IDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDcg fSwKLQotCS8qIGZldGNoIHNzcHAxICovCi0JLyogdmlnIDEgKi8KLQl7IERCR0JVU19TU1BQMSwg MCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAsIDIg fSwKLQl7IERCR0JVU19TU1BQMSwgMCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAwLCA0IH0sCi0J eyBEQkdCVVNfU1NQUDEsIDAsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMCwgNiB9LAotCXsgREJH QlVTX1NTUFAxLCAwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMSwgMCB9LAotCXsgREJHQlVT X1NTUFAxLCAxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDEsIDIgfSwKLQl7IERCR0JVU19TU1BQ MSwgMSwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDEs IDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMSwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCA3IH0s Ci0KLQl7IERCR0JVU19TU1BQMSwgMiwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAyLCAxIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDIsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMiwgMyB9LAotCXsgREJH QlVTX1NTUFAxLCAyLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIsIDUgfSwKLQl7IERCR0JVU19T U1BQMSwgMiwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAyLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQ MSwgNCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQs IDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDQsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNCwgNiB9LAotCXsg REJHQlVTX1NTUFAxLCA0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNSwgMCB9LAotCXsgREJH QlVTX1NTUFAxLCA1LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDUsIDIgfSwKLQl7IERCR0JVU19T U1BQMSwgNSwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEs IDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNSwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCA3 IH0sCi0KLQkvKiB2aWcgMyAqLwotCXsgREJHQlVTX1NTUFAxLCAyMCwgMCB9LAotCXsgREJHQlVT X1NTUFAxLCAyMCwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgMiB9LAotCXsgREJHQlVTX1NT UFAxLCAyMCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgNCB9LAotCXsgREJHQlVTX1NTUFAx LCAyMCwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAy MCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIx LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCAz IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA1IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDIxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA3IH0sCi0K LQl7IERCR0JVU19TU1BQMSwgMjIsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDEgfSwKLQl7 IERCR0JVU19TU1BQMSwgMjIsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDMgfSwKLQl7IERC R0JVU19TU1BQMSwgMjIsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDUgfSwKLQl7IERCR0JV U19TU1BQMSwgMjIsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDcgfSwKLQotCXsgREJHQlVT X1NTUFAxLCAyNCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgMSB9LAotCXsgREJHQlVTX1NT UFAxLCAyNCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgMyB9LAotCXsgREJHQlVTX1NTUFAx LCAyNCwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAy NCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDI1 LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAy IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDI1LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCA2IH0sCi0J eyBEQkdCVVNfU1NQUDEsIDI1LCA3IH0sCi0KLQkvKiBkbWEgMyAqLwotCXsgREJHQlVTX1NTUFAx LCAzMCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAz MCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwg NCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNiB9 LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCAwIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDMxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCAyIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDMxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA0IH0sCi0JeyBE QkdCVVNfU1NQUDEsIDMxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA2IH0sCi0JeyBEQkdC VVNfU1NQUDEsIDMxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMzIsIDAgfSwKLQl7IERCR0JV U19TU1BQMSwgMzIsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDIgfSwKLQl7IERCR0JVU19T U1BQMSwgMzIsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDQgfSwKLQl7IERCR0JVU19TU1BQ MSwgMzIsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwg MzIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCAzMywgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAz MywgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywg MyB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNSB9 LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNyB9LAot Ci0JeyBEQkdCVVNfU1NQUDEsIDM0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCAxIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDM0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCAzIH0sCi0JeyBE QkdCVVNfU1NQUDEsIDM0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA1IH0sCi0JeyBEQkdC VVNfU1NQUDEsIDM0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA3IH0sCi0KLQl7IERCR0JV U19TU1BQMSwgMzUsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMzUsIDEgfSwKLQl7IERCR0JVU19T U1BQMSwgMzUsIDIgfSwKLQotCS8qIGRtYSAxICovCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCAwIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDQwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCAyIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDQwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA0IH0sCi0JeyBE QkdCVVNfU1NQUDEsIDQwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA2IH0sCi0JeyBEQkdC VVNfU1NQUDEsIDQwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNDEsIDAgfSwKLQl7IERCR0JV U19TU1BQMSwgNDEsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDIgfSwKLQl7IERCR0JVU19T U1BQMSwgNDEsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDQgfSwKLQl7IERCR0JVU19TU1BQ MSwgNDEsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwg NDEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCA0MiwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA0 MiwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA0Miwg MyB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNSB9 LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNyB9LAot Ci0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAxIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDQ0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAzIH0sCi0JeyBE QkdCVVNfU1NQUDEsIDQ0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA1IH0sCi0JeyBEQkdC VVNfU1NQUDEsIDQ0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA3IH0sCi0KLQl7IERCR0JV U19TU1BQMSwgNDUsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDEgfSwKLQl7IERCR0JVU19T U1BQMSwgNDUsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDMgfSwKLQl7IERCR0JVU19TU1BQ MSwgNDUsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwg NDUsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDcgfSwKLQotCS8qIGN1cnNvciAxICovCi0J eyBEQkdCVVNfU1NQUDEsIDgwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgwLCAxIH0sCi0JeyBE QkdCVVNfU1NQUDEsIDgwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgwLCAzIH0sCi0JeyBEQkdC VVNfU1NQUDEsIDgwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgwLCA1IH0sCi0JeyBEQkdCVVNf U1NQUDEsIDgwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgwLCA3IH0sCi0KLQl7IERCR0JVU19T U1BQMSwgODEsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgODEsIDEgfSwKLQl7IERCR0JVU19TU1BQ MSwgODEsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgODEsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwg ODEsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgODEsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgODEs IDYgfSwKLQl7IERCR0JVU19TU1BQMSwgODEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCA4Miwg MCB9LAotCXsgREJHQlVTX1NTUFAxLCA4MiwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCA4MiwgMiB9 LAotCXsgREJHQlVTX1NTUFAxLCA4MiwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA4MiwgNCB9LAot CXsgREJHQlVTX1NTUFAxLCA4MiwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA4MiwgNiB9LAotCXsg REJHQlVTX1NTUFAxLCA4MiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCAwIH0sCi0JeyBE QkdCVVNfU1NQUDEsIDgzLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCAyIH0sCi0JeyBEQkdC VVNfU1NQUDEsIDgzLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCA0IH0sCi0JeyBEQkdCVVNf U1NQUDEsIDgzLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCA2IH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDgzLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgODQsIDAgfSwKLQl7IERCR0JVU19TU1BQ MSwgODQsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgODQsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwg ODQsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgODQsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgODQs IDUgfSwKLQl7IERCR0JVU19TU1BQMSwgODQsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgODQsIDcg fSwKLQotCS8qIGRzcHAgKi8KLQl7IERCR0JVU19EU1BQLCAxMywgMCB9LAotCXsgREJHQlVTX0RT UFAsIDE5LCAwIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTQsIDAgfSwKLQl7IERCR0JVU19EU1BQLCAx NCwgMSB9LAotCXsgREJHQlVTX0RTUFAsIDE0LCAzIH0sCi0JeyBEQkdCVVNfRFNQUCwgMjAsIDAg fSwKLQl7IERCR0JVU19EU1BQLCAyMCwgMSB9LAotCXsgREJHQlVTX0RTUFAsIDIwLCAzIH0sCi0K LQkvKiBwcGJfMCAqLwotCXsgREJHQlVTX0RTUFAsIDMxLCAwLCBfZHB1X2RlYnVnX2J1c19wcGIw X2R1bXAgfSwKLQl7IERCR0JVU19EU1BQLCAzMywgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMF9kdW1w IH0sCi0JeyBEQkdCVVNfRFNQUCwgMzUsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjBfZHVtcCB9LAot CXsgREJHQlVTX0RTUFAsIDQyLCAwLCBfZHB1X2RlYnVnX2J1c19wcGIwX2R1bXAgfSwKLQotCS8q IHBwYl8xICovCi0JeyBEQkdCVVNfRFNQUCwgMzIsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjFfZHVt cCB9LAotCXsgREJHQlVTX0RTUFAsIDM0LCAwLCBfZHB1X2RlYnVnX2J1c19wcGIxX2R1bXAgfSwK LQl7IERCR0JVU19EU1BQLCAzNiwgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMV9kdW1wIH0sCi0JeyBE QkdCVVNfRFNQUCwgNDMsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjFfZHVtcCB9LAotCi0JLyogbG1f bHV0ICovCi0JeyBEQkdCVVNfRFNQUCwgMTA5LCAwIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTA1LCAw IH0sCi0JeyBEQkdCVVNfRFNQUCwgMTAzLCAwIH0sCi0KLQkvKiB0ZWFyLWNoZWNrICovCi0JeyBE QkdCVVNfUEVSSVBILCA2MywgMCB9LAotCXsgREJHQlVTX1BFUklQSCwgNjQsIDAgfSwKLQl7IERC R0JVU19QRVJJUEgsIDY1LCAwIH0sCi0JeyBEQkdCVVNfUEVSSVBILCA3MywgMCB9LAotCXsgREJH QlVTX1BFUklQSCwgNzQsIDAgfSwKLQotCS8qIGNyb3NzYmFyICovCi0JeyBEQkdCVVNfRFNQUCwg MCwgMCwgX2RwdV9kZWJ1Z19idXNfeGJhcl9kdW1wIH0sCi0KLQkvKiByb3RhdG9yICovCi0JeyBE QkdCVVNfRFNQUCwgOSwgMH0sCi0KLQkvKiBibGVuZCAqLwotCS8qIExNMCAqLwotCXsgREJHQlVT X0RTUFAsIDYzLCAwfSwKLQl7IERCR0JVU19EU1BQLCA2MywgMX0sCi0JeyBEQkdCVVNfRFNQUCwg NjMsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDYzLCAzfSwKLQl7IERCR0JVU19EU1BQLCA2MywgNH0s Ci0JeyBEQkdCVVNfRFNQUCwgNjMsIDV9LAotCXsgREJHQlVTX0RTUFAsIDYzLCA2fSwKLQl7IERC R0JVU19EU1BQLCA2MywgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNf RFNQUCwgNjQsIDB9LAotCXsgREJHQlVTX0RTUFAsIDY0LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2 NCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDN9LAotCXsgREJHQlVTX0RTUFAsIDY0LCA0fSwK LQl7IERCR0JVU19EU1BQLCA2NCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDZ9LAotCXsgREJH QlVTX0RTUFAsIDY0LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19E U1BQLCA2NSwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNjUsIDF9LAotCXsgREJHQlVTX0RTUFAsIDY1 LCAyfSwKLQl7IERCR0JVU19EU1BQLCA2NSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjUsIDR9LAot CXsgREJHQlVTX0RTUFAsIDY1LCA1fSwKLQl7IERCR0JVU19EU1BQLCA2NSwgNn0sCi0JeyBEQkdC VVNfRFNQUCwgNjUsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RT UFAsIDY2LCAwfSwKLQl7IERCR0JVU19EU1BQLCA2NiwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjYs IDJ9LAotCXsgREJHQlVTX0RTUFAsIDY2LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2NiwgNH0sCi0J eyBEQkdCVVNfRFNQUCwgNjYsIDV9LAotCXsgREJHQlVTX0RTUFAsIDY2LCA2fSwKLQl7IERCR0JV U19EU1BQLCA2NiwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQ UCwgNjcsIDB9LAotCXsgREJHQlVTX0RTUFAsIDY3LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2Nywg Mn0sCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDN9LAotCXsgREJHQlVTX0RTUFAsIDY3LCA0fSwKLQl7 IERCR0JVU19EU1BQLCA2NywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDZ9LAotCXsgREJHQlVT X0RTUFAsIDY3LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQ LCA2OCwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNjgsIDF9LAotCXsgREJHQlVTX0RTUFAsIDY4LCAy fSwKLQl7IERCR0JVU19EU1BQLCA2OCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjgsIDR9LAotCXsg REJHQlVTX0RTUFAsIDY4LCA1fSwKLQl7IERCR0JVU19EU1BQLCA2OCwgNn0sCi0JeyBEQkdCVVNf RFNQUCwgNjgsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAs IDY5LCAwfSwKLQl7IERCR0JVU19EU1BQLCA2OSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjksIDJ9 LAotCXsgREJHQlVTX0RTUFAsIDY5LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2OSwgNH0sCi0JeyBE QkdCVVNfRFNQUCwgNjksIDV9LAotCXsgREJHQlVTX0RTUFAsIDY5LCA2fSwKLQl7IERCR0JVU19E U1BQLCA2OSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JLyogTE0xICovCi0JeyBE QkdCVVNfRFNQUCwgNzAsIDB9LAotCXsgREJHQlVTX0RTUFAsIDcwLCAxfSwKLQl7IERCR0JVU19E U1BQLCA3MCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzAsIDN9LAotCXsgREJHQlVTX0RTUFAsIDcw LCA0fSwKLQl7IERCR0JVU19EU1BQLCA3MCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzAsIDZ9LAot CXsgREJHQlVTX0RTUFAsIDcwLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERC R0JVU19EU1BQLCA3MSwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNzEsIDF9LAotCXsgREJHQlVTX0RT UFAsIDcxLCAyfSwKLQl7IERCR0JVU19EU1BQLCA3MSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzEs IDR9LAotCXsgREJHQlVTX0RTUFAsIDcxLCA1fSwKLQl7IERCR0JVU19EU1BQLCA3MSwgNn0sCi0J eyBEQkdCVVNfRFNQUCwgNzEsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJH QlVTX0RTUFAsIDcyLCAwfSwKLQl7IERCR0JVU19EU1BQLCA3MiwgMX0sCi0JeyBEQkdCVVNfRFNQ UCwgNzIsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDcyLCAzfSwKLQl7IERCR0JVU19EU1BQLCA3Miwg NH0sCi0JeyBEQkdCVVNfRFNQUCwgNzIsIDV9LAotCXsgREJHQlVTX0RTUFAsIDcyLCA2fSwKLQl7 IERCR0JVU19EU1BQLCA3MiwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdC VVNfRFNQUCwgNzMsIDB9LAotCXsgREJHQlVTX0RTUFAsIDczLCAxfSwKLQl7IERCR0JVU19EU1BQ LCA3MywgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzMsIDN9LAotCXsgREJHQlVTX0RTUFAsIDczLCA0 fSwKLQl7IERCR0JVU19EU1BQLCA3MywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzMsIDZ9LAotCXsg REJHQlVTX0RTUFAsIDczLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JV U19EU1BQLCA3NCwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNzQsIDF9LAotCXsgREJHQlVTX0RTUFAs IDc0LCAyfSwKLQl7IERCR0JVU19EU1BQLCA3NCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzQsIDR9 LAotCXsgREJHQlVTX0RTUFAsIDc0LCA1fSwKLQl7IERCR0JVU19EU1BQLCA3NCwgNn0sCi0JeyBE QkdCVVNfRFNQUCwgNzQsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVT X0RTUFAsIDc1LCAwfSwKLQl7IERCR0JVU19EU1BQLCA3NSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwg NzUsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDc1LCAzfSwKLQl7IERCR0JVU19EU1BQLCA3NSwgNH0s Ci0JeyBEQkdCVVNfRFNQUCwgNzUsIDV9LAotCXsgREJHQlVTX0RTUFAsIDc1LCA2fSwKLQl7IERC R0JVU19EU1BQLCA3NSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNf RFNQUCwgNzYsIDB9LAotCXsgREJHQlVTX0RTUFAsIDc2LCAxfSwKLQl7IERCR0JVU19EU1BQLCA3 NiwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDN9LAotCXsgREJHQlVTX0RTUFAsIDc2LCA0fSwK LQl7IERCR0JVU19EU1BQLCA3NiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDZ9LAotCXsgREJH QlVTX0RTUFAsIDc2LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQkvKiBMTTIgKi8K LQl7IERCR0JVU19EU1BQLCA3NywgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDF9LAotCXsgREJH QlVTX0RTUFAsIDc3LCAyfSwKLQl7IERCR0JVU19EU1BQLCA3NywgM30sCi0JeyBEQkdCVVNfRFNQ UCwgNzcsIDR9LAotCXsgREJHQlVTX0RTUFAsIDc3LCA1fSwKLQl7IERCR0JVU19EU1BQLCA3Nywg Nn0sCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQot CXsgREJHQlVTX0RTUFAsIDc4LCAwfSwKLQl7IERCR0JVU19EU1BQLCA3OCwgMX0sCi0JeyBEQkdC VVNfRFNQUCwgNzgsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDc4LCAzfSwKLQl7IERCR0JVU19EU1BQ LCA3OCwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNzgsIDV9LAotCXsgREJHQlVTX0RTUFAsIDc4LCA2 fSwKLQl7IERCR0JVU19EU1BQLCA3OCwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0J eyBEQkdCVVNfRFNQUCwgNzksIDB9LAotCXsgREJHQlVTX0RTUFAsIDc5LCAxfSwKLQl7IERCR0JV U19EU1BQLCA3OSwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzksIDN9LAotCXsgREJHQlVTX0RTUFAs IDc5LCA0fSwKLQl7IERCR0JVU19EU1BQLCA3OSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzksIDZ9 LAotCXsgREJHQlVTX0RTUFAsIDc5LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7 IERCR0JVU19EU1BQLCA4MCwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgODAsIDF9LAotCXsgREJHQlVT X0RTUFAsIDgwLCAyfSwKLQl7IERCR0JVU19EU1BQLCA4MCwgM30sCi0JeyBEQkdCVVNfRFNQUCwg ODAsIDR9LAotCXsgREJHQlVTX0RTUFAsIDgwLCA1fSwKLQl7IERCR0JVU19EU1BQLCA4MCwgNn0s Ci0JeyBEQkdCVVNfRFNQUCwgODAsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsg REJHQlVTX0RTUFAsIDgxLCAwfSwKLQl7IERCR0JVU19EU1BQLCA4MSwgMX0sCi0JeyBEQkdCVVNf RFNQUCwgODEsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDgxLCAzfSwKLQl7IERCR0JVU19EU1BQLCA4 MSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgODEsIDV9LAotCXsgREJHQlVTX0RTUFAsIDgxLCA2fSwK LQl7IERCR0JVU19EU1BQLCA4MSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBE QkdCVVNfRFNQUCwgODIsIDB9LAotCXsgREJHQlVTX0RTUFAsIDgyLCAxfSwKLQl7IERCR0JVU19E U1BQLCA4MiwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgODIsIDN9LAotCXsgREJHQlVTX0RTUFAsIDgy LCA0fSwKLQl7IERCR0JVU19EU1BQLCA4MiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgODIsIDZ9LAot CXsgREJHQlVTX0RTUFAsIDgyLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERC R0JVU19EU1BQLCA4MywgMH0sCi0JeyBEQkdCVVNfRFNQUCwgODMsIDF9LAotCXsgREJHQlVTX0RT UFAsIDgzLCAyfSwKLQl7IERCR0JVU19EU1BQLCA4MywgM30sCi0JeyBEQkdCVVNfRFNQUCwgODMs IDR9LAotCXsgREJHQlVTX0RTUFAsIDgzLCA1fSwKLQl7IERCR0JVU19EU1BQLCA4MywgNn0sCi0J eyBEQkdCVVNfRFNQUCwgODMsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCS8qIGNz YyAqLwotCXsgREJHQlVTX1NTUFAwLCA3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgNywgMX0sCi0J eyBEQkdCVVNfU1NQUDAsIDI3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjcsIDF9LAotCXsgREJH QlVTX1NTUFAxLCA3LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgNywgMX0sCi0JeyBEQkdCVVNfU1NQ UDEsIDI3LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgMjcsIDF9LAotCi0JLyogcGNjICovCi0JeyBE QkdCVVNfU1NQUDAsIDMsICAzfSwKLQl7IERCR0JVU19TU1BQMCwgMjMsIDN9LAotCXsgREJHQlVT X1NTUFAwLCAzMywgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDQzLCAzfSwKLQl7IERCR0JVU19TU1BQ MSwgMywgIDN9LAotCXsgREJHQlVTX1NTUFAxLCAyMywgM30sCi0JeyBEQkdCVVNfU1NQUDEsIDMz LCAzfSwKLQl7IERCR0JVU19TU1BQMSwgNDMsIDN9LAotCi0JLyogc3BhICovCi0JeyBEQkdCVVNf U1NQUDAsIDgsICAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjgsIDB9LAotCXsgREJHQlVTX1NTUFAx LCA4LCAgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI4LCAwfSwKLQl7IERCR0JVU19EU1BQLCAxMywg MH0sCi0JeyBEQkdCVVNfRFNQUCwgMTksIDB9LAotCi0JLyogaWdjICovCi0JeyBEQkdCVVNfU1NQ UDAsIDksICAwfSwKLQl7IERCR0JVU19TU1BQMCwgOSwgIDF9LAotCXsgREJHQlVTX1NTUFAwLCA5 LCAgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDI5LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjksIDF9 LAotCXsgREJHQlVTX1NTUFAwLCAyOSwgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDE3LCAwfSwKLQl7 IERCR0JVU19TU1BQMCwgMTcsIDF9LAotCXsgREJHQlVTX1NTUFAwLCAxNywgM30sCi0JeyBEQkdC VVNfU1NQUDAsIDM3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMzcsIDF9LAotCXsgREJHQlVTX1NT UFAwLCAzNywgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDQ2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwg NDYsIDF9LAotCXsgREJHQlVTX1NTUFAwLCA0NiwgM30sCi0KLQl7IERCR0JVU19TU1BQMSwgOSwg IDB9LAotCXsgREJHQlVTX1NTUFAxLCA5LCAgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDksICAzfSwK LQl7IERCR0JVU19TU1BQMSwgMjksIDB9LAotCXsgREJHQlVTX1NTUFAxLCAyOSwgMX0sCi0JeyBE QkdCVVNfU1NQUDEsIDI5LCAzfSwKLQl7IERCR0JVU19TU1BQMSwgMTcsIDB9LAotCXsgREJHQlVT X1NTUFAxLCAxNywgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDE3LCAzfSwKLQl7IERCR0JVU19TU1BQ MSwgMzcsIDB9LAotCXsgREJHQlVTX1NTUFAxLCAzNywgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDM3 LCAzfSwKLQl7IERCR0JVU19TU1BQMSwgNDYsIDB9LAotCXsgREJHQlVTX1NTUFAxLCA0NiwgMX0s Ci0JeyBEQkdCVVNfU1NQUDEsIDQ2LCAzfSwKLQotCXsgREJHQlVTX0RTUFAsIDE0LCAwfSwKLQl7 IERCR0JVU19EU1BQLCAxNCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMTQsIDN9LAotCXsgREJHQlVT X0RTUFAsIDIwLCAwfSwKLQl7IERCR0JVU19EU1BQLCAyMCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwg MjAsIDN9LAotCi0JeyBEQkdCVVNfUEVSSVBILCA2MCwgMH0sCi19OwotCi1zdGF0aWMgc3RydWN0 IGRwdV9kZWJ1Z19idXNfZW50cnkgZGJnX2J1c19kcHVfc2RtODQ1W10gPSB7Ci0KLQkvKiBVbnBh Y2sgMCBzc3BwIDAqLwotCXsgREJHQlVTX1NTUFAwLCA1MCwgMiB9LAotCXsgREJHQlVTX1NTUFAw LCA2MCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA3MCwgMiB9LAotCi0JLyogVXBhY2sgMCBzc3Bw IDEqLwotCXsgREJHQlVTX1NTUFAxLCA1MCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA2MCwgMiB9 LAotCXsgREJHQlVTX1NTUFAxLCA3MCwgMiB9LAotCi0JLyogc2NoZWR1bGVyICovCi0JeyBEQkdC VVNfRFNQUCwgMTMwLCAwIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCAxIH0sCi0JeyBEQkdCVVNf RFNQUCwgMTMwLCAyIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCAzIH0sCi0JeyBEQkdCVVNfRFNQ UCwgMTMwLCA0IH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCA1IH0sCi0KLQkvKiBxc2VlZCAqLwot CXsgREJHQlVTX1NTUFAwLCA2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgNiwgMX0sCi0JeyBEQkdC VVNfU1NQUDAsIDI2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjYsIDF9LAotCXsgREJHQlVTX1NT UFAxLCA2LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgNiwgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDI2 LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgMjYsIDF9LAotCi0JLyogc2NhbGUgKi8KLQl7IERCR0JV U19TU1BQMCwgMTYsIDB9LAotCXsgREJHQlVTX1NTUFAwLCAxNiwgMX0sCi0JeyBEQkdCVVNfU1NQ UDAsIDM2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMzYsIDF9LAotCXsgREJHQlVTX1NTUFAxLCAx NiwgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDE2LCAxfSwKLQl7IERCR0JVU19TU1BQMSwgMzYsIDB9 LAotCXsgREJHQlVTX1NTUFAxLCAzNiwgMX0sCi0KLQkvKiBmZXRjaCBzc3BwMCAqLwotCi0JLyog dmlnIDAgKi8KLQl7IERCR0JVU19TU1BQMCwgMCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAwLCAx IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMCwgMyB9LAot CXsgREJHQlVTX1NTUFAwLCAwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDUgfSwKLQl7IERC R0JVU19TU1BQMCwgMCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAwLCA3IH0sCi0KLQl7IERCR0JV U19TU1BQMCwgMSwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAxLCAxIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDEsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMSwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAx LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDEsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMSwgNiB9 LAotCXsgREJHQlVTX1NTUFAwLCAxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMiwgMCB9LAot CXsgREJHQlVTX1NTUFAwLCAyLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIsIDIgfSwKLQl7IERC R0JVU19TU1BQMCwgMiwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAyLCA0IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDIsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMiwgNiB9LAotCXsgREJHQlVTX1NTUFAw LCAyLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgNCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCA0 LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNCwgMyB9 LAotCXsgREJHQlVTX1NTUFAwLCA0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQsIDUgfSwKLQl7 IERCR0JVU19TU1BQMCwgNCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCA0LCA3IH0sCi0KLQl7IERC R0JVU19TU1BQMCwgNSwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCAxIH0sCi0JeyBEQkdCVVNf U1NQUDAsIDUsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNSwgMyB9LAotCXsgREJHQlVTX1NTUFAw LCA1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNSwg NiB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCA3IH0sCi0KLQkvKiB2aWcgMiAqLwotCXsgREJHQlVT X1NTUFAwLCAyMCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgMSB9LAotCXsgREJHQlVTX1NT UFAwLCAyMCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgMyB9LAotCXsgREJHQlVTX1NTUFAw LCAyMCwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAy MCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDIx LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAy IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDIxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCA2IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDIxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMjIsIDAgfSwKLQl7 IERCR0JVU19TU1BQMCwgMjIsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDIgfSwKLQl7IERC R0JVU19TU1BQMCwgMjIsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDQgfSwKLQl7IERCR0JV U19TU1BQMCwgMjIsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDYgfSwKLQl7IERCR0JVU19T U1BQMCwgMjIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAyNCwgMCB9LAotCXsgREJHQlVTX1NT UFAwLCAyNCwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgMiB9LAotCXsgREJHQlVTX1NTUFAw LCAyNCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAy NCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwg NyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAx IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAzIH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDI1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCA1IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDI1LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCA3IH0sCi0KLQkv KiBkbWEgMiAqLwotCXsgREJHQlVTX1NTUFAwLCAzMCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAz MCwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwg MyB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNSB9 LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNyB9LAot Ci0JeyBEQkdCVVNfU1NQUDAsIDMxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCAxIH0sCi0J eyBEQkdCVVNfU1NQUDAsIDMxLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCAzIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDMxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA1IH0sCi0JeyBEQkdC VVNfU1NQUDAsIDMxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA3IH0sCi0KLQl7IERCR0JV U19TU1BQMCwgMzIsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDEgfSwKLQl7IERCR0JVU19T U1BQMCwgMzIsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDMgfSwKLQl7IERCR0JVU19TU1BQ MCwgMzIsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwg MzIsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAz MywgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywg MiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNCB9 LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNiB9LAot CXsgREJHQlVTX1NTUFAwLCAzMywgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAwIH0sCi0J eyBEQkdCVVNfU1NQUDAsIDM0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAyIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDM0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCA0IH0sCi0JeyBEQkdC VVNfU1NQUDAsIDM0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCA2IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDM0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMzUsIDAgfSwKLQl7IERCR0JVU19T U1BQMCwgMzUsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMzUsIDIgfSwKLQl7IERCR0JVU19TU1BQ MCwgMzUsIDMgfSwKLQotCS8qIGRtYSAwICovCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAwIH0sCi0J eyBEQkdCVVNfU1NQUDAsIDQwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAyIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDQwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCA0IH0sCi0JeyBEQkdC VVNfU1NQUDAsIDQwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCA2IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDQwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgNDEsIDAgfSwKLQl7IERCR0JVU19T U1BQMCwgNDEsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDIgfSwKLQl7IERCR0JVU19TU1BQ MCwgNDEsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwg NDEsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEs IDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCA0MiwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCA0Miwg MSB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgMyB9 LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgNSB9LAot CXsgREJHQlVTX1NTUFAwLCA0MiwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgNyB9LAotCi0J eyBEQkdCVVNfU1NQUDAsIDQ0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAxIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDQ0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAzIH0sCi0JeyBEQkdC VVNfU1NQUDAsIDQ0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA1IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDQ0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA3IH0sCi0KLQl7IERCR0JVU19T U1BQMCwgNDUsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDEgfSwKLQl7IERCR0JVU19TU1BQ MCwgNDUsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwg NDUsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUs IDYgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDcgfSwKLQotCS8qIGZldGNoIHNzcHAxICovCi0J LyogdmlnIDEgKi8KLQl7IERCR0JVU19TU1BQMSwgMCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAw LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMCwgMyB9 LAotCXsgREJHQlVTX1NTUFAxLCAwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAsIDUgfSwKLQl7 IERCR0JVU19TU1BQMSwgMCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAwLCA3IH0sCi0KLQl7IERC R0JVU19TU1BQMSwgMSwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCAxIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDEsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMSwgMyB9LAotCXsgREJHQlVTX1NTUFAx LCAxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDEsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMSwg NiB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMiwgMCB9 LAotCXsgREJHQlVTX1NTUFAxLCAyLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIsIDIgfSwKLQl7 IERCR0JVU19TU1BQMSwgMiwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAyLCA0IH0sCi0JeyBEQkdC VVNfU1NQUDEsIDIsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMiwgNiB9LAotCXsgREJHQlVTX1NT UFAxLCAyLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNCwgMCB9LAotCXsgREJHQlVTX1NTUFAx LCA0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNCwg MyB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQsIDUgfSwK LQl7IERCR0JVU19TU1BQMSwgNCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCA3IH0sCi0KLQl7 IERCR0JVU19TU1BQMSwgNSwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCAxIH0sCi0JeyBEQkdC VVNfU1NQUDEsIDUsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNSwgMyB9LAotCXsgREJHQlVTX1NT UFAxLCA1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwg NSwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCA3IH0sCi0KLQkvKiB2aWcgMyAqLwotCXsgREJH QlVTX1NTUFAxLCAyMCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgMSB9LAotCXsgREJHQlVT X1NTUFAxLCAyMCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgMyB9LAotCXsgREJHQlVTX1NT UFAxLCAyMCwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgNSB9LAotCXsgREJHQlVTX1NTUFAx LCAyMCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEs IDIxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIx LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA0 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA2IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDIxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMjIsIDAgfSwK LQl7IERCR0JVU19TU1BQMSwgMjIsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDIgfSwKLQl7 IERCR0JVU19TU1BQMSwgMjIsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDQgfSwKLQl7IERC R0JVU19TU1BQMSwgMjIsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDYgfSwKLQl7IERCR0JV U19TU1BQMSwgMjIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCAyNCwgMCB9LAotCXsgREJHQlVT X1NTUFAxLCAyNCwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgMiB9LAotCXsgREJHQlVTX1NT UFAxLCAyNCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgNCB9LAotCXsgREJHQlVTX1NTUFAx LCAyNCwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAy NCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1 LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAz IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCA1IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDI1LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCA3IH0sCi0K LQkvKiBkbWEgMyAqLwotCXsgREJHQlVTX1NTUFAxLCAzMCwgMCB9LAotCXsgREJHQlVTX1NTUFAx LCAzMCwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAz MCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwg NSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNyB9 LAotCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCAxIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDMxLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCAzIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDMxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA1IH0sCi0JeyBE QkdCVVNfU1NQUDEsIDMxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA3IH0sCi0KLQl7IERC R0JVU19TU1BQMSwgMzIsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDEgfSwKLQl7IERCR0JV U19TU1BQMSwgMzIsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDMgfSwKLQl7IERCR0JVU19T U1BQMSwgMzIsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDUgfSwKLQl7IERCR0JVU19TU1BQ MSwgMzIsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAx LCAzMywgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAz MywgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywg NCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNiB9 LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCAwIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDM0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCAyIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDM0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA0IH0sCi0JeyBE QkdCVVNfU1NQUDEsIDM0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA2IH0sCi0JeyBEQkdC VVNfU1NQUDEsIDM0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMzUsIDAgfSwKLQl7IERCR0JV U19TU1BQMSwgMzUsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMzUsIDIgfSwKLQotCS8qIGRtYSAx ICovCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCAxIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDQwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCAzIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDQwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA1IH0sCi0JeyBE QkdCVVNfU1NQUDEsIDQwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA3IH0sCi0KLQl7IERC R0JVU19TU1BQMSwgNDEsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDEgfSwKLQl7IERCR0JV U19TU1BQMSwgNDEsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDMgfSwKLQl7IERCR0JVU19T U1BQMSwgNDEsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDUgfSwKLQl7IERCR0JVU19TU1BQ MSwgNDEsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAx LCA0MiwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCA0 MiwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA0Miwg NCB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNiB9 LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAwIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAyIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDQ0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA0IH0sCi0JeyBE QkdCVVNfU1NQUDEsIDQ0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA2IH0sCi0JeyBEQkdC VVNfU1NQUDEsIDQ0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNDUsIDAgfSwKLQl7IERCR0JV U19TU1BQMSwgNDUsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDIgfSwKLQl7IERCR0JVU19T U1BQMSwgNDUsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDQgfSwKLQl7IERCR0JVU19TU1BQ MSwgNDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwg NDUsIDcgfSwKLQotCS8qIGRzcHAgKi8KLQl7IERCR0JVU19EU1BQLCAxMywgMCB9LAotCXsgREJH QlVTX0RTUFAsIDE5LCAwIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTQsIDAgfSwKLQl7IERCR0JVU19E U1BQLCAxNCwgMSB9LAotCXsgREJHQlVTX0RTUFAsIDE0LCAzIH0sCi0JeyBEQkdCVVNfRFNQUCwg MjAsIDAgfSwKLQl7IERCR0JVU19EU1BQLCAyMCwgMSB9LAotCXsgREJHQlVTX0RTUFAsIDIwLCAz IH0sCi0KLQkvKiBwcGJfMCAqLwotCXsgREJHQlVTX0RTUFAsIDMxLCAwLCBfZHB1X2RlYnVnX2J1 c19wcGIwX2R1bXAgfSwKLQl7IERCR0JVU19EU1BQLCAzMywgMCwgX2RwdV9kZWJ1Z19idXNfcHBi MF9kdW1wIH0sCi0JeyBEQkdCVVNfRFNQUCwgMzUsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjBfZHVt cCB9LAotCXsgREJHQlVTX0RTUFAsIDQyLCAwLCBfZHB1X2RlYnVnX2J1c19wcGIwX2R1bXAgfSwK LQotCS8qIHBwYl8xICovCi0JeyBEQkdCVVNfRFNQUCwgMzIsIDAsIF9kcHVfZGVidWdfYnVzX3Bw YjFfZHVtcCB9LAotCXsgREJHQlVTX0RTUFAsIDM0LCAwLCBfZHB1X2RlYnVnX2J1c19wcGIxX2R1 bXAgfSwKLQl7IERCR0JVU19EU1BQLCAzNiwgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMV9kdW1wIH0s Ci0JeyBEQkdCVVNfRFNQUCwgNDMsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjFfZHVtcCB9LAotCi0J LyogbG1fbHV0ICovCi0JeyBEQkdCVVNfRFNQUCwgMTA5LCAwIH0sCi0JeyBEQkdCVVNfRFNQUCwg MTA1LCAwIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTAzLCAwIH0sCi0KLQkvKiBjcm9zc2JhciAqLwot CXsgREJHQlVTX0RTUFAsIDAsIDAsIF9kcHVfZGVidWdfYnVzX3hiYXJfZHVtcCB9LAotCi0JLyog cm90YXRvciAqLwotCXsgREJHQlVTX0RTUFAsIDksIDB9LAotCi0JLyogYmxlbmQgKi8KLQkvKiBM TTAgKi8KLQl7IERCR0JVU19EU1BQLCA2MywgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjMsIDJ9LAot CXsgREJHQlVTX0RTUFAsIDYzLCAzfSwKLQl7IERCR0JVU19EU1BQLCA2MywgNH0sCi0JeyBEQkdC VVNfRFNQUCwgNjMsIDV9LAotCXsgREJHQlVTX0RTUFAsIDYzLCA2fSwKLQl7IERCR0JVU19EU1BQ LCA2MywgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNjQs IDF9LAotCXsgREJHQlVTX0RTUFAsIDY0LCAyfSwKLQl7IERCR0JVU19EU1BQLCA2NCwgM30sCi0J eyBEQkdCVVNfRFNQUCwgNjQsIDR9LAotCXsgREJHQlVTX0RTUFAsIDY0LCA1fSwKLQl7IERCR0JV U19EU1BQLCA2NCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDcsIF9kcHVfZGVidWdfYnVzX2xt X2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDY1LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2NSwg Mn0sCi0JeyBEQkdCVVNfRFNQUCwgNjUsIDN9LAotCXsgREJHQlVTX0RTUFAsIDY1LCA0fSwKLQl7 IERCR0JVU19EU1BQLCA2NSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNjUsIDZ9LAotCXsgREJHQlVT X0RTUFAsIDY1LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQ LCA2NiwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjYsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDY2LCAz fSwKLQl7IERCR0JVU19EU1BQLCA2NiwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNjYsIDV9LAotCXsg REJHQlVTX0RTUFAsIDY2LCA2fSwKLQl7IERCR0JVU19EU1BQLCA2NiwgNywgX2RwdV9kZWJ1Z19i dXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDF9LAotCXsgREJHQlVTX0RTUFAs IDY3LCAyfSwKLQl7IERCR0JVU19EU1BQLCA2NywgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDR9 LAotCXsgREJHQlVTX0RTUFAsIDY3LCA1fSwKLQl7IERCR0JVU19EU1BQLCA2NywgNn0sCi0JeyBE QkdCVVNfRFNQUCwgNjcsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVT X0RTUFAsIDY4LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2OCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwg NjgsIDN9LAotCXsgREJHQlVTX0RTUFAsIDY4LCA0fSwKLQl7IERCR0JVU19EU1BQLCA2OCwgNX0s Ci0JeyBEQkdCVVNfRFNQUCwgNjgsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDY4LCA3LCBfZHB1X2Rl YnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA2OSwgMX0sCi0JeyBEQkdCVVNf RFNQUCwgNjksIDJ9LAotCXsgREJHQlVTX0RTUFAsIDY5LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2 OSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNjksIDV9LAotCXsgREJHQlVTX0RTUFAsIDY5LCA2fSwK LQl7IERCR0JVU19EU1BQLCA2OSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBE QkdCVVNfRFNQUCwgODQsIDF9LAotCXsgREJHQlVTX0RTUFAsIDg0LCAyfSwKLQl7IERCR0JVU19E U1BQLCA4NCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgODQsIDR9LAotCXsgREJHQlVTX0RTUFAsIDg0 LCA1fSwKLQl7IERCR0JVU19EU1BQLCA4NCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODQsIDcsIF9k cHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCi0JeyBEQkdCVVNfRFNQUCwgODUsIDF9LAotCXsg REJHQlVTX0RTUFAsIDg1LCAyfSwKLQl7IERCR0JVU19EU1BQLCA4NSwgM30sCi0JeyBEQkdCVVNf RFNQUCwgODUsIDR9LAotCXsgREJHQlVTX0RTUFAsIDg1LCA1fSwKLQl7IERCR0JVU19EU1BQLCA4 NSwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODUsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwK LQotCi0JeyBEQkdCVVNfRFNQUCwgODYsIDF9LAotCXsgREJHQlVTX0RTUFAsIDg2LCAyfSwKLQl7 IERCR0JVU19EU1BQLCA4NiwgM30sCi0JeyBEQkdCVVNfRFNQUCwgODYsIDR9LAotCXsgREJHQlVT X0RTUFAsIDg2LCA1fSwKLQl7IERCR0JVU19EU1BQLCA4NiwgNn0sCi0JeyBEQkdCVVNfRFNQUCwg ODYsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCi0JeyBEQkdCVVNfRFNQUCwgODcs IDF9LAotCXsgREJHQlVTX0RTUFAsIDg3LCAyfSwKLQl7IERCR0JVU19EU1BQLCA4NywgM30sCi0J eyBEQkdCVVNfRFNQUCwgODcsIDR9LAotCXsgREJHQlVTX0RTUFAsIDg3LCA1fSwKLQl7IERCR0JV U19EU1BQLCA4NywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODcsIDcsIF9kcHVfZGVidWdfYnVzX2xt X2R1bXAgfSwKLQotCS8qIExNMSAqLwotCXsgREJHQlVTX0RTUFAsIDcwLCAxfSwKLQl7IERCR0JV U19EU1BQLCA3MCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzAsIDN9LAotCXsgREJHQlVTX0RTUFAs IDcwLCA0fSwKLQl7IERCR0JVU19EU1BQLCA3MCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzAsIDZ9 LAotCXsgREJHQlVTX0RTUFAsIDcwLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7 IERCR0JVU19EU1BQLCA3MSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNzEsIDJ9LAotCXsgREJHQlVT X0RTUFAsIDcxLCAzfSwKLQl7IERCR0JVU19EU1BQLCA3MSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwg NzEsIDV9LAotCXsgREJHQlVTX0RTUFAsIDcxLCA2fSwKLQl7IERCR0JVU19EU1BQLCA3MSwgNywg X2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNzIsIDF9LAotCXsg REJHQlVTX0RTUFAsIDcyLCAyfSwKLQl7IERCR0JVU19EU1BQLCA3MiwgM30sCi0JeyBEQkdCVVNf RFNQUCwgNzIsIDR9LAotCXsgREJHQlVTX0RTUFAsIDcyLCA1fSwKLQl7IERCR0JVU19EU1BQLCA3 MiwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNzIsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwK LQotCXsgREJHQlVTX0RTUFAsIDczLCAxfSwKLQl7IERCR0JVU19EU1BQLCA3MywgMn0sCi0JeyBE QkdCVVNfRFNQUCwgNzMsIDN9LAotCXsgREJHQlVTX0RTUFAsIDczLCA0fSwKLQl7IERCR0JVU19E U1BQLCA3MywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzMsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDcz LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA3NCwgMX0s Ci0JeyBEQkdCVVNfRFNQUCwgNzQsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDc0LCAzfSwKLQl7IERC R0JVU19EU1BQLCA3NCwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNzQsIDV9LAotCXsgREJHQlVTX0RT UFAsIDc0LCA2fSwKLQl7IERCR0JVU19EU1BQLCA3NCwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVt cCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNzUsIDF9LAotCXsgREJHQlVTX0RTUFAsIDc1LCAyfSwK LQl7IERCR0JVU19EU1BQLCA3NSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzUsIDR9LAotCXsgREJH QlVTX0RTUFAsIDc1LCA1fSwKLQl7IERCR0JVU19EU1BQLCA3NSwgNn0sCi0JeyBEQkdCVVNfRFNQ UCwgNzUsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDc2 LCAxfSwKLQl7IERCR0JVU19EU1BQLCA3NiwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDN9LAot CXsgREJHQlVTX0RTUFAsIDc2LCA0fSwKLQl7IERCR0JVU19EU1BQLCA3NiwgNX0sCi0JeyBEQkdC VVNfRFNQUCwgNzYsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDc2LCA3LCBfZHB1X2RlYnVnX2J1c19s bV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA4OCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgODgs IDJ9LAotCXsgREJHQlVTX0RTUFAsIDg4LCAzfSwKLQl7IERCR0JVU19EU1BQLCA4OCwgNH0sCi0J eyBEQkdCVVNfRFNQUCwgODgsIDV9LAotCXsgREJHQlVTX0RTUFAsIDg4LCA2fSwKLQl7IERCR0JV U19EU1BQLCA4OCwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQ UCwgODksIDF9LAotCXsgREJHQlVTX0RTUFAsIDg5LCAyfSwKLQl7IERCR0JVU19EU1BQLCA4OSwg M30sCi0JeyBEQkdCVVNfRFNQUCwgODksIDR9LAotCXsgREJHQlVTX0RTUFAsIDg5LCA1fSwKLQl7 IERCR0JVU19EU1BQLCA4OSwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODksIDcsIF9kcHVfZGVidWdf YnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDkwLCAxfSwKLQl7IERCR0JVU19EU1BQ LCA5MCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgOTAsIDN9LAotCXsgREJHQlVTX0RTUFAsIDkwLCA0 fSwKLQl7IERCR0JVU19EU1BQLCA5MCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgOTAsIDZ9LAotCXsg REJHQlVTX0RTUFAsIDkwLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JV U19EU1BQLCA5MSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgOTEsIDJ9LAotCXsgREJHQlVTX0RTUFAs IDkxLCAzfSwKLQl7IERCR0JVU19EU1BQLCA5MSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgOTEsIDV9 LAotCXsgREJHQlVTX0RTUFAsIDkxLCA2fSwKLQl7IERCR0JVU19EU1BQLCA5MSwgNywgX2RwdV9k ZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JLyogTE0yICovCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDB9 LAotCXsgREJHQlVTX0RTUFAsIDc3LCAxfSwKLQl7IERCR0JVU19EU1BQLCA3NywgMn0sCi0JeyBE QkdCVVNfRFNQUCwgNzcsIDN9LAotCXsgREJHQlVTX0RTUFAsIDc3LCA0fSwKLQl7IERCR0JVU19E U1BQLCA3NywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDc3 LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA3OCwgMH0s Ci0JeyBEQkdCVVNfRFNQUCwgNzgsIDF9LAotCXsgREJHQlVTX0RTUFAsIDc4LCAyfSwKLQl7IERC R0JVU19EU1BQLCA3OCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzgsIDR9LAotCXsgREJHQlVTX0RT UFAsIDc4LCA1fSwKLQl7IERCR0JVU19EU1BQLCA3OCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNzgs IDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDc5LCAwfSwK LQl7IERCR0JVU19EU1BQLCA3OSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNzksIDJ9LAotCXsgREJH QlVTX0RTUFAsIDc5LCAzfSwKLQl7IERCR0JVU19EU1BQLCA3OSwgNH0sCi0JeyBEQkdCVVNfRFNQ UCwgNzksIDV9LAotCXsgREJHQlVTX0RTUFAsIDc5LCA2fSwKLQl7IERCR0JVU19EU1BQLCA3OSwg NywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgODAsIDB9LAot CXsgREJHQlVTX0RTUFAsIDgwLCAxfSwKLQl7IERCR0JVU19EU1BQLCA4MCwgMn0sCi0JeyBEQkdC VVNfRFNQUCwgODAsIDN9LAotCXsgREJHQlVTX0RTUFAsIDgwLCA0fSwKLQl7IERCR0JVU19EU1BQ LCA4MCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgODAsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDgwLCA3 LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA4MSwgMH0sCi0J eyBEQkdCVVNfRFNQUCwgODEsIDF9LAotCXsgREJHQlVTX0RTUFAsIDgxLCAyfSwKLQl7IERCR0JV U19EU1BQLCA4MSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgODEsIDR9LAotCXsgREJHQlVTX0RTUFAs IDgxLCA1fSwKLQl7IERCR0JVU19EU1BQLCA4MSwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODEsIDcs IF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDgyLCAwfSwKLQl7 IERCR0JVU19EU1BQLCA4MiwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgODIsIDJ9LAotCXsgREJHQlVT X0RTUFAsIDgyLCAzfSwKLQl7IERCR0JVU19EU1BQLCA4MiwgNH0sCi0JeyBEQkdCVVNfRFNQUCwg ODIsIDV9LAotCXsgREJHQlVTX0RTUFAsIDgyLCA2fSwKLQl7IERCR0JVU19EU1BQLCA4MiwgNywg X2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgODMsIDB9LAotCXsg REJHQlVTX0RTUFAsIDgzLCAxfSwKLQl7IERCR0JVU19EU1BQLCA4MywgMn0sCi0JeyBEQkdCVVNf RFNQUCwgODMsIDN9LAotCXsgREJHQlVTX0RTUFAsIDgzLCA0fSwKLQl7IERCR0JVU19EU1BQLCA4 MywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgODMsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDgzLCA3LCBf ZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA5MiwgMX0sCi0JeyBE QkdCVVNfRFNQUCwgOTIsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDkyLCAzfSwKLQl7IERCR0JVU19E U1BQLCA5MiwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgOTIsIDV9LAotCXsgREJHQlVTX0RTUFAsIDky LCA2fSwKLQl7IERCR0JVU19EU1BQLCA5MiwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAot Ci0JeyBEQkdCVVNfRFNQUCwgOTMsIDF9LAotCXsgREJHQlVTX0RTUFAsIDkzLCAyfSwKLQl7IERC R0JVU19EU1BQLCA5MywgM30sCi0JeyBEQkdCVVNfRFNQUCwgOTMsIDR9LAotCXsgREJHQlVTX0RT UFAsIDkzLCA1fSwKLQl7IERCR0JVU19EU1BQLCA5MywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgOTMs IDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDk0LCAxfSwK LQl7IERCR0JVU19EU1BQLCA5NCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgOTQsIDN9LAotCXsgREJH QlVTX0RTUFAsIDk0LCA0fSwKLQl7IERCR0JVU19EU1BQLCA5NCwgNX0sCi0JeyBEQkdCVVNfRFNQ UCwgOTQsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDk0LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1w IH0sCi0KLQl7IERCR0JVU19EU1BQLCA5NSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgOTUsIDJ9LAot CXsgREJHQlVTX0RTUFAsIDk1LCAzfSwKLQl7IERCR0JVU19EU1BQLCA5NSwgNH0sCi0JeyBEQkdC VVNfRFNQUCwgOTUsIDV9LAotCXsgREJHQlVTX0RTUFAsIDk1LCA2fSwKLQl7IERCR0JVU19EU1BQ LCA5NSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JLyogTE01ICovCi0JeyBEQkdC VVNfRFNQUCwgMTEwLCAxfSwKLQl7IERCR0JVU19EU1BQLCAxMTAsIDJ9LAotCXsgREJHQlVTX0RT UFAsIDExMCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgMTEwLCA0fSwKLQl7IERCR0JVU19EU1BQLCAx MTAsIDV9LAotCXsgREJHQlVTX0RTUFAsIDExMCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgMTEwLCA3 LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCAxMTEsIDF9LAot CXsgREJHQlVTX0RTUFAsIDExMSwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgMTExLCAzfSwKLQl7IERC R0JVU19EU1BQLCAxMTEsIDR9LAotCXsgREJHQlVTX0RTUFAsIDExMSwgNX0sCi0JeyBEQkdCVVNf RFNQUCwgMTExLCA2fSwKLQl7IERCR0JVU19EU1BQLCAxMTEsIDcsIF9kcHVfZGVidWdfYnVzX2xt X2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDExMiwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMTEy LCAyfSwKLQl7IERCR0JVU19EU1BQLCAxMTIsIDN9LAotCXsgREJHQlVTX0RTUFAsIDExMiwgNH0s Ci0JeyBEQkdCVVNfRFNQUCwgMTEyLCA1fSwKLQl7IERCR0JVU19EU1BQLCAxMTIsIDZ9LAotCXsg REJHQlVTX0RTUFAsIDExMiwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdC VVNfRFNQUCwgMTEzLCAxfSwKLQl7IERCR0JVU19EU1BQLCAxMTMsIDJ9LAotCXsgREJHQlVTX0RT UFAsIDExMywgM30sCi0JeyBEQkdCVVNfRFNQUCwgMTEzLCA0fSwKLQl7IERCR0JVU19EU1BQLCAx MTMsIDV9LAotCXsgREJHQlVTX0RTUFAsIDExMywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgMTEzLCA3 LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCAxMTQsIDF9LAot CXsgREJHQlVTX0RTUFAsIDExNCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgMTE0LCAzfSwKLQl7IERC R0JVU19EU1BQLCAxMTQsIDR9LAotCXsgREJHQlVTX0RTUFAsIDExNCwgNX0sCi0JeyBEQkdCVVNf RFNQUCwgMTE0LCA2fSwKLQl7IERCR0JVU19EU1BQLCAxMTQsIDcsIF9kcHVfZGVidWdfYnVzX2xt X2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDExNSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMTE1 LCAyfSwKLQl7IERCR0JVU19EU1BQLCAxMTUsIDN9LAotCXsgREJHQlVTX0RTUFAsIDExNSwgNH0s Ci0JeyBEQkdCVVNfRFNQUCwgMTE1LCA1fSwKLQl7IERCR0JVU19EU1BQLCAxMTUsIDZ9LAotCXsg REJHQlVTX0RTUFAsIDExNSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdC VVNfRFNQUCwgMTE2LCAxfSwKLQl7IERCR0JVU19EU1BQLCAxMTYsIDJ9LAotCXsgREJHQlVTX0RT UFAsIDExNiwgM30sCi0JeyBEQkdCVVNfRFNQUCwgMTE2LCA0fSwKLQl7IERCR0JVU19EU1BQLCAx MTYsIDV9LAotCXsgREJHQlVTX0RTUFAsIDExNiwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgMTE2LCA3 LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCAxMTcsIDF9LAot CXsgREJHQlVTX0RTUFAsIDExNywgMn0sCi0JeyBEQkdCVVNfRFNQUCwgMTE3LCAzfSwKLQl7IERC R0JVU19EU1BQLCAxMTcsIDR9LAotCXsgREJHQlVTX0RTUFAsIDExNywgNX0sCi0JeyBEQkdCVVNf RFNQUCwgMTE3LCA2fSwKLQl7IERCR0JVU19EU1BQLCAxMTcsIDcsIF9kcHVfZGVidWdfYnVzX2xt X2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDExOCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMTE4 LCAyfSwKLQl7IERCR0JVU19EU1BQLCAxMTgsIDN9LAotCXsgREJHQlVTX0RTUFAsIDExOCwgNH0s Ci0JeyBEQkdCVVNfRFNQUCwgMTE4LCA1fSwKLQl7IERCR0JVU19EU1BQLCAxMTgsIDZ9LAotCXsg REJHQlVTX0RTUFAsIDExOCwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdC VVNfRFNQUCwgMTE5LCAxfSwKLQl7IERCR0JVU19EU1BQLCAxMTksIDJ9LAotCXsgREJHQlVTX0RT UFAsIDExOSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgMTE5LCA0fSwKLQl7IERCR0JVU19EU1BQLCAx MTksIDV9LAotCXsgREJHQlVTX0RTUFAsIDExOSwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgMTE5LCA3 LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCAxMjAsIDF9LAot CXsgREJHQlVTX0RTUFAsIDEyMCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgMTIwLCAzfSwKLQl7IERC R0JVU19EU1BQLCAxMjAsIDR9LAotCXsgREJHQlVTX0RTUFAsIDEyMCwgNX0sCi0JeyBEQkdCVVNf RFNQUCwgMTIwLCA2fSwKLQl7IERCR0JVU19EU1BQLCAxMjAsIDcsIF9kcHVfZGVidWdfYnVzX2xt X2R1bXAgfSwKLQotCS8qIGNzYyAqLwotCXsgREJHQlVTX1NTUFAwLCA3LCAwfSwKLQl7IERCR0JV U19TU1BQMCwgNywgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDI3LCAwfSwKLQl7IERCR0JVU19TU1BQ MCwgMjcsIDF9LAotCXsgREJHQlVTX1NTUFAxLCA3LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgNywg MX0sCi0JeyBEQkdCVVNfU1NQUDEsIDI3LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgMjcsIDF9LAot Ci0JLyogcGNjICovCi0JeyBEQkdCVVNfU1NQUDAsIDMsICAzfSwKLQl7IERCR0JVU19TU1BQMCwg MjMsIDN9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDQzLCAz fSwKLQl7IERCR0JVU19TU1BQMSwgMywgIDN9LAotCXsgREJHQlVTX1NTUFAxLCAyMywgM30sCi0J eyBEQkdCVVNfU1NQUDEsIDMzLCAzfSwKLQl7IERCR0JVU19TU1BQMSwgNDMsIDN9LAotCi0JLyog c3BhICovCi0JeyBEQkdCVVNfU1NQUDAsIDgsICAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjgsIDB9 LAotCXsgREJHQlVTX1NTUFAxLCA4LCAgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI4LCAwfSwKLQl7 IERCR0JVU19EU1BQLCAxMywgMH0sCi0JeyBEQkdCVVNfRFNQUCwgMTksIDB9LAotCi0JLyogaWdj ICovCi0JeyBEQkdCVVNfU1NQUDAsIDE3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMTcsIDF9LAot CXsgREJHQlVTX1NTUFAwLCAxNywgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDM3LCAwfSwKLQl7IERC R0JVU19TU1BQMCwgMzcsIDF9LAotCXsgREJHQlVTX1NTUFAwLCAzNywgM30sCi0JeyBEQkdCVVNf U1NQUDAsIDQ2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgNDYsIDF9LAotCXsgREJHQlVTX1NTUFAw LCA0NiwgM30sCi0KLQl7IERCR0JVU19TU1BQMSwgMTcsIDB9LAotCXsgREJHQlVTX1NTUFAxLCAx NywgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDE3LCAzfSwKLQl7IERCR0JVU19TU1BQMSwgMzcsIDB9 LAotCXsgREJHQlVTX1NTUFAxLCAzNywgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDM3LCAzfSwKLQl7 IERCR0JVU19TU1BQMSwgNDYsIDB9LAotCXsgREJHQlVTX1NTUFAxLCA0NiwgMX0sCi0JeyBEQkdC VVNfU1NQUDEsIDQ2LCAzfSwKLQotCXsgREJHQlVTX0RTUFAsIDE0LCAwfSwKLQl7IERCR0JVU19E U1BQLCAxNCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMTQsIDN9LAotCXsgREJHQlVTX0RTUFAsIDIw LCAwfSwKLQl7IERCR0JVU19EU1BQLCAyMCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMjAsIDN9LAot Ci0JLyogaW50ZjAtMyAqLwotCXsgREJHQlVTX1BFUklQSCwgMCwgMH0sCi0JeyBEQkdCVVNfUEVS SVBILCAxLCAwfSwKLQl7IERCR0JVU19QRVJJUEgsIDIsIDB9LAotCXsgREJHQlVTX1BFUklQSCwg MywgMH0sCi0KLQkvKiB0ZSBjb3VudGVyIHdyYXBwZXIgKi8KLQl7IERCR0JVU19QRVJJUEgsIDYw LCAwfSwKLQotCS8qIGRzYzAgKi8KLQl7IERCR0JVU19QRVJJUEgsIDQ3LCAwfSwKLQl7IERCR0JV U19QRVJJUEgsIDQ3LCAxfSwKLQl7IERCR0JVU19QRVJJUEgsIDQ3LCAyfSwKLQl7IERCR0JVU19Q RVJJUEgsIDQ3LCAzfSwKLQl7IERCR0JVU19QRVJJUEgsIDQ3LCA0fSwKLQl7IERCR0JVU19QRVJJ UEgsIDQ3LCA1fSwKLQl7IERCR0JVU19QRVJJUEgsIDQ3LCA2fSwKLQl7IERCR0JVU19QRVJJUEgs IDQ3LCA3fSwKLQotCS8qIGRzYzEgKi8KLQl7IERCR0JVU19QRVJJUEgsIDQ4LCAwfSwKLQl7IERC R0JVU19QRVJJUEgsIDQ4LCAxfSwKLQl7IERCR0JVU19QRVJJUEgsIDQ4LCAyfSwKLQl7IERCR0JV U19QRVJJUEgsIDQ4LCAzfSwKLQl7IERCR0JVU19QRVJJUEgsIDQ4LCA0fSwKLQl7IERCR0JVU19Q RVJJUEgsIDQ4LCA1fSwKLQl7IERCR0JVU19QRVJJUEgsIDQ4LCA2fSwKLQl7IERCR0JVU19QRVJJ UEgsIDQ4LCA3fSwKLQotCS8qIGRzYzIgKi8KLQl7IERCR0JVU19QRVJJUEgsIDUxLCAwfSwKLQl7 IERCR0JVU19QRVJJUEgsIDUxLCAxfSwKLQl7IERCR0JVU19QRVJJUEgsIDUxLCAyfSwKLQl7IERC R0JVU19QRVJJUEgsIDUxLCAzfSwKLQl7IERCR0JVU19QRVJJUEgsIDUxLCA0fSwKLQl7IERCR0JV U19QRVJJUEgsIDUxLCA1fSwKLQl7IERCR0JVU19QRVJJUEgsIDUxLCA2fSwKLQl7IERCR0JVU19Q RVJJUEgsIDUxLCA3fSwKLQotCS8qIGRzYzMgKi8KLQl7IERCR0JVU19QRVJJUEgsIDUyLCAwfSwK LQl7IERCR0JVU19QRVJJUEgsIDUyLCAxfSwKLQl7IERCR0JVU19QRVJJUEgsIDUyLCAyfSwKLQl7 IERCR0JVU19QRVJJUEgsIDUyLCAzfSwKLQl7IERCR0JVU19QRVJJUEgsIDUyLCA0fSwKLQl7IERC R0JVU19QRVJJUEgsIDUyLCA1fSwKLQl7IERCR0JVU19QRVJJUEgsIDUyLCA2fSwKLQl7IERCR0JV U19QRVJJUEgsIDUyLCA3fSwKLQotCS8qIHRlYXItY2hlY2sgKi8KLQl7IERCR0JVU19QRVJJUEgs IDYzLCAwIH0sCi0JeyBEQkdCVVNfUEVSSVBILCA2NCwgMCB9LAotCXsgREJHQlVTX1BFUklQSCwg NjUsIDAgfSwKLQl7IERCR0JVU19QRVJJUEgsIDczLCAwIH0sCi0JeyBEQkdCVVNfUEVSSVBILCA3 NCwgMCB9LAotCi0JLyogY2R3biAqLwotCXsgREJHQlVTX1BFUklQSCwgODAsIDB9LAotCXsgREJH QlVTX1BFUklQSCwgODAsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgODAsIDJ9LAotCi0JeyBEQkdC VVNfUEVSSVBILCA4MSwgMH0sCi0JeyBEQkdCVVNfUEVSSVBILCA4MSwgMX0sCi0JeyBEQkdCVVNf UEVSSVBILCA4MSwgMn0sCi0KLQl7IERCR0JVU19QRVJJUEgsIDgyLCAwfSwKLQl7IERCR0JVU19Q RVJJUEgsIDgyLCAxfSwKLQl7IERCR0JVU19QRVJJUEgsIDgyLCAyfSwKLQl7IERCR0JVU19QRVJJ UEgsIDgyLCAzfSwKLQl7IERCR0JVU19QRVJJUEgsIDgyLCA0fSwKLQl7IERCR0JVU19QRVJJUEgs IDgyLCA1fSwKLQl7IERCR0JVU19QRVJJUEgsIDgyLCA2fSwKLQl7IERCR0JVU19QRVJJUEgsIDgy LCA3fSwKLQotCS8qIGhkbWkgKi8KLQl7IERCR0JVU19QRVJJUEgsIDY4LCAwfSwKLQl7IERCR0JV U19QRVJJUEgsIDY4LCAxfSwKLQl7IERCR0JVU19QRVJJUEgsIDY4LCAyfSwKLQl7IERCR0JVU19Q RVJJUEgsIDY4LCAzfSwKLQl7IERCR0JVU19QRVJJUEgsIDY4LCA0fSwKLQl7IERCR0JVU19QRVJJ UEgsIDY4LCA1fSwKLQotCS8qIGVkcCAqLwotCXsgREJHQlVTX1BFUklQSCwgNjksIDB9LAotCXsg REJHQlVTX1BFUklQSCwgNjksIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNjksIDJ9LAotCXsgREJH QlVTX1BFUklQSCwgNjksIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNjksIDR9LAotCXsgREJHQlVT X1BFUklQSCwgNjksIDV9LAotCi0JLyogZHNpMCAqLwotCXsgREJHQlVTX1BFUklQSCwgNzAsIDB9 LAotCXsgREJHQlVTX1BFUklQSCwgNzAsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNzAsIDJ9LAot CXsgREJHQlVTX1BFUklQSCwgNzAsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNzAsIDR9LAotCXsg REJHQlVTX1BFUklQSCwgNzAsIDV9LAotCi0JLyogZHNpMSAqLwotCXsgREJHQlVTX1BFUklQSCwg NzEsIDB9LAotCXsgREJHQlVTX1BFUklQSCwgNzEsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNzEs IDJ9LAotCXsgREJHQlVTX1BFUklQSCwgNzEsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNzEsIDR9 LAotCXsgREJHQlVTX1BFUklQSCwgNzEsIDV9LAotfTsKLQotc3RhdGljIHN0cnVjdCB2YmlmX2Rl YnVnX2J1c19lbnRyeSB2YmlmX2RiZ19idXNfbXNtODk5OFtdID0gewotCXsweDIxNCwgMHgyMWMs IDE2LCAyLCAweDAsIDB4ZH0sICAgICAvKiBhcmIgY2xpZW50cyAqLwotCXsweDIxNCwgMHgyMWMs IDE2LCAyLCAweDgwLCAweGMwfSwgICAvKiBhcmIgY2xpZW50cyAqLwotCXsweDIxNCwgMHgyMWMs IDE2LCAyLCAweDEwMCwgMHgxNDB9LCAvKiBhcmIgY2xpZW50cyAqLwotCXsweDIxNCwgMHgyMWMs IDAsIDE2LCAweDAsIDB4Zn0sICAgICAvKiB4aW4gYmxvY2tzIC0gYXhpIHNpZGUgKi8KLQl7MHgy MTQsIDB4MjFjLCAwLCAxNiwgMHg4MCwgMHhhNH0sICAgLyogeGluIGJsb2NrcyAtIGF4aSBzaWRl ICovCi0JezB4MjE0LCAweDIxYywgMCwgMTUsIDB4MTAwLCAweDEyNH0sIC8qIHhpbiBibG9ja3Mg LSBheGkgc2lkZSAqLwotCXsweDIxYywgMHgyMTQsIDAsIDE0LCAwLCAweGN9LCAvKiB4aW4gYmxv Y2tzIC0gY2xvY2sgc2lkZSAqLwotfTsKLQotLyoqCi0gKiBfZHB1X2RiZ19lbmFibGVfcG93ZXIg LSB1c2UgY2FsbGJhY2sgdG8gdHVybiBwb3dlciBvbiBmb3IgaHcgcmVnaXN0ZXIgYWNjZXNzCi0g KiBAZW5hYmxlOiB3aGV0aGVyIHRvIHR1cm4gcG93ZXIgb24gb3Igb2ZmCi0gKi8KLXN0YXRpYyBp bmxpbmUgdm9pZCBfZHB1X2RiZ19lbmFibGVfcG93ZXIoaW50IGVuYWJsZSkKLXsKLQlpZiAoZW5h YmxlKQotCQlwbV9ydW50aW1lX2dldF9zeW5jKGRwdV9kYmdfYmFzZS5kZXYpOwotCWVsc2UKLQkJ cG1fcnVudGltZV9wdXRfc3luYyhkcHVfZGJnX2Jhc2UuZGV2KTsKLX0KLQotc3RhdGljIHZvaWQg X2RwdV9kYmdfZHVtcF9kcHVfZGJnX2J1cyhzdHJ1Y3QgZHB1X2RiZ19kcHVfZGVidWdfYnVzICpi dXMpCi17Ci0JYm9vbCBpbl9sb2csIGluX21lbTsKLQl1MzIgKipkdW1wX21lbSA9IE5VTEw7Ci0J dTMyICpkdW1wX2FkZHIgPSBOVUxMOwotCXUzMiBzdGF0dXMgPSAwOwotCXN0cnVjdCBkcHVfZGVi dWdfYnVzX2VudHJ5ICpoZWFkOwotCXBoeXNfYWRkcl90IHBoeXMgPSAwOwotCWludCBsaXN0X3Np emU7Ci0JaW50IGk7Ci0JdTMyIG9mZnNldDsKLQl2b2lkIF9faW9tZW0gKm1lbV9iYXNlID0gTlVM TDsKLQlzdHJ1Y3QgZHB1X2RiZ19yZWdfYmFzZSAqcmVnX2Jhc2U7Ci0KLQlpZiAoIWJ1cyB8fCAh YnVzLT5jbW4uZW50cmllc19zaXplKQotCQlyZXR1cm47Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5 KHJlZ19iYXNlLCAmZHB1X2RiZ19iYXNlLnJlZ19iYXNlX2xpc3QsCi0JCQlyZWdfYmFzZV9oZWFk KQotCQlpZiAoc3RybGVuKHJlZ19iYXNlLT5uYW1lKSAmJgotCQkJIXN0cmNtcChyZWdfYmFzZS0+ bmFtZSwgYnVzLT5jbW4ubmFtZSkpCi0JCQltZW1fYmFzZSA9IHJlZ19iYXNlLT5iYXNlICsgYnVz LT50b3BfYmxrX29mZjsKLQotCWlmICghbWVtX2Jhc2UpIHsKLQkJcHJfZXJyKCJ1bmFibGUgdG8g ZmluZCBtZW1fYmFzZSBmb3IgJXNcbiIsIGJ1cy0+Y21uLm5hbWUpOwotCQlyZXR1cm47Ci0JfQot Ci0JZHVtcF9tZW0gPSAmYnVzLT5jbW4uZHVtcGVkX2NvbnRlbnQ7Ci0KLQkvKiB3aWxsIGtlZXAg aW4gbWVtb3J5IDQgZW50cmllcyBvZiA0IGJ5dGVzIGVhY2ggKi8KLQlsaXN0X3NpemUgPSAoYnVz LT5jbW4uZW50cmllc19zaXplICogNCAqIDQpOwotCi0JaW5fbG9nID0gKGJ1cy0+Y21uLmVuYWJs ZV9tYXNrICYgRFBVX0RCR19EVU1QX0lOX0xPRyk7Ci0JaW5fbWVtID0gKGJ1cy0+Y21uLmVuYWJs ZV9tYXNrICYgRFBVX0RCR19EVU1QX0lOX01FTSk7Ci0KLQlpZiAoIWluX2xvZyAmJiAhaW5fbWVt KQotCQlyZXR1cm47Ci0KLQlEUk1fREVWX0lORk8oZHB1X2RiZ19iYXNlLmRldiwgIj09PT09PT09 IHN0YXJ0ICVzIGR1bXAgPT09PT09PT09XG4iLAotCQkJYnVzLT5jbW4ubmFtZSk7Ci0KLQlpZiAo aW5fbWVtKSB7Ci0JCWlmICghKCpkdW1wX21lbSkpCi0JCQkqZHVtcF9tZW0gPSBkbWFfYWxsb2Nf Y29oZXJlbnQoZHB1X2RiZ19iYXNlLmRldiwKLQkJCQlsaXN0X3NpemUsICZwaHlzLCBHRlBfS0VS TkVMKTsKLQotCQlpZiAoKmR1bXBfbWVtKSB7Ci0JCQlkdW1wX2FkZHIgPSAqZHVtcF9tZW07Ci0J CQlEUk1fREVWX0lORk8oZHB1X2RiZ19iYXNlLmRldiwKLQkJCQkiJXM6IHN0YXJ0X2FkZHI6MHgl cEsgbGVuOjB4JXhcbiIsCi0JCQkJX19mdW5jX18sIGR1bXBfYWRkciwgbGlzdF9zaXplKTsKLQkJ fSBlbHNlIHsKLQkJCWluX21lbSA9IGZhbHNlOwotCQkJcHJfZXJyKCJkdW1wX21lbTogYWxsb2Nh dGlvbiBmYWlsc1xuIik7Ci0JCX0KLQl9Ci0KLQlfZHB1X2RiZ19lbmFibGVfcG93ZXIodHJ1ZSk7 Ci0JZm9yIChpID0gMDsgaSA8IGJ1cy0+Y21uLmVudHJpZXNfc2l6ZTsgaSsrKSB7Ci0JCWhlYWQg PSBidXMtPmVudHJpZXMgKyBpOwotCQl3cml0ZWxfcmVsYXhlZChURVNUX01BU0soaGVhZC0+Ymxv Y2tfaWQsIGhlYWQtPnRlc3RfaWQpLAotCQkJCW1lbV9iYXNlICsgaGVhZC0+d3JfYWRkcik7Ci0J CXdtYigpOyAvKiBtYWtlIHN1cmUgdGVzdCBiaXRzIHdlcmUgd3JpdHRlbiAqLwotCi0JCWlmIChi dXMtPmNtbi5mbGFncyAmIERCR0JVU19GTEFHU19EU1BQKSB7Ci0JCQlvZmZzZXQgPSBEQkdCVVNf RFNQUF9TVEFUVVM7Ci0JCQkvKiBrZWVwIERTUFAgdGVzdCBwb2ludCBlbmFibGVkICovCi0JCQlp ZiAoaGVhZC0+d3JfYWRkciAhPSBEQkdCVVNfRFNQUCkKLQkJCQl3cml0ZWxfcmVsYXhlZCgweEYs IG1lbV9iYXNlICsgREJHQlVTX0RTUFApOwotCQl9IGVsc2UgewotCQkJb2Zmc2V0ID0gaGVhZC0+ d3JfYWRkciArIDB4NDsKLQkJfQotCi0JCXN0YXR1cyA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2Ug KyBvZmZzZXQpOwotCi0JCWlmIChpbl9sb2cpCi0JCQlEUk1fREVWX0lORk8oZHB1X2RiZ19iYXNl LmRldiwKLQkJCQkJIndhZGRyPTB4JXggYmxrPSVkIHRzdD0lZCB2YWw9MHgleFxuIiwKLQkJCQkJ aGVhZC0+d3JfYWRkciwgaGVhZC0+YmxvY2tfaWQsCi0JCQkJCWhlYWQtPnRlc3RfaWQsIHN0YXR1 cyk7Ci0KLQkJaWYgKGR1bXBfYWRkciAmJiBpbl9tZW0pIHsKLQkJCWR1bXBfYWRkcltpKjRdICAg ICA9IGhlYWQtPndyX2FkZHI7Ci0JCQlkdW1wX2FkZHJbaSo0ICsgMV0gPSBoZWFkLT5ibG9ja19p ZDsKLQkJCWR1bXBfYWRkcltpKjQgKyAyXSA9IGhlYWQtPnRlc3RfaWQ7Ci0JCQlkdW1wX2FkZHJb aSo0ICsgM10gPSBzdGF0dXM7Ci0JCX0KLQotCQlpZiAoaGVhZC0+YW5hbHl6ZXIpCi0JCQloZWFk LT5hbmFseXplcihtZW1fYmFzZSwgaGVhZCwgc3RhdHVzKTsKLQotCQkvKiBEaXNhYmxlIGRlYnVn IGJ1cyBvbmNlIHdlIGFyZSBkb25lICovCi0JCXdyaXRlbF9yZWxheGVkKDAsIG1lbV9iYXNlICsg aGVhZC0+d3JfYWRkcik7Ci0JCWlmIChidXMtPmNtbi5mbGFncyAmIERCR0JVU19GTEFHU19EU1BQ ICYmCi0JCQkJCQloZWFkLT53cl9hZGRyICE9IERCR0JVU19EU1BQKQotCQkJd3JpdGVsX3JlbGF4 ZWQoMHgwLCBtZW1fYmFzZSArIERCR0JVU19EU1BQKTsKLQl9Ci0JX2RwdV9kYmdfZW5hYmxlX3Bv d2VyKGZhbHNlKTsKLQotCURSTV9ERVZfSU5GTyhkcHVfZGJnX2Jhc2UuZGV2LCAiPT09PT09PT0g ZW5kICVzIGR1bXAgPT09PT09PT09XG4iLAotCQkJYnVzLT5jbW4ubmFtZSk7Ci19Ci0KLXN0YXRp YyB2b2lkIF9kcHVfZGJnX2R1bXBfdmJpZl9kZWJ1Z19idXNfZW50cnkoCi0JCXN0cnVjdCB2Ymlm X2RlYnVnX2J1c19lbnRyeSAqaGVhZCwgdm9pZCBfX2lvbWVtICptZW1fYmFzZSwKLQkJdTMyICpk dW1wX2FkZHIsIGJvb2wgaW5fbG9nKQotewotCWludCBpLCBqOwotCXUzMiB2YWw7Ci0KLQlpZiAo IWR1bXBfYWRkciAmJiAhaW5fbG9nKQotCQlyZXR1cm47Ci0KLQlmb3IgKGkgPSAwOyBpIDwgaGVh ZC0+YmxvY2tfY250OyBpKyspIHsKLQkJd3JpdGVsX3JlbGF4ZWQoMSA8PCAoaSArIGhlYWQtPmJp dF9vZmZzZXQpLAotCQkJCW1lbV9iYXNlICsgaGVhZC0+YmxvY2tfYnVzX2FkZHIpOwotCQkvKiBt YWtlIHN1cmUgdGhhdCBjdXJyZW50IGJ1cyBibGNvayBlbmFibGUgKi8KLQkJd21iKCk7Ci0JCWZv ciAoaiA9IGhlYWQtPnRlc3RfcG50X3N0YXJ0OyBqIDwgaGVhZC0+dGVzdF9wbnRfY250OyBqKysp IHsKLQkJCXdyaXRlbF9yZWxheGVkKGosIG1lbV9iYXNlICsgaGVhZC0+YmxvY2tfYnVzX2FkZHIg KyA0KTsKLQkJCS8qIG1ha2Ugc3VyZSB0aGF0IHRlc3QgcG9pbnQgaXMgZW5hYmxlZCAqLwotCQkJ d21iKCk7Ci0JCQl2YWwgPSByZWFkbF9yZWxheGVkKG1lbV9iYXNlICsgTU1TU19WQklGX1RFU1Rf QlVTX09VVCk7Ci0JCQlpZiAoZHVtcF9hZGRyKSB7Ci0JCQkJKmR1bXBfYWRkcisrID0gaGVhZC0+ YmxvY2tfYnVzX2FkZHI7Ci0JCQkJKmR1bXBfYWRkcisrID0gaTsKLQkJCQkqZHVtcF9hZGRyKysg PSBqOwotCQkJCSpkdW1wX2FkZHIrKyA9IHZhbDsKLQkJCX0KLQkJCWlmIChpbl9sb2cpCi0JCQkJ RFJNX0RFVl9JTkZPKGRwdV9kYmdfYmFzZS5kZXYsCi0JCQkJCSJ0ZXN0cG9pbnQ6JXggYXJiL3hp biBpZD0lZCBpbmRleD0lZCB2YWw9MHgleFxuIiwKLQkJCQkJaGVhZC0+YmxvY2tfYnVzX2FkZHIs IGksIGosIHZhbCk7Ci0JCX0KLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIF9kcHVfZGJnX2R1bXBfdmJp Zl9kYmdfYnVzKHN0cnVjdCBkcHVfZGJnX3ZiaWZfZGVidWdfYnVzICpidXMpCi17Ci0JYm9vbCBp bl9sb2csIGluX21lbTsKLQl1MzIgKipkdW1wX21lbSA9IE5VTEw7Ci0JdTMyICpkdW1wX2FkZHIg PSBOVUxMOwotCXUzMiB2YWx1ZSwgZDAsIGQxOwotCXVuc2lnbmVkIGxvbmcgcmVnLCByZWcxLCBy ZWcyOwotCXN0cnVjdCB2YmlmX2RlYnVnX2J1c19lbnRyeSAqaGVhZDsKLQlwaHlzX2FkZHJfdCBw aHlzID0gMDsKLQlpbnQgaSwgbGlzdF9zaXplID0gMDsKLQl2b2lkIF9faW9tZW0gKm1lbV9iYXNl ID0gTlVMTDsKLQlzdHJ1Y3QgdmJpZl9kZWJ1Z19idXNfZW50cnkgKmRiZ19idXM7Ci0JdTMyIGJ1 c19zaXplOwotCXN0cnVjdCBkcHVfZGJnX3JlZ19iYXNlICpyZWdfYmFzZTsKLQotCWlmICghYnVz IHx8ICFidXMtPmNtbi5lbnRyaWVzX3NpemUpCi0JCXJldHVybjsKLQotCWxpc3RfZm9yX2VhY2hf ZW50cnkocmVnX2Jhc2UsICZkcHVfZGJnX2Jhc2UucmVnX2Jhc2VfbGlzdCwKLQkJCXJlZ19iYXNl X2hlYWQpCi0JCWlmIChzdHJsZW4ocmVnX2Jhc2UtPm5hbWUpICYmCi0JCQkhc3RyY21wKHJlZ19i YXNlLT5uYW1lLCBidXMtPmNtbi5uYW1lKSkKLQkJCW1lbV9iYXNlID0gcmVnX2Jhc2UtPmJhc2U7 Ci0KLQlpZiAoIW1lbV9iYXNlKSB7Ci0JCXByX2VycigidW5hYmxlIHRvIGZpbmQgbWVtX2Jhc2Ug Zm9yICVzXG4iLCBidXMtPmNtbi5uYW1lKTsKLQkJcmV0dXJuOwotCX0KLQotCWRiZ19idXMgPSBi dXMtPmVudHJpZXM7Ci0JYnVzX3NpemUgPSBidXMtPmNtbi5lbnRyaWVzX3NpemU7Ci0JbGlzdF9z aXplID0gYnVzLT5jbW4uZW50cmllc19zaXplOwotCWR1bXBfbWVtID0gJmJ1cy0+Y21uLmR1bXBl ZF9jb250ZW50OwotCi0JRFJNX0RFVl9JTkZPKGRwdV9kYmdfYmFzZS5kZXYsICI9PT09PT09PSBz dGFydCAlcyBkdW1wID09PT09PT09PVxuIiwKLQkJCWJ1cy0+Y21uLm5hbWUpOwotCi0JaWYgKCFk dW1wX21lbSB8fCAhZGJnX2J1cyB8fCAhYnVzX3NpemUgfHwgIWxpc3Rfc2l6ZSkKLQkJcmV0dXJu OwotCi0JLyogYWxsb2NhdGUgbWVtb3J5IGZvciBlYWNoIHRlc3QgcG9pbnQgKi8KLQlmb3IgKGkg PSAwOyBpIDwgYnVzX3NpemU7IGkrKykgewotCQloZWFkID0gZGJnX2J1cyArIGk7Ci0JCWxpc3Rf c2l6ZSArPSAoaGVhZC0+YmxvY2tfY250ICogaGVhZC0+dGVzdF9wbnRfY250KTsKLQl9Ci0KLQkv KiA0IGJ5dGVzICogNCBlbnRyaWVzIGZvciBlYWNoIHRlc3QgcG9pbnQqLwotCWxpc3Rfc2l6ZSAq PSAxNjsKLQotCWluX2xvZyA9IChidXMtPmNtbi5lbmFibGVfbWFzayAmIERQVV9EQkdfRFVNUF9J Tl9MT0cpOwotCWluX21lbSA9IChidXMtPmNtbi5lbmFibGVfbWFzayAmIERQVV9EQkdfRFVNUF9J Tl9NRU0pOwotCi0JaWYgKCFpbl9sb2cgJiYgIWluX21lbSkKLQkJcmV0dXJuOwotCi0JaWYgKGlu X21lbSkgewotCQlpZiAoISgqZHVtcF9tZW0pKQotCQkJKmR1bXBfbWVtID0gZG1hX2FsbG9jX2Nv aGVyZW50KGRwdV9kYmdfYmFzZS5kZXYsCi0JCQkJbGlzdF9zaXplLCAmcGh5cywgR0ZQX0tFUk5F TCk7Ci0KLQkJaWYgKCpkdW1wX21lbSkgewotCQkJZHVtcF9hZGRyID0gKmR1bXBfbWVtOwotCQkJ RFJNX0RFVl9JTkZPKGRwdV9kYmdfYmFzZS5kZXYsCi0JCQkJIiVzOiBzdGFydF9hZGRyOjB4JXBL IGxlbjoweCV4XG4iLAotCQkJCV9fZnVuY19fLCBkdW1wX2FkZHIsIGxpc3Rfc2l6ZSk7Ci0JCX0g ZWxzZSB7Ci0JCQlpbl9tZW0gPSBmYWxzZTsKLQkJCXByX2VycigiZHVtcF9tZW06IGFsbG9jYXRp b24gZmFpbHNcbiIpOwotCQl9Ci0JfQotCi0JX2RwdV9kYmdfZW5hYmxlX3Bvd2VyKHRydWUpOwot Ci0JdmFsdWUgPSByZWFkbF9yZWxheGVkKG1lbV9iYXNlICsgTU1TU19WQklGX0NMS09OKTsKLQl3 cml0ZWxfcmVsYXhlZCh2YWx1ZSB8IEJJVCgxKSwgbWVtX2Jhc2UgKyBNTVNTX1ZCSUZfQ0xLT04p OwotCi0JLyogbWFrZSBzdXJlIHRoYXQgdmJpZiBjb3JlIGlzIG9uICovCi0Jd21iKCk7Ci0KLQkv KioKLQkgKiBFeHRyYWN0IFZCSUYgZXJyb3IgaW5mbyBiYXNlZCBvbiBYSU4gaGFsdCBhbmQgZXJy b3Igc3RhdHVzLgotCSAqIElmIHRoZSBYSU4gY2xpZW50IGlzIG5vdCBpbiBIQUxUIHN0YXRlLCBv ciBhbiBlcnJvciBpcyBkZXRlY3RlZCwKLQkgKiB0aGVuIHJldHJpZXZlIHRoZSBWQklGIGVycm9y IGluZm8gZm9yIGl0LgotCSAqLwotCXJlZyA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2UgKyBNTVNT X1ZCSUZfWElOX0hBTFRfQ1RSTDEpOwotCXJlZzEgPSByZWFkbF9yZWxheGVkKG1lbV9iYXNlICsg TU1TU19WQklGX1BORF9FUlIpOwotCXJlZzIgPSByZWFkbF9yZWxheGVkKG1lbV9iYXNlICsgTU1T U19WQklGX1NSQ19FUlIpOwotCURSTV9ERVZfRVJST1IoZHB1X2RiZ19iYXNlLmRldiwKLQkJCSJY SU4gSEFMVDoweCVsWCwgUE5EIEVSUjoweCVsWCwgU1JDIEVSUjoweCVsWFxuIiwKLQkJCXJlZywg cmVnMSwgcmVnMik7Ci0JcmVnID4+PSAxNjsKLQlyZWcgJj0gfihyZWcxIHwgcmVnMik7Ci0JZm9y IChpID0gMDsgaSA8IE1NU1NfVkJJRl9DTElFTlRfTlVNOyBpKyspIHsKLQkJaWYgKCF0ZXN0X2Jp dCgwLCAmcmVnKSkgewotCQkJd3JpdGVsX3JlbGF4ZWQoaSwgbWVtX2Jhc2UgKyBNTVNTX1ZCSUZf RVJSX0lORk8pOwotCQkJLyogbWFrZSBzdXJlIHJlZyB3cml0ZSBnb2VzIHRocm91Z2ggKi8KLQkJ CXdtYigpOwotCi0JCQlkMCA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2UgKyBNTVNTX1ZCSUZfRVJS X0lORk8pOwotCQkJZDEgPSByZWFkbF9yZWxheGVkKG1lbV9iYXNlICsgTU1TU19WQklGX0VSUl9J TkZPXzEpOwotCi0JCQlEUk1fREVWX0VSUk9SKGRwdV9kYmdfYmFzZS5kZXYsCi0JCQkJCSJDbGll bnQ6JWQsIGVycmluZm89MHglWCwgZXJyaW5mbzE9MHglWFxuIiwKLQkJCQkJaSwgZDAsIGQxKTsK LQkJfQotCQlyZWcgPj49IDE7Ci0JfQotCi0JZm9yIChpID0gMDsgaSA8IGJ1c19zaXplOyBpKysp IHsKLQkJaGVhZCA9IGRiZ19idXMgKyBpOwotCi0JCXdyaXRlbF9yZWxheGVkKDAsIG1lbV9iYXNl ICsgaGVhZC0+ZGlzYWJsZV9idXNfYWRkcik7Ci0JCXdyaXRlbF9yZWxheGVkKEJJVCgwKSwgbWVt X2Jhc2UgKyBNTVNTX1ZCSUZfVEVTVF9CVVNfT1VUX0NUUkwpOwotCQkvKiBtYWtlIHN1cmUgdGhh dCBvdGhlciBidXMgaXMgb2ZmICovCi0JCXdtYigpOwotCi0JCV9kcHVfZGJnX2R1bXBfdmJpZl9k ZWJ1Z19idXNfZW50cnkoaGVhZCwgbWVtX2Jhc2UsIGR1bXBfYWRkciwKLQkJCQlpbl9sb2cpOwot CQlpZiAoZHVtcF9hZGRyKQotCQkJZHVtcF9hZGRyICs9IChoZWFkLT5ibG9ja19jbnQgKiBoZWFk LT50ZXN0X3BudF9jbnQgKiA0KTsKLQl9Ci0KLQlfZHB1X2RiZ19lbmFibGVfcG93ZXIoZmFsc2Up OwotCi0JRFJNX0RFVl9JTkZPKGRwdV9kYmdfYmFzZS5kZXYsICI9PT09PT09PSBlbmQgJXMgZHVt cCA9PT09PT09PT1cbiIsCi0JCQlidXMtPmNtbi5uYW1lKTsKLX0KLQotLyoqCi0gKiBfZHB1X2R1 bXBfYXJyYXkgLSBkdW1wIGFycmF5IG9mIHJlZ2lzdGVyIGJhc2VzCi0gKiBAbmFtZTogc3RyaW5n IGluZGljYXRpbmcgb3JpZ2luIG9mIGR1bXAKLSAqIEBkdW1wX2RiZ2J1c19kcHU6IHdoZXRoZXIg dG8gZHVtcCB0aGUgZHB1IGRlYnVnIGJ1cwotICogQGR1bXBfZGJnYnVzX3ZiaWZfcnQ6IHdoZXRo ZXIgdG8gZHVtcCB0aGUgdmJpZiBydCBkZWJ1ZyBidXMKLSAqLwotc3RhdGljIHZvaWQgX2RwdV9k dW1wX2FycmF5KGNvbnN0IGNoYXIgKm5hbWUsIGJvb2wgZHVtcF9kYmdidXNfZHB1LAotCQkJICAg IGJvb2wgZHVtcF9kYmdidXNfdmJpZl9ydCkKLXsKLQlpZiAoZHVtcF9kYmdidXNfZHB1KQotCQlf ZHB1X2RiZ19kdW1wX2RwdV9kYmdfYnVzKCZkcHVfZGJnX2Jhc2UuZGJnYnVzX2RwdSk7Ci0KLQlp ZiAoZHVtcF9kYmdidXNfdmJpZl9ydCkKLQkJX2RwdV9kYmdfZHVtcF92YmlmX2RiZ19idXMoJmRw dV9kYmdfYmFzZS5kYmdidXNfdmJpZl9ydCk7Ci19Ci0KLS8qKgotICogX2RwdV9kdW1wX3dvcmsg LSBkZWZlcnJlZCBkdW1wIHdvcmsgZnVuY3Rpb24KLSAqIEB3b3JrOiB3b3JrIHN0cnVjdHVyZQot ICovCi1zdGF0aWMgdm9pZCBfZHB1X2R1bXBfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmsp Ci17Ci0JX2RwdV9kdW1wX2FycmF5KCJkcHVkdW1wX3dvcmtpdGVtIiwKLQkJZHB1X2RiZ19iYXNl LmRiZ2J1c19kcHUuY21uLmluY2x1ZGVfaW5fZGVmZXJyZWRfd29yaywKLQkJZHB1X2RiZ19iYXNl LmRiZ2J1c192YmlmX3J0LmNtbi5pbmNsdWRlX2luX2RlZmVycmVkX3dvcmspOwotfQotCi12b2lk IGRwdV9kYmdfZHVtcChib29sIHF1ZXVlX3dvcmssIGNvbnN0IGNoYXIgKm5hbWUsIGJvb2wgZHVt cF9kYmdidXNfZHB1LAotCQkgIGJvb2wgZHVtcF9kYmdidXNfdmJpZl9ydCkKLXsKLQlpZiAocXVl dWVfd29yayAmJiB3b3JrX3BlbmRpbmcoJmRwdV9kYmdfYmFzZS5kdW1wX3dvcmspKQotCQlyZXR1 cm47Ci0KLQlpZiAoIXF1ZXVlX3dvcmspIHsKLQkJX2RwdV9kdW1wX2FycmF5KG5hbWUsIGR1bXBf ZGJnYnVzX2RwdSwgZHVtcF9kYmdidXNfdmJpZl9ydCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKiBz Y2hlZHVsZSB3b3JrIHRvIGR1bXAgbGF0ZXIgKi8KLQlkcHVfZGJnX2Jhc2UuZGJnYnVzX2RwdS5j bW4uaW5jbHVkZV9pbl9kZWZlcnJlZF93b3JrID0gZHVtcF9kYmdidXNfZHB1OwotCWRwdV9kYmdf YmFzZS5kYmdidXNfdmJpZl9ydC5jbW4uaW5jbHVkZV9pbl9kZWZlcnJlZF93b3JrID0KLQkJCWR1 bXBfZGJnYnVzX3ZiaWZfcnQ7Ci0Jc2NoZWR1bGVfd29yaygmZHB1X2RiZ19iYXNlLmR1bXBfd29y ayk7Ci19Ci0KLS8qCi0gKiBkcHVfZGJnX2RlYnVnZnNfb3BlbiAtIGRlYnVnZnMgb3BlbiBoYW5k bGVyIGZvciBkZWJ1ZyBkdW1wCi0gKiBAaW5vZGU6IGRlYnVnZnMgaW5vZGUKLSAqIEBmaWxlOiBm aWxlIGhhbmRsZQotICovCi1zdGF0aWMgaW50IGRwdV9kYmdfZGVidWdmc19vcGVuKHN0cnVjdCBp bm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQotewotCS8qIG5vbi1zZWVrYWJsZSAqLwot CWZpbGUtPmZfbW9kZSAmPSB+KEZNT0RFX0xTRUVLIHwgRk1PREVfUFJFQUQgfCBGTU9ERV9QV1JJ VEUpOwotCWZpbGUtPnByaXZhdGVfZGF0YSA9IGlub2RlLT5pX3ByaXZhdGU7Ci0JcmV0dXJuIDA7 Ci19Ci0KLS8qKgotICogZHB1X2RiZ19kdW1wX3dyaXRlIC0gZGVidWdmcyB3cml0ZSBoYW5kbGVy IGZvciBkZWJ1ZyBkdW1wCi0gKiBAZmlsZTogZmlsZSBoYW5kbGVyCi0gKiBAdXNlcl9idWY6IHVz ZXIgYnVmZmVyIGNvbnRlbnQgZnJvbSBkZWJ1Z2ZzCi0gKiBAY291bnQ6IHNpemUgb2YgdXNlciBi dWZmZXIKLSAqIEBwcG9zOiBwb3NpdGlvbiBvZmZzZXQgb2YgdXNlciBidWZmZXIKLSAqLwotc3Rh dGljIHNzaXplX3QgZHB1X2RiZ19kdW1wX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLAotCWNvbnN0 IGNoYXIgX191c2VyICp1c2VyX2J1Ziwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCi17Ci0J X2RwdV9kdW1wX2FycmF5KCJkdW1wX2RlYnVnZnMiLCB0cnVlLCB0cnVlKTsKLQlyZXR1cm4gY291 bnQ7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGRwdV9kYmdfZHVt cF9mb3BzID0gewotCS5vcGVuID0gZHB1X2RiZ19kZWJ1Z2ZzX29wZW4sCi0JLndyaXRlID0gZHB1 X2RiZ19kdW1wX3dyaXRlLAotfTsKLQotaW50IGRwdV9kYmdfZGVidWdmc19yZWdpc3RlcihzdHJ1 Y3QgZGVudHJ5ICpkZWJ1Z2ZzX3Jvb3QpCi17Ci0Jc3RhdGljIHN0cnVjdCBkcHVfZGJnX2Jhc2Ug KmRiZyA9ICZkcHVfZGJnX2Jhc2U7Ci0JY2hhciBkZWJ1Z19uYW1lWzgwXSA9ICIiOwotCi0JaWYg KCFkZWJ1Z2ZzX3Jvb3QpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JZGVidWdmc19jcmVhdGVfZmls ZSgiZHVtcCIsIDA2MDAsIGRlYnVnZnNfcm9vdCwgTlVMTCwKLQkJCSZkcHVfZGJnX2R1bXBfZm9w cyk7Ci0KLQlpZiAoZGJnLT5kYmdidXNfZHB1LmVudHJpZXMpIHsKLQkJZGJnLT5kYmdidXNfZHB1 LmNtbi5uYW1lID0gREJHQlVTX05BTUVfRFBVOwotCQlzbnByaW50ZihkZWJ1Z19uYW1lLCBzaXpl b2YoZGVidWdfbmFtZSksICIlc19kYmdidXMiLAotCQkJCWRiZy0+ZGJnYnVzX2RwdS5jbW4ubmFt ZSk7Ci0JCWRiZy0+ZGJnYnVzX2RwdS5jbW4uZW5hYmxlX21hc2sgPSBERUZBVUxUX0RCR0JVU19E UFU7Ci0JCWRlYnVnZnNfY3JlYXRlX3UzMihkZWJ1Z19uYW1lLCAwNjAwLCBkZWJ1Z2ZzX3Jvb3Qs Ci0JCQkJJmRiZy0+ZGJnYnVzX2RwdS5jbW4uZW5hYmxlX21hc2spOwotCX0KLQotCWlmIChkYmct PmRiZ2J1c192YmlmX3J0LmVudHJpZXMpIHsKLQkJZGJnLT5kYmdidXNfdmJpZl9ydC5jbW4ubmFt ZSA9IERCR0JVU19OQU1FX1ZCSUZfUlQ7Ci0JCXNucHJpbnRmKGRlYnVnX25hbWUsIHNpemVvZihk ZWJ1Z19uYW1lKSwgIiVzX2RiZ2J1cyIsCi0JCQkJZGJnLT5kYmdidXNfdmJpZl9ydC5jbW4ubmFt ZSk7Ci0JCWRiZy0+ZGJnYnVzX3ZiaWZfcnQuY21uLmVuYWJsZV9tYXNrID0gREVGQVVMVF9EQkdC VVNfVkJJRlJUOwotCQlkZWJ1Z2ZzX2NyZWF0ZV91MzIoZGVidWdfbmFtZSwgMDYwMCwgZGVidWdm c19yb290LAotCQkJCSZkYmctPmRiZ2J1c192YmlmX3J0LmNtbi5lbmFibGVfbWFzayk7Ci0JfQot Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9kcHVfZGJnX2RlYnVnZnNfZGVzdHJveSh2 b2lkKQotewotfQotCi12b2lkIGRwdV9kYmdfaW5pdF9kYmdfYnVzZXModTMyIGh3dmVyc2lvbikK LXsKLQlzdGF0aWMgc3RydWN0IGRwdV9kYmdfYmFzZSAqZGJnID0gJmRwdV9kYmdfYmFzZTsKLQot CW1lbXNldCgmZGJnLT5kYmdidXNfZHB1LCAwLCBzaXplb2YoZGJnLT5kYmdidXNfZHB1KSk7Ci0J bWVtc2V0KCZkYmctPmRiZ2J1c192YmlmX3J0LCAwLCBzaXplb2YoZGJnLT5kYmdidXNfdmJpZl9y dCkpOwotCi0JaWYgKElTX01TTTg5OThfVEFSR0VUKGh3dmVyc2lvbikpIHsKLQkJZGJnLT5kYmdi dXNfZHB1LmVudHJpZXMgPSBkYmdfYnVzX2RwdV84OTk4OwotCQlkYmctPmRiZ2J1c19kcHUuY21u LmVudHJpZXNfc2l6ZSA9IEFSUkFZX1NJWkUoZGJnX2J1c19kcHVfODk5OCk7Ci0JCWRiZy0+ZGJn YnVzX2RwdS5jbW4uZmxhZ3MgPSBEQkdCVVNfRkxBR1NfRFNQUDsKLQotCQlkYmctPmRiZ2J1c192 YmlmX3J0LmVudHJpZXMgPSB2YmlmX2RiZ19idXNfbXNtODk5ODsKLQkJZGJnLT5kYmdidXNfdmJp Zl9ydC5jbW4uZW50cmllc19zaXplID0KLQkJCQlBUlJBWV9TSVpFKHZiaWZfZGJnX2J1c19tc204 OTk4KTsKLQl9IGVsc2UgaWYgKElTX1NETTg0NV9UQVJHRVQoaHd2ZXJzaW9uKSB8fCBJU19TRE02 NzBfVEFSR0VUKGh3dmVyc2lvbikpIHsKLQkJZGJnLT5kYmdidXNfZHB1LmVudHJpZXMgPSBkYmdf YnVzX2RwdV9zZG04NDU7Ci0JCWRiZy0+ZGJnYnVzX2RwdS5jbW4uZW50cmllc19zaXplID0KLQkJ CQlBUlJBWV9TSVpFKGRiZ19idXNfZHB1X3NkbTg0NSk7Ci0JCWRiZy0+ZGJnYnVzX2RwdS5jbW4u ZmxhZ3MgPSBEQkdCVVNfRkxBR1NfRFNQUDsKLQotCQkvKiB2YmlmIGlzIHVuY2hhbmdlZCB2cyA4 OTk4ICovCi0JCWRiZy0+ZGJnYnVzX3ZiaWZfcnQuZW50cmllcyA9IHZiaWZfZGJnX2J1c19tc204 OTk4OwotCQlkYmctPmRiZ2J1c192YmlmX3J0LmNtbi5lbnRyaWVzX3NpemUgPQotCQkJCUFSUkFZ X1NJWkUodmJpZl9kYmdfYnVzX21zbTg5OTgpOwotCX0gZWxzZSB7Ci0JCXByX2VycigidW5zdXBw b3J0ZWQgY2hpcHNldCBpZCAlWFxuIiwgaHd2ZXJzaW9uKTsKLQl9Ci19Ci0KLWludCBkcHVfZGJn X2luaXQoc3RydWN0IGRldmljZSAqZGV2KQotewotCWlmICghZGV2KSB7Ci0JCXByX2VycigiaW52 YWxpZCBwYXJhbXNcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlJTklUX0xJU1RfSEVB RCgmZHB1X2RiZ19iYXNlLnJlZ19iYXNlX2xpc3QpOwotCWRwdV9kYmdfYmFzZS5kZXYgPSBkZXY7 Ci0KLQlJTklUX1dPUksoJmRwdV9kYmdfYmFzZS5kdW1wX3dvcmssIF9kcHVfZHVtcF93b3JrKTsK LQotCXJldHVybiAwOwotfQotCi0vKioKLSAqIGRwdV9kYmdfZGVzdHJveSAtIGRlc3Ryb3kgZHB1 IGRlYnVnIGZhY2lsaXRpZXMKLSAqLwotdm9pZCBkcHVfZGJnX2Rlc3Ryb3kodm9pZCkKLXsKLQlf ZHB1X2RiZ19kZWJ1Z2ZzX2Rlc3Ryb3koKTsKLX0KLQotdm9pZCBkcHVfZGJnX3NldF9kcHVfdG9w X29mZnNldCh1MzIgYmxrX29mZikKLXsKLQlkcHVfZGJnX2Jhc2UuZGJnYnVzX2RwdS50b3BfYmxr X29mZiA9IGJsa19vZmY7Ci19CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfZGJnLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZGJnLmgK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlNmZhOTQ1Zjk4Yi4uMDAwMDAwMDAwMDAw Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9kYmcuaAorKysgL2Rldi9u dWxsCkBAIC0xLDEwMyArMCwwIEBACi0vKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCwgVGhlIExp bnV4IEZvdW5kYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK LSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug dmVyc2lvbiAyIGFuZAotICogb25seSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQot ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqLwotCi0j aWZuZGVmIERQVV9EQkdfSF8KLSNkZWZpbmUgRFBVX0RCR19IXwotCi0jaW5jbHVkZSA8c3RkYXJn Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgotI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4K LQotZW51bSBkcHVfZGJnX2R1bXBfZmxhZyB7Ci0JRFBVX0RCR19EVU1QX0lOX0xPRyA9IEJJVCgw KSwKLQlEUFVfREJHX0RVTVBfSU5fTUVNID0gQklUKDEpLAotfTsKLQotI2lmIGRlZmluZWQoQ09O RklHX0RFQlVHX0ZTKQotCi0vKioKLSAqIGRwdV9kYmdfaW5pdF9kYmdfYnVzZXMgLSBpbml0aWFs aXplIGRlYnVnIGJ1cyBkdW1waW5nIHN1cHBvcnQgZm9yIHRoZSBjaGlwc2V0Ci0gKiBAaHd2ZXJz aW9uOgkJQ2hpcHNldCByZXZpc2lvbgotICovCi12b2lkIGRwdV9kYmdfaW5pdF9kYmdfYnVzZXMo dTMyIGh3dmVyc2lvbik7Ci0KLS8qKgotICogZHB1X2RiZ19pbml0IC0gaW5pdGlhbGl6ZSBnbG9i YWwgZHB1IGRlYnVnIGZhY2lsaXRpZXM6IHJlZ2R1bXAKLSAqIEBkZXY6CQlkZXZpY2UgaGFuZGxl Ci0gKiBSZXR1cm5zOgkJMCBvciAtRVJST1IKLSAqLwotaW50IGRwdV9kYmdfaW5pdChzdHJ1Y3Qg ZGV2aWNlICpkZXYpOwotCi0vKioKLSAqIGRwdV9kYmdfZGVidWdmc19yZWdpc3RlciAtIHJlZ2lz dGVyIGVudHJpZXMgYXQgdGhlIGdpdmVuIGRlYnVnZnMgZGlyCi0gKiBAZGVidWdmc19yb290Oglk ZWJ1Z2ZzIHJvb3QgaW4gd2hpY2ggdG8gY3JlYXRlIGRwdSBkZWJ1ZyBlbnRyaWVzCi0gKiBSZXR1 cm5zOgkwIG9yIC1FUlJPUgotICovCi1pbnQgZHB1X2RiZ19kZWJ1Z2ZzX3JlZ2lzdGVyKHN0cnVj dCBkZW50cnkgKmRlYnVnZnNfcm9vdCk7Ci0KLS8qKgotICogZHB1X2RiZ19kZXN0cm95IC0gZGVz dHJveSB0aGUgZ2xvYmFsIGRwdSBkZWJ1ZyBmYWNpbGl0aWVzCi0gKiBSZXR1cm5zOglub25lCi0g Ki8KLXZvaWQgZHB1X2RiZ19kZXN0cm95KHZvaWQpOwotCi0vKioKLSAqIGRwdV9kYmdfZHVtcCAt IHRyaWdnZXIgZHVtcGluZyBvZiBhbGwgZHB1X2RiZyBmYWNpbGl0aWVzCi0gKiBAcXVldWVfd29y azoJICB3aGV0aGVyIHRvIHF1ZXVlIHRoZSBkdW1waW5nIHdvcmsgdG8gdGhlIHdvcmtfc3RydWN0 Ci0gKiBAbmFtZToJICBzdHJpbmcgaW5kaWNhdGluZyBvcmlnaW4gb2YgZHVtcAotICogQGR1bXBf ZGJnYnVzOiAgZHVtcCB0aGUgZHB1IGRlYnVnIGJ1cwotICogQGR1bXBfdmJpZl9ydDogZHVtcCB0 aGUgdmJpZiBydCBidXMKLSAqIFJldHVybnM6CW5vbmUKLSAqLwotdm9pZCBkcHVfZGJnX2R1bXAo Ym9vbCBxdWV1ZV93b3JrLCBjb25zdCBjaGFyICpuYW1lLCBib29sIGR1bXBfZGJnYnVzX2RwdSwK LQkJICBib29sIGR1bXBfZGJnYnVzX3ZiaWZfcnQpOwotCi0vKioKLSAqIGRwdV9kYmdfc2V0X2Rw dV90b3Bfb2Zmc2V0IC0gc2V0IHRoZSB0YXJnZXQgc3BlY2lmaWMgb2Zmc2V0IGZyb20gbWRzcyBi YXNlCi0gKglhZGRyZXNzIG9mIHRoZSB0b3AgcmVnaXN0ZXJzLiBVc2VkIGZvciBhY2Nlc3Npbmcg ZGVidWcgYnVzIGNvbnRyb2xzLgotICogQGJsa19vZmY6IG9mZnNldCBmcm9tIG1kc3MgYmFzZSBv ZiB0aGUgdG9wIGJsb2NrCi0gKi8KLXZvaWQgZHB1X2RiZ19zZXRfZHB1X3RvcF9vZmZzZXQodTMy IGJsa19vZmYpOwotCi0jZWxzZQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHB1X2RiZ19pbml0X2Ri Z19idXNlcyh1MzIgaHd2ZXJzaW9uKQotewotfQotCi1zdGF0aWMgaW5saW5lIGludCBkcHVfZGJn X2luaXQoc3RydWN0IGRldmljZSAqZGV2KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5s aW5lIGludCBkcHVfZGJnX2RlYnVnZnNfcmVnaXN0ZXIoc3RydWN0IGRlbnRyeSAqZGVidWdmc19y b290KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHB1X2RiZ19kZXN0 cm95KHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkcHVfZGJnX2R1bXAoYm9vbCBx dWV1ZV93b3JrLCBjb25zdCBjaGFyICpuYW1lLAotCQkJCWJvb2wgZHVtcF9kYmdidXNfZHB1LCBi b29sIGR1bXBfZGJnYnVzX3ZiaWZfcnQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkcHVf ZGJnX3NldF9kcHVfdG9wX29mZnNldCh1MzIgYmxrX29mZikKLXsKLX0KLQotI2VuZGlmIC8qIGRl ZmluZWQoQ09ORklHX0RFQlVHX0ZTKSAqLwotCi0KLSNlbmRpZiAvKiBEUFVfREJHX0hfICovCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwppbmRleCA4MmM1NWVm YjUwMGYuLmQ1ZTI1Mjk0MWJhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZW5jb2Rlci5jCkBAIC0xNDk0LDEwICsxNDk0LDggQEAgc3RhdGljIHZvaWQgZHB1X2VuY29k ZXJfaGVscGVyX2h3X3Jlc2V0KHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzX2VuYykKIAkJ ICAgICAgY3RsLT5pZHgpOwogCiAJcmMgPSBjdGwtPm9wcy5yZXNldChjdGwpOwotCWlmIChyYykg eworCWlmIChyYykKIAkJRFBVX0VSUk9SX0VOQyhkcHVfZW5jLCAiY3RsICVkIHJlc2V0IGZhaWx1 cmVcbiIsICBjdGwtPmlkeCk7Ci0JCWRwdV9kYmdfZHVtcChmYWxzZSwgX19mdW5jX18sIHRydWUs IHRydWUpOwotCX0KIAogCXBoeXNfZW5jLT5lbmFibGVfc3RhdGUgPSBEUFVfRU5DX0VOQUJMRUQ7 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rl cl9waHlzX2NtZC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJf cGh5c19jbWQuYwppbmRleCAyNGE5OGY0ZTFmNDQuLmIzN2EwOTkyZTMyNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2NtZC5jCkBA IC0yNDMsNyArMjQzLDYgQEAgc3RhdGljIGludCBfZHB1X2VuY29kZXJfcGh5c19jbWRfaGFuZGxl X3BwZG9uZV90aW1lb3V0KAogCQkJICBhdG9taWNfcmVhZCgmcGh5c19lbmMtPnBlbmRpbmdfa2lj a29mZl9jbnQpKTsKIAogCQlkcHVfZW5jb2Rlcl9oZWxwZXJfdW5yZWdpc3Rlcl9pcnEocGh5c19l bmMsIElOVFJfSURYX1JEUFRSKTsKLQkJZHB1X2RiZ19kdW1wKGZhbHNlLCBfX2Z1bmNfXywgdHJ1 ZSwgdHJ1ZSk7CiAJfQogCiAJYXRvbWljX2FkZF91bmxlc3MoJnBoeXNfZW5jLT5wZW5kaW5nX2tp Y2tvZmZfY250LCAtMSwgMCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2VuY29kZXJfcGh5c192aWQuYwppbmRleCBiM2M2OGM0ZmNjOGUuLjlmYjc0YTg3YmRm ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJf cGh5c192aWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rl cl9waHlzX3ZpZC5jCkBAIC02MTMsNyArNjEzLDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJf cGh5c192aWRfcHJlcGFyZV9mb3Jfa2lja29mZigKIAkJRFBVX0VSUk9SX1ZJREVOQyh2aWRfZW5j LCAiY3RsICVkIHJlc2V0IGZhaWx1cmU6ICVkXG4iLAogCQkJCWN0bC0+aWR4LCByYyk7CiAJCWRw dV9lbmNvZGVyX2hlbHBlcl91bnJlZ2lzdGVyX2lycShwaHlzX2VuYywgSU5UUl9JRFhfVlNZTkMp OwotCQlkcHVfZGJnX2R1bXAoZmFsc2UsIF9fZnVuY19fLCB0cnVlLCB0cnVlKTsKIAl9CiB9CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19jdGwuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19jdGwuYwppbmRleCA4ZmE2MDFh OWFiYmYuLjRhYWIwNDMzNWM2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2h3X2N0bC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9od19jdGwuYwpAQCAtMTMsNyArMTMsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAj aW5jbHVkZSAiZHB1X2h3aW8uaCIKICNpbmNsdWRlICJkcHVfaHdfY3RsLmgiCi0jaW5jbHVkZSAi ZHB1X2RiZy5oIgogI2luY2x1ZGUgImRwdV9rbXMuaCIKICNpbmNsdWRlICJkcHVfdHJhY2UuaCIK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2ludGYu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19pbnRmLmMKaW5kZXggOWM2 YmJhMGFjN2MzLi42OTVkMjdhNzMwZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9od19pbnRmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2h3X2ludGYuYwpAQCAtMTMsNyArMTMsNiBAQAogI2luY2x1ZGUgImRwdV9od2lvLmgi CiAjaW5jbHVkZSAiZHB1X2h3X2NhdGFsb2cuaCIKICNpbmNsdWRlICJkcHVfaHdfaW50Zi5oIgot I2luY2x1ZGUgImRwdV9kYmcuaCIKICNpbmNsdWRlICJkcHVfa21zLmgiCiAKICNkZWZpbmUgSU5U Rl9USU1JTkdfRU5HSU5FX0VOICAgICAgICAgICAweDAwMApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfaHdfbG0uYwppbmRleCBkYmU0OGUwMDY0MTQuLmM3NmI1Y2M5NDlmYiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMKQEAgLTE1LDcgKzE1LDYg QEAKICNpbmNsdWRlICJkcHVfaHdpby5oIgogI2luY2x1ZGUgImRwdV9od19sbS5oIgogI2luY2x1 ZGUgImRwdV9od19tZHNzLmgiCi0jaW5jbHVkZSAiZHB1X2RiZy5oIgogI2luY2x1ZGUgImRwdV9r bXMuaCIKIAogI2RlZmluZSBMTV9PUF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgMHgwMApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Bpbmdwb25n LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcGluZ3BvbmcuYwppbmRl eCA1MmZjYTEzZGExNzYuLmNmYzkzODE2MDc4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2h3X3Bpbmdwb25nLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2h3X3Bpbmdwb25nLmMKQEAgLTE2LDcgKzE2LDYgQEAKICNpbmNsdWRl ICJkcHVfaHdpby5oIgogI2luY2x1ZGUgImRwdV9od19jYXRhbG9nLmgiCiAjaW5jbHVkZSAiZHB1 X2h3X3Bpbmdwb25nLmgiCi0jaW5jbHVkZSAiZHB1X2RiZy5oIgogI2luY2x1ZGUgImRwdV9rbXMu aCIKICNpbmNsdWRlICJkcHVfdHJhY2UuaCIKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9od19zc3BwLmMKaW5kZXggODc0NTAxOGZmZGQ2Li44Mjk3OTYzZDJjNGMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19zc3BwLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYwpAQCAtMTQsNyArMTQs NiBAQAogI2luY2x1ZGUgImRwdV9od19jYXRhbG9nLmgiCiAjaW5jbHVkZSAiZHB1X2h3X2xtLmgi CiAjaW5jbHVkZSAiZHB1X2h3X3NzcHAuaCIKLSNpbmNsdWRlICJkcHVfZGJnLmgiCiAjaW5jbHVk ZSAiZHB1X2ttcy5oIgogCiAjZGVmaW5lIERQVV9GRVRDSF9DT05GSUdfUkVTRVRfVkFMVUUgICAw eDAwMDAwMDg3CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf aHdfdG9wLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdG9wLmMKaW5k ZXggYjg3ODEyNTZlMjFiLi5mN2UwZjY2MWE4YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9od190b3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfaHdfdG9wLmMKQEAgLTEzLDcgKzEzLDYgQEAKICNpbmNsdWRlICJkcHVfaHdp by5oIgogI2luY2x1ZGUgImRwdV9od19jYXRhbG9nLmgiCiAjaW5jbHVkZSAiZHB1X2h3X3RvcC5o IgotI2luY2x1ZGUgImRwdV9kYmcuaCIKICNpbmNsdWRlICJkcHVfa21zLmgiCiAKICNkZWZpbmUg U1NQUF9TUEFSRSAgICAgICAgICAgICAgICAgICAgICAgIDB4MjgKQEAgLTM2MSw4ICszNjAsNiBA QCBzdHJ1Y3QgZHB1X2h3X21kcCAqZHB1X2h3X21kcHRvcF9pbml0KGVudW0gZHB1X21kcCBpZHgs CiAJCWdvdG8gYmxrX2luaXRfZXJyb3I7CiAJfQogCi0JZHB1X2RiZ19zZXRfZHB1X3RvcF9vZmZz ZXQobWRwLT5ody5ibGtfb2ZmKTsKLQogCXJldHVybiBtZHA7CiAKIGJsa19pbml0X2Vycm9yOgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3ZiaWYuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od192YmlmLmMKaW5kZXggZDQzOTA1 NTI1ZjkyLi4zOGJmZDIyMmVkNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od192YmlmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2h3X3ZiaWYuYwpAQCAtMTMsNyArMTMsNiBAQAogI2luY2x1ZGUgImRwdV9od2lvLmgiCiAj aW5jbHVkZSAiZHB1X2h3X2NhdGFsb2cuaCIKICNpbmNsdWRlICJkcHVfaHdfdmJpZi5oIgotI2lu Y2x1ZGUgImRwdV9kYmcuaCIKIAogI2RlZmluZSBWQklGX1ZFUlNJT04JCQkweDAwMDAKICNkZWZp bmUgVkJJRl9DTEtfRk9SQ0VfQ1RSTDAJCTB4MDAwOApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2ttcy5jCmluZGV4IDk4NWM4NTU3OTZhZS4uZmQ1YmFkMTYzMzhkIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCkBAIC0yNjYsMTIgKzI2Niw2IEBAIHN0YXRp YyBpbnQgX2RwdV9kZWJ1Z2ZzX2luaXQoc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMpCiAJCXJldHVy biBQVFJfRVJSKGRwdV9rbXMtPmRlYnVnZnNfcm9vdCk7CiAJfQogCi0JcmMgPSBkcHVfZGJnX2Rl YnVnZnNfcmVnaXN0ZXIoZHB1X2ttcy0+ZGVidWdmc19yb290KTsKLQlpZiAocmMpIHsKLQkJRFJN X0VSUk9SKCJmYWlsZWQgdG8gcmVnIGRwdSBkYmcgZGVidWdmczogJWRcbiIsIHJjKTsKLQkJcmV0 dXJuIHJjOwotCX0KLQogCS8qIGFsbG93IHJvb3QgdG8gYmUgTlVMTCAqLwogCWRlYnVnZnNfY3Jl YXRlX3gzMihEUFVfREVCVUdGU19IV01BU0tOQU1FLCAwNjAwLCBkcHVfa21zLT5kZWJ1Z2ZzX3Jv b3QsIHApOwogCkBAIC03MDUsNyArNjk5LDYgQEAgc3RhdGljIHZvaWQgZHB1X2ttc19kZXN0cm95 KHN0cnVjdCBtc21fa21zICprbXMpCiAKIAlkcHVfa21zID0gdG9fZHB1X2ttcyhrbXMpOwogCi0J ZHB1X2RiZ19kZXN0cm95KCk7CiAJX2RwdV9rbXNfaHdfZGVzdHJveShkcHVfa21zKTsKIH0KIApA QCAtODY2LDE2ICs4NTksMTAgQEAgc3RhdGljIGludCBkcHVfa21zX2h3X2luaXQoc3RydWN0IG1z bV9rbXMgKmttcykKIAkJcmV0dXJuIHJjOwogCX0KIAotCXJjID0gZHB1X2RiZ19pbml0KCZkcHVf a21zLT5wZGV2LT5kZXYpOwotCWlmIChyYykgewotCQlEUk1fRVJST1IoImZhaWxlZCB0byBpbml0 IGRwdSBkYmc6ICVkXG4iLCByYyk7Ci0JCXJldHVybiByYzsKLQl9Ci0KIAlwcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKIAlpZiAoIXByaXYpIHsKIAkJRFBVX0VSUk9SKCJpbnZhbGlkIHByaXZhdGUg ZGF0YVxuIik7Ci0JCWdvdG8gZGJnX2Rlc3Ryb3k7CisJCXJldHVybiByYzsKIAl9CiAKIAlkcHVf a21zLT5tbWlvID0gbXNtX2lvcmVtYXAoZHB1X2ttcy0+cGRldiwgIm1kcCIsICJtZHAiKTsKQEAg LTk0MCw4ICs5MjcsNiBAQCBzdGF0aWMgaW50IGRwdV9rbXNfaHdfaW5pdChzdHJ1Y3QgbXNtX2tt cyAqa21zKQogCQlnb3RvIHBvd2VyX2Vycm9yOwogCX0KIAotCWRwdV9kYmdfaW5pdF9kYmdfYnVz ZXMoZHB1X2ttcy0+Y29yZV9yZXYpOwotCiAJLyoKIAkgKiBOb3cgd2UgbmVlZCB0byByZWFkIHRo ZSBIVyBjYXRhbG9nIGFuZCBpbml0aWFsaXplIHJlc291cmNlcyBzdWNoIGFzCiAJICogY2xvY2tz LCByZWd1bGF0b3JzLCBHRFNDL01NQUdJQywgaW9yZW1hcCB0aGUgcmVnaXN0ZXIgcmFuZ2VzIGV0 YwpAQCAtMTA0OCw4ICsxMDMzLDcgQEAgc3RhdGljIGludCBkcHVfa21zX2h3X2luaXQoc3RydWN0 IG1zbV9rbXMgKmttcykKIAlwbV9ydW50aW1lX3B1dF9zeW5jKCZkcHVfa21zLT5wZGV2LT5kZXYp OwogZXJyb3I6CiAJX2RwdV9rbXNfaHdfZGVzdHJveShkcHVfa21zKTsKLWRiZ19kZXN0cm95Ogot CWRwdV9kYmdfZGVzdHJveSgpOworCiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfa21zLmgKaW5kZXggMmEzNjI1ZWVmNmQzLi4xMmEyZWI5MGU2YjUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKQEAgLTIzLDcgKzIzLDYgQEAK ICNpbmNsdWRlICJtc21fa21zLmgiCiAjaW5jbHVkZSAibXNtX21tdS5oIgogI2luY2x1ZGUgIm1z bV9nZW0uaCIKLSNpbmNsdWRlICJkcHVfZGJnLmgiCiAjaW5jbHVkZSAiZHB1X2h3X2NhdGFsb2cu aCIKICNpbmNsdWRlICJkcHVfaHdfY3RsLmgiCiAjaW5jbHVkZSAiZHB1X2h3X2xtLmgiCi0tIAoy LjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=