From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: Fwd: [PATCH] drm/i915: Fix IPS related flicker Date: Thu, 25 Jun 2015 19:49:30 +0300 Message-ID: <87fv5f7mxx.fsf@intel.com> References: <20150522070821.GW18908@intel.com> <1432836431-2994-1-git-send-email-rodrigo.vivi@intel.com> <20150529084730.GD5176@intel.com> <87lhfya675.fsf@intel.com> <20150605091118.GS5176@intel.com> <1434625080.3933.4.camel@gmail.com> <87a8vxi65y.fsf@intel.com> <877fr1i5xe.fsf@intel.com> <87k2usyp2q.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 741D08930A for ; Thu, 25 Jun 2015 09:51:28 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi , Ander Conselvan De Oliveira , Rodrigo Vivi Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyNSBKdW4gMjAxNSwgUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAZ21haWwuY29t PiB3cm90ZToKPiBPbiBUaHUsIEp1biAyNSwgMjAxNSBhdCA0OjU4IEFNIEphbmkgTmlrdWxhIDxq YW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gd3JvdGU6Cj4KPj4gT24gVGh1LCAxOCBKdW4g MjAxNSwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4+ ID4gT24gVGh1LCAxOCBKdW4gMjAxNSwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4Lmlu dGVsLmNvbT4gd3JvdGU6Cj4+ID4+IE9uIFRodSwgMTggSnVuIDIwMTUsIEFuZGVyIENvbnNlbHZh biBEZSBPbGl2ZWlyYSA8Y29uc2VsdmFuMkBnbWFpbC5jb20+Cj4+IHdyb3RlOgo+PiA+Pj4gT24g RnJpLCAyMDE1LTA2LTA1IGF0IDEyOjExICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4+ ID4+Pj4gT24gRnJpLCBKdW4gMDUsIDIwMTUgYXQgMTE6NTE6NDJBTSArMDMwMCwgSmFuaSBOaWt1 bGEgd3JvdGU6Cj4+ID4+Pj4gPiBPbiBUaHUsIDA0IEp1biAyMDE1LCBSb2RyaWdvIFZpdmkgPHJv ZHJpZ28udml2aUBnbWFpbC5jb20+IHdyb3RlOgo+PiA+Pj4+ID4gPiBJIGp1c3Qgbm90aWNlZCB0 aGF0IEkgaGFkIGZvcmdvdHRlbiB0byByZXBseS1hbGwuLi4KPj4gPj4+PiA+ID4KPj4gPj4+PiA+ ID4gSmFuaSwgd291bGQgeW91IGNvbnNpZGVyIG1lcmdlIHRoaXMgZml4IHdpdGggdGhlIGV4cGxh bmF0aW9uIGFib3ZlCj4+ID4+Pj4gPiA+IHJlbGF0ZWQgdG8gVmlsbGUncyBxdWVzdGlvbj8KPj4g Pj4+PiA+ID4KPj4gPj4+PiA+ID4gb3IgZG8geW91IHdhbnQvbmVlZCBhbnkgYWN0aW9uIGhlcmU/ Cj4+ID4+Pj4gPgo+PiA+Pj4+ID4gVmlsbGUncyBxdWVzdGlvbiwgSSdkIGxpa2UgVmlsbGUncyBh Y2sgb24gaXQuCj4+ID4+Pj4KPj4gPj4+PiBJdCdzIGdvb2QgZW5vdWdoIGZvciBtZS4gVGhpcyBw YXJ0IG9mIHRoZSBkcml2ZXIgaXMgYSBxdWl0ZSBhIG1lc3MKPj4gPj4+PiBhbnl3YXkgY3VycmVu dGx5LCBzbyBkb2Vzbid0IG1hdHRlciB0b28gbXVjaCB3aGF0IHdlIHN0aWNrIGluIHRoZXJlLgo+ PiA+Pj4KPj4gPj4+IFBpbmcuIFNlZW1zIGxpa2UgdGhpcyBzdGlsbCBpc24ndCBtZXJnZWQuIERv ZXMgaXQgbmVlZCBtb3JlIHdvcmsgb3IgZGlkCj4+ID4+PiBpdCBqdXN0IGZhbGwgdGhyb3VnaCB0 aGUgY3JhY2tzPwo+PiA+Pgo+PiA+PiBJdCBmZWxsIGJldHdlZW4gdGhlIGNyYWNrcy4gSSBrbm93 IHRoZSB3b3JsZCBpc24ndCBibGFjayBhbmQgd2hpdGUsIGJ1dAo+PiA+PiBpdCBkb2Vzbid0IGhl bHAgdGhlIG1haW50YWluZXJzIHdoZW4gcmV2aWV3IGlzIHNvbWUgc2hhZGUgb2YgZ3JleS4KPj4g Pj4KPj4gPj4gSSd2ZSBwdXNoZWQgdGhpcyB0byBkcm0taW50ZWwtbmV4dC1maXhlcyBmb3Igbm93 LCBidXQgaXQgaGFzIG1pc3NlZCB0aGUKPj4gPj4gdHJhaW4gZm9yIGJvdGggdGhlIHY0LjEgcmVs ZWFzZSBhbmQgdGhlIG1haW4gZHJtLW5leHQgZmVhdHVyZSBwdWxsCj4+ID4+IHJlcXVlc3QgZm9y IHRoZSB2NC4yIG1lcmdlIHdpbmRvdy4gSSBleHBlY3QgdGhpcyB0byBsYW5kIHVwc3RyZWFtIGlu Cj4+ID4+IHY0LjItcmMyLCB1bmxlc3MgdGhlcmUncyBhbiBhZGRpdGlvbmFsIGRybS1uZXh0IHB1 bGwgcmVxdWVzdCBkdXJpbmcgdGhlCj4+ID4+IG1lcmdlIHdpbmRvdy4gSSd2ZSBhZGRlZCBjYzog c3RhYmxlLgo+PiA+Pgo+PiA+PiBUaGFua3MgZm9yIHRoZSBwYXRjaCwgYW5kIEkgZ3Vlc3MgdGhl IHJldmlldyB3YXMsIHVoLCAiZ29vZCBlbm91Z2ggZm9yCj4+ID4+IG1lIiBub3cuLi4gOnAKPj4g Pgo+PiA+IEFyZ2gsIEknbGwgdGFrZSB0aGF0IGJhY2suIFRoaXMgY29uZmxpY3RzIHdpdGggZGlu cSwgYW5kIHdoaWxlIGRvaW5nIHNvCj4+ID4gYWxzbyBjb25mdXNlcyBnaXQgcmVyZXJlIGVub3Vn aCB0byB1bmNvdmVyIGEgcHJldmlvdXMgbXVjaCBiaWdnZXIKPj4gPiBjb25mbGljdCB0aGF0IEkg aGF2ZSBubyBpbnRlbnRpb24gb2YgcmVzb2x2aW5nIGFnYWluIGJlZm9yZSB0aGUKPj4gPiB3ZWVr ZW5kLiBJJ2xsIHJldHVybiB0byBpdCBuZXh0IHdlZWsuIFNvcnJ5Lgo+Pgo+PiBBbmQga2VlcHMg Y29uZmxpY3RpbmcgdG9vIGJhZGx5IGZvciBtZSB0byBmaWd1cmUgb3V0IHdoYXQgbmVlZHMgdG8g YmUKPj4gZG9uZS4gSXMgdGhpcyBzdGlsbCBuZWVkZWQgaW4gZGlucT8KPj4KPgo+IFRvIGJlIGhv bmVzdCwgb24gZHJtLWludGVsLW5pZ2h0bHk6IDIwMTV5LTA2bS0xN2QtMTJoLTQ0bS0wMXMKPiB3 aXRoIGlwcyBlbmFibGVkIEknbSBub3QgZmFjaW5nIHRoZSBiYWQgZmxpY2tlciBhbnltb3JlLgo+ Cj4gSG93ZXZlciBzaW5jZSB3ZSBzdGlsbCBoYXZlIHRoZSBmb2xsb3dpbmcgMiBsaW5lcyBvbgo+ IHVwZGF0ZV9wcmltYXJ5X3BsYW5lX2Z1bmN0aW9uOgo+Cj4gaWYgKCF2aXNpYmxlIHx8ICFmYikg ewo+IEk5MTVfV1JJVEUocmVnLCAwKTsKPgo+IEkgYmVsaWV2ZSB3ZSBuZWVkIHRoaXMgcHJvdGVj dGlvbi4gTGV0IG1lIHJlZmFjdG9yIGl0Li4KCkkgdGhpbmsgd2UgbmVlZCB0byBhcHBseSB0aGlz IHBhdGNoIHRvIGRybS1pbnRlbC1uZXh0LWZpeGVzIChmb3IgdjQuMgphbmQgY2M6IHN0YWJsZSks IGFuZCB0aGUgcmVmYWN0b3JlZCB2ZXJzaW9uIG9uIGRybS1pbnRlbC1uZXh0LXF1ZXVlZAooZm9y IHY0LjMpLgoKQlIsCkphbmkuCgo+Cj4KPj4KPj4gQlIsCj4+IEphbmkuCj4+Cj4+Cj4+ID4KPj4g PiBCUiwKPj4gPiBKYW5pLgo+PiA+Cj4+ID4KPj4gPgo+PiA+Pgo+PiA+PiBCUiwKPj4gPj4gSmFu aS4KPj4gPj4KPj4gPj4KPj4gPj4+Cj4+ID4+PiBUaGFua3MsCj4+ID4+PiBBbmRlcgo+PiA+Pj4K Pj4gPj4+Pgo+PiA+Pj4+ID4KPj4gPj4+PiA+IEJSLAo+PiA+Pj4+ID4gSmFuaS4KPj4gPj4+PiA+ Cj4+ID4+Pj4gPgo+PiA+Pj4+ID4gPgo+PiA+Pj4+ID4gPiBUaGFua3MsCj4+ID4+Pj4gPiA+IFJv ZHJpZ28uCj4+ID4+Pj4gPiA+Cj4+ID4+Pj4gPiA+Cj4+ID4+Pj4gPiA+IC0tLS0tLS0tLS0gRm9y d2FyZGVkIG1lc3NhZ2UgLS0tLS0tLS0tLQo+PiA+Pj4+ID4gPiBGcm9tOiBSb2RyaWdvIFZpdmkg PHJvZHJpZ28udml2aUBnbWFpbC5jb20+Cj4+ID4+Pj4gPiA+IERhdGU6IEZyaSwgTWF5IDI5LCAy MDE1IGF0IDk6NDUgQU0KPj4gPj4+PiA+ID4gU3ViamVjdDogUmU6IFtJbnRlbC1nZnhdIFtQQVRD SF0gZHJtL2k5MTU6IEZpeCBJUFMgcmVsYXRlZCBmbGlja2VyCj4+ID4+Pj4gPiA+IFRvOiBWaWxs ZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+PiA+Pj4+ID4gPgo+ PiA+Pj4+ID4gPgo+PiA+Pj4+ID4gPiBPbiBGcmksIE1heSAyOSwgMjAxNSBhdCAxOjQ3IEFNLCBW aWxsZSBTeXJqw6Rsw6QKPj4gPj4+PiA+ID4gPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PiB3cm90ZToKPj4gPj4+PiA+ID4+IE9uIFRodSwgTWF5IDI4LCAyMDE1IGF0IDExOjA3OjExQU0g LTA3MDAsIFJvZHJpZ28gVml2aSB3cm90ZToKPj4gPj4+PiA+ID4+PiBXZSBjYW5ub3QgbGV0IElQ UyBlbmFibGVkIHdpdGggbm8gcGxhbmUgb24gdGhlIHBpcGU6Cj4+ID4+Pj4gPiA+Pj4KPj4gPj4+ PiA+ID4+PiBCU3BlYzogIklQUyBjYW5ub3QgYmUgZW5hYmxlZCB1bnRpbCBhZnRlciBhdCBsZWFz dCBvbmUgcGxhbmUgaGFzCj4+ID4+Pj4gPiA+Pj4gYmVlbiBlbmFibGVkIGZvciBhdCBsZWFzdCBv bmUgdmVydGljYWwgYmxhbmsuIiBhbmQgIklQUyBtdXN0IGJlCj4+ID4+Pj4gPiA+Pj4gZGlzYWJs ZWQgd2hpbGUgdGhlcmUgaXMgc3RpbGwgYXQgbGVhc3Qgb25lIHBsYW5lIGVuYWJsZWQgb24gdGhl Cj4+ID4+Pj4gPiA+Pj4gc2FtZSBwaXBlIGFzIElQUy4iIFRoaXMgcmVzdHJpY3Rpb24gYXBwbHkg dG8gSFNXIGFuZCBCRFcuCj4+ID4+Pj4gPiA+Pj4KPj4gPj4+PiA+ID4+PiBIb3dldmVyIGEgc2hv cnRjdXQgcGF0aCBvbiB1cGRhdGUgcHJpbWFyeSBwbGFuZSBmdW5jdGlvbgo+PiA+Pj4+ID4gPj4+ IHRvIG1ha2UgcHJpbWFyeSBwbGFuZSBpbnZpc2libGUgYnkgc2V0dGluZyBEU1BDVFJMIHRvIDAK Pj4gPj4+PiA+ID4+PiB3YXMgbGV0aW5nIElQUyBlbmFibGVkIHdoaWxlIHRoZXJlIHdhcyBubwo+ PiA+Pj4+ID4gPj4+IG90aGVyIHBsYW5lIGVuYWJsZWQgb24gdGhlIHBpcGUgY2F1c2luZyBmbGlj a2VyaW5ncyB0aGF0IHdlIHdlcmUKPj4gPj4+PiA+ID4+PiBiZWxpZXZpbmcgdGhhdCBpdCB3YXMg Y2F1c2VkIGJ5IHRoYXQgb3RoZXIgcmVzdHJpY3Rpb24gd2hlcmUKPj4gPj4+PiA+ID4+PiBpcHMg Y2Fubm90IGJlIHVzZWQgd2hlbiBwaXhlbCByYXRlIGlzIGdyZWF0ZXIgdGhhbiA5NSUgb2YKPj4g Y2RjbG9rLgo+PiA+Pj4+ID4gPj4+Cj4+ID4+Pj4gPiA+Pj4gdjI6IERvbid0IG1lc3Mgd2l0aCBB dG9taWMgcGF0aCBhcyBwb2ludGVkIG91dCBieSBWaWxsZS4KPj4gPj4+PiA+ID4+Pgo+PiA+Pj4+ ID4gPj4+IFJlZmVyZW5jZTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5j Z2k/aWQ9ODU1ODMKPj4gPj4+PiA+ID4+PiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPj4gPj4+PiA+ID4+PiBDYzogUGF1bG8gWmFub25pIDxwYXVs by5yLnphbm9uaUBpbnRlbC5jb20+Cj4+ID4+Pj4gPiA+Pj4gU2lnbmVkLW9mZi1ieTogUm9kcmln byBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+PiA+Pj4+ID4gPj4+IC0tLQo+PiA+Pj4+ ID4gPj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxMyArKysrKysr KysrKysrCj4+ID4+Pj4gPiA+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAg ICB8ICAxICsKPj4gPj4+PiA+ID4+PiAgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCsp Cj4+ID4+Pj4gPiA+Pj4KPj4gPj4+PiA+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4+ID4+Pj4gPiA+Pj4gaW5kZXggNGUzZjMwMi4uNWE2YjE3YiAxMDA2NDQKPj4gPj4+ PiA+ID4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gPj4+ PiA+ID4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gPj4+ PiA+ID4+PiBAQCAtMTMzMDksNiArMTMzMDksMTYgQEAgaW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFu ZShzdHJ1Y3QKPj4gZHJtX3BsYW5lICpwbGFuZSwKPj4gPj4+PiA+ID4+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnRlbF9jcnRjLT5hdG9taWMud2FpdF92YmxhbmsgPQo+PiB0cnVl Owo+PiA+Pj4+ID4gPj4+ICAgICAgICAgICAgICAgfQo+PiA+Pj4+ID4gPj4+Cj4+ID4+Pj4gPiA+ Pj4gKyAgICAgICAgICAgICAvKgo+PiA+Pj4+ID4gPj4+ICsgICAgICAgICAgICAgICogRklYTUU6 IEFjdHVhbGx5IGlmIHdlIHdpbGwgc3RpbGwgaGF2ZSBhbnkKPj4gb3RoZXIgcGxhbmUgZW5hYmxl ZAo+PiA+Pj4+ID4gPj4+ICsgICAgICAgICAgICAgICogb24gdGhlIHBpcGUgd2UgY291bGQgbGV0 IElQUyBlbmFibGVkIHN0aWxsLAo+PiBidXQgZm9yCj4+ID4+Pj4gPiA+Pj4gKyAgICAgICAgICAg ICAgKiBub3cgbGV0cyBjb25zaWRlciB0aGF0IHdoZW4gd2UgbWFrZSBwcmltYXJ5Cj4+IGludmlz aWJsZQo+PiA+Pj4+ID4gPj4+ICsgICAgICAgICAgICAgICogYnkgc2V0dGluZyBEU1BDTlRSIHRv IDAgb24KPj4gdXBkYXRlX3ByaW1hcnlfcGxhbmUgZnVuY3Rpb24KPj4gPj4+PiA+ID4+PiArICAg ICAgICAgICAgICAqIElQUyBuZWVkcyB0byBiZSBkaXNhYmxlLgo+PiA+Pj4+ID4gPj4+ICsgICAg ICAgICAgICAgICovCj4+ID4+Pj4gPiA+Pj4gKyAgICAgICAgICAgICBpZiAoIXN0YXRlLT52aXNp YmxlIHx8ICFmYikKPj4gPj4+PiA+ID4+PiArICAgICAgICAgICAgICAgICAgICAgaW50ZWxfY3J0 Yy0+YXRvbWljLmRpc2FibGVfaXBzID0gdHJ1ZTsKPj4gPj4+PiA+ID4+PiArCj4+ID4+Pj4gPiA+ Pgo+PiA+Pj4+ID4gPj4gSG93IGNvdWxkIGl0IGJlIHZpc2libGUgd2l0aG91dCBhbiBmYj8KPj4g Pj4+PiA+ID4KPj4gPj4+PiA+ID4gSSBkb24ndCBsaWtlIHRoaXMgIWZiIGhlcmUgYXMgd2VsbCwg YnV0IEkganVzdCB0cmllZCB0byBrZWVwCj4+IGV4YWN0bHkKPj4gPj4+PiA+ID4gc2FtZSBpZiBz dGF0ZW1lbnQgdGhhdCBtYWtlcyBJOTE1X1dSSVRFKERTUENOVFJMLCAwKSBvbiB1cGRhdGUKPj4g cHJpbWFyeQo+PiA+Pj4+ID4gPiBwbGFuZSBmdW5jLi4uCj4+ID4+Pj4gPiA+Cj4+ID4+Pj4gPiA+ Pgo+PiA+Pj4+ID4gPj4+ICAgICAgICAgICAgICAgaW50ZWxfY3J0Yy0+YXRvbWljLmZiX2JpdHMg fD0KPj4gPj4+PiA+ID4+Pgo+PiAgSU5URUxfRlJPTlRCVUZGRVJfUFJJTUFSWShpbnRlbF9jcnRj LT5waXBlKTsKPj4gPj4+PiA+ID4+Pgo+PiA+Pj4+ID4gPj4+IEBAIC0xMzQwNiw2ICsxMzQxNiw5 IEBAIHN0YXRpYyB2b2lkCj4+IGludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPj4gPj4+PiA+ID4+PiAgICAgICBpZiAoaW50ZWxfY3J0Yy0+YXRvbWljLmRpc2Fi bGVfZmJjKQo+PiA+Pj4+ID4gPj4+ICAgICAgICAgICAgICAgaW50ZWxfZmJjX2Rpc2FibGUoZGV2 KTsKPj4gPj4+PiA+ID4+Pgo+PiA+Pj4+ID4gPj4+ICsgICAgIGlmIChpbnRlbF9jcnRjLT5hdG9t aWMuZGlzYWJsZV9pcHMpCj4+ID4+Pj4gPiA+Pj4gKyAgICAgICAgICAgICBoc3dfZGlzYWJsZV9p cHMoaW50ZWxfY3J0Yyk7Cj4+ID4+Pj4gPiA+Pj4gKwo+PiA+Pj4+ID4gPj4+ICAgICAgIGlmIChp bnRlbF9jcnRjLT5hdG9taWMucHJlX2Rpc2FibGVfcHJpbWFyeSkKPj4gPj4+PiA+ID4+PiAgICAg ICAgICAgICAgIGludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnkoY3J0Yyk7Cj4+ID4+Pj4gPiA+Pgo+ PiA+Pj4+ID4gPj4gaW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeSgpIHdvdWxkIGFscmVhZHkgZGlz YWJsZSBJUFMuIEV4Y2VwdCBubwo+PiBvbmUKPj4gPj4+PiA+ID4+IHNldHMgLnByZV9kaXNhYmxl X3ByaW1hcnk9dHJ1ZS4gT1RPSCB0aGF0IHRoaW5nIG1vc3RseSBzZWVtcyB0bwo+PiBkbwo+PiA+ Pj4+ID4gPj4gc3R1ZmYgdGhhdCBoYXMgbm90aGluZyB0byBkbyB3aXRoIHRoZSBwcmltYXJ5IHBs YW5lIChjeHNyCj4+IGRpc2FibGUsCj4+ID4+Pj4gPiA+PiBmaWZvIHVuZGVycnVuIHJlcG9ydGlu ZyBkaXNhYmxlIG9uIGdlbjIpLCBzbyBJIGRvbid0IHRoaW5rIHdlCj4+IHdhbnQKPj4gPj4+PiA+ ID4+IHRvIHVzZSB0aGF0Lgo+PiA+Pj4+ID4gPj4KPj4gPj4+PiA+ID4+IEluIGFueSBjYXNlIHdl IHNob3VsZCByZWFsbHkgaGF2ZSB0aGUgSVBTIHN0YXRlIGFzIHBhcnQgb2YgdGhlCj4+IGNydGMK Pj4gPj4+PiA+ID4+IHN0YXRlLiBUaGVzZSBnbG9iYWwgZGlzYWJsZV9mb28gdGhpbmdzIHNob3Vs ZCBqdXN0IGJlIGtpbGxlZCBJTU8uCj4+ID4+Pj4gPiA+PiBIbW0sIGV4Y2VwdCB0byBkbyB0aGlz IHByb3Blcmx5IHdlJ2QgdGhlbiBuZWVkIHRvIHRyYWNrIHRoZSBodwo+PiBJUFMKPj4gPj4+PiA+ ID4+IHN0YXRlIHNlcGFyYXRlbHkgc29tZXdoZXJlLgo+PiA+Pj4+ID4gPgo+PiA+Pj4+ID4gPiBh Z3JlZS4KPj4gPj4+PiA+ID4KPj4gPj4+PiA+ID4+Cj4+ID4+Pj4gPiA+PiBJIGd1ZXNzIHdlIGNh biBqdXN0IGdvIHdpdGggdGhpcyBmb3Igbm93LiBBdCBsZWFzdCBpdCdzIG5vdAo+PiByZWFsbHkK Pj4gPj4+PiA+ID4+IG1ha2luZyB0aGluZ3Mgd29yc2UsIHNvIChtYXliZSB3aXRoIHRoZSAhZmIg Y2hlY2sgZHJvcHBlZCk6Cj4+ID4+Pj4gPiA+PiBSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4gPj4+PiA+ID4KPj4gPj4+PiA+ID4g VGhhbmtzCj4+ID4+Pj4gPiA+Cj4+ID4+Pj4gPiA+Pgo+PiA+Pj4+ID4gPj4+Cj4+ID4+Pj4gPiA+ Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gPj4+PiA+ID4+PiBpbmRleCAyYWZiMzFh Li4xMDU5MjgzIDEwMDY0NAo+PiA+Pj4+ID4gPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4+ID4+Pj4gPiA+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPj4gPj4+PiA+ID4+PiBAQCAtNDg1LDYgKzQ4NSw3IEBAIHN0cnVjdCBpbnRlbF9j cnRjX2F0b21pY19jb21taXQgewo+PiA+Pj4+ID4gPj4+ICAgICAgIC8qIFNsZWVwYWJsZSBvcGVy YXRpb25zIHRvIHBlcmZvcm0gYmVmb3JlIGNvbW1pdCAqLwo+PiA+Pj4+ID4gPj4+ICAgICAgIGJv b2wgd2FpdF9mb3JfZmxpcHM7Cj4+ID4+Pj4gPiA+Pj4gICAgICAgYm9vbCBkaXNhYmxlX2ZiYzsK Pj4gPj4+PiA+ID4+PiArICAgICBib29sIGRpc2FibGVfaXBzOwo+PiA+Pj4+ID4gPj4+ICAgICAg IGJvb2wgcHJlX2Rpc2FibGVfcHJpbWFyeTsKPj4gPj4+PiA+ID4+PiAgICAgICBib29sIHVwZGF0 ZV93bTsKPj4gPj4+PiA+ID4+PiAgICAgICB1bnNpZ25lZCBkaXNhYmxlZF9wbGFuZXM7Cj4+ID4+ Pj4gPiA+Pj4gLS0KPj4gPj4+PiA+ID4+PiAyLjEuMAo+PiA+Pj4+ID4gPj4KPj4gPj4+PiA+ID4+ IC0tCj4+ID4+Pj4gPiA+PiBWaWxsZSBTeXJqw6Rsw6QKPj4gPj4+PiA+ID4+IEludGVsIE9UQwo+ PiA+Pj4+ID4gPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPj4gPj4+PiA+ID4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gPj4+PiA+ID4+IEludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gPj4+PiA+ID4+IGh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPj4gPj4+PiA+ID4KPj4gPj4+ PiA+ID4KPj4gPj4+PiA+ID4KPj4gPj4+PiA+ID4gLS0KPj4gPj4+PiA+ID4gUm9kcmlnbyBWaXZp Cj4+ID4+Pj4gPiA+IEJsb2c6IGh0dHA6Ly9ibG9nLnZpdmkuZW5nLmJyCj4+ID4+Pj4gPiA+Cj4+ ID4+Pj4gPiA+Cj4+ID4+Pj4gPiA+IC0tCj4+ID4+Pj4gPiA+IFJvZHJpZ28gVml2aQo+PiA+Pj4+ ID4gPiBCbG9nOiBodHRwOi8vYmxvZy52aXZpLmVuZy5icgo+PiA+Pj4+ID4KPj4gPj4+PiA+IC0t Cj4+ID4+Pj4gPiBKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50 ZXIKPj4gPj4+PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4+ID4+Pj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+ID4+Pj4gPiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+ID4+Pj4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4+ID4+Pj4KPj4gPj4+Cj4+ID4+Pgo+PiA+ Pgo+PiA+PiAtLQo+PiA+PiBKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9n eSBDZW50ZXIKPj4gPgo+PiA+IC0tCj4+ID4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNl IFRlY2hub2xvZ3kgQ2VudGVyCj4+Cj4+IC0tCj4+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNv dXJjZSBUZWNobm9sb2d5IENlbnRlcgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+PgoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNv dXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=