From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH i-g-t 3/3] tests/kms_cursor_legacy: Rework the 2x-*-vs-cursor-* tests. Date: Thu, 7 Dec 2017 14:40:27 +0100 Message-ID: <20171207134027.61108-3-maarten.lankhorst@linux.intel.com> References: <20171207134027.61108-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F5206E7EF for ; Thu, 7 Dec 2017 13:40:32 +0000 (UTC) In-Reply-To: <20171207134027.61108-1-maarten.lankhorst@linux.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 List-Id: intel-gfx@lists.freedesktop.org VXNpbmcgdGhlIGZhbmN5IG5ldyBEUk1fQ0FQX0NSVENfSU5fVkJMQU5LX0VWRU5UIGNhcCBJIGNh biBmaW5hbGx5Cm1ha2UgdGhpcyB0ZXN0IHRoZSB3b3JrIEkgb3JpZ2luYWxseSBpbnRlbmRlZCB0 by4KCkZvciB0aGUgIW1vZGVzZXQgY2FzZSB0aGF0IG1lYW5zIHBlcmZvcm1pbmcgYSBwYWdlZmxp cCBvbiBib3RoIGNydGMncywKdGhlbiByZXF1ZXVlaW5nIGFzIHNvb24gYXMgdGhlIGV2ZW50IGlz IGRlbGl2ZXJlZCBhbmQgdGhlbiBjaGVjayB0aGUKdmJsYW5rIGNvdW50ZXIgYWdhaW5zdCB0aGUg b3JpZ2luYWwgdmFsdWUsIGl0IHNob3VsZCBiZSBhZHZhbmNlZCBieSAxLgoKVGhlIG1vZGVzZXQg Y2FzZSBpcyBzbGlnaHRseSBtb3JlIGNvbXBsaWNhdGVkLCBpZGVhbGx5IGl0J3MgaGFuZGxlZAp0 aGUgc2FtZSwgYnV0IGlmIHdlIGNhbid0IHBlcmZvcm0gYSBtb2Rlc2V0IGFuZCBwYWdlZmxpcCBh dCB0aGUgc2FtZQp0aW1lLCBmYWxsIGJhY2sgdG8gcXVldWVpbmcgYm90aCBpbiBhIHNpbmdsZSBj b21taXQsIGluIHdoaWNoIGNhc2UKd2UgY2FuIHNheSBub3RoaW5nIGFib3V0IHRoZSB2Ymxhbmsg Y291bnRlci4KClRoZXJlIGlzIGEgc21hbGwgcmFjZSBiZXR3ZWVuIGZsaXBfZG9uZSBhbmQgaHdf ZG9uZSwgc28gbWFrZQpmbGlwX25vbmJsb2NraW5nIHJldHJ5IGZvciBhIHNlY29uZCB3aGVuIGVu Y291bnRlcmluZyAtRUJVU1kuCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFh cnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZy ZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNjM0Ci0tLQogdGVzdHMva21zX2N1cnNv cl9sZWdhY3kuYyB8IDIyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTU2IGluc2VydGlvbnMoKyksIDcyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jdXJzb3JfbGVnYWN5LmMgYi90ZXN0cy9rbXNfY3Vy c29yX2xlZ2FjeS5jCmluZGV4IDk0ZDkxZTljOTIxYS4uNTAxMWU3OGU1YzJmIDEwMDY0NAotLS0g YS90ZXN0cy9rbXNfY3Vyc29yX2xlZ2FjeS5jCisrKyBiL3Rlc3RzL2ttc19jdXJzb3JfbGVnYWN5 LmMKQEAgLTI0MywxOSArMjQzLDI3IEBAIHN0YXRpYyBlbnVtIHBpcGUgZmluZF9jb25uZWN0ZWRf cGlwZShpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBib29sIHNlY29uZCkKIAlyZXR1cm4gcGlwZTsK IH0KIAotc3RhdGljIHZvaWQgZmxpcF9ub25ibG9ja2luZyhpZ3RfZGlzcGxheV90ICpkaXNwbGF5 LCBlbnVtIHBpcGUgcGlwZV9pZCwgYm9vbCBhdG9taWMsIHN0cnVjdCBpZ3RfZmIgKmZiKQorc3Rh dGljIHZvaWQgZmxpcF9ub25ibG9ja2luZyhpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIHBp cGUgcGlwZV9pZCwgYm9vbCBhdG9taWMsIHN0cnVjdCBpZ3RfZmIgKmZiLCB2b2lkICpkYXRhKQog ewogCWlndF9waXBlX3QgKnBpcGUgPSAmZGlzcGxheS0+cGlwZXNbcGlwZV9pZF07CiAJaWd0X3Bs YW5lX3QgKnByaW1hcnkgPSBpZ3RfcGlwZV9nZXRfcGxhbmVfdHlwZShwaXBlLCBEUk1fUExBTkVf VFlQRV9QUklNQVJZKTsKKwlpbnQgcmV0OwogCisJaWd0X3NldF90aW1lb3V0KDEsICJTY2hlZHVs aW5nIHBhZ2UgZmxpcFxuIik7CiAJaWYgKCFhdG9taWMpIHsKIAkJLyogU2NoZWR1bGUgYSBub25i bG9ja2luZyBmbGlwIGZvciB0aGUgbmV4dCB2YmxhbmsgKi8KLQkJZG9fb3JfZGllKGRybU1vZGVQ YWdlRmxpcChkaXNwbGF5LT5kcm1fZmQsIHBpcGUtPmNydGNfaWQsIGZiLT5mYl9pZCwKLQkJCQkJ RFJNX01PREVfUEFHRV9GTElQX0VWRU5ULCBmYikpOworCQlkbyB7CisJCQlyZXQgPSBkcm1Nb2Rl UGFnZUZsaXAoZGlzcGxheS0+ZHJtX2ZkLCBwaXBlLT5jcnRjX2lkLCBmYi0+ZmJfaWQsCisJCQkJ CSAgICAgIERSTV9NT0RFX1BBR0VfRkxJUF9FVkVOVCwgZGF0YSk7CisJCX0gd2hpbGUgKHJldCA9 PSAtRUJVU1kpOwogCX0gZWxzZSB7CiAJCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgZmIpOwot CQlpZ3RfZGlzcGxheV9jb21taXRfYXRvbWljKGRpc3BsYXksIERSTV9NT0RFX0FUT01JQ19OT05C TE9DSyB8IERSTV9NT0RFX1BBR0VfRkxJUF9FVkVOVCwgZmIpOworCQlkbyB7CisJCQlyZXQgPSBp Z3RfZGlzcGxheV90cnlfY29tbWl0X2F0b21pYyhkaXNwbGF5LCBEUk1fTU9ERV9BVE9NSUNfTk9O QkxPQ0sgfCBEUk1fTU9ERV9QQUdFX0ZMSVBfRVZFTlQsIGRhdGEpOworCQl9IHdoaWxlIChyZXQg PT0gLUVCVVNZKTsKIAl9CisJaWd0X2Fzc2VydCghcmV0KTsKKwlpZ3RfcmVzZXRfdGltZW91dCgp OwogfQogCiBlbnVtIGZsaXBfdGVzdCB7CkBAIC00MjQsNyArNDMyLDcgQEAgc3RhdGljIHZvaWQg ZmxpcChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LAogCiAJCQlzd2l0Y2ggKG1vZGUpIHsKIAkJCWRl ZmF1bHQ6Ci0JCQkJZmxpcF9ub25ibG9ja2luZyhkaXNwbGF5LCBmbGlwX3BpcGUsIG1vZGUgPj0g ZmxpcF90ZXN0X2F0b21pYywgJmZiX2luZm8pOworCQkJCWZsaXBfbm9uYmxvY2tpbmcoZGlzcGxh eSwgZmxpcF9waXBlLCBtb2RlID49IGZsaXBfdGVzdF9hdG9taWMsICZmYl9pbmZvLCBOVUxMKTsK IAkJCQlicmVhazsKIAkJCWNhc2UgZmxpcF90ZXN0X2F0b21pY190cmFuc2l0aW9uczoKIAkJCWNh c2UgZmxpcF90ZXN0X2F0b21pY190cmFuc2l0aW9uc192YXJ5aW5nX3NpemU6CkBAIC01MzMsNyAr NTQxLDcgQEAgc3RhdGljIHZvaWQgYmFzaWNfZmxpcF9jdXJzb3IoaWd0X2Rpc3BsYXlfdCAqZGlz cGxheSwKIAkJY2FzZSBGTElQX0JFRk9SRV9DVVJTT1I6CiAJCQlzd2l0Y2ggKG1vZGUpIHsKIAkJ CWRlZmF1bHQ6Ci0JCQkJZmxpcF9ub25ibG9ja2luZyhkaXNwbGF5LCBwaXBlLCBtb2RlID49IGZs aXBfdGVzdF9hdG9taWMsICZmYl9pbmZvKTsKKwkJCQlmbGlwX25vbmJsb2NraW5nKGRpc3BsYXks IHBpcGUsIG1vZGUgPj0gZmxpcF90ZXN0X2F0b21pYywgJmZiX2luZm8sIE5VTEwpOwogCQkJCWJy ZWFrOwogCQkJY2FzZSBmbGlwX3Rlc3RfYXRvbWljX3RyYW5zaXRpb25zOgogCQkJY2FzZSBmbGlw X3Rlc3RfYXRvbWljX3RyYW5zaXRpb25zX3Zhcnlpbmdfc2l6ZToKQEAgLTU1NSw3ICs1NjMsNyBA QCBzdGF0aWMgdm9pZCBiYXNpY19mbGlwX2N1cnNvcihpZ3RfZGlzcGxheV90ICpkaXNwbGF5LAog CiAJCQlzd2l0Y2ggKG1vZGUpIHsKIAkJCWRlZmF1bHQ6Ci0JCQkJZmxpcF9ub25ibG9ja2luZyhk aXNwbGF5LCBwaXBlLCBtb2RlID49IGZsaXBfdGVzdF9hdG9taWMsICZmYl9pbmZvKTsKKwkJCQlm bGlwX25vbmJsb2NraW5nKGRpc3BsYXksIHBpcGUsIG1vZGUgPj0gZmxpcF90ZXN0X2F0b21pYywg JmZiX2luZm8sIE5VTEwpOwogCQkJCWJyZWFrOwogCQkJY2FzZSBmbGlwX3Rlc3RfYXRvbWljX3Ry YW5zaXRpb25zOgogCQkJY2FzZSBmbGlwX3Rlc3RfYXRvbWljX3RyYW5zaXRpb25zX3Zhcnlpbmdf c2l6ZToKQEAgLTcxMiw3ICs3MjAsNyBAQCBzdGF0aWMgdm9pZCBmbGlwX3ZzX2N1cnNvcihpZ3Rf ZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIGZsaXBfdGVzdCBtb2RlLCBpbnQgbmxvbwogCQl2Ymxh bmtfc3RhcnQgPSBnZXRfdmJsYW5rKGRpc3BsYXktPmRybV9mZCwgcGlwZSwgRFJNX1ZCTEFOS19O RVhUT05NSVNTKTsKIAkJc3dpdGNoIChtb2RlKSB7CiAJCWRlZmF1bHQ6Ci0JCQlmbGlwX25vbmJs b2NraW5nKGRpc3BsYXksIHBpcGUsIG1vZGUgPj0gZmxpcF90ZXN0X2F0b21pYywgJmZiX2luZm8p OworCQkJZmxpcF9ub25ibG9ja2luZyhkaXNwbGF5LCBwaXBlLCBtb2RlID49IGZsaXBfdGVzdF9h dG9taWMsICZmYl9pbmZvLCBOVUxMKTsKIAkJCWJyZWFrOwogCQljYXNlIGZsaXBfdGVzdF9hdG9t aWNfdHJhbnNpdGlvbnM6CiAJCWNhc2UgZmxpcF90ZXN0X2F0b21pY190cmFuc2l0aW9uc192YXJ5 aW5nX3NpemU6CkBAIC04NDMsMTMgKzg1MSwyNiBAQCBzdGF0aWMgdm9pZCBub25ibG9ja2luZ19t b2Rlc2V0X3ZzX2N1cnNvcihpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBpbnQgbG9vcHMpCiAKIHN0 YXRpYyB2b2lkIHR3b19zY3JlZW5zX2ZsaXBfdnNfY3Vyc29yKGlndF9kaXNwbGF5X3QgKmRpc3Bs YXksIGludCBubG9vcHMsIGJvb2wgbW9kZXNldCwgYm9vbCBhdG9taWMpCiB7Ci0Jc3RydWN0IGRy bV9tb2RlX2N1cnNvciBhcmdbMl0sIGFyZzJbMl07Ci0Jc3RydWN0IGRybV9ldmVudF92Ymxhbmsg dmJsOworCXN0cnVjdCBkcm1fbW9kZV9jdXJzb3IgYXJnMVsyXSwgYXJnMlsyXTsKIAlzdHJ1Y3Qg aWd0X2ZiIGZiX2luZm8sIGZiMl9pbmZvLCBjdXJzb3JfZmI7Ci0JdW5zaWduZWQgdmJsYW5rX3N0 YXJ0OwogCWVudW0gcGlwZSBwaXBlID0gZmluZF9jb25uZWN0ZWRfcGlwZShkaXNwbGF5LCBmYWxz ZSk7CiAJZW51bSBwaXBlIHBpcGUyID0gZmluZF9jb25uZWN0ZWRfcGlwZShkaXNwbGF5LCB0cnVl KTsKIAlpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgKm91dHB1dDI7CisJYm9vbCB2YmxhbmtfbWF0Y2hl cywgZW5hYmxlZCA9IGZhbHNlOworCXZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKnNoYXJlZDsKKwl1 bnNpZ25lZCBmbGFncyA9IDAsIHZibGFua19zdGFydDsKKwlzdHJ1Y3QgZHJtX2V2ZW50X3ZibGFu ayB2Ymw7CisJaW50IHJldDsKKworCWlmIChtb2Rlc2V0KSB7CisJCXVpbnQ2NF90IHZhbDsKKwor CQlpZ3RfZmFpbF9vbighYXRvbWljKTsKKwkJaWd0X3JlcXVpcmUoZHJtR2V0Q2FwKGRpc3BsYXkt PmRybV9mZCwgRFJNX0NBUF9DUlRDX0lOX1ZCTEFOS19FVkVOVCwgJnZhbCkgPT0gMCk7CisJfQor CisJc2hhcmVkID0gbW1hcChOVUxMLCA0MDk2LCBQUk9UX1dSSVRFLCBNQVBfU0hBUkVEIHwgTUFQ X0FOT04sIC0xLCAwKTsKKwlpZ3RfYXNzZXJ0KHNoYXJlZCAhPSBNQVBfRkFJTEVEKTsKIAogCWln dF9mYWlsX29uKG1vZGVzZXQgJiYgIWF0b21pYyk7CiAKQEAgLTg2MSw3NyArODgyLDE0MCBAQCBz dGF0aWMgdm9pZCB0d29fc2NyZWVuc19mbGlwX3ZzX2N1cnNvcihpZ3RfZGlzcGxheV90ICpkaXNw bGF5LCBpbnQgbmxvb3BzLCBib29sCiAKIAlpZ3RfY3JlYXRlX2NvbG9yX2ZiKGRpc3BsYXktPmRy bV9mZCwgNjQsIDY0LCBEUk1fRk9STUFUX0FSR0I4ODg4LCAwLCAxLiwgMS4sIDEuLCAmY3Vyc29y X2ZiKTsKIAlzZXRfY3Vyc29yX29uX3BpcGUoZGlzcGxheSwgcGlwZSwgJmN1cnNvcl9mYik7Ci0J cG9wdWxhdGVfY3Vyc29yX2FyZ3MoZGlzcGxheSwgcGlwZSwgYXJnLCAmY3Vyc29yX2ZiKTsKKwlw b3B1bGF0ZV9jdXJzb3JfYXJncyhkaXNwbGF5LCBwaXBlLCBhcmcxLCAmY3Vyc29yX2ZiKTsKIAot CWFyZ1sxXS54ID0gYXJnWzFdLnkgPSAxOTI7CisJYXJnMVsxXS54ID0gYXJnMVsxXS55ID0gMTky OwogCiAJc2V0X2N1cnNvcl9vbl9waXBlKGRpc3BsYXksIHBpcGUyLCAmY3Vyc29yX2ZiKTsKIAlw b3B1bGF0ZV9jdXJzb3JfYXJncyhkaXNwbGF5LCBwaXBlMiwgYXJnMiwgJmN1cnNvcl9mYik7CiAK IAlhcmcyWzFdLnggPSBhcmcyWzFdLnkgPSAxOTI7CiAKKwogCWlndF9kaXNwbGF5X2NvbW1pdDIo ZGlzcGxheSwgZGlzcGxheS0+aXNfYXRvbWljID8gQ09NTUlUX0FUT01JQyA6IENPTU1JVF9MRUdB Q1kpOwogCi0JdmJsYW5rX3N0YXJ0ID0gZ2V0X3ZibGFuayhkaXNwbGF5LT5kcm1fZmQsIHBpcGUs IERSTV9WQkxBTktfTkVYVE9OTUlTUyk7Ci0JaWd0X2Fzc2VydF9lcShnZXRfdmJsYW5rKGRpc3Bs YXktPmRybV9mZCwgcGlwZSwgMCksIHZibGFua19zdGFydCk7Ci0JZG9faW9jdGwoZGlzcGxheS0+ ZHJtX2ZkLCBEUk1fSU9DVExfTU9ERV9DVVJTT1IsICZhcmdbMF0pOwotCWRvX2lvY3RsKGRpc3Bs YXktPmRybV9mZCwgRFJNX0lPQ1RMX01PREVfQ1VSU09SLCAmYXJnMlswXSk7Ci0JaWd0X2Fzc2Vy dF9lcShnZXRfdmJsYW5rKGRpc3BsYXktPmRybV9mZCwgcGlwZSwgMCksIHZibGFua19zdGFydCk7 CisJaWd0X2ZvcmsoY2hpbGQsIDIpIHsKKwkJc3RydWN0IGRybV9tb2RlX2N1cnNvciAqYXJnID0g Y2hpbGQgPyBhcmcyIDogYXJnMTsKIAotCXdoaWxlIChubG9vcHMtLSkgewotCQkvKiBTdGFydCB3 aXRoIGEgc3luY2hyb25vdXMgcXVlcnkgdG8gYWxpZ24gd2l0aCB0aGUgdmJsYW5rICovCisJCXdo aWxlICghc2hhcmVkWzBdKQorCQkJZG9faW9jdGwoZGlzcGxheS0+ZHJtX2ZkLCBEUk1fSU9DVExf TU9ERV9DVVJTT1IsCisJCQkJICZhcmdbIXNoYXJlZFsxXV0pOworCX0KKworCWlmIChtb2Rlc2V0 KSB7CisJCWlndF9wbGFuZV90ICpwbGFuZSA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUob3V0 cHV0LCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKKworCQlmbGFncyA9IERSTV9NT0RFX0FUT01J Q19BTExPV19NT0RFU0VUIHwKKwkJCURSTV9NT0RFX0FUT01JQ19OT05CTE9DSyB8IERSTV9NT0RF X1BBR0VfRkxJUF9FVkVOVDsKKworCQkvKiBEaXNhYmxlIHBpcGUyICovCisJCWlndF9vdXRwdXRf c2V0X3BpcGUob3V0cHV0MiwgUElQRV9OT05FKTsKKwkJaWd0X2Rpc3BsYXlfY29tbWl0X2F0b21p YyhkaXNwbGF5LCBmbGFncywgTlVMTCk7CisJCWVuYWJsZWQgPSBmYWxzZTsKKworCQkvKgorCQkg KiBUcnkgYSBwYWdlIGZsaXAgb24gY3J0YyAxLCBpZiB3ZSBzdWNjZWVkIHB1bXAgcGFnZSBmbGlw cyBhbmQKKwkJICogbW9kZXNldHMgaW50ZXJsZWF2ZWQsIGVsc2UgZG8gYSBzaW5nbGUgYXRvbWlj IGNvbW1pdCB3aXRoIGJvdGguCisJCSAqLwogCQl2Ymxhbmtfc3RhcnQgPSBnZXRfdmJsYW5rKGRp c3BsYXktPmRybV9mZCwgcGlwZSwgRFJNX1ZCTEFOS19ORVhUT05NSVNTKTsKLQkJZG9faW9jdGwo ZGlzcGxheS0+ZHJtX2ZkLCBEUk1fSU9DVExfTU9ERV9DVVJTT1IsICZhcmdbbmxvb3BzICYgMV0p OworCQlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCAmZmJfaW5mbyk7CisJCXJldCA9IGlndF9kaXNw bGF5X3RyeV9jb21taXRfYXRvbWljKGRpc3BsYXksIGZsYWdzLCAodm9pZCopKHB0cmRpZmZfdCl2 Ymxhbmtfc3RhcnQpOworCQlpZ3RfYXNzZXJ0KCFyZXQgfHwgcmV0ID09IC1FQlVTWSk7CisKKwkJ aWYgKHJldCA9PSAtRUJVU1kpIHsKKwkJCS8qIEZvcmNlIGNvbXBsZXRpb24gb24gYm90aCBwaXBl cywgYW5kIGdlbmVyYXRlIGV2ZW50LiAqLworCQkJaWd0X2Rpc3BsYXlfY29tbWl0X2F0b21pYyhk aXNwbGF5LCBmbGFncywgTlVMTCk7CisKKwkJCXdoaWxlIChubG9vcHMtLSkgeworCQkJCXNoYXJl ZFsxXSA9IG5sb29wcyAmIDE7CisKKwkJCQlpZ3Rfc2V0X3RpbWVvdXQoMzUsICJTdHVjayBtb2Rl c2V0Iik7CisJCQkJaWd0X2Fzc2VydF9lcShyZWFkKGRpc3BsYXktPmRybV9mZCwgJnZibCwgc2l6 ZW9mKHZibCkpLCBzaXplb2YodmJsKSk7CisJCQkJaWd0X2Fzc2VydF9lcShyZWFkKGRpc3BsYXkt PmRybV9mZCwgJnZibCwgc2l6ZW9mKHZibCkpLCBzaXplb2YodmJsKSk7CisJCQkJaWd0X3Jlc2V0 X3RpbWVvdXQoKTsKKworCQkJCWlmICghbmxvb3BzKQorCQkJCQlicmVhazsKKworCQkJCS8qIENv bW1pdCBwYWdlIGZsaXAgYW5kIG1vZGVzZXQgc2ltdWx0YW5lb3VzbHkuICovCisJCQkJaWd0X3Bs YW5lX3NldF9mYihwbGFuZSwgJmZiX2luZm8pOworCQkJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0 cHV0MiwgZW5hYmxlZCA/IFBJUEVfTk9ORSA6IHBpcGUyKTsKKwkJCQllbmFibGVkID0gIWVuYWJs ZWQ7CisKKwkJCQlpZ3Rfc2V0X3RpbWVvdXQoNSwgIlNjaGVkdWxpbmcgbW9kZXNldFxuIik7CisJ CQkJZG8geworCQkJCQlyZXQgPSBpZ3RfZGlzcGxheV90cnlfY29tbWl0X2F0b21pYyhkaXNwbGF5 LCBmbGFncywgTlVMTCk7CisJCQkJfSB3aGlsZSAocmV0ID09IC1FQlVTWSk7CisJCQkJaWd0X2Fz c2VydCghcmV0KTsKKwkJCQlpZ3RfcmVzZXRfdGltZW91dCgpOworCQkJfQogCi0JCWlmICghbW9k ZXNldCkKLQkJCWZsaXBfbm9uYmxvY2tpbmcoZGlzcGxheSwgcGlwZSwgZmFsc2UsICZmYl9pbmZv KTsKLQkJZWxzZSB7Ci0JCQkvKgotCQkJICogVGhlcmUgYXJlIDIgZGVzaWduIGlzc3VlcyB0aGF0 IHByZXZlbnQgdXMgZnJvbSBkb2luZwotCQkJICogdGhlIHRlc3Qgd2Ugd291bGQgbGlrZSBoZXJl OgotCQkJICoKLQkJCSAqIC0gZHJtX2V2ZW50X3ZibGFuayBkb2Vzbid0IHNldCBjcnRjX2lkLCBz byBpZiB3ZQotCQkJICogICB1c2UgZXZlbnRzIHdlIGRvbid0IGtub3cgd2hpY2ggcGlwZSBmaXJl ZCB0aGUgZXZlbnQsCi0JCQkgKiAgIG5vIHdheSB0byBkaXN0aW5ndWlzaC4KLQkJCSAqIC0gRG9p bmcgYSBtb2Rlc2V0IG1heSBhZGQgdW5yZWxhdGVkIHBpcGVzLCBhbmQgZmFpbCB3aXRoCi0JCQkg KiAgIC1FQlVTWSBpZiBhIHBhZ2UgZmxpcCBpcyBxdWV1ZWQgb24gb25lIG9mIHRob3NlLgotCQkJ ICoKLQkJCSAqIFdvcmsgYXJvdW5kIGl0IGJ5IG5vdCBzZXR0aW5nIGFuIGV2ZW50LCBidXQgZG9p bmcgYSBzeW5jaHJvbm91cwotCQkJICogY29tbWl0IHRvIHdhaXQgZm9yIGNvbXBsZXRpb24sIGFu ZCBxdWV1ZSB0aGUgcGFnZSBmbGlwIGFuZCBtb2Rlc2V0Ci0JCQkgKiBpbiB0aGUgc2FtZSBjb21t aXQuCi0JCQkgKi8KLQotCQkJaWd0X3BsYW5lX3NldF9mYihpZ3Rfb3V0cHV0X2dldF9wbGFuZV90 eXBlKG91dHB1dCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSksICZmYl9pbmZvKTsKLQkJCWlndF9v dXRwdXRfc2V0X3BpcGUob3V0cHV0MiwgKG5sb29wcyAmIDEpID8gUElQRV9OT05FIDogcGlwZTIp OwotCQkJaWd0X2Rpc3BsYXlfY29tbWl0X2F0b21pYyhkaXNwbGF5LCBEUk1fTU9ERV9BVE9NSUNf QUxMT1dfTU9ERVNFVCB8IERSTV9NT0RFX0FUT01JQ19OT05CTE9DSywgTlVMTCk7CisJCQlnb3Rv IGRvbmU7CiAJCX0KKwl9IGVsc2UgeworCQl2Ymxhbmtfc3RhcnQgPSBnZXRfdmJsYW5rKGRpc3Bs YXktPmRybV9mZCwgcGlwZSwgRFJNX1ZCTEFOS19ORVhUT05NSVNTKTsKKwkJZmxpcF9ub25ibG9j a2luZyhkaXNwbGF5LCBwaXBlLCBhdG9taWMsICZmYl9pbmZvLCAodm9pZCopKHB0cmRpZmZfdCl2 Ymxhbmtfc3RhcnQpOwogCi0JCWlndF9hc3NlcnRfZXEoZ2V0X3ZibGFuayhkaXNwbGF5LT5kcm1f ZmQsIHBpcGUsIDApLCB2Ymxhbmtfc3RhcnQpOwotCi0JCWRvX2lvY3RsKGRpc3BsYXktPmRybV9m ZCwgRFJNX0lPQ1RMX01PREVfQ1VSU09SLCAmYXJnW25sb29wcyAmIDFdKTsKLQkJaWYgKCFtb2Rl c2V0KSB7Ci0JCQlkb19pb2N0bChkaXNwbGF5LT5kcm1fZmQsIERSTV9JT0NUTF9NT0RFX0NVUlNP UiwgJmFyZzJbbmxvb3BzICYgMV0pOwotCQkJZG9faW9jdGwoZGlzcGxheS0+ZHJtX2ZkLCBEUk1f SU9DVExfTU9ERV9DVVJTT1IsICZhcmdbbmxvb3BzICYgMV0pOwotCQkJZG9faW9jdGwoZGlzcGxh eS0+ZHJtX2ZkLCBEUk1fSU9DVExfTU9ERV9DVVJTT1IsICZhcmcyW25sb29wcyAmIDFdKTsKKwkJ dmJsYW5rX3N0YXJ0ID0gZ2V0X3ZibGFuayhkaXNwbGF5LT5kcm1fZmQsIHBpcGUyLCBEUk1fVkJM QU5LX05FWFRPTk1JU1MpOworCQlmbGlwX25vbmJsb2NraW5nKGRpc3BsYXksIHBpcGUyLCBhdG9t aWMsICZmYjJfaW5mbywgKHZvaWQqKShwdHJkaWZmX3QpdmJsYW5rX3N0YXJ0KTsKKwl9CiAKLQkJ CWlndF9hc3NlcnRfZXEoZ2V0X3ZibGFuayhkaXNwbGF5LT5kcm1fZmQsIHBpcGUsIDApLCB2Ymxh bmtfc3RhcnQpOworCXZibGFua19tYXRjaGVzID0gZmFsc2U7CisJd2hpbGUgKG5sb29wcykgewor CQlzaGFyZWRbMV0gPSBubG9vcHMgJiAxOwogCisJCWlmICghbW9kZXNldCB8fCBubG9vcHMgPiAx KQogCQkJaWd0X3NldF90aW1lb3V0KDEsICJTdHVjayBwYWdlIGZsaXAiKTsKLQkJCWlndF9pZ25v cmVfd2FybihyZWFkKGRpc3BsYXktPmRybV9mZCwgJnZibCwgc2l6ZW9mKHZibCkpKTsKLQkJCWln dF9hc3NlcnRfZXEoZ2V0X3ZibGFuayhkaXNwbGF5LT5kcm1fZmQsIHBpcGUsIDApLCB2Ymxhbmtf c3RhcnQgKyAxKTsKLQkJCWlndF9yZXNldF90aW1lb3V0KCk7Ci0JCX0gZWxzZSB7Ci0JCQlkb19p b2N0bChkaXNwbGF5LT5kcm1fZmQsIERSTV9JT0NUTF9NT0RFX0NVUlNPUiwgJmFyZzJbbmxvb3Bz ICYgMV0pOworCQllbHNlCisJCQlpZ3Rfc2V0X3RpbWVvdXQoMzUsICJTdHVjayBtb2Rlc2V0Iik7 CisJCWlndF9hc3NlcnRfZXEocmVhZChkaXNwbGF5LT5kcm1fZmQsICZ2YmwsIHNpemVvZih2Ymwp KSwgc2l6ZW9mKHZibCkpOworCQlpZ3RfcmVzZXRfdGltZW91dCgpOworCisJCXZibGFua19zdGFy dCA9IHZibC51c2VyX2RhdGE7CisJCWlmICghbW9kZXNldCkKKwkJCWlndF9hc3NlcnRfZXEodmJs LnNlcXVlbmNlLCB2Ymxhbmtfc3RhcnQgKyAxKTsKKworCQlpZiAodmJsYW5rX3N0YXJ0ICYmIHZi bC5zZXF1ZW5jZSA9PSB2Ymxhbmtfc3RhcnQgKyAxKQorCQkJdmJsYW5rX21hdGNoZXMgPSB0cnVl OworCisJCS8qIERvIG5vdCByZXF1ZXVlIG9uIHRoZSBsYXN0IDIgZXZlbnRzLiAqLworCQlpZiAo bmxvb3BzIDw9IDIpIHsKKwkJCW5sb29wcy0tOworCQkJY29udGludWU7CiAJCX0KIAotCQlpZiAo bW9kZXNldCkgewotCQkJLyogd2FpdCBmb3IgcGVuZGluZyBtb2Rlc2V0IGFuZCBwYWdlIGZsaXAg dG8gY29tcGxldGUsIHRvIHByZXZlbnQgLUVCVVNZICovCi0JCQlpZ3RfcGlwZV9yZWZyZXNoKGRp c3BsYXksIHBpcGUsIGZhbHNlKTsKLQkJCWlndF9waXBlX3JlZnJlc2goZGlzcGxheSwgcGlwZTIs IGZhbHNlKTsKLQkJCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgQ09NTUlUX0FUT01JQyk7 CisJCWlmICh2YmwuY3J0Y19pZCA9PSBkaXNwbGF5LT5waXBlc1twaXBlXS5jcnRjX2lkKSB7CisJ CQl2Ymxhbmtfc3RhcnQgPSBnZXRfdmJsYW5rKGRpc3BsYXktPmRybV9mZCwgcGlwZSwgRFJNX1ZC TEFOS19ORVhUT05NSVNTKTsKKwkJCWZsaXBfbm9uYmxvY2tpbmcoZGlzcGxheSwgcGlwZSwgYXRv bWljLCAmZmJfaW5mbywgKHZvaWQqKShwdHJkaWZmX3QpdmJsYW5rX3N0YXJ0KTsKKwkJfSBlbHNl IHsKKwkJCWlndF9hc3NlcnQodmJsLmNydGNfaWQgPT0gZGlzcGxheS0+cGlwZXNbcGlwZTJdLmNy dGNfaWQpOworCisJCQlubG9vcHMtLTsKKworCQkJaWYgKCFtb2Rlc2V0KSB7CisJCQkJdmJsYW5r X3N0YXJ0ID0gZ2V0X3ZibGFuayhkaXNwbGF5LT5kcm1fZmQsIHBpcGUyLCBEUk1fVkJMQU5LX05F WFRPTk1JU1MpOworCQkJCWZsaXBfbm9uYmxvY2tpbmcoZGlzcGxheSwgcGlwZTIsIGF0b21pYywg JmZiMl9pbmZvLCAodm9pZCopKHB0cmRpZmZfdCl2Ymxhbmtfc3RhcnQpOworCQkJfSBlbHNlIHsK KwkJCQlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dDIsIGVuYWJsZWQgPyBQSVBFX05PTkUgOiBw aXBlMik7CisKKwkJCQlpZ3Rfc2V0X3RpbWVvdXQoMSwgIlNjaGVkdWxpbmcgbW9kZXNldFxuIik7 CisJCQkJZG8geworCQkJCQlyZXQgPSBpZ3RfZGlzcGxheV90cnlfY29tbWl0X2F0b21pYyhkaXNw bGF5LCBmbGFncywgTlVMTCk7CisJCQkJfSB3aGlsZSAocmV0ID09IC1FQlVTWSk7CisJCQkJaWd0 X2Fzc2VydCghcmV0KTsKKwkJCQlpZ3RfcmVzZXRfdGltZW91dCgpOworCisJCQkJZW5hYmxlZCA9 ICFlbmFibGVkOworCQkJfQogCQl9CiAJfQogCisJaWd0X2Fzc2VydF9mKHZibGFua19tYXRjaGVz LCAiRHVyaW5nIG1vZGVzZXQgYXQgbGVhc3QgMSBwYWdlIGZsaXAgbmVlZHMgdG8gbWF0Y2ghXG4i KTsKKworZG9uZToKKwlzaGFyZWRbMF0gPSAxOworCWlndF93YWl0Y2hpbGRyZW4oKTsKKwogCWln dF9yZW1vdmVfZmIoZGlzcGxheS0+ZHJtX2ZkLCAmZmJfaW5mbyk7CiAJaWd0X3JlbW92ZV9mYihk aXNwbGF5LT5kcm1fZmQsICZmYjJfaW5mbyk7CiAJaWd0X3JlbW92ZV9mYihkaXNwbGF5LT5kcm1f ZmQsICZjdXJzb3JfZmIpOwpAQCAtOTgyLDcgKzEwNjYsNyBAQCBzdGF0aWMgdm9pZCBjdXJzb3Jf dnNfZmxpcChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIGZsaXBfdGVzdCBtb2RlLCBpbnQg bmxvbwogCiAJCXN3aXRjaCAobW9kZSkgewogCQlkZWZhdWx0OgotCQkJZmxpcF9ub25ibG9ja2lu ZyhkaXNwbGF5LCBwaXBlLCBtb2RlID49IGZsaXBfdGVzdF9hdG9taWMsICZmYl9pbmZvKTsKKwkJ CWZsaXBfbm9uYmxvY2tpbmcoZGlzcGxheSwgcGlwZSwgbW9kZSA+PSBmbGlwX3Rlc3RfYXRvbWlj LCAmZmJfaW5mbywgTlVMTCk7CiAJCQlicmVhazsKIAkJY2FzZSBmbGlwX3Rlc3RfYXRvbWljX3Ry YW5zaXRpb25zOgogCQljYXNlIGZsaXBfdGVzdF9hdG9taWNfdHJhbnNpdGlvbnNfdmFyeWluZ19z aXplOgpAQCAtOTkzLDcgKzEwNzcsNyBAQCBzdGF0aWMgdm9pZCBjdXJzb3JfdnNfZmxpcChpZ3Rf ZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIGZsaXBfdGVzdCBtb2RlLCBpbnQgbmxvbwogCQlpZ3Rf YXNzZXJ0X2VxKHJlYWQoZGlzcGxheS0+ZHJtX2ZkLCAmdmJsLCBzaXplb2YodmJsKSksIHNpemVv Zih2YmwpKTsKIAkJdmJsYW5rX3N0YXJ0ID0gdmJsYW5rX2xhc3QgPSB2Ymwuc2VxdWVuY2U7CiAJ CWZvciAoaW50IG4gPSAwOyBuIDwgdnJlZnJlc2ggLyAyOyBuKyspIHsKLQkJCWZsaXBfbm9uYmxv Y2tpbmcoZGlzcGxheSwgcGlwZSwgbW9kZSA+PSBmbGlwX3Rlc3RfYXRvbWljLCAmZmJfaW5mbyk7 CisJCQlmbGlwX25vbmJsb2NraW5nKGRpc3BsYXksIHBpcGUsIG1vZGUgPj0gZmxpcF90ZXN0X2F0 b21pYywgJmZiX2luZm8sIE5VTEwpOwogCiAJCQlpZ3RfYXNzZXJ0X2VxKHJlYWQoZGlzcGxheS0+ ZHJtX2ZkLCAmdmJsLCBzaXplb2YodmJsKSksIHNpemVvZih2YmwpKTsKIAkJCWlmICh2Ymwuc2Vx dWVuY2UgIT0gdmJsYW5rX2xhc3QgKyAxKSB7CkBAIC0xMDgzLDE0ICsxMTY3LDE0IEBAIHN0YXRp YyB2b2lkIHR3b19zY3JlZW5zX2N1cnNvcl92c19mbGlwKGlndF9kaXNwbGF5X3QgKmRpc3BsYXks IGludCBubG9vcHMsIGJvb2wKIAkJCXNoYXJlZFtjaGlsZF0gPSBjb3VudDsKIAkJfQogCi0JCWZs aXBfbm9uYmxvY2tpbmcoZGlzcGxheSwgcGlwZVswXSwgYXRvbWljLCAmZmJfaW5mb1swXSk7Ci0J CWZsaXBfbm9uYmxvY2tpbmcoZGlzcGxheSwgcGlwZVsxXSwgYXRvbWljLCAmZmJfaW5mb1sxXSk7 CisJCWZsaXBfbm9uYmxvY2tpbmcoZGlzcGxheSwgcGlwZVswXSwgYXRvbWljLCAmZmJfaW5mb1sw XSwgKHZvaWQgKikwVUwpOworCQlmbGlwX25vbmJsb2NraW5nKGRpc3BsYXksIHBpcGVbMV0sIGF0 b21pYywgJmZiX2luZm9bMV0sICh2b2lkICopMVVMKTsKIAogCQlmb3IgKGludCBuID0gMDsgbiA8 IHZyZWZyZXNoWzBdIC8gMiArIHZyZWZyZXNoWzFdIC8gMjsgbisrKSB7Ci0JCQlpbnQgY2hpbGQ7 CisJCQl1bnNpZ25lZCBsb25nIGNoaWxkOwogCiAJCQlpZ3RfYXNzZXJ0X2VxKHJlYWQoZGlzcGxh eS0+ZHJtX2ZkLCAmdmJsLCBzaXplb2YodmJsKSksIHNpemVvZih2YmwpKTsKLQkJCWNoaWxkID0g dmJsLnVzZXJfZGF0YSA9PSAodW5zaWduZWQgbG9uZykmZmJfaW5mb1sxXTsKKwkJCWNoaWxkID0g dmJsLnVzZXJfZGF0YTsKIAogCQkJaWYgKCFkb25lW2NoaWxkXSsrKQogCQkJCXZibGFua19zdGFy dFtjaGlsZF0gPSB2Ymwuc2VxdWVuY2U7CkBAIC0xMTAxLDcgKzExODUsNyBAQCBzdGF0aWMgdm9p ZCB0d29fc2NyZWVuc19jdXJzb3JfdnNfZmxpcChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBpbnQg bmxvb3BzLCBib29sCiAJCQl2YmxhbmtfbGFzdFtjaGlsZF0gPSB2Ymwuc2VxdWVuY2U7CiAKIAkJ CWlmIChkb25lW2NoaWxkXSA8IHZyZWZyZXNoW2NoaWxkXSAvIDIpIHsKLQkJCQlmbGlwX25vbmJs b2NraW5nKGRpc3BsYXksIHBpcGVbY2hpbGRdLCBhdG9taWMsICZmYl9pbmZvW2NoaWxkXSk7CisJ CQkJZmxpcF9ub25ibG9ja2luZyhkaXNwbGF5LCBwaXBlW2NoaWxkXSwgYXRvbWljLCAmZmJfaW5m b1tjaGlsZF0sICh2b2lkICopY2hpbGQpOwogCQkJfSBlbHNlIHsKIAkJCQlpZ3RfYXNzZXJ0X2x0 ZSh2Ymwuc2VxdWVuY2UsIHZibGFua19zdGFydFtjaGlsZF0gKyA1ICogdnJlZnJlc2hbY2hpbGRd IC8gOCk7CiAKQEAgLTExNjMsNyArMTI0Nyw3IEBAIHN0YXRpYyB2b2lkIGZsaXBfdnNfY3Vyc29y X2NyYyhpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBib29sIGF0b21pYykKIAlmb3IgKGludCBpID0g MTsgaSA+PSAwOyBpLS0pIHsKIAkJdmJsYW5rX3N0YXJ0ID0gZ2V0X3ZibGFuayhkaXNwbGF5LT5k cm1fZmQsIHBpcGUsIERSTV9WQkxBTktfTkVYVE9OTUlTUyk7CiAKLQkJZmxpcF9ub25ibG9ja2lu ZyhkaXNwbGF5LCBwaXBlLCBhdG9taWMsICZmYl9pbmZvKTsKKwkJZmxpcF9ub25ibG9ja2luZyhk aXNwbGF5LCBwaXBlLCBhdG9taWMsICZmYl9pbmZvLCBOVUxMKTsKIAkJZG9faW9jdGwoZGlzcGxh eS0+ZHJtX2ZkLCBEUk1fSU9DVExfTU9ERV9DVVJTT1IsICZhcmdbaV0pOwogCiAJCWlndF9hc3Nl cnRfZXEoZ2V0X3ZibGFuayhkaXNwbGF5LT5kcm1fZmQsIHBpcGUsIDApLCB2Ymxhbmtfc3RhcnQp OwpAQCAtMTI0Nyw3ICsxMzMxLDcgQEAgc3RhdGljIHZvaWQgZmxpcF92c19jdXJzb3JfYnVzeV9j cmMoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgYm9vbCBhdG9taWMpCiAKIAkJdmJsYW5rX3N0YXJ0 ID0gZ2V0X3ZibGFuayhkaXNwbGF5LT5kcm1fZmQsIHBpcGUsIERSTV9WQkxBTktfTkVYVE9OTUlT Uyk7CiAKLQkJZmxpcF9ub25ibG9ja2luZyhkaXNwbGF5LCBwaXBlLCBhdG9taWMsICZmYl9pbmZv WzFdKTsKKwkJZmxpcF9ub25ibG9ja2luZyhkaXNwbGF5LCBwaXBlLCBhdG9taWMsICZmYl9pbmZv WzFdLCBOVUxMKTsKIAkJZG9faW9jdGwoZGlzcGxheS0+ZHJtX2ZkLCBEUk1fSU9DVExfTU9ERV9D VVJTT1IsICZhcmdbaV0pOwogCiAJCWlndF9hc3NlcnRfZXEoZ2V0X3ZibGFuayhkaXNwbGF5LT5k cm1fZmQsIHBpcGUsIDApLCB2Ymxhbmtfc3RhcnQpOwpAQCAtMTM0Nyw3ICsxNDMxLDcgQEAgaWd0 X21haW4KIAkJdHdvX3NjcmVlbnNfZmxpcF92c19jdXJzb3IoJmRpc3BsYXksIDgsIGZhbHNlLCBm YWxzZSk7CiAKIAlpZ3Rfc3VidGVzdCgiMngtZmxpcC12cy1jdXJzb3ItYXRvbWljIikKLQkJdHdv X3NjcmVlbnNfZmxpcF92c19jdXJzb3IoJmRpc3BsYXksIDQsIGZhbHNlLCB0cnVlKTsKKwkJdHdv X3NjcmVlbnNfZmxpcF92c19jdXJzb3IoJmRpc3BsYXksIDgsIGZhbHNlLCB0cnVlKTsKIAogCWln dF9zdWJ0ZXN0KCIyeC1jdXJzb3ItdnMtZmxpcC1sZWdhY3kiKQogCQl0d29fc2NyZWVuc19jdXJz b3JfdnNfZmxpcCgmZGlzcGxheSwgOCwgZmFsc2UpOwpAQCAtMTM2MiwxMyArMTQ0NiwxMyBAQCBp Z3RfbWFpbgogCQl0d29fc2NyZWVuc19jdXJzb3JfdnNfZmxpcCgmZGlzcGxheSwgNTAsIGZhbHNl KTsKIAogCWlndF9zdWJ0ZXN0KCIyeC1ub25ibG9ja2luZy1tb2Rlc2V0LXZzLWN1cnNvci1hdG9t aWMiKQotCQl0d29fc2NyZWVuc19mbGlwX3ZzX2N1cnNvcigmZGlzcGxheSwgOCwgdHJ1ZSwgdHJ1 ZSk7CisJCXR3b19zY3JlZW5zX2ZsaXBfdnNfY3Vyc29yKCZkaXNwbGF5LCA0LCB0cnVlLCB0cnVl KTsKIAogCWlndF9zdWJ0ZXN0KCIyeC1jdXJzb3ItdnMtZmxpcC1hdG9taWMiKQogCQl0d29fc2Ny ZWVuc19jdXJzb3JfdnNfZmxpcCgmZGlzcGxheSwgOCwgdHJ1ZSk7CiAKIAlpZ3Rfc3VidGVzdCgi MngtbG9uZy1ub25ibG9ja2luZy1tb2Rlc2V0LXZzLWN1cnNvci1hdG9taWMiKQotCQl0d29fc2Ny ZWVuc19mbGlwX3ZzX2N1cnNvcigmZGlzcGxheSwgMTUwLCB0cnVlLCB0cnVlKTsKKwkJdHdvX3Nj cmVlbnNfZmxpcF92c19jdXJzb3IoJmRpc3BsYXksIDE1LCB0cnVlLCB0cnVlKTsKIAogCWlndF9z dWJ0ZXN0KCIyeC1sb25nLWN1cnNvci12cy1mbGlwLWF0b21pYyIpCiAJCXR3b19zY3JlZW5zX2N1 cnNvcl92c19mbGlwKCZkaXNwbGF5LCA1MCwgdHJ1ZSk7Ci0tIAoyLjE1LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=