Content-Type: multipart/related; start=; boundary=----------f4enlxsj4Uj2Ie2nncoJs0 Content-Location: http://www.canada.com/components/print.aspx?id=4bdefb05-dff5-499a-b7a1-0b3e5c1d99c3&k=86635 Subject: =?utf-8?Q?Print=20Story=20-=20canada.com=20network?= MIME-Version: 1.0 ------------f4enlxsj4Uj2Ie2nncoJs0 Content-Disposition: inline; filename=print.htm Content-Type: text/html; name=print.htm Content-Id: Content-Location: http://www.canada.com/components/print.aspx?id=4bdefb05-dff5-499a-b7a1-0b3e5c1d99c3&k=86635 Content-Transfer-Encoding: Quoted-Printable Print Story - canada.com network =
3D"=3D"canada,
 
Brush and garbage fire briefly clos= es Bay Street bridge
=
=C2= =A0
Times Colonist

Sunday, May 27, 2007

=

A pile of clothing, garbage and sleeping bag= s belonging to some homeless people caught on fire below the Bay Street = Bridge in Victoria Sunday evening, forcing the temporary closure of the = bridge.

The small fire spread to nearby shrubbery and generated a = thick column of black smoke around 5 p.m.

However, the fire was qu= ickly extinguished by emergency crews, said Victoria police Const. There= sa Tuttle.

The location is a fairly common spot for street people= to sleep, she said.

The bridge was re-opened around 5:45 p.m. Cit= y crews stayed to examine if any electrical wiring for street lights was= damaged.

One person was reported to be leaving the scene after t= he fire started, however police could not say if that person might be re= sponsible for the incident.



3D"Close"

