{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Manage\\duty\\CMGTDutyMonitorMap.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Manage\\duty\\CMGTDutyMonitorMap.vue","mtime":1725536854357},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\babel.config.js","mtime":1725536844935},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvYnp6Z2otZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvYnp6Z2otZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZGVmaW5lUHJvcGVydHkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5udW1iZXIuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgQ29tbW9uQXBpIGZyb20gJ0Avdmlld3MvTWFuYWdlL0NvbW1vbkFwaS5qcyc7CmltcG9ydCBDbWd0RHV0eVdvcmthcnJhbmdlQXBpIGZyb20gJ0Avdmlld3MvTWFuYWdlL2R1dHkvYXBpL0NtZ3REdXR5V29ya2FycmFuZ2VBcGknOwppbXBvcnQgQ21ndER1dHlKb2JBcGkgZnJvbSAnQC92aWV3cy9NYW5hZ2UvZHV0eS9hcGkvQ21ndER1dHlKb2JBcGknOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ0NNR1REdXR5TW9uaXRvck1hcCcsCiAgY29tcG9uZW50czoge30sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiBfZGVmaW5lUHJvcGVydHkoX2RlZmluZVByb3BlcnR5KF9kZWZpbmVQcm9wZXJ0eShfZGVmaW5lUHJvcGVydHkoX2RlZmluZVByb3BlcnR5KF9kZWZpbmVQcm9wZXJ0eShfZGVmaW5lUHJvcGVydHkoX2RlZmluZVByb3BlcnR5KHsKICAgICAgLy8gc3JjOiAnL2dpc2FwaS9zdGF0aW9uLW4tbWFwLyMvRGV2aWNlTWFuYWdlckdpc1ZpZXc/bWFwTW9kZT0yRCcsCiAgICAgIHNyYzogd2luZG93LmNvbnRleHQubWFwICsgJy9zdGF0aW9uLW4tbWFwLyMvRGV2aWNlTWFuYWdlckdpc1ZpZXc/bWFwTW9kZT0yRCcsCiAgICAgIGpvYk9wdGlvbnM6IFtdLAogICAgICAvLyDlspfkvY3liJfooagKICAgICAgam9iU2VsZWN0OiAnJywKICAgICAgLy8g5bKX5L2N6YCJ5oupCiAgICAgIGRldmljZU9wdGlvbnM6IFtdLAogICAgICAvLyDljLrln5/liJfooagKICAgICAgZGV2aWNlU2VsZWN0OiAnJywKICAgICAgLy8g5Yy65Z+f6YCJ5oupCiAgICAgIHNob3dQZXJzb25EaWFsb2c6IGZhbHNlLAogICAgICAvL+S6uuWRmOS/oeaBr+W8ueWxggogICAgICBwZXJzb25EaWFsb2dJbmZvOiB7fSwKICAgICAgLy8g5Lq65ZGY5by55bGC5pWw5o2uCiAgICAgIHNob3dMZWZ0QXJyb3c6IHRydWUsCiAgICAgIHNob3dSaWdodEFycm93OiBmYWxzZSwKICAgICAgam9iVmFsdWU6IFtdLAogICAgICB0aW1lcjogbnVsbCwKICAgICAgcG9pbnQ6IHt9LAogICAgICBzaG93RGlhbG9nOiBmYWxzZSwKICAgICAgdG9wOiAwLAogICAgICBsZWZ0OiAwLAogICAgICBidG5Cb29sZW46IHRydWUsCiAgICAgIC8v5o6n5Yi2562b6YCJ5by55bGC55qE5pi+56S65LiO6ZqQ6JePCiAgICAgIHNlYXJjaEZvcm06IHsKICAgICAgICBqb2JJZDogJycKICAgICAgfSwKICAgICAgcnVsZXM6IHsKICAgICAgICBqb2JJZDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeWyl+S9jScsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XQogICAgICB9CiAgICB9LCAidGltZXIiLCBudWxsKSwgInBlcnNvblRpbWVyIiwgbnVsbCksICJ0YWJsZURhdGEiLCBbXSksICJzcGFuQXJyIiwgW10pLCAibXVsdGlwbGVTZWxlY3Rpb24iLCBbXSksICJzdGF0aXN0aWNzSW5mbyIsIHt9KSwgImlzQmlnIiwgZmFsc2UpLCAibG9hZGluZyIsIGZhbHNlKTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmluaXREYXRhKCk7CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdmFyIHdpZHRoTnVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoOwogICAgaWYgKHdpZHRoTnVtID4gMjUwMCkgewogICAgICB0aGlzLmlzQmlnID0gdHJ1ZTsKICAgIH0KICAgIHZhciB0ID0gdGhpczsKICAgIHRoaXMudGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7CiAgICAgIGlmICh0LiRyZWZzLndpbmRvd2lmcmFtZS5jb250ZW50V2luZG93LmRldmljZUdpc0Z1bmN0aW9uKSB7CiAgICAgICAgdC4kcmVmcy53aW5kb3dpZnJhbWUuY29udGVudFdpbmRvdy5kZXZpY2VHaXNGdW5jdGlvbi5sYXllclZpc2libGUoW10pOwogICAgICAgIHQuJHJlZnMud2luZG93aWZyYW1lLmNvbnRlbnRXaW5kb3cuZGV2aWNlR2lzRnVuY3Rpb24uYWRkUGlja0xpc3RlbmVyKGZ1bmN0aW9uIChwKSB7CiAgICAgICAgICAvLyB0LiRyZWZzLndpbmRvd2lmcmFtZS5jb250ZW50V2luZG93LmRldmljZUdpc0Z1bmN0aW9uLnJlbW92ZVBvcHVwTG9jYXRvcigpCiAgICAgICAgICBjb25zb2xlLmxvZyhwKTsKICAgICAgICAgIGlmIChwLmRhdGEucG9pbnRUeXBlID09PSAn5Yuk5Yqh5a6e5pe255uR5o6nJykgewogICAgICAgICAgICB0LnNob3dEaWFsb2dEYXRhKHApOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIGNsZWFySW50ZXJ2YWwodC50aW1lcik7CiAgICAgIH0KICAgIH0sIDEwMDApOwogIH0sCiAgbWV0aG9kczogewogICAgaW5pdERhdGE6IGZ1bmN0aW9uIGluaXREYXRhKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICBDbWd0RHV0eUpvYkFwaS5sb2FkQ21ndER1dHlKb2IoewogICAgICAgIHBhZ2VCZWFuOiB7CiAgICAgICAgICBwYWdlU2l6ZTogMTAwLAogICAgICAgICAgcGFnZTogMQogICAgICAgIH0sCiAgICAgICAgcGFyYW1zOiB7fSwKICAgICAgICBxdWVyeXM6IFtdCiAgICAgIH0sIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpcy5qb2JPcHRpb25zID0gcmVzLnJvd3M7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOeCueWHu+Wyl+S9jQogICAgY2xpY2tKb2JSb3c6IGZ1bmN0aW9uIGNsaWNrSm9iUm93KGl0ZW0pIHsKICAgICAgdGhpcy5qb2JTZWxlY3QgPSBpdGVtLmlkOwogICAgICB0aGlzLnNlYXJjaEZvcm0uam9iSWQgPSBpdGVtLmlkOwogICAgICB0aGlzLnNob3dSaWdodEFycm93ID0gdHJ1ZTsKICAgICAgdGhpcy5zZWFyY2hVc2VyTGF0KCk7CiAgICAgIHRoaXMuZGV2aWNlT3B0aW9ucyA9IGl0ZW0uZGV2aWNlQmFzZUFyZWFzOwogICAgfSwKICAgIC8vIOeCueWHu+WMuuWfnwogICAgY2xpY2tEZXZpY2VSb3c6IGZ1bmN0aW9uIGNsaWNrRGV2aWNlUm93KGl0ZW0pIHsKICAgICAgdGhpcy5kZXZpY2VTZWxlY3QgPSBpdGVtLmlkOwogICAgfSwKICAgIC8vIOWIh+aNouWMuuWfnwogICAgY2hhbmdlQ2hlY2s6IGZ1bmN0aW9uIGNoYW5nZUNoZWNrKGl0KSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICBjb25zb2xlLmxvZyhpdCk7CiAgICAgIHRoaXMuJHJlZnMud2luZG93aWZyYW1lLmNvbnRlbnRXaW5kb3cuZGV2aWNlR2lzRnVuY3Rpb24uaGlkZGVuUmVnaW9uKCk7CiAgICAgIHRoaXMuZGV2aWNlT3B0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgaWYgKGl0LmlkICE9PSBpdGVtLmlkKSB7CiAgICAgICAgICBpdGVtLmlzQ2hlY2sgPSBmYWxzZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMyLmRldmljZVNlbGVjdCA9IGl0LmlkOwogICAgICAgICAgaWYgKGl0LmlzQ2hlY2spIHsKICAgICAgICAgICAgX3RoaXMyLiRyZWZzLndpbmRvd2lmcmFtZS5jb250ZW50V2luZG93LmRldmljZUdpc0Z1bmN0aW9uLmZseVRvUmVnaW9uKGl0LmNvZGUpOwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICBfdGhpczIuJHJlZnMud2luZG93aWZyYW1lLmNvbnRlbnRXaW5kb3cuZGV2aWNlR2lzRnVuY3Rpb24uc2hvd1JlZ2lvbnMoW2l0LmNvZGVdLCAnIzBhMCcpOwogICAgICAgICAgICB9LCA1MDApOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICAgIHRoaXMuJGZvcmNlVXBkYXRlKCk7CiAgICB9LAogICAgLy8g54K55Ye75Lq65ZGY5aeT5ZCN5by55bGCCiAgICBvcGVuUGVyc29uRGlhbG9nOiBmdW5jdGlvbiBvcGVuUGVyc29uRGlhbG9nKHJvdykgewogICAgICB0aGlzLnNob3dQZXJzb25EaWFsb2cgPSB0cnVlOwogICAgICB0aGlzLnBlcnNvbkRpYWxvZ0luZm8gPSByb3c7CiAgICB9LAogICAgLy8g5YWz6Zet5Lq65ZGY5by55bGCCiAgICBoYW5kbGVDbG9zZTogZnVuY3Rpb24gaGFuZGxlQ2xvc2UoKSB7CiAgICAgIHRoaXMuc2hvd1BlcnNvbkRpYWxvZyA9IGZhbHNlOwogICAgfSwKICAgIGhhbmRlbEJ5VHlwZTogZnVuY3Rpb24gaGFuZGVsQnlUeXBlKGxhYmVsLCB2YWx1ZSkgewogICAgICBpZiAobGFiZWwgPT09ICdvbkR1dHlTaXR1YXRpb24nKSB7CiAgICAgICAgaWYgKHRoaXMuc2VhcmNoRm9ybS5vbkR1dHlTaXR1YXRpb24gPT09IHZhbHVlKSB7CiAgICAgICAgICB0aGlzLnNlYXJjaEZvcm0ub25EdXR5U2l0dWF0aW9uID0gbnVsbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy5zZWFyY2hGb3JtLm9uRHV0eVNpdHVhdGlvbiA9IHZhbHVlOwogICAgICAgICAgdGhpcy5zZWFyY2hGb3JtLm9uQ2xhc3NQb3N0ID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0KICAgICAgaWYgKGxhYmVsID09PSAnb25DbGFzc1Bvc3QnKSB7CiAgICAgICAgaWYgKHRoaXMuc2VhcmNoRm9ybS5vbkNsYXNzUG9zdCA9PT0gdmFsdWUpIHsKICAgICAgICAgIHRoaXMuc2VhcmNoRm9ybS5vbkNsYXNzUG9zdCA9IG51bGw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuc2VhcmNoRm9ybS5vbkNsYXNzUG9zdCA9IHZhbHVlOwogICAgICAgICAgdGhpcy5zZWFyY2hGb3JtLm9uRHV0eVNpdHVhdGlvbiA9IG51bGw7CiAgICAgICAgfQogICAgICB9CiAgICAgIHRoaXMuc2VhcmNoVXNlckxhdCgpOwogICAgfSwKICAgIC8vIGxvYWRTdGFmZigpIHsKICAgIC8vICAgY29uc3QgcXVlcnkgPSB7fQogICAgLy8gICBpZiAodGhpcy5qb2JWYWx1ZSAmJiB0aGlzLmpvYlZhbHVlLmxlbmd0aCA+IDApIHsKICAgIC8vICAgICBxdWVyeS5qb2JJZHMgPSB0aGlzLmpvYlZhbHVlCiAgICAvLyAgIH0KICAgIC8vICAgaWYgKHRoaXMuJHJlZnMud2luZG93aWZyYW1lKSB7CiAgICAvLyAgICAgdGhpcy4kcmVmcy53aW5kb3dpZnJhbWUuY29udGVudFdpbmRvdy5kZXZpY2VHaXNGdW5jdGlvbi5jbGVhckVsZWN0cm9uaWNGZW5jZSgpCiAgICAvLyAgICAgdGhpcy4kcmVmcy53aW5kb3dpZnJhbWUuY29udGVudFdpbmRvdy5kZXZpY2VHaXNGdW5jdGlvbi5yZW1vdmVBbGxQZW9wbGUoKQogICAgLy8gICB9CiAgICAvLyAgIENtZ3REdXR5V29ya2FycmFuZ2VBcGkuZmluZEN1cnJlbnRTdGFmZk9uRHV0eShxdWVyeSwgcmVzID0+IHsKICAgIC8vICAgICBjb25zdCB2cyA9IHJlcy52YWx1ZQogICAgLy8gICAgICAgLm1hcChtID0+IHsKICAgIC8vICAgICAgICAgcmV0dXJuIHsKICAgIC8vICAgICAgICAgICAuLi5tLAogICAgLy8gICAgICAgICAgIGlkOiBtLmlkLAogICAgLy8gICAgICAgICAgIGpvYjogbS5qb2IsCiAgICAvLyAgICAgICAgICAgbmFtZTogbS5uYW1lLAogICAgLy8gICAgICAgICAgIGljb246CiAgICAvLyAgICAgICAgICAgICBtLnN0YXR1cyA9PT0gJ09OTElORScKICAgIC8vICAgICAgICAgICAgICAgPyAnRFVUWV9QM19PTkxJTkUucG5nJwogICAgLy8gICAgICAgICAgICAgICA6IG0uc3RhdHVzID09PSAnQ1JPU1NJTkcnCiAgICAvLyAgICAgICAgICAgICAgICAgPyAnRFVUWV9QM19FUlJPUi5wbmcnCiAgICAvLyAgICAgICAgICAgICAgICAgOiAnRFVUWV9QM19PRkZMSU5FLnBuZycsCiAgICAvLyAgICAgICAgICAgcG9pbnQ6IG0ubG9jYXRpb24gPyBtLmxvY2F0aW9uLnNwbGl0KCcsJywgMikubWFwKE51bWJlcikgOiBbXSwKICAgIC8vICAgICAgICAgICBhcmVhQ29kZTogJ0NRQlpfQkdDX0YxJwogICAgLy8gICAgICAgICB9CiAgICAvLyAgICAgICB9KQogICAgLy8gICAgICAgLmZpbHRlcihpdGVtID0+IHsKICAgIC8vICAgICAgICAgcmV0dXJuIGl0ZW0ucG9pbnQubGVuZ3RoID4gMAogICAgLy8gICAgICAgfSkKICAgIC8vICAgICAvLyDliqDljLrln58KICAgIC8vICAgICBpZiAocXVlcnkuam9iSWRzKSB7CiAgICAvLyAgICAgICBxdWVyeS5qb2JJZHMuZm9yRWFjaChqID0+IHsKICAgIC8vICAgICAgICAgY29uc3Qgam9iT3B0ID0gdGhpcy5qb2JPcHRpb25zLmZpbmQobyA9PiB7CiAgICAvLyAgICAgICAgICAgaWYgKG8uaWQgPT09IGopIHsKICAgIC8vICAgICAgICAgICAgIHJldHVybiB0cnVlCiAgICAvLyAgICAgICAgICAgfQogICAgLy8gICAgICAgICAgIHJldHVybiBmYWxzZQogICAgLy8gICAgICAgICB9KQogICAgLy8gICAgICAgICBpZiAoam9iT3B0LmFyZWEpIHsKICAgIC8vICAgICAgICAgICBjb25zdCBwZW9wcyA9IHZzLmZpbHRlcih2ID0+IHsKICAgIC8vICAgICAgICAgICAgIHJldHVybiB2LmpvYiA9PT0gagogICAgLy8gICAgICAgICAgIH0pCiAgICAvLyAgICAgICAgICAgdGhpcy4kcmVmcy53aW5kb3dpZnJhbWUuY29udGVudFdpbmRvdy5kZXZpY2VHaXNGdW5jdGlvbi5hZGRFbGVjdHJvbmljRmVuY2UoCiAgICAvLyAgICAgICAgICAgICB7aWQ6IGosIHBvaW50czogSlNPTi5wYXJzZShqb2JPcHQuYXJlYSl9LAogICAgLy8gICAgICAgICAgICAgcGVvcHMKICAgIC8vICAgICAgICAgICApCiAgICAvLyAgICAgICAgIH0KICAgIC8vICAgICAgIH0pCiAgICAvLyAgICAgfSBlbHNlIHsKICAgIC8vICAgICAgIHRoaXMuJHJlZnMud2luZG93aWZyYW1lLmNvbnRlbnRXaW5kb3cuZGV2aWNlR2lzRnVuY3Rpb24uYWRkUGVvcGxlRGF0YSgKICAgIC8vICAgICAgICAgdnMKICAgIC8vICAgICAgICkKICAgIC8vICAgICB9CiAgICAvLyAgICAgY29uc29sZS5sb2coJy0tLS0tLS0tLS0tLS1yZXMtLS0tLS0tLS0tLS0tJywgdnMpCiAgICAvLyAgIH0pCiAgICAvLyB9LAogICAgc2hvd0RpYWxvZ0RhdGE6IGZ1bmN0aW9uIHNob3dEaWFsb2dEYXRhKHBvaW50KSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICBjb25zb2xlLmxvZygnPT09PT09PT09PT09JywgcG9pbnQpOwogICAgICBpZiAocG9pbnQuZGF0YSkgewogICAgICAgIHRoaXMucG9pbnQgPSBwb2ludDsKICAgICAgICAvLyB0aGlzLmxlZnQgPSB0aGlzLnBvaW50LnBvc2l0aW9uLngKICAgICAgICAvLyB0aGlzLnRvcCA9IHRoaXMucG9pbnQucG9zaXRpb24ueSArIDI1CiAgICAgICAgdGhpcy5zaG93RGlhbG9nID0gdHJ1ZTsKICAgICAgICB0aGlzLiRyZWZzLndpbmRvd2lmcmFtZS5jb250ZW50V2luZG93LmRldmljZUdpc0Z1bmN0aW9uLmFkZFBvcHVwTG9jYXRvcih7CiAgICAgICAgICBwb3NpdGlvbjogcG9pbnQuZ2lzUG9zaXRpb24sCiAgICAgICAgICBsb2NhdG9yOiBmdW5jdGlvbiBsb2NhdG9yKHdpbmRvd1Bvc2l0aW9uKSB7CiAgICAgICAgICAgIF90aGlzMy5sZWZ0ID0gcGFyc2VJbnQod2luZG93UG9zaXRpb24ueCkgLSA1OwogICAgICAgICAgICBfdGhpczMudG9wID0gcGFyc2VJbnQod2luZG93UG9zaXRpb24ueSkgKyAxMjsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgfSwKICAgIGNsb3NlRGlhbG9nOiBmdW5jdGlvbiBjbG9zZURpYWxvZygpIHsKICAgICAgdGhpcy4kcmVmcy53aW5kb3dpZnJhbWUuY29udGVudFdpbmRvdy5kZXZpY2VHaXNGdW5jdGlvbi5yZW1vdmVQb3B1cExvY2F0b3IoKTsKICAgICAgdGhpcy5wb2ludCA9IHsKICAgICAgICBkYXRhOiBudWxsCiAgICAgIH07CiAgICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlOwogICAgfSwKICAgIHNlYXJjaFVzZXJMYXQ6IGZ1bmN0aW9uIHNlYXJjaFVzZXJMYXQoKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOwogICAgICBjbGVhckludGVydmFsKHRoaXMucGVyc29uVGltZXIpOwogICAgICB0aGlzLmdldFVzZXJMYXQoKTsKICAgICAgdGhpcy5wZXJzb25UaW1lciA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczQuZ2V0VXNlckxhdCgpOwogICAgICB9LCAxNTAwMCk7CiAgICB9LAogICAgLy8g6I635Y+W5Zu+5bGC5pWw5o2uCiAgICBnZXRVc2VyTGF0OiBmdW5jdGlvbiBnZXRVc2VyTGF0KCkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgLy8gdGhpcy4kcmVmcy5mb3JtLnZhbGlkYXRlKHZhbGlkID0+IHsKICAgICAgLy8gaWYgKHZhbGlkKSB7CiAgICAgIHZhciBzZWxlY3RMaXN0ID0gdGhpcy5tdWx0aXBsZVNlbGVjdGlvbjsKICAgICAgQ21ndER1dHlKb2JBcGkuZ2V0U3RhdGlzdGljc1RlYW1NZW1iZXJUcmFjayh0aGlzLnNlYXJjaEZvcm0uam9iSWQsIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBjb25zb2xlLmxvZyhyZXMpOwogICAgICAgIF90aGlzNS5zdGF0aXN0aWNzSW5mbyA9IHJlcy52YWx1ZVswXSB8fCB7fTsKICAgICAgfSk7CiAgICAgIENtZ3REdXR5Sm9iQXBpLmdldENtZ3REdXR5VXNlckxhdEJ5SUQodGhpcy5xcy5zdHJpbmdpZnkodGhpcy5zZWFyY2hGb3JtLCB7CiAgICAgICAgc2tpcE51bGxzOiB0cnVlCiAgICAgIH0pLCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM1LnRhYmxlRGF0YSA9IHJlcy52YWx1ZTsKICAgICAgICBfdGhpczUuc3BhbkFyciA9IFtdOwogICAgICAgIC8vIHRoaXMudGFibGVEYXRhLmZvckVhY2goaXQgPT4gewogICAgICAgIC8vICAgICBpZiAoIWl0LmRldmljZUNvZGUpIHsKICAgICAgICAvLyAgICAgICAgIGl0LmRldmljZUNvZGUgPSAnJwogICAgICAgIC8vICAgICB9CiAgICAgICAgLy8gfSkKICAgICAgICBfdGhpczUuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIGlmIChzZWxlY3RMaXN0Lmxlbmd0aCkgewogICAgICAgICAgICBzZWxlY3RMaXN0LmZvckVhY2goZnVuY3Rpb24gKHJlKSB7CiAgICAgICAgICAgICAgX3RoaXM1LnRhYmxlRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGUpIHsKICAgICAgICAgICAgICAgIGlmIChpdGUuaWQgPT09IHJlLmlkKSB7CiAgICAgICAgICAgICAgICAgIF90aGlzNS4kcmVmcy5tdWx0aXBsZS50b2dnbGVSb3dTZWxlY3Rpb24oaXRlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgLy8gdGhpcy5nZXRTcGFuQXJyKCkKICAgICAgICBfdGhpczUubG9hZGluZyA9IGZhbHNlOwogICAgICAgIF90aGlzNS5tYWtlUG9pbnQoKTsKICAgICAgfSk7CiAgICAgIC8vIH0KICAgICAgLy8gfSkKICAgIH0sCiAgICBtYWtlUG9pbnQ6IGZ1bmN0aW9uIG1ha2VQb2ludCgpIHsKICAgICAgdGhpcy4kcmVmcy53aW5kb3dpZnJhbWUuY29udGVudFdpbmRvdy5kZXZpY2VHaXNGdW5jdGlvbi5yZW1vdmVBbGxQZW9wbGUoKTsKICAgICAgdmFyIGFyciA9IHRoaXMubXVsdGlwbGVTZWxlY3Rpb24ubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgaXRlbSksIHt9LCB7CiAgICAgICAgICBpZDogaXRlbS5pZCwKICAgICAgICAgIHBvaW50OiBbTnVtYmVyKDEwNi41NDcxNTMpLCBOdW1iZXIoMjkuNjE0MzQ5KV0sCiAgICAgICAgICBhcmVhQ29kZTogaXRlbS51c2VyQXJlYUNvZGUsCiAgICAgICAgICBpY29uOiAnRFVUWV9QMl9PTkxJTkUucG5nJywKICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSwKICAgICAgICAgIHBvaW50VHlwZTogJ+WLpOWKoeWunuaXtuebkeaOpycKICAgICAgICB9KTsKICAgICAgfSk7CiAgICAgIGNvbnNvbGUubG9nKGFycik7CiAgICAgIHRoaXMuJHJlZnMud2luZG93aWZyYW1lLmNvbnRlbnRXaW5kb3cuZGV2aWNlR2lzRnVuY3Rpb24uYWRkUGVvcGxlRGF0YShhcnIpOwogICAgfSwKICAgIC8vIOWIh+aNouWxleW8gOmakOiXjwogICAgY2hhbmdlQnRuOiBmdW5jdGlvbiBjaGFuZ2VCdG4oKSB7CiAgICAgIHRoaXMuYnRuQm9vbGVuID0gIXRoaXMuYnRuQm9vbGVuOwogICAgfSwKICAgIC8vIOa4heepuuWbvuWxguWPiuaQnOe0ogogICAgY2xlYXJVc2VyTGF0OiBmdW5jdGlvbiBjbGVhclVzZXJMYXQoKSB7CiAgICAgIHRoaXMuc2VhcmNoRm9ybS5qb2JJZCA9ICcnOwogICAgICB0aGlzLnRhYmxlRGF0YSA9IFtdOwogICAgICB0aGlzLiRyZWZzLndpbmRvd2lmcmFtZS5jb250ZW50V2luZG93LmRldmljZUdpc0Z1bmN0aW9uLnJlbW92ZUFsbFBlb3BsZSgpOwogICAgICBjbGVhckludGVydmFsKHRoaXMucGVyc29uVGltZXIpOwogICAgfSwKICAgIGdldFNwYW5BcnI6IGZ1bmN0aW9uIGdldFNwYW5BcnIoKSB7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy50YWJsZURhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgICBpZiAoaSA9PT0gMCkgewogICAgICAgICAgdGhpcy5zcGFuQXJyLnB1c2goMSk7CiAgICAgICAgICB0aGlzLnBvcyA9IDA7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIOWIpOaWreW9k+WJjeWFg+e0oOS4juS4iuS4gOS4quWFg+e0oOaYr+WQpuebuOWQjCAgZGV2aWNlQ29kZQogICAgICAgICAgaWYgKHRoaXMudGFibGVEYXRhW2ldLmRldmljZUNvZGUgPT09IHRoaXMudGFibGVEYXRhW2kgLSAxXS5kZXZpY2VDb2RlKSB7CiAgICAgICAgICAgIHRoaXMuc3BhbkFyclt0aGlzLnBvc10gKz0gMTsKICAgICAgICAgICAgdGhpcy5zcGFuQXJyLnB1c2goMCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLnNwYW5BcnIucHVzaCgxKTsKICAgICAgICAgICAgdGhpcy5wb3MgPSBpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIC8v6L+b6KGM6KGo5qC85ZCI5bm2CiAgICBvYmplY3RTcGFuTWV0aG9kOiBmdW5jdGlvbiBvYmplY3RTcGFuTWV0aG9kKF9yZWYyKSB7CiAgICAgIHZhciByb3cgPSBfcmVmMi5yb3csCiAgICAgICAgY29sdW1uID0gX3JlZjIuY29sdW1uLAogICAgICAgIHJvd0luZGV4ID0gX3JlZjIucm93SW5kZXgsCiAgICAgICAgY29sdW1uSW5kZXggPSBfcmVmMi5jb2x1bW5JbmRleDsKICAgICAgaWYgKGNvbHVtbkluZGV4ID09PSAwKSB7CiAgICAgICAgdmFyIF9yb3cgPSB0aGlzLnNwYW5BcnJbcm93SW5kZXhdOwogICAgICAgIHZhciBfY29sID0gX3JvdyA+IDAgPyAxIDogMDsKICAgICAgICByZXR1cm4gewogICAgICAgICAgcm93c3BhbjogX3JvdywKICAgICAgICAgIGNvbHNwYW46IF9jb2wKICAgICAgICB9OwogICAgICB9CiAgICB9LAogICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVTZWxlY3Rpb25DaGFuZ2UodmFsKSB7CiAgICAgIGNvbnNvbGUubG9nKCcxMTExMTExMTExMTExMTExMTEnKTsKICAgICAgdGhpcy5tdWx0aXBsZVNlbGVjdGlvbiA9IHZhbDsKICAgICAgdGhpcy5tYWtlUG9pbnQoKTsKICAgIH0sCiAgICBnZXRSb3dLZXk6IGZ1bmN0aW9uIGdldFJvd0tleShyb3cpIHsKICAgICAgcmV0dXJuIHJvdy5pZDsKICAgIH0KICB9LAogIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7CiAgICBjbGVhckludGVydmFsKHRoaXMudGltZXIpOwogICAgY2xlYXJJbnRlcnZhbCh0aGlzLnBlcnNvblRpbWVyKTsKICB9Cn07"},null]}