From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [PATCH 01/12] drm/i915: add helper to get a display power ref if it was already enabled Date: Mon, 15 Feb 2016 10:09:35 +0200 Message-ID: <1455523775.6891.2.camel@linux.intel.com> References: <1455296121-4742-1-git-send-email-imre.deak@intel.com> <1455296121-4742-2-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id C33BD6E5F2 for ; Mon, 15 Feb 2016 08:09:35 +0000 (UTC) In-Reply-To: <1455296121-4742-2-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak , intel-gfx@lists.freedesktop.org Cc: Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org T24gcGUsIDIwMTYtMDItMTIgYXQgMTg6NTUgKzAyMDAsIEltcmUgRGVhayB3cm90ZToKPiBXZSBo YXZlIG1hbnkgcGxhY2VzIGluIHRoZSBjb2RlIHdoZXJlIHdlIGNoZWNrIGlmIGEgZ2l2ZW4gZGlz cGxheSBwb3dlcgo+IGRvbWFpbiBpcyBlbmFibGVkIGFuZCBpZiBzbyBhY2Nlc3MgcmVnaXN0ZXJz IGJhY2tlZCBieSB0aGlzIHBvd2VyCj4gZG9tYWluLiBXZSBhc3N1bWVkIHRoYXQgc29tZSBtb2Rl c2V0IGxvY2sgd2lsbCBwcmV2ZW50IHRoZSBwb3dlcgo+IHJlZmVyZW5jZSBmcm9tIHZhbmlzaGlu ZyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBIVyBhY2Nlc3MsIGJ1dCB0aGlzCj4gYXNzdW1wdGlvbiBk b2Vzbid0IGFsd2F5cyBob2xkLiBJbiBzdWNoIGNhc2VzIHdlIGdldCBlaXRoZXIgdGhlIHdha2Vy ZWYKPiBub3QgaGVsZCwgb3IgYW4gdW5jbGFpbWVkIHJlZ2lzdGVyIGFjY2VzcyBlcnJvciBtZXNz YWdlLiBUbyBmaXggdGhpcyBpbgo+IGEgZnV0dXJlLXByb29mIHdheSB0aGF0J3MgaW5kZXBlbmRl bnQgb2Ygb3RoZXIgbG9ja3Mgd3JhcCBhbnkgc3VjaAo+IGFjY2VzcyB3aXRoIGEgZ2V0X3JlZl9p Zl9lbmFibGVkKCkvcHV0X3JlZigpIHBhaXIuCj4gCj4gS3Vkb3MgdG8gVmlsbGUgYW5kIEpvb25h cyBmb3IgdGhlIGlkZWFzIG9mIHRoaXMgbmV3IGludGVyZmFjZS4KPiAKCkEgY291cGxlIHZhcmlh YmxlcyBjb3VsZCBiZSBpbml0aWFsaXplZCBhdCBkZWNsYXJhdGlvbiwgb3RoZXIgdGhhbgp0aGF0 OwoKUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4Lmlu dGVsLmNvbT4KCj4gQ0M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgo+ IENDOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDQzogSm9vbmFz IExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgo+IENDOiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6 IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5owqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAzICsKPiDCoGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8IDExMSArKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLQo+IMKgMiBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspLCAxOCBk ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDg3ODE3MmEu LjkzODBmZmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xNDM2LDYgKzE0 MzYsOCBAQCBib29sIF9faW50ZWxfZGlzcGxheV9wb3dlcl9pc19lbmFibGVkKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiDCoAkJCQnCoMKgwqDCoMKgwqBlbnVtIGludGVsX2Rp c3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbik7Cj4gwqB2b2lkIGludGVsX2Rpc3BsYXlfcG93ZXJf Z2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiDCoAkJCcKgwqDCoMKgwqBl bnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbik7Cj4gK2Jvb2wgaW50ZWxfZGlz cGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gKwkJCQkJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkb21haW4pOwo+IMKg dm9pZCBpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4gwqAJCQnCoMKgwqDCoMKgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBk b21haW4pOwo+IMKgCj4gQEAgLTE1MjIsNiArMTUyNCw3IEBAIGVuYWJsZV9ycG1fd2FrZXJlZl9h c3NlcnRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiDCoAllbmFibGVfcnBt X3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdikKPiDCoAo+IMKgdm9pZCBpbnRlbF9ydW50aW1lX3Bt X2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICtib29sIGludGVsX3J1 bnRpbWVfcG1fZ2V0X2lmX2luX3VzZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Owo+IMKgdm9pZCBpbnRlbF9ydW50aW1lX3BtX2dldF9ub3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwo+IMKgdm9pZCBpbnRlbF9ydW50aW1lX3BtX3B1dChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IMKgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3J1bnRpbWVfcG0uYwo+IGluZGV4IGJiY2E1MjcuLmE4MWY5NjUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gQEAgLTE0MzUsMzkgKzE0MzUsOTAgQEAg c3RhdGljIHZvaWQgY2h2X3BpcGVfcG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiDCoAljaHZfc2V0X3BpcGVfcG93ZXJfd2VsbChkZXZfcHJpdiwg cG93ZXJfd2VsbCwgZmFsc2UpOwo+IMKgfQo+IMKgCj4gLS8qKgo+IC0gKiBpbnRlbF9kaXNwbGF5 X3Bvd2VyX2dldCAtIGdyYWIgYSBwb3dlciBkb21haW4gcmVmZXJlbmNlCj4gLSAqIEBkZXZfcHJp djogaTkxNSBkZXZpY2UgaW5zdGFuY2UKPiAtICogQGRvbWFpbjogcG93ZXIgZG9tYWluIHRvIHJl ZmVyZW5jZQo+IC0gKgo+IC0gKiBUaGlzIGZ1bmN0aW9uIGdyYWJzIGEgcG93ZXIgZG9tYWluIHJl ZmVyZW5jZSBmb3IgQGRvbWFpbiBhbmQgZW5zdXJlcyB0aGF0IHRoZQo+IC0gKiBwb3dlciBkb21h aW4gYW5kIGFsbCBpdHMgcGFyZW50cyBhcmUgcG93ZXJlZCB1cC4gVGhlcmVmb3JlIHVzZXJzIHNo b3VsZCBvbmx5Cj4gLSAqIGdyYWIgYSByZWZlcmVuY2UgdG8gdGhlIGlubmVybW9zdCBwb3dlciBk b21haW4gdGhleSBuZWVkLgo+IC0gKgo+IC0gKiBBbnkgcG93ZXIgZG9tYWluIHJlZmVyZW5jZSBv YnRhaW5lZCBieSB0aGlzIGZ1bmN0aW9uIG11c3QgaGF2ZSBhIHN5bW1ldHJpYwo+IC0gKiBjYWxs IHRvIGludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KCkgdG8gcmVsZWFzZSB0aGUgcmVmZXJlbmNlIGFn YWluLgo+IC0gKi8KPiAtdm9pZCBpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCcKgwqDCoMKgwqBlbnVtIGludGVsX2Rpc3BsYXlf cG93ZXJfZG9tYWluIGRvbWFpbikKPiArc3RhdGljIHZvaWQKPiArX19pbnRlbF9kaXNwbGF5X3Bv d2VyX2dldF9kb21haW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkJ wqBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbikKPiDCoHsKPiDCoAlzdHJ1 Y3QgaTkxNV9wb3dlcl9kb21haW5zICpwb3dlcl9kb21haW5zOwo+IMKgCXN0cnVjdCBpOTE1X3Bv d2VyX3dlbGwgKnBvd2VyX3dlbGw7Cj4gwqAJaW50IGk7Cj4gwqAKPiAtCWludGVsX3J1bnRpbWVf cG1fZ2V0KGRldl9wcml2KTsKPiAtCj4gwqAJcG93ZXJfZG9tYWlucyA9ICZkZXZfcHJpdi0+cG93 ZXJfZG9tYWluczsKPiDCoAoKWW91IGNvdWxkIHNxdWFzaCB0aGlzIHRvIHRoZSBkZWNsYXJhdGlv biBsaW5lLgoKPiAtCW11dGV4X2xvY2soJnBvd2VyX2RvbWFpbnMtPmxvY2spOwo+IC0KPiDCoAlm b3JfZWFjaF9wb3dlcl93ZWxsKGksIHBvd2VyX3dlbGwsIEJJVChkb21haW4pLCBwb3dlcl9kb21h aW5zKSB7Cj4gwqAJCWlmICghcG93ZXJfd2VsbC0+Y291bnQrKykKPiDCoAkJCWludGVsX3Bvd2Vy X3dlbGxfZW5hYmxlKGRldl9wcml2LCBwb3dlcl93ZWxsKTsKPiDCoAl9Cj4gwqAKPiDCoAlwb3dl cl9kb21haW5zLT5kb21haW5fdXNlX2NvdW50W2RvbWFpbl0rKzsKPiArfQo+ICsKPiArLyoqCj4g KyAqIGludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0IC0gZ3JhYiBhIHBvd2VyIGRvbWFpbiByZWZlcmVu Y2UKPiArICogQGRldl9wcml2OiBpOTE1IGRldmljZSBpbnN0YW5jZQo+ICsgKiBAZG9tYWluOiBw b3dlciBkb21haW4gdG8gcmVmZXJlbmNlCj4gKyAqCj4gKyAqIFRoaXMgZnVuY3Rpb24gZ3JhYnMg YSBwb3dlciBkb21haW4gcmVmZXJlbmNlIGZvciBAZG9tYWluIGFuZCBlbnN1cmVzIHRoYXQgdGhl Cj4gKyAqIHBvd2VyIGRvbWFpbiBhbmQgYWxsIGl0cyBwYXJlbnRzIGFyZSBwb3dlcmVkIHVwLiBU aGVyZWZvcmUgdXNlcnMgc2hvdWxkIG9ubHkKPiArICogZ3JhYiBhIHJlZmVyZW5jZSB0byB0aGUg aW5uZXJtb3N0IHBvd2VyIGRvbWFpbiB0aGV5IG5lZWQuCj4gKyAqCj4gKyAqIEFueSBwb3dlciBk b21haW4gcmVmZXJlbmNlIG9idGFpbmVkIGJ5IHRoaXMgZnVuY3Rpb24gbXVzdCBoYXZlIGEgc3lt bWV0cmljCj4gKyAqIGNhbGwgdG8gaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoKSB0byByZWxlYXNl IHRoZSByZWZlcmVuY2UgYWdhaW4uCj4gKyAqLwo+ICt2b2lkIGludGVsX2Rpc3BsYXlfcG93ZXJf Z2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJwqDCoMKgwqDCoGVu dW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gZG9tYWluKQo+ICt7Cj4gKwlzdHJ1Y3QgaTkx NV9wb3dlcl9kb21haW5zICpwb3dlcl9kb21haW5zOwo+ICsKPiArCWludGVsX3J1bnRpbWVfcG1f Z2V0KGRldl9wcml2KTsKPiArCj4gKwlwb3dlcl9kb21haW5zID0gJmRldl9wcml2LT5wb3dlcl9k b21haW5zOwoKU2FtZSBoZXJlLgoKPiArCj4gKwltdXRleF9sb2NrKCZwb3dlcl9kb21haW5zLT5s b2NrKTsKPiArCj4gKwlfX2ludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2RvbWFpbihkZXZfcHJpdiwg ZG9tYWluKTsKPiArCj4gKwltdXRleF91bmxvY2soJnBvd2VyX2RvbWFpbnMtPmxvY2spOwo+ICt9 Cj4gKwo+ICsvKioKPiArICogaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZCAtIGdy YWIgYSByZWZlcmVuY2UgZm9yIGFuIGVuYWJsZWQgZGlzcGxheSBwb3dlciBkb21haW4KPiArICog QGRldl9wcml2OiBpOTE1IGRldmljZSBpbnN0YW5jZQo+ICsgKiBAZG9tYWluOiBwb3dlciBkb21h aW4gdG8gcmVmZXJlbmNlCj4gKyAqCj4gKyAqIFRoaXMgZnVuY3Rpb24gZ3JhYnMgYSBwb3dlciBk b21haW4gcmVmZXJlbmNlIGZvciBAZG9tYWluIGFuZCBlbnN1cmVzIHRoYXQgdGhlCj4gKyAqIHBv d2VyIGRvbWFpbiBhbmQgYWxsIGl0cyBwYXJlbnRzIGFyZSBwb3dlcmVkIHVwLiBUaGVyZWZvcmUg dXNlcnMgc2hvdWxkIG9ubHkKPiArICogZ3JhYiBhIHJlZmVyZW5jZSB0byB0aGUgaW5uZXJtb3N0 IHBvd2VyIGRvbWFpbiB0aGV5IG5lZWQuCj4gKyAqCj4gKyAqIEFueSBwb3dlciBkb21haW4gcmVm ZXJlbmNlIG9idGFpbmVkIGJ5IHRoaXMgZnVuY3Rpb24gbXVzdCBoYXZlIGEgc3ltbWV0cmljCj4g KyAqIGNhbGwgdG8gaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoKSB0byByZWxlYXNlIHRoZSByZWZl cmVuY2UgYWdhaW4uCj4gKyAqLwo+ICtib29sIGludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2lmX2Vu YWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkJCWVudW0gaW50 ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gZG9tYWluKQo+ICt7Cj4gKwlzdHJ1Y3QgaTkxNV9wb3dl cl9kb21haW5zICpwb3dlcl9kb21haW5zOwo+ICsJYm9vbCBpc19lbmFibGVkOwo+ICsKPiArCWlm ICghaW50ZWxfcnVudGltZV9wbV9nZXRfaWZfaW5fdXNlKGRldl9wcml2KSkKPiArCQlyZXR1cm4g ZmFsc2U7Cj4gKwo+ICsJcG93ZXJfZG9tYWlucyA9ICZkZXZfcHJpdi0+cG93ZXJfZG9tYWluczsK PiArCgpBYWFuZCBoZXJlLgoKPiArCW11dGV4X2xvY2soJnBvd2VyX2RvbWFpbnMtPmxvY2spOwo+ ICsKPiArCWlmIChfX2ludGVsX2Rpc3BsYXlfcG93ZXJfaXNfZW5hYmxlZChkZXZfcHJpdiwgZG9t YWluKSkgewo+ICsJCV9faW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfZG9tYWluKGRldl9wcml2LCBk b21haW4pOwo+ICsJCWlzX2VuYWJsZWQgPSB0cnVlOwo+ICsJfSBlbHNlIHsKPiArCQlpc19lbmFi bGVkID0gZmFsc2U7Cj4gKwl9Cj4gwqAKPiDCoAltdXRleF91bmxvY2soJnBvd2VyX2RvbWFpbnMt PmxvY2spOwo+ICsKPiArCWlmICghaXNfZW5hYmxlZCkKPiArCQlpbnRlbF9ydW50aW1lX3BtX3B1 dChkZXZfcHJpdik7Cj4gKwo+ICsJcmV0dXJuIGlzX2VuYWJsZWQ7Cj4gwqB9Cj4gwqAKPiDCoC8q Kgo+IEBAIC0yMjM5LDYgKzIyOTAsMzAgQEAgdm9pZCBpbnRlbF9ydW50aW1lX3BtX2dldChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gwqB9Cj4gwqAKPiDCoC8qKgo+ICsgKiBp bnRlbF9ydW50aW1lX3BtX2dldF9pZl9pbl91c2UgLSBncmFiIGEgcnVudGltZSBwbSByZWZlcmVu Y2UgaWYgZGV2aWNlIGluIHVzZQo+ICsgKiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlIGluc3RhbmNl Cj4gKyAqCj4gKyAqIFRoaXMgZnVuY3Rpb24gZ3JhYnMgYSBkZXZpY2UtbGV2ZWwgcnVudGltZSBw bSByZWZlcmVuY2UgaWYgdGhlIGRldmljZSBpcwo+ICsgKiBhbHJlYWR5IGluIHVzZSBhbmQgZW5z dXJlcyB0aGF0IGl0IGlzIHBvd2VyZWQgdXAuCj4gKyAqCj4gKyAqIEFueSBydW50aW1lIHBtIHJl ZmVyZW5jZSBvYnRhaW5lZCBieSB0aGlzIGZ1bmN0aW9uIG11c3QgaGF2ZSBhIHN5bW1ldHJpYwo+ ICsgKiBjYWxsIHRvIGludGVsX3J1bnRpbWVfcG1fcHV0KCkgdG8gcmVsZWFzZSB0aGUgcmVmZXJl bmNlIGFnYWluLgo+ICsgKi8KPiArYm9vbCBpbnRlbF9ydW50aW1lX3BtX2dldF9pZl9pbl91c2Uo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPiArCXN0cnVjdCBkZXZpY2UgKmRldmljZSA9ICZk ZXYtPnBkZXYtPmRldjsKPiArCj4gKwlpZiAoSVNfRU5BQkxFRChDT05GSUdfUE0pICYmICFwbV9y dW50aW1lX2dldF9pZl9pbl91c2UoZGV2aWNlKSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJ YXRvbWljX2luYygmZGV2X3ByaXYtPnBtLndha2VyZWZfY291bnQpOwo+ICsJYXNzZXJ0X3JwbV93 YWtlbG9ja19oZWxkKGRldl9wcml2KTsKPiArCj4gKwlyZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiAr LyoqCj4gwqAgKiBpbnRlbF9ydW50aW1lX3BtX2dldF9ub3Jlc3VtZSAtIGdyYWIgYSBydW50aW1l IHBtIHJlZmVyZW5jZQo+IMKgICogQGRldl9wcml2OiBpOTE1IGRldmljZSBpbnN0YW5jZQo+IMKg ICoKLS0gCkpvb25hcyBMYWh0aW5lbgpPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpJbnRl bCBDb3Jwb3JhdGlvbgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK