xiaomianao666

小程序:LIBVIO

Jan 21st, 2024
6,787
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@LIBVIO@eyJmaXJzdEhlYWRlciI6ImNsYXNzIiwibGFzdF9jaGFwdGVyX3J1bGUiOiIiLCJ0aXRsZSI6IkxJQlZJTyIsImF1dGhvciI6IuW/g+mtlCIsInVybCI6Imhpa2VyOi8vZW1wdHkjI2h0dHBzOi8vd3d3LmxpYnZpby5wcm8vdHlwZS8xLWZ5cGFnZS5odG1sIiwidmVyc2lvbiI6MCwiY29sX3R5cGUiOiJtb3ZpZV8zIiwiY2xhc3NfbmFtZSI6IiIsInR5cGUiOiJ2aWRlbyIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxudmFyIGQgPSBbXTtcbnZhciBnZXRSYW5nZUNvbG9ycyA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnIycgKyAoJzAwMDAwJyArIChNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwIDw8IDApLnRvU3RyaW5nKDE2KSkuc3Vic3RyKC02KTtcbn1cblxuY29uc3Qg5YiG57G76aKc6ImyID0gZ2V0UmFuZ2VDb2xvcnMoKVxuY29uc3Qg5aSn57G75a6a5L2NID0gJ2JvZHkmJi5kcm9wZG93bi50eXBlJ1xuY29uc3Qg5ou85o6l5YiG57G7ID0gJ2JvZHktLS5pdGVtJiYuaXRlbSYmLmNsZWFyZml4J1xuY29uc3Qg5bCP57G75a6a5L2NID0gJ2JvZHkmJmE6bm90KDptYXRjaGVzKOmmlumhtXzku4rml6Xmm7TmlrB854Ot5qacfEFQUHznpo/liKl854Ot6ZeofOaOkuihjHzkuIrmmKApKSdcbmNvbnN0IOWIhuexu+agh+mimCA9ICdhJiZUZXh0J1xuY29uc3Qg5YiG57G76ZO+5o6lID0gJ2EmJmhyZWYnXG5NWV9VUkwgPSBNWV9VUkwucmVwbGFjZSgnaGlrZXI6Ly9lbXB0eSMjJywgJycpXG5cbmxldCB0cnVlX3VybCA9IGdldFZhcihNWV9SVUxFLnVybCwgTVlfVVJMKVxuY29uc3QgcGFnZSA9IE1ZX1BBR0VcbmlmIChnZXRWYXIoTVlfUlVMRS51cmwpKSB7XG4gICAgdHJ1ZV91cmwgPSB0cnVlX3VybC5yZXBsYWNlKC90eXBlKFxcL1xcZCspXFwuaHRtbC8sICdzaG93JDEtLS0tLS0tLS0tLS5odG1sJykucmVwbGFjZSgnLS0tLmh0bWwnLCBwYWdlICsgJy0tLS5odG1sJykucmVwbGFjZSgvKC0tLVxcZCsuaHRtbCkvLCBwYWdlICsgJyQxJylcbn1cblxudmFyIGh0bWwgPSByZXF1ZXN0KHRydWVfdXJsKVxuXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2R0JykpLnJ1bGUpXG5cbnZhciBsaXN0ID0gcGRmYShodG1sLCAnYm9keSYmLnN0dWktdm9kbGlzdCYmbGknKTtcbmZvciAodmFyIGogaW4gbGlzdCkge1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBwZGZoKGxpc3Rbal0sICdhJiZ0aXRsZScpLFxuICAgICAgICBkZXNjOiBwZGZoKGxpc3Rbal0sICcucGljLXRleHQmJlRleHQnKSxcbiAgICAgICAgcGljX3VybDogcGQobGlzdFtqXSwgJ2EmJmRhdGEtb3JpZ2luYWwnKSArICdAUmVmZXJlcj0nLFxuICAgICAgZXh0cmE6IHsgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIG15dGl0bGU6IHBkZmgobGlzdFtqXSwgJ2ltZyYmYWx0JykgICAgICAgICAgICBcbiAgICAgICAgICAgIH0sXG4gICAgICAgIHVybDogcGQobGlzdFtqXSwgJ2EmJmhyZWYnKSArIFwiI2ltbWVyc2l2ZVRoZW1lI1wiXG4gICAgfSk7XG59XG5zZXRSZXN1bHQoZCk7Iiwic2VhcmNoX3VybCI6Imh0dHBzOi8vd3d3LmxpYnZpby5wcm8vc2VhcmNoLyoqLS0tLS0tLS0tLWZ5cGFnZS0tLS5odG1sIiwiZ3JvdXAiOiIj77iP4oOj5b2x6KeGIiwic2VhcmNoRmluZCI6ImpzOlxyXG52YXIgZCA9IFtdO1xuXG52YXIgbGlzdCA9IHBhcnNlRG9tRm9yQXJyYXkoZ2V0UmVzQ29kZSgpLCAnYm9keSYmLnN0dWktdm9kbGlzdCYmbGknKTtcclxuZm9yICh2YXIgaiBpbiBsaXN0KSB7XHJcbiAgZC5wdXNoKHtcclxuICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJnRpdGxlJyksXHJcbiAgICAgICBkZXNjOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJy5tb2R1bGUtaW5mby1pdGVtLWNvbnRlbnQ6Y29udGFpbnMo5Li75ryU77yaKSYmVGV4dCcpLFxuICAgICAgIGNvbnRlbnQ6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnLm1vZHVsZS1pdGVtLW5vdGU6Y29udGFpbnMo5Ymn5oOF77yaKSYmVGV4dCcpLFxuICAgICAgIGltZzogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmRhdGEtb3JpZ2luYWwnKSsnQFJlZmVyZXI9JyxcbiAgICAgICBcclxuICAgICAgIHVybDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKStcIiNpbW1lcnNpdmVUaGVtZSNcIlxuICB9KTtcclxufVxyXG5zZXRSZXN1bHQoZCk7IiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiJqczpcbnZhciBkID0gW107XG52YXIgaHRtbCA9IGdldFJlc0NvZGUoKTtcblxudmFyIGxhenkgPSAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgZnVuY3Rpb24gdG9VcmwocGxheVVybCkge1xuICAgICAgICAgICAgaWYgKC9tZ3R2fHNvaHUvLnRlc3QocGxheVVybCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybCArIFwiO3tVc2VyLUFnZW50QE1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApfVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgvYmlsaS8udGVzdChwbGF5VXJsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGF5VXJsICsgXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAmJlJlZmVyZXJAaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tfVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgvaXhpZ3VhLy50ZXN0KHBsYXlVcmwpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlVcmwgKyBcIiNpc1ZpZGVvPXRydWUjXCIgKyBcIiMubXA0O3tSZWZlcmVyQGh0dHBzOi8vd3d3Lml4aWd1YS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfVwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBodG1sID0gcmVxdWVzdChpbnB1dCwge30pO1xuICAgICAgICB2YXIgcGxheWVyX2RhdGEgPSBKU09OLnBhcnNlKGh0bWwubWF0Y2goL3IgcGxheWVyXy4qPz0oLio/KTwvKVsxXSk7XG4gICAgICAgIHZhciBmcm8gPSBwbGF5ZXJfZGF0YS5mcm9tO1xuICAgICAgICB2YXIgcGxheVVybCA9IHBsYXllcl9kYXRhLnVybDtcblxuXG4gICAgICAgIGlmIChwbGF5ZXJfZGF0YS5lbmNyeXB0ID09ICcxJykge1xuICAgICAgICAgICAgcGxheVVybCA9IHVuZXNjYXBlKHBsYXllcl9kYXRhLnVybCk7XG4gICAgICAgIH0gZWxzZSBpZiAocGxheWVyX2RhdGEuZW5jcnlwdCA9PSAnMicpIHtcbiAgICAgICAgICAgIHBsYXlVcmwgPSB1bmVzY2FwZShiYXNlNjREZWNvZGUocGxheWVyX2RhdGEudXJsKSk7XG4gICAgICAgIH07XG4gICAgICAgIHZhciBleGNsdWRlID0gL3BsYXltM3U4fG0zdThcXC50dnxtaW5cXC5jc3N8NDA0XFwubTN1OHxcXC5jc3MvO1xuICAgICAgICB2YXIgY29udGFpbiA9IC9cXC5tcDR8XFwubTN1OHxcXC5mbHZ8XFwuYXZpfFxcLm1wZWd8XFwud212fFxcLm1vdnxcXC5ybXZifFxcLmRhdHxxcUJGZG93bmxvYWR8bWltZT12aWRlbyUyRnx2aWRlb19tcDQvO1xuICAgICAgICBpZiAoIWV4Y2x1ZGUudGVzdChwbGF5VXJsKSAmJiBjb250YWluLnRlc3QocGxheVVybCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0b1VybChwbGF5VXJsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBqeFVybCA9ICcnO1xuICAgICAgICB2YXIganhIdG1sID0gcmVxdWVzdChqeFVybCwge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCJcbiAgICAgICAgfSk7XG4gICAgICAgIGV2YWwoanhIdG1sLm1hdGNoKC92YXIgY29uZmlnID0ge1tcXHNcXFNdKj99LylbMF0gKyBcIlwiKTtcbiAgICAgICAgdmFyIGFwaVVybCA9ICcnO1xuICAgICAgICB2YXIgYXBpSHRtbCA9IHJlcXVlc3QoYXBpVXJsLCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgXCJVc2VyLUFnZW50XCI6IFwiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMClcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvZHk6IFwidXJsPVwiICsgY29uZmlnLnVybCArIFwiJnRpbWU9XCIgKyBjb25maWcudGltZSArIFwiJmtleT1cIiArIGNvbmZpZy5rZXksXG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiXG4gICAgICAgIH0pO1xuICAgICAgICB2YXIganNvbiA9IEpTT04ucGFyc2UoYXBpSHRtbCk7XG4gICAgICAgIGlmIChqc29uLmNvZGUgPT0gMjAwKSB7XG4gICAgICAgICAgICBwbGF5VXJsID0ganNvbi51cmw7XG4gICAgICAgICAgICByZXR1cm4gdG9VcmwocGxheVVybCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8vJyArIGpzb24ubXNnO1xuICAgICAgICB9XG5cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vc2V0RXJyb3IoZSk7XG4gICAgICAgIHNob3dMb2FkaW5nKFwi5q2j5Zyo6L+b6KGM5qOA57Si77yM6K+356iN5YCZLi4uXCIpO1xuICAgICAgICB2YXIgdmlkZW8gPSAneDVSdWxlOi8vJyArIGlucHV0ICsgJ0AnICsgJC50b1N0cmluZygoKSA9PiB7XG4gICAgICAgICAgICAvL2ZiYS5sb2coZmJhLmdldFVybHMoKSlcbiAgICAgICAgICAgIHZhciB1cmxzID0gX2dldFVybHMoKVxuICAgICAgICAgICAgdmFyIGV4Y2x1ZGUgPSAvcGxheW0zdTh8bTN1OFxcLnR2fG1pblxcLmNzc3w0MDRcXC5tM3U4fFxcLmNzcy87XG4gICAgICAgICAgICB2YXIgY29udGFpbiA9IC9cXC5tcDR8XFwubTN1OHxcXC5mbHZ8XFwuYXZpfFxcLm1wZWd8XFwud212fFxcLm1vdnxcXC5ybXZifFxcLmRhdHxxcUJGZG93bmxvYWR8bWltZT12aWRlbyUyRnx2aWRlb19tcDQvO1xuICAgICAgICAgICAgZm9yICh2YXIgaSBpbiB1cmxzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFleGNsdWRlLnRlc3QodXJsc1tpXSkgJiYgY29udGFpbi50ZXN0KHVybHNbaV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGZ5X2JyaWRnZV9hcHAubG9nKHVybHNbaV0pXG4gICAgICAgICAgICAgICAgICAgIGlmICgvbWd0dnxzb2h1Ly50ZXN0KHVybHNbaV0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJsc1tpXSArIFwiO3tVc2VyLUFnZW50QE1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApfVwiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9iaWxpLy50ZXN0KHVybHNbaV0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJsc1tpXSArIFwiO3tVc2VyLUFnZW50QE1vemlsbGEvNS4wJiZSZWZlcmVyQGh0dHBzOi8vd3d3LmJpbGliaWxpLmNvbX1cIjtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvaXhpZ3VhLy50ZXN0KHVybHNbaV0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJsc1tpXSArIFwiI2lzVmlkZW89dHJ1ZSNcIiArIFwiIy5tcDQ7e1JlZmVyZXJAaHR0cHM6Ly93d3cuaXhpZ3VhLmNvbS8mJlVzZXItQWdlbnRATW96aWxsYS81LjB9XCI7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJsc1tpXVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHZpZGVvO1xuICAgIH1cbn0pO1xuXG4vL+e6v+i3r+WQjeWIl+ihqOeahOWumuS9jVxudmFyIGFydHMgPSBwYXJzZURvbUZvckFycmF5KGh0bWwsICdib2R5JiYuaWNvbi1pY29uZm9udHBsYXkyOm5vdCg6bWF0Y2hlcyjnjJzkvaDllpzmrKJ8572R55uYKSknKTtcblxuLy/nur/ot6/lkI3liJfooajlkI3np7DnmoTlrprkvY1cbnZhciB0YWJzID0gW107XG5mb3IgKHZhciBpIGluIGFydHMpIHtcbiAgICB0YWJzLnB1c2gocGFyc2VEb21Gb3JIdG1sKGFydHNbaV0sICdUZXh0JykpXG59XG5cbi8v5pKt5pS+5YiX6KGo55qE5YiX6KGo55qE5a6a5L2NXG52YXIgY29udHMgPSBwYXJzZURvbUZvckFycmF5KGh0bWwsICdib2R5JiYuc3R1aS1jb250ZW50X19wbGF5bGlzdCcpO1xudmFyIGxpc3RzID0gW107XG5mb3IgKHZhciBpIGluIGNvbnRzKSB7XG4gICAgdmFyIHRlbXAgPSBwYXJzZURvbUZvckFycmF5KGNvbnRzW2ldLCAnYm9keSYmYTpub3QoOmNvbnRhaW5zKOaOkuW6jykpJylcbiAgICBsaXN0cy5wdXNoKHRlbXApXG59XG5cbnZhciDlr7zmvJQgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5tb2R1bGUtaW5mby1pdGVtOmNvbnRhaW5zKOWvvOa8lO+8mikmJlRleHQnKS5yZXBsYWNlKC9cXC8vZywgJyAnKTtcblxudmFyIOS4u+a8lCA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLmRhdGE6Y29udGFpbnMo5Li75ryU77yaKSYmVGV4dCcpLnJlcGxhY2UoL1xcLy9nLCAnICcpO1xuXG52YXIg5pu05pawID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcubW9kdWxlLWluZm8taXRlbTpjb250YWlucyjpm4bmlbApJiZUZXh0Jyk7XG5cbnZhciDnirbmgIEgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5tb2R1bGUtaW5mby1pdGVtOmNvbnRhaW5zKOS4iuaYoO+8mikmJlRleHQnKTtcblxudmFyIOWbvueJhyA9IHBhcnNlRG9tKGh0bWwsICcubGF6eWxvYWQmJmRhdGEtc3JjfHxkYXRhLW9yaWdpbmFsJyk7XG5cbnZhciDnroDku4sgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5kZXRhaWwtc2tldGNoJiZUZXh0JykucmVwbGFjZSgn5pS26LW3JywgJycpO1xuXG52YXIgQ29sb3IgPSBcIiNmMTNiNjZhXCI7XG52YXIgQ29sb3IxID0gXCIjMDk4QUMxXCI7XG5cbmZ1bmN0aW9uIGdldEhlYWQodGl0bGUpIHtcbiAgICByZXR1cm4gJ+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+PC9iPicgOiB0aXRsZSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5jYXRlX3RlbXBbcGFyYW1zLmluZGV4XSA9IHBhcmFtcy5rZXkudG9TdHJpbmcoKVxcblxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnRpdGxlLCBKU09OLnN0cmluZ2lmeShwYXJhbXMuY2F0ZV90ZW1wKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS51cmwsIGlucHV0KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGtleSxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiBwYWdlLFxcbiAgICAgICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJibGFua19ibG9ja1xcXCJcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG4gICAgfSlcXG59XFxuXCJ9XSIsImljb24iOiJodHRwczovL3hpYW94aWFvamlhLm9zcy1jbi1zaGFuZ2hhaS5hbGl5dW5jcy5jb20vc3RhdGljcy9pbWcvZmF2aWNvbi5pY28iLCJwcm94eSI6IiJ9
Add Comment
Please, Sign In to add comment