From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruno =?UTF-8?B?UHLDqW1vbnQ=?= Subject: Re: Deadlock in 4.6 caused by 4eebd5a4e726 ("apple-gmux: lock iGP IO to protect from vgaarb changes") Date: Mon, 30 May 2016 12:48:15 +0200 Message-ID: <20160530124815.3e0358da@pluto.restena.lu> References: <20160527122302.GA7471@wunner.de> <20160530110753.61846b70@pluto.restena.lu> <20160530102446.GA13170@wunner.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160530102446.GA13170@wunner.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lukas Wunner Cc: Wilfried Klaebe , dri-devel@lists.freedesktop.org, platform-driver-x86@vger.kernel.org List-Id: platform-driver-x86.vger.kernel.org SGkgTHVjYXMsCgpPbiBNb24sIDMwIE1heSAyMDE2IDEyOjI0OjQ2ICswMjAwIEx1a2FzIFd1bm5l ciB3cm90ZToKPiBPbiBNb24sIE1heSAzMCwgMjAxNiBhdCAxMTowNzo1M0FNICswMjAwLCBCcnVu byBQcsOpbW9udCB3cm90ZToKPiA+IE9uIEZyaSwgMjcgTWF5IDIwMTYgMTQ6MjM6MDIgKzAyMDAg THVrYXMgV3VubmVyIHdyb3RlOiAgCj4gPiA+IFdpbGZyaWVkIEtsYWViZSBoYXMgcmVwb3J0ZWQg YSBkZWFkbG9jayBpbiA0LjYgd2hpY2ggaGUgYmlzZWN0ZWQgdG8KPiA+ID4gbXkgY29tbWl0IDcw NGFiNjE0ZWMxMiAoImRybS9pOTE1OiBEZWZlciBwcm9iZSBpZiBnbXV4IGlzIHByZXNlbnQgYnV0 Cj4gPiA+IGl0cyBkcml2ZXIgaXNuJ3QiKSwgYnV0IHdoaWNoIGlzIHVsdGltYXRlbHkgY2F1c2Vk IGJ5IHlvdXIgY29tbWl0Cj4gPiA+IDRlZWJkNWE0ZTcyNiAoImFwcGxlLWdtdXg6IGxvY2sgaUdQ IElPIHRvIHByb3RlY3QgZnJvbSB2Z2FhcmIgY2hhbmdlcyIpLgo+ID4gPiAKPiA+ID4gV2hhdCdz IGhhcHBlbmluZyBpcyB0aGF0IHlvdXIgY29tbWl0IGNhbGxzIHZnYV90cnlnZXQoKSBpbiBhcHBs ZS1nbXV4LAo+ID4gPiB3aGljaCBzdWNjZWVkcy4gV2hlbiBYb3JnIGlzIGxhdW5jaGVkLCBpdCBv cGVucyAvZGV2L3ZnYV9hcmJpdGVyIGFuZAo+ID4gPiBjYWxscyB2Z2FfZ2V0KCksIHdoaWNoIGRl YWRsb2Nrcy4gU2VlIHRoZSBhdHRhY2htZW50cyB0byB0aGlzIGJ1Z3ppbGxhCj4gPiA+IGVudHJ5 LCBpbiBwYXJ0aWN1bGFyIHRoZSBzdGFja3RyYWNlIGF0IHRoZSBlbmQgb2YgImtlcm4ubG9nIC8g ZG1lc2cgb2YKPiA+ID4gbm9uLXdvcmtpbmcgTGludXggNC42LjAiOgo+ID4gPiBodHRwczovL2J1 Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTg4ODYxI2MxMQo+ID4gPiBodHRwczov L2J1Z3ppbGxhLmtlcm5lbC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MjE3NTQxICAKPiA+IAo+ID4g TG9va3MgbGlrZSBoZXJlIHRoZSB0d28gR1BVcyBhcmUgdmlzaWJsZSBhbmQgdGhlIHJpZ2h0IG9u ZSBpcyBiZWluZwo+ID4gc2VsZWN0ZWQuCj4gPiBTbyB5b3VyIHBhdGNoIHRvIGFsbG93IGluY2x1 ZGluZyBJU0EgZGV2aWNlcyBpbiB2Z2EgYXJiaXRyYXRpb24gd291bGQKPiA+IG5vdCBjaGFuZ2Ug YW55dGhpbmcgaGVyZS4KPiA+IAo+ID4gSXMgaXQga25vd24gYXQgd2hhdCB0aW1lIHRoZSBsb2Nr dXAgaGFwcGVucz8KPiA+IEZyb20gdGhlIGtlcm5lbCB0cmFjZSB0aGUgbG9ja3VwIG9ubHkgaGFw cGVucyBkdXJpbmcgd3JpdGUoKSBhbmQgbm90Cj4gPiBhbHJlYWR5IGF0IG9wZW4gdGltZS4gVGh1 cyB0aGUgY29tbWFuZCB3cml0dGVuIHRvIC9kZXYvdmdhX2FyYml0ZXIgd291bGQKPiA+IGJlIGhl bHBmdWwgZm9yIHByb3BlciB1bmRlcnN0YW5kaW5nLgo+ID4gRnJvbSBrZXJuZWwgc2lkZSBjb2Rl IEkgdGhpbmsgaXQncyBhIGNhbGwgcmVsYXRlZCB0byByYWRlb24gYW5kIG5vdAo+ID4gaW50ZWwg aW4gWG9yZyB0aGF0IGNhbGxzIG91dCB0byB2Z2FfYXJiaXRlciwgYnV0IHBsZWFzZSBwcm92aWRl Cj4gPiBtb3JlIGRldGFpbHMgKGVpdGhlciBzdHJhY2UmL2JhY2t0cmFjZSBvbiBYb3JnIG9yIGtl cm5lbCB3aXRoIHByX2RlYnVnCj4gPiBhY3RpdmUgZm9yIHZnYWFyZ2IgYW5kIGNvcnJlc3BvbmRp bmcga2VybmVsIGxvZykuICAKPiAKPiBXaGVuIFhvcmcgc3RhcnRzIHVwLCBpdCBjYWxscyB4Zjg2 VkdBYXJiaXRlckxvY2soKSBhIGNvdXBsZSBvZiB0aW1lcwo+IGZyb20gSW5pdE91dHB1dCgpOgo+ IGh0dHBzOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy94c2VydmVyL3RyZWUvaHcveGZyZWU4 Ni9jb21tb24veGY4NkluaXQuYyNuNTY5Cj4gCj4gVGhpcyBjYWxscyBwY2lfZGV2aWNlX3ZnYWFy Yl9sb2NrKCk6Cj4gaHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL3hzZXJ2ZXIvdHJl ZS9ody94ZnJlZTg2L2NvbW1vbi94Zjg2VkdBYXJiaXRlci5jI244OAo+IAo+IEFuZCB0aGlzIHdy aXRlcyB0byAvZGV2L3ZnYV9hcmJpdGVyOgo+IGh0dHBzOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcv eG9yZy9saWIvbGlicGNpYWNjZXNzL3RyZWUvc3JjL2NvbW1vbl92Z2FhcmIuYyNuMjg3Cj4gCj4g QWRkaW5nIFRpYWdvIFZpZ25hdHRpIHRvIGNjOiB3aG8gd3JvdGUgbXVjaCBvZiB0aGlzIGNvZGUu CgpPaywgYW5kIHRoZSBkZXZpY2UgY2hvc2UgZm9yIHRoZSBsb2NrIGlzIHByb2JhYmx5IHRoZSBy YWRlb24gb25lLCB0aHVzCnRoZSBsb2NrIHRha2VuIGJ5IHZnYWFyYiBjb25mbGljdHMgd2l0aCB0 aGUgb25lIGxpYnBjaWFjY2VzcyB3YW50cyB0bwp0YWtlIGZvciByYWRlb24gZHJpdmVyLgpJZiBp dCB3YXMgdGhlIGludGVsIG9uZSB0aGUga2VybmVsIHNob3VsZCBub3QgYmxvY2sgYXMgdGhlIHRo ZSBvbmUgdG8KYmUgbG9ja2VkICBieSB1c2Vyc3BhY2UgbWF0Y2hlcyB0aGUgb25lIGxvY2tlZCBi eSBrZXJuZWwuCgo+ID4gRnJvbSB0aGUgYnVnIHJlcG9ydCwgY29tbWVudCAjMTEgSSBkb24ndCB1 bmRlcnN0YW5kIHRoaXMgcGFydDoKPiA+ICAgSSBib290IExpbnV4IGRpcmVjdGx5IHZpYSByRUZJ bmQuIEkgZ290IHRoZSByYWRlb24geG9yZyBkcml2ZXJzCj4gPiAgIGluc3RhbGxlZCwgYnV0IG5l aXRoZXIgaW50ZWwgbm9yIGZiZGV2IG9yIGttcy4KPiA+IAo+ID4gRG9lcyB0aGlzIG1lYW4gdGhh dCBuZWl0aGVyIEludGVsIEtNUyBub3IgUmFkZW9uIEtNUyBhcmUgYWJsZSB0bwo+ID4gaW5pdGlh bGl6ZSwgbm9yIHNpbXBsZWZiJ3MgZmJkZXY/Cj4gPiBUaGUga2VybmVsIGxvZyB0aG91Z2ggcmVw b3J0cyBwcm9wZXIgc3RhcnR1cCBvZiByYWRlb24gKEtNUykgYW5kIGk5MTUKPiA+IChLTVMpIHNv IG9ubHkgdXNlcnNwYWNlIGdldHMgY2F1Z2h0Li4uCj4gPiBTbyBkZXRhaWxzIG9uIHRoZSB1c2Vy c3BhY2Ugc3RhY2sgKHhmODYtdmlkZW8taW50ZWwgYW5kIGxpYmRybSB2ZXJzaW9ucykKPiA+IHdv dWxkIGJlIGhlbHBmdWwgYXMgd2VsbC4gIAo+IAo+IFRoZSBrZXJuZWwgbW9kdWxlcyBhcHBsZS1n bXV4LCBpOTE1IGFuZCByYWRlb24gYXJlIHByZXNlbnQgYW5kIGxvYWRlZCwKPiBidXQgdGhlIHVz ZXIgc3BhY2UgWG9yZyBkcml2ZXIgZm9yIGk5MTUgaXMgbm90IGluc3RhbGxlZCwgb25seSByYWRl b24uCj4gCj4gQnV0IHdlIChvbmUgdGhlIGtlcm5lbCBzaWRlKSBjYW5ub3QgZm9yY2UgcGVvcGxl IHRvIGhhdmUgc3BlY2lmaWMKPiB1c2VybGFuZCBkcml2ZXJzIGluc3RhbGxlZCB0byBhdm9pZCBk ZWFkbG9ja3MgaW4gdGhlIGtlcm5lbC4KCk9rLCB0aGF0IG1hdGNoZXMgYWJvdmUuCgpTdXJlIHdl IHNob3VsZCBub3QgYmxvY2sgdXNlcnNwYWNlIGluZGVmaW5pdGVseS4KT24gdXNlcnNwYWNlIGEg dHJ5LWxvY2sgaW5zdGVhZCBvZiBsb2NrIGNvbW1hbmQgd291bGQgYmUgYW4gb3B0aW9uCnRvdWdo LgoKSXQgc2VlbXMgdGhhdCBjb21taXQgOWY1YmQzMDgxOGM0MmM2YzM2YTUxZjkzYjRkZjc1YTJl YTJiZDg1ZSBtaWdodAphbHNvIGhhdmUgbWFkZSB0aGUgaXNzdWUgd29yc2UgKGFzIHRoZSBsb2Nr IGlzIGJlY29taW5nCmVmZmVjdGl2ZWx5IHVuaW50ZXJydXB0aWJsZSB3aXRoIHRoYXQgY29tbWl0 IHdoaWxlIGl0IHdhcyBub3Qgc28gYmVmb3JlCihubyBpZGVhIGlmIFhvcmcgZGlkIHJlY2VpdmUg c2lnbmFscyB0byBlc2NhcGUgdGhlIGltcG9zc2libGUgbG9ja2luZwphdHRlbXB0KQoKPiA+ID4g Rm9yIHNvbWUgcmVhc29uIHRoZSBkZWFkbG9jayBvbmx5IG9jY3VycyBpZiBhcHBsZS1nbXV4IGxv YWRzCj4gPiA+IGJlZm9yZSBpOTE1LCBzbyBpdCBzZWVtcyB0aGVyZSdzIGEgcmFjZSBjb25kaXRp b24gaW4geW91ciBjb21taXQuCj4gPiA+IE15IGNvbW1pdCBlbnN1cmVzIHRoYXQgdGhpcyBpcyB0 aGUgY2FzZSwgYmVjYXVzZSBpOTE1IGNhbm5vdAo+ID4gPiBwcm9iZSB0aGUgcGFuZWwncyBFRElE IHdpdGhvdXQgZ211eC4gKFRoZSBwYW5lbCBpcyBzd2l0Y2hlZCB0bwo+ID4gPiB0aGUgcmFkZW9u IEdQVS4pIE5vdGFibHksIHlvdXIgY29tbWl0IG1lc3NhZ2Ugc2F5cyB0aGF0OiAiSXQgaXMKPiA+ ID4gZXhwZWN0ZWQgdG8gbG9hZC9wcm9iZSBnbXV4IHByaW9yIHRvIGdyYXBoaWNzIGRyaXZlcnMu IiBIb3dldmVyCj4gPiA+IHlvdXIgY29tbWl0IGRvZXMgbm90IHRha2UgYW55IHByZWNhdXRpb25z IHRvIGFjdHVhbGx5IGVuc3VyZQo+ID4gPiB0aGF0LiBXaGF0J3MgbW9yZSwgbm93IHRoYXQgYXBw bGUtZ211eCAqZG9lcyogbG9hZCBiZWZvcmUgaTkxNSwKPiA+ID4geW91ciBjb21taXQgYnJlYWtz LiAgCj4gPiAKPiA+IEkgdGhpbmsgaGVyZSB1c2Vyc3BhY2UgYW5kIGtlcm5lbC1zaWRlIHBhcnRz IGFyZSBnZXR0aW5nIG1peGVkLXVwLgo+ID4gCj4gPiBGcm9tIHRoZSBmYWlsaW5nIGtlcm5lbCBs b2csIGJvdGggaTkxNSBhbmQgcmFkZW9uIGFyZSBsb2FkZWQgbG9uZwo+ID4gYmVmb3JlIHRoZSBs b2NrIGhhcHBlbnMgKHdpdGggdmdhYXJiIGJlaW5nIGxvYWRlZCB5ZXQgZWFybGllcikuCj4gPiAK PiA+IFRoZSBvbmx5IG9uZSBoYXZpbmcgdHJvdWJsZSBpcyBYb3JnICh3b3VsZCBpdCBiZSBwb3Nz aWJsZSB0byBnZXQgYQo+ID4gYmFja3RyYWNlIG9mIFhvcmcgdG8ga25vdyB3aGF0IGNvZGUKPiA+ IGNhbGxlZC90cmlnZ2VyZWQgL2Rldi92Z2FfYXJiaXRlciBhbmQgd2hhdCBpdCBpbnRlbmRzIHRv IGRvPykuCj4gPiAgIAo+ID4gPiBJJ20gbm90IHJlYWxseSBmYW1pbGlhciB3aXRoIHZnYWFyYiwg YnV0IGdyZXBwaW5nIHRocm91Z2ggdGhlCj4gPiA+IGtlcm5lbCB0cmVlIEkgY2FuIGZpbmQgb25s eSAyIGRyaXZlcnMgd2hpY2ggdXNlIGl0LCBpOTE1IGFuZAo+ID4gPiB2ZmlvLiBJbiBib3RoIGNh c2VzLCB0aGUga2VybmVsIG9ubHkgYnJpZWZseSBhY3F1aXJlcyBhIGxvY2sgdG8KPiA+ID4gd3Jp dGUgdG8gVkdBIHJlZ2lzdGVycywgYW5kIGltbWVkaWF0ZWx5IHJlbGVhc2VzIHRoZSBsb2NrCj4g PiA+IGFmdGVyd2FyZHMuIFNvIGl0IGxvb2tzIHRvIG1lIGxpa2UgdGhlIGludGVuZGVkIHVzYWdl IGlzIHRvIG5vdAo+ID4gPiBob2xkIGEgbG9jayBvdmVyIGEgcHJvbG9uZ2VkIHBlcmlvZCBvZiB0 aW1lLiBJSVVDIHRoZSBwcm9wcmlldGFyeQo+ID4gPiBudmlkaWEgZHJpdmVyIGlzIGRvaW5nIGV4 YWN0bHkgdGhhdCwgYW5kIHlvdSBzb3VnaHQgdG8gd29yawo+ID4gPiBhcm91bmQgdGhpcyBpc3N1 ZSBieSBhbHNvIGhvbGRpbmcgYSBsb2NrIGluZGVmaW5pdGVseSBpbgo+ID4gPiBhcHBsZS1nbXV4 LmMuCj4gPiA+IAo+ID4gPiBUaGUgcHJvcGVyIHdheSwgYXQgbGVhc3QgZnJvbSBteSBwb2ludCBv ZiB2aWV3IGFzIGEgY29tcGxldGUKPiA+ID4gdmdhYXJiIGRpbXdpdCwgc2VlbXMgdG8gYnJpZWZs eSBhY3F1aXJlIGEgbG9jayB3aGVuZXZlcgo+ID4gPiBhcHBsZS1nbXV4LmMgYWNjZXNzZXMgaXRz IHJlZ2lzdGVycyBpbiB0aGUgMHg3MDAgSU8gcmFuZ2UuIEFuZAo+ID4gPiBsaWtld2lzZSBudmlk aWEgb3VnaHQgdG8gZml4IHRoZWlyIGRyaXZlciB0byBvbmx5IGFjcXVpcmUgYSBsb2NrCj4gPiA+ IHdoZW5ldmVyIHRoZXkgYWN0dWFsbHkgbmVlZCBpdC4gSXQgd2FzIG5vYmxlIHRoYXQgeW91IHRy aWVkIHRvCj4gPiA+IGhlbHAgdGhlIHVzZXIgd2l0aCB0aGUgbnZpZGlhIGRyaXZlciBpc3N1ZSwg YnV0IHVsdGltYXRlbHkgd2UKPiA+ID4gY2FuJ3Qgd29ya2Fyb3VuZCBudmlkaWEncyBidWdzIGlm IGl0IGNhdXNlcyBicmVha2FnZSBlbHNld2hlcmUuCj4gPiA+IFRoZXkgbmVlZCB0byBmaXggdGhl aXIgY2xvc2VkIHNvdXJjZSBkcml2ZXIuCj4gPiA+IAo+ID4gPiBUaGVyZSdzIGFsc28gdGhpcyB1 bnJlc29sdmVkIGlzc3VlIHRoYXQgeW91ciBjb21taXQgYnJva2UKPiA+ID4gYmFja2xpZ2h0IGNv bnRyb2wgb24gdGhlIE1hY0Jvb2tQcm8xMSwzIGFuZCAxMSw1Ogo+ID4gPiBodHRwczovL2J1Z3pp bGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTA1MSAgCj4gPiAKPiA+IFlvdSBoYWQg YSBwYXRjaCBhbGxvd2luZyByZWdpc3RlcmluZyBJU0EgZGV2aWNlcyB0byB2Z2FhcmIgKGZvciB3 aGVuCj4gPiBJbnRlbCBHUFUgaXMgaGlkZGVuKSwgZGlkIGFueXRoaW5nIGhhcHBlbiB3aXRoIHRo YXQgb25lPyAgCj4gCj4gVGhhdCBwYXRjaCB3YXMgb25seSBoYWxmIHNlcmlvdXMuCj4gCj4gQXMg c2FpZCwgYmFzZWQgb24gbXkgbGltaXRlZCB1bmRlcnN0YW5kaW5nIG9mIHZnYWFyYi5jLCB0aGUg aW50ZW5kZWQKPiB1c2FnZSBzZWVtcyBub3QgdG8gYmUgdGhhdCBhIGxvY2sgaXMgYWNxdWlyZWQg YW5kIGtlcHQgaW5kZWZpbml0ZWx5LAo+IGJ1dCBvbmx5IGZvciB0aGUgYnJpZWYgcGVyaW9kIG9m IHRpbWUgd2hlbiBJL08gaXMgYWNjZXNzZWQuCj4gCj4gU28gd2hhdCBOdmlkaWEgaXMgZG9pbmcg aXMgcGxhaW4gd3JvbmcgYW5kIHBlb3BsZSBoYXZlIHRyaWVkIHRvCj4gY29udmluY2UgdGhlbSB0 byBmaXggdGhlaXIgZHJpdmVyIHRpbWUgYW5kIGFnYWluIGluIHRoaXMgZm9ydW0KPiB0aHJlYWQ6 Cj4gaHR0cHM6Ly9kZXZ0YWxrLm52aWRpYS5jb20vZGVmYXVsdC90b3BpYy81NDU1NjAvdmZpby12 Z2EtYXJiaXRyYXRpb24tbG9jay8KPiAKPiBZb3Ugd2VyZSBjb3JyZWN0IGluIHRoYXQgeW91IG5v dGljZWQgdGhhdCBJL08gbmVlZHMgdG8gYmUgbG9ja2VkIHRvCj4gYSBkZXZpY2Ugb24gdGhlIHJv b3QgYnVzIGZvciBnbXV4IHRvIGJlIGFjY2Vzc2libGUuIEhvd2V2ZXIgdGhlIGxvY2sKPiBzaG91 bGRuJ3QgYmUgaGVsZCBpbmRlZmluaXRlbHksIGJ1dCBvbmx5IGJyaWVmbHkgaW4gdGhlIGdtdXhf cmVhZCooKSwKPiBnbXV4X3dyaXRlKigpIGFuZCBnbXV4X2lzX2luZGV4ZWQoKSBmdW5jdGlvbnMu IFNvIG15IHN1Z2dlc3Rpb24gd291bGQKPiBiZSB0byByZXZlcnQgNGVlYmQ1YTRlNzI2LCByZXBs YWNlIGl0IHdpdGggYSBuZXcgcGF0Y2ggdGhhdCBsb2NrcyBJTwo+IG9ubHkgd2hlbiBuZWVkZWQs IGFuZCBnZXQgbnZpZGlhIHRvIGRvIHRoZSBzYW1lIGluIHRoZWlyIGRyaXZlci4KCkp1c3QgY2hh bmdpbmcgdGhlIGxvY2tpbmcgcGVyaW9kIGxvb2tzIGdyZWF0IHdoZW4gYWxsIEdQVXMgYXJlIHZp c2libGUsCnRob3VnaCBmb3IgdGhlIGNhc2Ugd2hlbiBvbmx5IGRpc2NyZXRlIEdQVSBpcyB2aXNp YmxlIHdpbGwgbmVlZCBzb21lCmV4dHJhIGNhcmUgKHZnYWFyYiBjYW4ndCBkbyBzbyBwcm9wZXJs eSByaWdodCBub3cgdW5sZXNzIHdlIGNhbiBjb29rCnNvbWV0aGluZyB3aXRoIHJlbW92aW5nIGFs bCBkZWNvZGVzIG9mIGRpc2NyZXRlIEdQVSBhbmQgcmVwbGljYXRlIGluCnByaXZhdGUgc2V0dGlu ZyB1cCBkZWNvZGVzIHByb3Blcmx5IGZvciByb290IGJ1cykuLi4KCkJydW5vCgo+IFRoYW5rcywK PiAKPiBMdWthcwo+IAo+ID4gICAKPiA+ID4gU28gd2hhdCBkbyB3ZSBkbz8gV2UgbmVlZCB0byBk byBzb21ldGhpbmcgYmVjYXVzZSBub3cgd2UndmUgZ290IHRoZQo+ID4gPiBkZWFkbG9jayByZWdy ZXNzaW9uIGluIDQuNiBvbiB0b3AuIDooCj4gPiA+IAo+ID4gPiBUaGFua3MsCj4gPiA+IAo+ID4g PiBMdWthcyAgCj4gPiAKPiA+IEJydW5vICAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==