From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [RFC] drm/i915: GEM_WARN_ON considered harmful Date: Mon, 24 Sep 2018 12:34:18 +0300 Message-ID: <87lg7rw86d.fsf@intel.com> References: <20180907115351.31644-1-tvrtko.ursulin@linux.intel.com> <24262b54-c743-dbf7-516c-f273c65bd7eb@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 ESMTPS id E2F516E07C for ; Mon, 24 Sep 2018 09:41:26 +0000 (UTC) In-Reply-To: <24262b54-c743-dbf7-516c-f273c65bd7eb@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: Tvrtko Ursulin , Tvrtko Ursulin , Intel-gfx@lists.freedesktop.org Cc: Matthew Auld , Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMCBTZXAgMjAxOCwgVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gUGluZyEKPgo+IEFueSBjb21tZW50cyBoZXJlPwo+Cj4gTWFp biBnb2FsIHdhcyB0byBhbGxvdyBHRU1fV0FSTl9PTiBhcyBhIHN0YXRlbWVudCwgcGx1cyBhbHNv IHByb3RlY3QgCj4gdXNlcyBpbiBpZiBzdGF0ZW1lbnRzLCB3aGljaCB0aGVyZSBhcmUgc29tZSB3 aG8gSSB0aGluayBkb24ndCBleHBlY3QgdGhlIAo+IGJyYW5jaCB0byBjb21wbGV0ZWx5IGRpc2Fw cGVhci4KCkkndmUgc2FpZCBiZWZvcmUgSSBkb24ndCBsaWtlIHRoZSBjb25kaXRpb25hbCBlYXJs eSByZXR1cm5zIHZhbmlzaGluZwpkZXBlbmRpbmcgb24gY29uZmlnIG9wdGlvbnMsIGJ1dCBJJ3Zl IGJlZW4gc2hvdCBkb3duLiBJIHRoaW5rIHRoaXMgcGF0Y2gKaXMgYW4gaW1wcm92ZW1lbnQuCgoK QlIsCkphbmkuCgoKPgo+IFJlZ2FyZHMsCj4KPiBUdnJ0a28KPgo+IE9uIDA3LzA5LzIwMTggMTI6 NTMsIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+PiBGcm9tOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgo+PiAKPj4gR0VNX1dBUk5fT04gY3VycmVudGx5IGhhcyBkYW5n ZXJvdXMgc2VtYW50aWNzIHdoZXJlIGl0IGlzIGNvbXBsZXRlbHkKPj4gY29tcGlsZWQgb3V0IG9u ICFHRU1fREVCVUcgYnVpbGRzLiBUaGlzIGNhbiBsZWF2ZSB1c2VycyB3aG8gZXhwZWN0IGl0IHRv Cj4+IGJlIG1vcmUgbGlrZSBhIFdBUk5fT04sIGp1c3Qgd2l0aG91dCBhIHdhcm5pbmcgaW4gbm9u LWRlYnVnIGJ1aWxkcywgaW4KPj4gY29tcGxldGUgaWdub3JhbmNlLgo+PiAKPj4gQW5vdGhlciBn b3RjaGEgd2l0aCBpdCBpcyB0aGF0IGl0IGNhbm5vdCBiZSB1c2VkIGFzIGEgc3RhdGVtZW50LiBX aGljaCBpcwo+PiBhZ2FpbiBkaWZmZXJlbnQgZnJvbSBhIHN0YW5kYXJkIGtlcm5lbCBXQVJOX09O Lgo+PiAKPj4gVGhpcyBwYXRjaCBmaXhlcyBib3RoIHByb2JsZW1zIGJ5IG1ha2luZyBpdCBiZWhh dmUgYXMgb25lIHdvdWxkIGV4cGVjdC4KPj4gCj4+IEl0IGNhbiBub3cgYmUgdXNlZCBib3RoIGFz IGFuIGV4cHJlc3Npb24gYW5kIGFzIHN0YXRlbWVudCwgYW5kIGFsc28gdGhlCj4+IGNvbmRpdGlv biBldmFsdWF0ZXMgcHJvcGVybHkgaW4gYWxsIGJ1aWxkcyAtIGNvZGUgdW5kZXIgdGhlIGNvbmRp dGlvbmFsCj4+IHdpbGwgdGhlcmVmb3JlIG5vdCB1bmV4cGVjdGVkbHkgZGlzYXBwZWFyLgo+PiAK Pj4gVG8gc2F0aXNmeSBjYWxsIHNpdGVzIHdoaWNoIHJlYWxseSB3YW50IHRoZSBjb2RlIHVuZGVy IHRoZSBjb25kaXRpb25hbCB0bwo+PiBjb21wbGV0ZWx5IGRpc2FwcGVhciwgd2UgYWRkIEdFTV9E RUJVR19XQVJOX09OIGFuZCBjb252ZXJ0IHNvbWUgb2YgdGhlCj4+IGNhbGxlcnMgdG8gaXQuIFRo aXMgb25lIGNhbiBhbHNvIGJlIHVzZWQgYXMgYm90aCBleHByZXNzaW9uIGFuZCBzdGF0ZW1lbnQu Cj4+IAo+PiAgRnJvbSB0aGUgYWJvdmUgaXQgZm9sbG93cyBHRU1fREVCVUdfV0FSTl9PTiBzaG91 bGQgYmUgdXNlZCBpbiBzaXR1YXRpb25zCj4+IHdoZXJlIHdlIGFyZSBjZXJ0YWluIHRoZSBjb25k aXRpb24gd2lsbCBiZSBoaXQgZHVyaW5nIGRldmVsb3BtZW50LCBidXQgYXQKPj4gYSBwbGFjZSBp biBjb2RlIHdoZXJlIGVycm9yIGNhbiBiZSBoYW5kbGVkIHRvIHRoZSBiZW5lZml0IG9mIG5vdCBj cmFzaGluZwo+PiB0aGUgbWFjaGluZS4KPj4gCj4+IEdFTV9XQVJOX09OIG9uIHRoZSBvdGhlciBo YW5kIHNob3VsZCBiZSB1c2VkIHdoZXJlIGNvbmRpdGlvbiBtYXkgaGFwcGVuIGluCj4+IHByb2R1 Y3Rpb24gYW5kIHdlIGp1c3Qgd2FudCB0byBkaXN0aW5ndWlzaCB0aGUgbGV2ZWwgb2YgZGVidWdn aW5nIG91dHB1dAo+PiBlbWl0dGVkIGJldHdlZW4gdGhlIHByb2R1Y3Rpb24gYW5kIGRlYnVnIGJ1 aWxkLgo+PiAKPj4gU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGlu QGludGVsLmNvbT4KPj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr Pgo+PiBDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29t Pgo+PiBDYzogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgo+PiBDYzogTWlr YSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+Cj4+IC0tLQo+PiBRdWlja2x5IHB1 dCB0b2dldGhlciBhbmQgY29tcGlsZSB0ZXN0ZWQgb25seSEKPj4gLS0tCj4+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uaCAgICAgICAgICB8IDQgKysrLQo+PiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdm1hLmMgICAgICAgICAgfCA4ICsrKystLS0tCj4+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgICB8IDggKysrKy0tLS0KPj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgIHwgOCArKysrLS0tLQo+PiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcmthcm91bmRzLmMgfCAyICstCj4+ICAgNSBmaWxlcyBj aGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKPj4gCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uaAo+PiBpbmRleCA1OTljNGY2ZWIxZWEuLmIwZTRiOTc2ODgwYyAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uaAo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5oCj4+IEBAIC00NywxNyArNDcsMTkgQEAgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGU7Cj4+ICAgI2RlZmluZSBHRU1fREVCVUdfREVDTCh2YXIpIHZhcgo+PiAg ICNkZWZpbmUgR0VNX0RFQlVHX0VYRUMoZXhwcikgZXhwcgo+PiAgICNkZWZpbmUgR0VNX0RFQlVH X0JVR19PTihleHByKSBHRU1fQlVHX09OKGV4cHIpCj4+ICsjZGVmaW5lIEdFTV9ERUJVR19XQVJO X09OKGV4cHIpIEdFTV9XQVJOX09OKGV4cHIpCj4+ICAgCj4+ICAgI2Vsc2UKPj4gICAKPj4gICAj ZGVmaW5lIEdFTV9TSE9XX0RFQlVHKCkgKDApCj4+ICAgCj4+ICAgI2RlZmluZSBHRU1fQlVHX09O KGV4cHIpIEJVSUxEX0JVR19PTl9JTlZBTElEKGV4cHIpCj4+IC0jZGVmaW5lIEdFTV9XQVJOX09O KGV4cHIpIChCVUlMRF9CVUdfT05fSU5WQUxJRChleHByKSwgMCkKPj4gKyNkZWZpbmUgR0VNX1dB Uk5fT04oZXhwcikgKHsgdW5saWtlbHkoISEoZXhwcikpOyB9KQo+PiAgIAo+PiAgICNkZWZpbmUg R0VNX0RFQlVHX0RFQ0wodmFyKQo+PiAgICNkZWZpbmUgR0VNX0RFQlVHX0VYRUMoZXhwcikgZG8g eyB9IHdoaWxlICgwKQo+PiAgICNkZWZpbmUgR0VNX0RFQlVHX0JVR19PTihleHByKQo+PiArI2Rl ZmluZSBHRU1fREVCVUdfV0FSTl9PTihleHByKSAoeyBCVUlMRF9CVUdfT05fSU5WQUxJRChleHBy KTsgMDsgfSkKPj4gICAjZW5kaWYKPj4gICAKPj4gICAjaWYgSVNfRU5BQkxFRChDT05GSUdfRFJN X0k5MTVfVFJBQ0VfR0VNKQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV92bWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKPj4gaW5kZXggMzFlZmM5 NzFhM2E4Li44MjY1MmMzZDFiZWQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdm1hLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYwo+PiBA QCAtMzA1LDEyICszMDUsMTIgQEAgaW50IGk5MTVfdm1hX2JpbmQoc3RydWN0IGk5MTVfdm1hICp2 bWEsIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwKPj4gICAJR0VNX0JVR19PTigh ZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKTsKPj4gICAJR0VNX0JVR19PTih2bWEt PnNpemUgPiB2bWEtPm5vZGUuc2l6ZSk7Cj4+ICAgCj4+IC0JaWYgKEdFTV9XQVJOX09OKHJhbmdl X292ZXJmbG93cyh2bWEtPm5vZGUuc3RhcnQsCj4+IC0JCQkJCXZtYS0+bm9kZS5zaXplLAo+PiAt CQkJCQl2bWEtPnZtLT50b3RhbCkpKQo+PiArCWlmIChHRU1fREVCVUdfV0FSTl9PTihyYW5nZV9v dmVyZmxvd3Modm1hLT5ub2RlLnN0YXJ0LAo+PiArCQkJCQkgICAgICB2bWEtPm5vZGUuc2l6ZSwK Pj4gKwkJCQkJICAgICAgdm1hLT52bS0+dG90YWwpKSkKPj4gICAJCXJldHVybiAtRU5PREVWOwo+ PiAgIAo+PiAtCWlmIChHRU1fV0FSTl9PTighZmxhZ3MpKQo+PiArCWlmIChHRU1fREVCVUdfV0FS Tl9PTighZmxhZ3MpKQo+PiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4+ICAgCj4+ICAgCWJpbmRfZmxh Z3MgPSAwOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5l X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+PiBpbmRleCAx MGNkMDUxYmEyOWUuLjhkYmRiMThiMjY2OCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZW5naW5lX2NzLmMKPj4gQEAgLTI3MywxMyArMjczLDEzIEBAIGludGVsX2VuZ2luZV9zZXR1 cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAgCUJVSUxEX0JVR19PTihN QVhfRU5HSU5FX0NMQVNTID49IEJJVChHRU4xMV9FTkdJTkVfQ0xBU1NfV0lEVEgpKTsKPj4gICAJ QlVJTERfQlVHX09OKE1BWF9FTkdJTkVfSU5TVEFOQ0UgPj0gQklUKEdFTjExX0VOR0lORV9JTlNU QU5DRV9XSURUSCkpOwo+PiAgIAo+PiAtCWlmIChHRU1fV0FSTl9PTihpbmZvLT5jbGFzcyA+IE1B WF9FTkdJTkVfQ0xBU1MpKQo+PiArCWlmIChHRU1fREVCVUdfV0FSTl9PTihpbmZvLT5jbGFzcyA+ IE1BWF9FTkdJTkVfQ0xBU1MpKQo+PiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4+ICAgCj4+IC0JaWYg KEdFTV9XQVJOX09OKGluZm8tPmluc3RhbmNlID4gTUFYX0VOR0lORV9JTlNUQU5DRSkpCj4+ICsJ aWYgKEdFTV9ERUJVR19XQVJOX09OKGluZm8tPmluc3RhbmNlID4gTUFYX0VOR0lORV9JTlNUQU5D RSkpCj4+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPj4gICAKPj4gLQlpZiAoR0VNX1dBUk5fT04oZGV2 X3ByaXYtPmVuZ2luZV9jbGFzc1tpbmZvLT5jbGFzc11baW5mby0+aW5zdGFuY2VdKSkKPj4gKwlp ZiAoR0VNX0RFQlVHX1dBUk5fT04oZGV2X3ByaXYtPmVuZ2luZV9jbGFzc1tpbmZvLT5jbGFzc11b aW5mby0+aW5zdGFuY2VdKSkKPj4gICAJCXJldHVybiAtRUlOVkFMOwo+PiAgIAo+PiAgIAlHRU1f QlVHX09OKGRldl9wcml2LT5lbmdpbmVbaWRdKTsKPj4gQEAgLTM5OSw3ICszOTksNyBAQCBpbnQg aW50ZWxfZW5naW5lc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4g ICAJCWVyciA9IC1FSU5WQUw7Cj4+ICAgCQllcnJfaWQgPSBpZDsKPj4gICAKPj4gLQkJaWYgKEdF TV9XQVJOX09OKCFpbml0KSkKPj4gKwkJaWYgKEdFTV9ERUJVR19XQVJOX09OKCFpbml0KSkKPj4g ICAJCQlnb3RvIGNsZWFudXA7Cj4+ICAgCj4+ICAgCQllcnIgPSBpbml0KGVuZ2luZSk7Cj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jCj4+IGluZGV4IDE5YzljNDYzMDhlNS4uYTI3NGNjNjk1ZmEy IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+PiBAQCAtMTY4MSw3ICsxNjgxLDcg QEAgc3RhdGljIGludCBpbnRlbF9pbml0X3dvcmthcm91bmRfYmIoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKQo+PiAgIAl1bnNpZ25lZCBpbnQgaTsKPj4gICAJaW50IHJldDsKPj4gICAK Pj4gLQlpZiAoR0VNX1dBUk5fT04oZW5naW5lLT5pZCAhPSBSQ1MpKQo+PiArCWlmIChHRU1fREVC VUdfV0FSTl9PTihlbmdpbmUtPmlkICE9IFJDUykpCj4+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPj4g ICAKPj4gICAJc3dpdGNoIChJTlRFTF9HRU4oZW5naW5lLT5pOTE1KSkgewo+PiBAQCAtMTcyMCw4 ICsxNzIwLDggQEAgc3RhdGljIGludCBpbnRlbF9pbml0X3dvcmthcm91bmRfYmIoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+PiAgIAkgKi8KPj4gICAJZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUod2FfYmJfZm4pOyBpKyspIHsKPj4gICAJCXdhX2JiW2ldLT5vZmZzZXQgPSBiYXRj aF9wdHIgLSBiYXRjaDsKPj4gLQkJaWYgKEdFTV9XQVJOX09OKCFJU19BTElHTkVEKHdhX2JiW2ld LT5vZmZzZXQsCj4+IC0JCQkJCSAgICBDQUNIRUxJTkVfQllURVMpKSkgewo+PiArCQlpZiAoR0VN X0RFQlVHX1dBUk5fT04oIUlTX0FMSUdORUQod2FfYmJbaV0tPm9mZnNldCwKPj4gKwkJCQkJCSAg Q0FDSEVMSU5FX0JZVEVTKSkpIHsKPj4gICAJCQlyZXQgPSAtRUlOVkFMOwo+PiAgIAkJCWJyZWFr Owo+PiAgIAkJfQo+PiBAQCAtMTczMCw3ICsxNzMwLDcgQEAgc3RhdGljIGludCBpbnRlbF9pbml0 X3dvcmthcm91bmRfYmIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+PiAgIAkJd2Ff YmJbaV0tPnNpemUgPSBiYXRjaF9wdHIgLSAoYmF0Y2ggKyB3YV9iYltpXS0+b2Zmc2V0KTsKPj4g ICAJfQo+PiAgIAo+PiAtCUJVR19PTihiYXRjaF9wdHIgLSBiYXRjaCA+IENUWF9XQV9CQl9PQkpf U0laRSk7Cj4+ICsJR0VNX0JVR19PTihiYXRjaF9wdHIgLSBiYXRjaCA+IENUWF9XQV9CQl9PQkpf U0laRSk7Cj4+ICAgCj4+ICAgCWt1bm1hcF9hdG9taWMoYmF0Y2gpOwo+PiAgIAlpZiAocmV0KQo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcmthcm91bmRzLmMKPj4gaW5kZXggNGJjZGVh ZjhkOThmLi5mYjc0NmM0YjdjMzggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3dvcmthcm91bmRzLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf d29ya2Fyb3VuZHMuYwo+PiBAQCAtOTQxLDcgKzk0MSw3IEBAIHN0cnVjdCB3aGl0ZWxpc3Qgewo+ PiAgIAo+PiAgIHN0YXRpYyB2b2lkIHdoaXRlbGlzdF9yZWcoc3RydWN0IHdoaXRlbGlzdCAqdywg aTkxNV9yZWdfdCByZWcpCj4+ICAgewo+PiAtCWlmIChHRU1fV0FSTl9PTih3LT5jb3VudCA+PSBS SU5HX01BWF9OT05QUklWX1NMT1RTKSkKPj4gKwlpZiAoR0VNX0RFQlVHX1dBUk5fT04ody0+Y291 bnQgPj0gUklOR19NQVhfTk9OUFJJVl9TTE9UUykpCj4+ICAgCQlyZXR1cm47Cj4+ICAgCj4+ICAg CXctPnJlZ1t3LT5jb3VudCsrXSA9IHJlZzsKPj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4g U291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK