{"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\\infoMgmtPatrolsRescues\\rescuePersonnelMgmt\\components\\EditAddPage\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\infoMgmtPatrolsRescues\\rescuePersonnelMgmt\\components\\EditAddPage\\index.vue","mtime":1743606928937},{"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:aW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS94Y2p5LWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzLmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKdmFyIF9leGNsdWRlZCA9IFsicG9zdCJdLAogIF9leGNsdWRlZDIgPSBbImFjY291bnQiLCAidGVsIiwgIm91dENvbXBhbnlOYW1lIiwgIm91dENvbXBhbnlJZCIsICJyb2FkSWQiLCAib3JnSWQiLCAicm9hZE5hbWUiXTsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZXJyb3IuY2F1c2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmtleXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50ZXN0LmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBQdWJTdWIgZnJvbSAncHVic3ViLWpzJzsKaW1wb3J0IHsgdGFibGVBZGQsIHRhYmxlRGV0YWlsLCB0YWJsZUVkaXQgfSBmcm9tICdAL2FwaS9wYXRyb2xBbmRSZXNjdWUvaW5mb01nbXRQYXRyb2xzUmVzY3Vlcy9wYXRyb2xBbmRSZXNjdWVQZXJzb25uZWxNZ210JzsKaW1wb3J0IHsgZ2V0Q2FzY2FkZURpY3RCeUNvZGVFdmVudCwgZ2V0RGljdGlvbmFyeUJ5Q29kZSB9IGZyb20gJ0AvdXRpbHMvZGljdGlvbmFyeSc7CmltcG9ydCB7IG9yZ1RyZWUgfSBmcm9tICdAL2FwaS9zeXN0ZW1JbnRlcmZhY2UnOwppbXBvcnQgeyB0YWJsZURhdGEgYXMgdGVhbURhdGEgfSBmcm9tICdAL2FwaS9wYXRyb2xBbmRSZXNjdWUvaW5mb01nbXRQYXRyb2xzUmVzY3Vlcy9wYXRyb2xBbmRSZXNjdWVUZWFtc01nbXQnOwppbXBvcnQgeyB0YWJsZURhdGEgYXMgY29tcGFueURhdGEgfSBmcm9tICdAL2FwaS9wYXRyb2xBbmRSZXNjdWUvaW5mb01nbXRQYXRyb2xzUmVzY3Vlcy9vdXRzb3VyY2luZ0NvbXBhbnlNZ210JzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdFZGl0QWRkUGFnZScsCiAgY29tcG9uZW50czoge30sCiAgcHJvcHM6IHsKICAgIGNvbXBvbmVudE5hbWU6IHsKICAgICAgZGVmYXVsdDogJ1RhYmxlUGFnZScsCiAgICAgIHR5cGU6IFN0cmluZwogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHZhciB2YWxpZGF0ZUFjY291bnRUZWwgPSBmdW5jdGlvbiB2YWxpZGF0ZUFjY291bnRUZWwodGV4dCwgdmFsdWUsIGNhbGxiYWNrKSB7CiAgICAgIHZhciBwaG9uZVJlZ2V4ID0gL14xWzMtOV1cZHs5fSQvOwogICAgICBpZiAocGhvbmVSZWdleC50ZXN0KHZhbHVlKSkgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCIiLmNvbmNhdCh0ZXh0LCAiXHU5NzAwXHU0RTNBMTFcdTRGNERcdTYyNEJcdTY3M0FcdTUzRjciKSkpOwogICAgICB9CiAgICB9OwogICAgdmFyIHZhbGlkYXRlQ29kZSA9IGZ1bmN0aW9uIHZhbGlkYXRlQ29kZShfLCB2YWx1ZSwgY2FsbGJhY2spIHsKICAgICAgdmFyIGlkQ2FyZFJlZ2V4ID0gL14oPzpcZHsxNX18XGR7MTd9W1xkWHhdKSQvOwogICAgICBpZiAoaWRDYXJkUmVnZXgudGVzdCh2YWx1ZSkpIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcign6K+36L6T5YWl5ZCI5rOV55qE6Lqr5Lu96K+B5Y+3JykpOwogICAgICB9CiAgICB9OwogICAgcmV0dXJuIHsKICAgICAgZmlsdGVyZWREd2x4OiBbXSwKICAgICAgLy8g55So5LqO5a2Y5YKo6L+H5ruk5ZCO55qE5a2X5YW45YC8CiAgICAgIGFkZEVkaXRGb3JtOiB7CiAgICAgICAgdHlwZTogJzAnLAogICAgICAgIHBvc3Q6ICcnLAogICAgICAgIGlzT3V0OiAnMScsCiAgICAgICAgcm9hZElkOiAnJywKICAgICAgICByb2FkTmFtZTogJycsCiAgICAgICAgcm9hZEZ1bGxJZDogJycKICAgICAgfSwKICAgICAgYWRkRWRpdFJ1bGVzOiB7CiAgICAgICAgYWNjb3VudDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+i0puWPt+WQjeS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9LCB7CiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcihfLCB2YWwsIGNiKSB7CiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUFjY291bnRUZWwoJ+i0puWPt+WQjScsIHZhbCwgY2IpOwogICAgICAgICAgfSwKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIHRlbDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+aJi+acuuWPt+S4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9LCB7CiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcihfLCB2YWwsIGNiKSB7CiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUFjY291bnRUZWwoJ+aJi+acuuWPtycsIHZhbCwgY2IpOwogICAgICAgICAgfSwKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIGNvZGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfouqvku73or4Hlj7fkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfSwgewogICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0ZUNvZGUsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICBuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6Zif5ZGY5aeT5ZCN5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIG91dENvbXBhbnlJZDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+WkluWMheWFrOWPuOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICB0eXBlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5Lq65ZGY57G75Z6L5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIHBvc3Q6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfkurrlkZjogYzliqHkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfV0sCiAgICAgICAgdGVhbUlkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5omA5bGe6Zif5LyN5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnYmx1ciddCiAgICAgICAgfV0sCiAgICAgICAgaXNPdXQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfmmK/lkKblpJbmtL7kurrlkZjkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnXQogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIHNhdmVMb2FkaW5nOiBmYWxzZSwKICAgICAgLy8g5LiK5LygbG9hZGluZwogICAgICBpZDogJycsCiAgICAgIC8vIGlk5qCH6K+G56ymCiAgICAgIHB1YlN1YjogbnVsbCwKICAgICAgb3V0Q29tcGFueURpYWxvZzogZmFsc2UsCiAgICAgIC8vIOaYr+WQpuWxleekuumAieaLqeWkluWMheWFrOWPuOmAieaLqQogICAgICB0cmVlRGF0YTogW10sCiAgICAgIC8vIOe7hOe7h+agkQogICAgICB0ZWFtT3B0aW9uczogW10sCiAgICAgIGNvbXBhbnlPcHRpb25zOiBbXQogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7CiAgICBwb3N0T3B0OiBmdW5jdGlvbiBwb3N0T3B0KCkgewogICAgICAvLyDojrflj5bnuqfogZTlrZflhbgKICAgICAgcmV0dXJuIGdldENhc2NhZGVEaWN0QnlDb2RlRXZlbnQoJ3J5bHgteGNqeXJ5JywgdGhpcy5hZGRFZGl0Rm9ybS50eXBlKTsKICAgIH0KICB9LAogIHdhdGNoOiB7CiAgICBjb21wb25lbnROYW1lOiBmdW5jdGlvbiBjb21wb25lbnROYW1lKG5ld1ZhbCkgewogICAgICBpZiAobmV3VmFsID09PSB0aGlzLiRvcHRpb25zLm5hbWUpIHsKICAgICAgICB0aGlzLm9wZW5QYWdlKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5jbG9zZVBhZ2UoKTsKICAgICAgfQogICAgfQogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIC8vIHRoaXMuZ2V0T3JnVHJlZURhdGEoKQogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICB0aGlzLnRyZWVQdWJTdWIgPSBQdWJTdWIuc3Vic2NyaWJlKCdUcmVlSXRlbVNlbGVjdGVkJywgZnVuY3Rpb24gKF8sIGRhdGEpIHsKICAgICAgX3RoaXMuYWRkRWRpdEZvcm0ucm9hZElkID0gZGF0YS5pZDsKICAgICAgX3RoaXMuYWRkRWRpdEZvcm0ucm9hZE5hbWUgPSBkYXRhLm5hbWU7CiAgICAgIF90aGlzLmFkZEVkaXRGb3JtLnJvYWRGdWxsSWQgPSBkYXRhLnBhdGg7CiAgICAgIF90aGlzLmFkZEVkaXRGb3JtLm9yZ0lkID0gZGF0YS5vcmdJZDsKICAgIH0pOwogICAgdGhpcy5wdWJTdWIgPSBQdWJTdWIuc3Vic2NyaWJlKCdFZGl0QWRkUGFnZScsIGZ1bmN0aW9uIChfLCBkYXRhKSB7CiAgICAgIGlmIChkYXRhLnRyZWVJdGVtKSB7CiAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0ucm9hZE5hbWUgPSBkYXRhLnRyZWVJdGVtLm5hbWU7CiAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0ucm9hZElkID0gZGF0YS50cmVlSXRlbS5pZDsKICAgICAgICBfdGhpcy5hZGRFZGl0Rm9ybS5vcmdJZCA9IGRhdGEudHJlZUl0ZW0ub3JnSWQ7CiAgICAgICAgLy8gdGhpcy5hZGRFZGl0Rm9ybS5yb2FkRnVsbElkID0gZGF0YT8ucGF0aCB8fCAnJwogICAgICB9CiAgICAgIGlmIChkYXRhLmlkKSB7CiAgICAgICAgX3RoaXMuaWQgPSBkYXRhLmlkOwogICAgICAgIF90aGlzLmdldERldGFpbChkYXRhLmlkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgX2RhdGEkdHJlZUl0ZW0sIF9kYXRhJHRyZWVJdGVtMiwgX2RhdGEkdHJlZUl0ZW0zOwogICAgICAgIF90aGlzLmFkZEVkaXRGb3JtID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBfdGhpcy5hZGRFZGl0Rm9ybSksIHt9LCB7CiAgICAgICAgICByb2FkSWQ6IGRhdGEucm9hZElkIHx8ICgoX2RhdGEkdHJlZUl0ZW0gPSBkYXRhLnRyZWVJdGVtKSA9PT0gbnVsbCB8fCBfZGF0YSR0cmVlSXRlbSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2RhdGEkdHJlZUl0ZW0uaWQpIHx8ICcnLAogICAgICAgICAgLy8g56Gu5L+dIHRlYW1JZCDooqvmraPnoa7otYvlgLwKICAgICAgICAgIHJvYWROYW1lOiBkYXRhLnJvYWROYW1lIHx8ICgoX2RhdGEkdHJlZUl0ZW0yID0gZGF0YS50cmVlSXRlbSkgPT09IG51bGwgfHwgX2RhdGEkdHJlZUl0ZW0yID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZGF0YSR0cmVlSXRlbTIubmFtZSkgfHwgJycsCiAgICAgICAgICAvLyDnoa7kv50gdGVhbU5hbWUg6KKr5q2j56Gu6LWL5YC8CiAgICAgICAgICBvcmdJZDogZGF0YS5vcmdJZCB8fCAoKF9kYXRhJHRyZWVJdGVtMyA9IGRhdGEudHJlZUl0ZW0pID09PSBudWxsIHx8IF9kYXRhJHRyZWVJdGVtMyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2RhdGEkdHJlZUl0ZW0zLm9yZ0lkKSB8fCAnJyAvLyDnoa7kv50gcm9hZE5hbWUg6KKr5q2j56Gu6LWL5YC8CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0pOwogICAgdGhpcy5nZXRUZWFtRGF0YSgpOwogICAgdGhpcy5nZXRDb21wYW55YXRhKCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBmaWx0ZXJEd2x4OiBmdW5jdGlvbiBmaWx0ZXJEd2x4KCkgewogICAgICB2YXIgZHdseCA9IHRoaXMuZ2V0RGljdGlvbmFyeUJ5Q29kZSgncnlseC14Y2p5cnknKTsKICAgICAgaWYgKGR3bHggJiYgZHdseC5sZW5ndGggPiAwKSB7CiAgICAgICAgdGhpcy5maWx0ZXJlZER3bHggPSBbZHdseFsxXV07IC8vIOWPquS/neeVmeesrOS4gOS4quWAvAogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0udHlwZSA9IGR3bHhbMV0udmFsdWU7IC8vIOiuvue9rum7mOiupOWAvAogICAgICB9CiAgICB9LAogICAgZ2V0RGljdGlvbmFyeUJ5Q29kZTogZ2V0RGljdGlvbmFyeUJ5Q29kZSwKICAgIC8v5aSW5YyF5YWs5Y+45p+l6K+iCiAgICBnZXRDb21wYW55YXRhOiBmdW5jdGlvbiBnZXRDb21wYW55YXRhKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgIHZhciBfeWllbGQkY29tcGFueURhdGEsIF95aWVsZCRjb21wYW55RGF0YSRybywgcm93czsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gY29tcGFueURhdGEoKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF95aWVsZCRjb21wYW55RGF0YSA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgICAgX3lpZWxkJGNvbXBhbnlEYXRhJHJvID0gX3lpZWxkJGNvbXBhbnlEYXRhLnJvd3M7CiAgICAgICAgICAgICAgcm93cyA9IF95aWVsZCRjb21wYW55RGF0YSRybyA9PT0gdm9pZCAwID8gW10gOiBfeWllbGQkY29tcGFueURhdGEkcm87CiAgICAgICAgICAgICAgX3RoaXMyLmNvbXBhbnlPcHRpb25zID0gcm93czsKICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOmAmui/h+i3r+auteS/oeaBr+iOt+WPluW3oeafpeaVkeaPtOmYn+S8jeS/oeaBrwogICAgZ2V0VGVhbURhdGE6IGZ1bmN0aW9uIGdldFRlYW1EYXRhKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMigpIHsKICAgICAgICB2YXIgX3lpZWxkJHRlYW1EYXRhLCBfeWllbGQkdGVhbURhdGEkcm93cywgcm93czsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTIkKF9jb250ZXh0MikgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQyLnByZXYgPSBfY29udGV4dDIubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAyOwogICAgICAgICAgICAgIHJldHVybiB0ZWFtRGF0YSgpOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgX3lpZWxkJHRlYW1EYXRhID0gX2NvbnRleHQyLnNlbnQ7CiAgICAgICAgICAgICAgX3lpZWxkJHRlYW1EYXRhJHJvd3MgPSBfeWllbGQkdGVhbURhdGEucm93czsKICAgICAgICAgICAgICByb3dzID0gX3lpZWxkJHRlYW1EYXRhJHJvd3MgPT09IHZvaWQgMCA/IFtdIDogX3lpZWxkJHRlYW1EYXRhJHJvd3M7CiAgICAgICAgICAgICAgX3RoaXMzLnRlYW1PcHRpb25zID0gcm93czsKICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUyKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5omT5byA6aG16Z2i5omn6KGMCiAgICBvcGVuUGFnZTogZnVuY3Rpb24gb3BlblBhZ2UoKSB7CiAgICAgIHRoaXMudHlwZUNoYW5nZSgpOwogICAgICB0aGlzLmZpbHRlckR3bHgoKTsgLy8g6L+H5ruk5a2X5YW45YC8CiAgICB9LAogICAgLy8g5YWz6Zet6aG16Z2i5omn6KGMCiAgICBjbG9zZVBhZ2U6IGZ1bmN0aW9uIGNsb3NlUGFnZSgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHZhciBwdWJTdWIgPSB0aGlzLnB1YlN1YiwKICAgICAgICBhZGRFZGl0UnVsZXMgPSB0aGlzLmFkZEVkaXRSdWxlcywKICAgICAgICB0cmVlRGF0YSA9IHRoaXMudHJlZURhdGEsCiAgICAgICAgdGVhbU9wdGlvbnMgPSB0aGlzLnRlYW1PcHRpb25zLAogICAgICAgIGNvbXBhbnlPcHRpb25zID0gdGhpcy5jb21wYW55T3B0aW9uczsKICAgICAgLy8g6YeN572u57uE5Lu25pWw5o2uCiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy4kZGF0YSwgdGhpcy4kb3B0aW9ucy5kYXRhLmNhbGwodGhpcyksIHsKICAgICAgICBwdWJTdWI6IHB1YlN1YiwKICAgICAgICBhZGRFZGl0UnVsZXM6IGFkZEVkaXRSdWxlcywKICAgICAgICB0cmVlRGF0YTogdHJlZURhdGEsCiAgICAgICAgdGVhbU9wdGlvbnM6IHRlYW1PcHRpb25zLAogICAgICAgIGNvbXBhbnlPcHRpb25zOiBjb21wYW55T3B0aW9ucwogICAgICB9KTsKICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKF8pIHsKICAgICAgICBfdGhpczQuJHJlZnMuYWRkRWRpdEZvcm0uJGVsLnNjcm9sbFRvcCA9IDA7CiAgICAgICAgX3RoaXM0LiRyZWZzLmFkZEVkaXRGb3JtLmNsZWFyVmFsaWRhdGUoKTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g6I635Y+W6K+m5oOFCiAgICBnZXREZXRhaWw6IGZ1bmN0aW9uIGdldERldGFpbChpZCkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMygpIHsKICAgICAgICB2YXIgX3lpZWxkJHRhYmxlRGV0YWlsLCBfeWllbGQkdGFibGVEZXRhaWwkcG8sIHBvc3QsIGFkZEVkaXRGb3JtLCBvbGRQb3N0OwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMyQoX2NvbnRleHQzKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDMucHJldiA9IF9jb250ZXh0My5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlRGV0YWlsKGlkKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF95aWVsZCR0YWJsZURldGFpbCA9IF9jb250ZXh0My5zZW50OwogICAgICAgICAgICAgIF95aWVsZCR0YWJsZURldGFpbCRwbyA9IF95aWVsZCR0YWJsZURldGFpbC5wb3N0OwogICAgICAgICAgICAgIHBvc3QgPSBfeWllbGQkdGFibGVEZXRhaWwkcG8gPT09IHZvaWQgMCA/ICcnIDogX3lpZWxkJHRhYmxlRGV0YWlsJHBvOwogICAgICAgICAgICAgIGFkZEVkaXRGb3JtID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF95aWVsZCR0YWJsZURldGFpbCwgX2V4Y2x1ZGVkKTsKICAgICAgICAgICAgICBvbGRQb3N0ID0gcG9zdDsgLy8g5L+d5oyB6K+m5oOF5Y6f5aeLcG9zdOWGheWuue+8jOmBv+WFjeWboOihqOWNlei1i+WAvOWQjuinpuWPkXR5cGVDaGFuZ2Xkuovku7bogIzkuKLlpLFwb3N055qE5YC8CiAgICAgICAgICAgICAgX3RoaXM1LmFkZEVkaXRGb3JtID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBhZGRFZGl0Rm9ybSksIHt9LCB7CiAgICAgICAgICAgICAgICBwb3N0OiBwb3N0LAogICAgICAgICAgICAgICAgcm9hZE5hbWU6IGFkZEVkaXRGb3JtLnJvYWROYW1lIHx8IF90aGlzNS5hZGRFZGl0Rm9ybS5yb2FkTmFtZSAvLyDnoa7kv50gdGVhbU5hbWUg6KKr6LWL5YC8CiAgICAgICAgICAgICAgICAvLyBvdXRDb21wYW55OiB7IG91dENvbXBhbnlOYW1lLCBvdXRDb21wYW55SWQgfQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIF90aGlzNS5hZGRFZGl0Rm9ybS5wb3N0ID0gb2xkUG9zdDsKICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDMuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUzKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g6I635Y+W5YWs5Y+45qCRCiAgICBnZXRPcmdUcmVlRGF0YTogZnVuY3Rpb24gZ2V0T3JnVHJlZURhdGEoKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWU0KCkgewogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlNCQoX2NvbnRleHQ0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDQucHJldiA9IF9jb250ZXh0NC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuIG9yZ1RyZWUoKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF90aGlzNi50cmVlRGF0YSA9IF9jb250ZXh0NC5zZW50OwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTQpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDngrnkvY3nsbvlnovlj5HnlJ/lj5jljJYKICAgIHR5cGVDaGFuZ2U6IGZ1bmN0aW9uIHR5cGVDaGFuZ2UoKSB7CiAgICAgIHZhciBfdGhpcyRwb3N0T3B0JDsKICAgICAgLy8g5b2T6KGo5Y2V5Lit54K55L2N57G75Z6L5Y+R55Sf5pS55Y+Y55qE5pe25YCZ77yM6LWL5YC85YaF5a655a2X5YW45Lit55qE56ys5LiA6aG55a2X5YW45YC857uZ6KGo5Y2V5Lit5YaF5a655a2X5q61CiAgICAgIHRoaXMuYWRkRWRpdEZvcm0ucG9zdCA9ICgoX3RoaXMkcG9zdE9wdCQgPSB0aGlzLnBvc3RPcHRbMF0pID09PSBudWxsIHx8IF90aGlzJHBvc3RPcHQkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdGhpcyRwb3N0T3B0JC52YWx1ZSkgfHwgJyc7CiAgICB9LAogICAgLy8g5beh5p+l6Zif5LyN5YiH5o2iCiAgICB0ZWFtSWRDaGFuZ2U6IGZ1bmN0aW9uIHRlYW1JZENoYW5nZSgpIHsKICAgICAgdmFyIF90aGlzJCRyZWZzJGNhc2NhZGVyOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLnRlYW1GdWxsSWQgPSAoKF90aGlzJCRyZWZzJGNhc2NhZGVyID0gdGhpcy4kcmVmcy5jYXNjYWRlcikgPT09IG51bGwgfHwgX3RoaXMkJHJlZnMkY2FzY2FkZXIgPT09IHZvaWQgMCB8fCAoX3RoaXMkJHJlZnMkY2FzY2FkZXIgPSBfdGhpcyQkcmVmcyRjYXNjYWRlci5nZXRDaGVja2VkTm9kZXMoKVswXSkgPT09IG51bGwgfHwgX3RoaXMkJHJlZnMkY2FzY2FkZXIgPT09IHZvaWQgMCB8fCAoX3RoaXMkJHJlZnMkY2FzY2FkZXIgPSBfdGhpcyQkcmVmcyRjYXNjYWRlci5kYXRhKSA9PT0gbnVsbCB8fCBfdGhpcyQkcmVmcyRjYXNjYWRlciA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkJHJlZnMkY2FzY2FkZXIucGF0aCkgfHwgJyc7CiAgICB9LAogICAgLy8g5L+d5a2YCiAgICBoYW5kbGVTYXZlOiBmdW5jdGlvbiBoYW5kbGVTYXZlKCkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKICAgICAgdGhpcy4kcmVmcy5hZGRFZGl0Rm9ybS52YWxpZGF0ZSgvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBfcmVmID0gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWU1KHZhbGlkLCBvYmplY3QpIHsKICAgICAgICAgIHZhciBteUludGVyRmFjZSwgX3RoaXM3JGFkZEVkaXRGb3JtLCBfdGhpczckYWRkRWRpdEZvcm0kYWMsIGFjY291bnQsIF90aGlzNyRhZGRFZGl0Rm9ybSR0ZSwgdGVsLCBfdGhpczckYWRkRWRpdEZvcm0kb3UsIG91dENvbXBhbnlOYW1lLCBfdGhpczckYWRkRWRpdEZvcm0kb3UyLCBvdXRDb21wYW55SWQsIF90aGlzNyRhZGRFZGl0Rm9ybSRybywgcm9hZElkLCBfdGhpczckYWRkRWRpdEZvcm0kb3IsIG9yZ0lkLCBfdGhpczckYWRkRWRpdEZvcm0kcm8yLCByb2FkTmFtZSwgYWRkRWRpdEZvcm0sIF95aWVsZCRteUludGVyRmFjZSwgc3RhdGUsIG1lc3NhZ2U7CiAgICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTUkKF9jb250ZXh0NSkgewogICAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDUucHJldiA9IF9jb250ZXh0NS5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0NS5uZXh0ID0gNDsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBfdGhpczcuJG1lc3NhZ2Uud2FybmluZygiXHU2NzA5Ii5jb25jYXQoT2JqZWN0LmtleXMob2JqZWN0KS5sZW5ndGgsICJcdTRFMkFcdTVCNTdcdTZCQjVcdTY3MkFcdTkwMUFcdThGQzdcdTY4MjFcdTlBOENcdUZGMENcdThCRjdcdTZCNjNcdTc4NkVcdTU4NkJcdTUxOTlcdTg4NjhcdTUzNTVcdTUxODVcdTVCQjlcdTMwMDIiKSk7CiAgICAgICAgICAgICAgICBfY29udGV4dDUubmV4dCA9IDE3OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgX3RoaXM3LnNhdmVMb2FkaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgIG15SW50ZXJGYWNlID0gX3RoaXM3LmlkID8gdGFibGVFZGl0IDogdGFibGVBZGQ7CiAgICAgICAgICAgICAgICBfdGhpczckYWRkRWRpdEZvcm0gPSBfdGhpczcuYWRkRWRpdEZvcm0sIF90aGlzNyRhZGRFZGl0Rm9ybSRhYyA9IF90aGlzNyRhZGRFZGl0Rm9ybS5hY2NvdW50LCBhY2NvdW50ID0gX3RoaXM3JGFkZEVkaXRGb3JtJGFjID09PSB2b2lkIDAgPyAnJyA6IF90aGlzNyRhZGRFZGl0Rm9ybSRhYywgX3RoaXM3JGFkZEVkaXRGb3JtJHRlID0gX3RoaXM3JGFkZEVkaXRGb3JtLnRlbCwgdGVsID0gX3RoaXM3JGFkZEVkaXRGb3JtJHRlID09PSB2b2lkIDAgPyAnJyA6IF90aGlzNyRhZGRFZGl0Rm9ybSR0ZSwgX3RoaXM3JGFkZEVkaXRGb3JtJG91ID0gX3RoaXM3JGFkZEVkaXRGb3JtLm91dENvbXBhbnlOYW1lLCBvdXRDb21wYW55TmFtZSA9IF90aGlzNyRhZGRFZGl0Rm9ybSRvdSA9PT0gdm9pZCAwID8gJycgOiBfdGhpczckYWRkRWRpdEZvcm0kb3UsIF90aGlzNyRhZGRFZGl0Rm9ybSRvdTIgPSBfdGhpczckYWRkRWRpdEZvcm0ub3V0Q29tcGFueUlkLCBvdXRDb21wYW55SWQgPSBfdGhpczckYWRkRWRpdEZvcm0kb3UyID09PSB2b2lkIDAgPyAnJyA6IF90aGlzNyRhZGRFZGl0Rm9ybSRvdTIsIF90aGlzNyRhZGRFZGl0Rm9ybSRybyA9IF90aGlzNyRhZGRFZGl0Rm9ybS5yb2FkSWQsIHJvYWRJZCA9IF90aGlzNyRhZGRFZGl0Rm9ybSRybyA9PT0gdm9pZCAwID8gJycgOiBfdGhpczckYWRkRWRpdEZvcm0kcm8sIF90aGlzNyRhZGRFZGl0Rm9ybSRvciA9IF90aGlzNyRhZGRFZGl0Rm9ybS5vcmdJZCwgb3JnSWQgPSBfdGhpczckYWRkRWRpdEZvcm0kb3IgPT09IHZvaWQgMCA/ICcnIDogX3RoaXM3JGFkZEVkaXRGb3JtJG9yLCBfdGhpczckYWRkRWRpdEZvcm0kcm8yID0gX3RoaXM3JGFkZEVkaXRGb3JtLnJvYWROYW1lLCByb2FkTmFtZSA9IF90aGlzNyRhZGRFZGl0Rm9ybSRybzIgPT09IHZvaWQgMCA/ICcnIDogX3RoaXM3JGFkZEVkaXRGb3JtJHJvMiwgYWRkRWRpdEZvcm0gPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3RoaXM3JGFkZEVkaXRGb3JtLCBfZXhjbHVkZWQyKTsKICAgICAgICAgICAgICAgIF9jb250ZXh0NS5wcmV2ID0gNzsKICAgICAgICAgICAgICAgIF9jb250ZXh0NS5uZXh0ID0gMTA7CiAgICAgICAgICAgICAgICByZXR1cm4gbXlJbnRlckZhY2UoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBhZGRFZGl0Rm9ybSksIHt9LCB7CiAgICAgICAgICAgICAgICAgIHRlbDogdGVsLAogICAgICAgICAgICAgICAgICBhY2NvdW50OiBhY2NvdW50LAogICAgICAgICAgICAgICAgICBvdXRDb21wYW55SWQ6IG91dENvbXBhbnlJZCwKICAgICAgICAgICAgICAgICAgcm9hZElkOiByb2FkSWQsCiAgICAgICAgICAgICAgICAgIG9yZ0lkOiBvcmdJZCwKICAgICAgICAgICAgICAgICAgcm9hZE5hbWU6IHJvYWROYW1lCiAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgY2FzZSAxMDoKICAgICAgICAgICAgICAgIF95aWVsZCRteUludGVyRmFjZSA9IF9jb250ZXh0NS5zZW50OwogICAgICAgICAgICAgICAgc3RhdGUgPSBfeWllbGQkbXlJbnRlckZhY2Uuc3RhdGU7CiAgICAgICAgICAgICAgICBtZXNzYWdlID0gX3lpZWxkJG15SW50ZXJGYWNlLm1lc3NhZ2U7CiAgICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IF90aGlzNy5pZCA/ICfnvJbovpEnIDogJ+aWsOWinic7CiAgICAgICAgICAgICAgICAgIF90aGlzNy4kbWVzc2FnZS5zdWNjZXNzKCJcdTY1NTFcdTYzRjRcdTRFQkFcdTU0NTgiLmNvbmNhdChtZXNzYWdlLCAiXHU2MjEwXHU1MjlGIikpOwogICAgICAgICAgICAgICAgICBfdGhpczcuY2hhbmdlUGFnZSgnVGFibGVQYWdlJywgX3RoaXM3LmlkID8gJ2VkaXQnIDogJ2FkZCcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGNhc2UgMTQ6CiAgICAgICAgICAgICAgICBfY29udGV4dDUucHJldiA9IDE0OwogICAgICAgICAgICAgICAgX3RoaXM3LnNhdmVMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ1LmZpbmlzaCgxNCk7CiAgICAgICAgICAgICAgY2FzZSAxNzoKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NS5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWU1LCBudWxsLCBbWzcsLCAxNCwgMTddXSk7CiAgICAgICAgfSkpOwogICAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gsIF94MikgewogICAgICAgICAgcmV0dXJuIF9yZWYuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICB9KCkpOwogICAgfSwKICAgIC8vIOWxleekuuW8ueWxggogICAgc2hvd0RpYWxvZzogZnVuY3Rpb24gc2hvd0RpYWxvZyhkaWFsb2dOYW1lKSB7CiAgICAgIGlmICghZGlhbG9nTmFtZSkgcmV0dXJuOwogICAgICB0aGlzW2RpYWxvZ05hbWUgKyAnRGlhbG9nJ10gPSB0cnVlOwogICAgfSwKICAgIC8vIOaUueWPmOmhtemdogogICAgY2hhbmdlUGFnZTogZnVuY3Rpb24gY2hhbmdlUGFnZSgpIHsKICAgICAgdmFyIHBhZ2VOYW1lID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAnJzsKICAgICAgdmFyIHR5cGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6ICcnOwogICAgICBpZiAoIXBhZ2VOYW1lKSByZXR1cm47CiAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZVBhZ2UnLCBwYWdlTmFtZSwgZnVuY3Rpb24gKF8pIHsKICAgICAgICBQdWJTdWIucHVibGlzaChwYWdlTmFtZSwgewogICAgICAgICAgdHlwZTogdHlwZQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0KICB9LAogIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7CiAgICBQdWJTdWIudW5zdWJzY3JpYmUodGhpcy50cmVlUHViU3ViKTsgLy8g5paw5aKe5Y+W5raI6K6i6ZiFCiAgICAvLyDlnKjnu4Tku7bplIDmr4HkuYvliY0g5riF6Zmk6K6i6ZiF5raI5oGvCiAgICBQdWJTdWIudW5zdWJzY3JpYmUodGhpcy5wdWJTdWIpOwogIH0KfTs="},null]}