=
3D""
3D""
Copyright = =C2=A9 2007 CanWest Interactive, a division of CanWest MediaWorks Publications, Inc.. All rights reserved.
= = ------------f4enlxsj4Uj2Ie2nncoJs0 Content-Disposition: inline; filename=spacer.gif Content-Type: image/gif; name=spacer.gif Content-Location: http://www.canada.com/images/spacer.gif Content-Transfer-Encoding: Base64 R0lGODlhMgAyAIAAAP///wAAACH5BAEAAAAALAAAAAAyADIAAAIzhI+py+0Po5y0 2ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKicFADs= ------------f4enlxsj4Uj2Ie2nncoJs0 Content-Disposition: inline; filename=en_head_canadacom.gif Content-Type: image/gif; name=en_head_canadacom.gif Content-Location: http://www.canada.com/images/headings/en_head_canadacom.gif Content-Transfer-Encoding: Base64 R0lGODlhAQEqAPf/APFOUvBFSe7u9ImJsvNqbbKyzfBBRfJiZfikpu80Of3m5r5c cvz8/ZWVuvj4+/zd3mhone0lKvR5fPrFxveanMDA1v7z89zc6PrBwu4xNfV9gPT0 +P709W5uoPLy9/NtcPzY2ejo8PFRVYiXwezs82dmmu85Pu4pLb6+1fFVWPJeYdvb 52pqnnp6qMfH2vvNzmVmnPmwssrK3PvJyvisre8+QvaRlPWGiPRydfJZXdDQ4Obm 78TE2fAdIveWmf3i46ioxvimqPioqvR1eO0iJ9fX5bS0zru70tPT4vNlaJKSuPaJ jP3r66Kiwv7w8IeHsfFKTuMlLaamxfaOkPzW13JpmoyMtGxsn3h4p8rB1M7O366u ypiYvPBHTHJyo52dv+Dg639/q/itr/q9v9jZ5qCgwaysyHFxooCArJGRt6WlxPeg ooWFr/YwMfm6vPm4ufeeoPrCw+4nLPaUlqqqyH19qnR0pHRfj7i40W1xo/V/gra2 z31Zhu4uM/WIind3psLF2faMjviqrPWEh/m2uMLD2NkqNWNpnugiKf/6+uPj7e0g Jf/7+//9/Wpqnf729vvQ0e0hJu4sMf/7/P7u7/739/v7/fWChe4rMP74+OLi7O0j J/r6+//8/PWDhv7+/uXl7vv7/PDw9f/5+e4tMry80/f3+urq8f7t7v719vHx9oKC raenxuvr8vvS0/3p6vr6/OTk7Y+Ptvb2+W9vof7v8P39/Zubvv3o6XZ2pfWBhPNw c3Nzo9/f6v3n6Pq/wJqavfaQk8jI2/zb3Lm50vzX1/zV1vvLzN3d6fzf4Ht7qfzU 1YODrtTU4/3k5LCwy2RnnfvP0P3s7P7t7fm0tvvT1I6Otc/P4PR0d/vR0ntbifNo a6Ojw//o6Op3fsWgtLuAmMHJ3/bs7/2pqfIdIOmss+xMUfHa3/X1+Glkl2pkmPny 9IyRuNI1RIlUfevv9uQqM8XF2VZuqeK4wuGWoPmys/xnaKGhwfy3t+zn7vz6+//4 +O3t82Zmm+0fJP///yH5BAEAAP8ALAAAAAABASoAAAj/AP8JHEiwoMGDCBMqXMiw ocOHECNKnEixosWLBnVYcVSio8ePIEOKLMFCiRZOBh1cKKKpiId/imxhnEmzps2b OB96aNCvp8+fQIMKFcrlJUEPKFrwYHEEiRV0OaNKnUq1qkASVoZq3brVmiqDaSw9 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 EBAAOw== ------------f4enlxsj4Uj2Ie2nncoJs0 Content-Disposition: inline; filename=b_close_window.gif Content-Type: image/gif; name=b_close_window.gif Content-Location: http://www.canada.com/images/b_close_window.gif Content-Transfer-Encoding: Base64 R0lGODlhWQAQALP/AP///4wAA8DAwPvw78EfFMYxJ9FZUN2GgOSfmuy6t/Xc2wAA AAAAAAAAAAAAAAAAACH5BAEAAAIALAAAAABZABAAAAT/UIRJq7046827lkQojmRp nmiqrujEvnAsr+5s3/hZ53wf76ODAqAoHADBocJAMCQAgAQBCmUSCoADIaEgHLHQ gyHaRB4BA0Th+kx7AUwAYtstAUNjrfgoym8HdAVGU1okCmpQBQh1WWVZY29NblwF eVhiRASHJneRInwhoGMGCEQIcQoJUiKLBgpLm4RlCAN8oKWyW1KHCE9+dgEloKFI xHhwXgkDAFinVscJCL3IsmMFCsuefI26BIuwT2vAJX57xWVayl5MR78jYAZjzCGN kPKRBpNFfvKKmZzBhCkxQkWPEnbLFGihQi0Etiv/CkLaYgZKmjUF2syBKGXMxnE+ HUKK1BFwpMmRnU6qvJFypUsYASR4mEmzpk0OAiIAADs= ------------f4enlxsj4Uj2Ie2nncoJs0 Content-Disposition: inline; filename=L_dashed.gif Content-Type: image/gif; name=L_dashed.gif Content-Location: http://www.canada.com/images/L_dashed.gif Content-Transfer-Encoding: Base64 R0lGODlhAAMBAIAAAMLCwv///yH5BAAAAAAALAAAAAAAAwEAAAJDhBMGebyOVGwS 2oqpfjLzPX1iSF6gOXqliq4nq8LvPLZ2TLu1vOctrwvefLieUQgcpojMozKYjDaR 06dV6uxUsVRAAQA7 ------------f4enlxsj4Uj2Ie2nncoJs0 Content-Disposition: inline; filename=spacer.gif Content-Type: image/gif; name=spacer.gif Content-Location: http://www.canada.com/images/spacer.gif Content-Transfer-Encoding: Base64 R0lGODlhMgAyAIAAAP///wAAACH5BAEAAAAALAAAAAAyADIAAAIzhI+py+0Po5y0 2ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKicFADs= ------------f4enlxsj4Uj2Ie2nncoJs0 Content-Disposition: inline; filename=canwest_s_code.js Content-Type: application/x-javascript; name=canwest_s_code.js Content-Location: http://www.canada.com/js/canwest_s_code.js Content-Transfer-Encoding: Base64 LyogU2l0ZUNhdGFseXN0IGNvZGUgdmVyc2lvbjogSC4yLg0KQ29weXJpZ2h0IDE5 OTctMjAwNSBPbW5pdHVyZSwgSW5jLiBNb3JlIGluZm8gYXZhaWxhYmxlIGF0DQpo dHRwOi8vd3d3Lm9tbml0dXJlLmNvbSAqLw0KLyogU3BlY2lmeSB0aGUgUmVwb3J0 IFN1aXRlIElEKHMpIHRvIHRyYWNrIGhlcmUgKi8NCnZhciBzX2FjY291bnQ9ImNh bndlc3QiDQp2YXIgcz1zX2dpKHNfYWNjb3VudCkNCi8qKioqKioqKioqKioqKioq KioqKioqKioqKiBDT05GSUcgU0VDVElPTiAqKioqKioqKioqKioqKioqKioqKioq KioqKi8NCi8qIFlvdSBtYXkgYWRkIG9yIGFsdGVyIGFueSBjb2RlIGNvbmZpZyBo ZXJlLiAqLw0KLyogRS1jb21tZXJjZSBDb25maWcgKi8NCnMuY3VycmVuY3lDb2Rl PSJVU0QiDQovKiBMaW5rIFRyYWNraW5nIENvbmZpZyAqLw0Kcy50cmFja0Rvd25s b2FkTGlua3M9dHJ1ZQ0Kcy50cmFja0V4dGVybmFsTGlua3M9dHJ1ZQ0Kcy50cmFj a0lubGluZVN0YXRzPXRydWUNCnMubGlua0Rvd25sb2FkRmlsZVR5cGVzPSJleGUs emlwLHdhdixtcDMsbW92LG1wZyxhdmksd212LGRvYyxwZGYseGxzIg0Kcy5saW5r SW50ZXJuYWxGaWx0ZXJzPSJqYXZhc2NyaXB0Oix3d3cuY2FuYWRhLmNvbSx3d3cu Y2FuYWRhLmNvbSx3ZWJtYWlsLmNhbmFkYS5jb20sbWVtYmVycy5jYW5hZGEuY29t LGV2ZW50cy5jYW5hZGEuY29tLHZpZGVvLmNhbmFkYS5jb20sYm9keWFuZGhlYWx0 aC5jYW5hZGEuY29tLGNvbW11bml0eS5jYW5hZGEuY29tLHNwb3J0cy5jYW5hZGEu Y29tLHNob3BwaW5nLm5hdGlvbmFscG9zdC5jYW5hZGEuY29tLHNob3BwaW5nLnZp Y3RvcmlhdGltZXNjb2xvbmlzdC5jYW5hZGEuY29tLHNob3BwaW5nLnZhbmNvdXZl ci5jYW5hZGEuY29tLHNob3BwaW5nLmVkbW9udG9uam91cm5hbC5jYW5hZGEuY29t LHNob3BwaW5nLmNhbGdhcnloZXJhbGQuY2FuYWRhLmNvbSxzaG9wcGluZy5yZWdp bmFsZWFkZXJwb3N0LmNhbmFkYS5jb20sc2hvcHBpbmcuc2Fza2F0b29uc3RhcnBo b2VuaXguY2FuYWRhLmNvbSxzaG9wcGluZy53aW5kc29yc3Rhci5jYW5hZGEuY29t LHNob3BwaW5nLm90dGF3YWNpdGl6ZW4uY2FuYWRhLmNvbSxzaG9wcGluZy5tb250 cmVhbGdhemV0dGUuY2FuYWRhLmNvbSxjYW53ZXN0LnllbGxvd3BhZ2VzLmNhLGNh bndlc3QxLmNhbmFkYS40MTEuY2EsZXhwZWRpYS5jYSxmaW5hbmNlLmNhbmFkYS5j b20iDQpzLmxpbmtMZWF2ZVF1ZXJ5U3RyaW5nPWZhbHNlDQpzLmxpbmtUcmFja1Zh cnM9Ik5vbmUiDQpzLmxpbmtUcmFja0V2ZW50cz0iTm9uZSINCg0KLyogUGFnZU5h bWUgUGx1Z2luIENvbmZpZyAqLw0Kcy5zaXRlSUQ9IiI7IC8vIG9wdGlvbmFsDQpz LmRlZmF1bHRQYWdlPSJpbmRleC5odG1sIjsNCnMucXVlcnlWYXJzTGlzdD0iIjsg Ly8gaWYgbGlzdCwgY29tbWEgZGVsaW1pdA0Kcy5wYXRoRXhjbHVkZURlbGltPSI7 IjsNCnMucGF0aENvbmNhdERlbGltPSIvIjsgLy8gcGFnZSBuYW1lIGNvbXBvbmVu dCBzZXBhcmF0b3INCg0KLyogUGx1Z2luIENvbmZpZyAqLw0Kcy51c2VQbHVnaW5z PXRydWUNCmZ1bmN0aW9uIHNfZG9QbHVnaW5zKHMpIHsNCgkvKiBBZGQgY2FsbHMg dG8gcGx1Z2lucyBoZXJlICovDQoJDQoNCgkvKiBQYWdlIE5hbWUgUGx1Z2luICov DQoJaWYgKCghd2luZG93LnMucGFnZVR5cGUpICYmICghd2luZG93LnMucGFnZU5h bWUgfHwgcy5wYWdlTmFtZT09IiIpKQ0KCXMucGFnZU5hbWU9cy5nZXRQYWdlTmFt ZSgpOw0KDQp9DQpzLmRvUGx1Z2lucz1zX2RvUGx1Z2lucw0KLyoqKioqKioqKioq KioqKioqKioqKioqKioqIFBMVUdJTlMgU0VDVElPTiAqKioqKioqKioqKioqKioq KioqKioqKioqLw0KLyogWW91IG1heSBpbnNlcnQgYW55IHBsdWdpbnMgeW91IHdp c2ggdG8gdXNlIGhlcmUuICAgICAgICAgICAgICAgICAqLw0KDQovKg0KICogUGx1 Z2luOiBnZXRRdWVyeVBhcmFtIDEuMyAtIFJldHVybiBxdWVyeSBzdHJpbmcgcGFy YW1ldGVyIHZhbHVlcw0KICovDQpzLmdldFF1ZXJ5UGFyYW09bmV3IEZ1bmN0aW9u KCJxcCIsImQiLCIiDQorInZhciBzPXRoaXMsdj0nJyxpLHQ7ZD1kP2Q6Jyc7d2hp bGUocXApe2k9cXAuaW5kZXhPZignLCcpO2k9aTwwP3FwLmwiDQorImVuZ3RoOmk7 dD1zLmdjZ2kocXAuc3Vic3RyaW5nKDAsaSkpO2lmKHQpdis9dj9kK3Q6dDtxcD1x cC5zdWJzdHJpbmciDQorIihpPT1xcC5sZW5ndGg/aTppKzEpfXJldHVybiB2Iik7 DQpzLmdjZ2k9bmV3IEZ1bmN0aW9uKCJrIiwiIg0KKyJ2YXIgdj0nJyxzPXRoaXM7 aWYoayYmcy53ZC5sb2NhdGlvbi5zZWFyY2gpe3ZhciBxPXMud2QubG9jYXRpb24u c2VhIg0KKyJyY2gudG9Mb3dlckNhc2UoKSxxcT1xLmluZGV4T2YoJz8nKTtxPXFx PDA/cTpxLnN1YnN0cmluZyhxcSsxKTt2PXMuIg0KKyJwdChxLCcmJywnY2dpZics ay50b0xvd2VyQ2FzZSgpKX1yZXR1cm4gdiIpOw0Kcy5jZ2lmPW5ldyBGdW5jdGlv bigidCIsImsiLCIiDQorImlmKHQpe3ZhciBzPXRoaXMsaT10LmluZGV4T2YoJz0n KSxzaz1pPDA/dDp0LnN1YnN0cmluZygwLGkpLHN2PWk8MD8iDQorIidUcnVlJzp0 LnN1YnN0cmluZyhpKzEpO2lmKHNrLnRvTG93ZXJDYXNlKCk9PWspcmV0dXJuIHMu ZXBhKHN2KX1yZXQiDQorInVybiAnJyIpOw0KDQovKg0KICogVXRpbGl0eSBGdW5j dGlvbjogU3BsaXQgYSBzdHJpbmcgKGNvbXBhdGlibGUgd2l0aCBKYXZhc2NyaXB0 IDEuMCkNCiAqLw0Kcy5zcGxpdD1uZXcgRnVuY3Rpb24oInN0ciIsInNlcCIsIiIN CisidmFyIHNpPTAsc2E9bmV3IEFycmF5KCksaTt3aGlsZSgoc3RyLmxlbmd0aD4w KSYmKHNlcC5sZW5ndGg+MCkpeyINCisiaT1zdHIuaW5kZXhPZihzZXApO2lmKCgh aSkmJihzZXAhPXN0ci5zdWJzdHJpbmcoMCxzZXAubGVuZ3RoKSkpIg0KKyJicmVh aztpZihpPT0tMSl7c2Fbc2krK10gPSBzdHI7YnJlYWs7fXNhW3NpKytdPXN0ci5z dWJzdHJpbmcoMCxpKTsiDQorInN0cj1zdHIuc3Vic3RyaW5nKGkrc2VwLmxlbmd0 aCxzdHIubGVuZ3RoKX1yZXR1cm4gc2EiKTsNCgkNCi8qDQogKiBVdGlsaXR5IEZ1 bmN0aW9uOiBEZXRlcm1pbmUgSWYgQSBQYXJ0aWN1bGFyIFZhbHVlIEV4aXN0cyBX aXRoaW4gQW4gQXJyYXkNCiAqLw0Kcy5pYT1uZXcgRnVuY3Rpb24oImFyIiwidiIs IiINCisiZm9yKHZhciBpPTA7aTxhci5sZW5ndGg7aSsrKXtpZihhcltpXT09dily ZXR1cm4gaX1yZXR1cm4gLTEiKTsNCg0KLyoNCiAqIFBsdWdpbjogRHluYW1pY2Fs bHkgR2VuZXJhdGUgUGFnZSBOYW1lIEJhc2VkIE9uIEN1cnJlbnQgVVJMDQogKi8N CnMuZ2V0UGFnZU5hbWU9bmV3IEZ1bmN0aW9uKCIiDQorInZhciBzPXRoaXMscG49 KHMuc2l0ZUlEJiYoJycrcy5zaXRlSUQpLmxlbmd0aD4wKT8nJytzLnNpdGVJRDoi DQorIicnLGw9bG9jYXRpb24sZHA9KHMuZGVmYXVsdFBhZ2UpPycnK3MuZGVmYXVs dFBhZ2U6JycsZT0iDQorIihzLnBhdGhFeGNsdWRlRGVsaW0pP3MucGF0aEV4Y2x1 ZGVEZWxpbTonJyxjcz0ocy5wYXRoQ29uY2F0RGVsaW0pPyINCisicy5wYXRoQ29u Y2F0RGVsaW06JycscT1sLnNlYXJjaC5zdWJzdHJpbmcoMSksIg0KKyJwPWwucGF0 aG5hbWUuc3Vic3RyaW5nKDEpLHg9cC5pbmRleE9mKGUpO3A9KCh4PDApP3A6cC5z dWJzdHJpbmcoMCwiDQorIngpKS5zcGxpdCgnLycpO2ZvcihqPTA7ajxwLmxlbmd0 aDtqKyspe2lmKHBbal0ubGVuZ3RoPjApe2lmKHBuLiINCisibGVuZ3RoPjApcG4r PWNzO3BuKz1wW2pdfWVsc2V7aWYoZHAubGVuZ3RoPjApe2lmKHBuLmxlbmd0aD4w KXBuKz0iDQorImNzO3BuKz1kcH19fWlmKHEubGVuZ3RoPjApe2lmKHMucXVlcnlW YXJzTGlzdCl7dmFyIHFwYT1uZXcgQXJyYXkoKSINCisiLHF2PXMuc3BsaXQocy5x dWVyeVZhcnNMaXN0LCcsJykscXA9cy5zcGxpdChxLCcmJyksdG1wLGlkeDtmb3Io aT0iDQorIjA7aTxxcC5sZW5ndGg7aSsrKXt0bXA9cy5zcGxpdChxcFtpXSwnPScp O3FwYVtpXT10bXBbMF19Zm9yKGk9MDsiDQorImk8cXYubGVuZ3RoO2krKyl7aWR4 PXMuaWEocXBhLHF2W2ldKTtpZihpZHg+PTApe2lmKHBuLmxlbmd0aCINCisiPjAp cG4rPWNzO3BuKz1xcFtpZHhdfX19fXJldHVybiBwbiIpOw0KLyoqKioqKioqKioq KiogRE8gTk9UIEFMVEVSIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSAhICoqKioq KioqKioqKioqLw0KdmFyIHNfb2JqZWN0SUQ7ZnVuY3Rpb24gc19jMmZlKGYpe3Zh ciB4PScnLHM9MCxlLGEsYixjO3doaWxlKDEpe2U9DQpmLmluZGV4T2YoJyInLHMp O2I9Zi5pbmRleE9mKCdcXCcscyk7Yz1mLmluZGV4T2YoIlxuIixzKTtpZihlPDB8 fChiPj0NCjAmJmI8ZSkpZT1iO2lmKGU8MHx8KGM+PTAmJmM8ZSkpZT1jO2lmKGU+ PTApe3grPShlPnM/Zi5zdWJzdHJpbmcocyxlKToNCicnKSsoZT09Yz8nXFxuJzon XFwnK2Yuc3Vic3RyaW5nKGUsZSsxKSk7cz1lKzF9ZWxzZSByZXR1cm4geA0KK2Yu c3Vic3RyaW5nKHMpfXJldHVybiBmfWZ1bmN0aW9uIHNfYzJmYShmKXt2YXIgcz1m LmluZGV4T2YoJygnKSsxLGU9DQpmLmluZGV4T2YoJyknKSxhPScnLGM7d2hpbGUo cz49MCYmczxlKXtjPWYuc3Vic3RyaW5nKHMscysxKTtpZihjPT0nLCcpDQphKz0n IiwiJztlbHNlIGlmKCgiXG5cclx0ICIpLmluZGV4T2YoYyk8MClhKz1jO3MrK31y ZXR1cm4gYT8nIicrYSsnIic6DQphfWZ1bmN0aW9uIHNfYzJmKGNjKXtjYz0nJytj Yzt2YXIgZmM9J3ZhciBmPW5ldyBGdW5jdGlvbignLHM9DQpjYy5pbmRleE9mKCc7 JyxjYy5pbmRleE9mKCd7JykpLGU9Y2MubGFzdEluZGV4T2YoJ30nKSxvLGEsZCxx LGMsZixoLHgNCmZjKz1zX2MyZmEoY2MpKycsInZhciBzPW5ldyBPYmplY3Q7Jztj PWNjLnN1YnN0cmluZyhzKzEsZSk7cz0NCmMuaW5kZXhPZignZnVuY3Rpb24nKTt3 aGlsZShzPj0wKXtkPTE7cT0nJzt4PTA7Zj1jLnN1YnN0cmluZyhzKTthPQ0Kc19j MmZhKGYpO2U9bz1jLmluZGV4T2YoJ3snLHMpO2UrKzt3aGlsZShkPjApe2g9Yy5z dWJzdHJpbmcoZSxlKzEpO2lmKA0KcSl7aWYoaD09cSYmIXgpcT0nJztpZihoPT0n XFwnKXg9eD8wOjE7ZWxzZSB4PTB9ZWxzZXtpZihoPT0nIid8fGg9PSInIg0KKXE9 aDtpZihoPT0neycpZCsrO2lmKGg9PSd9JylkLS19aWYoZD4wKWUrK31jPWMuc3Vi c3RyaW5nKDAscykNCisnbmV3IEZ1bmN0aW9uKCcrKGE/YSsnLCc6JycpKyciJytz X2MyZmUoYy5zdWJzdHJpbmcobysxLGUpKSsnIiknDQorYy5zdWJzdHJpbmcoZSsx KTtzPWMuaW5kZXhPZignZnVuY3Rpb24nKX1mYys9c19jMmZlKGMpKyc7cmV0dXJu IHMiKTsnDQpldmFsKGZjKTtyZXR1cm4gZn1mdW5jdGlvbiBzX2dpKHVuLHBnLHNz KXt2YXIgYz0iZnVuY3Rpb24gc19jKHVuLHBnLHMiDQorInMpe3ZhciBzPXRoaXM7 cy53ZD13aW5kb3c7aWYoIXMud2Quc19jX2luKXtzLndkLnNfY19pbD1uZXcgQXJy YXk7cy4iDQorIndkLnNfY19pbj0wO31zLl9pbD1zLndkLnNfY19pbDtzLl9pbj1z LndkLnNfY19pbjtzLl9pbFtzLl9pbl09cztzLnciDQorImQuc19jX2luKys7cy5t PWZ1bmN0aW9uKG0pe3JldHVybiAoJycrbSkuaW5kZXhPZigneycpPDB9O3MuZmw9 ZnVuY3QiDQorImlvbih4LGwpe3JldHVybiB4PygnJyt4KS5zdWJzdHJpbmcoMCxs KTp4fTtzLmNvPWZ1bmN0aW9uKG8pe2lmKCFvKXIiDQorImV0dXJuIG87dmFyIG49 bmV3IE9iamVjdCx4O2Zvcih4IGluIG8paWYoeC5pbmRleE9mKCdzZWxlY3QnKTww JiZ4LmkiDQorIm5kZXhPZignZmlsdGVyJyk8MCluW3hdPW9beF07cmV0dXJuIG59 O3MubnVtPWZ1bmN0aW9uKHgpe3g9JycreDtmb3IiDQorIih2YXIgcD0wO3A8eC5s ZW5ndGg7cCsrKWlmKCgnMDEyMzQ1Njc4OScpLmluZGV4T2YoeC5zdWJzdHJpbmco cCxwKzEiDQorIikpPDApcmV0dXJuIDA7cmV0dXJuIDF9O3MucmVwPWZ1bmN0aW9u KHgsbyxuKXt2YXIgaT14LmluZGV4T2YobyksbD0iDQorIm4ubGVuZ3RoPjA/bi5s ZW5ndGg6MTt3aGlsZSh4JiZpPj0wKXt4PXguc3Vic3RyaW5nKDAsaSkrbit4LnN1 YnN0cmkiDQorIm5nKGkrby5sZW5ndGgpO2k9eC5pbmRleE9mKG8saStsKX1yZXR1 cm4geH07cy5hcGU9ZnVuY3Rpb24oeCl7dmFyIHMiDQorIj10aGlzLGk7eD14P3Mu cmVwKGVzY2FwZSgnJyt4KSwnKycsJyUyQicpOng7aWYoeCYmcy5jaGFyU2V0JiZz LmVtPT0iDQorIjEmJnguaW5kZXhPZignJXUnKTwwJiZ4LmluZGV4T2YoJyVVJyk8 MCl7aT14LmluZGV4T2YoJyUnKTt3aGlsZShpPj0iDQorIjApe2krKztpZigoJzg5 QUJDREVGYWJjZGVmJykuaW5kZXhPZih4LnN1YnN0cmluZyhpLGkrMSkpPj0wKXJl dHVybiAiDQorInguc3Vic3RyaW5nKDAsaSkrJ3UwMCcreC5zdWJzdHJpbmcoaSk7 aT14LmluZGV4T2YoJyUnLGkpfX1yZXR1cm4geH0iDQorIjtzLmVwYT1mdW5jdGlv bih4KXt2YXIgcz10aGlzO3JldHVybiB4P3VuZXNjYXBlKHMucmVwKCcnK3gsJysn LCcgJykiDQorIik6eH07cy5wdD1mdW5jdGlvbih4LGQsZixhKXt2YXIgcz10aGlz LHQ9eCx6PTAseSxyO3doaWxlKHQpe3k9dC5pbmQiDQorImV4T2YoZCk7eT15PDA/ dC5sZW5ndGg6eTt0PXQuc3Vic3RyaW5nKDAseSk7cj1zLm0oZik/c1tmXSh0LGEp OmYodCwiDQorImEpO2lmKHIpcmV0dXJuIHI7eis9eStkLmxlbmd0aDt0PXguc3Vi c3RyaW5nKHoseC5sZW5ndGgpO3Q9ejx4LmxlbmciDQorInRoP3Q6Jyd9cmV0dXJu ICcnfTtzLmlzZj1mdW5jdGlvbih0LGEpe3ZhciBjPWEuaW5kZXhPZignOicpO2lm KGM+PTAiDQorIilhPWEuc3Vic3RyaW5nKDAsYyk7aWYodC5zdWJzdHJpbmcoMCwy KT09J3NfJyl0PXQuc3Vic3RyaW5nKDIpO3JldHUiDQorInJuICh0IT0nJyYmdD09 YSl9O3MuZnNmPWZ1bmN0aW9uKHQsYSl7dmFyIHM9dGhpcztpZihzLnB0KGEsJywn LCdpc2YiDQorIicsdCkpcy5mc2crPShzLmZzZyE9Jyc/JywnOicnKSt0O3JldHVy biAwfTtzLmZzPWZ1bmN0aW9uKHgsZil7dmFyIHMiDQorIj10aGlzO3MuZnNnPScn O3MucHQoeCwnLCcsJ2ZzZicsZik7cmV0dXJuIHMuZnNnfTtzLmNfZD0nJztzLmNf Z2RmPWYiDQorInVuY3Rpb24odCxhKXt2YXIgcz10aGlzO2lmKCFzLm51bSh0KSly ZXR1cm4gMTtyZXR1cm4gMH07cy5jX2dkPWZ1bmMiDQorInRpb24oKXt2YXIgcz10 aGlzLGQ9cy53ZC5sb2NhdGlvbi5ob3N0bmFtZSxuPXMuY29va2llRG9tYWluUGVy aW9kcywiDQorInA7aWYoZCYmIXMuY19kKXtuPW4/cGFyc2VJbnQobik6MjtuPW4+ Mj9uOjI7cD1kLmxhc3RJbmRleE9mKCcuJyk7d2giDQorImlsZShwPj0wJiZuPjEp e3A9ZC5sYXN0SW5kZXhPZignLicscC0xKTtuLS19cy5jX2Q9cD4wJiZzLnB0KGQs Jy4nLCciDQorImNfZ2RmJywwKT9kLnN1YnN0cmluZyhwKTonJ31yZXR1cm4gcy5j X2R9O3MuY19yPWZ1bmN0aW9uKGspe3ZhciBzPXQiDQorImhpcztrPXMuYXBlKGsp O3ZhciBjPScgJytzLmQuY29va2llLGk9Yy5pbmRleE9mKCcgJytrKyc9JyksZT1p PDA/aToiDQorImMuaW5kZXhPZignOycsaSksdj1pPDA/Jyc6cy5lcGEoYy5zdWJz dHJpbmcoaSsyK2subGVuZ3RoLGU8MD9jLmxlbmciDQorInRoOmUpKTtyZXR1cm4g diE9J1tbQl1dJz92OicnfTtzLmNfdz1mdW5jdGlvbihrLHYsZSl7dmFyIHM9dGhp cyxkPXMiDQorIi5jX2dkKCksbD1zLmNvb2tpZUxpZmV0aW1lLHQ7dj0nJyt2O2w9 bD8oJycrbCkudG9VcHBlckNhc2UoKTonJztpZigiDQorImUmJmwhPSdTRVNTSU9O JyYmbCE9J05PTkUnKXt0PSh2IT0nJz9wYXJzZUludChsP2w6MCk6LTYwKTtpZih0 KXtlPW4iDQorImV3IERhdGU7ZS5zZXRUaW1lKGUuZ2V0VGltZSgpKyh0KjEwMDAp KX19aWYoayYmbCE9J05PTkUnKXtzLmQuY29va2kiDQorImU9aysnPScrcy5hcGUo diE9Jyc/djonW1tCXV0nKSsnOyBwYXRoPS87JysoZSYmbCE9J1NFU1NJT04nPycg ZXhwaXIiDQorImVzPScrZS50b0dNVFN0cmluZygpKyc7JzonJykrKGQ/JyBkb21h aW49JytkKyc7JzonJyk7cmV0dXJuIHMuY19yKGsiDQorIik9PXZ9cmV0dXJuIDB9 O3MuZWg9ZnVuY3Rpb24obyxlLHIsZil7dmFyIHM9dGhpcyxiPSdzXycrZSsnXycr cy5faW4iDQorIixuPS0xLGwsaSx4O2lmKCFzLmVobClzLmVobD1uZXcgQXJyYXk7 bD1zLmVobDtmb3IoaT0wO2k8bC5sZW5ndGgmJm4iDQorIjwwO2krKyl7aWYobFtp XS5vPT1vJiZsW2ldLmU9PWUpbj1pfWlmKG48MCl7bj1pO2xbbl09bmV3IE9iamVj dH14PWwiDQorIltuXTt4Lm89bzt4LmU9ZTtmPXI/eC5iOmY7aWYocnx8Zil7eC5i PXI/MDpvW2VdO3gub1tlXT1mfWlmKHguYil7eC4iDQorIm9bYl09eC5iO3JldHVy biBifXJldHVybiAwfTtzLmNldD1mdW5jdGlvbihmLGEsdCxvLGIpe3ZhciBzPXRo aXMscjsiDQorImlmKHMuaXNpZSYmYS5hcHY+PTUpZXZhbCgndHJ5e3I9cy5tKGYp P3NbZl0oYSk6ZihhKX1jYXRjaChlKXtyPXMubSgiDQorInQpP3NbdF0oZSk6dChl KX0nKTtlbHNle2lmKHMuaXNtYWMmJnMudS5pbmRleE9mKCdNU0lFIDQnKT49MCly PXMubSgiDQorImIpP3NbYl0oYSk6YihhKTtlbHNle3MuZWgocy53ZCwnb25lcnJv cicsMCxvKTtyPXMubShmKT9zW2ZdKGEpOmYoYSkiDQorIjtzLmVoKHMud2QsJ29u ZXJyb3InLDEpfX1yZXR1cm4gcn07cy5ndGZzZXQ9ZnVuY3Rpb24oZSl7dmFyIHM9 dGhpczsiDQorInJldHVybiBzLnRmc307cy5ndGZzb2U9bmV3IEZ1bmN0aW9uKCdl JywndmFyIHM9c19jX2lsWycrcy5faW4rJ107cy4iDQorImVoKHdpbmRvdyxcIm9u ZXJyb3JcIiwxKTtzLmV0ZnM9MTt2YXIgYz1zLnQoKTtpZihjKXMuZC53cml0ZShj KTtzLmUiDQorInRmcz0wO3JldHVybiB0cnVlJyk7cy5ndGZzZmI9ZnVuY3Rpb24o YSl7cmV0dXJuIHdpbmRvd307cy5ndGZzZj1mdW4iDQorImN0aW9uKHcpe3ZhciBz PXRoaXMscD13LnBhcmVudCxsPXcubG9jYXRpb247cy50ZnM9dztpZihwJiZwLmxv Y2F0aW8iDQorIm4hPWwmJnAubG9jYXRpb24uaG9zdD09bC5ob3N0KXtzLnRmcz1w O3JldHVybiBzLmd0ZnNmKHMudGZzKX1yZXR1cm4iDQorIiBzLnRmc307cy5ndGZz PWZ1bmN0aW9uKCl7dmFyIHM9dGhpcztpZighcy50ZnMpe3MudGZzPXMud2Q7aWYo IXMuZXQiDQorImZzKXMudGZzPXMuY2V0KCdndGZzZicscy50ZnMsJ2d0ZnNldCcs cy5ndGZzb2UsJ2d0ZnNmYicpfXJldHVybiBzLnQiDQorImZzfTtzLmNhPWZ1bmN0 aW9uKCl7dmFyIHM9dGhpcyxpbW49J3NfaV8nK3MuZnVuO2lmKHMuZC5pbWFnZXMm JnMuYXAiDQorInY+PTMmJiFzLmlzb3BlcmEmJihzLm5zNjwwfHxzLmFwdj49Ni4x KSl7cy5pb3M9MTtpZighcy5kLmltYWdlc1tpbW4iDQorIl0mJighcy5pc25zfHwo cy5hcHY8NHx8cy5hcHY+PTUpKSl7cy5kLndyaXRlKCc8aW0nKydnIG5hbWU9XCIn K2ltbisiDQorIidcIiBoZWlnaHQ9MSB3aWR0aD0xIGJvcmRlcj0wIGFsdD1cIlwi PicpO2lmKCFzLmQuaW1hZ2VzW2ltbl0pcy5pb3MiDQorIj0wfX19O3MubXI9ZnVu Y3Rpb24oc2VzcyxxLHRhKXt2YXIgcz10aGlzLG5zPXMudmlzaXRvck5hbWVzcGFj ZSx1bmMiDQorIj1zLnJlcChzLmZ1biwnXycsJy0nKSxpbW49J3NfaV8nK3MuZnVu LGltLGIsZSxycz0naHR0cCcrKHMuc3NsPydzJzoiDQorIicnKSsnOi8vJysobnM/ bnM6KHMuc3NsPycxMDInOnVuYykpKycuMTEyLjJPNy5uZXQvYi9zcy8nK3MudW4r Jy8xL0giDQorIi4yLXBkdi0yLycrc2VzcysnP1tBUUJdJm5kaD0xJysocT9xOicn KSsocy5xP3MucTonJykrJyZbQVFFXSc7aWYocy4iDQorImlzaWUmJiFzLmlzbWFj KXtpZihzLmFwdj41LjUpcnM9cy5mbChycyw0MDk1KTtlbHNlIHJzPXMuZmwocnMs MjA0NykiDQorIn1pZihzLmlvcyl7aW09cy53ZFtpbW5dP3Mud2RbaW1uXTpzLmQu aW1hZ2VzW2ltbl07aWYoIWltKWltPXMud2RbaW0iDQorIm5dPW5ldyBJbWFnZTtp bS5zcmM9cnM7aWYocnMuaW5kZXhPZignJnBlPScpPj0wJiYoIXRhfHx0YT09J19z ZWxmJ3wiDQorInx0YT09J190b3AnfHwocy53ZC5uYW1lJiZ0YT09cy53ZC5uYW1l KSkpe2I9ZT1uZXcgRGF0ZTt3aGlsZShlLmdldFQiDQorImltZSgpLWIuZ2V0VGlt ZSgpPDUwMCllPW5ldyBEYXRlfXJldHVybiAnJ31yZXR1cm4gJzxpbScrJ2cgc3In KydjPSINCisiXCInK3JzKydcIiB3aWR0aD0xIGhlaWdodD0xIGJvcmRlcj0wIGFs dD1cIlwiPid9O3MuZ2c9ZnVuY3Rpb24odil7diINCisiYXIgcz10aGlzO3JldHVy biBzLndkWydzXycrdl19O3MuZ2xmPWZ1bmN0aW9uKHQsYSl7aWYodC5zdWJzdHJp bmcoMCINCisiLDIpPT0nc18nKXQ9dC5zdWJzdHJpbmcoMik7dmFyIHM9dGhpcyx2 PXMuZ2codCk7aWYodilzW3RdPXZ9O3MuZ2w9ZiINCisidW5jdGlvbih2KXt2YXIg cz10aGlzO3MucHQodiwnLCcsJ2dsZicsMCl9O3MuZ3Y9ZnVuY3Rpb24odil7dmFy IHM9dCINCisiaGlzO3JldHVybiBzWyd2cG1fJyt2XT9zWyd2cHZfJyt2XTpzW3Zd fTtzLmhhdmY9ZnVuY3Rpb24odCxhKXt2YXIgcyINCisiPXRoaXMsYj10LnN1YnN0 cmluZygwLDQpLHg9dC5zdWJzdHJpbmcoNCksbj1wYXJzZUludCh4KSxrPSdnXycr dCxtPSINCisiJ3ZwbV8nK3QscT10LHY9cy5saW5rVHJhY2tWYXJzLGU9cy5saW5r VHJhY2tFdmVudHM7c1trXT1zLmd2KHQpO2lmKCINCisicy5sbmt8fHMuZW8pe3Y9 dj92KycsJytzLnZsX2w6Jyc7aWYodiYmIXMucHQodiwnLCcsJ2lzZicsdCkpc1tr XT0nJyINCisiO2lmKHQ9PSdldmVudHMnJiZlKXNba109cy5mcyhzW2tdLGUpfXNb bV09MDtpZih0PT0ncGFnZVVSTCcpcT0nZyc7ZSINCisibHNlIGlmKHQ9PSdyZWZl cnJlcicpcT0ncic7ZWxzZSBpZih0PT0ndm1rJylxPSd2bXQnO2Vsc2UgaWYodD09 J2NoYSINCisiclNldCcpe3E9J2NlJztpZihzW2tdJiZzLmVtPT0yKXNba109J1VU Ri04J31lbHNlIGlmKHQ9PSd2aXNpdG9yTmFtZSINCisic3BhY2UnKXE9J25zJztl bHNlIGlmKHQ9PSdjb29raWVEb21haW5QZXJpb2RzJylxPSdjZHAnO2Vsc2UgaWYo dD09JyINCisiY29va2llTGlmZXRpbWUnKXE9J2NsJztlbHNlIGlmKHQ9PSd2aXNp dFZhcmlhYmxlUHJvdmlkZXInKXE9J3Z2cCc7ZSINCisibHNlIGlmKHQ9PSdjdXJy ZW5jeUNvZGUnKXE9J2NjJztlbHNlIGlmKHQ9PSdjaGFubmVsJylxPSdjaCc7ZWxz ZSBpZiINCisiKHQ9PSdjYW1wYWlnbicpcT0ndjAnO2Vsc2UgaWYocy5udW0oeCkp IHtpZihiPT0ncHJvcCcpcT0nYycrbjtlbHNlICINCisiaWYoYj09J2VWYXInKXE9 J3YnK247ZWxzZSBpZihiPT0naGllcicpe3E9J2gnK247c1trXT1zLmZsKHNba10s MjU1KSINCisifX1pZihzW2tdJiZ0IT0nbGlua05hbWUnJiZ0IT0nbGlua1R5cGUn KXMucWF2Kz0nJicrcSsnPScrcy5hcGUoc1trXSINCisiKTtyZXR1cm4gJyd9O3Mu aGF2PWZ1bmN0aW9uKCl7dmFyIHM9dGhpcztzLnFhdj0nJztzLnB0KHMudmxfdCwn LCcsJyINCisiaGF2ZicsMCk7cmV0dXJuIHMucWF2fTtzLmxuZj1mdW5jdGlvbih0 LGgpe3Q9dD90LnRvTG93ZXJDYXNlKCk6Jyc7aCINCisiPWg/aC50b0xvd2VyQ2Fz ZSgpOicnO3ZhciB0ZT10LmluZGV4T2YoJz0nKTtpZih0JiZ0ZT4wJiZoLmluZGV4 T2YodCINCisiLnN1YnN0cmluZyh0ZSsxKSk+PTApcmV0dXJuIHQuc3Vic3RyaW5n KDAsdGUpO3JldHVybiAnJ307cy5sbj1mdW5jdCINCisiaW9uKGgpe3ZhciBzPXRo aXMsbj1zLmxpbmtOYW1lcztpZihuKXJldHVybiBzLnB0KG4sJywnLCdsbmYnLGgp O3JldCINCisidXJuICcnfTtzLmx0ZGY9ZnVuY3Rpb24odCxoKXt0PXQ/dC50b0xv d2VyQ2FzZSgpOicnO2g9aD9oLnRvTG93ZXJDYSINCisic2UoKTonJzt2YXIgcWk9 aC5pbmRleE9mKCc/Jyk7aD1xaT49MD9oLnN1YnN0cmluZygwLHFpKTpoO2lmKHQm JmgucyINCisidWJzdHJpbmcoaC5sZW5ndGgtKHQubGVuZ3RoKzEpKT09Jy4nK3Qp cmV0dXJuIDE7cmV0dXJuIDB9O3MubHRlZj1mdSINCisibmN0aW9uKHQsaCl7dD10 P3QudG9Mb3dlckNhc2UoKTonJztoPWg/aC50b0xvd2VyQ2FzZSgpOicnO2lmKHQm JmguaSINCisibmRleE9mKHQpPj0wKXJldHVybiAxO3JldHVybiAwfTtzLmx0PWZ1 bmN0aW9uKGgpe3ZhciBzPXRoaXMsbGZ0PXMubCINCisiaW5rRG93bmxvYWRGaWxl VHlwZXMsbGVmPXMubGlua0V4dGVybmFsRmlsdGVycyxsaWY9cy5saW5rSW50ZXJu YWxGaSINCisibHRlcnM7bGlmPWxpZj9saWY6cy53ZC5sb2NhdGlvbi5ob3N0bmFt ZTtoPWgudG9Mb3dlckNhc2UoKTtpZihzLnRyYSINCisiY2tEb3dubG9hZExpbmtz JiZsZnQmJnMucHQobGZ0LCcsJywnbHRkZicsaCkpcmV0dXJuICdkJztpZihzLnRy YWNrRSINCisieHRlcm5hbExpbmtzJiYobGVmfHxsaWYpJiYoIWxlZnx8cy5wdChs ZWYsJywnLCdsdGVmJyxoKSkmJighbGlmfHwhcyINCisiLnB0KGxpZiwnLCcsJ2x0 ZWYnLGgpKSlyZXR1cm4gJ2UnO3JldHVybiAnJ307cy5sYz1uZXcgRnVuY3Rpb24o J2UnLCINCisiJ3ZhciBzPXNfY19pbFsnK3MuX2luKyddLGI9cy5laCh0aGlzLFwi b25jbGlja1wiKTtzLmxuaz1zLmNvKHRoaXMpOyINCisicy50KCk7cy5sbms9MDtp ZihiKXJldHVybiB0aGlzW2JdKGUpO3JldHVybiB0cnVlJyk7cy5iYz1uZXcgRnVu Y3RpbyINCisibignZScsJ3ZhciBzPXNfY19pbFsnK3MuX2luKyddO2lmKHMuZCYm cy5kLmFsbCYmcy5kLmFsbC5jcHBYWWN0bnIpciINCisiZXR1cm47cy5lbz1lLnNy Y0VsZW1lbnQ/ZS5zcmNFbGVtZW50OmUudGFyZ2V0O3MudCgpO3MuZW89MCcpO3Mu b3Q9ZiINCisidW5jdGlvbihvKXt2YXIgYT1vLnR5cGUsYj1vLnRhZ05hbWU7cmV0 dXJuIChhJiZhLnRvVXBwZXJDYXNlP2E6YiYmYiINCisiLnRvVXBwZXJDYXNlP2I6 by5ocmVmPydBJzonJykudG9VcHBlckNhc2UoKX07cy5vaWQ9ZnVuY3Rpb24obyl7 dmFyICINCisicz10aGlzLHQ9cy5vdChvKSxwPW8ucHJvdG9jb2wsYz1vLm9uY2xp Y2ssbj0nJyx4PTA7aWYoIW8uc19vaWQpe2lmKCINCisiby5ocmVmJiYodD09J0En fHx0PT0nQVJFQScpJiYoIWN8fCFwfHxwLnRvTG93ZXJDYXNlKCkuaW5kZXhPZign amF2YSINCisic2NyaXB0Jyk8MCkpbj1vLmhyZWY7ZWxzZSBpZihjKXtuPXMucmVw KHMucmVwKHMucmVwKHMucmVwKCcnK2MsXCJcXCINCisiclwiLCcnKSxcIlxcblwi LCcnKSxcIlxcdFwiLCcnKSwnICcsJycpO3g9Mn1lbHNlIGlmKG8udmFsdWUmJih0 PT0nSSINCisiTlBVVCd8fHQ9PSdTVUJNSVQnKSl7bj1vLnZhbHVlO3g9M31lbHNl IGlmKG8uc3JjJiZ0PT0nSU1BR0UnKW49by5zciINCisiYztpZihuKXtvLnNfb2lk PXMuZmwobiwxMDApO28uc19vaWR0PXh9fXJldHVybiBvLnNfb2lkfTtzLnJxZj1m dW5jdCINCisiaW9uKHQsdW4pe3ZhciBzPXRoaXMsZT10LmluZGV4T2YoJz0nKSx1 PWU+PTA/JywnK3Quc3Vic3RyaW5nKDAsZSkrJyINCisiLCc6Jyc7cmV0dXJuIHUm JnUuaW5kZXhPZignLCcrdW4rJywnKT49MD9zLmVwYSh0LnN1YnN0cmluZyhlKzEp KTonJyINCisifTtzLnJxPWZ1bmN0aW9uKHVuKXt2YXIgcz10aGlzLGM9dW4uaW5k ZXhPZignLCcpLHY9cy5jX3IoJ3Nfc3EnKSxxPSINCisiJyc7aWYoYzwwKXJldHVy biBzLnB0KHYsJyYnLCdycWYnLHVuKTtyZXR1cm4gcy5wdCh1biwnLCcsJ3JxJyww KX07cyINCisiLnNxcD1mdW5jdGlvbih0LGEpe3ZhciBzPXRoaXMsZT10LmluZGV4 T2YoJz0nKSxxPWU8MD8nJzpzLmVwYSh0LnN1YiINCisic3RyaW5nKGUrMSkpO3Mu c3FxW3FdPScnO2lmKGU+PTApcy5wdCh0LnN1YnN0cmluZygwLGUpLCcsJywnc3Fz JyxxKSINCisiO3JldHVybiAwfTtzLnNxcz1mdW5jdGlvbih1bixxKXt2YXIgcz10 aGlzO3Muc3F1W3VuXT1xO3JldHVybiAwfTtzLiINCisic3E9ZnVuY3Rpb24ocSl7 dmFyIHM9dGhpcyxrPSdzX3NxJyx2PXMuY19yKGspLHgsYz0wO3Muc3FxPW5ldyBP YmplYyINCisidDtzLnNxdT1uZXcgT2JqZWN0O3Muc3FxW3FdPScnO3MucHQodiwn JicsJ3NxcCcsMCk7cy5wdChzLnVuLCcsJywncyINCisicXMnLHEpO3Y9Jyc7Zm9y KHggaW4gcy5zcXUpcy5zcXFbcy5zcXVbeF1dKz0ocy5zcXFbcy5zcXVbeF1dPycs JzonJyINCisiKSt4O2Zvcih4IGluIHMuc3FxKWlmKHgmJnMuc3FxW3hdJiYoeD09 cXx8YzwyKSl7dis9KHY/JyYnOicnKStzLnNxcSINCisiW3hdKyc9JytzLmFwZSh4 KTtjKyt9cmV0dXJuIHMuY193KGssdiwwKX07cy53ZGw9bmV3IEZ1bmN0aW9uKCdl JywndiINCisiYXIgcz1zX2NfaWxbJytzLl9pbisnXSxyPXRydWUsYj1zLmVoKHMu d2QsXCJvbmxvYWRcIiksaSxvLG9jO2lmKGIpciINCisiPXRoaXNbYl0oZSk7Zm9y KGk9MDtpPHMuZC5saW5rcy5sZW5ndGg7aSsrKXtvPXMuZC5saW5rc1tpXTtvYz1v Lm9uYyINCisibGljaz9cIlwiK28ub25jbGljazpcIlwiO2lmKChvYy5pbmRleE9m KFwic19ncyhcIik8MHx8b2MuaW5kZXhPZihcIiINCisiLnNfb2MoXCIpPj0wKSYm b2MuaW5kZXhPZihcIi50bChcIik8MClzLmVoKG8sXCJvbmNsaWNrXCIsMCxzLmxj KTt9ciINCisiZXR1cm4gcicpO3Mud2RzPWZ1bmN0aW9uKCl7dmFyIHM9dGhpcztp ZihzLmFwdj4zJiYoIXMuaXNpZXx8IXMuaXNtYSINCisiY3x8cy5hcHY+PTUpKXtp ZihzLmImJnMuYi5hdHRhY2hFdmVudClzLmIuYXR0YWNoRXZlbnQoJ29uY2xpY2sn LHMuYiINCisiYyk7ZWxzZSBpZihzLmImJnMuYi5hZGRFdmVudExpc3RlbmVyKXMu Yi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycscyINCisiLmJjLGZhbHNlKTtlbHNl IHMuZWgocy53ZCwnb25sb2FkJywwLHMud2RsKX19O3MudnM9ZnVuY3Rpb24oeCl7 dmFyICINCisicz10aGlzLHY9cy52aXNpdG9yU2FtcGxpbmcsZz1zLnZpc2l0b3JT YW1wbGluZ0dyb3VwLGs9J3NfdnNuXycrcy51biINCisiKyhnPydfJytnOicnKSxu PXMuY19yKGspLGU9bmV3IERhdGUseT1lLmdldFllYXIoKTtlLnNldFllYXIoeSsx MCsoeSINCisiPDE5MDA/MTkwMDowKSk7aWYodil7dio9MTAwO2lmKCFuKXtpZigh cy5jX3coayx4LGUpKXJldHVybiAwO249eH1pZiINCisiKG4lMTAwMDA+dilyZXR1 cm4gMH1yZXR1cm4gMX07cy5keWFzbWY9ZnVuY3Rpb24odCxtKXtpZih0JiZtJiZt LmluZCINCisiZXhPZih0KT49MClyZXR1cm4gMTtyZXR1cm4gMH07cy5keWFzZj1m dW5jdGlvbih0LG0pe3ZhciBzPXRoaXMsaT10PyINCisidC5pbmRleE9mKCc9Jyk6 LTEsbix4O2lmKGk+PTAmJm0pe3ZhciBuPXQuc3Vic3RyaW5nKDAsaSkseD10LnN1 YnN0ciINCisiaW5nKGkrMSk7aWYocy5wdCh4LCcsJywnZHlhc21mJyxtKSlyZXR1 cm4gbn1yZXR1cm4gMH07cy51bnM9ZnVuY3RpbyINCisibigpe3ZhciBzPXRoaXMs eD1zLmR5bmFtaWNBY2NvdW50U2VsZWN0aW9uLGw9cy5keW5hbWljQWNjb3VudExp c3QsbSINCisiPXMuZHluYW1pY0FjY291bnRNYXRjaCxuLGk7cy51bi50b0xvd2Vy Q2FzZSgpO2lmKHgmJmwpe2lmKCFtKW09cy53ZCINCisiLmxvY2F0aW9uLmhvc3Q7 aWYoIW0udG9Mb3dlckNhc2UpbT0nJyttO2w9bC50b0xvd2VyQ2FzZSgpO209bS50 b0xvdyINCisiZXJDYXNlKCk7bj1zLnB0KGwsJzsnLCdkeWFzZicsbSk7aWYobilz LnVuPW59aT1zLnVuLmluZGV4T2YoJywnKTtzLiINCisiZnVuPWk8MD9zLnVuOnMu dW4uc3Vic3RyaW5nKDAsaSl9O3MudD1mdW5jdGlvbigpe3ZhciBzPXRoaXMsdHJr PTEsdCINCisibT1uZXcgRGF0ZSxzZWQ9TWF0aCYmTWF0aC5yYW5kb20/TWF0aC5m bG9vcihNYXRoLnJhbmRvbSgpKjEwMDAwMDAwMCINCisiMDAwMDApOnRtLmdldFRp bWUoKSxzZXNzPSdzJytNYXRoLmZsb29yKHRtLmdldFRpbWUoKS8xMDgwMDAwMCkl MTArcyINCisiZWQseXI9dG0uZ2V0WWVhcigpLHZ0PXRtLmdldERhdGUoKSsnLycr dG0uZ2V0TW9udGgoKSsnLycrKHlyPDE5MDA/eSINCisicisxOTAwOnlyKSsnICcr dG0uZ2V0SG91cnMoKSsnOicrdG0uZ2V0TWludXRlcygpKyc6Jyt0bS5nZXRTZWNv bmRzKCINCisiKSsnICcrdG0uZ2V0RGF5KCkrJyAnK3RtLmdldFRpbWV6b25lT2Zm c2V0KCksdGZzPXMuZ3RmcygpLHRhPScnLHE9JyINCisiJyxxcz0nJztzLnVucygp O2lmKCFzLnEpe3ZhciB0bD10ZnMubG9jYXRpb24seD0nJyxjPScnLHY9JycscD0n JyxidyINCisiPScnLGJoPScnLGo9JzEuMCcsaz1zLmNfdygnc19jYycsJ3RydWUn LDApPydZJzonTicsaHA9JycsY3Q9JycscG49MCINCisiLHBzO2lmKHMuYXB2Pj00 KXg9c2NyZWVuLndpZHRoKyd4JytzY3JlZW4uaGVpZ2h0O2lmKHMuaXNuc3x8cy5p c29wZSINCisicmEpe2lmKHMuYXB2Pj0zKXtqPScxLjEnO3Y9cy5uLmphdmFFbmFi bGVkKCk/J1knOidOJztpZihzLmFwdj49NCl7aiINCisiPScxLjInO2M9c2NyZWVu LnBpeGVsRGVwdGg7Ync9cy53ZC5pbm5lcldpZHRoO2JoPXMud2QuaW5uZXJIZWln aHQ7aSINCisiZihzLmFwdj49NC4wNilqPScxLjMnfX1zLnBsPXMubi5wbHVnaW5z fWVsc2UgaWYocy5pc2llKXtpZihzLmFwdj49NCINCisiKXt2PXMubi5qYXZhRW5h YmxlZCgpPydZJzonTic7aj0nMS4yJztjPXNjcmVlbi5jb2xvckRlcHRoO2lmKHMu YXB2PiINCisiPTUpe2J3PXMuZC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGg7 Ymg9cy5kLmRvY3VtZW50RWxlbWVudC5vZmZzZSINCisidEhlaWdodDtqPScxLjMn O2lmKCFzLmlzbWFjJiZzLmIpe3MuYi5hZGRCZWhhdmlvcignI2RlZmF1bHQjaG9t ZVBhZyINCisiZScpO2hwPXMuYi5pc0hvbWVQYWdlKHRsKT9cIllcIjpcIk5cIjtz LmIuYWRkQmVoYXZpb3IoJyNkZWZhdWx0I2NsaSINCisiZW50Q2FwcycpO2N0PXMu Yi5jb25uZWN0aW9uVHlwZX19fWVsc2Ugcj0nJ31pZihzLnBsKXdoaWxlKHBuPHMu cGwubCINCisiZW5ndGgmJnBuPDMwKXtwcz1zLmZsKHMucGxbcG5dLm5hbWUsMTAw KSsnOyc7aWYocC5pbmRleE9mKHBzKTwwKXArPSINCisicHM7cG4rK31zLnE9KHg/ JyZzPScrcy5hcGUoeCk6JycpKyhjPycmYz0nK3MuYXBlKGMpOicnKSsoaj8nJmo9 JytqOiINCisiJycpKyh2Pycmdj0nK3Y6JycpKyhrPycmaz0nK2s6JycpKyhidz8n JmJ3PScrYnc6JycpKyhiaD8nJmJoPScrYmg6JyINCisiJykrKGN0PycmY3Q9Jytz LmFwZShjdCk6JycpKyhocD8nJmhwPScraHA6JycpKyhwPycmcD0nK3MuYXBlKHAp OicnKSINCisifWlmKHMudXNlUGx1Z2lucylzLmRvUGx1Z2lucyhzKTt2YXIgbD1z LndkLmxvY2F0aW9uLHI9dGZzLmRvY3VtZW50LiINCisicmVmZXJyZXI7aWYoIXMu cGFnZVVSTClzLnBhZ2VVUkw9cy5mbChsP2w6JycsMjU1KTtpZighcy5yZWZlcnJl cilzLiINCisicmVmZXJyZXI9cy5mbChyP3I6JycsMjU1KTtpZihzLmxua3x8cy5l byl7dmFyIG89cy5lbz9zLmVvOnMubG5rO2lmKCINCisiIW8pcmV0dXJuICcnO3Zh ciBwPXMuZ3YoJ3BhZ2VOYW1lJyksdz0xLHQ9cy5vdChvKSxuPXMub2lkKG8pLHg9 by5zXyINCisib2lkdCxoLGwsaSxvYztpZihzLmVvJiZvPT1zLmVvKXt3aGlsZShv JiYhbiYmdCE9J0JPRFknKXtvPW8ucGFyZW50RSINCisibGVtZW50P28ucGFyZW50 RWxlbWVudDpvLnBhcmVudE5vZGU7aWYoIW8pcmV0dXJuICcnO3Q9cy5vdChvKTtu PXMubyINCisiaWQobyk7eD1vLnNfb2lkdH1vYz1vLm9uY2xpY2s/Jycrby5vbmNs aWNrOicnO2lmKChvYy5pbmRleE9mKFwic19ncyINCisiKFwiKT49MCYmb2MuaW5k ZXhPZihcIi5zX29jKFwiKTwwKXx8b2MuaW5kZXhPZihcIi50bChcIik+PTApcmV0 dXJuICINCisiJyd9dGE9by50YXJnZXQ7aD1vLmhyZWY/by5ocmVmOicnO2k9aC5p bmRleE9mKCc/Jyk7aD1zLmxpbmtMZWF2ZVF1ZSINCisicnlTdHJpbmd8fGk8MD9o Omguc3Vic3RyaW5nKDAsaSk7bD1zLmxpbmtOYW1lP3MubGlua05hbWU6cy5sbiho KTt0PSINCisicy5saW5rVHlwZT9zLmxpbmtUeXBlLnRvTG93ZXJDYXNlKCk6cy5s dChoKTtpZih0JiYoaHx8bCkpcSs9JyZwZT1sbiINCisia18nKyh0PT0nZCd8fHQ9 PSdlJz9zLmFwZSh0KTonbycpKyhoPycmcGV2MT0nK3MuYXBlKGgpOicnKSsobD8n JnBldiINCisiMj0nK3MuYXBlKGwpOicnKTtlbHNlIHRyaz0wO2lmKHMudHJhY2tJ bmxpbmVTdGF0cyl7aWYoIXApe3A9cy5ndigncCINCisiYWdlVVJMJyk7dz0wfXQ9 cy5vdChvKTtpPW8uc291cmNlSW5kZXg7aWYocy5nZygnb2JqZWN0SUQnKSl7bj1z LmdnKCINCisiJ29iamVjdElEJyk7eD0xO2k9MX1pZihwJiZuJiZ0KXFzPScmcGlk PScrcy5hcGUocy5mbChwLDI1NSkpKyh3PycmcCINCisiaWR0PScrdzonJykrJyZv aWQ9JytzLmFwZShzLmZsKG4sMTAwKSkrKHg/JyZvaWR0PScreDonJykrJyZvdD0n K3MuYSINCisicGUodCkrKGk/JyZvaT0nK2k6JycpfX1pZighdHJrJiYhcXMpcmV0 dXJuICcnO3ZhciBjb2RlPScnO2lmKHRyayYmcyINCisiLnZzKHNlZCkpY29kZT1z Lm1yKHNlc3MsKHZ0PycmdD0nK3MuYXBlKHZ0KTonJykrcy5oYXYoKStxKyhxcz9x czpzLiINCisicnEocy51bikpLHRhKTtzLnNxKHRyaz8nJzpxcyk7cy5sbms9cy5l bz1zLmxpbmtOYW1lPXMubGlua1R5cGU9cy53ZCINCisiLnNfb2JqZWN0SUQ9Jyc7 cmV0dXJuIGNvZGV9O3MudGw9ZnVuY3Rpb24obyx0LG4pe3ZhciBzPXRoaXM7cy5s bms9cyINCisiLmNvKG8pO3MubGlua1R5cGU9dDtzLmxpbmtOYW1lPW47cy50KCl9 O3Muc3NsPShzLndkLmxvY2F0aW9uLnByb3RvYyINCisib2wudG9Mb3dlckNhc2Uo KS5pbmRleE9mKCdodHRwcycpPj0wKTtzLmQ9ZG9jdW1lbnQ7cy5iPXMuZC5ib2R5 O3MubiINCisiPW5hdmlnYXRvcjtzLnU9cy5uLnVzZXJBZ2VudDtzLm5zNj1zLnUu aW5kZXhPZignTmV0c2NhcGU2LycpO3ZhciBhcCINCisibj1zLm4uYXBwTmFtZSx2 PXMubi5hcHBWZXJzaW9uLGllPXYuaW5kZXhPZignTVNJRSAnKSxpO2lmKHYuaW5k ZXhPZiINCisiKCdPcGVyYScpPj0wfHxzLnUuaW5kZXhPZignT3BlcmEnKT49MClh cG49J09wZXJhJztzLmlzaWU9KGFwbj09J01pYyINCisicm9zb2Z0IEludGVybmV0 IEV4cGxvcmVyJyk7cy5pc25zPShhcG49PSdOZXRzY2FwZScpO3MuaXNvcGVyYT0o YXBuPSINCisiPSdPcGVyYScpO3MuaXNtYWM9KHMudS5pbmRleE9mKCdNYWMnKT49 MCk7aWYoaWU+MCl7cy5hcHY9cGFyc2VJbnQoaSINCisiPXYuc3Vic3RyaW5nKGll KzUpKTtpZihzLmFwdj4zKXMuYXB2PXBhcnNlRmxvYXQoaSl9ZWxzZSBpZihzLm5z Nj4wKSINCisicy5hcHY9cGFyc2VGbG9hdChzLnUuc3Vic3RyaW5nKHMubnM2KzEw KSk7ZWxzZSBzLmFwdj1wYXJzZUZsb2F0KHYpOyINCisicy5lbT0wO2lmKFN0cmlu Zy5mcm9tQ2hhckNvZGUpe2k9ZXNjYXBlKFN0cmluZy5mcm9tQ2hhckNvZGUoMjU2 KSkudCINCisib1VwcGVyQ2FzZSgpO3MuZW09KGk9PSclQzQlODAnPzI6KGk9PScl VTAxMDAnPzE6MCkpfXMudW49dW47cy51bnMoKSINCisiO3MudmxfbD0ndm1rLGNo YXJTZXQsdmlzaXRvck5hbWVzcGFjZSxjb29raWVEb21haW5QZXJpb2RzLGNvb2tp ZUxpZiINCisiZXRpbWUsdmlzaXRWYXJpYWJsZVByb3ZpZGVyLHBhZ2VOYW1lLHBh Z2VVUkwscmVmZXJyZXIsY3VycmVuY3lDb2RlLCINCisicHVyY2hhc2VJRCc7cy52 bF90PXMudmxfbCsnLGNoYW5uZWwsc2VydmVyLHBhZ2VUeXBlLGNhbXBhaWduLHN0 YXRlLCINCisiemlwLGV2ZW50cyxwcm9kdWN0cyxsaW5rTmFtZSxsaW5rVHlwZSc7 Zm9yKHZhciBuPTE7bjw1MTtuKyspcy52bF90KyINCisiPScscHJvcCcrbisnLGVW YXInK24rJyxoaWVyJytuO3MudmxfZz1zLnZsX3QrJyx0cmFja0Rvd25sb2FkTGlu a3MsdCINCisicmFja0V4dGVybmFsTGlua3MsdHJhY2tJbmxpbmVTdGF0cyxsaW5r TGVhdmVRdWVyeVN0cmluZyxsaW5rRG93bmxvYSINCisiZEZpbGVUeXBlcyxsaW5r RXh0ZXJuYWxGaWx0ZXJzLGxpbmtJbnRlcm5hbEZpbHRlcnMsbGlua05hbWVzJztp ZihwZyINCisiKXMuZ2wocy52bF9nKTtpZighc3Mpe3Mud2RzKCk7cy5jYSgpfX0i LA0KbD13aW5kb3cuc19jX2lsLG49bmF2aWdhdG9yLHU9bi51c2VyQWdlbnQsdj1u LmFwcFZlcnNpb24sZT12LmluZGV4T2YoDQonTVNJRSAnKSxtPXUuaW5kZXhPZign TmV0c2NhcGU2LycpLGEsaSxzO2lmKGwpZm9yKGk9MDtpPGwubGVuZ3RoO2krKyl7 DQpzPWxbaV07cy51bnMoKTtpZihzLnVuPT11bilyZXR1cm4gcztlbHNlIGlmKHMu cHQocy51biwnLCcsJ2lzZicsdW4pKXsNCnM9cy5jbyhzKTtzLnVuPXVuO3MudW5z KCk7cmV0dXJuIHN9fWlmKGU+MCl7YT1wYXJzZUludChpPXYuc3Vic3RyaW5nKGUN Cis1KSk7aWYoYT4zKWE9cGFyc2VGbG9hdChpKX1lbHNlIGlmKG0+MClhPXBhcnNl RmxvYXQodS5zdWJzdHJpbmcobSsxMCkNCik7ZWxzZSBhPXBhcnNlRmxvYXQodik7 aWYoYT49NSYmdi5pbmRleE9mKCdPcGVyYScpPDAmJnUuaW5kZXhPZigNCidPcGVy YScpPDApe2V2YWwoYyk7cmV0dXJuIG5ldyBzX2ModW4scGcsc3MpfWVsc2Ugcz1z X2MyZihjKTtyZXR1cm4gcygNCnVuLHBnLHNzKX0NCg0K ------------f4enlxsj4Uj2Ie2nncoJs0--