xiaomianao666

插件名:global_快猫/红杏/含羞草/麻豆/AvPron/皇家会所/9sex/91TV/破解VIP视频免费看

Feb 5th, 2023
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:网页插件¥js_url¥global_快猫/红杏/含羞草/麻豆/AvPron/皇家会所/9sex/91TV/破解VIP视频免费看@base64://Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICDlv6vnjKsv57qi5p2PL+WQq+e+nuiNiS/purvosYYvQXZQcm9uL+eah+WutuS8muaJgC85c2V4LzkxVFYv56C06KejVklQ6KeG6aKR5YWN6LS555yLCi8vIEBuYW1lc3BhY2UgICAgaHR0cDovL3RhbXBlcm1vbmtleS5uZXQvCi8vIEB2ZXJzaW9uICAgICAgMC4yNgovLyBAZGVzY3JpcHRpb24gIOadpeS4jeWPiuino+mHiuS6hu+8jOW/q+S4iui9pu+8ge+8ge+8gQovLyBAYXV0aG9yICAgICAgIHcyZgovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vKi92aWRlb0NvbnRlbnQvKgovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vd3d3Lmh4YWE3NS5jb20vKgovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vd3d3Lmh4YWE3Ni5jb20vKgovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vKi9wbGF5dmlkZW8vKgovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vKi9saXZlLyoKLy8gQG1hdGNoICAgICAgICBodHRwczovLyovbGl2ZQovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vbWFkb3UuYmV0LyoKLy8gQG1hdGNoICAgICAgICBodHRwczovLyovdmlkZW9zLyoKLy8gQG1hdGNoICAgICAgICBodHRwczovLzlzZXguY29tL2luZGV4L21vdmllL3BsYXkvaWQvKgovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8va2R0MjkuY29tLyoKLy8gQGljb24gICAgICAgICBodHRwczovL2luZGV4Lm1hZG91MTkudHYvanNvbi9pY29uLnBuZwovLyBAbGljZW5zZSAgICAgIE1JVAovLyBAZ3JhbnQgbm9uZQovLyA9PS9Vc2VyU2NyaXB0PT0KCihmdW5jdGlvbiAoKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgLyogbm9uZSDlpoLmnpzkuI3kvb/nlKggdW5zYWZlV2luZG93IO+8jOW/q+eMq+aJi+acuuerr++8jOWQq+e+nuiNiXBj56uv5Lya5pKt5pS+5aSx6LSl77yM5Y6f5Zug5pyq55+l44CCCiAgICDljp/lm6DvvJrpgJrov4cgQHJlcXVpcmUg5Yqg6L2955qEaGxz5o+Q56S65om+5LiN5Yiw77yM6YCa6L+HaW1wb3J0X2pz5a+85YWlb2sgKi8KICAgIGxldCBlcnJfY250ID0gMDsKCiAgICBmdW5jdGlvbiBpbXBvcnRfanMoc3JjKSB7CiAgICAgICAgbGV0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgICAgIHNjcmlwdC5zcmMgPSBzcmM7CiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpOwogICAgfQogICAgaW1wb3J0X2pzKCJodHRwczovL2Nkbi5zdGF0aWNmaWxlLm9yZy9qcXVlcnkvMS4xMC4yL2pxdWVyeS5taW4uanMiKTsKICAgIGltcG9ydF9qcygiaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvaGxzLmpzLzEuMS41L2hscy5taW4uanMiKTsKICAgIGltcG9ydF9qcygiaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZHBsYXllci8xLjI2LjAvRFBsYXllci5taW4uanMiKTsKCiAgICAvKiDlh73mlbDlip/og73vvJrliqDovb1EcGxheWVy5pKt5pS+6KeG6aKR77yM5bm25pi+56S66KeG6aKR5Zyw5Z2A44CCIOWPguaVsOivtOaYju+8mnZpZGVvVXJs77ya6KeG6aKR5Zyw5Z2AIGVs77ya5pKt5pS+5Zmo5Yqg6L295L2N572uIGRpemhpOiDlnLDlnYDmmL7npLrkvY3nva4gICovCiAgICBmdW5jdGlvbiBwbGF5X3ZpZGVvKHZpZGVvVXJsLCBlbCwgZGl6aGkpIHsKCiAgICAgICAgaWYgKCF2aWRlb1VybCB8fCAhZWwgfHwgIWRpemhpKSB0aHJvdyBuZXcgRXJyb3IoYOmDqOWIhuWPguaVsOaXoOaViO+8jOinhumikeWcsOWdgO+8miR7dmlkZW9Vcmx944CB5pKt5pS+5Zmo5L2N572u77yaJHtlbH3jgIHmj5DnpLrkvY3nva7vvJoke2RpemhpfWApOwoKICAgICAgICAvKiAxLiDmmL7npLrlnLDlnYAgKi8KICAgICAgICB2YXIgbXlkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBteWRpdi5pbm5lckhUTUwgPSBgPGRpdiBpZD0ibXlfYWRkX2RpemhpIiBzdHlsZT0iY29sb3I6cmVkO2ZvbnQtc2l6ZToxNHB4Ij4KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOnJlZDtmb250LXNpemU6MTRweCI+6KeG6aKR5Zyw5Z2A77yaPGEgaHJlZj0iJHt2aWRlb1VybH0iIHRhcmdldD0iX2JsYW5rIj4ke3ZpZGVvVXJsfTwvYT48L3A+CiAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjpyZWQ7Zm9udC1zaXplOjE0cHgiPumXrumimOWPjemmiCBvciDmlK/mjIHkvZzogIXor7cKICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9zbGVhenlmb3JrLm9yZy96aC1DTi9zY3JpcHRzLzQ1NjQ5NiIgdGFyZ2V0PSJfYmxhbmsiPuOAkOeCueWHu+atpOWkhOOAkTwvYT7vvIzkvb/nlKjmhInlv6vvvIE8L3A+PC9kaXY+YDsKICAgICAgICBkaXpoaS5hZnRlcihteWRpdik7CgogICAgICAgIGlmICh3aW5kb3cuZHApIHsKICAgICAgICAgICAgd2luZG93LmRwLnBhdXNlKCkKICAgICAgICAgICAgd2luZG93LmRwLmRlc3Ryb3koKQogICAgICAgICAgICB3aW5kb3cuZHAgPSBudWxsOwogICAgICAgIH0KCiAgICAgICAgLyogMi4g5paw5aKe5pKt5pS+5ZmoICovCiAgICAgICAgd2luZG93LmRwID0gbmV3IERQbGF5ZXIoewogICAgICAgICAgICBlbGVtZW50OiBlbCwKICAgICAgICAgICAgYXV0b3BsYXk6IHRydWUsCiAgICAgICAgICAgIHRoZW1lOiAnI0ZBREZBMycsCiAgICAgICAgICAgIGxvb3A6IHRydWUsCiAgICAgICAgICAgIGxhbmc6ICd6aCcsCiAgICAgICAgICAgIHNjcmVlbnNob3Q6IHRydWUsCiAgICAgICAgICAgIGhvdGtleTogdHJ1ZSwKICAgICAgICAgICAgcHJlbG9hZDogJ2F1dG8nLAogICAgICAgICAgICB2aWRlbzogewogICAgICAgICAgICAgICAgdXJsOiB2aWRlb1VybCwKICAgICAgICAgICAgICAgIHR5cGU6ICdobHMnCiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KCiAgICAvKiDlh73mlbDlip/og73vvJrlkIzkuIrvvIzlj6/liIfmjaLmuIXmmbDluqYgICovCiAgICBmdW5jdGlvbiBwbGF5X3ZpZGVvMih2aWRlb1VybCwgdmlkZW9VcmwyLCB2aWRlb1VybDMsIHZpZGVvVXJsNCwgZWwsIGRpemhpKSB7CiAgICAgICAgLyogMS4g5pi+56S65Zyw5Z2AICovCiAgICAgICAgdmFyIG15ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgbXlkaXYuaW5uZXJIVE1MID0gYDxkaXYgaWQ9Im15X2FkZF9kaXpoaSIgc3R5bGU9ImNvbG9yOnJlZDtmb250LXNpemU6MTRweCI+5rOo5oSP77ya6YOo5YiG6KeG6aKR5Y+qMzYwUO+8jOWIh+aNouWQjuaXoOazleaSreaUvuivtOaYjuS4jeWtmOWcqOmrmOa4heaZsOW6pueJiOacrO+8ge+8ge+8geinhumikeWcsOWdgO+8mgogICAgICAgIDxwIHN0eWxlPSJjb2xvcjpyZWQ7Zm9udC1zaXplOjE0cHgiPjM2MFDvvJo8YSBocmVmPSIke3ZpZGVvVXJsfSIgdGFyZ2V0PSJfYmxhbmsiPiR7dmlkZW9Vcmx9PC9hPjwvcD4KICAgICAgICA8cCBzdHlsZT0iY29sb3I6cmVkO2ZvbnQtc2l6ZToxNHB4Ij40ODBQ77yaPGEgaHJlZj0iJHt2aWRlb1VybDJ9IiB0YXJnZXQ9Il9ibGFuayI+JHt2aWRlb1VybDJ9PC9hPjwvcD4KICAgICAgICA8cCBzdHlsZT0iY29sb3I6cmVkO2ZvbnQtc2l6ZToxNHB4Ij43MjBQ77yaPGEgaHJlZj0iJHt2aWRlb1VybDN9IiB0YXJnZXQ9Il9ibGFuayI+JHt2aWRlb1VybDN9PC9hPjwvcD4KICAgICAgICA8cCBzdHlsZT0iY29sb3I6cmVkO2ZvbnQtc2l6ZToxNHB4Ij4xMDgwUO+8mjxhIGhyZWY9IiR7dmlkZW9Vcmw0fSIgdGFyZ2V0PSJfYmxhbmsiPiR7dmlkZW9Vcmw0fTwvYT48L3A+CiAgICAgICAgPHAgc3R5bGU9ImNvbG9yOnJlZDtmb250LXNpemU6MTRweCI+6Zeu6aKY5Y+N6aaIIG9yIOaUr+aMgeS9nOiAheivtwogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vc2xlYXp5Zm9yay5vcmcvemgtQ04vc2NyaXB0cy80NTY0OTYiIHRhcmdldD0iX2JsYW5rIj7jgJDngrnlh7vmraTlpITjgJE8L2E+77yM5L2/55So5oSJ5b+r77yBPC9wPjwvZGl2PmA7CiAgICAgICAgZGl6aGkgJiYgZGl6aGkuYWZ0ZXIobXlkaXYpOwoKICAgICAgICAvKiAyLiDmlrDlop7mkq3mlL7lmaggKi8KICAgICAgICB3aW5kb3cuZHAgPSBuZXcgRFBsYXllcih7CiAgICAgICAgICAgIGVsZW1lbnQ6IGVsLAogICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSwKICAgICAgICAgICAgdGhlbWU6ICcjRkFERkEzJywKICAgICAgICAgICAgbG9vcDogdHJ1ZSwKICAgICAgICAgICAgbGFuZzogJ3poJywKICAgICAgICAgICAgc2NyZWVuc2hvdDogdHJ1ZSwKICAgICAgICAgICAgaG90a2V5OiB0cnVlLAogICAgICAgICAgICBwcmVsb2FkOiAnYXV0bycsCiAgICAgICAgICAgIHZpZGVvOiB7CiAgICAgICAgICAgICAgICBxdWFsaXR5OiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnMzYwUCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdmlkZW9VcmwsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdobHMnLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnNDgwUCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdmlkZW9VcmwyLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaGxzJywKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJzcyMFAnLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHZpZGVvVXJsMywKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2hscycsCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICcxMDgwUCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdmlkZW9Vcmw0LAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaGxzJywKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgIGRlZmF1bHRRdWFsaXR5OiAwLC8v6buY6K6k5pKt5pS+MzYwUOS4ujAKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQoKICAgIC8qIOWHveaVsOWKn+iDve+8muWcqOeVjOmdouS4iuaYvuekuueoi+W6j+mUmeivr++8jOS+v+S6juWIhuaekCAgKi8KICAgIGZ1bmN0aW9uIHNob3dfZXJyX2xvZyhlcnIpIHsKICAgICAgICBlcnIgJiYgY29uc29sZS5sb2coZXJyKTsKICAgICAgICBlcnJfY250Kys7CiAgICAgICAgaWYgKGVycl9jbnQgPj0gMjApIHsKICAgICAgICAgICAgZXJyX2NudCA9IDA7CiAgICAgICAgICAgIHZhciBteWRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICAgICBteWRpdi5pbm5lckhUTUwgPSBgPGRpdiBpZD0ibXlfYWRkX2Vycl9sb2ciIHN0eWxlPSJjb2xvcjpyZWQ7Zm9udC1zaXplOjE0cHgiPgogICAgICAgICAgICDop6PmnpDlh7rplJnvvIwxLuajgOafpeaYr+WQpueZu+W9le+8gTIu6K+35LuU57uG6ZiF6K+7PGEgaHJlZj0iaHR0cHM6Ly9zbGVhenlmb3JrLm9yZy96aC1DTi9zY3JpcHRzLzQ1NjQ5NiIgdGFyZ2V0PSJfYmxhbmsiPuOAkOiEmuacrOivtOaYjuOAkTwvYT7mn6XnnIvmmK/lkKbmlK/mjIHkvaDnmoTlubPlj7Dnu4TlkIjvvIwKICAgICAgICAgICAg5aaC6ZyA5biu5Yqp6K+35aSN5Yi25Lul5LiL5YaF5a655Yiw6ISa5pys6K+E6K665Yy677yM562J5YCZ5L2c6ICF5aSE55CGISDor7fliqDkuIrkvb/nlKjnmoTlubPlj7Dnu4TlkIjvvIzlpoLvvJpjaHJvbWUgKyB0YW1wZXJtb25rZXkg44CCCiAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjpyZWQ7Zm9udC1zaXplOjE0cHgiPumUmeivr+S/oeaBr++8miR7ZXJyIHx8ICLlsJ3or5XlpJrmrKHku43nhLbmnKrojrflj5bliLDlnLDlnYAs5Y+v6IO95piv572R56uZ5bey5pu05pawLi4uIn08L3A+CiAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjpyZWQ7Zm9udC1zaXplOjE0cHgiPuaTjeS9nOezu+e7n++8miR7bmF2aWdhdG9yLnBsYXRmb3JtfTwvcD4KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOnJlZDtmb250LXNpemU6MTRweCI+5rWP6KeI5Zmo77yaJHtuYXZpZ2F0b3IudXNlckFnZW50fTwvcD4KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOnJlZDtmb250LXNpemU6MTRweCI+5b2T5YmN5Zyw5Z2A77yaJHtsb2NhdGlvbi5ocmVmfTwvcD4KICAgICAgICAgICAgPC9kaXY+YDsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaGVhZCIpLmFmdGVyKG15ZGl2KTsKICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChteV90aW1lcik7CiAgICAgICAgfQogICAgfQoKICAgIGxldCBmbGFnID0gMDsKICAgIGZ1bmN0aW9uIGdldF92aWRlb3VybCgpIHsKICAgICAgICBsZXQgdmlkZW9VcmwgPSBudWxsLCB2aWRlb1VybDIgPSBudWxsLCB2aWRlb1VybDMgPSBudWxsLCB2aWRlb1VybDQgPSBudWxsOwogICAgICAgIGxldCBlbCA9IG51bGw7CiAgICAgICAgbGV0IGRpemhpID0gbnVsbDsKICAgICAgICBsZXQgcGxheWVyID0gbnVsbDsKICAgICAgICBsZXQgc2hpa2FuID0gbnVsbDsKICAgICAgICBsZXQgYWRzID0gbnVsbDsKICAgICAgICB0cnkgewogICAgICAgICAgICAvKiA5c2V4ICovCiAgICAgICAgICAgIGlmIChsb2NhdGlvbi5ocmVmLm1hdGNoKCJodHRwczovLy4qPy9pbmRleC9tb3ZpZS9wbGF5L2lkLyIpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIHBsYXllciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNkcGxheWVyIik7CiAgICAgICAgICAgICAgICBkaXpoaSA9IGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MLm1hdGNoKCJtb3ZpZXMvKC4qPylfcHJldmlldy5qcGcudHh0IilbMV0uc3BsaXQoJy8nKTsvKiAkKCJzY3JpcHQiKS50ZXh0KCkgKi8KICAgICAgICAgICAgICAgIC8qIDEu54K55Ye76K+V55yL77yI5LiN6ZyA6KaB77yJICovCiAgICAgICAgICAgICAgICBpZiAocGxheWVyICYmIGRpemhpICYmIGZsYWcgPT0gMCkgewogICAgICAgICAgICAgICAgICAgIC8qIDIu6Kej5p6Q55yf5a6e5Zyw5Z2AICovCiAgICAgICAgICAgICAgICAgICAgdmlkZW9VcmwgPSBgaHR0cHM6Ly85cy5tMy5iY2E4MzRkNjAyNTcuY29tLyR7ZGl6aGlbMF19LyR7ZGl6aGlbMV19LzM2MFAvJHtkaXpoaVsyXX1fMzYwUC5tM3U4YDsgY29uc29sZS5sb2coIuecn+WunuWcsOWdgDoiLCB2aWRlb1VybCk7CiAgICAgICAgICAgICAgICAgICAgdmlkZW9VcmwyID0gYGh0dHBzOi8vOXMubTMuYmNhODM0ZDYwMjU3LmNvbS8ke2RpemhpWzBdfS8ke2RpemhpWzFdfS80ODBQLyR7ZGl6aGlbMl19XzQ4MFAubTN1OGA7IGNvbnNvbGUubG9nKCLnnJ/lrp7lnLDlnYAyOiIsIHZpZGVvVXJsMik7CiAgICAgICAgICAgICAgICAgICAgdmlkZW9VcmwzID0gYGh0dHBzOi8vOXMubTMuYmNhODM0ZDYwMjU3LmNvbS8ke2RpemhpWzBdfS8ke2RpemhpWzFdfS83MjBQLyR7ZGl6aGlbMl19XzcyMFAubTN1OGA7IGNvbnNvbGUubG9nKCLnnJ/lrp7lnLDlnYAzOiIsIHZpZGVvVXJsMyk7CiAgICAgICAgICAgICAgICAgICAgdmlkZW9Vcmw0ID0gYGh0dHBzOi8vOXMubTMuYmNhODM0ZDYwMjU3LmNvbS8ke2RpemhpWzBdfS8ke2RpemhpWzFdfS8xMDgwUC8ke2RpemhpWzJdfV8xMDgwUC5tM3U4YDsgY29uc29sZS5sb2coIuecn+WunuWcsOWdgDQ6IiwgdmlkZW9Vcmw0KTsKICAgICAgICAgICAgICAgICAgICAvKiAzLnZpcOinhumikemcgOimgeenu+mZpOeZu+W9leahhiAqLwogICAgICAgICAgICAgICAgICAgIGFkcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNsb2dpbi10aXAtbW9kYWwiKTsgaWYgKGFkcykgYWRzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYWRzKTsKICAgICAgICAgICAgICAgICAgICBhZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudmlwLXRpcC1tb2RhbCIpOyBpZiAoYWRzKSBhZHMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhZHMpOwogICAgICAgICAgICAgICAgICAgIC8qIDQu5pKt5pS+5q2j54mHICovCiAgICAgICAgICAgICAgICAgICAgcGxheV92aWRlbzIodmlkZW9VcmwsIHZpZGVvVXJsMiwgdmlkZW9VcmwzLCB2aWRlb1VybDQsIHBsYXllciwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGl2Lm5vdGljZSIpKTsKICAgICAgICAgICAgICAgICAgICBmbGFnID0gMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZsYWcgPT0gMSkgewogICAgICAgICAgICAgICAgICAgIC8qIDMuMSDlhY3otLnop4bpopHpnIDopoHliqDovb3mkq3mlL7lkI7np7vpmaTlub/lkYogKi8KICAgICAgICAgICAgICAgICAgICBhZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucGF1c2UtYWQtaW1nYm94Iik7IGlmIChhZHMpIGFkcy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGFkcyk7Ly8uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgICAgICAgICAvKiA1LuWBnOatouWumuaXtuWZqCAqLwogICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwobXlfdGltZXIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIls5c2V4Xeinhumikemhtemdou+8jOacquiOt+WPluWIsOWcsOWdgO+8jOe7p+e7reWwneivlS4uLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIC8qIOeah+WutuS8muaJgCAqLwogICAgICAgICAgICBlbHNlIGlmIChsb2NhdGlvbi5ocmVmLm1hdGNoKCJodHRwczovL3d3dy5oamhzLio/L3ZpZGVvcy8iKSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICBwbGF5ZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjZHBsYXllciIpOwogICAgICAgICAgICAgICAgLyogMS7ngrnlh7vor5XnnIvvvIjkuI3pnIDopoHvvIkgKi8KICAgICAgICAgICAgICAgIGlmIChwbGF5ZXIgJiYgYXBpICYmIGFwaS5xdWFsaXR5ICYmIGFwaS5xdWFsaXR5LnVybCkgewogICAgICAgICAgICAgICAgICAgIC8qIDIu6Kej5p6Q55yf5a6e5Zyw5Z2AICovCiAgICAgICAgICAgICAgICAgICAgdmlkZW9VcmwgPSBhcGkucXVhbGl0eS51cmwucmVwbGFjZSgic3VvLiIsICIiKS5yZXBsYWNlKCJfc3VvIiwgIiIpOyBjb25zb2xlLmxvZygi55yf5a6e5Zyw5Z2AOiIsIHZpZGVvVXJsKTsKICAgICAgICAgICAgICAgICAgICAvKiAzLuenu+mZpOW5v+WRiiAqLwogICAgICAgICAgICAgICAgICAgIC8qIDQu5pKt5pS+5q2j54mHICovCiAgICAgICAgICAgICAgICAgICAgcGxheV92aWRlbyh2aWRlb1VybCwgcGxheWVyLCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkaXYuaGVhZGxpbmUiKSk7CiAgICAgICAgICAgICAgICAgICAgLyogNS7lgZzmraLlrprml7blmaggKi8KICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKG15X3RpbWVyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJb55qH5a625Lya5omAXeinhumikemhtemdou+8jOacquiOt+WPluWIsOWcsOWdgO+8jOe7p+e7reWwneivlS4uLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIC8qIFRoZSBBViBQcm9u77yM5YW85a655omL5py6ICsgUEMKICAgICAgICAgICAg5bey55+l57y66Zm3OiDoi6Xkvb/nlKhEcGxheWVyLCDliJkgY2hyb21lL3NhZmFyaSDmkq3mlL7mraPluLjvvIjml6Dms5XmlrDmoIfnrb7mkq3mlL7vvIzlj6/og73mnInpmZDliLbvvInvvIxraXdpIG0zdTjlnLDlnYDojrflj5bmiJDlip/vvIzkvYbmkq3mlL7lpLHotKXvvIEKICAgICAgICAgICAg5bey55+l57y66Zm3OiDlj6/og73nvZHnq5nlrZjlnKjpmZDliLbvvIzmjqfliLblj7DkuK1wbGF5ZXIuYXBpKCJobHMiKeacieWAvO+8jOS9huiEmuacrOiOt+WPluS4um51bGwg44CC5Y+q5pyJ5L2/55SoIHVuc2FmZVdpbmRvdy5wbGF5ZXIuYXBpKCJobHMiKeiDveiOt+WPluWIsCDvvIwKICAgICAgICAgICAg5L2G55Sx5LqOdXNlcnNjcmlwdOS4jeaUr+aMgXVuc2FmZVdpbmRvd++8jOaVhXNhZmFyaea1j+iniOWZqCt1c2Vyc2NyaXB05peg5pWI44CC5pS55Li65LuOPHNjcmlwdC8+5YaF5a655p+l5om+bTN1OOWcsOWdgCAqLwogICAgICAgICAgICBlbHNlIGlmIChsb2NhdGlvbi5ocmVmLm1hdGNoKCJodHRwczovL3RoZWF2Lio/LmNvbS92aWRlb3MvIikgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgaWYgKDEpIHsKICAgICAgICAgICAgICAgICAgICAvKiAxLueCueWHu+ivleeci++8iOS4jemcgOimge+8iSAqLwogICAgICAgICAgICAgICAgICAgIC8qIDIu6Kej5p6Q55yf5a6e5Zyw5Z2AICovCiAgICAgICAgICAgICAgICAgICAgLyogdmlkZW9VcmwgPSBwbGF5ZXIuYXBpKCJobHMiKS51cmwuc3BsaXQoJz8nKVswXTsgLm1hdGNoKCJodHRwczooLio/KS5tM3U4IilbMF07IOivpeaWueahiOWcqHNhZmFyaea1j+iniOWZqCt1c2Vyc2NyaXB05LiL5peg5pWIICovCiAgICAgICAgICAgICAgICAgICAgdmlkZW9VcmwgPSBkb2N1bWVudC5ib2R5LmlubmVySFRNTC5tYXRjaCgiaHR0cHM6KC4qPykubTN1OCIpWzBdOyAvKiAkKCJzY3JpcHQiKS50ZXh0KCkgKi8KICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygi55yf5a6e5Zyw5Z2AOiIsIHZpZGVvVXJsKTsKICAgICAgICAgICAgICAgICAgICAvKiAzLuenu+mZpOW5v+WRiiAqLwogICAgICAgICAgICAgICAgICAgIGFkcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi50YWJsZSIpOyBpZiAoYWRzKSBhZHMuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgICAgICAgICBhZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3BvbnNvciIpOyBpZiAoYWRzKSBhZHMuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgICAgICAgICBhZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucmF0ZV9ib3giKTsgaWYgKGFkcykgYWRzLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgICAgICAgICAgICAgYWRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmdyZWVuIik7IGlmIChhZHMpIGFkcy5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgICAgICAgICAgICAgICAgIC8qIDQu5pKt5pS+5q2j54mHICovCiAgICAgICAgICAgICAgICAgICAgLyogcGxheV92aWRlbyh2aWRlb1VybCwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnBsYXllciIpLCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJoMi50aXRsZSIpKTvor6XmlrnmoYjlnKhraXdpK3RlbXBlcm1vbmtleeS4i+aXoOaViCAqLwogICAgICAgICAgICAgICAgICAgIFBsYXllcmpzKHsgaWQ6ICJuZXdwbGF5ZXIiLCBmaWxlOiB2aWRlb1VybCwgYXV0b3BsYXk6IDEgfSk7CiAgICAgICAgICAgICAgICAgICAgLyogNS7lgZzmraLlrprml7blmaggKi8KICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKG15X3RpbWVyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJbVGhlIEFWIFByb25d6KeG6aKR6aG16Z2i77yM5pyq6I635Y+W5Yiw5Zyw5Z2A77yM57un57ut5bCd6K+VLi4uIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLyog5b+r54yr77yM5YW85a655omL5py6ICsgUEMgKi8KICAgICAgICAgICAgZWxzZSBpZiAobG9jYXRpb24uaHJlZi5tYXRjaCgiaHR0cHM6Ly8uKj9rbS4qPy5jb20vdmlkZW9Db250ZW50LyIpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIHBsYXllciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN2aWRlb0NvbnRlbnQiKTsKICAgICAgICAgICAgICAgIC8qIDEu54K55Ye76K+V55yL77yI5LiN6ZyA6KaB77yJICovCiAgICAgICAgICAgICAgICBpZiAocGxheWVyICYmIHBsYXllci5fX3Z1ZV9fICYmIHBsYXllci5fX3Z1ZV9fLmZvcm1hdFVybCkgewogICAgICAgICAgICAgICAgICAgIC8qIDIu6Kej5p6Q55yf5a6e5Zyw5Z2AICovCiAgICAgICAgICAgICAgICAgICAgdmlkZW9VcmwgPSBwbGF5ZXIuX192dWVfXy5mb3JtYXRVcmw7IGNvbnNvbGUubG9nKCLnnJ/lrp7lnLDlnYA6IiwgdmlkZW9VcmwpOwogICAgICAgICAgICAgICAgICAgIC8qIDMu56e76Zmk5bm/5ZGKICovCiAgICAgICAgICAgICAgICAgICAgYWRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmV4Y2hhbmdlQmciKTsgaWYgKGFkcyAhPSBudWxsKSBhZHMuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgICAgICAgICAvKiA0LuaSreaUvuato+eJhyAqLwogICAgICAgICAgICAgICAgICAgIHBsYXlfdmlkZW8odmlkZW9VcmwsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRpdi5iYWNrSW1nIiksIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRpdi52aWRlb1RpdGxlIikgfHwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGl2IHAubmFtZSIpKTsKICAgICAgICAgICAgICAgICAgICAvKiA1LuWBnOatouWumuaXtuWZqCAqLwogICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwobXlfdGltZXIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIlvlv6vnjKtd6KeG6aKR6aG16Z2i77yM5pyq6I635Y+W5Yiw5Zyw5Z2A77yM57un57ut5bCd6K+VLi4uIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLyog57qi5p2P77yM5YW85a655omL5py6ICsgUEMgKi8KICAgICAgICAgICAgZWxzZSBpZiAobG9jYXRpb24uaHJlZi5tYXRjaCgiaHR0cHM6Ly8uKj8vIy9tb3Zlcy9wbGF5dmlkZW8vIikgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgc2hpa2FuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGl2LnNoaWthbiIpIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRpdi5vbl9wbGF5Iik7CiAgICAgICAgICAgICAgICBwbGF5ZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIgZGl2I21zZSIpIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRpdi5wbGF5X3ZpZGVvXzEgZGl2Iik7CiAgICAgICAgICAgICAgICBpZiAoc2hpa2FuKSB7CiAgICAgICAgICAgICAgICAgICAgLyogMS7ngrnlh7vor5XnnIsgKi8KICAgICAgICAgICAgICAgICAgICBzaGlrYW4uY2xpY2soKTsgY29uc29sZS5sb2coIueCueWHu+ivleeci++8gSIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZiAocGxheWVyICYmIHBsYXllci5fX3Z1ZV9fICYmIHBsYXllci5fX3Z1ZV9fLnBsYXlVcmwpIHsKICAgICAgICAgICAgICAgICAgICAvKiAyLuino+aekOecn+WunuWcsOWdgCAqLwogICAgICAgICAgICAgICAgICAgIGxldCB2aWRlb1VybCA9IHBsYXllci5fX3Z1ZV9fLnBsYXlVcmwuc3BsaXQoJyZ0aW1lJylbMF07IGNvbnNvbGUubG9nKCLnnJ/lrp7lnLDlnYA6IiwgdmlkZW9VcmwpOwogICAgICAgICAgICAgICAgICAgIC8qIDMu56e76Zmk6K+V55yLICovCiAgICAgICAgICAgICAgICAgICAgcGxheWVyLl9fdnVlX18ucGxheWVyICYmIHBsYXllci5fX3Z1ZV9fLnBsYXllci5obHMgJiYgcGxheWVyLl9fdnVlX18ucGxheWVyLmhscy5kZXN0cm95KCk7CiAgICAgICAgICAgICAgICAgICAgLyogNC7mkq3mlL7mraPniYcgKi8KICAgICAgICAgICAgICAgICAgICBwbGF5X3ZpZGVvKHZpZGVvVXJsLCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIgZGl2I21zZSIpIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRpdi5wbGF5X3ZpZGVvXzEgZGl2LmRwbGF5ZXIiKSwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGl2Lm1vdmVfbmFtZSIpIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRpdi5wbGF5X21haW5fMSIpKTsKICAgICAgICAgICAgICAgICAgICAvKiA1LuWBnOatouWumuaXtuWZqCAqLwogICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwobXlfdGltZXIpOyBjb25zb2xlLmxvZygi5YGc5q2i5a6a5pe25Zmo77yBIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiW+e6ouadj13op4bpopHpobXpnaLvvIzmnKrojrflj5bliLDlnLDlnYDvvIznu6fnu63lsJ3or5UuLi4iKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAvKiDnuqLmnY/vvIzmiYvmnLrnn63op4bpopEgKi8KICAgICAgICAgICAgZWxzZSBpZiAobG9jYXRpb24uaHJlZi5tYXRjaCgiaHR0cHM6Ly8uKj8vIy9zaG90VmlkZW9MaXN0IikgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgcGxheWVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGl2LnNob3V0X2xpc3QiKTsKICAgICAgICAgICAgICAgIGlmKCFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24jcG9qaWUiKSl7CiAgICAgICAgICAgICAgICAgICAgLyogMS4g5pi+56S65Zyw5Z2AICovCiAgICAgICAgICAgICAgICAgICAgdmFyIG15ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgICAgICAgICAgICAgbXlkaXYuaW5uZXJIVE1MID0gYDxwIGlkPSJteV9hZGRfZGl6aGkiIHN0eWxlPSJjb2xvcjpyZWQ7Zm9udC1zaXplOjE0cHgiPjxidXR0b24gaWQ9InBvamllIj7ngrnmraTnoLTop6M8L2J1dHRvbj7lkI7vvIzop4bpopHmoIfpopjliY3kvJrlh7rnjrDigJzinJTigJ3lrZfmoLfvvIzngrnlh7vmoIfpopjlsIbmiZPlvIDmlrDpobXpnaLnnIvop4bpopHvvIE8L3A+YDsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkaXYudmFuLW5hdi1iYXJfX2NvbnRlbnQiKS5hZnRlcihteWRpdik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmKHBsYXllciAmJiBwbGF5ZXIuX192dWVfXy5wbGF5TGlzdDEpewogICAgICAgICAgICAgICAgICAgIC8qIDIu54K56Kej56C06KejICovCiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uI3BvamllIikub25jbGljayA9IGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2aWRlb1VybF9saXN0ID0gcGxheWVyLl9fdnVlX18ucGxheUxpc3QxOyBjb25zb2xlLmxvZygi55u05pKt5Zyw5Z2AOiIsIHZpZGVvVXJsX2xpc3QpOwogICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGl2bGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRpdi5ib3hfbGVmdCBkaXYuYm94X3B1YmxpYyBkaXYuYm94X3B1YmxpY18xXzIgIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsZW4gPSAodmlkZW9VcmxfbGlzdC5sZW5ndGggPiBkaXZsaXN0Lmxlbmd0aCkgPyBkaXZsaXN0Lmxlbmd0aCA6IHZpZGVvVXJsX2xpc3QubGVuZ3RoOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXZsaXN0W2ldLmlubmVySFRNTCA9IGA8cD48YSBocmVmPSJodHRwczovL2pzY2RuLmpkZ3MueHl6LyR7dmlkZW9VcmxfbGlzdFtpXS5zbn0vMTAwMDBrYi9obHMvaW5kZXgubTN1OCIgdGFyZ2V0PSJfYmxhbmsiPuKclCR7ZGl2bGlzdFtpXS5pbm5lclRleHR9PC9hPjwvcD5gOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIC8qIOWPs+i+ueeahCAqLwogICAgICAgICAgICAgICAgICAgICAgICB2aWRlb1VybF9saXN0ID0gcGxheWVyLl9fdnVlX18ucGxheUxpc3QyOyBjb25zb2xlLmxvZygi55u05pKt5Zyw5Z2AOiIsIHZpZGVvVXJsX2xpc3QpOwogICAgICAgICAgICAgICAgICAgICAgICBkaXZsaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiZGl2LmJveF9yaWdodCBkaXYuYm94X3B1YmxpYyBkaXYuYm94X3B1YmxpY18xXzIgIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9ICh2aWRlb1VybF9saXN0Lmxlbmd0aCA+IGRpdmxpc3QubGVuZ3RoKSA/IGRpdmxpc3QubGVuZ3RoIDogdmlkZW9VcmxfbGlzdC5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2bGlzdFtpXS5pbm5lckhUTUwgPSBgPHA+PGEgaHJlZj0iaHR0cHM6Ly9qc2Nkbi5qZGdzLnh5ei8ke3ZpZGVvVXJsX2xpc3RbaV0uc259LzEwMDAwa2IvaGxzL2luZGV4Lm0zdTgiIHRhcmdldD0iX2JsYW5rIj7inJQke2Rpdmxpc3RbaV0uaW5uZXJUZXh0fTwvYT48L3A+YDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgLyogMy7lgZzmraLlrprml7blmaggKi8KICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKG15X3RpbWVyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAvKiDlkKvnvp7ojYnop4bpopEg77yM5YW85a655omL5py6ICsgUEMgKi8KICAgICAgICAgICAgZWxzZSBpZiAobG9jYXRpb24uaHJlZi5tYXRjaCgiL3ZpZGVvQ29udGVudC8iKSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICBzaGlrYW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudmFuLWljb24tcGxheS1jaXJjbGUtbyIpIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImEubGlua091dEJ1dHRvbi50cnkiKTsgLyog5YmN6Z2i5Li65omL5py644CC5ZCO6Z2i5Li6UEMgKi8KICAgICAgICAgICAgICAgIHBsYXllciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRpdiN2aWRlb0NvbnRlbnRQbGF5ZXIiKSB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjdHJ5VmlkZW8iKTsKICAgICAgICAgICAgICAgIGFkcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5maXhlZFRyeVdhdGNoU2hvd0J1dHRvbkxpbmUiKTsKICAgICAgICAgICAgICAgIGlmIChzaGlrYW4pIHsKICAgICAgICAgICAgICAgICAgICAvKiAxLueCueWHu+ivleeciyAqLwogICAgICAgICAgICAgICAgICAgIHNoaWthbi5jbGljaygpOyBjb25zb2xlLmxvZygi54K55Ye76K+V55yL77yBIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmIChwbGF5ZXIgJiYgcGxheWVyLl9fdnVlX18udmlkZW9VcmwpIHsKICAgICAgICAgICAgICAgICAgICAvKiAyLuino+aekOecn+WunuWcsOWdgCAqLwogICAgICAgICAgICAgICAgICAgIHZpZGVvVXJsID0gcGxheWVyLl9fdnVlX18udmlkZW9Vcmwuc3BsaXQoL3N0YXJ0Lio/c2lnbi8pLmpvaW4oJ3NpZ24nKTsgY29uc29sZS5sb2coIuecn+WunuWcsOWdgDoiLCB2aWRlb1VybCk7CiAgICAgICAgICAgICAgICAgICAgLyogMy7np7vpmaTor5XnnIvjgIHlub/lkYogKi8KICAgICAgICAgICAgICAgICAgICBwbGF5ZXIuX192dWVfXy52aWRlb09iaiAmJiBwbGF5ZXIuX192dWVfXy52aWRlb09iai5obHMgJiYgcGxheWVyLl9fdnVlX18udmlkZW9PYmouaGxzLmRlc3Ryb3koKTsKICAgICAgICAgICAgICAgICAgICBhZHMgJiYgKGFkcy5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiKTsKICAgICAgICAgICAgICAgICAgICAvKiA0LuaSreaUvuato+eJhyAqLwogICAgICAgICAgICAgICAgICAgIHBsYXlfdmlkZW8odmlkZW9VcmwsIHBsYXllciwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGl2LnB1YmxpY1ZpZGVvSW5mb0JveCBwLm5hbWUiKSB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkaXYuaW5mb0FyZWFCb3giKSk7CiAgICAgICAgICAgICAgICAgICAgLyogNS7lgZzmraLlrprml7blmaggKi8KICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKG15X3RpbWVyKTsgY29uc29sZS5sb2coIuWBnOatouWumuaXtuWZqO+8gSIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIlvlkKvnvp7ojYld6KeG6aKR6aG16Z2i77yM5pyq6I635Y+W5Yiw5Zyw5Z2A77yM57un57ut5bCd6K+VLi4uIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLyog5ZCr576e6I2J77yMUEPnq6/vvIznm7Tmkq0gKi8KICAgICAgICAgICAgZWxzZSBpZiAobG9jYXRpb24uaHJlZi5tYXRjaCgiL2xpdmUvIikgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgcGxheWVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGl2LlZpZGVvQXV0aEFkbWluQmciKSB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkaXYjbGl2ZVBsYXllciIpOwogICAgICAgICAgICAgICAgdmlkZW9VcmwgPSBwbGF5ZXIuX192dWVfXy52aWRlb1VybCB8fCBwbGF5ZXIuX192dWVfXy52aWRlb0NvbnRlbnQucHVsbDsgY29uc29sZS5sb2coIuebtOaSreWcsOWdgDoiLCB2aWRlb1VybCk7CiAgICAgICAgICAgICAgICBwbGF5X3ZpZGVvKHZpZGVvVXJsLCBwbGF5ZXIsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRpdi51c2VySW5mbyBwLm5hbWUiKSk7CiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKG15X3RpbWVyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvKiDlkKvnvp7ojYnvvIzmiYvmnLrnq6/vvIznm7Tmkq0gKi8KICAgICAgICAgICAgZWxzZSBpZiAobG9jYXRpb24uaHJlZi5tYXRjaCgiLy9oNS4qPy9saXZlIikgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgcGxheWVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGl2I3B1YmxpY0xpdmVMaXN0TW9kdWxlIik7CiAgICAgICAgICAgICAgICBsZXQgdmlkZW9VcmxfbGlzdCA9IHBsYXllci5fX3Z1ZV9fLmxpc3Q7IGNvbnNvbGUubG9nKCLnm7Tmkq3lnLDlnYA6IiwgdmlkZW9VcmxfbGlzdCk7CiAgICAgICAgICAgICAgICBsZXQgZGl2bGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInVsLmxpdmVMaXN0QmcgbGkgLmJvdHRvbSIpOwogICAgICAgICAgICAgICAgbGV0IGxlbiA9ICh2aWRlb1VybF9saXN0Lmxlbmd0aCA+IGRpdmxpc3QubGVuZ3RoKSA/IGRpdmxpc3QubGVuZ3RoIDogdmlkZW9VcmxfbGlzdC5sZW5ndGg7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgZGl2bGlzdFtpXS5pbm5lckhUTUwgKz0gJzxwPjxhIGhyZWY9IicgKyB2aWRlb1VybF9saXN0W2ldLnB1bGwgKyAnIiB0YXJnZXQ9Il9ibGFuayI+JyArIHZpZGVvVXJsX2xpc3RbaV0ucHVsbCArICc8L2E+PC9wPic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKG15X3RpbWVyKTsKICAgICAgICAgICAgICAgIC8qIDEuIOaYvuekuuWcsOWdgCAqLwogICAgICAgICAgICAgICAgdmFyIG15ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgICAgICAgICBteWRpdi5pbm5lckhUTUwgPSAnPHAgaWQ9Im15X2FkZF9kaXpoaSIgc3R5bGU9ImNvbG9yOnJlZDtmb250LXNpemU6MTRweCI+5o+Q56S677ya5b2m56WW5Lus77yM6K+354K55Ye75Zu+54mH5LiL5pa555qE6ZO+5o6l55yL56C06Kej5ZCO55qE55u05pKt6KeG6aKR77yBPC9wPic7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkaXYudG9wQmFubmVyQmciKS5hZnRlcihteWRpdik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAvKiDpurvosYZUViAqLyAvKiA5MVRWICovCiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidmlwX2xldmVsIiwgJzEnKTsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCLlnLDlnYDmnKrljLnphY3vvIzlgZzmraLlrprml7blmaghIik7CiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKG15X3RpbWVyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzaG93X2Vycl9sb2cobnVsbCk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChlcnIpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coYCR7ZXJyfWApOwogICAgICAgICAgICBzaG93X2Vycl9sb2coZXJyKTsKICAgICAgICB9CiAgICB9CgogICAgbGV0IG15X3RpbWVyID0gc2V0SW50ZXJ2YWwoZ2V0X3ZpZGVvdXJsLCAyMDAwKTsKCiAgICB2YXIgb2xkaHJlZiA9IGxvY2F0aW9uLmhyZWY7CiAgICBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKGxvY2F0aW9uLmhyZWYgIT0gb2xkaHJlZikgewogICAgICAgICAgICBjb25zb2xlLmxvZygi55uR5ZCs5Yiw5Zyw5Z2A5Y+Y5YyWLOWGjeasoeWQr+WKqOOAkOiOt+WPluinhumikeWumuaXtuWZqOOAkSEiKTsKICAgICAgICAgICAgdmFyIHh4eCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNteV9hZGRfZGl6aGkiKTsgeHh4ICYmIHh4eC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHh4eCk7IC8qIOWQq+e+nuiNieaJi+acuumcgOimgeWIoOmZpOS5i+WJjeeahOaPkOekuiAqLwogICAgICAgICAgICBvbGRocmVmID0gbG9jYXRpb24uaHJlZjsKICAgICAgICAgICAgZXJyX2NudCA9IDA7CiAgICAgICAgICAgIG15X3RpbWVyID0gc2V0SW50ZXJ2YWwoZ2V0X3ZpZGVvdXJsLCAxMDAwKTsKICAgICAgICB9CiAgICB9LCAxMDAwKTsKCn0pKCk7
Add Comment
Please, Sign In to add comment