@cloudbase/ai 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/cjs/AI.d.ts +1 -0
  2. package/dist/cjs/AI.js +4 -1
  3. package/dist/cjs/bot/index.js +1 -1
  4. package/dist/cjs/index.d.ts +5 -3
  5. package/dist/cjs/index.js +10 -4
  6. package/dist/cjs/models/Ark/index.js +1 -1
  7. package/dist/cjs/models/DashScope/index.js +1 -1
  8. package/dist/cjs/models/DeepSeek/index.js +1 -1
  9. package/dist/cjs/models/Default/index.js +1 -1
  10. package/dist/cjs/models/HunYuan/index.js +1 -1
  11. package/dist/cjs/models/HunYuan/util.js +1 -1
  12. package/dist/cjs/models/HunYuanBeta/index.js +1 -1
  13. package/dist/cjs/models/HunYuanExp/index.js +1 -1
  14. package/dist/cjs/models/HunYuanOpen/index.js +1 -1
  15. package/dist/cjs/models/Moonshot/index.js +1 -1
  16. package/dist/cjs/models/Yi/index.js +1 -1
  17. package/dist/cjs/models/ZhiPu/index.js +1 -1
  18. package/dist/cjs/models/image-model.d.ts +18 -0
  19. package/dist/cjs/models/image-model.js +85 -0
  20. package/dist/cjs/models/index.d.ts +2 -1
  21. package/dist/cjs/models/index.js +4 -2
  22. package/dist/cjs/models/model.js +1 -1
  23. package/dist/cjs/type.d.ts +79 -0
  24. package/dist/cjs/type.js +1 -1
  25. package/dist/cjs/utils.js +1 -1
  26. package/dist/esm/AI.d.ts +1 -0
  27. package/dist/esm/AI.js +4 -1
  28. package/dist/esm/bot/index.js +1 -1
  29. package/dist/esm/index.d.ts +5 -3
  30. package/dist/esm/index.js +9 -4
  31. package/dist/esm/models/Ark/index.js +1 -1
  32. package/dist/esm/models/DashScope/index.js +1 -1
  33. package/dist/esm/models/DeepSeek/index.js +1 -1
  34. package/dist/esm/models/Default/index.js +1 -1
  35. package/dist/esm/models/HunYuan/index.js +1 -1
  36. package/dist/esm/models/HunYuan/util.js +1 -1
  37. package/dist/esm/models/HunYuanBeta/index.js +1 -1
  38. package/dist/esm/models/HunYuanExp/index.js +1 -1
  39. package/dist/esm/models/HunYuanOpen/index.js +1 -1
  40. package/dist/esm/models/Moonshot/index.js +1 -1
  41. package/dist/esm/models/Yi/index.js +1 -1
  42. package/dist/esm/models/ZhiPu/index.js +1 -1
  43. package/dist/esm/models/image-model.d.ts +18 -0
  44. package/dist/esm/models/image-model.js +82 -0
  45. package/dist/esm/models/index.d.ts +2 -1
  46. package/dist/esm/models/index.js +3 -2
  47. package/dist/esm/models/model.js +1 -1
  48. package/dist/esm/type.d.ts +79 -0
  49. package/dist/esm/type.js +1 -1
  50. package/dist/esm/utils.js +1 -1
  51. package/dist/miniprogram/index.js +1 -1
  52. package/package.json +4 -4
  53. package/src/AI.ts +11 -1
  54. package/src/bot/index.ts +2 -0
  55. package/src/index.ts +16 -5
  56. package/src/models/Ark/index.ts +2 -0
  57. package/src/models/DashScope/index.ts +2 -0
  58. package/src/models/DeepSeek/index.ts +2 -0
  59. package/src/models/Default/index.ts +2 -0
  60. package/src/models/HunYuan/index.ts +2 -0
  61. package/src/models/HunYuan/util.ts +2 -0
  62. package/src/models/HunYuanBeta/index.ts +2 -0
  63. package/src/models/HunYuanExp/index.ts +2 -0
  64. package/src/models/HunYuanOpen/index.ts +2 -0
  65. package/src/models/Moonshot/index.ts +3 -0
  66. package/src/models/Yi/index.ts +2 -0
  67. package/src/models/ZhiPu/index.ts +2 -0
  68. package/src/models/image-model.ts +59 -0
  69. package/src/models/index.ts +2 -0
  70. package/src/models/model.ts +2 -0
  71. package/src/type.ts +203 -1
  72. package/src/utils.ts +3 -1
  73. package/tsconfig.json +1 -1
@@ -124,4 +124,4 @@ var HunYuanOpenSimpleModel = (function () {
124
124
  return HunYuanOpenSimpleModel;
125
125
  }());
126
126
  exports.HunYuanOpenSimpleModel = HunYuanOpenSimpleModel;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL0h1bll1YW5PcGVuL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBTW9CO0FBVXBCLHdDQUE4QztBQUc5QztJQUVFLGdDQUFvQixHQUFhLEVBQVMsT0FBZSxFQUFFLE1BQWU7UUFBdEQsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFEbEQsV0FBTSxHQUFHLGtDQUFrQyxDQUFBO1FBRWhELElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtTQUNyQjtJQUNILENBQUM7SUFFRCxzQkFBWSx1Q0FBRzthQUFmO1lBQ0UsT0FBTyxVQUFHLElBQUksQ0FBQyxPQUFPLGNBQUksSUFBSSxDQUFDLE1BQU0sQ0FBRSxDQUFBO1FBQ3pDLENBQUM7OztPQUFBO0lBRVksMkNBQVUsR0FBdkIsVUFBd0IsSUFBd0IsRUFBRSxPQUFvQjs7Ozs7NEJBQ3ZELFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQzs0QkFDMUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHOzRCQUNiLElBQUksd0JBQ0MsSUFBQSxtQkFBWSxFQUFDLElBQUksQ0FBQyxLQUNyQixNQUFNLEVBQUUsS0FBSyxHQUNkOzRCQUNELE1BQU0sRUFBRSxLQUFLOzRCQUNiLE9BQU8sRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTzt5QkFDMUIsQ0FBQyxFQUFBOzt3QkFSSSxHQUFHLEdBQUcsQ0FBQyxTQVFYLENBQThCO3dCQUNoQyxpQ0FBWSxHQUFHLEtBQUUsV0FBVyxFQUFFLEdBQUcsS0FBRTs7OztLQUNwQztJQUVZLHlDQUFRLEdBQXJCLFVBQXNCLElBQXdCLEVBQUUsT0FBb0I7Ozs7Ozt3QkFDOUQsVUFBVSxHQUFtQixJQUFJLENBQUE7d0JBRXJCLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQztnQ0FDN0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dDQUNiLElBQUksd0JBQ0MsSUFBQSxtQkFBWSxFQUFDLElBQUksQ0FBQyxLQUNyQixNQUFNLEVBQUUsSUFBSSxHQUNiO2dDQUNELE1BQU0sRUFBRSxJQUFJO2dDQUNaLE9BQU8sRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTzs2QkFDMUIsQ0FBQyxFQUFBOzt3QkFSSSxPQUFPLEdBQUcsU0FRZDt3QkFDSSxNQUFNLEdBQUcsSUFBQSwwQkFBa0IsRUFBQyxPQUFPLENBQW1CLENBQUE7d0JBRXRELGlCQUFpQixHQUFHLElBQUEsMEJBQWtCLEVBQTBCLE1BQU0sQ0FBQyxDQUFBO3dCQUN2RSxhQUFhLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksdUJBQWUsQ0FBMkU7NEJBQ2hKLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTtnQ0FDekIsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29DQUMxQyxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29DQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRyxJQUFBLGtDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFBO29DQUN4RSxJQUFJLFVBQVUsRUFBRTt3Q0FDZCw2QkFDSyxNQUFNLEtBQ1QsYUFBYSxFQUFFLFlBQVksRUFDM0IsS0FBSyxFQUFFLE9BQU8sSUFDZjtxQ0FDRjtvQ0FDRCxPQUFPLE1BQU0sQ0FBQTtnQ0FDZixDQUFDLENBQUMsQ0FBQTtnQ0FDRixJQUFNLFFBQVEseUJBQVEsS0FBSyxLQUFFLE9BQU8sRUFBRSxVQUFVLEdBQUUsQ0FBQTtnQ0FDbEQsVUFBVSxDQUFDLE9BQU8sdUJBQU0sUUFBUSxLQUFFLFdBQVcsRUFBRSxLQUFLLElBQUcsQ0FBQTs0QkFDekQsQ0FBQzt5QkFDRixDQUFDLENBQUUsQ0FBQTt3QkFFSixXQUFPLElBQUEsMkJBQW1CLEVBQUMsYUFBYSxDQUFDLEVBQUE7Ozs7S0FDMUM7SUFDSCw2QkFBQztBQUFELENBQUMsQUE3REQsSUE2REM7QUE3RFksd0RBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlQXN5bmNJdGVyYWJsZSxcbiAgVHJhbnNmb3JtU3RyZWFtLFxuICB0b1BvbHlmaWxsUmVhZGFibGUsXG4gIGludG9TdGFuZGFyZFN0cmVhbSxcbiAgaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsXG59IGZyb20gJy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHR5cGUge1xuICBNb2RlbFJlcSxcbiAgQmFzZUNoYXRNb2RlbElucHV0LFxuICBTaW1wbGVDaGF0TW9kZWwsXG4gIERvU3RyZWFtT3V0cHV0LFxuICBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayxcbiAgRG9HZW5lcmF0ZU91dHB1dCxcbiAgUmVxT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vdHlwZSdcbmltcG9ydCB7IHByb2Nlc3NJbnB1dCB9IGZyb20gJy4uL0h1bll1YW4vdXRpbCdcbmltcG9ydCB7IEh1bll1YW5HZW5lcmF0ZVRleHRPdXRwdXQsIEh1bll1YW5TdHJlYW1UZXh0T3V0cHV0IH0gZnJvbSAnLi4vSHVuWXVhbi90eXBlJ1xuXG5leHBvcnQgY2xhc3MgSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCBpbXBsZW1lbnRzIFNpbXBsZUNoYXRNb2RlbCB7XG4gIHB1YmxpYyBzdWJVcmwgPSAnaHVueXVhbi1vcGVuL3YxL2NoYXQvY29tcGxldGlvbnMnXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxOiBNb2RlbFJlcSwgcHVibGljIGJhc2VVcmw6IHN0cmluZywgc3ViVXJsPzogc3RyaW5nKSB7XG4gICAgaWYgKHN1YlVybCAhPSBudWxsKSB7XG4gICAgICB0aGlzLnN1YlVybCA9IHN1YlVybFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHVybCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iYXNlVXJsfS8ke3RoaXMuc3ViVXJsfWBcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkb0dlbmVyYXRlKGRhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpOiBQcm9taXNlPERvR2VuZXJhdGVPdXRwdXQ+IHtcbiAgICBjb25zdCByZXMgPSAoYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4ucHJvY2Vzc0lucHV0KGRhdGEpLFxuICAgICAgICBzdHJlYW06IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogZmFsc2UsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pKSBhcyBIdW5ZdWFuR2VuZXJhdGVUZXh0T3V0cHV0XG4gICAgcmV0dXJuIHsgLi4ucmVzLCByYXdSZXNwb25zZTogcmVzIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkb1N0cmVhbShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD4ge1xuICAgIGxldCBpc1Rvb2xDYWxsOiBudWxsIHwgYm9vbGVhbiA9IG51bGxcblxuICAgIGNvbnN0IF9zdHJlYW0gPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgZGF0YToge1xuICAgICAgICAuLi5wcm9jZXNzSW5wdXQoZGF0YSksXG4gICAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG5cbiAgICBjb25zdCBodW55dWFuQmV0YVN0cmVhbSA9IGludG9TdGFuZGFyZFN0cmVhbTxIdW5ZdWFuU3RyZWFtVGV4dE91dHB1dD4oc3RyZWFtKVxuICAgIGNvbnN0IHN0cmVhbVdpdGhSYXcgPSBodW55dWFuQmV0YVN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPEh1bll1YW5TdHJlYW1UZXh0T3V0cHV0LCBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIHsgcmF3UmVzcG9uc2U/OiBhbnkgfT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBjaHVuay5jaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGNob2ljZS5kZWx0YVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsID09IG51bGwpIGlzVG9vbENhbGwgPSBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jaG9pY2UsXG4gICAgICAgICAgICAgIGZpbmlzaF9yZWFzb246ICd0b29sX2NhbGxzJyxcbiAgICAgICAgICAgICAgZGVsdGE6IG1lc3NhZ2UsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjaG9pY2VcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgbmV3Q2h1bmsgPSB7IC4uLmNodW5rLCBjaG9pY2VzOiBuZXdDaG9pY2VzIH1cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHsgLi4ubmV3Q2h1bmssIHJhd1Jlc3BvbnNlOiBjaHVuayB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZShzdHJlYW1XaXRoUmF3KVxuICB9XG59XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL0h1bll1YW5PcGVuL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EscUNBTW9CO0FBVXBCLHdDQUE4QztBQUc5QztJQUVFLGdDQUFvQixHQUFhLEVBQVMsT0FBZSxFQUFFLE1BQWU7UUFBdEQsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFEbEQsV0FBTSxHQUFHLGtDQUFrQyxDQUFBO1FBRWhELElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtTQUNyQjtJQUNILENBQUM7SUFFRCxzQkFBWSx1Q0FBRzthQUFmO1lBQ0UsT0FBTyxVQUFHLElBQUksQ0FBQyxPQUFPLGNBQUksSUFBSSxDQUFDLE1BQU0sQ0FBRSxDQUFBO1FBQ3pDLENBQUM7OztPQUFBO0lBRVksMkNBQVUsR0FBdkIsVUFBd0IsSUFBd0IsRUFBRSxPQUFvQjs7Ozs7NEJBQ3ZELFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQzs0QkFDMUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHOzRCQUNiLElBQUksd0JBQ0MsSUFBQSxtQkFBWSxFQUFDLElBQUksQ0FBQyxLQUNyQixNQUFNLEVBQUUsS0FBSyxHQUNkOzRCQUNELE1BQU0sRUFBRSxLQUFLOzRCQUNiLE9BQU8sRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTzt5QkFDMUIsQ0FBQyxFQUFBOzt3QkFSSSxHQUFHLEdBQUcsQ0FBQyxTQVFYLENBQThCO3dCQUNoQyxpQ0FBWSxHQUFHLEtBQUUsV0FBVyxFQUFFLEdBQUcsS0FBRTs7OztLQUNwQztJQUVZLHlDQUFRLEdBQXJCLFVBQXNCLElBQXdCLEVBQUUsT0FBb0I7Ozs7Ozt3QkFDOUQsVUFBVSxHQUFtQixJQUFJLENBQUE7d0JBR3JCLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQztnQ0FDN0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dDQUNiLElBQUksd0JBQ0MsSUFBQSxtQkFBWSxFQUFDLElBQUksQ0FBQyxLQUNyQixNQUFNLEVBQUUsSUFBSSxHQUNiO2dDQUNELE1BQU0sRUFBRSxJQUFJO2dDQUNaLE9BQU8sRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTzs2QkFDMUIsQ0FBQyxFQUFBOzt3QkFSSSxPQUFPLEdBQUcsU0FRZDt3QkFDSSxNQUFNLEdBQUcsSUFBQSwwQkFBa0IsRUFBQyxPQUFPLENBQW1CLENBQUE7d0JBRXRELGlCQUFpQixHQUFHLElBQUEsMEJBQWtCLEVBQTBCLE1BQU0sQ0FBQyxDQUFBO3dCQUN2RSxhQUFhLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksdUJBQWUsQ0FBMkU7NEJBQ2hKLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTtnQ0FDekIsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29DQUMxQyxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29DQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRyxJQUFBLGtDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFBO29DQUN4RSxJQUFJLFVBQVUsRUFBRTt3Q0FDZCw2QkFDSyxNQUFNLEtBQ1QsYUFBYSxFQUFFLFlBQVksRUFDM0IsS0FBSyxFQUFFLE9BQU8sSUFDZjtxQ0FDRjtvQ0FDRCxPQUFPLE1BQU0sQ0FBQTtnQ0FDZixDQUFDLENBQUMsQ0FBQTtnQ0FDRixJQUFNLFFBQVEseUJBQVEsS0FBSyxLQUFFLE9BQU8sRUFBRSxVQUFVLEdBQUUsQ0FBQTtnQ0FDbEQsVUFBVSxDQUFDLE9BQU8sdUJBQU0sUUFBUSxLQUFFLFdBQVcsRUFBRSxLQUFLLElBQUcsQ0FBQTs0QkFDekQsQ0FBQzt5QkFDRixDQUFDLENBQUUsQ0FBQTt3QkFFSixXQUFPLElBQUEsMkJBQW1CLEVBQUMsYUFBYSxDQUFDLEVBQUE7Ozs7S0FDMUM7SUFDSCw2QkFBQztBQUFELENBQUMsQUE5REQsSUE4REM7QUE5RFksd0RBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgZXFlcWVxICovXG5pbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG4gIHRvUG9seWZpbGxSZWFkYWJsZSxcbiAgaW50b1N0YW5kYXJkU3RyZWFtLFxuICBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIE1vZGVsUmVxLFxuICBCYXNlQ2hhdE1vZGVsSW5wdXQsXG4gIFNpbXBsZUNoYXRNb2RlbCxcbiAgRG9TdHJlYW1PdXRwdXQsXG4gIEJhc2VEb1N0cmVhbU91dHB1dENodW5rLFxuICBEb0dlbmVyYXRlT3V0cHV0LFxuICBSZXFPcHRpb25zLFxufSBmcm9tICcuLi8uLi90eXBlJ1xuaW1wb3J0IHsgcHJvY2Vzc0lucHV0IH0gZnJvbSAnLi4vSHVuWXVhbi91dGlsJ1xuaW1wb3J0IHsgSHVuWXVhbkdlbmVyYXRlVGV4dE91dHB1dCwgSHVuWXVhblN0cmVhbVRleHRPdXRwdXQgfSBmcm9tICcuLi9IdW5ZdWFuL3R5cGUnXG5cbmV4cG9ydCBjbGFzcyBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsIGltcGxlbWVudHMgU2ltcGxlQ2hhdE1vZGVsIHtcbiAgcHVibGljIHN1YlVybCA9ICdodW55dWFuLW9wZW4vdjEvY2hhdC9jb21wbGV0aW9ucydcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXE6IE1vZGVsUmVxLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nLCBzdWJVcmw/OiBzdHJpbmcpIHtcbiAgICBpZiAoc3ViVXJsICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc3ViVXJsID0gc3ViVXJsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdXJsKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VVcmx9LyR7dGhpcy5zdWJVcmx9YFxuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvR2VuZXJhdGUoZGF0YTogQmFzZUNoYXRNb2RlbElucHV0LCBvcHRpb25zPzogUmVxT3B0aW9ucyk6IFByb21pc2U8RG9HZW5lcmF0ZU91dHB1dD4ge1xuICAgIGNvbnN0IHJlcyA9IChhd2FpdCB0aGlzLnJlcSh7XG4gICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgZGF0YToge1xuICAgICAgICAuLi5wcm9jZXNzSW5wdXQoZGF0YSksXG4gICAgICAgIHN0cmVhbTogZmFsc2UsXG4gICAgICB9LFxuICAgICAgc3RyZWFtOiBmYWxzZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSkpIGFzIEh1bll1YW5HZW5lcmF0ZVRleHRPdXRwdXRcbiAgICByZXR1cm4geyAuLi5yZXMsIHJhd1Jlc3BvbnNlOiByZXMgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvU3RyZWFtKGRhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpOiBQcm9taXNlPERvU3RyZWFtT3V0cHV0PiB7XG4gICAgbGV0IGlzVG9vbENhbGw6IG51bGwgfCBib29sZWFuID0gbnVsbFxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIGNvbnN0IF9zdHJlYW0gPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgZGF0YToge1xuICAgICAgICAuLi5wcm9jZXNzSW5wdXQoZGF0YSksXG4gICAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG5cbiAgICBjb25zdCBodW55dWFuQmV0YVN0cmVhbSA9IGludG9TdGFuZGFyZFN0cmVhbTxIdW5ZdWFuU3RyZWFtVGV4dE91dHB1dD4oc3RyZWFtKVxuICAgIGNvbnN0IHN0cmVhbVdpdGhSYXcgPSBodW55dWFuQmV0YVN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPEh1bll1YW5TdHJlYW1UZXh0T3V0cHV0LCBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIHsgcmF3UmVzcG9uc2U/OiBhbnkgfT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBjaHVuay5jaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGNob2ljZS5kZWx0YVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsID09IG51bGwpIGlzVG9vbENhbGwgPSBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jaG9pY2UsXG4gICAgICAgICAgICAgIGZpbmlzaF9yZWFzb246ICd0b29sX2NhbGxzJyxcbiAgICAgICAgICAgICAgZGVsdGE6IG1lc3NhZ2UsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjaG9pY2VcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgbmV3Q2h1bmsgPSB7IC4uLmNodW5rLCBjaG9pY2VzOiBuZXdDaG9pY2VzIH1cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHsgLi4ubmV3Q2h1bmssIHJhd1Jlc3BvbnNlOiBjaHVuayB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZShzdHJlYW1XaXRoUmF3KVxuICB9XG59XG4iXX0=
@@ -127,4 +127,4 @@ var MoonshotSimpleModel = (function () {
127
127
  return MoonshotSimpleModel;
128
128
  }());
