1 line
116 KiB
JSON
1 line
116 KiB
JSON
{"remainingRequest":"F:\\workspace\\webstorm\\SafetyScreen-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\webstorm\\SafetyScreen-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\workspace\\webstorm\\SafetyScreen-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\workspace\\webstorm\\SafetyScreen-ui\\src\\components\\home\\countryMap.vue?vue&type=script&lang=js","dependencies":[{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui\\src\\components\\home\\countryMap.vue","mtime":1740032704200},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui\\babel.config.js","mtime":1740032703932},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740032832373},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1740032833520},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740032832373},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1740032833997}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJGOi93b3Jrc3BhY2Uvd2Vic3Rvcm0vU2FmZXR5U2NyZWVuLXVpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdC5qcyIpLmRlZmF1bHQ7CnZhciBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCA9IHJlcXVpcmUoIkY6L3dvcmtzcGFjZS93ZWJzdG9ybS9TYWZldHlTY3JlZW4tdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVXaWxkY2FyZC5qcyIpLmRlZmF1bHQ7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICB2YWx1ZTogdHJ1ZQp9KTsKZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZm9yLWVhY2guanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm51bWJlci5jb25zdHJ1Y3Rvci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyIpOwp2YXIgZWNoYXJ0cyA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoImVjaGFydHMiKSk7CnZhciBfY2hpbmEgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvdXRpbHMvbWFwSnNvbi9jaGluYS5qc29uIikpOwp2YXIgX25pbmd4aWEgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvdXRpbHMvbWFwSnNvbi9uaW5neGlhLmpzb24iKSk7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vIGxldCBtYXBDaGluYUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2NoaW5hLmpzb24nKQovLyBsZXQgbmluZ3hpYUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL25pbmd4aWEuanNvbicpCnZhciBfZGVmYXVsdCA9IGV4cG9ydHMuZGVmYXVsdCA9IHsKICBuYW1lOiAnY2VudGVyVG9wUGFnZScsCiAgcHJvcHM6IHsKICAgIHNlbmRIZWlnaHQ6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnMTAwJScKICAgIH0sCiAgICBzZW5kTWFwQ29sb3I6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnIzY4OUFGQicKICAgIH0sCiAgICBzZW5kR2VvOiB7CiAgICAgIHR5cGU6IEFycmF5LAogICAgICBkZWZhdWx0OiBudWxsCiAgICB9LAogICAgc2VuZE51bWJlcjogewogICAgICB0eXBlOiBOdW1iZXIKICAgIH0sCiAgICBzaG93TGluZTogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIHNlbmRQcm9qU3BpbjogewogICAgICB0eXBlOiBBcnJheSB8IE9iamVjdAogICAgfQogIH0sCiAgd2F0Y2g6IHsKICAgIHNlbmRHZW86IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcihuZXdWYWwsIG9sZFZhbCkgewogICAgICAgIGNvbnNvbGUubG9nKG5ld1ZhbCwgb2xkVmFsKTsKICAgICAgICBpZiAobmV3VmFsICE9PSBvbGRWYWwpIHsKICAgICAgICAgIHRoaXMuZ2VvVmFsID0gbmV3VmFsOwogICAgICAgICAgdGhpcy5zZXRNYXBPcHRpb24oKTsKICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlZXA6IHRydWUKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB0eXBlOiAxLAogICAgICB6b29tOiAxLjYsCiAgICAgIHpvb20yOiAxLjIsCiAgICAgIG1hcEVjaGFydHM6IG51bGwsCiAgICAgIG1hcEVjaGFydHMyOiBudWxsLAogICAgICBtYXBKc29uOiBudWxsLAogICAgICBwb2ludEFyZWE6IHRoaXMuc2VuZFByb2pTcGluLAogICAgICBwb2ludEFsbDogW10sCiAgICAgIGNvbXBhbnlMaXN0OiBbXSwKICAgICAgY29tcGFueUFyZWFMaXN0OiBbXSwKICAgICAgaXNDaXR5OiAwLAogICAgICBjaXR5Q291bnQ6IFtdLAogICAgICBnb3pvb206IDEsCiAgICAgIGdlb1ZhbDogbnVsbAogICAgfTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICAvLyB0aGlzLmdldENvbXBhbnlMaXN0KCkKICAgIC8vIHRoaXMuZ2V0Q29tcGFueUFyZWFMaXN0KCkKICAgIC8vIHRoaXMuZ2V0Q2l0eUNvdW50KCkKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICAvLyB0aGlzLmdldEVxdWlwbWVudERpc0J5TWFwQXBpUGFnZSgpCiAgICB0aGlzLmdldEluaXREYXRhKCk7CiAgICAvKmxldCBtYXBFbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21hcEVjaGFydHMnKQ0KICAgIG1hcEVsZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4gew0KICAgIGNvbnNvbGUubG9nKGUpDQogICAgfSkqLwogIH0sCiAgbWV0aG9kczogewogICAgZ2V0RXF1aXBtZW50RGlzQnlNYXBBcGlQYWdlOiBmdW5jdGlvbiBnZXRFcXVpcG1lbnREaXNCeU1hcEFwaVBhZ2UoKSB7CiAgICAgIGdldEVxdWlwbWVudERpc0J5TWFwQXBpKCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgY29uc29sZS5sb2coJ3Jlcz09PT09JywgcmVzKTsKICAgICAgfSk7CiAgICB9LAogICAgZ2V0Q29tcGFueUxpc3Q6IGZ1bmN0aW9uIGdldENvbXBhbnlMaXN0KCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB2YXIgcGFyYW1zID0gewogICAgICAgIHByb3ZpbmNlSWQ6ICcnCiAgICAgIH07CiAgICAgIGdldENvbXBhbnlMaXN0QnlQcm92aW5jZUlkKHBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5zdWNjZXNzICYmIHJlcy5kYXRhKSB7CiAgICAgICAgICBfdGhpcy5jb21wYW55TGlzdCA9IHJlcy5kYXRhOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZ2V0Q29tcGFueUFyZWFMaXN0OiBmdW5jdGlvbiBnZXRDb21wYW55QXJlYUxpc3QoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICB2YXIgcGFyYW1zID0gewogICAgICAgIGFyZWFJZDogJycKICAgICAgfTsKICAgICAgZ2V0Q29tcGFueUxpc3RCeUFyZWFJZChwYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuc3VjY2VzcyAmJiByZXMuZGF0YSkgewogICAgICAgICAgX3RoaXMyLmNvbXBhbnlBcmVhTGlzdCA9IHJlcy5kYXRhOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZ2V0Q2l0eUNvdW50OiBmdW5jdGlvbiBnZXRDaXR5Q291bnQoKSB7CiAgICAgIC8vIHRoaXMuZ2V0SW5pdERhdGEoKQogICAgICAvLyBsZXQgcGFyYW1zID0gewogICAgICAvLyAgIGlzQ2l0eTogdGhpcy5pc0NpdHkKICAgICAgLy8gfQogICAgICAvLyBnZXRDaXR5Q291bnQocGFyYW1zKS50aGVuKHJlcyA9PiB7CiAgICAgIC8vICAgaWYgKHJlcy5zdWNjZXNzICYmIHJlcy5kYXRhKSB7CiAgICAgIC8vICAgICBpZiAodGhpcy50eXBlID09IDEpIHsKICAgICAgLy8gICAgICAgcmVzLmRhdGEuZm9yRWFjaChpdGVtID0+IHsKICAgICAgLy8gICAgICAgICBpdGVtLnZhbHVlID0gaXRlbS5jZW50ZXIuc3BsaXQoJywnKQogICAgICAvLyAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZQogICAgICAvLyAgICAgICAgIGlmIChpdGVtLmFyZWFOYW1lID09ICfljJfkuqzluIInKSB7CiAgICAgIC8vICAgICAgICAgICBpdGVtLmFyZWFDb2xvciA9ICcjZmZmJwogICAgICAvLyAgICAgICAgIH0KICAgICAgLy8gICAgICAgfSkKICAgICAgLy8gICAgICAgY29uc29sZS5sb2cocmVzLmRhdGEpCiAgICAgIC8vICAgICAgIHRoaXMuY2l0eUNvdW50ID0gcmVzLmRhdGEKICAgICAgLy8gICAgICAgdGhpcy5nZXRJbml0RGF0YSgpCiAgICAgIC8vICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSAyKSB7CiAgICAgIC8vICAgICAgIHJlcy5kYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAgIC8vICAgICAgICAgaXRlbS52YWx1ZSA9IGl0ZW0uY2VudGVyLnNwbGl0KCcsJykKICAgICAgLy8gICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2UKICAgICAgLy8gICAgICAgfSkKICAgICAgLy8gICAgICAgdGhpcy5BcmVhQ291bnQgPSByZXMuZGF0YQogICAgICAvLyAgICAgfQogICAgICAvLyAgIH0KICAgICAgLy8gfSkKICAgIH0sCiAgICBnZXRNYXBTZWxlY3Q6IGZ1bmN0aW9uIGdldE1hcFNlbGVjdCh0eXBlKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICB2YXIgZG9tID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaWNvbk1hcCcpOwogICAgICBkb21bMF0uc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgaWYgKHR5cGUgPT0gMSkgewogICAgICAgIHRoaXMudHlwZSA9IDE7CiAgICAgICAgaWYgKHRoaXMubWFwRWNoYXJ0cykgewogICAgICAgICAgdGhpcy5tYXBFY2hhcnRzLmRpc3Bvc2UoKTsKICAgICAgICAgIHRoaXMubWFwRWNoYXJ0cyA9IG51bGw7CiAgICAgICAgfQogICAgICAgIGlmICh0aGlzLm1hcEVjaGFydHMyKSB7CiAgICAgICAgICB0aGlzLm1hcEVjaGFydHMyLmRpc3Bvc2UoKTsKICAgICAgICAgIHRoaXMubWFwRWNoYXJ0czIgPSBudWxsOwogICAgICAgIH0KICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgIF90aGlzMy5tYXBFY2hhcnRzID0gZWNoYXJ0cy5pbml0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXBFY2hhcnRzJykpOwogICAgICAgICAgdmFyIG1hcEpzb24xID0gX2NoaW5hLmRlZmF1bHQ7CiAgICAgICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKCdjaGluYScsIG1hcEpzb24xKTsKICAgICAgICAgIF90aGlzMy5zZXRNYXBPcHRpb24oKTsKICAgICAgICB9LCAyMDApOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMudHlwZSA9IDI7CiAgICAgICAgdGhpcy5pc0NpdHkgPSAxOwogICAgICAgIHRoaXMuZ2V0Q2l0eUNvdW50KCk7CiAgICAgICAgaWYgKHRoaXMubWFwRWNoYXJ0cykgewogICAgICAgICAgdGhpcy5tYXBFY2hhcnRzLmRpc3Bvc2UoKTsKICAgICAgICAgIHRoaXMubWFwRWNoYXJ0cyA9IG51bGw7CiAgICAgICAgfQogICAgICAgIGlmICh0aGlzLm1hcEVjaGFydHMyKSB7CiAgICAgICAgICB0aGlzLm1hcEVjaGFydHMyLmRpc3Bvc2UoKTsKICAgICAgICAgIHRoaXMubWFwRWNoYXJ0czIgPSBudWxsOwogICAgICAgIH0KICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgIF90aGlzMy5tYXBFY2hhcnRzMiA9IGVjaGFydHMuaW5pdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFwRWNoYXJ0czInKSk7CiAgICAgICAgICAvLyBsZXQgbWFwSnNvbjIgPSBtYXBKc29uKCcxNTE1NTA3OTc1NjU5NzYxNjY1JywgJycpCiAgICAgICAgICB2YXIgbWFwSnNvbjIgPSBfbmluZ3hpYS5kZWZhdWx0OwogICAgICAgICAgZWNoYXJ0cy5yZWdpc3Rlck1hcCgnaHMnLCBtYXBKc29uMik7CiAgICAgICAgICBfdGhpczMuc2V0TWFwT3B0aW9uMigpOwogICAgICAgIH0sIDIwMCk7CiAgICAgIH0KICAgIH0sCiAgICBnZXRJbml0RGF0YTogZnVuY3Rpb24gZ2V0SW5pdERhdGEoKSB7CiAgICAgIHRoaXMubWFwRWNoYXJ0cyA9IGVjaGFydHMuaW5pdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFwRWNoYXJ0cycpKTsKICAgICAgdGhpcy5tYXBKc29uID0gX2NoaW5hLmRlZmF1bHQ7CiAgICAgIGVjaGFydHMucmVnaXN0ZXJNYXAoJ2NoaW5hJywgdGhpcy5tYXBKc29uKTsKICAgICAgdGhpcy5zZXRNYXBPcHRpb24oKTsKICAgIH0sCiAgICBzZXRNYXBPcHRpb246IGZ1bmN0aW9uIHNldE1hcE9wdGlvbigpIHsKICAgICAgdGhpcy5tYXBFY2hhcnRzLmNsZWFyKCk7CiAgICAgIC8v6I635Y+W5b2T5YmN5pi+56S65Zyw5Zu+5LiL5pa55Zyw5biC55qE5Z2Q5qCH54K55pWw5o2u77ybIOeUqOS6juawlOazoeaYvuekugogICAgICB2YXIgZ2VvQ29vcmRNYXAgPSB7fTsKICAgICAgLy8g6I635Y+W5Zyw5Yy66K+m57uG5L+h5oGvCiAgICAgIHZhciBtYXBGZWF0dXJlcyA9IHRoaXMubWFwSnNvbi5mZWF0dXJlczsKICAgICAgLy8g6YGN5Y6G6I635Y+W5q+P5Liq5Zyw5Yy655qE57uP57qs5bqmCiAgICAgIG1hcEZlYXR1cmVzLmZvckVhY2goZnVuY3Rpb24gKHYsIGkpIHsKICAgICAgICAvLyDojrflj5blvZPliY3lnLDljLrlkI0KICAgICAgICB2YXIgbmFtZSA9IHYucHJvcGVydGllcy5uYW1lOwogICAgICAgIGlmIChuYW1lKSB7CiAgICAgICAgICAvLyDojrflj5blvZPliY3lnLDljLrnmoTnu4/nuqzluqYKICAgICAgICAgIGdlb0Nvb3JkTWFwW25hbWVdID0gdi5wcm9wZXJ0aWVzLmNlbnRlcjsKICAgICAgICB9CiAgICAgIH0pOwoKICAgICAgLypsZXQgbWFwRGF0YSA9IFt7DQogICAgICBuYW1lOiAi6Z2S5rW355yBIiwNCiAgICAgIHZhbHVlOiBbJzEwMS43NzgnLCAnMzYuNjIzJ10sIGE6ICcxMDAnDQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogIuWugeWkj+WbnuaXj+iHquayu+WMuiIsDQogICAgICB2YWx1ZTogWycxMDYuMjc4JywgJzM4LjQ2NiddLCBhOiAnMTAwJw0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgIG5hbWU6ICflronlvr3nnIEnLCB2YWx1ZTogWycxMTcuMjgzJywgJzMxLjg2MSddLCBhOiAnMTAwJw0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgIG5hbWU6ICfmuZbljZfnnIEnLCB2YWx1ZTogWycxMTIuOTgyJywgJzI4LjE5NCddLCBhOiAnMTAwJw0KICAgICAgfQ0KICAgICAgXSovCiAgICAgIHZhciB0aGF0ID0gdGhpczsKICAgICAgdGhpcy5wb2ludEFsbCA9IHRoaXMuY2l0eUNvdW50OwogICAgICB0aGlzLnBvaW50QWxsLnB1c2goewogICAgICAgIG5hbWU6ICflroHlpI8nLAogICAgICAgIC8v6Ieq5a6a5LmJ5Yy65Z+f55qE6aKc6ImyCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBhcmVhQ29sb3I6ICcjRjUwNTA4JywKICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzE3NzNjMycsCiAgICAgICAgICAvLyDljLrln5/ovrnmoYYKICAgICAgICAgIHNoYWRvd0NvbG9yOiAnIzE3NzNjMycgLy8g6Zi05b2xCiAgICAgICAgfQogICAgICB9KTsKICAgICAgLypsZXQgc3BsaXRMaXN0ID0gWw0KICAgICAgeyBuYW1lOiAn5YyX5Lqs5biCJywgaXRlbVN0eWxlOiB7IG5vcm1hbDogeyBhcmVhQ29sb3I6IHRoaXMuc2VuZE1hcENvbG9yIH0gfSB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+Wkqea0peW4gicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+S4iua1t+W4gicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+mHjeW6huW4gicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+ays+WMl+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+ays+WNl+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+S6keWNl+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+i+veWugeecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+m7kem+meaxn+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+a5luWNl+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+WuieW+veecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+WxseS4nOecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+aWsOeWhue7tOWQvuWwlOiHquayu+WMuicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+axn+iLj+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+a1meaxn+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+axn+ilv+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+a5luWMl+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+W5v+ilv+WjruaXj+iHquayu+WMuicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+eUmOiCg+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+Wxseilv+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+WGheiSmeWPpOiHquayu+WMuicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+mZleilv+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+WQieael+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+emj+W7uuecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+i0teW3nuecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+W5v+S4nOecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+mdkua1t+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+ilv+iXj+iHquayu+WMuicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+Wbm+W3neecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+WugeWkj+WbnuaXj+iHquayu+WMuicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+a1t+WNl+ecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+WPsOa5vuecgScsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+mmmea4r+eJueWIq+ihjOaUv+WMuicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+a+s+mXqOeJueWIq+ihjOaUv+WMuicsDQogICAgICBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9DQogICAgICB9DQogICAgICBdKi8KICAgICAgdmFyIGltZ1VybCA9IHJlcXVpcmUoJy4uLy4uL2Fzc2V0cy9pbWcvbXlJbWFnZS90YW5rdWFuZy5wbmcnKTsKICAgICAgdmFyIGVjaGFydE9wdGlvbiA9IHsKICAgICAgICBnZW86IFt7CiAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgbWFwOiAnY2hpbmEnLAogICAgICAgICAgdHlwZTogJ21hcCcsCiAgICAgICAgICBhc3BlY3RTY2FsZTogMC44LAogICAgICAgICAgem9vbTogdGhpcy56b29tLAogICAgICAgICAgcm9hbTogdHJ1ZSwKICAgICAgICAgIC8vIOaYr+WQpuWFgeiuuOe8qeaUvgogICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb25VcGRhdGU6IDAsCiAgICAgICAgICBsYXlvdXRTaXplOiAnOTIlJywKICAgICAgICAgIGxheW91dENlbnRlcjogWyc1MCUnLCAnNjglJ10sCiAgICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBhcmVhQ29sb3I6IHRoaXMuc2VuZE1hcENvbG9yLAogICAgICAgICAgICAgIC8v5Zyw5Zu+6aKc6ImyCiAgICAgICAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyMxNzRDOTUnLAogICAgICAgICAgICAgIC8v5Zyw5Zu+6L655qGG6aKc6ImyCiAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDEsCiAgICAgICAgICAgICAgLy/lnLDlm77ovrnmoYblrr3luqYKICAgICAgICAgICAgICBzaGFkb3dDb2xvcjogJ25vbmUnLAogICAgICAgICAgICAgIHNoYWRvd0JsdXI6IDEwLAogICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZicKICAgICAgICAgICAgICAvLyDorr7nva7miYflvaLnmoTpmLTlvbEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZW1waGFzaXM6IHsKICAgICAgICAgICAgICAvL+mAieS4reecgeS7veeahOminOiJsgogICAgICAgICAgICAgIGFyZWFDb2xvcjogJyM3NjVhZjMnLAogICAgICAgICAgICAgIGxhYmVsOiB7CiAgICAgICAgICAgICAgICBzaG93OiB0cnVlCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgZm9udFdlaWdodDogNTAwLAogICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjUpJwogICAgICAgICAgICB9LAogICAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBhMTgzZCcsCiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgemxldmVsOiAxLAogICAgICAgICAgcmVnaW9uczogdGhpcy5nZW9WYWwgfHwgW10sCiAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgIHRyaWdnZXI6ICdpdGVtJywKICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiBmb3JtYXR0ZXIocGFyYW1zKSB7CiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coIjExMTEiKQogICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHBhcmFtcykKICAgICAgICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudFN1YlR5cGUgPT09ICdzY2F0dGVyJykgewogICAgICAgICAgICAgICAgdmFyIGNsYXNzTmFtZSA9ICdpdGVtQ29sb3IxIGl0ZW1Db2xvcic7CiAgICAgICAgICAgICAgICB2YXIgaHRtbCA9ICJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicG9wLXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDphdXRvO2hlaWdodDoxODBweDtib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNEQ4REZGLCAjNTdCOUZGLCAjNEQ4REZGKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxMnB4O3Bvc2l0aW9uOiByZWxhdGl2ZTtkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidG9vbHRpcEdCXCIgb25jbGljaz1cImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwb3AtdG9vbHRpcCcpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtjdXJzb3I6IHBvaW50ZXI7IHdpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweDt0ZXh0LWFsaWduOmNlbnRlcjtyaWdodDo1cHg7dG9wOjVweDtmb250LXNpemU6IDIwcHg7XCI+eDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxOHB4OyBoZWlnaHQ6IDIwcHg7bGluZS1oZWlnaHQ6MjBweDtcIj4iLmNvbmNhdChwYXJhbXMuZGF0YS5wcm9qTmFtZSwgIjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsVG9vbHRpcFwiIHN0eWxlPVwibWFyZ2luLXRvcDoxMHB4O2ZsZXg6IDE7IG92ZXJmbG93LXk6YXV0bzt3aGl0ZS1zcGFjZTpub3JtYWw7Zm9udC1zaXplOiAxNnB4O2ZvbnQtd2VpZ2h0OiA0MDA7IHBvc2l0aW9uOnJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDVweFwiPlx1NjI0MFx1N0VEMVx1NUI5QVx1NjExRlx1NzdFNVx1OEJCRVx1NTkwNyIpLmNvbmNhdChwYXJhbXMuZGF0YS5kZXZUeXBlTnVtLCAiXHU3QzdCPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XHU2MjQwXHU3RUQxXHU1QjlBXHU2MTFGXHU3N0U1XHU4QkJFXHU1OTA3IikuY29uY2F0KHBhcmFtcy5kYXRhLmRldk51bSwgIlx1NEUyQTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHU4QkJFXHU1OTA3XHU4RkQwXHU4ODRDXHU2QjYzXHU1RTM4IikuY29uY2F0KHBhcmFtcy5kYXRhLnN1Y2Nlc3NOdW0sICJcdTRFMkEvPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6cmVkO1wiPlx1OEJCRVx1NTkwN1x1NjU3MFx1NjM2RVx1NUYwMlx1NUUzOCIpLmNvbmNhdChwYXJhbXMuZGF0YS5lcnJvck51bSwgIlx1NEUyQTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiIpOwogICAgICAgICAgICAgICAgcmV0dXJuIGh0bWw7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC8vIOWPr+S7peWcqOi/memHjOe8luWGmei9ruaSreeahOagvOW8j+WMluWGheWuuQogICAgICAgICAgICAgIC8vIHJldHVybiBwYXJhbXMubmFtZSArICc6ICcgKyBwYXJhbXMudmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LCB7CiAgICAgICAgICBtYXA6ICdjaGluYScsCiAgICAgICAgICBhc3BlY3RTY2FsZTogMC44LAogICAgICAgICAgcm9hbTogdHJ1ZSwKICAgICAgICAgIC8vIOaYr+WQpuWFgeiuuOe8qeaUvgogICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb25VcGRhdGU6IDAsCiAgICAgICAgICB6b29tOiB0aGlzLnpvb20sCiAgICAgICAgICBsYXlvdXRTaXplOiAnOTIlJywKICAgICAgICAgIGxheW91dENlbnRlcjogWyc1MCUnLCAnNjkuNSUnXSwKICAgICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjNmU1NWRjJywKICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjNmU1NWRjJywKICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDEsCiAgICAgICAgICAgIG9wYWNpdHk6IDAuNSwKICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgfSwKICAgICAgICAgIHpsZXZlbDogLTEsCiAgICAgICAgICBzaWxlbnQ6IHRydWUsCiAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgIHNob3c6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgfV0sCiAgICAgICAgdmlzdWFsTWFwOiB7CiAgICAgICAgICBzaG93OiBmYWxzZSwKICAgICAgICAgIHRvcDogJ3RvcCcsCiAgICAgICAgICBtaW46IDAsCiAgICAgICAgICBtYXg6IDIsCiAgICAgICAgICBzZXJpZXNJbmRleDogMCwKICAgICAgICAgIGNhbGN1bGFibGU6IHRydWUsCiAgICAgICAgICBpblJhbmdlOiB7CiAgICAgICAgICAgIGNvbG9yOiBbJyM5OThmNzQnLCAnIzA0YTRmNicsICcjMDA5NDNlJywgJyNkYWUwN2InLCAnI2I2MjAyMiddCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICB0cmlnZ2VyOiAnaXRlbScsCiAgICAgICAgICBhbHdheXNTaG93Q29udGVudDogdHJ1ZSwKICAgICAgICAgIHNob3dEZWxheTogMCwKICAgICAgICAgIC8v5rWu5bGC5pi+56S655qE5bu26L+fCiAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb246IDAuMiwKICAgICAgICAgIC8vIOaPkOekuuahhua1ruWxgueahOenu+WKqOWKqOeUu+i/h+a4oeaXtumXtAogICAgICAgICAgZW50ZXJhYmxlOiB0cnVlLAogICAgICAgICAgY2xhc3NOYW1lOiAnaWNvbk1hcCcsCiAgICAgICAgICBleHRyYUNzc1RleHQ6ICdib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMCk7JywKICAgICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gZm9ybWF0dGVyKHBhcmFtcykgewogICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnMjIyJykKICAgICAgICAgICAgLy8gY29uc29sZS5sb2cocGFyYW1zKQogICAgICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudFN1YlR5cGUgPT09ICdzY2F0dGVyJykgewogICAgICAgICAgICAgIHZhciBjbGFzc05hbWUgPSAnaXRlbUNvbG9yMSBpdGVtQ29sb3InOwogICAgICAgICAgICAgIHZhciBodG1sID0gIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInBvcC10b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoyNjBweDtoZWlnaHQ6MTQwcHg7Ym9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0RDhERkYsICM1N0I5RkYsICM0RDhERkYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxMnB4O3Bvc2l0aW9uOiByZWxhdGl2ZTtkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidG9vbHRpcEdCXCIgb25jbGljaz1cImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwb3AtdG9vbHRpcCcpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtjdXJzb3I6IHBvaW50ZXI7IHdpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweDt0ZXh0LWFsaWduOmNlbnRlcjtyaWdodDo1cHg7dG9wOjVweDtmb250LXNpemU6IDIwcHg7XCI+eDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDsgaGVpZ2h0OiAyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7XCI+Ii5jb25jYXQocGFyYW1zLmRhdGEucHJvak5hbWUsICI8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxUb29sdGlwXCIgc3R5bGU9XCJtYXJnaW4tdG9wOjEwcHg7ZmxleDogMTsgb3ZlcmZsb3cteTphdXRvO3doaXRlLXNwYWNlOm5vcm1hbDtmb250LXNpemU6IDE2cHg7Zm9udC13ZWlnaHQ6IDQwMDsgcG9zaXRpb246cmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDVweFwiPlx1NzcwMVx1NEVGRFx1RkYxQSIpLmNvbmNhdChwYXJhbXMuZGF0YS5wcm92aW5jZSwgIjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiA1cHhcIj5cdTdFQ0ZcdTVFQTZcdUZGMUEiKS5jb25jYXQocGFyYW1zLmRhdGEudmFsdWVbMF0sICI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XHU3RUFDXHU1RUE2XHVGRjFBIikuY29uY2F0KHBhcmFtcy5kYXRhLnZhbHVlWzFdLCAiPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiIpOwogICAgICAgICAgICAgIHJldHVybiBodG1sOwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSg0LDI0LDUxLDApJywKICAgICAgICAgIGJvcmRlckNvbG9yOiAncmdiYSg5OSwgMTczLCAyMjIsMCknLAogICAgICAgICAgYm9yZGVyV2lkdGg6IDAsCiAgICAgICAgICBwYWRkaW5nOiBbMCwgLTEyLCAwLCAwXSwKICAgICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLAogICAgICAgICAgdGV4dFN0eWxlOiB7CiAgICAgICAgICAgIGNvbG9yOiAnI2ZmZicsCiAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkZXInCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBzZXJpZXM6IFt7CiAgICAgICAgICB0eXBlOiAnc2NhdHRlcicsCiAgICAgICAgICAvL+W4puaciea2n+a8quaViOaenOeahAogICAgICAgICAgbWFwOiB0aGlzLmdlb1ZhbCB8fCBbXSwKICAgICAgICAgIHJvYW06IGZhbHNlLAogICAgICAgICAgY29vcmRpbmF0ZVN5c3RlbTogJ2dlbycsCiAgICAgICAgICAvL+S9v+eUqOWdkOagh+ezuwogICAgICAgICAgemxldmVsOiAxLAogICAgICAgICAgc3ltYm9sU2l6ZTogWzYwLCA3MF0sCiAgICAgICAgICBzeW1ib2w6IGZ1bmN0aW9uIHN5bWJvbCh2YWx1ZSwgcGFyYW1zKSB7CiAgICAgICAgICAgIGlmIChwYXJhbXMuZGF0YS5lcnJvck51bSA+IDApIHsKICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlOi8vJyArIHJlcXVpcmUoJ0AvYXNzZXRzL2ltZy9teUltYWdlL3BvaW50X3JlZC5wbmcnKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBpZiAocGFyYW1zLmRhdGEuZGV2U3RhdHVzID09IDApIHsKICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvcG9pbnRfZ3JleS5wbmcnKTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9wb2ludC5wbmcnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLyppZiAocGFyYW1zLm5hbWUgPT0gJ+WuieW+veecgScpIHsNCiAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvbWFya1BvaW50cy5wbmcnKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHBhcmFtcy5uYW1lID09ICfmuZbljZfnnIEnKSB7DQogICAgICAgICAgICByZXR1cm4gJ2ltYWdlOi8vJyArIHJlcXVpcmUoJ0AvYXNzZXRzL2ltZy9teUltYWdlL21hcmtQb2ludHMucG5nJykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwYXJhbXMubmFtZSA9PSAn5a6B5aSP5Zue5peP6Ieq5rK75Yy6Jykgew0KICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9tYXJrUG9pbnRzLnBuZycpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocGFyYW1zLm5hbWUgPT0gJ+mdkua1t+ecgScpIHsNCiAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvbWFya1BvaW50cy5wbmcnKQ0KICAgICAgICAgICAgfSovCiAgICAgICAgICB9LAogICAgICAgICAgZW1waGFzaXM6IHsKICAgICAgICAgICAgc2NhbGU6IGZhbHNlCiAgICAgICAgICB9LAogICAgICAgICAgc3ltYm9sS2VlcEFzcGVjdDogdHJ1ZSwKICAgICAgICAgIGxhYmVsOiB7CiAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgY29sb3I6IHRoaXMuc2VuZE1hcENvbG9yID09PSAnIzY4OUFGQicgPyAnI2ZmZicgOiAncmdiYSg1NywgMTQ1LCAyNDQsIDAuOSknLAogICAgICAgICAgICAgIGZvbnRTaXplOiAyNCwKICAgICAgICAgICAgICBmb250RmFtaWx5OiAnY3Vyc2l2ZScsCiAgICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGQnLAogICAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wJywKICAgICAgICAgICAgICBwYWRkaW5nOiBbMCwgMCwgLTEwLCAwXSwKICAgICAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIGZvcm1hdHRlcihwYXJhbXMpIHsKICAgICAgICAgICAgICAgIHZhciBzdHIgPSAiIjsKICAgICAgICAgICAgICAgIC8vIHN0ciA9IGB7YXwke3BhcmFtcy5kYXRhLnByb2pOYW1lfX1gOwogICAgICAgICAgICAgICAgcmV0dXJuIHN0cjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8gcmljaDogewogICAgICAgICAgICAgIC8vICAgICBhOiB7CiAgICAgICAgICAgICAgLy8gICAgICAgICBmb250U2l6ZTogMjAsCiAgICAgICAgICAgICAgLy8gICAgICAgICBwYWRkaW5nOiBbMCwgMCwgMCwgLTEwXSwKICAgICAgICAgICAgICAvLyAgICAgfSwKICAgICAgICAgICAgICAvLyAgICAgYjogewogICAgICAgICAgICAgIC8vICAgICAgICAgZm9udFNpemU6IDIwLAogICAgICAgICAgICAgIC8vICAgICAgICAgcGFkZGluZzogWzIwLCAwLCAwLCAtMTBdLAogICAgICAgICAgICAgIC8vICAgICB9LAogICAgICAgICAgICAgIC8vICAgICBjOiB7CiAgICAgICAgICAgICAgLy8gICAgICAgICBmb250U2l6ZTogMjAsCiAgICAgICAgICAgICAgLy8gICAgICAgICBwb3NpdGlvbjogWy0xMiwgLTEwXSwKICAgICAgICAgICAgICAvLyAgICAgfSwKICAgICAgICAgICAgICAvLyB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgZGF0YTogdGhpcy5nZW9WYWwgfHwgW10KICAgICAgICB9CiAgICAgICAgLyp7DQogICAgICAgIG5hbWU6ICJsaW5lcyIsDQogICAgICAgIHR5cGU6ICJsaW5lcyIsDQogICAgICAgIGNvb3JkaW5hdGVTeXN0ZW06ICJnZW8iLA0KICAgICAgICB6bGV2ZWw6IDIsDQogICAgICAgIGxhcmdlOiB0cnVlLA0KICAgICAgICBlZmZlY3Q6IHsNCiAgICAgICAgc2hvdzogdHJ1ZSwgLy8g5byA5ZCv5Yqo5oCB57q/5p2h5pWI5p6cDQogICAgICAgIGNvbnN0YW50U3BlZWQ6IDMwLCAvLyDnur/mnaHpgJ/luqYNCiAgICAgICAgc3ltYm9sOiAicGluIiwgLy8g5qCH6K6w55qE5Zu+5b2i77yM5pSv5oyB5Zu+54mH5ZKM5paH5a2XDQogICAgICAgIHN5bWJvbFNpemU6IDEwLCAvLyDmoIforrDnmoTlpKflsI8NCiAgICAgICAgdHJhaWxMZW5ndGg6IDAsIC8vIOWKqOaAgee6v+adoeeahOmVv+W6pg0KICAgICAgICBsb29wOiB0cnVlLCAvLyDmmK/lkKblvqrnjq/liqjnlLvmlYjmnpwNCiAgICAgICAgfSwNCiAgICAgICAgbGluZVN0eWxlOiB7DQogICAgICAgIG5vcm1hbDogew0KICAgICAgICBjb2xvcjogZnVuY3Rpb24ocGFyYW1zKSB7DQogICAgICAgIC8vIOagueaNriBzdGF0dXMg5bGe5oCn5Yik5pat6L+e57q/6aKc6ImyDQogICAgICAgIHJldHVybiAiIzMyODZDQyINCiAgICAgICAgfSwNCiAgICAgICAgd2lkdGg6IDQsDQogICAgICAgIG9wYWNpdHk6IDAuNCwNCiAgICAgICAgY3VydmVuZXNzOiAwLjIsIC8vIOabsue6v+eoi+W6pg0KICAgICAgICB9LA0KICAgICAgICBlbXBoYXNpczogew0KICAgICAgICBvcGFjaXR5OiAwLjgsDQogICAgICAgIHdpZHRoOiA1LA0KICAgICAgICB9LA0KICAgICAgICB9LA0KICAgICAgICBkYXRhOiBbew0KICAgICAgICBmcm9tTmFtZTogJ+WMl+S6rCcsDQogICAgICAgIHRvTmFtZTogJ+S4iua1tycsDQogICAgICAgIGNvb3JkczogWw0KICAgICAgICBbMTE2LjQwNzUyNiwgMzkuOTA0MDNdLCAgLy8g5YyX5Lqs55qE57uP57qs5bqm5Z2Q5qCHDQogICAgICAgIFsxMjEuNDczNzAxLCAzMS4yMzA0MTZdLCAgLy8g5LiK5rW355qE57uP57qs5bqm5Z2Q5qCHDQogICAgICAgIF0NCiAgICAgICAgfV0sDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgbmFtZTogImxpbmVzIiwNCiAgICAgICAgdHlwZTogImxpbmVzIiwNCiAgICAgICAgY29vcmRpbmF0ZVN5c3RlbTogImdlbyIsDQogICAgICAgIHpsZXZlbDogMiwNCiAgICAgICAgbGFyZ2U6IHRydWUsDQogICAgICAgIGVmZmVjdDogew0KICAgICAgICBzaG93OiB0cnVlLCAvLyDlvIDlkK/liqjmgIHnur/mnaHmlYjmnpwNCiAgICAgICAgY29uc3RhbnRTcGVlZDogMzAsIC8vIOe6v+adoemAn+W6pg0KICAgICAgICBzeW1ib2w6ICJwaW4iLCAvLyDmoIforrDnmoTlm77lvaLvvIzmlK/mjIHlm77niYflkozmloflrZcNCiAgICAgICAgc3ltYm9sU2l6ZTogMTAsIC8vIOagh+iusOeahOWkp+Wwjw0KICAgICAgICB0cmFpbExlbmd0aDogMCwgLy8g5Yqo5oCB57q/5p2h55qE6ZW/5bqmDQogICAgICAgIGxvb3A6IHRydWUsIC8vIOaYr+WQpuW+queOr+WKqOeUu+aViOaenA0KICAgICAgICB9LA0KICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgbm9ybWFsOiB7DQogICAgICAgIGNvbG9yOiBmdW5jdGlvbihwYXJhbXMpIHsNCiAgICAgICAgLy8g5qC55o2uIHN0YXR1cyDlsZ7mgKfliKTmlq3ov57nur/popzoibINCiAgICAgICAgcmV0dXJuICIjMzI4NkNDIg0KICAgICAgICB9LA0KICAgICAgICB3aWR0aDogNCwNCiAgICAgICAgb3BhY2l0eTogMC40LA0KICAgICAgICBjdXJ2ZW5lc3M6IDAuMiwgLy8g5puy57q/56iL5bqmDQogICAgICAgIH0sDQogICAgICAgIGVtcGhhc2lzOiB7DQogICAgICAgIG9wYWNpdHk6IDAuOCwNCiAgICAgICAgd2lkdGg6IDUsDQogICAgICAgIH0sDQogICAgICAgIH0sDQogICAgICAgIGRhdGE6IFt7DQogICAgICAgIGZyb21OYW1lOiAn5YyX5LqsJywNCiAgICAgICAgdG9OYW1lOiAn5LiK5rW3JywNCiAgICAgICAgY29vcmRzOiBbDQogICAgICAgIFsxMjEuNDczNzAxLCAzMS4yMzA0MTZdLCAgLy8g5LiK5rW355qE57uP57qs5bqm5Z2Q5qCHDQogICAgICAgIFsxMDIuMTAzMzY1LCAyNC4yMzU1NjddDQogICAgICAgIF0NCiAgICAgICAgfV0sDQogICAgICAgIH0sKi9dCiAgICAgIH07CiAgICAgIC8vIOWOu+mZpOe6v+adoQogICAgICAvLyBlY2hhcnRPcHRpb24uc2VyaWVzID0gZWNoYXJ0T3B0aW9uLnNlcmllcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgIT09ICdsaW5lcycpCiAgICAgIC8vIOaPkuWFpee6v+adoQogICAgICBpZiAodGhpcy5nZW9WYWwgJiYgdGhpcy5zaG93TGluZSkgewogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5nZW9WYWwubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmIChpICE9PSB0aGlzLmdlb1ZhbC5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgIGVjaGFydE9wdGlvbi5zZXJpZXMucHVzaCh7CiAgICAgICAgICAgICAgbmFtZTogJ2xpbmVzJywKICAgICAgICAgICAgICB0eXBlOiAnbGluZXMnLAogICAgICAgICAgICAgIGNvb3JkaW5hdGVTeXN0ZW06ICdnZW8nLAogICAgICAgICAgICAgIHpsZXZlbDogMiwKICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSwKICAgICAgICAgICAgICBlZmZlY3Q6IHsKICAgICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgICAvLyDlvIDlkK/liqjmgIHnur/mnaHmlYjmnpwKICAgICAgICAgICAgICAgIGNvbnN0YW50U3BlZWQ6IDMwLAogICAgICAgICAgICAgICAgLy8g57q/5p2h6YCf5bqmCiAgICAgICAgICAgICAgICBzeW1ib2w6ICdwaW4nLAogICAgICAgICAgICAgICAgLy8g5qCH6K6w55qE5Zu+5b2i77yM5pSv5oyB5Zu+54mH5ZKM5paH5a2XCiAgICAgICAgICAgICAgICBzeW1ib2xTaXplOiB0aGlzLmdlb1ZhbFtpXS5wcm9qZWN0SWQgPT09IHRoaXMuZ2VvVmFsW2kgKyAxXS5wcm9qZWN0SWQgPyAxMCA6IDAsCiAgICAgICAgICAgICAgICAvLyDmoIforrDnmoTlpKflsI8KICAgICAgICAgICAgICAgIHRyYWlsTGVuZ3RoOiAwLAogICAgICAgICAgICAgICAgLy8g5Yqo5oCB57q/5p2h55qE6ZW/5bqmCiAgICAgICAgICAgICAgICBsb29wOiB0cnVlIC8vIOaYr+WQpuW+queOr+WKqOeUu+aViOaenAogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgbGluZVN0eWxlOiB7CiAgICAgICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICAgICAgY29sb3I6IGZ1bmN0aW9uIGNvbG9yKHBhcmFtcykgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAnIzMyODZDQyc7CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLmdlb1ZhbFtpXS5wcm9qZWN0SWQgPT09IHRoaXMuZ2VvVmFsW2kgKyAxXS5wcm9qZWN0SWQgPyA0IDogMCwKICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC40LAogICAgICAgICAgICAgICAgICBjdXJ2ZW5lc3M6IDAuMiAvLyDmm7Lnur/nqIvluqYKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjgsCiAgICAgICAgICAgICAgICAgIHdpZHRoOiA1CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBkYXRhOiBbewogICAgICAgICAgICAgICAgZnJvbU5hbWU6IHRoaXMuZ2VvVmFsW2ldLm5hbWUsCiAgICAgICAgICAgICAgICB0b05hbWU6IHRoaXMuZ2VvVmFsW2kgKyAxXS5uYW1lLAogICAgICAgICAgICAgICAgY29vcmRzOiBbdGhpcy5nZW9WYWxbaV0udmFsdWUsIHRoaXMuZ2VvVmFsW2kgKyAxXS52YWx1ZV0KICAgICAgICAgICAgICB9XQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5tYXBFY2hhcnRzLnNldE9wdGlvbihlY2hhcnRPcHRpb24pOwogICAgICB0aGlzLm1hcEVjaGFydHMub24oJ2dlb3JvYW0nLCBmdW5jdGlvbiAocGFyYW1zKSB7CiAgICAgICAgdmFyIG9wdGlvbiA9IHRoYXQubWFwRWNoYXJ0cy5nZXRPcHRpb24oKTsgLy/ojrflvpdvcHRpb27lr7nosaEKICAgICAgICBpZiAocGFyYW1zLnpvb20gIT0gbnVsbCAmJiBwYXJhbXMuem9vbSAhPSB1bmRlZmluZWQpIHsKICAgICAgICAgIC8v5o2V5o2J5Yiw57yp5pS+5pe2CiAgICAgICAgICBvcHRpb24uZ2VvWzFdLnpvb20gPSBvcHRpb24uZ2VvWzBdLnpvb207IC8v5LiL5bGCZ2Vv55qE57yp5pS+562J57qn6Lef552A5LiK5bGC55qEZ2Vv5LiA6LW35pS55Y+YCiAgICAgICAgICBvcHRpb24uZ2VvWzFdLmNlbnRlciA9IG9wdGlvbi5nZW9bMF0uY2VudGVyOyAvL+S4i+WxgueahGdlb+eahOS4reW/g+S9jee9rumaj+edgOS4iuWxgmdlb+S4gOi1t+aUueWPmAogICAgICAgICAgb3B0aW9uLmdlb1swXS5sYWJlbC5zaG93ID0gdHJ1ZTsgLy/kuIvlsYLnmoRnZW/nmoTkuK3lv4PkvY3nva7pmo/nnYDkuIrlsYJnZW/kuIDotbfmlLnlj5gKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy/mjZXmjYnliLDmi5bmm7Pml7YKICAgICAgICAgIG9wdGlvbi5nZW9bMV0uY2VudGVyID0gb3B0aW9uLmdlb1swXS5jZW50ZXI7IC8v5LiL5bGC55qEZ2Vv55qE5Lit5b+D5L2N572u6ZqP552A5LiK5bGCZ2Vv5LiA6LW35pS55Y+YCiAgICAgICAgfQogICAgICAgIGlmICgxIDwgcGFyYW1zLnpvb20pIHsKICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZ296b29tLCd0aGlzLmdvem9vbScpOwogICAgICAgICAgLy8gY29uc29sZS5sb2cocGFyYW1zLnpvb20sJ3BhcmFtcy5nb3pvb20nKTsKCiAgICAgICAgICBvcHRpb24uZ2VvWzBdLmxhYmVsLnNob3cgPSB0cnVlOyAvL+S4i+WxgueahGdlb+eahOS4reW/g+S9jee9rumaj+edgOS4iuWxgmdlb+S4gOi1t+aUueWPmAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBvcHRpb24uZ2VvWzBdLmxhYmVsLnNob3cgPSBmYWxzZTsgLy/kuIvlsYLnmoRnZW/nmoTkuK3lv4PkvY3nva7pmo/nnYDkuIrlsYJnZW/kuIDotbfmlLnlj5gKICAgICAgICB9CiAgICAgICAgdGhhdC5tYXBFY2hhcnRzLnNldE9wdGlvbihvcHRpb24pOyAvL+iuvue9rm9wdGlvbgogICAgICB9KTsKICAgICAgdGhpcy5tYXBFY2hhcnRzLm9uKCdjbGljaycsIGZ1bmN0aW9uIChwYXJhbXMpIHsKICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudFN1YlR5cGUgPT09ICdzY2F0dGVyJykgewogICAgICAgICAgLy8gY29uc29sZS5sb2cocGFyYW1zKQogICAgICAgICAgdmFyIG9wdGlvbiA9IHRoYXQubWFwRWNoYXJ0cy5nZXRPcHRpb24oKTsgLy/ojrflvpdvcHRpb27lr7nosaEKICAgICAgICAgIC8vIOeCueWHu+WPmOm7hAogICAgICAgICAgb3B0aW9uLnNlcmllc1swXS5kYXRhLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgaWYgKHBhcmFtcy5kYXRhLm5hbWUgIT09IGl0ZW0ubmFtZSkgewogICAgICAgICAgICAgIGlmIChpdGVtLmlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICAgIHRoYXQubWFwRWNoYXJ0cy5zZXRPcHRpb24ob3B0aW9uKTsKICAgICAgICAgIHRoYXQuJGVtaXQoJ2Nsb3NlTWFwJywgewogICAgICAgICAgICB2YWx1ZTogcGFyYW1zLmRhdGEKICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgLyppZiAocGFyYW1zLnNlcmllc1R5cGUgPT09ICdzY2F0dGVyJyAmJiAhcGFyYW1zLm5hbWUpIHsNCiAgICAgICAgbGV0IG9wdGlvbiA9IHRoYXQubWFwRWNoYXJ0cy5nZXRPcHRpb24oKSAvL+iOt+W+l29wdGlvbuWvueixoQ0KICAgICAgICAvLyDngrnlh7vlj5jpu4QNCiAgICAgICAgb3B0aW9uLnNlcmllc1swXS5kYXRhLmZvckVhY2goaXRlbSA9PiB7DQogICAgICAgIGlmIChwYXJhbXMuZGF0YS5hcmVhTmFtZSAhPSBpdGVtLmFyZWFOYW1lKSB7DQogICAgICAgIGlmIChpdGVtLmlzQWN0aXZlKSB7DQogICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZQ0KICAgICAgICB9DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlDQogICAgICAgIH0NCiAgICAgICAgfSkNCiAgICAgICAgdGhhdC5nZXRDb21wYW55TGlzdChwYXJhbXMuZGF0YSkNCiAgICAgICAgLy8gc2V0KHBhcmFtcykNCiAgICAgICAgdGhhdC5tYXBFY2hhcnRzLnNldE9wdGlvbihvcHRpb24pDQogICAgICAgIGxldCBkb210b29sdGlwR0IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbHRpcEdCJykNCiAgICAgICAgaWYgKGRvbXRvb2x0aXBHQikgew0KICAgICAgICBsZXQgb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzLmdldE9wdGlvbigpIC8v6I635b6Xb3B0aW9u5a+56LGhDQogICAgICAgIGRvbXRvb2x0aXBHQi5vbmNsaWNrID0gKCkgPT4gew0KICAgICAgICBvcHRpb24uc2VyaWVzWzBdLmRhdGEuZm9yRWFjaChpdGVtID0+IHsNCiAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGZhbHNlDQogICAgICAgIH0pDQogICAgICAgIGxldCBkb20yID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaWNvbk1hcCcpDQogICAgICAgIGRvbTJbMF0uc3R5bGUuZGlzcGxheSA9ICdub25lJw0KICAgICAgICAvLyBzZXQoeyBkYXRhOiB7IG5hbWU6ICcnIH0gfSkNCiAgICAgICAgdGhhdC5tYXBFY2hhcnRzLnNldE9wdGlvbihvcHRpb24pDQogICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICBsZXQgb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzLmdldE9wdGlvbigpIC8v6I635b6Xb3B0aW9u5a+56LGhDQogICAgICAgIG9wdGlvbi5zZXJpZXNbMF0uZGF0YS5mb3JFYWNoKGl0ZW0gPT4gew0KICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2UNCiAgICAgICAgfSkNCiAgICAgICAgbGV0IGRvbTIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpY29uTWFwJykNCiAgICAgICAgZG9tMlswXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnDQogICAgICAgIHRoYXQubWFwRWNoYXJ0cy5zZXRPcHRpb24ob3B0aW9uKQ0KICAgICAgICB9Ki8KICAgICAgfSk7CiAgICAgIC8qbGV0IHNldCA9IGV2ZW50ID0+IHsNCiAgICAgIHRoaXMucG9pbnRBbGwuZm9yRWFjaCgodiwgaSkgPT4gew0KICAgICAgaWYgKHYuYXJlYU5hbWUgIT0gZXZlbnQuZGF0YS5hcmVhTmFtZSkgew0KICAgICAgaWYgKHYuaXNBY3RpdmUpIHsNCiAgICAgICAgdi5pc0FjdGl2ZSA9IGZhbHNlDQogICAgICB9DQogICAgICB9IGVsc2Ugew0KICAgICAgdi5pc0FjdGl2ZSA9IHRydWUNCiAgICAgIH0NCiAgICAgIH0pDQogICAgICB9Ki8KICAgIH0sCiAgICBzZXRNYXBPcHRpb24yOiBmdW5jdGlvbiBzZXRNYXBPcHRpb24yKCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgdmFyIHRoYXQgPSB0aGlzOwogICAgICB0aGlzLnBvaW50QXJlYSA9IHRoaXMuQXJlYUNvdW50OwogICAgICB2YXIgc3BsaXRMaXN0MiA9IFt7CiAgICAgICAgbmFtZTogJ+efs+WYtOWxseW4gicsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn6ZO25bed5biCJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICflkLTlv6DluIInLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+S4reWNq+W4gicsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5Zu65Y6f5biCJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfV07CiAgICAgIHZhciBpbWdVcmwgPSByZXF1aXJlKCcuLi8uLi9hc3NldHMvaW1nL215SW1hZ2UvdGFua3VhbmcucG5nJyk7CiAgICAgIHZhciBlY2hhcnRPcHRpb24yID0gewogICAgICAgIGdlbzogW3sKICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICBtYXA6ICdocycsCiAgICAgICAgICBhc3BlY3RTY2FsZTogMC44LAogICAgICAgICAgem9vbTogdGhpcy56b29tMiwKICAgICAgICAgIHJvYW06IHRydWUsCiAgICAgICAgICAvLyDmmK/lkKblhYHorrjnvKnmlL4KICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uVXBkYXRlOiAwLAogICAgICAgICAgbGF5b3V0U2l6ZTogJzgyJScsCiAgICAgICAgICBsYXlvdXRDZW50ZXI6IFsnNTAlJywgJzQ4JSddLAogICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgIGxhYmVsOiB7CiAgICAgICAgICAgICAgICBzaG93OiBmYWxzZQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzI4MTU3NycsCiAgICAgICAgICAgICAgLy/lnLDlm77popzoibIKICAgICAgICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzU4NzZiYScsCiAgICAgICAgICAgICAgLy/lnLDlm77ovrnmoYbpopzoibIKICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMSwKICAgICAgICAgICAgICAvL+WcsOWbvui+ueahhuWuveW6pgogICAgICAgICAgICAgIHNoYWRvd0NvbG9yOiAnbm9uZScsCiAgICAgICAgICAgICAgc2hhZG93Qmx1cjogMTAsCiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICAgIC8vIOiuvue9ruaJh+W9oueahOmYtOW9sQogICAgICAgICAgICB9LAogICAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICAgIC8v6YCJ5Lit55yB5Lu955qE6aKc6ImyCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzc2NWFmMycsCiAgICAgICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgZm9udFdlaWdodDogNTAwLAogICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjUpJwogICAgICAgICAgICB9LAogICAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBhMTgzZCcsCiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgcmVnaW9uczogc3BsaXRMaXN0MgogICAgICAgIH0sIHsKICAgICAgICAgIG1hcDogJ2hzJywKICAgICAgICAgIGFzcGVjdFNjYWxlOiAwLjgsCiAgICAgICAgICByb2FtOiB0cnVlLAogICAgICAgICAgLy8g5piv5ZCm5YWB6K6457yp5pS+CiAgICAgICAgICB6b29tOiB0aGlzLnpvb20yLAogICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb25VcGRhdGU6IDAsCiAgICAgICAgICBsYXlvdXRTaXplOiAnODIlJywKICAgICAgICAgIGxheW91dENlbnRlcjogWyc1MCUnLCAnNTAuNSUnXSwKICAgICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjNmU1NWRjJywKICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjNmU1NWRjJywKICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDEsCiAgICAgICAgICAgIG9wYWNpdHk6IDAuNSwKICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgfSwKICAgICAgICAgIHpsZXZlbDogLTEsCiAgICAgICAgICBzaWxlbnQ6IHRydWUsCiAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgIHNob3c6IGZhbHNlLAogICAgICAgICAgICB0cmlnZ2VyOiAnaXRlbScKICAgICAgICAgIH0KICAgICAgICB9XSwKICAgICAgICB2aXN1YWxNYXA6IHsKICAgICAgICAgIHNob3c6IGZhbHNlLAogICAgICAgICAgdG9wOiAndG9wJywKICAgICAgICAgIG1pbjogMCwKICAgICAgICAgIG1heDogMiwKICAgICAgICAgIHNlcmllc0luZGV4OiAwLAogICAgICAgICAgY2FsY3VsYWJsZTogdHJ1ZSwKICAgICAgICAgIGluUmFuZ2U6IHsKICAgICAgICAgICAgY29sb3I6IFsnIzk5OGY3NCcsICcjMDRhNGY2JywgJyMwMDk0M2UnLCAnI2RhZTA3YicsICcjYjYyMDIyJ10KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgIHRyaWdnZXI6ICdpdGVtJywKICAgICAgICAgIHRyaWdnZXJPbjogJ2NsaWNrJywKICAgICAgICAgIGFsd2F5c1Nob3dDb250ZW50OiB0cnVlLAogICAgICAgICAgc2hvd0RlbGF5OiAwLAogICAgICAgICAgLy/mta7lsYLmmL7npLrnmoTlu7bov58KICAgICAgICAgIHRyYW5zaXRpb25EdXJhdGlvbjogMC4yLAogICAgICAgICAgLy8g5o+Q56S65qGG5rWu5bGC55qE56e75Yqo5Yqo55S76L+H5rih5pe26Ze0CiAgICAgICAgICBlbnRlcmFibGU6IHRydWUsCiAgICAgICAgICBjbGFzc05hbWU6ICdpY29uTWFwJywKICAgICAgICAgIGV4dHJhQ3NzVGV4dDogJ2JveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwKTsnLAogICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiBmb3JtYXR0ZXIocGFyYW1zKSB7CiAgICAgICAgICAgIGlmIChwYXJhbXMuZGF0YS5hcmVhTmFtZSkgewogICAgICAgICAgICAgIHZhciBjb21wYW55SHRtbCA9ICcnOwogICAgICAgICAgICAgIHRoYXQuY29tcGFueUFyZWFMaXN0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgIGlmIChpdGVtLmFyZWFJZCA9PSBwYXJhbXMuZGF0YS5hcmVhSWQpIHsKICAgICAgICAgICAgICAgICAgY29tcGFueUh0bWwgKz0gJzxkaXYgY2xhc3M9Iml0ZW1Db2xvcjEgaXRlbUNvbG9yIiBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO3doaXRlLXNwYWNlOiBub3dyYXA7Ij4nICsgaXRlbS5jb21wYW55TmFtZSArICc8L2Rpdj4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIHZhciBodG1sID0gIlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MjYwcHg7aGVpZ2h0OjE4MHB4O2JhY2tncm91bmQ6IHVybCgiLmNvbmNhdChpbWdVcmwsICIpIG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTsgcGFkZGluZzoxMHB4IDEycHg7cG9zaXRpb246IHJlbGF0aXZlO1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRvb2x0aXBHQjJcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtjdXJzb3I6cG9pbnRlcjsgd2lkdGg6MzBweDtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjVweDt0b3A6NXB4O1wiPlg8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7IGhlaWdodDogMjBweDtsaW5lLWhlaWdodDoyMHB4O1wiPiIpLmNvbmNhdChwYXJhbXMuZGF0YS5hcmVhTmFtZSwgIjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbFRvb2x0aXBcIiBzdHlsZT1cIm1hcmdpbi10b3A6MTBweDtoZWlnaHQ6MTMwcHg7IG92ZXJmbG93LXk6YXV0bztcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndoaXRlLXNwYWNlOm5vcm1hbDtmb250LXNpemU6IDEycHg7Zm9udC13ZWlnaHQ6IDQwMDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAiKS5jb25jYXQoY29tcGFueUh0bWwsICJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+Iik7CiAgICAgICAgICAgICAgcmV0dXJuIGh0bWw7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSg0LDI0LDUxLDApJywKICAgICAgICAgIGJvcmRlckNvbG9yOiAncmdiYSg5OSwgMTczLCAyMjIsMCknLAogICAgICAgICAgYm9yZGVyV2lkdGg6IDAsCiAgICAgICAgICBwYWRkaW5nOiBbMCwgLTEyLCAwLCAwXSwKICAgICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLAogICAgICAgICAgdGV4dFN0eWxlOiB7CiAgICAgICAgICAgIGNvbG9yOiAnI2ZmZicsCiAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkZXInCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBzZXJpZXM6IFt7CiAgICAgICAgICB0eXBlOiAnc2NhdHRlcicsCiAgICAgICAgICAvL+W4puaciea2n+a8quaViOaenOeahAogICAgICAgICAgY29vcmRpbmF0ZVN5c3RlbTogJ2dlbycsCiAgICAgICAgICAvL+S9v+eUqOWdkOagh+ezuwogICAgICAgICAgemxldmVsOiAxLAogICAgICAgICAgc3ltYm9sU2l6ZTogWzM2LCA0OF0sCiAgICAgICAgICBzeW1ib2w6IGZ1bmN0aW9uIHN5bWJvbCh2YWx1ZSwgcGFyYW1zKSB7CiAgICAgICAgICAgIGlmIChwYXJhbXMuZGF0YS5pc0FjdGl2ZSkgewogICAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvcG9pbnRfb24ucG5nJyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9wb2ludC5wbmcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGxhYmVsOiB7CiAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgY29sb3I6ICcjN0NDM0ZGJywKICAgICAgICAgICAgICBmb250U2l6ZTogMTYsCiAgICAgICAgICAgICAgZm9udEZhbWlseTogJ2N1cnNpdmUnLAogICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkJywKICAgICAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcsCiAgICAgICAgICAgICAgcGFkZGluZzogWzAsIDAsIC0xNSwgMF0sCiAgICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiBmb3JtYXR0ZXIocGFyYW1zKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gcGFyYW1zLmRhdGEuY291bnQ7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZicKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGRhdGE6IHRoaXMucG9pbnRBcmVhIHx8IFtdCiAgICAgICAgfV0KICAgICAgfTsKICAgICAgdGhpcy5tYXBFY2hhcnRzMi5zZXRPcHRpb24oZWNoYXJ0T3B0aW9uMik7CiAgICAgIHRoaXMubWFwRWNoYXJ0czIub24oJ2dlb3JvYW0nLCBmdW5jdGlvbiAocGFyYW1zKSB7CiAgICAgICAgdmFyIG9wdGlvbjIgPSB0aGF0Lm1hcEVjaGFydHMyLmdldE9wdGlvbigpOyAvL+iOt+W+l29wdGlvbuWvueixoQogICAgICAgIGlmIChwYXJhbXMuem9vbSAhPSBudWxsICYmIHBhcmFtcy56b29tICE9IHVuZGVmaW5lZCkgewogICAgICAgICAgLy/mjZXmjYnliLDnvKnmlL7ml7YKICAgICAgICAgIG9wdGlvbjIuZ2VvWzFdLnpvb20gPSBvcHRpb24yLmdlb1swXS56b29tOyAvL+S4i+Wxgmdlb+eahOe8qeaUvuetiee6p+i3n+edgOS4iuWxgueahGdlb+S4gOi1t+aUueWPmAogICAgICAgICAgb3B0aW9uMi5nZW9bMV0uY2VudGVyID0gb3B0aW9uMi5nZW9bMF0uY2VudGVyOyAvL+S4i+WxgueahGdlb+eahOS4reW/g+S9jee9rumaj+edgOS4iuWxgmdlb+S4gOi1t+aUueWPmAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvL+aNleaNieWIsOaLluabs+aXtgogICAgICAgICAgb3B0aW9uMi5nZW9bMV0uY2VudGVyID0gb3B0aW9uMi5nZW9bMF0uY2VudGVyOyAvL+S4i+WxgueahGdlb+eahOS4reW/g+S9jee9rumaj+edgOS4iuWxgmdlb+S4gOi1t+aUueWPmAogICAgICAgIH0KICAgICAgICB0aGF0Lm1hcEVjaGFydHMyLnNldE9wdGlvbihvcHRpb24yKTsgLy/orr7nva5vcHRpb24KICAgICAgfSk7CiAgICAgIHRoaXMubWFwRWNoYXJ0czIub24oJ2NsaWNrJywgZnVuY3Rpb24gKHBhcmFtcykgewogICAgICAgIGlmIChwYXJhbXMuc2VyaWVzVHlwZSA9PT0gJ3NjYXR0ZXInICYmICFwYXJhbXMubmFtZSkgewogICAgICAgICAgdmFyIG9wdGlvbiA9IHRoYXQubWFwRWNoYXJ0czIuZ2V0T3B0aW9uKCk7IC8v6I635b6Xb3B0aW9u5a+56LGhCgogICAgICAgICAgb3B0aW9uLnNlcmllc1swXS5kYXRhLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgaWYgKHBhcmFtcy5kYXRhLmFyZWFOYW1lICE9IGl0ZW0uYXJlYU5hbWUpIHsKICAgICAgICAgICAgICBpZiAoaXRlbS5pc0FjdGl2ZSkgewogICAgICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGZhbHNlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgICBzZXQyKHBhcmFtcyk7CiAgICAgICAgICB0aGF0Lm1hcEVjaGFydHMyLnNldE9wdGlvbihvcHRpb24pOwogICAgICAgICAgdmFyIGRvbXRvb2x0aXBHQjIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbHRpcEdCMicpOwogICAgICAgICAgaWYgKGRvbXRvb2x0aXBHQjIpIHsKICAgICAgICAgICAgZG9tdG9vbHRpcEdCMi5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgIHZhciBkb20yID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaWNvbk1hcCcpOwogICAgICAgICAgICAgIG9wdGlvbi5zZXJpZXNbMF0uZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgZG9tMlswXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgIHNldDIoewogICAgICAgICAgICAgICAgZGF0YTogewogICAgICAgICAgICAgICAgICBuYW1lOiAnJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIHRoYXQubWFwRWNoYXJ0czIuc2V0T3B0aW9uKG9wdGlvbik7CiAgICAgICAgICAgIH07CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHZhciBfb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzMi5nZXRPcHRpb24oKTsgLy/ojrflvpdvcHRpb27lr7nosaEKICAgICAgICAgIF9vcHRpb24uc2VyaWVzWzBdLmRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICB9KTsKICAgICAgICAgIHZhciBkb20yID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaWNvbk1hcCcpOwogICAgICAgICAgZG9tMlswXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgdGhhdC5tYXBFY2hhcnRzMi5zZXRPcHRpb24oX29wdGlvbik7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgdmFyIHNldDIgPSBmdW5jdGlvbiBzZXQyKGV2ZW50KSB7CiAgICAgICAgX3RoaXM0LnBvaW50QXJlYS5mb3JFYWNoKGZ1bmN0aW9uICh2LCBpKSB7CiAgICAgICAgICBpZiAodi5hcmVhTmFtZSAhPSBldmVudC5kYXRhLmFyZWFOYW1lKSB7CiAgICAgICAgICAgIGlmICh2LmlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgdi5pc0FjdGl2ZSA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2LmlzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfTsKICAgIH0KICB9Cn07"},{"version":3,"names":["echarts","_interopRequireWildcard","require","_china","_interopRequireDefault","_ningxia","_default","exports","default","name","props","sendHeight","type","String","sendMapColor","sendGeo","Array","sendNumber","Number","showLine","Boolean","sendProjSpin","Object","watch","handler","newVal","oldVal","console","log","geoVal","setMapOption","deep","data","zoom","zoom2","mapEcharts","mapEcharts2","mapJson","pointArea","pointAll","companyList","companyAreaList","isCity","cityCount","gozoom","created","mounted","getInitData","methods","getEquipmentDisByMapApiPage","getEquipmentDisByMapApi","then","res","getCompanyList","_this","params","provinceId","getCompanyListByProvinceId","success","getCompanyAreaList","_this2","areaId","getCompanyListByAreaId","getCityCount","getMapSelect","_this3","dom","document","getElementsByClassName","style","display","dispose","setTimeout","init","getElementById","mapJson1","mapChinaJson","registerMap","mapJson2","ningxiaJson","setMapOption2","clear","geoCoordMap","mapFeatures","features","forEach","v","i","properties","center","that","push","itemStyle","areaColor","borderColor","shadowColor","imgUrl","echartOption","geo","show","map","aspectScale","roam","animationDurationUpdate","layoutSize","layoutCenter","normal","label","opacity","borderWidth","shadowBlur","color","emphasis","fontSize","fontWeight","zlevel","regions","tooltip","trigger","formatter","componentSubType","className","html","concat","projName","devTypeNum","devNum","successNum","errorNum","silent","visualMap","top","min","max","seriesIndex","calculable","inRange","alwaysShowContent","showDelay","transitionDuration","enterable","extraCssText","province","value","backgroundColor","padding","position","textStyle","series","coordinateSystem","symbolSize","symbol","devStatus","scale","symbolKeepAspect","fontFamily","str","length","large","effect","constantSpeed","projectId","trailLength","loop","lineStyle","width","curveness","fromName","toName","coords","setOption","on","option","getOption","undefined","item","isActive","$emit","_this4","AreaCount","splitList2","echartOption2","triggerOn","areaName","companyHtml","companyName","count","option2","seriesType","set2","domtooltipGB2","onclick","dom2","event"],"sources":["src/components/home/countryMap.vue"],"sourcesContent":["<template>\r\n <div class=\"centerTopPage\">\r\n <div class=\"mapBox\">\r\n <div v-if=\"type == 1\" id=\"mapEcharts\"></div>\r\n <div v-if=\"type == 2\" id=\"mapEcharts2\"></div>\r\n </div>\r\n <!-- <div class=\"buttonTop\">\r\n <div\r\n :class=\"type == 1 ? 'on' : ''\"\r\n @click=\"getMapSelect(1)\"\r\n class=\"buttom1\"\r\n >\r\n 全国\r\n </div>\r\n <div\r\n :class=\"type == 2 ? 'on' : ''\"\r\n @click=\"getMapSelect(2)\"\r\n class=\"buttom1\"\r\n >\r\n 全市\r\n </div>\r\n </div>-->\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\nimport * as echarts from 'echarts'\r\n// let mapChinaJson = require('@/untils/mapJson/china.json')\r\nimport mapChinaJson from '@/utils/mapJson/china.json'\r\nimport ningxiaJson from '@/utils/mapJson/ningxia.json'\r\n// let ningxiaJson = require('@/untils/mapJson/ningxia.json')\r\nexport default {\r\n name: 'centerTopPage',\r\n props: {\r\n sendHeight: {\r\n type: String,\r\n default: '100%',\r\n },\r\n sendMapColor: {\r\n type: String,\r\n default: '#689AFB',\r\n },\r\n sendGeo: {\r\n type: Array,\r\n default: null,\r\n },\r\n sendNumber: {\r\n type: Number,\r\n },\r\n showLine: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n sendProjSpin: {\r\n type: Array | Object,\r\n },\r\n },\r\n watch: {\r\n sendGeo: {\r\n handler(newVal, oldVal) {\r\n console.log(newVal, oldVal)\r\n if (newVal !== oldVal) {\r\n this.geoVal = newVal\r\n this.setMapOption()\r\n }\r\n },\r\n deep: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n type: 1,\r\n zoom: 1.6,\r\n zoom2: 1.2,\r\n mapEcharts: null,\r\n mapEcharts2: null,\r\n mapJson: null,\r\n pointArea: this.sendProjSpin,\r\n pointAll: [],\r\n companyList: [],\r\n companyAreaList: [],\r\n isCity: 0,\r\n cityCount: [],\r\n gozoom: 1,\r\n geoVal: null,\r\n }\r\n },\r\n created() {\r\n // this.getCompanyList()\r\n // this.getCompanyAreaList()\r\n // this.getCityCount()\r\n },\r\n mounted() {\r\n // this.getEquipmentDisByMapApiPage()\r\n this.getInitData()\r\n /*let mapElem = document.querySelector('#mapEcharts')\r\n mapElem.addEventListener('click', (e) => {\r\n console.log(e)\r\n })*/\r\n },\r\n methods: {\r\n getEquipmentDisByMapApiPage() {\r\n getEquipmentDisByMapApi().then((res) => {\r\n console.log('res=====', res)\r\n })\r\n },\r\n getCompanyList() {\r\n let params = {\r\n provinceId: '',\r\n }\r\n getCompanyListByProvinceId(params).then((res) => {\r\n if (res.success && res.data) {\r\n this.companyList = res.data\r\n }\r\n })\r\n },\r\n getCompanyAreaList() {\r\n let params = {\r\n areaId: '',\r\n }\r\n getCompanyListByAreaId(params).then((res) => {\r\n if (res.success && res.data) {\r\n this.companyAreaList = res.data\r\n }\r\n })\r\n },\r\n getCityCount() {\r\n // this.getInitData()\r\n // let params = {\r\n // isCity: this.isCity\r\n // }\r\n // getCityCount(params).then(res => {\r\n // if (res.success && res.data) {\r\n // if (this.type == 1) {\r\n // res.data.forEach(item => {\r\n // item.value = item.center.split(',')\r\n // item.isActive = false\r\n // if (item.areaName == '北京市') {\r\n // item.areaColor = '#fff'\r\n // }\r\n // })\r\n // console.log(res.data)\r\n // this.cityCount = res.data\r\n // this.getInitData()\r\n // } else if (this.type == 2) {\r\n // res.data.forEach(item => {\r\n // item.value = item.center.split(',')\r\n // item.isActive = false\r\n // })\r\n // this.AreaCount = res.data\r\n // }\r\n // }\r\n // })\r\n },\r\n getMapSelect(type) {\r\n let dom = document.getElementsByClassName('iconMap')\r\n dom[0].style.display = 'none'\r\n if (type == 1) {\r\n this.type = 1\r\n if (this.mapEcharts) {\r\n this.mapEcharts.dispose()\r\n this.mapEcharts = null\r\n }\r\n if (this.mapEcharts2) {\r\n this.mapEcharts2.dispose()\r\n this.mapEcharts2 = null\r\n }\r\n setTimeout(() => {\r\n this.mapEcharts = echarts.init(\r\n document.getElementById('mapEcharts'),\r\n )\r\n let mapJson1 = mapChinaJson\r\n echarts.registerMap('china', mapJson1)\r\n this.setMapOption()\r\n }, 200)\r\n } else {\r\n this.type = 2\r\n this.isCity = 1\r\n this.getCityCount()\r\n if (this.mapEcharts) {\r\n this.mapEcharts.dispose()\r\n this.mapEcharts = null\r\n }\r\n if (this.mapEcharts2) {\r\n this.mapEcharts2.dispose()\r\n this.mapEcharts2 = null\r\n }\r\n setTimeout(() => {\r\n this.mapEcharts2 = echarts.init(\r\n document.getElementById('mapEcharts2'),\r\n )\r\n // let mapJson2 = mapJson('1515507975659761665', '')\r\n let mapJson2 = ningxiaJson\r\n echarts.registerMap('hs', mapJson2)\r\n this.setMapOption2()\r\n }, 200)\r\n }\r\n },\r\n getInitData() {\r\n this.mapEcharts = echarts.init(\r\n document.getElementById('mapEcharts'),\r\n )\r\n this.mapJson = mapChinaJson\r\n echarts.registerMap('china', this.mapJson)\r\n this.setMapOption()\r\n },\r\n setMapOption() {\r\n this.mapEcharts.clear()\r\n //获取当前显示地图下方地市的坐标点数据; 用于气泡显示\r\n let geoCoordMap = {}\r\n // 获取地区详细信息\r\n let mapFeatures = this.mapJson.features\r\n // 遍历获取每个地区的经纬度\r\n mapFeatures.forEach(function (v, i) {\r\n // 获取当前地区名\r\n let name = v.properties.name\r\n if (name) {\r\n // 获取当前地区的经纬度\r\n geoCoordMap[name] = v.properties.center\r\n }\r\n })\r\n\r\n /*let mapData = [{\r\n name: \"青海省\",\r\n value: ['101.778', '36.623'], a: '100'\r\n },\r\n {\r\n name: \"宁夏回族自治区\",\r\n value: ['106.278', '38.466'], a: '100'\r\n },\r\n {\r\n name: '安徽省', value: ['117.283', '31.861'], a: '100'\r\n },\r\n {\r\n name: '湖南省', value: ['112.982', '28.194'], a: '100'\r\n }\r\n ]*/\r\n let that = this\r\n this.pointAll = this.cityCount\r\n this.pointAll.push({\r\n name: '宁夏',\r\n //自定义区域的颜色\r\n itemStyle: {\r\n areaColor: '#F50508',\r\n borderColor: '#1773c3', // 区域边框\r\n shadowColor: '#1773c3', // 阴影\r\n },\r\n })\r\n /*let splitList = [\r\n { name: '北京市', itemStyle: { normal: { areaColor: this.sendMapColor } } },\r\n {\r\n name: '天津市',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '上海市',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '重庆市',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '河北省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '河南省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '云南省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '辽宁省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '黑龙江省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '湖南省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '安徽省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '山东省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '新疆维吾尔自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '江苏省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '浙江省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '江西省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '湖北省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '广西壮族自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '甘肃省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '山西省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '内蒙古自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '陕西省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '吉林省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '福建省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '贵州省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '广东省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '青海省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '西藏自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '四川省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '宁夏回族自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '海南省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '台湾省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '香港特别行政区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '澳门特别行政区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n }\r\n ]*/\r\n let imgUrl = require('../../assets/img/myImage/tankuang.png')\r\n let echartOption = {\r\n geo: [\r\n {\r\n show: true,\r\n map: 'china',\r\n type: 'map',\r\n aspectScale: 0.8,\r\n zoom: this.zoom,\r\n roam: true, // 是否允许缩放\r\n animationDurationUpdate: 0,\r\n layoutSize: '92%',\r\n layoutCenter: ['50%', '68%'],\r\n itemStyle: {\r\n normal: {\r\n label: {\r\n show: false,\r\n },\r\n areaColor: this.sendMapColor, //地图颜色\r\n opacity: 1,\r\n borderColor: '#174C95', //地图边框颜色\r\n borderWidth: 1, //地图边框宽度\r\n shadowColor: 'none',\r\n shadowBlur: 10,\r\n color: '#fff',\r\n // 设置扇形的阴影\r\n },\r\n emphasis: {\r\n //选中省份的颜色\r\n areaColor: '#765af3',\r\n label: {\r\n show: true,\r\n },\r\n },\r\n },\r\n label: {\r\n normal: {\r\n show: true,\r\n fontSize: 14,\r\n fontWeight: 500,\r\n color: 'rgba(255,255,255,0.5)',\r\n },\r\n emphasis: {\r\n show: true,\r\n areaColor: '#0a183d',\r\n color: '#fff',\r\n },\r\n },\r\n zlevel: 1,\r\n regions: this.geoVal || [],\r\n tooltip: {\r\n show:true,\r\n trigger: 'item',\r\n formatter: function (params) {\r\n // console.log(\"1111\")\r\n // console.log(params)\r\n if (params.componentSubType === 'scatter') {\r\n let className = 'itemColor1 itemColor'\r\n let html = `\r\n <div\r\n id=\"pop-tooltip\"\r\n style=\"\r\n width:auto;height:180px;border-radius: 15px;\r\n background: linear-gradient(to bottom, #4D8DFF, #57B9FF, #4D8DFF);\r\n padding:12px;position: relative;display: flex;flex-direction: column;\r\n \"\r\n >\r\n <div id=\"tooltipGB\" onclick=\"document.querySelector('#pop-tooltip').style.display = 'none'\" style=\"position: absolute;cursor: pointer; width:30px;height:30px;line-height:30px;text-align:center;right:5px;top:5px;font-size: 20px;\">x</div>\r\n <div style=\"font-size: 18px; height: 20px;line-height:20px;\">${params.data.projName}</div>\r\n <div class=\"scrollTooltip\" style=\"margin-top:10px;flex: 1; overflow-y:auto;white-space:normal;font-size: 16px;font-weight: 400; position:relative; display: flex; flex-direction: column; justify-content: space-around;\">\r\n <span style=\"padding-bottom: 5px\">所绑定感知设备${params.data.devTypeNum}类</span>\r\n <span style=\"padding-bottom: 5px\">所绑定感知设备${params.data.devNum}个</span>\r\n <div style=\"padding-bottom: 5px\">\r\n <span>设备运行正常${params.data.successNum}个/</span>\r\n <span style=\"color:red;\">设备数据异常${params.data.errorNum}个</span>\r\n </div>\r\n \r\n </div>\r\n </div>`\r\n return html\r\n }\r\n // 可以在这里编写轮播的格式化内容\r\n // return params.name + ': ' + params.value;\r\n }\r\n \r\n },\r\n },\r\n {\r\n map: 'china',\r\n aspectScale: 0.8,\r\n roam: true, // 是否允许缩放\r\n animationDurationUpdate: 0,\r\n zoom: this.zoom,\r\n layoutSize: '92%',\r\n layoutCenter: ['50%', '69.5%'],\r\n itemStyle: {\r\n areaColor: '#6e55dc',\r\n borderColor: '#6e55dc',\r\n borderWidth: 1,\r\n opacity: 0.5,\r\n color: '#fff',\r\n },\r\n zlevel: -1,\r\n silent: true,\r\n tooltip: {\r\n show: false,\r\n },\r\n },\r\n ],\r\n visualMap: {\r\n show: false,\r\n top: 'top',\r\n min: 0,\r\n max: 2,\r\n seriesIndex: 0,\r\n calculable: true,\r\n inRange: {\r\n color: [\r\n '#998f74',\r\n '#04a4f6',\r\n '#00943e',\r\n '#dae07b',\r\n '#b62022',\r\n ],\r\n },\r\n },\r\n tooltip: {\r\n trigger: 'item',\r\n alwaysShowContent: true,\r\n showDelay: 0, //浮层显示的延迟\r\n transitionDuration: 0.2, // 提示框浮层的移动动画过渡时间\r\n enterable: true,\r\n className: 'iconMap',\r\n extraCssText: 'box-shadow: 0 0 3px rgba(0, 0, 0, 0);',\r\n formatter: function (params) {\r\n // console.log('222')\r\n // console.log(params)\r\n if (params.componentSubType === 'scatter') {\r\n let className = 'itemColor1 itemColor'\r\n let html = `\r\n <div\r\n id=\"pop-tooltip\"\r\n style=\"\r\n width:260px;height:140px;border-radius: 15px;\r\n background: linear-gradient(to bottom, #4D8DFF, #57B9FF, #4D8DFF);\r\n padding:12px;position: relative;display: flex;flex-direction: column;\r\n \"\r\n >\r\n <div id=\"tooltipGB\" onclick=\"document.querySelector('#pop-tooltip').style.display = 'none'\" style=\"position: absolute;cursor: pointer; width:30px;height:30px;line-height:30px;text-align:center;right:5px;top:5px;font-size: 20px;\">x</div>\r\n <div style=\"font-size: 18px; height: 20px;line-height:20px;\">${params.data.projName}</div>\r\n <div class=\"scrollTooltip\" style=\"margin-top:10px;flex: 1; overflow-y:auto;white-space:normal;font-size: 16px;font-weight: 400; position:relative; display: flex; flex-direction: column; justify-content: space-around;\">\r\n <span style=\"padding-bottom: 5px\">省份:${params.data.province}</span>\r\n <span style=\"padding-bottom: 5px\">经度:${params.data.value[0]}</span>\r\n <span style=\"padding-bottom: 5px\">纬度:${params.data.value[1]}</span>\r\n </div>\r\n </div>`\r\n return html\r\n }\r\n },\r\n backgroundColor: 'rgba(4,24,51,0)',\r\n borderColor: 'rgba(99, 173, 222,0)',\r\n borderWidth: 0,\r\n padding: [0, -12, 0, 0],\r\n position: 'right',\r\n textStyle: {\r\n color: '#fff',\r\n fontWeight: 'bolder',\r\n },\r\n },\r\n series: [\r\n {\r\n type: 'scatter', //带有涟漪效果的\r\n map: this.geoVal || [],\r\n roam: false,\r\n coordinateSystem: 'geo', //使用坐标系\r\n zlevel: 1,\r\n symbolSize: [60, 70],\r\n symbol: (value, params) => {\r\n if (params.data.errorNum>0) {\r\n return (\r\n 'image://' + require('@/assets/img/myImage/point_red.png')\r\n )\r\n } else {\r\n if(params.data.devStatus==0){\r\n return ('image://' + require('@/assets/img/myImage/point_grey.png'))\r\n }else{\r\n return ('image://' + require('@/assets/img/myImage/point.png'))\r\n }\r\n \r\n }\r\n /*if (params.name == '安徽省') {\r\n return 'image://' + require('@/assets/img/myImage/markPoints.png')\r\n }\r\n if (params.name == '湖南省') {\r\n return 'image://' + require('@/assets/img/myImage/markPoints.png')\r\n }\r\n if (params.name == '宁夏回族自治区') {\r\n return 'image://' + require('@/assets/img/myImage/markPoints.png')\r\n }\r\n if (params.name == '青海省') {\r\n return 'image://' + require('@/assets/img/myImage/markPoints.png')\r\n }*/\r\n },\r\n emphasis: {\r\n scale: false,\r\n },\r\n symbolKeepAspect: true,\r\n label: {\r\n normal: {\r\n show: true,\r\n color: this.sendMapColor === '#689AFB' ? '#fff' : 'rgba(57, 145, 244, 0.9)',\r\n fontSize: 24,\r\n fontFamily: 'cursive',\r\n fontWeight: 'bold',\r\n position: 'top',\r\n padding: [0, 0, -10, 0],\r\n formatter: function (params) {\r\n let str=\"\";\r\n // str = `{a|${params.data.projName}}`;\r\n return str\r\n },\r\n // rich: {\r\n // a: {\r\n // fontSize: 20,\r\n // padding: [0, 0, 0, -10],\r\n // },\r\n // b: {\r\n // fontSize: 20,\r\n // padding: [20, 0, 0, -10],\r\n // },\r\n // c: {\r\n // fontSize: 20,\r\n // position: [-12, -10],\r\n // },\r\n // }\r\n },\r\n },\r\n itemStyle: {\r\n normal: {\r\n color: '#fff',\r\n },\r\n },\r\n data: this.geoVal || [],\r\n },\r\n /*{\r\n name: \"lines\",\r\n type: \"lines\",\r\n coordinateSystem: \"geo\",\r\n zlevel: 2,\r\n large: true,\r\n effect: {\r\n show: true, // 开启动态线条效果\r\n constantSpeed: 30, // 线条速度\r\n symbol: \"pin\", // 标记的图形,支持图片和文字\r\n symbolSize: 10, // 标记的大小\r\n trailLength: 0, // 动态线条的长度\r\n loop: true, // 是否循环动画效果\r\n },\r\n lineStyle: {\r\n normal: {\r\n color: function(params) {\r\n // 根据 status 属性判断连线颜色\r\n return \"#3286CC\"\r\n },\r\n width: 4,\r\n opacity: 0.4,\r\n curveness: 0.2, // 曲线程度\r\n },\r\n emphasis: {\r\n opacity: 0.8,\r\n width: 5,\r\n },\r\n },\r\n data: [{\r\n fromName: '北京',\r\n toName: '上海',\r\n coords: [\r\n [116.407526, 39.90403], // 北京的经纬度坐标\r\n [121.473701, 31.230416], // 上海的经纬度坐标\r\n ]\r\n }],\r\n },\r\n {\r\n name: \"lines\",\r\n type: \"lines\",\r\n coordinateSystem: \"geo\",\r\n zlevel: 2,\r\n large: true,\r\n effect: {\r\n show: true, // 开启动态线条效果\r\n constantSpeed: 30, // 线条速度\r\n symbol: \"pin\", // 标记的图形,支持图片和文字\r\n symbolSize: 10, // 标记的大小\r\n trailLength: 0, // 动态线条的长度\r\n loop: true, // 是否循环动画效果\r\n },\r\n lineStyle: {\r\n normal: {\r\n color: function(params) {\r\n // 根据 status 属性判断连线颜色\r\n return \"#3286CC\"\r\n },\r\n width: 4,\r\n opacity: 0.4,\r\n curveness: 0.2, // 曲线程度\r\n },\r\n emphasis: {\r\n opacity: 0.8,\r\n width: 5,\r\n },\r\n },\r\n data: [{\r\n fromName: '北京',\r\n toName: '上海',\r\n coords: [\r\n [121.473701, 31.230416], // 上海的经纬度坐标\r\n [102.103365, 24.235567]\r\n ]\r\n }],\r\n },*/\r\n ],\r\n }\r\n // 去除线条\r\n // echartOption.series = echartOption.series.filter(item => item.type !== 'lines')\r\n // 插入线条\r\n if (this.geoVal && this.showLine) {\r\n for (let i = 0; i < this.geoVal.length; i++) {\r\n if (i !== this.geoVal.length - 1) {\r\n echartOption.series.push({\r\n name: 'lines',\r\n type: 'lines',\r\n coordinateSystem: 'geo',\r\n zlevel: 2,\r\n large: true,\r\n effect: {\r\n show: true, // 开启动态线条效果\r\n constantSpeed: 30, // 线条速度\r\n symbol: 'pin', // 标记的图形,支持图片和文字\r\n symbolSize: this.geoVal[i].projectId === this.geoVal[i + 1].projectId ? 10 : 0, // 标记的大小\r\n trailLength: 0, // 动态线条的长度\r\n loop: true, // 是否循环动画效果\r\n },\r\n lineStyle: {\r\n normal: {\r\n color: function (params) {\r\n return '#3286CC'\r\n },\r\n width: this.geoVal[i].projectId === this.geoVal[i + 1].projectId ? 4 : 0,\r\n opacity: 0.4,\r\n curveness: 0.2, // 曲线程度\r\n },\r\n emphasis: {\r\n opacity: 0.8,\r\n width: 5,\r\n },\r\n },\r\n data: [\r\n {\r\n fromName: this.geoVal[i].name,\r\n toName: this.geoVal[i + 1].name,\r\n coords: [\r\n this.geoVal[i].value,\r\n this.geoVal[i + 1].value,\r\n ],\r\n },\r\n ],\r\n })\r\n }\r\n }\r\n }\r\n this.mapEcharts.setOption(echartOption)\r\n this.mapEcharts.on('georoam', function (params) {\r\n let option = that.mapEcharts.getOption() //获得option对象\r\n if (params.zoom != null && params.zoom != undefined) {\r\n //捕捉到缩放时\r\n option.geo[1].zoom = option.geo[0].zoom //下层geo的缩放等级跟着上层的geo一起改变\r\n option.geo[1].center = option.geo[0].center //下层的geo的中心位置随着上层geo一起改变\r\n option.geo[0].label.show = true //下层的geo的中心位置随着上层geo一起改变\r\n } else {\r\n //捕捉到拖曳时\r\n option.geo[1].center = option.geo[0].center //下层的geo的中心位置随着上层geo一起改变\r\n }\r\n if (1 < params.zoom) {\r\n // console.log(this.gozoom,'this.gozoom');\r\n // console.log(params.zoom,'params.gozoom');\r\n\r\n option.geo[0].label.show = true //下层的geo的中心位置随着上层geo一起改变\r\n } else {\r\n option.geo[0].label.show = false //下层的geo的中心位置随着上层geo一起改变\r\n }\r\n that.mapEcharts.setOption(option) //设置option\r\n })\r\n\r\n this.mapEcharts.on('click', function (params) {\r\n if (params.componentSubType === 'scatter') {\r\n // console.log(params)\r\n let option = that.mapEcharts.getOption() //获得option对象\r\n // 点击变黄\r\n option.series[0].data.forEach((item) => {\r\n if (params.data.name !== item.name) {\r\n if (item.isActive) {\r\n item.isActive = false\r\n }\r\n } else {\r\n item.isActive = true\r\n }\r\n })\r\n that.mapEcharts.setOption(option)\r\n that.$emit('closeMap', { value: params.data })\r\n }\r\n\r\n /*if (params.seriesType === 'scatter' && !params.name) {\r\n let option = that.mapEcharts.getOption() //获得option对象\r\n // 点击变黄\r\n option.series[0].data.forEach(item => {\r\n if (params.data.areaName != item.areaName) {\r\n if (item.isActive) {\r\n item.isActive = false\r\n }\r\n } else {\r\n item.isActive = true\r\n }\r\n })\r\n\r\n that.getCompanyList(params.data)\r\n // set(params)\r\n that.mapEcharts.setOption(option)\r\n let domtooltipGB = document.getElementById('tooltipGB')\r\n if (domtooltipGB) {\r\n let option = that.mapEcharts.getOption() //获得option对象\r\n\r\n domtooltipGB.onclick = () => {\r\n option.series[0].data.forEach(item => {\r\n item.isActive = false\r\n })\r\n\r\n let dom2 = document.getElementsByClassName('iconMap')\r\n\r\n dom2[0].style.display = 'none'\r\n // set({ data: { name: '' } })\r\n that.mapEcharts.setOption(option)\r\n }\r\n }\r\n } else {\r\n let option = that.mapEcharts.getOption() //获得option对象\r\n option.series[0].data.forEach(item => {\r\n item.isActive = false\r\n })\r\n let dom2 = document.getElementsByClassName('iconMap')\r\n dom2[0].style.display = 'none'\r\n that.mapEcharts.setOption(option)\r\n }*/\r\n })\r\n /*let set = event => {\r\n this.pointAll.forEach((v, i) => {\r\n if (v.areaName != event.data.areaName) {\r\n if (v.isActive) {\r\n v.isActive = false\r\n }\r\n } else {\r\n v.isActive = true\r\n }\r\n })\r\n }*/\r\n },\r\n\r\n setMapOption2() {\r\n let that = this\r\n this.pointArea = this.AreaCount\r\n let splitList2 = [\r\n {\r\n name: '石嘴山市',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '银川市',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '吴忠市',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '中卫市',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '固原市',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n ]\r\n let imgUrl = require('../../assets/img/myImage/tankuang.png')\r\n let echartOption2 = {\r\n geo: [\r\n {\r\n show: true,\r\n map: 'hs',\r\n aspectScale: 0.8,\r\n zoom: this.zoom2,\r\n roam: true, // 是否允许缩放\r\n animationDurationUpdate: 0,\r\n layoutSize: '82%',\r\n layoutCenter: ['50%', '48%'],\r\n itemStyle: {\r\n normal: {\r\n label: { show: false },\r\n areaColor: '#281577', //地图颜色\r\n opacity: 1,\r\n borderColor: '#5876ba', //地图边框颜色\r\n borderWidth: 1, //地图边框宽度\r\n shadowColor: 'none',\r\n shadowBlur: 10,\r\n color: '#fff',\r\n // 设置扇形的阴影\r\n },\r\n emphasis: {\r\n //选中省份的颜色\r\n areaColor: '#765af3',\r\n label: { show: false },\r\n },\r\n },\r\n label: {\r\n normal: {\r\n show: true,\r\n fontSize: 14,\r\n fontWeight: 500,\r\n color: 'rgba(255,255,255,0.5)',\r\n },\r\n emphasis: {\r\n show: true,\r\n areaColor: '#0a183d',\r\n color: '#fff',\r\n },\r\n },\r\n regions: splitList2,\r\n },\r\n {\r\n map: 'hs',\r\n aspectScale: 0.8,\r\n roam: true, // 是否允许缩放\r\n zoom: this.zoom2,\r\n animationDurationUpdate: 0,\r\n layoutSize: '82%',\r\n layoutCenter: ['50%', '50.5%'],\r\n itemStyle: {\r\n areaColor: '#6e55dc',\r\n borderColor: '#6e55dc',\r\n borderWidth: 1,\r\n opacity: 0.5,\r\n color: '#fff',\r\n },\r\n zlevel: -1,\r\n silent: true,\r\n tooltip: {\r\n show: false,\r\n trigger: 'item',\r\n },\r\n },\r\n ],\r\n visualMap: {\r\n show: false,\r\n top: 'top',\r\n min: 0,\r\n max: 2,\r\n seriesIndex: 0,\r\n calculable: true,\r\n inRange: {\r\n color: [\r\n '#998f74',\r\n '#04a4f6',\r\n '#00943e',\r\n '#dae07b',\r\n '#b62022',\r\n ],\r\n },\r\n },\r\n tooltip: {\r\n trigger: 'item',\r\n triggerOn: 'click',\r\n alwaysShowContent: true,\r\n showDelay: 0, //浮层显示的延迟\r\n transitionDuration: 0.2, // 提示框浮层的移动动画过渡时间\r\n enterable: true,\r\n className: 'iconMap',\r\n extraCssText: 'box-shadow: 0 0 3px rgba(0, 0, 0, 0);',\r\n formatter: function (params) {\r\n if (params.data.areaName) {\r\n let companyHtml = ''\r\n that.companyAreaList.forEach((item) => {\r\n if (item.areaId == params.data.areaId) {\r\n companyHtml +=\r\n '<div class=\"itemColor1 itemColor\" style=\"overflow:hidden;text-overflow: ellipsis;white-space: nowrap;\">' +\r\n item.companyName +\r\n '</div>'\r\n }\r\n })\r\n let html = `\r\n <div style=\"width:260px;height:180px;background: url(${imgUrl}) no-repeat; background-size:100% 100%; padding:10px 12px;position: relative;\">\r\n <div id=\"tooltipGB2\" style=\"position: absolute;cursor:pointer; width:30px;height:30px;line-height:30px;text-align:center;right:5px;top:5px;\">X</div>\r\n <div style=\"font-size: 14px; height: 20px;line-height:20px;\">${params.data.areaName}</div>\r\n <div class=\"scrollTooltip\" style=\"margin-top:10px;height:130px; overflow-y:auto;\">\r\n <div style=\"white-space:normal;font-size: 12px;font-weight: 400;\">\r\n ${companyHtml}\r\n </div>\r\n </div>\r\n </div>`\r\n return html\r\n } else {\r\n return ''\r\n }\r\n },\r\n backgroundColor: 'rgba(4,24,51,0)',\r\n borderColor: 'rgba(99, 173, 222,0)',\r\n borderWidth: 0,\r\n padding: [0, -12, 0, 0],\r\n position: 'right',\r\n textStyle: {\r\n color: '#fff',\r\n fontWeight: 'bolder',\r\n },\r\n },\r\n\r\n series: [\r\n {\r\n type: 'scatter', //带有涟漪效果的\r\n coordinateSystem: 'geo', //使用坐标系\r\n zlevel: 1,\r\n symbolSize: [36, 48],\r\n symbol: function (value, params) {\r\n if (params.data.isActive) {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/point_on.png')\r\n )\r\n } else {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/point.png')\r\n )\r\n }\r\n },\r\n label: {\r\n normal: {\r\n show: true,\r\n color: '#7CC3FF',\r\n fontSize: 16,\r\n fontFamily: 'cursive',\r\n fontWeight: 'bold',\r\n position: 'top',\r\n padding: [0, 0, -15, 0],\r\n formatter: function (params) {\r\n return params.data.count\r\n },\r\n },\r\n },\r\n itemStyle: {\r\n normal: {\r\n color: '#fff',\r\n },\r\n },\r\n data: this.pointArea || [],\r\n },\r\n ],\r\n }\r\n this.mapEcharts2.setOption(echartOption2)\r\n\r\n this.mapEcharts2.on('georoam', function (params) {\r\n let option2 = that.mapEcharts2.getOption() //获得option对象\r\n if (params.zoom != null && params.zoom != undefined) {\r\n //捕捉到缩放时\r\n option2.geo[1].zoom = option2.geo[0].zoom //下层geo的缩放等级跟着上层的geo一起改变\r\n option2.geo[1].center = option2.geo[0].center //下层的geo的中心位置随着上层geo一起改变\r\n } else {\r\n //捕捉到拖曳时\r\n option2.geo[1].center = option2.geo[0].center //下层的geo的中心位置随着上层geo一起改变\r\n }\r\n that.mapEcharts2.setOption(option2) //设置option\r\n })\r\n\r\n this.mapEcharts2.on('click', function (params) {\r\n if (params.seriesType === 'scatter' && !params.name) {\r\n let option = that.mapEcharts2.getOption() //获得option对象\r\n\r\n option.series[0].data.forEach((item) => {\r\n if (params.data.areaName != item.areaName) {\r\n if (item.isActive) {\r\n item.isActive = false\r\n }\r\n } else {\r\n item.isActive = true\r\n }\r\n })\r\n set2(params)\r\n that.mapEcharts2.setOption(option)\r\n let domtooltipGB2 = document.getElementById('tooltipGB2')\r\n if (domtooltipGB2) {\r\n domtooltipGB2.onclick = () => {\r\n let dom2 =\r\n document.getElementsByClassName('iconMap')\r\n option.series[0].data.forEach((item) => {\r\n item.isActive = false\r\n })\r\n dom2[0].style.display = 'none'\r\n set2({ data: { name: '' } })\r\n that.mapEcharts2.setOption(option)\r\n }\r\n }\r\n } else {\r\n let option = that.mapEcharts2.getOption() //获得option对象\r\n option.series[0].data.forEach((item) => {\r\n item.isActive = false\r\n })\r\n let dom2 = document.getElementsByClassName('iconMap')\r\n dom2[0].style.display = 'none'\r\n that.mapEcharts2.setOption(option)\r\n }\r\n })\r\n\r\n let set2 = (event) => {\r\n this.pointArea.forEach((v, i) => {\r\n if (v.areaName != event.data.areaName) {\r\n if (v.isActive) {\r\n v.isActive = false\r\n }\r\n } else {\r\n v.isActive = true\r\n }\r\n })\r\n }\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.centerTopPage {\r\n width: 100%;\r\n //height: var(--send-height);\r\n height: 100%;\r\n // background:palegoldenrod;\r\n margin-bottom: 2%;\r\n padding: 0 10px;\r\n position: relative;\r\n box-sizing: border-box;\r\n .iconMap {\r\n display: block !important;\r\n visibility: visible !important;\r\n opacity: 1;\r\n }\r\n .buttonTop {\r\n width: 100%;\r\n display: flex;\r\n justify-content: flex-start;\r\n }\r\n .buttom1 {\r\n width: 110px;\r\n height: 32px;\r\n text-align: center;\r\n line-height: 32px;\r\n border-radius: 4px;\r\n color: #55f3fb;\r\n // background: url(../../assets/img/checked.png) no-repeat center;\r\n background-size: 110px 32px;\r\n margin-right: 12px;\r\n cursor: pointer;\r\n }\r\n .buttom1.on {\r\n color: #0095ff;\r\n // background: url(../../assets/img/checked_on.png) no-repeat center;\r\n background-size: 110px 32px;\r\n }\r\n .mapBox {\r\n width: 100%;\r\n height: 97%;\r\n display: flex;\r\n position: relative;\r\n #mapEcharts {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n #mapEcharts2 {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n z-index: 1000;\r\n }\r\n .label-box {\r\n position: absolute;\r\n bottom: 0px;\r\n left: 40px;\r\n // background: url('../../assets/img/home/labelBg.png') no-repeat;\r\n background-size: 100% 100%;\r\n padding: 10px 15px;\r\n .item {\r\n font-size: 14px;\r\n line-height: 22px;\r\n color: #fff;\r\n position: relative;\r\n padding-left: 15px;\r\n font-size: 16px;\r\n }\r\n .item:before {\r\n content: '';\r\n width: 10px;\r\n height: 10px;\r\n background: #06bbf2;\r\n position: absolute;\r\n top: 6px;\r\n left: 0px;\r\n }\r\n .itemColor1:before {\r\n background: #06bbf2;\r\n }\r\n .itemColor2:before {\r\n background: #2df0fe;\r\n }\r\n .itemColor3:before {\r\n background: #10e0a5;\r\n }\r\n .itemColor4:before {\r\n background: #dcef4e;\r\n }\r\n .itemColor5:before {\r\n background: #f48413;\r\n }\r\n .itemColor6:before {\r\n background: #fc5403;\r\n }\r\n }\r\n}\r\n</style>\r\n\r\n<style>\r\n.scrollTooltip::-webkit-scrollbar {\r\n width: 10px;\r\n height: 10px;\r\n}\r\n.scrollTooltip::-webkit-scrollbar-thumb {\r\n background-color: #1653a6;\r\n border-radius: 10px;\r\n -webkit-box-shadow: inset 1px 1px 0 #1653a6;\r\n}\r\n.itemColor {\r\n position: relative;\r\n padding-left: 15px;\r\n line-height: 22px;\r\n}\r\n.itemColor:before {\r\n content: '';\r\n width: 10px;\r\n height: 10px;\r\n background: #06bbf2;\r\n position: absolute;\r\n top: 6px;\r\n left: 0px;\r\n}\r\n.itemColor1:before {\r\n background: #06bbf2;\r\n}\r\n.itemColor2:before {\r\n background: #2df0fe;\r\n}\r\n.itemColor3:before {\r\n background: #10e0a5;\r\n}\r\n.itemColor4:before {\r\n background: #dcef4e;\r\n}\r\n.itemColor5:before {\r\n background: #f48413;\r\n}\r\n.itemColor6:before {\r\n background: #fc5403;\r\n}\r\n</style>\r\n"],"mappings":"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UACA,KAAAnC,WAAA;QACA;QACAoC,UAAA;UACAP,MAAA,CAAA7B,WAAA,GAAApC,OAAA,CAAAyE,IAAA,CACAN,QAAA,CAAAO,cAAA,eACA;UACA;UACA,IAAAI,QAAA,GAAAC,gBAAA;UACA/E,OAAA,CAAA6E,WAAA,OAAAC,QAAA;UACAb,MAAA,CAAAe,aAAA;QACA;MACA;IACA;IACAjC,WAAA,WAAAA,YAAA;MACA,KAAAZ,UAAA,GAAAnC,OAAA,CAAAyE,IAAA,CACAN,QAAA,CAAAO,cAAA,cACA;MACA,KAAArC,OAAA,GAAAuC,cAAA;MACA5E,OAAA,CAAA6E,WAAA,eAAAxC,OAAA;MACA,KAAAP,YAAA;IACA;IACAA,YAAA,WAAAA,aAAA;MACA,KAAAK,UAAA,CAAA8C,KAAA;MACA;MACA,IAAAC,WAAA;MACA;MACA,IAAAC,WAAA,QAAA9C,OAAA,CAAA+C,QAAA;MACA;MACAD,WAAA,CAAAE,OAAA,WAAAC,CAAA,EAAAC,CAAA;QACA;QACA,IAAA9E,IAAA,GAAA6E,CAAA,CAAAE,UAAA,CAAA/E,IAAA;QACA,IAAAA,IAAA;UACA;UACAyE,WAAA,CAAAzE,IAAA,IAAA6E,CAAA,CAAAE,UAAA,CAAAC,MAAA;QACA;MACA;;MAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACA,IAAAC,IAAA;MACA,KAAAnD,QAAA,QAAAI,SAAA;MACA,KAAAJ,QAAA,CAAAoD,IAAA;QACAlF,IAAA;QACA;QACAmF,SAAA;UACAC,SAAA;UACAC,WAAA;UAAA;UACAC,WAAA;QACA;MACA;MACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACA,IAAAC,MAAA,GAAA9F,OAAA;MACA,IAAA+F,YAAA;QACAC,GAAA,GACA;UACAC,IAAA;UACAC,GAAA;UACAxF,IAAA;UACAyF,WAAA;UACApE,IAAA,OAAAA,IAAA;UACAqE,IAAA;UAAA;UACAC,uBAAA;UACAC,UAAA;UACAC,YAAA;UACAb,SAAA;YACAc,MAAA;cACAC,KAAA;gBACAR,IAAA;cACA;cACAN,SAAA,OAAA/E,YAAA;cAAA;cACA8F,OAAA;cACAd,WAAA;cAAA;cACAe,WAAA;cAAA;cACAd,WAAA;cACAe,UAAA;cACAC,KAAA;cACA;YACA;YACAC,QAAA;cACA;cACAnB,SAAA;cACAc,KAAA;gBACAR,IAAA;cACA;YACA;UACA;UACAQ,KAAA;YACAD,MAAA;cACAP,IAAA;cACAc,QAAA;cACAC,UAAA;cACAH,KAAA;YACA;YACAC,QAAA;cACAb,IAAA;cACAN,SAAA;cACAkB,KAAA;YACA;UACA;UACAI,MAAA;UACAC,OAAA,OAAAvF,MAAA;UACAwF,OAAA;YACAlB,IAAA;YACAmB,OAAA;YACAC,SAAA,WAAAA,UAAAhE,MAAA;cACA;cACA;cACA,IAAAA,MAAA,CAAAiE,gBAAA;gBACA,IAAAC,SAAA;gBACA,IAAAC,IAAA,+8BAAAC,MAAA,CAUApE,MAAA,CAAAvB,IAAA,CAAA4F,QAAA,wZAAAD,MAAA,CAEApE,MAAA,CAAAvB,IAAA,CAAA6F,UAAA,mJAAAF,MAAA,CACApE,MAAA,CAAAvB,IAAA,CAAA8F,MAAA,wMAAAH,MAAA,CAEApE,MAAA,CAAAvB,IAAA,CAAA+F,UAAA,yIAAAJ,MAAA,CACApE,MAAA,CAAAvB,IAAA,CAAAgG,QAAA,6NAIA;gBACA,OAAAN,IAAA;cACA;cACA;cACA;YACA;UAEA;QACA,GACA;UACAtB,GAAA;UACAC,WAAA;UACAC,IAAA;UAAA;UACAC,uBAAA;UACAtE,IAAA,OAAAA,IAAA;UACAuE,UAAA;UACAC,YAAA;UACAb,SAAA;YACAC,SAAA;YACAC,WAAA;YACAe,WAAA;YACAD,OAAA;YACAG,KAAA;UACA;UACAI,MAAA;UACAc,MAAA;UACAZ,OAAA;YACAlB,IAAA;UACA;QACA,EACA;QACA+B,SAAA;UACA/B,IAAA;UACAgC,GAAA;UACAC,GAAA;UACAC,GAAA;UACAC,WAAA;UACAC,UAAA;UACAC,OAAA;YACAzB,KAAA,GACA,WACA,WACA,WACA,WACA;UAEA;QACA;QACAM,OAAA;UACAC,OAAA;UACAmB,iBAAA;UACAC,SAAA;UAAA;UACAC,kBAAA;UAAA;UACAC,SAAA;UACAnB,SAAA;UACAoB,YAAA;UACAtB,SAAA,WAAAA,UAAAhE,MAAA;YACA;YACA;YACA,IAAAA,MAAA,CAAAiE,gBAAA;cACA,IAAAC,SAAA;cACA,IAAAC,IAAA,g4BAAAC,MAAA,CAUApE,MAAA,CAAAvB,IAAA,CAAA4F,QAAA,gXAAAD,MAAA,CAEApE,MAAA,CAAAvB,IAAA,CAAA8G,QAAA,6GAAAnB,MAAA,CACApE,MAAA,CAAAvB,IAAA,CAAA+G,KAAA,gHAAApB,MAAA,CACApE,MAAA,CAAAvB,IAAA,CAAA+G,KAAA,mGAEA;cACA,OAAArB,IAAA;YACA;UACA;UACAsB,eAAA;UACAlD,WAAA;UACAe,WAAA;UACAoC,OAAA;UACAC,QAAA;UACAC,SAAA;YACApC,KAAA;YACAG,UAAA;UACA;QACA;QACAkC,MAAA,GACA;UACAxI,IAAA;UAAA;UACAwF,GAAA,OAAAvE,MAAA;UACAyE,IAAA;UACA+C,gBAAA;UAAA;UACAlC,MAAA;UACAmC,UAAA;UACAC,MAAA,WAAAA,OAAAR,KAAA,EAAAxF,MAAA;YACA,IAAAA,MAAA,CAAAvB,IAAA,CAAAgG,QAAA;cACA,OACA,aAAA9H,OAAA;YAEA;cACA,IAAAqD,MAAA,CAAAvB,IAAA,CAAAwH,SAAA;gBACA,oBAAAtJ,OAAA;cACA;gBACA,oBAAAA,OAAA;cACA;YAEA;YACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;UACA;UACA8G,QAAA;YACAyC,KAAA;UACA;UACAC,gBAAA;UACA/C,KAAA;YACAD,MAAA;cACAP,IAAA;cACAY,KAAA,OAAAjG,YAAA;cACAmG,QAAA;cACA0C,UAAA;cACAzC,UAAA;cACAgC,QAAA;cACAD,OAAA;cACA1B,SAAA,WAAAA,UAAAhE,MAAA;gBACA,IAAAqG,GAAA;gBACA;gBACA,OAAAA,GAAA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;YACA;UACA;UACAhE,SAAA;YACAc,MAAA;cACAK,KAAA;YACA;UACA;UACA/E,IAAA,OAAAH,MAAA;QACA;QACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YA3EA;MA6EA;MACA;MACA;MACA;MACA,SAAAA,MAAA,SAAAV,QAAA;QACA,SAAAoE,CAAA,MAAAA,CAAA,QAAA1D,MAAA,CAAAgI,MAAA,EAAAtE,CAAA;UACA,IAAAA,CAAA,UAAA1D,MAAA,CAA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","ignoreList":[]}]} |