SafetyScreen-ui/node_modules/.cache/babel-loader/6a78d02ca0abdd624adf9c882bd...

1 line
117 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\\provinceMap.vue?vue&type=script&lang=js","dependencies":[{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui\\src\\components\\home\\provinceMap.vue","mtime":1740032704205},{"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:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkID0gcmVxdWlyZSgiRjovd29ya3NwYWNlL3dlYnN0b3JtL1NhZmV0eVNjcmVlbi11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkLmpzIikuZGVmYXVsdDsKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5mb3ItZWFjaC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIik7CnZhciBlY2hhcnRzID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQocmVxdWlyZSgiZWNoYXJ0cyIpKTsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCnZhciBtYXBDaGluYUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2NoaW5hLmpzb24nKTsKdmFyIGJlaWppbmdKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9iZWlqaW5nLmpzb24nKTsKdmFyIHNoYW5naGFpSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vc2hhbmdoYWkuanNvbicpOwp2YXIgdGlhbmppbkpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL3RpYW5qaW4uanNvbicpOwp2YXIgY2hvbmdxaW5nSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vY2hvbmdxaW5nLmpzb24nKTsKdmFyIGhlYmVpSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vaGViZWkuanNvbicpOwp2YXIgc2hhbnhpMUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL3NoYW54aS0xLmpzb24nKTsKdmFyIHNoYW54aTJKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9zaGFueGktMi5qc29uJyk7CnZhciBoZW5hbkpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2hlbmFuLmpzb24nKTsKdmFyIGppYW5neGlKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9qaWFuZ3hpLmpzb24nKTsKdmFyIGh1YmVpSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vaHViZWkuanNvbicpOwp2YXIgaHVuYW5Kc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9odW5hbi5qc29uJyk7CnZhciBmdWppYW5Kc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9mdWppYW4uanNvbicpOwp2YXIgZ3Vhbmdkb25nSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vZ3Vhbmdkb25nLmpzb24nKTsKdmFyIGhhaW5hbkpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2hhaW5hbi5qc29uJyk7CnZhciBzaWNodWFuSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vc2ljaHVhbi5qc29uJyk7CnZhciBndWl6aG91SnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vZ3VpemhvdS5qc29uJyk7CnZhciB5dW5uYW5Kc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi95dW5uYW4uanNvbicpOwp2YXIgYW5odWlKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9hbmh1aS5qc29uJyk7CnZhciBqaWFuZ3N1SnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vamlhbmdzdS5qc29uJyk7CnZhciB6aGVqaWFuZ0pzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL3poZWppYW5nLmpzb24nKTsKdmFyIHNoYW5kb25nSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vc2hhbmRvbmcuanNvbicpOwp2YXIgbGlhb25pbmdKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9saWFvbmluZy5qc29uJyk7CnZhciBqaWxpbkpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2ppbGluLmpzb24nKTsKdmFyIGhlaWxvbmdqaWFuZ0pzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2hlaWxvbmdqaWFuZy5qc29uJyk7CnZhciBuZWltZW5nZ3VKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9uZWltZW5nZ3UuanNvbicpOwp2YXIgeGluamlhbmdKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi94aW5qaWFuZy5qc29uJyk7CnZhciB4aXphbmdKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi94aXphbmcuanNvbicpOwp2YXIgZ3Vhbmd4aUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2d1YW5neGkuanNvbicpOwp2YXIgbmluZ3hpYUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL25pbmd4aWEuanNvbicpOwp2YXIgcWluZ2hhaUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL3FpbmdoYWkuanNvbicpOwp2YXIgZ2Fuc3VKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9nYW5zdS5qc29uJyk7CnZhciB0YWl3YW5Kc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi90YWl3YW4uanNvbicpOwp2YXIgeGlhbmdnYW5nSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24veGlhbmdnYW5nLmpzb24nKTsKdmFyIGFvbWVuSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vYW9tZW4uanNvbicpOwp2YXIgX2RlZmF1bHQgPSBleHBvcnRzLmRlZmF1bHQgPSB7CiAgbmFtZTogJ2NlbnRlclRvcFBhZ2UnLAogIHByb3BzOiB7CiAgICBtYXBDb3VudDogewogICAgICB0eXBlOiBOdW1iZXIsCiAgICAgIGRlZmF1bHQ6IG51bGwKICAgIH0sCiAgICBzZW5kUHJvalNwaW46IHsKICAgICAgdHlwZTogQXJyYXkgfCBPYmplY3QKICAgIH0sCiAgICBzZW5kTWFwQ29sb3I6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnIzY4OUFGQicKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB0eXBlOiB0aGlzLm1hcENvdW50LAogICAgICB6b29tOiAxLjYsCiAgICAgIHpvb20yOiAxLjIsCiAgICAgIG1hcEVjaGFydHM6IG51bGwsCiAgICAgIG1hcEVjaGFydHMyOiBudWxsLAogICAgICBtYXBKc29uOiBudWxsLAogICAgICBwb2ludEFyZWE6IHRoaXMuc2VuZFByb2pTcGluLAogICAgICBwb2ludEFsbDogW10sCiAgICAgIGNvbXBhbnlMaXN0OiBbXSwKICAgICAgY29tcGFueUFyZWFMaXN0OiBbXSwKICAgICAgaXNDaXR5OiAwLAogICAgICBjaXR5Q291bnQ6IFtdLAogICAgICBnb3pvb206IDEsCiAgICAgIHByb3ZpbmNlTGlzdDogW3sKICAgICAgICBpZDogMSwKICAgICAgICBqc29uOiBiZWlqaW5nSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDIsCiAgICAgICAganNvbjogc2hhbmdoYWlKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMywKICAgICAgICBqc29uOiB0aWFuamluSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDQsCiAgICAgICAganNvbjogY2hvbmdxaW5nSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDUsCiAgICAgICAganNvbjogaGViZWlKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogNiwKICAgICAgICBqc29uOiBzaGFueGkxSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDcsCiAgICAgICAganNvbjogc2hhbnhpMkpzb24KICAgICAgfSwgewogICAgICAgIGlkOiA4LAogICAgICAgIGpzb246IGhlbmFuSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDksCiAgICAgICAganNvbjogamlhbmd4aUpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAxMCwKICAgICAgICBqc29uOiBodWJlaUpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAxMSwKICAgICAgICBqc29uOiBodW5hbkpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAxMiwKICAgICAgICBqc29uOiBmdWppYW5Kc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMTMsCiAgICAgICAganNvbjogZ3Vhbmdkb25nSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDE0LAogICAgICAgIGpzb246IGhhaW5hbkpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAxNSwKICAgICAgICBqc29uOiBzaWNodWFuSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDE2LAogICAgICAgIGpzb246IGd1aXpob3VKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMTcsCiAgICAgICAganNvbjogeXVubmFuSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDE4LAogICAgICAgIGpzb246IGFuaHVpSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDE5LAogICAgICAgIGpzb246IGppYW5nc3VKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMjAsCiAgICAgICAganNvbjogemhlamlhbmdKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMjEsCiAgICAgICAganNvbjogc2hhbmRvbmdKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMjIsCiAgICAgICAganNvbjogbGlhb25pbmdKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMjMsCiAgICAgICAganNvbjogamlsaW5Kc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMjQsCiAgICAgICAganNvbjogaGVpbG9uZ2ppYW5nSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDI1LAogICAgICAgIGpzb246IG5laW1lbmdndUpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAyNiwKICAgICAgICBqc29uOiB4aW5qaWFuZ0pzb24KICAgICAgfSwgewogICAgICAgIGlkOiAyNywKICAgICAgICBqc29uOiB4aXphbmdKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMjgsCiAgICAgICAganNvbjogZ3Vhbmd4aUpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAyOSwKICAgICAgICBqc29uOiBuaW5neGlhSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDMwLAogICAgICAgIGpzb246IHFpbmdoYWlKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMzEsCiAgICAgICAganNvbjogZ2Fuc3VKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMzIsCiAgICAgICAganNvbjogdGFpd2FuSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDMzLAogICAgICAgIGpzb246IHhpYW5nZ2FuZ0pzb24KICAgICAgfSwgewogICAgICAgIGlkOiAzNCwKICAgICAgICBqc29uOiBhb21lbkpzb24KICAgICAgfV0KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgY29uc29sZS5sb2codGhpcy5tYXBDb3VudCk7CiAgICAvLyB0aGlzLmdldENvbXBhbnlMaXN0KCkKICAgIC8vIHRoaXMuZ2V0Q29tcGFueUFyZWFMaXN0KCkKICAgIC8vIHRoaXMuZ2V0Q2l0eUNvdW50KCkKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICAvLyB0aGlzLmdldEVxdWlwbWVudERpc0J5TWFwQXBpUGFnZSgpCiAgICB0aGlzLmdldEluaXREYXRhKCk7CiAgICAvKmxldCBtYXBFbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21hcEVjaGFydHMnKQ0KICAgIG1hcEVsZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4gew0KICAgIGNvbnNvbGUubG9nKGUpDQogICAgfSkqLwogIH0sCiAgbWV0aG9kczogewogICAgZ2V0RXF1aXBtZW50RGlzQnlNYXBBcGlQYWdlOiBmdW5jdGlvbiBnZXRFcXVpcG1lbnREaXNCeU1hcEFwaVBhZ2UoKSB7CiAgICAgIGdldEVxdWlwbWVudERpc0J5TWFwQXBpKCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgY29uc29sZS5sb2coJ3Jlcz09PT09JywgcmVzKTsKICAgICAgfSk7CiAgICB9LAogICAgZ2V0Q29tcGFueUxpc3Q6IGZ1bmN0aW9uIGdldENvbXBhbnlMaXN0KCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB2YXIgcGFyYW1zID0gewogICAgICAgIHByb3ZpbmNlSWQ6ICcnCiAgICAgIH07CiAgICAgIGdldENvbXBhbnlMaXN0QnlQcm92aW5jZUlkKHBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5zdWNjZXNzICYmIHJlcy5kYXRhKSB7CiAgICAgICAgICBfdGhpcy5jb21wYW55TGlzdCA9IHJlcy5kYXRhOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZ2V0Q29tcGFueUFyZWFMaXN0OiBmdW5jdGlvbiBnZXRDb21wYW55QXJlYUxpc3QoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICB2YXIgcGFyYW1zID0gewogICAgICAgIGFyZWFJZDogJycKICAgICAgfTsKICAgICAgZ2V0Q29tcGFueUxpc3RCeUFyZWFJZChwYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuc3VjY2VzcyAmJiByZXMuZGF0YSkgewogICAgICAgICAgX3RoaXMyLmNvbXBhbnlBcmVhTGlzdCA9IHJlcy5kYXRhOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZ2V0Q2l0eUNvdW50OiBmdW5jdGlvbiBnZXRDaXR5Q291bnQoKSB7CiAgICAgIC8vIHRoaXMuZ2V0SW5pdERhdGEoKQogICAgICAvLyBsZXQgcGFyYW1zID0gewogICAgICAvLyAgIGlzQ2l0eTogdGhpcy5pc0NpdHkKICAgICAgLy8gfQogICAgICAvLyBnZXRDaXR5Q291bnQocGFyYW1zKS50aGVuKHJlcyA9PiB7CiAgICAgIC8vICAgaWYgKHJlcy5zdWNjZXNzICYmIHJlcy5kYXRhKSB7CiAgICAgIC8vICAgICBpZiAodGhpcy50eXBlID09IDEpIHsKICAgICAgLy8gICAgICAgcmVzLmRhdGEuZm9yRWFjaChpdGVtID0+IHsKICAgICAgLy8gICAgICAgICBpdGVtLnZhbHVlID0gaXRlbS5jZW50ZXIuc3BsaXQoJywnKQogICAgICAvLyAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZQogICAgICAvLyAgICAgICAgIGlmIChpdGVtLmFyZWFOYW1lID09ICfljJfkuqzluIInKSB7CiAgICAgIC8vICAgICAgICAgICBpdGVtLmFyZWFDb2xvciA9ICcjZmZmJwogICAgICAvLyAgICAgICAgIH0KICAgICAgLy8gICAgICAgfSkKICAgICAgLy8gICAgICAgY29uc29sZS5sb2cocmVzLmRhdGEpCiAgICAgIC8vICAgICAgIHRoaXMuY2l0eUNvdW50ID0gcmVzLmRhdGEKICAgICAgLy8gICAgICAgdGhpcy5nZXRJbml0RGF0YSgpCiAgICAgIC8vICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSAyKSB7CiAgICAgIC8vICAgICAgIHJlcy5kYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAgIC8vICAgICAgICAgaXRlbS52YWx1ZSA9IGl0ZW0uY2VudGVyLnNwbGl0KCcsJykKICAgICAgLy8gICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2UKICAgICAgLy8gICAgICAgfSkKICAgICAgLy8gICAgICAgdGhpcy5BcmVhQ291bnQgPSByZXMuZGF0YQogICAgICAvLyAgICAgfQogICAgICAvLyAgIH0KICAgICAgLy8gfSkKICAgIH0sCiAgICAvKiBnZXRNYXBTZWxlY3QodHlwZSkgew0KICAgICAgICBsZXQgZG9tID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaWNvbk1hcCcpDQogICAgICAgIGRvbVswXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnDQogICAgICAgIGlmICh0eXBlID09IDEpIHsNCiAgICAgICAgICAgIHRoaXMudHlwZSA9IDENCiAgICAgICAgICAgIGlmICh0aGlzLm1hcEVjaGFydHMpIHsNCiAgICAgICAgICAgICAgICB0aGlzLm1hcEVjaGFydHMuZGlzcG9zZSgpDQogICAgICAgICAgICAgICAgdGhpcy5tYXBFY2hhcnRzID0gbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHRoaXMubWFwRWNoYXJ0czIpIHsNCiAgICAgICAgICAgICAgICB0aGlzLm1hcEVjaGFydHMyLmRpc3Bvc2UoKQ0KICAgICAgICAgICAgICAgIHRoaXMubWFwRWNoYXJ0czIgPSBudWxsDQogICAgICAgICAgICB9DQogICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgICAgICAgICB0aGlzLm1hcEVjaGFydHMgPSBlY2hhcnRzLmluaXQoDQogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXBFY2hhcnRzJyksDQogICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgICAgIGxldCBtYXBKc29uMSA9IG1hcENoaW5hSnNvbg0KICAgICAgICAgICAgICAgIGVjaGFydHMucmVnaXN0ZXJNYXAoJ2NoaW5hJywgbWFwSnNvbjEpDQogICAgICAgICAgICAgICAgdGhpcy5zZXRNYXBPcHRpb24oKQ0KICAgICAgICAgICAgfSwgMjAwKQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgdGhpcy50eXBlID0gMg0KICAgICAgICAgICAgdGhpcy5pc0NpdHkgPSAxDQogICAgICAgICAgICB0aGlzLmdldENpdHlDb3VudCgpDQogICAgICAgICAgICBpZiAodGhpcy5tYXBFY2hhcnRzKSB7DQogICAgICAgICAgICAgICAgdGhpcy5tYXBFY2hhcnRzLmRpc3Bvc2UoKQ0KICAgICAgICAgICAgICAgIHRoaXMubWFwRWNoYXJ0cyA9IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICh0aGlzLm1hcEVjaGFydHMyKSB7DQogICAgICAgICAgICAgICAgdGhpcy5tYXBFY2hhcnRzMi5kaXNwb3NlKCkNCiAgICAgICAgICAgICAgICB0aGlzLm1hcEVjaGFydHMyID0gbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy5tYXBFY2hhcnRzMiA9IGVjaGFydHMuaW5pdCgNCiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21hcEVjaGFydHMyJyksDQogICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgICAgIC8vIGxldCBtYXBKc29uMiA9IG1hcEpzb24oJzE1MTU1MDc5NzU2NTk3NjE2NjUnLCAnJykNCiAgICAgICAgICAgICAgICBsZXQgbWFwSnNvbjIgPSBuaW5neGlhSnNvbg0KICAgICAgICAgICAgICAgIGVjaGFydHMucmVnaXN0ZXJNYXAoJ2hzJywgbWFwSnNvbjIpDQogICAgICAgICAgICAgICAgdGhpcy5zZXRNYXBPcHRpb24yKCkNCiAgICAgICAgICAgIH0sIDIwMCkNCiAgICAgICAgfQ0KICAgIH0sICovCiAgICBnZXRJbml0RGF0YTogZnVuY3Rpb24gZ2V0SW5pdERhdGEoKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczMubWFwRWNoYXJ0czIgPSBlY2hhcnRzLmluaXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21hcEVjaGFydHMnKSk7CiAgICAgICAgLy8gbGV0IG1hcEpzb24yID0gbWFwSnNvbignMTUxNTUwNzk3NTY1OTc2MTY2NScsICcnKQogICAgICAgIHZhciBtYXBKc29uOwogICAgICAgIC8qIHN3aXRjaCAodGhpcy5tYXBDb3VudCkgew0KICAgICAgICAgICAgY2FzZSAyOg0KICAgICAgICAgICAgICAgIG1hcEpzb24gPSBuaW5neGlhSnNvbg0KICAgICAgICAgICAgICAgIGJyZWFrDQogICAgICAgICAgICBjYXNlIDM6DQogICAgICAgICAgICAgICAgbWFwSnNvbiA9IGFuaHVpSnNvbg0KICAgICAgICAgICAgICAgIGJyZWFrDQogICAgICAgICAgICBjYXNlIDQ6DQogICAgICAgICAgICAgICAgbWFwSnNvbiA9IG5laW1lbmdndUpzb24NCiAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgY2FzZSA1Og0KICAgICAgICAgICAgICAgIG1hcEpzb24gPSBndWFuZ2RvbmdKc29uDQogICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgfSAqLwogICAgICAgIF90aGlzMy5wcm92aW5jZUxpc3QuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgaWYgKGl0ZW0uaWQgPT09IF90aGlzMy5tYXBDb3VudCkgbWFwSnNvbiA9IGl0ZW0uanNvbjsKICAgICAgICB9KTsKICAgICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKCdueCcsIG1hcEpzb24pOwogICAgICAgIF90aGlzMy5zZXRNYXBPcHRpb24yKCk7CiAgICAgIH0sIDIwMCk7CiAgICAgIC8qdGhpcy5tYXBFY2hhcnRzID0gZWNoYXJ0cy5pbml0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXBFY2hhcnRzJykpDQogICAgICB0aGlzLm1hcEpzb24gPSBtYXBDaGluYUpzb24NCiAgICAgIGVjaGFydHMucmVnaXN0ZXJNYXAoJ2NoaW5hJywgdGhpcy5tYXBKc29uKQ0KICAgICAgdGhpcy5zZXRNYXBPcHRpb24oKSovCiAgICB9LAogICAgc2V0TWFwT3B0aW9uOiBmdW5jdGlvbiBzZXRNYXBPcHRpb24oKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICAvL+iOt+WPluW9k+WJjeaYvuekuuWcsOWbvuS4i+aWueWcsOW4gueahOWdkOagh+eCueaVsOaNru+8myDnlKjkuo7msJTms6HmmL7npLoKICAgICAgdmFyIGdlb0Nvb3JkTWFwID0ge307CiAgICAgIC8vIOiOt+WPluWcsOWMuuivpue7huS/oeaBrwogICAgICB2YXIgbWFwRmVhdHVyZXMgPSB0aGlzLm1hcEpzb24uZmVhdHVyZXM7CiAgICAgIC8vIOmBjeWOhuiOt+WPluavj+S4quWcsOWMuueahOe7j+e6rOW6pgogICAgICBtYXBGZWF0dXJlcy5mb3JFYWNoKGZ1bmN0aW9uICh2LCBpKSB7CiAgICAgICAgLy8g6I635Y+W5b2T5YmN5Zyw5Yy65ZCNCiAgICAgICAgdmFyIG5hbWUgPSB2LnByb3BlcnRpZXMubmFtZTsKICAgICAgICBpZiAobmFtZSkgewogICAgICAgICAgLy8g6I635Y+W5b2T5YmN5Zyw5Yy655qE57uP57qs5bqmCiAgICAgICAgICBnZW9Db29yZE1hcFtuYW1lXSA9IHYucHJvcGVydGllcy5jZW50ZXI7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgdmFyIG1hcERhdGEgPSBbewogICAgICAgIG5hbWU6ICfpk7blt53luIInLAogICAgICAgIHZhbHVlOiBbJzEwNi4yMicsICczOC40OCddLAogICAgICAgIGE6ICcxMDAnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5Lit5Y2r5biCJywKICAgICAgICB2YWx1ZTogWycxMDUuMjcnLCAnMzcuMTAnXSwKICAgICAgICBhOiAnMTAwJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+WQtOW/oOW4gicsCiAgICAgICAgdmFsdWU6IFsnMTA2LjIyJywgJzM3LjQ1J10sCiAgICAgICAgYTogJzEwMCcKICAgICAgfV07CiAgICAgIHZhciB0aGF0ID0gdGhpczsKICAgICAgdGhpcy5wb2ludEFsbCA9IHRoaXMuY2l0eUNvdW50OwogICAgICB0aGlzLnBvaW50QWxsLnB1c2goewogICAgICAgIG5hbWU6ICflroHlpI8nLAogICAgICAgIC8v6Ieq5a6a5LmJ5Yy65Z+f55qE6aKc6ImyCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBhcmVhQ29sb3I6ICcjRjUwNTA4JywKICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzE3NzNjMycsCiAgICAgICAgICAvLyDljLrln5/ovrnmoYYKICAgICAgICAgIHNoYWRvd0NvbG9yOiAnIzE3NzNjMycgLy8g6Zi05b2xCiAgICAgICAgfQogICAgICB9KTsKICAgICAgdmFyIHNwbGl0TGlzdCA9IFt7CiAgICAgICAgbmFtZTogJ+WMl+S6rOW4gicsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5aSp5rSl5biCJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfkuIrmtbfluIInLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+mHjeW6huW4gicsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5rKz5YyX55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmsrPljZfnnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+S6keWNl+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn6L695a6B55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfpu5HpvpnmsZ/nnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+a5luWNl+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5a6J5b6955yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICflsbHkuJznnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+aWsOeWhue7tOWQvuWwlOiHquayu+WMuicsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5rGf6IuP55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmtZnmsZ/nnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+axn+ilv+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5rmW5YyX55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICflub/opb/lo67ml4/oh6rmsrvljLonLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+eUmOiCg+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5bGx6KW/55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICflhoXokpnlj6Toh6rmsrvljLonLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+mZleilv+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5ZCJ5p6X55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfnpo/lu7rnnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+i0teW3nuecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5bm/5Lic55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfpnZLmtbfnnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyNFRUYyRkYnCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+ilv+iXj+iHquayu+WMuicsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnI0FBQzRGOScKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5Zub5bed55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjNjk5QUZDJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICflroHlpI/lm57ml4/oh6rmsrvljLonLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMyMTg3RkYnCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+a1t+WNl+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5Y+w5rm+55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfpppnmuK/nibnliKvooYzmlL/ljLonLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+a+s+mXqOeJueWIq+ihjOaUv+WMuicsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH1dOwogICAgICB2YXIgaW1nVXJsID0gcmVxdWlyZSgnLi4vLi4vYXNzZXRzL2ltZy9teUltYWdlL3Rhbmt1YW5nLnBuZycpOwogICAgICB2YXIgZWNoYXJ0T3B0aW9uID0gewogICAgICAgIGdlbzogW3sKICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICBtYXA6ICdjaGluYScsCiAgICAgICAgICBhc3BlY3RTY2FsZTogMC44LAogICAgICAgICAgem9vbTogdGhpcy56b29tLAogICAgICAgICAgcm9hbTogdHJ1ZSwKICAgICAgICAgIC8vIOaYr+WQpuWFgeiuuOe8qeaUvgogICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb25VcGRhdGU6IDAsCiAgICAgICAgICBsYXlvdXRTaXplOiAnOTIlJywKICAgICAgICAgIGxheW91dENlbnRlcjogWyc1MCUnLCAnNjglJ10sCiAgICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJywKICAgICAgICAgICAgICAvL+WcsOWbvuminOiJsgogICAgICAgICAgICAgIG9wYWNpdHk6IDEsCiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjMTc0Qzk1JywKICAgICAgICAgICAgICAvL+WcsOWbvui+ueahhuminOiJsgogICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLAogICAgICAgICAgICAgIC8v5Zyw5Zu+6L655qGG5a695bqmCiAgICAgICAgICAgICAgc2hhZG93Q29sb3I6ICdub25lJywKICAgICAgICAgICAgICBzaGFkb3dCbHVyOiAxMCwKICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICAgICAgLy8g6K6+572u5omH5b2i55qE6Zi05b2xCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgICAgLy/pgInkuK3nnIHku73nmoTpopzoibIKICAgICAgICAgICAgICBhcmVhQ29sb3I6ICcjNzY1YWYzJywKICAgICAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICAgICAgc2hvdzogdHJ1ZQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGxhYmVsOiB7CiAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgZm9udFNpemU6IDE0LAogICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDUwMCwKICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMC41KScKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZW1waGFzaXM6IHsKICAgICAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwYTE4M2QnLAogICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZicKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHpsZXZlbDogMSwKICAgICAgICAgIHJlZ2lvbnM6IHNwbGl0TGlzdAogICAgICAgIH0sIHsKICAgICAgICAgIG1hcDogJ2NoaW5hJywKICAgICAgICAgIGFzcGVjdFNjYWxlOiAwLjgsCiAgICAgICAgICByb2FtOiB0cnVlLAogICAgICAgICAgLy8g5piv5ZCm5YWB6K6457yp5pS+CiAgICAgICAgICBhbmltYXRpb25EdXJhdGlvblVwZGF0ZTogMCwKICAgICAgICAgIHpvb206IHRoaXMuem9vbSwKICAgICAgICAgIGxheW91dFNpemU6ICc5MiUnLAogICAgICAgICAgbGF5b3V0Q2VudGVyOiBbJzUwJScsICc2OS41JSddLAogICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyM2ZTU1ZGMnLAogICAgICAgICAgICBib3JkZXJDb2xvcjogJyM2ZTU1ZGMnLAogICAgICAgICAgICBib3JkZXJXaWR0aDogMSwKICAgICAgICAgICAgb3BhY2l0eTogMC41LAogICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICB9LAogICAgICAgICAgemxldmVsOiAtMSwKICAgICAgICAgIHNpbGVudDogdHJ1ZSwKICAgICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgICAgc2hvdzogZmFsc2UsCiAgICAgICAgICAgIHRyaWdnZXI6ICdpdGVtJwogICAgICAgICAgfQogICAgICAgIH1dLAogICAgICAgIHZpc3VhbE1hcDogewogICAgICAgICAgc2hvdzogZmFsc2UsCiAgICAgICAgICB0b3A6ICd0b3AnLAogICAgICAgICAgbWluOiAwLAogICAgICAgICAgbWF4OiAyLAogICAgICAgICAgc2VyaWVzSW5kZXg6IDAsCiAgICAgICAgICBjYWxjdWxhYmxlOiB0cnVlLAogICAgICAgICAgaW5SYW5nZTogewogICAgICAgICAgICBjb2xvcjogWycjOTk4Zjc0JywgJyMwNGE0ZjYnLCAnIzAwOTQzZScsICcjZGFlMDdiJywgJyNiNjIwMjInXQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdG9vbHRpcDogewogICAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nLAogICAgICAgICAgYWx3YXlzU2hvd0NvbnRlbnQ6IHRydWUsCiAgICAgICAgICBzaG93RGVsYXk6IDAsCiAgICAgICAgICAvL+a1ruWxguaYvuekuueahOW7tui/nwogICAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiAwLjIsCiAgICAgICAgICAvLyDmj5DnpLrmoYbmta7lsYLnmoTnp7vliqjliqjnlLvov4fmuKHml7bpl7QKICAgICAgICAgIGVudGVyYWJsZTogdHJ1ZSwKICAgICAgICAgIGNsYXNzTmFtZTogJ2ljb25NYXAnLAogICAgICAgICAgZXh0cmFDc3NUZXh0OiAnYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDApOycsCiAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIGZvcm1hdHRlcihwYXJhbXMpIHsKICAgICAgICAgICAgaWYgKHBhcmFtcy5jb21wb25lbnRTdWJUeXBlID09PSAnc2NhdHRlcicpIHsKICAgICAgICAgICAgICB2YXIgY2xhc3NOYW1lID0gJ2l0ZW1Db2xvcjEgaXRlbUNvbG9yJzsKICAgICAgICAgICAgICB2YXIgaHRtbCA9ICJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJwb3AtdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MjYwcHg7aGVpZ2h0OjE0MHB4O2JvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNEQ4REZGLCAjNTdCOUZGLCAjNEQ4REZGKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MTJweDtwb3NpdGlvbjogcmVsYXRpdmU7ZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRvb2x0aXBHQlwiIG9uY2xpY2s9XCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjcG9wLXRvb2x0aXAnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7Y3Vyc29yOiBwb2ludGVyOyB3aWR0aDozMHB4O2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NXB4O3RvcDo1cHg7Zm9udC1zaXplOiAyMHB4O1wiPng8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE4cHg7IGhlaWdodDogMjBweDtsaW5lLWhlaWdodDoyMHB4O1wiPiIuY29uY2F0KHBhcmFtcy5kYXRhLnByb2pOYW1lLCAiPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsVG9vbHRpcFwiIHN0eWxlPVwibWFyZ2luLXRvcDoxMHB4O2ZsZXg6IDE7IG92ZXJmbG93LXk6YXV0bzt3aGl0ZS1zcGFjZTpub3JtYWw7Zm9udC1zaXplOiAxNnB4O2ZvbnQtd2VpZ2h0OiA0MDA7IHBvc2l0aW9uOnJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiA1cHhcIj5cdTc3MDFcdTRFRkRcdUZGMUEiKS5jb25jYXQocGFyYW1zLmRhdGEucHJvdmluY2UsICI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XHU3RUNGXHU1RUE2XHVGRjFBIikuY29uY2F0KHBhcmFtcy5kYXRhLnZhbHVlWzBdLCAiPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDVweFwiPlx1N0VBQ1x1NUVBNlx1RkYxQSIpLmNvbmNhdChwYXJhbXMuZGF0YS52YWx1ZVsxXSwgIjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4iKTsKICAgICAgICAgICAgICByZXR1cm4gaHRtbDsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoNCwyNCw1MSwwKScsCiAgICAgICAgICBib3JkZXJDb2xvcjogJ3JnYmEoOTksIDE3MywgMjIyLDApJywKICAgICAgICAgIGJvcmRlcldpZHRoOiAwLAogICAgICAgICAgcGFkZGluZzogWzAsIC0xMiwgMCwgMF0sCiAgICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JywKICAgICAgICAgIHRleHRTdHlsZTogewogICAgICAgICAgICBjb2xvcjogJyNmZmYnLAogICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZGVyJwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgc2VyaWVzOiBbewogICAgICAgICAgdHlwZTogJ3NjYXR0ZXInLAogICAgICAgICAgLy/luKbmnInmtp/mvKrmlYjmnpznmoQKICAgICAgICAgIG1hcDogbWFwRGF0YSwKICAgICAgICAgIHJvYW06IGZhbHNlLAogICAgICAgICAgY29vcmRpbmF0ZVN5c3RlbTogJ2dlbycsCiAgICAgICAgICAvL+S9v+eUqOWdkOagh+ezuwogICAgICAgICAgemxldmVsOiAxLAogICAgICAgICAgc3ltYm9sU2l6ZTogWzQ1LCA1NV0sCiAgICAgICAgICBzeW1ib2w6IGZ1bmN0aW9uIHN5bWJvbCh2YWx1ZSwgcGFyYW1zKSB7CiAgICAgICAgICAgIGlmIChwYXJhbXMubmFtZSA9PSAn5a6J5b6955yBJykgewogICAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvbWFya1BvaW50cy5wbmcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAocGFyYW1zLm5hbWUgPT0gJ+a5luWNl+ecgScpIHsKICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlOi8vJyArIHJlcXVpcmUoJ0AvYXNzZXRzL2ltZy9teUltYWdlL21hcmtQb2ludHMucG5nJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHBhcmFtcy5uYW1lID09ICflroHlpI/lm57ml4/oh6rmsrvljLonKSB7CiAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9tYXJrUG9pbnRzLnBuZycpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChwYXJhbXMubmFtZSA9PSAn6Z2S5rW355yBJykgewogICAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvbWFya1BvaW50cy5wbmcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgIHNjYWxlOiBmYWxzZQogICAgICAgICAgfSwKICAgICAgICAgIHN5bWJvbEtlZXBBc3BlY3Q6IHRydWUsCiAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgICAgIGNvbG9yOiAnIzdDQzNGRicsCiAgICAgICAgICAgICAgZm9udFNpemU6IDE2LAogICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdjdXJzaXZlJywKICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsCiAgICAgICAgICAgICAgcG9zaXRpb246ICd0b3AnLAogICAgICAgICAgICAgIHBhZGRpbmc6IFswLCAwLCAtMTUsIDBdLAogICAgICAgICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gZm9ybWF0dGVyKHBhcmFtcykgewogICAgICAgICAgICAgICAgcmV0dXJuIHBhcmFtcy5kYXRhLmNvdW50OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBkYXRhOiBtYXBEYXRhIHx8IFtdCiAgICAgICAgfV0KICAgICAgfTsKICAgICAgdGhpcy5tYXBFY2hhcnRzLnNldE9wdGlvbihlY2hhcnRPcHRpb24pOwogICAgICB0aGlzLm1hcEVjaGFydHMub24oJ2dlb3JvYW0nLCBmdW5jdGlvbiAocGFyYW1zKSB7CiAgICAgICAgdmFyIG9wdGlvbiA9IHRoYXQubWFwRWNoYXJ0cy5nZXRPcHRpb24oKTsgLy/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+iuvue9rm9wdGlvbgogICAgICB9KTsKICAgICAgdGhpcy5tYXBFY2hhcnRzLm9uKCdjbGljaycsIGZ1bmN0aW9uIChwYXJhbXMpIHsKICAgICAgICBpZiAocGFyYW1zLnNlcmllc1R5cGUgPT09ICdzY2F0dGVyJyAmJiAhcGFyYW1zLm5hbWUpIHsKICAgICAgICAgIHZhciBvcHRpb24gPSB0aGF0Lm1hcEVjaGFydHMuZ2V0T3B0aW9uKCk7IC8v6I635b6Xb3B0aW9u5a+56LGhCiAgICAgICAgICAvLyDngrnlh7vlj5jpu4QKICAgICAgICAgIG9wdGlvbi5zZXJpZXNbMF0uZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIGlmIChwYXJhbXMuZGF0YS5hcmVhTmFtZSAhPSBpdGVtLmFyZWFOYW1lKSB7CiAgICAgICAgICAgICAgaWYgKGl0ZW0uaXNBY3RpdmUpIHsKICAgICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgICAgdGhhdC5nZXRDb21wYW55TGlzdChwYXJhbXMuZGF0YSk7CiAgICAgICAgICAvLyBzZXQocGFyYW1zKQogICAgICAgICAgdGhhdC5tYXBFY2hhcnRzLnNldE9wdGlvbihvcHRpb24pOwogICAgICAgICAgdmFyIGRvbXRvb2x0aXBHQiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sdGlwR0InKTsKICAgICAgICAgIGlmIChkb210b29sdGlwR0IpIHsKICAgICAgICAgICAgdmFyIF9vcHRpb24gPSB0aGF0Lm1hcEVjaGFydHMuZ2V0T3B0aW9uKCk7IC8v6I635b6Xb3B0aW9u5a+56LGhCgogICAgICAgICAgICBkb210b29sdGlwR0Iub25jbGljayA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICBfb3B0aW9uLnNlcmllc1swXS5kYXRhLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB2YXIgZG9tMiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ljb25NYXAnKTsKICAgICAgICAgICAgICBkb20yWzBdLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgLy8gc2V0KHsgZGF0YTogeyBuYW1lOiAnJyB9IH0pCiAgICAgICAgICAgICAgdGhhdC5tYXBFY2hhcnRzLnNldE9wdGlvbihfb3B0aW9uKTsKICAgICAgICAgICAgfTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIF9vcHRpb24yID0gdGhhdC5tYXBFY2hhcnRzLmdldE9wdGlvbigpOyAvL+iOt+W+l29wdGlvbuWvueixoQogICAgICAgICAgX29wdGlvbjIuc2VyaWVzWzBdLmRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICB9KTsKICAgICAgICAgIHZhciBkb20yID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaWNvbk1hcCcpOwogICAgICAgICAgZG9tMlswXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgdGhhdC5tYXBFY2hhcnRzLnNldE9wdGlvbihfb3B0aW9uMik7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgdmFyIHNldCA9IGZ1bmN0aW9uIHNldChldmVudCkgewogICAgICAgIF90aGlzNC5wb2ludEFsbC5mb3JFYWNoKGZ1bmN0aW9uICh2LCBpKSB7CiAgICAgICAgICBpZiAodi5hcmVhTmFtZSAhPSBldmVudC5kYXRhLmFyZWFOYW1lKSB7CiAgICAgICAgICAgIGlmICh2LmlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgdi5pc0FjdGl2ZSA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2LmlzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfTsKICAgIH0sCiAgICBzZXRNYXBPcHRpb24yOiBmdW5jdGlvbiBzZXRNYXBPcHRpb24yKCkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgdmFyIHRoYXQgPSB0aGlzOwogICAgICAvLyB0aGlzLnBvaW50QXJlYSA9IHRoaXMuQXJlYUNvdW50CiAgICAgIC8qbGV0IHNwbGl0TGlzdDIgPSBbDQogICAgICB7IG5hbWU6ICfnn7PlmLTlsbHluIInLCBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogJyMwQTJCN0InIH0gfSB9LA0KICAgICAgeyBuYW1lOiAn6ZO25bed5biCJywgaXRlbVN0eWxlOiB7IG5vcm1hbDogeyBhcmVhQ29sb3I6ICcjMEEyQjdCJyB9IH0gfSwNCiAgICAgIHsgbmFtZTogJ+WQtOW/oOW4gicsIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiAnIzBBMkI3QicgfSB9IH0sDQogICAgICB7IG5hbWU6ICfkuK3ljavluIInLCBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogJyMwQTJCN0InIH0gfSB9LA0KICAgICAgeyBuYW1lOiAn5Zu65Y6f5biCJywgaXRlbVN0eWxlOiB7IG5vcm1hbDogeyBhcmVhQ29sb3I6ICcjMEEyQjdCJyB9IH0gfSwNCiAgICAgIF0qLwogICAgICB2YXIgaW1nVXJsID0gcmVxdWlyZSgnLi4vLi4vYXNzZXRzL2ltZy9teUltYWdlL3Rhbmt1YW5nLnBuZycpOwogICAgICB2YXIgZWNoYXJ0T3B0aW9uMiA9IHsKICAgICAgICBnZW86IFt7CiAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgbWFwOiAnbngnLAogICAgICAgICAgdHlwZTogJ21hcCcsCiAgICAgICAgICBhc3BlY3RTY2FsZTogMC44LAogICAgICAgICAgem9vbTogdGhpcy56b29tMiwKICAgICAgICAgIHJvYW06IHRydWUsCiAgICAgICAgICAvLyDmmK/lkKblhYHorrjnvKnmlL4KICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uVXBkYXRlOiAwLAogICAgICAgICAgbGF5b3V0U2l6ZTogJzgyJScsCiAgICAgICAgICBsYXlvdXRDZW50ZXI6IFsnNTAlJywgJzQ4JSddLAogICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgIGxhYmVsOiB7CiAgICAgICAgICAgICAgICBzaG93OiBmYWxzZQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciwKICAgICAgICAgICAgICAvL+WcsOWbvuminOiJsgogICAgICAgICAgICAgIG9wYWNpdHk6IDEsCiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjNTg3NmJhJywKICAgICAgICAgICAgICAvL+WcsOWbvui+ueahhuminOiJsgogICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLAogICAgICAgICAgICAgIC8v5Zyw5Zu+6L655qGG5a695bqmCiAgICAgICAgICAgICAgc2hhZG93Q29sb3I6ICdub25lJywKICAgICAgICAgICAgICBzaGFkb3dCbHVyOiAxMCwKICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICAgICAgLy8g6K6+572u5omH5b2i55qE6Zi05b2xCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgICAgLy/pgInkuK3nnIHku73nmoTpopzoibIKICAgICAgICAgICAgICBhcmVhQ29sb3I6ICcjNzY1YWYzJywKICAgICAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICAgICAgc2hvdzogZmFsc2UKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgICAgIGZvbnRTaXplOiAxNCwKICAgICAgICAgICAgICBmb250V2VpZ2h0OiA1MDAsCiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBhcmVhQ29sb3I6ICcjMGExODNkJywKICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgIHRyaWdnZXI6ICdpdGVtJywKICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiBmb3JtYXR0ZXIocGFyYW1zKSB7CiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coIjExMTEiKQogICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHBhcmFtcykKICAgICAgICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudFN1YlR5cGUgPT09ICdzY2F0dGVyJykgewogICAgICAgICAgICAgICAgdmFyIGNsYXNzTmFtZSA9ICdpdGVtQ29sb3IxIGl0ZW1Db2xvcic7CiAgICAgICAgICAgICAgICB2YXIgaHRtbCA9ICJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicG9wLXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDphdXRvO2hlaWdodDoxODBweDtib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNEQ4REZGLCAjNTdCOUZGLCAjNEQ4REZGKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxMnB4O3Bvc2l0aW9uOiByZWxhdGl2ZTtkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidG9vbHRpcEdCXCIgb25jbGljaz1cImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwb3AtdG9vbHRpcCcpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtjdXJzb3I6IHBvaW50ZXI7IHdpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweDt0ZXh0LWFsaWduOmNlbnRlcjtyaWdodDo1cHg7dG9wOjVweDtmb250LXNpemU6IDIwcHg7XCI+eDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxOHB4OyBoZWlnaHQ6IDIwcHg7bGluZS1oZWlnaHQ6MjBweDtcIj4iLmNvbmNhdChwYXJhbXMuZGF0YS5wcm9qTmFtZSwgIjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsVG9vbHRpcFwiIHN0eWxlPVwibWFyZ2luLXRvcDoxMHB4O2ZsZXg6IDE7IG92ZXJmbG93LXk6YXV0bzt3aGl0ZS1zcGFjZTpub3JtYWw7Zm9udC1zaXplOiAxNnB4O2ZvbnQtd2VpZ2h0OiA0MDA7IHBvc2l0aW9uOnJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDVweFwiPlx1NjI0MFx1N0VEMVx1NUI5QVx1NjExRlx1NzdFNVx1OEJCRVx1NTkwNyIpLmNvbmNhdChwYXJhbXMuZGF0YS5kZXZUeXBlTnVtLCAiXHU3QzdCPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XHU2MjQwXHU3RUQxXHU1QjlBXHU2MTFGXHU3N0U1XHU4QkJFXHU1OTA3IikuY29uY2F0KHBhcmFtcy5kYXRhLmRldk51bSwgIlx1NEUyQTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHU4QkJFXHU1OTA3XHU4RkQwXHU4ODRDXHU2QjYzXHU1RTM4IikuY29uY2F0KHBhcmFtcy5kYXRhLnN1Y2Nlc3NOdW0sICJcdTRFMkEvPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6cmVkO1wiPlx1OEJCRVx1NTkwN1x1NjU3MFx1NjM2RVx1NUYwMlx1NUUzOCIpLmNvbmNhdChwYXJhbXMuZGF0YS5lcnJvck51bSwgIlx1NEUyQTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiIpOwogICAgICAgICAgICAgICAgcmV0dXJuIGh0bWw7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC8vIOWPr+S7peWcqOi/memHjOe8luWGmei9ruaSreeahOagvOW8j+WMluWGheWuuQogICAgICAgICAgICAgIC8vIHJldHVybiBwYXJhbXMubmFtZSArICc6ICcgKyBwYXJhbXMudmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIC8vIHJlZ2lvbnM6IHNwbGl0TGlzdDIKICAgICAgICB9LCB7CiAgICAgICAgICBtYXA6ICdueCcsCiAgICAgICAgICBhc3BlY3RTY2FsZTogMC44LAogICAgICAgICAgcm9hbTogdHJ1ZSwKICAgICAgICAgIC8vIOaYr+WQpuWFgeiuuOe8qeaUvgogICAgICAgICAgem9vbTogdGhpcy56b29tMiwKICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uVXBkYXRlOiAwLAogICAgICAgICAgbGF5b3V0U2l6ZTogJzgyJScsCiAgICAgICAgICBsYXlvdXRDZW50ZXI6IFsnNTAlJywgJzUwLjUlJ10sCiAgICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzZlNTVkYycsCiAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzZlNTVkYycsCiAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLAogICAgICAgICAgICBvcGFjaXR5OiAwLjUsCiAgICAgICAgICAgIGNvbG9yOiAnI2ZmZicKICAgICAgICAgIH0sCiAgICAgICAgICB6bGV2ZWw6IC0xLAogICAgICAgICAgc2lsZW50OiB0cnVlLAogICAgICAgICAgdG9vbHRpcDogewogICAgICAgICAgICBzaG93OiBmYWxzZSwKICAgICAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nCiAgICAgICAgICB9CiAgICAgICAgfV0sCiAgICAgICAgdmlzdWFsTWFwOiB7CiAgICAgICAgICBzaG93OiBmYWxzZSwKICAgICAgICAgIHRvcDogJ3RvcCcsCiAgICAgICAgICBtaW46IDAsCiAgICAgICAgICBtYXg6IDIsCiAgICAgICAgICBzZXJpZXNJbmRleDogMCwKICAgICAgICAgIGNhbGN1bGFibGU6IHRydWUsCiAgICAgICAgICBpblJhbmdlOiB7CiAgICAgICAgICAgIGNvbG9yOiBbJyM5OThmNzQnLCAnIzA0YTRmNicsICcjMDA5NDNlJywgJyNkYWUwN2InLCAnI2I2MjAyMiddCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICB0cmlnZ2VyOiAnaXRlbScsCiAgICAgICAgICBhbHdheXNTaG93Q29udGVudDogdHJ1ZSwKICAgICAgICAgIHNob3dEZWxheTogMCwKICAgICAgICAgIC8v5rWu5bGC5pi+56S655qE5bu26L+fCiAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb246IDAuMiwKICAgICAgICAgIC8vIOaPkOekuuahhua1ruWxgueahOenu+WKqOWKqOeUu+i/h+a4oeaXtumXtAogICAgICAgICAgZW50ZXJhYmxlOiB0cnVlLAogICAgICAgICAgY2xhc3NOYW1lOiAnaWNvbk1hcCcsCiAgICAgICAgICBleHRyYUNzc1RleHQ6ICdib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMCk7JywKICAgICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gZm9ybWF0dGVyKHBhcmFtcykgewogICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhwYXJhbXMpCiAgICAgICAgICAgIGlmIChwYXJhbXMuY29tcG9uZW50U3ViVHlwZSA9PT0gJ3NjYXR0ZXInKSB7CiAgICAgICAgICAgICAgdmFyIGNsYXNzTmFtZSA9ICdpdGVtQ29sb3IxIGl0ZW1Db2xvcic7CiAgICAgICAgICAgICAgdmFyIGh0bWwgPSAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicG9wLXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOmF1dG87aGVpZ2h0OjE4MHB4O2JvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNEQ4REZGLCAjNTdCOUZGLCAjNEQ4REZGKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MTJweDtwb3NpdGlvbjogcmVsYXRpdmU7ZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRvb2x0aXBHQlwiIG9uY2xpY2s9XCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjcG9wLXRvb2x0aXAnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7Y3Vyc29yOiBwb2ludGVyOyB3aWR0aDozMHB4O2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NXB4O3RvcDo1cHg7Zm9udC1zaXplOiAyMHB4O1wiPng8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE4cHg7IGhlaWdodDogMjBweDtsaW5lLWhlaWdodDoyMHB4O1wiPiIuY29uY2F0KHBhcmFtcy5kYXRhLnByb2pOYW1lLCAiPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsVG9vbHRpcFwiIHN0eWxlPVwibWFyZ2luLXRvcDoxMHB4O2ZsZXg6IDE7IG92ZXJmbG93LXk6YXV0bzt3aGl0ZS1zcGFjZTpub3JtYWw7Zm9udC1zaXplOiAxNnB4O2ZvbnQtd2VpZ2h0OiA0MDA7IHBvc2l0aW9uOnJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiA1cHhcIj5cdTYyNDBcdTdFRDFcdTVCOUFcdTYxMUZcdTc3RTVcdThCQkVcdTU5MDciKS5jb25jYXQocGFyYW1zLmRhdGEuZGV2VHlwZU51bSwgIlx1N0M3Qjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiA1cHhcIj5cdTYyNDBcdTdFRDFcdTVCOUFcdTYxMUZcdTc3RTVcdThCQkVcdTU5MDciKS5jb25jYXQocGFyYW1zLmRhdGEuZGV2TnVtLCAiXHU0RTJBPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlx1OEJCRVx1NTkwN1x1OEZEMFx1ODg0Q1x1NkI2M1x1NUUzOCIpLmNvbmNhdChwYXJhbXMuZGF0YS5zdWNjZXNzTnVtLCAiXHU0RTJBLzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjpyZWQ7XCI+XHU4QkJFXHU1OTA3XHU2NTcwXHU2MzZFXHU1RjAyXHU1RTM4IikuY29uY2F0KHBhcmFtcy5kYXRhLmVycm9yTnVtLCAiXHU0RTJBPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Iik7CiAgICAgICAgICAgICAgcmV0dXJuIGh0bWw7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDQsMjQsNTEsMCknLAogICAgICAgICAgYm9yZGVyQ29sb3I6ICdyZ2JhKDk5LCAxNzMsIDIyMiwwKScsCiAgICAgICAgICBib3JkZXJXaWR0aDogMCwKICAgICAgICAgIHBhZGRpbmc6IFswLCAtMTIsIDAsIDBdLAogICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICB0ZXh0U3R5bGU6IHsKICAgICAgICAgICAgY29sb3I6ICcjZmZmJywKICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGRlcicKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHNlcmllczogW3sKICAgICAgICAgIGRhdGE6IHRoaXMucG9pbnRBcmVhLAogICAgICAgICAgdHlwZTogJ3NjYXR0ZXInLAogICAgICAgICAgLy/luKbmnInmtp/mvKrmlYjmnpznmoQKICAgICAgICAgIGNvb3JkaW5hdGVTeXN0ZW06ICdnZW8nLAogICAgICAgICAgLy/kvb/nlKjlnZDmoIfns7sKICAgICAgICAgIHpsZXZlbDogMSwKICAgICAgICAgIHN5bWJvbFNpemU6IFszNiwgNDhdLAogICAgICAgICAgc3ltYm9sOiBmdW5jdGlvbiBzeW1ib2wodmFsdWUsIHBhcmFtcykgewogICAgICAgICAgICBjb25zb2xlLmxvZyhwYXJhbXMuZGF0YSk7CiAgICAgICAgICAgIGlmIChwYXJhbXMuZGF0YS5pc0FjdGl2ZSkgewogICAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvcG9pbnRfb24ucG5nJyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9wb2ludC5wbmcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGxhYmVsOiB7CiAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJywKICAgICAgICAgICAgICBmb250U2l6ZTogMjAsCiAgICAgICAgICAgICAgZm9udEZhbWlseTogJ2N1cnNpdmUnLAogICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkJywKICAgICAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcsCiAgICAgICAgICAgICAgcGFkZGluZzogWzAsIDAsIC0xNSwgMF0sCiAgICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiBmb3JtYXR0ZXIocGFyYW1zKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gcGFyYW1zLmRhdGEubmFtZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfV0KICAgICAgfTsKICAgICAgdGhpcy5tYXBFY2hhcnRzMi5zZXRPcHRpb24oZWNoYXJ0T3B0aW9uMik7CiAgICAgIHRoaXMubWFwRWNoYXJ0czIub24oJ2dlb3JvYW0nLCBmdW5jdGlvbiAocGFyYW1zKSB7CiAgICAgICAgdmFyIG9wdGlvbjIgPSB0aGF0Lm1hcEVjaGFydHMyLmdldE9wdGlvbigpOyAvL+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/orr7nva5vcHRpb24KICAgICAgfSk7CiAgICAgIC8vIGlmIChwYXJhbXMuY29tcG9uZW50U3ViVHlwZSA9PT0gJ3NjYXR0ZXInKSB7CiAgICAgIC8vICAgICBjb25zb2xlLmxvZyhwYXJhbXMpCiAgICAgIC8vICAgICBsZXQgb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzLmdldE9wdGlvbigpIC8v6I635b6Xb3B0aW9u5a+56LGhCiAgICAgIC8vICAgICAvLyDngrnlh7vlj5jpu4QKICAgICAgLy8gICAgIG9wdGlvbi5zZXJpZXNbMF0uZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7CiAgICAgIC8vICAgICAgICAgaWYgKHBhcmFtcy5kYXRhLm5hbWUgIT09IGl0ZW0ubmFtZSkgewogICAgICAvLyAgICAgICAgICAgICBpZiAoaXRlbS5pc0FjdGl2ZSkgewogICAgICAvLyAgICAgICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGZhbHNlCiAgICAgIC8vICAgICAgICAgICAgIH0KICAgICAgLy8gICAgICAgICB9IGVsc2UgewogICAgICAvLyAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gdHJ1ZQogICAgICAvLyAgICAgICAgIH0KICAgICAgLy8gICAgIH0pCiAgICAgIC8vICAgICB0aGF0Lm1hcEVjaGFydHMuc2V0T3B0aW9uKG9wdGlvbikKICAgICAgLy8gICAgIHRoYXQuJGVtaXQoJ2Nsb3NlTWFwJywgeyB2YWx1ZTogcGFyYW1zLmRhdGEgfSkKICAgICAgLy8gfQogICAgICB0aGlzLm1hcEVjaGFydHMyLm9uKCdjbGljaycsIGZ1bmN0aW9uIChwYXJhbXMpIHsKICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudFN1YlR5cGUgPT09ICdzY2F0dGVyJykgewogICAgICAgICAgY29uc29sZS5sb2cocGFyYW1zKTsKICAgICAgICAgIHZhciBvcHRpb24gPSB0aGF0Lm1hcEVjaGFydHMyLmdldE9wdGlvbigpOyAvL+iOt+W+l29wdGlvbuWvueixoQoKICAgICAgICAgIG9wdGlvbi5zZXJpZXNbMF0uZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIGlmIChwYXJhbXMuZGF0YS5hcmVhTmFtZSAhPSBpdGVtLmFyZWFOYW1lKSB7CiAgICAgICAgICAgICAgaWYgKGl0ZW0uaXNBY3RpdmUpIHsKICAgICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgICAgc2V0MihwYXJhbXMpOwogICAgICAgICAgdGhhdC5tYXBFY2hhcnRzMi5zZXRPcHRpb24ob3B0aW9uKTsKICAgICAgICAgIHRoYXQuJGVtaXQoJ2Nsb3NlTWFwJywgewogICAgICAgICAgICB2YWx1ZTogcGFyYW1zLmRhdGEKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIHZhciBzZXQyID0gZnVuY3Rpb24gc2V0MihldmVudCkgewogICAgICAgIF90aGlzNS5wb2ludEFyZWEuZm9yRWFjaChmdW5jdGlvbiAodiwgaSkgewogICAgICAgICAgaWYgKHYuYXJlYU5hbWUgIT0gZXZlbnQuZGF0YS5hcmVhTmFtZSkgewogICAgICAgICAgICBpZiAodi5pc0FjdGl2ZSkgewogICAgICAgICAgICAgIHYuaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdi5pc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH07CiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["echarts","_interopRequireWildcard","require","mapChinaJson","beijingJson","shanghaiJson","tianjinJson","chongqingJson","hebeiJson","shanxi1Json","shanxi2Json","henanJson","jiangxiJson","hubeiJson","hunanJson","fujianJson","guangdongJson","hainanJson","sichuanJson","guizhouJson","yunnanJson","anhuiJson","jiangsuJson","zhejiangJson","shandongJson","liaoningJson","jilinJson","heilongjiangJson","neimengguJson","xinjiangJson","xizangJson","guangxiJson","ningxiaJson","qinghaiJson","gansuJson","taiwanJson","xianggangJson","aomenJson","_default","exports","default","name","props","mapCount","type","Number","sendProjSpin","Array","Object","sendMapColor","String","data","zoom","zoom2","mapEcharts","mapEcharts2","mapJson","pointArea","pointAll","companyList","companyAreaList","isCity","cityCount","gozoom","provinceList","id","json","created","console","log","mounted","getInitData","methods","getEquipmentDisByMapApiPage","getEquipmentDisByMapApi","then","res","getCompanyList","_this","params","provinceId","getCompanyListByProvinceId","success","getCompanyAreaList","_this2","areaId","getCompanyListByAreaId","getCityCount","_this3","setTimeout","init","document","getElementById","forEach","item","registerMap","setMapOption2","setMapOption","_this4","geoCoordMap","mapFeatures","features","v","i","properties","center","mapData","value","a","that","push","itemStyle","areaColor","borderColor","shadowColor","splitList","normal","imgUrl","echartOption","geo","show","map","aspectScale","roam","animationDurationUpdate","layoutSize","layoutCenter","label","opacity","borderWidth","shadowBlur","color","emphasis","fontSize","fontWeight","zlevel","regions","silent","tooltip","trigger","visualMap","top","min","max","seriesIndex","calculable","inRange","alwaysShowContent","showDelay","transitionDuration","enterable","className","extraCssText","formatter","componentSubType","html","concat","projName","province","backgroundColor","padding","position","textStyle","series","coordinateSystem","symbolSize","symbol","scale","symbolKeepAspect","fontFamily","count","setOption","on","option","getOption","undefined","seriesType","areaName","isActive","domtooltipGB","onclick","dom2","getElementsByClassName","style","display","set","event","_this5","echartOption2","devTypeNum","devNum","successNum","errorNum","option2","set2","$emit"],"sources":["src/components/home/provinceMap.vue"],"sourcesContent":["<template>\r\n <div class=\"centerTopPage\">\r\n <div class=\"mapBox\">\r\n <div id=\"mapEcharts\"></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\nimport * as echarts from 'echarts'\r\nlet mapChinaJson = require('@/untils/mapJson/china.json')\r\nlet beijingJson = require('@/untils/mapJson/beijing.json')\r\nlet shanghaiJson = require('@/untils/mapJson/shanghai.json')\r\nlet tianjinJson = require('@/untils/mapJson/tianjin.json')\r\nlet chongqingJson = require('@/untils/mapJson/chongqing.json')\r\nlet hebeiJson = require('@/untils/mapJson/hebei.json')\r\nlet shanxi1Json = require('@/untils/mapJson/shanxi-1.json')\r\nlet shanxi2Json = require('@/untils/mapJson/shanxi-2.json')\r\nlet henanJson = require('@/untils/mapJson/henan.json')\r\nlet jiangxiJson = require('@/untils/mapJson/jiangxi.json')\r\nlet hubeiJson = require('@/untils/mapJson/hubei.json')\r\nlet hunanJson = require('@/untils/mapJson/hunan.json')\r\nlet fujianJson = require('@/untils/mapJson/fujian.json')\r\nlet guangdongJson = require('@/untils/mapJson/guangdong.json')\r\nlet hainanJson = require('@/untils/mapJson/hainan.json')\r\nlet sichuanJson = require('@/untils/mapJson/sichuan.json')\r\nlet guizhouJson = require('@/untils/mapJson/guizhou.json')\r\nlet yunnanJson = require('@/untils/mapJson/yunnan.json')\r\nlet anhuiJson = require('@/untils/mapJson/anhui.json')\r\nlet jiangsuJson = require('@/untils/mapJson/jiangsu.json')\r\nlet zhejiangJson = require('@/untils/mapJson/zhejiang.json')\r\nlet shandongJson = require('@/untils/mapJson/shandong.json')\r\nlet liaoningJson = require('@/untils/mapJson/liaoning.json')\r\nlet jilinJson = require('@/untils/mapJson/jilin.json')\r\nlet heilongjiangJson = require('@/untils/mapJson/heilongjiang.json')\r\nlet neimengguJson = require('@/untils/mapJson/neimenggu.json')\r\nlet xinjiangJson = require('@/untils/mapJson/xinjiang.json')\r\nlet xizangJson = require('@/untils/mapJson/xizang.json')\r\nlet guangxiJson = require('@/untils/mapJson/guangxi.json')\r\nlet ningxiaJson = require('@/untils/mapJson/ningxia.json')\r\nlet qinghaiJson = require('@/untils/mapJson/qinghai.json')\r\nlet gansuJson = require('@/untils/mapJson/gansu.json')\r\nlet taiwanJson = require('@/untils/mapJson/taiwan.json')\r\nlet xianggangJson = require('@/untils/mapJson/xianggang.json')\r\nlet aomenJson = require('@/untils/mapJson/aomen.json')\r\n\r\nexport default {\r\n name: 'centerTopPage',\r\n props: {\r\n mapCount: {\r\n type: Number,\r\n default: null,\r\n },\r\n sendProjSpin: {\r\n type: Array | Object,\r\n },\r\n sendMapColor: {\r\n type: String,\r\n default: '#689AFB',\r\n },\r\n },\r\n data() {\r\n return {\r\n type: this.mapCount,\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 provinceList: [\r\n { id: 1, json: beijingJson },\r\n { id: 2, json: shanghaiJson },\r\n { id: 3, json: tianjinJson },\r\n { id: 4, json: chongqingJson },\r\n { id: 5, json: hebeiJson },\r\n { id: 6, json: shanxi1Json },\r\n { id: 7, json: shanxi2Json },\r\n { id: 8, json: henanJson },\r\n { id: 9, json: jiangxiJson },\r\n { id: 10, json: hubeiJson },\r\n { id: 11, json: hunanJson },\r\n { id: 12, json: fujianJson },\r\n { id: 13, json: guangdongJson },\r\n { id: 14, json: hainanJson },\r\n { id: 15, json: sichuanJson },\r\n { id: 16, json: guizhouJson },\r\n { id: 17, json: yunnanJson },\r\n { id: 18, json: anhuiJson },\r\n { id: 19, json: jiangsuJson },\r\n { id: 20, json: zhejiangJson },\r\n { id: 21, json: shandongJson },\r\n { id: 22, json: liaoningJson },\r\n { id: 23, json: jilinJson },\r\n { id: 24, json: heilongjiangJson },\r\n { id: 25, json: neimengguJson },\r\n { id: 26, json: xinjiangJson },\r\n { id: 27, json: xizangJson },\r\n { id: 28, json: guangxiJson },\r\n { id: 29, json: ningxiaJson },\r\n { id: 30, json: qinghaiJson },\r\n { id: 31, json: gansuJson },\r\n { id: 32, json: taiwanJson },\r\n { id: 33, json: xianggangJson },\r\n { id: 34, json: aomenJson },\r\n ]\r\n }\r\n },\r\n created() {\r\n console.log(this.mapCount)\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 setTimeout(() => {\r\n this.mapEcharts2 = echarts.init(\r\n document.getElementById('mapEcharts'),\r\n )\r\n // let mapJson2 = mapJson('1515507975659761665', '')\r\n let mapJson\r\n /* switch (this.mapCount) {\r\n case 2:\r\n mapJson = ningxiaJson\r\n break\r\n case 3:\r\n mapJson = anhuiJson\r\n break\r\n case 4:\r\n mapJson = neimengguJson\r\n break\r\n case 5:\r\n mapJson = guangdongJson\r\n break\r\n } */\r\n this.provinceList.forEach(item => {\r\n if(item.id === this.mapCount) mapJson = item.json\r\n })\r\n echarts.registerMap('nx', mapJson)\r\n this.setMapOption2()\r\n }, 200)\r\n /*this.mapEcharts = echarts.init(document.getElementById('mapEcharts'))\r\n this.mapJson = mapChinaJson\r\n echarts.registerMap('china', this.mapJson)\r\n this.setMapOption()*/\r\n },\r\n setMapOption() {\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 {\r\n name: '银川市',\r\n value: ['106.22', '38.48'],\r\n a: '100',\r\n },\r\n {\r\n name: '中卫市',\r\n value: ['105.27', '37.10'],\r\n a: '100',\r\n },\r\n {\r\n name: '吴忠市',\r\n value: ['106.22', '37.45'],\r\n 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 {\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 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 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 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 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 name: '广东省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '青海省',\r\n itemStyle: { normal: { areaColor: '#EEF2FF' } },\r\n },\r\n {\r\n name: '西藏自治区',\r\n itemStyle: { normal: { areaColor: '#AAC4F9' } },\r\n },\r\n {\r\n name: '四川省',\r\n itemStyle: { normal: { areaColor: '#699AFC' } },\r\n },\r\n {\r\n name: '宁夏回族自治区',\r\n itemStyle: { normal: { areaColor: '#2187FF' } },\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 echartOption = {\r\n geo: [\r\n {\r\n show: true,\r\n map: 'china', \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: { show: false },\r\n areaColor: '#0A2B7B', //地图颜色\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: splitList,\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 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 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.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: mapData,\r\n roam: false,\r\n coordinateSystem: 'geo', //使用坐标系\r\n zlevel: 1,\r\n symbolSize: [45, 55],\r\n symbol: (value, params) => {\r\n if (params.name == '安徽省') {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/markPoints.png')\r\n )\r\n }\r\n if (params.name == '湖南省') {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/markPoints.png')\r\n )\r\n }\r\n if (params.name == '宁夏回族自治区') {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/markPoints.png')\r\n )\r\n }\r\n if (params.name == '青海省') {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/markPoints.png')\r\n )\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: '#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: mapData || [],\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.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 =\r\n 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 { name: '石嘴山市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\r\n { name: '银川市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\r\n { name: '吴忠市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\r\n { name: '中卫市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\r\n { name: '固原市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\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: 'nx',\r\n type:'map',\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: this.sendMapColor, //地图颜色\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 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 \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 // regions: splitList2\r\n },\r\n {\r\n map: 'nx',\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 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(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 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 data: this.pointArea,\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 console.log(params.data)\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: '#fff',\r\n fontSize: 20,\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.name\r\n },\r\n },\r\n },\r\n itemStyle: {\r\n normal: {\r\n color: '#fff',\r\n },\r\n },\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 // 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 this.mapEcharts2.on('click', function (params) {\r\n if (params.componentSubType === 'scatter') {\r\n console.log(params)\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 that.$emit('closeMap', { value: params.data })\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: 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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;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IAAA,CACA;IACA;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;IACAhB,WAAA,WAAAA,YAAA;MAAA,IAAAiB,MAAA;MACAC,UAAA;QACAD,MAAA,CAAAjC,WAAA,GAAAvD,OAAA,CAAA0F,IAAA,CACAC,QAAA,CAAAC,cAAA,cACA;QACA;QACA,IAAApC,OAAA;QACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;QACAgC,MAAA,CAAAxB,YAAA,CAAA6B,OAAA,WAAAC,IAAA;UACA,IAAAA,IAAA,CAAA7B,EAAA,KAAAuB,MAAA,CAAA7C,QAAA,EAAAa,OAAA,GAAAsC,IAAA,CAAA5B,IAAA;QACA;QACAlE,OAAA,CAAA+F,WAAA,OAAAvC,OAAA;QACAgC,MAAA,CAAAQ,aAAA;MACA;MACA;AACA;AACA;AACA;IACA;IACAC,YAAA,WAAAA,aAAA;MAAA,IAAAC,MAAA;MACA;MACA,IAAAC,WAAA;MACA;MACA,IAAAC,WAAA,QAAA5C,OAAA,CAAA6C,QAAA;MACA;MACAD,WAAA,CAAAP,OAAA,WAAAS,CAAA,EAAAC,CAAA;QACA;QACA,IAAA9D,IAAA,GAAA6D,CAAA,CAAAE,UAAA,CAAA/D,IAAA;QACA,IAAAA,IAAA;UACA;UACA0D,WAAA,CAAA1D,IAAA,IAAA6D,CAAA,CAAAE,UAAA,CAAAC,MAAA;QACA;MACA;MAEA,IAAAC,OAAA,IACA;QACAjE,IAAA;QACAkE,KAAA;QACAC,CAAA;MACA,GACA;QACAnE,IAAA;QACAkE,KAAA;QACAC,CAAA;MACA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","ignoreList":[]}]}