@cloudbase/ai 2.12.0 → 2.13.0

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.
package/dist/esm/AI.js CHANGED
@@ -153,11 +153,11 @@ function handleResponseData(responseData, header) {
153
153
  return __generator(this, function (_c) {
154
154
  switch (_c.label) {
155
155
  case 0:
156
- if (!('then' in responseData)) return [3, 2];
156
+ if (!(typeof responseData === 'object' && responseData && 'then' in responseData)) return [3, 2];
157
157
  return [4, responseData];
158
158
  case 1:
159
159
  json = (_c.sent());
160
- if ('code' in json && json.code !== 'NORMAL') {
160
+ if (typeof json === 'object' && json && 'code' in json && json.code !== 'NORMAL') {
161
161
  throw new Error("AI+ \u8BF7\u6C42\u51FA\u9519\uFF0C\u9519\u8BEF\u7801\uFF1A".concat(json.code, "\uFF0C\u9519\u8BEF\u4FE1\u606F\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
162
162
  }
163
163
  return [2, responseData];
@@ -166,7 +166,7 @@ function handleResponseData(responseData, header) {
166
166
  return [4, readableStream2JsonObject(responseData)];
167
167
  case 3:
168
168
  json = _c.sent();
169
- if ('code' in json && json.code !== 'NORMAL') {
169
+ if (typeof json === 'object' && json && 'code' in json && json.code !== 'NORMAL') {
170
170
  throw new Error("AI+ \u8BF7\u6C42\u51FA\u9519\uFF0C\u9519\u8BEF\u7801\uFF1A".concat(json.code, "\uFF0C\u9519\u8BEF\u4FE1\u606F\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
171
171
  }
172
172
  _c.label = 4;
@@ -175,4 +175,4 @@ function handleResponseData(responseData, header) {
175
175
  });
176
176
  });
177
177
  }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUzQyxJQUFBLE1BQU0sR0FBSyxNQUFNLE9BQVgsQ0FBVztBQUV6QjtJQUtFLFlBQW9CLEdBQXdCLEVBQVMsT0FBZTtRQUFwRSxpQkFJQztRQUptQixRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFxQnBFLGlCQUFZLEdBQW1CLFVBQU8sRUFBdUM7Z0JBQXJDLEdBQUcsU0FBQSxFQUFFLElBQUksVUFBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLE1BQU0sWUFBQSxFQUFFLE9BQU8sYUFBQTs7Ozs7OzRCQUNuRSxZQUFZLEdBQUc7Z0NBQ25CLGNBQWMsRUFBRSxrQkFBa0I7NkJBQ25DLENBQUE7NEJBRUQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTs0QkFFOUIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQ0FDM0QsTUFBTSxFQUFFLE1BQU07b0NBQ2QsT0FBTyx3QkFBTyxZQUFZLEdBQUssT0FBTyxDQUFFO29DQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0NBQzFCLEdBQUcsS0FBQTtvQ0FDSCxNQUFNLFFBQUE7b0NBQ04sT0FBTyxTQUFBO2lDQUNSLENBQUMsRUFBQTs7NEJBUEksS0FBaUMsQ0FBQyxTQU90QyxDQUE4RSxFQVBsRSxZQUFZLFVB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QUFBLEVBQTNELGNBQTJEO29CQUNoRCxXQUFNLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxFQUFBOztvQkFBcEQsSUFBSSxHQUFHLFNBQTZDO29CQUMxRCxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7d0JBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQWdCLElBQUksQ0FBQyxJQUFJLGlEQUFTLElBQUksQ0FBQyxPQUFPLGVBQUssYUFBYSxlQUFLLElBQUksQ0FBQyxTQUFTLENBQ2pHLElBQUksRUFDSixJQUFJLEVBQ0osQ0FBQyxDQUNGLENBQUUsQ0FBRSxDQUFBO3FCQUNOOzt3QkFFSCxXQUFPLFlBQVksRUFBQTs7OztDQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU0RLUmVxdWVzdEludGVyZmFjZSB9IGZyb20gJ0BjbG91ZGJhc2UvYWRhcHRlci1pbnRlcmZhY2UnXG5pbXBvcnQgeyBCb3QgfSBmcm9tICcuL2JvdCdcbmltcG9ydCAqIGFzIG1vZGVscyBmcm9tICcuL21vZGVscydcbmltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4vdHlwZSdcbmltcG9ydCB7IHJlYWRhYmxlU3RyZWFtMkpzb25PYmplY3QgfSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCB7IE1PREVMUyB9ID0gbW9kZWxzXG5cbmNsYXNzIEFJIHtcbiAgcHVibGljIGFpQmFzZVVybDogc3RyaW5nXG4gIHB1YmxpYyBhaUJvdEJhc2VVcmw6IHN0cmluZ1xuICBwdWJsaWMgYm90OiBCb3RcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogU0RLUmVxdWVzdEludGVyZmFjZSwgcHVibGljIGJhc2VVcmw6IHN0cmluZykge1xuICAgIHRoaXMuYWlCYXNlVXJsID0gYCR7YmFzZVVybH0vYWlgXG4gICAgdGhpcy5haUJvdEJhc2VVcmwgPSBgJHtiYXNlVXJsfS9haWJvdGBcbiAgICB0aGlzLmJvdCA9IG5ldyBCb3QodGhpcy5ib3RSZXF1ZXN0LCB0aGlzLmFpQm90QmFzZVVybClcbiAgfVxuXG4gIGNyZWF0ZU1vZGVsPFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgTU9ERUxTPihtb2RlbDogVCkge1xuICAgIGNvbnN0IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IgPSBNT0RFTFNbbW9kZWxdXG4gICAgY29uc3Qgc2ltcGxlTW9kZWw6IHR5cGVzLlNpbXBsZUNoYXRNb2RlbCA9IG5ldyBTaW1wbGVNb2RlbENvbnN0cnVjdG9yKHRoaXMubW9kZWxSZXF1ZXN0LCB0aGlzLmFpQmFzZVVybClcbiAgICBjb25zdCByZWFjdE1vZGVsID0gbmV3IG1vZGVscy5SZWFjdE1vZGVsKHNpbXBsZU1vZGVsKVxuICAgIHJldHVybiByZWFjdE1vZGVsXG4gIH1cblxuICByZWdpc3Rlck1vZGVsKG5hbWU6IHN0cmluZywgbW9kZWw6IHR5cGVzLkNoYXRNb2RlbENvbnN0cnVjdG9yKSB7XG4gICAgaWYgKE1PREVMU1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEFJIG1vZGVsICR7bmFtZX0gYWxyZWFkeSBleGlzdHMhYClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBNT0RFTFNbbmFtZV0gPSBtb2RlbFxuICB9XG5cbiAgbW9kZWxSZXF1ZXN0OiB0eXBlcy5Nb2RlbFJlcSA9IGFzeW5jICh7IHVybCwgZGF0YSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGhlYWRlcnM6IHsgLi4uZmV0Y2hIZWFkZXJzLCAuLi5oZWFkZXJzIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIHVybCxcbiAgICAgIHN0cmVhbSxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuICB9XG5cbiAgYm90UmVxdWVzdDogdHlwZXMuQm90UmVxID0gYXN5bmMgKHsgbWV0aG9kLCB1cmwsIGRhdGEgPSB7fSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBpZiAobWV0aG9kID09PSAnZ2V0Jykge1xuICAgICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YSgoYXdhaXQgdGhpcy5yZXEuZmV0Y2goeyB1cmw6IGAke3VybH0/JHtvYmplY3RUb1BhcmFtKGRhdGEpfWAsIG1ldGhvZCwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pKS5kYXRhLClcbiAgICB9XG5cbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICB1cmwsXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uZmV0Y2hIZWFkZXJzLFxuICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbSxcbiAgICAgIG1ldGhvZCxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuXG4gICAgZnVuY3Rpb24gb2JqZWN0VG9QYXJhbShvYmo6IE9iamVjdCkge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcbiAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAgICAgLmpvaW4oJyYnKVxuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyRnVuY3Rpb25Ub29sKGZ1bmN0aW9uVG9vbDogdHlwZXMuRnVuY3Rpb25Ub29sKSB7XG4gICAgaWYgKG1vZGVscy50b29sTWFwLmhhcyhmdW5jdGlvblRvb2wubmFtZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgZnVuY3Rpb24gdG9vbCAke2Z1bmN0aW9uVG9vbC5uYW1lfSBhbHJlYWR5IGV4aXN0cyBhbmQgd2lsbCBiZSBvdmVyd3JpdHRlbiFgKVxuICAgIH1cbiAgICBtb2RlbHMudG9vbE1hcC5zZXQoZnVuY3Rpb25Ub29sLm5hbWUsIGZ1bmN0aW9uVG9vbC5mbilcbiAgfVxufVxuXG5leHBvcnQgeyBBSSB9XG5cbmNvbnN0IEdPX1RPX0FJX1RFWFQgPSAn6K+35qOA5p+l6LCD55So5pa55byP77yM5oiW5YmN5b6A5LqR5byA5Y+RIEFJKyDpppbpobXmn6XnnIvmlofmoaPvvJpodHRwczovL3RjYi5jbG91ZC50ZW5jZW50LmNvbS9kZXYjL2FpJ1xuXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4sIGhlYWRlcj86IEhlYWRlcnMpIHtcbiAgaWYgKCd0aGVuJyBpbiByZXNwb25zZURhdGEpIHtcbiAgICAvLyDpnZ7mtYHlvI/or7fmsYLvvIznm7TmjqXov5Tlm54ganNvbiDmlbDmja5cbiAgICBjb25zdCBqc29uID0gKGF3YWl0IHJlc3BvbnNlRGF0YSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICBpZiAoJ2NvZGUnIGluIGpzb24gJiYganNvbi5jb2RlICE9PSAnTk9STUFMJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBSSsg6K+35rGC5Ye66ZSZ77yM6ZSZ6K+v56CB77yaJHtqc29uLmNvZGV977yM6ZSZ6K+v5L+h5oGv77yaJHtqc29uLm1lc3NhZ2V9XFxuJHtHT19UT19BSV9URVhUfVxcbiR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGpzb24sXG4gICAgICAgIG51bGwsXG4gICAgICAgIDIsXG4gICAgICApfWAsKVxuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgfVxuICAvLyDmtYHlvI/or7fmsYLvvIzlpoLmnpzmjqXlj6Plh7rplJnvvIzkvJrlj5jmiJDkvKAganNvbiDmoLzlvI/nmoTlk43lupTvvIzpgJrov4cgaGVhZGVyIOWIpOaWreagvOW8j1xuICBpZiAoaGVhZGVyPy5nZXQ/LignY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdhcHBsaWNhdGlvbi9qc29uJykpIHtcbiAgICBjb25zdCBqc29uID0gYXdhaXQgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdChyZXNwb25zZURhdGEpXG4gICAgaWYgKCdjb2RlJyBpbiBqc29uICYmIGpzb24uY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQUkrIOivt+axguWHuumUme+8jOmUmeivr+egge+8miR7anNvbi5jb2Rlfe+8jOmUmeivr+S/oeaBr++8miR7anNvbi5tZXNzYWdlfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBqc29uLFxuICAgICAgICBudWxsLFxuICAgICAgICAyLFxuICAgICAgKX1gLClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3BvbnNlRGF0YVxufVxuIl19
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUzQyxJQUFBLE1BQU0sR0FBSyxNQUFNLE9BQVgsQ0FBVztBQUV6QjtJQUtFLFlBQW9CLEdBQXdCLEVBQVMsT0FBZTtRQUFwRSxpQkFJQztRQUptQixRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFxQnBFLGlCQUFZLEdBQW1CLFVBQU8sRUFBdUM7Z0JBQXJDLEdBQUcsU0FBQSxFQUFFLElBQUksVUFBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLE1BQU0sWUFBQSxFQUFFLE9BQU8sYUFBQTs7Ozs7OzRCQUNuRSxZQUFZLEdBQUc7Z0NBQ25CLGNBQWMsRUFBRSxrQkFBa0I7NkJBQ25DLENBQUE7NEJBRUQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTs0QkFFOUIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQ0FDM0QsTUFBTSxFQUFFLE1BQU07b0NBQ2QsT0FBTyx3QkFBTyxZQUFZLEdBQUssT0FBTyxDQUFFO29DQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0NBQzFCLEdBQUcsS0FBQTtvQ0FDSCxNQUFNLFFBQUE7b0NBQ04sT0FBTyxTQUFBO2lDQUNSLENBQUMsRUFBQTs7NEJBUEksS0FBaUMsQ0FBQyxTQU90QyxDQUE4RSxFQVBsRSxZQUFZLFVB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TUFBTSx1QkFBTixNQUFNLENBQUUsR0FBRyx1REFBRyxjQUFjLENBQUMsMENBQUUsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUEsRUFBM0QsY0FBMkQ7b0JBQ2hELFdBQU0seUJBQXlCLENBQUMsWUFBMEMsQ0FBQyxFQUFBOztvQkFBbEYsSUFBSSxHQUFHLFNBQTJFO29CQUN4RixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTt3QkFDaEYsTUFBTSxJQUFJLEtBQUssQ0FBQyxvRUFBZ0IsSUFBSSxDQUFDLElBQUksaURBQVMsSUFBSSxDQUFDLE9BQU8sZUFBSyxhQUFhLGVBQUssSUFBSSxDQUFDLFNBQVMsQ0FDakcsSUFBSSxFQUNKLElBQUksRUFDSixDQUFDLENBQ0YsQ0FBRSxDQUFFLENBQUE7cUJBQ047O3dCQUVILFdBQU8sWUFBWSxFQUFBOzs7O0NBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTREtSZXF1ZXN0SW50ZXJmYWNlIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7IEJvdCB9IGZyb20gJy4vYm90J1xuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gJy4vbW9kZWxzJ1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi90eXBlJ1xuaW1wb3J0IHsgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdCB9IGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IHsgTU9ERUxTIH0gPSBtb2RlbHNcblxuY2xhc3MgQUkge1xuICBwdWJsaWMgYWlCYXNlVXJsOiBzdHJpbmdcbiAgcHVibGljIGFpQm90QmFzZVVybDogc3RyaW5nXG4gIHB1YmxpYyBib3Q6IEJvdFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxOiBTREtSZXF1ZXN0SW50ZXJmYWNlLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5haUJhc2VVcmwgPSBgJHtiYXNlVXJsfS9haWBcbiAgICB0aGlzLmFpQm90QmFzZVVybCA9IGAke2Jhc2VVcmx9L2FpYm90YFxuICAgIHRoaXMuYm90ID0gbmV3IEJvdCh0aGlzLmJvdFJlcXVlc3QsIHRoaXMuYWlCb3RCYXNlVXJsKVxuICB9XG5cbiAgY3JlYXRlTW9kZWw8VCBleHRlbmRzIGtleW9mIHR5cGVvZiBNT0RFTFM+KG1vZGVsOiBUKSB7XG4gICAgY29uc3QgU2ltcGxlTW9kZWxDb25zdHJ1Y3RvciA9IE1PREVMU1ttb2RlbF1cbiAgICBjb25zdCBzaW1wbGVNb2RlbDogdHlwZXMuU2ltcGxlQ2hhdE1vZGVsID0gbmV3IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IodGhpcy5tb2RlbFJlcXVlc3QsIHRoaXMuYWlCYXNlVXJsKVxuICAgIGNvbnN0IHJlYWN0TW9kZWwgPSBuZXcgbW9kZWxzLlJlYWN0TW9kZWwoc2ltcGxlTW9kZWwpXG4gICAgcmV0dXJuIHJlYWN0TW9kZWxcbiAgfVxuXG4gIHJlZ2lzdGVyTW9kZWwobmFtZTogc3RyaW5nLCBtb2RlbDogdHlwZXMuQ2hhdE1vZGVsQ29uc3RydWN0b3IpIHtcbiAgICBpZiAoTU9ERUxTW25hbWVdICE9IG51bGwpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgbW9kZWwgJHtuYW1lfSBhbHJlYWR5IGV4aXN0cyFgKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIE1PREVMU1tuYW1lXSA9IG1vZGVsXG4gIH1cblxuICBtb2RlbFJlcXVlc3Q6IHR5cGVzLk1vZGVsUmVxID0gYXN5bmMgKHsgdXJsLCBkYXRhLCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkgPT4ge1xuICAgIGNvbnN0IGZldGNoSGVhZGVycyA9IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIC8vIOW4piBBY2NlcHQ6IHRleHQvZXZlbnQtc3RyZWFtICDor7fmsYLlpLTmmL7lvI/mjIflrprmmK8gU1NFIOe7lei/hyA2MHMg55qE6ZmQ5Yi2XG4gICAgc3RyZWFtICYmIE9iamVjdC5hc3NpZ24oZmV0Y2hIZWFkZXJzLCB7IEFjY2VwdDogJ3RleHQvZXZlbnQtc3RyZWFtJyB9KVxuXG4gICAgY29uc3QgeyBkYXRhOiByZXNwb25zZURhdGEsIGhlYWRlciB9ID0gKGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgaGVhZGVyczogeyAuLi5mZXRjaEhlYWRlcnMsIC4uLmhlYWRlcnMgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgdXJsLFxuICAgICAgc3RyZWFtLFxuICAgICAgdGltZW91dCxcbiAgICB9KSkgYXMgeyBkYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT47IGhlYWRlcj86IEhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG4gIH1cblxuICBib3RSZXF1ZXN0OiB0eXBlcy5Cb3RSZXEgPSBhc3luYyAoeyBtZXRob2QsIHVybCwgZGF0YSA9IHt9LCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkgPT4ge1xuICAgIGlmIChtZXRob2QgPT09ICdnZXQnKSB7XG4gICAgICByZXR1cm4gaGFuZGxlUmVzcG9uc2VEYXRhKChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7IHVybDogYCR7dXJsfT8ke29iamVjdFRvUGFyYW0oZGF0YSl9YCwgbWV0aG9kLCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkpLmRhdGEsKVxuICAgIH1cblxuICAgIGNvbnN0IGZldGNoSGVhZGVycyA9IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIC8vIOW4piBBY2NlcHQ6IHRleHQvZXZlbnQtc3RyZWFtICDor7fmsYLlpLTmmL7lvI/mjIflrprmmK8gU1NFIOe7lei/hyA2MHMg55qE6ZmQ5Yi2XG4gICAgc3RyZWFtICYmIE9iamVjdC5hc3NpZ24oZmV0Y2hIZWFkZXJzLCB7IEFjY2VwdDogJ3RleHQvZXZlbnQtc3RyZWFtJyB9KVxuXG4gICAgY29uc3QgeyBkYXRhOiByZXNwb25zZURhdGEsIGhlYWRlciB9ID0gKGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgIHVybCxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAuLi5mZXRjaEhlYWRlcnMsXG4gICAgICAgIC4uLmhlYWRlcnMsXG4gICAgICB9LFxuICAgICAgc3RyZWFtLFxuICAgICAgbWV0aG9kLFxuICAgICAgdGltZW91dCxcbiAgICB9KSkgYXMgeyBkYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT47IGhlYWRlcj86IEhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG5cbiAgICBmdW5jdGlvbiBvYmplY3RUb1BhcmFtKG9iajogT2JqZWN0KSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZX1gKVxuICAgICAgICAuam9pbignJicpXG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJGdW5jdGlvblRvb2woZnVuY3Rpb25Ub29sOiB0eXBlcy5GdW5jdGlvblRvb2wpIHtcbiAgICBpZiAobW9kZWxzLnRvb2xNYXAuaGFzKGZ1bmN0aW9uVG9vbC5uYW1lKSkge1xuICAgICAgY29uc29sZS53YXJuKGBBSSBmdW5jdGlvbiB0b29sICR7ZnVuY3Rpb25Ub29sLm5hbWV9IGFscmVhZHkgZXhpc3RzIGFuZCB3aWxsIGJlIG92ZXJ3cml0dGVuIWApXG4gICAgfVxuICAgIG1vZGVscy50b29sTWFwLnNldChmdW5jdGlvblRvb2wubmFtZSwgZnVuY3Rpb25Ub29sLmZuKVxuICB9XG59XG5cbmV4cG9ydCB7IEFJIH1cblxuY29uc3QgR09fVE9fQUlfVEVYVCA9ICfor7fmo4Dmn6XosIPnlKjmlrnlvI/vvIzmiJbliY3lvoDkupHlvIDlj5EgQUkrIOmmlumhteafpeeci+aWh+aho++8mmh0dHBzOi8vdGNiLmNsb3VkLnRlbmNlbnQuY29tL2RldiMvYWknXG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGE6IFByb21pc2U8dW5rbm93bj4gfCBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiwgaGVhZGVyPzogSGVhZGVycykge1xuICBpZiAodHlwZW9mIHJlc3BvbnNlRGF0YSA9PT0gJ29iamVjdCcgJiYgcmVzcG9uc2VEYXRhICYmICd0aGVuJyBpbiByZXNwb25zZURhdGEpIHtcbiAgICAvLyDpnZ7mtYHlvI/or7fmsYLvvIznm7TmjqXov5Tlm54ganNvbiDmlbDmja5cbiAgICBjb25zdCBqc29uID0gKGF3YWl0IHJlc3BvbnNlRGF0YSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICBpZiAodHlwZW9mIGpzb24gPT09ICdvYmplY3QnICYmIGpzb24gJiYgJ2NvZGUnIGluIGpzb24gJiYganNvbi5jb2RlICE9PSAnTk9STUFMJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBSSsg6K+35rGC5Ye66ZSZ77yM6ZSZ6K+v56CB77yaJHtqc29uLmNvZGV977yM6ZSZ6K+v5L+h5oGv77yaJHtqc29uLm1lc3NhZ2V9XFxuJHtHT19UT19BSV9URVhUfVxcbiR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGpzb24sXG4gICAgICAgIG51bGwsXG4gICAgICAgIDIsXG4gICAgICApfWAsKVxuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgfVxuICAvLyDmtYHlvI/or7fmsYLvvIzlpoLmnpzmjqXlj6Plh7rplJnvvIzkvJrlj5jmiJDkvKAganNvbiDmoLzlvI/nmoTlk43lupTvvIzpgJrov4cgaGVhZGVyIOWIpOaWreagvOW8j1xuICBpZiAoaGVhZGVyPy5nZXQ/LignY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdhcHBsaWNhdGlvbi9qc29uJykpIHtcbiAgICBjb25zdCBqc29uID0gYXdhaXQgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdChyZXNwb25zZURhdGEgYXMgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4pXG4gICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uICYmICdjb2RlJyBpbiBqc29uICYmIGpzb24uY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQUkrIOivt+axguWHuumUme+8jOmUmeivr+egge+8miR7anNvbi5jb2Rlfe+8jOmUmeivr+S/oeaBr++8miR7anNvbi5tZXNzYWdlfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBqc29uLFxuICAgICAgICBudWxsLFxuICAgICAgICAyLFxuICAgICAgKX1gLClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3BvbnNlRGF0YVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { type ParsedEvent } from '../eventsource_parser';
2
2
  import { BotReq, ReqOptions } from '../type';
3
- import { IBotPreview, IBotSendMessage, IBotUploadFiles, ICreateBot, IDeleteBot, IGenerateBot, IGenerateImage, IGetBot, IGetBotChatRecords, IGetBotFeedback, IGetBotList, IGetBotRecommendQuestions, ISendBotFeedback, IUpdateBot } from './types';
3
+ import { IBotCreateConversation, IBotDeleteConversation, IBotGetConversation, IBotPreview, IBotSendMessage, IBotUploadFiles, ICreateBot, IDeleteBot, IGenerateBot, IGenerateImage, IGetBot, IGetBotChatRecords, IGetBotFeedback, IGetBotList, IGetBotRecommendQuestions, ISendBotFeedback, IUpdateBot } from './types';
4
4
  export declare class Bot {
5
5
  baseUrl: string;
6
6
  req: BotReq;
@@ -14,6 +14,9 @@ export declare class Bot {
14
14
  sendFeedback({ userFeedback }: ISendBotFeedback, options?: ReqOptions): Promise<Object>;
15
15
  getFeedback(props: IGetBotFeedback, options?: ReqOptions): Promise<Object>;
16
16
  uploadFiles(props: IBotUploadFiles, options?: ReqOptions): Promise<Object>;
17
+ createConversation(props: IBotCreateConversation, options?: ReqOptions): Promise<Object>;
18
+ getConversation({ pageSize, pageNumber, ...rest }: IBotGetConversation, options?: ReqOptions): Promise<Object>;
19
+ deleteConversation(props: IBotDeleteConversation, options?: ReqOptions): Promise<Object>;
17
20
  getRecommendQuestions(props: IGetBotRecommendQuestions, options?: ReqOptions): Promise<StreamResult>;
18
21
  generateBot(props: IGenerateBot, options?: ReqOptions): Promise<StreamResult>;
19
22
  getPreview(props: IBotPreview, options?: ReqOptions): Promise<StreamResult>;
@@ -146,6 +146,48 @@ var Bot = (function () {
146
146
  });
147
147
  });
148
148
  };
149
+ Bot.prototype.createConversation = function (props, options) {
150
+ return __awaiter(this, void 0, void 0, function () {
151
+ return __generator(this, function (_a) {
152
+ return [2, this.req({
153
+ method: 'post',
154
+ url: this.join('conversation'),
155
+ data: props,
156
+ timeout: options === null || options === void 0 ? void 0 : options.timeout,
157
+ })];
158
+ });
159
+ });
160
+ };
161
+ Bot.prototype.getConversation = function (_a, options) {
162
+ var _b = _a.pageSize, pageSize = _b === void 0 ? 10 : _b, _c = _a.pageNumber, pageNumber = _c === void 0 ? 1 : _c, rest = __rest(_a, ["pageSize", "pageNumber"]);
163
+ return __awaiter(this, void 0, void 0, function () {
164
+ var offset, limit;
165
+ return __generator(this, function (_d) {
166
+ if (pageNumber < 1)
167
+ throw new Error('pageNumber must be greater than 0');
168
+ offset = pageSize * (pageNumber - 1);
169
+ limit = pageSize;
170
+ return [2, this.req({
171
+ method: 'get',
172
+ url: this.join('conversation'),
173
+ data: __assign(__assign({}, rest), { offset: offset, limit: limit }),
174
+ timeout: options === null || options === void 0 ? void 0 : options.timeout,
175
+ })];
176
+ });
177
+ });
178
+ };
179
+ Bot.prototype.deleteConversation = function (props, options) {
180
+ return __awaiter(this, void 0, void 0, function () {
181
+ return __generator(this, function (_a) {
182
+ return [2, this.req({
183
+ method: 'delete',
184
+ url: this.join("conversation/".concat(props.conversationId)),
185
+ data: props,
186
+ timeout: options === null || options === void 0 ? void 0 : options.timeout,
187
+ })];
188
+ });
189
+ });
190
+ };
149
191
  Bot.prototype.getRecommendQuestions = function (props, options) {
150
192
  return __awaiter(this, void 0, void 0, function () {
151
193
  var res;
@@ -290,4 +332,4 @@ var StreamResult = (function () {
290
332
  });
291
333
  return StreamResult;
292
334
  }());
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQkEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsc0NBQXNDLEVBQ3RDLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sVUFBVSxDQUFBO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCLEVBQUUsT0FBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87U0FDMUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJ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LFFBQVEsRUFBRTs0QkFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxtREFBbUQsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7eUJBQzVFOzZCQUFNOzRCQUNMLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQTt5QkFDdkI7cUJBQ0Y7Z0JBQ0gsQ0FBQzthQUNGLENBQUMsQ0FBRSxDQUFFLENBQUE7UUFDUixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLG9DQUFVO2FBQWQ7WUFDRSxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksZUFBZSxDQUE2QjtnQkFDckcsU0FBUyxZQUFDLEtBQUssRUFBRSxVQUFVOztvQkFDekIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLG1DQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUMxQyxDQUFDO2FBQ0YsQ0FBQyxDQUFFLENBQUUsQ0FBQTtRQUNSLENBQUM7OztPQUFBO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBNUNELElBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBQYXJzZWRFdmVudCB9IGZyb20gJy4uL2V2ZW50c291cmNlX3BhcnNlcidcbmltcG9ydCB7IEJvdFJlcSwgUmVxT3B0aW9ucyB9IGZyb20gJy4uL3R5cGUnXG5pbXBvcnQge1xuICBJQm90UHJldmlldyxcbiAgSUJvdFNlbmRNZXNzYWdlLFxuICBJQm90VXBsb2FkRmlsZXMsXG4gIElDcmVhdGVCb3QsXG4gIElEZWxldGVCb3QsXG4gIElHZW5lcmF0ZUJvdCxcbiAgSUdlbmVyYXRlSW1hZ2UsXG4gIElHZXRCb3QsXG4gIElHZXRCb3RDaGF0UmVjb3JkcyxcbiAgSUdldEJvdEZlZWRiYWNrLFxuICBJR2V0Qm90TGlzdCxcbiAgSUdldEJvdFJlY29tbWVuZFF1ZXN0aW9ucyxcbiAgSVNlbmRCb3RGZWVkYmFjayxcbiAgSVVwZGF0ZUJvdCxcbn0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIHRvUG9seWZpbGxSZWFkYWJsZSxcbiAgY3JlYXRlRXZlbnRTb3VyY2VQYXJzZXJUcmFuc2Zvcm1TdHJlYW0sXG4gIFRleHREZWNvZGVyU3RyZWFtLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG59IGZyb20gJy4uL3V0aWxzJ1xuXG5leHBvcnQgY2xhc3MgQm90IHtcbiAgcmVxOiBCb3RSZXFcblxuICBjb25zdHJ1Y3RvcihyZXE6IEJvdFJlcSwgcHVibGljIGJhc2VVcmw6IHN0cmluZykge1xuICAgIGNvbnN0IHRva2VuID0gYXJndW1lbnRzWzJdXG4gICAgaWYgKHR5cGVvZiB0b2tlbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMucmVxID0gKHsgaGVhZGVycyA9IHt9LCAuLi5yZXN0IH0pID0+IHJlcSh7IC4uLnJlc3QsIGhlYWRlcnM6IHsgLi4uaGVhZGVycywgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfSB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlcSA9IHJlcVxuICAgIH1cbiAgfVxuXG4gIGxpc3QocHJvcHM6IElHZXRCb3RMaXN0LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2JvdHMnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgY3JlYXRlKHsgYm90SW5mbyB9OiBJQ3JlYXRlQm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdib3RzJyksXG4gICAgICBkYXRhOiBib3RJbmZvLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgZ2V0KHsgYm90SWQgfTogSUdldEJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCksXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICB1cGRhdGUoeyBib3RJZCwgYm90SW5mbyB9OiBJVXBkYXRlQm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApLFxuICAgICAgZGF0YTogYm90SW5mbyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGRlbGV0ZSh7IGJvdElkIH06IElEZWxldGVCb3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAnZGVsZXRlJywgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSwgdGltZW91dDogb3B0aW9ucz8udGltZW91dCB9KVxuICB9XG5cbiAgZ2V0Q2hhdFJlY29yZHMocHJvcHM6IElHZXRCb3RDaGF0UmVjb3Jkcywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3JlY29yZHNgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgc2VuZEZlZWRiYWNrKHsgdXNlckZlZWRiYWNrIH06IElTZW5kQm90RmVlZGJhY2ssIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHt1c2VyRmVlZGJhY2suYm90SWR9L2ZlZWRiYWNrYCksXG4gICAgICBkYXRhOiB1c2VyRmVlZGJhY2ssXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBnZXRGZWVkYmFjayhwcm9wczogSUdldEJvdEZlZWRiYWNrLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vZmVlZGJhY2tgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgdXBsb2FkRmlsZXMocHJvcHM6IElCb3RVcGxvYWRGaWxlcywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9maWxlc2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRSZWNvbW1lbmRRdWVzdGlvbnMocHJvcHM6IElHZXRCb3RSZWNvbW1lbmRRdWVzdGlvbnMsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9yZWNvbW1lbmQtcXVlc3Rpb25zYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBhc3luYyBnZW5lcmF0ZUJvdChwcm9wczogSUdlbmVyYXRlQm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2dlbmVyYXRlLWJvdCcpLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgYXN5bmMgZ2V0UHJldmlldyhwcm9wczogSUJvdFByZXZpZXcsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbigncHJldmlldycpLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgZ2VuZXJhdGVJbWFnZShwcm9wczogSUdlbmVyYXRlSW1hZ2UsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAncG9zdCcsIHVybDogdGhpcy5qb2luKCdnZW5lcmF0ZS1pbWFnZScpLCBkYXRhOiBwcm9wcywgdGltZW91dDogb3B0aW9ucz8udGltZW91dCB9KVxuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UocHJvcHM6IElCb3RTZW5kTWVzc2FnZSwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3NlbmQtbWVzc2FnZWApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgcHJpdmF0ZSBqb2luKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZVVybH0vJHt1cmx9YFxuICB9XG59XG5cbnR5cGUgQm90RXZlbnRTdHJlYW1EYXRhID0geyBjb250ZW50OiBzdHJpbmcgfVxuXG5jbGFzcyBTdHJlYW1SZXN1bHQge1xuICBwcml2YXRlIF9ldmVudFNvdXJjZVN0cmVhbTogUmVhZGFibGVTdHJlYW08UGFyc2VkRXZlbnQ+XG5cbiAgY29uc3RydWN0b3IoX3N0cmVhbTogUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4pIHtcbiAgICBjb25zdCBzdHJlYW0gPSB0b1BvbHlmaWxsUmVhZGFibGUoX3N0cmVhbSkgYXMgdHlwZW9mIF9zdHJlYW1cbiAgICB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbSA9IHN0cmVhbVxuICAgICAgLnBpcGVUaHJvdWdoKG5ldyBUZXh0RGVjb2RlclN0cmVhbSgpKVxuICAgICAgLnBpcGVUaHJvdWdoKGNyZWF0ZUV2ZW50U291cmNlUGFyc2VyVHJhbnNmb3JtU3RyZWFtKCkpXG4gIH1cblxuICBwcml2YXRlIGdldCB0ZWVlZFN0cmVhbSgpIHtcbiAgICBjb25zdCBbczEsIHMyXSA9IHRoaXMuX2V2ZW50U291cmNlU3RyZWFtLnRlZSgpXG4gICAgdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0gPSBzMlxuICAgIHJldHVybiBzMVxuICB9XG5cbiAgZ2V0IGV2ZW50U291cmNlU3RyZWFtKCkge1xuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHRoaXMudGVlZWRTdHJlYW0pXG4gIH1cblxuICBnZXQgZGF0YVN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLmV2ZW50U291cmNlU3RyZWFtLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW08UGFyc2VkRXZlbnQsIEJvdEV2ZW50U3RyZWFtRGF0YT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoY2h1bmsuZGF0YSlcbiAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZGF0YSlcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGlmIChjaHVuay5kYXRhICE9PSAnW0RPTkVdJykge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdFcnJvciB3aGVuIHRyYW5zZm9ybWluZyBldmVudCBzb3VyY2UgZGF0YSB0byBqc29uJywgZSwgY2h1bmspXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIudGVybWluYXRlKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSksKSwpXG4gIH1cblxuICBnZXQgdGV4dFN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLmRhdGFTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxCb3RFdmVudFN0cmVhbURhdGEsIHN0cmluZz4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuaz8uY29udGVudCA/PyAnJylcbiAgICAgIH0sXG4gICAgfSksKSwpXG4gIH1cbn1cbiJdfQ==
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsc0NBQXNDLEVBQ3RDLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sVUFBVSxDQUFBO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCLEVBQUUsT0FBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87U0FDMUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJ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SSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7d0JBQ25DLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7cUJBQ3pCO29CQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNWLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7NEJBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsbURBQW1ELEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO3lCQUM1RTs2QkFBTTs0QkFDTCxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUE7eUJBQ3ZCO3FCQUNGO2dCQUNILENBQUM7YUFDRixDQUFDLENBQUUsQ0FBRSxDQUFBO1FBQ1IsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxvQ0FBVTthQUFkO1lBQ0UsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGVBQWUsQ0FBNkI7Z0JBQ3JHLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTs7b0JBQ3pCLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxtQ0FBSSxFQUFFLENBQUMsQ0FBQTtnQkFDMUMsQ0FBQzthQUNGLENBQUMsQ0FBRSxDQUFFLENBQUE7UUFDUixDQUFDOzs7T0FBQTtJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQTVDRCxJQTRDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUGFyc2VkRXZlbnQgfSBmcm9tICcuLi9ldmVudHNvdXJjZV9wYXJzZXInXG5pbXBvcnQgeyBCb3RSZXEsIFJlcU9wdGlvbnMgfSBmcm9tICcuLi90eXBlJ1xuaW1wb3J0IHtcbiAgSUJvdENyZWF0ZUNvbnZlcnNhdGlvbixcbiAgSUJvdERlbGV0ZUNvbnZlcnNhdGlvbixcbiAgSUJvdEdldENvbnZlcnNhdGlvbixcbiAgSUJvdFByZXZpZXcsXG4gIElCb3RTZW5kTWVzc2FnZSxcbiAgSUJvdFVwbG9hZEZpbGVzLFxuICBJQ3JlYXRlQm90LFxuICBJRGVsZXRlQm90LFxuICBJR2VuZXJhdGVCb3QsXG4gIElHZW5lcmF0ZUltYWdlLFxuICBJR2V0Qm90LFxuICBJR2V0Qm90Q2hhdFJlY29yZHMsXG4gIElHZXRCb3RGZWVkYmFjayxcbiAgSUdldEJvdExpc3QsXG4gIElHZXRCb3RSZWNvbW1lbmRRdWVzdGlvbnMsXG4gIElTZW5kQm90RmVlZGJhY2ssXG4gIElVcGRhdGVCb3QsXG59IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICB0b1BvbHlmaWxsUmVhZGFibGUsXG4gIGNyZWF0ZUV2ZW50U291cmNlUGFyc2VyVHJhbnNmb3JtU3RyZWFtLFxuICBUZXh0RGVjb2RlclN0cmVhbSxcbiAgVHJhbnNmb3JtU3RyZWFtLFxufSBmcm9tICcuLi91dGlscydcblxuZXhwb3J0IGNsYXNzIEJvdCB7XG4gIHJlcTogQm90UmVxXG5cbiAgY29uc3RydWN0b3IocmVxOiBCb3RSZXEsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0b2tlbiA9IGFyZ3VtZW50c1syXVxuICAgIGlmICh0eXBlb2YgdG9rZW4gPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLnJlcSA9ICh7IGhlYWRlcnMgPSB7fSwgLi4ucmVzdCB9KSA9PiByZXEoeyAuLi5yZXN0LCBoZWFkZXJzOiB7IC4uLmhlYWRlcnMsIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gfSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXEgPSByZXFcbiAgICB9XG4gIH1cblxuICBsaXN0KHByb3BzOiBJR2V0Qm90TGlzdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdib3RzJyksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGNyZWF0ZSh7IGJvdEluZm8gfTogSUNyZWF0ZUJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbignYm90cycpLFxuICAgICAgZGF0YTogYm90SW5mbyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGdldCh7IGJvdElkIH06IElHZXRCb3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgdXBkYXRlKHsgYm90SWQsIGJvdEluZm8gfTogSVVwZGF0ZUJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSxcbiAgICAgIGRhdGE6IGJvdEluZm8sXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBkZWxldGUoeyBib3RJZCB9OiBJRGVsZXRlQm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ2RlbGV0ZScsIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCksIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQgfSlcbiAgfVxuXG4gIGdldENoYXRSZWNvcmRzKHByb3BzOiBJR2V0Qm90Q2hhdFJlY29yZHMsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9yZWNvcmRzYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIHNlbmRGZWVkYmFjayh7IHVzZXJGZWVkYmFjayB9OiBJU2VuZEJvdEZlZWRiYWNrLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7dXNlckZlZWRiYWNrLmJvdElkfS9mZWVkYmFja2ApLFxuICAgICAgZGF0YTogdXNlckZlZWRiYWNrLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgZ2V0RmVlZGJhY2socHJvcHM6IElHZXRCb3RGZWVkYmFjaywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L2ZlZWRiYWNrYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIHVwbG9hZEZpbGVzKHByb3BzOiBJQm90VXBsb2FkRmlsZXMsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vZmlsZXNgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlQ29udmVyc2F0aW9uKHByb3BzOiBJQm90Q3JlYXRlQ29udmVyc2F0aW9uLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdjb252ZXJzYXRpb24nKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0Q29udmVyc2F0aW9uKHsgcGFnZVNpemUgPSAxMCwgcGFnZU51bWJlciA9IDEsIC4uLnJlc3QgfTogSUJvdEdldENvbnZlcnNhdGlvbiwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICBpZiAocGFnZU51bWJlciA8IDEpIHRocm93IG5ldyBFcnJvcigncGFnZU51bWJlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwJylcbiAgICBjb25zdCBvZmZzZXQgPSBwYWdlU2l6ZSAqIChwYWdlTnVtYmVyIC0gMSlcbiAgICBjb25zdCBsaW1pdCA9IHBhZ2VTaXplXG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbignY29udmVyc2F0aW9uJyksXG4gICAgICBkYXRhOiB7IC4uLnJlc3QsIG9mZnNldCwgbGltaXQgfSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUNvbnZlcnNhdGlvbihwcm9wczogSUJvdERlbGV0ZUNvbnZlcnNhdGlvbiwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBjb252ZXJzYXRpb24vJHtwcm9wcy5jb252ZXJzYXRpb25JZH1gKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0UmVjb21tZW5kUXVlc3Rpb25zKHByb3BzOiBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vcmVjb21tZW5kLXF1ZXN0aW9uc2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGVCb3QocHJvcHM6IElHZW5lcmF0ZUJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdnZW5lcmF0ZS1ib3QnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGFzeW5jIGdldFByZXZpZXcocHJvcHM6IElCb3RQcmV2aWV3LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ3ByZXZpZXcnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGdlbmVyYXRlSW1hZ2UocHJvcHM6IElHZW5lcmF0ZUltYWdlLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IHRoaXMuam9pbignZ2VuZXJhdGUtaW1hZ2UnKSwgZGF0YTogcHJvcHMsIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQgfSlcbiAgfVxuXG4gIGFzeW5jIHNlbmRNZXNzYWdlKHByb3BzOiBJQm90U2VuZE1lc3NhZ2UsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9zZW5kLW1lc3NhZ2VgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIHByaXZhdGUgam9pbih1cmw6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VVcmx9LyR7dXJsfWBcbiAgfVxufVxuXG50eXBlIEJvdEV2ZW50U3RyZWFtRGF0YSA9IHsgY29udGVudDogc3RyaW5nIH1cblxuY2xhc3MgU3RyZWFtUmVzdWx0IHtcbiAgcHJpdmF0ZSBfZXZlbnRTb3VyY2VTdHJlYW06IFJlYWRhYmxlU3RyZWFtPFBhcnNlZEV2ZW50PlxuXG4gIGNvbnN0cnVjdG9yKF9zdHJlYW06IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KSB7XG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG4gICAgdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0gPSBzdHJlYW1cbiAgICAgIC5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0oKSlcbiAgICAgIC5waXBlVGhyb3VnaChjcmVhdGVFdmVudFNvdXJjZVBhcnNlclRyYW5zZm9ybVN0cmVhbSgpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGVlZWRTdHJlYW0oKSB7XG4gICAgY29uc3QgW3MxLCBzMl0gPSB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbS50ZWUoKVxuICAgIHRoaXMuX2V2ZW50U291cmNlU3RyZWFtID0gczJcbiAgICByZXR1cm4gczFcbiAgfVxuXG4gIGdldCBldmVudFNvdXJjZVN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLnRlZWVkU3RyZWFtKVxuICB9XG5cbiAgZ2V0IGRhdGFTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy5ldmVudFNvdXJjZVN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPFBhcnNlZEV2ZW50LCBCb3RFdmVudFN0cmVhbURhdGE+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGNodW5rLmRhdGEpXG4gICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGRhdGEpXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBpZiAoY2h1bmsuZGF0YSAhPT0gJ1tET05FXScpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignRXJyb3Igd2hlbiB0cmFuc2Zvcm1pbmcgZXZlbnQgc291cmNlIGRhdGEgdG8ganNvbicsIGUsIGNodW5rKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLnRlcm1pbmF0ZSgpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pLCksKVxuICB9XG5cbiAgZ2V0IHRleHRTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy5kYXRhU3RyZWFtLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW08Qm90RXZlbnRTdHJlYW1EYXRhLCBzdHJpbmc+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY2h1bms/LmNvbnRlbnQgPz8gJycpXG4gICAgICB9LFxuICAgIH0pLCksKVxuICB9XG59XG4iXX0=
@@ -85,6 +85,20 @@ export interface IBotUploadFiles {
85
85
  type: string;
86
86
  }>;
87
87
  }
88
+ export interface IBotCreateConversation {
89
+ botId: string;
90
+ title?: string;
91
+ }
92
+ export interface IBotGetConversation {
93
+ botId: string;
94
+ pageSize?: number;
95
+ pageNumber?: number;
96
+ isDefault?: boolean;
97
+ }
98
+ export interface IBotDeleteConversation {
99
+ botId: string;
100
+ conversationId: string;
101
+ }
88
102
  export interface IUserFeedback {
89
103
  recordId: string;
90
104
  type: string;
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElHZXRCb3RMaXN0IHtcbiAgbmFtZTogc3RyaW5nXG4gIGludHJvZHVjdGlvbjogc3RyaW5nXG4gIGluZm9ybWF0aW9uOiBzdHJpbmdcbiAgZW5hYmxlOiBib29sZWFuXG4gIHBhZ2VTaXplOiBudW1iZXJcbiAgcGFnZU51bWJlcjogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZUJvdCB7XG4gIGJvdEluZm86IEJvdEluZm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Qm90IHtcbiAgYm90SWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVCb3Qge1xuICBib3RJZDogc3RyaW5nXG4gIGJvdEluZm86IEJvdEluZm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGVsZXRlQm90IHtcbiAgYm90SWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRCb3RDaGF0UmVjb3JkcyB7XG4gIGJvdElkOiBzdHJpbmdcbiAgc29ydDogJ2FzYycgfCAnZGVzYycgfCBzdHJpbmdcbiAgcGFnZVNpemU6IG51bWJlclxuICBwYWdlTnVtYmVyOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VuZEJvdEZlZWRiYWNrIHtcbiAgdXNlckZlZWRiYWNrOiBJVXNlckZlZWRiYWNrXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldEJvdEZlZWRiYWNrIHtcbiAgYm90SWQ6IHN0cmluZ1xuICB0eXBlOiAndXB2b3RlJyB8ICdkb3dudm90ZScgfCBzdHJpbmdcbiAgc2VuZGVyOiBzdHJpbmdcbiAgc2VuZGVyRmlsdGVyOiAnaW5jbHVkZScgfCAnZXhjbHVkZScgfCAnZXF1YWwnIHwgJ3VuZXF1YWwnIHwgJ3ByZWZpeCcgfCBzdHJpbmdcbiAgbWluUmF0aW5nOiBudW1iZXJcbiAgbWF4UmF0aW5nOiBudW1iZXJcbiAgZnJvbTogbnVtYmVyXG4gIHRvOiBudW1iZXJcbiAgcGFnZVNpemU6IG51bWJlclxuICBwYWdlTnVtYmVyOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zIHtcbiAgYm90SWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgaW50cm9kdWN0aW9uOiBzdHJpbmdcbiAgYWdlbnRTZXR0aW5nOiBzdHJpbmdcbiAgbXNnOiBzdHJpbmdcbiAgaGlzdG9yeTogQXJyYXk8e1xuICAgIHJvbGU6IHN0cmluZ1xuICAgIGNvbnRlbnQ6IHN0cmluZ1xuICB9PlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZW5lcmF0ZUJvdCB7XG4gIHNpbXBsZTogYm9vbGVhblxuICBwcm9tcHQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCb3RQcmV2aWV3IHtcbiAgbmFtZTogc3RyaW5nXG4gIGludHJvZHVjdGlvbjogc3RyaW5nXG4gIGFnZW50U2V0dGluZzogc3RyaW5nXG4gIG1zZzogc3RyaW5nXG4gIGhpc3Rvcnk6IEFycmF5PHtcbiAgICByb2xlOiBzdHJpbmdcbiAgICBjb250ZW50OiBzdHJpbmdcbiAgfT5cbiAga25vd2xlZGdlQmFzZTogQXJyYXk8c3RyaW5nPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZW5lcmF0ZUltYWdlIHtcbiAgcHJvbXB0OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQm90U2VuZE1lc3NhZ2Uge1xuICBib3RJZDogc3RyaW5nXG4gIG1zZzogc3RyaW5nXG4gIGhpc3Rvcnk6IEFycmF5PHtcbiAgICByb2xlOiBzdHJpbmdcbiAgICBjb250ZW50OiBzdHJpbmdcbiAgfT5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQm90VXBsb2FkRmlsZXMge1xuICBib3RJZDogc3RyaW5nXG4gIGZpbGVMaXN0OiBBcnJheTx7XG4gICAgZmlsZU5hbWU6IHN0cmluZ1xuICAgIGZpbGVJZDogc3RyaW5nXG4gICAgdHlwZTogc3RyaW5nXG4gIH0+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZXJGZWVkYmFjayB7XG4gIHJlY29yZElkOiBzdHJpbmdcbiAgdHlwZTogc3RyaW5nXG4gIGJvdElkOiBzdHJpbmdcbiAgY29tbWVudDogc3RyaW5nXG4gIHJhdGluZzogbnVtYmVyXG4gIHRhZ3M6IEFycmF5PHN0cmluZz5cbiAgaW5wdXQ6IHN0cmluZ1xuICBhaUFuc3dlcjogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm90SW5mbyB7XG4gIGJvdElkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGludHJvZHVjdGlvbjogc3RyaW5nXG4gIGFnZW50U2V0dGluZzogc3RyaW5nXG4gIHdlbGNvbWVNZXNzYWdlOiBzdHJpbmdcbiAgYXZhdGFyOiBzdHJpbmdcbiAgYmFja2dyb3VuZDogc3RyaW5nXG4gIHRhZ3M6IEFycmF5PHN0cmluZz5cbiAgaXNOZWVkUmVjb21tZW5kOiBib29sZWFuXG4gIGtub3dsZWRnZUJhc2U6IEFycmF5PHN0cmluZz5cbiAgdHlwZTogc3RyaW5nXG4gIGluaXRRdWVzdGlvbnM6IEFycmF5PHN0cmluZz5cbiAgZW5hYmxlOiB0cnVlXG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElHZXRCb3RMaXN0IHtcbiAgbmFtZTogc3RyaW5nXG4gIGludHJvZHVjdGlvbjogc3RyaW5nXG4gIGluZm9ybWF0aW9uOiBzdHJpbmdcbiAgZW5hYmxlOiBib29sZWFuXG4gIHBhZ2VTaXplOiBudW1iZXJcbiAgcGFnZU51bWJlcjogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZUJvdCB7XG4gIGJvdEluZm86IEJvdEluZm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Qm90IHtcbiAgYm90SWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVCb3Qge1xuICBib3RJZDogc3RyaW5nXG4gIGJvdEluZm86IEJvdEluZm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGVsZXRlQm90IHtcbiAgYm90SWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRCb3RDaGF0UmVjb3JkcyB7XG4gIGJvdElkOiBzdHJpbmdcbiAgc29ydDogJ2FzYycgfCAnZGVzYycgfCBzdHJpbmdcbiAgcGFnZVNpemU6IG51bWJlclxuICBwYWdlTnVtYmVyOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VuZEJvdEZlZWRiYWNrIHtcbiAgdXNlckZlZWRiYWNrOiBJVXNlckZlZWRiYWNrXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldEJvdEZlZWRiYWNrIHtcbiAgYm90SWQ6IHN0cmluZ1xuICB0eXBlOiAndXB2b3RlJyB8ICdkb3dudm90ZScgfCBzdHJpbmdcbiAgc2VuZGVyOiBzdHJpbmdcbiAgc2VuZGVyRmlsdGVyOiAnaW5jbHVkZScgfCAnZXhjbHVkZScgfCAnZXF1YWwnIHwgJ3VuZXF1YWwnIHwgJ3ByZWZpeCcgfCBzdHJpbmdcbiAgbWluUmF0aW5nOiBudW1iZXJcbiAgbWF4UmF0aW5nOiBudW1iZXJcbiAgZnJvbTogbnVtYmVyXG4gIHRvOiBudW1iZXJcbiAgcGFnZVNpemU6IG51bWJlclxuICBwYWdlTnVtYmVyOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zIHtcbiAgYm90SWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgaW50cm9kdWN0aW9uOiBzdHJpbmdcbiAgYWdlbnRTZXR0aW5nOiBzdHJpbmdcbiAgbXNnOiBzdHJpbmdcbiAgaGlzdG9yeTogQXJyYXk8e1xuICAgIHJvbGU6IHN0cmluZ1xuICAgIGNvbnRlbnQ6IHN0cmluZ1xuICB9PlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZW5lcmF0ZUJvdCB7XG4gIHNpbXBsZTogYm9vbGVhblxuICBwcm9tcHQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCb3RQcmV2aWV3IHtcbiAgbmFtZTogc3RyaW5nXG4gIGludHJvZHVjdGlvbjogc3RyaW5nXG4gIGFnZW50U2V0dGluZzogc3RyaW5nXG4gIG1zZzogc3RyaW5nXG4gIGhpc3Rvcnk6IEFycmF5PHtcbiAgICByb2xlOiBzdHJpbmdcbiAgICBjb250ZW50OiBzdHJpbmdcbiAgfT5cbiAga25vd2xlZGdlQmFzZTogQXJyYXk8c3RyaW5nPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZW5lcmF0ZUltYWdlIHtcbiAgcHJvbXB0OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQm90U2VuZE1lc3NhZ2Uge1xuICBib3RJZDogc3RyaW5nXG4gIG1zZzogc3RyaW5nXG4gIGhpc3Rvcnk6IEFycmF5PHtcbiAgICByb2xlOiBzdHJpbmdcbiAgICBjb250ZW50OiBzdHJpbmdcbiAgfT5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQm90VXBsb2FkRmlsZXMge1xuICBib3RJZDogc3RyaW5nXG4gIGZpbGVMaXN0OiBBcnJheTx7XG4gICAgZmlsZU5hbWU6IHN0cmluZ1xuICAgIGZpbGVJZDogc3RyaW5nXG4gICAgdHlwZTogc3RyaW5nXG4gIH0+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJvdENyZWF0ZUNvbnZlcnNhdGlvbiB7XG4gIGJvdElkOiBzdHJpbmdcbiAgdGl0bGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQm90R2V0Q29udmVyc2F0aW9uIHtcbiAgYm90SWQ6IHN0cmluZ1xuICBwYWdlU2l6ZT86IG51bWJlclxuICBwYWdlTnVtYmVyPzogbnVtYmVyXG4gIGlzRGVmYXVsdD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQm90RGVsZXRlQ29udmVyc2F0aW9uIHtcbiAgYm90SWQ6IHN0cmluZ1xuICBjb252ZXJzYXRpb25JZDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZXJGZWVkYmFjayB7XG4gIHJlY29yZElkOiBzdHJpbmdcbiAgdHlwZTogc3RyaW5nXG4gIGJvdElkOiBzdHJpbmdcbiAgY29tbWVudDogc3RyaW5nXG4gIHJhdGluZzogbnVtYmVyXG4gIHRhZ3M6IEFycmF5PHN0cmluZz5cbiAgaW5wdXQ6IHN0cmluZ1xuICBhaUFuc3dlcjogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm90SW5mbyB7XG4gIGJvdElkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGludHJvZHVjdGlvbjogc3RyaW5nXG4gIGFnZW50U2V0dGluZzogc3RyaW5nXG4gIHdlbGNvbWVNZXNzYWdlOiBzdHJpbmdcbiAgYXZhdGFyOiBzdHJpbmdcbiAgYmFja2dyb3VuZDogc3RyaW5nXG4gIHRhZ3M6IEFycmF5PHN0cmluZz5cbiAgaXNOZWVkUmVjb21tZW5kOiBib29sZWFuXG4gIGtub3dsZWRnZUJhc2U6IEFycmF5PHN0cmluZz5cbiAgdHlwZTogc3RyaW5nXG4gIGluaXRRdWVzdGlvbnM6IEFycmF5PHN0cmluZz5cbiAgZW5hYmxlOiB0cnVlXG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { BaseChatModelInput, DoStreamOutput, SimpleChatModel, ToolCall, ChatModelMessage, AsyncIterableReadableStream, Usage, ModelTool, FunctionTool } from '../type';
1
+ import { BaseChatModelInput, DoStreamOutput, SimpleChatModel, ToolCall, ChatModelMessage, AsyncIterableReadableStream, Usage, ModelTool, FunctionTool, ReqOptions } from '../type';
2
2
  type ReactModelInput = ReactProps & Omit<BaseChatModelInput, 'tools'> & {
3
3
  tools?: Array<ModelTool | FunctionTool>;
4
4
  topP?: number;
@@ -21,14 +21,14 @@ interface ReactProps {
21
21
  export declare class ReactModel {
22
22
  private model;
23
23
  constructor(model: SimpleChatModel);
24
- generateText(_input: ReactModelInput): Promise<{
24
+ generateText(_input: ReactModelInput, options?: ReqOptions): Promise<{
25
25
  text: string;
26
26
  messages: Array<ChatModelMessage>;
27
27
  usage: Usage;
28
28
  rawResponses: Array<unknown>;
29
29
  error?: any;
30
30
  }>;
31
- streamText(_input: ReactModelInput): Promise<{
31
+ streamText(_input: ReactModelInput, options?: ReqOptions): Promise<{
32
32
  dataStream: DoStreamOutput;
33
33
  textStream: AsyncIterableReadableStream<string>;
34
34
  messages: Promise<Array<ChatModelMessage>>;
@@ -93,7 +93,7 @@ var ReactModel = (function () {
93
93
  function ReactModel(model) {
94
94
  this.model = model;
95
95
  }
96
- ReactModel.prototype.generateText = function (_input) {
96
+ ReactModel.prototype.generateText = function (_input, options) {
97
97
  var _a, _b;
98
98
  return __awaiter(this, void 0, void 0, function () {
99
99
  var rawResponses, totalUsage, _c, _d, onStepFinish, _e, maxSteps, input, doGenerate, currentRes, currentStep, toolCall, stepUsage_1, toolCallResult, choice, e_1, lastChoice, lastMessage, text, messages, stepUsage;
@@ -104,7 +104,7 @@ var ReactModel = (function () {
104
104
  rawResponses = [];
105
105
  totalUsage = { completion_tokens: 0, prompt_tokens: 0, total_tokens: 0 };
106
106
  _c = processInput(_input), _d = _c[0], onStepFinish = _d.onStepFinish, _e = _d.maxSteps, maxSteps = _e === void 0 ? 10 : _e, input = _c[1];
107
- doGenerate = function () { return _this.model.doGenerate(input); };
107
+ doGenerate = function () { return _this.model.doGenerate(input, options); };
108
108
  return [4, doGenerate()];
109
109
  case 1:
110
110
  currentRes = _f.sent();
@@ -179,7 +179,7 @@ var ReactModel = (function () {
179
179
  });
180
180
  });
181
181
  };
182
- ReactModel.prototype.streamText = function (_input) {
182
+ ReactModel.prototype.streamText = function (_input, options) {
183
183
  var _a;
184
184
  return __awaiter(this, void 0, void 0, function () {
185
185
  var totalUsage, _b, _c, onStepFinish, _d, maxSteps, input, doStream, currentRes, currentStep, readResult, readCurrentStream, _e, assistantMessage, stepUsage_2, toolCall, toolCallResult, e_2, _f, s1_1, s2_1, message_1, usage, messages, _g, s1_2, s2_2, messagePromise, usagePromise, message, finishReason, stepUsage, originStream, _h, s1, s2;
@@ -189,7 +189,7 @@ var ReactModel = (function () {
189
189
  case 0:
190
190
  totalUsage = { completion_tokens: 0, prompt_tokens: 0, total_tokens: 0 };
191
191
  _b = processInput(_input), _c = _b[0], onStepFinish = _c.onStepFinish, _d = _c.maxSteps, maxSteps = _d === void 0 ? 10 : _d, input = _b[1];
192
- doStream = function () { return _this.model.doStream(input); };
192
+ doStream = function () { return _this.model.doStream(input, options); };
193
193
  return [4, doStream()];
194
194
  case 1:
195
195
  currentRes = _j.sent();
@@ -475,4 +475,4 @@ function addToUsage(targetUsage, sourceUsage) {
475
475
  targetUsage.prompt_tokens += sourceUsage.prompt_tokens;
476
476
  targetUsage.total_tokens += sourceUsage.total_tokens;
477
477
  }
478
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsYUFBYSxFQUNiLDBCQUEwQixFQUMxQix1QkFBdUIsR0FDeEIsTUFBTSxVQUFVLENBQUE7QUF1Q2pCLFNBQVMsWUFBWSxDQUFDLEdBQW9COztJQUNoQyxJQUFBLFlBQVksR0FBb0QsR0FBRyxhQUF2RCxFQUFFLFdBQVcsR0FBdUMsR0FBRyxZQUExQyxFQUFFLFFBQVEsR0FBNkIsR0FBRyxTQUFoQyxFQUFFLElBQUksR0FBdUIsR0FBRyxLQUExQixFQUFFLFVBQVUsR0FBVyxHQUFHLFdBQWQsRUFBSyxDQUFDLFVBQUssR0FBRyxFQUFyRSxpRUFBK0QsQ0FBRixDQUFRO0lBRTNFLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtLQUN0RDtJQUVELE9BQU87UUFDTCxFQUFFLFlBQVksY0FBQSxFQUFFLFdBQVcsYUFBQSxFQUFFLFFBQVEsVUFBQSxFQUFFOzhCQUVsQyxDQUFDLEtBQ0osS0FBSyxFQUFFLE1BQUEsQ0FBQyxDQUFDLEtBQUssMENBQUUsR0FBRyxDQUFDLFVBQUMsSUFBSTtnQkFDdkIsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO29CQUNoQixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFBO2lCQUNyQztnQkFDRCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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QUE7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIFRyYW5zZm9ybVN0cmVhbSxcbiAgY3JlYXRlUHJvbWlzZSxcbiAgaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsXG4gIGZ1bmN0aW9uVG9vbFRvTW9kZWxUb29sLFxufSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7XG4gIEJhc2VDaGF0TW9kZWxJbnB1dCxcbiAgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmssXG4gIERvU3RyZWFtT3V0cHV0LFxuICBEb0dlbmVyYXRlT3V0cHV0LFxuICBTaW1wbGVDaGF0TW9kZWwsXG4gIFRvb2xDYWxsLFxuICBDaGF0TW9kZWxNZXNzYWdlLFxuICBBc3luY0l0ZXJhYmxlUmVhZGFibGVTdHJlYW0sXG4gIFVzYWdlLFxuICBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsXG4gIE1vZGVsVG9vbCxcbiAgRnVuY3Rpb25Ub29sLFxufSBmcm9tICcuLi90eXBlJ1xuXG50eXBlIFJlYWN0TW9kZWxJbnB1dCA9IFJlYWN0UHJvcHMgJlxuT21pdDxCYXNlQ2hhdE1vZGVsSW5wdXQsICd0b29scyc+ICYge1xuICB0b29scz86IEFycmF5PE1vZGVsVG9vbCB8IEZ1bmN0aW9uVG9vbD5cbiAgdG9wUD86IG51bWJlclxuICB0b29sQ2hvaWNlPzogJ25vbmUnIHwgJ2F1dG8nIHwgJ2N1c3RvbSdcbn1cblxuaW50ZXJmYWNlIElPblN0ZXBGaW5pc2gge1xuICBtZXNzYWdlczogQXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT5cbiAgdGV4dD86IHN0cmluZ1xuICB0b29sQ2FsbD86IFRvb2xDYWxsXG4gIHRvb2xSZXN1bHQ/OiB1bmtub3duXG4gIGZpbmlzaFJlYXNvbj86IHN0cmluZ1xuICBzdGVwVXNhZ2U/OiBVc2FnZVxuICB0b3RhbFVzYWdlPzogVXNhZ2Vcbn1cblxuaW50ZXJmYWNlIFJlYWN0UHJvcHMge1xuICBtYXhTdGVwcz86IG51bWJlclxuICBvblN0ZXBGaW5pc2g/OiAocHJvcDogSU9uU3RlcEZpbmlzaCkgPT4gdW5rbm93blxuICBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsIC8vIFRPRE86IOWunueOsCBhYm9ydFNpZ25hbFxufVxuXG5mdW5jdGlvbiBwcm9jZXNzSW5wdXQob2JqOiBSZWFjdE1vZGVsSW5wdXQpOiBbUmVhY3RQcm9wcywgQmFzZUNoYXRNb2RlbElucHV0XSB7XG4gIGNvbnN0IHsgb25TdGVwRmluaXNoLCBhYm9ydFNpZ25hbCwgbWF4U3RlcHMsIHRvcFAsIHRvb2xDaG9pY2UsIC4uLmIgfSA9IG9ialxuXG4gIGlmIChtYXhTdGVwcyAhPSBudWxsICYmIG1heFN0ZXBzIDwgMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignYG1heFN0ZXBzYCBtdXNlIGJlIGdyZWF0ZXIgdGhhbiAwLicpXG4gIH1cblxuICByZXR1cm4gW1xuICAgIHsgb25TdGVwRmluaXNoLCBhYm9ydFNpZ25hbCwgbWF4U3RlcHMgfSxcbiAgICB7XG4gICAgICAuLi5iLFxuICAgICAgdG9vbHM6IGIudG9vbHM/Lm1hcCgodG9vbCkgPT4ge1xuICAgICAgICBpZiAoJ2ZuJyBpbiB0b29sKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uVG9vbFRvTW9kZWxUb29sKHRvb2wpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRvb2xcbiAgICAgIH0pLFxuICAgICAgdG9wX3A6IHRvcFAgIT0gbnVsbCA/IHRvcFAgOiBiLnRvcF9wLFxuICAgICAgdG9vbF9jaG9pY2U6IHRvb2xDaG9pY2UgIT0gbnVsbCA/IHRvb2xDaG9pY2UgOiBiLnRvb2xfY2hvaWNlLFxuICAgIH0sXG4gIF1cbn1cblxuZXhwb3J0IGNsYXNzIFJlYWN0TW9kZWwge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGVsOiBTaW1wbGVDaGF0TW9kZWwpIHt9XG5cbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlVGV4dChfaW5wdXQ6IFJlYWN0TW9kZWxJbnB1dCk6IFByb21pc2U8e1xuICAgIHRleHQ6IHN0cmluZ1xuICAgIG1lc3NhZ2VzOiBBcnJheTxDaGF0TW9kZWxNZXNzYWdlPlxuICAgIHVzYWdlOiBVc2FnZVxuICAgIHJhd1Jlc3BvbnNlczogQXJyYXk8dW5rbm93bj5cbiAgICBlcnJvcj86IGFueVxuICB9PiB7XG4gICAgY29uc3QgcmF3UmVzcG9uc2VzID0gW11cbiAgICBjb25zdCB0b3RhbFVzYWdlOiBVc2FnZSA9IHsgY29tcGxldGlvbl90b2tlbnM6IDAsIHByb21wdF90b2tlbnM6IDAsIHRvdGFsX3Rva2VuczogMCB9XG5cbiAgICBjb25zdCBbeyBvblN0ZXBGaW5pc2gsIG1heFN0ZXBzID0gMTAgfSwgaW5wdXRdID0gcHJvY2Vzc0lucHV0KF9pbnB1dClcblxuICAgIGNvbnN0IGRvR2VuZXJhdGUgPSAoKSA9PiB0aGlzLm1vZGVsLmRvR2VuZXJhdGUoaW5wdXQpIC8vIOWQjue7reS7o+eggeS8muebtOaOpeWvuSBpbnB1dC5tZXNzYWdlcyDljp/lnLDkv67mlLnvvIzov5nph4zkuIDnm7TnlKjlkIzkuIDkuKrlr7nosaHlsLHooYxcbiAgICBsZXQgY3VycmVudFJlcyA9IGF3YWl0IGRvR2VuZXJhdGUoKVxuICAgIGxldCBjdXJyZW50U3RlcCA9IDFcbiAgICBjdXJyZW50UmVzLnJhd1Jlc3BvbnNlICYmIHJhd1Jlc3BvbnNlcy5wdXNoKGN1cnJlbnRSZXMucmF3UmVzcG9uc2UpXG5cbiAgICBsZXQgdG9vbENhbGw6IFRvb2xDYWxsIHwgbnVsbCA9IG51bGxcblxuICAgIC8vIFRPRE86IOS4gOasoeWvueivneacieWkmuS4qiB0b29sIGNhbGw/IOebruWJjeayoeaciei/meenjeeOsOixoe+8jOaaguaXtuS4jeWkhOeQhlxuICAgIHdoaWxlIChjdXJyZW50U3RlcCA8IG1heFN0ZXBzICYmICh0b29sQ2FsbCA9IGdldFRvb2xDYWxsRnJvbUdlbmVyYXRlKGN1cnJlbnRSZXMpKSAhPSBudWxsKSB7XG4gICAgICBjb25zdCBzdGVwVXNhZ2UgPSBjcmVhdGVTb2xpZFVzYWdlKGN1cnJlbnRSZXMudXNhZ2UpXG4gICAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHN0ZXBVc2FnZSlcblxuICAgICAgLy8g5b2T5Yik5pat6ZyA6KaB5bel5YW36LCD55So5pe2XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0b29sQ2FsbFJlc3VsdCA9IGF3YWl0IGNhbGxUb29sKHRvb2xDYWxsKSAvLyDosIPnlKhcblxuICAgICAgICBjb25zdCBjaG9pY2UgPSBjdXJyZW50UmVzLmNob2ljZXNbMF0gLy8gZ2V0VG9vbENhbGxGcm9tR2VuZXJhdGUg5L+d6K+B5LqGIGNob2ljZSDogq/lrprlrZjlnKhcblxuICAgICAgICBhd2FpdCBvblN0ZXBGaW5pc2g/Lih7XG4gICAgICAgICAgZmluaXNoUmVhc29uOiBjaG9pY2UuZmluaXNoX3JlYXNvbixcbiAgICAgICAgICBtZXNzYWdlczogaW5wdXQubWVzc2FnZXMuc2xpY2UoKSxcbiAgICAgICAgICB0ZXh0OiBjaG9pY2UubWVzc2FnZS5jb250ZW50LFxuICAgICAgICAgIHRvb2xDYWxsLFxuICAgICAgICAgIHRvb2xSZXN1bHQ6IHRvb2xDYWxsUmVzdWx0LFxuICAgICAgICAgIHN0ZXBVc2FnZSxcbiAgICAgICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICAgICAgfSlcblxuICAgICAgICBwdXNoTmV3TWVzc2FnZXMoaW5wdXQubWVzc2FnZXMsIGNob2ljZS5tZXNzYWdlIGFzIFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSwgdG9vbENhbGxSZXN1bHQpIC8vIOeUqOiwg+eUqOe7k+aenOS/ruaUueacgOaWsOeahOa2iOaBr1xuXG4gICAgICAgIGN1cnJlbnRSZXMgPSBhd2FpdCBkb0dlbmVyYXRlKCkgLy8g5b6q546v5a+56K+dXG4gICAgICAgIGN1cnJlbnRSZXMucmF3UmVzcG9uc2UgJiYgcmF3UmVzcG9uc2VzLnB1c2goY3VycmVudFJlcy5yYXdSZXNwb25zZSlcbiAgICAgICAgY3VycmVudFN0ZXAgKz0gMVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgIG1lc3NhZ2VzOiBpbnB1dC5tZXNzYWdlcyxcbiAgICAgICAgICB1c2FnZTogdG90YWxVc2FnZSxcbiAgICAgICAgICBlcnJvcjogZSxcbiAgICAgICAgICByYXdSZXNwb25zZXMsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBsYXN0Q2hvaWNlID0gY3VycmVudFJlcz8uY2hvaWNlcz8uWzBdXG4gICAgY29uc3QgbGFzdE1lc3NhZ2UgPSBsYXN0Q2hvaWNlPy5tZXNzYWdlXG5cbiAgICBjb25zdCB0ZXh0ID0gbGFzdE1lc3NhZ2U/LmNvbnRlbnQgPz8gJydcbiAgICBjb25zdCBtZXNzYWdlcyA9IGxhc3RNZXNzYWdlID8gWy4uLmlucHV0Lm1lc3NhZ2VzLCBsYXN0TWVzc2FnZV0gOiBpbnB1dC5tZXNzYWdlc1xuXG4gICAgY29uc3Qgc3RlcFVzYWdlID0gY3JlYXRlU29saWRVc2FnZShjdXJyZW50UmVzLnVzYWdlKVxuICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgc3RlcFVzYWdlKVxuXG4gICAgYXdhaXQgb25TdGVwRmluaXNoPy4oe1xuICAgICAgZmluaXNoUmVhc29uOiBsYXN0Q2hvaWNlLmZpbmlzaF9yZWFzb24sXG4gICAgICBtZXNzYWdlczogbWVzc2FnZXMuc2xpY2UoKSxcbiAgICAgIHRleHQsXG4gICAgICB0b29sQ2FsbDogZ2V0VG9vbENhbGxGcm9tR2VuZXJhdGUoY3VycmVudFJlcyksXG4gICAgICB0b29sUmVzdWx0OiBudWxsLFxuICAgICAgc3RlcFVzYWdlLFxuICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgfSlcblxuICAgIHJldHVybiB7XG4gICAgICB0ZXh0LFxuICAgICAgbWVzc2FnZXMsXG4gICAgICB1c2FnZTogdG90YWxVc2FnZSxcbiAgICAgIHJhd1Jlc3BvbnNlcyxcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3RyZWFtVGV4dChfaW5wdXQ6IFJlYWN0TW9kZWxJbnB1dCk6IFByb21pc2U8e1xuICAgIGRhdGFTdHJlYW06IERvU3RyZWFtT3V0cHV0XG4gICAgdGV4dFN0cmVhbTogQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtPHN0cmluZz5cbiAgICBtZXNzYWdlczogUHJvbWlzZTxBcnJheTxDaGF0TW9kZWxNZXNzYWdlPj5cbiAgICB1c2FnZTogUHJvbWlzZTxVc2FnZT5cbiAgICBlcnJvcj86IGFueVxuICB9PiB7XG4gICAgY29uc3QgdG90YWxVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuXG4gICAgY29uc3QgW3sgb25TdGVwRmluaXNoLCBtYXhTdGVwcyA9IDEwIH0sIGlucHV0XSA9IHByb2Nlc3NJbnB1dChfaW5wdXQpXG4gICAgY29uc3QgZG9TdHJlYW0gPSAoKSA9PiB0aGlzLm1vZGVsLmRvU3RyZWFtKGlucHV0KSAvLyDlkI7nu63ku6PnoIHkvJrnm7TmjqXlr7kgaW5wdXQubWVzc2FnZXMg5Y6f5Zyw5L+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==
478
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsYUFBYSxFQUNiLDBCQUEwQixFQUMxQix1QkFBdUIsR0FDeEIsTUFBTSxVQUFVLENBQUE7QUF3Q2pCLFNBQVMsWUFBWSxDQUFDLEdBQW9COztJQUNoQyxJQUFBLFlBQVksR0FBb0QsR0FBRyxhQUF2RCxFQUFFLFdBQVcsR0FBdUMsR0FBRyxZQUExQyxFQUFFLFFBQVEsR0FBNkIsR0FBRyxTQUFoQyxFQUFFLElBQUksR0FBdUIsR0FBRyxLQUExQixFQUFFLFVBQVUsR0FBVyxHQUFHLFdBQWQsRUFBSyxDQUFDLFVBQUssR0FBRyxFQUFyRSxpRUFBK0QsQ0FBRixDQUFRO0lBRTNFLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtLQUN0RDtJQUVELE9BQU87UUFDTCxFQUFFLFlBQVksY0FBQSxFQUFFLFdBQVcsYUFBQSxFQUFFLFFBQVEsVUFBQSxFQUFFOzhCQUVsQyxDQUFDLEtBQ0osS0FBSyxFQUFFLE1BQUEsQ0FBQyxDQUFDLEtBQUssMENBQUUsR0FBRyxDQUFDLFVBQUMsSUFBSTtnQkFDdkIsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO29CQUNoQixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFBO2lCQUNyQztnQkFDRCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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QUN0RCxXQUFXLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUE7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIFRyYW5zZm9ybVN0cmVhbSxcbiAgY3JlYXRlUHJvbWlzZSxcbiAgaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsXG4gIGZ1bmN0aW9uVG9vbFRvTW9kZWxUb29sLFxufSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7XG4gIEJhc2VDaGF0TW9kZWxJbnB1dCxcbiAgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmssXG4gIERvU3RyZWFtT3V0cHV0LFxuICBEb0dlbmVyYXRlT3V0cHV0LFxuICBTaW1wbGVDaGF0TW9kZWwsXG4gIFRvb2xDYWxsLFxuICBDaGF0TW9kZWxNZXNzYWdlLFxuICBBc3luY0l0ZXJhYmxlUmVhZGFibGVTdHJlYW0sXG4gIFVzYWdlLFxuICBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsXG4gIE1vZGVsVG9vbCxcbiAgRnVuY3Rpb25Ub29sLFxuICBSZXFPcHRpb25zLFxufSBmcm9tICcuLi90eXBlJ1xuXG50eXBlIFJlYWN0TW9kZWxJbnB1dCA9IFJlYWN0UHJvcHMgJlxuT21pdDxCYXNlQ2hhdE1vZGVsSW5wdXQsICd0b29scyc+ICYge1xuICB0b29scz86IEFycmF5PE1vZGVsVG9vbCB8IEZ1bmN0aW9uVG9vbD5cbiAgdG9wUD86IG51bWJlclxuICB0b29sQ2hvaWNlPzogJ25vbmUnIHwgJ2F1dG8nIHwgJ2N1c3RvbSdcbn1cblxuaW50ZXJmYWNlIElPblN0ZXBGaW5pc2gge1xuICBtZXNzYWdlczogQXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT5cbiAgdGV4dD86IHN0cmluZ1xuICB0b29sQ2FsbD86IFRvb2xDYWxsXG4gIHRvb2xSZXN1bHQ/OiB1bmtub3duXG4gIGZpbmlzaFJlYXNvbj86IHN0cmluZ1xuICBzdGVwVXNhZ2U/OiBVc2FnZVxuICB0b3RhbFVzYWdlPzogVXNhZ2Vcbn1cblxuaW50ZXJmYWNlIFJlYWN0UHJvcHMge1xuICBtYXhTdGVwcz86IG51bWJlclxuICBvblN0ZXBGaW5pc2g/OiAocHJvcDogSU9uU3RlcEZpbmlzaCkgPT4gdW5rbm93blxuICBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsIC8vIFRPRE86IOWunueOsCBhYm9ydFNpZ25hbFxufVxuXG5mdW5jdGlvbiBwcm9jZXNzSW5wdXQob2JqOiBSZWFjdE1vZGVsSW5wdXQpOiBbUmVhY3RQcm9wcywgQmFzZUNoYXRNb2RlbElucHV0XSB7XG4gIGNvbnN0IHsgb25TdGVwRmluaXNoLCBhYm9ydFNpZ25hbCwgbWF4U3RlcHMsIHRvcFAsIHRvb2xDaG9pY2UsIC4uLmIgfSA9IG9ialxuXG4gIGlmIChtYXhTdGVwcyAhPSBudWxsICYmIG1heFN0ZXBzIDwgMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignYG1heFN0ZXBzYCBtdXNlIGJlIGdyZWF0ZXIgdGhhbiAwLicpXG4gIH1cblxuICByZXR1cm4gW1xuICAgIHsgb25TdGVwRmluaXNoLCBhYm9ydFNpZ25hbCwgbWF4U3RlcHMgfSxcbiAgICB7XG4gICAgICAuLi5iLFxuICAgICAgdG9vbHM6IGIudG9vbHM/Lm1hcCgodG9vbCkgPT4ge1xuICAgICAgICBpZiAoJ2ZuJyBpbiB0b29sKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uVG9vbFRvTW9kZWxUb29sKHRvb2wpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRvb2xcbiAgICAgIH0pLFxuICAgICAgdG9wX3A6IHRvcFAgIT0gbnVsbCA/IHRvcFAgOiBiLnRvcF9wLFxuICAgICAgdG9vbF9jaG9pY2U6IHRvb2xDaG9pY2UgIT0gbnVsbCA/IHRvb2xDaG9pY2UgOiBiLnRvb2xfY2hvaWNlLFxuICAgIH0sXG4gIF1cbn1cblxuZXhwb3J0IGNsYXNzIFJlYWN0TW9kZWwge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGVsOiBTaW1wbGVDaGF0TW9kZWwpIHt9XG5cbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlVGV4dChfaW5wdXQ6IFJlYWN0TW9kZWxJbnB1dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpOiBQcm9taXNlPHtcbiAgICB0ZXh0OiBzdHJpbmdcbiAgICBtZXNzYWdlczogQXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT5cbiAgICB1c2FnZTogVXNhZ2VcbiAgICByYXdSZXNwb25zZXM6IEFycmF5PHVua25vd24+XG4gICAgZXJyb3I/OiBhbnlcbiAgfT4ge1xuICAgIGNvbnN0IHJhd1Jlc3BvbnNlcyA9IFtdXG4gICAgY29uc3QgdG90YWxVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuXG4gICAgY29uc3QgW3sgb25TdGVwRmluaXNoLCBtYXhTdGVwcyA9IDEwIH0sIGlucHV0XSA9IHByb2Nlc3NJbnB1dChfaW5wdXQpXG5cbiAgICBjb25zdCBkb0dlbmVyYXRlID0gKCkgPT4gdGhpcy5tb2RlbC5kb0dlbmVyYXRlKGlucHV0LCBvcHRpb25zKSAvLyDlkI7nu63ku6PnoIHkvJrnm7TmjqXlr7kgaW5wdXQubWVzc2FnZXMg5Y6f5Zyw5L+u5pS577yM6L+Z6YeM5LiA55u055So5ZCM5LiA5Liq5a+56LGh5bCx6KGMXG4gICAgbGV0IGN1cnJlbnRSZXMgPSBhd2FpdCBkb0dlbmVyYXRlKClcbiAgICBsZXQgY3VycmVudFN0ZXAgPSAxXG4gICAgY3VycmVudFJlcy5yYXdSZXNwb25zZSAmJiByYXdSZXNwb25zZXMucHVzaChjdXJyZW50UmVzLnJhd1Jlc3BvbnNlKVxuXG4gICAgbGV0IHRvb2xDYWxsOiBUb29sQ2FsbCB8IG51bGwgPSBudWxsXG5cbiAgICAvLyBUT0RPOiDkuIDmrKHlr7nor53mnInlpJrkuKogdG9vbCBjYWxsPyDnm67liY3msqHmnInov5nnp43njrDosaHvvIzmmoLml7bkuI3lpITnkIZcbiAgICB3aGlsZSAoY3VycmVudFN0ZXAgPCBtYXhTdGVwcyAmJiAodG9vbENhbGwgPSBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZShjdXJyZW50UmVzKSkgIT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RlcFVzYWdlID0gY3JlYXRlU29saWRVc2FnZShjdXJyZW50UmVzLnVzYWdlKVxuICAgICAgYWRkVG9Vc2FnZSh0b3RhbFVzYWdlLCBzdGVwVXNhZ2UpXG5cbiAgICAgIC8vIOW9k+WIpOaWremcgOimgeW3peWFt+iwg+eUqOaXtlxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9vbENhbGxSZXN1bHQgPSBhd2FpdCBjYWxsVG9vbCh0b29sQ2FsbCkgLy8g6LCD55SoXG5cbiAgICAgICAgY29uc3QgY2hvaWNlID0gY3VycmVudFJlcy5jaG9pY2VzWzBdIC8vIGdldFRvb2xDYWxsRnJvbUdlbmVyYXRlIOS/neivgeS6hiBjaG9pY2Ug6IKv5a6a5a2Y5ZyoXG5cbiAgICAgICAgYXdhaXQgb25TdGVwRmluaXNoPy4oe1xuICAgICAgICAgIGZpbmlzaFJlYXNvbjogY2hvaWNlLmZpbmlzaF9yZWFzb24sXG4gICAgICAgICAgbWVzc2FnZXM6IGlucHV0Lm1lc3NhZ2VzLnNsaWNlKCksXG4gICAgICAgICAgdGV4dDogY2hvaWNlLm1lc3NhZ2UuY29udGVudCxcbiAgICAgICAgICB0b29sQ2FsbCxcbiAgICAgICAgICB0b29sUmVzdWx0OiB0b29sQ2FsbFJlc3VsdCxcbiAgICAgICAgICBzdGVwVXNhZ2UsXG4gICAgICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgICAgIH0pXG5cbiAgICAgICAgcHVzaE5ld01lc3NhZ2VzKGlucHV0Lm1lc3NhZ2VzLCBjaG9pY2UubWVzc2FnZSBhcyBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsIHRvb2xDYWxsUmVzdWx0KSAvLyDnlKjosIPnlKjnu5Pmnpzkv67mlLnmnIDmlrDnmoTmtojmga9cblxuICAgICAgICBjdXJyZW50UmVzID0gYXdhaXQgZG9HZW5lcmF0ZSgpIC8vIOW+queOr+WvueivnVxuICAgICAgICBjdXJyZW50UmVzLnJhd1Jlc3BvbnNlICYmIHJhd1Jlc3BvbnNlcy5wdXNoKGN1cnJlbnRSZXMucmF3UmVzcG9uc2UpXG4gICAgICAgIGN1cnJlbnRTdGVwICs9IDFcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgICBtZXNzYWdlczogaW5wdXQubWVzc2FnZXMsXG4gICAgICAgICAgdXNhZ2U6IHRvdGFsVXNhZ2UsXG4gICAgICAgICAgZXJyb3I6IGUsXG4gICAgICAgICAgcmF3UmVzcG9uc2VzLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdENob2ljZSA9IGN1cnJlbnRSZXM/LmNob2ljZXM/LlswXVxuICAgIGNvbnN0IGxhc3RNZXNzYWdlID0gbGFzdENob2ljZT8ubWVzc2FnZVxuXG4gICAgY29uc3QgdGV4dCA9IGxhc3RNZXNzYWdlPy5jb250ZW50ID8/ICcnXG4gICAgY29uc3QgbWVzc2FnZXMgPSBsYXN0TWVzc2FnZSA/IFsuLi5pbnB1dC5tZXNzYWdlcywgbGFzdE1lc3NhZ2VdIDogaW5wdXQubWVzc2FnZXNcblxuICAgIGNvbnN0IHN0ZXBVc2FnZSA9IGNyZWF0ZVNvbGlkVXNhZ2UoY3VycmVudFJlcy51c2FnZSlcbiAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHN0ZXBVc2FnZSlcblxuICAgIGF3YWl0IG9uU3RlcEZpbmlzaD8uKHtcbiAgICAgIGZpbmlzaFJlYXNvbjogbGFzdENob2ljZS5maW5pc2hfcmVhc29uLFxuICAgICAgbWVzc2FnZXM6IG1lc3NhZ2VzLnNsaWNlKCksXG4gICAgICB0ZXh0LFxuICAgICAgdG9vbENhbGw6IGdldFRvb2xDYWxsRnJvbUdlbmVyYXRlKGN1cnJlbnRSZXMpLFxuICAgICAgdG9vbFJlc3VsdDogbnVsbCxcbiAgICAgIHN0ZXBVc2FnZSxcbiAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgdGV4dCxcbiAgICAgIG1lc3NhZ2VzLFxuICAgICAgdXNhZ2U6IHRvdGFsVXNhZ2UsXG4gICAgICByYXdSZXNwb25zZXMsXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHN0cmVhbVRleHQoX2lucHV0OiBSZWFjdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTx7XG4gICAgZGF0YVN0cmVhbTogRG9TdHJlYW1PdXRwdXRcbiAgICB0ZXh0U3RyZWFtOiBBc3luY0l0ZXJhYmxlUmVhZGFibGVTdHJlYW08c3RyaW5nPlxuICAgIG1lc3NhZ2VzOiBQcm9taXNlPEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+PlxuICAgIHVzYWdlOiBQcm9taXNlPFVzYWdlPlxuICAgIGVycm9yPzogYW55XG4gIH0+IHtcbiAgICBjb25zdCB0b3RhbFVzYWdlOiBVc2FnZSA9IHsgY29tcGxldGlvbl90b2tlbnM6IDAsIHByb21wdF90b2tlbnM6IDAsIHRvdGFsX3Rva2VuczogMCB9XG5cbiAgICBjb25zdCBbeyBvblN0ZXBGaW5pc2gsIG1heFN0ZXBzID0gMTAgfSwgaW5wdXRdID0gcHJvY2Vzc0lucHV0KF9pbnB1dClcbiAgICBjb25zdCBkb1N0cmVhbSA9ICgpID0+IHRoaXMubW9kZWwuZG9TdHJlYW0oaW5wdXQsIG9wdGlvbnMpIC8vIOWQjue7reS7o+eggeS8muebtOaOpeWvuSBpbnB1dC5tZXNzYWdlcyDljp/lnLDkv67mlLnvvIzov5nph4zkuIDnm7TnlKjlkIzkuIDkuKrlr7nosaHlsLHooYxcbiAgICBsZXQgY3VycmVudFJlcyA9IGF3YWl0IGRvU3RyZWFtKClcbiAgICBjb25zdCBjdXJyZW50U3RlcCA9IDFcbiAgICBsZXQgcmVhZFJlc3VsdDogeyBtZXNzYWdlOiBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2U7IHVzYWdlOiBVc2FnZSB9IHwgbnVsbCA9IG51bGxcblxuICAgIGNvbnN0IHJlYWRDdXJyZW50U3RyZWFtID0gKCkgPT4ge1xuICAgICAgY29uc3QgW29sZFN0cmVhbSwgbmV3U3RyZWFtXSA9IGN1cnJlbnRSZXMudGVlKClcbiAgICAgIGN1cnJlbnRSZXMgPSBjcmVhdGVBc3luY0l0ZXJhYmxlKG9sZFN0cmVhbSlcbiAgICAgIHJldHVybiByZWFkRnVuY3Rpb25DYWxsU3RyZWFtKG5ld1N0cmVhbSlcbiAgICB9XG5cbiAgICAvLyBUT0RPOiDkuIDmrKHlr7nor53mnInlpJrkuKogdG9vbCBjYWxsPyDnm67liY3msqHmnInov5nnp43njrDosaHvvIzmmoLml7bkuI3lpITnkIZcbiAgICAvLyDov5nph4zlkowgZ2VuZXJhdGVUZXh0IOS4jeWkquS4gOagt++8jOmZpOS6huino+aekOWHuiB0b29sQ2FsbCDlpJbvvIzov5jpnIDopoHku47mtYHkuK3mnoTpgKDlh7rlhbbku5blrozmlbTnmoTkv6Hmga9cbiAgICB3aGlsZSAoY3VycmVudFN0ZXAgPCBtYXhTdGVwcyAmJiAocmVhZFJlc3VsdCA9IGF3YWl0IHJlYWRDdXJyZW50U3RyZWFtKCkpICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgbWVzc2FnZTogYXNzaXN0YW50TWVzc2FnZSwgdXNhZ2U6IHN0ZXBVc2FnZSB9ID0gcmVhZFJlc3VsdFxuICAgICAgYWRkVG9Vc2FnZSh0b3RhbFVzYWdlLCBzdGVwVXNhZ2UpXG5cbiAgICAgIC8vIOW9k+WIpOaWremcgOimgeW3peWFt+iwg+eUqOaXtlxuICAgICAgY29uc3QgdG9vbENhbGwgPSBhc3Npc3RhbnRNZXNzYWdlLnRvb2xfY2FsbHM/LlswXSAvLyDov5nkuKogdG9vbENhbGwg5LiA5a6a5a2Y5ZyoXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0b29sQ2FsbFJlc3VsdCA9IGF3YWl0IGNhbGxUb29sKHRvb2xDYWxsKSAvLyDosIPnlKhcblxuICAgICAgICBhd2FpdCBvblN0ZXBGaW5pc2g/Lih7XG4gICAgICAgICAgZmluaXNoUmVhc29uOiAndG9vbF9jYWxscycsXG4gICAgICAgICAgbWVzc2FnZXM6IGlucHV0Lm1lc3NhZ2VzLnNsaWNlKCksXG4gICAgICAgICAgdGV4dDogYXNzaXN0YW50TWVzc2FnZS5jb250ZW50LFxuICAgICAgICAgIHRvb2xDYWxsLFxuICAgICAgICAgIHRvb2xSZXN1bHQ6IHRvb2xDYWxsUmVzdWx0LFxuICAgICAgICAgIHN0ZXBVc2FnZSxcbiAgICAgICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICAgICAgfSlcblxuICAgICAgICBwdXNoTmV3TWVzc2FnZXMoaW5wdXQubWVzc2FnZXMsIGFzc2lzdGFudE1lc3NhZ2UsIHRvb2xDYWxsUmVzdWx0KSAvLyDnlKjosIPnlKjnu5Pmnpzkv67mlLnmnIDmlrDnmoTmtojmga9cbiAgICAgICAgY3VycmVudFJlcyA9IGF3YWl0IGRvU3RyZWFtKCkgLy8g5b6q546v5a+56K+dXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnN0IFtzMSwgczJdID0gY3VycmVudFJlcy50ZWUoKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1lc3NhZ2VzOiBQcm9taXNlLnJlc29sdmUoaW5wdXQubWVzc2FnZXMpLFxuICAgICAgICAgIGRhdGFTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczEpLFxuICAgICAgICAgIHRleHRTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczIucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgICAgICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgICAgY29uc3Qgc3RyID0gY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LmNvbnRlbnRcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnKSBjb250cm9sbGVyLmVucXVldWUoc3RyKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSwpLCksXG4gICAgICAgICAgdXNhZ2U6IFByb21pc2UucmVzb2x2ZSh0b3RhbFVzYWdlKSxcbiAgICAgICAgICBlcnJvcjogZSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOacgOWQjui/lOWbnuaXtu+8jOacieWHoOenjeaDheWGte+8mlxuICAgICAqIDEuIOayoei2hSBtYXhTdGVwIOaXoOW3peWFt+iwg+eUqFxuICAgICAqIDIuIOi2heS6hiBtYXhTdGVwIOacieW3peWFt+iwg+eUqFxuICAgICAqIDMuIOi2heS6hiBtYXhTdGVwIOaXoOW3peWFt+iwg+eUqFxuICAgICAqIG5ldmVyLiDmsqHotoUgbWF4U3RlcO+8jOacieW3peWFt+iwg+eUqO+8jOi/meaXtuWAmeS8mui/m+WIsOS4iumdoueahCB3aGlsZSDlvqrnjq8gYmxvY2sg5Lit5aSE55CGXG4gICAgICpcbiAgICAgKiDlhbbkuK0gMS4gMy4g5Y+v5Lul5ZCI5bm277yM5rKh5pyJ5bel5YW36LCD55So5bCx5bqU6K+l55u05o6l6L+U5Zue77yM5peg6K66IG1heFN0ZXBcbiAgICAgKlxuICAgICAqIOaJgOS7peWQiOW5tuS4uu+8mlxuICAgICAqIDEuIOaXoOW3peWFt+iwg+eUqFxuICAgICAqIDIuIOacieW3peWFt+iwg+eUqO+8jOS9huaYr+i2hei/hyBtYXhTdGVwXG4gICAgICpcbiAgICAgKiDov5nkuKTnp43mg4XlhrXpg73msqHov5vliLAgd2hpbGUg5b6q546vIGJsb2NrIOS4reWkhOeQhlxuICAgICAqIOaIkeS7rOmcgOimgSBhLiDloZ4gbWVzc2FnZSBiLiDnrpcgVXNhZ2UgYy4g6LCD55SoIG9uU3RlcEZpbmlzaFxuICAgICAqL1xuXG4gICAgcmVhZFJlc3VsdCA9IGF3YWl0IHJlYWRDdXJyZW50U3RyZWFtKClcblxuICAgIGlmIChyZWFkUmVzdWx0KSB7XG4gICAgICAvLyDmg4XlhrUgMiDmnInlt6XlhbfosIPnlKjvvIzkvYbmmK/otoXov4cgbWF4U3RlcFxuICAgICAgY29uc3QgeyBtZXNzYWdlLCB1c2FnZSB9ID0gcmVhZFJlc3VsdFxuICAgICAgYWRkVG9Vc2FnZSh0b3RhbFVzYWdlLCB1c2FnZSlcblxuICAgICAgY29uc3QgbWVzc2FnZXMgPSBbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdXG5cbiAgICAgIG9uU3RlcEZpbmlzaCh7XG4gICAgICAgIG1lc3NhZ2VzOiBtZXNzYWdlcy5zbGljZSgpLFxuICAgICAgICBmaW5pc2hSZWFzb246ICd0b29sX2NhbGwnLFxuICAgICAgICBzdGVwVXNhZ2U6IHVzYWdlLFxuICAgICAgICB0ZXh0OiBtZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgIHRvb2xDYWxsOiBtZXNzYWdlLnRvb2xfY2FsbHNbMF0sXG4gICAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgW3MxLCBzMl0gPSBjdXJyZW50UmVzLnRlZSgpXG4gICAgICByZXR1cm4ge1xuICAgICAgICBtZXNzYWdlczogUHJvbWlzZS5yZXNvbHZlKFsuLi5pbnB1dC5tZXNzYWdlcywgbWVzc2FnZV0pLFxuICAgICAgICBkYXRhU3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMxKSxcbiAgICAgICAgdGV4dFN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMi5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0ciA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmRlbHRhPy5jb250ZW50XG4gICAgICAgICAgICBpZiAodHlwZW9mIHN0ciA9PT0gJ3N0cmluZycpIGNvbnRyb2xsZXIuZW5xdWV1ZShzdHIpXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksKSwpLFxuICAgICAgICB1c2FnZTogUHJvbWlzZS5yZXNvbHZlKHRvdGFsVXNhZ2UpLFxuICAgICAgfVxuICAgIH1cbiAgICAvLyDmg4XlhrUgMSDml6Dlt6XlhbfosIPnlKhcbiAgICBjb25zdCBtZXNzYWdlUHJvbWlzZSA9IGNyZWF0ZVByb21pc2U8QXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT4+KClcbiAgICBjb25zdCB1c2FnZVByb21pc2UgPSBjcmVhdGVQcm9taXNlPFVzYWdlPigpXG5cbiAgICBjb25zdCBtZXNzYWdlOiBDaGF0TW9kZWxNZXNzYWdlID0ge1xuICAgICAgcm9sZTogJ2Fzc2lzdGFudCcsXG4gICAgICBjb250ZW50OiAnJyxcbiAgICB9XG4gICAgbGV0IGZpbmlzaFJlYXNvbiA9ICcnXG4gICAgY29uc3Qgc3RlcFVzYWdlOiBVc2FnZSA9IHsgY29tcGxldGlvbl90b2tlbnM6IDAsIHByb21wdF90b2tlbnM6IDAsIHRvdGFsX3Rva2VuczogMCB9XG5cbiAgICBjb25zdCBvcmlnaW5TdHJlYW0gPSBjdXJyZW50UmVzLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIC8vIOS4jeaUueWPmCBjaHVuayDlhoXlrrnvvIzlj6rmmK/mi6bmiKrkuIvlhoXlrrnmi7zmnIDlkI7nmoTnu5PmnpxcbiAgICAgICAgY29uc3QgY29udGVudCA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmRlbHRhPy5jb250ZW50XG4gICAgICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBtZXNzYWdlLmNvbnRlbnQgKz0gY29udGVudFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVhc29uID0gY2h1bms/LmNob2ljZXM/LlswXT8uZmluaXNoX3JlYXNvblxuICAgICAgICBpZiAocmVhc29uKSBmaW5pc2hSZWFzb24gPSByZWFzb25cblxuICAgICAgICAvLyBUT0RPOiDkuI3lkIzlpKfmqKHlnovnmoQgc3RyZWFtIHVzYWdlIOagvOW8j+S4jeS4gOagt++8jOWQjue7reWPr+iDveimgeiwg+aVtC5cbiAgICAgICAgLy8gaHVueXVhbiDmr4/kuKogY2h1bmsg6YO95Lya5pyJIHVzYWdl77yM6YCQ5q2l5aKe5Yqg77yM5Lul5pyA5ZCO5LiA5Liq55qE5Li65YeGO1xuICAgICAgICAvLyB6aGlwdSDmnIDlkI4gY2h1bmsg5Lya5pyJIHVzYWdlO1xuICAgICAgICBpZiAoY2h1bms/LnVzYWdlPy5jb21wbGV0aW9uX3Rva2Vucykgc3RlcFVzYWdlLmNvbXBsZXRpb25fdG9rZW5zID0gY2h1bmsudXNhZ2UuY29tcGxldGlvbl90b2tlbnNcbiAgICAgICAgaWYgKGNodW5rPy51c2FnZT8ucHJvbXB0X3Rva2Vucykgc3RlcFVzYWdlLnByb21wdF90b2tlbnMgPSBjaHVuay51c2FnZS5wcm9tcHRfdG9rZW5zXG4gICAgICAgIGlmIChjaHVuaz8udXNhZ2U/LnRvdGFsX3Rva2Vucykgc3RlcFVzYWdlLnRvdGFsX3Rva2VucyA9IGNodW5rLnVzYWdlLnRvdGFsX3Rva2Vuc1xuXG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuaylcbiAgICAgIH0sXG4gICAgICBmbHVzaCgpIHtcbiAgICAgICAgbWVzc2FnZVByb21pc2UucmVzKFsuLi5pbnB1dC5tZXNzYWdlcywgbWVzc2FnZV0pXG4gICAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgc3RlcFVzYWdlKVxuICAgICAgICB1c2FnZVByb21pc2UucmVzKE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpKVxuICAgICAgICBvblN0ZXBGaW5pc2g/Lih7XG4gICAgICAgICAgbWVzc2FnZXM6IFsuLi5pbnB1dC5tZXNzYWdlcywgbWVzc2FnZV0sXG4gICAgICAgICAgZmluaXNoUmVhc29uLFxuICAgICAgICAgIHRleHQ6IG1lc3NhZ2UuY29udGVudCxcbiAgICAgICAgICBzdGVwVXNhZ2UsXG4gICAgICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgIH0pLClcblxuICAgIGNvbnN0IFtzMSwgczJdID0gb3JpZ2luU3RyZWFtLnRlZSgpXG5cbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZXM6IG1lc3NhZ2VQcm9taXNlLnByb21pc2UsXG4gICAgICBkYXRhU3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMxKSxcbiAgICAgIHRleHRTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczIucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudFxuICAgICAgICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjb250ZW50KVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pLCksKSxcbiAgICAgIHVzYWdlOiB1c2FnZVByb21pc2UucHJvbWlzZSxcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VG9vbENhbGxGcm9tR2VuZXJhdGUob3V0cHV0OiBEb0dlbmVyYXRlT3V0cHV0KSB7XG4gIGNvbnN0IGNob2ljZSA9IG91dHB1dD8uY2hvaWNlcz8uWzBdXG5cbiAgaWYgKCFjaG9pY2UpIHJldHVybiBudWxsXG5cbiAgY29uc3QgeyBmaW5pc2hfcmVhc29uLCBtZXNzYWdlIH0gPSBjaG9pY2VcblxuICBpZiAoZmluaXNoX3JlYXNvbiAhPT0gJ3Rvb2xfY2FsbHMnKSByZXR1cm4gbnVsbFxuICBpZiAoIW1lc3NhZ2UpIHJldHVybiBudWxsXG4gIGlmICghaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UobWVzc2FnZSkpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIG1lc3NhZ2UudG9vbF9jYWxsc1swXVxufVxuXG5mdW5jdGlvbiBwdXNoTmV3TWVzc2FnZXMoXG4gIG1lc3NhZ2VzOiBBcnJheTxDaGF0TW9kZWxNZXNzYWdlPixcbiAgYXNzaXN0YW50TWVzc2FnZTogVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxuICB0b29sQ2FsbFJlc3VsdDogdW5rbm93bixcbikge1xuICBtZXNzYWdlcy5wdXNoKGFzc2lzdGFudE1lc3NhZ2UsIHtcbiAgICByb2xlOiAndG9vbCcsXG4gICAgdG9vbF9jYWxsX2lkOiBhc3Npc3RhbnRNZXNzYWdlLnRvb2xfY2FsbHNbMF0uaWQsXG4gICAgY29udGVudDogSlNPTi5zdHJpbmdpZnkodG9vbENhbGxSZXN1bHQpLFxuICB9KVxufVxuXG5hc3luYyBmdW5jdGlvbiByZWFkRnVuY3Rpb25DYWxsU3RyZWFtKHN0cmVhbTogUmVhZGFibGVTdHJlYW08QmFzZURvU3RyZWFtT3V0cHV0Q2h1bms+LCk6IFByb21pc2U8eyBtZXNzYWdlOiBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2U7IHVzYWdlOiBVc2FnZSB9IHwgbnVsbD4ge1xuICBjb25zdCBzdGVwVXNhZ2U6IFVzYWdlID0geyBjb21wbGV0aW9uX3Rva2VuczogMCwgcHJvbXB0X3Rva2VuczogMCwgdG90YWxfdG9rZW5zOiAwIH1cbiAgY29uc3QgYVN0cmVhbSA9IGNyZWF0ZUFzeW5jSXRlcmFibGUoc3RyZWFtKVxuXG4gIGNvbnN0IHJldFRvb2xDYWxsOiBUb29sQ2FsbCA9IHtcbiAgICBpZDogJycsXG4gICAgZnVuY3Rpb246IHtcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgYXJndW1lbnRzOiAnJyxcbiAgICB9LFxuICAgIHR5cGU6ICcnLFxuICB9XG5cbiAgY29uc3QgcmV0TWVzc2FnZTogVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlID0ge1xuICAgIHJvbGU6ICdhc3Npc3RhbnQnLFxuICAgIGNvbnRlbnQ6ICcnLFxuICAgIHRvb2xfY2FsbHM6IFtyZXRUb29sQ2FsbF0sXG4gIH1cblxuICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIGFTdHJlYW0pIHtcbiAgICBjb25zdCBjaG9pY2UgPSBjaHVuaz8uY2hvaWNlc1swXVxuICAgIGlmICghY2hvaWNlKSByZXR1cm4gbnVsbFxuXG4gICAgY29uc3QgeyBmaW5pc2hfcmVhc29uLCBkZWx0YSB9ID0gY2hvaWNlXG5cbiAgICBpZiAoZmluaXNoX3JlYXNvbiAhPT0gJ3Rvb2xfY2FsbHMnKSByZXR1cm4gbnVsbFxuICAgIGlmICghZGVsdGEpIGNvbnRpbnVlXG5cbiAgICBpZiAoZGVsdGEuY29udGVudCkgcmV0TWVzc2FnZS5jb250ZW50ICs9IGRlbHRhLmNvbnRlbnRcblxuICAgIGlmICghKCd0b29sX2NhbGxzJyBpbiBkZWx0YSkpIGNvbnRpbnVlXG4gICAgY29uc3QgdG9vbENhbGwgPSBkZWx0YT8udG9vbF9jYWxscz8uWzBdXG4gICAgaWYgKHRvb2xDYWxsPy5pZCkgcmV0VG9vbENhbGwuaWQgPSB0b29sQ2FsbC5pZFxuICAgIGlmICh0b29sQ2FsbD8udHlwZSkgcmV0VG9vbENhbGwudHlwZSA9IHRvb2xDYWxsLnR5cGVcbiAgICBpZiAodG9vbENhbGw/LmZ1bmN0aW9uPy5uYW1lKSByZXRUb29sQ2FsbC5mdW5jdGlvbi5uYW1lID0gdG9vbENhbGwuZnVuY3Rpb24ubmFtZVxuICAgIGlmICh0b29sQ2FsbD8uZnVuY3Rpb24/LmFyZ3VtZW50cykgcmV0VG9vbENhbGwuZnVuY3Rpb24uYXJndW1lbnRzICs9IHRvb2xDYWxsLmZ1bmN0aW9uLmFyZ3VtZW50c1xuXG4gICAgLy8gVE9ETzog5LiN5ZCM5aSn5qih5Z6L55qEIHN0cmVhbSB1c2FnZSDmoLzlvI/kuI3kuIDmoLfvvIzlkI7nu63lj6/og73opoHosIPmlbQuXG4gICAgLy8gaHVueXVhbiDmr4/kuKogY2h1bmsg6YO95Lya5pyJIHVzYWdl77yM6YCQ5q2l5aKe5Yqg77yM5Lul5pyA5ZCO5LiA5Liq55qE5Li65YeGO1xuICAgIC8vIHpoaXB1IOacgOWQjiBjaHVuayDkvJrmnIkgdXNhZ2U7XG4gICAgaWYgKGNodW5rPy51c2FnZT8uY29tcGxldGlvbl90b2tlbnMpIHN0ZXBVc2FnZS5jb21wbGV0aW9uX3Rva2VucyA9IGNodW5rLnVzYWdlLmNvbXBsZXRpb25fdG9rZW5zXG4gICAgaWYgKGNodW5rPy51c2FnZT8ucHJvbXB0X3Rva2Vucykgc3RlcFVzYWdlLnByb21wdF90b2tlbnMgPSBjaHVuay51c2FnZS5wcm9tcHRfdG9rZW5zXG4gICAgaWYgKGNodW5rPy51c2FnZT8udG90YWxfdG9rZW5zKSBzdGVwVXNhZ2UudG90YWxfdG9rZW5zID0gY2h1bmsudXNhZ2UudG90YWxfdG9rZW5zXG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lc3NhZ2U6IHJldE1lc3NhZ2UsXG4gICAgdXNhZ2U6IHN0ZXBVc2FnZSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdG9vbE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBDYWxsYWJsZUZ1bmN0aW9uPigpXG5cbmZ1bmN0aW9uIGNhbGxUb29sKHRvb2xDYWxsOiBUb29sQ2FsbCkge1xuICByZXR1cm4gdG9vbE1hcC5nZXQodG9vbENhbGwuZnVuY3Rpb24ubmFtZSkoSlNPTi5wYXJzZSh0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHMpKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTb2xpZFVzYWdlKHVzYWdlPzogUGFydGlhbDxVc2FnZT4pOiBVc2FnZSB7XG4gIHJldHVybiB7XG4gICAgY29tcGxldGlvbl90b2tlbnM6IHVzYWdlPy5jb21wbGV0aW9uX3Rva2VucyA/PyAwLFxuICAgIHByb21wdF90b2tlbnM6IHVzYWdlPy5wcm9tcHRfdG9rZW5zID8/IDAsXG4gICAgdG90YWxfdG9rZW5zOiB1c2FnZT8udG90YWxfdG9rZW5zID8/IDAsXG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkVG9Vc2FnZSh0YXJnZXRVc2FnZTogVXNhZ2UsIHNvdXJjZVVzYWdlOiBVc2FnZSkge1xuICB0YXJnZXRVc2FnZS5jb21wbGV0aW9uX3Rva2VucyArPSBzb3VyY2VVc2FnZS5jb21wbGV0aW9uX3Rva2Vuc1xuICB0YXJnZXRVc2FnZS5wcm9tcHRfdG9rZW5zICs9IHNvdXJjZVVzYWdlLnByb21wdF90b2tlbnNcbiAgdGFyZ2V0VXNhZ2UudG90YWxfdG9rZW5zICs9IHNvdXJjZVVzYWdlLnRvdGFsX3Rva2Vuc1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  export declare abstract class SimpleChatModel {
2
- abstract doGenerate(data: BaseChatModelInput): Promise<DoGenerateOutput>;
3
- abstract doStream(data: BaseChatModelInput): Promise<DoStreamOutput>;
2
+ abstract doGenerate(data: BaseChatModelInput, options?: ReqOptions): Promise<DoGenerateOutput>;
3
+ abstract doStream(data: BaseChatModelInput, options?: ReqOptions): Promise<DoStreamOutput>;
4
4
  }
5
5
  type RawResponse = {
6
6
  rawResponse?: any;
package/dist/esm/type.js CHANGED
@@ -4,4 +4,4 @@ var SimpleChatModel = (function () {
4
4
  return SimpleChatModel;
5
5
  }());
6
6
  export { SimpleChatModel };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQUE7SUFJQSxDQUFDO0lBQUQsc0JBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTaW1wbGVDaGF0TW9kZWwge1xuICBwdWJsaWMgYWJzdHJhY3QgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQpOiBQcm9taXNlPERvR2VuZXJhdGVPdXRwdXQ+XG5cbiAgcHVibGljIGFic3RyYWN0IGRvU3RyZWFtKGRhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCk6IFByb21pc2U8RG9TdHJlYW1PdXRwdXQ+XG59XG5cbnR5cGUgUmF3UmVzcG9uc2UgPSB7IHJhd1Jlc3BvbnNlPzogYW55IH1cblxuZXhwb3J0IHR5cGUgRG9HZW5lcmF0ZU91dHB1dCA9IEJhc2VEb0dlbmVyYXRlT3V0cHV0ICYgUmF3UmVzcG9uc2VcblxuZXhwb3J0IHR5cGUgRG9TdHJlYW1PdXRwdXQgPSBBc3luY0l0ZXJhYmxlUmVhZGFibGVTdHJlYW08QmFzZURvU3RyZWFtT3V0cHV0Q2h1bmsgJiBSYXdSZXNwb25zZT5cblxuZXhwb3J0IHR5cGUgQ2hhdE1vZGVsQ29uc3RydWN0b3IgPSB0eXBlb2YgU2ltcGxlQ2hhdE1vZGVsXG5cbmV4cG9ydCB0eXBlIEFzeW5jSXRlcmFibGVSZWFkYWJsZVN0cmVhbTxUPiA9IFJlYWRhYmxlU3RyZWFtPFQ+ICYge1xuICBbU3ltYm9sLmFzeW5jSXRlcmF0b3JdOiAoKSA9PiB7IG5leHQoKTogUHJvbWlzZTxJdGVyYXRvclJlc3VsdDxUPj4gfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNb2RlbFJlcUlucHV0IHtcbiAgdXJsOiBzdHJpbmdcbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgZGF0YT86IE9iamVjdFxuICBzdHJlYW0/OiBib29sZWFuLFxuICB0aW1lb3V0PzogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIE1vZGVsUmVxID0gPFQgZXh0ZW5kcyBJTW9kZWxSZXFJbnB1dD4oXG4gIHByb3BzOiBULFxuKSA9PiBUWydzdHJlYW0nXSBleHRlbmRzIHRydWUgPyBQcm9taXNlPFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+PiA6IFByb21pc2U8T2JqZWN0PlxuXG5leHBvcnQgaW50ZXJmYWNlIElCb3RSZXFJbnB1dCB7XG4gIHVybDogc3RyaW5nXG4gIG1ldGhvZDogc3RyaW5nXG4gIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIGRhdGE/OiBPYmplY3RcbiAgc3RyZWFtPzogYm9vbGVhblxuICB0aW1lb3V0PzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxT3B0aW9ucyB7XG4gIHRpbWVvdXQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgQm90UmVxID0gPFQgZXh0ZW5kcyBJQm90UmVxSW5wdXQ+KFxuICBwcm9wczogVCxcbikgPT4gVFsnc3RyZWFtJ10gZXh0ZW5kcyB0cnVlID8gUHJvbWlzZTxSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5Pj4gOiBQcm9taXNlPE9iamVjdD5cblxuZXhwb3J0IHR5cGUgVXNlck1lc3NhZ2UgPSB7XG4gIHJvbGU6ICd1c2VyJ1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU3lzdGVtTWVzc2FnZSA9IHtcbiAgcm9sZTogJ3N5c3RlbSdcbiAgY29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEFzc2lzdGFudE1lc3NhZ2UgPSBQbGFpbkFzc2lzdGFudE1lc3NhZ2UgfCBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2VcblxuZXhwb3J0IHR5cGUgUGxhaW5Bc3Npc3RhbnRNZXNzYWdlID0ge1xuICByb2xlOiAnYXNzaXN0YW50J1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlID0ge1xuICByb2xlOiAnYXNzaXN0YW50J1xuICB0b29sX2NhbGxzOiBBcnJheTxUb29sQ2FsbD5cbiAgY29udGVudD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBUb29sTWVzc2FnZSA9IHtcbiAgcm9sZTogJ3Rvb2wnXG4gIHRvb2xfY2FsbF9pZDogc3RyaW5nXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0TW9kZWxNZXNzYWdlID0gVXNlck1lc3NhZ2UgfCBTeXN0ZW1NZXNzYWdlIHwgQXNzaXN0YW50TWVzc2FnZSB8IFRvb2xNZXNzYWdlXG5cbmV4cG9ydCB0eXBlIEZ1bmN0aW9uVG9vbCA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgZm46IENhbGxhYmxlRnVuY3Rpb25cbiAgcGFyYW1ldGVyczogb2JqZWN0XG59XG5cbi8vICNyZWdpb24g5aSn5qih5Z6L5qCH5YeG6L6T5YWl57G75Z6LXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VDaGF0TW9kZWxJbnB1dCB7XG4gIG1vZGVsOiBzdHJpbmdcbiAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+XG4gIHRlbXBlcmF0dXJlPzogbnVtYmVyXG4gIHRvcF9wPzogbnVtYmVyXG4gIHRvb2xzPzogQXJyYXk8TW9kZWxUb29sPlxuICB0b29sX2Nob2ljZT86ICdub25lJyB8ICdhdXRvJyB8ICdjdXN0b20nXG59XG5cbi8qKlxuICog57uZIExMTSDlj5Hor7fmsYLml7bopoHkvKDnmoTlt6XlhbdcbiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxUb29sID0ge1xuICB0eXBlOiBzdHJpbmdcbiAgZnVuY3Rpb246IE1vZGVsVG9vbEZ1bmN0aW9uXG59XG5cbi8qKlxuICog57uZIExMTSDlj5Hor7fmsYLml7bopoHkvKDnmoTlt6Xlhbflh73mlbBcbiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxUb29sRnVuY3Rpb24gPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKlxuICAgKiDmj4/ov7Dlh73mlbDlj4LmlbDnmoQgSlNPTiBTY2hlbWFcbiAgICovXG4gIHBhcmFtZXRlcnM6IG9iamVjdFxufVxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjcmVnaW9uIOWkp+aooeWei+agh+WHhuWTjeW6lOexu+Wei1xuZXhwb3J0IHR5cGUgVG9vbENhbGwgPSB7XG4gIGlkOiBzdHJpbmdcbiAgdHlwZTogc3RyaW5nXG4gIGZ1bmN0aW9uOiB7IG5hbWU6IHN0cmluZzsgYXJndW1lbnRzOiBzdHJpbmcgfVxufVxuXG50eXBlIEZpbmlzaFJlYXNvbiA9ICd0b29sX2NhbGxzJyB8IChzdHJpbmcgJiB7fSlcblxuZXhwb3J0IHR5cGUgVXNhZ2UgPSB7XG4gIGNvbXBsZXRpb25fdG9rZW5zOiBudW1iZXJcbiAgcHJvbXB0X3Rva2VuczogbnVtYmVyXG4gIHRvdGFsX3Rva2VuczogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZURvR2VuZXJhdGVPdXRwdXQge1xuICBjaG9pY2VzPzogQXJyYXk8e1xuICAgIGZpbmlzaF9yZWFzb24/OiBGaW5pc2hSZWFzb25cbiAgICBtZXNzYWdlPzogQ2hhdE1vZGVsTWVzc2FnZVxuICB9PlxuICB1c2FnZT86IFVzYWdlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmsge1xuICBjaG9pY2VzPzogQXJyYXk8e1xuICAgIGZpbmlzaF9yZWFzb24/OiBGaW5pc2hSZWFzb25cbiAgICBkZWx0YT86IENoYXRNb2RlbE1lc3NhZ2VcbiAgfT5cbiAgdXNhZ2U/OiBVc2FnZVxufVxuLy8gI2VuZHJlZ2lvblxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQUE7SUFJQSxDQUFDO0lBQUQsc0JBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTaW1wbGVDaGF0TW9kZWwge1xuICBwdWJsaWMgYWJzdHJhY3QgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/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=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/ai",
3
- "version": "2.12.0",
3
+ "version": "2.13.0",
4
4
  "description": "cloudbase js sdk ai module",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -27,7 +27,7 @@
27
27
  "author": "",
28
28
  "license": "Apache-2.0",
29
29
  "dependencies": {
30
- "@cloudbase/types": "^2.12.0",
30
+ "@cloudbase/types": "^2.13.0",
31
31
  "@mattiasbuelens/web-streams-adapter": "^0.1.0",
32
32
  "text-encoding-shim": "^1.0.5",
33
33
  "web-streams-polyfill": "^4.0.0"
@@ -35,5 +35,5 @@
35
35
  "devDependencies": {
36
36
  "@cloudbase/adapter-interface": "^0.7.0"
37
37
  },
38
- "gitHead": "1f2a798f80bf40e043b59d97325025788ea750f3"
38
+ "gitHead": "da34e9916210df9b541036dc7001dfc8dc59a2d9"
39
39
  }
package/src/AI.ts CHANGED
@@ -96,10 +96,10 @@ export { AI }
96
96
  const GO_TO_AI_TEXT = '请检查调用方式,或前往云开发 AI+ 首页查看文档:https://tcb.cloud.tencent.com/dev#/ai'
97
97
 
98
98
  async function handleResponseData(responseData: Promise<unknown> | ReadableStream<Uint8Array>, header?: Headers) {
99
- if ('then' in responseData) {
99
+ if (typeof responseData === 'object' && responseData && 'then' in responseData) {
100
100
  // 非流式请求,直接返回 json 数据
101
101
  const json = (await responseData) as Record<string, unknown>
102
- if ('code' in json && json.code !== 'NORMAL') {
102
+ if (typeof json === 'object' && json && 'code' in json && json.code !== 'NORMAL') {
103
103
  throw new Error(`AI+ 请求出错,错误码:${json.code},错误信息:${json.message}\n${GO_TO_AI_TEXT}\n${JSON.stringify(
104
104
  json,
105
105
  null,
@@ -111,8 +111,8 @@ async function handleResponseData(responseData: Promise<unknown> | ReadableStrea
111
111
  }
112
112
  // 流式请求,如果接口出错,会变成传 json 格式的响应,通过 header 判断格式
113
113
  if (header?.get?.('content-type')?.includes('application/json')) {
114
- const json = await readableStream2JsonObject(responseData)
115
- if ('code' in json && json.code !== 'NORMAL') {
114
+ const json = await readableStream2JsonObject(responseData as ReadableStream<Uint8Array>)
115
+ if (typeof json === 'object' && json && 'code' in json && json.code !== 'NORMAL') {
116
116
  throw new Error(`AI+ 请求出错,错误码:${json.code},错误信息:${json.message}\n${GO_TO_AI_TEXT}\n${JSON.stringify(
117
117
  json,
118
118
  null,