{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/babel-loader/lib/index.js!/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/cache-loader/dist/cjs.js??ref--1-0!/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/src/components/timApp/trtc/calling-index.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/src/components/timApp/trtc/calling-index.vue","mtime":1735983065218},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/babel.config.js","mtime":1703661155587},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJ2YW50L2VzL3RvYXN0L3N0eWxlL2xlc3MiOwppbXBvcnQgX1RvYXN0IGZyb20gInZhbnQvZXMvdG9hc3QiOwppbXBvcnQgInZhbnQvZXMvaWNvbi9zdHlsZS9sZXNzIjsKaW1wb3J0IF9JY29uIGZyb20gInZhbnQvZXMvaWNvbiI7CmltcG9ydCAidmFudC9lcy9yYWRpby9zdHlsZS9sZXNzIjsKaW1wb3J0IF9SYWRpbyBmcm9tICJ2YW50L2VzL3JhZGlvIjsKaW1wb3J0ICJ2YW50L2VzL3JhZGlvLWdyb3VwL3N0eWxlL2xlc3MiOwppbXBvcnQgX1JhZGlvR3JvdXAgZnJvbSAidmFudC9lcy9yYWRpby1ncm91cCI7CmltcG9ydCAidmFudC9lcy9uYXYtYmFyL3N0eWxlL2xlc3MiOwppbXBvcnQgX05hdkJhciBmcm9tICJ2YW50L2VzL25hdi1iYXIiOwppbXBvcnQgInZhbnQvZXMvcG9wdXAvc3R5bGUvbGVzcyI7CmltcG9ydCBfUG9wdXAgZnJvbSAidmFudC9lcy9wb3B1cCI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgcnRjIGZyb20gIkAvY29tcG9uZW50cy9taXhpbnMvcnRjIjsKaW1wb3J0IHsgZ2V0Um9vbXMsIGxlYXZlIH0gZnJvbSAiQC9hcGkvcm9vbS1jb250cm9sbGVyIjsKaW1wb3J0IHsgZXhpdFJvb20sIHNlbmRWaWRlb1Jvb21Nc2cgfSBmcm9tICJAL2FwaS9iY3hpbi9pZGVudGlmeSI7CmltcG9ydCBBdmF0YXIgZnJvbSAiQGNvbXBvbmVudHMvYXZhdGFyLnZ1ZSI7CmltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAidnVleCI7CmltcG9ydCBkYXlqcyBmcm9tICJkYXlqcyI7CmltcG9ydCBkdXJhdGlvbiBmcm9tICJkYXlqcy9wbHVnaW4vZHVyYXRpb24iOwpkYXlqcy5leHRlbmQoZHVyYXRpb24pOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIkNhbGxMYXllciIsCiAgY29tcG9uZW50czogewogICAgQXZhdGFyLAogICAgW19Qb3B1cC5uYW1lXTogX1BvcHVwLAogICAgW19OYXZCYXIubmFtZV06IF9OYXZCYXIsCiAgICBbX1JhZGlvR3JvdXAubmFtZV06IF9SYWRpb0dyb3VwLAogICAgW19SYWRpby5uYW1lXTogX1JhZGlvLAogICAgW19JY29uLm5hbWVdOiBfSWNvbiwKICAgIFtfVG9hc3QubmFtZV06IF9Ub2FzdAogIH0sCiAgbWl4aW5zOiBbcnRjXSwKICBwcm9wczogewogICAgdmlzaWJsZTogQm9vbGVhbiwKICAgIGdyb3VwQ2FsbDogQm9vbGVhbiwKICAgIC8vIOaYr+WQpuWkmuS6uuaooeW8jwogICAgbWVtYmVyTGlzdDogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gW107CiAgICAgIH0KICAgIH0sCiAgICBhbGxNZW1iZXJzOiB7CiAgICAgIC8vIOmZpOiwg+W6puS6uuWkluaJgOacieWPr+mAieeahOWPguS4juiAhQogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gW107CiAgICAgIH0KICAgIH0sCiAgICB0eXBlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogInZpZGVvIiwKICAgICAgdmFsaWRhdGU6IHZhbHVlID0+IHsKICAgICAgICByZXR1cm4gWyJ2aWRlbyIsICJhdWRpbyJdLmluY2x1ZGVzKHZhbHVlKTsKICAgICAgfQogICAgfSwKICAgIGF1ZGlvOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IHRydWUKICAgIH0sCiAgICB2aWRlbzogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiB0cnVlCiAgICB9LAogICAgeWFyZG1hblR5cGU6IHsKICAgICAgLy8g6LCD5bqm57G75Z6L77yaMeinhumikeiwg+W6piAyIOinhumikeS4iuaLie+8mumZpOS6huinhumikeS4iuaLieS8oDLvvIzlhbbku5bpn7PpopHosIPluqbkuI7op4bpopHosIPluqbpg73kvKAxCiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogIjEiCiAgICB9CiAgfSwKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgZGlhbGxpbmc6IGZhbHNlLAogICAgICAvLyDmmK/lkKbmi6jmiZPnlLXor53kuK0KICAgICAgY2FsbGluZzogZmFsc2UsCiAgICAgIC8vIOaYr+WQpumAmuivneS4rQogICAgICBpc0RpYWxsZWQ6IGZhbHNlLAogICAgICAvLyDmmK/lkKbooqvlkbzlj6sKICAgICAgY3VycmVudERhdGV0aW1lOiAiMDA6MDAiLAogICAgICBzdGFydFRpbWU6IG51bGwsCiAgICAgIHRpbWVyOiBudWxsLAogICAgICBsYXlvdXQ6IDMsCiAgICAgIHNob3dMYXlvdXQ6IGZhbHNlLAogICAgICBkaWFsbGluZ1RpbWU6IDAsCiAgICAgIC8vIDFWMeaLqOWPt+WAkuiuoeaXtgogICAgICBkaWFsbGluZ1RpbWVyOiBudWxsLAogICAgICAvLyAxVjHmi6jlj7flgJLorqHml7blrprml7blmagKICAgICAgcm9vbUlkOiAiIiwKICAgICAgYWxsTWVtYmVyc1RpbWVyOiBudWxsCiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIC4uLm1hcFN0YXRlKHsKICAgICAgY3VycmVudFVzZXJQcm9maWxlOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLmN1cnJlbnRVc2VyUHJvZmlsZSwKICAgICAgdXNlcklEOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLnVzZXJJRCwKICAgICAgdXNlclNpZzogc3RhdGUgPT4gc3RhdGUudXNlci51c2VyU2lnLAogICAgICBzZGtBcHBJRDogc3RhdGUgPT4gc3RhdGUudXNlci5zZGtBcHBJRCwKICAgICAgc3lzVXNlckluZm86IHN0YXRlID0+IHN0YXRlLnVzZXIuc3lzVXNlckluZm8KICAgIH0pLAogICAgdGl0bGUoKSB7CiAgICAgIHJldHVybiAi57Sn5oCl5ZG85Y+r5LitIjsKICAgIH0sCiAgICBzaG93Q2FsbGluZzogewogICAgICBnZXQoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZGlhbGxpbmcgfHwgdGhpcy5jYWxsaW5nIHx8IHRoaXMuaXNEaWFsbGVkOwogICAgICB9LAogICAgICBzZXQodmFsdWUpIHsKICAgICAgICB0aGlzLmRpYWxsaW5nID0gdmFsdWU7CiAgICAgICAgdGhpcy5jYWxsaW5nID0gdmFsdWU7CiAgICAgICAgdGhpcy5pc0RpYWxsZWQgPSB2YWx1ZTsKICAgICAgfQogICAgfSwKICAgIG1lbWJlckxpc3RTb3J0KCkgewogICAgICByZXR1cm4gWy4uLnRoaXMubWVtYmVyTGlzdF0uc29ydCgoYSwgYikgPT4gewogICAgICAgIHZhciBfYSRzdGF0ZTsKICAgICAgICByZXR1cm4gYSA9PT0gbnVsbCB8fCBhID09PSB2b2lkIDAgfHwgKF9hJHN0YXRlID0gYS5zdGF0ZSkgPT09IG51bGwgfHwgX2Ekc3RhdGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hJHN0YXRlLmxvY2FsZUNvbXBhcmUoYiA9PT0gbnVsbCB8fCBiID09PSB2b2lkIDAgPyB2b2lkIDAgOiBiLnN0YXRlKTsKICAgICAgfSk7CiAgICB9CiAgfSwKICB3YXRjaDogewogICAgbWVtYmVyTGlzdDogewogICAgICBoYW5kbGVyKHZhbHVlKSB7CiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHsKICAgICAgICAgIHRoaXMubGF5b3V0ID0gMzsKICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPj0gMykgewogICAgICAgICAgICB0aGlzLmxheW91dCA9IDY7CiAgICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPj0gNikgewogICAgICAgICAgICAgIHRoaXMubGF5b3V0ID0gOTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgLyoqCiAgICAgICAgICAgKiDosIPluqbpgJrorq/kuK3ku6XkuIvlh6Dnp43mg4XlhrXvvIzosIPluqbnqpflj6Pnm7TmjqXlhbPpl63vvJoKICAgICAgICAgICAqIOesrOS4gOOAgeWFqOWRmOaOpeWQrOWQjumDveaMguaWrQogICAgICAgICAgICog56ys5LqM44CB5YWo5ZGY6YO96KKr56e76ZmkCiAgICAgICAgICAgKiDnrKzkuInjgIHlhajlkZjlhajpg6jotoXml7bmnKrmjqXlkKwKICAgICAgICAgICAqIOesrOWbm+OAgeiwg+W6pueql+WPo+S4re+8jOWPquWJqeiwg+W6puWRmOS4gOS4qgogICAgICAgICAgICovCiAgICAgICAgICBjb25zdCBvZmZsaW5lTWVtYmVycyA9IFsuLi52YWx1ZV0uZmlsdGVyKHggPT4geC5zdGF0ZSA9PT0gIkRJU0NPTk5FQ1RFRCIpLmxlbmd0aDsKICAgICAgICAgIGNvbnNvbGUubG9nKCJvZmZsaW5lIG1lbWJlcnMiLCBvZmZsaW5lTWVtYmVycywgdmFsdWUubGVuZ3RoKTsKICAgICAgICAgIGlmIChvZmZsaW5lTWVtYmVycyA+PSB2YWx1ZS5sZW5ndGggJiYgKHRoaXMuY2FsbGluZyB8fCB0aGlzLmRpYWxsaW5nKSkgewogICAgICAgICAgICB0aGlzLm9uQ2xvc2UoKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlZXA6IHRydWUsCiAgICAgIGltbWVkaWF0ZTogdHJ1ZQogICAgfSwKICAgIC8qKgogICAgICogQOS4gOWvueS4gOiiq+iwg+W6puaWueayoeacieaOpeeahOivnTHliIbpkp/lkI7osIPluqbmlrnnm7TmjqXnu5PmnZ8KICAgICAqIEBwYXJhbSB2YWx1ZQogICAgICovCiAgICBkaWFsbGluZ1RpbWUodmFsdWUpIHsKICAgICAgaWYgKHZhbHVlICYmIHZhbHVlID49IDYwIC8qICYmIHByb2Nlc3MuZW52LlZVRV9BUFBfRU5WICE9PSAiZGV2ZWxvcG1lbnQiICovKSB7CiAgICAgICAgdGhpcy5vbkNsb3NlKCk7CiAgICAgIH0KICAgIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIG9uT3BlbigpIHsKICAgICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICB0aGlzLnNldFRpbWVyKCk7CiAgICB9LAogICAgb25DbG9zZSgpIHsKICAgICAgdGhpcy5zaG93Q2FsbGluZyA9IGZhbHNlOwogICAgfSwKICAgIGhhbmRsZUxlYXZlKCkgewogICAgICB0aGlzLmVuZERpYWxpbmdUaW1lQ291bnRpbmcoKTsKICAgICAgdGhpcy5lbmRNZW1iZXJUaW1lcigpOwogICAgICB0aGlzLmVuZEN1cnJlbnRUaW1lcigpOwogICAgICB0aGlzLmxlYXZlKCkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGF3YWl0IGV4aXRSb29tKHsKICAgICAgICAgICAgcm9vbU5vOiB0aGlzLnJvb21JZAogICAgICAgICAgfSk7CiAgICAgICAgICB0aGlzLmNsb3NlKCk7CiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgICAgIGNvbnNvbGUuZXJyb3IoImxlYXZlIHJvb20gZXJyb3IiLCBlcnJvcik7CiAgICAgICAgICB0aGlzLmFkZEZhaWxlZExvZyhgTGVhdmUgcm9vbSBmYWlsZWQuIEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCk7CiAgICAgICAgICAvLyB0aGlzLnJlcG9ydEZhaWxlZEV2ZW50KCJsZWF2ZVJvb20iLCBlcnJvcik7CiAgICAgICAgICB0aHJvdyBlcnJvcjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGNsb3NlKCkgewogICAgICBsZWF2ZSh0aGlzLnJvb21JZCkudGhlbihyZXMgPT4gewogICAgICAgIGNvbnNvbGUubG9nKHJlcyk7CiAgICAgICAgY29uc3QgbWVtYmVyTGlzdCA9IHRoaXMubWVtYmVyTGlzdC5tYXAoeCA9PiB7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAuLi54LAogICAgICAgICAgICBzdGF0ZTogIkNPTk5FQ1RJTkciLAogICAgICAgICAgICBhY3Rpb246ICIiLAogICAgICAgICAgICB0aW1lcjogMCwKICAgICAgICAgICAgdGltZW91dDogZmFsc2UsCiAgICAgICAgICAgIGJlS2lja091dDogZmFsc2UsCiAgICAgICAgICAgIGhhbmd1cDogZmFsc2UKICAgICAgICAgIH07CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy4kZW1pdCgidXBkYXRlOm1lbWJlckxpc3QiLCBtZW1iZXJMaXN0KTsKICAgICAgICAvLyB0aGlzLiRzdG9yZS5jb21taXQoIlRPR0dMRV9ESVNQQVRDSElORyIsIGZhbHNlKTsKICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoIlNFVF9ST09NX0lEIiwgbnVsbCk7CiAgICAgICAgdGhpcy4kZW1pdCgiY2xvc2UiKTsKICAgICAgfSk7CiAgICB9LAogICAgdGltZUZvcm1hdChob3VycywgbWludXRlcywgc2Vjb25kcykgewogICAgICBpZiAoaG91cnMgPiAwKSB7CiAgICAgICAgaWYgKGhvdXJzIDwgMTApIHsKICAgICAgICAgIGhvdXJzID0gIjAiICsgaG91cnM7CiAgICAgICAgfQogICAgICAgIGlmIChtaW51dGVzIDwgMTApIHsKICAgICAgICAgIG1pbnV0ZXMgPSAiMCIgKyBtaW51dGVzOwogICAgICAgIH0KICAgICAgICBpZiAoc2Vjb25kcyA8IDEwKSB7CiAgICAgICAgICBzZWNvbmRzID0gIjAiICsgc2Vjb25kczsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGhvdXJzICsgIjoiICsgbWludXRlcyArICI6IiArIHNlY29uZHM7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKG1pbnV0ZXMgPiAwKSB7CiAgICAgICAgICBpZiAobWludXRlcyA8IDEwKSB7CiAgICAgICAgICAgIG1pbnV0ZXMgPSAiMCIgKyBtaW51dGVzOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHNlY29uZHMgPCAxMCkgewogICAgICAgICAgICBzZWNvbmRzID0gIjAiICsgc2Vjb25kczsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBtaW51dGVzICsgIjoiICsgc2Vjb25kczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHNlY29uZHMgPCAxMCkgewogICAgICAgICAgICBzZWNvbmRzID0gIjAiICsgc2Vjb25kczsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiAiMDA6IiArIHNlY29uZHM7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgc2V0VGltZXIoKSB7CiAgICAgIHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICBjb25zdCB4ID0gZGF5anMoKTsKICAgICAgICBjb25zdCB5ID0gZGF5anModGhpcy5zdGFydFRpbWUpOwogICAgICAgIGNvbnN0IGN1cnJlbnRIb3VyID0gZGF5anMuZHVyYXRpb24oeC5kaWZmKHkpKS5nZXQoImhvdXJzIik7CiAgICAgICAgY29uc3QgY3VycmVudE1pbiA9IGRheWpzLmR1cmF0aW9uKHguZGlmZih5KSkuZ2V0KCJtaW51dGVzIik7CiAgICAgICAgY29uc3QgY3VycmVudFNlY29uZCA9IGRheWpzLmR1cmF0aW9uKHguZGlmZih5KSkuZ2V0KCJzZWNvbmRzIik7CiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZXRpbWUgPSB0aGlzLnRpbWVGb3JtYXQoY3VycmVudEhvdXIsIGN1cnJlbnRNaW4sIGN1cnJlbnRTZWNvbmQpOwogICAgICAgIHRoaXMuc2V0VGltZXIoKTsKICAgICAgfSwgMTAwMCk7CiAgICB9LAogICAgLyoqCiAgICAgKiBA5ZCO5Y+w5ouo5Y+35o6l5Y+jCiAgICAgKiBAcGFyYW0gcm9vbUlkCiAgICAgKiBAcGFyYW0gTWVtYmVyTGlzdAogICAgICogQHBhcmFtIFVzZUxpc3QKICAgICAqLwogICAgc2VuZFJvb21NZXNzYWdlKHJvb21JZCwgTWVtYmVyTGlzdCwgVXNlTGlzdCkgewogICAgICBjb25zdCB1c2VySW5mbyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ1c2VySW5mbyIpOwogICAgICBpZiAodXNlckluZm8pIHsKICAgICAgICBjb25zdCB1c2VyID0gSlNPTi5wYXJzZSh1c2VySW5mbyk7CiAgICAgICAgY29uc3QgcGFyYW1zID0gewogICAgICAgICAgUm9vbU5vOiByb29tSWQsCiAgICAgICAgICAvL+aIv+mXtAogICAgICAgICAgdHlwZTogdGhpcy50eXBlLAogICAgICAgICAgLy92aWRlbyBvciBhdWRpbwogICAgICAgICAgTWVtYmVyTGlzdCwKICAgICAgICAgIG5hbWU6IHVzZXIubmFtZSwKICAgICAgICAgIC8v6LCD5bqm6ICF5ZCN56ewCiAgICAgICAgICBZYXJkbWFuX05hbWU6IHVzZXIudGVuY2VudFVzZXJJZCwKICAgICAgICAgIC8v6LCD5bqm6ICF5ZCN56ewCiAgICAgICAgICBZYXJkbWFuX1Rhc2tfTmFtZTogIuS4quS6uuiwg+W6piIsCiAgICAgICAgICAvL+iwg+W6puS7u+WKoeWQjeensAogICAgICAgICAgWWFyZG1hbl9UeXBlOiB0aGlzLnlhcmRtYW5UeXBlLAogICAgICAgICAgLy/osIPluqbnsbvlnovvvJox6KeG6aKR6LCD5bqmIDIg6KeG6aKR5LiK5ouJ77ya6Zmk5LqG6KeG6aKR5LiK5ouJ5LygMu+8jOWFtuS7lumfs+mikeiwg+W6puS4juinhumikeiwg+W6pumDveS8oDEKICAgICAgICAgIHlhcmRtYW5UeXBlOiB0aGlzLnlhcmRtYW5UeXBlLAogICAgICAgICAgLy/osIPluqbnsbvlnovvvJox6KeG6aKR6LCD5bqmIDIg6KeG6aKR5LiK5ouJ77ya6Zmk5LqG6KeG6aKR5LiK5ouJ5LygMu+8jOWFtuS7lumfs+mikeiwg+W6puS4juinhumikeiwg+W6pumDveS8oDEKICAgICAgICAgIFlhcmRtYW5fVGFza19FeHBsYWluOiAi5Lu75Yqh6K+05piOIiwKICAgICAgICAgIC8v6LCD5bqm5Lu75Yqh6K+05piO77yM6Z2e5b+F5aGrCiAgICAgICAgICAvLyBUcmFuc2NyaWJlcjogIiIsIC8v5b2V5Yi25Lq65ZGYY2lkLOWkmuS4qumAl+WPt+malOW8gO+8jOmdnuW/heWhqwogICAgICAgICAgT3JpZ2luYXRvcjogdXNlci50ZW5jZW50VXNlcklkICsgIjsiICsgdXNlci50ZW5jZW50VXNlcklkLAogICAgICAgICAgLy/lj5HotbfkurpjaWQ7dXNlaWQKICAgICAgICAgIC8v6KKr6LCD5bqm6KeG6aKR5Lq65ZGYLOi3n01lbWJlckxpc3TkuIDkuIDlr7nlupR1aWQ7ZW1wbG95ZWVpZDtvcmdhbml6YXRpb25JZDtuYW1lO3R5cGUsLi4uCiAgICAgICAgICBVc2VMaXN0LAogICAgICAgICAgQ29tSWQ6IHVzZXIub3JnYW5pemF0aW9uSWQgLy/osIPluqbogIXlhazlj7hpZAogICAgICAgIH07CiAgICAgICAgLy8g5ZCO56uv5Y6757uZ6KKr6LCD5bqm6ICF55qEYXBw5ouo5Y+3CiAgICAgICAgc2VuZFZpZGVvUm9vbU1zZyhwYXJhbXMpLnRoZW4ocmVzID0+IHsKICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIEAxdjHmiJbogIXop4bpopHkuIrmi4nml7bvvIzorqHnrpfmi6jlj7fml7bplb8KICAgICAqLwogICAgc3RhcnREaWFsaW5nVGltZUNvdW50aW5nKCkgewogICAgICBpZiAodGhpcy55YXJkbWFuVHlwZSA9PT0gIjIiIHx8IHRoaXMubWVtYmVyTGlzdC5sZW5ndGggPCAyKSB7CiAgICAgICAgdGhpcy5kaWFsbGluZ1RpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgICAgICAgdGhpcy5kaWFsbGluZ1RpbWUgKz0gMTsKICAgICAgICB9LCAxMDAwKTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogQOe7k+adn+aLqOWPt+iuoeaXtgogICAgICovCiAgICBlbmREaWFsaW5nVGltZUNvdW50aW5nKCkgewogICAgICBpZiAodGhpcy5kaWFsbGluZ1RpbWVyKSB7CiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmRpYWxsaW5nVGltZXIpOwogICAgICAgIHRoaXMuZGlhbGxpbmdUaW1lciA9IG51bGw7CiAgICAgICAgdGhpcy5kaWFsbGluZ1RpbWUgPSAwOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBA57uT5p2f5oiQ5ZGY6K6h5pe2CiAgICAgKi8KICAgIGVuZE1lbWJlclRpbWVyKCkgewogICAgICBpZiAodGhpcy5hbGxNZW1iZXJzVGltZXIpIHsKICAgICAgICBjbGVhckludGVydmFsKHRoaXMuYWxsTWVtYmVyc1RpbWVyKTsKICAgICAgICB0aGlzLmFsbE1lbWJlcnNUaW1lciA9IG51bGw7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIEDnu5PmnZ/mmL7npLrorqHml7YKICAgICAqLwogICAgZW5kQ3VycmVudFRpbWVyKCkgewogICAgICB0aGlzLmN1cnJlbnREYXRldGltZSA9ICIwMDowMCI7CiAgICAgIGlmICh0aGlzLnRpbWVyKSB7CiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpOwogICAgICAgIHRoaXMudGltZXIgPSBudWxsOwogICAgICB9CiAgICB9LAogICAgYXN5bmMgdmlkZW9DYWxsaW5nKCkgewogICAgICBjb25zdCB1c2VySW5mbyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ1c2VySW5mbyIpOwogICAgICBsZXQgcm9vbVVzZXJzID0gW107CiAgICAgIGlmICh1c2VySW5mbykgewogICAgICAgIGNvbnN0IHVzZXIgPSBKU09OLnBhcnNlKHVzZXJJbmZvKTsKICAgICAgICBjb25zb2xlLmxvZyh1c2VyKTsKICAgICAgICByb29tVXNlcnMucHVzaCh7CiAgICAgICAgICBlbXBsb3llZUlkOiB1c2VyLmVtcGxveWVlSWQsCiAgICAgICAgICBvcmdhbml6YXRpb25JZDogdXNlci5vcmdhbml6YXRpb25JZCwKICAgICAgICAgIHRlbmNlbnRVc2VySWQ6IHVzZXIudGVuY2VudFVzZXJJZCwKICAgICAgICAgIHNlY3VyaXR5U3RhdGlvbklkOiAiIiwKICAgICAgICAgIHN1cGVydmlzZURlcGFydElkOiAiIiwKICAgICAgICAgIHNwb25zb3I6IHRydWUKICAgICAgICB9KTsKICAgICAgICBnZXRSb29tcyh7CiAgICAgICAgICByb29tVXNlcnM6IHJvb21Vc2Vycy5jb25jYXQodGhpcy5tZW1iZXJMaXN0Lm1hcCh4ID0+IHsKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICBlbXBsb3llZUlkOiB4LmlkLAogICAgICAgICAgICAgIG9yZ2FuaXphdGlvbklkOiB4Lm9yZ2FuaXphdGlvbklkLAogICAgICAgICAgICAgIHRlbmNlbnRVc2VySWQ6IHgudGVuY2VudFVzZXJJZCwKICAgICAgICAgICAgICBzZWN1cml0eVN0YXRpb25JZDogeC5zZWN1cml0eVN0YXRpb25JZCwKICAgICAgICAgICAgICBzdXBlcnZpc2VEZXBhcnRJZDogeC5zdXBlcnZpc2VEZXBhcnRJZCwKICAgICAgICAgICAgICBzcG9uc29yOiBmYWxzZQogICAgICAgICAgICB9OwogICAgICAgICAgfSkpLAogICAgICAgICAgY29tbXVuaWNhdGVkVHlwZTogdGhpcy50eXBlID09PSAidmlkZW8iID8gIlZpZGVvIiA6ICJBdWRpbyIsCiAgICAgICAgICAvL+aWsOWinuS8oOWPggogICAgICAgICAgeWFyZG1hblR5cGU6IHRoaXMueWFyZG1hblR5cGUsCiAgICAgICAgICAvL+iwg+W6puexu+Wei++8mjHop4bpopHosIPluqYgMiDop4bpopHkuIrmi4nvvJrpmaTkuobop4bpopHkuIrmi4nkvKAy77yM5YW25LuW6Z+z6aKR6LCD5bqm5LiO6KeG6aKR6LCD5bqm6YO95LygMQogICAgICAgICAgZGVza1R5cGU6IHRoaXMuJHJvdXRlLnF1ZXJ5LnN0YXRpb25UeXBlID09PSAiVGVtcG9yYXJ5U2VjdXJpdHkiID8gIlRlbXBvcmFyeVNlY3VyaXR5IiA6ICJOb3JtYWwiCiAgICAgICAgfSkudGhlbihhc3luYyByZXMgPT4gewogICAgICAgICAgY29uc3QgewogICAgICAgICAgICBpZCwKICAgICAgICAgICAgcm9vbVVzZXJzCiAgICAgICAgICB9ID0gcmVzOwogICAgICAgICAgY29uc29sZS5sb2coaWQpOwogICAgICAgICAgaWYgKGlkIDw9IDApIHsKICAgICAgICAgICAgdGhpcy5hZGRGYWlsZWRMb2coYOiiq+iwg+W6puS6uuaJgOWcqOS8geS4muiBlOWKqOWAvOS4jei2sywg5peg5rOV6L+b6KGM6LCD5bqm44CCYCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRoaXMuZGlhbGxpbmcgPSB0cnVlOyAvLyDmi6jlj7fkuK0KICAgICAgICAgICAgLy8gMXYx5oiW6ICF6KeG6aKR5LiK5ouJ5pe277yM6K6h566X5ouo5Y+35pe26ZW/CiAgICAgICAgICAgIHRoaXMuc3RhcnREaWFsaW5nVGltZUNvdW50aW5nKCk7CiAgICAgICAgICAgIC8vIOWIhuWIq+WvueaJgOacieWPguS8muS6uuiuoeaXtgogICAgICAgICAgICB0aGlzLnNldEFsbE1lbWJlcnNUaW1lcigpOwogICAgICAgICAgICAvLyDliJ3lp4vljJblrqLmiLfnq68KICAgICAgICAgICAgYXdhaXQgdGhpcy5pbml0Q2xpZW50KCk7CiAgICAgICAgICAgIHRoaXMucm9vbUlkID0gaWQ7CiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgiU0VUX1JPT01fSUQiLCB0aGlzLnJvb21JZCk7CiAgICAgICAgICAgIC8vIOWKoOWFpeaIv+mXtAogICAgICAgICAgICBhd2FpdCB0aGlzLmpvaW4oKTsKICAgICAgICAgICAgYXdhaXQgdGhpcy5pbml0TG9jYWxTdHJlYW0oewogICAgICAgICAgICAgIGF1ZGlvOiB0aGlzLmF1ZGlvLAogICAgICAgICAgICAgIHZpZGVvOiB0aGlzLnZpZGVvCiAgICAgICAgICAgIH0pOyAvLyDliJ3lp4vor53mnKzlnLDmtYEKICAgICAgICAgICAgYXdhaXQgdGhpcy5wbGF5TG9jYWxTdHJlYW0oKTsgLy8g5pKt5pS+5pys5Zyw5rWBCiAgICAgICAgICAgIGF3YWl0IHRoaXMucHVibGlzaCgpOyAvLyDlj5HluIPmnKzlnLDmtYEKICAgICAgICAgICAgLy8gbGV0IHVpZExpc3QgPSBbXS8v6KeG6aKR5Lq65ZGYdWlkCiAgICAgICAgICAgIC8vIGNvbnN0IHsgbW9iaWxlUGhvbmUsIGlkLCBvcmdhbml6YXRpb25JZCwgZGV2aWNlTnVtYmVyLCB0ZW5jZW50VXNlcklkLCBuYW1lLCBjaWQsIHNlY3VyaXR5U3RhdGlvbklkLCBzdXBlcnZpc2VEZXBhcnRJZCB9ID0gaXRlbTsKICAgICAgICAgICAgLy8gY29uc3QgaXRlbV9jaWQgPSBjaWQgfHwgdGVuY2VudFVzZXJJZAogICAgICAgICAgICAvLyB1aWRMaXN0LnB1c2goYCR7dGVuY2VudFVzZXJJZH07JHtpZH07JHtvcmdhbml6YXRpb25JZH07JHtuYW1lfTske3R5cGV9YCkKICAgICAgICAgICAgY29uc29sZS5sb2coIn5+fn5+dXNlciIsIHVzZXIpOwogICAgICAgICAgICBjb25zb2xlLmxvZygifn5+fn4iLCB0aGlzLm1lbWJlckxpc3QpOwogICAgICAgICAgICBjb25zdCBtZW1iZXJMaXN0ID0gcm9vbVVzZXJzLmZpbHRlcihpdGVtID0+IGl0ZW0uY2lkICYmIGl0ZW0uc3BvbnNvciA9PT0gZmFsc2UpLm1hcCh4ID0+IHsKICAgICAgICAgICAgICByZXR1cm4geC5jaWQ7CiAgICAgICAgICAgIH0pLmpvaW4oIiwiKTsKICAgICAgICAgICAgY29uc3QgVXNlTGlzdCA9IHRoaXMubWVtYmVyTGlzdC5tYXAoeCA9PiB7CiAgICAgICAgICAgICAgY29uc3QgewogICAgICAgICAgICAgICAgaWQsCiAgICAgICAgICAgICAgICBvcmdhbml6YXRpb25JZCwKICAgICAgICAgICAgICAgIHRlbmNlbnRVc2VySWQsCiAgICAgICAgICAgICAgICBuYW1lCiAgICAgICAgICAgICAgfSA9IHg7CiAgICAgICAgICAgICAgLy8gY29uc3QgaXRlbV9jaWQgPSBjaWQgfHwgdGVuY2VudFVzZXJJZAogICAgICAgICAgICAgIC8vIHVpZExpc3QucHVzaChgJHt0ZW5jZW50VXNlcklkfTske2lkfTske29yZ2FuaXphdGlvbklkfTske25hbWV9OyR7dHlwZX1gKQogICAgICAgICAgICAgIHJldHVybiBgJHt0ZW5jZW50VXNlcklkfTske2lkfTske29yZ2FuaXphdGlvbklkfTske25hbWV9OyR7dGhpcy50eXBlfWA7CiAgICAgICAgICAgIH0pLmpvaW4oIiwiKTsKICAgICAgICAgICAgdGhpcy5zZW5kUm9vbU1lc3NhZ2UodGhpcy5yb29tSWQsIG1lbWJlckxpc3QsIFVzZUxpc3QpOwogICAgICAgICAgfQogICAgICAgIH0pLmNhdGNoKCh7CiAgICAgICAgICByZXNwb25zZQogICAgICAgIH0pID0+IHsKICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTsKICAgICAgICAgIHRoaXMuYWRkRmFpbGVkTG9nKGAke3Jlc3BvbnNlLmRhdGEubWVzc2FnZX1gKTsKICAgICAgICB9KTsKICAgICAgfQogICAgfSwKICAgIGF1ZGlvQ2FsbGluZygpIHt9LAogICAgLyoqCiAgICAgKiBA5pi+56S655So5oi35ZCN55qE5o+Q56S6CiAgICAgKiBAcGFyYW0gaWQKICAgICAqIEBwYXJhbSBtZXNzYWdlCiAgICAgKiBAcGFyYW0gZXJyCiAgICAgKi8KICAgIHVzZXJMb2coaWQsIG1lc3NhZ2UsIGVyciA9IGZhbHNlKSB7CiAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLm1lbWJlckxpc3QuZmluZChtZW1iZXIgPT4gbWVtYmVyLnRlbmNlbnRVc2VySWQgPT09IGlkKTsKICAgICAgaWYgKHVzZXIpIHsKICAgICAgICBjb25zb2xlLmxvZyh1c2VyKTsKICAgICAgICBpZiAoZXJyKSB7CiAgICAgICAgICB0aGlzLmFkZEZhaWxlZExvZyhgWyR7dXNlci5uYW1lfV0gJHttZXNzYWdlfWApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NMb2coYFske3VzZXIubmFtZX1dICR7bWVzc2FnZX1gKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBhZGRTdWNjZXNzTG9nKG1lc3NhZ2UpIHsKICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7CiAgICAgIF9Ub2FzdC5zdWNjZXNzKG1lc3NhZ2UpOwogICAgICAvLyBOb3RpZnkoeyB0eXBlOiAnc3VjY2VzcycsIG1lc3NhZ2UgfSk7CiAgICB9LAoKICAgIGFkZEZhaWxlZExvZyhtZXNzYWdlKSB7CiAgICAgIC8vIE5vdGlmeSh7IHR5cGU6ICJkYW5nZXIiLCBtZXNzYWdlIH0pOwogICAgICBfVG9hc3QuZmFpbChtZXNzYWdlKTsKICAgIH0sCiAgICBoYW5kbGVNdXRlQXVkaW8oKSB7CiAgICAgIGlmICh0aGlzLmlzTXV0ZWRBdWRpbykgewogICAgICAgIHRoaXMudW5tdXRlQXVkaW8oKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLm11dGVBdWRpbygpOwogICAgICB9CiAgICB9LAogICAgaGFuZGxlTXV0ZVZpZGVvKCkgewogICAgICBpZiAodGhpcy5pc011dGVkVmlkZW8pIHsKICAgICAgICB0aGlzLnVubXV0ZVZpZGVvKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5tdXRlVmlkZW8oKTsKICAgICAgfQogICAgfSwKICAgIHNob3dNZW1iZXJzKCkgewogICAgICAvLyB0aGlzLmNsb3NlKCk7CiAgICAgIHRoaXMuJGVtaXQoInNob3dNZW1iZXJzIik7CiAgICB9LAogICAgc2V0QWxsTWVtYmVyc1RpbWVyKCkgewogICAgICB0aGlzLmFsbE1lbWJlcnNUaW1lciA9IHNldEludGVydmFsKCgpID0+IHsKICAgICAgICB0aGlzLm1lbWJlckxpc3QuZm9yRWFjaChtZW1iZXIgPT4gewogICAgICAgICAgY29uc3QgaGFzS2V5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1lbWJlciwgInRpbWVyIik7CiAgICAgICAgICBjb25zdCBiZUtpY2tPdXQgPSBtZW1iZXIuYmVLaWNrT3V0OwogICAgICAgICAgaWYgKCFoYXNLZXkgfHwgYmVLaWNrT3V0IHx8IG1lbWJlci5zdGF0ZSA9PT0gIkNPTk5FQ1RFRCIpIHsKICAgICAgICAgICAgbWVtYmVyLnRpbWVyID0gMDsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCLnjrDlnKjnmoTkurrlkZjnirbmgIHmmK/jgILjgIIiLCBtZW1iZXIuc3RhdGUpOwogICAgICAgICAgICBpZiAobWVtYmVyLnRpbWVyIDwgNjAgJiYgbWVtYmVyLnN0YXRlID09PSAiQ09OTkVDVElORyIpIHsKICAgICAgICAgICAgICBtZW1iZXIudGltZXIrKzsKICAgICAgICAgICAgICBtZW1iZXIudGltZW91dCA9IGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGNvbnNvbGUubG9nKCLov5vlhaXkuobotoXml7bliKTmlq0iLCBtZW1iZXIuc3RhdGUpOwogICAgICAgICAgICAgIGlmIChtZW1iZXIuc3RhdGUgIT09ICJESVNDT05ORUNURUQiKSB7CiAgICAgICAgICAgICAgICBtZW1iZXIudGltZXIgPSAwOwogICAgICAgICAgICAgICAgbWVtYmVyLnRpbWVvdXQgPSB0cnVlOwogICAgICAgICAgICAgICAgbWVtYmVyLnN0YXRlID0gIkRJU0NPTk5FQ1RFRCI7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy4kZW1pdCgidXBkYXRlOm1lbWJlckxpc3QiLCBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMubWVtYmVyTGlzdCkpKTsKICAgICAgICBjb25zb2xlLmxvZygiJWMgbWVtYmVyTGlzdCIsICJiYWNrZ3JvdW5kOiAjMDBjYzAwOyBjb2xvcjogI2ZmZjsgYm9yZGVyLXJhZGl1czogM3B4O3BhZGRpbmc6MnB4IDVweCIsIHRoaXMubWVtYmVyTGlzdCk7CiAgICAgIH0sIDEwMDApOwogICAgfQogIH0sCiAgbW91bnRlZCgpIHsKICAgIHRoaXMuJGJ1cy4kb24oInZpZGVvLWNhbGwiLCB0aGlzLnZpZGVvQ2FsbGluZyk7IC8vIOWPkei1t+mAmuivnQogICAgdGhpcy4kYnVzLiRvbigiYXVkaW8tY2FsbCIsIHRoaXMuYXVkaW9DYWxsaW5nKTsgLy8g5Y+R6LW36YCa6K+dCiAgfSwKCiAgYmVmb3JlRGVzdHJveSgpIHsKICAgIGlmICh0aGlzLnRpbWVyKSB7CiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTsKICAgICAgdGhpcy50aW1lciA9IG51bGw7CiAgICB9CiAgICB0aGlzLiRidXMuJG9mZigidmlkZW8tY2FsbCIsIHRoaXMudmlkZW9DYWxsaW5nKTsKICAgIHRoaXMuJGJ1cy4kb2ZmKCJhdWRpby1jYWxsIiwgdGhpcy5hdWRpb0NhbGxpbmcpOyAvLyDlj5HotbfpgJror50KICB9Cn07"},null]}