From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH] drm/i915/skl: Add support for the SAGV, fix underrun hangs Date: Tue, 12 Jul 2016 08:59:23 -0700 Message-ID: <20160712155923.GG18143@intel.com> References: <1468274446-29900-1-git-send-email-cpaul@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1468274446-29900-1-git-send-email-cpaul@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lyude Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, "open list:INTEL DRM DRIVERS excluding Poulsbo, Moorestow..., linux-kernel@vger.kernel.org open list" , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdWwgMTEsIDIwMTYgYXQgMDY6MDA6NDZQTSAtMDQwMCwgTHl1ZGUgd3JvdGU6Cj4g U2luY2UgdGhlIHdhdGVybWFyayBjYWxjdWxhdGlvbnMgZm9yIFNreWxha2UgYXJlIHN0aWxsIGJy b2tlbiwgd2UncmUgYXB0Cj4gdG8gaGl0dGluZyB1bmRlcnJ1bnMgdmVyeSBlYXNpbHkgdW5kZXIg bXVsdGktbW9uaXRvciBjb25maWd1cmF0aW9ucy4KPiBXaGlsZSBpdCB3b3VsZCBiZSBsb3ZlbHkg aWYgdGhpcyB3YXMgZml4ZWQsIGl0J3Mgbm90LiBBbm90aGVyIHByb2JsZW0KPiB0aGF0J3MgYmVl biBjb21pbmcgZnJvbSB0aGlzIGhvd2V2ZXIsIGlzIHRoZSBteXN0ZXJpb3VzIGlzc3VlIG9mCj4g dW5kZXJydW5zIGNhdXNpbmcgZnVsbCBzeXN0ZW0gaGFuZ3MuIEFuIGVhc3kgd2F5IHRvIHJlcHJv ZHVjZSB0aGlzIHdpdGgKPiBhIHNreWxha2Ugc3lzdGVtOgo+IAo+IC0gR2V0IGEgbGFwdG9wIHdp dGggYSBza3lsYWtlIEdQVSwgYW5kIGhvb2sgdXAgdHdvIGV4dGVybmFsIG1vbml0b3JzIHRvCj4g ICBpdAo+IC0gTW92ZSB0aGUgY3Vyc29yIGZyb20gdGhlIGJ1aWx0LWluIExDRCB0byBvbmUgb2Yg dGhlIGV4dGVybmFsIGRpc3BsYXlzCj4gICBhcyBxdWlja2x5IGFzIHlvdSBjYW4KPiAtIFlvdSds bCBnZXQgYSBmZXcgcGlwZSB1bmRlcnJ1bnMsIGFuZCBldmVudHVhbGx5IHRoZSBlbnRpcmUgc3lz dGVtIHdpbGwKPiAgIGp1c3QgZnJlZXplLgo+IAo+IEFmdGVyIGRvaW5nIGEgbG90IG9mIGludmVz dGlnYXRpb24gYW5kIHJlYWRpbmcgdGhyb3VnaCB0aGUgYnNwZWMsIEkKPiBmb3VuZCB0aGUgZXhp c3RlbmNlIG9mIHRoZSBTQUdWLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgYWRqdXN0aW5nIHRo ZQo+IHN5c3RlbSBhZ2VudCB2b2x0YWdlIGFuZCBjbG9jayBmcmVxdWVuY2llcyBkZXBlbmRpbmcg b24gaG93IG11Y2ggcG93ZXIKPiB3ZSBuZWVkLiBBY2NvcmRpbmcgdG8gdGhlIGJzcGVjOgo+IAo+ ICJUaGUgZGlzcGxheSBlbmdpbmUgYWNjZXNzIHRvIHN5c3RlbSBtZW1vcnkgaXMgYmxvY2tlZCBk dXJpbmcgdGhlCj4gIGFkanVzdG1lbnQgdGltZS4gU0FHViBkZWZhdWx0cyB0byBlbmFibGVkLiBT b2Z0d2FyZSBtdXN0IHVzZSB0aGUKPiAgR1QtZHJpdmVyIHBjb2RlIG1haWxib3ggdG8gZGlzYWJs ZSBTQUdWIHdoZW4gdGhlIGRpc3BsYXkgZW5naW5lIGlzIG5vdAo+ICBhYmxlIHRvIHRvbGVyYXRl IHRoZSBibG9ja2luZyB0aW1lLiIKPiAKPiBUaGUgcmVzdCBvZiB0aGUgYnNwZWMgZ29lcyBvbiB0 byBleHBsYWluIHRoYXQgc29mdHdhcmUgY2FuIHNpbXBseSBsZWF2ZQo+IHRoZSBTQUdWIGVuYWJs ZWQsIGFuZCBkaXNhYmxlIGl0IHdoZW4gd2UgdXNlIGludGVybGFjZWQgcGlwZXMvaGF2ZSBtb3Jl Cj4gdGhlbiBvbmUgcGlwZSBhY3RpdmUuCj4gCj4gU3VyZSBlbm91Z2gsIHdpdGggdGhpcyBwYXRj aHNldCB0aGUgc3lzdGVtIGhhbmdzIHJlc3VsdGluZyBmcm9tIHBpcGUKPiB1bmRlcnJ1bnMgb24g U2t5bGFrZSBoYXZlIGNvbXBsZXRlbHkgdmFuaXNoZWQgb24gbXkgVDQ2MHMuCj4gCj4gQ2M6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gQ2M6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogTHl1ZGUg PGNwYXVsQHJlZGhhdC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggfCAgIDIgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIHwgICA1ICsrCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgfCAxMDMgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDExMCBpbnNlcnRpb25z KCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggMDNlMWJmYS4uNjYwZDBhNiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0xOTU5LDYgKzE5NTksOCBAQCBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gIAlzdHJ1Y3QgaTkxNV9zdXNwZW5kX3NhdmVkX3JlZ2lz dGVycyByZWdmaWxlOwo+ICAJc3RydWN0IHZsdl9zMGl4X3N0YXRlIHZsdl9zMGl4X3N0YXRlOwo+ ICAKPiArCWJvb2wgc2tsX3NhZ3ZfZW5hYmxlZDsKPiArCj4gIAlzdHJ1Y3Qgewo+ICAJCS8qCj4g IAkJICogUmF3IHdhdGVybWFyayBsYXRlbmN5IHZhbHVlczoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKPiBpbmRleCA4YmZkZTc1Li45YjJlYjBiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o Cj4gQEAgLTcxNjIsNiArNzE2MiwxMSBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIEhTV19QQ09ERV9E RV9XUklURV9GUkVRX1JFUQkJMHgxNwo+ICAjZGVmaW5lICAgRElTUExBWV9JUFNfQ09OVFJPTAkJ CTB4MTkKPiAgI2RlZmluZQkgIEhTV19QQ09ERV9EWU5BTUlDX0RVVFlfQ1lDTEVfQ09OVFJPTAkw eDFBCj4gKyNkZWZpbmUgICBHRU45X1BDT0RFX1NBR1ZfQ09OVFJPTAkJMHgyMQo+ICsjZGVmaW5l ICAgICBHRU45X1NBR1ZfRElTQUJMRQkJCTB4MAo+ICsjZGVmaW5lICAgICBHRU45X1NBR1ZfTE9X X0ZSRVEJCQkweDEKPiArI2RlZmluZSAgICAgR0VOOV9TQUdWX0hJR0hfRlJFUQkJCTB4Mgo+ICsj ZGVmaW5lICAgICBHRU45X1NBR1ZfRFlOQU1JQ19GUkVRICAgICAgICAgICAgICAweDMKPiAgI2Rl ZmluZSBHRU42X1BDT0RFX0RBVEEJCQkJX01NSU8oMHgxMzgxMjgpCj4gICNkZWZpbmUgICBHRU42 X1BDT0RFX0ZSRVFfSUFfUkFUSU9fU0hJRlQJOAo+ICAjZGVmaW5lICAgR0VONl9QQ09ERV9GUkVR X1JJTkdfUkFUSU9fU0hJRlQJMTYKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRleCA1YThl ZTBjLi4wNzgwN2FhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTI4NzYsNiAr Mjg3NiwxMDIgQEAgc2tsX3dtX3BsYW5lX2lkKGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxh bmUpCj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkCj4gK3NrbF9zYWd2X2dldF9od19zdGF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCXUzMiB0ZW1wOwo+ICsJaW50 IHJldDsKPiArCj4gKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spOwo+ICsJcmV0 ID0gc2FuZHlicmlkZ2VfcGNvZGVfcmVhZChkZXZfcHJpdiwgR0VOOV9QQ09ERV9TQUdWX0NPTlRS T0wsICZ0ZW1wKTsKPiArCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsKPiAr Cj4gKwlpZiAoIXJldCkgewo+ICsJCWRldl9wcml2LT5za2xfc2Fndl9lbmFibGVkID0gISEodGVt cCAmIEdFTjlfU0FHVl9EWU5BTUlDX0ZSRVEpOwo+ICsJfSBlbHNlIHsKPiArCQkvKgo+ICsJCSAq IElmIGZvciBzb21lIHJlYXNvbiB3ZSBjYW4ndCBhY2Nlc3MgdGhlIFNBR1Ygc3RhdGUsIGZvbGxv dwo+ICsJCSAqIHRoZSBic3BlYyBhbmQgYXNzdW1lIGl0J3MgZW5hYmxlZAo+ICsJCSAqLwo+ICsJ CURSTV9FUlJPUigiRmFpbGVkIHRvIGdldCBTQUdWIHN0YXRlLCBhc3N1bWluZyBlbmFibGVkXG4i KTsKPiArCQlkZXZfcHJpdi0+c2tsX3NhZ3ZfZW5hYmxlZCA9IHRydWU7Cj4gKwl9Cj4gK30KPiAr Cj4gKy8qCj4gKyAqIFNBR1YgZHluYW1pY2FsbHkgYWRqdXN0cyB0aGUgc3lzdGVtIGFnZW50IHZv bHRhZ2UgYW5kIGNsb2NrIGZyZXF1ZW5jaWVzCj4gKyAqIGRlcGVuZGluZyBvbiBwb3dlciBhbmQg cGVyZm9ybWFuY2UgcmVxdWlyZW1lbnRzLiBUaGUgZGlzcGxheSBlbmdpbmUgYWNjZXNzCj4gKyAq IHRvIHN5c3RlbSBtZW1vcnkgaXMgYmxvY2tlZCBkdXJpbmcgdGhlIGFkanVzdG1lbnQgdGltZS4g SGF2aW5nIHRoaXMgZW5hYmxlZAo+ICsgKiBpbiBtdWx0aS1waXBlIGNvbmZpZ3VyYXRpb25zIGNh biBjYXVzZSBpc3N1ZXMgKHN1Y2ggYXMgdW5kZXJydW5zIGNhdXNpbmcKPiArICogZnVsbCBzeXN0 ZW0gaGFuZ3MpLCBhbmQgdGhlIGJzcGVjIGFsc28gc3VnZ2VzdHMgdGhhdCBzb2Z0d2FyZSBkaXNh YmxlIGl0Cj4gKyAqIHdoZW4gbW9yZSB0aGVuIG9uZSBwaXBlIGlzIGVuYWJsZWQuCj4gKyAqLwo+ ICtzdGF0aWMgaW50Cj4gK3NrbF9lbmFibGVfc2FndihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gK3sKPiArCWludCByZXQ7Cj4gKwo+ICsJaWYgKGRldl9wcml2LT5za2xfc2Fn dl9lbmFibGVkKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCW11dGV4X2xvY2soJmRldl9wcml2LT5y cHMuaHdfbG9jayk7Cj4gKwlEUk1fREVCVUdfS01TKCJFbmFibGluZyB0aGUgU0FHVlxuIik7Cj4g Kwo+ICsJcmV0ID0gc2FuZHlicmlkZ2VfcGNvZGVfd3JpdGUoZGV2X3ByaXYsIEdFTjlfUENPREVf U0FHVl9DT05UUk9MLAo+ICsJCQkJICAgICAgR0VOOV9TQUdWX0RZTkFNSUNfRlJFUSk7Cj4gKwlp ZiAoIXJldCkKPiArCQlkZXZfcHJpdi0+c2tsX3NhZ3ZfZW5hYmxlZCA9IHRydWU7Cj4gKwllbHNl Cj4gKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZW5hYmxlIHRoZSBTQUdWXG4iKTsKPiArCj4gKwkv KiBXZSBkb24ndCBuZWVkIHRvIHdhaXQgZm9yIFNBR1Ygd2hlbiBlbmFibGluZyAqLwo+ICsJbXV0 ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ ICsKPiArc3RhdGljIGludAo+ICtza2xfZGlzYWJsZV9zYWd2KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiArewo+ICsJaW50IHJldCA9IDA7Cj4gKwl1bnNpZ25lZCBsb25nIHRp bWVvdXQ7Cj4gKwl1MzIgdGVtcDsKPiArCj4gKwlpZiAoIWRldl9wcml2LT5za2xfc2Fndl9lbmFi bGVkKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCW11dGV4X2xvY2soJmRldl9wcml2LT5ycHMuaHdf bG9jayk7Cj4gKwlEUk1fREVCVUdfS01TKCJEaXNhYmxpbmcgdGhlIFNBR1ZcbiIpOwo+ICsKPiAr CS8qIGJzcGVjIHNheXMgdG8ga2VlcCByZXRyeWluZyBmb3IgYXQgbGVhc3QgMSBtcyAqLwo+ICsJ dGltZW91dCA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKDEpOwo+ICsJZG8gewo+ICsJCXJl dCA9IHNhbmR5YnJpZGdlX3Bjb2RlX3dyaXRlKGRldl9wcml2LCBHRU45X1BDT0RFX1NBR1ZfQ09O VFJPTCwKPiArCQkJCQkgICAgICBHRU45X1NBR1ZfRElTQUJMRSk7Cj4gKwkJaWYgKHJldCkgewo+ ICsJCQlEUk1fRVJST1IoIkZhaWxlZCB0byBkaXNhYmxlIHRoZSBTQUdWXG4iKTsKPiArCQkJZ290 byBvdXQ7Cj4gKwkJfQo+ICsKPiArCQlyZXQgPSBzYW5keWJyaWRnZV9wY29kZV9yZWFkKGRldl9w cml2LCBHRU45X1BDT0RFX1NBR1ZfQ09OVFJPTCwKPiArCQkJCQkgICAgICZ0ZW1wKTsKPiArCQlp ZiAocmV0KSB7Cj4gKwkJCURSTV9FUlJPUigiRmFpbGVkIHRvIGNoZWNrIHRoZSBzdGF0dXMgb2Yg dGhlIFNBR1ZcbiIpOwo+ICsJCQlnb3RvIG91dDsKPiArCQl9Cj4gKwl9IHdoaWxlICghKHRlbXAg JiAweDEpICYmIGppZmZpZXMgPCB0aW1lb3V0KTsKPiArCj4gKwlpZiAodGVtcCAmIDB4MSkKPiAr CQlkZXZfcHJpdi0+c2tsX3NhZ3ZfZW5hYmxlZCA9IGZhbHNlOwo+ICsJZWxzZSB7CgpNaW5vciBj b2Rpbmcgc3R5bGUgbml0cGljazsgaWYvZWxzZSBicmFuY2hlcyBuZWVkIHRvIGhhdmUgYnJhY2Vz IG9uIGJvdGgKYnJhbmNoZXMgaWYgZWl0aGVyIGJyYW5jaCBuZWVkcyB0aGVtLgoKPiArCQlyZXQg PSAtMTsKPiArCQlEUk1fRVJST1IoIlJlcXVlc3QgdG8gZGlzYWJsZSBTQUdWIHRpbWVkIG91dFxu Iik7Cj4gKwl9Cj4gKwo+ICtvdXQ6Cj4gKwltdXRleF91bmxvY2soJmRldl9wcml2LT5ycHMuaHdf bG9jayk7Cj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICBza2xfZGRi X2dldF9waXBlX2FsbG9jYXRpb25fbGltaXRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJ CQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAo+ICAJCQkJICAgc3Ry dWN0IHNrbF9kZGJfZW50cnkgKmFsbG9jLCAvKiBvdXQgKi8KPiBAQCAtMzY4Niw2ICszNzgyLDEx IEBAIHN0YXRpYyB2b2lkIHNrbF93cml0ZV93bV92YWx1ZXMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9ICZkZXZfcHJpdi0+ZHJt Owo+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGM7Cj4gIAo+ICsJaWYgKGRldl9wcml2LT5hY3Rp dmVfY3J0Y3MgPT0gMSkKPiArCQlza2xfZW5hYmxlX3NhZ3YoZGV2X3ByaXYpOwo+ICsJZWxzZQo+ ICsJCXNrbF9kaXNhYmxlX3NhZ3YoZGV2X3ByaXYpOwo+ICsKCkkgdGhpbmsgeW91IHdhbnQgdG8g bWFrZSB0aGlzIGNvbmRpdGlvbmFsIG9uICFCUk9YVE9OLiAgVGhlIGJzcGVjIGlzbid0CnN1cGVy IGNsZWFyLCBidXQgaXQgc2F5cyAiT24gY29yZSBDUFVzLi4uIiB3aGljaCBJIGJlbGlldmUgaW5k aWNhdGVzCnRoYXQgdGhpcyBpc24ndCByZWxldmFudCB0byB0aGUgQXRvbSBwcm9jZXNzb3JzIGxp a2UgQnJveHRvbi4gIFRoZSBTQUdWCmJsb2NrIHRpbWUgdGFibGUgYWxzbyBsaXN0cyAiU0tMLCBF WENMVURFKEJYVCkuIgoKVGhpcyB3b3VsZCBhbHNvIGV4cGxhaW4gd2h5IEkndmUgYmVlbiB1bmFi bGUgdG8gcmVwcm9kdWNlIHlvdXIgU0tMCnByb2JsZW1zIG9uIG15IEJyb3h0b24gaGFyZHdhcmUu CgoKTWF0dAoKCj4gIAlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgY3J0Yykgewo+ICAJCWludCBp LCBsZXZlbCwgbWF4X2xldmVsID0gaWxrX3dtX21heF9sZXZlbChkZXYpOwo+ICAJCWVudW0gcGlw ZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiBAQCAtNDIyOCw2ICs0MzI5LDggQEAgdm9pZCBza2xfd21f Z2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJLyogRWFzeS9jb21tb24g Y2FzZTsganVzdCBzYW5pdGl6ZSBEREIgbm93IGlmIGV2ZXJ5dGhpbmcgb2ZmICovCj4gIAkJbWVt c2V0KGRkYiwgMCwgc2l6ZW9mKCpkZGIpKTsKPiAgCX0KPiArCj4gKwlza2xfc2Fndl9nZXRfaHdf c3RhdGUoZGV2X3ByaXYpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBpbGtfcGlwZV93bV9nZXRf aHdfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+IC0tIAo+IDIuNy40Cj4gCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFp bGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKTWF0dCBS b3BlcgpHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYg RGV2ZWxvcG1lbnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikgMzU2LTI3OTUKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==