xiaomianao666

小程序:灰太狼

Mar 14th, 2024
534
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@灰太狼@eyJmaXJzdEhlYWRlciI6ImNsYXNzIiwibGFzdF9jaGFwdGVyX3J1bGUiOiIiLCJ0aXRsZSI6IueBsOWkqueLvCIsImF1dGhvciI6IuW/g+mtlCIsInVybCI6Imhpa2VyOi8vZW1wdHkjI2h0dHBzOi8vd3d3Lm1pbmppYW5jYWkuY29tL3ZvZHNob3cvZGlhbnlpbmctLS0tLS0tLWZ5cGFnZS0tLS8iLCJ2ZXJzaW9uIjowLCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xudmFyIGdldFJhbmdlQ29sb3JzID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICcjJyArICgnMDAwMDAnICsgKE1hdGgucmFuZG9tKCkgKiAweDEwMDAwMDAgPDwgMCkudG9TdHJpbmcoMTYpKS5zdWJzdHIoLTYpO1xufVxuXG5jb25zdCDliIbnsbvpopzoibIgPSBnZXRSYW5nZUNvbG9ycygpXG5jb25zdCDlpKfnsbvlrprkvY0gPSAnYm9keSYmLnNjcm9sbC1jb250ZW50J1xuY29uc3Qg5ou85o6l5YiG57G7ID0gJ2JvZHkmJi5tb2R1bGUtaXRlbS1ib3gnXG5jb25zdCDlsI/nsbvlrprkvY0gPSAnYm9keSYmYTpub3QoOm1hdGNoZXMo6aaW6aG1fOS7iuaXpeabtOaWsHzng63mppx8QVBQfOemj+WIqXzng63pl6h85o6S6KGMKSknXG5jb25zdCDliIbnsbvmoIfpopggPSAnYSYmVGV4dCdcbmNvbnN0IOWIhuexu+mTvuaOpSA9ICdhJiZocmVmJ1xuTVlfVVJMID0gTVlfVVJMLnJlcGxhY2UoJ2hpa2VyOi8vZW1wdHkjIycsICcnKVxuXG5sZXQgdHJ1ZV91cmwgPSBnZXRWYXIoTVlfUlVMRS51cmwsIE1ZX1VSTClcbmNvbnN0IHBhZ2UgPSBNWV9QQUdFXG5pZiAoZ2V0VmFyKE1ZX1JVTEUudXJsKSkge1xuICAgIHRydWVfdXJsID0gdHJ1ZV91cmwucmVwbGFjZSgvdHlwZShcXC9cXGQrKVxcLmh0bWwvLCAnc2hvdyQxLS0tLS0tLS0tLS0uaHRtbCcpLnJlcGxhY2UoJy0tLS8nLCBwYWdlICsgJy0tLS8nKS5yZXBsYWNlKC8oLS0tXFxkKy5odG1sKS8sIHBhZ2UgKyAnJDEnKVxufVxuXG52YXIgaHRtbCA9IHJlcXVlc3QodHJ1ZV91cmwpXG5cbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZHQnKSkucnVsZSlcblxudmFyIGxpc3QgPSBwZGZhKGh0bWwsICdib2R5JiYubW9kdWxlLWl0ZW0nKTtcbmZvciAodmFyIGogaW4gbGlzdCkge1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBwZGZoKGxpc3Rbal0sICdpbWcmJmFsdCcpLFxuICAgICAgICBkZXNjOiBwZGZoKGxpc3Rbal0sICcubW9kdWxlLWl0ZW0tbm90ZXx8Lm1vZHVsZS1pdGVtLXRleHQmJlRleHQnKSxcbiAgICAgICAgcGljX3VybDogcGQobGlzdFtqXSwgJ2ltZ3x8LmxhenkmJmRhdGEtb3JpZ2luYWx8fGRhdGEtc3JjJykgKyAnQFJlZmVyZXI9JyxcbiAgICAgIGV4dHJhOiB7ICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBteXRpdGxlOiBwZGZoKGxpc3Rbal0sICdpbWcmJmFsdCcpICAgICAgICAgICAgXG4gICAgICAgICAgICB9LFxuICAgICAgICB1cmw6IHBkKGxpc3Rbal0sICdhJiZocmVmJykgKyBcIiNpbW1lcnNpdmVUaGVtZSNcIlxuICAgIH0pO1xufVxuc2V0UmVzdWx0KGQpOyIsInNlYXJjaF91cmwiOiJodHRwczovL3d3dy5taW5qaWFuY2FpLmNvbS92b2RzZWFyY2gqKi9wYWdlL2Z5cGFnZS8iLCJncm91cCI6IiPvuI/ig6PlvbHop4YiLCJzZWFyY2hGaW5kIjoianM6XHJcbnZhciBkID0gW107XG5cbnZhciBsaXN0ID0gcGFyc2VEb21Gb3JBcnJheShnZXRSZXNDb2RlKCksICdib2R5JiYubW9kdWxlLXNlYXJjaC1pdGVtJyk7XHJcbmZvciAodmFyIGogaW4gbGlzdCkge1xyXG4gIGQucHVzaCh7XHJcbiAgICAgICB0aXRsZTogcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdpbWcmJmFsdCcpLFxyXG4gICAgICAgZGVzYzogcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICcubW9kdWxlLWluZm8taXRlbS1jb250ZW50OmNvbnRhaW5zKOS4u+a8lO+8mikmJlRleHQnKSxcbiAgICAgICBjb250ZW50OiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJy5tb2R1bGUtaXRlbS1ub3RlOmNvbnRhaW5zKOWJp+aDhe+8mikmJlRleHQnKSxcbiAgICAgICBpbWc6IHBhcnNlRG9tKGxpc3Rbal0sICdpbWcmJmRhdGEtc3JjJykrJ0BSZWZlcmVyPScsXG4gICAgICAgXHJcbiAgICAgICB1cmw6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJykrXCIjaW1tZXJzaXZlVGhlbWUjXCJcbiAgfSk7XHJcbn1cclxuc2V0UmVzdWx0KGQpOyIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xudmFyIGh0bWwgPSBnZXRSZXNDb2RlKCk7XG5cbnZhciBsYXp5ID0gJCgnJykubGF6eVJ1bGUoKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGZ1bmN0aW9uIHRvVXJsKHBsYXlVcmwpIHtcbiAgICAgICAgICAgIGlmICgvbWd0dnxzb2h1Ly50ZXN0KHBsYXlVcmwpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlVcmwgKyBcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKX1cIjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoL2JpbGkvLnRlc3QocGxheVVybCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybCArIFwiO3tVc2VyLUFnZW50QE1vemlsbGEvNS4wJiZSZWZlcmVyQGh0dHBzOi8vd3d3LmJpbGliaWxpLmNvbX1cIjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoL2l4aWd1YS8udGVzdChwbGF5VXJsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGF5VXJsICsgXCIjaXNWaWRlbz10cnVlI1wiICsgXCIjLm1wNDt7UmVmZXJlckBodHRwczovL3d3dy5peGlndWEuY29tLyYmVXNlci1BZ2VudEBNb3ppbGxhLzUuMH1cIjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlVcmw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgaHRtbCA9IHJlcXVlc3QoaW5wdXQsIHt9KTtcbiAgICAgICAgdmFyIHBsYXllcl9kYXRhID0gSlNPTi5wYXJzZShodG1sLm1hdGNoKC9yIHBsYXllcl8uKj89KC4qPyk8LylbMV0pO1xuICAgICAgICB2YXIgZnJvID0gcGxheWVyX2RhdGEuZnJvbTtcbiAgICAgICAgdmFyIHBsYXlVcmwgPSBwbGF5ZXJfZGF0YS51cmw7XG5cblxuICAgICAgICBpZiAocGxheWVyX2RhdGEuZW5jcnlwdCA9PSAnMScpIHtcbiAgICAgICAgICAgIHBsYXlVcmwgPSB1bmVzY2FwZShwbGF5ZXJfZGF0YS51cmwpO1xuICAgICAgICB9IGVsc2UgaWYgKHBsYXllcl9kYXRhLmVuY3J5cHQgPT0gJzInKSB7XG4gICAgICAgICAgICBwbGF5VXJsID0gdW5lc2NhcGUoYmFzZTY0RGVjb2RlKHBsYXllcl9kYXRhLnVybCkpO1xuICAgICAgICB9O1xuICAgICAgICB2YXIgZXhjbHVkZSA9IC9wbGF5bTN1OHxtM3U4XFwudHZ8bWluXFwuY3NzfDQwNFxcLm0zdTh8XFwuY3NzLztcbiAgICAgICAgdmFyIGNvbnRhaW4gPSAvXFwubXA0fFxcLm0zdTh8XFwuZmx2fFxcLmF2aXxcXC5tcGVnfFxcLndtdnxcXC5tb3Z8XFwucm12YnxcXC5kYXR8cXFCRmRvd25sb2FkfG1pbWU9dmlkZW8lMkZ8dmlkZW9fbXA0LztcbiAgICAgICAgaWYgKCFleGNsdWRlLnRlc3QocGxheVVybCkgJiYgY29udGFpbi50ZXN0KHBsYXlVcmwpKSB7XG4gICAgICAgICAgICByZXR1cm4gdG9VcmwocGxheVVybCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIganhVcmwgPSAnJztcbiAgICAgICAgdmFyIGp4SHRtbCA9IHJlcXVlc3QoanhVcmwsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBcIlVzZXItQWdlbnRcIjogXCJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiXG4gICAgICAgIH0pO1xuICAgICAgICBldmFsKGp4SHRtbC5tYXRjaCgvdmFyIGNvbmZpZyA9IHtbXFxzXFxTXSo/fS8pWzBdICsgXCJcIik7XG4gICAgICAgIHZhciBhcGlVcmwgPSAnJztcbiAgICAgICAgdmFyIGFwaUh0bWwgPSByZXF1ZXN0KGFwaVVybCwge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBib2R5OiBcInVybD1cIiArIGNvbmZpZy51cmwgKyBcIiZ0aW1lPVwiICsgY29uZmlnLnRpbWUgKyBcIiZrZXk9XCIgKyBjb25maWcua2V5LFxuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIlxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGFwaUh0bWwpO1xuICAgICAgICBpZiAoanNvbi5jb2RlID09IDIwMCkge1xuICAgICAgICAgICAgcGxheVVybCA9IGpzb24udXJsO1xuICAgICAgICAgICAgcmV0dXJuIHRvVXJsKHBsYXlVcmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovLycgKyBqc29uLm1zZztcbiAgICAgICAgfVxuXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvL3NldEVycm9yKGUpO1xuICAgICAgICBzaG93TG9hZGluZyhcIuato+WcqOi/m+ihjOajgOe0ou+8jOivt+eojeWAmS4uLlwiKTtcbiAgICAgICAgdmFyIHZpZGVvID0gJ3g1UnVsZTovLycgKyBpbnB1dCArICdAJyArICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgLy9mYmEubG9nKGZiYS5nZXRVcmxzKCkpXG4gICAgICAgICAgICB2YXIgdXJscyA9IF9nZXRVcmxzKClcbiAgICAgICAgICAgIHZhciBleGNsdWRlID0gL3BsYXltM3U4fG0zdThcXC50dnxtaW5cXC5jc3N8NDA0XFwubTN1OHxcXC5jc3MvO1xuICAgICAgICAgICAgdmFyIGNvbnRhaW4gPSAvXFwubXA0fFxcLm0zdTh8XFwuZmx2fFxcLmF2aXxcXC5tcGVnfFxcLndtdnxcXC5tb3Z8XFwucm12YnxcXC5kYXR8cXFCRmRvd25sb2FkfG1pbWU9dmlkZW8lMkZ8dmlkZW9fbXA0LztcbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gdXJscykge1xuICAgICAgICAgICAgICAgIGlmICghZXhjbHVkZS50ZXN0KHVybHNbaV0pICYmIGNvbnRhaW4udGVzdCh1cmxzW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBmeV9icmlkZ2VfYXBwLmxvZyh1cmxzW2ldKVxuICAgICAgICAgICAgICAgICAgICBpZiAoL21ndHZ8c29odS8udGVzdCh1cmxzW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyBcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKX1cIjtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvYmlsaS8udGVzdCh1cmxzW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyBcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCYmUmVmZXJlckBodHRwczovL3d3dy5iaWxpYmlsaS5jb219XCI7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL2l4aWd1YS8udGVzdCh1cmxzW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyBcIiNpc1ZpZGVvPXRydWUjXCIgKyBcIiMubXA0O3tSZWZlcmVyQGh0dHBzOi8vd3d3Lml4aWd1YS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfVwiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB2aWRlbztcbiAgICB9XG59KTtcblxuLy/nur/ot6/lkI3liJfooajnmoTlrprkvY1cbnZhciBhcnRzID0gcGFyc2VEb21Gb3JBcnJheShodG1sLCAnYm9keSYmLnRhYi1pdGVtJyk7XG5cbi8v57q/6Lev5ZCN5YiX6KGo5ZCN56ew55qE5a6a5L2NXG52YXIgdGFicyA9IFtdO1xuZm9yICh2YXIgaSBpbiBhcnRzKSB7XG4gICAgdGFicy5wdXNoKHBhcnNlRG9tRm9ySHRtbChhcnRzW2ldLCAnc3BhbiYmVGV4dCcpKVxufVxuXG4vL+aSreaUvuWIl+ihqOeahOWIl+ihqOeahOWumuS9jVxudmFyIGNvbnRzID0gcGFyc2VEb21Gb3JBcnJheShodG1sLCAnYm9keSYmLm1vZHVsZS1wbGF5LWxpc3QtY29udGVudHx8Lm1vZHVsZS1zb3J0dGFiJyk7XG52YXIgbGlzdHMgPSBbXTtcbmZvciAodmFyIGkgaW4gY29udHMpIHtcbiAgICB2YXIgdGVtcCA9IHBhcnNlRG9tRm9yQXJyYXkoY29udHNbaV0sICdib2R5JiZhOm5vdCg6Y29udGFpbnMo5o6S5bqPKSknKVxuICAgIGxpc3RzLnB1c2godGVtcClcbn1cblxudmFyIOWvvOa8lCA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLm1vZHVsZS1pbmZvLWl0ZW06Y29udGFpbnMo5a+85ryU77yaKSYmVGV4dCcpLnJlcGxhY2UoL1xcLy9nLCAnICcpO1xuXG52YXIg5Li75ryUID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcudmlkZW8taW5mby1pdGVtczpjb250YWlucyjkuLvmvJTvvJopJiZUZXh0JykucmVwbGFjZSgvXFwvL2csICcgJyk7XG5cbnZhciDmm7TmlrAgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5tb2R1bGUtaW5mby1pdGVtOmNvbnRhaW5zKOmbhuaVsCkmJlRleHQnKTtcblxudmFyIOeKtuaAgSA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLm1vZHVsZS1pbmZvLWl0ZW06Y29udGFpbnMo5LiK5pig77yaKSYmVGV4dCcpO1xuXG52YXIg5Zu+54mHID0gcGFyc2VEb20oaHRtbCwgJy5sYXp5bG9hZCYmZGF0YS1zcmN8fGRhdGEtb3JpZ2luYWwnKTtcblxudmFyIOeugOS7iyA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLnZvZF9jb250ZW50JiZUZXh0JykucmVwbGFjZSgn5pS26LW3JywgJycpO1xuXG52YXIgQ29sb3IgPSBcIiNmMTNiNjZhXCI7XG52YXIgQ29sb3IxID0gXCIjMDk4QUMxXCI7XG5cbmZ1bmN0aW9uIGdldEhlYWQodGl0bGUpIHtcbiAgICByZXR1cm4gJ+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+JyxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcbn0pO1xuc2V0UmVzdWx0KGQpOyIsInNkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwic2RldGFpbF9maW5kX3J1bGUiOiIqIiwidWEiOiJwYyIsInByZVJ1bGUiOiIiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiVHNcIixcInBhdGhcIjpcInB1c2hcIixcInJ1bGVcIjpcImpzOlxcbmxldCBpdGVtcyA9IFtdO1xcbmxldCBwdXNoaW4gPSBkZWNvZGVVUklDb21wb25lbnQoZ2V0UGFyYW0oXFxcInB1c2h1cmxcXFwiKSk7XFxubGV0IHR2aXAgPSBnZXRJdGVtKCdoaWtlcnR2Ym94c2V0JywgJycpO1xcblxcbml0ZW1zLnB1c2goe1xcbiAgICB0aXRsZTogJ+W9k+WJjUlQ77yaJyArIHR2aXAsXFxuICAgIHVybDogXFxcImlucHV0Oi8vXFxcIiArIGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnaHR0cDovLycgKyBnZXRJUCgpICsgJzo5OTc4JykgKyBcXFwiLy8vL+ivt+i+k+WFpVRWQm9456uv55qESVDlnLDlnYDvvIzlpoJodHRwOi8vXFxcIiArIGdldElQKCkgKyBcXFwiOjk5NzguanM6c2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcXFwiLFxcbiAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbn0pO1xcbnZhciBwdXJsID0gcHVzaGluO1xcblxcbmlmIChwdXNoaW4uaW5jbHVkZXMoJ1xcXFxuJykgJiYgIXB1c2hpbi5zdGFydHNXaXRoKCd7JykpIHtcXG4gICAgcHVybCA9IHB1c2hpbi5yZXBsYWNlKFxcXCJcXFxcblxcXCIsICckJyk7XFxufVxcbmlmIChwdXNoaW4uc3RhcnRzV2l0aCgnaHR0cCcpICYmIHB1c2hpbi5pbmNsdWRlcygnO3snKSkge1xcbiAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5rW36ZiU55u06ZO+5o6o6YCBXFxcIixcXG4gICAgICAgIFxcXCJ1cmxcXFwiOiBwdXNoaW5cXG4gICAgfSlcXG59XFxuaWYgKHB1c2hpbi5zdGFydHNXaXRoKCdodHRwczovL3d3dy5hbGl5dW5kcml2ZS5jb20vcy8nKSkge1xcbiAgICBsZXQgcmVmdG9rZW4gPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2ljeS9pY3ktYWxpLXRva2VuLmpzb24nLCB7fSkpWzBdLnJlZnJlc2hfdG9rZW47XFxuICAgIHB1cmwgPSBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICBcXFwidXJsXFxcIjogcHVzaGluLFxcbiAgICAgICAgXFxcInJlZnJlc2hfdG9rZW5cXFwiOiByZWZ0b2tlblxcbiAgICB9KVxcbn1cXG5pZiAocHVzaGluLmluY2x1ZGVzKCc6NTIwMjAnKSkge1xcbiAgICBpZiAocHVzaGluLmluY2x1ZGVzKCdyZWRpcmVjdFBsYXlVcmwnKSkge1xcbiAgICAgICAgcHVybCA9IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLmtbfpmJTmipXlsY/nm7Tpk75cXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBwdXNoaW5cXG4gICAgICAgIH0pXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIua1t+mYlOe9kemhteaKleWxj1xcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6IHB1c2hpblxcbiAgICAgICAgfSlcXG4gICAgfVxcbn1cXG5cXG4vL2xvZygn5o6o6YCBJytwdXJsKTtcXG52YXIgc3RhdGUgPSByZXF1ZXN0KHR2aXAgKyAnL2FjdGlvbicsIHtcXG4gICAgaGVhZGVyczoge1xcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxcbiAgICAgICAgLy8nWC1SZXF1ZXN0ZWQtV2l0aCc6ICdYTUxIdHRwUmVxdWVzdCcsXFxuICAgICAgICAnUmVmZXJlcic6IHR2aXBcXG4gICAgfSxcXG4gICAgdGltZW91dDogMjAwMCxcXG4gICAgYm9keTogJ2RvPXB1c2gmdXJsPScgKyBwdXJsLnJlcGxhY2UoL1xcXFwmL2csICfvvIbvvIYnKSxcXG4gICAgbWV0aG9kOiAnUE9TVCdcXG59KTtcXG4vL2xvZyhzdGF0ZSk7XFxuaWYgKHN0YXRlID09ICdvaycpIHtcXG4gICAgLy9sb2coc3RhdGUpO1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi4pyFXFxcIiArIHN0YXRlLFxcbiAgICAgICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxuICAgIH0pO1xcbn0gZWxzZSB7XFxuICAgIC8vbG9nKHN0YXRlKTtcXG4gICAgaXRlbXMucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIuKdjlxcXCIgKyBzdGF0ZSxcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIlxcbiAgICB9KTtcXG5cXG59XFxuc2V0UmVzdWx0KGl0ZW1zKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkR0XCIsXCJwYXRoXCI6XCJkdFwiLFwicnVsZVwiOlwiY29uc3QgZW1wdHkgPSBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG5cXG50cnkge1xcbiAgICB2YXIgY2F0ZWdvcmllcyA9IHBkZmEoaHRtbCwg5aSn57G75a6a5L2NKS5jb25jYXQocGRmYShodG1sLCDmi7zmjqXliIbnsbspKVxcbn0gY2F0Y2ggKGUpIHtcXG4gICAgdmFyIGNhdGVnb3JpZXMgPSBwZGZhKGh0bWwsIOWkp+exu+WumuS9jSlcXG59XFxuXFxubGV0IGluaXRfY2F0ZSA9IFtdXFxuXFxuZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgaSsrKSB7XFxuICAgIGluaXRfY2F0ZS5wdXNoKFxcXCIwXFxcIilcXG59XFxuXFxuY29uc3QgZm9sZCA9IGdldFZhcihNWV9SVUxFLmdyb3VwLCBcXFwiMFxcXCIpXFxuY29uc3QgY2F0ZV90ZW1wX2pzb24gPSBnZXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkoaW5pdF9jYXRlKSlcXG5jb25zdCBjYXRlX3RlbXAgPSBKU09OLnBhcnNlKGNhdGVfdGVtcF9qc29uKVxcblxcbmlmIChwYXJzZUludChwYWdlKSA9PT0gMSkge1xcblxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IFxcXCLwn5SNXFxcIixcXG4gICAgICAgIHVybDogXFxcIidoaWtlcjovL3NlYXJjaD9ydWxlPVxcXCIgKyBNWV9SVUxFLnRpdGxlICsgXFxcIiZzPScraW5wdXRcXFwiLFxcbiAgICAgICAgZGVzYzogXFxcIuaQnOS9oOaDs+eciy4uLlxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIlxcbiAgICB9KTtcXG5cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAgZm9sZCA9PT0gJzEnID8gJ+KAnOKAnOKAneKAnTxiPicgKyAn8J+ZiScuZm9udGNvbG9yKFxcXCIjRkYwMDAwXFxcIikgKyAnPC9iPicgOiAn4oCc4oCc4oCd4oCdPGI+JyArICfwn5mIJy5mb250Y29sb3IoXFxcIiMxYWFkMTlcXFwiKSArICc8L2I+JyxcXG4gICAgICAgIHVybDogJCgpLmxhenlSdWxlKChmb2xkKSA9PiB7XFxuICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUuZ3JvdXAsIGZvbGQgPT09ICcxJyA/ICcwJyA6ICcxJyk7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgIH0sIGZvbGQpLFxcbiAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgfSlcXG5cXG5jYXRlZ29yaWVzLmZvckVhY2goKGNhdGVnb3J5LCBpbmRleCkgPT4ge1xcbiAgICAgICAgbGV0IHN1Yl9jYXRlZ29yaWVzID0gcGRmYShjYXRlZ29yeSwg5bCP57G75a6a5L2NKTtcXG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBrZXkudG9TdHJpbmcoKSA9PT0gY2F0ZV90ZW1wW2luZGV4XSA/ICfigJzigJzigJ3igJ08Yj48c3BhbiBzdHlsZT1cXFwiY29sb3I6ICcgKyDliIbnsbvpopzoibIgKyAnXFxcIj4nICsgdGl0bGUgKyAnPC9zcGFuPjwvYj4nIDogdGl0bGUsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQocGQoaXRlbSwg5YiG57G76ZO+5o6lKSArICcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChwYXJhbXMpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3X2NhdGUgPSBbXVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5jYXRlX3RlbXAuZm9yRWFjaCgoY2F0ZSwgaW5kZXgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2NhdGUucHVzaChpbmRleCA9PT0gMCA/IHBhcmFtcy5rZXkudG9TdHJpbmcoKSA6IFxcXCIwXFxcIilcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnRpdGxlLCBKU09OLnN0cmluZ2lmeShuZXdfY2F0ZSkpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudXJsLCBpbnB1dClcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlX3RlbXA6IGNhdGVfdGVtcCxcXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGtleSxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiBwYWdlLFxcbiAgICAgICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJibGFua19ibG9ja1xcXCJcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH0gZWxzZSBpZiAoZm9sZCA9PT0gJzEnKSB7XFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXMuZm9yRWFjaCgoaXRlbSwga2V5KSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCB0aXRsZSA9IHBkZmgoaXRlbSwg5YiG57G75qCH6aKYKVxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGtleS50b1N0cmluZygpID09PSBjYXRlX3RlbXBbaW5kZXhdID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogJyArIOWIhuexu+minOiJsiArICdcXFwiPicgKyB0aXRsZSArICc8L3NwYW4+PC9iPicgOiB0aXRsZSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5jYXRlX3RlbXBbcGFyYW1zLmluZGV4XSA9IHBhcmFtcy5rZXkudG9TdHJpbmcoKVxcblxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnRpdGxlLCBKU09OLnN0cmluZ2lmeShwYXJhbXMuY2F0ZV90ZW1wKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS51cmwsIGlucHV0KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGtleSxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiBwYWdlLFxcbiAgICAgICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJibGFua19ibG9ja1xcXCJcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG4gICAgfSlcXG59XFxuXCJ9XSIsImljb24iOiJodHRwczovL3d3dy5taW5qaWFuY2FpLmNvbS90ZW1wbGF0ZS9teG9uZS9teHN0YXRpYy9waWN0dXJlL2Zhdmljb24ucG5nIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment