From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0389D892C1 for ; Thu, 13 Jun 2019 21:55:37 +0000 (UTC) From: Antonio Argenziano Date: Thu, 13 Jun 2019 14:54:46 -0700 Message-Id: <20190613215448.17994-8-antonio.argenziano@intel.com> In-Reply-To: <20190613215448.17994-1-antonio.argenziano@intel.com> References: <20190613215448.17994-1-antonio.argenziano@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v6 7/9] igt/i915: Require GTT mapping to be available when needed. 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: Matthew Auld List-ID: V2l0aCB0aGUgR1RUIGFwZXJ0dXJlIGJlY29taW5nIHVuYXZhaWxhYmxlIG9uIGNlcnRhaW4gcGxh dGZvcm1zLCB0ZXN0cwp0aGF0IHRhcmdldCB0aGF0IG1hcHBpbmcgbmVlZCB0byBza2lwIGlmIHN1 Y2ggbWFwcGluZyBpcyBub3QgYXZhaWxhYmxlLgoKQ2M6IEthdGFyenluYSBEZWMgPGthdGFyenlu YS5kZWNAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+CkNjOiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBWYW5zaGlk aGFyIEtvbmRhIDx2YW5zaGlkaGFyLnIua29uZGFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBB bnRvbmlvIEFyZ2Vuemlhbm8gPGFudG9uaW8uYXJnZW56aWFub0BpbnRlbC5jb20+Ci0tLQogbGli L2lndF9kdW1teWxvYWQuYyAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGxpYi9pZ3RfZmIu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLQogdGVzdHMvaTkxNS9nZW1fY29u Y3VycmVudF9hbGwuYyAgICAgICAgIHwgIDEgKwogdGVzdHMvaTkxNS9nZW1fY3R4X3NzZXUuYyAg ICAgICAgICAgICAgIHwgIDQgKy0KIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFzaWMuYyAgICAgICAg ICAgICB8ICAxICsKIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfZmF1bHRpbmdfcmVsb2MuYyAgICB8ICAy ICsKIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfZmx1c2guYyAgICAgICAgICAgICB8ICA5ICsrKysKIHRl c3RzL2k5MTUvZ2VtX2V4ZWNfcmVsb2MuYyAgICAgICAgICAgICB8ICA3ICsrKwogdGVzdHMvaTkx NS9nZW1fZXhlY19zY2hlZHVsZS5jICAgICAgICAgIHwgIDUgKystCiB0ZXN0cy9pOTE1L2dlbV9m ZW5jZV90aHJhc2guYyAgICAgICAgICAgfCAgNiArKysKIHRlc3RzL2k5MTUvZ2VtX2d0dF9jcHVf dGxiLmMgICAgICAgICAgICB8ICAxICsKIHRlc3RzL2k5MTUvZ2VtX2d0dF9ob2cuYyAgICAgICAg ICAgICAgICB8ICAxICsKIHRlc3RzL2k5MTUvZ2VtX2d0dF9zcGVlZC5jICAgICAgICAgICAgICB8 ICAxICsKIHRlc3RzL2k5MTUvZ2VtX2xhcmdlb2JqZWN0LmMgICAgICAgICAgICB8ICAyICsKIHRl c3RzL2k5MTUvZ2VtX21hZHZpc2UuYyAgICAgICAgICAgICAgICB8ICA0ICsrCiB0ZXN0cy9pOTE1 L2dlbV9tbWFwX2d0dC5jICAgICAgICAgICAgICAgfCAgNCArLQogdGVzdHMvaTkxNS9nZW1fbW1h cF9vZmZzZXRfZXhoYXVzdGlvbi5jIHwgIDQgKy0KIHRlc3RzL2k5MTUvZ2VtX21tYXBfd2MuYyAg ICAgICAgICAgICAgICB8ICAyICsKIHRlc3RzL2k5MTUvZ2VtX3BlcnNpc3RlbnRfcmVsb2NzLmMg ICAgICB8ICAyICsKIHRlc3RzL2k5MTUvZ2VtX3B3cml0ZV9wcmVhZC5jICAgICAgICAgICB8ICA2 ICsrKwogdGVzdHMvaTkxNS9nZW1fcmVsb2NfdnNfZ3B1LmMgICAgICAgICAgIHwgMjEgKysrKyst LS0tCiB0ZXN0cy9pOTE1L2dlbV9yZW5kZXJfY29weS5jICAgICAgICAgICAgfCA2MCArKysrKysr KysrKysrKy0tLS0tLS0tLS0tCiB0ZXN0cy9pOTE1L2dlbV9zZXRfdGlsaW5nX3ZzX2d0dC5jICAg ICAgfCAgMiArCiB0ZXN0cy9pOTE1L2dlbV9zZXRfdGlsaW5nX3ZzX3B3cml0ZS5jICAgfCAgMiAr CiB0ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYyAgICAgICAgICAgICAgICAgfCAxNCArKysrLS0KIHRl c3RzL2k5MTUvZ2VtX3N0b3JlZHdfbG9vcC5jICAgICAgICAgICB8ICA5ICsrKysKIHRlc3RzL2k5 MTUvZ2VtX3N0cmVhbWluZ193cml0ZXMuYyAgICAgICB8IDE2ICsrKysrKy0KIHRlc3RzL2k5MTUv Z2VtX3RpbGVkX2ZlbmNlX2JsaXRzLmMgICAgICB8ICAxICsKIHRlc3RzL2k5MTUvZ2VtX3RpbGVk X3ByZWFkX2Jhc2ljLmMgICAgICB8ICAxICsKIHRlc3RzL2k5MTUvZ2VtX3RpbGVkX3ByZWFkX3B3 cml0ZS5jICAgICB8ICA0ICstCiB0ZXN0cy9pOTE1L2dlbV90aWxlZF9zd2FwcGluZy5jICAgICAg ICAgfCAgMiArCiB0ZXN0cy9pOTE1L2dlbV90aWxlZF93Yi5jICAgICAgICAgICAgICAgfCAgMiAr CiB0ZXN0cy9pOTE1L2dlbV90aWxlZF93Yy5jICAgICAgICAgICAgICAgfCAgMSArCiB0ZXN0cy9p OTE1L2dlbV90aWxpbmdfbWF4X3N0cmlkZS5jICAgICAgfCAgMyArLQogdGVzdHMvaTkxNS9nZW1f dXNlcnB0cl9ibGl0cy5jICAgICAgICAgIHwgMTAgKysrKy0KIHRlc3RzL2k5MTUvaTkxNV9wbV9y cG0uYyAgICAgICAgICAgICAgICB8ICA5ICsrKysKIHRlc3RzL2k5MTUvaTkxNV9zdXNwZW5kLmMg ICAgICAgICAgICAgICB8ICAyICsKIHRlc3RzL2ttc19kcmF3X2NyYy5jICAgICAgICAgICAgICAg ICAgICB8ICA4ICsrKy0KIHRlc3RzL2ttc19mZW5jZV9waW5fbGVhay5jICAgICAgICAgICAgICB8 ICAyICsKIHRlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jICAgICAgICB8ICAzICsrCiB0 ZXN0cy9rbXNfcHNyLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKwogdGVzdHMvcHJp bWVfbW1hcC5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKwogdGVzdHMvcHJpbWVfbW1hcF9j b2hlcmVuY3kuYyAgICAgICAgICAgIHwgIDEgKwogdGVzdHMvcHJpbWVfdmdlbS5jICAgICAgICAg ICAgICAgICAgICAgIHwgIDUgKysrCiA0NCBmaWxlcyBjaGFuZ2VkLCAyMDMgaW5zZXJ0aW9ucygr KSwgNTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9kdW1teWxvYWQuYyBiL2xp Yi9pZ3RfZHVtbXlsb2FkLmMKaW5kZXggMGUwNjI3NmEuLjdiNzcyMzRiIDEwMDY0NAotLS0gYS9s aWIvaWd0X2R1bW15bG9hZC5jCisrKyBiL2xpYi9pZ3RfZHVtbXlsb2FkLmMKQEAgLTEwOSw5ICsx MDksMTEgQEAgZW1pdF9yZWN1cnNpdmVfYmF0Y2goaWd0X3NwaW5fdCAqc3BpbiwKIAlvYmpbQkFU Q0hdLmhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIEJBVENIX1NJWkUpOwogCWJhdGNoID0gX19nZW1f bW1hcF9fd2MoZmQsIG9ialtCQVRDSF0uaGFuZGxlLAogCQkJICAgICAgIDAsIEJBVENIX1NJWkUs IFBST1RfV1JJVEUpOwotCWlmICghYmF0Y2gpCisJaWYgKCFiYXRjaCkgeworCQlnZW1fcmVxdWly ZV9tbWFwX2d0dChmZCk7CiAJCWJhdGNoID0gZ2VtX21tYXBfX2d0dChmZCwgb2JqW0JBVENIXS5o YW5kbGUsCiAJCQkJICAgICAgQkFUQ0hfU0laRSwgUFJPVF9XUklURSk7CisJfQogCiAJZ2VtX3Nl dF9kb21haW4oZmQsIG9ialtCQVRDSF0uaGFuZGxlLAogCQkgICAgICAgSTkxNV9HRU1fRE9NQUlO X0dUVCwgSTkxNV9HRU1fRE9NQUlOX0dUVCk7CmRpZmYgLS1naXQgYS9saWIvaWd0X2ZiLmMgYi9s aWIvaWd0X2ZiLmMKaW5kZXggOWQ0ZjkwNWUuLmNjN2JlNTg0IDEwMDY0NAotLS0gYS9saWIvaWd0 X2ZiLmMKKysrIGIvbGliL2lndF9mYi5jCkBAIC0xODgyLDEwICsxODgyLDExIEBAIHN0YXRpYyB2 b2lkICptYXBfYm8oaW50IGZkLCBzdHJ1Y3QgaWd0X2ZiICpmYikKIAlpZiAoZmItPmlzX2R1bWIp CiAJCXB0ciA9IGttc3Rlc3RfZHVtYl9tYXBfYnVmZmVyKGZkLCBmYi0+Z2VtX2hhbmRsZSwgZmIt PnNpemUsCiAJCQkJCSAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOwotCWVsc2UgaWYgKGlz X2k5MTVfZGV2aWNlKGZkKSkKKwllbHNlIGlmIChpc19pOTE1X2RldmljZShmZCkpIHsKKwkJZ2Vt X3JlcXVpcmVfbW1hcF9ndHQoZmQpOwogCQlwdHIgPSBnZW1fbW1hcF9fZ3R0KGZkLCBmYi0+Z2Vt X2hhbmRsZSwgZmItPnNpemUsCiAJCQkJICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOwotCWVs c2UgaWYgKGlzX3ZjNF9kZXZpY2UoZmQpKQorCX0gZWxzZSBpZiAoaXNfdmM0X2RldmljZShmZCkp CiAJCXB0ciA9IGlndF92YzRfbW1hcF9ibyhmZCwgZmItPmdlbV9oYW5kbGUsIGZiLT5zaXplLAog CQkJCSAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOwogCWVsc2UgaWYgKGlzX2FtZGdwdV9k ZXZpY2UoZmQpKQpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fY29uY3VycmVudF9hbGwuYyBi L3Rlc3RzL2k5MTUvZ2VtX2NvbmN1cnJlbnRfYWxsLmMKaW5kZXggM2RkYWFiODIuLjI1OTE2MWQ5 IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9jb25jdXJyZW50X2FsbC5jCisrKyBiL3Rlc3Rz L2k5MTUvZ2VtX2NvbmN1cnJlbnRfYWxsLmMKQEAgLTE0MjIsNiArMTQyMiw3IEBAIHN0YXRpYyB2 b2lkIGNwdV9yZXF1aXJlKHZvaWQpCiAKIHN0YXRpYyB2b2lkIGd0dF9yZXF1aXJlKHZvaWQpCiB7 CisJZ2VtX3JlcXVpcmVfbW1hcF9ndHQoZmQpOwogfQogCiBzdGF0aWMgdm9pZCBiY3NfcmVxdWly ZSh2b2lkKQpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fY3R4X3NzZXUuYyBiL3Rlc3RzL2k5 MTUvZ2VtX2N0eF9zc2V1LmMKaW5kZXggNDhlNDQxMWMuLmFhOGQ5ZGMyIDEwMDY0NAotLS0gYS90 ZXN0cy9pOTE1L2dlbV9jdHhfc3NldS5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9zc2V1LmMK QEAgLTUyOCw4ICs1MjgsMTAgQEAgaWd0X21haW4KIAkJaWd0X3N1YnRlc3QoImludmFsaWQtc3Nl dSIpCiAJCQl0ZXN0X2ludmFsaWRfc3NldShmZCk7CiAKLQkJaWd0X3N1YnRlc3QoImdndHQtYXJn cyIpCisJCWlndF9zdWJ0ZXN0KCJnZ3R0LWFyZ3MiKSB7CisJCQlnZW1fcmVxdWlyZV9tbWFwX2d0 dChmZCk7CiAJCQl0ZXN0X2dndHRfYXJncyhmZCk7CisJCX0KIAogCQlpZ3Rfc3VidGVzdCgiZW5n aW5lcyIpCiAJCQl0ZXN0X2VuZ2luZXMoZmQpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1f ZXhlY19iYXNpYy5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19iYXNpYy5jCmluZGV4IDEyODc4NjBi Li45N2UwMTNlYiAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19iYXNpYy5jCisrKyBi L3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFzaWMuYwpAQCAtOTMsNiArOTMsNyBAQCBzdGF0aWMgdm9p ZCBndHQoaW50IGZkLCB1aW50NjRfdCBmbGFncykKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNf b2JqZWN0MiAqZXhlYzsKIAl1aW50MzJfdCBoYW5kbGU7CiAKKwlnZW1fcmVxdWlyZV9tbWFwX2d0 dChmZCk7CiAJZ2VtX3JlcXVpcmVfcmluZyhmZCwgZmxhZ3MpOwogCiAJaGFuZGxlID0gZ2VtX2Ny ZWF0ZShmZCwgNDA5Nik7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9leGVjX2ZhdWx0aW5n X3JlbG9jLmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2ZhdWx0aW5nX3JlbG9jLmMKaW5kZXggNmIw NWU0M2YuLjlkYjgwZjU0IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9leGVjX2ZhdWx0aW5n X3JlbG9jLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19mYXVsdGluZ19yZWxvYy5jCkBAIC0x NzMsNiArMTczLDggQEAgc3RhdGljIHZvaWQgcnVuKGludCBvYmplY3Rfc2l6ZSkKIAogCWZkID0g ZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7CiAJaWd0X3JlcXVpcmVfZ2VtKGZkKTsKKwln ZW1fcmVxdWlyZV9tbWFwX2d0dChmZCk7CisKIAlkZXZpZCA9IGludGVsX2dldF9kcm1fZGV2aWQo ZmQpOwogCWhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIDQwOTYpOwogCXNyYyA9IGdlbV9jcmVhdGUo ZmQsIG9iamVjdF9zaXplKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZmx1c2gu YyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZmx1c2guYwppbmRleCBmODIwYjJhOC4uYzgzYjY1NGMg MTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZmx1c2guYworKysgYi90ZXN0cy9pOTE1 L2dlbV9leGVjX2ZsdXNoLmMKQEAgLTc5LDYgKzc5LDkgQEAgc3RhdGljIHZvaWQgcnVuKGludCBm ZCwgdW5zaWduZWQgcmluZywgaW50IG5jaGlsZCwgaW50IHRpbWVvdXQsCiB7CiAJY29uc3QgaW50 IGdlbiA9IGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2RldmlkKGZkKSk7CiAKKwlpZiAoIShmbGFn cyAmIENPSEVSRU5UKSAmJiAhKGZsYWdzICYgV0MpKQorCQlnZW1fcmVxdWlyZV9tbWFwX2d0dChm ZCk7CisKIAkvKiBUaGUgY3J1eCBvZiB0aGlzIHRlc3RpbmcgaXMgd2hldGhlciB3cml0ZXMgYnkg dGhlIEdQVSBhcmUgY29oZXJlbnQKIAkgKiBmcm9tIHRoZSBDUFUuCiAJICoKQEAgLTM1Nyw2ICsz NjAsOSBAQCBzdGF0aWMgdm9pZCBiYXRjaChpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCBuY2hp bGQsIGludCB0aW1lb3V0LAogewogCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0 X2RybV9kZXZpZChmZCkpOwogCisJaWYgKG1vZGUgPT0gQkFUQ0hfR1RUKQorCQlnZW1fcmVxdWly ZV9tbWFwX2d0dChmZCk7CisKIAlpZiAoZmxhZ3MgJiBDTURQQVJTRVIpIHsKIAkJaW50IGNtZHBh cnNlciA9IC0xOwogICAgICAgICAgICAgICAgIGRybV9pOTE1X2dldHBhcmFtX3QgZ3A7CkBAIC01 ODYsNiArNTkyLDcgQEAgaWd0X21haW4KIAkJZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lO VEVMKTsKIAkJaWd0X3JlcXVpcmVfZ2VtKGZkKTsKIAkJZ2VtX3JlcXVpcmVfbW1hcF93YyhmZCk7 CisJCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKIAkJaWd0X3JlcXVpcmUoZ2VtX2Nhbl9zdG9y ZV9kd29yZChmZCwgMCkpOwogCQlpZ3RfaW5mbygiSGFzIExMQz8gJXNcbiIsIHllc25vKGdlbV9o YXNfbGxjKGZkKSkpOwogCkBAIC02MTQsMTEgKzYyMSwxMyBAQCBpZ3RfbWFpbgogCQkJCSAgICAg IGItPm5hbWUsCiAJCQkJICAgICAgZS0+bmFtZSkKIAkJCQliYXRjaChmZCwgcmluZywgbmNwdXMs IHRpbWVvdXQsIGItPm1vZGUsIDApOworCiAJCQlpZ3Rfc3VidGVzdF9mKCIlc2JhdGNoLSVzLSVz LXdiIiwKIAkJCQkgICAgICBiID09IGJhdGNoZXMgJiYgZS0+ZXhlY19pZCA9PSAwID8gImJhc2lj LSIgOiAiIiwKIAkJCQkgICAgICBiLT5uYW1lLAogCQkJCSAgICAgIGUtPm5hbWUpCiAJCQkJYmF0 Y2goZmQsIHJpbmcsIG5jcHVzLCB0aW1lb3V0LCBiLT5tb2RlLCBDT0hFUkVOVCk7CisKIAkJCWln dF9zdWJ0ZXN0X2YoIiVzYmF0Y2gtJXMtJXMtY21kIiwKIAkJCQkgICAgICBiID09IGJhdGNoZXMg JiYgZS0+ZXhlY19pZCA9PSAwID8gImJhc2ljLSIgOiAiIiwKIAkJCQkgICAgICBiLT5uYW1lLApk aWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fZXhlY19yZWxvYy5jIGIvdGVzdHMvaTkxNS9nZW1f ZXhlY19yZWxvYy5jCmluZGV4IGZkZDk2NjFkLi4xN2EwNzFhMyAxMDA2NDQKLS0tIGEvdGVzdHMv aTkxNS9nZW1fZXhlY19yZWxvYy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfcmVsb2MuYwpA QCAtMTE1LDYgKzExNSw5IEBAIHN0YXRpYyB2b2lkIGZyb21fbW1hcChpbnQgZmQsIHVpbnQ2NF90 IHNpemUsIGVudW0gbW9kZSBtb2RlKQogCSAqLwogCWludGVsX3JlcXVpcmVfbWVtb3J5KDIsIHNp emUsIENIRUNLX1JBTSk7CiAKKwlpZiAoKG1vZGUgJiB+Uk8pID09IEdUVCkKKwkJZ2VtX3JlcXVp cmVfbW1hcF9ndHQoZmQpOworCiAJbWVtc2V0KCZvYmosIDAsIHNpemVvZihvYmopKTsKIAlvYmou aGFuZGxlID0gZ2VtX2NyZWF0ZShmZCwgNDA5Nik7CiAJZ2VtX3dyaXRlKGZkLCBvYmouaGFuZGxl LCAwLCAmYmJlLCBzaXplb2YoYmJlKSk7CkBAIC0zNDIsNiArMzQ1LDkgQEAgc3RhdGljIHZvaWQg YmFzaWNfcmVsb2MoaW50IGZkLCB1bnNpZ25lZCBiZWZvcmUsIHVuc2lnbmVkIGFmdGVyLCB1bnNp Z25lZCBmbGFncykKIAljb25zdCB1aW50MzJfdCBiYmUgPSBNSV9CQVRDSF9CVUZGRVJfRU5EOwog CXVuc2lnbmVkIGludCByZWxvY19vZmZzZXQ7CiAKKwlpZiAoKGJlZm9yZSB8IGFmdGVyKSAmIEk5 MTVfR0VNX0RPTUFJTl9HVFQpCisJCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwogCW1lbXNl dCgmb2JqLCAwLCBzaXplb2Yob2JqKSk7CiAJb2JqLmhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIE9C SlNaKTsKIAlvYmoucmVsb2NzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmcmVsb2MpOwpAQCAtNzEx LDYgKzcxNyw3IEBAIGlndF9tYWluCiAJCQkJCSAgICAgIGYtPm5hbWUpIHsKIAkJCQkJaWYgKCht LT5iZWZvcmUgfCBtLT5hZnRlcikgJiBJOTE1X0dFTV9ET01BSU5fV0MpCiAJCQkJCQlpZ3RfcmVx dWlyZShnZW1fbW1hcF9faGFzX3djKGZkKSk7CisKIAkJCQkJYmFzaWNfcmVsb2MoZmQsIG0tPmJl Zm9yZSwgbS0+YWZ0ZXIsIGYtPmZsYWdzKTsKIAkJCQl9CiAJCQl9CmRpZmYgLS1naXQgYS90ZXN0 cy9pOTE1L2dlbV9leGVjX3NjaGVkdWxlLmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX3NjaGVkdWxl LmMKaW5kZXggN2I0MTg2MjIuLjIwYjM0MDRlIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9l eGVjX3NjaGVkdWxlLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19zY2hlZHVsZS5jCkBAIC0x NjYwLDYgKzE2NjAsNyBAQCBpZ3RfbWFpbgogCQkJaWd0X3N1YnRlc3RfZigiaW5kZXBlbmRlbnQt JXMiLCBlLT5uYW1lKSB7CiAJCQkJaWd0X3JlcXVpcmUoZ2VtX3JpbmdfaGFzX3BoeXNpY2FsX2Vu Z2luZShmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKSk7CiAJCQkJaWd0X3JlcXVpcmUoZ2VtX2Nh bl9zdG9yZV9kd29yZChmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKSk7CisJCQkJZ2VtX3JlcXVp cmVfbW1hcF9ndHQoZmQpOwogCQkJCWluZGVwZW5kZW50KGZkLCBlLT5leGVjX2lkIHwgZS0+Zmxh Z3MpOwogCQkJfQogCQl9CkBAIC0xNzYxLDggKzE3NjIsMTAgQEAgaWd0X21haW4KIAkJCQlpZ3Rf c3VidGVzdF9mKCJ3aWRlLSVzIiwgZS0+bmFtZSkKIAkJCQkJd2lkZShmZCwgZS0+ZXhlY19pZCB8 IGUtPmZsYWdzKTsKIAotCQkJCWlndF9zdWJ0ZXN0X2YoInJlb3JkZXItd2lkZS0lcyIsIGUtPm5h bWUpCisJCQkJaWd0X3N1YnRlc3RfZigicmVvcmRlci13aWRlLSVzIiwgZS0+bmFtZSkgeworCQkJ CQlnZW1fcmVxdWlyZV9tbWFwX2d0dChmZCk7CiAJCQkJCXJlb3JkZXJfd2lkZShmZCwgZS0+ZXhl Y19pZCB8IGUtPmZsYWdzKTsKKwkJCQl9CiAKIAkJCQlpZ3Rfc3VidGVzdF9mKCJzbW9rZXRlc3Qt JXMiLCBlLT5uYW1lKQogCQkJCQlzbW9rZXRlc3QoZmQsIGUtPmV4ZWNfaWQgfCBlLT5mbGFncywg NSk7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9mZW5jZV90aHJhc2guYyBiL3Rlc3RzL2k5 MTUvZ2VtX2ZlbmNlX3RocmFzaC5jCmluZGV4IDJkN2ZiMmZmLi41NTY3ZTM3ZSAxMDA2NDQKLS0t IGEvdGVzdHMvaTkxNS9nZW1fZmVuY2VfdGhyYXNoLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZmVu Y2VfdGhyYXNoLmMKQEAgLTIzNiw2ICsyMzYsMTIgQEAgaWd0X21haW4KIHsKIAlpZ3Rfc2tpcF9v bl9zaW11bGF0aW9uKCk7CiAKKwlpZ3RfZml4dHVyZSB7CisJCWludCBmZCA9IGRybV9vcGVuX2Ry aXZlcihEUklWRVJfSU5URUwpOworCQlpZ3RfcmVxdWlyZShnZW1fYXZhaWxhYmxlX2ZlbmNlcyhm ZCkgPiAwKTsgLyogR1RUIG1hcHBpbmcgYXZhaWxhYmxlICovCisJCWNsb3NlKGZkKTsKKwl9CisK IAlpZ3Rfc3VidGVzdCgiYm8td3JpdGUtdmVyaWZ5LW5vbmUiKQogCQlpZ3RfYXNzZXJ0KHJ1bl90 ZXN0KDAsIGJvX3dyaXRlX3ZlcmlmeSwgSTkxNV9USUxJTkdfTk9ORSwgODApID09IDApOwogCmRp ZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9ndHRfY3B1X3RsYi5jIGIvdGVzdHMvaTkxNS9nZW1f Z3R0X2NwdV90bGIuYwppbmRleCBjZjNjNTQzZC4uMDI2ODJhMGQgMTAwNjQ0Ci0tLSBhL3Rlc3Rz L2k5MTUvZ2VtX2d0dF9jcHVfdGxiLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZ3R0X2NwdV90bGIu YwpAQCAtNzksNiArNzksNyBAQCBpZ3Rfc2ltcGxlX21haW4KIAlpZ3Rfc2tpcF9vbl9zaW11bGF0 aW9uKCk7CiAKIAlmZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfSU5URUwpOworCWdlbV9yZXF1 aXJlX21tYXBfZ3R0KGZkKTsKIAogCWhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIE9CSl9TSVpFKTsK IApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fZ3R0X2hvZy5jIGIvdGVzdHMvaTkxNS9nZW1f Z3R0X2hvZy5jCmluZGV4IGNhNzMwNjQ5Li5iMmVlYTY3OSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkx NS9nZW1fZ3R0X2hvZy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2d0dF9ob2cuYwpAQCAtMTYxLDYg KzE2MSw3IEBAIGlndF9zaW1wbGVfbWFpbgogCS8qIGNoZWNrIGZvciBhbiBpbnRlbCBncHUgYmVm b3JlIGdvaW50IG51dHMuICovCiAJaW50IGZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRF TCk7CiAJaWd0X3JlcXVpcmVfZ2VtKGZkKTsKKwlnZW1fcmVxdWlyZV9tbWFwX2d0dChmZCk7CiAJ Y2xvc2UoZmQpOwogCiAJaWd0X3NraXBfb25fc2ltdWxhdGlvbigpOwpkaWZmIC0tZ2l0IGEvdGVz dHMvaTkxNS9nZW1fZ3R0X3NwZWVkLmMgYi90ZXN0cy9pOTE1L2dlbV9ndHRfc3BlZWQuYwppbmRl eCBkZmE3MjE2Yy4uYWY3ZjY3NzUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2d0dF9zcGVl ZC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2d0dF9zcGVlZC5jCkBAIC0xMjUsNiArMTI1LDcgQEAg aWd0X3NpbXBsZV9tYWluX2FyZ3MoInM6IiwgTlVMTCwgaGVscF9zdHIsIG9wdF9oYW5kbGVyLCBO VUxMKQogCWJ1ZiA9IG1hbGxvYyhzaXplKTsKIAltZW1zZXQoYnVmLCAwLCBzaXplKTsKIAlmZCA9 IGRybV9vcGVuX2RyaXZlcihEUklWRVJfSU5URUwpOworCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZk KTsKIAogCWhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIHNpemUpOwogCWlndF9hc3NlcnQoaGFuZGxl KTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2xhcmdlb2JqZWN0LmMgYi90ZXN0cy9pOTE1 L2dlbV9sYXJnZW9iamVjdC5jCmluZGV4IDUxODM5NmZhLi5hMmQ0N2VkYyAxMDA2NDQKLS0tIGEv dGVzdHMvaTkxNS9nZW1fbGFyZ2VvYmplY3QuYworKysgYi90ZXN0cy9pOTE1L2dlbV9sYXJnZW9i amVjdC5jCkBAIC04NCw2ICs4NCw4IEBAIGlndF9zaW1wbGVfbWFpbgogCiAJZmQgPSBkcm1fb3Bl bl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKIAorCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwog CXRlc3RfbGFyZ2Vfb2JqZWN0KGZkKTsKIAogCWZyZWUoZGF0YSk7CmRpZmYgLS1naXQgYS90ZXN0 cy9pOTE1L2dlbV9tYWR2aXNlLmMgYi90ZXN0cy9pOTE1L2dlbV9tYWR2aXNlLmMKaW5kZXggYmNh YWEyMmUuLmFiNDVhYTM5IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9tYWR2aXNlLmMKKysr IGIvdGVzdHMvaTkxNS9nZW1fbWFkdmlzZS5jCkBAIC03NCw2ICs3NCw4IEBAIGRvbnRuZWVkX2Jl Zm9yZV9tbWFwKHZvaWQpCiAJCXN3aXRjaCAobW9kZSkgewogCQkJY2FzZSBHVFQ6CiAJCQkJcHRy ID0gZ2VtX21tYXBfX2d0dChmZCwgaGFuZGxlLCBPQkpFQ1RfU0laRSwgUFJPVF9SRUFEIHwgUFJP VF9XUklURSk7CisJCQkJaWYgKCFnZW1fbW1hcF9faGFzX2d0dChmZCkpCisJCQkJCWNvbnRpbnVl OwogCQkJCWJyZWFrOwogCQkJY2FzZSBDUFU6CiAJCQkJcHRyID0gZ2VtX21tYXBfX2NwdShmZCwg aGFuZGxlLCAwLCBPQkpFQ1RfU0laRSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7CkBAIC0xMTgs NiArMTIwLDggQEAgZG9udG5lZWRfYWZ0ZXJfbW1hcCh2b2lkKQogCQlzd2l0Y2ggKG1vZGUpIHsK IAkJCWNhc2UgR1RUOgogCQkJCXB0ciA9IGdlbV9tbWFwX19ndHQoZmQsIGhhbmRsZSwgT0JKRUNU X1NJWkUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOworCQkJCWlmICghZ2VtX21tYXBfX2hhc19n dHQoZmQpKQorCQkJCQljb250aW51ZTsKIAkJCQlicmVhazsKIAkJCWNhc2UgQ1BVOgogCQkJCXB0 ciA9IGdlbV9tbWFwX19ndHQoZmQsIGhhbmRsZSwgT0JKRUNUX1NJWkUsIFBST1RfUkVBRCB8IFBS T1RfV1JJVEUpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fbW1hcF9ndHQuYyBiL3Rlc3Rz L2k5MTUvZ2VtX21tYXBfZ3R0LmMKaW5kZXggNmYzYTljMzYuLjZmOTRhZTZlIDEwMDY0NAotLS0g YS90ZXN0cy9pOTE1L2dlbV9tbWFwX2d0dC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX21tYXBfZ3R0 LmMKQEAgLTg4Myw4ICs4ODMsMTAgQEAgaWd0X21haW4KIAlpZiAoaWd0X3J1bl9pbl9zaW11bGF0 aW9uKCkpCiAJCU9CSkVDVF9TSVpFID0gMSAqIDEwMjQgKiAxMDI0OwogCi0JaWd0X2ZpeHR1cmUK KwlpZ3RfZml4dHVyZSB7CiAJCWZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7CisJ CWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwl9CiAKIAlpZ3Rfc3VidGVzdCgiYmFkLW9iamVj dCIpIHsKIAkJdWludDMyX3QgcmVhbF9oYW5kbGUgPSBnZW1fY3JlYXRlKGZkLCA0MDk2KTsKZGlm ZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX21tYXBfb2Zmc2V0X2V4aGF1c3Rpb24uYyBiL3Rlc3Rz L2k5MTUvZ2VtX21tYXBfb2Zmc2V0X2V4aGF1c3Rpb24uYwppbmRleCBmZDViYzg5OC4uZDE4MTQ5 NzggMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX21tYXBfb2Zmc2V0X2V4aGF1c3Rpb24uYwor KysgYi90ZXN0cy9pOTE1L2dlbV9tbWFwX29mZnNldF9leGhhdXN0aW9uLmMKQEAgLTk2LDYgKzk2 LDkgQEAgaWd0X21haW4KIAkJaWd0X3N1YnRlc3RfZigiYmFzaWMtJXMiLCBtb2Rlc1ttYXBwaW5n XSkgewogCQkJaW50IGZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7CiAKKwkJCWlm IChtYXBwaW5nID09IEdUVCkKKwkJCQlnZW1fcmVxdWlyZV9tbWFwX2d0dChmZCk7CisKIAkJCS8q IHdlIGhhdmUgMzJiaXQgb2YgYWRkcmVzcyBzcGFjZSwgc28gdHJ5IHRvIGZpdCBvbmUgTUIgbW9y ZQogCQkJICogdGhhbiB0aGF0LiAqLwogCQkJZm9yIChpbnQgaSA9IDA7IGkgPCA0MDk2ICsgMTsg aSsrKQpAQCAtMTAzLDYgKzEwNiw1IEBAIGlndF9tYWluCiAKIAkJCWNsb3NlKGZkKTsKIAkJfQot CiAJfQogfQpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fbW1hcF93Yy5jIGIvdGVzdHMvaTkx NS9nZW1fbW1hcF93Yy5jCmluZGV4IGM5ZTViZjIzLi45ZTQzMjg5MiAxMDA2NDQKLS0tIGEvdGVz dHMvaTkxNS9nZW1fbW1hcF93Yy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX21tYXBfd2MuYwpAQCAt MzM0LDYgKzMzNCw4IEBAIHRlc3Rfd3JpdGVfZ3R0X3JlYWRfd2MoaW50IGZkKQogCXVpbnQzMl90 IGhhbmRsZTsKIAl1aW50MzJfdCAqc3JjLCAqZHN0OwogCisJZ2VtX3JlcXVpcmVfbW1hcF9ndHQo ZmQpOworCiAJaGFuZGxlID0gZ2VtX2NyZWF0ZShmZCwgT0JKRUNUX1NJWkUpOwogCXNldF9kb21h aW4oZmQsIGhhbmRsZSk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3BlcnNpc3RlbnRf cmVsb2NzLmMgYi90ZXN0cy9pOTE1L2dlbV9wZXJzaXN0ZW50X3JlbG9jcy5jCmluZGV4IDQ1MmZl Njg2Li4xNzI2NmM0OCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fcGVyc2lzdGVudF9yZWxv Y3MuYworKysgYi90ZXN0cy9pOTE1L2dlbV9wZXJzaXN0ZW50X3JlbG9jcy5jCkBAIC0xOTksNiAr MTk5LDggQEAgc3RhdGljIHZvaWQgZG9fdGVzdChpbnQgZmQsIGJvb2wgZmF1bHRpbmdfcmVsb2Mp CiAJdWludDMyX3QgdGVzdDsKIAlpbnQgaSwgcmVwZWF0OwogCisJZ2VtX3JlcXVpcmVfbW1hcF9n dHQoZmQpOworCiAJaWYgKGZhdWx0aW5nX3JlbG9jKQogCQlpZ3RfZGlzYWJsZV9wcmVmYXVsdCgp OwogCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9wd3JpdGVfcHJlYWQuYyBiL3Rlc3RzL2k5 MTUvZ2VtX3B3cml0ZV9wcmVhZC5jCmluZGV4IDNhNThlYWU2Li4wMjZjNmEzNSAxMDA2NDQKLS0t IGEvdGVzdHMvaTkxNS9nZW1fcHdyaXRlX3ByZWFkLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fcHdy aXRlX3ByZWFkLmMKQEAgLTE4Miw2ICsxODIsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0X2FzX2d0dF9t bWFwKGludCBmZCwgdWludDMyX3Qgc3JjLCB1aW50MzJfdCBkc3QsIGludCBsZW4pCiAJaW50IGk7 CiAJQlVJTERfRVhFQzsKIAorCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwogCXNyY19wdHIg PSBnZW1fbW1hcF9fZ3R0KGZkLCBzcmMsIE9CSkVDVF9TSVpFLCBQUk9UX1dSSVRFKTsKIAlkc3Rf cHRyID0gZ2VtX21tYXBfX2d0dChmZCwgZHN0LCBPQkpFQ1RfU0laRSwgUFJPVF9SRUFEKTsKIApA QCAtMzIxLDYgKzMyMyw4IEBAIGlndF9tYWluX2FyZ3MoInM6IiwgTlVMTCwgaGVscF9zdHIsIG9w dF9oYW5kbGVyLCBOVUxMKQogCQlmb3IgKGNvdW50ID0gMTsgY291bnQgPD0gMTw8MTc7IGNvdW50 IDw8PSAxKSB7CiAJCQlzdHJ1Y3QgdGltZXZhbCBzdGFydCwgZW5kOwogCisJCQlnZW1fcmVxdWly ZV9tbWFwX2d0dChmZCk7CisKIAkJCWdldHRpbWVvZmRheSgmc3RhcnQsIE5VTEwpOwogCQkJYXNf Z3R0X21tYXAoZmQsIHNyYywgZHN0LCB0bXAsIG9iamVjdF9zaXplLCBjb3VudCk7CiAJCQlnZXR0 aW1lb2ZkYXkoJmVuZCwgTlVMTCk7CkBAIC0zOTksNiArNDAzLDggQEAgaWd0X21haW5fYXJncygi czoiLCBOVUxMLCBoZWxwX3N0ciwgb3B0X2hhbmRsZXIsIE5VTEwpCiAJCWZvciAoY291bnQgPSAx OyBjb3VudCA8PSAxPDwxNzsgY291bnQgPDw9IDEpIHsKIAkJCXN0cnVjdCB0aW1ldmFsIHN0YXJ0 LCBlbmQ7CiAKKwkJCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwogCQkJZ2V0dGltZW9mZGF5 KCZzdGFydCwgTlVMTCk7CiAJCQlhc19ndHRfbW1hcChmZCwgc3JjLCBkc3QsIHRtcCwgb2JqZWN0 X3NpemUsIGNvdW50KTsKIAkJCWdldHRpbWVvZmRheSgmZW5kLCBOVUxMKTsKZGlmZiAtLWdpdCBh L3Rlc3RzL2k5MTUvZ2VtX3JlbG9jX3ZzX2dwdS5jIGIvdGVzdHMvaTkxNS9nZW1fcmVsb2NfdnNf Z3B1LmMKaW5kZXggZDQyMWU0MzQuLmUxNDc1YTFmIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dl bV9yZWxvY192c19ncHUuYworKysgYi90ZXN0cy9pOTE1L2dlbV9yZWxvY192c19ncHUuYwpAQCAt MTU5LDE3ICsxNTksMTcgQEAgc3RhdGljIHZvaWQgcmVsb2NfYW5kX2VtaXQoaW50IGZkLCBkcm1f aW50ZWxfYm8gKnRhcmdldF9ibywgYm9vbCBmYXVsdGluZ19yZWxvYykKIAkgKi8KIAlyZWxvY1sw XS5wcmVzdW1lZF9vZmZzZXQgPSAtMTsKIAotCWhhbmRsZV9yZWxvY3MgPSBnZW1fY3JlYXRlKGZk LCA0MDk2KTsKLQlnZW1fd3JpdGUoZmQsIGhhbmRsZV9yZWxvY3MsIDAsIHJlbG9jLCBzaXplb2Yo cmVsb2MpKTsKLQlndHRfcmVsb2NzID0gZ2VtX21tYXBfX2d0dChmZCwgaGFuZGxlX3JlbG9jcywg NDA5NiwKLQkJCQkgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKTsKLQogCWV4ZWNbMV0uaGFuZGxl ID0gc3BlY2lhbF9iby0+aGFuZGxlOwogCWV4ZWNbMV0ucmVsb2NhdGlvbl9jb3VudCA9IDE7CiAJ LyogQSBuZXdseSBtbWFwIGd0dCBibyB3aWxsIGZhdWx0IG9uIGZpcnN0IGFjY2Vzcy4gKi8KLQlp ZiAoZmF1bHRpbmdfcmVsb2MpCisJaWYgKGZhdWx0aW5nX3JlbG9jKSB7CisJCWhhbmRsZV9yZWxv Y3MgPSBnZW1fY3JlYXRlKGZkLCA0MDk2KTsKKwkJZ2VtX3dyaXRlKGZkLCBoYW5kbGVfcmVsb2Nz LCAwLCByZWxvYywgc2l6ZW9mKHJlbG9jKSk7CisJCWd0dF9yZWxvY3MgPSBnZW1fbW1hcF9fZ3R0 KGZkLCBoYW5kbGVfcmVsb2NzLCA0MDk2LAorCQkJCQkJUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7 CisKIAkJZXhlY1sxXS5yZWxvY3NfcHRyID0gdG9fdXNlcl9wb2ludGVyKGd0dF9yZWxvY3MpOwot CWVsc2UKKwl9IGVsc2UKIAkJZXhlY1sxXS5yZWxvY3NfcHRyID0gdG9fdXNlcl9wb2ludGVyKHJl bG9jKTsKIAogCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIoZXhlYyk7CkBA IC0xODAsNyArMTgwLDggQEAgc3RhdGljIHZvaWQgcmVsb2NfYW5kX2VtaXQoaW50IGZkLCBkcm1f aW50ZWxfYm8gKnRhcmdldF9ibywgYm9vbCBmYXVsdGluZ19yZWxvYykKIAogCWdlbV9leGVjYnVm KGZkLCAmZXhlY2J1Zik7CiAKLQlnZW1fY2xvc2UoZmQsIGhhbmRsZV9yZWxvY3MpOworCWlmIChm YXVsdGluZ19yZWxvYykKKwkJZ2VtX2Nsb3NlKGZkLCBoYW5kbGVfcmVsb2NzKTsKIH0KIAogc3Rh dGljIGlndF9oYW5nX3Qgbm9faGFuZyhpbnQgZmQpCkBAIC0yMDEsOCArMjAyLDEwIEBAIHN0YXRp YyB2b2lkIGRvX3Rlc3QoaW50IGZkLCBib29sIGZhdWx0aW5nX3JlbG9jLAogCXVpbnQzMl90IHRl c3Q7CiAJaW50IGk7CiAKLQlpZiAoZmF1bHRpbmdfcmVsb2MpCisJaWYgKGZhdWx0aW5nX3JlbG9j KSB7CisJCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKIAkJaWd0X2Rpc2FibGVfcHJlZmF1bHQo KTsKKwl9CiAKIAlhY3Rfc2l6ZSA9IDIwNDg7CiAJZHVtbXlfYm8gPSBkcm1faW50ZWxfYm9fYWxs b2NfdGlsZWQoYnVmbWdyLCAidGlsZWQgZHVtbXlfYm8iLCBhY3Rfc2l6ZSwgYWN0X3NpemUsCmRp ZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9yZW5kZXJfY29weS5jIGIvdGVzdHMvaTkxNS9nZW1f cmVuZGVyX2NvcHkuYwppbmRleCBjYzE1MjlmZC4uOTE1MDcwY2YgMTAwNjQ0Ci0tLSBhL3Rlc3Rz L2k5MTUvZ2VtX3JlbmRlcl9jb3B5LmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fcmVuZGVyX2NvcHku YwpAQCAtOTYxLDMyICs5NjEsNDAgQEAgaWd0X21haW5fYXJncygiZGEiLCBOVUxMLCBoZWxwX3N0 ciwgb3B0X2hhbmRsZXIsIE5VTEwpCiAJCWlndF9hc3NlcnQoZGF0YS5iYXRjaCk7CiAJfQogCi0J aWd0X3N1YnRlc3QoImxpbmVhciIpCi0JCXRlc3QoJmRhdGEsIEk5MTVfVElMSU5HX05PTkUsIDAp OwotCWlndF9zdWJ0ZXN0KCJ4LXRpbGVkIikKLQkJdGVzdCgmZGF0YSwgSTkxNV9USUxJTkdfWCwg MCk7Ci0JaWd0X3N1YnRlc3QoInktdGlsZWQiKQotCQl0ZXN0KCZkYXRhLCBJOTE1X1RJTElOR19Z LCAwKTsKLQlpZ3Rfc3VidGVzdCgieWYtdGlsZWQiKQotCQl0ZXN0KCZkYXRhLCBJOTE1X1RJTElO R19ZZiwgMCk7Ci0KLQlpZ3Rfc3VidGVzdCgieS10aWxlZC1jY3MtdG8tbGluZWFyIikKLQkJdGVz dCgmZGF0YSwgSTkxNV9USUxJTkdfTk9ORSwgSTkxNV9USUxJTkdfWSk7Ci0JaWd0X3N1YnRlc3Qo InktdGlsZWQtY2NzLXRvLXgtdGlsZWQiKQotCQl0ZXN0KCZkYXRhLCBJOTE1X1RJTElOR19YLCBJ OTE1X1RJTElOR19ZKTsKLQlpZ3Rfc3VidGVzdCgieS10aWxlZC1jY3MtdG8teS10aWxlZCIpCi0J CXRlc3QoJmRhdGEsIEk5MTVfVElMSU5HX1ksIEk5MTVfVElMSU5HX1kpOwotCWlndF9zdWJ0ZXN0 KCJ5LXRpbGVkLWNjcy10by15Zi10aWxlZCIpCi0JCXRlc3QoJmRhdGEsIEk5MTVfVElMSU5HX1lm LCBJOTE1X1RJTElOR19ZKTsKLQotCWlndF9zdWJ0ZXN0KCJ5Zi10aWxlZC1jY3MtdG8tbGluZWFy IikKLQkJdGVzdCgmZGF0YSwgSTkxNV9USUxJTkdfTk9ORSwgSTkxNV9USUxJTkdfWWYpOwotCWln dF9zdWJ0ZXN0KCJ5Zi10aWxlZC1jY3MtdG8teC10aWxlZCIpCi0JCXRlc3QoJmRhdGEsIEk5MTVf VElMSU5HX1gsIEk5MTVfVElMSU5HX1lmKTsKLQlpZ3Rfc3VidGVzdCgieWYtdGlsZWQtY2NzLXRv LXktdGlsZWQiKQotCQl0ZXN0KCZkYXRhLCBJOTE1X1RJTElOR19ZLCBJOTE1X1RJTElOR19ZZik7 Ci0JaWd0X3N1YnRlc3QoInlmLXRpbGVkLWNjcy10by15Zi10aWxlZCIpCi0JCXRlc3QoJmRhdGEs IEk5MTVfVElMSU5HX1lmLCBJOTE1X1RJTElOR19ZZik7CisJaWd0X3N1YnRlc3RfZ3JvdXAgewor CQlpZ3Rfc3VidGVzdCgibGluZWFyIikKKwkJCXRlc3QoJmRhdGEsIEk5MTVfVElMSU5HX05PTkUs IDApOworCQlpZ3Rfc3VidGVzdCgieC10aWxlZCIpCisJCQl0ZXN0KCZkYXRhLCBJOTE1X1RJTElO R19YLCAwKTsKKwkJaWd0X3N1YnRlc3QoInktdGlsZWQiKQorCQkJdGVzdCgmZGF0YSwgSTkxNV9U SUxJTkdfWSwgMCk7CisJCWlndF9zdWJ0ZXN0KCJ5Zi10aWxlZCIpCisJCQl0ZXN0KCZkYXRhLCBJ OTE1X1RJTElOR19ZZiwgMCk7CisJfQorCisJaWd0X3N1YnRlc3RfZ3JvdXAgeworCQlpZ3RfZml4 dHVyZSB7CisJCQlnZW1fcmVxdWlyZV9tbWFwX2d0dChkYXRhLmRybV9mZCk7CisJCX0KKworCQlp Z3Rfc3VidGVzdCgieS10aWxlZC1jY3MtdG8tbGluZWFyIikKKwkJCXRlc3QoJmRhdGEsIEk5MTVf VElMSU5HX05PTkUsIEk5MTVfVElMSU5HX1kpOworCQlpZ3Rfc3VidGVzdCgieS10aWxlZC1jY3Mt dG8teC10aWxlZCIpCisJCQl0ZXN0KCZkYXRhLCBJOTE1X1RJTElOR19YLCBJOTE1X1RJTElOR19Z KTsKKwkJaWd0X3N1YnRlc3QoInktdGlsZWQtY2NzLXRvLXktdGlsZWQiKQorCQkJdGVzdCgmZGF0 YSwgSTkxNV9USUxJTkdfWSwgSTkxNV9USUxJTkdfWSk7CisJCWlndF9zdWJ0ZXN0KCJ5LXRpbGVk LWNjcy10by15Zi10aWxlZCIpCisJCQl0ZXN0KCZkYXRhLCBJOTE1X1RJTElOR19ZZiwgSTkxNV9U SUxJTkdfWSk7CisKKwkJaWd0X3N1YnRlc3QoInlmLXRpbGVkLWNjcy10by1saW5lYXIiKQorCQkJ dGVzdCgmZGF0YSwgSTkxNV9USUxJTkdfTk9ORSwgSTkxNV9USUxJTkdfWWYpOworCQlpZ3Rfc3Vi dGVzdCgieWYtdGlsZWQtY2NzLXRvLXgtdGlsZWQiKQorCQkJdGVzdCgmZGF0YSwgSTkxNV9USUxJ TkdfWCwgSTkxNV9USUxJTkdfWWYpOworCQlpZ3Rfc3VidGVzdCgieWYtdGlsZWQtY2NzLXRvLXkt dGlsZWQiKQorCQkJdGVzdCgmZGF0YSwgSTkxNV9USUxJTkdfWSwgSTkxNV9USUxJTkdfWWYpOwor CQlpZ3Rfc3VidGVzdCgieWYtdGlsZWQtY2NzLXRvLXlmLXRpbGVkIikKKwkJCXRlc3QoJmRhdGEs IEk5MTVfVElMSU5HX1lmLCBJOTE1X1RJTElOR19ZZik7CisJfQogCiAJaWd0X2ZpeHR1cmUgewog CQlpbnRlbF9iYXRjaGJ1ZmZlcl9mcmVlKGRhdGEuYmF0Y2gpOwpkaWZmIC0tZ2l0IGEvdGVzdHMv aTkxNS9nZW1fc2V0X3RpbGluZ192c19ndHQuYyBiL3Rlc3RzL2k5MTUvZ2VtX3NldF90aWxpbmdf dnNfZ3R0LmMKaW5kZXggMjYxMWVjNTUuLjIxMGQ1MzU4IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1 L2dlbV9zZXRfdGlsaW5nX3ZzX2d0dC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX3NldF90aWxpbmdf dnNfZ3R0LmMKQEAgLTYwLDYgKzYwLDggQEAgaWd0X3NpbXBsZV9tYWluCiAKIAlmZCA9IGRybV9v cGVuX2RyaXZlcihEUklWRVJfSU5URUwpOwogCisJZ2VtX3JlcXVpcmVfbW1hcF9ndHQoZmQpOwor CiAJaWYgKElTX0dFTjIoaW50ZWxfZ2V0X2RybV9kZXZpZChmZCkpKQogCQl0aWxlX2hlaWdodCA9 IDE2OwogCWVsc2UKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3NldF90aWxpbmdfdnNfcHdy aXRlLmMgYi90ZXN0cy9pOTE1L2dlbV9zZXRfdGlsaW5nX3ZzX3B3cml0ZS5jCmluZGV4IGYwMTI2 YjY0Li5kODJlMjBiNCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fc2V0X3RpbGluZ192c19w d3JpdGUuYworKysgYi90ZXN0cy9pOTE1L2dlbV9zZXRfdGlsaW5nX3ZzX3B3cml0ZS5jCkBAIC01 OCw2ICs1OCw4IEBAIGlndF9zaW1wbGVfbWFpbgogCiAJZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJ VkVSX0lOVEVMKTsKIAorCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwogCWZvciAoaSA9IDA7 IGkgPCBPQkpFQ1RfU0laRS80OyBpKyspCiAJCWRhdGFbaV0gPSBpOwogCmRpZmYgLS1naXQgYS90 ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYyBiL3Rlc3RzL2k5MTUvZ2VtX3Nocmluay5jCmluZGV4IDAz N2ZmMDA1Li44M2Q3NWQzMSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fc2hyaW5rLmMKKysr IGIvdGVzdHMvaTkxNS9nZW1fc2hyaW5rLmMKQEAgLTM5Niw2ICszOTYsOCBAQCBpZ3RfbWFpbgog CXVpbnQ2NF90IGFsbG9jX3NpemUgPSAwOwogCWludCBudW1fcHJvY2Vzc2VzID0gMDsKIAorCWJv b2wgaGFzX2d0dCA9IGZhbHNlOworCiAJaWd0X3NraXBfb25fc2ltdWxhdGlvbigpOwogCiAJaWd0 X2ZpeHR1cmUgewpAQCAtNDI3LDYgKzQyOSw4IEBAIGlndF9tYWluCiAJCQllbmdpbmVzW25lbmdp bmUrK10gPSBlbmdpbmU7CiAJCWlndF9yZXF1aXJlKG5lbmdpbmUpOwogCisJCWhhc19ndHQgPSBn ZW1fbW1hcF9faGFzX2d0dChmZCk7CisKIAkJY2xvc2UoZmQpOwogCX0KIApAQCAtNDM1LDkgKzQz OSwxMyBAQCBpZ3RfbWFpbgogCiAJZm9yKGNvbnN0IHN0cnVjdCB0ZXN0ICp0ID0gdGVzdHM7IHQt Pm5hbWU7IHQrKykgewogCQlmb3IoY29uc3Qgc3RydWN0IG1vZGUgKm0gPSBtb2RlczsgbS0+c3Vm Zml4OyBtKyspIHsKLQkJCWlndF9zdWJ0ZXN0X2YoIiVzJXMiLCB0LT5uYW1lLCBtLT5zdWZmaXgp Ci0JCQkJcnVuX3Rlc3QobnVtX3Byb2Nlc3NlcywgYWxsb2Nfc2l6ZSwKLQkJCQkJIHQtPmZ1bmMs IG0tPmZsYWdzKTsKKwkJCWlndF9zdWJ0ZXN0X2YoIiVzJXMiLCB0LT5uYW1lLCBtLT5zdWZmaXgp IHsKKwkJCQkJaWYgKHQtPmZ1bmMgPT0gbW1hcF9ndHQpCisJCQkJCQlpZ3RfcmVxdWlyZShoYXNf Z3R0KTsKKworCQkJCQlydW5fdGVzdChudW1fcHJvY2Vzc2VzLCBhbGxvY19zaXplLAorCQkJCQkJ IHQtPmZ1bmMsIG0tPmZsYWdzKTsKKwkJCX0KIAkJfQogCX0KIH0KZGlmZiAtLWdpdCBhL3Rlc3Rz L2k5MTUvZ2VtX3N0b3JlZHdfbG9vcC5jIGIvdGVzdHMvaTkxNS9nZW1fc3RvcmVkd19sb29wLmMK aW5kZXggYjAwNTU1ZTAuLmQxNmExYTZiIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9zdG9y ZWR3X2xvb3AuYworKysgYi90ZXN0cy9pOTE1L2dlbV9zdG9yZWR3X2xvb3AuYwpAQCAtNDksNiAr NDksMTIgQEAgc3RhdGljIGludCBkZXZpZDsKIAogc3RhdGljIHVuc2lnbmVkIGNvaGVyZW50X2Rv bWFpbjsKIAorc3RhdGljIGJvb2wKK3VzZXNfY29oZXJlbnRfZ3R0KGludCBmZCkKK3sKKwlyZXR1 cm4gKCFnZW1faGFzX2xsYyhmZCkgfHwgZ2VtX21tYXBfX2hhc193YyhmZCkpOworfQorCiBzdGF0 aWMgdm9pZCAqCiBtbWFwX2NvaGVyZW50KGludCBmZCwgdWludDMyX3QgaGFuZGxlLCBpbnQgc2l6 ZSkKIHsKQEAgLTE2NCw2ICsxNzAsOSBAQCBjaGVja190ZXN0X3JlcXVpcmVtZW50cyhpbnQgZmQs IGludCByaW5naWQpCiB7CiAJZ2VtX3JlcXVpcmVfcmluZyhmZCwgcmluZ2lkKTsKIAlpZ3RfcmVx dWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCByaW5naWQpKTsKKworCWlmICh1c2VzX2NvaGVy ZW50X2d0dChmZCkpCisJCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKIH0KIAogaWd0X21haW4K ZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3N0cmVhbWluZ193cml0ZXMuYyBiL3Rlc3RzL2k5 MTUvZ2VtX3N0cmVhbWluZ193cml0ZXMuYwppbmRleCBlODNkNjlkZS4uMTU5Y2I3YTYgMTAwNjQ0 Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX3N0cmVhbWluZ193cml0ZXMuYworKysgYi90ZXN0cy9pOTE1 L2dlbV9zdHJlYW1pbmdfd3JpdGVzLmMKQEAgLTQ4LDYgKzQ4LDggQEAKIAogI2RlZmluZSBMT0NB TF9JOTE1X0VYRUNfSEFORExFX0xVVCAoMTw8MTIpCiAKKyNkZWZpbmUgTkVFRFNfR1RUKG1vZGUp IChtb2RlID09IDEpCisKIElHVF9URVNUX0RFU0NSSVBUSU9OKCJUZXN0IG9mIHN0cmVhbWluZyB3 cml0ZXMgaW50byBhY3RpdmUgR1BVIHNvdXJjZXMiKTsKIAogI2RlZmluZSBTUkMgMApAQCAtNzUs NiArNzcsOSBAQCBzdGF0aWMgdm9pZCB0ZXN0X3N0cmVhbWluZyhpbnQgZmQsIGludCBtb2RlLCBp bnQgc3luYykKIAl9ICpiYXRjaDsKIAlpbnQgaSwgbjsKIAorCWlmIChORUVEU19HVFQobW9kZSkp CisJCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwogCW1lbXNldChleGVjLCAwLCBzaXplb2Yo ZXhlYykpOwogCWV4ZWNbU1JDXS5oYW5kbGUgPSBnZW1fY3JlYXRlKGZkLCBPQkpFQ1RfU0laRSk7 CiAJZXhlY1tEU1RdLmhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIE9CSkVDVF9TSVpFKTsKQEAgLTI0 NSw2ICsyNTAsOSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2JhdGNoKGludCBmZCwgaW50IG1vZGUsIGlu dCByZXZlcnNlKQogCXVpbnQzMl90ICpiYXNlOwogCXVpbnQzMl90IG9mZnNldDsKIAorCWlmIChO RUVEU19HVFQobW9kZSkpCisJCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwogCW1lbXNldChl eGVjLCAwLCBzaXplb2YoZXhlYykpOwogCWV4ZWNbRFNUXS5oYW5kbGUgPSBnZW1fY3JlYXRlKGZk LCBPQkpFQ1RfU0laRSk7CiAJZXhlY1tTUkNdLmhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIE9CSkVD VF9TSVpFKTsKQEAgLTM4OSwxNCArMzk3LDE4IEBAIGlndF9tYWluCiAKIAlpZ3Rfc3VidGVzdCgi YmF0Y2gtY3B1IikKIAkJdGVzdF9iYXRjaChmZCwgMCwgMCk7Ci0JaWd0X3N1YnRlc3QoImJhdGNo LWd0dCIpCisJaWd0X3N1YnRlc3QoImJhdGNoLWd0dCIpIHsKKwkJZ2VtX3JlcXVpcmVfbW1hcF9n dHQoZmQpOwogCQl0ZXN0X2JhdGNoKGZkLCAxLCAwKTsKKwl9CiAJaWd0X3N1YnRlc3QoImJhdGNo LXdjIikKIAkJdGVzdF9iYXRjaChmZCwgMiwgMCk7CiAJaWd0X3N1YnRlc3QoImJhdGNoLXJldmVy c2UtY3B1IikKIAkJdGVzdF9iYXRjaChmZCwgMCwgMSk7Ci0JaWd0X3N1YnRlc3QoImJhdGNoLXJl dmVyc2UtZ3R0IikKKwlpZ3Rfc3VidGVzdCgiYmF0Y2gtcmV2ZXJzZS1ndHQiKSB7CisJCWdlbV9y ZXF1aXJlX21tYXBfZ3R0KGZkKTsKIAkJdGVzdF9iYXRjaChmZCwgMSwgMSk7CisJfQogCWlndF9z dWJ0ZXN0KCJiYXRjaC1yZXZlcnNlLXdjIikKIAkJdGVzdF9iYXRjaChmZCwgMiwgMSk7CiAKZGlm ZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3RpbGVkX2ZlbmNlX2JsaXRzLmMgYi90ZXN0cy9pOTE1 L2dlbV90aWxlZF9mZW5jZV9ibGl0cy5jCmluZGV4IGFhY2Q0MmI3Li4yNDk0NTZlOCAxMDA2NDQK LS0tIGEvdGVzdHMvaTkxNS9nZW1fdGlsZWRfZmVuY2VfYmxpdHMuYworKysgYi90ZXN0cy9pOTE1 L2dlbV90aWxlZF9mZW5jZV9ibGl0cy5jCkBAIC0yMTMsNiArMjEzLDcgQEAgaWd0X21haW4KIAlp Z3RfZml4dHVyZSB7CiAJCWZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7CiAJCWln dF9yZXF1aXJlX2dlbShmZCk7CisJCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKIAl9CiAKIAlp Z3Rfc3VidGVzdCgiYmFzaWMiKQpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fdGlsZWRfcHJl YWRfYmFzaWMuYyBiL3Rlc3RzL2k5MTUvZ2VtX3RpbGVkX3ByZWFkX2Jhc2ljLmMKaW5kZXggMWFj OWVjY2QuLmI1YTRlMzQ4IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV90aWxlZF9wcmVhZF9i YXNpYy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX3RpbGVkX3ByZWFkX2Jhc2ljLmMKQEAgLTEyNCw2 ICsxMjQsNyBAQCBpZ3Rfc2ltcGxlX21haW4KIAl1aW50MzJfdCBkZXZpZDsKIAogCWZkID0gZHJt X29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7CisJZ2VtX3JlcXVpcmVfbW1hcF9ndHQoZmQpOwog CiAJaGFuZGxlID0gY3JlYXRlX2JvKGZkKTsKIAlpZ3RfcmVxdWlyZShnZW1fZ2V0X3RpbGluZyhm ZCwgaGFuZGxlLCAmdGlsaW5nLCAmc3dpenpsZSkpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9n ZW1fdGlsZWRfcHJlYWRfcHdyaXRlLmMgYi90ZXN0cy9pOTE1L2dlbV90aWxlZF9wcmVhZF9wd3Jp dGUuYwppbmRleCAwOTg4YTRlOC4uMGMwY2RlN2YgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2Vt X3RpbGVkX3ByZWFkX3B3cml0ZS5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX3RpbGVkX3ByZWFkX3B3 cml0ZS5jCkBAIC0xMTEsOCArMTExLDEwIEBAIGlndF9zaW1wbGVfbWFpbgogCXVpbnQzMl90IHRp bGluZywgc3dpenpsZTsKIAlpbnQgY291bnQ7CiAJaW50IGZkOwotCQorCiAJZmQgPSBkcm1fb3Bl bl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKKwlnZW1fcmVxdWlyZV9tbWFwX2d0dChmZCk7CisKIAlj b3VudCA9IFNMT1dfUVVJQ0soaW50ZWxfZ2V0X3RvdGFsX3JhbV9tYigpICogOSAvIDEwLCA4KSA7 CiAKIAlmb3IgKGludCBpID0gMDsgaSA8IGNvdW50LzI7IGkrKykgewpkaWZmIC0tZ2l0IGEvdGVz dHMvaTkxNS9nZW1fdGlsZWRfc3dhcHBpbmcuYyBiL3Rlc3RzL2k5MTUvZ2VtX3RpbGVkX3N3YXBw aW5nLmMKaW5kZXggZGRmMmE3NDguLjI5NzgzYWJhIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dl bV90aWxlZF9zd2FwcGluZy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX3RpbGVkX3N3YXBwaW5nLmMK QEAgLTE3NSw2ICsxNzUsOCBAQCBpZ3RfbWFpbgogCiAJCWZkID0gZHJtX29wZW5fZHJpdmVyKERS SVZFUl9JTlRFTCk7CiAKKwkJZ2VtX3JlcXVpcmVfbW1hcF9ndHQoZmQpOworCiAJCWludGVsX3B1 cmdlX3ZtX2NhY2hlcyhmZCk7CiAJCWNoZWNrX21lbW9yeV9sYXlvdXQoZmQpOwogCmRpZmYgLS1n aXQgYS90ZXN0cy9pOTE1L2dlbV90aWxlZF93Yi5jIGIvdGVzdHMvaTkxNS9nZW1fdGlsZWRfd2Iu YwppbmRleCBiN2YzNTJmYy4uNjFhYTE2NzUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX3Rp bGVkX3diLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fdGlsZWRfd2IuYwpAQCAtMTQwLDYgKzE0MCw4 IEBAIGlndF9zaW1wbGVfbWFpbgogCiAJZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lOVEVM KTsKIAorCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwogCWhhbmRsZSA9IGNyZWF0ZV9ibyhm ZCk7CiAJZ2V0X3RpbGluZyhmZCwgaGFuZGxlLCAmdGlsaW5nLCAmc3dpenpsZSk7CiAKZGlmZiAt LWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3RpbGVkX3djLmMgYi90ZXN0cy9pOTE1L2dlbV90aWxlZF93 Yy5jCmluZGV4IDg0NWVjMjI4Li44NmU5YmY0NiAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1f dGlsZWRfd2MuYworKysgYi90ZXN0cy9pOTE1L2dlbV90aWxlZF93Yy5jCkBAIC0xMTMsNiArMTEz LDcgQEAgaWd0X3NpbXBsZV9tYWluCiAJdWludDMyX3QgaGFuZGxlOwogCiAJZmQgPSBkcm1fb3Bl bl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKKwlnZW1fcmVxdWlyZV9tbWFwX2d0dChmZCk7CiAJZ2Vt X3JlcXVpcmVfbW1hcF93YyhmZCk7CiAKIAloYW5kbGUgPSBjcmVhdGVfYm8oZmQpOwpkaWZmIC0t Z2l0IGEvdGVzdHMvaTkxNS9nZW1fdGlsaW5nX21heF9zdHJpZGUuYyBiL3Rlc3RzL2k5MTUvZ2Vt X3RpbGluZ19tYXhfc3RyaWRlLmMKaW5kZXggMGU5OWQ5NzkuLjcwMjRmYzI5IDEwMDY0NAotLS0g YS90ZXN0cy9pOTE1L2dlbV90aWxpbmdfbWF4X3N0cmlkZS5jCisrKyBiL3Rlc3RzL2k5MTUvZ2Vt X3RpbGluZ19tYXhfc3RyaWRlLmMKQEAgLTcwLDggKzcwLDkgQEAgaWd0X3NpbXBsZV9tYWluCiAK IAlmZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfSU5URUwpOwogCi0JZGV2aWQgPSBpbnRlbF9n ZXRfZHJtX2RldmlkKGZkKTsKKwlnZW1fcmVxdWlyZV9tbWFwX3djKGZkKTsKIAorCWRldmlkID0g aW50ZWxfZ2V0X2RybV9kZXZpZChmZCk7CiAJaWYgKGludGVsX2dlbihkZXZpZCkgPj0gNykgewog CQlzdHJpZGUgPSAyNTYgKiAxMDI0OwogCX0gZWxzZSBpZiAoaW50ZWxfZ2VuKGRldmlkKSA+PSA0 KSB7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV91c2VycHRyX2JsaXRzLmMgYi90ZXN0cy9p OTE1L2dlbV91c2VycHRyX2JsaXRzLmMKaW5kZXggMTM3M2YxNjAuLmMwYThhNmY1IDEwMDY0NAot LS0gYS90ZXN0cy9pOTE1L2dlbV91c2VycHRyX2JsaXRzLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1f dXNlcnB0cl9ibGl0cy5jCkBAIC01NTQsNiArNTU0LDggQEAgc3RhdGljIGludCB0ZXN0X2ludmFs aWRfZ3R0X21hcHBpbmcoaW50IGZkKQogCXVpbnQzMl90IGhhbmRsZTsKIAljaGFyICpndHQsICpt YXA7CiAKKwlnZW1fcmVxdWlyZV9tbWFwX2d0dChmZCk7CisKIAkvKiBBbm9ueW1vdXMgbWFwcGlu ZyB0byBmaW5kIGEgaG9sZSAqLwogCW1hcCA9IG1tYXAoTlVMTCwgc2l6ZW9mKGxpbmVhcikgKyAy ICogUEFHRV9TSVpFLAogCQkgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLApAQCAtNjE2LDggKzYx OCwxMCBAQCBzdGF0aWMgaW50IHRlc3RfaW52YWxpZF9ndHRfbWFwcGluZyhpbnQgZmQpCiAjZGVm aW5lIFBFX0JVU1kgMHgyCiBzdGF0aWMgdm9pZCB0ZXN0X3Byb2Nlc3NfZXhpdChpbnQgZmQsIGlu dCBmbGFncykKIHsKLQlpZiAoZmxhZ3MgJiBQRV9HVFRfTUFQKQorCWlmIChmbGFncyAmIFBFX0dU VF9NQVApIHsKIAkJaWd0X3JlcXVpcmUoZ2VtX2hhc19sbGMoZmQpKTsKKwkJZ2VtX3JlcXVpcmVf bW1hcF9ndHQoZmQpOworCX0KIAogCWlndF9mb3JrKGNoaWxkLCAxKSB7CiAJCXVpbnQzMl90IGhh bmRsZTsKQEAgLTcwMCw2ICs3MDQsOCBAQCBzdGF0aWMgaW50IHRlc3RfbWFwX2ZpeGVkX2ludmFs aWRhdGUoaW50IGZkLCB1aW50MzJfdCBmbGFncykKIAl1aW50MzJfdCBoYW5kbGVbbnVtX2hhbmRs ZXNdOwogCXVpbnQzMl90ICpwdHI7CiAKKwlnZW1fcmVxdWlyZV9tbWFwX2d0dChmZCk7CisKIAlw dHIgPSBtbWFwKE5VTEwsIHB0cl9zaXplLAogCQkgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAog CQkgICBNQVBfU0hBUkVEIHwgTUFQX0FOT05ZTU9VUywKQEAgLTk0NCw2ICs5NTAsNyBAQCBzdGF0 aWMgaW50IHRlc3RfZG1hYnVmKHZvaWQpCiAJaW50IHJldDsKIAogCWZkMSA9IGRybV9vcGVuX2Ry aXZlcihEUklWRVJfSU5URUwpOworCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkMSk7CiAKIAloYW5k bGUgPSBjcmVhdGVfdXNlcnB0cl9ibyhmZDEsIHNpemVvZihsaW5lYXIpKTsKIAltZW1zZXQoZ2V0 X2hhbmRsZV9wdHIoaGFuZGxlKSwgY291bnRlciwgc2l6ZW9mKGxpbmVhcikpOwpAQCAtMTIxMiw2 ICsxMjE5LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9yZWFkb25seV9tbWFwKGludCBpOTE1KQogCSAq LwogCiAJaWd0X3JlcXVpcmUoaWd0X3NldHVwX2NsZmx1c2goKSk7CisJZ2VtX3JlcXVpcmVfbW1h cF9ndHQoaTkxNSk7CiAKIAlzeiA9IDE2IDw8IDEyOwogCXBhZ2VzID0gbW1hcChOVUxMLCBzeiwg UFJPVF9XUklURSwgTUFQX0FOT04gfCBNQVBfUFJJVkFURSwgLTEsIDApOwpkaWZmIC0tZ2l0IGEv dGVzdHMvaTkxNS9pOTE1X3BtX3JwbS5jIGIvdGVzdHMvaTkxNS9pOTE1X3BtX3JwbS5jCmluZGV4 IGY5ZjY3ZWQzLi43ZTlhOTIwZCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9pOTE1X3BtX3JwbS5j CisrKyBiL3Rlc3RzL2k5MTUvaTkxNV9wbV9ycG0uYwpAQCAtMTAwNyw2ICsxMDA3LDcgQEAgc3Rh dGljIHZvaWQgZ2VtX21tYXBfc3VidGVzdChib29sIGd0dF9tbWFwKQogCWhhbmRsZSA9IGdlbV9j cmVhdGUoZHJtX2ZkLCBidWZfc2l6ZSk7CiAKIAlpZiAoZ3R0X21tYXApIHsKKwkJZ2VtX3JlcXVp cmVfbW1hcF9ndHQoZHJtX2ZkKTsKIAkJZ2VtX2J1ZiA9IGdlbV9tbWFwX19ndHQoZHJtX2ZkLCBo YW5kbGUsIGJ1Zl9zaXplLAogCQkJCQlQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKTsKIAl9CkBAIC0x MzcyLDcgKzEzNzMsOSBAQCBzdGF0aWMgdm9pZCBnZW1fZXZpY3RfcHdyaXRlX3N1YnRlc3Qodm9p ZCkKIAl1bnNpZ25lZCBpbnQgbnVtX3RyYXNoX2JvcywgbjsKIAl1aW50MzJfdCBidWY7CiAKKwln ZW1fcmVxdWlyZV9tbWFwX2d0dChkcm1fZmQpOwogCW51bV90cmFzaF9ib3MgPSBnZW1fbWFwcGFi bGVfYXBlcnR1cmVfc2l6ZSgpIC8gKDEwMjQqMTAyNCkgKyAxOworCiAJdHJhc2hfYm9zID0gbWFs bG9jKG51bV90cmFzaF9ib3MgKiBzaXplb2YoKnRyYXNoX2JvcykpOwogCWlndF9hc3NlcnQodHJh c2hfYm9zKTsKIApAQCAtMTUzNiw2ICsxNTM5LDcgQEAgc3RhdGljIHZvaWQgY3Vyc29yX3N1YnRl c3QoYm9vbCBkcG1zKQogCiAJZGlzYWJsZV9hbGxfc2NyZWVuc19hbmRfd2FpdCgmbXNfZGF0YSk7 CiAKKwlnZW1fcmVxdWlyZV9tbWFwX2d0dChkcm1fZmQpOwogCWlndF9yZXF1aXJlKGRlZmF1bHRf bW9kZV9wYXJhbXMpOwogCWNydGNfaWQgPSBkZWZhdWx0X21vZGVfcGFyYW1zLT5jcnRjX2lkOwog CkBAIC0xNjUzLDYgKzE2NTcsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X29uZV9wbGFuZShib29sIGRw bXMsIHVpbnQzMl90IHBsYW5lX2lkLAogCWludDMyX3QgY3J0Y194ID0gMCwgY3J0Y195ID0gMDsK IAl1aW50NjRfdCB0aWxpbmc7CiAKKwlnZW1fcmVxdWlyZV9tbWFwX2d0dChkcm1fZmQpOwogCWRp c2FibGVfYWxsX3NjcmVlbnNfYW5kX3dhaXQoJm1zX2RhdGEpOwogCiAJY3J0Y19pZCA9IGRlZmF1 bHRfbW9kZV9wYXJhbXMtPmNydGNfaWQ7CkBAIC0xODAwLDYgKzE4MDUsOCBAQCBzdGF0aWMgdm9p ZCBwbV90ZXN0X3RpbGluZyh2b2lkKQogCS8qIGRlZmF1bHQgc3RyaWRlIHZhbHVlICovCiAJdWlu dDMyX3Qgc3RyaWRlID0gNTEyOwogCisJZ2VtX3JlcXVpcmVfbW1hcF9ndHQoZHJtX2ZkKTsKKwog CS8qIGNhbGN1bGF0ZSBob3cgbWFueSBvYmplY3RzIHdlIGNhbiBtYXAgKi8KIAlmb3IgKGkgPSAx IDw8IG9mZl9iaXQ7IGkgPD0gZ3R0X29ial9tYXhfc2l6ZTsgaSA8PD0gMSwgbWF4X2dlbV9vYmpz KyspCiAJCTsKQEAgLTE4NTQsNiArMTg2MSw3IEBAIHN0YXRpYyB2b2lkIHBtX3Rlc3RfY2FjaGlu Zyh2b2lkKQogCQlJOTE1X0NBQ0hJTkdfRElTUExBWSwgICAgICAgICAgIC8qIGVEUkFNIGNhY2hp bmcgKi8KIAl9OwogCisJZ2VtX3JlcXVpcmVfbW1hcF9ndHQoZHJtX2ZkKTsKIAlkaXNhYmxlX2Fs bF9zY3JlZW5zKCZtc19kYXRhKTsKIAogCWhhbmRsZSA9IGdlbV9jcmVhdGUoZHJtX2ZkLCBndHRf b2JqX21heF9zaXplKTsKQEAgLTE4OTEsNiArMTg5OSw3IEBAIHN0YXRpYyB2b2lkIGZlbmNlc19z dWJ0ZXN0KGJvb2wgZHBtcykKIAogCWRpc2FibGVfYWxsX3NjcmVlbnNfYW5kX3dhaXQoJm1zX2Rh dGEpOwogCisJaWd0X3JlcXVpcmUoZ2VtX2F2YWlsYWJsZV9mZW5jZXMoZHJtX2ZkKSk7CiAJaWd0 X3JlcXVpcmUoZGVmYXVsdF9tb2RlX3BhcmFtcyk7CiAJcGFyYW1zLmNydGNfaWQgPSBkZWZhdWx0 X21vZGVfcGFyYW1zLT5jcnRjX2lkOwogCXBhcmFtcy5jb25uZWN0b3JfaWQgPSBkZWZhdWx0X21v ZGVfcGFyYW1zLT5jb25uZWN0b3JfaWQ7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2k5MTVfc3Vz cGVuZC5jIGIvdGVzdHMvaTkxNS9pOTE1X3N1c3BlbmQuYwppbmRleCAxN2M2OGNjMS4uMDljZjU1 NDIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvaTkxNV9zdXNwZW5kLmMKKysrIGIvdGVzdHMvaTkx NS9pOTE1X3N1c3BlbmQuYwpAQCAtNTAsNiArNTAsOCBAQCB0ZXN0X2ZlbmNlX3Jlc3RvcmUoaW50 IGZkLCBib29sIHRpbGVkMnVudGlsZWQsIGJvb2wgaGliZXJuYXRlKQogCXVpbnQzMl90ICpwdHIx LCAqcHRyMiwgKnB0cl90aWxlZDsKIAlpbnQgaTsKIAorCWlndF9yZXF1aXJlKGdlbV9hdmFpbGFi bGVfZmVuY2VzKGZkKSk7CisKIAkvKiBXZSB3YWxsIHRoZSB0aWxlZCBvYmplY3Qgd2l0aCB1bnRp bGVkIGNhbmFyeSBvYmplY3RzIHRvIG1ha2Ugc3VyZQogCSAqIHRoYXQgd2UgZGV0ZWN0IHRpbGUg bGVha2luZyBpbiBib3RoIGRpcmVjdGlvbnMuICovCiAJaGFuZGxlMSA9IGdlbV9jcmVhdGUoZmQs IE9CSkVDVF9TSVpFKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19kcmF3X2NyYy5jIGIvdGVzdHMv a21zX2RyYXdfY3JjLmMKaW5kZXggZWExNGRiOWEuLjFhMmUyZDRmIDEwMDY0NAotLS0gYS90ZXN0 cy9rbXNfZHJhd19jcmMuYworKysgYi90ZXN0cy9rbXNfZHJhd19jcmMuYwpAQCAtMzI5LDEzICsz MjksMTcgQEAgaWd0X21haW4KIAkJaWd0X3N1YnRlc3RfZigiZHJhdy1tZXRob2QtJXMtJXMtJXMi LAogCQkJICAgICAgZm9ybWF0X3N0cihmb3JtYXRfaWR4KSwKIAkJCSAgICAgIGlndF9kcmF3X2dl dF9tZXRob2RfbmFtZShtZXRob2QpLAotCQkJICAgICAgdGlsaW5nX3N0cih0aWxpbmdfaWR4KSkK KwkJCSAgICAgIHRpbGluZ19zdHIodGlsaW5nX2lkeCkpIHsKKwkJCWdlbV9yZXF1aXJlX21tYXBf Z3R0KGRybV9mZCk7CiAJCQlkcmF3X21ldGhvZF9zdWJ0ZXN0KG1ldGhvZCwgZm9ybWF0X2lkeCwK IAkJCQkJICAgIHRpbGluZ3NbdGlsaW5nX2lkeF0pOworCQl9CiAJfSB9IH0KIAotCWlndF9zdWJ0 ZXN0KCJmaWxsLWZiIikKKwlpZ3Rfc3VidGVzdCgiZmlsbC1mYiIpIHsKKwkJZ2VtX3JlcXVpcmVf bW1hcF9ndHQoZHJtX2ZkKTsKIAkJZmlsbF9mYl9zdWJ0ZXN0KCk7CisJfQogCiAJaWd0X2ZpeHR1 cmUKIAkJdGVhcmRvd25fZW52aXJvbm1lbnQoKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19mZW5j ZV9waW5fbGVhay5jIGIvdGVzdHMva21zX2ZlbmNlX3Bpbl9sZWFrLmMKaW5kZXggZTZjOGIzM2Mu LjU3Y2U0NWNkIDEwMDY0NAotLS0gYS90ZXN0cy9rbXNfZmVuY2VfcGluX2xlYWsuYworKysgYi90 ZXN0cy9rbXNfZmVuY2VfcGluX2xlYWsuYwpAQCAtMjAzLDYgKzIwMyw4IEBAIGlndF9zaW1wbGVf bWFpbgogCWRhdGEuZHJtX2ZkID0gZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfSU5URUwp OwogCWlndF9yZXF1aXJlX2dlbShkYXRhLmRybV9mZCk7CiAKKwlnZW1fcmVxdWlyZV9tbWFwX2d0 dChkYXRhLmRybV9mZCk7CisKIAlkYXRhLmRldmlkID0gaW50ZWxfZ2V0X2RybV9kZXZpZChkYXRh LmRybV9mZCk7CiAKIAlrbXN0ZXN0X3NldF92dF9ncmFwaGljc19tb2RlKCk7CmRpZmYgLS1naXQg YS90ZXN0cy9rbXNfZnJvbnRidWZmZXJfdHJhY2tpbmcuYyBiL3Rlc3RzL2ttc19mcm9udGJ1ZmZl cl90cmFja2luZy5jCmluZGV4IDEwMzdmYWY4Li42YzA2NTRkNyAxMDA2NDQKLS0tIGEvdGVzdHMv a21zX2Zyb250YnVmZmVyX3RyYWNraW5nLmMKKysrIGIvdGVzdHMva21zX2Zyb250YnVmZmVyX3Ry YWNraW5nLmMKQEAgLTE3NDEsNiArMTc0MSw5IEBAIHN0YXRpYyB2b2lkIGNoZWNrX3Rlc3RfcmVx dWlyZW1lbnRzKGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCiAKIAlpZiAob3B0Lm9ubHlfcGlw ZXMgIT0gUElQRV9DT1VOVCkKIAkJaWd0X3JlcXVpcmUodC0+cGlwZXMgPT0gb3B0Lm9ubHlfcGlw ZXMpOworCisJaWYgKHQtPm1ldGhvZCA9PSBJR1RfRFJBV19NTUFQX0dUVCkKKwkJZ2VtX3JlcXVp cmVfbW1hcF9ndHQoZHJtLmZkKTsKIH0KIAogc3RhdGljIHZvaWQgc2V0X2NydGNfZmJzKGNvbnN0 IHN0cnVjdCB0ZXN0X21vZGUgKnQpCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfcHNyLmMgYi90ZXN0 cy9rbXNfcHNyLmMKaW5kZXggMzlkZTAxMTIuLjU3MTg0NGU4IDEwMDY0NAotLS0gYS90ZXN0cy9r bXNfcHNyLmMKKysrIGIvdGVzdHMva21zX3Bzci5jCkBAIC00MSw2ICs0MSw4IEBAIGVudW0gb3Bl cmF0aW9ucyB7CiAJUExBTkVfT05PRkYsCiB9OwogCisjZGVmaW5lIG5lZWRzX2d0dChvcCkgaWYg KG9wID09IE1NQVBfR1RUKSB7Z2VtX3JlcXVpcmVfbW1hcF9ndHQoZGF0YS5kcm1fZmQpO30KKwog c3RhdGljIGNvbnN0IGNoYXIgKm9wX3N0cihlbnVtIG9wZXJhdGlvbnMgb3ApCiB7CiAJc3RhdGlj IGNvbnN0IGNoYXIgKiBjb25zdCBuYW1lW10gPSB7CkBAIC00NzMsNiArNDc1LDcgQEAgaWd0X21h aW5fYXJncygiIiwgbG9uZ19vcHRpb25zLCBoZWxwX3N0ciwgb3B0X2hhbmRsZXIsICZkYXRhKQog CQkJaWd0X3N1YnRlc3RfZigiJXNwcmltYXJ5XyVzIiwKIAkJCQkgICAgICBhcHBlbmRfc3VidGVz dF9uYW1lW2RhdGEub3BfcHNyX21vZGVdLAogCQkJCSAgICAgIG9wX3N0cihvcCkpIHsKKwkJCQlu ZWVkc19ndHQob3ApOwogCQkJCWRhdGEub3AgPSBvcDsKIAkJCQlkYXRhLnRlc3RfcGxhbmVfaWQg PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZOwogCQkJCXRlc3Rfc2V0dXAoJmRhdGEpOwpAQCAtNDg1 LDYgKzQ4OCw3IEBAIGlndF9tYWluX2FyZ3MoIiIsIGxvbmdfb3B0aW9ucywgaGVscF9zdHIsIG9w dF9oYW5kbGVyLCAmZGF0YSkKIAkJCWlndF9zdWJ0ZXN0X2YoIiVzc3ByaXRlXyVzIiwKIAkJCQkg ICAgICBhcHBlbmRfc3VidGVzdF9uYW1lW2RhdGEub3BfcHNyX21vZGVdLAogCQkJCSAgICAgIG9w X3N0cihvcCkpIHsKKwkJCQluZWVkc19ndHQob3ApOwogCQkJCWRhdGEub3AgPSBvcDsKIAkJCQlk YXRhLnRlc3RfcGxhbmVfaWQgPSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwogCQkJCXRlc3Rfc2V0 dXAoJmRhdGEpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvcHJpbWVfbW1hcC5jIGIvdGVzdHMvcHJpbWVf bW1hcC5jCmluZGV4IGZjOTg1Nzg0Li5lOGFiMTljMCAxMDA2NDQKLS0tIGEvdGVzdHMvcHJpbWVf bW1hcC5jCisrKyBiL3Rlc3RzL3ByaW1lX21tYXAuYwpAQCAtNzksNiArNzksOCBAQCB0ZXN0X2Nv cnJlY3Qodm9pZCkKIAljaGFyICpwdHIxLCAqcHRyMjsKIAl1aW50MzJfdCBoYW5kbGU7CiAKKwln ZW1fcmVxdWlyZV9tbWFwX2d0dChmZCk7CisKIAloYW5kbGUgPSBnZW1fY3JlYXRlKGZkLCBCT19T SVpFKTsKIAlmaWxsX2JvKGhhbmRsZSwgQk9fU0laRSk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL3By aW1lX21tYXBfY29oZXJlbmN5LmMgYi90ZXN0cy9wcmltZV9tbWFwX2NvaGVyZW5jeS5jCmluZGV4 IDM5NTM4NzY3Li5iMWNiZTc3NyAxMDA2NDQKLS0tIGEvdGVzdHMvcHJpbWVfbW1hcF9jb2hlcmVu Y3kuYworKysgYi90ZXN0cy9wcmltZV9tbWFwX2NvaGVyZW5jeS5jCkBAIC0yOTMsNiArMjkzLDcg QEAgaWd0X21haW4KIAkgKiByZXByb2R1Y2luZyBib2lscyBkb3duIHRvIHRyaWFsIGFuZCBlcnJv ciB0byBoaXQgZGlmZmVyZW50IHNjZW5hcmlvcy4KIAkgKiBUT0RPOiBXZSBtYXkgd2FudCB0byBp bXByb3ZlIHRlc3RzIGEgYml0IGJ5IHBpY2tpbmcgcmFuZG9tIHN1YnJhbmdlcy4gKi8KIAlpZ3Rf c3VidGVzdCgicmVhZCIpIHsKKwkJZ2VtX3JlcXVpcmVfbW1hcF9ndHQoZmQpOwogCQlpZ3RfdW50 aWxfdGltZW91dCg1KSB7CiAJCQlpbnQgc3RhbGUgPSB0ZXN0X3JlYWRfZmx1c2goKTsKIAkJCWln dF9mYWlsX29uX2Yoc3RhbGUsCmRpZmYgLS1naXQgYS90ZXN0cy9wcmltZV92Z2VtLmMgYi90ZXN0 cy9wcmltZV92Z2VtLmMKaW5kZXggNjlhZThjOWIuLmQwODgyOWYzIDEwMDY0NAotLS0gYS90ZXN0 cy9wcmltZV92Z2VtLmMKKysrIGIvdGVzdHMvcHJpbWVfdmdlbS5jCkBAIC0xMjQsNiArMTI0LDgg QEAgc3RhdGljIHZvaWQgdGVzdF9mZW5jZV9tbWFwKGludCBpOTE1LCBpbnQgdmdlbSkKIAlpbnQg ZG1hYnVmLCBpOwogCWludCBtYXN0ZXJbMl0sIHNsYXZlWzJdOwogCisJZ2VtX3JlcXVpcmVfbW1h cF9ndHQoaTkxNSk7CisKIAlpZ3RfYXNzZXJ0KHBpcGUobWFzdGVyKSA9PSAwKTsKIAlpZ3RfYXNz ZXJ0KHBpcGUoc2xhdmUpID09IDApOwogCkBAIC0yMDYsNiArMjA4LDggQEAgc3RhdGljIHZvaWQg dGVzdF9ndHQoaW50IHZnZW0sIGludCBpOTE1KQogCXVpbnQzMl90ICpwdHI7CiAJaW50IGRtYWJ1 ZiwgaTsKIAorCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGk5MTUpOworCiAJc2NyYXRjaC53aWR0aCA9 IDEwMjQ7CiAJc2NyYXRjaC5oZWlnaHQgPSAxMDI0OwogCXNjcmF0Y2guYnBwID0gMzI7CkBAIC0y ODEsNiArMjg1LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9ndHRfaW50ZXJsZWF2ZWQoaW50IHZnZW0s IGludCBpOTE1KQogCXVpbnQzMl90ICpwdHIsICpndHQ7CiAJaW50IGRtYWJ1ZiwgaTsKIAorCWdl bV9yZXF1aXJlX21tYXBfZ3R0KGk5MTUpOwogCWlndF9yZXF1aXJlKGlzX2NvaGVyZW50KGk5MTUp KTsKIAogCXNjcmF0Y2gud2lkdGggPSAxMDI0OwotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3Qt ZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=