From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH] drm/amd/amdgpu: Drop print_status callbacks. Date: Mon, 2 May 2016 16:00:55 -0400 Message-ID: <1462219259-29806-43-git-send-email-alexander.deucher@amd.com> References: <1462219259-29806-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-x233.google.com (mail-qg0-x233.google.com [IPv6:2607:f8b0:400d:c04::233]) by gabe.freedesktop.org (Postfix) with ESMTPS id A4AC76E63A for ; Mon, 2 May 2016 20:01:32 +0000 (UTC) Received: by mail-qg0-x233.google.com with SMTP id w36so20307972qge.3 for ; Mon, 02 May 2016 13:01:32 -0700 (PDT) In-Reply-To: <1462219259-29806-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Tom St Denis , Alex Deucher List-Id: dri-devel@lists.freedesktop.org RnJvbTogVG9tIFN0IERlbmlzIDx0b20uc3RkZW5pc0BhbWQuY29tPgoKRmlyc3QgcGF0Y2ggaW4g c2VyaWVzIHRvIG1vdmUgdG8gdXNlciBtb2RlCmRlYnVnIHRvb2xzIHdlJ3JlIHJlbW92aW5nIHRo ZSBwcmludF9zdGF0dXMgY2FsbGJhY2tzLgoKVGhlc2UgZnVuY3Rpb25zIHdlcmUgdW51c2VkIGF0 IHRoZSBtb21lbnQgYW55d2F5LgoKU2lnbmVkLW9mZi1ieTogVG9tIFN0IERlbmlzIDx0b20uc3Rk ZW5pc0BhbWQuY29tPgpSZXZpZXdlZC1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hl ckBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVy QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FjcC5jICAg ICAgIHwgICA4IC0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wb3dlcnBsYXku YyB8ICAxMCAtCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaV9kcG0uYyAgICAgICAgICAg fCAyMTAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9j aWsuYyAgICAgICAgICAgICAgfCAgIDYgLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lr X2loLmMgICAgICAgICAgIHwgIDM0IC0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Np a19zZG1hLmMgICAgICAgICB8ICA1NiAtLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2N6X2RwbS5jICAgICAgICAgICB8ICAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9j el9paC5jICAgICAgICAgICAgfCAgMzQgLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv ZGNlX3YxMF8wLmMgICAgICAgIHwgIDEyIC0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjExXzAuYyAgICAgICAgfCAgMTIgLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Rj ZV92OF8wLmMgICAgICAgICB8ICAxMiAtLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZmlq aV9kcG0uYyAgICAgICAgIHwgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92 N18wLmMgICAgICAgICB8IDI1MyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYyAgICAgICAgIHwgMTgyIC0tLS0tLS0tLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYyAgICAgICAgIHwgMTEz IC0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAuYyAgICAg ICAgIHwgMTEwIC0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9pY2VsYW5k X2RwbS5jICAgICAgfCAgIDEgLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9p aC5jICAgICAgIHwgIDM0IC0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2t2X2RwbS5j ICAgICAgICAgICB8ICA1NyAtLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFf djJfNC5jICAgICAgICB8ICA1NCAtLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3Nk bWFfdjNfMC5jICAgICAgICB8ICA1NiAtLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L3RvbmdhX2RwbS5jICAgICAgICB8ICAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS90 b25nYV9paC5jICAgICAgICAgfCAgMzQgLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv dXZkX3Y0XzIuYyAgICAgICAgIHwgMTEyIC0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvdXZkX3Y1XzAuYyAgICAgICAgIHwgMTE1IC0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y2XzAuYyAgICAgICAgIHwgMTA3IC0tLS0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjJfMC5jICAgICAgICAgfCAgNzAgLS0tLS0t LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3YzXzAuYyAgICAgICAgIHwgIDY4IC0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMgICAgICAgICAgICAgICB8ICAg NiAtCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUvYW1kX3NoYXJlZC5oICAgICAgfCAgIDIg LQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5jIHwgICA1IC0K IDMxIGZpbGVzIGNoYW5nZWQsIDE3NzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FjcC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2FjcC5jCmluZGV4IGQ2YjBiZmYuLmRhNzY0ZTEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hY3AuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfYWNwLmMKQEAgLTQ2MywxMyArNDYzLDYgQEAgc3RhdGljIGlu dCBhY3Bfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2 b2lkIGFjcF9wcmludF9zdGF0dXModm9pZCAqaGFuZGxlKQotewotCXN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwotCi0JZGV2X2luZm8o YWRldi0+ZGV2LCAiQUNQIFNUQVRVU1xuIik7Ci19Ci0KIHN0YXRpYyBpbnQgYWNwX3NldF9jbG9j a2dhdGluZ19zdGF0ZSh2b2lkICpoYW5kbGUsCiAJCQkJICAgICBlbnVtIGFtZF9jbG9ja2dhdGlu Z19zdGF0ZSBzdGF0ZSkKIHsKQEAgLTQ5NCw3ICs0ODcsNiBAQCBjb25zdCBzdHJ1Y3QgYW1kX2lw X2Z1bmNzIGFjcF9pcF9mdW5jcyA9IHsKIAkuaXNfaWRsZSA9IGFjcF9pc19pZGxlLAogCS53YWl0 X2Zvcl9pZGxlID0gYWNwX3dhaXRfZm9yX2lkbGUsCiAJLnNvZnRfcmVzZXQgPSBhY3Bfc29mdF9y ZXNldCwKLQkucHJpbnRfc3RhdHVzID0gYWNwX3ByaW50X3N0YXR1cywKIAkuc2V0X2Nsb2NrZ2F0 aW5nX3N0YXRlID0gYWNwX3NldF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5n X3N0YXRlID0gYWNwX3NldF9wb3dlcmdhdGluZ19zdGF0ZSwKIH07CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG93ZXJwbGF5LmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfcG93ZXJwbGF5LmMKaW5kZXggZjMxNTk5NS4uYmU1NjU5NSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Bvd2VycGxheS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wb3dlcnBsYXkuYwpAQCAt MzAzLDE1ICszMDMsNiBAQCBzdGF0aWMgaW50IGFtZGdwdV9wcF9zb2Z0X3Jlc2V0KHZvaWQgKmhh bmRsZSkKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBhbWRncHVfcHBfcHJpbnRfc3Rh dHVzKHZvaWQgKmhhbmRsZSkKLXsKLQlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKLQotCWlmIChhZGV2LT5wb3dlcnBsYXkuaXBfZnVu Y3MtPnByaW50X3N0YXR1cykKLQkJYWRldi0+cG93ZXJwbGF5LmlwX2Z1bmNzLT5wcmludF9zdGF0 dXMoCi0JCQkJCWFkZXYtPnBvd2VycGxheS5wcF9oYW5kbGUpOwotfQotCiBjb25zdCBzdHJ1Y3Qg YW1kX2lwX2Z1bmNzIGFtZGdwdV9wcF9pcF9mdW5jcyA9IHsKIAkuZWFybHlfaW5pdCA9IGFtZGdw dV9wcF9lYXJseV9pbml0LAogCS5sYXRlX2luaXQgPSBhbWRncHVfcHBfbGF0ZV9pbml0LApAQCAt MzI0LDcgKzMxNSw2IEBAIGNvbnN0IHN0cnVjdCBhbWRfaXBfZnVuY3MgYW1kZ3B1X3BwX2lwX2Z1 bmNzID0gewogCS5pc19pZGxlID0gYW1kZ3B1X3BwX2lzX2lkbGUsCiAJLndhaXRfZm9yX2lkbGUg PSBhbWRncHVfcHBfd2FpdF9mb3JfaWRsZSwKIAkuc29mdF9yZXNldCA9IGFtZGdwdV9wcF9zb2Z0 X3Jlc2V0LAotCS5wcmludF9zdGF0dXMgPSBhbWRncHVfcHBfcHJpbnRfc3RhdHVzLAogCS5zZXRf Y2xvY2tnYXRpbmdfc3RhdGUgPSBhbWRncHVfcHBfc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlLAogCS5z ZXRfcG93ZXJnYXRpbmdfc3RhdGUgPSBhbWRncHVfcHBfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAog fTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2NpX2RwbS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lfZHBtLmMKaW5kZXggMWY5MTA5ZC4uOTBmODNiMiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lfZHBtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lfZHBtLmMKQEAgLTYzMDksMjE1ICs2MzA5LDYgQEAg c3RhdGljIGludCBjaV9kcG1fd2FpdF9mb3JfaWRsZSh2b2lkICpoYW5kbGUpCiAJcmV0dXJuIDA7 CiB9CiAKLXN0YXRpYyB2b2lkIGNpX2RwbV9wcmludF9zdGF0dXModm9pZCAqaGFuZGxlKQotewot CXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFu ZGxlOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiQ0lLIERQTSByZWdpc3RlcnNcbiIpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgQklPU19TQ1JBVENIXzQ9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tQklPU19TQ1JBVENIXzQpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX0FSQl9EUkFN X1RJTUlORz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19BUkJfRFJBTV9USU1JTkcpKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX0FSQl9EUkFNX1RJTUlORzI9MHglMDhYXG4iLAotCQkg UlJFRzMyKG1tTUNfQVJCX0RSQU1fVElNSU5HMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg TUNfQVJCX0JVUlNUX1RJTUU9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfQVJCX0JVUlNUX1RJ TUUpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX0FSQl9EUkFNX1RJTUlOR18xPTB4JTA4 WFxuIiwKLQkJIFJSRUczMihtbU1DX0FSQl9EUkFNX1RJTUlOR18xKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBNQ19BUkJfRFJBTV9USU1JTkcyXzE9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1t TUNfQVJCX0RSQU1fVElNSU5HMl8xKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNQ19DR19D T05GSUc9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfQ0dfQ09ORklHKSk7Ci0JZGV2X2luZm8o YWRldi0+ZGV2LCAiICBNQ19BUkJfQ0c9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfQVJCX0NH KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBESURUX1NRX0NUUkwwPTB4JTA4WFxuIiwKLQkJ IFJSRUczMl9ESURUKGl4RElEVF9TUV9DVFJMMCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg RElEVF9EQl9DVFJMMD0weCUwOFhcbiIsCi0JCSBSUkVHMzJfRElEVChpeERJRFRfREJfQ1RSTDAp KTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIERJRFRfVERfQ1RSTDA9MHglMDhYXG4iLAotCQkg UlJFRzMyX0RJRFQoaXhESURUX1REX0NUUkwwKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBE SURUX1RDUF9DVFJMMD0weCUwOFhcbiIsCi0JCSBSUkVHMzJfRElEVChpeERJRFRfVENQX0NUUkww KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDR19USEVSTUFMX0lOVD0weCUwOFhcbiIsCi0J CSBSUkVHMzJfU01DKGl4Q0dfVEhFUk1BTF9JTlQpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIg IENHX1RIRVJNQUxfQ1RSTD0weCUwOFhcbiIsCi0JCSBSUkVHMzJfU01DKGl4Q0dfVEhFUk1BTF9D VFJMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBHRU5FUkFMX1BXUk1HVD0weCUwOFhcbiIs Ci0JCSBSUkVHMzJfU01DKGl4R0VORVJBTF9QV1JNR1QpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIE1DX1NFUV9DTlRMXzM9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfU0VRX0NOVExfMykp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTENBQ19NQzBfQ05UTD0weCUwOFhcbiIsCi0JCSBS UkVHMzJfU01DKGl4TENBQ19NQzBfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTENB Q19NQzFfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzJfU01DKGl4TENBQ19NQzFfQ05UTCkpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTENBQ19DUExfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVH MzJfU01DKGl4TENBQ19DUExfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0NMS19Q V1JNR1RfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzJfU01DKGl4U0NMS19QV1JNR1RfQ05UTCkp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQklGX0xOQ05UX1JFU0VUPTB4JTA4WFxuIiwKLQkJ IFJSRUczMihtbUJJRl9MTkNOVF9SRVNFVCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgRklS TVdBUkVfRkxBR1M9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeEZJUk1XQVJFX0ZMQUdTKSk7 Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDR19TUExMX0ZVTkNfQ05UTD0weCUwOFhcbiIsCi0J CSBSUkVHMzJfU01DKGl4Q0dfU1BMTF9GVU5DX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIENHX1NQTExfRlVOQ19DTlRMXzI9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeENHX1NQ TExfRlVOQ19DTlRMXzIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENHX1NQTExfRlVOQ19D TlRMXzM9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeENHX1NQTExfRlVOQ19DTlRMXzMpKTsK LQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENHX1NQTExfRlVOQ19DTlRMXzQ9MHglMDhYXG4iLAot CQkgUlJFRzMyX1NNQyhpeENHX1NQTExfRlVOQ19DTlRMXzQpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIENHX1NQTExfU1BSRUFEX1NQRUNUUlVNPTB4JTA4WFxuIiwKLQkJIFJSRUczMl9TTUMo aXhDR19TUExMX1NQUkVBRF9TUEVDVFJVTSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ0df U1BMTF9TUFJFQURfU1BFQ1RSVU1fMj0weCUwOFhcbiIsCi0JCSBSUkVHMzJfU01DKGl4Q0dfU1BM TF9TUFJFQURfU1BFQ1RSVU1fMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgRExMX0NOVEw9 MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tRExMX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIE1DTEtfUFdSTUdUX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNMS19QV1JNR1Rf Q05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTVBMTF9BRF9GVU5DX0NOVEw9MHglMDhY XG4iLAotCQkgUlJFRzMyKG1tTVBMTF9BRF9GVU5DX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIE1QTExfRFFfRlVOQ19DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1QTExfRFFf RlVOQ19DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNUExMX0ZVTkNfQ05UTD0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1NUExMX0ZVTkNfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgTVBMTF9GVU5DX0NOVExfMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NUExMX0ZVTkNf Q05UTF8xKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNUExMX0ZVTkNfQ05UTF8yPTB4JTA4 WFxuIiwKLQkJIFJSRUczMihtbU1QTExfRlVOQ19DTlRMXzIpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIE1QTExfU1MxPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1QTExfU1MxKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBNUExMX1NTMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NUExM X1NTMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ0dfRElTUExBWV9HQVBfQ05UTD0weCUw OFhcbiIsCi0JCSBSUkVHMzJfU01DKGl4Q0dfRElTUExBWV9HQVBfQ05UTCkpOwotCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgQ0dfRElTUExBWV9HQVBfQ05UTDI9MHglMDhYXG4iLAotCQkgUlJFRzMy X1NNQyhpeENHX0RJU1BMQVlfR0FQX0NOVEwyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBD R19TVEFUSUNfU0NSRUVOX1BBUkFNRVRFUj0weCUwOFhcbiIsCi0JCSBSUkVHMzJfU01DKGl4Q0df U1RBVElDX1NDUkVFTl9QQVJBTUVURVIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENHX0ZS RVFfVFJBTl9WT1RJTkdfMD0weCUwOFhcbiIsCi0JCSBSUkVHMzJfU01DKGl4Q0dfRlJFUV9UUkFO X1ZPVElOR18wKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDR19GUkVRX1RSQU5fVk9USU5H XzE9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeENHX0ZSRVFfVFJBTl9WT1RJTkdfMSkpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ0dfRlJFUV9UUkFOX1ZPVElOR18yPTB4JTA4WFxuIiwK LQkJIFJSRUczMl9TTUMoaXhDR19GUkVRX1RSQU5fVk9USU5HXzIpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIENHX0ZSRVFfVFJBTl9WT1RJTkdfMz0weCUwOFhcbiIsCi0JCSBSUkVHMzJfU01D KGl4Q0dfRlJFUV9UUkFOX1ZPVElOR18zKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDR19G UkVRX1RSQU5fVk9USU5HXzQ9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeENHX0ZSRVFfVFJB Tl9WT1RJTkdfNCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ0dfRlJFUV9UUkFOX1ZPVElO R181PTB4JTA4WFxuIiwKLQkJIFJSRUczMl9TTUMoaXhDR19GUkVRX1RSQU5fVk9USU5HXzUpKTsK LQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENHX0ZSRVFfVFJBTl9WT1RJTkdfNj0weCUwOFhcbiIs Ci0JCSBSUkVHMzJfU01DKGl4Q0dfRlJFUV9UUkFOX1ZPVElOR182KSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBDR19GUkVRX1RSQU5fVk9USU5HXzc9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NN QyhpeENHX0ZSRVFfVFJBTl9WT1RJTkdfNykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgUkNV X1VDX0VWRU5UUz0weCUwOFhcbiIsCi0JCSBSUkVHMzJfU01DKGl4UkNVX1VDX0VWRU5UUykpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgRFBNX1RBQkxFXzQ3NT0weCUwOFhcbiIsCi0JCSBSUkVH MzJfU01DKGl4RFBNX1RBQkxFXzQ3NSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfU0VR X1JBU19USU1JTkdfTFA9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfU0VRX1JBU19USU1JTkdf TFApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1NFUV9SQVNfVElNSU5HPTB4JTA4WFxu IiwKLQkJIFJSRUczMihtbU1DX1NFUV9SQVNfVElNSU5HKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBNQ19TRVFfQ0FTX1RJTUlOR19MUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFf Q0FTX1RJTUlOR19MUCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfU0VRX0NBU19USU1J Tkc9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfU0VRX0NBU19USU1JTkcpKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIE1DX1NFUV9ETExfU1RCWV9MUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIo bW1NQ19TRVFfRExMX1NUQllfTFApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1NFUV9E TExfU1RCWT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFfRExMX1NUQlkpKTsKLQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIE1DX1NFUV9HNVBEWF9DTUQwX0xQPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbU1DX1NFUV9HNVBEWF9DTUQwX0xQKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBN Q19TRVFfRzVQRFhfQ01EMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFfRzVQRFhfQ01E MCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfU0VRX0c1UERYX0NNRDFfTFA9MHglMDhY XG4iLAotCQkgUlJFRzMyKG1tTUNfU0VRX0c1UERYX0NNRDFfTFApKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIE1DX1NFUV9HNVBEWF9DTUQxPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1DX1NF UV9HNVBEWF9DTUQxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNQ19TRVFfRzVQRFhfQ1RS TF9MUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFfRzVQRFhfQ1RSTF9MUCkpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfU0VRX0c1UERYX0NUUkw9MHglMDhYXG4iLAotCQkgUlJF RzMyKG1tTUNfU0VRX0c1UERYX0NUUkwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1NF UV9QTUdfRFZTX0NNRF9MUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFfUE1HX0RWU19D TURfTFApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1NFUV9QTUdfRFZTX0NNRD0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFfUE1HX0RWU19DTUQpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIE1DX1NFUV9QTUdfRFZTX0NUTF9MUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1N Q19TRVFfUE1HX0RWU19DVExfTFApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1NFUV9Q TUdfRFZTX0NUTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFfUE1HX0RWU19DVEwpKTsK LQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1NFUV9NSVNDX1RJTUlOR19MUD0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1NQ19TRVFfTUlTQ19USU1JTkdfTFApKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIE1DX1NFUV9NSVNDX1RJTUlORz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFf TUlTQ19USU1JTkcpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1NFUV9NSVNDX1RJTUlO RzJfTFA9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfU0VRX01JU0NfVElNSU5HMl9MUCkpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfU0VRX01JU0NfVElNSU5HMj0weCUwOFhcbiIsCi0J CSBSUkVHMzIobW1NQ19TRVFfTUlTQ19USU1JTkcyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBNQ19TRVFfUE1HX0NNRF9FTVJTX0xQPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1DX1NFUV9Q TUdfQ01EX0VNUlNfTFApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1BNR19DTURfRU1S Uz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19QTUdfQ01EX0VNUlMpKTsKLQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIE1DX1NFUV9QTUdfQ01EX01SU19MUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIo bW1NQ19TRVFfUE1HX0NNRF9NUlNfTFApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1BN R19DTURfTVJTPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1DX1BNR19DTURfTVJTKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBNQ19TRVFfUE1HX0NNRF9NUlMxX0xQPTB4JTA4WFxuIiwKLQkJ IFJSRUczMihtbU1DX1NFUV9QTUdfQ01EX01SUzFfTFApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIE1DX1BNR19DTURfTVJTMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19QTUdfQ01EX01S UzEpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1NFUV9XUl9DVExfRDBfTFA9MHglMDhY XG4iLAotCQkgUlJFRzMyKG1tTUNfU0VRX1dSX0NUTF9EMF9MUCkpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgTUNfU0VRX1dSX0NUTF9EMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFf V1JfQ1RMX0QwKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNQ19TRVFfV1JfQ1RMX0QxX0xQ PTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1DX1NFUV9XUl9DVExfRDFfTFApKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIE1DX1NFUV9XUl9DVExfRDE9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1t TUNfU0VRX1dSX0NUTF9EMSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfU0VRX1JEX0NU TF9EMF9MUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFfUkRfQ1RMX0QwX0xQKSk7Ci0J ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNQ19TRVFfUkRfQ1RMX0QwPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbU1DX1NFUV9SRF9DVExfRDApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1NF UV9SRF9DVExfRDFfTFA9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfU0VRX1JEX0NUTF9EMV9M UCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfU0VRX1JEX0NUTF9EMT0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1NQ19TRVFfUkRfQ1RMX0QxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBNQ19TRVFfUE1HX1RJTUlOR19MUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19TRVFfUE1H X1RJTUlOR19MUCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfU0VRX1BNR19USU1JTkc9 MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfU0VRX1BNR19USU1JTkcpKTsKLQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIE1DX1NFUV9QTUdfQ01EX01SUzJfTFA9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tTUNfU0VRX1BNR19DTURfTVJTMl9MUCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNf UE1HX0NNRF9NUlMyPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1DX1BNR19DTURfTVJTMikpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfU0VRX1dSX0NUTF8yX0xQPTB4JTA4WFxuIiwKLQkJ IFJSRUczMihtbU1DX1NFUV9XUl9DVExfMl9MUCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg TUNfU0VRX1dSX0NUTF8yPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1DX1NFUV9XUl9DVExfMikp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgUENJRV9MQ19TUEVFRF9DTlRMPTB4JTA4WFxuIiwK LQkJIFJSRUczMl9QQ0lFKGl4UENJRV9MQ19TUEVFRF9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBQQ0lFX0xDX0xJTktfV0lEVEhfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzJfUENJ RShpeFBDSUVfTENfTElOS19XSURUSF9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBT TUNfSU5EX0lOREVYXzA9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tU01DX0lORF9JTkRFWF8wKSk7 Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTTUNfSU5EX0RBVEFfMD0weCUwOFhcbiIsCi0JCSBS UkVHMzIobW1TTUNfSU5EX0RBVEFfMCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU01DX0lO RF9BQ0NFU1NfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1TTUNfSU5EX0FDQ0VTU19DTlRM KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTTUNfUkVTUF8wPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbVNNQ19SRVNQXzApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNNQ19NRVNTQUdF XzA9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tU01DX01FU1NBR0VfMCkpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgU01DX1NZU0NPTl9SRVNFVF9DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMl9T TUMoaXhTTUNfU1lTQ09OX1JFU0VUX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNN Q19TWVNDT05fQ0xPQ0tfQ05UTF8wPTB4JTA4WFxuIiwKLQkJIFJSRUczMl9TTUMoaXhTTUNfU1lT Q09OX0NMT0NLX0NOVExfMCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU01DX1NZU0NPTl9N SVNDX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeFNNQ19TWVNDT05fTUlTQ19DTlRM KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTTUNfUENfQz0weCUwOFhcbiIsCi0JCSBSUkVH MzJfU01DKGl4U01DX1BDX0MpKTsKLX0KLQogc3RhdGljIGludCBjaV9kcG1fc29mdF9yZXNldCh2 b2lkICpoYW5kbGUpCiB7CiAJcmV0dXJuIDA7CkBAIC02NjI1LDcgKzY0MTYsNiBAQCBjb25zdCBz dHJ1Y3QgYW1kX2lwX2Z1bmNzIGNpX2RwbV9pcF9mdW5jcyA9IHsKIAkuaXNfaWRsZSA9IGNpX2Rw bV9pc19pZGxlLAogCS53YWl0X2Zvcl9pZGxlID0gY2lfZHBtX3dhaXRfZm9yX2lkbGUsCiAJLnNv ZnRfcmVzZXQgPSBjaV9kcG1fc29mdF9yZXNldCwKLQkucHJpbnRfc3RhdHVzID0gY2lfZHBtX3By aW50X3N0YXR1cywKIAkuc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gY2lfZHBtX3NldF9jbG9ja2dh dGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gY2lfZHBtX3NldF9wb3dlcmdh dGluZ19zdGF0ZSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9j aWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5jCmluZGV4IDAwOTU5OGIuLmM2 MTI3ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5jCkBAIC0yMjE0LDExICsyMjE0LDYgQEAg c3RhdGljIGludCBjaWtfY29tbW9uX3dhaXRfZm9yX2lkbGUodm9pZCAqaGFuZGxlKQogCXJldHVy biAwOwogfQogCi1zdGF0aWMgdm9pZCBjaWtfY29tbW9uX3ByaW50X3N0YXR1cyh2b2lkICpoYW5k bGUpCi17Ci0KLX0KLQogc3RhdGljIGludCBjaWtfY29tbW9uX3NvZnRfcmVzZXQodm9pZCAqaGFu ZGxlKQogewogCS8qIFhYWCBoYXJkIHJlc2V0Pz8gKi8KQEAgLTIyNDksNyArMjI0NCw2IEBAIGNv bnN0IHN0cnVjdCBhbWRfaXBfZnVuY3MgY2lrX2NvbW1vbl9pcF9mdW5jcyA9IHsKIAkuaXNfaWRs ZSA9IGNpa19jb21tb25faXNfaWRsZSwKIAkud2FpdF9mb3JfaWRsZSA9IGNpa19jb21tb25fd2Fp dF9mb3JfaWRsZSwKIAkuc29mdF9yZXNldCA9IGNpa19jb21tb25fc29mdF9yZXNldCwKLQkucHJp bnRfc3RhdHVzID0gY2lrX2NvbW1vbl9wcmludF9zdGF0dXMsCiAJLnNldF9jbG9ja2dhdGluZ19z dGF0ZSA9IGNpa19jb21tb25fc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlLAogCS5zZXRfcG93ZXJnYXRp bmdfc3RhdGUgPSBjaWtfY29tbW9uX3NldF9wb3dlcmdhdGluZ19zdGF0ZSwKIH07CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2Npa19paC5jCmluZGV4IDMwYzliM2JlLi5mMmYxNGZlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9jaWtfaWguYwpAQCAtMzcyLDM1ICszNzIsNiBAQCBzdGF0aWMgaW50IGNp a19paF93YWl0X2Zvcl9pZGxlKHZvaWQgKmhhbmRsZSkKIAlyZXR1cm4gLUVUSU1FRE9VVDsKIH0K IAotc3RhdGljIHZvaWQgY2lrX2loX3ByaW50X3N0YXR1cyh2b2lkICpoYW5kbGUpCi17Ci0Jc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7 Ci0KLQlkZXZfaW5mbyhhZGV2LT5kZXYsICJDSUsgSUggcmVnaXN0ZXJzXG4iKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIFNSQk1fU1RBVFVTPTB4JTA4WFxuIiwKLQkJUlJFRzMyKG1tU1JCTV9T VEFUVVMpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNSQk1fU1RBVFVTMj0weCUwOFhcbiIs Ci0JCVJSRUczMihtbVNSQk1fU1RBVFVTMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgSU5U RVJSVVBUX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSU5URVJSVVBUX0NOVEwpKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIElOVEVSUlVQVF9DTlRMMj0weCUwOFhcbiIsCi0JCSBSUkVH MzIobW1JTlRFUlJVUFRfQ05UTDIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIElIX0NOVEw9 MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSUhfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgSUhfUkJfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JSF9SQl9DTlRMKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBJSF9SQl9CQVNFPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUlI X1JCX0JBU0UpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIElIX1JCX1dQVFJfQUREUl9MTz0w eCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JSF9SQl9XUFRSX0FERFJfTE8pKTsKLQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIElIX1JCX1dQVFJfQUREUl9IST0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1J SF9SQl9XUFRSX0FERFJfSEkpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIElIX1JCX1JQVFI9 MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSUhfUkJfUlBUUikpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgSUhfUkJfV1BUUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JSF9SQl9XUFRSKSk7Ci19 Ci0KIHN0YXRpYyBpbnQgY2lrX2loX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogewogCXN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwpA QCAtNDEyLDggKzM4Myw2IEBAIHN0YXRpYyBpbnQgY2lrX2loX3NvZnRfcmVzZXQodm9pZCAqaGFu ZGxlKQogCQlzcmJtX3NvZnRfcmVzZXQgfD0gU1JCTV9TT0ZUX1JFU0VUX19TT0ZUX1JFU0VUX0lI X01BU0s7CiAKIAlpZiAoc3JibV9zb2Z0X3Jlc2V0KSB7Ci0JCWNpa19paF9wcmludF9zdGF0dXMo KHZvaWQgKilhZGV2KTsKLQogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwogCQl0 bXAgfD0gc3JibV9zb2Z0X3Jlc2V0OwogCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJTUkJNX1NPRlRf UkVTRVQ9MHglMDhYXG4iLCB0bXApOwpAQCAtNDI4LDggKzM5Nyw2IEBAIHN0YXRpYyBpbnQgY2lr X2loX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCiAJCS8qIFdhaXQgYSBsaXR0bGUgZm9yIHRo aW5ncyB0byBzZXR0bGUgZG93biAqLwogCQl1ZGVsYXkoNTApOwotCi0JCWNpa19paF9wcmludF9z dGF0dXMoKHZvaWQgKilhZGV2KTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTQ1OSw3ICs0MjYsNiBA QCBjb25zdCBzdHJ1Y3QgYW1kX2lwX2Z1bmNzIGNpa19paF9pcF9mdW5jcyA9IHsKIAkuaXNfaWRs ZSA9IGNpa19paF9pc19pZGxlLAogCS53YWl0X2Zvcl9pZGxlID0gY2lrX2loX3dhaXRfZm9yX2lk bGUsCiAJLnNvZnRfcmVzZXQgPSBjaWtfaWhfc29mdF9yZXNldCwKLQkucHJpbnRfc3RhdHVzID0g Y2lrX2loX3ByaW50X3N0YXR1cywKIAkuc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gY2lrX2loX3Nl dF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gY2lrX2loX3Nl dF9wb3dlcmdhdGluZ19zdGF0ZSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9jaWtfc2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX3NkbWEu YwppbmRleCAzZWRmMjZhLi5iN2VkOWQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9jaWtfc2RtYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19z ZG1hLmMKQEAgLTEwNjQsNTcgKzEwNjQsNiBAQCBzdGF0aWMgaW50IGNpa19zZG1hX3dhaXRfZm9y X2lkbGUodm9pZCAqaGFuZGxlKQogCXJldHVybiAtRVRJTUVET1VUOwogfQogCi1zdGF0aWMgdm9p ZCBjaWtfc2RtYV9wcmludF9zdGF0dXModm9pZCAqaGFuZGxlKQotewotCWludCBpLCBqOwotCXN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxl OwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiQ0lLIFNETUEgcmVnaXN0ZXJzXG4iKTsKLQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIFNSQk1fU1RBVFVTMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1T UkJNX1NUQVRVUzIpKTsKLQlmb3IgKGkgPSAwOyBpIDwgYWRldi0+c2RtYS5udW1faW5zdGFuY2Vz OyBpKyspIHsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTRE1BJWRfU1RBVFVTX1JFRz0weCUw OFhcbiIsCi0JCQkgaSwgUlJFRzMyKG1tU0RNQTBfU1RBVFVTX1JFRyArIHNkbWFfb2Zmc2V0c1tp XSkpOwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNETUElZF9NRV9DTlRMPTB4JTA4WFxuIiwK LQkJCSBpLCBSUkVHMzIobW1TRE1BMF9GMzJfQ05UTCArIHNkbWFfb2Zmc2V0c1tpXSkpOwotCQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNETUElZF9DTlRMPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVH MzIobW1TRE1BMF9DTlRMICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgU0RNQSVkX1NFTV9JTkNPTVBMRVRFX1RJTUVSX0NOVEw9MHglMDhYXG4iLAotCQkJIGks IFJSRUczMihtbVNETUEwX1NFTV9JTkNPTVBMRVRFX1RJTUVSX0NOVEwgKyBzZG1hX29mZnNldHNb aV0pKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTRE1BJWRfU0VNX1dBSVRfRkFJTF9USU1F Ul9DTlRMPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIobW1TRE1BMF9TRU1fV0FJVF9GQUlMX1RJ TUVSX0NOVEwgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBT RE1BJWRfR0ZYX0lCX0NOVEw9MHglMDhYXG4iLAotCQkJIGksIFJSRUczMihtbVNETUEwX0dGWF9J Ql9DTlRMICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0RN QSVkX0dGWF9SQl9DTlRMPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIobW1TRE1BMF9HRlhfUkJf Q05UTCArIHNkbWFfb2Zmc2V0c1tpXSkpOwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNETUEl ZF9HRlhfUkJfUlBUUj0weCUwOFhcbiIsCi0JCQkgaSwgUlJFRzMyKG1tU0RNQTBfR0ZYX1JCX1JQ VFIgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTRE1BJWRf R0ZYX1JCX1dQVFI9MHglMDhYXG4iLAotCQkJIGksIFJSRUczMihtbVNETUEwX0dGWF9SQl9XUFRS ICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0RNQSVkX0dG WF9SQl9SUFRSX0FERFJfSEk9MHglMDhYXG4iLAotCQkJIGksIFJSRUczMihtbVNETUEwX0dGWF9S Ql9SUFRSX0FERFJfSEkgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBTRE1BJWRfR0ZYX1JCX1JQVFJfQUREUl9MTz0weCUwOFhcbiIsCi0JCQkgaSwgUlJFRzMy KG1tU0RNQTBfR0ZYX1JCX1JQVFJfQUREUl9MTyArIHNkbWFfb2Zmc2V0c1tpXSkpOwotCQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIFNETUElZF9HRlhfUkJfQkFTRT0weCUwOFhcbiIsCi0JCQkgaSwg UlJFRzMyKG1tU0RNQTBfR0ZYX1JCX0JBU0UgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2X2lu Zm8oYWRldi0+ZGV2LCAiICBTRE1BJWRfR0ZYX1JCX0JBU0VfSEk9MHglMDhYXG4iLAotCQkJIGks IFJSRUczMihtbVNETUEwX0dGWF9SQl9CQVNFX0hJICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgU0RNQSVkX1RJTElOR19DT05GSUc9MHglMDhYXG4iLAotCQkJ IGksIFJSRUczMihtbVNETUEwX1RJTElOR19DT05GSUcgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJ bXV0ZXhfbG9jaygmYWRldi0+c3JibV9tdXRleCk7Ci0JCWZvciAoaiA9IDA7IGogPCAxNjsgaisr KSB7Ci0JCQljaWtfc3JibV9zZWxlY3QoYWRldiwgMCwgMCwgMCwgaik7Ci0JCQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIFZNICVkOlxuIiwgaik7Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNE TUEwX0dGWF9WSVJUVUFMX0FERFI9MHglMDhYXG4iLAotCQkJCSBSUkVHMzIobW1TRE1BMF9HRlhf VklSVFVBTF9BRERSICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIFNETUEwX0dGWF9BUEUxX0NOVEw9MHglMDhYXG4iLAotCQkJCSBSUkVHMzIobW1TRE1BMF9H RlhfQVBFMV9DTlRMICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCX0KLQkJY2lrX3NyYm1fc2VsZWN0 KGFkZXYsIDAsIDAsIDAsIDApOwotCQltdXRleF91bmxvY2soJmFkZXYtPnNyYm1fbXV0ZXgpOwot CX0KLX0KLQogc3RhdGljIGludCBjaWtfc2RtYV9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIHsK IAl1MzIgc3JibV9zb2Z0X3Jlc2V0ID0gMDsKQEAgLTExMzcsOCArMTA4Niw2IEBAIHN0YXRpYyBp bnQgY2lrX3NkbWFfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiAJfQogCiAJaWYgKHNyYm1fc29m dF9yZXNldCkgewotCQljaWtfc2RtYV9wcmludF9zdGF0dXMoKHZvaWQgKilhZGV2KTsKLQogCQl0 bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwogCQl0bXAgfD0gc3JibV9zb2Z0X3Jlc2V0 OwogCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJTUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4iLCB0bXAp OwpAQCAtMTE1Myw4ICsxMTAwLDYgQEAgc3RhdGljIGludCBjaWtfc2RtYV9zb2Z0X3Jlc2V0KHZv aWQgKmhhbmRsZSkKIAogCQkvKiBXYWl0IGEgbGl0dGxlIGZvciB0aGluZ3MgdG8gc2V0dGxlIGRv d24gKi8KIAkJdWRlbGF5KDUwKTsKLQotCQljaWtfc2RtYV9wcmludF9zdGF0dXMoKHZvaWQgKilh ZGV2KTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTEyODksNyArMTIzNCw2IEBAIGNvbnN0IHN0cnVj dCBhbWRfaXBfZnVuY3MgY2lrX3NkbWFfaXBfZnVuY3MgPSB7CiAJLmlzX2lkbGUgPSBjaWtfc2Rt YV9pc19pZGxlLAogCS53YWl0X2Zvcl9pZGxlID0gY2lrX3NkbWFfd2FpdF9mb3JfaWRsZSwKIAku c29mdF9yZXNldCA9IGNpa19zZG1hX3NvZnRfcmVzZXQsCi0JLnByaW50X3N0YXR1cyA9IGNpa19z ZG1hX3ByaW50X3N0YXR1cywKIAkuc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gY2lrX3NkbWFfc2V0 X2Nsb2NrZ2F0aW5nX3N0YXRlLAogCS5zZXRfcG93ZXJnYXRpbmdfc3RhdGUgPSBjaWtfc2RtYV9z ZXRfcG93ZXJnYXRpbmdfc3RhdGUsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvY3pfZHBtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9kcG0uYwpp bmRleCBlN2VmMjI2Li5iZjE4NDdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9jel9kcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9kcG0uYwpA QCAtMjI0MSw3ICsyMjQxLDYgQEAgY29uc3Qgc3RydWN0IGFtZF9pcF9mdW5jcyBjel9kcG1faXBf ZnVuY3MgPSB7CiAJLmlzX2lkbGUgPSBOVUxMLAogCS53YWl0X2Zvcl9pZGxlID0gTlVMTCwKIAku c29mdF9yZXNldCA9IE5VTEwsCi0JLnByaW50X3N0YXR1cyA9IE5VTEwsCiAJLnNldF9jbG9ja2dh dGluZ19zdGF0ZSA9IGN6X2RwbV9zZXRfY2xvY2tnYXRpbmdfc3RhdGUsCiAJLnNldF9wb3dlcmdh dGluZ19zdGF0ZSA9IGN6X2RwbV9zZXRfcG93ZXJnYXRpbmdfc3RhdGUsCiB9OwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY3pfaWguYyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2N6X2loLmMKaW5kZXggYzc5NjM4Zi4uMjNiZDkxMiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY3pfaWguYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9jel9paC5jCkBAIC0zNTEsMzUgKzM1MSw2IEBAIHN0YXRpYyBpbnQgY3pfaWhfd2Fp dF9mb3JfaWRsZSh2b2lkICpoYW5kbGUpCiAJcmV0dXJuIC1FVElNRURPVVQ7CiB9CiAKLXN0YXRp YyB2b2lkIGN6X2loX3ByaW50X3N0YXR1cyh2b2lkICpoYW5kbGUpCi17Ci0Jc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Ci0KLQlkZXZf aW5mbyhhZGV2LT5kZXYsICJDWiBJSCByZWdpc3RlcnNcbiIpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgU1JCTV9TVEFUVVM9MHglMDhYXG4iLAotCQlSUkVHMzIobW1TUkJNX1NUQVRVUykpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU1JCTV9TVEFUVVMyPTB4JTA4WFxuIiwKLQkJUlJFRzMy KG1tU1JCTV9TVEFUVVMyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBJTlRFUlJVUFRfQ05U TD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JTlRFUlJVUFRfQ05UTCkpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgSU5URVJSVVBUX0NOVEwyPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUlOVEVS UlVQVF9DTlRMMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgSUhfQ05UTD0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1JSF9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBJSF9SQl9D TlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUlIX1JCX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIElIX1JCX0JBU0U9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSUhfUkJfQkFTRSkp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgSUhfUkJfV1BUUl9BRERSX0xPPTB4JTA4WFxuIiwK LQkJIFJSRUczMihtbUlIX1JCX1dQVFJfQUREUl9MTykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgSUhfUkJfV1BUUl9BRERSX0hJPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUlIX1JCX1dQVFJf QUREUl9ISSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgSUhfUkJfUlBUUj0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1JSF9SQl9SUFRSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBJSF9S Ql9XUFRSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUlIX1JCX1dQVFIpKTsKLX0KLQogc3RhdGlj IGludCBjel9paF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIHsKIAl1MzIgc3JibV9zb2Z0X3Jl c2V0ID0gMDsKQEAgLTM5MSw4ICszNjIsNiBAQCBzdGF0aWMgaW50IGN6X2loX3NvZnRfcmVzZXQo dm9pZCAqaGFuZGxlKQogCQkJCQkJU09GVF9SRVNFVF9JSCwgMSk7CiAKIAlpZiAoc3JibV9zb2Z0 X3Jlc2V0KSB7Ci0JCWN6X2loX3ByaW50X3N0YXR1cygodm9pZCAqKWFkZXYpOwotCiAJCXRtcCA9 IFJSRUczMihtbVNSQk1fU09GVF9SRVNFVCk7CiAJCXRtcCB8PSBzcmJtX3NvZnRfcmVzZXQ7CiAJ CWRldl9pbmZvKGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CkBA IC00MDcsOCArMzc2LDYgQEAgc3RhdGljIGludCBjel9paF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRs ZSkKIAogCQkvKiBXYWl0IGEgbGl0dGxlIGZvciB0aGluZ3MgdG8gc2V0dGxlIGRvd24gKi8KIAkJ dWRlbGF5KDUwKTsKLQotCQljel9paF9wcmludF9zdGF0dXMoKHZvaWQgKilhZGV2KTsKIAl9CiAK IAlyZXR1cm4gMDsKQEAgLTQ0MCw3ICs0MDcsNiBAQCBjb25zdCBzdHJ1Y3QgYW1kX2lwX2Z1bmNz IGN6X2loX2lwX2Z1bmNzID0gewogCS5pc19pZGxlID0gY3pfaWhfaXNfaWRsZSwKIAkud2FpdF9m b3JfaWRsZSA9IGN6X2loX3dhaXRfZm9yX2lkbGUsCiAJLnNvZnRfcmVzZXQgPSBjel9paF9zb2Z0 X3Jlc2V0LAotCS5wcmludF9zdGF0dXMgPSBjel9paF9wcmludF9zdGF0dXMsCiAJLnNldF9jbG9j a2dhdGluZ19zdGF0ZSA9IGN6X2loX3NldF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2Vy Z2F0aW5nX3N0YXRlID0gY3pfaWhfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMKaW5kZXggNmRlMmNlNTMuLmY3ZjY3ZjMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCkBAIC0zMTMwLDE0ICszMTMwLDYgQEAg c3RhdGljIGludCBkY2VfdjEwXzBfd2FpdF9mb3JfaWRsZSh2b2lkICpoYW5kbGUpCiAJcmV0dXJu IDA7CiB9CiAKLXN0YXRpYyB2b2lkIGRjZV92MTBfMF9wcmludF9zdGF0dXModm9pZCAqaGFuZGxl KQotewotCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNl ICopaGFuZGxlOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiRENFIDEwLnggcmVnaXN0ZXJzXG4i KTsKLQkvKiBYWFggdG9kbyAqLwotfQotCiBzdGF0aWMgaW50IGRjZV92MTBfMF9zb2Z0X3Jlc2V0 KHZvaWQgKmhhbmRsZSkKIHsKIAl1MzIgc3JibV9zb2Z0X3Jlc2V0ID0gMCwgdG1wOwpAQCAtMzE0 Nyw4ICszMTM5LDYgQEAgc3RhdGljIGludCBkY2VfdjEwXzBfc29mdF9yZXNldCh2b2lkICpoYW5k bGUpCiAJCXNyYm1fc29mdF9yZXNldCB8PSBTUkJNX1NPRlRfUkVTRVRfX1NPRlRfUkVTRVRfRENf TUFTSzsKIAogCWlmIChzcmJtX3NvZnRfcmVzZXQpIHsKLQkJZGNlX3YxMF8wX3ByaW50X3N0YXR1 cygodm9pZCAqKWFkZXYpOwotCiAJCXRtcCA9IFJSRUczMihtbVNSQk1fU09GVF9SRVNFVCk7CiAJ CXRtcCB8PSBzcmJtX3NvZnRfcmVzZXQ7CiAJCWRldl9pbmZvKGFkZXYtPmRldiwgIlNSQk1fU09G VF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CkBAIC0zMTYzLDcgKzMxNTMsNiBAQCBzdGF0aWMgaW50 IGRjZV92MTBfMF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAogCQkvKiBXYWl0IGEgbGl0dGxl IGZvciB0aGluZ3MgdG8gc2V0dGxlIGRvd24gKi8KIAkJdWRlbGF5KDUwKTsKLQkJZGNlX3YxMF8w X3ByaW50X3N0YXR1cygodm9pZCAqKWFkZXYpOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTM1MTIs NyArMzUwMSw2IEBAIGNvbnN0IHN0cnVjdCBhbWRfaXBfZnVuY3MgZGNlX3YxMF8wX2lwX2Z1bmNz ID0gewogCS5pc19pZGxlID0gZGNlX3YxMF8wX2lzX2lkbGUsCiAJLndhaXRfZm9yX2lkbGUgPSBk Y2VfdjEwXzBfd2FpdF9mb3JfaWRsZSwKIAkuc29mdF9yZXNldCA9IGRjZV92MTBfMF9zb2Z0X3Jl c2V0LAotCS5wcmludF9zdGF0dXMgPSBkY2VfdjEwXzBfcHJpbnRfc3RhdHVzLAogCS5zZXRfY2xv Y2tnYXRpbmdfc3RhdGUgPSBkY2VfdjEwXzBfc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlLAogCS5zZXRf cG93ZXJnYXRpbmdfc3RhdGUgPSBkY2VfdjEwXzBfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKaW5kZXggZDI4ODczYy4uZTRmM2Rj NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKQEAgLTMxOTMsMTQgKzMx OTMsNiBAQCBzdGF0aWMgaW50IGRjZV92MTFfMF93YWl0X2Zvcl9pZGxlKHZvaWQgKmhhbmRsZSkK IAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgZGNlX3YxMV8wX3ByaW50X3N0YXR1cyh2b2lk ICpoYW5kbGUpCi17Ci0Jc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdw dV9kZXZpY2UgKiloYW5kbGU7Ci0KLQlkZXZfaW5mbyhhZGV2LT5kZXYsICJEQ0UgMTAueCByZWdp c3RlcnNcbiIpOwotCS8qIFhYWCB0b2RvICovCi19Ci0KIHN0YXRpYyBpbnQgZGNlX3YxMV8wX3Nv ZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogewogCXUzMiBzcmJtX3NvZnRfcmVzZXQgPSAwLCB0bXA7 CkBAIC0zMjEwLDggKzMyMDIsNiBAQCBzdGF0aWMgaW50IGRjZV92MTFfMF9zb2Z0X3Jlc2V0KHZv aWQgKmhhbmRsZSkKIAkJc3JibV9zb2Z0X3Jlc2V0IHw9IFNSQk1fU09GVF9SRVNFVF9fU09GVF9S RVNFVF9EQ19NQVNLOwogCiAJaWYgKHNyYm1fc29mdF9yZXNldCkgewotCQlkY2VfdjExXzBfcHJp bnRfc3RhdHVzKCh2b2lkICopYWRldik7Ci0KIAkJdG1wID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JF U0VUKTsKIAkJdG1wIHw9IHNyYm1fc29mdF9yZXNldDsKIAkJZGV2X2luZm8oYWRldi0+ZGV2LCAi U1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKQEAgLTMyMjYsNyArMzIxNiw2IEBAIHN0 YXRpYyBpbnQgZGNlX3YxMV8wX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCiAJCS8qIFdhaXQg YSBsaXR0bGUgZm9yIHRoaW5ncyB0byBzZXR0bGUgZG93biAqLwogCQl1ZGVsYXkoNTApOwotCQlk Y2VfdjExXzBfcHJpbnRfc3RhdHVzKCh2b2lkICopYWRldik7CiAJfQogCXJldHVybiAwOwogfQpA QCAtMzU3NSw3ICszNTY0LDYgQEAgY29uc3Qgc3RydWN0IGFtZF9pcF9mdW5jcyBkY2VfdjExXzBf aXBfZnVuY3MgPSB7CiAJLmlzX2lkbGUgPSBkY2VfdjExXzBfaXNfaWRsZSwKIAkud2FpdF9mb3Jf aWRsZSA9IGRjZV92MTFfMF93YWl0X2Zvcl9pZGxlLAogCS5zb2Z0X3Jlc2V0ID0gZGNlX3YxMV8w X3NvZnRfcmVzZXQsCi0JLnByaW50X3N0YXR1cyA9IGRjZV92MTFfMF9wcmludF9zdGF0dXMsCiAJ LnNldF9jbG9ja2dhdGluZ19zdGF0ZSA9IGRjZV92MTFfMF9zZXRfY2xvY2tnYXRpbmdfc3RhdGUs CiAJLnNldF9wb3dlcmdhdGluZ19zdGF0ZSA9IGRjZV92MTFfMF9zZXRfcG93ZXJnYXRpbmdfc3Rh dGUsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKaW5kZXggZTU2YjU1ZC4u NDI5ZTk4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jCkBAIC0zMDM4LDE0 ICszMDM4LDYgQEAgc3RhdGljIGludCBkY2VfdjhfMF93YWl0X2Zvcl9pZGxlKHZvaWQgKmhhbmRs ZSkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgZGNlX3Y4XzBfcHJpbnRfc3RhdHVzKHZv aWQgKmhhbmRsZSkKLXsKLQlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqKWhhbmRsZTsKLQotCWRldl9pbmZvKGFkZXYtPmRldiwgIkRDRSA4LnggcmVn aXN0ZXJzXG4iKTsKLQkvKiBYWFggdG9kbyAqLwotfQotCiBzdGF0aWMgaW50IGRjZV92OF8wX3Nv ZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogewogCXUzMiBzcmJtX3NvZnRfcmVzZXQgPSAwLCB0bXA7 CkBAIC0zMDU1LDggKzMwNDcsNiBAQCBzdGF0aWMgaW50IGRjZV92OF8wX3NvZnRfcmVzZXQodm9p ZCAqaGFuZGxlKQogCQlzcmJtX3NvZnRfcmVzZXQgfD0gU1JCTV9TT0ZUX1JFU0VUX19TT0ZUX1JF U0VUX0RDX01BU0s7CiAKIAlpZiAoc3JibV9zb2Z0X3Jlc2V0KSB7Ci0JCWRjZV92OF8wX3ByaW50 X3N0YXR1cygodm9pZCAqKWFkZXYpOwotCiAJCXRtcCA9IFJSRUczMihtbVNSQk1fU09GVF9SRVNF VCk7CiAJCXRtcCB8PSBzcmJtX3NvZnRfcmVzZXQ7CiAJCWRldl9pbmZvKGFkZXYtPmRldiwgIlNS Qk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CkBAIC0zMDcxLDcgKzMwNjEsNiBAQCBzdGF0 aWMgaW50IGRjZV92OF8wX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCiAJCS8qIFdhaXQgYSBs aXR0bGUgZm9yIHRoaW5ncyB0byBzZXR0bGUgZG93biAqLwogCQl1ZGVsYXkoNTApOwotCQlkY2Vf djhfMF9wcmludF9zdGF0dXMoKHZvaWQgKilhZGV2KTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC0z NDQyLDcgKzM0MzEsNiBAQCBjb25zdCBzdHJ1Y3QgYW1kX2lwX2Z1bmNzIGRjZV92OF8wX2lwX2Z1 bmNzID0gewogCS5pc19pZGxlID0gZGNlX3Y4XzBfaXNfaWRsZSwKIAkud2FpdF9mb3JfaWRsZSA9 IGRjZV92OF8wX3dhaXRfZm9yX2lkbGUsCiAJLnNvZnRfcmVzZXQgPSBkY2VfdjhfMF9zb2Z0X3Jl c2V0LAotCS5wcmludF9zdGF0dXMgPSBkY2VfdjhfMF9wcmludF9zdGF0dXMsCiAJLnNldF9jbG9j a2dhdGluZ19zdGF0ZSA9IGRjZV92OF8wX3NldF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bv d2VyZ2F0aW5nX3N0YXRlID0gZGNlX3Y4XzBfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2ZpamlfZHBtLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9maWppX2RwbS5jCmluZGV4IDRiMGU0NWEuLjZkMTMzNDUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2ZpamlfZHBtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZmlqaV9kcG0uYwpAQCAtMTU0LDcgKzE1NCw2IEBAIGNv bnN0IHN0cnVjdCBhbWRfaXBfZnVuY3MgZmlqaV9kcG1faXBfZnVuY3MgPSB7CiAJLmlzX2lkbGUg PSBOVUxMLAogCS53YWl0X2Zvcl9pZGxlID0gTlVMTCwKIAkuc29mdF9yZXNldCA9IE5VTEwsCi0J LnByaW50X3N0YXR1cyA9IE5VTEwsCiAJLnNldF9jbG9ja2dhdGluZ19zdGF0ZSA9IGZpamlfZHBt X3NldF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gZmlqaV9k cG1fc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2dmeF92N18wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhf djdfMC5jCmluZGV4IDg2NjU3ZTMuLjY2ODZjOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2dmeF92N18wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z2Z4X3Y3XzAuYwpAQCAtNDU3MiwyNTYgKzQ1NzIsNiBAQCBzdGF0aWMgaW50IGdmeF92N18wX3dh aXRfZm9yX2lkbGUodm9pZCAqaGFuZGxlKQogCXJldHVybiAtRVRJTUVET1VUOwogfQogCi1zdGF0 aWMgdm9pZCBnZnhfdjdfMF9wcmludF9zdGF0dXModm9pZCAqaGFuZGxlKQotewotCWludCBpOwot CXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFu ZGxlOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiR0ZYIDcueCByZWdpc3RlcnNcbiIpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgR1JCTV9TVEFUVVM9MHglMDhYXG4iLAotCQlSUkVHMzIobW1H UkJNX1NUQVRVUykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgR1JCTV9TVEFUVVMyPTB4JTA4 WFxuIiwKLQkJUlJFRzMyKG1tR1JCTV9TVEFUVVMyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBHUkJNX1NUQVRVU19TRTA9MHglMDhYXG4iLAotCQlSUkVHMzIobW1HUkJNX1NUQVRVU19TRTAp KTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIEdSQk1fU1RBVFVTX1NFMT0weCUwOFhcbiIsCi0J CVJSRUczMihtbUdSQk1fU1RBVFVTX1NFMSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgR1JC TV9TVEFUVVNfU0UyPTB4JTA4WFxuIiwKLQkJUlJFRzMyKG1tR1JCTV9TVEFUVVNfU0UyKSk7Ci0J ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBHUkJNX1NUQVRVU19TRTM9MHglMDhYXG4iLAotCQlSUkVH MzIobW1HUkJNX1NUQVRVU19TRTMpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1NUQVQg PSAweCUwOHhcbiIsIFJSRUczMihtbUNQX1NUQVQpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIg IENQX1NUQUxMRURfU1RBVDEgPSAweCUwOHhcbiIsCi0JCSBSUkVHMzIobW1DUF9TVEFMTEVEX1NU QVQxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9TVEFMTEVEX1NUQVQyID0gMHglMDh4 XG4iLAotCQkgUlJFRzMyKG1tQ1BfU1RBTExFRF9TVEFUMikpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgQ1BfU1RBTExFRF9TVEFUMyA9IDB4JTA4eFxuIiwKLQkJIFJSRUczMihtbUNQX1NUQUxM RURfU1RBVDMpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX0NQRl9CVVNZX1NUQVQgPSAw eCUwOHhcbiIsCi0JCSBSUkVHMzIobW1DUF9DUEZfQlVTWV9TVEFUKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBDUF9DUEZfU1RBTExFRF9TVEFUMSA9IDB4JTA4eFxuIiwKLQkJIFJSRUczMiht bUNQX0NQRl9TVEFMTEVEX1NUQVQxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9DUEZf U1RBVFVTID0gMHglMDh4XG4iLCBSUkVHMzIobW1DUF9DUEZfU1RBVFVTKSk7Ci0JZGV2X2luZm8o YWRldi0+ZGV2LCAiICBDUF9DUENfQlVTWV9TVEFUID0gMHglMDh4XG4iLCBSUkVHMzIobW1DUF9D UENfQlVTWV9TVEFUKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9DUENfU1RBTExFRF9T VEFUMSA9IDB4JTA4eFxuIiwKLQkJIFJSRUczMihtbUNQX0NQQ19TVEFMTEVEX1NUQVQxKSk7Ci0J ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9DUENfU1RBVFVTID0gMHglMDh4XG4iLCBSUkVHMzIo bW1DUF9DUENfU1RBVFVTKSk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykgewotCQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIEdCX1RJTEVfTU9ERSVkPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVH MzIobW1HQl9USUxFX01PREUwICsgKGkgKiA0KSkpOwotCX0KLQlmb3IgKGkgPSAwOyBpIDwgMTY7 IGkrKykgewotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIEdCX01BQ1JPVElMRV9NT0RFJWQ9MHgl MDhYXG4iLAotCQkJIGksIFJSRUczMihtbUdCX01BQ1JPVElMRV9NT0RFMCArIChpICogNCkpKTsK LQl9Ci0JZm9yIChpID0gMDsgaSA8IGFkZXYtPmdmeC5jb25maWcubWF4X3NoYWRlcl9lbmdpbmVz OyBpKyspIHsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBzZTogJWRcbiIsIGkpOwotCQlnZnhf djdfMF9zZWxlY3Rfc2Vfc2goYWRldiwgaSwgMHhmZmZmZmZmZik7Ci0JCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgUEFfU0NfUkFTVEVSX0NPTkZJRz0weCUwOFhcbiIsCi0JCQkgUlJFRzMyKG1tUEFf U0NfUkFTVEVSX0NPTkZJRykpOwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFBBX1NDX1JBU1RF Ul9DT05GSUdfMT0weCUwOFhcbiIsCi0JCQkgUlJFRzMyKG1tUEFfU0NfUkFTVEVSX0NPTkZJR18x KSk7Ci0JfQotCWdmeF92N18wX3NlbGVjdF9zZV9zaChhZGV2LCAweGZmZmZmZmZmLCAweGZmZmZm ZmZmKTsKLQotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgR0JfQUREUl9DT05GSUc9MHglMDhYXG4i LAotCQkgUlJFRzMyKG1tR0JfQUREUl9DT05GSUcpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIg IEhEUF9BRERSX0NPTkZJRz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1IRFBfQUREUl9DT05GSUcp KTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIERNSUZfQUREUl9DQUxDPTB4JTA4WFxuIiwKLQkJ IFJSRUczMihtbURNSUZfQUREUl9DQUxDKSk7Ci0KLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQ X01FUV9USFJFU0hPTERTPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUNQX01FUV9USFJFU0hPTERT KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTWF9ERUJVR18xPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbVNYX0RFQlVHXzEpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFRBX0NOVExfQVVY PTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVRBX0NOVExfQVVYKSk7Ci0JZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBTUElfQ09ORklHX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tU1BJX0NPTkZJ R19DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTUV9DT05GSUc9MHglMDhYXG4iLAot CQkgUlJFRzMyKG1tU1FfQ09ORklHKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBEQl9ERUJV Rz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1EQl9ERUJVRykpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgREJfREVCVUcyPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbURCX0RFQlVHMikpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgREJfREVCVUczPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbURC X0RFQlVHMykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ0JfSFdfQ09OVFJPTD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1DQl9IV19DT05UUk9MKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBTUElfQ09ORklHX0NOVExfMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1TUElfQ09ORklHX0NO VExfMSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgUEFfU0NfRklGT19TSVpFPTB4JTA4WFxu IiwKLQkJIFJSRUczMihtbVBBX1NDX0ZJRk9fU0laRSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVkdUX05VTV9JTlNUQU5DRVM9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkdUX05VTV9JTlNU QU5DRVMpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1BFUkZNT05fQ05UTD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1DUF9QRVJGTU9OX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIFBBX1NDX0ZPUkNFX0VPVl9NQVhfQ05UUz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1QQV9T Q19GT1JDRV9FT1ZfTUFYX0NOVFMpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZHVF9DQUNI RV9JTlZBTElEQVRJT049MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkdUX0NBQ0hFX0lOVkFMSURB VElPTikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkdUX0dTX1ZFUlRFWF9SRVVTRT0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1WR1RfR1NfVkVSVEVYX1JFVVNFKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBQQV9TQ19MSU5FX1NUSVBQTEVfU1RBVEU9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tUEFfU0NfTElORV9TVElQUExFX1NUQVRFKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBQ QV9DTF9FTkhBTkNFPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVBBX0NMX0VOSEFOQ0UpKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIFBBX1NDX0VOSEFOQ0U9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tUEFfU0NfRU5IQU5DRSkpOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9NRV9DTlRM PTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUNQX01FX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIENQX01BWF9DT05URVhUPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUNQX01BWF9DT05U RVhUKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9FTkRJQU5fU1dBUD0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1DUF9FTkRJQU5fU1dBUCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg Q1BfREVWSUNFX0lEPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUNQX0RFVklDRV9JRCkpOwotCi0J ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9TRU1fV0FJVF9USU1FUj0weCUwOFhcbiIsCi0JCSBS UkVHMzIobW1DUF9TRU1fV0FJVF9USU1FUikpOwotCWlmIChhZGV2LT5hc2ljX3R5cGUgIT0gQ0hJ UF9IQVdBSUkpCi0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ1BfU0VNX0lOQ09NUExFVEVfVElN RVJfQ05UTD0weCUwOFhcbiIsCi0JCQkgUlJFRzMyKG1tQ1BfU0VNX0lOQ09NUExFVEVfVElNRVJf Q05UTCkpOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9SQl9XUFRSX0RFTEFZPTB4JTA4 WFxuIiwKLQkJIFJSRUczMihtbUNQX1JCX1dQVFJfREVMQVkpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIENQX1JCX1ZNSUQ9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tQ1BfUkJfVk1JRCkpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ1BfUkIwX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tQ1BfUkIwX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1JCMF9XUFRSPTB4 JTA4WFxuIiwKLQkJIFJSRUczMihtbUNQX1JCMF9XUFRSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBDUF9SQjBfUlBUUl9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUNQX1JCMF9SUFRS X0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1JCMF9SUFRSX0FERFJfSEk9MHgl MDhYXG4iLAotCQkgUlJFRzMyKG1tQ1BfUkIwX1JQVFJfQUREUl9ISSkpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgQ1BfUkIwX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tQ1BfUkIwX0NO VEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1JCMF9CQVNFPTB4JTA4WFxuIiwKLQkJ IFJSRUczMihtbUNQX1JCMF9CQVNFKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9SQjBf QkFTRV9IST0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1DUF9SQjBfQkFTRV9ISSkpOwotCWRldl9p bmZvKGFkZXYtPmRldiwgIiAgQ1BfTUVDX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tQ1Bf TUVDX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX0NQRl9ERUJVRz0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1DUF9DUEZfREVCVUcpKTsKLQotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgU0NSQVRDSF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVNDUkFUQ0hfQUREUikpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0NSQVRDSF9VTVNLPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbVNDUkFUQ0hfVU1TSykpOwotCi0JLyogaW5pdCB0aGUgcGlwZXMgKi8KLQltdXRleF9sb2Nr KCZhZGV2LT5zcmJtX211dGV4KTsKLQlmb3IgKGkgPSAwOyBpIDwgKGFkZXYtPmdmeC5tZWMubnVt X3BpcGUgKiBhZGV2LT5nZngubWVjLm51bV9tZWMpOyBpKyspIHsKLQkJaW50IG1lID0gKGkgPCA0 KSA/IDEgOiAyOwotCQlpbnQgcGlwZSA9IChpIDwgNCkgPyBpIDogKGkgLSA0KTsKLQkJaW50IHF1 ZXVlOwotCi0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgbWU6ICVkLCBwaXBlOiAlZFxuIiwgbWUs IHBpcGUpOwotCQljaWtfc3JibV9zZWxlY3QoYWRldiwgbWUsIHBpcGUsIDAsIDApOwotCQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIENQX0hQRF9FT1BfQkFTRV9BRERSPTB4JTA4WFxuIiwKLQkJCSBS UkVHMzIobW1DUF9IUERfRU9QX0JBU0VfQUREUikpOwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIg IENQX0hQRF9FT1BfQkFTRV9BRERSX0hJPTB4JTA4WFxuIiwKLQkJCSBSUkVHMzIobW1DUF9IUERf RU9QX0JBU0VfQUREUl9ISSkpOwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX0hQRF9FT1Bf Vk1JRD0weCUwOFhcbiIsCi0JCQkgUlJFRzMyKG1tQ1BfSFBEX0VPUF9WTUlEKSk7Ci0JCWRldl9p bmZvKGFkZXYtPmRldiwgIiAgQ1BfSFBEX0VPUF9DT05UUk9MPTB4JTA4WFxuIiwKLQkJCSBSUkVH MzIobW1DUF9IUERfRU9QX0NPTlRST0wpKTsKLQotCQlmb3IgKHF1ZXVlID0gMDsgcXVldWUgPCA4 OyBxdWV1ZSsrKSB7Ci0JCQljaWtfc3JibV9zZWxlY3QoYWRldiwgbWUsIHBpcGUsIHF1ZXVlLCAw KTsKLQkJCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgcXVldWU6ICVkXG4iLCBxdWV1ZSk7Ci0JCQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1BRX1dQVFJfUE9MTF9DTlRMPTB4JTA4WFxuIiwKLQkJ CQkgUlJFRzMyKG1tQ1BfUFFfV1BUUl9QT0xMX0NOVEwpKTsKLQkJCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgQ1BfSFFEX1BRX0RPT1JCRUxMX0NPTlRST0w9MHglMDhYXG4iLAotCQkJCSBSUkVHMzIo bW1DUF9IUURfUFFfRE9PUkJFTExfQ09OVFJPTCkpOwotCQkJZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBDUF9IUURfQUNUSVZFPTB4JTA4WFxuIiwKLQkJCQkgUlJFRzMyKG1tQ1BfSFFEX0FDVElWRSkp OwotCQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9IUURfREVRVUVVRV9SRVFVRVNUPTB4JTA4 WFxuIiwKLQkJCQkgUlJFRzMyKG1tQ1BfSFFEX0RFUVVFVUVfUkVRVUVTVCkpOwotCQkJZGV2X2lu Zm8oYWRldi0+ZGV2LCAiICBDUF9IUURfUFFfUlBUUj0weCUwOFhcbiIsCi0JCQkJIFJSRUczMiht bUNQX0hRRF9QUV9SUFRSKSk7Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX0hRRF9QUV9X UFRSPTB4JTA4WFxuIiwKLQkJCQkgUlJFRzMyKG1tQ1BfSFFEX1BRX1dQVFIpKTsKLQkJCWRldl9p bmZvKGFkZXYtPmRldiwgIiAgQ1BfSFFEX1BRX0JBU0U9MHglMDhYXG4iLAotCQkJCSBSUkVHMzIo bW1DUF9IUURfUFFfQkFTRSkpOwotCQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9IUURfUFFf QkFTRV9IST0weCUwOFhcbiIsCi0JCQkJIFJSRUczMihtbUNQX0hRRF9QUV9CQVNFX0hJKSk7Ci0J CQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX0hRRF9QUV9DT05UUk9MPTB4JTA4WFxuIiwKLQkJ CQkgUlJFRzMyKG1tQ1BfSFFEX1BRX0NPTlRST0wpKTsKLQkJCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgQ1BfSFFEX1BRX1dQVFJfUE9MTF9BRERSPTB4JTA4WFxuIiwKLQkJCQkgUlJFRzMyKG1tQ1Bf SFFEX1BRX1dQVFJfUE9MTF9BRERSKSk7Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX0hR RF9QUV9XUFRSX1BPTExfQUREUl9IST0weCUwOFhcbiIsCi0JCQkJIFJSRUczMihtbUNQX0hRRF9Q UV9XUFRSX1BPTExfQUREUl9ISSkpOwotCQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9IUURf UFFfUlBUUl9SRVBPUlRfQUREUj0weCUwOFhcbiIsCi0JCQkJIFJSRUczMihtbUNQX0hRRF9QUV9S UFRSX1JFUE9SVF9BRERSKSk7Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX0hRRF9QUV9S UFRSX1JFUE9SVF9BRERSX0hJPTB4JTA4WFxuIiwKLQkJCQkgUlJFRzMyKG1tQ1BfSFFEX1BRX1JQ VFJfUkVQT1JUX0FERFJfSEkpKTsKLQkJCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ1BfSFFEX1BR X0RPT1JCRUxMX0NPTlRST0w9MHglMDhYXG4iLAotCQkJCSBSUkVHMzIobW1DUF9IUURfUFFfRE9P UkJFTExfQ09OVFJPTCkpOwotCQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9IUURfUFFfV1BU Uj0weCUwOFhcbiIsCi0JCQkJIFJSRUczMihtbUNQX0hRRF9QUV9XUFRSKSk7Ci0JCQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIENQX0hRRF9WTUlEPTB4JTA4WFxuIiwKLQkJCQkgUlJFRzMyKG1tQ1Bf SFFEX1ZNSUQpKTsKLQkJCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ1BfTVFEX0JBU0VfQUREUj0w eCUwOFhcbiIsCi0JCQkJIFJSRUczMihtbUNQX01RRF9CQVNFX0FERFIpKTsKLQkJCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgQ1BfTVFEX0JBU0VfQUREUl9IST0weCUwOFhcbiIsCi0JCQkJIFJSRUcz MihtbUNQX01RRF9CQVNFX0FERFJfSEkpKTsKLQkJCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ1Bf TVFEX0NPTlRST0w9MHglMDhYXG4iLAotCQkJCSBSUkVHMzIobW1DUF9NUURfQ09OVFJPTCkpOwot CQl9Ci0JfQotCWNpa19zcmJtX3NlbGVjdChhZGV2LCAwLCAwLCAwLCAwKTsKLQltdXRleF91bmxv Y2soJmFkZXYtPnNyYm1fbXV0ZXgpOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9JTlRf Q05UTF9SSU5HMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1DUF9JTlRfQ05UTF9SSU5HMCkpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgUkxDX0xCX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tUkxDX0xCX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFJMQ19DTlRMPTB4JTA4 WFxuIiwKLQkJIFJSRUczMihtbVJMQ19DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBS TENfQ0dDR19DR0xTX0NUUkw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tUkxDX0NHQ0dfQ0dMU19D VFJMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBSTENfTEJfQ05UUl9JTklUPTB4JTA4WFxu IiwKLQkJIFJSRUczMihtbVJMQ19MQl9DTlRSX0lOSVQpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIFJMQ19MQl9DTlRSX01BWD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1STENfTEJfQ05UUl9N QVgpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFJMQ19MQl9JTklUX0NVX01BU0s9MHglMDhY XG4iLAotCQkgUlJFRzMyKG1tUkxDX0xCX0lOSVRfQ1VfTUFTSykpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgUkxDX0xCX1BBUkFNUz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1STENfTEJfUEFS QU1TKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBSTENfTEJfQ05UTD0weCUwOFhcbiIsCi0J CSBSUkVHMzIobW1STENfTEJfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgUkxDX01D X0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tUkxDX01DX0NOVEwpKTsKLQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIFJMQ19VQ09ERV9DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVJMQ19V Q09ERV9DTlRMKSk7Ci0KLQlpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfQk9OQUlSRSkKLQkJ ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBSTENfRFJJVkVSX0NQRE1BX1NUQVRVUz0weCUwOFhcbiIs Ci0JCQkgUlJFRzMyKG1tUkxDX0RSSVZFUl9DUERNQV9TVEFUVVMpKTsKLQotCW11dGV4X2xvY2so JmFkZXYtPnNyYm1fbXV0ZXgpOwotCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7Ci0JCWNpa19z cmJtX3NlbGVjdChhZGV2LCAwLCAwLCAwLCBpKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBW TSAlZDpcbiIsIGkpOwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNIX01FTV9DT05GSUc9MHgl MDhYXG4iLAotCQkJIFJSRUczMihtbVNIX01FTV9DT05GSUcpKTsKLQkJZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBTSF9NRU1fQVBFMV9CQVNFPTB4JTA4WFxuIiwKLQkJCSBSUkVHMzIobW1TSF9NRU1f QVBFMV9CQVNFKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0hfTUVNX0FQRTFfTElNSVQ9 MHglMDhYXG4iLAotCQkJIFJSRUczMihtbVNIX01FTV9BUEUxX0xJTUlUKSk7Ci0JCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgU0hfTUVNX0JBU0VTPTB4JTA4WFxuIiwKLQkJCSBSUkVHMzIobW1TSF9N RU1fQkFTRVMpKTsKLQl9Ci0JY2lrX3NyYm1fc2VsZWN0KGFkZXYsIDAsIDAsIDAsIDApOwotCW11 dGV4X3VubG9jaygmYWRldi0+c3JibV9tdXRleCk7Ci19Ci0KIHN0YXRpYyBpbnQgZ2Z4X3Y3XzBf c29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiB7CiAJdTMyIGdyYm1fc29mdF9yZXNldCA9IDAsIHNy Ym1fc29mdF9yZXNldCA9IDA7CkBAIC00ODU1LDcgKzQ2MDUsNiBAQCBzdGF0aWMgaW50IGdmeF92 N18wX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCQlzcmJtX3NvZnRfcmVzZXQgfD0gU1JCTV9T T0ZUX1JFU0VUX19TT0ZUX1JFU0VUX0dSQk1fTUFTSzsKIAogCWlmIChncmJtX3NvZnRfcmVzZXQg fHwgc3JibV9zb2Z0X3Jlc2V0KSB7Ci0JCWdmeF92N18wX3ByaW50X3N0YXR1cygodm9pZCAqKWFk ZXYpOwogCQkvKiBkaXNhYmxlIENHL1BHICovCiAJCWdmeF92N18wX2ZpbmlfcGcoYWRldik7CiAJ CWdmeF92N18wX3VwZGF0ZV9jZyhhZGV2LCBmYWxzZSk7CkBAIC00ODk4LDcgKzQ2NDcsNiBAQCBz dGF0aWMgaW50IGdmeF92N18wX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCQl9CiAJCS8qIFdh aXQgYSBsaXR0bGUgZm9yIHRoaW5ncyB0byBzZXR0bGUgZG93biAqLwogCQl1ZGVsYXkoNTApOwot CQlnZnhfdjdfMF9wcmludF9zdGF0dXMoKHZvaWQgKilhZGV2KTsKIAl9CiAJcmV0dXJuIDA7CiB9 CkBAIC01MTYxLDcgKzQ5MDksNiBAQCBjb25zdCBzdHJ1Y3QgYW1kX2lwX2Z1bmNzIGdmeF92N18w X2lwX2Z1bmNzID0gewogCS5pc19pZGxlID0gZ2Z4X3Y3XzBfaXNfaWRsZSwKIAkud2FpdF9mb3Jf aWRsZSA9IGdmeF92N18wX3dhaXRfZm9yX2lkbGUsCiAJLnNvZnRfcmVzZXQgPSBnZnhfdjdfMF9z b2Z0X3Jlc2V0LAotCS5wcmludF9zdGF0dXMgPSBnZnhfdjdfMF9wcmludF9zdGF0dXMsCiAJLnNl dF9jbG9ja2dhdGluZ19zdGF0ZSA9IGdmeF92N18wX3NldF9jbG9ja2dhdGluZ19zdGF0ZSwKIAku c2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gZ2Z4X3Y3XzBfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAog fTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCmluZGV4IGFlYjljYWUuLjAyMWMx N2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYwpAQCAtNDgyNiwxODUgKzQ4 MjYsNiBAQCBzdGF0aWMgaW50IGdmeF92OF8wX3dhaXRfZm9yX2lkbGUodm9pZCAqaGFuZGxlKQog CXJldHVybiAtRVRJTUVET1VUOwogfQogCi1zdGF0aWMgdm9pZCBnZnhfdjhfMF9wcmludF9zdGF0 dXModm9pZCAqaGFuZGxlKQotewotCWludCBpOwotCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiR0ZYIDgueCByZWdpc3RlcnNcbiIpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgR1JCTV9T VEFUVVM9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tR1JCTV9TVEFUVVMpKTsKLQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIEdSQk1fU1RBVFVTMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1HUkJNX1NU QVRVUzIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIEdSQk1fU1RBVFVTX1NFMD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1HUkJNX1NUQVRVU19TRTApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIEdSQk1fU1RBVFVTX1NFMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1HUkJNX1NUQVRVU19T RTEpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIEdSQk1fU1RBVFVTX1NFMj0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1HUkJNX1NUQVRVU19TRTIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIg IEdSQk1fU1RBVFVTX1NFMz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1HUkJNX1NUQVRVU19TRTMp KTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1NUQVQgPSAweCUwOHhcbiIsIFJSRUczMiht bUNQX1NUQVQpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1NUQUxMRURfU1RBVDEgPSAw eCUwOHhcbiIsCi0JCSBSUkVHMzIobW1DUF9TVEFMTEVEX1NUQVQxKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBDUF9TVEFMTEVEX1NUQVQyID0gMHglMDh4XG4iLAotCQkgUlJFRzMyKG1tQ1Bf U1RBTExFRF9TVEFUMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ1BfU1RBTExFRF9TVEFU MyA9IDB4JTA4eFxuIiwKLQkJIFJSRUczMihtbUNQX1NUQUxMRURfU1RBVDMpKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIENQX0NQRl9CVVNZX1NUQVQgPSAweCUwOHhcbiIsCi0JCSBSUkVHMzIo bW1DUF9DUEZfQlVTWV9TVEFUKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9DUEZfU1RB TExFRF9TVEFUMSA9IDB4JTA4eFxuIiwKLQkJIFJSRUczMihtbUNQX0NQRl9TVEFMTEVEX1NUQVQx KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9DUEZfU1RBVFVTID0gMHglMDh4XG4iLCBS UkVHMzIobW1DUF9DUEZfU1RBVFVTKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9DUENf QlVTWV9TVEFUID0gMHglMDh4XG4iLCBSUkVHMzIobW1DUF9DUENfQlVTWV9TVEFUKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBDUF9DUENfU1RBTExFRF9TVEFUMSA9IDB4JTA4eFxuIiwKLQkJ IFJSRUczMihtbUNQX0NQQ19TVEFMTEVEX1NUQVQxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBDUF9DUENfU1RBVFVTID0gMHglMDh4XG4iLCBSUkVHMzIobW1DUF9DUENfU1RBVFVTKSk7Ci0K LQlmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykgewotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIEdC X1RJTEVfTU9ERSVkPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIobW1HQl9USUxFX01PREUwICsg KGkgKiA0KSkpOwotCX0KLQlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykgewotCQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIEdCX01BQ1JPVElMRV9NT0RFJWQ9MHglMDhYXG4iLAotCQkJIGksIFJSRUcz MihtbUdCX01BQ1JPVElMRV9NT0RFMCArIChpICogNCkpKTsKLQl9Ci0JZm9yIChpID0gMDsgaSA8 IGFkZXYtPmdmeC5jb25maWcubWF4X3NoYWRlcl9lbmdpbmVzOyBpKyspIHsKLQkJZGV2X2luZm8o YWRldi0+ZGV2LCAiICBzZTogJWRcbiIsIGkpOwotCQlnZnhfdjhfMF9zZWxlY3Rfc2Vfc2goYWRl diwgaSwgMHhmZmZmZmZmZik7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgUEFfU0NfUkFTVEVS X0NPTkZJRz0weCUwOFhcbiIsCi0JCQkgUlJFRzMyKG1tUEFfU0NfUkFTVEVSX0NPTkZJRykpOwot CQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFBBX1NDX1JBU1RFUl9DT05GSUdfMT0weCUwOFhcbiIs Ci0JCQkgUlJFRzMyKG1tUEFfU0NfUkFTVEVSX0NPTkZJR18xKSk7Ci0JfQotCWdmeF92OF8wX3Nl bGVjdF9zZV9zaChhZGV2LCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKLQotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgR0JfQUREUl9DT05GSUc9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tR0JfQURE Ul9DT05GSUcpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIEhEUF9BRERSX0NPTkZJRz0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1IRFBfQUREUl9DT05GSUcpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIERNSUZfQUREUl9DQUxDPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbURNSUZfQUREUl9D QUxDKSk7Ci0KLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX01FUV9USFJFU0hPTERTPTB4JTA4 WFxuIiwKLQkJIFJSRUczMihtbUNQX01FUV9USFJFU0hPTERTKSk7Ci0JZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBTWF9ERUJVR18xPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVNYX0RFQlVHXzEpKTsK LQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFRBX0NOVExfQVVYPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbVRBX0NOVExfQVVYKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTUElfQ09ORklHX0NO VEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tU1BJX0NPTkZJR19DTlRMKSk7Ci0JZGV2X2luZm8o YWRldi0+ZGV2LCAiICBTUV9DT05GSUc9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tU1FfQ09ORklH KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBEQl9ERUJVRz0weCUwOFhcbiIsCi0JCSBSUkVH MzIobW1EQl9ERUJVRykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgREJfREVCVUcyPTB4JTA4 WFxuIiwKLQkJIFJSRUczMihtbURCX0RFQlVHMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg REJfREVCVUczPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbURCX0RFQlVHMykpOwotCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgQ0JfSFdfQ09OVFJPTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1DQl9I V19DT05UUk9MKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTUElfQ09ORklHX0NOVExfMT0w eCUwOFhcbiIsCi0JCSBSUkVHMzIobW1TUElfQ09ORklHX0NOVExfMSkpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgUEFfU0NfRklGT19TSVpFPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVBBX1ND X0ZJRk9fU0laRSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkdUX05VTV9JTlNUQU5DRVM9 MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkdUX05VTV9JTlNUQU5DRVMpKTsKLQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIENQX1BFUkZNT05fQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1DUF9Q RVJGTU9OX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFBBX1NDX0ZPUkNFX0VPVl9N QVhfQ05UUz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1QQV9TQ19GT1JDRV9FT1ZfTUFYX0NOVFMp KTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZHVF9DQUNIRV9JTlZBTElEQVRJT049MHglMDhY XG4iLAotCQkgUlJFRzMyKG1tVkdUX0NBQ0hFX0lOVkFMSURBVElPTikpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgVkdUX0dTX1ZFUlRFWF9SRVVTRT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1W R1RfR1NfVkVSVEVYX1JFVVNFKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBQQV9TQ19MSU5F X1NUSVBQTEVfU1RBVEU9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tUEFfU0NfTElORV9TVElQUExF X1NUQVRFKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBQQV9DTF9FTkhBTkNFPTB4JTA4WFxu IiwKLQkJIFJSRUczMihtbVBBX0NMX0VOSEFOQ0UpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIg IFBBX1NDX0VOSEFOQ0U9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tUEFfU0NfRU5IQU5DRSkpOwot Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9NRV9DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbUNQX01FX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX01BWF9DT05URVhU PTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUNQX01BWF9DT05URVhUKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBDUF9FTkRJQU5fU1dBUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1DUF9FTkRJ QU5fU1dBUCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ1BfREVWSUNFX0lEPTB4JTA4WFxu IiwKLQkJIFJSRUczMihtbUNQX0RFVklDRV9JRCkpOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBDUF9TRU1fV0FJVF9USU1FUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1DUF9TRU1fV0FJVF9U SU1FUikpOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9SQl9XUFRSX0RFTEFZPTB4JTA4 WFxuIiwKLQkJIFJSRUczMihtbUNQX1JCX1dQVFJfREVMQVkpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIENQX1JCX1ZNSUQ9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tQ1BfUkJfVk1JRCkpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgQ1BfUkIwX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tQ1BfUkIwX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1JCMF9XUFRSPTB4 JTA4WFxuIiwKLQkJIFJSRUczMihtbUNQX1JCMF9XUFRSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBDUF9SQjBfUlBUUl9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUNQX1JCMF9SUFRS X0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1JCMF9SUFRSX0FERFJfSEk9MHgl MDhYXG4iLAotCQkgUlJFRzMyKG1tQ1BfUkIwX1JQVFJfQUREUl9ISSkpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgQ1BfUkIwX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tQ1BfUkIwX0NO VEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX1JCMF9CQVNFPTB4JTA4WFxuIiwKLQkJ IFJSRUczMihtbUNQX1JCMF9CQVNFKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9SQjBf QkFTRV9IST0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1DUF9SQjBfQkFTRV9ISSkpOwotCWRldl9p bmZvKGFkZXYtPmRldiwgIiAgQ1BfTUVDX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tQ1Bf TUVDX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIENQX0NQRl9ERUJVRz0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1DUF9DUEZfREVCVUcpKTsKLQotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgU0NSQVRDSF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVNDUkFUQ0hfQUREUikpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0NSQVRDSF9VTVNLPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbVNDUkFUQ0hfVU1TSykpOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDUF9JTlRfQ05U TF9SSU5HMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1DUF9JTlRfQ05UTF9SSU5HMCkpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgUkxDX0xCX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1t UkxDX0xCX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFJMQ19DTlRMPTB4JTA4WFxu IiwKLQkJIFJSRUczMihtbVJMQ19DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBSTENf Q0dDR19DR0xTX0NUUkw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tUkxDX0NHQ0dfQ0dMU19DVFJM KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBSTENfTEJfQ05UUl9JTklUPTB4JTA4WFxuIiwK LQkJIFJSRUczMihtbVJMQ19MQl9DTlRSX0lOSVQpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIg IFJMQ19MQl9DTlRSX01BWD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1STENfTEJfQ05UUl9NQVgp KTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFJMQ19MQl9JTklUX0NVX01BU0s9MHglMDhYXG4i LAotCQkgUlJFRzMyKG1tUkxDX0xCX0lOSVRfQ1VfTUFTSykpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgUkxDX0xCX1BBUkFNUz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1STENfTEJfUEFSQU1T KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBSTENfTEJfQ05UTD0weCUwOFhcbiIsCi0JCSBS UkVHMzIobW1STENfTEJfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgUkxDX01DX0NO VEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tUkxDX01DX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIFJMQ19VQ09ERV9DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVJMQ19VQ09E RV9DTlRMKSk7Ci0KLQltdXRleF9sb2NrKCZhZGV2LT5zcmJtX211dGV4KTsKLQlmb3IgKGkgPSAw OyBpIDwgMTY7IGkrKykgewotCQl2aV9zcmJtX3NlbGVjdChhZGV2LCAwLCAwLCAwLCBpKTsKLQkJ ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTSAlZDpcbiIsIGkpOwotCQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFNIX01FTV9DT05GSUc9MHglMDhYXG4iLAotCQkJIFJSRUczMihtbVNIX01FTV9DT05G SUcpKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTSF9NRU1fQVBFMV9CQVNFPTB4JTA4WFxu IiwKLQkJCSBSUkVHMzIobW1TSF9NRU1fQVBFMV9CQVNFKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgU0hfTUVNX0FQRTFfTElNSVQ9MHglMDhYXG4iLAotCQkJIFJSRUczMihtbVNIX01FTV9B UEUxX0xJTUlUKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0hfTUVNX0JBU0VTPTB4JTA4 WFxuIiwKLQkJCSBSUkVHMzIobW1TSF9NRU1fQkFTRVMpKTsKLQl9Ci0Jdmlfc3JibV9zZWxlY3Qo YWRldiwgMCwgMCwgMCwgMCk7Ci0JbXV0ZXhfdW5sb2NrKCZhZGV2LT5zcmJtX211dGV4KTsKLX0K LQogc3RhdGljIGludCBnZnhfdjhfMF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIHsKIAl1MzIg Z3JibV9zb2Z0X3Jlc2V0ID0gMCwgc3JibV9zb2Z0X3Jlc2V0ID0gMDsKQEAgLTUwNDUsNyArNDg2 Niw2IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiAJCQkJ CQlTUkJNX1NPRlRfUkVTRVQsIFNPRlRfUkVTRVRfR1JCTSwgMSk7CiAKIAlpZiAoZ3JibV9zb2Z0 X3Jlc2V0IHx8IHNyYm1fc29mdF9yZXNldCkgewotCQlnZnhfdjhfMF9wcmludF9zdGF0dXMoKHZv aWQgKilhZGV2KTsKIAkJLyogc3RvcCB0aGUgcmxjICovCiAJCWdmeF92OF8wX3JsY19zdG9wKGFk ZXYpOwogCkBAIC01MTA1LDcgKzQ5MjUsNiBAQCBzdGF0aWMgaW50IGdmeF92OF8wX3NvZnRfcmVz ZXQodm9pZCAqaGFuZGxlKQogCiAJCS8qIFdhaXQgYSBsaXR0bGUgZm9yIHRoaW5ncyB0byBzZXR0 bGUgZG93biAqLwogCQl1ZGVsYXkoNTApOwotCQlnZnhfdjhfMF9wcmludF9zdGF0dXMoKHZvaWQg KilhZGV2KTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC02MjU2LDcgKzYwNzUsNiBAQCBjb25zdCBz dHJ1Y3QgYW1kX2lwX2Z1bmNzIGdmeF92OF8wX2lwX2Z1bmNzID0gewogCS5pc19pZGxlID0gZ2Z4 X3Y4XzBfaXNfaWRsZSwKIAkud2FpdF9mb3JfaWRsZSA9IGdmeF92OF8wX3dhaXRfZm9yX2lkbGUs CiAJLnNvZnRfcmVzZXQgPSBnZnhfdjhfMF9zb2Z0X3Jlc2V0LAotCS5wcmludF9zdGF0dXMgPSBn ZnhfdjhfMF9wcmludF9zdGF0dXMsCiAJLnNldF9jbG9ja2dhdGluZ19zdGF0ZSA9IGdmeF92OF8w X3NldF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gZ2Z4X3Y4 XzBfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2dtY192N18wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNf djdfMC5jCmluZGV4IDA1YjAzNTMuLjNiNjIwYTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2dtY192N18wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z21jX3Y3XzAuYwpAQCAtMTExNCwxMTQgKzExMTQsNiBAQCBzdGF0aWMgaW50IGdtY192N18wX3dh aXRfZm9yX2lkbGUodm9pZCAqaGFuZGxlKQogCiB9CiAKLXN0YXRpYyB2b2lkIGdtY192N18wX3By aW50X3N0YXR1cyh2b2lkICpoYW5kbGUpCi17Ci0JaW50IGksIGo7Ci0Jc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Ci0KLQlkZXZfaW5m byhhZGV2LT5kZXYsICJHTUMgOC54IHJlZ2lzdGVyc1xuIik7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBTUkJNX1NUQVRVUz0weCUwOFhcbiIsCi0JCVJSRUczMihtbVNSQk1fU1RBVFVTKSk7Ci0J ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTUkJNX1NUQVRVUzI9MHglMDhYXG4iLAotCQlSUkVHMzIo bW1TUkJNX1NUQVRVUzIpKTsKLQotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk1fQ09OVEVYVDFf UFJPVEVDVElPTl9GQVVMVF9BRERSICAgMHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVk1fQ09OVEVY VDFfUFJPVEVDVElPTl9GQVVMVF9BRERSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9D T05URVhUMV9QUk9URUNUSU9OX0ZBVUxUX1NUQVRVUyAweCUwOFhcbiIsCi0JCSBSUkVHMzIobW1W TV9DT05URVhUMV9QUk9URUNUSU9OX0ZBVUxUX1NUQVRVUykpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgTUNfVk1fTVhfTDFfVExCX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfVk1f TVhfTDFfVExCX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZNX0wyX0NOVEw9MHgl MDhYXG4iLAotCQkgUlJFRzMyKG1tVk1fTDJfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVk1fTDJfQ05UTDI9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVk1fTDJfQ05UTDIpKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZNX0wyX0NOVEwzPTB4JTA4WFxuIiwKLQkJIFJSRUczMiht bVZNX0wyX0NOVEwzKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9DT05URVhUMF9QQUdF X1RBQkxFX1NUQVJUX0FERFI9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVk1fQ09OVEVYVDBfUEFH RV9UQUJMRV9TVEFSVF9BRERSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9DT05URVhU MF9QQUdFX1RBQkxFX0VORF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZNX0NPTlRFWFQw X1BBR0VfVEFCTEVfRU5EX0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZNX0NPTlRF WFQwX1BST1RFQ1RJT05fRkFVTFRfREVGQVVMVF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMiht bVZNX0NPTlRFWFQwX1BST1RFQ1RJT05fRkFVTFRfREVGQVVMVF9BRERSKSk7Ci0JZGV2X2luZm8o YWRldi0+ZGV2LCAiICBWTV9DT05URVhUMF9DTlRMMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1W TV9DT05URVhUMF9DTlRMMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk1fQ09OVEVYVDBf Q05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WTV9DT05URVhUMF9DTlRMKSk7Ci0JZGV2X2lu Zm8oYWRldi0+ZGV2LCAiICAweDE1RDQ9MHglMDhYXG4iLAotCQkgUlJFRzMyKDB4NTc1KSk7Ci0J ZGV2X2luZm8oYWRldi0+ZGV2LCAiICAweDE1RDg9MHglMDhYXG4iLAotCQkgUlJFRzMyKDB4NTc2 KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICAweDE1REM9MHglMDhYXG4iLAotCQkgUlJFRzMy KDB4NTc3KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9DT05URVhUMV9QQUdFX1RBQkxF X1NUQVJUX0FERFI9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVk1fQ09OVEVYVDFfUEFHRV9UQUJM RV9TVEFSVF9BRERSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9DT05URVhUMV9QQUdF X1RBQkxFX0VORF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZNX0NPTlRFWFQxX1BBR0Vf VEFCTEVfRU5EX0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZNX0NPTlRFWFQxX1BS T1RFQ1RJT05fRkFVTFRfREVGQVVMVF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZNX0NP TlRFWFQxX1BST1RFQ1RJT05fRkFVTFRfREVGQVVMVF9BRERSKSk7Ci0JZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBWTV9DT05URVhUMV9DTlRMMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WTV9DT05U RVhUMV9DTlRMMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk1fQ09OVEVYVDFfQ05UTD0w eCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WTV9DT05URVhUMV9DTlRMKSk7Ci0JZm9yIChpID0gMDsg aSA8IDE2OyBpKyspIHsKLQkJaWYgKGkgPCA4KQotCQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBW TV9DT05URVhUJWRfUEFHRV9UQUJMRV9CQVNFX0FERFI9MHglMDhYXG4iLAotCQkJCSBpLCBSUkVH MzIobW1WTV9DT05URVhUMF9QQUdFX1RBQkxFX0JBU0VfQUREUiArIGkpKTsKLQkJZWxzZQotCQkJ ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9DT05URVhUJWRfUEFHRV9UQUJMRV9CQVNFX0FERFI9 MHglMDhYXG4iLAotCQkJCSBpLCBSUkVHMzIobW1WTV9DT05URVhUOF9QQUdFX1RBQkxFX0JBU0Vf QUREUiArIGkgLSA4KSk7Ci0JfQotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfVk1fU1lTVEVN X0FQRVJUVVJFX0xPV19BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1DX1ZNX1NZU1RFTV9B UEVSVFVSRV9MT1dfQUREUikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfVk1fU1lTVEVN X0FQRVJUVVJFX0hJR0hfQUREUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19WTV9TWVNURU1f QVBFUlRVUkVfSElHSF9BRERSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNQ19WTV9TWVNU RU1fQVBFUlRVUkVfREVGQVVMVF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1DX1ZNX1NZ U1RFTV9BUEVSVFVSRV9ERUZBVUxUX0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1D X1ZNX0ZCX0xPQ0FUSU9OPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbU1DX1ZNX0ZCX0xPQ0FUSU9O KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNQ19WTV9BR1BfQkFTRT0weCUwOFhcbiIsCi0J CSBSUkVHMzIobW1NQ19WTV9BR1BfQkFTRSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNf Vk1fQUdQX1RPUD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19WTV9BR1BfVE9QKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBNQ19WTV9BR1BfQk9UPTB4JTA4WFxuIiwKLQkJIFJSRUczMiht bU1DX1ZNX0FHUF9CT1QpKTsKLQotCWlmIChhZGV2LT5hc2ljX3R5cGUgPT0gQ0hJUF9LQVZFUkkp IHsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBDSFVCX0NPTlRST0w9MHglMDhYXG4iLAotCQkJ IFJSRUczMihtbUNIVUJfQ09OVFJPTCkpOwotCX0KLQotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg SERQX1JFR19DT0hFUkVOQ1lfRkxVU0hfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1IRFBf UkVHX0NPSEVSRU5DWV9GTFVTSF9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBIRFBf Tk9OU1VSRkFDRV9CQVNFPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUhEUF9OT05TVVJGQUNFX0JB U0UpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIEhEUF9OT05TVVJGQUNFX0lORk89MHglMDhY XG4iLAotCQkgUlJFRzMyKG1tSERQX05PTlNVUkZBQ0VfSU5GTykpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgSERQX05PTlNVUkZBQ0VfU0laRT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1IRFBf Tk9OU1VSRkFDRV9TSVpFKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBIRFBfTUlTQ19DTlRM PTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUhEUF9NSVNDX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIEhEUF9IT1NUX1BBVEhfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1IRFBf SE9TVF9QQVRIX0NOVEwpKTsKLQotCWZvciAoaSA9IDAsIGogPSAwOyBpIDwgMzI7IGkrKywgaiAr PSAweDYpIHsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICAlZDpcbiIsIGkpOwotCQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIDB4JTA0WD0weCUwOFhcbiIsCi0JCQkgMHhiMDUgKyBqLCBSUkVHMzIo MHhiMDUgKyBqKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgMHglMDRYPTB4JTA4WFxuIiwK LQkJCSAweGIwNiArIGosIFJSRUczMigweGIwNiArIGopKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2 LCAiICAweCUwNFg9MHglMDhYXG4iLAotCQkJIDB4YjA3ICsgaiwgUlJFRzMyKDB4YjA3ICsgaikp OwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIDB4JTA0WD0weCUwOFhcbiIsCi0JCQkgMHhiMDgg KyBqLCBSUkVHMzIoMHhiMDggKyBqKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgMHglMDRY PTB4JTA4WFxuIiwKLQkJCSAweGIwOSArIGosIFJSRUczMigweGIwOSArIGopKTsKLQl9Ci0KLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIEJJRl9GQl9FTj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1C SUZfRkJfRU4pKTsKLX0KLQogc3RhdGljIGludCBnbWNfdjdfMF9zb2Z0X3Jlc2V0KHZvaWQgKmhh bmRsZSkKIHsKIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqKWhhbmRsZTsKQEAgLTEyNDEsOCArMTEzMyw2IEBAIHN0YXRpYyBpbnQgZ21jX3Y3XzBf c29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiAJfQogCiAJaWYgKHNyYm1fc29mdF9yZXNldCkgewot CQlnbWNfdjdfMF9wcmludF9zdGF0dXMoKHZvaWQgKilhZGV2KTsKLQogCQlnbWNfdjdfMF9tY19z dG9wKGFkZXYsICZzYXZlKTsKIAkJaWYgKGdtY192N18wX3dhaXRfZm9yX2lkbGUoYWRldikpIHsK IAkJCWRldl93YXJuKGFkZXYtPmRldiwgIldhaXQgZm9yIEdNQyBpZGxlIHRpbWVkIG91dCAhXG4i KTsKQEAgLTEyNjYsOCArMTE1Niw2IEBAIHN0YXRpYyBpbnQgZ21jX3Y3XzBfc29mdF9yZXNldCh2 b2lkICpoYW5kbGUpCiAKIAkJZ21jX3Y3XzBfbWNfcmVzdW1lKGFkZXYsICZzYXZlKTsKIAkJdWRl bGF5KDUwKTsKLQotCQlnbWNfdjdfMF9wcmludF9zdGF0dXMoKHZvaWQgKilhZGV2KTsKIAl9CiAK IAlyZXR1cm4gMDsKQEAgLTEzODEsNyArMTI2OSw2IEBAIGNvbnN0IHN0cnVjdCBhbWRfaXBfZnVu Y3MgZ21jX3Y3XzBfaXBfZnVuY3MgPSB7CiAJLmlzX2lkbGUgPSBnbWNfdjdfMF9pc19pZGxlLAog CS53YWl0X2Zvcl9pZGxlID0gZ21jX3Y3XzBfd2FpdF9mb3JfaWRsZSwKIAkuc29mdF9yZXNldCA9 IGdtY192N18wX3NvZnRfcmVzZXQsCi0JLnByaW50X3N0YXR1cyA9IGdtY192N18wX3ByaW50X3N0 YXR1cywKIAkuc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gZ21jX3Y3XzBfc2V0X2Nsb2NrZ2F0aW5n X3N0YXRlLAogCS5zZXRfcG93ZXJnYXRpbmdfc3RhdGUgPSBnbWNfdjdfMF9zZXRfcG93ZXJnYXRp bmdfc3RhdGUsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21j X3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OF8wLmMKaW5kZXggZTY3 MTVlYy4uYzBkZTIyZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21j X3Y4XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjhfMC5jCkBAIC0x MTE3LDExMSArMTExNyw2IEBAIHN0YXRpYyBpbnQgZ21jX3Y4XzBfd2FpdF9mb3JfaWRsZSh2b2lk ICpoYW5kbGUpCiAKIH0KIAotc3RhdGljIHZvaWQgZ21jX3Y4XzBfcHJpbnRfc3RhdHVzKHZvaWQg KmhhbmRsZSkKLXsKLQlpbnQgaSwgajsKLQlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKLQotCWRldl9pbmZvKGFkZXYtPmRldiwgIkdN QyA4LnggcmVnaXN0ZXJzXG4iKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNSQk1fU1RBVFVT PTB4JTA4WFxuIiwKLQkJUlJFRzMyKG1tU1JCTV9TVEFUVVMpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFNSQk1fU1RBVFVTMj0weCUwOFhcbiIsCi0JCVJSRUczMihtbVNSQk1fU1RBVFVTMikp OwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9DT05URVhUMV9QUk9URUNUSU9OX0ZBVUxU X0FERFIgICAweCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WTV9DT05URVhUMV9QUk9URUNUSU9OX0ZB VUxUX0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZNX0NPTlRFWFQxX1BST1RFQ1RJ T05fRkFVTFRfU1RBVFVTIDB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZNX0NPTlRFWFQxX1BST1RF Q1RJT05fRkFVTFRfU1RBVFVTKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNQ19WTV9NWF9M MV9UTEJfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19WTV9NWF9MMV9UTEJfQ05UTCkp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk1fTDJfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVH MzIobW1WTV9MMl9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9MMl9DTlRMMj0w eCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WTV9MMl9DTlRMMikpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgVk1fTDJfQ05UTDM9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVk1fTDJfQ05UTDMpKTsK LQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZNX0wyX0NOVEw0PTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbVZNX0wyX0NOVEw0KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9DT05URVhUMF9Q QUdFX1RBQkxFX1NUQVJUX0FERFI9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVk1fQ09OVEVYVDBf UEFHRV9UQUJMRV9TVEFSVF9BRERSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9DT05U RVhUMF9QQUdFX1RBQkxFX0VORF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZNX0NPTlRF WFQwX1BBR0VfVEFCTEVfRU5EX0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZNX0NP TlRFWFQwX1BST1RFQ1RJT05fRkFVTFRfREVGQVVMVF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbVZNX0NPTlRFWFQwX1BST1RFQ1RJT05fRkFVTFRfREVGQVVMVF9BRERSKSk7Ci0JZGV2X2lu Zm8oYWRldi0+ZGV2LCAiICBWTV9DT05URVhUMF9DTlRMMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIo bW1WTV9DT05URVhUMF9DTlRMMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk1fQ09OVEVY VDBfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WTV9DT05URVhUMF9DTlRMKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBWTV9MMl9DT05URVhUMV9JREVOVElUWV9BUEVSVFVSRV9MT1df QUREUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WTV9MMl9DT05URVhUMV9JREVOVElUWV9BUEVS VFVSRV9MT1dfQUREUikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk1fTDJfQ09OVEVYVDFf SURFTlRJVFlfQVBFUlRVUkVfSElHSF9BRERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZNX0wy X0NPTlRFWFQxX0lERU5USVRZX0FQRVJUVVJFX0hJR0hfQUREUikpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgbW1WTV9MMl9DT05URVhUX0lERU5USVRZX1BIWVNJQ0FMX09GRlNFVD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1WTV9MMl9DT05URVhUX0lERU5USVRZX1BIWVNJQ0FMX09GRlNFVCkp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk1fQ09OVEVYVDFfUEFHRV9UQUJMRV9TVEFSVF9B RERSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZNX0NPTlRFWFQxX1BBR0VfVEFCTEVfU1RBUlRf QUREUikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk1fQ09OVEVYVDFfUEFHRV9UQUJMRV9F TkRfQUREUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WTV9DT05URVhUMV9QQUdFX1RBQkxFX0VO RF9BRERSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWTV9DT05URVhUMV9QUk9URUNUSU9O X0ZBVUxUX0RFRkFVTFRfQUREUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WTV9DT05URVhUMV9Q Uk9URUNUSU9OX0ZBVUxUX0RFRkFVTFRfQUREUikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg Vk1fQ09OVEVYVDFfQ05UTDI9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVk1fQ09OVEVYVDFfQ05U TDIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZNX0NPTlRFWFQxX0NOVEw9MHglMDhYXG4i LAotCQkgUlJFRzMyKG1tVk1fQ09OVEVYVDFfQ05UTCkpOwotCWZvciAoaSA9IDA7IGkgPCAxNjsg aSsrKSB7Ci0JCWlmIChpIDwgOCkKLQkJCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk1fQ09OVEVY VCVkX1BBR0VfVEFCTEVfQkFTRV9BRERSPTB4JTA4WFxuIiwKLQkJCQkgaSwgUlJFRzMyKG1tVk1f Q09OVEVYVDBfUEFHRV9UQUJMRV9CQVNFX0FERFIgKyBpKSk7Ci0JCWVsc2UKLQkJCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgVk1fQ09OVEVYVCVkX1BBR0VfVEFCTEVfQkFTRV9BRERSPTB4JTA4WFxu IiwKLQkJCQkgaSwgUlJFRzMyKG1tVk1fQ09OVEVYVDhfUEFHRV9UQUJMRV9CQVNFX0FERFIgKyBp IC0gOCkpOwotCX0KLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1ZNX1NZU1RFTV9BUEVSVFVS RV9MT1dfQUREUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19WTV9TWVNURU1fQVBFUlRVUkVf TE9XX0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1ZNX1NZU1RFTV9BUEVSVFVS RV9ISUdIX0FERFI9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfVk1fU1lTVEVNX0FQRVJUVVJF X0hJR0hfQUREUikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfVk1fU1lTVEVNX0FQRVJU VVJFX0RFRkFVTFRfQUREUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19WTV9TWVNURU1fQVBF UlRVUkVfREVGQVVMVF9BRERSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBNQ19WTV9GQl9M T0NBVElPTj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19WTV9GQl9MT0NBVElPTikpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgTUNfVk1fQUdQX0JBU0U9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tTUNfVk1fQUdQX0JBU0UpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIE1DX1ZNX0FHUF9U T1A9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tTUNfVk1fQUdQX1RPUCkpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgTUNfVk1fQUdQX0JPVD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1NQ19WTV9B R1BfQk9UKSk7Ci0KLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIEhEUF9SRUdfQ09IRVJFTkNZX0ZM VVNIX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSERQX1JFR19DT0hFUkVOQ1lfRkxVU0hf Q05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgSERQX05PTlNVUkZBQ0VfQkFTRT0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1IRFBfTk9OU1VSRkFDRV9CQVNFKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBIRFBfTk9OU1VSRkFDRV9JTkZPPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUhE UF9OT05TVVJGQUNFX0lORk8pKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIEhEUF9OT05TVVJG QUNFX1NJWkU9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSERQX05PTlNVUkZBQ0VfU0laRSkpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgSERQX01JU0NfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVH MzIobW1IRFBfTUlTQ19DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBIRFBfSE9TVF9Q QVRIX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSERQX0hPU1RfUEFUSF9DTlRMKSk7Ci0K LQlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IDMyOyBpKyssIGogKz0gMHg2KSB7Ci0JCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgJWQ6XG4iLCBpKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICAweCUw NFg9MHglMDhYXG4iLAotCQkJIDB4YjA1ICsgaiwgUlJFRzMyKDB4YjA1ICsgaikpOwotCQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIDB4JTA0WD0weCUwOFhcbiIsCi0JCQkgMHhiMDYgKyBqLCBSUkVH MzIoMHhiMDYgKyBqKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgMHglMDRYPTB4JTA4WFxu IiwKLQkJCSAweGIwNyArIGosIFJSRUczMigweGIwNyArIGopKTsKLQkJZGV2X2luZm8oYWRldi0+ ZGV2LCAiICAweCUwNFg9MHglMDhYXG4iLAotCQkJIDB4YjA4ICsgaiwgUlJFRzMyKDB4YjA4ICsg aikpOwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIDB4JTA0WD0weCUwOFhcbiIsCi0JCQkgMHhi MDkgKyBqLCBSUkVHMzIoMHhiMDkgKyBqKSk7Ci0JfQotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBCSUZfRkJfRU49MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tQklGX0ZCX0VOKSk7Ci19Ci0KIHN0 YXRpYyBpbnQgZ21jX3Y4XzBfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiB7CiAJc3RydWN0IGFt ZGdwdV9tb2RlX21jX3NhdmUgc2F2ZTsKQEAgLTEyNDEsOCArMTEzNiw2IEBAIHN0YXRpYyBpbnQg Z21jX3Y4XzBfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiAJfQogCiAJaWYgKHNyYm1fc29mdF9y ZXNldCkgewotCQlnbWNfdjhfMF9wcmludF9zdGF0dXMoKHZvaWQgKilhZGV2KTsKLQogCQlnbWNf djhfMF9tY19zdG9wKGFkZXYsICZzYXZlKTsKIAkJaWYgKGdtY192OF8wX3dhaXRfZm9yX2lkbGUo YWRldikpIHsKIAkJCWRldl93YXJuKGFkZXYtPmRldiwgIldhaXQgZm9yIEdNQyBpZGxlIHRpbWVk IG91dCAhXG4iKTsKQEAgLTEyNjYsOCArMTE1OSw2IEBAIHN0YXRpYyBpbnQgZ21jX3Y4XzBfc29m dF9yZXNldCh2b2lkICpoYW5kbGUpCiAKIAkJZ21jX3Y4XzBfbWNfcmVzdW1lKGFkZXYsICZzYXZl KTsKIAkJdWRlbGF5KDUwKTsKLQotCQlnbWNfdjhfMF9wcmludF9zdGF0dXMoKHZvaWQgKilhZGV2 KTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTE1NDAsNyArMTQzMSw2IEBAIGNvbnN0IHN0cnVjdCBh bWRfaXBfZnVuY3MgZ21jX3Y4XzBfaXBfZnVuY3MgPSB7CiAJLmlzX2lkbGUgPSBnbWNfdjhfMF9p c19pZGxlLAogCS53YWl0X2Zvcl9pZGxlID0gZ21jX3Y4XzBfd2FpdF9mb3JfaWRsZSwKIAkuc29m dF9yZXNldCA9IGdtY192OF8wX3NvZnRfcmVzZXQsCi0JLnByaW50X3N0YXR1cyA9IGdtY192OF8w X3ByaW50X3N0YXR1cywKIAkuc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gZ21jX3Y4XzBfc2V0X2Ns b2NrZ2F0aW5nX3N0YXRlLAogCS5zZXRfcG93ZXJnYXRpbmdfc3RhdGUgPSBnbWNfdjhfMF9zZXRf cG93ZXJnYXRpbmdfc3RhdGUsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvaWNlbGFuZF9kcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2ljZWxhbmRf ZHBtLmMKaW5kZXggMjA4ZDU1ZjQuLjU3YTk2MTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2ljZWxhbmRfZHBtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvaWNlbGFuZF9kcG0uYwpAQCAtMTY4LDcgKzE2OCw2IEBAIGNvbnN0IHN0cnVjdCBhbWRfaXBf ZnVuY3MgaWNlbGFuZF9kcG1faXBfZnVuY3MgPSB7CiAJLmlzX2lkbGUgPSBOVUxMLAogCS53YWl0 X2Zvcl9pZGxlID0gTlVMTCwKIAkuc29mdF9yZXNldCA9IE5VTEwsCi0JLnByaW50X3N0YXR1cyA9 IE5VTEwsCiAJLnNldF9jbG9ja2dhdGluZ19zdGF0ZSA9IGljZWxhbmRfZHBtX3NldF9jbG9ja2dh dGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gaWNlbGFuZF9kcG1fc2V0X3Bv d2VyZ2F0aW5nX3N0YXRlLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2ljZWxhbmRfaWguYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2ljZWxhbmRfaWgu YwppbmRleCA2NzllNzM5Li41YzQwMDFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9pY2VsYW5kX2loLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNl bGFuZF9paC5jCkBAIC0zNTEsMzUgKzM1MSw2IEBAIHN0YXRpYyBpbnQgaWNlbGFuZF9paF93YWl0 X2Zvcl9pZGxlKHZvaWQgKmhhbmRsZSkKIAlyZXR1cm4gLUVUSU1FRE9VVDsKIH0KIAotc3RhdGlj IHZvaWQgaWNlbGFuZF9paF9wcmludF9zdGF0dXModm9pZCAqaGFuZGxlKQotewotCXN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwotCi0J ZGV2X2luZm8oYWRldi0+ZGV2LCAiSUNFTEFORCBJSCByZWdpc3RlcnNcbiIpOwotCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgU1JCTV9TVEFUVVM9MHglMDhYXG4iLAotCQlSUkVHMzIobW1TUkJNX1NU QVRVUykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU1JCTV9TVEFUVVMyPTB4JTA4WFxuIiwK LQkJUlJFRzMyKG1tU1JCTV9TVEFUVVMyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBJTlRF UlJVUFRfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JTlRFUlJVUFRfQ05UTCkpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgSU5URVJSVVBUX0NOVEwyPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbUlOVEVSUlVQVF9DTlRMMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgSUhfQ05UTD0w eCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JSF9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBJSF9SQl9DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUlIX1JCX0NOVEwpKTsKLQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIElIX1JCX0JBU0U9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSUhf UkJfQkFTRSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgSUhfUkJfV1BUUl9BRERSX0xPPTB4 JTA4WFxuIiwKLQkJIFJSRUczMihtbUlIX1JCX1dQVFJfQUREUl9MTykpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgSUhfUkJfV1BUUl9BRERSX0hJPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUlI X1JCX1dQVFJfQUREUl9ISSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgSUhfUkJfUlBUUj0w eCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JSF9SQl9SUFRSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBJSF9SQl9XUFRSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbUlIX1JCX1dQVFIpKTsKLX0K LQogc3RhdGljIGludCBpY2VsYW5kX2loX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogewogCXUz MiBzcmJtX3NvZnRfcmVzZXQgPSAwOwpAQCAtMzkxLDggKzM2Miw2IEBAIHN0YXRpYyBpbnQgaWNl bGFuZF9paF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAkJCQkJCVNPRlRfUkVTRVRfSUgsIDEp OwogCiAJaWYgKHNyYm1fc29mdF9yZXNldCkgewotCQlpY2VsYW5kX2loX3ByaW50X3N0YXR1cygo dm9pZCAqKWFkZXYpOwotCiAJCXRtcCA9IFJSRUczMihtbVNSQk1fU09GVF9SRVNFVCk7CiAJCXRt cCB8PSBzcmJtX3NvZnRfcmVzZXQ7CiAJCWRldl9pbmZvKGFkZXYtPmRldiwgIlNSQk1fU09GVF9S RVNFVD0weCUwOFhcbiIsIHRtcCk7CkBAIC00MDcsOCArMzc2LDYgQEAgc3RhdGljIGludCBpY2Vs YW5kX2loX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCiAJCS8qIFdhaXQgYSBsaXR0bGUgZm9y IHRoaW5ncyB0byBzZXR0bGUgZG93biAqLwogCQl1ZGVsYXkoNTApOwotCi0JCWljZWxhbmRfaWhf cHJpbnRfc3RhdHVzKCh2b2lkICopYWRldik7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC00MzgsNyAr NDA1LDYgQEAgY29uc3Qgc3RydWN0IGFtZF9pcF9mdW5jcyBpY2VsYW5kX2loX2lwX2Z1bmNzID0g ewogCS5pc19pZGxlID0gaWNlbGFuZF9paF9pc19pZGxlLAogCS53YWl0X2Zvcl9pZGxlID0gaWNl bGFuZF9paF93YWl0X2Zvcl9pZGxlLAogCS5zb2Z0X3Jlc2V0ID0gaWNlbGFuZF9paF9zb2Z0X3Jl c2V0LAotCS5wcmludF9zdGF0dXMgPSBpY2VsYW5kX2loX3ByaW50X3N0YXR1cywKIAkuc2V0X2Ns b2NrZ2F0aW5nX3N0YXRlID0gaWNlbGFuZF9paF9zZXRfY2xvY2tnYXRpbmdfc3RhdGUsCiAJLnNl dF9wb3dlcmdhdGluZ19zdGF0ZSA9IGljZWxhbmRfaWhfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAog fTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2t2X2RwbS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUva3ZfZHBtLmMKaW5kZXggNjU0ZDc2Ny4uNGJkMWU1NSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUva3ZfZHBtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUva3ZfZHBtLmMKQEAgLTMxNDcsNjIgKzMxNDcsNiBAQCBz dGF0aWMgaW50IGt2X2RwbV93YWl0X2Zvcl9pZGxlKHZvaWQgKmhhbmRsZSkKIAlyZXR1cm4gMDsK IH0KIAotc3RhdGljIHZvaWQga3ZfZHBtX3ByaW50X3N0YXR1cyh2b2lkICpoYW5kbGUpCi17Ci0J c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5k bGU7Ci0KLQlkZXZfaW5mbyhhZGV2LT5kZXYsICJLVi9LQiBEUE0gcmVnaXN0ZXJzXG4iKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIERJRFRfU1FfQ1RSTDA9MHglMDhYXG4iLAotCQkgUlJFRzMy X0RJRFQoaXhESURUX1NRX0NUUkwwKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBESURUX0RC X0NUUkwwPTB4JTA4WFxuIiwKLQkJIFJSRUczMl9ESURUKGl4RElEVF9EQl9DVFJMMCkpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgRElEVF9URF9DVFJMMD0weCUwOFhcbiIsCi0JCSBSUkVHMzJf RElEVChpeERJRFRfVERfQ1RSTDApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIERJRFRfVENQ X0NUUkwwPTB4JTA4WFxuIiwKLQkJIFJSRUczMl9ESURUKGl4RElEVF9UQ1BfQ1RSTDApKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIExDQUNfU1gwX09WUl9TRUw9MHglMDhYXG4iLAotCQkgUlJF RzMyX1NNQyhpeExDQUNfU1gwX09WUl9TRUwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIExD QUNfU1gwX09WUl9WQUw9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeExDQUNfU1gwX09WUl9W QUwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIExDQUNfTUMwX09WUl9TRUw9MHglMDhYXG4i LAotCQkgUlJFRzMyX1NNQyhpeExDQUNfTUMwX09WUl9TRUwpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIExDQUNfTUMwX09WUl9WQUw9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeExDQUNf TUMwX09WUl9WQUwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIExDQUNfTUMxX09WUl9TRUw9 MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeExDQUNfTUMxX09WUl9TRUwpKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIExDQUNfTUMxX09WUl9WQUw9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NN QyhpeExDQUNfTUMxX09WUl9WQUwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIExDQUNfTUMy X09WUl9TRUw9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeExDQUNfTUMyX09WUl9TRUwpKTsK LQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIExDQUNfTUMyX09WUl9WQUw9MHglMDhYXG4iLAotCQkg UlJFRzMyX1NNQyhpeExDQUNfTUMyX09WUl9WQUwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIg IExDQUNfTUMzX09WUl9TRUw9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeExDQUNfTUMzX09W Ul9TRUwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIExDQUNfTUMzX09WUl9WQUw9MHglMDhY XG4iLAotCQkgUlJFRzMyX1NNQyhpeExDQUNfTUMzX09WUl9WQUwpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIExDQUNfQ1BMX09WUl9TRUw9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeExD QUNfQ1BMX09WUl9TRUwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIExDQUNfQ1BMX09WUl9W QUw9MHglMDhYXG4iLAotCQkgUlJFRzMyX1NNQyhpeExDQUNfQ1BMX09WUl9WQUwpKTsKLQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIENHX0ZSRVFfVFJBTl9WT1RJTkdfMD0weCUwOFhcbiIsCi0JCSBS UkVHMzJfU01DKGl4Q0dfRlJFUV9UUkFOX1ZPVElOR18wKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBHRU5FUkFMX1BXUk1HVD0weCUwOFhcbiIsCi0JCSBSUkVHMzJfU01DKGl4R0VORVJBTF9Q V1JNR1QpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNDTEtfUFdSTUdUX0NOVEw9MHglMDhY XG4iLAotCQkgUlJFRzMyX1NNQyhpeFNDTEtfUFdSTUdUX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIFNNQ19NRVNTQUdFXzA9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tU01DX01FU1NB R0VfMCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU01DX1JFU1BfMD0weCUwOFhcbiIsCi0J CSBSUkVHMzIobW1TTUNfUkVTUF8wKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTTUNfTVNH X0FSR18wPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVNNQ19NU0dfQVJHXzApKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIFNNQ19JTkRfSU5ERVhfMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1T TUNfSU5EX0lOREVYXzApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNNQ19JTkRfREFUQV8w PTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVNNQ19JTkRfREFUQV8wKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBTTUNfSU5EX0FDQ0VTU19DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVNN Q19JTkRfQUNDRVNTX0NOVEwpKTsKLX0KIAogc3RhdGljIGludCBrdl9kcG1fc29mdF9yZXNldCh2 b2lkICpoYW5kbGUpCiB7CkBAIC0zMzExLDcgKzMyNTUsNiBAQCBjb25zdCBzdHJ1Y3QgYW1kX2lw X2Z1bmNzIGt2X2RwbV9pcF9mdW5jcyA9IHsKIAkuaXNfaWRsZSA9IGt2X2RwbV9pc19pZGxlLAog CS53YWl0X2Zvcl9pZGxlID0ga3ZfZHBtX3dhaXRfZm9yX2lkbGUsCiAJLnNvZnRfcmVzZXQgPSBr dl9kcG1fc29mdF9yZXNldCwKLQkucHJpbnRfc3RhdHVzID0ga3ZfZHBtX3ByaW50X3N0YXR1cywK IAkuc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0ga3ZfZHBtX3NldF9jbG9ja2dhdGluZ19zdGF0ZSwK IAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0ga3ZfZHBtX3NldF9wb3dlcmdhdGluZ19zdGF0ZSwK IH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YyXzQuYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjJfNC5jCmluZGV4IDZmMmUyYTQuLmU2 ZDM1NDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjJfNC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjJfNC5jCkBAIC0xMDgwLDU1 ICsxMDgwLDYgQEAgc3RhdGljIGludCBzZG1hX3YyXzRfd2FpdF9mb3JfaWRsZSh2b2lkICpoYW5k bGUpCiAJcmV0dXJuIC1FVElNRURPVVQ7CiB9CiAKLXN0YXRpYyB2b2lkIHNkbWFfdjJfNF9wcmlu dF9zdGF0dXModm9pZCAqaGFuZGxlKQotewotCWludCBpLCBqOwotCXN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwotCi0JZGV2X2luZm8o YWRldi0+ZGV2LCAiVkkgU0RNQSByZWdpc3RlcnNcbiIpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgU1JCTV9TVEFUVVMyPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVNSQk1fU1RBVFVTMikpOwot CWZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgewotCQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIFNETUElZF9TVEFUVVNfUkVHPTB4JTA4WFxuIiwKLQkJCSBpLCBS UkVHMzIobW1TRE1BMF9TVEFUVVNfUkVHICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgU0RNQSVkX0YzMl9DTlRMPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIo bW1TRE1BMF9GMzJfQ05UTCArIHNkbWFfb2Zmc2V0c1tpXSkpOwotCQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFNETUElZF9DTlRMPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIobW1TRE1BMF9DTlRM ICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0RNQSVkX1NF TV9XQUlUX0ZBSUxfVElNRVJfQ05UTD0weCUwOFhcbiIsCi0JCQkgaSwgUlJFRzMyKG1tU0RNQTBf U0VNX1dBSVRfRkFJTF9USU1FUl9DTlRMICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgU0RNQSVkX0dGWF9JQl9DTlRMPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVH MzIobW1TRE1BMF9HRlhfSUJfQ05UTCArIHNkbWFfb2Zmc2V0c1tpXSkpOwotCQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIFNETUElZF9HRlhfUkJfQ05UTD0weCUwOFhcbiIsCi0JCQkgaSwgUlJFRzMy KG1tU0RNQTBfR0ZYX1JCX0NOVEwgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2X2luZm8oYWRl di0+ZGV2LCAiICBTRE1BJWRfR0ZYX1JCX1JQVFI9MHglMDhYXG4iLAotCQkJIGksIFJSRUczMiht bVNETUEwX0dGWF9SQl9SUFRSICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgU0RNQSVkX0dGWF9SQl9XUFRSPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIobW1T RE1BMF9HRlhfUkJfV1BUUiArIHNkbWFfb2Zmc2V0c1tpXSkpOwotCQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFNETUElZF9HRlhfUkJfUlBUUl9BRERSX0hJPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVH MzIobW1TRE1BMF9HRlhfUkJfUlBUUl9BRERSX0hJICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgU0RNQSVkX0dGWF9SQl9SUFRSX0FERFJfTE89MHglMDhYXG4i LAotCQkJIGksIFJSRUczMihtbVNETUEwX0dGWF9SQl9SUFRSX0FERFJfTE8gKyBzZG1hX29mZnNl dHNbaV0pKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTRE1BJWRfR0ZYX1JCX0JBU0U9MHgl MDhYXG4iLAotCQkJIGksIFJSRUczMihtbVNETUEwX0dGWF9SQl9CQVNFICsgc2RtYV9vZmZzZXRz W2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0RNQSVkX0dGWF9SQl9CQVNFX0hJPTB4 JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIobW1TRE1BMF9HRlhfUkJfQkFTRV9ISSArIHNkbWFfb2Zm c2V0c1tpXSkpOwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNETUElZF9USUxJTkdfQ09ORklH PTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIobW1TRE1BMF9USUxJTkdfQ09ORklHICsgc2RtYV9v ZmZzZXRzW2ldKSk7Ci0JCW11dGV4X2xvY2soJmFkZXYtPnNyYm1fbXV0ZXgpOwotCQlmb3IgKGog PSAwOyBqIDwgMTY7IGorKykgewotCQkJdmlfc3JibV9zZWxlY3QoYWRldiwgMCwgMCwgMCwgaik7 Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZNICVkOlxuIiwgaik7Ci0JCQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIFNETUElZF9HRlhfVklSVFVBTF9BRERSPTB4JTA4WFxuIiwKLQkJCQkgaSwg UlJFRzMyKG1tU0RNQTBfR0ZYX1ZJUlRVQUxfQUREUiArIHNkbWFfb2Zmc2V0c1tpXSkpOwotCQkJ ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTRE1BJWRfR0ZYX0FQRTFfQ05UTD0weCUwOFhcbiIsCi0J CQkJIGksIFJSRUczMihtbVNETUEwX0dGWF9BUEUxX0NOVEwgKyBzZG1hX29mZnNldHNbaV0pKTsK LQkJfQotCQl2aV9zcmJtX3NlbGVjdChhZGV2LCAwLCAwLCAwLCAwKTsKLQkJbXV0ZXhfdW5sb2Nr KCZhZGV2LT5zcmJtX211dGV4KTsKLQl9Ci19Ci0KIHN0YXRpYyBpbnQgc2RtYV92Ml80X3NvZnRf cmVzZXQodm9pZCAqaGFuZGxlKQogewogCXUzMiBzcmJtX3NvZnRfcmVzZXQgPSAwOwpAQCAtMTE1 MSw4ICsxMTAyLDYgQEAgc3RhdGljIGludCBzZG1hX3YyXzRfc29mdF9yZXNldCh2b2lkICpoYW5k bGUpCiAJfQogCiAJaWYgKHNyYm1fc29mdF9yZXNldCkgewotCQlzZG1hX3YyXzRfcHJpbnRfc3Rh dHVzKCh2b2lkICopYWRldik7Ci0KIAkJdG1wID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsK IAkJdG1wIHw9IHNyYm1fc29mdF9yZXNldDsKIAkJZGV2X2luZm8oYWRldi0+ZGV2LCAiU1JCTV9T T0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKQEAgLTExNjcsOCArMTExNiw2IEBAIHN0YXRpYyBp bnQgc2RtYV92Ml80X3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCiAJCS8qIFdhaXQgYSBsaXR0 bGUgZm9yIHRoaW5ncyB0byBzZXR0bGUgZG93biAqLwogCQl1ZGVsYXkoNTApOwotCi0JCXNkbWFf djJfNF9wcmludF9zdGF0dXMoKHZvaWQgKilhZGV2KTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTEy OTQsNyArMTI0MSw2IEBAIGNvbnN0IHN0cnVjdCBhbWRfaXBfZnVuY3Mgc2RtYV92Ml80X2lwX2Z1 bmNzID0gewogCS5pc19pZGxlID0gc2RtYV92Ml80X2lzX2lkbGUsCiAJLndhaXRfZm9yX2lkbGUg PSBzZG1hX3YyXzRfd2FpdF9mb3JfaWRsZSwKIAkuc29mdF9yZXNldCA9IHNkbWFfdjJfNF9zb2Z0 X3Jlc2V0LAotCS5wcmludF9zdGF0dXMgPSBzZG1hX3YyXzRfcHJpbnRfc3RhdHVzLAogCS5zZXRf Y2xvY2tnYXRpbmdfc3RhdGUgPSBzZG1hX3YyXzRfc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlLAogCS5z ZXRfcG93ZXJnYXRpbmdfc3RhdGUgPSBzZG1hX3YyXzRfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAog fTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjNfMC5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92M18wLmMKaW5kZXggMWI1MDUzZi4uMDBi NDM3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92M18wLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92M18wLmMKQEAgLTEzMTQsNTcg KzEzMTQsNiBAQCBzdGF0aWMgaW50IHNkbWFfdjNfMF93YWl0X2Zvcl9pZGxlKHZvaWQgKmhhbmRs ZSkKIAlyZXR1cm4gLUVUSU1FRE9VVDsKIH0KIAotc3RhdGljIHZvaWQgc2RtYV92M18wX3ByaW50 X3N0YXR1cyh2b2lkICpoYW5kbGUpCi17Ci0JaW50IGksIGo7Ci0Jc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Ci0KLQlkZXZfaW5mbyhh ZGV2LT5kZXYsICJWSSBTRE1BIHJlZ2lzdGVyc1xuIik7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAi ICBTUkJNX1NUQVRVUzI9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tU1JCTV9TVEFUVVMyKSk7Ci0J Zm9yIChpID0gMDsgaSA8IGFkZXYtPnNkbWEubnVtX2luc3RhbmNlczsgaSsrKSB7Ci0JCWRldl9p bmZvKGFkZXYtPmRldiwgIiAgU0RNQSVkX1NUQVRVU19SRUc9MHglMDhYXG4iLAotCQkJIGksIFJS RUczMihtbVNETUEwX1NUQVRVU19SRUcgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2X2luZm8o YWRldi0+ZGV2LCAiICBTRE1BJWRfRjMyX0NOVEw9MHglMDhYXG4iLAotCQkJIGksIFJSRUczMiht bVNETUEwX0YzMl9DTlRMICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgU0RNQSVkX0NOVEw9MHglMDhYXG4iLAotCQkJIGksIFJSRUczMihtbVNETUEwX0NOVEwg KyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTRE1BJWRfU0VN X1dBSVRfRkFJTF9USU1FUl9DTlRMPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIobW1TRE1BMF9T RU1fV0FJVF9GQUlMX1RJTUVSX0NOVEwgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2X2luZm8o YWRldi0+ZGV2LCAiICBTRE1BJWRfR0ZYX0lCX0NOVEw9MHglMDhYXG4iLAotCQkJIGksIFJSRUcz MihtbVNETUEwX0dGWF9JQl9DTlRMICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgU0RNQSVkX0dGWF9SQl9DTlRMPTB4JTA4WFxuIiwKLQkJCSBpLCBSUkVHMzIo bW1TRE1BMF9HRlhfUkJfQ05UTCArIHNkbWFfb2Zmc2V0c1tpXSkpOwotCQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIFNETUElZF9HRlhfUkJfUlBUUj0weCUwOFhcbiIsCi0JCQkgaSwgUlJFRzMyKG1t U0RNQTBfR0ZYX1JCX1JQVFIgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBTRE1BJWRfR0ZYX1JCX1dQVFI9MHglMDhYXG4iLAotCQkJIGksIFJSRUczMihtbVNE TUEwX0dGWF9SQl9XUFRSICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgU0RNQSVkX0dGWF9SQl9SUFRSX0FERFJfSEk9MHglMDhYXG4iLAotCQkJIGksIFJSRUcz MihtbVNETUEwX0dGWF9SQl9SUFRSX0FERFJfSEkgKyBzZG1hX29mZnNldHNbaV0pKTsKLQkJZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBTRE1BJWRfR0ZYX1JCX1JQVFJfQUREUl9MTz0weCUwOFhcbiIs Ci0JCQkgaSwgUlJFRzMyKG1tU0RNQTBfR0ZYX1JCX1JQVFJfQUREUl9MTyArIHNkbWFfb2Zmc2V0 c1tpXSkpOwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNETUElZF9HRlhfUkJfQkFTRT0weCUw OFhcbiIsCi0JCQkgaSwgUlJFRzMyKG1tU0RNQTBfR0ZYX1JCX0JBU0UgKyBzZG1hX29mZnNldHNb aV0pKTsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiICBTRE1BJWRfR0ZYX1JCX0JBU0VfSEk9MHgl MDhYXG4iLAotCQkJIGksIFJSRUczMihtbVNETUEwX0dGWF9SQl9CQVNFX0hJICsgc2RtYV9vZmZz ZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0RNQSVkX0dGWF9ET09SQkVMTD0w eCUwOFhcbiIsCi0JCQkgaSwgUlJFRzMyKG1tU0RNQTBfR0ZYX0RPT1JCRUxMICsgc2RtYV9vZmZz ZXRzW2ldKSk7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgU0RNQSVkX1RJTElOR19DT05GSUc9 MHglMDhYXG4iLAotCQkJIGksIFJSRUczMihtbVNETUEwX1RJTElOR19DT05GSUcgKyBzZG1hX29m ZnNldHNbaV0pKTsKLQkJbXV0ZXhfbG9jaygmYWRldi0+c3JibV9tdXRleCk7Ci0JCWZvciAoaiA9 IDA7IGogPCAxNjsgaisrKSB7Ci0JCQl2aV9zcmJtX3NlbGVjdChhZGV2LCAwLCAwLCAwLCBqKTsK LQkJCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVk0gJWQ6XG4iLCBqKTsKLQkJCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgU0RNQSVkX0dGWF9WSVJUVUFMX0FERFI9MHglMDhYXG4iLAotCQkJCSBpLCBS UkVHMzIobW1TRE1BMF9HRlhfVklSVFVBTF9BRERSICsgc2RtYV9vZmZzZXRzW2ldKSk7Ci0JCQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNETUElZF9HRlhfQVBFMV9DTlRMPTB4JTA4WFxuIiwKLQkJ CQkgaSwgUlJFRzMyKG1tU0RNQTBfR0ZYX0FQRTFfQ05UTCArIHNkbWFfb2Zmc2V0c1tpXSkpOwot CQl9Ci0JCXZpX3NyYm1fc2VsZWN0KGFkZXYsIDAsIDAsIDAsIDApOwotCQltdXRleF91bmxvY2so JmFkZXYtPnNyYm1fbXV0ZXgpOwotCX0KLX0KLQogc3RhdGljIGludCBzZG1hX3YzXzBfc29mdF9y ZXNldCh2b2lkICpoYW5kbGUpCiB7CiAJdTMyIHNyYm1fc29mdF9yZXNldCA9IDA7CkBAIC0xMzg3 LDggKzEzMzYsNiBAQCBzdGF0aWMgaW50IHNkbWFfdjNfMF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRs ZSkKIAl9CiAKIAlpZiAoc3JibV9zb2Z0X3Jlc2V0KSB7Ci0JCXNkbWFfdjNfMF9wcmludF9zdGF0 dXMoKHZvaWQgKilhZGV2KTsKLQogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwog CQl0bXAgfD0gc3JibV9zb2Z0X3Jlc2V0OwogCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJTUkJNX1NP RlRfUkVTRVQ9MHglMDhYXG4iLCB0bXApOwpAQCAtMTQwMyw4ICsxMzUwLDYgQEAgc3RhdGljIGlu dCBzZG1hX3YzXzBfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiAKIAkJLyogV2FpdCBhIGxpdHRs ZSBmb3IgdGhpbmdzIHRvIHNldHRsZSBkb3duICovCiAJCXVkZWxheSg1MCk7Ci0KLQkJc2RtYV92 M18wX3ByaW50X3N0YXR1cygodm9pZCAqKWFkZXYpOwogCX0KIAogCXJldHVybiAwOwpAQCAtMTYw OCw3ICsxNTUzLDYgQEAgY29uc3Qgc3RydWN0IGFtZF9pcF9mdW5jcyBzZG1hX3YzXzBfaXBfZnVu Y3MgPSB7CiAJLmlzX2lkbGUgPSBzZG1hX3YzXzBfaXNfaWRsZSwKIAkud2FpdF9mb3JfaWRsZSA9 IHNkbWFfdjNfMF93YWl0X2Zvcl9pZGxlLAogCS5zb2Z0X3Jlc2V0ID0gc2RtYV92M18wX3NvZnRf cmVzZXQsCi0JLnByaW50X3N0YXR1cyA9IHNkbWFfdjNfMF9wcmludF9zdGF0dXMsCiAJLnNldF9j bG9ja2dhdGluZ19zdGF0ZSA9IHNkbWFfdjNfMF9zZXRfY2xvY2tnYXRpbmdfc3RhdGUsCiAJLnNl dF9wb3dlcmdhdGluZ19zdGF0ZSA9IHNkbWFfdjNfMF9zZXRfcG93ZXJnYXRpbmdfc3RhdGUsCiB9 OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfZHBtLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS90b25nYV9kcG0uYwppbmRleCAwNDk3Nzg0Li41NTJm MGY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS90b25nYV9kcG0uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS90b25nYV9kcG0uYwpAQCAtMTU0LDcgKzE1 NCw2IEBAIGNvbnN0IHN0cnVjdCBhbWRfaXBfZnVuY3MgdG9uZ2FfZHBtX2lwX2Z1bmNzID0gewog CS5pc19pZGxlID0gTlVMTCwKIAkud2FpdF9mb3JfaWRsZSA9IE5VTEwsCiAJLnNvZnRfcmVzZXQg PSBOVUxMLAotCS5wcmludF9zdGF0dXMgPSBOVUxMLAogCS5zZXRfY2xvY2tnYXRpbmdfc3RhdGUg PSB0b25nYV9kcG1fc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlLAogCS5zZXRfcG93ZXJnYXRpbmdfc3Rh dGUgPSB0b25nYV9kcG1fc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3RvbmdhX2loLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS90b25nYV9paC5jCmluZGV4IGI2ZjdkN2IuLmRkOWU1ZTMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3RvbmdhX2loLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvdG9uZ2FfaWguYwpAQCAtMzc0LDM1ICszNzQsNiBAQCBzdGF0aWMgaW50IHRv bmdhX2loX3dhaXRfZm9yX2lkbGUodm9pZCAqaGFuZGxlKQogCXJldHVybiAtRVRJTUVET1VUOwog fQogCi1zdGF0aWMgdm9pZCB0b25nYV9paF9wcmludF9zdGF0dXModm9pZCAqaGFuZGxlKQotewot CXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFu ZGxlOwotCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiVE9OR0EgSUggcmVnaXN0ZXJzXG4iKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNSQk1fU1RBVFVTPTB4JTA4WFxuIiwKLQkJUlJFRzMyKG1t U1JCTV9TVEFUVVMpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFNSQk1fU1RBVFVTMj0weCUw OFhcbiIsCi0JCVJSRUczMihtbVNSQk1fU1RBVFVTMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgSU5URVJSVVBUX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSU5URVJSVVBUX0NOVEwp KTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIElOVEVSUlVQVF9DTlRMMj0weCUwOFhcbiIsCi0J CSBSUkVHMzIobW1JTlRFUlJVUFRfQ05UTDIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIElI X0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSUhfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgSUhfUkJfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JSF9SQl9DTlRMKSk7 Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBJSF9SQl9CQVNFPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbUlIX1JCX0JBU0UpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIElIX1JCX1dQVFJfQURE Ul9MTz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JSF9SQl9XUFRSX0FERFJfTE8pKTsKLQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIElIX1JCX1dQVFJfQUREUl9IST0weCUwOFhcbiIsCi0JCSBSUkVH MzIobW1JSF9SQl9XUFRSX0FERFJfSEkpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIElIX1JC X1JQVFI9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tSUhfUkJfUlBUUikpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgSUhfUkJfV1BUUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1JSF9SQl9XUFRS KSk7Ci19Ci0KIHN0YXRpYyBpbnQgdG9uZ2FfaWhfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiB7 CiAJdTMyIHNyYm1fc29mdF9yZXNldCA9IDA7CkBAIC00MTQsOCArMzg1LDYgQEAgc3RhdGljIGlu dCB0b25nYV9paF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAkJCQkJCVNPRlRfUkVTRVRfSUgs IDEpOwogCiAJaWYgKHNyYm1fc29mdF9yZXNldCkgewotCQl0b25nYV9paF9wcmludF9zdGF0dXMo YWRldik7Ci0KIAkJdG1wID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsKIAkJdG1wIHw9IHNy Ym1fc29mdF9yZXNldDsKIAkJZGV2X2luZm8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4 JTA4WFxuIiwgdG1wKTsKQEAgLTQzMCw4ICszOTksNiBAQCBzdGF0aWMgaW50IHRvbmdhX2loX3Nv ZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCiAJCS8qIFdhaXQgYSBsaXR0bGUgZm9yIHRoaW5ncyB0 byBzZXR0bGUgZG93biAqLwogCQl1ZGVsYXkoNTApOwotCi0JCXRvbmdhX2loX3ByaW50X3N0YXR1 cyhhZGV2KTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTQ2MSw3ICs0MjgsNiBAQCBjb25zdCBzdHJ1 Y3QgYW1kX2lwX2Z1bmNzIHRvbmdhX2loX2lwX2Z1bmNzID0gewogCS5pc19pZGxlID0gdG9uZ2Ff aWhfaXNfaWRsZSwKIAkud2FpdF9mb3JfaWRsZSA9IHRvbmdhX2loX3dhaXRfZm9yX2lkbGUsCiAJ LnNvZnRfcmVzZXQgPSB0b25nYV9paF9zb2Z0X3Jlc2V0LAotCS5wcmludF9zdGF0dXMgPSB0b25n YV9paF9wcmludF9zdGF0dXMsCiAJLnNldF9jbG9ja2dhdGluZ19zdGF0ZSA9IHRvbmdhX2loX3Nl dF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gdG9uZ2FfaWhf c2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3V2ZF92NF8yLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjRf Mi5jCmluZGV4IGMyNTdjZmEuLmFiZDM3YTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3V2ZF92NF8yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZk X3Y0XzIuYwpAQCAtNjgwLDExNyArNjgwLDYgQEAgc3RhdGljIGludCB1dmRfdjRfMl9zb2Z0X3Jl c2V0KHZvaWQgKmhhbmRsZSkKIAlyZXR1cm4gdXZkX3Y0XzJfc3RhcnQoYWRldik7CiB9CiAKLXN0 YXRpYyB2b2lkIHV2ZF92NF8yX3ByaW50X3N0YXR1cyh2b2lkICpoYW5kbGUpCi17Ci0Jc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Ci0J ZGV2X2luZm8oYWRldi0+ZGV2LCAiVVZEIDQuMiByZWdpc3RlcnNcbiIpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgVVZEX1NFTUFfQUREUl9MT1c9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZE X1NFTUFfQUREUl9MT1cpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9TRU1BX0FERFJf SElHSD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfU0VNQV9BRERSX0hJR0gpKTsKLQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIFVWRF9TRU1BX0NNRD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1V VkRfU0VNQV9DTUQpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9HUENPTV9WQ1BVX0NN RD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfR1BDT01fVkNQVV9DTUQpKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIFVWRF9HUENPTV9WQ1BVX0RBVEEwPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbVVWRF9HUENPTV9WQ1BVX0RBVEEwKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRf R1BDT01fVkNQVV9EQVRBMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfR1BDT01fVkNQVV9E QVRBMSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0VOR0lORV9DTlRMPTB4JTA4WFxu IiwKLQkJIFJSRUczMihtbVVWRF9FTkdJTkVfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVVZEX1VERUNfQUREUl9DT05GSUc9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1VERUNf QUREUl9DT05GSUcpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9VREVDX0RCX0FERFJf Q09ORklHPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9VREVDX0RCX0FERFJfQ09ORklHKSk7 Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfVURFQ19EQldfQUREUl9DT05GSUc9MHglMDhY XG4iLAotCQkgUlJFRzMyKG1tVVZEX1VERUNfREJXX0FERFJfQ09ORklHKSk7Ci0JZGV2X2luZm8o YWRldi0+ZGV2LCAiICBVVkRfU0VNQV9DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9T RU1BX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9MTUlfRVhUNDBfQUREUj0w eCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTE1JX0VYVDQwX0FERFIpKTsKLQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIFVWRF9DVFhfSU5ERVg9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX0NU WF9JTkRFWCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0NUWF9EQVRBPTB4JTA4WFxu IiwKLQkJIFJSRUczMihtbVVWRF9DVFhfREFUQSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg VVZEX0NHQ19HQVRFPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9DR0NfR0FURSkpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0NHQ19DVFJMPTB4JTA4WFxuIiwKLQkJIFJSRUczMiht bVVWRF9DR0NfQ1RSTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0xNSV9DVFJMMj0w eCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTE1JX0NUUkwyKSk7Ci0JZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBVVkRfTUFTVElOVF9FTj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTUFTVElO VF9FTikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0xNSV9BRERSX0VYVD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1VVkRfTE1JX0FERFJfRVhUKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBVVkRfTE1JX0NUUkw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX0xNSV9DVFJMKSk7 Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfTE1JX1NXQVBfQ05UTD0weCUwOFhcbiIsCi0J CSBSUkVHMzIobW1VVkRfTE1JX1NXQVBfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg VVZEX01QX1NXQVBfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTVBfU1dBUF9DTlRM KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfTVBDX1NFVF9NVVhBMD0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1VVkRfTVBDX1NFVF9NVVhBMCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVVZEX01QQ19TRVRfTVVYQTE9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX01QQ19TRVRf TVVYQTEpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9NUENfU0VUX01VWEIwPTB4JTA4 WFxuIiwKLQkJIFJSRUczMihtbVVWRF9NUENfU0VUX01VWEIwKSk7Ci0JZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBVVkRfTVBDX1NFVF9NVVhCMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTVBD X1NFVF9NVVhCMSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX01QQ19TRVRfTVVYPTB4 JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9NUENfU0VUX01VWCkpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgVVZEX01QQ19TRVRfQUxVPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9NUENf U0VUX0FMVSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1ZDUFVfQ0FDSEVfT0ZGU0VU MD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9PRkZTRVQwKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfVkNQVV9DQUNIRV9TSVpFMD0weCUwOFhcbiIsCi0JCSBS UkVHMzIobW1VVkRfVkNQVV9DQUNIRV9TSVpFMCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg VVZEX1ZDUFVfQ0FDSEVfT0ZGU0VUMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9D QUNIRV9PRkZTRVQxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfVkNQVV9DQUNIRV9T SVpFMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9TSVpFMSkpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1ZDUFVfQ0FDSEVfT0ZGU0VUMj0weCUwOFhcbiIsCi0J CSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9PRkZTRVQyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBVVkRfVkNQVV9DQUNIRV9TSVpFMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQ VV9DQUNIRV9TSVpFMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1ZDUFVfQ05UTD0w eCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBVVkRfU09GVF9SRVNFVD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfU09GVF9S RVNFVCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1JCQ19JQl9CQVNFPTB4JTA4WFxu IiwKLQkJIFJSRUczMihtbVVWRF9SQkNfSUJfQkFTRSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVVZEX1JCQ19JQl9TSVpFPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9SQkNfSUJfU0la RSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1JCQ19SQl9CQVNFPTB4JTA4WFxuIiwK LQkJIFJSRUczMihtbVVWRF9SQkNfUkJfQkFTRSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg VVZEX1JCQ19SQl9SUFRSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9SQkNfUkJfUlBUUikp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1JCQ19SQl9XUFRSPTB4JTA4WFxuIiwKLQkJ IFJSRUczMihtbVVWRF9SQkNfUkJfV1BUUikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZE X1JCQ19SQl9XUFRSX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1JCQ19SQl9XUFRS X0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9SQkNfUkJfQ05UTD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1VVkRfUkJDX1JCX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIFVWRF9TVEFUVVM9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NUQVRVUykpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1NFTUFfVElNRU9VVF9TVEFUVVM9MHglMDhYXG4iLAot CQkgUlJFRzMyKG1tVVZEX1NFTUFfVElNRU9VVF9TVEFUVVMpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFVWRF9TRU1BX1dBSVRfSU5DT01QTEVURV9USU1FT1VUX0NOVEw9MHglMDhYXG4iLAot CQkgUlJFRzMyKG1tVVZEX1NFTUFfV0FJVF9JTkNPTVBMRVRFX1RJTUVPVVRfQ05UTCkpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1NFTUFfV0FJVF9GQVVMVF9USU1FT1VUX0NOVEw9MHgl MDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NFTUFfV0FJVF9GQVVMVF9USU1FT1VUX0NOVEwpKTsK LQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9TRU1BX1NJR05BTF9JTkNPTVBMRVRFX1RJTUVP VVRfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfU0VNQV9TSUdOQUxfSU5DT01QTEVU RV9USU1FT1VUX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9DT05URVhUX0lE PTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9DT05URVhUX0lEKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBVVkRfVURFQ19BRERSX0NPTkZJRz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1V VkRfVURFQ19BRERSX0NPTkZJRykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1VERUNf REJfQUREUl9DT05GSUc9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1VERUNfREJfQUREUl9D T05GSUcpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9VREVDX0RCV19BRERSX0NPTkZJ Rz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVURFQ19EQldfQUREUl9DT05GSUcpKTsKLQot fQotCiBzdGF0aWMgaW50IHV2ZF92NF8yX3NldF9pbnRlcnJ1cHRfc3RhdGUoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsCiAJCQkJCXN0cnVjdCBhbWRncHVfaXJxX3NyYyAqc291cmNlLAogCQkJ CQl1bnNpZ25lZCB0eXBlLApAQCAtODYxLDcgKzc1MCw2IEBAIGNvbnN0IHN0cnVjdCBhbWRfaXBf ZnVuY3MgdXZkX3Y0XzJfaXBfZnVuY3MgPSB7CiAJLmlzX2lkbGUgPSB1dmRfdjRfMl9pc19pZGxl LAogCS53YWl0X2Zvcl9pZGxlID0gdXZkX3Y0XzJfd2FpdF9mb3JfaWRsZSwKIAkuc29mdF9yZXNl dCA9IHV2ZF92NF8yX3NvZnRfcmVzZXQsCi0JLnByaW50X3N0YXR1cyA9IHV2ZF92NF8yX3ByaW50 X3N0YXR1cywKIAkuc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gdXZkX3Y0XzJfc2V0X2Nsb2NrZ2F0 aW5nX3N0YXRlLAogCS5zZXRfcG93ZXJnYXRpbmdfc3RhdGUgPSB1dmRfdjRfMl9zZXRfcG93ZXJn YXRpbmdfc3RhdGUsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv dXZkX3Y1XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92NV8wLmMKaW5kZXgg NWYwZDRmNy4uMWMxYTBlMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L3V2ZF92NV8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y1XzAuYwpA QCAtNjI0LDEyMCArNjI0LDYgQEAgc3RhdGljIGludCB1dmRfdjVfMF9zb2Z0X3Jlc2V0KHZvaWQg KmhhbmRsZSkKIAlyZXR1cm4gdXZkX3Y1XzBfc3RhcnQoYWRldik7CiB9CiAKLXN0YXRpYyB2b2lk IHV2ZF92NV8wX3ByaW50X3N0YXR1cyh2b2lkICpoYW5kbGUpCi17Ci0Jc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Ci0JZGV2X2luZm8o YWRldi0+ZGV2LCAiVVZEIDUuMCByZWdpc3RlcnNcbiIpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVVZEX1NFTUFfQUREUl9MT1c9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NFTUFfQURE Ul9MT1cpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9TRU1BX0FERFJfSElHSD0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfU0VNQV9BRERSX0hJR0gpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIFVWRF9TRU1BX0NNRD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfU0VNQV9D TUQpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9HUENPTV9WQ1BVX0NNRD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1VVkRfR1BDT01fVkNQVV9DTUQpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFVWRF9HUENPTV9WQ1BVX0RBVEEwPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9H UENPTV9WQ1BVX0RBVEEwKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfR1BDT01fVkNQ VV9EQVRBMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfR1BDT01fVkNQVV9EQVRBMSkpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0VOR0lORV9DTlRMPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbVVWRF9FTkdJTkVfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1VE RUNfQUREUl9DT05GSUc9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1VERUNfQUREUl9DT05G SUcpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9VREVDX0RCX0FERFJfQ09ORklHPTB4 JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9VREVDX0RCX0FERFJfQ09ORklHKSk7Ci0JZGV2X2lu Zm8oYWRldi0+ZGV2LCAiICBVVkRfVURFQ19EQldfQUREUl9DT05GSUc9MHglMDhYXG4iLAotCQkg UlJFRzMyKG1tVVZEX1VERUNfREJXX0FERFJfQ09ORklHKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBVVkRfU0VNQV9DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9TRU1BX0NOVEwp KTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9MTUlfRVhUNDBfQUREUj0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1VVkRfTE1JX0VYVDQwX0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIFVWRF9DVFhfSU5ERVg9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX0NUWF9JTkRFWCkp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0NUWF9EQVRBPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbVVWRF9DVFhfREFUQSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0NHQ19H QVRFPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9DR0NfR0FURSkpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgVVZEX0NHQ19DVFJMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9DR0Nf Q1RSTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0xNSV9DVFJMMj0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1VVkRfTE1JX0NUUkwyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBV VkRfTUFTVElOVF9FTj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTUFTVElOVF9FTikpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0xNSV9BRERSX0VYVD0weCUwOFhcbiIsCi0JCSBS UkVHMzIobW1VVkRfTE1JX0FERFJfRVhUKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRf TE1JX0NUUkw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX0xNSV9DVFJMKSk7Ci0JZGV2X2lu Zm8oYWRldi0+ZGV2LCAiICBVVkRfTE1JX1NXQVBfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIo bW1VVkRfTE1JX1NXQVBfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX01QX1NX QVBfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTVBfU1dBUF9DTlRMKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfTVBDX1NFVF9NVVhBMD0weCUwOFhcbiIsCi0JCSBSUkVH MzIobW1VVkRfTVBDX1NFVF9NVVhBMCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX01Q Q19TRVRfTVVYQTE9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX01QQ19TRVRfTVVYQTEpKTsK LQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9NUENfU0VUX01VWEIwPTB4JTA4WFxuIiwKLQkJ IFJSRUczMihtbVVWRF9NUENfU0VUX01VWEIwKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBV VkRfTVBDX1NFVF9NVVhCMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTVBDX1NFVF9NVVhC MSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX01QQ19TRVRfTVVYPTB4JTA4WFxuIiwK LQkJIFJSRUczMihtbVVWRF9NUENfU0VUX01VWCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg VVZEX01QQ19TRVRfQUxVPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9NUENfU0VUX0FMVSkp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1ZDUFVfQ0FDSEVfT0ZGU0VUMD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9PRkZTRVQwKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBVVkRfVkNQVV9DQUNIRV9TSVpFMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1V VkRfVkNQVV9DQUNIRV9TSVpFMCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1ZDUFVf Q0FDSEVfT0ZGU0VUMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9PRkZT RVQxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfVkNQVV9DQUNIRV9TSVpFMT0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9TSVpFMSkpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgVVZEX1ZDUFVfQ0FDSEVfT0ZGU0VUMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIo bW1VVkRfVkNQVV9DQUNIRV9PRkZTRVQyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRf VkNQVV9DQUNIRV9TSVpFMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9T SVpFMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1ZDUFVfQ05UTD0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1VVkRfVkNQVV9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBV VkRfU09GVF9SRVNFVD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfU09GVF9SRVNFVCkpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0xNSV9SQkNfSUJfNjRCSVRfQkFSX0xPVz0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTE1JX1JCQ19JQl82NEJJVF9CQVJfTE9XKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfTE1JX1JCQ19JQl82NEJJVF9CQVJfSElHSD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1VVkRfTE1JX1JCQ19JQl82NEJJVF9CQVJfSElHSCkpOwotCWRldl9p bmZvKGFkZXYtPmRldiwgIiAgVVZEX1JCQ19JQl9TSVpFPTB4JTA4WFxuIiwKLQkJIFJSRUczMiht bVVWRF9SQkNfSUJfU0laRSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0xNSV9SQkNf UkJfNjRCSVRfQkFSX0xPVz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTE1JX1JCQ19SQl82 NEJJVF9CQVJfTE9XKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfTE1JX1JCQ19SQl82 NEJJVF9CQVJfSElHSD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTE1JX1JCQ19SQl82NEJJ VF9CQVJfSElHSCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1JCQ19SQl9SUFRSPTB4 JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9SQkNfUkJfUlBUUikpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgVVZEX1JCQ19SQl9XUFRSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9SQkNf UkJfV1BUUikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1JCQ19SQl9XUFRSX0NOVEw9 MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1JCQ19SQl9XUFRSX0NOVEwpKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIFVWRF9SQkNfUkJfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1V VkRfUkJDX1JCX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9TVEFUVVM9MHgl MDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NUQVRVUykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVVZEX1NFTUFfVElNRU9VVF9TVEFUVVM9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NF TUFfVElNRU9VVF9TVEFUVVMpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9TRU1BX1dB SVRfSU5DT01QTEVURV9USU1FT1VUX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NF TUFfV0FJVF9JTkNPTVBMRVRFX1RJTUVPVVRfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVVZEX1NFTUFfV0FJVF9GQVVMVF9USU1FT1VUX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tVVZEX1NFTUFfV0FJVF9GQVVMVF9USU1FT1VUX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFVWRF9TRU1BX1NJR05BTF9JTkNPTVBMRVRFX1RJTUVPVVRfQ05UTD0weCUwOFhcbiIs Ci0JCSBSUkVHMzIobW1VVkRfU0VNQV9TSUdOQUxfSU5DT01QTEVURV9USU1FT1VUX0NOVEwpKTsK LQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9DT05URVhUX0lEPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbVVWRF9DT05URVhUX0lEKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfVURF Q19BRERSX0NPTkZJRz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVURFQ19BRERSX0NPTkZJ RykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1VERUNfREJfQUREUl9DT05GSUc9MHgl MDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1VERUNfREJfQUREUl9DT05GSUcpKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIFVWRF9VREVDX0RCV19BRERSX0NPTkZJRz0weCUwOFhcbiIsCi0JCSBS UkVHMzIobW1VVkRfVURFQ19EQldfQUREUl9DT05GSUcpKTsKLX0KLQogc3RhdGljIGludCB1dmRf djVfMF9zZXRfaW50ZXJydXB0X3N0YXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJ CQlzdHJ1Y3QgYW1kZ3B1X2lycV9zcmMgKnNvdXJjZSwKIAkJCQkJdW5zaWduZWQgdHlwZSwKQEAg LTkxNiw3ICs4MDIsNiBAQCBjb25zdCBzdHJ1Y3QgYW1kX2lwX2Z1bmNzIHV2ZF92NV8wX2lwX2Z1 bmNzID0gewogCS5pc19pZGxlID0gdXZkX3Y1XzBfaXNfaWRsZSwKIAkud2FpdF9mb3JfaWRsZSA9 IHV2ZF92NV8wX3dhaXRfZm9yX2lkbGUsCiAJLnNvZnRfcmVzZXQgPSB1dmRfdjVfMF9zb2Z0X3Jl c2V0LAotCS5wcmludF9zdGF0dXMgPSB1dmRfdjVfMF9wcmludF9zdGF0dXMsCiAJLnNldF9jbG9j a2dhdGluZ19zdGF0ZSA9IHV2ZF92NV8wX3NldF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bv d2VyZ2F0aW5nX3N0YXRlID0gdXZkX3Y1XzBfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92Nl8wLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZfMC5jCmluZGV4IDdlN2MzZGEuLjU2NjVhNGYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92Nl8wLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y2XzAuYwpAQCAtNzA2LDExMiArNzA2LDYgQEAg c3RhdGljIGludCB1dmRfdjZfMF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAlyZXR1cm4gdXZk X3Y2XzBfc3RhcnQoYWRldik7CiB9CiAKLXN0YXRpYyB2b2lkIHV2ZF92Nl8wX3ByaW50X3N0YXR1 cyh2b2lkICpoYW5kbGUpCi17Ci0Jc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiVVZEIDYuMCBy ZWdpc3RlcnNcbiIpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1NFTUFfQUREUl9MT1c9 MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NFTUFfQUREUl9MT1cpKTsKLQlkZXZfaW5mbyhh ZGV2LT5kZXYsICIgIFVWRF9TRU1BX0FERFJfSElHSD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1V VkRfU0VNQV9BRERSX0hJR0gpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9TRU1BX0NN RD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfU0VNQV9DTUQpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIFVWRF9HUENPTV9WQ1BVX0NNRD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRf R1BDT01fVkNQVV9DTUQpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9HUENPTV9WQ1BV X0RBVEEwPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9HUENPTV9WQ1BVX0RBVEEwKSk7Ci0J ZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfR1BDT01fVkNQVV9EQVRBMT0weCUwOFhcbiIsCi0J CSBSUkVHMzIobW1VVkRfR1BDT01fVkNQVV9EQVRBMSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVVZEX0VOR0lORV9DTlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9FTkdJTkVfQ05U TCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1VERUNfQUREUl9DT05GSUc9MHglMDhY XG4iLAotCQkgUlJFRzMyKG1tVVZEX1VERUNfQUREUl9DT05GSUcpKTsKLQlkZXZfaW5mbyhhZGV2 LT5kZXYsICIgIFVWRF9VREVDX0RCX0FERFJfQ09ORklHPTB4JTA4WFxuIiwKLQkJIFJSRUczMiht bVVWRF9VREVDX0RCX0FERFJfQ09ORklHKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRf VURFQ19EQldfQUREUl9DT05GSUc9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1VERUNfREJX X0FERFJfQ09ORklHKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfU0VNQV9DTlRMPTB4 JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9TRU1BX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFVWRF9MTUlfRVhUNDBfQUREUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTE1J X0VYVDQwX0FERFIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9DVFhfSU5ERVg9MHgl MDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX0NUWF9JTkRFWCkpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgVVZEX0NUWF9EQVRBPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9DVFhfREFUQSkp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0NHQ19HQVRFPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbVVWRF9DR0NfR0FURSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX0NHQ19D VFJMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9DR0NfQ1RSTCkpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgVVZEX0xNSV9DVFJMMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTE1J X0NUUkwyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfTUFTVElOVF9FTj0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1VVkRfTUFTVElOVF9FTikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVVZEX0xNSV9BRERSX0VYVD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTE1JX0FERFJf RVhUKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfTE1JX0NUUkw9MHglMDhYXG4iLAot CQkgUlJFRzMyKG1tVVZEX0xNSV9DVFJMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRf TE1JX1NXQVBfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTE1JX1NXQVBfQ05UTCkp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX01QX1NXQVBfQ05UTD0weCUwOFhcbiIsCi0J CSBSUkVHMzIobW1VVkRfTVBfU1dBUF9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBV VkRfTVBDX1NFVF9NVVhBMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTVBDX1NFVF9NVVhB MCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX01QQ19TRVRfTVVYQTE9MHglMDhYXG4i LAotCQkgUlJFRzMyKG1tVVZEX01QQ19TRVRfTVVYQTEpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIFVWRF9NUENfU0VUX01VWEIwPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9NUENfU0VU X01VWEIwKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfTVBDX1NFVF9NVVhCMT0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfTVBDX1NFVF9NVVhCMSkpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgVVZEX01QQ19TRVRfTVVYPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9NUENf U0VUX01VWCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX01QQ19TRVRfQUxVPTB4JTA4 WFxuIiwKLQkJIFJSRUczMihtbVVWRF9NUENfU0VUX0FMVSkpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgVVZEX1ZDUFVfQ0FDSEVfT0ZGU0VUMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRf VkNQVV9DQUNIRV9PRkZTRVQwKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfVkNQVV9D QUNIRV9TSVpFMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9TSVpFMCkp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1ZDUFVfQ0FDSEVfT0ZGU0VUMT0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9PRkZTRVQxKSk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiICBVVkRfVkNQVV9DQUNIRV9TSVpFMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1V VkRfVkNQVV9DQUNIRV9TSVpFMSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1ZDUFVf Q0FDSEVfT0ZGU0VUMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9PRkZT RVQyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfVkNQVV9DQUNIRV9TSVpFMj0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9TSVpFMikpOwotCWRldl9pbmZvKGFk ZXYtPmRldiwgIiAgVVZEX1ZDUFVfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVkNQ VV9DTlRMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfU09GVF9SRVNFVD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1VVkRfU09GVF9SRVNFVCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVVZEX1JCQ19JQl9TSVpFPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9SQkNfSUJfU0la RSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1JCQ19SQl9SUFRSPTB4JTA4WFxuIiwK LQkJIFJSRUczMihtbVVWRF9SQkNfUkJfUlBUUikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAg VVZEX1JCQ19SQl9XUFRSPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVWRF9SQkNfUkJfV1BUUikp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1JCQ19SQl9XUFRSX0NOVEw9MHglMDhYXG4i LAotCQkgUlJFRzMyKG1tVVZEX1JCQ19SQl9XUFRSX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFVWRF9SQkNfUkJfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfUkJDX1JC X0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9TVEFUVVM9MHglMDhYXG4iLAot CQkgUlJFRzMyKG1tVVZEX1NUQVRVUykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1NF TUFfVElNRU9VVF9TVEFUVVM9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NFTUFfVElNRU9V VF9TVEFUVVMpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVWRF9TRU1BX1dBSVRfSU5DT01Q TEVURV9USU1FT1VUX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NFTUFfV0FJVF9J TkNPTVBMRVRFX1RJTUVPVVRfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1NF TUFfV0FJVF9GQVVMVF9USU1FT1VUX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVVZEX1NF TUFfV0FJVF9GQVVMVF9USU1FT1VUX0NOVEwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFVW RF9TRU1BX1NJR05BTF9JTkNPTVBMRVRFX1RJTUVPVVRfQ05UTD0weCUwOFhcbiIsCi0JCSBSUkVH MzIobW1VVkRfU0VNQV9TSUdOQUxfSU5DT01QTEVURV9USU1FT1VUX0NOVEwpKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIFVWRF9DT05URVhUX0lEPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVVW RF9DT05URVhUX0lEKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBVVkRfVURFQ19BRERSX0NP TkZJRz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1VVkRfVURFQ19BRERSX0NPTkZJRykpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgVVZEX1VERUNfREJfQUREUl9DT05GSUc9MHglMDhYXG4iLAot CQkgUlJFRzMyKG1tVVZEX1VERUNfREJfQUREUl9DT05GSUcpKTsKLQlkZXZfaW5mbyhhZGV2LT5k ZXYsICIgIFVWRF9VREVDX0RCV19BRERSX0NPTkZJRz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1V VkRfVURFQ19EQldfQUREUl9DT05GSUcpKTsKLX0KLQogc3RhdGljIGludCB1dmRfdjZfMF9zZXRf aW50ZXJydXB0X3N0YXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJCQlzdHJ1Y3Qg YW1kZ3B1X2lycV9zcmMgKnNvdXJjZSwKIAkJCQkJdW5zaWduZWQgdHlwZSwKQEAgLTk5Myw3ICs4 ODcsNiBAQCBjb25zdCBzdHJ1Y3QgYW1kX2lwX2Z1bmNzIHV2ZF92Nl8wX2lwX2Z1bmNzID0gewog CS5pc19pZGxlID0gdXZkX3Y2XzBfaXNfaWRsZSwKIAkud2FpdF9mb3JfaWRsZSA9IHV2ZF92Nl8w X3dhaXRfZm9yX2lkbGUsCiAJLnNvZnRfcmVzZXQgPSB1dmRfdjZfMF9zb2Z0X3Jlc2V0LAotCS5w cmludF9zdGF0dXMgPSB1dmRfdjZfMF9wcmludF9zdGF0dXMsCiAJLnNldF9jbG9ja2dhdGluZ19z dGF0ZSA9IHV2ZF92Nl8wX3NldF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5n X3N0YXRlID0gdXZkX3Y2XzBfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92Ml8wLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS92Y2VfdjJfMC5jCmluZGV4IGFiOWVlMmEuLjk1ZjZlNTcgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92Ml8wLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvdmNlX3YyXzAuYwpAQCAtNDk1LDc1ICs0OTUsNiBAQCBzdGF0aWMgaW50 IHZjZV92Ml8wX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCXJldHVybiB2Y2VfdjJfMF9zdGFy dChhZGV2KTsKIH0KIAotc3RhdGljIHZvaWQgdmNlX3YyXzBfcHJpbnRfc3RhdHVzKHZvaWQgKmhh bmRsZSkKLXsKLQlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqKWhhbmRsZTsKLQotCWRldl9pbmZvKGFkZXYtPmRldiwgIlZDRSAyLjAgcmVnaXN0ZXJz XG4iKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9TVEFUVVM9MHglMDhYXG4iLAotCQkg UlJFRzMyKG1tVkNFX1NUQVRVUykpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX1ZDUFVf Q05UTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfVkNQVV9DTlRMKSk7Ci0JZGV2X2luZm8o YWRldi0+ZGV2LCAiICBWQ0VfVkNQVV9DQUNIRV9PRkZTRVQwPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbVZDRV9WQ1BVX0NBQ0hFX09GRlNFVDApKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZD RV9WQ1BVX0NBQ0hFX1NJWkUwPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9WQ1BVX0NBQ0hF X1NJWkUwKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfVkNQVV9DQUNIRV9PRkZTRVQx PTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9WQ1BVX0NBQ0hFX09GRlNFVDEpKTsKLQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIFZDRV9WQ1BVX0NBQ0hFX1NJWkUxPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbVZDRV9WQ1BVX0NBQ0hFX1NJWkUxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBW Q0VfVkNQVV9DQUNIRV9PRkZTRVQyPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9WQ1BVX0NB Q0hFX09GRlNFVDIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9WQ1BVX0NBQ0hFX1NJ WkUyPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9WQ1BVX0NBQ0hFX1NJWkUyKSk7Ci0JZGV2 X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfU09GVF9SRVNFVD0weCUwOFhcbiIsCi0JCSBSUkVHMzIo bW1WQ0VfU09GVF9SRVNFVCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX1JCX0JBU0Vf TE8yPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9SQl9CQVNFX0xPMikpOwotCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgVkNFX1JCX0JBU0VfSEkyPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZD RV9SQl9CQVNFX0hJMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX1JCX1NJWkUyPTB4 JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9SQl9TSVpFMikpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgVkNFX1JCX1JQVFIyPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9SQl9SUFRSMikp OwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX1JCX1dQVFIyPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbVZDRV9SQl9XUFRSMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX1JCX0JB U0VfTE89MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX1JCX0JBU0VfTE8pKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIFZDRV9SQl9CQVNFX0hJPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZD RV9SQl9CQVNFX0hJKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfUkJfU0laRT0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfUkJfU0laRSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwg IiAgVkNFX1JCX1JQVFI9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX1JCX1JQVFIpKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9SQl9XUFRSPTB4JTA4WFxuIiwKLQkJIFJSRUczMiht bVZDRV9SQl9XUFRSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfQ0xPQ0tfR0FUSU5H X0E9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX0NMT0NLX0dBVElOR19BKSk7Ci0JZGV2X2lu Zm8oYWRldi0+ZGV2LCAiICBWQ0VfQ0xPQ0tfR0FUSU5HX0I9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tVkNFX0NMT0NLX0dBVElOR19CKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfQ0dU VF9DTEtfT1ZFUlJJREU9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX0NHVFRfQ0xLX09WRVJS SURFKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfVUVOQ19DTE9DS19HQVRJTkc9MHgl MDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX1VFTkNfQ0xPQ0tfR0FUSU5HKSk7Ci0JZGV2X2luZm8o YWRldi0+ZGV2LCAiICBWQ0VfVUVOQ19SRUdfQ0xPQ0tfR0FUSU5HPTB4JTA4WFxuIiwKLQkJIFJS RUczMihtbVZDRV9VRU5DX1JFR19DTE9DS19HQVRJTkcpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYs ICIgIFZDRV9TWVNfSU5UX0VOPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9TWVNfSU5UX0VO KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfTE1JX0NUUkwyPTB4JTA4WFxuIiwKLQkJ IFJSRUczMihtbVZDRV9MTUlfQ1RSTDIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9M TUlfQ1RSTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfTE1JX0NUUkwpKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIFZDRV9MTUlfVk1fQ1RSTD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1W Q0VfTE1JX1ZNX0NUUkwpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9MTUlfU1dBUF9D TlRMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9MTUlfU1dBUF9DTlRMKSk7Ci0JZGV2X2lu Zm8oYWRldi0+ZGV2LCAiICBWQ0VfTE1JX1NXQVBfQ05UTDE9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tVkNFX0xNSV9TV0FQX0NOVEwxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfTE1J X0NBQ0hFX0NUUkw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX0xNSV9DQUNIRV9DVFJMKSk7 Ci19Ci0KIHN0YXRpYyBpbnQgdmNlX3YyXzBfc2V0X2ludGVycnVwdF9zdGF0ZShzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwKIAkJCQkJc3RydWN0IGFtZGdwdV9pcnFfc3JjICpzb3VyY2UsCiAJ CQkJCXVuc2lnbmVkIHR5cGUsCkBAIC02NDcsNyArNTc4LDYgQEAgY29uc3Qgc3RydWN0IGFtZF9p cF9mdW5jcyB2Y2VfdjJfMF9pcF9mdW5jcyA9IHsKIAkuaXNfaWRsZSA9IHZjZV92Ml8wX2lzX2lk bGUsCiAJLndhaXRfZm9yX2lkbGUgPSB2Y2VfdjJfMF93YWl0X2Zvcl9pZGxlLAogCS5zb2Z0X3Jl c2V0ID0gdmNlX3YyXzBfc29mdF9yZXNldCwKLQkucHJpbnRfc3RhdHVzID0gdmNlX3YyXzBfcHJp bnRfc3RhdHVzLAogCS5zZXRfY2xvY2tnYXRpbmdfc3RhdGUgPSB2Y2VfdjJfMF9zZXRfY2xvY2tn YXRpbmdfc3RhdGUsCiAJLnNldF9wb3dlcmdhdGluZ19zdGF0ZSA9IHZjZV92Ml8wX3NldF9wb3dl cmdhdGluZ19zdGF0ZSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS92Y2VfdjNfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3YzXzAuYwppbmRl eCA1ODM0Mjg1Li5lMWQ2YWU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS92Y2VfdjNfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92M18wLmMK QEAgLTU2Niw3MyArNTY2LDYgQEAgc3RhdGljIGludCB2Y2VfdjNfMF9zb2Z0X3Jlc2V0KHZvaWQg KmhhbmRsZSkKIAlyZXR1cm4gdmNlX3YzXzBfc3RhcnQoYWRldik7CiB9CiAKLXN0YXRpYyB2b2lk IHZjZV92M18wX3ByaW50X3N0YXR1cyh2b2lkICpoYW5kbGUpCi17Ci0Jc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Ci0KLQlkZXZfaW5m byhhZGV2LT5kZXYsICJWQ0UgMy4wIHJlZ2lzdGVyc1xuIik7Ci0JZGV2X2luZm8oYWRldi0+ZGV2 LCAiICBWQ0VfU1RBVFVTPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9TVEFUVVMpKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9WQ1BVX0NOVEw9MHglMDhYXG4iLAotCQkgUlJFRzMy KG1tVkNFX1ZDUFVfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX1ZDUFVfQ0FD SEVfT0ZGU0VUMD0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfVkNQVV9DQUNIRV9PRkZTRVQw KSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfVkNQVV9DQUNIRV9TSVpFMD0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1WQ0VfVkNQVV9DQUNIRV9TSVpFMCkpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgVkNFX1ZDUFVfQ0FDSEVfT0ZGU0VUMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1W Q0VfVkNQVV9DQUNIRV9PRkZTRVQxKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfVkNQ VV9DQUNIRV9TSVpFMT0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfVkNQVV9DQUNIRV9TSVpF MSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX1ZDUFVfQ0FDSEVfT0ZGU0VUMj0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfVkNQVV9DQUNIRV9PRkZTRVQyKSk7Ci0JZGV2X2luZm8o YWRldi0+ZGV2LCAiICBWQ0VfVkNQVV9DQUNIRV9TSVpFMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIo bW1WQ0VfVkNQVV9DQUNIRV9TSVpFMikpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX1NP RlRfUkVTRVQ9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX1NPRlRfUkVTRVQpKTsKLQlkZXZf aW5mbyhhZGV2LT5kZXYsICIgIFZDRV9SQl9CQVNFX0xPMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIo bW1WQ0VfUkJfQkFTRV9MTzIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9SQl9CQVNF X0hJMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfUkJfQkFTRV9ISTIpKTsKLQlkZXZfaW5m byhhZGV2LT5kZXYsICIgIFZDRV9SQl9TSVpFMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0Vf UkJfU0laRTIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9SQl9SUFRSMj0weCUwOFhc biIsCi0JCSBSUkVHMzIobW1WQ0VfUkJfUlBUUjIpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIg IFZDRV9SQl9XUFRSMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfUkJfV1BUUjIpKTsKLQlk ZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9SQl9CQVNFX0xPPTB4JTA4WFxuIiwKLQkJIFJSRUcz MihtbVZDRV9SQl9CQVNFX0xPKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfUkJfQkFT RV9IST0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfUkJfQkFTRV9ISSkpOwotCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgVkNFX1JCX1NJWkU9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX1JC X1NJWkUpKTsKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICIgIFZDRV9SQl9SUFRSPTB4JTA4WFxuIiwK LQkJIFJSRUczMihtbVZDRV9SQl9SUFRSKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0Vf UkJfV1BUUj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfUkJfV1BUUikpOwotCWRldl9pbmZv KGFkZXYtPmRldiwgIiAgVkNFX0NMT0NLX0dBVElOR19BPTB4JTA4WFxuIiwKLQkJIFJSRUczMiht bVZDRV9DTE9DS19HQVRJTkdfQSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX0NMT0NL X0dBVElOR19CPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9DTE9DS19HQVRJTkdfQikpOwot CWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX1VFTkNfQ0xPQ0tfR0FUSU5HPTB4JTA4WFxuIiwK LQkJIFJSRUczMihtbVZDRV9VRU5DX0NMT0NLX0dBVElORykpOwotCWRldl9pbmZvKGFkZXYtPmRl diwgIiAgVkNFX1VFTkNfUkVHX0NMT0NLX0dBVElORz0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1W Q0VfVUVOQ19SRUdfQ0xPQ0tfR0FUSU5HKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0Vf U1lTX0lOVF9FTj0weCUwOFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfU1lTX0lOVF9FTikpOwotCWRl dl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX0xNSV9DVFJMMj0weCUwOFhcbiIsCi0JCSBSUkVHMzIo bW1WQ0VfTE1JX0NUUkwyKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfTE1JX0NUUkw9 MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX0xNSV9DVFJMKSk7Ci0JZGV2X2luZm8oYWRldi0+ ZGV2LCAiICBWQ0VfTE1JX1ZNX0NUUkw9MHglMDhYXG4iLAotCQkgUlJFRzMyKG1tVkNFX0xNSV9W TV9DVFJMKSk7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiICBWQ0VfTE1JX1NXQVBfQ05UTD0weCUw OFhcbiIsCi0JCSBSUkVHMzIobW1WQ0VfTE1JX1NXQVBfQ05UTCkpOwotCWRldl9pbmZvKGFkZXYt PmRldiwgIiAgVkNFX0xNSV9TV0FQX0NOVEwxPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9M TUlfU1dBUF9DTlRMMSkpOwotCWRldl9pbmZvKGFkZXYtPmRldiwgIiAgVkNFX0xNSV9DQUNIRV9D VFJMPTB4JTA4WFxuIiwKLQkJIFJSRUczMihtbVZDRV9MTUlfQ0FDSEVfQ1RSTCkpOwotfQotCiBz dGF0aWMgaW50IHZjZV92M18wX3NldF9pbnRlcnJ1cHRfc3RhdGUoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsCiAJCQkJCXN0cnVjdCBhbWRncHVfaXJxX3NyYyAqc291cmNlLAogCQkJCQl1bnNp Z25lZCB0eXBlLApAQCAtNzUyLDcgKzY4NSw2IEBAIGNvbnN0IHN0cnVjdCBhbWRfaXBfZnVuY3Mg dmNlX3YzXzBfaXBfZnVuY3MgPSB7CiAJLmlzX2lkbGUgPSB2Y2VfdjNfMF9pc19pZGxlLAogCS53 YWl0X2Zvcl9pZGxlID0gdmNlX3YzXzBfd2FpdF9mb3JfaWRsZSwKIAkuc29mdF9yZXNldCA9IHZj ZV92M18wX3NvZnRfcmVzZXQsCi0JLnByaW50X3N0YXR1cyA9IHZjZV92M18wX3ByaW50X3N0YXR1 cywKIAkuc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gdmNlX3YzXzBfc2V0X2Nsb2NrZ2F0aW5nX3N0 YXRlLAogCS5zZXRfcG93ZXJnYXRpbmdfc3RhdGUgPSB2Y2VfdjNfMF9zZXRfcG93ZXJnYXRpbmdf c3RhdGUsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmkuYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMKaW5kZXggMGJkNTY3ZC4uMzQwYTE2NiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS92aS5jCkBAIC0xMjk1LDExICsxMjk1LDYgQEAgc3RhdGljIGlu dCB2aV9jb21tb25fd2FpdF9mb3JfaWRsZSh2b2lkICpoYW5kbGUpCiAJcmV0dXJuIDA7CiB9CiAK LXN0YXRpYyB2b2lkIHZpX2NvbW1vbl9wcmludF9zdGF0dXModm9pZCAqaGFuZGxlKQotewotCXJl dHVybjsKLX0KLQogc3RhdGljIGludCB2aV9jb21tb25fc29mdF9yZXNldCh2b2lkICpoYW5kbGUp CiB7CiAJcmV0dXJuIDA7CkBAIC0xNDI0LDcgKzE0MTksNiBAQCBjb25zdCBzdHJ1Y3QgYW1kX2lw X2Z1bmNzIHZpX2NvbW1vbl9pcF9mdW5jcyA9IHsKIAkuaXNfaWRsZSA9IHZpX2NvbW1vbl9pc19p ZGxlLAogCS53YWl0X2Zvcl9pZGxlID0gdmlfY29tbW9uX3dhaXRfZm9yX2lkbGUsCiAJLnNvZnRf cmVzZXQgPSB2aV9jb21tb25fc29mdF9yZXNldCwKLQkucHJpbnRfc3RhdHVzID0gdmlfY29tbW9u X3ByaW50X3N0YXR1cywKIAkuc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gdmlfY29tbW9uX3NldF9j bG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gdmlfY29tbW9uX3Nl dF9wb3dlcmdhdGluZ19zdGF0ZSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2luY2x1ZGUvYW1kX3NoYXJlZC5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2FtZF9z aGFyZWQuaAppbmRleCBlNTZkOGEzLi5lYTllZTQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2luY2x1ZGUvYW1kX3NoYXJlZC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5j bHVkZS9hbWRfc2hhcmVkLmgKQEAgLTE2NSw4ICsxNjUsNiBAQCBzdHJ1Y3QgYW1kX2lwX2Z1bmNz IHsKIAlpbnQgKCp3YWl0X2Zvcl9pZGxlKSh2b2lkICpoYW5kbGUpOwogCS8qIHNvZnQgcmVzZXQg dGhlIElQIGJsb2NrICovCiAJaW50ICgqc29mdF9yZXNldCkodm9pZCAqaGFuZGxlKTsKLQkvKiBk dW1wIHRoZSBJUCBibG9jayBzdGF0dXMgcmVnaXN0ZXJzICovCi0Jdm9pZCAoKnByaW50X3N0YXR1 cykodm9pZCAqaGFuZGxlKTsKIAkvKiBlbmFibGUvZGlzYWJsZSBjZyBmb3IgdGhlIElQIGJsb2Nr ICovCiAJaW50ICgqc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlKSh2b2lkICpoYW5kbGUsCiAJCQkJICAg ICBlbnVtIGFtZF9jbG9ja2dhdGluZ19zdGF0ZSBzdGF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMKaW5kZXggMDUyN2FlMy4uYWJhNTg3YyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYwpAQCAtMTgw LDEwICsxODAsNiBAQCBzdGF0aWMgaW50IHBwX3N3X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAlyZXR1 cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgcHBfcHJpbnRfc3RhdHVzKHZvaWQgKmhhbmRsZSkKLXsK LQotfQogCiBzdGF0aWMgaW50IHBwX3NldF9jbG9ja2dhdGluZ19zdGF0ZSh2b2lkICpoYW5kbGUs CiAJCQkJICAgIGVudW0gYW1kX2Nsb2NrZ2F0aW5nX3N0YXRlIHN0YXRlKQpAQCAtMzU1LDcgKzM1 MSw2IEBAIGNvbnN0IHN0cnVjdCBhbWRfaXBfZnVuY3MgcHBfaXBfZnVuY3MgPSB7CiAJLmlzX2lk bGUgPSBwcF9pc19pZGxlLAogCS53YWl0X2Zvcl9pZGxlID0gcHBfd2FpdF9mb3JfaWRsZSwKIAku c29mdF9yZXNldCA9IHBwX3N3X3Jlc2V0LAotCS5wcmludF9zdGF0dXMgPSBwcF9wcmludF9zdGF0 dXMsCiAJLnNldF9jbG9ja2dhdGluZ19zdGF0ZSA9IHBwX3NldF9jbG9ja2dhdGluZ19zdGF0ZSwK IAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gcHBfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAogfTsK LS0gCjIuNS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK