xiaomianao666

小程序:𝐒𝐮𝐩𝐣𝐚𝐯

Dec 5th, 2024
620
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@𝐒𝐮𝐩𝐣𝐚𝐯@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi8J2QkvCdkK7wnZCp8J2Qo/CdkJrwnZCvIiwiYXV0aG9yIjoiUiIsInVybCI6Imhpa2VyOi8vZW1wdHkjI2h0dHBzOi8vc3VwamF2LmNvbS96aC8jI2Z5cGFnZSIsInZlcnNpb24iOjIwMjQxMjA1LCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG5hZGRMaXN0ZW5lcihcIm9uQ2xvc2VcIiwgKCkgPT4ge1xuICAgIGNsZWFyTXlWYXIoXCJuZXh0UGFnZVwiKTtcbn0pO1xuLypcbmFkZExpc3RlbmVyKFwib25SZWZyZXNoXCIsICgpID0+IHtcbiAgICBjbGVhck15VmFyKFwibmV4dFBhZ2VcIik7XG59KTtcbiovXG52YXIgZCA9IFtdXG52YXIgcmVzID0gW11cbk1ZX1VSTCA9IE1ZX1VSTC5zcGxpdChcIiMjXCIpWzFdXG5sZXQgdHJ1ZV91cmwgPSBnZXRNeVZhcihcInVybFwiLCBNWV9VUkwpO1xubGV0IG5leHRQYWdlID0gZ2V0TXlWYXIoXCJuZXh0UGFnZVwiLCBcIlwiKTtcbmlmIChuZXh0UGFnZSAmJiBNWV9QQUdFID4gMSkge1xuICAgIHRydWVfdXJsID0gbmV4dFBhZ2U7XG59IGVsc2UgaWYgKE1ZX1BBR0UgPiAxKSB7XG4gICAgICAgICAgICB0cnVlX3VybCA9IFwi5rKh5pyJ5LiL5LiA6aG15ZOm8J+YkVwiXG4gICAgICAgIH1cbnZhciBodG1sID0gZmV0Y2godHJ1ZV91cmwsSlNPTi5wYXJzZShnZXRNeVZhcignaGVhZGVycycpKSlcbmxvZyh0cnVlX3VybClcbi8vbG9nKGh0bWwpXG50cnkge1xuICAgIGxldCBuZXh0VXJsID0gcGQoaHRtbCwgXCIucGFnaW5hdGlvbiYmLmFjdGl2ZStsaSYmYSYmaHJlZlwiKTtcbiAgICBwdXRNeVZhcihcIm5leHRQYWdlXCIsIG5leHRVcmwpO1xufSBjYXRjaCAoZSkge1xuICAgIGNsZWFyTXlWYXIoXCJuZXh0UGFnZVwiKTtcbiAgIC8vIHRvYXN0KFwi5aW95YOP5rKh5pyJ5LiL5LiA6aG15LqG77yBXCIpO1xufVxuXG5mdW5jdGlvbiBnZXRIZWFkKHRpdGxlLGNvbG9yKSB7XG4gICAgICAgIHJldHVybiAn4oCY4oCY4oCZ4oCZPHN0cm9uZz48Zm9udCBjb2xvcj1cIicgKyBjb2xvciArICdcIj4nICsgdGl0bGUgKyAnPC9mcm9udD48L3N0cm9uZz4nO1xuICAgICAgICAgfVxuXG4kLnJlcXVpcmUoXCJjYXRlZ29yeVwiKSgpXG5cbmlmICggdHJ1ZV91cmwgPT1cImh0dHBzOi8vc3VwamF2LmNvbS96aC9cIiApe1xuaWYgKE1ZX1BBR0UgPT0gMSkge1xuJC5yZXF1aXJlKFwiaG9tZVwiKVxufVxufSBlbHNlIGlmICgvdGFnfG1ha2VyfGNhc3QvLnRlc3QodHJ1ZV91cmwpKSB7XG4kLnJlcXVpcmUoXCJ0YWJzXCIpXG59IGVsc2Uge1xuJC5yZXF1aXJlKFwibGlzdFwiKSgpXG59XG5zZXRQcmVSZXN1bHQocmVzKVxuc2V0UmVzdWx0KGQpIiwic2VhcmNoX3VybCI6Imh0dHBzOi8vc3VwamF2LmNvbS96aC9wYWdlL2Z5cGFnZT9zPSoqIiwiZ3JvdXAiOiLikaHnlJ8iLCJzZWFyY2hGaW5kIjoianM6XG4kLnJlcXVpcmUoXCJ5aVwiKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6ImlmICghZ2V0TXlWYXIoJ2hlYWRlcnMnKSl7XG5wdXRNeVZhcignaGVhZGVycycse2hlYWRlcnM6e1wiQ29va2llXCI6XCJjZl9jbGVhcmFuY2U9M1N3bi5JemNhUTdnZXBjTUhvS2ttTTNic19KMjZ4LkJXVzZIQlRsVXR6MC0xNzA1MjY2MDMwLTAtMi1hNjU5YjM4Yy42MzljODVkYy5mMTU4ZWM2Yy0xNjAuMi4xNzA1MjY2MDMwXCIsXCJVc2VyLUFnZW50XCI6XCJNb3ppbGxhLzUuMCAoaVBob25lOyBDUFUgaVBob25lIE9TIDE2XzRfMSBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDUuMS4xNSAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vMTYuNCBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMVwiLFwiUmVmZXJlclwiOlwiaHR0cHM6Ly9zdXBqYXYuY29tL1wifX0pXG59IiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWIhuexu1wiLFwicGF0aFwiOlwiY2F0ZWdvcnlcIixcInJ1bGVcIjpcIiQuZXhwb3J0cyA9ICgpID0+IHtcXG5hZGRMaXN0ZW5lcihcXFwib25DbG9zZVxcXCIsICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgY2xlYXJNeVZhcihcXFwic29ydFxcXCIpOyAgIFxcbiAgICAgICAgY2xlYXJNeVZhcihcXFwicGFnaVxcXCIpOyAgIFxcbiAgICAgICAvLyBjbGVhck15VmFyKFxcXCJ1cmxcXFwiKTsgICBcXG59KSk7XFxuYWRkTGlzdGVuZXIoXFxcIm9uUmVmcmVzaFxcXCIsICgpID0+IHtcXG4gICAgICAgIGNsZWFyTXlWYXIoXFxcInNvcnRcXFwiKTsgICBcXG4gICAgICAgIGNsZWFyTXlWYXIoXFxcInBhZ2lcXFwiKTsgICBcXG4gICAgICAgIGNsZWFyTXlWYXIoXFxcInVybFxcXCIpOyAgIFxcbiAgICAgICAgY2xlYXJNeVZhcihcXFwidGFiXFxcIik7ICAgXFxufSk7XFxuXFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICByZXMucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIvCflI1cXFwiLFxcbiAgICAgICAgdXJsOiAkLnRvU3RyaW5nKChyKSA9PiB7XFxuICAgICAgICAgICAgcHV0TXlWYXIoJ2tleXdvcmQnLCBpbnB1dCk7XFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL3NlYXJjaD9ydWxlPScgKyByICsgJyZzPScgKyBpbnB1dDtcXG4gICAgICAgIH0sIE1ZX1JVTEUudGl0bGUpLFxcbiAgICAgICAgZGVzYzogJ+abvue7j+ayp+a1t+mavuS4uuawtCzpmaTljbTlt6vlsbHkuI3mmK/kupEnLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJpbnB1dFxcXCIsXFxuICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZ2V0TXlWYXIoJ2tleXdvcmQnLCAnJykgfHwgXFxcIlxcXCIsXFxuICAgICAgICB9XFxuICAgIH0pO1xcbiAgICAgICAgdmFyIHRhYnMgPSBwZGZhKGh0bWwsIFxcXCIubmF2JiZsaTpub3QobGk6aGFzKC5zdWItbWVudSkpOm5vdCg6aGFzKGFbdGFyZ2V0XSkpOm5vdCg6aGFzKGFbdGl0bGVdKSlcXFwiKTtcXG4gICBmb3IgKHZhciBpIGluIHRhYnMpIHtcXG4gICAgICAgIHZhciB0aXRsZSA9IHBkZmgodGFic1tpXSwnVGV4dCcpXFxuICAgICAgICByZXMucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGdldE15VmFyKCd0YWInLCAnMCcpID09IGkgPyBnZXRIZWFkKHRpdGxlLCcjRkY2Njk5JykgOiB0aXRsZSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgICAgIHVybDogcGQodGFic1tpXSwgJ2EmJmhyZWYnKSArICQoXFxcIiNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKCBpKSA9PiB7XFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKCd0YWInLCBpKVxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcihcXFwidXJsXFxcIiwgaW5wdXQpO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgICAgICB9LCBpKVxcbiAgICAgICAgfSlcXG4gICAgaWYgKGk9PTUpIHtcXG4gICAgICAgICByZXMucHVzaCh7XFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJibGFua19ibG9ja1xcXCJcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICB9XFxuICAgICAgICAgcmVzLnB1c2goe1xcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICAgICAgfSlcXG59XFxuICAgICB2YXIgcGFnaW5hdGlvbiA9IHBkZmEoaHRtbCwgXFxcIi5wYWdpbmF0aW9uJiZsaTpub3QoLnByZXYtcGFnZSk6bm90KC5uZXh0LXBhZ2UpXFxcIik7XFxuICAgIHZhciBjdXJyZW50dSA9IHBkZmgoaHRtbCxcXFwibGlua1tocmVmbGFuZz16aF0mJmhyZWZcXFwiKVxcblxcbiAgICB2YXIgZmlyc3R1ID0gY3VycmVudHUucmVwbGFjZSgvXFxcXC9wYWdlXFxcXC9cXFxcZCsvLFxcXCJcXFwiKVxcbiAgICB2YXIgYWN0aXZlID0gY3VycmVudHUubWF0Y2goL1xcXFwvcGFnZVxcXFwvKFxcXFxkKykvKSA/IGN1cnJlbnR1Lm1hdGNoKC9cXFxcL3BhZ2VcXFxcLyhcXFxcZCspLylbMV0gOiAxO1xcbiAgICB2YXIgbGFzdHUgPSBwZGZoKHBhZ2luYXRpb24ucG9wKCksXFxcImEmJmhyZWZcXFwiKSB8fCBjdXJyZW50dVxcbiAgICB2YXIgbGFzdHAgPSBsYXN0dS5tYXRjaCgvXFxcXC9wYWdlXFxcXC8oXFxcXGQrKS8pID8gbGFzdHUubWF0Y2goL1xcXFwvcGFnZVxcXFwvKFxcXFxkKykvKVsxXSA6IDE7XFxuXFxuaWYgKCFjdXJyZW50dS5pbmNsdWRlcyhcXFwicG9wdWxhclxcXCIpKXtcXG4gICAgIGxhc3R1ID0gbGFzdHUucmVwbGFjZSgvXFxcXC9wYWdlXFxcXC9cXFxcZCsvLCBcXFwiL3BhZ2UvXFxcIiArIChsYXN0cCAtIDApKVxcbiAgICAgbGFzdHAgPSBsYXN0cCAtMFxcbn1cXG5cXG52YXIgcGFnaTtcXG4gICAgaWYgKGFjdGl2ZT09MSkge1xcbiAgICAgICBwYWdpID0gMFxcbn0gZWxzZSBpZiAoYWN0aXZlID09IGxhc3RwKSB7XFxuICAgICAgIHBhZ2kgPSAyXFxufSBlbHNlIHtcXG4gICAgICAgcGFnaSA9IDFcXG59XFxuICAgIHZhciB0aXRsZSA9IFtcXFwi6aaWXFxcIixcXFwi6Lez6aG1OlxcXCIgKyBhY3RpdmUsXFxcIuWwvjpcXFwiICsgbGFzdHBdXFxuICAgIHZhciB1cmxzID0gW2ZpcnN0dSxNWV9VUkwsbGFzdHVdXFxuaWYgKCBjdXJyZW50dSAhPT0gXFxcImh0dHBzOi8vc3VwamF2LmNvbS96aC9cXFwiICl7XFxuICAgZm9yICh2YXIgaiBpbiB0aXRsZSkge1xcblxcbiAgICB2YXIgdXJsID0gdXJsc1tqXSArICQoXFxcIiNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKGopID0+IHsgICAgXFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJ1cmxcXFwiLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgIH0sIGopXFxuXFxuICAgIGlmIChqPT0xKSB7XFxuICAgIHVybCA9ICQoJycsJ+mZpOmmlumhteWSjOWwvumhteS5i+WklueahOmhteeggScpLmlucHV0KChsYXN0dSxsYXN0cCk9PntcXG4gICAgICAgIGlmIChwYXJzZUludChpbnB1dCkgPiAxICYmIHBhcnNlSW50KGlucHV0KSA8IHBhcnNlSW50KGxhc3RwKSAmJiBwYXJzZUludChpbnB1dCkgJSAxID09IDApIHtcXG4gICAgICAgICAgICAgICAgdmFyIGp1bXB1ID0gbGFzdHUucmVwbGFjZSgvXFxcXC9wYWdlXFxcXC9cXFxcZCsvLCBcXFwiL3BhZ2UvXFxcIisgaW5wdXQpXFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJ1cmxcXFwiLCBqdW1wdSk7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbn0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/or7fovpPlhaXmraPnoa7nmoTpobXnoIFcXFwifVxcbiAgICAgICAgICAgfSxsYXN0dSxsYXN0cCkgICAgICAgICAgICAgICAgICBcXG4gICAgICB9XFxuXFxuICAgICAgICByZXMucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHBhZ2kgPT0gaiA/IGdldEhlYWQodGl0bGVbal0sJyNGRjY2OTknKSA6IHRpdGxlW2pdLCAgICAgICAgICAgXFxuICAgICAgICAgICAgdXJsOiB1cmwsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJywgICAgICAgICAgICAgICAgIFxcbiAgICAgICAgfSlcXG59fVxcblxcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgIHZhciBzb3R0ID0gY3VycmVudHUucmVwbGFjZSgvLio/KD0oLiopfCQpLyxcXFwiJDJcXFwiKVxcbiAgICAgdmFyIHNvcnQgPSBwZGZhKGh0bWwsIFxcXCIuc29ydCYmYVxcXCIpO1xcbiAgICAgc290dCA9IHNvdHQgPT09IFxcXCJcXFwiID8gcGRmaChzb3J0WzBdLCdUZXh0JykudG9Mb3dlckNhc2UoKSA6IHNvdHQ7XFxuICAgZm9yICh2YXIgaiBpbiBzb3J0KSB7XFxuICAgICAgICB2YXIgdGl0bGUgPSBwZGZoKHNvcnRbal0sJ1RleHQnKVxcbiAgICAgICAgcmVzLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBzb3R0ICA9PSB0aXRsZS50b0xvd2VyQ2FzZSgpID8gZ2V0SGVhZCh0aXRsZSwnI0ZGNjY5OScpIDogdGl0bGUsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICB1cmw6IHBkKHNvcnRbal0sICdhJiZocmVmJykgKyAkKFxcXCIjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKChqKSA9PiB7XFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJ1cmxcXFwiLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgIH0sIGopXFxuICAgICAgICB9KVxcbn1cXG5cXG59XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5YiX6KGoXCIsXCJwYXRoXCI6XCJsaXN0XCIsXCJydWxlXCI6XCIkLmV4cG9ydHMgPSAoKSA9PiB7XFxudmFyIGxpc3QgPSBwZGZhKGh0bWwsIFxcXCIucG9zdHMmJi5wb3N0XFxcIik7XFxubGlzdC5mb3JFYWNoKGl0ZW09PntcXG4gICB2YXIgaW1nID0gcGQoaXRlbSxcXFwiaW1nJiZkYXRhLW9yaWdpbmFsXFxcIik7XFxuICAgdmFyIHRpdGxlID0gcGRmaChpdGVtLFxcXCJhJiZ0aXRsZVxcXCIpLnJlcGxhY2UoXFxcIlvkuK3mloflrZfluZVdXFxcIixcXFwi8J+HqPCfh7NcXFwiKS5yZXBsYWNlKFxcXCJb5peg56CB56C06KejXVxcXCIsXFxcIvCflKVcXFwiKS5yZXBsYWNlKFxcXCJbNEtdXFxcIixcXFwi8J+WpVxcXCIpLnJlcGxhY2UoXFxcIlvoi7HmloflrZfluZVdXFxcIixcXFwi8J+HuvCfh7hcXFwiKTtcXG4gICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICAgICAgICAgZGVzYzogcGRmaChpdGVtLFxcXCIubWV0YS0tLmRhdGUmJlRleHRcXFwiKSxcXG4gICAgICAgICAgICAgICBpbWc6IGltZy5yZXBsYWNlKC8oaHR0cC4qP1xcXFwuKD86anBnfHdlYnB8cG5nfGpwZWcpKS4qLyxcXFwiJDFcXFwiKSxcXG4gICAgICAgICAgICAgICB1cmw6IHBkZmgoaXRlbSxcXFwiYSYmaHJlZlxcXCIpICsgJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiZXJcXFwiKScsXFxuICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJtb3ZpZV8yXFxcIixcXG4gICAgICAgICAgICAgICBleHRyYToge3BhZ2VUaXRsZTp0aXRsZX1cXG4gICAgICAgICB9KVxcbn0pXFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5qCH562+XCIsXCJwYXRoXCI6XCJ0YWJzXCIsXCJydWxlXCI6XCJ2YXIgZ2V0UmFuZ2VDb2xvcnMgPSBmdW5jdGlvbigpIHtcXG4gICAgcmV0dXJuICcjJyArICgnMDAwMDAnICsgKE1hdGgucmFuZG9tKCkgKiAweDEwMDAwMDAgPDwgMCkudG9TdHJpbmcoMTYpKS5zdWJzdHIoLTYpO1xcbn1cXG52YXIgbGlzdHMgPSBwZGZhKGh0bWwsIFxcXCIuY2F0ZWdvcnlzJiYuY2hpbGRcXFwiKTtcXG5saXN0cy5mb3JFYWNoKGl0ZW09PntcXG4gICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyBwZGZoKGl0ZW0sXFxcImEmJlRleHRcXFwiKS5mb250Y29sb3IoZ2V0UmFuZ2VDb2xvcnMoKSksICAgICAgICAgXFxuICAgICAgICAgICAgICAgdXJsOiBwZGZoKGl0ZW0sXFxcImEmJmhyZWZcXFwiKSArICcjI2Z5cGFnZUBydWxlPWpzOiQucmVxdWlyZShcXFwieWlcXFwiKScsXFxuICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJmbGV4X2J1dHRvblxcXCIsXFxuICAgICAgICAgfSlcXG59KVxcbmQucHVzaCh7Y29sX3R5cGU6IFxcXCJibGFua19ibG9ja1xcXCJ9KVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6aaW6aG1XCIsXCJwYXRoXCI6XCJob21lXCIsXCJydWxlXCI6XCJ2YXIgdGFiMSA9IHBkZmEoaHRtbCwgJ2JvZHkmJi5yZWNvbW1lbmQnKTsgXFxudmFyIHRhYjIgPSBwZGZhKGh0bWwsICdib2R5JiYuY29udGVudHMmJi5jb250ZW50Jyk7IFxcbnZhciB0YWJzID0gdGFiMS5jb25jYXQodGFiMilcXG52YXIgY29udHMgPSB0YWJzXFxuXFxuZm9yICh2YXIgaSA9IDA7IGkgPCBjb250cy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBsaXN0ID0gcGRmYShjb250c1tpXSwgJy5wb3N0cyYmLnBvc3QnKTsgXFxuICAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICc8bWlkZGxlPjxmb250IGNvbG9yPSNGRkE1MDA+JytwZGZoKHRhYnNbaV0sICcuYXJjaGl2ZS10aXRsZSYmVGV4dCcpLnJlcGxhY2UoXFxcIisgTW9yZVxcXCIsXFxcIlxcXCIpKyc8L2ZvbnQ+PC9taWRkbGU+JyxcXG4gICAgICAgIGRlc2M6ICc8bWlkZGxlPjxmb250IGNvbG9yPXJlZD4rXFxcXHRcXFxcdFxcXFx0XFxcXHQgIPCdkIzwnZCo8J2Qq/CdkJ48L2ZvbnQ+PC9taWRkbGU+JyxcXG4gICAgICAgIGltZzogXFxcImh0dHBzOi8vaW1nLnZpbnVhLmNuL2ltYWdlcy9JSWVuWC5wbmdcXFwiLFxcbiAgICAgICAgdXJsOiBwZCh0YWJzW2ldLCdhJiZocmVmJykgKyAnIyNmeXBhZ2VAcnVsZT1qczokLnJlcXVpcmUoXFxcInlpXFxcIiknLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJhdmF0YXJcXFwiLFxcbiAgICAgICAgZXh0cmE6IHtsaW5lVmlzaWJsZTpmYWxzZX1cXG4gICAgfSk7XFxuXFxuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHsgICAgIFxcbiAgdmFyIGltZyA9ICBpID09IDA/IHBkKGxpc3Rbal0sJ2ltZyYmc3JjJykgOiBwZChsaXN0W2pdLCdpbWcmJmRhdGEtb3JpZ2luYWwnKTsgIFxcbiAgdmFyIHRpdGxlID0gcGRmaChsaXN0W2pdLCAnYSYmdGl0bGUnKS5yZXBsYWNlKFxcXCJb5Lit5paH5a2X5bmVXVxcXCIsXFxcIvCfh6jwn4ezXFxcIikucmVwbGFjZShcXFwiW+aXoOeggeegtOino11cXFwiLFxcXCLwn5SlXFxcIikucmVwbGFjZShcXFwiWzRLXVxcXCIsXFxcIvCflqVcXFwiKS5yZXBsYWNlKFxcXCJb6Iux5paH5a2X5bmVXVxcXCIsXFxcIvCfh7rwn4e4XFxcIik7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICBkZXNjOiBwZGZoKGxpc3Rbal0sICcubWV0YS0tLmRhdGUmJlRleHQnKSxcXG4gICAgICAgICAgICAgICAgaW1nOiBpbWcucmVwbGFjZSgvKGh0dHAuKj9cXFxcLig/OmpwZ3x3ZWJwfHBuZ3xqcGVnKSkuKi8sXFxcIiQxXFxcIiksXFxuICAgICAgICAgICAgICAgIHVybDogcGQobGlzdFtqXSwgJ2EmJmhyZWYnKSArICdAcnVsZT1qczokLnJlcXVpcmUoXFxcImVyXFxcIiknLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzInLFxcbiAgICAgICAgICAgICAgICBleHRyYToge3BhZ2VUaXRsZTp0aXRsZX1cXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG4gICAgfVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5LiA57qnXCIsXCJwYXRoXCI6XCJ5aVwiLFwicnVsZVwiOlwianM6XFxuYWRkTGlzdGVuZXIoXFxcIm9uQ2xvc2VcXFwiLCAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIGNsZWFyTXlWYXIoXFxcInlzb3J0XFxcIik7ICAgXFxuICAgICAgICBjbGVhck15VmFyKFxcXCJ5dXJsXFxcIik7ICAgXFxuICAgICAgICBjbGVhck15VmFyKFxcXCJuZXh0UGFnXFxcIik7ICAgXFxufSkpO1xcbnZhciBkID0gW11cXG5NWV9VUkwgPSBnZXRNeVZhcihcXFwieXVybFxcXCIsIE1ZX1VSTC5yZXBsYWNlKC8jI1xcXFxkKy8sXFxcIlxcXCIpKTtcXG5sZXQgbmV4dFBhZyA9IGdldE15VmFyKFxcXCJuZXh0UGFnXFxcIiwgXFxcIlxcXCIpO1xcbmlmIChuZXh0UGFnICYmIE1ZX1BBR0UgPiAxKSB7XFxuICAgIE1ZX1VSTCA9IG5leHRQYWc7XFxufSBlbHNlIGlmIChNWV9QQUdFID4gMSkge1xcbiAgICAgICAgICAgIE1ZX1VSTCA9IFxcXCLmsqHmnInkuIvkuIDpobXlk6bwn5iRXFxcIlxcbiAgICAgICAgfVxcbnZhciBodG1sID0gZmV0Y2goTVlfVVJMKVxcbnRyeSB7XFxuICAgIHZhciBuZXh0VXJsbCA9IHBkKGh0bWwsIFxcXCIubmV4dC1wYWdlJiZhJiZocmVmXFxcIik7XFxuICAgIHB1dE15VmFyKFxcXCJuZXh0UGFnXFxcIiwgbmV4dFVybGwpO1xcbn0gY2F0Y2ggKGUpIHtcXG4gICAgY2xlYXJNeVZhcihcXFwibmV4dFBhZ1xcXCIpO1xcbiAgIC8vIHRvYXN0KFxcXCLlpb3lg4/msqHmnInkuIvkuIDpobXkuobvvIFcXFwiKTtcXG59XFxubG9nKE1ZX1VSTClcXG5cXG4vL2xvZyhcXFwi5LiL5LiA6aG1ICDvvJpcXFwiK25leHRQYWcpXFxuZnVuY3Rpb24gZ2V0SGVhZCh0aXRsZSxjb2xvcikge1xcbiAgICAgICAgcmV0dXJuICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVxcXCInICsgY29sb3IgKyAnXFxcIj4nICsgdGl0bGUgKyAnPC9mcm9udD48L3N0cm9uZz4nO1xcbiAgICAgICAgIH1cXG5cXG5pZihNWV9UWVBFICE9IFxcXCJzZWFyY2hcXFwiKSB7XFxuICAgICB2YXIgcGFnaW5hdGlvbiA9IHBkZmEoaHRtbCwgXFxcIi5wYWdpbmF0aW9uJiZsaTpub3QoLnByZXYtcGFnZSk6bm90KC5uZXh0LXBhZ2UpXFxcIik7XFxuICAgIHZhciBjdXJyZW50dSA9IHBkZmgoaHRtbCxcXFwibGlua1tocmVmbGFuZz16aF0mJmhyZWZcXFwiKVxcblxcbiAgICB2YXIgZmlyc3R1ID0gY3VycmVudHUucmVwbGFjZSgvXFxcXC9wYWdlXFxcXC9cXFxcZCsvLFxcXCJcXFwiKVxcbiAgICB2YXIgYWN0aXZlID0gY3VycmVudHUubWF0Y2goL1xcXFwvcGFnZVxcXFwvKFxcXFxkKykvKSA/IGN1cnJlbnR1Lm1hdGNoKC9cXFxcL3BhZ2VcXFxcLyhcXFxcZCspLylbMV0gOiAxO1xcbiAgICB2YXIgbGFzdHUgPSBwZGZoKHBhZ2luYXRpb24ucG9wKCksXFxcImEmJmhyZWZcXFwiKSB8fCBjdXJyZW50dVxcbiAgICB2YXIgbGFzdHAgPSBsYXN0dS5tYXRjaCgvXFxcXC9wYWdlXFxcXC8oXFxcXGQrKS8pID8gbGFzdHUubWF0Y2goL1xcXFwvcGFnZVxcXFwvKFxcXFxkKykvKVsxXSA6IDE7XFxuXFxudmFyIHBhZ2k7XFxuICAgIGlmIChhY3RpdmU9PTEpIHtcXG4gICAgICAgcGFnaSA9IDBcXG59IGVsc2UgaWYgKGFjdGl2ZSA9PSBsYXN0cCkge1xcbiAgICAgICBwYWdpID0gMlxcbn0gZWxzZSB7XFxuICAgICAgIHBhZ2kgPSAxXFxufVxcbiAgICB2YXIgdGl0bGUgPSBbXFxcIummllxcXCIsXFxcIui3s+mhtTpcXFwiICsgYWN0aXZlLFxcXCLlsL7pobU6XFxcIiArIGxhc3RwXVxcbiAgICB2YXIgdXJscyA9IFtmaXJzdHUsTVlfVVJMLGxhc3R1XVxcbmlmICggY3VycmVudHUgIT09IFxcXCJodHRwczovL3N1cGphdi5jb20vemgvXFxcIiApe1xcbiAgIGZvciAodmFyIGogaW4gdGl0bGUpIHtcXG5cXG4gICAgdmFyIHVybCA9IHVybHNbal0gKyAkKFxcXCIjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKChqKSA9PiB7ICAgIFxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcihcXFwieXVybFxcXCIsIGlucHV0KTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgfSwgailcXG5cXG4gICAgaWYgKGo9PTEpIHtcXG4gICAgdXJsID0gJCgnJywn6Zmk6aaW6aG15ZKM5bC+6aG15LmL5aSW55qE6aG156CBJykuaW5wdXQoKGxhc3R1LGxhc3RwKT0+e1xcbiAgICAgICAgaWYgKHBhcnNlSW50KGlucHV0KSA+IDEgJiYgcGFyc2VJbnQoaW5wdXQpIDwgcGFyc2VJbnQobGFzdHApICYmIHBhcnNlSW50KGlucHV0KSAlIDEgPT0gMCkge1xcbiAgICAgICAgICAgICAgICB2YXIganVtcHUgPSBsYXN0dS5yZXBsYWNlKC9cXFxcL3BhZ2VcXFxcL1xcXFxkKy8sIFxcXCIvcGFnZS9cXFwiKyBpbnB1dClcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoXFxcInl1cmxcXFwiLCBqdW1wdSk7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbn0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/or7fovpPlhaXmraPnoa7nmoTpobXnoIFcXFwifVxcbiAgICAgICAgICAgfSxsYXN0dSxsYXN0cCkgICAgICAgICAgICAgICAgICBcXG4gICAgICB9XFxuXFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBwYWdpID09IGogPyBnZXRIZWFkKHRpdGxlW2pdLCcjRkY2Njk5JykgOiB0aXRsZVtqXSwgICAgICAgICAgIFxcbiAgICAgICAgICAgIHVybDogdXJsLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsICAgICAgICAgICAgICAgICBcXG4gICAgICAgIH0pXFxufX1cXG59XFxuXFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICAgdmFyIHNvcnQgPSBwZGZhKGh0bWwsIFxcXCIuc29ydCYmYVxcXCIpO1xcbiAgIGZvciAodmFyIGogaW4gc29ydCkge1xcbiAgICAgICAgdmFyIHRpdGxlID0gcGRmaChzb3J0W2pdLCdUZXh0JylcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGdldE15VmFyKCd5c29ydCcsICcwJykgPT0gaiA/IGdldEhlYWQodGl0bGUsJyNGRjY2OTknKSA6IHRpdGxlLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgdXJsOiBwZChzb3J0W2pdLCAnYSYmaHJlZicpICsgJChcXFwiI25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgoaikgPT4ge1xcbiAgICAgICAgICAgICAgICBwdXRNeVZhcigneXNvcnQnLCBqKVxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcihcXFwieXVybFxcXCIsIGlucHV0KTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgfSwgailcXG4gICAgICAgIH0pXFxufVxcbn1cXG5cXG52YXIgbGlzdCA9IHBkZmEoaHRtbCwgXFxcIi5wb3N0cyYmLnBvc3RcXFwiKTtcXG5saXN0LmZvckVhY2goaXRlbT0+e1xcbiAgIHZhciBpbWcgPSBwZChpdGVtLFxcXCJpbWcmJmRhdGEtb3JpZ2luYWxcXFwiKTtcXG4gICB2YXIgdGl0bGUgPSBwZGZoKGl0ZW0sXFxcImEmJnRpdGxlXFxcIikucmVwbGFjZShcXFwiW+S4reaWh+Wtl+W5lV1cXFwiLFxcXCLwn4eo8J+Hs1xcXCIpLnJlcGxhY2UoXFxcIlvml6DnoIHnoLTop6NdXFxcIixcXFwi8J+UpVxcXCIpLnJlcGxhY2UoXFxcIls0S11cXFwiLFxcXCLwn5alXFxcIikucmVwbGFjZShcXFwiW+iLseaWh+Wtl+W5lV1cXFwiLFxcXCLwn4e68J+HuFxcXCIpO1xcbiAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgICAgICAgICBkZXNjOiBwZGZoKGl0ZW0sXFxcIi5tZXRhLS0uZGF0ZSYmVGV4dFxcXCIpLFxcbiAgICAgICAgICAgICAgIGltZzogaW1nLnJlcGxhY2UoLyhodHRwLio/XFxcXC4oPzpqcGd8d2VicHxwbmd8anBlZykpLiovLFxcXCIkMVxcXCIpLFxcbiAgICAgICAgICAgICAgIHVybDogcGRmaChpdGVtLFxcXCJhJiZocmVmXFxcIikgKyAnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJlclxcXCIpJyxcXG4gICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcIm1vdmllXzJcXFwiLFxcbiAgICAgICAgICAgICAgIGV4dHJhOiB7cGFnZVRpdGxlOnRpdGxlfVxcbiAgICAgICAgIH0pXFxufSlcXG5cXG5zZXRSZXN1bHQoZClcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuS6jOe6p1wiLFwicGF0aFwiOlwiZXJcIixcInJ1bGVcIjpcImpzOiB2YXIgZCA9IFtdXFxuTVlfVVJMID0gTVlfVVJMLnJlcGxhY2UoJ2hpa2VyOi8vZW1wdHkjIycsICcnKTtcXG5sb2coTVlfVVJMKVxcbnZhciBodG1sID0gZmV0Y2goTVlfVVJMKTtcXG5cXG5ldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9sYXp5Jywge30pKVxcbiAgICAucnVsZSk7XFxuXFxudmFyIHRpdGxlID0gcGRmaChodG1sLCAnLmFyY2hpdmUtdGl0bGUmJlRleHQnKVxcbiAgICAucmVwbGFjZShcXFwiW+S4reaWh+Wtl+W5lV1cXFwiLCBcXFwi8J+HqPCfh7NcXFwiKVxcbiAgICAucmVwbGFjZShcXFwiW+aXoOeggeegtOino11cXFwiLCBcXFwi8J+UpVxcXCIpXFxuICAgIC5yZXBsYWNlKFxcXCJbNEtdXFxcIiwgXFxcIvCflqVcXFwiKVxcbiAgICAucmVwbGFjZShcXFwiW+iLseaWh+Wtl+W5lV1cXFwiLCBcXFwi8J+HuvCfh7hcXFwiKTtcXG52YXIg6K+G5Yir56CBID0gdGl0bGUubWF0Y2goL1xcXFx3Kyg/Oi18XylcXFxcdysoPzpcXFxccytcXFxcZCspP3xcXFxcdysoPyFcXFxcbilcXFxccytcXFxcdysvKVswXVxcbmlmICh0aXRsZSAhPT0gbnVsbCkge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfigJzigJzigJ3igJ08c21hbGw+PGZvbnQgY29sb3I9I2U1N2ExYT4nICsgdGl0bGUgKyAnPC9mb250Pjwvc21hbGw+JyxcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiICsgJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgodGl0bGUpID0+IHtcXG50aXRsZSA9IHRpdGxlLnJlcGxhY2UoL0ZDMlBQVlxcXFxzXFxcXGQrLyxcXFwiXFxcIikucmVwbGFjZSgvXFxcXHcrLVxcXFxkK1xcXFxzLyxcXFwiXFxcIilcXG4vL+WKqOaAgeWIt+aWsFxcbnZhciBkZXNjID0gZmluZEl0ZW0oJ3RyYW5zZGVzYycpLmRlc2NcXG4gICAgICAgICAgaWYoIWRlc2Mpe1xcbiAgICB2YXIgdHJhbnNsYXRlcyA9ICQucmVxdWlyZShcXFwidHJhbnNcXFwiKS50cmFuc2xhdGUodGl0bGUpXFxuICAgICAgdXBkYXRlSXRlbShcXFwidHJhbnNkZXNjXFxcIix7XFxuICAgICAgICAgIGRlc2M6ICfigJzigJzigJ3igJ0nK3RyYW5zbGF0ZXMuZm9udGNvbG9yKFxcXCJyZWRcXFwiKSxcXG59KVxcbn1lbHNle1xcbnVwZGF0ZUl0ZW0oXFxcInRyYW5zZGVzY1xcXCIse1xcbiAgICAgICAgICBkZXNjOiAnJyxcXG59KVxcbn0gICAgICAgXFxuICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIgICAgICBcXG4vKiAgICAgICBcXG4gICAgICAgICAgdmFyIHRyYW5zbGF0ZXMgPSAkLnJlcXVpcmUoXFxcInRyYW5zXFxcIikudHJhbnNsYXRlKHRpdGxlKSAgIFxcbiAgICAgICAgICByZXR1cm4gXFxcImNvbmZpcm06Ly9cXFwiICsgdHJhbnNsYXRlcyArIFxcXCIuanM6J2hpa2VyOi8vZW1wdHknIFxcXCIgICAqL1xcbiAgICAgICAgICAgICAgICB9LHRpdGxlKSxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgaWQ6ICd0cmFuc2Rlc2MnLFxcbiAgICAgICAgICAgICAgICBsb25nQ2xpY2s6IFt7dGl0bGU6ICfnvZHpobUnLCBqczogJC50b1N0cmluZygoKT0+eyBcXG4gICAgICAgIHJldHVybiBcXFwid2ViOi8vXFxcIiArIE1ZX1VSTFxcbiAgICAgICAgICAgICAgICAgICAgICAgfSl9LHt0aXRsZTogJ+WkjeWIticsIGpzOiAkLnRvU3RyaW5nKCh0aXRsZSk9PnsgXFxuICAgICAgICByZXR1cm4gXFxcImNvcHk6Ly9cXFwiICsgdGl0bGU7XFxuICAgICAgICAgICAgICAgICAgICAgICB9LHRpdGxlKX0se3RpdGxlOiAn55m+5bqm57+76K+RJywganM6ICQudG9TdHJpbmcoKHRpdGxlKT0+eyBcXG4gICAgICAgIHJldHVybiBcXFwieDU6Ly9odHRwczovL2ZhbnlpLmJhaWR1LmNvbS8janAvemgvXFxcIiArIHRpdGxlXFxuICAgICAgICAgICAgICAgICAgICAgICB9LHRpdGxlKX0se3RpdGxlOiAnRGVlcGznv7vor5EnLCBqczogJC50b1N0cmluZygodGl0bGUpPT57IFxcbiAgICAgICAgcmV0dXJuIFxcXCJ4NTovL2h0dHBzOi8vd3d3LmRlZXBsLmNvbS96aC90cmFuc2xhdG9yLW1vYmlsZSNqYS96aC9cXFwiICsgdGl0bGVcXG4gICAgICAgICAgICAgICAgICAgICAgIH0sdGl0bGUpfSx7dGl0bGU6ICfosLfmrYznv7vor5EnLCBqczogJC50b1N0cmluZygodGl0bGUpPT57IFxcbiAgICAgICAgcmV0dXJuIFxcXCJ4NTovL2h0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20vP2hsPXpoLUNOJnNsPWphJnRsPXpoLUNOJnRleHQ9XFxcIiArIHRpdGxlXFxuICAgICAgICAgICAgICAgICAgICAgICB9LHRpdGxlKX1dXFxufVxcbiAgICB9KVxcbn1cXG5cXG52YXIgaW1nID0gcGQoaHRtbCwgXFxcIi5wb3N0LW1ldGEmJmltZyYmc3JjXFxcIik7XFxuaWYgKGltZyAhPT0gbnVsbCkge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgaW1nOiBpbWcsXFxuICAgICAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5XFxcIixcXG4gICAgICAgIGNvbF90eXBlOiAncGljXzFfZnVsbCcsXFxuICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgIGxvbmdDbGljazogW3tcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICflpI3liLblm77niYcnLFxcbiAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoaW1nKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImNvcHk6Ly9cXFwiICsgaW1nXFxuICAgICAgICAgICAgICAgIH0sIGltZylcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5omT5byA5Zu+54mHJyxcXG4gICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKGltZykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGltZ1xcbiAgICAgICAgICAgICAgICB9LCBpbWcpXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+S4i+i9veWbvueJhycsXFxuICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKChpbWcpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiZG93bmxvYWQ6Ly9cXFwiICsgaW1nXFxuICAgICAgICAgICAgICAgIH0sIGltZylcXG4gICAgICAgICAgICB9XVxcbiAgICAgICAgfVxcbiAgICB9KTtcXG59XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfigJzigJzigJ3igJ08c3BhbiBzdHlsZT1cXFwiY29sb3I6IFxcXCI+PHNtYWxsPvCdkJLwnZCE8J2QkfCdkJXwnZCE8J2QkSDvvJrlt7LlsY/olL1KUEHnrYnml6DnlKjnur/ot688L3NtYWxsPjwvc3Bhbj4nLFxcbiAgICB1cmw6IOivhuWIq+eggSArICQoJyNub0xvYWRpbmcjJylcXG4gICAgICAgIC5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vcGFnZS95aj9ydWxlPfCdkInwnZCa8J2Qr/CdkIPwnZCBJnVybD1cXFwiICsgZ2V0UHVibGljSXRlbSgnamF2ZGIwJywgJ2h0dHBzOi8vamF2ZGIuY29tJykgKyBcXFwiL3NlYXJjaO+8n++8n2Y9YWxs77yG77yGcGFnZT1meXBhZ2XvvIbvvIZxPVxcXCIgKyBpbnB1dFxcbiAgICB9KSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgbGluZVZpc2libGU6IGZhbHNlLFxcbiAgICAgICAgcGFnZVRpdGxlOiDor4bliKvnoIFcXG4gICAgfVxcbn0pO1xcblxcbi8v5bey57uP6Kej5p6Q55qE57q/6LevXFxudmFyIFBsYXlsaW5lZCA9IFtcXFwiVFZcXFwiLCBcXFwiRlNUXFxcIiwgXFxcIlNUXFxcIiwgXFxcIlZPRVxcXCIsIFxcXCJEU1xcXCIsIFxcXCJTdHJlYW10YXBlXFxcIiwgXFxcIlZUVVxcXCJdXFxuXFxubGV0IGJ0bnMgPSBwZGZhKGh0bWwsICcuYnRucyYmLmJ0bnN0JylcXG5pZiAoYnRucy5sZW5ndGggPT0gMSkge1xcbiAgICBidG5zdCA9IHBkZmEoYnRuc1swXSwgJ2JvZHkmJmRpdicpXFxufSBlbHNlIHtcXG4gICAgYnRuc3QgPSBwZGZhKGJ0bnNbMV0sICdib2R5JiYuY2Qtc2VydmVyJylcXG59XFxuYnRuc3QuZm9yRWFjaCgoY2RzLCBpbmRleCkgPT4ge1xcbiAgICBsZXQgc2VydmVyID0gcGRmYShjZHMsICdib2R5JiZhOm5vdCg6bWF0Y2hlcyhKUEF8SlN8U1NCfE5TfE1peGRyb3B8TmluamFTdHJlYW18TUR8R29VbmxpbWl0ZWQpKScpOyAvL+Wxj+iUvee6v+i3r/CfiLLwn4iy8J+IsvCfiLLwn4iy8J+IslxcbiAgICBpZiAoYnRuc3QubGVuZ3RoID4gMSkge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyBcXFwiQ0RcXFwiLmJvbGQoKVxcbiAgICAgICAgICAgICAgICAuZm9udGNvbG9yKFxcXCIjOEEyQkUyXFxcIikgKyAoaW5kZXggKyAxKVxcbiAgICAgICAgICAgICAgICAudG9TdHJpbmcoKVxcbiAgICAgICAgICAgICAgICAuYm9sZCgpXFxuICAgICAgICAgICAgICAgIC5mb250Y29sb3IoXFxcIiM4QTJCRTJcXFwiKSArIFxcXCI6XFxcIi5mb250Y29sb3IoXFxcIiM4QTJCRTJcXFwiKSxcXG4gICAgICAgICAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5XFxcIixcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgc2VydmVyLmZvckVhY2goKGxpc3QsIGluZGV4KSA9PiB7XFxuICAgICAgICB2YXIgdGl0bGUgPSBwZGZoKGxpc3QsICdUZXh0Jyk7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBQbGF5bGluZWQuaW5kZXhPZih0aXRsZSkgPj0gMCA/ICfigJzigJzigJ3igJ0nICsgJ/Cfl68nLmZvbnRjb2xvcihcXFwiIzI3NzY4NlxcXCIpICsgdGl0bGUuYm9sZCgpXFxuICAgICAgICAgICAgICAgIC5mb250Y29sb3IoXFxcIiMyNzc2ODZcXFwiKSArICfwn5evJy5mb250Y29sb3IoXFxcIiMyNzc2ODZcXFwiKSA6ICfwn5ev4oCc4oCc4oCd4oCdJyArIHRpdGxlLmJvbGQoKSArICfwn5evJyxcXG4gICAgICAgICAgICB1cmw6IHBkZmgobGlzdCwgJ2EmJmRhdGEtbGluaycpICsgbGF6eSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgfSk7XFxuICAgIH0pXFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJ1xcbiAgICB9KVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6IFxcXCJiaWdfYmxhbmtfYmxvY2tcXFwiXFxufSlcXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogXFxcImxpbmVfYmxhbmtcXFwiXFxufSlcXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogXFxcImJpZ19ibGFua19ibG9ja1xcXCJcXG59KVxcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiBcXFwiYmlnX2JsYW5rX2Jsb2NrXFxcIlxcbn0pXFxuXFxubGV0IGluZm8gPSBwZGZhKGh0bWwsICcucG9zdC1tZXRhJiYuY2F0cyYmYScpO1xcbmluZm8uZm9yRWFjaCgobGlzdCwgaW5kZXgpID0+IHtcXG4gICAgdmFyIHRpdGxlID0gcGRmaChsaXN0LCAnVGV4dCcpO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGluZGV4ID09IDEgPyAn4oCY4oCYTWFrZXI64oCZ4oCZJyArIHRpdGxlIDogKGluZGV4ID4gMSA/ICfigJjigJhDYXN0OuKAmeKAmScgKyB0aXRsZSA6IHRpdGxlKSxcXG4gICAgICAgIHVybDogcGQobGlzdCwgJ2EmJmhyZWYnKSArICcjI2Z5cGFnZUBydWxlPWpzOiQucmVxdWlyZShcXFwieWlcXFwiKScsXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBwYWdlVGl0bGU6IHRpdGxlXFxuICAgICAgICB9XFxuICAgIH0pO1xcbiAgICBpZiAoaW5kZXggPT0gMSkge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgfSlcXG4gICAgfVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6IFxcXCJsaW5lX2JsYW5rXFxcIlxcbn0pXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6IFxcXCJiaWdfYmxhbmtfYmxvY2tcXFwiXFxufSlcXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbn0pXFxubGV0IHRhZ3MgPSBwZGZhKGh0bWwsICcucG9zdC1tZXRhJiYudGFncyYmYScpO1xcbnRhZ3MuZm9yRWFjaCgobGlzdCwgaW5kZXgpID0+IHtcXG4gICAgdmFyIHRpdGxlID0gcGRmaChsaXN0LCAnVGV4dCcpO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfigJzigJwnICsgdGl0bGUgKyAn4oCd4oCdJyxcXG4gICAgICAgIHVybDogcGQobGlzdCwgJ2EmJmhyZWYnKSArICcjI2Z5cGFnZUBydWxlPWpzOiQucmVxdWlyZShcXFwieWlcXFwiKScsXFxuICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJyxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgcGFnZVRpdGxlOiB0aXRsZVxcbiAgICAgICAgfVxcbiAgICB9KTtcXG59KVxcblxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAnPHNwYW4gc3R5bGU9XFxcImNvbG9yOiAjRkZGRkZGO1xcXCI+8J2QmPCdkKjwnZCuIPCdkIzwnZCa8J2QsiDwnZCA8J2QpfCdkKzwnZCoIPCdkIvwnZCi8J2QpPCdkJ48L3NwYW4+JyxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnXFxufSk7XFxuXFxudmFyIGxpc3QgPSBwZGZhKGh0bWwsIFxcXCIucG9zdHMmJi5wb3N0XFxcIik7XFxubGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICB2YXIgaW1nID0gcGQoaXRlbSwgXFxcImltZyYmZGF0YS1vcmlnaW5hbFxcXCIpO1xcbiAgICB2YXIgdGl0bGUgPSBwZGZoKGl0ZW0sIFxcXCJhJiZ0aXRsZVxcXCIpXFxuICAgICAgICAucmVwbGFjZShcXFwiW+S4reaWh+Wtl+W5lV1cXFwiLCBcXFwi8J+HqPCfh7NcXFwiKVxcbiAgICAgICAgLnJlcGxhY2UoXFxcIlvml6DnoIHnoLTop6NdXFxcIiwgXFxcIvCflKVcXFwiKVxcbiAgICAgICAgLnJlcGxhY2UoXFxcIls0S11cXFwiLCBcXFwi8J+WpVxcXCIpXFxuICAgICAgICAucmVwbGFjZShcXFwiW+iLseaWh+Wtl+W5lV1cXFwiLCBcXFwi8J+HuvCfh7hcXFwiKTtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgIGRlc2M6IHBkZmgoaXRlbSwgXFxcIi5tZXRhLS0uZGF0ZSYmVGV4dFxcXCIpLFxcbiAgICAgICAgaW1nOiBpbWcucmVwbGFjZSgvKGh0dHAuKj9cXFxcLig/OmpwZ3x3ZWJwfHBuZ3xqcGVnKSkuKi8sIFxcXCIkMVxcXCIpLFxcbiAgICAgICAgdXJsOiBwZGZoKGl0ZW0sIFxcXCJhJiZocmVmXFxcIikgKyAnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJlclxcXCIpJyxcXG4gICAgICAgIGNvbF90eXBlOiBcXFwibW92aWVfMlxcXCIsXFxuICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgIHBhZ2VUaXRsZTogdGl0bGVcXG4gICAgICAgIH1cXG4gICAgfSlcXG59KVxcbmQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICfigJzigJzigJ3igJ0nICsgXFxcIuaIkeaYr+acieW6lee6v+eahFxcXCIuZm9udGNvbG9yKFxcXCJncmV5XFxcIilcXG4gICAgICAgICAgICAgICAgLnNtYWxsKCksXFxuICAgICAgICAgICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIixcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiBcXFwiYmlnX2JsYW5rX2Jsb2NrXFxcIlxcbn0pXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6IFxcXCJiaWdfYmxhbmtfYmxvY2tcXFwiXFxufSlcXG5zZXRSZXN1bHQoZClcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuino+aekFwiLFwicGF0aFwiOlwibGF6eVwiLFwicnVsZVwiOlwidmFyIGxhenkgPSAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgIC8vSlBB562J57q/6Lev5oyC5LqG5bey5bGP6JS977yM6ZyA6KaB5Y+v5Y675LqM57qn5oGi5aSNXFxuICAgIC8vVFbnur/ot68vL0ZTVOe6v+i3ry8vVk9F57q/6LevLy9TVOe6v+i3ry8vRFPnur/ot68vL1ZUVee6v+i3r1xcbiAgICAvLyDlrprkuYnkuIDkuKrop6PmnpDliIbovqjnjofnmoTlh73mlbBcXG4gICAgZnVuY3Rpb24gZ2V0UmVzb2x1dGlvbihuYW1lKSB7XFxuICAgICAgICB2YXIgbWF0Y2ggPSBuYW1lLm1hdGNoKC8oXFxcXGQrKS8pOyAvLyDmj5Dlj5bpmY3nuqfliIbovqjnjodcXG4gICAgICAgIHJldHVybiBtYXRjaCA/IHBhcnNlSW50KG1hdGNoWzFdLCAxMCkgOiAwOyAvLyDlpoLmnpzmsqHmnInljLnphY3liJnov5Tlm54wXFxuICAgIH1cXG4gICAgdmFyIGlkID0gaW5wdXQuc3BsaXQoJycpLnJldmVyc2UoKS5qb2luKCcnKTtcXG4gICAgdmFyIHVybCA9IGBodHRwczovL2xrMS5zdXByZW1lamF2LmNvbS9zdXBqYXYucGhwP2M9JHtpZH1gO1xcbiAgICB2YXIgcmVmZXJlciA9IGBodHRwczovL2xrMS5zdXByZW1lamF2LmNvbS9zdXBqYXYucGhwP2w9JHtpbnB1dH1gO1xcbiAgICB2YXIgbG9jYXRpb24gPSBKU09OLnBhcnNlKGZldGNoKHVybCwge1xcbiAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgIFxcXCJSZWZlcmVyXFxcIjogcmVmZXJlcixcXG4gICAgICAgIH0sXFxuICAgICAgICBvbmx5SGVhZGVyczogdHJ1ZVxcbiAgICB9KSkudXJsLnJlcGxhY2UoLyMuKi8sIFxcXCJcXFwiKVxcbiAgICBsb2cobG9jYXRpb24pXFxuXFxuICAgIGlmIChsb2NhdGlvbi5pbmNsdWRlcyhcXFwiZW10dXJib3ZpZFxcXCIpKSB7XFxuXFxuICAgICAgICAvL+KRoFRW57q/6LevXFxuICAgICAgICB2YXIgZG9tYWluID0gZ2V0SG9tZShsb2NhdGlvbilcXG4gICAgICAgIHZhciBwYXRoID0gZmV0Y2gobG9jYXRpb24sIHtcXG4gICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICdSZWZlcmVyJzogcmVmZXJlclxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgICAgdmFyIHBsYXlVcmwgPSBwYXRoLm1hdGNoKC9odHRwcz8uKj9cXFxcLm0zdTgvKVswXTtcXG4gICAgICAgIHZhciBncm91cF9xdWFsaXR5ID0gZmV0Y2gocGxheVVybCwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgJ1JlZmVyZXInOiBsb2NhdGlvblxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgICAgLy8gbG9nKGdyb3VwX3F1YWxpdHkpXFxuICAgICAgICBoZ2hlc3RfcXVhbGl0eSA9IGdyb3VwX3F1YWxpdHkubWF0Y2goL15bXiNcXFxcc10rJC9nbSkubWFwKHYgPT4gdi5pbmNsdWRlcyhcXFwiaHR0cFxcXCIpID8gdiArIFxcXCIjaXNWaWRlbz10cnVlI1xcXCIgOiBwbGF5VXJsLnJlcGxhY2UoL1teXFxcXC9dKyQvLCB2KSlcXG4gICAgICAgIC8vbG9nKGhnaGVzdF9xdWFsaXR5KVxcbiAgICAgICAgbmFtZV9xdWFsaXR5ID0gZ3JvdXBfcXVhbGl0eS5tYXRjaCgvUkVTT0xVVElPTj0uKj9cXFxcLC9nbSkubWFwKG4gPT4gbi5yZXBsYWNlKC9SRVNPTFVUSU9OPXxcXFxcLC9nLCBcXFwiXFxcIikpXFxuXFxuICAgICAgICAvLyDmjInliIbovqjnjofpmY3luo/mjpLluo8g5YiG6L6o546HIOaVsOe7hO+8jOW5tuWQjOaXtuiwg+aVtCBoZ2hlc3RfcXVhbGl0eVxcbiAgICAgICAgdmFyIHNvcnRlZERhdGEgPSBuYW1lX3F1YWxpdHkubWFwKChuYW1lLCBpbmRleCkgPT4gKHtcXG4gICAgICAgICAgICAgICAgbmFtZSxcXG4gICAgICAgICAgICAgICAgdXJsOiBoZ2hlc3RfcXVhbGl0eVtpbmRleF1cXG4gICAgICAgICAgICB9KSlcXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gZ2V0UmVzb2x1dGlvbihiLm5hbWUpIC0gZ2V0UmVzb2x1dGlvbihhLm5hbWUpKTtcXG4gICAgICAgIC8vIOWIhuW8gOaOkuW6j+WQjueahCBuYW1lcyDlkowgdXJscyDmlbDnu4RcXG4gICAgICAgIHZhciBzb3J0ZWROYW1lcyA9IHNvcnRlZERhdGEubWFwKGl0ZW0gPT4gaXRlbS5uYW1lKTtcXG4gICAgICAgIHZhciBzb3J0ZWRVcmxzID0gc29ydGVkRGF0YS5tYXAoaXRlbSA9PiBpdGVtLnVybCk7XFxuICAgICAgICBsZXQgcGxheWxpc3QgPSBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgbmFtZXM6IHNvcnRlZE5hbWVzLFxcbiAgICAgICAgICAgIHVybHM6IHNvcnRlZFVybHMsXFxuICAgICAgICAgICAgaGVhZGVyczogbmV3IEFycmF5KGhnaGVzdF9xdWFsaXR5Lmxlbmd0aCkuZmlsbCh7XFxuICAgICAgICAgICAgICAgIFJlZmVyZXI6IFxcXCJcXFwiXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pO1xcbiAgICAgICAgcmV0dXJuIHBsYXlsaXN0O1xcblxcbiAgICB9IGVsc2UgaWYgKC9jaW5keWV5ZWZpbmFsfGZjMnN0cmVhbXxtaWNoYWVsYXBwbHlzb21lLy50ZXN0KGxvY2F0aW9uKSkge1xcblxcbiAgICAgICAgLy/ikaFGU1Tnur/ot69cXG4gICAgICAgIHZhciBodG1sID0gZmV0Y2gobG9jYXRpb24sIHtcXG4gICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICdSZWZlcmVyJzogcmVmZXJlclxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgICAgdmFyIHNjcmlwdCA9IHBkZmgoaHRtbCwgXFxcImJvZHk+c2NyaXB0JiZIdG1sXFxcIikucmVwbGFjZShcXFwiZXZhbFxcXCIsIFxcXCJcXFwiKVxcbiAgICAgICAgdmFyIHVhcyA9IGV2YWwoc2NyaXB0KVxcbiAgICAgICAgdmFyIHBsYXlVcmwgPSB1YXMubWF0Y2goL1xcXCIoaHR0cHM/LiptM3U4Lio/KVxcXCIvKVsxXVxcbiAgICAgICAgdmFyIGdyb3VwX3F1YWxpdHkgPSBmZXRjaChwbGF5VXJsLCB7XFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAnUmVmZXJlcic6IGxvY2F0aW9uXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSk7XFxuICAgICAgICBncm91cF9xdWFsaXR5ID0gZ3JvdXBfcXVhbGl0eS5zcGxpdChcXFwiXFxcXG5cXFxcblxcXCIpWzBdXFxuICAgICAgICAvLyBsb2coZ3JvdXBfcXVhbGl0eSlcXG4gICAgICAgIGhnaGVzdF9xdWFsaXR5ID0gZ3JvdXBfcXVhbGl0eS5tYXRjaCgvXlteI1xcXFxzXSskL2dtKS5tYXAodiA9PiB2LmluY2x1ZGVzKFxcXCJodHRwXFxcIikgPyB2ICsgXFxcIiNpc1ZpZGVvPXRydWUjXFxcIiA6IHBsYXlVcmwucmVwbGFjZSgvW15cXFxcL10rJC8sIHYpKVxcbiAgICAgICAgLy9sb2coaGdoZXN0X3F1YWxpdHkpXFxuICAgICAgICBuYW1lX3F1YWxpdHkgPSBncm91cF9xdWFsaXR5Lm1hdGNoKC9SRVNPTFVUSU9OPS4qP1xcXFwsL2dtKS5tYXAobiA9PiBuLnJlcGxhY2UoL1JFU09MVVRJT049fFxcXFwsL2csIFxcXCJcXFwiKSlcXG5cXG4gICAgICAgIC8vIOaMieWIhui+qOeOh+mZjeW6j+aOkuW6jyDliIbovqjnjocg5pWw57uE77yM5bm25ZCM5pe26LCD5pW0IGhnaGVzdF9xdWFsaXR5XFxuICAgICAgICB2YXIgc29ydGVkRGF0YSA9IG5hbWVfcXVhbGl0eS5tYXAoKG5hbWUsIGluZGV4KSA9PiAoe1xcbiAgICAgICAgICAgICAgICBuYW1lLFxcbiAgICAgICAgICAgICAgICB1cmw6IGhnaGVzdF9xdWFsaXR5W2luZGV4XVxcbiAgICAgICAgICAgIH0pKVxcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBnZXRSZXNvbHV0aW9uKGIubmFtZSkgLSBnZXRSZXNvbHV0aW9uKGEubmFtZSkpO1xcbiAgICAgICAgLy8g5YiG5byA5o6S5bqP5ZCO55qEIG5hbWVzIOWSjCB1cmxzIOaVsOe7hFxcbiAgICAgICAgdmFyIHNvcnRlZE5hbWVzID0gc29ydGVkRGF0YS5tYXAoaXRlbSA9PiBpdGVtLm5hbWUpO1xcbiAgICAgICAgdmFyIHNvcnRlZFVybHMgPSBzb3J0ZWREYXRhLm1hcChpdGVtID0+IGl0ZW0udXJsKTtcXG4gICAgICAgIGxldCBwbGF5bGlzdCA9IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgICAgICBuYW1lczogc29ydGVkTmFtZXMsXFxuICAgICAgICAgICAgdXJsczogc29ydGVkVXJscyxcXG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgQXJyYXkoaGdoZXN0X3F1YWxpdHkubGVuZ3RoKS5maWxsKHtcXG4gICAgICAgICAgICAgICAgUmVmZXJlcjogXFxcIlxcXCJcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSk7XFxuICAgICAgICByZXR1cm4gcGxheWxpc3Q7XFxuXFxuICAgIH0gZWxzZSBpZiAobG9jYXRpb24uaW5jbHVkZXMoXFxcInN0cmVhbXRhcGVcXFwiKSkge1xcblxcbiAgICAgICAgLy/ikaJTVOe6v+i3r1xcbiAgICAgICAgdmFyIGh0bWwgPSBmZXRjaChsb2NhdGlvbiwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgJ1JlZmVyZXInOiByZWZlcmVyXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSlcXG4gICAgICAgIHZhciBwYXR0ZXJuID0gaHRtbC5tYXRjaCgvXFxcXCgnIyguKiknXFxcXCkvKVsxXVxcbiAgICAgICAgdmFyIHNyYyA9IFxcXCJ2YXIgc3JjbGluayA9IFxcXCIgKyBodG1sLm1hdGNoKG5ldyBSZWdFeHAoXFxcIidcXFwiICsgcGF0dGVybiArIFxcXCIuKj89KFteO10rKVxcXCIpKVsxXVxcbiAgICAgICAgZXZhbChzcmMpXFxuICAgICAgICB2YXIgbGluayA9IFxcXCJodHRwczpcXFwiICsgc3JjbGluayArIFxcXCImc3RyZWFtPTFcXFwiXFxuICAgICAgICB2YXIgcGxheVVybCA9IEpTT04ucGFyc2UoZmV0Y2gobGluaywge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgXFxcIlJlZmVyZXJcXFwiOiBsb2NhdGlvbixcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIG9ubHlIZWFkZXJzOiB0cnVlXFxuICAgICAgICB9KSkudXJsXFxuICAgICAgICByZXR1cm4gcGxheVVybCArIFxcXCI7e1JlZmVyZXJAXFxcIiArIGxvY2F0aW9uICsgXFxcIn1cXFwiXFxuXFxuICAgIH0gZWxzZSBpZiAoL3ZvZS8udGVzdChsb2NhdGlvbikpIHtcXG5cXG4gICAgICAgIC8v4pGlVk9F57q/6LevXFxuICAgICAgICB2YXIgaHRtbCA9IGZldGNoKGxvY2F0aW9uLCB7XFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAnUmVmZXJlcic6IHJlZmVyZXJcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgICAgIHZhciBjdXJyZW50VXJsID0gaHRtbC5tYXRjaCgvaHR0cHM/W14nXSsvKVswXTtcXG4gICAgICAgIHZhciBzb3VyY2VzID0gZmV0Y2goY3VycmVudFVybCkubWF0Y2goL3ZhciBzb3VyY2VzW15cXFxcO10rLylbMF0gICBcXG4gICAgICAgIGV2YWwoc291cmNlcykgICBcXG4gICAgICAgIHZhciBwbGF5VXJsID0gYmFzZTY0RGVjb2RlKHNvdXJjZXMuaGxzKSBcXG4gICAgICAgIHJldHVybiBwbGF5VXJsICsgXFxcIjt7UmVmZXJlckBcXFwiICsgbG9jYXRpb24gKyBcXFwifVxcXCJcXG5cXG4gICAgfSBlbHNlIGlmICgvZDAwMDBkfGRvb2R8ZHMycGxheS8udGVzdChsb2NhdGlvbikpIHtcXG5cXG4gICAgICAgIC8v4pGjRFPnur/ot69cXG4gICAgICAgIHZhciBodG1sID0gZmV0Y2gobG9jYXRpb24sIHtcXG4gICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICdSZWZlcmVyJzogcmVmZXJlclxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuICAgICAgICB2YXIgcGFzc19tZDUgPSBnZXRIb21lKGxvY2F0aW9uKSArIGh0bWwubWF0Y2goL1xcXFwvcGFzc19tZDVbXlxcXCInXSsvKVswXVxcbiAgICAgICAgdmFyIHRva2VuID0gaHRtbC5tYXRjaCgvY29va2llSW5kZXguKj9cXFxcJyguKj8pXFxcXCcvKVsxXVxcbiAgICAgICAgdmFyIGRhdGEgPSBmZXRjaChwYXNzX21kNSwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgXFxcIlJlZmVyZXJcXFwiOiBsb2NhdGlvblxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuXFxuICAgICAgICBmdW5jdGlvbiBtYWtlUGxheSh0b2tlbikge1xcbiAgICAgICAgICAgIGZvciAodmFyIGEgPSBcXFwiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIHQgPSBcXFwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODlcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgbiA9IHQubGVuZ3RoLFxcbiAgICAgICAgICAgICAgICAgICAgbyA9IDA7IDEwID4gbzsgbysrKVxcbiAgICAgICAgICAgICAgICBhICs9IHQuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG4pKTtcXG4gICAgICAgICAgICByZXR1cm4gYSArIFxcXCI/dG9rZW49XFxcIiArIHRva2VuICsgXFxcIiZleHBpcnk9XFxcIiArIERhdGUubm93KCk7XFxuICAgICAgICB9O1xcbiAgICAgICAgdmFyIHBsYXlVcmwgPSBkYXRhICsgbWFrZVBsYXkodG9rZW4pXFxuICAgICAgICByZXR1cm4gcGxheVVybCArIFxcXCIjaXNWaWRlbz10cnVlIzt7UmVmZXJlckBcXFwiICsgbG9jYXRpb24gKyBcXFwifVxcXCJcXG5cXG4gICAgfSBlbHNlIGlmIChsb2NhdGlvbi5pbmNsdWRlcyhcXFwidnRiZS50b1xcXCIpKSB7XFxuXFxuICAgICAgICAvL+KRpFZUVee6v+i3r1xcbiAgICAgICAgZnVuY3Rpb24gZXZhbGRlY29kZSh0ZXh0KSB7XFxuICAgICAgICAgICAgdmFyIGNvZGUgPSAnJztcXG4gICAgICAgICAgICB2YXIgcyA9IHRleHQucmVwbGFjZSgvXmV2YWwvLCAnJylcXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoJ3JldHVybiBwJywgJ2NvZGUrPXAnKVxcbiAgICAgICAgICAgIGV2YWwocyk7XFxuICAgICAgICAgICAgcmV0dXJuIGNvZGU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICB2YXIgaG9zdFJlZ2V4ID0gKHVybCkgPT4ge1xcbiAgICAgICAgICAgIHZhciBtYXRjaCA9IHVybC5tYXRjaCgvXig/Omh0dHBzPzpcXFxcL1xcXFwvKT8oPzp3d3dcXFxcLik/KFthLXpBLVowLTktXXsxLDYzfVxcXFwuKStbYS16QS1aXXsyLDZ9L2kpO1xcbiAgICAgICAgICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzBdIDogdXJsO1xcbiAgICAgICAgfTtcXG5cXG4gICAgICAgIGxldCBob3N0ID0gaG9zdFJlZ2V4KHJlZmVyZXIpXFxuXFxuICAgICAgICB2YXIgaHRtbCA9IGZldGNoKGxvY2F0aW9uLCB7XFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICBSZWZlcmVyOiBob3N0LFxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuICAgICAgICB2YXIgaWZyYW1lID0gcGRmYShodG1sLCBcXFwiaWZyYW1lXFxcIik7XFxuXFxuICAgICAgICBpZiAoaWZyYW1lLmxlbmd0aCA+IDApIHtcXG4gICAgICAgICAgICBodG1sID0gZmV0Y2gocGRmaChpZnJhbWVbMF0sIFxcXCJpZnJhbWUmJnNyY1xcXCIpLCB7XFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgIFJlZmVyZXI6IGhvc3QsXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgdmFyIHNjcmlwdHMgPSBwZGZhKGh0bWwsIFxcXCJib2R5JiZzY3JpcHRcXFwiKTtcXG4gICAgICAgIGxldCBzY3JpcHQgPSBzY3JpcHRzLmZpbHRlcih4ID0+IHguaW5jbHVkZXMoJ2V2YWwnKSkubWFwKG0gPT4gcGRmaChtLCBcXFwic2NyaXB0JiZIdG1sXFxcIikpWzBdO1xcbiAgICAgICAgaWYgKHNjcmlwdCA9PSB1bmRlZmluZWQpIHtcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5peg5pWw5o2uJ1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgbGV0IG0zdTggPSAvZmlsZTpcXFwiKC4qPylcXFwiL2cuZXhlYyhldmFsZGVjb2RlKHNjcmlwdCkpWzFdO1xcbiAgICAgICAgcmV0dXJuIG0zdTg7XFxuXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBsb2coXFxcIumdqeWRveWwmuacquaIkOWKnyzlkIzlv5fku43pnIDliqrlipshXFxcIilcXG4gICAgICAgIHJldHVybiBcXFwiY29uZmlybTovL+WSsyzmnKznur/ot6/ov5nkuKrlnLDlnYDlubbmsqHmnInop6PmnpDvvIzml6Xlv5flt7LmiZPljbDlh7rvvIzmlazor7fmn6XnnIsuanM6J2hpa2VyOi8vZW1wdHknIFxcXCJcXG4gICAgfVxcbn0pXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLnv7vor5FcIixcInBhdGhcIjpcInRyYW5zXCIsXCJydWxlXCI6XCIgICAgLy/nv7vor5FcXG4gICAgZnVuY3Rpb24gdHJhbnNsYXRlKHRleHQpIHtcXG4gICAgICAgIHZhciBzd2l0Y2h0cmFucyA9IGdldEl0ZW0oJ3N3aXRjaHRyYW5zJywgJ+W9qeS6keWwj+ivkScpO1xcbiAgICAgICAgaWYgKCBzd2l0Y2h0cmFucyA9PSB0cnVlIHx8IHN3aXRjaHRyYW5zID09IFxcXCLlvankupHlsI/or5FcXFwiKSB7XFxuICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgdmFyIHRvID0gJ3poJ1xcbiAgICAgICAgICAgICAgICB2YXIgZnJvbSA9ICdhdXRvJ1xcblxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbml0X2RhdGEoc291cmNlX2xhbmcsIHRhcmdldF9sYW5nKSB7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTogJycsXFxuICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0OiB0cnVlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9zX3R5cGU6ICdpb3MnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZV9pZDogJ0YxRjkwMkY3LTE3ODAtNEM4OC04NDhELTcxRjM1RDg4QTYwMicsXFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNfdHlwZTogc291cmNlX2xhbmcgKyAnMicgKyB0YXJnZXRfbGFuZyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBtZWRpYTogJ3RleHQnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RfaWQ6IDQyNDIzODMzNSxcXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiAnJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBkaWN0OiB0cnVlLFxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGdldFJhbmRvbU51bWJlcigpIHtcXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJhbmQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA5OTk5OSkgKyAxMDAwMDBcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByYW5kICogMTAwMFxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIGNvbnN0IHBvc3RfZGF0YSA9IGluaXRfZGF0YShmcm9tLCB0bylcXG4gICAgICAgICAgICAgICAgcG9zdF9kYXRhLnNvdXJjZSA9IHRleHRcXG4gICAgICAgICAgICAgICAgcG9zdF9kYXRhLnJlcXVlc3RfaWQgPSBnZXRSYW5kb21OdW1iZXIoKVxcbiAgICAgICAgICAgICAgICBsZXQgcmVzID0gZmV0Y2goJ2h0dHBzOi8vaW50ZXJwcmV0ZXIuY3lhcGkuY24vdjEvdHJhbnNsYXRvcicsIHtcXG4gICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAneC1hdXRob3JpemF0aW9uJzogJ3Rva2VuIHNzZGoyNzNrc2Rpd2k5MjNic2Q5JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAndXNlci1hZ2VudCc6ICdjYWl5dW5JbnRlcnByZXRlci81IENGTmV0d29yay8xNDA0LjAuNSBEYXJ3aW4vMjIuMy4wJyxcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICBib2R5OiBwb3N0X2RhdGEsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBKU09OLnBhcnNlKHJlcylcXG4gICAgICAgICAgICAgICAgICAgIC50YXJnZXRcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCArIFxcXCLjgJDimIHvuI/jgJFcXFwiXFxuICAgICAgICAgICAgfSBjYXRjaCB7XFxuICAgICAgICAgICAgICAgIGxvZyhcXFwi57+76K+R5aSx6LSl77yM5L2/55So5Y6f5paHXFxcIik7XFxuICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBlbHNlIGlmIChzd2l0Y2h0cmFucyA9PSBcXFwi5bCP54mb57+76K+RXFxcIikge1xcbiAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgIHZhciB1cmwgPSBcXFwiaHR0cHM6Ly9hcGkubml1dHJhbnMuY29tL05pdVRyYW5zU2VydmVyL3RyYW5zbGF0aW9uXFxcIjtcXG4gICAgICAgICAgICAgICAgdmFyIGFwaSA9IGdldEl0ZW0oJ2FwaScpO1xcbiAgICAgICAgICAgICAgICBpZiAoYXBpKSB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAodGV4dCAhPSBcXFwiXFxcIikge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsYW5nID0gXFxcImh0dHBzOi8vdGVzdC5uaXV0cmFucy5jb20vTml1VHJhbnNTZXJ2ZXIvbGFuZ3VhZ2U/c3JjX3RleHQ9XFxcIiArIHRleHQgKyBcXFwiJnNvdXJjZT10ZXh0XFxcIjtcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZnJvbSA9IEpTT04ucGFyc2UoZmV0Y2gobGFuZywge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dDogMTAwMFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBwb3N0KHVybCwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdGV4dDogdGV4dCxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IGZyb20sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bzogXFxcInpoXFxcIixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaWtleTogYXBpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0OiAxMjIzXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKHJlc3VsdClcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS50Z3RfdGV4dCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS50Z3RfdGV4dCArIFxcXCLjgJDwn5Cu44CRXFxcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZyhcXFwi57+76K+R5aSx6LSl77yM5L2/55So5Y6f5paHXFxcIik7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2coXFxcIue/u+ivkeWksei0pe+8jOWOn+aWh+S4uuepulxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICB0b2FzdChcXFwi6aKE5aSE55CG6K+35aGr5YaZ57+76K+RYXBpXFxcIilcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9IGNhdGNoIHtcXG4gICAgICAgICAgICAgICAgbG9nKFxcXCLnv7vor5HlpLHotKXvvIzkvb/nlKjljp/mlodcXFwiKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRleHRcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHJldHVybiB0ZXh0XFxuICAgICAgICB9XFxuICAgIH07XFxuXFxuICAgICQuZXhwb3J0cy50cmFuc2xhdGUgPSB0cmFuc2xhdGVcIn1dIiwiaWNvbiI6Imh0dHBzOi8vaW1nLnZpbnVhLmNuL2ltYWdlcy96cndLNC53ZWJwIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment