Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@tvbox云盘推送@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoidHZib3jkupHnm5jmjqjpgIEiLCJhdXRob3IiOiJ0ZWUmTXJGbHkm5bCP5qOJ6KKE8J+Mnibpppnpm4Xmg4UiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IyNmeWNsYXNzIiwidmVyc2lvbiI6NiwiY29sX3R5cGUiOiJ0ZXh0XzEiLCJjbGFzc19uYW1lIjoi5YWo6YOoJuWWteaQnCblsI/nurjmnaEm5om+6LWE5rqQJuWwj+ermSZVUOS6keaQnCbnm5jln7rlnLDnmbvpmYYm5LqR55uY6LWE5rqQJue9keebmOi1hOa6kCZKSUtFJuabtOWkmibkupHnm5jnm5hURybmh5Lni5dURybkupHnm5jlj5HluINURyZtZW93IiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiYWxsJmh0dHBzOi8vd3d3LmFsaXBhbnNvdS5jb20maHR0cHM6Ly91LmdpdGNhZmUubmV0LyZodHRwczovL3poYW96aXl1YW4ubWUvc28maHR0cHM6Ly93d3cucGFuNjY2LmNuLyZodHRwczovL3d3dy51cHl1bnNvLmNvbSZodHRwczovL3d3dy5wYW5qZC5jb20vJmh0dHBzOi8veXVucGFuMS5jb20vJmh0dHBzOi8vYWxpd3AuY24vJmh0dHBzOi8vamlrZS5pbmZvL2NhdGVnb3J5LzIv6K6o6K665Yy6P2xhbmc9ZW4tVVMmaHR0cHM6Ly9kYWxhby5ydS93LyZodHRwczovL3R4Lm1lL3MvWXVuUGFuUGFuJmh0dHBzOi8vdHgubWUvcy92aXAxMTVob3QmaHR0cHM6Ly90eC5tZS9zL3NoYXJlQWxpeXVuJmh0dHBzOi8vbWVvdy50ZyIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxuLy/pmo/mnLrlm75BUEnlnLDlnYDvvIzorr7nva7kuLrnqbrkuI3mmL7npLrlm77niYdcbi8vbGV0IHBpYyA9IFwiaHR0cHM6Ly9hcGkuaXhpYW93YWkuY24vYXBpL2FwaS5waHBcIjtcbi8v5b+F5bqU77yaaHR0cHM6Ly9hcGkuaXNveXUuY29tL2JpbmdfaW1hZ2VzLnBocFxuLy/nvo7lpbPvvJpodHRwczovL2FwaS5idHN0dS5jbi9zamJ6L2FwaS5waHBcbi8v5piv5ZCm6ZqP5py65Zu+77yMMOWbuuWumu+8jDHpmo/mnLrvvIg15YiG6ZKf5YaF5Zu65a6a77yJXG5sZXQgcmFuZG9tID0gMTtcblxubGV0IHdoaXRlID0gW1xuICAgIFwiLy90eC5tZS9cIixcbl1cbmxldCBkID0gW107XG5cbmxldCB1ID0gTVlfVVJMLnNwbGl0KFwiIyNcIilbMV07XG5cbmZ1bmN0aW9uIGxvYWRVcmwodSkge1xuICAgIGxldCBkZXNjID0gXCJhdXRvXCI7XG4gICAgZm9yIChsZXQgaXQgb2Ygd2hpdGUpIHtcbiAgICAgICAgaWYgKHUuaW5jbHVkZXMoaXQpKSB7XG4gICAgICAgICAgICBkZXNjID0gXCIxMDAlJiZmbG9hdFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChnZXRBcHBWZXJzaW9uKCkgPj0gMzAxOCkge1xuICAgICAgICBkZXNjID0gXCJmbG9hdCYmdG9wXCI7XG4gICAgfVxuICAgIHNldFJlc3VsdChbe1xuICAgICAgICBjb2xfdHlwZTogXCJ4NV93ZWJ2aWV3X3NpbmdsZVwiLFxuICAgICAgICB1cmw6IHUsXG4gICAgICAgIGRlc2M6IGRlc2MsXG4gICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICBjYW5CYWNrOiB0cnVlLFxuICAgICAgICAgICAgdXJsSW50ZXJjZXB0b3I6ICQudG9TdHJpbmcoKG15cnVsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dC5zdGFydHNXaXRoKCdodHRwczovL3d3dy5hbGl5dW5kcml2ZS5jb20vcy8nKSB8fCBpbnB1dC5zdGFydHNXaXRoKCdtYWduZXQ6JykpIHtcbiAgICAgICAgICAgICAgICAgICAgLy9mYmEuZmV0Y2goaW5wdXQsIHt9KTtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcignbmFtZScpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJC50b1N0cmluZygodXJsLCBteXJ1bGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZiYS5vcGVuKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlOiBteXJ1bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL3B1c2g/cnVsZT0nICsgbXlydWxlICsgJyZ1cmw9aGlrZXI6Ly9lbXB0eSMjJyArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGlucHV0LCBteXJ1bGUpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgTVlfUlVMRS50aXRsZSksXG4gICAgICAgICAgICB1YTogTU9CSUxFX1VBXG4gICAgICAgIH1cbiAgICB9XSlcbn1cbmlmICh1ID09IFwiYWxsXCIpIHtcbiAgICBsZXQgY2xzID0gZ2V0TXlWYXIoXCJjbHNcIiwgXCJcIik7XG4gICAgaWYgKGNscykge1xuICAgICAgICB1ID0gY2xzO1xuICAgICAgICBsb2FkVXJsKHUpO1xuICAgICAgICBjbGVhck15VmFyKFwiY2xzXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCByID0gSlNPTi5wYXJzZShmZXRjaChcImhpa2VyOi8vaG9tZUBcIiArIE1ZX1JVTEUudGl0bGUpKTtcbiAgICAgICAgbGV0IGNuID0gci5jbGFzc19uYW1lLnNwbGl0KFwiJlwiKTtcbiAgICAgICAgbGV0IGN1ID0gci5jbGFzc191cmwuc3BsaXQoXCImXCIpO1xuICAgICAgICBsZXQgYXJyID0gW107XG4gICAgICAgIGFyci5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBcIuaOqOmAgVwiLFxuICAgICAgICAgICAgdXJsOiAkLnRvU3RyaW5nKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjbGVhck15VmFyKCduYW1lJyk7XG4gICAgICAgICAgICAgICAgdmFyIGxpbmsgPSAnaGlrZXI6Ly9wYWdlL3B1c2g/dXJsPWhpa2VyOi8vZW1wdHkjIycgKyBlbmNvZGVVUklDb21wb25lbnQoaW5wdXQucmVwbGFjZShcIiNpc011c2ljPXRydWUjXCIsICcnKS5yZXBsYWNlKCcjaXNWaWRlbz10cnVlIycsICcnKSk7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0LnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBpbnB1dC5zdGFydHNXaXRoKCdtYWduZXQ6JykgfHwgaW5wdXQuaW5jbHVkZXMoXCJcXG5cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxpbms7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dC5zdGFydHNXaXRoKFwie1wiKSAmJiBpbnB1dC5lbmRzV2l0aChcIn1cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxpbms7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvXFwudG9ycmVudHxlZDJrXFw6Ly50ZXN0KGlucHV0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5LiN5pSv5oyB5o6o6YCB6L+Z56eN6ZO+5o6l44CCJ1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/or7fovpPlhaXmraPnoa7nmoTpk77mjqXjgIInXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgICAgIHRpdGxlVmlzaWJsZTogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnaW5wdXQnXG4gICAgICAgIH0pO1xuICAgICAgICBhcnIudW5zaGlmdCh7XG4gICAgICAgICAgICB0aXRsZTogZ2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsICcnKSxcbiAgICAgICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xuICAgICAgICB9KTtcbiAgICAgICAgYXJyLnVuc2hpZnQoe1xuICAgICAgICAgICAgdGl0bGU6ICforr7nva5JUOWcsOWdgCcsXG4gICAgICAgICAgICB1cmw6IFwiaW5wdXQ6Ly9cIiArIGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnaHR0cDovLycgKyBnZXRJUCgpICsgJzo5OTc4JykgKyBcIi8vLy/or7fovpPlhaV0dmJveOaOqOmAgUlQ5Zyw5Z2A77yM5aaCaHR0cDovL1wiICsgZ2V0SVAoKSArIFwiOjk5NzguanM6c2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcIixcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcbiAgICAgICAgfSk7XG4gICAgICAgIC8qXG4gICAgICAgIGlmIChwaWMpIHtcbiAgICAgICAgICAgIGFyci5wdXNoKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJcIixcbiAgICAgICAgICAgICAgICB1cmw6IHBpYyxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXCJjYXJkX3BpY18xXCIsXG4gICAgICAgICAgICAgICAgZGVzYzogXCIwXCIsXG4gICAgICAgICAgICAgICAgcGljX3VybDogcmFuZG9tID8gKHBpYyArIFwiI190PVwiICsgTWF0aC5jZWlsKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMzAwMDAwKSkgOiBwaWNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXJyLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcImJpZ19ibGFua19ibG9ja1wiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAqL1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGNuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhcnIucHVzaCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6IGNuW2ldLFxuICAgICAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKCh1KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKFwiY2xzXCIsIHUpO1xuICAgICAgICAgICAgICAgICAgICAvL3JlZnJlc2hYNURlc2MoXCJ0b3AmJmZsb2F0XCIpO1xuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJoaWtlcjovL2VtcHR5XCI7XG4gICAgICAgICAgICAgICAgfSwgY3VbaV0pLFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcInRleHRfMlwiLFxuICAgICAgICAgICAgICAgIGRlc2M6IFwiXCIsXG4gICAgICAgICAgICAgICAgcGljX3VybDogXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmVmcmVzaFg1RGVzYyhcIjAmJmZsb2F0XCIpO1xuICAgICAgICBzZXRSZXN1bHQoYXJyKTtcbiAgICB9XG59IGVsc2Uge1xuICAgIGxvYWRVcmwodSk7XG59Iiwic2VhcmNoX3VybCI6IiIsImdyb3VwIjoi4pGm5bel5YW3Iiwic2VhcmNoRmluZCI6IiIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6ImlmICghZ2V0TXlWYXIoXCJhbGlhY2Nlc3NUa1wiKSkge1xuICAgIGlmICghZmlsZUV4aXN0KFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYWxpdG9rZW4uanNvblwiKSkge1xuICAgICAgICB2YXIgcmVmdG9rZW4gPSAnMmU5OGE4YTJmNDQ2NGYwYWExOTAwYTAxNjYwMDQzMTInO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciByZWZ0b2tlbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FsaXRva2VuLmpzb24nLCB7fSkpLnJlZnJlc2hfdG9rZW47XG4gICAgfVxuICAgIC8vaWYgKCFmaWxlRXhpc3QoXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hbGl0b2tlbi5qc29uXCIpKSB7XG4gICAgdmFyIHJlZnJlc2ggPSBmZXRjaCgnaHR0cHM6Ly9hdXRoLmFsaXl1bmRyaXZlLmNvbS92Mi9hY2NvdW50L3Rva2VuJywge1xuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiBQQ19VQSxcbiAgICAgICAgICAgICdSZWZlcmVyJzogJ2h0dHBzOi8vd3d3LmFsaXl1bmRyaXZlLmNvbS8nXG4gICAgICAgIH0sXG4gICAgICAgIGJvZHk6ICd7XCJyZWZyZXNoX3Rva2VuXCI6XCInICsgcmVmdG9rZW4gKyAnXCIsXCJncmFudF90eXBlXCI6XCJyZWZyZXNoX3Rva2VuXCJ9JyxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCdcbiAgICB9KTtcbiAgICBpZiAoIWZpbGVFeGlzdChcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FsaXRva2VuLmpzb25cIikgfHwgcmVmcmVzaC5sZW5ndGggPiAzMDApIHtcbiAgICAgICAgd3JpdGVGaWxlKFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYWxpdG9rZW4uanNvblwiLCByZWZyZXNoKTtcbiAgICB9XG4gICAgLy99XG4gICAgdmFyIHJlZnJlc2ggPSBmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYWxpdG9rZW4uanNvbicsIHt9KTtcbiAgICB2YXIgYWNjZXNzVGsgPSBKU09OLnBhcnNlKHJlZnJlc2gpLnRva2VuX3R5cGUgKyAnICcgKyBKU09OLnBhcnNlKHJlZnJlc2gpLmFjY2Vzc190b2tlbjtcbiAgICBwdXRNeVZhcihcImFsaWFjY2Vzc1RrXCIsIGFjY2Vzc1RrKTtcbn0iLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5o6o6YCBXCIsXCJwYXRoXCI6XCJwdXNoXCIsXCJydWxlXCI6XCJqczpcXG5sb2coTVlfVVJMKTtcXG52YXIgaXRlbXMgPSBbXTtcXG52YXIgcmVhbHVybCA9IE1ZX1VSTC5zcGxpdCgnIyMnKVsxXTtcXG52YXIgdHZpcCA9IGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnJyk7XFxudmFyIGNsdGV4dCA9IGdldE15VmFyKFxcXCJuYW1lXFxcIiwgcmVhbHVybCk7XFxuXFxuaXRlbXMucHVzaCh7XFxuICAgIHRpdGxlOiBkZWNvZGVVUklDb21wb25lbnQoY2x0ZXh0KSxcXG4gICAgdXJsOiBcXFwiaW5wdXQ6Ly9cXFwiICsgSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgdmFsdWU6IFxcXCJcXFwiLFxcbiAgICAgICAgaGludDogXFxcIuivt+i+k+WFpXR2Ym945o6o6YCB5YaF5a65XFxcIixcXG4gICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICBjbGVhck15VmFyKCduYW1lJyk7XFxuICAgICAgICAgICAgdmFyIG51bSA9IGVuY29kZVVSSUNvbXBvbmVudChpbnB1dCk7XFxuICAgICAgICAgICAgaWYgKG51bSA9PSAnJykge1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6L6T5YWl55qE5YC85piv56m655qE44CCJztcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignbmFtZScsIG51bSk7XFxuICAgICAgICAgICAgICAgIHJldHVybiByZWZyZXNoUGFnZSh0cnVlKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KSxcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiAnaWNvbl8xX3NlYXJjaCdcXG59KTtcXG5cXG5pZiAoZ2V0TXlWYXIoJ25hbWUnLCAnJykgIT0gJycpIHtcXG4gICAgcmVhbHVybCA9IGdldE15VmFyKCduYW1lJyk7XFxufVxcbi8vbG9nKFxcXCLlrp7pmYVcXFwiK3JlYWx1cmwpO1xcbmlmICh0dmlwLmluY2x1ZGVzKCdodHRwJykpIHtcXG4gICAgaXRlbXMucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIvCfk70g5o6o6YCB5YiwVFZCb3gg8J+TulxcXCIsXFxuICAgICAgICB1cmw6ICQocmVhbHVybCkubGF6eVJ1bGUoKHR2aXApID0+IHtcXG4gICAgICAgICAgICBjbGVhck15VmFyKCduYW1lJyk7XFxuICAgICAgICAgICAgaW5wdXQgPSBkZWNvZGVVUklDb21wb25lbnQoaW5wdXQpO1xcbiAgICAgICAgICAgIHZhciBwdXJsID0gaW5wdXQuc3BsaXQoXFxcIjtcXFwiKVswXTtcXG4gICAgICAgICAgICBpZiAocHVybC5pbmNsdWRlcyhcXFwiXFxcXG5cXFwiKSkge1xcbiAgICAgICAgICAgICAgICBwdXJsID0gcHVybC5yZXBsYWNlKFxcXCJcXFxcblxcXCIsICckJyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIHZhciBoZWFkID0gaW5wdXQuc3BsaXQoXFxcIjtcXFwiKVsxXTtcXG4gICAgICAgICAgICBpZiAoaW5wdXQuc3RhcnRzV2l0aChcXFwie1xcXCIpICYmIGlucHV0LmVuZHNXaXRoKFxcXCJ9XFxcIikpIHtcXG4gICAgICAgICAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGlucHV0KTtcXG4gICAgICAgICAgICAgICAgdmFyIHBuYW1lID0ganNvbi5uYW1lcztcXG4gICAgICAgICAgICAgICAgdmFyIHB1cmxzID0ganNvbi51cmxzO1xcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHB1cmxzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICAgICAgICAgICAgICBsZXQgbXVybCA9IHB1cmxzW2ldLnJlcGxhY2UoL1xcXFwmL2csICfvvIbvvIYnKTtcXG4gICAgICAgICAgICAgICAgICAgIGxldCBtdGl0ID0gcG5hbWVbaV07XFxuICAgICAgICAgICAgICAgICAgICB2YXIgYWFhID0gXFxcIlxcXCI7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5oZWFkZXJzKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlYWQgPSBqc29uLmhlYWRlcnNbaV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBPYmplY3Qua2V5cyhoZWFkKS5sZW5ndGg7IGorKykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQga2V5ID0gT2JqZWN0LmtleXMoaGVhZClbal07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWwgPSBoZWFkW09iamVjdC5rZXlzKGhlYWQpW2pdXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZ2diA9IGtleSArIFxcXCI9XFxcIiArIGVuY29kZVVSSUNvbXBvbmVudCh2YWwpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaiA8IDEpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFhYSA9IHZ2djtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFhYSArPSBcXFwiJlxcXCIgKyB2dnZcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWFhICE9IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11cmwgPSBtdXJsICsgXFxcInxcXFwiICsgYWFhO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIGlmIChpIDwgMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1cmwgPSBtdGl0ICsgXFxcIiRcXFwiICsgbXVybDtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcHVybCArPSBcXFwiI1xcXCIgKyBtdGl0ICsgXFxcIiRcXFwiICsgbXVybFxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIC8vbG9nKHB1cmwpO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaGVhZCAhPSB1bmRlZmluZWQpIHtcXG4gICAgICAgICAgICAgICAgdmFyIGhlYWQgPSBpbnB1dC5zcGxpdChcXFwiO3tcXFwiKVsxXS5zcGxpdChcXFwifVxcXCIpWzBdLnNwbGl0KFxcXCImJlxcXCIpO1xcbiAgICAgICAgICAgICAgICB2YXIgcHVybCA9IGlucHV0LnNwbGl0KFxcXCI7e1xcXCIpWzBdLnJlcGxhY2UoL1xcXFwmL2csICfvvIbvvIYnKTtcXG5cXG4gICAgICAgICAgICAgICAgdmFyIGFhYSA9IFxcXCJcXFwiO1xcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhlYWQubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgICAgICAgICAgICAgIGxldCBrZXkgPSBoZWFkW2ldLnNwbGl0KFxcXCJAXFxcIilbMF07XFxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsID0gaGVhZFtpXS5zcGxpdChcXFwiQFxcXCIpWzFdLnJlcGxhY2UoL1xcXFzvvJtcXFxc77ybL2csICc7Jyk7XFxuICAgICAgICAgICAgICAgICAgICBsZXQgdnZ2ID0ga2V5ICsgXFxcIj1cXFwiICsgZW5jb2RlVVJJQ29tcG9uZW50KHZhbCk7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IDEpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBhYWEgPSB2dnY7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGFhYSArPSBcXFwiJlxcXCIgKyB2dnZcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICBwdXJsID0gcHVybCArIFxcXCJ8XFxcIiArIGFhYTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBwdXJsID0gcHVybC5yZXBsYWNlKC9cXFxcJi9nLCAn77yG77yGJylcXG5cXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgLy9sb2cocHVybCk7XFxuICAgICAgICAgICAgLy9sb2codHZpcCk7XFxuXFxuICAgICAgICAgICAgdmFyIHN0YXRlID0gcmVxdWVzdCh0dmlwICsgJy9hY3Rpb24nLCB7XFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcXG4gICAgICAgICAgICAgICAgICAgIC8vJ1gtUmVxdWVzdGVkLVdpdGgnOiAnWE1MSHR0cFJlcXVlc3QnLFxcbiAgICAgICAgICAgICAgICAgICAgJ1JlZmVyZXInOiB0dmlwXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHRpbWVvdXQ6IDIwMDAsXFxuICAgICAgICAgICAgICAgIGJvZHk6ICdkbz1wdXNoJnVybD0nICsgcHVybCxcXG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICBsb2coc3RhdGUpO1xcbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PSAnb2snKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mjqjpgIHmiJDlip/vvIzlpoLmnpx0dmJveOaYvuekuuKAnOayoeaJvuWIsOaVsOaNruKAneWPr+iDveaYr+ivpemTvuaOpemcgOimgeWvhueggeaIluiAheW9k+WJjeeahGphcuS4jeaUr+aMgeOAgic7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+aOqOmAgeWksei0pSdcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9LCB0dmlwKSxcXG4gICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCIsXFxuICAgICAgICBkZXNjOiBcXFwiXFxcIixcXG4gICAgICAgIHBpY191cmw6IFxcXCJcXFwiXFxuICAgIH0pO1xcbn0gZWxzZSB7XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfmjqjpgIHlpLHotKXvvIxJUOWcsOWdgOiuvue9ruS4jeato+ehruOAgicsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXFxuICAgIH0pO1xcbn1cXG5pZiAoZGVjb2RlVVJJQ29tcG9uZW50KHJlYWx1cmwpLmluY2x1ZGVzKCd3d3cuYWxpeXVuZHJpdmUnKSYmIXJlYWx1cmwuaW5jbHVkZXMoJyUzQiU3QicpKSB7XFxuICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL3NoYXJpZCcsIHt9KSkucnVsZSlcXG59XFxuc2V0UmVzdWx0KGl0ZW1zKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWIhuS6q+i1hOa6kOS4gOe6p1wiLFwicGF0aFwiOlwic2hhcmlkXCIsXCJydWxlXCI6XCJqczpcXG4vL3ZhciBpdGVtcyA9IFtdO1xcbmZ1bmN0aW9uIGZvcm1hdERhdGUoX2RhdGUsIF9mbXQpIHtcXG4gICAgbGV0IGZtdCA9IF9mbXQgfHwgXFxcInl5eXktTU0tZGQgSEg6bW06c3NcXFwiO1xcbiAgICBjb25zdCBkYXRlID0gIWlzTmFOKF9kYXRlKSA/IG5ldyBEYXRlKF9kYXRlICogMTAwMCkgOiBuZXcgRGF0ZShfZGF0ZSk7XFxuICAgIGNvbnN0IG8gPSB7XFxuICAgICAgICBcXFwiTStcXFwiOiBkYXRlLmdldE1vbnRoKCkgKyAxLCAvL+aciOS7vSBcXG4gICAgICAgIFxcXCJkK1xcXCI6IGRhdGUuZ2V0RGF0ZSgpLCAvL+aXpSBcXG4gICAgICAgIFxcXCJoK1xcXCI6IGRhdGUuZ2V0SG91cnMoKSAlIDEyID09IDAgPyAxMiA6IGRhdGUuZ2V0SG91cnMoKSAlIDEyLFxcbiAgICAgICAgXFxcIkgrXFxcIjogZGF0ZS5nZXRIb3VycygpLCAvL+Wwj+aXtiBcXG4gICAgICAgIFxcXCJtK1xcXCI6IGRhdGUuZ2V0TWludXRlcygpLCAvL+WIhiBcXG4gICAgICAgIFxcXCJzK1xcXCI6IGRhdGUuZ2V0U2Vjb25kcygpLCAvL+enkiBcXG4gICAgICAgIFxcXCJxK1xcXCI6IE1hdGguZmxvb3IoKGRhdGUuZ2V0TW9udGgoKSArIDMpIC8gMyksIC8v5a2j5bqmIFxcbiAgICAgICAgXFxcIlNcXFwiOiBkYXRlLmdldE1pbGxpc2Vjb25kcygpIC8v5q+r56eSIFxcbiAgICB9O1xcbiAgICBpZiAoLyh5KykvLnRlc3QoZm10KSkge1xcbiAgICAgICAgZm10ID0gZm10LnJlcGxhY2UoUmVnRXhwLiQxLCAoZGF0ZS5nZXRGdWxsWWVhcigpICsgXFxcIlxcXCIpLnN1YnN0cig0IC0gUmVnRXhwLiQxLmxlbmd0aCkpO1xcbiAgICB9XFxuICAgIGZvciAobGV0IGsgaW4gbykge1xcbiAgICAgICAgaWYgKG5ldyBSZWdFeHAoXFxcIihcXFwiICsgayArIFxcXCIpXFxcIikudGVzdChmbXQpKSB7XFxuICAgICAgICAgICAgZm10ID0gZm10LnJlcGxhY2UoUmVnRXhwLiQxLCAoUmVnRXhwLiQxLmxlbmd0aCA9PSAxKSA/IChvW2tdKSA6ICgoXFxcIjAwXFxcIiArIG9ba10pLnN1YnN0cigoXFxcIlxcXCIgKyBvW2tdKS5sZW5ndGgpKSk7XFxuICAgICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIGZtdDtcXG59O1xcblxcbmZ1bmN0aW9uIGZvcm1hdFNpemUoc2l6ZSkge1xcbiAgICBpZiAoIXNpemUpIHtcXG4gICAgICAgIHJldHVybiAnJztcXG4gICAgfVxcbiAgICBjb25zdCB1bml0cyA9IFsnQicsICdLQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xcbiAgICBsZXQgaSA9IDA7XFxuICAgIHdoaWxlIChzaXplID49IDEwMjQpIHtcXG4gICAgICAgIHNpemUgLz0gMTAyNDtcXG4gICAgICAgIGkrKztcXG4gICAgfVxcbiAgICBzaXplID0gaSA/IE51bWJlcihzaXplLnRvRml4ZWQoMikpIDogc2l6ZTtcXG4gICAgcmV0dXJuIGAke3NpemV9ICR7dW5pdHNbaV19YDtcXG59XFxuLy9sb2cocmVhbHVybCk7XFxudHJ5IHtcXG4gICAgdmFyIHNoYXJlSWQgPSBkZWNvZGVVUklDb21wb25lbnQocmVhbHVybCkuc3BsaXQoJ2NvbS9zLycpWzFdLnN1YnN0cmluZygwLCAxMSk7XFxuICAgIHZhciBzaGFyZXRva2VuID0gSlNPTi5wYXJzZShmZXRjaCgnaHR0cHM6Ly9hcGkuYWxpeXVuZHJpdmUuY29tL3YyL3NoYXJlX2xpbmsvZ2V0X3NoYXJlX3Rva2VuJywge1xcbiAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcXG4gICAgICAgIH0sXFxuICAgICAgICBib2R5OiAne1xcXCJzaGFyZV9wd2RcXFwiOlxcXCJcXFwiLFxcXCJzaGFyZV9pZFxcXCI6XFxcIicgKyBzaGFyZUlkICsgJ1xcXCJ9JyxcXG4gICAgICAgIG1ldGhvZDogJ1BPU1QnXFxuICAgIH0pKS5zaGFyZV90b2tlbjtcXG4gICAgLy9sb2coc2hhcmV0b2tlbik7XFxuICAgIGlmICghZGVjb2RlVVJJQ29tcG9uZW50KHJlYWx1cmwpLmluY2x1ZGVzKCcvZm9sZGVyLycpKSB7XFxuICAgICAgICB2YXIgcmVzY29kID0gZmV0Y2goJ2h0dHBzOi8vYXBpLmFsaXl1bmRyaXZlLmNvbS9hZHJpdmUvdjMvZmlsZS9saXN0Jywge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcXG4gICAgICAgICAgICAgICAgJ1gtU2hhcmUtVG9rZW4nOiBzaGFyZXRva2VuXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICBib2R5OiAne1xcXCJzaGFyZV9pZFxcXCI6XFxcIicgKyBzaGFyZUlkICsgJ1xcXCIsXFxcInBhcmVudF9maWxlX2lkXFxcIjpcXFwicm9vdFxcXCIsXFxcImxpbWl0XFxcIjoxMDAsXFxcImltYWdlX3RodW1ibmFpbF9wcm9jZXNzXFxcIjpcXFwiaW1hZ2UvcmVzaXplLHdfMTYwL2Zvcm1hdCxqcGVnXFxcIixcXFwiaW1hZ2VfdXJsX3Byb2Nlc3NcXFwiOlxcXCJpbWFnZS9yZXNpemUsd18xOTIwL2Zvcm1hdCxqcGVnXFxcIixcXFwidmlkZW9fdGh1bWJuYWlsX3Byb2Nlc3NcXFwiOlxcXCJ2aWRlby9zbmFwc2hvdCx0XzEwMDAsZl9qcGcsYXJfYXV0byx3XzMwMFxcXCIsXFxcIm9yZGVyX2J5XFxcIjpcXFwibmFtZVxcXCIsXFxcIm9yZGVyX2RpcmVjdGlvblxcXCI6XFxcIkFTQ1xcXCJ9JyxcXG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJ1xcbiAgICAgICAgfSk7XFxuICAgICAgICAvL2xvZyhyZXNjb2QpO1xcbiAgICAgICAgdmFyIGxpc3R5cCA9IEpTT04ucGFyc2UocmVzY29kKS5pdGVtc1swXS50eXBlO1xcbiAgICAgICAgdmFyIHBmaWxlaWQgPSBKU09OLnBhcnNlKHJlc2NvZCkuaXRlbXNbMF0uZmlsZV9pZDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHZhciBsaXN0eXAgPSAnZm9sZGVyJztcXG4gICAgICAgIHZhciBwZmlsZWlkID0gZGVjb2RlVVJJQ29tcG9uZW50KHJlYWx1cmwpLnNwbGl0KCdmb2xkZXIvJylbMV1cXG5cXG4gICAgfVxcbiAgICAvL2xvZyhodG1sKTtcXG4gICAgaWYgKGxpc3R5cCA9PSAnZm9sZGVyJykge1xcbiAgICAgICAgdmFyIHJlc2NvZCA9IGZldGNoKCdodHRwczovL2FwaS5hbGl5dW5kcml2ZS5jb20vYWRyaXZlL3YzL2ZpbGUvbGlzdCcsIHtcXG4gICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXFxuICAgICAgICAgICAgICAgICdYLVNoYXJlLVRva2VuJzogc2hhcmV0b2tlblxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgYm9keTogJ3tcXFwic2hhcmVfaWRcXFwiOlxcXCInICsgc2hhcmVJZCArICdcXFwiLFxcXCJwYXJlbnRfZmlsZV9pZFxcXCI6XFxcIicgKyBwZmlsZWlkICsgJ1xcXCIsXFxcImxpbWl0XFxcIjoxMDAsXFxcImltYWdlX3RodW1ibmFpbF9wcm9jZXNzXFxcIjpcXFwiaW1hZ2UvcmVzaXplLHdfMTYwL2Zvcm1hdCxqcGVnXFxcIixcXFwiaW1hZ2VfdXJsX3Byb2Nlc3NcXFwiOlxcXCJpbWFnZVxcXFwvcmVzaXplLHdfMTkyMC9mb3JtYXQsanBlZ1xcXCIsXFxcInZpZGVvX3RodW1ibmFpbF9wcm9jZXNzXFxcIjpcXFwidmlkZW8vc25hcHNob3QsdF8xMDAwLGZfanBnLGFyX2F1dG8sd18zMDBcXFwiLFxcXCJvcmRlcl9ieVxcXCI6XFxcIm5hbWVcXFwiLFxcXCJvcmRlcl9kaXJlY3Rpb25cXFwiOlxcXCJBU0NcXFwifScsXFxuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCdcXG4gICAgICAgIH0pO1xcblxcbiAgICB9IC8v5Y+W5paH5Lu25aS5XFxuICAgIC8vbG9nKHJlc2NvZCk7XFxuICAgIHZhciBjb250cyA9IEpTT04ucGFyc2UocmVzY29kKS5pdGVtcztcXG4gICAgdmFyIGRvbmd0YWkgPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvbGF6eXVybCcsIHt9KSkucnVsZS50b1N0cmluZygpO1xcbiAgICBmb3IgKHZhciBpIGluIGNvbnRzKSB7XFxuICAgICAgICB2YXIgbGlzdHlwID0gY29udHNbaV0udHlwZTtcXG4gICAgICAgIGlmIChsaXN0eXAgIT0gJ2ZvbGRlcicpIHtcXG4gICAgICAgICAgICB2YXIgY2F0ZSA9IGNvbnRzW2ldLmNhdGVnb3J5O1xcbiAgICAgICAgICAgIHZhciBmbmFtZSA9IGNvbnRzW2ldLm5hbWU7XFxuICAgICAgICAgICAgaWYgKGNhdGUgPT0gJ3ZpZGVvJykge1xcbiAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSAn8J+TuicgKyBjb250c1tpXS5uYW1lO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2F0ZSA9PSAnZG9jJykge1xcbiAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSAn8J+TlicgKyBjb250c1tpXS5uYW1lO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2F0ZSA9PSAnaW1hZ2UnKSB7XFxuICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9ICfwn5a8JyArIGNvbnRzW2ldLm5hbWU7XFxuICAgICAgICAgICAgfSBlbHNlIGlmIChjYXRlID09ICd6aXAnKSB7XFxuICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9ICfwn5OmJyArIGNvbnRzW2ldLm5hbWU7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gY29udHNbaV0ubmFtZVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQoY29udHNbaV0uZmlsZV9pZCkubGF6eVJ1bGUoKHNoYXJlSWQsIHNoYXJldG9rZW4sIGRvbmd0YWksIGNhdGUsIGZuYW1lKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBldmFsKGRvbmd0YWkpO1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlcXG4gICAgICAgICAgICAgICAgfSwgc2hhcmVJZCwgc2hhcmV0b2tlbiwgZG9uZ3RhaSwgY2F0ZSwgZm5hbWUpLFxcbiAgICAgICAgICAgICAgICBkZXNjOiBmb3JtYXREYXRlKGNvbnRzW2ldLnVwZGF0ZWRfYXQpICsgJyAgJyArIGZvcm1hdFNpemUoY29udHNbaV0uc2l6ZSksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcblxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfwn5OCJyArIGNvbnRzW2ldLm5hbWUsXFxuICAgICAgICAgICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eScgKyBjb250c1tpXS5maWxlX2lkKS5ydWxlKChzaGFyZUlkLCBzaGFyZXRva2VuKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9ydWxlbG9vcCcsIHt9KSkucnVsZSk7XFxuICAgICAgICAgICAgICAgIH0sIHNoYXJlSWQsIHNoYXJldG9rZW4pLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICAgICAgICAgIH0pO1xcblxcbiAgICAgICAgfSAvL2VuZCBpZlxcbiAgICB9IC8vZW5kIGZvciBpXFxufSBjYXRjaCAoZSkge1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn5qyn5qyn77yM5oql6ZSZ5LqG44CCJyxcXG4gICAgICAgIHVybDogZGVjb2RlVVJJQ29tcG9uZW50KGdldFJlc0NvZGUoKS5zcGxpdCgnIyMnKVsxXSksXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXFxuICAgIH0pO1xcbn1cXG4vKlxcbnNldEhvbWVSZXN1bHQoe1xcbiAgICBkYXRhOiBpdGVtc1xcbn0pO1xcbiovXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLliIbkuqvotYTmupDltYzlpZdcIixcInBhdGhcIjpcInJ1bGVsb29wXCIsXCJydWxlXCI6XCJ2YXIgZCA9IFtdO1xcblxcbmZ1bmN0aW9uIGZvcm1hdERhdGUoX2RhdGUsIF9mbXQpIHtcXG4gICAgbGV0IGZtdCA9IF9mbXQgfHwgXFxcInl5eXktTU0tZGQgSEg6bW06c3NcXFwiO1xcbiAgICBjb25zdCBkYXRlID0gIWlzTmFOKF9kYXRlKSA/IG5ldyBEYXRlKF9kYXRlICogMTAwMCkgOiBuZXcgRGF0ZShfZGF0ZSk7XFxuICAgIGNvbnN0IG8gPSB7XFxuICAgICAgICBcXFwiTStcXFwiOiBkYXRlLmdldE1vbnRoKCkgKyAxLCAvL+aciOS7vSBcXG4gICAgICAgIFxcXCJkK1xcXCI6IGRhdGUuZ2V0RGF0ZSgpLCAvL+aXpSBcXG4gICAgICAgIFxcXCJoK1xcXCI6IGRhdGUuZ2V0SG91cnMoKSAlIDEyID09IDAgPyAxMiA6IGRhdGUuZ2V0SG91cnMoKSAlIDEyLFxcbiAgICAgICAgXFxcIkgrXFxcIjogZGF0ZS5nZXRIb3VycygpLCAvL+Wwj+aXtiBcXG4gICAgICAgIFxcXCJtK1xcXCI6IGRhdGUuZ2V0TWludXRlcygpLCAvL+WIhiBcXG4gICAgICAgIFxcXCJzK1xcXCI6IGRhdGUuZ2V0U2Vjb25kcygpLCAvL+enkiBcXG4gICAgICAgIFxcXCJxK1xcXCI6IE1hdGguZmxvb3IoKGRhdGUuZ2V0TW9udGgoKSArIDMpIC8gMyksIC8v5a2j5bqmIFxcbiAgICAgICAgXFxcIlNcXFwiOiBkYXRlLmdldE1pbGxpc2Vjb25kcygpIC8v5q+r56eSIFxcbiAgICB9O1xcbiAgICBpZiAoLyh5KykvLnRlc3QoZm10KSkge1xcbiAgICAgICAgZm10ID0gZm10LnJlcGxhY2UoUmVnRXhwLiQxLCAoZGF0ZS5nZXRGdWxsWWVhcigpICsgXFxcIlxcXCIpLnN1YnN0cig0IC0gUmVnRXhwLiQxLmxlbmd0aCkpO1xcbiAgICB9XFxuICAgIGZvciAobGV0IGsgaW4gbykge1xcbiAgICAgICAgaWYgKG5ldyBSZWdFeHAoXFxcIihcXFwiICsgayArIFxcXCIpXFxcIikudGVzdChmbXQpKSB7XFxuICAgICAgICAgICAgZm10ID0gZm10LnJlcGxhY2UoUmVnRXhwLiQxLCAoUmVnRXhwLiQxLmxlbmd0aCA9PSAxKSA/IChvW2tdKSA6ICgoXFxcIjAwXFxcIiArIG9ba10pLnN1YnN0cigoXFxcIlxcXCIgKyBvW2tdKS5sZW5ndGgpKSk7XFxuICAgICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIGZtdDtcXG59O1xcblxcbmZ1bmN0aW9uIGZvcm1hdFNpemUoc2l6ZSkge1xcbiAgICBpZiAoIXNpemUpIHtcXG4gICAgICAgIHJldHVybiAnJztcXG4gICAgfVxcbiAgICBjb25zdCB1bml0cyA9IFsnQicsICdLQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xcbiAgICBsZXQgaSA9IDA7XFxuICAgIHdoaWxlIChzaXplID49IDEwMjQpIHtcXG4gICAgICAgIHNpemUgLz0gMTAyNDtcXG4gICAgICAgIGkrKztcXG4gICAgfVxcbiAgICBzaXplID0gaSA/IE51bWJlcihzaXplLnRvRml4ZWQoMikpIDogc2l6ZTtcXG4gICAgcmV0dXJuIGAke3NpemV9ICR7dW5pdHNbaV19YDtcXG59XFxudmFyIHJlc2NvZCA9IGZldGNoKCdodHRwczovL2FwaS5hbGl5dW5kcml2ZS5jb20vYWRyaXZlL3YzL2ZpbGUvbGlzdCcsIHtcXG4gICAgaGVhZGVyczoge1xcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcXG4gICAgICAgICdYLVNoYXJlLVRva2VuJzogc2hhcmV0b2tlblxcbiAgICB9LFxcbiAgICBib2R5OiAne1xcXCJzaGFyZV9pZFxcXCI6XFxcIicgKyBzaGFyZUlkICsgJ1xcXCIsXFxcInBhcmVudF9maWxlX2lkXFxcIjpcXFwiJyArIGdldFJlc0NvZGUoKSArICdcXFwiLFxcXCJsaW1pdFxcXCI6MTAwLFxcXCJpbWFnZV90aHVtYm5haWxfcHJvY2Vzc1xcXCI6XFxcImltYWdlL3Jlc2l6ZSx3XzE2MC9mb3JtYXQsanBlZ1xcXCIsXFxcImltYWdlX3VybF9wcm9jZXNzXFxcIjpcXFwiaW1hZ2VcXFxcL3Jlc2l6ZSx3XzE5MjAvZm9ybWF0LGpwZWdcXFwiLFxcXCJ2aWRlb190aHVtYm5haWxfcHJvY2Vzc1xcXCI6XFxcInZpZGVvL3NuYXBzaG90LHRfMTAwMCxmX2pwZyxhcl9hdXRvLHdfMzAwXFxcIixcXFwib3JkZXJfYnlcXFwiOlxcXCJuYW1lXFxcIixcXFwib3JkZXJfZGlyZWN0aW9uXFxcIjpcXFwiQVNDXFxcIn0nLFxcbiAgICBtZXRob2Q6ICdQT1NUJ1xcbn0pO1xcbi8vbG9nKHJlc2NvZCk7XFxudmFyIGNvbnRzID0gSlNPTi5wYXJzZShyZXNjb2QpLml0ZW1zO1xcbnZhciBkb25ndGFpID0gSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL2xhenl1cmwnLCB7fSkpLnJ1bGUudG9TdHJpbmcoKTtcXG5mb3IgKHZhciBpIGluIGNvbnRzKSB7XFxuXFxuICAgIHZhciBsaXN0eXAgPSBjb250c1tpXS50eXBlO1xcbiAgICBpZiAobGlzdHlwICE9ICdmb2xkZXInKSB7XFxuICAgICAgICB2YXIgY2F0ZSA9IGNvbnRzW2ldLmNhdGVnb3J5O1xcbiAgICAgICAgdmFyIGZuYW1lID0gY29udHNbaV0ubmFtZTtcXG4gICAgICAgIGlmIChjYXRlID09ICd2aWRlbycpIHtcXG4gICAgICAgICAgICB2YXIgdGl0bGUgPSAn8J+TuicgKyBjb250c1tpXS5uYW1lO1xcbiAgICAgICAgfSBlbHNlIGlmIChjYXRlID09ICdkb2MnKSB7XFxuICAgICAgICAgICAgdmFyIHRpdGxlID0gJ/Cfk5YnICsgY29udHNbaV0ubmFtZTtcXG4gICAgICAgIH0gZWxzZSBpZiAoY2F0ZSA9PSAnaW1hZ2UnKSB7XFxuICAgICAgICAgICAgdmFyIHRpdGxlID0gJ/CflrwnICsgY29udHNbaV0ubmFtZTtcXG4gICAgICAgIH0gZWxzZSBpZiAoY2F0ZSA9PSAnemlwJykge1xcbiAgICAgICAgICAgIHZhciB0aXRsZSA9ICfwn5OmJyArIGNvbnRzW2ldLm5hbWU7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciB0aXRsZSA9IGNvbnRzW2ldLm5hbWVcXG4gICAgICAgIH1cXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgICAgIHVybDogJChjb250c1tpXS5maWxlX2lkKS5sYXp5UnVsZSgoc2hhcmVJZCwgc2hhcmV0b2tlbiwgZG9uZ3RhaSwgY2F0ZSwgZm5hbWUpID0+IHtcXG4gICAgICAgICAgICAgICAgZXZhbChkb25ndGFpKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlcXG4gICAgICAgICAgICB9LCBzaGFyZUlkLCBzaGFyZXRva2VuLCBkb25ndGFpLCBjYXRlLCBmbmFtZSksXFxuICAgICAgICAgICAgZGVzYzogZm9ybWF0RGF0ZShjb250c1tpXS51cGRhdGVkX2F0KSArICcgICcgKyBmb3JtYXRTaXplKGNvbnRzW2ldLnNpemUpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcblxcbiAgICAgICAgfSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiAn8J+TgicgKyBjb250c1tpXS5uYW1lLFxcbiAgICAgICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eScgKyBjb250c1tpXS5maWxlX2lkKS5ydWxlKChzaGFyZUlkLCBzaGFyZXRva2VuKSA9PiB7XFxuICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL3J1bGVsb29wJywge30pKS5ydWxlKTtcXG4gICAgICAgICAgICB9LCBzaGFyZUlkLCBzaGFyZXRva2VuKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICAgICAgfSk7XFxuXFxuICAgIH0gLy9lbmQgaWZcXG5cXG5cXG59XFxuc2V0SG9tZVJlc3VsdCh7XFxuICAgIGRhdGE6IGRcXG59KTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWIhuS6q+i1hOa6kOWKqOaAgeino+aekFwiLFwicGF0aFwiOlwibGF6eXVybFwiLFwicnVsZVwiOlwiLy9odHRwczovL2FwaS5hbGl5dW5kcml2ZS5jb20vdjIvZmlsZS9nZXRfc2hhcmVfbGlua19kb3dubG9hZF91cmxcXG4vL2h0dHBzOi8vYXBpLmFsaXl1bmRyaXZlLmNvbS92Mi9maWxlL2dldF9vZmZpY2VfcHJldmlld191cmxcXG5mdW5jdGlvbiBhY2Nlc3NUaygpIHtcXG4gICAgLy9sZXQgcmVmdG9rZW4gPSByZXF1ZXN0KCdodHRwOi8vaG9tZS5qdW5kaWUudG9wOjgxL2phci90b2tlbjY2Ni50eHQnLCB7fSk7XFxuICAgIHZhciByZWZ0b2tlbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FsaXRva2VuLmpzb24nLCB7fSkpLnJlZnJlc2hfdG9rZW47XFxuICAgIGxldCBhY2Nlc3NUayA9IFxcXCJcXFwiO1xcbiAgICBsZXQgcmVmcmVzaCA9IGZldGNoKCdodHRwczovL2F1dGguYWxpeXVuZHJpdmUuY29tL3YyL2FjY291bnQvdG9rZW4nLCB7XFxuICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcXG4gICAgICAgICAgICAnUmVmZXJlcic6ICdodHRwczovL3d3dy5hbGl5dW5kcml2ZS5jb20vJ1xcbiAgICAgICAgfSxcXG4gICAgICAgIGJvZHk6ICd7XFxcInJlZnJlc2hfdG9rZW5cXFwiOlxcXCInICsgcmVmdG9rZW4gKyAnXFxcIixcXFwiZ3JhbnRfdHlwZVxcXCI6XFxcInJlZnJlc2hfdG9rZW5cXFwifScsXFxuICAgICAgICBtZXRob2Q6ICdQT1NUJ1xcbiAgICB9KTtcXG4gICAgYWNjZXNzVGsgPSBKU09OLnBhcnNlKHJlZnJlc2gpLnRva2VuX3R5cGUgKyAnICcgKyBKU09OLnBhcnNlKHJlZnJlc2gpLmFjY2Vzc190b2tlbjtcXG4gICAgcHV0TXlWYXIoXFxcImFsaWFjY2Vzc1RrXFxcIiwgYWNjZXNzVGspO1xcbiAgICByZXR1cm4gYWNjZXNzVGtcXG4gICAgLy9wdXRWYXIoXFxcImFsaWFjY2Vzc1RrXFxcIiwgYWNjZXNzVGspO1xcbn1cXG5cXG5pZiAoY2F0ZSA9PSAndmlkZW8nfHxjYXRlID09ICdhdWRpbycpIHtcXG4gICAgLy/lpITnkIbop4bpopEgIFxcbiAgICB2YXIgZHNpZCA9IHNoYXJlSWQ7XFxuICAgIHZhciBkZmlkID0gaW5wdXQ7XFxuICAgIGlmKGNhdGUgPT0gJ3ZpZGVvJyl7XFxuICAgIHZhciBqc29uID0gZmV0Y2goJ2h0dHBzOi8vYXBpLmFsaXl1bmRyaXZlLmNvbS92Mi9maWxlL2dldF9zaGFyZV9saW5rX3ZpZGVvX3ByZXZpZXdfcGxheV9pbmZvJywge1xcbiAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXFxuICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBhY2Nlc3NUaygpLFxcbiAgICAgICAgICAgICdYLVNoYXJlLVRva2VuJzogc2hhcmV0b2tlblxcbiAgICAgICAgfSxcXG4gICAgICAgIGJvZHk6ICd7XFxcInNoYXJlX2lkXFxcIjpcXFwiJyArIHNoYXJlSWQgKyAnXFxcIixcXFwiY2F0ZWdvcnlcXFwiOlxcXCJsaXZlX3RyYW5zY29kaW5nXFxcIixcXFwiZmlsZV9pZFxcXCI6XFxcIicgKyBpbnB1dCArICdcXFwiLFxcXCJ0ZW1wbGF0ZV9pZFxcXCI6XFxcIlxcXCJ9JyxcXG4gICAgICAgIG1ldGhvZDogJ1BPU1QnXFxuICAgIH0pO1xcbiAgICAvL2xvZyhqc29uKTtcXG4gICAgLypcXG4gICAgdmFyIHRpZCA9IFtcXFwiRkhEXFxcIiwgXFxcIkhEXFxcIiwgXFxcIlNEXFxcIiwgXFxcIkxEXFxcIl07XFxuXFxuICAgIGZvciAodmFyIGkgaW4gdGlkKSB7XFxuICAgICAgICB2YXIgcGxheUxpc3QgPSBKU09OLnBhcnNlKGpzb24pLnZpZGVvX3ByZXZpZXdfcGxheV9pbmZvLmxpdmVfdHJhbnNjb2RpbmdfdGFza19saXN0O1xcbiAgICAgICAgZm9yICh2YXIgaiBpbiBwbGF5TGlzdCkge1xcbiAgICAgICAgICAgIGlmIChwbGF5TGlzdFtqXS50ZW1wbGF0ZV9pZCA9PSB0aWRbaV0pIHtcXG4gICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBwbGF5TGlzdFtqXS51cmw7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKCEhbGluaykge1xcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcbiAgICB9Ki9cXG4gICAgLy97XFxcImV4cGlyZV9zZWNcXFwiOjYwMCxcXFwiZmlsZV9pZFxcXCI6XFxcIjYyOGM5ZGIyMjhmNmViODkxMWE2NDA4OTlmNzViNmZlYWE1YzgzZjJcXFwiLFxcXCJzaGFyZV9pZFxcXCI6XFxcIjl2WUh3SFp6Z05qXFxcIn1cXG4gICAgdmFyIGRzaWQgPSBKU09OLnBhcnNlKGpzb24pLnNoYXJlX2lkO1xcbiAgICB2YXIgZGZpZCA9IEpTT04ucGFyc2UoanNvbikuZmlsZV9pZDtcXG4gICAgfVxcbiAgICBpZihjYXRlID09ICd2aWRlbycpe1xcbiAgICAgICB2YXIgYm9keT0ne1xcXCJleHBpcmVfc2VjXFxcIjo2MDAsXFxcImZpbGVfaWRcXFwiOlxcXCInICsgZGZpZCArICdcXFwiLFxcXCJzaGFyZV9pZFxcXCI6XFxcIicgKyBkc2lkICsgJ1xcXCJ9JztcXG4gICAgICAgIFxcbiAgICB9ZWxzZXtcXG4gICAgICB2YXIgYm9keT0ne1xcXCJmaWxlX2lkXFxcIjpcXFwiJyArIGRmaWQgKyAnXFxcIixcXFwiZ2V0X2F1ZGlvX3BsYXlfaW5mb1xcXCI6dHJ1ZSxcXFwic2hhcmVfaWRcXFwiOlxcXCInICsgZHNpZCArICdcXFwifSc7ICAgXFxuICAgIH1cXG4gICAgdmFyIGRqc29uID0gZmV0Y2goJ2h0dHBzOi8vYXBpLmFsaXl1bmRyaXZlLmNvbS92Mi9maWxlL2dldF9zaGFyZV9saW5rX2Rvd25sb2FkX3VybCcsIHtcXG4gICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxcbiAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYWNjZXNzVGsoKSxcXG4gICAgICAgICAgICAnWC1TaGFyZS1Ub2tlbic6IHNoYXJldG9rZW5cXG4gICAgICAgIH0sXFxuICAgICAgICBib2R5OiBib2R5LFxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCdcXG4gICAgfSk7XFxuICAgIHZhciBsaW5rID0gSlNPTi5wYXJzZShkanNvbikuZG93bmxvYWRfdXJsO1xcbiAgICBcXG4gICAgLypcXG4gICAgdmFyIHBsYXlMaXN0ID0gSlNPTi5wYXJzZShqc29uKS52aWRlb19wcmV2aWV3X3BsYXlfaW5mby5saXZlX3RyYW5zY29kaW5nX3Rhc2tfbGlzdDtcXG4gICAgdmFyIGxpbmsgPSBcXFwiXFxcIjtcXG4gICAgdHJ5IHtcXG4gICAgICAgIHRpZC5mb3JFYWNoKHZhbHVlID0+IHtcXG4gICAgICAgICAgICB2YXIgbGlua3MgPSBwbGF5TGlzdC5maW5kKGUgPT4gZS50ZW1wbGF0ZV9pZCA9PSB2YWx1ZSk7XFxuICAgICAgICAgICAgaWYgKCEhbGlua3MpIHtcXG4gICAgICAgICAgICAgICAgdGhyb3cgbGlua3MudXJsXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSk7XFxuICAgIH0gY2F0Y2ggKGVycikge1xcbiAgICAgICAgbG9nKGVycik7XFxuICAgICAgICBsaW5rID0gZXJyXFxuICAgIH1cXG4gICAgKi9cXG4gICAgLy9sb2cobGluayk7XFxuICAgIHZhciBwbGF5ID0gSlNPTi5wYXJzZShmZXRjaChsaW5rLCB7XFxuICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiBNT0JJTEVfVUEsXFxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxcbiAgICAgICAgICAgICdSZWZlcmVyJzogJ2h0dHBzOi8vd3d3LmFsaXl1bmRyaXZlLmNvbS8nXFxuICAgICAgICB9LFxcbiAgICAgICAgcmVkaXJlY3Q6IGZhbHNlLFxcbiAgICAgICAgd2l0aFN0YXR1c0NvZGU6IHRydWVcXG4gICAgfSkpLmhlYWRlcnMubG9jYXRpb25bMF0gKyAoY2F0ZSA9PSAndmlkZW8nPyc7e1JlZmVyZXJAaHR0cHM6Ly93d3cuYWxpeXVuZHJpdmUuY29tL30nOicjaXNNdXNpYz10cnVlIzt7UmVmZXJlckBodHRwczovL3d3dy5hbGl5dW5kcml2ZS5jb20vfScpO1xcbn0gZWxzZSBpZiAoY2F0ZSA9PSAnaW1hZ2UnKSB7XFxuICAgIC8v5aSE55CG5paH5qGjXFxuICAgIHZhciBqc29uID0gZmV0Y2goJ2h0dHBzOi8vYXBpLmFsaXl1bmRyaXZlLmNvbS92Mi9maWxlL2dldF9zaGFyZV9saW5rX2Rvd25sb2FkX3VybCcsIHtcXG4gICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxcbiAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYWNjZXNzVGsoKSxcXG4gICAgICAgICAgICAnWC1TaGFyZS1Ub2tlbic6IHNoYXJldG9rZW5cXG4gICAgICAgIH0sXFxuICAgICAgICBib2R5OiAne1xcXCJzaGFyZV9pZFxcXCI6XFxcIicgKyBzaGFyZUlkICsgJ1xcXCIsXFxcImV4cGlyZV9zZWNcXFwiOiA2MDAsXFxcImZpbGVfaWRcXFwiOlxcXCInICsgaW5wdXQgKyAnXFxcIn0nLFxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCdcXG4gICAgfSk7XFxuXFxuICAgIC8vbG9nKGpzb24pO1xcblxcbiAgICB2YXIgbG9jbGluayA9IEpTT04ucGFyc2UoZmV0Y2goSlNPTi5wYXJzZShqc29uKS51cmwsIHtcXG4gICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAnVXNlci1BZ2VudCc6IE1PQklMRV9VQSxcXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXFxuICAgICAgICAgICAgJ1JlZmVyZXInOiAnaHR0cHM6Ly93d3cuYWxpeXVuZHJpdmUuY29tLydcXG4gICAgICAgIH0sXFxuICAgICAgICByZWRpcmVjdDogZmFsc2UsXFxuICAgICAgICB3aXRoU3RhdHVzQ29kZTogdHJ1ZVxcbiAgICB9KSkuaGVhZGVycy5sb2NhdGlvblswXTtcXG5cXG4gICAgLy9sb2cobG9jbGluayk7XFxuICAgIGlmIChjYXRlID09ICdpbWFnZScpIHtcXG4gICAgICAgIHZhciBwbGF5ID0gJ3BpY3M6Ly8nICsgbG9jbGluayArICdAUmVmZXJlcj1odHRwczovL3d3dy5hbGl5dW5kcml2ZS5jb20vJztcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHZhciBwbGF5ID0gbG9jbGluayArICc7e1JlZmVyZXJAaHR0cHM6Ly93d3cuYWxpeXVuZHJpdmUuY29tL30nO1xcbiAgICB9XFxufSBlbHNlIHtcXG4gICAgdmFyIHBsYXkgPSAndG9hc3Q6Ly/or6XmoLzlvI/mmoLmnKrmlK/mjIHvvIznm67liY3lj6rmlK/mjIHpn7Pop4bpopHlkozlm77niYfjgIInXFxufVwifV0iLCJpY29uIjoiaHR0cHM6Ly93d3cuYWxpcGFuc291LmNvbS9mYXZpY29uLmljbyIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment