From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH] drm/i915/cnp+: update to the new RAWCLK_FREQ recommendations Date: Thu, 18 Oct 2018 16:46:51 -0700 Message-ID: <20181018234651.GD2285@intel.com> References: <20181012004045.13535-1-paulo.r.zanoni@intel.com> <20181012124231.GP9144@intel.com> <1539730826.2548.14.camel@intel.com> <20181016230916.GI3694@intel.com> <20181018125221.GV9144@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id BA7FE6E132 for ; Thu, 18 Oct 2018 23:46:52 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181018125221.GV9144@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTgsIDIwMTggYXQgMDM6NTI6MjFQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFR1ZSwgT2N0IDE2LCAyMDE4IGF0IDA0OjA5OjE5UE0gLTA3MDAsIFJvZHJp Z28gVml2aSB3cm90ZToKPiA+IE9uIFR1ZSwgT2N0IDE2LCAyMDE4IGF0IDA0OjAwOjI2UE0gLTA3 MDAsIFBhdWxvIFphbm9uaSB3cm90ZToKPiA+ID4gRW0gU2V4LCAyMDE4LTEwLTEyIMOgcyAxNTo0 MiArMDMwMCwgVmlsbGUgU3lyasOkbMOkIGVzY3JldmV1Ogo+ID4gPiA+IE9uIFRodSwgT2N0IDEx LCAyMDE4IGF0IDA1OjQwOjQ1UE0gLTA3MDAsIFBhdWxvIFphbm9uaSB3cm90ZToKPiA+ID4gPiA+ IFRoZXNlIGFyZSB0aGUgbmV3IHJlY29tbWVuZGVkIHZhbHVlcyBwcm92aWRlZCBieSBvdXIgc3Bl YyAoMTggLT4gMTkKPiA+ID4gPiA+IGFuZCAyMyAtPiAyNCkuIEl0IHNlZW1zIHRoaXMgc2hvdWxk IGhlbHAgZml4aW5nIEdNQlVTIGlzc3Vlcy4gU2luY2UKPiA+ID4gPiA+IHdlJ3JlIGRvaW5nIHBy ZXR0eSBtdWNoIHRoZSBzYW1lIHRoaW5nIGZvciBib3RoIENOUCBhbmQgSUNQIG5vdywKPiA+ID4g PiA+IHVuaWZ5Cj4gPiA+ID4gPiB0aGUgZnVuY3Rpb25zIHVzaW5nIHRoZSBJQ1AgdmVyc2lvbiBz aW5jZSBpdCdzIG1vcmUgc3RyYWlnaHRmb3J3YXJkCj4gPiA+ID4gPiBieQo+ID4gPiA+ID4ganVz dCBtYXRjaGluZyB0aGUgdmFsdWVzIGxpc3RlZCBpbiBCU3BlYyBpbnN0ZWFkIG9mIHJlY2FsY3Vs YXRpbmcKPiA+ID4gPiA+IHRoZW0uCj4gPiA+ID4gCj4gPiA+ID4gSU1PIGNhbGN1bGF0aW5nIHdv dWxkIGJlIGJldHRlci4gV291bGQgYmUgdHJpdmlhbCB0byBzZWUgdGhhdCB0aGUKPiA+ID4gPiB2 YWx1ZXMKPiA+ID4gPiBhcmUgYXQgbGVhc3QgY29uc2lzdGVudC4gV2l0aCBmb3VyIG1hZ2ljIG51 bWJlcnMgeW91IGhhdmUgbm8gY2hvaWNlCj4gPiA+ID4gYnV0Cj4gPiA+ID4gdG8gZGlnIHVwIHRo ZSBzcGVjLCB3aGljaCBpcyBwYWluZnVsLiBJIGRvbid0IGxpa2UgbmVlZGxlc3MgcGFpbiB0aGF0 Cj4gPiA+ID4gbXVjaC4KPiA+ID4gCj4gPiA+IFRoZW4gSSBndWVzcyBvdXIgd29ya2xvYWRzIGFy ZSBkaWZmZXJlbnQuIElNSE8gdGhlIGNvZGUgaXMgdHJpdmlhbCB3aGVuCj4gPiA+IHdlIGNhbiBl YXNpbHkgc2VlIHRoYXQgd2Ugc2V0IHRoZSBleGFjdCBtYWdpYyB2YWx1ZXMgdGhhdCB0aGUgc3Bl Ywo+ID4gPiB0ZWxscyB1cyB0byBzZXQuICBXaXRoIHRoZSBmb3JtdWxhLCB5b3UgaGF2ZSB0byBk byB0aGUgY2FsY3VsYXRpb25zIGZvcgo+ID4gPiBib3RoIGZyZXF1ZW5jaWVzLCB0aGVuIHlvdSB0 YWtlIHRob3NlIHZhbHVlcyBhbmQgY29tcGFyZSBhZ2FpbnN0IHRoZQo+ID4gPiBzcGVjLCB3aGlj aCBpcyBhbiBleHRyYSBzdGVwLiBEZXZlbG9waW5nIHdpdGhvdXQgdGhlIHNwZWMgb3BlbiBpcwo+ ID4gPiBzb21ldGhpbmcgdGhhdCBJIG5ldmVyIGV2ZW4gY29uc2lkZXIuCj4gPiAKPiA+IEkgYW0g YXNzdW1lZCBsYXp5LCBzbyBmb3IgbWUgaXQgaXMgbXVjaCBiZXR0ZXIgaWYgSSBjYW4gcHV0IHNv bWV0aGluZwo+ID4gc2lkZSBieSBzaWRlIGFuZCBjb21wYXJlLiBTbyBoYXZpbmcgaXQgbWF0Y2hp bmcgd2l0aCB3aGF0ZXZlci9ob3dldmVyCj4gPiBzcGVjIGlzIHRlbGxpbmcgdXMgaXMgYWx3YXlz IGJldHRlciB0aGFuIGNhbGN1bGF0aW9ucy4KPiAKPiBJZiBJJ20gY2hhbmdpbmcgYSBzZXQgb2Yg bWFnaWMgbnVtYmVycyBkZXJpdmVkIGZyb20gc29tZSBmb3JtdWxhCj4gSSB3b3VsZCBkbyB0aGUg Y2FsY3VsYXRpb25zIGFueXdheSBiZWNhdXNlIHRoZSBzcGVjIGNvdWxkIGJlIHdyb25nLgo+IFNv IElNTyBpdCdzIGJldHRlciB0byBkbyB0aGUgY2FsY3VsYXRpb25zIGluIHRoZSBmaXJzdCBwbGFj ZSBhcwo+IHRoYXQgcmVxdWlyZXMgeW91IHRvIHVuZGVyc3RhbmQgd2hhdCB0aG9zZSBtYWdpYyBu dW1iZXJzIG1lYW4uCj4gSGF2aW5nIHRoZSBmb3JtdWxhIGluIHRoZSBjb2RlIG1ha2VzIHRoYXQg ZWFzaWVyIGFzIHRoZW4geW91Cj4gZG9uJ3QgaGF2ZSB0byBkZXJpdmUgaXQgZnJvbSB0aGUgc3Bl YyBldmVyeSB0aW1lLgoKdGhpcyBpcyBhIGdvb2QgcG9pbnQuIEFuZCBQYXVsbyB0b2xkIGhlIGlz IG9wZW4gdG8gc2VuZCBhbm90aGVyCnZlcnNpb24KCj4gCj4gVG8gbWUgYmxpbmRseSBjb3B5IHBh c3RpbmcgbWFnaWMgbnVtYmVycyBmcm9tIGEgc3BlYyBzZWVtcyBsaWtlCj4gYSBqb2IgZm9yIGFu IGF1dG9tYXRvbiByYXRoZXIgdGhhbiBhbiBlbmdpbmVlci4KCmJ1bW1lci4uLiB5b3UgYXJlIHNw b2lsaW5nIHNvbWUgaWRlYXMgSSBoYXZlIGhlcmUgdG8gbWFrZSBic3BlYydzIHN2bgpjaGFuZ2Vz IHRvIGNoZWNrIG91ciBjb2RlIGFuZCBmaWxlIGEgamlyYSBmb3IgdXMgOykKCj4gSSBkZWZpbml0 ZWx5Cj4gZG9uJ3QgZW5qb3kgZG9pbmcgdGhhdCBraW5kIG9mIHdvcmssIHdoaWNoIG1lYW5zIEkg d29uJ3QgYmUgYWxsCj4gdGhhdCBkaWxpZ2VudCB3aGVuIGRvaW5nIGl0LgoKYWxzbyBnb29kIHBv aW50Li4uCgo+IEFuZCB0aGF0IGluY3JlYXNlcyB0aGUgY2hhbmNlIG9mCj4gaHVtYW4gZXJyb3Ig aW4gdGhlIHByb2Nlc3MuIElmIHdlIGNhbiBtYWtlIGR1ZSB3aXRoIGEgc2luZ2xlCj4gbWFnaWMg bnVtYmVyIHJhdGhlciB0aGFuIGZvdXIgdGhlcmUncyBsZXNzIG9wcG9ydHVuaXR5IHRvCj4gZ2V0 IGl0IHdyb25nLgoKYWx0aG91Z2ggSSBiZXQgdGhpcyB2YXJpZXMgZnJvbSBwZXJzb24gdG8gcGVy c29uLi4uCgpidXQgSSBzZWUgd2hhdCB5b3UgbWVhbiA7KQoKPiAKPiBKdXN0IG15IDJjLiBJIHBy ZXN1bWUgbm90IGV2ZXJ5b25lIHdpbGwgYmUgY29udmluY2VkLgo+IAo+ID4gCj4gPiBJbiBjYXNl IHNwZWMgY2hhbmdlcyBhbmQgd2UgZ2V0IG5vdGlmaWNhdGlvbiBpdCBpcyBlYXNpZXIgdG8gZ2V0 IGFuZAo+ID4gY2hhbmdlIHZhbHVlcyBkaXJlY3RseS4KPiA+IAo+ID4gPiAKPiA+ID4gQW55d2F5 LCBJIGNhbiBzdWJtaXQgYW5vdGhlciB2ZXJzaW9uIHdpdGggdGhlIGNubCBtb2RlbCwgbm8gcHJv YmxlbS4KPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6 IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ID4gPiA+ID4gLS0tCj4g PiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICB8ICAxIC0KPiA+ID4g PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIHwgMzcgKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tCj4gPiA+ID4gPiAtLS0tLS0tLS0tLS0tCj4gPiA+ID4gPiAgMiBmaWxlcyBj aGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQo+ID4gPiA+ID4gCj4gPiA+ ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiA+ ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+ID4gPiBpbmRleCAyMDc4 NTQxNzk1M2QuLmZmZDU2NGE4ZDMzOSAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKPiA+ID4gPiA+IEBAIC03ODMyLDcgKzc4MzIsNiBAQCBlbnVtIHsKPiA+ID4g PiA+ICAjZGVmaW5lICBDTlBfUkFXQ0xLX0RJVihkaXYpCSgoZGl2KSA8PCAxNikKPiA+ID4gPiA+ ICAjZGVmaW5lICBDTlBfUkFXQ0xLX0ZSQUNfTUFTSwkoMHhmIDw8IDI2KQo+ID4gPiA+ID4gICNk ZWZpbmUgIENOUF9SQVdDTEtfRlJBQyhmcmFjKQkoKGZyYWMpIDw8IDI2KQo+ID4gPiA+ID4gLSNk ZWZpbmUgIElDUF9SQVdDTEtfREVOKGRlbikJKChkZW4pIDw8IDI2KQo+ID4gPiA+ID4gICNkZWZp bmUgIElDUF9SQVdDTEtfTlVNKG51bSkJKChudW0pIDw8IDExKQo+ID4gPiA+ID4gIAo+ID4gPiA+ ID4gICNkZWZpbmUgUENIX0RQTExfVE1SX0NGRyAgICAgICAgX01NSU8oMHhjNjIwOCkKPiA+ID4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gPiA+ ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiA+ID4gPiA+IGluZGV4 IDI5MDc1Yzc2MzQyOC4uMTdkM2YxM2Q4OWRiIDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gPiA+ID4gQEAgLTI2NjAsNDggKzI2NjAsMjUgQEAg dm9pZCBpbnRlbF91cGRhdGVfY2RjbGsoc3RydWN0Cj4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiA+ID4gPiA+ICB9Cj4gPiA+ID4gPiAgCj4gPiA+ID4gPiAgc3RhdGljIGlu dCBjbnBfcmF3Y2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gPiA+ IC17Cj4gPiA+ID4gPiAtCXUzMiByYXdjbGs7Cj4gPiA+ID4gPiAtCWludCBkaXZpZGVyLCBmcmFj dGlvbjsKPiA+ID4gPiA+IC0KPiA+ID4gPiA+IC0JaWYgKEk5MTVfUkVBRChTRlVTRV9TVFJBUCkg JiBTRlVTRV9TVFJBUF9SQVdfRlJFUVVFTkNZKSB7Cj4gPiA+ID4gPiAtCQkvKiAyNCBNSHogKi8K PiA+ID4gPiA+IC0JCWRpdmlkZXIgPSAyNDAwMDsKPiA+ID4gPiA+IC0JCWZyYWN0aW9uID0gMDsK PiA+ID4gPiA+IC0JfSBlbHNlIHsKPiA+ID4gPiA+IC0JCS8qIDE5LjIgTUh6ICovCj4gPiA+ID4g PiAtCQlkaXZpZGVyID0gMTkwMDA7Cj4gPiA+ID4gPiAtCQlmcmFjdGlvbiA9IDIwMDsKPiA+ID4g PiA+IC0JfQo+ID4gPiA+ID4gLQo+ID4gPiA+ID4gLQlyYXdjbGsgPSBDTlBfUkFXQ0xLX0RJVigo ZGl2aWRlciAvIDEwMDApIC0gMSk7Cj4gPiA+ID4gPiAtCWlmIChmcmFjdGlvbikKPiA+ID4gPiA+ IC0JCXJhd2NsayB8PSBDTlBfUkFXQ0xLX0ZSQUMoRElWX1JPVU5EX0NMT1NFU1QoMTAwMCwKPiA+ ID4gPiA+IC0JCQkJCQkJICAgIGZyYWN0aQo+ID4gPiA+ID4gb24pIC0gMSk7Cj4gPiA+ID4gPiAt Cj4gPiA+ID4gPiAtCUk5MTVfV1JJVEUoUENIX1JBV0NMS19GUkVRLCByYXdjbGspOwo+ID4gPiA+ ID4gLQlyZXR1cm4gZGl2aWRlciArIGZyYWN0aW9uOwo+ID4gPiA+ID4gLX0KPiA+ID4gPiA+IC0K PiA+ID4gPiA+IC1zdGF0aWMgaW50IGljcF9yYXdjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ID4gPiA+ID4gIHsKPiA+ID4gPiA+ICAJdTMyIHJhd2NsazsKPiA+ID4gPiA+ ICAJaW50IGRpdmlkZXIsIG51bWVyYXRvciwgZGVub21pbmF0b3IsIGZyZXF1ZW5jeTsKPiA+ID4g PiA+ICAKPiA+ID4gPiA+ICAJaWYgKEk5MTVfUkVBRChTRlVTRV9TVFJBUCkgJiBTRlVTRV9TVFJB UF9SQVdfRlJFUVVFTkNZKSB7Cj4gPiA+ID4gPiAgCQlmcmVxdWVuY3kgPSAyNDAwMDsKPiA+ID4g PiA+IC0JCWRpdmlkZXIgPSAyMzsKPiA+ID4gPiA+ICsJCWRpdmlkZXIgPSAyNDsKPiA+ID4gPiA+ ICAJCW51bWVyYXRvciA9IDA7Cj4gPiA+ID4gPiAgCQlkZW5vbWluYXRvciA9IDA7Cj4gPiA+ID4g PiAgCX0gZWxzZSB7Cj4gPiA+ID4gPiAgCQlmcmVxdWVuY3kgPSAxOTIwMDsKPiA+ID4gPiA+IC0J CWRpdmlkZXIgPSAxODsKPiA+ID4gPiA+ICsJCWRpdmlkZXIgPSAxOTsKPiA+ID4gPiA+ICAJCW51 bWVyYXRvciA9IDE7Cj4gPiA+ID4gPiAgCQlkZW5vbWluYXRvciA9IDQ7Cj4gPiA+ID4gCj4gPiA+ ID4gVGhlc2UgbnVtYmVycyBhcmUgZXh0cmVtZWx5IGNvbmZ1c2luZy4gVGhlIGhhcmR3YXJlIHdh bnRzIHRoZQo+ID4gPiA+IG51bWVyYXRvcgo+ID4gPiA+IGFzIGlzIGJ1dCB0aGVuIGl0IHdhbnRz IGRlbm9taW5hdG9yLTEuIFdoaWNoIGlzIGEgYnV0IG9kZC4gSSB0aGluawo+ID4gPiA+IEknZAo+ ID4gPiA+IG1vdmUgdGhlIC0xIGZvciB0aGUgZGVub21pbmF0b3IgaW50byB0aGUgbWFjcm8gKG9y IHRoZSBpbnZvY2F0aW9uIG9mCj4gPiA+ID4gdGhlCj4gPiA+ID4gbWFjcm8sIGxpa2UgY25wIGhh ZCkuIEFsdGVybmF0aXZlbHkgd2UgY291bGQgYXQgbGVhc3Qgd3JpdGUgdGhpcyBhcwo+ID4gPiA+ IDUtMQo+ID4gPiA+IGhlcmUsIHNvIHRoYXQgdGhlIHJlYWRlciBoYXMgYXQgbGVhc3Qgc29tZSBj aGFuY2UgdG8gZmlndXJlIG91dCB3aGF0Cj4gPiA+ID4gdGhpcyBtZWFucy4KPiA+ID4gPiAKPiA+ ID4gPiA+ICAJfQo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gLQlyYXdjbGsgPSBDTlBfUkFXQ0xLX0RJ VihkaXZpZGVyKSB8Cj4gPiA+ID4gPiBJQ1BfUkFXQ0xLX05VTShudW1lcmF0b3IpIHwKPiA+ID4g PiA+IC0JCSBJQ1BfUkFXQ0xLX0RFTihkZW5vbWluYXRvcik7Cj4gPiA+ID4gPiArCXJhd2NsayA9 IENOUF9SQVdDTEtfRElWKGRpdmlkZXIpIHwKPiA+ID4gPiA+IENOUF9SQVdDTEtfRlJBQyhkZW5v bWluYXRvcik7Cj4gPiA+ID4gPiArCWlmIChIQVNfUENIX0lDUChkZXZfcHJpdikpCj4gPiA+ID4g PiArCQlyYXdjbGsgfD0gSUNQX1JBV0NMS19OVU0obnVtZXJhdG9yKTsKPiA+ID4gPiA+ICAKPiA+ ID4gPiA+ICAJSTkxNV9XUklURShQQ0hfUkFXQ0xLX0ZSRVEsIHJhd2Nsayk7Cj4gPiA+ID4gPiAg CXJldHVybiBmcmVxdWVuY3k7Cj4gPiA+ID4gPiBAQCAtMjc1NCw5ICsyNzMxLDcgQEAgc3RhdGlj IGludCBnNHhfaHJhd2NsayhzdHJ1Y3QKPiA+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ID4gPiA+ID4gICAqLwo+ID4gPiA+ID4gIHZvaWQgaW50ZWxfdXBkYXRlX3Jhd2Nsayhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ID4gPiAgewo+ID4gPiA+ID4g LQlpZiAoSEFTX1BDSF9JQ1AoZGV2X3ByaXYpKQo+ID4gPiA+ID4gLQkJZGV2X3ByaXYtPnJhd2Ns a19mcmVxID0gaWNwX3Jhd2NsayhkZXZfcHJpdik7Cj4gPiA+ID4gPiAtCWVsc2UgaWYgKEhBU19Q Q0hfQ05QKGRldl9wcml2KSkKPiA+ID4gPiA+ICsJaWYgKEhBU19QQ0hfQ05QKGRldl9wcml2KSB8 fCBIQVNfUENIX0lDUChkZXZfcHJpdikpCj4gPiA+ID4gPiAgCQlkZXZfcHJpdi0+cmF3Y2xrX2Zy ZXEgPSBjbnBfcmF3Y2xrKGRldl9wcml2KTsKPiA+ID4gPiA+ICAJZWxzZSBpZiAoSEFTX1BDSF9T UExJVChkZXZfcHJpdikpCj4gPiA+ID4gPiAgCQlkZXZfcHJpdi0+cmF3Y2xrX2ZyZXEgPSBwY2hf cmF3Y2xrKGRldl9wcml2KTsKPiA+ID4gPiA+IC0tIAo+ID4gPiA+ID4gMi4xNC40Cj4gPiA+ID4g PiAKPiA+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gPiA+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+ID4gPiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiBJbnRl bC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK PiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngKPiAKPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJbnRlbAo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK