From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1ROcFw-0007dE-OU for mharc-grub-devel@gnu.org; Thu, 10 Nov 2011 16:33:56 -0500 Received: from eggs.gnu.org ([140.186.70.92]:33335) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ROcFs-0007YD-S0 for grub-devel@gnu.org; Thu, 10 Nov 2011 16:33:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ROcFr-0000BE-Ly for grub-devel@gnu.org; Thu, 10 Nov 2011 16:33:52 -0500 Received: from mail-fx0-f41.google.com ([209.85.161.41]:55564) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ROcFq-0000Ax-Uw for grub-devel@gnu.org; Thu, 10 Nov 2011 16:33:51 -0500 Received: by faas10 with SMTP id s10so948479faa.0 for ; Thu, 10 Nov 2011 13:33:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :x-enigmail-version:content-type; bh=1UT/RSSr/8Co4W5MM/bJZhBEozxYlPOOlKUqi79YaIk=; b=l68cjNYDj2pbVHWuGgQ3gtlCNlfh+QDnICoU/z5+9hI2GzcmUHOdLzSI2F2KJanVmC sPJ68qNXeMGUU7CJC3ubxyxjj8PG9H9oEDD8E0FWEP2zwLtSTPIu0VBHgfarV++xPiT3 w0DIQh43+Zf5XW66cj94k8r/SsIxvY1yljcLw= Received: by 10.223.81.196 with SMTP id y4mr14558345fak.6.1320960829617; Thu, 10 Nov 2011 13:33:49 -0800 (PST) Received: from debian.x201.phnet (gprs09.swisscom-mobile.ch. [193.247.250.9]) by mx.google.com with ESMTPS id i3sm12819019faf.0.2011.11.10.13.33.46 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 10 Nov 2011 13:33:47 -0800 (PST) Message-ID: <4EBC4339.6090803@gmail.com> Date: Thu, 10 Nov 2011 22:33:45 +0100 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20111010 Iceowl/1.0b2 Icedove/3.1.15 MIME-Version: 1.0 To: The development of GRUB 2 Subject: Automated FS tests. Plans about untested FS: AFS, SFS, Minix3 X-Enigmail-Version: 1.1.2 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig2042537901CD57E431E997AE" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.161.41 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Nov 2011 21:33:54 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig2042537901CD57E431E997AE Content-Type: multipart/mixed; boundary="------------070409050709010604060201" This is a multi-part message in MIME format. --------------070409050709010604060201 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Some of you have probably noticed the series of commits fixing different FS bugs limitations and missing features. The master of the ball was the attached script in different slight modifications. UFS1 and UFS2 are commented out since during the last test I had a kernel with only ro UFS support but UFS and UFS2 were both tested. I hope some day to clean up the script and commit it as e.g. "make fscheck", is anybody willing to help? For 3 filesystems: AFS, SFS and Minix3 I couldn't find any driver available under GNU/Linux. Considering the amount of fixes for other FSes with similar usage, I except these FS have issues, especially SFS, since unlike the 2 others which are minor modifications of BFS resp minix2 it doesn't share any code with any other FS. The inability to test those FS is a serious drawback especially if any changes affecting all the filesystems need to be made. We all know that such condition can lead to code quality degradation and eventual removal of concerned FS in a long run. So could anyone supply the missing tests? They have to be runnable under GNU/Linux. Supporting more platforms is a plus but not a requirement since it's mainly quality insurance tool. --=20 Regards Vladimir '=CF=86-coder/phcoder' Serbinenko --------------070409050709010604060201 Content-Type: application/x-shellscript; name="fstest.sh" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fstest.sh" IyEvYmluL3NoCgojIE5vdCBzdXBwb3J0ZWQgaW4gR05VL0xpbnV4OiBhZnMgbWluaXgzIHNm cwoKTk9CSUc9eQoKZWNobyAtbiAiRklMRVNZUyAgICAgICAgTkRFViBESVIgIExESVIgVElN RSBMVElNIExBQkwgVVVJRCBGU1RNIFNZTSAgTFNZTSBGSUxFIExGSUwgIgppZiBbIHgiJE5P QklHIiAhPSB4eSBdOyB0aGVuCiAgICBlY2hvIC1uICJCSUcgICIKZmkKZWNobwplY2hvID4g cmVwb3J0LnR4dAoKR1JVQkZTVEVTVD0iL2hvbWUvcGhjb2Rlci9jb21waWxlL2dydWItZnN0 ZXN0IgoKcnVuX2dydWJmc3Rlc3QgKCkgewogICAgZWNobyAiJGZzOiIgIiROREVWSUNFUyIg IiRAIiA+PiB0aW1lX3JlcG9ydC50eHQKICAgIGNhc2UgeCRmcyBpbgoJIyBSQUlEIDEgaGFz IHRvIHdvcmsgd2l0aCBldmVuIG9uZSBkZXZpY2Ugb2YgdGhlIHNldC4KCXh6ZnNfbWlycm9y KQoJICAgIC91c3IvYmluL3RpbWUgLWEgLW8gdGltZV9yZXBvcnQudHh0IHZhbGdyaW5kIC0t bG9nLWZpbGU9InZhbHJlcG9ydC8ke2ZzfV8lcC50eHQiIC0tbGVhay1jaGVjaz1mdWxsICIk R1JVQkZTVEVTVCIgLWMgMSAiJHtGU0lNQUdFU1swXX0iICIkQCI7OwoJIyBEZWdyYWRlIHJh aWR6IGJ5IHJlbW92aW5nIGZpcnN0IGFuZCBsYXN0IGRldmljZQoJeHpmc19yYWlkejIpCgkg ICAgdW5zZXQgQ1VSREVWSUNFUwoJICAgIGZvciAoKGk9MTtpIDwgTkRFVklDRVMgLSAxOyBp KyspKTsgZG8KCQlDVVJERVZJQ0VTW2ktMV09IiR7RlNJTUFHRVNbaV19IjsKCSAgICBkb25l CgkgICAgL3Vzci9iaW4vdGltZSAtYSAtbyB0aW1lX3JlcG9ydC50eHQgdmFsZ3JpbmQgLS1s b2ctZmlsZT0idmFscmVwb3J0LyR7ZnN9XyVwLnR4dCIgLS1sZWFrLWNoZWNrPWZ1bGwgIiRH UlVCRlNURVNUIiAtYyAkKChOREVWSUNFUy0yKSkgIiR7Q1VSREVWSUNFU1tAXX0iICIkQCI7 OwoKCSMgRGVncmFkZSByYWlkeiBhbmQgYnRyZnMgUkFJRDEgYnkgcmVtb3ZpbmcgZmlyc3Qg ZGV2aWNlCiAJeGJ0cmZzX3JhaWQxIHwgeGJ0cmZzX3JhaWQxMCB8IHh6ZnNfcmFpZHopCgkg ICAgdW5zZXQgQ1VSREVWSUNFUwoJICAgIGZvciAoKGk9MTtpIDwgTkRFVklDRVM7IGkrKykp OyBkbwoJCUNVUkRFVklDRVNbaS0xXT0iJHtGU0lNQUdFU1tpXX0iOwoJICAgIGRvbmUKCSAg ICAvdXNyL2Jpbi90aW1lIC1hIC1vIHRpbWVfcmVwb3J0LnR4dCB2YWxncmluZCAtLWxvZy1m aWxlPSJ2YWxyZXBvcnQvJHtmc31fJXAudHh0IiAtLWxlYWstY2hlY2s9ZnVsbCAiJEdSVUJG U1RFU1QiIC1jICQoKE5ERVZJQ0VTLTEpKSAiJHtDVVJERVZJQ0VTW0BdfSIgIiRAIjs7Cgkq KQoJICAgIC91c3IvYmluL3RpbWUgLWEgLW8gdGltZV9yZXBvcnQudHh0IHZhbGdyaW5kIC0t bG9nLWZpbGU9InZhbHJlcG9ydC8ke2ZzfV8lcC50eHQiIC0tbGVhay1jaGVjaz1mdWxsICIk R1JVQkZTVEVTVCIgLWMgJE5ERVZJQ0VTICIke0ZTSU1BR0VTW0BdfSIgICIkQCI7OwoKICAg IGVzYWMKfQoKIyB1ZnMyIHVmczEgCmZvciBmcyBpbiBpc285NjYwIGFmZnMgY3Bpb2ZzIHRh cmZzIHNxdWFzaDQgbWluaXggbWluaXgyIHVkZiBmYXQgZXhmYXQgYmZzIG50ZnMgcmVpc2Vy ZnMgeGZzIGpmcyByb21mcyBoZnMgaGZzcGx1cyBleHQyIGV4dDMgZXh0NCBuaWxmczIgemZz X3JhaWR6MiB6ZnNfcmFpZHogemZzX21pcnJvciB6ZnNfc3RyaXBlIHpmcyBidHJmcyBidHJm c19yYWlkMCBidHJmc19yYWlkMSBidHJmc19zaW5nbGUgYnRyZnNfcmFpZDEwOyBkbwogICAg TUFYREVWSUNFUz0xCiAgICBNSU5ERVZJQ0VTPTEKICAgIGV4cG9ydCBmcwogICAgY2FzZSB4 IiRmcyIgaW4KCXgiemZzX3JhaWR6IiB8IHgiemZzX3N0cmlwZSIgfCB4Inpmc19taXJyb3Ii IHwgeGJ0cmZzX3JhaWQwIHwgeGJ0cmZzX3JhaWQxKQoJICAgIE1JTkRFVklDRVM9MgoJICAg IE1BWERFVklDRVM9NQoJICAgIDs7Cgl4YnRyZnNfcmFpZDEwKQoJICAgIE1JTkRFVklDRVM9 NAoJICAgIE1BWERFVklDRVM9MTAKCSAgICA7OwoJeCJ6ZnNfcmFpZHoyIikKCSAgICBNSU5E RVZJQ0VTPTMKCSAgICBNQVhERVZJQ0VTPTU7OwogICAgZXNhYwogICAgZm9yICgoTkRFVklD RVM9TUlOREVWSUNFUzsgTkRFVklDRVMgPD0gTUFYREVWSUNFUzsgTkRFVklDRVMrKykpOyBk bwoJZXhwb3J0IE5ERVZJQ0VTCgl1bnNldCBGU0lNQUdFUwoJZm9yICgoaT0wOyBpIDwgTkRF VklDRVM7IGkrKykpOyBkbwoJICAgIEZTSU1BR0VTW2ldPSIvaG9tZS9waGNvZGVyL2NvbXBp bGUvJHtmc31fJGkuaW1nIgoJZG9uZQoJZXhwb3J0IEZTSU1BR0VTCglNTlRQT0lOVFJPPSIv bW50LyR7ZnN9X3JvIgoJTU5UUE9JTlRSVz0iL21udC8ke2ZzfV9ydyIKCU1PVU5UT1BUUz0i IgoJTU9VTlRGUz0iJGZzIgoJTUFTVEVSPW1hc3RlcgoJRlNMQUJFTD1ncnViX3Rlc3QKICAg ICMgTGltaXRlZCBieSBOQU1FX01BWCAodXN1YWxseSAyNTUpIGluIEdOVS9MaW51eAoJTE9O R05BTUU9InF3ZXJ0enVpb3Bhc2RmZ2hqa2x5eGN2Ym5tMTIzNDU2Nzg5MHF3ZXJ0enVpb3Bh c2RmZ2hqa2x5eGN2Ym5tMTIzNDU2Nzg5MG9pZXdxZmlld2lvcW9pcW9pdXJxcnVld3FvaXV3 b2llb2lpdWV3cXJvcmVxaXVmaWVpdXdybnVyZXdlcml1dmNlb2lyb2lld3FvaXJpY2RzYWxr Y25kc2FrZmlyZWZvaXdxZW9pcmNvcmVqd29pamZyZW9pam9qb2lld2pmd25mY29pcmVuZm9p cmVmbnJlb2lmZW5vaXdmbm9pcmV3b2lmb2l3cXdvaWVxZnJxd2lvZXJpamV3ciIKCXJtIC1y ZiAiJE1BU1RFUiIKCiAgICAjIEZTIExJTUlUQVRJT046IEZBVCBkb2Vzbid0IGFjY2VwdCBu aWNlIGxhYmVscwoJY2FzZSB4IiRmcyIgaW4KCSAgICB4InVmczEiIHwgeCJ1ZnMyIikKCQlG U0xBQkVMPSJncnVidGVzdCI7OwoJICAgIHgiZmF0IikKCQlGU0xBQkVMPSJHUlVCVEVTVCI7 OwoJICAgICNQcmVmb3JtYXR0ZWQgaW1hZ2UgaGFzIHRoaXMgbGFiZWwKCSAgICB4ImFmZnMi KQoJCUZTTEFCRUw9IkVtcHR5Ijs7Cgllc2FjCiAgICAjIEZTIExJTUlUQVRJT046IHNvbWUg ZmlsZXN5c3RlbXMgbGltaXQgZmlsZSBzaXplCglCSUdCTE9DS0NOVD01MDAwCgljYXNlIHgi JGZzIiBpbgoJICAgIHgiZmF0IiB8IHgiY3Bpb2ZzIiB8IHgicm9tZnMiKQoJCUJJR0JMT0NL Q05UPTQwOTU7OwoJICAgICMgbWluaXggRlMgaXMgYXRtb3N0IDY0TS4gTGVhdmUgc29tZSBz cGFjZSBmb3Igb3RoZXIgZmlsZXMuCgkgICAgeCJtaW5peCIpCgkJQklHQkxPQ0tDTlQ9NTM7 OwoJICAgIHgibWluaXgyIiB8IHgiaGZzIiB8IHgiYWZmcyIpCgkJQklHQkxPQ0tDTlQ9MjA0 Nzs7CgkjIFdlIGFscmVhZHkgdGVzdCB0aGUgRlMgZm9yIGJpZyBmaWxlcyBzZXBhcmF0ZWx5 LiBTYXZlIHNvbWUgdGltZSBoZXJlLgoJICAgIHgiemZzXyIqIHwgeCJidHJmc18iKikKCQlC SUdCTE9DS0NOVD0xMDAwOzsKCWVzYWMKICAgICMgRlMgTElNSVRBVElPTjogbm8gc3ltbGlu a3Mgb24gRkFULCBleEZBVCBhbmQgSEZTCiAgICAjIG50ZnMtM2cgbGltaXRhdGlvbjogaXQg Y3JlYXRlcyBpbnRlcml4IHN5bWxpbmtzIHdoaWNoIGFyZW4ndCByZWFsIHN5bWxpbmtzCglO T1NZTUxJTks9bgoJY2FzZSB4IiRmcyIgaW4KCSAgICB4ImZhdCIgfCB4ImhmcyIgfCB4ImV4 ZmF0IiB8IHgibnRmcyIpCgkJTk9TWU1MSU5LPXk7OwoJZXNhYwogICAgIyBGUyBMSU1JVEFU SU9OOiBzb21lIGZpbGVzeXN0ZW1zIGxpbWl0IGZpbGUgbmFtZSBzaXplCgljYXNlIHgiJGZz IiBpbgoJICAgIHgiaGZzIikKCQlMT05HTkFNRT0iYGVjaG8gJExPTkdOQU1FIHxoZWFkIC1j IDMxYCI7OwoJICAgIHgibWluaXgiIHwgeCJtaW5peDIiIHwgeCJhZmZzIikKCQlMT05HTkFN RT0iYGVjaG8gJExPTkdOQU1FIHxoZWFkIC1jIDMwYCI7OwoJICAgIHgidWRmIikKCQlMT05H TkFNRT0iYGVjaG8gJExPTkdOQU1FIHxoZWFkIC1jIDE5MmAiOzsKCWVzYWMKCU5PRklMRVRJ TUU9bgoJTk9GU1RJTUU9bgoJY2FzZSB4IiRmcyIgaW4KCSMgYXMgZmFyIGFzIEkga25vdyB0 aG9zZSBGUyBkb24ndCBzdG9yZSB0aGVpciBsYXN0IG1vZGlmaWNhdGlvbiBkYXRlLgoJICAg IHgiamZzIiB8IHgieGZzInwgeCJidHJmcyIqIHwgeCJyZWlzZXJmcyIgfCB4ImJmcyIgXAoJ CXwgeCJ0YXJmcyIgfCB4ImNwaW9mcyIgfCB4Im1pbml4IiB8IHgibWluaXgyIiBcCgkJfCB4 Im50ZnMiIHwgeCJhZmZzIiB8IHgidWRmIikKCQlOT0ZTVElNRT15OzsKCSMgRkFUIGFuZCBl eEZBVCB1c2UgbG9jYWx0aW1lLiBVbnVzYWJsZSBmb3IgR1JVQgoJICAgIHgiZmF0IiB8IHgi ZXhmYXQiKQoJCU5PRklMRVRJTUU9eTsgTk9GU1RJTUU9eTs7CgkjIEZTIGxpbWl0YXRpb246 IHJvbWZzIGhhcyBubyB0aW1lc3RhbXBzLgoJICAgIHgicm9tZnMiKQoJCU5PRklMRVRJTUU9 eTsgTk9GU1RJTUU9eTs7Cgllc2FjCgoJTk9GU0xBQkVMPW4KCWNhc2UgeCIkZnMiIGluCgkg ICAgeCJjcGlvZnMiIHwgeCJ0YXJmcyIgfCB4InNxdWFzaDQiIHwgeCJtaW5peCIgfCB4Im1p bml4MiIpCgkJTk9GU0xBQkVMPXk7OwoJZXNhYwoKCXByaW50ZiAiJS0xNnMlM2QgIiAkZnMg JE5ERVZJQ0VTOwoJZWNobyAkZnMgJE5ERVZJQ0VTID4+IHJlcG9ydC50eHQKCXVuc2V0IExP REVWSUNFUwoJY2FzZSB4IiRmcyIgaW4KCSAgICB4InRhcmZzIiB8IHgiY3Bpb2ZzIiB8IHgi aXNvOTY2MCIgfCB4InJvbWZzIiB8IHgic3F1YXNoNCIpCgkJTU5UUE9JTlRSVz0iJE1BU1RF UiIKCQlNTlRQT0lOVFJPPSIkTUFTVEVSIgoJCW1rZGlyIC1wICIkTUFTVEVSIjs7CgkgICAg IyBObyBta2ZzIGZvciBHTlUvTGludXguIEp1c3QgdW5wYWNrIHByZWZvcm1hdHRlZCBlbXB0 eSBpbWFnZQoJICAgIHgiYWZmcyIpCgkJbWtkaXIgLXAgIiRNTlRQT0lOVFJXIgoJCW1rZGly IC1wICIkTU5UUE9JTlRSTyIKCQl4eiAtZCA8IC9ob21lL3BoY29kZXIvZGlza2ltZy9hZmZz LmltZy54eiA+ICIke0ZTSU1BR0VTWzBdfSIKCQlmb3IgKChpPTA7IGkgPCBOREVWSUNFUzsg aSsrKSk7IGRvCgkJICAgIExPREVWSUNFU1tpXT1gbG9zZXR1cCAtZmAKCQkgICAgbG9zZXR1 cCAiJHtMT0RFVklDRVNbaV19IiAiJHtGU0lNQUdFU1tpXX0iCgkJZG9uZSA7OwoJICAgICop CgkJbWtkaXIgLXAgIiRNTlRQT0lOVFJXIgoJCW1rZGlyIC1wICIkTU5UUE9JTlRSTyIKCQlm b3IgKChpPTA7IGkgPCBOREVWSUNFUzsgaSsrKSk7IGRvCgkJICAgIHFlbXUtaW1nIGNyZWF0 ZSAiJHtGU0lNQUdFU1tpXX0iIDEwRyA+IC9kZXYvbnVsbAoJCSAgICBMT0RFVklDRVNbaV09 YGxvc2V0dXAgLWZgCgkJICAgIGxvc2V0dXAgIiR7TE9ERVZJQ0VTW2ldfSIgIiR7RlNJTUFH RVNbaV19IgoJCWRvbmUgOzsKCWVzYWMKCgljYXNlIHgiJGZzIiBpbgoJICAgIHgiYWZmcyIp IDs7CgkgICAgeCJiZnMiKQoJCUxEX0xJQlJBUllfUEFUSD0vaG9tZS9waGNvZGVyL3JlcG9z L2Jmc19sZSAvaG9tZS9waGNvZGVyL3JlcG9zL2Jmc19sZS9iZnNfc2hlbGwgLS1pbml0aWFs aXplICIke0ZTSU1BR0VTWzBdfSIgIiRGU0xBQkVMIiAmPj4gcmVwb3J0LnR4dDs7CgkgICAg eCJidHJmcyIpCgkJIi9zYmluL21rZnMuYnRyZnMiIC1MICIkRlNMQUJFTCIgIiR7TE9ERVZJ Q0VTWzBdfSIgJj4+IHJlcG9ydC50eHQ7OwoJICAgIHgiYnRyZnNfcmFpZDAiKQoJCSIvc2Jp bi9ta2ZzLmJ0cmZzIiAtZCByYWlkMCAtTCAiJEZTTEFCRUwiICIke0xPREVWSUNFU1tAXX0i ICY+PiByZXBvcnQudHh0CgkJTU9VTlRGUz0iYnRyZnMiCgkJOzsKCSAgICB4ImJ0cmZzX3Jh aWQxIikKCQkiL3NiaW4vbWtmcy5idHJmcyIgLWQgcmFpZDEgLUwgIiRGU0xBQkVMIiAiJHtM T0RFVklDRVNbQF19IiAmPj4gcmVwb3J0LnR4dAoJCU1PVU5URlM9ImJ0cmZzIgoJCTs7Cgkg ICAgeCJidHJmc19yYWlkMTAiKQoJCSIvc2Jpbi9ta2ZzLmJ0cmZzIiAtZCByYWlkMTAgLUwg IiRGU0xBQkVMIiAiJHtMT0RFVklDRVNbQF19IiAmPj4gcmVwb3J0LnR4dAoJCU1PVU5URlM9 ImJ0cmZzIgoJCTs7CgkgICAgeCJidHJmc19zaW5nbGUiKQoJCSIvc2Jpbi9ta2ZzLmJ0cmZz IiAtZCBzaW5nbGUgLUwgIiRGU0xBQkVMIiAiJHtMT0RFVklDRVNbQF19IiAmPj4gcmVwb3J0 LnR4dAoJCU1PVU5URlM9ImJ0cmZzIgoJCTs7CgkgICAgeCJleGZhdCIpCgkJIi9zYmluL21r ZnMuJGZzIiAtbiAiJEZTTEFCRUwiICIke0xPREVWSUNFU1swXX0iICY+PiByZXBvcnQudHh0 OzsKCSAgICB4Im1pbml4IikKCQkiL3NiaW4vbWtmcy4kZnMiICIke0xPREVWSUNFU1swXX0i ICY+PiByZXBvcnQudHh0OzsKCSMgbWtmcy5oZnMgYW5kIG1rZnMuaGZzcGx1cyBkb24ndCBm aWxsIFVVSUQuCgkgICAgeCJoZnNwbHVzIikKCQkiL3NiaW4vbWtmcy4kZnMiIC12ICIkRlNM QUJFTCIgIiR7TE9ERVZJQ0VTWzBdfSIgJj4+IHJlcG9ydC50eHQKCQlkZCBpZj0vZGV2L3Vy YW5kb20gb2Y9IiR7TE9ERVZJQ0VTWzBdfSIgYnM9MSBzZWVrPSQoKDE2IzQ2OCkpIGNvbnY9 bm90cnVuYyBjb3VudD04ICY+PiByZXBvcnQudHh0OzsKCSAgICB4ImhmcyIpCgkJIi9zYmlu L21rZnMuJGZzIiAtdiAiJEZTTEFCRUwiIC1oICIke0xPREVWSUNFU1swXX0iICY+PiByZXBv cnQudHh0CgkJZGQgaWY9L2Rldi91cmFuZG9tIG9mPSIke0xPREVWSUNFU1swXX0iIGJzPTEg c2Vlaz0kKCgxNiM0NzQpKSBjb252PW5vdHJ1bmMgY291bnQ9OCAmPj4gcmVwb3J0LnR4dAoJ CTs7CgkgICAgeCJmYXQiKQoJCSIvc2Jpbi9ta2ZzLnZmYXQiIC1uICIkRlNMQUJFTCIgIiR7 TE9ERVZJQ0VTWzBdfSIgJj4+IHJlcG9ydC50eHQKCQlNS0ZTT1BUUz0iIgoJCU1PVU5URlM9 InZmYXQiOzsKCSAgICB4Im1pbml4MiIpCgkJIi9zYmluL21rZnMubWluaXgiIC12ICIke0xP REVWSUNFU1swXX0iICY+PiByZXBvcnQudHh0CgkJTUtGU09QVFM9Ii12IgoJCU1PVU5URlM9 Im1pbml4Ijs7CgkgICAgeCJudGZzIikKCQkiL3NiaW4vbWtmcy5udGZzIiAtTCAiJEZTTEFC RUwiIC1RIC1xICIke0xPREVWSUNFU1swXX0iICY+PiByZXBvcnQudHh0OzsKCSAgICB4InVk ZiIpCgkJIi91c3IvYmluL21rdWRmZnMiIC0tbHZpZD0iJEZTTEFCRUwiICIke0xPREVWSUNF U1swXX0iICY+PiByZXBvcnQudHh0OzsKCSAgICB4InVmczIiKQoJCSIvc2Jpbi9ta2ZzLnVm cyIgLUwgIiRGU0xBQkVMIiAtTyAyICIke0xPREVWSUNFU1swXX0iICY+PiByZXBvcnQudHh0 CgkJTU9VTlRPUFRTPSJ1ZnN0eXBlPXVmczIsIgoJCU1PVU5URlM9InVmcyI7OwoJICAgIHgi dWZzMSIpCgkJIi9zYmluL21rZnMudWZzIiAtTCAiJEZTTEFCRUwiIC1PIDEgIiR7TE9ERVZJ Q0VTWzBdfSIgJj4+IHJlcG9ydC50eHQKCQlNT1VOVE9QVFM9InVmc3R5cGU9NDRic2QsIgoJ CU1PVU5URlM9InVmcyI7OwoJICAgIHgiemZzIikKCQl6ZnMtZnVzZQoJCXNsZWVwIDEKCQki L3Vzci9sb2NhbC9zYmluL3pwb29sIiBjcmVhdGUgLVIgIiRNTlRQT0lOVFJXIiAiJEZTTEFC RUwiICIke0xPREVWSUNFU1swXX0iCgkJc2xlZXAgMQoJCSIvdXNyL2xvY2FsL3NiaW4vemZz IiBjcmVhdGUgIiRGU0xBQkVMIi9ncnViZnMKCQlzbGVlcCAxOzsKCSAgICB4Inpmc19yYWlk eiIpCgkJemZzLWZ1c2UKCQlzbGVlcCAxCgkJIi91c3IvbG9jYWwvc2Jpbi96cG9vbCIgY3Jl YXRlIC1SICIkTU5UUE9JTlRSVyIgIiRGU0xBQkVMIiByYWlkeiAiJHtMT0RFVklDRVNbQF19 IgoJCXNsZWVwIDEKCQkiL3Vzci9sb2NhbC9zYmluL3pmcyIgY3JlYXRlICIkRlNMQUJFTCIv Z3J1YmZzCgkJc2xlZXAgMTs7CgkgICAgeCJ6ZnNfcmFpZHoyIikKCQl6ZnMtZnVzZQoJCXNs ZWVwIDEKCQkiL3Vzci9sb2NhbC9zYmluL3pwb29sIiBjcmVhdGUgLVIgIiRNTlRQT0lOVFJX IiAiJEZTTEFCRUwiIHJhaWR6MiAiJHtMT0RFVklDRVNbQF19IgoJCXNsZWVwIDEKCQkiL3Vz ci9sb2NhbC9zYmluL3pmcyIgY3JlYXRlICIkRlNMQUJFTCIvZ3J1YmZzCgkJc2xlZXAgMTs7 CgkgICAgeCJ6ZnNfbWlycm9yIikKCQl6ZnMtZnVzZQoJCXNsZWVwIDEKCQkiL3Vzci9sb2Nh bC9zYmluL3pwb29sIiBjcmVhdGUgLVIgIiRNTlRQT0lOVFJXIiAiJEZTTEFCRUwiIG1pcnJv ciAiJHtMT0RFVklDRVNbQF19IgoJCXNsZWVwIDEKCQkiL3Vzci9sb2NhbC9zYmluL3pmcyIg Y3JlYXRlICIkRlNMQUJFTCIvZ3J1YmZzCgkJc2xlZXAgMTs7CgkgICAgeCJ6ZnNfc3RyaXBl IikKCQl6ZnMtZnVzZQoJCXNsZWVwIDEKCQkiL3Vzci9sb2NhbC9zYmluL3pwb29sIiBjcmVh dGUgLVIgIiRNTlRQT0lOVFJXIiAiJEZTTEFCRUwiICIke0xPREVWSUNFU1tAXX0iCgkJc2xl ZXAgMQoJCSIvdXNyL2xvY2FsL3NiaW4vemZzIiBjcmVhdGUgIiRGU0xBQkVMIi9ncnViZnMK CQlzbGVlcCAxOzsKCSAgICB4InRhcmZzIiB8IHgiY3Bpb2ZzIiB8IHgiaXNvOTY2MCIgfCB4 InJvbWZzIiB8IHgic3F1YXNoNCIpIDs7CgkgICAgeCJyZWlzZXJmcyIpCgkJIi9zYmluL21r ZnMuJGZzIiAtbCAiJEZTTEFCRUwiIC1xICIke0xPREVWSUNFU1swXX0iICY+PiByZXBvcnQu dHh0OzsKCSAgICAqKQoJCSIvc2Jpbi9ta2ZzLiRmcyIgLUwgIiRGU0xBQkVMIiAtcSAiJHtM T0RFVklDRVNbMF19IiAmPj4gcmVwb3J0LnR4dDs7Cgllc2FjCglCQVNFRklMRT0iMS5pbWci CglCSUdGSUxFPSJiaWcuaW1nIgoJQkFTRVNZTT0ic3ltIgoJTE9OR1NZTT0ibG9uZ3N5bSIK CU9TRElSPSIiCglHUlVCRElSPSIobG9vcDApIgoJY2FzZSB4IiRmcyIgaW4KCSAgICB4Inpm cyIqKQkgICAgCgkJT1NESVI9ImdydWJmcy8iCgkJR1JVQkRJUj0iKGxvb3AwKS9ncnViZnNA Ijs7CgkgICAgeCJiZnMiKQoJCS9ob21lL3BoY29kZXIvcmVwb3MvYmZzX2xlL2Jmc19mdXNl ICIke0ZTSU1BR0VTWzBdfSIgIiRNTlRQT0lOVFJXIiAmPj4gcmVwb3J0LnR4dAoJCU9TRElS PSJteWZzLyI7OwoJICAgIHgidGFyZnMiIHwgeCJjcGlvZnMiIHwgeCJpc285NjYwIiB8IHgi cm9tZnMiIHwgeCJzcXVhc2g0IikgCgkJOzsKCSAgICAqKQoJCW1vdW50IC10ICIkTU9VTlRG UyIgIiR7TE9ERVZJQ0VTWzBdfSIgIiRNTlRQT0lOVFJXIiAtbyAke01PVU5UT1BUU31ydyAm Pj4gcmVwb3J0LnR4dDs7Cgllc2FjCglpZiBbIHgiJGZzIiA9IHgibWluaXgiIF07IHRoZW4K CSAgICBCTE9DS0NOVD01CgllbHNlCgkgICAgQkxPQ0tDTlQ9NQoJZmkKCW9wZW5zc2wgcmFu ZCAkKChCTE9DS0NOVCAqIDEwNDg1NzYpKSA+ICIkTU5UUE9JTlRSVy8kT1NESVIvJEJBU0VG SUxFIgoJb3BlbnNzbCByYW5kICQoKEJMT0NLQ05UICogMTA0ODU3NikpID4gIiRNTlRQT0lO VFJXLyRPU0RJUi8kTE9OR05BTUUiCglpZiBbIHgkTk9CSUcgIT0geHkgXTsgdGhlbgoJICAg IChvcGVuc3NsIHJhbmQgJCgoQklHQkxPQ0tDTlQgKiAyNjIxNDQpKTsgb3BlbnNzbCByYW5k ICQoKEJJR0JMT0NLQ05UICogMjYyMTQ0KSk7IG9wZW5zc2wgcmFuZCAkKChCSUdCTE9DS0NO VCAqIDI2MjE0NCkpOyBvcGVuc3NsIHJhbmQgJCgoQklHQkxPQ0tDTlQgKiAyNjIxNDQpKSkg PiAiJE1OVFBPSU5UUlcvJE9TRElSLyRCSUdGSUxFIgoJZmkKCglpZiBbIHgkTk9TWU1MSU5L ICE9IHh5IF07IHRoZW4KCSAgICBsbiAtcyAiJEJBU0VGSUxFIiAiJE1OVFBPSU5UUlcvJE9T RElSLyRCQVNFU1lNIgoJICAgIGxuIC1zICIkTE9OR05BTUUiICIkTU5UUE9JTlRSVy8kT1NE SVIvJExPTkdTWU0iCglmaQoJY2FzZSB4IiRmcyIgaW4KCSAgICB4InpmcyIqKQoJCXNsZWVw IDUKCQl6cG9vbCBleHBvcnQgIiRGU0xBQkVMIgoJCXNsZWVwIDUKCQkiL3Vzci9sb2NhbC9z YmluL3pwb29sIiBpbXBvcnQgLVIgIiRNTlRQT0lOVFJPIiAiJEZTTEFCRUwiCgkJOzsKCSAg ICB4InRhcmZzIikKCQkoY2QgIiRNQVNURVIiOyB0YXIgY2YgIiR7RlNJTUFHRVNbMF19IiAu KSAmPj4gcmVwb3J0LnR4dDs7CgkgICAgeCJjcGlvZnMiKQoJCShjZCAiJE1BU1RFUiI7IGZp bmQgLiB8IGNwaW8gLW8gPiAiJHtGU0lNQUdFU1swXX0iICkgJj4+IHJlcG9ydC50eHQ7OwoJ ICAgIHgiaXNvOTY2MCIpCgkJRlNVVUlEPSQoZGF0ZSAtdSArJVktJW0tJWQtJUgtJU0tJVMt MDApOwoJCXhvcnJpc29mcyAtZ3JhZnQtcG9pbnRzIC1SIC1KIC1WICIkRlNMQUJFTCIgLS1t b2RpZmljYXRpb24tZGF0ZT0kKGVjaG8gJHtGU1VVSUR9IHwgc2VkICdzLy0vL2c7JykgLW8g IiR7RlNJTUFHRVNbMF19IiAvPSIkTUFTVEVSIiAmPj4gcmVwb3J0LnR4dDs7CgkgICAgCgkg ICAgeCJyb21mcyIpCgkJZ2Vucm9tZnMgLVYgIiRGU0xBQkVMIiAtZiAiJHtGU0lNQUdFU1sw XX0iIC1kICIkTUFTVEVSIiAmPj4gcmVwb3J0LnR4dDs7CgkgICAgeCJzcXVhc2g0IikKCQlt a3NxdWFzaGZzICIkTUFTVEVSIiAiJHtGU0lNQUdFU1swXX0iICY+PiByZXBvcnQudHh0OzsK CSAgICB4ImJmcyIpCgkJc2xlZXAgMQoJCU9TRElSPSIiCgkJZnVzZXJtb3VudCAtdSAiJE1O VFBPSU5UUlciICY+PiByZXBvcnQudHh0CgkJbW91bnQgLXQgYmVmcyAiJHtMT0RFVklDRVNb MF19IiAiJE1OVFBPSU5UUk8iIC1vICR7TU9VTlRPUFRTfXJvICY+PiByZXBvcnQudHh0OzsK CSAgICAqKQoJCXNsZWVwIDEKCQl1bW91bnQgIiRNTlRQT0lOVFJXIiAmPj4gcmVwb3J0LnR4 dAoJCXNsZWVwIDEKCQltb3VudCAtdCAiJE1PVU5URlMiICIke0xPREVWSUNFU1swXX0iICIk TU5UUE9JTlRSTyIgLW8gJHtNT1VOVE9QVFN9cm8gJj4+IHJlcG9ydC50eHQ7OwoJZXNhYwoK CWNhc2UgeCIkZnMiIGluCgkgICAgeCJ6ZnMiKikKCQlMU1JPVVQ9JChydW5fZ3J1YmZzdGVz dCBscyAtLSAtbCAnKGxvb3AwKS9ncnViZnNALycpOzsKCSAgICAqKQoJCUxTUk9VVD0kKHJ1 bl9ncnViZnN0ZXN0IGxzIC0tIC1sICcobG9vcDApLycpOzsKCWVzYWMKCWlmIGVjaG8gIiRM U1JPVVQiIHwgZ3JlcCAiJEJBU0VGSUxFIiA+IC9kZXYvbnVsbDsgdGhlbgoJICAgIGVjaG8g TElTVCBPSyA+PiByZXBvcnQudHh0CgkgICAgZWNobyAtbiAiT0sgICAiCgllbHNlCgkgICAg ZWNobyBMSVNUIEZBSUwgPj4gcmVwb3J0LnR4dAoJICAgIGVjaG8gIiRMU1JPVVQiID4+IHJl cG9ydC50eHQKCSAgICBUWj1VVEMgbHMgLS10aW1lLXN0eWxlPSslWSVtJWQlSCVNJVMuJU4g LWwgIiRNTlRQT0lOVFJPIiA+PiByZXBvcnQudHh0CgkgICAgZWNobyAtbiAiRkFJTCAiCglm aQoKCWlmIGVjaG8gIiRMU1JPVVQiIHwgZ3JlcCAiJExPTkdOQU1FIiA+IC9kZXYvbnVsbDsg dGhlbgoJICAgIGVjaG8gTE9ORyBMSVNUIE9LID4+IHJlcG9ydC50eHQKCSAgICBlY2hvIC1u ICJPSyAgICIKCWVsc2UKCSAgICBlY2hvIExPTkcgTElTVCBGQUlMID4+IHJlcG9ydC50eHQK CSAgICBlY2hvICIkTFNST1VUIiA+PiByZXBvcnQudHh0CgkgICAgVFo9VVRDIGxzIC0tdGlt ZS1zdHlsZT0rJVklbSVkJUglTSVTLiVOIC1sICIkTU5UUE9JTlRSTyIgPj4gcmVwb3J0LnR4 dAoJICAgIGVjaG8gLW4gIkZBSUwgIgoJZmkKCglpZiBbIHgkTk9GSUxFVElNRSAhPSB4eSBd OyB0aGVuCgkgICAgZmlsdGltZT0kKFRaPVVUQyBscyAtLXRpbWUtc3R5bGU9KyVZJW0lZCVI JU0lUyAtbCAtZCAiJE1OVFBPSU5UUk8vJE9TRElSLyRCQVNFRklMRSJ8YXdrICd7cHJpbnQg JDY7IH0nKQoJICAgIGlmIGVjaG8gIiRMU1JPVVQiIHwgZ3JlcCAiJGZpbHRpbWUgJEJBU0VG SUxFIiA+IC9kZXYvbnVsbDsgdGhlbgoJCWVjaG8gVElNRSBPSyA+PiByZXBvcnQudHh0CgkJ ZWNobyAtbiAiT0sgICAiCgkgICAgZWxzZQoJCWVjaG8gVElNRSBGQUlMID4+IHJlcG9ydC50 eHQKCQllY2hvICIkTFNST1VUIiA+PiByZXBvcnQudHh0CgkJVFo9VVRDIGxzIC0tdGltZS1z dHlsZT0rJVklbSVkJUglTSVTLiVOIC1sICIkTU5UUE9JTlRSTyIgPj4gcmVwb3J0LnR4dAoJ CWVjaG8gLW4gIkZBSUwgIgoJICAgIGZpCgkgICAgCgkgICAgZmlsdGltZT0kKFRaPVVUQyBs cyAtLXRpbWUtc3R5bGU9KyVZJW0lZCVIJU0lUyAtbCAtZCAiJE1OVFBPSU5UUk8vJE9TRElS LyRMT05HTkFNRSJ8YXdrICd7cHJpbnQgJDY7IH0nKQoJICAgIGlmIGVjaG8gIiRMU1JPVVQi IHwgZ3JlcCAiJGZpbHRpbWUgJExPTkdOQU1FIiA+IC9kZXYvbnVsbDsgdGhlbgoJCWVjaG8g TE9ORyBUSU1FIE9LID4+IHJlcG9ydC50eHQKCQllY2hvIC1uICJPSyAgICIKCSAgICBlbHNl CgkJZWNobyBMT05HIFRJTUUgRkFJTCA+PiByZXBvcnQudHh0CgkJZWNobyAiJExTUk9VVCIg Pj4gcmVwb3J0LnR4dAoJCVRaPVVUQyBscyAtLXRpbWUtc3R5bGU9KyVZJW0lZCVIJU0lUy4l TiAtbCAiJE1OVFBPSU5UUk8iID4+IHJlcG9ydC50eHQKCQllY2hvIC1uICJGQUlMICIKCSAg ICBmaQoJZWxzZQoJICAgIGVjaG8gLW4gIk4vQSAgTi9BICAiCglmaQoKCUxTT1VUPWBydW5f Z3J1YmZzdGVzdCBscyAtLSAtbCAnKGxvb3AwKSdgCglpZiBbIHgiJE5PRlNMQUJFTCIgPSB4 eSBdOyB0aGVuCgkgICAgZWNobyAtbiAiTi9BICAiCgllbGlmIGVjaG8gIiRMU09VVCIgfCBn cmVwICdMYWJlbCAiJyIkRlNMQUJFTCInIicgPiAvZGV2L251bGw7IHRoZW4KCSAgICBlY2hv IExBQkVMIE9LID4+IHJlcG9ydC50eHQKCSAgICBlY2hvIC1uICJPSyAgICIKCWVsc2UKCSAg ICBlY2hvIExBQkVMIEZBSUwgPj4gcmVwb3J0LnR4dAoJICAgIGVjaG8gIiRMU09VVCIgPj4g cmVwb3J0LnR4dAoJICAgIGJsa2lkICIkTE9ERVZJQ0UiID4+IHJlcG9ydC50eHQKCSAgICBl Y2hvIC1uICJGQUlMICIKCWZpCgogICAgIyBJbmNvbnNpc3RlbmNpZXMgYmV0d2VlbiBHUlVC IGFuZCBibGtpZC4KCWNhc2UgeCIkZnMiIGluCgkgICAgeCJpc285NjYwIikgOzsKCSAgICB4 InVmczEiIHwgeCJ1ZnMyIikKCQlJRD0kKGR1bXBmcy51ZnMgIiRMT0RFVklDRSIgfGhlYWQg LW4gMnx0YWlsIC1uIDEgfCBzZWQgJ3MsXi4qaWQsLGc7cyxcWywsZztzLFxdLCxnJykKCQlJ RDE9IiQoZWNobyAkSUQgfCBhd2sgJ3sgcHJpbnQgJDE7IH0nKSIKCQlJRDI9IiQoZWNobyAk SUQgfCBhd2sgJ3sgcHJpbnQgJDI7IH0nKSIKCQlGU1VVSUQ9JChwcmludGYgIiUwOHglMDh4 XG4iIDB4JElEMSAweCRJRDIpCgkJOzsKCSAgICB4InpmcyIqKQoJCUZTVVVJRD0kKHByaW50 ZiAiJTAxNnhcbiIgJChibGtpZCAtbyBleHBvcnQgIiR7TE9ERVZJQ0VTWzBdfSIgfGdyZXAg VVVJRD18c2VkIHMsVVVJRD0sLGcpKTs7CgkgICAgKikKCQlGU1VVSUQ9YGJsa2lkIC1vIGV4 cG9ydCAiJHtMT0RFVklDRVNbMF19IiB8Z3JlcCBVVUlEPXxzZWQgcyxVVUlEPSwsZ2AKCQk7 OwoJZXNhYwoJY2FzZSB4IiRmcyIgaW4KCSAgICB4ImhmcyIgfCB4Imhmc3BsdXMiKQoJCUdS VUJVVUlEPSJgcnVuX2dydWJmc3Rlc3QgeG51X3V1aWQgJ2xvb3AwJ2AiICY+PnJlcG9ydC50 eHQKCQlpZiBbIHgiJEdSVUJVVUlEIiA9IHgiJEZTVVVJRCIgXTsgdGhlbgoJCSAgICBlY2hv IFVVSUQgT0sgPj4gcmVwb3J0LnR4dAoJCSAgICBlY2hvIC1uICJPSyAgICIKCQllbHNlCgkJ ICAgIGVjaG8gVVVJRCBGQUlMID4+IHJlcG9ydC50eHQKCQkgICAgZWNobyAiJExTT1VUIiA+ PiByZXBvcnQudHh0CgkJICAgIGVjaG8gIiRHUlVCVVVJRCIgPj4gcmVwb3J0LnR4dAoJCSAg ICBibGtpZCAiJHtMT0RFVklDRVNbMF19IiA+PiByZXBvcnQudHh0CgkJICAgIGVjaG8gLW4g IkZBSUwgIgoJCWZpCgkJOzsKICAgICAgICAjIEZTIExJTUlUQVRJT046IHJvbWZzLCBjcGlv LCB0YXIsIHNxdWFzaDQsIG1pbml4IGFuZCBtaW5peDIgCgkjIGhhdmUgbm8gVVVJRC4KCSAg ICB4InJvbWZzIiB8IHgiY3Bpb2ZzIiB8IHgidGFyZnMiIHwgeCJzcXVhc2g0IiB8IHgibWlu aXgiIFwKCQl8IHgibWluaXgyIiB8IHgiYWZmcyIgfCB4InVkZiIpCgkJZWNobyAtbiAiTi9B ICAiOzsKCSAgICAKCSAgICAqKQoJCWlmIGVjaG8gIiRMU09VVCIgfCBncmVwICdVVUlEICci JEZTVVVJRCInICcgPiAvZGV2L251bGw7IHRoZW4KCQkgICAgZWNobyBVVUlEIE9LID4+IHJl cG9ydC50eHQKCQkgICAgZWNobyAtbiAiT0sgICAiCgkJZWxzZQoJCSAgICBlY2hvIFVVSUQg RkFJTCA+PiByZXBvcnQudHh0CgkJICAgIGVjaG8gIiRGU1VVSUQiID4+IHJlcG9ydC50eHQK CQkgICAgZWNobyAiJExTT1VUIiA+PiByZXBvcnQudHh0CgkJICAgIGJsa2lkICIke0xPREVW SUNFU1swXX0iID4+IHJlcG9ydC50eHQKCQkgICAgZWNobyAtbiAiRkFJTCAiCgkJZmkKCQk7 OwoJZXNhYwoKCWlmIFsgeCRmcyAhPSB4aXNvOTY2MCBdOyB0aGVuCgkgICAgRlNUSU1FPSIk KFRaPVVUQyBscyAtLXRpbWUtc3R5bGU9IislWS0lbS0lZF8lSDolTTolUyIgLWwgLWQgIiR7 RlNJTUFHRVNbMF19Inxhd2sgJ3twcmludCAkNjsgfSd8c2VkICdzLF8sICxnJykiCgllbHNl CgkgICAgRlNUSU1FPSIkKGRhdGUgLWQgIiQoZWNobyAke0ZTVVVJRH0gfCBhd2sgLUYgLSAn eyBwcmludCAkMSItIiQyIi0iJDMiICIkNCI6IiQ1IjoiJDYgO30nKSIgJyslWS0lbS0lZCAl SDolTTolUycpIgoJZmkKCglpZiBbIHgkTk9GU1RJTUUgPSB4eSBdOyB0aGVuCgkgICAgZWNo byAtbiAiTi9BICAiCgllbGlmIGVjaG8gIiRMU09VVCIgfCBncmVwICdMYXN0IG1vZGlmaWNh dGlvbiB0aW1lICciJEZTVElNRSIgPiAvZGV2L251bGw7IHRoZW4KCSAgICBlY2hvIEZTVElN RSBPSyA+PiByZXBvcnQudHh0CgkgICAgZWNobyAtbiAiT0sgICAiCgllbHNlCgkgICAgZWNo byBGU1RJTUUgRkFJTCA+PiByZXBvcnQudHh0CgkgICAgZWNobyAiJEZTVElNRSIgPj4gcmVw b3J0LnR4dAoJICAgIGVjaG8gIiRMU09VVCIgPj4gcmVwb3J0LnR4dAoJICAgIGVjaG8gLW4g IkZBSUwgIgoJZmkKCglpZiBbIHgkTk9TWU1MSU5LICE9IHh5IF07IHRoZW4KCSAgICBpZiBy dW5fZ3J1YmZzdGVzdCBjbXAgIiRHUlVCRElSLyRCQVNFU1lNIiAiJE1OVFBPSU5UUk8vJE9T RElSLyRCQVNFRklMRSIgJj4+IHJlcG9ydC50eHQgOyB0aGVuCgkJZWNobyBTWU1MSU5LIE9L ID4+IHJlcG9ydC50eHQKCQllY2hvIC1uICJPSyAgICIKCSAgICBlbHNlCgkJZWNobyAtbiAi RkFJTCAiCgkJZWNobyBTWU1MSU5LIEZBSUwgPj4gcmVwb3J0LnR4dAoJICAgIGZpCgkgICAg aWYgcnVuX2dydWJmc3Rlc3QgY21wICIkR1JVQkRJUi8kTE9OR1NZTSIgIiRNTlRQT0lOVFJP LyRPU0RJUi8kTE9OR05BTUUiICY+PiByZXBvcnQudHh0IDsgdGhlbgoJCWVjaG8gTE9ORyBT WU1MSU5LIE9LID4+IHJlcG9ydC50eHQKCQllY2hvIC1uICJPSyAgICIKCSAgICBlbHNlCgkJ ZWNobyAtbiAiRkFJTCAiCgkJZWNobyBMT05HIFNZTUxJTksgRkFJTCA+PiByZXBvcnQudHh0 CgkgICAgZmkKCWVsc2UKCSAgICBlY2hvIC1uICJOL0EgIE4vQSAgIgkKCWZpCgoJaWYgcnVu X2dydWJmc3Rlc3QgY21wICIkR1JVQkRJUi8kQkFTRUZJTEUiICIkTU5UUE9JTlRSTy8kT1NE SVIvJEJBU0VGSUxFIiAmPj4gcmVwb3J0LnR4dCA7IHRoZW4KCSAgICBlY2hvIFJFQUQgT0sg Pj4gcmVwb3J0LnR4dAoJICAgIGVjaG8gLW4gIk9LICAgIgoJZWxzZQoJICAgIGVjaG8gLW4g IkZBSUwgIgoJICAgIGVjaG8gUkVBRCBGQUlMID4+IHJlcG9ydC50eHQKCWZpCglpZiBydW5f Z3J1YmZzdGVzdCBjbXAgIiRHUlVCRElSLyRMT05HTkFNRSIgIiRNTlRQT0lOVFJPLyRPU0RJ Ui8kTE9OR05BTUUiICY+PiByZXBvcnQudHh0IDsgdGhlbgoJICAgIGVjaG8gTE9ORyBOQU1F IFJFQUQgT0sgPj4gcmVwb3J0LnR4dAoJICAgIGVjaG8gLW4gIk9LICAgIgoJZWxzZQoJICAg IGVjaG8gLW4gIkZBSUwgIgoJICAgIGVjaG8gTE9ORyBOQU1FIFJFQUQgRkFJTCA+PiByZXBv cnQudHh0CglmaQoJaWYgWyB4JE5PQklHICE9IHh5IF07IHRoZW4KCSAgICBpZiBydW5fZ3J1 YmZzdGVzdCBjbXAgIiRHUlVCRElSLyRCSUdGSUxFIiAiJE1OVFBPSU5UUk8vJE9TRElSLyRC SUdGSUxFIiAmPj4gcmVwb3J0LnR4dCA7IHRoZW4KCQllY2hvIEJJRyBPSyA+PiByZXBvcnQu dHh0CgkJZWNobyAtbiAiT0sgIgoJICAgIGVsc2UKCQllY2hvIC1uICJGQUlMICIKCQllY2hv IEJJRyBGQUlMID4+IHJlcG9ydC50eHQKCSAgICBmaQoJZmkKCWVjaG8KCXNsZWVwIDEKCWNh c2UgeCIkZnMiIGluCgkgICAgeCJ6ZnMiKikKCQl6cG9vbCBleHBvcnQgIiRGU0xBQkVMIjs7 CgkgICAgeCJ0YXJmcyIgfCB4ImNwaW9mcyIgfCB4Imlzbzk2NjAiIHwgeCJyb21mcyIgfCB4 InNxdWFzaDQiKSAKCQk7OwoJICAgICopCgkJdW1vdW50ICIkTU5UUE9JTlRSTyIgJj4+IHJl cG9ydC50eHQgfHwgdHJ1ZQoJCXVtb3VudCAiJE1OVFBPSU5UUlciJj4+IHJlcG9ydC50eHQg fHwgdHJ1ZSAKCWVzYWMKCXNsZWVwIDEKCWZvciAoKGk9MDsgaSA8IE5ERVZJQ0VTOyBpKysp KTsgZG8KCSAgICBjYXNlIHgiJGZzIiBpbgoJCXgidGFyZnMiIHwgeCJjcGlvZnMiIHwgeCJp c285NjYwIiB8IHgicm9tZnMiIHwgeCJzcXVhc2g0IikgOzsKCQkqKQoJCSAgICBsb3NldHVw IC1kICIke0xPREVWSUNFU1tpXX0iOzsKCSAgICBlc2FjCgkgICAgcm0gIiR7RlNJTUFHRVNb aV19IgoJZG9uZQoJaWYgWyB4IiRmcyIgPSB4InpmcyIgXTsgdGhlbgoJICAgIHJtZGlyICIk TU5UUE9JTlRSVyIvZ3J1YmZzICY+PiByZXBvcnQudHh0IHx8IHRydWUgCgkgICAgcm1kaXIg IiRNTlRQT0lOVFJPIi9ncnViZnMgJj4+IHJlcG9ydC50eHQgfHwgdHJ1ZQoJZmkKCXJtZGly ICIkTU5UUE9JTlRSVyIgJj4+IHJlcG9ydC50eHQgfHwgdHJ1ZQoJcm1kaXIgIiRNTlRQT0lO VFJPIiAmPj4gcmVwb3J0LnR4dCB8fCB0cnVlCiAgICBkb25lCmRvbmUK --------------070409050709010604060201-- --------------enig2042537901CD57E431E997AE Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iF4EAREKAAYFAk68QzkACgkQNak7dOguQgkHIQD+MZ03iPsjORezxOMoUiwTFAam mCzLwjSLj1iXuUB570wA/3hvJkD7iKUUkEvCKHZKI6UEdvXDUSaUOJy1qzzfMqGe =XkC6 -----END PGP SIGNATURE----- --------------enig2042537901CD57E431E997AE--