From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Date: Wed, 04 Jul 2018 08:04:41 +0000 Subject: Re: [PATCH 00/21] USB DisplayLink patches Message-Id: <20180704080441.GG3891@phenom.ffwll.local> List-Id: References: <20180603144053.875668929@twibright.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Mikulas Patocka Cc: Linux Fbdev development list , Ladislav Michl , Bartlomiej Zolnierkiewicz , Bernie Thompson , dri-devel , Dave Airlie On Mon, Jun 04, 2018 at 10:14:02AM -0400, Mikulas Patocka wrote: > > > On Mon, 4 Jun 2018, Dave Airlie wrote: > > > On 4 June 2018 at 00:40, Mikulas Patocka wrote: > > > Hi > > > > > > Here I'm sending bug fixes and performance improvements for the USB > > > DisplayLink framebuffer and modesetting drivers for this merge window. > > > > > > > Hi, > > > > You probably want to split these up into separate series for the kms and fbdev > > drivers. > > > > Otherwise at least for drm you've missed this merge window, since it > > closes around rc6 of the previous kernel, > > Could you apply at least the fbdefio patches (without them, fbdefio is > unusable due to crashes) and the display corruption of the last line > (because most people will hit it)? > > > did you use git send-email > > for these patches, at least some of them viewed funny on my phone, > > I used the command "quilt mail". I use quilt, not git, for management of > my patches. > > > I'll try and look over the kms ones soon. Do you have any numbers for > > improvements to the kms ones? > > > > Dave. > > I measured performance improvement on the framebuffer patches. The kms > driver already performs well, there's not much to do. > > I'd like to as you if you could review the patch "udl-kms: fix a > linked-list corruption when using fbdefio" - for me it fixes the crashes, > but I am not expert in modesetting drivers and I don't know if some other > part of the kernel assumes that the framebuffer pages must be allocated > with drm_gem_get_pages. > > > BTW. When I unplug the USB adapter while using the modesetting driver, I > get this warning. Do you have an idea how to fix it? Probably the driver is missing a proper shutdown call (for atomic drivers this would be drm_atomic_helper_shutdown), leaving the connector active, which leaves it's reference count elevated. Or something like that. Aside: Should we maintain uld as part of drm-misc under the small drivers topic? Or is this patch pile here more a one-shot effort? See https://01.org/linuxgraphics/gfx-docs/maintainer-tools/drm-misc.html#small-drivers Cheers, Daniel > > WARNING: CPU: 0 PID: 61 at drivers/gpu/drm/drm_mode_config.c:439 drm_mode_config_cleanup+0x250/0x2b8 [drm] > Modules linked in: udlfb hid_generic usbhid hid tun bridge stp llc autofs4 binfmt_misc ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables ipt_REJECT nf_reject_ipv4 xt_conntrack xt_multiport iptable_filter iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 xt_nat xt_tcpudp iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 ip_tables x_tables pppoe pppox af_packet ppp_generic slhc udl drm_kms_helper cfbfillrect cfbimgblt cfbcopyarea drm drm_panel_orientation_quirks syscopyarea sysfillrect sysimgblt fb_sys_fops fb font snd_usb_audio snd_hwdep snd_usbmidi_lib snd_rawmidi snd_pcm snd_timer snd soundcore nf_nat_ftp nf_conntrack_ftp nf_nat nf_conntrack sd_mod ipv6 aes_ce_blk crypto_simd cryptd aes_ce_cipher crc32_ce ghash_ce gf128mul aes_arm64 sha2_ce > sha256_arm64 sha1_ce xhci_plat_hcd xhci_hcd sha1_generic usbcore usb_common ahci_platform libahci_platform libahci mvpp2 unix > CPU: 0 PID: 61 Comm: kworker/0:2 Not tainted 4.17.0-rc7 #1 > Hardware name: Marvell 8040 MACCHIATOBin (DT) > Workqueue: usb_hub_wq hub_event [usbcore] > pstate: 80000005 (Nzcv daif -PAN -UAO) > pc : drm_mode_config_cleanup+0x250/0x2b8 [drm] > lr : drm_mode_config_cleanup+0x88/0x2b8 [drm] > sp : ffffffc13a643920 > x29: ffffffc13a643920 x28: ffffffc13a63ac00 > x27: ffffffc1380962c0 x26: ffffffc11b95f898 > x25: ffffff8000afd1d8 x24: ffffffc11b95f800 > x23: 0000000000000060 x22: ffffff8000afd240 > x21: ffffffc11b95eb38 x20: ffffffc11b95e800 > x19: ffffffc11b95eb30 x18: ffffffc11b95ea7c > x17: 0000007fa3591b60 x16: ffffff80081dc178 > x15: ffffffc11b95ea78 x14: 0000000000000000 > x13: ffffffc12b3fc000 x12: ffffffc12b3fc028 > x11: ffffffc12b3fc119 x10: 000000000000001f > x9 : 0000000000000028 x8 : ffffff8000a84000 > x7 : 0000000000000000 x6 : 0000000000000001 > x5 : 0000000000000002 x4 : 0000000000000001 > x3 : 0000000000000002 x2 : 000000000000002f > x1 : ffffffc11b95eaf8 x0 : ffffffc11b978818 > Call trace: > drm_mode_config_cleanup+0x250/0x2b8 [drm] > udl_modeset_cleanup+0xc/0x18 [udl] > udl_driver_unload+0x30/0x50 [udl] > drm_dev_unregister+0x3c/0xe8 [drm] > drm_dev_unplug+0x18/0x70 [drm] > udl_usb_disconnect+0x30/0x40 [udl] > usb_unbind_interface+0x6c/0x290 [usbcore] > device_release_driver_internal+0x170/0x200 > device_release_driver+0x14/0x20 > bus_remove_device+0x118/0x128 > device_del+0x110/0x308 > usb_disable_device+0x8c/0x1f8 [usbcore] > usb_disconnect+0xb4/0x218 [usbcore] > usb_disconnect+0x9c/0x218 [usbcore] > usb_disconnect+0x9c/0x218 [usbcore] > hub_event+0xf20/0x1020 [usbcore] > process_one_work+0x1c8/0x310 > worker_thread+0x44/0x450 > kthread+0x118/0x120 > ret_from_fork+0x10/0x18 > ---[ end trace 978a27ff198f1268 ]--- > [drm:drm_mode_config_cleanup [drm]] *ERROR* connector DVI-I-1 leaked! > > Mikulas > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 00/21] USB DisplayLink patches Date: Wed, 4 Jul 2018 10:04:41 +0200 Message-ID: <20180704080441.GG3891@phenom.ffwll.local> References: <20180603144053.875668929@twibright.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9CBAC6E0AC for ; Wed, 4 Jul 2018 08:04:45 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id t3-v6so3398315eds.3 for ; Wed, 04 Jul 2018 01:04:45 -0700 (PDT) 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: Mikulas Patocka Cc: Linux Fbdev development list , Ladislav Michl , Bartlomiej Zolnierkiewicz , Bernie Thompson , dri-devel , Dave Airlie List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBKdW4gMDQsIDIwMTggYXQgMTA6MTQ6MDJBTSAtMDQwMCwgTWlrdWxhcyBQYXRvY2th IHdyb3RlOgo+IAo+IAo+IE9uIE1vbiwgNCBKdW4gMjAxOCwgRGF2ZSBBaXJsaWUgd3JvdGU6Cj4g Cj4gPiBPbiA0IEp1bmUgMjAxOCBhdCAwMDo0MCwgTWlrdWxhcyBQYXRvY2thIDxtcGF0b2NrYUBy ZWRoYXQuY29tPiB3cm90ZToKPiA+ID4gSGkKPiA+ID4KPiA+ID4gSGVyZSBJJ20gc2VuZGluZyBi dWcgZml4ZXMgYW5kIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBmb3IgdGhlIFVTQgo+ID4gPiBE aXNwbGF5TGluayBmcmFtZWJ1ZmZlciBhbmQgbW9kZXNldHRpbmcgZHJpdmVycyBmb3IgdGhpcyBt ZXJnZSB3aW5kb3cuCj4gPiA+Cj4gPiAKPiA+IEhpLAo+ID4gCj4gPiBZb3UgcHJvYmFibHkgd2Fu dCB0byBzcGxpdCB0aGVzZSB1cCBpbnRvIHNlcGFyYXRlIHNlcmllcyBmb3IgdGhlIGttcyBhbmQg ZmJkZXYKPiA+IGRyaXZlcnMuCj4gPiAKPiA+IE90aGVyd2lzZSBhdCBsZWFzdCBmb3IgZHJtIHlv dSd2ZSBtaXNzZWQgdGhpcyBtZXJnZSB3aW5kb3csIHNpbmNlIGl0Cj4gPiBjbG9zZXMgYXJvdW5k IHJjNiBvZiB0aGUgcHJldmlvdXMga2VybmVsLAo+IAo+IENvdWxkIHlvdSBhcHBseSBhdCBsZWFz dCB0aGUgZmJkZWZpbyBwYXRjaGVzICh3aXRob3V0IHRoZW0sIGZiZGVmaW8gaXMgCj4gdW51c2Fi bGUgZHVlIHRvIGNyYXNoZXMpIGFuZCB0aGUgZGlzcGxheSBjb3JydXB0aW9uIG9mIHRoZSBsYXN0 IGxpbmUgCj4gKGJlY2F1c2UgbW9zdCBwZW9wbGUgd2lsbCBoaXQgaXQpPwo+IAo+ID4gZGlkIHlv dSB1c2UgZ2l0IHNlbmQtZW1haWwKPiA+IGZvciB0aGVzZSBwYXRjaGVzLCBhdCBsZWFzdCBzb21l IG9mIHRoZW0gdmlld2VkIGZ1bm55IG9uIG15IHBob25lLAo+IAo+IEkgdXNlZCB0aGUgY29tbWFu ZCAicXVpbHQgbWFpbCIuIEkgdXNlIHF1aWx0LCBub3QgZ2l0LCBmb3IgbWFuYWdlbWVudCBvZiAK PiBteSBwYXRjaGVzLgo+IAo+ID4gSSdsbCB0cnkgYW5kIGxvb2sgb3ZlciB0aGUga21zIG9uZXMg c29vbi4gRG8geW91IGhhdmUgYW55IG51bWJlcnMgZm9yCj4gPiBpbXByb3ZlbWVudHMgdG8gdGhl IGttcyBvbmVzPwo+ID4gCj4gPiBEYXZlLgo+IAo+IEkgbWVhc3VyZWQgcGVyZm9ybWFuY2UgaW1w cm92ZW1lbnQgb24gdGhlIGZyYW1lYnVmZmVyIHBhdGNoZXMuIFRoZSBrbXMgCj4gZHJpdmVyIGFs cmVhZHkgcGVyZm9ybXMgd2VsbCwgdGhlcmUncyBub3QgbXVjaCB0byBkby4KPiAKPiBJJ2QgbGlr ZSB0byBhcyB5b3UgaWYgeW91IGNvdWxkIHJldmlldyB0aGUgcGF0Y2ggInVkbC1rbXM6IGZpeCBh IAo+IGxpbmtlZC1saXN0IGNvcnJ1cHRpb24gd2hlbiB1c2luZyBmYmRlZmlvIiAtIGZvciBtZSBp dCBmaXhlcyB0aGUgY3Jhc2hlcywgCj4gYnV0IEkgYW0gbm90IGV4cGVydCBpbiBtb2Rlc2V0dGlu ZyBkcml2ZXJzIGFuZCBJIGRvbid0IGtub3cgaWYgc29tZSBvdGhlciAKPiBwYXJ0IG9mIHRoZSBr ZXJuZWwgYXNzdW1lcyB0aGF0IHRoZSBmcmFtZWJ1ZmZlciBwYWdlcyBtdXN0IGJlIGFsbG9jYXRl ZCAKPiB3aXRoIGRybV9nZW1fZ2V0X3BhZ2VzLgo+IAo+IAo+IEJUVy4gV2hlbiBJIHVucGx1ZyB0 aGUgVVNCIGFkYXB0ZXIgd2hpbGUgdXNpbmcgdGhlIG1vZGVzZXR0aW5nIGRyaXZlciwgSSAKPiBn ZXQgdGhpcyB3YXJuaW5nLiBEbyB5b3UgaGF2ZSBhbiBpZGVhIGhvdyB0byBmaXggaXQ/CgpQcm9i YWJseSB0aGUgZHJpdmVyIGlzIG1pc3NpbmcgYSBwcm9wZXIgc2h1dGRvd24gY2FsbCAoZm9yIGF0 b21pYyBkcml2ZXJzCnRoaXMgd291bGQgYmUgZHJtX2F0b21pY19oZWxwZXJfc2h1dGRvd24pLCBs ZWF2aW5nIHRoZSBjb25uZWN0b3IgYWN0aXZlLAp3aGljaCBsZWF2ZXMgaXQncyByZWZlcmVuY2Ug Y291bnQgZWxldmF0ZWQuIE9yIHNvbWV0aGluZyBsaWtlIHRoYXQuCgpBc2lkZTogU2hvdWxkIHdl IG1haW50YWluIHVsZCBhcyBwYXJ0IG9mIGRybS1taXNjIHVuZGVyIHRoZSBzbWFsbCBkcml2ZXJz CnRvcGljPyBPciBpcyB0aGlzIHBhdGNoIHBpbGUgaGVyZSBtb3JlIGEgb25lLXNob3QgZWZmb3J0 PyBTZWUKCmh0dHBzOi8vMDEub3JnL2xpbnV4Z3JhcGhpY3MvZ2Z4LWRvY3MvbWFpbnRhaW5lci10 b29scy9kcm0tbWlzYy5odG1sI3NtYWxsLWRyaXZlcnMKCkNoZWVycywgRGFuaWVsCgo+IAo+IFdB Uk5JTkc6IENQVTogMCBQSUQ6IDYxIGF0IGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcu Yzo0MzkgZHJtX21vZGVfY29uZmlnX2NsZWFudXArMHgyNTAvMHgyYjggW2RybV0KPiBNb2R1bGVz IGxpbmtlZCBpbjogdWRsZmIgaGlkX2dlbmVyaWMgdXNiaGlkIGhpZCB0dW4gYnJpZGdlIHN0cCBs bGMgYXV0b2ZzNCBiaW5mbXRfbWlzYyBpcDZ0X1JFSkVDVCBuZl9yZWplY3RfaXB2NiBuZl9jb25u dHJhY2tfaXB2NiBuZl9kZWZyYWdfaXB2NiBpcDZ0YWJsZV9maWx0ZXIgaXA2X3RhYmxlcyBpcHRf UkVKRUNUIG5mX3JlamVjdF9pcHY0IHh0X2Nvbm50cmFjayB4dF9tdWx0aXBvcnQgaXB0YWJsZV9m aWx0ZXIgaXB0YWJsZV9tYW5nbGUgaXB0X01BU1FVRVJBREUgbmZfbmF0X21hc3F1ZXJhZGVfaXB2 NCB4dF9uYXQgeHRfdGNwdWRwIGlwdGFibGVfbmF0IG5mX2Nvbm50cmFja19pcHY0IG5mX2RlZnJh Z19pcHY0IG5mX25hdF9pcHY0IGlwX3RhYmxlcyB4X3RhYmxlcyBwcHBvZSBwcHBveCBhZl9wYWNr ZXQgcHBwX2dlbmVyaWMgc2xoYyB1ZGwgZHJtX2ttc19oZWxwZXIgY2ZiZmlsbHJlY3QgY2ZiaW1n Ymx0IGNmYmNvcHlhcmVhIGRybSBkcm1fcGFuZWxfb3JpZW50YXRpb25fcXVpcmtzIHN5c2NvcHlh cmVhIHN5c2ZpbGxyZWN0IHN5c2ltZ2JsdCBmYl9zeXNfZm9wcyBmYiBmb250IHNuZF91c2JfYXVk aW8gc25kX2h3ZGVwIHNuZF91c2JtaWRpX2xpYiBzbmRfcmF3bWlkaSBzbmRfcGNtIHNuZF90aW1l ciBzbmQgc291bmRjb3JlIG5mX25hdF9mdHAgbmZfY29ubnRyYWNrX2Z0cCBuZl9uYXQgbmZfY29u bnRyYWNrIHNkX21vZCBpcHY2IGFlc19jZV9ibGsgY3J5cHRvX3NpbWQgY3J5cHRkIGFlc19jZV9j aXBoZXIgY3JjMzJfY2UgZ2hhc2hfY2UgZ2YxMjhtdWwgYWVzX2FybTY0IHNoYTJfY2UKPiAgc2hh MjU2X2FybTY0IHNoYTFfY2UgeGhjaV9wbGF0X2hjZCB4aGNpX2hjZCBzaGExX2dlbmVyaWMgdXNi Y29yZSB1c2JfY29tbW9uIGFoY2lfcGxhdGZvcm0gbGliYWhjaV9wbGF0Zm9ybSBsaWJhaGNpIG12 cHAyIHVuaXgKPiBDUFU6IDAgUElEOiA2MSBDb21tOiBrd29ya2VyLzA6MiBOb3QgdGFpbnRlZCA0 LjE3LjAtcmM3ICMxCj4gSGFyZHdhcmUgbmFtZTogTWFydmVsbCA4MDQwIE1BQ0NISUFUT0JpbiAo RFQpCj4gV29ya3F1ZXVlOiB1c2JfaHViX3dxIGh1Yl9ldmVudCBbdXNiY29yZV0KPiBwc3RhdGU6 IDgwMDAwMDA1IChOemN2IGRhaWYgLVBBTiAtVUFPKQo+IHBjIDogZHJtX21vZGVfY29uZmlnX2Ns ZWFudXArMHgyNTAvMHgyYjggW2RybV0KPiBsciA6IGRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKzB4 ODgvMHgyYjggW2RybV0KPiBzcCA6IGZmZmZmZmMxM2E2NDM5MjAKPiB4Mjk6IGZmZmZmZmMxM2E2 NDM5MjAgeDI4OiBmZmZmZmZjMTNhNjNhYzAwCj4geDI3OiBmZmZmZmZjMTM4MDk2MmMwIHgyNjog ZmZmZmZmYzExYjk1Zjg5OAo+IHgyNTogZmZmZmZmODAwMGFmZDFkOCB4MjQ6IGZmZmZmZmMxMWI5 NWY4MDAKPiB4MjM6IDAwMDAwMDAwMDAwMDAwNjAgeDIyOiBmZmZmZmY4MDAwYWZkMjQwCj4geDIx OiBmZmZmZmZjMTFiOTVlYjM4IHgyMDogZmZmZmZmYzExYjk1ZTgwMAo+IHgxOTogZmZmZmZmYzEx Yjk1ZWIzMCB4MTg6IGZmZmZmZmMxMWI5NWVhN2MKPiB4MTc6IDAwMDAwMDdmYTM1OTFiNjAgeDE2 OiBmZmZmZmY4MDA4MWRjMTc4Cj4geDE1OiBmZmZmZmZjMTFiOTVlYTc4IHgxNDogMDAwMDAwMDAw MDAwMDAwMAo+IHgxMzogZmZmZmZmYzEyYjNmYzAwMCB4MTI6IGZmZmZmZmMxMmIzZmMwMjgKPiB4 MTE6IGZmZmZmZmMxMmIzZmMxMTkgeDEwOiAwMDAwMDAwMDAwMDAwMDFmCj4geDkgOiAwMDAwMDAw MDAwMDAwMDI4IHg4IDogZmZmZmZmODAwMGE4NDAwMAo+IHg3IDogMDAwMDAwMDAwMDAwMDAwMCB4 NiA6IDAwMDAwMDAwMDAwMDAwMDEKPiB4NSA6IDAwMDAwMDAwMDAwMDAwMDIgeDQgOiAwMDAwMDAw MDAwMDAwMDAxCj4geDMgOiAwMDAwMDAwMDAwMDAwMDAyIHgyIDogMDAwMDAwMDAwMDAwMDAyZgo+ IHgxIDogZmZmZmZmYzExYjk1ZWFmOCB4MCA6IGZmZmZmZmMxMWI5Nzg4MTgKPiBDYWxsIHRyYWNl Ogo+ICBkcm1fbW9kZV9jb25maWdfY2xlYW51cCsweDI1MC8weDJiOCBbZHJtXQo+ICB1ZGxfbW9k ZXNldF9jbGVhbnVwKzB4Yy8weDE4IFt1ZGxdCj4gIHVkbF9kcml2ZXJfdW5sb2FkKzB4MzAvMHg1 MCBbdWRsXQo+ICBkcm1fZGV2X3VucmVnaXN0ZXIrMHgzYy8weGU4IFtkcm1dCj4gIGRybV9kZXZf dW5wbHVnKzB4MTgvMHg3MCBbZHJtXQo+ICB1ZGxfdXNiX2Rpc2Nvbm5lY3QrMHgzMC8weDQwIFt1 ZGxdCj4gIHVzYl91bmJpbmRfaW50ZXJmYWNlKzB4NmMvMHgyOTAgW3VzYmNvcmVdCj4gIGRldmlj ZV9yZWxlYXNlX2RyaXZlcl9pbnRlcm5hbCsweDE3MC8weDIwMAo+ICBkZXZpY2VfcmVsZWFzZV9k cml2ZXIrMHgxNC8weDIwCj4gIGJ1c19yZW1vdmVfZGV2aWNlKzB4MTE4LzB4MTI4Cj4gIGRldmlj ZV9kZWwrMHgxMTAvMHgzMDgKPiAgdXNiX2Rpc2FibGVfZGV2aWNlKzB4OGMvMHgxZjggW3VzYmNv cmVdCj4gIHVzYl9kaXNjb25uZWN0KzB4YjQvMHgyMTggW3VzYmNvcmVdCj4gIHVzYl9kaXNjb25u ZWN0KzB4OWMvMHgyMTggW3VzYmNvcmVdCj4gIHVzYl9kaXNjb25uZWN0KzB4OWMvMHgyMTggW3Vz YmNvcmVdCj4gIGh1Yl9ldmVudCsweGYyMC8weDEwMjAgW3VzYmNvcmVdCj4gIHByb2Nlc3Nfb25l X3dvcmsrMHgxYzgvMHgzMTAKPiAgd29ya2VyX3RocmVhZCsweDQ0LzB4NDUwCj4gIGt0aHJlYWQr MHgxMTgvMHgxMjAKPiAgcmV0X2Zyb21fZm9yaysweDEwLzB4MTgKPiAtLS1bIGVuZCB0cmFjZSA5 NzhhMjdmZjE5OGYxMjY4IF0tLS0KPiBbZHJtOmRybV9tb2RlX2NvbmZpZ19jbGVhbnVwIFtkcm1d XSAqRVJST1IqIGNvbm5lY3RvciBEVkktSS0xIGxlYWtlZCEKPiAKPiBNaWt1bGFzCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFp bGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKRGFuaWVs IFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cu ZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==