From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Cheng, Tony" Subject: Re: [PATCH 0/5] Handle Link Training Failure during modeset Date: Fri, 11 Nov 2016 16:21:58 +0000 Message-ID: References: <1478752928-17719-1-git-send-email-manasi.d.navare@intel.com> <874m3f5ha4.fsf@intel.com> <20161111140504.GH31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161111140504.GH31595@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" , "Peres, Martin" , "dri-devel@lists.freedesktop.org" , "Deucher, Alexander" , "Wentland, Harry" List-Id: dri-devel@lists.freedesktop.org Rm9yIEhETUksIHlvdSBjYW4geWFuayB0aGUgY2FibGUsIHBsdWcgYmFjayBpbiwgSERNSSB3aWxs IGxpZ2h0IHVwIHdpdGhvdXQgdXNlciBtb2RlIG9yIGtlcm5lbCBtb2RlIGRvaW5nIGFueXRoaW5n LgoKRm9yIERQIHRoaXMgaXMgbm90IHBvc3NpYmxlLCBzb21lb25lIHdpbGwgaGF2ZSB0byByZXRy YWluIHRoZSBsaW5rIHdoZW4gcGx1Z2dpbmcgYmFjayBpbiBvciBEUCB3aWxsIG5vdCBsaWdodCB1 cC4gIFdlIHNlZSB0aGF0IG9uIFVidW50dSBpZiBzb21lb25lIHVucGx1ZyBkaXNwbGF5IGFuZCBw bHVnIGl0IGJhY2sgaW50byBzYW1lIGNvbm5lY3Rvciwgd2UgZG8gbm90IGdldCBLTVMgc28gaW4g dGhpcyBjYXNlLiAgSXQgYXBwZWFycyB0aGVyZSBpcyBzb21lIG9wdGltaXphdGlvbnMgc29tZXdo ZXJlIGluIHVzZXIgbW9kZSBzdGFjayB3aGljaCBJIGFtIG5vdCBmYW1pbGlhciB3aXRoIHlldC4g IGRhbCBhZGRlZCB3b3JrYXJvdW5kIHRvIHJldHJhaW4gdGhlIGxpbmsgdG8gbGlnaHQgaXQgYmFj ayB1cCAoYWZ0ZXIgdGhlIHRlc3QgdHJhaW5pbmcgYXQgZW5kIG9mIGRldGVjdGlvbikuCgpGcm9t IHVzZXIgbW9kZSBwZXJzcGVjdGl2ZSBJIHRoaW5rIGl0IG1ha2Ugc2Vuc2UgdG8ga2VlcCBDUlRD IHJ1bm5pbmcsIHNvIHZibGFuayBpcyBzdGlsbCBnb2luZyBzbyBVTUQgaXNuJ3QgaW1wYWN0ZWQu ICAgQXMgcmVnYXJkIHRvIGNvbm5lY3RvciBhbmQgZW5jb2RlciBkb2VzIGl0IG1hdHRlciBpZiBr ZXJuZWwgbW9kZSBjaGFuZ2Ugc3RhdGUgd2l0aG91dCB1c2VyIG1vZGUga25vd2luZz8gIEl0IHNl ZW1zIHRvIG1lIHRob3NlIGFyZSBtb3JlIGluZm9ybWF0aW9uYWwgdG8gVU1EIGFzIFVNRCBkb2Vz bid0IGFjdCBvbiB0aGVtLgoKd2luZG93cyBkb2VzIG5vdCBrbm93IGxpbmsgc3RhdGUgYW5kIGFs bCBsaW5rIG1hbmFnZW1lbnQgaXMgaGlkZGVuIGJlaGluZCBrZXJuZWwgZHJpdmVyLiAgIAoKLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KRnJvbTogVmlsbGUgU3lyasOkbMOkIFttYWlsdG86dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb21dIApTZW50OiBGcmlkYXksIE5vdmVtYmVyIDExLCAy MDE2IDk6MDUgQU0KVG86IENoZW5nLCBUb255IDxUb255LkNoZW5nQGFtZC5jb20+CkNjOiBEZXVj aGVyLCBBbGV4YW5kZXIgPEFsZXhhbmRlci5EZXVjaGVyQGFtZC5jb20+OyAnSmFuaSBOaWt1bGEn IDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+OyBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5u YXZhcmVAaW50ZWwuY29tPjsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgaW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgV2VudGxhbmQsIEhhcnJ5IDxIYXJyeS5XZW50bGFu ZEBhbWQuY29tPjsgUGVyZXMsIE1hcnRpbiA8bWFydGluLnBlcmVzQGludGVsLmNvbT4KU3ViamVj dDogUmU6IFtJbnRlbC1nZnhdIFtQQVRDSCAwLzVdIEhhbmRsZSBMaW5rIFRyYWluaW5nIEZhaWx1 cmUgZHVyaW5nIG1vZGVzZXQKCk9uIFRodSwgTm92IDEwLCAyMDE2IGF0IDA2OjUxOjQwUE0gKzAw MDAsIENoZW5nLCBUb255IHdyb3RlOgo+IEFtZGdwdSBkYWwgaW1wbGVtZW50YXRpb24gd2lsbCBk byBhIHRlc3QgbGluayB0cmFpbmluZyBhdCBlbmQgb2YgZGV0ZWN0aW9uIHRvIHZlcmlmeSB3ZSBj YW4gYWNoaWV2ZSB0aGUgY2FwYWJpbGl0eSByZXBvcnRlZCBpbiBEUENELiAgV2UgdGhlbiByZXBv cnQgbW9kZSBiYXNlIG9uIHJlc3VsdCBvZiB0ZXN0IHRyYWluaW5nLgo+IAo+IEFNRCBoYXJkd2Fy ZSAoYXQgbGVhc3QgdGhlIGdlbmVyYXRpb25zIHN1cHBvcnRlZCBieSBhbWRncHUpIGlzIGFibGUg dG8gbGluayB0cmFpbiB3aXRob3V0IHRpbWluZyBiZWluZyBzZXR1cCAoRFAgZW5jb2RlciBhbmQg Q1JUQyBpcyBkZWNvdXBsZWQpLiAgRG8gd2UgaGF2ZSBsaW1pdGF0aW9uIGZyb20gb3RoZXIgdmVu ZG9ycyB3aGVyZSB5b3UgbmVlZCB0aW1pbmcgdG8gYmUgdGhlcmUgYmVmb3JlIHlvdSBjYW4gbGlu ayB0cmFpbj8KCkkgY2FuJ3QgcmVjYWxsIHRoZSBzcGVjaWZpY3MgZm9yIGFsbCBvZiBvdXIgc3Vw cG9ydGVkIHBsYXRmb3JtcywgYnV0IGF0IGxlYXN0IEkgaGF2ZSB0aGUgcmVjb2xsZWN0aW9uIHRo YXQgaXQgd291bGQgYmUgdGhlIGNhc2UgeWVzLgoKVGhlIG90aGVyIHByb2JsZW0gd2l5aCB0aGlz IGFwcG9yYWNoIGlzIHRoYXQgZXZlbiBpZiB5b3UgZG9uJ3QgbmVlZCB0aGUgY3J0YywgeW91IHN0 aWxsIG5lZWQgdGhlIGxpbmsgaXRzZWxmLiBXaGF0IGhhcHBlbnMgaWYgdGhlIGxpbmsgaXMgc3Rp bGwgYWN0aXZlIHNpbmNlIHVzZXJzcGFjZSBqdXN0IGRpZG4ndCBib3RoZXIgdG8gc2h1dCBpdCBk b3duIHdoZW4gdGhlIGNhYmxlIHdhcyB5YW5rZWQ/IENhbiB5b3Uga2VlcCB0aGUgY3J0YyBnb2lu ZyBidXQgc3RvcCBpdCBmcm9tIGZlZWRpbmcgdGhlIGxpbmsgaW4gYSB3YXkgdGhhdCB1c2Vyc3Bh Y2Ugd29uJ3QgYmUgYWJsZSB0byBub3RpY2U/IFRoZSBrbXMgZGVzaWduIGhhcyBhbHdheXMgYmVl biBwcmV0dHkgbXVjaCB0aGF0IHBvbGljeSBpcyBpbiB1c2Vyc3BhY2UsIGFuZCB0aHVzIHRoZSBr ZXJuZWwgc2hvdWxkbid0IHNodXQgZG93biBjcnRjcyB1bmxlc3MgZXhwbGljaXRseSBhc2tlZCB0 byBkbyBzby4KCj4gCj4gV2UgY2FuIGFsc28gcGFzdCBEUDEuMiBsaW5rIGxheWVyIGNvbXBsaWFu Y2Ugd2l0aCB0aGlzIGFwcHJvYWNoLgo+IAo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4g RnJvbTogRGV1Y2hlciwgQWxleGFuZGVyCj4gU2VudDogVGh1cnNkYXksIE5vdmVtYmVyIDEwLCAy MDE2IDE6NDMgUE0KPiBUbzogJ0phbmkgTmlrdWxhJyA8amFuaS5uaWt1bGFAbGludXguaW50ZWwu Y29tPjsgTWFuYXNpIE5hdmFyZSAKPiA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT47IGRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IAo+IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmc7IFdlbnRsYW5kLCBIYXJyeSAKPiA8SGFycnkuV2VudGxhbmRAYW1kLmNvbT47IENoZW5n LCBUb255IDxUb255LkNoZW5nQGFtZC5jb20+Cj4gQ2M6IERhdmUgQWlybGllIDxhaXJsaWVkQGdt YWlsLmNvbT47IFBlcmVzLCBNYXJ0aW4gCj4gPG1hcnRpbi5wZXJlc0BpbnRlbC5jb20+Cj4gU3Vi amVjdDogUkU6IFtJbnRlbC1nZnhdIFtQQVRDSCAwLzVdIEhhbmRsZSBMaW5rIFRyYWluaW5nIEZh aWx1cmUgCj4gZHVyaW5nIG1vZGVzZXQKPiAKPiBBZGRpbmcgSGFycnkgYW5kIFRvbnkgZnJvbSBv dXIgZGlzcGxheSB0ZWFtIHRvIHJldmlldy4KPiAKPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tCj4gPiBGcm9tOiBKYW5pIE5pa3VsYSBbbWFpbHRvOmphbmkubmlrdWxhQGxpbnV4LmludGVs LmNvbV0KPiA+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciAxMCwgMjAxNiAxOjIwIFBNCj4gPiBU bzogTWFuYXNpIE5hdmFyZTsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgaW50ZWwt IAo+ID4gZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gQ2M6IERhdmUgQWlybGllOyBQZXJl cywgTWFydGluOyBEZXVjaGVyLCBBbGV4YW5kZXIKPiA+IFN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4 XSBbUEFUQ0ggMC81XSBIYW5kbGUgTGluayBUcmFpbmluZyBGYWlsdXJlIAo+ID4gZHVyaW5nIG1v ZGVzZXQKPiA+IAo+ID4gT24gVGh1LCAxMCBOb3YgMjAxNiwgTWFuYXNpIE5hdmFyZSA8bWFuYXNp LmQubmF2YXJlQGludGVsLmNvbT4gd3JvdGU6Cj4gPiA+IExpbmsgdHJhaW5pbmcgZmFpbHVyZSBp cyBoYW5kbGVkIGJ5IGxvd2VyaW5nIHRoZSBsaW5rIHJhdGUgZmlyc3QgCj4gPiA+IHVudGlsIGl0 IHJlYWNoZXMgdGhlIG1pbmltdW0gYW5kIGtlZXBpbmcgdGhlIGxhbmUgY291bnQgbWF4aW11bSAK PiA+ID4gYW5kIHRoZW4gbG93ZXJpbmcgdGhlIGxhbmUgY291bnQgdW50aWwgaXQgcmVhY2hlcyBt aW5pbWltLiBUaGVzZSAKPiA+ID4gZmFsbGJhY2sgdmFsdWVzIGFyZSBzYXZlZCBhbmQgaG90cGx1 ZyB1ZXZlbnQgaXMgc2VudCB0byB0aGUgCj4gPiA+IHVzZXJzcGFjZSBhZnRlciBzZXR0aW5nIHRo ZSBjb25uZWN0b3IgbGluayBzdGF0dXMgcHJvcGVydHkgdG8gQkFELgo+ID4gPiBVc2Vyc3BhY2Ug c2hvdWxkIHRyaWlnZXIgYW5vdGhlciBtb2Rlc2V0IG9uIGEgdWV2ZW50IGFuZCBpZiBsaW5rIAo+ ID4gPiBzdGF0dXMgcHJvcGVydHkgaXMgQkFELiBUaGlzIHdpbGwgcmV0cmFpbiB0aGUgbGluayBh dCBmYWxsYmFjayB2YWx1ZXMuCj4gPiA+IFRoaXMgaXMgcmVwZWF0ZWQgdW50aWwgdGhlIGxpbmsg aXMgc3VjY2Vzc2Z1bGx5IHRyYWluZWQuCj4gPiA+Cj4gPiA+IFRoaXMgaGFzIGJlZW4gdmFsaWRh dGVkIHRvIHBhc3MgRFAgY29tcGxpYW5jZS4KPiA+IAo+ID4gVGhpcyBjb3ZlciBsZXR0ZXIgYW5k IHRoZSBjb21taXQgbWVzc2FnZXMgZG8gYSBnb29kIGpvYiBvZiAKPiA+IGV4cGxhaW5pbmcgd2hh dCB0aGUgcGF0Y2hlcyBkby4gSG93ZXZlciwgeW91J3JlIGxhY2tpbmcgdGhlIGNydWNpYWwgCj4g PiBpbmZvcm1hdGlvbiBvZgo+ID4gKndoeSogd2UgbmVlZCB1c2Vyc3BhY2UgY29vcGVyYXRpb24g dG8gaGFuZGxlIGxpbmsgdHJhaW5pbmcgZmFpbHVyZXMgCj4gPiBvbiBEUCBtb2RlIHNldHRpbmcs IGFuZCAqd2h5KiBhIG5ldyBjb25uZWN0b3IgcHJvcGVydHkgaXMgYSBnb29kIAo+ID4gc29sdXRp b24gZm9yIHRoaXMuCj4gPiAKPiA+IEhlcmUgZ29lcywgaW5jbHVkaW5nIHNvbWUgYWx0ZXJuYXRp dmUgYXBwcm9hY2hlcyB3ZSd2ZSBjb25zaWRlcmVkIAo+ID4gKGFuZCBldmVuIHRyaWVkKToKPiA+ IAo+ID4gQXQgdGhlIHRpbWUgdXNlcnNwYWNlIGRvZXMgc2V0Y3J0Yywgd2UndmUgYWxyZWFkeSBw cm9taXNlZCB0aGUgbW9kZSAKPiA+IHdvdWxkIHdvcmsuIFRoZSBwcm9taXNlIGlzIGJhc2VkIG9u IHRoZSB0aGVvcmV0aWNhbCBjYXBhYmlsaXRpZXMgb2YgCj4gPiB0aGUgbGluaywgYnV0IGl0J3Mg cG9zc2libGUgd2UgY2FuJ3QgcmVhY2ggdGhpcyBpbiBwcmFjdGljZS4gVGhlIERQIAo+ID4gc3Bl YyBkZXNjcmliZXMgaG93IHRoZSBsaW5rIHNob3VsZCBiZSByZWR1Y2VkLCBidXQgd2UgY2FuJ3Qg cmVkdWNlIAo+ID4gdGhlIGxpbmsgYmVsb3cgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgbW9kZS4g QmxhY2sgc2NyZWVuIGZvbGxvd3MuCj4gPiAKPiA+IE9uZSBpZGVhIHdvdWxkIGJlIHRvIGhhdmUg c2V0Y3J0YyByZXR1cm4gYSBmYWlsdXJlLiBIb3dldmVyLCBpdCBpcyAKPiA+IG15IHVuZGVyc3Rh bmRpbmcgdGhhdCBpdCBhbHJlYWR5IHNob3VsZCBub3QgZmFpbCBhcyB0aGUgYXRvbWljIAo+ID4g Y2hlY2tzIGhhdmUgcGFzc2VkIFtjaXRhdGlvbiBuZWVkZWRdLiBJdCB3b3VsZCBhbHNvIGNvbmZs aWN0IHdpdGggCj4gPiB0aGUgaWRlYSBvZiBtYWtpbmcgc2V0Y3J0YyBhc3luY2hyb25vdXMgaW4g dGhlIGZ1dHVyZSwgcmV0dXJuaW5nIAo+ID4gYmVmb3JlIHRoZSBhY3R1YWwgbW9kZSBzZXR0aW5n IGFuZCBsaW5rIHRyYWluaW5nLgo+ID4gCj4gPiBBbm90aGVyIGlkZWEgaXMgdG8gdHJhaW4gdGhl IGxpbmsgInVwZnJvbnQiIGF0IGhvdHBsdWcgdGltZSwgYmVmb3JlIAo+ID4gcHJ1bmluZyB0aGUg bW9kZSBsaXN0LCBzbyB0aGF0IHdlIGNhbiBkbyB0aGUgcHJ1bmluZyBiYXNlZCBvbiAKPiA+IHBy YWN0aWNhbCBub3QgdGhlb3JldGljYWwgY2FwYWJpbGl0aWVzLiBIb3dldmVyLCB0aGUgY2hhbmdl cyBmb3IgCj4gPiBsaW5rIHRyYWluaW5nIGFyZSBwcmV0dHkgZHJhc3RpYywgYWxsIGZvciB0aGUg c2FrZSBvZiBlcnJvciBoYW5kbGluZyAKPiA+IGFuZCBEUCBjb21wbGlhbmNlLCB3aGVuIHRoZSBt b3N0IGNvbW1vbiBoYXBweSBkYXkgc2NlbmFyaW8gaXMgdGhlIAo+ID4gY3VycmVudCBhcHByb2Fj aCBvZiBsaW5rIHRyYWluaW5nIGF0IG1vZGUgc2V0dGluZyB0aW1lLCB1c2luZyB0aGUgCj4gPiBv cHRpbWFsIHBhcmFtZXRlcnMgZm9yIHRoZSBtb2RlLiBJdCBpcyBhbHNvIG5vdCBjZXJ0YWluIGFs bCBoYXJkd2FyZSAKPiA+IGNvdWxkIGRvIHRoaXMgd2l0aG91dCB0aGUgcGlwZSBvbjsgbm90IGV2 ZW4gYWxsIG91ciBoYXJkd2FyZSBjYW4gZG8gCj4gPiB0aGlzLiBTb21lIG9mIHRoaXMgY2FuIGJl IHNvbHZlZCwgYnV0IG5vdCB0cml2aWFsbHkuCj4gPiAKPiA+IEJvdGggb2YgdGhlIGFib3ZlIGlk ZWFzIGFsc28gZmFpbCB0byBhZGRyZXNzIGxpbmsgZGVncmFkYXRpb24gCj4gPiAqZHVyaW5nKiBv cGVyYXRpb24uCj4gPiAKPiA+IFNvIHRoZSBpZGVhIHByZXNlbnRlZCBpbiB0aGVzZSBwYXRjaGVz IGlzIHRvIGRvIHRoaXMgaW4gYSB3YXkgdGhhdCAKPiA+IGEpIGNoYW5nZXMgdGhlIGN1cnJlbnQg aGFwcHkgZGF5IHNjZW5hcmlvIGFzIGxpdHRsZSBhcyBwb3NzaWJsZSwgdG8gCj4gPiBhdm9pZCBy ZWdyZXNzaW9ucywgYikgY2FuIGJlIGltcGxlbWVudGVkIHRoZSBzYW1lIHdheSBieSBhbGwgZHJt IAo+ID4gZHJpdmVycywgYykgaXMgc3RpbGwgb3B0LWluIGZvciB0aGUgZHJpdmVycyBhbmQgdXNl cnNwYWNlLCBhbmQgCj4gPiBvcHRpbmcgb3V0IGRvZXNuJ3QgcmVncmVzcyB0aGUgdXNlciBleHBl cmllbmNlLCBkKSBkb2Vzbid0IHByZXZlbnQgCj4gPiBkcml2ZXJzIGZyb20gaW1wbGVtZW50aW5n IGJldHRlciBvciBhbHRlcm5hdGUgYXBwcm9hY2hlcywgcG9zc2libHkgCj4gPiB3aXRob3V0IHVz ZXJzcGFjZSBpbnZvbHZlbWVudC4gQW5kLCBvZiBjb3Vyc2UsIGhhbmRsZXMgYWxsIHRoZSBpc3N1 ZXMgcHJlc2VudGVkLgo+ID4gCj4gPiBUaGUgc29sdXRpb24gaXMgdG8gYWRkIGEgImxpbmsgc3Rh dHVzIiBjb25uZWN0b3IgcHJvcGVydHkuIEluIHRoZSAKPiA+IHVzdWFsIGhhcHB5IGRheSBzY2Vu YXJpbywgdGhpcyBpcyBhbHdheXMgImdvb2QiLiBJZiBzb21ldGhpbmcgZmFpbHMgCj4gPiBkdXJp bmcgb3IgYWZ0ZXIgYSBtb2RlIHNldCwgdGhlIGtlcm5lbCBkcml2ZXIgY2FuIHNldCB0aGUgbGlu ayAKPiA+IHN0YXR1cyB0byAiYmFkIiwgcHJ1bmUgdGhlIG1vZGUgbGlzdCBiYXNlZCBvbiBuZXcg aW5mb3JtYXRpb24gYXMgCj4gPiBuZWNlc3NhcnksIGFuZCBzZW5kIGEgaG90cGx1ZyB1ZXZlbnQg Zm9yIHVzZXJzcGFjZSB0byBoYXZlIGl0IAo+ID4gcmUtY2hlY2sgdGhlIHZhbGlkIG1vZGVzIHRo cm91Z2ggZ2V0Y29ubmVjdG9yLCBhbmQgdHJ5IGFnYWluLiBJZiB0aGUgCj4gPiB0aGVvcmV0aWNh bCBjYXBhYmlsaXRpZXMgb2YgdGhlIGxpbmsgY2FuJ3QgYmUgcmVhY2hlZCwgdGhlIG1vZGUgbGlz dCBpcyB0cmltbWVkIGJhc2VkIG9uIHRoYXQuCj4gPiAKPiA+IElmIHRoZSB1c2Vyc3BhY2UgaXMg bm90IGF3YXJlIG9mIHRoZSBwcm9wZXJ0eSwgdGhlIHVzZXIgZXhwZXJpZW5jZSAKPiA+IGlzIHRo ZSBzYW1lIGFzIGl0IGN1cnJlbnRseSBpcy4gSWYgdGhlIHVzZXJzcGFjZSBpcyBhd2FyZSBvZiB0 aGUgCj4gPiBwcm9wZXJ0eSwgaXQgaGFzIGEgY2hhbmNlIHRvIGltcHJvdmUgdXNlciBleHBlcmll bmNlLiBJZiBhIGRybSAKPiA+IGRyaXZlciBkb2VzIG5vdCBtb2RpZnkgdGhlIHByb3BlcnR5IChp dCBzdGF5cyAiZ29vZCIpLCB0aGUgdXNlciAKPiA+IGV4cGVyaWVuY2UgaXMgdGhlIHNhbWUgYXMg aXQgY3VycmVudGx5IGlzLiBBIGRybSBkcml2ZXIgY2FuIGFsc28gCj4gPiBjaG9vc2UgdG8gdHJ5 IHRvIGhhbmRsZSBtb3JlIG9mIHRoZSBmYWlsdXJlcyBpbiBrZXJuZWwsIGhhcmR3YXJlIG5vdCAK PiA+IGxpbWl0aW5nLCBvciBpdCBjYW4gY2hvb3NlIHRvIGludm9sdmUgdXNlcnNwYWNlIG1vcmUu IFVwIHRvIHRoZSBkcml2ZXJzLgo+ID4gCj4gPiBUaGUgcmVhc29uIGZvciBhZGRpbmcgdGhlIHBy b3BlcnR5IGlzIHRvIGhhbmRsZSBsaW5rIHRyYWluaW5nIAo+ID4gZmFpbHVyZXMsIGJ1dCBpdCBp cyBub3QgbGltaXRlZCB0byBEUCBvciBsaW5rIHRyYWluaW5nLiBGb3IgZXhhbXBsZSwgCj4gPiBp ZiB3ZSBpbXBsZW1lbnQgYXN5bmNocm9ub3VzIHNldGNydGMsIHdlIGNhbiB1c2UgdGhpcyB0byBy ZXBvcnQgYW55IAo+ID4gZmFpbHVyZXMgaW4gdGhhdC4KPiA+IAo+ID4gRmluYWxseSwgd2hpbGUg RFAgQ1RTIGNvbXBsaWFuY2UgaXMgYWR2ZXJ0aXplZCAod2hpY2ggaXMgZ3JlYXQsIGFuZCAKPiA+ IGNvdWxkIGJlIG1hZGUgdG8gd29yayBzaW1pbGFybHkgZm9yIGFsbCBkcm0gZHJpdmVycyksIHRo aXMgY2FuIGJlIAo+ID4gdXNlZCBmb3IgdGhlIG1vcmUgaW1wb3J0YW50IGdvYWwgb2YgaW1wcm92 aW5nIHVzZXIgZXhwZXJpZW5jZSBvbiAKPiA+IGxpbmsgdHJhaW5pbmcgZmFpbHVyZXMsIGJ5IGF2 b2lkaW5nIGJsYWNrIHNjcmVlbnMuCj4gPiAKPiA+IAo+ID4gQlIsCj4gPiBKYW5pLgo+ID4gCj4g PiAKPiA+ID4KPiA+ID4gTWFuYXNpIE5hdmFyZSAoNSk6Cj4gPiA+ICAgZHJtOiBBZGQgYSBuZXcg Y29ubmVjdG9yIHByb3BlcnR5IGZvciBsaW5rIHN0YXR1cwo+ID4gPiAgIGRybS9pOTE1OiBTZXQg bGluayBzdGF0dXMgcHJvcGVydHkgZm9yIERQIGNvbm5lY3Rvcgo+ID4gPiAgIGRybS9pOTE1OiBV cGRhdGUgQ1JUQyBzdGF0ZSBpZiBjb25uZWN0b3IgbGluayBzdGF0dXMgcHJvcGVydHkgCj4gPiA+ IGNoYW5nZWQKPiA+ICAgICBeXl5eXl5eXgo+ID4gCj4gPiBUaGlzIGlzIHJlYWxseSBkcm0sIG5v dCBpOTE1Lgo+ID4gCj4gPiAKPiA+ID4gICBkcm0vaTkxNTogRmluZCBmYWxsYmFjayBsaW5rIHJh dGUvbGFuZSBjb3VudAo+ID4gPiAgIGRybS9pOTE1OiBJbXBsZW1lbnQgTGluayBSYXRlIGZhbGxi YWNrIG9uIExpbmsgdHJhaW5pbmcgZmFpbHVyZQo+ID4gPgo+ID4gPiAgZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfaGVscGVyLmMgICAgICAgICAgIHwgICA3ICsrCj4gPiA+ICBkcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgICAgICAgICAgICAgfCAgMTcgKysrKwo+ID4gPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgICAgICAgIHwgIDIxICsrKy0KPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICAgICAgICAgICB8IDEzOAo+ ID4gKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyB8ICAxMiArKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgICAgICB8ICAxMiArKy0KPiA+ID4gIGluY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgICAgICAgICAgICB8ICAgNyArLQo+ID4gPiAgaW5j bHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICsKPiA+ID4g IGluY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCAgICAgICAgICAgICAgICAgICB8ICAgNCArCj4g PiA+ICA5IGZpbGVzIGNoYW5nZWQsIDIxNCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQo+ ID4gCj4gPiAtLQo+ID4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kg Q2VudGVyCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4CgotLQpWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=