Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@APP影视(P)@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiQVBQ5b2x6KeGKFApIiwiYXV0aG9yIjoi6aaZ6ZuF5oOFIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSIsInZlcnNpb24iOjgsImNvbF90eXBlIjoibW92aWVfMyIsImNsYXNzX25hbWUiOiIiLCJjbGFzc191cmwiOiIiLCJhcmVhX25hbWUiOiIiLCJhcmVhX3VybCI6IiIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczpcbmNvbnN0IGNhblVzZSA9ICQucmVxdWlyZShcImhpa2VyOi8vcGFnZS93YWl0XCIpO1xuaWYgKGNhblVzZSkge1xuICAgIHZhciBpdGVtcyA9IFtdO1xuICAgIHZhciBzZWxmID0gSlNPTi5wYXJzZShnZXRSdWxlKCkpLnRpdGxlO1xuICAgIHZhciBzZXRqc29uID0gSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uJywge30pKTtcbiAgICB2YXIgc3NtZCA9IHNldGpzb24uc3Ntb2RlO1xuICAgIHZhciBzc3hjID0gc2V0anNvbi5zc2NvdW50O1xuICAgIHZhciBsb2N2ZXIgPSBNWV9SVUxFLnZlcnNpb247XG4gICAgLy/miZPkubHpobrluo9cbiAgICB2YXIgcmFuZG9tID0gdHJ1ZTtcblxuICAgIGZ1bmN0aW9uIHJhbmRvbVNvcnQzKGFycikge1xuICAgICAgICBhcnIuc29ydChmdW5jdGlvbihhLCBiKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5yYW5kb20oKSAtIDAuNTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuXG4gICAgaXRlbXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAn8J+Ujeiuvue9ricgKyAnKCcgKyAoc3NtZCA9PSAxID8gJ+iBmicgKyBzc3hjIDogJ+WIlycpICsgJyknLFxuICAgICAgICAvL3RpdGxlIDogJ/CflI3orr7nva4nKycoJytzc3hjKycpJyxcbiAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5JykucnVsZSgobG9jdmVyKSA9PiB7XG4gICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9zZXR0aW5nJywge30pKS5ydWxlKTtcbiAgICAgICAgfSwgbG9jdmVyKSxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcbiAgICB9KTtcblxuICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICB0aXRsZTogJ+i1hOa6kOe9kemHh+mbhicsXG4gICAgICAgIHVybDogJ2hpa2VyOi8vaG9tZUDotYTmupDnvZHph4fpm4YueHlxfHxodHRwczovL2hhaWt1b3NoaWppZS5jbi90b3BpYy82MDMzJyxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcbiAgICB9KTtcbiAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICfpppnmg4XlvbHop4YnLFxuICAgICAgICB1cmw6ICdoaWtlcjovL2hvbWVA6aaZ5oOF5b2x6KeGfHxodHRwczovL21wLndlaXhpbi5xcS5jb20vcy9YcFVJM0YxbkJ2bE5nSFh2WTcxdDBnJyxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcbiAgICB9KTtcbiAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6IFwi5pCc57SiXCIsXG4gICAgICAgIHVybDogJC50b1N0cmluZygoKSA9PiB7XG4gICAgICAgICAgICB2YXIgbGluayA9ICdoaWtlcjovL2VtcHR5I25vUmVjb3JkSGlzdG9yeSMkJCQnICsgaW5wdXQgKyAnJCQkZnlwYWdlJCQkJztcbiAgICAgICAgICAgIC8vbG9nKGxpbmspO1xuICAgICAgICAgICAgcmV0dXJuICQobGluaykucnVsZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2Uvc2VhcicpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgb25DaGFuZ2U6IFwicHV0VmFyKCd4eXFhcHB5c3RleHQnLGlucHV0KVwiLFxuICAgICAgICAgICAgdGl0bGVWaXNpYmxlOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGRlc2M6IFwi6K+36L6T5YWl5pCc57Si5YWz6ZSu6K+NXCIsXG4gICAgICAgIGNvbF90eXBlOiBcImlucHV0XCJcbiAgICB9KTtcblxuICAgIHZhciBzc3lxID0gWyfotYTmupDnvZHph4fpm4bmkJxAQOi1hOa6kOe9kemHh+mbhi54eXEnLCAn6aaZ5oOF5b2x6KeG5pCcQEDpppnmg4XlvbHop4YnXTtcbiAgICBpZiAoc2VsZiAhPT0gJ0FQUOW9seinhihQKScpIHtcbiAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogc2VsZiArICfmkJwnLFxuICAgICAgICAgICAgdXJsOiAkKFwiI25vTG9hZGluZyNcIikubGF6eVJ1bGUocnVsZSA9PiAnaGlrZXI6Ly9zZWFyY2g/cz0nICsgZ2V0VmFyKCd4eXFhcHB5c3RleHQnKSArICcmcnVsZT0nICsgcnVsZSwgc2VsZiksXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKHZhciB5cSBpbiBzc3lxKSB7XG4gICAgICAgICAgICB2YXIga2ogPSBzc3lxW3lxXS5zcGxpdCgnQEAnKTtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiBralswXSxcbiAgICAgICAgICAgICAgICB1cmw6ICQoXCIjbm9Mb2FkaW5nI1wiKS5sYXp5UnVsZShydWxlID0+ICdoaWtlcjovL3NlYXJjaD9zPScgKyBnZXRWYXIoJ3h5cWFwcHlzdGV4dCcpICsgJyZydWxlPScgKyBydWxlLCBralsxXSksXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFwiZmxleF9idXR0b25cIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaXRlbXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAn6Iy25p2v54uQ5pCcJyxcbiAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I3gjZnlwYWdlQC0xQCoyNEAjeCMnKS5ydWxlKCgpID0+IHtcbiAgICAgICAgICAgIHZhciByZXMgPSB7fTtcbiAgICAgICAgICAgIHZhciBkID0gW107XG4gICAgICAgICAgICB2YXIgc3BsID0gTVlfVVJMLnNwbGl0KCcjeCMnKTtcbiAgICAgICAgICAgIC8vdmFyIGxpbiA9ICdodHRwczovL2FwaTIuamFja2VyaXNzLmNvbS9hcGkvdjEvc2VhcmNoLz90ZXh0PScgKyBzcGxbMV0gKyAnJnR5cGU9MCZmcm9tPScgKyBzcGxbMl0gKyAnJnNpemU9MjAnO1xuICAgICAgICAgICAgdmFyIGxpbiA9ICdodHRwczovL2FwaS5qYWNrZXJpc3MuY29tL2FwaS92MS9zZWFyY2gvP3RleHQ9JyArIGdldFZhcigneHlxYXBweXN0ZXh0JykgKyAnJnR5cGU9MCZmcm9tPScgKyBzcGxbMV0gKyAnJnNpemU9MjQnO1xuICAgICAgICAgICAgdmFyIHBuID0gc3BsWzFdIC8gMjQgKyAxO1xuICAgICAgICAgICAgdmFyIHVybG8gPSBKU09OLnBhcnNlKHJlcXVlc3QobGluLCB7fSkpO1xuICAgICAgICAgICAgdmFyIHVybHQgPSBKU09OLnBhcnNlKGZldGNoKGxpbi5yZXBsYWNlKCd0eXBlPTAnLCAndHlwZT0xJyksIHt9KSk7XG4gICAgICAgICAgICAvL2xvZyh1cmxvKTtcbiAgICAgICAgICAgIGlmICh1cmxvLnJlc291cmNlcy5sZW5ndGggPCAxICYmIHVybHQucmVzb3VyY2VzLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+W9k+WJjeWFs+mUruWtlyAgJyArIGdldFZhcigneHlxYXBweXN0ZXh0JykgKyAnICDml6DmkJzntKLnu5PmnpwnLFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodXJsby5yZXNvdXJjZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn4pml5b2T5YmN56ysJyArIHBuICsgJ+mhtScsXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdXJsby5yZXNvdXJjZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gdXJsby5yZXNvdXJjZXNbaV0udGV4dC5yZXBsYWNlKC9cXDwuKj9cXD4vZywgJycpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gdXJsby5yZXNvdXJjZXNbaV0udXJsO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGVzYyA9IHVybG8ucmVzb3VyY2VzW2ldLndlYnNpdGU7XG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUucmVwbGFjZShnZXRWYXIoJ3h5cWFwcHlzdGV4dCcpLCAn4oCc4oCcJyArIGdldFZhcigneHlxYXBweXN0ZXh0JykgKyAn4oCd4oCdJykgKyAnICAnICsgZGVzYyArICcgIOWcqOe6vycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vZGVzYzogJ+WcqOe6v+aQnOe0oue7k+aenCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodXJsdC5yZXNvdXJjZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdXJsdC5yZXNvdXJjZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gdXJsdC5yZXNvdXJjZXNbal0udGV4dC5yZXBsYWNlKC9cXDwuKj9cXD4vZywgJycpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gdXJsdC5yZXNvdXJjZXNbal0udXJsO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGVzYyA9IHVybHQucmVzb3VyY2VzW2pdLndlYnNpdGU7XG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUucmVwbGFjZShnZXRWYXIoJ3h5cWFwcHlzdGV4dCcpLCAn4oCc4oCcJyArIGdldFZhcigneHlxYXBweXN0ZXh0JykgKyAn4oCd4oCdJykgKyAnICAnICsgZGVzYyArICcgIOS4i+i9vScsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vZGVzYzogJ+S4i+i9veaQnOe0oue7k+aenCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzLmRhdGEgPSBkO1xuICAgICAgICAgICAgc2V0UmVzdWx0KHJlcyk7XG4gICAgICAgIH0pLFxuICAgICAgICBjb2xfdHlwZTogXCJmbGV4X2J1dHRvblwiXG4gICAgfSk7XG4gICAgdmFyIGFwcGZpbGUgPSBmZXRjaENhY2hlKCdodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQVBQ5b2x6KeG5YiX6KGoJywgMjQpO1xuICAgIGlmICgvSW5NZW1vcnkvLnRlc3QoYXBwZmlsZSkpIHtcbiAgICAgICAgLy9sb2coJ+W9k+WJjeWKoOi9veeahOaYr+e8k+WtmOaVsOaNricpO1xuICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoYXBwZmlsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbG9nKCflvZPliY3liqDovb3nmoTmmK/lhoXnva7mlbDmja4nKTtcbiAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9SZXNDb2RlJywge30pKS5ydWxlKTtcbiAgICB9O1xuICAgIHZhciBjb250cyA9IGh0bWwuZGF0YTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBsaXN0ID0gY29udHNbaV0ubGlzdDtcbiAgICAgICAgdmFyIHR5dGl0ID0gY29udHNbaV0udGl0bGU7XG4gICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHR5dGl0ICsgJyAnICsgW2xpc3QubGVuZ3RoXSxcbiAgICAgICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChyYW5kb20pIHtcbiAgICAgICAgICAgIGxldCBrID0gZ2V0VmFyKE1ZX1JVTEUudGl0bGUgKyBcIi1cIiArIHR5dGl0LCBcIlwiKTtcbiAgICAgICAgICAgIGlmIChrID09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICBsaXN0ID0gcmFuZG9tU29ydDMobGlzdClcbiAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSArIFwiLVwiICsgdHl0aXQsIEpTT04uc3RyaW5naWZ5KGxpc3QpKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsaXN0ID0gSlNPTi5wYXJzZShrKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtqXS50aXRsZTtcbiAgICAgICAgICAgIHZhciB0dXJsID0gbGlzdFtqXS51cmw7XG4gICAgICAgICAgICB2YXIgaW1nID0gbGlzdFtqXS5pbWc7XG4gICAgICAgICAgICBpZiAoL1RW5b2x6KeGLy50ZXN0KHR5dGl0KSkge1xuICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaGlrZXI6Ly9lbXB0eSQkJyArIHR5dGl0ICsgJyQkJyArIHR1cmwgKyAnJCQ/YWM9bGlzdCZjbGFzcz0mcGFnZT1meXBhZ2UmYXJlYT0mdHlwZT0mc3RhcnQ9JCQnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgvQVBQ5b2x6KeGLy50ZXN0KHR5dGl0KSkge1xuICAgICAgICAgICAgICAgIGlmICh0dXJsLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaGlrZXI6Ly9lbXB0eSQkJyArIHR5dGl0ICsgJyQkJyArIHR1cmwgKyAnJCRpbmRleF92aWRlbz90b2tlbj0kJCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0dXJsLmluZGV4T2YoJ3hnYXBwLnBocC92MS8nKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gJ2hpa2VyOi8vZW1wdHkkJCcgKyB0eXRpdCArICckJCcgKyB0dXJsICsgJyQkaW5kZXhfdmlkZW8/dG9rZW49JCQnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaGlrZXI6Ly9lbXB0eSQkJyArIHR5dGl0ICsgJyQkJyArIHR1cmwgKyAnJCQvdm9kUGhiQWxsJCQnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICBwaWNfdXJsOiBpbWcsXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdpY29uX3JvdW5kX3NtYWxsXzQnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZXRSZXN1bHQoe1xuICAgICAgICBkYXRhOiBpdGVtc1xuICAgIH0pO1xufSIsInNlYXJjaF91cmwiOiJoaWtlcjovL2VtcHR5JCQkKiokJCRmeXBhZ2UkJCQiLCJncm91cCI6IuKRoeW9seaQnCIsInNlYXJjaEZpbmQiOiJqczpcbmNvbnN0IGNhblVzZSA9ICQucmVxdWlyZShcImhpa2VyOi8vcGFnZS93YWl0XCIpO1xuaWYgKGNhblVzZSkge1xuICAgICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3NlYXInKTtcbn0iLCJkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwiZGV0YWlsX2ZpbmRfcnVsZSI6ImpzOlxudmFyIHJlcyA9IHt9O1xudmFyIGl0ZW1zID0gW107XG52YXIgdHlwZXQgPSBNWV9VUkwuc3BsaXQoJyQkJylbMV07XG52YXIgbXVybCA9IE1ZX1VSTC5zcGxpdCgnJCQnKVsyXTtcbnZhciB0dXJsID0gbXVybCArIE1ZX1VSTC5zcGxpdCgnJCQnKVszXTtcblxuaWYgKC9UVuW9seinhi8udGVzdCh0eXBldCkpIHtcbiAgICB2YXIgcGcgPSBNWV9VUkwubWF0Y2goL3BhZ2VcXD0oW1xcZF0qKS8pWzFdO1xuICAgIGlmIChwZyA9PSAxKSB7XG4gICAgICAgIHZhciB0eXB0ID0gKCfnlLXlvbEm6L+e57ut5YmnJue7vOiJuibliqjmvKsnKS5zcGxpdCgnJicpO1xuICAgICAgICB2YXIgdHlwbCA9ICgnbW92aWUmdHZwbGF5JnR2c2hvdyZjb21pYycpLnNwbGl0KCcmJyk7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0eXB0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgdHl1cmwgPSBtdXJsICsgJz9hYz1saXN0JmNsYXNzPScgKyB0eXBsW2ldICsgJyZwYWdlPWZ5cGFnZSZhcmVhPSZ0eXBlPSZzdGFydD0nO1xuICAgICAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6IHR5cHRbaV0sXG4gICAgICAgICAgICAgICAgdXJsOiAkKHR5dXJsKS5ydWxlKChtdXJsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW1zID0gW107XG4gICAgICAgICAgICAgICAgICAgIHZhciBtdXJsID0gbXVybDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGdldFJlc0NvZGUoKSk7XG4gICAgICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL3R2bGlzdGRhdGEnLCB7fSkpLnJ1bGUpO1xuICAgICAgICAgICAgICAgICAgICByZXMuZGF0YSA9IGl0ZW1zO1xuICAgICAgICAgICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XG4gICAgICAgICAgICAgICAgfSwgbXVybCksXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICBjb2xfdHlwZTogJ2xpbmUnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShmZXRjaCh0dXJsKSk7XG4gICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL3R2bGlzdGRhdGEnLCB7fSkpLnJ1bGUpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG59IGVsc2UgaWYgKC9BUFDlvbHop4YvLnRlc3QodHlwZXQpKSB7XG5cbiAgICB0cnkge1xuICAgICAgICBpZiAobXVybC5zZWFyY2goL2FwaS5waHBcXC9hcHAvKSAhPSAtMSkge1xuXG4gICAgICAgICAgICB2YXIgdHlwY29kZSA9IHJlcXVlc3QobXVybCArIFwibmF2P3Rva2VuPVwiLCB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICBcIlVzZXItQWdlbnRcIjogXCJEYXJ0LzIuMTMgKGRhcnQ6aW8pXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0eXBjb2RlLmluZGV4T2YoJ+ajgOa1i+S4rScpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgdHlwY29kZSA9IGZldGNoKG11cmwgKyBcIm5hdj90b2tlbj1cIiArICcmYnR3YWYnICsgdHlwY29kZS5tYXRjaCgvYnR3YWYoLio/KVxcXCIvKVsxXSwge30pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHR5cGVjID0gSlNPTi5wYXJzZSh0eXBjb2RlKS5saXN0O1xuXG4gICAgICAgIH0gZWxzZSBpZiAobXVybC5zZWFyY2goL3hnYXBwLnBocFxcL3YxLykgIT0gLTEpIHtcblxuICAgICAgICAgICAgdmFyIHR5cGNvZGUgPSByZXF1ZXN0KG11cmwgKyBcIm5hdj90b2tlbj1cIiwge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJVc2VyLUFnZW50XCI6IFwiRGFydC8yLjEzIChkYXJ0OmlvKVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAodHlwY29kZS5pbmRleE9mKCfmo4DmtYvkuK0nKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgIHR5cGNvZGUgPSBmZXRjaChtdXJsICsgXCJuYXY/dG9rZW49XCIgKyAnJmJ0d2FmJyArIHR5cGNvZGUubWF0Y2goL2J0d2FmKC4qPylcXFwiLylbMV0sIHt9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciB0eXBlYyA9IEpTT04ucGFyc2UodHlwY29kZSkuZGF0YTtcblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHR5cGNvZGUgPSByZXF1ZXN0KG11cmwgKyBcIi90eXBlc1wiLCB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICBcIlVzZXItQWdlbnRcIjogXCJEYXJ0LzIuMTMgKGRhcnQ6aW8pXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0eXBjb2RlLmluZGV4T2YoJ+ajgOa1i+S4rScpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgdHlwY29kZSA9IGZldGNoKG11cmwgKyBcIi90eXBlc1wiICsgJz9idHdhZicgKyB0eXBjb2RlLm1hdGNoKC9idHdhZiguKj8pXFxcIi8pWzFdLCB7fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgdHlwZWMgPSBKU09OLnBhcnNlKHR5cGNvZGUpLmRhdGEubGlzdDtcblxuICAgICAgICB9XG4gICAgICAgIHZhciB0eXBldCA9IFwiXCIsXG4gICAgICAgICAgICB0eXBlbCA9IFwiXCI7XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdHlwZWMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIHR5cGV0ICs9IHR5cGVjW2pdLnR5cGVfbmFtZTtcbiAgICAgICAgICAgIHR5cGVsICs9IHR5cGVjW2pdLnR5cGVfaWQ7XG4gICAgICAgICAgICBpZiAoaiA8IHR5cGVjLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICB0eXBldCArPSBcIiZcIjtcbiAgICAgICAgICAgICAgICB0eXBlbCArPSBcIiZcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgdHlwdCA9IHR5cGV0LnNwbGl0KCcmJyk7XG4gICAgICAgIHZhciB0eXBsID0gdHlwZWwuc3BsaXQoJyYnKTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChtdXJsLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgaWYgKC9mYW50dWFuLy50ZXN0KG11cmwpKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0eXVybCA9ICdodHRwczovL2ZhbnR1YW4ud2tmaWxlLmNvbS9hcGkucGhwL2FwcC92aWRlbz9wZz1meXBhZ2UmdGlkPScgKyB0eXBsW2ldICsgJyZjbGFzcz0mYXJlYT0mbGFuZz0meWVhcj0mdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHR5dXJsID0gbXVybCArICd2aWRlbz9wZz1meXBhZ2UmdGlkPScgKyB0eXBsW2ldICsgJyZjbGFzcz0mYXJlYT0mbGFuZz0meWVhcj0mdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChtdXJsLmluZGV4T2YoJ3hnYXBwLnBocC92MS8nKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgIHZhciB0eXVybCA9IG11cmwgKyAndmlkZW8/cGc9ZnlwYWdlJnRpZD0nICsgdHlwbFtpXSArICcmY2xhc3M9JmFyZWE9Jmxhbmc9JnllYXI9O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICgvaW9wZW55dW4vLnRlc3QobXVybCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHR5dXJsID0gbXVybCArICcvbGlzdD90eXBlPScgKyB0eXBsW2ldICsgJyZjbGFzcz0mbGFuZz0mYXJlYT0meWVhcj0mYnk9JnBhZ2U9ZnlwYWdlJmxpbWl0PTk7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xMyAoZGFydDppbyl9J1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0eXVybCA9IG11cmwgKyAnP3R5cGU9JyArIHR5cGxbaV0gKyAnJmNsYXNzPSZsYW5nPSZhcmVhPSZ5ZWFyPSZieT0mcGFnZT1meXBhZ2UmbGltaXQ9OTtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjEzIChkYXJ0OmlvKX0nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6IHR5cHRbaV0sXG4gICAgICAgICAgICAgICAgdXJsOiAkKHR5dXJsKS5ydWxlKChtdXJsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW1zID0gW107XG4gICAgICAgICAgICAgICAgICAgIHZhciBtdXJsID0gbXVybDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlc2NvZGUgPSBnZXRSZXNDb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNjb2RlLmluZGV4T2YoJ+ajgOa1i+S4rScpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNjb2RlID0gZmV0Y2goTVlfVVJMICsgJyZidHdhZicgKyByZXNjb2RlLm1hdGNoKC9idHdhZiguKj8pXFxcIi8pWzFdLCB7fSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKHJlc2NvZGUpO1xuICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9hcHBsaXN0ZGF0YScsIHt9KSkucnVsZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcbiAgICAgICAgICAgICAgICAgICAgc2V0SG9tZVJlc3VsdChyZXMpO1xuICAgICAgICAgICAgICAgIH0sIG11cmwpLFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgY29sX3R5cGU6ICdsaW5lJ1xuICAgICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7fVxuXG5cbiAgICB0cnkge1xuICAgICAgICB2YXIgaHRtbCA9IHJlcXVlc3QodHVybCwge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIkRhcnQvMi4xMyAoZGFydDppbylcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGh0bWwuaW5kZXhPZign5qOA5rWL5LitJykgIT0gLTEpIHtcbiAgICAgICAgICAgIGh0bWwgPSBmZXRjaCh0dXJsICsgJyZidHdhZicgKyBodG1sLm1hdGNoKC9idHdhZiguKj8pXFxcIi8pWzFdLCB7fSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGh0bWwpO1xuICAgICAgICAvL2xvZyhodG1sKTtcbiAgICAgICAgLy9pZiAobXVybC5pbmRleE9mKCd4Z2FwcC5waHAvdjEvJykgIT0gLTEpIHtcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvYXBwaW5kZXhkYXRhJywge30pKS5ydWxlKTtcbiAgICAgICAgLy99IGVsc2Uge1xuICAgICAgICAvL2xvZyhodG1sKTtcbiAgICAgICAgLy9ldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9hcHBsaXN0ZGF0YScsIHt9KSkucnVsZSk7XG4gICAgICAgIC8vfVxuICAgIH0gY2F0Y2ggKGUpIHt9XG5cbn1cblxucmVzLmRhdGEgPSBpdGVtcztcbnNldEhvbWVSZXN1bHQocmVzKTsiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoiaWYgKCFmaWxlRXhpc3QoJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicpKSB7XG4gICAgbGV0IHNldCA9IGB7XCJzc21vZGVcIjpcIjBcIixcInNzY291bnRcIjpcIjVcIixcImVuRG5cIjpcIjBcIn1gO1xuICAgIHdyaXRlRmlsZShcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblwiLCBzZXQpO1xufVxudmFyIHJ1bGVzZXQgPSBmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uJywge30pO1xuaWYgKCFKU09OLnBhcnNlKHJ1bGVzZXQpLmVuRG4pIHtcbiAgICBsZXQgc2V0ID0gcnVsZXNldC5yZXBsYWNlKCdcXFwiXFx9JywgJ1xcXCJcXCxcXFwiZW5EblxcXCJcXDpcXFwiMFxcXCJcXH0nKTtcbiAgICB3cml0ZUZpbGUoXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cIiwgc2V0KTtcbn0iLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiSlNPTuaOpeWPo+aVsOaNrlwiLFwicGF0aFwiOlwiUmVzQ29kZVwiLFwicnVsZVwiOlwie1xcbiAgICBcXFwiZGF0YVxcXCI6IFt7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIkFQUOW9seinhlxcXCIsXFxuICAgICAgICAgICAgXFxcImxpc3RcXFwiOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIjAwN+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LjAwN3RzLmNjL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mbtumbtuS4g+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCI1NTXnlLXlvbFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vdzd0di5jb20vYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vNTU155S15b2xLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIjUwNjDlvbHpmaJcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2FwcC5saW56aGl5dWFuLnh5ei94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vNTA2MOW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCI5MTNl5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy45MTNlLm5ldC94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vOTEzReW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCJGN+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly92LnpxMTA4MC5jYy9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi9GN+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCJvbmXlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vd3d3Lm9uZWRpYW5zaGkuY29tL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL09OReW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCJ2aXDlvbHpmaJcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vMzYweXkuY24veGdhcHAucGhwL3YxL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL1ZJUOW9semZonhnLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueIseWwmuW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LmFpc3ZvZC50di94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v54ix5bCa5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueIseW9seWQp1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuYXlpbmIuY29tL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eIseW9seWQpy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmkq3mlL7lkYBcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy5ib2Zhbmd5YS5jb20veGdhcHAucGhwL3YxL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aSreaUvuWRgC5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnlYXop4blvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYXBwLnJlYm9qdS5uZXQvYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55WF6KeG5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIui/qui/quW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9kZDg4LmljdTo2MDgwL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+i/qui/quW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlmIDlk6nlmIDlk6lcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2RpbGlrdHYueHl6L3hnYXBwLnBocC92MS9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lmIDlk6nlmIDlk6kucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5aSn5biI5YWEXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9ob3UubHUvYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSn5biI5YWE5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuauteWPi+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vbGIuNTI3N3MuY29tL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+auteWPi+W9seinhsKpLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIumjnuiLseinhumikVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly92LnBob3Zlcy5jb20uY24veGdhcHAucGhwL3YxL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mjnuiLseinhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnk5znmq5UVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuZGlqaWF4aWEuY29tL3hnYXBwLnBocC92MS9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nk5znmq5UVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmtbfog4blvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veGYxMjMuY2MvYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5rW36IOG5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueBq+eureW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9odW9qaWFuLndjaHVsaWFuLmNvbS5jbi9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ngavnrq3lvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5rW357u15b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcDEueXV6aG91eXMuY29tL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+a1t+e7teW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmtbfmo6Dop4bpopFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy5oYWl0YW5nc3AubmV0L3hnYXBwLnBocC92MS9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mtbfmo6Dop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Lqs5bm/6IiqXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuamluZ2d1YW5oYW5nLmNvbS9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuqzlub/oiKrlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Lmd5ZCI6KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9wdHlneC5jb20vYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Lmd5ZCI6KeG6aKRLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS5heS5neW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vYXBpLjU4cXhrLmNuL3hnYXBwLnBocC92MS9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuYXkuZ3lvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi54G154uQ5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3guZG1udHYuY29tL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eBteeLkOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnkLPnkIXlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy51MjNjLmNvbS9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nkLPnkIXlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5p6B5LmQ6ZiBXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly92aXAud3VxY21zLmNvbS9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mnoHkuZDpmIEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5oq56Iy254yqXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cubWN6ZHl3LmNvbS94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5oq56Iy254yq55S15b2xLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuiQjOibi+ibi1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAubWVuZ2RhbmRhbi5jb20veGdhcHAucGhwL3YxL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+iQjOibi+ibiy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLov7fkvaDlupNcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vd3d3Lm1pbmlrdS5jYy9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ov7fkvaDlupMucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55qu55qu5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3BwLmlnNC5jbi94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55qu55qu5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuawouinhumikVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9oMTA4MHAuY29tL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+awouinhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmgJ3lj6TlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2FwcC5zaWd1eXkuY29tL3hnYXBwLnBocC92MS9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mgJ3lj6TlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi56We6ams5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuNjA4MGthbi5jYy94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v56We6ams5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWPjOWNgeeUteW9sVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuc2hvdWppa2FuZGlhbnlpbmcuY29tL2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WPjOWNgeeUteW9sS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLns5bmnpzlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy50Z3lzLnR2L2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+ezluaenOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlpKnnqbrlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy50a3lzLnR2L2FwaS5waHAvYXBwL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WkqeepuuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmsaHlppbliqjmvKtcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy53eXlkbS5jb20vYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5rGh5aaW5Yqo5ryrLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaYn+epuuW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8veGt5cy50di94Z2FwcC5waHAvdjEvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5pif56m65b2x6KeGeGcucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5bCP5by6VFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veHFhcHAuaGFpbGFuZmouY29tL3hnYXBwLnBocC92MS9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lsI/lvLpUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpm6rkurrlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vcXF0dmFwcC5jb20veGdhcHAucGhwL3YxL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mbquS6uuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsI/mmJPlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3h5Lmlyb3AuY24vYXBpLnBocC9hcHAvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5bCP5piT5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuW9seinhuW3peWculxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LmlrNC5jYy9hcGkucGhwL2FwcC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lvbHop4blt6XlnLoucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6L+95Ymn6L6+5Lq6XFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3ZpcG12LnR2L3hnYXBwLnBocC92MS9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ov73liafovr7kuroucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgXVxcbiAgICAgICAgfSxcXG4gICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiQVBQ5b2x6KeGKHYxKVxcXCIsXFxuICAgICAgICAgICAgXFxcImxpc3RcXFwiOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIjRL5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovLzRrZHl0di5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi80S+W9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCI3MjDnnIvniYdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3R2ZC43MjBrcC5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uLzcyMOeci+eJhy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCI4MOW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuY2NjOC5uZXQvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi84MOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCI4MEvlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovLzEwODBwLnR2L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vODBL5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIkNKVOW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LmNqdDUyMS5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi9DSlTlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiSEflvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vY3MuaGd5eC52aXAvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi9IR+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCJVNeW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vYXBweC51eTA3LmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL1U15b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIlZJUOW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuc3Aub29vL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vVklQ5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcInlveW9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vangud252b2QubmV0L3J1aWZlbmdsYl9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL3lveW/lvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi54ix5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuaHpsZmYuY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/niLHlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi54ix55yL576O5YmnXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cudXVtancuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v54ix55yL576O5YmnLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuiJvueJueW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LmFpdGVlLmNjL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6Im+54m55b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueIseilv+ilv1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAuYWl4aXhpLnZpcC9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eIseilv+ilv+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpmL/lp6jov73liadcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy5heXpodWlqdS5jb20vcnVpZmVuZ2xiX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6Zi/5aeo6L+95YmnMi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnmb3oj5zov73liadcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbGJhcHAuaHVpbWFvamlhLmNvbTozMDExOS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eZveiPnOi/veWJpy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmr5TpgrvlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vMGh6eS5jbjo5OTkwL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5q+U6YK75b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueZvuiur+inhumikVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vei5pb3Blbnl1bi5jb206OTkvYXBwX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55m+6K6v6KeG6aKRLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuiPnOm4n+WKqOa8q1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly90YWlrb25nLmh1YW5nZ3VheS5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/oj5zpuJ/liqjmvKsucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55WF5LyY6KeG55WMXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC41MThpbW8uY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nlYXkvJjop4bnlYwucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Yid5b+D5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuMThtdi5jbHViL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Yid5b+D5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIumUpOWtkOi/veWJp1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuampzdmlwLmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6ZSk5a2Q6L+95YmnLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWkmuWkmuW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vc3AuOWFlbmcuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSa5aSa5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWkp+a1t+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly8xMTkuMjkuNjMuMTM3L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSn5rW35b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS4nOWNl+W9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8veXMuZGFiaWguY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuJzljZflvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5aSn54aK5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9keHlzMzM1NS5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lpKfnhorlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5q615Y+L5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2pzLjY2YXBwLm1lL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5q615Y+L5b2x6KeGMi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmrrXlj4vlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3NoYW5namlodW9rZS5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mrrXlj4vlvbHop4YzLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS6jOeLl+eUteW9sVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAuaGV0YW95cy52aXAvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuozni5fnlLXlvbEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6aOO6L2m5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy5mZWlmYW4xMjMueHl6L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6aOO6L2m5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIumjnuaNt+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LmZqNjA4MC5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/po57mjbflvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55av54uC55yLXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC5ma2tkeS52aXAvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nlq/ni4LnnIvnlLXlvbEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5YWs5Li75b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL21tLnRjc2RjaGluYS5jb206NjA5Ni9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WFrOS4u+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLovonlk6XlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2FwcC55LmhneXVsZTguY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6L6J5ZOl5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIum7hOays+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9pLmxlZHU4LmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6buE5rKz5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIum7kemprOWKqOa8q1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9sa2FuLnZpcC9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+m7kemprOWKqOa8qy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpu5HpqazlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vd3d3LmxrYW4udmlwL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6buR6ams5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuebkuWtkOW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9pLm5paGFvaGV6aS5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nm5LlrZDlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi562L5paX5LqRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly90di5qaW5kY2xvdWQuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v562L5paX5LqR5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaegeeugOW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vdHYuYXJlb25lLnRvcC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aegeeugOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLkuYXkuYXov73liadcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYmMuYmh0di5vcmcuY24vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuYXkuYXov73liacucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Ymn6L+36KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3Bhbi5oemFmdy5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/liafov7fop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5qmY5a2Q5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2p6Lmp1emlkeS52aXAvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mqZjlrZDlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55yL5Ymn5ZCnXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC5pc2hlbjUyMC5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nnIvliaflkKcucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Y+v57Gz5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy5rbXlzdy52aXAvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lj6/nsbPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6ZiU6LS85b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuaXR2YWEuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6ZiU6LS85b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuW/q+S6keW9semfs1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vay5wdHlneC5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lv6vkupHlvbHpn7MucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6JOd5YWJ6KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3ZpcC45MWlxaXlpLmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+iTneWFieinhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmnpfosLflvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veXMubGluZ3V5eS54eXovbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mnpfosLflvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi57u/566t5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy42OXR5LmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v57u/566t5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS5kOeci+inhumikVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cubGthbi52aXAvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuZDnnIvop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Ya36KeGVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2xlbi50di9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WGt+inhlRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuacqOeZveW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly92YXBwLjIzYXQuY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mnKjnmb3lvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi576O5Ymn6JmrXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9tZWlqdWNob25nLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+e+juWJp+iZqy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLllrXkuZDlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbWlhb2xleXMuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Za15LmQ5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIum6u+iFvlRWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cubWF0ZW5ndHYudG9wL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6bq76IW+VFYucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Za15b2x5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy5teG1iay54eXovYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/llrXlvbHlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5pyo5a2Q55S15b2xXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy5tdXppZHkudG9wL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5pyo5a2Q55S15b2xLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIum6u+WtkOi/veWJp1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9iLjJtYXouY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/purvlrZDov73liacucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5aWI6Z2e6L+3XFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9hcHAubmV0ZmxpeG1pLmNvbS9ydWlmZW5nbGJfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lpYjpnZ7ov7flvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Y2X5bqc5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL25mYXBpLnhrdmlkZW8uY2x1Yi9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WNl+W6nOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmmpblhYnlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2FwcC5ibDIxMC5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mmpblhYnlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5YaF5ra15b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3YubmhkeXlzLmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5YaF5ra15b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuearuearuWKqOa8q1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9kbS5tdXlpbmcubWUvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nmq7nmq7liqjmvKsucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55qu5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC5waXlpbmdzaGkuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55qu5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWFqOiDveW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vcW55czU1NjYuY29tL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5YWo6IO95b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWlh+i2o+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vYXBwLnFpcXUubWUvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lpYfotqPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6aqR5aOr5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9hcHAucWlzaGkueHl6L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6aqR5aOr5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS6uuS6uuWKqOa8q1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9tYW4uampzdmlwLmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Lq65Lq65Yqo5ryrLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuelnumprOW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly94aW4uampzdmlwLmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v56We6ams5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaAneWlh+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAuc2lxaXR2LnZpcC9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aAneWlh+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLop4blkKzmmJ/nkINcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vemp5YXBpanp5cy5zaHlud2xrai5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/op4blkKzmmJ/nkIMucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5omL5oyH5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3N6eXMzMzU1LmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aJi+aMh+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlnJ/osYZUVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly94aXV4aWFuLnFkMjM0LmNuL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Zyf6LGGVFYucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5reY5Ymn56S+XFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9hcHAuc2h1aGFpOTkuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5reY5Ymn56S+LnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWkqeepuuW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vdHYuNTFhaXpuLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WkqeepuuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlpKnlpKnlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYXBwLmF0MDA4LmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSp5aSp5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWkqeWkqeinhumikVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAucWlhbmp1LmNjL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSp5aSp6KeG6aKRLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWbouWkleW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly8xMTkuMjkuMTIxLjQ4L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Zui5aSV5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWFlOWtkOeqnVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9jai5odWltYW9qaWEuY29tOjEyMzQ1L21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5YWU5a2Q56qdLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaIkeeIsei3n+WJp1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3Lmdlbm1vdi5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/miJHniLHot5/liacucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5ZC+54ix5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC41bHAubmV0L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5ZC+54ix5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuicl+eJm+eci+m4rVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9tb3ZpZS45NmtlamkuY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/onJfniZvnnIvpuK0ucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6JyX54mb5Yqo5ryrXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3dvbml1ZG0ud29uaXUuY3lvdToyMDAwMC9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+icl+eJm+WKqOa8qy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsI/ln47lvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy4yNjl3LmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+Wwj+WfjuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlhYjplIvop4bpopFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovLzU4eHR2Lm5ldC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WFiOmUi+inhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsI/mnoHlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYXBpLnhpYW95c3cuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5bCP5p6B5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaYn+epuuW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly94aW9uZ2tvbmd3eC5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aYn+epuuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnhornjKvliqjmvKtcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vZG9uZ21hbi5rOGFhLmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eGiueMq+WKqOa8qy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnjrrlqJzlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3BwLnd4aW5hLmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v54665aic5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWwj+icu+ick1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly8za2V0di5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lsI/onLvonJPop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6Zuq5Lq66LWE5rqQXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly96eS5xZDIzNC5jbi9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mbquS6uui1hOa6kOermS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnjrrlv4PlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3R2LmFyYmQuY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/njrrlv4PlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5pif5b2x55u46ZqPXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC5yb290dGhyZWUudG9wL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5pif5b2x55u46ZqPLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWwj+aYk+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly94eS5pcm9wLmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5bCP5piT5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaYn+aciOi/veWJp1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly94aW5neXVlemh1aWp1LmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aYn+aciOi/veWJpy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnm4rovr7lvbHpmaJcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbHVvYnUueXNzNjA4MC5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nm4rovr7lvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5YWD6Iqz5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3lmeXMxMTIyLmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WFg+iKs+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpm6jmnpzlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veWdhcHAueGN5czYzLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mbqOaenOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmqLHoirHliqjmvKtcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy5kbXd1LmNjL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5qix6Iqx5Yqo5ryrLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIumiluWutuW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly96bHkueGpxeHoudG9wL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6aKW5a625b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaciOS6ruW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuMTN0di50b3AvYWNqX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5pyI5Lqu5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuW9seinhuWkp+WFqFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8veGMueGl4aTJ5eS54eXovbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lvbHop4blpKflhahIRC5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlvbHop4bng63liadcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbGIuMjZ5cy5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+W9seinhueDreWJpy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmnIjoibLlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vNjl0eS5jYy9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aciOiJsuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmnajmoYPlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veXR5czExMjIuY29tL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5p2o5qGD5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuW9semYhemYgVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly8yMjEuMjM2LjE4LjEyOjY2NS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+W9semYhemYgS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmuJTmuJTlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbHVvYm8ueXVnZW55ZS5zaXRlL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5riU5riU5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS8mOS8mOW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly94cy43OHR2LmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LyY5LyY5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS4gOWPqumxvFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuYmQtNGsubWwvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuIDlj6rpsbzlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6L+955Wq54yrXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2RtLjQ5NmR5LmNuOjg4L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6L+955Wq54yrLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWuheeUt+W9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LnpueXk2NjYudG9wL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5a6F55S35b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWuheeUt+W9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuc2V4eXkudG9wL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5a6F55S35b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS+puaOouW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly95cy5odWFuZ2d1YXkuY29tL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5L6m5o6i5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIui/veW9seWFlFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9sb25ndy54eXo6OTEvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ov73lvbHlhZQucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi54yq54yq5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC4yemR5eS5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/njKrnjKrlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgXVxcbiAgICAgICAgfSxcXG4gICAgICAgIHtcXG4gICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiQVBQ5b2x6KeGKHR2KVxcXCIsXFxuICAgICAgICAgICAgXFxcImxpc3RcXFwiOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIjU1NVRWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3R2Lmd4aHNoeXkuY29tL2FwaS5waHAvZ2N0dmFwaS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi81NTVUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCI3MjDnnIvniYdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3R2ZC43MjBrcC5jbi9hcGkucGhwL3R2LnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uLzcyMOeci+eJh1RWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuauteWPi+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vc2hhbmdqaWh1b2tlLmNvbS9hcGkucGhwL3R2LnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+auteWPi+W9seinhlRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWPr+exs+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cua215c3cudmlwL2FwaS5waHAvdHYudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Y+v57Gz5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWliOmdnui/t1RWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9hcHAubmV0ZmxpeG1pLmNvbS9hcGkucGhwL3R2LnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WliOmdnui/t1RWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIF1cXG4gICAgICAgIH0sXFxuICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIlRW5b2x6KeGXFxcIixcXG4gICAgICAgICAgICBcXFwibGlzdFxcXCI6IFt7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiMuWPt+W4gVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9waG9lYmUuY2YvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi8y5Y+35biB5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiRjflvbHpmaJcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbXR2Lmhhb2thbmp1MS5jYy9hcGkucGhwL0NoZW5nY2hlbmcvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL0Y35b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiSEflvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYXBpLmhneXgudmlwL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vSEflvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlgrLop4blvbHpmaJcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vai56amoubGlmZTo4OC9tdi9hcGkucGhwL0NoZW5nY2hlbmcvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WCsuinhuW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueIseilv+ilv1RWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3R2LmFpeGl4aS52aXAvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/niLHopb/opb9UVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWwmOaik1RWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2N6dHYudmlwOjgzL2FwaS5waHAvY2hlbnppeXN0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5bCY5qKTVFYucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnqLvojYnkurpUVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuemhhaWthbnlzLnh5ei9hcGkucGhwL2lwdHYxL3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nqLvojYnkurpUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWYgOWTqeWYgOWTqVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vYXBpLmRpbGlrdHYueHl6L2FwaS5waHAvQ2hlbmdjaGVuZy92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5ZiA5ZOp5ZiA5ZOpVFYucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLliqjlipvlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vd3d3LmxvdmU5OTg5LmNvbS9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WKqOWKm+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWkp+W4iOWFhFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9kc3h0di50di5jaS9hcGkucGhwL2RzeC92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSn5biI5YWE5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6aOO6L2m5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy5mZWlmYW4xMjMueHl6L2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6aOO6L2m5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55av54uC55yLVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vdHYuZmtrZHkudmlwL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55av54uC55yLVFYucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLngavnrq3lvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vMjkzLjA3NTkuZml0OjgvYy9hcGkucGhwL1dBaUxhb3dhbmcvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eBq+eureW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIum7kem+meW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly92aXAuamktZGluZy1oZS5zaXRlL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6buR6b6Z5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi57qi54mbVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYmJiLjA1NjE1OC5jb20vYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nuqLniZtUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaguOahg+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly90di5oZXRhb3lzLnZpcC9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aguOahg+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuiBmuWkmuW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9qZHlzLndlZXRhaS5jbi9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+iBmuWkmuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS5heS5heW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9sbS4wODE4dHYuY29tL212L2FwaS5waHAvaml1aml1eXN0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LmF5LmF5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5LmQ6YW3VFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbGt0di50b3A6NTUvYXBpLnBocC9jaGVueml5c3R2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuZDphbdUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIua1geaYn+mbqFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9zeXkubHh5eXkueHl6L212L2FwaS5waHAvQ2hlbmdjaGVuZy92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5rWB5pif6Zuo5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5YeM6Zuq5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2x4dWUudG9wL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5YeM6Zuq5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Ya35pyIVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3R2LjUyMXg1LmNvbS9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WGt+aciFRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5oCd5aWHVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vdHYuc2lxaXR2LnZpcC9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aAneWlh1RWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Y+M5a2Q5pifXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3R2LmRpeW91aS5jYy9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WPjOWtkOaYny5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuiLpeaDnOW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9yeHcucnVveGluZXcuY29tL2FwaS5waHAvU250di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6Iul5oOc5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5bCP5p6BVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYXBpLjhkOHEuY29tL21tdi9hcGkucGhwL0NoZW5nY2hlbmcvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+Wwj+aegVRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5LqR5pKt5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3l1bmJvLmJ4aW4udHYvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kupHmkq3lvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBdXFxuICAgICAgICB9XFxuICAgIF1cXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmkJzntKJcIixcInBhdGhcIjpcInNlYXJcIixcInJ1bGVcIjpcInZhciByZXMgPSB7fTtcXG52YXIgaXRlbXMgPSBbXTtcXG4vL+iuvue9ruaQnOe0oue6v+eoi1xcbnZhciBzc21vZGUgPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb24nLCB7fSkpLnNzbW9kZTtcXG52YXIga2V5ID0gTVlfVVJMLnNwbGl0KCckJCQnKVsxXTtcXG4vL3NldEVycm9yKGxlKTtcXG5pZiAoc3Ntb2RlID09ICcwJykge1xcbiAgICBzZXRQYWdlVGl0bGUoa2V5ICsgJyDnmoTmkJzntKLnu5PmnpwnKVxcbn07XFxudmFyIGFwcGZpbGUgPSBmZXRjaENhY2hlKCdodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQVBQ5b2x6KeG5YiX6KGoJywgMjQpO1xcbmlmICgvSW5NZW1vcnkvLnRlc3QoYXBwZmlsZSkpIHtcXG4gICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGFwcGZpbGUpO1xcbn0gZWxzZSB7XFxuICAgIGxvZygn5b2T5YmN5Yqg6L2955qE5piv5YaF572u5pWw5o2uJyk7XFxuICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvUmVzQ29kZScsIHt9KSkucnVsZSk7XFxufTtcXG52YXIgZGxpc3QgPSBodG1sLmRhdGE7XFxuXFxuZnVuY3Rpb24gcmFuZG9tU29ydDMoYXJyKSB7XFxuICAgIGFyci5zb3J0KGZ1bmN0aW9uKGEsIGIpIHtcXG4gICAgICAgIHJldHVybiBNYXRoLnJhbmRvbSgpIC0gMC41O1xcbiAgICB9KTtcXG4gICAgcmV0dXJuIGFycjtcXG59XFxuXFxuLy/miZPkubHpobrluo9cXG52YXIgcmFuZG9tID0gdHJ1ZTtcXG5pZiAoc3Ntb2RlID09ICcxJyB8fCBNWV9UWVBFID09ICdob21lJykge1xcbiAgICBmb3IgKHZhciBsID0gMDsgbCA8IGRsaXN0Lmxlbmd0aDsgbCsrKSB7XFxuICAgICAgICB2YXIgbGlzdCA9IGRsaXN0W2xdLmxpc3Q7XFxuICAgICAgICB2YXIgdHl0aXQgPSBkbGlzdFtsXS50aXRsZVxcbiAgICAgICAgaWYgKHJhbmRvbSkge1xcbiAgICAgICAgICAgIGxldCBrID0gZ2V0VmFyKE1ZX1JVTEUudGl0bGUgKyBcXFwiLVxcXCIgKyB0eXRpdCwgXFxcIlxcXCIpO1xcbiAgICAgICAgICAgIGlmIChrID09IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgICAgIGxpc3QgPSByYW5kb21Tb3J0MyhsaXN0KVxcbiAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSArIFxcXCItXFxcIiArIHR5dGl0LCBKU09OLnN0cmluZ2lmeShsaXN0KSlcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBsaXN0ID0gSlNPTi5wYXJzZShrKVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG5cXG4gICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBNWV9UWVBFID09IFxcXCJob21lXFxcIiA/IFxcXCLngrnlh7vmn6XnnIsgXFxcIiArIHR5dGl0ICsgXFxcIiDliIbnsbsg4oCc4oCcXFxcIiArIGtleSArIFxcXCLigJ3igJ0g55qE6IGa5pCc57uT5p6cXFxcIiA6IFxcXCLngrnlh7vmn6XnnIsgXFxcIiArIHR5dGl0ICsgXFxcIiDliIbnsbsgXFxcIiArIGtleSArIFxcXCIg55qE6IGa5pCc57uT5p6cXFxcIixcXG4gICAgICAgICAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkkJCQnICsga2V5ICsgJyQkJGZ5cGFnZSQkJCcpLnJ1bGUoKGxpc3QsIHR5dGl0KSA9PiB7XFxuICAgICAgICAgICAgICAgIHZhciByZXMgPSB7fTtcXG4gICAgICAgICAgICAgICAgdmFyIGl0ZW1zID0gW107XFxuICAgICAgICAgICAgICAgIC8v5Y+W5pCc57Si57q/56iL6K6+572uXFxuICAgICAgICAgICAgICAgIHZhciBzc3hjID0gSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uJywge30pKS5zc2NvdW50O1xcbiAgICAgICAgICAgICAgICAvL+iuvue9rui2heaXtuaXtumXtO+8jOi2iuWwj+i2iuW/q++8jOWNleS9jeavq+enklxcbiAgICAgICAgICAgICAgICB2YXIgdGltZW91ID0gZ2V0SXRlbSgnYXBwdGltb3V0JywgJzMwMDAnKTtcXG4gICAgICAgICAgICAgICAgdmFyIGtleSA9IE1ZX1VSTC5zcGxpdCgnJCQkJylbMV07XFxuICAgICAgICAgICAgICAgIHZhciBudW0gPSBNWV9VUkwuc3BsaXQoJyQkJCcpWzJdO1xcbiAgICAgICAgICAgICAgICB2YXIgbGUgPSBwYXJzZUludChudW0gKiBzc3hjKTtcXG4gICAgICAgICAgICAgICAgdmFyIERhdGEgPSBbXTtcXG4gICAgICAgICAgICAgICAgdmFyIFRpdCA9IFtdO1xcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gbGUgLSBzc3hjOyBqIDwgbGU7IGorKykge1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKGogPCBsaXN0Lmxlbmd0aCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaW5rID0gbGlzdFtqXS51cmw7XFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9BUFDlvbHop4YvLnRlc3QodHl0aXQpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJ3NlYXJjaD9wZz0xJnRleHQ9JyArIGtleSArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChsaW5rLmluZGV4T2YoJ3hnYXBwLnBocC92MS8nKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICdzZWFyY2g/cGc9MSZ0ZXh0PScgKyBrZXk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoL2lvcGVueXVuLy50ZXN0KGxpbmspKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICcvbGlzdD9wYWdlPWZ5cGFnZSZsaW1pdD0xMCZ3ZD0nICsga2V5O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJz9wYWdlPTEmbGltaXQ9MTAmd2Q9JyArIGtleTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1RW5b2x6KeGLy50ZXN0KHR5dGl0KSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoLzE5anh8MjkzeXN8emhhaWthbnlzfGppXFxcXC1kaW5nXFxcXC1oZXxwaG9lYmV8eXVuYm9cXFxcLmJ4aW58bGFucmVudGt8aGV0YW95c3xweHVufDEzOVxcXFwuMTU1fGZra2R5fDA1NjE1OHxhaXhpeGl8cnVveGluZXd8ZmVpZmFuMTIzfHNpcWl0di8udGVzdChsaW5rKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICc/YWM9bGlzdCZ6bT0nICsga2V5ICsgJyZwYWdlPTEnO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICc/YWM9bGlzdCZ3ZD0nICsga2V5ICsgJyZwYWdlPTEnO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vRGF0YS5wdXNoKHt1cmw6IGhtdXJsLG9wdGlvbnM6IHtoZWFkZXJzOiB7XFxcIlVzZXItQWdlbnRcXFwiOiBcXFwiRGFydC8yLjEzIChkYXJ0OmlvKVxcXCJ9LHRpbWVvdXQ6IHRpbWVvdX19KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBEYXRhLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGhtdXJsLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIlVzZXItQWdlbnRcXFwiOiBcXFwiRGFydC8yLjEzIChkYXJ0OmlvKVxcXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0OiB0aW1lb3VcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIFRpdC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0OiBsaXN0W2pdLnRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBsaW5rLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBubTogdHl0aXRcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIH0gLy9pZlxcbiAgICAgICAgICAgICAgICB9IC8vZm9yIGpcXG5cXG4gICAgICAgICAgICAgICAgLy8tLS3ku6PnoIHliIbnlYznur8tLS0tIFxcbiAgICAgICAgICAgICAgICBpZiAoRGF0YSAhPSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGJodG1sID0gYmF0Y2hGZXRjaChEYXRhKTtcXG4gICAgICAgICAgICAgICAgICAgIC8vd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBFcnJvci5qc29uXFxcIixKU09OLnN0cmluZ2lmeShiaHRtbCkpO1xcblxcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBiaHRtbC5sZW5ndGg7IGsrKykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gYmh0bWxba107XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2coaHRtbCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbCA9IGh0bWwuc3Vic3RyaW5nKDAsIDIpID09ICdcXFxcclxcXFxuJyA/IGh0bWwucmVwbGFjZSgnXFxcXHJcXFxcbicsICcnKSA6IGh0bWw7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoL2J0d2FmLy50ZXN0KGh0bWwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwgPSBmZXRjaChEYXRhW2tdLnVybCArICcmYnR3YWYnICsgaHRtbC5tYXRjaCgvYnR3YWYoLio/KVxcXFxcXFwiLylbMV0sIHt9KTtcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGh0bWwgPT0gXFxcIlxcXCIgfHwgaHRtbCA9PSBudWxsIHx8IGh0bWwuc3Vic3RyaW5nKDAsIDUpID09ICdlcnJvcicgfHwgIWh0bWwuc3RhcnRzV2l0aCgneycpKSB7XFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFRpdFtrXS50aXQgKyAnICcgKyAn5pyq5pCc57Si5Yiw77yM54K55Ye76K6/6Zeu5Y6f572R6aG1JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogRGF0YVtrXS51cmwgKyBgQGxhenlSdWxlPS5qczppbnB1dC5zcGxpdCgnOycpWzBdYCxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGh0bWwubGVuZ3RoIDwgODApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogVGl0W2tdLnRpdCArICcgJyArICfov5Tlm57mlbDmja7kuI3lrozmlbTvvIzngrnlh7vorr/pl67ljp/nvZHpobUnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBEYXRhW2tdLnVybCArIGBAbGF6eVJ1bGU9LmpzOmlucHV0LnNwbGl0KCc7JylbMF1gLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShodG1sKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2coaHRtbCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0eXBldCA9IFRpdFtrXS50eXBubTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRkb21pbiA9IFRpdFtrXS5saW5rO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaHRtbC5saXN0KSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdCA9IGh0bWwubGlzdDtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChodG1sLmRhdGEubGlzdCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpc3QgPSBodG1sLmRhdGEubGlzdDtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChodG1sLmRhdGEpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0ID0gaHRtbC5kYXRhO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpc3QgPSBbXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlzdC5sZW5ndGggPCAxKSB7XFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogVGl0W2tdLnRpdCArICcgJyArICfliJfooajlsI/kuo4x77yM5peg5rOV5bGV56S677yM54K55Ye76K6/6Zeu5Y6f572R6aG1JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IERhdGFba10udXJsICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvVFblvbHop4YvLnRlc3QodHlwZXQpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udGl0bGU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwaWMgPSBsaXN0W2ldLnBpYztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IGxpc3RbaV0ubmV4dGxpbms7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnN0YXRlO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL0FQUOW9seinhi8udGVzdCh0eXBldCkpIHtcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRkb21pbi5pbmRleE9mKCdhcGkucGhwL2FwcC8nKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtpXS52b2RfbmFtZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwaWMgPSBsaXN0W2ldLnZvZF9waWM7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoL2ZhbnR1YW4vLnRlc3QodGRvbWluKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2aWQgPSAnaHR0cHM6Ly9mYW50dWFuLndrZmlsZS5jb20vYXBpLnBocC9hcHAvdmlkZW9fZGV0YWlsP2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICd2aWRlb19kZXRhaWw/aWQ9JyArIGxpc3RbaV0udm9kX2lkICsgJyZ0b2tlbj0nO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlbSA9IGxpc3RbaV0udm9kX3JlbWFya3M7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS50eXBlLnR5cGVfZGVzO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRkb21pbi5pbmRleE9mKCd4Z2FwcC5waHAvdjEvJykgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICd2aWRlb19kZXRhaWw/aWQ9JyArIGxpc3RbaV0udm9kX2lkO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlbSA9IGxpc3RbaV0udm9kX3JlbWFya3M7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS50eXBlLnR5cGVfZGVzO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtpXS52b2RfbmFtZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwaWMgPSBsaXN0W2ldLnZvZF9waWM7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoL2lvcGVueXVuLy50ZXN0KHRkb21pbikpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmlkID0gdGRvbWluICsgJy9kZXRhaWxJRD92b2RfaWQ9JyArIGxpc3RbaV0udm9kX2lkICsgJyZ0b2tlbj0nO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmlkID0gdGRvbWluICsgJy9kZXRhaWw/dm9kX2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0udHlwZS50eXBlX2RlcztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS5zdGF0ZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2xvZyh2aWQpO1xcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogTVlfVFlQRSA9PSBcXFwiaG9tZVxcXCIgPyB0aXRsZS5yZXBsYWNlKGtleSwgJ+KAnOKAnCcgKyBrZXkgKyAn4oCd4oCdJykgKyAnXFxcXG4nICsgcmVtIDogdGl0bGUgKyByZW0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpY191cmw6IHBpYyArICdAUmVmZXJlcj0nLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICQodmlkICsgJztnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjEzIChkYXJ0OmlvKX0nKS5ydWxlKCh0eXBldCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcyA9IHt9O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW1zID0gW107XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoZ2V0UmVzQ29kZSgpKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiAnMjU1JiZmbG9hdCcsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAnJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3g1X3dlYnZpZXdfc2luZ2xlJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbXl1cmwgPSBNWV9VUkwubWF0Y2goLyhbXFxcXFNdKj86XFxcXC9cXFxcL1tcXFxcU10qPylcXFxcLy8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9BUFDlvbHop4YvLnRlc3QodHlwZXQpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvYXBwbW92bGlzdCcsIHt9KSkucnVsZSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9UVuW9seinhi8udGVzdCh0eXBldCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS90dm1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEhvbWVSZXN1bHQocmVzKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgdHlwZXQpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NvbnRlbnQ6IHJlbSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogdHlwZXQgKyAnID0+ICcgKyBUaXRba10udGl0LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAvL2ZvciBpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gLy9pZiBsaXN0Lmxlbmd0aFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH0gLy9mb3IgayBiaHRtbC5sZW5ndGhcXG4gICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICByZXMuZGF0YSA9IGl0ZW1zO1xcbiAgICAgICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICAgICAgfSwgbGlzdCwgdHl0aXQpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbiAgICAgICAgfSk7XFxuXFxuICAgIH0gLy9mb3IgaVxcbn07IC8vZW5kIG1vZGUgMVxcblxcbmlmIChzc21vZGUgPT0gJzAnIHx8IE1ZX1RZUEUgPT0gJ2hvbWUnKSB7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGxpc3QubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHZhciBsaXN0ID0gZGxpc3RbaV0ubGlzdDtcXG4gICAgICAgIHZhciB0eXRpdCA9IGRsaXN0W2ldLnRpdGxlXFxuICAgICAgICBpZiAocmFuZG9tKSB7XFxuICAgICAgICAgICAgbGV0IGsgPSBnZXRWYXIoTVlfUlVMRS50aXRsZSArIFxcXCItXFxcIiArIHR5dGl0LCBcXFwiXFxcIik7XFxuICAgICAgICAgICAgaWYgKGsgPT0gXFxcIlxcXCIpIHtcXG4gICAgICAgICAgICAgICAgbGlzdCA9IHJhbmRvbVNvcnQzKGxpc3QpXFxuICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnRpdGxlICsgXFxcIi1cXFwiICsgdHl0aXQsIEpTT04uc3RyaW5naWZ5KGxpc3QpKVxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIGxpc3QgPSBKU09OLnBhcnNlKGspXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IE1ZX1RZUEUgPT0gXFxcImhvbWVcXFwiID8gXFxcIiDpgInmi6nkuIDkuKogXFxcIiArIGRsaXN0W2ldLnRpdGxlICsgXFxcIiDpobnnm67mn6XnnIsg4oCc4oCcXFxcIiArIGtleSArIFxcXCLigJ3igJ0g55qE5pCc57Si57uT5p6cXFxcIiA6IFxcXCIg6YCJ5oup5LiA5LiqIFxcXCIgKyBkbGlzdFtpXS50aXRsZSArIFxcXCIg6aG555uu5p+l55yLIFxcXCIgKyBrZXkgKyBcXFwiIOeahOaQnOe0oue7k+aenFxcXCIsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgICAgICB9KTtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xcbiAgICAgICAgICAgIHZhciBsaW5rID0gbGlzdFtqXS51cmw7XFxuXFxuICAgICAgICAgICAgaWYgKC9BUFDlvbHop4YvLnRlc3QodHl0aXQpKSB7XFxuICAgICAgICAgICAgICAgIGlmIChsaW5rLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJ3NlYXJjaD9wZz1meXBhZ2UmdGV4dD0nICsga2V5ICsgJyZ0b2tlbj0nO1xcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxpbmsuaW5kZXhPZigneGdhcHAucGhwL3YxLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJ3NlYXJjaD9wZz1meXBhZ2UmdGV4dD0nICsga2V5O1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9pb3Blbnl1bi8udGVzdChsaW5rKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnL2xpc3Q/cGFnZT1meXBhZ2UmbGltaXQ9MTAmd2Q9JyArIGtleTtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICc/cGFnZT1meXBhZ2UmbGltaXQ9MTAmd2Q9JyArIGtleTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoL1RW5b2x6KeGLy50ZXN0KHR5dGl0KSkge1xcbiAgICAgICAgICAgICAgICBpZiAoLzE5anh8MjkzeXN8emhhaWthbnlzfGppXFxcXC1kaW5nXFxcXC1oZXxwaG9lYmV8eXVuYm9cXFxcLmJ4aW58bGFucmVudGt8aGV0YW95c3xweHVufDEzOVxcXFwuMTU1fGZra2R5fDA1NjE1OHxhaXhpeGl8cnVveGluZXd8ZmVpZmFuMTIzfHNpcWl0di8udGVzdChsaW5rKSkge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICc/YWM9bGlzdCZ6bT0nICsga2V5ICsgJyZwYWdlPWZ5cGFnZSc7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJz9hYz1saXN0JndkPScgKyBrZXkgKyAnJnBhZ2U9ZnlwYWdlJztcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGxpc3Rbal0udGl0bGUsXFxuICAgICAgICAgICAgICAgIGltZzogbGlzdFtqXS5pbWcsXFxuICAgICAgICAgICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSN4IycgKyBobXVybCArICcjeCMnICsgbGluayArICcjeCMnICsgdHl0aXQgKyAnI3gjJyArIGtleSArICcjeCMnKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3NlYXJlcmonKTtcXG4gICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnaWNvbl9yb3VuZF9zbWFsbF80J1xcbiAgICAgICAgICAgICAgICAvL2NvbF90eXBlOiAndGV4dF8zJ1xcbiAgICAgICAgICAgICAgICAvL2xpbms6bGluayxcXG4gICAgICAgICAgICAgICAgLy90eXBlOiBpXFxuICAgICAgICAgICAgfSk7XFxuXFxuICAgICAgICB9IC8vZm9yIGpcXG5cXG5cXG4gICAgfSAvL2ZvciBpXFxuXFxufSAvL2VuZCBtb2RlIDBcXG5cXG5cXG5yZXMuZGF0YSA9IGl0ZW1zO1xcbnNldEhvbWVSZXN1bHQocmVzKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkFQUOWIhuexu+WIl+ihqFwiLFwicGF0aFwiOlwiYXBwbGlzdGRhdGFcIixcInJ1bGVcIjpcImlmIChodG1sLmxpc3QpIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmxpc3Q7XFxufSBlbHNlIGlmIChodG1sLmRhdGEgJiYgaHRtbC5kYXRhLmxpc3QpIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmRhdGEubGlzdDtcXG59IGVsc2Uge1xcbiAgICB2YXIgbGlzdCA9IGh0bWwuZGF0YTtcXG59XFxuLy9sb2cobGlzdCk7XFxuZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgIHZhciBpbWcgPSBsaXN0W2ldLnZvZF9waWM7XFxuICAgIHZhciB1cmwgPSBsaXN0W2ldLnZvZF9pZDtcXG4gICAgdmFyIGRlc2MgPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICBpZiAoaHRtbC5saXN0KSB7XFxuICAgICAgICB2YXIgbGluayA9IG11cmwgKyAndmlkZW9fZGV0YWlsP2lkPScgKyB1cmwgKyAnJnRva2VuPTtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjEzIChkYXJ0OmlvKX0nO1xcbiAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YSAmJiBodG1sLmRhdGEubGlzdCkge1xcbiAgICAgICAgdmFyIGxpbmsgPSBtdXJsICsgJy9kZXRhaWw/dm9kX2lkPScgKyB1cmwgKyAnJnJlbF9saW1pdD0xMDtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjEzIChkYXJ0OmlvKX0nO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgdmFyIGxpbmsgPSBtdXJsICsgJ3ZpZGVvX2RldGFpbD9pZD0nICsgdXJsICsgJyZ0b2tlbj07Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xMyAoZGFydDppbyl9JztcXG4gICAgfTtcXG4gICAgaWYgKC9mYW50dWFuLy50ZXN0KG11cmwpKSB7XFxuICAgICAgICB2YXIgbGluayA9ICdodHRwczovL2ZhbnR1YW4ud2tmaWxlLmNvbS9hcGkucGhwL2FwcC92aWRlb19kZXRhaWw/aWQ9JyArIHVybCArICcmdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XFxuICAgIH0gZWxzZSBpZiAoL2lvcGVueXVuLy50ZXN0KG11cmwpKSB7XFxuICAgICAgICB2YXIgbGluayA9IG11cmwgKyAnL2RldGFpbElEP3ZvZF9pZD0nICsgdXJsICsgJyZyZWxfbGltaXQ9MTA7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xMyAoZGFydDppbyl9JztcXG4gICAgfSBlbHNlIGlmICgvZGlqaWF4aWEvLnRlc3QobXVybCkpIHtcXG4gICAgICAgIHZhciBsaW5rID0gJ2h0dHA6Ly93d3cuZGlqaWF4aWEuY29tL2FwaS5waHAvYXBwL3ZpZGVvX2RldGFpbD9pZD0nICsgdXJsO1xcbiAgICB9XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgcGljX3VybDogaW1nICsgJ0BSZWZlcmVyPScsXFxuICAgICAgICB1cmw6ICQobGluaykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgdmFyIHJlcyA9IHt9O1xcbiAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJycsXFxuICAgICAgICAgICAgICAgIGRlc2M6ICcyNTUmJmZsb2F0JyxcXG4gICAgICAgICAgICAgICAgdXJsOiAnJyxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd4NV93ZWJ2aWV3X3NpbmdsZSdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICByZWZyZXNoWDVXZWJWaWV3KCcnKTtcXG4gICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoZ2V0UmVzQ29kZSgpKTtcXG4gICAgICAgICAgICB2YXIgbXl1cmwgPSBNWV9VUkwubWF0Y2goLyhbXFxcXFNdKj86XFxcXC9cXFxcL1tcXFxcU10qPylcXFxcLy8pWzFdO1xcbiAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL2FwcG1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgIHJlcy5kYXRhID0gaXRlbXM7XFxuICAgICAgICAgICAgc2V0SG9tZVJlc3VsdChyZXMpO1xcbiAgICAgICAgfSksXFxuICAgICAgICBkZXNjOiBkZXNjLFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zX21hcnF1ZWUnXFxuICAgIH0pO1xcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlRW5YiX6KGo6Kej5p6QXCIsXCJwYXRoXCI6XCJ0dmxpc3RkYXRhXCIsXCJydWxlXCI6XCJ2YXIgbGlzdCA9IGh0bWwuZGF0YTtcXG5mb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIHRpdGxlID0gbGlzdFtpXS50aXRsZTtcXG4gICAgdmFyIGltZyA9IGxpc3RbaV0ucGljO1xcbiAgICB2YXIgdXJsID0gbGlzdFtpXS5uZXh0bGluaztcXG4gICAgdmFyIGRlc2MgPSBsaXN0W2ldLnN0YXRlO1xcbiAgICB1cmwgPSB1cmwuc3RhcnRzV2l0aCgnaHR0cCcpID8gdXJsIDogbXVybCArICc/YWM9ZGV0YWlsJmlkcz0nICsgdXJsO1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgIHBpY191cmw6IGltZyArICdAUmVmZXJlcj0nLFxcbiAgICAgICAgdXJsOiAkKHVybCkucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgdmFyIHJlcyA9IHt9O1xcbiAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xcbiAgICAgICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShnZXRSZXNDb2RlKCkpO1xcbiAgICAgICAgICAgIHZhciBteXVybCA9IE1ZX1VSTC5tYXRjaCgvKFtcXFxcU10qPzpcXFxcL1xcXFwvW1xcXFxTXSo/KVxcXFwvLylbMV07XFxuICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnJyxcXG4gICAgICAgICAgICAgICAgZGVzYzogJzI1NSYmZmxvYXQnLFxcbiAgICAgICAgICAgICAgICB1cmw6ICcnLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3g1X3dlYnZpZXdfc2luZ2xlJ1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgIHJlZnJlc2hYNVdlYlZpZXcoJycpO1xcbiAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL3R2bW92bGlzdCcsIHt9KSkucnVsZSk7XFxuICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcXG4gICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICB9KSxcXG4gICAgICAgIGRlc2M6IGRlc2MsXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzNfbWFycXVlZSdcXG4gICAgfSk7XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQVBQ566A5LuL5LiO6YCJ6ZuGXCIsXCJwYXRoXCI6XCJhcHBtb3ZsaXN0XCIsXCJydWxlXCI6XCJpZiAoaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXIpIHtcXG4gICAgdmFyIGNvbnRzID0gaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXI7XFxuICAgIGlmIChjb250cy5sZW5ndGggPCAxKSB7XFxuICAgICAgICBjb250cyA9IGh0bWwuZGF0YS52b2RfcGxheV91cmwuc3BsaXQoJyQkJCcpO1xcbiAgICAgICAgdmFyIHRhYnMgPSBodG1sLmRhdGEudm9kX3BsYXlfZnJvbS5zcGxpdCgnJCQkJyk7XFxuICAgIH1cXG59IGVsc2UgaWYgKGh0bWwuZGF0YS52b2RfaW5mbyAmJiBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcikge1xcbiAgICB2YXIgY29udHMgPSBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcjtcXG4gICAgaWYgKGNvbnRzLmxlbmd0aCA8IDEpIHtcXG4gICAgICAgIGNvbnRzID0gaHRtbC5kYXRhLnZvZF9pbmZvLnZvZF9wbGF5X3VybC5zcGxpdCgnJCQkJyk7XFxuICAgICAgICB2YXIgdGFicyA9IGh0bWwuZGF0YS52b2RfaW5mby52b2RfcGxheV9mcm9tLnNwbGl0KCckJCQnKTtcXG4gICAgfVxcbn0gZWxzZSB7XFxuICAgIHZhciBjb250cyA9IGh0bWwuZGF0YS52b2RfcGxheV9saXN0O1xcbiAgICBpZiAoY29udHMubGVuZ3RoIDwgMSkge1xcbiAgICAgICAgY29udHMgPSBodG1sLmRhdGEudm9kX3BsYXlfdXJsLnNwbGl0KCckJCQnKTtcXG4gICAgICAgIHZhciB0YWJzID0gaHRtbC5kYXRhLnZvZF9wbGF5X2Zyb20uc3BsaXQoJyQkJCcpO1xcbiAgICB9XFxufVxcblxcbi8vbG9nKGNvbnRzKTtcXG5cXG52YXIgdGh1bWIgPSBodG1sLmRhdGEudm9kX2luZm8gPyBodG1sLmRhdGEudm9kX2luZm8udm9kX3BpYyA6IGh0bWwuZGF0YS52b2RfcGljO1xcbml0ZW1zLnB1c2goe1xcbiAgICB0aXRsZTogJ+WJp+aDheeugOS7i++8micsXFxuICAgIGRlc2M6IGh0bWwuZGF0YS52b2RfaW5mbyA/IGh0bWwuZGF0YS52b2RfaW5mby52b2RfY29udGVudCA6IGh0bWwuZGF0YS52b2RfY29udGVudCxcXG4gICAgcGljX3VybDogdGh1bWIsXFxuICAgIHVybDogdGh1bWIsXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWMnXFxufSk7XFxuZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvZG5wbHVnaW4nLCB7fSkpLnJ1bGUpO1xcbnZhciBqaWVrID0gJyc7XFxuZm9yICh2YXIgaSA9IDA7IGkgPCBjb250cy5sZW5ndGg7IGkrKykge1xcbiAgICBpZiAoZ2V0VmFyKCdhcHBtYXBwc29ydCcsICcxJykgPT0gJzEnKSB7XFxuICAgICAgICBpZiAoY29udHNbaV0udXJscykge1xcbiAgICAgICAgICAgIHZhciBsaXN0ID0gY29udHNbaV0udXJscztcXG4gICAgICAgIH0gZWxzZSBpZiAoY29udHNbaV0udXJsKSB7XFxuICAgICAgICAgICAgdmFyIGxpc3QgPSBjb250c1tpXS51cmwuc3BsaXQoXFxcIiNcXFwiKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIGxpc3QgPSBjb250c1tpXS5zcGxpdChcXFwiI1xcXCIpO1xcbiAgICAgICAgfTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGlmIChjb250c1tpXS51cmxzKSB7XFxuICAgICAgICAgICAgdmFyIGxpc3QgPSBjb250c1tpXS51cmxzLnJldmVyc2UoKTtcXG4gICAgICAgIH0gZWxzZSBpZiAoY29udHNbaV0udXJsKSB7XFxuICAgICAgICAgICAgdmFyIGxpc3QgPSBjb250c1tpXS51cmwuc3BsaXQoXFxcIiNcXFwiKS5yZXZlcnNlKCk7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciBsaXN0ID0gY29udHNbaV0uc3BsaXQoXFxcIiNcXFwiKS5yZXZlcnNlKCk7XFxuICAgICAgICB9XFxuICAgIH07XFxuICAgIC8vc2V0RXJyb3IobGlzdC5sZW5ndGgpO1xcbiAgICBpZiAoaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXIpIHtcXG4gICAgICAgIHZhciBwdGFiID0gY29udHNbaV0uY29kZSA/IGNvbnRzW2ldLmNvZGUgOiB0YWJzW2ldO1xcbiAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YS52b2RfaW5mbyAmJiBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcikge1xcbiAgICAgICAgdmFyIHB0YWIgPSBjb250c1tpXS5jb2RlID8gY29udHNbaV0uY29kZSA6IHRhYnNbaV07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICB2YXIgcHRhYiA9IGNvbnRzW2ldLmZyb20gPyBjb250c1tpXS5mcm9tIDogdGFic1tpXTtcXG4gICAgfVxcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBwdGFiICsgJyDwn5SXJyArIFtpICsgMV0gKyAnLycgKyBbY29udHMubGVuZ3RoXSArIFxcXCLigJzigJwg54K55Ye75YiH5o2i6YCJ6ZuG5o6S5bqP4oCd4oCdXFxcIixcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOnB1dFZhcignYXBwbWFwcHNvcnQnLCBnZXRWYXIoJ2FwcG1hcHBzb3J0JywnMScpPT0nMSc/JzAnOicxJyk7cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+WIh+aNouaIkOWKn++8gSdcXFwiLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgIH0pO1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcXG4gICAgICAgIGlmIChjb250c1tpXS51cmxzKSB7XFxuICAgICAgICAgICAgdmFyIHZsaW5rID0gbGlzdFtqXS51cmw7XFxuICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtqXS5uYW1lO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgdmxpbmsgPSBsaXN0W2pdLnNwbGl0KFxcXCIkXFxcIilbMV07XFxuICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtqXS5zcGxpdChcXFwiJFxcXCIpWzBdO1xcbiAgICAgICAgfVxcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBpZiAoaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXIpIHtcXG4gICAgICAgICAgICAgICAgdmFyIGppZWsgPSBjb250c1tpXS5wYXJzZV9hcGk7XFxuICAgICAgICAgICAgfSBlbHNlIGlmIChodG1sLmRhdGEudm9kX2luZm8gJiYgaHRtbC5kYXRhLnZvZF9pbmZvLnZvZF91cmxfd2l0aF9wbGF5ZXIpIHtcXG4gICAgICAgICAgICAgICAgdmFyIGppZWsgPSBjb250c1tpXS5wYXJzZV9hcGk7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgaWYgKGNvbnRzW2ldLnBsYXllcl9pbmZvLnBhcnNlMiAmJiAoY29udHNbaV0ucGxheWVyX2luZm8ucGFyc2UyKS5pbmRleE9mKFxcXCI9XFxcIikgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBqaWVrID0gKGNvbnRzW2ldLnBsYXllcl9pbmZvLnBhcnNlMikubWF0Y2goLy4qP3VybD18Lio/dj18Lio/dmlkPS8pWzBdLnJlcGxhY2UoXFxcIi4uXFxcIiwgXFxcIi5cXFwiKS5yZXBsYWNlKCdqc29uYnMnLCAnJyk7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udHNbaV0ucGxheWVyX2luZm8ucGFyc2UgJiYgKGNvbnRzW2ldLnBsYXllcl9pbmZvLnBhcnNlKS5pbmRleE9mKFxcXCI9XFxcIikgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBqaWVrID0gKGNvbnRzW2ldLnBsYXllcl9pbmZvLnBhcnNlKS5tYXRjaCgvLio/dXJsPXwuKj92PXwuKj92aWQ9LylbMF0ucmVwbGFjZShcXFwiLi5cXFwiLCBcXFwiLlxcXCIpO1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGppZWsgPSBcXFwiXFxcIjtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAvL3NldEVycm9yKGppZWspOyAgICAgICAgICAgICAgICBcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGNhdGNoIChlKSB7fVxcbiAgICAgICAgLy9qaWVr5ou85o6lXFxuICAgICAgICBpZiAoamllayAhPSAnJyAmJiBqaWVrICE9IG51bGwpIHtcXG4gICAgICAgICAgICBpZiAoamllay5zdWJzdHJpbmcoMCwgNCkgPT0gJ2h0dHAnKSB7XFxuICAgICAgICAgICAgICAgIGppZWsgPSBqaWVrO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoamllay5zdWJzdHJpbmcoMCwgMikgPT0gJ1xcXFwvXFxcXC8nKSB7XFxuICAgICAgICAgICAgICAgIGppZWsgPSAnaHR0cHM6JyArIGppZWs7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgICAgLy/lr7nlpLHmlYjmjqXlj6Pov5vooYzmm7/mjaJcXG4gICAgICAgIGlmICgvY29rZW12Ly50ZXN0KG15dXJsKSAmJiAvY29rZXFpZXx4aW58OTBtbS8udGVzdChwdGFiKSkge1xcbiAgICAgICAgICAgIGppZWsgPSAnaHR0cHM6Ly9wbGF5ZXIuOTBtbS5tZS9wbGF5LnBocD91cmw9JztcXG4gICAgICAgIH0gZWxzZSBpZiAoL2pzb25cXFxcLm0zdThcXFxcLnR2Ly50ZXN0KGppZWspKSB7XFxuICAgICAgICAgICAgamllayA9ICdodHRwczovL2p4Lm0zdTgudHYvamlleGkvP3VybD0nO1xcbiAgICAgICAgfSBlbHNlIGlmICgvY2p0NTIxLy50ZXN0KG15dXJsKSkge1xcbiAgICAgICAgICAgIGppZWsgPSBjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZTtcXG4gICAgICAgIH0gZWxzZSBpZiAoamllay5pbmRleE9mKCdqcGcuaG91Lmx1L2ptL3phL2luZGV4LnBocCcpICE9IC0xKSB7XFxuICAgICAgICAgICAgamllayA9ICdodHRwOi8vdmlwLm1lbmd4LnZpcC9ob21lL2FwaT90eXBlPXlzJnVpZD0zMjQ5Njk2JmtleT1hZWZxcnR1d3h5RUZIS05PUVkmdXJsPSc7XFxuICAgICAgICB9IGVsc2UgaWYgKHB0YWIgPT0gJ3JlbnJlbm1pJyAmJiBqaWVrLnNlYXJjaCgvamhkeXcvKSAhPSAtMSkge1xcbiAgICAgICAgICAgIGppZWsgPSAnaHR0cDovL3d3dy4xMDgwa2FuLmNjL2ppZXhpL3JybWkucGhwP3VybD0nO1xcbiAgICAgICAgfSBlbHNlIGlmIChwdGFiID09ICdmcWZpbG0nICYmIGppZWsuc2VhcmNoKC9qaGR5dy8pICE9IC0xKSB7XFxuICAgICAgICAgICAgamllayA9ICdodHRwOi8vd3d3LjEwODBrYW4uY2MvamlleGkvZnEucGhwP3VybD0nO1xcbiAgICAgICAgfSBlbHNlIGlmIChwdGFiID09ICdycnNwJyAmJiBqaWVrLnNlYXJjaCgvamhkeXcvKSAhPSAtMSkge1xcbiAgICAgICAgICAgIGppZWsgPSAnaHR0cDovL3d3dy4xMDgwa2FuLmNjL2ppZXhpL3JyLnBocD91cmw9JztcXG4gICAgICAgIH0gZWxzZSBpZiAoL2poeXVuXFxcXC5waHAvLnRlc3QoamllaykpIHtcXG4gICAgICAgICAgICBqaWVrID0gamllay5yZXBsYWNlKCdodHRwOi8vc3ZpcC5qaHl1bi5qeC5jbjoxMjM0L2poeXVuLnBocD91cmw9JywgJ2h0dHBzOi8vYXBpLmpoZHl3LnZpcC8/dXJsPScpO1xcbiAgICAgICAgfTtcXG4gICAgICAgIC8v5omT5Y2w5o6l5Y+jXFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGlmIChqID09ICcwJykge1xcbiAgICAgICAgICAgICAgICBsb2coJ1xcXFxu57q/6Lev77yaJyArIHB0YWIgKyAnXFxcXG4nICsgJ+ino+aekOaOpeWPo++8micgKyBqaWVrKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGNhdGNoIChlKSB7fVxcbiAgICAgICAgLy/lo7DmmI7pk77mjqVcXG4gICAgICAgIHZhciBsaW5rID0gamllayArIHZsaW5rO1xcbiAgICAgICAgaWYgKC9cXFxcLm0zdTh8XFxcXC5tcDR8b2JqXFxcXC90b3MvLnRlc3QodmxpbmspICYmIC9odHRwLy50ZXN0KHZsaW5rKSkge1xcbiAgICAgICAgICAgIGxpbmsgPSB2bGluaztcXG4gICAgICAgIH1cXG4gICAgICAgIC8vbG9nKGxpbmspO1xcbiAgICAgICAgaWYgKGxpc3QubGVuZ3RoIDw9IDQpIHtcXG4gICAgICAgICAgICB2YXIgY2x0ID0gJ3RleHRfMic7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciBjbHQgPSBpc05hTih0aXRsZSkgPyAnZmxleF9idXR0b24nIDogJ3RleHRfNSdcXG4gICAgICAgIH07XFxuICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKHB0YWIsIGxpbmssIG15dXJsKSA9PiB7XFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9wZW51cmwocmVzdXJsKSB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdXJsLm1hdGNoKC95b3VrdXxtZ3R2fGl4aWd1YXxxcS5jb218cWl5aXxtaWd1fGJpbGliaWxpfHNvaHV8cHB0dnxsZXwxOTA1LmNvbS8pICYmIHJlc3VybC5zZWFyY2goL2h0bWx8YmlsaWJpbGkvKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlbkRuID0gSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uJywge30pKS5lbkRuO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbkRuID09ICcxJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coJ+iwg+eUqOaWreaPkuino+aekCcpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKFxcXCJ2YXIgY29uZmlnID1cXFwiICsgZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvY2FjaGUvTXlQYXJzZVNldC5qc29uXFxcIikpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKGZldGNoKGNvbmZpZy5jaikpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXl0bVBhcnNlKHJlc3VybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VybFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1cmxcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgdmFyIHNyY3VybCA9IGxpbms7XFxuICAgICAgICAgICAgICAgIC8vbG9nKHNyY3VybCk7XFxuICAgICAgICAgICAgICAgIC8v5Yqo5oCB6Kej5p6Q5Luj56CB5byA5aeLXFxuICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAvL+WkhOeQhuaMh+WumuinhumikeS4jue6v+i3r1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9cXFxcLm0zdTh8XFxcXC5tcDR8b2JqXFxcXC90b3MvLnRlc3Qoc3JjdXJsKSAmJiAvaHR0cC8udGVzdChzcmN1cmwpICYmICEvXFxcXC5odG1sLy50ZXN0KHNyY3VybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoL3drZmlsZS8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzcmN1cmwgKyAnO3tSZWZlcmVyQGh0dHBzOi8vZmFudHVhbi53a2ZpbGUuY29tL30nXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvZHVvZHVvenkvLnRlc3QocHRhYikpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGpzb24gPSBmZXRjaCgnaHR0cHM6Ly9wbGF5ZXIuZHVvZHVvenkuY29tL2RkcGxheS9hcGkucGhwP3VybD0nICsgc3JjdXJsLCB7fSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGpzb24pLnVybDtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gL1xcXFw9Ly50ZXN0KHNyY3VybCkgPyBzcmN1cmwuc3BsaXQoJz0nKVsxXSA6IHNyY3VybCArICcjaXNWaWRlbz10cnVlIyc7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzcmN1cmwuaW5kZXhPZihcXFwiL3NoYXJlL1xcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBzcmN1cmwuc3BsaXQoXFxcIi9zaGFyZVxcXCIpWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmMgPSBmZXRjaChzcmN1cmwsIHt9KS5yZXBsYWNlKFxcXCJ2YXIgcHVybFxcXCIsIFxcXCJ2YXIgbWFpblxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmMuaW5kZXhPZihcXFwibWFpblxcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF0ID0gZmMubWF0Y2goL3ZhciBtYWluLio/Oy8pWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChtYXQpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXkgPSAobWFpbi5pbmRleE9mKFxcXCJodHRwXFxcIikgIT0gLTEgPyBtYWluIDogbGluayArIG1haW4pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1haW4gPSBmYy5tYXRjaCgvdXJsOi4qP1tcXFxcJ1xcXFxcXFwiXSguKj8pW1xcXFwnXFxcXFxcXCJdLylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGxheSA9IChtYWluLmluZGV4T2YoXFxcImh0dHBcXFwiKSAhPSAtMSA/IG1haW4gOiBsaW5rICsgbWFpbilcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBsYXk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3g1V2ViVmlldzovLycgKyAoc3JjdXJsKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHRhYiA9PSAnYWxpenknKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBmZXRjaCgnaHR0cHM6Ly9mb3ViaW4uY29tL2ppZXhpLnBocD91cmw9JyArIHNyY3VybC5zcGxpdCgndXJsPScpWzFdLCB7fSkubWF0Y2goL1xcXFxcXFwidXJsXFxcXFxcXCI6XFxcXFxcXCIoLio/KVxcXFxcXFwiLylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmw7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC85ODN2aXAvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGZldGNoKHNyY3VybCwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IE1PQklMRV9VQVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpcmVjdDogZmFsc2UsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhIZWFkZXJzOiB0cnVlXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpLmhlYWRlcnMubG9jYXRpb25bMF07XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC94XFxcXC1uXFxcXC5jY3xuaGR6NjY2Ly50ZXN0KHNyY3VybCkgJiYgL1xcXFwuaHRtbHxiaWxpYmlsaS8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wZW51cmwoc3JjdXJsLnN1YnN0cmluZyhzcmN1cmwuaW5kZXhPZignPWh0dHAnKSArIDEpKTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIC8v5aSE55CG5oyH5a6a6KeG6aKR5ZKM57q/6Lev57uT5p2fXFxuICAgICAgICAgICAgICAgICAgICAvLy0tLS3liIblibLnur8tLS0tLy9cXG4gICAgICAgICAgICAgICAgICAgIHZhciBzY29kZSA9IEpTT04ucGFyc2UoZmV0Y2goc3JjdXJsLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IFxcXCJEYXJ0LzIuMTMgKGRhcnQ6aW8pXFxcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJlY3Q6IGZhbHNlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhTdGF0dXNDb2RlOiB0cnVlXFxuICAgICAgICAgICAgICAgICAgICB9KSk7XFxuICAgICAgICAgICAgICAgICAgICAvL2xvZyhzY29kZSk7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoc2NvZGUuc3RhdHVzQ29kZSA9PSAnMzAyJyB8fCBzY29kZS5zdGF0dXNDb2RlID09ICczMDEnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy/miZPlvIDop6PmnpDmnIkzMDLph43lrprlkJHnmoTpk77mjqVcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVkdXJsID0gc2NvZGUuaGVhZGVycy5sb2NhdGlvblswXS5yZXBsYWNlKC9cXFxcXFxcXC9nLCAnJyk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9cXFxcPWh0dHAvLnRlc3QocmVkdXJsKSAmJiAvaHRtbHxiaWxpYmlsaS8udGVzdChyZWR1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGZldGNoKHJlZHVybCwge30pKS51cmw7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvXFxcXD1odHRwLy50ZXN0KHJlZHVybCkgJiYgL1xcXFwubTN1OHxcXFxcLm1wNHxcXFxcLmZsdi8udGVzdChyZWR1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWR1cmwuc3Vic3RyaW5nKHJlZHVybC5pbmRleE9mKCc9aHR0cCcpICsgMSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlZHVybFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy92YXIgaHRtbCA9IHJlcXVlc3Qoc3JjdXJsKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IHNjb2RlLmJvZHk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9cXFxcPGJvZHkvLnRlc3QoaHRtbCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nKCflsJ3or5XpnZ5KU09O5o6l5Y+j572R6aG16Kej5p6QJyk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVDYWNoZSgnaHR0cHM6Ly9jb2RlLmFsaXl1bi5jb20vbHprMjM1NTkvUHVibGljUnVsZS9yYXcvbWFzdGVyL3g1cnVsZS5qcycsIDI0KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHg1cnVsZShzcmN1cmwsIHNyY3VybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmV0dXJuIG9wZW51cmwoc3JjdXJsKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2pzb27op6PmnpDnmoTlj5bpk77mjqVcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBodG1sLm1hdGNoKC9bXFxcXCdcXFxcXFxcIl11cmxbXFxcXCdcXFxcXFxcIl06Lio/W1xcXFwnXFxcXFxcXCJdKC4qPylbXFxcXCdcXFxcXFxcIl0vKVsxXS5yZXBsYWNlKC9cXFxcXFxcXC9nLCAnJyk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvaHR0cC8udGVzdChwdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHB0YWIgPT0gJ2JpbGliaWxpJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsICsgJzt7UmVmZXJlckBodHRwczovL3d3dy5iaWxpYmlsaS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfSc7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB0YWIgPT0gJ21ndHYnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnICsgJzt7UmVmZXJlckB3d3cubWd0di5jb20mJlVzZXItQWdlbnRATW96aWxsYS81LjB9JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9cXFxcPWh0dHAvLnRlc3Qoc3JjdXJsKSAmJiAvXFxcXC5odG1sfGJpbGliaWxpLy50ZXN0KHNyY3VybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcGVudXJsKHNyY3VybC5zdWJzdHJpbmcoc3JjdXJsLmluZGV4T2YoJz1odHRwJykgKyAxKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+mdnmh0dHDlvIDlpLTnmoTmiZPlvIDljp/pk77mjqUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3BlbnVybChzcmN1cmwuc3Vic3RyaW5nKHNyY3VybC5pbmRleE9mKCc9aHR0cCcpICsgMSkpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICAgICAgICAgIC8v5oql6ZSZ5Yik5pat5aSE55CGXFxuICAgICAgICAgICAgICAgICAgICBsb2coJ+aJp+ihjOaKpemUmeWkhOeQhicpO1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNyY3VybC5zdWJzdHJpbmcoMCwgMikgPT0gJ1xcXFwvXFxcXC8nKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wZW51cmwoJ2h0dHBzOicgKyBzcmN1cmwpO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvXFxcXD1odHRwLy50ZXN0KHNyY3VybCkgJiYgL1xcXFwuaHRtbHxiaWxpYmlsaS8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9yZXR1cm4gc3JjdXJsLnNwbGl0KCc9JylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wZW51cmwoc3JjdXJsLnN1YnN0cmluZyhzcmN1cmwuaW5kZXhPZignPWh0dHAnKSArIDEpKTtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wZW51cmwoc3JjdXJsKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcmV0dXJuICd4NVdlYlZpZXc6Ly8nK3NyY3VybFxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIC8v5Yqo5oCB6Kej5p6Q5Luj56CB57uT5p2fXFxuICAgICAgICAgICAgfSwgcHRhYiwgbGluaywgbXl1cmwpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBjbHRcXG4gICAgICAgIH0pO1xcbiAgICB9XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiVFbnroDku4vkuI7pgInpm4ZcIixcInBhdGhcIjpcInR2bW92bGlzdFwiLFwicnVsZVwiOlwidmFyIHRhYnMgPSBPYmplY3Qua2V5cyhodG1sLnZpZGVvbGlzdCk7XFxudmFyIHRodW1iID0gaHRtbC5pbWdfdXJsO1xcbml0ZW1zLnB1c2goe1xcbiAgICB0aXRsZTogJ+WJp+aDheeugOS7i++8micsXFxuICAgIGRlc2M6IGh0bWwuaW50cm8sXFxuICAgIHBpY191cmw6IHRodW1iLFxcbiAgICB1cmw6IHRodW1iLFxcbiAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljJ1xcbn0pO1xcbmV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL2RucGx1Z2luJywge30pKS5ydWxlKTtcXG5cXG5mb3IgKHZhciBpID0gMDsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHtcXG4gICAgaWYgKGdldFZhcignYXBwbXR2c29ydCcsICcxJykgPT0gJzEnKSB7XFxuICAgIHZhciBsaXN0ID0gaHRtbC52aWRlb2xpc3RbdGFic1tpXV07XFxuICAgIH1lbHNle1xcbiAgICB2YXIgbGlzdCA9IGh0bWwudmlkZW9saXN0W3RhYnNbaV1dLnJldmVyc2UoKTsgICAgXFxuICAgIH07XFxuICAgIHZhciBwdGFiID0gdGFic1tpXTtcXG4gICAgaXRlbXMucHVzaCh7XFxuICAgICAgICB0aXRsZTogcHRhYiArICcg8J+UlycgKyBbaSArIDFdICsgJy8nICsgW3RhYnMubGVuZ3RoXSArIFxcXCLigJzigJwg54K55Ye75YiH5o2i6YCJ6ZuG5o6S5bqP4oCd4oCdXFxcIixcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOnB1dFZhcignYXBwbXR2c29ydCcsIGdldFZhcignYXBwbXR2c29ydCcsJzEnKT09JzEnPycwJzonMScpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liIfmjaLmiJDlip/vvIEnXFxcIixcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbiAgICB9KTtcXG5cXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0Lmxlbmd0aDsgaisrKSB7XFxuICAgICAgICB2YXIgc3JjdXJsID0gbGlzdFtqXS51cmw7XFxuICAgICAgICBpZiAoLzI5M2p4MS8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgc3JjdXJsID0gc3JjdXJsLnJlcGxhY2UoJzI5M2p4MScsICdqeCcpO1xcbiAgICAgICAgfSBlbHNlIGlmICgvOGQ4cXxkaWxpa3R2fGhhb2thbmp1MXxjenR2fGZpdFxcXFw6OHxwcHpodS8udGVzdChteXVybCkpIHtcXG4gICAgICAgICAgICBzcmN1cmwgPSBzcmN1cmwgKyAnJmFwcD0xMDAwMCZhY2NvdW50PTI3Mjc3NTAyOCZwYXNzd29yZD1xcTI3Mjc3NTAyOCc7XFxuICAgICAgICB9XFxuICAgICAgICB2YXIgdGl0bGUgPSBsaXN0W2pdLnRpdGxlO1xcbiAgICAgICAgaWYgKGxpc3QubGVuZ3RoIDw9IDQpIHtcXG4gICAgICAgICAgICB2YXIgY2x0ID0gJ3RleHRfMic7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciBjbHQgPSBpc05hTih0aXRsZSkgPyAnZmxleF9idXR0b24nIDogJ3RleHRfNSdcXG4gICAgICAgIH07XFxuICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKHB0YWIsIHNyY3VybCwgbXl1cmwpID0+IHtcXG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gb3BlbnVybChyZXN1cmwpIHtcXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1cmwubWF0Y2goL3lvdWt1fG1ndHZ8aXhpZ3VhfHFxLmNvbXxxaXlpfG1pZ3V8YmlsaWJpbGl8c29odXxwcHR2fGxlfDE5MDUuY29tLykgJiYgcmVzdXJsLnNlYXJjaCgvaHRtbHxiaWxpYmlsaS8pICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVuRG4gPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb24nLCB7fSkpLmVuRG47XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVuRG4gPT0gJzEnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygn6LCD55So5pat5o+S6Kej5p6QJyk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwoXFxcInZhciBjb25maWcgPVxcXCIgKyBmZXRjaChcXFwiaGlrZXI6Ly9maWxlcy9jYWNoZS9NeVBhcnNlU2V0Lmpzb25cXFwiKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwoZmV0Y2goY29uZmlnLmNqKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBheXRtUGFyc2UocmVzdXJsKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdXJsXFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VybFxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICAvL2xvZyhzcmN1cmwpO1xcbiAgICAgICAgICAgICAgICAvL+WKqOaAgeino+aekOS7o+eggeW8gOWni1xcbiAgICAgICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9cXFxcLm0zdTh8XFxcXC5tcDR8b2JqXFxcXC90b3MvLnRlc3Qoc3JjdXJsKSAmJiAvaHR0cC8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC9cXFxcPS8udGVzdChzcmN1cmwpID8gc3JjdXJsLnNwbGl0KCc9JylbMV0gOiBzcmN1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzcmN1cmwuaW5kZXhPZihcXFwiL3NoYXJlL1xcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBzcmN1cmwuc3BsaXQoXFxcIi9zaGFyZVxcXCIpWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmMgPSBmZXRjaChzcmN1cmwsIHt9KS5yZXBsYWNlKFxcXCJ2YXIgcHVybFxcXCIsIFxcXCJ2YXIgbWFpblxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmMuaW5kZXhPZihcXFwibWFpblxcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF0ID0gZmMubWF0Y2goL3ZhciBtYWluLio/Oy8pWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChtYXQpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXkgPSAobWFpbi5pbmRleE9mKFxcXCJodHRwXFxcIikgIT0gLTEgPyBtYWluIDogbGluayArIG1haW4pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1haW4gPSBmYy5tYXRjaCgvdXJsOi4qP1tcXFxcJ1xcXFxcXFwiXSguKj8pW1xcXFwnXFxcXFxcXCJdLylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGxheSA9IChtYWluLmluZGV4T2YoXFxcImh0dHBcXFwiKSAhPSAtMSA/IG1haW4gOiBsaW5rICsgbWFpbilcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBsYXk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3g1V2ViVmlldzovLycgKyAoc3JjdXJsKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHRhYiA9PSAnYWxpenknKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBmZXRjaCgnaHR0cHM6Ly9mb3ViaW4uY29tL2ppZXhpLnBocD91cmw9JyArIHNyY3VybCwge30pLm1hdGNoKC9cXFxcXFxcInVybFxcXFxcXFwiOlxcXFxcXFwiKC4qPylcXFxcXFxcIi8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvMTlqeFxcXFwudmlwfG5meWluZ3NoaS8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBKU09OLnBhcnNlKGZldGNoKHNyY3VybC5yZXBsYWNlKCdodHRwOi8vJywgJ2h0dHBzOi8vJyksIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIlVzZXItQWdlbnRcXFwiOiBNT0JJTEVfVUFcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJlY3Q6IGZhbHNlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoSGVhZGVyczogdHJ1ZVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKS5oZWFkZXJzLmxvY2F0aW9uWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvdGl0YW4ubWd0di8udGVzdChwdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybCArICcjaXNWaWRlbz10cnVlIycgKyAnO3tSZWZlcmVyQHd3dy5tZ3R2LmNvbSYmVXNlci1BZ2VudEBNb3ppbGxhLzUuMH0nO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL29ialxcXFwvdG9zLy50ZXN0KHB1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsICsgJyNpc1ZpZGVvPXRydWUjJztcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgICAgICB9IC8qZWxzZSBpZiAoL3poYWlrYW55cy8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBKU09OLnBhcnNlKGZldGNoKHNyY3VybCArICcmYXBwPTEwMDAzJmFjY291bnQ9MjcyNzc1MDI4JnBhc3N3b3JkPXFxMjcyNzc1MDI4Jywge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IE1PQklMRV9VQVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpcmVjdDogZmFsc2UsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhIZWFkZXJzOiB0cnVlXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpLmhlYWRlcnMubG9jYXRpb25bMF07XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC90aXRhbi5tZ3R2Ly50ZXN0KHB1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsICsgJyNpc1ZpZGVvPXRydWUjJyArICc7e1JlZmVyZXJAd3d3Lm1ndHYuY29tJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfSc7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvb2JqXFxcXC90b3MvLnRlc3QocHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsXFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgICAgIH0qL1xcblxcbiAgICAgICAgICAgICAgICAgICAgLy8tLS0t5YiG5Ymy57q/LS0tLS8vXFxuICAgICAgICAgICAgICAgICAgICB2YXIgc2NvZGUgPSBKU09OLnBhcnNlKGZldGNoKHNyY3VybCwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIlVzZXItQWdlbnRcXFwiOiBNT0JJTEVfVUFcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZGlyZWN0OiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICB3aXRoU3RhdHVzQ29kZTogdHJ1ZVxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xcbiAgICAgICAgICAgICAgICAgICAgLy9sb2coc2NvZGUpO1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNjb2RlLnN0YXR1c0NvZGUgPT0gJzMwMicgfHwgc2NvZGUuc3RhdHVzQ29kZSA9PSAnMzAxJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXJsID0gc2NvZGUuaGVhZGVycy5sb2NhdGlvblswXS5yZXBsYWNlKC9cXFxcXFxcXC9nLCAnJyk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vdmFyIGh0bWwgPSByZXF1ZXN0KHNyY3VybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBzY29kZS5ib2R5O1xcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbG9nKGh0bWwpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvXFxcXFxcXCJ1cmxcXFxcXFxcIlxcXFw6XFxcXFxcXCJodHRwLy50ZXN0KGh0bWwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXJsID0gaHRtbC5tYXRjaCgvXFxcXFxcXCJ1cmxcXFxcXFxcIjpcXFxcXFxcIiguKj8pXFxcXFxcXCIvKVsxXS5yZXBsYWNlKC9cXFxcXFxcXC9nLCAnJyk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChodG1sLnN0YXJ0c1dpdGgoJ3snKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHVybCA9IHNyY3VybC5zdWJzdHJpbmcoc3JjdXJsLmluZGV4T2YoJz1odHRwJykgKyAxKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBwdXJsID0gc3JjdXJsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVDYWNoZSgnaHR0cHM6Ly9jb2RlLmFsaXl1bi5jb20vbHprMjM1NTkvUHVibGljUnVsZS9yYXcvbWFzdGVyL3g1cnVsZS5qcycsIDI0KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHg1cnVsZShzcmN1cmwsIHNyY3VybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmV0dXJuICd4NVdlYlZpZXc6Ly8nKyhzcmN1cmwpIFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgICAgICAvL2xvZyhwdXJsKTtcXG4gICAgICAgICAgICAgICAgICAgIGlmICgvdGl0YW4ubWd0di8udGVzdChwdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsICsgJyNpc1ZpZGVvPXRydWUjJyArICc7e1JlZmVyZXJAd3d3Lm1ndHYuY29tJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfSc7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9vYmpcXFxcL3Rvcy8udGVzdChwdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsICsgJyNpc1ZpZGVvPXRydWUjJztcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmxcXG4gICAgICAgICAgICAgICAgICAgIH07XFxuXFxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICAgICAgICAgIGlmIChzcmN1cmwuc3Vic3RyaW5nKDAsIDIpID09ICdcXFxcL1xcXFwvJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcGVudXJsKCdodHRwczonICsgc3JjdXJsKTtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1xcXFw9aHR0cC8udGVzdChzcmN1cmwpICYmIC9cXFxcLmh0bWx8YmlsaWJpbGkvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcmV0dXJuIHNyY3VybC5zcGxpdCgnPScpWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcGVudXJsKHNyY3VybC5zdWJzdHJpbmcoc3JjdXJsLmluZGV4T2YoJz1odHRwJykgKyAxKSk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcGVudXJsKHNyY3VybClcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAvL+WKqOaAgeino+aekOS7o+eggee7k+adn1xcbiAgICAgICAgICAgIH0sIHB0YWIsIHNyY3VybCwgbXl1cmwpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBjbHRcXG4gICAgICAgIH0pO1xcbiAgICB9XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5YiX6KGo5qih5byP5pCc57Si5LqM57qnXCIsXCJwYXRoXCI6XCJzZWFyZXJqXCIsXCJydWxlXCI6XCJ2YXIgcmVzID0ge307XFxudmFyIGl0ZW1zID0gW107XFxudmFyIHNwbCA9IGdldFJlc0NvZGUoKS5zcGxpdCgnI3gjJyk7XFxudmFyIHR5cGV0ID0gc3BsWzNdO1xcbnZhciB0ZG9taW4gPSBzcGxbMl07XFxudmFyIGtleSA9IHNwbFs0XTtcXG5cXG5pZiAoL3ZpcG12Ly50ZXN0KHRkb21pbikpIHtcXG4gICAgdmFyIGJodG1sID0gcmVxdWVzdChzcGxbMV0pO1xcbn0gZWxzZSB7XFxuICAgIHZhciBiaHRtbCA9IGZldGNoKHNwbFsxXSwge1xcbiAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogXFxcIkRhcnQvMi4xMyAoZGFydDppbylcXFwiXFxuICAgICAgICB9XFxuICAgIH0pO1xcbn1cXG50cnkge1xcbiAgICBiaHRtbCA9IGJodG1sLnN0YXJ0c1dpdGgoJ1xcXFxyXFxcXG4nKSA/IGJodG1sLnJlcGxhY2UoJ1xcXFxyXFxcXG4nLCAnJykgOiBiaHRtbDtcXG59IGNhdGNoIChlKSB7fVxcbmlmICgvYnR3YWYvLnRlc3QoYmh0bWwpKSB7XFxuICAgIC8qXFxuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6J+acieWuneWhlOmqjOivge+8jOeCueWHu+iuv+mXruWOn+e9kemhtScsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6IHNwbFsxXSArIGBAbGF6eVJ1bGU9LmpzOmlucHV0LnNwbGl0KCc7JylbMF1gLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAqL1xcblxcbiAgICBiaHRtbCA9IGZldGNoKHNwbFsxXSArICcmYnR3YWYnICsgYmh0bWwubWF0Y2goL2J0d2FmKC4qPylcXFxcXFxcIi8pWzFdLCB7fSk7XFxuXFxufVxcblxcbmlmIChiaHRtbCA9PSBcXFwiXFxcIiB8fCBiaHRtbCA9PSBudWxsIHx8IGJodG1sLnN1YnN0cmluZygwLCA1KSA9PSAnZXJyb3InIHx8ICFiaHRtbC5zdGFydHNXaXRoKCd7JykpIHtcXG4gICAgaXRlbXMucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+acquaQnOe0ouWIsOebuOWFs+i1hOa6kO+8jOeCueWHu+iuv+mXruWOn+e9kemhtScsXFxuICAgICAgICB1cmw6IHNwbFsxXSArIGBAbGF6eVJ1bGU9LmpzOmlucHV0LnNwbGl0KCc7JylbMF1gLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgIH0pO1xcbn0gZWxzZSBpZiAoYmh0bWwubGVuZ3RoIDwgODApIHtcXG4gICAgaXRlbXMucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+i/lOWbnuaVsOaNruS4jeWujOaVtO+8jOeCueWHu+iuv+mXruWOn+e9kemhtScsXFxuICAgICAgICB1cmw6IHNwbFsxXSArIGBAbGF6eVJ1bGU9LmpzOmlucHV0LnNwbGl0KCc7JylbMF1gLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgIH0pO1xcbn0gZWxzZSB7XFxuICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShiaHRtbCk7XFxuICAgIC8vbG9nKHNwbFsxXSk7XFxuICAgIGlmIChodG1sLmxpc3QpIHtcXG4gICAgICAgIHZhciBsaXN0ID0gaHRtbC5saXN0O1xcbiAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YS5saXN0KSB7XFxuICAgICAgICB2YXIgbGlzdCA9IGh0bWwuZGF0YS5saXN0O1xcbiAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YSkge1xcbiAgICAgICAgdmFyIGxpc3QgPSBodG1sLmRhdGE7XFxuICAgIH1cXG5cXG4gICAgaWYgKGxpc3QubGVuZ3RoIDwgMSkge1xcbiAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICfmnKrmkJzntKLliLDvvIzngrnlh7vorr/pl67ljp/nvZHpobUnLFxcbiAgICAgICAgICAgIHVybDogc3BsWzFdICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgICAgICB9KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcblxcbiAgICAgICAgICAgIGlmICgvQVBQ5b2x6KeGLy50ZXN0KHR5cGV0KSkge1xcbiAgICAgICAgICAgICAgICBpZiAodGRvbWluLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBsaXN0W2ldLnZvZF9uYW1lO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBpYyA9IGxpc3RbaV0udm9kX3BpYztcXG4gICAgICAgICAgICAgICAgICAgIGlmICgvZmFudHVhbi8udGVzdCh0ZG9taW4pKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9ICdodHRwczovL2ZhbnR1YW4ud2tmaWxlLmNvbS9hcGkucGhwL2FwcC92aWRlb19kZXRhaWw/aWQ9JyArIGxpc3RbaV0udm9kX2lkICsgJyZ0b2tlbj0nO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmlkID0gdGRvbWluICsgJ3ZpZGVvX2RldGFpbD9pZD0nICsgbGlzdFtpXS52b2RfaWQgKyAnJnRva2VuPSc7XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVtID0gbGlzdFtpXS52b2RfcmVtYXJrcztcXG4gICAgICAgICAgICAgICAgICAgIC8vdmFyIGNvbj1saXN0W2ldLnR5cGUudHlwZV9kZXM7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGRvbWluLmluZGV4T2YoJ3hnYXBwLnBocC92MS8nKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtpXS52b2RfbmFtZTtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBwaWMgPSBsaXN0W2ldLnZvZF9waWM7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgdmlkID0gdGRvbWluICsgJ3ZpZGVvX2RldGFpbD9pZD0nICsgbGlzdFtpXS52b2RfaWQ7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVtID0gbGlzdFtpXS52b2RfcmVtYXJrcztcXG4gICAgICAgICAgICAgICAgICAgIC8vdmFyIGNvbj1saXN0W2ldLnR5cGUudHlwZV9kZXM7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBsaXN0W2ldLnZvZF9uYW1lO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBpYyA9IGxpc3RbaV0udm9kX3BpYztcXG4gICAgICAgICAgICAgICAgICAgIGlmICgvaW9wZW55dW4vLnRlc3QodGRvbWluKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2aWQgPSB0ZG9taW4gKyAnL2RldGFpbElEP3ZvZF9pZD0nICsgbGlzdFtpXS52b2RfaWQgKyAnJnRva2VuPSc7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2aWQgPSB0ZG9taW4gKyAnL2RldGFpbD92b2RfaWQ9JyArIGxpc3RbaV0udm9kX2lkICsgJyZ0b2tlbj0nO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlbSA9IGxpc3RbaV0udm9kX3JlbWFya3M7XFxuICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS50eXBlLnR5cGVfZGVzO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSBlbHNlIGlmICgvVFblvbHop4YvLnRlc3QodHlwZXQpKSB7XFxuICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udGl0bGU7XFxuICAgICAgICAgICAgICAgIHZhciBwaWMgPSBsaXN0W2ldLnBpYztcXG4gICAgICAgICAgICAgICAgLy92YXIgdmlkPXRkb21pbisnL2RldGFpbD92b2RfaWQ9JytsaXN0W2ldLm5leHRsaW5rKycmcmVsX2xpbWl0PTEwJztcXG4gICAgICAgICAgICAgICAgdmFyIHZpZCA9IGxpc3RbaV0ubmV4dGxpbms7XFxuICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnN0YXRlO1xcbiAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS5zdGF0ZTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZS5yZXBsYWNlKGtleSwgJ+KAnOKAnCcgKyBrZXkgKyAn4oCd4oCdJyksXFxuICAgICAgICAgICAgICAgIHBpY191cmw6IHBpYyArICdAUmVmZXJlcj0nLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQodmlkKyc7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xMyAoZGFydDppbyl9JykucnVsZSgodHlwZXQpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSB7fTtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGdldFJlc0NvZGUoKSk7XFxuICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJycsXFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogJzI1NSYmZmxvYXQnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJycsXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd4NV93ZWJ2aWV3X3NpbmdsZSdcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFg1V2ViVmlldygnJyk7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgbXl1cmwgPSBNWV9VUkwubWF0Y2goLyhbXFxcXFNdKj86XFxcXC9cXFxcL1tcXFxcU10qPylcXFxcLy8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9BUFDlvbHop4YvLnRlc3QodHlwZXQpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvYXBwbW92bGlzdCcsIHt9KSkucnVsZSk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9UVuW9seinhi8udGVzdCh0eXBldCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS90dm1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcXG4gICAgICAgICAgICAgICAgICAgIHNldEhvbWVSZXN1bHQocmVzKTtcXG4gICAgICAgICAgICAgICAgfSwgdHlwZXQpLFxcbiAgICAgICAgICAgICAgICAvL2NvbnRlbnQ6cmVtLFxcbiAgICAgICAgICAgICAgICBkZXNjOiByZW0sXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWMnXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9IC8vZm9yIGlcXG4gICAgfSAvL2Vsc2UgbGlzdC5sZW5ndGhcXG59XFxuXFxucmVzLmRhdGEgPSBpdGVtcztcXG5zZXRIb21lUmVzdWx0KHJlcyk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJBUFDpppbpobXliJfooahcIixcInBhdGhcIjpcImFwcGluZGV4ZGF0YVwiLFwicnVsZVwiOlwiaWYgKGh0bWwubGlzdCkge1xcbiAgICB2YXIgbGlzdCA9IGh0bWwubGlzdDtcXG59IGVsc2UgaWYgKGh0bWwuZGF0YSAmJiBodG1sLmRhdGEubGlzdCkge1xcbiAgICB2YXIgbGlzdCA9IGh0bWwuZGF0YS5saXN0O1xcbn0gZWxzZSB7XFxuICAgIHZhciBsaXN0ID0gaHRtbC5kYXRhO1xcbn1cXG5cXG5mb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcXG4gICAgaWYgKGxpc3RbaV0udm9kX2xpc3QpIHtcXG4gICAgICAgIHZhciBsaXN0cyA9IGxpc3RbaV0udm9kX2xpc3Q7XFxuICAgICAgICB2YXIgdHlwZW5hbWUgPSBsaXN0W2ldLnZvZF90eXBlX25hbWU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICB2YXIgbGlzdHMgPSBsaXN0W2ldLnZsaXN0O1xcbiAgICAgICAgdmFyIHR5cGVuYW1lID0gbGlzdFtpXS50eXBlX25hbWVcXG4gICAgfVxcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiB0eXBlbmFtZSxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcblxcbiAgICB9KTtcXG5cXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0cy5sZW5ndGg7IGorKykge1xcbiAgICAgICAgdmFyIHRpdGxlID0gbGlzdHNbal0udm9kX25hbWU7XFxuICAgICAgICB2YXIgaW1nID0gbGlzdHNbal0udm9kX3BpYztcXG4gICAgICAgIHZhciB1cmwgPSBsaXN0c1tqXS52b2RfaWQ7XFxuICAgICAgICB2YXIgZGVzYyA9IGxpc3RzW2pdLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgaWYgKGh0bWwubGlzdCkge1xcbiAgICAgICAgICAgIHZhciBsaW5rID0gbXVybCArICd2aWRlb19kZXRhaWw/aWQ9JyArIHVybCArICcmdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XFxuICAgICAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YSAmJiBodG1sLmRhdGEubGlzdCkge1xcbiAgICAgICAgICAgIHZhciBsaW5rID0gbXVybCArICcvZGV0YWlsP3ZvZF9pZD0nICsgdXJsICsgJyZyZWxfbGltaXQ9MTA7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xMyAoZGFydDppbyl9JztcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIGxpbmsgPSBtdXJsICsgJ3ZpZGVvX2RldGFpbD9pZD0nICsgdXJsICsgJyZ0b2tlbj07Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xMyAoZGFydDppbyl9JztcXG4gICAgICAgIH07XFxuICAgICAgICBpZiAoL2ZhbnR1YW4vLnRlc3QobXVybCkpIHtcXG4gICAgICAgICAgICB2YXIgbGluayA9ICdodHRwczovL2ZhbnR1YW4ud2tmaWxlLmNvbS9hcGkucGhwL2FwcC92aWRlb19kZXRhaWw/aWQ9JyArIHVybCArICcmdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTMgKGRhcnQ6aW8pfSc7XFxuICAgICAgICB9IGVsc2UgaWYgKC9pb3Blbnl1bi8udGVzdChtdXJsKSkge1xcbiAgICAgICAgICAgIHZhciBsaW5rID0gbXVybCArICcvZGV0YWlsSUQ/dm9kX2lkPScgKyB1cmwgKyAnJnJlbF9saW1pdD0xMDtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjEzIChkYXJ0OmlvKX0nO1xcbiAgICAgICAgfSBlbHNlIGlmICgvZGlqaWF4aWEvLnRlc3QobXVybCkpIHtcXG4gICAgICAgICAgICB2YXIgbGluayA9ICdodHRwOi8vd3d3LmRpamlheGlhLmNvbS9hcGkucGhwL2FwcC92aWRlb19kZXRhaWw/aWQ9JyArIHVybDtcXG4gICAgICAgIH1cXG4gICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgICAgICBwaWNfdXJsOiBpbWcgKyAnQFJlZmVyZXI9JyxcXG4gICAgICAgICAgICB1cmw6ICQobGluaykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHZhciByZXMgPSB7fTtcXG4gICAgICAgICAgICAgICAgdmFyIGl0ZW1zID0gW107XFxuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzogJzI1NSYmZmxvYXQnLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnJyxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAneDVfd2Vidmlld19zaW5nbGUnXFxuICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoWDVXZWJWaWV3KCcnKTtcXG4gICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGdldFJlc0NvZGUoKSk7XFxuICAgICAgICAgICAgICAgIHZhciBteXVybCA9IE1ZX1VSTC5tYXRjaCgvKFtcXFxcU10qPzpcXFxcL1xcXFwvW1xcXFxTXSo/KVxcXFwvLylbMV07XFxuICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL2FwcG1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICByZXMuZGF0YSA9IGl0ZW1zO1xcbiAgICAgICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgZGVzYzogZGVzYyxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzNfbWFycXVlZSdcXG4gICAgICAgIH0pO1xcbiAgICB9XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6aaW5qyh5a+85YWl562J5b6FXCIsXCJwYXRoXCI6XCJ3YWl0XCIsXCJydWxlXCI6XCJmdW5jdGlvbiBjYW5Vc2UoKSB7XFxuICAgIC8v5aaC5p6c5pu05paw5LqG6KeE5YiZ5Lmf6KaB6ZmQ5rWB77yM5Y+v5Lul5L+u5pS5a2V5XFxuICAgIGxldCBrZXkgPSBcXFwibG9jazRcXFwiXFxuICAgIC8v562J5b6F5YiG6ZKf5pWwXFxuICAgIGxldCB3YWl0TWluID0gMjBcXG4gICAgXFxuICAgIGxldCBtaW4gPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwICogNjAgKiB3YWl0TWluKVxcbiAgICBsZXQgdW5sb2NrID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgKyBtaW47XFxuICAgIGxldCB0aW1lID0gZ2V0SXRlbShrZXksIFxcXCJcXFwiKTtcXG4gICAgaWYgKHRpbWUgPT0gXFxcIlxcXCIpIHtcXG4gICAgICAgIHNldEl0ZW0oa2V5LCBcXFwiXFxcIiArIHVubG9jaylcXG4gICAgICAgIGxldCBzdCA9IG5ldyBEYXRlKHVubG9jaykudG9Mb2NhbGVTdHJpbmcoKS5yZXBsYWNlKC86XFxcXGR7MSwyfSQvLCAnICcpO1xcbiAgICAgICAgbGV0IG1zZyA9IFxcXCLov5nmmK/mgqjnrKzkuIDmrKHkvb/nlKjor6XniYjmnKzop4TliJnvvIzkuLrpgb/lhY3nrKzkuIDmrKHlr7zlhaXkvb/nlKjkurrmlbDmv4Dlop7vvIzop4TliJnlsIblnKhcXFwiICsgc3QgKyBcXFwi6Kej6ZSB5L2/55So44CCPGJyPjxicj7lpb3op4TliJnkuI3mgJXmmZrvvIzor7fogJDlv4PnrYnlvoXvvIHor6Xmj5DnpLrku4XlnKjnrKzkuIDmrKHlr7zlhaXvvIjmm7TmlrDvvInml7blh7rnjrDvvIzlkI7nu63kvb/nlKjov4fnqIvkuK3kuI3kvJrlh7rnjrDvvIFcXFwiXFxuICAgICAgICBzZXRSZXN1bHQoW3tcXG4gICAgICAgICAgICB0aXRsZTogbXNnLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwicmljaF90ZXh0XFxcIlxcbiAgICAgICAgfV0pXFxuICAgICAgICByZXR1cm4gZmFsc2VcXG4gICAgfSBlbHNlIGlmIChwYXJzZUludCh0aW1lKSA8IG5ldyBEYXRlKCkuZ2V0VGltZSgpKSB7XFxuICAgICAgICByZXR1cm4gdHJ1ZVxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgbGV0IHN0ID0gbmV3IERhdGUocGFyc2VJbnQodGltZSkpLnRvTG9jYWxlU3RyaW5nKCkucmVwbGFjZSgvOlxcXFxkezEsMn0kLywgJyAnKTtcXG4gICAgICAgIGxldCBtc2cgPSBcXFwi5Li66YG/5YWN5L2/55So5Lq65pWw5r+A5aKe77yM6KeE5YiZ5bCG5ZyoXFxcIiArIHN0ICsgXFxcIuino+mUgeS9v+eUqOOAgjxicj48YnI+5aW96KeE5YiZ5LiN5oCV5pma77yM6K+36ICQ5b+D562J5b6F77yB6K+l5o+Q56S65LuF5Zyo56ys5LiA5qyh5a+85YWl77yI5pu05paw77yJ5pe25Ye6546w77yM5ZCO57ut5L2/55So6L+H56iL5Lit5LiN5Lya5Ye6546w77yBXFxcIlxcbiAgICAgICAgc2V0UmVzdWx0KFt7XFxuICAgICAgICAgICAgdGl0bGU6IG1zZyxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInJpY2hfdGV4dFxcXCJcXG4gICAgICAgIH1dKVxcbiAgICAgICAgcmV0dXJuIGZhbHNlXFxuICAgIH1cXG59XFxuJC5leHBvcnRzID0gY2FuVXNlKCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmlq3lv7Xmj5Lku7bosIPnlKhcIixcInBhdGhcIjpcImRucGx1Z2luXCIsXCJydWxlXCI6XCJ2YXIgZG5lbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSkuZW5EbjtcXG5pdGVtcy5wdXNoKHtcXG4gICAgdGl0bGU6ICfmlq3mj5LvvJonICsgKGRuZW4gPT0gJzEnID8gJ+KAnOKAnOW3suW8gOWQr+KAneKAnScgOiAn5bey56aB55SoJyksXFxuICAgIHVybDogJCgnJykubGF6eVJ1bGUoKGRuZW4pID0+IHtcXG4gICAgICAgIGlmIChkbmVuID09ICcxJykge1xcbiAgICAgICAgICAgIHZhciBmaWxlVXJsID0gZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblxcXCIsIHt9KS5yZXBsYWNlKCdcXFxcXFxcImVuRG5cXFxcXFxcIjpcXFxcXFxcIjFcXFxcXFxcIicsICdcXFxcXFxcImVuRG5cXFxcXFxcIjpcXFxcXFxcIjBcXFxcXFxcIicpO1xcbiAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uXFxcIiwgZmlsZVVybCk7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7LnpoHnlKjmlq3mj5LosIPnlKjvvIEnO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgZmlsZVVybCA9IGZldGNoKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cXFwiLCB7fSkucmVwbGFjZSgnXFxcXFxcXCJlbkRuXFxcXFxcXCI6XFxcXFxcXCIwXFxcXFxcXCInLCAnXFxcXFxcXCJlbkRuXFxcXFxcXCI6XFxcXFxcXCIxXFxcXFxcXCInKTtcXG4gICAgICAgICAgICAvL2xvZyhmaWxlVXJsKTtcXG4gICAgICAgICAgICB3cml0ZUZpbGUoXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblxcXCIsIGZpbGVVcmwpO1xcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey5byA5ZCv5pat5o+S6LCD55So77yBJ1xcbiAgICAgICAgfVxcbiAgICB9LCBkbmVuKSxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG59KTtcXG5pdGVtcy5wdXNoKHtcXG4gICAgdGl0bGU6ICfnur/ot6/phY3nva4nLFxcbiAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5I25vUmVjb3JkSGlzdG9yeSNAcnVsZT1qczp0aGlzLmQ9W107cmVxdWlyZSgnaHR0cHM6Ly9naXRlYS5jb20vQUk5NTcvSGlrZXIvcmF3L20vdi9Sb3V0ZS5qcycpO1JvdXRlLnNldFBhcnNlKCk7c2V0UmVzdWx0KGQpO1xcXCIsXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxufSk7XFxuaXRlbXMucHVzaCh7XFxuICAgIHRpdGxlOiAn6Kej5p6Q566h55CGJyxcXG4gICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eSNub1JlY29yZEhpc3RvcnkjQHJ1bGU9anM6dGhpcy5kPVtdO3JlcXVpcmUoJ2h0dHBzOi8vZ2l0ZWEuY29tL0FJOTU3L0hpa2VyL3Jhdy9tL3YvanhJdGVtLmpzJyk7anhJdGVtLmp4TGlzdCgpO3NldFJlc3VsdChkKVxcXCIsXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxufSk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLorr7nva7pobXku6PnoIFcIixcInBhdGhcIjpcInNldHRpbmdcIixcInJ1bGVcIjpcInZhciBkID0gW107XFxudmFyIHNldGpzb24gPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb24nLCB7fSkpO1xcbnZhciBzc21kID0gc2V0anNvbi5zc21vZGU7XFxudmFyIHNzeGMgPSBzZXRqc29uLnNzY291bnQ7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfmkJzntKLmqKHlvI/orr7nva4nLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICflvZPliY3vvJonICsgJygnICsgKHNzbWQgPT0gMSA/ICfogZrlkIjnu5PmnpwnIDogJ+W8leaTjuWIl+ihqCcpICsgJyknLFxcbiAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHknKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICB2YXIgbWQgPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb24nLCB7fSkpLnNzbW9kZTtcXG5cXG4gICAgICAgIGlmIChtZCA9PSAxKSB7XFxuICAgICAgICAgICAgdmFyIGZpbGVVcmwgPSBmZXRjaChcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uXFxcIiwge30pLnJlcGxhY2UoJ1xcXFxcXFwic3Ntb2RlXFxcXFxcXCI6XFxcXFxcXCIxXFxcXFxcXCInLCAnXFxcXFxcXCJzc21vZGVcXFxcXFxcIjpcXFxcXFxcIjBcXFxcXFxcIicpO1xcbiAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uXFxcIiwgZmlsZVVybCk7XFxuICAgICAgICAgICAgYmFjayh0cnVlKTtcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5YiH5o2i5Li65pCc57Si5byV5pOO5YiX6KGo5Y2V6YCJ5qih5byP5oiQ5Yqf77yBJztcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIGZpbGVVcmwgPSBmZXRjaChcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uXFxcIiwge30pLnJlcGxhY2UoJ1xcXFxcXFwic3Ntb2RlXFxcXFxcXCI6XFxcXFxcXCIwXFxcXFxcXCInLCAnXFxcXFxcXCJzc21vZGVcXFxcXFxcIjpcXFxcXFxcIjFcXFxcXFxcIicpO1xcbiAgICAgICAgICAgIC8vbG9nKGZpbGVVcmwpO1xcbiAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uXFxcIiwgZmlsZVVybCk7XFxuICAgICAgICAgICAgYmFjayh0cnVlKTtcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5YiH5o2i5Li66IGa5ZCI5pCc57Si5qih5byP5oiQ5Yqf77yBJ1xcbiAgICAgICAgfVxcbiAgICB9KSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzInXFxufSlcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+aQnOe0oui2heaXticrJycrZ2V0SXRlbSgnYXBwdGltb3V0JywgJycpLFxcbiAgICB1cmw6IFxcXCJpbnB1dDovL1xcXCIgKyAnMzAwMCcgKyBcXFwiLy8vL+ivt+iuvue9rui2heaXtuaXtumXtO+8jDEwMDDkuLrkuIDnp5LjgIIuanM6dmFyIG51bSA9IHBhcnNlSW50KGlucHV0KS50b1N0cmluZygpO2lmIChudW0gPT0gJ05hTid8fG51bTwxMDAwKSB7J3RvYXN0Oi8v6L6T5YWl55qE5YC85aW95YOP5LiN5q2j56Gu44CCJzt9IGVsc2Uge3NldEl0ZW0oJ2FwcHRpbW91dCcsIG51bSk7cmVmcmVzaFBhZ2UoKTsndG9hc3Q6Ly/orr7nva7miJDlip/jgIInfVxcXCIsXFxuICAgIGNvbF90eXBlOiAndGV4dF8yJ1xcbn0pO1xcblxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn5pCc57Si57q/56iL6K6+572uJyxcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbn0pO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn5b2T5YmN57q/56iLJyArIHNzeGMgKyAnICAnICsgJ+S9oOi+k+WFpeeahOaYrycgKyBwYXJzZUludChnZXRWYXIoJ2FwcG1zc3hjc2V0JywgJycpKSxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnXFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICforr7nva7mkJzntKLnur/nqIsnLFxcbiAgICB1cmw6IFxcXCJpbnB1dDovL1xcXCIgKyAnJyArIFxcXCIvLy8v6K+36L6T5YWl5LiA5Liq5pW05pWw5pWw5a2X77yM5o6o6I2Q5pyA5aSn5LiN6KaB6LaF6L+HMTXjgIIuanM6cHV0VmFyKCdhcHBtc3N4Y3NldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcXFwiLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMidcXG59KTtcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+S/neWtmOe6v+eoi+iuvue9ricsXFxuICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgIHZhciBudW0gPSBwYXJzZUludChnZXRWYXIoJ2FwcG1zc3hjc2V0JykpLnRvU3RyaW5nKCk7XFxuICAgICAgICBpZiAobnVtID09ICdOYU4nKSB7XFxuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+i+k+WFpeeahOWAvOWlveWDj+S4jeato+ehruOAgic7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciBmaWxlVXJsID0gZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblxcXCIsIHt9KS5yZXBsYWNlKC9cXFxcXFxcInNzY291bnRcXFxcXFxcIjpcXFxcXFxcIltcXFxcZF0qXFxcXFxcXCIvLCAnXFxcXFxcXCJzc2NvdW50XFxcXFxcXCI6XFxcXFxcXCInICsgbnVtICsgJ1xcXFxcXFwiJyk7XFxuICAgICAgICAgICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cXFwiLCBmaWxlVXJsKTtcXG4gICAgICAgICAgICAvL3JlZnJlc2hQYWdlKHRydWUpO1xcbiAgICAgICAgICAgIGJhY2sodHJ1ZSk7XFxuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+S/neWtmOiuvue9ruaQnOe0oue6v+eoi+WujOaIkO+8gSc7XFxuICAgICAgICB9XFxuXFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMidcXG59KTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+abtOaWsOebuOWFsycsXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG59KTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+ajgOa1i+abtOaWsCcsXFxuICAgIHVybDogJCgnJykubGF6eVJ1bGUoKGxvY3ZlcikgPT4ge1xcbiAgICAgICAgdmFyIHJlbWYgPSBmZXRjaENhY2hlKCdodHRwczovL2NvZGViZXJnLm9yZy9semsyMzU1OS9jbG91ZHJ1bGUvcmF3L2JyYW5jaC9tYXN0ZXIvYXBwbW92aWUudHh0JywgMjQpO1xcbiAgICAgICAgaWYgKC/vv6ViYXNlNjQvLnRlc3QocmVtZikpIHtcXG4gICAgICAgICAgICB2YXIgcmVtdiA9IEpTT04ucGFyc2UoYmFzZTY0RGVjb2RlKHJlbWYuc3BsaXQoJ0AnKVsyXSkpLnZlcnNpb247XFxuICAgICAgICB9IGVsc2UgaWYgKC/vv6Vob21lX3J1bGXvv6UvLnRlc3QocmVtZikpIHtcXG4gICAgICAgICAgICB2YXIgcmVtdiA9IEpTT04ucGFyc2UocmVtZi5zcGxpdCgn77+laG9tZV9ydWxl77+lJylbMV0pLnZlcnNpb247XFxuICAgICAgICB9O1xcbiAgICAgICAgaWYgKC/vv6Vob21lX3J1bGUvLnRlc3QocmVtZikpIHtcXG4gICAgICAgICAgICBsb2coJ+i/nOeoi+eJiOacrO+8micgKyByZW12KTtcXG4gICAgICAgICAgICBsb2coJ+acrOWcsOeJiOacrO+8micgKyBsb2N2ZXIpO1xcbiAgICAgICAgICAgIGlmIChsb2N2ZXIgIT0gcmVtdikge1xcbiAgICAgICAgICAgICAgICBwdXRWYXIoJ2FwcG52ZXInLCByZW1mKTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+acieaWsOeJiOacrO+8jOeCueWvvOWFpeabtOaWsOWPr+abtOaWsOinhOWImeOAgic7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+aaguaXoOaWsOeJiOacrO+8jDI05bCP5pe25YaF5qOA5rWL5peg5pWI44CCJ1xcbiAgICAgICAgICAgIH07XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mo4DmtYvmm7TmlrDlpLHotKXvvIzlj6/og73kupHnq6/mir3po47kuobjgIInXFxuICAgICAgICB9XFxuICAgIH0sIGxvY3ZlciksXFxuICAgIGNvbF90eXBlOiAndGV4dF8yJ1xcbn0pO1xcbmlmIChnZXRWYXIoJ2FwcG52ZXInKSkge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICflr7zlhaXmm7TmlrAnLFxcbiAgICAgICAgdXJsOiAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgcmV0dXJuIGdldFZhcignYXBwbnZlcicpO1xcbiAgICAgICAgfSksXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMidcXG4gICAgfSk7XFxufVxcbnNldFJlc3VsdChkKVwifV0iLCJpY29uIjoiIn0=
Add Comment
Please, Sign In to add comment