From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v4 1/8] drm/i915/gen9: Add framework to whitelist specific GPU registers Date: Tue, 19 Jan 2016 10:00:23 +0100 Message-ID: <20160119090023.GT19130@phenom.ffwll.local> References: <1452679593-3922-1-git-send-email-arun.siluvery@linux.intel.com> <1452785255-4079-1-git-send-email-arun.siluvery@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f54.google.com (mail-wm0-f54.google.com [74.125.82.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 316C26E6EE for ; Tue, 19 Jan 2016 01:00:20 -0800 (PST) Received: by mail-wm0-f54.google.com with SMTP id l65so128905811wmf.1 for ; Tue, 19 Jan 2016 01:00:20 -0800 (PST) Content-Disposition: inline In-Reply-To: <1452785255-4079-1-git-send-email-arun.siluvery@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: Arun Siluvery Cc: intel-gfx@lists.freedesktop.org, Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKYW4gMTQsIDIwMTYgYXQgMDM6Mjc6MzVQTSArMDAwMCwgQXJ1biBTaWx1dmVyeSB3 cm90ZToKPiBTb21lIG9mIHRoZSBIVyByZWdpc3RlcnMgYXJlIHByaXZpbGVnZWQgYW5kIGNhbm5v dCBiZSB3cml0dGVuIHRvIGZyb20KPiBub24tcHJpdmlsZWdlZCBiYXRjaCBidWZmZXJzIGNvbWlu ZyBmcm9tIHVzZXJzcGFjZSB1bmxlc3MgdGhleSBhcmUgYWRkZWQgdG8KPiB0aGUgSFcgd2hpdGVs aXN0LiBUaGlzIHdoaXRlbGlzdCBpcyBtYWludGFpbmVkIGJ5IEhXIGFuZCBpdCBpcyBkaWZmZXJl bnQgZnJvbQo+IFNXIHdoaXRlbGlzdC4gVXNlcnNwYWNlIG5lZWQgd3JpdGUgYWNjZXNzIHRvIHRo ZW0gdG8gaW1wbGVtZW50IHByZWVtcHRpb24KPiByZWxhdGVkIFdBLgo+IAo+IFRoZSByZWFzb24g Zm9yIHVzaW5nIHRoaXMgYXBwcm9hY2ggaXMsIHRoZSByZWdpc3RlciBiaXRzIHRoYXQgY29udHJv bAo+IHByZWVtcHRpb24gZ3JhbnVsYXJpdHkgYXQgdGhlIEhXIGxldmVsIGFyZSBub3QgY29udGV4 dCBzYXZlL3Jlc3RvcmVkOyBzbyBldmVuCj4gaWYgd2Ugc2V0IHRoZXNlIGJpdHMgYWx3YXlzIGlu IGtlcm5lbCB0aGV5IGFyZSBnb2luZyB0byBjaGFuZ2Ugb25jZSB0aGUKPiBjb250ZXh0IGlzIHN3 aXRjaGVkIG91dC4gIFdlIGNhbiBjb25zaWRlciBtYWtpbmcgdGhlbSBub24tcHJpdmlsZWdlZCBi eQo+IGRlZmF1bHQgYnV0IHRoZXNlIHJlZ2lzdGVycyBhbHNvIGNvbnRhaW4gb3RoZXIgY2hpY2tl biBiaXRzIHdoaWNoIHNob3VsZCBub3QKPiBiZSBhbGxvd2VkIHRvIGJlIG1vZGlmaWVkLgo+IAo+ IEluIHRoZSBsYXRlciByZXZpc2lvbnMgY29udHJvbGxpbmcgYml0cyBhcmUgc2F2ZS9yZXN0b3Jl ZCBhdCBjb250ZXh0IGxldmVsIGJ1dAo+IGluIHRoZSBleGlzdGluZyByZXZpc2lvbnMgdGhlc2Ug YXJlIGV4cG9ydGVkIHZpYSBvdGhlciBkZWJ1ZyByZWdpc3RlcnMgYW5kCj4gc2hvdWxkIGJlIG9u IHRoZSB3aGl0ZWxpc3QuIFRoaXMgcGF0Y2ggYWRkcyBjaGFuZ2VzIHRvIHByb3ZpZGUgSFcgd2l0 aCBhIGxpc3QKPiBvZiByZWdpc3RlcnMgdG8gYmUgd2hpdGVsaXN0ZWQuIEhXIGNoZWNrcyB0aGlz IGxpc3QgZHVyaW5nIGV4ZWN1dGlvbiBhbmQKPiBwcm92aWRlcyBhY2Nlc3MgYWNjb3JkaW5nbHku Cj4gCj4gSFcgaW1wb3NlcyBhIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXJzIG9uIHdo aXRlbGlzdCBhbmQgaXQgaXMKPiBwZXItZW5naW5lLiAgQXQgdGhpcyBwb2ludCB3ZSBhcmUgb25s eSBlbmFibGluZyB3aGl0ZWxpc3QgZm9yIFJDUyBhbmQgd2UgZG9uJ3QKPiBmb3Jlc2VlIGFueSBy ZXF1aXJlbWVudCBmb3Igb3RoZXIgZW5naW5lcy4KPiAKPiBUaGUgcmVnaXN0ZXJzIHRvIGJlIHdo aXRlbGlzdGVkIGFyZSBhZGRlZCB1c2luZyBnZW5lcmljIHdvcmthcm91bmQgbGlzdAo+IG1lY2hh bmlzbSwgZXZlbiB0aGVzZSBhcmUgb25seSBlbmFibGVycyBmb3IgdXNlcnNwYWNlIHdvcmthcm91 bmRzLiBCdXQgYnkKPiBzaGFyaW5nIHRoaXMgbWVjaGFuaXNtIHdlIGdldCBzb21lIHRlc3QgYXNz ZXRzIHdpdGhvdXQgYWRkaXRpb25hbCBjb3N0IChNaWthKS4KPiAKPiB2MjogcmViYXNlCj4gCj4g djM6IHBhcmFtZXRlcml6ZSBSSU5HX0ZPUkNFX1RPX05PTlBSSVYoKSBhcyBfTU1JTygpIHNob3Vs ZCBiZSBsaW1pdGVkIHRvCj4gaTkxNV9yZWcuaCAoVmlsbGUpLCBkcm9wIGlubGluZSBmb3Igd2Ff cmluZ193aGl0ZWxpc3RfcmVnIChNaWthKS4KPiAKPiB2NDogaW1wcm92ZW1lbnRzIHN1Z2dlc3Rl ZCBieSBDaHJpcyBXaWxzb24uCj4gQ2xhcmlmeSB0aGF0IHRoaXMgaXMgSFcgd2hpdGVsaXN0IGFu ZCBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIG1haW50YWluZWQgaW4KPiBkcml2ZXIuIFRoaXMgbGlz dCBpcyBlbmdpbmUgc3BlY2lmaWMgYnV0IGl0IGdldHMgaW5pdGlhbGl6ZWQgYWxvbmcgd2l0aCBv dGhlcgo+IFdBIHdoaWNoIGlzIFJDUyBzcGVjaWZpYyB0aGluZywgc28gbWFrZSBpdCBjbGVhciB0 aGF0IHdlIGFyZSBub3QgZG9pbmcgYW55Cj4gY3Jvc3MgZW5naW5lIHNldHVwIGR1cmluZyBpbml0 aWFsaXphdGlvbi4KPiBNYWtlIEhXIHdoaXRlbGlzdCBjb3VudCBvZiBlYWNoIGVuZ2luZSBhdmFp bGFibGUgaW4gZGVidWdmcy4KPiAKPiBSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Cj4gUmV2aWV3ZWQtYnk6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3Vv cHBhbGFAaW50ZWwuY29tPgo+IENjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGludGVs LmNvbT4KPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gU2ln bmVkLW9mZi1ieTogQXJ1biBTaWx1dmVyeSA8YXJ1bi5zaWx1dmVyeUBsaW51eC5pbnRlbC5jb20+ CgpJZiB5b3UgcmVzZW5kIGp1c3Qgc2luZ2xlIHBhdGNoZXMgdG8gYSBzZXJpZXMgeW91IG11c3Qg LS1pbi1yZXBseS10byB0aGUKaW5kaXZpZHVhbCBwYXRjaCwgbm90IHRoZSBjb3ZlciBsZXR0ZXIu IE90aGVyd2lzZSBwYXRjaHdvcmsgd29uJ3QgcGljayBpdAp1cCwgd2hpY2ggbWVhbnMgd2UgZG9u J3QgaGF2ZSBDSSByZXN1bHRzIGZvciB0aGlzLgoKU2luY2UgaXQncyBiZWVuIGEgd2hpbGUgcHJv YmFibHkgYmVzdCB0byBqdXN0IHJlc2VuZCB0aGUgZW50aXJlIHBpbGUuCgpBbHNvIHdlIHNlZW0g dG8gYmUgbWlzc2luZyByLWIgdGFncyBmb3IgdGhlIGFjdHVhbCB3L2EgY2hhbmdlcy4KLURhbmll bAoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgIHwgMTUg KysrKysrKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAg ICB8ICA5ICsrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAg ICAgfCAgMyArKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwg MTcgKysrKysrKysrKysrKysrKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCsp LCA2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5k ZXggZTMzNzdhYi4uN2ViMDAyYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j Cj4gQEAgLTMyMjksOSArMzIyOSwxMSBAQCBzdGF0aWMgaW50IGk5MTVfd2FfcmVnaXN0ZXJzKHN0 cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQo+ICB7Cj4gIAlpbnQgaTsKPiAgCWludCBy ZXQ7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOwo+ICAJc3RydWN0IGRybV9pbmZv X25vZGUgKm5vZGUgPSAoc3RydWN0IGRybV9pbmZvX25vZGUgKikgbS0+cHJpdmF0ZTsKPiAgCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2Owo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVjdCBpOTE1 X3dvcmthcm91bmRzICp3b3JrYXJvdW5kcyA9ICZkZXZfcHJpdi0+d29ya2Fyb3VuZHM7Cj4gIAo+ ICAJcmV0ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4g IAlpZiAocmV0KQo+IEBAIC0zMjM5LDE1ICszMjQxLDE4IEBAIHN0YXRpYyBpbnQgaTkxNV93YV9y ZWdpc3RlcnMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gIAo+ICAJaW50ZWxf cnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwo+ICAKPiAtCXNlcV9wcmludGYobSwgIldvcmthcm91 bmRzIGFwcGxpZWQ6ICVkXG4iLCBkZXZfcHJpdi0+d29ya2Fyb3VuZHMuY291bnQpOwo+IC0JZm9y IChpID0gMDsgaSA8IGRldl9wcml2LT53b3JrYXJvdW5kcy5jb3VudDsgKytpKSB7Cj4gKwlzZXFf cHJpbnRmKG0sICJXb3JrYXJvdW5kcyBhcHBsaWVkOiAlZFxuIiwgd29ya2Fyb3VuZHMtPmNvdW50 KTsKPiArCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpCj4gKwkJc2VxX3ByaW50Ziht LCAiSFcgd2hpdGVsaXN0IGNvdW50IGZvciAlczogJWRcbiIsCj4gKwkJCSAgIHJpbmctPm5hbWUs IHdvcmthcm91bmRzLT5od193aGl0ZWxpc3RfY291bnRbaV0pOwo+ICsJZm9yIChpID0gMDsgaSA8 IHdvcmthcm91bmRzLT5jb3VudDsgKytpKSB7Cj4gIAkJaTkxNV9yZWdfdCBhZGRyOwo+ICAJCXUz MiBtYXNrLCB2YWx1ZSwgcmVhZDsKPiAgCQlib29sIG9rOwo+ICAKPiAtCQlhZGRyID0gZGV2X3By aXYtPndvcmthcm91bmRzLnJlZ1tpXS5hZGRyOwo+IC0JCW1hc2sgPSBkZXZfcHJpdi0+d29ya2Fy b3VuZHMucmVnW2ldLm1hc2s7Cj4gLQkJdmFsdWUgPSBkZXZfcHJpdi0+d29ya2Fyb3VuZHMucmVn W2ldLnZhbHVlOwo+ICsJCWFkZHIgPSB3b3JrYXJvdW5kcy0+cmVnW2ldLmFkZHI7Cj4gKwkJbWFz ayA9IHdvcmthcm91bmRzLT5yZWdbaV0ubWFzazsKPiArCQl2YWx1ZSA9IHdvcmthcm91bmRzLT5y ZWdbaV0udmFsdWU7Cj4gIAkJcmVhZCA9IEk5MTVfUkVBRChhZGRyKTsKPiAgCQlvayA9ICh2YWx1 ZSAmIG1hc2spID09IChyZWFkICYgbWFzayk7Cj4gIAkJc2VxX3ByaW50ZihtLCAiMHglWDogMHgl MDhYLCBtYXNrOiAweCUwOFgsIHJlYWQ6IDB4JTA4eCwgc3RhdHVzOiAlc1xuIiwKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPiBpbmRleCAxMDRiZDE4Li44M2ZjY2MwIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gQEAgLTE2NTMsMTEgKzE2NTMsMTggQEAgc3RydWN0IGk5MTVfd2FfcmVn IHsKPiAgCXUzMiBtYXNrOwo+ICB9Owo+ICAKPiAtI2RlZmluZSBJOTE1X01BWF9XQV9SRUdTIDE2 Cj4gKy8qCj4gKyAqIFJJTkdfTUFYX05PTlBSSVZfU0xPVFMgaXMgcGVyLWVuZ2luZSBidXQgYXQg dGhpcyBwb2ludCB3ZSBhcmUgb25seQo+ICsgKiBhbGxvd2luZyBpdCBmb3IgUkNTIGFzIHdlIGRv bid0IGZvcmVzZWUgYW55IHJlcXVpcmVtZW50IG9mIGhhdmluZwo+ICsgKiBhIHdoaXRlbGlzdCBm b3Igb3RoZXIgZW5naW5lcy4gV2hlbiBpdCBpcyByZWFsbHkgcmVxdWlyZWQgZm9yCj4gKyAqIG90 aGVyIGVuZ2luZXMgdGhlbiB0aGUgbGltaXQgbmVlZCB0byBiZSBpbmNyZWFzZWQuCj4gKyAqLwo+ ICsjZGVmaW5lIEk5MTVfTUFYX1dBX1JFR1MgKDE2ICsgUklOR19NQVhfTk9OUFJJVl9TTE9UUykK PiAgCj4gIHN0cnVjdCBpOTE1X3dvcmthcm91bmRzIHsKPiAgCXN0cnVjdCBpOTE1X3dhX3JlZyBy ZWdbSTkxNV9NQVhfV0FfUkVHU107Cj4gIAl1MzIgY291bnQ7Cj4gKwl1MzIgaHdfd2hpdGVsaXN0 X2NvdW50W0k5MTVfTlVNX1JJTkdTXTsKPiAgfTsKPiAgCj4gIHN0cnVjdCBpOTE1X3ZpcnR1YWxf Z3B1IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCAwYTk4ODg5Li43OTM4ODE0IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTE2MzUsNiArMTYzNSw5IEBAIGVudW0g c2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgUklOR19XQUlUCQkoMTw8MTEpIC8q IGdlbjMrLCBQUkJ4X0NUTCAqLwo+ICAjZGVmaW5lICAgUklOR19XQUlUX1NFTUFQSE9SRQkoMTw8 MTApIC8qIGdlbjYrICovCj4gIAo+ICsjZGVmaW5lIFJJTkdfRk9SQ0VfVE9fTk9OUFJJVihiYXNl LCBpKSBfTU1JTygoKGJhc2UpKzB4NEQwKSArIChpKSo0KQo+ICsjZGVmaW5lICAgUklOR19NQVhf Tk9OUFJJVl9TTE9UUyAgMTIKPiArCj4gICNkZWZpbmUgR0VON19UTEJfUkRfQUREUglfTU1JTygw eDQ3MDApCj4gIAo+ICAjaWYgMAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMKPiBpbmRleCA0MDYwYWNmLi41NmFmNzM2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYwo+IEBAIC03ODcsNiArNzg3LDIyIEBAIHN0YXRpYyBpbnQgd2FfYWRk KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCj4gICNkZWZpbmUgV0FfV1JJ VEUoYWRkciwgdmFsKSBXQV9SRUcoYWRkciwgMHhmZmZmZmZmZiwgdmFsKQo+ICAKPiArc3RhdGlj IGludCB3YV9yaW5nX3doaXRlbGlzdF9yZWcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywg aTkxNV9yZWdfdCByZWcpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHJpbmctPmRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgaTkxNV93b3JrYXJvdW5kcyAq d2EgPSAmZGV2X3ByaXYtPndvcmthcm91bmRzOwo+ICsJY29uc3QgdWludDMyX3QgaW5kZXggPSB3 YS0+aHdfd2hpdGVsaXN0X2NvdW50W3JpbmctPmlkXTsKPiArCj4gKwlpZiAoV0FSTl9PTihpbmRl eCA+PSBSSU5HX01BWF9OT05QUklWX1NMT1RTKSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4g KwlXQV9XUklURShSSU5HX0ZPUkNFX1RPX05PTlBSSVYocmluZy0+bW1pb19iYXNlLCBpbmRleCks Cj4gKwkJIGk5MTVfbW1pb19yZWdfb2Zmc2V0KHJlZykpOwo+ICsJd2EtPmh3X3doaXRlbGlzdF9j b3VudFtyaW5nLT5pZF0rKzsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAgc3RhdGljIGlu dCBnZW44X2luaXRfd29ya2Fyb3VuZHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiAg ewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHJpbmctPmRldjsKPiBAQCAtMTExNSw2ICsx MTMxLDcgQEAgaW50IGluaXRfd29ya2Fyb3VuZHNfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nKQo+ICAJV0FSTl9PTihyaW5nLT5pZCAhPSBSQ1MpOwo+ICAKPiAgCWRldl9wcml2LT53 b3JrYXJvdW5kcy5jb3VudCA9IDA7Cj4gKwlkZXZfcHJpdi0+d29ya2Fyb3VuZHMuaHdfd2hpdGVs aXN0X2NvdW50W1JDU10gPSAwOwo+ICAKPiAgCWlmIChJU19CUk9BRFdFTEwoZGV2KSkKPiAgCQly ZXR1cm4gYmR3X2luaXRfd29ya2Fyb3VuZHMocmluZyk7Cj4gLS0gCj4gMS45LjEKPiAKPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmll bCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9n LmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==