129
129
  exports.MoonshotSimpleModel = MoonshotSimpleModel;
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL01vb25zaG90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBTW9CO0FBWXBCLFNBQVMsWUFBWSxDQUFDLEtBQXlCO0lBQ3JDLElBQUEsUUFBUSxHQUF1QyxLQUFLLFNBQTVDLEVBQUUsS0FBSyxHQUFnQyxLQUFLLE1BQXJDLEVBQUUsV0FBVyxHQUFtQixLQUFLLFlBQXhCLEVBQUUsS0FBSyxHQUFZLEtBQUssTUFBakIsRUFBRSxLQUFLLEdBQUssS0FBSyxNQUFWLENBQVU7SUFFNUQsNkJBQ0ssS0FBSyxLQUNSLFFBQVEsVUFBQSxFQUNSLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxFQUNMLFdBQVcsYUFBQSxJQUNaO0FBQ0gsQ0FBQztBQUVEO0lBRUUsNkJBQW9CLEdBQWEsRUFBUyxPQUFlLEVBQUUsTUFBZTtRQUF0RCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQURsRCxXQUFNLEdBQUcsOEJBQThCLENBQUE7UUFFNUMsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELHNCQUFZLG9DQUFHO2FBQWY7WUFDRSxPQUFPLFVBQUcsSUFBSSxDQUFDLE9BQU8sY0FBSSxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUE7UUFDekMsQ0FBQzs7O09BQUE7SUFFWSx3Q0FBVSxHQUF2QixVQUF3QixJQUF3QixFQUFFLE9BQW9COzs7Ozs0QkFDdkQsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDOzRCQUMxQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7NEJBQ2IsSUFBSSx3QkFDQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQ3JCLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7NEJBQ0QsTUFBTSxFQUFFLEtBQUs7NEJBQ2IsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPO3lCQUMxQixDQUFDLEVBQUE7O3dCQVJJLEdBQUcsR0FBRyxDQUFDLFNBUVgsQ0FBK0I7d0JBQ2pDLGlDQUFZLEdBQUcsS0FBRSxXQUFXLEVBQUUsR0FBRyxLQUFFOzs7O0tBQ3BDO0lBRVksc0NBQVEsR0FBckIsVUFBc0IsSUFBd0IsRUFBRSxPQUFvQjs7Ozs7O3dCQUM5RCxVQUFVLEdBQW1CLElBQUksQ0FBQTt3QkFDckIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDO2dDQUM3QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0NBQ2IsSUFBSSx3QkFDQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQ3JCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7Z0NBQ0QsTUFBTSxFQUFFLElBQUk7Z0NBQ1osT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPOzZCQUMxQixDQUFDLEVBQUE7O3dCQVJJLE9BQU8sR0FBRyxTQVFkO3dCQUNJLE1BQU0sR0FBRyxJQUFBLDBCQUFrQixFQUFDLE9BQU8sQ0FBbUIsQ0FBQTt3QkFFdEQsU0FBUyxHQUFHLElBQUEsMEJBQWtCLEVBQTJCLE1BQU0sQ0FBQyxDQUFBO3dCQUNoRSxhQUFhLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUFlLENBQTRFOzRCQUN6SSxTQUFTLFlBQUMsS0FBSyxFQUFFLFVBQVU7Z0NBQ3pCLElBQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQUMsTUFBTTtvQ0FDMUMsSUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQTtvQ0FDNUIsSUFBSSxVQUFVLElBQUksSUFBSTt3Q0FBRSxVQUFVLEdBQUcsSUFBQSxrQ0FBMEIsRUFBQyxPQUFPLENBQUMsQ0FBQTtvQ0FDeEUsSUFBSSxVQUFVLEVBQUU7d0NBQ2QsNkJBQ0ssTUFBTSxLQUNULGFBQWEsRUFBRSxZQUFxQixFQUNwQyxLQUFLLEVBQUUsT0FBTyxJQUNmO3FDQUNGO29DQUNELE9BQU8sTUFBTSxDQUFBO2dDQUNmLENBQUMsQ0FBQyxDQUFBO2dDQUNGLElBQU0sUUFBUSx5QkFBUSxLQUFLLEtBQUUsT0FBTyxFQUFFLFVBQVUsR0FBRSxDQUFBO2dDQUNsRCxVQUFVLENBQUMsT0FBTyx1QkFBTSxRQUFRLEtBQUUsV0FBVyxFQUFFLEtBQUssSUFBRyxDQUFBOzRCQUN6RCxDQUFDO3lCQUNGLENBQUMsQ0FBRSxDQUFBO3dCQUVKLFdBQU8sSUFBQSwyQkFBbUIsRUFBQyxhQUFhLENBQUMsRUFBQTs7OztLQUMxQztJQUNILDBCQUFDO0FBQUQsQ0FBQyxBQTVERCxJQTREQztBQTVEWSxrREFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG4gIHRvUG9seWZpbGxSZWFkYWJsZSxcbiAgaW50b1N0YW5kYXJkU3RyZWFtLFxuICBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IE1vb25zaG90R2VuZXJhdGVUZXh0T3V0cHV0LCBNb29uc2hvdFN0cmVhbVRleHRPdXRwdXQsIE1vb25zaG90SW5wdXREYXRhIH0gZnJvbSAnLi90eXBlJ1xuaW1wb3J0IHR5cGUge1xuICBNb2RlbFJlcSxcbiAgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmssXG4gIERvR2VuZXJhdGVPdXRwdXQsXG4gIERvU3RyZWFtT3V0cHV0LFxuICBTaW1wbGVDaGF0TW9kZWwsXG4gIEJhc2VDaGF0TW9kZWxJbnB1dCxcbiAgUmVxT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vdHlwZSdcblxuZnVuY3Rpb24gcHJvY2Vzc0lucHV0KGlucHV0OiBCYXNlQ2hhdE1vZGVsSW5wdXQpOiBNb29uc2hvdElucHV0RGF0YSB7XG4gIGNvbnN0IHsgbWVzc2FnZXMsIG1vZGVsLCB0ZW1wZXJhdHVyZSwgdG9vbHMsIHRvcF9wIH0gPSBpbnB1dFxuXG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgbWVzc2FnZXMsXG4gICAgbW9kZWwsXG4gICAgdG9vbHMsXG4gICAgdG9wX3AsXG4gICAgdGVtcGVyYXR1cmUsXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1vb25zaG90U2ltcGxlTW9kZWwgaW1wbGVtZW50cyBTaW1wbGVDaGF0TW9kZWwge1xuICBwdWJsaWMgc3ViVXJsID0gJ21vb25zaG90L3YxL2NoYXQvY29tcGxldGlvbnMnXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxOiBNb2RlbFJlcSwgcHVibGljIGJhc2VVcmw6IHN0cmluZywgc3ViVXJsPzogc3RyaW5nKSB7XG4gICAgaWYgKHN1YlVybCAhPSBudWxsKSB7XG4gICAgICB0aGlzLnN1YlVybCA9IHN1YlVybFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHVybCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iYXNlVXJsfS8ke3RoaXMuc3ViVXJsfWBcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkb0dlbmVyYXRlKGRhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpOiBQcm9taXNlPERvR2VuZXJhdGVPdXRwdXQ+IHtcbiAgICBjb25zdCByZXMgPSAoYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4ucHJvY2Vzc0lucHV0KGRhdGEpLFxuICAgICAgICBzdHJlYW06IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogZmFsc2UsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pKSBhcyBNb29uc2hvdEdlbmVyYXRlVGV4dE91dHB1dFxuICAgIHJldHVybiB7IC4uLnJlcywgcmF3UmVzcG9uc2U6IHJlcyB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9TdHJlYW0oZGF0YTogQmFzZUNoYXRNb2RlbElucHV0LCBvcHRpb25zPzogUmVxT3B0aW9ucyk6IFByb21pc2U8RG9TdHJlYW1PdXRwdXQ+IHtcbiAgICBsZXQgaXNUb29sQ2FsbDogbnVsbCB8IGJvb2xlYW4gPSBudWxsXG4gICAgY29uc3QgX3N0cmVhbSA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIC4uLnByb2Nlc3NJbnB1dChkYXRhKSxcbiAgICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgICBjb25zdCBzdHJlYW0gPSB0b1BvbHlmaWxsUmVhZGFibGUoX3N0cmVhbSkgYXMgdHlwZW9mIF9zdHJlYW1cblxuICAgIGNvbnN0IGFya1N0cmVhbSA9IGludG9TdGFuZGFyZFN0cmVhbTxNb29uc2hvdFN0cmVhbVRleHRPdXRwdXQ+KHN0cmVhbSlcbiAgICBjb25zdCBzdHJlYW1XaXRoUmF3ID0gYXJrU3RyZWFtLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW08TW9vbnNob3RTdHJlYW1UZXh0T3V0cHV0LCBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIHsgcmF3UmVzcG9uc2U/OiBhbnkgfT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBjaHVuay5jaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGNob2ljZS5kZWx0YVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsID09IG51bGwpIGlzVG9vbENhbGwgPSBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jaG9pY2UsXG4gICAgICAgICAgICAgIGZpbmlzaF9yZWFzb246ICd0b29sX2NhbGxzJyBhcyBjb25zdCxcbiAgICAgICAgICAgICAgZGVsdGE6IG1lc3NhZ2UsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjaG9pY2VcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgbmV3Q2h1bmsgPSB7IC4uLmNodW5rLCBjaG9pY2VzOiBuZXdDaG9pY2VzIH1cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHsgLi4ubmV3Q2h1bmssIHJhd1Jlc3BvbnNlOiBjaHVuayB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZShzdHJlYW1XaXRoUmF3KVxuICB9XG59XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL01vb25zaG90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EscUNBTW9CO0FBWXBCLFNBQVMsWUFBWSxDQUFDLEtBQXlCO0lBRXJDLElBQUEsUUFBUSxHQUF1QyxLQUFLLFNBQTVDLEVBQUUsS0FBSyxHQUFnQyxLQUFLLE1BQXJDLEVBQUUsV0FBVyxHQUFtQixLQUFLLFlBQXhCLEVBQUUsS0FBSyxHQUFZLEtBQUssTUFBakIsRUFBRSxLQUFLLEdBQUssS0FBSyxNQUFWLENBQVU7SUFFNUQsNkJBQ0ssS0FBSyxLQUNSLFFBQVEsVUFBQSxFQUNSLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxFQUNMLFdBQVcsYUFBQSxJQUNaO0FBQ0gsQ0FBQztBQUVEO0lBRUUsNkJBQW9CLEdBQWEsRUFBUyxPQUFlLEVBQUUsTUFBZTtRQUF0RCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQURsRCxXQUFNLEdBQUcsOEJBQThCLENBQUE7UUFFNUMsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELHNCQUFZLG9DQUFHO2FBQWY7WUFDRSxPQUFPLFVBQUcsSUFBSSxDQUFDLE9BQU8sY0FBSSxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUE7UUFDekMsQ0FBQzs7O09BQUE7SUFFWSx3Q0FBVSxHQUF2QixVQUF3QixJQUF3QixFQUFFLE9BQW9COzs7Ozs0QkFDdkQsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDOzRCQUMxQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7NEJBQ2IsSUFBSSx3QkFDQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQ3JCLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7NEJBQ0QsTUFBTSxFQUFFLEtBQUs7NEJBQ2IsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPO3lCQUMxQixDQUFDLEVBQUE7O3dCQVJJLEdBQUcsR0FBRyxDQUFDLFNBUVgsQ0FBK0I7d0JBQ2pDLGlDQUFZLEdBQUcsS0FBRSxXQUFXLEVBQUUsR0FBRyxLQUFFOzs7O0tBQ3BDO0lBRVksc0NBQVEsR0FBckIsVUFBc0IsSUFBd0IsRUFBRSxPQUFvQjs7Ozs7O3dCQUM5RCxVQUFVLEdBQW1CLElBQUksQ0FBQTt3QkFFckIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDO2dDQUM3QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0NBQ2IsSUFBSSx3QkFDQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQ3JCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7Z0NBQ0QsTUFBTSxFQUFFLElBQUk7Z0NBQ1osT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPOzZCQUMxQixDQUFDLEVBQUE7O3dCQVJJLE9BQU8sR0FBRyxTQVFkO3dCQUNJLE1BQU0sR0FBRyxJQUFBLDBCQUFrQixFQUFDLE9BQU8sQ0FBbUIsQ0FBQTt3QkFFdEQsU0FBUyxHQUFHLElBQUEsMEJBQWtCLEVBQTJCLE1BQU0sQ0FBQyxDQUFBO3dCQUNoRSxhQUFhLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUFlLENBQTRFOzRCQUN6SSxTQUFTLFlBQUMsS0FBSyxFQUFFLFVBQVU7Z0NBQ3pCLElBQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQUMsTUFBTTtvQ0FDMUMsSUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQTtvQ0FDNUIsSUFBSSxVQUFVLElBQUksSUFBSTt3Q0FBRSxVQUFVLEdBQUcsSUFBQSxrQ0FBMEIsRUFBQyxPQUFPLENBQUMsQ0FBQTtvQ0FDeEUsSUFBSSxVQUFVLEVBQUU7d0NBQ2QsNkJBQ0ssTUFBTSxLQUNULGFBQWEsRUFBRSxZQUFxQixFQUNwQyxLQUFLLEVBQUUsT0FBTyxJQUNmO3FDQUNGO29DQUNELE9BQU8sTUFBTSxDQUFBO2dDQUNmLENBQUMsQ0FBQyxDQUFBO2dDQUNGLElBQU0sUUFBUSx5QkFBUSxLQUFLLEtBQUUsT0FBTyxFQUFFLFVBQVUsR0FBRSxDQUFBO2dDQUNsRCxVQUFVLENBQUMsT0FBTyx1QkFBTSxRQUFRLEtBQUUsV0FBVyxFQUFFLEtBQUssSUFBRyxDQUFBOzRCQUN6RCxDQUFDO3lCQUNGLENBQUMsQ0FBRSxDQUFBO3dCQUVKLFdBQU8sSUFBQSwyQkFBbUIsRUFBQyxhQUFhLENBQUMsRUFBQTs7OztLQUMxQztJQUNILDBCQUFDO0FBQUQsQ0FBQyxBQTdERCxJQTZEQztBQTdEWSxrREFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBlcWVxZXEgKi9cbmltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIFRyYW5zZm9ybVN0cmVhbSxcbiAgdG9Qb2x5ZmlsbFJlYWRhYmxlLFxuICBpbnRvU3RhbmRhcmRTdHJlYW0sXG4gIGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxufSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB0eXBlIHsgTW9vbnNob3RHZW5lcmF0ZVRleHRPdXRwdXQsIE1vb25zaG90U3RyZWFtVGV4dE91dHB1dCwgTW9vbnNob3RJbnB1dERhdGEgfSBmcm9tICcuL3R5cGUnXG5pbXBvcnQgdHlwZSB7XG4gIE1vZGVsUmVxLFxuICBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayxcbiAgRG9HZW5lcmF0ZU91dHB1dCxcbiAgRG9TdHJlYW1PdXRwdXQsXG4gIFNpbXBsZUNoYXRNb2RlbCxcbiAgQmFzZUNoYXRNb2RlbElucHV0LFxuICBSZXFPcHRpb25zLFxufSBmcm9tICcuLi8uLi90eXBlJ1xuXG5mdW5jdGlvbiBwcm9jZXNzSW5wdXQoaW5wdXQ6IEJhc2VDaGF0TW9kZWxJbnB1dCk6IE1vb25zaG90SW5wdXREYXRhIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICBjb25zdCB7IG1lc3NhZ2VzLCBtb2RlbCwgdGVtcGVyYXR1cmUsIHRvb2xzLCB0b3BfcCB9ID0gaW5wdXRcblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIG1lc3NhZ2VzLFxuICAgIG1vZGVsLFxuICAgIHRvb2xzLFxuICAgIHRvcF9wLFxuICAgIHRlbXBlcmF0dXJlLFxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNb29uc2hvdFNpbXBsZU1vZGVsIGltcGxlbWVudHMgU2ltcGxlQ2hhdE1vZGVsIHtcbiAgcHVibGljIHN1YlVybCA9ICdtb29uc2hvdC92MS9jaGF0L2NvbXBsZXRpb25zJ1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogTW9kZWxSZXEsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcsIHN1YlVybD86IHN0cmluZykge1xuICAgIGlmIChzdWJVcmwgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zdWJVcmwgPSBzdWJVcmxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCB1cmwoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZVVybH0vJHt0aGlzLnN1YlVybH1gXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb0dlbmVyYXRlT3V0cHV0PiB7XG4gICAgY29uc3QgcmVzID0gKGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIC4uLnByb2Nlc3NJbnB1dChkYXRhKSxcbiAgICAgICAgc3RyZWFtOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBzdHJlYW06IGZhbHNlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KSkgYXMgTW9vbnNob3RHZW5lcmF0ZVRleHRPdXRwdXRcbiAgICByZXR1cm4geyAuLi5yZXMsIHJhd1Jlc3BvbnNlOiByZXMgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvU3RyZWFtKGRhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpOiBQcm9taXNlPERvU3RyZWFtT3V0cHV0PiB7XG4gICAgbGV0IGlzVG9vbENhbGw6IG51bGwgfCBib29sZWFuID0gbnVsbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBjb25zdCBfc3RyZWFtID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4ucHJvY2Vzc0lucHV0KGRhdGEpLFxuICAgICAgICBzdHJlYW06IHRydWUsXG4gICAgICB9LFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIGNvbnN0IHN0cmVhbSA9IHRvUG9seWZpbGxSZWFkYWJsZShfc3RyZWFtKSBhcyB0eXBlb2YgX3N0cmVhbVxuXG4gICAgY29uc3QgYXJrU3RyZWFtID0gaW50b1N0YW5kYXJkU3RyZWFtPE1vb25zaG90U3RyZWFtVGV4dE91dHB1dD4oc3RyZWFtKVxuICAgIGNvbnN0IHN0cmVhbVdpdGhSYXcgPSBhcmtTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxNb29uc2hvdFN0cmVhbVRleHRPdXRwdXQsIEJhc2VEb1N0cmVhbU91dHB1dENodW5rICYgeyByYXdSZXNwb25zZT86IGFueSB9Pih7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgY29uc3QgbmV3Q2hvaWNlcyA9IGNodW5rLmNob2ljZXMubWFwKChjaG9pY2UpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gY2hvaWNlLmRlbHRhXG4gICAgICAgICAgaWYgKGlzVG9vbENhbGwgPT0gbnVsbCkgaXNUb29sQ2FsbCA9IGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlKG1lc3NhZ2UpXG4gICAgICAgICAgaWYgKGlzVG9vbENhbGwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmNob2ljZSxcbiAgICAgICAgICAgICAgZmluaXNoX3JlYXNvbjogJ3Rvb2xfY2FsbHMnIGFzIGNvbnN0LFxuICAgICAgICAgICAgICBkZWx0YTogbWVzc2FnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNob2ljZVxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBuZXdDaHVuayA9IHsgLi4uY2h1bmssIGNob2ljZXM6IG5ld0Nob2ljZXMgfVxuICAgICAgICBjb250cm9sbGVyLmVucXVldWUoeyAuLi5uZXdDaHVuaywgcmF3UmVzcG9uc2U6IGNodW5rIH0pXG4gICAgICB9LFxuICAgIH0pLClcblxuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHN0cmVhbVdpdGhSYXcpXG4gIH1cbn1cbiJdfQ==
@@ -130,4 +130,4 @@ var YiSimpleModel = (function () {
130
130
  return YiSimpleModel;
131
131
  }());
132
132
  exports.YiSimpleModel = YiSimpleModel;
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL1lpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBTW9CO0FBWXBCLFNBQVMsWUFBWSxDQUFDLEtBQXlCO0lBQ3JDLElBQUEsUUFBUSxHQUF1QyxLQUFLLFNBQTVDLEVBQUUsS0FBSyxHQUFnQyxLQUFLLE1BQXJDLEVBQUUsV0FBVyxHQUFtQixLQUFLLFlBQXhCLEVBQUUsS0FBSyxHQUFZLEtBQUssTUFBakIsRUFBRSxLQUFLLEdBQUssS0FBSyxNQUFWLENBQVU7SUFFNUQsNkJBQ0ssS0FBSyxLQUNSLFFBQVEsVUFBQSxFQUNSLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxFQUNMLFdBQVcsYUFBQSxJQUNaO0FBQ0gsQ0FBQztBQUVEO0lBR0UsdUJBQW9CLEdBQWEsRUFBUyxPQUFlLEVBQUUsTUFBZTtRQUF0RCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUZsRCxXQUFNLEdBQUcsMkJBQTJCLENBQUE7UUFHekMsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELHNCQUFZLDhCQUFHO2FBQWY7WUFDRSxPQUFPLFVBQUcsSUFBSSxDQUFDLE9BQU8sY0FBSSxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUE7UUFDekMsQ0FBQzs7O09BQUE7SUFFWSxrQ0FBVSxHQUF2QixVQUF3QixJQUF3QixFQUFFLE9BQW9COzs7Ozs0QkFDdkQsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDOzRCQUMxQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7NEJBQ2IsSUFBSSx3QkFDQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQ3JCLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7NEJBQ0QsTUFBTSxFQUFFLEtBQUs7NEJBQ2IsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPO3lCQUMxQixDQUFDLEVBQUE7O3dCQVJJLEdBQUcsR0FBRyxDQUFDLFNBUVgsQ0FBcUI7d0JBQ3ZCLGlDQUFZLEdBQUcsS0FBRSxXQUFXLEVBQUUsR0FBRyxLQUFFOzs7O0tBQ3BDO0lBRVksZ0NBQVEsR0FBckIsVUFBc0IsSUFBd0IsRUFBRSxPQUFvQjs7Ozs7O3dCQUM5RCxVQUFVLEdBQW1CLElBQUksQ0FBQTt3QkFDckIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDO2dDQUM3QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0NBQ2IsSUFBSSx3QkFDQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQ3JCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7Z0NBQ0QsTUFBTSxFQUFFLElBQUk7Z0NBQ1osT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPOzZCQUMxQixDQUFDLEVBQUE7O3dCQVJJLE9BQU8sR0FBRyxTQVFkO3dCQUNJLE1BQU0sR0FBRyxJQUFBLDBCQUFrQixFQUFDLE9BQU8sQ0FBbUIsQ0FBQTt3QkFFdEQsU0FBUyxHQUFHLElBQUEsMEJBQWtCLEVBQWlCLE1BQU0sQ0FBQyxDQUFBO3dCQUN0RCxhQUFhLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUFlLENBQWtFOzRCQUMvSCxTQUFTLFlBQUMsS0FBSyxFQUFFLFVBQVU7O2dDQUV6QixJQUFJLENBQUMsQ0FBQyxDQUFBLE1BQUEsTUFBQSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLDBDQUFHLENBQUMsQ0FBQywwQ0FBRSxLQUFLLDBDQUFFLE9BQU8sTUFBSSxNQUFBLE1BQUEsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTywwQ0FBRyxDQUFDLENBQUMsMENBQUUsS0FBSywwQ0FBRSxVQUFVLENBQUEsQ0FBQztvQ0FBRSxPQUFNO2dDQUU1RixJQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFDLE1BQU07b0NBQzFDLElBQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FFaEUsQ0FBQTtvQ0FDRCxJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRyxJQUFBLGtDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFBO29DQUN4RSxJQUFJLFVBQVUsRUFBRTt3Q0FDZCw2QkFDSyxNQUFNLEtBQ1QsYUFBYSxFQUFFLFlBQXFCLEVBQ3BDLEtBQUssRUFBRSxPQUFPLElBQ2Y7cUNBQ0Y7b0NBQ0QsNkJBQVksTUFBTSxLQUFFLEtBQUssRUFBRSxPQUFPLElBQUU7Z0NBQ3RDLENBQUMsQ0FBQyxDQUFBO2dDQUNGLElBQU0sUUFBUSx5QkFBUSxLQUFLLEtBQUUsT0FBTyxFQUFFLFVBQVUsR0FBRSxDQUFBO2dDQUNsRCxVQUFVLENBQUMsT0FBTyx1QkFBTSxRQUFRLEtBQUUsV0FBVyxFQUFFLEtBQUssSUFBRyxDQUFBOzRCQUN6RCxDQUFDO3lCQUNGLENBQUMsQ0FBRSxDQUFBO3dCQUVKLFdBQU8sSUFBQSwyQkFBbUIsRUFBQyxhQUFhLENBQUMsRUFBQTs7OztLQUMxQztJQUNILG9CQUFDO0FBQUQsQ0FBQyxBQWxFRCxJQWtFQztBQWxFWSxzQ0FBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIFRyYW5zZm9ybVN0cmVhbSxcbiAgdG9Qb2x5ZmlsbFJlYWRhYmxlLFxuICBpbnRvU3RhbmRhcmRTdHJlYW0sXG4gIGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxufSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB0eXBlIHsgWWlJbnB1dCwgWWlHZW5lcmF0ZU91dHB1dCwgWWlTdHJlYW1PdXRwdXQgfSBmcm9tICcuL3R5cGUnXG5pbXBvcnQgdHlwZSB7XG4gIE1vZGVsUmVxLFxuICBCYXNlQ2hhdE1vZGVsSW5wdXQsXG4gIERvR2VuZXJhdGVPdXRwdXQsXG4gIERvU3RyZWFtT3V0cHV0LFxuICBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayxcbiAgU2ltcGxlQ2hhdE1vZGVsLFxuICBSZXFPcHRpb25zLFxufSBmcm9tICcuLi8uLi90eXBlJ1xuXG5mdW5jdGlvbiBwcm9jZXNzSW5wdXQoaW5wdXQ6IEJhc2VDaGF0TW9kZWxJbnB1dCk6IFlpSW5wdXQge1xuICBjb25zdCB7IG1lc3NhZ2VzLCBtb2RlbCwgdGVtcGVyYXR1cmUsIHRvb2xzLCB0b3BfcCB9ID0gaW5wdXRcblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIG1lc3NhZ2VzLFxuICAgIG1vZGVsLFxuICAgIHRvb2xzLFxuICAgIHRvcF9wLFxuICAgIHRlbXBlcmF0dXJlLFxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBZaVNpbXBsZU1vZGVsIGltcGxlbWVudHMgU2ltcGxlQ2hhdE1vZGVsIHtcbiAgcHVibGljIHN1YlVybCA9ICcwMS1haS92MS9jaGF0L2NvbXBsZXRpb25zJ1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxOiBNb2RlbFJlcSwgcHVibGljIGJhc2VVcmw6IHN0cmluZywgc3ViVXJsPzogc3RyaW5nKSB7XG4gICAgaWYgKHN1YlVybCAhPSBudWxsKSB7XG4gICAgICB0aGlzLnN1YlVybCA9IHN1YlVybFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHVybCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iYXNlVXJsfS8ke3RoaXMuc3ViVXJsfWBcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkb0dlbmVyYXRlKGRhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpOiBQcm9taXNlPERvR2VuZXJhdGVPdXRwdXQ+IHtcbiAgICBjb25zdCByZXMgPSAoYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4ucHJvY2Vzc0lucHV0KGRhdGEpLFxuICAgICAgICBzdHJlYW06IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogZmFsc2UsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pKSBhcyBZaUdlbmVyYXRlT3V0cHV0XG4gICAgcmV0dXJuIHsgLi4ucmVzLCByYXdSZXNwb25zZTogcmVzIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkb1N0cmVhbShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD4ge1xuICAgIGxldCBpc1Rvb2xDYWxsOiBudWxsIHwgYm9vbGVhbiA9IG51bGxcbiAgICBjb25zdCBfc3RyZWFtID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4ucHJvY2Vzc0lucHV0KGRhdGEpLFxuICAgICAgICBzdHJlYW06IHRydWUsXG4gICAgICB9LFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIGNvbnN0IHN0cmVhbSA9IHRvUG9seWZpbGxSZWFkYWJsZShfc3RyZWFtKSBhcyB0eXBlb2YgX3N0cmVhbVxuXG4gICAgY29uc3QgYXJrU3RyZWFtID0gaW50b1N0YW5kYXJkU3RyZWFtPFlpU3RyZWFtT3V0cHV0PihzdHJlYW0pXG4gICAgY29uc3Qgc3RyZWFtV2l0aFJhdyA9IGFya1N0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPFlpU3RyZWFtT3V0cHV0LCBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIHsgcmF3UmVzcG9uc2U/OiBhbnkgfT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIC8vIOmdnuW4uOWlh+iRqVxuICAgICAgICBpZiAoIShjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudCB8fCBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8udG9vbF9jYWxscykpIHJldHVyblxuXG4gICAgICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBjaHVuay5jaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IE9iamVjdC5hc3NpZ24oY2hvaWNlLmRlbHRhLCB7IHJvbGU6ICdhc3Npc3RhbnQnIH0pIGFzIHR5cGVvZiBjaG9pY2UuZGVsdGEgJiB7XG4gICAgICAgICAgICByb2xlOiAnYXNzaXN0YW50J1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNUb29sQ2FsbCA9PSBudWxsKSBpc1Rvb2xDYWxsID0gaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UobWVzc2FnZSlcbiAgICAgICAgICBpZiAoaXNUb29sQ2FsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uY2hvaWNlLFxuICAgICAgICAgICAgICBmaW5pc2hfcmVhc29uOiAndG9vbF9jYWxscycgYXMgY29uc3QsXG4gICAgICAgICAgICAgIGRlbHRhOiBtZXNzYWdlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4geyAuLi5jaG9pY2UsIGRlbHRhOiBtZXNzYWdlIH1cbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgbmV3Q2h1bmsgPSB7IC4uLmNodW5rLCBjaG9pY2VzOiBuZXdDaG9pY2VzIH1cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHsgLi4ubmV3Q2h1bmssIHJhd1Jlc3BvbnNlOiBjaHVuayB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZShzdHJlYW1XaXRoUmF3KVxuICB9XG59XG4iXX0=
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL1lpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEscUNBTW9CO0FBWXBCLFNBQVMsWUFBWSxDQUFDLEtBQXlCO0lBQ3JDLElBQUEsUUFBUSxHQUF1QyxLQUFLLFNBQTVDLEVBQUUsS0FBSyxHQUFnQyxLQUFLLE1BQXJDLEVBQUUsV0FBVyxHQUFtQixLQUFLLFlBQXhCLEVBQUUsS0FBSyxHQUFZLEtBQUssTUFBakIsRUFBRSxLQUFLLEdBQUssS0FBSyxNQUFWLENBQVU7SUFFNUQsNkJBQ0ssS0FBSyxLQUNSLFFBQVEsVUFBQSxFQUNSLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxFQUNMLFdBQVcsYUFBQSxJQUNaO0FBQ0gsQ0FBQztBQUVEO0lBR0UsdUJBQW9CLEdBQWEsRUFBUyxPQUFlLEVBQUUsTUFBZTtRQUF0RCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUZsRCxXQUFNLEdBQUcsMkJBQTJCLENBQUE7UUFHekMsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELHNCQUFZLDhCQUFHO2FBQWY7WUFDRSxPQUFPLFVBQUcsSUFBSSxDQUFDLE9BQU8sY0FBSSxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUE7UUFDekMsQ0FBQzs7O09BQUE7SUFFWSxrQ0FBVSxHQUF2QixVQUF3QixJQUF3QixFQUFFLE9BQW9COzs7Ozs0QkFDdkQsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDOzRCQUMxQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7NEJBQ2IsSUFBSSx3QkFDQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQ3JCLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7NEJBQ0QsTUFBTSxFQUFFLEtBQUs7NEJBQ2IsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPO3lCQUMxQixDQUFDLEVBQUE7O3dCQVJJLEdBQUcsR0FBRyxDQUFDLFNBUVgsQ0FBcUI7d0JBQ3ZCLGlDQUFZLEdBQUcsS0FBRSxXQUFXLEVBQUUsR0FBRyxLQUFFOzs7O0tBQ3BDO0lBRVksZ0NBQVEsR0FBckIsVUFBc0IsSUFBd0IsRUFBRSxPQUFvQjs7Ozs7O3dCQUM5RCxVQUFVLEdBQW1CLElBQUksQ0FBQTt3QkFDckIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDO2dDQUM3QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0NBQ2IsSUFBSSx3QkFDQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQ3JCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7Z0NBQ0QsTUFBTSxFQUFFLElBQUk7Z0NBQ1osT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPOzZCQUMxQixDQUFDLEVBQUE7O3dCQVJJLE9BQU8sR0FBRyxTQVFkO3dCQUNJLE1BQU0sR0FBRyxJQUFBLDBCQUFrQixFQUFDLE9BQU8sQ0FBbUIsQ0FBQTt3QkFFdEQsU0FBUyxHQUFHLElBQUEsMEJBQWtCLEVBQWlCLE1BQU0sQ0FBQyxDQUFBO3dCQUN0RCxhQUFhLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUFlLENBQWtFOzRCQUMvSCxTQUFTLFlBQUMsS0FBSyxFQUFFLFVBQVU7O2dDQUV6QixJQUFJLENBQUMsQ0FBQyxDQUFBLE1BQUEsTUFBQSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLDBDQUFHLENBQUMsQ0FBQywwQ0FBRSxLQUFLLDBDQUFFLE9BQU8sTUFBSSxNQUFBLE1BQUEsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTywwQ0FBRyxDQUFDLENBQUMsMENBQUUsS0FBSywwQ0FBRSxVQUFVLENBQUEsQ0FBQztvQ0FBRSxPQUFNO2dDQUU1RixJQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFDLE1BQU07b0NBQzFDLElBQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FFaEUsQ0FBQTtvQ0FDRCxJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRyxJQUFBLGtDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFBO29DQUN4RSxJQUFJLFVBQVUsRUFBRTt3Q0FDZCw2QkFDSyxNQUFNLEtBQ1QsYUFBYSxFQUFFLFlBQXFCLEVBQ3BDLEtBQUssRUFBRSxPQUFPLElBQ2Y7cUNBQ0Y7b0NBQ0QsNkJBQVksTUFBTSxLQUFFLEtBQUssRUFBRSxPQUFPLElBQUU7Z0NBQ3RDLENBQUMsQ0FBQyxDQUFBO2dDQUNGLElBQU0sUUFBUSx5QkFBUSxLQUFLLEtBQUUsT0FBTyxFQUFFLFVBQVUsR0FBRSxDQUFBO2dDQUNsRCxVQUFVLENBQUMsT0FBTyx1QkFBTSxRQUFRLEtBQUUsV0FBVyxFQUFFLEtBQUssSUFBRyxDQUFBOzRCQUN6RCxDQUFDO3lCQUNGLENBQUMsQ0FBRSxDQUFBO3dCQUVKLFdBQU8sSUFBQSwyQkFBbUIsRUFBQyxhQUFhLENBQUMsRUFBQTs7OztLQUMxQztJQUNILG9CQUFDO0FBQUQsQ0FBQyxBQWxFRCxJQWtFQztBQWxFWSxzQ0FBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgZXFlcWVxICovXG5pbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG4gIHRvUG9seWZpbGxSZWFkYWJsZSxcbiAgaW50b1N0YW5kYXJkU3RyZWFtLFxuICBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IFlpSW5wdXQsIFlpR2VuZXJhdGVPdXRwdXQsIFlpU3RyZWFtT3V0cHV0IH0gZnJvbSAnLi90eXBlJ1xuaW1wb3J0IHR5cGUge1xuICBNb2RlbFJlcSxcbiAgQmFzZUNoYXRNb2RlbElucHV0LFxuICBEb0dlbmVyYXRlT3V0cHV0LFxuICBEb1N0cmVhbU91dHB1dCxcbiAgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmssXG4gIFNpbXBsZUNoYXRNb2RlbCxcbiAgUmVxT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vdHlwZSdcblxuZnVuY3Rpb24gcHJvY2Vzc0lucHV0KGlucHV0OiBCYXNlQ2hhdE1vZGVsSW5wdXQpOiBZaUlucHV0IHtcbiAgY29uc3QgeyBtZXNzYWdlcywgbW9kZWwsIHRlbXBlcmF0dXJlLCB0b29scywgdG9wX3AgfSA9IGlucHV0XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBtZXNzYWdlcyxcbiAgICBtb2RlbCxcbiAgICB0b29scyxcbiAgICB0b3BfcCxcbiAgICB0ZW1wZXJhdHVyZSxcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgWWlTaW1wbGVNb2RlbCBpbXBsZW1lbnRzIFNpbXBsZUNoYXRNb2RlbCB7XG4gIHB1YmxpYyBzdWJVcmwgPSAnMDEtYWkvdjEvY2hhdC9jb21wbGV0aW9ucydcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogTW9kZWxSZXEsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcsIHN1YlVybD86IHN0cmluZykge1xuICAgIGlmIChzdWJVcmwgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zdWJVcmwgPSBzdWJVcmxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCB1cmwoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZVVybH0vJHt0aGlzLnN1YlVybH1gXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb0dlbmVyYXRlT3V0cHV0PiB7XG4gICAgY29uc3QgcmVzID0gKGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIC4uLnByb2Nlc3NJbnB1dChkYXRhKSxcbiAgICAgICAgc3RyZWFtOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBzdHJlYW06IGZhbHNlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KSkgYXMgWWlHZW5lcmF0ZU91dHB1dFxuICAgIHJldHVybiB7IC4uLnJlcywgcmF3UmVzcG9uc2U6IHJlcyB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9TdHJlYW0oZGF0YTogQmFzZUNoYXRNb2RlbElucHV0LCBvcHRpb25zPzogUmVxT3B0aW9ucyk6IFByb21pc2U8RG9TdHJlYW1PdXRwdXQ+IHtcbiAgICBsZXQgaXNUb29sQ2FsbDogbnVsbCB8IGJvb2xlYW4gPSBudWxsXG4gICAgY29uc3QgX3N0cmVhbSA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIC4uLnByb2Nlc3NJbnB1dChkYXRhKSxcbiAgICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgICBjb25zdCBzdHJlYW0gPSB0b1BvbHlmaWxsUmVhZGFibGUoX3N0cmVhbSkgYXMgdHlwZW9mIF9zdHJlYW1cblxuICAgIGNvbnN0IGFya1N0cmVhbSA9IGludG9TdGFuZGFyZFN0cmVhbTxZaVN0cmVhbU91dHB1dD4oc3RyZWFtKVxuICAgIGNvbnN0IHN0cmVhbVdpdGhSYXcgPSBhcmtTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxZaVN0cmVhbU91dHB1dCwgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmsgJiB7IHJhd1Jlc3BvbnNlPzogYW55IH0+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAvLyDpnZ7luLjlpYfokalcbiAgICAgICAgaWYgKCEoY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LmNvbnRlbnQgfHwgY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LnRvb2xfY2FsbHMpKSByZXR1cm5cblxuICAgICAgICBjb25zdCBuZXdDaG9pY2VzID0gY2h1bmsuY2hvaWNlcy5tYXAoKGNob2ljZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBPYmplY3QuYXNzaWduKGNob2ljZS5kZWx0YSwgeyByb2xlOiAnYXNzaXN0YW50JyB9KSBhcyB0eXBlb2YgY2hvaWNlLmRlbHRhICYge1xuICAgICAgICAgICAgcm9sZTogJ2Fzc2lzdGFudCdcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzVG9vbENhbGwgPT0gbnVsbCkgaXNUb29sQ2FsbCA9IGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlKG1lc3NhZ2UpXG4gICAgICAgICAgaWYgKGlzVG9vbENhbGwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmNob2ljZSxcbiAgICAgICAgICAgICAgZmluaXNoX3JlYXNvbjogJ3Rvb2xfY2FsbHMnIGFzIGNvbnN0LFxuICAgICAgICAgICAgICBkZWx0YTogbWVzc2FnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHsgLi4uY2hvaWNlLCBkZWx0YTogbWVzc2FnZSB9XG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG5ld0NodW5rID0geyAuLi5jaHVuaywgY2hvaWNlczogbmV3Q2hvaWNlcyB9XG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZSh7IC4uLm5ld0NodW5rLCByYXdSZXNwb25zZTogY2h1bmsgfSlcbiAgICAgIH0sXG4gICAgfSksKVxuXG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUoc3RyZWFtV2l0aFJhdylcbiAgfVxufVxuIl19
@@ -136,4 +136,4 @@ var ZhiPuSimpleModel = (function () {
136
136
  return ZhiPuSimpleModel;
137
137
  }());
