From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesper Dangaard Brouer Subject: Re: NIU driver: Sun x8 Express Quad Gigabit Ethernet Adapter (rmmod BUG) Date: Wed, 19 Nov 2008 13:10:45 +0100 Message-ID: <1227096645.25811.17.camel@localhost.localdomain> References: <20081113.140824.156293734.davem@davemloft.net> <1226666324.17392.11.camel@localhost.localdomain> <1226688562.12092.8.camel@localhost.localdomain> <20081114.162105.193724466.davem@davemloft.net> Reply-To: jdb@comx.dk Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-U7lXVdzKblzFUILGbG0t" Cc: netdev@vger.kernel.org To: David Miller Return-path: Received: from lanfw001a.cxnet.dk ([87.72.215.196]:33334 "EHLO lanfw001a.cxnet.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753721AbYKSMKt (ORCPT ); Wed, 19 Nov 2008 07:10:49 -0500 In-Reply-To: <20081114.162105.193724466.davem@davemloft.net> Sender: netdev-owner@vger.kernel.org List-ID: --=-U7lXVdzKblzFUILGbG0t Content-Type: text/plain Content-Transfer-Encoding: 7bit On Fri, 2008-11-14 at 16:21 -0800, David Miller wrote: > From: Jesper Dangaard Brouer > Date: Fri, 14 Nov 2008 19:49:22 +0100 > > > On Fri, 2008-11-14 at 13:38 +0100, Jesper Dangaard Brouer wrote: > > > On Thu, 2008-11-13 at 14:08 -0800, David Miller wrote: > > > > I suspect that something might be changing np->num_ldg, but > > > > anyways the following debugging patch should provide some > > > > clues. Please reproduce this and send the logs it generates. > > > > > > Debugging the rmmod problem... > > > > > > I found a strange behavior, rmmod'ing the niu driver will only cause a > > > kernel BUG, if the driver was loaded at boot time. If I remove the > > > niu.ko driver from /lib/modules/2.6.28-rc4-davem/kernel/drivers/net/ > > > reboot the system. After that I can load and unload the niu.ko driver > > > without problems... hmmm > > > > Perhaps this is a regression, as the problem is not in v2.6.27. > > This is what I started to suspect as well. > > > I'll start bisecting monday... > > > > I'm not sure its a NIU driver bug, as the number of changes to niu.c is > > very small since v2.6.27. (git log v2.6.27.. drivers/net/niu.c) > > Ok, let me know what your bisect finds. I have given up bisecting because during my bisect I have hit a kernel that will not boot on my system (it hangs...) I have attached the full bisect history document... -- Med venlig hilsen / Best regards Jesper Brouer ComX Networks A/S Linux Network developer Cand. Scient Datalog / MSc. Author of http://adsl-optimizer.dk LinkedIn: http://www.linkedin.com/in/brouer --=-U7lXVdzKblzFUILGbG0t Content-Disposition: attachment; filename=bisect_niu_rmmod.apt Content-Type: text/plain; name=bisect_niu_rmmod.apt; charset=us-ascii Content-Transfer-Encoding: base64 fn4gLSotdGV4dC0qLQ0KDQogICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCQkJICAgIEJpc2VjdGluZyBidWc6DQoJCSAgICAgIE5J VSBkcml2ZXIgcm1tb2QgTVNJLVggYnVnDQogICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCQkgSmVzcGVyIERhbmdhYXJkIEJyb3Vl ciAoamRiQGNvbXguZGspDQogICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSRMYXN0Q2hhbmdlZFJldmlzaW9uOiA3NzIgJA0KCSRE YXRlOiAyMDA4LTExLTE5IDEzOjA4OjEzICswMTAwIChXZWQsIDE5IE5vdiAyMDA4KSAkDQogICAg ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KDQoNCmdpdCBjbG9uZQ0Kfn5+fn5+fn5+DQoNCistLS0tLS0tLS0NCiBjZCAvdmFyL2tlcm5l bHMvZ2l0L2RhdmVtDQogZ2l0IGNsb25lIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlu dXgva2VybmVsL2dpdC9kYXZlbS9uZXQtMi42LmdpdCBuZXQtMi42LWJpc2VjdA0KKy0tLS0tLS0t LQ0KDQoNCkJ1ZyBkZXNjcmlwdGlvbg0Kfn5+fn5+fn5+fn5+fn5+DQoNCiBOSVUgZHJpdmVyIHJt bW9kIGtlcm5lbCBNU0ktWCBidWcuDQoNCiBJIGZvdW5kIGEgc3RyYW5nZSBiZWhhdmlvciwgcm1t b2QnaW5nIHRoZSBuaXUgZHJpdmVyIHdpbGwgb25seSBjYXVzZQ0KIGEga2VybmVsIEJVRywgaWYg dGhlIGRyaXZlciB3YXMgbG9hZGVkIGF0IGJvb3QgdGltZS4gIElmIEkgcmVtb3ZlIHRoZQ0KIG5p dS5rbyBkcml2ZXIgZnJvbSAvbGliL21vZHVsZXMvMi42LjI4LXJjNC1kYXZlbS9rZXJuZWwvZHJp dmVycy9uZXQvDQogcmVib290IHRoZSBzeXN0ZW0uICBBZnRlciB0aGF0IEkgY2FuIGxvYWQgYW5k IHVubG9hZCB0aGUgbml1LmtvDQogZHJpdmVyIHdpdGhvdXQgcHJvYmxlbXMuLi4gaG1tbS4NCg0K UmVwcm9kdWNlIC8gdGVzdA0Kfn5+fn5+fn5+fn5+fn5+fg0KDQogMS4gQm9vdCBtYWNoaW5lDQoN CiAyLiBybW1vZCBuaXUNCg0KIDMuIGxvb2sgYXQgZG1lc2cgZm9yIGtlcm5lbCBCVUcgb3V0cHV0 DQoNCg0KSW5zdGFsbCB0cmljaw0Kfn5+fn5+fn5+fn5+fg0KDQogSW5zdGFsbGluZyBrZXJuZWwg aW4gYSBzZXBlcmF0ZSBkaXJlY3RvcnkuDQoNCistLS0tLS0tLQ0KIGV4cG9ydCBWRVI9YGNhdCBp bmNsdWRlL2NvbmZpZy9rZXJuZWwucmVsZWFzZWANCiBlY2hvICRWRVINCg0KIGV4cG9ydCBJTlNU QUxMX01PRF9QQVRIPS92YXIva2VybmVscy9naXQvaW5zdGFsbC8NCiBybSAtcmYgJElOU1RBTExf TU9EX1BBVEgvbGliL21vZHVsZXMvJFZFUi9rZXJuZWwvDQogbWFrZSBtb2R1bGVzX2luc3RhbGwN Cg0KIGV4cG9ydCBCT09UPSIkSU5TVEFMTF9NT0RfUEFUSC9ib290LyINCiBbIC1kICRCT09UIF0g fHwgIG1rZGlyICRCT09UDQoNCiBjcCAtdiBhcmNoL3g4Ni9ib290L2J6SW1hZ2UgJEJPT1Qvdm1s aW51ei0kVkVSDQogY3AgLXYgYXJjaC9pMzg2L2Jvb3QvYnpJbWFnZSAkQk9PVC92bWxpbnV6LSRW RVINCiBjcCAtdiBTeXN0ZW0ubWFwICRCT09UL1N5c3RlbS5tYXAtJFZFUg0KIGNwIC12IHZtbGlu dXggJEJPT1Qvdm1saW51eC0kVkVSDQorLS0tLS0tLS0NCg0KKiBQdXNoIHRvIHRlc3QgaG9zdA0K ICB+fn5+fn5+fn5+fn5+fn5+fg0KDQogZXhwb3J0IEtFUk5FTD0yLjYuMjctZGF2ZW0NCiBleHBv cnQgS0VSTkVMPTIuNi4yOC1yYzItZGF2ZW0NCiBleHBvcnQgS0VSTkVMPTIuNi4yOC1yYzQtZGF2 ZW0NCg0KKy0tLS0tLS0tDQogZXhwb3J0IEhPU1Q9bmcNCiBleHBvcnQgS0VSTkVMPSRWRVINCiBw dXNoZCAvdmFyL2tlcm5lbHMvZ2l0L2luc3RhbGwNCiByc3luYyAtZSBzc2ggLWF2eiBib290L3Zt bGludXotJHtLRVJORUx9IHJvb3RAJHtIT1NUfTovYm9vdC8NCiByc3luYyAtZSBzc2ggLWF2eiBi b290L3ZtbGludXgtJHtLRVJORUx9IHJvb3RAJHtIT1NUfTovYm9vdC8NCiByc3luYyAtZSBzc2gg LWF2eiAtLWRlbGV0ZSBsaWIvbW9kdWxlcy8ke0tFUk5FTH0gIHJvb3RAJHtIT1NUfTovbGliL21v ZHVsZXMvDQogcG9wZA0KKy0tLS0tLS0tDQoNCg0KQ3JlYXRlIGJyYW5jaCBmcm9tIHRhZzoNCn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQoNCiBLbm93biBnb29kIHN0YXJ0aW5nIHBvaW50Lg0KDQor LS0tLS0tLS0tLS0NCiBnaXQgYnJhbmNoICAgdGFnX3YyLjYuMjcgdjIuNi4yNw0KIGdpdCBjaGVj a291dCB0YWdfdjIuNi4yNw0KKy0tLS0tLS0tLS0tDQoNCg0KU3RhcnQgYmlzZWN0DQp+fn5+fn5+ fn5+fn4NCg0KKy0tLS0tLS0tDQogZ2l0IGNoZWNrb3V0IG1hc3Rlcg0KIGdpdCBiaXNlY3Qgc3Rh cnQNCiBnaXQgYmlzZWN0IGdvb2QgdjIuNi4yNw0KIGdpdCBiaXNlY3QgYmFkIG1hc3Rlcg0KKy0t LS0tLS0tDQoNCiBDcmVhdGUgLmNvbmZpZyBieSA8PDxtYWtlIG9sZGNvbmZpZz4+PiBvciA8PDxt YWtlIG1lbnVjb25maWc+Pj4NCg0KKy0tLS0tLS0NCiBiaXNlY3QgZ29vZA0KI0Jpc2VjdGluZzog MjE1NyByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMNCiNbOTJiMjliODZmZTJlMTgz ZDQ0ZWI0NjdlNWU3NGE1ZjcxOGVmMmU0M10NCiNNZXJnZSBicmFuY2ggJ3RyYWNpbmctdjI4LWZv ci1saW51cycgb2YgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0 L3RpcC9saW51eC0yLjYtdGlwDQorLS0tLS0tLQ0KDQogY29tcGlsZToNCiAgdGltZSBtYWtlIC1q NiBiekltYWdlIG1vZHVsZXMNCg0KDQogU29ydCBvZiAiZ29vZCIgdmVyc2lvbiwgcHJvYmxlbSBp cyB0aGF0IG51bWJlciBvZiBJUlFzIHdoZW4gZG93biBhDQogbG90ISAgVGhpcyBwcm9iYWJseSBt ZWFucyBiYWQgcGVyZm9ybWFuY2UgYXMgSSBjYW5ub3QgZ2V0IGVub3VnaCBJUlFzDQogZm9yIHRo ZSBTdW4gTklDLg0KDQorLS0tLS0tLS0NCiBiaXNlY3QgZ29vZA0KI0Jpc2VjdGluZzogMTA2NiBy ZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMNCiNbZWE1NDE2ODZkODQ1NGVmYWM0ZjJi NWMwNzY3YWZmYjEyZDRiNmE1Ml0gDQojTWVyZ2UgYnJhbmNoICdmb3ItbGludXMnIG9mIGdpdDov L2dpdC5vLWhhbmQuY29tL2xpbnV4LXJwdXJkaWUtbGVkcw0KKy0tLS0tLS0tDQoNCiBjb21waWxl Og0KICB0aW1lIG1ha2UgLWo2IGJ6SW1hZ2UgbW9kdWxlcw0KDQoNCiBDUkFQISAtIGtlcm5lbCAo Y29tbWl0IGVhNTQxNjg2ZDg0NTRlZmFjNGYyYjVjMDc2N2FmZmIxMmQ0YjZhNTIpIHdpbGwNCiBu b3QgYm9vdCBvbiBteSBzeXN0ZW0gOi0oKCgNCg0KIFN0b3BzIHdpdGggbWVzc2FnZToNCg0KKy0t LS0tLQ0KIGhwZXQwOiAzIGNvbXBhcmF0b3JzLCA2NC1iaXQgMTQuMzE4MTgwIE1oeiBjb3VudGVy DQorLS0tLS0tDQoNCiA8PFRyeSB0bzo+PiByZW1vdmVkICJIaWdoIFJlc29sdXRpb24gVGltZXIg U3VwcG9ydCIgaW4gLmNvbmZpZw0KIENPTkZJR19ISUdIX1JFU19USU1FUlMgYW5kIENPTkZJR19T Q0hFRF9IUlRJQ0suDQoNCiBEaXNhYmxlICJIUEVUIFRpbWVyIFN1cHBvcnQiICh1bmRlciAiUHJv Y2Vzc29yIHR5cGUgYW5kIGZlYXR1cmVzIikuDQogVW5kZWZzIENPTkZJR19IUEVUX1RJTUVSIGFu ZCBDT05GSUdfSFBFVF9FTVVMQVRFX1JUQy4NCg0KIENvbXBpbGluZyAuLi4gaW5zdGFsbGluZyAu Li4gSXQgd2FzIG5vdCB0aGUgcHJvYmxlbS4uLiBub3cgSSBnZXQgYQ0KICJCVUc6IHNvZnQgbG9j a3VwIiBrc3RvcCBFSVAgaXMgYSBzdG9wX2NwdSsweDM3LzB4YjAuDQoNCg0KKiBQYXJhbGxlbCBw cm9jZXNzIzE6DQp+fn5+fn5+fn5+fn5+fn5+fn5+fg0KDQogPDxUcnkgdG86Pj4gUGljayBhIG5l dyBjb21taXQgcG9pbnQgYSBtYWtlIGEgbmV3IHNlcGVyYXRlIGJyYW5jaCBhbmQNCiB0cnkgdG8g c2VlIGlmIHdlIGNhYiBib290Li4uIHJhbmRvbSBwaWNrZWQgY29tbWl0DQogOWExYzM1NDI3Njhi NWE1OGU0NWE5MjE2OTIxY2QxMGEzYmFlMTIwNQ0KDQogZ2l0IGNoZWNrb3V0IC1iIG5ld19iaXNl Y3RfcG9pbnQwMSA5YTFjMzU0Mjc2OGI1YTU4ZTQ1YTkyMTY5MjFjZDEwYTNiYWUxMjA1DQoNCiBD b21waWxlIG9uIGFub3RoZXIgdHJlZSBkYXZlbS9uZXQtMi42LWNvcHkuDQoNCiBLZXJuZWwgbmFt ZWQgIi10ZXN0Ii4NCg0KIEl0IGNhbiBib290IGFuZCB1bmxvYWRpbmcgIm5pdSIgZHJpdmVyIFdP UktTIQ0KDQogSWYgSSB1bmRlcnN0YW5kIGJpc2VjdCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8g Y2FsbDoNCg0KICAgZ2l0LWJpc2VjdCBnb29kIDlhMWMzNTQyNzY4YjVhNThlNDVhOTIxNjkyMWNk MTBhM2JhZTEyMDUNCg0KDQoqIFBhcmFsbGVsIHByb2Nlc3MjMjoNCn5+fn5+fn5+fn5+fn5+fn5+ fn5+DQoNCiA8PFRyeSB0bzo+PiB1c2UgZ2l0LWJpc2VjdCBza2lwDQoNCistLS0tLS0NCmdpdC1i aXNlY3Qgc2tpcA0KQmlzZWN0aW5nOiAxMDY2IHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIg dGhpcw0KWzk2OTkwN2E5NTY3NTJmODhkZGU0YWEyM2ZhOGMwMzNiOWE5MzlhZWVdIE1lcmdlIGdp dDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9iYXJ0L2lkZS0yLjYN CistLS0tLS0NCg0KIFNUSUxMIEhBTkdTIG9uIGJvb3QgOi0oKCgNCg0KDQoqIEJhY2sgb24gdHJh Y2suLi4NCn5+fn5+fn5+fn5+fn5+fn5+fg0KDQorLS0tLS0tLS0NCmdpdC1iaXNlY3QgZ29vZCA5 YTFjMzU0Mjc2OGI1YTU4ZTQ1YTkyMTY5MjFjZDEwYTNiYWUxMjA1DQpCaXNlY3Rpbmc6IDEwMDAg cmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzDQpbMTEzN2ZiNjcwNDY1YjZiNWQxNWI5 ZGI3ZDAxNzA3YTU4MzNlZTNhZV0gYXJtIGlkZSBicmVha2FnZQ0KKy0tLS0tLS0tDQoNCiBjb21w aWxlLi4uIGluc3RhbGwuLi4NCg0KIEJBRDogQm9vdGluZyAobm93IDIuNi4yOC1yYzEtYmlzZWN0 KSBhbmQgdW5sb2FkaW5nICJuaXUiIGNhdXNlcyB0aGUgYnVnIQ0KDQogTWFyayBiaXNlY3Rpbmcg YXMgQkFELg0KDQorLS0tLS0tLS0tLQ0KZ2l0LWJpc2VjdCBiYWQNCkJpc2VjdGluZzogNTA4IHJl dmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcw0KWzM2ZWM4OTE4OTUwMjBmM2JjOTk1M2M4 YjExZDA3OWM2ZDc3ZDc2YmRdIE1lcmdlIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlu dXgva2VybmVsL2dpdC9sZXRoYWwvc2gtMi42DQorLS0tLS0tLS0tLQ0KDQogY29tcGlsZSAuLi4g aW5zdGFsbCAuLi4gKGJhY2sgb24gdmVyLiAyLjYuMjctYmlzZWN0KQ0KDQogR1JSUlIuLi4gTm93 IEkgY2Fubm90IGJvb3QgYWdhaW4hIDotKCgoDQoNCiogVHJ5IHRvIGZpbmQgYSBuZXcgcGxhY2UN CiAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCg0KIFJhbmRvbSBwaWNrOiBkYmFjZWZjOWM0ZjZi ZDM2NTI0M2RiMzc5NDczYWI3MDQxNjU2ZDkwDQoNCistLS0tLS0tLQ0KIGNkIC92YXIva2VybmVs cy9naXQvZGF2ZW0vbmV0LTIuNi1jb3B5Lw0KIGdpdCBjaGVja291dCAtYiBuZXdfYmlzZWN0X3Bv aW50MDIgZGJhY2VmYzljNGY2YmQzNjUyNDNkYjM3OTQ3M2FiNzA0MTY1NmQ5MA0KKy0tLS0tLS0t DQoNCiBWRVI9Mi42LjI3LXJjMS10ZXN0DQoNCiBUaGlzIHZlcnNpb24gY2FuIGJvb3QgYW5kIHVu bG9hZGluZyBuaXUgd29ya3MuDQoNCiogQmFjayBvbiB0cmFjaygyKSAuLi4gYnV0IG5vdCA6LSgN Cn5+fn5+fn5+fn5+fn5+fn5+fg0KDQogZ2l0LWJpc2VjdCBnb29kIGRiYWNlZmM5YzRmNmJkMzY1 MjQzZGIzNzk0NzNhYjcwNDE2NTZkOTANCg0KKy0tLS0tLS0tDQpnaXQtYmlzZWN0IGdvb2QgZGJh Y2VmYzljNGY2YmQzNjUyNDNkYjM3OTQ3M2FiNzA0MTY1NmQ5MA0KQmlzZWN0aW5nOiA1MDggcmV2 aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzDQpbMzZlYzg5MTg5NTAyMGYzYmM5OTUzYzhi MTFkMDc5YzZkNzdkNzZiZF0gTWVyZ2UgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51 eC9rZXJuZWwvZ2l0L2xldGhhbC9zaC0yLjYNCistLS0tLS0tLS0NCg0KIEhtbW0uLi4gY29tbWl0 IDM2ZWM4OTE4OTUwMjBmM2JjOTk1M2M4YjExZDA3OWM2ZDc3ZDc2YmQgd2FzIHRoZSBzYW1lDQog YXMgYmVmb3JlLi4uIHdoaWNoIGNvdWxkIG5vdCBib290Li4uDQoNCiogVHJ5IGEgYmlzZWN0IHNr aXAuLi4NCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCg0KKy0tLS0tLS0tLQ0KIGdpdCBiaXNlY3Qg c2tpcA0KQmlzZWN0aW5nOiA1MDggcmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzDQpb NzA3NDBkNmM5MzAzMGIzMzliNGFkMTdmZDU4ZWUxMzVkZmMxMzkxM10gTWVyZ2UgYnJhbmNoICdk cm0tbmV4dCcgb2YgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0 L2FpcmxpZWQvZHJtLTIuNg0KKy0tLS0tLS0tLQ0KDQogY29tcGlsZSAuLi4gaW5zdGFsbCAuLi4g Ym9vdC4uLiBDQU5OT1QgQk9PVCAhISEgOi0oKCgNCg0KDQoqIERvaW5nIGx1Y2t5IGd1ZXNzaW5n DQp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQoNCiBnaXQtYmlzZWN0IGdvb2QNCg0KKy0tLS0tLS0t LS0tLS0tDQpnaXQtYmlzZWN0IGdvb2QNCkJpc2VjdGluZzogMjU5IHJldmlzaW9ucyBsZWZ0IHRv IHRlc3QgYWZ0ZXIgdGhpcw0KWzIyNDg0ODU2NDAyYmZhMWZmM2RlZmU0N2Y2MDI5YWIwNDE4MjQw ZDldIE1lcmdlIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC92 aXJvL2JkZXYNCistLS0tLS0tLS0tLS0tLQ0KDQogQVJHSCEhISAtLSBjYW5ub3QgYm9vdCB0aGlz IGtlcm5lbCwgaXQgaGFuZ3MgOi0oKCgNCg0KKiBEb2luZyBkZXNwZXJhdGUgZ3Vlc3NpbmcNCn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQoNCistLS0tLS0tLQ0KZ2l0LWJpc2VjdCBnb29kDQpC aXNlY3Rpbmc6IDEzMiByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMNCltjM2M5ODk3 YzYzZWJiMGI5M2I3Zjc4NzI0ZTM4ZDZlZTFkYTA0MDQxXSBNZXJnZSBicmFuY2ggJ3g4Ni1maXhl cy1mb3ItbGludXMnIG9mIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVs L2dpdC90aXAvbGludXgtMi42LXRpcA0KKy0tLS0tLS0tDQoNCiBjb21waWxpbmcgLi4uIGluc3Rh bGxpbmcgLi4uDQogLi4uIGJvb3RpbmcgLS0gQVJHSCEgY2Fubm90IGJvb3QgaGFuZyENCg0KDQoq IERvaW5nIGhvcGVsZXNzIGd1ZXNzaW5nDQp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQoNCiBU aGlzIGlzIGhvcGVsZXNzLCBJIHNob3VsZCBnaXZlIHVwIQ0KDQorLS0tLS0tLS0tLS0tLS0tLS0N CmdpdC1iaXNlY3QgZ29vZA0KQmlzZWN0aW5nOiA2NSByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFm dGVyIHRoaXMNCls5Njk5MDdhOTU2NzUyZjg4ZGRlNGFhMjNmYThjMDMzYjlhOTM5YWVlXSBNZXJn ZSBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvYmFydC9pZGUt Mi42DQorLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiBjb21waWxpbmcgLi4uDQogaW5zdGFsbGluZyAu Li4NCiBzdGlsbCBoYW5ncyBhZnRlciBib290Li4uIDotKCgoDQoNCiAuLi4gR0lWSU5HIFVQISEh DQoNCg0KKiBnaXQgYmlzZWN0IGxvZw0Kfn5+fn5+fn5+fn5+fn5+fg0KDQorLS0tLS0tLQ0KZ2l0 LWJpc2VjdCBzdGFydA0KIyBnb29kOiBbM2ZhODc0OWU1ODRiNTVmMTE4MDQxMWFiMWI1MTExNzE5 MGJhYzFlNV0gTGludXggMi42LjI3DQpnaXQtYmlzZWN0IGdvb2QgM2ZhODc0OWU1ODRiNTVmMTE4 MDQxMWFiMWI1MTExNzE5MGJhYzFlNQ0KIyBiYWQ6IFs1ZjkwMjFjZmRjMzUyNGE0YzVlM2Q3YWUy ZDA0OWViN2FkY2Q2Nzc2XSBydG5ldGxpbms6IHByb3BhZ2F0ZSBlcnJvciBmcm9tIGRldl9jaGFu Z2VfZmxhZ3MgaW4gZG9fc2V0bGluaygpDQpnaXQtYmlzZWN0IGJhZCA1ZjkwMjFjZmRjMzUyNGE0 YzVlM2Q3YWUyZDA0OWViN2FkY2Q2Nzc2DQojIGdvb2Q6IFsyOTQxNWMzN2YwNDNkMWQ1NGRjZjM1 NjYwMWQ3MzhmZjY2MzNiNzJiXSBLVk06IHNldCBkZWJ1ZyByZWdpc3RlcnMgYWZ0ZXIgInNjaGVk dWxhYmxlIiBzZWN0aW9uDQpnaXQtYmlzZWN0IGdvb2QgMjk0MTVjMzdmMDQzZDFkNTRkY2YzNTY2 MDFkNzM4ZmY2NjMzYjcyYg0KIyBnb29kOiBbOTJiMjliODZmZTJlMTgzZDQ0ZWI0NjdlNWU3NGE1 ZjcxOGVmMmU0M10gTWVyZ2UgYnJhbmNoICd0cmFjaW5nLXYyOC1mb3ItbGludXMnIG9mIGdpdDov L2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC90aXAvbGludXgtMi42LXRp cA0KZ2l0LWJpc2VjdCBnb29kIDkyYjI5Yjg2ZmUyZTE4M2Q0NGViNDY3ZTVlNzRhNWY3MThlZjJl NDMNCiMgc2tpcDogW2VhNTQxNjg2ZDg0NTRlZmFjNGYyYjVjMDc2N2FmZmIxMmQ0YjZhNTJdIE1l cmdlIGJyYW5jaCAnZm9yLWxpbnVzJyBvZiBnaXQ6Ly9naXQuby1oYW5kLmNvbS9saW51eC1ycHVy ZGllLWxlZHMNCmdpdC1iaXNlY3Qgc2tpcCBlYTU0MTY4NmQ4NDU0ZWZhYzRmMmI1YzA3NjdhZmZi MTJkNGI2YTUyDQojIGdvb2Q6IFs5YTFjMzU0Mjc2OGI1YTU4ZTQ1YTkyMTY5MjFjZDEwYTNiYWUx MjA1XSBwYXNzIGZtb2RlX3QgdG8gYmxrZGV2X3B1dCgpDQpnaXQtYmlzZWN0IGdvb2QgOWExYzM1 NDI3NjhiNWE1OGU0NWE5MjE2OTIxY2QxMGEzYmFlMTIwNQ0KIyBiYWQ6IFsxMTM3ZmI2NzA0NjVi NmI1ZDE1YjlkYjdkMDE3MDdhNTgzM2VlM2FlXSBhcm0gaWRlIGJyZWFrYWdlDQpnaXQtYmlzZWN0 IGJhZCAxMTM3ZmI2NzA0NjViNmI1ZDE1YjlkYjdkMDE3MDdhNTgzM2VlM2FlDQojIGdvb2Q6IFtk YmFjZWZjOWM0ZjZiZDM2NTI0M2RiMzc5NDczYWI3MDQxNjU2ZDkwXSBmcy9idWZmZXIuYzogdW5p bmxpbmUgX19yZW1vdmVfYXNzb2NfcXVldWUoKQ0KZ2l0LWJpc2VjdCBnb29kIGRiYWNlZmM5YzRm NmJkMzY1MjQzZGIzNzk0NzNhYjcwNDE2NTZkOTANCiMgc2tpcDogWzM2ZWM4OTE4OTUwMjBmM2Jj OTk1M2M4YjExZDA3OWM2ZDc3ZDc2YmRdIE1lcmdlIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9z Y20vbGludXgva2VybmVsL2dpdC9sZXRoYWwvc2gtMi42DQpnaXQtYmlzZWN0IHNraXAgMzZlYzg5 MTg5NTAyMGYzYmM5OTUzYzhiMTFkMDc5YzZkNzdkNzZiZA0KIyBnb29kOiBbNzA3NDBkNmM5MzAz MGIzMzliNGFkMTdmZDU4ZWUxMzVkZmMxMzkxM10gTWVyZ2UgYnJhbmNoICdkcm0tbmV4dCcgb2Yg Z2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2FpcmxpZWQvZHJt LTIuNg0KZ2l0LWJpc2VjdCBnb29kIDcwNzQwZDZjOTMwMzBiMzM5YjRhZDE3ZmQ1OGVlMTM1ZGZj MTM5MTMNCiMgZ29vZDogWzIyNDg0ODU2NDAyYmZhMWZmM2RlZmU0N2Y2MDI5YWIwNDE4MjQwZDld IE1lcmdlIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC92aXJv L2JkZXYNCmdpdC1iaXNlY3QgZ29vZCAyMjQ4NDg1NjQwMmJmYTFmZjNkZWZlNDdmNjAyOWFiMDQx ODI0MGQ5DQojIGdvb2Q6IFtjM2M5ODk3YzYzZWJiMGI5M2I3Zjc4NzI0ZTM4ZDZlZTFkYTA0MDQx XSBNZXJnZSBicmFuY2ggJ3g4Ni1maXhlcy1mb3ItbGludXMnIG9mIGdpdDovL2dpdC5rZXJuZWwu b3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC90aXAvbGludXgtMi42LXRpcA0KZ2l0LWJpc2Vj dCBnb29kIGMzYzk4OTdjNjNlYmIwYjkzYjdmNzg3MjRlMzhkNmVlMWRhMDQwNDENCistLS0tLS0t DQoNCg0KQ29tcGlsZToNCn5+fn5+fn5+DQoNCistLS0tLS0tDQogdGltZSBtYWtlIC1qNiBieklt YWdlIG1vZHVsZXMNCistLS0tLS0tDQoNCg0KTk9URVM6DQp+fn5+fn4NCg0KIGdpdCBsb2cgMjk0 MTVjMzdmMDQzZDFkNTRkY2YzNTY2MDFkNzM4ZmY2NjMzYjcyYi4uNWY5MDIxY2ZkYzM1MjRhNGM1 ZTNkN2FlMmQwNDllYjdhZGNkNjc3Ng0KDQogTlJfSVJRUyBjaGFuZ2VkIC4uLiBjb3VsZCB0aGlz IGJlIHJlbGVhdGVkPw0KDQogZ2l0IHNob3cgN2RiMjgyZmE2N2I1OGRhZmY4YTU3ZjllMWM5M2Q0 NDc0YjU5MDhmZg0KIGdpdCBzaG93IDFiNDg5NzY4ODAxMWNkMDVlMDdmMDBkY2ZlNmFmMzMzMWVi MzZhM2MNCiBnaXQgc2hvdyBjNzhkMGNmMjkyNWJmZmFlOGE2ZjAwZTdkOWI4ZTk3MWIwMzkyZWRk DQo= --=-U7lXVdzKblzFUILGbG0t--