{"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\\RescueFeeStandard\\RescueFeeCq\\components\\EditAddPage\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\RescueFeeStandard\\RescueFeeCq\\components\\EditAddPage\\index.vue","mtime":1741950290642},{"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:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0IF9vYmplY3REZXN0cnVjdHVyaW5nRW1wdHkgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3REZXN0cnVjdHVyaW5nRW1wdHkuanMiOwppbXBvcnQgX3JlZ2VuZXJhdG9yUnVudGltZSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS94Y2p5LWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS94Y2p5LWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FzeW5jVG9HZW5lcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5yZWR1Y2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmV2ZXJ5LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5yZWR1Y2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5udW1iZXIuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50ZXN0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLmVuZHMtd2l0aC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgeyBkaWN0aW9uYXJ5RXNjYXBlLCBnZXREaWN0aW9uYXJ5QnlDb2RlIH0gZnJvbSAnQC91dGlscy9kaWN0aW9uYXJ5JzsKaW1wb3J0IFB1YlN1YiBmcm9tICdwdWJzdWItanMnOwppbXBvcnQgeyB0YWJsZUFkZCwgdGFibGVEZXRhaWwsIHRhYmxlRWRpdCB9IGZyb20gJ0AvYXBpL3BhdHJvbEFuZFJlc2N1ZS9pbmZvTWdtdFBhdHJvbHNSZXNjdWVzL1Jlc2N1ZUZlZUNxJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdFZGl0QWRkUGFnZScsCiAgcHJvcHM6IHsKICAgIGNvbXBvbmVudE5hbWU6IHsKICAgICAgZGVmYXVsdDogJ1RhYmxlUGFnZScsCiAgICAgIHR5cGU6IFN0cmluZwogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHRleHRhcmVhOiAnJywKICAgICAgYnRuTG9hZGluZzogZmFsc2UsCiAgICAgIC8v5ouW6L2m5Z+656GAL+WKoOaUtgoKICAgICAgLy/lkIrovabln7rnoYAv5Yqg5pS2CiAgICAgIC8vIHJlc2N1ZUZlZVN0YW5kYXJkRGV0YWlsc0JlbmNobWFya0xpc3Q6IFtdLAogICAgICAvLyByZXNjdWVGZWVTdGFuZGFyZERldGFpbHNBZGRpdGlvbmFsTGlzdDogWwogICAgICAvLyAgIHsKICAgICAgLy8gICAgIGFkZGl0aW9uYWxOYW1lOiAn5aSc6Ze05L2c5LiaJywKICAgICAgLy8gICAgIG92ZXJ0cmF2ZWxQcm9wb3J0aW9uOiAnJwogICAgICAvLyAgIH0sCiAgICAgIC8vICAgewogICAgICAvLyAgICAgYWRkaXRpb25hbE5hbWU6ICfljbHpmanotKfnianovabovoYnLAogICAgICAvLyAgICAgb3ZlcnRyYXZlbFByb3BvcnRpb246ICcnCiAgICAgIC8vICAgfSwKICAgICAgLy8gICB7CiAgICAgIC8vICAgICBhZGRpdGlvbmFsTmFtZTogJ+map+mBk+WGheS9nOS4micsCiAgICAgIC8vICAgICBvdmVydHJhdmVsUHJvcG9ydGlvbjogJycKICAgICAgLy8gICB9LAogICAgICAvLyAgIHsKICAgICAgLy8gICAgIGFkZGl0aW9uYWxOYW1lOiAn5ZCK6KOF5Lqk6YCa5LqL5pWF6L2m6L6GJywKICAgICAgLy8gICAgIG92ZXJ0cmF2ZWxQcm9wb3J0aW9uOiAnJwogICAgICAvLyAgIH0KICAgICAgLy8gXSwKICAgICAgY2FyQ29sb3VyTGlzdDogW10sCiAgICAgIGFkZEVkaXRGb3JtOiB7CiAgICAgICAgbmFtZTogJycsCiAgICAgICAgaG9tZXdvcmtWZWhpY2xlczogJzEnLAogICAgICAgIHJlc2N1ZUZlZVN0YW5kYXJkRGV0YWlsc0JlbmNobWFya0xpc3Q6IFtdLAogICAgICAgIHJlc2N1ZUZlZVN0YW5kYXJkRGV0YWlsc0FkZGl0aW9uYWxMaXN0OiBbewogICAgICAgICAgYWRkaXRpb25hbE5hbWU6ICflpJzpl7TkvZzkuJonLAogICAgICAgICAgb3ZlcnRyYXZlbFByb3BvcnRpb246ICcnCiAgICAgICAgfSwgewogICAgICAgICAgYWRkaXRpb25hbE5hbWU6ICfljbHpmanotKfnianovabovoYnLAogICAgICAgICAgb3ZlcnRyYXZlbFByb3BvcnRpb246ICcnCiAgICAgICAgfSwgewogICAgICAgICAgYWRkaXRpb25hbE5hbWU6ICfpmqfpgZPlhoXkvZzkuJonLAogICAgICAgICAgb3ZlcnRyYXZlbFByb3BvcnRpb246ICcnCiAgICAgICAgfSwgewogICAgICAgICAgYWRkaXRpb25hbE5hbWU6ICfmi5bmi73kuqTpgJrkuovmlYXovabovoYnLAogICAgICAgICAgb3ZlcnRyYXZlbFByb3BvcnRpb246ICcnCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgYWRkRWRpdFJ1bGVzOiB7CiAgICAgICAgbmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+WQjeensOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICBtYW46IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICflhazlj7jms5XkurrkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgc2F2ZUxvYWRpbmc6IGZhbHNlLAogICAgICAvLyDkuIrkvKBsb2FkaW5nCiAgICAgIGlkOiAnJywKICAgICAgLy8gaWTmoIfor4bnrKYKICAgICAgcHViU3ViOiBudWxsCiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgIGNvbXBvbmVudE5hbWU6IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcihuZXdWYWwpIHsKICAgICAgICBpZiAobmV3VmFsID09PSB0aGlzLiRvcHRpb25zLm5hbWUpIHsKICAgICAgICAgIHRoaXMub3BlblBhZ2UoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy5jbG9zZVBhZ2UoKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmdldENhckNvbG91ckxpc3QoKTsgLy8g5Zyo57uE5Lu25Yib5bu65pe26I635Y+W5a2X5YW45pWw5o2uCiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKICAgIC8vIOWOn+acieeahOS6i+S7tuiuoumYhQogICAgdGhpcy5wdWJTdWIgPSBQdWJTdWIuc3Vic2NyaWJlKCdFZGl0QWRkUGFnZScsIGZ1bmN0aW9uIChfLCBkYXRhKSB7CiAgICAgIGlmIChkYXRhLmlkKSB7CiAgICAgICAgX3RoaXMuaWQgPSBkYXRhLmlkOwogICAgICAgIF90aGlzLmdldERldGFpbChkYXRhLmlkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyDmlrDlop7mqKHlvI8KICAgICAgICBpZiAoZGF0YS5jbGVhckZvcm0pIHsKICAgICAgICAgIC8vIOa4heepuuihqOWNleaVsOaNrgogICAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0gPSB7CiAgICAgICAgICAgIG5hbWU6ICcnLAogICAgICAgICAgICBzaG9ydE5hbWU6ICcnLAogICAgICAgICAgICBtYW46ICcnCiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgfQogICAgfSk7CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDmiZPlvIDpobXpnaLmiafooYwKICAgIG9wZW5QYWdlOiBmdW5jdGlvbiBvcGVuUGFnZSgpIHsKICAgICAgdGhpcy5nZXRDYXJDb2xvdXJMaXN0KCk7CiAgICB9LAogICAgZGljdGlvbmFyeUVzY2FwZTogZGljdGlvbmFyeUVzY2FwZSwKICAgIC8vIOiOt+WPlui9puexu+Wtl+WFuOaVsOaNrgogICAgZ2V0Q2FyQ29sb3VyTGlzdDogZnVuY3Rpb24gZ2V0Q2FyQ29sb3VyTGlzdCgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICB2YXIgcmVzcG9uc2UsIHRyYWlsZXJSZXNwb25zZTsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBnZXREaWN0aW9uYXJ5QnlDb2RlKCd6eWNsJyk7IC8vIOiwg+eUqOiOt+WPluWtl+WFuOaVsOaNrueahOaOpeWPowogICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlKSB7CiAgICAgICAgICAgICAgICAgIF90aGlzMi5jYXJDb2xvdXJMaXN0ID0gcmVzcG9uc2UubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBfdGhpczIuJG1lc3NhZ2UuZXJyb3IoJ+iOt+WPlui9puexu+Wtl+WFuOaVsOaNruWksei0pScpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy8g6I635Y+W6L2m5Z6L5a2X5YW45pWw5o2u77yIaGMtc3RjeO+8iQogICAgICAgICAgICAgICAgdHJhaWxlclJlc3BvbnNlID0gZ2V0RGljdGlvbmFyeUJ5Q29kZSgnaGMtc3RjeCcpOwogICAgICAgICAgICAgICAgaWYgKHRyYWlsZXJSZXNwb25zZSkgewogICAgICAgICAgICAgICAgICAvLyDliqjmgIHmm7TmlrAgcmVzY3VlRmVlU3RhbmRhcmREZXRhaWxzQmVuY2htYXJrTGlzdCDnmoQgdXNlcklkCiAgICAgICAgICAgICAgICAgIF90aGlzMi5hZGRFZGl0Rm9ybS5yZXNjdWVGZWVTdGFuZGFyZERldGFpbHNCZW5jaG1hcmtMaXN0ID0gdHJhaWxlclJlc3BvbnNlLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgICBjYXJDYXRlZ29yeTogaXRlbS5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgLy8g5L2/55So5a2X5YW45Lit55qEIG5hbWUg5L2c5Li6IHVzZXJJZAogICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrUHJpY2U6ICcnLAogICAgICAgICAgICAgICAgICAgICAgLy8g5Yid5aeL5YyW5Z+65Lu3CiAgICAgICAgICAgICAgICAgICAgICBvdmVydHJhdmVsRmVlczogJycsCiAgICAgICAgICAgICAgICAgICAgICAvLyDliJ3lp4vljJblop7mlr3kuIDlhazph4wKICAgICAgICAgICAgICAgICAgICAgIG92ZXJ0aW1lRmVlOiAnJyAvL+WinuWKoOS4gOWwj+aXtgogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgX3RoaXMyLiRtZXNzYWdlLmVycm9yKCfojrflj5bovablnovlrZflhbjmlbDmja7lpLHotKUnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgX3RoaXMyLiRtZXNzYWdlLmVycm9yKCfojrflj5bovabnsbvlrZflhbjmlbDmja7ml7blj5HnlJ/plJnor68nKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvL+aLlui9puWIoOmZpOS4gOihjAogICAgaGFuZGxlRGVsZXRlOiBmdW5jdGlvbiBoYW5kbGVEZWxldGUoaW5kZXgsIHJvdykgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdGhpcy4kY29uZmlybSgn5q2k5pON5L2c5bCG5rC45LmF5Yig6Zmk6K+l5paH5Lu2LCDmmK/lkKbnu6fnu60/JywgJ+aPkOekuicsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMy5yZXNjdWVGZWVTdGFuZGFyZERldGFpbHNCZW5jaG1hcmtMaXN0LnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgX3RoaXMzLiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgIG1lc3NhZ2U6ICfliKDpmaTmiJDlip8hJwogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMzLiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdpbmZvJywKICAgICAgICAgIG1lc3NhZ2U6ICflt7Llj5bmtojliKDpmaQnCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIGhhbmRsZURlbGV0ZW90aGVyOiBmdW5jdGlvbiBoYW5kbGVEZWxldGVvdGhlcihpbmRleCwgcm93KSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICB0aGlzLiRjb25maXJtKCfmraTmk43kvZzlsIbmsLjkuYXliKDpmaTor6Xmlofku7YsIOaYr+WQpue7p+e7rT8nLCAn5o+Q56S6JywgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM0LnJlc2N1ZUZlZVN0YW5kYXJkRGV0YWlsc0FkZGl0aW9uYWxMaXN0LnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgX3RoaXM0LiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgIG1lc3NhZ2U6ICfliKDpmaTmiJDlip8hJwogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM0LiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdpbmZvJywKICAgICAgICAgIG1lc3NhZ2U6ICflt7Llj5bmtojliKDpmaQnCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOWQiui9puWIoOmZpOS4gOihjAogICAgaGFuZGxlRGVsZXRlYmJiOiBmdW5jdGlvbiBoYW5kbGVEZWxldGViYmIoaW5kZXgsIHJvdykgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgdGhpcy4kY29uZmlybSgn5q2k5pON5L2c5bCG5rC45LmF5Yig6Zmk6K+l5paH5Lu2LCDmmK/lkKbnu6fnu60/JywgJ+aPkOekuicsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzNS5yZXNjdWVGZWVTdGFuZGFyZERldGFpbHNCZW5jaG1hcmtMaXN0LnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgX3RoaXM1LiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgIG1lc3NhZ2U6ICfliKDpmaTmiJDlip8hJwogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM1LiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdpbmZvJywKICAgICAgICAgIG1lc3NhZ2U6ICflt7Llj5bmtojliKDpmaQnCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIGhhbmRsZURlbGV0ZW90aGVyYmJiOiBmdW5jdGlvbiBoYW5kbGVEZWxldGVvdGhlcmJiYihpbmRleCwgcm93KSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICB0aGlzLiRjb25maXJtKCfmraTmk43kvZzlsIbmsLjkuYXliKDpmaTor6Xmlofku7YsIOaYr+WQpue7p+e7rT8nLCAn5o+Q56S6JywgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM2LnJlc2N1ZUZlZVN0YW5kYXJkRGV0YWlsc0FkZGl0aW9uYWxMaXN0LnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgX3RoaXM2LiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgIG1lc3NhZ2U6ICfliKDpmaTmiJDlip8hJwogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM2LiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdpbmZvJywKICAgICAgICAgIG1lc3NhZ2U6ICflt7Llj5bmtojliKDpmaQnCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOmYsuaKluWHveaVsAogICAgZGVib3VuY2U6IGZ1bmN0aW9uIGRlYm91bmNlKGZ1bmMsIHdhaXQpIHsKICAgICAgdmFyIHRpbWVvdXQ7CiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CiAgICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7CiAgICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldOwogICAgICAgIH0KICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7CiAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgZnVuYy5hcHBseShfdGhpczcsIGFyZ3MpOwogICAgICAgIH0sIHdhaXQpOwogICAgICB9OwogICAgfSwKICAgIC8vIOWkhOeQhui+k+WFpeS6i+S7tgogICAgaGFuZGxlSW5wdXQ6IGZ1bmN0aW9uIGhhbmRsZUlucHV0KHJvdywgZmllbGQpIHsKICAgICAgLy8g6I635Y+W6L6T5YWl55qE5YC8CiAgICAgIHZhciB2YWx1ZSA9IHJvd1tmaWVsZF07CiAgICAgIC8vIOWmguaenOi+k+WFpeeahOaYr+aVsOWtl++8jOWImeW7tui/n+a3u+WKoCAlCiAgICAgIGlmICgvXlxkKyQvLnRlc3QodmFsdWUpKSB7CiAgICAgICAgdGhpcy5kZWJvdW5jZShmdW5jdGlvbiAoKSB7CiAgICAgICAgICByb3dbZmllbGRdID0gdmFsdWUgKyAnJSc7CiAgICAgICAgfSwgMTAwMCkoKTsgLy8g5bu26L+fIDEg56eSCiAgICAgIH0gZWxzZSBpZiAodmFsdWUuZW5kc1dpdGgoJyUnKSkgewogICAgICAgIC8vIOWmguaenOW3sue7j+WMheWQqyAl77yM5YiZ5Y675o6JICUg5ZCO5YaN5qOA5p+lCiAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgwLCAtMSk7CiAgICAgICAgaWYgKC9eXGQrJC8udGVzdCh2YWx1ZSkpIHsKICAgICAgICAgIHJvd1tmaWVsZF0gPSB2YWx1ZSArICclJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8g5aaC5p6c5LiN5piv5pWw5a2X77yM5YiZ5riF56m66L6T5YWl5qGGCiAgICAgICAgICByb3dbZmllbGRdID0gJyc7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIC8vIOWmguaenOi+k+WFpeeahOS4jeaYr+aVsOWtl++8jOWImea4heepuui+k+WFpeahhgogICAgICAgIHJvd1tmaWVsZF0gPSAnJzsKICAgICAgfQogICAgfSwKICAgIC8vIOWQiOiuoeaWueazlQogICAgZ2V0U3VtbWFyaWVzOiBmdW5jdGlvbiBnZXRTdW1tYXJpZXMocGFyYW0pIHsKICAgICAgdmFyIGNvbHVtbnMgPSBwYXJhbS5jb2x1bW5zLAogICAgICAgIGRhdGEgPSBwYXJhbS5kYXRhOwogICAgICB2YXIgc3VtcyA9IFtdOwogICAgICBjb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbHVtbiwgaW5kZXgpIHsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIHN1bXNbaW5kZXhdID0gJ+WKoOWIhumhueWQiOiuoSc7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHZhciB2YWx1ZXMgPSBkYXRhLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgcmV0dXJuIE51bWJlcihpdGVtW2NvbHVtbi5wcm9wZXJ0eV0pOwogICAgICAgIH0pOwogICAgICAgIGlmICghdmFsdWVzLmV2ZXJ5KGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKTsKICAgICAgICB9KSkgewogICAgICAgICAgc3Vtc1tpbmRleF0gPSB2YWx1ZXMucmVkdWNlKGZ1bmN0aW9uIChwcmV2LCBjdXJyKSB7CiAgICAgICAgICAgIHZhciB2YWx1ZSA9IE51bWJlcihjdXJyKTsKICAgICAgICAgICAgaWYgKCFpc05hTih2YWx1ZSkpIHsKICAgICAgICAgICAgICByZXR1cm4gcHJldiArIGN1cnI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgcmV0dXJuIHByZXY7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIDApOwogICAgICAgICAgc3Vtc1tpbmRleF0gKz0gJyAlJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgc3Vtc1tpbmRleF0gPSAnTi9BJzsKICAgICAgICB9CiAgICAgIH0pOwogICAgICByZXR1cm4gc3VtczsKICAgIH0sCiAgICAvLyDliqjmgIHorr7nva7ljZXlhYPmoLznsbvlkI0KICAgIHRhYmxlQ2VsbENsYXNzTmFtZTogZnVuY3Rpb24gdGFibGVDZWxsQ2xhc3NOYW1lKF9yZWYpIHsKICAgICAgdmFyIHJvdyA9IF9yZWYucm93LAogICAgICAgIGNvbHVtbiA9IF9yZWYuY29sdW1uLAogICAgICAgIHJvd0luZGV4ID0gX3JlZi5yb3dJbmRleDsKICAgICAgLy8g5aaC5p6c5piv5ZCI6K6h6KGM77yI5pyA5ZCO5LiA6KGM77yJCiAgICAgIGlmIChyb3dJbmRleCA9PT0gdGhpcy5hZGRFZGl0Rm9ybS5yZXNjdWVGZWVTdGFuZGFyZERldGFpbHNBZGRpdGlvbmFsTGlzdC5sZW5ndGgpIHsKICAgICAgICByZXR1cm4gJ3N1bW1hcnktcm93JzsgLy8g6L+U5Zue6Ieq5a6a5LmJ57G75ZCNCiAgICAgIH0KICAgICAgcmV0dXJuICcnOwogICAgfSwKICAgIC8vIOWFs+mXremhtemdouaJp+ihjAogICAgY2xvc2VQYWdlOiBmdW5jdGlvbiBjbG9zZVBhZ2UoKSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwogICAgICAvLyDmuIXnqbrooajljZXmlbDmja4KICAgICAgdGhpcy5hZGRFZGl0Rm9ybSA9IHsKICAgICAgICBuYW1lOiAnJywKICAgICAgICBzaG9ydE5hbWU6ICcnLAogICAgICAgIG1hbjogJycKICAgICAgfTsKICAgICAgLy8g6YeN572u57uE5Lu25pWw5o2uCiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy4kZGF0YSwgdGhpcy4kb3B0aW9ucy5kYXRhLmNhbGwodGhpcyksIHsKICAgICAgICBwdWJTdWI6IHRoaXMucHViU3ViCiAgICAgIH0pOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoXykgewogICAgICAgIF90aGlzOC4kcmVmcy5hZGRFZGl0Rm9ybS4kZWwuc2Nyb2xsVG9wID0gMDsKICAgICAgICBfdGhpczguJHJlZnMuYWRkRWRpdEZvcm0uY2xlYXJWYWxpZGF0ZSgpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDojrflj5bor6bmg4UKICAgIGdldERldGFpbDogZnVuY3Rpb24gZ2V0RGV0YWlsKGlkKSB7CiAgICAgIHZhciBfdGhpczkgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHZhciBfeWllbGQkdGFibGVEZXRhaWwsIGFkZEVkaXRGb3JtOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlRGV0YWlsKGlkKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF95aWVsZCR0YWJsZURldGFpbCA9IF9jb250ZXh0Mi5zZW50OwogICAgICAgICAgICAgIGFkZEVkaXRGb3JtID0gT2JqZWN0LmFzc2lnbih7fSwgKF9vYmplY3REZXN0cnVjdHVyaW5nRW1wdHkoX3lpZWxkJHRhYmxlRGV0YWlsKSwgX3lpZWxkJHRhYmxlRGV0YWlsKSk7CiAgICAgICAgICAgICAgX3RoaXM5LmFkZEVkaXRGb3JtID0gX29iamVjdFNwcmVhZCh7fSwgYWRkRWRpdEZvcm0pOwogICAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTIpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDkv53lrZgKICAgIGhhbmRsZVNhdmU6IGZ1bmN0aW9uIGhhbmRsZVNhdmUoKSB7CiAgICAgIHZhciBfdGhpczEwID0gdGhpczsKICAgICAgdGhpcy4kcmVmcy5hZGRFZGl0Rm9ybS52YWxpZGF0ZSgvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBfcmVmMiA9IF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMyh2YWxpZCwgb2JqZWN0KSB7CiAgICAgICAgICB2YXIgbXlJbnRlckZhY2UsIF95aWVsZCRteUludGVyRmFjZSwgc3RhdGUsIG1lc3NhZ2U7CiAgICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTMkKF9jb250ZXh0MykgewogICAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDMucHJldiA9IF9jb250ZXh0My5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gNDsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBfdGhpczEwLiRtZXNzYWdlLndhcm5pbmcoIlx1NjcwOSIuY29uY2F0KE9iamVjdC5rZXlzKG9iamVjdCkubGVuZ3RoLCAiXHU0RTJBXHU1QjU3XHU2QkI1XHU2NzJBXHU5MDFBXHU4RkM3XHU2ODIxXHU5QThDXHVGRjBDXHU4QkY3XHU2QjYzXHU3ODZFXHU1ODZCXHU1MTk5XHU4ODY4XHU1MzU1XHU1MTg1XHU1QkI5XHUzMDAyIikpOwogICAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAxODsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICAgIC8vIOWOu+aOiSAlIOespuWPtwogICAgICAgICAgICAgICAgX3RoaXMxMC5hZGRFZGl0Rm9ybS5yZXNjdWVGZWVTdGFuZGFyZERldGFpbHNBZGRpdGlvbmFsTGlzdCA9IF90aGlzMTAuYWRkRWRpdEZvcm0ucmVzY3VlRmVlU3RhbmRhcmREZXRhaWxzQWRkaXRpb25hbExpc3QubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICAgIGlmIChpdGVtLm92ZXJ0cmF2ZWxQcm9wb3J0aW9uICYmIHR5cGVvZiBpdGVtLm92ZXJ0cmF2ZWxQcm9wb3J0aW9uID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgIGl0ZW0ub3ZlcnRyYXZlbFByb3BvcnRpb24gPSBpdGVtLm92ZXJ0cmF2ZWxQcm9wb3J0aW9uLnJlcGxhY2UoJyUnLCAnJyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIC8vIOaJk+WNsOihqOWNleaVsOaNrgogICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+ihqOWNleaVsOaNrjonLCBfb2JqZWN0U3ByZWFkKHt9LCBfdGhpczEwLmFkZEVkaXRGb3JtKSk7CiAgICAgICAgICAgICAgICBfdGhpczEwLnNhdmVMb2FkaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgIG15SW50ZXJGYWNlID0gX3RoaXMxMC5pZCA/IHRhYmxlRWRpdCA6IHRhYmxlQWRkOwogICAgICAgICAgICAgICAgX2NvbnRleHQzLnByZXYgPSA4OwogICAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAxMTsKICAgICAgICAgICAgICAgIHJldHVybiBteUludGVyRmFjZShfb2JqZWN0U3ByZWFkKHt9LCBfdGhpczEwLmFkZEVkaXRGb3JtKSk7CiAgICAgICAgICAgICAgY2FzZSAxMToKICAgICAgICAgICAgICAgIF95aWVsZCRteUludGVyRmFjZSA9IF9jb250ZXh0My5zZW50OwogICAgICAgICAgICAgICAgc3RhdGUgPSBfeWllbGQkbXlJbnRlckZhY2Uuc3RhdGU7CiAgICAgICAgICAgICAgICBtZXNzYWdlID0gX3lpZWxkJG15SW50ZXJGYWNlLm1lc3NhZ2U7CiAgICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IF90aGlzMTAuaWQgPyAn5L+u5pS5JyA6ICfmlrDlop4nOwogICAgICAgICAgICAgICAgICBfdGhpczEwLiRtZXNzYWdlLnN1Y2Nlc3MoIlx1NjU1MVx1NjNGNFx1NjUzNlx1OEQzOVx1NjgwN1x1NTFDNiIuY29uY2F0KG1lc3NhZ2UsICJcdTYyMTBcdTUyOUYiKSk7CiAgICAgICAgICAgICAgICAgIC8vIOa4heepuuihqOWNleaVsOaNrgogICAgICAgICAgICAgICAgICBfdGhpczEwLmFkZEVkaXRGb3JtID0gewogICAgICAgICAgICAgICAgICAgIG5hbWU6ICcnLAogICAgICAgICAgICAgICAgICAgIHNob3J0TmFtZTogJycsCiAgICAgICAgICAgICAgICAgICAgbWFuOiAnJwogICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICBfdGhpczEwLmNoYW5nZVBhZ2UoJ1RhYmxlUGFnZScsIF90aGlzMTAuaWQgPyAnZWRpdCcgOiAnYWRkJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgY2FzZSAxNToKICAgICAgICAgICAgICAgIF9jb250ZXh0My5wcmV2ID0gMTU7CiAgICAgICAgICAgICAgICBfdGhpczEwLnNhdmVMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLmZpbmlzaCgxNSk7CiAgICAgICAgICAgICAgY2FzZSAxODoKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWUzLCBudWxsLCBbWzgsLCAxNSwgMThdXSk7CiAgICAgICAgfSkpOwogICAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gsIF94MikgewogICAgICAgICAgcmV0dXJuIF9yZWYyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgfTsKICAgICAgfSgpKTsKICAgIH0sCiAgICAvLyDmlLnlj5jpobXpnaIKICAgIGNoYW5nZVBhZ2U6IGZ1bmN0aW9uIGNoYW5nZVBhZ2UoKSB7CiAgICAgIHZhciBwYWdlTmFtZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJyc7CiAgICAgIHZhciB0eXBlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAnJzsKICAgICAgaWYgKCFwYWdlTmFtZSkgcmV0dXJuOwogICAgICAvLyDmuIXnqbrooajljZXmlbDmja4KICAgICAgdGhpcy5hZGRFZGl0Rm9ybSA9IHsKICAgICAgICBuYW1lOiAnJywKICAgICAgICBzaG9ydE5hbWU6ICcnLAogICAgICAgIG1hbjogJycKICAgICAgfTsKICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlUGFnZScsIHBhZ2VOYW1lLCBmdW5jdGlvbiAoXykgewogICAgICAgIFB1YlN1Yi5wdWJsaXNoKHBhZ2VOYW1lLCB7CiAgICAgICAgICB0eXBlOiB0eXBlCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQogIH0sCiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHsKICAgIC8vIOWcqOe7hOS7tumUgOavgeS5i+WJjSDmuIXpmaTorqLpmIXmtojmga8KICAgIFB1YlN1Yi51bnN1YnNjcmliZSh0aGlzLnB1YlN1Yik7CiAgfQp9Ow=="},null]}