Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@APP影视(P)@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiQVBQ5b2x6KeGKFApIiwiYXV0aG9yIjoi6aaZ6ZuF5oOFIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSIsInZlcnNpb24iOjIxLCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG5jb25zdCBjYW5Vc2UgPSAkLnJlcXVpcmUoXCJoaWtlcjovL3BhZ2Uvd2FpdFwiKTtcbmlmIChjYW5Vc2UpIHtcbiAgICB2YXIgaXRlbXMgPSBbXTtcbiAgICB2YXIgc2VsZiA9IEpTT04ucGFyc2UoZ2V0UnVsZSgpKS50aXRsZTtcbiAgICB2YXIgc2V0anNvbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSk7XG4gICAgdmFyIHNzbWQgPSBzZXRqc29uLnNzbW9kZTtcbiAgICB2YXIgc3N4YyA9IHNldGpzb24uc3Njb3VudDtcbiAgICAvL+aJk+S5semhuuW6j1xuICAgIHZhciByYW5kb20gPSB0cnVlO1xuXG4gICAgZnVuY3Rpb24gcmFuZG9tU29ydDMoYXJyKSB7XG4gICAgICAgIGFyci5zb3J0KGZ1bmN0aW9uKGEsIGIpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLnJhbmRvbSgpIC0gMC41O1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG5cbiAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICfwn5SN6K6+572uJyArICcoJyArIChzc21kID09IDEgPyAn6IGaJyArIHNzeGMgOiAn5YiXJykgKyAnKScsXG4gICAgICAgIC8vdGl0bGUgOiAn8J+Ujeiuvue9ricrJygnK3NzeGMrJyknLFxuICAgICAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHknKS5ydWxlKCgpID0+IHtcbiAgICAgICAgICAgIHZhciBkID0gW107XG4gICAgICAgICAgICB2YXIgc2V0anNvbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSk7XG4gICAgICAgICAgICB2YXIgc3NtZCA9IHNldGpzb24uc3Ntb2RlO1xuICAgICAgICAgICAgdmFyIHNzeGMgPSBzZXRqc29uLnNzY291bnQ7XG5cbiAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmkJzntKLmqKHlvI/orr7nva4nLFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+W9k+WJje+8micgKyAnKCcgKyAoc3NtZCA9PSAxID8gJ+iBmuWQiOe7k+aenCcgOiAn5byV5pOO5YiX6KGoJykgKyAnKScsXG4gICAgICAgICAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5JykubGF6eVJ1bGUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbWQgPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb24nLCB7fSkpLnNzbW9kZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAobWQgPT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZpbGVVcmwgPSBmZXRjaChcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblwiLCB7fSkucmVwbGFjZSgnXFxcInNzbW9kZVxcXCI6XFxcIjFcXFwiJywgJ1xcXCJzc21vZGVcXFwiOlxcXCIwXFxcIicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uXCIsIGZpbGVVcmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFjayh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/liIfmjaLkuLrmkJzntKLlvJXmk47liJfooajljZXpgInmqKHlvI/miJDlip/vvIEnO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZpbGVVcmwgPSBmZXRjaChcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblwiLCB7fSkucmVwbGFjZSgnXFxcInNzbW9kZVxcXCI6XFxcIjBcXFwiJywgJ1xcXCJzc21vZGVcXFwiOlxcXCIxXFxcIicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2coZmlsZVVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUZpbGUoXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cIiwgZmlsZVVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WIh+aNouS4uuiBmuWQiOaQnOe0ouaooeW8j+aIkOWKn++8gSdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8yJ1xuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+aQnOe0oue6v+eoi+iuvue9ricsXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn5b2T5YmN57q/56iLJyArIHNzeGMgKyAnICAnICsgJ+S9oOi+k+WFpeeahOaYrycgKyBwYXJzZUludChnZXRWYXIoJ2FwcG1zc3hjc2V0JywgJycpKSxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn6K6+572u5pCc57Si57q/56iLJyxcbiAgICAgICAgICAgICAgICB1cmw6IFwiaW5wdXQ6Ly9cIiArICcnICsgXCIvLy8v6K+36L6T5YWl5LiA5Liq5pW05pWw5pWw5a2X77yM5o6o6I2Q5pyA5aSn5LiN6KaB6LaF6L+HMTXjgIIuanM6cHV0VmFyKCdhcHBtc3N4Y3NldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcIixcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMidcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn5L+d5a2Y6K6+572uJyxcbiAgICAgICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBudW0gPSBwYXJzZUludChnZXRWYXIoJ2FwcG1zc3hjc2V0JykpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChudW0gPT0gJ05hTicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/ovpPlhaXnmoTlgLzlpb3lg4/kuI3mraPnoa7jgIInO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZpbGVVcmwgPSBmZXRjaChcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblwiLCB7fSkucmVwbGFjZSgvXFxcInNzY291bnRcXFwiOlxcXCJbXFxTXSpcXFwiLywgJ1xcXCJzc2NvdW50XFxcIjpcXFwiJyArIG51bSArICdcXFwiJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUZpbGUoXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cIiwgZmlsZVVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL3JlZnJlc2hQYWdlKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFjayh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/kv53lrZjorr7nva7mkJzntKLnur/nqIvlrozmiJDvvIEnO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMidcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2V0UmVzdWx0KGQpXG4gICAgICAgIH0pLFxuICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xuICAgIH0pO1xuXG4gICAgaXRlbXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAn6LWE5rqQ572R6YeH6ZuGJyxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9ob21lQOi1hOa6kOe9kemHh+mbhi54eXF8fGh0dHBzOi8vaGFpa3Vvc2hpamllLmNuL3RvcGljLzYwMzMnLFxuICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xuICAgIH0pO1xuICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICB0aXRsZTogJ+mmmeaDheW9seinhicsXG4gICAgICAgIHVybDogJ2hpa2VyOi8vaG9tZUDpppnmg4XlvbHop4Z8fGh0dHBzOi8vbXAud2VpeGluLnFxLmNvbS9zL1hwVUkzRjFuQnZsTmdIWHZZNzF0MGcnLFxuICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xuICAgIH0pO1xuICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICB0aXRsZTogXCLmkJzntKJcIixcbiAgICAgICAgdXJsOiAkLnRvU3RyaW5nKCgpID0+IHtcbiAgICAgICAgICAgIHZhciBsaW5rID0gJ2hpa2VyOi8vZW1wdHkjbm9SZWNvcmRIaXN0b3J5IyQkJCcgKyBpbnB1dCArICckJCRmeXBhZ2UkJCQnO1xuICAgICAgICAgICAgLy9sb2cobGluayk7XG4gICAgICAgICAgICByZXR1cm4gJChsaW5rKS5ydWxlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9zZWFyJywge30pKS5ydWxlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgb25DaGFuZ2U6IFwicHV0VmFyKCd4eXFhcHB5c3RleHQnLGlucHV0KVwiLFxuICAgICAgICB0aXRsZVZpc2libGU6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgZGVzYzogXCLor7fovpPlhaXmkJzntKLlhbPplK7or41cIixcbiAgICAgICAgY29sX3R5cGU6IFwiaW5wdXRcIlxuICAgIH0pO1xuICAgIFxudmFyIHNzeXEgPSBbJ+i1hOa6kOe9kemHh+mbhuaQnEBA6LWE5rqQ572R6YeH6ZuGLnh5cScsJ+mmmeaDheW9seinhuaQnEBA6aaZ5oOF5b2x6KeGJ107XG5pZihzZWxmIT09J0FQUOW9seinhihQKScpe1xuaXRlbXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiBzZWxmKyfmkJwnLFxuICAgICAgICB1cmw6ICQoXCIjbm9Mb2FkaW5nI1wiKS5sYXp5UnVsZShydWxlID0+ICdoaWtlcjovL3NlYXJjaD9zPScrZ2V0VmFyKCd4eXFhcHB5c3RleHQnKSsnJnJ1bGU9JytydWxlLCBzZWxmKSxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcbiAgICB9KTtcbiB9XG5lbHNle1xuZm9yICh2YXIgeXEgaW4gc3N5cSkge1xuICAgIHZhciBraiA9IHNzeXFbeXFdLnNwbGl0KCdAQCcpO1xuICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICB0aXRsZToga2pbMF0sXG4gICAgICAgIHVybDogJChcIiNub0xvYWRpbmcjXCIpLmxhenlSdWxlKHJ1bGUgPT4gJ2hpa2VyOi8vc2VhcmNoP3M9JyArIGdldFZhcigneHlxYXBweXN0ZXh0JykgKyAnJnJ1bGU9JyArIHJ1bGUsIGtqWzFdKSxcbiAgICAgICAgY29sX3R5cGU6IFwiZmxleF9idXR0b25cIlxuICAgIH0pO1xufVxufSAgICBcbml0ZW1zLnB1c2goe1xuICAgICAgICB0aXRsZTogJ+iMtuadr+eLkOaQnCcsXG4gICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSN4I2Z5cGFnZUAtMUAqMjRAI3gjJykucnVsZSgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgcmVzID0ge307XG4gICAgICAgICAgICB2YXIgZCA9IFtdO1xuICAgICAgICAgICAgdmFyIHNwbCA9IE1ZX1VSTC5zcGxpdCgnI3gjJyk7XG4gICAgICAgICAgICAvL3ZhciBsaW4gPSAnaHR0cHM6Ly9hcGkyLmphY2tlcmlzcy5jb20vYXBpL3YxL3NlYXJjaC8/dGV4dD0nICsgc3BsWzFdICsgJyZ0eXBlPTAmZnJvbT0nICsgc3BsWzJdICsgJyZzaXplPTIwJztcbiAgICAgICAgICAgIHZhciBsaW4gPSAnaHR0cHM6Ly9hcGkuamFja2VyaXNzLmNvbS9hcGkvdjEvc2VhcmNoLz90ZXh0PScrZ2V0VmFyKCd4eXFhcHB5c3RleHQnKSsnJnR5cGU9MCZmcm9tPScrc3BsWzFdKycmc2l6ZT0yNCc7XG4gICAgICAgICAgICB2YXIgcG4gPSBzcGxbMV0gLyAyNCArIDE7XG4gICAgICAgICAgICB2YXIgdXJsbyA9IEpTT04ucGFyc2UocmVxdWVzdChsaW4sIHt9KSk7XG4gICAgICAgICAgICB2YXIgdXJsdCA9IEpTT04ucGFyc2UoZmV0Y2gobGluLnJlcGxhY2UoJ3R5cGU9MCcsICd0eXBlPTEnKSwge30pKTtcbiAgICAgICAgICAgIC8vbG9nKHVybG8pO1xuICAgICAgICAgICAgaWYgKHVybG8ucmVzb3VyY2VzLmxlbmd0aCA8IDEmJnVybHQucmVzb3VyY2VzLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+W9k+WJjeWFs+mUruWtlyAgJyArIGdldFZhcigneHlxYXBweXN0ZXh0JykgKyAnICDml6DmkJzntKLnu5PmnpwnLFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodXJsby5yZXNvdXJjZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn4pml5b2T5YmN56ysJyArIHBuICsgJ+mhtScsXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdXJsby5yZXNvdXJjZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gdXJsby5yZXNvdXJjZXNbaV0udGV4dC5yZXBsYWNlKC9cXDwuKj9cXD4vZywgJycpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gdXJsby5yZXNvdXJjZXNbaV0udXJsO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGVzYyA9IHVybG8ucmVzb3VyY2VzW2ldLndlYnNpdGU7XG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUucmVwbGFjZShnZXRWYXIoJ3h5cWFwcHlzdGV4dCcpLCAn4oCc4oCcJyArIGdldFZhcigneHlxYXBweXN0ZXh0JykgKyAn4oCd4oCdJykrJyAgJytkZXNjKycgIOWcqOe6vycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vZGVzYzogJ+WcqOe6v+aQnOe0oue7k+aenCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodXJsdC5yZXNvdXJjZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdXJsdC5yZXNvdXJjZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gdXJsdC5yZXNvdXJjZXNbal0udGV4dC5yZXBsYWNlKC9cXDwuKj9cXD4vZywgJycpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gdXJsdC5yZXNvdXJjZXNbal0udXJsO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGVzYyA9IHVybHQucmVzb3VyY2VzW2pdLndlYnNpdGU7XG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUucmVwbGFjZShnZXRWYXIoJ3h5cWFwcHlzdGV4dCcpLCAn4oCc4oCcJyArIGdldFZhcigneHlxYXBweXN0ZXh0JykgKyAn4oCd4oCdJykrJyAgJytkZXNjKycgIOS4i+i9vScsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vZGVzYzogJ+S4i+i9veaQnOe0oue7k+aenCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzLmRhdGEgPSBkO1xuICAgICAgICAgICAgc2V0UmVzdWx0KHJlcyk7XG4gICAgICAgIH0pLFxuICAgICAgICBjb2xfdHlwZTogXCJmbGV4X2J1dHRvblwiXG4gICAgfSk7XG4gICAgXG4gICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9SZXNDb2RlJywge30pKS5ydWxlKTtcblxuICAgIHZhciBjb250cyA9IGh0bWwuZGF0YTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBsaXN0ID0gY29udHNbaV0ubGlzdDtcbiAgICAgICAgdmFyIHR5dGl0ID0gY29udHNbaV0udGl0bGU7XG4gICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHR5dGl0ICsgJyAnICsgW2xpc3QubGVuZ3RoXSxcbiAgICAgICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChyYW5kb20pIHtcbiAgICAgICAgICAgIGxldCBrID0gZ2V0VmFyKE1ZX1JVTEUudGl0bGUgKyBcIi1cIiArIHR5dGl0LCBcIlwiKTtcbiAgICAgICAgICAgIGlmIChrID09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICBsaXN0ID0gcmFuZG9tU29ydDMobGlzdClcbiAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSArIFwiLVwiICsgdHl0aXQsIEpTT04uc3RyaW5naWZ5KGxpc3QpKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsaXN0ID0gSlNPTi5wYXJzZShrKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtqXS50aXRsZTtcbiAgICAgICAgICAgIHZhciB0dXJsID0gbGlzdFtqXS51cmw7XG4gICAgICAgICAgICBpZiAoL1RW5b2x6KeGLy50ZXN0KHR5dGl0KSkge1xuICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaGlrZXI6Ly9lbXB0eSQkJyArIHR5dGl0ICsgJyQkJyArIHR1cmwgKyAnJCQ/YWM9bGlzdCZjbGFzcz0mcGFnZT1meXBhZ2UmYXJlYT0mdHlwZT0mc3RhcnQ9JCQnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgvQVBQ5b2x6KeGLy50ZXN0KHR5dGl0KSkge1xuICAgICAgICAgICAgICAgIGlmICh0dXJsLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaGlrZXI6Ly9lbXB0eSQkJyArIHR5dGl0ICsgJyQkJyArIHR1cmwgKyAnJCRpbmRleF92aWRlbz90b2tlbj0kJCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0dXJsLmluZGV4T2YoJ3hnYXBwLnBocC92MS8nKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gJ2hpa2VyOi8vZW1wdHkkJCcgKyB0eXRpdCArICckJCcgKyB0dXJsICsgJyQkaW5kZXhfdmlkZW8/dG9rZW49JCQnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaGlrZXI6Ly9lbXB0eSQkJyArIHR5dGl0ICsgJyQkJyArIHR1cmwgKyAnJCQvdm9kUGhiQWxsJCQnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMydcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNldFJlc3VsdCh7XG4gICAgICAgIGRhdGE6IGl0ZW1zXG4gICAgfSk7XG59Iiwic2VhcmNoX3VybCI6Imhpa2VyOi8vZW1wdHkkJCQqKiQkJGZ5cGFnZSQkJCIsImdyb3VwIjoi4pGh5b2x5pCcIiwic2VhcmNoRmluZCI6ImpzOlxuY29uc3QgY2FuVXNlID0gJC5yZXF1aXJlKFwiaGlrZXI6Ly9wYWdlL3dhaXRcIik7XG5pZiAoY2FuVXNlKSB7XG4gICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2Uvc2VhcicsIHt9KSkucnVsZSk7XG59IiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiJqczpcbnZhciByZXMgPSB7fTtcbnZhciBpdGVtcyA9IFtdO1xudmFyIHR5cGV0ID0gTVlfVVJMLnNwbGl0KCckJCcpWzFdO1xudmFyIG11cmwgPSBNWV9VUkwuc3BsaXQoJyQkJylbMl07XG52YXIgdHVybCA9IG11cmwgKyBNWV9VUkwuc3BsaXQoJyQkJylbM107XG5cbmlmICgvVFblvbHop4YvLnRlc3QodHlwZXQpKSB7XG4gICAgdmFyIHBnID0gTVlfVVJMLm1hdGNoKC9wYWdlXFw9KFtcXGRdKikvKVsxXTtcbiAgICBpZiAocGcgPT0gMSkge1xuICAgICAgICB2YXIgdHlwdCA9ICgn55S15b2xJui/nue7reWJpybnu7zoibom5Yqo5ryrJykuc3BsaXQoJyYnKTtcbiAgICAgICAgdmFyIHR5cGwgPSAoJ21vdmllJnR2cGxheSZ0dnNob3cmY29taWMnKS5zcGxpdCgnJicpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHlwdC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIHR5dXJsID0gbXVybCArICc/YWM9bGlzdCZjbGFzcz0nICsgdHlwbFtpXSArICcmcGFnZT1meXBhZ2UmYXJlYT0mdHlwZT0mc3RhcnQ9JztcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0eXB0W2ldLFxuICAgICAgICAgICAgICAgIHVybDogJCh0eXVybCkucnVsZSgobXVybCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzID0ge307XG4gICAgICAgICAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbXVybCA9IG11cmw7XG4gICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShnZXRSZXNDb2RlKCkpO1xuICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS90dmxpc3RkYXRhJywge30pKS5ydWxlKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcbiAgICAgICAgICAgICAgICAgICAgc2V0SG9tZVJlc3VsdChyZXMpO1xuICAgICAgICAgICAgICAgIH0sIG11cmwpLFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgY29sX3R5cGU6ICdsaW5lJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoZmV0Y2godHVybCkpO1xuICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS90dmxpc3RkYXRhJywge30pKS5ydWxlKTtcbiAgICB9IGNhdGNoIChlKSB7fVxufSBlbHNlIGlmICgvQVBQ5b2x6KeGLy50ZXN0KHR5cGV0KSkge1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAobXVybC5zZWFyY2goL2FwaS5waHBcXC9hcHAvKSAhPSAtMSkge1xuXG4gICAgICAgICAgICAgICAgdmFyIHR5cGNvZGUgPSByZXF1ZXN0KG11cmwgKyBcIm5hdj90b2tlbj1cIix7aGVhZGVyczp7XCJVc2VyLUFnZW50XCI6XCJEYXJ0LzIuMTMgKGRhcnQ6aW8pXCJ9fSk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGNvZGUuaW5kZXhPZign5qOA5rWL5LitJykgIT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwY29kZSA9IGZldGNoKG11cmwgKyBcIm5hdj90b2tlbj1cIiArICcmYnR3YWYnICsgdHlwY29kZS5tYXRjaCgvYnR3YWYoLio/KVxcXCIvKVsxXSwge30pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgdHlwZWMgPSBKU09OLnBhcnNlKHR5cGNvZGUpLmxpc3Q7XG5cbiAgICAgICAgICAgIH0gZWxzZSBpZiAobXVybC5zZWFyY2goL3hnYXBwLnBocFxcL3YxLykgIT0gLTEpIHtcblxuICAgICAgICAgICAgICAgIHZhciB0eXBjb2RlID0gcmVxdWVzdChtdXJsICsgXCJuYXY/dG9rZW49XCIse2hlYWRlcnM6e1wiVXNlci1BZ2VudFwiOlwiRGFydC8yLjEzIChkYXJ0OmlvKVwifX0pO1xuICAgICAgICAgICAgICAgIGlmICh0eXBjb2RlLmluZGV4T2YoJ+ajgOa1i+S4rScpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGNvZGUgPSBmZXRjaChtdXJsICsgXCJuYXY/dG9rZW49XCIgKyAnJmJ0d2FmJyArIHR5cGNvZGUubWF0Y2goL2J0d2FmKC4qPylcXFwiLylbMV0sIHt9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIHR5cGVjID0gSlNPTi5wYXJzZSh0eXBjb2RlKS5kYXRhO1xuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciB0eXBjb2RlID0gcmVxdWVzdChtdXJsICsgXCIvdHlwZXNcIix7aGVhZGVyczp7XCJVc2VyLUFnZW50XCI6XCJEYXJ0LzIuMTMgKGRhcnQ6aW8pXCJ9fSk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGNvZGUuaW5kZXhPZign5qOA5rWL5LitJykgIT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwY29kZSA9IGZldGNoKG11cmwgKyBcIi90eXBlc1wiICsgJz9idHdhZicgKyB0eXBjb2RlLm1hdGNoKC9idHdhZiguKj8pXFxcIi8pWzFdLCB7fSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciB0eXBlYyA9IEpTT04ucGFyc2UodHlwY29kZSkuZGF0YS5saXN0O1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgdHlwZXQgPSBcIlwiLFxuICAgICAgICAgICAgICAgIHR5cGVsID0gXCJcIjtcbiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdHlwZWMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICB0eXBldCArPSB0eXBlY1tqXS50eXBlX25hbWU7XG4gICAgICAgICAgICAgICAgdHlwZWwgKz0gdHlwZWNbal0udHlwZV9pZDtcbiAgICAgICAgICAgICAgICBpZiAoaiA8IHR5cGVjLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZXQgKz0gXCImXCI7XG4gICAgICAgICAgICAgICAgICAgIHR5cGVsICs9IFwiJlwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciB0eXB0ID0gdHlwZXQuc3BsaXQoJyYnKTtcbiAgICAgICAgICAgIHZhciB0eXBsID0gdHlwZWwuc3BsaXQoJyYnKTtcblxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0eXB0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKG11cmwuaW5kZXhPZignYXBpLnBocC9hcHAvJykgIT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHR5dXJsID0gbXVybCArICd2aWRlbz9wZz1meXBhZ2UmdGlkPScgKyB0eXBsW2ldICsgJyZjbGFzcz0mYXJlYT0mbGFuZz0meWVhcj0mdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtdXJsLmluZGV4T2YoJ3hnYXBwLnBocC92MS8nKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdHl1cmwgPSBtdXJsICsgJ3ZpZGVvP3BnPWZ5cGFnZSZ0aWQ9JyArIHR5cGxbaV0gKyAnJmNsYXNzPSZhcmVhPSZsYW5nPSZ5ZWFyPTtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjEzIChkYXJ0OmlvKX0nO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0eXVybCA9IG11cmwgKyAnP3R5cGU9JyArIHR5cGxbaV0gKyAnJmNsYXNzPSZsYW5nPSZhcmVhPSZ5ZWFyPSZieT0mcGFnZT1meXBhZ2UmbGltaXQ9OTtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjEzIChkYXJ0OmlvKX0nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogdHlwdFtpXSxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHR5dXJsKS5ydWxlKChtdXJsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtdXJsID0gbXVybDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXNjb2RlID0gZ2V0UmVzQ29kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc2NvZGUuaW5kZXhPZign5qOA5rWL5LitJykgIT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNjb2RlID0gZmV0Y2goTVlfVVJMICsgJyZidHdhZicgKyByZXNjb2RlLm1hdGNoKC9idHdhZiguKj8pXFxcIi8pWzFdLCB7fSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UocmVzY29kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9hcHBsaXN0ZGF0YScsIHt9KSkucnVsZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhID0gaXRlbXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIH0sIG11cmwpLFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2xpbmUnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICBcblxuICAgIHRyeSB7XG4gICAgICAgIHZhciBodG1sID0gcmVxdWVzdCh0dXJsLHtoZWFkZXJzOntcIlVzZXItQWdlbnRcIjpcIkRhcnQvMi4xMyAoZGFydDppbylcIn19KTtcbiAgICAgICAgaWYgKGh0bWwuaW5kZXhPZign5qOA5rWL5LitJykgIT0gLTEpIHtcbiAgICAgICAgICAgIGh0bWwgPSBmZXRjaCh0dXJsICsgJyZidHdhZicgKyBodG1sLm1hdGNoKC9idHdhZiguKj8pXFxcIi8pWzFdLCB7fSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGh0bWwpO1xuICAgICAgICAvL2xvZyhodG1sKTtcbiAgICAgICAgLy9pZiAobXVybC5pbmRleE9mKCd4Z2FwcC5waHAvdjEvJykgIT0gLTEpIHtcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvYXBwaW5kZXhkYXRhJywge30pKS5ydWxlKTtcbiAgICAgICAgLy99IGVsc2Uge1xuICAgICAgICAvL2xvZyhodG1sKTtcbiAgICAgICAgLy9ldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9hcHBsaXN0ZGF0YScsIHt9KSkucnVsZSk7XG4gICAgICAgIC8vfVxuICAgIH0gY2F0Y2ggKGUpIHt9XG5cbn1cblxucmVzLmRhdGEgPSBpdGVtcztcbnNldEhvbWVSZXN1bHQocmVzKTsiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoiaWYoIWZpbGVFeGlzdCgnaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uJykpe1xudmFyIHNldD1ge1wic3Ntb2RlXCI6XCIwXCIsXCJzc2NvdW50XCI6XCI1XCJ9YDtcbndyaXRlRmlsZShcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblwiLHNldCk7ICBcbiB9IiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkpTT07mjqXlj6PmlbDmja5cIixcInBhdGhcIjpcIlJlc0NvZGVcIixcInJ1bGVcIjpcIntcXG4gICAgXFxcImRhdGFcXFwiOltcXG4gICAgICAgIHtcXG4gICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIkFQUOW9seinhlxcXCIsXFxuICAgICAgICBcXFwibGlzdFxcXCI6W1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCIwMDflvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3d3dy4wMDd0cy5jYy9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/pm7bpm7bkuIPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIjU1NeeUteW9sVxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly93N3R2LmNvbS9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi81NTXnlLXlvbEucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIjUwNjDlvbHpmaJcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL2FwcC5saW56aGl5dWFuLnh5ei94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vNTA2MOW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwiOTEzReW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly93d3cuOTEzZS5uZXQvYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vOTEzReW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwiQkTnlLXlvbFcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3d3dy5iZGR5c2Yub3JnL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL0JE55S15b2xLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCJDT0tFTVZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL2Nva2Vtdi5tZS94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vQ09LRU1WLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmkq3mlL7lkYBcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3d3dy5ib2Zhbmd5YS5jb20veGdhcHAucGhwL3YxL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aSreaUvuWRgC5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi55WF6KeG5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL2FwcC5yZWJvanUubmV0L2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eVheinhuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi6L+q6L+q5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL2RkODguaWN1OjYwODAvYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6L+q6L+q5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlmIDlk6nlmIDlk6lcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL2RpbGlrdHYueHl6L3hnYXBwLnBocC92MS9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lmIDlk6nlmIDlk6kucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuavkuiIjOeUteW9sVxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vd3d3LmR1c2hlNTIwLmNvbS9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mr5LoiIznlLXlvbEucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWkp+W4iOWFhFxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vaG91Lmx1L2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+Wkp+W4iOWFhOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5q615Y+L5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9sYi41Mjc3cy5jb20vYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5q615Y+L5b2x6KeGwqkucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIueTnOearlRWXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3d3dy5kaWppYXhpYS5jb20veGdhcHAucGhwL3YxL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eTnOearlRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmtbfog4blvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8veGYxMjMuY2MvYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5rW36IOG5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmtbfnu7XlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vYXBwMS55dXpob3V5cy5jb20vYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5rW357u15b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLkuqzlub/oiKpcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3d3dy5qaW5nZ3VhbmdoYW5nLmNvbS9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuqzlub/oiKrlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuS5neWQiOinhumikVxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vcHR5Z3guY29tL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+S5neWQiOinhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5rGf5rmW5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL2FwcC5qaGR5dy52aXA6MTIzNC9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/msZ/muZblvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuS5heS5neW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vYXBpLjU4cXhrLmNuL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+S5heS5neW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi6JOd5p6c5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3d3dy5sYW5ndW90di5jb20veGdhcHAucGhwL3YxL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+iTneaenOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi55Cz55CF5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly93d3cudTIzYy5jb20vYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55Cz55CF5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmnoHkuZDpmIFcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3ZpcC53dXFjbXMuY29tL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aegeS5kOmYgS5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi6JCM6JuL6JuLXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL2FwcC5tZW5nZGFuZGFuLmNvbS94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6JCM6JuL6JuLLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmsKLop4bpopFcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vaDEwODBwLmNvbS9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/msKLop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuaAneWPpOW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vYXBwLnNpZ3V5eS5jb20veGdhcHAucGhwL3YxL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aAneWPpOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi57OW5p6c5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly93d3cudGd5cy50di9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ns5bmnpzlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuaxoeWmluWKqOa8q1xcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vd3d3Lnd5eWRtLmNvbS9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/msaHlppbliqjmvKsucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWwj+aYk+W9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8veHkuaXJvcC5jbi9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lsI/mmJPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuW9seinhuW3peWculxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vd3d3LmlrNC5jYy9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lvbHop4blt6XlnLoucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIui/veWJp+i+vuS6ulxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly92aXBtdi50di94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6L+95Ymn6L6+5Lq6LnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9XFxuICAgICAgICBdXFxuICAgICAgICB9LFxcbiAgICAgICAge1xcbiAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwiQVBQ5b2x6KeGKHYxKVxcXCIsXFxuICAgICAgICBcXFwibGlzdFxcXCI6W1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCI1NTVUVlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9neGhzaHl5LmNvbS9hcGkucGhwL2djdHZhcGkudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vNTU1VFYucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIjgw5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3d3dy5jY2M4Lm5ldC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uLzgw5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCI4MEvlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovLzEwODBwLnR2L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vODBL5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCJDSlTlvbHpmaJcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3d3dy5janQ1MjEuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vQ0pU5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCJGVUZVXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9mdWZ1Lml4aGR1dGEuY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi9GVUZV5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCJIR+W9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9jcy5oZ3l4LnZpcC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL0hH5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCJWSVDlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vd3d3LnNwLm9vby9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL1ZJUOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi54ix5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly93d3cuaHpsZmYuY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/niLHlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIueZveiPnOi/veWJp1xcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9sYmFwcC5odWltYW9qaWEuY29tOjMwMTE5L21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55m96I+c6L+95YmnLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLnlYXkvJjop4bnlYxcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vYXBwLjUxOGltby5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eVheS8mOinhueVjC5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5Yid5b+D5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly93d3cuMThtdi5jbHViL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Yid5b+D5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlpJrlpJrlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3NwLjlhZW5nLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WkmuWkmuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5aSn5rW35b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovLzExOS4yOS42My4xMzcvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lpKfmtbflvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWkp+eGiui/veWJp1xcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly93d3cuZHh6ajg4LmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+Wkp+eGiui/veWJpy5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5q615Y+L5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9pc2hhbmd3by50b3AvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mrrXlj4vlvbHop4YxLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLonbbkvJflvbHpmaJcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vYXBwLmRpZXp6Lm5ldC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+idtuS8l+W9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi6aOe5o235b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly93d3cuZmo2MDgwLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mjnuaNt+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5L2b57O76L+95YmnXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL2ZveGkua2swNi50b3AvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kvZvns7vov73liacucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWFrOS4u+W9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9tbS50Y3NkY2hpbmEuY29tOjYwOTYvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lhazkuLvlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIui+ieWTpeW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vYXBwLnkuaGd5dWxlOC5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ovonlk6XlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIum7hOays+W9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9pLmxlZHU4LmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6buE5rKz5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlk4jlsLzop4bpopFcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vd3d3LnZpZGVvdmlwcy50b3AvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lk4jlsLzop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuaxh+iBmuW6k1RWXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly93d3cuenpjbG92ZTY2Ni5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/msYfogZrlupNUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5ZOI55qu5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly8wNzQ1eXkuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5ZOI55qu5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmoLjmoYPlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vYXBwLmhldGFveXMudmlwL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5qC45qGD5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLnuqLlhZTop4bpopFcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3d3dy5ob3RvNC5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nuqLlhZTop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuebkuWtkOW9semZolxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9pLm5paGFvaGV6aS5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nm5LlrZDlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIueti+aWl+S6kVxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vdHYuamluZGNsb3VkLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eti+aWl+S6keW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5p6B566A5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly90di5hcmVvbmUudG9wL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5p6B566A5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlv6vmkq3lkKdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vd3d3LmhkOC5wdy9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+W/q+aSreWQpy5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5p6X6LC35b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3hnLmxnenk4LmNuOjg2L21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5p6X6LC35b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmh5LnjKvnlLXlvbFcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vMDA3Lmxhbm1hb2R5LmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aHkueMq+eUteW9sS5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi6JOd6bK46KeG55WMXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9hcHBzLnZkNS5jYy9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+iTnemyuOinhueVjC5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi57u/566t5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3d3dy42OXR5LmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v57u/566t5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLkuZDnnIvop4bpopFcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vd3d3LmxrYW4udmlwL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LmQ55yL6KeG6aKRLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlhrfop4ZUVlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vbGVuLnR2L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Ya36KeGVFYucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuacqOeZveW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly92YXBwLjIzYXQuY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mnKjnmb3lvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIum6u+eTnOinhumikVxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9teWFwcC5tYWd1YXlzLmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6bq755Oc6KeG6aKRLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLpurvohb5UVlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vd3d3Lm1hdGVuZ3R2LnRvcC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+m6u+iFvlRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLllrXkuZDlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vbWlhb2xleXMuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Za15LmQ5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLllrXlvbHlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vd3d3Lm14bWJrLnh5ei9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WWteW9seW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5pyo5a2Q55S15b2xXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3d3dy5tdXppZHkudG9wL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5pyo5a2Q55S15b2xLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLpurvlrZDov73liadcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vYXBwLjJtYXouY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/purvlrZDov73liacucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWNl+W6nOi/veWJp1xcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9hcHAueGt2aWRlby5kZXNpZ24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ljZflupzov73liacucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuaaluWFieW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vYXBwLmJsMjEwLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aaluWFieW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi576O5Ymn6JmrXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9tZWlqdWNob25nLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+e+juWJp+iZqy5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5YaF5ra15b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3YubmhkeXlzLmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5YaF5ra15b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmn6DmqqzlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3R2LjEzbm0uY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5p+g5qqs5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlpYfotqPlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL2FwcC5xaXF1Lm1lL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aWH6Laj5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLpqpHlo6vlvbHpmaJcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL2FwcC5xaXNoaS54eXovYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/pqpHlo6vlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuelnumprOW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly94aW4uampzdmlwLmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v56We6ams5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLop4blkKzmmJ/nkINcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vemp5YXBpanp5cy5zaHlud2xrai5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/op4blkKzmmJ/nkIMucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuaJi+aMh+W9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9zenlzMzM1NS5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/miYvmjIflvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIua3mOWJp+ekvlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9hcHAuc2h1aGFpOTkuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5reY5Ymn56S+LnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlpKnlpKnlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vYXBwLmF0MDA4LmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSp5aSp5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlpKnlpKnlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwczovL3d3dy50aWFudGlhbnlzOC5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lpKnlpKnlvbHop4YxLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlm6LlpJXlvbHpmaJcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vMTE5LjI5LjEyMS40OC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WbouWkleW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5YWU5a2Q56qdXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL2NqLmh1aW1hb2ppYS5jb206MTIzNDUvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lhZTlrZDnqp0ucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuaIkeeIseeUteW9sVxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9hcHAuNWltdi5jYy9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aIkeeIseeUteW9sS5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5oiR54ix6Lef5YmnXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3d3dy41Mmdlbi5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/miJHniLHot5/liacucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWQvueIseW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9hcHAuNWxwLm5ldC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WQvueIseW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi6JyX54mb55yL6bitXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL21vdmllLndva2V3dS5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+icl+eJm+eci+m4rS5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5b2x6ZiF6ZiBXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovLzIyMS4yMzYuMTguMTI6NjY1L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5b2x6ZiF6ZiBLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlv5jlv6fmnpxUVlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vYXguanguY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lv5jlv6fmnpxUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5bCP5Z+O5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly93d3cuMjY5dy5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lsI/ln47lvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWFiOmUi+inhumikVxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vNTh4dHYubmV0L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5YWI6ZSL6KeG6aKRLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlsI/mnoHlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vYXBpLnhpYW95c3cuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5bCP5p6B5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmmJ/nqbrlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8veGlvbmdrb25nd3guY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mmJ/nqbrlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWwj+icu+ick1xcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly8za2V0di5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lsI/onLvonJPop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuS8kemXsuW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly90di43OHR2LmNjL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LyR6Zey5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmmJ/lvbHnm7jpmo9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vYXBwLnJvb3R0aHJlZS50b3AvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mmJ/lvbHnm7jpmo8ucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWwj+aYk+W9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly94eS5pcm9wLmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5bCP5piT5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLnm4rovr7lvbHpmaJcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vbHVvYnUueXNzNjA4MC5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nm4rovr7lvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWFg+iKs+W9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly95ZnlzMTEyMi5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lhYPoirPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIumbqOaenOW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly95Z2FwcC54Y3lzNjMuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6Zuo5p6c5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLpopblrrblvbHpmaJcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vemx5LnhqcXh6LnRvcC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+miluWutuW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5LyY5YWo5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9hcHAueG15dW4ueHl6L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LyY5YWo5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlvbHop4bng63liadcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vbGIuMjZ5cy5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+W9seinhueDreWJpy5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5p2o5qGD5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3l0eXMxMTIyLmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+adqOahg+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5pyI6Imy5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovLzY5dHkuY2MvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mnIjoibLlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuS8mOeCq+W9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly95dW50di5peXh0di5jbi9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+S8mOeCq+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5LyY5LyY5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3hzLjc4dHYuY2MvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kvJjkvJjlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIua4lOa4lOW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly94Yy40NWguY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/muJTmuJTlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuS4gOWPqumxvFxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly93d3cuYmQtNGsubWwvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuIDlj6rpsbzlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIui/veeVqueMq1xcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9kbS40OTZkeS5jbjo4OC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+i/veeVqueMqy5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi6L+95Ymn5ZCnXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3podWlqdWJhLnZpcC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+i/veWJp+WQp+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5a6F55S35b2x6ZmiXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3d3dy5zZXh5eS50b3AvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lroXnlLflvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWuheeUt+W9semZolxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHBzOi8vd3d3LnpueXk2NjYudG9wL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5a6F55S35b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLkvqbmjqLlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8veXMuaHVhbmdndWF5LmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+S+puaOouW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi6L+95b2x5YWUXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL2xvbmd3Lnh5ejo5MS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+i/veW9seWFlC5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi54yq54yq5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL2FwcC4yemR5eS5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/njKrnjKrlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIF1cXG4gICAgICAgIH0sXFxuICAgICAgICB7XFxuICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCJUVuW9seinhlxcXCIsXFxuICAgICAgICBcXFwibGlzdFxcXCI6W1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCIy5Y+35biBXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3Bob2ViZS5jZi9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uLzLlj7fluIHlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5bCY5qKTVFZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vMTM5LjE1NS4xNzcuMjEzL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5bCY5qKTVFYucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi56i76I2J5Lq6VFZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vd3d3LnpoYWlrYW55cy54eXovYXBpLnBocC9pcHR2MS92b2QvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v56i76I2J5Lq6VFYucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5ZiA5ZOp5ZiA5ZOpXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9hcGkuZGlsaWt0di54eXovYXBpLnBocC9DaGVuZ2NoZW5nL3ZvZC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lmIDlk6nlmIDlk6lUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlpKfluIjlhYRcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vZHN4dHYudHYuY2kvYXBpLnBocC9kc3gvdm9kL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+Wkp+W4iOWFhOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLpu5HpvpnlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vdmlwLmppLWRpbmctaGUuc2l0ZS9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+m7kem+meW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLmoLjmoYPlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vdHYuaGV0YW95cy52aXAvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/moLjmoYPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi6IGa5aSa5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL2pkeXkuY2h4am9uLmNuL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6IGa5aSa5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuS5heS5heW9semZolxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9sbS4wODE4dHYuY29tL212L2FwaS5waHAvQ2hlbmdjaGVuZy92b2QvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LmF5LmF5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIua1geaYn+mbqFxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly9zeXkubHh5eXkueHl6L212L2FwaS5waHAvQ2hlbmdjaGVuZy92b2QvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5rWB5pif6Zuo5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuWGt+aciFRWXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly90di41MjF4NS5jb20vYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJpbWdcXFwiOlxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lhrfmnIhUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJtdXJsXFxcIjpcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOlxcXCLlj4zlrZDmmJ9cXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vdHYuZGl5b3VpLmNjL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Y+M5a2Q5pifLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuS6keaSreW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6XFxcImh0dHA6Ly95dW5iby5ieGluLnR2L2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LqR5pKt5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6XFxcIuW9semFt1RWXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjpcXFwiaHR0cDovL3p5LnB4dW4udG9wL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICBcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5b2x6YW3VFYucG5nXFxcIixcXG4gICAgICAgICAgICBcXFwibXVybFxcXCI6XFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjpcXFwi5bCP5p6BVFZcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOlxcXCJodHRwOi8vYXBpLjhkOHEuY29tL21tdi9hcGkucGhwL0NoZW5nY2hlbmcvdm9kL1xcXCIsXFxuICAgICAgICAgICAgXFxcImltZ1xcXCI6XFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+Wwj+aegVRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgXFxcIm11cmxcXFwiOlxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIF1cXG4gICAgICAgIH1cXG4gICAgXVxcbiAgICB9XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmkJzntKJcIixcInBhdGhcIjpcInNlYXJcIixcInJ1bGVcIjpcInZhciByZXMgPSB7fTtcXG52YXIgaXRlbXMgPSBbXTtcXG4vL+iuvue9ruaQnOe0oue6v+eoi1xcbnZhciBzc21vZGUgPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb24nLCB7fSkpLnNzbW9kZTtcXG52YXIga2V5ID0gTVlfVVJMLnNwbGl0KCckJCQnKVsxXTtcXG4vL3NldEVycm9yKGxlKTtcXG5pZiAoc3Ntb2RlID09ICcwJykge1xcbiAgICBzZXRQYWdlVGl0bGUoa2V5ICsgJyDnmoTmkJzntKLnu5PmnpwnKVxcbn07XFxudmFyIGh0bWwgPSBKU09OLnBhcnNlKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9SZXNDb2RlJywge30pKS5ydWxlKTtcXG52YXIgZGxpc3QgPSBodG1sLmRhdGE7XFxuXFxuZnVuY3Rpb24gcmFuZG9tU29ydDMoYXJyKSB7XFxuICAgIGFyci5zb3J0KGZ1bmN0aW9uKGEsIGIpIHtcXG4gICAgICAgIHJldHVybiBNYXRoLnJhbmRvbSgpIC0gMC41O1xcbiAgICB9KTtcXG4gICAgcmV0dXJuIGFycjtcXG59XFxuXFxuLy/miZPkubHpobrluo9cXG52YXIgcmFuZG9tID0gdHJ1ZTtcXG5cXG5mb3IgKHZhciBpID0gMDsgaSA8IGRsaXN0Lmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciBsaXN0ID0gZGxpc3RbaV0ubGlzdDtcXG4gICAgdmFyIHR5dGl0ID0gZGxpc3RbaV0udGl0bGVcXG4gICAgaWYgKHJhbmRvbSkge1xcbiAgICAgICAgbGV0IGsgPSBnZXRWYXIoTVlfUlVMRS50aXRsZSArIFxcXCItXFxcIiArIHR5dGl0LCBcXFwiXFxcIik7XFxuICAgICAgICBpZiAoayA9PSBcXFwiXFxcIikge1xcbiAgICAgICAgICAgIGxpc3QgPSByYW5kb21Tb3J0MyhsaXN0KVxcbiAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnRpdGxlICsgXFxcIi1cXFwiICsgdHl0aXQsIEpTT04uc3RyaW5naWZ5KGxpc3QpKVxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBsaXN0ID0gSlNPTi5wYXJzZShrKVxcbiAgICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChzc21vZGUgPT0gJzAnKSB7XFxuICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogTVlfVFlQRSA9PSBcXFwiaG9tZVxcXCIgPyBkbGlzdFtpXS50aXRsZSArIFxcXCIg6YCJ5oup5LiA5Liq6aG555uu5p+l55yLIOKAnOKAnFxcXCIgKyBrZXkgKyBcXFwi4oCd4oCdIOeahOaQnOe0oue7k+aenFxcXCIgOiBkbGlzdFtpXS50aXRsZSArIFxcXCIg6YCJ5oup5LiA5Liq6aG555uu5p+l55yLIFxcXCIgKyBrZXkgKyBcXFwiIOeahOaQnOe0oue7k+aenFxcXCIsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgICAgICB9KTtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xcbiAgICAgICAgICAgIHZhciBsaW5rID0gbGlzdFtqXS51cmw7XFxuXFxuICAgICAgICAgICAgaWYgKC9BUFDlvbHop4YvLnRlc3QodHl0aXQpKSB7XFxuICAgICAgICAgICAgICAgIGlmIChsaW5rLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJ3NlYXJjaD9wZz1meXBhZ2UmdGV4dD0nICsga2V5ICsgJyZ0b2tlbj0nO1xcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxpbmsuaW5kZXhPZigneGdhcHAucGhwL3YxLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJ3NlYXJjaD9wZz1meXBhZ2UmdGV4dD0nICsga2V5O1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICc/cGFnZT1meXBhZ2UmbGltaXQ9MTAmd2Q9JyArIGtleTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoL1RW5b2x6KeGLy50ZXN0KHR5dGl0KSkge1xcbiAgICAgICAgICAgICAgICBpZiAoLzE5anh8MjkzeXN8emhhaWthbnlzfGppXFxcXC1kaW5nXFxcXC1oZXxwaG9lYmV8eXVuYm9cXFxcLmJ4aW58bGFucmVudGt8aGV0YW95c3w4ZDhxfGx4eXl5fHB4dW58MTM5XFxcXC4xNTUvLnRlc3QobGluaykpIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnP2FjPWxpc3Qmem09JyArIGtleSArICcmcGFnZT1meXBhZ2UnO1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICc/YWM9bGlzdCZ3ZD0nICsga2V5ICsgJyZwYWdlPWZ5cGFnZSc7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBsaXN0W2pdLnRpdGxlLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkjeCMnICsgaG11cmwgKyAnI3gjJyArIGxpbmsgKyAnI3gjJyArIHR5dGl0ICsgJyN4IycgKyBrZXkgKyAnI3gjJykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9zZWFyZXJqJywge30pKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8zJ1xcbiAgICAgICAgICAgICAgICAvL2xpbms6bGluayxcXG4gICAgICAgICAgICAgICAgLy90eXBlOiBpXFxuICAgICAgICAgICAgfSk7XFxuXFxuICAgICAgICB9IC8vZm9yIGpcXG5cXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBNWV9UWVBFID09IFxcXCJob21lXFxcIiA/IFxcXCLngrnlh7vmn6XnnIsgXFxcIit0eXRpdCtcXFwiIOWIhuexuyDigJzigJxcXFwiICsga2V5ICsgXFxcIuKAneKAnSDnmoTmkJzntKLnu5PmnpxcXFwiIDogXFxcIueCueWHu+afpeeciyBcXFwiK3R5dGl0K1xcXCIg5YiG57G7IFxcXCIgKyBrZXkgKyBcXFwiIOeahOaQnOe0oue7k+aenFxcXCIsXFxuICAgICAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5JCQkJyArIGtleSArICckJCRmeXBhZ2UkJCQnKS5ydWxlKChsaXN0LCB0eXRpdCkgPT4ge1xcbiAgICAgICAgICAgICAgICB2YXIgcmVzID0ge307XFxuICAgICAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xcbiAgICAgICAgICAgICAgICAvL+WPluaQnOe0oue6v+eoi+iuvue9rlxcbiAgICAgICAgICAgICAgICB2YXIgc3N4YyA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSkuc3Njb3VudDtcXG4gICAgICAgICAgICAgICAgLy/orr7nva7otoXml7bml7bpl7TvvIzotorlsI/otorlv6vvvIzljZXkvY3mr6vnp5JcXG4gICAgICAgICAgICAgICAgLy92YXIgdGltZW91ID0gNTAwMDtcXG4gICAgICAgICAgICAgICAgdmFyIGtleSA9IE1ZX1VSTC5zcGxpdCgnJCQkJylbMV07XFxuICAgICAgICAgICAgICAgIHZhciBudW0gPSBNWV9VUkwuc3BsaXQoJyQkJCcpWzJdO1xcbiAgICAgICAgICAgICAgICB2YXIgbGUgPSBwYXJzZUludChudW0gKiBzc3hjKTtcXG4gICAgICAgICAgICAgICAgdmFyIERhdGEgPSBbXTtcXG4gICAgICAgICAgICAgICAgdmFyIFRpdCA9IFtdO1xcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gbGUgLSBzc3hjOyBqIDwgbGU7IGorKykge1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKGogPCBsaXN0Lmxlbmd0aCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaW5rID0gbGlzdFtqXS51cmw7XFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9BUFDlvbHop4YvLnRlc3QodHl0aXQpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJ3NlYXJjaD9wZz0xJnRleHQ9JyArIGtleSArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChsaW5rLmluZGV4T2YoJ3hnYXBwLnBocC92MS8nKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICdzZWFyY2g/cGc9MSZ0ZXh0PScgKyBrZXk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJz9wYWdlPTEmbGltaXQ9MTAmd2Q9JyArIGtleTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1RW5b2x6KeGLy50ZXN0KHR5dGl0KSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoLzE5anh8MjkzeXN8emhhaWthbnlzfGppXFxcXC1kaW5nXFxcXC1oZXxwaG9lYmV8eXVuYm9cXFxcLmJ4aW58bGFucmVudGt8aGV0YW95c3w4ZDhxfGx4eXl5fHB4dW58MTM5XFxcXC4xNTUvLnRlc3QobGluaykpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnP2FjPWxpc3Qmem09JyArIGtleSArICcmcGFnZT0xJztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnP2FjPWxpc3Qmd2Q9JyArIGtleSArICcmcGFnZT0xJztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAvL0RhdGEucHVzaCh7dXJsOiBobXVybCxvcHRpb25zOiB7aGVhZGVyczoge1xcXCJVc2VyLUFnZW50XFxcIjogXFxcIkRhcnQvMi4xMyAoZGFydDppbylcXFwifSx0aW1lb3V0OiB0aW1lb3V9fSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgRGF0YS5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBobXVybCxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogXFxcIkRhcnQvMi4xMyAoZGFydDppbylcXFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBUaXQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdDogbGlzdFtqXS50aXRsZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluazogbGluayxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwbm06IHR5dGl0XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICB9IC8vaWZcXG4gICAgICAgICAgICAgICAgfSAvL2ZvciBqXFxuXFxuICAgICAgICAgICAgICAgIC8vLS0t5Luj56CB5YiG55WM57q/LS0tLSBcXG4gICAgICAgICAgICAgICAgaWYgKERhdGEgIT0gJycpIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBiaHRtbCA9IGJhdGNoRmV0Y2goRGF0YSk7XFxuICAgICAgICAgICAgICAgICAgICAvL3dyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwRXJyb3IuanNvblxcXCIsSlNPTi5zdHJpbmdpZnkoYmh0bWwpKTtcXG5cXG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgYmh0bWwubGVuZ3RoOyBrKyspIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IGJodG1sW2tdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbG9nKGh0bWwpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwgPSBodG1sLnN1YnN0cmluZygwLCAyKSA9PSAnXFxcXHJcXFxcbicgPyBodG1sLnJlcGxhY2UoJ1xcXFxyXFxcXG4nLCAnJykgOiBodG1sO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9idHdhZi8udGVzdChodG1sKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sID0gZmV0Y2goRGF0YVtrXS51cmwgKyAnJmJ0d2FmJyArIGh0bWwubWF0Y2goL2J0d2FmKC4qPylcXFxcXFxcIi8pWzFdLCB7fSk7XFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChodG1sID09IFxcXCJcXFwiIHx8IGh0bWwgPT0gbnVsbCB8fCBodG1sLnN1YnN0cmluZygwLCA1KSA9PSAnZXJyb3InIHx8ICFodG1sLnN0YXJ0c1dpdGgoJ3snKSkge1xcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBUaXRba10udGl0ICsgJyAnICsgJ+acquaQnOe0ouWIsO+8jOeCueWHu+iuv+mXruWOn+e9kemhtScsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IERhdGFba10udXJsICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChodG1sLmxlbmd0aCA8IDgwKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFRpdFtrXS50aXQgKyAnICcgKyAn6L+U5Zue5pWw5o2u5LiN5a6M5pW077yM54K55Ye76K6/6Zeu5Y6f572R6aG1JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogRGF0YVtrXS51cmwgKyBgQGxhenlSdWxlPS5qczppbnB1dC5zcGxpdCgnOycpWzBdYCxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoaHRtbCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbG9nKGh0bWwpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHlwZXQgPSBUaXRba10udHlwbm07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ZG9taW4gPSBUaXRba10ubGluaztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGh0bWwubGlzdCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpc3QgPSBodG1sLmxpc3Q7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhLmxpc3QpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0ID0gaHRtbC5kYXRhLmxpc3Q7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdCA9IGh0bWwuZGF0YTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0ID0gW107XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpc3QubGVuZ3RoIDwgMSkge1xcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFRpdFtrXS50aXQgKyAnICcgKyAn5YiX6KGo5bCP5LqOMe+8jOaXoOazleWxleekuu+8jOeCueWHu+iuv+mXruWOn+e9kemhtScsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBEYXRhW2tdLnVybCArIGBAbGF6eVJ1bGU9LmpzOmlucHV0LnNwbGl0KCc7JylbMF1gLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoL1RW5b2x6KeGLy50ZXN0KHR5cGV0KSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBsaXN0W2ldLnRpdGxlO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS5waWM7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2aWQgPSBsaXN0W2ldLm5leHRsaW5rO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVtID0gbGlzdFtpXS5zdGF0ZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9BUFDlvbHop4YvLnRlc3QodHlwZXQpKSB7XFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZG9taW4uaW5kZXhPZignYXBpLnBocC9hcHAvJykgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICd2aWRlb19kZXRhaWw/aWQ9JyArIGxpc3RbaV0udm9kX2lkICsgJyZ0b2tlbj0nO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlbSA9IGxpc3RbaV0udm9kX3JlbWFya3M7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS50eXBlLnR5cGVfZGVzO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRkb21pbi5pbmRleE9mKCd4Z2FwcC5waHAvdjEvJykgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICd2aWRlb19kZXRhaWw/aWQ9JyArIGxpc3RbaV0udm9kX2lkO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlbSA9IGxpc3RbaV0udm9kX3JlbWFya3M7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS50eXBlLnR5cGVfZGVzO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtpXS52b2RfbmFtZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwaWMgPSBsaXN0W2ldLnZvZF9waWM7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmlkID0gdGRvbWluICsgJy9kZXRhaWw/dm9kX2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0udHlwZS50eXBlX2RlcztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS5zdGF0ZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2xvZyh2aWQpO1xcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogTVlfVFlQRSA9PSBcXFwiaG9tZVxcXCIgPyB0aXRsZS5yZXBsYWNlKGtleSwgJ+KAnOKAnCcgKyBrZXkgKyAn4oCd4oCdJykgKyAnXFxcXG4nICsgcmVtIDogdGl0bGUgKyByZW0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpY191cmw6IHBpYyArICdAUmVmZXJlcj0nLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICQodmlkICsgJztnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjEzIChkYXJ0OmlvKX0nKS5ydWxlKCh0eXBldCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcyA9IHt9O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW1zID0gW107XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoZ2V0UmVzQ29kZSgpKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiAnMjU1JiZmbG9hdCcsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAnJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3g1X3dlYnZpZXdfc2luZ2xlJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbXl1cmwgPSBNWV9VUkwubWF0Y2goLyhbXFxcXFNdKj86XFxcXC9cXFxcL1tcXFxcU10qPylcXFxcLy8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9BUFDlvbHop4YvLnRlc3QodHlwZXQpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvYXBwbW92bGlzdCcsIHt9KSkucnVsZSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9UVuW9seinhi8udGVzdCh0eXBldCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS90dm1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEhvbWVSZXN1bHQocmVzKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgdHlwZXQpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NvbnRlbnQ6IHJlbSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogdHlwZXQgKyAnID0+ICcgKyBUaXRba10udGl0LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAvL2ZvciBpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gLy9pZiBsaXN0Lmxlbmd0aFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH0gLy9mb3IgayBiaHRtbC5sZW5ndGhcXG4gICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICByZXMuZGF0YSA9IGl0ZW1zO1xcbiAgICAgICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICAgICAgfSwgbGlzdCwgdHl0aXQpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbiAgICAgICAgfSk7XFxuXFxuICAgIH1cXG5cXG59IC8vZm9yIGlcXG5cXG5cXG5yZXMuZGF0YSA9IGl0ZW1zO1xcbnNldEhvbWVSZXN1bHQocmVzKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkFQUOWIhuexu+WIl+ihqFwiLFwicGF0aFwiOlwiYXBwbGlzdGRhdGFcIixcInJ1bGVcIjpcImlmIChodG1sLmxpc3QpIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmxpc3Q7XFxufSBlbHNlIGlmIChodG1sLmRhdGEmJmh0bWwuZGF0YS5saXN0KSB7XFxuICAgIHZhciBsaXN0ID0gaHRtbC5kYXRhLmxpc3Q7XFxufSBlbHNlIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmRhdGE7XFxufVxcbi8vbG9nKGxpc3QpO1xcbmZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgdGl0bGUgPSBsaXN0W2ldLnZvZF9uYW1lO1xcbiAgICB2YXIgaW1nID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICB2YXIgdXJsID0gbGlzdFtpXS52b2RfaWQ7XFxuICAgIHZhciBkZXNjID0gbGlzdFtpXS52b2RfcmVtYXJrcztcXG4gICAgaWYoaHRtbC5saXN0KXtcXG4gICAgICAgIC8vbG9nKCdodG1sLmxpc3QnKTtcXG4gICAgICAgIHZhciBsaW5rID0gbXVybCArICd2aWRlb19kZXRhaWw/aWQ9JyArIHVybCArICcmdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XFxuICAgIH1lbHNlIGlmIChodG1sLmRhdGEmJmh0bWwuZGF0YS5saXN0KSB7XFxuICAgICAgICAvL2xvZygnaHRtbC5kYXRhLmxpc3QnKTtcXG4gICAgICAgIHZhciBsaW5rID0gbXVybCArICcvZGV0YWlsP3ZvZF9pZD0nICsgdXJsICsgJyZyZWxfbGltaXQ9MTA7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xMyAoZGFydDppbyl9JztcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIC8vbG9nKCdlbHNlJyk7XFxuICAgICAgICB2YXIgbGluayA9IG11cmwgKyAndmlkZW9fZGV0YWlsP2lkPScgKyB1cmwgKyAnJnRva2VuPTtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjEzIChkYXJ0OmlvKX0nO1xcbiAgICB9XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgcGljX3VybDogaW1nICsgJ0BSZWZlcmVyPScsXFxuICAgICAgICB1cmw6ICQobGluaykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgdmFyIHJlcyA9IHt9O1xcbiAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJycsXFxuICAgICAgICAgICAgICAgIGRlc2M6ICcyNTUmJmZsb2F0JyxcXG4gICAgICAgICAgICAgICAgdXJsOiAnJyxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd4NV93ZWJ2aWV3X3NpbmdsZSdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICByZWZyZXNoWDVXZWJWaWV3KCcnKTtcXG4gICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoZ2V0UmVzQ29kZSgpKTtcXG4gICAgICAgICAgICB2YXIgbXl1cmwgPSBNWV9VUkwubWF0Y2goLyhbXFxcXFNdKj86XFxcXC9cXFxcL1tcXFxcU10qPylcXFxcLy8pWzFdO1xcbiAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL2FwcG1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgIHJlcy5kYXRhID0gaXRlbXM7XFxuICAgICAgICAgICAgc2V0SG9tZVJlc3VsdChyZXMpO1xcbiAgICAgICAgfSksXFxuICAgICAgICBkZXNjOiBkZXNjLFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zX21hcnF1ZWUnXFxuICAgIH0pO1xcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlRW5YiX6KGo6Kej5p6QXCIsXCJwYXRoXCI6XCJ0dmxpc3RkYXRhXCIsXCJydWxlXCI6XCJ2YXIgbGlzdCA9IGh0bWwuZGF0YTtcXG5mb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIHRpdGxlID0gbGlzdFtpXS50aXRsZTtcXG4gICAgdmFyIGltZyA9IGxpc3RbaV0ucGljO1xcbiAgICB2YXIgdXJsID0gbGlzdFtpXS5uZXh0bGluaztcXG4gICAgdmFyIGRlc2MgPSBsaXN0W2ldLnN0YXRlO1xcbiAgICB1cmwgPSB1cmwuc3RhcnRzV2l0aCgnaHR0cCcpID8gdXJsIDogbXVybCArICc/YWM9ZGV0YWlsJmlkcz0nICsgdXJsO1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgIHBpY191cmw6IGltZyArICdAUmVmZXJlcj0nLFxcbiAgICAgICAgdXJsOiAkKHVybCkucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgdmFyIHJlcyA9IHt9O1xcbiAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xcbiAgICAgICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShnZXRSZXNDb2RlKCkpO1xcbiAgICAgICAgICAgIHZhciBteXVybCA9IE1ZX1VSTC5tYXRjaCgvKFtcXFxcU10qPzpcXFxcL1xcXFwvW1xcXFxTXSo/KVxcXFwvLylbMV07XFxuICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnJyxcXG4gICAgICAgICAgICAgICAgZGVzYzogJzI1NSYmZmxvYXQnLFxcbiAgICAgICAgICAgICAgICB1cmw6ICcnLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3g1X3dlYnZpZXdfc2luZ2xlJ1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgIHJlZnJlc2hYNVdlYlZpZXcoJycpO1xcbiAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL3R2bW92bGlzdCcsIHt9KSkucnVsZSk7XFxuICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcXG4gICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICB9KSxcXG4gICAgICAgIGRlc2M6IGRlc2MsXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzNfbWFycXVlZSdcXG4gICAgfSk7XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQVBQ566A5LuL5LiO6YCJ6ZuGXCIsXCJwYXRoXCI6XCJhcHBtb3ZsaXN0XCIsXCJydWxlXCI6XCJpZiAoaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXIpIHtcXG4gICAgdmFyIGNvbnRzID0gaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXI7XFxuICAgIGlmIChjb250cy5sZW5ndGggPCAxKSB7XFxuICAgICAgICBjb250cyA9IGh0bWwuZGF0YS52b2RfcGxheV91cmwuc3BsaXQoJyQkJCcpO1xcbiAgICAgICAgdmFyIHRhYnMgPSBodG1sLmRhdGEudm9kX3BsYXlfZnJvbS5zcGxpdCgnJCQkJyk7XFxuICAgIH1cXG59IGVsc2UgaWYgKGh0bWwuZGF0YS52b2RfaW5mbyAmJiBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcikge1xcbiAgICB2YXIgY29udHMgPSBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcjtcXG4gICAgaWYgKGNvbnRzLmxlbmd0aCA8IDEpIHtcXG4gICAgICAgIGNvbnRzID0gaHRtbC5kYXRhLnZvZF9pbmZvLnZvZF9wbGF5X3VybC5zcGxpdCgnJCQkJyk7XFxuICAgICAgICB2YXIgdGFicyA9IGh0bWwuZGF0YS52b2RfaW5mby52b2RfcGxheV9mcm9tLnNwbGl0KCckJCQnKTtcXG4gICAgfVxcbn0gZWxzZSB7XFxuICAgIHZhciBjb250cyA9IGh0bWwuZGF0YS52b2RfcGxheV9saXN0O1xcbiAgICBpZiAoY29udHMubGVuZ3RoIDwgMSkge1xcbiAgICAgICAgY29udHMgPSBodG1sLmRhdGEudm9kX3BsYXlfdXJsLnNwbGl0KCckJCQnKTtcXG4gICAgICAgIHZhciB0YWJzID0gaHRtbC5kYXRhLnZvZF9wbGF5X2Zyb20uc3BsaXQoJyQkJCcpO1xcbiAgICB9XFxufVxcblxcbi8vbG9nKGNvbnRzKTtcXG5cXG52YXIgdGh1bWIgPSBodG1sLmRhdGEudm9kX2luZm8gPyBodG1sLmRhdGEudm9kX2luZm8udm9kX3BpYyA6IGh0bWwuZGF0YS52b2RfcGljO1xcbml0ZW1zLnB1c2goe1xcbiAgICB0aXRsZTogJ+WJp+aDheeugOS7i++8micsXFxuICAgIGRlc2M6IGh0bWwuZGF0YS52b2RfaW5mbyA/IGh0bWwuZGF0YS52b2RfaW5mby52b2RfY29udGVudCA6IGh0bWwuZGF0YS52b2RfY29udGVudCxcXG4gICAgcGljX3VybDogdGh1bWIsXFxuICAgIHVybDogdGh1bWIsXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWMnXFxufSk7XFxuXFxuZm9yICh2YXIgaSA9IDA7IGkgPCBjb250cy5sZW5ndGg7IGkrKykge1xcbiAgICBpZiAoY29udHNbaV0udXJsKSB7XFxuICAgICAgICB2YXIgbGlzdCA9IGNvbnRzW2ldLnVybC5zcGxpdChcXFwiI1xcXCIpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgdmFyIGxpc3QgPSBjb250c1tpXS5zcGxpdChcXFwiI1xcXCIpO1xcbiAgICB9XFxuICAgIC8vc2V0RXJyb3IobGlzdC5sZW5ndGgpO1xcbiAgICBpZiAoaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXIpIHtcXG4gICAgICAgIHZhciBwdGFiID0gY29udHNbaV0uY29kZSA/IGNvbnRzW2ldLmNvZGUgOiB0YWJzW2ldO1xcbiAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YS52b2RfaW5mbyAmJiBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcikge1xcbiAgICAgICAgdmFyIHB0YWIgPSBjb250c1tpXS5jb2RlID8gY29udHNbaV0uY29kZSA6IHRhYnNbaV07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICB2YXIgcHRhYiA9IGNvbnRzW2ldLmZyb20gPyBjb250c1tpXS5mcm9tIDogdGFic1tpXTtcXG4gICAgfVxcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBwdGFiICsgJyDwn5SXJyArIFtpICsgMV0gKyAnLycgKyBbY29udHMubGVuZ3RoXSxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbiAgICB9KTtcXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0Lmxlbmd0aDsgaisrKSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGlmIChodG1sLmRhdGEudm9kX3VybF93aXRoX3BsYXllcikge1xcbiAgICAgICAgICAgICAgICB2YXIgamllayA9IGNvbnRzW2ldLnBhcnNlX2FwaTtcXG4gICAgICAgICAgICAgICAgaWYgKGppZWsgIT0gJycgJiYgamllayAhPSBudWxsKSB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoamllay5zdWJzdHJpbmcoMCwgNCkgPT0gJ2h0dHAnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgamllayA9IGppZWs7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGppZWsuc3Vic3RyaW5nKDAsIDIpID09ICdcXFxcL1xcXFwvJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGppZWsgPSAnaHR0cHM6JyArIGppZWs7XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBqaWVrICsgbGlzdFtqXS5zcGxpdChcXFwiJFxcXCIpWzFdO1xcbiAgICAgICAgICAgICAgICBpZiAoL1xcXFwubTN1OHxcXFxcLm1wNHxvYmpcXFxcL3Rvcy8udGVzdChsaW5rKSAmJiAvaHR0cC8udGVzdChsaW5rKSkge1xcbiAgICAgICAgICAgICAgICAgICAgbGluayA9IGxpc3Rbal0uc3BsaXQoXFxcIiRcXFwiKVsxXTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhLnZvZF9pbmZvICYmIGh0bWwuZGF0YS52b2RfaW5mby52b2RfdXJsX3dpdGhfcGxheWVyKSB7XFxuICAgICAgICAgICAgICAgIHZhciBqaWVrID0gY29udHNbaV0ucGFyc2VfYXBpO1xcbiAgICAgICAgICAgICAgICBpZiAoamllayAhPSAnJyAmJiBqaWVrICE9IG51bGwpIHtcXG4gICAgICAgICAgICAgICAgICAgIGlmIChqaWVrLnN1YnN0cmluZygwLCA0KSA9PSAnaHR0cCcpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBqaWVrID0gamllaztcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoamllay5zdWJzdHJpbmcoMCwgMikgPT0gJ1xcXFwvXFxcXC8nKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgamllayA9ICdodHRwczonICsgamllaztcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvY29rZW12Ly50ZXN0KG15dXJsKSAmJiAvY29rZXFpZXx4aW58OTBtbS8udGVzdChwdGFiKSkge1xcbiAgICAgICAgICAgICAgICAgICAgamllayA9ICdodHRwczovL3BsYXllci45MG1tLm1lL3BsYXkucGhwP3VybD0nO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIHZhciBsaW5rID0gamllayArIGxpc3Rbal0uc3BsaXQoXFxcIiRcXFwiKVsxXTtcXG4gICAgICAgICAgICAgICAgaWYgKC9cXFxcLm0zdTh8XFxcXC5tcDR8b2JqXFxcXC90b3MvLnRlc3QobGluaykgJiYgL2h0dHAvLnRlc3QobGluaykpIHtcXG4gICAgICAgICAgICAgICAgICAgIGxpbmsgPSBsaXN0W2pdLnNwbGl0KFxcXCIkXFxcIilbMV07XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBpZiAoY29udHNbaV0ucGxheWVyX2luZm8ucGFyc2UyICYmIChjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZTIpLmluZGV4T2YoXFxcIj1cXFwiKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGppZWsgPSAoY29udHNbaV0ucGxheWVyX2luZm8ucGFyc2UyKS5tYXRjaCgvLio/dXJsPXwuKj92PXwuKj92aWQ9LylbMF0ucmVwbGFjZShcXFwiLi5cXFwiLCBcXFwiLlxcXCIpLnJlcGxhY2UoJ2pzb25icycsICcnKTtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZSAmJiAoY29udHNbaV0ucGxheWVyX2luZm8ucGFyc2UpLmluZGV4T2YoXFxcIj1cXFwiKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGppZWsgPSAoY29udHNbaV0ucGxheWVyX2luZm8ucGFyc2UpLm1hdGNoKC8uKj91cmw9fC4qP3Y9fC4qP3ZpZD0vKVswXS5yZXBsYWNlKFxcXCIuLlxcXCIsIFxcXCIuXFxcIik7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgamllayA9IFxcXCJcXFwiO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIC8vc2V0RXJyb3Ioamllayk7XFxuICAgICAgICAgICAgICAgIGlmIChqaWVrICE9ICcnICYmIGppZWsgIT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKGppZWsuc3Vic3RyaW5nKDAsIDQpID09ICdodHRwJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGppZWsgPSBqaWVrO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChqaWVrLnN1YnN0cmluZygwLCAyKSA9PSAnXFxcXC9cXFxcLycpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBqaWVrID0gJ2h0dHBzOicgKyBqaWVrO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIHZhciBsaW5rID0gamllayArIGxpc3Rbal0uc3BsaXQoXFxcIiRcXFwiKVsxXTtcXG4gICAgICAgICAgICAgICAgLy9sb2cobGluayk7XFxuICAgICAgICAgICAgICAgIGlmICgvXFxcXC5tM3U4fFxcXFwubXA0fG9ialxcXFwvdG9zLy50ZXN0KGxpc3Rbal0uc3BsaXQoXFxcIiRcXFwiKVsxXSkpIHtcXG4gICAgICAgICAgICAgICAgICAgIGxpbmsgPSBsaXN0W2pdLnNwbGl0KFxcXCIkXFxcIilbMV07XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICAgICAgbGluayA9IGxpc3Rbal0uc3BsaXQoXFxcIiRcXFwiKVsxXTtcXG4gICAgICAgIH1cXG4gICAgICAgIC8vbG9nKGxpbmspO1xcbiAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtqXS5zcGxpdChcXFwiJFxcXCIpWzBdO1xcbiAgICAgICAgaWYgKGxpc3QubGVuZ3RoIDw9IDQpIHtcXG4gICAgICAgICAgICB2YXIgY2x0ID0gJ3RleHRfMic7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciBjbHQgPSBpc05hTih0aXRsZSkgPyAnZmxleF9idXR0b24nIDogJ3RleHRfNSdcXG4gICAgICAgIH07XFxuICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKHB0YWIsIGxpbmssIG15dXJsKSA9PiB7XFxuICAgICAgICAgICAgICAgIHZhciBzcmN1cmwgPSBsaW5rO1xcbiAgICAgICAgICAgICAgICAvL2xvZyhzcmN1cmwpO1xcbiAgICAgICAgICAgICAgICAvL+WKqOaAgeino+aekOS7o+eggeW8gOWni1xcbiAgICAgICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgICAgICAgLy/lpITnkIbmjIflrprop4bpopHkuI7nur/ot69cXG4gICAgICAgICAgICAgICAgICAgIGlmICgvXFxcXC5tM3U4fFxcXFwubXA0fG9ialxcXFwvdG9zLy50ZXN0KHNyY3VybCkgJiYgL2h0dHAvLnRlc3Qoc3JjdXJsKSAmJiAhL1xcXFwuaHRtbC8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC9cXFxcPS8udGVzdChzcmN1cmwpID8gc3JjdXJsLnNwbGl0KCc9JylbMV0gOiBzcmN1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzcmN1cmwuaW5kZXhPZihcXFwiL3NoYXJlL1xcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBzcmN1cmwuc3BsaXQoXFxcIi9zaGFyZVxcXCIpWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmMgPSBmZXRjaChzcmN1cmwsIHt9KS5yZXBsYWNlKFxcXCJ2YXIgcHVybFxcXCIsIFxcXCJ2YXIgbWFpblxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmMuaW5kZXhPZihcXFwibWFpblxcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF0ID0gZmMubWF0Y2goL3ZhciBtYWluLio/Oy8pWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChtYXQpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXkgPSAobWFpbi5pbmRleE9mKFxcXCJodHRwXFxcIikgIT0gLTEgPyBtYWluIDogbGluayArIG1haW4pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1haW4gPSBmYy5tYXRjaCgvdXJsOi4qP1tcXFxcJ1xcXFxcXFwiXSguKj8pW1xcXFwnXFxcXFxcXCJdLylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGxheSA9IChtYWluLmluZGV4T2YoXFxcImh0dHBcXFwiKSAhPSAtMSA/IG1haW4gOiBsaW5rICsgbWFpbilcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBsYXk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3g1V2ViVmlldzovLycgKyAoc3JjdXJsKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHRhYiA9PSAncmVucmVubWknKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSByZXF1ZXN0KCdodHRwczovL2NhY2hlMS5qaGR5dy52aXA6ODA5MS9ycm1pLnBocD91cmw9JyArIHNyY3VybC5zcGxpdCgndXJsPScpWzFdKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2xvZyhodG1sKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3g1UGxheTovLycgKyBKU09OLnBhcnNlKGh0bWwpLnVybDtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHRhYiA9PSAnZnFmaWxtJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaHR0cHM6Ly93d3cuamhkeXcudmlwL2ppZXhpL2ZxLnBocD91cmw9JyArIHNyY3VybC5zcGxpdCgndXJsPScpWzFdICsgJyZuZXh0PSc7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB0YWIgPT0gJ3Jyc3AnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdodHRwczovL3d3dy5qaGR5dy52aXAvamlleGkvcnIucGhwP3VybD0nICsgc3JjdXJsLnNwbGl0KCd1cmw9JylbMV0gKyAnJm5leHQ9JztcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL2poeXVuXFxcXC5waHAvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcmV0dXJuICd4NVdlYlZpZXc6Ly8nK3NyY3VybC5yZXBsYWNlKCdodHRwOi8vc3ZpcC5qaHl1bi5qeC5jbjoxMjM0L2poeXVuLnBocD91cmw9JywgJ2h0dHBzOi8vYXBpLmpoZHl3LnZpcC8/dXJsPScpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBqaGxpbiA9IHNyY3VybC5yZXBsYWNlKCdodHRwOi8vc3ZpcC5qaHl1bi5qeC5jbjoxMjM0L2poeXVuLnBocD91cmw9JywgJ2h0dHBzOi8vYXBpLmpoZHl3LnZpcC8/dXJsPScpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZURvbUZvckh0bWwocmVxdWVzdChqaGxpbiksICcjdmlkZW8mJnNvdXJjZSYmc3JjJyk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB0YWIgPT0gJ2FsaXp5Jykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXJsID0gZmV0Y2goJ2h0dHBzOi8vZm91YmluLmNvbS9qaWV4aS5waHA/dXJsPScgKyBzcmN1cmwuc3BsaXQoJ3VybD0nKVsxXSwge30pLm1hdGNoKC9cXFxcXFxcInVybFxcXFxcXFwiOlxcXFxcXFwiKC4qPylcXFxcXFxcIi8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvOTgzdmlwLy50ZXN0KHNyY3VybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShmZXRjaChzcmN1cmwsIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIlVzZXItQWdlbnRcXFwiOiBNT0JJTEVfVUFcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJlY3Q6IGZhbHNlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoSGVhZGVyczogdHJ1ZVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKS5oZWFkZXJzLmxvY2F0aW9uWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgveFxcXFwtblxcXFwuY2N8bmhkejY2Ni8udGVzdChzcmN1cmwpICYmIC9cXFxcLmh0bWx8YmlsaWJpbGkvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzcmN1cmwuc3Vic3RyaW5nKHNyY3VybC5pbmRleE9mKCc9aHR0cCcpICsgMSk7XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAvL+WkhOeQhuaMh+WumuinhumikeWSjOe6v+i3r+e7k+adn1xcbiAgICAgICAgICAgICAgICAgICAgLy8tLS0t5YiG5Ymy57q/LS0tLS8vXFxuICAgICAgICAgICAgICAgICAgICB2YXIgc2NvZGUgPSBKU09OLnBhcnNlKGZldGNoKHNyY3VybCwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIlVzZXItQWdlbnRcXFwiOiBcXFwiRGFydC8yLjEzIChkYXJ0OmlvKVxcXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZGlyZWN0OiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICB3aXRoU3RhdHVzQ29kZTogdHJ1ZVxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xcbiAgICAgICAgICAgICAgICAgICAgLy9sb2coc2NvZGUpO1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNjb2RlLnN0YXR1c0NvZGUgPT0gJzMwMicpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAvL+aJk+W8gOino+aekOaciTMwMumHjeWumuWQkeeahOmTvuaOpVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZWR1cmwgPSBzY29kZS5oZWFkZXJzLmxvY2F0aW9uWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvXFxcXD1odHRwLy50ZXN0KHJlZHVybCkgJiYgL2h0bWx8YmlsaWJpbGkvLnRlc3QocmVkdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShmZXRjaChyZWR1cmwsIHt9KSkudXJsO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1xcXFw9aHR0cC8udGVzdChyZWR1cmwpICYmIC9cXFxcLm0zdTh8XFxcXC5tcDR8XFxcXC5mbHYvLnRlc3QocmVkdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVkdXJsLnN1YnN0cmluZyhyZWR1cmwuaW5kZXhPZignPWh0dHAnKSArIDEpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWR1cmxcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vdmFyIGh0bWwgPSByZXF1ZXN0KHNyY3VybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBzY29kZS5ib2R5O1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvXFxcXDxib2R5Ly50ZXN0KGh0bWwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v572R6aG16Kej5p6Q55qE5omT5byA572R6aG1ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3JjdXJsO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vanNvbuino+aekOeahOWPlumTvuaOpVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHVybCA9IGh0bWwubWF0Y2goL1tcXFxcJ1xcXFxcXFwiXXVybFtcXFxcJ1xcXFxcXFwiXTouKj9bXFxcXCdcXFxcXFxcIl0oLio/KVtcXFxcJ1xcXFxcXFwiXS8pWzFdLnJlcGxhY2UoL1xcXFxcXFxcL2csICcnKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9odHRwLy50ZXN0KHB1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHRhYiA9PSAnYmlsaWJpbGknKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnO3tSZWZlcmVyQGh0dHBzOi8vd3d3LmJpbGliaWxpLmNvbS8mJlVzZXItQWdlbnRATW96aWxsYS81LjB9JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHRhYiA9PSAnbWd0dicpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybCArICcjaXNWaWRlbz10cnVlIycgKyAnO3tSZWZlcmVyQHd3dy5tZ3R2LmNvbSYmVXNlci1BZ2VudEBNb3ppbGxhLzUuMH0nO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybCArICcjaXNWaWRlbz10cnVlIydcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1xcXFw9aHR0cC8udGVzdChzcmN1cmwpICYmIC9cXFxcLmh0bWx8YmlsaWJpbGkvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNyY3VybC5zdWJzdHJpbmcoc3JjdXJsLmluZGV4T2YoJz1odHRwJykgKyAxKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v6Z2eaHR0cOW8gOWktOeahOaJk+W8gOWOn+mTvuaOpSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzcmN1cmwuc3Vic3RyaW5nKHNyY3VybC5pbmRleE9mKCc9aHR0cCcpICsgMSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgICAgICAgICAgLy/miqXplJnliKTmlq3lpITnkIZcXG4gICAgICAgICAgICAgICAgICAgIGlmIChzcmN1cmwuc3Vic3RyaW5nKDAsIDIpID09ICdcXFxcL1xcXFwvJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaHR0cHM6JyArIHNyY3VybDtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1xcXFw9aHR0cC8udGVzdChzcmN1cmwpICYmIC9cXFxcLmh0bWx8YmlsaWJpbGkvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcmV0dXJuIHNyY3VybC5zcGxpdCgnPScpWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzcmN1cmwuc3Vic3RyaW5nKHNyY3VybC5pbmRleE9mKCc9aHR0cCcpICsgMSk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzcmN1cmxcXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3JldHVybiAneDVXZWJWaWV3Oi8vJytzcmN1cmxcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAvL+WKqOaAgeino+aekOS7o+eggee7k+adn1xcbiAgICAgICAgICAgIH0sIHB0YWIsIGxpbmssIG15dXJsKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogY2x0XFxuICAgICAgICB9KTtcXG4gICAgfVxcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlRW566A5LuL5LiO6YCJ6ZuGXCIsXCJwYXRoXCI6XCJ0dm1vdmxpc3RcIixcInJ1bGVcIjpcInZhciB0YWJzID0gT2JqZWN0LmtleXMoaHRtbC52aWRlb2xpc3QpO1xcbnZhciB0aHVtYiA9IGh0bWwuaW1nX3VybDtcXG5pdGVtcy5wdXNoKHtcXG4gICAgdGl0bGU6ICfliafmg4XnroDku4vvvJonLFxcbiAgICBkZXNjOiBodG1sLmludHJvLFxcbiAgICBwaWNfdXJsOiB0aHVtYixcXG4gICAgdXJsOiB0aHVtYixcXG4gICAgY29sX3R5cGU6ICdtb3ZpZV8xX3ZlcnRpY2FsX3BpYydcXG59KTtcXG5cXG5mb3IgKHZhciBpID0gMDsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLnZpZGVvbGlzdFt0YWJzW2ldXTtcXG4gICAgdmFyIHB0YWIgPSB0YWJzW2ldO1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBwdGFiICsgJyDwn5SXJyArIFtpICsgMV0gKyAnLycgKyBbdGFicy5sZW5ndGhdLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgIH0pO1xcblxcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcXG4gICAgICAgIHZhciBzcmN1cmwgPSBsaXN0W2pdLnVybDtcXG4gICAgICAgIGlmKC8yOTNqeDEvLnRlc3Qoc3JjdXJsKSl7XFxuICAgICAgICAgICAgc3JjdXJsID0gc3JjdXJsLnJlcGxhY2UoJzI5M2p4MScsJ2p4Jyk7XFxuICAgICAgICB9XFxuICAgICAgICB2YXIgdGl0bGUgPSBsaXN0W2pdLnRpdGxlO1xcbiAgICAgICAgaWYgKGxpc3QubGVuZ3RoIDw9IDQpIHtcXG4gICAgICAgICAgICB2YXIgY2x0ID0gJ3RleHRfMic7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciBjbHQgPSBpc05hTih0aXRsZSkgPyAnZmxleF9idXR0b24nIDogJ3RleHRfNSdcXG4gICAgICAgIH07XFxuICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKHB0YWIsIHNyY3VybCwgbXl1cmwpID0+IHtcXG4gICAgICAgICAgICAgICAgLy9sb2coc3JjdXJsKTtcXG4gICAgICAgICAgICAgICAgLy/liqjmgIHop6PmnpDku6PnoIHlvIDlp4tcXG4gICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgIGlmICgvXFxcXC5tM3U4fFxcXFwubXA0fG9ialxcXFwvdG9zLy50ZXN0KHNyY3VybCkgJiYgL2h0dHAvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAvXFxcXD0vLnRlc3Qoc3JjdXJsKSA/IHNyY3VybC5zcGxpdCgnPScpWzFdIDogc3JjdXJsICsgJyNpc1ZpZGVvPXRydWUjJztcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3JjdXJsLmluZGV4T2YoXFxcIi9zaGFyZS9cXFwiKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaW5rID0gc3JjdXJsLnNwbGl0KFxcXCIvc2hhcmVcXFwiKVswXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZjID0gZmV0Y2goc3JjdXJsLCB7fSkucmVwbGFjZShcXFwidmFyIHB1cmxcXFwiLCBcXFwidmFyIG1haW5cXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZjLmluZGV4T2YoXFxcIm1haW5cXFwiKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1hdCA9IGZjLm1hdGNoKC92YXIgbWFpbi4qPzsvKVswXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwobWF0KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwbGF5ID0gKG1haW4uaW5kZXhPZihcXFwiaHR0cFxcXCIpICE9IC0xID8gbWFpbiA6IGxpbmsgKyBtYWluKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYWluID0gZmMubWF0Y2goL3VybDouKj9bXFxcXCdcXFxcXFxcIl0oLio/KVtcXFxcJ1xcXFxcXFwiXS8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXkgPSAobWFpbi5pbmRleE9mKFxcXCJodHRwXFxcIikgIT0gLTEgPyBtYWluIDogbGluayArIG1haW4pXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwbGF5O1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd4NVdlYlZpZXc6Ly8nICsgKHNyY3VybClcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB0YWIgPT0gJ2FsaXp5Jykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXJsID0gZmV0Y2goJ2h0dHBzOi8vZm91YmluLmNvbS9qaWV4aS5waHA/dXJsPScgKyBzcmN1cmwsIHt9KS5tYXRjaCgvXFxcXFxcXCJ1cmxcXFxcXFxcIjpcXFxcXFxcIiguKj8pXFxcXFxcXCIvKVsxXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybDtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoLzE5anhcXFxcLnZpcHxuZnlpbmdzaGkvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXJsID0gSlNPTi5wYXJzZShmZXRjaChzcmN1cmwucmVwbGFjZSgnaHR0cDovLycsICdodHRwczovLycpLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogTU9CSUxFX1VBXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZGlyZWN0OiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEhlYWRlcnM6IHRydWVcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSkuaGVhZGVycy5sb2NhdGlvblswXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoL3RpdGFuLm1ndHYvLnRlc3QocHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnICsgJzt7UmVmZXJlckB3d3cubWd0di5jb20mJlVzZXItQWdlbnRATW96aWxsYS81LjB9JztcXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICBlbHNlIGlmICgvb2JqXFxcXC90b3MvLnRlc3QocHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsXFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgICAgIC8vLS0tLeWIhuWJsue6vy0tLS0vL1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNjb2RlID0gSlNPTi5wYXJzZShmZXRjaChzcmN1cmwsIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogTU9CSUxFX1VBXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWRpcmVjdDogZmFsc2UsXFxuICAgICAgICAgICAgICAgICAgICAgICAgd2l0aFN0YXR1c0NvZGU6IHRydWVcXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcXG4gICAgICAgICAgICAgICAgICAgIGlmIChzY29kZS5zdGF0dXNDb2RlID09ICczMDInKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBzY29kZS5oZWFkZXJzLmxvY2F0aW9uWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBodG1sID0gcmVxdWVzdChzcmN1cmwpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gc2NvZGUuYm9keTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2xvZyhodG1sKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoL1xcXFxcXFwidXJsXFxcXFxcXCJcXFxcOlxcXFxcXFwiaHR0cC8udGVzdChodG1sKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHVybD1odG1sLm1hdGNoKC9cXFxcXFxcInVybFxcXFxcXFwiOlxcXFxcXFwiKC4qPylcXFxcXFxcIi8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaHRtbC5zdGFydHNXaXRoKCd7JykpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBzcmN1cmwuc3Vic3RyaW5nKHNyY3VybC5pbmRleE9mKCc9aHR0cCcpICsgMSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBzcmN1cmxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9yZXR1cm4gJ3g1V2ViVmlldzovLycrKHNyY3VybCkgXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgaWYgKC90aXRhbi5tZ3R2Ly50ZXN0KHB1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnICsgJzt7UmVmZXJlckB3d3cubWd0di5jb20mJlVzZXItQWdlbnRATW96aWxsYS81LjB9JztcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL29ialxcXFwvdG9zLy50ZXN0KHB1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybFxcbiAgICAgICAgICAgICAgICAgICAgfTtcXG5cXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNyY3VybC5zdWJzdHJpbmcoMCwgMikgPT0gJ1xcXFwvXFxcXC8nKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdodHRwczonICsgc3JjdXJsO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvXFxcXD1odHRwLy50ZXN0KHNyY3VybCkgJiYgL1xcXFwuaHRtbHxiaWxpYmlsaS8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9yZXR1cm4gc3JjdXJsLnNwbGl0KCc9JylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNyY3VybC5zdWJzdHJpbmcoc3JjdXJsLmluZGV4T2YoJz1odHRwJykgKyAxKTtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNyY3VybFxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIC8v5Yqo5oCB6Kej5p6Q5Luj56CB57uT5p2fXFxuICAgICAgICAgICAgfSwgcHRhYiwgc3JjdXJsLCBteXVybCksXFxuICAgICAgICAgICAgY29sX3R5cGU6IGNsdFxcbiAgICAgICAgfSk7XFxuICAgIH1cXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLliJfooajmqKHlvI/mkJzntKLkuoznuqdcIixcInBhdGhcIjpcInNlYXJlcmpcIixcInJ1bGVcIjpcInZhciByZXMgPSB7fTtcXG52YXIgaXRlbXMgPSBbXTtcXG52YXIgc3BsID0gZ2V0UmVzQ29kZSgpLnNwbGl0KCcjeCMnKTtcXG52YXIgdHlwZXQgPSBzcGxbM107XFxudmFyIHRkb21pbiA9IHNwbFsyXTtcXG52YXIga2V5ID0gc3BsWzRdO1xcblxcbmlmICgvdmlwbXYvLnRlc3QodGRvbWluKSkge1xcbiAgICB2YXIgYmh0bWwgPSByZXF1ZXN0KHNwbFsxXSk7XFxufSBlbHNlIHtcXG4gICAgdmFyIGJodG1sID0gZmV0Y2goc3BsWzFdLCB7XFxuICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgXFxcIlVzZXItQWdlbnRcXFwiOiBcXFwiRGFydC8yLjEzIChkYXJ0OmlvKVxcXCJcXG4gICAgICAgIH1cXG4gICAgfSk7XFxufVxcbnRyeSB7XFxuICAgIGJodG1sID0gYmh0bWwuc3RhcnRzV2l0aCgnXFxcXHJcXFxcbicpID8gYmh0bWwucmVwbGFjZSgnXFxcXHJcXFxcbicsICcnKSA6IGJodG1sO1xcbn0gY2F0Y2ggKGUpIHt9XFxuaWYgKC9idHdhZi8udGVzdChiaHRtbCkpIHtcXG4gICAgLypcXG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTon5pyJ5a6d5aGU6aqM6K+B77yM54K55Ye76K6/6Zeu5Y6f572R6aG1JyxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogc3BsWzFdICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICovXFxuXFxuICAgIGJodG1sID0gZmV0Y2goc3BsWzFdICsgJyZidHdhZicgKyBiaHRtbC5tYXRjaCgvYnR3YWYoLio/KVxcXFxcXFwiLylbMV0sIHt9KTtcXG5cXG59XFxuXFxuaWYgKGJodG1sID09IFxcXCJcXFwiIHx8IGJodG1sID09IG51bGwgfHwgYmh0bWwuc3Vic3RyaW5nKDAsIDUpID09ICdlcnJvcicgfHwgIWJodG1sLnN0YXJ0c1dpdGgoJ3snKSkge1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn5pyq5pCc57Si5Yiw55u45YWz6LWE5rqQ77yM54K55Ye76K6/6Zeu5Y6f572R6aG1JyxcXG4gICAgICAgIHVybDogc3BsWzFdICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgfSk7XFxufSBlbHNlIGlmIChiaHRtbC5sZW5ndGggPCA4MCkge1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn6L+U5Zue5pWw5o2u5LiN5a6M5pW077yM54K55Ye76K6/6Zeu5Y6f572R6aG1JyxcXG4gICAgICAgIHVybDogc3BsWzFdICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgfSk7XFxufSBlbHNlIHtcXG4gICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGJodG1sKTtcXG4gICAgLy9sb2coc3BsWzFdKTtcXG4gICAgaWYgKGh0bWwubGlzdCkge1xcbiAgICAgICAgdmFyIGxpc3QgPSBodG1sLmxpc3Q7XFxuICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhLmxpc3QpIHtcXG4gICAgICAgIHZhciBsaXN0ID0gaHRtbC5kYXRhLmxpc3Q7XFxuICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhKSB7XFxuICAgICAgICB2YXIgbGlzdCA9IGh0bWwuZGF0YTtcXG4gICAgfVxcblxcbiAgICBpZiAobGlzdC5sZW5ndGggPCAxKSB7XFxuICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+acquaQnOe0ouWIsO+8jOeCueWHu+iuv+mXruWOn+e9kemhtScsXFxuICAgICAgICAgICAgdXJsOiBzcGxbMV0gKyBgQGxhenlSdWxlPS5qczppbnB1dC5zcGxpdCgnOycpWzBdYCxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgICAgIH0pO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxuXFxuICAgICAgICAgICAgaWYgKC9BUFDlvbHop4YvLnRlc3QodHlwZXQpKSB7XFxuICAgICAgICAgICAgICAgIGlmICh0ZG9taW4uaW5kZXhPZignYXBpLnBocC9hcHAvJykgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICd2aWRlb19kZXRhaWw/aWQ9JyArIGxpc3RbaV0udm9kX2lkICsgJyZ0b2tlbj0nO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlbSA9IGxpc3RbaV0udm9kX3JlbWFya3M7XFxuICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS50eXBlLnR5cGVfZGVzO1xcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRkb21pbi5pbmRleE9mKCd4Z2FwcC5waHAvdjEvJykgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICd2aWRlb19kZXRhaWw/aWQ9JyArIGxpc3RbaV0udm9kX2lkO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlbSA9IGxpc3RbaV0udm9kX3JlbWFya3M7XFxuICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS50eXBlLnR5cGVfZGVzO1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtpXS52b2RfbmFtZTtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBwaWMgPSBsaXN0W2ldLnZvZF9waWM7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgdmlkID0gdGRvbWluICsgJy9kZXRhaWw/dm9kX2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0udHlwZS50eXBlX2RlcztcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoL1RW5b2x6KeGLy50ZXN0KHR5cGV0KSkge1xcbiAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBsaXN0W2ldLnRpdGxlO1xcbiAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS5waWM7XFxuICAgICAgICAgICAgICAgIC8vdmFyIHZpZD10ZG9taW4rJy9kZXRhaWw/dm9kX2lkPScrbGlzdFtpXS5uZXh0bGluaysnJnJlbF9saW1pdD0xMCc7XFxuICAgICAgICAgICAgICAgIHZhciB2aWQgPSBsaXN0W2ldLm5leHRsaW5rO1xcbiAgICAgICAgICAgICAgICB2YXIgcmVtID0gbGlzdFtpXS5zdGF0ZTtcXG4gICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0uc3RhdGU7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUucmVwbGFjZShrZXksICfigJzigJwnICsga2V5ICsgJ+KAneKAnScpLFxcbiAgICAgICAgICAgICAgICBwaWNfdXJsOiBwaWMgKyAnQFJlZmVyZXI9JyxcXG4gICAgICAgICAgICAgICAgdXJsOiAkKHZpZCsnO2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfScpLnJ1bGUoKHR5cGV0KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzID0ge307XFxuICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbXMgPSBbXTtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShnZXRSZXNDb2RlKCkpO1xcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6ICcyNTUmJmZsb2F0JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICcnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAneDVfd2Vidmlld19zaW5nbGUnXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hYNVdlYlZpZXcoJycpO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIG15dXJsID0gTVlfVVJMLm1hdGNoKC8oW1xcXFxTXSo/OlxcXFwvXFxcXC9bXFxcXFNdKj8pXFxcXC8vKVsxXTtcXG4gICAgICAgICAgICAgICAgICAgIGlmICgvQVBQ5b2x6KeGLy50ZXN0KHR5cGV0KSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL2FwcG1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvVFblvbHop4YvLnRlc3QodHlwZXQpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvdHZtb3ZsaXN0Jywge30pKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhID0gaXRlbXM7XFxuICAgICAgICAgICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICAgICAgICAgIH0sIHR5cGV0KSxcXG4gICAgICAgICAgICAgICAgLy9jb250ZW50OnJlbSxcXG4gICAgICAgICAgICAgICAgZGVzYzogcmVtLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljJ1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfSAvL2ZvciBpXFxuICAgIH0gLy9lbHNlIGxpc3QubGVuZ3RoXFxufVxcblxcbnJlcy5kYXRhID0gaXRlbXM7XFxuc2V0SG9tZVJlc3VsdChyZXMpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQVBQ6aaW6aG15YiX6KGoXCIsXCJwYXRoXCI6XCJhcHBpbmRleGRhdGFcIixcInJ1bGVcIjpcImlmIChodG1sLmxpc3QpIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmxpc3Q7XFxufSBlbHNlIGlmIChodG1sLmRhdGEmJmh0bWwuZGF0YS5saXN0KSB7XFxuICAgIHZhciBsaXN0ID0gaHRtbC5kYXRhLmxpc3Q7XFxufSBlbHNlIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmRhdGE7XFxufVxcblxcbmZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcbiAgICBpZiAobGlzdFtpXS52b2RfbGlzdCkge1xcbiAgICAgICAgdmFyIGxpc3RzID0gbGlzdFtpXS52b2RfbGlzdDtcXG4gICAgICAgIHZhciB0eXBlbmFtZSA9IGxpc3RbaV0udm9kX3R5cGVfbmFtZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHZhciBsaXN0cyA9IGxpc3RbaV0udmxpc3Q7XFxuICAgICAgICB2YXIgdHlwZW5hbWUgPSBsaXN0W2ldLnR5cGVfbmFtZVxcbiAgICB9XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHR5cGVuYW1lLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuXFxuICAgIH0pO1xcbiAgICBcXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0cy5sZW5ndGg7IGorKykge1xcbiAgICAgICAgdmFyIHRpdGxlID0gbGlzdHNbal0udm9kX25hbWU7XFxuICAgICAgICB2YXIgaW1nID0gbGlzdHNbal0udm9kX3BpYztcXG4gICAgICAgIHZhciB1cmwgPSBsaXN0c1tqXS52b2RfaWQ7XFxuICAgICAgICB2YXIgZGVzYyA9IGxpc3RzW2pdLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgaWYgKGh0bWwubGlzdCkge1xcbiAgICAgICAgICAgIHZhciBsaW5rID0gbXVybCArICd2aWRlb19kZXRhaWw/aWQ9JyArIHVybCArICcmdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XFxuICAgICAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YSYmaHRtbC5kYXRhLmxpc3QpIHtcXG4gICAgICAgICAgICB2YXIgbGluayA9IG11cmwgKyAnL2RldGFpbD92b2RfaWQ9JyArIHVybCArICcmcmVsX2xpbWl0PTEwO2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciBsaW5rID0gbXVybCArICd2aWRlb19kZXRhaWw/aWQ9JyArIHVybCArICcmdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XFxuICAgICAgICB9ICAgICAgICBcXG4gICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgICAgICBwaWNfdXJsOiBpbWcgKyAnQFJlZmVyZXI9JyxcXG4gICAgICAgICAgICB1cmw6ICQobGluaykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHZhciByZXMgPSB7fTtcXG4gICAgICAgICAgICAgICAgdmFyIGl0ZW1zID0gW107XFxuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzogJzI1NSYmZmxvYXQnLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnJyxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAneDVfd2Vidmlld19zaW5nbGUnXFxuICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoWDVXZWJWaWV3KCcnKTsgICAgICAgICAgICAgICAgXFxuICAgICAgICAgICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShnZXRSZXNDb2RlKCkpOyAgICAgICAgICAgICAgICBcXG4gICAgICAgICAgICAgICAgdmFyIG15dXJsID0gTVlfVVJMLm1hdGNoKC8oW1xcXFxTXSo/OlxcXFwvXFxcXC9bXFxcXFNdKj8pXFxcXC8vKVsxXTtcXG4gICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvYXBwbW92bGlzdCcsIHt9KSkucnVsZSk7ICAgICAgICAgICAgICAgIFxcbiAgICAgICAgICAgICAgICByZXMuZGF0YSA9IGl0ZW1zO1xcbiAgICAgICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgZGVzYzogZGVzYyxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzNfbWFycXVlZSdcXG4gICAgICAgIH0pO1xcbiAgICB9XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6aaW5qyh5a+85YWl562J5b6FXCIsXCJwYXRoXCI6XCJ3YWl0XCIsXCJydWxlXCI6XCJmdW5jdGlvbiBjYW5Vc2UoKSB7XFxuICAgIC8v5aaC5p6c5pu05paw5LqG6KeE5YiZ5Lmf6KaB6ZmQ5rWB77yM5Y+v5Lul5L+u5pS5a2V5XFxuICAgIGxldCBrZXkgPSBcXFwibG9jazRcXFwiXFxuICAgIC8v562J5b6F5YiG6ZKf5pWwXFxuICAgIGxldCB3YWl0TWluID0gMzBcXG4gICAgXFxuICAgIGxldCBtaW4gPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwICogNjAgKiB3YWl0TWluKVxcbiAgICBsZXQgdW5sb2NrID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgKyBtaW47XFxuICAgIGxldCB0aW1lID0gZ2V0SXRlbShrZXksIFxcXCJcXFwiKTtcXG4gICAgaWYgKHRpbWUgPT0gXFxcIlxcXCIpIHtcXG4gICAgICAgIHNldEl0ZW0oa2V5LCBcXFwiXFxcIiArIHVubG9jaylcXG4gICAgICAgIGxldCBzdCA9IG5ldyBEYXRlKHVubG9jaykudG9Mb2NhbGVTdHJpbmcoKS5yZXBsYWNlKC86XFxcXGR7MSwyfSQvLCAnICcpO1xcbiAgICAgICAgbGV0IG1zZyA9IFxcXCLov5nmmK/mgqjnrKzkuIDmrKHkvb/nlKjor6XniYjmnKzop4TliJnvvIzkuLrpgb/lhY3nrKzkuIDmrKHlr7zlhaXkvb/nlKjkurrmlbDmv4Dlop7vvIzop4TliJnlsIblnKhcXFwiICsgc3QgKyBcXFwi6Kej6ZSB5L2/55So44CCPGJyPjxicj7lpb3op4TliJnkuI3mgJXmmZrvvIzor7fogJDlv4PnrYnlvoXvvIHor6Xmj5DnpLrku4XlnKjnrKzkuIDmrKHlr7zlhaXvvIjmm7TmlrDvvInml7blh7rnjrDvvIzlkI7nu63kvb/nlKjov4fnqIvkuK3kuI3kvJrlh7rnjrDvvIFcXFwiXFxuICAgICAgICBzZXRSZXN1bHQoW3tcXG4gICAgICAgICAgICB0aXRsZTogbXNnLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwicmljaF90ZXh0XFxcIlxcbiAgICAgICAgfV0pXFxuICAgICAgICByZXR1cm4gZmFsc2VcXG4gICAgfSBlbHNlIGlmIChwYXJzZUludCh0aW1lKSA8IG5ldyBEYXRlKCkuZ2V0VGltZSgpKSB7XFxuICAgICAgICByZXR1cm4gdHJ1ZVxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgbGV0IHN0ID0gbmV3IERhdGUocGFyc2VJbnQodGltZSkpLnRvTG9jYWxlU3RyaW5nKCkucmVwbGFjZSgvOlxcXFxkezEsMn0kLywgJyAnKTtcXG4gICAgICAgIGxldCBtc2cgPSBcXFwi5Li66YG/5YWN5L2/55So5Lq65pWw5r+A5aKe77yM6KeE5YiZ5bCG5ZyoXFxcIiArIHN0ICsgXFxcIuino+mUgeS9v+eUqOOAgjxicj48YnI+5aW96KeE5YiZ5LiN5oCV5pma77yM6K+36ICQ5b+D562J5b6F77yB6K+l5o+Q56S65LuF5Zyo56ys5LiA5qyh5a+85YWl77yI5pu05paw77yJ5pe25Ye6546w77yM5ZCO57ut5L2/55So6L+H56iL5Lit5LiN5Lya5Ye6546w77yBXFxcIlxcbiAgICAgICAgc2V0UmVzdWx0KFt7XFxuICAgICAgICAgICAgdGl0bGU6IG1zZyxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInJpY2hfdGV4dFxcXCJcXG4gICAgICAgIH1dKVxcbiAgICAgICAgcmV0dXJuIGZhbHNlXFxuICAgIH1cXG59XFxuJC5leHBvcnRzID0gY2FuVXNlKCk7XCJ9XSJ9
Add Comment
Please, Sign In to add comment