138
138
  exports.ZhiPuSimpleModel = ZhiPuSimpleModel;
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL1poaVB1L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBTW9CO0FBWXBCLFNBQVMsWUFBWSxDQUFDLEtBQXlCO0lBQ3JDLElBQUEsUUFBUSxHQUFvRCxLQUFLLFNBQXpELEVBQUUsS0FBSyxHQUE2QyxLQUFLLE1BQWxELEVBQUUsV0FBVyxHQUFnQyxLQUFLLFlBQXJDLEVBQUUsV0FBVyxHQUFtQixLQUFLLFlBQXhCLEVBQUUsS0FBSyxHQUFZLEtBQUssTUFBakIsRUFBRSxLQUFLLEdBQUssS0FBSyxNQUFWLENBQVU7SUFFekUsSUFBTSxpQkFBaUIsR0FBRztRQUN4QixJQUFJLFdBQVcsSUFBSSxXQUFXLEtBQUssTUFBTSxFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQTtTQUM5QztRQUNELE9BQU8sV0FBa0IsQ0FBQTtJQUMzQixDQUFDLENBQUE7SUFFRCw2QkFDSyxLQUFLLEtBQ1IsUUFBUSxVQUFBLEVBQ1IsS0FBSyxPQUFBLEVBQ0wsV0FBVyxhQUFBLEVBQ1gsV0FBVyxFQUFFLGlCQUFpQixFQUFFLEVBQ2hDLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxJQUNOO0FBQ0gsQ0FBQztBQUVEO0lBRUUsMEJBQW9CLEdBQWEsRUFBUyxPQUFlLEVBQUUsTUFBZTtRQUF0RCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQURsRCxXQUFNLEdBQUcsb0NBQW9DLENBQUE7UUFFbEQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELHNCQUFZLGlDQUFHO2FBQWY7WUFDRSxPQUFPLFVBQUcsSUFBSSxDQUFDLE9BQU8sY0FBSSxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUE7UUFDekMsQ0FBQzs7O09BQUE7SUFFWSxxQ0FBVSxHQUF2QixVQUF3QixLQUF5QixFQUFFLE9BQW9COzs7Ozs7d0JBQy9ELElBQUksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7d0JBQ25CLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQztnQ0FDMUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dDQUNiLElBQUksd0JBQ0MsSUFBSSxLQUNQLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7Z0NBQ0QsTUFBTSxFQUFFLEtBQUs7Z0NBQ2IsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPOzZCQUMxQixDQUFDLEVBQUE7O3dCQVJJLEdBQUcsR0FBRyxDQUFDLFNBUVgsQ0FBNEI7d0JBQzlCLGlDQUFZLEdBQUcsS0FBRSxXQUFXLEVBQUUsR0FBRyxLQUFFOzs7O0tBQ3BDO0lBRVksbUNBQVEsR0FBckIsVUFBc0IsS0FBeUIsRUFBRSxPQUFvQjs7Ozs7O3dCQUM3RCxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO3dCQUM1QixVQUFVLEdBQW1CLElBQUksQ0FBQTt3QkFDckIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDO2dDQUM3QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0NBQ2IsSUFBSSx3QkFDQyxJQUFJLEtBQ1AsTUFBTSxFQUFFLElBQUksR0FDYjtnQ0FDRCxNQUFNLEVBQUUsSUFBSTtnQ0FDWixPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87NkJBQzFCLENBQUMsRUFBQTs7d0JBUkksT0FBTyxHQUFHLFNBUWQ7d0JBQ0ksTUFBTSxHQUFHLElBQUEsMEJBQWtCLEVBQUMsT0FBTyxDQUFtQixDQUFBO3dCQUV0RCxXQUFXLEdBQUcsSUFBQSwwQkFBa0IsRUFBd0IsTUFBTSxDQUFDLENBQUE7d0JBQy9ELGFBQWEsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksdUJBQWUsQ0FBeUU7NEJBQ3hJLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTtnQ0FDekIsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29DQUMxQyxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29DQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRyxJQUFBLGtDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFBO29DQUN4RSxJQUFJLFVBQVUsRUFBRTt3Q0FDZCw2QkFDSyxNQUFNLEtBQ1QsYUFBYSxFQUFFLFlBQXFCLEVBQ3BDLEtBQUssRUFBRSxPQUFPLElBQ2Y7cUNBQ0Y7b0NBQ0QsT0FBTyxNQUFNLENBQUE7Z0NBQ2YsQ0FBQyxDQUFDLENBQUE7Z0NBQ0YsSUFBTSxRQUFRLHlCQUFRLEtBQUssS0FBRSxPQUFPLEVBQUUsVUFBVSxHQUFFLENBQUE7Z0NBQ2xELFVBQVUsQ0FBQyxPQUFPLHVCQUFNLFFBQVEsS0FBRSxXQUFXLEVBQUUsS0FBSyxJQUFHLENBQUE7NEJBQ3pELENBQUM7eUJBQ0YsQ0FBQyxDQUFFLENBQUE7d0JBRUosV0FBTyxJQUFBLDJCQUFtQixFQUFDLGFBQWEsQ0FBQyxFQUFBOzs7O0tBQzFDO0lBQ0gsdUJBQUM7QUFBRCxDQUFDLEFBOURELElBOERDO0FBOURZLDRDQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIFRyYW5zZm9ybVN0cmVhbSxcbiAgdG9Qb2x5ZmlsbFJlYWRhYmxlLFxuICBpbnRvU3RhbmRhcmRTdHJlYW0sXG4gIGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxufSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB0eXBlIHsgWmhpUHVHZW5lcmF0ZVRleHRPdXRwdXQsIFpoaVB1SW5wdXREYXRhLCBaaGlQdVN0cmVhbVRleHRPdXRwdXQgfSBmcm9tICcuL3R5cGUnXG5pbXBvcnQgdHlwZSB7XG4gIE1vZGVsUmVxLFxuICBCYXNlQ2hhdE1vZGVsSW5wdXQsXG4gIFNpbXBsZUNoYXRNb2RlbCxcbiAgRG9TdHJlYW1PdXRwdXQsXG4gIEJhc2VEb1N0cmVhbU91dHB1dENodW5rLFxuICBEb0dlbmVyYXRlT3V0cHV0LFxuICBSZXFPcHRpb25zLFxufSBmcm9tICcuLi8uLi90eXBlJ1xuXG5mdW5jdGlvbiBwcm9jZXNzSW5wdXQoaW5wdXQ6IEJhc2VDaGF0TW9kZWxJbnB1dCk6IFpoaVB1SW5wdXREYXRhIHtcbiAgY29uc3QgeyBtZXNzYWdlcywgbW9kZWwsIHRlbXBlcmF0dXJlLCB0b29sX2Nob2ljZSwgdG9vbHMsIHRvcF9wIH0gPSBpbnB1dFxuXG4gIGNvbnN0IHByb2Nlc3NUb29sQ2hvaWNlID0gKCkgPT4ge1xuICAgIGlmICh0b29sX2Nob2ljZSAmJiB0b29sX2Nob2ljZSAhPT0gJ2F1dG8nKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2B0b29sX2Nob2ljZWAgaXMgbm90IFxcJ2F1dG9cXCcnKVxuICAgIH1cbiAgICByZXR1cm4gdG9vbF9jaG9pY2UgYXMgYW55XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIG1lc3NhZ2VzLFxuICAgIG1vZGVsLFxuICAgIHRlbXBlcmF0dXJlLFxuICAgIHRvb2xfY2hvaWNlOiBwcm9jZXNzVG9vbENob2ljZSgpLFxuICAgIHRvb2xzLFxuICAgIHRvcF9wLFxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBaaGlQdVNpbXBsZU1vZGVsIGltcGxlbWVudHMgU2ltcGxlQ2hhdE1vZGVsIHtcbiAgcHVibGljIHN1YlVybCA9ICd6aGlwdS9hcGkvcGFhcy92NC9jaGF0L2NvbXBsZXRpb25zJ1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogTW9kZWxSZXEsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcsIHN1YlVybD86IHN0cmluZykge1xuICAgIGlmIChzdWJVcmwgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zdWJVcmwgPSBzdWJVcmxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCB1cmwoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZVVybH0vJHt0aGlzLnN1YlVybH1gXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9HZW5lcmF0ZShfZGF0YTogQmFzZUNoYXRNb2RlbElucHV0LCBvcHRpb25zPzogUmVxT3B0aW9ucyk6IFByb21pc2U8RG9HZW5lcmF0ZU91dHB1dD4ge1xuICAgIGNvbnN0IGRhdGEgPSBwcm9jZXNzSW5wdXQoX2RhdGEpXG4gICAgY29uc3QgcmVzID0gKGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHN0cmVhbTogZmFsc2UsXG4gICAgICB9LFxuICAgICAgc3RyZWFtOiBmYWxzZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSkpIGFzIFpoaVB1R2VuZXJhdGVUZXh0T3V0cHV0XG4gICAgcmV0dXJuIHsgLi4ucmVzLCByYXdSZXNwb25zZTogcmVzIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkb1N0cmVhbShfZGF0YTogQmFzZUNoYXRNb2RlbElucHV0LCBvcHRpb25zPzogUmVxT3B0aW9ucyk6IFByb21pc2U8RG9TdHJlYW1PdXRwdXQ+IHtcbiAgICBjb25zdCBkYXRhID0gcHJvY2Vzc0lucHV0KF9kYXRhKVxuICAgIGxldCBpc1Rvb2xDYWxsOiBudWxsIHwgYm9vbGVhbiA9IG51bGxcbiAgICBjb25zdCBfc3RyZWFtID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgICBjb25zdCBzdHJlYW0gPSB0b1BvbHlmaWxsUmVhZGFibGUoX3N0cmVhbSkgYXMgdHlwZW9mIF9zdHJlYW1cblxuICAgIGNvbnN0IHpoaXB1U3RyZWFtID0gaW50b1N0YW5kYXJkU3RyZWFtPFpoaVB1U3RyZWFtVGV4dE91dHB1dD4oc3RyZWFtKVxuICAgIGNvbnN0IHN0cmVhbVdpdGhSYXcgPSB6aGlwdVN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPFpoaVB1U3RyZWFtVGV4dE91dHB1dCwgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmsgJiB7IHJhd1Jlc3BvbnNlPzogYW55IH0+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICBjb25zdCBuZXdDaG9pY2VzID0gY2h1bmsuY2hvaWNlcy5tYXAoKGNob2ljZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBjaG9pY2UuZGVsdGFcbiAgICAgICAgICBpZiAoaXNUb29sQ2FsbCA9PSBudWxsKSBpc1Rvb2xDYWxsID0gaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UobWVzc2FnZSlcbiAgICAgICAgICBpZiAoaXNUb29sQ2FsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uY2hvaWNlLFxuICAgICAgICAgICAgICBmaW5pc2hfcmVhc29uOiAndG9vbF9jYWxscycgYXMgY29uc3QsXG4gICAgICAgICAgICAgIGRlbHRhOiBtZXNzYWdlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gY2hvaWNlXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG5ld0NodW5rID0geyAuLi5jaHVuaywgY2hvaWNlczogbmV3Q2hvaWNlcyB9XG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZSh7IC4uLm5ld0NodW5rLCByYXdSZXNwb25zZTogY2h1bmsgfSlcbiAgICAgIH0sXG4gICAgfSksKVxuXG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUoc3RyZWFtV2l0aFJhdylcbiAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL1poaVB1L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEscUNBTW9CO0FBWXBCLFNBQVMsWUFBWSxDQUFDLEtBQXlCO0lBQ3JDLElBQUEsUUFBUSxHQUFvRCxLQUFLLFNBQXpELEVBQUUsS0FBSyxHQUE2QyxLQUFLLE1BQWxELEVBQUUsV0FBVyxHQUFnQyxLQUFLLFlBQXJDLEVBQUUsV0FBVyxHQUFtQixLQUFLLFlBQXhCLEVBQUUsS0FBSyxHQUFZLEtBQUssTUFBakIsRUFBRSxLQUFLLEdBQUssS0FBSyxNQUFWLENBQVU7SUFFekUsSUFBTSxpQkFBaUIsR0FBRztRQUN4QixJQUFJLFdBQVcsSUFBSSxXQUFXLEtBQUssTUFBTSxFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQTtTQUM5QztRQUNELE9BQU8sV0FBa0IsQ0FBQTtJQUMzQixDQUFDLENBQUE7SUFFRCw2QkFDSyxLQUFLLEtBQ1IsUUFBUSxVQUFBLEVBQ1IsS0FBSyxPQUFBLEVBQ0wsV0FBVyxhQUFBLEVBQ1gsV0FBVyxFQUFFLGlCQUFpQixFQUFFLEVBQ2hDLEtBQUssT0FBQSxFQUNMLEtBQUssT0FBQSxJQUNOO0FBQ0gsQ0FBQztBQUVEO0lBRUUsMEJBQW9CLEdBQWEsRUFBUyxPQUFlLEVBQUUsTUFBZTtRQUF0RCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQURsRCxXQUFNLEdBQUcsb0NBQW9DLENBQUE7UUFFbEQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELHNCQUFZLGlDQUFHO2FBQWY7WUFDRSxPQUFPLFVBQUcsSUFBSSxDQUFDLE9BQU8sY0FBSSxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUE7UUFDekMsQ0FBQzs7O09BQUE7SUFFWSxxQ0FBVSxHQUF2QixVQUF3QixLQUF5QixFQUFFLE9BQW9COzs7Ozs7d0JBQy9ELElBQUksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7d0JBQ25CLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQztnQ0FDMUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dDQUNiLElBQUksd0JBQ0MsSUFBSSxLQUNQLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7Z0NBQ0QsTUFBTSxFQUFFLEtBQUs7Z0NBQ2IsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPOzZCQUMxQixDQUFDLEVBQUE7O3dCQVJJLEdBQUcsR0FBRyxDQUFDLFNBUVgsQ0FBNEI7d0JBQzlCLGlDQUFZLEdBQUcsS0FBRSxXQUFXLEVBQUUsR0FBRyxLQUFFOzs7O0tBQ3BDO0lBRVksbUNBQVEsR0FBckIsVUFBc0IsS0FBeUIsRUFBRSxPQUFvQjs7Ozs7O3dCQUM3RCxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO3dCQUM1QixVQUFVLEdBQW1CLElBQUksQ0FBQTt3QkFDckIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDO2dDQUM3QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0NBQ2IsSUFBSSx3QkFDQyxJQUFJLEtBQ1AsTUFBTSxFQUFFLElBQUksR0FDYjtnQ0FDRCxNQUFNLEVBQUUsSUFBSTtnQ0FDWixPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87NkJBQzFCLENBQUMsRUFBQTs7d0JBUkksT0FBTyxHQUFHLFNBUWQ7d0JBQ0ksTUFBTSxHQUFHLElBQUEsMEJBQWtCLEVBQUMsT0FBTyxDQUFtQixDQUFBO3dCQUV0RCxXQUFXLEdBQUcsSUFBQSwwQkFBa0IsRUFBd0IsTUFBTSxDQUFDLENBQUE7d0JBQy9ELGFBQWEsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksdUJBQWUsQ0FBeUU7NEJBQ3hJLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTtnQ0FDekIsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29DQUMxQyxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29DQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRyxJQUFBLGtDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFBO29DQUN4RSxJQUFJLFVBQVUsRUFBRTt3Q0FDZCw2QkFDSyxNQUFNLEtBQ1QsYUFBYSxFQUFFLFlBQXFCLEVBQ3BDLEtBQUssRUFBRSxPQUFPLElBQ2Y7cUNBQ0Y7b0NBQ0QsT0FBTyxNQUFNLENBQUE7Z0NBQ2YsQ0FBQyxDQUFDLENBQUE7Z0NBQ0YsSUFBTSxRQUFRLHlCQUFRLEtBQUssS0FBRSxPQUFPLEVBQUUsVUFBVSxHQUFFLENBQUE7Z0NBQ2xELFVBQVUsQ0FBQyxPQUFPLHVCQUFNLFFBQVEsS0FBRSxXQUFXLEVBQUUsS0FBSyxJQUFHLENBQUE7NEJBQ3pELENBQUM7eUJBQ0YsQ0FBQyxDQUFFLENBQUE7d0JBRUosV0FBTyxJQUFBLDJCQUFtQixFQUFDLGFBQWEsQ0FBQyxFQUFBOzs7O0tBQzFDO0lBQ0gsdUJBQUM7QUFBRCxDQUFDLEFBOURELElBOERDO0FBOURZLDRDQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGVxZXFlcSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG4gIHRvUG9seWZpbGxSZWFkYWJsZSxcbiAgaW50b1N0YW5kYXJkU3RyZWFtLFxuICBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IFpoaVB1R2VuZXJhdGVUZXh0T3V0cHV0LCBaaGlQdUlucHV0RGF0YSwgWmhpUHVTdHJlYW1UZXh0T3V0cHV0IH0gZnJvbSAnLi90eXBlJ1xuaW1wb3J0IHR5cGUge1xuICBNb2RlbFJlcSxcbiAgQmFzZUNoYXRNb2RlbElucHV0LFxuICBTaW1wbGVDaGF0TW9kZWwsXG4gIERvU3RyZWFtT3V0cHV0LFxuICBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayxcbiAgRG9HZW5lcmF0ZU91dHB1dCxcbiAgUmVxT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vdHlwZSdcblxuZnVuY3Rpb24gcHJvY2Vzc0lucHV0KGlucHV0OiBCYXNlQ2hhdE1vZGVsSW5wdXQpOiBaaGlQdUlucHV0RGF0YSB7XG4gIGNvbnN0IHsgbWVzc2FnZXMsIG1vZGVsLCB0ZW1wZXJhdHVyZSwgdG9vbF9jaG9pY2UsIHRvb2xzLCB0b3BfcCB9ID0gaW5wdXRcblxuICBjb25zdCBwcm9jZXNzVG9vbENob2ljZSA9ICgpID0+IHtcbiAgICBpZiAodG9vbF9jaG9pY2UgJiYgdG9vbF9jaG9pY2UgIT09ICdhdXRvJykge1xuICAgICAgY29uc29sZS53YXJuKCdgdG9vbF9jaG9pY2VgIGlzIG5vdCBcXCdhdXRvXFwnJylcbiAgICB9XG4gICAgcmV0dXJuIHRvb2xfY2hvaWNlIGFzIGFueVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBtZXNzYWdlcyxcbiAgICBtb2RlbCxcbiAgICB0ZW1wZXJhdHVyZSxcbiAgICB0b29sX2Nob2ljZTogcHJvY2Vzc1Rvb2xDaG9pY2UoKSxcbiAgICB0b29scyxcbiAgICB0b3BfcCxcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgWmhpUHVTaW1wbGVNb2RlbCBpbXBsZW1lbnRzIFNpbXBsZUNoYXRNb2RlbCB7XG4gIHB1YmxpYyBzdWJVcmwgPSAnemhpcHUvYXBpL3BhYXMvdjQvY2hhdC9jb21wbGV0aW9ucydcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXE6IE1vZGVsUmVxLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nLCBzdWJVcmw/OiBzdHJpbmcpIHtcbiAgICBpZiAoc3ViVXJsICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc3ViVXJsID0gc3ViVXJsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdXJsKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VVcmx9LyR7dGhpcy5zdWJVcmx9YFxuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvR2VuZXJhdGUoX2RhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpOiBQcm9taXNlPERvR2VuZXJhdGVPdXRwdXQ+IHtcbiAgICBjb25zdCBkYXRhID0gcHJvY2Vzc0lucHV0KF9kYXRhKVxuICAgIGNvbnN0IHJlcyA9IChhd2FpdCB0aGlzLnJlcSh7XG4gICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgZGF0YToge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBzdHJlYW06IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogZmFsc2UsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pKSBhcyBaaGlQdUdlbmVyYXRlVGV4dE91dHB1dFxuICAgIHJldHVybiB7IC4uLnJlcywgcmF3UmVzcG9uc2U6IHJlcyB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9TdHJlYW0oX2RhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpOiBQcm9taXNlPERvU3RyZWFtT3V0cHV0PiB7XG4gICAgY29uc3QgZGF0YSA9IHByb2Nlc3NJbnB1dChfZGF0YSlcbiAgICBsZXQgaXNUb29sQ2FsbDogbnVsbCB8IGJvb2xlYW4gPSBudWxsXG4gICAgY29uc3QgX3N0cmVhbSA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG5cbiAgICBjb25zdCB6aGlwdVN0cmVhbSA9IGludG9TdGFuZGFyZFN0cmVhbTxaaGlQdVN0cmVhbVRleHRPdXRwdXQ+KHN0cmVhbSlcbiAgICBjb25zdCBzdHJlYW1XaXRoUmF3ID0gemhpcHVTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxaaGlQdVN0cmVhbVRleHRPdXRwdXQsIEJhc2VEb1N0cmVhbU91dHB1dENodW5rICYgeyByYXdSZXNwb25zZT86IGFueSB9Pih7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgY29uc3QgbmV3Q2hvaWNlcyA9IGNodW5rLmNob2ljZXMubWFwKChjaG9pY2UpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gY2hvaWNlLmRlbHRhXG4gICAgICAgICAgaWYgKGlzVG9vbENhbGwgPT0gbnVsbCkgaXNUb29sQ2FsbCA9IGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlKG1lc3NhZ2UpXG4gICAgICAgICAgaWYgKGlzVG9vbENhbGwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmNob2ljZSxcbiAgICAgICAgICAgICAgZmluaXNoX3JlYXNvbjogJ3Rvb2xfY2FsbHMnIGFzIGNvbnN0LFxuICAgICAgICAgICAgICBkZWx0YTogbWVzc2FnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNob2ljZVxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBuZXdDaHVuayA9IHsgLi4uY2h1bmssIGNob2ljZXM6IG5ld0Nob2ljZXMgfVxuICAgICAgICBjb250cm9sbGVyLmVucXVldWUoeyAuLi5uZXdDaHVuaywgcmF3UmVzcG9uc2U6IGNodW5rIH0pXG4gICAgICB9LFxuICAgIH0pLClcblxuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHN0cmVhbVdpdGhSYXcpXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import type { ModelReq, HunyuanGenerateImageInput, HunyuanGenerateImageOutput, HunyuanARGenerateImageInput, HunyuanARGenerateImageOutput } from '../type';
2
+ interface HunyuanImageGenerateFn {
3
+ (input: HunyuanARGenerateImageInput): Promise<HunyuanARGenerateImageOutput>;
4
+ (input: HunyuanGenerateImageInput): Promise<HunyuanGenerateImageOutput>;
5
+ }
6
+ type GenerateImageFn<TProvider> = TProvider extends 'hunyuan-image' ? HunyuanImageGenerateFn : (input: unknown) => Promise<unknown>;
7
+ export declare class DefaultImageModel<TProvider extends string> {
8
+ private req;
9
+ baseUrl: string;
10
+ provider: TProvider;
11
+ defaultGenerateImageSubUrl: string;
12
+ generateImageSubUrlConfig: Record<string, Record<string, string>>;
13
+ generateImage: GenerateImageFn<TProvider>;
14
+ constructor(req: ModelReq, baseUrl: string, provider: TProvider);
15
+ private generateImageImpl;
16
+ private getGenerateUrl;
17
+ }
18
+ export {};
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.DefaultImageModel = void 0;
40
+ var DefaultImageModel = (function () {
41
+ function DefaultImageModel(req, baseUrl, provider) {
42
+ this.req = req;
43
+ this.baseUrl = baseUrl;
44
+ this.provider = provider;
45
+ this.defaultGenerateImageSubUrl = 'images/generations';
46
+ this.generateImageSubUrlConfig = {
47
+ 'hunyuan-image': {
48
+ 'hunyuan-image-v3.0-v1.0.4': 'images/ar/generations',
49
+ 'hunyuan-image-v3.0-v1.0.1': 'images/ar/generations',
50
+ },
51
+ };
52
+ this.generateImage = this.generateImageImpl.bind(this);
53
+ }
54
+ DefaultImageModel.prototype.generateImageImpl = function (input) {
55
+ var _a;
56
+ return __awaiter(this, void 0, void 0, function () {
57
+ var subUrl, newSubUrl, res;
58
+ return __generator(this, function (_b) {
59
+ switch (_b.label) {
60
+ case 0:
61
+ subUrl = this.defaultGenerateImageSubUrl;
62
+ if (typeof input === 'object' && input && 'model' in input && typeof input.model === 'string') {
63
+ newSubUrl = (_a = this.generateImageSubUrlConfig[this.provider]) === null || _a === void 0 ? void 0 : _a[input.model];
64
+ if (newSubUrl)
65
+ subUrl = newSubUrl;
66
+ }
67
+ return [4, this.req({
68
+ url: this.getGenerateUrl(subUrl),
69
+ data: input,
70
+ stream: false,
71
+ })];
72
+ case 1:
73
+ res = (_b.sent());
74
+ return [2, res];
75
+ }
76
+ });
77
+ });
78
+ };
79
+ DefaultImageModel.prototype.getGenerateUrl = function (subUrl) {
80
+ return "".concat(this.baseUrl, "/").concat(this.provider, "/").concat(subUrl);
81
+ };
82
+ return DefaultImageModel;
83
+ }());
84
+ exports.DefaultImageModel = DefaultImageModel;
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2ltYWdlLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTtJQWFFLDJCQUFvQixHQUFhLEVBQVMsT0FBZSxFQUFTLFFBQW1CO1FBQWpFLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVo5RSwrQkFBMEIsR0FBRyxvQkFBb0IsQ0FBQTtRQUVqRCw4QkFBeUIsR0FBMkM7WUFDekUsZUFBZSxFQUFFO2dCQUNmLDJCQUEyQixFQUFFLHVCQUF1QjtnQkFDcEQsMkJBQTJCLEVBQUUsdUJBQXVCO2FBQ3JEO1NBQ0YsQ0FBQTtRQU1DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQStCLENBQUE7SUFDdEYsQ0FBQztJQUdhLDZDQUFpQixHQUEvQixVQUFnQyxLQUE4RDs7Ozs7Ozt3QkFDeEYsTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQTt3QkFFNUMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTs0QkFDdkYsU0FBUyxHQUFHLE1BQUEsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsMENBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBOzRCQUM5RSxJQUFJLFNBQVM7Z0NBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQTt5QkFDbEM7d0JBRVksV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDO2dDQUMxQixHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7Z0NBQ2hDLElBQUksRUFBRSxLQUFLO2dDQUNYLE1BQU0sRUFBRSxLQUFLOzZCQUNkLENBQUMsRUFBQTs7d0JBSkksR0FBRyxHQUFHLENBQUMsU0FJWCxDQUE4RDt3QkFFaEUsV0FBTyxHQUFHLEVBQUE7Ozs7S0FDWDtJQUVPLDBDQUFjLEdBQXRCLFVBQXVCLE1BQWM7UUFDbkMsT0FBTyxVQUFHLElBQUksQ0FBQyxPQUFPLGNBQUksSUFBSSxDQUFDLFFBQVEsY0FBSSxNQUFNLENBQUUsQ0FBQTtJQUNyRCxDQUFDO0lBQ0gsd0JBQUM7QUFBRCxDQUFDLEFBdENELElBc0NDO0FBdENZLDhDQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgTW9kZWxSZXEsXG4gIC8vIEltYWdlRWRpdElucHV0LFxuICBIdW55dWFuR2VuZXJhdGVJbWFnZUlucHV0LFxuICBIdW55dWFuR2VuZXJhdGVJbWFnZU91dHB1dCxcbiAgSHVueXVhbkFSR2VuZXJhdGVJbWFnZUlucHV0LFxuICBIdW55dWFuQVJHZW5lcmF0ZUltYWdlT3V0cHV0LFxuICAvLyBIdW55dWFuRWRpdEltYWdlSW5wdXQsXG4gIC8vIEh1bnl1YW5FZGl0SW1hZ2VPdXRwdXQsXG59IGZyb20gJy4uL3R5cGUnXG5cbmludGVyZmFjZSBIdW55dWFuSW1hZ2VHZW5lcmF0ZUZuIHtcbiAgKGlucHV0OiBIdW55dWFuQVJHZW5lcmF0ZUltYWdlSW5wdXQpOiBQcm9taXNlPEh1bnl1YW5BUkdlbmVyYXRlSW1hZ2VPdXRwdXQ+XG4gIChpbnB1dDogSHVueXVhbkdlbmVyYXRlSW1hZ2VJbnB1dCk6IFByb21pc2U8SHVueXVhbkdlbmVyYXRlSW1hZ2VPdXRwdXQ+XG59XG5cbnR5cGUgR2VuZXJhdGVJbWFnZUZuPFRQcm92aWRlcj4gPSBUUHJvdmlkZXIgZXh0ZW5kcyAnaHVueXVhbi1pbWFnZSdcbiAgPyBIdW55dWFuSW1hZ2VHZW5lcmF0ZUZuXG4gIDogKGlucHV0OiB1bmtub3duKSA9PiBQcm9taXNlPHVua25vd24+XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0SW1hZ2VNb2RlbDxUUHJvdmlkZXIgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgcHVibGljIGRlZmF1bHRHZW5lcmF0ZUltYWdlU3ViVXJsID0gJ2ltYWdlcy9nZW5lcmF0aW9ucydcblxuICBwdWJsaWMgZ2VuZXJhdGVJbWFnZVN1YlVybENvbmZpZzogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7XG4gICAgJ2h1bnl1YW4taW1hZ2UnOiB7XG4gICAgICAnaHVueXVhbi1pbWFnZS12My4wLXYxLjAuNCc6ICdpbWFnZXMvYXIvZ2VuZXJhdGlvbnMnLFxuICAgICAgJ2h1bnl1YW4taW1hZ2UtdjMuMC12MS4wLjEnOiAnaW1hZ2VzL2FyL2dlbmVyYXRpb25zJyxcbiAgICB9LFxuICB9XG5cbiAgLyoqIOeUn+aIkOWbvueJhyAqL1xuICBwdWJsaWMgZ2VuZXJhdGVJbWFnZTogR2VuZXJhdGVJbWFnZUZuPFRQcm92aWRlcj5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogTW9kZWxSZXEsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcsIHB1YmxpYyBwcm92aWRlcjogVFByb3ZpZGVyKSB7XG4gICAgdGhpcy5nZW5lcmF0ZUltYWdlID0gdGhpcy5nZW5lcmF0ZUltYWdlSW1wbC5iaW5kKHRoaXMpIGFzIEdlbmVyYXRlSW1hZ2VGbjxUUHJvdmlkZXI+XG4gIH1cblxuICAvKiogZ2VuZXJhdGVJbWFnZSDnmoTlrp7pmYXlrp7njrAgKi9cbiAgcHJpdmF0ZSBhc3luYyBnZW5lcmF0ZUltYWdlSW1wbChpbnB1dDogSHVueXVhbkFSR2VuZXJhdGVJbWFnZUlucHV0IHwgSHVueXVhbkdlbmVyYXRlSW1hZ2VJbnB1dCwpOiBQcm9taXNlPEh1bnl1YW5BUkdlbmVyYXRlSW1hZ2VPdXRwdXQgfCBIdW55dWFuR2VuZXJhdGVJbWFnZU91dHB1dD4ge1xuICAgIGxldCBzdWJVcmwgPSB0aGlzLmRlZmF1bHRHZW5lcmF0ZUltYWdlU3ViVXJsXG5cbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyAmJiBpbnB1dCAmJiAnbW9kZWwnIGluIGlucHV0ICYmIHR5cGVvZiBpbnB1dC5tb2RlbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IG5ld1N1YlVybCA9IHRoaXMuZ2VuZXJhdGVJbWFnZVN1YlVybENvbmZpZ1t0aGlzLnByb3ZpZGVyXT8uW2lucHV0Lm1vZGVsXVxuICAgICAgaWYgKG5ld1N1YlVybCkgc3ViVXJsID0gbmV3U3ViVXJsXG4gICAgfVxuXG4gICAgY29uc3QgcmVzID0gKGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy5nZXRHZW5lcmF0ZVVybChzdWJVcmwpLFxuICAgICAgZGF0YTogaW5wdXQsXG4gICAgICBzdHJlYW06IGZhbHNlLFxuICAgIH0pKSBhcyBIdW55dWFuQVJHZW5lcmF0ZUltYWdlT3V0cHV0IHwgSHVueXVhbkdlbmVyYXRlSW1hZ2VPdXRwdXRcblxuICAgIHJldHVybiByZXNcbiAgfVxuXG4gIHByaXZhdGUgZ2V0R2VuZXJhdGVVcmwoc3ViVXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iYXNlVXJsfS8ke3RoaXMucHJvdmlkZXJ9LyR7c3ViVXJsfWBcbiAgfVxufVxuIl19
@@ -9,6 +9,7 @@ import { HunYuanExpSimpleModel } from './HunYuanExp/index';
9
9
  import { HunYuanOpenSimpleModel } from './HunYuanOpen/index';
