xiaomianao666

小程序:番茄影视

Sep 22nd, 2023
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@番茄影视@eyJmaXJzdEhlYWRlciI6ImNsYXNzIiwibGFzdF9jaGFwdGVyX3J1bGUiOiIiLCJ0aXRsZSI6IueVquiMhOW9seinhiIsImF1dGhvciI6IuW/g+mtlCIsInVybCI6Imhpa2VyOi8vZW1wdHkjI2h0dHBzOi8vZnF5czEuY29tL3ZvZHNob3cvMS0tLS0tLS0tZnlwYWdlLS0tLmh0bWwiLCJ2ZXJzaW9uIjoxLCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xudmFyIGdldFJhbmdlQ29sb3JzID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICcjJyArICgnMDAwMDAnICsgKE1hdGgucmFuZG9tKCkgKiAweDEwMDAwMDAgPDwgMCkudG9TdHJpbmcoMTYpKS5zdWJzdHIoLTYpO1xufVxuXG5jb25zdCDliIbnsbvpopzoibIgPSBnZXRSYW5nZUNvbG9ycygpXG5jb25zdCDlpKfnsbvlrprkvY0gPSAnYm9keSYmLm5hdmJhci1pdGVtcydcbmNvbnN0IOaLvOaOpeWIhuexuyA9ICdib2R5JiYubW9kdWxlLWl0ZW0tYm94J1xuY29uc3Qg5bCP57G75a6a5L2NID0gJ2JvZHkmJmE6bm90KDptYXRjaGVzKOmmlumhtXzku4rml6Xmm7TmlrB854OtfEFQUHzov73liaflkajooah85LuK5pel5pu05pawfOeVmeiogOivhOiuuikpJ1xuY29uc3Qg5YiG57G75qCH6aKYID0gJ2EmJlRleHQnXG5jb25zdCDliIbnsbvpk77mjqUgPSAnYSYmaHJlZidcbk1ZX1VSTCA9IE1ZX1VSTC5yZXBsYWNlKCdoaWtlcjovL2VtcHR5IyMnLCAnJylcblxubGV0IHRydWVfdXJsID0gZ2V0VmFyKE1ZX1JVTEUudXJsLCBNWV9VUkwpXG5jb25zdCBwYWdlID0gTVlfUEFHRVxuaWYgKGdldFZhcihNWV9SVUxFLnVybCkpIHtcbiAgICB0cnVlX3VybCA9IHRydWVfdXJsLnJlcGxhY2UoL3R5cGUoXFwvXFxkKylcXC5odG1sLywgJ3Nob3ckMS0tLS0tLS0tLS0tLmh0bWwnKS5yZXBsYWNlKCctLS0uaHRtbCcsIHBhZ2UgKyAnLS0tLmh0bWwnKS5yZXBsYWNlKC8oLS0tXFxkKy5odG1sKS8sIHBhZ2UgKyAnJDEnKVxufVxuXG52YXIgaHRtbCA9IHJlcXVlc3QodHJ1ZV91cmwpXG5cbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZHQnKSkucnVsZSlcblxudmFyIGxpc3QgPSBwZGZhKGh0bWwsICdib2R5JiYubW9kdWxlLXBvc3Rlci1pdGVtJyk7XG5mb3IgKHZhciBqIGluIGxpc3QpIHtcbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogcGRmaChsaXN0W2pdLCAnYSYmdGl0bGUnKSxcbiAgICAgICAgZGVzYzogcGRmaChsaXN0W2pdLCAnJyksXG4gICAgICAgIHBpY191cmw6IHBkKGxpc3Rbal0sICdpbWd8fC5sYXp5JiZpbWd8fGRhdGEtb3JpZ2luYWx8fGRhdGEtc3JjJykgKyAnQFJlZmVyZXI9JyxcbiAgICAgIFxuICAgICAgICB1cmw6IHBkKGxpc3Rbal0sICdhJiZocmVmJykgKyBcIiNpbW1lcnNpdmVUaGVtZSNcIlxuICAgIH0pO1xufVxuc2V0UmVzdWx0KGQpOyIsInNlYXJjaF91cmwiOiJodHRwczovL2ZxeXMxLmNvbS92b2RzZWFyY2gvLS0tLS0tLS0tLS0tLS5odG1sP3dkPSoqIiwiZ3JvdXAiOiIj77iP4oOj5b2x6KeGIiwic2VhcmNoRmluZCI6ImpzOlxyXG52YXIgZCA9IFtdO1xuXG52YXIgbGlzdCA9IHBhcnNlRG9tRm9yQXJyYXkoZ2V0UmVzQ29kZSgpLCAnYm9keSYmLm1vZHVsZS1tYWluJiYubW9kdWxlLWNhcmQtaXRlbScpO1xyXG5mb3IgKHZhciBqIGluIGxpc3QpIHtcclxuICBkLnB1c2goe1xyXG4gICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnaW1nJiZhbHQnKSxcclxuICAgICAgIGRlc2M6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnJyksXG4gICAgICAgY29udGVudDogcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICcnKSxcbiAgICAgICBpbWc6IHBhcnNlRG9tKGxpc3Rbal0sICdpbWcmJmRhdGEtb3JpZ2luYWwnKSsnQFJlZmVyZXI9JyxcbiAgICBcclxuICAgICAgIHVybDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKStcIiNpbW1lcnNpdmVUaGVtZSNcIlxuICB9KTtcclxufVxyXG5zZXRSZXN1bHQoZCk7IiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiJqczpcbnZhciBkID0gW107XG52YXIgaHRtbCA9IGdldFJlc0NvZGUoKTtcblxudmFyIGxhenkgPSAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgZnVuY3Rpb24gdG9VcmwocGxheVVybCkge1xuICAgICAgICAgICAgaWYgKC9tZ3R2fHNvaHUvLnRlc3QocGxheVVybCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybCArIFwiO3tVc2VyLUFnZW50QE1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApfVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgvYmlsaS8udGVzdChwbGF5VXJsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGF5VXJsICsgXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAmJlJlZmVyZXJAaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tfVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgvaXhpZ3VhLy50ZXN0KHBsYXlVcmwpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlVcmwgKyBcIiNpc1ZpZGVvPXRydWUjXCIgKyBcIiMubXA0O3tSZWZlcmVyQGh0dHBzOi8vd3d3Lml4aWd1YS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfVwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBodG1sID0gcmVxdWVzdChpbnB1dCwge30pO1xuICAgICAgICB2YXIgcGxheWVyX2RhdGEgPSBKU09OLnBhcnNlKGh0bWwubWF0Y2goL3IgcGxheWVyXy4qPz0oLio/KTwvKVsxXSk7XG4gICAgICAgIHZhciBmcm8gPSBwbGF5ZXJfZGF0YS5mcm9tO1xuICAgICAgICB2YXIgcGxheVVybCA9IHBsYXllcl9kYXRhLnVybDtcblxuXG4gICAgICAgIGlmIChwbGF5ZXJfZGF0YS5lbmNyeXB0ID09ICcxJykge1xuICAgICAgICAgICAgcGxheVVybCA9IHVuZXNjYXBlKHBsYXllcl9kYXRhLnVybCk7XG4gICAgICAgIH0gZWxzZSBpZiAocGxheWVyX2RhdGEuZW5jcnlwdCA9PSAnMicpIHtcbiAgICAgICAgICAgIHBsYXlVcmwgPSB1bmVzY2FwZShiYXNlNjREZWNvZGUocGxheWVyX2RhdGEudXJsKSk7XG4gICAgICAgIH07XG4gICAgICAgIHZhciBleGNsdWRlID0gL3BsYXltM3U4fG0zdThcXC50dnxtaW5cXC5jc3N8NDA0XFwubTN1OHxcXC5jc3MvO1xuICAgICAgICB2YXIgY29udGFpbiA9IC9cXC5tcDR8XFwubTN1OHxcXC5mbHZ8XFwuYXZpfFxcLm1wZWd8XFwud212fFxcLm1vdnxcXC5ybXZifFxcLmRhdHxxcUJGZG93bmxvYWR8bWltZT12aWRlbyUyRnx2aWRlb19tcDQvO1xuICAgICAgICBpZiAoIWV4Y2x1ZGUudGVzdChwbGF5VXJsKSAmJiBjb250YWluLnRlc3QocGxheVVybCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0b1VybChwbGF5VXJsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBqeFVybCA9ICcnO1xuICAgICAgICB2YXIganhIdG1sID0gcmVxdWVzdChqeFVybCwge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCJcbiAgICAgICAgfSk7XG4gICAgICAgIGV2YWwoanhIdG1sLm1hdGNoKC92YXIgY29uZmlnID0ge1tcXHNcXFNdKj99LylbMF0gKyBcIlwiKTtcbiAgICAgICAgdmFyIGFwaVVybCA9ICdodHRwczovL2xhbmd1YW5nLmtza3N5LmNvbS9BUEkucGhwJztcbiAgICAgICAgdmFyIGFwaUh0bWwgPSByZXF1ZXN0KGFwaVVybCwge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBib2R5OiBcInVybD1cIiArIGNvbmZpZy51cmwgKyBcIiZ0aW1lPVwiICsgY29uZmlnLnRpbWUgKyBcIiZrZXk9XCIgKyBjb25maWcua2V5LFxuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIlxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGFwaUh0bWwpO1xuICAgICAgICBpZiAoanNvbi5jb2RlID09IDIwMCkge1xuICAgICAgICAgICAgcGxheVVybCA9IGpzb24udXJsO1xuICAgICAgICAgICAgcmV0dXJuIHRvVXJsKHBsYXlVcmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovLycgKyBqc29uLm1zZztcbiAgICAgICAgfVxuXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvL3NldEVycm9yKGUpO1xuICAgICAgICBzaG93TG9hZGluZyhcIuato+WcqOi/m+ihjOajgOe0ou+8jOivt+eojeWAmS4uLlwiKTtcbiAgICAgICAgdmFyIHZpZGVvID0gJ3g1UnVsZTovLycgKyBpbnB1dCArICdAJyArICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgLy9mYmEubG9nKGZiYS5nZXRVcmxzKCkpXG4gICAgICAgICAgICB2YXIgdXJscyA9IF9nZXRVcmxzKClcbiAgICAgICAgICAgIHZhciBleGNsdWRlID0gL3BsYXltM3U4fG0zdThcXC50dnxtaW5cXC5jc3N8NDA0XFwubTN1OHxcXC5jc3MvO1xuICAgICAgICAgICAgdmFyIGNvbnRhaW4gPSAvXFwubXA0fFxcLm0zdTh8XFwuZmx2fFxcLmF2aXxcXC5tcGVnfFxcLndtdnxcXC5tb3Z8XFwucm12YnxcXC5kYXR8cXFCRmRvd25sb2FkfG1pbWU9dmlkZW8lMkZ8dmlkZW9fbXA0LztcbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gdXJscykge1xuICAgICAgICAgICAgICAgIGlmICghZXhjbHVkZS50ZXN0KHVybHNbaV0pICYmIGNvbnRhaW4udGVzdCh1cmxzW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBmeV9icmlkZ2VfYXBwLmxvZyh1cmxzW2ldKVxuICAgICAgICAgICAgICAgICAgICBpZiAoL21ndHZ8c29odS8udGVzdCh1cmxzW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyBcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKX1cIjtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvYmlsaS8udGVzdCh1cmxzW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyBcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCYmUmVmZXJlckBodHRwczovL3d3dy5iaWxpYmlsaS5jb219XCI7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL2l4aWd1YS8udGVzdCh1cmxzW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyBcIiNpc1ZpZGVvPXRydWUjXCIgKyBcIiMubXA0O3tSZWZlcmVyQGh0dHBzOi8vd3d3Lml4aWd1YS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfVwiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB2aWRlbztcbiAgICB9XG59KTtcblxuLy/nur/ot6/lkI3liJfooajnmoTlrprkvY1cbnZhciBhcnRzID0gcGFyc2VEb21Gb3JBcnJheShodG1sLCAnYm9keSYmLnRhYi1pdGVtJyk7XG5cbi8v57q/6Lev5ZCN5YiX6KGo5ZCN56ew55qE5a6a5L2NXG52YXIgdGFicyA9IFtdO1xuZm9yICh2YXIgaSBpbiBhcnRzKSB7XG4gICAgdGFicy5wdXNoKHBhcnNlRG9tRm9ySHRtbChhcnRzW2ldLCAnc3BhbiYmVGV4dCcpKVxufVxuXG4vL+aSreaUvuWIl+ihqOeahOWIl+ihqOeahOWumuS9jVxudmFyIGNvbnRzID0gcGFyc2VEb21Gb3JBcnJheShodG1sLCAnYm9keSYmLm1vZHVsZS1wbGF5LWxpc3QtY29udGVudHx8Lm1vZHVsZS1zb3J0dGFiJyk7XG52YXIgbGlzdHMgPSBbXTtcbmZvciAodmFyIGkgaW4gY29udHMpIHtcbiAgICB2YXIgdGVtcCA9IHBhcnNlRG9tRm9yQXJyYXkoY29udHNbaV0sICdib2R5JiZhOm5vdCg6Y29udGFpbnMo5o6S5bqPKSknKVxuICAgIGxpc3RzLnB1c2godGVtcClcbn1cblxudmFyIOWvvOa8lCA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLm1vZHVsZS1pbmZvLWl0ZW06Y29udGFpbnMo5a+85ryU77yaKSYmVGV4dCcpLnJlcGxhY2UoL1xcLy9nLCAnICcpO1xuXG52YXIg5Li75ryUID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcubW9kdWxlLWluZm8taXRlbTpjb250YWlucyjkuLvmvJTvvJopJiZUZXh0JykucmVwbGFjZSgvXFwvL2csICcgJyk7XG5cbnZhciDmm7TmlrAgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5tb2R1bGUtaW5mby1pdGVtOmNvbnRhaW5zKOmbhuaVsCkmJlRleHQnKTtcblxudmFyIOeKtuaAgSA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLm1vZHVsZS1pbmZvLWl0ZW06Y29udGFpbnMo5LiK5pig77yaKSYmVGV4dCcpO1xuXG52YXIg5Zu+54mHID0gcGFyc2VEb20oaHRtbCwgJy5sYXp5bG9hZCYmZGF0YS1zcmN8fGRhdGEtb3JpZ2luYWwnKTtcblxudmFyIOeugOS7iyA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnYm9keSYmLnNob3ctZGVzYyYmVGV4dCcpLnJlcGxhY2UoJ+aUtui1tycsICcnKTtcblxudmFyIENvbG9yID0gXCIjZjEzYjY2YVwiO1xudmFyIENvbG9yMSA9IFwiIzA5OEFDMVwiO1xuXG5mdW5jdGlvbiBnZXRIZWFkKHRpdGxlKSB7XG4gICAgcmV0dXJuICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVwiJyArIENvbG9yICsgJ1wiPicgKyB0aXRsZSArICc8L2Zyb250Pjwvc3Ryb25nPic7XG59XG5sZXQgbGluZV9tb2RlbCA9IDg7XG5sZXQgbGluZV90eXBlX21vZGVsID0gJ2JsYW5rX2Jsb2NrJztcbmQucHVzaCh7XG4gICAgdGl0bGU6IOWvvOa8lCArICdcXG4nICsg5Li75ryULFxuICAgIGRlc2M6IOabtOaWsCArICdcXG4nICsg54q25oCBLFxuICAgIHBpY191cmw6IOWbvueJhyxcbiAgICB1cmw6IE1ZX1VSTCxcbiAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInXG59KTtcbmQucHVzaCh7XG4gICAgdGl0bGU6ICfigJjigJjigJnigJk8c21hbGw+PGZvbnQgY29sb3I9XCIjZmYxNDhlOGVcIj7nroDku4vvvJonICsg566A5LuLLnN1YnN0cigwLCA1NSkgKyAnLi4uPC9mb250PjxzbWFsbD48Zm9udCBjb2xvcj1cInJlZFwiPuivpuaDhTwvZm9udD48L3NtYWxsPjwvc21hbGw+JyxcbiAgICB1cmw6ICdoaWtlcjovL2VtcHR5IycgKyAnXFxuJyArIOeugOS7iyArIGBAcnVsZT1qczp2YXIgcmVzID0ge307IHZhciBkID0gW107ZC5wdXNoKHt0aXRsZTon5b2x54mH566A5LuL77yaJysgTVlfVVJMLnNwbGl0KCdoaWtlcjovL2VtcHR5IycpWzFdLGNvbF90eXBlOiAnbG9uZ190ZXh0J30pO3Jlcy5kYXRhID0gZDsgc2V0SG9tZVJlc3VsdChyZXMpO2AsXG4gICAgY29sX3R5cGU6ICd0ZXh0XzEnXG59KTtcbmZvciAobGV0IGkgPSAwOyBpIDwgbGluZV9tb2RlbDsgaSsrKSB7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgY29sX3R5cGU6IGxpbmVfdHlwZV9tb2RlbFxuICAgIH0pXG59XG5cbi8v5aSE55CG5o6o6YCBVFZCb3ggc3RhcnRcbmxldCB0ZnB1c2ggPSBnZXRJdGVtKCd3ZWJwdXNoJywgJzAnKTtcbmQucHVzaCh7XG4gICAgdGl0bGU6IChnZXRJdGVtKCd3ZWJwdXNoJywgJzAnKSA9PSAnMScgPyAn5Y2V6ZuG5o6o6YCB8J+foicgOiAn5Y2V6ZuG5o6o6YCB8J+UtCcpLFxuICAgIHVybDogYGhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOmdldEl0ZW0oJ3dlYnB1c2gnLCcwJyk9PScxJz9zZXRJdGVtKCd3ZWJwdXNoJywnMCcpOnNldEl0ZW0oJ3dlYnB1c2gnLCcxJyk7cmVmcmVzaFBhZ2UoKTsndG9hc3Q6Ly/liIfmjaLmiJDlip/vvIEnYCxcblxuICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcbn0pO1xuZC5wdXNoKHtcbiAgICB0aXRsZTogJ+iuvue9rueUteinhklQJyxcbiAgICB1cmw6IFwiaW5wdXQ6Ly9cIiArIGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnaHR0cDovLycgKyBnZXRJUCgpICsgJzo5OTc4JykgKyBcIi8vLy/or7fovpPlhaV0dmJveOaOqOmAgUlQ5Zyw5Z2A77yM5aaCaHR0cDovL1wiICsgZ2V0SVAoKSArIFwiOjk5NzguanM6c2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcIixcbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXG59KTtcbmQucHVzaCh7XG4gICAgdGl0bGU6IGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnJyksXG4gICAgLy91cmw6ICdoaWtlcjovL2VtcHR5JyxcbiAgICB1cmw6IFwiaW5wdXQ6Ly9cIiArIGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnaHR0cDovLycgKyBnZXRJUCgpICsgJzo5OTc4JykgKyBcIi8vLy/or7fovpPlhaV0dmJveOaOqOmAgUlQ5Zyw5Z2A77yM5aaCaHR0cDovL1wiICsgZ2V0SVAoKSArIFwiOjk5NzguanM6c2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcIixcbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXG59KTtcblxudmFyIHBsYXlVcmxzID0gJyc7XG5mb3IgKHZhciBpID0gMDsgaSA8IGxpc3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGxpc3QgPSBsaXN0c1tpXTtcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgaWYgKGogPT0gbGlzdC5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICBwbGF5VXJscyArPSBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKSArIFwiJFwiICsgcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKSArIFwiJCQkXCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwbGF5VXJscyArPSBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKSArIFwiJFwiICsgcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKSArIFwiI1wiO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5wbGF5VXJscyA9IHBsYXlVcmxzLnN1YnN0cmluZygwLCBwbGF5VXJscy5sZW5ndGggLSAzKTtcbi8vbG9nKHBsYXlVcmxzKTtcblxubGV0IHB1c2ggPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgXCJuYW1lXCI6IE1ZX1BBUkFNUy5teXRpdGxlLFxuICAgIFwicGljXCI6IHBhcnNlRG9tKGh0bWwsICcubGF6eWxvYWQmJmRhdGEtc3JjfHxkYXRhLW9yaWdpbmFsJyksXG4gICAgXCJjb250ZW50XCI6IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLnZpZGVvLWluZm8tY29udGVudCYmVGV4dCcpLnJlcGxhY2UoJ+aUtui1tycsICcnKSxcbiAgICBcImZyb21cIjogdGFicy5qb2luKCckJCQnKSxcbiAgICBcInVybFwiOiBwbGF5VXJscy5yZXBsYWNlKC9cXCYvZywgJ++8hu+8hicpXG59KTtcbi8vbG9nKHB1c2gpO1xuXG5kLnB1c2goe1xuICAgIHRpdGxlOiBcIuaOqOmAgeW9k+WJjemhteWIl+ihqOWIsFRWQm94XCIsXG4gICAgdXJsOiAkKHB1c2gpLmxhenlSdWxlKCgpID0+IHtcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL3BhZ2UvcHVzaD9wdXNodXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoaW5wdXQpO1xuICAgIH0pLFxuICAgIGNvbF90eXBlOiBcInNjcm9sbF9idXR0b25cIlxufSk7XG5cbmQucHVzaCh7XG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcbiAgICB9KVxuICAgIC8v5aSE55CG5o6o6YCBVFZCb3ggZW5kXG5cbmZ1bmN0aW9uIHNldFRhYnModGFicywgdmFyaSkge1xuICAgIGZvciAodmFyIGkgaW4gdGFicykge1xuICAgICAgICB2YXIgdXJsID0gXCIjbm9Mb2FkaW5nI0BsYXp5UnVsZT0uanM6cHV0VmFyKCdcIiArIHZhcmkgKyBcIicsICdcIiArIGkgKyBcIicpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liIfmjaLmiJDlip/vvIEnOycjbm9IaXN0b3J5I2hpa2VyOi8vZW1wdHknXCI7XG4gICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogZ2V0VmFyKHZhcmksICcwJykgPT0gaSA/IGdldEhlYWQodGFic1tpXSkgOiB0YWJzW2ldLFxuICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXG4gICAgICAgIH0pXG4gICAgfVxuICAgIGQucHVzaCh7XG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcbiAgICB9KVxufVxuXG5mdW5jdGlvbiBzZXRMaXN0cyhsaXN0cywgaW5kZXgpIHtcbiAgICBkLnB1c2goe1xuICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXG4gICAgfSlcbn1cbmlmIChnZXRWYXIoJ3Noc29ydCcpID09ICcxJykge1xuICAgIHZhciBzeCA9ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cIiMwYWEzNDRcIj7mjpLluo88L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cIiMwYWEzNDRcIj7ihpE8L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cIiNmZjRjMDBcIj7ihpM8L2ZvbnQ+PC9zbWFsbD4nO1xufSBlbHNlIHtcbiAgICB2YXIgc3ggPSAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XCIjMGFhMzQ0XCI+5o6S5bqPPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XCIjZmY0YzAwXCI+4oaRPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XCIjMGFhMzQ0XCI+4oaTPC9mb250Pjwvc21hbGw+Jztcbn1cblxuZnVuY3Rpb24gc2V0TGlzdHMobGlzdHMsIGluZGV4KSB7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8c3BhbiBzdHlsZT1cImNvbG9yOicgKyBDb2xvcjEgKyAnXCI+PHNtYWxsPumAiembhuWIl+ihqDwvc21hbGw+JyArICdcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8c3BhbiBzdHlsZT1cImZsb2F0OnJpZ2h0XCI+JyArICc8c21hbGw+JyArIHN4ICsgJzwvc21hbGw+JyxcbiAgICAgICAgdXJsOiBgI25vTG9hZGluZyNAbGF6eVJ1bGU9LmpzOmxldCBjb25mID0gZ2V0VmFyKCdzaHNvcnQnKTtpZihjb25mPT0nMScpe3B1dFZhcih7a2V5OidzaHNvcnQnLCB2YWx1ZTonMCd9KTt9ZWxzZXtwdXRWYXIoe2tleTonc2hzb3J0JywgdmFsdWU6JzEnfSl9O3JlZnJlc2hQYWdlKCk7J3RvYXN0Oi8v5YiH5o2i5o6S5bqP5oiQ5YqfJzsnI25vSGlzdG9yeSNoaWtlcjovL2VtcHR5J2AsXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcbiAgICB9KVxuICAgIHZhciBsaXN0ID0gbGlzdHNbaW5kZXhdO1xuXG4gICAgaWYgKGdldFZhcignc2hzb3J0JykgPT0gJzEnKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBmb3IgKHZhciBqID0gbGlzdC5sZW5ndGggLSAxOyBqID49IDA7IGotLSkge1xuICAgICAgICAgICAgICAgIGlmICh0ZnB1c2ggPT0gJzAnKSB7XG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JykucmVwbGFjZSgv56ysfOmbhnzor5185pyfL2csICcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKSArIGxhenksXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNScgOiAndGV4dF8yJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJseCA9ICdoaWtlcjovL3BhZ2UvcHVzaD9wdXNodXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IGdldFBhZ2VUaXRsZSgpICsgcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInBpY1wiOiBwYXJzZURvbShodG1sLCAnLmxhenlsb2FkJiZkYXRhLXNyY3x8ZGF0YS1vcmlnaW5hbCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250ZW50XCI6IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLnZpZGVvLWluZm8tY29udGVudCYmVGV4dCcpLnJlcGxhY2UoJ+aUtui1tycsICcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZnJvbVwiOiBnZXRQYWdlVGl0bGUoKSArIHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ1cmxcIjogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKVxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBleHRyYXggPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJyksXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybHgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNScgOiAndGV4dF8yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhOiBleHRyYXhcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmsqHmnInpgInpm4blk5/vvIzkuI3kv6Hngrnlm77niYfljrvnnIvnnIvwn5GAJyxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBpZiAodGZwdXNoID09ICcwJykge1xuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJyksXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJykgKyBsYXp5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IGxpc3QubGVuZ3RoID4gNCA/ICd0ZXh0XzUnIDogJ3RleHRfMidcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHVybHggPSAnaGlrZXI6Ly9wYWdlL3B1c2g/cHVzaHVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibmFtZVwiOiBnZXRQYWdlVGl0bGUoKSArIHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwaWNcIjogcGFyc2VEb20oaHRtbCwgJy5sYXp5bG9hZCYmZGF0YS1zcmN8fGRhdGEtb3JpZ2luYWwnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udGVudFwiOiBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy52aWRlby1pbmZvLWNvbnRlbnQmJlRleHQnKS5yZXBsYWNlKCfmlLbotbcnLCAnJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBcImZyb21cIjogZ2V0UGFnZVRpdGxlKCkgKyBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidXJsXCI6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJylcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZXh0cmF4ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJylcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKS5yZXBsYWNlKC/nrKx86ZuGfOivnXzmnJ8vZywgJycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmx4LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IGxpc3QubGVuZ3RoID4gNCA/ICd0ZXh0XzUnIDogJ3RleHRfMicsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRyYTogZXh0cmF4XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+ayoeaciemAiembhuWTn++8jOS4jeS/oeeCueWbvueJh+WOu+eci+eci/CfkYAnLFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5zZXRUYWJzKHRhYnMsIE1ZX1VSTCk7XG5zZXRMaXN0cyhsaXN0cywgZ2V0VmFyKE1ZX1VSTCwgJzAnKSk7XG5kLnB1c2goe1xuICAgIHRpdGxlOiAnPGJyPicsXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnXG59KTtcbnNldFJlc3VsdChkKTsiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiKiIsInVhIjoicGMiLCJwcmVSdWxlIjoiIiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaOqOmAgVwiLFwicGF0aFwiOlwicHVzaFwiLFwicnVsZVwiOlwianM6XFxubGV0IGl0ZW1zID0gW107XFxubGV0IHB1c2hpbiA9IGRlY29kZVVSSUNvbXBvbmVudChnZXRQYXJhbShcXFwicHVzaHVybFxcXCIpKTtcXG5sZXQgdHZpcCA9IGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnJyk7XFxuXFxuaXRlbXMucHVzaCh7XFxuICAgIHRpdGxlOiAn5b2T5YmNSVDvvJonICsgdHZpcCxcXG4gICAgdXJsOiBcXFwiaW5wdXQ6Ly9cXFwiICsgZ2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsICdodHRwOi8vJyArIGdldElQKCkgKyAnOjk5NzgnKSArIFxcXCIvLy8v6K+36L6T5YWlVFZCb3jnq6/nmoRJUOWcsOWdgO+8jOWmgmh0dHA6Ly9cXFwiICsgZ2V0SVAoKSArIFxcXCI6OTk3OC5qczpzZXRJdGVtKCdoaWtlcnR2Ym94c2V0JyxpbnB1dCk7cmVmcmVzaFBhZ2UoKVxcXCIsXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxufSk7XFxudmFyIHB1cmwgPSBwdXNoaW47XFxuXFxuaWYgKHB1c2hpbi5pbmNsdWRlcygnXFxcXG4nKSAmJiAhcHVzaGluLnN0YXJ0c1dpdGgoJ3snKSkge1xcbiAgICBwdXJsID0gcHVzaGluLnJlcGxhY2UoXFxcIlxcXFxuXFxcIiwgJyQnKTtcXG59XFxuaWYgKHB1c2hpbi5zdGFydHNXaXRoKCdodHRwJykgJiYgcHVzaGluLmluY2x1ZGVzKCc7eycpKSB7XFxuICAgIHB1cmwgPSBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLmtbfpmJTnm7Tpk77mjqjpgIFcXFwiLFxcbiAgICAgICAgXFxcInVybFxcXCI6IHB1c2hpblxcbiAgICB9KVxcbn1cXG5pZiAocHVzaGluLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vd3d3LmFsaXl1bmRyaXZlLmNvbS9zLycpKSB7XFxuICAgIGxldCByZWZ0b2tlbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMvaWN5L2ljeS1hbGktdG9rZW4uanNvbicsIHt9KSlbMF0ucmVmcmVzaF90b2tlbjtcXG4gICAgcHVybCA9IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgIFxcXCJ1cmxcXFwiOiBwdXNoaW4sXFxuICAgICAgICBcXFwicmVmcmVzaF90b2tlblxcXCI6IHJlZnRva2VuXFxuICAgIH0pXFxufVxcbmlmIChwdXNoaW4uaW5jbHVkZXMoJzo1MjAyMCcpKSB7XFxuICAgIGlmIChwdXNoaW4uaW5jbHVkZXMoJ3JlZGlyZWN0UGxheVVybCcpKSB7XFxuICAgICAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIua1t+mYlOaKleWxj+ebtOmTvlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6IHB1c2hpblxcbiAgICAgICAgfSlcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHB1cmwgPSBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5rW36ZiU572R6aG15oqV5bGPXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjogcHVzaGluXFxuICAgICAgICB9KVxcbiAgICB9XFxufVxcblxcbi8vbG9nKCfmjqjpgIEnK3B1cmwpO1xcbnZhciBzdGF0ZSA9IHJlcXVlc3QodHZpcCArICcvYWN0aW9uJywge1xcbiAgICBoZWFkZXJzOiB7XFxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXFxuICAgICAgICAvLydYLVJlcXVlc3RlZC1XaXRoJzogJ1hNTEh0dHBSZXF1ZXN0JyxcXG4gICAgICAgICdSZWZlcmVyJzogdHZpcFxcbiAgICB9LFxcbiAgICB0aW1lb3V0OiAyMDAwLFxcbiAgICBib2R5OiAnZG89cHVzaCZ1cmw9JyArIHB1cmwucmVwbGFjZSgvXFxcXCYvZywgJ++8hu+8hicpLFxcbiAgICBtZXRob2Q6ICdQT1NUJ1xcbn0pO1xcbi8vbG9nKHN0YXRlKTtcXG5pZiAoc3RhdGUgPT0gJ29rJykge1xcbiAgICAvL2xvZyhzdGF0ZSk7XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IFxcXCLinIVcXFwiICsgc3RhdGUsXFxuICAgICAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5XFxcIixcXG4gICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG4gICAgfSk7XFxufSBlbHNlIHtcXG4gICAgLy9sb2coc3RhdGUpO1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi4p2OXFxcIiArIHN0YXRlLFxcbiAgICAgICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxuICAgIH0pO1xcblxcbn1cXG5zZXRSZXN1bHQoaXRlbXMpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiRHRcIixcInBhdGhcIjpcImR0XCIsXCJydWxlXCI6XCJjb25zdCBlbXB0eSA9IFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcblxcbnRyeSB7XFxuICAgIHZhciBjYXRlZ29yaWVzID0gcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmNvbmNhdChwZGZhKGh0bWwsIOaLvOaOpeWIhuexuykpXFxufSBjYXRjaCAoZSkge1xcbiAgICB2YXIgY2F0ZWdvcmllcyA9IHBkZmEoaHRtbCwg5aSn57G75a6a5L2NKVxcbn1cXG5cXG5sZXQgaW5pdF9jYXRlID0gW11cXG5cXG5mb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcXG4gICAgaW5pdF9jYXRlLnB1c2goXFxcIjBcXFwiKVxcbn1cXG5cXG5jb25zdCBmb2xkID0gZ2V0VmFyKE1ZX1JVTEUuZ3JvdXAsIFxcXCIwXFxcIilcXG5jb25zdCBjYXRlX3RlbXBfanNvbiA9IGdldFZhcihNWV9SVUxFLnRpdGxlLCBKU09OLnN0cmluZ2lmeShpbml0X2NhdGUpKVxcbmNvbnN0IGNhdGVfdGVtcCA9IEpTT04ucGFyc2UoY2F0ZV90ZW1wX2pzb24pXFxuXFxuaWYgKHBhcnNlSW50KHBhZ2UpID09PSAxKSB7XFxuXFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIvCflI1cXFwiLFxcbiAgICAgICAgdXJsOiBcXFwiJ2hpa2VyOi8vc2VhcmNoP3J1bGU9XFxcIiArIE1ZX1JVTEUudGl0bGUgKyBcXFwiJnM9JytpbnB1dFxcXCIsXFxuICAgICAgICBkZXNjOiBcXFwi5pCc5L2g5oOz55yLLi4uXFxcIixcXG4gICAgICAgIGNvbF90eXBlOiBcXFwiaW5wdXRcXFwiXFxuICAgIH0pO1xcblxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICBmb2xkID09PSAnMScgPyAn4oCc4oCc4oCd4oCdPGI+JyArICfwn5mJJy5mb250Y29sb3IoXFxcIiNGRjAwMDBcXFwiKSArICc8L2I+JyA6ICfigJzigJzigJ3igJ08Yj4nICsgJ/CfmYgnLmZvbnRjb2xvcihcXFwiIzFhYWQxOVxcXCIpICsgJzwvYj4nLFxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKGZvbGQpID0+IHtcXG4gICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS5ncm91cCwgZm9sZCA9PT0gJzEnID8gJzAnIDogJzEnKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfSwgZm9sZCksXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICB9KVxcblxcbmNhdGVnb3JpZXMuZm9yRWFjaCgoY2F0ZWdvcnksIGluZGV4KSA9PiB7XFxuICAgICAgICBsZXQgc3ViX2NhdGVnb3JpZXMgPSBwZGZhKGNhdGVnb3J5LCDlsI/nsbvlrprkvY0pO1xcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXMuZm9yRWFjaCgoaXRlbSwga2V5KSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCB0aXRsZSA9IHBkZmgoaXRlbSwg5YiG57G75qCH6aKYKVxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGtleS50b1N0cmluZygpID09PSBjYXRlX3RlbXBbaW5kZXhdID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogJyArIOWIhuexu+minOiJsiArICdcXFwiPicgKyB0aXRsZSArICc8L3NwYW4+PC9iPicgOiB0aXRsZSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdfY2F0ZSA9IFtdXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcC5mb3JFYWNoKChjYXRlLCBpbmRleCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY2F0ZS5wdXNoKGluZGV4ID09PSAwID8gcGFyYW1zLmtleS50b1N0cmluZygpIDogXFxcIjBcXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KG5ld19jYXRlKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS51cmwsIGlucHV0KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfSBlbHNlIGlmIChmb2xkID09PSAnMScpIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gcGRmaChpdGVtLCDliIbnsbvmoIfpopgpXFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcImNvbG9yOiAnICsg5YiG57G76aKc6ImyICsgJ1xcXCI+JyArIHRpdGxlICsgJzwvc3Bhbj48L2I+JyA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcFtwYXJhbXMuaW5kZXhdID0gcGFyYW1zLmtleS50b1N0cmluZygpXFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KHBhcmFtcy5jYXRlX3RlbXApKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICB9KVxcbn1cXG5cIn1dIiwiaWNvbiI6Imh0dHBzOi8vZnF5czEuY29tL3VwbG9hZC9teHByb2Ntcy8yMDIzMDcwMS0xLzU2M2FmMzRlNDMzNDA1YTM2NWY3ZDQ5MGI1NjdmY2NhLnBuZyIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment