From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Deucher, Alexander" Subject: RE: [PATCH 1/3] drm/amdgpu: always consider virualised device for checking post Date: Thu, 19 Oct 2017 03:32:37 +0000 Message-ID: References: <1508222267-18627-1-git-send-email-Pixel.Ding@amd.com> <1508222267-18627-2-git-send-email-Pixel.Ding@amd.com> <77D84CB4-2676-4DBC-AB49-431923E87EAC@amd.com> <9035FC71-9AB1-406C-9A0B-8B050E51C7F4@amd.com> <83AE16CE-43F8-44E7-AEF6-6FA581134C7A@amd.com> <5D15F8FE-DDA7-4AC9-AB1B-2B69ED5C410F@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5D15F8FE-DDA7-4AC9-AB1B-2B69ED5C410F-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Ding, Pixel" , "Koenig, Christian" , "Liu, Monk" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Sun, Gary" , "Li, Bingley" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEaW5nLCBQaXhlbA0KPiBTZW50 OiBXZWRuZXNkYXksIE9jdG9iZXIgMTgsIDIwMTcgMTE6MjMgUE0NCj4gVG86IERldWNoZXIsIEFs ZXhhbmRlcjsgS29lbmlnLCBDaHJpc3RpYW47IExpdSwgTW9uazsgYW1kLQ0KPiBnZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnDQo+IENjOiBTdW4sIEdhcnk7IExpLCBCaW5nbGV5DQo+IFN1YmplY3Q6 IFJlOiBbUEFUQ0ggMS8zXSBkcm0vYW1kZ3B1OiBhbHdheXMgY29uc2lkZXIgdmlydWFsaXNlZCBk ZXZpY2UgZm9yDQo+IGNoZWNraW5nIHBvc3QNCj4gDQo+IEhpIEFsZXgsDQo+IA0KPiBUaGlzIGNo YW5nZSBvbmx5IGFmZmVjdCB2aXJ0dWFsaXphdGlvbiBhbmQgZG9lc27igJl0IGNoYW5nZSBhbnkg Y29kZSBwYXRoIG9mDQo+IGJhcmVtZXRhbCwgYW5kIEkgaGF2ZSB0aGUgdmlydHVhbGl6YXRpb24g dGVzdCBwYXNzZWQuDQo+IA0KPiBBcyB3ZSBkaXNjdXNzZWQgaW4gdGhlIHYyIHBhdGNoLCBtZXJn ZSAyIGJpb3MgcG9zdCBjaGVja2luZyBmdW5jdGlvbi4gQ2FuIEkNCj4gaGF2ZSB5b3VyIHJldmll dyBmb3IgdGhlIHYxPyBPciBkbyB5b3UgbGlrZSB0byBrZWVwIHRoZQ0KPiBhbWRncHVfdnBvc3Rf bmVlZGVkKCkgZnVuY3Rpb24gbmFtZT8NCg0KSSBkb24ndCBjYXJlIHdoYXQgZnVuY3Rpb24gbmFt ZSB3ZSB1c2UuICBKdXN0IG1lcmdlIHRoZW0gaW50byBvbmUgaWYgaXQncyBvayBmb3IgdmlydHVh bGl6YXRpb24uDQoNCkFsZXgNCg0KPiANCj4g4oCUDQo+IFNpbmNlcmVseSBZb3VycywNCj4gUGl4 ZWwNCj4gDQo+IA0KPiANCj4gDQo+IA0KPiANCj4gDQo+IE9uIDE4LzEwLzIwMTcsIDEwOjA4IFBN LCAiRGV1Y2hlciwgQWxleGFuZGVyIg0KPiA8QWxleGFuZGVyLkRldWNoZXJAYW1kLmNvbT4gd3Jv dGU6DQo+IA0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBhbWQt Z2Z4IFttYWlsdG86YW1kLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZ10gT24NCj4g QmVoYWxmDQo+ID4+IE9mIENocmlzdGlhbiBLw7ZuaWcNCj4gPj4gU2VudDogV2VkbmVzZGF5LCBP Y3RvYmVyIDE4LCAyMDE3IDM6MjMgQU0NCj4gPj4gVG86IERpbmcsIFBpeGVsOyBMaXUsIE1vbms7 IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4+IENjOiBTdW4sIEdhcnk7IExpLCBC aW5nbGV5DQo+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMS8zXSBkcm0vYW1kZ3B1OiBhbHdheXMg Y29uc2lkZXIgdmlydWFsaXNlZCBkZXZpY2UNCj4gZm9yDQo+ID4+IGNoZWNraW5nIHBvc3QNCj4g Pj4NCj4gPj4gSSd2ZSBhbHJlYWR5IGRpZCwgYnV0IGhvbmVzdGx5IGhhdmUgbm8gaWRlYSB3aGF0 IHlvdSBkbyBoZXJlLg0KPiA+Pg0KPiA+PiBBU0lDIHBvc3QgaXMgbm90IHNvbWV0aGluZyBJJ3Zl IGV2ZXJ5IHdvcmtlZCBvbi4NCj4gPj4NCj4gPj4gSXQgbG9va3Mgb2RkIHRoYXQgeW91IGFkZC9y ZW1vdmUgc29tZSBzdGF0aWMga2V5d29yZCBoZXJlLCBidXQgSSBjYW4ndA0KPiA+PiBqdWRnZSB0 aGUgdGVjaG5pY2FsIGNvcnJlY3RuZXNzLg0KPiA+Pg0KPiA+PiBNb25rLCBBbGV4IHdoYXQgZG8g eW91IHRoaW5rIG9mIHRoaXM/DQo+ID4NCj4gPkkgdGhpbmsgd2Ugc2hvdWxkIGZpeCB0aGUgaXNz dWUgaW4gYW1kZ3B1X2Jpb3MuYyBvciBzb3J0IG91dC9tZXJnZQ0KPiBhbWRncHVfbmVlZF9wb3N0 IGFuZCBhbWRncHVfdnBvc3RfbmVlZGVkLiAgVGhpcyBjaGFuZ2UgaXMgcmVhbGx5DQo+IHVuY2xl YXIuDQo+ID4NCj4gPkFsZXgNCj4gPg0KPiA+Pg0KPiA+PiBTb3JyeSwNCj4gPj4gQ2hyaXN0aWFu Lg0KPiA+Pg0KPiA+PiBBbSAxOC4xMC4yMDE3IHVtIDA5OjE5IHNjaHJpZWIgRGluZywgUGl4ZWw6 DQo+ID4+ID4gSGkgQ2hyaXN0aWFuLA0KPiA+PiA+DQo+ID4+ID4gV291bGQgeW91IHBsZWFzZSB0 YWtlIGEgbG9vayBhdCB0aGlzIGNoYW5nZT8gSXTigJlzIHRvIHVuaWZ5IHRoZSBWQklPUyBwb3N0 DQo+ID4+IGNoZWNraW5nLg0KPiA+PiA+IOKAlA0KPiA+PiA+IFNpbmNlcmVseSBZb3VycywNCj4g Pj4gPiBQaXhlbA0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4g Pg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPiBPbiAxOC8xMC8yMDE3LCAxMDoyNSBBTSwgIkRpbmcs IFBpeGVsIiA8UGl4ZWwuRGluZ0BhbWQuY29tPiB3cm90ZToNCj4gPj4gPg0KPiA+PiA+PiBIaSBh bGwsDQo+ID4+ID4+DQo+ID4+ID4+IENvdWxkIHNvbWVvbmUgcmV2aWV3IHRoaXMgcGF0Y2g/DQo+ ID4+ID4+DQo+ID4+ID4+IOKAlA0KPiA+PiA+PiBTaW5jZXJlbHkgWW91cnMsDQo+ID4+ID4+IFBp eGVsDQo+ID4+ID4+DQo+ID4+ID4+DQo+ID4+ID4+DQo+ID4+ID4+DQo+ID4+ID4+DQo+ID4+ID4+ DQo+ID4+ID4+DQo+ID4+ID4+IE9uIDE3LzEwLzIwMTcsIDQ6MDYgUE0sICJhbWQtZ2Z4IG9uIGJl aGFsZiBvZiBEaW5nLCBQaXhlbCIgPGFtZC1nZngtDQo+ID4+IGJvdW5jZXNAbGlzdHMuZnJlZWRl c2t0b3Aub3JnIG9uIGJlaGFsZiBvZiBQaXhlbC5EaW5nQGFtZC5jb20+DQo+IHdyb3RlOg0KPiA+ PiA+Pg0KPiA+PiA+Pj4geW91IGNhbiBzZWUgdGhlIGRpZmZlcmVuY2Ugb2YgZnVuY3Rpb24gYW1k Z3B1X25lZWRfcG9zdC4NCj4gR2VuZXJhbGx5DQo+ID4+IHNwZWFraW5nLCB0aGVyZSB3ZXJlIDIg ZnVuY3Rpb25zIHRvIGNoZWNrIFZCSU9TIHBvc3RpbmcsIG9uZSBjb25zaWRlcnMNCj4gVkYNCj4g Pj4gYW5kIHBhc3N0aHJ1IHdoaWxlIHRoZSBvdGhlciBkb2VzbuKAmXQuIEluIGZhY3Qgd2Ugc2hv dWxkIGFsd2F5cyBjb25zaWRlcg0KPiBWRg0KPiA+PiBhbmQgUFQgZm9yIGNoZWNraW5nLCByaWdo dD8gRm9yIGV4YW1wbGUsIHRoaXMgY2hlY2tpbmcgaGVyZSBiZWxpZXZlIFZGDQo+IG5lZWRzDQo+ ID4+IGEgcG9zdGluZyBiZWNhdXNlIFNDUkFUQ0ggcmVnaXN0ZXJzIGFyZSBub3QgdGhlIGV4cGVj dGVkIHZhbHVlLiBJcyBpdA0KPiBjbGVhcj8NCj4gPj4gPj4+IOKAlA0KPiA+PiA+Pj4gU2luY2Vy ZWx5IFlvdXJzLA0KPiA+PiA+Pj4gUGl4ZWwNCj4gPj4gPj4+DQo+ID4+ID4+Pg0KPiA+PiA+Pj4N Cj4gPj4gPj4+DQo+ID4+ID4+Pg0KPiA+PiA+Pj4NCj4gPj4gPj4+DQo+ID4+ID4+Pg0KPiA+PiA+ Pj4gT24gMTcvMTAvMjAxNywgNTowMCBQTSwgIkxpdSwgTW9uayIgPE1vbmsuTGl1QGFtZC5jb20+ IHdyb3RlOg0KPiA+PiA+Pj4NCj4gPj4gPj4+ID5Gcm9tIHRoZSBwYXRjaCBpdHNlbGYgSSBzdGls bCBjb3VsZG4ndCB0ZWxsIHRoZSBkaWZmZXJlbmNlDQo+ID4+ID4+Pj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPj4gPj4+PiBGcm9tOiBEaW5nLCBQaXhlbA0KPiA+PiA+Pj4+IFNlbnQ6 IDIwMTflubQxMOaciDE35pelIDE1OjU0DQo+ID4+ID4+Pj4gVG86IExpdSwgTW9uayA8TW9uay5M aXVAYW1kLmNvbT47IGFtZC0NCj4gZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsNCj4gPj4gS29l bmlnLCBDaHJpc3RpYW4gPENocmlzdGlhbi5Lb2VuaWdAYW1kLmNvbT4NCj4gPj4gPj4+PiBDYzog TGksIEJpbmdsZXkgPEJpbmdsZXkuTGlAYW1kLmNvbT47IFN1biwgR2FyeQ0KPiA+PiA8R2FyeS5T dW5AYW1kLmNvbT4NCj4gPj4gPj4+PiBTdWJqZWN0OiBSZTogW1BBVENIIDEvM10gZHJtL2FtZGdw dTogYWx3YXlzIGNvbnNpZGVyIHZpcnVhbGlzZWQNCj4gPj4gZGV2aWNlIGZvciBjaGVja2luZyBw b3N0DQo+ID4+ID4+Pj4NCj4gPj4gPj4+PiBJdCBmaXhlcyBhIGlzc3VlIGhpZGRlbiBpbjoNCj4g Pj4gPj4+Pg0KPiA+PiA+Pj4+IDk1IHN0YXRpYyBib29sIGlncF9yZWFkX2Jpb3NfZnJvbV92cmFt KHN0cnVjdCBhbWRncHVfZGV2aWNlDQo+ICphZGV2KQ0KPiA+PiA+Pj4+IDk2IHsNCj4gPj4gPj4+ PiA5Nwl1aW50OF90IF9faW9tZW0gKmJpb3M7DQo+ID4+ID4+Pj4gOTgJcmVzb3VyY2Vfc2l6ZV90 IHZyYW1fYmFzZTsNCj4gPj4gPj4+PiA5OQlyZXNvdXJjZV9zaXplX3Qgc2l6ZSA9IDI1NiAqIDEw MjQ7IC8qID8/PyAqLw0KPiA+PiA+Pj4+IDEwMA0KPiA+PiA+Pj4+IDEwMQlpZiAoIShhZGV2LT5m bGFncyAmIEFNRF9JU19BUFUpKQ0KPiA+PiA+Pj4+IDEwMgkJaWYgKGFtZGdwdV9uZWVkX3Bvc3Qo YWRldikpDQo+ID4+ID4+Pj4gMTAzCQlyZXR1cm4gZmFsc2U7DQo+ID4+ID4+Pj4NCj4gPj4gPj4+ Pg0KPiA+PiA+Pj4+IFRoaXMgbWFrZXMgYmlvcyByZWFkaW5nIGZhbGxiYWNrIHRvIFNNQyBJTkRF WC9EQVRBIHJlZ2lzdGVyIGNhc2UuDQo+ID4+ID4+Pj4NCj4gPj4gPj4+PiDigJQNCj4gPj4gPj4+ PiBTaW5jZXJlbHkgWW91cnMsDQo+ID4+ID4+Pj4gUGl4ZWwNCj4gPj4gPj4+Pg0KPiA+PiA+Pj4+ DQo+ID4+ID4+Pj4NCj4gPj4gPj4+Pg0KPiA+PiA+Pj4+DQo+ID4+ID4+Pj4NCj4gPj4gPj4+Pg0K PiA+PiA+Pj4+DQo+ID4+ID4+Pj4gT24gMTcvMTAvMjAxNywgMzo0OCBQTSwgIkxpdSwgTW9uayIg PE1vbmsuTGl1QGFtZC5jb20+IHdyb3RlOg0KPiA+PiA+Pj4+DQo+ID4+ID4+Pj4+IEkgZG9uJ3Qg dW5kZXJzdGFuZCBob3cgdGhpcyBwYXRjaCB3b3Jrcz8/PyBMb29rcyBsaWtlIGp1c3QgcmVuYW1l DQo+ID4+IHZwb3N0X25lZWRlZCB0byBjaGVja19wb3N0DQo+ID4+ID4+Pj4+DQo+ID4+ID4+Pj4+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ID4+Pj4+IEZyb206IFBpeGVsIERpbmcg W21haWx0bzpQaXhlbC5EaW5nQGFtZC5jb21dDQo+ID4+ID4+Pj4+IFNlbnQ6IDIwMTflubQxMOac iDE35pelIDE0OjM4DQo+ID4+ID4+Pj4+IFRvOiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZzsgTGl1LCBNb25rDQo+ID4+IDxNb25rLkxpdUBhbWQuY29tPjsgS29lbmlnLCBDaHJpc3RpYW4g PENocmlzdGlhbi5Lb2VuaWdAYW1kLmNvbT4NCj4gPj4gPj4+Pj4gQ2M6IExpLCBCaW5nbGV5IDxC aW5nbGV5LkxpQGFtZC5jb20+OyBTdW4sIEdhcnkNCj4gPj4gPEdhcnkuU3VuQGFtZC5jb20+OyBE aW5nLCBQaXhlbCA8UGl4ZWwuRGluZ0BhbWQuY29tPg0KPiA+PiA+Pj4+PiBTdWJqZWN0OiBbUEFU Q0ggMS8zXSBkcm0vYW1kZ3B1OiBhbHdheXMgY29uc2lkZXIgdmlydWFsaXNlZA0KPiBkZXZpY2UN Cj4gPj4gZm9yIGNoZWNraW5nIHBvc3QNCj4gPj4gPj4+Pj4NCj4gPj4gPj4+Pj4gRnJvbTogcGRp bmcgPFBpeGVsLkRpbmdAYW1kLmNvbT4NCj4gPj4gPj4+Pj4NCj4gPj4gPj4+Pj4gVGhlIHBvc3Qg Y2hlY2tpbmcgb24gc2NyYXRjaCByZWdpc3RlcnMgaXNuJ3QgcmVsaWFibGUgZm9yIHZpcnR1YWwN Cj4gZnVuY3Rpb24uDQo+ID4+ID4+Pj4+DQo+ID4+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IHBkaW5n IDxQaXhlbC5EaW5nQGFtZC5jb20+DQo+ID4+ID4+Pj4+IC0tLQ0KPiA+PiA+Pj4+PiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCA4ICsrKystLS0tDQo+ID4+ID4+ Pj4+IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+ID4+ ID4+Pj4+DQo+ID4+ID4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZGV2aWNlLmMNCj4gPj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZGV2aWNlLmMNCj4gPj4gPj4+Pj4gaW5kZXggNjgzOTY1Yi4uYWI4ZjBkNiAxMDA2NDQNCj4g Pj4gPj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5j DQo+ID4+ID4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZp Y2UuYw0KPiA+PiA+Pj4+PiBAQCAtNjY5LDcgKzY2OSw3IEBAIHZvaWQgYW1kZ3B1X2dhcnRfbG9j YXRpb24oc3RydWN0DQo+ID4+IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfbWMg Km1jKQ0KPiA+PiA+Pj4+PiAgICogb3IgcG9zdCBpcyBuZWVkZWQgaWYgIGh3IHJlc2V0IGlzIHBl cmZvcm1lZC4NCj4gPj4gPj4+Pj4gICAqIFJldHVybnMgdHJ1ZSBpZiBuZWVkIG9yIGZhbHNlIGlm IG5vdC4NCj4gPj4gPj4+Pj4gICAqLw0KPiA+PiA+Pj4+PiAtYm9vbCBhbWRncHVfbmVlZF9wb3N0 KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KPiA+PiA+Pj4+PiArc3RhdGljIGJvb2wgYW1k Z3B1X2NoZWNrX3Bvc3Qoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpDQo+ID4+ID4+Pj4+IHsN Cj4gPj4gPj4+Pj4gCXVpbnQzMl90IHJlZzsNCj4gPj4gPj4+Pj4NCj4gPj4gPj4+Pj4gQEAgLTY5 Miw3ICs2OTIsNyBAQCBib29sIGFtZGdwdV9uZWVkX3Bvc3Qoc3RydWN0DQo+ID4+IGFtZGdwdV9k ZXZpY2UgKmFkZXYpDQo+ID4+ID4+Pj4+DQo+ID4+ID4+Pj4+IH0NCj4gPj4gPj4+Pj4NCj4gPj4g Pj4+Pj4gLXN0YXRpYyBib29sIGFtZGdwdV92cG9zdF9uZWVkZWQoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpDQo+ID4+ID4+Pj4+ICtib29sIGFtZGdwdV9uZWVkX3Bvc3Qoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpDQo+ID4+ID4+Pj4+IHsNCj4gPj4gPj4+Pj4gCWlmIChhbWRncHVfc3Jp b3ZfdmYoYWRldikpDQo+ID4+ID4+Pj4+IAkJcmV0dXJuIGZhbHNlOw0KPiA+PiA+Pj4+PiBAQCAt NzE2LDcgKzcxNiw3IEBAIHN0YXRpYyBib29sIGFtZGdwdV92cG9zdF9uZWVkZWQoc3RydWN0DQo+ ID4+IGFtZGdwdV9kZXZpY2UgKmFkZXYpDQo+ID4+ID4+Pj4+IAkJCQlyZXR1cm4gdHJ1ZTsNCj4g Pj4gPj4+Pj4gCQl9DQo+ID4+ID4+Pj4+IAl9DQo+ID4+ID4+Pj4+IC0JcmV0dXJuIGFtZGdwdV9u ZWVkX3Bvc3QoYWRldik7DQo+ID4+ID4+Pj4+ICsJcmV0dXJuIGFtZGdwdV9jaGVja19wb3N0KGFk ZXYpOw0KPiA+PiA+Pj4+PiB9DQo+ID4+ID4+Pj4+DQo+ID4+ID4+Pj4+IC8qKg0KPiA+PiA+Pj4+ PiBAQCAtMjIwOCw3ICsyMjA4LDcgQEAgaW50IGFtZGdwdV9kZXZpY2VfaW5pdChzdHJ1Y3QNCj4g Pj4gYW1kZ3B1X2RldmljZSAqYWRldiwNCj4gPj4gPj4+Pj4gCWFtZGdwdV9kZXZpY2VfZGV0ZWN0 X3NyaW92X2Jpb3MoYWRldik7DQo+ID4+ID4+Pj4+DQo+ID4+ID4+Pj4+IAkvKiBQb3N0IGNhcmQg aWYgbmVjZXNzYXJ5ICovDQo+ID4+ID4+Pj4+IC0JaWYgKGFtZGdwdV92cG9zdF9uZWVkZWQoYWRl dikpIHsNCj4gPj4gPj4+Pj4gKwlpZiAoYW1kZ3B1X25lZWRfcG9zdChhZGV2KSkgew0KPiA+PiA+ Pj4+PiAJCWlmICghYWRldi0+Ymlvcykgew0KPiA+PiA+Pj4+PiAJCQlkZXZfZXJyKGFkZXYtPmRl diwgIm5vIHZCSU9TIGZvdW5kXG4iKTsNCj4gPj4gPj4+Pj4NCj4gPj4gCWFtZGdwdV92Zl9lcnJv cl9wdXQoQU1ER0lNX0VSUk9SX1ZGX05PX1ZCSU9TLCAwLCAwKTsNCj4gPj4gPj4+Pj4gLS0NCj4g Pj4gPj4+Pj4gMi45LjUNCj4gPj4gPj4+Pj4NCj4gPj4gPj4+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4+ID4+PiBhbWQtZ2Z4IG1haWxpbmcgbGlz dA0KPiA+PiA+Pj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gPj4gPj4+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA0KPiA+Pg0K PiA+Pg0KPiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0KPiA+PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdA0KPiA+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZw0KPiA+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2FtZC1nZngNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=