From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id BCA786EC2F for ; Fri, 3 Apr 2020 17:09:41 +0000 (UTC) Message-ID: From: Paulo Zanoni Date: Fri, 03 Apr 2020 10:09:40 -0700 In-Reply-To: <20200403091704.32232-1-karthik.b.s@intel.com> References: <20200403091704.32232-1-karthik.b.s@intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_async: Add test to validate asynchronous flips 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: Karthik B S , igt-dev@lists.freedesktop.org List-ID: RW0gc2V4LCAyMDIwLTA0LTAzIMOgcyAxNDo0NyArMDUzMCwgS2FydGhpayBCIFMgZXNjcmV2ZXU6 Cj4gQXN5bmNocm9ub3VzIGZsaXBzIGFyZSBpc3N1ZWQgdXNpbmcgdGhlIHBhZ2UgZmxpcCBJT0NU TC4KPiBUaGUgdGVzdCBjb25zaXN0cyBvZiB0d28gc3VidGVzdHMuIFRoZSBmaXJzdCBzdWJ0ZXN0 IHdhaXRzIGZvcgo+IHRoZSBwYWdlIGZsaXAgZXZlbnQgdG8gYmUgcmVjZXZpZWQgYmVmb3JlIGdp dmluZyB0aGUgbmV4dCBmbGlwLAo+IGFuZCB0aGUgc2Vjb25kIHN1YnRlc3QgZG9lc24ndCB3YWl0 IGZvciBwYWdlIGZsaXAgZXZlbnRzLgo+IAo+IFRoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgSU9DVEwg aXMgc3VjY2VzZnVsLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEthcnRoaWsgQiBTIDxrYXJ0aGlrLmIu c0BpbnRlbC5jb20+Cj4gU3VnZ2VzdGVkLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25p QGludGVsLmNvbT4KCkkgZmVlbCBJIGRlc2VydmUgYSBsaXR0bGUgbW9yZSBjcmVkaXQgdGhhbiBq dXN0IGEgU3VnZ2VzdGVkLWJ5IHNpbmNlCnRoaXMgc3RpbGwgaGFzIGEgbG90IG9mIGNvZGUgSSB3 cm90ZSA6KS4KCgo+IC0tLQo+ICB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIHwgICAxICsKPiAgdGVz dHMva21zX2FzeW5jLmMgICAgICB8IDIwNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwo+ICB0ZXN0cy9tZXNvbi5idWlsZCAgICAgIHwgICAxICsKPiAgMyBmaWxlcyBj aGFuZ2VkLCAyMDggaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMva21z X2FzeW5jLmMKPiAKPiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3Rz L01ha2VmaWxlLnNvdXJjZXMKPiBpbmRleCA0ZTQ0Yzk4Yy4uZWVkZjRmY2IgMTAwNjQ0Cj4gLS0t IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+ICsrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMK PiBAQCAtMjksNiArMjksNyBAQCBURVNUU19wcm9ncyA9IFwKPiAgCWZiZGV2IFwKPiAgCWttc18z ZCBcCj4gIAlrbXNfYWRkZmJfYmFzaWMgXAo+ICsJa21zX2FzeW5jIFwKPiAgCWttc19hdG9taWMg XAo+ICAJa21zX2F0b21pY19pbnRlcnJ1cHRpYmxlIFwKPiAgCWttc19hdG9taWNfdHJhbnNpdGlv biBcCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19hc3luYy5jIGIvdGVzdHMva21zX2FzeW5jLmMK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwLi4wZTIxZjlmNgo+IC0tLSAv ZGV2L251bGwKPiArKysgYi90ZXN0cy9rbXNfYXN5bmMuYwo+IEBAIC0wLDAgKzEsMjA2IEBACj4g Ky8qCj4gKyAqIENvcHlyaWdodCDCqSAyMDIwIEludGVsIENvcnBvcmF0aW9uCj4gKyAqCj4gKyAq IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy c29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRl ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4gKyAqIHRvIGRlYWwgaW4g dGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0 YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp c2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0 aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ICsgKiBTb2Z0 d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25k aXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw ZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Cj4gKyAqIHBhcmFncmFwaCkgc2hh bGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0 aGUKPiArICogU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAi QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gKyAqIElN UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVS Q0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg Tk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiArICogVEhFIEFVVEhPUlMgT1Ig Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RI RVIKPiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9S VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ T04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwo+ICsgKiBJ TiBUSEUgU09GVFdBUkUuCj4gKyAqCgogKiBBdXRob3JzOiAgUGF1bG8gWmFub25pIDxlbWFpbD4K ICogICAgICAgICAgIEthcnRoaWsgQiBTIDxlbWFpbD4KCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUg ImlndC5oIgo+ICsjaW5jbHVkZSAiaWd0X2F1eC5oIgo+ICsjaW5jbHVkZSA8cG9sbC5oPgo+ICsK PiArI2RlZmluZSBCVUZTIDQKPiArI2RlZmluZSBXQVJNX1VQX1RJTUUgMgo+ICsjZGVmaW5lIFJV Tl9USU1FIDEwCgpFYWNoIHN1YnRlc3QgdGFrZXMgMTIgc2Vjb25kcyB0byBydW4sIGJ5IGRlZmlu aXRpb24gKHNhbnMgdGltZW91dHMpLgpNYXliZSBmb3IgSUdUIHdlIHdhbnQgdG8gbWFrZSB0aGlz IGEgbGl0dGxlIGZhc3Rlcj8gV2hlbiBJIHdyb3RlIHRoaXMKY29kZSBJIG5lZWRlZCB2ZXJ5IHBy ZWNpc2UgRlBTIHZhbHVlcywgSUdUIG9ubHkgbmVlZHMgdG8gYXNzZXJ0IHRoaW5ncwphcmUgd29y a2luZyBhcyBleHBlY3RlZC4KCjFzIFdBUk1fVVBfVElNRSBhbmQgNHMgUlVOX1RJTUUgYXJlIHBy b2JhYmx5IHZlcnkgZmluZSwgYW5kIGV2ZW4gbGVzcwp0aGFuIHRoYXQgaXMgYWxzbyBwcm9iYWJs eSBmaW5lIGZvciBJR1QuIFBsZWFzZSBwbGF5IHdpdGggdGhlIHR1bmFibGVzLgoKSUdUIG5lZWRz IHRvIGJlIGFzIGZhc3QgYXMgaXQgY2FuIHdoaWxlIHN0aWxsIGFjaGlldmluZyAxMDAlCnJlbGlh YmlsaXR5LgoKPiArCj4gK3R5cGVkZWYgc3RydWN0IHsKPiArCWludCBkcm1fZmQ7Cj4gKwlpZ3Rf ZGlzcGxheV90IGRpc3BsYXk7Cj4gK30gZGF0YV90Owo+ICsKPiArc3RhdGljIGRybU1vZGVDb25u ZWN0b3JQdHIgZmluZF9jb25uZWN0b3JfZm9yX21vZGVzZXQoZGF0YV90ICpkYXRhKQo+ICt7Cj4g KwlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKPiArCWRybU1vZGVDb25uZWN0b3JQdHIgcmV0ID0gTlVM TDsKPiArCj4gKwlmb3JfZWFjaF9jb25uZWN0ZWRfb3V0cHV0KCZkYXRhLT5kaXNwbGF5LCBvdXRw dXQpIHsKPiArCQlpZiAob3V0cHV0LT5jb25maWcuY29ubmVjdG9yLT5jb3VudF9tb2RlcyA+IDAp IHsKPiArCQkJcmV0ID0gb3V0cHV0LT5jb25maWcuY29ubmVjdG9yOwo+ICsJCQlicmVhazsKPiAr CQl9Cj4gKwl9Cj4gKwo+ICsJaWd0X2Fzc2VydF9mKHJldCwgIkNvbm5lY3RvciBOT1QgZm91bmRc biIpOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgZmxpcF9oYW5kbGVy KGludCBmZF8sIHVuc2lnbmVkIGludCBzZXF1ZW5jZSwgdW5zaWduZWQgaW50IHR2X3NlYywKPiAr CQkJIHVuc2lnbmVkIGludCB0dl91c2VjLCB2b2lkICpfZGF0YSkKPiArewo+ICsJc3RhdGljIHVu c2lnbmVkIGludCBsYXN0X21zOwo+ICsJdW5zaWduZWQgaW50IGN1cl9tczsKPiArCj4gKwlpZ3Rf YXNzZXJ0KF9kYXRhID09IE5VTEwpOwo+ICsKPiArCWN1cl9tcyA9IHR2X3NlYyAqIDEwMDAgKyB0 dl91c2VjIC8gMTAwMDsKPiArCj4gKwlpZ3RfZGVidWcoIkZsaXAgaW50ZXJ2YWw6ICVkbXNcbiIs IGN1cl9tcyAtIGxhc3RfbXMpOwo+ICsKPiArCWxhc3RfbXMgPSBjdXJfbXM7Cj4gKwo+ICsJaWd0 X2RlYnVnKCJGbGlwIGV2ZW50IHJlY2VpdmVkLCBmZDolZCBzZXE6JXUgdHZfc2VjOiV1LCAiCj4g KwkJICAidHZfdXNlYzoldSBkYXRhOiVwXG4iLAo+ICsJCSAgZmRfLCBzZXF1ZW5jZSwgdHZfc2Vj LCB0dl91c2VjLCBfZGF0YSk7CgpJbiBteSBvcmlnaW5hbCBpbXBsZW1lbnRhdGlvbiB0aGVzZSBt ZXNzYWdlcyB3ZXJlIHVuZGVyIGlmICgwKSBiZWNhdXNlCnRoZXkgc2lnbmlmaWNhbnRseSBhZmZl Y3RlZCBGUFMuCgpJIHRoaW5rIHdlIHNob3VsZCBwcm9iYWJseSBoYXZlIHNvbWUga2luZCBvZiBp Z3RfYXNzZXJ0KCkgaGVyZSBpbnN0ZWFkCm9mIHByaW50aW5nIHN0dWZmLiBUaGlzIHByb2dyYW0g aXMgc3VwcG9zZWQgdG8gYWNoaWV2ZSB0aG91c2FuZHMgb2YKZnJhbWVzIHBlciBzZWNvbmQgZXZl biBvbiBzbG93IGhhcmR3YXJlIChJIHRoaW5rIEkgZ290IDI1MDAgb24gYSBzbG93IApHTEs/KS4g QW55IGludGVydmFscyB0aGF0IHJlc2VtYmxlIHRoZSBtb25pdG9yIHJlZnJlc2ggcmF0ZSBieSBh IDEweAplcnJvciByYXRlIGFyZSBwcm9iYWJseSBmYWlsdXJlcy4KCj4gK30KPiArCj4gK3N0YXRp YyB2b2lkIHdhaXRfZmxpcF9ldmVudChkYXRhX3QgKmRhdGEpCj4gK3sKPiArCWludCByZXQ7Cj4g Kwlkcm1FdmVudENvbnRleHQgZXZjdHg7Cj4gKwlzdHJ1Y3QgcG9sbGZkIHBmZDsKPiArCXN0YXRp YyBpbnQgdGltZW91dHMgPSAwOwo+ICsKPiArCWV2Y3R4LnZlcnNpb24gPSAyOwo+ICsJZXZjdHgu dmJsYW5rX2hhbmRsZXIgPSBOVUxMOwo+ICsJZXZjdHgucGFnZV9mbGlwX2hhbmRsZXIgPSBmbGlw X2hhbmRsZXI7Cj4gKwo+ICsJcGZkLmZkID0gZGF0YS0+ZHJtX2ZkOwo+ICsJcGZkLmV2ZW50cyA9 IFBPTExJTjsKPiArCXBmZC5yZXZlbnRzID0gMDsKPiArCj4gKwlyZXQgPSBwb2xsKCZwZmQsIDEs IDEwMDAwKTsKCjEwcyB0aW1lb3V0cyBhcmUgbm90IGlndC1mcmllbmRseS4gSSB1c2VkIGEgZ2lh bnQgbnVtYmVyIGJlY2F1c2UgSQp3YW50ZWQgdG8gcmVhZCB0aGUgbG9ncy4gIElHVCBkb2Vzbid0 IG5lZWQgbm9yIHdhbnQgMTBzIHRpbWVvdXRzLgoKCj4gKwo+ICsJc3dpdGNoIChyZXQpIHsKPiAr CWNhc2UgMDoKPiArCQl0aW1lb3V0cysrOwo+ICsJCWlndF9kZWJ1ZygiUG9sbCB0aW1lb3V0ICVk IVxuIiwgdGltZW91dHMpOwoKSSBkb24ndCByZW1lbWJlciBleGFjdGx5LCBidXQgSSB0aGluayBh IHRpbWVvdXQgd2FzIGEgZmFpbHVyZT8gTWF5YmUgCmlndF9hc3NlcnQoKSBoZXJlPwoKCj4gKwkJ YnJlYWs7Cj4gKwljYXNlIDE6Cj4gKwkJcmV0ID0gZHJtSGFuZGxlRXZlbnQoZGF0YS0+ZHJtX2Zk LCAmZXZjdHgpOwo+ICsJCWlndF9hc3NlcnQocmV0ID09IDApOwo+ICsJCWJyZWFrOwo+ICsJZGVm YXVsdDoKPiArCQkvKiB1bmV4cGVjdGVkICovCj4gKwkJaWd0X2Fzc2VydCgwKTsKPiArCX0KPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgbWFrZV9mYihkYXRhX3QgKmRhdGEsIHN0cnVjdCBpZ3RfZmIg KmZiLAo+ICsJCSAgICBkcm1Nb2RlQ29ubmVjdG9yUHRyIGNvbm5lY3RvciwgaW50IGluZGV4KQo+ ICt7Cj4gKwl1aW50MzJfdCB3aWR0aCwgaGVpZ2h0Owo+ICsJaW50IHJlY193aWR0aDsKPiArCj4g Kwl3aWR0aCA9IGNvbm5lY3Rvci0+bW9kZXNbMF0uaGRpc3BsYXk7Cj4gKwloZWlnaHQgPSBjb25u ZWN0b3ItPm1vZGVzWzBdLnZkaXNwbGF5Owo+ICsKPiArCXJlY193aWR0aCA9IHdpZHRoIC8gKEJV RlMgKiAyKTsKPiArCj4gKwlpZ3RfY3JlYXRlX2ZiKGRhdGEtPmRybV9mZCwgd2lkdGgsIGhlaWdo dCwgRFJNX0ZPUk1BVF9BUkdCODg4OCwKPiArCQkgICAgICBMT0NBTF9JOTE1X0ZPUk1BVF9NT0Rf WF9USUxFRCwgZmIpOwo+ICsJaWd0X2RyYXdfZmlsbF9mYihkYXRhLT5kcm1fZmQsIGZiLCAweDg4 KTsKPiArCWlndF9kcmF3X3JlY3RfZmIoZGF0YS0+ZHJtX2ZkLCBOVUxMLCBOVUxMLCBmYiwgSUdU X0RSQVdfTU1BUF9DUFUsCj4gKwkJCSByZWNfd2lkdGgqMityZWNfd2lkdGgqaW5kZXgsIGhlaWdo dC80LAo+ICsJCQkgcmVjX3dpZHRoLCBoZWlnaHQvMiwgcmFuZCgpKTsKClBsZWFzZSBmb2xsb3cg dGhlIElHVCBjb2Rpbmcgc3R5bGUgcmVnYXJkaW5nIHNwYWNlcy4KCj4gK30KPiArCj4gK3N0YXRp YyB2b2lkIHRlc3RfYXN5bmNfZmxpcChkYXRhX3QgKmRhdGEsIGJvb2wgd2FpdF9mb3JfZmxpcHMp Cj4gK3sKPiArCXN0cnVjdCBpZ3RfZmIgYnVmc1tCVUZTXTsKPiArCWRybU1vZGVSZXNQdHIgcmVz Owo+ICsJZHJtTW9kZUNvbm5lY3RvclB0ciBjb25uZWN0b3I7Cj4gKwl1aW50MzJfdCBjcnRjX2lk Owo+ICsJaW50IGksIHJldCwgZnJhbWUsIHdhcm1fZW5kX2ZyYW1lOwo+ICsJbG9uZyBsb25nIGlu dCBmcHM7Cj4gKwlzdHJ1Y3QgdGltZXZhbCBzdGFydCwgZW5kLCBkaWZmOwo+ICsJYm9vbCB3YXJt aW5nX3VwID0gdHJ1ZTsKPiArCgpGcm9tIGhlcmUuLi4KCj4gKwlyZXMgPSBkcm1Nb2RlR2V0UmVz b3VyY2VzKGRhdGEtPmRybV9mZCk7Cj4gKwlpZ3RfYXNzZXJ0KHJlcyk7Cj4gKwo+ICsJa21zdGVz dF91bnNldF9hbGxfY3J0Y3MoZGF0YS0+ZHJtX2ZkLCByZXMpOwo+ICsKPiArCWNvbm5lY3RvciA9 IGZpbmRfY29ubmVjdG9yX2Zvcl9tb2Rlc2V0KGRhdGEpOwo+ICsJY3J0Y19pZCA9IGttc3Rlc3Rf ZmluZF9jcnRjX2Zvcl9jb25uZWN0b3IoZGF0YS0+ZHJtX2ZkLAo+ICsJCQkJCQkgIHJlcywgY29u bmVjdG9yLCAwKTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgQlVGUzsgaSsrKQo+ICsJCW1ha2Vf ZmIoZGF0YSwgJmJ1ZnNbaV0sIGNvbm5lY3RvciwgaSk7Cj4gKwo+ICsJcmV0ID0gZHJtTW9kZVNl dENydGMoZGF0YS0+ZHJtX2ZkLCBjcnRjX2lkLCBidWZzWzBdLmZiX2lkLCAwLCAwLAo+ICsJCQkg ICAgICZjb25uZWN0b3ItPmNvbm5lY3Rvcl9pZCwgMSwgJmNvbm5lY3Rvci0+bW9kZXNbMF0pOwo+ ICsJaWd0X2Fzc2VydChyZXQgPT0gMCk7CgouLi4gIHRvIGhlcmUgd2UgcHJvYmFibHkgZG9uJ3Qg d2FudCB0byByZXBlYXQgZm9yIGV2ZXJ5IHN1YnRlc3QsCmVzcGVjaWFsbHkgaWYgd2UgYWRkIG1v cmUgaW4gdGhlIGZ1dHVyZS4gTWFrZSB0aGVtIHBhcnQgb2YgdGhlIGZpeHR1cmUKYW5kIGFkanVz dCB0aGUgc3VidGVzdHMgdG8gZGVhbCB3aXRoIGl0LgoKPiArCj4gKwlnZXR0aW1lb2ZkYXkoJnN0 YXJ0LCBOVUxMKTsKPiArCWZyYW1lID0gMTsKPiArCWRvIHsKPiArCQlpbnQgZmxhZ3MgPSBEUk1f TU9ERV9QQUdFX0ZMSVBfQVNZTkM7Cj4gKwo+ICsJCWlmICh3YWl0X2Zvcl9mbGlwcykKPiArCQkJ ZmxhZ3MgfD0gRFJNX01PREVfUEFHRV9GTElQX0VWRU5UOwo+ICsKPiArCQlyZXQgPSBkcm1Nb2Rl UGFnZUZsaXAoZGF0YS0+ZHJtX2ZkLCBjcnRjX2lkLAo+ICsJCQkJICAgICAgYnVmc1tmcmFtZSAl IDRdLmZiX2lkLAo+ICsJCQkJICAgICAgZmxhZ3MsIE5VTEwpOwo+ICsKPiArCQlpZ3RfYXNzZXJ0 KHJldCA9PSAwIHx8IHJldCA9PSAtRUJVU1kpOwo+ICsKPiArCQlpZiAod2FpdF9mb3JfZmxpcHMp Cj4gKwkJCXdhaXRfZmxpcF9ldmVudChkYXRhKTsKPiArCj4gKwkJZ2V0dGltZW9mZGF5KCZlbmQs IE5VTEwpOwo+ICsJCXRpbWVyc3ViKCZlbmQsICZzdGFydCwgJmRpZmYpOwo+ICsKPiArCQkvKiAy cyBvZiB3YXJtLXVwIHRpbWUgZm9yIHRoZSBmcmVxIHRvIHN0YWJpbGl6ZSAqLwo+ICsJCWlmICh3 YXJtaW5nX3VwICYmIGRpZmYudHZfc2VjID49IFdBUk1fVVBfVElNRSkgewo+ICsJCQl3YXJtaW5n X3VwID0gZmFsc2U7Cj4gKwkJCXdhcm1fZW5kX2ZyYW1lID0gZnJhbWU7Cj4gKwkJCXN0YXJ0ID0g ZW5kOwo+ICsJCX0KPiArCj4gKwkJZnJhbWUrKzsKPiArCX0gd2hpbGUgKGRpZmYudHZfc2VjIDwg UlVOX1RJTUUpOwo+ICsKPiArCWZwcyA9IChmcmFtZSAtIHdhcm1fZW5kX2ZyYW1lKSAqIDEwMDAg LyBSVU5fVElNRTsKPiArCWlndF9pbmZvKCJmcHM6ICVsbGQuJTAzbGxkXG4iLCBmcHMgLyAxMDAw LCBmcHMgJSAxMDAwKTsKCldlIGhhdmUgdG8gaWd0X2Fzc2VydCgpIHRoYXQgRlBTIGlzIGEgdmFs dWUgc2lnbmlmaWNhbnRseSBiaWdnZXIgdGhhbgp0aGUgbW9kZSByZWZyZXNoIHJhdGUuCgoKPiAr Cj4gKwlmb3IgKGkgPSAwOyBpIDwgQlVGUzsgaSsrKQo+ICsJCWlndF9yZW1vdmVfZmIoZGF0YS0+ ZHJtX2ZkLCAmYnVmc1tpXSk7Cj4gK30KPiArCj4gK2lndF9tYWluCj4gK3sKPiArCWRhdGFfdCBk YXRhOwo+ICsKPiArCWlndF9maXh0dXJlIHsKPiArCQlkYXRhLmRybV9mZCA9IGRybV9vcGVuX2Ry aXZlcl9tYXN0ZXIoRFJJVkVSX0lOVEVMKTsKPiArCQlrbXN0ZXN0X3NldF92dF9ncmFwaGljc19t b2RlKCk7Cj4gKwkJaWd0X2Rpc3BsYXlfcmVxdWlyZSgmZGF0YS5kaXNwbGF5LCBkYXRhLmRybV9m ZCk7Cj4gKwkJaWd0X2Rpc3BsYXlfcmVxdWlyZV9vdXRwdXQoJmRhdGEuZGlzcGxheSk7CgpXZSBo YXZlIHRvIFNLSVAgaW4gY2FzZSBhc3luYyBmbGlwcyBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGUg S2VybmVsLgoKVGhhbmtzLApQYXVsbwoKCj4gKwl9Cj4gKwo+ICsJaWd0X3N1YnRlc3QoImFzeW5j LWZsaXAtd2l0aC1wYWdlLWZsaXAtZXZlbnRzIikKPiArCQl0ZXN0X2FzeW5jX2ZsaXAoJmRhdGEs IHRydWUpOwo+ICsJaWd0X3N1YnRlc3QoImFzeW5jLWZsaXAtd2l0aG91dC1wYWdlLWZsaXAtZXZl bnRzIikKPiArCQl0ZXN0X2FzeW5jX2ZsaXAoJmRhdGEsIGZhbHNlKTsKPiArCj4gKwlpZ3RfZml4 dHVyZQo+ICsJCWlndF9kaXNwbGF5X2ZpbmkoJmRhdGEuZGlzcGxheSk7Cj4gK30KPiBkaWZmIC0t Z2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNvbi5idWlsZAo+IGluZGV4IGU4ODJm NGRjLi4wODMwYjFjOSAxMDA2NDQKPiAtLS0gYS90ZXN0cy9tZXNvbi5idWlsZAo+ICsrKyBiL3Rl c3RzL21lc29uLmJ1aWxkCj4gQEAgLTEzLDYgKzEzLDcgQEAgdGVzdF9wcm9ncyA9IFsKPiAgCSdm YmRldicsCj4gIAkna21zXzNkJywKPiAgCSdrbXNfYWRkZmJfYmFzaWMnLAo+ICsJJ2ttc19hc3lu YycsCj4gIAkna21zX2F0b21pYycsCj4gIAkna21zX2F0b21pY19pbnRlcnJ1cHRpYmxlJywKPiAg CSdrbXNfYXRvbWljX3RyYW5zaXRpb24nLAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pZ3QtZGV2Cg==