From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [PATCH 9/9] drm/i915: Convert i915_semaphores_is_enabled over to early sanitize Date: Wed, 20 Jul 2016 15:18:06 +0300 Message-ID: <1469017086.4964.15.camel@linux.intel.com> References: <1469005202-9659-1-git-send-email-chris@chris-wilson.co.uk> <1469005202-9659-10-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 14C786E7EF for ; Wed, 20 Jul 2016 12:18:09 +0000 (UTC) In-Reply-To: <1469005202-9659-10-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24ga2UsIDIwMTYtMDctMjAgYXQgMTA6MDAgKzAxMDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBS YXRoZXIgdGhhbiByZWNvbXB1dGluZyB3aGV0aGVyIHNlbWFwaG9yZXMgYXJlIGVuYWJsZWQsIHdl IGNhbiBkbyB0aGF0Cj4gY29tcHV0YXRpb24gb25jZSBkdXJpbmcgZWFybHkgaW5pdGlhbGlzYXRp b24gYXMgdGhlIGk5MTUuc2VtYXBob3Jlcwo+IG1vZHVsZSBwYXJhbWV0ZXIgaXMgbm93IHJlYWQt b25seS4KCkhhcyBiZWVuIHNpbmNlIDIwMTQgYXQgbGVhc3QuCgo+IAo+IFNpZ25lZC1vZmYtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+IMKgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmPCoMKgwqDCoMKgfMKgwqAyICstCj4gwqBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jwqDCoMKgwqDCoMKgwqDCoMKgfCAyNSArKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5owqDC oMKgwqDCoMKgwqDCoMKgfMKgwqAzICsrLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uY8KgwqDCoMKgwqDCoMKgwqDCoHwgMjMgKysrKysrKysrKysrKysrKysrKysrKy0KPiDCoGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyB8wqDCoDIgKy0KPiDCoGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmPCoMKgwqB8wqDCoDIgKy0KPiDCoGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8wqDCoDYgKysrLS0tCj4gwqA3IGZp bGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggNjE4ZjhjZjIxMGZjLi45YWE2MmM1YjVm NjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0zMjIwLDcgKzMy MjAsNyBAQCBzdGF0aWMgaW50IGk5MTVfc2VtYXBob3JlX3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUg Km0sIHZvaWQgKnVudXNlZCkKPiDCoAllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKPiDCoAlpbnQg aiwgcmV0Owo+IMKgCj4gLQlpZiAoIWk5MTVfc2VtYXBob3JlX2lzX2VuYWJsZWQoZGV2X3ByaXYp KSB7Cj4gKwlpZiAoIWk5MTUuc2VtYXBob3Jlcykgewo+IMKgCQlzZXFfcHV0cyhtLCAiU2VtYXBo b3JlcyBhcmUgZGlzYWJsZWRcbiIpOwo+IMKgCQlyZXR1cm4gMDsKPiDCoAl9Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5jCj4gaW5kZXggYzViN2I4ZTA2NzhhLi5mNDExMGJkYjdiM2UgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBAQCAtMjI4LDI3ICsyMjgsNiBAQCBzdGF0aWMgdm9pZCBp bnRlbF9kZXRlY3RfcGNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gwqAJcGNpX2Rldl9wdXQo cGNoKTsKPiDCoH0KPiDCoAo+IC1ib29sIGk5MTVfc2VtYXBob3JlX2lzX2VuYWJsZWQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IC17Cj4gLQlpZiAoSU5URUxfR0VOKGRldl9w cml2KSA8IDYpCj4gLQkJcmV0dXJuIGZhbHNlOwo+IC0KPiAtCWlmIChpOTE1LnNlbWFwaG9yZXMg Pj0gMCkKPiAtCQlyZXR1cm4gaTkxNS5zZW1hcGhvcmVzOwo+IC0KPiAtCS8qIFRPRE86IG1ha2Ug c2VtYXBob3JlcyBhbmQgRXhlY2xpc3RzIHBsYXkgbmljZWx5IHRvZ2V0aGVyICovCj4gLQlpZiAo aTkxNS5lbmFibGVfZXhlY2xpc3RzKQo+IC0JCXJldHVybiBmYWxzZTsKPiAtCj4gLSNpZmRlZiBD T05GSUdfSU5URUxfSU9NTVUKPiAtCS8qIEVuYWJsZSBzZW1hcGhvcmVzIG9uIFNOQiB3aGVuIElP IHJlbWFwcGluZyBpcyBvZmYgKi8KPiAtCWlmIChJU19HRU42KGRldl9wcml2KSAmJiBpbnRlbF9p b21tdV9nZnhfbWFwcGVkKQo+IC0JCXJldHVybiBmYWxzZTsKPiAtI2VuZGlmCj4gLQo+IC0JcmV0 dXJuIHRydWU7Cj4gLX0KPiAtCj4gwqBzdGF0aWMgaW50IGk5MTVfZ2V0cGFyYW0oc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiDCoAkJCcKgc3RydWN0IGRybV9maWxlICpmaWxl X3ByaXYpCj4gwqB7Cj4gQEAgLTMyNCw3ICszMDMsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2V0cGFy YW0oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiDCoAkJdmFsdWUgPSAxOwo+ IMKgCQlicmVhazsKPiDCoAljYXNlIEk5MTVfUEFSQU1fSEFTX1NFTUFQSE9SRVM6Cj4gLQkJdmFs dWUgPSBpOTE1X3NlbWFwaG9yZV9pc19lbmFibGVkKGRldl9wcml2KTsKPiArCQl2YWx1ZSA9IGk5 MTUuc2VtYXBob3JlczsKPiDCoAkJYnJlYWs7Cj4gwqAJY2FzZSBJOTE1X1BBUkFNX0hBU19QUklN RV9WTUFQX0ZMVVNIOgo+IMKgCQl2YWx1ZSA9IDE7Cj4gQEAgLTk5OSw2ICs5NzgsOCBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9zYW5pdGl6ZV9vcHRpb25zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiDCoAlpOTE1LmVuYWJsZV9wcGd0dCA9Cj4gwqAJCWludGVsX3Nhbml0aXplX2Vu YWJsZV9wcGd0dChkZXZfcHJpdiwgaTkxNS5lbmFibGVfcHBndHQpOwo+IMKgCURSTV9ERUJVR19E UklWRVIoInBwZ3R0IG1vZGU6ICVpXG4iLCBpOTE1LmVuYWJsZV9wcGd0dCk7Cj4gKwo+ICsJaTkx NS5zZW1hcGhvcmVzID0gaW50ZWxfc2FuaXRpemVfc2VtYXBob3JlcyhkZXZfcHJpdiwgaTkxNS5z ZW1hcGhvcmVzKTsKCkFsbCB0aGUgc2FtZSB0byBEUk1fREVCVUdfRFJJVkVSIHRvbz8KCk90aGVy d2lzZSBsb29rcyBzYW5lL21lY2hhbmljYWwgdG8gbWUsCgpSZXZpZXdlZC1ieTogSm9vbmFzIExh aHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgoKUmVnYXJkcywgSm9vbmFz Cgo+IMKgfQo+IMKgCj4gwqAvKioKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCAzY2Ex YWNlYzE1MjIuLjBmNDA4YWRhMWM2NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBA IC0yODEzLDYgKzI4MTMsOCBAQCBleHRlcm4gaW50IGk5MTVfcmVzdW1lX3N3aXRjaGVyb28oc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gwqBpbnQgaW50ZWxfc2FuaXRpemVfZW5hYmxlX3BwZ3R0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiDCoAkJCcKgwqDCoMKgwqDCoMKg CWludCBlbmFibGVfcHBndHQpOwo+IMKgCj4gK2Jvb2wgaW50ZWxfc2FuaXRpemVfc2VtYXBob3Jl cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCB2YWx1ZSk7Cj4gKwo+IMKg LyogaTkxNV9kcnYuYyAqLwo+IMKgdm9pZCBfX3ByaW50ZigzLCA0KQo+IMKgX19pOTE1X3ByaW50 ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGNvbnN0IGNoYXIgKmxldmVsLAo+ IEBAIC0zNjQxLDcgKzM2NDMsNiBAQCBleHRlcm4gdm9pZCBpbnRlbF9zZXRfcnBzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTggdmFsKTsKPiDCoGV4dGVybiB2b2lkIGludGVs X3NldF9tZW1vcnlfY3hzcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqAJ CQkJwqDCoGJvb2wgZW5hYmxlKTsKPiDCoAo+IC1leHRlcm4gYm9vbCBpOTE1X3NlbWFwaG9yZV9p c19lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gwqBpbnQgaTkx NV9yZWdfcmVhZF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+IMKg CQkJc3RydWN0IGRybV9maWxlICpmaWxlKTsKPiDCoAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ IGluZGV4IDUzNmFjZDUyNzM1OS4uNDAwNDdlYjQ4ODI2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCj4gQEAgLTI4NTYsNyArMjg1Niw3IEBAIF9faTkxNV9nZW1fb2JqZWN0X3N5bmMoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiDCoAlpZiAoaTkxNV9nZW1fcmVxdWVzdF9j b21wbGV0ZWQoZnJvbV9yZXEpKQo+IMKgCQlyZXR1cm4gMDsKPiDCoAo+IC0JaWYgKCFpOTE1X3Nl bWFwaG9yZV9pc19lbmFibGVkKHRvX2k5MTUob2JqLT5iYXNlLmRldikpKSB7Cj4gKwlpZiAoIWk5 MTUuc2VtYXBob3Jlcykgewo+IMKgCQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRv X2k5MTUob2JqLT5iYXNlLmRldik7Cj4gwqAJCXJldCA9IF9faTkxNV93YWl0X3JlcXVlc3QoZnJv bV9yZXEsCj4gwqAJCQkJCcKgwqBpOTE1LT5tbS5pbnRlcnJ1cHRpYmxlLAo+IEBAIC00NTM3LDYg KzQ1MzcsMjcgQEAgb3V0Ogo+IMKgCXJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiArYm9vbCBpbnRl bF9zYW5pdGl6ZV9zZW1hcGhvcmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg aW50IHZhbHVlKQo+ICt7Cj4gKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8IDYpCj4g KwkJcmV0dXJuIGZhbHNlOwo+ICsKPiArCS8qIFRPRE86IG1ha2Ugc2VtYXBob3JlcyBhbmQgRXhl Y2xpc3RzIHBsYXkgbmljZWx5IHRvZ2V0aGVyICovCj4gKwlpZiAoaTkxNS5lbmFibGVfZXhlY2xp c3RzKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlpZiAodmFsdWUgPj0gMCkKPiArCQlyZXR1 cm4gdmFsdWU7Cj4gKwo+ICsjaWZkZWYgQ09ORklHX0lOVEVMX0lPTU1VCj4gKwkvKiBFbmFibGUg c2VtYXBob3JlcyBvbiBTTkIgd2hlbiBJTyByZW1hcHBpbmcgaXMgb2ZmICovCj4gKwlpZiAoSU5U RUxfSU5GTyhkZXZfcHJpdiktPmdlbiA9PSA2ICYmIGludGVsX2lvbW11X2dmeF9tYXBwZWQpCj4g KwkJcmV0dXJuIGZhbHNlOwo+ICsjZW5kaWYKPiArCj4gKwlyZXR1cm4gdHJ1ZTsKPiArfQo+ICsK PiDCoGludCBpOTE1X2dlbV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gwqB7Cj4gwqAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRleCAyNjAwOTM5ZmMyZWUuLmJk MTNkMDg0ZTE5YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9j b250ZXh0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMK PiBAQCAtNTU2LDcgKzU1Niw3IEBAIG1pX3NldF9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxLCB1MzIgaHdfZmxhZ3MpCj4gwqAJdTMyIGZsYWdzID0gaHdfZmxhZ3MgfCBN SV9NTV9TUEFDRV9HVFQ7Cj4gwqAJY29uc3QgaW50IG51bV9yaW5ncyA9Cj4gwqAJCS8qIFVzZSBh biBleHRlbmRlZCB3L2Egb24gaXZiKyBpZiBzaWduYWxsaW5nIGZyb20gb3RoZXIgcmluZ3MgKi8K PiAtCQlpOTE1X3NlbWFwaG9yZV9pc19lbmFibGVkKGRldl9wcml2KSA/Cj4gKwkJaTkxNS5zZW1h cGhvcmVzID8KPiDCoAkJaHdlaWdodDMyKElOVEVMX0lORk8oZGV2X3ByaXYpLT5yaW5nX21hc2sp IC0gMSA6Cj4gwqAJCTA7Cj4gwqAJaW50IGxlbiwgcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9ncHVfZXJyb3IuYwo+IGluZGV4IDZkYWFmNGVjZDJkYS4uNGQzOWM3Mjg0NjA1IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4gQEAgLTg2Myw3ICs4NjMsNyBAQCBz dGF0aWMgdm9pZCBnZW44X3JlY29yZF9zZW1hcGhvcmVfc3RhdGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+IMKgCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnRvOwo+IMKgCWVu dW0gaW50ZWxfZW5naW5lX2lkIGlkOwo+IMKgCj4gLQlpZiAoIWk5MTVfc2VtYXBob3JlX2lzX2Vu YWJsZWQoZGV2X3ByaXYpKQo+ICsJaWYgKCFpOTE1LnNlbWFwaG9yZXMpCj4gwqAJCXJldHVybjsK PiDCoAo+IMKgCWlmICghZXJyb3ItPnNlbWFwaG9yZV9vYmopCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4IGI5NjM4ZTE5ZDMwNC4uYjg0NGU2OTg0YWU3IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IEBAIC0yNjc5LDcg KzI2NzksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9yaW5nX2luaXRfc2VtYXBob3JlcyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iajsKPiDCoAlpbnQgcmV0LCBpOwo+IMKgCj4gLQlpZiAoIWk5MTVfc2VtYXBob3JlX2lz X2VuYWJsZWQoZGV2X3ByaXYpKQo+ICsJaWYgKCFpOTE1LnNlbWFwaG9yZXMpCj4gwqAJCXJldHVy bjsKPiDCoAo+IMKgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDggJiYgIWRldl9wcml2LT5z ZW1hcGhvcmVfb2JqKSB7Cj4gQEAgLTI3MDAsNyArMjcwMCw3IEBAIHN0YXRpYyB2b2lkIGludGVs X3JpbmdfaW5pdF9zZW1hcGhvcmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiDCoAkJfQo+IMKgCX0KPiDCoAo+IC0JaWYgKCFpOTE1X3NlbWFwaG9yZV9pc19lbmFibGVkKGRl dl9wcml2KSkKPiArCWlmICghaTkxNS5zZW1hcGhvcmVzKQo+IMKgCQlyZXR1cm47Cj4gwqAKPiDC oAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KSB7Cj4gQEAgLTI4MzgsNyArMjgzOCw3IEBA IGludCBpbnRlbF9pbml0X3JlbmRlcl9yaW5nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCj4gwqAJCWVuZ2luZS0+aW5pdF9jb250ZXh0ID0gaW50ZWxfcmNzX2N0eF9pbml0 Owo+IMKgCQllbmdpbmUtPmFkZF9yZXF1ZXN0ID0gZ2VuOF9yZW5kZXJfYWRkX3JlcXVlc3Q7Cj4g wqAJCWVuZ2luZS0+Zmx1c2ggPSBnZW44X3JlbmRlcl9yaW5nX2ZsdXNoOwo+IC0JCWlmIChpOTE1 X3NlbWFwaG9yZV9pc19lbmFibGVkKGRldl9wcml2KSkKPiArCQlpZiAoaTkxNS5zZW1hcGhvcmVz KQo+IMKgCQkJZW5naW5lLT5zZW1hcGhvcmUuc2lnbmFsID0gZ2VuOF9yY3Nfc2lnbmFsOwo+IMKg CX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA2KSB7Cj4gwqAJCWVuZ2luZS0+aW5p dF9jb250ZXh0ID0gaW50ZWxfcmNzX2N0eF9pbml0OwotLSAKSm9vbmFzIExhaHRpbmVuCk9wZW4g U291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCkludGVsIENvcnBvcmF0aW9uCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=