10
10
  import { DeepSeekSimpleModel } from './DeepSeek';
11
11
  import { DefaultSimpleModel } from './Default';
12
+ import { DefaultImageModel } from './image-model';
12
13
  export declare const MODELS: {
13
14
  hunyuan: typeof HunYuanSimpleModel;
14
15
  'hunyuan-beta': typeof HunYuanBetaSimpleModel;
@@ -21,5 +22,5 @@ export declare const MODELS: {
21
22
  'hunyuan-open': typeof HunYuanOpenSimpleModel;
22
23
  deepseek: typeof DeepSeekSimpleModel;
23
24
  };
24
- export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, DefaultSimpleModel, };
25
+ export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, DefaultSimpleModel, DefaultImageModel, };
25
26
  export { ReactModel, toolMap } from './model';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toolMap = exports.ReactModel = exports.DefaultSimpleModel = exports.HunYuanOpenSimpleModel = exports.HunYuanExpSimpleModel = exports.MoonshotSimpleModel = exports.YiSimpleModel = exports.DSSimpleModel = exports.ArkSimpleModel = exports.HunYuanSimpleModel = exports.HunYuanBetaSimpleModel = exports.ZhiPuSimpleModel = exports.MODELS = void 0;
3
+ exports.toolMap = exports.ReactModel = exports.DefaultImageModel = exports.DefaultSimpleModel = exports.HunYuanOpenSimpleModel = exports.HunYuanExpSimpleModel = exports.MoonshotSimpleModel = exports.YiSimpleModel = exports.DSSimpleModel = exports.ArkSimpleModel = exports.HunYuanSimpleModel = exports.HunYuanBetaSimpleModel = exports.ZhiPuSimpleModel = exports.MODELS = void 0;
4
4
  var index_1 = require("./ZhiPu/index");
5
5
  Object.defineProperty(exports, "ZhiPuSimpleModel", { enumerable: true, get: function () { return index_1.ZhiPuSimpleModel; } });
6
6
  var index_2 = require("./HunYuanBeta/index");
@@ -22,6 +22,8 @@ Object.defineProperty(exports, "HunYuanOpenSimpleModel", { enumerable: true, get
22
22
  var DeepSeek_1 = require("./DeepSeek");
23
23
  var Default_1 = require("./Default");
24
24
  Object.defineProperty(exports, "DefaultSimpleModel", { enumerable: true, get: function () { return Default_1.DefaultSimpleModel; } });
25
+ var image_model_1 = require("./image-model");
26
+ Object.defineProperty(exports, "DefaultImageModel", { enumerable: true, get: function () { return image_model_1.DefaultImageModel; } });
25
27
  exports.MODELS = {
26
28
  hunyuan: index_3.HunYuanSimpleModel,
27
29
  'hunyuan-beta': index_2.HunYuanBetaSimpleModel,
@@ -37,4 +39,4 @@ exports.MODELS = {
37
39
  var model_1 = require("./model");
38
40
  Object.defineProperty(exports, "ReactModel", { enumerable: true, get: function () { return model_1.ReactModel; } });
39
41
  Object.defineProperty(exports, "toolMap", { enumerable: true, get: function () { return model_1.toolMap; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFnRDtBQTBCOUMsaUdBMUJPLHdCQUFnQixPQTBCUDtBQXpCbEIsNkNBQTREO0FBMEIxRCx1R0ExQk8sOEJBQXNCLE9BMEJQO0FBekJ4Qix5Q0FBb0Q7QUEwQmxELG1HQTFCTywwQkFBa0IsT0EwQlA7QUF6QnBCLHFDQUE0QztBQTBCMUMsK0ZBMUJPLHNCQUFjLE9BMEJQO0FBekJoQiwyQ0FBaUQ7QUEwQi9DLDhGQTFCTyxxQkFBYSxPQTBCUDtBQXpCZixvQ0FBMEM7QUEwQnhDLDhGQTFCTyxxQkFBYSxPQTBCUDtBQXpCZiwwQ0FBc0Q7QUEwQnBELG9HQTFCTywyQkFBbUIsT0EwQlA7QUF6QnJCLDRDQUEwRDtBQTBCeEQsc0dBMUJPLDZCQUFxQixPQTBCUDtBQXpCdkIsNkNBQTREO0FBMEIxRCx1R0ExQk8sOEJBQXNCLE9BMEJQO0FBekJ4Qix1Q0FBZ0Q7QUFDaEQscUNBQThDO0FBeUI1QyxtR0F6Qk8sNEJBQWtCLE9BeUJQO0FBdkJQLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLE9BQU8sRUFBRSwwQkFBa0I7SUFDM0IsY0FBYyxFQUFFLDhCQUFzQjtJQUN0QyxHQUFHLEVBQUUsc0JBQWM7SUFDbkIsU0FBUyxFQUFFLHFCQUFhO0lBQ3hCLE9BQU8sRUFBRSxxQkFBYTtJQUN0QixRQUFRLEVBQUUsMkJBQW1CO0lBQzdCLEtBQUssRUFBRSx3QkFBZ0I7SUFDdkIsYUFBYSxFQUFFLDZCQUFxQjtJQUNwQyxjQUFjLEVBQUUsOEJBQXNCO0lBQ3RDLFFBQVEsRUFBRSw4QkFBbUI7Q0FDOUIsQ0FBQTtBQWVELGlDQUE2QztBQUFwQyxtR0FBQSxVQUFVLE9BQUE7QUFBRSxnR0FBQSxPQUFPLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBaaGlQdVNpbXBsZU1vZGVsIH0gZnJvbSAnLi9aaGlQdS9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5CZXRhU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5CZXRhL2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhblNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuL2luZGV4J1xuaW1wb3J0IHsgQXJrU2ltcGxlTW9kZWwgfSBmcm9tICcuL0Fyay9pbmRleCdcbmltcG9ydCB7IERTU2ltcGxlTW9kZWwgfSBmcm9tICcuL0Rhc2hTY29wZS9pbmRleCdcbmltcG9ydCB7IFlpU2ltcGxlTW9kZWwgfSBmcm9tICcuL1lpL2luZGV4J1xuaW1wb3J0IHsgTW9vbnNob3RTaW1wbGVNb2RlbCB9IGZyb20gJy4vTW9vbnNob3QvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5FeHAvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuT3Blbi9pbmRleCdcbmltcG9ydCB7IERlZXBTZWVrU2ltcGxlTW9kZWwgfSBmcm9tICcuL0RlZXBTZWVrJ1xuaW1wb3J0IHsgRGVmYXVsdFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9EZWZhdWx0J1xuXG5leHBvcnQgY29uc3QgTU9ERUxTID0ge1xuICBodW55dWFuOiBIdW5ZdWFuU2ltcGxlTW9kZWwsXG4gICdodW55dWFuLWJldGEnOiBIdW5ZdWFuQmV0YVNpbXBsZU1vZGVsLFxuICBhcms6IEFya1NpbXBsZU1vZGVsLFxuICBkYXNoc2NvcGU6IERTU2ltcGxlTW9kZWwsXG4gICcwMS1haSc6IFlpU2ltcGxlTW9kZWwsXG4gIG1vb25zaG90OiBNb29uc2hvdFNpbXBsZU1vZGVsLFxuICB6aGlwdTogWmhpUHVTaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tZXhwJzogSHVuWXVhbkV4cFNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1vcGVuJzogSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCxcbiAgZGVlcHNlZWs6IERlZXBTZWVrU2ltcGxlTW9kZWwsXG59XG5cbmV4cG9ydCB7XG4gIFpoaVB1U2ltcGxlTW9kZWwsXG4gIEh1bll1YW5CZXRhU2ltcGxlTW9kZWwsXG4gIEh1bll1YW5TaW1wbGVNb2RlbCxcbiAgQXJrU2ltcGxlTW9kZWwsXG4gIERTU2ltcGxlTW9kZWwsXG4gIFlpU2ltcGxlTW9kZWwsXG4gIE1vb25zaG90U2ltcGxlTW9kZWwsXG4gIEh1bll1YW5FeHBTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCxcbiAgRGVmYXVsdFNpbXBsZU1vZGVsLFxufVxuXG5leHBvcnQgeyBSZWFjdE1vZGVsLCB0b29sTWFwIH0gZnJvbSAnLi9tb2RlbCdcbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFnRDtBQTJCOUMsaUdBM0JPLHdCQUFnQixPQTJCUDtBQTFCbEIsNkNBQTREO0FBMkIxRCx1R0EzQk8sOEJBQXNCLE9BMkJQO0FBMUJ4Qix5Q0FBb0Q7QUEyQmxELG1HQTNCTywwQkFBa0IsT0EyQlA7QUExQnBCLHFDQUE0QztBQTJCMUMsK0ZBM0JPLHNCQUFjLE9BMkJQO0FBMUJoQiwyQ0FBaUQ7QUEyQi9DLDhGQTNCTyxxQkFBYSxPQTJCUDtBQTFCZixvQ0FBMEM7QUEyQnhDLDhGQTNCTyxxQkFBYSxPQTJCUDtBQTFCZiwwQ0FBc0Q7QUEyQnBELG9HQTNCTywyQkFBbUIsT0EyQlA7QUExQnJCLDRDQUEwRDtBQTJCeEQsc0dBM0JPLDZCQUFxQixPQTJCUDtBQTFCdkIsNkNBQTREO0FBMkIxRCx1R0EzQk8sOEJBQXNCLE9BMkJQO0FBMUJ4Qix1Q0FBZ0Q7QUFDaEQscUNBQThDO0FBMEI1QyxtR0ExQk8sNEJBQWtCLE9BMEJQO0FBekJwQiw2Q0FBaUQ7QUEwQi9DLGtHQTFCTywrQkFBaUIsT0EwQlA7QUF4Qk4sUUFBQSxNQUFNLEdBQUc7SUFDcEIsT0FBTyxFQUFFLDBCQUFrQjtJQUMzQixjQUFjLEVBQUUsOEJBQXNCO0lBQ3RDLEdBQUcsRUFBRSxzQkFBYztJQUNuQixTQUFTLEVBQUUscUJBQWE7SUFDeEIsT0FBTyxFQUFFLHFCQUFhO0lBQ3RCLFFBQVEsRUFBRSwyQkFBbUI7SUFDN0IsS0FBSyxFQUFFLHdCQUFnQjtJQUN2QixhQUFhLEVBQUUsNkJBQXFCO0lBQ3BDLGNBQWMsRUFBRSw4QkFBc0I7SUFDdEMsUUFBUSxFQUFFLDhCQUFtQjtDQUM5QixDQUFBO0FBZ0JELGlDQUE2QztBQUFwQyxtR0FBQSxVQUFVLE9BQUE7QUFBRSxnR0FBQSxPQUFPLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBaaGlQdVNpbXBsZU1vZGVsIH0gZnJvbSAnLi9aaGlQdS9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5CZXRhU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5CZXRhL2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhblNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuL2luZGV4J1xuaW1wb3J0IHsgQXJrU2ltcGxlTW9kZWwgfSBmcm9tICcuL0Fyay9pbmRleCdcbmltcG9ydCB7IERTU2ltcGxlTW9kZWwgfSBmcm9tICcuL0Rhc2hTY29wZS9pbmRleCdcbmltcG9ydCB7IFlpU2ltcGxlTW9kZWwgfSBmcm9tICcuL1lpL2luZGV4J1xuaW1wb3J0IHsgTW9vbnNob3RTaW1wbGVNb2RlbCB9IGZyb20gJy4vTW9vbnNob3QvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5FeHAvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuT3Blbi9pbmRleCdcbmltcG9ydCB7IERlZXBTZWVrU2ltcGxlTW9kZWwgfSBmcm9tICcuL0RlZXBTZWVrJ1xuaW1wb3J0IHsgRGVmYXVsdFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9EZWZhdWx0J1xuaW1wb3J0IHsgRGVmYXVsdEltYWdlTW9kZWwgfSBmcm9tICcuL2ltYWdlLW1vZGVsJ1xuXG5leHBvcnQgY29uc3QgTU9ERUxTID0ge1xuICBodW55dWFuOiBIdW5ZdWFuU2ltcGxlTW9kZWwsXG4gICdodW55dWFuLWJldGEnOiBIdW5ZdWFuQmV0YVNpbXBsZU1vZGVsLFxuICBhcms6IEFya1NpbXBsZU1vZGVsLFxuICBkYXNoc2NvcGU6IERTU2ltcGxlTW9kZWwsXG4gICcwMS1haSc6IFlpU2ltcGxlTW9kZWwsXG4gIG1vb25zaG90OiBNb29uc2hvdFNpbXBsZU1vZGVsLFxuICB6aGlwdTogWmhpUHVTaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tZXhwJzogSHVuWXVhbkV4cFNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1vcGVuJzogSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCxcbiAgZGVlcHNlZWs6IERlZXBTZWVrU2ltcGxlTW9kZWwsXG59XG5cbmV4cG9ydCB7XG4gIFpoaVB1U2ltcGxlTW9kZWwsXG4gIEh1bll1YW5CZXRhU2ltcGxlTW9kZWwsXG4gIEh1bll1YW5TaW1wbGVNb2RlbCxcbiAgQXJrU2ltcGxlTW9kZWwsXG4gIERTU2ltcGxlTW9kZWwsXG4gIFlpU2ltcGxlTW9kZWwsXG4gIE1vb25zaG90U2ltcGxlTW9kZWwsXG4gIEh1bll1YW5FeHBTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCxcbiAgRGVmYXVsdFNpbXBsZU1vZGVsLFxuICBEZWZhdWx0SW1hZ2VNb2RlbCxcbn1cblxuZXhwb3J0IHsgUmVhY3RNb2RlbCwgdG9vbE1hcCB9IGZyb20gJy4vbW9kZWwnXG4iXX0=
@@ -478,4 +478,4 @@ function addToUsage(targetUsage, sourceUsage) {
478
478
  targetUsage.prompt_tokens += sourceUsage.prompt_tokens;
479
479
  targetUsage.total_tokens += sourceUsage.total_tokens;
480
480
  }
481
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0NBTWlCO0FBd0NqQixTQUFTLFlBQVksQ0FBQyxHQUFvQjs7SUFDaEMsSUFBQSxZQUFZLEdBQW9ELEdBQUcsYUFBdkQsRUFBRSxXQUFXLEdBQXVDLEdBQUcsWUFBMUMsRUFBRSxRQUFRLEdBQTZCLEdBQUcsU0FBaEMsRUFBRSxJQUFJLEdBQXVCLEdBQUcsS0FBMUIsRUFBRSxVQUFVLEdBQVcsR0FBRyxXQUFkLEVBQUssQ0FBQyxVQUFLLEdBQUcsRUFBckUsaUVBQStELENBQUYsQ0FBUTtJQUUzRSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7S0FDdEQ7SUFFRCxPQUFPO1FBQ0wsRUFBRSxZQUFZLGNBQUEsRUFBRSxXQUFXLGFBQUEsRUFBRSxRQUFRLFVBQUEsRUFBRTs4QkFFbEMsQ0FBQyxLQUNKLEtBQUssRUFBRSxNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLEdBQUcsQ0FBQyxVQUFDLElBQUk7Z0JBQ3ZCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtvQkFDaEIsT0FBTyxJQUFBLCtCQUF1QixFQUFDLElBQUksQ0FBQyxDQUFBO2lCQUNyQztnQkFDRCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQ3BDLFdBQVcsRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFV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V0FBVyxDQUFDLFlBQVksSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFBO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG4gIGNyZWF0ZVByb21pc2UsXG4gIGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxuICBmdW5jdGlvblRvb2xUb01vZGVsVG9vbCxcbn0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQge1xuICBCYXNlQ2hhdE1vZGVsSW5wdXQsXG4gIEJhc2VEb1N0cmVhbU91dHB1dENodW5rLFxuICBEb1N0cmVhbU91dHB1dCxcbiAgRG9HZW5lcmF0ZU91dHB1dCxcbiAgU2ltcGxlQ2hhdE1vZGVsLFxuICBUb29sQ2FsbCxcbiAgQ2hhdE1vZGVsTWVzc2FnZSxcbiAgQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtLFxuICBVc2FnZSxcbiAgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxuICBNb2RlbFRvb2wsXG4gIEZ1bmN0aW9uVG9vbCxcbiAgUmVxT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZSdcblxudHlwZSBSZWFjdE1vZGVsSW5wdXQgPSBSZWFjdFByb3BzICZcbk9taXQ8QmFzZUNoYXRNb2RlbElucHV0LCAndG9vbHMnPiAmIHtcbiAgdG9vbHM/OiBBcnJheTxNb2RlbFRvb2wgfCBGdW5jdGlvblRvb2w+XG4gIHRvcFA/OiBudW1iZXJcbiAgdG9vbENob2ljZT86ICdub25lJyB8ICdhdXRvJyB8ICdjdXN0b20nXG59XG5cbmludGVyZmFjZSBJT25TdGVwRmluaXNoIHtcbiAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+XG4gIHRleHQ/OiBzdHJpbmdcbiAgdG9vbENhbGw/OiBUb29sQ2FsbFxuICB0b29sUmVzdWx0PzogdW5rbm93blxuICBmaW5pc2hSZWFzb24/OiBzdHJpbmdcbiAgc3RlcFVzYWdlPzogVXNhZ2VcbiAgdG90YWxVc2FnZT86IFVzYWdlXG59XG5cbmludGVyZmFjZSBSZWFjdFByb3BzIHtcbiAgbWF4U3RlcHM/OiBudW1iZXJcbiAgb25TdGVwRmluaXNoPzogKHByb3A6IElPblN0ZXBGaW5pc2gpID0+IHVua25vd25cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbCAvLyBUT0RPOiDlrp7njrAgYWJvcnRTaWduYWxcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0lucHV0KG9iajogUmVhY3RNb2RlbElucHV0KTogW1JlYWN0UHJvcHMsIEJhc2VDaGF0TW9kZWxJbnB1dF0ge1xuICBjb25zdCB7IG9uU3RlcEZpbmlzaCwgYWJvcnRTaWduYWwsIG1heFN0ZXBzLCB0b3BQLCB0b29sQ2hvaWNlLCAuLi5iIH0gPSBvYmpcblxuICBpZiAobWF4U3RlcHMgIT0gbnVsbCAmJiBtYXhTdGVwcyA8IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2BtYXhTdGVwc2AgbXVzZSBiZSBncmVhdGVyIHRoYW4gMC4nKVxuICB9XG5cbiAgcmV0dXJuIFtcbiAgICB7IG9uU3RlcEZpbmlzaCwgYWJvcnRTaWduYWwsIG1heFN0ZXBzIH0sXG4gICAge1xuICAgICAgLi4uYixcbiAgICAgIHRvb2xzOiBiLnRvb2xzPy5tYXAoKHRvb2wpID0+IHtcbiAgICAgICAgaWYgKCdmbicgaW4gdG9vbCkge1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvblRvb2xUb01vZGVsVG9vbCh0b29sKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b29sXG4gICAgICB9KSxcbiAgICAgIHRvcF9wOiB0b3BQICE9IG51bGwgPyB0b3BQIDogYi50b3BfcCxcbiAgICAgIHRvb2xfY2hvaWNlOiB0b29sQ2hvaWNlICE9IG51bGwgPyB0b29sQ2hvaWNlIDogYi50b29sX2Nob2ljZSxcbiAgICB9LFxuICBdXG59XG5cbmV4cG9ydCBjbGFzcyBSZWFjdE1vZGVsIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RlbDogU2ltcGxlQ2hhdE1vZGVsKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZW5lcmF0ZVRleHQoX2lucHV0OiBSZWFjdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTx7XG4gICAgdGV4dDogc3RyaW5nXG4gICAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+XG4gICAgdXNhZ2U6IFVzYWdlXG4gICAgcmF3UmVzcG9uc2VzOiBBcnJheTx1bmtub3duPlxuICAgIGVycm9yPzogYW55XG4gIH0+IHtcbiAgICBjb25zdCByYXdSZXNwb25zZXMgPSBbXVxuICAgIGNvbnN0IHRvdGFsVXNhZ2U6IFVzYWdlID0geyBjb21wbGV0aW9uX3Rva2VuczogMCwgcHJvbXB0X3Rva2VuczogMCwgdG90YWxfdG9rZW5zOiAwIH1cblxuICAgIGNvbnN0IFt7IG9uU3RlcEZpbmlzaCwgbWF4U3RlcHMgPSAxMCB9LCBpbnB1dF0gPSBwcm9jZXNzSW5wdXQoX2lucHV0KVxuXG4gICAgY29uc3QgZG9HZW5lcmF0ZSA9ICgpID0+IHRoaXMubW9kZWwuZG9HZW5lcmF0ZShpbnB1dCwgb3B0aW9ucykgLy8g5ZCO57ut5Luj56CB5Lya55u05o6l5a+5IGlucHV0Lm1lc3NhZ2VzIOWOn+WcsOS/ruaUue+8jOi/memHjOS4gOebtOeUqOWQjOS4gOS4quWvueixoeWwseihjFxuICAgIGxldCBjdXJyZW50UmVzID0gYXdhaXQgZG9HZW5lcmF0ZSgpXG4gICAgbGV0IGN1cnJlbnRTdGVwID0gMVxuICAgIGN1cnJlbnRSZXMucmF3UmVzcG9uc2UgJiYgcmF3UmVzcG9uc2VzLnB1c2goY3VycmVudFJlcy5yYXdSZXNwb25zZSlcblxuICAgIGxldCB0b29sQ2FsbDogVG9vbENhbGwgfCBudWxsID0gbnVsbFxuXG4gICAgLy8gVE9ETzog5LiA5qyh5a+56K+d5pyJ5aSa5LiqIHRvb2wgY2FsbD8g55uu5YmN5rKh5pyJ6L+Z56eN546w6LGh77yM5pqC5pe25LiN5aSE55CGXG4gICAgd2hpbGUgKGN1cnJlbnRTdGVwIDwgbWF4U3RlcHMgJiYgKHRvb2xDYWxsID0gZ2V0VG9vbENhbGxGcm9tR2VuZXJhdGUoY3VycmVudFJlcykpICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0ZXBVc2FnZSA9IGNyZWF0ZVNvbGlkVXNhZ2UoY3VycmVudFJlcy51c2FnZSlcbiAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgc3RlcFVzYWdlKVxuXG4gICAgICAvLyDlvZPliKTmlq3pnIDopoHlt6XlhbfosIPnlKjml7ZcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRvb2xDYWxsUmVzdWx0ID0gYXdhaXQgY2FsbFRvb2wodG9vbENhbGwpIC8vIOiwg+eUqFxuXG4gICAgICAgIGNvbnN0IGNob2ljZSA9IGN1cnJlbnRSZXMuY2hvaWNlc1swXSAvLyBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZSDkv53or4HkuoYgY2hvaWNlIOiCr+WumuWtmOWcqFxuXG4gICAgICAgIGF3YWl0IG9uU3RlcEZpbmlzaD8uKHtcbiAgICAgICAgICBmaW5pc2hSZWFzb246IGNob2ljZS5maW5pc2hfcmVhc29uLFxuICAgICAgICAgIG1lc3NhZ2VzOiBpbnB1dC5tZXNzYWdlcy5zbGljZSgpLFxuICAgICAgICAgIHRleHQ6IGNob2ljZS5tZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgICAgdG9vbENhbGwsXG4gICAgICAgICAgdG9vbFJlc3VsdDogdG9vbENhbGxSZXN1bHQsXG4gICAgICAgICAgc3RlcFVzYWdlLFxuICAgICAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgICAgICB9KVxuXG4gICAgICAgIHB1c2hOZXdNZXNzYWdlcyhpbnB1dC5tZXNzYWdlcywgY2hvaWNlLm1lc3NhZ2UgYXMgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLCB0b29sQ2FsbFJlc3VsdCkgLy8g55So6LCD55So57uT5p6c5L+u5pS55pyA5paw55qE5raI5oGvXG5cbiAgICAgICAgY3VycmVudFJlcyA9IGF3YWl0IGRvR2VuZXJhdGUoKSAvLyDlvqrnjq/lr7nor51cbiAgICAgICAgY3VycmVudFJlcy5yYXdSZXNwb25zZSAmJiByYXdSZXNwb25zZXMucHVzaChjdXJyZW50UmVzLnJhd1Jlc3BvbnNlKVxuICAgICAgICBjdXJyZW50U3RlcCArPSAxXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgbWVzc2FnZXM6IGlucHV0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHVzYWdlOiB0b3RhbFVzYWdlLFxuICAgICAgICAgIGVycm9yOiBlLFxuICAgICAgICAgIHJhd1Jlc3BvbnNlcyxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxhc3RDaG9pY2UgPSBjdXJyZW50UmVzPy5jaG9pY2VzPy5bMF1cbiAgICBjb25zdCBsYXN0TWVzc2FnZSA9IGxhc3RDaG9pY2U/Lm1lc3NhZ2VcblxuICAgIGNvbnN0IHRleHQgPSBsYXN0TWVzc2FnZT8uY29udGVudCA/PyAnJ1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gbGFzdE1lc3NhZ2UgPyBbLi4uaW5wdXQubWVzc2FnZXMsIGxhc3RNZXNzYWdlXSA6IGlucHV0Lm1lc3NhZ2VzXG5cbiAgICBjb25zdCBzdGVwVXNhZ2UgPSBjcmVhdGVTb2xpZFVzYWdlKGN1cnJlbnRSZXMudXNhZ2UpXG4gICAgYWRkVG9Vc2FnZSh0b3RhbFVzYWdlLCBzdGVwVXNhZ2UpXG5cbiAgICBhd2FpdCBvblN0ZXBGaW5pc2g/Lih7XG4gICAgICBmaW5pc2hSZWFzb246IGxhc3RDaG9pY2UuZmluaXNoX3JlYXNvbixcbiAgICAgIG1lc3NhZ2VzOiBtZXNzYWdlcy5zbGljZSgpLFxuICAgICAgdGV4dCxcbiAgICAgIHRvb2xDYWxsOiBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZShjdXJyZW50UmVzKSxcbiAgICAgIHRvb2xSZXN1bHQ6IG51bGwsXG4gICAgICBzdGVwVXNhZ2UsXG4gICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQsXG4gICAgICBtZXNzYWdlcyxcbiAgICAgIHVzYWdlOiB0b3RhbFVzYWdlLFxuICAgICAgcmF3UmVzcG9uc2VzLFxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdHJlYW1UZXh0KF9pbnB1dDogUmVhY3RNb2RlbElucHV0LCBvcHRpb25zPzogUmVxT3B0aW9ucyk6IFByb21pc2U8e1xuICAgIGRhdGFTdHJlYW06IERvU3RyZWFtT3V0cHV0XG4gICAgdGV4dFN0cmVhbTogQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtPHN0cmluZz5cbiAgICBtZXNzYWdlczogUHJvbWlzZTxBcnJheTxDaGF0TW9kZWxNZXNzYWdlPj5cbiAgICB1c2FnZTogUHJvbWlzZTxVc2FnZT5cbiAgICBlcnJvcj86IGFueVxuICB9PiB7XG4gICAgY29uc3QgdG90YWxVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuXG4gICAgY29uc3QgW3sgb25TdGVwRmluaXNoLCBtYXhTdGVwcyA9IDEwIH0sIGlucHV0XSA9IHByb2Nlc3NJbnB1dChfaW5wdXQpXG4gICAgY29uc3QgZG9TdHJlYW0gPSAoKSA9PiB0aGlzLm1vZGVsLmRvU3RyZWFtKGlucHV0LCBvcHRpb25zKSAvLyDlkI7nu63ku6PnoIHkvJrnm7TmjqXlr7kgaW5wdXQubWVzc2FnZXMg5Y6f5Zyw5L+u5pS577yM6L+Z6YeM5LiA55u055So5ZCM5LiA5Liq5a+56LGh5bCx6KGMXG4gICAgbGV0IGN1cnJlbnRSZXMgPSBhd2FpdCBkb1N0cmVhbSgpXG4gICAgY29uc3QgY3VycmVudFN0ZXAgPSAxXG4gICAgbGV0IHJlYWRSZXN1bHQ6IHsgbWVzc2FnZTogVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlOyB1c2FnZTogVXNhZ2UgfSB8IG51bGwgPSBudWxsXG5cbiAgICBjb25zdCByZWFkQ3VycmVudFN0cmVhbSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IFtvbGRTdHJlYW0sIG5ld1N0cmVhbV0gPSBjdXJyZW50UmVzLnRlZSgpXG4gICAgICBjdXJyZW50UmVzID0gY3JlYXRlQXN5bmNJdGVyYWJsZShvbGRTdHJlYW0pXG4gICAgICByZXR1cm4gcmVhZEZ1bmN0aW9uQ2FsbFN0cmVhbShuZXdTdHJlYW0pXG4gICAgfVxuXG4gICAgLy8gVE9ETzog5LiA5qyh5a+56K+d5pyJ5aSa5LiqIHRvb2wgY2FsbD8g55uu5YmN5rKh5pyJ6L+Z56eN546w6LGh77yM5pqC5pe25LiN5aSE55CGXG4gICAgLy8g6L+Z6YeM5ZKMIGdlbmVyYXRlVGV4dCDkuI3lpKrkuIDmoLfvvIzpmaTkuobop6PmnpDlh7ogdG9vbENhbGwg5aSW77yM6L+Y6ZyA6KaB5LuO5rWB5Lit5p6E6YCg5Ye65YW25LuW5a6M5pW055qE5L+h5oGvXG4gICAgd2hpbGUgKGN1cnJlbnRTdGVwIDwgbWF4U3RlcHMgJiYgKHJlYWRSZXN1bHQgPSBhd2FpdCByZWFkQ3VycmVudFN0cmVhbSgpKSAhPSBudWxsKSB7XG4gICAgICBjb25zdCB7IG1lc3NhZ2U6IGFzc2lzdGFudE1lc3NhZ2UsIHVzYWdlOiBzdGVwVXNhZ2UgfSA9IHJlYWRSZXN1bHRcbiAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgc3RlcFVzYWdlKVxuXG4gICAgICAvLyDlvZPliKTmlq3pnIDopoHlt6XlhbfosIPnlKjml7ZcbiAgICAgIGNvbnN0IHRvb2xDYWxsID0gYXNzaXN0YW50TWVzc2FnZS50b29sX2NhbGxzPy5bMF0gLy8g6L+Z5LiqIHRvb2xDYWxsIOS4gOWumuWtmOWcqFxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9vbENhbGxSZXN1bHQgPSBhd2FpdCBjYWxsVG9vbCh0b29sQ2FsbCkgLy8g6LCD55SoXG5cbiAgICAgICAgYXdhaXQgb25TdGVwRmluaXNoPy4oe1xuICAgICAgICAgIGZpbmlzaFJlYXNvbjogJ3Rvb2xfY2FsbHMnLFxuICAgICAgICAgIG1lc3NhZ2VzOiBpbnB1dC5tZXNzYWdlcy5zbGljZSgpLFxuICAgICAgICAgIHRleHQ6IGFzc2lzdGFudE1lc3NhZ2UuY29udGVudCxcbiAgICAgICAgICB0b29sQ2FsbCxcbiAgICAgICAgICB0b29sUmVzdWx0OiB0b29sQ2FsbFJlc3VsdCxcbiAgICAgICAgICBzdGVwVXNhZ2UsXG4gICAgICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgICAgIH0pXG5cbiAgICAgICAgcHVzaE5ld01lc3NhZ2VzKGlucHV0Lm1lc3NhZ2VzLCBhc3Npc3RhbnRNZXNzYWdlLCB0b29sQ2FsbFJlc3VsdCkgLy8g55So6LCD55So57uT5p6c5L+u5pS55pyA5paw55qE5raI5oGvXG4gICAgICAgIGN1cnJlbnRSZXMgPSBhd2FpdCBkb1N0cmVhbSgpIC8vIOW+queOr+WvueivnVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBbczEsIHMyXSA9IGN1cnJlbnRSZXMudGVlKClcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtZXNzYWdlczogUHJvbWlzZS5yZXNvbHZlKGlucHV0Lm1lc3NhZ2VzKSxcbiAgICAgICAgICBkYXRhU3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMxKSxcbiAgICAgICAgICB0ZXh0U3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMyLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHN0ciA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmRlbHRhPy5jb250ZW50XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RyID09PSAnc3RyaW5nJykgY29udHJvbGxlci5lbnF1ZXVlKHN0cilcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksKSwpLFxuICAgICAgICAgIHVzYWdlOiBQcm9taXNlLnJlc29sdmUodG90YWxVc2FnZSksXG4gICAgICAgICAgZXJyb3I6IGUsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmnIDlkI7ov5Tlm57ml7bvvIzmnInlh6Dnp43mg4XlhrXvvJpcbiAgICAgKiAxLiDmsqHotoUgbWF4U3RlcCDml6Dlt6XlhbfosIPnlKhcbiAgICAgKiAyLiDotoXkuoYgbWF4U3RlcCDmnInlt6XlhbfosIPnlKhcbiAgICAgKiAzLiDotoXkuoYgbWF4U3RlcCDml6Dlt6XlhbfosIPnlKhcbiAgICAgKiBuZXZlci4g5rKh6LaFIG1heFN0ZXDvvIzmnInlt6XlhbfosIPnlKjvvIzov5nml7blgJnkvJrov5vliLDkuIrpnaLnmoQgd2hpbGUg5b6q546vIGJsb2NrIOS4reWkhOeQhlxuICAgICAqXG4gICAgICog5YW25LitIDEuIDMuIOWPr+S7peWQiOW5tu+8jOayoeacieW3peWFt+iwg+eUqOWwseW6lOivpeebtOaOpei/lOWbnu+8jOaXoOiuuiBtYXhTdGVwXG4gICAgICpcbiAgICAgKiDmiYDku6XlkIjlubbkuLrvvJpcbiAgICAgKiAxLiDml6Dlt6XlhbfosIPnlKhcbiAgICAgKiAyLiDmnInlt6XlhbfosIPnlKjvvIzkvYbmmK/otoXov4cgbWF4U3RlcFxuICAgICAqXG4gICAgICog6L+Z5Lik56eN5oOF5Ya16YO95rKh6L+b5YiwIHdoaWxlIOW+queOryBibG9jayDkuK3lpITnkIZcbiAgICAgKiDmiJHku6zpnIDopoEgYS4g5aGeIG1lc3NhZ2UgYi4g566XIFVzYWdlIGMuIOiwg+eUqCBvblN0ZXBGaW5pc2hcbiAgICAgKi9cblxuICAgIHJlYWRSZXN1bHQgPSBhd2FpdCByZWFkQ3VycmVudFN0cmVhbSgpXG5cbiAgICBpZiAocmVhZFJlc3VsdCkge1xuICAgICAgLy8g5oOF5Ya1IDIg5pyJ5bel5YW36LCD55So77yM5L2G5piv6LaF6L+HIG1heFN0ZXBcbiAgICAgIGNvbnN0IHsgbWVzc2FnZSwgdXNhZ2UgfSA9IHJlYWRSZXN1bHRcbiAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgdXNhZ2UpXG5cbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gWy4uLmlucHV0Lm1lc3NhZ2VzLCBtZXNzYWdlXVxuXG4gICAgICBvblN0ZXBGaW5pc2goe1xuICAgICAgICBtZXNzYWdlczogbWVzc2FnZXMuc2xpY2UoKSxcbiAgICAgICAgZmluaXNoUmVhc29uOiAndG9vbF9jYWxsJyxcbiAgICAgICAgc3RlcFVzYWdlOiB1c2FnZSxcbiAgICAgICAgdGV4dDogbWVzc2FnZS5jb250ZW50LFxuICAgICAgICB0b29sQ2FsbDogbWVzc2FnZS50b29sX2NhbGxzWzBdLFxuICAgICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IFtzMSwgczJdID0gY3VycmVudFJlcy50ZWUoKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWVzc2FnZXM6IFByb21pc2UucmVzb2x2ZShbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdKSxcbiAgICAgICAgZGF0YVN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMSksXG4gICAgICAgIHRleHRTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczIucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgICBjb25zdCBzdHIgPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudFxuICAgICAgICAgICAgaWYgKHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnKSBjb250cm9sbGVyLmVucXVldWUoc3RyKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLCksKSxcbiAgICAgICAgdXNhZ2U6IFByb21pc2UucmVzb2x2ZSh0b3RhbFVzYWdlKSxcbiAgICAgIH1cbiAgICB9XG4gICAgLy8g5oOF5Ya1IDEg5peg5bel5YW36LCD55SoXG4gICAgY29uc3QgbWVzc2FnZVByb21pc2UgPSBjcmVhdGVQcm9taXNlPEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+PigpXG4gICAgY29uc3QgdXNhZ2VQcm9taXNlID0gY3JlYXRlUHJvbWlzZTxVc2FnZT4oKVxuXG4gICAgY29uc3QgbWVzc2FnZTogQ2hhdE1vZGVsTWVzc2FnZSA9IHtcbiAgICAgIHJvbGU6ICdhc3Npc3RhbnQnLFxuICAgICAgY29udGVudDogJycsXG4gICAgfVxuICAgIGxldCBmaW5pc2hSZWFzb24gPSAnJ1xuICAgIGNvbnN0IHN0ZXBVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuXG4gICAgY29uc3Qgb3JpZ2luU3RyZWFtID0gY3VycmVudFJlcy5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAvLyDkuI3mlLnlj5ggY2h1bmsg5YaF5a6577yM5Y+q5piv5oum5oiq5LiL5YaF5a655ou85pyA5ZCO55qE57uT5p6cXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudFxuICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgbWVzc2FnZS5jb250ZW50ICs9IGNvbnRlbnRcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlYXNvbiA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmZpbmlzaF9yZWFzb25cbiAgICAgICAgaWYgKHJlYXNvbikgZmluaXNoUmVhc29uID0gcmVhc29uXG5cbiAgICAgICAgLy8gVE9ETzog5LiN5ZCM5aSn5qih5Z6L55qEIHN0cmVhbSB1c2FnZSDmoLzlvI/kuI3kuIDmoLfvvIzlkI7nu63lj6/og73opoHosIPmlbQuXG4gICAgICAgIC8vIGh1bnl1YW4g5q+P5LiqIGNodW5rIOmDveS8muaciSB1c2FnZe+8jOmAkOatpeWinuWKoO+8jOS7peacgOWQjuS4gOS4queahOS4uuWHhjtcbiAgICAgICAgLy8gemhpcHUg5pyA5ZCOIGNodW5rIOS8muaciSB1c2FnZTtcbiAgICAgICAgaWYgKGNodW5rPy51c2FnZT8uY29tcGxldGlvbl90b2tlbnMpIHN0ZXBVc2FnZS5jb21wbGV0aW9uX3Rva2VucyA9IGNodW5rLnVzYWdlLmNvbXBsZXRpb25fdG9rZW5zXG4gICAgICAgIGlmIChjaHVuaz8udXNhZ2U/LnByb21wdF90b2tlbnMpIHN0ZXBVc2FnZS5wcm9tcHRfdG9rZW5zID0gY2h1bmsudXNhZ2UucHJvbXB0X3Rva2Vuc1xuICAgICAgICBpZiAoY2h1bms/LnVzYWdlPy50b3RhbF90b2tlbnMpIHN0ZXBVc2FnZS50b3RhbF90b2tlbnMgPSBjaHVuay51c2FnZS50b3RhbF90b2tlbnNcblxuICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY2h1bmspXG4gICAgICB9LFxuICAgICAgZmx1c2goKSB7XG4gICAgICAgIG1lc3NhZ2VQcm9taXNlLnJlcyhbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdKVxuICAgICAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHN0ZXBVc2FnZSlcbiAgICAgICAgdXNhZ2VQcm9taXNlLnJlcyhPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSlcbiAgICAgICAgb25TdGVwRmluaXNoPy4oe1xuICAgICAgICAgIG1lc3NhZ2VzOiBbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdLFxuICAgICAgICAgIGZpbmlzaFJlYXNvbixcbiAgICAgICAgICB0ZXh0OiBtZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgICAgc3RlcFVzYWdlLFxuICAgICAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICBjb25zdCBbczEsIHMyXSA9IG9yaWdpblN0cmVhbS50ZWUoKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VzOiBtZXNzYWdlUHJvbWlzZS5wcm9taXNlLFxuICAgICAgZGF0YVN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMSksXG4gICAgICB0ZXh0U3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMyLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LmNvbnRlbnRcbiAgICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY29udGVudClcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSwpLCksXG4gICAgICB1c2FnZTogdXNhZ2VQcm9taXNlLnByb21pc2UsXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRvb2xDYWxsRnJvbUdlbmVyYXRlKG91dHB1dDogRG9HZW5lcmF0ZU91dHB1dCkge1xuICBjb25zdCBjaG9pY2UgPSBvdXRwdXQ/LmNob2ljZXM/LlswXVxuXG4gIGlmICghY2hvaWNlKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IHsgZmluaXNoX3JlYXNvbiwgbWVzc2FnZSB9ID0gY2hvaWNlXG5cbiAgaWYgKGZpbmlzaF9yZWFzb24gIT09ICd0b29sX2NhbGxzJykgcmV0dXJuIG51bGxcbiAgaWYgKCFtZXNzYWdlKSByZXR1cm4gbnVsbFxuICBpZiAoIWlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlKG1lc3NhZ2UpKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiBtZXNzYWdlLnRvb2xfY2FsbHNbMF1cbn1cblxuZnVuY3Rpb24gcHVzaE5ld01lc3NhZ2VzKFxuICBtZXNzYWdlczogQXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT4sXG4gIGFzc2lzdGFudE1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbiAgdG9vbENhbGxSZXN1bHQ6IHVua25vd24sXG4pIHtcbiAgbWVzc2FnZXMucHVzaChhc3Npc3RhbnRNZXNzYWdlLCB7XG4gICAgcm9sZTogJ3Rvb2wnLFxuICAgIHRvb2xfY2FsbF9pZDogYXNzaXN0YW50TWVzc2FnZS50b29sX2NhbGxzWzBdLmlkLFxuICAgIGNvbnRlbnQ6IEpTT04uc3RyaW5naWZ5KHRvb2xDYWxsUmVzdWx0KSxcbiAgfSlcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVhZEZ1bmN0aW9uQ2FsbFN0cmVhbShzdHJlYW06IFJlYWRhYmxlU3RyZWFtPEJhc2VEb1N0cmVhbU91dHB1dENodW5rPiwpOiBQcm9taXNlPHsgbWVzc2FnZTogVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlOyB1c2FnZTogVXNhZ2UgfSB8IG51bGw+IHtcbiAgY29uc3Qgc3RlcFVzYWdlOiBVc2FnZSA9IHsgY29tcGxldGlvbl90b2tlbnM6IDAsIHByb21wdF90b2tlbnM6IDAsIHRvdGFsX3Rva2VuczogMCB9XG4gIGNvbnN0IGFTdHJlYW0gPSBjcmVhdGVBc3luY0l0ZXJhYmxlKHN0cmVhbSlcblxuICBjb25zdCByZXRUb29sQ2FsbDogVG9vbENhbGwgPSB7XG4gICAgaWQ6ICcnLFxuICAgIGZ1bmN0aW9uOiB7XG4gICAgICBuYW1lOiAnJyxcbiAgICAgIGFyZ3VtZW50czogJycsXG4gICAgfSxcbiAgICB0eXBlOiAnJyxcbiAgfVxuXG4gIGNvbnN0IHJldE1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSA9IHtcbiAgICByb2xlOiAnYXNzaXN0YW50JyxcbiAgICBjb250ZW50OiAnJyxcbiAgICB0b29sX2NhbGxzOiBbcmV0VG9vbENhbGxdLFxuICB9XG5cbiAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBhU3RyZWFtKSB7XG4gICAgY29uc3QgY2hvaWNlID0gY2h1bms/LmNob2ljZXNbMF1cbiAgICBpZiAoIWNob2ljZSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHsgZmluaXNoX3JlYXNvbiwgZGVsdGEgfSA9IGNob2ljZVxuXG4gICAgaWYgKGZpbmlzaF9yZWFzb24gIT09ICd0b29sX2NhbGxzJykgcmV0dXJuIG51bGxcbiAgICBpZiAoIWRlbHRhKSBjb250aW51ZVxuXG4gICAgaWYgKGRlbHRhLmNvbnRlbnQpIHJldE1lc3NhZ2UuY29udGVudCArPSBkZWx0YS5jb250ZW50XG5cbiAgICBpZiAoISgndG9vbF9jYWxscycgaW4gZGVsdGEpKSBjb250aW51ZVxuICAgIGNvbnN0IHRvb2xDYWxsID0gZGVsdGE/LnRvb2xfY2FsbHM/LlswXVxuICAgIGlmICh0b29sQ2FsbD8uaWQpIHJldFRvb2xDYWxsLmlkID0gdG9vbENhbGwuaWRcbiAgICBpZiAodG9vbENhbGw/LnR5cGUpIHJldFRvb2xDYWxsLnR5cGUgPSB0b29sQ2FsbC50eXBlXG4gICAgaWYgKHRvb2xDYWxsPy5mdW5jdGlvbj8ubmFtZSkgcmV0VG9vbENhbGwuZnVuY3Rpb24ubmFtZSA9IHRvb2xDYWxsLmZ1bmN0aW9uLm5hbWVcbiAgICBpZiAodG9vbENhbGw/LmZ1bmN0aW9uPy5hcmd1bWVudHMpIHJldFRvb2xDYWxsLmZ1bmN0aW9uLmFyZ3VtZW50cyArPSB0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHNcblxuICAgIC8vIFRPRE86IOS4jeWQjOWkp+aooeWei+eahCBzdHJlYW0gdXNhZ2Ug5qC85byP5LiN5LiA5qC377yM5ZCO57ut5Y+v6IO96KaB6LCD5pW0LlxuICAgIC8vIGh1bnl1YW4g5q+P5LiqIGNodW5rIOmDveS8muaciSB1c2FnZe+8jOmAkOatpeWinuWKoO+8jOS7peacgOWQjuS4gOS4queahOS4uuWHhjtcbiAgICAvLyB6aGlwdSDmnIDlkI4gY2h1bmsg5Lya5pyJIHVzYWdlO1xuICAgIGlmIChjaHVuaz8udXNhZ2U/LmNvbXBsZXRpb25fdG9rZW5zKSBzdGVwVXNhZ2UuY29tcGxldGlvbl90b2tlbnMgPSBjaHVuay51c2FnZS5jb21wbGV0aW9uX3Rva2Vuc1xuICAgIGlmIChjaHVuaz8udXNhZ2U/LnByb21wdF90b2tlbnMpIHN0ZXBVc2FnZS5wcm9tcHRfdG9rZW5zID0gY2h1bmsudXNhZ2UucHJvbXB0X3Rva2Vuc1xuICAgIGlmIChjaHVuaz8udXNhZ2U/LnRvdGFsX3Rva2Vucykgc3RlcFVzYWdlLnRvdGFsX3Rva2VucyA9IGNodW5rLnVzYWdlLnRvdGFsX3Rva2Vuc1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXNzYWdlOiByZXRNZXNzYWdlLFxuICAgIHVzYWdlOiBzdGVwVXNhZ2UsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHRvb2xNYXAgPSBuZXcgTWFwPHN0cmluZywgQ2FsbGFibGVGdW5jdGlvbj4oKVxuXG5mdW5jdGlvbiBjYWxsVG9vbCh0b29sQ2FsbDogVG9vbENhbGwpIHtcbiAgcmV0dXJuIHRvb2xNYXAuZ2V0KHRvb2xDYWxsLmZ1bmN0aW9uLm5hbWUpKEpTT04ucGFyc2UodG9vbENhbGwuZnVuY3Rpb24uYXJndW1lbnRzKSlcbn1cblxuZnVuY3Rpb24gY3JlYXRlU29saWRVc2FnZSh1c2FnZT86IFBhcnRpYWw8VXNhZ2U+KTogVXNhZ2Uge1xuICByZXR1cm4ge1xuICAgIGNvbXBsZXRpb25fdG9rZW5zOiB1c2FnZT8uY29tcGxldGlvbl90b2tlbnMgPz8gMCxcbiAgICBwcm9tcHRfdG9rZW5zOiB1c2FnZT8ucHJvbXB0X3Rva2VucyA/PyAwLFxuICAgIHRvdGFsX3Rva2VuczogdXNhZ2U/LnRvdGFsX3Rva2VucyA/PyAwLFxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZFRvVXNhZ2UodGFyZ2V0VXNhZ2U6IFVzYWdlLCBzb3VyY2VVc2FnZTogVXNhZ2UpIHtcbiAgdGFyZ2V0VXNhZ2UuY29tcGxldGlvbl90b2tlbnMgKz0gc291cmNlVXNhZ2UuY29tcGxldGlvbl90b2tlbnNcbiAgdGFyZ2V0VXNhZ2UucHJvbXB0X3Rva2VucyArPSBzb3VyY2VVc2FnZS5wcm9tcHRfdG9rZW5zXG4gIHRhcmdldFVzYWdlLnRvdGFsX3Rva2VucyArPSBzb3VyY2VVc2FnZS50b3RhbF90b2tlbnNcbn1cbiJdfQ==
481
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsa0NBTWlCO0FBd0NqQixTQUFTLFlBQVksQ0FBQyxHQUFvQjs7SUFDaEMsSUFBQSxZQUFZLEdBQW9ELEdBQUcsYUFBdkQsRUFBRSxXQUFXLEdBQXVDLEdBQUcsWUFBMUMsRUFBRSxRQUFRLEdBQTZCLEdBQUcsU0FBaEMsRUFBRSxJQUFJLEdBQXVCLEdBQUcsS0FBMUIsRUFBRSxVQUFVLEdBQVcsR0FBRyxXQUFkLEVBQUssQ0FBQyxVQUFLLEdBQUcsRUFBckUsaUVBQStELENBQUYsQ0FBUTtJQUUzRSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7S0FDdEQ7SUFFRCxPQUFPO1FBQ0wsRUFBRSxZQUFZLGNBQUEsRUFBRSxXQUFXLGFBQUEsRUFBRSxRQUFRLFVBQUEsRUFBRTs4QkFFbEMsQ0FBQyxLQUNKLEtBQUssRUFBRSxNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLEdBQUcsQ0FBQyxVQUFDLElBQUk7Z0JBQ3ZCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtvQkFDaEIsT0FBTyxJQUFBLCtCQUF1QixFQUFDLElBQUksQ0FBQyxDQUFBO2lCQUNyQztnQkFDRCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQ3BDLFdBQVcsRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFV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V0FBVyxDQUFDLFlBQVksSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFBO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIGVxZXFlcSAqL1xuaW1wb3J0IHtcbiAgY3JlYXRlQXN5bmNJdGVyYWJsZSxcbiAgVHJhbnNmb3JtU3RyZWFtLFxuICBjcmVhdGVQcm9taXNlLFxuICBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbiAgZnVuY3Rpb25Ub29sVG9Nb2RlbFRvb2wsXG59IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHtcbiAgQmFzZUNoYXRNb2RlbElucHV0LFxuICBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayxcbiAgRG9TdHJlYW1PdXRwdXQsXG4gIERvR2VuZXJhdGVPdXRwdXQsXG4gIFNpbXBsZUNoYXRNb2RlbCxcbiAgVG9vbENhbGwsXG4gIENoYXRNb2RlbE1lc3NhZ2UsXG4gIEFzeW5jSXRlcmFibGVSZWFkYWJsZVN0cmVhbSxcbiAgVXNhZ2UsXG4gIFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbiAgTW9kZWxUb29sLFxuICBGdW5jdGlvblRvb2wsXG4gIFJlcU9wdGlvbnMsXG59IGZyb20gJy4uL3R5cGUnXG5cbnR5cGUgUmVhY3RNb2RlbElucHV0ID0gUmVhY3RQcm9wcyAmXG5PbWl0PEJhc2VDaGF0TW9kZWxJbnB1dCwgJ3Rvb2xzJz4gJiB7XG4gIHRvb2xzPzogQXJyYXk8TW9kZWxUb29sIHwgRnVuY3Rpb25Ub29sPlxuICB0b3BQPzogbnVtYmVyXG4gIHRvb2xDaG9pY2U/OiAnbm9uZScgfCAnYXV0bycgfCAnY3VzdG9tJ1xufVxuXG5pbnRlcmZhY2UgSU9uU3RlcEZpbmlzaCB7XG4gIG1lc3NhZ2VzOiBBcnJheTxDaGF0TW9kZWxNZXNzYWdlPlxuICB0ZXh0Pzogc3RyaW5nXG4gIHRvb2xDYWxsPzogVG9vbENhbGxcbiAgdG9vbFJlc3VsdD86IHVua25vd25cbiAgZmluaXNoUmVhc29uPzogc3RyaW5nXG4gIHN0ZXBVc2FnZT86IFVzYWdlXG4gIHRvdGFsVXNhZ2U/OiBVc2FnZVxufVxuXG5pbnRlcmZhY2UgUmVhY3RQcm9wcyB7XG4gIG1heFN0ZXBzPzogbnVtYmVyXG4gIG9uU3RlcEZpbmlzaD86IChwcm9wOiBJT25TdGVwRmluaXNoKSA9PiB1bmtub3duXG4gIGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwgLy8gVE9ETzog5a6e546wIGFib3J0U2lnbmFsXG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NJbnB1dChvYmo6IFJlYWN0TW9kZWxJbnB1dCk6IFtSZWFjdFByb3BzLCBCYXNlQ2hhdE1vZGVsSW5wdXRdIHtcbiAgY29uc3QgeyBvblN0ZXBGaW5pc2gsIGFib3J0U2lnbmFsLCBtYXhTdGVwcywgdG9wUCwgdG9vbENob2ljZSwgLi4uYiB9ID0gb2JqXG5cbiAgaWYgKG1heFN0ZXBzICE9IG51bGwgJiYgbWF4U3RlcHMgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdgbWF4U3RlcHNgIG11c2UgYmUgZ3JlYXRlciB0aGFuIDAuJylcbiAgfVxuXG4gIHJldHVybiBbXG4gICAgeyBvblN0ZXBGaW5pc2gsIGFib3J0U2lnbmFsLCBtYXhTdGVwcyB9LFxuICAgIHtcbiAgICAgIC4uLmIsXG4gICAgICB0b29sczogYi50b29scz8ubWFwKCh0b29sKSA9PiB7XG4gICAgICAgIGlmICgnZm4nIGluIHRvb2wpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb25Ub29sVG9Nb2RlbFRvb2wodG9vbClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdG9vbFxuICAgICAgfSksXG4gICAgICB0b3BfcDogdG9wUCAhPSBudWxsID8gdG9wUCA6IGIudG9wX3AsXG4gICAgICB0b29sX2Nob2ljZTogdG9vbENob2ljZSAhPSBudWxsID8gdG9vbENob2ljZSA6IGIudG9vbF9jaG9pY2UsXG4gICAgfSxcbiAgXVxufVxuXG5leHBvcnQgY2xhc3MgUmVhY3RNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kZWw6IFNpbXBsZUNoYXRNb2RlbCkge31cblxuICBwdWJsaWMgYXN5bmMgZ2VuZXJhdGVUZXh0KF9pbnB1dDogUmVhY3RNb2RlbElucHV0LCBvcHRpb25zPzogUmVxT3B0aW9ucyk6IFByb21pc2U8e1xuICAgIHRleHQ6IHN0cmluZ1xuICAgIG1lc3NhZ2VzOiBBcnJheTxDaGF0TW9kZWxNZXNzYWdlPlxuICAgIHVzYWdlOiBVc2FnZVxuICAgIHJhd1Jlc3BvbnNlczogQXJyYXk8dW5rbm93bj5cbiAgICBlcnJvcj86IGFueVxuICB9PiB7XG4gICAgY29uc3QgcmF3UmVzcG9uc2VzID0gW11cbiAgICBjb25zdCB0b3RhbFVzYWdlOiBVc2FnZSA9IHsgY29tcGxldGlvbl90b2tlbnM6IDAsIHByb21wdF90b2tlbnM6IDAsIHRvdGFsX3Rva2VuczogMCB9XG5cbiAgICBjb25zdCBbeyBvblN0ZXBGaW5pc2gsIG1heFN0ZXBzID0gMTAgfSwgaW5wdXRdID0gcHJvY2Vzc0lucHV0KF9pbnB1dClcblxuICAgIGNvbnN0IGRvR2VuZXJhdGUgPSAoKSA9PiB0aGlzLm1vZGVsLmRvR2VuZXJhdGUoaW5wdXQsIG9wdGlvbnMpIC8vIOWQjue7reS7o+eggeS8muebtOaOpeWvuSBpbnB1dC5tZXNzYWdlcyDljp/lnLDkv67mlLnvvIzov5nph4zkuIDnm7TnlKjlkIzkuIDkuKrlr7nosaHlsLHooYxcbiAgICBsZXQgY3VycmVudFJlcyA9IGF3YWl0IGRvR2VuZXJhdGUoKVxuICAgIGxldCBjdXJyZW50U3RlcCA9IDFcbiAgICBjdXJyZW50UmVzLnJhd1Jlc3BvbnNlICYmIHJhd1Jlc3BvbnNlcy5wdXNoKGN1cnJlbnRSZXMucmF3UmVzcG9uc2UpXG5cbiAgICBsZXQgdG9vbENhbGw6IFRvb2xDYWxsIHwgbnVsbCA9IG51bGxcblxuICAgIC8vIFRPRE86IOS4gOasoeWvueivneacieWkmuS4qiB0b29sIGNhbGw/IOebruWJjeayoeaciei/meenjeeOsOixoe+8jOaaguaXtuS4jeWkhOeQhlxuICAgIHdoaWxlIChjdXJyZW50U3RlcCA8IG1heFN0ZXBzICYmICh0b29sQ2FsbCA9IGdldFRvb2xDYWxsRnJvbUdlbmVyYXRlKGN1cnJlbnRSZXMpKSAhPSBudWxsKSB7XG4gICAgICBjb25zdCBzdGVwVXNhZ2UgPSBjcmVhdGVTb2xpZFVzYWdlKGN1cnJlbnRSZXMudXNhZ2UpXG4gICAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHN0ZXBVc2FnZSlcblxuICAgICAgLy8g5b2T5Yik5pat6ZyA6KaB5bel5YW36LCD55So5pe2XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0b29sQ2FsbFJlc3VsdCA9IGF3YWl0IGNhbGxUb29sKHRvb2xDYWxsKSAvLyDosIPnlKhcblxuICAgICAgICBjb25zdCBjaG9pY2UgPSBjdXJyZW50UmVzLmNob2ljZXNbMF0gLy8gZ2V0VG9vbENhbGxGcm9tR2VuZXJhdGUg5L+d6K+B5LqGIGNob2ljZSDogq/lrprlrZjlnKhcblxuICAgICAgICBhd2FpdCBvblN0ZXBGaW5pc2g/Lih7XG4gICAgICAgICAgZmluaXNoUmVhc29uOiBjaG9pY2UuZmluaXNoX3JlYXNvbixcbiAgICAgICAgICBtZXNzYWdlczogaW5wdXQubWVzc2FnZXMuc2xpY2UoKSxcbiAgICAgICAgICB0ZXh0OiBjaG9pY2UubWVzc2FnZS5jb250ZW50LFxuICAgICAgICAgIHRvb2xDYWxsLFxuICAgICAgICAgIHRvb2xSZXN1bHQ6IHRvb2xDYWxsUmVzdWx0LFxuICAgICAgICAgIHN0ZXBVc2FnZSxcbiAgICAgICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICAgICAgfSlcblxuICAgICAgICBwdXNoTmV3TWVzc2FnZXMoaW5wdXQubWVzc2FnZXMsIGNob2ljZS5tZXNzYWdlIGFzIFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSwgdG9vbENhbGxSZXN1bHQpIC8vIOeUqOiwg+eUqOe7k+aenOS/ruaUueacgOaWsOeahOa2iOaBr1xuXG4gICAgICAgIGN1cnJlbnRSZXMgPSBhd2FpdCBkb0dlbmVyYXRlKCkgLy8g5b6q546v5a+56K+dXG4gICAgICAgIGN1cnJlbnRSZXMucmF3UmVzcG9uc2UgJiYgcmF3UmVzcG9uc2VzLnB1c2goY3VycmVudFJlcy5yYXdSZXNwb25zZSlcbiAgICAgICAgY3VycmVudFN0ZXAgKz0gMVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgIG1lc3NhZ2VzOiBpbnB1dC5tZXNzYWdlcyxcbiAgICAgICAgICB1c2FnZTogdG90YWxVc2FnZSxcbiAgICAgICAgICBlcnJvcjogZSxcbiAgICAgICAgICByYXdSZXNwb25zZXMsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBsYXN0Q2hvaWNlID0gY3VycmVudFJlcz8uY2hvaWNlcz8uWzBdXG4gICAgY29uc3QgbGFzdE1lc3NhZ2UgPSBsYXN0Q2hvaWNlPy5tZXNzYWdlXG5cbiAgICBjb25zdCB0ZXh0ID0gbGFzdE1lc3NhZ2U/LmNvbnRlbnQgPz8gJydcbiAgICBjb25zdCBtZXNzYWdlcyA9IGxhc3RNZXNzYWdlID8gWy4uLmlucHV0Lm1lc3NhZ2VzLCBsYXN0TWVzc2FnZV0gOiBpbnB1dC5tZXNzYWdlc1xuXG4gICAgY29uc3Qgc3RlcFVzYWdlID0gY3JlYXRlU29saWRVc2FnZShjdXJyZW50UmVzLnVzYWdlKVxuICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgc3RlcFVzYWdlKVxuXG4gICAgYXdhaXQgb25TdGVwRmluaXNoPy4oe1xuICAgICAgZmluaXNoUmVhc29uOiBsYXN0Q2hvaWNlLmZpbmlzaF9yZWFzb24sXG4gICAgICBtZXNzYWdlczogbWVzc2FnZXMuc2xpY2UoKSxcbiAgICAgIHRleHQsXG4gICAgICB0b29sQ2FsbDogZ2V0VG9vbENhbGxGcm9tR2VuZXJhdGUoY3VycmVudFJlcyksXG4gICAgICB0b29sUmVzdWx0OiBudWxsLFxuICAgICAgc3RlcFVzYWdlLFxuICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgfSlcblxuICAgIHJldHVybiB7XG4gICAgICB0ZXh0LFxuICAgICAgbWVzc2FnZXMsXG4gICAgICB1c2FnZTogdG90YWxVc2FnZSxcbiAgICAgIHJhd1Jlc3BvbnNlcyxcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3RyZWFtVGV4dChfaW5wdXQ6IFJlYWN0TW9kZWxJbnB1dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpOiBQcm9taXNlPHtcbiAgICBkYXRhU3RyZWFtOiBEb1N0cmVhbU91dHB1dFxuICAgIHRleHRTdHJlYW06IEFzeW5jSXRlcmFibGVSZWFkYWJsZVN0cmVhbTxzdHJpbmc+XG4gICAgbWVzc2FnZXM6IFByb21pc2U8QXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT4+XG4gICAgdXNhZ2U6IFByb21pc2U8VXNhZ2U+XG4gICAgZXJyb3I/OiBhbnlcbiAgfT4ge1xuICAgIGNvbnN0IHRvdGFsVXNhZ2U6IFVzYWdlID0geyBjb21wbGV0aW9uX3Rva2VuczogMCwgcHJvbXB0X3Rva2VuczogMCwgdG90YWxfdG9rZW5zOiAwIH1cblxuICAgIGNvbnN0IFt7IG9uU3RlcEZpbmlzaCwgbWF4U3RlcHMgPSAxMCB9LCBpbnB1dF0gPSBwcm9jZXNzSW5wdXQoX2lucHV0KVxuICAgIGNvbnN0IGRvU3RyZWFtID0gKCkgPT4gdGhpcy5tb2RlbC5kb1N0cmVhbShpbnB1dCwgb3B0aW9ucykgLy8g5ZCO57ut5Luj56CB5Lya55u05o6l5a+5IGlucHV0Lm1lc3NhZ2VzIOWOn+WcsOS/ruaUue+8jOi/memHjOS4gOebtOeUqOWQjOS4gOS4quWvueixoeWwseihjFxuICAgIGxldCBjdXJyZW50UmVzID0gYXdhaXQgZG9TdHJlYW0oKVxuICAgIGNvbnN0IGN1cnJlbnRTdGVwID0gMVxuICAgIGxldCByZWFkUmVzdWx0OiB7IG1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZTsgdXNhZ2U6IFVzYWdlIH0gfCBudWxsID0gbnVsbFxuXG4gICAgY29uc3QgcmVhZEN1cnJlbnRTdHJlYW0gPSAoKSA9PiB7XG4gICAgICBjb25zdCBbb2xkU3RyZWFtLCBuZXdTdHJlYW1dID0gY3VycmVudFJlcy50ZWUoKVxuICAgICAgY3VycmVudFJlcyA9IGNyZWF0ZUFzeW5jSXRlcmFibGUob2xkU3RyZWFtKVxuICAgICAgcmV0dXJuIHJlYWRGdW5jdGlvbkNhbGxTdHJlYW0obmV3U3RyZWFtKVxuICAgIH1cblxuICAgIC8vIFRPRE86IOS4gOasoeWvueivneacieWkmuS4qiB0b29sIGNhbGw/IOebruWJjeayoeaciei/meenjeeOsOixoe+8jOaaguaXtuS4jeWkhOeQhlxuICAgIC8vIOi/memHjOWSjCBnZW5lcmF0ZVRleHQg5LiN5aSq5LiA5qC377yM6Zmk5LqG6Kej5p6Q5Ye6IHRvb2xDYWxsIOWklu+8jOi/mOmcgOimgeS7jua1geS4reaehOmAoOWHuuWFtuS7luWujOaVtOeahOS/oeaBr1xuICAgIHdoaWxlIChjdXJyZW50U3RlcCA8IG1heFN0ZXBzICYmIChyZWFkUmVzdWx0ID0gYXdhaXQgcmVhZEN1cnJlbnRTdHJlYW0oKSkgIT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBtZXNzYWdlOiBhc3Npc3RhbnRNZXNzYWdlLCB1c2FnZTogc3RlcFVzYWdlIH0gPSByZWFkUmVzdWx0XG4gICAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHN0ZXBVc2FnZSlcblxuICAgICAgLy8g5b2T5Yik5pat6ZyA6KaB5bel5YW36LCD55So5pe2XG4gICAgICBjb25zdCB0b29sQ2FsbCA9IGFzc2lzdGFudE1lc3NhZ2UudG9vbF9jYWxscz8uWzBdIC8vIOi/meS4qiB0b29sQ2FsbCDkuIDlrprlrZjlnKhcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRvb2xDYWxsUmVzdWx0ID0gYXdhaXQgY2FsbFRvb2wodG9vbENhbGwpIC8vIOiwg+eUqFxuXG4gICAgICAgIGF3YWl0IG9uU3RlcEZpbmlzaD8uKHtcbiAgICAgICAgICBmaW5pc2hSZWFzb246ICd0b29sX2NhbGxzJyxcbiAgICAgICAgICBtZXNzYWdlczogaW5wdXQubWVzc2FnZXMuc2xpY2UoKSxcbiAgICAgICAgICB0ZXh0OiBhc3Npc3RhbnRNZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgICAgdG9vbENhbGwsXG4gICAgICAgICAgdG9vbFJlc3VsdDogdG9vbENhbGxSZXN1bHQsXG4gICAgICAgICAgc3RlcFVzYWdlLFxuICAgICAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgICAgICB9KVxuXG4gICAgICAgIHB1c2hOZXdNZXNzYWdlcyhpbnB1dC5tZXNzYWdlcywgYXNzaXN0YW50TWVzc2FnZSwgdG9vbENhbGxSZXN1bHQpIC8vIOeUqOiwg+eUqOe7k+aenOS/ruaUueacgOaWsOeahOa2iOaBr1xuICAgICAgICBjdXJyZW50UmVzID0gYXdhaXQgZG9TdHJlYW0oKSAvLyDlvqrnjq/lr7nor51cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc3QgW3MxLCBzMl0gPSBjdXJyZW50UmVzLnRlZSgpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbWVzc2FnZXM6IFByb21pc2UucmVzb2x2ZShpbnB1dC5tZXNzYWdlcyksXG4gICAgICAgICAgZGF0YVN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMSksXG4gICAgICAgICAgdGV4dFN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMi5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAgICAgICBjb25zdCBzdHIgPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudFxuICAgICAgICAgICAgICBpZiAodHlwZW9mIHN0ciA9PT0gJ3N0cmluZycpIGNvbnRyb2xsZXIuZW5xdWV1ZShzdHIpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLCksKSxcbiAgICAgICAgICB1c2FnZTogUHJvbWlzZS5yZXNvbHZlKHRvdGFsVXNhZ2UpLFxuICAgICAgICAgIGVycm9yOiBlLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pyA5ZCO6L+U5Zue5pe277yM5pyJ5Yeg56eN5oOF5Ya177yaXG4gICAgICogMS4g5rKh6LaFIG1heFN0ZXAg5peg5bel5YW36LCD55SoXG4gICAgICogMi4g6LaF5LqGIG1heFN0ZXAg5pyJ5bel5YW36LCD55SoXG4gICAgICogMy4g6LaF5LqGIG1heFN0ZXAg5peg5bel5YW36LCD55SoXG4gICAgICogbmV2ZXIuIOayoei2hSBtYXhTdGVw77yM5pyJ5bel5YW36LCD55So77yM6L+Z5pe25YCZ5Lya6L+b5Yiw5LiK6Z2i55qEIHdoaWxlIOW+queOryBibG9jayDkuK3lpITnkIZcbiAgICAgKlxuICAgICAqIOWFtuS4rSAxLiAzLiDlj6/ku6XlkIjlubbvvIzmsqHmnInlt6XlhbfosIPnlKjlsLHlupTor6Xnm7TmjqXov5Tlm57vvIzml6DorrogbWF4U3RlcFxuICAgICAqXG4gICAgICog5omA5Lul5ZCI5bm25Li677yaXG4gICAgICogMS4g5peg5bel5YW36LCD55SoXG4gICAgICogMi4g5pyJ5bel5YW36LCD55So77yM5L2G5piv6LaF6L+HIG1heFN0ZXBcbiAgICAgKlxuICAgICAqIOi/meS4pOenjeaDheWGtemDveayoei/m+WIsCB3aGlsZSDlvqrnjq8gYmxvY2sg5Lit5aSE55CGXG4gICAgICog5oiR5Lus6ZyA6KaBIGEuIOWhniBtZXNzYWdlIGIuIOeulyBVc2FnZSBjLiDosIPnlKggb25TdGVwRmluaXNoXG4gICAgICovXG5cbiAgICByZWFkUmVzdWx0ID0gYXdhaXQgcmVhZEN1cnJlbnRTdHJlYW0oKVxuXG4gICAgaWYgKHJlYWRSZXN1bHQpIHtcbiAgICAgIC8vIOaDheWGtSAyIOacieW3peWFt+iwg+eUqO+8jOS9huaYr+i2hei/hyBtYXhTdGVwXG4gICAgICBjb25zdCB7IG1lc3NhZ2UsIHVzYWdlIH0gPSByZWFkUmVzdWx0XG4gICAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHVzYWdlKVxuXG4gICAgICBjb25zdCBtZXNzYWdlcyA9IFsuLi5pbnB1dC5tZXNzYWdlcywgbWVzc2FnZV1cblxuICAgICAgb25TdGVwRmluaXNoKHtcbiAgICAgICAgbWVzc2FnZXM6IG1lc3NhZ2VzLnNsaWNlKCksXG4gICAgICAgIGZpbmlzaFJlYXNvbjogJ3Rvb2xfY2FsbCcsXG4gICAgICAgIHN0ZXBVc2FnZTogdXNhZ2UsXG4gICAgICAgIHRleHQ6IG1lc3NhZ2UuY29udGVudCxcbiAgICAgICAgdG9vbENhbGw6IG1lc3NhZ2UudG9vbF9jYWxsc1swXSxcbiAgICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBbczEsIHMyXSA9IGN1cnJlbnRSZXMudGVlKClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lc3NhZ2VzOiBQcm9taXNlLnJlc29sdmUoWy4uLmlucHV0Lm1lc3NhZ2VzLCBtZXNzYWdlXSksXG4gICAgICAgIGRhdGFTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczEpLFxuICAgICAgICB0ZXh0U3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMyLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAgICAgY29uc3Qgc3RyID0gY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LmNvbnRlbnRcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RyID09PSAnc3RyaW5nJykgY29udHJvbGxlci5lbnF1ZXVlKHN0cilcbiAgICAgICAgICB9LFxuICAgICAgICB9KSwpLCksXG4gICAgICAgIHVzYWdlOiBQcm9taXNlLnJlc29sdmUodG90YWxVc2FnZSksXG4gICAgICB9XG4gICAgfVxuICAgIC8vIOaDheWGtSAxIOaXoOW3peWFt+iwg+eUqFxuICAgIGNvbnN0IG1lc3NhZ2VQcm9taXNlID0gY3JlYXRlUHJvbWlzZTxBcnJheTxDaGF0TW9kZWxNZXNzYWdlPj4oKVxuICAgIGNvbnN0IHVzYWdlUHJvbWlzZSA9IGNyZWF0ZVByb21pc2U8VXNhZ2U+KClcblxuICAgIGNvbnN0IG1lc3NhZ2U6IENoYXRNb2RlbE1lc3NhZ2UgPSB7XG4gICAgICByb2xlOiAnYXNzaXN0YW50JyxcbiAgICAgIGNvbnRlbnQ6ICcnLFxuICAgIH1cbiAgICBsZXQgZmluaXNoUmVhc29uID0gJydcbiAgICBjb25zdCBzdGVwVXNhZ2U6IFVzYWdlID0geyBjb21wbGV0aW9uX3Rva2VuczogMCwgcHJvbXB0X3Rva2VuczogMCwgdG90YWxfdG9rZW5zOiAwIH1cblxuICAgIGNvbnN0IG9yaWdpblN0cmVhbSA9IGN1cnJlbnRSZXMucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgLy8g5LiN5pS55Y+YIGNodW5rIOWGheWuue+8jOWPquaYr+aLpuaIquS4i+WGheWuueaLvOacgOWQjueahOe7k+aenFxuICAgICAgICBjb25zdCBjb250ZW50ID0gY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LmNvbnRlbnRcbiAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIG1lc3NhZ2UuY29udGVudCArPSBjb250ZW50XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWFzb24gPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5maW5pc2hfcmVhc29uXG4gICAgICAgIGlmIChyZWFzb24pIGZpbmlzaFJlYXNvbiA9IHJlYXNvblxuXG4gICAgICAgIC8vIFRPRE86IOS4jeWQjOWkp+aooeWei+eahCBzdHJlYW0gdXNhZ2Ug5qC85byP5LiN5LiA5qC377yM5ZCO57ut5Y+v6IO96KaB6LCD5pW0LlxuICAgICAgICAvLyBodW55dWFuIOavj+S4qiBjaHVuayDpg73kvJrmnIkgdXNhZ2XvvIzpgJDmraXlop7liqDvvIzku6XmnIDlkI7kuIDkuKrnmoTkuLrlh4Y7XG4gICAgICAgIC8vIHpoaXB1IOacgOWQjiBjaHVuayDkvJrmnIkgdXNhZ2U7XG4gICAgICAgIGlmIChjaHVuaz8udXNhZ2U/LmNvbXBsZXRpb25fdG9rZW5zKSBzdGVwVXNhZ2UuY29tcGxldGlvbl90b2tlbnMgPSBjaHVuay51c2FnZS5jb21wbGV0aW9uX3Rva2Vuc1xuICAgICAgICBpZiAoY2h1bms/LnVzYWdlPy5wcm9tcHRfdG9rZW5zKSBzdGVwVXNhZ2UucHJvbXB0X3Rva2VucyA9IGNodW5rLnVzYWdlLnByb21wdF90b2tlbnNcbiAgICAgICAgaWYgKGNodW5rPy51c2FnZT8udG90YWxfdG9rZW5zKSBzdGVwVXNhZ2UudG90YWxfdG9rZW5zID0gY2h1bmsudXNhZ2UudG90YWxfdG9rZW5zXG5cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNodW5rKVxuICAgICAgfSxcbiAgICAgIGZsdXNoKCkge1xuICAgICAgICBtZXNzYWdlUHJvbWlzZS5yZXMoWy4uLmlucHV0Lm1lc3NhZ2VzLCBtZXNzYWdlXSlcbiAgICAgICAgYWRkVG9Vc2FnZSh0b3RhbFVzYWdlLCBzdGVwVXNhZ2UpXG4gICAgICAgIHVzYWdlUHJvbWlzZS5yZXMoT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSkpXG4gICAgICAgIG9uU3RlcEZpbmlzaD8uKHtcbiAgICAgICAgICBtZXNzYWdlczogWy4uLmlucHV0Lm1lc3NhZ2VzLCBtZXNzYWdlXSxcbiAgICAgICAgICBmaW5pc2hSZWFzb24sXG4gICAgICAgICAgdGV4dDogbWVzc2FnZS5jb250ZW50LFxuICAgICAgICAgIHN0ZXBVc2FnZSxcbiAgICAgICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgfSksKVxuXG4gICAgY29uc3QgW3MxLCBzMl0gPSBvcmlnaW5TdHJlYW0udGVlKClcblxuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlczogbWVzc2FnZVByb21pc2UucHJvbWlzZSxcbiAgICAgIGRhdGFTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczEpLFxuICAgICAgdGV4dFN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMi5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmRlbHRhPy5jb250ZW50XG4gICAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNvbnRlbnQpXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksKSwpLFxuICAgICAgdXNhZ2U6IHVzYWdlUHJvbWlzZS5wcm9taXNlLFxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZShvdXRwdXQ6IERvR2VuZXJhdGVPdXRwdXQpIHtcbiAgY29uc3QgY2hvaWNlID0gb3V0cHV0Py5jaG9pY2VzPy5bMF1cblxuICBpZiAoIWNob2ljZSkgcmV0dXJuIG51bGxcblxuICBjb25zdCB7IGZpbmlzaF9yZWFzb24sIG1lc3NhZ2UgfSA9IGNob2ljZVxuXG4gIGlmIChmaW5pc2hfcmVhc29uICE9PSAndG9vbF9jYWxscycpIHJldHVybiBudWxsXG4gIGlmICghbWVzc2FnZSkgcmV0dXJuIG51bGxcbiAgaWYgKCFpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKSkgcmV0dXJuIG51bGxcblxuICByZXR1cm4gbWVzc2FnZS50b29sX2NhbGxzWzBdXG59XG5cbmZ1bmN0aW9uIHB1c2hOZXdNZXNzYWdlcyhcbiAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+LFxuICBhc3Npc3RhbnRNZXNzYWdlOiBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsXG4gIHRvb2xDYWxsUmVzdWx0OiB1bmtub3duLFxuKSB7XG4gIG1lc3NhZ2VzLnB1c2goYXNzaXN0YW50TWVzc2FnZSwge1xuICAgIHJvbGU6ICd0b29sJyxcbiAgICB0b29sX2NhbGxfaWQ6IGFzc2lzdGFudE1lc3NhZ2UudG9vbF9jYWxsc1swXS5pZCxcbiAgICBjb250ZW50OiBKU09OLnN0cmluZ2lmeSh0b29sQ2FsbFJlc3VsdCksXG4gIH0pXG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlYWRGdW5jdGlvbkNhbGxTdHJlYW0oc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuaz4sKTogUHJvbWlzZTx7IG1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZTsgdXNhZ2U6IFVzYWdlIH0gfCBudWxsPiB7XG4gIGNvbnN0IHN0ZXBVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuICBjb25zdCBhU3RyZWFtID0gY3JlYXRlQXN5bmNJdGVyYWJsZShzdHJlYW0pXG5cbiAgY29uc3QgcmV0VG9vbENhbGw6IFRvb2xDYWxsID0ge1xuICAgIGlkOiAnJyxcbiAgICBmdW5jdGlvbjoge1xuICAgICAgbmFtZTogJycsXG4gICAgICBhcmd1bWVudHM6ICcnLFxuICAgIH0sXG4gICAgdHlwZTogJycsXG4gIH1cblxuICBjb25zdCByZXRNZXNzYWdlOiBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UgPSB7XG4gICAgcm9sZTogJ2Fzc2lzdGFudCcsXG4gICAgY29udGVudDogJycsXG4gICAgdG9vbF9jYWxsczogW3JldFRvb2xDYWxsXSxcbiAgfVxuXG4gIGZvciBhd2FpdCAoY29uc3QgY2h1bmsgb2YgYVN0cmVhbSkge1xuICAgIGNvbnN0IGNob2ljZSA9IGNodW5rPy5jaG9pY2VzWzBdXG4gICAgaWYgKCFjaG9pY2UpIHJldHVybiBudWxsXG5cbiAgICBjb25zdCB7IGZpbmlzaF9yZWFzb24sIGRlbHRhIH0gPSBjaG9pY2VcblxuICAgIGlmIChmaW5pc2hfcmVhc29uICE9PSAndG9vbF9jYWxscycpIHJldHVybiBudWxsXG4gICAgaWYgKCFkZWx0YSkgY29udGludWVcblxuICAgIGlmIChkZWx0YS5jb250ZW50KSByZXRNZXNzYWdlLmNvbnRlbnQgKz0gZGVsdGEuY29udGVudFxuXG4gICAgaWYgKCEoJ3Rvb2xfY2FsbHMnIGluIGRlbHRhKSkgY29udGludWVcbiAgICBjb25zdCB0b29sQ2FsbCA9IGRlbHRhPy50b29sX2NhbGxzPy5bMF1cbiAgICBpZiAodG9vbENhbGw/LmlkKSByZXRUb29sQ2FsbC5pZCA9IHRvb2xDYWxsLmlkXG4gICAgaWYgKHRvb2xDYWxsPy50eXBlKSByZXRUb29sQ2FsbC50eXBlID0gdG9vbENhbGwudHlwZVxuICAgIGlmICh0b29sQ2FsbD8uZnVuY3Rpb24/Lm5hbWUpIHJldFRvb2xDYWxsLmZ1bmN0aW9uLm5hbWUgPSB0b29sQ2FsbC5mdW5jdGlvbi5uYW1lXG4gICAgaWYgKHRvb2xDYWxsPy5mdW5jdGlvbj8uYXJndW1lbnRzKSByZXRUb29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHMgKz0gdG9vbENhbGwuZnVuY3Rpb24uYXJndW1lbnRzXG5cbiAgICAvLyBUT0RPOiDkuI3lkIzlpKfmqKHlnovnmoQgc3RyZWFtIHVzYWdlIOagvOW8j+S4jeS4gOagt++8jOWQjue7reWPr+iDveimgeiwg+aVtC5cbiAgICAvLyBodW55dWFuIOavj+S4qiBjaHVuayDpg73kvJrmnIkgdXNhZ2XvvIzpgJDmraXlop7liqDvvIzku6XmnIDlkI7kuIDkuKrnmoTkuLrlh4Y7XG4gICAgLy8gemhpcHUg5pyA5ZCOIGNodW5rIOS8muaciSB1c2FnZTtcbiAgICBpZiAoY2h1bms/LnVzYWdlPy5jb21wbGV0aW9uX3Rva2Vucykgc3RlcFVzYWdlLmNvbXBsZXRpb25fdG9rZW5zID0gY2h1bmsudXNhZ2UuY29tcGxldGlvbl90b2tlbnNcbiAgICBpZiAoY2h1bms/LnVzYWdlPy5wcm9tcHRfdG9rZW5zKSBzdGVwVXNhZ2UucHJvbXB0X3Rva2VucyA9IGNodW5rLnVzYWdlLnByb21wdF90b2tlbnNcbiAgICBpZiAoY2h1bms/LnVzYWdlPy50b3RhbF90b2tlbnMpIHN0ZXBVc2FnZS50b3RhbF90b2tlbnMgPSBjaHVuay51c2FnZS50b3RhbF90b2tlbnNcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbWVzc2FnZTogcmV0TWVzc2FnZSxcbiAgICB1c2FnZTogc3RlcFVzYWdlLFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB0b29sTWFwID0gbmV3IE1hcDxzdHJpbmcsIENhbGxhYmxlRnVuY3Rpb24+KClcblxuZnVuY3Rpb24gY2FsbFRvb2wodG9vbENhbGw6IFRvb2xDYWxsKSB7XG4gIHJldHVybiB0b29sTWFwLmdldCh0b29sQ2FsbC5mdW5jdGlvbi5uYW1lKShKU09OLnBhcnNlKHRvb2xDYWxsLmZ1bmN0aW9uLmFyZ3VtZW50cykpXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVNvbGlkVXNhZ2UodXNhZ2U/OiBQYXJ0aWFsPFVzYWdlPik6IFVzYWdlIHtcbiAgcmV0dXJuIHtcbiAgICBjb21wbGV0aW9uX3Rva2VuczogdXNhZ2U/LmNvbXBsZXRpb25fdG9rZW5zID8/IDAsXG4gICAgcHJvbXB0X3Rva2VuczogdXNhZ2U/LnByb21wdF90b2tlbnMgPz8gMCxcbiAgICB0b3RhbF90b2tlbnM6IHVzYWdlPy50b3RhbF90b2tlbnMgPz8gMCxcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRUb1VzYWdlKHRhcmdldFVzYWdlOiBVc2FnZSwgc291cmNlVXNhZ2U6IFVzYWdlKSB7XG4gIHRhcmdldFVzYWdlLmNvbXBsZXRpb25fdG9rZW5zICs9IHNvdXJjZVVzYWdlLmNvbXBsZXRpb25fdG9rZW5zXG4gIHRhcmdldFVzYWdlLnByb21wdF90b2tlbnMgKz0gc291cmNlVXNhZ2UucHJvbXB0X3Rva2Vuc1xuICB0YXJnZXRVc2FnZS50b3RhbF90b2tlbnMgKz0gc291cmNlVXNhZ2UudG90YWxfdG9rZW5zXG59XG4iXX0=
@@ -108,4 +108,83 @@ export interface BaseDoStreamOutputChunk {
108
108
  }>;
109
109
  usage?: Usage;
110
110
  }
111
+ export interface ImageGenerateInput {
112
+ model: string;
113
+ prompt: string;
114
+ size?: string;
115
+ n?: number;
116
+ [key: string]: unknown;
117
+ }
118
+ export interface ImageEditInput {
119
+ model: string;
120
+ prompt: string;
121
+ size?: string;
122
+ n?: number;
123
+ [key: string]: unknown;
124
+ }
125
+ export interface HunyuanGenerateImageInput {
126
+ model: 'hunyuan-image';
127
+ prompt: string;
128
+ version?: 'v1.8.1' | 'v1.9' | (string & {});
129
+ size?: string;
130
+ negative_prompt?: string;
131
+ style?: '古风二次元风格' | '都市二次元风格' | '悬疑风格' | '校园风格' | '都市异能风格' | (string & {});
132
+ revise?: boolean;
133
+ n?: number;
134
+ footnote?: string;
135
+ seed?: number;
136
+ }
137
+ export interface HunyuanARGenerateImageInput {
138
+ model: 'hunyuan-image-v3.0-v1.0.4' | 'hunyuan-image-v3.0-v1.0.1';
139
+ prompt: string;
140
+ size?: string;
141
+ seed?: number;
142
+ footnote?: string;
143
+ revise?: {
144
+ value: boolean;
145
+ };
146
+ enable_thinking?: {
147
+ value: boolean;
148
+ };
149
+ }
150
+ export interface HunyuanARGenerateImageOutput {
151
+ id: string;
152
+ created: number;
153
+ data: Array<{
154
+ url: string;
155
+ revised_prompt?: string;
156
+ }>;
157
+ }
158
+ export type HunyuanEditImageInput = {
159
+ model: 'hunyuan-image' | (string & {});
160
+ prompt: string;
161
+ version?: string;
162
+ size?: string;
163
+ n?: number;
164
+ seed?: number;
165
+ footnote?: string;
166
+ image?: string;
167
+ image_url?: string;
168
+ } & ({
169
+ mask: string;
170
+ mask_url?: never;
171
+ } | {
172
+ mask?: never;
173
+ mask_url: string;
174
+ });
175
+ export interface HunyuanGenerateImageOutput {
176
+ id: string;
177
+ created: number;
178
+ data: Array<{
179
+ url: string;
180
+ revised_prompt?: string;
181
+ }>;
182
+ }
183
+ export interface HunyuanEditImageOutput {
184
+ id: string;
185
+ created: number;
186
+ data: Array<{
187
+ url: string;
188
+ }>;
189
+ }
111
190
  export {};
package/dist/cjs/type.js CHANGED
@@ -7,4 +7,4 @@ var SimpleChatModel = (function () {
7
7
  return SimpleChatModel;
8
8
  }());
9
9
  exports.SimpleChatModel = SimpleChatModel;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBO0lBQUE7SUFJQSxDQUFDO0lBQUQsc0JBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQztBQUpxQiwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTaW1wbGVDaGF0TW9kZWwge1xuICBwdWJsaWMgYWJzdHJhY3QgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb0dlbmVyYXRlT3V0cHV0PlxuXG4gIHB1YmxpYyBhYnN0cmFjdCBkb1N0cmVhbShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD5cbn1cblxudHlwZSBSYXdSZXNwb25zZSA9IHsgcmF3UmVzcG9uc2U/OiBhbnkgfVxuXG5leHBvcnQgdHlwZSBEb0dlbmVyYXRlT3V0cHV0ID0gQmFzZURvR2VuZXJhdGVPdXRwdXQgJiBSYXdSZXNwb25zZVxuXG5leHBvcnQgdHlwZSBEb1N0cmVhbU91dHB1dCA9IEFzeW5jSXRlcmFibGVSZWFkYWJsZVN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIFJhd1Jlc3BvbnNlPlxuXG5leHBvcnQgdHlwZSBDaGF0TW9kZWxDb25zdHJ1Y3RvciA9IHR5cGVvZiBTaW1wbGVDaGF0TW9kZWxcblxuZXhwb3J0IHR5cGUgQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtPFQ+ID0gUmVhZGFibGVTdHJlYW08VD4gJiB7XG4gIFtTeW1ib2wuYXN5bmNJdGVyYXRvcl06ICgpID0+IHsgbmV4dCgpOiBQcm9taXNlPEl0ZXJhdG9yUmVzdWx0PFQ+PiB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsUmVxSW5wdXQge1xuICB1cmw6IHN0cmluZ1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBkYXRhPzogT2JqZWN0XG4gIHN0cmVhbT86IGJvb2xlYW4sXG4gIHRpbWVvdXQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgTW9kZWxSZXEgPSA8VCBleHRlbmRzIElNb2RlbFJlcUlucHV0PihcbiAgcHJvcHM6IFQsXG4pID0+IFRbJ3N0cmVhbSddIGV4dGVuZHMgdHJ1ZSA/IFByb21pc2U8UmVhZGFibGVTdHJlYW08VWludDhBcnJheT4+IDogUHJvbWlzZTxPYmplY3Q+XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJvdFJlcUlucHV0IHtcbiAgdXJsOiBzdHJpbmdcbiAgbWV0aG9kOiBzdHJpbmdcbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgZGF0YT86IE9iamVjdFxuICBzdHJlYW0/OiBib29sZWFuXG4gIHRpbWVvdXQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXFPcHRpb25zIHtcbiAgdGltZW91dD86IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBCb3RSZXEgPSA8VCBleHRlbmRzIElCb3RSZXFJbnB1dD4oXG4gIHByb3BzOiBULFxuKSA9PiBUWydzdHJlYW0nXSBleHRlbmRzIHRydWUgPyBQcm9taXNlPFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+PiA6IFByb21pc2U8T2JqZWN0PlxuXG5leHBvcnQgdHlwZSBVc2VyTWVzc2FnZSA9IHtcbiAgcm9sZTogJ3VzZXInXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTeXN0ZW1NZXNzYWdlID0ge1xuICByb2xlOiAnc3lzdGVtJ1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQXNzaXN0YW50TWVzc2FnZSA9IFBsYWluQXNzaXN0YW50TWVzc2FnZSB8IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZVxuXG5leHBvcnQgdHlwZSBQbGFpbkFzc2lzdGFudE1lc3NhZ2UgPSB7XG4gIHJvbGU6ICdhc3Npc3RhbnQnXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UgPSB7XG4gIHJvbGU6ICdhc3Npc3RhbnQnXG4gIHRvb2xfY2FsbHM6IEFycmF5PFRvb2xDYWxsPlxuICBjb250ZW50Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFRvb2xNZXNzYWdlID0ge1xuICByb2xlOiAndG9vbCdcbiAgdG9vbF9jYWxsX2lkOiBzdHJpbmdcbiAgY29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNb2RlbE1lc3NhZ2UgPSBVc2VyTWVzc2FnZSB8IFN5c3RlbU1lc3NhZ2UgfCBBc3Npc3RhbnRNZXNzYWdlIHwgVG9vbE1lc3NhZ2VcblxuZXhwb3J0IHR5cGUgRnVuY3Rpb25Ub29sID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBmbjogQ2FsbGFibGVGdW5jdGlvblxuICBwYXJhbWV0ZXJzOiBvYmplY3Rcbn1cblxuLy8gI3JlZ2lvbiDlpKfmqKHlnovmoIflh4bovpPlhaXnsbvlnotcbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUNoYXRNb2RlbElucHV0IHtcbiAgbW9kZWw6IHN0cmluZ1xuICBtZXNzYWdlczogQXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT5cbiAgdGVtcGVyYXR1cmU/OiBudW1iZXJcbiAgdG9wX3A/OiBudW1iZXJcbiAgdG9vbHM/OiBBcnJheTxNb2RlbFRvb2w+XG4gIHRvb2xfY2hvaWNlPzogJ25vbmUnIHwgJ2F1dG8nIHwgJ2N1c3RvbSdcbn1cblxuLyoqXG4gKiDnu5kgTExNIOWPkeivt+axguaXtuimgeS8oOeahOW3peWFt1xuICovXG5leHBvcnQgdHlwZSBNb2RlbFRvb2wgPSB7XG4gIHR5cGU6IHN0cmluZ1xuICBmdW5jdGlvbjogTW9kZWxUb29sRnVuY3Rpb25cbn1cblxuLyoqXG4gKiDnu5kgTExNIOWPkeivt+axguaXtuimgeS8oOeahOW3peWFt+WHveaVsFxuICovXG5leHBvcnQgdHlwZSBNb2RlbFRvb2xGdW5jdGlvbiA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqXG4gICAqIOaPj+i/sOWHveaVsOWPguaVsOeahCBKU09OIFNjaGVtYVxuICAgKi9cbiAgcGFyYW1ldGVyczogb2JqZWN0XG59XG4vLyAjZW5kcmVnaW9uXG5cbi8vICNyZWdpb24g5aSn5qih5Z6L5qCH5YeG5ZON5bqU57G75Z6LXG5leHBvcnQgdHlwZSBUb29sQ2FsbCA9IHtcbiAgaWQ6IHN0cmluZ1xuICB0eXBlOiBzdHJpbmdcbiAgZnVuY3Rpb246IHsgbmFtZTogc3RyaW5nOyBhcmd1bWVudHM6IHN0cmluZyB9XG59XG5cbnR5cGUgRmluaXNoUmVhc29uID0gJ3Rvb2xfY2FsbHMnIHwgKHN0cmluZyAmIHt9KVxuXG5leHBvcnQgdHlwZSBVc2FnZSA9IHtcbiAgY29tcGxldGlvbl90b2tlbnM6IG51bWJlclxuICBwcm9tcHRfdG9rZW5zOiBudW1iZXJcbiAgdG90YWxfdG9rZW5zOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRG9HZW5lcmF0ZU91dHB1dCB7XG4gIGNob2ljZXM/OiBBcnJheTx7XG4gICAgZmluaXNoX3JlYXNvbj86IEZpbmlzaFJlYXNvblxuICAgIG1lc3NhZ2U/OiBDaGF0TW9kZWxNZXNzYWdlXG4gIH0+XG4gIHVzYWdlPzogVXNhZ2Vcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayB7XG4gIGNob2ljZXM/OiBBcnJheTx7XG4gICAgZmluaXNoX3JlYXNvbj86IEZpbmlzaFJlYXNvblxuICAgIGRlbHRhPzogQ2hhdE1vZGVsTWVzc2FnZVxuICB9PlxuICB1c2FnZT86IFVzYWdlXG59XG4vLyAjZW5kcmVnaW9uXG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBO0lBQUE7SUFJQSxDQUFDO0lBQUQsc0JBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQztBQUpxQiwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTaW1wbGVDaGF0TW9kZWwge1xuICBwdWJsaWMgYWJzdHJhY3QgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb0dlbmVyYXRlT3V0cHV0PlxuXG4gIHB1YmxpYyBhYnN0cmFjdCBkb1N0cmVhbShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD5cbn1cblxudHlwZSBSYXdSZXNwb25zZSA9IHsgcmF3UmVzcG9uc2U/OiBhbnkgfVxuXG5leHBvcnQgdHlwZSBEb0dlbmVyYXRlT3V0cHV0ID0gQmFzZURvR2VuZXJhdGVPdXRwdXQgJiBSYXdSZXNwb25zZVxuXG5leHBvcnQgdHlwZSBEb1N0cmVhbU91dHB1dCA9IEFzeW5jSXRlcmFibGVSZWFkYWJsZVN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIFJhd1Jlc3BvbnNlPlxuXG5leHBvcnQgdHlwZSBDaGF0TW9kZWxDb25zdHJ1Y3RvciA9IHR5cGVvZiBTaW1wbGVDaGF0TW9kZWxcblxuZXhwb3J0IHR5cGUgQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtPFQ+ID0gUmVhZGFibGVTdHJlYW08VD4gJiB7XG4gIFtTeW1ib2wuYXN5bmNJdGVyYXRvcl06ICgpID0+IHsgbmV4dCgpOiBQcm9taXNlPEl0ZXJhdG9yUmVzdWx0PFQ+PiB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsUmVxSW5wdXQge1xuICB1cmw6IHN0cmluZ1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBkYXRhPzogT2JqZWN0XG4gIHN0cmVhbT86IGJvb2xlYW5cbiAgdGltZW91dD86IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBNb2RlbFJlcSA9IDxUIGV4dGVuZHMgSU1vZGVsUmVxSW5wdXQ+KFxuICBwcm9wczogVCxcbikgPT4gVFsnc3RyZWFtJ10gZXh0ZW5kcyB0cnVlID8gUHJvbWlzZTxSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5Pj4gOiBQcm9taXNlPE9iamVjdD5cblxuZXhwb3J0IGludGVyZmFjZSBJQm90UmVxSW5wdXQge1xuICB1cmw6IHN0cmluZ1xuICBtZXRob2Q6IHN0cmluZ1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBkYXRhPzogT2JqZWN0XG4gIHN0cmVhbT86IGJvb2xlYW5cbiAgdGltZW91dD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcU9wdGlvbnMge1xuICB0aW1lb3V0PzogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIEJvdFJlcSA9IDxUIGV4dGVuZHMgSUJvdFJlcUlucHV0PihcbiAgcHJvcHM6IFQsXG4pID0+IFRbJ3N0cmVhbSddIGV4dGVuZHMgdHJ1ZSA/IFByb21pc2U8UmVhZGFibGVTdHJlYW08VWludDhBcnJheT4+IDogUHJvbWlzZTxPYmplY3Q+XG5cbmV4cG9ydCB0eXBlIFVzZXJNZXNzYWdlID0ge1xuICByb2xlOiAndXNlcidcbiAgY29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFN5c3RlbU1lc3NhZ2UgPSB7XG4gIHJvbGU6ICdzeXN0ZW0nXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBBc3Npc3RhbnRNZXNzYWdlID0gUGxhaW5Bc3Npc3RhbnRNZXNzYWdlIHwgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlXG5cbmV4cG9ydCB0eXBlIFBsYWluQXNzaXN0YW50TWVzc2FnZSA9IHtcbiAgcm9sZTogJ2Fzc2lzdGFudCdcbiAgY29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSA9IHtcbiAgcm9sZTogJ2Fzc2lzdGFudCdcbiAgdG9vbF9jYWxsczogQXJyYXk8VG9vbENhbGw+XG4gIGNvbnRlbnQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVG9vbE1lc3NhZ2UgPSB7XG4gIHJvbGU6ICd0b29sJ1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdE1vZGVsTWVzc2FnZSA9IFVzZXJNZXNzYWdlIHwgU3lzdGVtTWVzc2FnZSB8IEFzc2lzdGFudE1lc3NhZ2UgfCBUb29sTWVzc2FnZVxuXG5leHBvcnQgdHlwZSBGdW5jdGlvblRvb2wgPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIGZuOiBDYWxsYWJsZUZ1bmN0aW9uXG4gIHBhcmFtZXRlcnM6IG9iamVjdFxufVxuXG4vLyAjcmVnaW9uIOWkp+aooeWei+agh+WHhui+k+WFpeexu+Wei1xuZXhwb3J0IGludGVyZmFjZSBCYXNlQ2hhdE1vZGVsSW5wdXQge1xuICBtb2RlbDogc3RyaW5nXG4gIG1lc3NhZ2VzOiBBcnJheTxDaGF0TW9kZWxNZXNzYWdlPlxuICB0ZW1wZXJhdHVyZT86IG51bWJlclxuICB0b3BfcD86IG51bWJlclxuICB0b29scz86IEFycmF5PE1vZGVsVG9vbD5cbiAgdG9vbF9jaG9pY2U/OiAnbm9uZScgfCAnYXV0bycgfCAnY3VzdG9tJ1xufVxuXG4vKipcbiAqIOe7mSBMTE0g5Y+R6K+35rGC5pe26KaB5Lyg55qE5bel5YW3XG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsVG9vbCA9IHtcbiAgdHlwZTogc3RyaW5nXG4gIGZ1bmN0aW9uOiBNb2RlbFRvb2xGdW5jdGlvblxufVxuXG4vKipcbiAqIOe7mSBMTE0g5Y+R6K+35rGC5pe26KaB5Lyg55qE5bel5YW35Ye95pWwXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsVG9vbEZ1bmN0aW9uID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKipcbiAgICog5o+P6L+w5Ye95pWw5Y+C5pWw55qEIEpTT04gU2NoZW1hXG4gICAqL1xuICBwYXJhbWV0ZXJzOiBvYmplY3Rcbn1cbi8vICNlbmRyZWdpb25cblxuLy8gI3JlZ2lvbiDlpKfmqKHlnovmoIflh4blk43lupTnsbvlnotcbmV4cG9ydCB0eXBlIFRvb2xDYWxsID0ge1xuICBpZDogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBmdW5jdGlvbjogeyBuYW1lOiBzdHJpbmc7IGFyZ3VtZW50czogc3RyaW5nIH1cbn1cblxudHlwZSBGaW5pc2hSZWFzb24gPSAndG9vbF9jYWxscycgfCAoc3RyaW5nICYge30pXG5cbmV4cG9ydCB0eXBlIFVzYWdlID0ge1xuICBjb21wbGV0aW9uX3Rva2VuczogbnVtYmVyXG4gIHByb21wdF90b2tlbnM6IG51bWJlclxuICB0b3RhbF90b2tlbnM6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEb0dlbmVyYXRlT3V0cHV0IHtcbiAgY2hvaWNlcz86IEFycmF5PHtcbiAgICBmaW5pc2hfcmVhc29uPzogRmluaXNoUmVhc29uXG4gICAgbWVzc2FnZT86IENoYXRNb2RlbE1lc3NhZ2VcbiAgfT5cbiAgdXNhZ2U/OiBVc2FnZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEb1N0cmVhbU91dHB1dENodW5rIHtcbiAgY2hvaWNlcz86IEFycmF5PHtcbiAgICBmaW5pc2hfcmVhc29uPzogRmluaXNoUmVhc29uXG4gICAgZGVsdGE/OiBDaGF0TW9kZWxNZXNzYWdlXG4gIH0+XG4gIHVzYWdlPzogVXNhZ2Vcbn1cbi8vICNlbmRyZWdpb25cblxuLy8gI3JlZ2lvbiBJbWFnZSBNb2RlbCBUeXBlc1xuLyoqXG4gKiDlm77niYfnlJ/miJDovpPlhaXlj4LmlbBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZUdlbmVyYXRlSW5wdXQge1xuICBtb2RlbDogc3RyaW5nIC8vIOaooeWei+WQjeensO+8jOS+i+WmgiAnaHVueXVhbi1pbWFnZSfjgIEnZGFsbC1lLTMnXG4gIHByb21wdDogc3RyaW5nIC8vIOeUqOS6juaPj+i/sOimgeeUn+aIkOeahOWbvueJh+WGheWuuVxuICBzaXplPzogc3RyaW5nIC8vIOWwuuWvuFxuICBuPzogbnVtYmVyIC8vIOW8oOaVsFxuICBba2V5OiBzdHJpbmddOiB1bmtub3duIC8vIOWFgeiuuOmineWklueahOWOguWVhueJueWumuWPguaVsFxufVxuXG4vKipcbiAqIOWbvueJh+e8lui+kei+k+WFpeWPguaVsFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRWRpdElucHV0IHtcbiAgbW9kZWw6IHN0cmluZ1xuICBwcm9tcHQ6IHN0cmluZ1xuICBzaXplPzogc3RyaW5nIC8vIOWwuuWvuFxuICBuPzogbnVtYmVyIC8vIOW8oOaVsFxuICBba2V5OiBzdHJpbmddOiB1bmtub3duIC8vIOWFgeiuuOmineWklueahOWOguWVhueJueWumuWPguaVsFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEh1bnl1YW5HZW5lcmF0ZUltYWdlSW5wdXQge1xuICBtb2RlbDogJ2h1bnl1YW4taW1hZ2UnXG4gIC8qKiDnlKjmnaXnlJ/miJDlm77lg4/nmoTmlofmnKzmj4/ov7AgKi9cbiAgcHJvbXB0OiBzdHJpbmdcbiAgLyoqXG4gICAqIOaooeWei+eJiOacrO+8jOaUr+aMgSB2MS44LjEg5ZKMIHYxLjnvvIzpu5jorqTniYjmnKwgdjEuOC4xXG4gICAqIC0gdjEuOC4xOiDph4fnlKjkuozpmLbmrrXmqKHlnovmlK/mjIHmlofnlJ/lm77ku7vliqHvvIzpkojlr7nlm77lg4/nu4boioLjgIHnqLPlrprmgKfnrYnopoHmsYLpq5jnmoTku7vliqHovoPkuLrlkIjpgIJcbiAgICogLSB2MS45OiDph4fnlKjmqKHlnovnn6npmLXog73lipvmlK/mjIHmlofnlJ/lm77ku7vliqHvvIzlkI7nq6/nlLHkurrlg4/jgIHmuLjmiI/jgIHpgJrnlKjmqKHlnovvvIzku6Xlj4rlkITnsbvlip/og73mj5Lku7bnu4TmiJDvvIzngbXmtLvpgILphY3lpJrnp43mlofnlJ/lm77ku7vliqFcbiAgICovXG4gIHZlcnNpb24/OiAndjEuOC4xJyB8ICd2MS45JyB8IChzdHJpbmcgJiB7fSlcbiAgLyoqXG4gICAqIOWbvueJh+WwuuWvuO+8jOm7mOiupCBcIjEwMjR4MTAyNFwiXG4gICAqIHYxLjkg5LuF5pSv5oyB5Lul5LiL5Yeg5Liq5bC65a+477yaXG4gICAqIC0gMTAyNHgxMDI0XG4gICAqIC0gMTAyNHg3NjgsIDExNTJ4ODY0XG4gICAqIC0gNzY4eDEwMjQsIDg2NHgxMTUyXG4gICAqIC0gMTI4MHg3NjggKDE2OjkpXG4gICAqIC0gNzY4eDEyODAgKDk6MTYpXG4gICAqIC0gMTI4MHg3MjAgKDE2OjkpXG4gICAqIC0gNzIweDEyODAgKDk6MTYpXG4gICAqXG4gICAqIOaUr+aMgeeUqOaIt+iHquWumuS5ieWwuuWvuO+8jOS9hui+k+WFpeWwuuWvuOWPquaUr+aMgSA3NjgtMTI4MCDkuYvpl7TkuJTkuLogNjQg55qE5YCN5pWw55qE5pWw5a2XXG4gICAqL1xuICBzaXplPzogc3RyaW5nXG4gIC8qKlxuICAgKiDku4UgdjEuOSDmlK/mjIHvvIzotJ/lkJHor41cbiAgICog5aaC5p6c5LiN5Lyg5YiZ5L2/55So5ZCE5Liq5qih5Z6L5YaF6YOo55qE6buY6K6k6LSf5ZCR6K+NXG4gICAqL1xuICBuZWdhdGl2ZV9wcm9tcHQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOS7hSB2MS45IOaUr+aMge+8jOWPr+aMh+WumumjjuagvO+8mlxuICAgKiAtIOWPpOmjjuS6jOasoeWFg+mjjuagvFxuICAgKiAtIOmDveW4guS6jOasoeWFg+mjjuagvFxuICAgKiAtIOaCrOeWkemjjuagvFxuICAgKiAtIOagoeWbremjjuagvFxuICAgKiAtIOmDveW4guW8guiDvemjjuagvFxuICAgKi9cbiAgc3R5bGU/OiAn5Y+k6aOO5LqM5qyh5YWD6aOO5qC8JyB8ICfpg73luILkuozmrKHlhYPpo47moLwnIHwgJ+aCrOeWkemjjuagvCcgfCAn5qCh5Zut6aOO5qC8JyB8ICfpg73luILlvILog73po47moLwnIHwgKHN0cmluZyAmIHt9KVxuICAvKipcbiAgICog5Li6IHRydWUg5pe25a+5IHByb21wdCDov5vooYzmlLnlhpnvvIzlrp7pmYXnlJ/miJDnmoTlm77niYfkvJrkvb/nlKjmlLnlhpnlkI7nmoQgcHJvbXB0IOi/m+ihjOeUn+aIkFxuICAgKiDlpJrmlbDlnLrmma/lj6/mj5DljYfnlJ/miJDnmoTlm77niYfmlYjmnpzvvIzpu5jorqTkuLogdHJ1ZVxuICAgKi9cbiAgcmV2aXNlPzogYm9vbGVhblxuICAvKipcbiAgICog55Sf5oiQ5Zu+54mH5Liq5pWw77yM6buY6K6k5Li6IDFcbiAgICog55uu5YmN5Y+q5pSv5oyB55Sf5oiQ5LiA5byg77yM5Zu65a6a5Li6IDHvvIzkvKDlhbbku5bnmoTlgLzkvJrmiqXplJlcbiAgICovXG4gIG4/OiBudW1iZXJcbiAgLyoqXG4gICAqIOS4muWKoeiHquWumuS5ieawtOWNsOWGheWuuVxuICAgKiDpmZDliLYgMTYg5Liq5a2X56ym6ZW/5bqm77yI5LiN5Yy65YiG5Lit6Iux5paH77yJ77yM55Sf5oiQ5Zyo5Zu+54mH5Y+z5LiL6KeSXG4gICAqL1xuICBmb290bm90ZT86IHN0cmluZ1xuICAvKipcbiAgICog55Sf5oiQ56eN5a2Q77yM5LuF5b2T55Sf5oiQ5Zu+54mH5pWw5Li6IDEg5pe255Sf5pWIXG4gICAqIOiMg+WbtCBbMSwgNDI5NDk2NzI5NV3vvIzkuI3kvKDml7bpu5jorqTpmo/mnLpcbiAgICovXG4gIHNlZWQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdW55dWFuQVJHZW5lcmF0ZUltYWdlSW5wdXQge1xuICAvKiog5qih5Z6L5ZCN56ew77yaaHVueXVhbi1pbWFnZS12My4wLXYxLjAuNO+8iOaOqOiNkO+8ieaIliBodW55dWFuLWltYWdlLXYzLjAtdjEuMC4xICovXG4gIG1vZGVsOiAnaHVueXVhbi1pbWFnZS12My4wLXYxLjAuNCcgfCAnaHVueXVhbi1pbWFnZS12My4wLXYxLjAuMSdcbiAgLyoqIOeUn+aIkOWbvueJh+S9v+eUqOeahOaWh+acrO+8jOS4jei2hei/hyA4MTkyIOWtl+espiAqL1xuICBwcm9tcHQ6IHN0cmluZ1xuICAvKipcbiAgICog5Zu+54mH5bC65a+477yM5qC85byPIFwiJHvlrr19eCR76auYfVwi77yM6buY6K6kIFwiMTAyNHgxMDI0XCJcbiAgICogaHVueXVhbi1pbWFnZS12My4wLXYxLjAuNO+8muWuvemrmCBbNTEyLCAyMDQ4Xe+8jOmdouenr+S4jei2hei/hyAxMDI0eDEwMjRcbiAgICogaHVueXVhbi1pbWFnZS12My4wLXYxLjAuMe+8muaUr+aMgeWbuuWumuWwuuWvuOWIl+ihqFxuICAgKi9cbiAgc2l6ZT86IHN0cmluZ1xuICAvKiog55Sf5oiQ56eN5a2Q77yM5LuF5b2T55Sf5oiQ5Zu+54mH5pWw5Li6IDEg5pe255Sf5pWI77yM6IyD5Zu0IFsxLCA0Mjk0OTY3Mjk1XSAqL1xuICBzZWVkPzogbnVtYmVyXG4gIC8qKiDkuJrliqHoh6rlrprkuYnmsLTljbDlhoXlrrnvvIzpmZDliLYgMTYg5a2X56ym77yM55Sf5oiQ5Zyo5Zu+54mH5Y+z5LiL6KeSICovXG4gIGZvb3Rub3RlPzogc3RyaW5nXG4gIC8qKiDmmK/lkKblr7kgcHJvbXB0IOaUueWGme+8jOm7mOiupOW8gOWQr+OAguaUueWGmeS8muWinuWKoOe6piAzMHMg6ICX5pe2ICovXG4gIHJldmlzZT86IHsgdmFsdWU6IGJvb2xlYW4gfVxuICAvKiog5pS55YaZ5piv5ZCm5byA5ZCvIHRoaW5raW5nIOaooeW8j++8jOm7mOiupOW8gOWQr+OAguW8gOWQr+WQjuaViOaenOaPkOWNh+S9huiAl+aXtuWinuWKoO+8iOacgOWkpyA2MHPvvIkgKi9cbiAgZW5hYmxlX3RoaW5raW5nPzogeyB2YWx1ZTogYm9vbGVhbiB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHVueXVhbkFSR2VuZXJhdGVJbWFnZU91dHB1dCB7XG4gIC8qKiDmraTmrKHor7fmsYLnmoQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogdW5peCDml7bpl7TmiLMgKi9cbiAgY3JlYXRlZDogbnVtYmVyXG4gIC8qKiDov5Tlm57nmoTlm77niYfnlJ/miJDlhoXlrrkgKi9cbiAgZGF0YTogQXJyYXk8e1xuICAgIC8qKiDnlJ/miJDnmoTlm77niYcgdXJs77yM5pyJ5pWI5pyfIDI0IOWwj+aXtiAqL1xuICAgIHVybDogc3RyaW5nXG4gICAgLyoqIOaUueWGmeWQjueahCBwcm9tcHQgKi9cbiAgICByZXZpc2VkX3Byb21wdD86IHN0cmluZ1xuICB9PlxufVxuXG5leHBvcnQgdHlwZSBIdW55dWFuRWRpdEltYWdlSW5wdXQgPSB7XG4gIC8qKiDmqKHlnovlkI3np7DvvIzmnKzmnJ/kuLogaHVueXVhbi1pbWFnZe+8jOWNs+S4uuWVhuWTgeWbvue8lui+keWcuuaZryAqL1xuICBtb2RlbDogJ2h1bnl1YW4taW1hZ2UnIHwgKHN0cmluZyAmIHt9KVxuICAvKiog57yW6L6R55qE5paH5pys5o+P6L+wICovXG4gIHByb21wdDogc3RyaW5nXG4gIC8qKiDmqKHlnovniYjmnKwgKi9cbiAgdmVyc2lvbj86IHN0cmluZ1xuICAvKipcbiAgICog5Zu+54mH5bC65a+477yM6buY6K6kIFwiODAweDgwMFwiXG4gICAqIOaUr+aMgeeUqOaIt+iHquWumuS5ieWwuuWvuO+8jOS9hui+k+WFpeWwuuWvuOWPquaUr+aMgSA1MTItMTI4MCDkuYvpl7RcbiAgICog55uu5YmN5Y+q5pSv5oyBIDE6MeOAgTE2OjnjgIE5OjE2IOS4ieS4quWwuuWvuFxuICAgKi9cbiAgc2l6ZT86IHN0cmluZ1xuICAvKipcbiAgICog55Sf5oiQ5Zu+54mH5Liq5pWw77yM6buY6K6k5Li6IDFcbiAgICog55uu5YmN5Y+q5pSv5oyB55Sf5oiQ5LiA5byg77yM5Zu65a6a5Li6IDHvvIzkvKDlhbbku5bnmoTlgLzkvJrmiqXplJlcbiAgICovXG4gIG4/OiBudW1iZXJcbiAgLyoqXG4gICAqIGJldGEg5Y+C5pWw77yM6ZqP5py656eN5a2QXG4gICAqIOiMg+WbtCBbMSwgNDI5NDk2NzI5NV3vvIzkuI3kvKDml7bpu5jorqTpmo/mnLpcbiAgICovXG4gIHNlZWQ/OiBudW1iZXJcbiAgLyoqXG4gICAqIOS4muWKoeiHquWumuS5ieinkuagh+WGheWuuVxuICAgKiDpmZDliLYgMTYg5Liq5a2X56ym6ZW/5bqm77yI5LiN5Yy65YiG5Lit6Iux5paH77yJXG4gICAqL1xuICBmb290bm90ZT86IHN0cmluZ1xuICAvKipcbiAgICog5Zu+IGJhc2U2NCDnvJbnoIHvvIzlpKflsI/kuI3otoXov4cgNk1cbiAgICog5pSv5oyBIGpwZy9qcGVnIOagvOW8j++8jOWSjCBpbWFnZV91cmwg5LqM6YCJ5LiAXG4gICAqIOmVv+efrei+ueavlOS+i+imgeaxgiAyOjEg5YaFXG4gICAqL1xuICBpbWFnZT86IHN0cmluZ1xuICAvKipcbiAgICog5Zu+54mHIHVybFxuICAgKiDplb/nn63ovrnmr5TkvovopoHmsYIgMjoxIOWGhe+8jOWSjCBpbWFnZSDkuozpgInkuIBcbiAgICovXG4gIGltYWdlX3VybD86IHN0cmluZ1xufSAmIChcbiAgfCB7XG4gICAgbWFzazogc3RyaW5nXG4gICAgbWFza191cmw/OiBuZXZlclxuICB9XG4gIHwge1xuICAgIG1hc2s/OiBuZXZlclxuICAgIG1hc2tfdXJsOiBzdHJpbmdcbiAgfVxuKVxuXG4vKipcbiAqIOa3t+WFg+WbvueJh+eUn+aIkOi+k+WHulxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh1bnl1YW5HZW5lcmF0ZUltYWdlT3V0cHV0IHtcbiAgLyoqIOatpOasoeivt+axgueahCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB1bml4IOaXtumXtOaIsyAqL1xuICBjcmVhdGVkOiBudW1iZXJcbiAgLyoqIOi/lOWbnueahOWbvueJh+eUn+aIkOWGheWuuSAqL1xuICBkYXRhOiBBcnJheTx7XG4gICAgLyoqIOeUn+aIkOeahOWbvueJhyB1cmzvvIzmnInmlYjmnJ/kuLogMjQg5bCP5pe2ICovXG4gICAgdXJsOiBzdHJpbmdcbiAgICAvKiog5Y6fIHByb21wdCDmlLnlhpnlkI7nmoTmlofmnKzjgILoi6UgcmV2aXNlIOS4uiBmYWxzZe+8jOWImeS4uuWOnyBwcm9tcHQgKi9cbiAgICByZXZpc2VkX3Byb21wdD86IHN0cmluZ1xuICB9PlxufVxuXG4vKipcbiAqIOa3t+WFg+WbvueJh+e8lui+kei+k+WHulxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh1bnl1YW5FZGl0SW1hZ2VPdXRwdXQge1xuICAvKiog5q2k5qyh6K+35rGC55qEIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIHVuaXgg5pe26Ze05oizICovXG4gIGNyZWF0ZWQ6IG51bWJlclxuICAvKiog6L+U5Zue55qE5Zu+54mH55Sf5oiQ5YaF5a65ICovXG4gIGRhdGE6IEFycmF5PHtcbiAgICAvKiog55Sf5oiQ55qE5Zu+54mHIHVybO+8jOacieaViOacn+S4uiAyNCDlsI/ml7YgKi9cbiAgICB1cmw6IHN0cmluZ1xuICB9PlxufVxuXG4vLyAjZW5kcmVnaW9uXG4iXX0=