From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Pandiyan, Dhinakaran" Subject: Re: [PATCH 1/5] drm/i915: Enable edp psr error interrupts on hsw Date: Thu, 22 Mar 2018 01:19:19 +0000 Message-ID: <1521683012.19788.40.camel@dk-H97M-D3H> References: <20180320224151.6009-1-dhinakaran.pandiyan@intel.com> <20180320224151.6009-2-dhinakaran.pandiyan@intel.com> <20180321185913.GA5453@intel.com> <1521661444.19788.9.camel@dk-H97M-D3H> <20180321192944.GB5453@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 B0AC06EB30 for ; Thu, 22 Mar 2018 01:19:23 +0000 (UTC) In-Reply-To: <20180321192944.GB5453@intel.com> Content-Language: en-US Content-ID: <88116B8303E1934386408CBEDBF6E57A@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.syrjala@linux.intel.com" Cc: "daniel.vetter@ffwll.ch" , "Vetter, Daniel" , "intel-gfx@lists.freedesktop.org" , "Vivi, Rodrigo" List-Id: intel-gfx@lists.freedesktop.org DQoNCg0KT24gV2VkLCAyMDE4LTAzLTIxIGF0IDIxOjI5ICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qg d3JvdGU6DQo+IE9uIFdlZCwgTWFyIDIxLCAyMDE4IGF0IDA3OjE5OjUzUE0gKzAwMDAsIFBhbmRp eWFuLCBEaGluYWthcmFuIHdyb3RlOg0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IE9uIFdlZCwgMjAx OC0wMy0yMSBhdCAyMDo1OSArMDIwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOg0KPiA+ID4gT24g VHVlLCBNYXIgMjAsIDIwMTggYXQgMDM6NDE6NDdQTSAtMDcwMCwgRGhpbmFrYXJhbiBQYW5kaXlh biB3cm90ZToNCj4gPiA+ID4gRnJvbTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZnds bC5jaD4NCj4gPiA+ID4gDQo+ID4gPiA+IFRoZSBkZWZpbml0aW9ucyBmb3IgdGhlIGVycm9yIHJl Z2lzdGVyIHNob3VsZCBiZSB2YWxpZCBvbiBiZHcvc2tsIHRvbywNCj4gPiA+ID4gYnV0IHRoZXJl IHdlIGhhdmVuJ3QgZXZlbiBlbmFibGVkIERFX01JU0MgaGFuZGxpbmcgeWV0Lg0KPiA+ID4gPiAN Cj4gPiA+ID4gU29tZXdoYXQgY29uZnVzaW5nIHRoZSB0aGUgbW92ZWQgcmVnaXN0ZXIgb2Zmc2V0 IG9uIGJkdyBpcyBvbmx5IGZvcg0KPiA+ID4gPiB0aGUgX0NUTC9fQVVYIHJlZ2lzdGVyLCBhbmQg dGhhdCBfSUlSL0lNUiBzdGF5ZWQgd2hlcmUgdGhleSBoYXZlIGJlZW4NCj4gPiA+ID4gb24gYmR3 Lg0KPiA+ID4gPiANCj4gPiA+ID4gdjI6IEZpeGVzIGZyb20gVmlsbGUuDQo+ID4gPiA+IA0KPiA+ ID4gPiB2MzogRnJvbSBESw0KPiA+ID4gPiAgKiBSZWJhc2VkIG9uIGRybS10aXANCj4gPiA+ID4g ICogUmVtb3ZlZCBCRFcgSUlSIGJpdCBkZWZpbml0aW9uLCBsb29rcyBsaWtlIGFuIHVuaW50ZW50 aW9uYWwgY2hhbmdlIHRoYXQNCj4gPiA+ID4gc2hvdWxkIGJlIGluIHRoZSBmb2xsb3dpbmcgcGF0 Y2guDQo+ID4gPiA+IA0KPiA+ID4gPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZp QGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50 ZWwuY29tPg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGludGVsLmNvbT4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogRGhpbmFrYXJhbiBQYW5kaXlh biA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgfCAzNCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrDQo+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o ICB8ICA4ICsrKysrKysrDQo+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu YyB8ICAzICsrLQ0KPiA+ID4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pDQo+ID4gPiA+IA0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMNCj4g PiA+ID4gaW5kZXggNDRlZWYzNTVlMTJjLi5lOTRhODM1Yjc1MTUgMTAwNjQ0DQo+ID4gPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMNCj4gPiA+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYw0KPiA+ID4gPiBAQCAtMjM5Miw2ICsyMzkyLDI2IEBA IHN0YXRpYyB2b2lkIGlsa19kaXNwbGF5X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwNCj4gPiA+ID4gIAkJaXJvbmxha2VfcnBzX2NoYW5nZV9pcnFfaGFuZGxl cihkZXZfcHJpdik7DQo+ID4gPiA+ICB9DQo+ID4gPiA+ICANCj4gPiA+ID4gK3N0YXRpYyB2b2lk IGhzd19lZHBfcHNyX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikNCj4gPiA+ID4gK3sNCj4gPiA+ID4gKwl1MzIgZWRwX3Bzcl9paXIgPSBJOTE1X1JFQUQoRURQ X1BTUl9JSVIpOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsJaWYgKGVkcF9wc3JfaWlyICYgRURQX1BT Ul9FUlJPUikNCj4gPiA+ID4gKwkJRFJNX0RFQlVHX0tNUygiUFNSIGVycm9yXG4iKTsNCj4gPiA+ ID4gKw0KPiA+ID4gPiArCWlmIChlZHBfcHNyX2lpciAmIEVEUF9QU1JfUFJFX0VOVFJZKSB7DQo+ ID4gPiA+ICsJCURSTV9ERUJVR19LTVMoIlBTUiBwcmVwYXJlIGVudHJ5IGluIDIgdmJsYW5rc1xu Iik7DQo+ID4gPiANCj4gPiA+IEkgZG91YnQgd2Ugd2FudCB0byBoYXZlIHRoZSBlbnRyeS9leGl0 IGludGVycnVwdHMgZ2VuZXJhdGUgYWxsIHRoaXMNCj4gPiA+IG5vaXNlIGluIGRtZXNnIGFsbCB0 aGUgdGltZS4gV2Ugc2hvdWxkIHByb2JhYmx5IG9ubHkgZW5hYmxlIHRoZQ0KPiA+ID4gaW50ZXJy dXB0cyBmb3IgdGVzdGluZy4gVGhlIGVycm9yIGludGVycnVwdCBJIHN1cHBvc2Ugd2Ugd2FudCBh bHdheXMsDQo+ID4gPiBtaWdodCBldmVuIHdhbnQgRFJNX0VSUk9SIG9uIGl0Lg0KPiA+IA0KPiA+ IEkgaW1wbGVtZW50IGRlYnVnZnMgY29udHJvbCBpbiBQYXRjaCA0LzUsIGFncmVlZCBvbiBEUk1f RVJST1IuDQo+IA0KPiBSaWdodC4gSXQncyBhIGJpdCBoYXJkIHRvIHJlYWQgdGhpcyB3aXRoIHN0 dWZmIGdldHRpbmcNCj4gYWRkZWQvcmVtb3ZlL21vdmVkIG1vcmUgb3IgbGVzcyByYW5kb21seS4N Cj4gDQo+ID4gDQo+ID4gPiANCj4gPiA+ID4gKwkJSTkxNV9XUklURShFRFBfUFNSX0lNUiwgRURQ X1BTUl9QUkVfRU5UUlkpOw0KPiA+ID4gPiArCX0NCj4gPiA+ID4gKw0KPiA+ID4gPiArCWlmIChl ZHBfcHNyX2lpciAmIEVEUF9QU1JfUE9TVF9FWElUKSB7DQo+ID4gPiA+ICsJCURSTV9ERUJVR19L TVMoIlBTUiBleGl0IGNvbXBsZXRlZFxuIik7DQo+ID4gPiA+ICsJCUk5MTVfV1JJVEUoRURQX1BT Ul9JTVIsIDApOw0KPiA+ID4gPiArCX0NCj4gPiA+ID4gKw0KPiA+ID4gPiArCUk5MTVfV1JJVEUo RURQX1BTUl9JSVIsIGVkcF9wc3JfaWlyKTsNCj4gPiA+ID4gK30NCj4gPiA+ID4gKw0KPiA+ID4g PiAgc3RhdGljIHZvaWQgaXZiX2Rpc3BsYXlfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LA0KPiA+ID4gPiAgCQkJCSAgICB1MzIgZGVfaWlyKQ0KPiA+ID4gPiAg ew0KPiA+ID4gPiBAQCAtMjQwNCw2ICsyNDI0LDkgQEAgc3RhdGljIHZvaWQgaXZiX2Rpc3BsYXlf aXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiA+ID4gPiAg CWlmIChkZV9paXIgJiBERV9FUlJfSU5UX0lWQikNCj4gPiA+ID4gIAkJaXZiX2Vycl9pbnRfaGFu ZGxlcihkZXZfcHJpdik7DQo+ID4gPiA+ICANCj4gPiA+ID4gKwlpZiAoZGVfaWlyICYgREVfRURQ X1BTUl9JTlRfSFNXKQ0KPiA+ID4gPiArCQloc3dfZWRwX3Bzcl9pcnFfaGFuZGxlcihkZXZfcHJp dik7DQo+ID4gPiA+ICsNCj4gPiA+ID4gIAlpZiAoZGVfaWlyICYgREVfQVVYX0NIQU5ORUxfQV9J VkIpDQo+ID4gPiA+ICAJCWRwX2F1eF9pcnFfaGFuZGxlcihkZXZfcHJpdik7DQo+ID4gPiA+ICAN Cj4gPiA+ID4gQEAgLTMyNTIsNiArMzI3NSwxMSBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9pcnFf cmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikNCj4gPiA+ID4gIAlpZiAoSVNfR0VONyhkZXZf cHJpdikpDQo+ID4gPiA+ICAJCUk5MTVfV1JJVEUoR0VON19FUlJfSU5ULCAweGZmZmZmZmZmKTsN Cj4gPiA+ID4gIA0KPiA+ID4gPiArCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSkgew0KPiA+ID4g PiArCQlJOTE1X1dSSVRFKEVEUF9QU1JfSU1SLCAweGZmZmZmZmZmKTsNCj4gPiA+ID4gKwkJSTkx NV9XUklURShFRFBfUFNSX0lJUiwgMHhmZmZmZmZmZik7DQo+ID4gPiA+ICsJfQ0KPiA+ID4gPiAr DQo+ID4gPiA+ICAJZ2VuNV9ndF9pcnFfcmVzZXQoZGV2X3ByaXYpOw0KPiA+ID4gPiAgDQo+ID4g PiA+ICAJaWJ4X2lycV9yZXNldChkZXZfcHJpdik7DQo+ID4gPiA+IEBAIC0zNjYzLDYgKzM2OTEs MTIgQEAgc3RhdGljIGludCBpcm9ubGFrZV9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldikNCj4gPiA+ID4gIAkJCSAgICAgIERFX0RQX0FfSE9UUExVRyk7DQo+ID4gPiA+ICAJ fQ0KPiA+ID4gPiAgDQo+ID4gPiA+ICsJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKSB7DQo+ID4g PiA+ICsJCWdlbjNfYXNzZXJ0X2lpcl9pc196ZXJvKGRldl9wcml2LCBFRFBfUFNSX0lJUik7DQo+ ID4gPiA+ICsJCUk5MTVfV1JJVEUoRURQX1BTUl9JTVIsIDApOw0KPiA+ID4gPiArCQlkaXNwbGF5 X21hc2sgfD0gREVfRURQX1BTUl9JTlRfSFNXOw0KPiA+ID4gPiArCX0NCj4gPiA+ID4gKw0KPiA+ ID4gPiAgCWRldl9wcml2LT5pcnFfbWFzayA9IH5kaXNwbGF5X21hc2s7DQo+ID4gPiA+ICANCj4g PiA+ID4gIAlpYnhfaXJxX3ByZV9wb3N0aW5zdGFsbChkZXYpOw0KPiA+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgNCj4gPiA+ID4gaW5kZXggMWUwMDBmMzAwNGNiLi4zNDQ3ZjAzZWFjM2QgMTAw NjQ0DQo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgNCj4gPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KPiA+ID4gPiBAQCAtMzgy OCw2ICszODI4LDEzIEBAIGVudW0gew0KPiA+ID4gPiAgI2RlZmluZSAgIEVEUF9QU1JfVFAxX1RJ TUVfMHVzCQkJKDM8PDQpDQo+ID4gPiA+ICAjZGVmaW5lICAgRURQX1BTUl9JRExFX0ZSQU1FX1NI SUZUCQkwDQo+ID4gPiA+ICANCj4gPiA+ID4gKy8qIEJzcGVjIGNsYWltcyB0aG9zZSBhcmVuJ3Qg c2hpZnRlZCBidXQgc3RheSBhdCAweDY0ODAwICovDQo+ID4gPiA+ICsjZGVmaW5lIEVEUF9QU1Jf SU1SCQkJCV9NTUlPKDB4NjQ4MzQpDQo+ID4gPiA+ICsjZGVmaW5lIEVEUF9QU1JfSUlSCQkJCV9N TUlPKDB4NjQ4MzgpDQo+ID4gPiA+ICsjZGVmaW5lICAgRURQX1BTUl9FUlJPUgkJCQkoMTw8MikN Cj4gPiA+ID4gKyNkZWZpbmUgICBFRFBfUFNSX1BPU1RfRVhJVAkJCSgxPDwxKQ0KPiA+ID4gPiAr I2RlZmluZSAgIEVEUF9QU1JfUFJFX0VOVFJZCQkJKDE8PDApDQo+ID4gPiA+ICsNCj4gPiA+ID4g ICNkZWZpbmUgRURQX1BTUl9BVVhfQ1RMCQkJCV9NTUlPKGRldl9wcml2LT5wc3JfbW1pb19iYXNl ICsgMHgxMCkNCj4gPiA+ID4gICNkZWZpbmUgRURQX1BTUl9BVVhfREFUQShpKQkJCV9NTUlPKGRl dl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHgxNCArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICov DQo+ID4gPiA+ICANCj4gPiA+ID4gQEAgLTY2MjgsNiArNjYzNSw3IEBAIGVudW0gew0KPiA+ID4g PiAgI2RlZmluZSBERV9QQ0hfRVZFTlRfSVZCCQkoMTw8MjgpDQo+ID4gPiA+ICAjZGVmaW5lIERF X0RQX0FfSE9UUExVR19JVkIJCSgxPDwyNykNCj4gPiA+ID4gICNkZWZpbmUgREVfQVVYX0NIQU5O RUxfQV9JVkIJCSgxPDwyNikNCj4gPiA+ID4gKyNkZWZpbmUgREVfRURQX1BTUl9JTlRfSFNXCQko MTw8MTkpDQo+ID4gPiA+ICAjZGVmaW5lIERFX1NQUklURUNfRkxJUF9ET05FX0lWQgkoMTw8MTQp DQo+ID4gPiA+ICAjZGVmaW5lIERFX1BMQU5FQ19GTElQX0RPTkVfSVZCCQkoMTw8MTMpDQo+ID4g PiA+ICAjZGVmaW5lIERFX1BJUEVDX1ZCTEFOS19JVkIJCSgxPDwxMCkNCj4gPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcHNyLmMNCj4gPiA+ID4gaW5kZXggMzE3Y2I0YTEyNjkzLi4yN2RmZDUwN2E0 ZjcgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5j DQo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jDQo+ID4gPiA+ IEBAIC02MTMsNyArNjEzLDggQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFibGVfc291cmNlKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ID4gPiA+ICAJCUk5MTVfV1JJVEUoRURQX1BTUl9E RUJVRywNCj4gPiA+ID4gIAkJCSAgIEVEUF9QU1JfREVCVUdfTUFTS19NRU1VUCB8DQo+ID4gPiA+ ICAJCQkgICBFRFBfUFNSX0RFQlVHX01BU0tfSFBEIHwNCj4gPiA+ID4gLQkJCSAgIEVEUF9QU1Jf REVCVUdfTUFTS19MUFNQKTsNCj4gPiA+ID4gKwkJCSAgIEVEUF9QU1JfREVCVUdfTUFTS19MUFNQ IHwNCj4gPiA+ID4gKwkJCSAgIEVEUF9QU1JfREVCVUdfTUFTS19SRUdfV1JJVEUpOw0KPiA+ID4g DQo+ID4gPiBJIGRvbid0IHRoaW5rIERhbmllbCdzIG9yaWdpbmFsIGhhZCB0aGlzIGFjdHVhbGx5 LiBJIHRoaW5rIEkgYWRkZWQgaXQNCj4gPiA+IGJlY2F1c2UgSSBkaWRuJ3Qgd2FudCBtbWlvIHRv IG1lc3MgdXAgbXkgdGVzdGluZy4NCj4gPiANCj4gPiBJdCBnZXRzIHJlbW92ZWQgaW4gYSBzZXBh cmF0ZSBwYXRjaCAoMi81KS4gU28gSSBhc3N1bWVkIERhbmllbCBhZGRlZCBpdA0KPiA+IGFuZCB5 b3UgcmVtb3ZlZCBpdC4NCj4gDQo+IEhtbS4gVGhhdCBjb3VsZCBpbmRlZWQgYmUgdGhlIGNhc2Uu DQo+IA0KPiA+IA0KPiA+IA0KPiA+ID4gSW4gZ2VuZXJhbCBJJ2QgcmVhbGx5DQo+ID4gPiBwcmVm ZXIgdG8gbWFzayBldmVyeXRoaW5nIHNvIHRoYXQgd2UgY2FuIGJlIHN1cmUgdGhhdCB0aGUgUFNS IGV4aXRzDQo+ID4gPiBoYXBwZW4gd2hlbiB3ZSB3YW50L25lZWQgdGhlbSBhbmQgbm90IHJhbmRv bWx5IGR1ZSB0byBvdGhlciBhY3Rpdml0eS4NCj4gPiA+IA0KPiA+ID4gSWYgYW55IHJhbmRvbSBt bWlvIGNhbiBjYXVzZSBhIFBTUiBleGl0IGl0J3MgZ29pbmcgdG8gaGFyZCB0byBwcm92ZSB0aGF0 DQo+ID4gPiB3ZSdyZSBkb2luZyB0aGUgY29ycmVjdCB0aGluZy4gQWxzbyBzZWVtcyBwcmV0dHkg d2FzdGVmdWwgaWYgZWcuIEdUDQo+ID4gPiBpbnRlcnJ1cHRzIGNhbiBjYXVzZSBQU1IgZXhpdHMg Zm9yIG5vIGdvb2QgcmVhc29uLiBJIG5ldmVyIHRlc3RlZCB0byBzZWUNCj4gPiA+IHdoaWNoIHJl Z2lzdGVycyBjYXVzZSB0aGUgUFNSIGV4aXQuIFRoYXQgd291bGQgYmUgZ29vZCB0byBrbm93Lg0K PiA+ID4gDQo+ID4gDQo+ID4gVGhlIHNhbWUgYml0IG9uIFNLTCsgaXMgY2FsbGVkICJNYXNrIERp c3BsYXkgUmVnIFdyaXRlIiwgc28gaXQgZWl0aGVyDQo+ID4gbWVhbnMNCj4gPiAxKSBIU1cgYW5k IEJEVyBleGl0IG9ubHkgb24gZGlzcGxheSByZWdpc3RlciB3cml0ZXMgYW5kIHRoZSBic3BlYw0K PiA+IGRlc2NyaXB0aW9uIGlzIGFtYmlndW91cyBvciANCj4gDQo+IFRoZSBwcm9ibGVtIGlzIHRo YXQgZWcuIHNvbWUgb2YgdGhlIGludGVycnVwdCByZWdpc3RlcnMgbGl2ZSBpbiB0aGUNCj4gZGlz cGxheSBibG9jay4gSGVuY2UgYW55IGludGVycnVwdCBjb3VsZCBwb3RlbnRpYWxseSBjYXVzZSB0 aGUgUFNSIGV4aXQuDQo+IEFzIGNvdWxkIGFueSByZWdpc3RlciByZWFkIHdlIGRvIGZvciBkZWJ1 ZyBwdXJwb3NlIGV0Yy4gU28gYXQgbGVhc3QgSQ0KPiB3b3VsZCBmZWVsIHNhZmVyIGlmIFBTUiBj YW4gYmUgbWFkZSB0byB3b3JrIHJlbGlhYmx5IHdpdGggbW9yZSBvciBsZXNzDQo+IGV2ZXJ5dGhp bmcgbWFza2VkLg0KPiANClRoZSBpZGVhIGlzIHRvIG1vdmUgdG93YXJkcyBoYXJkd2FyZSB0cmln Z2VyZWQgZXhpdHMgc2luY2UgdGhhdCdzIHdoYXQNCmlzIG5lY2Vzc2FyeSBmb3IgUFNSMiBzZWxl Y3RpdmUgdXBkYXRlc1sxXS4gTW9yZSBpbXBvcnRhbnRseSwgdGhlcmUgYXJlDQpwbGFjZXMgaW4g dGhlIGRyaXZlciB3aGVyZSB3ZSBjYW4ndCBtYW51YWxseSBleGl0IFBTUiB3aXRob3V0DQpjaXJj dW12ZW50aW5nIGxvY2tpbmcgaXNzdWVzIC0gZnJvbSB2YmxhbmsgZW5hYmxlIGZvciBpbnN0YW5j ZS4gUmVseWluZw0Kb24gaGFyZHdhcmUgdHJpZ2dlcmVkIGV4aXRzIGluIHRoZSBtb2Rlc2V0L2Nv bW1pdCBwYXRoIGtlZXBzIGl0DQpjb25zaXN0ZW50IElNTy4NCg0KDQpbMV0gUm9kcmlnbyBmb3Vu ZCBhIHJlZ2lzdGVyIChQU1IyX01BTl9UUktfQ1RMKSB0aGF0IGFsbG93cyBtYW51YWwNCmNvbnRy b2wgb2Ygc2VsZWN0aXZlIHVwZGF0ZXMuIEkgZG9uJ3Qga25vdyBob3cgd2VsbCBpdCB3b3JrcyB0 aG91Z2guDQoNCg0KDQo+ID4gMikgZXhpdGluZyBzcGVjaWZpY2FsbHkgb24gZGlzcGxheSBNTUlP IHdyaXRlcyB3YXMgYWRkZWQgaW4gU0tMLg0KPiA+IA0KPiA+IEknbGwgc2VlIGlmIEkgY2FuIGdl dCBhIEhTVy9CRFcgd2l0aCBQU1IgcGFuZWwgdG8gdGVzdCwgYnV0IGFzc3VtaW5nIHRoZQ0KPiA+ IGZvcm1lciBpcyBzYWZlci4NCj4gPiANCj4gPiANCj4gPiANCj4gPiA+ID4gIAl9DQo+ID4gPiA+ ICB9DQo+ID4gPiA+ICANCj4gPiA+ID4gLS0gDQo+ID4gPiA+IDIuMTQuMQ0KPiA+ID4gDQo+IA0K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==