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 CBAAB6E886 for ; Fri, 29 Mar 2019 09:10:15 +0000 (UTC) References: <20190328180845.3905-1-maarten.lankhorst@linux.intel.com> <20190328180845.3905-3-maarten.lankhorst@linux.intel.com> <20190328192514.GL3888@intel.com> From: Maarten Lankhorst Message-ID: <2b378d17-8487-594f-9210-bdfb7dc62eee@linux.intel.com> Date: Fri, 29 Mar 2019 10:10:08 +0100 MIME-Version: 1.0 In-Reply-To: <20190328192514.GL3888@intel.com> Content-Language: en-US Subject: Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_yuv: Add yuv specific tests, v4. 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: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: igt-dev@lists.freedesktop.org List-ID: T3AgMjgtMDMtMjAxOSBvbSAyMDoyNSBzY2hyZWVmIFZpbGxlIFN5cmrDpGzDpDoKPiBPbiBUaHUs IE1hciAyOCwgMjAxOSBhdCAwNzowODo0NVBNICswMTAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPj4gQWRkIHRlc3RzIGV4Y2VyY2lzaW5nIHN3aXRjaGluZyBiZXR3ZWVuIHZhcmlvdXMgc2Nh bGVkL3Vuc2NhbGVkCj4+IHRyYW5zaXRpb25zIHRvIGFuZCBmcm9tIHZhcmlvdXMgbnYxMiBmb3Jt YXRzLCBzaW5jZSBzb21lIG9mIHRoZQo+PiB3b3JrYXJvdW5kcyBtZW50aW9uIHRoaXMgbWF5IGZh aWwuCj4+Cj4+IFdlIGFsc28gYWRkIE5WMTIgc3BlY2lmaWMgY2xpcHBpbmcvc2NhbGluZyB0ZXN0 cywgdG8gbWFrZSBzdXJlCj4+IHRoYXQgWVVWIHNyYyBjb29yZGluYXRlcyBhcmUgYWx3YXlzIHBy b2dyYW1tZWQgYXMgYSBtdWx0aXBsZSBvZiAyCj4+IGNvcnJlY3RseSwgYW5kIHZlcmlmeSBzY2Fs aW5nL2NsaXBwaW5nIHdvcmtzIHdpdGggQ1JDIHRlc3RzLgo+Pgo+PiBjcm9wLXNjYWxlLWJ1ZyBz aG93cyBhIGNvcnJ1cHRpb24gd2hlbiBzY2FsaW5nIGFuZCBjcm9wcGluZyBhdCB0aGUKPj4gc2Ft ZSB0aW1lLgo+Pgo+PiBUaGUgc3VicGl4ZWwgY2xpcCB0ZXN0IHJvdGF0ZXMgYW5kIGNsaXBzIGEg cmVjdGFuZ2xlIG9uIGVhY2ggc2lkZSwKPj4gd2hpY2ggc2hvdWxkIHByb2R1Y2UgdGhlIHNhbWUg Q1JDIGFzIHdoZW4gdGhhdCBwYXJ0IG9mIHRoZSByZWN0YW5nbGUKPj4gaXMgaGlkZGVuIGJ5IGEg Y3Vyc29yIGFuZCBhIHdob2xlIDJ4MiBwaXhlbCBpcyBoaWRkZW4uCj4+Cj4+IENoYW5nZXMgc2lu Y2UgdjE6Cj4+IC0gUmVzZXQgcGxhbmUgcG9zaXRpb24gdG8gMCwwIGF0IHRoZSBzdGFydCBvZiB5 dXZfdmFsaWRfd2lkdGhfcGxhbmUoKS4KPj4gLSBIYW5kbGUgU3dhdGkncyBmZWVkYmFjay4KPj4g Q2hhbmdlcyBzaW5jZSB2MjoKPj4gLSBTa2lwIDkwwrAvMjcwwrAgcm90YXRpb24gaW4gdGVzdHMg d2hlbiBmb3JtYXRzIGRvbid0IHN1cHBvcnQgaXQuCj4+IC0gQWRkIGFsbCBuZXcgSERSIGZvcm1h dHMgdG8gdGVzdC4KPj4gLSBVc2UgaWd0X3BsYW5lX2hhc19mb3JtYXRfbW9kLgo+PiAtIFN1cHBv cnQgdGVzdHMgb24gIWk5MTUgYnkgY2hlY2tpbmcgaWYgWC9ZIHRpbGluZyBtb2RpZmllcnMgYXJl IHN1cHBvcnRlZC4KPj4gLSBEbyBub3QgZW5hYmxlIHVudGVzdGVkIHBsYW5lcyB0byBwcmV2ZW50 IGV4aGF1c2luZyBtZW1vcnkgYmFuZHdpZHRoCj4+ICAgYW5kIGF2YWlsYWJsZSBOVjEyIFkgcGxh bmVzIGluIHRoZSByZ2Itc3dpdGNoLXNjYWxlZCB0ZXN0Lgo+PiBDaGFuZ2VzIHNpbmNlIHYzOgo+ PiAtIEFkZCBhIHNhbml0eSB0ZXN0IHRvIHNhbml0eSB0ZXN0IFlVViBjb252ZXJzaW9uIHBhdGhz LCBvbiBhbGwgcGxhbmVzIGFuZCBwaXBlcy4KPj4gLSBEeW5hbWljYWxseSBnZW5lcmF0ZSBsaXN0 IG9mIFlVViB0ZXN0cyB0aHJvdWdoIGlndF9mb3JtYXRfYXJyYXlfZmlsbC4KPj4KPj4gU2lnbmVk LW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVs LmNvbT4KPj4gLS0tCj4+ICB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIHwgICAxICsKPj4gIHRlc3Rz L2ttc195dXYuYyAgICAgICAgfCA5NDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPj4gIHRlc3RzL21lc29uLmJ1aWxkICAgICAgfCAgIDEgKwo+PiAgMyBmaWxlcyBj aGFuZ2VkLCA5NDQgaW5zZXJ0aW9ucygrKQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2tt c195dXYuYwo+Pgo+PiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3Rz L01ha2VmaWxlLnNvdXJjZXMKPj4gaW5kZXggNzFjY2YwMGFmMjU2Li41ZWI0NjA4N2UzNjIgMTAw NjQ0Cj4+IC0tLSBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPj4gKysrIGIvdGVzdHMvTWFrZWZp bGUuc291cmNlcwo+PiBAQCAtNzQsNiArNzQsNyBAQCBURVNUU19wcm9ncyA9IFwKPj4gIAlrbXNf dW5pdmVyc2FsX3BsYW5lIFwKPj4gIAlrbXNfdmJsYW5rIFwKPj4gIAlrbXNfdnJyIFwKPj4gKwlr bXNfeXV2IFwKPj4gIAltZXRhX3Rlc3QgXAo+PiAgCXBlcmYgXAo+PiAgCXBlcmZfcG11IFwKPj4g ZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc195dXYuYyBiL3Rlc3RzL2ttc195dXYuYwo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjAwNzdhMDdhNzNmMwo+PiAtLS0g L2Rldi9udWxsCj4+ICsrKyBiL3Rlc3RzL2ttc195dXYuYwo+PiBAQCAtMCwwICsxLDk0MiBAQAo+ PiArLyoKPj4gKyAqIENvcHlyaWdodCDCqSAyMDE5IEludGVsIENvcnBvcmF0aW9uCj4+ICsgKgo+ PiArICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu eSBwZXJzb24gb2J0YWluaW5nIGEKPj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNz b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4+ICsgKiB0byBk ZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91 dCBsaW1pdGF0aW9uCj4+ICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPj4gKyAqIGFuZC9vciBzZWxsIGNv cGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ PiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKPj4gKyAqCj4+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgo+PiArICog YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCj4+ICsg Kgo+PiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO VFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQg Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+PiArICog RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4g Tk8gRVZFTlQgU0hBTEwgVEhFCj4+ICsgKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF IExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCj4+ICsgKiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ U0lORwo+PiArICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdB UkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwo+PiArICogSU4gVEhFIFNPRlRXQVJFLgo+ PiArICoKPj4gKyAqIEF1dGhvcnM6Cj4+ICsgKiAgICBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRl bi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+PiArICovCj4+ICsjaW5jbHVkZSAiY29uZmln LmgiCj4+ICsKPj4gKyNpbmNsdWRlICJpZ3QuaCIKPj4gKyNpbmNsdWRlIDxjYWlyby5oPgo+PiAr I2luY2x1ZGUgPGVycm5vLmg+Cj4+ICsjaW5jbHVkZSA8c3RkaW50Lmg+Cj4+ICsjaW5jbHVkZSA8 dW5pc3RkLmg+Cj4+ICsjaW5jbHVkZSA8c3lzL3RpbWUuaD4KPj4gKwo+PiArdHlwZWRlZiBzdHJ1 Y3Qgewo+PiArCWlndF9kaXNwbGF5X3QgZGlzcGxheTsKPj4gKwo+PiArCWlndF9waXBlX2NyY190 ICpwaXBlX2NyYzsKPj4gKwlzdHJ1Y3QgaWd0X2ZiIGZiWzZdOwo+PiArfSBkYXRhX3Q7Cj4+ICsK Pj4gK3N0YXRpYyB1aW50NjRfdCB4X21vZGlmaWVyID0gTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9O RTsKPj4gK3N0YXRpYyB1aW50NjRfdCB5X21vZGlmaWVyID0gTE9DQUxfRFJNX0ZPUk1BVF9NT0Rf Tk9ORTsKPj4gK3N0YXRpYyB1aW50MzJfdCAqZm9ybWF0cywgY291bnRfZm9ybWF0czsKPj4gKwo+ PiArc3RhdGljIGJvb2wgcGlwZV9zdXBwb3J0c19mb3JtYXQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxh eSwgZW51bSBwaXBlIHBpcGUsCj4+ICsJCQkJIHVpbnQzMl90IGZvcm1hdCwgdWludDY0X3QgdGls aW5nKQo+PiArewo+PiArCWlndF9wbGFuZV90ICpwbGFuZTsKPj4gKwo+PiArCWZvcl9lYWNoX3Bs YW5lX29uX3BpcGUoZGlzcGxheSwgcGlwZSwgcGxhbmUpCj4+ICsJCWlmIChpZ3RfcGxhbmVfaGFz X2Zvcm1hdF9tb2QocGxhbmUsIGZvcm1hdCwgdGlsaW5nKSkKPj4gKwkJCXJldHVybiB0cnVlOwo+ PiArCj4+ICsJcmV0dXJuIGZhbHNlOwo+PiArfQo+PiArCj4+ICsKPj4gK3N0YXRpYyB2b2lkIHJl bW92ZV9mYnMoZGF0YV90ICpkYXRhKQo+PiArewo+PiArCWludCBpOwo+PiArCj4+ICsJZm9yIChp ID0gMDsgaSA8IEFSUkFZX1NJWkUoZGF0YS0+ZmIpOyBpKyspCj4+ICsJCWlndF9yZW1vdmVfZmIo ZGF0YS0+ZGlzcGxheS5kcm1fZmQsICZkYXRhLT5mYltpXSk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRp YyB2b2lkIHByZXBhcmVfY3J0YyhkYXRhX3QgKmRhdGEsIGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0 cHV0X3QgKm91dHB1dCkKPj4gK3sKPj4gKwlpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEt PmRpc3BsYXk7Cj4+ICsKPj4gKwlyZW1vdmVfZmJzKGRhdGEpOwo+PiArCWlndF9kaXNwbGF5X3Jl c2V0KGRpc3BsYXkpOwo+PiArCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBwaXBlKTsKPj4g KwlpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXksIENPTU1JVF9BVE9NSUMpOwo+PiArCj4+ICsJ aWd0X3BpcGVfY3JjX2ZyZWUoZGF0YS0+cGlwZV9jcmMpOwo+PiArCWRhdGEtPnBpcGVfY3JjID0g aWd0X3BpcGVfY3JjX25ldyhkaXNwbGF5LT5kcm1fZmQsIHBpcGUsCj4+ICsJCQkJCSAgSU5URUxf UElQRV9DUkNfU09VUkNFX0FVVE8pOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgdm9pZCBmdWRnZV9s dXQoZGF0YV90ICpkYXRhLCBlbnVtIHBpcGUgcGlwZSwgdWludDE2X3QgbWFzaykKPj4gK3sKPj4g KwlpZ3RfcGlwZV90ICpwaXBlX29iaiA9ICZkYXRhLT5kaXNwbGF5LnBpcGVzW3BpcGVdOwo+PiAr CXVpbnQxNl90ICpsdXQ7Cj4+ICsJaW50IGksIGx1dF9zaXplOwo+PiArCj4+ICsJaWYgKCFpZ3Rf cGlwZV9vYmpfaGFzX3Byb3AocGlwZV9vYmosIElHVF9DUlRDX0dBTU1BX0xVVF9TSVpFKSkKPj4g KwkJcmV0dXJuOwo+PiArCj4+ICsJbHV0X3NpemUgPSBpZ3RfcGlwZV9vYmpfZ2V0X3Byb3AocGlw ZV9vYmosIElHVF9DUlRDX0dBTU1BX0xVVF9TSVpFKTsKPiBJIHdvdWxkIHN1Z2dlc3QgaGFyZGNv ZGluZyAyNTYgZm9yIGk5MTUgc28gdGhhdCB3ZSdsbCBnZXQgdGhlIGxlZ2FjeQo+IExVVCBhbmQg Z2V0IGNvbnNpc3RlbnQgYmVoYXZpb3VyIG9uIGFsbCBwbGF0Zm9ybXMuIEl0IGhhcyBtb3JlIHRo YW4KPiBlbm91Z2ggYml0cyBmb3IgdXMgYW55d2F5LgpXaGVyZSdzIHRoZSBmdW4gaW4gbm90IHVz aW5nIHRoZSBleHRyYSBiaXRzPyBPOikKPiBBbHNvIGZvciBwbGF0Zm9ybXMgdGhhdCBkb24ndCBl eHBvc2UgdGhlIExVVCBwcm9wIHdlJ2QgcHJvYmFibHkgd2FudCB0bwo+IGZhbGxiYWNrIHRvIHRo ZSBsZWdhY3kgQVBJLiBBbHRob3VnaCBJIHdpbGwgc29vbmlzaCBwb3N0IHNvbWUgcGF0Y2hlcyB0 bwo+IGV4cG9zZSB0aGUgR0FNTUFfTFVUIHN0dWZmIG9uIGFsbCBvdXIgcGxhdGZvcm1zLCBzbyBu b3QgYSBiaWcgZGVhbCBmb3IKPiBpOTE1IEkgc3VwcG9zZS4gT3RoZXIgZHJpdmVycyBtaWdodCBj YXJlIG1vcmUgYWJvdXQgdGhhdC4KCldoeSBkb24ndCB3ZT8gUGF0Y2ggc2hvdWxkIGJlIDIgbGlu ZXMgaW4gdGhlIGtlcm5lbC4uCldoYXQgcHJldmVudHMgdXMgZnJvbSBkb2luZyB0aGlzPwoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCmluZGV4IDQ2N2ZkMWExNjMwYy4uMjUwYWMxNzY1Zjdm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKQEAgLTg3Myw3ICs4NzMsNyBAQCB2b2lk IGludGVsX2NvbG9yX2luaXQoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAKLQlk cm1fbW9kZV9jcnRjX3NldF9nYW1tYV9zaXplKCZjcnRjLT5iYXNlLCAyNTYpOworCWRybV9tb2Rl X2NydGNfc2V0X2dhbW1hX3NpemUoJmNydGMtPmJhc2UsIExFR0FDWV9MVVRfTEVOR1RIKTsKIAog CWlmIChIQVNfR01DSChkZXZfcHJpdikpIHsKIAkJaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYp KQpAQCAtOTA3LDQgKzkwNyw2IEBAIHZvaWQgaW50ZWxfY29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YykKIAkJCQkJICAgSU5URUxfSU5GTyhkZXZfcHJpdiktPmNvbG9yLmRlZ2FtbWFf bHV0X3NpemUsCiAJCQkJCSAgIHRydWUsCiAJCQkJCSAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5j b2xvci5nYW1tYV9sdXRfc2l6ZSk7CisJZWxzZQorCQlkcm1fY3J0Y19lbmFibGVfY29sb3JfbWdt dCgmY3J0Yy0+YmFzZSwgMCwgZmFsc2UsIExFR0FDWV9MVVRfTEVOR1RIKTsKIH0KCkNhbiBzZW5k IGFzIHNlcGFyYXRlIHBhdGNoLCB3b3VsZCBiZSBuaWNlIHRvIGhhdmUgdGhpcyBpbi1rZXJuZWwu Cgo+Cj4+ICsKPj4gKwlsdXQgPSBtYWxsb2Moc2l6ZW9mKHVpbnQxNl90KSAqIGx1dF9zaXplKTsK Pj4gKwlmb3IgKGkgPSAwOyBpIDwgbHV0X3NpemU7IGkrKykKPj4gKwkJbHV0W2ldID0gKGkgKiAw eGZmZmYgLyAobHV0X3NpemUgLSAxKSkgJiBtYXNrOwo+PiArCj4+ICsJaWd0X3BpcGVfb2JqX3Jl cGxhY2VfcHJvcF9ibG9iKHBpcGVfb2JqLCBJR1RfQ1JUQ19HQU1NQV9MVVQsIGx1dCwgbHV0X3Np emUgKiBzaXplb2YodWludDE2X3QpKTsKPj4gKwlmcmVlKGx1dCk7Cj4+ICsKPj4gKwlpZiAoaWd0 X3BpcGVfb2JqX2hhc19wcm9wKHBpcGVfb2JqLCBJR1RfQ1JUQ19ERUdBTU1BX0xVVCkpCj4+ICsJ CWlndF9waXBlX29ial9yZXBsYWNlX3Byb3BfYmxvYihwaXBlX29iaiwgSUdUX0NSVENfREVHQU1N QV9MVVQsIE5VTEwsIDApOwo+PiArCj4+ICsJaWYgKGlndF9waXBlX29ial9oYXNfcHJvcChwaXBl X29iaiwgSUdUX0NSVENfQ1RNKSkKPj4gKwkJaWd0X3BpcGVfb2JqX3JlcGxhY2VfcHJvcF9ibG9i KHBpcGVfb2JqLCBJR1RfQ1JUQ19DVE0sIE5VTEwsIDApOwo+IFNob3VsZG4ndCB0aG9zZSBiZSBj bGVhcmVkIGFscmVhZHkgYnkgc29tZSBkaXNwbGF5X3Jlc2V0KCkgdHlwZSB0aGluZz8KCldlIGRv bid0IGN1cnJlbnRseSBzYW5pdGl6ZSBtYW55IHByb3BlcnRpZXMuIEFsdGhvdWdoIGl0IHNlZW1z IHRoYXQgZnJvbSB0aGUgY2hhbmdlcyB0bwppZ3RfcGxhbmVfcmVzZXQoKSB0byBkZWFsIHdpdGgg ZmFsbG91dCBmcm9tIHByZXZpb3VzIHRlc3RzIHdlIHByb2JhYmx5IHNob3VsZCBzdGFydCBzZXR0 aW5nIHNhbmUgZGVmYXVsdHMgb24gZXZlcnl0aGluZy4uCgoKPj4gK30KPj4gKwo+PiArc3RhdGlj IHZvaWQgdW5mdWRnZV9sdXQoZGF0YV90ICpkYXRhLCBlbnVtIHBpcGUgcGlwZSkKPj4gK3sKPj4g KwlpZ3RfcGlwZV90ICpwaXBlX29iaiA9ICZkYXRhLT5kaXNwbGF5LnBpcGVzW3BpcGVdOwo+PiAr Cj4+ICsJaWYgKGlndF9waXBlX29ial9oYXNfcHJvcChwaXBlX29iaiwgSUdUX0NSVENfR0FNTUFf TFVUKSkKPj4gKwkJaWd0X3BpcGVfb2JqX3JlcGxhY2VfcHJvcF9ibG9iKHBpcGVfb2JqLCBJR1Rf Q1JUQ19HQU1NQV9MVVQsIE5VTEwsIDApOwo+PiArfQo+PiArCj4+ICsvKgo+PiArICogVGVzdCB0 aGF0IHdlIGluaXRpYWxpemUgYSBZVVYgZmIgYXMgYmxhY2sgY29ycmVjdGx5LAo+PiArICogdGhh dCB3aGVuIHdlIHdyaXRlIGEgYmxhY2sgRkIgaXQgd2lsbCBnZXQgdGhlIHNhbWUgQ1JDLCBhbmQg dGhhdAo+PiArICogYWxsIGNvbG9ycyB3ZSB0ZXN0IHdpbGwgZ2l2ZSB0aGUgc2FtZSBDUkMgb24g YWxsIGZvcm1hdHMuCj4+ICsgKi8KPj4gK3N0YXRpYyB2b2lkIHl1dl9zYW5pdHkoZGF0YV90ICpk YXRhLCBlbnVtIHBpcGUgcGlwZSwgaWd0X291dHB1dF90ICpvdXRwdXQpCj4gSSB3b25kZXIgaWYg dGhpcyBzaG91bGQganVzdCBiZSBwYXJ0IG9mIHRoZSBub3JtYWwgcGl4ZWwgZm9ybWF0IHRlc3Q/ CgpJIHdyb3RlIHRoZXNlIHRlc3RzIHNwZWNpZmljYWxseSB0byBleHBvc2UgYnVncyBpbiBvdXIg WVVWIGNvbnZlcnNpb24gcm91dGluZXMuIEkKY291bGQgc3RhcnQgY2FwdHVyaW5nIHRoZSByZWZl cmVuY2UgQ1JDJ3Mgd2l0aCBYUkdCODg4OCBsaWtlIHRoZSBub3JtYWwgcGl4ZWwKZm9ybWF0IHRl c3QuCgpXaGVuZXZlcgoKfk1hYXJ0ZW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aWd0LWRldg==