From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [Intel-gfx] [PATCH 0/5] Handle Link Training Failure during modeset Date: Mon, 14 Nov 2016 09:51:44 -0800 Message-ID: <20161114175143.GA26414@intel.com> References: <874m3f5ha4.fsf@intel.com> <20161111140504.GH31595@intel.com> <20161111164340.GL31595@intel.com> <20161114074301.GA25692@intel.com> <20161114080406.oiwbvjifrxrvpm6z@phenom.ffwll.local> 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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Cheng, Tony" Cc: "intel-gfx@lists.freedesktop.org" , "Peres, Martin" , "dri-devel@lists.freedesktop.org" , "Deucher, Alexander" List-Id: dri-devel@lists.freedesktop.org WWVzIGRyaXZlciBjYW4gY2hvc2UgdG8gaGF2ZSB0aGUgcHJlIHRyYWluIGZvciBrZXJuZWwgaGlk aW5nIHVuc3VwcG9ydGVkIG1vZGUsIHRoYXQgaXMgY29tcGxldGVseSBzdGlsbCBwb3NzaWJsZSBm b3IgdGhlIGFtZCBkcml2ZXIgYW5kIGl0IHdvdWxkIG5ldmVyIHVzZSB0aGUgbGlua19zdGF0dXMg Y29ubmVjdG9yIHByb3BlcnR5IGFuZCBubyBpbnRlcmFjdGlvbiB3aXRoIHVzZXJzcGFjZS4KQ291 bGQgeW91IHBsZWFzZSBnaXZlIHlvdXIgQUNLcyBmb3IgdGhlIHBhdGNoZXMgaWYgeW91IGFyZSBv a2F5IHdpdGggdGhpcyBwb3Jwb3NhbD8KClJlZ2FyZHMKTWFuYXNpCgoKCk9uIE1vbiwgTm92IDE0 LCAyMDE2IGF0IDAyOjQ1OjU1UE0gKzAwMDAsIENoZW5nLCBUb255IHdyb3RlOgo+IEkgc2VlLiAg QXMgbG9uZyBhcyBhbWQgY2FuIHN0aWxsIGp1c3QgaGF2ZSBrZXJuZWwgaGlkaW5nIHVuc3VwcG9y dGVkIG1vZGUgYnkgZG9pbmcgYSBwcmUtdHJhaW4gSSBhbSBva2F5IHdpdGggdGhlIHByb3Bvc2Fs LiAgSnVzdCB0byBjYXV0aW9uIHlvdSB0aGUgbGluayB0cmFpbmluZyBmYWxsYmFjayB3ZSBpbXBs ZW1lbnRlZCBvbiB3aW5kb3dzIGluIG9sZCBkYWwgYXJjaGl0ZWN0dXJlIGlzIHZlcnkgcGFpbmZ1 bCB0byBnZXQgcmlnaHQuICBXaW5kb3dzIDcsIDguMSBhbmQgMTAgYWxsIGJlaGF2ZSBkaWZmZXJl bnRseS4gIE5vdCBhbGwgYXBwcyBoYW5kbGVzIG1vZGUgY2hhbmdlIGZhaWx1cmUgZ3JhY2VmdWxs eSBhbmQgd29yc2UgY2FzZSB3ZSBnZXQgc3R1Y2sgaW4gaW5maW5pdGUgbW9kZSBzZXQuICBUaGlz IGlzIHdoeSBmb3IgZnV0dXJlIGdlbmVyYXRpb25zIGFzaWMgb24gd2luZG93cyB3ZSBhcmUgYWxz byBnb2luZyB0byBqdXN0IGhpZGUgdW5zdXBwb3J0ZWQgbW9kZSBieSBkb2luZyBwcmUtdHJhaW4u Cj4gCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiBGcm9tOiBEYW5pZWwgVmV0dGVyIFtt YWlsdG86ZGFuaWVsLnZldHRlckBmZndsbC5jaF0gT24gQmVoYWxmIE9mIERhbmllbCBWZXR0ZXIK PiBTZW50OiBNb25kYXksIE5vdmVtYmVyIDE0LCAyMDE2IDM6MDQgQU0KPiBUbzogTWFuYXNpIE5h dmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiBDYzogQ2hlbmcsIFRvbnkgPFRvbnku Q2hlbmdAYW1kLmNvbT47IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IFBlcmVzLCBN YXJ0aW4gPG1hcnRpbi5wZXJlc0BpbnRlbC5jb20+OyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnOyBEZXVjaGVyLCBBbGV4YW5kZXIgPEFsZXhhbmRlci5EZXVjaGVyQGFtZC5jb20+OyBX ZW50bGFuZCwgSGFycnkgPEhhcnJ5LldlbnRsYW5kQGFtZC5jb20+Cj4gU3ViamVjdDogUmU6IFtJ bnRlbC1nZnhdIFtQQVRDSCAwLzVdIEhhbmRsZSBMaW5rIFRyYWluaW5nIEZhaWx1cmUgZHVyaW5n IG1vZGVzZXQKPiAKPiBPbiBTdW4sIE5vdiAxMywgMjAxNiBhdCAxMTo0MzowMVBNIC0wODAwLCBN YW5hc2kgTmF2YXJlIHdyb3RlOgo+ID4gT24gRnJpLCBOb3YgMTEsIDIwMTYgYXQgMDc6NDI6MTZQ TSArMDAwMCwgQ2hlbmcsIFRvbnkgd3JvdGU6Cj4gPiA+IEluIGNhc2Ugb2YgbGluayB0cmFpbmlu ZyBmYWlsdXJlIGFuZCByZXF1aXJpbmcgdXNlciBzcGFjZSB0byBzZXQgYSBsb3dlciBtb2RlLCB3 b3VsZCBmdWxsIG1vZGUgc2V0IGFkZHJlc3MgaXQ/ICBIb3cgZG8gd2UgbWFrZSB1c2VyIG1vZGUg c2VsZWN0IGxvd2VyIHJlc29sdXRpb24/Cj4gPiA+IAo+ID4gPiBGb3IgZXhhbXBsZSA0a0A2MEh6 IG1vbml0b3IsIGFuZCBsaW5rIHRyYWluaW5nIGF0IDQgbGFuZSBIQlIyIGZhaWxzIGFuZCBmYWxs YmFjayB0byA0IGxhbmVzIEhCUiwgNGtANjAgaXMgbm8gbG9uZ2VyIGRvYWJsZS4gIEkgd291bGQg dGhpbmsgcHJldmVudGluZyB1c2VyIG1vZGUgZnJvbSBzZWVpbmcgNEtANjBIeiBmcm9tIHRoZSBz dGFydCBpcyBhIGVhc2llciBhbmQgbW9yZSByb2J1c3Qgc29sdXRpb24gYW5kIHJlcXVpcmluZyB1 c2VyIG1vZGUgdG8gaGF2ZSBsb2dpYyB0byBkZWNpZGUgaG93IHRvIGZhbGxiYWNrLgo+ID4gPgo+ ID4gCj4gPiBIaSBUb255LAo+ID4gCj4gPiBTbyBpbiBjYXNlIG9mIGxpbmsgdHJhaW5pbmcgZmFp bHVyZSwgd2UgZmlyc3QgY2FsbCBtb2RlX3ZhbGlkIHRoYXQgCj4gPiB3aWxsIHVzZSB0aGUgbG93 ZXIgbGluayByYXRlL2xhbmUgY291bnQgdmFsdWVzIGJhc2VkIG9uIHRoZSBsaW5rIAo+ID4gdHJh aW5pbmcgZmFsbGJhY2sgdG8gdmFsaWRhdGUgdGhlIG1vZGVzIGFuZCBwcnVuZSB0aGUgbW9kZXMg dGhhdCBhcmUgCj4gPiBoaWdoZXIgdGhhbiB0aGUgYXZhaWxhYmxlIGxpbmsuIEFmdGVyIHRoaXMg aXMgZG9uZSwgdGhlbiB3ZSBzZW5kIHRoZSB1ZXZlbnQgdG8gdXNlcnNwYWNlIGluZGljYXRpbmcg dGhhdCBsaW5rIHN0YXR1cyBpcyBCQUQgYW5kIGl0IHdpbGwgcmVkbyBhIHByb2JlIGFuZCB0cmln Z2VyIGEgbW9kZXNldCBmb3IgbmV4dCBwb3NzaWJsZSBsb3dlciByZXNvbHV0aW9uLgo+IAo+IEp1 c3QgaW4gY2FzZSBpdCdzIG5vdCBjbGVhcjogVGhpcyBlbnRpcmUgZGlzY3Vzc2lvbiBoZXJlIGlz IG9ubHkgYWJvdXQgdGhlIHVzZXJzcGFjZS12aXNpYmxlIGFiaSBjaGFuZ2VzLiBBbmQgSSB0aGlu ayBmb3IgdGhlIHdvcnN0LWNhc2Ugd2UgbmVlZCBzb21ldGhpbmcgbGlrZSB0aGlzIChhbmQgSGFy cnkgYXQgbGVhc3Qgc2FpZCBvbiBpcmMgdGhhdCBvbiBvdGhlciBvcyB5b3UgZG8gc29tZXRoaW5n IHNpbWlsYXIgYWxyZWFkeSkuIEl0IG9mIGNvdXJzZSBkb2VzIG5vdCBwcmVjbHVkZSBhdCBhbGwg dGhhdCB5b3UgZG8gYWRkaXRpb25hbCBsaW5rLXRyYWluaW5nL3Byb2JlIG9uIGluaXRpYWwgaG90 cGx1Zy4gVGhhdCBwYXJ0IGlzIGVudGlyZWx5IHVwIHRvIGRyaXZlcnMgKGFuZCB3ZSBtaWdodCBn ZXQgdGhlcmUgb24gc29tZSBwbGF0Zm9ybXMsIGJ1dCBvbiBvdGhlcnMgaXQncyBhIHJlYWwgcGFp biB0byBnZXQgYSBsaW5rIHVwJnJ1bm5pbmcgdW5mb3J0dW5hdGVseSBmb3IgdHJhaW5pbmcsIHNp bmNlIHdlIG5lZWQgdG8gc3RlYWwgYSBjcnRjIGFuZCBkbyBhIGZ1bGwgbW9kZXNldCkuCj4gLURh bmllbAo+IAo+ID4gCj4gPiBNYW5hc2kKPiA+IAo+ID4gIAo+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQo+ID4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgW21haWx0bzp2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbV0KPiA+ID4gU2VudDogRnJpZGF5LCBOb3ZlbWJlciAxMSwgMjAx NiAxMTo0NCBBTQo+ID4gPiBUbzogQ2hlbmcsIFRvbnkgPFRvbnkuQ2hlbmdAYW1kLmNvbT4KPiA+ ID4gQ2M6IERldWNoZXIsIEFsZXhhbmRlciA8QWxleGFuZGVyLkRldWNoZXJAYW1kLmNvbT47ICdK YW5pIE5pa3VsYScgCj4gPiA+IDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+OyBNYW5hc2kg TmF2YXJlIAo+ID4gPiA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT47IGRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmc7IAo+ID4gPiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn OyBXZW50bGFuZCwgSGFycnkgCj4gPiA+IDxIYXJyeS5XZW50bGFuZEBhbWQuY29tPjsgUGVyZXMs IE1hcnRpbiA8bWFydGluLnBlcmVzQGludGVsLmNvbT4KPiA+ID4gU3ViamVjdDogUmU6IFtJbnRl bC1nZnhdIFtQQVRDSCAwLzVdIEhhbmRsZSBMaW5rIFRyYWluaW5nIEZhaWx1cmUgCj4gPiA+IGR1 cmluZyBtb2Rlc2V0Cj4gPiA+IAo+ID4gPiBPbiBGcmksIE5vdiAxMSwgMjAxNiBhdCAwNDoyMTo1 OFBNICswMDAwLCBDaGVuZywgVG9ueSB3cm90ZToKPiA+ID4gPiBGb3IgSERNSSwgeW91IGNhbiB5 YW5rIHRoZSBjYWJsZSwgcGx1ZyBiYWNrIGluLCBIRE1JIHdpbGwgbGlnaHQgdXAgd2l0aG91dCB1 c2VyIG1vZGUgb3Iga2VybmVsIG1vZGUgZG9pbmcgYW55dGhpbmcuCj4gPiA+ID4gCj4gPiA+ID4g Rm9yIERQIHRoaXMgaXMgbm90IHBvc3NpYmxlLCBzb21lb25lIHdpbGwgaGF2ZSB0byByZXRyYWlu IHRoZSBsaW5rIHdoZW4gcGx1Z2dpbmcgYmFjayBpbiBvciBEUCB3aWxsIG5vdCBsaWdodCB1cC4g IFdlIHNlZSB0aGF0IG9uIFVidW50dSBpZiBzb21lb25lIHVucGx1ZyBkaXNwbGF5IGFuZCBwbHVn IGl0IGJhY2sgaW50byBzYW1lIGNvbm5lY3Rvciwgd2UgZG8gbm90IGdldCBLTVMgc28gaW4gdGhp cyBjYXNlLiAgSXQgYXBwZWFycyB0aGVyZSBpcyBzb21lIG9wdGltaXphdGlvbnMgc29tZXdoZXJl IGluIHVzZXIgbW9kZSBzdGFjayB3aGljaCBJIGFtIG5vdCBmYW1pbGlhciB3aXRoIHlldC4gIGRh bCBhZGRlZCB3b3JrYXJvdW5kIHRvIHJldHJhaW4gdGhlIGxpbmsgdG8gbGlnaHQgaXQgYmFjayB1 cCAoYWZ0ZXIgdGhlIHRlc3QgdHJhaW5pbmcgYXQgZW5kIG9mIGRldGVjdGlvbikuCj4gPiA+IAo+ ID4gPiBUaGUgbGluayBzaG91bGQgZ2V0IHJldHJhaW5lZCBhcyB0aGUgZHJpdmVyIHNob3VsZCBj aGVjayB0aGUgbGluayBzdGF0ZSBvbiBIUEQgYW5kIHJldHJhaW4gaWYgaXQncyBub3QgZ29vZC4g QXQgbGVhc3QgdGhhdCdzIHdoYXQgd2UgZG8gaW4gaTkxNS4gT2YgY291cnNlIGlmIGl0J3Mgbm90 IHRoZSBzYW1lIGRpc3BsYXkgdGhhdCBnb3QgcGx1Z2dlZCBiYWNrLCB0aGUgcmV0cmFpbmluZyBt aWdodCBmYWlsLiBUaGUgbmV3IHByb3BlcnR5IGNhbiBoZWxwIHdpdGggdGhhdCBjYXNlIGFzIHVz ZXJzcGFjZSB3b3VsZCB0aGVuIGF0dGVtcHQgYSBmdWxsIG1vZGVzZXQgYWZ0ZXIgdGhlIGZhaWxl ZCBsaW5rIHRyYWluaW5nLgo+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiA+RnJvbSB1c2VyIG1vZGUg cGVyc3BlY3RpdmUgSSB0aGluayBpdCBtYWtlIHNlbnNlIHRvIGtlZXAgQ1JUQyBydW5uaW5nLCBz byB2YmxhbmsgaXMgc3RpbGwgZ29pbmcgc28gVU1EIGlzbid0IGltcGFjdGVkLiAgIEFzIHJlZ2Fy ZCB0byBjb25uZWN0b3IgYW5kIGVuY29kZXIgZG9lcyBpdCBtYXR0ZXIgaWYga2VybmVsIG1vZGUg Y2hhbmdlIHN0YXRlIHdpdGhvdXQgdXNlciBtb2RlIGtub3dpbmc/ICBJdCBzZWVtcyB0byBtZSB0 aG9zZSBhcmUgbW9yZSBpbmZvcm1hdGlvbmFsIHRvIFVNRCBhcyBVTUQgZG9lc24ndCBhY3Qgb24g dGhlbS4KPiA+ID4gPiAKPiA+ID4gPiB3aW5kb3dzIGRvZXMgbm90IGtub3cgbGluayBzdGF0ZSBh bmQgYWxsIGxpbmsgbWFuYWdlbWVudCBpcyBoaWRkZW4gYmVoaW5kIGtlcm5lbCBkcml2ZXIuICAg Cj4gPiA+IAo+ID4gPiBJZiB0aGUgdXNlciB2aXNpYmxlIHN0YXRlIGRvZXNuJ3QgY2hhbmdlIGlu IGFueSB3YXksIHRoZW4gdGhlIGtlcm5lbCBjb3VsZCB0cnkgdG8gbWFuYWdlIGl0IGFsbCBpbnRl cm5hbGx5Lgo+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQo+ID4gPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCBbbWFpbHRvOnZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tXQo+ID4gPiA+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgMTEsIDIwMTYgOTow NSBBTQo+ID4gPiA+IFRvOiBDaGVuZywgVG9ueSA8VG9ueS5DaGVuZ0BhbWQuY29tPgo+ID4gPiA+ IENjOiBEZXVjaGVyLCBBbGV4YW5kZXIgPEFsZXhhbmRlci5EZXVjaGVyQGFtZC5jb20+OyAnSmFu aSBOaWt1bGEnIAo+ID4gPiA+IDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+OyBNYW5hc2kg TmF2YXJlIAo+ID4gPiA+IDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPjsgZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZzsgCj4gPiA+ID4gaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZzsgV2VudGxhbmQsIEhhcnJ5IAo+ID4gPiA+IDxIYXJyeS5XZW50bGFuZEBhbWQuY29tPjsg UGVyZXMsIE1hcnRpbiA8bWFydGluLnBlcmVzQGludGVsLmNvbT4KPiA+ID4gPiBTdWJqZWN0OiBS ZTogW0ludGVsLWdmeF0gW1BBVENIIDAvNV0gSGFuZGxlIExpbmsgVHJhaW5pbmcgRmFpbHVyZSAK PiA+ID4gPiBkdXJpbmcgbW9kZXNldAo+ID4gPiA+IAo+ID4gPiA+IE9uIFRodSwgTm92IDEwLCAy MDE2IGF0IDA2OjUxOjQwUE0gKzAwMDAsIENoZW5nLCBUb255IHdyb3RlOgo+ID4gPiA+ID4gQW1k Z3B1IGRhbCBpbXBsZW1lbnRhdGlvbiB3aWxsIGRvIGEgdGVzdCBsaW5rIHRyYWluaW5nIGF0IGVu ZCBvZiBkZXRlY3Rpb24gdG8gdmVyaWZ5IHdlIGNhbiBhY2hpZXZlIHRoZSBjYXBhYmlsaXR5IHJl cG9ydGVkIGluIERQQ0QuICBXZSB0aGVuIHJlcG9ydCBtb2RlIGJhc2Ugb24gcmVzdWx0IG9mIHRl c3QgdHJhaW5pbmcuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IEFNRCBoYXJkd2FyZSAoYXQgbGVhc3Qg dGhlIGdlbmVyYXRpb25zIHN1cHBvcnRlZCBieSBhbWRncHUpIGlzIGFibGUgdG8gbGluayB0cmFp biB3aXRob3V0IHRpbWluZyBiZWluZyBzZXR1cCAoRFAgZW5jb2RlciBhbmQgQ1JUQyBpcyBkZWNv dXBsZWQpLiAgRG8gd2UgaGF2ZSBsaW1pdGF0aW9uIGZyb20gb3RoZXIgdmVuZG9ycyB3aGVyZSB5 b3UgbmVlZCB0aW1pbmcgdG8gYmUgdGhlcmUgYmVmb3JlIHlvdSBjYW4gbGluayB0cmFpbj8KPiA+ ID4gPiAKPiA+ID4gPiBJIGNhbid0IHJlY2FsbCB0aGUgc3BlY2lmaWNzIGZvciBhbGwgb2Ygb3Vy IHN1cHBvcnRlZCBwbGF0Zm9ybXMsIGJ1dCBhdCBsZWFzdCBJIGhhdmUgdGhlIHJlY29sbGVjdGlv biB0aGF0IGl0IHdvdWxkIGJlIHRoZSBjYXNlIHllcy4KPiA+ID4gPiAKPiA+ID4gPiBUaGUgb3Ro ZXIgcHJvYmxlbSB3aXloIHRoaXMgYXBwb3JhY2ggaXMgdGhhdCBldmVuIGlmIHlvdSBkb24ndCBu ZWVkIHRoZSBjcnRjLCB5b3Ugc3RpbGwgbmVlZCB0aGUgbGluayBpdHNlbGYuIFdoYXQgaGFwcGVu cyBpZiB0aGUgbGluayBpcyBzdGlsbCBhY3RpdmUgc2luY2UgdXNlcnNwYWNlIGp1c3QgZGlkbid0 IGJvdGhlciB0byBzaHV0IGl0IGRvd24gd2hlbiB0aGUgY2FibGUgd2FzIHlhbmtlZD8gQ2FuIHlv dSBrZWVwIHRoZSBjcnRjIGdvaW5nIGJ1dCBzdG9wIGl0IGZyb20gZmVlZGluZyB0aGUgbGluayBp biBhIHdheSB0aGF0IHVzZXJzcGFjZSB3b24ndCBiZSBhYmxlIHRvIG5vdGljZT8gVGhlIGttcyBk ZXNpZ24gaGFzIGFsd2F5cyBiZWVuIHByZXR0eSBtdWNoIHRoYXQgcG9saWN5IGlzIGluIHVzZXJz cGFjZSwgYW5kIHRodXMgdGhlIGtlcm5lbCBzaG91bGRuJ3Qgc2h1dCBkb3duIGNydGNzIHVubGVz cyBleHBsaWNpdGx5IGFza2VkIHRvIGRvIHNvLgo+ID4gPiA+IAo+ID4gPiA+ID4gCj4gPiA+ID4g PiBXZSBjYW4gYWxzbyBwYXN0IERQMS4yIGxpbmsgbGF5ZXIgY29tcGxpYW5jZSB3aXRoIHRoaXMg YXBwcm9hY2guCj4gPiA+ID4gPiAKPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t Cj4gPiA+ID4gPiBGcm9tOiBEZXVjaGVyLCBBbGV4YW5kZXIKPiA+ID4gPiA+IFNlbnQ6IFRodXJz ZGF5LCBOb3ZlbWJlciAxMCwgMjAxNiAxOjQzIFBNCj4gPiA+ID4gPiBUbzogJ0phbmkgTmlrdWxh JyA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPjsgTWFuYXNpIE5hdmFyZSAKPiA+ID4gPiA+ IDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPjsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZzsgCj4gPiA+ID4gPiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBXZW50bGFu ZCwgSGFycnkgCj4gPiA+ID4gPiA8SGFycnkuV2VudGxhbmRAYW1kLmNvbT47IENoZW5nLCBUb255 IDxUb255LkNoZW5nQGFtZC5jb20+Cj4gPiA+ID4gPiBDYzogRGF2ZSBBaXJsaWUgPGFpcmxpZWRA Z21haWwuY29tPjsgUGVyZXMsIE1hcnRpbiAKPiA+ID4gPiA+IDxtYXJ0aW4ucGVyZXNAaW50ZWwu Y29tPgo+ID4gPiA+ID4gU3ViamVjdDogUkU6IFtJbnRlbC1nZnhdIFtQQVRDSCAwLzVdIEhhbmRs ZSBMaW5rIFRyYWluaW5nIAo+ID4gPiA+ID4gRmFpbHVyZSBkdXJpbmcgbW9kZXNldAo+ID4gPiA+ ID4gCj4gPiA+ID4gPiBBZGRpbmcgSGFycnkgYW5kIFRvbnkgZnJvbSBvdXIgZGlzcGxheSB0ZWFt IHRvIHJldmlldy4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQo+ID4gPiA+ID4gPiBGcm9tOiBKYW5pIE5pa3VsYSBbbWFpbHRvOmphbmkubmlrdWxhQGxp bnV4LmludGVsLmNvbV0KPiA+ID4gPiA+ID4gU2VudDogVGh1cnNkYXksIE5vdmVtYmVyIDEwLCAy MDE2IDE6MjAgUE0KPiA+ID4gPiA+ID4gVG86IE1hbmFzaSBOYXZhcmU7IGRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmc7IGludGVsLSAKPiA+ID4gPiA+ID4gZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+ID4gPiA+ID4gPiBDYzogRGF2ZSBBaXJsaWU7IFBlcmVzLCBNYXJ0aW47IERldWNo ZXIsIEFsZXhhbmRlcgo+ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW0ludGVsLWdmeF0gW1BBVENI IDAvNV0gSGFuZGxlIExpbmsgVHJhaW5pbmcgCj4gPiA+ID4gPiA+IEZhaWx1cmUgZHVyaW5nIG1v ZGVzZXQKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IE9uIFRodSwgMTAgTm92IDIwMTYsIE1hbmFz aSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+IHdyb3RlOgo+ID4gPiA+ID4gPiA+ IExpbmsgdHJhaW5pbmcgZmFpbHVyZSBpcyBoYW5kbGVkIGJ5IGxvd2VyaW5nIHRoZSBsaW5rIHJh dGUgCj4gPiA+ID4gPiA+ID4gZmlyc3QgdW50aWwgaXQgcmVhY2hlcyB0aGUgbWluaW11bSBhbmQg a2VlcGluZyB0aGUgbGFuZSAKPiA+ID4gPiA+ID4gPiBjb3VudCBtYXhpbXVtIGFuZCB0aGVuIGxv d2VyaW5nIHRoZSBsYW5lIGNvdW50IHVudGlsIGl0IAo+ID4gPiA+ID4gPiA+IHJlYWNoZXMgbWlu aW1pbS4gVGhlc2UgZmFsbGJhY2sgdmFsdWVzIGFyZSBzYXZlZCBhbmQgaG90cGx1ZyAKPiA+ID4g PiA+ID4gPiB1ZXZlbnQgaXMgc2VudCB0byB0aGUgdXNlcnNwYWNlIGFmdGVyIHNldHRpbmcgdGhl IGNvbm5lY3RvciBsaW5rIHN0YXR1cyBwcm9wZXJ0eSB0byBCQUQuCj4gPiA+ID4gPiA+ID4gVXNl cnNwYWNlIHNob3VsZCB0cmlpZ2VyIGFub3RoZXIgbW9kZXNldCBvbiBhIHVldmVudCBhbmQgaWYg Cj4gPiA+ID4gPiA+ID4gbGluayBzdGF0dXMgcHJvcGVydHkgaXMgQkFELiBUaGlzIHdpbGwgcmV0 cmFpbiB0aGUgbGluayBhdCBmYWxsYmFjayB2YWx1ZXMuCj4gPiA+ID4gPiA+ID4gVGhpcyBpcyBy ZXBlYXRlZCB1bnRpbCB0aGUgbGluayBpcyBzdWNjZXNzZnVsbHkgdHJhaW5lZC4KPiA+ID4gPiA+ ID4gPgo+ID4gPiA+ID4gPiA+IFRoaXMgaGFzIGJlZW4gdmFsaWRhdGVkIHRvIHBhc3MgRFAgY29t cGxpYW5jZS4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IFRoaXMgY292ZXIgbGV0dGVyIGFuZCB0 aGUgY29tbWl0IG1lc3NhZ2VzIGRvIGEgZ29vZCBqb2Igb2YgCj4gPiA+ID4gPiA+IGV4cGxhaW5p bmcgd2hhdCB0aGUgcGF0Y2hlcyBkby4gSG93ZXZlciwgeW91J3JlIGxhY2tpbmcgdGhlIAo+ID4g PiA+ID4gPiBjcnVjaWFsIGluZm9ybWF0aW9uIG9mCj4gPiA+ID4gPiA+ICp3aHkqIHdlIG5lZWQg dXNlcnNwYWNlIGNvb3BlcmF0aW9uIHRvIGhhbmRsZSBsaW5rIHRyYWluaW5nIAo+ID4gPiA+ID4g PiBmYWlsdXJlcyBvbiBEUCBtb2RlIHNldHRpbmcsIGFuZCAqd2h5KiBhIG5ldyBjb25uZWN0b3Ig Cj4gPiA+ID4gPiA+IHByb3BlcnR5IGlzIGEgZ29vZCBzb2x1dGlvbiBmb3IgdGhpcy4KPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+IEhlcmUgZ29lcywgaW5jbHVkaW5nIHNvbWUgYWx0ZXJuYXRpdmUg YXBwcm9hY2hlcyB3ZSd2ZSAKPiA+ID4gPiA+ID4gY29uc2lkZXJlZCAoYW5kIGV2ZW4gdHJpZWQp Ogo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gQXQgdGhlIHRpbWUgdXNlcnNwYWNlIGRvZXMgc2V0 Y3J0Yywgd2UndmUgYWxyZWFkeSBwcm9taXNlZCB0aGUgCj4gPiA+ID4gPiA+IG1vZGUgd291bGQg d29yay4gVGhlIHByb21pc2UgaXMgYmFzZWQgb24gdGhlIHRoZW9yZXRpY2FsIAo+ID4gPiA+ID4g PiBjYXBhYmlsaXRpZXMgb2YgdGhlIGxpbmssIGJ1dCBpdCdzIHBvc3NpYmxlIHdlIGNhbid0IHJl YWNoIAo+ID4gPiA+ID4gPiB0aGlzIGluIHByYWN0aWNlLiBUaGUgRFAgc3BlYyBkZXNjcmliZXMg aG93IHRoZSBsaW5rIHNob3VsZCBiZSAKPiA+ID4gPiA+ID4gcmVkdWNlZCwgYnV0IHdlIGNhbid0 IHJlZHVjZSB0aGUgbGluayBiZWxvdyB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBtb2RlLiBCbGFj ayBzY3JlZW4gZm9sbG93cy4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IE9uZSBpZGVhIHdvdWxk IGJlIHRvIGhhdmUgc2V0Y3J0YyByZXR1cm4gYSBmYWlsdXJlLiBIb3dldmVyLCAKPiA+ID4gPiA+ ID4gaXQgaXMgbXkgdW5kZXJzdGFuZGluZyB0aGF0IGl0IGFscmVhZHkgc2hvdWxkIG5vdCBmYWls IGFzIHRoZSAKPiA+ID4gPiA+ID4gYXRvbWljIGNoZWNrcyBoYXZlIHBhc3NlZCBbY2l0YXRpb24g bmVlZGVkXS4gSXQgd291bGQgYWxzbyAKPiA+ID4gPiA+ID4gY29uZmxpY3Qgd2l0aCB0aGUgaWRl YSBvZiBtYWtpbmcgc2V0Y3J0YyBhc3luY2hyb25vdXMgaW4gdGhlIAo+ID4gPiA+ID4gPiBmdXR1 cmUsIHJldHVybmluZyBiZWZvcmUgdGhlIGFjdHVhbCBtb2RlIHNldHRpbmcgYW5kIGxpbmsgdHJh aW5pbmcuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBBbm90aGVyIGlkZWEgaXMgdG8gdHJhaW4g dGhlIGxpbmsgInVwZnJvbnQiIGF0IGhvdHBsdWcgdGltZSwgCj4gPiA+ID4gPiA+IGJlZm9yZSBw cnVuaW5nIHRoZSBtb2RlIGxpc3QsIHNvIHRoYXQgd2UgY2FuIGRvIHRoZSBwcnVuaW5nIAo+ID4g PiA+ID4gPiBiYXNlZCBvbiBwcmFjdGljYWwgbm90IHRoZW9yZXRpY2FsIGNhcGFiaWxpdGllcy4g SG93ZXZlciwgdGhlIAo+ID4gPiA+ID4gPiBjaGFuZ2VzIGZvciBsaW5rIHRyYWluaW5nIGFyZSBw cmV0dHkgZHJhc3RpYywgYWxsIGZvciB0aGUgc2FrZSAKPiA+ID4gPiA+ID4gb2YgZXJyb3IgaGFu ZGxpbmcgYW5kIERQIGNvbXBsaWFuY2UsIHdoZW4gdGhlIG1vc3QgY29tbW9uIAo+ID4gPiA+ID4g PiBoYXBweSBkYXkgc2NlbmFyaW8gaXMgdGhlIGN1cnJlbnQgYXBwcm9hY2ggb2YgbGluayB0cmFp bmluZyBhdCAKPiA+ID4gPiA+ID4gbW9kZSBzZXR0aW5nIHRpbWUsIHVzaW5nIHRoZSBvcHRpbWFs IHBhcmFtZXRlcnMgZm9yIHRoZSBtb2RlLiAKPiA+ID4gPiA+ID4gSXQgaXMgYWxzbyBub3QgY2Vy dGFpbiBhbGwgaGFyZHdhcmUgY291bGQgZG8gdGhpcyB3aXRob3V0IHRoZSAKPiA+ID4gPiA+ID4g cGlwZSBvbjsgbm90IGV2ZW4gYWxsIG91ciBoYXJkd2FyZSBjYW4gZG8gdGhpcy4gU29tZSBvZiB0 aGlzIGNhbiBiZSBzb2x2ZWQsIGJ1dCBub3QgdHJpdmlhbGx5Lgo+ID4gPiA+ID4gPiAKPiA+ID4g PiA+ID4gQm90aCBvZiB0aGUgYWJvdmUgaWRlYXMgYWxzbyBmYWlsIHRvIGFkZHJlc3MgbGluayBk ZWdyYWRhdGlvbgo+ID4gPiA+ID4gPiAqZHVyaW5nKiBvcGVyYXRpb24uCj4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiBTbyB0aGUgaWRlYSBwcmVzZW50ZWQgaW4gdGhlc2UgcGF0Y2hlcyBpcyB0byBk byB0aGlzIGluIGEgd2F5IAo+ID4gPiA+ID4gPiB0aGF0Cj4gPiA+ID4gPiA+IGEpIGNoYW5nZXMg dGhlIGN1cnJlbnQgaGFwcHkgZGF5IHNjZW5hcmlvIGFzIGxpdHRsZSBhcyAKPiA+ID4gPiA+ID4g cG9zc2libGUsIHRvIGF2b2lkIHJlZ3Jlc3Npb25zLCBiKSBjYW4gYmUgaW1wbGVtZW50ZWQgdGhl IHNhbWUgCj4gPiA+ID4gPiA+IHdheSBieSBhbGwgZHJtIGRyaXZlcnMsIGMpIGlzIHN0aWxsIG9w dC1pbiBmb3IgdGhlIGRyaXZlcnMgYW5kIAo+ID4gPiA+ID4gPiB1c2Vyc3BhY2UsIGFuZCBvcHRp bmcgb3V0IGRvZXNuJ3QgcmVncmVzcyB0aGUgdXNlciBleHBlcmllbmNlLCAKPiA+ID4gPiA+ID4g ZCkgZG9lc24ndCBwcmV2ZW50IGRyaXZlcnMgZnJvbSBpbXBsZW1lbnRpbmcgYmV0dGVyIG9yIAo+ ID4gPiA+ID4gPiBhbHRlcm5hdGUgYXBwcm9hY2hlcywgcG9zc2libHkgd2l0aG91dCB1c2Vyc3Bh Y2UgaW52b2x2ZW1lbnQuIEFuZCwgb2YgY291cnNlLCBoYW5kbGVzIGFsbCB0aGUgaXNzdWVzIHBy ZXNlbnRlZC4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IFRoZSBzb2x1dGlvbiBpcyB0byBhZGQg YSAibGluayBzdGF0dXMiIGNvbm5lY3RvciBwcm9wZXJ0eS4gSW4gCj4gPiA+ID4gPiA+IHRoZSB1 c3VhbCBoYXBweSBkYXkgc2NlbmFyaW8sIHRoaXMgaXMgYWx3YXlzICJnb29kIi4gSWYgCj4gPiA+ ID4gPiA+IHNvbWV0aGluZyBmYWlscyBkdXJpbmcgb3IgYWZ0ZXIgYSBtb2RlIHNldCwgdGhlIGtl cm5lbCBkcml2ZXIgCj4gPiA+ID4gPiA+IGNhbiBzZXQgdGhlIGxpbmsgc3RhdHVzIHRvICJiYWQi LCBwcnVuZSB0aGUgbW9kZSBsaXN0IGJhc2VkIG9uIAo+ID4gPiA+ID4gPiBuZXcgaW5mb3JtYXRp b24gYXMgbmVjZXNzYXJ5LCBhbmQgc2VuZCBhIGhvdHBsdWcgdWV2ZW50IGZvciAKPiA+ID4gPiA+ ID4gdXNlcnNwYWNlIHRvIGhhdmUgaXQgcmUtY2hlY2sgdGhlIHZhbGlkIG1vZGVzIHRocm91Z2gg Cj4gPiA+ID4gPiA+IGdldGNvbm5lY3RvciwgYW5kIHRyeSBhZ2Fpbi4gSWYgdGhlIHRoZW9yZXRp Y2FsIGNhcGFiaWxpdGllcyBvZiB0aGUgbGluayBjYW4ndCBiZSByZWFjaGVkLCB0aGUgbW9kZSBs aXN0IGlzIHRyaW1tZWQgYmFzZWQgb24gdGhhdC4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IElm IHRoZSB1c2Vyc3BhY2UgaXMgbm90IGF3YXJlIG9mIHRoZSBwcm9wZXJ0eSwgdGhlIHVzZXIgCj4g PiA+ID4gPiA+IGV4cGVyaWVuY2UgaXMgdGhlIHNhbWUgYXMgaXQgY3VycmVudGx5IGlzLiBJZiB0 aGUgdXNlcnNwYWNlIGlzIAo+ID4gPiA+ID4gPiBhd2FyZSBvZiB0aGUgcHJvcGVydHksIGl0IGhh cyBhIGNoYW5jZSB0byBpbXByb3ZlIHVzZXIgCj4gPiA+ID4gPiA+IGV4cGVyaWVuY2UuIElmIGEg ZHJtIGRyaXZlciBkb2VzIG5vdCBtb2RpZnkgdGhlIHByb3BlcnR5IChpdCAKPiA+ID4gPiA+ID4g c3RheXMgImdvb2QiKSwgdGhlIHVzZXIgZXhwZXJpZW5jZSBpcyB0aGUgc2FtZSBhcyBpdCBjdXJy ZW50bHkgCj4gPiA+ID4gPiA+IGlzLiBBIGRybSBkcml2ZXIgY2FuIGFsc28gY2hvb3NlIHRvIHRy eSB0byBoYW5kbGUgbW9yZSBvZiB0aGUgCj4gPiA+ID4gPiA+IGZhaWx1cmVzIGluIGtlcm5lbCwg aGFyZHdhcmUgbm90IGxpbWl0aW5nLCBvciBpdCBjYW4gY2hvb3NlIHRvIGludm9sdmUgdXNlcnNw YWNlIG1vcmUuIFVwIHRvIHRoZSBkcml2ZXJzLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gVGhl IHJlYXNvbiBmb3IgYWRkaW5nIHRoZSBwcm9wZXJ0eSBpcyB0byBoYW5kbGUgbGluayB0cmFpbmlu ZyAKPiA+ID4gPiA+ID4gZmFpbHVyZXMsIGJ1dCBpdCBpcyBub3QgbGltaXRlZCB0byBEUCBvciBs aW5rIHRyYWluaW5nLiBGb3IgCj4gPiA+ID4gPiA+IGV4YW1wbGUsIGlmIHdlIGltcGxlbWVudCBh c3luY2hyb25vdXMgc2V0Y3J0Yywgd2UgY2FuIHVzZSB0aGlzIAo+ID4gPiA+ID4gPiB0byByZXBv cnQgYW55IGZhaWx1cmVzIGluIHRoYXQuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBGaW5hbGx5 LCB3aGlsZSBEUCBDVFMgY29tcGxpYW5jZSBpcyBhZHZlcnRpemVkICh3aGljaCBpcyAKPiA+ID4g PiA+ID4gZ3JlYXQsIGFuZCBjb3VsZCBiZSBtYWRlIHRvIHdvcmsgc2ltaWxhcmx5IGZvciBhbGwg ZHJtIAo+ID4gPiA+ID4gPiBkcml2ZXJzKSwgdGhpcyBjYW4gYmUgdXNlZCBmb3IgdGhlIG1vcmUg aW1wb3J0YW50IGdvYWwgb2YgCj4gPiA+ID4gPiA+IGltcHJvdmluZyB1c2VyIGV4cGVyaWVuY2Ug b24gbGluayB0cmFpbmluZyBmYWlsdXJlcywgYnkgYXZvaWRpbmcgYmxhY2sgc2NyZWVucy4KPiA+ ID4gPiA+ID4gCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBCUiwKPiA+ID4gPiA+ID4gSmFuaS4K PiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gTWFu YXNpIE5hdmFyZSAoNSk6Cj4gPiA+ID4gPiA+ID4gICBkcm06IEFkZCBhIG5ldyBjb25uZWN0b3Ig cHJvcGVydHkgZm9yIGxpbmsgc3RhdHVzCj4gPiA+ID4gPiA+ID4gICBkcm0vaTkxNTogU2V0IGxp bmsgc3RhdHVzIHByb3BlcnR5IGZvciBEUCBjb25uZWN0b3IKPiA+ID4gPiA+ID4gPiAgIGRybS9p OTE1OiBVcGRhdGUgQ1JUQyBzdGF0ZSBpZiBjb25uZWN0b3IgbGluayBzdGF0dXMgCj4gPiA+ID4g PiA+ID4gcHJvcGVydHkgY2hhbmdlZAo+ID4gPiA+ID4gPiAgICAgXl5eXl5eXl4KPiA+ID4gPiA+ ID4gCj4gPiA+ID4gPiA+IFRoaXMgaXMgcmVhbGx5IGRybSwgbm90IGk5MTUuCj4gPiA+ID4gPiA+ IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiAgIGRybS9pOTE1OiBGaW5kIGZhbGxiYWNrIGxp bmsgcmF0ZS9sYW5lIGNvdW50Cj4gPiA+ID4gPiA+ID4gICBkcm0vaTkxNTogSW1wbGVtZW50IExp bmsgUmF0ZSBmYWxsYmFjayBvbiBMaW5rIHRyYWluaW5nIAo+ID4gPiA+ID4gPiA+IGZhaWx1cmUK PiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuYyAgICAgICAgICAgfCAgIDcgKysKPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJt L2RybV9jb25uZWN0b3IuYyAgICAgICAgICAgICAgIHwgIDE3ICsrKysKPiA+ID4gPiA+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgICAgICAgIHwgIDIxICsrKy0K PiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgICAgICAg ICAgIHwgMTM4Cj4gPiA+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKystCj4gPiA+ID4g PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyB8ICAx MiArKy0KPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAg ICAgICAgICAgIHwgIDEyICsrLQo+ID4gPiA+ID4gPiA+ICBpbmNsdWRlL2RybS9kcm1fY29ubmVj dG9yLmggICAgICAgICAgICAgICAgICAgfCAgIDcgKy0KPiA+ID4gPiA+ID4gPiAgaW5jbHVkZS9k cm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICsKPiA+ID4gPiA+ID4g PiAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgICAgICAgICAgICAgIHwgICA0ICsK PiA+ID4gPiA+ID4gPiAgOSBmaWxlcyBjaGFuZ2VkLCAyMTQgaW5zZXJ0aW9ucygrKSwgOSBkZWxl dGlvbnMoLSkKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IC0tCj4gPiA+ID4gPiA+IEphbmkgTmlr dWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgo+ID4gPiA+ID4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gPiA+IEludGVs LWdmeCBtYWlsaW5nIGxpc3QKPiA+ID4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiA+ID4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cj4gPiA+ID4gCj4gPiA+ID4gLS0KPiA+ID4gPiBWaWxsZSBTeXJqw6Rsw6QK PiA+ID4gPiBJbnRlbCBPVEMKPiA+ID4gCj4gPiA+IC0tCj4gPiA+IFZpbGxlIFN5cmrDpGzDpAo+ ID4gPiBJbnRlbCBPVEMKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IC0tCj4gRGFuaWVsIFZldHRlcgo+IFNvZnR3YXJlIEVu Z2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=