{"remainingRequest":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\EventRegistration\\components\\BasicsInfo\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\EventRegistration\\components\\BasicsInfo\\index.vue","mtime":1755634102004},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\babel.config.js","mtime":1741314102158},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNsaWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZmluZC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JzsKaW1wb3J0IHsgdGFibGVEZXRhaWwgfSBmcm9tICdAL2FwaS9wYXRyb2xBbmRSZXNjdWUvY29tbWFuZERpc3BhdGNoL2V2ZW50UmVnaXN0cmF0aW9uJzsKaW1wb3J0IHsgZGljdGlvbmFyeUVzY2FwZSwgZ2V0RGljdGlvbmFyeUJ5Q29kZSB9IGZyb20gJ0AvdXRpbHMvZGljdGlvbmFyeSc7CmltcG9ydCBTY29wZUNsYXNzaWZ5IGZyb20gJy4uL1Njb3BlQ2xhc3NpZnknOwppbXBvcnQgUmVzY3VlU3luY2hyb25pemFEaWFsb2cgZnJvbSAnLi4vUmVzY3VlU3luY2hyb25pemFEaWFsb2cvaW5kZXgudnVlJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdCYXNpY3NJbmZvJywKICBjb21wb25lbnRzOiB7CiAgICBSZXNjdWVTeW5jaHJvbml6YURpYWxvZzogUmVzY3VlU3luY2hyb25pemFEaWFsb2csCiAgICBTY29wZUNsYXNzaWZ5OiBTY29wZUNsYXNzaWZ5CiAgfSwKICBwcm9wczogewogICAgcm9hZE9wdGlvbnM6IHsKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9LAogICAgICB0eXBlOiBBcnJheQogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGlzU2hvd1BvcG92ZXI6IGZhbHNlLAogICAgICByZXNjdWVTeW5jaHJvbml6YURpYWxvZzogZmFsc2UsCiAgICAgIHdoZXJlVGhlUm9hZEdvZXM6IFtdLAogICAgICBhZGRFZGl0Rm9ybTogewogICAgICAgIGV2ZW50VHlwZTogWycyJywgJzcnXSwKICAgICAgICByb2FkSWQ6ICcnLAogICAgICAgIGV2ZW50UGxhY2U6ICcxJywKICAgICAgICBldmVudFRpbWU6IG5ldyBEYXRlKCksCiAgICAgICAgZXZlbnRMZXZlbDogJzAnCiAgICAgIH0sCiAgICAgIGFkZEVkaXRSdWxlczogewogICAgICAgIGV2ZW50TmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+S6i+S7tuagh+mimOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICBldmVudFNpdHVhdGlvbjogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ehruiupOaDheWGteS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZSddCiAgICAgICAgfV0sCiAgICAgICAgbHdFdmVudFR5cGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfkuovku7bnsbvlnovkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnXQogICAgICAgIH1dLAogICAgICAgIGV2ZW50VGltZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+S6i+S7tuWPkeeUn+aXtumXtOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZSddCiAgICAgICAgfV0sCiAgICAgICAgcmVjZWl2ZVRpbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfmjqXorabml7bpl7TkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnXQogICAgICAgIH1dLAogICAgICAgIGNvbmZpcm1UaW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn56Gu6K6k5pe26Ze05LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJ10KICAgICAgICB9XSwKICAgICAgICAvLyBldmVudFRlbDogWwogICAgICAgIC8vICAgewogICAgICAgIC8vICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAvLyAgICAgbWVzc2FnZTogJ+aKpeahiOeUteivneS4jeiDveS4uuepuicsCiAgICAgICAgLy8gICAgIHRyaWdnZXI6IFsnY2hhbmdlJ10KICAgICAgICAvLyAgIH0KICAgICAgICAvLyBdLAogICAgICAgIHJvYWRJZDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+aKpeahiOeUteivneS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZSddCiAgICAgICAgfV0sCiAgICAgICAgZGlyZWN0aW9uOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6YGT6Lev5pa55ZCR5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJ10KICAgICAgICB9XSwKICAgICAgICBwbGFjZVJlbWFya3M6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICflpIfms6jkv6Hmga/kuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnXQogICAgICAgIH1dLAogICAgICAgIGV2ZW50TGV2ZWw6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfkuovku7bnrYnnuqfkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnXQogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIGlkOiAnJywKICAgICAgLy8g5qGp5Y+36IyD5Zu0CiAgICAgIHBpbGVOdW1iZXJSYW5nZTogJycsCiAgICAgIC8vIOS6i+S7tuexu+WeiwogICAgICBzamx4T3B0aW9uczogW10sCiAgICAgIGV2ZW50VHlwZVZhbHVlOiBbXSwKICAgICAgYmFzaWNJbmZvOiB7CiAgICAgICAgZXZlbnRUaW1lOiBuZXcgRGF0ZSgpCiAgICAgIH0sCiAgICAgIGNhc3VhbHRpZXM6IHt9CiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgIHJvYWRPcHRpb25zOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIobmV3VmFsLCBvbGRWYWwpIHsKICAgICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICAgIGlmIChuZXdWYWwubGVuZ3RoKSB7CiAgICAgICAgICB0aGlzLiRzZXQodGhpcy5hZGRFZGl0Rm9ybSwgJ3JvYWRJZCcsIHRoaXMucm9hZE9wdGlvbnNbMF0uaWQpOwogICAgICAgICAgdmFyIHJvYWRJbmZvID0gdGhpcy5yb2FkT3B0aW9ucy5maW5kKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIHJldHVybiBpdGVtLmlkID09PSBfdGhpcy5yb2FkT3B0aW9uc1swXS5pZDsKICAgICAgICAgIH0pOwogICAgICAgICAgdGhpcy5iYXNpY0luZm8ucm9hZE5hbWUgPSByb2FkSW5mby5jb2RlICsgcm9hZEluZm8ubmFtZTsKICAgICAgICAgIHZhciBiYXNpYyA9IHRoaXMuZm9ybWF0QmFzaWNJbmZvKCk7CiAgICAgICAgICB0aGlzLiRlbWl0KCdiYXNpY0luZm9DaGFuZ2UnLCB7CiAgICAgICAgICAgIGJhc2ljOiBiYXNpYwogICAgICAgICAgfSk7CiAgICAgICAgICB0aGlzLmZvcm1hdEJhc2ljVGl0bGUoKTsKICAgICAgICAgIGlmIChyb2FkSW5mby5zdGFydFBlZ0sgJiYgcm9hZEluZm8uZW5kUGVnSykgewogICAgICAgICAgICB0aGlzLnBpbGVOdW1iZXJSYW5nZSA9IHJvYWRJbmZvLnN0YXJ0UGVnSyArICd+JyArIHJvYWRJbmZvLmVuZFBlZ0s7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLnBpbGVOdW1iZXJSYW5nZSA9ICcnOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwKICAgICAgZGVlcDogdHJ1ZQogICAgfQogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZXZlbnRQbGFjZUNoYW5nZSgnMScpOwogICAgdGhpcy5zamx4T3B0aW9ucyA9IHRoaXMuZ2V0RGljdGlvbmFyeUJ5Q29kZSgnbHhfc2pseCcpOwogICAgdGhpcy5zamx4T3B0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgIGlmIChpdGVtLmxvd2VyRGljLmx4X3NqbHh4cSkgewogICAgICAgIGl0ZW0uY2hpbGRyZW4gPSBpdGVtLmxvd2VyRGljLmx4X3NqbHh4cTsKICAgICAgfQogICAgfSk7CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge30sCiAgbWV0aG9kczogewogICAgcmV2ZW50Q2hhbmdlOiBmdW5jdGlvbiByZXZlbnRDaGFuZ2UoKSB7CiAgICAgIHRoaXMucmVzY3VlU3luY2hyb25pemFEaWFsb2cgPSB0cnVlOwogICAgfSwKICAgIGhhbmRsZVNlbGVjdDogZnVuY3Rpb24gaGFuZGxlU2VsZWN0KGRhdGEpIHsKICAgICAgdmFyIG9iaiA9IHsKICAgICAgICByZXNjdWVJZDogZGF0YS5pZCwKICAgICAgICByZXNjdWVObzogZGF0YS5yZXNjdWVObywKICAgICAgICBldmVudFRlbDogZGF0YS5yZXNjdWVUZWwgfHwgJycsCiAgICAgICAgZXZlbnRUaW1lOiBkYXRhLnJlc2N1ZVRpbWUgfHwgJycsCiAgICAgICAgcm9hZElkOiBkYXRhLnJvYWRJZCB8fCAnJywKICAgICAgICByb2FkTmFtZTogZGF0YS5yb2FkTmFtZSB8fCAnJywKICAgICAgICByb2FkQ29kZTogZGF0YS5yb2FkQ29kZSB8fCAnJywKICAgICAgICBwZWdWYWw6IGRhdGEucGVnVmFsIHx8ICcnLAogICAgICAgIHN0YXJ0UGF0cm9sSWQ6IGRhdGEuc3RhcnRQYXRyb2xJZCB8fCAnJywKICAgICAgICBzdGFydFBhdHJvbE5hbWU6IGRhdGEuc3RhcnRQYXRyb2xOYW1lIHx8ICcnLAogICAgICAgIGVuZFBhdHJvbElkOiBkYXRhLmVuZFBhdHJvbElkIHx8ICcnLAogICAgICAgIGVuZFBhdHJvbE5hbWU6IGRhdGEuZW5kUGF0cm9sTmFtZSB8fCAnJywKICAgICAgICBkaXJlY3Rpb246IGRhdGEuZGlyZWN0aW9uIHx8ICcnCiAgICAgIH07CiAgICAgIHRoaXMuYWRkRWRpdEZvcm0gPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIHRoaXMuYWRkRWRpdEZvcm0pLCBvYmopOwogICAgICAvLyB0aGlzLmFkZEVkaXRGb3JtLnJlc2N1ZUlkID0gdGhpcy5hZGRFZGl0Rm9ybS5pZAogICAgICAvLyB0aGlzLmFkZEVkaXRGb3JtLmlkID0gJycKICAgICAgLy8gdGhpcy5hZGRFZGl0Rm9ybS5ldmVudFRlbCA9IHRoaXMuYWRkRWRpdEZvcm0ucmVzY3VlVGVsCiAgICAgIHRoaXMuJHJlZnMuc2NvcGVDbGFzc2lmeS5yZXNjdWVTeW5jaHJvbml6YXRpb24odGhpcy5hZGRFZGl0Rm9ybSk7CiAgICB9LAogICAgZXZlbnRQbGFjZUNoYW5nZTogZnVuY3Rpb24gZXZlbnRQbGFjZUNoYW5nZSh2YWwpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHZhciBkYXRhID0gdGhpcy5nZXREaWN0aW9uYXJ5QnlDb2RlKCdzamZzcXknKTsKICAgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgaWYgKGl0ZW0udmFsdWUgPT0gdmFsKSB7CiAgICAgICAgICBfdGhpczIud2hlcmVUaGVSb2FkR29lcyA9IGl0ZW0ubG93ZXJEaWMgPyBpdGVtLmxvd2VyRGljWydqdGd6LWZ4J10gOiBbXTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOWcsOeCueWPmOWMlgogICAgY2hhbmdlU2NvcGVDbGFzc2lmeURhdGE6IGZ1bmN0aW9uIGNoYW5nZVNjb3BlQ2xhc3NpZnlEYXRhKGRhdGEpIHsKICAgICAgY29uc29sZS5sb2coZGF0YSwgJzg4ODg4OCcpOwogICAgICB0aGlzLmJhc2ljSW5mby5wbGFjZSA9IGRhdGE7CiAgICAgIHZhciBiYXNpYyA9IHRoaXMuZm9ybWF0QmFzaWNJbmZvKCk7CiAgICAgIHRoaXMuJGVtaXQoJ2Jhc2ljSW5mb0NoYW5nZScsIHsKICAgICAgICBiYXNpYzogYmFzaWMKICAgICAgfSk7CiAgICAgIHRoaXMuZm9ybWF0QmFzaWNUaXRsZSgpOwogICAgfSwKICAgIGRlYWRVc2VyTnVtQ2hhbmdlOiBmdW5jdGlvbiBkZWFkVXNlck51bUNoYW5nZSgpIHsKICAgICAgdGhpcy5jYXN1YWx0aWVzLmRlYWRVc2VyTnVtID0gdGhpcy5hZGRFZGl0Rm9ybS5kZWFkVXNlck51bTsKICAgICAgdmFyIGNhc3VhbHRpZXMgPSB0aGlzLmZvcm1hdENhc3VhbHRpZXNJbmZvKCk7CiAgICAgIHRoaXMuJGVtaXQoJ2Jhc2ljSW5mb0NoYW5nZScsIHsKICAgICAgICBjYXN1YWx0aWVzOiBjYXN1YWx0aWVzCiAgICAgIH0pOwogICAgfSwKICAgIGh1cnRVc2VyTnVtQ2hhbmdlOiBmdW5jdGlvbiBodXJ0VXNlck51bUNoYW5nZSgpIHsKICAgICAgdGhpcy5jYXN1YWx0aWVzLmh1cnRVc2VyTnVtID0gdGhpcy5hZGRFZGl0Rm9ybS5odXJ0VXNlck51bTsKICAgICAgdmFyIGNhc3VhbHRpZXMgPSB0aGlzLmZvcm1hdENhc3VhbHRpZXNJbmZvKCk7CiAgICAgIHRoaXMuJGVtaXQoJ2Jhc2ljSW5mb0NoYW5nZScsIHsKICAgICAgICBjYXN1YWx0aWVzOiBjYXN1YWx0aWVzCiAgICAgIH0pOwogICAgfSwKICAgIGhhbmdsZUNoYW5nZURpcmVjdGlvbjogZnVuY3Rpb24gaGFuZ2xlQ2hhbmdlRGlyZWN0aW9uKCkgewogICAgICB0aGlzLmJhc2ljSW5mby5kaXJlY3Rpb24gPSB0aGlzLmFkZEVkaXRGb3JtLmRpcmVjdGlvbjsKICAgICAgdmFyIGJhc2ljID0gdGhpcy5mb3JtYXRCYXNpY0luZm8oKTsKICAgICAgdGhpcy4kZW1pdCgnYmFzaWNJbmZvQ2hhbmdlJywgewogICAgICAgIGJhc2ljOiBiYXNpYwogICAgICB9KTsKICAgICAgdGhpcy5mb3JtYXRCYXNpY1RpdGxlKCk7CiAgICB9LAogICAgZXZlbnRUaW1lQ2hhbmdlOiBmdW5jdGlvbiBldmVudFRpbWVDaGFuZ2UoKSB7CiAgICAgIHRoaXMuYmFzaWNJbmZvLmV2ZW50VGltZSA9IHRoaXMuYWRkRWRpdEZvcm0uZXZlbnRUaW1lOwogICAgICB2YXIgYmFzaWMgPSB0aGlzLmZvcm1hdEJhc2ljSW5mbygpOwogICAgICB0aGlzLiRlbWl0KCdiYXNpY0luZm9DaGFuZ2UnLCB7CiAgICAgICAgYmFzaWM6IGJhc2ljCiAgICAgIH0pOwogICAgfSwKICAgIGZvcm1hdEJhc2ljVGl0bGU6IGZ1bmN0aW9uIGZvcm1hdEJhc2ljVGl0bGUoKSB7CiAgICAgIHZhciB0ZXh0ID0gJyc7CiAgICAgIHZhciBfdGhpcyRiYXNpY0luZm8gPSB0aGlzLmJhc2ljSW5mbywKICAgICAgICByb2FkTmFtZSA9IF90aGlzJGJhc2ljSW5mby5yb2FkTmFtZSwKICAgICAgICBkaXJlY3Rpb24gPSBfdGhpcyRiYXNpY0luZm8uZGlyZWN0aW9uLAogICAgICAgIGV2ZW50VHlwZSA9IF90aGlzJGJhc2ljSW5mby5ldmVudFR5cGUsCiAgICAgICAgcGxhY2UgPSBfdGhpcyRiYXNpY0luZm8ucGxhY2U7CiAgICAgIHZhciBkaXJlY3Rpb25UZXh0ID0gdGhpcy5kaWN0aW9uYXJ5RXNjYXBlKCd4c2Z4JywgZGlyZWN0aW9uKTsKICAgICAgdGV4dCArPSByb2FkTmFtZSA/IHJvYWROYW1lIDogJyc7CiAgICAgIHRleHQgKz0gZGlyZWN0aW9uVGV4dCA/ICcnICsgZGlyZWN0aW9uVGV4dCA6ICcnOwogICAgICB0ZXh0ICs9IHBsYWNlID8gJycgKyBwbGFjZSA6ICcnOwogICAgICB0ZXh0ICs9IGV2ZW50VHlwZSA/ICcnICsgZXZlbnRUeXBlIDogJyc7CiAgICAgIHRoaXMuJHNldCh0aGlzLmFkZEVkaXRGb3JtLCAnZXZlbnROYW1lJywgdGV4dCk7CiAgICB9LAogICAgZm9ybWF0QmFzaWNJbmZvOiBmdW5jdGlvbiBmb3JtYXRCYXNpY0luZm8oKSB7CiAgICAgIHZhciB0ZXh0ID0gJyc7CiAgICAgIHZhciBfdGhpcyRiYXNpY0luZm8yID0gdGhpcy5iYXNpY0luZm8sCiAgICAgICAgZXZlbnRUaW1lID0gX3RoaXMkYmFzaWNJbmZvMi5ldmVudFRpbWUsCiAgICAgICAgcm9hZE5hbWUgPSBfdGhpcyRiYXNpY0luZm8yLnJvYWROYW1lLAogICAgICAgIGRpcmVjdGlvbiA9IF90aGlzJGJhc2ljSW5mbzIuZGlyZWN0aW9uLAogICAgICAgIGV2ZW50VHlwZSA9IF90aGlzJGJhc2ljSW5mbzIuZXZlbnRUeXBlLAogICAgICAgIHBsYWNlID0gX3RoaXMkYmFzaWNJbmZvMi5wbGFjZTsKICAgICAgdmFyIHRpbWUgPSBtb21lbnQoZXZlbnRUaW1lKS5mb3JtYXQoJ1lZWVnlubRNTeaciERE5pelSEjml7ZtbeWIhnNz56eSJyk7CiAgICAgIHZhciBkaXJlY3Rpb25UZXh0ID0gdGhpcy5kaWN0aW9uYXJ5RXNjYXBlKCd4c2Z4JywgZGlyZWN0aW9uKTsKICAgICAgdGV4dCA9IHRpbWUgPyB0aW1lICsgJyAnIDogJyc7CiAgICAgIHRleHQgKz0gcm9hZE5hbWUgPyByb2FkTmFtZSA6ICcnOwogICAgICB0ZXh0ICs9IGRpcmVjdGlvblRleHQgPyAnJyArIGRpcmVjdGlvblRleHQgOiAnJzsKICAgICAgdGV4dCArPSBwbGFjZSA/ICcnICsgcGxhY2UgOiAnJzsKICAgICAgdGV4dCArPSBldmVudFR5cGUgPyAnJyArIGV2ZW50VHlwZSA6ICcnOwogICAgICByZXR1cm4gdGV4dDsKICAgIH0sCiAgICBmb3JtYXRDYXN1YWx0aWVzSW5mbzogZnVuY3Rpb24gZm9ybWF0Q2FzdWFsdGllc0luZm8oKSB7CiAgICAgIHZhciB0ZXh0ID0gJyc7CiAgICAgIHZhciBfdGhpcyRjYXN1YWx0aWVzID0gdGhpcy5jYXN1YWx0aWVzLAogICAgICAgIGh1cnRVc2VyTnVtID0gX3RoaXMkY2FzdWFsdGllcy5odXJ0VXNlck51bSwKICAgICAgICBkZWFkVXNlck51bSA9IF90aGlzJGNhc3VhbHRpZXMuZGVhZFVzZXJOdW07CiAgICAgIHRleHQgPSBkZWFkVXNlck51bSAmJiBkZWFkVXNlck51bSA+IDAgPyBkZWFkVXNlck51bSArICfkurrmrbvkuqEnIDogJyc7CiAgICAgIHRleHQgKz0gaHVydFVzZXJOdW0gJiYgaHVydFVzZXJOdW0gPiAwID8gaHVydFVzZXJOdW0gKyAn5Lq65Y+X5LykJyA6ICcnOwogICAgICByZXR1cm4gdGV4dDsKICAgIH0sCiAgICBnZXREaWN0aW9uYXJ5QnlDb2RlOiBnZXREaWN0aW9uYXJ5QnlDb2RlLAogICAgZGljdGlvbmFyeUVzY2FwZTogZGljdGlvbmFyeUVzY2FwZSwKICAgIHN5bmNocm9ub3VzRGF0YTogZnVuY3Rpb24gc3luY2hyb25vdXNEYXRhKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuJHJlZnMuc2NvcGVDbGFzc2lmeS5zZW5kRGF0YShmYWxzZSkpKTsKICAgICAgdmFyIHJvYWRJbmZvID0gdGhpcy5yb2FkT3B0aW9ucy5maW5kKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0uaWQgPT09IF90aGlzMy5hZGRFZGl0Rm9ybS5yb2FkSWQ7CiAgICAgIH0pOwogICAgICB2YXIgc2VuZERhdGEgPSB7CiAgICAgICAgcm9hZElkOiB0aGlzLmFkZEVkaXRGb3JtLnJvYWRJZCwKICAgICAgICBldmVudFBsYWNlOiB0aGlzLmFkZEVkaXRGb3JtLmV2ZW50UGxhY2UsCiAgICAgICAgcGlsZU51bWJlclJhbmdlOiB0aGlzLnBpbGVOdW1iZXJSYW5nZSwKICAgICAgICByb2FkTmFtZTogcm9hZEluZm8ubmFtZSwKICAgICAgICByb2FkQ29kZTogcm9hZEluZm8uY29kZQogICAgICB9OwogICAgICBpZiAodGhpcy5hZGRFZGl0Rm9ybS5ldmVudFBsYWNlID4gMSkgewogICAgICAgIHNlbmREYXRhLnBsYWNlRGV0YWlsID0gZGF0YTsKICAgICAgfSBlbHNlIHsKICAgICAgICBzZW5kRGF0YSA9IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgc2VuZERhdGEpLCBkYXRhKTsKICAgICAgfQogICAgICB0aGlzLiRidXMuJGVtaXQoJ3N5bmNocm9ub3VzRGF0YScsIHNlbmREYXRhKTsKICAgIH0sCiAgICAvLyDot6/mrrXlj5jljJYKICAgIHJvYWRDaGFuZ2U6IGZ1bmN0aW9uIHJvYWRDaGFuZ2UoZSkgewogICAgICB2YXIgcm9hZEluZm8gPSB0aGlzLnJvYWRPcHRpb25zLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS5pZCA9PT0gZTsKICAgICAgfSk7CiAgICAgIGlmIChyb2FkSW5mby5zdGFydFBlZ0sgJiYgcm9hZEluZm8uZW5kUGVnSykgewogICAgICAgIHRoaXMucGlsZU51bWJlclJhbmdlID0gcm9hZEluZm8uc3RhcnRQZWdLICsgJ34nICsgcm9hZEluZm8uZW5kUGVnSzsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnBpbGVOdW1iZXJSYW5nZSA9ICcnOwogICAgICB9CiAgICAgIHRoaXMuJGVtaXQoJ3JvYWRDaGFuZ2UnLCBlKTsKICAgICAgdGhpcy5iYXNpY0luZm8ucm9hZE5hbWUgPSByb2FkSW5mby5jb2RlICsgcm9hZEluZm8ubmFtZTsKICAgICAgdmFyIGJhc2ljID0gdGhpcy5mb3JtYXRCYXNpY0luZm8oKTsKICAgICAgdGhpcy4kZW1pdCgnYmFzaWNJbmZvQ2hhbmdlJywgewogICAgICAgIGJhc2ljOiBiYXNpYwogICAgICB9KTsKICAgICAgdGhpcy5mb3JtYXRCYXNpY1RpdGxlKCk7CiAgICB9LAogICAgZXZlbnRUeXBlQ2hhbmdlOiBmdW5jdGlvbiBldmVudFR5cGVDaGFuZ2UoKSB7CiAgICAgIHZhciBub2RlSXRlbSA9IHRoaXMuJHJlZnMuY2FzY2FkZXIuZ2V0Q2hlY2tlZE5vZGVzKClbMF07CiAgICAgIHRoaXMuJHNldCh0aGlzLmFkZEVkaXRGb3JtLCAnbHdFdmVudFR5cGUnLCBub2RlSXRlbSA/IG5vZGVJdGVtLnZhbHVlIDogJycpOwogICAgICBjb25zb2xlLmxvZyhub2RlSXRlbSk7CiAgICAgIHRoaXMuYmFzaWNJbmZvLmV2ZW50VHlwZSA9IG5vZGVJdGVtLmxhYmVsOwogICAgICB2YXIgYmFzaWMgPSB0aGlzLmZvcm1hdEJhc2ljSW5mbygpOwogICAgICB0aGlzLiRlbWl0KCdiYXNpY0luZm9DaGFuZ2UnLCB7CiAgICAgICAgYmFzaWM6IGJhc2ljLAogICAgICAgIGlzQXBwb2ludDogbm9kZUl0ZW0udmFsdWUgPT09ICczNycgfHwgbm9kZUl0ZW0udmFsdWUgPT09ICczOCcKICAgICAgfSk7CiAgICAgIHRoaXMuZm9ybWF0QmFzaWNUaXRsZSgpOwogICAgfSwKICAgIC8vIOiOt+WPluivpuaDhQogICAgZ2V0RGV0YWlsOiBmdW5jdGlvbiBnZXREZXRhaWwoaWQpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICB2YXIgX3RoaXM0JGFkZEVkaXRGb3JtLCBfdGhpczQkYWRkRWRpdEZvcm0kcm8sIHJvYWRJZCwgX3RoaXM0JGFkZEVkaXRGb3JtJHBlLCBwZWdTVmFsLCBfdGhpczQkYWRkRWRpdEZvcm0kcGUyLCBwZWdFVmFsLCBzdGFydFBlZ0FyciwgZW5kUGVnQXJyOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF9jb250ZXh0LnByZXYgPSAwOwogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAzOwogICAgICAgICAgICAgIHJldHVybiB0YWJsZURldGFpbChpZCk7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBfdGhpczQuYWRkRWRpdEZvcm0gPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgIF90aGlzNCRhZGRFZGl0Rm9ybSA9IF90aGlzNC5hZGRFZGl0Rm9ybSwgX3RoaXM0JGFkZEVkaXRGb3JtJHJvID0gX3RoaXM0JGFkZEVkaXRGb3JtLnJvYWRJZCwgcm9hZElkID0gX3RoaXM0JGFkZEVkaXRGb3JtJHJvID09PSB2b2lkIDAgPyAnJyA6IF90aGlzNCRhZGRFZGl0Rm9ybSRybywgX3RoaXM0JGFkZEVkaXRGb3JtJHBlID0gX3RoaXM0JGFkZEVkaXRGb3JtLnBlZ1NWYWwsIHBlZ1NWYWwgPSBfdGhpczQkYWRkRWRpdEZvcm0kcGUgPT09IHZvaWQgMCA/ICcnIDogX3RoaXM0JGFkZEVkaXRGb3JtJHBlLCBfdGhpczQkYWRkRWRpdEZvcm0kcGUyID0gX3RoaXM0JGFkZEVkaXRGb3JtLnBlZ0VWYWwsIHBlZ0VWYWwgPSBfdGhpczQkYWRkRWRpdEZvcm0kcGUyID09PSB2b2lkIDAgPyAnJyA6IF90aGlzNCRhZGRFZGl0Rm9ybSRwZTI7CiAgICAgICAgICAgICAgaWYgKHBlZ1NWYWwpIHsKICAgICAgICAgICAgICAgIHN0YXJ0UGVnQXJyID0gcGVnU1ZhbC5zcGxpdCgnKycpOwogICAgICAgICAgICAgICAgX3RoaXM0LmFkZEVkaXRGb3JtLnN0YXJ0UGVnID0gc3RhcnRQZWdBcnJbMF0uc2xpY2UoMSk7CiAgICAgICAgICAgICAgICBfdGhpczQuYWRkRWRpdEZvcm0uc3RhcnRQZWdBZGQgPSBzdGFydFBlZ0FyclsxXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKHBlZ0VWYWwpIHsKICAgICAgICAgICAgICAgIGVuZFBlZ0FyciA9IHBlZ0VWYWwuc3BsaXQoJysnKTsKICAgICAgICAgICAgICAgIF90aGlzNC5hZGRFZGl0Rm9ybS5lbmRQZWcgPSBlbmRQZWdBcnJbMF0uc2xpY2UoMSk7CiAgICAgICAgICAgICAgICBfdGhpczQuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID0gZW5kUGVnQXJyWzFdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAvLyB0aGlzLnJvYWRDaGFuZ2Uocm9hZElkKQogICAgICAgICAgICBjYXNlIDc6CiAgICAgICAgICAgICAgX2NvbnRleHQucHJldiA9IDc7CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmZpbmlzaCg3KTsKICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZSwgbnVsbCwgW1swLCwgNywgOV1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5L+d5a2YCiAgICBzZW5kQmFzZURhdGE6IGZ1bmN0aW9uIHNlbmRCYXNlRGF0YSgpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIHZhciBiYXNlRGF0YSA9IHt9OwogICAgICB0aGlzLiRyZWZzLmFkZEVkaXRGb3JtLnZhbGlkYXRlKC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIF9yZWYgPSBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIodmFsaWQsIG9iamVjdCkgewogICAgICAgICAgdmFyIGRhdGEsIHJvYWRJbmZvLCByb2FkRGF0YSwgX3JvYWREYXRhJCwgX3JvYWREYXRhJDI7CiAgICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTIkKF9jb250ZXh0MikgewogICAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgaWYgKCF2YWxpZCkgewogICAgICAgICAgICAgICAgICBiYXNlRGF0YSA9IHsKICAgICAgICAgICAgICAgICAgICBmaWVsZE51bTogT2JqZWN0LmtleXMob2JqZWN0KS5sZW5ndGgKICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KF90aGlzNS5hZGRFZGl0Rm9ybSkpOwogICAgICAgICAgICAgICAgICBkYXRhLmV2ZW50VGltZSA9IG1vbWVudChkYXRhLmV2ZW50VGltZSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk7CiAgICAgICAgICAgICAgICAgIGRhdGEucmVjZWl2ZVRpbWUgPSBtb21lbnQoZGF0YS5yZWNlaXZlVGltZSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk7CiAgICAgICAgICAgICAgICAgIGRhdGEuY29uZmlybVRpbWUgPSBtb21lbnQoZGF0YS5jb25maXJtVGltZSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk7CiAgICAgICAgICAgICAgICAgIGRhdGEucmVjb3ZlclRpbWUgPSBtb21lbnQoZGF0YS5yZWNvdmVyVGltZSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk7CiAgICAgICAgICAgICAgICAgIHJvYWRJbmZvID0gX3RoaXM1LnJvYWRPcHRpb25zLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5pZCA9PT0gZGF0YS5yb2FkSWQ7CiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICBkYXRhLnJvYWROYW1lID0gcm9hZEluZm8ubmFtZTsKICAgICAgICAgICAgICAgICAgZGF0YS5yb2FkQ29kZSA9IHJvYWRJbmZvLmNvZGU7CiAgICAgICAgICAgICAgICAgIGRhdGEuZXZlbnRUeXBlID0gSlNPTi5zdHJpbmdpZnkoZGF0YS5ldmVudFR5cGUpOwogICAgICAgICAgICAgICAgICByb2FkRGF0YSA9IF90aGlzNS4kcmVmcy5zY29wZUNsYXNzaWZ5LnNlbmREYXRhKGZhbHNlKTsKICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuZXZlbnRQbGFjZSA+IDEpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhLnBsYWNlRGV0YWlsID0gSlNPTi5zdHJpbmdpZnkocm9hZERhdGEpOwogICAgICAgICAgICAgICAgICAgIGRhdGEubGF0ID0gKF9yb2FkRGF0YSQgPSByb2FkRGF0YVswXSkgPT09IG51bGwgfHwgX3JvYWREYXRhJCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3JvYWREYXRhJC5sYXQ7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5sbmcgPSAoX3JvYWREYXRhJDIgPSByb2FkRGF0YVswXSkgPT09IG51bGwgfHwgX3JvYWREYXRhJDIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9yb2FkRGF0YSQyLmxuZzsKICAgICAgICAgICAgICAgICAgICBiYXNlRGF0YSA9IGRhdGE7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYmFzZURhdGEgPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIGRhdGEpLCByb2FkRGF0YSk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuc3RvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBfY2FsbGVlMik7CiAgICAgICAgfSkpOwogICAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gsIF94MikgewogICAgICAgICAgcmV0dXJuIF9yZWYuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICB9KCkpOwogICAgICByZXR1cm4gYmFzZURhdGE7CiAgICB9CiAgfQp9Ow=="},null]}