From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH 06/10] drm/i915/ddi: Use power well CTL IDX instead of ID Date: Fri, 20 Jul 2018 17:15:00 +0300 Message-ID: <20180720141504.22832-7-imre.deak@intel.com> References: <20180720141504.22832-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 555CF6F004 for ; Fri, 20 Jul 2018 14:16:01 +0000 (UTC) In-Reply-To: <20180720141504.22832-1-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Jani Nikula , Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org U2ltaWxhcmx5IHRvIHRoZSBwcmV2aW91cyBwYXRjaCB1c2UgYSBzZXBhcmF0ZSByZXF1ZXN0L3N0 YXR1cyBIVyBmbGFnCmluZGV4IGRlZmluZWQgcmlnaHQgYWZ0ZXIgdGhlIGNvcnJlc3BvbmRpbmcg Y29udHJvbCByZWdpc3RlcnMgaW5zdGVhZCBvZgpkZXBlbmRpbmcgZm9yIHRoaXMgb24gdGhlIHBv d2VyIHdlbGwgSURzLiBTaW5jZSB0aGUgc2V0IG9mCmNvbnRyb2wvc3RhdHVzIHJlZ2lzdGVycyB2 YXJpZXMgYW1vbmcgdGhlIGRpZmZlcmVudCBwb3dlciB3ZWxscyAob24gYQpzaW5nbGUgcGxhdGZv cm0pLCBhbHNvIGFkZCBhIG5ldyBpOTE1X3Bvd2VyX3dlbGxfcmVnaXN0ZXJzIHN0cnVjdCB0aGF0 CndlIHBvcHVsYXRlIGFuZCBhc3NpZ24gdG8gZWFjaCBEREkgcG93ZXIgd2VsbCBhcyBuZWVkZWQu CgpBbHNvIGNsYXJpZnkgYSBiaXQgdGhlIGNvZGUgY29tbWVudCBkZXNjcmliaW5nIHRoZSBmdW5j dGlvbiBhbmQgbGF5b3V0Cm9mIHRoZSBjb250cm9sIHJlZ2lzdGVycy4KClRoaXMgYWxzbyBmaXhl cyBhIHByb2JsZW0gb24gSUNMLCB3aGVyZSB3ZSBpbmNvcnJlY3RseSByZWFkIHRoZSBLVk1SCmNv bnRyb2wgcmVnaXN0ZXIgaW4gaHN3X3Bvd2VyX3dlbGxfcmVxdWVzdGVycygpIGV2ZW4gZm9yIERE SSBhbmQgQVVYCnBvd2VyIHdlbGxzLgoKQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgpDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5j b20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3Z0L2hhbmRsZXJzLmMgICAgIHwgIDMwICstLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICB8ICAxMyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgICAgICAgIHwgMTI2ICsrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyAgICB8ICAgNSArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGlt ZV9wbS5jIHwgMzAyICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiA1IGZpbGVzIGNo YW5nZWQsIDM1OSBpbnNlcnRpb25zKCspLCAxMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQvaGFuZGxlcnMuYwppbmRleCA3YTU4Y2E1NTUxOTcuLjc5ZTc0ODU2OWQzMSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMKQEAgLTEyODcsMTIgKzEyODcsMTIgQEAgc3RhdGlj IGludCBwb3dlcl93ZWxsX2N0bF9tbWlvX3dyaXRlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAog ewogCXdyaXRlX3ZyZWcodmdwdSwgb2Zmc2V0LCBwX2RhdGEsIGJ5dGVzKTsKIAotCWlmICh2Z3B1 X3ZyZWcodmdwdSwgb2Zmc2V0KSAmIEhTV19QV1JfV0VMTF9DVExfUkVRKEhTV19ESVNQX1BXX0dM T0JBTCkpCisJaWYgKHZncHVfdnJlZyh2Z3B1LCBvZmZzZXQpICYgSFNXX1BXUl9XRUxMX0NUTF9S RVEoSFNXX1BXX0NUTF9JRFhfR0xPQkFMKSkKIAkJdmdwdV92cmVnKHZncHUsIG9mZnNldCkgfD0K LQkJCUhTV19QV1JfV0VMTF9DVExfU1RBVEUoSFNXX0RJU1BfUFdfR0xPQkFMKTsKKwkJCUhTV19Q V1JfV0VMTF9DVExfU1RBVEUoSFNXX1BXX0NUTF9JRFhfR0xPQkFMKTsKIAllbHNlCiAJCXZncHVf dnJlZyh2Z3B1LCBvZmZzZXQpICY9Ci0JCQl+SFNXX1BXUl9XRUxMX0NUTF9TVEFURShIU1dfRElT UF9QV19HTE9CQUwpOworCQkJfkhTV19QV1JfV0VMTF9DVExfU1RBVEUoSFNXX1BXX0NUTF9JRFhf R0xPQkFMKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjQ0MywxNyArMjQ0MywxMCBAQCBzdGF0aWMg aW50IGluaXRfZ2VuZXJpY19tbWlvX2luZm8oc3RydWN0IGludGVsX2d2dCAqZ3Z0KQogCU1NSU9f RChHRU42X1JDNnBfVEhSRVNIT0xELCBEX0FMTCk7CiAJTU1JT19EKEdFTjZfUkM2cHBfVEhSRVNI T0xELCBEX0FMTCk7CiAJTU1JT19EKEdFTjZfUE1JTlRSTVNLLCBEX0FMTCk7Ci0JLyoKLQkgKiBV c2UgYW4gYXJiaXRyYXJ5IHBvd2VyIHdlbGwgY29udHJvbGxlZCBieSB0aGUgUFdSX1dFTExfQ1RM Ci0JICogcmVnaXN0ZXIuCi0JICovCi0JTU1JT19ESChIU1dfUFdSX1dFTExfQ1RMX0JJT1MoSFNX X0RJU1BfUFdfR0xPQkFMKSwgRF9CRFcsIE5VTEwsCi0JCXBvd2VyX3dlbGxfY3RsX21taW9fd3Jp dGUpOwotCU1NSU9fREgoSFNXX1BXUl9XRUxMX0NUTF9EUklWRVIoSFNXX0RJU1BfUFdfR0xPQkFM KSwgRF9CRFcsIE5VTEwsCi0JCXBvd2VyX3dlbGxfY3RsX21taW9fd3JpdGUpOwotCU1NSU9fREgo SFNXX1BXUl9XRUxMX0NUTF9LVk1SLCBEX0JEVywgTlVMTCwgcG93ZXJfd2VsbF9jdGxfbW1pb193 cml0ZSk7Ci0JTU1JT19ESChIU1dfUFdSX1dFTExfQ1RMX0RFQlVHKEhTV19ESVNQX1BXX0dMT0JB TCksIERfQkRXLCBOVUxMLAotCQlwb3dlcl93ZWxsX2N0bF9tbWlvX3dyaXRlKTsKKwlNTUlPX0RI KEhTV19QV1JfV0VMTF9DVEwxLCBEX0JEVywgTlVMTCwgcG93ZXJfd2VsbF9jdGxfbW1pb193cml0 ZSk7CisJTU1JT19ESChIU1dfUFdSX1dFTExfQ1RMMiwgRF9CRFcsIE5VTEwsIHBvd2VyX3dlbGxf Y3RsX21taW9fd3JpdGUpOworCU1NSU9fREgoSFNXX1BXUl9XRUxMX0NUTDMsIERfQkRXLCBOVUxM LCBwb3dlcl93ZWxsX2N0bF9tbWlvX3dyaXRlKTsKKwlNTUlPX0RIKEhTV19QV1JfV0VMTF9DVEw0 LCBEX0JEVywgTlVMTCwgcG93ZXJfd2VsbF9jdGxfbW1pb193cml0ZSk7CiAJTU1JT19ESChIU1df UFdSX1dFTExfQ1RMNSwgRF9CRFcsIE5VTEwsIHBvd2VyX3dlbGxfY3RsX21taW9fd3JpdGUpOwog CU1NSU9fREgoSFNXX1BXUl9XRUxMX0NUTDYsIERfQkRXLCBOVUxMLCBwb3dlcl93ZWxsX2N0bF9t bWlvX3dyaXRlKTsKIApAQCAtMjgwNCwxMyArMjc5Nyw4IEBAIHN0YXRpYyBpbnQgaW5pdF9za2xf bW1pb19pbmZvKHN0cnVjdCBpbnRlbF9ndnQgKmd2dCkKIAlNTUlPX0YoX01NSU8oX0RQRF9BVVhf Q0hfQ1RMKSwgNiAqIDQsIDAsIDAsIDAsIERfU0tMX1BMVVMsIE5VTEwsCiAJCQkJCQlkcF9hdXhf Y2hfY3RsX21taW9fd3JpdGUpOwogCi0JLyoKLQkgKiBVc2UgYW4gYXJiaXRyYXJ5IHBvd2VyIHdl bGwgY29udHJvbGxlZCBieSB0aGUgUFdSX1dFTExfQ1RMCi0JICogcmVnaXN0ZXIuCi0JICovCi0J TU1JT19EKEhTV19QV1JfV0VMTF9DVExfQklPUyhTS0xfRElTUF9QV19NSVNDX0lPKSwgRF9TS0xf UExVUyk7Ci0JTU1JT19ESChIU1dfUFdSX1dFTExfQ1RMX0RSSVZFUihTS0xfRElTUF9QV19NSVND X0lPKSwgRF9TS0xfUExVUywgTlVMTCwKLQkJc2tsX3Bvd2VyX3dlbGxfY3RsX3dyaXRlKTsKKwlN TUlPX0QoSFNXX1BXUl9XRUxMX0NUTDEsIERfU0tMX1BMVVMpOworCU1NSU9fREgoSFNXX1BXUl9X RUxMX0NUTDIsIERfU0tMX1BMVVMsIE5VTEwsIHNrbF9wb3dlcl93ZWxsX2N0bF93cml0ZSk7CiAK IAlNTUlPX0QoX01NSU8oMHhhMjEwKSwgRF9TS0xfUExVUyk7CiAJTU1JT19EKEdFTjlfTUVESUFf UEdfSURMRV9IWVNURVJFU0lTLCBEX1NLTF9QTFVTKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmlu ZGV4IGQzMWE4ZWYwNWQxOC4uZDczY2UwYTdiOGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK QEAgLTg2MSw2ICs4NjEsMTMgQEAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9vcHMgewogCQkJICAg c3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCk7CiB9OwogCitzdHJ1Y3QgaTkxNV9w b3dlcl93ZWxsX3JlZ3MgeworCWk5MTVfcmVnX3QgYmlvczsKKwlpOTE1X3JlZ190IGRyaXZlcjsK KwlpOTE1X3JlZ190IGt2bXI7CisJaTkxNV9yZWdfdCBkZWJ1ZzsKK307CisKIC8qIFBvd2VyIHdl bGwgc3RydWN0dXJlIGZvciBoYXN3ZWxsICovCiBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2Mg ewogCWNvbnN0IGNoYXIgKm5hbWU7CkBAIC04ODQsNiArODkxLDEyIEBAIHN0cnVjdCBpOTE1X3Bv d2VyX3dlbGxfZGVzYyB7CiAJCQllbnVtIGRwaW9fcGh5IHBoeTsKIAkJfSBieHQ7CiAJCXN0cnVj dCB7CisJCQljb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX3JlZ3MgKnJlZ3M7CisJCQkvKgor CQkJICogcmVxdWVzdC9zdGF0dXMgZmxhZyBpbmRleCBpbiB0aGUgcG93ZXIgd2VsbAorCQkJICog Y29uc3Ryb2wvc3RhdHVzIHJlZ2lzdGVycy4KKwkJCSAqLworCQkJdTggaWR4OwogCQkJLyogTWFz ayBvZiBwaXBlcyB3aG9zZSBJUlEgbG9naWMgaXMgYmFja2VkIGJ5IHRoZSBwdyAqLwogCQkJdTgg aXJxX3BpcGVfbWFzazsKIAkJCS8qIFRoZSBwdyBpcyBiYWNraW5nIHRoZSBWR0EgZnVuY3Rpb25h bGl0eSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggZjc2YmI0ZjNjOTQ0Li5iNzAyMmZi OGQ1MjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtODg0Miw0NiArODg0Miw3OCBAQCBl bnVtIHsKICNkZWZpbmUgSFNXX0FVRF9DSElDS0VOQklUCQkJX01NSU8oMHg2NWYxMCkKICNkZWZp bmUgICBTS0xfQVVEX0NPREVDX1dBS0VfU0lHTkFMCQkoMSA8PCAxNSkKIAotLyogSFNXIFBvd2Vy IFdlbGxzICovCi0jZGVmaW5lIF9IU1dfUFdSX1dFTExfQ1RMMQkJCTB4NDU0MDAKLSNkZWZpbmUg X0hTV19QV1JfV0VMTF9DVEwyCQkJMHg0NTQwNAotI2RlZmluZSBfSFNXX1BXUl9XRUxMX0NUTDMJ CQkweDQ1NDA4Ci0jZGVmaW5lIF9IU1dfUFdSX1dFTExfQ1RMNAkJCTB4NDU0MEMKLQotI2RlZmlu ZSBfSUNMX1BXUl9XRUxMX0NUTF9BVVgxCQkJMHg0NTQ0MAotI2RlZmluZSBfSUNMX1BXUl9XRUxM X0NUTF9BVVgyCQkJMHg0NTQ0NAotI2RlZmluZSBfSUNMX1BXUl9XRUxMX0NUTF9BVVg0CQkJMHg0 NTQ0QwotCi0jZGVmaW5lIF9JQ0xfUFdSX1dFTExfQ1RMX0RESTEJCQkweDQ1NDUwCi0jZGVmaW5l IF9JQ0xfUFdSX1dFTExfQ1RMX0RESTIJCQkweDQ1NDU0Ci0jZGVmaW5lIF9JQ0xfUFdSX1dFTExf Q1RMX0RESTQJCQkweDQ1NDVDCi0KIC8qCi0gKiBFYWNoIHBvd2VyIHdlbGwgY29udHJvbCByZWdp c3RlciBjb250YWlucyB1cCB0byAxNiAocmVxdWVzdCwgc3RhdHVzKSBIVwotICogZmxhZyB0dXBs ZXMuIFRoZSByZWdpc3RlciBpbmRleCBhbmQgSFcgZmxhZyBzaGlmdCBpcyBkZXRlcm1pbmVkIGJ5 IHRoZQotICogcG93ZXIgd2VsbCBJRCAoc2VlIGk5MTVfcG93ZXJfd2VsbF9pZCkuIFRoZXJlIGFy ZSA0IHBvc3NpYmxlIHNvdXJjZXMgb2YKLSAqIHBvd2VyIHdlbGwgcmVxdWVzdHMgZWFjaCBzb3Vy Y2UgaGF2aW5nIGl0cyBvd24gc2V0IG9mIGNvbnRyb2wgcmVnaXN0ZXJzOgotICogQklPUywgRFJJ VkVSLCBLVk1SLCBERUJVRy4KKyAqIEhTVy1JQ0wgcG93ZXIgd2VsbHMKKyAqCisgKiBQbGF0Zm9y bXMgaGF2ZSB1cCB0byAzIHBvd2VyIHdlbGwgY29udHJvbCByZWdpc3RlciBzZXRzLCBlYWNoIHNl dAorICogY29udHJvbGxpbmcgdXAgdG8gMTYgcG93ZXIgd2VsbHMgdmlhIGEgcmVxdWVzdC9zdGF0 dXMgSFcgZmxhZyB0dXBsZToKKyAqIC0gbWFpbiAoSFNXX1BXUl9XRUxMX0NUTFsxLTRdKQorICog LSBBVVggIChJQ0xfUFdSX1dFTExfQ1RMX0FVWFsxLTRdKQorICogLSBEREkgIChJQ0xfUFdSX1dF TExfQ1RMX0RESVsxLTRdKQorICogRWFjaCBjb250cm9sIHJlZ2lzdGVyIHNldCBjb25zaXN0cyBv ZiB1cCB0byA0IHJlZ2lzdGVycyB1c2VkIGJ5IGRpZmZlcmVudAorICogc291cmNlcyB0aGF0IGNh biByZXF1ZXN0IGEgcG93ZXIgd2VsbCB0byBiZSBlbmFibGVkOgorICogLSBCSU9TICAgKEhTV19Q V1JfV0VMTF9DVEwxL0lDTF9QV1JfV0VMTF9DVExfQVVYMS9JQ0xfUFdSX1dFTExfQ1RMX0RESTEp CisgKiAtIERSSVZFUiAoSFNXX1BXUl9XRUxMX0NUTDIvSUNMX1BXUl9XRUxMX0NUTF9BVVgyL0lD TF9QV1JfV0VMTF9DVExfRERJMikKKyAqIC0gS1ZNUiAgIChIU1dfUFdSX1dFTExfQ1RMMykgICAo b25seSBpbiB0aGUgbWFpbiByZWdpc3RlciBzZXQpCisgKiAtIERFQlVHICAoSFNXX1BXUl9XRUxM X0NUTDQvSUNMX1BXUl9XRUxMX0NUTF9BVVg0L0lDTF9QV1JfV0VMTF9DVExfRERJNCkKICAqLwot I2RlZmluZSBfSFNXX1BXX1JFR19JRFgocHcpCQkJKChwdykgPj4gNCkKLSNkZWZpbmUgX0hTV19Q V19TSElGVChwdykJCQkoKChwdykgJiAweGYpICogMikKLSNkZWZpbmUgSFNXX1BXUl9XRUxMX0NU TF9CSU9TKHB3KQlfTU1JTyhfUElDSyhfSFNXX1BXX1JFR19JRFgocHcpLCAgICAgICBcCi0JCQkJ CQkgICAgX0hTV19QV1JfV0VMTF9DVEwxLAkgICAgICAgXAotCQkJCQkJICAgIF9JQ0xfUFdSX1dF TExfQ1RMX0FVWDEsICAgIFwKLQkJCQkJCSAgICBfSUNMX1BXUl9XRUxMX0NUTF9EREkxKSkKLSNk ZWZpbmUgSFNXX1BXUl9XRUxMX0NUTF9EUklWRVIocHcpCV9NTUlPKF9QSUNLKF9IU1dfUFdfUkVH X0lEWChwdyksICAgICAgIFwKLQkJCQkJCSAgICBfSFNXX1BXUl9XRUxMX0NUTDIsCSAgICAgICBc Ci0JCQkJCQkgICAgX0lDTF9QV1JfV0VMTF9DVExfQVVYMiwgICAgXAotCQkJCQkJICAgIF9JQ0xf UFdSX1dFTExfQ1RMX0RESTIpKQotLyogS1ZNUiBkb2Vzbid0IGhhdmUgYSByZWcgZm9yIEFVWCBv ciBEREkgcG93ZXIgd2VsbCBjb250cm9sICovCi0jZGVmaW5lIEhTV19QV1JfV0VMTF9DVExfS1ZN UgkJX01NSU8oX0hTV19QV1JfV0VMTF9DVEwzKQotI2RlZmluZSBIU1dfUFdSX1dFTExfQ1RMX0RF QlVHKHB3KQlfTU1JTyhfUElDSyhfSFNXX1BXX1JFR19JRFgocHcpLCAgICAgICBcCi0JCQkJCQkg ICAgX0hTV19QV1JfV0VMTF9DVEw0LAkgICAgICAgXAotCQkJCQkJICAgIF9JQ0xfUFdSX1dFTExf Q1RMX0FVWDQsICAgIFwKLQkJCQkJCSAgICBfSUNMX1BXUl9XRUxMX0NUTF9EREk0KSkKKyNkZWZp bmUgSFNXX1BXUl9XRUxMX0NUTDEJCQlfTU1JTygweDQ1NDAwKQorI2RlZmluZSBIU1dfUFdSX1dF TExfQ1RMMgkJCV9NTUlPKDB4NDU0MDQpCisjZGVmaW5lIEhTV19QV1JfV0VMTF9DVEwzCQkJX01N SU8oMHg0NTQwOCkKKyNkZWZpbmUgSFNXX1BXUl9XRUxMX0NUTDQJCQlfTU1JTygweDQ1NDBDKQor I2RlZmluZSAgIEhTV19QV1JfV0VMTF9DVExfUkVRKHB3X2lkeCkJCSgweDIgPDwgKChwd19pZHgp ICogMikpCisjZGVmaW5lICAgSFNXX1BXUl9XRUxMX0NUTF9TVEFURShwd19pZHgpCSgweDEgPDwg KChwd19pZHgpICogMikpCiAKLSNkZWZpbmUgICBIU1dfUFdSX1dFTExfQ1RMX1JFUShwdykJCSgx IDw8IChfSFNXX1BXX1NISUZUKHB3KSArIDEpKQotI2RlZmluZSAgIEhTV19QV1JfV0VMTF9DVExf U1RBVEUocHcpCQkoMSA8PCBfSFNXX1BXX1NISUZUKHB3KSkKKy8qIEhTVy9CRFcgcG93ZXIgd2Vs bCAqLworI2RlZmluZSAgIEhTV19QV19DVExfSURYX0dMT0JBTAkJCTE1CisKKy8qIFNLTC9CWFQv R0xLL0NOTCBwb3dlciB3ZWxscyAqLworI2RlZmluZSAgIFNLTF9QV19DVExfSURYX1BXXzIJCQkx NQorI2RlZmluZSAgIFNLTF9QV19DVExfSURYX1BXXzEJCQkxNAorI2RlZmluZSAgIENOTF9QV19D VExfSURYX0FVWF9GCQkJMTIKKyNkZWZpbmUgICBDTkxfUFdfQ1RMX0lEWF9BVVhfRAkJCTExCisj ZGVmaW5lICAgR0xLX1BXX0NUTF9JRFhfQVVYX0MJCQkxMAorI2RlZmluZSAgIEdMS19QV19DVExf SURYX0FVWF9CCQkJOQorI2RlZmluZSAgIEdMS19QV19DVExfSURYX0FVWF9BCQkJOAorI2RlZmlu ZSAgIENOTF9QV19DVExfSURYX0RESV9GCQkJNgorI2RlZmluZSAgIFNLTF9QV19DVExfSURYX0RE SV9ECQkJNAorI2RlZmluZSAgIFNLTF9QV19DVExfSURYX0RESV9DCQkJMworI2RlZmluZSAgIFNL TF9QV19DVExfSURYX0RESV9CCQkJMgorI2RlZmluZSAgIFNLTF9QV19DVExfSURYX0RESV9BX0UJ CTEKKyNkZWZpbmUgICBHTEtfUFdfQ1RMX0lEWF9ERElfQQkJCTEKKyNkZWZpbmUgICBTS0xfUFdf Q1RMX0lEWF9NSVNDX0lPCQkwCisKKy8qIElDTC0gcG93ZXIgd2VsbHMgKi8KKyNkZWZpbmUgICBJ Q0xfUFdfQ1RMX0lEWF9QV180CQkJMworI2RlZmluZSAgIElDTF9QV19DVExfSURYX1BXXzMJCQky CisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfUFdfMgkJCTEKKyNkZWZpbmUgICBJQ0xfUFdfQ1RM X0lEWF9QV18xCQkJMAorCisjZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfQVVYMQkJCV9NTUlPKDB4 NDU0NDApCisjZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfQVVYMgkJCV9NTUlPKDB4NDU0NDQpCisj ZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfQVVYNAkJCV9NTUlPKDB4NDU0NEMpCisjZGVmaW5lICAg SUNMX1BXX0NUTF9JRFhfQVVYX1RCVDQJCTExCisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfQVVY X1RCVDMJCTEwCisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfQVVYX1RCVDIJCTkKKyNkZWZpbmUg ICBJQ0xfUFdfQ1RMX0lEWF9BVVhfVEJUMQkJOAorI2RlZmluZSAgIElDTF9QV19DVExfSURYX0FV WF9GCQkJNQorI2RlZmluZSAgIElDTF9QV19DVExfSURYX0FVWF9FCQkJNAorI2RlZmluZSAgIElD TF9QV19DVExfSURYX0FVWF9ECQkJMworI2RlZmluZSAgIElDTF9QV19DVExfSURYX0FVWF9DCQkJ MgorI2RlZmluZSAgIElDTF9QV19DVExfSURYX0FVWF9CCQkJMQorI2RlZmluZSAgIElDTF9QV19D VExfSURYX0FVWF9BCQkJMAorCisjZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfRERJMQkJCV9NTUlP KDB4NDU0NTApCisjZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfRERJMgkJCV9NTUlPKDB4NDU0NTQp CisjZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfRERJNAkJCV9NTUlPKDB4NDU0NUMpCisjZGVmaW5l ICAgSUNMX1BXX0NUTF9JRFhfRERJX0YJCQk1CisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfRERJ X0UJCQk0CisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfRERJX0QJCQkzCisjZGVmaW5lICAgSUNM X1BXX0NUTF9JRFhfRERJX0MJCQkyCisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfRERJX0IJCQkx CisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfRERJX0EJCQkwCisKKy8qIEhTVy0gcG93ZXIgd2Vs bCBtaXNjIGRlYnVnIHJlZ2lzdGVycyAqLwogI2RlZmluZSBIU1dfUFdSX1dFTExfQ1RMNQkJCV9N TUlPKDB4NDU0MTApCiAjZGVmaW5lICAgSFNXX1BXUl9XRUxMX0VOQUJMRV9TSU5HTEVfU1RFUAko MSA8PCAzMSkKICNkZWZpbmUgICBIU1dfUFdSX1dFTExfUFdSX0dBVEVfT1ZFUlJJREUJKDEgPDwg MjApCkBAIC04ODk3LDE4ICs4OTI5LDI2IEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewogCiAjZGVm aW5lIFNLTF9GVVNFX1NUQVRVUwkJCQlfTU1JTygweDQyMDAwKQogI2RlZmluZSAgU0tMX0ZVU0Vf RE9XTkxPQURfU1RBVFVTCQkoMSA8PCAzMSkKLS8qIFBHMCAoSFcgY29udHJvbC0+bm8gcG93ZXIg d2VsbCBJRCksIFBHMS4uUEcyIChTS0xfRElTUF9QVzEuLlNLTF9ESVNQX1BXMikgKi8KLSNkZWZp bmUgIFNLTF9QV19UT19QRyhwdykJCQkoKHB3KSAtIFNLTF9ESVNQX1BXXzEgKyBTS0xfUEcxKQot LyogUEcwIChIVyBjb250cm9sLT5ubyBwb3dlciB3ZWxsIElEKSwgUEcxLi5QRzQgKElDTF9ESVNQ X1BXMS4uSUNMX0RJU1BfUFc0KSAqLwotI2RlZmluZSAgSUNMX1BXX1RPX1BHKHB3KQkJCSgocHcp IC0gSUNMX0RJU1BfUFdfMSArIFNLTF9QRzEpCisvKgorICogUEcwIGlzIEhXIGNvbnRyb2xsZWQs IHNvIGRvZXNuJ3QgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgcG93ZXIgd2VsbCBjb250cm9sIGtub2IK KyAqIFNLTF9ESVNQX1BXMV9JRFguLlNLTF9ESVNQX1BXMl9JRFggLT4gUEcxLi5QRzIKKyAqLwor I2RlZmluZSAgU0tMX1BXX0NUTF9JRFhfVE9fUEcocHdfaWR4KQkJXAorCSgocHdfaWR4KSAtIFNL TF9QV19DVExfSURYX1BXXzEgKyBTS0xfUEcxKQorLyoKKyAqIFBHMCBpcyBIVyBjb250cm9sbGVk LCBzbyBkb2Vzbid0IGhhdmUgYSBjb3JyZXNwb25kaW5nIHBvd2VyIHdlbGwgY29udHJvbCBrbm9i CisgKiBJQ0xfRElTUF9QVzFfSURYLi5JQ0xfRElTUF9QVzRfSURYIC0+IFBHMS4uUEc0CisgKi8K KyNkZWZpbmUgIElDTF9QV19DVExfSURYX1RPX1BHKHB3X2lkeCkJCVwKKwkoKHB3X2lkeCkgLSBJ Q0xfUFdfQ1RMX0lEWF9QV18xICsgU0tMX1BHMSkKICNkZWZpbmUgIFNLTF9GVVNFX1BHX0RJU1Rf U1RBVFVTKHBnKQkJKDEgPDwgKDI3IC0gKHBnKSkpCiAKLSNkZWZpbmUgX0NOTF9BVVhfUkVHX0lE WChwdykJCSgocHcpIC0gOSkKKyNkZWZpbmUgX0NOTF9BVVhfUkVHX0lEWChwd19pZHgpCSgocHdf aWR4KSAtIEdMS19QV19DVExfSURYX0FVWF9CKQogI2RlZmluZSBfQ05MX0FVWF9BTkFPVlJEMV9C CQkweDE2MjI1MAogI2RlZmluZSBfQ05MX0FVWF9BTkFPVlJEMV9DCQkweDE2MjIxMAogI2RlZmlu ZSBfQ05MX0FVWF9BTkFPVlJEMV9ECQkweDE2MjJEMAogI2RlZmluZSBfQ05MX0FVWF9BTkFPVlJE MV9GCQkweDE2MkE5MAotI2RlZmluZSBDTkxfQVVYX0FOQU9WUkQxKHB3KQkJX01NSU8oX1BJQ0so X0NOTF9BVVhfUkVHX0lEWChwdyksIFwKKyNkZWZpbmUgQ05MX0FVWF9BTkFPVlJEMShwd19pZHgp CV9NTUlPKF9QSUNLKF9DTkxfQVVYX1JFR19JRFgocHdfaWR4KSwgXAogCQkJCQkJICAgIF9DTkxf QVVYX0FOQU9WUkQxX0IsIFwKIAkJCQkJCSAgICBfQ05MX0FVWF9BTkFPVlJEMV9DLCBcCiAJCQkJ CQkgICAgX0NOTF9BVVhfQU5BT1ZSRDFfRCwgXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCmluZGV4IDg3ZTRjZmJmZDA5Ni4uNjQwZWM1ZGY0ZDYyIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCkBAIC04OTczLDcgKzg5NzMsNyBAQCBzdGF0aWMgdm9pZCBhc3NlcnRf Y2FuX2Rpc2FibGVfbGNwbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlJ OTE1X1NUQVRFX1dBUk4oY3J0Yy0+YWN0aXZlLCAiQ1JUQyBmb3IgcGlwZSAlYyBlbmFibGVkXG4i LAogCQkgICAgIHBpcGVfbmFtZShjcnRjLT5waXBlKSk7CiAKLQlJOTE1X1NUQVRFX1dBUk4oSTkx NV9SRUFEKEhTV19QV1JfV0VMTF9DVExfRFJJVkVSKEhTV19ESVNQX1BXX0dMT0JBTCkpLAorCUk5 MTVfU1RBVEVfV0FSTihJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0NUTDIpLAogCQkJIkRpc3BsYXkg cG93ZXIgd2VsbCBvblxuIik7CiAJSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChTUExMX0NUTCkg JiBTUExMX1BMTF9FTkFCTEUsICJTUExMIGVuYWJsZWRcbiIpOwogCUk5MTVfU1RBVEVfV0FSTihJ OTE1X1JFQUQoV1JQTExfQ1RMKDApKSAmIFdSUExMX1BMTF9FTkFCTEUsICJXUlBMTDEgZW5hYmxl ZFxuIik7CkBAIC0xNjA1Miw4ICsxNjA1Miw3IEBAIGludGVsX2Rpc3BsYXlfY2FwdHVyZV9lcnJv cl9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCXJldHVybiBOVUxM OwogCiAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikp Ci0JCWVycm9yLT5wb3dlcl93ZWxsX2RyaXZlciA9Ci0JCQlJOTE1X1JFQUQoSFNXX1BXUl9XRUxM X0NUTF9EUklWRVIoSFNXX0RJU1BfUFdfR0xPQkFMKSk7CisJCWVycm9yLT5wb3dlcl93ZWxsX2Ry aXZlciA9IEk5MTVfUkVBRChIU1dfUFdSX1dFTExfQ1RMMik7CiAKIAlmb3JfZWFjaF9waXBlKGRl dl9wcml2LCBpKSB7CiAJCWVycm9yLT5waXBlW2ldLnBvd2VyX2RvbWFpbl9vbiA9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKaW5kZXggMDVkOGNkYWIwOGNjLi41NTI3NTA0 ZDY2NGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKQEAgLTMyMywy NiArMzIzLDI5IEBAIHN0YXRpYyB2b2lkIGhzd19wb3dlcl93ZWxsX3ByZV9kaXNhYmxlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHN0YXRpYyB2b2lkIGhzd193YWl0X2Zvcl9w b3dlcl93ZWxsX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJ CSAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCiB7Ci0JZW51bSBpOTE1X3Bv d2VyX3dlbGxfaWQgaWQgPSBwb3dlcl93ZWxsLT5kZXNjLT5pZDsKKwljb25zdCBzdHJ1Y3QgaTkx NV9wb3dlcl93ZWxsX3JlZ3MgKnJlZ3MgPSBwb3dlcl93ZWxsLT5kZXNjLT5oc3cucmVnczsKKwlp bnQgcHdfaWR4ID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LmlkeDsKIAogCS8qIFRpbWVvdXQgZm9y IFBXMToxMCB1cywgQVVYOm5vdCBzcGVjaWZpZWQsIG90aGVyIFBXczoyMCB1cy4gKi8KIAlXQVJO X09OKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAotCQkJCQlIU1dfUFdSX1dFTExf Q1RMX0RSSVZFUihpZCksCi0JCQkJCUhTV19QV1JfV0VMTF9DVExfU1RBVEUoaWQpLAotCQkJCQlI U1dfUFdSX1dFTExfQ1RMX1NUQVRFKGlkKSwKKwkJCQkJcmVncy0+ZHJpdmVyLAorCQkJCQlIU1df UFdSX1dFTExfQ1RMX1NUQVRFKHB3X2lkeCksCisJCQkJCUhTV19QV1JfV0VMTF9DVExfU1RBVEUo cHdfaWR4KSwKIAkJCQkJMSkpOwogfQogCiBzdGF0aWMgdTMyIGhzd19wb3dlcl93ZWxsX3JlcXVl c3RlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCSAgICAgZW51bSBp OTE1X3Bvd2VyX3dlbGxfaWQgaWQpCisJCQkJICAgICBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93 ZWxsX3JlZ3MgKnJlZ3MsCisJCQkJICAgICBpbnQgcHdfaWR4KQogewotCXUzMiByZXFfbWFzayA9 IEhTV19QV1JfV0VMTF9DVExfUkVRKGlkKTsKKwl1MzIgcmVxX21hc2sgPSBIU1dfUFdSX1dFTExf Q1RMX1JFUShwd19pZHgpOwogCXUzMiByZXQ7CiAKLQlyZXQgPSBJOTE1X1JFQUQoSFNXX1BXUl9X RUxMX0NUTF9CSU9TKGlkKSkgJiByZXFfbWFzayA/IDEgOiAwOwotCXJldCB8PSBJOTE1X1JFQUQo SFNXX1BXUl9XRUxMX0NUTF9EUklWRVIoaWQpKSAmIHJlcV9tYXNrID8gMiA6IDA7Ci0JcmV0IHw9 IEk5MTVfUkVBRChIU1dfUFdSX1dFTExfQ1RMX0tWTVIpICYgcmVxX21hc2sgPyA0IDogMDsKLQly ZXQgfD0gSTkxNV9SRUFEKEhTV19QV1JfV0VMTF9DVExfREVCVUcoaWQpKSAmIHJlcV9tYXNrID8g OCA6IDA7CisJcmV0ID0gSTkxNV9SRUFEKHJlZ3MtPmJpb3MpICYgcmVxX21hc2sgPyAxIDogMDsK KwlyZXQgfD0gSTkxNV9SRUFEKHJlZ3MtPmRyaXZlcikgJiByZXFfbWFzayA/IDIgOiAwOworCWlm IChyZWdzLT5rdm1yLnJlZykKKwkJcmV0IHw9IEk5MTVfUkVBRChyZWdzLT5rdm1yKSAmIHJlcV9t YXNrID8gNCA6IDA7CisJcmV0IHw9IEk5MTVfUkVBRChyZWdzLT5kZWJ1ZykgJiByZXFfbWFzayA/ IDggOiAwOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTM1MCw3ICszNTMsOCBAQCBzdGF0aWMgdTMy IGhzd19wb3dlcl93ZWxsX3JlcXVlc3RlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogc3RhdGljIHZvaWQgaHN3X3dhaXRfZm9yX3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJCSAgICBzdHJ1Y3QgaTkxNV9wb3dlcl93 ZWxsICpwb3dlcl93ZWxsKQogewotCWVudW0gaTkxNV9wb3dlcl93ZWxsX2lkIGlkID0gcG93ZXJf d2VsbC0+ZGVzYy0+aWQ7CisJY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9yZWdzICpyZWdz ID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LnJlZ3M7CisJaW50IHB3X2lkeCA9IHBvd2VyX3dlbGwt PmRlc2MtPmhzdy5pZHg7CiAJYm9vbCBkaXNhYmxlZDsKIAl1MzIgcmVxczsKIApAQCAtMzYzLDkg KzM2Nyw5IEBAIHN0YXRpYyB2b2lkIGhzd193YWl0X2Zvcl9wb3dlcl93ZWxsX2Rpc2FibGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCSAqIFNraXAgdGhlIHdhaXQgaW4gY2Fz ZSBhbnkgb2YgdGhlIHJlcXVlc3QgYml0cyBhcmUgc2V0IGFuZCBwcmludCBhCiAJICogZGlhZ25v c3RpYyBtZXNzYWdlLgogCSAqLwotCXdhaXRfZm9yKChkaXNhYmxlZCA9ICEoSTkxNV9SRUFEKEhT V19QV1JfV0VMTF9DVExfRFJJVkVSKGlkKSkgJgotCQkJICAgICAgIEhTV19QV1JfV0VMTF9DVExf U1RBVEUoaWQpKSkgfHwKLQkJIChyZXFzID0gaHN3X3Bvd2VyX3dlbGxfcmVxdWVzdGVycyhkZXZf cHJpdiwgaWQpKSwgMSk7CisJd2FpdF9mb3IoKGRpc2FibGVkID0gIShJOTE1X1JFQUQocmVncy0+ ZHJpdmVyKSAmCisJCQkgICAgICAgSFNXX1BXUl9XRUxMX0NUTF9TVEFURShwd19pZHgpKSkgfHwK KwkJIChyZXFzID0gaHN3X3Bvd2VyX3dlbGxfcmVxdWVzdGVycyhkZXZfcHJpdiwgcmVncywgcHdf aWR4KSksIDEpOwogCWlmIChkaXNhYmxlZCkKIAkJcmV0dXJuOwogCkBAIC0zODYsMTQgKzM5MCwx NSBAQCBzdGF0aWMgdm9pZCBnZW45X3dhaXRfZm9yX3Bvd2VyX3dlbGxfZnVzZXMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogc3RhdGljIHZvaWQgaHN3X3Bvd2VyX3dlbGxfZW5h YmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgIHN0cnVjdCBpOTE1 X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCiB7Ci0JZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgaWQg PSBwb3dlcl93ZWxsLT5kZXNjLT5pZDsKKwljb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX3Jl Z3MgKnJlZ3MgPSBwb3dlcl93ZWxsLT5kZXNjLT5oc3cucmVnczsKKwlpbnQgcHdfaWR4ID0gcG93 ZXJfd2VsbC0+ZGVzYy0+aHN3LmlkeDsKIAlib29sIHdhaXRfZnVzZXMgPSBwb3dlcl93ZWxsLT5k ZXNjLT5oc3cuaGFzX2Z1c2VzOwogCWVudW0gc2tsX3Bvd2VyX2dhdGUgdW5pbml0aWFsaXplZF92 YXIocGcpOwogCXUzMiB2YWw7CiAKIAlpZiAod2FpdF9mdXNlcykgewotCQlwZyA9IElOVEVMX0dF TihkZXZfcHJpdikgPj0gMTEgPyBJQ0xfUFdfVE9fUEcoaWQpIDoKLQkJCQkJCSBTS0xfUFdfVE9f UEcoaWQpOworCQlwZyA9IElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEgPyBJQ0xfUFdfQ1RMX0lE WF9UT19QRyhwd19pZHgpIDoKKwkJCQkJCSBTS0xfUFdfQ1RMX0lEWF9UT19QRyhwd19pZHgpOwog CQkvKgogCQkgKiBGb3IgUFcxIHdlIGhhdmUgdG8gd2FpdCBib3RoIGZvciB0aGUgUFcwL1BHMCBm dXNlIHN0YXRlCiAJCSAqIGJlZm9yZSBlbmFibGluZyB0aGUgcG93ZXIgd2VsbCBhbmQgUFcxL1BH MSdzIG93biBmdXNlCkBAIC00MDUsMTcgKzQxMCwxNyBAQCBzdGF0aWMgdm9pZCBoc3dfcG93ZXJf d2VsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJZ2VuOV93 YWl0X2Zvcl9wb3dlcl93ZWxsX2Z1c2VzKGRldl9wcml2LCBTS0xfUEcwKTsKIAl9CiAKLQl2YWwg PSBJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0NUTF9EUklWRVIoaWQpKTsKLQlJOTE1X1dSSVRFKEhT V19QV1JfV0VMTF9DVExfRFJJVkVSKGlkKSwgdmFsIHwgSFNXX1BXUl9XRUxMX0NUTF9SRVEoaWQp KTsKKwl2YWwgPSBJOTE1X1JFQUQocmVncy0+ZHJpdmVyKTsKKwlJOTE1X1dSSVRFKHJlZ3MtPmRy aXZlciwgdmFsIHwgSFNXX1BXUl9XRUxMX0NUTF9SRVEocHdfaWR4KSk7CiAJaHN3X3dhaXRfZm9y X3Bvd2VyX3dlbGxfZW5hYmxlKGRldl9wcml2LCBwb3dlcl93ZWxsKTsKIAogCS8qIERpc3BsYXkg V0EgIzExNzg6IGNubCAqLwogCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSAmJgotCSAgICAo aWQgPT0gQ05MX0RJU1BfUFdfQVVYX0IgfHwgaWQgPT0gQ05MX0RJU1BfUFdfQVVYX0MgfHwKLQkg ICAgIGlkID09IENOTF9ESVNQX1BXX0FVWF9EIHx8IGlkID09IENOTF9ESVNQX1BXX0FVWF9GKSkg ewotCQl2YWwgPSBJOTE1X1JFQUQoQ05MX0FVWF9BTkFPVlJEMShpZCkpOworCSAgICBwd19pZHgg Pj0gR0xLX1BXX0NUTF9JRFhfQVVYX0IgJiYKKwkgICAgcHdfaWR4IDw9IENOTF9QV19DVExfSURY X0FVWF9GKSB7CisJCXZhbCA9IEk5MTVfUkVBRChDTkxfQVVYX0FOQU9WUkQxKHB3X2lkeCkpOwog CQl2YWwgfD0gQ05MX0FVWF9BTkFPVlJEMV9FTkFCTEUgfCBDTkxfQVVYX0FOQU9WUkQxX0xET19C WVBBU1M7Ci0JCUk5MTVfV1JJVEUoQ05MX0FVWF9BTkFPVlJEMShpZCksIHZhbCk7CisJCUk5MTVf V1JJVEUoQ05MX0FVWF9BTkFPVlJEMShwd19pZHgpLCB2YWwpOwogCX0KIAogCWlmICh3YWl0X2Z1 c2VzKQpAQCAtNDI5LDMwICs0MzQsMzEgQEAgc3RhdGljIHZvaWQgaHN3X3Bvd2VyX3dlbGxfZW5h YmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHN0YXRpYyB2b2lkIGhzd19w b3dlcl93ZWxsX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJ CSAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCiB7Ci0JZW51bSBpOTE1X3Bv d2VyX3dlbGxfaWQgaWQgPSBwb3dlcl93ZWxsLT5kZXNjLT5pZDsKKwljb25zdCBzdHJ1Y3QgaTkx NV9wb3dlcl93ZWxsX3JlZ3MgKnJlZ3MgPSBwb3dlcl93ZWxsLT5kZXNjLT5oc3cucmVnczsKKwlp bnQgcHdfaWR4ID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LmlkeDsKIAl1MzIgdmFsOwogCiAJaHN3 X3Bvd2VyX3dlbGxfcHJlX2Rpc2FibGUoZGV2X3ByaXYsCiAJCQkJICAgcG93ZXJfd2VsbC0+ZGVz Yy0+aHN3LmlycV9waXBlX21hc2spOwogCi0JdmFsID0gSTkxNV9SRUFEKEhTV19QV1JfV0VMTF9D VExfRFJJVkVSKGlkKSk7Ci0JSTkxNV9XUklURShIU1dfUFdSX1dFTExfQ1RMX0RSSVZFUihpZCks Ci0JCSAgIHZhbCAmIH5IU1dfUFdSX1dFTExfQ1RMX1JFUShpZCkpOworCXZhbCA9IEk5MTVfUkVB RChyZWdzLT5kcml2ZXIpOworCUk5MTVfV1JJVEUocmVncy0+ZHJpdmVyLCB2YWwgJiB+SFNXX1BX Ul9XRUxMX0NUTF9SRVEocHdfaWR4KSk7CiAJaHN3X3dhaXRfZm9yX3Bvd2VyX3dlbGxfZGlzYWJs ZShkZXZfcHJpdiwgcG93ZXJfd2VsbCk7CiB9CiAKLSNkZWZpbmUgSUNMX0FVWF9QV19UT19QT1JU KHB3KQkoKHB3KSAtIElDTF9ESVNQX1BXX0FVWF9BKQorI2RlZmluZSBJQ0xfQVVYX1BXX1RPX1BP UlQocHdfaWR4KQkoKHB3X2lkeCkgLSBJQ0xfUFdfQ1RMX0lEWF9BVVhfQSkKIAogc3RhdGljIHZv aWQKIGljbF9jb21ib19waHlfYXV4X3Bvd2VyX3dlbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAkJCQkgICAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJf d2VsbCkKIHsKLQllbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCBpZCA9IHBvd2VyX3dlbGwtPmRlc2Mt PmlkOwotCWVudW0gcG9ydCBwb3J0ID0gSUNMX0FVWF9QV19UT19QT1JUKGlkKTsKKwljb25zdCBz dHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX3JlZ3MgKnJlZ3MgPSBwb3dlcl93ZWxsLT5kZXNjLT5oc3cu cmVnczsKKwlpbnQgcHdfaWR4ID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LmlkeDsKKwllbnVtIHBv cnQgcG9ydCA9IElDTF9BVVhfUFdfVE9fUE9SVChwd19pZHgpOwogCXUzMiB2YWw7CiAKLQl2YWwg PSBJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0NUTF9EUklWRVIoaWQpKTsKLQlJOTE1X1dSSVRFKEhT V19QV1JfV0VMTF9DVExfRFJJVkVSKGlkKSwgdmFsIHwgSFNXX1BXUl9XRUxMX0NUTF9SRVEoaWQp KTsKKwl2YWwgPSBJOTE1X1JFQUQocmVncy0+ZHJpdmVyKTsKKwlJOTE1X1dSSVRFKHJlZ3MtPmRy aXZlciwgdmFsIHwgSFNXX1BXUl9XRUxMX0NUTF9SRVEocHdfaWR4KSk7CiAKIAl2YWwgPSBJOTE1 X1JFQUQoSUNMX1BPUlRfQ0xfRFcxMihwb3J0KSk7CiAJSTkxNV9XUklURShJQ0xfUE9SVF9DTF9E VzEyKHBvcnQpLCB2YWwgfCBJQ0xfTEFORV9FTkFCTEVfQVVYKTsKQEAgLTQ2NCwxNiArNDcwLDE2 IEBAIHN0YXRpYyB2b2lkCiBpY2xfY29tYm9fcGh5X2F1eF9wb3dlcl93ZWxsX2Rpc2FibGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICAgc3RydWN0IGk5MTVfcG93 ZXJfd2VsbCAqcG93ZXJfd2VsbCkKIHsKLQllbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCBpZCA9IHBv d2VyX3dlbGwtPmRlc2MtPmlkOwotCWVudW0gcG9ydCBwb3J0ID0gSUNMX0FVWF9QV19UT19QT1JU KGlkKTsKKwljb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX3JlZ3MgKnJlZ3MgPSBwb3dlcl93 ZWxsLT5kZXNjLT5oc3cucmVnczsKKwlpbnQgcHdfaWR4ID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3 LmlkeDsKKwllbnVtIHBvcnQgcG9ydCA9IElDTF9BVVhfUFdfVE9fUE9SVChwd19pZHgpOwogCXUz MiB2YWw7CiAKIAl2YWwgPSBJOTE1X1JFQUQoSUNMX1BPUlRfQ0xfRFcxMihwb3J0KSk7CiAJSTkx NV9XUklURShJQ0xfUE9SVF9DTF9EVzEyKHBvcnQpLCB2YWwgJiB+SUNMX0xBTkVfRU5BQkxFX0FV WCk7CiAKLQl2YWwgPSBJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0NUTF9EUklWRVIoaWQpKTsKLQlJ OTE1X1dSSVRFKEhTV19QV1JfV0VMTF9DVExfRFJJVkVSKGlkKSwKLQkJICAgdmFsICYgfkhTV19Q V1JfV0VMTF9DVExfUkVRKGlkKSk7CisJdmFsID0gSTkxNV9SRUFEKHJlZ3MtPmRyaXZlcik7CisJ STkxNV9XUklURShyZWdzLT5kcml2ZXIsIHZhbCAmIH5IU1dfUFdSX1dFTExfQ1RMX1JFUShwd19p ZHgpKTsKIAogCWhzd193YWl0X2Zvcl9wb3dlcl93ZWxsX2Rpc2FibGUoZGV2X3ByaXYsIHBvd2Vy X3dlbGwpOwogfQpAQCAtNDg2LDIyICs0OTIsMjIgQEAgaWNsX2NvbWJvX3BoeV9hdXhfcG93ZXJf d2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHN0YXRpYyBi b29sIGhzd19wb3dlcl93ZWxsX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCQkJCSAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCiB7Ci0JZW51 bSBpOTE1X3Bvd2VyX3dlbGxfaWQgaWQgPSBwb3dlcl93ZWxsLT5kZXNjLT5pZDsKLQl1MzIgbWFz ayA9IEhTV19QV1JfV0VMTF9DVExfUkVRKGlkKSB8IEhTV19QV1JfV0VMTF9DVExfU1RBVEUoaWQp OworCWNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfcmVncyAqcmVncyA9IHBvd2VyX3dlbGwt PmRlc2MtPmhzdy5yZWdzOworCWludCBwd19pZHggPSBwb3dlcl93ZWxsLT5kZXNjLT5oc3cuaWR4 OworCXUzMiBtYXNrID0gSFNXX1BXUl9XRUxMX0NUTF9SRVEocHdfaWR4KSB8CisJCSAgIEhTV19Q V1JfV0VMTF9DVExfU1RBVEUocHdfaWR4KTsKIAotCXJldHVybiAoSTkxNV9SRUFEKEhTV19QV1Jf V0VMTF9DVExfRFJJVkVSKGlkKSkgJiBtYXNrKSA9PSBtYXNrOworCXJldHVybiAoSTkxNV9SRUFE KHJlZ3MtPmRyaXZlcikgJiBtYXNrKSA9PSBtYXNrOwogfQogCiBzdGF0aWMgdm9pZCBhc3NlcnRf Y2FuX2VuYWJsZV9kYzkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotCWVu dW0gaTkxNV9wb3dlcl93ZWxsX2lkIGlkID0gU0tMX0RJU1BfUFdfMjsKLQogCVdBUk5fT05DRSgo STkxNV9SRUFEKERDX1NUQVRFX0VOKSAmIERDX1NUQVRFX0VOX0RDOSksCiAJCSAgIkRDOSBhbHJl YWR5IHByb2dyYW1tZWQgdG8gYmUgZW5hYmxlZC5cbiIpOwogCVdBUk5fT05DRShJOTE1X1JFQUQo RENfU1RBVEVfRU4pICYgRENfU1RBVEVfRU5fVVBUT19EQzUsCiAJCSAgIkRDNSBzdGlsbCBub3Qg ZGlzYWJsZWQgdG8gZW5hYmxlIERDOS5cbiIpOwotCVdBUk5fT05DRShJOTE1X1JFQUQoSFNXX1BX Ul9XRUxMX0NUTF9EUklWRVIoaWQpKSAmCi0JCSAgSFNXX1BXUl9XRUxMX0NUTF9SRVEoaWQpLAor CVdBUk5fT05DRShJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0NUTDIpICYKKwkJICBIU1dfUFdSX1dF TExfQ1RMX1JFUShTS0xfUFdfQ1RMX0lEWF9QV18yKSwKIAkJICAiUG93ZXIgd2VsbCAyIG9uLlxu Iik7CiAJV0FSTl9PTkNFKGludGVsX2lycXNfZW5hYmxlZChkZXZfcHJpdiksCiAJCSAgIkludGVy cnVwdHMgbm90IGRpc2FibGVkIHlldC5cbiIpOwpAQCAtNzI1LDE3ICs3MzEsMTggQEAgc3RhdGlj IHZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog c3RhdGljIHZvaWQgaHN3X3Bvd2VyX3dlbGxfc3luY19odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCiAJCQkJICAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCkK IHsKLQllbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCBpZCA9IHBvd2VyX3dlbGwtPmRlc2MtPmlkOwot CXUzMiBtYXNrID0gSFNXX1BXUl9XRUxMX0NUTF9SRVEoaWQpOwotCXUzMiBiaW9zX3JlcSA9IEk5 MTVfUkVBRChIU1dfUFdSX1dFTExfQ1RMX0JJT1MoaWQpKTsKKwljb25zdCBzdHJ1Y3QgaTkxNV9w b3dlcl93ZWxsX3JlZ3MgKnJlZ3MgPSBwb3dlcl93ZWxsLT5kZXNjLT5oc3cucmVnczsKKwlpbnQg cHdfaWR4ID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LmlkeDsKKwl1MzIgbWFzayA9IEhTV19QV1Jf V0VMTF9DVExfUkVRKHB3X2lkeCk7CisJdTMyIGJpb3NfcmVxID0gSTkxNV9SRUFEKHJlZ3MtPmJp b3MpOwogCiAJLyogVGFrZSBvdmVyIHRoZSByZXF1ZXN0IGJpdCBpZiBzZXQgYnkgQklPUy4gKi8K IAlpZiAoYmlvc19yZXEgJiBtYXNrKSB7Ci0JCXUzMiBkcnZfcmVxID0gSTkxNV9SRUFEKEhTV19Q V1JfV0VMTF9DVExfRFJJVkVSKGlkKSk7CisJCXUzMiBkcnZfcmVxID0gSTkxNV9SRUFEKHJlZ3Mt PmRyaXZlcik7CiAKIAkJaWYgKCEoZHJ2X3JlcSAmIG1hc2spKQotCQkJSTkxNV9XUklURShIU1df UFdSX1dFTExfQ1RMX0RSSVZFUihpZCksIGRydl9yZXEgfCBtYXNrKTsKLQkJSTkxNV9XUklURShI U1dfUFdSX1dFTExfQ1RMX0JJT1MoaWQpLCBiaW9zX3JlcSAmIH5tYXNrKTsKKwkJCUk5MTVfV1JJ VEUocmVncy0+ZHJpdmVyLCBkcnZfcmVxIHwgbWFzayk7CisJCUk5MTVfV1JJVEUocmVncy0+Ymlv cywgYmlvc19yZXEgJiB+bWFzayk7CiAJfQogfQogCkBAIC0yMTA4LDYgKzIxMTUsMTMgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfb3BzIGJ4dF9kcGlvX2Ntbl9wb3dlcl93 ZWxsX29wcyA9IHsKIAkuaXNfZW5hYmxlZCA9IGJ4dF9kcGlvX2Ntbl9wb3dlcl93ZWxsX2VuYWJs ZWQsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9yZWdzIGhzd19w b3dlcl93ZWxsX3JlZ3MgPSB7CisJLmJpb3MJPSBIU1dfUFdSX1dFTExfQ1RMMSwKKwkuZHJpdmVy CT0gSFNXX1BXUl9XRUxMX0NUTDIsCisJLmt2bXIJPSBIU1dfUFdSX1dFTExfQ1RMMywKKwkuZGVi dWcJPSBIU1dfUFdSX1dFTExfQ1RMNCwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9w b3dlcl93ZWxsX2Rlc2MgaHN3X3Bvd2VyX3dlbGxzW10gPSB7CiAJewogCQkubmFtZSA9ICJhbHdh eXMtb24iLApAQCAtMjEyMiw2ICsyMTM2LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bv d2VyX3dlbGxfZGVzYyBoc3dfcG93ZXJfd2VsbHNbXSA9IHsKIAkJLm9wcyA9ICZoc3dfcG93ZXJf d2VsbF9vcHMsCiAJCS5pZCA9IEhTV19ESVNQX1BXX0dMT0JBTCwKIAkJeworCQkJLmhzdy5yZWdz ID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IEhTV19QV19DVExfSURYX0dM T0JBTCwKIAkJCS5oc3cuaGFzX3ZnYSA9IHRydWUsCiAJCX0sCiAJfSwKQEAgLTIxNDEsNiArMjE1 Nyw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2MgYmR3X3Bvd2Vy X3dlbGxzW10gPSB7CiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBIU1df RElTUF9QV19HTE9CQUwsCiAJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdz LAorCQkJLmhzdy5pZHggPSBIU1dfUFdfQ1RMX0lEWF9HTE9CQUwsCiAJCQkuaHN3LmlycV9waXBl X21hc2sgPSBCSVQoUElQRV9CKSB8IEJJVChQSVBFX0MpLAogCQkJLmhzdy5oYXNfdmdhID0gdHJ1 ZSwKIAkJfSwKQEAgLTIzMTAsNiArMjMyOCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9w b3dlcl93ZWxsX2Rlc2Mgc2tsX3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5vcHMgPSAmaHN3X3Bvd2Vy X3dlbGxfb3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV18xLAogCQl7CisJCQkuaHN3LnJlZ3MgPSAm aHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gU0tMX1BXX0NUTF9JRFhfUFdfMSwK IAkJCS5oc3cuaGFzX2Z1c2VzID0gdHJ1ZSwKIAkJfSwKIAl9LApAQCAtMjMxOSw2ICsyMzM5LDEw IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2Mgc2tsX3Bvd2VyX3dl bGxzW10gPSB7CiAJCS5kb21haW5zID0gMCwKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMs CiAJCS5pZCA9IFNLTF9ESVNQX1BXX01JU0NfSU8sCisJCXsKKwkJCS5oc3cucmVncyA9ICZoc3df cG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBTS0xfUFdfQ1RMX0lEWF9NSVNDX0lPLAor CQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEQyBvZmYiLApAQCAtMjMzMiw2ICsyMzU2LDggQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfZGVzYyBza2xfcG93ZXJfd2VsbHNb XSA9IHsKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BX XzIsCiAJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5p ZHggPSBTS0xfUFdfQ1RMX0lEWF9QV18yLAogCQkJLmhzdy5pcnFfcGlwZV9tYXNrID0gQklUKFBJ UEVfQikgfCBCSVQoUElQRV9DKSwKIAkJCS5oc3cuaGFzX3ZnYSA9IHRydWUsCiAJCQkuaHN3Lmhh c19mdXNlcyA9IHRydWUsCkBAIC0yMzQyLDI0ICsyMzY4LDQwIEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2Mgc2tsX3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5kb21haW5z ID0gU0tMX0RJU1BMQVlfRERJX0lPX0FfRV9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19w b3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0FfRSwKKwkJeworCQkJLmhz dy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IFNLTF9QV19DVExf SURYX0RESV9BX0UsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkRESSBCIElPIHBvd2VyIHdl bGwiLAogCQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX0RESV9JT19CX1BPV0VSX0RPTUFJTlMsCiAJ CS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV19ERElfQiwK KwkJeworCQkJLmhzdy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9 IFNLTF9QV19DVExfSURYX0RESV9CLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEREkgQyBJ TyBwb3dlciB3ZWxsIiwKIAkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfSU9fQ19QT1dFUl9E T01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1Bf UFdfRERJX0MsCisJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJ Lmhzdy5pZHggPSBTS0xfUFdfQ1RMX0lEWF9ERElfQywKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUg PSAiRERJIEQgSU8gcG93ZXIgd2VsbCIsCiAJCS5kb21haW5zID0gU0tMX0RJU1BMQVlfRERJX0lP X0RfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9 IFNLTF9ESVNQX1BXX0RESV9ELAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxf cmVncywKKwkJCS5oc3cuaWR4ID0gU0tMX1BXX0NUTF9JRFhfRERJX0QsCisJCX0sCiAJfSwKIH07 CiAKQEAgLTIzNzcsNiArMjQxOSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93 ZWxsX2Rlc2MgYnh0X3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxf b3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV18xLAogCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bv d2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gU0tMX1BXX0NUTF9JRFhfUFdfMSwKIAkJCS5o c3cuaGFzX2Z1c2VzID0gdHJ1ZSwKIAkJfSwKIAl9LApAQCAtMjM5Miw2ICsyNDM2LDggQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfZGVzYyBieHRfcG93ZXJfd2VsbHNbXSA9 IHsKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXXzIs CiAJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHgg PSBTS0xfUFdfQ1RMX0lEWF9QV18yLAogCQkJLmhzdy5pcnFfcGlwZV9tYXNrID0gQklUKFBJUEVf QikgfCBCSVQoUElQRV9DKSwKIAkJCS5oc3cuaGFzX3ZnYSA9IHRydWUsCiAJCQkuaHN3Lmhhc19m dXNlcyA9IHRydWUsCkBAIC0yNDMyLDYgKzI0NzgsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5 MTVfcG93ZXJfd2VsbF9kZXNjIGdsa19wb3dlcl93ZWxsc1tdID0gewogCQkub3BzID0gJmhzd19w b3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfMSwKIAkJeworCQkJLmhzdy5yZWdz ID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IFNLTF9QV19DVExfSURYX1BX XzEsCiAJCQkuaHN3Lmhhc19mdXNlcyA9IHRydWUsCiAJCX0sCiAJfSwKQEAgLTI0NDcsNiArMjQ5 NSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2MgZ2xrX3Bvd2Vy X3dlbGxzW10gPSB7CiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBTS0xf RElTUF9QV18yLAogCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJ CS5oc3cuaWR4ID0gU0tMX1BXX0NUTF9JRFhfUFdfMiwKIAkJCS5oc3cuaXJxX3BpcGVfbWFzayA9 IEJJVChQSVBFX0IpIHwgQklUKFBJUEVfQyksCiAJCQkuaHN3Lmhhc192Z2EgPSB0cnVlLAogCQkJ Lmhzdy5oYXNfZnVzZXMgPSB0cnVlLApAQCAtMjQ4NCwzNiArMjUzNCw2MCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGdsa19wb3dlcl93ZWxsc1tdID0gewogCQku ZG9tYWlucyA9IEdMS19ESVNQTEFZX0FVWF9BX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3 X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBHTEtfRElTUF9QV19BVVhfQSwKKwkJeworCQkJLmhz dy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IEdMS19QV19DVExf SURYX0FVWF9BLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJBVVggQiIsCiAJCS5kb21haW5z ID0gR0xLX0RJU1BMQVlfQVVYX0JfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJf d2VsbF9vcHMsCiAJCS5pZCA9IEdMS19ESVNQX1BXX0FVWF9CLAorCQl7CisJCQkuaHN3LnJlZ3Mg PSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gR0xLX1BXX0NUTF9JRFhfQVVY X0IsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkFVWCBDIiwKIAkJLmRvbWFpbnMgPSBHTEtf RElTUExBWV9BVVhfQ19QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29w cywKIAkJLmlkID0gR0xLX0RJU1BfUFdfQVVYX0MsCisJCXsKKwkJCS5oc3cucmVncyA9ICZoc3df cG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBHTEtfUFdfQ1RMX0lEWF9BVVhfQywKKwkJ fSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiRERJIEEgSU8gcG93ZXIgd2VsbCIsCiAJCS5kb21haW5z ID0gR0xLX0RJU1BMQVlfRERJX0lPX0FfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93 ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IEdMS19ESVNQX1BXX0RESV9BLAorCQl7CisJCQkuaHN3LnJl Z3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gR0xLX1BXX0NUTF9JRFhf RERJX0EsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkRESSBCIElPIHBvd2VyIHdlbGwiLAog CQkuZG9tYWlucyA9IEdMS19ESVNQTEFZX0RESV9JT19CX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMg PSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV19ERElfQiwKKwkJewor CQkJLmhzdy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IFNLTF9Q V19DVExfSURYX0RESV9CLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEREkgQyBJTyBwb3dl ciB3ZWxsIiwKIAkJLmRvbWFpbnMgPSBHTEtfRElTUExBWV9ERElfSU9fQ19QT1dFUl9ET01BSU5T LAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJ X0MsCisJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5p ZHggPSBTS0xfUFdfQ1RMX0lEWF9ERElfQywKKwkJfSwKIAl9LAogfTsKIApAQCAtMjUzMiw2ICsy NjA2LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfZGVzYyBjbmxfcG93 ZXJfd2VsbHNbXSA9IHsKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNL TF9ESVNQX1BXXzEsCiAJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAor CQkJLmhzdy5pZHggPSBTS0xfUFdfQ1RMX0lEWF9QV18xLAogCQkJLmhzdy5oYXNfZnVzZXMgPSB0 cnVlLAogCQl9LAogCX0sCkBAIC0yNTQwLDI0ICsyNjE2LDQwIEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2MgY25sX3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5kb21haW5z ID0gQ05MX0RJU1BMQVlfQVVYX0FfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJf d2VsbF9vcHMsCiAJCS5pZCA9IENOTF9ESVNQX1BXX0FVWF9BLAorCQl7CisJCQkuaHN3LnJlZ3Mg PSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gR0xLX1BXX0NUTF9JRFhfQVVY X0EsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkFVWCBCIiwKIAkJLmRvbWFpbnMgPSBDTkxf RElTUExBWV9BVVhfQl9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29w cywKIAkJLmlkID0gQ05MX0RJU1BfUFdfQVVYX0IsCisJCXsKKwkJCS5oc3cucmVncyA9ICZoc3df cG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBHTEtfUFdfQ1RMX0lEWF9BVVhfQiwKKwkJ fSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiQVVYIEMiLAogCQkuZG9tYWlucyA9IENOTF9ESVNQTEFZ X0FVWF9DX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQku aWQgPSBDTkxfRElTUF9QV19BVVhfQywKKwkJeworCQkJLmhzdy5yZWdzID0gJmhzd19wb3dlcl93 ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IEdMS19QV19DVExfSURYX0FVWF9DLAorCQl9LAogCX0s CiAJewogCQkubmFtZSA9ICJBVVggRCIsCiAJCS5kb21haW5zID0gQ05MX0RJU1BMQVlfQVVYX0Rf UE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IENO TF9ESVNQX1BXX0FVWF9ELAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVn cywKKwkJCS5oc3cuaWR4ID0gQ05MX1BXX0NUTF9JRFhfQVVYX0QsCisJCX0sCiAJfSwKIAl7CiAJ CS5uYW1lID0gIkRDIG9mZiIsCkBAIC0yNTcxLDYgKzI2NjMsOCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGNubF9wb3dlcl93ZWxsc1tdID0gewogCQkub3BzID0g Jmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfMiwKIAkJeworCQkJLmhz dy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IFNLTF9QV19DVExf SURYX1BXXzIsCiAJCQkuaHN3LmlycV9waXBlX21hc2sgPSBCSVQoUElQRV9CKSB8IEJJVChQSVBF X0MpLAogCQkJLmhzdy5oYXNfdmdhID0gdHJ1ZSwKIAkJCS5oc3cuaGFzX2Z1c2VzID0gdHJ1ZSwK QEAgLTI1ODEsMzYgKzI2NzUsNjAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dl bGxfZGVzYyBjbmxfcG93ZXJfd2VsbHNbXSA9IHsKIAkJLmRvbWFpbnMgPSBDTkxfRElTUExBWV9E RElfQV9JT19QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJ LmlkID0gQ05MX0RJU1BfUFdfRERJX0EsCisJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJf d2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBHTEtfUFdfQ1RMX0lEWF9ERElfQSwKKwkJfSwKIAl9 LAogCXsKIAkJLm5hbWUgPSAiRERJIEIgSU8gcG93ZXIgd2VsbCIsCiAJCS5kb21haW5zID0gQ05M X0RJU1BMQVlfRERJX0JfSU9fUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2Vs bF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9CLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAm aHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gU0tMX1BXX0NUTF9JRFhfRERJX0Is CisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkRESSBDIElPIHBvd2VyIHdlbGwiLAogCQkuZG9t YWlucyA9IENOTF9ESVNQTEFZX0RESV9DX0lPX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3 X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV19ERElfQywKKwkJeworCQkJLmhz dy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IFNLTF9QV19DVExf SURYX0RESV9DLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEREkgRCBJTyBwb3dlciB3ZWxs IiwKIAkJLmRvbWFpbnMgPSBDTkxfRElTUExBWV9ERElfRF9JT19QT1dFUl9ET01BSU5TLAogCQku b3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0QsCisJ CXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBT S0xfUFdfQ1RMX0lEWF9ERElfRCwKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiRERJIEYgSU8g cG93ZXIgd2VsbCIsCiAJCS5kb21haW5zID0gQ05MX0RJU1BMQVlfRERJX0ZfSU9fUE9XRVJfRE9N QUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IENOTF9ESVNQX1BX X0RESV9GLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5o c3cuaWR4ID0gQ05MX1BXX0NUTF9JRFhfRERJX0YsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0g IkFVWCBGIiwKIAkJLmRvbWFpbnMgPSBDTkxfRElTUExBWV9BVVhfRl9QT1dFUl9ET01BSU5TLAog CQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gQ05MX0RJU1BfUFdfQVVYX0Ys CisJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHgg PSBDTkxfUFdfQ1RMX0lEWF9BVVhfRiwKKwkJfSwKIAl9LAogfTsKIApAQCAtMjYyMSw2ICsyNzM5 LDE4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX29wcyBpY2xfY29tYm9f cGh5X2F1eF9wb3dlcl93ZWxsX29wcyA9IHsKIAkuaXNfZW5hYmxlZCA9IGhzd19wb3dlcl93ZWxs X2VuYWJsZWQsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9yZWdz IGljbF9hdXhfcG93ZXJfd2VsbF9yZWdzID0geworCS5iaW9zCT0gSUNMX1BXUl9XRUxMX0NUTF9B VVgxLAorCS5kcml2ZXIJPSBJQ0xfUFdSX1dFTExfQ1RMX0FVWDIsCisJLmRlYnVnCT0gSUNMX1BX Ul9XRUxMX0NUTF9BVVg0LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dl bGxfcmVncyBpY2xfZGRpX3Bvd2VyX3dlbGxfcmVncyA9IHsKKwkuYmlvcwk9IElDTF9QV1JfV0VM TF9DVExfRERJMSwKKwkuZHJpdmVyCT0gSUNMX1BXUl9XRUxMX0NUTF9EREkyLAorCS5kZWJ1Zwk9 IElDTF9QV1JfV0VMTF9DVExfRERJNCwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9w b3dlcl93ZWxsX2Rlc2MgaWNsX3Bvd2VyX3dlbGxzW10gPSB7CiAJewogCQkubmFtZSA9ICJhbHdh eXMtb24iLApAQCAtMjYzNiw2ICsyNzY2LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bv d2VyX3dlbGxfZGVzYyBpY2xfcG93ZXJfd2VsbHNbXSA9IHsKIAkJLm9wcyA9ICZoc3dfcG93ZXJf d2VsbF9vcHMsCiAJCS5pZCA9IElDTF9ESVNQX1BXXzEsCiAJCXsKKwkJCS5oc3cucmVncyA9ICZo c3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9QV18xLAog CQkJLmhzdy5oYXNfZnVzZXMgPSB0cnVlLAogCQl9LAogCX0sCkBAIC0yNjQ1LDYgKzI3NzcsOCBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGljbF9wb3dlcl93ZWxs c1tdID0gewogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gSUNMX0RJU1Bf UFdfMiwKIAkJeworCQkJLmhzdy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3 LmlkeCA9IElDTF9QV19DVExfSURYX1BXXzIsCiAJCQkuaHN3Lmhhc19mdXNlcyA9IHRydWUsCiAJ CX0sCiAJfSwKQEAgLTI2NjAsNiArMjc5NCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9w b3dlcl93ZWxsX2Rlc2MgaWNsX3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5vcHMgPSAmaHN3X3Bvd2Vy X3dlbGxfb3BzLAogCQkuaWQgPSBJQ0xfRElTUF9QV18zLAogCQl7CisJCQkuaHN3LnJlZ3MgPSAm aHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfUFdfMywK IAkJCS5oc3cuaXJxX3BpcGVfbWFzayA9IEJJVChQSVBFX0IpLAogCQkJLmhzdy5oYXNfdmdhID0g dHJ1ZSwKIAkJCS5oc3cuaGFzX2Z1c2VzID0gdHJ1ZSwKQEAgLTI2NzAsOTYgKzI4MDYsMTYwIEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2MgaWNsX3Bvd2VyX3dlbGxz W10gPSB7CiAJCS5kb21haW5zID0gSUNMX0RESV9JT19BX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMg PSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBJQ0xfRElTUF9QV19ERElfQSwKKwkJewor CQkJLmhzdy5yZWdzID0gJmljbF9kZGlfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBJ Q0xfUFdfQ1RMX0lEWF9ERElfQSwKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiRERJIEIgSU8i LAogCQkuZG9tYWlucyA9IElDTF9ERElfSU9fQl9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhz d19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gSUNMX0RJU1BfUFdfRERJX0IsCisJCXsKKwkJCS5o c3cucmVncyA9ICZpY2xfZGRpX3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gSUNMX1BX X0NUTF9JRFhfRERJX0IsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkRESSBDIElPIiwKIAkJ LmRvbWFpbnMgPSBJQ0xfRERJX0lPX0NfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93 ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IElDTF9ESVNQX1BXX0RESV9DLAorCQl7CisJCQkuaHN3LnJl Z3MgPSAmaWNsX2RkaV9wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExf SURYX0RESV9DLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEREkgRCBJTyIsCiAJCS5kb21h aW5zID0gSUNMX0RESV9JT19EX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dl bGxfb3BzLAogCQkuaWQgPSBJQ0xfRElTUF9QV19ERElfRCwKKwkJeworCQkJLmhzdy5yZWdzID0g JmljbF9kZGlfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9E RElfRCwKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiRERJIEUgSU8iLAogCQkuZG9tYWlucyA9 IElDTF9ERElfSU9fRV9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29w cywKIAkJLmlkID0gSUNMX0RJU1BfUFdfRERJX0UsCisJCXsKKwkJCS5oc3cucmVncyA9ICZpY2xf ZGRpX3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfRERJX0Us CisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkRESSBGIElPIiwKIAkJLmRvbWFpbnMgPSBJQ0xf RERJX0lPX0ZfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJ CS5pZCA9IElDTF9ESVNQX1BXX0RESV9GLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaWNsX2RkaV9w b3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExfSURYX0RESV9GLAorCQl9 LAogCX0sCiAJewogCQkubmFtZSA9ICJBVVggQSIsCiAJCS5kb21haW5zID0gSUNMX0FVWF9BX0lP X1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaWNsX2NvbWJvX3BoeV9hdXhfcG93ZXJfd2VsbF9v cHMsCiAJCS5pZCA9IElDTF9ESVNQX1BXX0FVWF9BLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaWNs X2F1eF9wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExfSURYX0FVWF9B LAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJBVVggQiIsCiAJCS5kb21haW5zID0gSUNMX0FV WF9CX0lPX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaWNsX2NvbWJvX3BoeV9hdXhfcG93ZXJf d2VsbF9vcHMsCiAJCS5pZCA9IElDTF9ESVNQX1BXX0FVWF9CLAorCQl7CisJCQkuaHN3LnJlZ3Mg PSAmaWNsX2F1eF9wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExfSURY X0FVWF9CLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJBVVggQyIsCiAJCS5kb21haW5zID0g SUNMX0FVWF9DX0lPX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3Bz LAogCQkuaWQgPSBJQ0xfRElTUF9QV19BVVhfQywKKwkJeworCQkJLmhzdy5yZWdzID0gJmljbF9h dXhfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9BVVhfQywK KwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiQVVYIEQiLAogCQkuZG9tYWlucyA9IElDTF9BVVhf RF9JT19QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlk ID0gSUNMX0RJU1BfUFdfQVVYX0QsCisJCXsKKwkJCS5oc3cucmVncyA9ICZpY2xfYXV4X3Bvd2Vy X3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfQVVYX0QsCisJCX0sCiAJ fSwKIAl7CiAJCS5uYW1lID0gIkFVWCBFIiwKIAkJLmRvbWFpbnMgPSBJQ0xfQVVYX0VfSU9fUE9X RVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IElDTF9E SVNQX1BXX0FVWF9FLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaWNsX2F1eF9wb3dlcl93ZWxsX3Jl Z3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExfSURYX0FVWF9FLAorCQl9LAogCX0sCiAJewog CQkubmFtZSA9ICJBVVggRiIsCiAJCS5kb21haW5zID0gSUNMX0FVWF9GX0lPX1BPV0VSX0RPTUFJ TlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBJQ0xfRElTUF9QV19B VVhfRiwKKwkJeworCQkJLmhzdy5yZWdzID0gJmljbF9hdXhfcG93ZXJfd2VsbF9yZWdzLAorCQkJ Lmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9BVVhfRiwKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUg PSAiQVVYIFRCVDEiLAogCQkuZG9tYWlucyA9IElDTF9BVVhfVEJUMV9JT19QT1dFUl9ET01BSU5T LAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gSUNMX0RJU1BfUFdfQVVY X1RCVDEsCisJCXsKKwkJCS5oc3cucmVncyA9ICZpY2xfYXV4X3Bvd2VyX3dlbGxfcmVncywKKwkJ CS5oc3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfQVVYX1RCVDEsCisJCX0sCiAJfSwKIAl7CiAJCS5u YW1lID0gIkFVWCBUQlQyIiwKIAkJLmRvbWFpbnMgPSBJQ0xfQVVYX1RCVDJfSU9fUE9XRVJfRE9N QUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IElDTF9ESVNQX1BX X0FVWF9UQlQyLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaWNsX2F1eF9wb3dlcl93ZWxsX3JlZ3Ms CisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExfSURYX0FVWF9UQlQyLAorCQl9LAogCX0sCiAJewog CQkubmFtZSA9ICJBVVggVEJUMyIsCiAJCS5kb21haW5zID0gSUNMX0FVWF9UQlQzX0lPX1BPV0VS X0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBJQ0xfRElT UF9QV19BVVhfVEJUMywKKwkJeworCQkJLmhzdy5yZWdzID0gJmljbF9hdXhfcG93ZXJfd2VsbF9y ZWdzLAorCQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9BVVhfVEJUMywKKwkJfSwKIAl9LAog CXsKIAkJLm5hbWUgPSAiQVVYIFRCVDQiLAogCQkuZG9tYWlucyA9IElDTF9BVVhfVEJUNF9JT19Q T1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gSUNM X0RJU1BfUFdfQVVYX1RCVDQsCisJCXsKKwkJCS5oc3cucmVncyA9ICZpY2xfYXV4X3Bvd2VyX3dl bGxfcmVncywKKwkJCS5oc3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfQVVYX1RCVDQsCisJCX0sCiAJ fSwKIAl7CiAJCS5uYW1lID0gInBvd2VyIHdlbGwgNCIsCkBAIC0yNzY3LDYgKzI5NjcsOCBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGljbF9wb3dlcl93ZWxsc1td ID0gewogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gSUNMX0RJU1BfUFdf NCwKIAkJeworCQkJLmhzdy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3Lmlk eCA9IElDTF9QV19DVExfSURYX1BXXzQsCiAJCQkuaHN3Lmhhc19mdXNlcyA9IHRydWUsCiAJCQku aHN3LmlycV9waXBlX21hc2sgPSBCSVQoUElQRV9DKSwKIAkJfSwKLS0gCjIuMTMuMgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==