Advertisement
xiaomianao666

邀您一起看:断袖男同

Oct 28th, 2024
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥断袖男同@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJcIixcImxpc3RUb0NsZWFyQXNzb2NpYXRlZEZLXCI6W10sXCJsaXN0VG9DbGVhclNlbGZGS1wiOltdLFwicGFnZUxpc3RcIjpbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcImFlc1wiLFwicGF0aFwiOlwiYWVzXCIsXCJydWxlXCI6XCIvL+WKoOi9vUNyeXB0b0pT5bqTXFxuZXZhbChnZXRDcnlwdG9KUygpKVxcblxcbi8vIOino+WvhuWHveaVsFxcbmZ1bmN0aW9uIERlY3J5cHQod29yZCkge1xcbiAgICBjb25zdCBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFwiTlFZVDNlU3NYRzUyV1BEU1xcXCIpO1xcbiAgICBjb25zdCBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKFxcXCJlODkyMjVjZmJiaW1na2N1XFxcIik7XFxuICAgIGxldCBlbmNyeXB0ZWRIZXhTdHIgPSBDcnlwdG9KUy5lbmMuQmFzZTY0LnBhcnNlKHdvcmQpO1xcbiAgICBsZXQgZGVjcnlwdCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KHtcXG4gICAgICAgIGNpcGhlcnRleHQ6IGVuY3J5cHRlZEhleFN0clxcbiAgICB9LCBrZXksIHtcXG4gICAgICAgIGl2OiBpdixcXG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3IC8vIOazqOaEj+i/memHjOW6lOivpeaYr0NyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXG4gICAgfSk7XFxuICAgIGlmIChkZWNyeXB0KSB7XFxuICAgICAgICBsZXQgZGVjcnlwdGVkU3RyID0gZGVjcnlwdC50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOCk7XFxuICAgICAgICByZXR1cm4gZGVjcnlwdGVkU3RyO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8g6Kej5a+G5aSx6LSl77yM6L+U5ZuebnVsbOaIlumUmeivr+S/oeaBr1xcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG59XFxuXFxuLy8g5Yqg5a+G5Ye95pWwXFxuZnVuY3Rpb24gRW5jcnlwdChwbGFpbnRleHQpIHtcXG4gICAgY29uc3Qga2V5ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoXFxcIk5RWVQzZVNzWEc1MldQRFNcXFwiKTtcXG4gICAgY29uc3QgaXYgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFwiZTg5MjI1Y2ZiYmltZ2tjdVxcXCIpO1xcbiAgICB2YXIgZW5jcnlwdGVkID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQocGxhaW50ZXh0LCBrZXksIHtcXG4gICAgICAgIGl2OiBpdixcXG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3IC8vIOazqOaEj+i/memHjOW6lOivpeaYr0NyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXG4gICAgfSk7XFxuICAgIHZhciBjaXBoZXJ0ZXh0ID0gZW5jcnlwdGVkLmNpcGhlcnRleHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLkJhc2U2NCk7XFxuICAgIHJldHVybiBjaXBoZXJ0ZXh0O1xcbn1cXG5cXG52YXIgbGF6eSA9ICQoJycpLmltYWdlKCgpID0+IHtcXG5jb25zdCBDcnlwdG9VdGlsID0gJC5yZXF1aXJlKFxcXCJoaWtlcjovL2Fzc2V0cy9jcnlwdG8tamF2YS5qc1xcXCIpO1xcblxcdGxldCBrZXkgPSBDcnlwdG9VdGlsLkRhdGEucGFyc2VVVEY4KFxcXCJmNWQ5NjVkZjc1MzM2MjcwXFxcIik7XFxuXFx0bGV0IGl2ID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlVVRGOChcXFwiOTdiNjAzOTRhYmMyZmJlMVxcXCIpO1xcblxcdGxldCB0ZXh0RGF0YSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZUlucHV0U3RyZWFtKGlucHV0KTtcXG5cXHRsZXQgZW5jcnlwdGVkID0gQ3J5cHRvVXRpbC5BRVMuZGVjcnlwdCh0ZXh0RGF0YSwga2V5LCB7XFxuICBcXHRtb2RlOiBcXFwiQUVTL0NCQy9QS0NTN1BhZGRpbmdcXFwiLFxcblxcdFxcdGl2OiBpdlxcblxcdH0pO1xcblxcdHJldHVybiBlbmNyeXB0ZWQudG9JbnB1dFN0cmVhbSgpO1xcbn0pXFxuXFxuXFxuLy/lm77niYfop6Plr4ZcXG5rZXkgPSAnZjVkOTY1ZGY3NTMzNjI3MCc7XFxuaXYgPSAnOTdiNjAzOTRhYmMyZmJlMSc7XFxuZnVuY3Rpb24gaW1nRGVjKGtleSxpdixhLGIpe1xcblxcdGlmKCFiKXtcXG4gXFx0XFx0Yj0nUEtDUzVQYWRkaW5nJztcXG4gXFx0fVxcbiAgICBcXHR2YXIgc3NzID0gYFxcbiAgICAgICAgICAgIGZ1bmN0aW9uIGltZ0RlY3J5cHQoKSB7XFxuICAgICAgICAgICAgICAgIHZhciBqYXZhSW1wb3J0ID0gbmV3IEphdmFJbXBvcnRlcigpO1xcbiAgICAgICAgICAgICAgICBqYXZhSW1wb3J0LmltcG9ydFBhY2thZ2UoXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5jb20uZXhhbXBsZS5oaWtlcnZpZXcudXRpbHMsXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZhLmxhbmcsXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZhLnNlY3VyaXR5LFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YS51dGlsLFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YS5pbyxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmEudGV4dCxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmF4LmNyeXB0byxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmF4LmNyeXB0by5zcGVjLFxcbiAgICAgICAgICAgICAgICApO1xcbiAgICAgICAgICAgICAgICB3aXRoKGphdmFJbXBvcnQpIHtcXG4gICAgICAgICAgICAgICAgICAgIGxldCBieXRlcyA9IEZpbGVVdGlsLnRvQnl0ZXMoaW5wdXQpO1xcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZGVjcnlwdERhdGEoYkFycikge1xcblxcdFxcdCAgICBpZigvQkAvLnRlc3QoXFxcIiR7a2V5fVxcXCIpKXtcXG4gICAgICBcXHRcXHRcXHR2YXIgc2VjcmV0S2V5U3BlYyA9IG5ldyBTZWNyZXRLZXlTcGVjKFN0cmluZyhcXFwiJHtrZXl9XFxcIiksIFxcXCIke2F9XFxcIik7XFxuICAgICAgICAgICAgICAgICAgICBcXHR2YXIgaXZQYXJhbWV0ZXJTcGVjID0gbmV3IEl2UGFyYW1ldGVyU3BlYyhTdHJpbmcoXFxcIiR7aXZ9XFxcIikpO1xcblxcdFxcdCAgICB9ZWxzZXtcXG5cXHRcXHQgICAgXFx0dmFyIHNlY3JldEtleVNwZWMgPSBuZXcgU2VjcmV0S2V5U3BlYyhTdHJpbmcoXFxcIiR7a2V5fVxcXCIpLmdldEJ5dGVzKCksIFxcXCIke2F9XFxcIik7XFxuICAgICAgICAgICAgICAgICAgICBcXHR2YXIgaXZQYXJhbWV0ZXJTcGVjID0gbmV3IEl2UGFyYW1ldGVyU3BlYyhTdHJpbmcoXFxcIiR7aXZ9XFxcIikuZ2V0Qnl0ZXMoKSk7XFxuXFx0XFx0ICAgICB9XFxuICAgICAgICAgICAgICAgICAgICBcXHR2YXIgY2lwaGVyID0gQ2lwaGVyLmdldEluc3RhbmNlKFxcXCIke2F9XFxcIitcXFwiL0NCQy9cXFwiK1xcXCIke2J9XFxcIik7XFxuICAgICAgICAgICAgICAgICAgICBcXHRjaXBoZXIuaW5pdCgyLCBzZWNyZXRLZXlTcGVjLCBpdlBhcmFtZXRlclNwZWMpO1xcbiAgICAgICAgICAgICAgICAgICBcXHQgcmV0dXJuIGNpcGhlci5kb0ZpbmFsKGJBcnIpO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgYnl0ZXMgPSBkZWNyeXB0RGF0YShieXRlcyk7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVV0aWwudG9JbnB1dFN0cmVhbShieXRlcyk7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICBcXG4gICAgICAgIGA7XFxuICAgICAgICBwdXRWYXIoJ3NzcycsIHNzcyk7XFxuICAgICAgICB2YXIgaW1nZGVjID0gJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgZXZhbChnZXRWYXIoJ3NzcycpKTtcXG4gICAgICAgICAgICByZXR1cm4gaW1nRGVjcnlwdCgpO1xcbiAgICAgICAgfSk7ICAgICAgICBcXG4gICAgICAgIHB1dFZhcignaW1nZGVjJywgaW1nZGVjKTtcXG4gICAgICAgIHJldHVybiBpbWdkZWM7XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5pe26Ze05oiz6L2s5o2iXCIsXCJwYXRoXCI6XCLml7bpl7TmiLPovazmjaJcIixcInJ1bGVcIjpcImZ1bmN0aW9uIHRpbWVzdGFtcFRvVGltZSh0bSwgdHMpIHtcXG5cXHRcXHR1bmRlZmluZWRcXG5cXHRcXHR2YXIgZGF0ZSA9IG5ldyBEYXRlKHRtICogMTAwMCk7IC8v5pe26Ze05oiz5Li6MTDkvY3pnIAqMTAwMO+8jOaXtumXtOaIs+S4ujEz5L2N55qE6K+d5LiN6ZyA5LmYMTAwMFxcblxcdFxcdHZhciBZID0gZGF0ZS5nZXRGdWxsWWVhcigpICsgJy0nO1xcblxcdFxcdHZhciBNID0gKGRhdGUuZ2V0TW9udGgoKSArIDEgPCAxMCA/ICcwJyArIChkYXRlLmdldE1vbnRoKCkgKyAxKSA6IGRhdGUuZ2V0TW9udGgoKSArIDEpICsgJy0nO1xcblxcdFxcdHZhciBEID0gZGF0ZS5nZXREYXRlKCk7XFxuXFx0XFx0dmFyIGggPSAnIHwgJyArIGRhdGUuZ2V0SG91cnMoKSArICc6JztcXG5cXHRcXHR2YXIgbSA9IGRhdGUuZ2V0TWludXRlcygpO1xcblxcdFxcdGlmKG08MTApIG0gPSAnMCcrbTtcXG5cXHRcXHRtID0gbSArICc6J1xcblxcdFxcdHZhciBzID0gZGF0ZS5nZXRTZWNvbmRzKCk7XFxuXFx0XFx0aWYoczwxMCkgcyA9ICcwJytzO1xcblxcdFxcdGlmICh0cyA9PSAwKSByZXR1cm4gWSArIE0gKyBEO1xcblxcdFxcdGlmICh0cyA9PSAxKSByZXR1cm4gWSArIE0gKyBEICsgaCArIG0gKyBzO1xcblxcdH1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuS6jOe6p1wiLFwicGF0aFwiOlwiZXJqaVwiLFwicnVsZVwiOlwianM6IFxcbnZhciBkID0gW107XFxuXFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxuXFxuLy/nlJ/miJDml7bpl7TmiLNcXG5mdW5jdGlvbiBnZXRDdXJyZW50VGltZXN0YW1wKCkge1xcbiAgICByZXR1cm4gbmV3IERhdGUoKS5nZXRUaW1lKCk7XFxufVxcbi8vbWQ15Yqg5a+GXFxuZnVuY3Rpb24gbWQ1KHN0cikge1xcbiAgICByZXR1cm4gQ3J5cHRvSlMuTUQ1KHN0cikudG9TdHJpbmcoKTtcXG59XFxuLy9zaGEyNTbliqDlr4ZcXG5mdW5jdGlvbiBzaGEyNTYoc3RyKSB7XFxuICAgIHJldHVybiBDcnlwdG9KUy5TSEEyNTYoc3RyKS50b1N0cmluZygpO1xcbn1cXG5cXG52YXIgdCA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOyAvL2xvZyh0KVxcbmxldCBpZD1NWV9VUkwuc3BsaXQoJyMjJylbM107XFxubGV0IHA9TVlfVVJMLnNwbGl0KCcjIycpWzFdO1xcbmxldCB6ID0gTVlfVVJMLnNwbGl0KCcjIycpWzJdO1xcbmxldCBkYXRhMD0ne1xcXCJ0YWJfaWRcXFwiOlxcXCInK2lkKydcXFwiLFxcXCJsaW1pdFxcXCI6XFxcIjMwXFxcIixcXFwicGFnZVxcXCI6XFxcIicrcCsnXFxcIixcXFwic29ydFxcXCI6XFxcIicreisnXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJhYWE5MzlmMjc0OGEyNWUzOGQ0MmU3ZDUwMGIwNWMwMVxcXCIsXFxcImJ1bmRsZV9pZFxcXCI6XFxcImNvbS43ZHUuY24ub3JnXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjIuMC41XFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcIndlYlxcXCIsXFxcImxhbmd1YWdlXFxcIjpcXFwiemhcXFwifSdcXG4vL2xvZyhkYXRhMClcXG52YXIgZGF0YSA9IEVuY3J5cHQoZGF0YTApOyBcXG4vL2xvZyhkYXRhKVxcbnZhciBzaWduID0gbWQ1KHNoYTI1NignZGF0YT0nK2RhdGErJyZ0aW1lc3RhbXA9Jyt0KydOUVlUM2VTc1hHNTJXUERTJykpOyAvL2xvZyhzaWduKVxcbnZhciBib2R5ID0gJ3RpbWVzdGFtcD0nK3QrJyZkYXRhPScrZGF0YSsnJnNpZ249JytzaWduOyBcXG4vL2xvZyhib2R5KVxcbnZhciB1cmwgPSAnaHR0cHM6Ly9sb3lhcGkwMi54aW5ncXUyMDAuY29tL2FwaS5waHBhcGkvdGFibmV3L2xpc3RfdGFiX212JztcXG52YXIgaHRtbCA9IGZldGNoKHVybCwge1xcbiAgICBoZWFkZXJzOiB7XFxuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xcbiAgICB9LFxcbiAgICBib2R5OiBib2R5LFxcbiAgICBtZXRob2Q6ICdQT1NUJ1xcbn0pOyBcXG4vL2xvZyhodG1sKVxcblxcbmxldCBodG1sMSA9IEpTT04ucGFyc2UoaHRtbCkuZGF0YTsgXFxuLy9sb2coaHRtbDEpXFxubGV0IGh0bWwyID0gRGVjcnlwdChodG1sMSk7IFxcbi8vbG9nKGh0bWwyKVxcblxcbnZhciBsaXN0ID0gSlNPTi5wYXJzZShodG1sMikuZGF0YS5saXN0O1xcbi8vbG9nKGxpc3QpO1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgdmFyIHVybCA9IGRhdGEucGxheV91cmw7XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS/ml7bpl7TmiLPovazmjaInKSkucnVsZSk7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6ICB0aW1lc3RhbXBUb1RpbWUoZGF0YS5yZWZyZXNoX2F0LDEpKydcXFxcdFxcXFx0XFxcXHRcXFxcdCcrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbi82MCkrJzonK3BhcnNlSW50KGRhdGEuZHVyYXRpb24lNjApLFxcbiAgICAgICAgICAgaW1nOiBkYXRhLmNvdmVyX3RodW1iX3VybCArIGxhenksXFxuICAgICAgICAgICAvLyBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgKyAnQGpzPScgKyBpbWdEZWMoa2V5LCBpdiwgJ0FFUycpLCxcXG4gICAgICAgICAgICB1cmw6IHVybC5yZXBsYWNlKC9cXFxcL1xcXFwvLipwbGF5XFxcXC4vLCcvL2xvbmcuJylcXG4gICAgICAgIH0pXFxuICAgIH0pXFxuXFxuc2V0UmVzdWx0KGQpXCJ9XSxcInNhdmVkXCI6ZmFsc2UsXCJ0aXRsZVwiOlwi8J+qkOaal+e9keino+WvhvCfqpBcIixcInZlcnNpb25cIjowLFwidXJsXCI6XCJoaWtlcjovL2VtcHR5IyNmeXBhZ2UjI2hvdCMjOTM7Z2V0O1VURi04O3tVc2VyLUFnZW50QE1vemlsbGEvNS4wIChMaW51eO+8m++8myBBbmRyb2lkIDE077yb77ybIDIzMDEzUks3NUMgQnVpbGQvVUtRMS4yMzA4MDQuMDAx77yb77ybIHd2KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzQuMCBDaHJvbWUvMTE4LjAuMC4wIE1vYmlsZSBTYWZhcmkvNTM3LjM2fVwiLFwiY29sX3R5cGVcIjpcIm1vdmllXzJcIixcImZpbmRfcnVsZVwiOlwianM6JC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvZXJqaVxcXCIpXCIsXCJncm91cFwiOlwi4pyoXCIsXCJ1YVwiOlwibW9iaWxlXCIsXCJwcmVSdWxlXCI6XCJcIixcInBhZ2VzXCI6XCJbe1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwiYWVzXFxcIixcXFwicGF0aFxcXCI6XFxcImFlc1xcXCIsXFxcInJ1bGVcXFwiOlxcXCIvL+WKoOi9vUNyeXB0b0pT5bqTXFxcXG5ldmFsKGdldENyeXB0b0pTKCkpXFxcXG5cXFxcbi8vIOino+WvhuWHveaVsFxcXFxuZnVuY3Rpb24gRGVjcnlwdCh3b3JkKSB7XFxcXG4gICAgY29uc3Qga2V5ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoXFxcXFxcXCJOUVlUM2VTc1hHNTJXUERTXFxcXFxcXCIpO1xcXFxuICAgIGNvbnN0IGl2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoXFxcXFxcXCJlODkyMjVjZmJiaW1na2N1XFxcXFxcXCIpO1xcXFxuICAgIGxldCBlbmNyeXB0ZWRIZXhTdHIgPSBDcnlwdG9KUy5lbmMuQmFzZTY0LnBhcnNlKHdvcmQpO1xcXFxuICAgIGxldCBkZWNyeXB0ID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoe1xcXFxuICAgICAgICBjaXBoZXJ0ZXh0OiBlbmNyeXB0ZWRIZXhTdHJcXFxcbiAgICB9LCBrZXksIHtcXFxcbiAgICAgICAgaXY6IGl2LFxcXFxuICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQyxcXFxcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3IC8vIOazqOaEj+i/memHjOW6lOivpeaYr0NyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXFxcbiAgICB9KTtcXFxcbiAgICBpZiAoZGVjcnlwdCkge1xcXFxuICAgICAgICBsZXQgZGVjcnlwdGVkU3RyID0gZGVjcnlwdC50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOCk7XFxcXG4gICAgICAgIHJldHVybiBkZWNyeXB0ZWRTdHI7XFxcXG4gICAgfSBlbHNlIHtcXFxcbiAgICAgICAgLy8g6Kej5a+G5aSx6LSl77yM6L+U5ZuebnVsbOaIlumUmeivr+S/oeaBr1xcXFxuICAgICAgICByZXR1cm4gbnVsbDtcXFxcbiAgICB9XFxcXG59XFxcXG5cXFxcbi8vIOWKoOWvhuWHveaVsFxcXFxuZnVuY3Rpb24gRW5jcnlwdChwbGFpbnRleHQpIHtcXFxcbiAgICBjb25zdCBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFxcXFxcIk5RWVQzZVNzWEc1MldQRFNcXFxcXFxcIik7XFxcXG4gICAgY29uc3QgaXYgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFxcXFxcImU4OTIyNWNmYmJpbWdrY3VcXFxcXFxcIik7XFxcXG4gICAgdmFyIGVuY3J5cHRlZCA9IENyeXB0b0pTLkFFUy5lbmNyeXB0KHBsYWludGV4dCwga2V5LCB7XFxcXG4gICAgICAgIGl2OiBpdixcXFxcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXFxcXG4gICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5Qa2NzNyAvLyDms6jmhI/ov5nph4zlupTor6XmmK9DcnlwdG9KUy5wYWQuTm9QYWRkaW5nXFxcXG4gICAgfSk7XFxcXG4gICAgdmFyIGNpcGhlcnRleHQgPSBlbmNyeXB0ZWQuY2lwaGVydGV4dC50b1N0cmluZyhDcnlwdG9KUy5lbmMuQmFzZTY0KTtcXFxcbiAgICByZXR1cm4gY2lwaGVydGV4dDtcXFxcbn1cXFxcblxcXFxudmFyIGxhenkgPSAkKCcnKS5pbWFnZSgoKSA9PiB7XFxcXG5jb25zdCBDcnlwdG9VdGlsID0gJC5yZXF1aXJlKFxcXFxcXFwiaGlrZXI6Ly9hc3NldHMvY3J5cHRvLWphdmEuanNcXFxcXFxcIik7XFxcXG5cXFxcdGxldCBrZXkgPSBDcnlwdG9VdGlsLkRhdGEucGFyc2VVVEY4KFxcXFxcXFwiZjVkOTY1ZGY3NTMzNjI3MFxcXFxcXFwiKTtcXFxcblxcXFx0bGV0IGl2ID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlVVRGOChcXFxcXFxcIjk3YjYwMzk0YWJjMmZiZTFcXFxcXFxcIik7XFxcXG5cXFxcdGxldCB0ZXh0RGF0YSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZUlucHV0U3RyZWFtKGlucHV0KTtcXFxcblxcXFx0bGV0IGVuY3J5cHRlZCA9IENyeXB0b1V0aWwuQUVTLmRlY3J5cHQodGV4dERhdGEsIGtleSwge1xcXFxuICBcXFxcdG1vZGU6IFxcXFxcXFwiQUVTL0NCQy9QS0NTN1BhZGRpbmdcXFxcXFxcIixcXFxcblxcXFx0XFxcXHRpdjogaXZcXFxcblxcXFx0fSk7XFxcXG5cXFxcdHJldHVybiBlbmNyeXB0ZWQudG9JbnB1dFN0cmVhbSgpO1xcXFxufSlcXFxcblxcXFxuXFxcXG4vL+WbvueJh+ino+WvhlxcXFxua2V5ID0gJ2Y1ZDk2NWRmNzUzMzYyNzAnO1xcXFxuaXYgPSAnOTdiNjAzOTRhYmMyZmJlMSc7XFxcXG5mdW5jdGlvbiBpbWdEZWMoa2V5LGl2LGEsYil7XFxcXG5cXFxcdGlmKCFiKXtcXFxcbiBcXFxcdFxcXFx0Yj0nUEtDUzVQYWRkaW5nJztcXFxcbiBcXFxcdH1cXFxcbiAgICBcXFxcdHZhciBzc3MgPSBgXFxcXG4gICAgICAgICAgICBmdW5jdGlvbiBpbWdEZWNyeXB0KCkge1xcXFxuICAgICAgICAgICAgICAgIHZhciBqYXZhSW1wb3J0ID0gbmV3IEphdmFJbXBvcnRlcigpO1xcXFxuICAgICAgICAgICAgICAgIGphdmFJbXBvcnQuaW1wb3J0UGFja2FnZShcXFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuY29tLmV4YW1wbGUuaGlrZXJ2aWV3LnV0aWxzLFxcXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZhLmxhbmcsXFxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmEuc2VjdXJpdHksXFxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmEudXRpbCxcXFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YS5pbyxcXFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YS50ZXh0LFxcXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZheC5jcnlwdG8sXFxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmF4LmNyeXB0by5zcGVjLFxcXFxuICAgICAgICAgICAgICAgICk7XFxcXG4gICAgICAgICAgICAgICAgd2l0aChqYXZhSW1wb3J0KSB7XFxcXG4gICAgICAgICAgICAgICAgICAgIGxldCBieXRlcyA9IEZpbGVVdGlsLnRvQnl0ZXMoaW5wdXQpO1xcXFxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkZWNyeXB0RGF0YShiQXJyKSB7XFxcXG5cXFxcdFxcXFx0ICAgIGlmKC9CQC8udGVzdChcXFxcXFxcIiR7a2V5fVxcXFxcXFwiKSl7XFxcXG4gICAgICBcXFxcdFxcXFx0XFxcXHR2YXIgc2VjcmV0S2V5U3BlYyA9IG5ldyBTZWNyZXRLZXlTcGVjKFN0cmluZyhcXFxcXFxcIiR7a2V5fVxcXFxcXFwiKSwgXFxcXFxcXCIke2F9XFxcXFxcXCIpO1xcXFxuICAgICAgICAgICAgICAgICAgICBcXFxcdHZhciBpdlBhcmFtZXRlclNwZWMgPSBuZXcgSXZQYXJhbWV0ZXJTcGVjKFN0cmluZyhcXFxcXFxcIiR7aXZ9XFxcXFxcXCIpKTtcXFxcblxcXFx0XFxcXHQgICAgfWVsc2V7XFxcXG5cXFxcdFxcXFx0ICAgIFxcXFx0dmFyIHNlY3JldEtleVNwZWMgPSBuZXcgU2VjcmV0S2V5U3BlYyhTdHJpbmcoXFxcXFxcXCIke2tleX1cXFxcXFxcIikuZ2V0Qnl0ZXMoKSwgXFxcXFxcXCIke2F9XFxcXFxcXCIpO1xcXFxuICAgICAgICAgICAgICAgICAgICBcXFxcdHZhciBpdlBhcmFtZXRlclNwZWMgPSBuZXcgSXZQYXJhbWV0ZXJTcGVjKFN0cmluZyhcXFxcXFxcIiR7aXZ9XFxcXFxcXCIpLmdldEJ5dGVzKCkpO1xcXFxuXFxcXHRcXFxcdCAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICBcXFxcdHZhciBjaXBoZXIgPSBDaXBoZXIuZ2V0SW5zdGFuY2UoXFxcXFxcXCIke2F9XFxcXFxcXCIrXFxcXFxcXCIvQ0JDL1xcXFxcXFwiK1xcXFxcXFwiJHtifVxcXFxcXFwiKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgXFxcXHRjaXBoZXIuaW5pdCgyLCBzZWNyZXRLZXlTcGVjLCBpdlBhcmFtZXRlclNwZWMpO1xcXFxuICAgICAgICAgICAgICAgICAgIFxcXFx0IHJldHVybiBjaXBoZXIuZG9GaW5hbChiQXJyKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICBieXRlcyA9IGRlY3J5cHREYXRhKGJ5dGVzKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVVdGlsLnRvSW5wdXRTdHJlYW0oYnl0ZXMpO1xcXFxuICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxcXFxuICAgICAgICBgO1xcXFxuICAgICAgICBwdXRWYXIoJ3NzcycsIHNzcyk7XFxcXG4gICAgICAgIHZhciBpbWdkZWMgPSAkLnRvU3RyaW5nKCgpID0+IHtcXFxcbiAgICAgICAgICAgIGV2YWwoZ2V0VmFyKCdzc3MnKSk7XFxcXG4gICAgICAgICAgICByZXR1cm4gaW1nRGVjcnlwdCgpO1xcXFxuICAgICAgICB9KTsgICAgICAgIFxcXFxuICAgICAgICBwdXRWYXIoJ2ltZ2RlYycsIGltZ2RlYyk7XFxcXG4gICAgICAgIHJldHVybiBpbWdkZWM7XFxcXG59XFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5pe26Ze05oiz6L2s5o2iXFxcIixcXFwicGF0aFxcXCI6XFxcIuaXtumXtOaIs+i9rOaNolxcXCIsXFxcInJ1bGVcXFwiOlxcXCJmdW5jdGlvbiB0aW1lc3RhbXBUb1RpbWUodG0sIHRzKSB7XFxcXG5cXFxcdFxcXFx0dW5kZWZpbmVkXFxcXG5cXFxcdFxcXFx0dmFyIGRhdGUgPSBuZXcgRGF0ZSh0bSAqIDEwMDApOyAvL+aXtumXtOaIs+S4ujEw5L2N6ZyAKjEwMDDvvIzml7bpl7TmiLPkuLoxM+S9jeeahOivneS4jemcgOS5mDEwMDBcXFxcblxcXFx0XFxcXHR2YXIgWSA9IGRhdGUuZ2V0RnVsbFllYXIoKSArICctJztcXFxcblxcXFx0XFxcXHR2YXIgTSA9IChkYXRlLmdldE1vbnRoKCkgKyAxIDwgMTAgPyAnMCcgKyAoZGF0ZS5nZXRNb250aCgpICsgMSkgOiBkYXRlLmdldE1vbnRoKCkgKyAxKSArICctJztcXFxcblxcXFx0XFxcXHR2YXIgRCA9IGRhdGUuZ2V0RGF0ZSgpO1xcXFxuXFxcXHRcXFxcdHZhciBoID0gJyB8ICcgKyBkYXRlLmdldEhvdXJzKCkgKyAnOic7XFxcXG5cXFxcdFxcXFx0dmFyIG0gPSBkYXRlLmdldE1pbnV0ZXMoKTtcXFxcblxcXFx0XFxcXHRpZihtPDEwKSBtID0gJzAnK207XFxcXG5cXFxcdFxcXFx0bSA9IG0gKyAnOidcXFxcblxcXFx0XFxcXHR2YXIgcyA9IGRhdGUuZ2V0U2Vjb25kcygpO1xcXFxuXFxcXHRcXFxcdGlmKHM8MTApIHMgPSAnMCcrcztcXFxcblxcXFx0XFxcXHRpZiAodHMgPT0gMCkgcmV0dXJuIFkgKyBNICsgRDtcXFxcblxcXFx0XFxcXHRpZiAodHMgPT0gMSkgcmV0dXJuIFkgKyBNICsgRCArIGggKyBtICsgcztcXFxcblxcXFx0fVxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJtb3ZpZV8zXFxcIixcXFwibmFtZVxcXCI6XFxcIuS6jOe6p1xcXCIsXFxcInBhdGhcXFwiOlxcXCJlcmppXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOiBcXFxcbnZhciBkID0gW107XFxcXG5cXFxcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcXFxuXFxcXG4vL+eUn+aIkOaXtumXtOaIs1xcXFxuZnVuY3Rpb24gZ2V0Q3VycmVudFRpbWVzdGFtcCgpIHtcXFxcbiAgICByZXR1cm4gbmV3IERhdGUoKS5nZXRUaW1lKCk7XFxcXG59XFxcXG4vL21kNeWKoOWvhlxcXFxuZnVuY3Rpb24gbWQ1KHN0cikge1xcXFxuICAgIHJldHVybiBDcnlwdG9KUy5NRDUoc3RyKS50b1N0cmluZygpO1xcXFxufVxcXFxuLy9zaGEyNTbliqDlr4ZcXFxcbmZ1bmN0aW9uIHNoYTI1NihzdHIpIHtcXFxcbiAgICByZXR1cm4gQ3J5cHRvSlMuU0hBMjU2KHN0cikudG9TdHJpbmcoKTtcXFxcbn1cXFxcblxcXFxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcXFxcbmxldCBpZD1NWV9VUkwuc3BsaXQoJyMjJylbM107XFxcXG5sZXQgcD1NWV9VUkwuc3BsaXQoJyMjJylbMV07XFxcXG5sZXQgeiA9IE1ZX1VSTC5zcGxpdCgnIyMnKVsyXTtcXFxcbmxldCBkYXRhMD0ne1xcXFxcXFwidGFiX2lkXFxcXFxcXCI6XFxcXFxcXCInK2lkKydcXFxcXFxcIixcXFxcXFxcImxpbWl0XFxcXFxcXCI6XFxcXFxcXCIzMFxcXFxcXFwiLFxcXFxcXFwicGFnZVxcXFxcXFwiOlxcXFxcXFwiJytwKydcXFxcXFxcIixcXFxcXFxcInNvcnRcXFxcXFxcIjpcXFxcXFxcIicreisnXFxcXFxcXCIsXFxcXFxcXCJvYXV0aF9pZFxcXFxcXFwiOlxcXFxcXFwiYWFhOTM5ZjI3NDhhMjVlMzhkNDJlN2Q1MDBiMDVjMDFcXFxcXFxcIixcXFxcXFxcImJ1bmRsZV9pZFxcXFxcXFwiOlxcXFxcXFwiY29tLjdkdS5jbi5vcmdcXFxcXFxcIixcXFxcXFxcInZlcnNpb25cXFxcXFxcIjpcXFxcXFxcIjIuMC41XFxcXFxcXCIsXFxcXFxcXCJvYXV0aF90eXBlXFxcXFxcXCI6XFxcXFxcXCJ3ZWJcXFxcXFxcIixcXFxcXFxcImxhbmd1YWdlXFxcXFxcXCI6XFxcXFxcXCJ6aFxcXFxcXFwifSdcXFxcbi8vbG9nKGRhdGEwKVxcXFxudmFyIGRhdGEgPSBFbmNyeXB0KGRhdGEwKTsgXFxcXG4vL2xvZyhkYXRhKVxcXFxudmFyIHNpZ24gPSBtZDUoc2hhMjU2KCdkYXRhPScrZGF0YSsnJnRpbWVzdGFtcD0nK3QrJ05RWVQzZVNzWEc1MldQRFMnKSk7IC8vbG9nKHNpZ24pXFxcXG52YXIgYm9keSA9ICd0aW1lc3RhbXA9Jyt0KycmZGF0YT0nK2RhdGErJyZzaWduPScrc2lnbjsgXFxcXG4vL2xvZyhib2R5KVxcXFxudmFyIHVybCA9ICdodHRwczovL2xveWFwaTAyLnhpbmdxdTIwMC5jb20vYXBpLnBocGFwaS90YWJuZXcvbGlzdF90YWJfbXYnO1xcXFxudmFyIGh0bWwgPSBmZXRjaCh1cmwsIHtcXFxcbiAgICBoZWFkZXJzOiB7XFxcXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXFxcXG4gICAgfSxcXFxcbiAgICBib2R5OiBib2R5LFxcXFxuICAgIG1ldGhvZDogJ1BPU1QnXFxcXG59KTsgXFxcXG4vL2xvZyhodG1sKVxcXFxuXFxcXG5sZXQgaHRtbDEgPSBKU09OLnBhcnNlKGh0bWwpLmRhdGE7IFxcXFxuLy9sb2coaHRtbDEpXFxcXG5sZXQgaHRtbDIgPSBEZWNyeXB0KGh0bWwxKTsgXFxcXG4vL2xvZyhodG1sMilcXFxcblxcXFxudmFyIGxpc3QgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmxpc3Q7XFxcXG4vL2xvZyhsaXN0KTtcXFxcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXFxcbiAgICB2YXIgdXJsID0gZGF0YS5wbGF5X3VybDtcXFxcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2Uv5pe26Ze05oiz6L2s5o2iJykpLnJ1bGUpO1xcXFxuICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXFxcXG4gICAgICAgICAgICBkZXNjOiAgdGltZXN0YW1wVG9UaW1lKGRhdGEucmVmcmVzaF9hdCwxKSsnXFxcXFxcXFx0XFxcXFxcXFx0XFxcXFxcXFx0XFxcXFxcXFx0JytwYXJzZUludChkYXRhLmR1cmF0aW9uLzYwKSsnOicrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbiU2MCksXFxcXG4gICAgICAgICAgIGltZzogZGF0YS5jb3Zlcl90aHVtYl91cmwgKyBsYXp5LFxcXFxuICAgICAgICAgICAvLyBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgKyAnQGpzPScgKyBpbWdEZWMoa2V5LCBpdiwgJ0FFUycpLCxcXFxcbiAgICAgICAgICAgIHVybDogdXJsLnJlcGxhY2UoL1xcXFxcXFxcL1xcXFxcXFxcLy4qcGxheVxcXFxcXFxcLi8sJy8vbG9uZy4nKVxcXFxuICAgICAgICB9KVxcXFxuICAgIH0pXFxcXG5cXFxcbnNldFJlc3VsdChkKVxcXCJ9XVwifSIsInBpY1VybCI6Imh0dHBzOi8vbmV3LmZhbnpoZXdlbmh1YS54eXovdXBsb2FkL2Fkcy8yMDIzMDgyNi8yMDIzMDgyNjEyNDU1MjUyNDM4LnBuZ0Bqcz0kLmhpa2VyLk1ZX1RJVExFID0gXCLwn6qQ5pqX572R6Kej5a+G8J+qkFwiOyhcbigpID0+IHtcbiAgICBjb25zdCBDcnlwdG9VdGlsID0gJC5yZXF1aXJlKFwiaGlrZXI6Ly9hc3NldHMvY3J5cHRvLWphdmEuanNcIik7XG4gICAgbGV0IGtleSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZVVURjgoXCJmNWQ5NjVkZjc1MzM2MjcwXCIpO1xuICAgIGxldCBpdiA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZVVURjgoXCI5N2I2MDM5NGFiYzJmYmUxXCIpO1xuICAgIGxldCB0ZXh0RGF0YSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZUlucHV0U3RyZWFtKGlucHV0KTtcbiAgICBsZXQgZW5jcnlwdGVkID0gQ3J5cHRvVXRpbC5BRVMuZGVjcnlwdCh0ZXh0RGF0YSwga2V5LCB7bW9kZTogXCJBRVMvQ0JDL1BLQ1M3UGFkZGluZ1wiLCBpdjogaXZ9KTtcbiAgICByZXR1cm4gZW5jcnlwdGVkLnRvSW5wdXRTdHJlYW0oKTtcbn1cbikoKSIsInRpdGxlIjoi5pat6KKW55S35ZCMIn0=
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement