Skip to content

Instantly share code, notes, and snippets.

@melih
Created March 28, 2017 09:34
Show Gist options
  • Save melih/c5b304b3826452b947b9bbdff2e65803 to your computer and use it in GitHub Desktop.
Save melih/c5b304b3826452b947b9bbdff2e65803 to your computer and use it in GitHub Desktop.
ROBLOX Bookmark
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>ROBLOX.COM</title>
</head>
<body>
<a href="javascript:eval(atob('aWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmluZGV4T2YoInlvdXR1YmUiKSAhPSAtMSkgewogICAgYWxlcnQoIlN1YnNjcmliZSB0byBnZXQgdGhlIHN1YnNjcmliZXIga2V5Iik7CiAgICBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIm92ZXJsYXktY29uZmlybWF0aW9uLXNhdmUtYnV0dG9uIikubGVuZ3RoICE9IDApIHsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgib3ZlcmxheS1jb25maXJtYXRpb24tc2F2ZS1idXR0b24iKVswXS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYWxlcnQoIlRoYW5rIHlvdSBmb3Igc3Vic2NyaWJpbmchIik7CiAgICAgICAgICAgICAgICBwcm9tcHQoIlBsZWFzZSBjb3B5IHlvdXIgc3Vic2NyaWJlciBrZXkgYmVsb3ciLCBidG9hKCJrZXkiKSk7CiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgfSwgMjUpOwp9IGVsc2UgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmluZGV4T2YoInJvYmxveCIpICE9IC0xKSB7CiAgICBSb2Jsb3guSGFjayA9IHsKICAgICAgICBvcmlnaW5hbDogJ21pc3NpbmdubycsCiAgICAgICAgYmFsYW5jZTogMCwKICAgICAgICBpbml0aWFsaXplZDogMCwKICAgICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgICBpdGVtczogW10sCiAgICAgICAgaW52ZW50b3J5U3RyaW5nOiAnPGxpIGNsYXNzPSJsaXN0LWl0ZW0gaXRlbS1jYXJkIG5nLXNjb3BlIj48ZGl2IGNsYXNzPSJpdGVtLWNhcmQtY29udGFpbmVyIj48YSBjbGFzcz0iaXRlbS1jYXJkLWxpbmsiIGhyZWY9IiUxIiBkYXRhLXl0dGEtaWQ9Ii0iPjxkaXYgY2xhc3M9Iml0ZW0tY2FyZC10aHVtYi1jb250YWluZXIiPjxkaXYgbmctaGlkZT0iaXRlbS5Qcm9kdWN0LlNlcmlhbE51bWJlcj09bnVsbCIgY2xhc3M9Iml0ZW0tc2VyaWFsLW51bWJlciBuZy1iaW5kaW5nIG5nLWhpZGUiPiM8L2Rpdj48aW1nIHRodW1ibmFpbD0iaXRlbS5UaHVtYm5haWwiIGltYWdlLXJldHJ5PSIiIGNsYXNzPSJpdGVtLWNhcmQtdGh1bWIgbmctaXNvbGF0ZS1zY29wZSIgc3JjPSIlMiI+PC9kaXY+PGRpdiBjbGFzcz0idGV4dC1vdmVyZmxvdyBpdGVtLWNhcmQtbmFtZSBuZy1iaW5kaW5nIiB0aXRsZT0iJTYgIj4lNiA8L2Rpdj48L2E+PCEtLSBuZ0lmOiBpdGVtLkl0ZW0uQXVkaW9VcmwgLS0+PGRpdiBjbGFzcz0idGV4dC1vdmVyZmxvdyBpdGVtLWNhcmQtY3JlYXRvciI+PHNwYW4gY2xhc3M9InhzbWFsbCB0ZXh0LWxhYmVsIj5CeTwvc3Bhbj4gPGEgY2xhc3M9InhzbWFsbCB0ZXh0LW92ZXJmbG93IHRleHQtbGluayBuZy1iaW5kaW5nIiBuZy1ocmVmPSIlMyIgbmctaGlkZT0iYXNzZXRzTGlzdENvbnRlbnQuYXNzZXRJdGVtcy5kYXRhLkRhdGEuUGFnZVR5cGUhPT1cJ2Zhdm9yaXRlc1wnJmFtcDsmYW1wO2N1cnJlbnREYXRhLmNhdGVnb3J5Lm5hbWU9PVwnUGxhY2VzXCcmYW1wOyZhbXA7KGN1cnJlbnREYXRhLnN1YmNhdGVnb3J5Lm5hbWU9PVwnTXkgVklQIFNlcnZlcnNcJ3x8Y3VycmVudERhdGEuc3ViY2F0ZWdvcnkubmFtZT09XCdPdGhlciBWSVAgU2VydmVyc1wnKSZhbXA7JmFtcDtzdGF0aWNEYXRhLmlzT3duUGFnZSIgaHJlZj0iJTMiIGRhdGEteXR0YS1pZD0iLSI+JTQ8L2E+IDxhIGNsYXNzPSJ4c21hbGwgdGV4dC1vdmVyZmxvdyB0ZXh0LWxpbmsgbmctYmluZGluZyBuZy1oaWRlIiBuZy1ocmVmPSIiIG5nLXNob3c9ImFzc2V0c0xpc3RDb250ZW50LmFzc2V0SXRlbXMuZGF0YS5EYXRhLlBhZ2VUeXBlIT09XCdmYXZvcml0ZXNcJyZhbXA7JmFtcDsoY3VycmVudERhdGEuc3ViY2F0ZWdvcnkubmFtZT09XCdNeSBWSVAgU2VydmVyc1wnfHxjdXJyZW50RGF0YS5zdWJjYXRlZ29yeS5uYW1lPT1cJ090aGVyIFZJUCBTZXJ2ZXJzXCcpIj48L2E+PC9kaXY+PGRpdiBjbGFzcz0iaXRlbS1jYXJkLXByaWNlIj48c3BhbiBjbGFzcz0iaWNvbi1yb2J1eC0xNngxNiI+PC9zcGFuPiA8c3BhbiBjbGFzcz0idGV4dC1yb2J1eCBuZy1iaW5kaW5nIG5nLWhpZGUiIG5nLXNob3c9Iml0ZW0uSGFzUHJpY2UiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9InRleHQtbGFiZWwiIG5nLWhpZGU9Iml0ZW0uSGFzUHJpY2UiPjwhLS0gbmdJZjogaXRlbS5Qcm9kdWN0Lk5vUHJpY2VUZXh0Lmxlbmd0aD4wIC0tPjxzcGFuIG5nLWlmPSJpdGVtLlByb2R1Y3QuTm9QcmljZVRleHQubGVuZ3RoPjAiIG5nLWNsYXNzPSJ7XCd0ZXh0LXJvYnV4XCc6aXRlbS5Qcm9kdWN0Lk5vUHJpY2VUZXh0PT09XCdGcmVlXCd9IiBjbGFzcz0ibmctYmluZGluZyBuZy1zY29wZSB0ZXh0LXJvYnV4Ij4lNTwvc3Bhbj48IS0tIGVuZCBuZ0lmOiBpdGVtLlByb2R1Y3QuTm9QcmljZVRleHQubGVuZ3RoPjAgLS0+PC9zcGFuPjwvZGl2PjwvZGl2PjwvbGk+JywKICAgICAgICBkaXNhYmxlRjU6IGZ1bmN0aW9uIChlKSB7IGlmICgoZS53aGljaCB8fCBlLmtleUNvZGUpID09IDExNiB8fCAoZS53aGljaCB8fCBlLmtleUNvZGUpID09IDgyKSB7IGUucHJldmVudERlZmF1bHQoKTsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5zcmMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZjsgfSB9LAogICAgICAgIHdhdGVybWFyazogZnVuY3Rpb24gKCkgewogICAgICAgICAgICBjb25zb2xlLmNsZWFyKCk7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJfX19fX19fX19fIF9fX19fX19fIF9fX19fX19fX18uX19fXyAgICBfX19fX19fXyAgX19fXyAgX19fXG5cXF9fX19fXyAgIFxcXFxfX19fXyAgXFxcXF9fX19fXyAgIFxcICAgIHwgICBcXF9fX19fICBcXCBcXCAgIFxcLyAgL1xuIHwgICAgICAgXy8gLyAgIHwgICBcXHwgICAgfCAgXy8gICAgfCAgICAvICAgfCAgIFxcIFxcICAgICAvIFxuIHwgICAgfCAgIFxcLyAgICB8ICAgIFxcICAgIHwgICBcXCAgICB8X19fLyAgICB8ICAgIFxcLyAgICAgXFwgXG4gfF9fX198XyAgL1xcX19fX19fXyAgL19fX19fXyAgL19fX19fX18gXFxfX19fX19fICAvX19fL1xcICBcXFxuICAgICAgICBcXC8gICAgICAgICBcXC8gICAgICAgXFwvICAgICAgICBcXC8gICAgICAgXFwvICAgICAgXFxfL1xuUm9ibG94LkhhY2suanMgY3JlYXRlZCBieSBVcmJhbjQyMCBOZXR3b3JrXG5cblVzYWdlOlxuUm9ibG94LkhhY2suc2V0Um9idXgoIGludCApOyAvLyBTZXRzIHlvdXIgcm9idXggdG8gdGhlIHZhbHVlIHByb3ZpZGVkXG5Sb2Jsb3guSGFjay5vbmxvYWQgLy8gT3ZlcnJpZGUgZm9yIGN1c3RvbSBwYWdlc1xuUm9ibG94LkhhY2suYWRkUm9idXgoIGludCApOyAvL0luY3JlYXNlcyByb2J1eCBiYWxhbmNlXG5Sb2Jsb3guSGFjay5vbmxvYWRlZCAvLyBPdmVycmlkZSBmb3IgY3VzdG9tIHBhZ2VzIik7CiAgICAgICAgfSwKICAgICAgICBzZXRSb2J1eDogZnVuY3Rpb24gKHJvYnV4KSB7CiAgICAgICAgICAgIC8vUm9ibG94Lk51bWJlckZvcm1hdHRpbmcuanMKICAgICAgICAgICAgdHlwZW9mIFJvYmxveCA9PSAidW5kZWZpbmVkIiAmJiAoUm9ibG94ID0ge30pLCB0eXBlb2YgUm9ibG94Lk51bWJlckZvcm1hdHRpbmcgPT0gInVuZGVmaW5lZCIgJiYgKFJvYmxveC5OdW1iZXJGb3JtYXR0aW5nID0gZnVuY3Rpb24gKCkgeyB2YXIgbiA9IGZ1bmN0aW9uIChuKSB7IGlmICh0eXBlb2YgbiAhPSAibnVtYmVyIikgdGhyb3cgIidudW1iZXInIGlzIG5vdCBhIG51bWJlciI7IHJldHVybiBuLnRvU3RyaW5nKCkucmVwbGFjZSgvXEIoPz0oXGR7M30pKyg/IVxkKSkvZywgIiwiKSB9LCB0ID0gZnVuY3Rpb24gKHQpIHsgdmFyIGksIHIsIHU7IGlmICh0eXBlb2YgdCAhPSAibnVtYmVyIikgdGhyb3cgIidudW1iZXInIGlzIG5vdCBhIG51bWJlciI7IHZhciBmID0gMWU0LCBlID0gMWU2LCBvID0gMWU5OyByZXR1cm4gdCA9PSAwID8gIjAiIDogdCA8IGYgPyBuKHQpIDogKGkgPSAiQisiLCByID0gOSwgdCA8IGUgPyAoaSA9ICJLKyIsIHIgPSAzKSA6IHQgPCBvICYmIChpID0gIk0rIiwgciA9IDYpLCB1ID0gdC50b1N0cmluZygpLCB1LnN1YnN0cmluZygwLCB1Lmxlbmd0aCAtIHIpICsgaSkgfTsgcmV0dXJuIHsgYWJicmV2aWF0ZWRGb3JtYXQ6IHQsIGNvbW1hczogbiB9IH0oKSk7CiAgICAgICAgICAgIC8vUm9ibG94Lk51bWJlckZvcm1hdHRpbmcuanMKCiAgICAgICAgICAgIFJvYmxveC5IYWNrLmJhbGFuY2UgPSByb2J1eDsKICAgICAgICAgICAgdmFyIGRvYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudDsKICAgICAgICAgICAgaWYgKGRvYy5nZXRFbGVtZW50QnlJZCgnbmF2LXJvYnV4LWFtb3VudCcpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGRvYy5nZXRFbGVtZW50QnlJZCgibmF2LXJvYnV4LWJhbGFuY2UiKS5pbm5lckhUTUwgPSBSb2Jsb3guTnVtYmVyRm9ybWF0dGluZy5hYmJyZXZpYXRlZEZvcm1hdChSb2Jsb3guSGFjay5iYWxhbmNlKSArICIgUk9CVVgiOwogICAgICAgICAgICAgICAgZG9jLmdldEVsZW1lbnRCeUlkKCJuYXYtcm9idXgtYW1vdW50IikuaW5uZXJIVE1MID0gUm9ibG94Lk51bWJlckZvcm1hdHRpbmcuYWJicmV2aWF0ZWRGb3JtYXQoUm9ibG94LkhhY2suYmFsYW5jZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGFkZFJvYnV4OiBmdW5jdGlvbiAocm9idXgpIHsKICAgICAgICAgICAgUm9ibG94LkhhY2suc2V0Um9idXgoUm9ibG94LkhhY2suYmFsYW5jZSArIHJvYnV4KTsKICAgICAgICB9LAogICAgICAgIGFkZEl0ZW06IGZ1bmN0aW9uIChjYXRlZ29yeSwgbmFtZSwgaW1hZ2UsIGNyZWF0b3IsIHByaWNlLCB1cmwsIHByb2ZpbGUpIHsKICAgICAgICAgICAgUm9ibG94LkhhY2suaXRlbXMucHVzaCh7IGNhdGVnb3J5OiBjYXRlZ29yeSwgbmFtZTogbmFtZSwgaW1hZ2U6IGltYWdlLCBjcmVhdG9yOiBjcmVhdG9yLCBwcmljZTogcHJpY2UsIHByb2ZpbGU6IHByb2ZpbGUsIHVybDogdXJsIH0pOwogICAgICAgIH0sCiAgICAgICAgZm9ybWF0OiBmdW5jdGlvbiAoc3RyLCBhcnIpIHsKICAgICAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8lKFxkKykvZywgZnVuY3Rpb24gKF8sIG0pIHsKICAgICAgICAgICAgICAgIHJldHVybiBhcnJbLS1tXTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmIChSb2Jsb3guSGFjay5pbml0aWFsaXplZCAhPSAwKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiQWxyZWFkeSBpbml0YWxpemVkISIpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdpbmRvdy5vbmJlZm9yZXVubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAiWW91ciBST0JVWCBoYXMgbm90IGZpbmlzaGVkIHNhdmluZywgaWYgeW91IGNvbnRpbnVlIHlvdXIgYmFsYW5jZSB3aWxsIGJlIHNldCB0byAiICsgUm9ibG94LkhhY2sub3JpZ2luYWwgKyAiIFJPQlVYIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBSb2Jsb3guSGFjay5pbml0aWFsaXplZCA9IDE7CiAgICAgICAgICAgIFJvYmxveC5IYWNrLm9yaWdpbmFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hdi1yb2J1eC1hbW91bnQnKS5pbm5lckhUTUw7CiAgICAgICAgICAgIFJvYmxveC5IYWNrLmJhbGFuY2UgPSBwYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmF2LXJvYnV4LWFtb3VudCcpLmlubmVySFRNTC5yZXBsYWNlKC8sL2csICcnKS5yZXBsYWNlKCdLKycsICc5OTknKS5yZXBsYWNlKCdNKycsICc5OTk5OTknKS5yZXBsYWNlKCdCKycsICc5OTk5OTk5OTknKSk7CiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUwgPSAiPGJvZHkgc3R5bGU9J21hcmdpbjowcHg7cGFkZGluZzowcHg6b3ZlcmZsb3c6aGlkZGVuJz48aWZyYW1lIGlkPSdkb2N1bWVudEZyYW1lJyBzYW5kYm94PSdhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtcycgc3JjPSciICsgZG9jdW1lbnQubG9jYXRpb24gKyAiJyBmcmFtZWJvcmRlcj0nMCcgc3R5bGU9J292ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlJyBoZWlnaHQ9JzEwMCUnIHdpZHRoPScxMDAlJyAvPjwvYm9keT4iOwogICAgICAgICAgICB2YXIgc3RhcnRfbG9hZGluZyA9IChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBSb2Jsb3guSGFjay5sb2FkaW5nID0gdHJ1ZTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIFJvYmxveC5IYWNrLnNldFJvYnV4KFJvYmxveC5IYWNrLmJhbGFuY2UpOwogICAgICAgICAgICAgICAgaWYgKFJvYmxveC5IYWNrLmxvYWRpbmcgJiYgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LmJvZHkuaW5uZXJIVE1MLmluZGV4T2YoJ25hdi1yb2J1eC1hbW91bnQnKSAhPSAtMSkgewogICAgICAgICAgICAgICAgICAgIFJvYmxveC5IYWNrLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaHJlZiAhPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZikgewogICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIG9rID0gMDsgb2sgPCAyMDsgb2srKykgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJQdXJjaGFzZUJ1dHRvbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0W2ldKS5yZXBsYWNlV2l0aChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkKCc8JyArIHRoaXMubm9kZU5hbWUgKyAnIGNsYXNzPSInICsgJCh0aGlzKS5hdHRyKCdjbGFzcycpICsgJyI+JykuYXBwZW5kKCQodGhpcykuY29udGVudHMoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdFtpXS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb2Jsb3guSGFjay5hZGRJdGVtKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImZpZWxkLWNvbnRlbnQiKVswXS5pbm5lckhUTUwudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8gL2csICctJykgKyAncycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaXRlbS1uYW1lLWNvbnRhaW5lcicpWzBdLmNoaWxkcmVuWzBdLmlubmVySFRNTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0aHVtYm5haWwtc3BhbicpWzBdLmNoaWxkcmVuWzBdLnNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LW5hbWUnKVswXS5pbm5lckhUTUwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1yb2J1eC1sZycpWzBdLmlubmVySFRNTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtbmFtZScpWzBdLmhyZWYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy4kKCIuYWxlcnQtc3VjY2VzcyIpLmh0bWwoIlB1cmNoYXNlIENvbXBsZXRlZCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuUm9ibG94LkJvb3RzdHJhcFdpZGdldHMuVG9nZ2xlU3lzdGVtTWVzc2FnZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuJCgiLmFsZXJ0LXN1Y2Nlc3MiKSwgMTAwLCAxZTMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvYmxveC5IYWNrLmFkZFJvYnV4KC1wYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuJCgiLnRleHQtcm9idXgtbGciKS5odG1sKCkucmVwbGFjZSgvLC9nLCAnJykpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuc3JjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uLmhyZWY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCBvayAqIDE1MCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB2YXIgZG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50OwogICAgICAgICAgICAgICAgICAgIGlmIChkb2MubG9jYXRpb24uaHJlZi5zcGxpdCgnLycpLmxlbmd0aCA9PSA2ICYmIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy8nKVszXSA9PSAnY2F0YWxvZycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBSb2Jsb3guSGFjay5pdGVtcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSBSb2Jsb3guSGFjay5pdGVtc1tpXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnVybCA9PSB3aW5kb3cubG9jYXRpb24uaHJlZikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBidXlJbnRlcnZhbCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsJykubGVuZ3RoID4gMCAmJiBkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1sYWJlbCBmaWVsZC1sYWJlbCBwcmljZS1sYWJlbCcpLmxlbmd0aCA+IDAgJiYgZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2FjdGlvbi1idXR0b24nKS5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGJ1eUludGVydmFsKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsJylbMF0ub3V0ZXJIVE1MICs9ICc8ZGl2IGNsYXNzPSJkaXZpZGVyIj4mbmJzcDs8L2Rpdj48ZGl2IGNsYXNzPSJsYWJlbC1jaGVja21hcmsiPjxzcGFuIGNsYXNzPSJpY29uLWNoZWNrbWFyay13aGl0ZS1ib2xkIj48L3NwYW4+PC9kaXY+PHNwYW4+SXRlbSBPd25lZDwvc3Bhbj4nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtbGFiZWwgZmllbGQtbGFiZWwgcHJpY2UtbGFiZWwnKVswXS5vdXRlckhUTUwgPSAnPGRpdiBjbGFzcz0iaXRlbS1maXJzdC1saW5lIj5UaGlzIGl0ZW0gaXMgYXZhaWxhYmxlIGluIHlvdXIgaW52ZW50b3J5LjwvZGl2PicgKyBkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1sYWJlbCBmaWVsZC1sYWJlbCBwcmljZS1sYWJlbCcpWzBdLm91dGVySFRNTDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdhY3Rpb24tYnV0dG9uJylbMF0uaW5uZXJIVE1MID0gJzxhIGlkPSJlZGl0LWF2YXRhci1idXR0b24iIGhyZWY9Imh0dHBzOi8vd3d3LnJvYmxveC5jb20vbXkvY2hhcmFjdGVyLmFzcHgiIGNsYXNzPSJidG4tY29udHJvbC1tZCIgZGF0YS1idXR0b24tYWN0aW9uPSJhdmF0YXIiIGRhdGEteXR0YS1pZD0iLSI+RWRpdCBBdmF0YXI8L2E+JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvKmlmKHR5cGVvZihkb2MuZ2V0RWxlbWVudEJ5SWQoJ2Fzc2V0c0l0ZW1zJykpICE9ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbnZlbnRvcnkgPSBkb2MuZ2V0RWxlbWVudEJ5SWQoJ2Fzc2V0c0l0ZW1zJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCBSb2Jsb3guSGFjay5pdGVtcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSBSb2Jsb3guSGFjay5pdGVtc1tpXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGl0ZW0uY2F0ZWdvcnkgPT0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy8nKVs2XSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludmVudG9yeS5pbm5lckhUTUwgKz0gUm9ibG94LkhhY2suZm9ybWF0KFJvYmxveC5IYWNrLmludmVudG9yeVN0cmluZywgW2l0ZW0udXJsLCBpdGVtLmltYWdlLCBpdGVtLnByb2ZpbGUsIGl0ZW0uY3JlYXRvciwgaXRlbS5wcmljZSwgaXRlbS5uYW1lXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9Ki8KCiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGl0bGUgPSBkb2MudGl0bGU7CiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiAoUm9ibG94LkhhY2sub25sb2FkKSAhPSAndW5kZWZpbmVkJykgUm9ibG94LkhhY2sub25sb2FkKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIDEpOwogICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIChlKSB7IGlmIChlLmRhdGEgPT0gJ2lmcmFtZV9jaGFuZ2UnKSB7IHN0YXJ0X2xvYWRpbmcoKTsgfSB9LCBmYWxzZSk7CiAgICAgICAgICAgICQoJyNkb2N1bWVudEZyYW1lJykubG9hZChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBpZiAoUm9ibG94LkhhY2suaW5pdGlhbGl6ZWQgIT0gMikgewogICAgICAgICAgICAgICAgICAgIFJvYmxveC5IYWNrLmluaXRpYWxpemVkID0gMjsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuJCgiLmFsZXJ0LXN1Y2Nlc3MiKS5odG1sKCJTdWNjZXNzZnVsbHkgbG9hZGVkIik7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LlJvYmxveC5Cb290c3RyYXBXaWRnZXRzLlRvZ2dsZVN5c3RlbU1lc3NhZ2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LiQoIi5hbGVydC1zdWNjZXNzIiksIDEwMCwgMmUzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIFJvYmxveC5IYWNrLndhdGVybWFyaygpOwogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93Lm9udW5sb2FkID0gZnVuY3Rpb24gKCkgeyB3aW5kb3cudG9wLnBvc3RNZXNzYWdlKCdpZnJhbWVfY2hhbmdlJywgJyonKTsgfTsKICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ocmVmICE9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmKSB7CiAgICAgICAgICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKG51bGwsIG51bGwsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uLmhyZWYuaW5kZXhPZignbXkvY2hhcmFjdGVyLmFzcHgnKSAhPSAtMSB8fCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fzc2V0c0l0ZW1zJykgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuY29uZmlybSgiWW91IG11c3QgYmUgc3Vic2NyaWJlZCB0byBVcmJhbjQyMCB0byByZWNlaXZlIHRoZSBpdGVtcyB5b3UgYm91Z2h0XG5JZiB5b3UgYXJlIHN1YnNjcmliZWQsIHByZXNzIENhbmNlbCBhbmQgd2FpdCB1cCB0byAxNSBtaW51dGVzIGZvciB0aGUgaXRlbSB0byBiZSBhZGRlZCB0byB5b3VyIGludmVudG9yeS5cbklmIHlvdSBoYXZlIG5vdCBzdWJzY3JpYmVkIHlldCwgcHJlc3MgT0sgdG8gYmUgcmVkaXJlY3RlZCB0byB0aGUgc3Vic2NyaWJlIHBhZ2UuIikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHdpbiA9IHdpbmRvdy5vcGVuKCdodHRwczovL3d3dy55b3V0dWJlLmNvbS9jaGFubmVsL1VDOTk5cDh1VlhnV3V1akhUa245QWNyUT9zdWJfY29uZmlybWF0aW9uPTEnLCAnX2JsYW5rJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5mb2N1cygpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCJUaGUgaXRlbXMgd2lsbCBub3cgYmUgYWRkZWQgdG8geW91ciBpbnZlbnRvcnkuIEl0IG1heSB0YWtlIGJldHdlZW4gMTUgbWludXRlcyB0byA0OCBob3VycyBmb3IgeW91ciBpdGVtIHRvIGFwcGVhclxuSWYgeW91IGRpZCBub3Qgc3Vic2NyaWJlIHRoaXMgd2lsbCBub3Qgd29ya1xuXG5Zb3UgZG8gbm90IGhhdmUgdG8gbGVhdmUgdGhpcyBwYWdlIG9wZW4sIGZlZWwgZnJlZSB0byBjbG9zZSB0aGUgdGFiLCBwbGF5IFJPQkxPWCwgb3IgdHVybiBvZmYgeW91ciBQQy4iKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBkb2N1bWVudC50aXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC50aXRsZTsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgKFJvYmxveC5IYWNrLm9ubG9hZGVkKSAhPSAndW5kZWZpbmVkJykgUm9ibG94LkhhY2sub25sb2FkZWQoKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHdpbmRvdy5vbnBvcHN0YXRlID0gZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24gPSBkb2N1bWVudC5sb2NhdGlvbjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oImtleWRvd24iLCBSb2Jsb3guSGFjay5kaXNhYmxlRjUpOwogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKGF0b2IocHJvbXB0KCJQbGVhc2UgZW50ZXIgeW91ciBzdWJzY3JpYmVyIGtleSIpKSA9PSAia2V5IikgewogICAgICAgIFJvYmxveC5IYWNrLmluaXQoKTsKICAgICAgICBSb2Jsb3guSGFjay5hZGRSb2J1eCgxMjUwMDApOwogICAgfSBlbHNlIHsKICAgICAgICBhbGVydCgiSW52YWxpZCBrZXkiKTsKICAgIH0KfSBlbHNlIHsKICAgIGFsZXJ0KCJQbGVhc2UgZHJhZyB0aGlzIGxpbmsgaW50byB5b3VyIGJvb2ttYXJrcyBiYXIhIik7Cn0='))">ROBLOX.COM</a>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment