joytalk 0.0.1

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.
@@ -0,0 +1,2297 @@
1
+ function Xe(e, t) {
2
+ return function() {
3
+ return e.apply(t, arguments);
4
+ };
5
+ }
6
+ const { toString: Rt } = Object.prototype, { getPrototypeOf: Ae } = Object, { iterator: le, toStringTag: Qe } = Symbol, ue = /* @__PURE__ */ ((e) => (t) => {
7
+ const n = Rt.call(t);
8
+ return e[n] || (e[n] = n.slice(8, -1).toLowerCase());
9
+ })(/* @__PURE__ */ Object.create(null)), F = (e) => (e = e.toLowerCase(), (t) => ue(t) === e), fe = (e) => (t) => typeof t === e, { isArray: z } = Array, J = fe("undefined");
10
+ function Q(e) {
11
+ return e !== null && !J(e) && e.constructor !== null && !J(e.constructor) && g(e.constructor.isBuffer) && e.constructor.isBuffer(e);
12
+ }
13
+ const Ye = F("ArrayBuffer");
14
+ function Ot(e) {
15
+ let t;
16
+ return typeof ArrayBuffer < "u" && ArrayBuffer.isView ? t = ArrayBuffer.isView(e) : t = e && e.buffer && Ye(e.buffer), t;
17
+ }
18
+ const At = fe("string"), g = fe("function"), Ze = fe("number"), Y = (e) => e !== null && typeof e == "object", gt = (e) => e === !0 || e === !1, oe = (e) => {
19
+ if (ue(e) !== "object")
20
+ return !1;
21
+ const t = Ae(e);
22
+ return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(Qe in e) && !(le in e);
23
+ }, Nt = (e) => {
24
+ if (!Y(e) || Q(e))
25
+ return !1;
26
+ try {
27
+ return Object.keys(e).length === 0 && Object.getPrototypeOf(e) === Object.prototype;
28
+ } catch {
29
+ return !1;
30
+ }
31
+ }, Ct = F("Date"), Ut = F("File"), _t = F("Blob"), Dt = F("FileList"), Ft = (e) => Y(e) && g(e.pipe), xt = (e) => {
32
+ let t;
33
+ return e && (typeof FormData == "function" && e instanceof FormData || g(e.append) && ((t = ue(e)) === "formdata" || // detect form-data instance
34
+ t === "object" && g(e.toString) && e.toString() === "[object FormData]"));
35
+ }, Lt = F("URLSearchParams"), [Pt, It, kt, Bt] = ["ReadableStream", "Request", "Response", "Headers"].map(F), jt = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
36
+ function Z(e, t, { allOwnKeys: n = !1 } = {}) {
37
+ if (e === null || typeof e > "u")
38
+ return;
39
+ let r, s;
40
+ if (typeof e != "object" && (e = [e]), z(e))
41
+ for (r = 0, s = e.length; r < s; r++)
42
+ t.call(null, e[r], r, e);
43
+ else {
44
+ if (Q(e))
45
+ return;
46
+ const o = n ? Object.getOwnPropertyNames(e) : Object.keys(e), i = o.length;
47
+ let c;
48
+ for (r = 0; r < i; r++)
49
+ c = o[r], t.call(null, e[c], c, e);
50
+ }
51
+ }
52
+ function et(e, t) {
53
+ if (Q(e))
54
+ return null;
55
+ t = t.toLowerCase();
56
+ const n = Object.keys(e);
57
+ let r = n.length, s;
58
+ for (; r-- > 0; )
59
+ if (s = n[r], t === s.toLowerCase())
60
+ return s;
61
+ return null;
62
+ }
63
+ const v = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, tt = (e) => !J(e) && e !== v;
64
+ function ye() {
65
+ const { caseless: e, skipUndefined: t } = tt(this) && this || {}, n = {}, r = (s, o) => {
66
+ const i = e && et(n, o) || o;
67
+ oe(n[i]) && oe(s) ? n[i] = ye(n[i], s) : oe(s) ? n[i] = ye({}, s) : z(s) ? n[i] = s.slice() : (!t || !J(s)) && (n[i] = s);
68
+ };
69
+ for (let s = 0, o = arguments.length; s < o; s++)
70
+ arguments[s] && Z(arguments[s], r);
71
+ return n;
72
+ }
73
+ const Ht = (e, t, n, { allOwnKeys: r } = {}) => (Z(t, (s, o) => {
74
+ n && g(s) ? e[o] = Xe(s, n) : e[o] = s;
75
+ }, { allOwnKeys: r }), e), vt = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), qt = (e, t, n, r) => {
76
+ e.prototype = Object.create(t.prototype, r), e.prototype.constructor = e, Object.defineProperty(e, "super", {
77
+ value: t.prototype
78
+ }), n && Object.assign(e.prototype, n);
79
+ }, $t = (e, t, n, r) => {
80
+ let s, o, i;
81
+ const c = {};
82
+ if (t = t || {}, e == null) return t;
83
+ do {
84
+ for (s = Object.getOwnPropertyNames(e), o = s.length; o-- > 0; )
85
+ i = s[o], (!r || r(i, e, t)) && !c[i] && (t[i] = e[i], c[i] = !0);
86
+ e = n !== !1 && Ae(e);
87
+ } while (e && (!n || n(e, t)) && e !== Object.prototype);
88
+ return t;
89
+ }, Mt = (e, t, n) => {
90
+ e = String(e), (n === void 0 || n > e.length) && (n = e.length), n -= t.length;
91
+ const r = e.indexOf(t, n);
92
+ return r !== -1 && r === n;
93
+ }, Jt = (e) => {
94
+ if (!e) return null;
95
+ if (z(e)) return e;
96
+ let t = e.length;
97
+ if (!Ze(t)) return null;
98
+ const n = new Array(t);
99
+ for (; t-- > 0; )
100
+ n[t] = e[t];
101
+ return n;
102
+ }, zt = /* @__PURE__ */ ((e) => (t) => e && t instanceof e)(typeof Uint8Array < "u" && Ae(Uint8Array)), Wt = (e, t) => {
103
+ const r = (e && e[le]).call(e);
104
+ let s;
105
+ for (; (s = r.next()) && !s.done; ) {
106
+ const o = s.value;
107
+ t.call(e, o[0], o[1]);
108
+ }
109
+ }, Gt = (e, t) => {
110
+ let n;
111
+ const r = [];
112
+ for (; (n = e.exec(t)) !== null; )
113
+ r.push(n);
114
+ return r;
115
+ }, Kt = F("HTMLFormElement"), Vt = (e) => e.toLowerCase().replace(
116
+ /[-_\s]([a-z\d])(\w*)/g,
117
+ function(n, r, s) {
118
+ return r.toUpperCase() + s;
119
+ }
120
+ ), Pe = (({ hasOwnProperty: e }) => (t, n) => e.call(t, n))(Object.prototype), Xt = F("RegExp"), nt = (e, t) => {
121
+ const n = Object.getOwnPropertyDescriptors(e), r = {};
122
+ Z(n, (s, o) => {
123
+ let i;
124
+ (i = t(s, o, e)) !== !1 && (r[o] = i || s);
125
+ }), Object.defineProperties(e, r);
126
+ }, Qt = (e) => {
127
+ nt(e, (t, n) => {
128
+ if (g(e) && ["arguments", "caller", "callee"].indexOf(n) !== -1)
129
+ return !1;
130
+ const r = e[n];
131
+ if (g(r)) {
132
+ if (t.enumerable = !1, "writable" in t) {
133
+ t.writable = !1;
134
+ return;
135
+ }
136
+ t.set || (t.set = () => {
137
+ throw Error("Can not rewrite read-only method '" + n + "'");
138
+ });
139
+ }
140
+ });
141
+ }, Yt = (e, t) => {
142
+ const n = {}, r = (s) => {
143
+ s.forEach((o) => {
144
+ n[o] = !0;
145
+ });
146
+ };
147
+ return z(e) ? r(e) : r(String(e).split(t)), n;
148
+ }, Zt = () => {
149
+ }, en = (e, t) => e != null && Number.isFinite(e = +e) ? e : t;
150
+ function tn(e) {
151
+ return !!(e && g(e.append) && e[Qe] === "FormData" && e[le]);
152
+ }
153
+ const nn = (e) => {
154
+ const t = new Array(10), n = (r, s) => {
155
+ if (Y(r)) {
156
+ if (t.indexOf(r) >= 0)
157
+ return;
158
+ if (Q(r))
159
+ return r;
160
+ if (!("toJSON" in r)) {
161
+ t[s] = r;
162
+ const o = z(r) ? [] : {};
163
+ return Z(r, (i, c) => {
164
+ const d = n(i, s + 1);
165
+ !J(d) && (o[c] = d);
166
+ }), t[s] = void 0, o;
167
+ }
168
+ }
169
+ return r;
170
+ };
171
+ return n(e, 0);
172
+ }, rn = F("AsyncFunction"), sn = (e) => e && (Y(e) || g(e)) && g(e.then) && g(e.catch), rt = ((e, t) => e ? setImmediate : t ? ((n, r) => (v.addEventListener("message", ({ source: s, data: o }) => {
173
+ s === v && o === n && r.length && r.shift()();
174
+ }, !1), (s) => {
175
+ r.push(s), v.postMessage(n, "*");
176
+ }))(`axios@${Math.random()}`, []) : (n) => setTimeout(n))(
177
+ typeof setImmediate == "function",
178
+ g(v.postMessage)
179
+ ), on = typeof queueMicrotask < "u" ? queueMicrotask.bind(v) : typeof process < "u" && process.nextTick || rt, an = (e) => e != null && g(e[le]), a = {
180
+ isArray: z,
181
+ isArrayBuffer: Ye,
182
+ isBuffer: Q,
183
+ isFormData: xt,
184
+ isArrayBufferView: Ot,
185
+ isString: At,
186
+ isNumber: Ze,
187
+ isBoolean: gt,
188
+ isObject: Y,
189
+ isPlainObject: oe,
190
+ isEmptyObject: Nt,
191
+ isReadableStream: Pt,
192
+ isRequest: It,
193
+ isResponse: kt,
194
+ isHeaders: Bt,
195
+ isUndefined: J,
196
+ isDate: Ct,
197
+ isFile: Ut,
198
+ isBlob: _t,
199
+ isRegExp: Xt,
200
+ isFunction: g,
201
+ isStream: Ft,
202
+ isURLSearchParams: Lt,
203
+ isTypedArray: zt,
204
+ isFileList: Dt,
205
+ forEach: Z,
206
+ merge: ye,
207
+ extend: Ht,
208
+ trim: jt,
209
+ stripBOM: vt,
210
+ inherits: qt,
211
+ toFlatObject: $t,
212
+ kindOf: ue,
213
+ kindOfTest: F,
214
+ endsWith: Mt,
215
+ toArray: Jt,
216
+ forEachEntry: Wt,
217
+ matchAll: Gt,
218
+ isHTMLForm: Kt,
219
+ hasOwnProperty: Pe,
220
+ hasOwnProp: Pe,
221
+ // an alias to avoid ESLint no-prototype-builtins detection
222
+ reduceDescriptors: nt,
223
+ freezeMethods: Qt,
224
+ toObjectSet: Yt,
225
+ toCamelCase: Vt,
226
+ noop: Zt,
227
+ toFiniteNumber: en,
228
+ findKey: et,
229
+ global: v,
230
+ isContextDefined: tt,
231
+ isSpecCompliantForm: tn,
232
+ toJSONObject: nn,
233
+ isAsyncFn: rn,
234
+ isThenable: sn,
235
+ setImmediate: rt,
236
+ asap: on,
237
+ isIterable: an
238
+ };
239
+ function E(e, t, n, r, s) {
240
+ Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack, this.message = e, this.name = "AxiosError", t && (this.code = t), n && (this.config = n), r && (this.request = r), s && (this.response = s, this.status = s.status ? s.status : null);
241
+ }
242
+ a.inherits(E, Error, {
243
+ toJSON: function() {
244
+ return {
245
+ // Standard
246
+ message: this.message,
247
+ name: this.name,
248
+ // Microsoft
249
+ description: this.description,
250
+ number: this.number,
251
+ // Mozilla
252
+ fileName: this.fileName,
253
+ lineNumber: this.lineNumber,
254
+ columnNumber: this.columnNumber,
255
+ stack: this.stack,
256
+ // Axios
257
+ config: a.toJSONObject(this.config),
258
+ code: this.code,
259
+ status: this.status
260
+ };
261
+ }
262
+ });
263
+ const st = E.prototype, ot = {};
264
+ [
265
+ "ERR_BAD_OPTION_VALUE",
266
+ "ERR_BAD_OPTION",
267
+ "ECONNABORTED",
268
+ "ETIMEDOUT",
269
+ "ERR_NETWORK",
270
+ "ERR_FR_TOO_MANY_REDIRECTS",
271
+ "ERR_DEPRECATED",
272
+ "ERR_BAD_RESPONSE",
273
+ "ERR_BAD_REQUEST",
274
+ "ERR_CANCELED",
275
+ "ERR_NOT_SUPPORT",
276
+ "ERR_INVALID_URL"
277
+ // eslint-disable-next-line func-names
278
+ ].forEach((e) => {
279
+ ot[e] = { value: e };
280
+ });
281
+ Object.defineProperties(E, ot);
282
+ Object.defineProperty(st, "isAxiosError", { value: !0 });
283
+ E.from = (e, t, n, r, s, o) => {
284
+ const i = Object.create(st);
285
+ a.toFlatObject(e, i, function(l) {
286
+ return l !== Error.prototype;
287
+ }, (u) => u !== "isAxiosError");
288
+ const c = e && e.message ? e.message : "Error", d = t == null && e ? e.code : t;
289
+ return E.call(i, c, d, n, r, s), e && i.cause == null && Object.defineProperty(i, "cause", { value: e, configurable: !0 }), i.name = e && e.name || "Error", o && Object.assign(i, o), i;
290
+ };
291
+ const cn = null;
292
+ function be(e) {
293
+ return a.isPlainObject(e) || a.isArray(e);
294
+ }
295
+ function it(e) {
296
+ return a.endsWith(e, "[]") ? e.slice(0, -2) : e;
297
+ }
298
+ function Ie(e, t, n) {
299
+ return e ? e.concat(t).map(function(s, o) {
300
+ return s = it(s), !n && o ? "[" + s + "]" : s;
301
+ }).join(n ? "." : "") : t;
302
+ }
303
+ function ln(e) {
304
+ return a.isArray(e) && !e.some(be);
305
+ }
306
+ const un = a.toFlatObject(a, {}, null, function(t) {
307
+ return /^is[A-Z]/.test(t);
308
+ });
309
+ function de(e, t, n) {
310
+ if (!a.isObject(e))
311
+ throw new TypeError("target must be an object");
312
+ t = t || new FormData(), n = a.toFlatObject(n, {
313
+ metaTokens: !0,
314
+ dots: !1,
315
+ indexes: !1
316
+ }, !1, function(m, h) {
317
+ return !a.isUndefined(h[m]);
318
+ });
319
+ const r = n.metaTokens, s = n.visitor || l, o = n.dots, i = n.indexes, d = (n.Blob || typeof Blob < "u" && Blob) && a.isSpecCompliantForm(t);
320
+ if (!a.isFunction(s))
321
+ throw new TypeError("visitor must be a function");
322
+ function u(f) {
323
+ if (f === null) return "";
324
+ if (a.isDate(f))
325
+ return f.toISOString();
326
+ if (a.isBoolean(f))
327
+ return f.toString();
328
+ if (!d && a.isBlob(f))
329
+ throw new E("Blob is not supported. Use a Buffer instead.");
330
+ return a.isArrayBuffer(f) || a.isTypedArray(f) ? d && typeof Blob == "function" ? new Blob([f]) : Buffer.from(f) : f;
331
+ }
332
+ function l(f, m, h) {
333
+ let y = f;
334
+ if (f && !h && typeof f == "object") {
335
+ if (a.endsWith(m, "{}"))
336
+ m = r ? m : m.slice(0, -2), f = JSON.stringify(f);
337
+ else if (a.isArray(f) && ln(f) || (a.isFileList(f) || a.endsWith(m, "[]")) && (y = a.toArray(f)))
338
+ return m = it(m), y.forEach(function(b, O) {
339
+ !(a.isUndefined(b) || b === null) && t.append(
340
+ // eslint-disable-next-line no-nested-ternary
341
+ i === !0 ? Ie([m], O, o) : i === null ? m : m + "[]",
342
+ u(b)
343
+ );
344
+ }), !1;
345
+ }
346
+ return be(f) ? !0 : (t.append(Ie(h, m, o), u(f)), !1);
347
+ }
348
+ const p = [], S = Object.assign(un, {
349
+ defaultVisitor: l,
350
+ convertValue: u,
351
+ isVisitable: be
352
+ });
353
+ function w(f, m) {
354
+ if (!a.isUndefined(f)) {
355
+ if (p.indexOf(f) !== -1)
356
+ throw Error("Circular reference detected in " + m.join("."));
357
+ p.push(f), a.forEach(f, function(y, C) {
358
+ (!(a.isUndefined(y) || y === null) && s.call(
359
+ t,
360
+ y,
361
+ a.isString(C) ? C.trim() : C,
362
+ m,
363
+ S
364
+ )) === !0 && w(y, m ? m.concat(C) : [C]);
365
+ }), p.pop();
366
+ }
367
+ }
368
+ if (!a.isObject(e))
369
+ throw new TypeError("data must be an object");
370
+ return w(e), t;
371
+ }
372
+ function ke(e) {
373
+ const t = {
374
+ "!": "%21",
375
+ "'": "%27",
376
+ "(": "%28",
377
+ ")": "%29",
378
+ "~": "%7E",
379
+ "%20": "+",
380
+ "%00": "\0"
381
+ };
382
+ return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, function(r) {
383
+ return t[r];
384
+ });
385
+ }
386
+ function ge(e, t) {
387
+ this._pairs = [], e && de(e, this, t);
388
+ }
389
+ const at = ge.prototype;
390
+ at.append = function(t, n) {
391
+ this._pairs.push([t, n]);
392
+ };
393
+ at.toString = function(t) {
394
+ const n = t ? function(r) {
395
+ return t.call(this, r, ke);
396
+ } : ke;
397
+ return this._pairs.map(function(s) {
398
+ return n(s[0]) + "=" + n(s[1]);
399
+ }, "").join("&");
400
+ };
401
+ function fn(e) {
402
+ return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
403
+ }
404
+ function ct(e, t, n) {
405
+ if (!t)
406
+ return e;
407
+ const r = n && n.encode || fn;
408
+ a.isFunction(n) && (n = {
409
+ serialize: n
410
+ });
411
+ const s = n && n.serialize;
412
+ let o;
413
+ if (s ? o = s(t, n) : o = a.isURLSearchParams(t) ? t.toString() : new ge(t, n).toString(r), o) {
414
+ const i = e.indexOf("#");
415
+ i !== -1 && (e = e.slice(0, i)), e += (e.indexOf("?") === -1 ? "?" : "&") + o;
416
+ }
417
+ return e;
418
+ }
419
+ class Be {
420
+ constructor() {
421
+ this.handlers = [];
422
+ }
423
+ /**
424
+ * Add a new interceptor to the stack
425
+ *
426
+ * @param {Function} fulfilled The function to handle `then` for a `Promise`
427
+ * @param {Function} rejected The function to handle `reject` for a `Promise`
428
+ *
429
+ * @return {Number} An ID used to remove interceptor later
430
+ */
431
+ use(t, n, r) {
432
+ return this.handlers.push({
433
+ fulfilled: t,
434
+ rejected: n,
435
+ synchronous: r ? r.synchronous : !1,
436
+ runWhen: r ? r.runWhen : null
437
+ }), this.handlers.length - 1;
438
+ }
439
+ /**
440
+ * Remove an interceptor from the stack
441
+ *
442
+ * @param {Number} id The ID that was returned by `use`
443
+ *
444
+ * @returns {void}
445
+ */
446
+ eject(t) {
447
+ this.handlers[t] && (this.handlers[t] = null);
448
+ }
449
+ /**
450
+ * Clear all interceptors from the stack
451
+ *
452
+ * @returns {void}
453
+ */
454
+ clear() {
455
+ this.handlers && (this.handlers = []);
456
+ }
457
+ /**
458
+ * Iterate over all the registered interceptors
459
+ *
460
+ * This method is particularly useful for skipping over any
461
+ * interceptors that may have become `null` calling `eject`.
462
+ *
463
+ * @param {Function} fn The function to call for each interceptor
464
+ *
465
+ * @returns {void}
466
+ */
467
+ forEach(t) {
468
+ a.forEach(this.handlers, function(r) {
469
+ r !== null && t(r);
470
+ });
471
+ }
472
+ }
473
+ const lt = {
474
+ silentJSONParsing: !0,
475
+ forcedJSONParsing: !0,
476
+ clarifyTimeoutError: !1
477
+ }, dn = typeof URLSearchParams < "u" ? URLSearchParams : ge, hn = typeof FormData < "u" ? FormData : null, pn = typeof Blob < "u" ? Blob : null, mn = {
478
+ isBrowser: !0,
479
+ classes: {
480
+ URLSearchParams: dn,
481
+ FormData: hn,
482
+ Blob: pn
483
+ },
484
+ protocols: ["http", "https", "file", "blob", "url", "data"]
485
+ }, Ne = typeof window < "u" && typeof document < "u", we = typeof navigator == "object" && navigator || void 0, En = Ne && (!we || ["ReactNative", "NativeScript", "NS"].indexOf(we.product) < 0), Sn = typeof WorkerGlobalScope < "u" && // eslint-disable-next-line no-undef
486
+ self instanceof WorkerGlobalScope && typeof self.importScripts == "function", Tn = Ne && window.location.href || "http://localhost", yn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
487
+ __proto__: null,
488
+ hasBrowserEnv: Ne,
489
+ hasStandardBrowserEnv: En,
490
+ hasStandardBrowserWebWorkerEnv: Sn,
491
+ navigator: we,
492
+ origin: Tn
493
+ }, Symbol.toStringTag, { value: "Module" })), R = {
494
+ ...yn,
495
+ ...mn
496
+ };
497
+ function bn(e, t) {
498
+ return de(e, new R.classes.URLSearchParams(), {
499
+ visitor: function(n, r, s, o) {
500
+ return R.isNode && a.isBuffer(n) ? (this.append(r, n.toString("base64")), !1) : o.defaultVisitor.apply(this, arguments);
501
+ },
502
+ ...t
503
+ });
504
+ }
505
+ function wn(e) {
506
+ return a.matchAll(/\w+|\[(\w*)]/g, e).map((t) => t[0] === "[]" ? "" : t[1] || t[0]);
507
+ }
508
+ function Rn(e) {
509
+ const t = {}, n = Object.keys(e);
510
+ let r;
511
+ const s = n.length;
512
+ let o;
513
+ for (r = 0; r < s; r++)
514
+ o = n[r], t[o] = e[o];
515
+ return t;
516
+ }
517
+ function ut(e) {
518
+ function t(n, r, s, o) {
519
+ let i = n[o++];
520
+ if (i === "__proto__") return !0;
521
+ const c = Number.isFinite(+i), d = o >= n.length;
522
+ return i = !i && a.isArray(s) ? s.length : i, d ? (a.hasOwnProp(s, i) ? s[i] = [s[i], r] : s[i] = r, !c) : ((!s[i] || !a.isObject(s[i])) && (s[i] = []), t(n, r, s[i], o) && a.isArray(s[i]) && (s[i] = Rn(s[i])), !c);
523
+ }
524
+ if (a.isFormData(e) && a.isFunction(e.entries)) {
525
+ const n = {};
526
+ return a.forEachEntry(e, (r, s) => {
527
+ t(wn(r), s, n, 0);
528
+ }), n;
529
+ }
530
+ return null;
531
+ }
532
+ function On(e, t, n) {
533
+ if (a.isString(e))
534
+ try {
535
+ return (t || JSON.parse)(e), a.trim(e);
536
+ } catch (r) {
537
+ if (r.name !== "SyntaxError")
538
+ throw r;
539
+ }
540
+ return (n || JSON.stringify)(e);
541
+ }
542
+ const ee = {
543
+ transitional: lt,
544
+ adapter: ["xhr", "http", "fetch"],
545
+ transformRequest: [function(t, n) {
546
+ const r = n.getContentType() || "", s = r.indexOf("application/json") > -1, o = a.isObject(t);
547
+ if (o && a.isHTMLForm(t) && (t = new FormData(t)), a.isFormData(t))
548
+ return s ? JSON.stringify(ut(t)) : t;
549
+ if (a.isArrayBuffer(t) || a.isBuffer(t) || a.isStream(t) || a.isFile(t) || a.isBlob(t) || a.isReadableStream(t))
550
+ return t;
551
+ if (a.isArrayBufferView(t))
552
+ return t.buffer;
553
+ if (a.isURLSearchParams(t))
554
+ return n.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), t.toString();
555
+ let c;
556
+ if (o) {
557
+ if (r.indexOf("application/x-www-form-urlencoded") > -1)
558
+ return bn(t, this.formSerializer).toString();
559
+ if ((c = a.isFileList(t)) || r.indexOf("multipart/form-data") > -1) {
560
+ const d = this.env && this.env.FormData;
561
+ return de(
562
+ c ? { "files[]": t } : t,
563
+ d && new d(),
564
+ this.formSerializer
565
+ );
566
+ }
567
+ }
568
+ return o || s ? (n.setContentType("application/json", !1), On(t)) : t;
569
+ }],
570
+ transformResponse: [function(t) {
571
+ const n = this.transitional || ee.transitional, r = n && n.forcedJSONParsing, s = this.responseType === "json";
572
+ if (a.isResponse(t) || a.isReadableStream(t))
573
+ return t;
574
+ if (t && a.isString(t) && (r && !this.responseType || s)) {
575
+ const i = !(n && n.silentJSONParsing) && s;
576
+ try {
577
+ return JSON.parse(t, this.parseReviver);
578
+ } catch (c) {
579
+ if (i)
580
+ throw c.name === "SyntaxError" ? E.from(c, E.ERR_BAD_RESPONSE, this, null, this.response) : c;
581
+ }
582
+ }
583
+ return t;
584
+ }],
585
+ /**
586
+ * A timeout in milliseconds to abort a request. If set to 0 (default) a
587
+ * timeout is not created.
588
+ */
589
+ timeout: 0,
590
+ xsrfCookieName: "XSRF-TOKEN",
591
+ xsrfHeaderName: "X-XSRF-TOKEN",
592
+ maxContentLength: -1,
593
+ maxBodyLength: -1,
594
+ env: {
595
+ FormData: R.classes.FormData,
596
+ Blob: R.classes.Blob
597
+ },
598
+ validateStatus: function(t) {
599
+ return t >= 200 && t < 300;
600
+ },
601
+ headers: {
602
+ common: {
603
+ Accept: "application/json, text/plain, */*",
604
+ "Content-Type": void 0
605
+ }
606
+ }
607
+ };
608
+ a.forEach(["delete", "get", "head", "post", "put", "patch"], (e) => {
609
+ ee.headers[e] = {};
610
+ });
611
+ const An = a.toObjectSet([
612
+ "age",
613
+ "authorization",
614
+ "content-length",
615
+ "content-type",
616
+ "etag",
617
+ "expires",
618
+ "from",
619
+ "host",
620
+ "if-modified-since",
621
+ "if-unmodified-since",
622
+ "last-modified",
623
+ "location",
624
+ "max-forwards",
625
+ "proxy-authorization",
626
+ "referer",
627
+ "retry-after",
628
+ "user-agent"
629
+ ]), gn = (e) => {
630
+ const t = {};
631
+ let n, r, s;
632
+ return e && e.split(`
633
+ `).forEach(function(i) {
634
+ s = i.indexOf(":"), n = i.substring(0, s).trim().toLowerCase(), r = i.substring(s + 1).trim(), !(!n || t[n] && An[n]) && (n === "set-cookie" ? t[n] ? t[n].push(r) : t[n] = [r] : t[n] = t[n] ? t[n] + ", " + r : r);
635
+ }), t;
636
+ }, je = Symbol("internals");
637
+ function V(e) {
638
+ return e && String(e).trim().toLowerCase();
639
+ }
640
+ function ie(e) {
641
+ return e === !1 || e == null ? e : a.isArray(e) ? e.map(ie) : String(e);
642
+ }
643
+ function Nn(e) {
644
+ const t = /* @__PURE__ */ Object.create(null), n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
645
+ let r;
646
+ for (; r = n.exec(e); )
647
+ t[r[1]] = r[2];
648
+ return t;
649
+ }
650
+ const Cn = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());
651
+ function Ee(e, t, n, r, s) {
652
+ if (a.isFunction(r))
653
+ return r.call(this, t, n);
654
+ if (s && (t = n), !!a.isString(t)) {
655
+ if (a.isString(r))
656
+ return t.indexOf(r) !== -1;
657
+ if (a.isRegExp(r))
658
+ return r.test(t);
659
+ }
660
+ }
661
+ function Un(e) {
662
+ return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (t, n, r) => n.toUpperCase() + r);
663
+ }
664
+ function _n(e, t) {
665
+ const n = a.toCamelCase(" " + t);
666
+ ["get", "set", "has"].forEach((r) => {
667
+ Object.defineProperty(e, r + n, {
668
+ value: function(s, o, i) {
669
+ return this[r].call(this, t, s, o, i);
670
+ },
671
+ configurable: !0
672
+ });
673
+ });
674
+ }
675
+ let N = class {
676
+ constructor(t) {
677
+ t && this.set(t);
678
+ }
679
+ set(t, n, r) {
680
+ const s = this;
681
+ function o(c, d, u) {
682
+ const l = V(d);
683
+ if (!l)
684
+ throw new Error("header name must be a non-empty string");
685
+ const p = a.findKey(s, l);
686
+ (!p || s[p] === void 0 || u === !0 || u === void 0 && s[p] !== !1) && (s[p || d] = ie(c));
687
+ }
688
+ const i = (c, d) => a.forEach(c, (u, l) => o(u, l, d));
689
+ if (a.isPlainObject(t) || t instanceof this.constructor)
690
+ i(t, n);
691
+ else if (a.isString(t) && (t = t.trim()) && !Cn(t))
692
+ i(gn(t), n);
693
+ else if (a.isObject(t) && a.isIterable(t)) {
694
+ let c = {}, d, u;
695
+ for (const l of t) {
696
+ if (!a.isArray(l))
697
+ throw TypeError("Object iterator must return a key-value pair");
698
+ c[u = l[0]] = (d = c[u]) ? a.isArray(d) ? [...d, l[1]] : [d, l[1]] : l[1];
699
+ }
700
+ i(c, n);
701
+ } else
702
+ t != null && o(n, t, r);
703
+ return this;
704
+ }
705
+ get(t, n) {
706
+ if (t = V(t), t) {
707
+ const r = a.findKey(this, t);
708
+ if (r) {
709
+ const s = this[r];
710
+ if (!n)
711
+ return s;
712
+ if (n === !0)
713
+ return Nn(s);
714
+ if (a.isFunction(n))
715
+ return n.call(this, s, r);
716
+ if (a.isRegExp(n))
717
+ return n.exec(s);
718
+ throw new TypeError("parser must be boolean|regexp|function");
719
+ }
720
+ }
721
+ }
722
+ has(t, n) {
723
+ if (t = V(t), t) {
724
+ const r = a.findKey(this, t);
725
+ return !!(r && this[r] !== void 0 && (!n || Ee(this, this[r], r, n)));
726
+ }
727
+ return !1;
728
+ }
729
+ delete(t, n) {
730
+ const r = this;
731
+ let s = !1;
732
+ function o(i) {
733
+ if (i = V(i), i) {
734
+ const c = a.findKey(r, i);
735
+ c && (!n || Ee(r, r[c], c, n)) && (delete r[c], s = !0);
736
+ }
737
+ }
738
+ return a.isArray(t) ? t.forEach(o) : o(t), s;
739
+ }
740
+ clear(t) {
741
+ const n = Object.keys(this);
742
+ let r = n.length, s = !1;
743
+ for (; r--; ) {
744
+ const o = n[r];
745
+ (!t || Ee(this, this[o], o, t, !0)) && (delete this[o], s = !0);
746
+ }
747
+ return s;
748
+ }
749
+ normalize(t) {
750
+ const n = this, r = {};
751
+ return a.forEach(this, (s, o) => {
752
+ const i = a.findKey(r, o);
753
+ if (i) {
754
+ n[i] = ie(s), delete n[o];
755
+ return;
756
+ }
757
+ const c = t ? Un(o) : String(o).trim();
758
+ c !== o && delete n[o], n[c] = ie(s), r[c] = !0;
759
+ }), this;
760
+ }
761
+ concat(...t) {
762
+ return this.constructor.concat(this, ...t);
763
+ }
764
+ toJSON(t) {
765
+ const n = /* @__PURE__ */ Object.create(null);
766
+ return a.forEach(this, (r, s) => {
767
+ r != null && r !== !1 && (n[s] = t && a.isArray(r) ? r.join(", ") : r);
768
+ }), n;
769
+ }
770
+ [Symbol.iterator]() {
771
+ return Object.entries(this.toJSON())[Symbol.iterator]();
772
+ }
773
+ toString() {
774
+ return Object.entries(this.toJSON()).map(([t, n]) => t + ": " + n).join(`
775
+ `);
776
+ }
777
+ getSetCookie() {
778
+ return this.get("set-cookie") || [];
779
+ }
780
+ get [Symbol.toStringTag]() {
781
+ return "AxiosHeaders";
782
+ }
783
+ static from(t) {
784
+ return t instanceof this ? t : new this(t);
785
+ }
786
+ static concat(t, ...n) {
787
+ const r = new this(t);
788
+ return n.forEach((s) => r.set(s)), r;
789
+ }
790
+ static accessor(t) {
791
+ const r = (this[je] = this[je] = {
792
+ accessors: {}
793
+ }).accessors, s = this.prototype;
794
+ function o(i) {
795
+ const c = V(i);
796
+ r[c] || (_n(s, i), r[c] = !0);
797
+ }
798
+ return a.isArray(t) ? t.forEach(o) : o(t), this;
799
+ }
800
+ };
801
+ N.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
802
+ a.reduceDescriptors(N.prototype, ({ value: e }, t) => {
803
+ let n = t[0].toUpperCase() + t.slice(1);
804
+ return {
805
+ get: () => e,
806
+ set(r) {
807
+ this[n] = r;
808
+ }
809
+ };
810
+ });
811
+ a.freezeMethods(N);
812
+ function Se(e, t) {
813
+ const n = this || ee, r = t || n, s = N.from(r.headers);
814
+ let o = r.data;
815
+ return a.forEach(e, function(c) {
816
+ o = c.call(n, o, s.normalize(), t ? t.status : void 0);
817
+ }), s.normalize(), o;
818
+ }
819
+ function ft(e) {
820
+ return !!(e && e.__CANCEL__);
821
+ }
822
+ function W(e, t, n) {
823
+ E.call(this, e ?? "canceled", E.ERR_CANCELED, t, n), this.name = "CanceledError";
824
+ }
825
+ a.inherits(W, E, {
826
+ __CANCEL__: !0
827
+ });
828
+ function dt(e, t, n) {
829
+ const r = n.config.validateStatus;
830
+ !n.status || !r || r(n.status) ? e(n) : t(new E(
831
+ "Request failed with status code " + n.status,
832
+ [E.ERR_BAD_REQUEST, E.ERR_BAD_RESPONSE][Math.floor(n.status / 100) - 4],
833
+ n.config,
834
+ n.request,
835
+ n
836
+ ));
837
+ }
838
+ function Dn(e) {
839
+ const t = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e);
840
+ return t && t[1] || "";
841
+ }
842
+ function Fn(e, t) {
843
+ e = e || 10;
844
+ const n = new Array(e), r = new Array(e);
845
+ let s = 0, o = 0, i;
846
+ return t = t !== void 0 ? t : 1e3, function(d) {
847
+ const u = Date.now(), l = r[o];
848
+ i || (i = u), n[s] = d, r[s] = u;
849
+ let p = o, S = 0;
850
+ for (; p !== s; )
851
+ S += n[p++], p = p % e;
852
+ if (s = (s + 1) % e, s === o && (o = (o + 1) % e), u - i < t)
853
+ return;
854
+ const w = l && u - l;
855
+ return w ? Math.round(S * 1e3 / w) : void 0;
856
+ };
857
+ }
858
+ function xn(e, t) {
859
+ let n = 0, r = 1e3 / t, s, o;
860
+ const i = (u, l = Date.now()) => {
861
+ n = l, s = null, o && (clearTimeout(o), o = null), e(...u);
862
+ };
863
+ return [(...u) => {
864
+ const l = Date.now(), p = l - n;
865
+ p >= r ? i(u, l) : (s = u, o || (o = setTimeout(() => {
866
+ o = null, i(s);
867
+ }, r - p)));
868
+ }, () => s && i(s)];
869
+ }
870
+ const ce = (e, t, n = 3) => {
871
+ let r = 0;
872
+ const s = Fn(50, 250);
873
+ return xn((o) => {
874
+ const i = o.loaded, c = o.lengthComputable ? o.total : void 0, d = i - r, u = s(d), l = i <= c;
875
+ r = i;
876
+ const p = {
877
+ loaded: i,
878
+ total: c,
879
+ progress: c ? i / c : void 0,
880
+ bytes: d,
881
+ rate: u || void 0,
882
+ estimated: u && c && l ? (c - i) / u : void 0,
883
+ event: o,
884
+ lengthComputable: c != null,
885
+ [t ? "download" : "upload"]: !0
886
+ };
887
+ e(p);
888
+ }, n);
889
+ }, He = (e, t) => {
890
+ const n = e != null;
891
+ return [(r) => t[0]({
892
+ lengthComputable: n,
893
+ total: e,
894
+ loaded: r
895
+ }), t[1]];
896
+ }, ve = (e) => (...t) => a.asap(() => e(...t)), Ln = R.hasStandardBrowserEnv ? /* @__PURE__ */ ((e, t) => (n) => (n = new URL(n, R.origin), e.protocol === n.protocol && e.host === n.host && (t || e.port === n.port)))(
897
+ new URL(R.origin),
898
+ R.navigator && /(msie|trident)/i.test(R.navigator.userAgent)
899
+ ) : () => !0, Pn = R.hasStandardBrowserEnv ? (
900
+ // Standard browser envs support document.cookie
901
+ {
902
+ write(e, t, n, r, s, o, i) {
903
+ if (typeof document > "u") return;
904
+ const c = [`${e}=${encodeURIComponent(t)}`];
905
+ a.isNumber(n) && c.push(`expires=${new Date(n).toUTCString()}`), a.isString(r) && c.push(`path=${r}`), a.isString(s) && c.push(`domain=${s}`), o === !0 && c.push("secure"), a.isString(i) && c.push(`SameSite=${i}`), document.cookie = c.join("; ");
906
+ },
907
+ read(e) {
908
+ if (typeof document > "u") return null;
909
+ const t = document.cookie.match(new RegExp("(?:^|; )" + e + "=([^;]*)"));
910
+ return t ? decodeURIComponent(t[1]) : null;
911
+ },
912
+ remove(e) {
913
+ this.write(e, "", Date.now() - 864e5, "/");
914
+ }
915
+ }
916
+ ) : (
917
+ // Non-standard browser env (web workers, react-native) lack needed support.
918
+ {
919
+ write() {
920
+ },
921
+ read() {
922
+ return null;
923
+ },
924
+ remove() {
925
+ }
926
+ }
927
+ );
928
+ function In(e) {
929
+ return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e);
930
+ }
931
+ function kn(e, t) {
932
+ return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e;
933
+ }
934
+ function ht(e, t, n) {
935
+ let r = !In(t);
936
+ return e && (r || n == !1) ? kn(e, t) : t;
937
+ }
938
+ const qe = (e) => e instanceof N ? { ...e } : e;
939
+ function $(e, t) {
940
+ t = t || {};
941
+ const n = {};
942
+ function r(u, l, p, S) {
943
+ return a.isPlainObject(u) && a.isPlainObject(l) ? a.merge.call({ caseless: S }, u, l) : a.isPlainObject(l) ? a.merge({}, l) : a.isArray(l) ? l.slice() : l;
944
+ }
945
+ function s(u, l, p, S) {
946
+ if (a.isUndefined(l)) {
947
+ if (!a.isUndefined(u))
948
+ return r(void 0, u, p, S);
949
+ } else return r(u, l, p, S);
950
+ }
951
+ function o(u, l) {
952
+ if (!a.isUndefined(l))
953
+ return r(void 0, l);
954
+ }
955
+ function i(u, l) {
956
+ if (a.isUndefined(l)) {
957
+ if (!a.isUndefined(u))
958
+ return r(void 0, u);
959
+ } else return r(void 0, l);
960
+ }
961
+ function c(u, l, p) {
962
+ if (p in t)
963
+ return r(u, l);
964
+ if (p in e)
965
+ return r(void 0, u);
966
+ }
967
+ const d = {
968
+ url: o,
969
+ method: o,
970
+ data: o,
971
+ baseURL: i,
972
+ transformRequest: i,
973
+ transformResponse: i,
974
+ paramsSerializer: i,
975
+ timeout: i,
976
+ timeoutMessage: i,
977
+ withCredentials: i,
978
+ withXSRFToken: i,
979
+ adapter: i,
980
+ responseType: i,
981
+ xsrfCookieName: i,
982
+ xsrfHeaderName: i,
983
+ onUploadProgress: i,
984
+ onDownloadProgress: i,
985
+ decompress: i,
986
+ maxContentLength: i,
987
+ maxBodyLength: i,
988
+ beforeRedirect: i,
989
+ transport: i,
990
+ httpAgent: i,
991
+ httpsAgent: i,
992
+ cancelToken: i,
993
+ socketPath: i,
994
+ responseEncoding: i,
995
+ validateStatus: c,
996
+ headers: (u, l, p) => s(qe(u), qe(l), p, !0)
997
+ };
998
+ return a.forEach(Object.keys({ ...e, ...t }), function(l) {
999
+ const p = d[l] || s, S = p(e[l], t[l], l);
1000
+ a.isUndefined(S) && p !== c || (n[l] = S);
1001
+ }), n;
1002
+ }
1003
+ const pt = (e) => {
1004
+ const t = $({}, e);
1005
+ let { data: n, withXSRFToken: r, xsrfHeaderName: s, xsrfCookieName: o, headers: i, auth: c } = t;
1006
+ if (t.headers = i = N.from(i), t.url = ct(ht(t.baseURL, t.url, t.allowAbsoluteUrls), e.params, e.paramsSerializer), c && i.set(
1007
+ "Authorization",
1008
+ "Basic " + btoa((c.username || "") + ":" + (c.password ? unescape(encodeURIComponent(c.password)) : ""))
1009
+ ), a.isFormData(n)) {
1010
+ if (R.hasStandardBrowserEnv || R.hasStandardBrowserWebWorkerEnv)
1011
+ i.setContentType(void 0);
1012
+ else if (a.isFunction(n.getHeaders)) {
1013
+ const d = n.getHeaders(), u = ["content-type", "content-length"];
1014
+ Object.entries(d).forEach(([l, p]) => {
1015
+ u.includes(l.toLowerCase()) && i.set(l, p);
1016
+ });
1017
+ }
1018
+ }
1019
+ if (R.hasStandardBrowserEnv && (r && a.isFunction(r) && (r = r(t)), r || r !== !1 && Ln(t.url))) {
1020
+ const d = s && o && Pn.read(o);
1021
+ d && i.set(s, d);
1022
+ }
1023
+ return t;
1024
+ }, Bn = typeof XMLHttpRequest < "u", jn = Bn && function(e) {
1025
+ return new Promise(function(n, r) {
1026
+ const s = pt(e);
1027
+ let o = s.data;
1028
+ const i = N.from(s.headers).normalize();
1029
+ let { responseType: c, onUploadProgress: d, onDownloadProgress: u } = s, l, p, S, w, f;
1030
+ function m() {
1031
+ w && w(), f && f(), s.cancelToken && s.cancelToken.unsubscribe(l), s.signal && s.signal.removeEventListener("abort", l);
1032
+ }
1033
+ let h = new XMLHttpRequest();
1034
+ h.open(s.method.toUpperCase(), s.url, !0), h.timeout = s.timeout;
1035
+ function y() {
1036
+ if (!h)
1037
+ return;
1038
+ const b = N.from(
1039
+ "getAllResponseHeaders" in h && h.getAllResponseHeaders()
1040
+ ), D = {
1041
+ data: !c || c === "text" || c === "json" ? h.responseText : h.response,
1042
+ status: h.status,
1043
+ statusText: h.statusText,
1044
+ headers: b,
1045
+ config: e,
1046
+ request: h
1047
+ };
1048
+ dt(function(U) {
1049
+ n(U), m();
1050
+ }, function(U) {
1051
+ r(U), m();
1052
+ }, D), h = null;
1053
+ }
1054
+ "onloadend" in h ? h.onloadend = y : h.onreadystatechange = function() {
1055
+ !h || h.readyState !== 4 || h.status === 0 && !(h.responseURL && h.responseURL.indexOf("file:") === 0) || setTimeout(y);
1056
+ }, h.onabort = function() {
1057
+ h && (r(new E("Request aborted", E.ECONNABORTED, e, h)), h = null);
1058
+ }, h.onerror = function(O) {
1059
+ const D = O && O.message ? O.message : "Network Error", B = new E(D, E.ERR_NETWORK, e, h);
1060
+ B.event = O || null, r(B), h = null;
1061
+ }, h.ontimeout = function() {
1062
+ let O = s.timeout ? "timeout of " + s.timeout + "ms exceeded" : "timeout exceeded";
1063
+ const D = s.transitional || lt;
1064
+ s.timeoutErrorMessage && (O = s.timeoutErrorMessage), r(new E(
1065
+ O,
1066
+ D.clarifyTimeoutError ? E.ETIMEDOUT : E.ECONNABORTED,
1067
+ e,
1068
+ h
1069
+ )), h = null;
1070
+ }, o === void 0 && i.setContentType(null), "setRequestHeader" in h && a.forEach(i.toJSON(), function(O, D) {
1071
+ h.setRequestHeader(D, O);
1072
+ }), a.isUndefined(s.withCredentials) || (h.withCredentials = !!s.withCredentials), c && c !== "json" && (h.responseType = s.responseType), u && ([S, f] = ce(u, !0), h.addEventListener("progress", S)), d && h.upload && ([p, w] = ce(d), h.upload.addEventListener("progress", p), h.upload.addEventListener("loadend", w)), (s.cancelToken || s.signal) && (l = (b) => {
1073
+ h && (r(!b || b.type ? new W(null, e, h) : b), h.abort(), h = null);
1074
+ }, s.cancelToken && s.cancelToken.subscribe(l), s.signal && (s.signal.aborted ? l() : s.signal.addEventListener("abort", l)));
1075
+ const C = Dn(s.url);
1076
+ if (C && R.protocols.indexOf(C) === -1) {
1077
+ r(new E("Unsupported protocol " + C + ":", E.ERR_BAD_REQUEST, e));
1078
+ return;
1079
+ }
1080
+ h.send(o || null);
1081
+ });
1082
+ }, Hn = (e, t) => {
1083
+ const { length: n } = e = e ? e.filter(Boolean) : [];
1084
+ if (t || n) {
1085
+ let r = new AbortController(), s;
1086
+ const o = function(u) {
1087
+ if (!s) {
1088
+ s = !0, c();
1089
+ const l = u instanceof Error ? u : this.reason;
1090
+ r.abort(l instanceof E ? l : new W(l instanceof Error ? l.message : l));
1091
+ }
1092
+ };
1093
+ let i = t && setTimeout(() => {
1094
+ i = null, o(new E(`timeout ${t} of ms exceeded`, E.ETIMEDOUT));
1095
+ }, t);
1096
+ const c = () => {
1097
+ e && (i && clearTimeout(i), i = null, e.forEach((u) => {
1098
+ u.unsubscribe ? u.unsubscribe(o) : u.removeEventListener("abort", o);
1099
+ }), e = null);
1100
+ };
1101
+ e.forEach((u) => u.addEventListener("abort", o));
1102
+ const { signal: d } = r;
1103
+ return d.unsubscribe = () => a.asap(c), d;
1104
+ }
1105
+ }, vn = function* (e, t) {
1106
+ let n = e.byteLength;
1107
+ if (n < t) {
1108
+ yield e;
1109
+ return;
1110
+ }
1111
+ let r = 0, s;
1112
+ for (; r < n; )
1113
+ s = r + t, yield e.slice(r, s), r = s;
1114
+ }, qn = async function* (e, t) {
1115
+ for await (const n of $n(e))
1116
+ yield* vn(n, t);
1117
+ }, $n = async function* (e) {
1118
+ if (e[Symbol.asyncIterator]) {
1119
+ yield* e;
1120
+ return;
1121
+ }
1122
+ const t = e.getReader();
1123
+ try {
1124
+ for (; ; ) {
1125
+ const { done: n, value: r } = await t.read();
1126
+ if (n)
1127
+ break;
1128
+ yield r;
1129
+ }
1130
+ } finally {
1131
+ await t.cancel();
1132
+ }
1133
+ }, $e = (e, t, n, r) => {
1134
+ const s = qn(e, t);
1135
+ let o = 0, i, c = (d) => {
1136
+ i || (i = !0, r && r(d));
1137
+ };
1138
+ return new ReadableStream({
1139
+ async pull(d) {
1140
+ try {
1141
+ const { done: u, value: l } = await s.next();
1142
+ if (u) {
1143
+ c(), d.close();
1144
+ return;
1145
+ }
1146
+ let p = l.byteLength;
1147
+ if (n) {
1148
+ let S = o += p;
1149
+ n(S);
1150
+ }
1151
+ d.enqueue(new Uint8Array(l));
1152
+ } catch (u) {
1153
+ throw c(u), u;
1154
+ }
1155
+ },
1156
+ cancel(d) {
1157
+ return c(d), s.return();
1158
+ }
1159
+ }, {
1160
+ highWaterMark: 2
1161
+ });
1162
+ }, Me = 64 * 1024, { isFunction: se } = a, Mn = (({ Request: e, Response: t }) => ({
1163
+ Request: e,
1164
+ Response: t
1165
+ }))(a.global), {
1166
+ ReadableStream: Je,
1167
+ TextEncoder: ze
1168
+ } = a.global, We = (e, ...t) => {
1169
+ try {
1170
+ return !!e(...t);
1171
+ } catch {
1172
+ return !1;
1173
+ }
1174
+ }, Jn = (e) => {
1175
+ e = a.merge.call({
1176
+ skipUndefined: !0
1177
+ }, Mn, e);
1178
+ const { fetch: t, Request: n, Response: r } = e, s = t ? se(t) : typeof fetch == "function", o = se(n), i = se(r);
1179
+ if (!s)
1180
+ return !1;
1181
+ const c = s && se(Je), d = s && (typeof ze == "function" ? /* @__PURE__ */ ((f) => (m) => f.encode(m))(new ze()) : async (f) => new Uint8Array(await new n(f).arrayBuffer())), u = o && c && We(() => {
1182
+ let f = !1;
1183
+ const m = new n(R.origin, {
1184
+ body: new Je(),
1185
+ method: "POST",
1186
+ get duplex() {
1187
+ return f = !0, "half";
1188
+ }
1189
+ }).headers.has("Content-Type");
1190
+ return f && !m;
1191
+ }), l = i && c && We(() => a.isReadableStream(new r("").body)), p = {
1192
+ stream: l && ((f) => f.body)
1193
+ };
1194
+ s && ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((f) => {
1195
+ !p[f] && (p[f] = (m, h) => {
1196
+ let y = m && m[f];
1197
+ if (y)
1198
+ return y.call(m);
1199
+ throw new E(`Response type '${f}' is not supported`, E.ERR_NOT_SUPPORT, h);
1200
+ });
1201
+ });
1202
+ const S = async (f) => {
1203
+ if (f == null)
1204
+ return 0;
1205
+ if (a.isBlob(f))
1206
+ return f.size;
1207
+ if (a.isSpecCompliantForm(f))
1208
+ return (await new n(R.origin, {
1209
+ method: "POST",
1210
+ body: f
1211
+ }).arrayBuffer()).byteLength;
1212
+ if (a.isArrayBufferView(f) || a.isArrayBuffer(f))
1213
+ return f.byteLength;
1214
+ if (a.isURLSearchParams(f) && (f = f + ""), a.isString(f))
1215
+ return (await d(f)).byteLength;
1216
+ }, w = async (f, m) => {
1217
+ const h = a.toFiniteNumber(f.getContentLength());
1218
+ return h ?? S(m);
1219
+ };
1220
+ return async (f) => {
1221
+ let {
1222
+ url: m,
1223
+ method: h,
1224
+ data: y,
1225
+ signal: C,
1226
+ cancelToken: b,
1227
+ timeout: O,
1228
+ onDownloadProgress: D,
1229
+ onUploadProgress: B,
1230
+ responseType: U,
1231
+ headers: pe,
1232
+ withCredentials: te = "same-origin",
1233
+ fetchOptions: Ue
1234
+ } = pt(f), _e = t || fetch;
1235
+ U = U ? (U + "").toLowerCase() : "text";
1236
+ let ne = Hn([C, b && b.toAbortSignal()], O), K = null;
1237
+ const j = ne && ne.unsubscribe && (() => {
1238
+ ne.unsubscribe();
1239
+ });
1240
+ let De;
1241
+ try {
1242
+ if (B && u && h !== "get" && h !== "head" && (De = await w(pe, y)) !== 0) {
1243
+ let k = new n(m, {
1244
+ method: "POST",
1245
+ body: y,
1246
+ duplex: "half"
1247
+ }), M;
1248
+ if (a.isFormData(y) && (M = k.headers.get("content-type")) && pe.setContentType(M), k.body) {
1249
+ const [me, re] = He(
1250
+ De,
1251
+ ce(ve(B))
1252
+ );
1253
+ y = $e(k.body, Me, me, re);
1254
+ }
1255
+ }
1256
+ a.isString(te) || (te = te ? "include" : "omit");
1257
+ const x = o && "credentials" in n.prototype, Fe = {
1258
+ ...Ue,
1259
+ signal: ne,
1260
+ method: h.toUpperCase(),
1261
+ headers: pe.normalize().toJSON(),
1262
+ body: y,
1263
+ duplex: "half",
1264
+ credentials: x ? te : void 0
1265
+ };
1266
+ K = o && new n(m, Fe);
1267
+ let I = await (o ? _e(K, Ue) : _e(m, Fe));
1268
+ const xe = l && (U === "stream" || U === "response");
1269
+ if (l && (D || xe && j)) {
1270
+ const k = {};
1271
+ ["status", "statusText", "headers"].forEach((Le) => {
1272
+ k[Le] = I[Le];
1273
+ });
1274
+ const M = a.toFiniteNumber(I.headers.get("content-length")), [me, re] = D && He(
1275
+ M,
1276
+ ce(ve(D), !0)
1277
+ ) || [];
1278
+ I = new r(
1279
+ $e(I.body, Me, me, () => {
1280
+ re && re(), j && j();
1281
+ }),
1282
+ k
1283
+ );
1284
+ }
1285
+ U = U || "text";
1286
+ let wt = await p[a.findKey(p, U) || "text"](I, f);
1287
+ return !xe && j && j(), await new Promise((k, M) => {
1288
+ dt(k, M, {
1289
+ data: wt,
1290
+ headers: N.from(I.headers),
1291
+ status: I.status,
1292
+ statusText: I.statusText,
1293
+ config: f,
1294
+ request: K
1295
+ });
1296
+ });
1297
+ } catch (x) {
1298
+ throw j && j(), x && x.name === "TypeError" && /Load failed|fetch/i.test(x.message) ? Object.assign(
1299
+ new E("Network Error", E.ERR_NETWORK, f, K),
1300
+ {
1301
+ cause: x.cause || x
1302
+ }
1303
+ ) : E.from(x, x && x.code, f, K);
1304
+ }
1305
+ };
1306
+ }, zn = /* @__PURE__ */ new Map(), mt = (e) => {
1307
+ let t = e && e.env || {};
1308
+ const { fetch: n, Request: r, Response: s } = t, o = [
1309
+ r,
1310
+ s,
1311
+ n
1312
+ ];
1313
+ let i = o.length, c = i, d, u, l = zn;
1314
+ for (; c--; )
1315
+ d = o[c], u = l.get(d), u === void 0 && l.set(d, u = c ? /* @__PURE__ */ new Map() : Jn(t)), l = u;
1316
+ return u;
1317
+ };
1318
+ mt();
1319
+ const Ce = {
1320
+ http: cn,
1321
+ xhr: jn,
1322
+ fetch: {
1323
+ get: mt
1324
+ }
1325
+ };
1326
+ a.forEach(Ce, (e, t) => {
1327
+ if (e) {
1328
+ try {
1329
+ Object.defineProperty(e, "name", { value: t });
1330
+ } catch {
1331
+ }
1332
+ Object.defineProperty(e, "adapterName", { value: t });
1333
+ }
1334
+ });
1335
+ const Ge = (e) => `- ${e}`, Wn = (e) => a.isFunction(e) || e === null || e === !1;
1336
+ function Gn(e, t) {
1337
+ e = a.isArray(e) ? e : [e];
1338
+ const { length: n } = e;
1339
+ let r, s;
1340
+ const o = {};
1341
+ for (let i = 0; i < n; i++) {
1342
+ r = e[i];
1343
+ let c;
1344
+ if (s = r, !Wn(r) && (s = Ce[(c = String(r)).toLowerCase()], s === void 0))
1345
+ throw new E(`Unknown adapter '${c}'`);
1346
+ if (s && (a.isFunction(s) || (s = s.get(t))))
1347
+ break;
1348
+ o[c || "#" + i] = s;
1349
+ }
1350
+ if (!s) {
1351
+ const i = Object.entries(o).map(
1352
+ ([d, u]) => `adapter ${d} ` + (u === !1 ? "is not supported by the environment" : "is not available in the build")
1353
+ );
1354
+ let c = n ? i.length > 1 ? `since :
1355
+ ` + i.map(Ge).join(`
1356
+ `) : " " + Ge(i[0]) : "as no adapter specified";
1357
+ throw new E(
1358
+ "There is no suitable adapter to dispatch the request " + c,
1359
+ "ERR_NOT_SUPPORT"
1360
+ );
1361
+ }
1362
+ return s;
1363
+ }
1364
+ const Et = {
1365
+ /**
1366
+ * Resolve an adapter from a list of adapter names or functions.
1367
+ * @type {Function}
1368
+ */
1369
+ getAdapter: Gn,
1370
+ /**
1371
+ * Exposes all known adapters
1372
+ * @type {Object<string, Function|Object>}
1373
+ */
1374
+ adapters: Ce
1375
+ };
1376
+ function Te(e) {
1377
+ if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted)
1378
+ throw new W(null, e);
1379
+ }
1380
+ function Ke(e) {
1381
+ return Te(e), e.headers = N.from(e.headers), e.data = Se.call(
1382
+ e,
1383
+ e.transformRequest
1384
+ ), ["post", "put", "patch"].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), Et.getAdapter(e.adapter || ee.adapter, e)(e).then(function(r) {
1385
+ return Te(e), r.data = Se.call(
1386
+ e,
1387
+ e.transformResponse,
1388
+ r
1389
+ ), r.headers = N.from(r.headers), r;
1390
+ }, function(r) {
1391
+ return ft(r) || (Te(e), r && r.response && (r.response.data = Se.call(
1392
+ e,
1393
+ e.transformResponse,
1394
+ r.response
1395
+ ), r.response.headers = N.from(r.response.headers))), Promise.reject(r);
1396
+ });
1397
+ }
1398
+ const St = "1.13.2", he = {};
1399
+ ["object", "boolean", "number", "function", "string", "symbol"].forEach((e, t) => {
1400
+ he[e] = function(r) {
1401
+ return typeof r === e || "a" + (t < 1 ? "n " : " ") + e;
1402
+ };
1403
+ });
1404
+ const Ve = {};
1405
+ he.transitional = function(t, n, r) {
1406
+ function s(o, i) {
1407
+ return "[Axios v" + St + "] Transitional option '" + o + "'" + i + (r ? ". " + r : "");
1408
+ }
1409
+ return (o, i, c) => {
1410
+ if (t === !1)
1411
+ throw new E(
1412
+ s(i, " has been removed" + (n ? " in " + n : "")),
1413
+ E.ERR_DEPRECATED
1414
+ );
1415
+ return n && !Ve[i] && (Ve[i] = !0, console.warn(
1416
+ s(
1417
+ i,
1418
+ " has been deprecated since v" + n + " and will be removed in the near future"
1419
+ )
1420
+ )), t ? t(o, i, c) : !0;
1421
+ };
1422
+ };
1423
+ he.spelling = function(t) {
1424
+ return (n, r) => (console.warn(`${r} is likely a misspelling of ${t}`), !0);
1425
+ };
1426
+ function Kn(e, t, n) {
1427
+ if (typeof e != "object")
1428
+ throw new E("options must be an object", E.ERR_BAD_OPTION_VALUE);
1429
+ const r = Object.keys(e);
1430
+ let s = r.length;
1431
+ for (; s-- > 0; ) {
1432
+ const o = r[s], i = t[o];
1433
+ if (i) {
1434
+ const c = e[o], d = c === void 0 || i(c, o, e);
1435
+ if (d !== !0)
1436
+ throw new E("option " + o + " must be " + d, E.ERR_BAD_OPTION_VALUE);
1437
+ continue;
1438
+ }
1439
+ if (n !== !0)
1440
+ throw new E("Unknown option " + o, E.ERR_BAD_OPTION);
1441
+ }
1442
+ }
1443
+ const ae = {
1444
+ assertOptions: Kn,
1445
+ validators: he
1446
+ }, L = ae.validators;
1447
+ let q = class {
1448
+ constructor(t) {
1449
+ this.defaults = t || {}, this.interceptors = {
1450
+ request: new Be(),
1451
+ response: new Be()
1452
+ };
1453
+ }
1454
+ /**
1455
+ * Dispatch a request
1456
+ *
1457
+ * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
1458
+ * @param {?Object} config
1459
+ *
1460
+ * @returns {Promise} The Promise to be fulfilled
1461
+ */
1462
+ async request(t, n) {
1463
+ try {
1464
+ return await this._request(t, n);
1465
+ } catch (r) {
1466
+ if (r instanceof Error) {
1467
+ let s = {};
1468
+ Error.captureStackTrace ? Error.captureStackTrace(s) : s = new Error();
1469
+ const o = s.stack ? s.stack.replace(/^.+\n/, "") : "";
1470
+ try {
1471
+ r.stack ? o && !String(r.stack).endsWith(o.replace(/^.+\n.+\n/, "")) && (r.stack += `
1472
+ ` + o) : r.stack = o;
1473
+ } catch {
1474
+ }
1475
+ }
1476
+ throw r;
1477
+ }
1478
+ }
1479
+ _request(t, n) {
1480
+ typeof t == "string" ? (n = n || {}, n.url = t) : n = t || {}, n = $(this.defaults, n);
1481
+ const { transitional: r, paramsSerializer: s, headers: o } = n;
1482
+ r !== void 0 && ae.assertOptions(r, {
1483
+ silentJSONParsing: L.transitional(L.boolean),
1484
+ forcedJSONParsing: L.transitional(L.boolean),
1485
+ clarifyTimeoutError: L.transitional(L.boolean)
1486
+ }, !1), s != null && (a.isFunction(s) ? n.paramsSerializer = {
1487
+ serialize: s
1488
+ } : ae.assertOptions(s, {
1489
+ encode: L.function,
1490
+ serialize: L.function
1491
+ }, !0)), n.allowAbsoluteUrls !== void 0 || (this.defaults.allowAbsoluteUrls !== void 0 ? n.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls : n.allowAbsoluteUrls = !0), ae.assertOptions(n, {
1492
+ baseUrl: L.spelling("baseURL"),
1493
+ withXsrfToken: L.spelling("withXSRFToken")
1494
+ }, !0), n.method = (n.method || this.defaults.method || "get").toLowerCase();
1495
+ let i = o && a.merge(
1496
+ o.common,
1497
+ o[n.method]
1498
+ );
1499
+ o && a.forEach(
1500
+ ["delete", "get", "head", "post", "put", "patch", "common"],
1501
+ (f) => {
1502
+ delete o[f];
1503
+ }
1504
+ ), n.headers = N.concat(i, o);
1505
+ const c = [];
1506
+ let d = !0;
1507
+ this.interceptors.request.forEach(function(m) {
1508
+ typeof m.runWhen == "function" && m.runWhen(n) === !1 || (d = d && m.synchronous, c.unshift(m.fulfilled, m.rejected));
1509
+ });
1510
+ const u = [];
1511
+ this.interceptors.response.forEach(function(m) {
1512
+ u.push(m.fulfilled, m.rejected);
1513
+ });
1514
+ let l, p = 0, S;
1515
+ if (!d) {
1516
+ const f = [Ke.bind(this), void 0];
1517
+ for (f.unshift(...c), f.push(...u), S = f.length, l = Promise.resolve(n); p < S; )
1518
+ l = l.then(f[p++], f[p++]);
1519
+ return l;
1520
+ }
1521
+ S = c.length;
1522
+ let w = n;
1523
+ for (; p < S; ) {
1524
+ const f = c[p++], m = c[p++];
1525
+ try {
1526
+ w = f(w);
1527
+ } catch (h) {
1528
+ m.call(this, h);
1529
+ break;
1530
+ }
1531
+ }
1532
+ try {
1533
+ l = Ke.call(this, w);
1534
+ } catch (f) {
1535
+ return Promise.reject(f);
1536
+ }
1537
+ for (p = 0, S = u.length; p < S; )
1538
+ l = l.then(u[p++], u[p++]);
1539
+ return l;
1540
+ }
1541
+ getUri(t) {
1542
+ t = $(this.defaults, t);
1543
+ const n = ht(t.baseURL, t.url, t.allowAbsoluteUrls);
1544
+ return ct(n, t.params, t.paramsSerializer);
1545
+ }
1546
+ };
1547
+ a.forEach(["delete", "get", "head", "options"], function(t) {
1548
+ q.prototype[t] = function(n, r) {
1549
+ return this.request($(r || {}, {
1550
+ method: t,
1551
+ url: n,
1552
+ data: (r || {}).data
1553
+ }));
1554
+ };
1555
+ });
1556
+ a.forEach(["post", "put", "patch"], function(t) {
1557
+ function n(r) {
1558
+ return function(o, i, c) {
1559
+ return this.request($(c || {}, {
1560
+ method: t,
1561
+ headers: r ? {
1562
+ "Content-Type": "multipart/form-data"
1563
+ } : {},
1564
+ url: o,
1565
+ data: i
1566
+ }));
1567
+ };
1568
+ }
1569
+ q.prototype[t] = n(), q.prototype[t + "Form"] = n(!0);
1570
+ });
1571
+ let Vn = class Tt {
1572
+ constructor(t) {
1573
+ if (typeof t != "function")
1574
+ throw new TypeError("executor must be a function.");
1575
+ let n;
1576
+ this.promise = new Promise(function(o) {
1577
+ n = o;
1578
+ });
1579
+ const r = this;
1580
+ this.promise.then((s) => {
1581
+ if (!r._listeners) return;
1582
+ let o = r._listeners.length;
1583
+ for (; o-- > 0; )
1584
+ r._listeners[o](s);
1585
+ r._listeners = null;
1586
+ }), this.promise.then = (s) => {
1587
+ let o;
1588
+ const i = new Promise((c) => {
1589
+ r.subscribe(c), o = c;
1590
+ }).then(s);
1591
+ return i.cancel = function() {
1592
+ r.unsubscribe(o);
1593
+ }, i;
1594
+ }, t(function(o, i, c) {
1595
+ r.reason || (r.reason = new W(o, i, c), n(r.reason));
1596
+ });
1597
+ }
1598
+ /**
1599
+ * Throws a `CanceledError` if cancellation has been requested.
1600
+ */
1601
+ throwIfRequested() {
1602
+ if (this.reason)
1603
+ throw this.reason;
1604
+ }
1605
+ /**
1606
+ * Subscribe to the cancel signal
1607
+ */
1608
+ subscribe(t) {
1609
+ if (this.reason) {
1610
+ t(this.reason);
1611
+ return;
1612
+ }
1613
+ this._listeners ? this._listeners.push(t) : this._listeners = [t];
1614
+ }
1615
+ /**
1616
+ * Unsubscribe from the cancel signal
1617
+ */
1618
+ unsubscribe(t) {
1619
+ if (!this._listeners)
1620
+ return;
1621
+ const n = this._listeners.indexOf(t);
1622
+ n !== -1 && this._listeners.splice(n, 1);
1623
+ }
1624
+ toAbortSignal() {
1625
+ const t = new AbortController(), n = (r) => {
1626
+ t.abort(r);
1627
+ };
1628
+ return this.subscribe(n), t.signal.unsubscribe = () => this.unsubscribe(n), t.signal;
1629
+ }
1630
+ /**
1631
+ * Returns an object that contains a new `CancelToken` and a function that, when called,
1632
+ * cancels the `CancelToken`.
1633
+ */
1634
+ static source() {
1635
+ let t;
1636
+ return {
1637
+ token: new Tt(function(s) {
1638
+ t = s;
1639
+ }),
1640
+ cancel: t
1641
+ };
1642
+ }
1643
+ };
1644
+ function Xn(e) {
1645
+ return function(n) {
1646
+ return e.apply(null, n);
1647
+ };
1648
+ }
1649
+ function Qn(e) {
1650
+ return a.isObject(e) && e.isAxiosError === !0;
1651
+ }
1652
+ const Re = {
1653
+ Continue: 100,
1654
+ SwitchingProtocols: 101,
1655
+ Processing: 102,
1656
+ EarlyHints: 103,
1657
+ Ok: 200,
1658
+ Created: 201,
1659
+ Accepted: 202,
1660
+ NonAuthoritativeInformation: 203,
1661
+ NoContent: 204,
1662
+ ResetContent: 205,
1663
+ PartialContent: 206,
1664
+ MultiStatus: 207,
1665
+ AlreadyReported: 208,
1666
+ ImUsed: 226,
1667
+ MultipleChoices: 300,
1668
+ MovedPermanently: 301,
1669
+ Found: 302,
1670
+ SeeOther: 303,
1671
+ NotModified: 304,
1672
+ UseProxy: 305,
1673
+ Unused: 306,
1674
+ TemporaryRedirect: 307,
1675
+ PermanentRedirect: 308,
1676
+ BadRequest: 400,
1677
+ Unauthorized: 401,
1678
+ PaymentRequired: 402,
1679
+ Forbidden: 403,
1680
+ NotFound: 404,
1681
+ MethodNotAllowed: 405,
1682
+ NotAcceptable: 406,
1683
+ ProxyAuthenticationRequired: 407,
1684
+ RequestTimeout: 408,
1685
+ Conflict: 409,
1686
+ Gone: 410,
1687
+ LengthRequired: 411,
1688
+ PreconditionFailed: 412,
1689
+ PayloadTooLarge: 413,
1690
+ UriTooLong: 414,
1691
+ UnsupportedMediaType: 415,
1692
+ RangeNotSatisfiable: 416,
1693
+ ExpectationFailed: 417,
1694
+ ImATeapot: 418,
1695
+ MisdirectedRequest: 421,
1696
+ UnprocessableEntity: 422,
1697
+ Locked: 423,
1698
+ FailedDependency: 424,
1699
+ TooEarly: 425,
1700
+ UpgradeRequired: 426,
1701
+ PreconditionRequired: 428,
1702
+ TooManyRequests: 429,
1703
+ RequestHeaderFieldsTooLarge: 431,
1704
+ UnavailableForLegalReasons: 451,
1705
+ InternalServerError: 500,
1706
+ NotImplemented: 501,
1707
+ BadGateway: 502,
1708
+ ServiceUnavailable: 503,
1709
+ GatewayTimeout: 504,
1710
+ HttpVersionNotSupported: 505,
1711
+ VariantAlsoNegotiates: 506,
1712
+ InsufficientStorage: 507,
1713
+ LoopDetected: 508,
1714
+ NotExtended: 510,
1715
+ NetworkAuthenticationRequired: 511,
1716
+ WebServerIsDown: 521,
1717
+ ConnectionTimedOut: 522,
1718
+ OriginIsUnreachable: 523,
1719
+ TimeoutOccurred: 524,
1720
+ SslHandshakeFailed: 525,
1721
+ InvalidSslCertificate: 526
1722
+ };
1723
+ Object.entries(Re).forEach(([e, t]) => {
1724
+ Re[t] = e;
1725
+ });
1726
+ function yt(e) {
1727
+ const t = new q(e), n = Xe(q.prototype.request, t);
1728
+ return a.extend(n, q.prototype, t, { allOwnKeys: !0 }), a.extend(n, t, null, { allOwnKeys: !0 }), n.create = function(s) {
1729
+ return yt($(e, s));
1730
+ }, n;
1731
+ }
1732
+ const T = yt(ee);
1733
+ T.Axios = q;
1734
+ T.CanceledError = W;
1735
+ T.CancelToken = Vn;
1736
+ T.isCancel = ft;
1737
+ T.VERSION = St;
1738
+ T.toFormData = de;
1739
+ T.AxiosError = E;
1740
+ T.Cancel = T.CanceledError;
1741
+ T.all = function(t) {
1742
+ return Promise.all(t);
1743
+ };
1744
+ T.spread = Xn;
1745
+ T.isAxiosError = Qn;
1746
+ T.mergeConfig = $;
1747
+ T.AxiosHeaders = N;
1748
+ T.formToJSON = (e) => ut(a.isHTMLForm(e) ? new FormData(e) : e);
1749
+ T.getAdapter = Et.getAdapter;
1750
+ T.HttpStatusCode = Re;
1751
+ T.default = T;
1752
+ const {
1753
+ Axios: ar,
1754
+ AxiosError: cr,
1755
+ CanceledError: lr,
1756
+ isCancel: ur,
1757
+ CancelToken: fr,
1758
+ VERSION: dr,
1759
+ all: hr,
1760
+ Cancel: pr,
1761
+ isAxiosError: mr,
1762
+ spread: Er,
1763
+ toFormData: Sr,
1764
+ AxiosHeaders: Tr,
1765
+ HttpStatusCode: yr,
1766
+ formToJSON: br,
1767
+ getAdapter: wr,
1768
+ mergeConfig: Rr
1769
+ } = T, bt = "JOYTALK_TOKEN";
1770
+ var X = /* @__PURE__ */ ((e) => (e.SEND = "1", e.WITHDRAW = "2", e.EDIT = "3", e.SYSTEM_NOTICE = "4", e.TRANSFER = "5", e.INBOUND = "6", e.REPLY = "7", e.UNBIND = "8", e))(X || {}), P = /* @__PURE__ */ ((e) => (e.TEXT = "1", e.IMAGE = "2", e.VIDEO = "3", e.FILE = "4", e.FAQ = "5", e))(P || {}), H = /* @__PURE__ */ ((e) => (e[e.CONNECT_SUCCESS = 200] = "CONNECT_SUCCESS", e[e.CONNECT_FAILED = 40001] = "CONNECT_FAILED", e[e.TRANSFER_CUSTOMER_SUCCESS = 201] = "TRANSFER_CUSTOMER_SUCCESS", e[e.TRANSFER_TO_CUSTOMER_SUCCESS = 202] = "TRANSFER_TO_CUSTOMER_SUCCESS", e[e.TRANSFER_USER_SUCCESS = 203] = "TRANSFER_USER_SUCCESS", e[e.TRANSFER_FAIL = 50001] = "TRANSFER_FAIL", e[e.MATCH_FAIL = 50002] = "MATCH_FAIL", e[e.MATCH_INFO = 50005] = "MATCH_INFO", e[e.MATCH_SUCCESS = 50006] = "MATCH_SUCCESS", e[e.RETRACT = 204] = "RETRACT", e[e.RETRACT_FAIL = 50003] = "RETRACT_FAIL", e[e.EDIT = 205] = "EDIT", e[e.EDIT_FAIL = 50004] = "EDIT_FAIL", e[e.COMMON_FAIL = 5e4] = "COMMON_FAIL", e[e.SEND_SUCCESS = 206] = "SEND_SUCCESS", e[e.SEND_CALLBACK = 207] = "SEND_CALLBACK", e[e.CHANGE_CHAT_STATUS = 208] = "CHANGE_CHAT_STATUS", e))(H || {}), Oe = /* @__PURE__ */ ((e) => (e.CUSTOMER = "1", e.USER = "2", e.ANONYMOUS = "3", e))(Oe || {});
1771
+ function Or(e) {
1772
+ return e.contentType === "1";
1773
+ }
1774
+ var _ = /* @__PURE__ */ ((e) => (e.CONNECTED = "connected", e.DISCONNECTED = "disconnected", e.ERROR = "error", e.MESSAGE = "message", e.STATUS_CHANGE = "status_change", e.HEARTBEAT_TIMEOUT = "heartbeat_timeout", e))(_ || {}), A = /* @__PURE__ */ ((e) => (e.DISCONNECTED = "disconnected", e.CONNECTING = "connecting", e.CONNECTED = "connected", e.RECONNECTING = "reconnecting", e.ERROR = "error", e))(A || {});
1775
+ const G = T.create({
1776
+ baseURL: "http://dev-joytalk-api.halaladmin.vip",
1777
+ timeout: 6e5
1778
+ });
1779
+ G.interceptors.request.use(
1780
+ (e) => (e.noAuth || (e.headers.Authorization = `Bearer ${localStorage.getItem(
1781
+ bt
1782
+ )}`), delete e.noAuth, e),
1783
+ (e) => Promise.reject(e)
1784
+ );
1785
+ G.interceptors.response.use(
1786
+ (e) => e.data.code !== 200 ? (console.error(e.data.message), Promise.reject(e)) : Promise.resolve(e.data),
1787
+ (e) => Promise.reject(e)
1788
+ );
1789
+ const Yn = (e) => G.post(
1790
+ "/api/open-auth/obs/v1/ObsService/GetObsAuthInfo",
1791
+ e
1792
+ ), Zn = (e) => T.post("https://joytalk-fat.obs.ap-southeast-1.myhuaweicloud.com:443", e, {
1793
+ headers: {
1794
+ "Content-Type": "multipart/form-data"
1795
+ }
1796
+ }), er = (e) => G.post(
1797
+ "/api/open-auth/open_consultation/v1/OpenConsultationService/GetConsultationList",
1798
+ e
1799
+ ), tr = (e) => G.get(
1800
+ "/api/open-auth/faq/v1/FaqService/GetFaqList",
1801
+ {
1802
+ params: e
1803
+ }
1804
+ ), nr = () => G.get(
1805
+ "/api/open-auth/user/v1/UserService/GetUserInfo"
1806
+ );
1807
+ class rr {
1808
+ events = /* @__PURE__ */ new Map();
1809
+ /**
1810
+ * 监听事件
1811
+ * @param event - 事件类型
1812
+ * @param callback - 事件回调函数
1813
+ */
1814
+ on(t, n) {
1815
+ this.events.has(t) || this.events.set(t, []), this.events.get(t).push(n);
1816
+ }
1817
+ /**
1818
+ * 取消监听事件
1819
+ * @param event - 事件类型
1820
+ * @param callback - 事件回调函数
1821
+ */
1822
+ off(t, n) {
1823
+ const r = this.events.get(t);
1824
+ if (r) {
1825
+ const s = r.indexOf(n);
1826
+ s > -1 && r.splice(s, 1);
1827
+ }
1828
+ }
1829
+ /**
1830
+ * 触发事件
1831
+ * @param event - 事件类型
1832
+ * @param data - 事件数据
1833
+ */
1834
+ emit(t, n) {
1835
+ const r = this.events.get(t);
1836
+ r && r.forEach((s) => {
1837
+ try {
1838
+ s(n);
1839
+ } catch (o) {
1840
+ console.error(`事件回调执行错误 [${t}]:`, o);
1841
+ }
1842
+ });
1843
+ }
1844
+ /**
1845
+ * 移除所有事件监听器
1846
+ * @param event - 事件类型
1847
+ */
1848
+ removeAllListeners(t) {
1849
+ t ? this.events.delete(t) : this.events.clear();
1850
+ }
1851
+ }
1852
+ const sr = "https://joytalk-fat.obs.ap-southeast-1.myhuaweicloud.com:443/";
1853
+ class Ar extends rr {
1854
+ config;
1855
+ ws = null;
1856
+ status = A.DISCONNECTED;
1857
+ reconnectTimer = null;
1858
+ reconnectAttempts = 0;
1859
+ /** 心跳超时定时器 */
1860
+ heartbeatTimeoutTimer = null;
1861
+ /** 最后一次心跳时间 */
1862
+ lastHeartbeatTime = 0;
1863
+ /** 客户组ID */
1864
+ customerGroupId = "";
1865
+ /** obs 地址 */
1866
+ OBS_URL = sr;
1867
+ sessionData = null;
1868
+ userInfo = null;
1869
+ constructor(t) {
1870
+ super(), this.config = {
1871
+ token: t.token || "",
1872
+ autoReconnect: t.autoReconnect ?? !0,
1873
+ reconnectInterval: t.reconnectInterval ?? 3e3,
1874
+ maxReconnectAttempts: t.maxReconnectAttempts ?? 5,
1875
+ heartbeatTimeout: t.heartbeatTimeout ?? 1e4
1876
+ }, localStorage.setItem(bt, this.config.token || "");
1877
+ }
1878
+ /**
1879
+ * 连接到服务器
1880
+ * @returns Promise<void>
1881
+ */
1882
+ connect(t) {
1883
+ return this.customerGroupId = t, new Promise((n, r) => {
1884
+ if (this.status === A.CONNECTED) {
1885
+ n();
1886
+ return;
1887
+ }
1888
+ if (this.status !== A.CONNECTING) {
1889
+ this.setStatus(A.CONNECTING);
1890
+ try {
1891
+ const s = this.buildWebSocketUrl();
1892
+ this.ws = new WebSocket(s), this.ws.onopen = () => {
1893
+ this.reconnectAttempts = 0, this.setStatus(A.CONNECTED), this.emit(_.CONNECTED), n();
1894
+ }, this.ws.onmessage = (o) => {
1895
+ try {
1896
+ this.handleMessage(o.data);
1897
+ } catch (i) {
1898
+ console.error("解析消息失败:", i);
1899
+ }
1900
+ }, this.ws.onerror = (o) => {
1901
+ console.error("连接错误:", o), this.setStatus(A.ERROR), this.emit(_.ERROR, o), r(o);
1902
+ }, this.ws.onclose = () => {
1903
+ this.setStatus(A.DISCONNECTED), this.emit(_.DISCONNECTED), this.config.autoReconnect && this.reconnectAttempts < this.config.maxReconnectAttempts && this.scheduleReconnect();
1904
+ };
1905
+ } catch (s) {
1906
+ this.setStatus(A.ERROR), this.emit(_.ERROR, s), r(s);
1907
+ }
1908
+ }
1909
+ });
1910
+ }
1911
+ /**
1912
+ * 断开连接
1913
+ * @returns void
1914
+ */
1915
+ disconnect() {
1916
+ this.config.autoReconnect = !1, this.clearReconnectTimer(), this.heartbeatTimeoutTimer && (clearTimeout(this.heartbeatTimeoutTimer), this.heartbeatTimeoutTimer = null), this.ws && (this.ws.close(), this.ws = null), this.setStatus(A.DISCONNECTED);
1917
+ }
1918
+ /**
1919
+ * 发送消息
1920
+ * @param data - 消息内容
1921
+ * @param chatType - 聊天类型
1922
+ * @param msgType - 消息类型
1923
+ * @returns void
1924
+ */
1925
+ sendMessage(t, n, r = X.SEND) {
1926
+ if (this.status !== A.CONNECTED || !this.ws)
1927
+ throw new Error("未连接到服务器");
1928
+ const s = {
1929
+ msgType: r,
1930
+ data: t,
1931
+ toUid: this.sessionData?.cid,
1932
+ chatType: n,
1933
+ editId: void 0
1934
+ };
1935
+ this.ws.send(JSON.stringify(s));
1936
+ }
1937
+ /**
1938
+ * 发送文本消息
1939
+ * @param content - 消息内容
1940
+ * @returns void
1941
+ */
1942
+ sendText(t) {
1943
+ return this.sendMessage(t, P.TEXT), Promise.resolve(!0);
1944
+ }
1945
+ /**
1946
+ * 发送文件消息
1947
+ * @param file - 文件对象
1948
+ * @param thumbnailFile - 缩略图文件对象
1949
+ * @returns void
1950
+ */
1951
+ sendFile({
1952
+ file: t,
1953
+ thumbnailFile: n,
1954
+ chatType: r
1955
+ }) {
1956
+ return new Promise(async (s, o) => {
1957
+ try {
1958
+ const [i, c] = await Promise.all([
1959
+ this.handleUploadFile(t),
1960
+ n ? this.handleUploadFile(n) : Promise.resolve(void 0)
1961
+ ]), d = {
1962
+ fileName: t.name,
1963
+ fileUrl: i,
1964
+ thumbnailUrl: c,
1965
+ fileSize: t.size
1966
+ };
1967
+ this.sendMessage(JSON.stringify(d), r), s(JSON.stringify(d));
1968
+ } catch (i) {
1969
+ console.error("上传文件失败:", i), o(i);
1970
+ }
1971
+ });
1972
+ }
1973
+ /**
1974
+ * 获取当前连接状态
1975
+ * @returns ConnectionStatus
1976
+ */
1977
+ getStatus() {
1978
+ return this.status;
1979
+ }
1980
+ /**
1981
+ * 是否已连接
1982
+ * @returns boolean
1983
+ */
1984
+ isConnected() {
1985
+ return this.status === A.CONNECTED;
1986
+ }
1987
+ /**
1988
+ * 构建 WebSocket URL
1989
+ * @returns string
1990
+ */
1991
+ buildWebSocketUrl() {
1992
+ const t = new URL("ws://dev-joytalk-api.halaladmin.vip/api/ws");
1993
+ return this.config.token && t.searchParams.set("Authorization", this.config.token), t.toString();
1994
+ }
1995
+ /**
1996
+ * 处理收到的消息
1997
+ * @param data - 消息数据
1998
+ * @returns void
1999
+ */
2000
+ handleMessage(t) {
2001
+ if (t === "ping") {
2002
+ this.lastHeartbeatTime = Date.now(), this.heartbeatTimeoutTimer && (clearTimeout(this.heartbeatTimeoutTimer), this.heartbeatTimeoutTimer = null), this.sendHeartbeat();
2003
+ return;
2004
+ }
2005
+ if (t = JSON.parse(t), this.isMessage(t))
2006
+ try {
2007
+ switch (t.code) {
2008
+ // 连接成功
2009
+ case H.CONNECT_SUCCESS:
2010
+ this.sendMessage(
2011
+ this.customerGroupId,
2012
+ void 0,
2013
+ X.INBOUND
2014
+ );
2015
+ break;
2016
+ // 匹配成功
2017
+ case H.MATCH_INFO:
2018
+ case H.MATCH_SUCCESS:
2019
+ const n = JSON.parse(
2020
+ typeof t.data == "string" ? t.data : JSON.stringify(t.data)
2021
+ );
2022
+ this.sessionData = n, t.data = n, this.getFaqList();
2023
+ break;
2024
+ case H.SEND_SUCCESS:
2025
+ const r = JSON.parse(
2026
+ typeof t.data == "string" ? t.data : JSON.stringify(t.data)
2027
+ );
2028
+ t.chatType !== P.TEXT && typeof r.content == "string" && (r.content = JSON.parse(
2029
+ r.content
2030
+ ), r.content?.fileUrl?.startsWith("http") || (r.content.fileUrl = this.OBS_URL + r.content.fileUrl), r.content?.thumbnailUrl?.startsWith("http") || (r.content.thumbnailUrl = this.OBS_URL + r.content.thumbnailUrl)), t.data = r;
2031
+ break;
2032
+ }
2033
+ this.emit(_.MESSAGE, t);
2034
+ } catch (n) {
2035
+ console.error("解析消息失败:", n);
2036
+ }
2037
+ }
2038
+ /**
2039
+ * 判断是否为消息对象
2040
+ * @param data - 消息数据
2041
+ * @returns boolean
2042
+ */
2043
+ isMessage(t) {
2044
+ return typeof t == "object" && t !== null && "data" in t && "msgType" in t && "toUid" in t && "chatType" in t && "code" in t;
2045
+ }
2046
+ /**
2047
+ * 设置连接状态
2048
+ * @param status - 连接状态
2049
+ * @returns void
2050
+ */
2051
+ setStatus(t) {
2052
+ this.status !== t && (this.status = t, this.emit(_.STATUS_CHANGE, t));
2053
+ }
2054
+ /**
2055
+ * 安排重连
2056
+ * @returns void
2057
+ */
2058
+ scheduleReconnect() {
2059
+ this.clearReconnectTimer(), this.reconnectAttempts++, this.setStatus(A.RECONNECTING), this.reconnectTimer = setTimeout(() => {
2060
+ this.connect(this.customerGroupId).catch((t) => {
2061
+ console.error("重连失败:", t);
2062
+ });
2063
+ }, this.config.reconnectInterval);
2064
+ }
2065
+ /**
2066
+ * 清除重连定时器
2067
+ * @returns void
2068
+ */
2069
+ clearReconnectTimer() {
2070
+ this.reconnectTimer && (clearTimeout(this.reconnectTimer), this.reconnectTimer = null);
2071
+ }
2072
+ /**
2073
+ * 发送心跳
2074
+ * @returns void
2075
+ */
2076
+ sendHeartbeat() {
2077
+ if (!(this.status !== A.CONNECTED || !this.ws))
2078
+ try {
2079
+ this.ws.send("pong"), this.lastHeartbeatTime = Date.now(), this.heartbeatTimeoutTimer = setTimeout(() => {
2080
+ Date.now() - this.lastHeartbeatTime >= this.config.heartbeatTimeout && (this.emit(_.HEARTBEAT_TIMEOUT), console.warn("心跳超时,尝试重连"), this.ws && this.ws.close());
2081
+ }, this.config.heartbeatTimeout);
2082
+ } catch (t) {
2083
+ console.error("发送心跳失败:", t);
2084
+ }
2085
+ }
2086
+ // /**
2087
+ // * 获取聊天记录
2088
+ // * @param params - 查询参数
2089
+ // * @returns Promise<ChatHistoryResponse>
2090
+ // */
2091
+ // async getChatHistory(
2092
+ // params: ChatHistoryParams = {}
2093
+ // ): Promise<ChatHistoryResponse> {
2094
+ // // if (!this.config.apiBaseUrl) {
2095
+ // // throw new Error("API 基础地址未配置,无法获取聊天记录");
2096
+ // // }
2097
+ // const queryParams = new URLSearchParams();
2098
+ // if (params.sessionId) {
2099
+ // queryParams.set("sessionId", params.sessionId);
2100
+ // }
2101
+ // if (params.receiverId) {
2102
+ // queryParams.set("receiverId", params.receiverId);
2103
+ // }
2104
+ // if (params.page) {
2105
+ // queryParams.set("page", params.page.toString());
2106
+ // }
2107
+ // if (params.pageSize) {
2108
+ // queryParams.set("pageSize", params.pageSize.toString());
2109
+ // }
2110
+ // if (params.startTime) {
2111
+ // queryParams.set("startTime", params.startTime.toString());
2112
+ // }
2113
+ // if (params.endTime) {
2114
+ // queryParams.set("endTime", params.endTime.toString());
2115
+ // }
2116
+ // // const url = `${
2117
+ // // this.config.apiBaseUrl
2118
+ // // }/api/chat/history?${queryParams.toString()}`;
2119
+ // // const headers: HeadersInit = {
2120
+ // // "Content-Type": "application/json",
2121
+ // // };
2122
+ // // if (this.config.token) {
2123
+ // // headers["Authorization"] = `Bearer ${this.config.token}`;
2124
+ // // }
2125
+ // // // if (this.config.userId) {
2126
+ // // // headers["X-User-Id"] = this.config.userId;
2127
+ // // // }
2128
+ // // try {
2129
+ // // const response = await fetch(url, {
2130
+ // // method: "GET",
2131
+ // // headers,
2132
+ // // });
2133
+ // // if (!response.ok) {
2134
+ // // throw new Error(
2135
+ // // `获取聊天记录失败: ${response.status} ${response.statusText}`
2136
+ // // );
2137
+ // // }
2138
+ // // const data = await response.json();
2139
+ // // return data as ChatHistoryResponse;
2140
+ // // } catch (error) {
2141
+ // // console.error("获取聊天记录失败:", error);
2142
+ // // throw error;
2143
+ // // }
2144
+ // }
2145
+ /**
2146
+ * 获取咨询列表
2147
+ * @returns Promise<ConsultationListResponse>
2148
+ */
2149
+ getConsultationList(t) {
2150
+ return er({ entranceId: t });
2151
+ }
2152
+ handleUploadFile(t) {
2153
+ return new Promise(async (n, r) => {
2154
+ const s = t.name.split(".").pop(), o = await Yn({ ext: s || "" }), { accessKeyId: i, signature: c, policy: d, key: u } = o.data, l = new FormData();
2155
+ l.append("key", u), l.append("AccessKeyId", i), l.append("signature", c), l.append("policy", d), l.append("file", t), (await Zn(l)).status === 204 ? n(this.OBS_URL + u) : r(new Error("上传文件失败"));
2156
+ });
2157
+ }
2158
+ /**
2159
+ * 获取视频文件的首帧作为缩略图
2160
+ * @param videoFile - 视频文件对象
2161
+ * @returns Promise<File> 返回首帧图片的 File 对象
2162
+ */
2163
+ getVideoThumbnail = (t) => new Promise((n, r) => {
2164
+ const s = document.createElement("video"), o = document.createElement("canvas"), i = o.getContext("2d");
2165
+ if (!i) {
2166
+ r(new Error("无法创建 canvas 上下文"));
2167
+ return;
2168
+ }
2169
+ const c = URL.createObjectURL(t);
2170
+ s.preload = "metadata", s.src = c, s.muted = !0, s.playsInline = !0, s.addEventListener("loadedmetadata", () => {
2171
+ o.width = s.videoWidth, o.height = s.videoHeight, s.currentTime = 0;
2172
+ }), s.addEventListener("seeked", () => {
2173
+ try {
2174
+ i.drawImage(s, 0, 0, o.width, o.height), o.toBlob(
2175
+ (d) => {
2176
+ if (URL.revokeObjectURL(c), s.remove(), !d) {
2177
+ r(new Error("无法生成缩略图"));
2178
+ return;
2179
+ }
2180
+ const u = t.name.replace(/\.[^/.]+$/, "") + "_thumb.jpg", l = new File([d], u, {
2181
+ type: "image/jpeg",
2182
+ lastModified: Date.now()
2183
+ });
2184
+ n(l);
2185
+ },
2186
+ "image/jpeg",
2187
+ 0.6
2188
+ // 图片质量
2189
+ );
2190
+ } catch (d) {
2191
+ URL.revokeObjectURL(c), s.remove(), r(d);
2192
+ }
2193
+ }), s.addEventListener("error", () => {
2194
+ URL.revokeObjectURL(c), s.remove(), r(new Error("视频加载失败"));
2195
+ }), s.load();
2196
+ });
2197
+ async getFaqList() {
2198
+ const t = await tr({ id: this.sessionData?.cid });
2199
+ if (!t.data?.topic?.length)
2200
+ return;
2201
+ const n = {
2202
+ guideText: t.data.guideText,
2203
+ list: t.data.topic.map((r) => ({
2204
+ ...r,
2205
+ question: r.question
2206
+ }))
2207
+ };
2208
+ setTimeout(() => {
2209
+ const r = {
2210
+ code: H.SEND_SUCCESS,
2211
+ data: {
2212
+ content: n,
2213
+ contentType: P.FAQ,
2214
+ sendUserType: Oe.CUSTOMER,
2215
+ customerServiceAvatar: this.sessionData?.customerAvatar,
2216
+ customerServiceName: this.sessionData?.customerName,
2217
+ createTime: Date.now()
2218
+ },
2219
+ msgType: X.SEND,
2220
+ chatType: P.FAQ,
2221
+ toUid: this.sessionData?.uid
2222
+ };
2223
+ this.emit(_.MESSAGE, r);
2224
+ }, t.data.showDelaySeconds * 1e3);
2225
+ }
2226
+ sendFaq(t) {
2227
+ const n = {
2228
+ sendUserType: Oe.CUSTOMER,
2229
+ customerServiceAvatar: this.sessionData?.customerAvatar,
2230
+ customerServiceName: this.sessionData?.customerName,
2231
+ createTime: Date.now()
2232
+ }, r = {
2233
+ code: H.SEND_SUCCESS,
2234
+ data: n,
2235
+ msgType: X.SEND,
2236
+ chatType: P.FAQ,
2237
+ toUid: this.sessionData?.uid
2238
+ };
2239
+ if (t.isMulti) {
2240
+ const s = {
2241
+ ...r,
2242
+ data: {
2243
+ ...n,
2244
+ content: {
2245
+ list: t.item
2246
+ },
2247
+ contentType: P.FAQ
2248
+ }
2249
+ };
2250
+ this.emit(_.MESSAGE, s);
2251
+ } else {
2252
+ const s = t.item?.[0] || t;
2253
+ if (s.answer) {
2254
+ const o = {
2255
+ ...r,
2256
+ data: {
2257
+ ...n,
2258
+ content: s.answer,
2259
+ contentType: P.TEXT
2260
+ }
2261
+ };
2262
+ this.emit(_.MESSAGE, o);
2263
+ }
2264
+ s.imageUrl?.forEach((o) => {
2265
+ const i = {
2266
+ ...r,
2267
+ data: {
2268
+ ...n,
2269
+ content: {
2270
+ fileUrl: o?.startsWith("http") ? o : this.OBS_URL + o,
2271
+ fileName: o.split("/").pop()
2272
+ },
2273
+ contentType: P.IMAGE
2274
+ }
2275
+ };
2276
+ this.emit(_.MESSAGE, i);
2277
+ });
2278
+ }
2279
+ }
2280
+ async getUserInfo() {
2281
+ if (this.userInfo)
2282
+ return this.userInfo;
2283
+ const t = await nr();
2284
+ return this.userInfo = t.data, this.userInfo;
2285
+ }
2286
+ }
2287
+ export {
2288
+ P as ChatType,
2289
+ A as ConnectionStatus,
2290
+ _ as EventType,
2291
+ H as MessageCode,
2292
+ X as MessageType,
2293
+ Oe as SendUserType,
2294
+ bt as TOKEN_KEY,
2295
+ Ar as default,
2296
+ Or as isTextMessage
2297
+ };