xiaomianao666

小程序:一起看

Nov 1st, 2024
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@一起看@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi5LiA6LW355yLIiwiYXV0aG9yIjoiemV0YWxwaGEiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IyNmeXBhZ2UiLCJ2ZXJzaW9uIjowLCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xuXG52YXIgZ2V0UmFuZ2VDb2xvcnMgPSBmdW5jdGlvbigpIHvCoMKgwqDCoMKgwqDCoFxuICAgIHJldHVybiAnIycgKyAoJzAwMDAwJyArIChNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwIDw8IDApLnRvU3RyaW5nKDE2KSkuc3Vic3RyKC02KTvCoMKgwqDCoMKgXG59XG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL3lpP3J1bGU9zrEnKSkucnVsZSlcblxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9qc29uJykpLnJ1bGUpXG5cbnZhciBwYWdlID0gTVlfUEFHRTtcblxudmFyIGh0bWwgPSBcIlwiO1xudmFyIGNsaXN0ID0gW107XG5cbmZ1bmN0aW9uIGZpbGxDYXRlKGxpc3QpIHtcbiAgICByZXR1cm4gW1wiPGRpdiBjbGFzcz0nY2MnPlwiXS5jb25jYXQobGlzdCwgWyc8L2Rpdj4nXSk7XG59XG5cbmpzb24uZGF0YS5maWx0ZXJMaXN0LmZvckVhY2goKHgsIGkpID0+IHtcbiAgICB2YXIgY2xhc3NOYW1lID0geC5maWx0ZXJOYW1lO1xuICAgIGNsaXN0LnB1c2goXCJkdF9cIiArIGNsYXNzTmFtZSk7XG4gICAgdmFyIGNsYXNzTGlzdCA9IHguZmlsdGVyVmFsdWVMaXN0Lm1hcCh4ID0+IHtcbiAgICAgICAgcmV0dXJuIGA8YSBpZD1cIiR7eC5pZH1cIiBuYW1lPVwiJHtjbGFzc05hbWV9XCI+JHt4Lm5hbWV9PC9hPmBcbiAgICB9KVxuICAgIGNsYXNzTGlzdC51bnNoaWZ0KGA8YSBpZD1cIjBcIiBuYW1lPVwiJHtjbGFzc05hbWV9XCI+5YWo6YOoPC9hPmApXG4gICAgY2xhc3NMaXN0ID0gZmlsbENhdGUoY2xhc3NMaXN0KTtcbiAgICBodG1sICs9IGNsYXNzTGlzdC5qb2luKCdcXG4nKVxufSlcblxudmFyIHNvcnRMaXN0ID0ganNvbi5kYXRhLnNvcnRMaXN0Lm1hcCgoeCwgaSkgPT4ge1xuICAgIHJldHVybiBgPGEgaWQ9XCIke3guc29ydFR5cGV9XCIgbmFtZT1cInNvcnRMaXN0XCI+JHt4LnNvcnROYW1lfTwvYT5gXG59KVxuXG5mdW5jdGlvbiBjdXN0b21Tb3J0KGEsIGIpIHtcbiAgICAvLyDlsIbljIXlkKtpZD1cIjJcIueahOWFg+e0oOaOkuWcqOWJjemdolxuICAgIGlmIChhLmluY2x1ZGVzKCdpZD1cIjJcIicpKSB7XG4gICAgICAgIHJldHVybiAtMTsgLy8gYeaOkuWcqGLliY3pnaJcbiAgICB9IGVsc2UgaWYgKGIuaW5jbHVkZXMoJ2lkPVwiMlwiJykpIHtcbiAgICAgICAgcmV0dXJuIDE7IC8vIGLmjpLlnKhh5YmN6Z2iXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDA7IC8vIOS/neaMgeWOn+Wni+mhuuW6j1xuICAgIH1cbn1cblxuc29ydExpc3Quc29ydChjdXN0b21Tb3J0KTtcbmNsaXN0LnB1c2goXCJkdF9zb3J0TGlzdFwiKTtcbmNsaXN0LnB1c2goXCJuZXh0VmFsXCIpO1xuXG5pZiAocGFnZSA9PSAxKSB7XG4gICAgY2xlYXJNeVZhcihcIm5leHRWYWxcIik7XG59XG5cbnNvcnRMaXN0ID0gZmlsbENhdGUoc29ydExpc3QpO1xuaHRtbCArPSBzb3J0TGlzdC5qb2luKCdcXG4nKVxuXG4vL2xvZyhodG1sKVxuXG52YXIg5a6a5L2N5L+h5oGvID0gW3tcbiAgICDkuIDnuqflrprkvY06ICdib2R5JiYuY2MnLFxuICAgIOWwj+exuzogJ2JvZHkmJmEnLFxuICAgIOmTvuaOpTogJ0BqczonICsgJC50b1N0cmluZygoKSA9PiB7XG4gICAgICAgIHZhciBrID0gcGRmaChpbnB1dCwgJ2EmJm5hbWUnKTtcbiAgICAgICAgdmFyIHYgPSBwZGZoKGlucHV0LCAnYSYmaWQnKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IGssXG4gICAgICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgfTtcbiAgICB9KSxcbn1dXG5cbnZhciBxdWVyeVZhbHVlSnNvbiA9IFtdO1xuXG5jbGlzdC5tYXAoeCA9PiB7XG4gICAgdmFyIGsgPSBnZXRNeVZhcih4LCAnMCcpXG4gICAgaWYgKGsgJiYgayAhPSAnMCcgJiYgeCAhPT0gXCJkdF9zb3J0TGlzdFwiKSB7XG4gICAgICAgIHF1ZXJ5VmFsdWVKc29uLnB1c2goe1xuICAgICAgICAgICAgZmlsZXJOYW1lOiB4LnJlcGxhY2UoJ2R0XycsICcnKSxcbiAgICAgICAgICAgIGZpbGVyVmFsdWU6IGtcbiAgICAgICAgfSlcbiAgICB9XG59KVxuXG52YXIgc29ydFR5cGUgPSBnZXRNeVZhcignZHRfc29ydExpc3QnLCAnMicpO1xuXG4vL2xvZyhsaXN0TXlWYXJLZXlzKCkpXG5cbmxldCB7XG4gICAgYXBpc1xufSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL2FwaScpO1xuXG52YXIgb2JqID0ge1xuICAgIG5leHRDb3VudDogMTgsXG4gICAgbmV4dFZhbDogZ2V0TXlWYXIoJ25leHRWYWwnLCBcIlwiKSxcbiAgICBxdWVyeVZhbHVlSnNvbjogSlNPTi5zdHJpbmdpZnkocXVlcnlWYWx1ZUpzb24pLFxufVxuXG5pZiAoc29ydFR5cGUgIT0gJzInKSB7XG4gICAgb2JqWydzb3J0VHlwZSddID0gTnVtYmVyKHNvcnRUeXBlKTtcbn1cblxudmFyIHNnaW5vYmogPSBhcGlzLmdldEJvZHkob2JqKTtcblxuY29uc3QgZGMgPSBkeW5hbWljQ2xhc3Moe1xuICAgIOWIhuexu+minOiJsjogZ2V0UmFuZ2VDb2xvcnMoKVxufSk7XG5kYy7lvIDlkK/mkJzntKIoKS7muIXpmaQoY2xpc3QpLuWIm+W7uuWKqOaAgeWIhuexuyjlrprkvY3kv6Hmga8pO1xuXG52YXIgcmVzdWx0ID0gYXBpcy5xdWVyeShcIi92MS9hcGkvc2VhcmNoL3F1ZXJ5Tm93XCIsIHNnaW5vYmopO1xuXG4vL2xvZyhyZXN1bHQuaXRlbXMubGVuZ3RoKVxuXG52YXIgcGFyc2VSdWxlID0ge1xuICAgIGxpc3Q6ICdpdGVtcycsIC8v57uf5LiAaXRlbVxuICAgIHRpdGxlOiAnaXRlbS52b2ROYW1lJyxcbiAgICBkZXNjOiAnaXRlbS5pY29uTGlzdFswXT9pdGVtLmljb25MaXN0WzBdLmljb25UZXh0Oml0ZW0uc2NvcmUnLFxuICAgIGltZzogJ2l0ZW0uY292ZXJJbWcnLFxuICAgIHVybDogXCInP2lkPScraXRlbS52b2RJZCsnJidcIixcbiAgICBjb2xfdHlwZTogJ21vdmllXzNfbWFycXVlZScsXG4gICAgcmVmOiAnQFJlZmVyZXI9JyxcbiAgICBpbXQ6IHRydWUsXG4gICAgLy9kZWJ1Zzp0cnVlLFxufVxuXG50cnkge1xuICAgIENyZWF0ZS5qc29uTGlzdChkLCByZXN1bHQsIHBhcnNlUnVsZSk7XG59IGNhdGNoIChlKSB7XG4gICAgbG9nKGUubWVzc2FnZSlcbn1cblxuc2V0UmVzdWx0KGQpOyIsInNlYXJjaF91cmwiOiJoaWtlcjovL2VtcHR5P2tleT0qKiZmeXBhZ2UiLCJncm91cCI6IkLlvbHop4YiLCJzZWFyY2hGaW5kIjoianM6XG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL3lpP3J1bGU9zrEnKSkucnVsZSlcblxuaWYgKE1ZX1BBR0UgPT0gMSkge1xuICAgIGNsZWFyTXlWYXIoXCJuZXh0VmFsXCIpO1xufVxuXG52YXIga2V5ID0gZ2V0UGFyYW0oJ2tleScpO1xudmFyIGQgPSBbXTtcblxubGV0IHtcbiAgICBhcGlzXG59ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvYXBpJyk7XG5cbnZhciByZXN1bHQgPSBhcGlzLnF1ZXJ5KFwiL3YxL2FwaS9zZWFyY2gvc2VhcmNoXCIsIGFwaXMuZ2V0Qm9keSh7XG4gICAgbmV4dFZhbDogZ2V0TXlWYXIoJ25leHRWYWwnLCBcIlwiKSxcbiAgICBrZXl3b3JkOiBrZXksXG59KSk7XG5cbmxvZyhyZXN1bHQpXG5cbnZhciBwYXJzZVJ1bGUgPSB7XG4gICAgbGlzdDogJ2l0ZW1zJywgLy/nu5/kuIBpdGVtXG4gICAgdGl0bGU6ICdpdGVtLnZvZE5hbWUnLFxuICAgIGRlc2M6ICdpdGVtLmljb25MaXN0WzBdP2l0ZW0uaWNvbkxpc3RbMF0uaWNvblRleHQ6aXRlbS5zY29yZScsXG4gICAgaW1nOiAnaXRlbS5jb3ZlckltZycsXG4gICAgdXJsOiBcIic/aWQ9JytpdGVtLnZvZElkKycmJ1wiLFxuICAgIGNvbnRlbnQ6XCJpdGVtLmludHJvXCIsXG4gICAgcmVmOiAnQFJlZmVyZXI9JyxcbiAgICBpbXQ6IHRydWUsXG4gICAgLy9kZWJ1Zzp0cnVlLFxufVxuXG50cnkge1xuICAgIENyZWF0ZS5qc29uTGlzdChkLCByZXN1bHQsIHBhcnNlUnVsZSk7XG59IGNhdGNoIChlKSB7XG4gICAgbG9nKGUubWVzc2FnZSlcbn1cblxuc2V0UmVzdWx0KGQpIiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiJqczpcbnZhciBpZCA9IGdldFBhcmFtKCdpZCcpO1xuLy9sb2coaWQpXG52YXIgZCA9IFtdO1xuXG5sZXQge1xuICAgIGFwaXNcbn0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9hcGknKTtcblxuTVlfVVJMID0gYXBpcy5ob3N0ICsgJy9wbGF5LycgKyBpZDtcblxudmFyIHJlc3VsdCA9IGFwaXMucXVlcnkoXCIvdjEvYXBpL3ZvZEluZm8vZGV0YWlsXCIsIGFwaXMuZ2V0Qm9keSh7XG4gICAgdm9kSWQ6IGlkLFxufSkpO1xuXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2VyP3J1bGU9zrEnKSkucnVsZSk7XG5cbnZhciBvYmogPSB7XG4gICAgdGl0bGVzOiBbcmVzdWx0LmFyZWFOYW1lICsgJyAnICsgcmVzdWx0LnllYXIsICfigJzigJzigJ3igJ0nICsgcmVzdWx0LnNjb3JlLmZvbnRjb2xvcihcIiNGRjQ1MDBcIildLFxuICAgIGRlc2NzOiBbYOa8lOWRmDoke3Jlc3VsdC5hY3Rvckxpc3QubWFwKHg9Pngudm9kV29ya2VyTmFtZSkuc2xpY2UoMCw1KS5qb2luKCcgJyl9YCxcbiAgICAgICAgYOWvvOa8lDoke3Jlc3VsdC5kaXJlY3Rvckxpc3QubWFwKHg9Pngudm9kV29ya2VyTmFtZSkuam9pbignICcpfWBcbiAgICBdXG59XG5cbnZhciBwbGF5cyA9IHJlc3VsdC5wbGF5ZXJMaXN0O1xuXG5FcmppLnByZUxvYWQoKTtcbkVyamkuY2xvc2UoWyfmkq3mlL7liJfooagnXSwgMCk7XG5FcmppLnNldEN1c3RvbShvYmosIHJlc3VsdC5jb3ZlckltZywge30pO1xuRXJqaS5zZXREZXNjKHJlc3VsdC5pbnRybyk7IC8v5Ymn5oOF566A5LuLXG5FcmppLnNldFRhYnMyKHBsYXlzLm1hcCh4ID0+IHgucGxheWVyTmFtZSksICfmkq3mlL7liJfooagnLCBudWxsLCB7XG4gICAg5o6o6YCBOiB0cnVlXG59LCBbMF0pO1xuRXJqaS5zZXRMaXN0cyhwbGF5cy5tYXAoeCA9PiB4LmVwTGlzdC5tYXAoayA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IGsuZXBOYW1lLFxuICAgICAgICB1cmw6ICQoaWQgKyAnIycgKyBrLmVwSWQpLmxhenlSdWxlKCh4KSA9PiB7XG4gICAgICAgICAgICBsZXQge1xuICAgICAgICAgICAgICAgIGFwaXNcbiAgICAgICAgICAgIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9hcGknKTtcbiAgICAgICAgICAgIGlmICh4LnZvZFBsYXllcktpbmQgPT0gJzEnKSB7XG4gICAgICAgICAgICAgICAgdm9kUmVzb2x1dGlvbjEgPSAnMydcbiAgICAgICAgICAgICAgICB2YXIgb2JqMSA9IHtcbiAgICAgICAgICAgICAgICAgICAgZXBJZDogaW5wdXQuc3BsaXQoJyMnKVsxXSxcbiAgICAgICAgICAgICAgICAgICAgdm9kUmVzb2x1dGlvbjogdm9kUmVzb2x1dGlvbjEsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciBzZ2lub2JqMSA9IGFwaXMuZ2V0Qm9keTEob2JqMSk7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdDEgPSBhcGlzLnF1ZXJ5MShcIi92Mi9hcGkvdm9kSW5mby9wbGF5VXJsXCIsIHNnaW5vYmoxKS5wbGF5VXJsO1xuICAgICAgICAgICAgICAgIGxvZyhyZXN1bHQxKVxuXG4gICAgICAgICAgICAgICAgdm9kUmVzb2x1dGlvbiA9ICcyJ1xuICAgICAgICAgICAgICAgIHZhciBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIGVwSWQ6IGlucHV0LnNwbGl0KCcjJylbMV0sXG4gICAgICAgICAgICAgICAgICAgIHZvZFJlc29sdXRpb246IHZvZFJlc29sdXRpb24sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciBzZ2lub2JqID0gYXBpcy5nZXRCb2R5KG9iaik7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGFwaXMucXVlcnkoXCIvdjIvYXBpL3ZvZEluZm8vcGxheVVybFwiLCBzZ2lub2JqKS5wbGF5VXJsO1xuICAgICAgICAgICAgICAgIGxvZyhyZXN1bHQpXG5cbiAgICAgICAgICAgICAgICBsZXQgdXJscyA9IFt7XG4gICAgICAgICAgICAgICAgICAgIFwibmFtZVwiOiBcIui2hea4hVwiLFxuICAgICAgICAgICAgICAgICAgICBcInVybFwiOiByZXN1bHQxXG4gICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICBcIm5hbWVcIjogXCLmoIfmuIVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJ1cmxcIjogcmVzdWx0XG4gICAgICAgICAgICAgICAgfV07XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB1cmxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgvdW5kZWZpbmVkLy50ZXN0KHVybHNbaV0udXJsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8g5aaC5p6c5Y+R546w5YyF5ZCrJ3VuZGVmaW5lZCfnmoR1cmzvvIzliJvlu7rkuIDkuKrmlrDnmoR1cmxz5pWw57uE77yM5LiN5YyF5ZCr6L+Z5LiqdXJsXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdXJsczIgPSB1cmxzLmZpbHRlcih1ID0+ICEvdW5kZWZpbmVkLy50ZXN0KHUudXJsKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybHM6IHVybHMyLm1hcCh1ID0+IHUudXJsKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lczogdXJsczIubWFwKHUgPT4gdS5uYW1lKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSkgKyBcIiNpc1ZpZGVvPXRydWUjXCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgdXJsczogdXJscy5tYXAodSA9PiB1LnVybCksXG4gICAgICAgICAgICAgICAgICAgIG5hbWVzOiB1cmxzLm1hcCh1ID0+IHUubmFtZSlcbiAgICAgICAgICAgICAgICB9KSArIFwiI2lzVmlkZW89dHJ1ZSNcIjtcblxuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZvZFJlc29sdXRpb24gPSAnMSdcbiAgICAgICAgICAgICAgICB2YXIgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBlcElkOiBpbnB1dC5zcGxpdCgnIycpWzFdLFxuICAgICAgICAgICAgICAgICAgICB2b2RSZXNvbHV0aW9uOiB2b2RSZXNvbHV0aW9uLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHNnaW5vYmogPSBhcGlzLmdldEJvZHkob2JqKTtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSBhcGlzLnF1ZXJ5KFwiL3YyL2FwaS92b2RJbmZvL3BsYXlVcmxcIiwgc2dpbm9iaikucGxheVVybDtcbiAgICAgICAgICAgIGxvZyhyZXN1bHQpXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH0sIHgpLFxuICAgIH1cbn0pKSwgZ2V0TXlWYXIoJ2VyX+aSreaUvuWIl+ihqCcsICcwJykpXG5cbnZhciB5b3VsaWtlID0gYXBpcy5xdWVyeShcIi92MS9hcGkvdm9kSW5mby9ndWVzc1lvdUxpa2VcIiwgYXBpcy5nZXRCb2R5KHtcbiAgICB2b2RJZDogaWQsXG59KSk7XG52YXIgbGlrZSA9IGdldEl0ZW0oJ2xpa2UnLCAnMScpXG5kLnB1c2goe1xuICAgIHRpdGxlOiAn54yc5L2g5Zac5qyiJyxcbiAgICBjb2xfdHlwZTogJ2F2YXRhcicsXG4gICAgaW1nOiAnaHR0cHM6Ly9oaWtlcmZhbnMuY29tL3R1Ymlhby9zeXN0ZW0vMTIzLnBuZycsXG4gICAgdXJsOiAndG9hc3Q6Ly/mnKrlrp7njrAnLFxufSlcbmlmIChsaWtlID09ICcxJykge1xuICAgIHlvdWxpa2UuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBpdGVtLnZvZE5hbWUsXG4gICAgICAgICAgICBkZXNjOiBpdGVtLmljb25MaXN0WzBdID8gaXRlbS5pY29uTGlzdFswXS5pY29uVGV4dCA6IGl0ZW0uc2NvcmUsXG4gICAgICAgICAgICBpbWc6IGl0ZW0uY292ZXJJbWcgKyAnQFJlZmVyZXI9JyxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbW92aWVfM19tYXJxdWVlJyxcbiAgICAgICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSMjP2lkPScgKyBpdGVtLnZvZElkICsgJyYjaW1tZXJzaXZlVGhlbWUjJykucnVsZSgoZGV0YWlsKSA9PiB7XG4gICAgICAgICAgICAgICAgZXZhbChkZXRhaWwpXG4gICAgICAgICAgICB9LCBNWV9SVUxFLmZpbmRfcnVsZSksXG4gICAgICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgICAgIGltZzogaXRlbS5jb3ZlckltZyArICdAUmVmZXJlcj0nLFxuICAgICAgICAgICAgICAgIHBhZ2VUaXRsZTogaXRlbS52b2ROYW1lLFxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH0pXG59XG5cbkVyamku5aOw5piOKCk7XG5cbmZ1bmN0aW9uIGdldFVwZGF0YShpZCwgdGl0bGUpIHtcbiAgICBsZXQge1xuICAgICAgICBhcGlzXG4gICAgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL2FwaT9ydWxlPScgKyB0aXRsZSk7XG4gICAgbGV0IHtcbiAgICAgICAgRXJqaVxuICAgIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9lcj9ydWxlPc6xJywgdW5kZWZpbmVkLCAyNCk7XG4gICAgdmFyIHJlc3VsdCA9IGFwaXMucXVlcnkoXCIvdjEvYXBpL3ZvZEluZm8vaW5kZXhcIiwgYXBpcy5nZXRCb2R5KHtcbiAgICAgICAgdm9kSWQ6IGlkLFxuICAgIH0pKTtcbiAgICB2YXIgZXAgPSByZXN1bHQucGxheWVyTGlzdC5tYXAoeCA9PiB4LmVwTGlzdCk7XG4gICAgdmFyIG1heCA9IEVyamkubWF4TGlzdChlcCk7XG4gICAgbGV0IG5hbWUgPSBtYXhbbWF4Lmxlbmd0aCAtIDFdLmVwTmFtZTtcbiAgICBzZXRSZXN1bHQoJ+acgOaWsO+8micgKyBuYW1lKTtcbn1cblxuRXJqaS51cGRhdGEoZ2V0VXBkYXRhLCB7XG4gICAgaWQ6IGlkLFxuICAgIHRpdGxlOiBNWV9SVUxFLnRpdGxlXG59KVxuXG5cblxuXG5cbnNldFJlc3VsdChkKSIsInNkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwic2RldGFpbF9maW5kX3J1bGUiOiIqIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoiIiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcImpzb25cIixcInBhdGhcIjpcImpzb25cIixcInJ1bGVcIjpcImpzOlxcblxcbnZhciBqc29uID0ge1xcbiAgICBcXFwicmVzdWx0XFxcIjogdHJ1ZSxcXG4gICAgXFxcIm1zZ1xcXCI6IFxcXCJcXFwiLFxcbiAgICBcXFwiZGF0YVxcXCI6IHtcXG4gICAgICAgIFxcXCJmaWx0ZXJMaXN0XFxcIjogW3tcXG4gICAgICAgICAgICBcXFwiZmlsdGVyTmFtZVxcXCI6IFxcXCJjaGFubmVsSWRcXFwiLFxcbiAgICAgICAgICAgIFxcXCJmaWx0ZXJWYWx1ZUxpc3RcXFwiOiBbe1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNTBcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLnn63liadcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiM1xcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIueUteinhuWJp1xcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCIyXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi55S15b2xXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjhcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLliqjmvKtcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMTBcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLnu7zoibpcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNVxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuS9k+iCslxcXCJcXG4gICAgICAgICAgICB9XVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIFxcXCJmaWx0ZXJOYW1lXFxcIjogXFxcImFyZWFJZFxcXCIsXFxuICAgICAgICAgICAgXFxcImZpbHRlclZhbHVlTGlzdFxcXCI6IFt7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCIxXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5aSn6ZmGXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjNcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLnvo7lm71cXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiOFxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIumfqeWbvVxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI3XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi6aaZ5rivXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjRcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLml6XmnKxcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMTJcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLlj7Dmub5cXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMlxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuiLseWbvVxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI1XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5Yqg5ou/5aSnXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjlcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLmlrDliqDlnaFcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMTBcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLms5Xlm71cXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMTFcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLms7Dlm71cXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMTNcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLljbDluqZcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMTRcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLopb/nj63niZlcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMTVcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLkv4TnvZfmlq9cXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMTZcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLpqazmnaXopb/kuppcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNlxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuWFtuS7llxcXCJcXG4gICAgICAgICAgICB9XVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIFxcXCJmaWx0ZXJOYW1lXFxcIjogXFxcInllYXJcXFwiLFxcbiAgICAgICAgICAgIFxcXCJmaWx0ZXJWYWx1ZUxpc3RcXFwiOiBbe1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMjAyMy0yMDIzXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwiMjAyM1xcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCIyMDIyLTIwMjJcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCIyMDIyXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjIwMjEtMjAyMVxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIjIwMjFcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMjAyMC0yMDIwXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwiMjAyMFxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCIxOTAwLTIwMTlcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCIyMDIw5Lul5YmNXFxcIlxcbiAgICAgICAgICAgIH1dXFxuICAgICAgICB9LCB7XFxuICAgICAgICAgICAgXFxcImZpbHRlck5hbWVcXFwiOiBcXFwiY2hhbm5lbENoaWxkVHlwZUlkXFxcIixcXG4gICAgICAgICAgICBcXFwiZmlsdGVyVmFsdWVMaXN0XFxcIjogW3tcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ2MlxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuefreWJp1xcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0NjVcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLliafmg4VcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDY0XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi6YO95biCXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ2M1xcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIueIseaDhVxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0NzFcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLlj6Too4VcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDg2XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5Zac5YmnXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ4N1xcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuWKqOS9nFxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0NzRcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLlhbbku5ZcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDcwXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5aWH5bm7XFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ4NVxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuWutuW6rVxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0NzNcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLmg4rmgppcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDg4XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5oKs55aRXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ5NFxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuaBkOaAllxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0OTNcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLlhpvml4VcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDkwXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi572R5YmnXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ5NlxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuaImOS6iVxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0OTFcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLniq/nvapcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDg5XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5YaS6ZmpXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ5OFxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIui/kOWKqFxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0OTVcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLlhL/nq6VcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDkyXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi56eR5bm7XFxcIlxcbiAgICAgICAgICAgIH1dXFxuICAgICAgICB9LCB7XFxuICAgICAgICAgICAgXFxcImZpbHRlck5hbWVcXFwiOiBcXFwicGxheVBvd2VyXFxcIixcXG4gICAgICAgICAgICBcXFwiZmlsdGVyVmFsdWVMaXN0XFxcIjogW3tcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjJcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLnmbvlvZXngrnmkq1cXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiM1xcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIlZJUOeCueaSrVxcXCJcXG4gICAgICAgICAgICB9XVxcbiAgICAgICAgfV0sXFxuICAgICAgICBcXFwic29ydExpc3RcXFwiOiBbe1xcbiAgICAgICAgICAgIFxcXCJzb3J0VHlwZVxcXCI6IDEsXFxuICAgICAgICAgICAgXFxcInNvcnROYW1lXFxcIjogXFxcIuacgOaWsFxcXCIsXFxuICAgICAgICAgICAgXFxcImhhc0RlZmF1bHRcXFwiOiBmYWxzZVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIFxcXCJzb3J0VHlwZVxcXCI6IDIsXFxuICAgICAgICAgICAgXFxcInNvcnROYW1lXFxcIjogXFxcIuS6uuawlFxcXCIsXFxuICAgICAgICAgICAgXFxcImhhc0RlZmF1bHRcXFwiOiB0cnVlXFxuICAgICAgICB9LCB7XFxuICAgICAgICAgICAgXFxcInNvcnRUeXBlXFxcIjogMyxcXG4gICAgICAgICAgICBcXFwic29ydE5hbWVcXFwiOiBcXFwi6K+E5YiGXFxcIixcXG4gICAgICAgICAgICBcXFwiaGFzRGVmYXVsdFxcXCI6IGZhbHNlXFxuICAgICAgICB9LCB7XFxuICAgICAgICAgICAgXFxcInNvcnRUeXBlXFxcIjogNCxcXG4gICAgICAgICAgICBcXFwic29ydE5hbWVcXFwiOiBcXFwi54Ot5pCcXFxcIixcXG4gICAgICAgICAgICBcXFwiaGFzRGVmYXVsdFxcXCI6IGZhbHNlXFxuICAgICAgICB9XVxcbiAgICB9LFxcbiAgICBcXFwib3BlcmF0ZUNvZGVcXFwiOiAwXFxufVxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiYXBpXCIsXCJwYXRoXCI6XCJhcGlcIixcInJ1bGVcIjpcImpzOlxcbmxldCBhcGlzID0ge1xcbiAgICBob3N0OiBcXFwiaHR0cHM6Ly9tLnlxa3R2ODg4LmNvbVxcXCIsXFxuICAgIGFwcElkOiBcXFwiZTZkZGVmZTA5ZTAzNDk3Mzk4NzQ1NjM0NTlmNTZjNTRcXFwiLFxcbiAgICBhcHBLZXk6IFxcXCIzMzU5ZGU0NzhmOGQ0NTYzODEyNWU0NDZhMTBlYzU0MVxcXCIsXFxuICAgIGFwcEtleTE6IFxcXCI3MGFmNjdkMmI2Y2Y0NzY3OWIzOTdlYTRjMTg4Njg3N1xcXCIsXFxuICAgIGFwaVVybDogXFxcImh0dHBzOi8vdHhhcGkxLmRiZGQxLmNvbVxcXCIsXFxuICAgIHF1ZXJ5OiBmdW5jdGlvbih1cmxwYXRoLCBib2R5KSB7XFxuICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShmZXRjaCh0aGlzLmFwaVVybCArIHVybHBhdGgsIHtcXG4gICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgIFJlZmVyZXI6IHRoaXMuaG9zdCxcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIGJvZHk6IGJvZHksXFxuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCdcXG4gICAgICAgIH0pKS5kYXRhO1xcbiAgICAgICAgaWYgKHJlc3VsdCA9PSBudWxsKSB7XFxuICAgICAgICAgICAgcmV0dXJuIHt9XFxuICAgICAgICB9XFxuICAgICAgICBpZiAocmVzdWx0Lmhhc093blByb3BlcnR5KCdoYXNOZXh0JykgJiYgcmVzdWx0Lmhhc05leHQpIHtcXG4gICAgICAgICAgICBwdXRNeVZhcignbmV4dFZhbCcsIHJlc3VsdC5uZXh0VmFsKTtcXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiByZXN1bHQ7XFxuICAgIH0sXFxuICAgIHF1ZXJ5MTogZnVuY3Rpb24odXJscGF0aCwgYm9keSkge1xcbiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoZmV0Y2godGhpcy5hcGlVcmwgKyB1cmxwYXRoLCB7XFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICBSZWZlcmVyOiB0aGlzLmhvc3QsXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICBib2R5OiBib2R5LFxcbiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnXFxuICAgICAgICB9KSkuZGF0YTtcXG4gICAgICAgIGlmIChyZXN1bHQgPT0gbnVsbCkge1xcbiAgICAgICAgICAgIHJldHVybiB7fVxcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKHJlc3VsdC5oYXNPd25Qcm9wZXJ0eSgnaGFzTmV4dCcpICYmIHJlc3VsdC5oYXNOZXh0KSB7XFxuICAgICAgICAgICAgcHV0TXlWYXIoJ25leHRWYWwnLCByZXN1bHQubmV4dFZhbCk7XFxuICAgICAgICB9XFxuICAgICAgICByZXR1cm4gcmVzdWx0O1xcbiAgICB9LFxcbiAgICBnZXRyYW5kb206IGZ1bmN0aW9uKCkge1xcbiAgICAgICAgbGV0IGUgPSBbXFxcIjBcXFwiLCBcXFwiMVxcXCIsIFxcXCIyXFxcIiwgXFxcIjNcXFwiLCBcXFwiNFxcXCIsIFxcXCI1XFxcIiwgXFxcIjZcXFwiLCBcXFwiN1xcXCIsIFxcXCI4XFxcIiwgXFxcIjlcXFwiLCBcXFwiQVxcXCIsIFxcXCJCXFxcIiwgXFxcIkNcXFwiLCBcXFwiRFxcXCIsIFxcXCJFXFxcIiwgXFxcIkZcXFwiLCBcXFwiR1xcXCIsIFxcXCJIXFxcIiwgXFxcIklcXFwiLCBcXFwiSlxcXCIsIFxcXCJLXFxcIiwgXFxcIkxcXFwiLCBcXFwiTVxcXCIsIFxcXCJOXFxcIiwgXFxcIk9cXFwiLCBcXFwiUFxcXCIsIFxcXCJRXFxcIiwgXFxcIlJcXFwiLCBcXFwiU1xcXCIsIFxcXCJUXFxcIiwgXFxcIlVcXFwiLCBcXFwiVlxcXCIsIFxcXCJXXFxcIiwgXFxcIlhcXFwiLCBcXFwiWVxcXCIsIFxcXCJaXFxcIiwgXFxcImFcXFwiLCBcXFwiYlxcXCIsIFxcXCJjXFxcIiwgXFxcImRcXFwiLCBcXFwiZVxcXCIsIFxcXCJmXFxcIiwgXFxcImdcXFwiLCBcXFwiaFxcXCIsIFxcXCJpXFxcIiwgXFxcImpcXFwiLCBcXFwia1xcXCIsIFxcXCJsXFxcIiwgXFxcIm1cXFwiLCBcXFwiblxcXCIsIFxcXCJvXFxcIiwgXFxcInBcXFwiLCBcXFwicVxcXCIsIFxcXCJyXFxcIiwgXFxcInNcXFwiLCBcXFwidFxcXCIsIFxcXCJ1XFxcIiwgXFxcInZcXFwiLCBcXFwid1xcXCIsIFxcXCJ4XFxcIiwgXFxcInlcXFwiLCBcXFwielxcXCJdLFxcbiAgICAgICAgICAgIG4gPSBcXFwiXFxcIjtcXG4gICAgICAgIGZvciAobGV0IHIgPSAwOyByIDwgMzI7IHIrKykge1xcbiAgICAgICAgICAgIGxldCBvID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSAqIDYxKTtcXG4gICAgICAgICAgICBuICs9IGVbb11cXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiBuXFxuICAgIH0sXFxuICAgIGdldFVVSUQ6IGZ1bmN0aW9uKCkge1xcbiAgICAgICAgcmV0dXJuIGAke1xcXCJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHhcXFwiLnJlcGxhY2UoL1t4eV0vZywgcj0+eyAgICAgICAgICAgIGNvbnN0IG8gPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwOyAgICAgICAgICAgIHJldHVybiAociA9PT0gXFxcInhcXFwiID8gbyA6IG8gJiAzIHwgOCkudG9TdHJpbmcoMTYpICAgICAgICB9ICAgICl9LSR7RGF0ZS5ub3coKS50b1N0cmluZygxNil9YFxcbiAgICB9LFxcbiAgICBnZXRVVUlEMTogZnVuY3Rpb24gKCkge1xcbiAgICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCBmdW5jdGlvbihjKSB7XFxuICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxNiB8IDA7XFxuICAgICAgICB2YXIgdiA9IGMgPT09ICd4JyA/IHIgOiAociAmIDB4MyB8IDB4OCk7XFxuICAgICAgICByZXR1cm4gdi50b1N0cmluZygxNik7XFxuICAgIH0pO1xcbn0sXFxuICAgIG9iaktleVNvcnQ6IGZ1bmN0aW9uKGUpIHtcXG4gICAgICAgIGxldCBuID0gT2JqZWN0LmtleXMoZSkuc29ydCgpLFxcbiAgICAgICAgICAgIHIgPSB7fTtcXG4gICAgICAgIGZvciAobGV0IG8gPSAwOyBvIDwgbi5sZW5ndGg7IG8rKykgcltuW29dXSA9IGVbbltvXV07XFxuICAgICAgICByZXR1cm4gclxcbiAgICB9LFxcbiAgICBzZ2luOiBmdW5jdGlvbihlKSB7XFxuICAgICAgICBsZXQgYyA9IFxcXCJcXFwiO1xcbiAgICAgICAgbGV0IG4gPSBcXFwiXFxcIjtcXG4gICAgICAgIGZvciAodmFyIGkgaW4gZSkgZVtpXSAhPT0gXFxcIlxcXCIgJiYgKGMgKz0gaSArIFxcXCI9XFxcIiArIGVbaV0gKyBcXFwiJlxcXCIpO1xcbiAgICAgICAgYyAhPT0gXFxcIlxcXCIgJiYgKGMgPSBjICsgXFxcImFwcEtleT1cXFwiICsgdGhpcy5hcHBLZXksIG4gPSBtZDUoYykpLCBlLnNpZ24gPSBuXFxuICAgICAgICByZXR1cm4gZVxcbiAgICB9LFxcbiAgICBzZ2luMTogZnVuY3Rpb24oZSkge1xcbiAgICAgICAgbGV0IGMgPSBcXFwiXFxcIjtcXG4gICAgICAgIGxldCBuID0gXFxcIlxcXCI7XFxuICAgICAgICBmb3IgKHZhciBpIGluIGUpIGVbaV0gIT09IFxcXCJcXFwiICYmIChjICs9IGkgKyBcXFwiPVxcXCIgKyBlW2ldICsgXFxcIiZcXFwiKTtcXG4gICAgICAgIGMgIT09IFxcXCJcXFwiICYmIChjID0gYyArIFxcXCJhcHBLZXk9XFxcIiArIHRoaXMuYXBwS2V5MSwgbiA9IG1kNShjKSksIGUuc2lnbiA9IG5cXG4gICAgICAgIHJldHVybiBlXFxuICAgIH0sXFxuICAgIGdldEJvZHk6IGZ1bmN0aW9uKGJvZHkpIHtcXG4gICAgICAgIGJvZHkgPSBib2R5IHx8IHt9O1xcbiAgICAgICAgdmFyIGRvbWFpbiA9IG5ldyBqYXZhLm5ldC5VUkwodGhpcy5ob3N0KS5nZXRIb3N0KCk7XFxuICAgICAgICB2YXIgZGVmb2JqID0ge1xcbiAgICAgICAgICAgIGFwcElkOiBhcGlzLmFwcElkLFxcbiAgICAgICAgICAgIGN1czF0b206IFxcXCJhYWJiY2NcXFwiLFxcbiAgICAgICAgICAgIGRldmljZUluZm86IFxcXCJBbmRyb2lkXFxcIixcXG4gICAgICAgICAgICB1ZGlkOiBhcGlzLmdldFVVSUQoKSxcXG4gICAgICAgICAgICByZXF1ZXN0SWQ6IGFwaXMuZ2V0cmFuZG9tKCksXFxuICAgICAgICAgICAgcmVxRG9tYWluOiBkb21haW4sXFxuICAgICAgICAgICAgdmVyc2lvbjogXFxcIjEuMi43LjYxXFxcIixcXG4gICAgICAgIH1cXG4gICAgICAgIHZhciBuZXdib2R5ID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmb2JqLCBib2R5KTtcXG4gICAgICAgIHZhciBzaWdub2JqID0gdGhpcy5zZ2luKHRoaXMub2JqS2V5U29ydChuZXdib2R5KSk7XFxuICAgICAgICByZXR1cm4gc2lnbm9iajtcXG4gICAgfSxcXG4gICAgZ2V0Qm9keTE6IGZ1bmN0aW9uKGJvZHkpIHtcXG4gICAgICAgIGJvZHkgPSBib2R5IHx8IHt9O1xcbiAgICAgICAgdmFyIGRvbWFpbiA9IG5ldyBqYXZhLm5ldC5VUkwodGhpcy5ob3N0KS5nZXRIb3N0KCk7XFxuICAgICAgICB2YXIgZGVmb2JqID0ge1xcbiAgICAgICAgICAgIGFwcElkOiBcXFwiZDZkNTIwZWE5MDkwNGYxYmE2ODBlZDZjOWM5ZjkwMDdcXFwiLFxcbiAgICAgICAgICAgIGJ1bmRsZXJJZDogXFxcImNvbS5waWN0dXJldG9idXJuLnRzXFxcIixcXG4gICAgICAgICAgICBjdXMxdG9tOiBcXFwiY3VzM3RvbVxcXCIsXFxuICAgICAgICAgICAgZGV2aWNlSW5mbzogXFxcIjIyMDIxMjExUkNcXFwiLFxcbiAgICAgICAgICAgIG9zSW5mbzogXFxcIjEyXFxcIixcXG4gICAgICAgICAgICBwYXRjaE51bWJlcjogMCxcXG4gICAgICAgICAgICB1ZGlkOiBhcGlzLmdldFVVSUQxKCksXFxuICAgICAgICAgICAgcmVxdWVzdElkOiBhcGlzLmdldFVVSUQxKCkubWF0Y2goL14uezMyfS8pWzBdLFxcbiAgICAgICAgICAgIHNvdXJjZTogXFxcIjEwMDFfZGVmYXVsdFxcXCIsXFxuICAgICAgICAgICAgdmVyc2lvbjogXFxcIjEuMy4zXFxcIixcXG4gICAgICAgICAgICB2ZXJzaW9uQ29kZTogMTEwMixcXG4gICAgICAgIH1cXG4gICAgICAgIHZhciBuZXdib2R5ID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmb2JqLCBib2R5KTtcXG4gICAgICAgIHZhciBzaWdub2JqID0gdGhpcy5zZ2luMSh0aGlzLm9iaktleVNvcnQobmV3Ym9keSkpO1xcbiAgICAgICAgcmV0dXJuIHNpZ25vYmo7XFxuICAgIH1cXG59XFxuXFxuJC5leHBvcnRzID0ge1xcbiAgICBhcGlzOiBhcGlzLFxcbn1cIn1dIiwiaWNvbiI6Imh0dHBzOi8vbS55cWt0djg4OC5jb20vZmF2aWNvbi5pY28iLCJwcm94eSI6IiJ9
Add Comment
Please, Sign In to add comment