From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/2] drm/i915: Do not adjust scale when out of bounds. Date: Tue, 24 Apr 2018 18:34:24 +0300 Message-ID: <20180424153424.GR13908@intel.com> References: <20180424113633.16140-1-maarten.lankhorst@linux.intel.com> <20180424113633.16140-2-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180424113633.16140-2-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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBBcHIgMjQsIDIwMTggYXQgMDE6MzY6MzNQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gV2l0aCB0aGUgcHJldmlvdXMgcGF0Y2ggZHJtX2F0b21pY19oZWxwZXJfY2hl Y2tfcGxhbmVfc3RhdGUgY29ycmVjdGx5Cj4gY2FsY3VsYXRlcyBjbGlwcGluZyBhbmQgdGhlIHhm ODYtdmlkZW8taW50ZWwgZGR4IGlzIGZpeGVkIHRvIGZhbGwgYmFjawo+IHRvIEdQVSBjb3JyZWN0 bHkgd2hlbiBTZXRQbGFuZSBmYWlscywgd2UgY2FuIHJlbW92ZSB0aGUgaGFjayB3aGVyZQo+IHdl IHRyeSB0byBwYW4vem9vbSB3aGVuIG91dCBvZiBtaW4vbWF4IHNjYWxpbmcgcmFuZ2UuIFRoaXMg d2FzIGFscmVhZHkKPiBwb29yIGJlaGF2aW9yIHdoZXJlIHRoZSBzY3JlZW4gZGlkbid0IHNob3cg d2hhdCB3YXMgcmVxdWVzdGVkLCBhbmQgbm93Cj4gaW5zdGVhZCB3ZSByZWplY3QgaXQgb3V0cmln aHQuIFRoaXMgc2ltcGxpZmllcyBjaGVja19zcHJpdGVfcGxhbmUgYSBsb3QuCj4gCj4gU2lnbmVk LW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVs LmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgfCAxNDIg KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0 aW9ucygrKSwgMTA2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jCj4gaW5kZXggZjhmN2M2NmZjM2FjLi5kNDAwM2QyNDg4M2IgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBAIC05MzYsMjIgKzkzNiwxMiBAQCBpbnRlbF9jaGVja19z cHJpdGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKPiAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUocGxhbmUtPmJhc2UuZGV2KTsKPiAgCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMp Owo+ICAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+YmFzZS5mYjsKPiAtCWlu dCBjcnRjX3gsIGNydGNfeTsKPiAtCXVuc2lnbmVkIGludCBjcnRjX3csIGNydGNfaDsKPiAtCXVp bnQzMl90IHNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oOwo+IC0Jc3RydWN0IGRybV9yZWN0ICpz cmMgPSAmc3RhdGUtPmJhc2Uuc3JjOwo+IC0Jc3RydWN0IGRybV9yZWN0ICpkc3QgPSAmc3RhdGUt PmJhc2UuZHN0Owo+IC0Jc3RydWN0IGRybV9yZWN0IGNsaXAgPSB7fTsKPiAgCWludCBtYXhfc3Ry aWRlID0gSU5URUxfR0VOKGRldl9wcml2KSA+PSA5ID8gMzI3NjggOiAxNjM4NDsKPiAtCWludCBo c2NhbGUsIHZzY2FsZTsKPiAgCWludCBtYXhfc2NhbGUsIG1pbl9zY2FsZTsKPiAgCWJvb2wgY2Fu X3NjYWxlOwo+ICAJaW50IHJldDsKPiAgCXVpbnQzMl90IHBpeGVsX2Zvcm1hdCA9IDA7Cj4gIAo+ IC0JKnNyYyA9IGRybV9wbGFuZV9zdGF0ZV9zcmMoJnN0YXRlLT5iYXNlKTsKPiAtCSpkc3QgPSBk cm1fcGxhbmVfc3RhdGVfZGVzdCgmc3RhdGUtPmJhc2UpOwo+IC0KPiAgCWlmICghZmIpIHsKPiAg CQlzdGF0ZS0+YmFzZS52aXNpYmxlID0gZmFsc2U7Cj4gIAkJcmV0dXJuIDA7Cj4gQEAgLTk5MCw2 NCArOTgwLDE5IEBAIGludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUg KnBsYW5lLAo+ICAJCW1pbl9zY2FsZSA9IHBsYW5lLT5jYW5fc2NhbGUgPyAxIDogKDEgPDwgMTYp Owo+ICAJfQo+ICAKPiAtCS8qCj4gLQkgKiBGSVhNRSB0aGUgZm9sbG93aW5nIGNvZGUgZG9lcyBh IGJ1bmNoIG9mIGZ1enp5IGFkanVzdG1lbnRzIHRvIHRoZQo+IC0JICogY29vcmRpbmF0ZXMgYW5k IHNpemVzLiBXZSBwcm9iYWJseSBuZWVkIHNvbWUgd2F5IHRvIGRlY2lkZSB3aGV0aGVyCj4gLQkg KiBtb3JlIHN0cmljdCBjaGVja2luZyBzaG91bGQgYmUgZG9uZSBpbnN0ZWFkLgo+IC0JICovCj4g LQlkcm1fcmVjdF9yb3RhdGUoc3JjLCBmYi0+d2lkdGggPDwgMTYsIGZiLT5oZWlnaHQgPDwgMTYs Cj4gLQkJCXN0YXRlLT5iYXNlLnJvdGF0aW9uKTsKPiAtCj4gLQloc2NhbGUgPSBkcm1fcmVjdF9j YWxjX2hzY2FsZV9yZWxheGVkKHNyYywgZHN0LCBtaW5fc2NhbGUsIDEgPDwgMTYsIG1heF9zY2Fs ZSk7Cj4gLQlCVUdfT04oaHNjYWxlIDwgMCk7Cj4gLQo+IC0JdnNjYWxlID0gZHJtX3JlY3RfY2Fs Y192c2NhbGVfcmVsYXhlZChzcmMsIGRzdCwgbWluX3NjYWxlLCAxIDw8IDE2LCBtYXhfc2NhbGUp Owo+IC0JQlVHX09OKHZzY2FsZSA8IDApOwo+IC0KPiAtCWlmIChjcnRjX3N0YXRlLT5iYXNlLmVu YWJsZSkKPiAtCQlkcm1fbW9kZV9nZXRfaHZfdGltaW5nKCZjcnRjX3N0YXRlLT5iYXNlLm1vZGUs Cj4gLQkJCQkgICAgICAgJmNsaXAueDIsICZjbGlwLnkyKTsKPiAtCj4gLQlzdGF0ZS0+YmFzZS52 aXNpYmxlID0gZHJtX3JlY3RfY2xpcF9zY2FsZWQoc3JjLCBkc3QsICZjbGlwLCBoc2NhbGUsIHZz Y2FsZSk7Cj4gLQo+IC0JY3J0Y194ID0gZHN0LT54MTsKPiAtCWNydGNfeSA9IGRzdC0+eTE7Cj4g LQljcnRjX3cgPSBkcm1fcmVjdF93aWR0aChkc3QpOwo+IC0JY3J0Y19oID0gZHJtX3JlY3RfaGVp Z2h0KGRzdCk7Cj4gKwlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFuZV9zdGF0ZSgm c3RhdGUtPmJhc2UsCj4gKwkJCQkJCSAgJmNydGNfc3RhdGUtPmJhc2UsCj4gKwkJCQkJCSAgbWlu X3NjYWxlLCBtYXhfc2NhbGUsCj4gKwkJCQkJCSAgdHJ1ZSwgdHJ1ZSk7Cj4gKwlpZiAocmV0KQo+ ICsJCXJldHVybiByZXQ7Cj4gIAo+ICAJaWYgKHN0YXRlLT5iYXNlLnZpc2libGUpIHsKPiAtCQkv KiBjaGVjayBhZ2FpbiBpbiBjYXNlIGNsaXBwaW5nIGNsYW1wZWQgdGhlIHJlc3VsdHMgKi8KPiAt CQloc2NhbGUgPSBkcm1fcmVjdF9jYWxjX2hzY2FsZShzcmMsIGRzdCwgbWluX3NjYWxlLCAxIDw8 IDE2LCBtYXhfc2NhbGUpOwo+IC0JCWlmIChoc2NhbGUgPCAwKSB7Cj4gLQkJCURSTV9ERUJVR19L TVMoIkhvcml6b250YWwgc2NhbGluZyBmYWN0b3Igb3V0IG9mIGxpbWl0c1xuIik7Cj4gLQkJCWRy bV9yZWN0X2RlYnVnX3ByaW50KCJzcmM6ICIsIHNyYywgdHJ1ZSk7Cj4gLQkJCWRybV9yZWN0X2Rl YnVnX3ByaW50KCJkc3Q6ICIsIGRzdCwgZmFsc2UpOwo+IC0KPiAtCQkJcmV0dXJuIGhzY2FsZTsK PiAtCQl9Cj4gLQo+IC0JCXZzY2FsZSA9IGRybV9yZWN0X2NhbGNfdnNjYWxlKHNyYywgZHN0LCBt aW5fc2NhbGUsIDEgPDwgMTYsIG1heF9zY2FsZSk7Cj4gLQkJaWYgKHZzY2FsZSA8IDApIHsKPiAt CQkJRFJNX0RFQlVHX0tNUygiVmVydGljYWwgc2NhbGluZyBmYWN0b3Igb3V0IG9mIGxpbWl0c1xu Iik7Cj4gLQkJCWRybV9yZWN0X2RlYnVnX3ByaW50KCJzcmM6ICIsIHNyYywgdHJ1ZSk7Cj4gLQkJ CWRybV9yZWN0X2RlYnVnX3ByaW50KCJkc3Q6ICIsIGRzdCwgZmFsc2UpOwo+IC0KPiAtCQkJcmV0 dXJuIHZzY2FsZTsKPiAtCQl9Cj4gLQo+IC0JCS8qIE1ha2UgdGhlIHNvdXJjZSB2aWV3cG9ydCBz aXplIGFuIGV4YWN0IG11bHRpcGxlIG9mIHRoZSBzY2FsaW5nIGZhY3RvcnMuICovCj4gLQkJZHJt X3JlY3RfYWRqdXN0X3NpemUoc3JjLAo+IC0JCQkJICAgICBkcm1fcmVjdF93aWR0aChkc3QpICog aHNjYWxlIC0gZHJtX3JlY3Rfd2lkdGgoc3JjKSwKPiAtCQkJCSAgICAgZHJtX3JlY3RfaGVpZ2h0 KGRzdCkgKiB2c2NhbGUgLSBkcm1fcmVjdF9oZWlnaHQoc3JjKSk7Cj4gLQo+IC0JCWRybV9yZWN0 X3JvdGF0ZV9pbnYoc3JjLCBmYi0+d2lkdGggPDwgMTYsIGZiLT5oZWlnaHQgPDwgMTYsCj4gLQkJ CQkgICAgc3RhdGUtPmJhc2Uucm90YXRpb24pOwo+IC0KPiAtCQkvKiBzYW5pdHkgY2hlY2sgdG8g bWFrZSBzdXJlIHRoZSBzcmMgdmlld3BvcnQgd2Fzbid0IGVubGFyZ2VkICovCj4gLQkJV0FSTl9P TihzcmMtPngxIDwgKGludCkgc3RhdGUtPmJhc2Uuc3JjX3ggfHwKPiAtCQkJc3JjLT55MSA8IChp bnQpIHN0YXRlLT5iYXNlLnNyY195IHx8Cj4gLQkJCXNyYy0+eDIgPiAoaW50KSBzdGF0ZS0+YmFz ZS5zcmNfeCArIHN0YXRlLT5iYXNlLnNyY193IHx8Cj4gLQkJCXNyYy0+eTIgPiAoaW50KSBzdGF0 ZS0+YmFzZS5zcmNfeSArIHN0YXRlLT5iYXNlLnNyY19oKTsKPiArCQlzdHJ1Y3QgZHJtX3JlY3Qg KnNyYyA9ICZzdGF0ZS0+YmFzZS5zcmM7Cj4gKwkJc3RydWN0IGRybV9yZWN0ICpkc3QgPSAmc3Rh dGUtPmJhc2UuZHN0Owo+ICsJCXVuc2lnbmVkIGludCBjcnRjX3cgPSBkcm1fcmVjdF93aWR0aChk c3QpOwo+ICsJCXVuc2lnbmVkIGludCBjcnRjX2ggPSBkcm1fcmVjdF93aWR0aChkc3QpOwo+ICsJ CXVpbnQzMl90IHNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oOwo+ICAKPiAgCQkvKgo+ICAJCSAq IEhhcmR3YXJlIGRvZXNuJ3QgaGFuZGxlIHN1YnBpeGVsIGNvb3JkaW5hdGVzLgo+IEBAIC0xMDYw LDU4ICsxMDA1LDQzIEBAIGludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxh bmUgKnBsYW5lLAo+ICAJCXNyY195ID0gc3JjLT55MSA+PiAxNjsKPiAgCQlzcmNfaCA9IGRybV9y ZWN0X2hlaWdodChzcmMpID4+IDE2Owo+ICAKPiAtCQlpZiAoaW50ZWxfZm9ybWF0X2lzX3l1dihm Yi0+Zm9ybWF0LT5mb3JtYXQpKSB7Cj4gLQkJCXNyY194ICY9IH4xOwo+IC0JCQlzcmNfdyAmPSB+ MTsKPiAtCj4gLQkJCS8qCj4gLQkJCSAqIE11c3Qga2VlcCBzcmMgYW5kIGRzdCB0aGUKPiAtCQkJ ICogc2FtZSBpZiB3ZSBjYW4ndCBzY2FsZS4KPiAtCQkJICovCj4gLQkJCWlmICghY2FuX3NjYWxl KQo+IC0JCQkJY3J0Y193ICY9IH4xOwo+ICsJCXNyYy0+eDEgPSBzcmNfeCA8PCAxNjsKPiArCQlz cmMtPngyID0gKHNyY194ICsgc3JjX3cpIDw8IDE2Owo+ICsJCXNyYy0+eTEgPSBzcmNfeSA8PCAx NjsKPiArCQlzcmMtPnkyID0gKHNyY195ICsgc3JjX2gpIDw8IDE2Owo+ICAKPiAtCQkJaWYgKGNy dGNfdyA9PSAwKQo+IC0JCQkJc3RhdGUtPmJhc2UudmlzaWJsZSA9IGZhbHNlOwoKSG1tLiBUaGlz IG1ha2VzIG1lIHdvbmRlciB3aGF0IGhhcHBlbnMgaWYgd2UgZW5kIHVwIHdpdGggc3JjX3cvaCA8 IDEuMAphbmQgY3J0Y193L2ggPiAwLiBUaGUgPj4xNiB3aWxsIG1ha2Ugc3JjX3cvaCB6ZXJvLCAo YW5kIEknbSBub3QgMTAwJQpjb252aW5jZWQgaXQgY291bGRuJ3QgYmUgMCBhbHJlYWR5IGR1ZSB0 byB0aGUgc2NhbGVkIGNsaXBwaW5nIGFuZCB0aGUKcm91bmRlZCB1cCBoc2NhbGUvdnNjYWxlKS4g U28gd2UgcHJvYmFibHkgc3RpbGwgbmVlZCBzb21lIGtpbmQgb2YgY2hlY2sKZm9yIHZpc2libGUo ZHN0KSB2cy4gdmlzaWJsZShzcmMpIGFmdGVyIHdlIGhhdmUgdGhlIGZpbmFsIHNyYyBjb29yZGlu YXRlcy4KCj4gKwkJaWYgKGludGVsX2Zvcm1hdF9pc195dXYoZmItPmZvcm1hdC0+Zm9ybWF0KSAm Jgo+ICsJCSAgICAoc3JjX3ggJSAyIHx8IHNyY193ICUgMikpIHsKPiArCQkJRFJNX0RFQlVHX0tN Uygic3JjIHgvdyAoJXUsICV1KSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMiBmb3IgWVVWIHBsYW5l c1xuIiwKPiArCQkJCSAgICAgIHNyY194LCBzcmNfdyk7Cj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ ICAJCX0KPiAtCX0KPiAgCj4gLQkvKiBDaGVjayBzaXplIHJlc3RyaWN0aW9ucyB3aGVuIHNjYWxp bmcgKi8KPiAtCWlmIChzdGF0ZS0+YmFzZS52aXNpYmxlICYmIChzcmNfdyAhPSBjcnRjX3cgfHwg c3JjX2ggIT0gY3J0Y19oKSkgewo+IC0JCXVuc2lnbmVkIGludCB3aWR0aF9ieXRlczsKPiAtCQlp bnQgY3BwID0gZmItPmZvcm1hdC0+Y3BwWzBdOwo+ICsJCS8qIENoZWNrIHNpemUgcmVzdHJpY3Rp b25zIHdoZW4gc2NhbGluZyAqLwo+ICsJCWlmIChzcmNfdyAhPSBjcnRjX3cgfHwgc3JjX2ggIT0g Y3J0Y19oKSB7Cj4gKwkJCXVuc2lnbmVkIGludCB3aWR0aF9ieXRlczsKPiArCQkJaW50IGNwcCA9 IGZiLT5mb3JtYXQtPmNwcFswXTsKPiAgCj4gLQkJV0FSTl9PTighY2FuX3NjYWxlKTsKPiArCQkJ V0FSTl9PTighY2FuX3NjYWxlKTsKPiAgCj4gLQkJLyogRklYTUUgaW50ZXJsYWNpbmcgbWluIGhl aWdodCBpcyA2ICovCj4gKwkJCS8qIEZJWE1FIGludGVybGFjaW5nIG1pbiBoZWlnaHQgaXMgNiAq Lwo+ICAKPiAtCQlpZiAoY3J0Y193IDwgMyB8fCBjcnRjX2ggPCAzKQo+IC0JCQlzdGF0ZS0+YmFz ZS52aXNpYmxlID0gZmFsc2U7Cj4gKwkJCWlmIChjcnRjX3cgPCAzIHx8IGNydGNfaCA8IDMpCj4g KwkJCQlzdGF0ZS0+YmFzZS52aXNpYmxlID0gZmFsc2U7Cj4gIAo+IC0JCWlmIChzcmNfdyA8IDMg fHwgc3JjX2ggPCAzKQo+IC0JCQlzdGF0ZS0+YmFzZS52aXNpYmxlID0gZmFsc2U7Cj4gKwkJCWlm IChzcmNfdyA8IDMgfHwgc3JjX2ggPCAzKQo+ICsJCQkJc3RhdGUtPmJhc2UudmlzaWJsZSA9IGZh bHNlOwoKSSBndWVzcyB3ZSBzaG91bGQgdHVybiB0aGVzZSBpbnRvIGVycm9ycyBhcyB3ZWxsLiBD b3VsZCBiZSBkb25lIGFzIGEKc2VwYXJhdGUgcGF0Y2ggdGhvdWdoLgoKPiAgCj4gLQkJd2lkdGhf Ynl0ZXMgPSAoKHNyY194ICogY3BwKSAmIDYzKSArIHNyY193ICogY3BwOwo+ICsJCQl3aWR0aF9i eXRlcyA9ICgoc3JjX3ggKiBjcHApICYgNjMpICsgc3JjX3cgKiBjcHA7Cj4gIAo+IC0JCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpIDwgOSAmJiAoc3JjX3cgPiAyMDQ4IHx8IHNyY19oID4gMjA0OCB8 fAo+IC0JCSAgICB3aWR0aF9ieXRlcyA+IDQwOTYgfHwgZmItPnBpdGNoZXNbMF0gPiA0MDk2KSkg ewo+IC0JCQlEUk1fREVCVUdfS01TKCJTb3VyY2UgZGltZW5zaW9ucyBleGNlZWQgaGFyZHdhcmUg bGltaXRzXG4iKTsKPiAtCQkJcmV0dXJuIC1FSU5WQUw7Cj4gKwkJCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpIDwgOSAmJiAoc3JjX3cgPiAyMDQ4IHx8IHNyY19oID4gMjA0OCB8fAo+ICsJCQkgICAg d2lkdGhfYnl0ZXMgPiA0MDk2IHx8IGZiLT5waXRjaGVzWzBdID4gNDA5NikpIHsKPiArCQkJCURS TV9ERUJVR19LTVMoIlNvdXJjZSBkaW1lbnNpb25zIGV4Y2VlZCBoYXJkd2FyZSBsaW1pdHNcbiIp Owo+ICsJCQkJcmV0dXJuIC1FSU5WQUw7Cj4gKwkJCX0KPiAgCQl9Cj4gIAl9Cj4gIAo+IC0JaWYg KHN0YXRlLT5iYXNlLnZpc2libGUpIHsKPiAtCQlzcmMtPngxID0gc3JjX3ggPDwgMTY7Cj4gLQkJ c3JjLT54MiA9IChzcmNfeCArIHNyY193KSA8PCAxNjsKPiAtCQlzcmMtPnkxID0gc3JjX3kgPDwg MTY7Cj4gLQkJc3JjLT55MiA9IChzcmNfeSArIHNyY19oKSA8PCAxNjsKPiAtCX0KPiAtCj4gLQlk c3QtPngxID0gY3J0Y194Owo+IC0JZHN0LT54MiA9IGNydGNfeCArIGNydGNfdzsKPiAtCWRzdC0+ eTEgPSBjcnRjX3k7Cj4gLQlkc3QtPnkyID0gY3J0Y195ICsgY3J0Y19oOwo+IC0KPiAgCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKPiAgCQlyZXQgPSBza2xfY2hlY2tfcGxhbmVfc3Vy ZmFjZShjcnRjX3N0YXRlLCBzdGF0ZSk7Cj4gIAkJaWYgKHJldCkKPiAtLSAKPiAyLjE3LjAKCi0t IApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==