From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 2/9] drm/i915: Kill off intel_crtc->atomic.wait_vblank, v3. Date: Wed, 13 Jan 2016 14:58:06 +0200 Message-ID: <20160113125806.GF23290@intel.com> References: <1452515269-6221-1-git-send-email-maarten.lankhorst@linux.intel.com> <1452515269-6221-3-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 72A566E44F for ; Wed, 13 Jan 2016 04:58:10 -0800 (PST) Content-Disposition: inline In-Reply-To: <1452515269-6221-3-git-send-email-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 List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKYW4gMTEsIDIwMTYgYXQgMDE6Mjc6NDJQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gQ3VycmVudGx5IHdlIHBlcmZvcm0gb3VyIG93biB3YWl0IGluIHBvc3RfcGxh bmVfdXBkYXRlLAo+IGJ1dCB0aGUgYXRvbWljIGNvcmUgcGVyZm9ybXMgYW5vdGhlciBvbmUgaW4g d2FpdF9mb3JfdmJsYW5rcy4KPiBUaGlzIG1lYW5zIHRoYXQgMiB2YmxhbmtzIGFyZSBkb25lIHdo ZW4gYSBmYiBpcyBjaGFuZ2VkLAo+IHdoaWNoIGlzIGEgYml0IG92ZXJraWxsLgo+IAo+IE1lcmdl IHRoZW0gYnkgY3JlYXRpbmcgYSBoZWxwZXIgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIGNydGMgbWFz awo+IGZvciB0aGUgcGxhbmVzIHRvIHdhaXQgb24uCj4gCj4gVGhlIGJyb2Fkd2VsbCB2Ymxhbmsg d29ya2Fyb3VuZCBtYXkgbG9vayBnb25lIGVudGlyZWx5IGJ1dCB0aGlzIGlzCj4gbm90IHRoZSBj YXNlLiBwaXBlX2NvbmZpZy0+d21fY2hhbmdlZCBpcyBzZXQgdG8gdHJ1ZQo+IHdoZW4gYW55IHBs YW5lIGlzIHR1cm5lZCBvbiwgd2hpY2ggZm9yY2VzIGEgdmJsYW5rIHdhaXQuCgpTdGlsbCBOQUss IGJlY2F1c2UgeW91IGp1c3QgcmVtb3ZlZCB0aGUgY29tbWVudCBlbnRpcmVseS4KCj4gCj4gQ2hh bmdlcyBzaW5jZSB2MToKPiAtIFJlbW92aW5nIHRoZSBkb3VibGUgdmJsYW5rIHdhaXQgb24gYnJv YWR3ZWxsIG1vdmVkIHRvIGl0cyBvd24gY29tbWl0Lgo+IENoYW5nZXMgc2luY2UgdjI6Cj4gLSBN b3ZlIG91dCBQT1dFUl9ET01BSU5fTU9ERVNFVCBoYW5kbGluZyB0byBpdHMgb3duIGNvbW1pdC4K PiAKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RA bGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9t aWMuYyAgfCAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDgw ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDYxIGluc2Vy dGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21p Yy5jCj4gaW5kZXggOTY4MmQ5NGFmNzEwLi5iYTlhNTdmMzNjNDMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9hdG9taWMuYwo+IEBAIC05OCw2ICs5OCw3IEBAIGludGVsX2NydGNfZHVwbGlj YXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCWNydGNfc3RhdGUtPmRpc2FibGVf Y3hzciA9IGZhbHNlOwo+ICAJY3J0Y19zdGF0ZS0+d21fY2hhbmdlZCA9IGZhbHNlOwo+ICAJY3J0 Y19zdGF0ZS0+d20ubmVlZF9wb3N0dmJsX3VwZGF0ZSA9IGZhbHNlOwo+ICsJY3J0Y19zdGF0ZS0+ ZmJfY2hhbmdlZCA9IGZhbHNlOwo+ICAKPiAgCXJldHVybiAmY3J0Y19zdGF0ZS0+YmFzZTsKPiAg fQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCAyYWExYzUzNjc2MjUu LmVhYzczZjAwNWE3MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBA QCAtNDc5Niw5ICs0Nzk2LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUo c3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5i YXNlLnN0YXRlKTsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsK PiAgCj4gLQlpZiAoYXRvbWljLT53YWl0X3ZibGFuaykKPiAtCQlpbnRlbF93YWl0X2Zvcl92Ymxh bmsoZGV2LCBjcnRjLT5waXBlKTsKPiAtCj4gIAlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKGRldiwg YXRvbWljLT5mYl9iaXRzKTsKPiAgCj4gIAljcnRjLT53bS5jeHNyX2FsbG93ZWQgPSB0cnVlOwo+ IEBAIC0xMTg3Miw2ICsxMTg2OSw5IEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFu Z2VzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCWlmICghd2FzX3Zpc2li bGUgJiYgIXZpc2libGUpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICsJaWYgKGZiICE9IG9sZF9wbGFu ZV9zdGF0ZS0+YmFzZS5mYikKPiArCQlwaXBlX2NvbmZpZy0+ZmJfY2hhbmdlZCA9IHRydWU7CgpJ c24ndCB0aGF0IGdvaW5nIHRvIHNsb3cgZG93biBjdXJzb3IgdXBkYXRlcyBvbmNlIGFnYWluPwoK PiArCj4gIAl0dXJuX29mZiA9IHdhc192aXNpYmxlICYmICghdmlzaWJsZSB8fCBtb2RlX2NoYW5n ZWQpOwo+ICAJdHVybl9vbiA9IHZpc2libGUgJiYgKCF3YXNfdmlzaWJsZSB8fCBtb2RlX2NoYW5n ZWQpOwo+ICAKPiBAQCAtMTE4ODcsOCArMTE4ODcsNiBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWlj X2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAo+ICAJ CS8qIG11c3QgZGlzYWJsZSBjeHNyIGFyb3VuZCBwbGFuZSBlbmFibGUvZGlzYWJsZSAqLwo+ICAJ CWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpIHsKPiAtCQkJaWYgKGlz X2NydGNfZW5hYmxlZCkKPiAtCQkJCWludGVsX2NydGMtPmF0b21pYy53YWl0X3ZibGFuayA9IHRy dWU7Cj4gIAkJCXBpcGVfY29uZmlnLT5kaXNhYmxlX2N4c3IgPSB0cnVlOwo+ICAJCX0KPiAgCX0g ZWxzZSBpZiAoaW50ZWxfd21fbmVlZF91cGRhdGUocGxhbmUsIHBsYW5lX3N0YXRlKSkgewo+IEBA IC0xMTk0MCwxNCArMTE5MzgsNiBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdl cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAkJICAgIHBsYW5lX3N0YXRl LT5yb3RhdGlvbiAhPSBCSVQoRFJNX1JPVEFURV8wKSkKPiAgCQkJaW50ZWxfY3J0Yy0+YXRvbWlj LmRpc2FibGVfZmJjID0gdHJ1ZTsKPiAgCj4gLQkJLyoKPiAtCQkgKiBCRFcgc2lnbmFscyBmbGlw IGRvbmUgaW1tZWRpYXRlbHkgaWYgdGhlIHBsYW5lCj4gLQkJICogaXMgZGlzYWJsZWQsIGV2ZW4g aWYgdGhlIHBsYW5lIGVuYWJsZSBpcyBhbHJlYWR5Cj4gLQkJICogYXJtZWQgdG8gb2NjdXIgYXQg dGhlIG5leHQgdmJsYW5rIDooCj4gLQkJICovCj4gLQkJaWYgKHR1cm5fb24gJiYgSVNfQlJPQURX RUxMKGRldikpCj4gLQkJCWludGVsX2NydGMtPmF0b21pYy53YWl0X3ZibGFuayA9IHRydWU7Cj4g LQo+ICAJCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfZmJjIHw9IHZpc2libGUgfHwgbW9kZV9j aGFuZ2VkOwo+ICAJCWJyZWFrOwo+ICAJY2FzZSBEUk1fUExBTkVfVFlQRV9DVVJTT1I6Cj4gQEAg LTExOTYyLDEyICsxMTk1MiwxMCBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdl cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAkJaWYgKElTX0lWWUJSSURH RShkZXYpICYmCj4gIAkJICAgIG5lZWRzX3NjYWxpbmcodG9faW50ZWxfcGxhbmVfc3RhdGUocGxh bmVfc3RhdGUpKSAmJgo+ICAJCSAgICAhbmVlZHNfc2NhbGluZyhvbGRfcGxhbmVfc3RhdGUpKSB7 Cj4gLQkJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSktPmRpc2FibGVfbHBfd20gPSB0 cnVlOwo+IC0JCX0gZWxzZSBpZiAodHVybl9vZmYgJiYgIW1vZGVfY2hhbmdlZCkgewo+IC0JCQlp bnRlbF9jcnRjLT5hdG9taWMud2FpdF92YmxhbmsgPSB0cnVlOwo+ICsJCQlwaXBlX2NvbmZpZy0+ ZGlzYWJsZV9scF93bSA9IHRydWU7Cj4gKwkJfSBlbHNlIGlmICh0dXJuX29mZiAmJiAhbW9kZV9j aGFuZ2VkKQo+ICAJCQlpbnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtz IHw9Cj4gIAkJCQkxIDw8IGk7Cj4gLQkJfQo+ICAKPiAgCQlicmVhazsKPiAgCX0KPiBAQCAtMTM1 MDksNiArMTM0OTcsNDggQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfcHJlcGFyZV9jb21taXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gK3N0YXRp YyB2b2lkIGludGVsX2F0b21pY193YWl0X2Zvcl92YmxhbmtzKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gKwkJCQkJICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCQkJ ICB1bnNpZ25lZCBjcnRjX21hc2spCj4gK3sKPiArCXVuc2lnbmVkIGxhc3RfdmJsYW5rX2NvdW50 W0k5MTVfTUFYX1BJUEVTXTsKPiArCWVudW0gcGlwZSBwaXBlOwo+ICsJaW50IHJldDsKPiArCj4g KwlpZiAoIWNydGNfbWFzaykKPiArCQlyZXR1cm47Cj4gKwo+ICsJZm9yX2VhY2hfcGlwZShkZXZf cHJpdiwgcGlwZSkgewo+ICsJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGRldl9wcml2LT5waXBl X3RvX2NydGNfbWFwcGluZ1twaXBlXTsKPiArCj4gKwkJaWYgKCEoKDEgPDwgcGlwZSkgJiBjcnRj X21hc2spKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJcmV0ID0gZHJtX2NydGNfdmJsYW5rX2dl dChjcnRjKTsKPiArCQlpZiAocmV0ICE9IDApIHsKPiArCQkJY3J0Y19tYXNrICY9IH4oMSA8PCBw aXBlKTsKPiArCQkJY29udGludWU7Cj4gKwkJfQo+ICsKPiArCQlsYXN0X3ZibGFua19jb3VudFtw aXBlXSA9IGRybV9jcnRjX3ZibGFua19jb3VudChjcnRjKTsKPiArCX0KPiArCj4gKwlmb3JfZWFj aF9waXBlKGRldl9wcml2LCBwaXBlKSB7Cj4gKwkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gZGV2 X3ByaXYtPnBpcGVfdG9fY3J0Y19tYXBwaW5nW3BpcGVdOwo+ICsKPiArCQlpZiAoISgoMSA8PCBw aXBlKSAmIGNydGNfbWFzaykpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQl3YWl0X2V2ZW50X3Rp bWVvdXQoZGV2LT52YmxhbmtbcGlwZV0ucXVldWUsCj4gKwkJCQlsYXN0X3ZibGFua19jb3VudFtw aXBlXSAhPQo+ICsJCQkJCWRybV9jcnRjX3ZibGFua19jb3VudChjcnRjKSwKPiArCQkJCW1zZWNz X3RvX2ppZmZpZXMoNTApKTsKPiArCj4gKwkJZHJtX2NydGNfdmJsYW5rX3B1dChjcnRjKTsKPiAr CX0KPiArfQo+ICsKPiArCj4gIC8qKgo+ICAgKiBpbnRlbF9hdG9taWNfY29tbWl0IC0gY29tbWl0 IHZhbGlkYXRlZCBzdGF0ZSBvYmplY3QKPiAgICogQGRldjogRFJNIGRldmljZQo+IEBAIC0xMzUz Nyw2ICsxMzU2Nyw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAJaW50IHJldCA9IDAsIGk7Cj4gIAlib29sIGh3X2NoZWNrID0gaW50 ZWxfc3RhdGUtPm1vZGVzZXQ7Cj4gIAl1bnNpZ25lZCBsb25nIHB1dF9kb21haW5zW0k5MTVfTUFY X1BJUEVTXSA9IHt9Owo+ICsJdW5zaWduZWQgY3J0Y192YmxhbmtfbWFzayA9IDA7Cj4gIAo+ICAJ cmV0ID0gaW50ZWxfYXRvbWljX3ByZXBhcmVfY29tbWl0KGRldiwgc3RhdGUsIGFzeW5jKTsKPiAg CWlmIChyZXQpIHsKPiBAQCAtMTM2MDgsOCArMTM2MzksOSBAQCBzdGF0aWMgaW50IGludGVsX2F0 b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCWZvcl9lYWNoX2NydGNfaW5f c3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKPiAgCQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gIAkJYm9vbCBtb2Rlc2V0ID0g bmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSk7Cj4gLQkJYm9vbCB1cGRhdGVfcGlwZSA9ICFtb2Rl c2V0ICYmCj4gLQkJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpLT51cGRhdGVfcGlw ZTsKPiArCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQo+ICsJCQl0b19p bnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiArCQlib29sIHVwZGF0ZV9waXBlID0gIW1v ZGVzZXQgJiYgcGlwZV9jb25maWctPnVwZGF0ZV9waXBlOwo+ICAKPiAgCQlpZiAobW9kZXNldCAm JiBjcnRjLT5zdGF0ZS0+YWN0aXZlKSB7Cj4gIAkJCXVwZGF0ZV9zY2FubGluZV9vZmZzZXQodG9f aW50ZWxfY3J0YyhjcnRjKSk7Cj4gQEAgLTEzNjIzLDEyICsxMzY1NSwxOCBAQCBzdGF0aWMgaW50 IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkgICAgKGNy dGMtPnN0YXRlLT5wbGFuZXNfY2hhbmdlZCB8fCB1cGRhdGVfcGlwZSkpCj4gIAkJCWRybV9hdG9t aWNfaGVscGVyX2NvbW1pdF9wbGFuZXNfb25fY3J0YyhjcnRjX3N0YXRlKTsKPiAgCj4gLQkJaW50 ZWxfcG9zdF9wbGFuZV91cGRhdGUoaW50ZWxfY3J0Yyk7Cj4gKwkJaWYgKHBpcGVfY29uZmlnLT5i YXNlLmFjdGl2ZSAmJgo+ICsJCSAgICAocGlwZV9jb25maWctPndtX2NoYW5nZWQgfHwgcGlwZV9j b25maWctPmRpc2FibGVfY3hzciB8fAo+ICsJCSAgICAgcGlwZV9jb25maWctPmZiX2NoYW5nZWQp KQo+ICsJCQljcnRjX3ZibGFua19tYXNrIHw9IDEgPDwgaTsKPiAgCX0KPiAgCj4gIAkvKiBGSVhN RTogYWRkIHN1YnBpeGVsIG9yZGVyICovCj4gIAo+IC0JZHJtX2F0b21pY19oZWxwZXJfd2FpdF9m b3JfdmJsYW5rcyhkZXYsIHN0YXRlKTsKPiArCWludGVsX2F0b21pY193YWl0X2Zvcl92Ymxhbmtz KGRldiwgZGV2X3ByaXYsIGNydGNfdmJsYW5rX21hc2spOwo+ICsKPiArCWZvcl9lYWNoX2NydGNf aW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpCj4gKwkJaW50ZWxfcG9zdF9wbGFu ZV91cGRhdGUodG9faW50ZWxfY3J0YyhjcnRjKSk7Cj4gIAo+ICAJLyoKPiAgCSAqIE5vdyB0aGF0 IHRoZSB2YmxhbmsgaGFzIHBhc3NlZCwgd2UgY2FuIGdvIGFoZWFkIGFuZCBwcm9ncmFtIHRoZQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggYmRmZTQwMzVlMDc0Li44OTQwYWE0Y2Y1 MGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0zODUsNiArMzg1LDcgQEAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+ICAJYm9vbCB1cGRhdGVfcGlwZTsgLyogY2FuIGEg ZmFzdCBtb2Rlc2V0IGJlIHBlcmZvcm1lZD8gKi8KPiAgCWJvb2wgZGlzYWJsZV9jeHNyOwo+ICAJ Ym9vbCB3bV9jaGFuZ2VkOyAvKiB3YXRlcm1hcmtzIGFyZSB1cGRhdGVkICovCj4gKwlib29sIGZi X2NoYW5nZWQ7IC8qIGZiIG9uIGFueSBvZiB0aGUgcGxhbmVzIGlzIGNoYW5nZWQgKi8KPiAgCj4g IAkvKiBQaXBlIHNvdXJjZSBzaXplIChpZS4gcGFuZWwgZml0dGVyIGlucHV0IHNpemUpCj4gIAkg KiBBbGwgcGxhbmVzIHdpbGwgYmUgcG9zaXRpb25lZCBpbnNpZGUgdGhpcyBzcGFjZSwKPiBAQCAt NTcwLDcgKzU3MSw2IEBAIHN0cnVjdCBpbnRlbF9jcnRjX2F0b21pY19jb21taXQgewo+ICAKPiAg CS8qIFNsZWVwYWJsZSBvcGVyYXRpb25zIHRvIHBlcmZvcm0gYWZ0ZXIgY29tbWl0ICovCj4gIAl1 bnNpZ25lZCBmYl9iaXRzOwo+IC0JYm9vbCB3YWl0X3ZibGFuazsKPiAgCWJvb2wgdXBkYXRlX2Zi YzsKPiAgCWJvb2wgcG9zdF9lbmFibGVfcHJpbWFyeTsKPiAgCXVuc2lnbmVkIHVwZGF0ZV9zcHJp dGVfd2F0ZXJtYXJrczsKPiAtLSAKPiAyLjEuMAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9U QwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=