From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 1/6] drm: Deduplicate driver initialization message Date: Wed, 17 May 2017 14:51:44 +0300 Message-ID: <87fug3lmzz.fsf@intel.com> References: <20161228143216.26821-1-krisman@collabora.co.uk> <20161228143216.26821-2-krisman@collabora.co.uk> <20161230113807.GF2667@dvetter-linux.ger.corp.intel.com> <87lgpvlrux.fsf@intel.com> <20170517114157.6mbta5lxalwawctp@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id B12F36E3DE for ; Wed, 17 May 2017 11:49:29 +0000 (UTC) In-Reply-To: <20170517114157.6mbta5lxalwawctp@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: daniel.vetter@intel.com, dri-devel@lists.freedesktop.org, Gabriel Krisman Bertazi List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAxNyBNYXkgMjAxNywgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBXZWQsIE1heSAxNywgMjAxNyBhdCAwMTowNjo0NlBNICswMzAwLCBKYW5pIE5pa3Vs YSB3cm90ZToKPj4gT24gRnJpLCAzMCBEZWMgMjAxNiwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZm d2xsLmNoPiB3cm90ZToKPj4gPiBPbiBXZWQsIERlYyAyOCwgMjAxNiBhdCAxMjozMjoxMVBNIC0w MjAwLCBHYWJyaWVsIEtyaXNtYW4gQmVydGF6aSB3cm90ZToKPj4gPj4gU2V2ZXJhbCBEUk0gZHJp dmVycyBwcmludCB0aGUgc2FtZSBpbml0aWFsaXphdGlvbiBtZXNzYWdlIHJpZ2h0IGFmdGVyCj4+ ID4+IGRybV9kZXZfcmVnaXN0ZXIsIHNvIG1vdmUgdGhhdCB0byBjb21tb24gY29kZS4gIFRoZSBl eGNlcHRpb24gaXMgaTkxNSwKPj4gPj4gd2hpY2ggdXNlcyBpdHMgb3duIHJlZ2lzdGVyIGhhbmRs ZSwgc28gbGV0IGl0IGtlZXAgaXRzIG93biBtZXNzYWdlLgo+PiA+PiAKPj4gPj4gTm90aWNlIHRo YXQgdGhpcyB3YXMgdGVzdGVkIG9ubHkgd2l0aCBFeHlub3MsIGJ1dCBsb29rcyBzaW1wbGUgZW5v dWdoCj4+ID4+IGZvciB0aGUgb3RoZXIgZHJpdmVycy4KPj4gPj4gCj4+ID4+IFNpZ25lZC1vZmYt Ynk6IEdhYnJpZWwgS3Jpc21hbiBCZXJ0YXppIDxrcmlzbWFuQGNvbGxhYm9yYS5jby51az4KPj4g Pgo+PiA+IE1ha2VzIHNlbnNlLCBhcHBsaWVkIHRvIGRybS1taXNjLgo+PiAKPj4gTWFrZXMgc2Vu c2UgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0IGk5MTU6Cj4+IAo+PiBodHRwczovL2J1Z3MuZnJlZWRl c2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEwMjUKPgo+IE5vdCBzdXJlIGhvdyB0aGlzIGhh cHBlbmVkLCB0aGUgaTkxNSBwYXRjaCBsYW5kZWQgYSBmZXcgbW9udGhzIGVhcmxpZXI6Cj4KPiBj b21taXQgYmM1Y2E0N2MwYWY0Zjk0OWJhODg5ZTY2NmI3ZGE2NTU2OWUzNjA5Mwo+IEF1dGhvcjog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gRGF0ZTogICBUaHUgQXVn IDI1IDA4OjIzOjE0IDIwMTYgKzAxMDAKPgo+ICAgICBkcm0vaTkxNTogUmVzdG9yZSBsb3N0ICJJ bml0aWFsaXplZCBpOTE1IiB3ZWxjb21lIG1lc3NhZ2UKPgo+IEdhYnJpZWwsIGNhbiB5b3UgcGxz IGZvbGxvdyB1cCB3aXRoIGEgcGF0Y2ggdG8gYWRkcmVzcyB0aGlzPwoKSXNuJ3QgdGhlIGZpeCB0 aGVuIHRvIHJldmVydCB0aGF0PyBTaW5jZSB0aGUgbWVzc2FnZSBub3cgY29tZXMgZnJvbQpjb3Jl PwoKQlIsCkphbmkuCgo+Cj4gVGhhbmtzLCBEYW5pZWwKPgo+PiAKPj4gQlIsCj4+IEphbmkuCj4+ IAo+PiAKPj4gPgo+PiA+IFRoYW5rcywgRGFuaWVsCj4+ID4KPj4gPj4gLS0tCj4+ID4+ICBkcml2 ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9kcnYuYyAgICAgICAgICAgICB8IDYgLS0tLS0tCj4+ ID4+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jICAgICAgICAgICAgICAgICAgICAgICB8IDcg KysrKysrKwo+PiA+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9wY2kuYyAgICAgICAgICAgICAgICAg ICAgICAgfCA0IC0tLS0KPj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhdGZvcm0uYyAgICAg ICAgICAgICAgICAgIHwgNCAtLS0tCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xf ZGN1X2RybV9kcnYuYyAgICAgICB8IDQgLS0tLQo+PiA+PiAgZHJpdmVycy9ncHUvZHJtL2hpc2ls aWNvbi9raXJpbi9raXJpbl9kcm1fZHJ2LmMgfCA0IC0tLS0KPj4gPj4gIGRyaXZlcnMvZ3B1L2Ry bS90ZWdyYS9kcm0uYyAgICAgICAgICAgICAgICAgICAgIHwgNCAtLS0tCj4+ID4+ICBkcml2ZXJz L2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJtX2J1cy5jICAgICAgICB8IDQgLS0tLQo+PiA+PiAg OCBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQo+PiA+PiAK Pj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2Rydi5jIGIv ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMKPj4gPj4gaW5kZXggMDcwODZiNDI3 YzIyLi42M2Y0MmQwMDFmMzMgMTAwNjQ0Cj4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1h ZGEvYXJtYWRhX2Rydi5jCj4+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRh X2Rydi5jCj4+ID4+IEBAIC0yMDMsMTIgKzIwMyw2IEBAIHN0YXRpYyBpbnQgYXJtYWRhX2RybV9i aW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPj4gPj4gIAlhcm1hZGFfZHJtX2RlYnVnZnNfaW5pdChw cml2LT5kcm0ucHJpbWFyeSk7Cj4+ID4+ICAjZW5kaWYKPj4gPj4gIAo+PiA+PiAtCURSTV9JTkZP KCJJbml0aWFsaXplZCAlcyAlZC4lZC4lZCAlcyBmb3IgJXMgb24gbWlub3IgJWRcbiIsCj4+ID4+ IC0JCSBhcm1hZGFfZHJtX2RyaXZlci5uYW1lLCBhcm1hZGFfZHJtX2RyaXZlci5tYWpvciwKPj4g Pj4gLQkJIGFybWFkYV9kcm1fZHJpdmVyLm1pbm9yLCBhcm1hZGFfZHJtX2RyaXZlci5wYXRjaGxl dmVsLAo+PiA+PiAtCQkgYXJtYWRhX2RybV9kcml2ZXIuZGF0ZSwgZGV2X25hbWUoZGV2KSwKPj4g Pj4gLQkJIHByaXYtPmRybS5wcmltYXJ5LT5pbmRleCk7Cj4+ID4+IC0KPj4gPj4gIAlyZXR1cm4g MDsKPj4gPj4gIAo+PiA+PiAgIGVycl9wb2xsOgo+PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKPj4gPj4gaW5kZXgg NGE3YjNlOThkNTg2Li5kNWFlYmE1OGMyYWMgMTAwNjQ0Cj4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHJ2LmMKPj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwo+PiA+ PiBAQCAtNzI4LDYgKzcyOCw3IEBAIHN0YXRpYyB2b2lkIHJlbW92ZV9jb21wYXRfY29udHJvbF9s aW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ID4+ICAgKi8KPj4gPj4gIGludCBkcm1fZGV2 X3JlZ2lzdGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCj4+ ID4+ICB7Cj4+ID4+ICsJc3RydWN0IGRybV9kcml2ZXIgKmRyaXZlciA9IGRldi0+ZHJpdmVyOwo+ PiA+PiAgCWludCByZXQ7Cj4+ID4+ICAKPj4gPj4gIAltdXRleF9sb2NrKCZkcm1fZ2xvYmFsX211 dGV4KTsKPj4gPj4gQEAgLTc1OCw2ICs3NTksMTIgQEAgaW50IGRybV9kZXZfcmVnaXN0ZXIoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKPj4gPj4gIAkJZHJtX21v ZGVzZXRfcmVnaXN0ZXJfYWxsKGRldik7Cj4+ID4+ICAKPj4gPj4gIAlyZXQgPSAwOwo+PiA+PiAr Cj4+ID4+ICsJRFJNX0lORk8oIkluaXRpYWxpemVkICVzICVkLiVkLiVkICVzIGZvciAlcyBvbiBt aW5vciAlZFxuIiwKPj4gPj4gKwkJIGRyaXZlci0+bmFtZSwgZHJpdmVyLT5tYWpvciwgZHJpdmVy LT5taW5vciwKPj4gPj4gKwkJIGRyaXZlci0+cGF0Y2hsZXZlbCwgZHJpdmVyLT5kYXRlLCBkZXZf bmFtZShkZXYtPmRldiksCj4+ID4+ICsJCSBkZXYtPnByaW1hcnktPmluZGV4KTsKPj4gPj4gKwo+ PiA+PiAgCWdvdG8gb3V0X3VubG9jazsKPj4gPj4gIAo+PiA+PiAgZXJyX21pbm9yczoKPj4gPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGNpLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX3BjaS5jCj4+ID4+IGluZGV4IDNjZWVhOWNiOWQzZS4uZGMzNThmODYwYWVhIDEwMDY0NAo+ PiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BjaS5jCj4+ID4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fcGNpLmMKPj4gPj4gQEAgLTI1NywxMCArMjU3LDYgQEAgaW50IGRybV9nZXRf cGNpX2RldihzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQg KmVudCwKPj4gPj4gIAlpZiAocmV0KQo+PiA+PiAgCQlnb3RvIGVycl9hZ3A7Cj4+ID4+ICAKPj4g Pj4gLQlEUk1fSU5GTygiSW5pdGlhbGl6ZWQgJXMgJWQuJWQuJWQgJXMgZm9yICVzIG9uIG1pbm9y ICVkXG4iLAo+PiA+PiAtCQkgZHJpdmVyLT5uYW1lLCBkcml2ZXItPm1ham9yLCBkcml2ZXItPm1p bm9yLCBkcml2ZXItPnBhdGNobGV2ZWwsCj4+ID4+IC0JCSBkcml2ZXItPmRhdGUsIHBjaV9uYW1l KHBkZXYpLCBkZXYtPnByaW1hcnktPmluZGV4KTsKPj4gPj4gLQo+PiA+PiAgCS8qIE5vIGxvY2tp bmcgbmVlZGVkIHNpbmNlIHNoYWRvdy1hdHRhY2ggaXMgc2luZ2xlLXRocmVhZGVkIHNpbmNlIGl0 IG1heQo+PiA+PiAgCSAqIG9ubHkgYmUgY2FsbGVkIGZyb20gdGhlIHBlci1kcml2ZXIgbW9kdWxl IGluaXQgaG9vay4gKi8KPj4gPj4gIAlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERS SVZFUl9MRUdBQ1kpKQo+PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGF0 Zm9ybS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGF0Zm9ybS5jCj4+ID4+IGluZGV4IDAyNjI2 OTg1MWNlOS4uN2FmMzAwNWEwMzBjIDEwMDY0NAo+PiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX3BsYXRmb3JtLmMKPj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGF0Zm9ybS5j Cj4+ID4+IEBAIC01NywxMCArNTcsNiBAQCBzdGF0aWMgaW50IGRybV9nZXRfcGxhdGZvcm1fZGV2 KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRkZXYsCj4+ID4+ICAJaWYgKHJldCkKPj4gPj4g IAkJZ290byBlcnJfZnJlZTsKPj4gPj4gIAo+PiA+PiAtCURSTV9JTkZPKCJJbml0aWFsaXplZCAl cyAlZC4lZC4lZCAlcyBvbiBtaW5vciAlZFxuIiwKPj4gPj4gLQkJIGRyaXZlci0+bmFtZSwgZHJp dmVyLT5tYWpvciwgZHJpdmVyLT5taW5vciwgZHJpdmVyLT5wYXRjaGxldmVsLAo+PiA+PiAtCQkg ZHJpdmVyLT5kYXRlLCBkZXYtPnByaW1hcnktPmluZGV4KTsKPj4gPj4gLQo+PiA+PiAgCXJldHVy biAwOwo+PiA+PiAgCj4+ID4+ICBlcnJfZnJlZToKPj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1k Y3UvZnNsX2RjdV9kcm1fZHJ2LmMKPj4gPj4gaW5kZXggMGIzNWRhNzNjMmIwLi45YTMxNzExZDUx NTggMTAwNjQ0Cj4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJt X2Rydi5jCj4+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2Ry di5jCj4+ID4+IEBAIC00MTUsMTAgKzQxNSw2IEBAIHN0YXRpYyBpbnQgZnNsX2RjdV9kcm1fcHJv YmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gPj4gIAlpZiAocmV0IDwgMCkKPj4g Pj4gIAkJZ290byB1bnJlZjsKPj4gPj4gIAo+PiA+PiAtCURSTV9JTkZPKCJJbml0aWFsaXplZCAl cyAlZC4lZC4lZCAlcyBvbiBtaW5vciAlZFxuIiwgZHJpdmVyLT5uYW1lLAo+PiA+PiAtCQkgZHJp dmVyLT5tYWpvciwgZHJpdmVyLT5taW5vciwgZHJpdmVyLT5wYXRjaGxldmVsLAo+PiA+PiAtCQkg ZHJpdmVyLT5kYXRlLCBkcm0tPnByaW1hcnktPmluZGV4KTsKPj4gPj4gLQo+PiA+PiAgCXJldHVy biAwOwo+PiA+PiAgCj4+ID4+ICB1bnJlZjoKPj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2hp c2lsaWNvbi9raXJpbi9raXJpbl9kcm1fZHJ2LmMKPj4gPj4gaW5kZXggZmEyMjhiN2IwMjJjLi43 ZGYwZTg1MzVlNDEgMTAwNjQ0Cj4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24v a2lyaW4va2lyaW5fZHJtX2Rydi5jCj4+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGlj b24va2lyaW4va2lyaW5fZHJtX2Rydi5jCj4+ID4+IEBAIC0yMTcsMTAgKzIxNyw2IEBAIHN0YXRp YyBpbnQga2lyaW5fZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+PiA+PiAgCWlmIChyZXQp Cj4+ID4+ICAJCWdvdG8gZXJyX2ttc19jbGVhbnVwOwo+PiA+PiAgCj4+ID4+IC0JRFJNX0lORk8o IkluaXRpYWxpemVkICVzICVkLiVkLiVkICVzIG9uIG1pbm9yICVkXG4iLAo+PiA+PiAtCQkgZHJp dmVyLT5uYW1lLCBkcml2ZXItPm1ham9yLCBkcml2ZXItPm1pbm9yLCBkcml2ZXItPnBhdGNobGV2 ZWwsCj4+ID4+IC0JCSBkcml2ZXItPmRhdGUsIGRybV9kZXYtPnByaW1hcnktPmluZGV4KTsKPj4g Pj4gLQo+PiA+PiAgCXJldHVybiAwOwo+PiA+PiAgCj4+ID4+ICBlcnJfa21zX2NsZWFudXA6Cj4+ ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmMgYi9kcml2ZXJzL2dw dS9kcm0vdGVncmEvZHJtLmMKPj4gPj4gaW5kZXggZTI4OWRiYzZhZDgyLi4xYWNmMWRhM2YwZGYg MTAwNjQ0Cj4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYwo+PiA+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmMKPj4gPj4gQEAgLTk5MiwxMCArOTkyLDYgQEAg c3RhdGljIGludCBob3N0MXhfZHJtX3Byb2JlKHN0cnVjdCBob3N0MXhfZGV2aWNlICpkZXYpCj4+ ID4+ICAJaWYgKGVyciA8IDApCj4+ID4+ICAJCWdvdG8gdW5yZWY7Cj4+ID4+ICAKPj4gPj4gLQlE Uk1fSU5GTygiSW5pdGlhbGl6ZWQgJXMgJWQuJWQuJWQgJXMgb24gbWlub3IgJWRcbiIsIGRyaXZl ci0+bmFtZSwKPj4gPj4gLQkJIGRyaXZlci0+bWFqb3IsIGRyaXZlci0+bWlub3IsIGRyaXZlci0+ cGF0Y2hsZXZlbCwKPj4gPj4gLQkJIGRyaXZlci0+ZGF0ZSwgZHJtLT5wcmltYXJ5LT5pbmRleCk7 Cj4+ID4+IC0KPj4gPj4gIAlyZXR1cm4gMDsKPj4gPj4gIAo+PiA+PiAgdW5yZWY6Cj4+ID4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJtX2J1cy5jIGIvZHJp dmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2RybV9idXMuYwo+PiA+PiBpbmRleCAzYjk3ZDUw ZmQzOTIuLjQzZTFkNTkxNmM2YyAxMDA2NDQKPj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Zp cnRpby92aXJ0Z3B1X2RybV9idXMuYwo+PiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlv L3ZpcnRncHVfZHJtX2J1cy5jCj4+ID4+IEBAIC04MywxMCArODMsNiBAQCBpbnQgZHJtX3ZpcnRp b19pbml0KHN0cnVjdCBkcm1fZHJpdmVyICpkcml2ZXIsIHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2 ZGV2KQo+PiA+PiAgCWlmIChyZXQpCj4+ID4+ICAJCWdvdG8gZXJyX2ZyZWU7Cj4+ID4+ICAKPj4g Pj4gLQlEUk1fSU5GTygiSW5pdGlhbGl6ZWQgJXMgJWQuJWQuJWQgJXMgb24gbWlub3IgJWRcbiIs IGRyaXZlci0+bmFtZSwKPj4gPj4gLQkJIGRyaXZlci0+bWFqb3IsIGRyaXZlci0+bWlub3IsIGRy aXZlci0+cGF0Y2hsZXZlbCwKPj4gPj4gLQkJIGRyaXZlci0+ZGF0ZSwgZGV2LT5wcmltYXJ5LT5p bmRleCk7Cj4+ID4+IC0KPj4gPj4gIAlyZXR1cm4gMDsKPj4gPj4gIAo+PiA+PiAgZXJyX2ZyZWU6 Cj4+ID4+IC0tIAo+PiA+PiAyLjExLjAKPj4gPj4gCj4+ID4+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+ID4+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK Pj4gPj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiA+PiBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+PiAKPj4gLS0gCj4+ IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgoKLS0gCkph bmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK