{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataManage\\dataDimension\\SubTreeDrawer.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataManage\\dataDimension\\SubTreeDrawer.vue","mtime":1736016922512},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\babel.config.js","mtime":1733906004399},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanMiOwppbXBvcnQgX3JlZ2VuZXJhdG9yUnVudGltZSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcmVnZW5lcmF0b3JSdW50aW1lLmpzIjsKaW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5lcnJvci5jYXVzZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmNvbmNhdC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLm1hcC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgZGlhbG9nTWl4aW4gZnJvbSAnQC9taXhpbnMvZGlhbG9nLmpzJzsKaW1wb3J0IEFQSSBmcm9tICdAL2FwaS9idXNpbmVzcy9kaWN0LmpzJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdTdWJUcmVlRHJhd2VyJywKICBtaXhpbnM6IFtkaWFsb2dNaXhpbl0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICB2YXIgY2hlY2tleSA9IGZ1bmN0aW9uIGNoZWNrZXkocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSB7CiAgICAgIGlmICghdmFsdWUpIHsKICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IEVycm9yKCflrZflhbjlgLznvJbnoIHkuI3og73kuLrnqbonKSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKF90aGlzLmRlZmF1bHREYXRhLm5vZGVEYXRhLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgcmV0dXJuIGl0ZW0ua2V5ID09PSB2YWx1ZTsKICAgICAgICB9KS5sZW5ndGggPiAxKSB7CiAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+Wtl+WFuOWAvOe8lueggeS4jeiDvemHjeWkjSEnKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfQogICAgICB9CiAgICB9OwogICAgdmFyIFRSRUVfQ09ORklHID0gewogICAgICB0cmVlUHJvcHM6IHsKICAgICAgICB2YWx1ZTogJ2lkJywKICAgICAgICBsYWJlbDogJ25hbWUnCiAgICAgIH0sCiAgICAgIGV4cGFuZEFsbDogZmFsc2UsCiAgICAgIGRlZmF1bHRFeHBhbmRlZEtleXM6IFsnJ10sCiAgICAgIGN1ck5vZGU6IHt9LAogICAgICAvLyDlvZPliY3pgInmi6nlrZflhbjlgLwKICAgICAgZm9ybVJ1bGVzOiB7CiAgICAgICAgbmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+Wtl+WFuOWAvOWQjeensOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICBrZXk6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICflrZflhbjlgLznvJbnoIHkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfSwgewogICAgICAgICAgdmFsaWRhdG9yOiBjaGVja2V5LAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgZGVmYXVsdERhdGE6IHsKICAgICAgICB0ZXh0OiAnJywKICAgICAgICBub2RlRGF0YTogW3sKICAgICAgICAgIG5hbWU6ICcnLAogICAgICAgICAga2V5OiAnJywKICAgICAgICAgIHNuOiAxCiAgICAgICAgfV0KICAgICAgfQogICAgfTsKICAgIHJldHVybiBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoewogICAgICB0cmVlRGF0YTogW10sCiAgICAgIHBhcmVudFJvdzoge30KICAgIH0sIFRSRUVfQ09ORklHKSwge30sIHsKICAgICAgY3VyTm9kZToge30sCiAgICAgIHJvb3ROb2RlOiB7fQogICAgfSk7CiAgfSwKICB3YXRjaDoge30sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHt9LAogIG1ldGhvZHM6IHsKICAgIGluaXREYXRhOiBmdW5jdGlvbiBpbml0RGF0YShkYXRhKSB7CiAgICAgIHRoaXMucGFyZW50Um93ID0gX29iamVjdFNwcmVhZCh7fSwgZGF0YSk7CiAgICAgIHRoaXMuZGVmYXVsdERhdGEgPSB7CiAgICAgICAgdGV4dDogJycsCiAgICAgICAgbm9kZURhdGE6IFt7CiAgICAgICAgICBuYW1lOiAnJywKICAgICAgICAgIGtleTogJycsCiAgICAgICAgICBzbjogMQogICAgICAgIH1dCiAgICAgIH07CiAgICAgIHRoaXMucmVsb2FkVHJlZSgpOwogICAgfSwKICAgIGdldFRyZWVOb2RlczogZnVuY3Rpb24gZ2V0VHJlZU5vZGVzKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgIHZhciB2YWx1ZSwgZmlyc3RJZDsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBpZiAoX3RoaXMyLnBhcmVudFJvdy5pZCkgewogICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDQ7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIiwgW10pOwogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDY7CiAgICAgICAgICAgICAgcmV0dXJuIEFQSS5xdWVyeURpY3RUcmVlKF90aGlzMi5wYXJlbnRSb3cpOwogICAgICAgICAgICBjYXNlIDY6CiAgICAgICAgICAgICAgdmFsdWUgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgIGZpcnN0SWQgPSB2YWx1ZS5sZW5ndGggPiAwID8gdmFsdWVbMF0uaWQgOiAnJzsKICAgICAgICAgICAgICBfdGhpczIucm9vdE5vZGUgPSB2YWx1ZS5sZW5ndGggPiAwID8gdmFsdWVbMF0gOiB7fTsKICAgICAgICAgICAgICBfdGhpczIuZGVmYXVsdEV4cGFuZGVkS2V5cyA9IFtmaXJzdElkXTsKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYWJydXB0KCJyZXR1cm4iLCB7CiAgICAgICAgICAgICAgICBkYXRhOiB2YWx1ZSB8fCBbXQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjYXNlIDExOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIHJlbG9hZFRyZWU6IGZ1bmN0aW9uIHJlbG9hZFRyZWUoKSB7CiAgICAgIHZhciBfdGhpcyQkcmVmczsKICAgICAgdGhpcyA9PT0gbnVsbCB8fCB0aGlzID09PSB2b2lkIDAgfHwgKF90aGlzJCRyZWZzID0gdGhpcy4kcmVmcykgPT09IG51bGwgfHwgX3RoaXMkJHJlZnMgPT09IHZvaWQgMCB8fCAoX3RoaXMkJHJlZnMgPSBfdGhpcyQkcmVmcy5hcHBBc3luY1RyZWUpID09PSBudWxsIHx8IF90aGlzJCRyZWZzID09PSB2b2lkIDAgfHwgX3RoaXMkJHJlZnMuZ2V0VHJlZURhdGEoKTsKICAgIH0sCiAgICAvKioNCiAgICAgKiBAZGVzY3JpcHRpb246IHRyZWVBY3Rpb25z5pSv5oyB5Ye95pWw5Lmf5pSv5oyB5pWw57uE77yM55Sx5LqO5a6e6ZmF5Zy65pmv5b2T5LitIOWPr+iDveS8muWKqOaAgeiuvue9ruaMiemSru+8jOaVheS7peWHveaVsOekuuS+i+adpeWxleekug0KICAgICAqIEBwYXJhbSB7Kn0gZGF0YSDlvZPliY3ngrnlh7voioLngrnmlbDmja4NCiAgICAgKiBAcmV0dXJuIHsqfSDlvZPliY3oioLngrnlsZXnpLrnmoTmk43kvZzpobnmlbDnu4QNCiAgICAgKi8KICAgIHRyZWVBY3Rpb25zOiBmdW5jdGlvbiB0cmVlQWN0aW9ucyhkYXRhKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICAvLyDmoLnoioLngrnliKTmlq3mlrnlvI/ku6XkuJrliqHkuLrlh4bvvIzmraTlpITku4XkuLrnpLrkvosKICAgICAgcmV0dXJuIFt7CiAgICAgICAgbGFiZWw6ICfmt7vliqAnLAogICAgICAgIHR5cGU6ICdhZGQnLAogICAgICAgIGljb246ICdlbC1pY29uLXBsdXMnLAogICAgICAgIG1ldGhvZDogdGhpcy5hZGROb2RlCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+e8lui+kScsCiAgICAgICAgdHlwZTogJ2VkaXQnLAogICAgICAgIGljb246ICdlbC1pY29uLWVkaXQnLAogICAgICAgIG1ldGhvZDogdGhpcy5lZGl0Tm9kZSwKICAgICAgICBzaG93SGlkZTogZnVuY3Rpb24gc2hvd0hpZGUocm93KSB7CiAgICAgICAgICByZXR1cm4gcm93LmlkICE9PSBfdGhpczMucm9vdE5vZGUuaWQ7CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICfliKDpmaQnLAogICAgICAgIHR5cGU6ICdkZWxldGUnLAogICAgICAgIGljb246ICdlbC1pY29uLWRlbGV0ZScsCiAgICAgICAgdGlwczogJ+WPiuWFtuWtkOiKgueCuScsCiAgICAgICAgbWV0aG9kOiB0aGlzLmRlbE5vZGUsCiAgICAgICAgc2hvd0hpZGU6IGZ1bmN0aW9uIHNob3dIaWRlKHJvdykgewogICAgICAgICAgcmV0dXJuIHJvdy5pZCAhPT0gX3RoaXMzLnJvb3ROb2RlLmlkOwogICAgICAgIH0KICAgICAgfV07CiAgICB9LAogICAgb25UcmVlTm9kZUNsaWNrOiBmdW5jdGlvbiBvblRyZWVOb2RlQ2xpY2sobm9kZSkgewogICAgICB2YXIgX3RoaXMkY3VyTm9kZTsKICAgICAgaWYgKG5vZGUuaWQgPT09ICgoX3RoaXMkY3VyTm9kZSA9IHRoaXMuY3VyTm9kZSkgPT09IG51bGwgfHwgX3RoaXMkY3VyTm9kZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkY3VyTm9kZS5pZCkpIHJldHVybjsKICAgICAgdGhpcy5jdXJOb2RlID0gX29iamVjdFNwcmVhZCh7fSwgbm9kZSk7CiAgICB9LAogICAgYWRkTm9kZTogZnVuY3Rpb24gYWRkTm9kZShwYXJhbXMsIG5vZGUpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgdmFyIF9ub2RlJGlkLCBpZCwgX25vZGUkdHlwZUlkLCB0eXBlSWQsIG5ld05vZGVzLCBfeWllbGQkQVBJJHNhdmVNdWx0aUQsIHN0YXRlLCBtZXNzYWdlOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBjb25zb2xlLmxvZyhwYXJhbXMsIG5vZGUpOwogICAgICAgICAgICAgIF9ub2RlJGlkID0gbm9kZS5pZCwgaWQgPSBfbm9kZSRpZCA9PT0gdm9pZCAwID8gJycgOiBfbm9kZSRpZCwgX25vZGUkdHlwZUlkID0gbm9kZS50eXBlSWQsIHR5cGVJZCA9IF9ub2RlJHR5cGVJZCA9PT0gdm9pZCAwID8gJycgOiBfbm9kZSR0eXBlSWQ7CiAgICAgICAgICAgICAgbmV3Tm9kZXMgPSBwYXJhbXMubm9kZURhdGEgfHwgW107CiAgICAgICAgICAgICAgbmV3Tm9kZXMgPSBuZXdOb2Rlcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgIHZhciBfdGhpczQkcGFyZW50Um93OwogICAgICAgICAgICAgICAgaXRlbS50eXBlSWQgPSB0eXBlSWQ7CiAgICAgICAgICAgICAgICBpdGVtLnBhcmVudElkID0gaWQ7CiAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAndmFsJzsKICAgICAgICAgICAgICAgIGl0ZW0uZGljSWQgPSAoKF90aGlzNCRwYXJlbnRSb3cgPSBfdGhpczQucGFyZW50Um93KSA9PT0gbnVsbCB8fCBfdGhpczQkcGFyZW50Um93ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdGhpczQkcGFyZW50Um93LmlkKSB8fCAnJzsKICAgICAgICAgICAgICAgIHJldHVybiBpdGVtOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIF9jb250ZXh0Mi5wcmV2ID0gNDsKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDc7CiAgICAgICAgICAgICAgcmV0dXJuIEFQSS5zYXZlTXVsdGlEaWN0SXRlbUJhdGNoKG5ld05vZGVzKTsKICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICAgIF95aWVsZCRBUEkkc2F2ZU11bHRpRCA9IF9jb250ZXh0Mi5zZW50OwogICAgICAgICAgICAgIHN0YXRlID0gX3lpZWxkJEFQSSRzYXZlTXVsdGlELnN0YXRlOwogICAgICAgICAgICAgIG1lc3NhZ2UgPSBfeWllbGQkQVBJJHNhdmVNdWx0aUQubWVzc2FnZTsKICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgIF90aGlzNC5yZWxvYWRUcmVlKCk7CiAgICAgICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2Uud2FybmluZygn5re75Yqg5a2X5YW45YC85oiQ5Yqf77yBJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMTY7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTM6CiAgICAgICAgICAgICAgX2NvbnRleHQyLnByZXYgPSAxMzsKICAgICAgICAgICAgICBfY29udGV4dDIudDAgPSBfY29udGV4dDJbImNhdGNoIl0oNCk7CiAgICAgICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLndhcm5pbmcoX2NvbnRleHQyLnQwIHx8ICfmt7vliqDlrZflhbjlgLzlpLHotKXvvIEnKTsKICAgICAgICAgICAgY2FzZSAxNjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMiwgbnVsbCwgW1s0LCAxM11dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgZWRpdE5vZGU6IGZ1bmN0aW9uIGVkaXROb2RlKHBhcmFtcykgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMygpIHsKICAgICAgICB2YXIgX3lpZWxkJEFQSSRzYXZlTXVsdGlEMiwgc3RhdGUsIG1lc3NhZ2U7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUzJChfY29udGV4dDMpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0My5wcmV2ID0gX2NvbnRleHQzLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF9jb250ZXh0My5wcmV2ID0gMDsKICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDM7CiAgICAgICAgICAgICAgcmV0dXJuIEFQSS5zYXZlTXVsdGlEaWN0SXRlbShwYXJhbXMpOwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgX3lpZWxkJEFQSSRzYXZlTXVsdGlEMiA9IF9jb250ZXh0My5zZW50OwogICAgICAgICAgICAgIHN0YXRlID0gX3lpZWxkJEFQSSRzYXZlTXVsdGlEMi5zdGF0ZTsKICAgICAgICAgICAgICBtZXNzYWdlID0gX3lpZWxkJEFQSSRzYXZlTXVsdGlEMi5tZXNzYWdlOwogICAgICAgICAgICAgIGlmIChzdGF0ZSkgewogICAgICAgICAgICAgICAgX3RoaXM1LnJlbG9hZFRyZWUoKTsKICAgICAgICAgICAgICAgIF90aGlzNS4kbWVzc2FnZS53YXJuaW5nKCfnvJbovpHlrZflhbjlgLzmiJDlip/vvIEnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAxMjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICAgIF9jb250ZXh0My5wcmV2ID0gOTsKICAgICAgICAgICAgICBfY29udGV4dDMudDAgPSBfY29udGV4dDNbImNhdGNoIl0oMCk7CiAgICAgICAgICAgICAgX3RoaXM1LiRtZXNzYWdlLndhcm5pbmcoX2NvbnRleHQzLnQwIHx8ICfnvJbovpHlrZflhbjlgLzlpLHotKXvvIEnKTsKICAgICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMywgbnVsbCwgW1swLCA5XV0pOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBkZWxOb2RlOiBmdW5jdGlvbiBkZWxOb2RlKHBhcmFtcywgbm9kZSkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlNCgpIHsKICAgICAgICB2YXIgX3lpZWxkJEFQSSRyZW1vdmVEaWN0LCBzdGF0ZSwgbWVzc2FnZTsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTQkKF9jb250ZXh0NCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQ0LnByZXYgPSBfY29udGV4dDQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQ0LnByZXYgPSAwOwogICAgICAgICAgICAgIF9jb250ZXh0NC5uZXh0ID0gMzsKICAgICAgICAgICAgICByZXR1cm4gQVBJLnJlbW92ZURpY3ROb2RlKHBhcmFtc1swXSk7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBfeWllbGQkQVBJJHJlbW92ZURpY3QgPSBfY29udGV4dDQuc2VudDsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRBUEkkcmVtb3ZlRGljdC5zdGF0ZTsKICAgICAgICAgICAgICBtZXNzYWdlID0gX3lpZWxkJEFQSSRyZW1vdmVEaWN0Lm1lc3NhZ2U7CiAgICAgICAgICAgICAgaWYgKHN0YXRlKSB7CiAgICAgICAgICAgICAgICBfdGhpczYucmVsb2FkVHJlZSgpOwogICAgICAgICAgICAgICAgX3RoaXM2LiRtZXNzYWdlLndhcm5pbmcoJ+WIoOmZpOWtl+WFuOWAvOaIkOWKn++8gScpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDEyOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICAgICAgX2NvbnRleHQ0LnByZXYgPSA5OwogICAgICAgICAgICAgIF9jb250ZXh0NC50MCA9IF9jb250ZXh0NFsiY2F0Y2giXSgwKTsKICAgICAgICAgICAgICBfdGhpczYuJG1lc3NhZ2Uud2FybmluZyhfY29udGV4dDQudDAgfHwgJ+WIoOmZpOWtl+WFuOWAvOWksei0pe+8gScpOwogICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWU0LCBudWxsLCBbWzAsIDldXSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIG9uQ29uZmlybTogZnVuY3Rpb24gb25Db25maXJtKCkgewogICAgICB0aGlzLiRlbWl0KCdjb25maXJtJyk7CiAgICB9LAogICAgb25DYW5jZWw6IGZ1bmN0aW9uIG9uQ2FuY2VsKCkgewogICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTsKICAgICAgdGhpcy4kZW1pdCgnY2FuY2VsJyk7CiAgICB9LAogICAgYW5hbHlzaXNUZXh0OiBmdW5jdGlvbiBhbmFseXNpc1RleHQodmFsKSB7CiAgICAgIGNvbnNvbGUubG9nKHZhbCwgdmFsLnRleHQpOwogICAgICBpZiAoIXZhbC50ZXh0KSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfmmoLml6Dlj6/op6PmnpDnmoTmlbDmja7vvIzor7flsIbmlbDmja7lpI3liLbliLDmlofmnKzmoYbkuK3vvIzlho3ph43or5XvvIEnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmFuYWx5c2lzKHZhbC50ZXh0KTsKICAgICAgfQogICAgfSwKICAgIGFuYWx5c2lzOiBmdW5jdGlvbiBhbmFseXNpcyhkYXRhKSB7CiAgICAgIHZhciBfdGhpcyRkZWZhdWx0RGF0YSRub2Q7CiAgICAgIHZhciBzdHIgPSBkYXRhLnRvU3RyaW5nKCk7CiAgICAgIHZhciB0ZW1wQXJyID0gc3RyLnNwbGl0KCdcbicpOwogICAgICB2YXIgYWRkRGF0YSA9IHRlbXBBcnIubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgdmFyIGxpbmUgPSBpdGVtLnNwbGl0KCdcdCcpOwogICAgICAgIHJldHVybiB7CiAgICAgICAgICBuYW1lOiBsaW5lWzBdLAogICAgICAgICAga2V5OiBsaW5lWzFdLAogICAgICAgICAgc246IGxpbmVbMl0KICAgICAgICB9OwogICAgICB9KTsKICAgICAgYWRkRGF0YSA9IGFkZERhdGEuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgaWYgKGl0ZW0ubmFtZSB8fCBpdGVtLmtleSB8fCBpdGVtLnNuKSB7CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIChfdGhpcyRkZWZhdWx0RGF0YSRub2QgPSB0aGlzLmRlZmF1bHREYXRhLm5vZGVEYXRhKS5zcGxpY2UuYXBwbHkoX3RoaXMkZGVmYXVsdERhdGEkbm9kLCBbMCwgYWRkRGF0YS5sZW5ndGhdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoYWRkRGF0YSkpKTsKICAgICAgY29uc29sZS5sb2coYWRkRGF0YSwgJ3RlbXBBcnInKTsKICAgIH0sCiAgICBhZGRTdWJOb2RlOiBmdW5jdGlvbiBhZGRTdWJOb2RlKCkgewogICAgICB0aGlzLmRlZmF1bHREYXRhLm5vZGVEYXRhLnB1c2goewogICAgICAgIG5hbWU6ICcnLAogICAgICAgIGtleTogJycsCiAgICAgICAgc246IHRoaXMuZGVmYXVsdERhdGEubm9kZURhdGEubGVuZ3RoICsgMQogICAgICB9KTsKICAgIH0sCiAgICBkZWxldGVTdWJOb2RlOiBmdW5jdGlvbiBkZWxldGVTdWJOb2RlKGluZGV4KSB7CiAgICAgIGlmICh0aGlzLmRlZmF1bHREYXRhLm5vZGVEYXRhLmxlbmd0aCA+IDEpIHsKICAgICAgICB0aGlzLmRlZmF1bHREYXRhLm5vZGVEYXRhLnNwbGljZShpbmRleCwgMSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7foh7PlsJHmj5DkuqTkuIDmnaHlrZDlrZflhbjlgLzmlbDmja7vvIEnKTsKICAgICAgfQogICAgfQogIH0KfTs="},null]}