From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Mika Kuoppala In-Reply-To: <20191205012238.214924-1-chris@chris-wilson.co.uk> References: <20191205012238.214924-1-chris@chris-wilson.co.uk> Date: Thu, 05 Dec 2019 12:18:34 +0200 Message-ID: <871rtjt6rp.fsf@gaia.fi.intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t] i915/gem_exec_parse_blt: Fix COND_BBEND used by bb-start-(cmd|far) 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: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-ID: Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gQ29ycmVj dCB0aGUgQ09ORF9CQkVORCBpbnN0cnVjdGlvbiB0byBwZXJmb3JtIHRoZSBjb21wYXJlIGFuZCBh cHBseSB0aGUKPiByZWxvY2F0aW9uIHNvIHRoYXQgaXQgbG9va3MgYXQgdGhlIGNvcnJlY3QgYWRk cmVzcy4gSW4gdGhlIHByb2Nlc3MsCj4gcHJlcGFyZSBmb3IgcGlwZWxpbmVkIGZhaWx1cmVzLgo+ Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ Cj4gQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgo+IC0t LQo+ICB0ZXN0cy9pOTE1L2dlbV9leGVjX3BhcnNlX2JsdC5jIHwgMTE2ICsrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCA1 NSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9leGVjX3BhcnNl X2JsdC5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19wYXJzZV9ibHQuYwo+IGluZGV4IDU4ZDFiMmIz Mi4uODU0YzU5ODYzIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfcGFyc2VfYmx0 LmMKPiArKysgYi90ZXN0cy9pOTE1L2dlbV9leGVjX3BhcnNlX2JsdC5jCj4gQEAgLTMwLDYgKzMw LDcgQEAKPiAgCj4gICNpbmNsdWRlICJpZ3QuaCIKPiAgI2luY2x1ZGUgImk5MTUvZ2VtX3N1Ym1p c3Npb24uaCIKPiArI2luY2x1ZGUgInN3X3N5bmMuaCIKPiAgCj4gIC8qIFRvIGhlbHAgY3JhZnQg Y29tbWFuZHMga25vd24gdG8gYmUgaW52YWxpZCBhY3Jvc3MgYWxsIGVuZ2luZXMgKi8KPiAgI2Rl ZmluZSBJTlNUUl9DTElFTlRfU0hJRlQJMjkKPiBAQCAtNTMsNiArNTQsMzAgQEAKPiAgCj4gICNk ZWZpbmUgSEFORExFX1NJWkUgIDQwOTYKPiAgCj4gK3N0YXRpYyBpbnQKPiArX19jaGVja2VkX2V4 ZWNidWYoaW50IGk5MTUsIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmViKQo+ICt7 Cj4gKwlpbnQgZmVuY2U7Cj4gKwlpbnQgZXJyOwo+ICsKPiArCWlndF9hc3NlcnQoIShlYi0+Zmxh Z3MgJiBJOTE1X0VYRUNfRkVOQ0VfT1VUKSk7CgpzLyEvLyA/Cgo+ICsJZWItPmZsYWdzIHw9IEk5 MTVfRVhFQ19GRU5DRV9PVVQ7Cj4gKwllcnIgPSBfX2dlbV9leGVjYnVmX3dyKGk5MTUsIGViKTsK PiArCWViLT5mbGFncyAmPSB+STkxNV9FWEVDX0ZFTkNFX09VVDsKPiArCWlmIChlcnIpCj4gKwkJ cmV0dXJuIGVycjsKPiArCj4gKwlmZW5jZSA9IGViLT5yc3ZkMiA+PiAzMjsKPiArCj4gKwlzeW5j X2ZlbmNlX3dhaXQoZmVuY2UsIC0xKTsKPiArCWVyciA9IHN5bmNfZmVuY2Vfc3RhdHVzKGZlbmNl KTsKPiArCWNsb3NlKGZlbmNlKTsKPiArCWlmIChlcnIgPCAwKQo+ICsJCXJldHVybiBlcnI7Cj4g Kwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQKPiAgX19leGVjX2JhdGNoX3Bh dGNoZWQoaW50IGk5MTUsIGludCBlbmdpbmUsCj4gIAkJICAgICB1aW50MzJfdCBjbWRfYm8sIGNv bnN0IHVpbnQzMl90ICpjbWRzLCBpbnQgc2l6ZSwKPiBAQCAtODUsNyArMTEwLDcgQEAgX19leGVj X2JhdGNoX3BhdGNoZWQoaW50IGk5MTUsIGludCBlbmdpbmUsCj4gIAlleGVjYnVmLmJhdGNoX2xl biA9IHNpemU7Cj4gIAlleGVjYnVmLmZsYWdzID0gZW5naW5lOwo+ICAKPiAtCXJldHVybiBfX2dl bV9leGVjYnVmKGk5MTUsICZleGVjYnVmKTsKPiArCXJldHVybiBfX2NoZWNrZWRfZXhlY2J1Zihp OTE1LCAmZXhlY2J1Zik7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGV4ZWNfYmF0Y2hfcGF0Y2hl ZChpbnQgaTkxNSwgaW50IGVuZ2luZSwKPiBAQCAtMTI5LDcgKzE1NCw3IEBAIHN0YXRpYyBpbnQg X19leGVjX2JhdGNoKGludCBpOTE1LCBpbnQgZW5naW5lLCB1aW50MzJfdCBjbWRfYm8sCj4gIAll eGVjYnVmLmJhdGNoX2xlbiA9IHNpemU7Cj4gIAlleGVjYnVmLmZsYWdzID0gZW5naW5lOwo+ICAK PiAtCXJldHVybiAgX19nZW1fZXhlY2J1ZihpOTE1LCAmZXhlY2J1Zik7Cj4gKwlyZXR1cm4gIF9f Y2hlY2tlZF9leGVjYnVmKGk5MTUsICZleGVjYnVmKTsKPiAgfQo+ICAKPiAgI2lmIDAKPiBAQCAt MTg4LDcgKzIxMyw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNfc3BsaXRfYmF0Y2goaW50IGk5MTUsIGlu dCBlbmdpbmUsIGNvbnN0IHVpbnQzMl90ICpjbWRzLAo+ICAJCSAgICAgIDB4OCk7Cj4gIAlleGVj YnVmLmZsYWdzID0gZW5naW5lOwo+ICAKPiAtCWlndF9hc3NlcnRfZXEoX19nZW1fZXhlY2J1Zihp OTE1LCAmZXhlY2J1ZiksIGV4cGVjdGVkX3JldCk7Cj4gKwlpZ3RfYXNzZXJ0X2VxKF9fY2hlY2tl ZF9leGVjYnVmKGk5MTUsICZleGVjYnVmKSwgZXhwZWN0ZWRfcmV0KTsKPiAgCj4gIAlnZW1fY2xv c2UoaTkxNSwgY21kX2JvKTsKPiAgfQo+IEBAIC0yNTEsNyArMjc2LDcgQEAgc3RhdGljIHZvaWQg ZXhlY19iYXRjaF9jaGFpbmVkKGludCBpOTE1LCBpbnQgZW5naW5lLAo+ICAJZXhlY2J1Zi5iYXRj aF9sZW4gPSBzaXplb2YoZmlyc3RfbGV2ZWxfY21kcyk7Cj4gIAlleGVjYnVmLmZsYWdzID0gZW5n aW5lOwo+ICAKPiAtCXJldCA9IF9fZ2VtX2V4ZWNidWYoaTkxNSwgJmV4ZWNidWYpOwo+ICsJcmV0 ID0gX19jaGVja2VkX2V4ZWNidWYoaTkxNSwgJmV4ZWNidWYpOwo+ICAJaWYgKGV4cGVjdGVkX3Jl dHVybiAmJiByZXQgPT0gZXhwZWN0ZWRfcmV0dXJuKQo+ICAJCWdvdG8gb3V0Owo+ICAKPiBAQCAt NDAyLDcgKzQyNyw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfYmJfc2VjdXJlKGNvbnN0IGludCBpOTE1 LCBjb25zdCB1aW50MzJfdCBoYW5kbGUpCj4gIAlleGVjYnVmLmJhdGNoX2xlbiA9IHNpemVvZihi YXRjaF9zZWN1cmUpOwo+ICAJZXhlY2J1Zi5mbGFncyA9IEk5MTVfRVhFQ19CTFQ7Cj4gIAo+IC0J aWd0X2Fzc2VydF9lcShfX2dlbV9leGVjYnVmKGk5MTUsICZleGVjYnVmKSwgLUVBQ0NFUyk7Cj4g KwlpZ3RfYXNzZXJ0X2VxKF9fY2hlY2tlZF9leGVjYnVmKGk5MTUsICZleGVjYnVmKSwgLUVBQ0NF Uyk7Cj4gIH0KPiAgCj4gICNkZWZpbmUgQkJfU1RBUlRfUEFSQU0gMAo+IEBAIC00MTQsMTIgKzQz OSwxMCBAQCBzdGF0aWMgdm9pZCB0ZXN0X2JiX3N0YXJ0KGNvbnN0IGludCBpOTE1LCBjb25zdCB1 aW50MzJfdCBoYW5kbGUsIGludCB0ZXN0KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4 ZWNidWZmZXIyIGV4ZWNidWY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBv YmpbMl07Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgcmVsb2NbM107 Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgcmVsb2NbNF07Cj4gIAlj b25zdCB1aW50MzJfdCB0YXJnZXRfYm8gPSBnZW1fY3JlYXRlKGk5MTUsIDQwOTYpOwo+IC0JdWlu dDMyX3QgKmRzdDsKPiAtCWludCByZXQ7Cj4gIAl1bnNpZ25lZCBpbnQganVtcF9vZmYsIGZvb3Rl cl9wb3M7Cj4gLQljb25zdCB1aW50MzJfdCBiYXRjaF9oZWFkZXJbXSA9IHsKPiArCXVpbnQzMl90 IGJhdGNoWzEwMjRdID0gewo+ICAJCU1JX05PT1AsCj4gIAkJTUlfTk9PUCwKPiAgCQlNSV9OT09Q LAo+IEBAIC00MzIsMTAgKzQ1NSwxMSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2JiX3N0YXJ0KGNvbnN0 IGludCBpOTE1LCBjb25zdCB1aW50MzJfdCBoYW5kbGUsIGludCB0ZXN0KQo+ICAJCTQsCj4gIAkJ MCwKPiAgCQkyLAo+IC0JCU1JX0NPTkRfQkFUQ0hfQlVGRkVSX0VORCB8IDEsCj4gKwkJTUlfQ09O RF9CQVRDSF9CVUZGRVJfRU5EIHwgTUlfRE9fQ09NUEFSRSB8IDIsCj4gIAkJMCwKPiAgCQkwLAo+ IC0JCTAKPiArCQkwLAo+ICsJCU1JX0FSQl9DSEVDSywKPiAgCX07Cj4gIAljb25zdCB1aW50MzJf dCBiYXRjaF9mb290ZXJbXSA9IHsKPiAgCQlNSV9CQVRDSF9CVUZGRVJfU1RBUlQgfCBNSV9CQVRD SF9OT05fU0VDVVJFX0k5NjUgfCAxLAo+IEBAIC00NDMsMTMgKzQ2NywxMCBAQCBzdGF0aWMgdm9p ZCB0ZXN0X2JiX3N0YXJ0KGNvbnN0IGludCBpOTE1LCBjb25zdCB1aW50MzJfdCBoYW5kbGUsIGlu dCB0ZXN0KQo+ICAJCTAsCj4gIAkJTUlfQkFUQ0hfQlVGRkVSX0VORCwKPiAgCX07Cj4gLQl1aW50 MzJfdCBiYXRjaFsxMDI0XTsKPiArCXVpbnQzMl90ICpkc3Q7Cj4gIAo+ICAJaWd0X3JlcXVpcmUo Z2VtX2Nhbl9zdG9yZV9kd29yZChpOTE1LCBJOTE1X0VYRUNfQkxUKSk7Cj4gIAo+IC0JbWVtc2V0 KGJhdGNoLCAwLCBzaXplb2YoYmF0Y2gpKTsKPiAtCW1lbWNweShiYXRjaCwgYmF0Y2hfaGVhZGVy LCBzaXplb2YoYmF0Y2hfaGVhZGVyKSk7Cj4gLQo+ICAJc3dpdGNoICh0ZXN0KSB7Cj4gIAljYXNl IEJCX1NUQVJUX1BBUkFNOgo+ICAJCWp1bXBfb2ZmID0gNSAqIHNpemVvZih1aW50MzJfdCk7Cj4g QEAgLTQ2MCwxMiArNDgxLDEzIEBAIHN0YXRpYyB2b2lkIHRlc3RfYmJfc3RhcnQoY29uc3QgaW50 IGk5MTUsIGNvbnN0IHVpbnQzMl90IGhhbmRsZSwgaW50IHRlc3QpCj4gIAkJYnJlYWs7Cj4gIAlk ZWZhdWx0Ogo+ICAJCWp1bXBfb2ZmID0gMHhmMDBkMDAwMDsKPiArCQlicmVhazsKPiAgCX0KPiAg Cj4gIAlpZiAodGVzdCA9PSBCQl9TVEFSVF9GQVIpCj4gLQkJZm9vdGVyX3BvcyA9IChzaXplb2Yo YmF0Y2gpIC0gc2l6ZW9mKGJhdGNoX2Zvb3RlcikpOwo+ICsJCWZvb3Rlcl9wb3MgPSBzaXplb2Yo YmF0Y2gpIC0gc2l6ZW9mKGJhdGNoX2Zvb3Rlcik7Cj4gIAllbHNlCj4gLQkJZm9vdGVyX3BvcyA9 IHNpemVvZihiYXRjaF9oZWFkZXIpOwo+ICsJCWZvb3Rlcl9wb3MgPSAxNyAqIHNpemVvZih1aW50 MzJfdCk7Cj4gIAo+ICAJbWVtY3B5KGJhdGNoICsgZm9vdGVyX3BvcyAvIHNpemVvZih1aW50MzJf dCksCj4gIAkgICAgICAgYmF0Y2hfZm9vdGVyLCBzaXplb2YoYmF0Y2hfZm9vdGVyKSk7Cj4gQEAg LTQ4MSwyNCArNTAzLDI4IEBAIHN0YXRpYyB2b2lkIHRlc3RfYmJfc3RhcnQoY29uc3QgaW50IGk5 MTUsIGNvbnN0IHVpbnQzMl90IGhhbmRsZSwgaW50IHRlc3QpCj4gIAlyZWxvY1swXS5kZWx0YSA9 IDA7Cj4gIAlyZWxvY1swXS5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ09NTUFORDsK PiAgCXJlbG9jWzBdLndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DT01NQU5EOwo+IC0J cmVsb2NbMF0ucHJlc3VtZWRfb2Zmc2V0ID0gLTE7Cj4gIAo+ICAJcmVsb2NbMV0ub2Zmc2V0ID0g OSAqIHNpemVvZih1aW50MzJfdCk7Cj4gIAlyZWxvY1sxXS50YXJnZXRfaGFuZGxlID0gb2JqWzBd LmhhbmRsZTsKPiAgCXJlbG9jWzFdLmRlbHRhID0gMSAqIHNpemVvZih1aW50MzJfdCk7Cj4gIAly ZWxvY1sxXS5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ09NTUFORDsKPiAgCXJlbG9j WzFdLndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DT01NQU5EOwo+IC0JcmVsb2NbMV0u cHJlc3VtZWRfb2Zmc2V0ID0gLTE7Cj4gIAo+IC0JcmVsb2NbMl0ub2Zmc2V0ID0gZm9vdGVyX3Bv cyArIDEgKiBzaXplb2YodWludDMyX3QpOwo+IC0JcmVsb2NbMl0udGFyZ2V0X2hhbmRsZSA9IG9i alsxXS5oYW5kbGU7Cj4gLQlyZWxvY1syXS5kZWx0YSA9IGp1bXBfb2ZmOwo+ICsJcmVsb2NbMl0u b2Zmc2V0ID0gMTQgKiBzaXplb2YodWludDMyX3QpOwo+ICsJcmVsb2NbMl0udGFyZ2V0X2hhbmRs ZSA9IG9ialswXS5oYW5kbGU7Cj4gKwlyZWxvY1syXS5kZWx0YSA9IDA7Cj4gIAlyZWxvY1syXS5y ZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ09NTUFORDsKPiAgCXJlbG9jWzJdLndyaXRl X2RvbWFpbiA9IDA7Cj4gLQlyZWxvY1syXS5wcmVzdW1lZF9vZmZzZXQgPSAtMTsKPiArCj4gKwly ZWxvY1szXS5vZmZzZXQgPSBmb290ZXJfcG9zICsgMSAqIHNpemVvZih1aW50MzJfdCk7Cj4gKwly ZWxvY1szXS50YXJnZXRfaGFuZGxlID0gb2JqWzFdLmhhbmRsZTsKPiArCXJlbG9jWzNdLmRlbHRh ID0ganVtcF9vZmY7Cj4gKwlyZWxvY1szXS5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5f Q09NTUFORDsKPiArCXJlbG9jWzNdLndyaXRlX2RvbWFpbiA9IDA7Cj4gKwlyZWxvY1szXS5wcmVz dW1lZF9vZmZzZXQgPSAtMTsKCldoeSB3ZSBuZWVkIHRvIHNldCB0aGUgcHJlc3VtZWQgb25seSBp biB0aGlzIGxhc3QgcmVsb2M/CgotTWlrYQoKPiAgCj4gIAlvYmpbMV0ucmVsb2NzX3B0ciA9IHRv X3VzZXJfcG9pbnRlcihyZWxvYyk7Cj4gLQlvYmpbMV0ucmVsb2NhdGlvbl9jb3VudCA9IDM7Cj4g KwlvYmpbMV0ucmVsb2NhdGlvbl9jb3VudCA9IEFSUkFZX1NJWkUocmVsb2MpOwo+ICAKPiAgCW1l bXNldCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNidWYpKTsKPiAgCWV4ZWNidWYuYnVmZmVyc19w dHIgPSB0b191c2VyX3BvaW50ZXIob2JqKTsKPiBAQCAtNTA2LDIxICs1MzIsMjAgQEAgc3RhdGlj IHZvaWQgdGVzdF9iYl9zdGFydChjb25zdCBpbnQgaTkxNSwgY29uc3QgdWludDMyX3QgaGFuZGxl LCBpbnQgdGVzdCkKPiAgCWV4ZWNidWYuYmF0Y2hfbGVuID0gc2l6ZW9mKGJhdGNoKTsKPiAgCWV4 ZWNidWYuZmxhZ3MgPSBJOTE1X0VYRUNfQkxUOwo+ICAKPiAtCWRzdCA9IGdlbV9tbWFwX19jcHUo aTkxNSwgb2JqWzBdLmhhbmRsZSwgMCwgNDA5NiwKPiAtCQkJICAgIFBST1RfUkVBRCB8IFBST1Rf V1JJVEUpOwo+ICsJZHN0ID0gZ2VtX21tYXBfX3djKGk5MTUsIG9ialswXS5oYW5kbGUsIDAsIDQw OTYsIFBST1RfV1JJVEUpOwo+ICAKPiAgCWlndF9hc3NlcnRfZXEoZHN0WzBdLCAwKTsKPiAgCWln dF9hc3NlcnRfZXEoZHN0WzFdLCAwKTsKPiAgCj4gLQlyZXQgPSBfX2dlbV9leGVjYnVmKGk5MTUs ICZleGVjYnVmKTsKPiAtCj4gIAlzd2l0Y2ggKHRlc3QpIHsKPiAgCWNhc2UgQkJfU1RBUlRfUEFS QU06Cj4gLQkJaWd0X2Fzc2VydF9lcShyZXQsIC1FSU5WQUwpOwo+ICsJY2FzZSBCQl9TVEFSVF9P VVQ6Cj4gKwkJaWd0X2Fzc2VydF9lcShfX2NoZWNrZWRfZXhlY2J1ZihpOTE1LCAmZXhlY2J1Ziks IC1FSU5WQUwpOwo+ICAJCWJyZWFrOwo+ICsKPiAgCWNhc2UgQkJfU1RBUlRfQ01EOgo+ICAJY2Fz ZSBCQl9TVEFSVF9GQVI6Cj4gLQkJaWd0X2Fzc2VydF9lcShyZXQsIDApOwo+ICsJCWdlbV9leGVj YnVmKGk5MTUsICZleGVjYnVmKTsKPiAgCj4gIAkJd2hpbGUgKFJFQURfT05DRShkc3RbMF0pID09 IDApCj4gIAkJICAgICAgIDsKPiBAQCAtNTMxLDE5ICs1NTYsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0 X2JiX3N0YXJ0KGNvbnN0IGludCBpOTE1LCBjb25zdCB1aW50MzJfdCBoYW5kbGUsIGludCB0ZXN0 KQo+ICAJCWlndF9hc3NlcnRfZXEoZHN0WzBdLCAxKTsKPiAgCQlpZ3RfYXNzZXJ0X2VxKGRzdFsx XSwgMik7Cj4gIAo+IC0JCWlndF9pbmZvKCJ2YWx1ZXMgbm93ICV4ICV4XG4iLCBkc3RbMF0sIGRz dFsxXSk7Cj4gLQo+ICAJCWRzdFswXSA9IDA7Cj4gLQo+IC0JCWlndF9pbmZvKCJ2YWx1ZXMgbm93 ICV4ICV4XG4iLCBkc3RbMF0sIGRzdFsxXSk7Cj4gLQo+IC0JCWlndF9hc3NlcnRfZXEoZHN0WzBd LCAwKTsKPiAtCQlpZ3RfYXNzZXJ0X2VxKGRzdFsxXSwgMik7Cj4gLQo+IC0JCWJyZWFrOwo+IC0K PiAtCWNhc2UgQkJfU1RBUlRfT1VUOgo+IC0JCWlndF9hc3NlcnRfZXEocmV0LCAtRUlOVkFMKTsK PiArCQlfX3N5bmNfc3luY2hyb25pemUoKTsKPiAgCQlicmVhazsKPiAgCX0KPiAgCj4gQEAgLTg5 Niw3ICs5MTAsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3VuYWxpZ25lZF9qdW1wKGNvbnN0IGludCBp OTE1LCBjb25zdCB1aW50MzJfdCBoYW5kbGUpCj4gIAkJbWVtY3B5KCZiYXRjaFsxXSwgJm9mZnNl dCwgc2l6ZW9mKG9mZnNldCkpOwo+ICAJCWdlbV93cml0ZShpOTE1LCBoYW5kbGUsIDQwMDAsIGJh dGNoLCBzaXplb2YoYmF0Y2gpKTsKPiAgCj4gLQkJaWd0X2Fzc2VydF9mKF9fZ2VtX2V4ZWNidWYo aTkxNSwgJmV4ZWNidWYpID09IC1FSU5WQUwsCj4gKwkJaWd0X2Fzc2VydF9mKF9fY2hlY2tlZF9l eGVjYnVmKGk5MTUsICZleGVjYnVmKSA9PSAtRUlOVkFMLAo+ICAJCQkgICAgICJ1bmFsaWduZWQg anVtcCBhY2NlcHRlZCB0byAlZDsgYmF0Y2g9JTA4eFxuIiwKPiAgCQkJICAgICByZWxvYy5kZWx0 YSwgYmF0Y2hbcmVsb2MuZGVsdGEgLyA0XSk7Cj4gIAl9Cj4gQEAgLTEwMzIsMTkgKzEwNDYsMTEg QEAgaWd0X21haW4KPiAgCWlndF9zdWJ0ZXN0KCJ1bmFsaWduZWQtanVtcCIpCj4gIAkJdGVzdF91 bmFsaWduZWRfanVtcChpOTE1LCBoYW5kbGUpOwo+ICAKPiAtCWlndF9zdWJ0ZXN0X2dyb3VwIHsK PiAtCQlpZ3RfaGFuZ190IGhhbmc7Cj4gLQo+IC0JCWlndF9maXh0dXJlIGlndF9hbGxvd19oYW5n KGk5MTUsIDAsIDApOwo+ICsJaWd0X3N1YnRlc3QoImJiLXN0YXJ0LWNtZCIpCj4gKwkJdGVzdF9i Yl9zdGFydChpOTE1LCBoYW5kbGUsIEJCX1NUQVJUX0NNRCk7Cj4gIAo+IC0JCWlndF9zdWJ0ZXN0 KCJiYi1zdGFydC1jbWQiKQo+IC0JCQl0ZXN0X2JiX3N0YXJ0KGk5MTUsIGhhbmRsZSwgQkJfU1RB UlRfQ01EKTsKPiAtCj4gLQkJaWd0X3N1YnRlc3QoImJiLXN0YXJ0LWZhciIpCj4gLQkJCXRlc3Rf YmJfc3RhcnQoaTkxNSwgaGFuZGxlLCBCQl9TVEFSVF9GQVIpOwo+IC0KPiAtCQlpZ3RfZml4dHVy ZSBpZ3RfZGlzYWxsb3dfaGFuZyhpOTE1LCBoYW5nKTsKPiAtCX0KPiArCWlndF9zdWJ0ZXN0KCJi Yi1zdGFydC1mYXIiKQo+ICsJCXRlc3RfYmJfc3RhcnQoaTkxNSwgaGFuZGxlLCBCQl9TVEFSVF9G QVIpOwo+ICAKPiAgCWlndF9maXh0dXJlIHsKPiAgCQlpZ3Rfc3RvcF9oYW5nX2RldGVjdG9yKCk7 Cj4gLS0gCj4gMi4yNC4wCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==