Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@看美剧@eyJmaXJzdEhlYWRlciI6ImNsYXNzIiwibGFzdF9jaGFwdGVyX3J1bGUiOiIiLCJ0aXRsZSI6Iueci+e+juWJpyIsImF1dGhvciI6IuW/g+mtlCbni5fmtanllYoiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IyNodHRwczovL3d3dy5rbWVpanUuY29tL0thbnNob3cvMS0tLS0tLS0tZnlwYWdlLS0tLyIsInZlcnNpb24iOjIsImNvbF90eXBlIjoibW92aWVfMyIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoidmlkZW8iLCJjbGFzc191cmwiOiIiLCJhcmVhX25hbWUiOiIiLCJhcmVhX3VybCI6IiIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczpcbnZhciBkID0gW107XG52YXIgZ2V0UmFuZ2VDb2xvcnMgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJyMnICsgKCcwMDAwMCcgKyAoTWF0aC5yYW5kb20oKSAqIDB4MTAwMDAwMCA8PCAwKS50b1N0cmluZygxNikpLnN1YnN0cigtNik7XG59XG5cbmNvbnN0IOWIhuexu+minOiJsiA9IGdldFJhbmdlQ29sb3JzKClcbmNvbnN0IOWkp+exu+WumuS9jSA9ICdib2R5JiYuc3dpcGVyLXdyYXBwZXI6bm90KC50b3AtYmFyLW1lbnUpJ1xuY29uc3Qg5ou85o6l5YiG57G7ID0gJydcbmNvbnN0IOWwj+exu+WumuS9jSA9ICdib2R5JiZhJ1xuY29uc3Qg5YiG57G75qCH6aKYID0gJ2EmJlRleHQnXG5jb25zdCDliIbnsbvpk77mjqUgPSAnYSYmaHJlZidcbk1ZX1VSTCA9IE1ZX1VSTC5yZXBsYWNlKCdoaWtlcjovL2VtcHR5IyMnLCAnJylcblxubGV0IHRydWVfdXJsID0gZ2V0VmFyKE1ZX1JVTEUudXJsLCBNWV9VUkwpXG52YXIgcGFnZSA9IE1ZX1BBR0VcbmlmKGdldFZhcihNWV9SVUxFLnVybCkpe1xudHJ1ZV91cmwgPSB0cnVlX3VybC5yZXBsYWNlKC9rYW50eXBlXFwvKFxcZCspLywgJ2thbnNob3cvJDEtLS0tLS0tLS0tLS8nKS5yZXBsYWNlKC9eKCg/OlteLV0qLSl7N31bXi1dKiktLywgXCIkMS1cIiArIHBhZ2UpfVxudmFyIGh0bWwgPSByZXF1ZXN0KHRydWVfdXJsKVxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9kdCcpKS5ydWxlKVxuXG52YXIgbGlzdCA9IHBkZmEoaHRtbCwgJ2JvZHkmJi52aWRlby1jb250ZW50LWl0ZW0nKTtcbmZvciAodmFyIGogaW4gbGlzdCkge1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBwZGZoKGxpc3Rbal0sICcudGV4dC1vdmVyZmxvdyYmdGl0bGUnKSxcbiAgICAgICAgZGVzYzogcGRmaChsaXN0W2pdLCAnLnZpZGVvLXRpdGxlJiZUZXh0JyksXG4gICAgICAgIHBpY191cmw6IHBkKGxpc3Rbal0sICcudmlkZW8taW1nJiZkYXRhLW9yaWdpbmFsJykgKyAnQFJlZmVyZXI9JyxcbiAgICAgIGV4dHJhOiB7ICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBteXRpdGxlOiBwZGZoKGxpc3Rbal0sICdpbWcmJnNyYycpICAgICAgICAgICAgXG4gICAgICAgICAgICB9LFxuICAgICAgICB1cmw6IHBkKGxpc3Rbal0sICdhJiZocmVmJykgKyBcIiNpbW1lcnNpdmVUaGVtZSNcIlxuICAgIH0pO1xufVxuc2V0UmVzdWx0KGQpOyIsInNlYXJjaF91cmwiOiJodHRwczovL3d3dy5rbWVpanUuY29tL0thbnNlYXJjaC8qKi0tLS0tLS0tLS1meXBhZ2UtLS0vIiwiZ3JvdXAiOiIj77iP4oOj5b2x6KeGIiwic2VhcmNoRmluZCI6ImpzOlxyXG52YXIgZCA9IFtdO1xuXG52YXIgbGlzdCA9IHBhcnNlRG9tRm9yQXJyYXkoZ2V0UmVzQ29kZSgpLCAnYm9keSYmLnBvc3QtbGlzdCcpO1xyXG5mb3IgKHZhciBqIGluIGxpc3QpIHtcclxuICBkLnB1c2goe1xyXG4gICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnLmVudHJ5LXRpdGxlJiZhJiZUZXh0JyksXHJcbiAgICAgICBkZXNjOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJy5lbnRyeS1zdW1tYXJ5OmNvbnRhaW5zKOS4u+a8lO+8mikmJlRleHQnKSxcbiAgICAgICBjb250ZW50OiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJy5tb2R1bGUtaXRlbS1ub3RlOmNvbnRhaW5zKOWJp+aDhe+8mikmJlRleHQnKSxcbiAgICAgICBpbWc6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZkYXRhLW9yaWdpbmFsJykrJ0BSZWZlcmVyPScsXG4gICAgICAgXHJcbiAgICAgICB1cmw6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJykrXCIjaW1tZXJzaXZlVGhlbWUjXCJcbiAgfSk7XHJcbn1cclxuc2V0UmVzdWx0KGQpOyIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xudmFyIGh0bWwgPSBnZXRSZXNDb2RlKCk7XG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2xhenkxJykpLnJ1bGUpO1xuXG4vKnZhciBsYXp5ID0gJCgnJykubGF6eVJ1bGUoKCkgPT4ge1xuICB0cnkge1xuICAgICAgICBmdW5jdGlvbiB0b1VybChwbGF5VXJsKSB7XG4gICAgICAgICAgICBpZiAoL21ndHZ8c29odS8udGVzdChwbGF5VXJsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGF5VXJsICsgXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCl9XCI7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKC9iaWxpLy50ZXN0KHBsYXlVcmwpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlVcmwgKyBcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCYmUmVmZXJlckBodHRwczovL3d3dy5iaWxpYmlsaS5jb219XCI7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKC9peGlndWEvLnRlc3QocGxheVVybCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybCArIFwiI2lzVmlkZW89dHJ1ZSNcIiArIFwiIy5tcDQ7e1JlZmVyZXJAaHR0cHM6Ly93d3cuaXhpZ3VhLmNvbS8mJlVzZXItQWdlbnRATW96aWxsYS81LjB9XCI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGF5VXJsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGh0bWwgPSByZXF1ZXN0KGlucHV0LCB7fSk7XG4gICAgICAgIHZhciBwbGF5ZXJfZGF0YSA9IEpTT04ucGFyc2UoaHRtbC5tYXRjaCgvciBwbGF5ZXJfLio/PSguKj8pPC8pWzFdKTtcbiAgICAgICAgdmFyIGZybyA9IHBsYXllcl9kYXRhLmZyb207XG4gICAgICAgIHZhciBwbGF5VXJsID0gcGxheWVyX2RhdGEudXJsO1xuXG5cbiAgICAgICAgaWYgKHBsYXllcl9kYXRhLmVuY3J5cHQgPT0gJzEnKSB7XG4gICAgICAgICAgICBwbGF5VXJsID0gdW5lc2NhcGUocGxheWVyX2RhdGEudXJsKTtcbiAgICAgICAgfSBlbHNlIGlmIChwbGF5ZXJfZGF0YS5lbmNyeXB0ID09ICcyJykge1xuICAgICAgICAgICAgcGxheVVybCA9IHVuZXNjYXBlKGJhc2U2NERlY29kZShwbGF5ZXJfZGF0YS51cmwpKTtcbiAgICAgICAgfTtcbiAgICAgICAgdmFyIGV4Y2x1ZGUgPSAvcGxheW0zdTh8bTN1OFxcLnR2fG1pblxcLmNzc3w0MDRcXC5tM3U4fFxcLmNzcy87XG4gICAgICAgIHZhciBjb250YWluID0gL1xcLm1wNHxcXC5tM3U4fFxcLmZsdnxcXC5hdml8XFwubXBlZ3xcXC53bXZ8XFwubW92fFxcLnJtdmJ8XFwuZGF0fHFxQkZkb3dubG9hZHxtaW1lPXZpZGVvJTJGfHZpZGVvX21wNC87XG4gICAgICAgIGlmICghZXhjbHVkZS50ZXN0KHBsYXlVcmwpICYmIGNvbnRhaW4udGVzdChwbGF5VXJsKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRvVXJsKHBsYXlVcmwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGp4VXJsID0gJyc7XG4gICAgICAgIHZhciBqeEh0bWwgPSByZXF1ZXN0KGp4VXJsLCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgXCJVc2VyLUFnZW50XCI6IFwiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMClcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIlxuICAgICAgICB9KTtcbiAgICAgICAgZXZhbChqeEh0bWwubWF0Y2goL3ZhciBjb25maWcgPSB7W1xcc1xcU10qP30vKVswXSArIFwiXCIpO1xuICAgICAgICB2YXIgYXBpVXJsID0gJyc7XG4gICAgICAgIHZhciBhcGlIdG1sID0gcmVxdWVzdChhcGlVcmwsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBcIlVzZXItQWdlbnRcIjogXCJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYm9keTogXCJ1cmw9XCIgKyBjb25maWcudXJsICsgXCImdGltZT1cIiArIGNvbmZpZy50aW1lICsgXCIma2V5PVwiICsgY29uZmlnLmtleSxcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCJcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBqc29uID0gSlNPTi5wYXJzZShhcGlIdG1sKTtcbiAgICAgICAgaWYgKGpzb24uY29kZSA9PSAyMDApIHtcbiAgICAgICAgICAgIHBsYXlVcmwgPSBqc29uLnVybDtcbiAgICAgICAgICAgIHJldHVybiB0b1VybChwbGF5VXJsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly8nICsganNvbi5tc2c7XG4gICAgICAgIH1cblxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy9zZXRFcnJvcihlKTtcbiAgICAgICAgc2hvd0xvYWRpbmcoXCLmraPlnKjov5vooYzmo4DntKLvvIzor7fnqI3lgJkuLi5cIik7XG4gICAgICAgIHZhciB2aWRlbyA9ICd4NVJ1bGU6Ly8nICsgaW5wdXQgKyAnQCcgKyAkLnRvU3RyaW5nKCgpID0+IHtcbiAgICAgICAgICAgIC8vZmJhLmxvZyhmYmEuZ2V0VXJscygpKVxuICAgICAgICAgICAgdmFyIHVybHMgPSBfZ2V0VXJscygpXG4gICAgICAgICAgICB2YXIgZXhjbHVkZSA9IC9wbGF5bTN1OHxtM3U4XFwudHZ8bWluXFwuY3NzfDQwNFxcLm0zdTh8XFwuY3NzLztcbiAgICAgICAgICAgIHZhciBjb250YWluID0gL1xcLm1wNHxcXC5tM3U4fFxcLmZsdnxcXC5hdml8XFwubXBlZ3xcXC53bXZ8XFwubW92fFxcLnJtdmJ8XFwuZGF0fHFxQkZkb3dubG9hZHxtaW1lPXZpZGVvJTJGfHZpZGVvX21wNC87XG4gICAgICAgICAgICBmb3IgKHZhciBpIGluIHVybHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWV4Y2x1ZGUudGVzdCh1cmxzW2ldKSAmJiBjb250YWluLnRlc3QodXJsc1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZnlfYnJpZGdlX2FwcC5sb2codXJsc1tpXSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9tZ3R2fHNvaHUvLnRlc3QodXJsc1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldICsgXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCl9XCI7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL2JpbGkvLnRlc3QodXJsc1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldICsgXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAmJlJlZmVyZXJAaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tfVwiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9peGlndWEvLnRlc3QodXJsc1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldICsgXCIjaXNWaWRlbz10cnVlI1wiICsgXCIjLm1wNDt7UmVmZXJlckBodHRwczovL3d3dy5peGlndWEuY29tLyYmVXNlci1BZ2VudEBNb3ppbGxhLzUuMH1cIjtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdmlkZW87XG4gICAgfVxufSk7XG4qL1xuLy/nur/ot6/lkI3liJfooajnmoTlrprkvY1cbnZhciBhcnRzID0gcGFyc2VEb21Gb3JBcnJheShodG1sLCAnYm9keSYmLmV3YXZlLXBsYXlsaXN0LXRhYiYmYScpO1xuXG4vL+e6v+i3r+WQjeWIl+ihqOWQjeensOeahOWumuS9jVxudmFyIHRhYnMgPSBbXTtcbmZvciAodmFyIGkgaW4gYXJ0cykge1xuICAgIHRhYnMucHVzaChwYXJzZURvbUZvckh0bWwoYXJ0c1tpXSwgJ1RleHQnKSlcbn1cblxuLy/mkq3mlL7liJfooajnmoTliJfooajnmoTlrprkvY1cbnZhciBjb250cyA9IHBhcnNlRG9tRm9yQXJyYXkoaHRtbCwgJ2JvZHkmJi5ld2F2ZS10YWItY29udGVudCcpO1xudmFyIGxpc3RzID0gW107XG5mb3IgKHZhciBpIGluIGNvbnRzKSB7XG4gICAgdmFyIHRlbXAgPSBwYXJzZURvbUZvckFycmF5KGNvbnRzW2ldLCAnYm9keSYmYTpub3QoOmNvbnRhaW5zKOaOkuW6jykpJylcbiAgICBsaXN0cy5wdXNoKHRlbXApXG59XG5cbnZhciDlr7zmvJQgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5tb2R1bGUtaW5mby1pdGVtOmNvbnRhaW5zKOWvvOa8lO+8mikmJlRleHQnKS5yZXBsYWNlKC9cXC8vZywgJyAnKTtcblxudmFyIOS4u+a8lCA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLmRldGFpbC1pbmZvLXRleHQ6Y29udGFpbnMo5ryU5ZGY77yaKSYmVGV4dCcpLnJlcGxhY2UoL1xcLy9nLCAnICcpO1xuXG52YXIg5pu05pawID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcubW9kdWxlLWluZm8taXRlbTpjb250YWlucyjpm4bmlbApJiZUZXh0Jyk7XG5cbnZhciDnirbmgIEgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5tb2R1bGUtaW5mby1pdGVtOmNvbnRhaW5zKOS4iuaYoO+8mikmJlRleHQnKTtcblxudmFyIOWbvueJhyA9IHBhcnNlRG9tKGh0bWwsICcubGF6eWxvYWQmJmRhdGEtc3JjfHxkYXRhLW9yaWdpbmFsJyk7XG5cbnZhciDnroDku4sgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5lbnRyeS1jb250ZW50JiZUZXh0JykucmVwbGFjZSgn5pS26LW3JywgJycpO1xuXG52YXIgQ29sb3IgPSBcIiNmMTNiNjZhXCI7XG52YXIgQ29sb3IxID0gXCIjMDk4QUMxXCI7XG5cbmZ1bmN0aW9uIGdldEhlYWQodGl0bGUpIHtcbiAgICByZXR1cm4gJ+KAmOKAmOKAmeKAmTxzdHJvbmc+PGZvbnQgY29sb3I9XCInICsgQ29sb3IgKyAnXCI+JyArIHRpdGxlICsgJzwvZnJvbnQ+PC9zdHJvbmc+Jztcbn1cbmxldCBsaW5lX21vZGVsID0gODtcbmxldCBsaW5lX3R5cGVfbW9kZWwgPSAnYmxhbmtfYmxvY2snO1xuZC5wdXNoKHtcbiAgICB0aXRsZTog5a+85ryUICsgJ1xcbicgKyDkuLvmvJQsXG4gICAgZGVzYzog5pu05pawICsgJ1xcbicgKyDnirbmgIEsXG4gICAgcGljX3VybDog5Zu+54mHLFxuICAgIHVybDogTVlfVVJMLFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cidcbn0pO1xuZC5wdXNoKHtcbiAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxzbWFsbD48Zm9udCBjb2xvcj1cIiNmZjE0OGU4ZVwiPueugOS7i++8micgKyDnroDku4suc3Vic3RyKDAsIDU1KSArICcuLi48L2ZvbnQ+PHNtYWxsPjxmb250IGNvbG9yPVwicmVkXCI+6K+m5oOFPC9mb250Pjwvc21hbGw+PC9zbWFsbD4nLFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHkjJyArICdcXG4nICsg566A5LuLICsgYEBydWxlPWpzOnZhciByZXMgPSB7fTsgdmFyIGQgPSBbXTtkLnB1c2goe3RpdGxlOiflvbHniYfnroDku4vvvJonKyBNWV9VUkwuc3BsaXQoJ2hpa2VyOi8vZW1wdHkjJylbMV0sY29sX3R5cGU6ICdsb25nX3RleHQnfSk7cmVzLmRhdGEgPSBkOyBzZXRIb21lUmVzdWx0KHJlcyk7YCxcbiAgICBjb2xfdHlwZTogJ3RleHRfMSdcbn0pO1xuZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lX21vZGVsOyBpKyspIHtcbiAgICBkLnB1c2goe1xuICAgICAgICBjb2xfdHlwZTogbGluZV90eXBlX21vZGVsXG4gICAgfSlcbn1cblxuLy/lpITnkIbmjqjpgIFUVkJveCBzdGFydFxubGV0IHRmcHVzaCA9IGdldEl0ZW0oJ3dlYnB1c2gnLCAnMCcpO1xuZC5wdXNoKHtcbiAgICB0aXRsZTogKGdldEl0ZW0oJ3dlYnB1c2gnLCAnMCcpID09ICcxJyA/ICfljZXpm4bmjqjpgIHwn5+iJyA6ICfljZXpm4bmjqjpgIHwn5S0JyksXG4gICAgdXJsOiBgaGlrZXI6Ly9lbXB0eUBsYXp5UnVsZT0uanM6Z2V0SXRlbSgnd2VicHVzaCcsJzAnKT09JzEnP3NldEl0ZW0oJ3dlYnB1c2gnLCcwJyk6c2V0SXRlbSgnd2VicHVzaCcsJzEnKTtyZWZyZXNoUGFnZSgpOyd0b2FzdDovL+WIh+aNouaIkOWKn++8gSdgLFxuXG4gICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xufSk7XG5kLnB1c2goe1xuICAgIHRpdGxlOiAn6K6+572u55S16KeGSVAnLFxuICAgIHVybDogXCJpbnB1dDovL1wiICsgZ2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsICdodHRwOi8vJyArIGdldElQKCkgKyAnOjk5NzgnKSArIFwiLy8vL+ivt+i+k+WFpXR2Ym945o6o6YCBSVDlnLDlnYDvvIzlpoJodHRwOi8vXCIgKyBnZXRJUCgpICsgXCI6OTk3OC5qczpzZXRJdGVtKCdoaWtlcnR2Ym94c2V0JyxpbnB1dCk7cmVmcmVzaFBhZ2UoKVwiLFxuICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcbn0pO1xuZC5wdXNoKHtcbiAgICB0aXRsZTogZ2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsICcnKSxcbiAgICAvL3VybDogJ2hpa2VyOi8vZW1wdHknLFxuICAgIHVybDogXCJpbnB1dDovL1wiICsgZ2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsICdodHRwOi8vJyArIGdldElQKCkgKyAnOjk5NzgnKSArIFwiLy8vL+ivt+i+k+WFpXR2Ym945o6o6YCBSVDlnLDlnYDvvIzlpoJodHRwOi8vXCIgKyBnZXRJUCgpICsgXCI6OTk3OC5qczpzZXRJdGVtKCdoaWtlcnR2Ym94c2V0JyxpbnB1dCk7cmVmcmVzaFBhZ2UoKVwiLFxuICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcbn0pO1xuXG52YXIgcGxheVVybHMgPSAnJztcbmZvciAodmFyIGkgPSAwOyBpIDwgbGlzdHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbGlzdCA9IGxpc3RzW2ldO1xuICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xuICAgICAgICBpZiAoaiA9PSBsaXN0Lmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHBsYXlVcmxzICs9IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpICsgXCIkXCIgKyBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpICsgXCIkJCRcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBsYXlVcmxzICs9IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpICsgXCIkXCIgKyBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpICsgXCIjXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnBsYXlVcmxzID0gcGxheVVybHMuc3Vic3RyaW5nKDAsIHBsYXlVcmxzLmxlbmd0aCAtIDMpO1xuLy9sb2cocGxheVVybHMpO1xuXG5sZXQgcHVzaCA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBcIm5hbWVcIjogTVlfUEFSQU1TLm15dGl0bGUsXG4gICAgXCJwaWNcIjogcGFyc2VEb20oaHRtbCwgJy5sYXp5bG9hZCYmZGF0YS1zcmN8fGRhdGEtb3JpZ2luYWwnKSxcbiAgICBcImNvbnRlbnRcIjogcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcudmlkZW8taW5mby1jb250ZW50JiZUZXh0JykucmVwbGFjZSgn5pS26LW3JywgJycpLFxuICAgIFwiZnJvbVwiOiB0YWJzLmpvaW4oJyQkJCcpLFxuICAgIFwidXJsXCI6IHBsYXlVcmxzLnJlcGxhY2UoL1xcJi9nLCAn77yG77yGJylcbn0pO1xuLy9sb2cocHVzaCk7XG5cbmQucHVzaCh7XG4gICAgdGl0bGU6IFwi5o6o6YCB5b2T5YmN6aG15YiX6KGo5YiwVFZCb3hcIixcbiAgICB1cmw6ICQocHVzaCkubGF6eVJ1bGUoKCkgPT4ge1xuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS9wdXNoP3B1c2h1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChpbnB1dCk7XG4gICAgfSksXG4gICAgY29sX3R5cGU6IFwic2Nyb2xsX2J1dHRvblwiXG59KTtcblxuZC5wdXNoKHtcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xuICAgIH0pXG4gICAgLy/lpITnkIbmjqjpgIFUVkJveCBlbmRcblxuZnVuY3Rpb24gc2V0VGFicyh0YWJzLCB2YXJpKSB7XG4gICAgZm9yICh2YXIgaSBpbiB0YWJzKSB7XG4gICAgICAgIHZhciB1cmwgPSBcIiNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpwdXRWYXIoJ1wiICsgdmFyaSArIFwiJywgJ1wiICsgaSArIFwiJyk7cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+WIh+aNouaIkOWKn++8gSc7JyNub0hpc3RvcnkjaGlrZXI6Ly9lbXB0eSdcIjtcbiAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBnZXRWYXIodmFyaSwgJzAnKSA9PSBpID8gZ2V0SGVhZCh0YWJzW2ldKSA6IHRhYnNbaV0sXG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcbiAgICAgICAgfSlcbiAgICB9XG4gICAgZC5wdXNoKHtcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xuICAgIH0pXG59XG5cbmZ1bmN0aW9uIHNldExpc3RzKGxpc3RzLCBpbmRleCkge1xuICAgIGQucHVzaCh7XG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcbiAgICB9KVxufVxuaWYgKGdldFZhcignc2hzb3J0JykgPT0gJzEnKSB7XG4gICAgdmFyIHN4ID0gJ+KAmOKAmOKAmeKAmTxmb250IGNvbG9yPVwiIzBhYTM0NFwiPuaOkuW6jzwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVwiIzBhYTM0NFwiPuKGkTwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVwiI2ZmNGMwMFwiPuKGkzwvZm9udD48L3NtYWxsPic7XG59IGVsc2Uge1xuICAgIHZhciBzeCA9ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cIiMwYWEzNDRcIj7mjpLluo88L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cIiNmZjRjMDBcIj7ihpE8L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cIiMwYWEzNDRcIj7ihpM8L2ZvbnQ+PC9zbWFsbD4nO1xufVxuXG5mdW5jdGlvbiBzZXRMaXN0cyhsaXN0cywgaW5kZXgpIHtcbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxzcGFuIHN0eWxlPVwiY29sb3I6JyArIENvbG9yMSArICdcIj48c21hbGw+6YCJ6ZuG5YiX6KGoPC9zbWFsbD4nICsgJ1xcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxzcGFuIHN0eWxlPVwiZmxvYXQ6cmlnaHRcIj4nICsgJzxzbWFsbD4nICsgc3ggKyAnPC9zbWFsbD4nLFxuICAgICAgICB1cmw6IGAjbm9Mb2FkaW5nI0BsYXp5UnVsZT0uanM6bGV0IGNvbmYgPSBnZXRWYXIoJ3Noc29ydCcpO2lmKGNvbmY9PScxJyl7cHV0VmFyKHtrZXk6J3Noc29ydCcsIHZhbHVlOicwJ30pO31lbHNle3B1dFZhcih7a2V5OidzaHNvcnQnLCB2YWx1ZTonMSd9KX07cmVmcmVzaFBhZ2UoKTsndG9hc3Q6Ly/liIfmjaLmjpLluo/miJDlip8nOycjbm9IaXN0b3J5I2hpa2VyOi8vZW1wdHknYCxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xuICAgIH0pXG4gICAgdmFyIGxpc3QgPSBsaXN0c1tpbmRleF07XG5cbiAgICBpZiAoZ2V0VmFyKCdzaHNvcnQnKSA9PSAnMScpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGZvciAodmFyIGogPSBsaXN0Lmxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRmcHVzaCA9PSAnMCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKS5yZXBsYWNlKC/nrKx86ZuGfOivnXzmnJ8vZywgJycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpICsgbGF6eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBsaXN0Lmxlbmd0aCA+IDQgPyAndGV4dF81JyA6ICd0ZXh0XzInXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB1cmx4ID0gJ2hpa2VyOi8vcGFnZS9wdXNoP3B1c2h1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBcIm5hbWVcIjogZ2V0UGFnZVRpdGxlKCkgKyBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicGljXCI6IHBhcnNlRG9tKGh0bWwsICcubGF6eWxvYWQmJmRhdGEtc3JjfHxkYXRhLW9yaWdpbmFsJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRlbnRcIjogcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcudmlkZW8taW5mby1jb250ZW50JiZUZXh0JykucmVwbGFjZSgn5pS26LW3JywgJycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJmcm9tXCI6IGdldFBhZ2VUaXRsZSgpICsgcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInVybFwiOiBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGV4dHJheCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JykucmVwbGFjZSgv56ysfOmbhnzor5185pyfL2csICcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdXJseCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBsaXN0Lmxlbmd0aCA+IDQgPyAndGV4dF81JyA6ICd0ZXh0XzInLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE6IGV4dHJheFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+ayoeaciemAiembhuWTn++8jOS4jeS/oeeCueWbvueJh+WOu+eci+eci/CfkYAnLFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIGlmICh0ZnB1c2ggPT0gJzAnKSB7XG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JykucmVwbGFjZSgv56ysfOmbhnzor5185pyfL2csICcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKSArIGxhenksXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNScgOiAndGV4dF8yJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJseCA9ICdoaWtlcjovL3BhZ2UvcHVzaD9wdXNodXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IGdldFBhZ2VUaXRsZSgpICsgcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInBpY1wiOiBwYXJzZURvbShodG1sLCAnLmxhenlsb2FkJiZkYXRhLXNyY3x8ZGF0YS1vcmlnaW5hbCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250ZW50XCI6IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLnZpZGVvLWluZm8tY29udGVudCYmVGV4dCcpLnJlcGxhY2UoJ+aUtui1tycsICcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZnJvbVwiOiBnZXRQYWdlVGl0bGUoKSArIHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ1cmxcIjogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKVxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBleHRyYXggPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJyksXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybHgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNScgOiAndGV4dF8yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhOiBleHRyYXhcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn5rKh5pyJ6YCJ6ZuG5ZOf77yM5LiN5L+h54K55Zu+54mH5Y6755yL55yL8J+RgCcsXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgIH1cbn1cbnNldFRhYnModGFicywgTVlfVVJMKTtcbnNldExpc3RzKGxpc3RzLCBnZXRWYXIoTVlfVVJMLCAnMCcpKTtcbmQucHVzaCh7XG4gICAgdGl0bGU6ICc8YnI+JyxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcbn0pO1xuc2V0UmVzdWx0KGQpOyIsInNkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwic2RldGFpbF9maW5kX3J1bGUiOiIqIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoiIiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlRzXCIsXCJwYXRoXCI6XCJwdXNoXCIsXCJydWxlXCI6XCJqczpcXG5sZXQgaXRlbXMgPSBbXTtcXG5sZXQgcHVzaGluID0gZGVjb2RlVVJJQ29tcG9uZW50KGdldFBhcmFtKFxcXCJwdXNodXJsXFxcIikpO1xcbmxldCB0dmlwID0gZ2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsICcnKTtcXG5cXG5pdGVtcy5wdXNoKHtcXG4gICAgdGl0bGU6ICflvZPliY1JUO+8micgKyB0dmlwLFxcbiAgICB1cmw6IFxcXCJpbnB1dDovL1xcXCIgKyBnZXRJdGVtKCdoaWtlcnR2Ym94c2V0JywgJ2h0dHA6Ly8nICsgZ2V0SVAoKSArICc6OTk3OCcpICsgXFxcIi8vLy/or7fovpPlhaVUVkJveOerr+eahElQ5Zyw5Z2A77yM5aaCaHR0cDovL1xcXCIgKyBnZXRJUCgpICsgXFxcIjo5OTc4LmpzOnNldEl0ZW0oJ2hpa2VydHZib3hzZXQnLGlucHV0KTtyZWZyZXNoUGFnZSgpXFxcIixcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG59KTtcXG52YXIgcHVybCA9IHB1c2hpbjtcXG5cXG5pZiAocHVzaGluLmluY2x1ZGVzKCdcXFxcbicpICYmICFwdXNoaW4uc3RhcnRzV2l0aCgneycpKSB7XFxuICAgIHB1cmwgPSBwdXNoaW4ucmVwbGFjZShcXFwiXFxcXG5cXFwiLCAnJCcpO1xcbn1cXG5pZiAocHVzaGluLnN0YXJ0c1dpdGgoJ2h0dHAnKSAmJiBwdXNoaW4uaW5jbHVkZXMoJzt7JykpIHtcXG4gICAgcHVybCA9IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIua1t+mYlOebtOmTvuaOqOmAgVxcXCIsXFxuICAgICAgICBcXFwidXJsXFxcIjogcHVzaGluXFxuICAgIH0pXFxufVxcbmlmIChwdXNoaW4uc3RhcnRzV2l0aCgnaHR0cHM6Ly93d3cuYWxpeXVuZHJpdmUuY29tL3MvJykpIHtcXG4gICAgbGV0IHJlZnRva2VuID0gSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy9pY3kvaWN5LWFsaS10b2tlbi5qc29uJywge30pKVswXS5yZWZyZXNoX3Rva2VuO1xcbiAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgXFxcInVybFxcXCI6IHB1c2hpbixcXG4gICAgICAgIFxcXCJyZWZyZXNoX3Rva2VuXFxcIjogcmVmdG9rZW5cXG4gICAgfSlcXG59XFxuaWYgKHB1c2hpbi5pbmNsdWRlcygnOjUyMDIwJykpIHtcXG4gICAgaWYgKHB1c2hpbi5pbmNsdWRlcygncmVkaXJlY3RQbGF5VXJsJykpIHtcXG4gICAgICAgIHB1cmwgPSBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5rW36ZiU5oqV5bGP55u06ZO+XFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjogcHVzaGluXFxuICAgICAgICB9KVxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgcHVybCA9IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLmtbfpmJTnvZHpobXmipXlsY9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBwdXNoaW5cXG4gICAgICAgIH0pXFxuICAgIH1cXG59XFxuXFxuLy9sb2coJ+aOqOmAgScrcHVybCk7XFxudmFyIHN0YXRlID0gcmVxdWVzdCh0dmlwICsgJy9hY3Rpb24nLCB7XFxuICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcXG4gICAgICAgIC8vJ1gtUmVxdWVzdGVkLVdpdGgnOiAnWE1MSHR0cFJlcXVlc3QnLFxcbiAgICAgICAgJ1JlZmVyZXInOiB0dmlwXFxuICAgIH0sXFxuICAgIHRpbWVvdXQ6IDIwMDAsXFxuICAgIGJvZHk6ICdkbz1wdXNoJnVybD0nICsgcHVybC5yZXBsYWNlKC9cXFxcJi9nLCAn77yG77yGJyksXFxuICAgIG1ldGhvZDogJ1BPU1QnXFxufSk7XFxuLy9sb2coc3RhdGUpO1xcbmlmIChzdGF0ZSA9PSAnb2snKSB7XFxuICAgIC8vbG9nKHN0YXRlKTtcXG4gICAgaXRlbXMucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIuKchVxcXCIgKyBzdGF0ZSxcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIlxcbiAgICB9KTtcXG59IGVsc2Uge1xcbiAgICAvL2xvZyhzdGF0ZSk7XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IFxcXCLinY5cXFwiICsgc3RhdGUsXFxuICAgICAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5XFxcIixcXG4gICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG4gICAgfSk7XFxuXFxufVxcbnNldFJlc3VsdChpdGVtcyk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJEdFwiLFwicGF0aFwiOlwiZHRcIixcInJ1bGVcIjpcImNvbnN0IGVtcHR5ID0gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuXFxudHJ5IHtcXG4gICAgdmFyIGNhdGVnb3JpZXMgPSBwZGZhKGh0bWwsIOWkp+exu+WumuS9jSkuY29uY2F0KHBkZmEoaHRtbCwg5ou85o6l5YiG57G7KSlcXG59IGNhdGNoIChlKSB7XFxuICAgIHZhciBjYXRlZ29yaWVzID0gcGRmYShodG1sLCDlpKfnsbvlrprkvY0pXFxufVxcblxcbmxldCBpbml0X2NhdGUgPSBbXVxcblxcbmZvciAobGV0IGkgPSAwOyBpIDwgMjA7IGkrKykge1xcbiAgICBpbml0X2NhdGUucHVzaChcXFwiMFxcXCIpXFxufVxcblxcbmNvbnN0IGZvbGQgPSBnZXRWYXIoTVlfUlVMRS5ncm91cCwgXFxcIjBcXFwiKVxcbmNvbnN0IGNhdGVfdGVtcF9qc29uID0gZ2V0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KGluaXRfY2F0ZSkpXFxuY29uc3QgY2F0ZV90ZW1wID0gSlNPTi5wYXJzZShjYXRlX3RlbXBfanNvbilcXG5cXG5pZiAocGFyc2VJbnQocGFnZSkgPT09IDEpIHtcXG5cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi8J+UjVxcXCIsXFxuICAgICAgICB1cmw6IFxcXCInaGlrZXI6Ly9zZWFyY2g/cnVsZT1cXFwiICsgTVlfUlVMRS50aXRsZSArIFxcXCImcz0nK2lucHV0XFxcIixcXG4gICAgICAgIGRlc2M6IFxcXCLmkJzkvaDmg7PnnIsuLi5cXFwiLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJpbnB1dFxcXCJcXG4gICAgfSk7XFxuXFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogIGZvbGQgPT09ICcxJyA/ICfigJzigJzigJ3igJ08Yj4nICsgJ/CfmYknLmZvbnRjb2xvcihcXFwiI0ZGMDAwMFxcXCIpICsgJzwvYj4nIDogJ+KAnOKAnOKAneKAnTxiPicgKyAn8J+ZiCcuZm9udGNvbG9yKFxcXCIjMWFhZDE5XFxcIikgKyAnPC9iPicsXFxuICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoZm9sZCkgPT4ge1xcbiAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLmdyb3VwLCBmb2xkID09PSAnMScgPyAnMCcgOiAnMScpO1xcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICB9LCBmb2xkKSxcXG4gICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgIH0pXFxuXFxuY2F0ZWdvcmllcy5mb3JFYWNoKChjYXRlZ29yeSwgaW5kZXgpID0+IHtcXG4gICAgICAgIGxldCBzdWJfY2F0ZWdvcmllcyA9IHBkZmEoY2F0ZWdvcnksIOWwj+exu+WumuS9jSk7XFxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gcGRmaChpdGVtLCDliIbnsbvmoIfpopgpXFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcImNvbG9yOiAnICsg5YiG57G76aKc6ImyICsgJ1xcXCI+JyArIHRpdGxlICsgJzwvc3Bhbj48L2I+JyA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld19jYXRlID0gW11cXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2F0ZV90ZW1wLmZvckVhY2goKGNhdGUsIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19jYXRlLnB1c2goaW5kZXggPT09IDAgPyBwYXJhbXMua2V5LnRvU3RyaW5nKCkgOiBcXFwiMFxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkobmV3X2NhdGUpKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9IGVsc2UgaWYgKGZvbGQgPT09ICcxJykge1xcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBrZXkudG9TdHJpbmcoKSA9PT0gY2F0ZV90ZW1wW2luZGV4XSA/ICfigJzigJzigJ3igJ08Yj48c3BhbiBzdHlsZT1cXFwiY29sb3I6ICcgKyDliIbnsbvpopzoibIgKyAnXFxcIj4nICsgdGl0bGUgKyAnPC9zcGFuPjwvYj4nIDogdGl0bGUsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQocGQoaXRlbSwg5YiG57G76ZO+5o6lKSArICcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChwYXJhbXMpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2F0ZV90ZW1wW3BhcmFtcy5pbmRleF0gPSBwYXJhbXMua2V5LnRvU3RyaW5nKClcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1zLmNhdGVfdGVtcCkpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudXJsLCBpbnB1dClcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlX3RlbXA6IGNhdGVfdGVtcCxcXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9XFxuICAgIH0pXFxufVxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwibGF6eTFcIixcInBhdGhcIjpcImxhenkxXCIsXCJydWxlXCI6XCJ2YXIgIGxhenkgPSAkKCcnKS5sYXp5UnVsZSgoTVlfSE9NRSkgPT4ge1xcbiAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UocmVxdWVzdChpbnB1dCkubWF0Y2goL3IgcGxheWVyXy4qPz0oLio/KTwvKVsxXSlcXG4gICAgdmFyIHVybCA9IGh0bWwudXJsXFxuICAgIGlmIChodG1sLmVuY3J5cHQgPT0gJzEnKSB7XFxuICAgICAgICB1cmwgPSB1bmVzY2FwZSh1cmwpO1xcbiAgICB9IGVsc2UgaWYgKGh0bWwuZW5jcnlwdCA9PSAnMicpIHtcXG4gICAgICAgIHVybCA9IHVuZXNjYXBlKGJhc2U2NERlY29kZSh1cmwpKTtcXG4gICAgfVxcbiAgICBpZiAoL20zdTgvLnRlc3QodXJsKSkge1xcbiAgICAgICAgaWYgKC9mZnp5fGx6Ly50ZXN0KHVybCkpIHtcXG4gICAgICAgICAgICBldmFsUHJpdmF0ZUpTKCdUdVNKZHBuWmFxWEdSdnZPRlJSKzNTN2VaVWplQzFDZmZGYkhob28wZTUrYVo3S2F2OUtaVlpzZmt3S2tVRmY0d3prVHJpbzRqQVJINlp3VFhwUmxIM2tJNDNyV0NUVTRQZFlhbTE1cFBZaXE1Y1cwSDZnVVhoSlc3dG1KdHlMS2RqZTFLYXBCSUd2V2FYSTBXbW9Ib01FRkJWL01BaWNtUGdweUFKWmpzYzVFbXZkaDFuNzJXUFBpeWhZTkNvTW5aOUpwUDZhRXNXUUVtUU1jQWpQeGdzNlVNdnNPL1BPdzVDY3I3OXNKemljc3QvTGwzSU9qNU0rUHZxS3JUZDYxNDdWR1BFenRqc1VlRXVkQVN6VGNuKzk1QzlWZzF1d1V2ZDl6MHc1cXNQYm9RaDVvWmhUeXM0UlFFekJHSXF1bFFNQUFRWTRJRmthbldYOTVFSU5aRFg1MG1BaU9TR3lJZDA2SHNwckFlbC9maDd3eU1YZG1ldStTMTVYbmNPN1V1dWpNT21HZ1NBRU4vU3NjMmV6a3hsR3ZwZHloYmw0cDREYVF1Zy9ucmdzd2haajc1L001M3NLWVgyelJnT1NUN0NNalYvK3BQSmQxS1A5MzR1dS9Wc0JRVUc2OW1XTitLYUZXaEtud0JQaFY5cWRxR3ovTFNKbkZ4SXZROGtCeCcpXFxuICAgICAgICAgICAgcmV0dXJuIHUgKyBcXFwiP3VybD1cXFwiICsgYmFzZTY0RW5jb2RlKHVybCkgKyBcXFwiIy5tM3U4XFxcIjtcXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiB1cmxcXG4gICAgfSBlbHNlIHtcXG52YXIganggPSBmZXRjaChNWV9IT01FICsgJy9zdGF0aWMvcGxheWVyLycgKyBodG1sLmZyb20gKyAnLmpzJykubWF0Y2goL3NyYz1cXFwiKC4qPyknLylbMV1cXG5cXG4gICAgICAgICAgICAgICAgdmFyIGp4eD1NWV9IT01FK2p4XFxuIGxvZyhqeHgpXFxuZnVuY3Rpb24gZ2V0cmFuZG9tKF8weDNjMmRkYSkge1xcbiAgcmFuZFN0ciA9IF8weDNjMmRkYS5zdWJzdHJpbmcoMCwgOCk7XFxuICBzdHJpbmcgPSBfMHgzYzJkZGEuc3Vic3RyaW5nKDgsIF8weDNjMmRkYS5sZW5ndGgpO1xcbiAgc3Vic3RyID0gb2pia2Jhc2U2NF9kZWNvZGUoc3RyaW5nKTtcXG4gIGNvbnNvbGUubG9nKHN1YnN0ci5zdWJzdHJpbmcoOCwgc3Vic3RyLmxlbmd0aCAtIDgpKTtcXG4gIHJldHVybiBVcmxEZWNvZGUoc3Vic3RyLnN1YnN0cmluZyg4LCBzdWJzdHIubGVuZ3RoIC0gOCkpO1xcbn1cXG4gICAgICAgXFxuICAgICAgIGZ1bmN0aW9uIFVybERlY29kZShfMHgxMmU3MmYpIHtcXG4gIHZhciBfMHgyZDIwMGYgPSBcXFwiXFxcIjtcXG5cXG4gIGZvciAodmFyIF8weGVlZjBhNCA9IDA7IF8weGVlZjBhNCA8IF8weDEyZTcyZi5sZW5ndGg7IF8weGVlZjBhNCsrKSB7XFxuICAgIHZhciBfMHgyZDFmY2QgPSBfMHgxMmU3MmYuY2hhckF0KF8weGVlZjBhNCk7XFxuXFxuICAgIGlmIChfMHgyZDFmY2QgPT0gXFxcIitcXFwiKSB7XFxuICAgICAgXzB4MmQyMDBmICs9IFxcXCIgXFxcIjtcXG4gICAgfSBlbHNlIGlmIChfMHgyZDFmY2QgPT0gXFxcIiVcXFwiKSB7XFxuICAgICAgdmFyIF8weDNkMjRlYSA9IF8weDEyZTcyZi5zdWJzdHJpbmcoXzB4ZWVmMGE0ICsgMSwgXzB4ZWVmMGE0ICsgMyk7XFxuXFxuICAgICAgaWYgKHBhcnNlSW50KFxcXCIweFxcXCIgKyBfMHgzZDI0ZWEpID4gMTI3KSB7XFxuICAgICAgICBfMHgyZDIwMGYgKz0gZGVjb2RlVVJJKFxcXCIlXFxcIiArIF8weDNkMjRlYS50b1N0cmluZygpICsgXzB4MTJlNzJmLnN1YnN0cmluZyhfMHhlZWYwYTQgKyAzLCBfMHhlZWYwYTQgKyA5KS50b1N0cmluZygpKTtcXG4gICAgICAgIF8weGVlZjBhNCArPSA4O1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBfMHgyZDIwMGYgKz0gQXNjaWlUb1N0cmluZyhwYXJzZUludChcXFwiMHhcXFwiICsgXzB4M2QyNGVhKSk7XFxuICAgICAgICBfMHhlZWYwYTQgKz0gMjtcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgXzB4MmQyMDBmICs9IF8weDJkMWZjZDtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIF8weDJkMjAwZjtcXG59XFxuXFxuZnVuY3Rpb24gU3RyaW5nVG9Bc2NpaShfMHg1NmNlYWEpIHtcXG4gIHJldHVybiBfMHg1NmNlYWEuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNik7XFxufVxcblxcbmZ1bmN0aW9uIEFzY2lpVG9TdHJpbmcoXzB4MTdjZTZiKSB7XFxuICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShfMHgxN2NlNmIpO1xcbn1cXG5cXG5mdW5jdGlvbiBvamJrYmFzZTY0X2RlY29kZShfMHgyNzg0ZDkpIHtcXG4gIHZhciBfMHg1NjgwNmEgPSBcXFwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz1cXFwiO1xcblxcbiAgdmFyIF8weDJmOTk0OCxcXG4gICAgICBfMHgxMWE3YmYsXFxuICAgICAgXzB4NWVmZjk5LFxcbiAgICAgIF8weDU1ZGRjMyxcXG4gICAgICBfMHgyYTQ4MTUsXFxuICAgICAgXzB4MmU4MjIyLFxcbiAgICAgIF8weDk5NTQzNSxcXG4gICAgICBfMHg1NmNmYzEsXFxuICAgICAgXzB4M2Y3M2VmID0gMCxcXG4gICAgICBfMHgzNTQ3NTYgPSAwLFxcbiAgICAgIF8weDRiYTBhOSA9IFxcXCJcXFwiLFxcbiAgICAgIF8weGQ5MjY5YSA9IFtdO1xcblxcbiAgaWYgKCFfMHgyNzg0ZDkpIHtcXG4gICAgcmV0dXJuIF8weDI3ODRkOTtcXG4gIH1cXG5cXG4gIF8weDI3ODRkOSArPSBcXFwiXFxcIjtcXG5cXG4gIGRvIHtcXG4gICAgXzB4NTVkZGMzID0gXzB4NTY4MDZhLmluZGV4T2YoXzB4Mjc4NGQ5LmNoYXJBdChfMHgzZjczZWYrKykpO1xcbiAgICBfMHgyYTQ4MTUgPSBfMHg1NjgwNmEuaW5kZXhPZihfMHgyNzg0ZDkuY2hhckF0KF8weDNmNzNlZisrKSk7XFxuICAgIF8weDJlODIyMiA9IF8weDU2ODA2YS5pbmRleE9mKF8weDI3ODRkOS5jaGFyQXQoXzB4M2Y3M2VmKyspKTtcXG4gICAgXzB4OTk1NDM1ID0gXzB4NTY4MDZhLmluZGV4T2YoXzB4Mjc4NGQ5LmNoYXJBdChfMHgzZjczZWYrKykpO1xcbiAgICBfMHg1NmNmYzEgPSBfMHg1NWRkYzMgPDwgMTggfCBfMHgyYTQ4MTUgPDwgMTIgfCBfMHgyZTgyMjIgPDwgNiB8IF8weDk5NTQzNTtcXG4gICAgXzB4MmY5OTQ4ID0gXzB4NTZjZmMxID4+IDE2ICYgMjU1O1xcbiAgICBfMHgxMWE3YmYgPSBfMHg1NmNmYzEgPj4gOCAmIDI1NTtcXG4gICAgXzB4NWVmZjk5ID0gXzB4NTZjZmMxICYgMjU1O1xcblxcbiAgICBpZiAoXzB4MmU4MjIyID09IDY0KSB7XFxuICAgICAgXzB4ZDkyNjlhW18weDM1NDc1NisrXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoXzB4MmY5OTQ4KTtcXG4gICAgfSBlbHNlIGlmIChfMHg5OTU0MzUgPT0gNjQpIHtcXG4gICAgICBfMHhkOTI2OWFbXzB4MzU0NzU2KytdID0gU3RyaW5nLmZyb21DaGFyQ29kZShfMHgyZjk5NDgsIF8weDExYTdiZik7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgXzB4ZDkyNjlhW18weDM1NDc1NisrXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoXzB4MmY5OTQ4LCBfMHgxMWE3YmYsIF8weDVlZmY5OSk7XFxuICAgIH1cXG4gIH0gd2hpbGUgKF8weDNmNzNlZiA8IF8weDI3ODRkOS5sZW5ndGgpO1xcblxcbiAgXzB4NGJhMGE5ID0gXzB4ZDkyNjlhLmpvaW4oXFxcIlxcXCIpO1xcbiAgcmV0dXJuIF8weDRiYTBhOTtcXG59XFxuICAgICAgIFxcbiAgICAgICAgZXZhbChyZXF1ZXN0KGp4eCsgdXJsLCB7XFxuICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgJ1JlZmVyZXInOiBNWV9VUkxcXG4gICAgICAgIH1cXG4gICAgfSkubWF0Y2goL3ZhciBjb25maWcgPSB7W1xcXFxzXFxcXFNdKj99LylbMF0pO1xcbiAgICAgdmFyIHVybGw9Y29uZmlnLnVybDtcXG4gICBcXG4gXFxuICAgIGxvZyh1cmxsKVxcblxcbiAgIGlmICgvZXJ0aW5nLm5ldC8udGVzdCh1cmxsKSkge1xcbiAgICBcXG4gICB2YXIgdmlkZW89IEpTT04ucGFyc2UocmVxdWVzdCh1cmxsLHtyZWRpcmVjdDpmYWxzZSwgd2l0aEhlYWRlcnM6dHJ1ZX0pKS5oZWFkZXJzLmxvY2F0aW9uWzBdXFxuIHJldHVybiB2aWRlbyArIFxcXCIjaXNWaWRlbz10cnVlI1xcXCJcXG4gICAgXFxufSBlbHNlXFxue1xcbnJldHVybiB1cmxsKyBcXFwiI2lzVmlkZW89dHJ1ZSNcXFwiXFxufVxcbiAgIFxcbiAgIH1cXG5cXG5cXG4gICAgXFxufSwgTVlfSE9NRSk7XCJ9XSIsImljb24iOiJodHRwczovL3d3dy5rbWVpanUuY29tL3N0YXRpYy9pbWFnZXMvbG9nby5wbmciLCJwcm94eSI6IiJ9
Add Comment
Please, Sign In to add comment