From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH 0/5] Handle Link Training Failure during modeset Date: Sun, 13 Nov 2016 23:43:01 -0800 Message-ID: <20161114074301.GA25692@intel.com> References: <1478752928-17719-1-git-send-email-manasi.d.navare@intel.com> <874m3f5ha4.fsf@intel.com> <20161111140504.GH31595@intel.com> <20161111164340.GL31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline 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: "Cheng, Tony" Cc: "intel-gfx@lists.freedesktop.org" , "Peres, Martin" , "dri-devel@lists.freedesktop.org" , "Deucher, Alexander" , "Wentland, Harry" List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBOb3YgMTEsIDIwMTYgYXQgMDc6NDI6MTZQTSArMDAwMCwgQ2hlbmcsIFRvbnkgd3Jv dGU6Cj4gSW4gY2FzZSBvZiBsaW5rIHRyYWluaW5nIGZhaWx1cmUgYW5kIHJlcXVpcmluZyB1c2Vy IHNwYWNlIHRvIHNldCBhIGxvd2VyIG1vZGUsIHdvdWxkIGZ1bGwgbW9kZSBzZXQgYWRkcmVzcyBp dD8gIEhvdyBkbyB3ZSBtYWtlIHVzZXIgbW9kZSBzZWxlY3QgbG93ZXIgcmVzb2x1dGlvbj8KPiAK PiBGb3IgZXhhbXBsZSA0a0A2MEh6IG1vbml0b3IsIGFuZCBsaW5rIHRyYWluaW5nIGF0IDQgbGFu ZSBIQlIyIGZhaWxzIGFuZCBmYWxsYmFjayB0byA0IGxhbmVzIEhCUiwgNGtANjAgaXMgbm8gbG9u Z2VyIGRvYWJsZS4gIEkgd291bGQgdGhpbmsgcHJldmVudGluZyB1c2VyIG1vZGUgZnJvbSBzZWVp bmcgNEtANjBIeiBmcm9tIHRoZSBzdGFydCBpcyBhIGVhc2llciBhbmQgbW9yZSByb2J1c3Qgc29s dXRpb24gYW5kIHJlcXVpcmluZyB1c2VyIG1vZGUgdG8gaGF2ZSBsb2dpYyB0byBkZWNpZGUgaG93 IHRvIGZhbGxiYWNrLgo+CgpIaSBUb255LAoKU28gaW4gY2FzZSBvZiBsaW5rIHRyYWluaW5nIGZh aWx1cmUsIHdlIGZpcnN0IGNhbGwgbW9kZV92YWxpZCB0aGF0IHdpbGwgdXNlIHRoZSBsb3dlciBs aW5rIHJhdGUvbGFuZSBjb3VudAp2YWx1ZXMgYmFzZWQgb24gdGhlIGxpbmsgdHJhaW5pbmcgZmFs bGJhY2sgdG8gdmFsaWRhdGUgdGhlIG1vZGVzIGFuZCBwcnVuZSB0aGUgbW9kZXMgdGhhdCBhcmUg aGlnaGVyIHRoYW4KdGhlIGF2YWlsYWJsZSBsaW5rLiBBZnRlciB0aGlzIGlzIGRvbmUsIHRoZW4g d2Ugc2VuZCB0aGUgdWV2ZW50IHRvIHVzZXJzcGFjZSBpbmRpY2F0aW5nIHRoYXQgbGluayBzdGF0 dXMgaXMgQkFEIGFuZCAKaXQgd2lsbCByZWRvIGEgcHJvYmUgYW5kIHRyaWdnZXIgYSBtb2Rlc2V0 IGZvciBuZXh0IHBvc3NpYmxlIGxvd2VyIHJlc29sdXRpb24uCgpNYW5hc2kKCiAKPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCBbbWFpbHRvOnZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tXSAKPiBTZW50OiBGcmlkYXksIE5vdmVtYmVyIDExLCAy MDE2IDExOjQ0IEFNCj4gVG86IENoZW5nLCBUb255IDxUb255LkNoZW5nQGFtZC5jb20+Cj4gQ2M6 IERldWNoZXIsIEFsZXhhbmRlciA8QWxleGFuZGVyLkRldWNoZXJAYW1kLmNvbT47ICdKYW5pIE5p a3VsYScgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT47IE1hbmFzaSBOYXZhcmUgPG1hbmFz aS5kLm5hdmFyZUBpbnRlbC5jb20+OyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBp bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBXZW50bGFuZCwgSGFycnkgPEhhcnJ5Lldl bnRsYW5kQGFtZC5jb20+OyBQZXJlcywgTWFydGluIDxtYXJ0aW4ucGVyZXNAaW50ZWwuY29tPgo+ IFN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSBbUEFUQ0ggMC81XSBIYW5kbGUgTGluayBUcmFpbmlu ZyBGYWlsdXJlIGR1cmluZyBtb2Rlc2V0Cj4gCj4gT24gRnJpLCBOb3YgMTEsIDIwMTYgYXQgMDQ6 MjE6NThQTSArMDAwMCwgQ2hlbmcsIFRvbnkgd3JvdGU6Cj4gPiBGb3IgSERNSSwgeW91IGNhbiB5 YW5rIHRoZSBjYWJsZSwgcGx1ZyBiYWNrIGluLCBIRE1JIHdpbGwgbGlnaHQgdXAgd2l0aG91dCB1 c2VyIG1vZGUgb3Iga2VybmVsIG1vZGUgZG9pbmcgYW55dGhpbmcuCj4gPiAKPiA+IEZvciBEUCB0 aGlzIGlzIG5vdCBwb3NzaWJsZSwgc29tZW9uZSB3aWxsIGhhdmUgdG8gcmV0cmFpbiB0aGUgbGlu ayB3aGVuIHBsdWdnaW5nIGJhY2sgaW4gb3IgRFAgd2lsbCBub3QgbGlnaHQgdXAuICBXZSBzZWUg dGhhdCBvbiBVYnVudHUgaWYgc29tZW9uZSB1bnBsdWcgZGlzcGxheSBhbmQgcGx1ZyBpdCBiYWNr IGludG8gc2FtZSBjb25uZWN0b3IsIHdlIGRvIG5vdCBnZXQgS01TIHNvIGluIHRoaXMgY2FzZS4g IEl0IGFwcGVhcnMgdGhlcmUgaXMgc29tZSBvcHRpbWl6YXRpb25zIHNvbWV3aGVyZSBpbiB1c2Vy IG1vZGUgc3RhY2sgd2hpY2ggSSBhbSBub3QgZmFtaWxpYXIgd2l0aCB5ZXQuICBkYWwgYWRkZWQg d29ya2Fyb3VuZCB0byByZXRyYWluIHRoZSBsaW5rIHRvIGxpZ2h0IGl0IGJhY2sgdXAgKGFmdGVy IHRoZSB0ZXN0IHRyYWluaW5nIGF0IGVuZCBvZiBkZXRlY3Rpb24pLgo+IAo+IFRoZSBsaW5rIHNo b3VsZCBnZXQgcmV0cmFpbmVkIGFzIHRoZSBkcml2ZXIgc2hvdWxkIGNoZWNrIHRoZSBsaW5rIHN0 YXRlIG9uIEhQRCBhbmQgcmV0cmFpbiBpZiBpdCdzIG5vdCBnb29kLiBBdCBsZWFzdCB0aGF0J3Mg d2hhdCB3ZSBkbyBpbiBpOTE1LiBPZiBjb3Vyc2UgaWYgaXQncyBub3QgdGhlIHNhbWUgZGlzcGxh eSB0aGF0IGdvdCBwbHVnZ2VkIGJhY2ssIHRoZSByZXRyYWluaW5nIG1pZ2h0IGZhaWwuIFRoZSBu ZXcgcHJvcGVydHkgY2FuIGhlbHAgd2l0aCB0aGF0IGNhc2UgYXMgdXNlcnNwYWNlIHdvdWxkIHRo ZW4gYXR0ZW1wdCBhIGZ1bGwgbW9kZXNldCBhZnRlciB0aGUgZmFpbGVkIGxpbmsgdHJhaW5pbmcu Cj4gCj4gPiAKPiA+ID5Gcm9tIHVzZXIgbW9kZSBwZXJzcGVjdGl2ZSBJIHRoaW5rIGl0IG1ha2Ug c2Vuc2UgdG8ga2VlcCBDUlRDIHJ1bm5pbmcsIHNvIHZibGFuayBpcyBzdGlsbCBnb2luZyBzbyBV TUQgaXNuJ3QgaW1wYWN0ZWQuICAgQXMgcmVnYXJkIHRvIGNvbm5lY3RvciBhbmQgZW5jb2RlciBk b2VzIGl0IG1hdHRlciBpZiBrZXJuZWwgbW9kZSBjaGFuZ2Ugc3RhdGUgd2l0aG91dCB1c2VyIG1v ZGUga25vd2luZz8gIEl0IHNlZW1zIHRvIG1lIHRob3NlIGFyZSBtb3JlIGluZm9ybWF0aW9uYWwg dG8gVU1EIGFzIFVNRCBkb2Vzbid0IGFjdCBvbiB0aGVtLgo+ID4gCj4gPiB3aW5kb3dzIGRvZXMg bm90IGtub3cgbGluayBzdGF0ZSBhbmQgYWxsIGxpbmsgbWFuYWdlbWVudCBpcyBoaWRkZW4gYmVo aW5kIGtlcm5lbCBkcml2ZXIuICAgCj4gCj4gSWYgdGhlIHVzZXIgdmlzaWJsZSBzdGF0ZSBkb2Vz bid0IGNoYW5nZSBpbiBhbnkgd2F5LCB0aGVuIHRoZSBrZXJuZWwgY291bGQgdHJ5IHRvIG1hbmFn ZSBpdCBhbGwgaW50ZXJuYWxseS4KPiAKPiA+IAo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0KPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCBbbWFpbHRvOnZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tXQo+ID4gU2VudDogRnJpZGF5LCBOb3ZlbWJlciAxMSwgMjAxNiA5OjA1IEFNCj4g PiBUbzogQ2hlbmcsIFRvbnkgPFRvbnkuQ2hlbmdAYW1kLmNvbT4KPiA+IENjOiBEZXVjaGVyLCBB bGV4YW5kZXIgPEFsZXhhbmRlci5EZXVjaGVyQGFtZC5jb20+OyAnSmFuaSBOaWt1bGEnIAo+ID4g PGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT47IE1hbmFzaSBOYXZhcmUgCj4gPiA8bWFuYXNp LmQubmF2YXJlQGludGVsLmNvbT47IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IAo+ ID4gaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgV2VudGxhbmQsIEhhcnJ5IAo+ID4g PEhhcnJ5LldlbnRsYW5kQGFtZC5jb20+OyBQZXJlcywgTWFydGluIDxtYXJ0aW4ucGVyZXNAaW50 ZWwuY29tPgo+ID4gU3ViamVjdDogUmU6IFtJbnRlbC1nZnhdIFtQQVRDSCAwLzVdIEhhbmRsZSBM aW5rIFRyYWluaW5nIEZhaWx1cmUgCj4gPiBkdXJpbmcgbW9kZXNldAo+ID4gCj4gPiBPbiBUaHUs IE5vdiAxMCwgMjAxNiBhdCAwNjo1MTo0MFBNICswMDAwLCBDaGVuZywgVG9ueSB3cm90ZToKPiA+ ID4gQW1kZ3B1IGRhbCBpbXBsZW1lbnRhdGlvbiB3aWxsIGRvIGEgdGVzdCBsaW5rIHRyYWluaW5n IGF0IGVuZCBvZiBkZXRlY3Rpb24gdG8gdmVyaWZ5IHdlIGNhbiBhY2hpZXZlIHRoZSBjYXBhYmls aXR5IHJlcG9ydGVkIGluIERQQ0QuICBXZSB0aGVuIHJlcG9ydCBtb2RlIGJhc2Ugb24gcmVzdWx0 IG9mIHRlc3QgdHJhaW5pbmcuCj4gPiA+IAo+ID4gPiBBTUQgaGFyZHdhcmUgKGF0IGxlYXN0IHRo ZSBnZW5lcmF0aW9ucyBzdXBwb3J0ZWQgYnkgYW1kZ3B1KSBpcyBhYmxlIHRvIGxpbmsgdHJhaW4g d2l0aG91dCB0aW1pbmcgYmVpbmcgc2V0dXAgKERQIGVuY29kZXIgYW5kIENSVEMgaXMgZGVjb3Vw bGVkKS4gIERvIHdlIGhhdmUgbGltaXRhdGlvbiBmcm9tIG90aGVyIHZlbmRvcnMgd2hlcmUgeW91 IG5lZWQgdGltaW5nIHRvIGJlIHRoZXJlIGJlZm9yZSB5b3UgY2FuIGxpbmsgdHJhaW4/Cj4gPiAK PiA+IEkgY2FuJ3QgcmVjYWxsIHRoZSBzcGVjaWZpY3MgZm9yIGFsbCBvZiBvdXIgc3VwcG9ydGVk IHBsYXRmb3JtcywgYnV0IGF0IGxlYXN0IEkgaGF2ZSB0aGUgcmVjb2xsZWN0aW9uIHRoYXQgaXQg d291bGQgYmUgdGhlIGNhc2UgeWVzLgo+ID4gCj4gPiBUaGUgb3RoZXIgcHJvYmxlbSB3aXloIHRo aXMgYXBwb3JhY2ggaXMgdGhhdCBldmVuIGlmIHlvdSBkb24ndCBuZWVkIHRoZSBjcnRjLCB5b3Ug c3RpbGwgbmVlZCB0aGUgbGluayBpdHNlbGYuIFdoYXQgaGFwcGVucyBpZiB0aGUgbGluayBpcyBz dGlsbCBhY3RpdmUgc2luY2UgdXNlcnNwYWNlIGp1c3QgZGlkbid0IGJvdGhlciB0byBzaHV0IGl0 IGRvd24gd2hlbiB0aGUgY2FibGUgd2FzIHlhbmtlZD8gQ2FuIHlvdSBrZWVwIHRoZSBjcnRjIGdv aW5nIGJ1dCBzdG9wIGl0IGZyb20gZmVlZGluZyB0aGUgbGluayBpbiBhIHdheSB0aGF0IHVzZXJz cGFjZSB3b24ndCBiZSBhYmxlIHRvIG5vdGljZT8gVGhlIGttcyBkZXNpZ24gaGFzIGFsd2F5cyBi ZWVuIHByZXR0eSBtdWNoIHRoYXQgcG9saWN5IGlzIGluIHVzZXJzcGFjZSwgYW5kIHRodXMgdGhl IGtlcm5lbCBzaG91bGRuJ3Qgc2h1dCBkb3duIGNydGNzIHVubGVzcyBleHBsaWNpdGx5IGFza2Vk IHRvIGRvIHNvLgo+ID4gCj4gPiA+IAo+ID4gPiBXZSBjYW4gYWxzbyBwYXN0IERQMS4yIGxpbmsg bGF5ZXIgY29tcGxpYW5jZSB3aXRoIHRoaXMgYXBwcm9hY2guCj4gPiA+IAo+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4gPiBGcm9tOiBEZXVjaGVyLCBBbGV4YW5kZXIKPiA+ID4g U2VudDogVGh1cnNkYXksIE5vdmVtYmVyIDEwLCAyMDE2IDE6NDMgUE0KPiA+ID4gVG86ICdKYW5p IE5pa3VsYScgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT47IE1hbmFzaSBOYXZhcmUgCj4g PiA+IDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPjsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZzsgCj4gPiA+IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IFdlbnRsYW5k LCBIYXJyeSAKPiA+ID4gPEhhcnJ5LldlbnRsYW5kQGFtZC5jb20+OyBDaGVuZywgVG9ueSA8VG9u eS5DaGVuZ0BhbWQuY29tPgo+ID4gPiBDYzogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAZ21haWwuY29t PjsgUGVyZXMsIE1hcnRpbiAKPiA+ID4gPG1hcnRpbi5wZXJlc0BpbnRlbC5jb20+Cj4gPiA+IFN1 YmplY3Q6IFJFOiBbSW50ZWwtZ2Z4XSBbUEFUQ0ggMC81XSBIYW5kbGUgTGluayBUcmFpbmluZyBG YWlsdXJlIAo+ID4gPiBkdXJpbmcgbW9kZXNldAo+ID4gPiAKPiA+ID4gQWRkaW5nIEhhcnJ5IGFu ZCBUb255IGZyb20gb3VyIGRpc3BsYXkgdGVhbSB0byByZXZpZXcuCj4gPiA+IAo+ID4gPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiA+ID4gRnJvbTogSmFuaSBOaWt1bGEgW21haWx0 bzpqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb21dCj4gPiA+ID4gU2VudDogVGh1cnNkYXksIE5v dmVtYmVyIDEwLCAyMDE2IDE6MjAgUE0KPiA+ID4gPiBUbzogTWFuYXNpIE5hdmFyZTsgZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgaW50ZWwtIAo+ID4gPiA+IGdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiA+ID4gPiBDYzogRGF2ZSBBaXJsaWU7IFBlcmVzLCBNYXJ0aW47IERldWNo ZXIsIEFsZXhhbmRlcgo+ID4gPiA+IFN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSBbUEFUQ0ggMC81 XSBIYW5kbGUgTGluayBUcmFpbmluZyBGYWlsdXJlIAo+ID4gPiA+IGR1cmluZyBtb2Rlc2V0Cj4g PiA+ID4gCj4gPiA+ID4gT24gVGh1LCAxMCBOb3YgMjAxNiwgTWFuYXNpIE5hdmFyZSA8bWFuYXNp LmQubmF2YXJlQGludGVsLmNvbT4gd3JvdGU6Cj4gPiA+ID4gPiBMaW5rIHRyYWluaW5nIGZhaWx1 cmUgaXMgaGFuZGxlZCBieSBsb3dlcmluZyB0aGUgbGluayByYXRlIGZpcnN0IAo+ID4gPiA+ID4g dW50aWwgaXQgcmVhY2hlcyB0aGUgbWluaW11bSBhbmQga2VlcGluZyB0aGUgbGFuZSBjb3VudCBt YXhpbXVtIAo+ID4gPiA+ID4gYW5kIHRoZW4gbG93ZXJpbmcgdGhlIGxhbmUgY291bnQgdW50aWwg aXQgcmVhY2hlcyBtaW5pbWltLiBUaGVzZSAKPiA+ID4gPiA+IGZhbGxiYWNrIHZhbHVlcyBhcmUg c2F2ZWQgYW5kIGhvdHBsdWcgdWV2ZW50IGlzIHNlbnQgdG8gdGhlIAo+ID4gPiA+ID4gdXNlcnNw YWNlIGFmdGVyIHNldHRpbmcgdGhlIGNvbm5lY3RvciBsaW5rIHN0YXR1cyBwcm9wZXJ0eSB0byBC QUQuCj4gPiA+ID4gPiBVc2Vyc3BhY2Ugc2hvdWxkIHRyaWlnZXIgYW5vdGhlciBtb2Rlc2V0IG9u IGEgdWV2ZW50IGFuZCBpZiBsaW5rIAo+ID4gPiA+ID4gc3RhdHVzIHByb3BlcnR5IGlzIEJBRC4g VGhpcyB3aWxsIHJldHJhaW4gdGhlIGxpbmsgYXQgZmFsbGJhY2sgdmFsdWVzLgo+ID4gPiA+ID4g VGhpcyBpcyByZXBlYXRlZCB1bnRpbCB0aGUgbGluayBpcyBzdWNjZXNzZnVsbHkgdHJhaW5lZC4K PiA+ID4gPiA+Cj4gPiA+ID4gPiBUaGlzIGhhcyBiZWVuIHZhbGlkYXRlZCB0byBwYXNzIERQIGNv bXBsaWFuY2UuCj4gPiA+ID4gCj4gPiA+ID4gVGhpcyBjb3ZlciBsZXR0ZXIgYW5kIHRoZSBjb21t aXQgbWVzc2FnZXMgZG8gYSBnb29kIGpvYiBvZiAKPiA+ID4gPiBleHBsYWluaW5nIHdoYXQgdGhl IHBhdGNoZXMgZG8uIEhvd2V2ZXIsIHlvdSdyZSBsYWNraW5nIHRoZSAKPiA+ID4gPiBjcnVjaWFs IGluZm9ybWF0aW9uIG9mCj4gPiA+ID4gKndoeSogd2UgbmVlZCB1c2Vyc3BhY2UgY29vcGVyYXRp b24gdG8gaGFuZGxlIGxpbmsgdHJhaW5pbmcgCj4gPiA+ID4gZmFpbHVyZXMgb24gRFAgbW9kZSBz ZXR0aW5nLCBhbmQgKndoeSogYSBuZXcgY29ubmVjdG9yIHByb3BlcnR5IGlzIAo+ID4gPiA+IGEg Z29vZCBzb2x1dGlvbiBmb3IgdGhpcy4KPiA+ID4gPiAKPiA+ID4gPiBIZXJlIGdvZXMsIGluY2x1 ZGluZyBzb21lIGFsdGVybmF0aXZlIGFwcHJvYWNoZXMgd2UndmUgY29uc2lkZXJlZCAKPiA+ID4g PiAoYW5kIGV2ZW4gdHJpZWQpOgo+ID4gPiA+IAo+ID4gPiA+IEF0IHRoZSB0aW1lIHVzZXJzcGFj ZSBkb2VzIHNldGNydGMsIHdlJ3ZlIGFscmVhZHkgcHJvbWlzZWQgdGhlIAo+ID4gPiA+IG1vZGUg d291bGQgd29yay4gVGhlIHByb21pc2UgaXMgYmFzZWQgb24gdGhlIHRoZW9yZXRpY2FsIAo+ID4g PiA+IGNhcGFiaWxpdGllcyBvZiB0aGUgbGluaywgYnV0IGl0J3MgcG9zc2libGUgd2UgY2FuJ3Qg cmVhY2ggdGhpcyBpbiAKPiA+ID4gPiBwcmFjdGljZS4gVGhlIERQIHNwZWMgZGVzY3JpYmVzIGhv dyB0aGUgbGluayBzaG91bGQgYmUgcmVkdWNlZCwgCj4gPiA+ID4gYnV0IHdlIGNhbid0IHJlZHVj ZSB0aGUgbGluayBiZWxvdyB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBtb2RlLiBCbGFjayBzY3Jl ZW4gZm9sbG93cy4KPiA+ID4gPiAKPiA+ID4gPiBPbmUgaWRlYSB3b3VsZCBiZSB0byBoYXZlIHNl dGNydGMgcmV0dXJuIGEgZmFpbHVyZS4gSG93ZXZlciwgaXQgaXMgCj4gPiA+ID4gbXkgdW5kZXJz dGFuZGluZyB0aGF0IGl0IGFscmVhZHkgc2hvdWxkIG5vdCBmYWlsIGFzIHRoZSBhdG9taWMgCj4g PiA+ID4gY2hlY2tzIGhhdmUgcGFzc2VkIFtjaXRhdGlvbiBuZWVkZWRdLiBJdCB3b3VsZCBhbHNv IGNvbmZsaWN0IHdpdGggCj4gPiA+ID4gdGhlIGlkZWEgb2YgbWFraW5nIHNldGNydGMgYXN5bmNo cm9ub3VzIGluIHRoZSBmdXR1cmUsIHJldHVybmluZyAKPiA+ID4gPiBiZWZvcmUgdGhlIGFjdHVh bCBtb2RlIHNldHRpbmcgYW5kIGxpbmsgdHJhaW5pbmcuCj4gPiA+ID4gCj4gPiA+ID4gQW5vdGhl ciBpZGVhIGlzIHRvIHRyYWluIHRoZSBsaW5rICJ1cGZyb250IiBhdCBob3RwbHVnIHRpbWUsIAo+ ID4gPiA+IGJlZm9yZSBwcnVuaW5nIHRoZSBtb2RlIGxpc3QsIHNvIHRoYXQgd2UgY2FuIGRvIHRo ZSBwcnVuaW5nIGJhc2VkIAo+ID4gPiA+IG9uIHByYWN0aWNhbCBub3QgdGhlb3JldGljYWwgY2Fw YWJpbGl0aWVzLiBIb3dldmVyLCB0aGUgY2hhbmdlcyAKPiA+ID4gPiBmb3IgbGluayB0cmFpbmlu ZyBhcmUgcHJldHR5IGRyYXN0aWMsIGFsbCBmb3IgdGhlIHNha2Ugb2YgZXJyb3IgCj4gPiA+ID4g aGFuZGxpbmcgYW5kIERQIGNvbXBsaWFuY2UsIHdoZW4gdGhlIG1vc3QgY29tbW9uIGhhcHB5IGRh eSAKPiA+ID4gPiBzY2VuYXJpbyBpcyB0aGUgY3VycmVudCBhcHByb2FjaCBvZiBsaW5rIHRyYWlu aW5nIGF0IG1vZGUgc2V0dGluZyAKPiA+ID4gPiB0aW1lLCB1c2luZyB0aGUgb3B0aW1hbCBwYXJh bWV0ZXJzIGZvciB0aGUgbW9kZS4gSXQgaXMgYWxzbyBub3QgCj4gPiA+ID4gY2VydGFpbiBhbGwg aGFyZHdhcmUgY291bGQgZG8gdGhpcyB3aXRob3V0IHRoZSBwaXBlIG9uOyBub3QgZXZlbiAKPiA+ ID4gPiBhbGwgb3VyIGhhcmR3YXJlIGNhbiBkbyB0aGlzLiBTb21lIG9mIHRoaXMgY2FuIGJlIHNv bHZlZCwgYnV0IG5vdCB0cml2aWFsbHkuCj4gPiA+ID4gCj4gPiA+ID4gQm90aCBvZiB0aGUgYWJv dmUgaWRlYXMgYWxzbyBmYWlsIHRvIGFkZHJlc3MgbGluayBkZWdyYWRhdGlvbgo+ID4gPiA+ICpk dXJpbmcqIG9wZXJhdGlvbi4KPiA+ID4gPiAKPiA+ID4gPiBTbyB0aGUgaWRlYSBwcmVzZW50ZWQg aW4gdGhlc2UgcGF0Y2hlcyBpcyB0byBkbyB0aGlzIGluIGEgd2F5IHRoYXQKPiA+ID4gPiBhKSBj aGFuZ2VzIHRoZSBjdXJyZW50IGhhcHB5IGRheSBzY2VuYXJpbyBhcyBsaXR0bGUgYXMgcG9zc2li bGUsIAo+ID4gPiA+IHRvIGF2b2lkIHJlZ3Jlc3Npb25zLCBiKSBjYW4gYmUgaW1wbGVtZW50ZWQg dGhlIHNhbWUgd2F5IGJ5IGFsbCAKPiA+ID4gPiBkcm0gZHJpdmVycywgYykgaXMgc3RpbGwgb3B0 LWluIGZvciB0aGUgZHJpdmVycyBhbmQgdXNlcnNwYWNlLCBhbmQgCj4gPiA+ID4gb3B0aW5nIG91 dCBkb2Vzbid0IHJlZ3Jlc3MgdGhlIHVzZXIgZXhwZXJpZW5jZSwgZCkgZG9lc24ndCBwcmV2ZW50 IAo+ID4gPiA+IGRyaXZlcnMgZnJvbSBpbXBsZW1lbnRpbmcgYmV0dGVyIG9yIGFsdGVybmF0ZSBh cHByb2FjaGVzLCBwb3NzaWJseSAKPiA+ID4gPiB3aXRob3V0IHVzZXJzcGFjZSBpbnZvbHZlbWVu dC4gQW5kLCBvZiBjb3Vyc2UsIGhhbmRsZXMgYWxsIHRoZSBpc3N1ZXMgcHJlc2VudGVkLgo+ID4g PiA+IAo+ID4gPiA+IFRoZSBzb2x1dGlvbiBpcyB0byBhZGQgYSAibGluayBzdGF0dXMiIGNvbm5l Y3RvciBwcm9wZXJ0eS4gSW4gdGhlIAo+ID4gPiA+IHVzdWFsIGhhcHB5IGRheSBzY2VuYXJpbywg dGhpcyBpcyBhbHdheXMgImdvb2QiLiBJZiBzb21ldGhpbmcgCj4gPiA+ID4gZmFpbHMgZHVyaW5n IG9yIGFmdGVyIGEgbW9kZSBzZXQsIHRoZSBrZXJuZWwgZHJpdmVyIGNhbiBzZXQgdGhlIAo+ID4g PiA+IGxpbmsgc3RhdHVzIHRvICJiYWQiLCBwcnVuZSB0aGUgbW9kZSBsaXN0IGJhc2VkIG9uIG5l dyBpbmZvcm1hdGlvbiAKPiA+ID4gPiBhcyBuZWNlc3NhcnksIGFuZCBzZW5kIGEgaG90cGx1ZyB1 ZXZlbnQgZm9yIHVzZXJzcGFjZSB0byBoYXZlIGl0IAo+ID4gPiA+IHJlLWNoZWNrIHRoZSB2YWxp ZCBtb2RlcyB0aHJvdWdoIGdldGNvbm5lY3RvciwgYW5kIHRyeSBhZ2Fpbi4gSWYgCj4gPiA+ID4g dGhlIHRoZW9yZXRpY2FsIGNhcGFiaWxpdGllcyBvZiB0aGUgbGluayBjYW4ndCBiZSByZWFjaGVk LCB0aGUgbW9kZSBsaXN0IGlzIHRyaW1tZWQgYmFzZWQgb24gdGhhdC4KPiA+ID4gPiAKPiA+ID4g PiBJZiB0aGUgdXNlcnNwYWNlIGlzIG5vdCBhd2FyZSBvZiB0aGUgcHJvcGVydHksIHRoZSB1c2Vy IGV4cGVyaWVuY2UgCj4gPiA+ID4gaXMgdGhlIHNhbWUgYXMgaXQgY3VycmVudGx5IGlzLiBJZiB0 aGUgdXNlcnNwYWNlIGlzIGF3YXJlIG9mIHRoZSAKPiA+ID4gPiBwcm9wZXJ0eSwgaXQgaGFzIGEg Y2hhbmNlIHRvIGltcHJvdmUgdXNlciBleHBlcmllbmNlLiBJZiBhIGRybSAKPiA+ID4gPiBkcml2 ZXIgZG9lcyBub3QgbW9kaWZ5IHRoZSBwcm9wZXJ0eSAoaXQgc3RheXMgImdvb2QiKSwgdGhlIHVz ZXIgCj4gPiA+ID4gZXhwZXJpZW5jZSBpcyB0aGUgc2FtZSBhcyBpdCBjdXJyZW50bHkgaXMuIEEg ZHJtIGRyaXZlciBjYW4gYWxzbyAKPiA+ID4gPiBjaG9vc2UgdG8gdHJ5IHRvIGhhbmRsZSBtb3Jl IG9mIHRoZSBmYWlsdXJlcyBpbiBrZXJuZWwsIGhhcmR3YXJlIAo+ID4gPiA+IG5vdCBsaW1pdGlu Zywgb3IgaXQgY2FuIGNob29zZSB0byBpbnZvbHZlIHVzZXJzcGFjZSBtb3JlLiBVcCB0byB0aGUg ZHJpdmVycy4KPiA+ID4gPiAKPiA+ID4gPiBUaGUgcmVhc29uIGZvciBhZGRpbmcgdGhlIHByb3Bl cnR5IGlzIHRvIGhhbmRsZSBsaW5rIHRyYWluaW5nIAo+ID4gPiA+IGZhaWx1cmVzLCBidXQgaXQg aXMgbm90IGxpbWl0ZWQgdG8gRFAgb3IgbGluayB0cmFpbmluZy4gRm9yIAo+ID4gPiA+IGV4YW1w bGUsIGlmIHdlIGltcGxlbWVudCBhc3luY2hyb25vdXMgc2V0Y3J0Yywgd2UgY2FuIHVzZSB0aGlz IHRvIAo+ID4gPiA+IHJlcG9ydCBhbnkgZmFpbHVyZXMgaW4gdGhhdC4KPiA+ID4gPiAKPiA+ID4g PiBGaW5hbGx5LCB3aGlsZSBEUCBDVFMgY29tcGxpYW5jZSBpcyBhZHZlcnRpemVkICh3aGljaCBp cyBncmVhdCwgCj4gPiA+ID4gYW5kIGNvdWxkIGJlIG1hZGUgdG8gd29yayBzaW1pbGFybHkgZm9y IGFsbCBkcm0gZHJpdmVycyksIHRoaXMgY2FuIAo+ID4gPiA+IGJlIHVzZWQgZm9yIHRoZSBtb3Jl IGltcG9ydGFudCBnb2FsIG9mIGltcHJvdmluZyB1c2VyIGV4cGVyaWVuY2UgCj4gPiA+ID4gb24g bGluayB0cmFpbmluZyBmYWlsdXJlcywgYnkgYXZvaWRpbmcgYmxhY2sgc2NyZWVucy4KPiA+ID4g PiAKPiA+ID4gPiAKPiA+ID4gPiBCUiwKPiA+ID4gPiBKYW5pLgo+ID4gPiA+IAo+ID4gPiA+IAo+ ID4gPiA+ID4KPiA+ID4gPiA+IE1hbmFzaSBOYXZhcmUgKDUpOgo+ID4gPiA+ID4gICBkcm06IEFk ZCBhIG5ldyBjb25uZWN0b3IgcHJvcGVydHkgZm9yIGxpbmsgc3RhdHVzCj4gPiA+ID4gPiAgIGRy bS9pOTE1OiBTZXQgbGluayBzdGF0dXMgcHJvcGVydHkgZm9yIERQIGNvbm5lY3Rvcgo+ID4gPiA+ ID4gICBkcm0vaTkxNTogVXBkYXRlIENSVEMgc3RhdGUgaWYgY29ubmVjdG9yIGxpbmsgc3RhdHVz IHByb3BlcnR5IAo+ID4gPiA+ID4gY2hhbmdlZAo+ID4gPiA+ICAgICBeXl5eXl5eXgo+ID4gPiA+ IAo+ID4gPiA+IFRoaXMgaXMgcmVhbGx5IGRybSwgbm90IGk5MTUuCj4gPiA+ID4gCj4gPiA+ID4g Cj4gPiA+ID4gPiAgIGRybS9pOTE1OiBGaW5kIGZhbGxiYWNrIGxpbmsgcmF0ZS9sYW5lIGNvdW50 Cj4gPiA+ID4gPiAgIGRybS9pOTE1OiBJbXBsZW1lbnQgTGluayBSYXRlIGZhbGxiYWNrIG9uIExp bmsgdHJhaW5pbmcgCj4gPiA+ID4gPiBmYWlsdXJlCj4gPiA+ID4gPgo+ID4gPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICAgICAgICAgICB8ICAgNyArKwo+ID4gPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAgICAgICAgICAgICB8ICAxNyAr KysrCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgICAg ICAgIHwgIDIxICsrKy0KPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j ICAgICAgICAgICAgICAgfCAxMzgKPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrLQo+ ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyB8 ICAxMiArKy0KPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAg ICAgICAgICAgfCAgMTIgKystCj4gPiA+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5o ICAgICAgICAgICAgICAgICAgIHwgICA3ICstCj4gPiA+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX2Ny dGMuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICsKPiA+ID4gPiA+ICBpbmNsdWRlL3Vh cGkvZHJtL2RybV9tb2RlLmggICAgICAgICAgICAgICAgICAgfCAgIDQgKwo+ID4gPiA+ID4gIDkg ZmlsZXMgY2hhbmdlZCwgMjE0IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4gPiA+ID4g Cj4gPiA+ID4gLS0KPiA+ID4gPiBKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5v bG9neSBDZW50ZXIKPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gPiBJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gPiAKPiA+IC0tCj4gPiBWaWxsZSBTeXJqw6Rsw6QK PiA+IEludGVsIE9UQwo+IAo+IC0tCj4gVmlsbGUgU3lyasOkbMOkCj4gSW50ZWwgT1RDCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=