From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id ECBF0892DC for ; Tue, 14 May 2019 12:07:05 +0000 (UTC) From: Simon Ser Date: Tue, 14 May 2019 15:06:42 +0300 Message-Id: <20190514120646.19889-6-simon.ser@intel.com> In-Reply-To: <20190514120646.19889-1-simon.ser@intel.com> References: <20190514120646.19889-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v3 5/9] tests/kms_chamelium: generate an EDID with audio support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Petri Latvala List-ID: VGhlIGRlZmF1bHQgQ2hhbWVsaXVtIEVESUQgd29ya3MgZ3JlYXQgd2l0aCBEaXNwbGF5UG9ydCBi dXQgaGFzIGlzc3VlcyB3aXRoCkhETUkuIFRoZSBFRElEIGFkdmVydGlzZXMgaXRzZWxmIGFzIGEg RGlzcGxheVBvcnQtb25seSBkZXZpY2UsIHdoaWNoIGNhdXNlcwppc3N1ZXMgd2l0aCBIRE1JIGF1 ZGlvLiBBZGRpdGlvbmFsbHksIHRoZSBFRElEIGRvZXNuJ3QgY29udGFpbiBhIG1hZ2ljCmluY2Fu dGF0aW9uIHdpdGhpbiBhIHZlbmRvci1zcGVjaWZpYyBkYXRhIGJsb2NrIHRoYXQgaXMgbmVlZGVk IGZvciBhdWRpbyB0bwp3b3JrLgoKVGhpcyBwYXRjaCBtYWtlcyBpdCBzbyBhbiBFRElEIGlzIGdl bmVyYXRlZCBhbmQgc2V0IGJ5IElHVC4gVGhlIEVESUQgaXMgdGhlCmJhc2UgSUdUIEVESUQgcGF0 Y2hlZCB0byBhcHBlbmQgYSBTaG9ydCBBdWRpbyBEZXNjcmlwdG9yIGFuZCBWZW5kb3IgU3BlY2lm aWMKRGF0YSBibG9jayBleHRlbnNpb24uCgpUaGlzIGdlbmVyYXRlZCBFRElEIGlzIHN1aXRhYmxl IGZvciBIRE1JIGF1ZGlvLiBGb3IgRGlzcGxheVBvcnQgYXVkaW8sIHdlIGtlZXAKdXNpbmcgdGhl IENoYW1lbGl1bSdzIGRlZmF1bHQgRURJRC4KCkEgbmV3IGVudW0gdGVzdF9lZGlkIGhhcyBiZWVu IGludHJvZHVjZWQgdG8gcHJldmVudCBtaXNtYXRjaGVzIGJldHdlZW4gdGhlCkNoYW1lbGl1bSBF RElEIElEIGFuZCB0aGUgcmF3IEVESUQuCgpUaGUgZ2xvYmFsIHZhcmlhYmxlIGhvbGRpbmcgdGhl IHRlc3QgZnJlcXVlbmNpZXMgaGFzIGJlZW4gcmVuYW1lZCB0byBwcmV2ZW50CnNoYWRvd2luZyBi eSBsb2NhbCB2YXJpYWJsZXMuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBTZXIgPHNpbW9uLnNlckBp bnRlbC5jb20+ClJldmlld2VkLWJ5OiBBcmthZGl1c3ogSGlsZXIgPGFya2FkaXVzei5oaWxlckBp bnRlbC5jb20+Ci0tLQogbGliL2lndF9jaGFtZWxpdW0uYyAgIHwgICA5ICstCiB0ZXN0cy9rbXNf Y2hhbWVsaXVtLmMgfCAxOTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE0NyBpbnNlcnRpb25zKCspLCA1NCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9saWIvaWd0X2NoYW1lbGl1bS5jIGIvbGliL2lndF9jaGFtZWxpdW0uYwpp bmRleCBkM2FiMWZmY2M1ZDYuLjkxZDMzMGRkY2Q2OCAxMDA2NDQKLS0tIGEvbGliL2lndF9jaGFt ZWxpdW0uYworKysgYi9saWIvaWd0X2NoYW1lbGl1bS5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5j bHVkZSAiaWd0X2NoYW1lbGl1bS5oIgogI2luY2x1ZGUgImlndF9jb3JlLmgiCiAjaW5jbHVkZSAi aWd0X2F1eC5oIgorI2luY2x1ZGUgImlndF9lZGlkLmgiCiAjaW5jbHVkZSAiaWd0X2ZyYW1lLmgi CiAjaW5jbHVkZSAiaWd0X2xpc3QuaCIKICNpbmNsdWRlICJpZ3Rfa21zLmgiCkBAIC01MzAsMTQg KzUzMSwxOCBAQCB2b2lkIGNoYW1lbGl1bV9zY2hlZHVsZV9ocGRfdG9nZ2xlKHN0cnVjdCBjaGFt ZWxpdW0gKmNoYW1lbGl1bSwKICAqCiAgKiBSZXR1cm5zOiBUaGUgSUQgb2YgdGhlIEVESUQgdXBs b2FkZWQgdG8gdGhlIGNoYW1lbGl1bS4KICAqLwotaW50IGNoYW1lbGl1bV9uZXdfZWRpZChzdHJ1 Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQpCitpbnQg Y2hhbWVsaXVtX25ld19lZGlkKHN0cnVjdCBjaGFtZWxpdW0gKmNoYW1lbGl1bSwKKwkJICAgICAg IGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd19lZGlkKQogewogCXhtbHJwY192YWx1ZSAqcmVzOwog CXN0cnVjdCBjaGFtZWxpdW1fZWRpZCAqYWxsb2NhdGVkX2VkaWQ7CiAJaW50IGVkaWRfaWQ7CisJ c3RydWN0IGVkaWQgKmVkaWQgPSAoc3RydWN0IGVkaWQgKikgcmF3X2VkaWQ7CisJc2l6ZV90IGVk aWRfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgZWRpZCkgKworCQkJICAgZWRpZC0+ZXh0ZW5zaW9uc19s ZW4gKiBzaXplb2Yoc3RydWN0IGVkaWRfZXh0KTsKIAogCXJlcyA9IGNoYW1lbGl1bV9ycGMoY2hh bWVsaXVtLCBOVUxMLCAiQ3JlYXRlRWRpZCIsICIoNikiLAotCQkJICAgIGVkaWQsIEVESURfTEVO R1RIKTsKKwkJCSAgICByYXdfZWRpZCwgZWRpZF9zaXplKTsKIAogCXhtbHJwY19yZWFkX2ludCgm Y2hhbWVsaXVtLT5lbnYsIHJlcywgJmVkaWRfaWQpOwogCXhtbHJwY19ERUNSRUYocmVzKTsKZGlm ZiAtLWdpdCBhL3Rlc3RzL2ttc19jaGFtZWxpdW0uYyBiL3Rlc3RzL2ttc19jaGFtZWxpdW0uYwpp bmRleCBjMmQ1NzkzYTQxYzUuLjZkOWQ0MTExZWE5YiAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2No YW1lbGl1bS5jCisrKyBiL3Rlc3RzL2ttc19jaGFtZWxpdW0uYwpAQCAtMjcsMTIgKzI3LDIwIEBA CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiaWd0LmgiCiAjaW5jbHVkZSAiaWd0X3Zj NC5oIgorI2luY2x1ZGUgImlndF9lZGlkLmgiCiAKICNpbmNsdWRlIDxmY250bC5oPgogI2luY2x1 ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxzdGRhdG9taWMu aD4KIAorZW51bSB0ZXN0X2VkaWQgeworCVRFU1RfRURJRF9DSEFNRUxJVU1fREVGQVVMVCwKKwlU RVNUX0VESURfQkFTRSwKKwlURVNUX0VESURfQUxULAorCVRFU1RfRURJRF9IRE1JX0FVRElPLAor fTsKKwogdHlwZWRlZiBzdHJ1Y3QgewogCXN0cnVjdCBjaGFtZWxpdW0gKmNoYW1lbGl1bTsKIAlz dHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKipwb3J0czsKQEAgLTQxLDggKzQ5LDcgQEAgdHlwZWRlZiBz dHJ1Y3QgewogCiAJaW50IGRybV9mZDsKIAotCWludCBlZGlkX2lkOwotCWludCBhbHRfZWRpZF9p ZDsKKwlpbnQgZWRpZHNbNF07CiB9IGRhdGFfdDsKIAogI2RlZmluZSBIT1RQTFVHX1RJTUVPVVQg MjAgLyogc2Vjb25kcyAqLwpAQCAtMjU1LDE4ICsyNjIsMjYgQEAgdGVzdF9iYXNpY19ob3RwbHVn KGRhdGFfdCAqZGF0YSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0LCBpbnQgdG9nZ2xlX2Nv dW50KQogCWlndF9ocGRfc3Rvcm1fcmVzZXQoZGF0YS0+ZHJtX2ZkKTsKIH0KIAorc3RhdGljIGNv bnN0IHVuc2lnbmVkIGNoYXIgKmdldF9lZGlkKGVudW0gdGVzdF9lZGlkIGVkaWQpOworCitzdGF0 aWMgdm9pZCBzZXRfZWRpZChkYXRhX3QgKmRhdGEsIHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9y dCwKKwkJICAgICBlbnVtIHRlc3RfZWRpZCBlZGlkKQoreworCWNoYW1lbGl1bV9wb3J0X3NldF9l ZGlkKGRhdGEtPmNoYW1lbGl1bSwgcG9ydCwgZGF0YS0+ZWRpZHNbZWRpZF0pOworfQorCiBzdGF0 aWMgdm9pZAotdGVzdF9lZGlkX3JlYWQoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3Bv cnQgKnBvcnQsCi0JICAgICAgIGludCBlZGlkX2lkLCBjb25zdCB1bnNpZ25lZCBjaGFyICplZGlk KQordGVzdF9lZGlkX3JlYWQoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBv cnQsIGVudW0gdGVzdF9lZGlkIGVkaWQpCiB7CiAJZHJtTW9kZVByb3BlcnR5QmxvYlB0ciBlZGlk X2Jsb2IgPSBOVUxMOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnJhd19lZGlkID0gZ2V0X2VkaWQo ZWRpZCk7CiAJZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yID0gY2hhbWVsaXVtX3BvcnRfZ2V0 X2Nvbm5lY3RvcigKIAkgICAgZGF0YS0+Y2hhbWVsaXVtLCBwb3J0LCBmYWxzZSk7CiAJdWludDY0 X3QgZWRpZF9ibG9iX2lkOwogCiAJcmVzZXRfc3RhdGUoZGF0YSwgcG9ydCk7CiAKLQljaGFtZWxp dW1fcG9ydF9zZXRfZWRpZChkYXRhLT5jaGFtZWxpdW0sIHBvcnQsIGVkaWRfaWQpOworCXNldF9l ZGlkKGRhdGEsIHBvcnQsIGVkaWQpOwogCWNoYW1lbGl1bV9wbHVnKGRhdGEtPmNoYW1lbGl1bSwg cG9ydCk7CiAJd2FpdF9mb3JfY29ubmVjdG9yKGRhdGEsIHBvcnQsIERSTV9NT0RFX0NPTk5FQ1RF RCk7CiAKQEAgLTI3OCw3ICsyOTMsNyBAQCB0ZXN0X2VkaWRfcmVhZChkYXRhX3QgKmRhdGEsIHN0 cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9ydCwKIAlpZ3RfYXNzZXJ0KGVkaWRfYmxvYiA9IGRybU1v ZGVHZXRQcm9wZXJ0eUJsb2IoZGF0YS0+ZHJtX2ZkLAogCQkJCQkJICAgICAgZWRpZF9ibG9iX2lk KSk7CiAKLQlpZ3RfYXNzZXJ0KG1lbWNtcChlZGlkLCBlZGlkX2Jsb2ItPmRhdGEsIEVESURfTEVO R1RIKSA9PSAwKTsKKwlpZ3RfYXNzZXJ0KG1lbWNtcChyYXdfZWRpZCwgZWRpZF9ibG9iLT5kYXRh LCBFRElEX0xFTkdUSCkgPT0gMCk7CiAKIAlkcm1Nb2RlRnJlZVByb3BlcnR5QmxvYihlZGlkX2Js b2IpOwogCWRybU1vZGVGcmVlQ29ubmVjdG9yKGNvbm5lY3Rvcik7CkBAIC00MDYsOCArNDIxLDgg QEAgc3RhdGljIHZvaWQKIHRlc3Rfc3VzcGVuZF9yZXN1bWVfZWRpZF9jaGFuZ2UoZGF0YV90ICpk YXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQsCiAJCQkJZW51bSBpZ3Rfc3VzcGVuZF9z dGF0ZSBzdGF0ZSwKIAkJCQllbnVtIGlndF9zdXNwZW5kX3Rlc3QgdGVzdCwKLQkJCQlpbnQgZWRp ZF9pZCwKLQkJCQlpbnQgYWx0X2VkaWRfaWQpCisJCQkJZW51bSB0ZXN0X2VkaWQgZWRpZCwKKwkJ CQllbnVtIHRlc3RfZWRpZCBhbHRfZWRpZCkKIHsKIAlzdHJ1Y3QgdWRldl9tb25pdG9yICptb24g PSBpZ3Rfd2F0Y2hfaG90cGx1ZygpOwogCWJvb2wgbGlua19zdGF0dXNfZmFpbGVkWzJdW2RhdGEt PnBvcnRfY291bnRdOwpAQCAtNDIwLDcgKzQzNSw3IEBAIHRlc3Rfc3VzcGVuZF9yZXN1bWVfZWRp ZF9jaGFuZ2UoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQsCiAJaWd0 X2ZsdXNoX2hvdHBsdWdzKG1vbik7CiAKIAkvKiBGaXJzdCBwbHVnIGluIHRoZSBwb3J0ICovCi0J Y2hhbWVsaXVtX3BvcnRfc2V0X2VkaWQoZGF0YS0+Y2hhbWVsaXVtLCBwb3J0LCBlZGlkX2lkKTsK KwlzZXRfZWRpZChkYXRhLCBwb3J0LCBlZGlkKTsKIAljaGFtZWxpdW1fcGx1ZyhkYXRhLT5jaGFt ZWxpdW0sIHBvcnQpOwogCWlndF9hc3NlcnQoaWd0X2hvdHBsdWdfZGV0ZWN0ZWQobW9uLCBIT1RQ TFVHX1RJTUVPVVQpKTsKIApAQCAtNDMwLDcgKzQ0NSw3IEBAIHRlc3Rfc3VzcGVuZF9yZXN1bWVf ZWRpZF9jaGFuZ2UoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQsCiAJ ICogQ2hhbmdlIHRoZSBlZGlkIGJlZm9yZSB3ZSBzdXNwZW5kLiBPbiByZXN1bWUsIHRoZSBtYWNo aW5lIHNob3VsZAogCSAqIG5vdGljZSB0aGUgRURJRCBjaGFuZ2UgYW5kIGZpcmUgYSBob3RwbHVn IGV2ZW50LgogCSAqLwotCWNoYW1lbGl1bV9wb3J0X3NldF9lZGlkKGRhdGEtPmNoYW1lbGl1bSwg cG9ydCwgYWx0X2VkaWRfaWQpOworCXNldF9lZGlkKGRhdGEsIHBvcnQsIGFsdF9lZGlkKTsKIAog CWdldF9jb25uZWN0b3JzX2xpbmtfc3RhdHVzX2ZhaWxlZChkYXRhLCBsaW5rX3N0YXR1c19mYWls ZWRbMF0pOwogCkBAIC00NDcsOCArNDYyLDcgQEAgdGVzdF9zdXNwZW5kX3Jlc3VtZV9lZGlkX2No YW5nZShkYXRhX3QgKmRhdGEsIHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9ydCwKIH0KIAogc3Rh dGljIGlndF9vdXRwdXRfdCAqCi1wcmVwYXJlX291dHB1dChkYXRhX3QgKmRhdGEsCi0JICAgICAg IHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9ydCwgYm9vbCBzZXRfZWRpZCkKK3ByZXBhcmVfb3V0 cHV0KGRhdGFfdCAqZGF0YSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0LCBlbnVtIHRlc3Rf ZWRpZCBlZGlkKQogewogCWlndF9kaXNwbGF5X3QgKmRpc3BsYXkgPSAmZGF0YS0+ZGlzcGxheTsK IAlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKQEAgLTQ2MSwxMCArNDc1LDEwIEBAIHByZXBhcmVfb3V0 cHV0KGRhdGFfdCAqZGF0YSwKIAlpZ3RfcmVxdWlyZShyZXMgPSBkcm1Nb2RlR2V0UmVzb3VyY2Vz KGRhdGEtPmRybV9mZCkpOwogCiAJLyogVGhlIGNoYW1lbGl1bSdzIGRlZmF1bHQgRURJRCBoYXMg YSBsb3Qgb2YgcmVzb2x1dGlvbnMsIHdheSBtb3JlIHRoZW4KLQkgKiB3ZSBuZWVkIHRvIHRlc3QK KwkgKiB3ZSBuZWVkIHRvIHRlc3QuIEFkZGl0aW9uYWxseSB0aGUgZGVmYXVsdCBFRElEIGRvZXNu J3Qgc3VwcG9ydCBIRE1JCisJICogYXVkaW8uCiAJICovCi0JaWYgKHNldF9lZGlkKQotCQljaGFt ZWxpdW1fcG9ydF9zZXRfZWRpZChkYXRhLT5jaGFtZWxpdW0sIHBvcnQsIGRhdGEtPmVkaWRfaWQp OworCXNldF9lZGlkKGRhdGEsIHBvcnQsIGVkaWQpOwogCiAJY2hhbWVsaXVtX3BsdWcoZGF0YS0+ Y2hhbWVsaXVtLCBwb3J0KTsKIAl3YWl0X2Zvcl9jb25uZWN0b3IoZGF0YSwgcG9ydCwgRFJNX01P REVfQ09OTkVDVEVEKTsKQEAgLTY0OSw3ICs2NjMsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2Rpc3Bs YXlfb25lX21vZGUoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQsCiAK IAlyZXNldF9zdGF0ZShkYXRhLCBwb3J0KTsKIAotCW91dHB1dCA9IHByZXBhcmVfb3V0cHV0KGRh dGEsIHBvcnQsIHRydWUpOworCW91dHB1dCA9IHByZXBhcmVfb3V0cHV0KGRhdGEsIHBvcnQsIFRF U1RfRURJRF9CQVNFKTsKIAljb25uZWN0b3IgPSBjaGFtZWxpdW1fcG9ydF9nZXRfY29ubmVjdG9y KGRhdGEtPmNoYW1lbGl1bSwgcG9ydCwgZmFsc2UpOwogCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dl dF9wbGFuZV90eXBlKG91dHB1dCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7CiAJaWd0X2Fzc2Vy dChwcmltYXJ5KTsKQEAgLTY4MCw3ICs2OTQsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2Rpc3BsYXlf YWxsX21vZGVzKGRhdGFfdCAqZGF0YSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0LAogCiAJ cmVzZXRfc3RhdGUoZGF0YSwgcG9ydCk7CiAKLQlvdXRwdXQgPSBwcmVwYXJlX291dHB1dChkYXRh LCBwb3J0LCB0cnVlKTsKKwlvdXRwdXQgPSBwcmVwYXJlX291dHB1dChkYXRhLCBwb3J0LCBURVNU X0VESURfQkFTRSk7CiAJY29ubmVjdG9yID0gY2hhbWVsaXVtX3BvcnRfZ2V0X2Nvbm5lY3Rvcihk YXRhLT5jaGFtZWxpdW0sIHBvcnQsIGZhbHNlKTsKIAlwcmltYXJ5ID0gaWd0X291dHB1dF9nZXRf cGxhbmVfdHlwZShvdXRwdXQsIERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOwogCWlndF9hc3NlcnQo cHJpbWFyeSk7CkBAIC03MTUsNyArNzI5LDcgQEAgdGVzdF9kaXNwbGF5X2ZyYW1lX2R1bXAoZGF0 YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQpCiAKIAlyZXNldF9zdGF0ZShk YXRhLCBwb3J0KTsKIAotCW91dHB1dCA9IHByZXBhcmVfb3V0cHV0KGRhdGEsIHBvcnQsIHRydWUp OworCW91dHB1dCA9IHByZXBhcmVfb3V0cHV0KGRhdGEsIHBvcnQsIFRFU1RfRURJRF9CQVNFKTsK IAljb25uZWN0b3IgPSBjaGFtZWxpdW1fcG9ydF9nZXRfY29ubmVjdG9yKGRhdGEtPmNoYW1lbGl1 bSwgcG9ydCwgZmFsc2UpOwogCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKG91 dHB1dCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7CiAJaWd0X2Fzc2VydChwcmltYXJ5KTsKQEAg LTc1OCw3ICs3NzIsNyBAQCB0ZXN0X2Rpc3BsYXlfZnJhbWVfZHVtcChkYXRhX3QgKmRhdGEsIHN0 cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9ydCkKIC8qIEEgc3RyZWFrIG9mIDMgZ2l2ZXMgY29uZmlk ZW5jZSB0aGF0IHRoZSBzaWduYWwgaXMgZ29vZC4gKi8KICNkZWZpbmUgTUlOX1NUUkVBSyAzCiAK LXN0YXRpYyBpbnQgc2FtcGxpbmdfcmF0ZXNbXSA9IHsKK3N0YXRpYyBpbnQgdGVzdF9zYW1wbGlu Z19yYXRlc1tdID0gewogCTMyMDAwLAogCTQ0MTAwLAogCTQ4MDAwLApAQCAtNzY4LDcgKzc4Miw3 IEBAIHN0YXRpYyBpbnQgc2FtcGxpbmdfcmF0ZXNbXSA9IHsKIAkxOTIwMDAsCiB9OwogCi1zdGF0 aWMgaW50IHNhbXBsaW5nX3JhdGVzX2NvdW50ID0gc2l6ZW9mKHNhbXBsaW5nX3JhdGVzKSAvIHNp emVvZihpbnQpOworc3RhdGljIGludCB0ZXN0X3NhbXBsaW5nX3JhdGVzX2NvdW50ID0gc2l6ZW9m KHRlc3Rfc2FtcGxpbmdfcmF0ZXMpIC8gc2l6ZW9mKGludCk7CiAKIHN0YXRpYyBpbnQgdGVzdF9m cmVxdWVuY2llc1tdID0gewogCTMwMCwKQEAgLTEwMTksNyArMTAzMyw3IEBAIGRvX3Rlc3RfZGlz cGxheV9hdWRpbyhkYXRhX3QgKmRhdGEsIHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9ydCwKIAog c3RhdGljIHZvaWQKIHRlc3RfZGlzcGxheV9hdWRpbyhkYXRhX3QgKmRhdGEsIHN0cnVjdCBjaGFt ZWxpdW1fcG9ydCAqcG9ydCwKLQkJICAgY29uc3QgY2hhciAqYXVkaW9fZGV2aWNlKQorCQkgICBj b25zdCBjaGFyICphdWRpb19kZXZpY2UsIGVudW0gdGVzdF9lZGlkIGVkaWQpCiB7CiAJYm9vbCBy dW4gPSBmYWxzZTsKIAlzdHJ1Y3QgYWxzYSAqYWxzYTsKQEAgLTEwNDMsMTAgKzEwNTcsNyBAQCB0 ZXN0X2Rpc3BsYXlfYXVkaW8oZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBv cnQsCiAKIAlyZXNldF9zdGF0ZShkYXRhLCBwb3J0KTsKIAotCS8qIFVzZSB0aGUgZGVmYXVsdCBD aGFtZWxpdW0gRURJRCBmb3IgdGhpcyB0ZXN0LCBhcyB0aGUgYmFzZSBJR1QgRURJRAotCSAqIGRv ZXNuJ3QgYWR2ZXJ0aXNlIGF1ZGlvIHN1cHBvcnQgKHNlZSBkcm1fZGV0ZWN0X21vbml0b3JfYXVk aW8gaW4KLQkgKiB0aGUga2VybmVsIHRyZWUpLiAqLwotCW91dHB1dCA9IHByZXBhcmVfb3V0cHV0 KGRhdGEsIHBvcnQsIGZhbHNlKTsKKwlvdXRwdXQgPSBwcmVwYXJlX291dHB1dChkYXRhLCBwb3J0 LCBlZGlkKTsKIAljb25uZWN0b3IgPSBjaGFtZWxpdW1fcG9ydF9nZXRfY29ubmVjdG9yKGRhdGEt PmNoYW1lbGl1bSwgcG9ydCwgZmFsc2UpOwogCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFu ZV90eXBlKG91dHB1dCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7CiAJaWd0X2Fzc2VydChwcmlt YXJ5KTsKQEAgLTEwNjUsMTQgKzEwNzYsMTQgQEAgdGVzdF9kaXNwbGF5X2F1ZGlvKGRhdGFfdCAq ZGF0YSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0LAogCiAJZW5hYmxlX291dHB1dChkYXRh LCBwb3J0LCBvdXRwdXQsIG1vZGUsICZmYik7CiAKLQlmb3IgKGkgPSAwOyBpIDwgc2FtcGxpbmdf cmF0ZXNfY291bnQ7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCB0ZXN0X3NhbXBsaW5nX3JhdGVz X2NvdW50OyBpKyspIHsKIAkJcmV0ID0gYWxzYV9vcGVuX291dHB1dChhbHNhLCBhdWRpb19kZXZp Y2UpOwogCQlpZ3RfYXNzZXJ0KHJldCA+PSAwKTsKIAogCQkvKiBUT0RPOiBwbGF5YmFjayBvbiBh bGwgOCBhdmFpbGFibGUgY2hhbm5lbHMgKi8KIAkJcnVuIHw9IGRvX3Rlc3RfZGlzcGxheV9hdWRp byhkYXRhLCBwb3J0LCBhbHNhLAogCQkJCQkgICAgIFBMQVlCQUNLX0NIQU5ORUxTLAotCQkJCQkg ICAgIHNhbXBsaW5nX3JhdGVzW2ldKTsKKwkJCQkJICAgICB0ZXN0X3NhbXBsaW5nX3JhdGVzW2ld KTsKIAogCQlhbHNhX2Nsb3NlX291dHB1dChhbHNhKTsKIAl9CkBAIC0xNDE1LDcgKzE0MjYsNyBA QCBzdGF0aWMgdm9pZCB0ZXN0X2Rpc3BsYXlfcGxhbmVzX3JhbmRvbShkYXRhX3QgKmRhdGEsCiAJ cmVzZXRfc3RhdGUoZGF0YSwgcG9ydCk7CiAKIAkvKiBGaW5kIHRoZSBjb25uZWN0b3IgYW5kIHBp cGUuICovCi0Jb3V0cHV0ID0gcHJlcGFyZV9vdXRwdXQoZGF0YSwgcG9ydCwgdHJ1ZSk7CisJb3V0 cHV0ID0gcHJlcGFyZV9vdXRwdXQoZGF0YSwgcG9ydCwgVEVTVF9FRElEX0JBU0UpOwogCiAJbW9k ZSA9IGlndF9vdXRwdXRfZ2V0X21vZGUob3V0cHV0KTsKIApAQCAtMTU3OSw2ICsxNTkwLDgyIEBA IHRlc3RfaHBkX3N0b3JtX2Rpc2FibGUoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3Bv cnQgKnBvcnQsIGludCB3aWR0aCkKIAlpZ3RfaHBkX3N0b3JtX3Jlc2V0KGRhdGEtPmRybV9mZCk7 CiB9CiAKKyNkZWZpbmUgSERNSV9BVURJT19FRElEX1NJWkUgKHNpemVvZihzdHJ1Y3QgZWRpZCkg KyBzaXplb2Yoc3RydWN0IGVkaWRfZXh0KSkKKworc3RhdGljIHVuc2lnbmVkIGNvbnN0IGNoYXIg KmdldF9oZG1pX2F1ZGlvX2VkaWQodm9pZCkKK3sKKwlpbnQgY2hhbm5lbHM7CisJdWludDhfdCBz YW1wbGluZ19yYXRlcywgc2FtcGxlX3NpemVzOworCXN0YXRpYyB1bnNpZ25lZCBjaGFyIHJhd19l ZGlkW0hETUlfQVVESU9fRURJRF9TSVpFXSA9IHswfTsKKwlzdHJ1Y3QgZWRpZCAqZWRpZDsKKwlz dHJ1Y3QgZWRpZF9leHQgKmVkaWRfZXh0OworCXN0cnVjdCBlZGlkX2NlYSAqZWRpZF9jZWE7CisJ Y2hhciAqY2VhX2RhdGE7CisJc3RydWN0IGVkaWRfY2VhX2RhdGFfYmxvY2sgKmJsb2NrOworCXN0 cnVjdCBjZWFfc2FkIHNhZCA9IHswfTsKKwljb25zdCBzdHJ1Y3QgY2VhX3ZzZCAqdnNkOworCXNp emVfdCBjZWFfZGF0YV9zaXplLCB2c2Rfc2l6ZTsKKworCS8qIEluaXRpYWxpemUgdGhlIFNob3J0 IEF1ZGlvIERlc2NyaXB0b3IgZm9yIFBDTSAqLworCWNoYW5uZWxzID0gMjsgLyogVE9ETzogc3Bl YWtlciBhbGxvYyBibG9ja3MgZm9yID4gMiBjaGFubmVscyAqLworCXNhbXBsaW5nX3JhdGVzID0g Q0VBX1NBRF9TQU1QTElOR19SQVRFXzMyS0haIHwKKwkJCSBDRUFfU0FEX1NBTVBMSU5HX1JBVEVf NDRLSFogfAorCQkJIENFQV9TQURfU0FNUExJTkdfUkFURV80OEtIWiB8CisJCQkgQ0VBX1NBRF9T QU1QTElOR19SQVRFXzg4S0haIHwKKwkJCSBDRUFfU0FEX1NBTVBMSU5HX1JBVEVfOTZLSFogfAor CQkJIENFQV9TQURfU0FNUExJTkdfUkFURV8xNzZLSFogfAorCQkJIENFQV9TQURfU0FNUExJTkdf UkFURV8xOTJLSFo7CisJc2FtcGxlX3NpemVzID0gQ0VBX1NBRF9TQU1QTEVfU0laRV8xNiB8CisJ CSAgICAgICBDRUFfU0FEX1NBTVBMRV9TSVpFXzIwIHwKKwkJICAgICAgIENFQV9TQURfU0FNUExF X1NJWkVfMjQ7CisJY2VhX3NhZF9pbml0X3BjbSgmc2FkLCBjaGFubmVscywgc2FtcGxpbmdfcmF0 ZXMsIHNhbXBsZV9zaXplcyk7CisKKwkvKiBDcmVhdGUgYSBuZXcgRURJRCBmcm9tIHRoZSBiYXNl IElHVCBFRElELCBhbmQgYWRkIGFuCisJICogZXh0ZW5zaW9uIHRoYXQgYWR2ZXJ0aXNlcyBhdWRp byBzdXBwb3J0LiAqLworCWVkaWQgPSAoc3RydWN0IGVkaWQgKikgcmF3X2VkaWQ7CisJbWVtY3B5 KGVkaWQsIGlndF9rbXNfZ2V0X2Jhc2VfZWRpZCgpLCBzaXplb2Yoc3RydWN0IGVkaWQpKTsKKwll ZGlkLT5leHRlbnNpb25zX2xlbiA9IDE7CisJZWRpZF9leHQgPSAmZWRpZC0+ZXh0ZW5zaW9uc1sw XTsKKwllZGlkX2NlYSA9ICZlZGlkX2V4dC0+ZGF0YS5jZWE7CisJY2VhX2RhdGEgPSBlZGlkX2Nl YS0+ZGF0YTsKKwljZWFfZGF0YV9zaXplID0gMDsKKworCWJsb2NrID0gKHN0cnVjdCBlZGlkX2Nl YV9kYXRhX2Jsb2NrICopICZjZWFfZGF0YVtjZWFfZGF0YV9zaXplXTsKKwljZWFfZGF0YV9zaXpl ICs9IGVkaWRfY2VhX2RhdGFfYmxvY2tfc2V0X3NhZChibG9jaywgJnNhZCwgMSk7CisKKwkvKiBB IFZlbmRvciBTcGVjaWZpYyBEYXRhIGJsb2NrIGlzIG5lZWRlZCBmb3IgSERNSSBhdWRpbyAqLwor CWJsb2NrID0gKHN0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrICopICZjZWFfZGF0YVtjZWFfZGF0 YV9zaXplXTsKKwl2c2QgPSBjZWFfdnNkX2dldF9oZG1pX2RlZmF1bHQoJnZzZF9zaXplKTsKKwlj ZWFfZGF0YV9zaXplICs9IGVkaWRfY2VhX2RhdGFfYmxvY2tfc2V0X3ZzZChibG9jaywgdnNkLAor CQkJCQkJICAgICB2c2Rfc2l6ZSk7CisKKwlpZ3RfYXNzZXJ0KGNlYV9kYXRhX3NpemUgPD0gc2l6 ZW9mKGVkaWRfY2VhLT5kYXRhKSk7CisKKwllZGlkX2V4dF9zZXRfY2VhKGVkaWRfZXh0LCBjZWFf ZGF0YV9zaXplLAorCQkJIEVESURfQ0VBX0JBU0lDX0FVRElPKTsKKworCWVkaWRfdXBkYXRlX2No ZWNrc3VtKGVkaWQpOworCWVkaWRfZXh0X3VwZGF0ZV9jZWFfY2hlY2tzdW0oZWRpZF9leHQpOwor CisJcmV0dXJuIHJhd19lZGlkOworfQorCitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqZ2V0 X2VkaWQoZW51bSB0ZXN0X2VkaWQgZWRpZCkKK3sKKwlzd2l0Y2ggKGVkaWQpIHsKKwljYXNlIFRF U1RfRURJRF9DSEFNRUxJVU1fREVGQVVMVDoKKwkJaWd0X2Fzc2VydCgwKTsgLyogd2UgZG9uJ3Qg aGF2ZSB0aGUgcmF3IGRhdGEgZm9yIHRoaXMgb25lICovCisJCXJldHVybiBOVUxMOworCWNhc2Ug VEVTVF9FRElEX0JBU0U6CisJCXJldHVybiBpZ3Rfa21zX2dldF9iYXNlX2VkaWQoKTsKKwljYXNl IFRFU1RfRURJRF9BTFQ6CisJCXJldHVybiBpZ3Rfa21zX2dldF9hbHRfZWRpZCgpOworCWNhc2Ug VEVTVF9FRElEX0hETUlfQVVESU86CisJCXJldHVybiBnZXRfaGRtaV9hdWRpb19lZGlkKCk7CisJ fQorCWFzc2VydCgwKTsgLyogdW5yZWFjaGFibGUgKi8KK30KKwogI2RlZmluZSBmb3JfZWFjaF9w b3J0KHAsIHBvcnQpICAgICAgICAgICAgXAogCWZvciAocCA9IDAsIHBvcnQgPSBkYXRhLnBvcnRz W3BdOyBcCiAJICAgICBwIDwgZGF0YS5wb3J0X2NvdW50OyAgICAgICAgIFwKQEAgLTE1OTUsNyAr MTY4Miw4IEBAIHN0YXRpYyBkYXRhX3QgZGF0YTsKIGlndF9tYWluCiB7CiAJc3RydWN0IGNoYW1l bGl1bV9wb3J0ICpwb3J0OwotCWludCBlZGlkX2lkLCBhbHRfZWRpZF9pZCwgcDsKKwlpbnQgcDsK KwlzaXplX3QgaTsKIAogCWlndF9maXh0dXJlIHsKIAkJaWd0X3NraXBfb25fc2ltdWxhdGlvbigp OwpAQCAtMTYwNywxMiArMTY5NSwxMSBAQCBpZ3RfbWFpbgogCQlkYXRhLnBvcnRzID0gY2hhbWVs aXVtX2dldF9wb3J0cyhkYXRhLmNoYW1lbGl1bSwKIAkJCQkJCSAmZGF0YS5wb3J0X2NvdW50KTsK IAotCQllZGlkX2lkID0gY2hhbWVsaXVtX25ld19lZGlkKGRhdGEuY2hhbWVsaXVtLAotCQkJCQkg ICAgIGlndF9rbXNfZ2V0X2Jhc2VfZWRpZCgpKTsKLQkJYWx0X2VkaWRfaWQgPSBjaGFtZWxpdW1f bmV3X2VkaWQoZGF0YS5jaGFtZWxpdW0sCi0JCQkJCQkgaWd0X2ttc19nZXRfYWx0X2VkaWQoKSk7 Ci0JCWRhdGEuZWRpZF9pZCA9IGVkaWRfaWQ7Ci0JCWRhdGEuYWx0X2VkaWRfaWQgPSBhbHRfZWRp ZF9pZDsKKwkJZGF0YS5lZGlkc1tURVNUX0VESURfQ0hBTUVMSVVNX0RFRkFVTFRdID0gQ0hBTUVM SVVNX0RFRkFVTFRfRURJRDsKKwkJZm9yIChpID0gMTsgaSA8IHNpemVvZihkYXRhLmVkaWRzKSAv IHNpemVvZihkYXRhLmVkaWRzWzBdKTsgKytpKSB7CisJCQlkYXRhLmVkaWRzW2ldID0gY2hhbWVs aXVtX25ld19lZGlkKGRhdGEuY2hhbWVsaXVtLAorCQkJCQkJCSAgIGdldF9lZGlkKGkpKTsKKwkJ fQogCiAJCS8qIFNvIGZiY29uIGRvZXNuJ3QgdHJ5IHRvIHJlcHJvYmUgdGhpbmdzIGl0c2VsZiAq LwogCQlrbXN0ZXN0X3NldF92dF9ncmFwaGljc19tb2RlKCk7CkBAIC0xNjM2LDEwICsxNzIzLDgg QEAgaWd0X21haW4KIAkJCQkJICAgSFBEX1RPR0dMRV9DT1VOVF9GQVNUKTsKIAogCQljb25uZWN0 b3Jfc3VidGVzdCgiZHAtZWRpZC1yZWFkIiwgRGlzcGxheVBvcnQpIHsKLQkJCXRlc3RfZWRpZF9y ZWFkKCZkYXRhLCBwb3J0LCBlZGlkX2lkLAotCQkJCSAgICAgICBpZ3Rfa21zX2dldF9iYXNlX2Vk aWQoKSk7Ci0JCQl0ZXN0X2VkaWRfcmVhZCgmZGF0YSwgcG9ydCwgYWx0X2VkaWRfaWQsCi0JCQkJ ICAgICAgIGlndF9rbXNfZ2V0X2FsdF9lZGlkKCkpOworCQkJdGVzdF9lZGlkX3JlYWQoJmRhdGEs IHBvcnQsIFRFU1RfRURJRF9CQVNFKTsKKwkJCXRlc3RfZWRpZF9yZWFkKCZkYXRhLCBwb3J0LCBU RVNUX0VESURfQUxUKTsKIAkJfQogCiAJCWNvbm5lY3Rvcl9zdWJ0ZXN0KCJkcC1ocGQtYWZ0ZXIt c3VzcGVuZCIsIERpc3BsYXlQb3J0KQpAQCAtMTY2NCwxMyArMTc0OSwxNSBAQCBpZ3RfbWFpbgog CQkJdGVzdF9zdXNwZW5kX3Jlc3VtZV9lZGlkX2NoYW5nZSgmZGF0YSwgcG9ydCwKIAkJCQkJCQlT VVNQRU5EX1NUQVRFX01FTSwKIAkJCQkJCQlTVVNQRU5EX1RFU1RfTk9ORSwKLQkJCQkJCQllZGlk X2lkLCBhbHRfZWRpZF9pZCk7CisJCQkJCQkJVEVTVF9FRElEX0JBU0UsCisJCQkJCQkJVEVTVF9F RElEX0FMVCk7CiAKIAkJY29ubmVjdG9yX3N1YnRlc3QoImRwLWVkaWQtY2hhbmdlLWR1cmluZy1o aWJlcm5hdGUiLCBEaXNwbGF5UG9ydCkKIAkJCXRlc3Rfc3VzcGVuZF9yZXN1bWVfZWRpZF9jaGFu Z2UoJmRhdGEsIHBvcnQsCiAJCQkJCQkJU1VTUEVORF9TVEFURV9ESVNLLAogCQkJCQkJCVNVU1BF TkRfVEVTVF9ERVZJQ0VTLAotCQkJCQkJCWVkaWRfaWQsIGFsdF9lZGlkX2lkKTsKKwkJCQkJCQlU RVNUX0VESURfQkFTRSwKKwkJCQkJCQlURVNUX0VESURfQUxUKTsKIAogCQljb25uZWN0b3Jfc3Vi dGVzdCgiZHAtY3JjLXNpbmdsZSIsIERpc3BsYXlQb3J0KQogCQkJdGVzdF9kaXNwbGF5X2FsbF9t b2RlcygmZGF0YSwgcG9ydCwgRFJNX0ZPUk1BVF9YUkdCODg4OCwKQEAgLTE2ODcsOCArMTc3NCwx MSBAQCBpZ3RfbWFpbgogCQljb25uZWN0b3Jfc3VidGVzdCgiZHAtZnJhbWUtZHVtcCIsIERpc3Bs YXlQb3J0KQogCQkJdGVzdF9kaXNwbGF5X2ZyYW1lX2R1bXAoJmRhdGEsIHBvcnQpOwogCisJCS8q IFRoZSBFRElEIHdlIGdlbmVyYXRlIGFkdmVydGlzZXMgSERNSSBhdWRpbywgbm90IERQIGF1ZGlv LgorCQkgKiBVc2UgdGhlIENoYW1lbGl1bSdzIGRlZmF1bHQgRURJRCBmb3IgRFAgYXVkaW8uICov CiAJCWNvbm5lY3Rvcl9zdWJ0ZXN0KCJkcC1hdWRpbyIsIERpc3BsYXlQb3J0KQotCQkJdGVzdF9k aXNwbGF5X2F1ZGlvKCZkYXRhLCBwb3J0LCAiSERNSSIpOworCQkJdGVzdF9kaXNwbGF5X2F1ZGlv KCZkYXRhLCBwb3J0LCAiSERNSSIsCisJCQkJCSAgIFRFU1RfRURJRF9DSEFNRUxJVU1fREVGQVVM VCk7CiAJfQogCiAJaWd0X3N1YnRlc3RfZ3JvdXAgewpAQCAtMTcwNiwxMCArMTc5Niw4IEBAIGln dF9tYWluCiAJCQkJCSAgIEhQRF9UT0dHTEVfQ09VTlRfRkFTVCk7CiAKIAkJY29ubmVjdG9yX3N1 YnRlc3QoImhkbWktZWRpZC1yZWFkIiwgSERNSUEpIHsKLQkJCXRlc3RfZWRpZF9yZWFkKCZkYXRh LCBwb3J0LCBlZGlkX2lkLAotCQkJCSAgICAgICBpZ3Rfa21zX2dldF9iYXNlX2VkaWQoKSk7Ci0J CQl0ZXN0X2VkaWRfcmVhZCgmZGF0YSwgcG9ydCwgYWx0X2VkaWRfaWQsCi0JCQkJICAgICAgIGln dF9rbXNfZ2V0X2FsdF9lZGlkKCkpOworCQkJdGVzdF9lZGlkX3JlYWQoJmRhdGEsIHBvcnQsIFRF U1RfRURJRF9CQVNFKTsKKwkJCXRlc3RfZWRpZF9yZWFkKCZkYXRhLCBwb3J0LCBURVNUX0VESURf QUxUKTsKIAkJfQogCiAJCWNvbm5lY3Rvcl9zdWJ0ZXN0KCJoZG1pLWhwZC1hZnRlci1zdXNwZW5k IiwgSERNSUEpCkBAIC0xNzM0LDEzICsxODIyLDE1IEBAIGlndF9tYWluCiAJCQl0ZXN0X3N1c3Bl bmRfcmVzdW1lX2VkaWRfY2hhbmdlKCZkYXRhLCBwb3J0LAogCQkJCQkJCVNVU1BFTkRfU1RBVEVf TUVNLAogCQkJCQkJCVNVU1BFTkRfVEVTVF9OT05FLAotCQkJCQkJCWVkaWRfaWQsIGFsdF9lZGlk X2lkKTsKKwkJCQkJCQlURVNUX0VESURfQkFTRSwKKwkJCQkJCQlURVNUX0VESURfQUxUKTsKIAog CQljb25uZWN0b3Jfc3VidGVzdCgiaGRtaS1lZGlkLWNoYW5nZS1kdXJpbmctaGliZXJuYXRlIiwg SERNSUEpCiAJCQl0ZXN0X3N1c3BlbmRfcmVzdW1lX2VkaWRfY2hhbmdlKCZkYXRhLCBwb3J0LAog CQkJCQkJCVNVU1BFTkRfU1RBVEVfRElTSywKIAkJCQkJCQlTVVNQRU5EX1RFU1RfREVWSUNFUywK LQkJCQkJCQllZGlkX2lkLCBhbHRfZWRpZF9pZCk7CisJCQkJCQkJVEVTVF9FRElEX0JBU0UsCisJ CQkJCQkJVEVTVF9FRElEX0FMVCk7CiAKIAkJY29ubmVjdG9yX3N1YnRlc3QoImhkbWktY3JjLXNp bmdsZSIsIEhETUlBKQogCQkJdGVzdF9kaXNwbGF5X2FsbF9tb2RlcygmZGF0YSwgcG9ydCwgRFJN X0ZPUk1BVF9YUkdCODg4OCwKQEAgLTE4NTEsMTAgKzE5NDEsOCBAQCBpZ3RfbWFpbgogCQkJdGVz dF9iYXNpY19ob3RwbHVnKCZkYXRhLCBwb3J0LCBIUERfVE9HR0xFX0NPVU5UX0ZBU1QpOwogCiAJ CWNvbm5lY3Rvcl9zdWJ0ZXN0KCJ2Z2EtZWRpZC1yZWFkIiwgVkdBKSB7Ci0JCQl0ZXN0X2VkaWRf cmVhZCgmZGF0YSwgcG9ydCwgZWRpZF9pZCwKLQkJCQkgICAgICAgaWd0X2ttc19nZXRfYmFzZV9l ZGlkKCkpOwotCQkJdGVzdF9lZGlkX3JlYWQoJmRhdGEsIHBvcnQsIGFsdF9lZGlkX2lkLAotCQkJ CSAgICAgICBpZ3Rfa21zX2dldF9hbHRfZWRpZCgpKTsKKwkJCXRlc3RfZWRpZF9yZWFkKCZkYXRh LCBwb3J0LCBURVNUX0VESURfQkFTRSk7CisJCQl0ZXN0X2VkaWRfcmVhZCgmZGF0YSwgcG9ydCwg VEVTVF9FRElEX0FMVCk7CiAJCX0KIAogCQljb25uZWN0b3Jfc3VidGVzdCgidmdhLWhwZC1hZnRl ci1zdXNwZW5kIiwgVkdBKQotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lndC1kZXY=