From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 01/11] drm/msm/dpu: Remove dpu_dbg Date: Thu, 18 Oct 2018 13:58:26 -0600 Message-ID: <20181018195836.15885-2-jcrouse@codeaurora.org> References: <20181018195836.15885-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181018195836.15885-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org VGhlIGZ1bmN0aW9ucyBpbiBkcHVfZGJnLmMgYXJlbid0IHVzZWQuIFRoZSB0d28gbWFpbiBkdW1w IGZ1bmN0aW9ucwpmYWlsIGFmdGVyIGEgbG9va3VwIGZyb20gZHB1X2RiZ19iYXNlLnJlZ19iYXNl X2xpc3Qgd2hpY2ggdHVybnMgb3V0CnRvIG5ldmVyIGJlIHBvcHVsYXRlZCBhbmQgb25jZSB0aG9z ZSBhcmUgcmVtb3ZlZCB0aGUgcmVzdCBvZiB0aGUKZmlsZSBkb2Vzbid0IG1ha2UgYW55IHNlbnNl LgoKU2lnbmVkLW9mZi1ieTogSm9yZGFuIENyb3VzZSA8amNyb3VzZUBjb2RlYXVyb3JhLm9yZz4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL01ha2VmaWxlICAgICAgICAgICAgICAgICAgfCAgICAz ICstCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZGJnLmMgICAgICAgfCAyMzkz IC0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZGJn LmggICAgICAgfCAgMTAzIC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNv ZGVyLmMgICB8ICAgMjQgKy0KIC4uLi9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlz X2NtZC5jICB8ICAgIDEgLQogLi4uL2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNf dmlkLmMgIHwgICAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfY3Rs LmMgICAgfCAgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19pbnRm LmMgICB8ICAgIDEgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMg ICAgIHwgICAgMSAtCiAuLi4vZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19waW5ncG9uZy5j ICAgfCAgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19zc3BwLmMg ICB8ICAgIDEgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3RvcC5jICAg IHwgICAgMyAtCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdmJpZi5jICAg fCAgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyAgICAgICB8 ICAgMjAgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaCAgICAgICB8 ICAgIDEgLQogMTUgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyNTQ3IGRlbGV0aW9u cygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9kYmcuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9kYmcuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vTWFrZWZpbGUgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL01ha2VmaWxlCmluZGV4IDE5YWI1MjFkNGMzYS4uZTA2N2RkMTM0 MWIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL01ha2VmaWxlCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vTWFrZWZpbGUKQEAgLTkyLDggKzkyLDcgQEAgbXNtLXkgOj0gXAogCW1z bV9yaW5nYnVmZmVyLm8gXAogCW1zbV9zdWJtaXRxdWV1ZS5vCiAKLW1zbS0kKENPTkZJR19ERUJV R19GUykgKz0gYWRyZW5vL2E1eHhfZGVidWdmcy5vIFwKLQkJCSAgZGlzcC9kcHUxL2RwdV9kYmcu bworbXNtLSQoQ09ORklHX0RFQlVHX0ZTKSArPSBhZHJlbm8vYTV4eF9kZWJ1Z2ZzLm8KIAogbXNt LSQoQ09ORklHX0RSTV9GQkRFVl9FTVVMQVRJT04pICs9IG1zbV9mYmRldi5vCiBtc20tJChDT05G SUdfQ09NTU9OX0NMSykgKz0gZGlzcC9tZHA0L21kcDRfbHZkc19wbGwubwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2RiZy5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2RiZy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh ZTJhZWU3ZWQ5ZTEuLjAwMDAwMDAwMDAwMAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfZGJnLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMzkzICswLDAgQEAKLS8qIENvcHly aWdodCAoYykgMjAwOS0yMDE4LCBUaGUgTGludXggRm91bmRhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYW5kCi0gKiBvbmx5IHZlcnNpb24g MiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgotICovCi0KLSNkZWZpbmUgcHJfZm10KGZtdCkJIltkcm06JXM6JWRd ICIgZm10LCBfX2Z1bmNfXywgX19MSU5FX18KLQotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0j aW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KLSNpbmNsdWRlIDxsaW51eC9rdGltZS5oPgotI2lu Y2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KLSNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+Ci0jaW5j bHVkZSA8bGludXgvZG1hLWJ1Zi5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRl IDxsaW51eC9saXN0X3NvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1lLmg+Ci0KLSNp bmNsdWRlICJkcHVfZGJnLmgiCi0jaW5jbHVkZSAiZGlzcC9kcHUxL2RwdV9od19jYXRhbG9nLmgi Ci0KLQotI2RlZmluZSBERUZBVUxUX0RCR0JVU19EUFUJRFBVX0RCR19EVU1QX0lOX01FTQotI2Rl ZmluZSBERUZBVUxUX0RCR0JVU19WQklGUlQJRFBVX0RCR19EVU1QX0lOX01FTQotI2RlZmluZSBS RUdfQkFTRV9OQU1FX0xFTgk4MAotCi0jZGVmaW5lIERCR0JVU19GTEFHU19EU1BQCUJJVCgwKQot I2RlZmluZSBEQkdCVVNfRFNQUF9TVEFUVVMJMHgzNEMKLQotI2RlZmluZSBEQkdCVVNfTkFNRV9E UFUJCSJkcHUiCi0jZGVmaW5lIERCR0JVU19OQU1FX1ZCSUZfUlQJInZiaWZfcnQiCi0KLS8qIG9m ZnNldHMgZnJvbSBkcHUgdG9wIGFkZHJlc3MgZm9yIHRoZSBkZWJ1ZyBidXNlcyAqLwotI2RlZmlu ZSBEQkdCVVNfU1NQUDAJMHgxODgKLSNkZWZpbmUgREJHQlVTX0FYSV9JTlRGCTB4MTk0Ci0jZGVm aW5lIERCR0JVU19TU1BQMQkweDI5OAotI2RlZmluZSBEQkdCVVNfRFNQUAkweDM0OAotI2RlZmlu ZSBEQkdCVVNfUEVSSVBICTB4NDE4Ci0KLSNkZWZpbmUgVEVTVF9NQVNLKGlkLCB0cCkJKChpZCA8 PCA0KSB8ICh0cCA8PCAxKSB8IEJJVCgwKSkKLQotLyogZm9sbG93aW5nIG9mZnNldHMgYXJlIHdp dGggcmVzcGVjdCB0byBNRFAgVkJJRiBiYXNlIGZvciBEQkcgQlVTIGFjY2VzcyAqLwotI2RlZmlu ZSBNTVNTX1ZCSUZfQ0xLT04JCQkweDQKLSNkZWZpbmUgTU1TU19WQklGX1RFU1RfQlVTX09VVF9D VFJMCTB4MjEwCi0jZGVmaW5lIE1NU1NfVkJJRl9URVNUX0JVU19PVVQJCTB4MjMwCi0KLS8qIFZi aWYgZXJyb3IgaW5mbyAqLwotI2RlZmluZSBNTVNTX1ZCSUZfUE5EX0VSUgkJMHgxOTAKLSNkZWZp bmUgTU1TU19WQklGX1NSQ19FUlIJCTB4MTk0Ci0jZGVmaW5lIE1NU1NfVkJJRl9YSU5fSEFMVF9D VFJMMQkweDIwNAotI2RlZmluZSBNTVNTX1ZCSUZfRVJSX0lORk8JCTBYMWEwCi0jZGVmaW5lIE1N U1NfVkJJRl9FUlJfSU5GT18xCQkweDFhNAotI2RlZmluZSBNTVNTX1ZCSUZfQ0xJRU5UX05VTQkJ MTQKLQotLyoqCi0gKiBzdHJ1Y3QgZHB1X2RiZ19yZWdfYmFzZSAtIHJlZ2lzdGVyIHJlZ2lvbiBi YXNlLgotICoJbWF5IHN1Yi1yYW5nZXM6IHN1Yi1yYW5nZXMgYXJlIHVzZWQgZm9yIGR1bXBpbmcK LSAqCW9yIG1heSBub3QgaGF2ZSBzdWItcmFuZ2VzOiBkdW1waW5nIGlzIGJhc2UgLT4gbWF4X29m ZnNldAotICogQHJlZ19iYXNlX2hlYWQ6IGhlYWQgb2YgdGhpcyBub2RlCi0gKiBAbmFtZTogcmVn aXN0ZXIgYmFzZSBuYW1lCi0gKiBAYmFzZTogYmFzZSBwb2ludGVyCi0gKiBAb2ZmOiBjYWNoZWQg b2Zmc2V0IG9mIHJlZ2lvbiBmb3IgbWFudWFsIHJlZ2lzdGVyIGR1bXBpbmcKLSAqIEBjbnQ6IGNh Y2hlZCByYW5nZSBvZiByZWdpb24gZm9yIG1hbnVhbCByZWdpc3RlciBkdW1waW5nCi0gKiBAbWF4 X29mZnNldDogbGVuZ3RoIG9mIHJlZ2lvbgotICogQGJ1ZjogYnVmZmVyIHVzZWQgZm9yIG1hbnVh bCByZWdpc3RlciBkdW1waW5nCi0gKiBAYnVmX2xlbjogIGJ1ZmZlciBsZW5ndGggdXNlZCBmb3Ig bWFudWFsIHJlZ2lzdGVyIGR1bXBpbmcKLSAqIEBjYjogY2FsbGJhY2sgZm9yIGV4dGVybmFsIGR1 bXAgZnVuY3Rpb24sIG51bGwgaWYgbm90IGRlZmluZWQKLSAqIEBjYl9wdHI6IHByaXZhdGUgcG9p bnRlciB0byBjYWxsYmFjayBmdW5jdGlvbgotICovCi1zdHJ1Y3QgZHB1X2RiZ19yZWdfYmFzZSB7 Ci0Jc3RydWN0IGxpc3RfaGVhZCByZWdfYmFzZV9oZWFkOwotCWNoYXIgbmFtZVtSRUdfQkFTRV9O QU1FX0xFTl07Ci0Jdm9pZCBfX2lvbWVtICpiYXNlOwotCXNpemVfdCBvZmY7Ci0Jc2l6ZV90IGNu dDsKLQlzaXplX3QgbWF4X29mZnNldDsKLQljaGFyICpidWY7Ci0Jc2l6ZV90IGJ1Zl9sZW47Ci0J dm9pZCAoKmNiKSh2b2lkICpwdHIpOwotCXZvaWQgKmNiX3B0cjsKLX07Ci0KLXN0cnVjdCBkcHVf ZGVidWdfYnVzX2VudHJ5IHsKLQl1MzIgd3JfYWRkcjsKLQl1MzIgYmxvY2tfaWQ7Ci0JdTMyIHRl c3RfaWQ7Ci0Jdm9pZCAoKmFuYWx5emVyKSh2b2lkIF9faW9tZW0gKm1lbV9iYXNlLAotCQkJCXN0 cnVjdCBkcHVfZGVidWdfYnVzX2VudHJ5ICplbnRyeSwgdTMyIHZhbCk7Ci19OwotCi1zdHJ1Y3Qg dmJpZl9kZWJ1Z19idXNfZW50cnkgewotCXUzMiBkaXNhYmxlX2J1c19hZGRyOwotCXUzMiBibG9j a19idXNfYWRkcjsKLQl1MzIgYml0X29mZnNldDsKLQl1MzIgYmxvY2tfY250OwotCXUzMiB0ZXN0 X3BudF9zdGFydDsKLQl1MzIgdGVzdF9wbnRfY250OwotfTsKLQotc3RydWN0IGRwdV9kYmdfZGVi dWdfYnVzX2NvbW1vbiB7Ci0JY2hhciAqbmFtZTsKLQl1MzIgZW5hYmxlX21hc2s7Ci0JYm9vbCBp bmNsdWRlX2luX2RlZmVycmVkX3dvcms7Ci0JdTMyIGZsYWdzOwotCXUzMiBlbnRyaWVzX3NpemU7 Ci0JdTMyICpkdW1wZWRfY29udGVudDsKLX07Ci0KLXN0cnVjdCBkcHVfZGJnX2RwdV9kZWJ1Z19i dXMgewotCXN0cnVjdCBkcHVfZGJnX2RlYnVnX2J1c19jb21tb24gY21uOwotCXN0cnVjdCBkcHVf ZGVidWdfYnVzX2VudHJ5ICplbnRyaWVzOwotCXUzMiB0b3BfYmxrX29mZjsKLX07Ci0KLXN0cnVj dCBkcHVfZGJnX3ZiaWZfZGVidWdfYnVzIHsKLQlzdHJ1Y3QgZHB1X2RiZ19kZWJ1Z19idXNfY29t bW9uIGNtbjsKLQlzdHJ1Y3QgdmJpZl9kZWJ1Z19idXNfZW50cnkgKmVudHJpZXM7Ci19OwotCi0v KioKLSAqIHN0cnVjdCBkcHVfZGJnX2Jhc2UgLSBnbG9iYWwgZHB1IGRlYnVnIGJhc2Ugc3RydWN0 dXJlCi0gKiBAcmVnX2Jhc2VfbGlzdDogbGlzdCBvZiByZWdpc3RlciBkdW1waW5nIHJlZ2lvbnMK LSAqIEBkZXY6IGRldmljZSBwb2ludGVyCi0gKiBAZHVtcF93b3JrOiB3b3JrIHN0cnVjdCBmb3Ig ZGVmZXJyaW5nIHJlZ2lzdGVyIGR1bXAgd29yayB0byBzZXBhcmF0ZSB0aHJlYWQKLSAqIEBkYmdi dXNfZHB1OiBkZWJ1ZyBidXMgc3RydWN0dXJlIGZvciB0aGUgZHB1Ci0gKiBAZGJnYnVzX3ZiaWZf cnQ6IGRlYnVnIGJ1cyBzdHJ1Y3R1cmUgZm9yIHRoZSByZWFsdGltZSB2YmlmCi0gKi8KLXN0YXRp YyBzdHJ1Y3QgZHB1X2RiZ19iYXNlIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkIHJlZ19iYXNlX2xpc3Q7 Ci0Jc3RydWN0IGRldmljZSAqZGV2OwotCi0Jc3RydWN0IHdvcmtfc3RydWN0IGR1bXBfd29yazsK LQotCXN0cnVjdCBkcHVfZGJnX2RwdV9kZWJ1Z19idXMgZGJnYnVzX2RwdTsKLQlzdHJ1Y3QgZHB1 X2RiZ192YmlmX2RlYnVnX2J1cyBkYmdidXNfdmJpZl9ydDsKLX0gZHB1X2RiZ19iYXNlOwotCi1z dGF0aWMgdm9pZCBfZHB1X2RlYnVnX2J1c194YmFyX2R1bXAodm9pZCBfX2lvbWVtICptZW1fYmFz ZSwKLQkJc3RydWN0IGRwdV9kZWJ1Z19idXNfZW50cnkgKmVudHJ5LCB1MzIgdmFsKQotewotCWRl dl9lcnIoZHB1X2RiZ19iYXNlLmRldiwgInhiYXIgMHgleCAlZCAlZCAweCV4XG4iLAotCQkJZW50 cnktPndyX2FkZHIsIGVudHJ5LT5ibG9ja19pZCwgZW50cnktPnRlc3RfaWQsIHZhbCk7Ci19Ci0K LXN0YXRpYyB2b2lkIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAodm9pZCBfX2lvbWVtICptZW1fYmFz ZSwKLQkJc3RydWN0IGRwdV9kZWJ1Z19idXNfZW50cnkgKmVudHJ5LCB1MzIgdmFsKQotewotCWlm ICghKHZhbCAmIDB4RkZGMDAwKSkKLQkJcmV0dXJuOwotCi0JZGV2X2VycihkcHVfZGJnX2Jhc2Uu ZGV2LCAibG0gMHgleCAlZCAlZCAweCV4XG4iLAotCQkJZW50cnktPndyX2FkZHIsIGVudHJ5LT5i bG9ja19pZCwgZW50cnktPnRlc3RfaWQsIHZhbCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9kcHVfZGVi dWdfYnVzX3BwYjBfZHVtcCh2b2lkIF9faW9tZW0gKm1lbV9iYXNlLAotCQlzdHJ1Y3QgZHB1X2Rl YnVnX2J1c19lbnRyeSAqZW50cnksIHUzMiB2YWwpCi17Ci0JaWYgKCEodmFsICYgQklUKDE1KSkp Ci0JCXJldHVybjsKLQotCWRldl9lcnIoZHB1X2RiZ19iYXNlLmRldiwgInBwYjAgMHgleCAlZCAl ZCAweCV4XG4iLAotCQkJZW50cnktPndyX2FkZHIsIGVudHJ5LT5ibG9ja19pZCwgZW50cnktPnRl c3RfaWQsIHZhbCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9kcHVfZGVidWdfYnVzX3BwYjFfZHVtcCh2 b2lkIF9faW9tZW0gKm1lbV9iYXNlLAotCQlzdHJ1Y3QgZHB1X2RlYnVnX2J1c19lbnRyeSAqZW50 cnksIHUzMiB2YWwpCi17Ci0JaWYgKCEodmFsICYgQklUKDE1KSkpCi0JCXJldHVybjsKLQotCWRl dl9lcnIoZHB1X2RiZ19iYXNlLmRldiwgInBwYjEgMHgleCAlZCAlZCAweCV4XG4iLAotCQkJZW50 cnktPndyX2FkZHIsIGVudHJ5LT5ibG9ja19pZCwgZW50cnktPnRlc3RfaWQsIHZhbCk7Ci19Ci0K LXN0YXRpYyBzdHJ1Y3QgZHB1X2RlYnVnX2J1c19lbnRyeSBkYmdfYnVzX2RwdV84OTk4W10gPSB7 Ci0KLQkvKiBVbnBhY2sgMCBzc3BwIDAqLwotCXsgREJHQlVTX1NTUFAwLCA1MCwgMiB9LAotCXsg REJHQlVTX1NTUFAwLCA2MCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA3MCwgMiB9LAotCXsgREJH QlVTX1NTUFAwLCA4NSwgMiB9LAotCi0JLyogVXBhY2sgMCBzc3BwIDEqLwotCXsgREJHQlVTX1NT UFAxLCA1MCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA2MCwgMiB9LAotCXsgREJHQlVTX1NTUFAx LCA3MCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA4NSwgMiB9LAotCi0JLyogc2NoZWR1bGVyICov Ci0JeyBEQkdCVVNfRFNQUCwgMTMwLCAwIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCAxIH0sCi0J eyBEQkdCVVNfRFNQUCwgMTMwLCAyIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCAzIH0sCi0JeyBE QkdCVVNfRFNQUCwgMTMwLCA0IH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCA1IH0sCi0KLQkvKiBx c2VlZCAqLwotCXsgREJHQlVTX1NTUFAwLCA2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgNiwgMX0s Ci0JeyBEQkdCVVNfU1NQUDAsIDI2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjYsIDF9LAotCXsg REJHQlVTX1NTUFAxLCA2LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgNiwgMX0sCi0JeyBEQkdCVVNf U1NQUDEsIDI2LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgMjYsIDF9LAotCi0JLyogc2NhbGUgKi8K LQl7IERCR0JVU19TU1BQMCwgMTYsIDB9LAotCXsgREJHQlVTX1NTUFAwLCAxNiwgMX0sCi0JeyBE QkdCVVNfU1NQUDAsIDM2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMzYsIDF9LAotCXsgREJHQlVT X1NTUFAxLCAxNiwgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDE2LCAxfSwKLQl7IERCR0JVU19TU1BQ MSwgMzYsIDB9LAotCXsgREJHQlVTX1NTUFAxLCAzNiwgMX0sCi0KLQkvKiBmZXRjaCBzc3BwMCAq LwotCi0JLyogdmlnIDAgKi8KLQl7IERCR0JVU19TU1BQMCwgMCwgMCB9LAotCXsgREJHQlVTX1NT UFAwLCAwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwg MCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDUg fSwKLQl7IERCR0JVU19TU1BQMCwgMCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAwLCA3IH0sCi0K LQl7IERCR0JVU19TU1BQMCwgMSwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAxLCAxIH0sCi0JeyBE QkdCVVNfU1NQUDAsIDEsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMSwgMyB9LAotCXsgREJHQlVT X1NTUFAwLCAxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDEsIDUgfSwKLQl7IERCR0JVU19TU1BQ MCwgMSwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwg MiwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAyLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIsIDIg fSwKLQl7IERCR0JVU19TU1BQMCwgMiwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAyLCA0IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDIsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMiwgNiB9LAotCXsgREJH QlVTX1NTUFAwLCAyLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgNCwgMCB9LAotCXsgREJHQlVT X1NTUFAwLCA0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQsIDIgfSwKLQl7IERCR0JVU19TU1BQ MCwgNCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQs IDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCA0LCA3IH0s Ci0KLQl7IERCR0JVU19TU1BQMCwgNSwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCAxIH0sCi0J eyBEQkdCVVNfU1NQUDAsIDUsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNSwgMyB9LAotCXsgREJH QlVTX1NTUFAwLCA1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDUsIDUgfSwKLQl7IERCR0JVU19T U1BQMCwgNSwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCA3IH0sCi0KLQkvKiB2aWcgMiAqLwot CXsgREJHQlVTX1NTUFAwLCAyMCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgMSB9LAotCXsg REJHQlVTX1NTUFAwLCAyMCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgMyB9LAotCXsgREJH QlVTX1NTUFAwLCAyMCwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgNSB9LAotCXsgREJHQlVT X1NTUFAwLCAyMCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgNyB9LAotCi0JeyBEQkdCVVNf U1NQUDAsIDIxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAxIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDIxLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDIxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIx LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMjIs IDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDIg fSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDQgfSwK LQl7IERCR0JVU19TU1BQMCwgMjIsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDYgfSwKLQl7 IERCR0JVU19TU1BQMCwgMjIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAyNCwgMCB9LAotCXsg REJHQlVTX1NTUFAwLCAyNCwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgMiB9LAotCXsgREJH QlVTX1NTUFAwLCAyNCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgNCB9LAotCXsgREJHQlVT X1NTUFAwLCAyNCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgNiB9LAotCXsgREJHQlVTX1NT UFAwLCAyNCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAwIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDI1LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDI1LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1 LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCA3 IH0sCi0KLQkvKiBkbWEgMiAqLwotCXsgREJHQlVTX1NTUFAwLCAzMCwgMCB9LAotCXsgREJHQlVT X1NTUFAwLCAzMCwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgMiB9LAotCXsgREJHQlVTX1NT UFAwLCAzMCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNCB9LAotCXsgREJHQlVTX1NTUFAw LCAzMCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAz MCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMx LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCAz IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA1IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDMxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA3IH0sCi0K LQl7IERCR0JVU19TU1BQMCwgMzIsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDEgfSwKLQl7 IERCR0JVU19TU1BQMCwgMzIsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDMgfSwKLQl7IERC R0JVU19TU1BQMCwgMzIsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDUgfSwKLQl7IERCR0JV U19TU1BQMCwgMzIsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDcgfSwKLQotCXsgREJHQlVT X1NTUFAwLCAzMywgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgMSB9LAotCXsgREJHQlVTX1NT UFAwLCAzMywgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgMyB9LAotCXsgREJHQlVTX1NTUFAw LCAzMywgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAz MywgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDM0 LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAy IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDM0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCA2IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDM0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMzUsIDAgfSwKLQl7 IERCR0JVU19TU1BQMCwgMzUsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMzUsIDIgfSwKLQl7IERC R0JVU19TU1BQMCwgMzUsIDMgfSwKLQotCS8qIGRtYSAwICovCi0JeyBEQkdCVVNfU1NQUDAsIDQw LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAy IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDQwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCA2IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDQwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgNDEsIDAgfSwKLQl7 IERCR0JVU19TU1BQMCwgNDEsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDIgfSwKLQl7IERC R0JVU19TU1BQMCwgNDEsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDQgfSwKLQl7IERCR0JV U19TU1BQMCwgNDEsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDYgfSwKLQl7IERCR0JVU19T U1BQMCwgNDEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCA0MiwgMCB9LAotCXsgREJHQlVTX1NT UFAwLCA0MiwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgMiB9LAotCXsgREJHQlVTX1NTUFAw LCA0MiwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCA0 MiwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCA0Miwg NyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAx IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAzIH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA1IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDQ0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA3IH0sCi0KLQl7 IERCR0JVU19TU1BQMCwgNDUsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDEgfSwKLQl7IERC R0JVU19TU1BQMCwgNDUsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDMgfSwKLQl7IERCR0JV U19TU1BQMCwgNDUsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDUgfSwKLQl7IERCR0JVU19T U1BQMCwgNDUsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDcgfSwKLQotCS8qIGZldGNoIHNz cHAxICovCi0JLyogdmlnIDEgKi8KLQl7IERCR0JVU19TU1BQMSwgMCwgMCB9LAotCXsgREJHQlVT X1NTUFAxLCAwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAsIDIgfSwKLQl7IERCR0JVU19TU1BQ MSwgMCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAs IDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAwLCA3IH0s Ci0KLQl7IERCR0JVU19TU1BQMSwgMSwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCAxIH0sCi0J eyBEQkdCVVNfU1NQUDEsIDEsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMSwgMyB9LAotCXsgREJH QlVTX1NTUFAxLCAxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDEsIDUgfSwKLQl7IERCR0JVU19T U1BQMSwgMSwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQ MSwgMiwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAyLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIs IDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMiwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAyLCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDIsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMiwgNiB9LAotCXsg REJHQlVTX1NTUFAxLCAyLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNCwgMCB9LAotCXsgREJH QlVTX1NTUFAxLCA0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQsIDIgfSwKLQl7IERCR0JVU19T U1BQMSwgNCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEs IDQsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCA3 IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNSwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCAxIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDUsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNSwgMyB9LAotCXsg REJHQlVTX1NTUFAxLCA1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDUsIDUgfSwKLQl7IERCR0JV U19TU1BQMSwgNSwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCA3IH0sCi0KLQkvKiB2aWcgMyAq LwotCXsgREJHQlVTX1NTUFAxLCAyMCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgMSB9LAot CXsgREJHQlVTX1NTUFAxLCAyMCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgMyB9LAotCXsg REJHQlVTX1NTUFAxLCAyMCwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgNSB9LAotCXsgREJH QlVTX1NTUFAxLCAyMCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgNyB9LAotCi0JeyBEQkdC VVNfU1NQUDEsIDIxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCAxIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDIxLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCAzIH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDIxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEs IDIxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwg MjIsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIs IDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDQg fSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDYgfSwK LQl7IERCR0JVU19TU1BQMSwgMjIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCAyNCwgMCB9LAot CXsgREJHQlVTX1NTUFAxLCAyNCwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgMiB9LAotCXsg REJHQlVTX1NTUFAxLCAyNCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgNCB9LAotCXsgREJH QlVTX1NTUFAxLCAyNCwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgNiB9LAotCXsgREJHQlVT X1NTUFAxLCAyNCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAwIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDI1LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAyIH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDI1LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEs IDI1LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1 LCA3IH0sCi0KLQkvKiBkbWEgMyAqLwotCXsgREJHQlVTX1NTUFAxLCAzMCwgMCB9LAotCXsgREJH QlVTX1NTUFAxLCAzMCwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgMiB9LAotCXsgREJHQlVT X1NTUFAxLCAzMCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNCB9LAotCXsgREJHQlVTX1NT UFAxLCAzMCwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNiB9LAotCXsgREJHQlVTX1NTUFAx LCAzMCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDMxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMx LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA1 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA3IH0s Ci0KLQl7IERCR0JVU19TU1BQMSwgMzIsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDEgfSwK LQl7IERCR0JVU19TU1BQMSwgMzIsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDMgfSwKLQl7 IERCR0JVU19TU1BQMSwgMzIsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDUgfSwKLQl7IERC R0JVU19TU1BQMSwgMzIsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDcgfSwKLQotCXsgREJH QlVTX1NTUFAxLCAzMywgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgMSB9LAotCXsgREJHQlVT X1NTUFAxLCAzMywgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgMyB9LAotCXsgREJHQlVTX1NT UFAxLCAzMywgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNSB9LAotCXsgREJHQlVTX1NTUFAx LCAzMywgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEs IDM0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0 LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA0 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA2IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDM0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMzUsIDAgfSwK LQl7IERCR0JVU19TU1BQMSwgMzUsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMzUsIDIgfSwKLQot CS8qIGRtYSAxICovCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDQwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQw LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA1 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA3IH0s Ci0KLQl7IERCR0JVU19TU1BQMSwgNDEsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDEgfSwK LQl7IERCR0JVU19TU1BQMSwgNDEsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDMgfSwKLQl7 IERCR0JVU19TU1BQMSwgNDEsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDUgfSwKLQl7IERC R0JVU19TU1BQMSwgNDEsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDcgfSwKLQotCXsgREJH QlVTX1NTUFAxLCA0MiwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgMSB9LAotCXsgREJHQlVT X1NTUFAxLCA0MiwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgMyB9LAotCXsgREJHQlVTX1NT UFAxLCA0MiwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNSB9LAotCXsgREJHQlVTX1NTUFAx LCA0MiwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEs IDQ0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0 LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA0 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA2IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNDUsIDAgfSwK LQl7IERCR0JVU19TU1BQMSwgNDUsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDIgfSwKLQl7 IERCR0JVU19TU1BQMSwgNDUsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDQgfSwKLQl7IERC R0JVU19TU1BQMSwgNDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDYgfSwKLQl7IERCR0JV U19TU1BQMSwgNDUsIDcgfSwKLQotCS8qIGN1cnNvciAxICovCi0JeyBEQkdCVVNfU1NQUDEsIDgw LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgwLCAy IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgwLCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDgwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgwLCA2IH0sCi0J eyBEQkdCVVNfU1NQUDEsIDgwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgODEsIDAgfSwKLQl7 IERCR0JVU19TU1BQMSwgODEsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgODEsIDIgfSwKLQl7IERC R0JVU19TU1BQMSwgODEsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgODEsIDQgfSwKLQl7IERCR0JV U19TU1BQMSwgODEsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgODEsIDYgfSwKLQl7IERCR0JVU19T U1BQMSwgODEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCA4MiwgMCB9LAotCXsgREJHQlVTX1NT UFAxLCA4MiwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCA4MiwgMiB9LAotCXsgREJHQlVTX1NTUFAx LCA4MiwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA4MiwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCA4 MiwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA4MiwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA4Miwg NyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCAx IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCAzIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDgzLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCA1IH0sCi0J eyBEQkdCVVNfU1NQUDEsIDgzLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgzLCA3IH0sCi0KLQl7 IERCR0JVU19TU1BQMSwgODQsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgODQsIDEgfSwKLQl7IERC R0JVU19TU1BQMSwgODQsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgODQsIDMgfSwKLQl7IERCR0JV U19TU1BQMSwgODQsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgODQsIDUgfSwKLQl7IERCR0JVU19T U1BQMSwgODQsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgODQsIDcgfSwKLQotCS8qIGRzcHAgKi8K LQl7IERCR0JVU19EU1BQLCAxMywgMCB9LAotCXsgREJHQlVTX0RTUFAsIDE5LCAwIH0sCi0JeyBE QkdCVVNfRFNQUCwgMTQsIDAgfSwKLQl7IERCR0JVU19EU1BQLCAxNCwgMSB9LAotCXsgREJHQlVT X0RTUFAsIDE0LCAzIH0sCi0JeyBEQkdCVVNfRFNQUCwgMjAsIDAgfSwKLQl7IERCR0JVU19EU1BQ LCAyMCwgMSB9LAotCXsgREJHQlVTX0RTUFAsIDIwLCAzIH0sCi0KLQkvKiBwcGJfMCAqLwotCXsg REJHQlVTX0RTUFAsIDMxLCAwLCBfZHB1X2RlYnVnX2J1c19wcGIwX2R1bXAgfSwKLQl7IERCR0JV U19EU1BQLCAzMywgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMF9kdW1wIH0sCi0JeyBEQkdCVVNfRFNQ UCwgMzUsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjBfZHVtcCB9LAotCXsgREJHQlVTX0RTUFAsIDQy LCAwLCBfZHB1X2RlYnVnX2J1c19wcGIwX2R1bXAgfSwKLQotCS8qIHBwYl8xICovCi0JeyBEQkdC VVNfRFNQUCwgMzIsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjFfZHVtcCB9LAotCXsgREJHQlVTX0RT UFAsIDM0LCAwLCBfZHB1X2RlYnVnX2J1c19wcGIxX2R1bXAgfSwKLQl7IERCR0JVU19EU1BQLCAz NiwgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMV9kdW1wIH0sCi0JeyBEQkdCVVNfRFNQUCwgNDMsIDAs IF9kcHVfZGVidWdfYnVzX3BwYjFfZHVtcCB9LAotCi0JLyogbG1fbHV0ICovCi0JeyBEQkdCVVNf RFNQUCwgMTA5LCAwIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTA1LCAwIH0sCi0JeyBEQkdCVVNfRFNQ UCwgMTAzLCAwIH0sCi0KLQkvKiB0ZWFyLWNoZWNrICovCi0JeyBEQkdCVVNfUEVSSVBILCA2Mywg MCB9LAotCXsgREJHQlVTX1BFUklQSCwgNjQsIDAgfSwKLQl7IERCR0JVU19QRVJJUEgsIDY1LCAw IH0sCi0JeyBEQkdCVVNfUEVSSVBILCA3MywgMCB9LAotCXsgREJHQlVTX1BFUklQSCwgNzQsIDAg fSwKLQotCS8qIGNyb3NzYmFyICovCi0JeyBEQkdCVVNfRFNQUCwgMCwgMCwgX2RwdV9kZWJ1Z19i dXNfeGJhcl9kdW1wIH0sCi0KLQkvKiByb3RhdG9yICovCi0JeyBEQkdCVVNfRFNQUCwgOSwgMH0s Ci0KLQkvKiBibGVuZCAqLwotCS8qIExNMCAqLwotCXsgREJHQlVTX0RTUFAsIDYzLCAwfSwKLQl7 IERCR0JVU19EU1BQLCA2MywgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjMsIDJ9LAotCXsgREJHQlVT X0RTUFAsIDYzLCAzfSwKLQl7IERCR0JVU19EU1BQLCA2MywgNH0sCi0JeyBEQkdCVVNfRFNQUCwg NjMsIDV9LAotCXsgREJHQlVTX0RTUFAsIDYzLCA2fSwKLQl7IERCR0JVU19EU1BQLCA2MywgNywg X2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDB9LAotCXsg REJHQlVTX0RTUFAsIDY0LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2NCwgMn0sCi0JeyBEQkdCVVNf RFNQUCwgNjQsIDN9LAotCXsgREJHQlVTX0RTUFAsIDY0LCA0fSwKLQl7IERCR0JVU19EU1BQLCA2 NCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDY0LCA3LCBf ZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA2NSwgMH0sCi0JeyBE QkdCVVNfRFNQUCwgNjUsIDF9LAotCXsgREJHQlVTX0RTUFAsIDY1LCAyfSwKLQl7IERCR0JVU19E U1BQLCA2NSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjUsIDR9LAotCXsgREJHQlVTX0RTUFAsIDY1 LCA1fSwKLQl7IERCR0JVU19EU1BQLCA2NSwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNjUsIDcsIF9k cHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDY2LCAwfSwKLQl7IERC R0JVU19EU1BQLCA2NiwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjYsIDJ9LAotCXsgREJHQlVTX0RT UFAsIDY2LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2NiwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNjYs IDV9LAotCXsgREJHQlVTX0RTUFAsIDY2LCA2fSwKLQl7IERCR0JVU19EU1BQLCA2NiwgNywgX2Rw dV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDB9LAotCXsgREJH QlVTX0RTUFAsIDY3LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2NywgMn0sCi0JeyBEQkdCVVNfRFNQ UCwgNjcsIDN9LAotCXsgREJHQlVTX0RTUFAsIDY3LCA0fSwKLQl7IERCR0JVU19EU1BQLCA2Nywg NX0sCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDY3LCA3LCBfZHB1 X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA2OCwgMH0sCi0JeyBEQkdC VVNfRFNQUCwgNjgsIDF9LAotCXsgREJHQlVTX0RTUFAsIDY4LCAyfSwKLQl7IERCR0JVU19EU1BQ LCA2OCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjgsIDR9LAotCXsgREJHQlVTX0RTUFAsIDY4LCA1 fSwKLQl7IERCR0JVU19EU1BQLCA2OCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNjgsIDcsIF9kcHVf ZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDY5LCAwfSwKLQl7IERCR0JV U19EU1BQLCA2OSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjksIDJ9LAotCXsgREJHQlVTX0RTUFAs IDY5LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2OSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNjksIDV9 LAotCXsgREJHQlVTX0RTUFAsIDY5LCA2fSwKLQl7IERCR0JVU19EU1BQLCA2OSwgNywgX2RwdV9k ZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JLyogTE0xICovCi0JeyBEQkdCVVNfRFNQUCwgNzAsIDB9 LAotCXsgREJHQlVTX0RTUFAsIDcwLCAxfSwKLQl7IERCR0JVU19EU1BQLCA3MCwgMn0sCi0JeyBE QkdCVVNfRFNQUCwgNzAsIDN9LAotCXsgREJHQlVTX0RTUFAsIDcwLCA0fSwKLQl7IERCR0JVU19E U1BQLCA3MCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzAsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDcw LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA3MSwgMH0s Ci0JeyBEQkdCVVNfRFNQUCwgNzEsIDF9LAotCXsgREJHQlVTX0RTUFAsIDcxLCAyfSwKLQl7IERC R0JVU19EU1BQLCA3MSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzEsIDR9LAotCXsgREJHQlVTX0RT UFAsIDcxLCA1fSwKLQl7IERCR0JVU19EU1BQLCA3MSwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNzEs IDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDcyLCAwfSwK LQl7IERCR0JVU19EU1BQLCA3MiwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNzIsIDJ9LAotCXsgREJH QlVTX0RTUFAsIDcyLCAzfSwKLQl7IERCR0JVU19EU1BQLCA3MiwgNH0sCi0JeyBEQkdCVVNfRFNQ UCwgNzIsIDV9LAotCXsgREJHQlVTX0RTUFAsIDcyLCA2fSwKLQl7IERCR0JVU19EU1BQLCA3Miwg NywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNzMsIDB9LAot CXsgREJHQlVTX0RTUFAsIDczLCAxfSwKLQl7IERCR0JVU19EU1BQLCA3MywgMn0sCi0JeyBEQkdC VVNfRFNQUCwgNzMsIDN9LAotCXsgREJHQlVTX0RTUFAsIDczLCA0fSwKLQl7IERCR0JVU19EU1BQ LCA3MywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzMsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDczLCA3 LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA3NCwgMH0sCi0J eyBEQkdCVVNfRFNQUCwgNzQsIDF9LAotCXsgREJHQlVTX0RTUFAsIDc0LCAyfSwKLQl7IERCR0JV U19EU1BQLCA3NCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzQsIDR9LAotCXsgREJHQlVTX0RTUFAs IDc0LCA1fSwKLQl7IERCR0JVU19EU1BQLCA3NCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNzQsIDcs IF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDc1LCAwfSwKLQl7 IERCR0JVU19EU1BQLCA3NSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNzUsIDJ9LAotCXsgREJHQlVT X0RTUFAsIDc1LCAzfSwKLQl7IERCR0JVU19EU1BQLCA3NSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwg NzUsIDV9LAotCXsgREJHQlVTX0RTUFAsIDc1LCA2fSwKLQl7IERCR0JVU19EU1BQLCA3NSwgNywg X2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDB9LAotCXsg REJHQlVTX0RTUFAsIDc2LCAxfSwKLQl7IERCR0JVU19EU1BQLCA3NiwgMn0sCi0JeyBEQkdCVVNf RFNQUCwgNzYsIDN9LAotCXsgREJHQlVTX0RTUFAsIDc2LCA0fSwKLQl7IERCR0JVU19EU1BQLCA3 NiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDc2LCA3LCBf ZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQkvKiBMTTIgKi8KLQl7IERCR0JVU19EU1BQLCA3 NywgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDF9LAotCXsgREJHQlVTX0RTUFAsIDc3LCAyfSwK LQl7IERCR0JVU19EU1BQLCA3NywgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDR9LAotCXsgREJH QlVTX0RTUFAsIDc3LCA1fSwKLQl7IERCR0JVU19EU1BQLCA3NywgNn0sCi0JeyBEQkdCVVNfRFNQ UCwgNzcsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDc4 LCAwfSwKLQl7IERCR0JVU19EU1BQLCA3OCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNzgsIDJ9LAot CXsgREJHQlVTX0RTUFAsIDc4LCAzfSwKLQl7IERCR0JVU19EU1BQLCA3OCwgNH0sCi0JeyBEQkdC VVNfRFNQUCwgNzgsIDV9LAotCXsgREJHQlVTX0RTUFAsIDc4LCA2fSwKLQl7IERCR0JVU19EU1BQ LCA3OCwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNzks IDB9LAotCXsgREJHQlVTX0RTUFAsIDc5LCAxfSwKLQl7IERCR0JVU19EU1BQLCA3OSwgMn0sCi0J eyBEQkdCVVNfRFNQUCwgNzksIDN9LAotCXsgREJHQlVTX0RTUFAsIDc5LCA0fSwKLQl7IERCR0JV U19EU1BQLCA3OSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzksIDZ9LAotCXsgREJHQlVTX0RTUFAs IDc5LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA4MCwg MH0sCi0JeyBEQkdCVVNfRFNQUCwgODAsIDF9LAotCXsgREJHQlVTX0RTUFAsIDgwLCAyfSwKLQl7 IERCR0JVU19EU1BQLCA4MCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgODAsIDR9LAotCXsgREJHQlVT X0RTUFAsIDgwLCA1fSwKLQl7IERCR0JVU19EU1BQLCA4MCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwg ODAsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDgxLCAw fSwKLQl7IERCR0JVU19EU1BQLCA4MSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgODEsIDJ9LAotCXsg REJHQlVTX0RTUFAsIDgxLCAzfSwKLQl7IERCR0JVU19EU1BQLCA4MSwgNH0sCi0JeyBEQkdCVVNf RFNQUCwgODEsIDV9LAotCXsgREJHQlVTX0RTUFAsIDgxLCA2fSwKLQl7IERCR0JVU19EU1BQLCA4 MSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgODIsIDB9 LAotCXsgREJHQlVTX0RTUFAsIDgyLCAxfSwKLQl7IERCR0JVU19EU1BQLCA4MiwgMn0sCi0JeyBE QkdCVVNfRFNQUCwgODIsIDN9LAotCXsgREJHQlVTX0RTUFAsIDgyLCA0fSwKLQl7IERCR0JVU19E U1BQLCA4MiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgODIsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDgy LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA4MywgMH0s Ci0JeyBEQkdCVVNfRFNQUCwgODMsIDF9LAotCXsgREJHQlVTX0RTUFAsIDgzLCAyfSwKLQl7IERC R0JVU19EU1BQLCA4MywgM30sCi0JeyBEQkdCVVNfRFNQUCwgODMsIDR9LAotCXsgREJHQlVTX0RT UFAsIDgzLCA1fSwKLQl7IERCR0JVU19EU1BQLCA4MywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODMs IDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCS8qIGNzYyAqLwotCXsgREJHQlVTX1NT UFAwLCA3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgNywgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDI3 LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjcsIDF9LAotCXsgREJHQlVTX1NTUFAxLCA3LCAwfSwK LQl7IERCR0JVU19TU1BQMSwgNywgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDI3LCAwfSwKLQl7IERC R0JVU19TU1BQMSwgMjcsIDF9LAotCi0JLyogcGNjICovCi0JeyBEQkdCVVNfU1NQUDAsIDMsICAz fSwKLQl7IERCR0JVU19TU1BQMCwgMjMsIDN9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgM30sCi0J eyBEQkdCVVNfU1NQUDAsIDQzLCAzfSwKLQl7IERCR0JVU19TU1BQMSwgMywgIDN9LAotCXsgREJH QlVTX1NTUFAxLCAyMywgM30sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCAzfSwKLQl7IERCR0JVU19T U1BQMSwgNDMsIDN9LAotCi0JLyogc3BhICovCi0JeyBEQkdCVVNfU1NQUDAsIDgsICAwfSwKLQl7 IERCR0JVU19TU1BQMCwgMjgsIDB9LAotCXsgREJHQlVTX1NTUFAxLCA4LCAgMH0sCi0JeyBEQkdC VVNfU1NQUDEsIDI4LCAwfSwKLQl7IERCR0JVU19EU1BQLCAxMywgMH0sCi0JeyBEQkdCVVNfRFNQ UCwgMTksIDB9LAotCi0JLyogaWdjICovCi0JeyBEQkdCVVNfU1NQUDAsIDksICAwfSwKLQl7IERC R0JVU19TU1BQMCwgOSwgIDF9LAotCXsgREJHQlVTX1NTUFAwLCA5LCAgM30sCi0JeyBEQkdCVVNf U1NQUDAsIDI5LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjksIDF9LAotCXsgREJHQlVTX1NTUFAw LCAyOSwgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDE3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMTcs IDF9LAotCXsgREJHQlVTX1NTUFAwLCAxNywgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDM3LCAwfSwK LQl7IERCR0JVU19TU1BQMCwgMzcsIDF9LAotCXsgREJHQlVTX1NTUFAwLCAzNywgM30sCi0JeyBE QkdCVVNfU1NQUDAsIDQ2LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgNDYsIDF9LAotCXsgREJHQlVT X1NTUFAwLCA0NiwgM30sCi0KLQl7IERCR0JVU19TU1BQMSwgOSwgIDB9LAotCXsgREJHQlVTX1NT UFAxLCA5LCAgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDksICAzfSwKLQl7IERCR0JVU19TU1BQMSwg MjksIDB9LAotCXsgREJHQlVTX1NTUFAxLCAyOSwgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDI5LCAz fSwKLQl7IERCR0JVU19TU1BQMSwgMTcsIDB9LAotCXsgREJHQlVTX1NTUFAxLCAxNywgMX0sCi0J eyBEQkdCVVNfU1NQUDEsIDE3LCAzfSwKLQl7IERCR0JVU19TU1BQMSwgMzcsIDB9LAotCXsgREJH QlVTX1NTUFAxLCAzNywgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDM3LCAzfSwKLQl7IERCR0JVU19T U1BQMSwgNDYsIDB9LAotCXsgREJHQlVTX1NTUFAxLCA0NiwgMX0sCi0JeyBEQkdCVVNfU1NQUDEs IDQ2LCAzfSwKLQotCXsgREJHQlVTX0RTUFAsIDE0LCAwfSwKLQl7IERCR0JVU19EU1BQLCAxNCwg MX0sCi0JeyBEQkdCVVNfRFNQUCwgMTQsIDN9LAotCXsgREJHQlVTX0RTUFAsIDIwLCAwfSwKLQl7 IERCR0JVU19EU1BQLCAyMCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMjAsIDN9LAotCi0JeyBEQkdC VVNfUEVSSVBILCA2MCwgMH0sCi19OwotCi1zdGF0aWMgc3RydWN0IGRwdV9kZWJ1Z19idXNfZW50 cnkgZGJnX2J1c19kcHVfc2RtODQ1W10gPSB7Ci0KLQkvKiBVbnBhY2sgMCBzc3BwIDAqLwotCXsg REJHQlVTX1NTUFAwLCA1MCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA2MCwgMiB9LAotCXsgREJH QlVTX1NTUFAwLCA3MCwgMiB9LAotCi0JLyogVXBhY2sgMCBzc3BwIDEqLwotCXsgREJHQlVTX1NT UFAxLCA1MCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA2MCwgMiB9LAotCXsgREJHQlVTX1NTUFAx LCA3MCwgMiB9LAotCi0JLyogc2NoZWR1bGVyICovCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCAwIH0s Ci0JeyBEQkdCVVNfRFNQUCwgMTMwLCAxIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCAyIH0sCi0J eyBEQkdCVVNfRFNQUCwgMTMwLCAzIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTMwLCA0IH0sCi0JeyBE QkdCVVNfRFNQUCwgMTMwLCA1IH0sCi0KLQkvKiBxc2VlZCAqLwotCXsgREJHQlVTX1NTUFAwLCA2 LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgNiwgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDI2LCAwfSwK LQl7IERCR0JVU19TU1BQMCwgMjYsIDF9LAotCXsgREJHQlVTX1NTUFAxLCA2LCAwfSwKLQl7IERC R0JVU19TU1BQMSwgNiwgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDI2LCAwfSwKLQl7IERCR0JVU19T U1BQMSwgMjYsIDF9LAotCi0JLyogc2NhbGUgKi8KLQl7IERCR0JVU19TU1BQMCwgMTYsIDB9LAot CXsgREJHQlVTX1NTUFAwLCAxNiwgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDM2LCAwfSwKLQl7IERC R0JVU19TU1BQMCwgMzYsIDF9LAotCXsgREJHQlVTX1NTUFAxLCAxNiwgMH0sCi0JeyBEQkdCVVNf U1NQUDEsIDE2LCAxfSwKLQl7IERCR0JVU19TU1BQMSwgMzYsIDB9LAotCXsgREJHQlVTX1NTUFAx LCAzNiwgMX0sCi0KLQkvKiBmZXRjaCBzc3BwMCAqLwotCi0JLyogdmlnIDAgKi8KLQl7IERCR0JV U19TU1BQMCwgMCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAwLCAxIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDAsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAw LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMCwgNiB9 LAotCXsgREJHQlVTX1NTUFAwLCAwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMSwgMCB9LAot CXsgREJHQlVTX1NTUFAwLCAxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDEsIDIgfSwKLQl7IERC R0JVU19TU1BQMCwgMSwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAxLCA0IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDEsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMSwgNiB9LAotCXsgREJHQlVTX1NTUFAw LCAxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMiwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAy LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMiwgMyB9 LAotCXsgREJHQlVTX1NTUFAwLCAyLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIsIDUgfSwKLQl7 IERCR0JVU19TU1BQMCwgMiwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAyLCA3IH0sCi0KLQl7IERC R0JVU19TU1BQMCwgNCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCA0LCAxIH0sCi0JeyBEQkdCVVNf U1NQUDAsIDQsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNCwgMyB9LAotCXsgREJHQlVTX1NTUFAw LCA0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNCwg NiB9LAotCXsgREJHQlVTX1NTUFAwLCA0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgNSwgMCB9 LAotCXsgREJHQlVTX1NTUFAwLCA1LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDUsIDIgfSwKLQl7 IERCR0JVU19TU1BQMCwgNSwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCA0IH0sCi0JeyBEQkdC VVNfU1NQUDAsIDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNSwgNiB9LAotCXsgREJHQlVTX1NT UFAwLCA1LCA3IH0sCi0KLQkvKiB2aWcgMiAqLwotCXsgREJHQlVTX1NTUFAwLCAyMCwgMCB9LAot CXsgREJHQlVTX1NTUFAwLCAyMCwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgMiB9LAotCXsg REJHQlVTX1NTUFAwLCAyMCwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgNCB9LAotCXsgREJH QlVTX1NTUFAwLCAyMCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAyMCwgNiB9LAotCXsgREJHQlVT X1NTUFAwLCAyMCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAwIH0sCi0JeyBEQkdCVVNf U1NQUDAsIDIxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCAyIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDIxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAs IDIxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIx LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMjIsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIs IDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDMg fSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDUgfSwK LQl7IERCR0JVU19TU1BQMCwgMjIsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgMjIsIDcgfSwKLQot CXsgREJHQlVTX1NTUFAwLCAyNCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgMSB9LAotCXsg REJHQlVTX1NTUFAwLCAyNCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgMyB9LAotCXsgREJH QlVTX1NTUFAwLCAyNCwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgNSB9LAotCXsgREJHQlVT X1NTUFAwLCAyNCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAyNCwgNyB9LAotCi0JeyBEQkdCVVNf U1NQUDAsIDI1LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAxIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDI1LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDI1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1 LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI1LCA3IH0sCi0KLQkvKiBkbWEgMiAqLwotCXsgREJH QlVTX1NTUFAwLCAzMCwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgMSB9LAotCXsgREJHQlVT X1NTUFAwLCAzMCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgMyB9LAotCXsgREJHQlVTX1NT UFAwLCAzMCwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNSB9LAotCXsgREJHQlVTX1NTUFAw LCAzMCwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAs IDMxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMx LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA0 IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMxLCA2IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDMxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMzIsIDAgfSwK LQl7IERCR0JVU19TU1BQMCwgMzIsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDIgfSwKLQl7 IERCR0JVU19TU1BQMCwgMzIsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDQgfSwKLQl7IERC R0JVU19TU1BQMCwgMzIsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMzIsIDYgfSwKLQl7IERCR0JV U19TU1BQMCwgMzIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAzMywgMCB9LAotCXsgREJHQlVT X1NTUFAwLCAzMywgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgMiB9LAotCXsgREJHQlVTX1NT UFAwLCAzMywgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNCB9LAotCXsgREJHQlVTX1NTUFAw LCAzMywgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMywgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAz MywgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0 LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCAz IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCA1IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDM0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDM0LCA3IH0sCi0K LQl7IERCR0JVU19TU1BQMCwgMzUsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMzUsIDEgfSwKLQl7 IERCR0JVU19TU1BQMCwgMzUsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMzUsIDMgfSwKLQotCS8q IGRtYSAwICovCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQw LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCAz IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCA1IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDQwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQwLCA3IH0sCi0K LQl7IERCR0JVU19TU1BQMCwgNDEsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDEgfSwKLQl7 IERCR0JVU19TU1BQMCwgNDEsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDMgfSwKLQl7IERC R0JVU19TU1BQMCwgNDEsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDUgfSwKLQl7IERCR0JV U19TU1BQMCwgNDEsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgNDEsIDcgfSwKLQotCXsgREJHQlVT X1NTUFAwLCA0MiwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgMSB9LAotCXsgREJHQlVTX1NT UFAwLCA0MiwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgMyB9LAotCXsgREJHQlVTX1NTUFAw LCA0MiwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCA0 MiwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCA0MiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDQ0 LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAy IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ0LCA2IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDQ0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgNDUsIDAgfSwKLQl7 IERCR0JVU19TU1BQMCwgNDUsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDIgfSwKLQl7IERC R0JVU19TU1BQMCwgNDUsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDQgfSwKLQl7IERCR0JV U19TU1BQMCwgNDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNDUsIDYgfSwKLQl7IERCR0JVU19T U1BQMCwgNDUsIDcgfSwKLQotCS8qIGZldGNoIHNzcHAxICovCi0JLyogdmlnIDEgKi8KLQl7IERC R0JVU19TU1BQMSwgMCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAwLCAxIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDAsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMCwgMyB9LAotCXsgREJHQlVTX1NTUFAx LCAwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMCwg NiB9LAotCXsgREJHQlVTX1NTUFAxLCAwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMSwgMCB9 LAotCXsgREJHQlVTX1NTUFAxLCAxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDEsIDIgfSwKLQl7 IERCR0JVU19TU1BQMSwgMSwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCA0IH0sCi0JeyBEQkdC VVNfU1NQUDEsIDEsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMSwgNiB9LAotCXsgREJHQlVTX1NT UFAxLCAxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMiwgMCB9LAotCXsgREJHQlVTX1NTUFAx LCAyLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMiwg MyB9LAotCXsgREJHQlVTX1NTUFAxLCAyLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIsIDUgfSwK LQl7IERCR0JVU19TU1BQMSwgMiwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAyLCA3IH0sCi0KLQl7 IERCR0JVU19TU1BQMSwgNCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCAxIH0sCi0JeyBEQkdC VVNfU1NQUDEsIDQsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNCwgMyB9LAotCXsgREJHQlVTX1NT UFAxLCA0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwg NCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNSwg MCB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDUsIDIgfSwK LQl7IERCR0JVU19TU1BQMSwgNSwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCA0IH0sCi0JeyBE QkdCVVNfU1NQUDEsIDUsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNSwgNiB9LAotCXsgREJHQlVT X1NTUFAxLCA1LCA3IH0sCi0KLQkvKiB2aWcgMyAqLwotCXsgREJHQlVTX1NTUFAxLCAyMCwgMCB9 LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgMiB9LAot CXsgREJHQlVTX1NTUFAxLCAyMCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgNCB9LAotCXsg REJHQlVTX1NTUFAxLCAyMCwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAyMCwgNiB9LAotCXsgREJH QlVTX1NTUFAxLCAyMCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCAwIH0sCi0JeyBEQkdC VVNfU1NQUDEsIDIxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCAyIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDIxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA0IH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDIxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEs IDIxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMjIsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwg MjIsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIs IDMgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDUg fSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgMjIsIDcgfSwK LQotCXsgREJHQlVTX1NTUFAxLCAyNCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgMSB9LAot CXsgREJHQlVTX1NTUFAxLCAyNCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgMyB9LAotCXsg REJHQlVTX1NTUFAxLCAyNCwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgNSB9LAotCXsgREJH QlVTX1NTUFAxLCAyNCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAyNCwgNyB9LAotCi0JeyBEQkdC VVNfU1NQUDEsIDI1LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAxIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDI1LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCAzIH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDI1LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEs IDI1LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI1LCA3IH0sCi0KLQkvKiBkbWEgMyAqLwotCXsg REJHQlVTX1NTUFAxLCAzMCwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgMSB9LAotCXsgREJH QlVTX1NTUFAxLCAzMCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgMyB9LAotCXsgREJHQlVT X1NTUFAxLCAzMCwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNSB9LAotCXsgREJHQlVTX1NT UFAxLCAzMCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMCwgNyB9LAotCi0JeyBEQkdCVVNfU1NQ UDEsIDMxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDMxLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMx LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA2 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMxLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMzIsIDAg fSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDIgfSwK LQl7IERCR0JVU19TU1BQMSwgMzIsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDQgfSwKLQl7 IERCR0JVU19TU1BQMSwgMzIsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMzIsIDYgfSwKLQl7IERC R0JVU19TU1BQMSwgMzIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCAzMywgMCB9LAotCXsgREJH QlVTX1NTUFAxLCAzMywgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgMiB9LAotCXsgREJHQlVT X1NTUFAxLCAzMywgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNCB9LAotCXsgREJHQlVTX1NT UFAxLCAzMywgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMywgNiB9LAotCXsgREJHQlVTX1NTUFAx LCAzMywgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDM0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0 LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA1 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM0LCA3IH0s Ci0KLQl7IERCR0JVU19TU1BQMSwgMzUsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMzUsIDEgfSwK LQl7IERCR0JVU19TU1BQMSwgMzUsIDIgfSwKLQotCS8qIGRtYSAxICovCi0JeyBEQkdCVVNfU1NQ UDEsIDQwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDQwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQw LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA2 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNDEsIDAg fSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDIgfSwK LQl7IERCR0JVU19TU1BQMSwgNDEsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDQgfSwKLQl7 IERCR0JVU19TU1BQMSwgNDEsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNDEsIDYgfSwKLQl7IERC R0JVU19TU1BQMSwgNDEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCA0MiwgMCB9LAotCXsgREJH QlVTX1NTUFAxLCA0MiwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgMiB9LAotCXsgREJHQlVT X1NTUFAxLCA0MiwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNCB9LAotCXsgREJHQlVTX1NT UFAxLCA0MiwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA0MiwgNiB9LAotCXsgREJHQlVTX1NTUFAx LCA0MiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDQ0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0 LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA1 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ0LCA3IH0s Ci0KLQl7IERCR0JVU19TU1BQMSwgNDUsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDEgfSwK LQl7IERCR0JVU19TU1BQMSwgNDUsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDMgfSwKLQl7 IERCR0JVU19TU1BQMSwgNDUsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDUgfSwKLQl7IERC R0JVU19TU1BQMSwgNDUsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgNDUsIDcgfSwKLQotCS8qIGRz cHAgKi8KLQl7IERCR0JVU19EU1BQLCAxMywgMCB9LAotCXsgREJHQlVTX0RTUFAsIDE5LCAwIH0s Ci0JeyBEQkdCVVNfRFNQUCwgMTQsIDAgfSwKLQl7IERCR0JVU19EU1BQLCAxNCwgMSB9LAotCXsg REJHQlVTX0RTUFAsIDE0LCAzIH0sCi0JeyBEQkdCVVNfRFNQUCwgMjAsIDAgfSwKLQl7IERCR0JV U19EU1BQLCAyMCwgMSB9LAotCXsgREJHQlVTX0RTUFAsIDIwLCAzIH0sCi0KLQkvKiBwcGJfMCAq LwotCXsgREJHQlVTX0RTUFAsIDMxLCAwLCBfZHB1X2RlYnVnX2J1c19wcGIwX2R1bXAgfSwKLQl7 IERCR0JVU19EU1BQLCAzMywgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMF9kdW1wIH0sCi0JeyBEQkdC VVNfRFNQUCwgMzUsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjBfZHVtcCB9LAotCXsgREJHQlVTX0RT UFAsIDQyLCAwLCBfZHB1X2RlYnVnX2J1c19wcGIwX2R1bXAgfSwKLQotCS8qIHBwYl8xICovCi0J eyBEQkdCVVNfRFNQUCwgMzIsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjFfZHVtcCB9LAotCXsgREJH QlVTX0RTUFAsIDM0LCAwLCBfZHB1X2RlYnVnX2J1c19wcGIxX2R1bXAgfSwKLQl7IERCR0JVU19E U1BQLCAzNiwgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMV9kdW1wIH0sCi0JeyBEQkdCVVNfRFNQUCwg NDMsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjFfZHVtcCB9LAotCi0JLyogbG1fbHV0ICovCi0JeyBE QkdCVVNfRFNQUCwgMTA5LCAwIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTA1LCAwIH0sCi0JeyBEQkdC VVNfRFNQUCwgMTAzLCAwIH0sCi0KLQkvKiBjcm9zc2JhciAqLwotCXsgREJHQlVTX0RTUFAsIDAs IDAsIF9kcHVfZGVidWdfYnVzX3hiYXJfZHVtcCB9LAotCi0JLyogcm90YXRvciAqLwotCXsgREJH QlVTX0RTUFAsIDksIDB9LAotCi0JLyogYmxlbmQgKi8KLQkvKiBMTTAgKi8KLQl7IERCR0JVU19E U1BQLCA2MywgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjMsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDYz LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2MywgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNjMsIDV9LAot CXsgREJHQlVTX0RTUFAsIDYzLCA2fSwKLQl7IERCR0JVU19EU1BQLCA2MywgNywgX2RwdV9kZWJ1 Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDF9LAotCXsgREJHQlVTX0RT UFAsIDY0LCAyfSwKLQl7IERCR0JVU19EU1BQLCA2NCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjQs IDR9LAotCXsgREJHQlVTX0RTUFAsIDY0LCA1fSwKLQl7IERCR0JVU19EU1BQLCA2NCwgNn0sCi0J eyBEQkdCVVNfRFNQUCwgNjQsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJH QlVTX0RTUFAsIDY1LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2NSwgMn0sCi0JeyBEQkdCVVNfRFNQ UCwgNjUsIDN9LAotCXsgREJHQlVTX0RTUFAsIDY1LCA0fSwKLQl7IERCR0JVU19EU1BQLCA2NSwg NX0sCi0JeyBEQkdCVVNfRFNQUCwgNjUsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDY1LCA3LCBfZHB1 X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA2NiwgMX0sCi0JeyBEQkdC VVNfRFNQUCwgNjYsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDY2LCAzfSwKLQl7IERCR0JVU19EU1BQ LCA2NiwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNjYsIDV9LAotCXsgREJHQlVTX0RTUFAsIDY2LCA2 fSwKLQl7IERCR0JVU19EU1BQLCA2NiwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0J eyBEQkdCVVNfRFNQUCwgNjcsIDF9LAotCXsgREJHQlVTX0RTUFAsIDY3LCAyfSwKLQl7IERCR0JV U19EU1BQLCA2NywgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDR9LAotCXsgREJHQlVTX0RTUFAs IDY3LCA1fSwKLQl7IERCR0JVU19EU1BQLCA2NywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDcs IF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDY4LCAxfSwKLQl7 IERCR0JVU19EU1BQLCA2OCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNjgsIDN9LAotCXsgREJHQlVT X0RTUFAsIDY4LCA0fSwKLQl7IERCR0JVU19EU1BQLCA2OCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwg NjgsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDY4LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0s Ci0KLQl7IERCR0JVU19EU1BQLCA2OSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjksIDJ9LAotCXsg REJHQlVTX0RTUFAsIDY5LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2OSwgNH0sCi0JeyBEQkdCVVNf RFNQUCwgNjksIDV9LAotCXsgREJHQlVTX0RTUFAsIDY5LCA2fSwKLQl7IERCR0JVU19EU1BQLCA2 OSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgODQsIDF9 LAotCXsgREJHQlVTX0RTUFAsIDg0LCAyfSwKLQl7IERCR0JVU19EU1BQLCA4NCwgM30sCi0JeyBE QkdCVVNfRFNQUCwgODQsIDR9LAotCXsgREJHQlVTX0RTUFAsIDg0LCA1fSwKLQl7IERCR0JVU19E U1BQLCA4NCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODQsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1 bXAgfSwKLQotCi0JeyBEQkdCVVNfRFNQUCwgODUsIDF9LAotCXsgREJHQlVTX0RTUFAsIDg1LCAy fSwKLQl7IERCR0JVU19EU1BQLCA4NSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgODUsIDR9LAotCXsg REJHQlVTX0RTUFAsIDg1LCA1fSwKLQl7IERCR0JVU19EU1BQLCA4NSwgNn0sCi0JeyBEQkdCVVNf RFNQUCwgODUsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCi0JeyBEQkdCVVNfRFNQ UCwgODYsIDF9LAotCXsgREJHQlVTX0RTUFAsIDg2LCAyfSwKLQl7IERCR0JVU19EU1BQLCA4Niwg M30sCi0JeyBEQkdCVVNfRFNQUCwgODYsIDR9LAotCXsgREJHQlVTX0RTUFAsIDg2LCA1fSwKLQl7 IERCR0JVU19EU1BQLCA4NiwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODYsIDcsIF9kcHVfZGVidWdf YnVzX2xtX2R1bXAgfSwKLQotCi0JeyBEQkdCVVNfRFNQUCwgODcsIDF9LAotCXsgREJHQlVTX0RT UFAsIDg3LCAyfSwKLQl7IERCR0JVU19EU1BQLCA4NywgM30sCi0JeyBEQkdCVVNfRFNQUCwgODcs IDR9LAotCXsgREJHQlVTX0RTUFAsIDg3LCA1fSwKLQl7IERCR0JVU19EU1BQLCA4NywgNn0sCi0J eyBEQkdCVVNfRFNQUCwgODcsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCS8qIExN MSAqLwotCXsgREJHQlVTX0RTUFAsIDcwLCAxfSwKLQl7IERCR0JVU19EU1BQLCA3MCwgMn0sCi0J eyBEQkdCVVNfRFNQUCwgNzAsIDN9LAotCXsgREJHQlVTX0RTUFAsIDcwLCA0fSwKLQl7IERCR0JV U19EU1BQLCA3MCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzAsIDZ9LAotCXsgREJHQlVTX0RTUFAs IDcwLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA3MSwg MX0sCi0JeyBEQkdCVVNfRFNQUCwgNzEsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDcxLCAzfSwKLQl7 IERCR0JVU19EU1BQLCA3MSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNzEsIDV9LAotCXsgREJHQlVT X0RTUFAsIDcxLCA2fSwKLQl7IERCR0JVU19EU1BQLCA3MSwgNywgX2RwdV9kZWJ1Z19idXNfbG1f ZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNzIsIDF9LAotCXsgREJHQlVTX0RTUFAsIDcyLCAy fSwKLQl7IERCR0JVU19EU1BQLCA3MiwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzIsIDR9LAotCXsg REJHQlVTX0RTUFAsIDcyLCA1fSwKLQl7IERCR0JVU19EU1BQLCA3MiwgNn0sCi0JeyBEQkdCVVNf RFNQUCwgNzIsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAs IDczLCAxfSwKLQl7IERCR0JVU19EU1BQLCA3MywgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzMsIDN9 LAotCXsgREJHQlVTX0RTUFAsIDczLCA0fSwKLQl7IERCR0JVU19EU1BQLCA3MywgNX0sCi0JeyBE QkdCVVNfRFNQUCwgNzMsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDczLCA3LCBfZHB1X2RlYnVnX2J1 c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA3NCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwg NzQsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDc0LCAzfSwKLQl7IERCR0JVU19EU1BQLCA3NCwgNH0s Ci0JeyBEQkdCVVNfRFNQUCwgNzQsIDV9LAotCXsgREJHQlVTX0RTUFAsIDc0LCA2fSwKLQl7IERC R0JVU19EU1BQLCA3NCwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNf RFNQUCwgNzUsIDF9LAotCXsgREJHQlVTX0RTUFAsIDc1LCAyfSwKLQl7IERCR0JVU19EU1BQLCA3 NSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzUsIDR9LAotCXsgREJHQlVTX0RTUFAsIDc1LCA1fSwK LQl7IERCR0JVU19EU1BQLCA3NSwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNzUsIDcsIF9kcHVfZGVi dWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDc2LCAxfSwKLQl7IERCR0JVU19E U1BQLCA3NiwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDN9LAotCXsgREJHQlVTX0RTUFAsIDc2 LCA0fSwKLQl7IERCR0JVU19EU1BQLCA3NiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDZ9LAot CXsgREJHQlVTX0RTUFAsIDc2LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERC R0JVU19EU1BQLCA4OCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgODgsIDJ9LAotCXsgREJHQlVTX0RT UFAsIDg4LCAzfSwKLQl7IERCR0JVU19EU1BQLCA4OCwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgODgs IDV9LAotCXsgREJHQlVTX0RTUFAsIDg4LCA2fSwKLQl7IERCR0JVU19EU1BQLCA4OCwgNywgX2Rw dV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgODksIDF9LAotCXsgREJH QlVTX0RTUFAsIDg5LCAyfSwKLQl7IERCR0JVU19EU1BQLCA4OSwgM30sCi0JeyBEQkdCVVNfRFNQ UCwgODksIDR9LAotCXsgREJHQlVTX0RTUFAsIDg5LCA1fSwKLQl7IERCR0JVU19EU1BQLCA4OSwg Nn0sCi0JeyBEQkdCVVNfRFNQUCwgODksIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQot CXsgREJHQlVTX0RTUFAsIDkwLCAxfSwKLQl7IERCR0JVU19EU1BQLCA5MCwgMn0sCi0JeyBEQkdC VVNfRFNQUCwgOTAsIDN9LAotCXsgREJHQlVTX0RTUFAsIDkwLCA0fSwKLQl7IERCR0JVU19EU1BQ LCA5MCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgOTAsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDkwLCA3 LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA5MSwgMX0sCi0J eyBEQkdCVVNfRFNQUCwgOTEsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDkxLCAzfSwKLQl7IERCR0JV U19EU1BQLCA5MSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgOTEsIDV9LAotCXsgREJHQlVTX0RTUFAs IDkxLCA2fSwKLQl7IERCR0JVU19EU1BQLCA5MSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9 LAotCi0JLyogTE0yICovCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDB9LAotCXsgREJHQlVTX0RTUFAs IDc3LCAxfSwKLQl7IERCR0JVU19EU1BQLCA3NywgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDN9 LAotCXsgREJHQlVTX0RTUFAsIDc3LCA0fSwKLQl7IERCR0JVU19EU1BQLCA3NywgNX0sCi0JeyBE QkdCVVNfRFNQUCwgNzcsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDc3LCA3LCBfZHB1X2RlYnVnX2J1 c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA3OCwgMH0sCi0JeyBEQkdCVVNfRFNQUCwg NzgsIDF9LAotCXsgREJHQlVTX0RTUFAsIDc4LCAyfSwKLQl7IERCR0JVU19EU1BQLCA3OCwgM30s Ci0JeyBEQkdCVVNfRFNQUCwgNzgsIDR9LAotCXsgREJHQlVTX0RTUFAsIDc4LCA1fSwKLQl7IERC R0JVU19EU1BQLCA3OCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNzgsIDcsIF9kcHVfZGVidWdfYnVz X2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDc5LCAwfSwKLQl7IERCR0JVU19EU1BQLCA3 OSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNzksIDJ9LAotCXsgREJHQlVTX0RTUFAsIDc5LCAzfSwK LQl7IERCR0JVU19EU1BQLCA3OSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNzksIDV9LAotCXsgREJH QlVTX0RTUFAsIDc5LCA2fSwKLQl7IERCR0JVU19EU1BQLCA3OSwgNywgX2RwdV9kZWJ1Z19idXNf bG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgODAsIDB9LAotCXsgREJHQlVTX0RTUFAsIDgw LCAxfSwKLQl7IERCR0JVU19EU1BQLCA4MCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgODAsIDN9LAot CXsgREJHQlVTX0RTUFAsIDgwLCA0fSwKLQl7IERCR0JVU19EU1BQLCA4MCwgNX0sCi0JeyBEQkdC VVNfRFNQUCwgODAsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDgwLCA3LCBfZHB1X2RlYnVnX2J1c19s bV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA4MSwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgODEs IDF9LAotCXsgREJHQlVTX0RTUFAsIDgxLCAyfSwKLQl7IERCR0JVU19EU1BQLCA4MSwgM30sCi0J eyBEQkdCVVNfRFNQUCwgODEsIDR9LAotCXsgREJHQlVTX0RTUFAsIDgxLCA1fSwKLQl7IERCR0JV U19EU1BQLCA4MSwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODEsIDcsIF9kcHVfZGVidWdfYnVzX2xt X2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDgyLCAwfSwKLQl7IERCR0JVU19EU1BQLCA4Miwg MX0sCi0JeyBEQkdCVVNfRFNQUCwgODIsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDgyLCAzfSwKLQl7 IERCR0JVU19EU1BQLCA4MiwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgODIsIDV9LAotCXsgREJHQlVT X0RTUFAsIDgyLCA2fSwKLQl7IERCR0JVU19EU1BQLCA4MiwgNywgX2RwdV9kZWJ1Z19idXNfbG1f ZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgODMsIDB9LAotCXsgREJHQlVTX0RTUFAsIDgzLCAx fSwKLQl7IERCR0JVU19EU1BQLCA4MywgMn0sCi0JeyBEQkdCVVNfRFNQUCwgODMsIDN9LAotCXsg REJHQlVTX0RTUFAsIDgzLCA0fSwKLQl7IERCR0JVU19EU1BQLCA4MywgNX0sCi0JeyBEQkdCVVNf RFNQUCwgODMsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDgzLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9k dW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA5MiwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgOTIsIDJ9 LAotCXsgREJHQlVTX0RTUFAsIDkyLCAzfSwKLQl7IERCR0JVU19EU1BQLCA5MiwgNH0sCi0JeyBE QkdCVVNfRFNQUCwgOTIsIDV9LAotCXsgREJHQlVTX0RTUFAsIDkyLCA2fSwKLQl7IERCR0JVU19E U1BQLCA5MiwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwg OTMsIDF9LAotCXsgREJHQlVTX0RTUFAsIDkzLCAyfSwKLQl7IERCR0JVU19EU1BQLCA5MywgM30s Ci0JeyBEQkdCVVNfRFNQUCwgOTMsIDR9LAotCXsgREJHQlVTX0RTUFAsIDkzLCA1fSwKLQl7IERC R0JVU19EU1BQLCA5MywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgOTMsIDcsIF9kcHVfZGVidWdfYnVz X2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDk0LCAxfSwKLQl7IERCR0JVU19EU1BQLCA5 NCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgOTQsIDN9LAotCXsgREJHQlVTX0RTUFAsIDk0LCA0fSwK LQl7IERCR0JVU19EU1BQLCA5NCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgOTQsIDZ9LAotCXsgREJH QlVTX0RTUFAsIDk0LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19E U1BQLCA5NSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgOTUsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDk1 LCAzfSwKLQl7IERCR0JVU19EU1BQLCA5NSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgOTUsIDV9LAot CXsgREJHQlVTX0RTUFAsIDk1LCA2fSwKLQl7IERCR0JVU19EU1BQLCA5NSwgNywgX2RwdV9kZWJ1 Z19idXNfbG1fZHVtcCB9LAotCi0JLyogTE01ICovCi0JeyBEQkdCVVNfRFNQUCwgMTEwLCAxfSwK LQl7IERCR0JVU19EU1BQLCAxMTAsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDExMCwgM30sCi0JeyBE QkdCVVNfRFNQUCwgMTEwLCA0fSwKLQl7IERCR0JVU19EU1BQLCAxMTAsIDV9LAotCXsgREJHQlVT X0RTUFAsIDExMCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgMTEwLCA3LCBfZHB1X2RlYnVnX2J1c19s bV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCAxMTEsIDF9LAotCXsgREJHQlVTX0RTUFAsIDEx MSwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgMTExLCAzfSwKLQl7IERCR0JVU19EU1BQLCAxMTEsIDR9 LAotCXsgREJHQlVTX0RTUFAsIDExMSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgMTExLCA2fSwKLQl7 IERCR0JVU19EU1BQLCAxMTEsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJH QlVTX0RTUFAsIDExMiwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMTEyLCAyfSwKLQl7IERCR0JVU19E U1BQLCAxMTIsIDN9LAotCXsgREJHQlVTX0RTUFAsIDExMiwgNH0sCi0JeyBEQkdCVVNfRFNQUCwg MTEyLCA1fSwKLQl7IERCR0JVU19EU1BQLCAxMTIsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDExMiwg NywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgMTEzLCAxfSwK LQl7IERCR0JVU19EU1BQLCAxMTMsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDExMywgM30sCi0JeyBE QkdCVVNfRFNQUCwgMTEzLCA0fSwKLQl7IERCR0JVU19EU1BQLCAxMTMsIDV9LAotCXsgREJHQlVT X0RTUFAsIDExMywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgMTEzLCA3LCBfZHB1X2RlYnVnX2J1c19s bV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCAxMTQsIDF9LAotCXsgREJHQlVTX0RTUFAsIDEx NCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgMTE0LCAzfSwKLQl7IERCR0JVU19EU1BQLCAxMTQsIDR9 LAotCXsgREJHQlVTX0RTUFAsIDExNCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgMTE0LCA2fSwKLQl7 IERCR0JVU19EU1BQLCAxMTQsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJH QlVTX0RTUFAsIDExNSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMTE1LCAyfSwKLQl7IERCR0JVU19E U1BQLCAxMTUsIDN9LAotCXsgREJHQlVTX0RTUFAsIDExNSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwg MTE1LCA1fSwKLQl7IERCR0JVU19EU1BQLCAxMTUsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDExNSwg NywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgMTE2LCAxfSwK LQl7IERCR0JVU19EU1BQLCAxMTYsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDExNiwgM30sCi0JeyBE QkdCVVNfRFNQUCwgMTE2LCA0fSwKLQl7IERCR0JVU19EU1BQLCAxMTYsIDV9LAotCXsgREJHQlVT X0RTUFAsIDExNiwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgMTE2LCA3LCBfZHB1X2RlYnVnX2J1c19s bV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCAxMTcsIDF9LAotCXsgREJHQlVTX0RTUFAsIDEx NywgMn0sCi0JeyBEQkdCVVNfRFNQUCwgMTE3LCAzfSwKLQl7IERCR0JVU19EU1BQLCAxMTcsIDR9 LAotCXsgREJHQlVTX0RTUFAsIDExNywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgMTE3LCA2fSwKLQl7 IERCR0JVU19EU1BQLCAxMTcsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJH QlVTX0RTUFAsIDExOCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMTE4LCAyfSwKLQl7IERCR0JVU19E U1BQLCAxMTgsIDN9LAotCXsgREJHQlVTX0RTUFAsIDExOCwgNH0sCi0JeyBEQkdCVVNfRFNQUCwg MTE4LCA1fSwKLQl7IERCR0JVU19EU1BQLCAxMTgsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDExOCwg NywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgMTE5LCAxfSwK LQl7IERCR0JVU19EU1BQLCAxMTksIDJ9LAotCXsgREJHQlVTX0RTUFAsIDExOSwgM30sCi0JeyBE QkdCVVNfRFNQUCwgMTE5LCA0fSwKLQl7IERCR0JVU19EU1BQLCAxMTksIDV9LAotCXsgREJHQlVT X0RTUFAsIDExOSwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgMTE5LCA3LCBfZHB1X2RlYnVnX2J1c19s bV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCAxMjAsIDF9LAotCXsgREJHQlVTX0RTUFAsIDEy MCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgMTIwLCAzfSwKLQl7IERCR0JVU19EU1BQLCAxMjAsIDR9 LAotCXsgREJHQlVTX0RTUFAsIDEyMCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgMTIwLCA2fSwKLQl7 IERCR0JVU19EU1BQLCAxMjAsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCS8qIGNz YyAqLwotCXsgREJHQlVTX1NTUFAwLCA3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgNywgMX0sCi0J eyBEQkdCVVNfU1NQUDAsIDI3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjcsIDF9LAotCXsgREJH QlVTX1NTUFAxLCA3LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgNywgMX0sCi0JeyBEQkdCVVNfU1NQ UDEsIDI3LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgMjcsIDF9LAotCi0JLyogcGNjICovCi0JeyBE QkdCVVNfU1NQUDAsIDMsICAzfSwKLQl7IERCR0JVU19TU1BQMCwgMjMsIDN9LAotCXsgREJHQlVT X1NTUFAwLCAzMywgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDQzLCAzfSwKLQl7IERCR0JVU19TU1BQ MSwgMywgIDN9LAotCXsgREJHQlVTX1NTUFAxLCAyMywgM30sCi0JeyBEQkdCVVNfU1NQUDEsIDMz LCAzfSwKLQl7IERCR0JVU19TU1BQMSwgNDMsIDN9LAotCi0JLyogc3BhICovCi0JeyBEQkdCVVNf U1NQUDAsIDgsICAwfSwKLQl7IERCR0JVU19TU1BQMCwgMjgsIDB9LAotCXsgREJHQlVTX1NTUFAx LCA4LCAgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI4LCAwfSwKLQl7IERCR0JVU19EU1BQLCAxMywg MH0sCi0JeyBEQkdCVVNfRFNQUCwgMTksIDB9LAotCi0JLyogaWdjICovCi0JeyBEQkdCVVNfU1NQ UDAsIDE3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMTcsIDF9LAotCXsgREJHQlVTX1NTUFAwLCAx NywgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDM3LCAwfSwKLQl7IERCR0JVU19TU1BQMCwgMzcsIDF9 LAotCXsgREJHQlVTX1NTUFAwLCAzNywgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDQ2LCAwfSwKLQl7 IERCR0JVU19TU1BQMCwgNDYsIDF9LAotCXsgREJHQlVTX1NTUFAwLCA0NiwgM30sCi0KLQl7IERC R0JVU19TU1BQMSwgMTcsIDB9LAotCXsgREJHQlVTX1NTUFAxLCAxNywgMX0sCi0JeyBEQkdCVVNf U1NQUDEsIDE3LCAzfSwKLQl7IERCR0JVU19TU1BQMSwgMzcsIDB9LAotCXsgREJHQlVTX1NTUFAx LCAzNywgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDM3LCAzfSwKLQl7IERCR0JVU19TU1BQMSwgNDYs IDB9LAotCXsgREJHQlVTX1NTUFAxLCA0NiwgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ2LCAzfSwK LQotCXsgREJHQlVTX0RTUFAsIDE0LCAwfSwKLQl7IERCR0JVU19EU1BQLCAxNCwgMX0sCi0JeyBE QkdCVVNfRFNQUCwgMTQsIDN9LAotCXsgREJHQlVTX0RTUFAsIDIwLCAwfSwKLQl7IERCR0JVU19E U1BQLCAyMCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgMjAsIDN9LAotCi0JLyogaW50ZjAtMyAqLwot CXsgREJHQlVTX1BFUklQSCwgMCwgMH0sCi0JeyBEQkdCVVNfUEVSSVBILCAxLCAwfSwKLQl7IERC R0JVU19QRVJJUEgsIDIsIDB9LAotCXsgREJHQlVTX1BFUklQSCwgMywgMH0sCi0KLQkvKiB0ZSBj b3VudGVyIHdyYXBwZXIgKi8KLQl7IERCR0JVU19QRVJJUEgsIDYwLCAwfSwKLQotCS8qIGRzYzAg Ki8KLQl7IERCR0JVU19QRVJJUEgsIDQ3LCAwfSwKLQl7IERCR0JVU19QRVJJUEgsIDQ3LCAxfSwK LQl7IERCR0JVU19QRVJJUEgsIDQ3LCAyfSwKLQl7IERCR0JVU19QRVJJUEgsIDQ3LCAzfSwKLQl7 IERCR0JVU19QRVJJUEgsIDQ3LCA0fSwKLQl7IERCR0JVU19QRVJJUEgsIDQ3LCA1fSwKLQl7IERC R0JVU19QRVJJUEgsIDQ3LCA2fSwKLQl7IERCR0JVU19QRVJJUEgsIDQ3LCA3fSwKLQotCS8qIGRz YzEgKi8KLQl7IERCR0JVU19QRVJJUEgsIDQ4LCAwfSwKLQl7IERCR0JVU19QRVJJUEgsIDQ4LCAx fSwKLQl7IERCR0JVU19QRVJJUEgsIDQ4LCAyfSwKLQl7IERCR0JVU19QRVJJUEgsIDQ4LCAzfSwK LQl7IERCR0JVU19QRVJJUEgsIDQ4LCA0fSwKLQl7IERCR0JVU19QRVJJUEgsIDQ4LCA1fSwKLQl7 IERCR0JVU19QRVJJUEgsIDQ4LCA2fSwKLQl7IERCR0JVU19QRVJJUEgsIDQ4LCA3fSwKLQotCS8q IGRzYzIgKi8KLQl7IERCR0JVU19QRVJJUEgsIDUxLCAwfSwKLQl7IERCR0JVU19QRVJJUEgsIDUx LCAxfSwKLQl7IERCR0JVU19QRVJJUEgsIDUxLCAyfSwKLQl7IERCR0JVU19QRVJJUEgsIDUxLCAz fSwKLQl7IERCR0JVU19QRVJJUEgsIDUxLCA0fSwKLQl7IERCR0JVU19QRVJJUEgsIDUxLCA1fSwK LQl7IERCR0JVU19QRVJJUEgsIDUxLCA2fSwKLQl7IERCR0JVU19QRVJJUEgsIDUxLCA3fSwKLQot CS8qIGRzYzMgKi8KLQl7IERCR0JVU19QRVJJUEgsIDUyLCAwfSwKLQl7IERCR0JVU19QRVJJUEgs IDUyLCAxfSwKLQl7IERCR0JVU19QRVJJUEgsIDUyLCAyfSwKLQl7IERCR0JVU19QRVJJUEgsIDUy LCAzfSwKLQl7IERCR0JVU19QRVJJUEgsIDUyLCA0fSwKLQl7IERCR0JVU19QRVJJUEgsIDUyLCA1 fSwKLQl7IERCR0JVU19QRVJJUEgsIDUyLCA2fSwKLQl7IERCR0JVU19QRVJJUEgsIDUyLCA3fSwK LQotCS8qIHRlYXItY2hlY2sgKi8KLQl7IERCR0JVU19QRVJJUEgsIDYzLCAwIH0sCi0JeyBEQkdC VVNfUEVSSVBILCA2NCwgMCB9LAotCXsgREJHQlVTX1BFUklQSCwgNjUsIDAgfSwKLQl7IERCR0JV U19QRVJJUEgsIDczLCAwIH0sCi0JeyBEQkdCVVNfUEVSSVBILCA3NCwgMCB9LAotCi0JLyogY2R3 biAqLwotCXsgREJHQlVTX1BFUklQSCwgODAsIDB9LAotCXsgREJHQlVTX1BFUklQSCwgODAsIDF9 LAotCXsgREJHQlVTX1BFUklQSCwgODAsIDJ9LAotCi0JeyBEQkdCVVNfUEVSSVBILCA4MSwgMH0s Ci0JeyBEQkdCVVNfUEVSSVBILCA4MSwgMX0sCi0JeyBEQkdCVVNfUEVSSVBILCA4MSwgMn0sCi0K LQl7IERCR0JVU19QRVJJUEgsIDgyLCAwfSwKLQl7IERCR0JVU19QRVJJUEgsIDgyLCAxfSwKLQl7 IERCR0JVU19QRVJJUEgsIDgyLCAyfSwKLQl7IERCR0JVU19QRVJJUEgsIDgyLCAzfSwKLQl7IERC R0JVU19QRVJJUEgsIDgyLCA0fSwKLQl7IERCR0JVU19QRVJJUEgsIDgyLCA1fSwKLQl7IERCR0JV U19QRVJJUEgsIDgyLCA2fSwKLQl7IERCR0JVU19QRVJJUEgsIDgyLCA3fSwKLQotCS8qIGhkbWkg Ki8KLQl7IERCR0JVU19QRVJJUEgsIDY4LCAwfSwKLQl7IERCR0JVU19QRVJJUEgsIDY4LCAxfSwK LQl7IERCR0JVU19QRVJJUEgsIDY4LCAyfSwKLQl7IERCR0JVU19QRVJJUEgsIDY4LCAzfSwKLQl7 IERCR0JVU19QRVJJUEgsIDY4LCA0fSwKLQl7IERCR0JVU19QRVJJUEgsIDY4LCA1fSwKLQotCS8q IGVkcCAqLwotCXsgREJHQlVTX1BFUklQSCwgNjksIDB9LAotCXsgREJHQlVTX1BFUklQSCwgNjks IDF9LAotCXsgREJHQlVTX1BFUklQSCwgNjksIDJ9LAotCXsgREJHQlVTX1BFUklQSCwgNjksIDN9 LAotCXsgREJHQlVTX1BFUklQSCwgNjksIDR9LAotCXsgREJHQlVTX1BFUklQSCwgNjksIDV9LAot Ci0JLyogZHNpMCAqLwotCXsgREJHQlVTX1BFUklQSCwgNzAsIDB9LAotCXsgREJHQlVTX1BFUklQ SCwgNzAsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNzAsIDJ9LAotCXsgREJHQlVTX1BFUklQSCwg NzAsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNzAsIDR9LAotCXsgREJHQlVTX1BFUklQSCwgNzAs IDV9LAotCi0JLyogZHNpMSAqLwotCXsgREJHQlVTX1BFUklQSCwgNzEsIDB9LAotCXsgREJHQlVT X1BFUklQSCwgNzEsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNzEsIDJ9LAotCXsgREJHQlVTX1BF UklQSCwgNzEsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNzEsIDR9LAotCXsgREJHQlVTX1BFUklQ SCwgNzEsIDV9LAotfTsKLQotc3RhdGljIHN0cnVjdCB2YmlmX2RlYnVnX2J1c19lbnRyeSB2Ymlm X2RiZ19idXNfbXNtODk5OFtdID0gewotCXsweDIxNCwgMHgyMWMsIDE2LCAyLCAweDAsIDB4ZH0s ICAgICAvKiBhcmIgY2xpZW50cyAqLwotCXsweDIxNCwgMHgyMWMsIDE2LCAyLCAweDgwLCAweGMw fSwgICAvKiBhcmIgY2xpZW50cyAqLwotCXsweDIxNCwgMHgyMWMsIDE2LCAyLCAweDEwMCwgMHgx NDB9LCAvKiBhcmIgY2xpZW50cyAqLwotCXsweDIxNCwgMHgyMWMsIDAsIDE2LCAweDAsIDB4Zn0s ICAgICAvKiB4aW4gYmxvY2tzIC0gYXhpIHNpZGUgKi8KLQl7MHgyMTQsIDB4MjFjLCAwLCAxNiwg MHg4MCwgMHhhNH0sICAgLyogeGluIGJsb2NrcyAtIGF4aSBzaWRlICovCi0JezB4MjE0LCAweDIx YywgMCwgMTUsIDB4MTAwLCAweDEyNH0sIC8qIHhpbiBibG9ja3MgLSBheGkgc2lkZSAqLwotCXsw eDIxYywgMHgyMTQsIDAsIDE0LCAwLCAweGN9LCAvKiB4aW4gYmxvY2tzIC0gY2xvY2sgc2lkZSAq LwotfTsKLQotLyoqCi0gKiBfZHB1X2RiZ19lbmFibGVfcG93ZXIgLSB1c2UgY2FsbGJhY2sgdG8g dHVybiBwb3dlciBvbiBmb3IgaHcgcmVnaXN0ZXIgYWNjZXNzCi0gKiBAZW5hYmxlOiB3aGV0aGVy IHRvIHR1cm4gcG93ZXIgb24gb3Igb2ZmCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBfZHB1X2Ri Z19lbmFibGVfcG93ZXIoaW50IGVuYWJsZSkKLXsKLQlpZiAoZW5hYmxlKQotCQlwbV9ydW50aW1l X2dldF9zeW5jKGRwdV9kYmdfYmFzZS5kZXYpOwotCWVsc2UKLQkJcG1fcnVudGltZV9wdXRfc3lu YyhkcHVfZGJnX2Jhc2UuZGV2KTsKLX0KLQotc3RhdGljIHZvaWQgX2RwdV9kYmdfZHVtcF9kcHVf ZGJnX2J1cyhzdHJ1Y3QgZHB1X2RiZ19kcHVfZGVidWdfYnVzICpidXMpCi17Ci0JYm9vbCBpbl9s b2csIGluX21lbTsKLQl1MzIgKipkdW1wX21lbSA9IE5VTEw7Ci0JdTMyICpkdW1wX2FkZHIgPSBO VUxMOwotCXUzMiBzdGF0dXMgPSAwOwotCXN0cnVjdCBkcHVfZGVidWdfYnVzX2VudHJ5ICpoZWFk OwotCXBoeXNfYWRkcl90IHBoeXMgPSAwOwotCWludCBsaXN0X3NpemU7Ci0JaW50IGk7Ci0JdTMy IG9mZnNldDsKLQl2b2lkIF9faW9tZW0gKm1lbV9iYXNlID0gTlVMTDsKLQlzdHJ1Y3QgZHB1X2Ri Z19yZWdfYmFzZSAqcmVnX2Jhc2U7Ci0KLQlpZiAoIWJ1cyB8fCAhYnVzLT5jbW4uZW50cmllc19z aXplKQotCQlyZXR1cm47Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlZ19iYXNlLCAmZHB1X2Ri Z19iYXNlLnJlZ19iYXNlX2xpc3QsCi0JCQlyZWdfYmFzZV9oZWFkKQotCQlpZiAoc3RybGVuKHJl Z19iYXNlLT5uYW1lKSAmJgotCQkJIXN0cmNtcChyZWdfYmFzZS0+bmFtZSwgYnVzLT5jbW4ubmFt ZSkpCi0JCQltZW1fYmFzZSA9IHJlZ19iYXNlLT5iYXNlICsgYnVzLT50b3BfYmxrX29mZjsKLQot CWlmICghbWVtX2Jhc2UpIHsKLQkJcHJfZXJyKCJ1bmFibGUgdG8gZmluZCBtZW1fYmFzZSBmb3Ig JXNcbiIsIGJ1cy0+Y21uLm5hbWUpOwotCQlyZXR1cm47Ci0JfQotCi0JZHVtcF9tZW0gPSAmYnVz LT5jbW4uZHVtcGVkX2NvbnRlbnQ7Ci0KLQkvKiB3aWxsIGtlZXAgaW4gbWVtb3J5IDQgZW50cmll cyBvZiA0IGJ5dGVzIGVhY2ggKi8KLQlsaXN0X3NpemUgPSAoYnVzLT5jbW4uZW50cmllc19zaXpl ICogNCAqIDQpOwotCi0JaW5fbG9nID0gKGJ1cy0+Y21uLmVuYWJsZV9tYXNrICYgRFBVX0RCR19E VU1QX0lOX0xPRyk7Ci0JaW5fbWVtID0gKGJ1cy0+Y21uLmVuYWJsZV9tYXNrICYgRFBVX0RCR19E VU1QX0lOX01FTSk7Ci0KLQlpZiAoIWluX2xvZyAmJiAhaW5fbWVtKQotCQlyZXR1cm47Ci0KLQlk ZXZfaW5mbyhkcHVfZGJnX2Jhc2UuZGV2LCAiPT09PT09PT0gc3RhcnQgJXMgZHVtcCA9PT09PT09 PT1cbiIsCi0JCQlidXMtPmNtbi5uYW1lKTsKLQotCWlmIChpbl9tZW0pIHsKLQkJaWYgKCEoKmR1 bXBfbWVtKSkKLQkJCSpkdW1wX21lbSA9IGRtYV9hbGxvY19jb2hlcmVudChkcHVfZGJnX2Jhc2Uu ZGV2LAotCQkJCWxpc3Rfc2l6ZSwgJnBoeXMsIEdGUF9LRVJORUwpOwotCi0JCWlmICgqZHVtcF9t ZW0pIHsKLQkJCWR1bXBfYWRkciA9ICpkdW1wX21lbTsKLQkJCWRldl9pbmZvKGRwdV9kYmdfYmFz ZS5kZXYsCi0JCQkJIiVzOiBzdGFydF9hZGRyOjB4JXBLIGxlbjoweCV4XG4iLAotCQkJCV9fZnVu Y19fLCBkdW1wX2FkZHIsIGxpc3Rfc2l6ZSk7Ci0JCX0gZWxzZSB7Ci0JCQlpbl9tZW0gPSBmYWxz ZTsKLQkJCXByX2VycigiZHVtcF9tZW06IGFsbG9jYXRpb24gZmFpbHNcbiIpOwotCQl9Ci0JfQot Ci0JX2RwdV9kYmdfZW5hYmxlX3Bvd2VyKHRydWUpOwotCWZvciAoaSA9IDA7IGkgPCBidXMtPmNt bi5lbnRyaWVzX3NpemU7IGkrKykgewotCQloZWFkID0gYnVzLT5lbnRyaWVzICsgaTsKLQkJd3Jp dGVsX3JlbGF4ZWQoVEVTVF9NQVNLKGhlYWQtPmJsb2NrX2lkLCBoZWFkLT50ZXN0X2lkKSwKLQkJ CQltZW1fYmFzZSArIGhlYWQtPndyX2FkZHIpOwotCQl3bWIoKTsgLyogbWFrZSBzdXJlIHRlc3Qg Yml0cyB3ZXJlIHdyaXR0ZW4gKi8KLQotCQlpZiAoYnVzLT5jbW4uZmxhZ3MgJiBEQkdCVVNfRkxB R1NfRFNQUCkgewotCQkJb2Zmc2V0ID0gREJHQlVTX0RTUFBfU1RBVFVTOwotCQkJLyoga2VlcCBE U1BQIHRlc3QgcG9pbnQgZW5hYmxlZCAqLwotCQkJaWYgKGhlYWQtPndyX2FkZHIgIT0gREJHQlVT X0RTUFApCi0JCQkJd3JpdGVsX3JlbGF4ZWQoMHhGLCBtZW1fYmFzZSArIERCR0JVU19EU1BQKTsK LQkJfSBlbHNlIHsKLQkJCW9mZnNldCA9IGhlYWQtPndyX2FkZHIgKyAweDQ7Ci0JCX0KLQotCQlz dGF0dXMgPSByZWFkbF9yZWxheGVkKG1lbV9iYXNlICsgb2Zmc2V0KTsKLQotCQlpZiAoaW5fbG9n KQotCQkJZGV2X2luZm8oZHB1X2RiZ19iYXNlLmRldiwKLQkJCQkJIndhZGRyPTB4JXggYmxrPSVk IHRzdD0lZCB2YWw9MHgleFxuIiwKLQkJCQkJaGVhZC0+d3JfYWRkciwgaGVhZC0+YmxvY2tfaWQs Ci0JCQkJCWhlYWQtPnRlc3RfaWQsIHN0YXR1cyk7Ci0KLQkJaWYgKGR1bXBfYWRkciAmJiBpbl9t ZW0pIHsKLQkJCWR1bXBfYWRkcltpKjRdICAgICA9IGhlYWQtPndyX2FkZHI7Ci0JCQlkdW1wX2Fk ZHJbaSo0ICsgMV0gPSBoZWFkLT5ibG9ja19pZDsKLQkJCWR1bXBfYWRkcltpKjQgKyAyXSA9IGhl YWQtPnRlc3RfaWQ7Ci0JCQlkdW1wX2FkZHJbaSo0ICsgM10gPSBzdGF0dXM7Ci0JCX0KLQotCQlp ZiAoaGVhZC0+YW5hbHl6ZXIpCi0JCQloZWFkLT5hbmFseXplcihtZW1fYmFzZSwgaGVhZCwgc3Rh dHVzKTsKLQotCQkvKiBEaXNhYmxlIGRlYnVnIGJ1cyBvbmNlIHdlIGFyZSBkb25lICovCi0JCXdy aXRlbF9yZWxheGVkKDAsIG1lbV9iYXNlICsgaGVhZC0+d3JfYWRkcik7Ci0JCWlmIChidXMtPmNt bi5mbGFncyAmIERCR0JVU19GTEFHU19EU1BQICYmCi0JCQkJCQloZWFkLT53cl9hZGRyICE9IERC R0JVU19EU1BQKQotCQkJd3JpdGVsX3JlbGF4ZWQoMHgwLCBtZW1fYmFzZSArIERCR0JVU19EU1BQ KTsKLQl9Ci0JX2RwdV9kYmdfZW5hYmxlX3Bvd2VyKGZhbHNlKTsKLQotCWRldl9pbmZvKGRwdV9k YmdfYmFzZS5kZXYsICI9PT09PT09PSBlbmQgJXMgZHVtcCA9PT09PT09PT1cbiIsCi0JCQlidXMt PmNtbi5uYW1lKTsKLX0KLQotc3RhdGljIHZvaWQgX2RwdV9kYmdfZHVtcF92YmlmX2RlYnVnX2J1 c19lbnRyeSgKLQkJc3RydWN0IHZiaWZfZGVidWdfYnVzX2VudHJ5ICpoZWFkLCB2b2lkIF9faW9t ZW0gKm1lbV9iYXNlLAotCQl1MzIgKmR1bXBfYWRkciwgYm9vbCBpbl9sb2cpCi17Ci0JaW50IGks IGo7Ci0JdTMyIHZhbDsKLQotCWlmICghZHVtcF9hZGRyICYmICFpbl9sb2cpCi0JCXJldHVybjsK LQotCWZvciAoaSA9IDA7IGkgPCBoZWFkLT5ibG9ja19jbnQ7IGkrKykgewotCQl3cml0ZWxfcmVs YXhlZCgxIDw8IChpICsgaGVhZC0+Yml0X29mZnNldCksCi0JCQkJbWVtX2Jhc2UgKyBoZWFkLT5i bG9ja19idXNfYWRkcik7Ci0JCS8qIG1ha2Ugc3VyZSB0aGF0IGN1cnJlbnQgYnVzIGJsY29rIGVu YWJsZSAqLwotCQl3bWIoKTsKLQkJZm9yIChqID0gaGVhZC0+dGVzdF9wbnRfc3RhcnQ7IGogPCBo ZWFkLT50ZXN0X3BudF9jbnQ7IGorKykgewotCQkJd3JpdGVsX3JlbGF4ZWQoaiwgbWVtX2Jhc2Ug KyBoZWFkLT5ibG9ja19idXNfYWRkciArIDQpOwotCQkJLyogbWFrZSBzdXJlIHRoYXQgdGVzdCBw b2ludCBpcyBlbmFibGVkICovCi0JCQl3bWIoKTsKLQkJCXZhbCA9IHJlYWRsX3JlbGF4ZWQobWVt X2Jhc2UgKyBNTVNTX1ZCSUZfVEVTVF9CVVNfT1VUKTsKLQkJCWlmIChkdW1wX2FkZHIpIHsKLQkJ CQkqZHVtcF9hZGRyKysgPSBoZWFkLT5ibG9ja19idXNfYWRkcjsKLQkJCQkqZHVtcF9hZGRyKysg PSBpOwotCQkJCSpkdW1wX2FkZHIrKyA9IGo7Ci0JCQkJKmR1bXBfYWRkcisrID0gdmFsOwotCQkJ fQotCQkJaWYgKGluX2xvZykKLQkJCQlkZXZfaW5mbyhkcHVfZGJnX2Jhc2UuZGV2LAotCQkJCQki dGVzdHBvaW50OiV4IGFyYi94aW4gaWQ9JWQgaW5kZXg9JWQgdmFsPTB4JXhcbiIsCi0JCQkJCWhl YWQtPmJsb2NrX2J1c19hZGRyLCBpLCBqLCB2YWwpOwotCQl9Ci0JfQotfQotCi1zdGF0aWMgdm9p ZCBfZHB1X2RiZ19kdW1wX3ZiaWZfZGJnX2J1cyhzdHJ1Y3QgZHB1X2RiZ192YmlmX2RlYnVnX2J1 cyAqYnVzKQotewotCWJvb2wgaW5fbG9nLCBpbl9tZW07Ci0JdTMyICoqZHVtcF9tZW0gPSBOVUxM OwotCXUzMiAqZHVtcF9hZGRyID0gTlVMTDsKLQl1MzIgdmFsdWUsIGQwLCBkMTsKLQl1bnNpZ25l ZCBsb25nIHJlZywgcmVnMSwgcmVnMjsKLQlzdHJ1Y3QgdmJpZl9kZWJ1Z19idXNfZW50cnkgKmhl YWQ7Ci0JcGh5c19hZGRyX3QgcGh5cyA9IDA7Ci0JaW50IGksIGxpc3Rfc2l6ZSA9IDA7Ci0Jdm9p ZCBfX2lvbWVtICptZW1fYmFzZSA9IE5VTEw7Ci0Jc3RydWN0IHZiaWZfZGVidWdfYnVzX2VudHJ5 ICpkYmdfYnVzOwotCXUzMiBidXNfc2l6ZTsKLQlzdHJ1Y3QgZHB1X2RiZ19yZWdfYmFzZSAqcmVn X2Jhc2U7Ci0KLQlpZiAoIWJ1cyB8fCAhYnVzLT5jbW4uZW50cmllc19zaXplKQotCQlyZXR1cm47 Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlZ19iYXNlLCAmZHB1X2RiZ19iYXNlLnJlZ19iYXNl X2xpc3QsCi0JCQlyZWdfYmFzZV9oZWFkKQotCQlpZiAoc3RybGVuKHJlZ19iYXNlLT5uYW1lKSAm JgotCQkJIXN0cmNtcChyZWdfYmFzZS0+bmFtZSwgYnVzLT5jbW4ubmFtZSkpCi0JCQltZW1fYmFz ZSA9IHJlZ19iYXNlLT5iYXNlOwotCi0JaWYgKCFtZW1fYmFzZSkgewotCQlwcl9lcnIoInVuYWJs ZSB0byBmaW5kIG1lbV9iYXNlIGZvciAlc1xuIiwgYnVzLT5jbW4ubmFtZSk7Ci0JCXJldHVybjsK LQl9Ci0KLQlkYmdfYnVzID0gYnVzLT5lbnRyaWVzOwotCWJ1c19zaXplID0gYnVzLT5jbW4uZW50 cmllc19zaXplOwotCWxpc3Rfc2l6ZSA9IGJ1cy0+Y21uLmVudHJpZXNfc2l6ZTsKLQlkdW1wX21l bSA9ICZidXMtPmNtbi5kdW1wZWRfY29udGVudDsKLQotCWRldl9pbmZvKGRwdV9kYmdfYmFzZS5k ZXYsICI9PT09PT09PSBzdGFydCAlcyBkdW1wID09PT09PT09PVxuIiwKLQkJCWJ1cy0+Y21uLm5h bWUpOwotCi0JaWYgKCFkdW1wX21lbSB8fCAhZGJnX2J1cyB8fCAhYnVzX3NpemUgfHwgIWxpc3Rf c2l6ZSkKLQkJcmV0dXJuOwotCi0JLyogYWxsb2NhdGUgbWVtb3J5IGZvciBlYWNoIHRlc3QgcG9p bnQgKi8KLQlmb3IgKGkgPSAwOyBpIDwgYnVzX3NpemU7IGkrKykgewotCQloZWFkID0gZGJnX2J1 cyArIGk7Ci0JCWxpc3Rfc2l6ZSArPSAoaGVhZC0+YmxvY2tfY250ICogaGVhZC0+dGVzdF9wbnRf Y250KTsKLQl9Ci0KLQkvKiA0IGJ5dGVzICogNCBlbnRyaWVzIGZvciBlYWNoIHRlc3QgcG9pbnQq LwotCWxpc3Rfc2l6ZSAqPSAxNjsKLQotCWluX2xvZyA9IChidXMtPmNtbi5lbmFibGVfbWFzayAm IERQVV9EQkdfRFVNUF9JTl9MT0cpOwotCWluX21lbSA9IChidXMtPmNtbi5lbmFibGVfbWFzayAm IERQVV9EQkdfRFVNUF9JTl9NRU0pOwotCi0JaWYgKCFpbl9sb2cgJiYgIWluX21lbSkKLQkJcmV0 dXJuOwotCi0JaWYgKGluX21lbSkgewotCQlpZiAoISgqZHVtcF9tZW0pKQotCQkJKmR1bXBfbWVt ID0gZG1hX2FsbG9jX2NvaGVyZW50KGRwdV9kYmdfYmFzZS5kZXYsCi0JCQkJbGlzdF9zaXplLCAm cGh5cywgR0ZQX0tFUk5FTCk7Ci0KLQkJaWYgKCpkdW1wX21lbSkgewotCQkJZHVtcF9hZGRyID0g KmR1bXBfbWVtOwotCQkJZGV2X2luZm8oZHB1X2RiZ19iYXNlLmRldiwKLQkJCQkiJXM6IHN0YXJ0 X2FkZHI6MHglcEsgbGVuOjB4JXhcbiIsCi0JCQkJX19mdW5jX18sIGR1bXBfYWRkciwgbGlzdF9z aXplKTsKLQkJfSBlbHNlIHsKLQkJCWluX21lbSA9IGZhbHNlOwotCQkJcHJfZXJyKCJkdW1wX21l bTogYWxsb2NhdGlvbiBmYWlsc1xuIik7Ci0JCX0KLQl9Ci0KLQlfZHB1X2RiZ19lbmFibGVfcG93 ZXIodHJ1ZSk7Ci0KLQl2YWx1ZSA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2UgKyBNTVNTX1ZCSUZf Q0xLT04pOwotCXdyaXRlbF9yZWxheGVkKHZhbHVlIHwgQklUKDEpLCBtZW1fYmFzZSArIE1NU1Nf VkJJRl9DTEtPTik7Ci0KLQkvKiBtYWtlIHN1cmUgdGhhdCB2YmlmIGNvcmUgaXMgb24gKi8KLQl3 bWIoKTsKLQotCS8qKgotCSAqIEV4dHJhY3QgVkJJRiBlcnJvciBpbmZvIGJhc2VkIG9uIFhJTiBo YWx0IGFuZCBlcnJvciBzdGF0dXMuCi0JICogSWYgdGhlIFhJTiBjbGllbnQgaXMgbm90IGluIEhB TFQgc3RhdGUsIG9yIGFuIGVycm9yIGlzIGRldGVjdGVkLAotCSAqIHRoZW4gcmV0cmlldmUgdGhl IFZCSUYgZXJyb3IgaW5mbyBmb3IgaXQuCi0JICovCi0JcmVnID0gcmVhZGxfcmVsYXhlZChtZW1f YmFzZSArIE1NU1NfVkJJRl9YSU5fSEFMVF9DVFJMMSk7Ci0JcmVnMSA9IHJlYWRsX3JlbGF4ZWQo bWVtX2Jhc2UgKyBNTVNTX1ZCSUZfUE5EX0VSUik7Ci0JcmVnMiA9IHJlYWRsX3JlbGF4ZWQobWVt X2Jhc2UgKyBNTVNTX1ZCSUZfU1JDX0VSUik7Ci0JZGV2X2VycihkcHVfZGJnX2Jhc2UuZGV2LAot CQkJIlhJTiBIQUxUOjB4JWxYLCBQTkQgRVJSOjB4JWxYLCBTUkMgRVJSOjB4JWxYXG4iLAotCQkJ cmVnLCByZWcxLCByZWcyKTsKLQlyZWcgPj49IDE2OwotCXJlZyAmPSB+KHJlZzEgfCByZWcyKTsK LQlmb3IgKGkgPSAwOyBpIDwgTU1TU19WQklGX0NMSUVOVF9OVU07IGkrKykgewotCQlpZiAoIXRl c3RfYml0KDAsICZyZWcpKSB7Ci0JCQl3cml0ZWxfcmVsYXhlZChpLCBtZW1fYmFzZSArIE1NU1Nf VkJJRl9FUlJfSU5GTyk7Ci0JCQkvKiBtYWtlIHN1cmUgcmVnIHdyaXRlIGdvZXMgdGhyb3VnaCAq LwotCQkJd21iKCk7Ci0KLQkJCWQwID0gcmVhZGxfcmVsYXhlZChtZW1fYmFzZSArIE1NU1NfVkJJ Rl9FUlJfSU5GTyk7Ci0JCQlkMSA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2UgKyBNTVNTX1ZCSUZf RVJSX0lORk9fMSk7Ci0KLQkJCWRldl9lcnIoZHB1X2RiZ19iYXNlLmRldiwKLQkJCQkJIkNsaWVu dDolZCwgZXJyaW5mbz0weCVYLCBlcnJpbmZvMT0weCVYXG4iLAotCQkJCQlpLCBkMCwgZDEpOwot CQl9Ci0JCXJlZyA+Pj0gMTsKLQl9Ci0KLQlmb3IgKGkgPSAwOyBpIDwgYnVzX3NpemU7IGkrKykg ewotCQloZWFkID0gZGJnX2J1cyArIGk7Ci0KLQkJd3JpdGVsX3JlbGF4ZWQoMCwgbWVtX2Jhc2Ug KyBoZWFkLT5kaXNhYmxlX2J1c19hZGRyKTsKLQkJd3JpdGVsX3JlbGF4ZWQoQklUKDApLCBtZW1f YmFzZSArIE1NU1NfVkJJRl9URVNUX0JVU19PVVRfQ1RSTCk7Ci0JCS8qIG1ha2Ugc3VyZSB0aGF0 IG90aGVyIGJ1cyBpcyBvZmYgKi8KLQkJd21iKCk7Ci0KLQkJX2RwdV9kYmdfZHVtcF92YmlmX2Rl YnVnX2J1c19lbnRyeShoZWFkLCBtZW1fYmFzZSwgZHVtcF9hZGRyLAotCQkJCWluX2xvZyk7Ci0J CWlmIChkdW1wX2FkZHIpCi0JCQlkdW1wX2FkZHIgKz0gKGhlYWQtPmJsb2NrX2NudCAqIGhlYWQt PnRlc3RfcG50X2NudCAqIDQpOwotCX0KLQotCV9kcHVfZGJnX2VuYWJsZV9wb3dlcihmYWxzZSk7 Ci0KLQlkZXZfaW5mbyhkcHVfZGJnX2Jhc2UuZGV2LCAiPT09PT09PT0gZW5kICVzIGR1bXAgPT09 PT09PT09XG4iLAotCQkJYnVzLT5jbW4ubmFtZSk7Ci19Ci0KLS8qKgotICogX2RwdV9kdW1wX2Fy cmF5IC0gZHVtcCBhcnJheSBvZiByZWdpc3RlciBiYXNlcwotICogQG5hbWU6IHN0cmluZyBpbmRp Y2F0aW5nIG9yaWdpbiBvZiBkdW1wCi0gKiBAZHVtcF9kYmdidXNfZHB1OiB3aGV0aGVyIHRvIGR1 bXAgdGhlIGRwdSBkZWJ1ZyBidXMKLSAqIEBkdW1wX2RiZ2J1c192YmlmX3J0OiB3aGV0aGVyIHRv IGR1bXAgdGhlIHZiaWYgcnQgZGVidWcgYnVzCi0gKi8KLXN0YXRpYyB2b2lkIF9kcHVfZHVtcF9h cnJheShjb25zdCBjaGFyICpuYW1lLCBib29sIGR1bXBfZGJnYnVzX2RwdSwKLQkJCSAgICBib29s IGR1bXBfZGJnYnVzX3ZiaWZfcnQpCi17Ci0JaWYgKGR1bXBfZGJnYnVzX2RwdSkKLQkJX2RwdV9k YmdfZHVtcF9kcHVfZGJnX2J1cygmZHB1X2RiZ19iYXNlLmRiZ2J1c19kcHUpOwotCi0JaWYgKGR1 bXBfZGJnYnVzX3ZiaWZfcnQpCi0JCV9kcHVfZGJnX2R1bXBfdmJpZl9kYmdfYnVzKCZkcHVfZGJn X2Jhc2UuZGJnYnVzX3ZiaWZfcnQpOwotfQotCi0vKioKLSAqIF9kcHVfZHVtcF93b3JrIC0gZGVm ZXJyZWQgZHVtcCB3b3JrIGZ1bmN0aW9uCi0gKiBAd29yazogd29yayBzdHJ1Y3R1cmUKLSAqLwot c3RhdGljIHZvaWQgX2RwdV9kdW1wX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQotewot CV9kcHVfZHVtcF9hcnJheSgiZHB1ZHVtcF93b3JraXRlbSIsCi0JCWRwdV9kYmdfYmFzZS5kYmdi dXNfZHB1LmNtbi5pbmNsdWRlX2luX2RlZmVycmVkX3dvcmssCi0JCWRwdV9kYmdfYmFzZS5kYmdi dXNfdmJpZl9ydC5jbW4uaW5jbHVkZV9pbl9kZWZlcnJlZF93b3JrKTsKLX0KLQotdm9pZCBkcHVf ZGJnX2R1bXAoYm9vbCBxdWV1ZV93b3JrLCBjb25zdCBjaGFyICpuYW1lLCBib29sIGR1bXBfZGJn YnVzX2RwdSwKLQkJICBib29sIGR1bXBfZGJnYnVzX3ZiaWZfcnQpCi17Ci0JaWYgKHF1ZXVlX3dv cmsgJiYgd29ya19wZW5kaW5nKCZkcHVfZGJnX2Jhc2UuZHVtcF93b3JrKSkKLQkJcmV0dXJuOwot Ci0JaWYgKCFxdWV1ZV93b3JrKSB7Ci0JCV9kcHVfZHVtcF9hcnJheShuYW1lLCBkdW1wX2RiZ2J1 c19kcHUsIGR1bXBfZGJnYnVzX3ZiaWZfcnQpOwotCQlyZXR1cm47Ci0JfQotCi0JLyogc2NoZWR1 bGUgd29yayB0byBkdW1wIGxhdGVyICovCi0JZHB1X2RiZ19iYXNlLmRiZ2J1c19kcHUuY21uLmlu Y2x1ZGVfaW5fZGVmZXJyZWRfd29yayA9IGR1bXBfZGJnYnVzX2RwdTsKLQlkcHVfZGJnX2Jhc2Uu ZGJnYnVzX3ZiaWZfcnQuY21uLmluY2x1ZGVfaW5fZGVmZXJyZWRfd29yayA9Ci0JCQlkdW1wX2Ri Z2J1c192YmlmX3J0OwotCXNjaGVkdWxlX3dvcmsoJmRwdV9kYmdfYmFzZS5kdW1wX3dvcmspOwot fQotCi0vKgotICogZHB1X2RiZ19kZWJ1Z2ZzX29wZW4gLSBkZWJ1Z2ZzIG9wZW4gaGFuZGxlciBm b3IgZGVidWcgZHVtcAotICogQGlub2RlOiBkZWJ1Z2ZzIGlub2RlCi0gKiBAZmlsZTogZmlsZSBo YW5kbGUKLSAqLwotc3RhdGljIGludCBkcHVfZGJnX2RlYnVnZnNfb3BlbihzdHJ1Y3QgaW5vZGUg Kmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQkvKiBub24tc2Vla2FibGUgKi8KLQlmaWxl LT5mX21vZGUgJj0gfihGTU9ERV9MU0VFSyB8IEZNT0RFX1BSRUFEIHwgRk1PREVfUFdSSVRFKTsK LQlmaWxlLT5wcml2YXRlX2RhdGEgPSBpbm9kZS0+aV9wcml2YXRlOwotCXJldHVybiAwOwotfQot Ci0vKioKLSAqIGRwdV9kYmdfZHVtcF93cml0ZSAtIGRlYnVnZnMgd3JpdGUgaGFuZGxlciBmb3Ig ZGVidWcgZHVtcAotICogQGZpbGU6IGZpbGUgaGFuZGxlcgotICogQHVzZXJfYnVmOiB1c2VyIGJ1 ZmZlciBjb250ZW50IGZyb20gZGVidWdmcwotICogQGNvdW50OiBzaXplIG9mIHVzZXIgYnVmZmVy Ci0gKiBAcHBvczogcG9zaXRpb24gb2Zmc2V0IG9mIHVzZXIgYnVmZmVyCi0gKi8KLXN0YXRpYyBz c2l6ZV90IGRwdV9kYmdfZHVtcF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwKLQljb25zdCBjaGFy IF9fdXNlciAqdXNlcl9idWYsIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQotewotCV9kcHVf ZHVtcF9hcnJheSgiZHVtcF9kZWJ1Z2ZzIiwgdHJ1ZSwgdHJ1ZSk7Ci0JcmV0dXJuIGNvdW50Owot fQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBkcHVfZGJnX2R1bXBfZm9w cyA9IHsKLQkub3BlbiA9IGRwdV9kYmdfZGVidWdmc19vcGVuLAotCS53cml0ZSA9IGRwdV9kYmdf ZHVtcF93cml0ZSwKLX07Ci0KLWludCBkcHVfZGJnX2RlYnVnZnNfcmVnaXN0ZXIoc3RydWN0IGRl bnRyeSAqZGVidWdmc19yb290KQotewotCXN0YXRpYyBzdHJ1Y3QgZHB1X2RiZ19iYXNlICpkYmcg PSAmZHB1X2RiZ19iYXNlOwotCWNoYXIgZGVidWdfbmFtZVs4MF0gPSAiIjsKLQotCWlmICghZGVi dWdmc19yb290KQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWRlYnVnZnNfY3JlYXRlX2ZpbGUoImR1 bXAiLCAwNjAwLCBkZWJ1Z2ZzX3Jvb3QsIE5VTEwsCi0JCQkmZHB1X2RiZ19kdW1wX2ZvcHMpOwot Ci0JaWYgKGRiZy0+ZGJnYnVzX2RwdS5lbnRyaWVzKSB7Ci0JCWRiZy0+ZGJnYnVzX2RwdS5jbW4u bmFtZSA9IERCR0JVU19OQU1FX0RQVTsKLQkJc25wcmludGYoZGVidWdfbmFtZSwgc2l6ZW9mKGRl YnVnX25hbWUpLCAiJXNfZGJnYnVzIiwKLQkJCQlkYmctPmRiZ2J1c19kcHUuY21uLm5hbWUpOwot CQlkYmctPmRiZ2J1c19kcHUuY21uLmVuYWJsZV9tYXNrID0gREVGQVVMVF9EQkdCVVNfRFBVOwot CQlkZWJ1Z2ZzX2NyZWF0ZV91MzIoZGVidWdfbmFtZSwgMDYwMCwgZGVidWdmc19yb290LAotCQkJ CSZkYmctPmRiZ2J1c19kcHUuY21uLmVuYWJsZV9tYXNrKTsKLQl9Ci0KLQlpZiAoZGJnLT5kYmdi dXNfdmJpZl9ydC5lbnRyaWVzKSB7Ci0JCWRiZy0+ZGJnYnVzX3ZiaWZfcnQuY21uLm5hbWUgPSBE QkdCVVNfTkFNRV9WQklGX1JUOwotCQlzbnByaW50ZihkZWJ1Z19uYW1lLCBzaXplb2YoZGVidWdf bmFtZSksICIlc19kYmdidXMiLAotCQkJCWRiZy0+ZGJnYnVzX3ZiaWZfcnQuY21uLm5hbWUpOwot CQlkYmctPmRiZ2J1c192YmlmX3J0LmNtbi5lbmFibGVfbWFzayA9IERFRkFVTFRfREJHQlVTX1ZC SUZSVDsKLQkJZGVidWdmc19jcmVhdGVfdTMyKGRlYnVnX25hbWUsIDA2MDAsIGRlYnVnZnNfcm9v dCwKLQkJCQkmZGJnLT5kYmdidXNfdmJpZl9ydC5jbW4uZW5hYmxlX21hc2spOwotCX0KLQotCXJl dHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBfZHB1X2RiZ19kZWJ1Z2ZzX2Rlc3Ryb3kodm9pZCkK LXsKLX0KLQotdm9pZCBkcHVfZGJnX2luaXRfZGJnX2J1c2VzKHUzMiBod3ZlcnNpb24pCi17Ci0J c3RhdGljIHN0cnVjdCBkcHVfZGJnX2Jhc2UgKmRiZyA9ICZkcHVfZGJnX2Jhc2U7Ci0KLQltZW1z ZXQoJmRiZy0+ZGJnYnVzX2RwdSwgMCwgc2l6ZW9mKGRiZy0+ZGJnYnVzX2RwdSkpOwotCW1lbXNl dCgmZGJnLT5kYmdidXNfdmJpZl9ydCwgMCwgc2l6ZW9mKGRiZy0+ZGJnYnVzX3ZiaWZfcnQpKTsK LQotCWlmIChJU19NU004OTk4X1RBUkdFVChod3ZlcnNpb24pKSB7Ci0JCWRiZy0+ZGJnYnVzX2Rw dS5lbnRyaWVzID0gZGJnX2J1c19kcHVfODk5ODsKLQkJZGJnLT5kYmdidXNfZHB1LmNtbi5lbnRy aWVzX3NpemUgPSBBUlJBWV9TSVpFKGRiZ19idXNfZHB1Xzg5OTgpOwotCQlkYmctPmRiZ2J1c19k cHUuY21uLmZsYWdzID0gREJHQlVTX0ZMQUdTX0RTUFA7Ci0KLQkJZGJnLT5kYmdidXNfdmJpZl9y dC5lbnRyaWVzID0gdmJpZl9kYmdfYnVzX21zbTg5OTg7Ci0JCWRiZy0+ZGJnYnVzX3ZiaWZfcnQu Y21uLmVudHJpZXNfc2l6ZSA9Ci0JCQkJQVJSQVlfU0laRSh2YmlmX2RiZ19idXNfbXNtODk5OCk7 Ci0JfSBlbHNlIGlmIChJU19TRE04NDVfVEFSR0VUKGh3dmVyc2lvbikgfHwgSVNfU0RNNjcwX1RB UkdFVChod3ZlcnNpb24pKSB7Ci0JCWRiZy0+ZGJnYnVzX2RwdS5lbnRyaWVzID0gZGJnX2J1c19k cHVfc2RtODQ1OwotCQlkYmctPmRiZ2J1c19kcHUuY21uLmVudHJpZXNfc2l6ZSA9Ci0JCQkJQVJS QVlfU0laRShkYmdfYnVzX2RwdV9zZG04NDUpOwotCQlkYmctPmRiZ2J1c19kcHUuY21uLmZsYWdz ID0gREJHQlVTX0ZMQUdTX0RTUFA7Ci0KLQkJLyogdmJpZiBpcyB1bmNoYW5nZWQgdnMgODk5OCAq LwotCQlkYmctPmRiZ2J1c192YmlmX3J0LmVudHJpZXMgPSB2YmlmX2RiZ19idXNfbXNtODk5ODsK LQkJZGJnLT5kYmdidXNfdmJpZl9ydC5jbW4uZW50cmllc19zaXplID0KLQkJCQlBUlJBWV9TSVpF KHZiaWZfZGJnX2J1c19tc204OTk4KTsKLQl9IGVsc2UgewotCQlwcl9lcnIoInVuc3VwcG9ydGVk IGNoaXBzZXQgaWQgJVhcbiIsIGh3dmVyc2lvbik7Ci0JfQotfQotCi1pbnQgZHB1X2RiZ19pbml0 KHN0cnVjdCBkZXZpY2UgKmRldikKLXsKLQlpZiAoIWRldikgewotCQlwcl9lcnIoImludmFsaWQg cGFyYW1zXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JSU5JVF9MSVNUX0hFQUQoJmRw dV9kYmdfYmFzZS5yZWdfYmFzZV9saXN0KTsKLQlkcHVfZGJnX2Jhc2UuZGV2ID0gZGV2OwotCi0J SU5JVF9XT1JLKCZkcHVfZGJnX2Jhc2UuZHVtcF93b3JrLCBfZHB1X2R1bXBfd29yayk7Ci0KLQly ZXR1cm4gMDsKLX0KLQotLyoqCi0gKiBkcHVfZGJnX2Rlc3Ryb3kgLSBkZXN0cm95IGRwdSBkZWJ1 ZyBmYWNpbGl0aWVzCi0gKi8KLXZvaWQgZHB1X2RiZ19kZXN0cm95KHZvaWQpCi17Ci0JX2RwdV9k YmdfZGVidWdmc19kZXN0cm95KCk7Ci19Ci0KLXZvaWQgZHB1X2RiZ19zZXRfZHB1X3RvcF9vZmZz ZXQodTMyIGJsa19vZmYpCi17Ci0JZHB1X2RiZ19iYXNlLmRiZ2J1c19kcHUudG9wX2Jsa19vZmYg PSBibGtfb2ZmOwotfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2RiZy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2RiZy5oCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTZmYTk0NWY5OGIuLjAwMDAwMDAwMDAwMAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZGJnLmgKKysrIC9kZXYvbnVsbApA QCAtMSwxMDMgKzAsMCBAQAotLyogQ29weXJpZ2h0IChjKSAyMDE2LTIwMTgsIFRoZSBMaW51eCBG b3VuZGF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNp b24gMiBhbmQKLSAqIG9ubHkgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKi8KLQotI2lmbmRl ZiBEUFVfREJHX0hfCi0jZGVmaW5lIERQVV9EQkdfSF8KLQotI2luY2x1ZGUgPHN0ZGFyZy5oPgot I2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KLSNpbmNsdWRlIDxsaW51eC9saXN0Lmg+Ci0KLWVu dW0gZHB1X2RiZ19kdW1wX2ZsYWcgewotCURQVV9EQkdfRFVNUF9JTl9MT0cgPSBCSVQoMCksCi0J RFBVX0RCR19EVU1QX0lOX01FTSA9IEJJVCgxKSwKLX07Ci0KLSNpZiBkZWZpbmVkKENPTkZJR19E RUJVR19GUykKLQotLyoqCi0gKiBkcHVfZGJnX2luaXRfZGJnX2J1c2VzIC0gaW5pdGlhbGl6ZSBk ZWJ1ZyBidXMgZHVtcGluZyBzdXBwb3J0IGZvciB0aGUgY2hpcHNldAotICogQGh3dmVyc2lvbjoJ CUNoaXBzZXQgcmV2aXNpb24KLSAqLwotdm9pZCBkcHVfZGJnX2luaXRfZGJnX2J1c2VzKHUzMiBo d3ZlcnNpb24pOwotCi0vKioKLSAqIGRwdV9kYmdfaW5pdCAtIGluaXRpYWxpemUgZ2xvYmFsIGRw dSBkZWJ1ZyBmYWNpbGl0aWVzOiByZWdkdW1wCi0gKiBAZGV2OgkJZGV2aWNlIGhhbmRsZQotICog UmV0dXJuczoJCTAgb3IgLUVSUk9SCi0gKi8KLWludCBkcHVfZGJnX2luaXQoc3RydWN0IGRldmlj ZSAqZGV2KTsKLQotLyoqCi0gKiBkcHVfZGJnX2RlYnVnZnNfcmVnaXN0ZXIgLSByZWdpc3RlciBl bnRyaWVzIGF0IHRoZSBnaXZlbiBkZWJ1Z2ZzIGRpcgotICogQGRlYnVnZnNfcm9vdDoJZGVidWdm cyByb290IGluIHdoaWNoIHRvIGNyZWF0ZSBkcHUgZGVidWcgZW50cmllcwotICogUmV0dXJuczoJ MCBvciAtRVJST1IKLSAqLwotaW50IGRwdV9kYmdfZGVidWdmc19yZWdpc3RlcihzdHJ1Y3QgZGVu dHJ5ICpkZWJ1Z2ZzX3Jvb3QpOwotCi0vKioKLSAqIGRwdV9kYmdfZGVzdHJveSAtIGRlc3Ryb3kg dGhlIGdsb2JhbCBkcHUgZGVidWcgZmFjaWxpdGllcwotICogUmV0dXJuczoJbm9uZQotICovCi12 b2lkIGRwdV9kYmdfZGVzdHJveSh2b2lkKTsKLQotLyoqCi0gKiBkcHVfZGJnX2R1bXAgLSB0cmln Z2VyIGR1bXBpbmcgb2YgYWxsIGRwdV9kYmcgZmFjaWxpdGllcwotICogQHF1ZXVlX3dvcms6CSAg d2hldGhlciB0byBxdWV1ZSB0aGUgZHVtcGluZyB3b3JrIHRvIHRoZSB3b3JrX3N0cnVjdAotICog QG5hbWU6CSAgc3RyaW5nIGluZGljYXRpbmcgb3JpZ2luIG9mIGR1bXAKLSAqIEBkdW1wX2RiZ2J1 czogIGR1bXAgdGhlIGRwdSBkZWJ1ZyBidXMKLSAqIEBkdW1wX3ZiaWZfcnQ6IGR1bXAgdGhlIHZi aWYgcnQgYnVzCi0gKiBSZXR1cm5zOglub25lCi0gKi8KLXZvaWQgZHB1X2RiZ19kdW1wKGJvb2wg cXVldWVfd29yaywgY29uc3QgY2hhciAqbmFtZSwgYm9vbCBkdW1wX2RiZ2J1c19kcHUsCi0JCSAg Ym9vbCBkdW1wX2RiZ2J1c192YmlmX3J0KTsKLQotLyoqCi0gKiBkcHVfZGJnX3NldF9kcHVfdG9w X29mZnNldCAtIHNldCB0aGUgdGFyZ2V0IHNwZWNpZmljIG9mZnNldCBmcm9tIG1kc3MgYmFzZQot ICoJYWRkcmVzcyBvZiB0aGUgdG9wIHJlZ2lzdGVycy4gVXNlZCBmb3IgYWNjZXNzaW5nIGRlYnVn IGJ1cyBjb250cm9scy4KLSAqIEBibGtfb2ZmOiBvZmZzZXQgZnJvbSBtZHNzIGJhc2Ugb2YgdGhl IHRvcCBibG9jawotICovCi12b2lkIGRwdV9kYmdfc2V0X2RwdV90b3Bfb2Zmc2V0KHUzMiBibGtf b2ZmKTsKLQotI2Vsc2UKLQotc3RhdGljIGlubGluZSB2b2lkIGRwdV9kYmdfaW5pdF9kYmdfYnVz ZXModTMyIGh3dmVyc2lvbikKLXsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHB1X2RiZ19pbml0 KHN0cnVjdCBkZXZpY2UgKmRldikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBp bnQgZHB1X2RiZ19kZWJ1Z2ZzX3JlZ2lzdGVyKHN0cnVjdCBkZW50cnkgKmRlYnVnZnNfcm9vdCkK LXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGRwdV9kYmdfZGVzdHJveSh2 b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHB1X2RiZ19kdW1wKGJvb2wgcXVldWVf d29yaywgY29uc3QgY2hhciAqbmFtZSwKLQkJCQlib29sIGR1bXBfZGJnYnVzX2RwdSwgYm9vbCBk dW1wX2RiZ2J1c192YmlmX3J0KQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHB1X2RiZ19z ZXRfZHB1X3RvcF9vZmZzZXQodTMyIGJsa19vZmYpCi17Ci19Ci0KLSNlbmRpZiAvKiBkZWZpbmVk KENPTkZJR19ERUJVR19GUykgKi8KLQotCi0jZW5kaWYgLyogRFBVX0RCR19IXyAqLwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKaW5kZXggODJjNTVlZmI1MDBm Li41NTU5ZTVkNDAxNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Vu Y29kZXIuYwpAQCAtMTQ5NCwxMCArMTQ5NCw4IEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNvZGVyX2hl bHBlcl9od19yZXNldChzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5c19lbmMpCiAJCSAgICAg IGN0bC0+aWR4KTsKIAogCXJjID0gY3RsLT5vcHMucmVzZXQoY3RsKTsKLQlpZiAocmMpIHsKKwlp ZiAocmMpCiAJCURQVV9FUlJPUl9FTkMoZHB1X2VuYywgImN0bCAlZCByZXNldCBmYWlsdXJlXG4i LCAgY3RsLT5pZHgpOwotCQlkcHVfZGJnX2R1bXAoZmFsc2UsIF9fZnVuY19fLCB0cnVlLCB0cnVl KTsKLQl9CiAKIAlwaHlzX2VuYy0+ZW5hYmxlX3N0YXRlID0gRFBVX0VOQ19FTkFCTEVEOwogfQpA QCAtMTgzOCw3ICsxODM2LDcgQEAgdm9pZCBkcHVfZW5jb2Rlcl9wcmVwYXJlX2NvbW1pdChzdHJ1 Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMpCiB9CiAKICNpZmRlZiBDT05GSUdfREVCVUdfRlMKLXN0 YXRpYyBpbnQgX2RwdV9lbmNvZGVyX3N0YXR1c19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9p ZCAqZGF0YSkKK3N0YXRpYyBpbnQgZHB1X2VuY29kZXJfc3RhdHVzX3Nob3coc3RydWN0IHNlcV9m aWxlICpzLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0ICpkcHVfZW5j OwogCWludCBpOwpAQCAtMTg3NywxMSArMTg3NSw3IEBAIHN0YXRpYyBpbnQgX2RwdV9lbmNvZGVy X3N0YXR1c19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKIAlyZXR1cm4gMDsK IH0KIAotc3RhdGljIGludCBfZHB1X2VuY29kZXJfZGVidWdmc19zdGF0dXNfb3BlbihzdHJ1Y3Qg aW5vZGUgKmlub2RlLAotCQlzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gc2luZ2xlX29w ZW4oZmlsZSwgX2RwdV9lbmNvZGVyX3N0YXR1c19zaG93LCBpbm9kZS0+aV9wcml2YXRlKTsKLX0K K0RFRklORV9TSE9XX0FUVFJJQlVURShkcHVfZW5jb2Rlcl9zdGF0dXMpOwogCiBzdGF0aWMgaW50 IF9kcHVfZW5jb2Rlcl9pbml0X2RlYnVnZnMoc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jKQog ewpAQCAtMTg4OSwxNCArMTg4Myw2IEBAIHN0YXRpYyBpbnQgX2RwdV9lbmNvZGVyX2luaXRfZGVi dWdmcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMpCiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0 ZSAqcHJpdjsKIAlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttczsKIAlpbnQgaTsKLQotCXN0YXRpYyBj b25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGRlYnVnZnNfc3RhdHVzX2ZvcHMgPSB7Ci0JCS5v cGVuID0JCV9kcHVfZW5jb2Rlcl9kZWJ1Z2ZzX3N0YXR1c19vcGVuLAotCQkucmVhZCA9CQlzZXFf cmVhZCwKLQkJLmxsc2VlayA9CXNlcV9sc2VlaywKLQkJLnJlbGVhc2UgPQlzaW5nbGVfcmVsZWFz ZSwKLQl9OwotCiAJY2hhciBuYW1lW0RQVV9OQU1FX1NJWkVdOwogCiAJaWYgKCFkcm1fZW5jIHx8 ICFkcm1fZW5jLT5kZXYgfHwgIWRybV9lbmMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKQEAgLTE5MTcs OCArMTkwMyw4IEBAIHN0YXRpYyBpbnQgX2RwdV9lbmNvZGVyX2luaXRfZGVidWdmcyhzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmRybV9lbmMpCiAJCXJldHVybiAtRU5PTUVNOwogCiAJLyogZG9uJ3QgZXJy b3IgY2hlY2sgdGhlc2UgKi8KLQlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzdGF0dXMiLCAwNjAwLAot CQlkcHVfZW5jLT5kZWJ1Z2ZzX3Jvb3QsIGRwdV9lbmMsICZkZWJ1Z2ZzX3N0YXR1c19mb3BzKTsK KwlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzdGF0dXMiLCAwNjAwLCBkcHVfZW5jLT5kZWJ1Z2ZzX3Jv b3QsIGRwdV9lbmMsCisJCSZkcHVfZW5jb2Rlcl9zdGF0dXNfZm9wcyk7CiAKIAlmb3IgKGkgPSAw OyBpIDwgZHB1X2VuYy0+bnVtX3BoeXNfZW5jczsgaSsrKQogCQlpZiAoZHB1X2VuYy0+cGh5c19l bmNzW2ldICYmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf ZW5jb2Rlcl9waHlzX2NtZC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Vu Y29kZXJfcGh5c19jbWQuYwppbmRleCAyNGE5OGY0ZTFmNDQuLmIzN2EwOTkyZTMyNiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2Nt ZC5jCkBAIC0yNDMsNyArMjQzLDYgQEAgc3RhdGljIGludCBfZHB1X2VuY29kZXJfcGh5c19jbWRf aGFuZGxlX3BwZG9uZV90aW1lb3V0KAogCQkJICBhdG9taWNfcmVhZCgmcGh5c19lbmMtPnBlbmRp bmdfa2lja29mZl9jbnQpKTsKIAogCQlkcHVfZW5jb2Rlcl9oZWxwZXJfdW5yZWdpc3Rlcl9pcnEo cGh5c19lbmMsIElOVFJfSURYX1JEUFRSKTsKLQkJZHB1X2RiZ19kdW1wKGZhbHNlLCBfX2Z1bmNf XywgdHJ1ZSwgdHJ1ZSk7CiAJfQogCiAJYXRvbWljX2FkZF91bmxlc3MoJnBoeXNfZW5jLT5wZW5k aW5nX2tpY2tvZmZfY250LCAtMSwgMCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYwppbmRleCBiM2M2OGM0ZmNjOGUuLjlmYjc0 YTg3YmRmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Vu Y29kZXJfcGh5c192aWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf ZW5jb2Rlcl9waHlzX3ZpZC5jCkBAIC02MTMsNyArNjEzLDYgQEAgc3RhdGljIHZvaWQgZHB1X2Vu Y29kZXJfcGh5c192aWRfcHJlcGFyZV9mb3Jfa2lja29mZigKIAkJRFBVX0VSUk9SX1ZJREVOQyh2 aWRfZW5jLCAiY3RsICVkIHJlc2V0IGZhaWx1cmU6ICVkXG4iLAogCQkJCWN0bC0+aWR4LCByYyk7 CiAJCWRwdV9lbmNvZGVyX2hlbHBlcl91bnJlZ2lzdGVyX2lycShwaHlzX2VuYywgSU5UUl9JRFhf VlNZTkMpOwotCQlkcHVfZGJnX2R1bXAoZmFsc2UsIF9fZnVuY19fLCB0cnVlLCB0cnVlKTsKIAl9 CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19j dGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19jdGwuYwppbmRleCA4 ZmE2MDFhOWFiYmYuLjRhYWIwNDMzNWM2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2h3X2N0bC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9od19jdGwuYwpAQCAtMTMsNyArMTMsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5 Lmg+CiAjaW5jbHVkZSAiZHB1X2h3aW8uaCIKICNpbmNsdWRlICJkcHVfaHdfY3RsLmgiCi0jaW5j bHVkZSAiZHB1X2RiZy5oIgogI2luY2x1ZGUgImRwdV9rbXMuaCIKICNpbmNsdWRlICJkcHVfdHJh Y2UuaCIKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3 X2ludGYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19pbnRmLmMKaW5k ZXggOWM2YmJhMGFjN2MzLi42OTVkMjdhNzMwZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9od19pbnRmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2h3X2ludGYuYwpAQCAtMTMsNyArMTMsNiBAQAogI2luY2x1ZGUgImRwdV9o d2lvLmgiCiAjaW5jbHVkZSAiZHB1X2h3X2NhdGFsb2cuaCIKICNpbmNsdWRlICJkcHVfaHdfaW50 Zi5oIgotI2luY2x1ZGUgImRwdV9kYmcuaCIKICNpbmNsdWRlICJkcHVfa21zLmgiCiAKICNkZWZp bmUgSU5URl9USU1JTkdfRU5HSU5FX0VOICAgICAgICAgICAweDAwMApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfaHdfbG0uYwppbmRleCBkYmU0OGUwMDY0MTQuLmM3NmI1Y2M5NDlm YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMKQEAgLTE1LDcg KzE1LDYgQEAKICNpbmNsdWRlICJkcHVfaHdpby5oIgogI2luY2x1ZGUgImRwdV9od19sbS5oIgog I2luY2x1ZGUgImRwdV9od19tZHNzLmgiCi0jaW5jbHVkZSAiZHB1X2RiZy5oIgogI2luY2x1ZGUg ImRwdV9rbXMuaCIKIAogI2RlZmluZSBMTV9PUF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAg MHgwMApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Bp bmdwb25nLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcGluZ3Bvbmcu YwppbmRleCA1MmZjYTEzZGExNzYuLmNmYzkzODE2MDc4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Bpbmdwb25nLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Bpbmdwb25nLmMKQEAgLTE2LDcgKzE2LDYgQEAKICNp bmNsdWRlICJkcHVfaHdpby5oIgogI2luY2x1ZGUgImRwdV9od19jYXRhbG9nLmgiCiAjaW5jbHVk ZSAiZHB1X2h3X3Bpbmdwb25nLmgiCi0jaW5jbHVkZSAiZHB1X2RiZy5oIgogI2luY2x1ZGUgImRw dV9rbXMuaCIKICNpbmNsdWRlICJkcHVfdHJhY2UuaCIKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9od19zc3BwLmMKaW5kZXggODc0NTAxOGZmZGQ2Li44Mjk3OTYzZDJjNGMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19zc3BwLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYwpAQCAtMTQs NyArMTQsNiBAQAogI2luY2x1ZGUgImRwdV9od19jYXRhbG9nLmgiCiAjaW5jbHVkZSAiZHB1X2h3 X2xtLmgiCiAjaW5jbHVkZSAiZHB1X2h3X3NzcHAuaCIKLSNpbmNsdWRlICJkcHVfZGJnLmgiCiAj aW5jbHVkZSAiZHB1X2ttcy5oIgogCiAjZGVmaW5lIERQVV9GRVRDSF9DT05GSUdfUkVTRVRfVkFM VUUgICAweDAwMDAwMDg3CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfaHdfdG9wLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdG9w LmMKaW5kZXggYjg3ODEyNTZlMjFiLi5mN2UwZjY2MWE4YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od190b3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfaHdfdG9wLmMKQEAgLTEzLDcgKzEzLDYgQEAKICNpbmNsdWRlICJk cHVfaHdpby5oIgogI2luY2x1ZGUgImRwdV9od19jYXRhbG9nLmgiCiAjaW5jbHVkZSAiZHB1X2h3 X3RvcC5oIgotI2luY2x1ZGUgImRwdV9kYmcuaCIKICNpbmNsdWRlICJkcHVfa21zLmgiCiAKICNk ZWZpbmUgU1NQUF9TUEFSRSAgICAgICAgICAgICAgICAgICAgICAgIDB4MjgKQEAgLTM2MSw4ICsz NjAsNiBAQCBzdHJ1Y3QgZHB1X2h3X21kcCAqZHB1X2h3X21kcHRvcF9pbml0KGVudW0gZHB1X21k cCBpZHgsCiAJCWdvdG8gYmxrX2luaXRfZXJyb3I7CiAJfQogCi0JZHB1X2RiZ19zZXRfZHB1X3Rv cF9vZmZzZXQobWRwLT5ody5ibGtfb2ZmKTsKLQogCXJldHVybiBtZHA7CiAKIGJsa19pbml0X2Vy cm9yOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Zi aWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od192YmlmLmMKaW5kZXgg ZDQzOTA1NTI1ZjkyLi4zOGJmZDIyMmVkNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9od192YmlmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2h3X3ZiaWYuYwpAQCAtMTMsNyArMTMsNiBAQAogI2luY2x1ZGUgImRwdV9od2lv LmgiCiAjaW5jbHVkZSAiZHB1X2h3X2NhdGFsb2cuaCIKICNpbmNsdWRlICJkcHVfaHdfdmJpZi5o IgotI2luY2x1ZGUgImRwdV9kYmcuaCIKIAogI2RlZmluZSBWQklGX1ZFUlNJT04JCQkweDAwMDAK ICNkZWZpbmUgVkJJRl9DTEtfRk9SQ0VfQ1RSTDAJCTB4MDAwOApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2ttcy5jCmluZGV4IDk4NWM4NTU3OTZhZS4uZmQ1YmFkMTYzMzhkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCkBAIC0yNjYsMTIgKzI2Niw2IEBA IHN0YXRpYyBpbnQgX2RwdV9kZWJ1Z2ZzX2luaXQoc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMpCiAJ CXJldHVybiBQVFJfRVJSKGRwdV9rbXMtPmRlYnVnZnNfcm9vdCk7CiAJfQogCi0JcmMgPSBkcHVf ZGJnX2RlYnVnZnNfcmVnaXN0ZXIoZHB1X2ttcy0+ZGVidWdmc19yb290KTsKLQlpZiAocmMpIHsK LQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcmVnIGRwdSBkYmcgZGVidWdmczogJWRcbiIsIHJjKTsK LQkJcmV0dXJuIHJjOwotCX0KLQogCS8qIGFsbG93IHJvb3QgdG8gYmUgTlVMTCAqLwogCWRlYnVn ZnNfY3JlYXRlX3gzMihEUFVfREVCVUdGU19IV01BU0tOQU1FLCAwNjAwLCBkcHVfa21zLT5kZWJ1 Z2ZzX3Jvb3QsIHApOwogCkBAIC03MDUsNyArNjk5LDYgQEAgc3RhdGljIHZvaWQgZHB1X2ttc19k ZXN0cm95KHN0cnVjdCBtc21fa21zICprbXMpCiAKIAlkcHVfa21zID0gdG9fZHB1X2ttcyhrbXMp OwogCi0JZHB1X2RiZ19kZXN0cm95KCk7CiAJX2RwdV9rbXNfaHdfZGVzdHJveShkcHVfa21zKTsK IH0KIApAQCAtODY2LDE2ICs4NTksMTAgQEAgc3RhdGljIGludCBkcHVfa21zX2h3X2luaXQoc3Ry dWN0IG1zbV9rbXMgKmttcykKIAkJcmV0dXJuIHJjOwogCX0KIAotCXJjID0gZHB1X2RiZ19pbml0 KCZkcHVfa21zLT5wZGV2LT5kZXYpOwotCWlmIChyYykgewotCQlEUk1fRVJST1IoImZhaWxlZCB0 byBpbml0IGRwdSBkYmc6ICVkXG4iLCByYyk7Ci0JCXJldHVybiByYzsKLQl9Ci0KIAlwcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKIAlpZiAoIXByaXYpIHsKIAkJRFBVX0VSUk9SKCJpbnZhbGlkIHBy aXZhdGUgZGF0YVxuIik7Ci0JCWdvdG8gZGJnX2Rlc3Ryb3k7CisJCXJldHVybiByYzsKIAl9CiAK IAlkcHVfa21zLT5tbWlvID0gbXNtX2lvcmVtYXAoZHB1X2ttcy0+cGRldiwgIm1kcCIsICJtZHAi KTsKQEAgLTk0MCw4ICs5MjcsNiBAQCBzdGF0aWMgaW50IGRwdV9rbXNfaHdfaW5pdChzdHJ1Y3Qg bXNtX2ttcyAqa21zKQogCQlnb3RvIHBvd2VyX2Vycm9yOwogCX0KIAotCWRwdV9kYmdfaW5pdF9k YmdfYnVzZXMoZHB1X2ttcy0+Y29yZV9yZXYpOwotCiAJLyoKIAkgKiBOb3cgd2UgbmVlZCB0byBy ZWFkIHRoZSBIVyBjYXRhbG9nIGFuZCBpbml0aWFsaXplIHJlc291cmNlcyBzdWNoIGFzCiAJICog Y2xvY2tzLCByZWd1bGF0b3JzLCBHRFNDL01NQUdJQywgaW9yZW1hcCB0aGUgcmVnaXN0ZXIgcmFu Z2VzIGV0YwpAQCAtMTA0OCw4ICsxMDMzLDcgQEAgc3RhdGljIGludCBkcHVfa21zX2h3X2luaXQo c3RydWN0IG1zbV9rbXMgKmttcykKIAlwbV9ydW50aW1lX3B1dF9zeW5jKCZkcHVfa21zLT5wZGV2 LT5kZXYpOwogZXJyb3I6CiAJX2RwdV9rbXNfaHdfZGVzdHJveShkcHVfa21zKTsKLWRiZ19kZXN0 cm95OgotCWRwdV9kYmdfZGVzdHJveSgpOworCiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmggYi9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKaW5kZXggMmEzNjI1ZWVmNmQzLi4xMmEyZWI5MGU2 YjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKQEAgLTIzLDcgKzIz LDYgQEAKICNpbmNsdWRlICJtc21fa21zLmgiCiAjaW5jbHVkZSAibXNtX21tdS5oIgogI2luY2x1 ZGUgIm1zbV9nZW0uaCIKLSNpbmNsdWRlICJkcHVfZGJnLmgiCiAjaW5jbHVkZSAiZHB1X2h3X2Nh dGFsb2cuaCIKICNpbmNsdWRlICJkcHVfaHdfY3RsLmgiCiAjaW5jbHVkZSAiZHB1X2h3X2xtLmgi Ci0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVu bwo=