Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@资源轻合集@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi6LWE5rqQ6L275ZCI6ZuGIiwiYXV0aG9yIjoi5bCP5qOJ6KKE8J+MnibmsLjov5zjga7mmI7ml6UiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IiwidmVyc2lvbiI6NzIsImNvbF90eXBlIjoiaWNvbl8yX3JvdW5kIiwiY2xhc3NfbmFtZSI6IiIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxubGV0IGVsID0gW3tcbiAgICB0aXRsZTogJ+a4hemZpOe8k+WtmCznq4vljbPmm7TmlrAgPHNtYWxsPijln7rkuo7ov5znqIvku5PlupMs5LiN6KaB6aKR57mB54K55Ye7KScsXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xuICAgICAgICBjbGVhckl0ZW0oJ3VwZGF0ZXRpbWUnKVxuICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxuICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey5pu05pawJ1xuICAgIH0pLFxuICAgIGltZzogJ2hpa2VyOi8vaW1hZ2VzL2ljb24xJyxcbiAgICBjb2xfdHlwZTogJ2F2YXRhcidcbn1dXG5lbC5wdXNoKHtcbiAgICB1cmw6ICdcImhpa2VyOi8vc2VhcmNoP3M9XCIraW5wdXQrXCImcnVsZT0nICsgZ2V0SXRlbSgnbXlDb2xsZWN0aW9uJykgKyAnXCInLFxuICAgIGRlc2M6ICfmkJzkvaDmg7PopoHnmoQuLi4nLFxuICAgIHRpdGxlOiAn5pCc57SiJyxcbiAgICBjb2xfdHlwZTogJ2lucHV0J1xufSlcbmNvbnN0IGRhdGEgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9kYXRhTG9hZD9ydWxlPScgKyBnZXRJdGVtKCdteUNvbGxlY3Rpb24nKSlcbnNldFJlc3VsdChlbC5jb25jYXQoZGF0YS5tYXAoKHYpID0+IHtcbiAgICBsZXQgZnlwYWdlID0gL15bXjtdKj9meXBhZ2UuKj8oOy4qKT8kLy50ZXN0KHYudXJsKSA/ICdmeXBhZ2UnIDogJzEnXG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IHYudGl0bGUsXG4gICAgICAgIHVybDogJ2hpa2VyOi8vcGFnZS9pbmRleExvYWQ/IycgKyBmeXBhZ2UgKyAnI25vSGlzdG9yeSMnLFxuICAgICAgICBpbWc6IHYuaWNvbixcbiAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgIFJVTEU6IHZcbiAgICAgICAgfVxuICAgIH1cbn0pKS5jb25jYXQoW3tcbiAgICB0aXRsZTogJ+KAnOKAnOKAneKAnTxzbWFsbD48Zm9udCBjb2xvcj0jODcxZjc4PuS7peS4iuaVsOaNruadpea6kOS6jue9kee7nO+8jOWmguaCqOWWnOasou+8jOivt+aUr+aMgeWumOaWuTwvZm9udD48L3NtYWxsPicsXG4gICAgZGVzYzogJ+KAnOKAnOKAneKAnTxzbWFsbD48Zm9udCBjb2xvcj0jZjIwYzAwPuatpOinhOWImeS7hemZkOWtpuS5oOS6pOa1geS9v+eUqO+8jOivt+S6juWvvOWFpeWQjjI05bCP5pe25YaF5Yig6Zmk77yM5Lu75L2V57uE57uH5oiW5Liq5Lq65LiN5b6X5Lul5Lu75L2V5pa55byP5pa55rOV5Lyg5pKt5q2k6KeE5YiZ55qE5pW05L2T5oiW6YOo5YiG77yBPC9mb250Pjwvc21hbGw+JyxcbiAgICB1cmw6IE1ZX1VSTCxcbiAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXG59XSkpIiwic2VhcmNoX3VybCI6Imhpa2VyOi8vZW1wdHkjI2Z5cGFnZSMjKioiLCJncm91cCI6IuKRoOi9u+WQiOmbhiIsInNlYXJjaEZpbmQiOiJqczpcbmxldCBteUNvbGxlY3Rpb25fZWwgPSBbXSxcbiAgICBzZWFyY2hNb2RlID0gZ2V0VmFyKCdteUNvbGxlY3Rpb24tc2VhcmNoTW9kZScsICcnKSxcbiAgICBbXywgcGFnZU51bSwga2V5d29yZF0gPSBNWV9VUkwuc3BsaXQoJyMjJyksXG4gICAgUlVMRSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL2RhdGFMb2FkP3J1bGU9JyArIGdldEl0ZW0oJ215Q29sbGVjdGlvbicpKS5maWx0ZXIoKHYpID0+IHYuc2VhcmNoX3VybClcbnBhZ2VOdW0gPSBwYXJzZUludChwYWdlTnVtKVxuaWYgKCFzZWFyY2hNb2RlICYmIHBhZ2VOdW0gPiBSVUxFLmxlbmd0aCkgc2V0UmVzdWx0KFtdKVxuXG5sZXQgc2VhcmNoQ291bnQgPSB7IHRpdGxlOiAn4qyGIOW3suaQnOe0ouS6hicgKyBwYWdlTnVtICsgJ+S4quWwj+eoi+W6jyDirIZcXG7irIcg5LiL6Z2i6L+Y5pyJJyArIChSVUxFLmxlbmd0aCAtIHBhZ2VOdW0pICsgJ+S4quWwj+eoi+W6jyDirIcnIH1cblJVTEUgPSBzZWFyY2hNb2RlID8gUlVMRS5maW5kKCh2KSA9PiB2LnRpdGxlID09IHNlYXJjaE1vZGUpIDogUlVMRVtwYWdlTnVtIC0gMV1cbi8vIOWkhOeQhk1ZX1VSTOWSjE1ZX1JVTEVcbk1ZX1JVTEUudmVyc2lvbiA9IFJVTEUudmVyc2lvblxuTVlfUlVMRS5ncm91cCA9IFJVTEUuZ3JvdXBcbk1ZX1JVTEUudGl0bGUgPSBSVUxFLnRpdGxlXG5NWV9SVUxFLnVhID0gUlVMRS51YVxuTVlfUlVMRS5jb2xfdHlwZSA9IFJVTEUuY29sX3R5cGVcbk1ZX1JVTEUuZGV0YWlsX2NvbF90eXBlID0gUlVMRS5zZGV0YWlsX2NvbF90eXBlXG5NWV9SVUxFLmZpbmRfcnVsZSA9IFJVTEUuc2VhcmNoRmluZFxuTVlfUlVMRS5kZXRhaWxfZmluZF9ydWxlID0gWycnLCAnKiddLmluY2x1ZGVzKFJVTEUuc2RldGFpbF9maW5kX3J1bGUpID8gUlVMRS5kZXRhaWxfZmluZF9ydWxlIDogUlVMRS5zZGV0YWlsX2ZpbmRfcnVsZVxuTVlfUlVMRS5wcmVSdWxlID0gUlVMRS5wcmVSdWxlXG5NWV9SVUxFLnBhZ2VMaXN0ID0gSlNPTi5wYXJzZShSVUxFLnBhZ2VzIHx8ICdbXScpXG5NWV9SVUxFLnBhZ2VzID0gSlNPTi5zdHJpbmdpZnkoTVlfUlVMRS5wYWdlTGlzdClcbk1ZX1JVTEUubGFzdF9jaGFwdGVyX3J1bGUgPSBSVUxFLmxhc3RfY2hhcHRlcl9ydWxlXG5NWV9SVUxFLnBhcmFtcyA9IHt9XG5cbmNvbnN0IHsgcnVuQ29kZSwgdXJsUGFyc2UgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3V0aWxpdHk/cnVsZT0nICsgZ2V0SXRlbSgnbXlDb2xsZWN0aW9uJykpXG52YXIgeyBNWV9VUkwsIGluZGV4SHRtbCB9ID0gdXJsUGFyc2UoUlVMRS5zZWFyY2hfdXJsLCBzZWFyY2hNb2RlID8gcGFnZU51bSA6IDEsICh1cmwpID0+IHtcbiAgICB1cmxbMF0gPSB1cmxbMF0ucmVwbGFjZSh1cmxbMF0uaW5jbHVkZXMoJyUlJykgPyAvJSUvZyA6IC9cXCpcXCovZywgZW5jb2RlU3RyKGtleXdvcmQsIHVybFsyXSkpXG59KVxuTVlfUlVMRS51cmwgPSBNWV9VUkxcbi8vIOato+aWh+ino+aekFxuaWYgKHBhZ2VOdW0gPT0gMSkgZXZhbChNWV9SVUxFLnByZVJ1bGUpXG5pZiAoTVlfUlVMRS5maW5kX3J1bGUuc3RhcnRzV2l0aCgnanM6JykpIHtcbiAgICBmdW5jdGlvbiBnZXRVcmwoKSB7XG4gICAgICAgIHJldHVybiBNWV9VUkxcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRSZXNDb2RlKCkge1xuICAgICAgICByZXR1cm4gaW5kZXhIdG1sXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2V0UmVzdWx0KGVsLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKSB7XG4gICAgICAgIHBhcmFtMSA9IENBTExCQUNLX0tFWVxuICAgICAgICBwYXJhbTIgPSBNWV9SVUxFXG4gICAgICAgIHBhcmFtMyA9IE1ZX1RZUEVcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZWwuZGF0YSkpIGVsID0gZWwuZGF0YVxuICAgICAgICBsb2coZWwpXG4gICAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KG15Q29sbGVjdGlvbl9lbCwgZWwubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICBsZXQgUlVMRSA9IE9iamVjdC5hc3NpZ24oe30sIE1ZX1JVTEUpXG5cbiAgICAgICAgICAgIGlmICghdi51cmwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdlxuICAgICAgICAgICAgfSBlbHNlIGlmICh2LnVybC5pbmNsdWRlcygnQGxhenlSdWxlPScpKSB7XG4gICAgICAgICAgICAgICAgdi51cmwgPSB2LnVybC5yZXBsYWNlKCcuanM6JywgJy5qczpcXG5pZihNWV9SVUxFKU9iamVjdC5hc3NpZ24oTVlfUlVMRSwnICsgJC5zdHJpbmdpZnkoeyB0aXRsZTogTVlfUlVMRS50aXRsZSwgcGFnZXM6IE1ZX1JVTEUucGFnZXMsIHBhZ2VMaXN0OiBNWV9SVUxFLnBhZ2VMaXN0LCBmaW5kX3J1bGU6ICcnLCBwYXJhbXM6ICcnIH0pICsgJyk7JylcbiAgICAgICAgICAgICAgICByZXR1cm4gdlxuICAgICAgICAgICAgfSBlbHNlIGlmICh2LnVybC5pbmNsdWRlcygnQHJ1bGU9JykpIHtcbiAgICAgICAgICAgICAgICBsZXQgW18sIHVybCwgcnVsZV0gPSB2LnVybC5tYXRjaCgvXihbXFxzXFxTXSo/KUBydWxlPShbXFxzXFxTXSopJC8pXG4gICAgICAgICAgICAgICAgdi51cmwgPSB1cmxcbiAgICAgICAgICAgICAgICBSVUxFLmRldGFpbF9maW5kX3J1bGUgPSBydWxlXG4gICAgICAgICAgICAgICAgUlVMRS5kZXRhaWxfY29sX3R5cGUgPSBNWV9SVUxFLmNvbF90eXBlXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHYudXJsLnN0YXJ0c1dpdGgoJ2hpa2VyOi8vcGFnZS8nKSkge1xuICAgICAgICAgICAgICAgIGlmICh2LnVybC5pbmNsdWRlcygncnVsZT0nKSB8fCAodi5leHRyYSB8fCB7fSkucnVsZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZcbiAgICAgICAgICAgICAgICBsZXQgcGF0aCA9IHYudXJsLnNwbGl0KCcjJylbMF0ubWF0Y2goL15oaWtlcjpcXC9cXC9wYWdlXFwvKC4rPykoPzpcXD8uKik/JC8pWzFdLFxuICAgICAgICAgICAgICAgICAgICBzdWJQYWdlID0gTVlfUlVMRS5wYWdlTGlzdC5maW5kKHYgPT4gdi5wYXRoID09IHBhdGgpXG4gICAgICAgICAgICAgICAgUlVMRS5kZXRhaWxfZmluZF9ydWxlID0gc3ViUGFnZS5ydWxlXG4gICAgICAgICAgICAgICAgUlVMRS5kZXRhaWxfY29sX3R5cGUgPSBzdWJQYWdlLmNvbF90eXBlXG4gICAgICAgICAgICAgICAgUlVMRS5wYXJhbXMgPSB2LmV4dHJhIHx8IHt9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFNWV9SVUxFLmRldGFpbF9maW5kX3J1bGUpIHsgcmV0dXJuIHYgfVxuICAgICAgICAgICAgdi5leHRyYSA9IHsgdXJsOiB2LnVybCwgUlVMRTogUlVMRSwgcGFnZVRpdGxlOiB2LnRpdGxlICB9XG4gICAgICAgICAgICB2LnVybCA9ICdoaWtlcjovL3BhZ2UvZGV0YWlsTG9hZD9ydWxlPScgKyBnZXRJdGVtKCdteUNvbGxlY3Rpb24nKVxuICAgICAgICAgICAgcmV0dXJuIHZcbiAgICAgICAgfSkpXG4gICAgICAgIGlmICghc2VhcmNoTW9kZSkgbXlDb2xsZWN0aW9uX2VsLnB1c2goc2VhcmNoQ291bnQpXG4gICAgICAgIG1ldGhvZF9zZXRSZXN1bHQuaW52b2tlKGphdmFDb250ZXh0LCBteUNvbGxlY3Rpb25fZWwsIHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMpXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2V0SG9tZVJlc3VsdChhLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKSB7XG4gICAgICAgIHNldFJlc3VsdChhLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNldFNlYXJjaFJlc3VsdChhLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKSB7XG4gICAgICAgIHNldFJlc3VsdChhLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKVxuICAgIH1cblxuICAgIGV2YWwoTVlfUlVMRS5maW5kX3J1bGUuc2xpY2UoMykpXG59IGVsc2Uge1xuICAgIGxldCBmaW5kUnVsZSA9IE1ZX1JVTEUuZmluZF9ydWxlLnNwbGl0KCc7JylcbiAgICBwYXJzZURvbUZvckFycmF5KGluZGV4SHRtbCwgZmluZFJ1bGUuc2hpZnQoKSkuZm9yRWFjaCgoZGF0YSkgPT4ge1xuICAgICAgICBsZXQgW3RpdGxlLCB1cmwsIGRlc2MsIGNvbnRlbnQsIGltZ10gPSBmaW5kUnVsZS5tYXAoKHYsIGkpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodiA9PSAnKicpIHJldHVybiAnJ1xuICAgICAgICAgICAgICAgICAgICBlbHNlIHYgPSAoaSA9PSAxIHx8IGkgPT0gNCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VEb20oZGF0YSwgdikgOlxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VEb21Gb3JIdG1sKGRhdGEsIHYpXG4gICAgICAgICAgICAgICAgICAgIGlmIChpICE9IDEpIHYgPSBydW5Db2RlKHYpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgcmVzID0ge1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICBkZXNjOiBkZXNjLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQsXG4gICAgICAgICAgICAgICAgaW1nOiBpbWdcbiAgICAgICAgICAgIH1cbiAgICAgICAgaWYgKHJlcy51cmwpIHtcbiAgICAgICAgICAgIGlmIChyZXMudXJsLmluY2x1ZGVzKCdAbGF6eVJ1bGU9JykpIHtcbiAgICAgICAgICAgICAgICByZXMudXJsID0gcmVzLnVybC5yZXBsYWNlKCcuanM6JywgJy5qczpcXG5pZihNWV9SVUxFKU9iamVjdC5hc3NpZ24oTVlfUlVMRSwnICsgJC5zdHJpbmdpZnkoeyB0aXRsZTogTVlfUlVMRS50aXRsZSwgcGFnZXM6IE1ZX1JVTEUucGFnZXMsIHBhZ2VMaXN0OiBNWV9SVUxFLnBhZ2VMaXN0LCBmaW5kX3J1bGU6ICcnLCBwYXJhbXM6ICcnIH0pICsgJyk7JylcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoTVlfUlVMRS5kZXRhaWxfZmluZF9ydWxlKSB7XG4gICAgICAgICAgICAgICAgcmVzLnVybCA9ICdoaWtlcjovL3BhZ2UvZGV0YWlsTG9hZD9ydWxlPScgKyBnZXRJdGVtKCdteUNvbGxlY3Rpb24nKVxuICAgICAgICAgICAgICAgIHJlcy5leHRyYSA9IHsgdXJsOiB1cmwsIFJVTEU6IE1ZX1JVTEUsIHBhZ2VUaXRsZTogdGl0bGUgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBteUNvbGxlY3Rpb25fZWwucHVzaChyZXMpXG4gICAgICAgIGlmICghc2VhcmNoTW9kZSkgbXlDb2xsZWN0aW9uX2VsLnB1c2goc2VhcmNoQ291bnQpXG4gICAgfSlcbiAgICBzZXRSZXN1bHQobXlDb2xsZWN0aW9uX2VsKVxufVxuIiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiIiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoic2V0SXRlbSgnbXlDb2xsZWN0aW9uJywgTVlfUlVMRS50aXRsZSkiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwidGV4dF8xXCIsXCJuYW1lXCI6XCJDbGFzc1RhYlwiLFwicGF0aFwiOlwiQ2xhc3NUYWJcIixcInJ1bGVcIjpcImZ1bmN0aW9uIENsYXNzVGFiKGNsYXNzQXJyYXksIHBhcmFtcykge1xcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHBhcmFtcylcXG4gICAgdGhpcy5hcnIgPSBjbGFzc0FycmF5Lm1hcCh2ID0+IHRoaXMuaW5pdCh2KSlcXG4gICAgdGhpcy5zaWduID0gJyQnICsgTVlfUlVMRS50aXRsZSArICdfJyArICh0aGlzLm5hbWUgfHwgJycpICsgJ18nXFxuICAgIHRoaXMuY29sb3IgPSB0aGlzLmNvbG9yIHx8ICcjMTJiNjY4J1xcbiAgICB0aGlzLmJvdW5kYXJ5ID0gdGhpcy5ib3VuZGFyeSB8fCAnYmxhbmtfYmxvY2snXFxufVxcbkNsYXNzVGFiLnByb3RvdHlwZSA9IHtcXG4gICAgY29uc3RydWN0b3I6IENsYXNzVGFiLFxcbiAgICBsb2FkKGVsKSB7XFxuICAgICAgICBsZXQgZm9sZGVkID0gZ2V0VmFyKCdmb2xkXycgKyB0aGlzLnNpZ24sICcnKVxcbiAgICAgICAgaWYgKHRoaXMuZm9sZCkgZWwucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICfigJzigJzigJ3igJ08c3BhbiBzdHlsZT1cXFwiY29sb3I6IzA0OWVmZlxcXCI+JyArIChmb2xkZWQgPyAn4pa2JyA6ICfilrwnKSxcXG4gICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHNpZ24sIGZvbGRlZCkgPT4ge1xcbiAgICAgICAgICAgICAgICBwdXRWYXIoJ2ZvbGRfJyArIHNpZ24sIHsgJyc6ICdUJywgJ1QnOiAnJyB9IFtmb2xkZWRdKVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgIH0sIHRoaXMuc2lnbiwgZm9sZGVkKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgICAgICB9KVxcbiAgICAgICAgbGV0IGFyciA9IGZvbGRlZCA/IFt0aGlzLmFyclswXV0gOiB0aGlzLmFyclxcbiAgICAgICAgYXJyLmZvckVhY2goKHYpID0+IHtcXG4gICAgICAgICAgICBsZXQgeyBpZCwgY2xhc3NfbmFtZSwgY2xhc3NfdXJsIH0gPSB2LFxcbiAgICAgICAgICAgICAgICBzZWxlY3RlZCA9IEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0Q2xhc3MoaWQpKVxcbiAgICAgICAgICAgIGNsYXNzX25hbWUuZm9yRWFjaCgobmFtZSwgaSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgdXJsID0gY2xhc3NfdXJsW2ldLFxcbiAgICAgICAgICAgICAgICAgICAgbm93ID0gSlNPTi5zdHJpbmdpZnkoeyBuYW1lOiBuYW1lLCB1cmw6IHVybCB9KVxcbiAgICAgICAgICAgICAgICBlbC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAoc2VsZWN0ZWQgPT0gbm93ID8gJ+KAnOKAnOKAneKAnTxzcGFuIHN0eWxlPVxcXCJjb2xvcjonICsgdGhpcy5jb2xvciArICdcXFwiPjxiPicgOiAnJykgKyBuYW1lLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChzaWduLCBpZCwgbm93KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKHNpZ24gKyBpZCwgbm93KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihzaWduLCBub3cpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5zaWduLCBpZCwgbm93KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGVsLnB1c2goeyBjb2xfdHlwZTogdGhpcy5ib3VuZGFyeSB9KVxcbiAgICAgICAgfSlcXG4gICAgfSxcXG4gICAgaW5pdChjbGFzc09iamVjdCkge1xcbiAgICAgICAgaWYgKHR5cGVvZiBjbGFzc09iamVjdC5jbGFzc19uYW1lID09ICdzdHJpbmcnKVxcbiAgICAgICAgICAgIGNsYXNzT2JqZWN0LmNsYXNzX25hbWUgPSBjbGFzc09iamVjdC5jbGFzc19uYW1lLnNwbGl0KCcmJylcXG4gICAgICAgIGlmICh0eXBlb2YgY2xhc3NPYmplY3QuY2xhc3NfdXJsID09ICdzdHJpbmcnKVxcbiAgICAgICAgICAgIGNsYXNzT2JqZWN0LmNsYXNzX3VybCA9IGNsYXNzT2JqZWN0LmNsYXNzX3VybC5zcGxpdCgnJicpXFxuICAgICAgICByZXR1cm4gY2xhc3NPYmplY3RcXG4gICAgfSxcXG4gICAgcHVzaChjbGFzc09iamVjdCkge1xcbiAgICAgICAgdGhpcy5hcnIucHVzaCh0aGlzLmluaXQoY2xhc3NPYmplY3QpKVxcbiAgICB9LFxcbiAgICBnZXRDbGFzcyhpZCkge1xcbiAgICAgICAgbGV0IGRlZmF1bHRDbGFzcyA9IHRoaXMuYXJyLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09IGlkKVxcbiAgICAgICAgaWYgKGRlZmF1bHRDbGFzcykgZGVmYXVsdENsYXNzID0gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgIG5hbWU6IGRlZmF1bHRDbGFzcy5jbGFzc19uYW1lWzBdLFxcbiAgICAgICAgICAgIHVybDogZGVmYXVsdENsYXNzLmNsYXNzX3VybFswXVxcbiAgICAgICAgfSlcXG4gICAgICAgIGVsc2UgdGhyb3cgbmV3IEVycm9yKCdjYW5ub3QgZmluZCBpZDogJyArIGlkICsgJyBpbiBjbGFzc1RhYjogJyArIHRoaXMuc2lnbilcXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGdldFZhcih0aGlzLnNpZ24gKyBpZCwgZGVmYXVsdENsYXNzKSlcXG4gICAgfSxcXG4gICAgZ2V0TGFzdENsaWNrKCkge1xcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZ2V0VmFyKHRoaXMuc2lnbiwgJ3t9JykpXFxuICAgIH0sXFxuICAgIHNldFVybCh1cmwpIHtcXG4gICAgICAgIHJldHVybiB1cmwucmVwbGFjZSgvXFxcXCRcXFxceyhbXn1dKilcXFxcfS9nLCAoXywgaWQpID0+IHRoaXMuZ2V0Q2xhc3MoaWQpLnVybClcXG4gICAgfVxcbn1cXG4kLmV4cG9ydHMgPSBDbGFzc1RhYlxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6aaW6aG1XCIsXCJwYXRoXCI6XCJpbmRleExvYWRcIixcInJ1bGVcIjpcImpzOlxcbmxldCBteUNvbGxlY3Rpb25fZWwgPSBbXSxcXG4gICAgcGFnZU51bSA9IHBhcnNlSW50KE1ZX1VSTC5zcGxpdCgnIycpWzFdKSxcXG4gICAgUlVMRSA9IE1ZX1BBUkFNUy5SVUxFLFxcbiAgICBmeUFsbCA9IFJVTEUudXJsLmluY2x1ZGVzKCdmeUFsbCcpLFxcbiAgICAvLyDliqDovb1DbGFzc1RhYue7hOS7tlxcbiAgICBDbGFzc1RhYiA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0NsYXNzVGFiP3J1bGU9JyArIGdldEl0ZW0oJ215Q29sbGVjdGlvbicpKSxcXG4gICAgdGFiSGVhZGVyID0gW11cXG5cXG5pZiAoUlVMRS5jbGFzc19uYW1lKSB0YWJIZWFkZXIucHVzaCh7XFxuICAgIGlkOiBmeUFsbCA/ICdmeUFsbCcgOiAnZnljbGFzcycsXFxuICAgIGNsYXNzX25hbWU6IFJVTEUuY2xhc3NfbmFtZSxcXG4gICAgY2xhc3NfdXJsOiBSVUxFLmNsYXNzX3VybFxcbn0pXFxuaWYgKFJVTEUuYXJlYV9uYW1lKSB0YWJIZWFkZXIucHVzaCh7XFxuICAgIGlkOiBmeUFsbCA/ICdmeUFsbCcgOiAnZnlhcmVhJyxcXG4gICAgY2xhc3NfbmFtZTogUlVMRS5hcmVhX25hbWUsXFxuICAgIGNsYXNzX3VybDogUlVMRS5hcmVhX3VybFxcbn0pXFxuaWYgKFJVTEUueWVhcl9uYW1lKSB0YWJIZWFkZXIucHVzaCh7XFxuICAgIGlkOiBmeUFsbCA/ICdmeUFsbCcgOiAnZnl5ZWFyJyxcXG4gICAgY2xhc3NfbmFtZTogUlVMRS55ZWFyX25hbWUsXFxuICAgIGNsYXNzX3VybDogUlVMRS55ZWFyX3VybFxcbn0pXFxuaWYgKFJVTEUuc29ydF9uYW1lKSB0YWJIZWFkZXIucHVzaCh7XFxuICAgIGlkOiBmeUFsbCA/ICdmeUFsbCcgOiAnZnlzb3J0JyxcXG4gICAgY2xhc3NfbmFtZTogUlVMRS5zb3J0X25hbWUsXFxuICAgIGNsYXNzX3VybDogUlVMRS5zb3J0X3VybFxcbn0pXFxudGFiSGVhZGVyID0gbmV3IENsYXNzVGFiKHRhYkhlYWRlciwgeyBuYW1lOiBSVUxFLnRpdGxlIH0pXFxuaWYgKHBhZ2VOdW0gPT0gMSkge1xcbiAgICBhZGRMaXN0ZW5lcignb25DbG9zZScsICdjbGVhclZhcihcXFwibXlDb2xsZWN0aW9uLXNlYXJjaE1vZGVcXFwiKScpXFxuICAgIHB1dFZhcignbXlDb2xsZWN0aW9uLXNlYXJjaE1vZGUnLCBSVUxFLnRpdGxlKVxcbiAgICB0YWJIZWFkZXIubG9hZChteUNvbGxlY3Rpb25fZWwpXFxuICAgIGlmIChSVUxFLnNlYXJjaF91cmwpIG15Q29sbGVjdGlvbl9lbC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi5pCc57SiXFxcIixcXG4gICAgICAgIGRlc2M6IFxcXCLmkJzkvaDmg7PopoHnmoQuLi5cXFwiLFxcbiAgICAgICAgdXJsOiAnXFxcImhpa2VyOi8vc2VhcmNoP3M9XFxcIitpbnB1dCtcXFwiJnJ1bGU9JyArIGdldEl0ZW0oJ215Q29sbGVjdGlvbicpICsgJ1xcXCInLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJpbnB1dFxcXCIsXFxuICAgIH0pXFxufVxcbi8vIOWkhOeQhk1ZX1VSTOWSjE1ZX1JVTEVcXG5NWV9SVUxFLnZlcnNpb24gPSBSVUxFLnZlcnNpb25cXG5NWV9SVUxFLmdyb3VwID0gUlVMRS5ncm91cFxcbk1ZX1JVTEUudGl0bGUgPSBSVUxFLnRpdGxlXFxuTVlfUlVMRS51YSA9IFJVTEUudWFcXG5NWV9SVUxFLmNvbF90eXBlID0gUlVMRS5jb2xfdHlwZVxcbk1ZX1JVTEUuZGV0YWlsX2NvbF90eXBlID0gUlVMRS5kZXRhaWxfY29sX3R5cGVcXG5NWV9SVUxFLmZpbmRfcnVsZSA9IFJVTEUuZmluZF9ydWxlXFxuTVlfUlVMRS5kZXRhaWxfZmluZF9ydWxlID0gUlVMRS5kZXRhaWxfZmluZF9ydWxlXFxuTVlfUlVMRS5wcmVSdWxlID0gUlVMRS5wcmVSdWxlXFxuTVlfUlVMRS5wYWdlTGlzdCA9IEpTT04ucGFyc2UoUlVMRS5wYWdlcyB8fCAnW10nKVxcbk1ZX1JVTEUucGFnZXMgPSBKU09OLnN0cmluZ2lmeShNWV9SVUxFLnBhZ2VMaXN0KVxcbk1ZX1JVTEUubGFzdF9jaGFwdGVyX3J1bGUgPSBSVUxFLmxhc3RfY2hhcHRlcl9ydWxlXFxuTVlfUlVMRS5wYXJhbXMgPSB7fVxcblxcbmNvbnN0IHsgcnVuQ29kZSwgdXJsUGFyc2UgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3V0aWxpdHk/cnVsZT0nICsgZ2V0SXRlbSgnbXlDb2xsZWN0aW9uJykpXFxudmFyIHsgTVlfVVJMLCBpbmRleEh0bWwgfSA9IHVybFBhcnNlKFJVTEUudXJsLCBwYWdlTnVtLCAodXJsKSA9PiB7XFxuICAgIHVybFswXSA9IGZ5QWxsID8gdXJsWzBdLnJlcGxhY2UoL2Z5QWxsL2csICckJHtmeUFsbH0nKSA6IHVybFswXS5yZXBsYWNlKC9meShjbGFzc3xhcmVhfHllYXJ8c29ydCkvZywgJyQke2Z5JDF9JylcXG4gICAgdXJsWzBdID0gdGFiSGVhZGVyLnNldFVybCh1cmxbMF0pXFxufSlcXG5NWV9SVUxFLnVybCA9IE1ZX1VSTFxcbi8vIOato+aWh+ino+aekFxcbmlmIChwYWdlTnVtID09IDEpIGV2YWwoTVlfUlVMRS5wcmVSdWxlKVxcbmlmIChNWV9SVUxFLmZpbmRfcnVsZS5zdGFydHNXaXRoKCdqczonKSkge1xcbiAgICBmdW5jdGlvbiBnZXRVcmwoKSB7XFxuICAgICAgICByZXR1cm4gTVlfVVJMXFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gZ2V0UmVzQ29kZSgpIHtcXG4gICAgICAgIHJldHVybiBpbmRleEh0bWxcXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBzZXRSZXN1bHQoZWwsIHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMpIHtcXG4gICAgICAgIHBhcmFtMSA9IENBTExCQUNLX0tFWVxcbiAgICAgICAgcGFyYW0yID0gTVlfUlVMRVxcbiAgICAgICAgcGFyYW0zID0gTVlfVFlQRVxcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZWwuZGF0YSkpIGVsID0gZWwuZGF0YVxcbiAgICAgICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkobXlDb2xsZWN0aW9uX2VsLCBlbC5tYXAoKHYpID0+IHtcXG4gICAgICAgICAgICBsZXQgUlVMRSA9IE9iamVjdC5hc3NpZ24oe30sIE1ZX1JVTEUpXFxuICAgICAgICAgICAgdi5jb2xfdHlwZSA9IHYuY29sX3R5cGUgfHwgTVlfUlVMRS5jb2xfdHlwZVxcblxcbiAgICAgICAgICAgIGlmICghdi51cmwpIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHYudXJsLmluY2x1ZGVzKCdAbGF6eVJ1bGU9JykpIHtcXG4gICAgICAgICAgICAgICAgdi51cmwgPSB2LnVybC5yZXBsYWNlKCcuanM6JywgJy5qczpcXFxcbmlmKE1ZX1JVTEUpT2JqZWN0LmFzc2lnbihNWV9SVUxFLCcgKyAkLnN0cmluZ2lmeSh7IHRpdGxlOiBNWV9SVUxFLnRpdGxlLCBwYWdlczogTVlfUlVMRS5wYWdlcywgcGFnZUxpc3Q6IE1ZX1JVTEUucGFnZUxpc3QsIGZpbmRfcnVsZTogJycsIHBhcmFtczogJycgfSkgKyAnKTsnKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gdlxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodi51cmwuaW5jbHVkZXMoJ0BydWxlPScpKSB7XFxuICAgICAgICAgICAgICAgIGxldCBbXywgdXJsLCBydWxlXSA9IHYudXJsLm1hdGNoKC9eKFtcXFxcc1xcXFxTXSo/KUBydWxlPShbXFxcXHNcXFxcU10qKSQvKVxcbiAgICAgICAgICAgICAgICB2LnVybCA9IHVybFxcbiAgICAgICAgICAgICAgICBSVUxFLmRldGFpbF9maW5kX3J1bGUgPSBydWxlXFxuICAgICAgICAgICAgICAgIFJVTEUuZGV0YWlsX2NvbF90eXBlID0gTVlfUlVMRS5jb2xfdHlwZVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodi51cmwuc3RhcnRzV2l0aCgnaGlrZXI6Ly9wYWdlLycpKSB7XFxuICAgICAgICAgICAgICAgIGlmICh2LnVybC5pbmNsdWRlcygncnVsZT0nKSB8fCAodi5leHRyYSB8fCB7fSkucnVsZSlcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2XFxuICAgICAgICAgICAgICAgIGxldCBwYXRoID0gdi51cmwuc3BsaXQoJyMnKVswXS5tYXRjaCgvXmhpa2VyOlxcXFwvXFxcXC9wYWdlXFxcXC8oLis/KSg/OlxcXFw/LiopPyQvKVsxXSxcXG4gICAgICAgICAgICAgICAgICAgIHN1YlBhZ2UgPSBNWV9SVUxFLnBhZ2VMaXN0LmZpbmQoKHYpID0+IHYucGF0aCA9PSBwYXRoKVxcbiAgICAgICAgICAgICAgICBSVUxFLmRldGFpbF9maW5kX3J1bGUgPSBzdWJQYWdlLnJ1bGVcXG4gICAgICAgICAgICAgICAgUlVMRS5kZXRhaWxfY29sX3R5cGUgPSBzdWJQYWdlLmNvbF90eXBlXFxuICAgICAgICAgICAgICAgIFJVTEUucGFyYW1zID0gdi5leHRyYSB8fCB7fVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIU1ZX1JVTEUuZGV0YWlsX2ZpbmRfcnVsZSkgeyByZXR1cm4gdiB9XFxuICAgICAgICAgICAgdi5leHRyYSA9IHsgdXJsOiB2LnVybCwgUlVMRTogUlVMRSwgcGFnZVRpdGxlOiB2LnRpdGxlIH1cXG4gICAgICAgICAgICB2LnVybCA9ICdoaWtlcjovL3BhZ2UvZGV0YWlsTG9hZD9ydWxlPScgKyBnZXRJdGVtKCdteUNvbGxlY3Rpb24nKVxcbiAgICAgICAgICAgIHJldHVybiB2XFxuICAgICAgICB9KSlcXG4gICAgICAgIG1ldGhvZF9zZXRSZXN1bHQuaW52b2tlKGphdmFDb250ZXh0LCBteUNvbGxlY3Rpb25fZWwsIHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMpXFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gc2V0SG9tZVJlc3VsdChhLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKSB7XFxuICAgICAgICBzZXRSZXN1bHQoYSwgcGFyYW0xLCBwYXJhbTIsIHBhcmFtMylcXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBzZXRTZWFyY2hSZXN1bHQoYSwgcGFyYW0xLCBwYXJhbTIsIHBhcmFtMykge1xcbiAgICAgICAgc2V0UmVzdWx0KGEsIHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMpXFxuICAgIH1cXG5cXG4gICAgZXZhbChNWV9SVUxFLmZpbmRfcnVsZS5zbGljZSgzKSlcXG59IGVsc2Uge1xcbiAgICBsZXQgZmluZFJ1bGUgPSBNWV9SVUxFLmZpbmRfcnVsZS5zcGxpdCgnOycpXFxuICAgIHBhcnNlRG9tRm9yQXJyYXkoaW5kZXhIdG1sLCBmaW5kUnVsZS5zaGlmdCgpKS5mb3JFYWNoKChkYXRhKSA9PiB7XFxuICAgICAgICBsZXQgW3RpdGxlLCBpbWcsIGRlc2MsIHVybF0gPSBmaW5kUnVsZS5tYXAoKHYsIGkpID0+IHtcXG4gICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgIGlmICh2ID09ICcqJykgcmV0dXJuICcnXFxuICAgICAgICAgICAgICAgICAgICBlbHNlIHYgPSAoaSA9PSAxIHx8IGkgPT0gMykgP1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlRG9tKGRhdGEsIHYpIDpcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZURvbUZvckh0bWwoZGF0YSwgdilcXG4gICAgICAgICAgICAgICAgICAgIGlmIChpICE9IDMpIHYgPSBydW5Db2RlKHYpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdlxcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxcbiAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgIHJlcyA9IHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICB1cmw6IHVybCxcXG4gICAgICAgICAgICAgICAgZGVzYzogZGVzYyxcXG4gICAgICAgICAgICAgICAgaW1nOiBpbWcsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBNWV9SVUxFLmNvbF90eXBlXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgaWYgKHJlcy51cmwpIHtcXG4gICAgICAgICAgICBpZiAocmVzLnVybC5pbmNsdWRlcygnQGxhenlSdWxlPScpKSB7XFxuICAgICAgICAgICAgICAgIHJlcy51cmwgPSByZXMudXJsLnJlcGxhY2UoJy5qczonLCAnLmpzOlxcXFxuaWYoTVlfUlVMRSlPYmplY3QuYXNzaWduKE1ZX1JVTEUsJyArICQuc3RyaW5naWZ5KHsgdGl0bGU6IE1ZX1JVTEUudGl0bGUsIHBhZ2VzOiBNWV9SVUxFLnBhZ2VzLCBwYWdlTGlzdDogTVlfUlVMRS5wYWdlTGlzdCwgZmluZF9ydWxlOiAnJywgcGFyYW1zOiAnJyB9KSArICcpOycpXFxuICAgICAgICAgICAgfSBlbHNlIGlmIChNWV9SVUxFLmRldGFpbF9maW5kX3J1bGUpIHtcXG4gICAgICAgICAgICAgICAgcmVzLnVybCA9ICdoaWtlcjovL3BhZ2UvZGV0YWlsTG9hZD9ydWxlPScgKyBnZXRJdGVtKCdteUNvbGxlY3Rpb24nKVxcbiAgICAgICAgICAgICAgICByZXMuZXh0cmEgPSB7IHVybDogdXJsLCBSVUxFOiBNWV9SVUxFLCBwYWdlVGl0bGU6IHRpdGxlICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgICAgbXlDb2xsZWN0aW9uX2VsLnB1c2gocmVzKVxcbiAgICB9KVxcbiAgICBzZXRSZXN1bHQobXlDb2xsZWN0aW9uX2VsKVxcbn1cXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuivpuaDhVwiLFwicGF0aFwiOlwiZGV0YWlsTG9hZFwiLFwicnVsZVwiOlwianM6XFxudmFyIG15Q29sbGVjdGlvbl9lbCA9IFtdXFxuXFxuLy8g5aSE55CGTVlfVVJM5ZKMTVlfUlVMRVxcbmxldCBSVUxFID0gTVlfUEFSQU1TLlJVTEVcXG5NWV9SVUxFLnZlcnNpb24gPSBSVUxFLnZlcnNpb25cXG5NWV9SVUxFLmdyb3VwID0gUlVMRS5ncm91cFxcbk1ZX1JVTEUudGl0bGUgPSBSVUxFLnRpdGxlXFxuTVlfUlVMRS51cmwgPSBNWV9VUkxcXG5NWV9SVUxFLnVhID0gUlVMRS51YVxcbk1ZX1JVTEUuY29sX3R5cGUgPSBSVUxFLmRldGFpbF9jb2xfdHlwZVxcbk1ZX1JVTEUuZmluZF9ydWxlID0gUlVMRS5kZXRhaWxfZmluZF9ydWxlXFxuTVlfUlVMRS5wcmVSdWxlID0gUlVMRS5wcmVSdWxlXFxuTVlfUlVMRS5wYWdlTGlzdCA9IFJVTEUucGFnZUxpc3RcXG5NWV9SVUxFLnBhZ2VzID0gUlVMRS5wYWdlc1xcbk1ZX1JVTEUubGFzdF9jaGFwdGVyX3J1bGUgPSBSVUxFLmxhc3RfY2hhcHRlcl9ydWxlXFxuTVlfUlVMRS5wYXJhbXMgPSBSVUxFLnBhcmFtc1xcbi8vIOino+aekOato+aWh1xcbmlmKE1ZX1BBUkFNUy5wYWdlVGl0bGUpIHNldFBhZ2VUaXRsZShNWV9QQVJBTVMucGFnZVRpdGxlKVxcbmV2YWwoTVlfUlVMRS5wcmVSdWxlKVxcbnNldExhc3RDaGFwdGVyUnVsZShNWV9SVUxFLmxhc3RfY2hhcHRlcl9ydWxlKVxcbk1ZX1BBUkFNUyA9IE1ZX1JVTEUucGFyYW1zXFxuaWYgKE1ZX1JVTEUuZmluZF9ydWxlLnN0YXJ0c1dpdGgoJ2pzOicpKSB7XFxuICAgIGZ1bmN0aW9uIHNldFJlc3VsdChlbCwgcGFyYW0xLCBwYXJhbTIsIHBhcmFtMykge1xcbiAgICAgICAgcGFyYW0xID0gQ0FMTEJBQ0tfS0VZXFxuICAgICAgICBwYXJhbTIgPSBNWV9SVUxFXFxuICAgICAgICBwYXJhbTMgPSBNWV9UWVBFXFxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlbC5kYXRhKSkgZWwgPSBlbC5kYXRhXFxuXFxuICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShteUNvbGxlY3Rpb25fZWwsIGVsLm1hcCgodikgPT4ge1xcbiAgICAgICAgICAgIGxldCBSVUxFID0gT2JqZWN0LmFzc2lnbih7fSwgTVlfUlVMRSlcXG4gICAgICAgICAgICB2LmNvbF90eXBlID0gdi5jb2xfdHlwZSB8fCBNWV9SVUxFLmNvbF90eXBlXFxuXFxuICAgICAgICAgICAgaWYgKCF2LnVybCkge1xcbiAgICAgICAgICAgICAgICByZXR1cm4gdlxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodi51cmwuaW5jbHVkZXMoJ0BsYXp5UnVsZT0nKSkge1xcbiAgICAgICAgICAgICAgICB2LnVybCA9IHYudXJsLnJlcGxhY2UoJy5qczonLCAnLmpzOlxcXFxuaWYoTVlfUlVMRSlPYmplY3QuYXNzaWduKE1ZX1JVTEUsJyArICQuc3RyaW5naWZ5KHsgdGl0bGU6IE1ZX1JVTEUudGl0bGUsIHBhZ2VzOiBNWV9SVUxFLnBhZ2VzLCBwYWdlTGlzdDogTVlfUlVMRS5wYWdlTGlzdCwgZmluZF9ydWxlOiAnJywgcGFyYW1zOiAnJyB9KSArICcpOycpXFxuICAgICAgICAgICAgICAgIHJldHVybiB2XFxuICAgICAgICAgICAgfSBlbHNlIGlmICh2LnVybC5pbmNsdWRlcygnQHJ1bGU9JykpIHtcXG4gICAgICAgICAgICAgICAgbGV0IFtfLCB1cmwsIHJ1bGVdID0gdi51cmwubWF0Y2goL14oW1xcXFxzXFxcXFNdKj8pQHJ1bGU9KFtcXFxcc1xcXFxTXSopJC8pXFxuICAgICAgICAgICAgICAgIHYudXJsID0gdXJsXFxuICAgICAgICAgICAgICAgIFJVTEUuZGV0YWlsX2ZpbmRfcnVsZSA9IHJ1bGVcXG4gICAgICAgICAgICAgICAgUlVMRS5kZXRhaWxfY29sX3R5cGUgPSBNWV9SVUxFLmNvbF90eXBlXFxuICAgICAgICAgICAgfSBlbHNlIGlmICh2LnVybC5zdGFydHNXaXRoKCdoaWtlcjovL3BhZ2UvJykpIHtcXG4gICAgICAgICAgICAgICAgaWYgKHYudXJsLmluY2x1ZGVzKCdydWxlPScpIHx8ICh2LmV4dHJhIHx8IHt9KS5ydWxlKVxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZcXG4gICAgICAgICAgICAgICAgbGV0IHBhdGggPSB2LnVybC5zcGxpdCgnIycpWzBdLm1hdGNoKC9eaGlrZXI6XFxcXC9cXFxcL3BhZ2VcXFxcLyguKz8pKD86XFxcXD8uKik/JC8pWzFdLFxcbiAgICAgICAgICAgICAgICAgICAgc3ViUGFnZSA9IE1ZX1JVTEUucGFnZUxpc3QuZmluZCgodikgPT4gdi5wYXRoID09IHBhdGgpXFxuICAgICAgICAgICAgICAgIFJVTEUuZGV0YWlsX2ZpbmRfcnVsZSA9IHN1YlBhZ2UucnVsZVxcbiAgICAgICAgICAgICAgICBSVUxFLmRldGFpbF9jb2xfdHlwZSA9IHN1YlBhZ2UuY29sX3R5cGVcXG4gICAgICAgICAgICAgICAgUlVMRS5wYXJhbXMgPSB2LmV4dHJhIHx8IHt9XFxuICAgICAgICAgICAgfSBlbHNlIHsgcmV0dXJuIHYgfVxcbiAgICAgICAgICAgIHYuZXh0cmEgPSB7IHVybDogdi51cmwsIFJVTEU6IFJVTEUgfVxcbiAgICAgICAgICAgIHYudXJsID0gJ2hpa2VyOi8vcGFnZS9kZXRhaWxMb2FkP3J1bGU9JyArIGdldEl0ZW0oJ215Q29sbGVjdGlvbicpXFxuICAgICAgICAgICAgcmV0dXJuIHZcXG4gICAgICAgIH0pKVxcbiAgICAgICAgbWV0aG9kX3NldFJlc3VsdC5pbnZva2UoamF2YUNvbnRleHQsIG15Q29sbGVjdGlvbl9lbCwgcGFyYW0xLCBwYXJhbTIsIHBhcmFtMylcXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBzZXRIb21lUmVzdWx0KGEsIHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMpIHtcXG4gICAgICAgIHNldFJlc3VsdChhLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKVxcbiAgICB9XFxuXFxuICAgIGZ1bmN0aW9uIHNldFNlYXJjaFJlc3VsdChhLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKSB7XFxuICAgICAgICBzZXRSZXN1bHQoYSwgcGFyYW0xLCBwYXJhbTIsIHBhcmFtMylcXG4gICAgfVxcblxcbiAgICBldmFsKE1ZX1JVTEUuZmluZF9ydWxlLnNsaWNlKDMpKVxcbn0gZWxzZSB7XFxuICAgIGNvbnN0IHsgcnVuQ29kZSB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvdXRpbGl0eT9ydWxlPScgKyBnZXRJdGVtKCdteUNvbGxlY3Rpb24nKSlcXG4gICAgbGV0IGZpbmRSdWxlID0gTVlfUlVMRS5maW5kX3J1bGUuc3BsaXQoJzsnKVxcbiAgICBwYXJzZURvbUZvckFycmF5KGdldFJlc0NvZGUoKSwgZmluZFJ1bGUuc2hpZnQoKSkuZm9yRWFjaCgoZGF0YSkgPT4ge1xcbiAgICAgICAgbGV0IFt0aXRsZSwgaW1nLCBkZXNjLCB1cmxdID0gZmluZFJ1bGUubWFwKCh2LCBpKSA9PiB7XFxuICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAodiA9PSAnKicpIHJldHVybiAnJ1xcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB2ID0gKGkgPT0gMSB8fCBpID09IDMpID9cXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZURvbShkYXRhLCB2KSA6XFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VEb21Gb3JIdG1sKGRhdGEsIHYpXFxuICAgICAgICAgICAgICAgICAgICBpZiAoaSAhPSAzKSB2ID0gcnVuQ29kZSh2KVxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZcXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICByZXMgPSB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgICAgICAgICAgdXJsOiB1cmwsXFxuICAgICAgICAgICAgICAgIGRlc2M6IGRlc2MsXFxuICAgICAgICAgICAgICAgIGltZzogaW1nLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogTVlfUlVMRS5jb2xfdHlwZVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIGlmIChyZXMudXJsICYmIHJlcy51cmwuaW5jbHVkZXMoJ0BsYXp5UnVsZT0nKSlcXG4gICAgICAgICAgICByZXMudXJsID0gcmVzLnVybC5yZXBsYWNlKCcuanM6JywgJy5qczpcXFxcbmlmKE1ZX1JVTEUpT2JqZWN0LmFzc2lnbihNWV9SVUxFLCcgKyAkLnN0cmluZ2lmeSh7IHRpdGxlOiBNWV9SVUxFLnRpdGxlLCBwYWdlczogTVlfUlVMRS5wYWdlcywgcGFnZUxpc3Q6IE1ZX1JVTEUucGFnZUxpc3QsIGZpbmRfcnVsZTogJycsIHBhcmFtczogJycgfSkgKyAnKTsnKVxcbiAgICAgICAgbXlDb2xsZWN0aW9uX2VsLnB1c2gocmVzKVxcbiAgICB9KVxcbiAgICBzZXRSZXN1bHQobXlDb2xsZWN0aW9uX2VsKVxcbn1cXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaVsOaNrui9veWFpVwiLFwicGF0aFwiOlwiZGF0YUxvYWRcIixcInJ1bGVcIjpcIi8v55yf5q2j6I635Y+W5pWw5o2u55qE6YC76L6RXFxuZnVuY3Rpb24gbG9hZCgpIHtcXG4gICAgbGV0IHVybCA9ICdoaWtlcjovL3BhZ2UvZGF0YScsXFxuICAgICAgICBkID0gW11cXG4gICAgdHJ5IHtcXG4gICAgICAgIGQgPSBmZXRjaCh1cmwpXFxuICAgICAgICBpZiAodXJsLnN0YXJ0c1dpdGgoJ2hpa2VyOi8vcGFnZS8nKSlcXG4gICAgICAgICAgICBkID0gSlNPTi5wYXJzZShkKS5ydWxlXFxuICAgICAgICBkID0gSlNPTi5wYXJzZShkKVxcbiAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICBkID0gW11cXG4gICAgfVxcbiAgICByZXR1cm4gZC5maWx0ZXIoKHYpID0+IHsgcmV0dXJuIHYudGl0bGUgIT0gTVlfUlVMRS50aXRsZSAmJiB2LmF1dGhvciAhPSAn6L275ZCI6ZuG55Sf5oiQ5ZmoJyB9KVxcbn1cXG4vL+ajgOafpemXtOmalO+8jOm7mOiupOS4gOWkqVxcbmxldCBtaW4gPSA2MCAqIDI0ICogMVxcblxcbmxldCBkYXRhID0gW11cXG5sZXQgdGltZSA9IGdldEl0ZW0oJ3VwZGF0ZXRpbWUnLCAnMCcpXFxudGltZSA9IHBhcnNlSW50KHRpbWUpXFxubGV0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpXFxuaWYgKG5vdyAtIHRpbWUgPiAxMDAwICogNjAgKiBtaW4pIHtcXG4gICAgbG9nKCfmm7TmlrDkuobmlbDmja4nKVxcbiAgICBzZXRJdGVtKCd1cGRhdGV0aW1lJywgJycgKyBub3cpXFxuICAgIGRhdGEgPSBsb2FkKClcXG4gICAgc2F2ZUZpbGUoJ2RhdGEuanNvbicsIEpTT04uc3RyaW5naWZ5KGRhdGEpKVxcbn0gZWxzZSB7XFxuICAgIGxvZygn5rKh5pyJ5pu05paw5pWw5o2uJylcXG4gICAgZGF0YSA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2RhdGEuanNvbicpKVxcbn1cXG4kLmV4cG9ydHMgPSBkYXRhXFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLlt6Xlhbfpm4ZcIixcInBhdGhcIjpcInV0aWxpdHlcIixcInJ1bGVcIjpcIiQuZXhwb3J0cyA9IHtcXG4gICAgcnVuQ29kZTogZnVuY3Rpb24ocnVsZSkge2xvZyhydWxlKVxcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBsZXQgW2lucHV0LCBjb2RlXSA9IHJ1bGUuc3BsaXQoJy5qczonKVxcbiAgICAgICAgICAgIHJldHVybiBjb2RlID8gZXZhbChjb2RlKSA6IHJ1bGVcXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgcmV0dXJuIHJ1bGUgfVxcbiAgICB9LFxcbiAgICB1cmxQYXJzZTogZnVuY3Rpb24odXJsLCBwYWdlTnVtLCBmdW5jKSB7XFxuICAgICAgICB1cmwgPSB1cmwuc3BsaXQoJzsnKS5tYXAoKHYpID0+IHYucmVwbGFjZSgv77yb77ybL2csICc7JykpXFxuICAgICAgICBpZiAoZnVuYykgZnVuYyh1cmwpXFxuICAgICAgICB1cmxbMF0gPSB1cmxbMF0ucmVwbGFjZSgvZnlwYWdlKD86QCgtP1xcXFxkKylAKT8oPzpcXFxcKihcXFxcZCspQCk/LywgKF8sIHN0YXJ0LCBzcGFjZSkgPT4gcGFyc2VJbnQoc3RhcnQgfHwgMCkgKyAxICsgKHBhZ2VOdW0gLSAxKSAqIHBhcnNlSW50KHNwYWNlIHx8IDEpKVxcbiAgICAgICAgdXJsWzBdID0gL14oLio/KSg/OlxcXFxbZmlyc3RQYWdlPSguKj8pXFxcXF0pPyQvLmV4ZWModXJsWzBdKVxcbiAgICAgICAgdXJsWzBdID0gcnVuQ29kZSh1cmxbMF1bMl0gJiYgcGFnZU51bSA9PSAxID8gdXJsWzBdWzJdIDogdXJsWzBdWzFdKVxcbiAgICAgICAgbGV0IG9wdGlvbnMgPSB7IGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICd0ZXh0L3BsYWluOyBjaGFyc3Q9VVRGLTgnIH0sIG1ldGhvZDogdXJsWzFdIH1cXG4gICAgICAgIC8vIHBvc3Tmlrnms5Xml7bovazmjaLlj4LmlbBcXG4gICAgICAgIGlmICgvXnBvc3QkL2kudGVzdChvcHRpb25zWydtZXRob2QnXSkpIHtcXG4gICAgICAgICAgICBsZXQgW29yaVVybCwgYm9keV0gPSB1cmxbMF0uc3BsaXQoJz8nKVxcbiAgICAgICAgICAgIHVybFswXSA9IG9yaVVybC5yZXBsYWNlKC/vvJ/vvJ8vZywgJz8nKVxcbiAgICAgICAgICAgIGlmIChib2R5LnN0YXJ0c1dpdGgoJ0pzb25Cb2R5PScpKSBib2R5ID0gYm9keS5zbGljZSg5KVxcbiAgICAgICAgICAgIG9wdGlvbnNbJ2JvZHknXSA9IGJvZHlcXG4gICAgICAgIH1cXG4gICAgICAgIGlmICh1cmxbMl0pIG9wdGlvbnMuaGVhZGVyc1snQ29udGVudC1UeXBlJ10gPSBvcHRpb25zLmhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddLnNsaWNlKDAsIDE5KSArIHVybFsyXVxcbiAgICAgICAgLy9sb2cob3B0aW9ucy5oZWFkZXJzWydDb250ZW50LVR5cGUnXSlcXG4gICAgICAgIGlmICh1cmxbM10pIHVybFszXS5tYXRjaCgveyguKil9LylbMV0uc3BsaXQoJyYmJykuZm9yRWFjaCgodikgPT4ge1xcbiAgICAgICAgICAgIGxldCBba2V5LCB2YWx1ZV0gPSB2LnNwbGl0KCdAJylcXG4gICAgICAgICAgICBvcHRpb25zLmhlYWRlcnNba2V5XSA9IHJ1bkNvZGUodmFsdWUpXFxuICAgICAgICB9KVxcbiAgICAgICAgLy8g5re75Yqg5YWo5bGAVUFcXG4gICAgICAgIGlmICghb3B0aW9ucy5oZWFkZXJzWydVc2VyLUFnZW50J10pIHtcXG4gICAgICAgICAgICBpZiAoTVlfUlVMRS51YSA9PSAncGMnKVxcbiAgICAgICAgICAgICAgICBvcHRpb25zLmhlYWRlcnNbJ1VzZXItQWdlbnQnXSA9IFBDX1VBXFxuICAgICAgICAgICAgZWxzZSBpZiAoTVlfUlVMRS51YSA9PSAnbW9iaWxlJylcXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5oZWFkZXJzWydVc2VyLUFnZW50J10gPSBNT0JJTEVfVUFcXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiB7IE1ZX1VSTDogdXJsWzBdLCBpbmRleEh0bWw6IGZldGNoKHVybFswXSwgb3B0aW9ucykgfVxcbiAgICB9XFxufVxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6KeE5YiZ5YiX6KGoXCIsXCJwYXRoXCI6XCJkYXRhXCIsXCJydWxlXCI6XCJbe1xcbiAgICBcXFwibGFzdF9jaGFwdGVyX3J1bGVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInRpdGxlXFxcIjogXFxcIuWQvueIseegtOino/CdlKVcXFwiLFxcbiAgICBcXFwiYXV0aG9yXFxcIjogXFxcIkhvb2RcXFwiLFxcbiAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LjUycG9qaWUuY24vZm9ydW0ucGhwP21vZD1ndWlkZSZ2aWV3PWZ5Y2xhc3MmcGFnZT1meXBhZ2U7Z2V0O0dCS1xcXCIsXFxuICAgIFxcXCJ2ZXJzaW9uXFxcIjogNCxcXG4gICAgXFxcImNvbF90eXBlXFxcIjogXFxcInRleHRfMVxcXCIsXFxuICAgIFxcXCJjbGFzc19uYW1lXFxcIjogXFxcIuacgOaWsOeDremXqCbmnIDmlrDnsr7ljY4m5pyA5paw5Zue5aSNJuacgOaWsOWPkeihqFxcXCIsXFxuICAgIFxcXCJjbGFzc191cmxcXFwiOiBcXFwiaG90JmRpZ2VzdCZuZXcmbmV3dGhyZWFkXFxcIixcXG4gICAgXFxcImFyZWFfbmFtZVxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwiYXJlYV91cmxcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInNvcnRfbmFtZVxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwieWVhcl9uYW1lXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJzb3J0X3VybFxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwieWVhcl91cmxcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcImZpbmRfcnVsZVxcXCI6IFxcXCJqczpcXFxcbnZhciByZXMgPSB7fTtcXFxcbnZhciBkID0gW107XFxcXG52YXIgaHRtbCA9IGdldFJlc0NvZGUoKTtcXFxcblxcXFxuLy/liJfooahcXFxcbnZhciBsaXN0ID0gcGFyc2VEb21Gb3JBcnJheShodG1sLCdib2R5JiZ0Ym9keVtpZF0nKTtcXFxcblxcXFxuZm9yKHZhciBpPTE7aTxsaXN0Lmxlbmd0aCsxO2krKyl7XFxcXG5kLnB1c2goe1xcXFxudGl0bGU6IChpKSsgJy4gJyArcGFyc2VEb21Gb3JIdG1sKGxpc3RbaS0xXSwnLnhzdCYmVGV4dCcpLFxcXFxudXJsOid4NTovL2h0dHBzOi8vd3d3LjUycG9qaWUuY24vJytwYXJzZURvbUZvckh0bWwobGlzdFtpLTFdLCdhJiZocmVmJyksXFxcXG5jb2xfdHlwZTogJ3RleHRfMSd9KTtcXFxcbn1cXFxcblxcXFxyXFxcXG5yZXMuZGF0YSA9IGQ7XFxcXG5zZXRIb21lUmVzdWx0KHJlcyk7XFxcIixcXG4gICAgXFxcInNlYXJjaF91cmxcXFwiOiBcXFwiaHR0cDovL3poYW5uZWkuYmFpZHUuY29tL2NzZS9zaXRlP3E9KiomcD1meXBhZ2UmY2M9NTJwb2ppZS5jblxcXCIsXFxuICAgIFxcXCJncm91cFxcXCI6IFxcXCLikaDmjqjojZBcXFwiLFxcbiAgICBcXFwic2VhcmNoRmluZFxcXCI6IFxcXCJib2R5JiYucmVzdWx0O1xcXFxuaDMmJlRleHQ7XFxcXG5hJiZocmVmO1xcXFxuKjtcXFxcbi5jLWFic3RyYWN0JiZUZXh0O1xcXFxuKlxcXCIsXFxuICAgIFxcXCJkZXRhaWxfY29sX3R5cGVcXFwiOiBcXFwibW92aWVfMVxcXCIsXFxuICAgIFxcXCJkZXRhaWxfZmluZF9ydWxlXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJzZGV0YWlsX2NvbF90eXBlXFxcIjogXFxcIm1vdmllXzFcXFwiLFxcbiAgICBcXFwic2RldGFpbF9maW5kX3J1bGVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInVhXFxcIjogXFxcInBjXFxcIixcXG4gICAgXFxcInByZVJ1bGVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInBhZ2VzXFxcIjogXFxcIltdXFxcIixcXG4gICAgXFxcImljb25cXFwiOiBcXFwiaHR0cHM6Ly93d3cuNTJwb2ppZS5jbi9mYXZpY29uLmljb1xcXCJcXG59LCB7XFxuICAgIFxcXCJsYXN0X2NoYXB0ZXJfcnVsZVxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwidGl0bGVcXFwiOiBcXFwiWkQ0MjPwn4eo8J+Hs1xcXCIsXFxuICAgIFxcXCJhdXRob3JcXFwiOiBcXFwiTmFtb1xcXCIsXFxuICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuNDIzZG93bi5jb20vcGFnZS9meXBhZ2VcXFwiLFxcbiAgICBcXFwidmVyc2lvblxcXCI6IDAsXFxuICAgIFxcXCJjb2xfdHlwZVxcXCI6IFxcXCJtb3ZpZV8xX2xlZnRfcGljXFxcIixcXG4gICAgXFxcImNsYXNzX25hbWVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcImNsYXNzX3VybFxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwiYXJlYV9uYW1lXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJhcmVhX3VybFxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwic29ydF9uYW1lXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJ5ZWFyX25hbWVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInNvcnRfdXJsXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJ5ZWFyX3VybFxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwiZmluZF9ydWxlXFxcIjogXFxcImpzOlxcXFxudmFyIHJlcyA9IHt9O1xcXFxudmFyIGQgPSBbXTtcXFxcbnZhciBsaXN0ID0gcGFyc2VEb21Gb3JBcnJheShnZXRSZXNDb2RlKCksICcuY29udGVudC13cmFwJiYuZXhjZXJwdCYmbGknKTtcXFxcbmZvciAodmFyIGkgaW4gbGlzdCkge1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtpXSwgJ2gyJiZUZXh0JyksXFxcXG4gICAgICAgIGRlc2M6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2ldLCAnLmluZm8mJlRleHQnKSxcXFxcblxcXFx0ICAgICAgcGljX3VybDpwYXJzZURvbShsaXN0W2ldLCdpbWcmJnNyYycpLFxcXFxuICAgICAgICB1cmw6IHBhcnNlRG9tKGxpc3RbaV0sICdhJiZocmVmJyksXFxcXG4gICAgfSlcXFxcbn1cXFxcbnJlcy5kYXRhID0gZDtcXFxcbnNldEhvbWVSZXN1bHQocmVzKTtcXFwiLFxcbiAgICBcXFwic2VhcmNoX3VybFxcXCI6IFxcXCJodHRwczovL3d3dy40MjNkb3duLmNvbS9wYWdlL2Z5cGFnZT9zPSoqXFxcIixcXG4gICAgXFxcImdyb3VwXFxcIjogXFxcIuWFtuWug1xcXCIsXFxuICAgIFxcXCJzZWFyY2hGaW5kXFxcIjogXFxcImpzOlxcXFxudmFyIHJlcyA9IHt9O1xcXFxudmFyIGQgPSBbXTtcXFxcbnZhciBsaXN0ID0gcGFyc2VEb21Gb3JBcnJheShnZXRSZXNDb2RlKCksICcuY29udGVudC13cmFwJiYuZXhjZXJwdCYmbGknKTtcXFxcbmZvciAodmFyIGkgaW4gbGlzdCkge1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtpXSwgJ2gyJiZUZXh0JyksXFxcXG4gICAgICAgIGRlc2M6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2ldLCAnLmluZm8mJlRleHQnKSwgICAgICAgIFxcXFxuICAgICAgICB1cmw6IHBhcnNlRG9tKGxpc3RbaV0sICdhJiZocmVmJyksXFxcXG4gICAgfSlcXFxcbn1cXFxcbnJlcy5kYXRhID0gZDtcXFxcbnNldEhvbWVSZXN1bHQocmVzKTtcXFwiLFxcbiAgICBcXFwiZGV0YWlsX2NvbF90eXBlXFxcIjogXFxcIm1vdmllXzFcXFwiLFxcbiAgICBcXFwiZGV0YWlsX2ZpbmRfcnVsZVxcXCI6IFxcXCJqczp2YXIgcmVzPXt9O1xcXFxudmFyIGQgPSBbXTtcXFxcbmQucHVzaCh7XFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwidGV4dF8xXFxcXFxcXCIsXFxcXG4gICAgdGl0bGU6IFxcXFxcXFwi4oCc4oCc4oCd4oCdPGJpZz5cXFxcXFxcIiArIHBhcnNlRG9tRm9ySHRtbChnZXRSZXNDb2RlKCksIFxcXFxcXFwiaDEmJlRleHRcXFxcXFxcIikgKyBcXFxcXFxcIjwvYmlnPlxcXFxcXFwiLFxcXFxufSk7XFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwoZ2V0UmVzQ29kZSgpLCBcXFxcXFxcIi5lbnRyeSYmSHRtbFxcXFxcXFwiKSxcXFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCcsXFxcXG4gICAgZXh0cmE6IHtcXFxcbiAgICAgICAgdGV4dFNpemU6IDE2LFxcXFxuICAgICAgICBjbGljazogdHJ1ZVxcXFxuICAgIH1cXFxcbn0pO1xcXFxuc2V0UmVzdWx0KGQpO1xcXCIsXFxuICAgIFxcXCJzZGV0YWlsX2NvbF90eXBlXFxcIjogXFxcIm1vdmllXzFcXFwiLFxcbiAgICBcXFwic2RldGFpbF9maW5kX3J1bGVcXFwiOiBcXFwiKlxcXCIsXFxuICAgIFxcXCJ1YVxcXCI6IFxcXCJwY1xcXCIsXFxuICAgIFxcXCJwcmVSdWxlXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJwYWdlc1xcXCI6IFxcXCJbXVxcXCIsXFxuICAgIFxcXCJpY29uXFxcIjogXFxcIlxcXCJcXG59LCB7XFxuICAgIFxcXCJsYXN0X2NoYXB0ZXJfcnVsZVxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwidGl0bGVcXFwiOiBcXFwi6JC95bCY5LmL5pyo8J+HqPCfh7NcXFwiLFxcbiAgICBcXFwiYXV0aG9yXFxcIjogXFxcIk5hbW9cXFwiLFxcbiAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3Lmx1b2NoZW56aGltdS5jb20vcGFnZS9meXBhZ2VcXFwiLFxcbiAgICBcXFwidmVyc2lvblxcXCI6IDEsXFxuICAgIFxcXCJjb2xfdHlwZVxcXCI6IFxcXCJtb3ZpZV8xX2xlZnRfcGljXFxcIixcXG4gICAgXFxcImNsYXNzX25hbWVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcImNsYXNzX3VybFxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwiYXJlYV9uYW1lXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJhcmVhX3VybFxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwic29ydF9uYW1lXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJ5ZWFyX25hbWVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInNvcnRfdXJsXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJ5ZWFyX3VybFxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwiZmluZF9ydWxlXFxcIjogXFxcImpzOlxcXFxudmFyIHJlcyA9IHt9O1xcXFxudmFyIGQgPSBbXTtcXFxcbnZhciBsaXN0ID0gcGFyc2VEb21Gb3JBcnJheShnZXRSZXNDb2RlKCksICcuY29udGVudCYmLmV4Y2VycHQnKTtcXFxcbmZvciAodmFyIGkgaW4gbGlzdCkge1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtpXSwgJ2gyJiZUZXh0JyksXFxcXG4gICAgICAgIGRlc2M6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2ldLCAnLm1ldGEmJlRleHQnKSxcXFxcbiAgICAgICAgcGljX3VybDogcGFyc2VEb20obGlzdFtpXSwgJ2ltZyYmZGF0YS1zcmMnKSxcXFxcbiAgICAgICAgdXJsOiBwYXJzZURvbShsaXN0W2ldLCAnYSYmaHJlZicpICsgXFxcXFxcXCI7Z2V0O1VURi04O3tVc2VyLUFnZW50QFxcXFxcXFwiICsgUENfVUEgKyBcXFxcXFxcIn1cXFxcXFxcIixcXFxcbiAgICB9KVxcXFxufVxcXFxucmVzLmRhdGEgPSBkO1xcXFxuc2V0SG9tZVJlc3VsdChyZXMpO1xcXCIsXFxuICAgIFxcXCJzZWFyY2hfdXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LjQyM2Rvd24uY29tL3BhZ2UvZnlwYWdlP3M9KipcXFwiLFxcbiAgICBcXFwiZ3JvdXBcXFwiOiBcXFwi5YW25a6DXFxcIixcXG4gICAgXFxcInNlYXJjaEZpbmRcXFwiOiBcXFwianM6XFxcXG52YXIgcmVzID0ge307XFxcXG52YXIgZCA9IFtdO1xcXFxudmFyIGxpc3QgPSBwYXJzZURvbUZvckFycmF5KGdldFJlc0NvZGUoKSwgJy5jb250ZW50LXdyYXAmJi5leGNlcnB0JiZsaScpO1xcXFxuZm9yICh2YXIgaSBpbiBsaXN0KSB7XFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2ldLCAnaDImJlRleHQnKSxcXFxcbiAgICAgICAgZGVzYzogcGFyc2VEb21Gb3JIdG1sKGxpc3RbaV0sICcuaW5mbyYmVGV4dCcpLCAgICAgICAgXFxcXG4gICAgICAgIHVybDogcGFyc2VEb20obGlzdFtpXSwgJ2EmJmhyZWYnKSxcXFxcbiAgICB9KVxcXFxufVxcXFxucmVzLmRhdGEgPSBkO1xcXFxuc2V0SG9tZVJlc3VsdChyZXMpO1xcXCIsXFxuICAgIFxcXCJkZXRhaWxfY29sX3R5cGVcXFwiOiBcXFwibW92aWVfMVxcXCIsXFxuICAgIFxcXCJkZXRhaWxfZmluZF9ydWxlXFxcIjogXFxcImpzOnZhciByZXM9e307XFxcXG52YXIgZCA9IFtdO1xcXFxuZC5wdXNoKHtcXFxcbiAgICBjb2xfdHlwZTogXFxcXFxcXCJ0ZXh0XzFcXFxcXFxcIixcXFxcbiAgICB0aXRsZTogXFxcXFxcXCLigJzigJzigJ3igJ08YmlnPlxcXFxcXFwiICsgcGFyc2VEb21Gb3JIdG1sKGdldFJlc0NvZGUoKSwgXFxcXFxcXCJoMSYmVGV4dFxcXFxcXFwiKSArIFxcXFxcXFwiPC9iaWc+XFxcXFxcXCIsXFxcXG59KTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChnZXRSZXNDb2RlKCksIFxcXFxcXFwiLmFydGljbGUtY29udGVudCYmSHRtbFxcXFxcXFwiKS5zcGxpdCgncHVzaCh7fSk7JylbMV0sXFxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnLFxcXFxuICAgIGV4dHJhOiB7XFxcXG4gICAgICAgIHRleHRTaXplOiAxNixcXFxcbiAgICAgICAgY2xpY2s6IHRydWVcXFxcbiAgICB9XFxcXG59KTtcXFxcbnNldFJlc3VsdChkKTtcXFwiLFxcbiAgICBcXFwic2RldGFpbF9jb2xfdHlwZVxcXCI6IFxcXCJtb3ZpZV8xXFxcIixcXG4gICAgXFxcInNkZXRhaWxfZmluZF9ydWxlXFxcIjogXFxcIipcXFwiLFxcbiAgICBcXFwidWFcXFwiOiBcXFwicGNcXFwiLFxcbiAgICBcXFwicHJlUnVsZVxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwicGFnZXNcXFwiOiBcXFwiW11cXFwiLFxcbiAgICBcXFwiaWNvblxcXCI6IFxcXCJcXFwiXFxufSwge1xcbiAgICBcXFwibGFzdF9jaGFwdGVyX3J1bGVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInRpdGxlXFxcIjogXFxcIuWIhuS6q+iAhVxcXCIsXFxuICAgIFxcXCJhdXRob3JcXFwiOiBcXFwi5bCP8J+UpeaYn1xcXCIsXFxuICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9zaGFyZXJ3LmNvbS9hL2Z5QWxsL2Z5cGFnZS9cXFwiLFxcbiAgICBcXFwidmVyc2lvblxcXCI6IDksXFxuICAgIFxcXCJjb2xfdHlwZVxcXCI6IFxcXCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY1xcXCIsXFxuICAgIFxcXCJjbGFzc19uYW1lXFxcIjogXFxcIuaJi+acuui9r+S7tibovabmnLrova/ku7Ym55S16ISR6L2v5Lu2JlxcXCIsXFxuICAgIFxcXCJjbGFzc191cmxcXFwiOiBcXFwiZ2FuaHVvJnFpY2hlJmppbmd5YW4mXFxcIixcXG4gICAgXFxcImFyZWFfbmFtZVxcXCI6IFxcXCLnm5LlrZDova/ku7YmVFbotYTorq8m57K+6YCJVFZcXFwiLFxcbiAgICBcXFwiYXJlYV91cmxcXFwiOiBcXFwieml5dWFuJnR2engmanh0dlxcXCIsXFxuICAgIFxcXCJzb3J0X25hbWVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInllYXJfbmFtZVxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwic29ydF91cmxcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInllYXJfdXJsXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJmaW5kX3J1bGVcXFwiOiBcXFwiYm9keSYmLmFydGljbGUtbGlzdDtpbWcmJmFsdDtpbWcmJnNyYzsudGltZSYmVGV4dDthJiZocmVmXFxcIixcXG4gICAgXFxcInNlYXJjaF91cmxcXFwiOiBcXFwiaHR0cHM6Ly9zaGFyZXJ3LmNvbS9zZWFyY2gucGhwP3E9KiomcGFnZT1meXBhZ2VcXFwiLFxcbiAgICBcXFwiZ3JvdXBcXFwiOiBcXFwi5YW25a6DXFxcIixcXG4gICAgXFxcInNlYXJjaEZpbmRcXFwiOiBcXFwiYm9keSYmLmFydGljbGUtbGlzdDtpbWcmJmFsdDthJiZocmVmOy50aW1lJiZUZXh0O3AsMSYmVGV4dDtpbWcmJnNyY1xcXCIsXFxuICAgIFxcXCJkZXRhaWxfY29sX3R5cGVcXFwiOiBcXFwibW92aWVfMVxcXCIsXFxuICAgIFxcXCJkZXRhaWxfZmluZF9ydWxlXFxcIjogXFxcImpzOnZhciByZXM9e307dmFyIGQ9W107aHRtbD1nZXRSZXNDb2RlKCk7dGV4dD1wYXJzZURvbUZvckh0bWwoaHRtbCxcXFxcXFxcIi5hcnQtY29udGVudCYmSHRtbFxcXFxcXFwiKTtkLnB1c2goe3RpdGxlOnRleHQsY29sX3R5cGU6J3JpY2hfdGV4dCd9KTtyZXMuZGF0YT1kO3NldEhvbWVSZXN1bHQocmVzKTtcXFwiLFxcbiAgICBcXFwic2RldGFpbF9jb2xfdHlwZVxcXCI6IFxcXCJtb3ZpZV8xXFxcIixcXG4gICAgXFxcInNkZXRhaWxfZmluZF9ydWxlXFxcIjogXFxcIipcXFwiLFxcbiAgICBcXFwidWFcXFwiOiBcXFwibW9iaWxlXFxcIixcXG4gICAgXFxcInByZVJ1bGVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInBhZ2VzXFxcIjogXFxcIltdXFxcIixcXG4gICAgXFxcImljb25cXFwiOiBcXFwiaHR0cHM6Ly96My5heDF4LmNvbS8yMDIxLzExLzA1L0ltelN2ZC5wbmdcXFwiXFxufSwge1xcbiAgICBcXFwibGFzdF9jaGFwdGVyX3J1bGVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInRpdGxlXFxcIjogXFxcIuWPkeeOsOWwj+i9r+S7tlxcXCIsXFxuICAgIFxcXCJhdXRob3JcXFwiOiBcXFwi5bGF54S2XFxcIixcXG4gICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy54NmcuY29tL2h0bWwvMjMtZnlwYWdlLmh0bWxcXFwiLFxcbiAgICBcXFwidmVyc2lvblxcXCI6IDMsXFxuICAgIFxcXCJjb2xfdHlwZVxcXCI6IFxcXCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY1xcXCIsXFxuICAgIFxcXCJjbGFzc19uYW1lXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJjbGFzc191cmxcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcImFyZWFfbmFtZVxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwiYXJlYV91cmxcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInNvcnRfbmFtZVxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwieWVhcl9uYW1lXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJzb3J0X3VybFxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwieWVhcl91cmxcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcImZpbmRfcnVsZVxcXCI6IFxcXCIubGlzdC1zb2Z0JiZsaTsubGlzdC1pbmZvJiZhJiZUZXh0Oy5sYXl1aS1jbGVhciYmaW1nJiZzcmM7Lmxpc3QtY2EmJlRleHQ7Lmxpc3QtaW5mbyYmYSYmaHJlZlxcXCIsXFxuICAgIFxcXCJzZWFyY2hfdXJsXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJncm91cFxcXCI6IFxcXCLlhbblroNcXFwiLFxcbiAgICBcXFwic2VhcmNoRmluZFxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwiZGV0YWlsX2NvbF90eXBlXFxcIjogXFxcInRleHRfM1xcXCIsXFxuICAgIFxcXCJkZXRhaWxfZmluZF9ydWxlXFxcIjogXFxcImJvZHkmJi5hcnRpY2xlLWRvd247YSYmVGV4dDsqOyo7YSYmZGF0YS11cmxcXFwiLFxcbiAgICBcXFwic2RldGFpbF9jb2xfdHlwZVxcXCI6IFxcXCJtb3ZpZV8xXFxcIixcXG4gICAgXFxcInNkZXRhaWxfZmluZF9ydWxlXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJ1YVxcXCI6IFxcXCJtb2JpbGVcXFwiLFxcbiAgICBcXFwicHJlUnVsZVxcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwicGFnZXNcXFwiOiBcXFwiW11cXFwiLFxcbiAgICBcXFwiaWNvblxcXCI6IFxcXCJcXFwiXFxufSwge1xcbiAgICBcXFwibGFzdF9jaGFwdGVyX3J1bGVcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInRpdGxlXFxcIjogXFxcIlZYQVRcXFwiLFxcbiAgICBcXFwiYXV0aG9yXFxcIjogXFxcIuWwj/CflKXmmJ9cXFwiLFxcbiAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LnZ4YXQuY29tL2Z5QWxsX2Z5cGFnZS5odG1sXFxcIixcXG4gICAgXFxcInZlcnNpb25cXFwiOiAxLFxcbiAgICBcXFwiY29sX3R5cGVcXFwiOiBcXFwibW92aWVfMV92ZXJ0aWNhbF9waWNcXFwiLFxcbiAgICBcXFwiY2xhc3NfbmFtZVxcXCI6IFxcXCLova/ku7bkuIvovb0mV2luZG93cyZBbmRyb2lkJueUteinhui9r+S7tiZcXFwiLFxcbiAgICBcXFwiY2xhc3NfdXJsXFxcIjogXFxcIlJ1YW5KaWFuWGlhWmFpJldpbmRvd3MmQW5kcm9pZCZUViZcXFwiLFxcbiAgICBcXFwiYXJlYV9uYW1lXFxcIjogXFxcIuS8mOaDoOa0u+WKqCbnvZHnq5nmupDnoIEm5pyN5Yqh5ZmoJuaKgOacr+aVmeeoiyZcXFwiLFxcbiAgICBcXFwiYXJlYV91cmxcXFwiOiBcXFwiWW91SHVpSHVvRG9uZyZXYW5nWmhhbll1YW5NYSZWUFMmSmlTaHVKaWFvQ2hlbmcmXFxcIixcXG4gICAgXFxcInNvcnRfbmFtZVxcXCI6IFxcXCLkuIDnuqfpobXpnaLmj5DnpLrplJnor6/kuLrmsqHmnInkuIvkuIDpobXvvIFcXFwiLFxcbiAgICBcXFwieWVhcl9uYW1lXFxcIjogXFxcIuWFtuS7libmuLjmiI8m572R5Y+L5YiG5LqrJiZcXFwiLFxcbiAgICBcXFwic29ydF91cmxcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcInllYXJfdXJsXFxcIjogXFxcIlFpVGEmWW91WGkmV2FuZ1lvdUZlblhpYW5nJiZcXFwiLFxcbiAgICBcXFwiZmluZF9ydWxlXFxcIjogXFxcImJvZHkmJi5wb3N0O2EmJnRpdGxlO2ltZyYmc3JjOy50aW1lJiZUZXh0O2EmJmhyZWZcXFwiLFxcbiAgICBcXFwic2VhcmNoX3VybFxcXCI6IFxcXCJodHRwczovL3d3dy52eGF0LmNvbS9zZWFyY2gucGhwP3E9KiomcGFnZT1meXBhZ2VcXFwiLFxcbiAgICBcXFwiZ3JvdXBcXFwiOiBcXFwi5YW25a6DXFxcIixcXG4gICAgXFxcInNlYXJjaEZpbmRcXFwiOiBcXFwiYm9keSYmLnBvc3Q7YSYmdGl0bGU7YSYmaHJlZjsudGltZSYmVGV4dDsucG9zdCYmVGV4dDtpbWcmJnNyY1xcXCIsXFxuICAgIFxcXCJkZXRhaWxfY29sX3R5cGVcXFwiOiBcXFwibW92aWVfMVxcXCIsXFxuICAgIFxcXCJkZXRhaWxfZmluZF9ydWxlXFxcIjogXFxcImpzOnZhciByZXM9e307dmFyIGQ9W107aHRtbD1nZXRSZXNDb2RlKCk7dGV4dD1wYXJzZURvbUZvckh0bWwoaHRtbCxcXFxcXFxcIi5hcnRpY2xlLWNvbnRlbnQmJkh0bWxcXFxcXFxcIik7ZC5wdXNoKHt0aXRsZTp0ZXh0LGNvbF90eXBlOidyaWNoX3RleHQnfSk7cmVzLmRhdGE9ZDtzZXRIb21lUmVzdWx0KHJlcyk7XFxcIixcXG4gICAgXFxcInNkZXRhaWxfY29sX3R5cGVcXFwiOiBcXFwibW92aWVfMVxcXCIsXFxuICAgIFxcXCJzZGV0YWlsX2ZpbmRfcnVsZVxcXCI6IFxcXCIqXFxcIixcXG4gICAgXFxcInVhXFxcIjogXFxcIm1vYmlsZVxcXCIsXFxuICAgIFxcXCJwcmVSdWxlXFxcIjogXFxcIlxcXCIsXFxuICAgIFxcXCJwYWdlc1xcXCI6IFxcXCJbXVxcXCIsXFxuICAgIFxcXCJpY29uXFxcIjogXFxcIlxcXCJcXG59XVwifV0iLCJpY29uIjoiaHR0cHM6Ly9pbWcyLmJhaWR1LmNvbS9pdC91PTI1MTA3ODEzMzcsMzg4MTYzNjAxNSZmbT0xMTcmZm10PWF1dG8mZ3A9MC5qcGcifQ==
Add Comment
Please, Sign In to add comment