From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Srivatsa, Anusha" Subject: Re: [v2 5/6] i915/dp/fec: Configure the Forward Error Correction bits. Date: Mon, 22 Oct 2018 18:37:50 +0000 Message-ID: <83F5C7385F545743AD4FB2A62F75B07347F7AC52@ORSMSX108.amr.corp.intel.com> References: <20181015215037.13901-1-anusha.srivatsa@intel.com> <20181015215037.13901-6-anusha.srivatsa@intel.com> <20181019183911.GW9144@intel.com> <20181019192442.GN8224@intel.com> <20181019195829.GE9144@intel.com> <20181019202905.GA31686@intel.com> <20181019231146.GG9144@intel.com> <83F5C7385F545743AD4FB2A62F75B07347F7AC05@ORSMSX108.amr.corp.intel.com> <20181022182606.GP9144@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8CD658925E for ; Mon, 22 Oct 2018 18:37:55 +0000 (UTC) In-Reply-To: <20181022182606.GP9144@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?iso-8859-1?Q?Ville_Syrj=E4l=E4?= Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org Cgo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPkZyb206IFZpbGxlIFN5cmrDpGzDpCBbbWFp bHRvOnZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tXQo+U2VudDogTW9uZGF5LCBPY3RvYmVy IDIyLCAyMDE4IDExOjI2IEFNCj5UbzogU3JpdmF0c2EsIEFudXNoYSA8YW51c2hhLnNyaXZhdHNh QGludGVsLmNvbT4KPkNjOiBOYXZhcmUsIE1hbmFzaSBEIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwu Y29tPjsgaW50ZWwtCj5nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBTaW5naCwgR2F1cmF2IEsg PGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT47IEphbmkKPk5pa3VsYSA8amFuaS5uaWt1bGFAbGlu dXguaW50ZWwuY29tPgo+U3ViamVjdDogUmU6IFt2MiA1LzZdIGk5MTUvZHAvZmVjOiBDb25maWd1 cmUgdGhlIEZvcndhcmQgRXJyb3IgQ29ycmVjdGlvbiBiaXRzLgo+Cj5PbiBNb24sIE9jdCAyMiwg MjAxOCBhdCAwNjowNDoyOFBNICswMDAwLCBTcml2YXRzYSwgQW51c2hhIHdyb3RlOgo+Pgo+Pgo+ PiA+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4gPkZyb206IFZpbGxlIFN5cmrDpGzDpCBb bWFpbHRvOnZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tXQo+PiA+U2VudDogRnJpZGF5LCBP Y3RvYmVyIDE5LCAyMDE4IDQ6MTIgUE0KPj4gPlRvOiBOYXZhcmUsIE1hbmFzaSBEIDxtYW5hc2ku ZC5uYXZhcmVAaW50ZWwuY29tPgo+PiA+Q2M6IFNyaXZhdHNhLCBBbnVzaGEgPGFudXNoYS5zcml2 YXRzYUBpbnRlbC5jb20+OyBpbnRlbC0KPj4gPmdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IFNp bmdoLCBHYXVyYXYgSwo+PiA+PGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT47IEphbmkgTmlrdWxh IDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4+ID5TdWJqZWN0OiBSZTogW3YyIDUvNl0g aTkxNS9kcC9mZWM6IENvbmZpZ3VyZSB0aGUgRm9yd2FyZCBFcnJvciBDb3JyZWN0aW9uIGJpdHMu Cj4+ID4KPj4gPk9uIEZyaSwgT2N0IDE5LCAyMDE4IGF0IDAxOjI5OjA1UE0gLTA3MDAsIE1hbmFz aSBOYXZhcmUgd3JvdGU6Cj4+ID4+IE9uIEZyaSwgT2N0IDE5LCAyMDE4IGF0IDEwOjU4OjI5UE0g KzAzMDAsIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPj4gPj4gPiBPbiBGcmksIE9jdCAxOSwgMjAx OCBhdCAxMjoyNDo0M1BNIC0wNzAwLCBNYW5hc2kgTmF2YXJlIHdyb3RlOgo+PiA+PiA+ID4gT24g RnJpLCBPY3QgMTksIDIwMTggYXQgMDk6Mzk6MTFQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOkIHdy b3RlOgo+PiA+PiA+ID4gPiBPbiBNb24sIE9jdCAxNSwgMjAxOCBhdCAwMjo1MDozNlBNIC0wNzAw LCBBbnVzaGEgU3JpdmF0c2Egd3JvdGU6Cj4+ID4+ID4gPiA+ID4gSWYgRkVDIGlzIHN1cHBvcnRl ZCwgdGhlIGNvcnJlc3BvbmRpbmcgRFBfVFBfQ1RMIHJlZ2lzdGVyCj4+ID4+ID4gPiA+ID4gYml0 cyBoYXZlIHRvIGJlIGNvbmZpZ3VyZWQuCj4+ID4+ID4gPiA+ID4KPj4gPj4gPiA+ID4gPiBUaGUg ZHJpdmVyIGhhcyB0byBwcm9ncmFtIHRoZSBGRUNfRU5BQkxFIGluIERQX1RQX0NUTFszMF0KPj4g Pj4gPiA+ID4gPiByZWdpc3RlciBhbmQgd2FpdCB0aWxsIEZFQ19TVEFUVVMgaW4gRFBfVFBfQ1RM WzI4XSBpcyAxLgo+PiA+PiA+ID4gPiA+IEFsc28gYWRkIHRoZSB3YXJuIG1lc3NhZ2UgdG8gbWFr ZSBzdXJlIHRoYXQgdGhlIGNvbnRyb2wKPj4gPj4gPiA+ID4gPiByZWdpc3RlciBpcyBhbHJlYWR5 IGFjdGl2ZSB3aGlsZSBlbmFibGluZyBGRUMuCj4+ID4+ID4gPiA+ID4KPj4gPj4gPiA+ID4gPiB2 MjoKPj4gPj4gPiA+ID4gPiAtIENoYW5nZSBjb21taXQgbWVzc2FnZS4gQ29uZmlndXJlIGZlYyBz dGF0ZSBhZnRlcgo+PiA+PiA+ID4gPiA+ICAgbGluayB0cmFpbmluZyAoTWFuYXNpLCBHYXVyYXYp Cj4+ID4+ID4gPiA+ID4gLSBSZW1vdmUgcmVkdW5kZW50IGNoZWNrcyAoTWFuYXNpKQo+PiA+PiA+ ID4gPiA+IC0gUmVtb3ZlIHRoZSByZWdpc3RlcnMgdGhhdCBnZXQgYWRkZWQgYXV0b21hZ2ljYWxs eQo+PiA+PiA+ID4gPiA+IChBbnVzaGEpCj4+ID4+ID4gPiA+ID4KPj4gPj4gPiA+ID4gPiB2Mzog cy9pbnRlbF9kcF9zZXRfZmVjX3N0YXRlKCkvaW50ZWxfZHBfZW5hYmxlX2ZlY19zdGF0ZSgpCj4+ ID4+ID4gPiA+ID4gKEdhdXJhdikKPj4gPj4gPiA+ID4gPgo+PiA+PiA+ID4gPiA+IHY0OiByZWJh c2VkLgo+PiA+PiA+ID4gPiA+Cj4+ID4+ID4gPiA+ID4gQ2M6IEdhdXJhdiBLIFNpbmdoIDxnYXVy YXYuay5zaW5naEBpbnRlbC5jb20+Cj4+ID4+ID4gPiA+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5p Lm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4+ID4+ID4gPiA+ID4gQ2M6IFZpbGxlIFN5cmphbGEg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+PiA+PiA+ID4gPiA+IENjOiBNYW5hc2kg TmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+PiA+PiA+ID4gPiA+IFNpZ25lZC1v ZmYtYnk6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPj4gPj4g PiA+ID4gPiAtLS0KPj4gPj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgfCAgMiArKwo+PiA+PiA+ID4gPiA+IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j IHwgIDIgKysKPj4gPj4gPiA+ID4gPiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICB8 IDI3Cj4+ID4+ID4gPiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ID4+ID4gPiA+ ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi4KPj4gPj4gPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysgaAo+PiA+PiA+ ID4gPiA+IHwgIDMgKystCj4+ID4+ID4gPiA+ID4gIDQgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQo+PiA+PiA+ID4gPiA+Cj4+ID4+ID4gPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gPj4gPiA+ID4gPiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggaW5kZXgKPj4gPj4gPiA+ID4gPiBiY2RlNzhi YzAwMjcuLmM4ZDdmZGNkNzgyMyAxMDA2NDQKPj4gPj4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+ID4+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAo+PiA+PiA+ID4gPiA+IEBAIC05MDkzLDYgKzkwOTMsNyBAQCBlbnVt IHNrbF9wb3dlcl9nYXRlIHsKPj4gPj4gPiA+ID4gPiAgI2RlZmluZSBfRFBfVFBfQ1RMX0IJCQkw eDY0MTQwCj4+ID4+ID4gPiA+ID4gICNkZWZpbmUgRFBfVFBfQ1RMKHBvcnQpIF9NTUlPX1BPUlQo cG9ydCwgX0RQX1RQX0NUTF9BLAo+PiA+X0RQX1RQX0NUTF9CKQo+PiA+PiA+ID4gPiA+ICAjZGVm aW5lICBEUF9UUF9DVExfRU5BQkxFCQkJKDEgPDwgMzEpCj4+ID4+ID4gPiA+ID4gKyNkZWZpbmUg IERQX1RQX0NUTF9GRUNfRU5BQkxFCQkJKDEgPDwgMzApCj4+ID4+ID4gPiA+ID4gICNkZWZpbmUg IERQX1RQX0NUTF9NT0RFX1NTVAkJCSgwIDw8IDI3KQo+PiA+PiA+ID4gPiA+ICAjZGVmaW5lICBE UF9UUF9DVExfTU9ERV9NU1QJCQkoMSA8PCAyNykKPj4gPj4gPiA+ID4gPiAgI2RlZmluZSAgRFBf VFBfQ1RMX0ZPUkNFX0FDVAkJCSgxIDw8IDI1KQo+PiA+PiA+ID4gPiA+IEBAIC05MTExLDYgKzkx MTIsNyBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKPj4gPj4gPiA+ID4gPiAgI2RlZmluZSBfRFBf VFBfU1RBVFVTX0EJCQkweDY0MDQ0Cj4+ID4+ID4gPiA+ID4gICNkZWZpbmUgX0RQX1RQX1NUQVRV U19CCQkJMHg2NDE0NAo+PiA+PiA+ID4gPiA+ICAjZGVmaW5lIERQX1RQX1NUQVRVUyhwb3J0KSBf TU1JT19QT1JUKHBvcnQsCj4+ID4+ID4gPiA+ID4gX0RQX1RQX1NUQVRVU19BLAo+PiA+PiA+ID4g PiA+IF9EUF9UUF9TVEFUVVNfQikKPj4gPj4gPiA+ID4gPiArI2RlZmluZSAgRFBfVFBfU1RBVFVT X0ZFQ19FTkFCTEVfTElWRQkJKDEgPDwgMjgpCj4+ID4+ID4gPiA+ID4gICNkZWZpbmUgIERQX1RQ X1NUQVRVU19JRExFX0RPTkUJCQkoMSA8PAo+MjUpCj4+ID4+ID4gPiA+ID4gICNkZWZpbmUgIERQ X1RQX1NUQVRVU19BQ1RfU0VOVAkJCSgxIDw8IDI0KQo+PiA+PiA+ID4gPiA+ICAjZGVmaW5lICBE UF9UUF9TVEFUVVNfTU9ERV9TVEFUVVNfTVNUCQkoMSA8PAo+MjMpCj4+ID4+ID4gPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4+ID4+ID4gPiA+ID4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+PiA+PiA+ID4gPiA+IGluZGV4IGY1 MzE5MDAxNjViZi4uNjdjMDEzZWE0ZDM5IDEwMDY0NAo+PiA+PiA+ID4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4+ID4+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4gPj4gPiA+ID4gPiBAQCAtMjkxMSw2ICsyOTExLDgg QEAgc3RhdGljIHZvaWQKPj4gPj4gPiA+ID4gPiBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1 Y3QKPj4gPmludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+ID4+ID4gPiA+ID4gIAkJCQkJICAgICAg RFBfREVDT01QUkVTU0lPTl9FTik7Cj4+ID4+ID4gPiA+ID4gIAlpbnRlbF9kcF9zaW5rX3NldF9m ZWNfcmVhZHkoaW50ZWxfZHAsIGNydGNfc3RhdGUsCj4+ID5EUF9GRUNfUkVBRFkpOwo+PiA+PiA+ ID4gPiA+ICAJaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihpbnRlbF9kcCk7Cj4+ID4+ID4gPiA+ ID4gKwlpbnRlbF9kcF9lbmFibGVfZmVjX3N0YXRlKGludGVsX2RwLCBjcnRjX3N0YXRlKTsKPj4g Pj4gPiA+ID4KPj4gPj4gPiA+ID4gVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSB0aGUgY29ycmVjdCBz cG90LiBBY2NvcmRpbmcgdG8gdGhlCj4+ID4+ID4gPiA+IHNwZWMgaXQgc2hvdWxkIGJlIGFmdGVy IHN0b3BfbGlua190cmFpbigpICh3aGVyZSB3ZSBzZXQKPj4gPj4gPiA+ID4gRFBfVFBfQ1RMIHRv IHRvIG5vcm1hbCkuCj4+ID4+ID4gPiA+Cj4+ID4+ID4gPgo+PiA+PiA+ID4gWWVzIEkgc2VlIGlu IHRoZSBkaXNwbGF5IHBvcnQgZW5hYmxpbmcgc2VxdWVuY2UgcGFnZSBvZiB0aGUKPj4gPj4gPiA+ IHNwZWMsIHRoYXQgaXQgc2F5cyBlbmFibGUgRkVDIGFmdGVyIERQX1RQX0NUTCBpcyBzZXQgdG8g Tm9ybWFsLgo+PiA+PiA+ID4gQWxzbyB0aGUgRkVDIHBhZ2Ugc2F5cyB0aGF0IHRoaXMgc2hvdWxk IGJlIGVuYWJsZWQgb25seSBhZnRlcgo+PiA+PiA+ID4gZW5zdXJpbmcgdGhhdCBsaW5rIHRyYWlu aW5nIGNvbXBsZXRlZC4gU28gYWNjb3JkaW5nIHRvIHRoYXQKPj4gPj4gPiA+IHRoaXMgY2FsbCBz aG91bGQgaGFwcGVuIGFmdGVyCj4+ID5pbnRlbF9kcF9zdG9wX2xpbmtfdHJhaW4oKS4KPj4gPj4g PiA+IFNvIHllcyBtb3ZlIHRoaXMgdG8gYWZ0ZXIgaW50ZWxfZHBfc3RvcF9saW5rX3RyYWluaW5n KCkuCj4+ID4+ID4gPgo+PiA+PiA+ID4gPiA+ICsKPj4gPj4gPiA+ID4gPiAgCWlmIChwb3J0ICE9 IFBPUlRfQSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCj4+ID4+ID4gPiA+ID4gIAkJaW50 ZWxfZHBfc3RvcF9saW5rX3RyYWluKGludGVsX2RwKTsKPj4gPj4gPiA+ID4gPgo+PiA+PiA+ID4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+ID4+ID4g PiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGluZGV4Cj4+ID4+ID4gPiA+ ID4gYjRlOGFmMzE0MmEyLi5iOWY4NTUwMmQ5ZmYgMTAwNjQ0Cj4+ID4+ID4gPiA+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiA+PiA+ID4gPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gPj4gPiA+ID4gPiBAQCAtMzAxNyw2ICszMDE3 LDMzIEBAIHZvaWQKPj4gPj4gPiA+ID4gPiBpbnRlbF9kcF9zaW5rX3NldF9mZWNfcmVhZHkoc3Ry dWN0Cj4+ID5pbnRlbF9kcCAqaW50ZWxfZHAsCj4+ID4+ID4gPiA+ID4gIAkJRFJNX0RFQlVHX0tN UygiRmFpbGVkIHRvIGdldCBGRUMgZW5hYmxlZCBpbgo+PiA+c2lua1xuIik7ICB9Cj4+ID4+ID4g PiA+ID4KPj4gPj4gPiA+ID4gPiArdm9pZCBpbnRlbF9kcF9lbmFibGVfZmVjX3N0YXRlKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4+ID4+ID4gPiA+ID4gKwkJCSAgICAgICBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkgewo+PiA+PiA+ID4gPiA+ICsJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7Cj4+ID4+ ID4gPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9Cj4+ ID5kcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4+ID4+ID4gPiA+ID4gKwllbnVtIHBvcnQgcG9y dCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7Cj4+ID4+ID4gPiA+ID4gKwl1MzIgdmFsOwo+ PiA+PiA+ID4gPiA+ICsKPj4gPj4gPiA+ID4gPiArCS8qIEZFQyBzdXBwb3J0IGV4aXN0cyBmb3Ig RFAgMS40IG9ubHkgKi8KPj4gPj4gPiA+ID4gPiArCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxf ZHApKQo+PiA+PiA+ID4gPiA+ICsJCXJldHVybjsKPj4gPj4gPiA+ID4gPiArCj4+ID4+ID4gPiA+ ID4gKwkvKiBJZiBEaXNwbGF5IENvbXByZXNzaW9uIGlzIG5vdCBlbmFibGVkLCBGRUMgbmVlZCBu b3QgYmUKPj4gPmNvbmZpZ3VyZWQgKi8KPj4gPj4gPiA+ID4gPiArCWlmICghY3J0Y19zdGF0ZS0+ ZHNjX3BhcmFtcy5jb21wcmVzc2lvbl9lbmFibGUpCj4+ID4+ID4gPiA+ID4gKwkJcmV0dXJuOwo+ PiA+PiA+ID4gPiA+ICsKPj4gPj4gPiA+ID4gPiArCXZhbCA9IEk5MTVfUkVBRChEUF9UUF9DVEwo cG9ydCkpOwo+PiA+PiA+ID4gPiA+ICsJdmFsIHw9IERQX1RQX0NUTF9GRUNfRU5BQkxFOwo+PiA+ PiA+ID4gPiA+ICsJSTkxNV9XUklURShEUF9UUF9DVEwocG9ydCksIHZhbCk7Cj4+ID4+ID4gPiA+ ID4gKwo+PiA+PiA+ID4gPiA+ICsJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2 LCBEUF9UUF9TVEFUVVMocG9ydCksCj4+ID4+ID4gPiA+ID4gKwkJCQkgICAgRFBfVFBfU1RBVFVT X0ZFQ19FTkFCTEVfTElWRSwKPj4gPj4gPiA+ID4gPiArCQkJCSAgICBEUF9UUF9TVEFUVVNfRkVD X0VOQUJMRV9MSVZFLAo+PiA+PiA+ID4gPiA+ICsJCQkJICAgIDEpKQo+PiA+PiA+ID4gPiA+ICsJ CURSTV9FUlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIEZFQyBFbmFibGUKPj4gPlN0YXR1c1xu Iik7IH0KPj4gPj4gPiA+ID4KPj4gPj4gPiA+ID4gVGhlcmUgaXMgbm8gcmVhc29uIHRvIHN0aWNr IHRoZXNlIGludG8gaW50ZWxfZHAuYyB3aGVuIHRoZQo+PiA+PiA+ID4gPiBvbmx5IGNhbGxlciBp cyBpbiBpbnRlbF9kZGkuYy4KPj4gPj4gPiA+ID4KPj4gPj4gPiA+Cj4+ID4+ID4gPiBTbyBtYXkg YmUgbW92ZSB0aGUgc2V0X2RzY19zdGF0ZSBmdW5jdGlvbiBhbHNvIGZyb20gaW50ZWxfZHAuYwo+ PiA+PiA+ID4gdG8gaW50ZWxfZGRpLmMgT3IgZG9lcyBpdCBtYWtlIHNlbnNlIHRvIG1vdmUgYWxs IHRoZXNlIERTQwo+PiA+PiA+ID4gcmVsYXRlZCBmdW5jdGlvbnMKPj4gPmluY2x1ZGluZyBmZWMg dG8gaW50ZWxfZHNjLmM/Cj4+ID4+ID4gPgo+PiA+PiA+ID4gPiBXZSBhbHNvIHNlZW0gdG8gYmUg bWlzc2luZyBwbGF0Zm9ybSBjaGVja3MuIEZFQyBkb2Vzbid0Cj4+ID4+ID4gPiA+IGFwcGVhciB0 byBiZSBhIHRoaW5nIHByaW9yIHRvIElDTC4gSSBndWVzcyB0aGUKPj4gPj4gPiA+ID4gZWRwK2Nv bXByZXNzaW9uX2VuYWJsZSB0YWtlcyBjYXJlIG9mIHRoaXMsIGJ1dCBJIHRoaW5rIEknZAo+PiA+ PiA+ID4gPiByYXRoZXIgc3RpY2sgYSBuZXcgZmVjX2VuYWJsZSBib29sIGludG8gdGhlIGNydGMg c3RhdGUuIFRoYXQKPj4gPj4gPiA+ID4gd2F5IHdlIGdldCBjYW4gYWRkIGl0IHRvIHRoZQo+PiA+ c3RhdGUgY2hlY2tlciBhcyB3ZWxsLgo+PiA+PiA+ID4gPgo+PiA+PiA+ID4KPj4gPj4gPiA+IGZl Y19lbmFibGUgY2FuIGJlIGFkZGVkIHRvIGNydGNfc3RhdGUtPmRzY19wYXJhbXMgbWF5IGJlPwo+ PiA+PiA+Cj4+ID4+ID4gSXNuJ3QgRkVDIHNvbWV0aGluZyB0aGF0IGNhbiBiZSB1c2VkIHcvbyBE U0MgdG9vPwo+PiA+PiA+Cj4+ID4+Cj4+ID4+IE5vcGUsIEZFQyBhbHdheXMgZ29lcyBoYW5kIGlu IGhhbmQgd2l0aCBEU0Mgb24gZXh0ZXJuYWwgRFAgYW5kIHRoYXQKPj4gPj4gRFNDIG9uIGV4dGVy bmFsIERQIGNhbm5vdCBiZSBlbmFibGVkIHdpdGhvdXQgRkVDLgo+PiA+Cj4+ID5TdXJlLCBEU0Mg bmVlZHMgRkVDLiBCdXQgRkVDIGRvZXNuJ3QgbmVlZCBEU0MuIEF0IGxlYXN0IGlmIEknbQo+PiA+ cmVhZGluZyB0aGUgc3BlYyBjb3JyZWN0bHkuCj4+ID4KPj4gPkZFQyBpcyBlbmFibGVkIGZvciB0 aGUgZW50aXJlIG1haW4gbGluaywgc28gZXZlcnl0aGluZyBnZXR0aW5nCj4+ID50cmFuc3BvcnRl ZCBvdmVyIGl0IGdldCBGRUNjZWQuIERTQyBvbiB0aGUgb3RoZXIgaGFuZCBvcGVyYXRlcyBvbiBv bgo+PiA+YSBzdHJlYW0gbGV2ZWwuIFNvIGFzc3VtaW5nIGEgTVNUIGJyYW5jaCBkZXZpY2UgdGhh dCBjYW4gZG8gRkVDIGJ1dAo+PiA+Y2FuJ3QgZG8gRFNDIHlvdSBzaG91bGQgYmUgYWJsZSB0cmFu c3BvcnQgYm90aCBjb21wcmVzc2VkIGFuZAo+PiA+dW5jb21wcmVzc2VkIHN0cmVhbXMgdGhyb3Vn aCBpdCBzaW11bHRhbmVvdXNseS4gS2luZGEgbWFrZXMgbWUgdGhpbmsKPj4gPnRoYXQgd2Ugd2Fu dCB0byBlbmFibGUgRkVDIGZvciBNU1Qgd2hlbmV2ZXIgdGhlIGRvd25zdHJlYW0gZGV2aWNlCj5z dXBwb3J0cyBpdC4KPj4KPj4gRkVDIGZvciBNU1QgbW9kZXMgaXMgbm90IHN1cHBvcnRlZCBmb3Ig SUNMIHBsYXRmb3JtLiBXZSBjb3VsZCBleHRlbmQgdGhpcyBmb3IKPmZ1dHVyZSBwbGF0Zm9ybXMg IGZvciBicmFuY2ggZGV2aWNlcyB0aGF0IHN1cHBvcnQgRkVDLgo+Cj5IbW0uIFdlbGwsIGxvb2tz IGxpa2Ugd2UnbGwgaGF2ZSB0byB0aGluayBhYm91dCB0aGF0IHNvb24gZW5vdWdoIGFueXdheSwg c28KPklNTyBiZXR0ZXIgZG8gaXQgcmlnaHQgZnJvbSB0aGUgc3RhcnQuIEF2b2lkcyBoYXZpbmcg dG8gcmV3cml0ZSB0aGUgU1NUIHBhdGggeWV0Cj5hZ2FpbiB3aGVuIHdlIGFkZCB0aGUgTVNUIHN1 cHBvcnQuIEFuZCB3ZSdsbCBhbHNvIGdldCB0aGUgc3RhdGUgY2hlY2tlciBhcyBhCj5ib251cy4K Ck9rLCAgU28sCjEuIGFkZCBmZWNfZW5hYmxlIGJvb2wgYXMgYSBzdGF0ZSBpbiBjcnRjIHN0YXRl LgoyLiBtb3ZlIGludGVsX2RwX2VuYWJsZV9mZWNfc3RhdGUoKSB0byBpbnRlbC1kZGkuYwozLiBF bmFibGUgZmVjIHN0YXRlIGFmdGVyIGludGVsX2RwX3N0b3BfbGlua190cmFpbmluZygpCgpBbnVz aGEKCgo+Pgo+PiA+QW5kIEkgc3VwcG9zZSB3ZSBjb3VsZCBhbHNvIGNvbnNpZGVyIHVzaW5nIEZF QyBvcHBvcnR1bmlzdGljYWxseSBmb3IKPj4gPnVuY29tcHJlc3NlZCBTU1Qgd2hlbiB3ZSBoYXZl IHRoZSBleHRyYSBsaW5rIGJhbmR3aWR0aCB0byBoYW5kbGUgdGhlCj4+ID5leHRyYSBvdmVyaGVh ZC4KPj4KPj4gWWVzLiBUaGUgcmVxdWlyZW1lbnQgdGhvdWdoIGlzIGZvciBjb21wcmVzc2VkIHN0 cmVhbXMuIEkgYW0gbm90IHN1cmUgaWYgd2Ugd2lsbAo+aGF2ZSB0byBwYXkgYW55IHBvd2VyIHBl bmFsdHkgZm9yIFNTVC4gQWxzbyBteSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgaWYgYSBmZXcKPnN5 bWJvbHMgaW4gYSBub24tY29tcHJlc3NlZCBzdHJlYW0gYXJlIGluIGVycm9yLCB0aGVuIG9ubHkg dGhvc2Ugc3ltYm9scyB3aWxsIGJlCj5pbiBlcnJvci4gVGhlc2UgZXJyb3JzIGRvIG5vdCBjYXVz ZSBvdGhlciBwaXhlbHMgdG8gZ2V0IGNvcnJ1cHRlZC4gSW4gY29tcHJlc3NlZAo+c3RyZWFtcywg aWYgYSBmZXcgc3ltYm9scyBhcmUgaW4gZXJyb3IsIGl0IGNhbiBjYXVzZSB0aGUgZW50aXJlIHNs aWNlIHRvIGdldAo+Y29ycnVwdGVkLiBXaWxsIHdlIGJlIGdldHRpbmcgYW55IG11Y2ggcmV0dXJu IG9uIG5vbi1jb21wcmVzc2VkIHN0cmVhbXM/Cj4KPk5vIGlkZWEuCj4KPi0tCj5WaWxsZSBTeXJq w6Rsw6QKPkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=