From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [PATCH 1/2] drm/i915/gen9: unconditionally apply the memory bandwidth WA Date: Mon, 10 Oct 2016 16:55:26 -0400 Message-ID: <1476132926.21767.11.camel@redhat.com> References: <1476131459-23763-1-git-send-email-paulo.r.zanoni@intel.com> <1476131649.21767.7.camel@redhat.com> <1476132382.2508.13.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7B2366E380 for ; Mon, 10 Oct 2016 20:55:28 +0000 (UTC) In-Reply-To: <1476132382.2508.13.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Zanoni, Paulo R" , "intel-gfx@lists.freedesktop.org" Cc: "Pandiyan, Dhinakaran" , "stable@vger.kernel.org" List-Id: intel-gfx@lists.freedesktop.org SSBmZWVsIGxpa2UgdGhlIFBSTXMgc2hvdWxkIGJlIGEgbGl0dGxlIGxlc3MgY29uZnVzaW5nIHNv IGl0IGRvZXNuJ3QKdGFrZSBmb3VyIG9mIHVzIHJlYWRpbmcgaXQgdG8gYWN0dWFsbHkgZ2V0IHRo ZSBmdWxsIHNwZWMgaW50byBjb2Rl4oCmCgpBbnl3YXksIHdoaWxlIHRoaXMgaXMgZ29pbmcgdG8g YmUgcnVubmluZyBvbiBtb3JlIHRoZW4ganVzdCBza3lsYWtlIEkKZmVlbCBsaWtlIGludGVsX25l ZWRzX21lbW9yeV9id193YSgpIGlzIGEgbGl0dGxlIGNvbmZ1c2luZyBzaW5jZSBJCndvdWxkIGV4 cGVjdCBldmVudHVhbGx5IHdlJ3JlIGdvaW5nIHRvIGhhdmUgdG8gYXBwbHkgb3RoZXIgdW5yZWxh dGVkCm1lbW9yeSBiYW5kd2lkdGggd29ya2Fyb3VuZHMgb24gb3RoZXIgcGxhdGZvcm1zLiBIb3cg YWJvdXQKc2tsX25lZWRzX21lbW9yeV9id193YSgpIG9yIGdlbjlfbmVlZHNfbWVtb3J5X2J3X3dh KCk/CgpPbiBNb24sIDIwMTYtMTAtMTAgYXQgMjA6NDYgKzAwMDAsIFphbm9uaSwgUGF1bG8gUiB3 cm90ZToKPiBFbSBTZWcsIDIwMTYtMTAtMTAgw6BzIDE2OjM0IC0wNDAwLCBMeXVkZSBQYXVsIGVz Y3JldmV1Ogo+ID4gCj4gPiBXYXMgdGhlcmUgYSBuZXcgd29ya2Fyb3VuZCBhZGRlZCByZWNlbnRs eT8gT3Igd2FzIHRoaXMgc29tZXRoaW5nIEkKPiA+IGp1c3QKPiA+IG1pc3NlZCB3aGVuIHdyaXRp bmcgdGhlIG9yaWdpbmFsIGNvZGUgZm9yIHRoaXMKPiAKPiBJdCdzIGxpc3RlZCBvbiB0aGUgcHVi bGljIHNwZWM6Cj4gaHR0cHM6Ly8wMS5vcmcvc2l0ZXMvZGVmYXVsdC9maWxlcy9kb2N1bQo+IGVu dGF0aW9uL2ludGVsLWdmeC1wcm0tb3NyYy1za2wtdm9sMTItZGlzcGxheS5wZGYKPiAKPiBQYWdl cyAyMTAgLSAyMTEuCj4gCj4gPiAKPiA+IAo+ID4gT24gTW9uLCAyMDE2LTEwLTEwIGF0IDE3OjMw IC0wMzAwLCBQYXVsbyBaYW5vbmkgd3JvdGU6Cj4gPiA+IAo+ID4gPiAKPiA+ID4gTWFoZXNoIEt1 bWFyIGlzIGFscmVhZHkgd29ya2luZyBvbiBhIHByb3BlciBpbXBsZW1lbnRhdGlvbiBmb3IKPiA+ ID4gdGhlCj4gPiA+IHdvcmthcm91bmQsIGJ1dCB3aGlsZSB3ZSBzdGlsbCBkb24ndCBoYXZlIGl0 LCBsZXQncyBqdXN0Cj4gPiA+IHVuY29uZGl0aW9uYWxseSBhcHBseSB0aGUgd29ya2Fyb3VuZCBm b3IgZXZlcnlib2R5IGFuZCB3ZSBob3BlIHdlCj4gPiA+IGNhbgo+ID4gPiBjbG9zZSBhbGwgdGhv c2UgbnVtZXJvdXMgYnVnemlsbGEgdGlja2V0cy4gQWxzbywgSSdtIG5vdCBzdXJlIGhvdwo+ID4g PiBlYXN5Cj4gPiA+IGl0IHdpbGwgYmUgdG8gYmFja3BvcnQgdGhlIGZpbmFsIGltcGxlbWVudGF0 aW9uIHRvIHRoZSBzdGFibGUKPiA+ID4gS2VybmVscywKPiA+ID4gYW5kIHRoaXMgcGF0Y2ggaGVy ZSBpcyBwcm9iYWJseSBlYXNpZXIgdG8gYmFja3BvcnQuCj4gPiA+IAo+ID4gPiBBdCB0aGUgcHJl c2VudCBtb21lbnQgSSBzdGlsbCBkb24ndCBoYXZlIGNvbmZpcm1hdGlvbiB0aGF0IHRoaXMKPiA+ ID4gcGF0Y2gKPiA+ID4gZml4ZXMgYW55IG9mIHRoZSBidWdzIGxpc3RlZCBiZWxvdywgYnV0IHdl IHNob3VsZCBkZWZpbml0ZWx5IHRyeQo+ID4gPiB0ZXN0aW5nIGFsbCBvZiB0aGVtIGFnYWluLgo+ ID4gPiAKPiA+ID4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19i dWcuY2dpP2lkPTk0MzM3Cj4gPiA+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Au b3JnL3Nob3dfYnVnLmNnaT9pZD05NDYwNQo+ID4gPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZy ZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4ODQKPiA+ID4gQnVnemlsbGE6IGh0dHBz Oi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MDEwCj4gPiA+IEJ1Z3pp bGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05NjIyNgo+ ID4gPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9OTY4MjgKPiA+ID4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hv d19idWcuY2dpP2lkPTk3NDUwCj4gPiA+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0 b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05NzgzMAo+ID4gPiBDYzogc3RhYmxlQHZnZXIua2VybmVs Lm9yZwo+ID4gPiBDYzogTWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KPiA+ ID4gQ2M6IEx5dWRlIDxjcGF1bEByZWRoYXQuY29tPgo+ID4gPiBDYzogRGhpbmFrYXJhbiBQYW5k aXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6 IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ID4gPiAtLS0KPiA+ID4g wqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIHwgNDkKPiA+ID4gKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KPiA+ID4gwqAxIGZpbGUgY2hhbmdlZCwgNDEg aW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYwo+ID4gPiBpbmRleCA2MmQ3MzBkLi4xNTk4MzFkIDEwMDY0NAo+ID4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+ID4gQEAgLTI4NzksNiArMjg3OSwyMSBAQCBza2xf d21fcGxhbmVfaWQoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lCj4gPiA+ICpwbGFuZSkKPiA+ID4g wqAJfQo+ID4gPiDCoH0KPiA+ID4gwqAKPiA+ID4gKy8qCj4gPiA+ICsgKiBGSVhNRTogV2Ugc3Rp bGwgZG9uJ3QgaGF2ZSB0aGUgcHJvcGVyIGNvZGUgZGV0ZWN0IGlmIHdlIG5lZWQKPiA+ID4gdG8K PiA+ID4gYXBwbHkgdGhlIFdBLAo+ID4gPiArICogc28gYXNzdW1lIHdlJ2xsIGFsd2F5cyBuZWVk IGl0IGluIG9yZGVyIHRvIGF2b2lkIHVuZGVycnVucy4KPiA+ID4gKyAqLwo+ID4gPiArc3RhdGlj IGJvb2wgaW50ZWxfbmVlZHNfbWVtb3J5X2J3X3dhKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUK PiA+ID4gKnN0YXRlKQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gYmFzZS5k ZXYpOwo+ID4gPiArCj4gPiA+ICsJaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0JST1hU T04oZGV2X3ByaXYpIHx8Cj4gPiA+ICsJwqDCoMKgwqBJU19LQUJZTEFLRShkZXZfcHJpdikpCj4g PiA+ICsJCXJldHVybiB0cnVlOwo+ID4gPiArCj4gPiA+ICsJcmV0dXJuIGZhbHNlOwo+ID4gPiAr fQo+ID4gPiArCj4gPiA+IMKgc3RhdGljIGJvb2wKPiA+ID4gwqBpbnRlbF9oYXNfc2FndihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+IMKgewo+ID4gPiBAQCAtMjk5OSw5 ICszMDE0LDEwIEBAIGJvb2wgaW50ZWxfY2FuX2VuYWJsZV9zYWd2KHN0cnVjdAo+ID4gPiBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+ID4gwqAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHN0 YXRlLT5kZXY7Cj4gPiA+IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKPiA+ID4gwqAJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3Rh dGUgPQo+ID4gPiB0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOwo+ID4gPiAtCXN0cnVjdCBk cm1fY3J0YyAqY3J0YzsKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsKPiA+ID4gKwlz dHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwo+ID4gPiDCoAllbnVtIHBpcGUgcGlwZTsKPiA+ID4g LQlpbnQgbGV2ZWwsIHBsYW5lOwo+ID4gPiArCWludCBsZXZlbCwgaWQsIGxhdGVuY3k7Cj4gPiA+ IMKgCj4gPiA+IMKgCWlmICghaW50ZWxfaGFzX3NhZ3YoZGV2X3ByaXYpKQo+ID4gPiDCoAkJcmV0 dXJuIGZhbHNlOwo+ID4gPiBAQCAtMzAxOSwyNyArMzAzNSwzNiBAQCBib29sIGludGVsX2Nhbl9l bmFibGVfc2FndihzdHJ1Y3QKPiA+ID4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiA+IMKg Cj4gPiA+IMKgCS8qIFNpbmNlIHdlJ3JlIG5vdyBndWFyYW50ZWVkIHRvIG9ubHkgaGF2ZSBvbmUg YWN0aXZlCj4gPiA+IENSVEMuLi4gKi8KPiA+ID4gwqAJcGlwZSA9IGZmcyhpbnRlbF9zdGF0ZS0+ YWN0aXZlX2NydGNzKSAtIDE7Cj4gPiA+IC0JY3J0YyA9IGRldl9wcml2LT5waXBlX3RvX2NydGNf bWFwcGluZ1twaXBlXTsKPiA+ID4gKwljcnRjID0gdG9faW50ZWxfY3J0YyhkZXZfcHJpdi0KPiA+ ID4gPiAKPiA+ID4gPiBwaXBlX3RvX2NydGNfbWFwcGluZ1twaXBlXSk7Cj4gPiA+IMKgCj4gPiA+ IC0JaWYgKGNydGMtPnN0YXRlLT5tb2RlLmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0Up Cj4gPiA+ICsJaWYgKGNydGMtPmJhc2Uuc3RhdGUtPm1vZGUuZmxhZ3MgJgo+ID4gPiBEUk1fTU9E RV9GTEFHX0lOVEVSTEFDRSkKPiA+ID4gwqAJCXJldHVybiBmYWxzZTsKPiA+ID4gwqAKPiA+ID4g LQlmb3JfZWFjaF9wbGFuZShkZXZfcHJpdiwgcGlwZSwgcGxhbmUpIHsKPiA+ID4gKwlmb3JfZWFj aF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRldiwgY3J0YywgcGxhbmUpIHsKPiA+ID4gKwkJaWQgPSBz a2xfd21fcGxhbmVfaWQocGxhbmUpOwo+ID4gPiArCj4gPiA+IMKgCQkvKiBTa2lwIHRoaXMgcGxh bmUgaWYgaXQncyBub3QgZW5hYmxlZCAqLwo+ID4gPiAtCQlpZiAoaW50ZWxfc3RhdGUtCj4gPiA+ ID53bV9yZXN1bHRzLnBsYW5lW3BpcGVdW3BsYW5lXVswXQo+ID4gPiA9PQo+ID4gPiAwKQo+ID4g PiArCQlpZiAoaW50ZWxfc3RhdGUtPndtX3Jlc3VsdHMucGxhbmVbcGlwZV1baWRdWzBdCj4gPiA+ ID09Cj4gPiA+IDApCj4gPiA+IMKgCQkJY29udGludWU7Cj4gPiA+IMKgCj4gPiA+IMKgCQkvKiBG aW5kIHRoZSBoaWdoZXN0IGVuYWJsZWQgd20gbGV2ZWwgZm9yIHRoaXMKPiA+ID4gcGxhbmUKPiA+ ID4gKi8KPiA+ID4gwqAJCWZvciAobGV2ZWwgPSBpbGtfd21fbWF4X2xldmVsKGRldik7Cj4gPiA+ IC0JCcKgwqDCoMKgwqBpbnRlbF9zdGF0ZS0KPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiB3bV9y ZXN1bHRzLnBsYW5lW3BpcGVdW3BsYW5lXVtsZXZlbF0gPT0gMDsgLS1sZXZlbCkKPiA+ID4gKwkJ wqDCoMKgwqDCoGludGVsX3N0YXRlLQo+ID4gPiA+IAo+ID4gPiA+IHdtX3Jlc3VsdHMucGxhbmVb cGlwZV1baWRdW2xldmVsXQo+ID4gPiA9PSAwOyAtLWxldmVsKQo+ID4gPiDCoAkJwqDCoMKgwqDC oHsgfQo+ID4gPiDCoAo+ID4gPiArCQlsYXRlbmN5ID0gZGV2X3ByaXYtPndtLnNrbF9sYXRlbmN5 W2xldmVsXTsKPiA+ID4gKwo+ID4gPiArCQlpZiAoaW50ZWxfbmVlZHNfbWVtb3J5X2J3X3dhKGlu dGVsX3N0YXRlKSAmJgo+ID4gPiArCQnCoMKgwqDCoHBsYW5lLT5iYXNlLnN0YXRlLT5mYi0+bW9k aWZpZXJbMF0gPT0KPiA+ID4gKwkJwqDCoMKgwqBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCkKPiA+ ID4gKwkJCWxhdGVuY3kgKz0gMTU7Cj4gPiA+ICsKPiA+ID4gwqAJCS8qCj4gPiA+IMKgCQnCoCog SWYgYW55IG9mIHRoZSBwbGFuZXMgb24gdGhpcyBwaXBlIGRvbid0Cj4gPiA+IGVuYWJsZQo+ID4g PiB3bQo+ID4gPiBsZXZlbHMKPiA+ID4gwqAJCcKgKiB0aGF0IGluY3VyIG1lbW9yeSBsYXRlbmNp ZXMgaGlnaGVyIHRoZW4gMzDCtXMKPiA+ID4gd2UKPiA+ID4gY2FuJ3QgZW5hYmxlCj4gPiA+IMKg CQnCoCogdGhlIFNBR1YKPiA+ID4gwqAJCcKgKi8KPiA+ID4gLQkJaWYgKGRldl9wcml2LT53bS5z a2xfbGF0ZW5jeVtsZXZlbF0gPAo+ID4gPiBTS0xfU0FHVl9CTE9DS19USU1FKQo+ID4gPiArCQlp ZiAobGF0ZW5jeSA8IFNLTF9TQUdWX0JMT0NLX1RJTUUpCj4gPiA+IMKgCQkJcmV0dXJuIGZhbHNl Owo+ID4gPiDCoAl9Cj4gPiA+IMKgCj4gPiA+IEBAIC0zNTQ5LDEyICszNTc0LDE4IEBAIHN0YXRp YyBpbnQgc2tsX2NvbXB1dGVfcGxhbmVfd20oY29uc3QKPiA+ID4gc3RydWN0Cj4gPiA+IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiDCoAl1aW50MzJfdCB3aWR0aCA9IDAsIGhlaWdo dCA9IDA7Cj4gPiA+IMKgCXVpbnQzMl90IHBsYW5lX3BpeGVsX3JhdGU7Cj4gPiA+IMKgCXVpbnQz Ml90IHlfdGlsZV9taW5pbXVtLCB5X21pbl9zY2FubGluZXM7Cj4gPiA+ICsJc3RydWN0IGludGVs X2F0b21pY19zdGF0ZSAqc3RhdGUgPQo+ID4gPiArCQl0b19pbnRlbF9hdG9taWNfc3RhdGUoY3N0 YXRlLT5iYXNlLnN0YXRlKTsKPiA+ID4gKwlib29sIGFwcGx5X21lbW9yeV9id193YSA9Cj4gPiA+ IGludGVsX25lZWRzX21lbW9yeV9id193YShzdGF0ZSk7Cj4gPiA+IMKgCj4gPiA+IMKgCWlmIChs YXRlbmN5ID09IDAgfHwgIWNzdGF0ZS0+YmFzZS5hY3RpdmUgfHwKPiA+ID4gIWludGVsX3BzdGF0 ZS0KPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiBiYXNlLnZpc2libGUpIHsKPiA+ID4gwqAJCSpl bmFibGVkID0gZmFsc2U7Cj4gPiA+IMKgCQlyZXR1cm4gMDsKPiA+ID4gwqAJfQo+ID4gPiDCoAo+ ID4gPiArCWlmIChhcHBseV9tZW1vcnlfYndfd2EgJiYgZmItPm1vZGlmaWVyWzBdID09Cj4gPiA+ IEk5MTVfRk9STUFUX01PRF9YX1RJTEVEKQo+ID4gPiArCQlsYXRlbmN5ICs9IDE1Owo+ID4gPiAr Cj4gPiA+IMKgCXdpZHRoID0gZHJtX3JlY3Rfd2lkdGgoJmludGVsX3BzdGF0ZS0+YmFzZS5zcmMp ID4+IDE2Owo+ID4gPiDCoAloZWlnaHQgPSBkcm1fcmVjdF9oZWlnaHQoJmludGVsX3BzdGF0ZS0+ YmFzZS5zcmMpID4+IDE2Owo+ID4gPiDCoAo+ID4gPiBAQCAtMzYwNyw2ICszNjM4LDggQEAgc3Rh dGljIGludCBza2xfY29tcHV0ZV9wbGFuZV93bShjb25zdAo+ID4gPiBzdHJ1Y3QKPiA+ID4gZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+IMKgCQkJCcKgcGxhbmVfYmxvY2tzX3Blcl9s aW5lKTsKPiA+ID4gwqAKPiA+ID4gwqAJeV90aWxlX21pbmltdW0gPSBwbGFuZV9ibG9ja3NfcGVy X2xpbmUgKgo+ID4gPiB5X21pbl9zY2FubGluZXM7Cj4gPiA+ICsJaWYgKGFwcGx5X21lbW9yeV9i d193YSkKPiA+ID4gKwkJeV90aWxlX21pbmltdW0gKj0gMjsKPiA+ID4gwqAKPiA+ID4gwqAJaWYg KGZiLT5tb2RpZmllclswXSA9PSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCB8fAo+ID4gPiDCoAnC oMKgwqDCoGZiLT5tb2RpZmllclswXSA9PSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQpIHsKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==