@ysolve/ocity-heritage-visualizer 1.0.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.
Files changed (42) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +308 -0
  3. package/dist/mespeak-core.js +140 -0
  4. package/dist/mespeak.js +167 -0
  5. package/dist/mespeak__standard_config.json +7 -0
  6. package/dist/ocity-heritage-visualizer.css +1 -0
  7. package/dist/ocity-heritage-visualizer.es.js +2455 -0
  8. package/dist/ocity-heritage-visualizer.es.js.map +1 -0
  9. package/dist/ocity-heritage-visualizer.umd.js +7 -0
  10. package/dist/ocity-heritage-visualizer.umd.js.map +1 -0
  11. package/dist/vite.svg +1 -0
  12. package/dist/voices/ca.json +6 -0
  13. package/dist/voices/cs.json +6 -0
  14. package/dist/voices/de.json +6 -0
  15. package/dist/voices/el.json +6 -0
  16. package/dist/voices/en/en-n.json +6 -0
  17. package/dist/voices/en/en-rp.json +6 -0
  18. package/dist/voices/en/en-sc.json +6 -0
  19. package/dist/voices/en/en-us.json +6 -0
  20. package/dist/voices/en/en-wm.json +6 -0
  21. package/dist/voices/en/en.json +6 -0
  22. package/dist/voices/eo.json +6 -0
  23. package/dist/voices/es-la.json +6 -0
  24. package/dist/voices/es.json +6 -0
  25. package/dist/voices/fi.json +6 -0
  26. package/dist/voices/fr.json +6 -0
  27. package/dist/voices/hu.json +6 -0
  28. package/dist/voices/it.json +6 -0
  29. package/dist/voices/kn.json +6 -0
  30. package/dist/voices/la.json +6 -0
  31. package/dist/voices/lv.json +6 -0
  32. package/dist/voices/nl.json +6 -0
  33. package/dist/voices/pl.json +6 -0
  34. package/dist/voices/pt-pt.json +6 -0
  35. package/dist/voices/pt.json +6 -0
  36. package/dist/voices/ro.json +6 -0
  37. package/dist/voices/sk.json +6 -0
  38. package/dist/voices/sv.json +6 -0
  39. package/dist/voices/tr.json +6 -0
  40. package/dist/voices/zh-yue.json +6 -0
  41. package/dist/voices/zh.json +6 -0
  42. package/package.json +86 -0
@@ -0,0 +1,2455 @@
1
+ import { jsxs as F, jsx as w, Fragment as We } from "react/jsx-runtime";
2
+ import { useState as v, useRef as D, useEffect as M } from "react";
3
+ const Jt = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_DEBUG_MODE: "true", VITE_DEFAULT_IMAGE_URL: "https://o-city.org/assets/NO_AVAILABLE_IMG-4d02b370.png", VITE_ELEVENLABS_API_BASE: "https://api.elevenlabs.io/v1", VITE_ELEVENLABS_API_KEY: "sk_fcf711f6cba8630638aef7a7e1802559a1e9d029461b55cf", VITE_GOOGLE_TRANSLATE_BASE: "https://translate.googleapis.com/translate_a/single", VITE_IMAGE_BASE_URL: "https://eu2.contabostorage.com/7fb97413b6c243adb4347dafa02551a9:ocity/heritage/images/" };
4
+ function re(e, t = !0) {
5
+ const n = Jt[e];
6
+ if (!n && t)
7
+ throw new Error(`❌ Missing required env variable: ${e}`);
8
+ return n ?? "";
9
+ }
10
+ const ye = {
11
+ NODE_ENV: "production",
12
+ ELEVENLABS_API_BASE: re("VITE_ELEVENLABS_API_BASE"),
13
+ ELEVENLABS_API_KEY: re("VITE_ELEVENLABS_API_KEY"),
14
+ DEBUG_MODE: !0,
15
+ GOOGLE_TRANSLATE_BASE: re("VITE_GOOGLE_TRANSLATE_BASE"),
16
+ IMAGE_BASE_URL: re("VITE_IMAGE_BASE_URL"),
17
+ DEFAULT_IMAGE_URL: re("VITE_DEFAULT_IMAGE_URL")
18
+ };
19
+ async function Gt(e, t) {
20
+ if (!e.trim()) return e;
21
+ try {
22
+ const n = `${ye.GOOGLE_TRANSLATE_BASE}?client=gtx&sl=auto&tl=${t}&dt=t&q=${encodeURIComponent(e)}`, r = await fetch(n);
23
+ if (!r.ok)
24
+ throw new Error(`Error en la traducción: ${r.status}`);
25
+ const s = await r.json();
26
+ return s && Array.isArray(s[0]) ? s[0].map((i) => i[0]).join("") : e;
27
+ } catch (n) {
28
+ return console.error("Error al traducir:", n), e;
29
+ }
30
+ }
31
+ function lt(e, t) {
32
+ return function() {
33
+ return e.apply(t, arguments);
34
+ };
35
+ }
36
+ const { toString: Wt } = Object.prototype, { getPrototypeOf: Fe } = Object, { iterator: ge, toStringTag: ut } = Symbol, Ee = /* @__PURE__ */ ((e) => (t) => {
37
+ const n = Wt.call(t);
38
+ return e[n] || (e[n] = n.slice(8, -1).toLowerCase());
39
+ })(/* @__PURE__ */ Object.create(null)), q = (e) => (e = e.toLowerCase(), (t) => Ee(t) === e), be = (e) => (t) => typeof t === e, { isArray: ee } = Array, ie = be("undefined");
40
+ function Kt(e) {
41
+ return e !== null && !ie(e) && e.constructor !== null && !ie(e.constructor) && k(e.constructor.isBuffer) && e.constructor.isBuffer(e);
42
+ }
43
+ const dt = q("ArrayBuffer");
44
+ function Xt(e) {
45
+ let t;
46
+ return typeof ArrayBuffer < "u" && ArrayBuffer.isView ? t = ArrayBuffer.isView(e) : t = e && e.buffer && dt(e.buffer), t;
47
+ }
48
+ const Zt = be("string"), k = be("function"), ft = be("number"), _e = (e) => e !== null && typeof e == "object", Yt = (e) => e === !0 || e === !1, fe = (e) => {
49
+ if (Ee(e) !== "object")
50
+ return !1;
51
+ const t = Fe(e);
52
+ return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(ut in e) && !(ge in e);
53
+ }, Qt = q("Date"), en = q("File"), tn = q("Blob"), nn = q("FileList"), rn = (e) => _e(e) && k(e.pipe), sn = (e) => {
54
+ let t;
55
+ return e && (typeof FormData == "function" && e instanceof FormData || k(e.append) && ((t = Ee(e)) === "formdata" || // detect form-data instance
56
+ t === "object" && k(e.toString) && e.toString() === "[object FormData]"));
57
+ }, on = q("URLSearchParams"), [an, cn, ln, un] = ["ReadableStream", "Request", "Response", "Headers"].map(q), dn = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
58
+ function ae(e, t, { allOwnKeys: n = !1 } = {}) {
59
+ if (e === null || typeof e > "u")
60
+ return;
61
+ let r, s;
62
+ if (typeof e != "object" && (e = [e]), ee(e))
63
+ for (r = 0, s = e.length; r < s; r++)
64
+ t.call(null, e[r], r, e);
65
+ else {
66
+ const i = n ? Object.getOwnPropertyNames(e) : Object.keys(e), o = i.length;
67
+ let c;
68
+ for (r = 0; r < o; r++)
69
+ c = i[r], t.call(null, e[c], c, e);
70
+ }
71
+ }
72
+ function pt(e, t) {
73
+ t = t.toLowerCase();
74
+ const n = Object.keys(e);
75
+ let r = n.length, s;
76
+ for (; r-- > 0; )
77
+ if (s = n[r], t === s.toLowerCase())
78
+ return s;
79
+ return null;
80
+ }
81
+ const X = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, ht = (e) => !ie(e) && e !== X;
82
+ function Ne() {
83
+ const { caseless: e } = ht(this) && this || {}, t = {}, n = (r, s) => {
84
+ const i = e && pt(t, s) || s;
85
+ fe(t[i]) && fe(r) ? t[i] = Ne(t[i], r) : fe(r) ? t[i] = Ne({}, r) : ee(r) ? t[i] = r.slice() : t[i] = r;
86
+ };
87
+ for (let r = 0, s = arguments.length; r < s; r++)
88
+ arguments[r] && ae(arguments[r], n);
89
+ return t;
90
+ }
91
+ const fn = (e, t, n, { allOwnKeys: r } = {}) => (ae(t, (s, i) => {
92
+ n && k(s) ? e[i] = lt(s, n) : e[i] = s;
93
+ }, { allOwnKeys: r }), e), pn = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), hn = (e, t, n, r) => {
94
+ e.prototype = Object.create(t.prototype, r), e.prototype.constructor = e, Object.defineProperty(e, "super", {
95
+ value: t.prototype
96
+ }), n && Object.assign(e.prototype, n);
97
+ }, mn = (e, t, n, r) => {
98
+ let s, i, o;
99
+ const c = {};
100
+ if (t = t || {}, e == null) return t;
101
+ do {
102
+ for (s = Object.getOwnPropertyNames(e), i = s.length; i-- > 0; )
103
+ o = s[i], (!r || r(o, e, t)) && !c[o] && (t[o] = e[o], c[o] = !0);
104
+ e = n !== !1 && Fe(e);
105
+ } while (e && (!n || n(e, t)) && e !== Object.prototype);
106
+ return t;
107
+ }, wn = (e, t, n) => {
108
+ e = String(e), (n === void 0 || n > e.length) && (n = e.length), n -= t.length;
109
+ const r = e.indexOf(t, n);
110
+ return r !== -1 && r === n;
111
+ }, yn = (e) => {
112
+ if (!e) return null;
113
+ if (ee(e)) return e;
114
+ let t = e.length;
115
+ if (!ft(t)) return null;
116
+ const n = new Array(t);
117
+ for (; t-- > 0; )
118
+ n[t] = e[t];
119
+ return n;
120
+ }, gn = /* @__PURE__ */ ((e) => (t) => e && t instanceof e)(typeof Uint8Array < "u" && Fe(Uint8Array)), En = (e, t) => {
121
+ const r = (e && e[ge]).call(e);
122
+ let s;
123
+ for (; (s = r.next()) && !s.done; ) {
124
+ const i = s.value;
125
+ t.call(e, i[0], i[1]);
126
+ }
127
+ }, bn = (e, t) => {
128
+ let n;
129
+ const r = [];
130
+ for (; (n = e.exec(t)) !== null; )
131
+ r.push(n);
132
+ return r;
133
+ }, _n = q("HTMLFormElement"), Sn = (e) => e.toLowerCase().replace(
134
+ /[-_\s]([a-z\d])(\w*)/g,
135
+ function(n, r, s) {
136
+ return r.toUpperCase() + s;
137
+ }
138
+ ), Ke = (({ hasOwnProperty: e }) => (t, n) => e.call(t, n))(Object.prototype), Rn = q("RegExp"), mt = (e, t) => {
139
+ const n = Object.getOwnPropertyDescriptors(e), r = {};
140
+ ae(n, (s, i) => {
141
+ let o;
142
+ (o = t(s, i, e)) !== !1 && (r[i] = o || s);
143
+ }), Object.defineProperties(e, r);
144
+ }, Tn = (e) => {
145
+ mt(e, (t, n) => {
146
+ if (k(e) && ["arguments", "caller", "callee"].indexOf(n) !== -1)
147
+ return !1;
148
+ const r = e[n];
149
+ if (k(r)) {
150
+ if (t.enumerable = !1, "writable" in t) {
151
+ t.writable = !1;
152
+ return;
153
+ }
154
+ t.set || (t.set = () => {
155
+ throw Error("Can not rewrite read-only method '" + n + "'");
156
+ });
157
+ }
158
+ });
159
+ }, An = (e, t) => {
160
+ const n = {}, r = (s) => {
161
+ s.forEach((i) => {
162
+ n[i] = !0;
163
+ });
164
+ };
165
+ return ee(e) ? r(e) : r(String(e).split(t)), n;
166
+ }, xn = () => {
167
+ }, On = (e, t) => e != null && Number.isFinite(e = +e) ? e : t;
168
+ function Cn(e) {
169
+ return !!(e && k(e.append) && e[ut] === "FormData" && e[ge]);
170
+ }
171
+ const Ln = (e) => {
172
+ const t = new Array(10), n = (r, s) => {
173
+ if (_e(r)) {
174
+ if (t.indexOf(r) >= 0)
175
+ return;
176
+ if (!("toJSON" in r)) {
177
+ t[s] = r;
178
+ const i = ee(r) ? [] : {};
179
+ return ae(r, (o, c) => {
180
+ const l = n(o, s + 1);
181
+ !ie(l) && (i[c] = l);
182
+ }), t[s] = void 0, i;
183
+ }
184
+ }
185
+ return r;
186
+ };
187
+ return n(e, 0);
188
+ }, vn = q("AsyncFunction"), Nn = (e) => e && (_e(e) || k(e)) && k(e.then) && k(e.catch), wt = ((e, t) => e ? setImmediate : t ? ((n, r) => (X.addEventListener("message", ({ source: s, data: i }) => {
189
+ s === X && i === n && r.length && r.shift()();
190
+ }, !1), (s) => {
191
+ r.push(s), X.postMessage(n, "*");
192
+ }))(`axios@${Math.random()}`, []) : (n) => setTimeout(n))(
193
+ typeof setImmediate == "function",
194
+ k(X.postMessage)
195
+ ), Bn = typeof queueMicrotask < "u" ? queueMicrotask.bind(X) : typeof process < "u" && process.nextTick || wt, Pn = (e) => e != null && k(e[ge]), a = {
196
+ isArray: ee,
197
+ isArrayBuffer: dt,
198
+ isBuffer: Kt,
199
+ isFormData: sn,
200
+ isArrayBufferView: Xt,
201
+ isString: Zt,
202
+ isNumber: ft,
203
+ isBoolean: Yt,
204
+ isObject: _e,
205
+ isPlainObject: fe,
206
+ isReadableStream: an,
207
+ isRequest: cn,
208
+ isResponse: ln,
209
+ isHeaders: un,
210
+ isUndefined: ie,
211
+ isDate: Qt,
212
+ isFile: en,
213
+ isBlob: tn,
214
+ isRegExp: Rn,
215
+ isFunction: k,
216
+ isStream: rn,
217
+ isURLSearchParams: on,
218
+ isTypedArray: gn,
219
+ isFileList: nn,
220
+ forEach: ae,
221
+ merge: Ne,
222
+ extend: fn,
223
+ trim: dn,
224
+ stripBOM: pn,
225
+ inherits: hn,
226
+ toFlatObject: mn,
227
+ kindOf: Ee,
228
+ kindOfTest: q,
229
+ endsWith: wn,
230
+ toArray: yn,
231
+ forEachEntry: En,
232
+ matchAll: bn,
233
+ isHTMLForm: _n,
234
+ hasOwnProperty: Ke,
235
+ hasOwnProp: Ke,
236
+ // an alias to avoid ESLint no-prototype-builtins detection
237
+ reduceDescriptors: mt,
238
+ freezeMethods: Tn,
239
+ toObjectSet: An,
240
+ toCamelCase: Sn,
241
+ noop: xn,
242
+ toFiniteNumber: On,
243
+ findKey: pt,
244
+ global: X,
245
+ isContextDefined: ht,
246
+ isSpecCompliantForm: Cn,
247
+ toJSONObject: Ln,
248
+ isAsyncFn: vn,
249
+ isThenable: Nn,
250
+ setImmediate: wt,
251
+ asap: Bn,
252
+ isIterable: Pn
253
+ };
254
+ function y(e, t, n, r, s) {
255
+ 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);
256
+ }
257
+ a.inherits(y, Error, {
258
+ toJSON: function() {
259
+ return {
260
+ // Standard
261
+ message: this.message,
262
+ name: this.name,
263
+ // Microsoft
264
+ description: this.description,
265
+ number: this.number,
266
+ // Mozilla
267
+ fileName: this.fileName,
268
+ lineNumber: this.lineNumber,
269
+ columnNumber: this.columnNumber,
270
+ stack: this.stack,
271
+ // Axios
272
+ config: a.toJSONObject(this.config),
273
+ code: this.code,
274
+ status: this.status
275
+ };
276
+ }
277
+ });
278
+ const yt = y.prototype, gt = {};
279
+ [
280
+ "ERR_BAD_OPTION_VALUE",
281
+ "ERR_BAD_OPTION",
282
+ "ECONNABORTED",
283
+ "ETIMEDOUT",
284
+ "ERR_NETWORK",
285
+ "ERR_FR_TOO_MANY_REDIRECTS",
286
+ "ERR_DEPRECATED",
287
+ "ERR_BAD_RESPONSE",
288
+ "ERR_BAD_REQUEST",
289
+ "ERR_CANCELED",
290
+ "ERR_NOT_SUPPORT",
291
+ "ERR_INVALID_URL"
292
+ // eslint-disable-next-line func-names
293
+ ].forEach((e) => {
294
+ gt[e] = { value: e };
295
+ });
296
+ Object.defineProperties(y, gt);
297
+ Object.defineProperty(yt, "isAxiosError", { value: !0 });
298
+ y.from = (e, t, n, r, s, i) => {
299
+ const o = Object.create(yt);
300
+ return a.toFlatObject(e, o, function(l) {
301
+ return l !== Error.prototype;
302
+ }, (c) => c !== "isAxiosError"), y.call(o, e.message, t, n, r, s), o.cause = e, o.name = e.name, i && Object.assign(o, i), o;
303
+ };
304
+ const kn = null;
305
+ function Be(e) {
306
+ return a.isPlainObject(e) || a.isArray(e);
307
+ }
308
+ function Et(e) {
309
+ return a.endsWith(e, "[]") ? e.slice(0, -2) : e;
310
+ }
311
+ function Xe(e, t, n) {
312
+ return e ? e.concat(t).map(function(s, i) {
313
+ return s = Et(s), !n && i ? "[" + s + "]" : s;
314
+ }).join(n ? "." : "") : t;
315
+ }
316
+ function Un(e) {
317
+ return a.isArray(e) && !e.some(Be);
318
+ }
319
+ const In = a.toFlatObject(a, {}, null, function(t) {
320
+ return /^is[A-Z]/.test(t);
321
+ });
322
+ function Se(e, t, n) {
323
+ if (!a.isObject(e))
324
+ throw new TypeError("target must be an object");
325
+ t = t || new FormData(), n = a.toFlatObject(n, {
326
+ metaTokens: !0,
327
+ dots: !1,
328
+ indexes: !1
329
+ }, !1, function(m, h) {
330
+ return !a.isUndefined(h[m]);
331
+ });
332
+ const r = n.metaTokens, s = n.visitor || d, i = n.dots, o = n.indexes, l = (n.Blob || typeof Blob < "u" && Blob) && a.isSpecCompliantForm(t);
333
+ if (!a.isFunction(s))
334
+ throw new TypeError("visitor must be a function");
335
+ function u(f) {
336
+ if (f === null) return "";
337
+ if (a.isDate(f))
338
+ return f.toISOString();
339
+ if (a.isBoolean(f))
340
+ return f.toString();
341
+ if (!l && a.isBlob(f))
342
+ throw new y("Blob is not supported. Use a Buffer instead.");
343
+ return a.isArrayBuffer(f) || a.isTypedArray(f) ? l && typeof Blob == "function" ? new Blob([f]) : Buffer.from(f) : f;
344
+ }
345
+ function d(f, m, h) {
346
+ let R = f;
347
+ if (f && !h && typeof f == "object") {
348
+ if (a.endsWith(m, "{}"))
349
+ m = r ? m : m.slice(0, -2), f = JSON.stringify(f);
350
+ else if (a.isArray(f) && Un(f) || (a.isFileList(f) || a.endsWith(m, "[]")) && (R = a.toArray(f)))
351
+ return m = Et(m), R.forEach(function(_, N) {
352
+ !(a.isUndefined(_) || _ === null) && t.append(
353
+ // eslint-disable-next-line no-nested-ternary
354
+ o === !0 ? Xe([m], N, i) : o === null ? m : m + "[]",
355
+ u(_)
356
+ );
357
+ }), !1;
358
+ }
359
+ return Be(f) ? !0 : (t.append(Xe(h, m, i), u(f)), !1);
360
+ }
361
+ const p = [], g = Object.assign(In, {
362
+ defaultVisitor: d,
363
+ convertValue: u,
364
+ isVisitable: Be
365
+ });
366
+ function E(f, m) {
367
+ if (!a.isUndefined(f)) {
368
+ if (p.indexOf(f) !== -1)
369
+ throw Error("Circular reference detected in " + m.join("."));
370
+ p.push(f), a.forEach(f, function(R, A) {
371
+ (!(a.isUndefined(R) || R === null) && s.call(
372
+ t,
373
+ R,
374
+ a.isString(A) ? A.trim() : A,
375
+ m,
376
+ g
377
+ )) === !0 && E(R, m ? m.concat(A) : [A]);
378
+ }), p.pop();
379
+ }
380
+ }
381
+ if (!a.isObject(e))
382
+ throw new TypeError("data must be an object");
383
+ return E(e), t;
384
+ }
385
+ function Ze(e) {
386
+ const t = {
387
+ "!": "%21",
388
+ "'": "%27",
389
+ "(": "%28",
390
+ ")": "%29",
391
+ "~": "%7E",
392
+ "%20": "+",
393
+ "%00": "\0"
394
+ };
395
+ return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, function(r) {
396
+ return t[r];
397
+ });
398
+ }
399
+ function De(e, t) {
400
+ this._pairs = [], e && Se(e, this, t);
401
+ }
402
+ const bt = De.prototype;
403
+ bt.append = function(t, n) {
404
+ this._pairs.push([t, n]);
405
+ };
406
+ bt.toString = function(t) {
407
+ const n = t ? function(r) {
408
+ return t.call(this, r, Ze);
409
+ } : Ze;
410
+ return this._pairs.map(function(s) {
411
+ return n(s[0]) + "=" + n(s[1]);
412
+ }, "").join("&");
413
+ };
414
+ function Fn(e) {
415
+ return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
416
+ }
417
+ function _t(e, t, n) {
418
+ if (!t)
419
+ return e;
420
+ const r = n && n.encode || Fn;
421
+ a.isFunction(n) && (n = {
422
+ serialize: n
423
+ });
424
+ const s = n && n.serialize;
425
+ let i;
426
+ if (s ? i = s(t, n) : i = a.isURLSearchParams(t) ? t.toString() : new De(t, n).toString(r), i) {
427
+ const o = e.indexOf("#");
428
+ o !== -1 && (e = e.slice(0, o)), e += (e.indexOf("?") === -1 ? "?" : "&") + i;
429
+ }
430
+ return e;
431
+ }
432
+ class Ye {
433
+ constructor() {
434
+ this.handlers = [];
435
+ }
436
+ /**
437
+ * Add a new interceptor to the stack
438
+ *
439
+ * @param {Function} fulfilled The function to handle `then` for a `Promise`
440
+ * @param {Function} rejected The function to handle `reject` for a `Promise`
441
+ *
442
+ * @return {Number} An ID used to remove interceptor later
443
+ */
444
+ use(t, n, r) {
445
+ return this.handlers.push({
446
+ fulfilled: t,
447
+ rejected: n,
448
+ synchronous: r ? r.synchronous : !1,
449
+ runWhen: r ? r.runWhen : null
450
+ }), this.handlers.length - 1;
451
+ }
452
+ /**
453
+ * Remove an interceptor from the stack
454
+ *
455
+ * @param {Number} id The ID that was returned by `use`
456
+ *
457
+ * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
458
+ */
459
+ eject(t) {
460
+ this.handlers[t] && (this.handlers[t] = null);
461
+ }
462
+ /**
463
+ * Clear all interceptors from the stack
464
+ *
465
+ * @returns {void}
466
+ */
467
+ clear() {
468
+ this.handlers && (this.handlers = []);
469
+ }
470
+ /**
471
+ * Iterate over all the registered interceptors
472
+ *
473
+ * This method is particularly useful for skipping over any
474
+ * interceptors that may have become `null` calling `eject`.
475
+ *
476
+ * @param {Function} fn The function to call for each interceptor
477
+ *
478
+ * @returns {void}
479
+ */
480
+ forEach(t) {
481
+ a.forEach(this.handlers, function(r) {
482
+ r !== null && t(r);
483
+ });
484
+ }
485
+ }
486
+ const St = {
487
+ silentJSONParsing: !0,
488
+ forcedJSONParsing: !0,
489
+ clarifyTimeoutError: !1
490
+ }, Dn = typeof URLSearchParams < "u" ? URLSearchParams : De, jn = typeof FormData < "u" ? FormData : null, Mn = typeof Blob < "u" ? Blob : null, qn = {
491
+ isBrowser: !0,
492
+ classes: {
493
+ URLSearchParams: Dn,
494
+ FormData: jn,
495
+ Blob: Mn
496
+ },
497
+ protocols: ["http", "https", "file", "blob", "url", "data"]
498
+ }, je = typeof window < "u" && typeof document < "u", Pe = typeof navigator == "object" && navigator || void 0, $n = je && (!Pe || ["ReactNative", "NativeScript", "NS"].indexOf(Pe.product) < 0), Hn = typeof WorkerGlobalScope < "u" && // eslint-disable-next-line no-undef
499
+ self instanceof WorkerGlobalScope && typeof self.importScripts == "function", zn = je && window.location.href || "http://localhost", Vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
500
+ __proto__: null,
501
+ hasBrowserEnv: je,
502
+ hasStandardBrowserEnv: $n,
503
+ hasStandardBrowserWebWorkerEnv: Hn,
504
+ navigator: Pe,
505
+ origin: zn
506
+ }, Symbol.toStringTag, { value: "Module" })), B = {
507
+ ...Vn,
508
+ ...qn
509
+ };
510
+ function Jn(e, t) {
511
+ return Se(e, new B.classes.URLSearchParams(), Object.assign({
512
+ visitor: function(n, r, s, i) {
513
+ return B.isNode && a.isBuffer(n) ? (this.append(r, n.toString("base64")), !1) : i.defaultVisitor.apply(this, arguments);
514
+ }
515
+ }, t));
516
+ }
517
+ function Gn(e) {
518
+ return a.matchAll(/\w+|\[(\w*)]/g, e).map((t) => t[0] === "[]" ? "" : t[1] || t[0]);
519
+ }
520
+ function Wn(e) {
521
+ const t = {}, n = Object.keys(e);
522
+ let r;
523
+ const s = n.length;
524
+ let i;
525
+ for (r = 0; r < s; r++)
526
+ i = n[r], t[i] = e[i];
527
+ return t;
528
+ }
529
+ function Rt(e) {
530
+ function t(n, r, s, i) {
531
+ let o = n[i++];
532
+ if (o === "__proto__") return !0;
533
+ const c = Number.isFinite(+o), l = i >= n.length;
534
+ return o = !o && a.isArray(s) ? s.length : o, l ? (a.hasOwnProp(s, o) ? s[o] = [s[o], r] : s[o] = r, !c) : ((!s[o] || !a.isObject(s[o])) && (s[o] = []), t(n, r, s[o], i) && a.isArray(s[o]) && (s[o] = Wn(s[o])), !c);
535
+ }
536
+ if (a.isFormData(e) && a.isFunction(e.entries)) {
537
+ const n = {};
538
+ return a.forEachEntry(e, (r, s) => {
539
+ t(Gn(r), s, n, 0);
540
+ }), n;
541
+ }
542
+ return null;
543
+ }
544
+ function Kn(e, t, n) {
545
+ if (a.isString(e))
546
+ try {
547
+ return (t || JSON.parse)(e), a.trim(e);
548
+ } catch (r) {
549
+ if (r.name !== "SyntaxError")
550
+ throw r;
551
+ }
552
+ return (n || JSON.stringify)(e);
553
+ }
554
+ const ce = {
555
+ transitional: St,
556
+ adapter: ["xhr", "http", "fetch"],
557
+ transformRequest: [function(t, n) {
558
+ const r = n.getContentType() || "", s = r.indexOf("application/json") > -1, i = a.isObject(t);
559
+ if (i && a.isHTMLForm(t) && (t = new FormData(t)), a.isFormData(t))
560
+ return s ? JSON.stringify(Rt(t)) : t;
561
+ if (a.isArrayBuffer(t) || a.isBuffer(t) || a.isStream(t) || a.isFile(t) || a.isBlob(t) || a.isReadableStream(t))
562
+ return t;
563
+ if (a.isArrayBufferView(t))
564
+ return t.buffer;
565
+ if (a.isURLSearchParams(t))
566
+ return n.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), t.toString();
567
+ let c;
568
+ if (i) {
569
+ if (r.indexOf("application/x-www-form-urlencoded") > -1)
570
+ return Jn(t, this.formSerializer).toString();
571
+ if ((c = a.isFileList(t)) || r.indexOf("multipart/form-data") > -1) {
572
+ const l = this.env && this.env.FormData;
573
+ return Se(
574
+ c ? { "files[]": t } : t,
575
+ l && new l(),
576
+ this.formSerializer
577
+ );
578
+ }
579
+ }
580
+ return i || s ? (n.setContentType("application/json", !1), Kn(t)) : t;
581
+ }],
582
+ transformResponse: [function(t) {
583
+ const n = this.transitional || ce.transitional, r = n && n.forcedJSONParsing, s = this.responseType === "json";
584
+ if (a.isResponse(t) || a.isReadableStream(t))
585
+ return t;
586
+ if (t && a.isString(t) && (r && !this.responseType || s)) {
587
+ const o = !(n && n.silentJSONParsing) && s;
588
+ try {
589
+ return JSON.parse(t);
590
+ } catch (c) {
591
+ if (o)
592
+ throw c.name === "SyntaxError" ? y.from(c, y.ERR_BAD_RESPONSE, this, null, this.response) : c;
593
+ }
594
+ }
595
+ return t;
596
+ }],
597
+ /**
598
+ * A timeout in milliseconds to abort a request. If set to 0 (default) a
599
+ * timeout is not created.
600
+ */
601
+ timeout: 0,
602
+ xsrfCookieName: "XSRF-TOKEN",
603
+ xsrfHeaderName: "X-XSRF-TOKEN",
604
+ maxContentLength: -1,
605
+ maxBodyLength: -1,
606
+ env: {
607
+ FormData: B.classes.FormData,
608
+ Blob: B.classes.Blob
609
+ },
610
+ validateStatus: function(t) {
611
+ return t >= 200 && t < 300;
612
+ },
613
+ headers: {
614
+ common: {
615
+ Accept: "application/json, text/plain, */*",
616
+ "Content-Type": void 0
617
+ }
618
+ }
619
+ };
620
+ a.forEach(["delete", "get", "head", "post", "put", "patch"], (e) => {
621
+ ce.headers[e] = {};
622
+ });
623
+ const Xn = a.toObjectSet([
624
+ "age",
625
+ "authorization",
626
+ "content-length",
627
+ "content-type",
628
+ "etag",
629
+ "expires",
630
+ "from",
631
+ "host",
632
+ "if-modified-since",
633
+ "if-unmodified-since",
634
+ "last-modified",
635
+ "location",
636
+ "max-forwards",
637
+ "proxy-authorization",
638
+ "referer",
639
+ "retry-after",
640
+ "user-agent"
641
+ ]), Zn = (e) => {
642
+ const t = {};
643
+ let n, r, s;
644
+ return e && e.split(`
645
+ `).forEach(function(o) {
646
+ s = o.indexOf(":"), n = o.substring(0, s).trim().toLowerCase(), r = o.substring(s + 1).trim(), !(!n || t[n] && Xn[n]) && (n === "set-cookie" ? t[n] ? t[n].push(r) : t[n] = [r] : t[n] = t[n] ? t[n] + ", " + r : r);
647
+ }), t;
648
+ }, Qe = Symbol("internals");
649
+ function se(e) {
650
+ return e && String(e).trim().toLowerCase();
651
+ }
652
+ function pe(e) {
653
+ return e === !1 || e == null ? e : a.isArray(e) ? e.map(pe) : String(e);
654
+ }
655
+ function Yn(e) {
656
+ const t = /* @__PURE__ */ Object.create(null), n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
657
+ let r;
658
+ for (; r = n.exec(e); )
659
+ t[r[1]] = r[2];
660
+ return t;
661
+ }
662
+ const Qn = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());
663
+ function Oe(e, t, n, r, s) {
664
+ if (a.isFunction(r))
665
+ return r.call(this, t, n);
666
+ if (s && (t = n), !!a.isString(t)) {
667
+ if (a.isString(r))
668
+ return t.indexOf(r) !== -1;
669
+ if (a.isRegExp(r))
670
+ return r.test(t);
671
+ }
672
+ }
673
+ function er(e) {
674
+ return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (t, n, r) => n.toUpperCase() + r);
675
+ }
676
+ function tr(e, t) {
677
+ const n = a.toCamelCase(" " + t);
678
+ ["get", "set", "has"].forEach((r) => {
679
+ Object.defineProperty(e, r + n, {
680
+ value: function(s, i, o) {
681
+ return this[r].call(this, t, s, i, o);
682
+ },
683
+ configurable: !0
684
+ });
685
+ });
686
+ }
687
+ let U = class {
688
+ constructor(t) {
689
+ t && this.set(t);
690
+ }
691
+ set(t, n, r) {
692
+ const s = this;
693
+ function i(c, l, u) {
694
+ const d = se(l);
695
+ if (!d)
696
+ throw new Error("header name must be a non-empty string");
697
+ const p = a.findKey(s, d);
698
+ (!p || s[p] === void 0 || u === !0 || u === void 0 && s[p] !== !1) && (s[p || l] = pe(c));
699
+ }
700
+ const o = (c, l) => a.forEach(c, (u, d) => i(u, d, l));
701
+ if (a.isPlainObject(t) || t instanceof this.constructor)
702
+ o(t, n);
703
+ else if (a.isString(t) && (t = t.trim()) && !Qn(t))
704
+ o(Zn(t), n);
705
+ else if (a.isObject(t) && a.isIterable(t)) {
706
+ let c = {}, l, u;
707
+ for (const d of t) {
708
+ if (!a.isArray(d))
709
+ throw TypeError("Object iterator must return a key-value pair");
710
+ c[u = d[0]] = (l = c[u]) ? a.isArray(l) ? [...l, d[1]] : [l, d[1]] : d[1];
711
+ }
712
+ o(c, n);
713
+ } else
714
+ t != null && i(n, t, r);
715
+ return this;
716
+ }
717
+ get(t, n) {
718
+ if (t = se(t), t) {
719
+ const r = a.findKey(this, t);
720
+ if (r) {
721
+ const s = this[r];
722
+ if (!n)
723
+ return s;
724
+ if (n === !0)
725
+ return Yn(s);
726
+ if (a.isFunction(n))
727
+ return n.call(this, s, r);
728
+ if (a.isRegExp(n))
729
+ return n.exec(s);
730
+ throw new TypeError("parser must be boolean|regexp|function");
731
+ }
732
+ }
733
+ }
734
+ has(t, n) {
735
+ if (t = se(t), t) {
736
+ const r = a.findKey(this, t);
737
+ return !!(r && this[r] !== void 0 && (!n || Oe(this, this[r], r, n)));
738
+ }
739
+ return !1;
740
+ }
741
+ delete(t, n) {
742
+ const r = this;
743
+ let s = !1;
744
+ function i(o) {
745
+ if (o = se(o), o) {
746
+ const c = a.findKey(r, o);
747
+ c && (!n || Oe(r, r[c], c, n)) && (delete r[c], s = !0);
748
+ }
749
+ }
750
+ return a.isArray(t) ? t.forEach(i) : i(t), s;
751
+ }
752
+ clear(t) {
753
+ const n = Object.keys(this);
754
+ let r = n.length, s = !1;
755
+ for (; r--; ) {
756
+ const i = n[r];
757
+ (!t || Oe(this, this[i], i, t, !0)) && (delete this[i], s = !0);
758
+ }
759
+ return s;
760
+ }
761
+ normalize(t) {
762
+ const n = this, r = {};
763
+ return a.forEach(this, (s, i) => {
764
+ const o = a.findKey(r, i);
765
+ if (o) {
766
+ n[o] = pe(s), delete n[i];
767
+ return;
768
+ }
769
+ const c = t ? er(i) : String(i).trim();
770
+ c !== i && delete n[i], n[c] = pe(s), r[c] = !0;
771
+ }), this;
772
+ }
773
+ concat(...t) {
774
+ return this.constructor.concat(this, ...t);
775
+ }
776
+ toJSON(t) {
777
+ const n = /* @__PURE__ */ Object.create(null);
778
+ return a.forEach(this, (r, s) => {
779
+ r != null && r !== !1 && (n[s] = t && a.isArray(r) ? r.join(", ") : r);
780
+ }), n;
781
+ }
782
+ [Symbol.iterator]() {
783
+ return Object.entries(this.toJSON())[Symbol.iterator]();
784
+ }
785
+ toString() {
786
+ return Object.entries(this.toJSON()).map(([t, n]) => t + ": " + n).join(`
787
+ `);
788
+ }
789
+ getSetCookie() {
790
+ return this.get("set-cookie") || [];
791
+ }
792
+ get [Symbol.toStringTag]() {
793
+ return "AxiosHeaders";
794
+ }
795
+ static from(t) {
796
+ return t instanceof this ? t : new this(t);
797
+ }
798
+ static concat(t, ...n) {
799
+ const r = new this(t);
800
+ return n.forEach((s) => r.set(s)), r;
801
+ }
802
+ static accessor(t) {
803
+ const r = (this[Qe] = this[Qe] = {
804
+ accessors: {}
805
+ }).accessors, s = this.prototype;
806
+ function i(o) {
807
+ const c = se(o);
808
+ r[c] || (tr(s, o), r[c] = !0);
809
+ }
810
+ return a.isArray(t) ? t.forEach(i) : i(t), this;
811
+ }
812
+ };
813
+ U.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
814
+ a.reduceDescriptors(U.prototype, ({ value: e }, t) => {
815
+ let n = t[0].toUpperCase() + t.slice(1);
816
+ return {
817
+ get: () => e,
818
+ set(r) {
819
+ this[n] = r;
820
+ }
821
+ };
822
+ });
823
+ a.freezeMethods(U);
824
+ function Ce(e, t) {
825
+ const n = this || ce, r = t || n, s = U.from(r.headers);
826
+ let i = r.data;
827
+ return a.forEach(e, function(c) {
828
+ i = c.call(n, i, s.normalize(), t ? t.status : void 0);
829
+ }), s.normalize(), i;
830
+ }
831
+ function Tt(e) {
832
+ return !!(e && e.__CANCEL__);
833
+ }
834
+ function te(e, t, n) {
835
+ y.call(this, e ?? "canceled", y.ERR_CANCELED, t, n), this.name = "CanceledError";
836
+ }
837
+ a.inherits(te, y, {
838
+ __CANCEL__: !0
839
+ });
840
+ function At(e, t, n) {
841
+ const r = n.config.validateStatus;
842
+ !n.status || !r || r(n.status) ? e(n) : t(new y(
843
+ "Request failed with status code " + n.status,
844
+ [y.ERR_BAD_REQUEST, y.ERR_BAD_RESPONSE][Math.floor(n.status / 100) - 4],
845
+ n.config,
846
+ n.request,
847
+ n
848
+ ));
849
+ }
850
+ function nr(e) {
851
+ const t = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e);
852
+ return t && t[1] || "";
853
+ }
854
+ function rr(e, t) {
855
+ e = e || 10;
856
+ const n = new Array(e), r = new Array(e);
857
+ let s = 0, i = 0, o;
858
+ return t = t !== void 0 ? t : 1e3, function(l) {
859
+ const u = Date.now(), d = r[i];
860
+ o || (o = u), n[s] = l, r[s] = u;
861
+ let p = i, g = 0;
862
+ for (; p !== s; )
863
+ g += n[p++], p = p % e;
864
+ if (s = (s + 1) % e, s === i && (i = (i + 1) % e), u - o < t)
865
+ return;
866
+ const E = d && u - d;
867
+ return E ? Math.round(g * 1e3 / E) : void 0;
868
+ };
869
+ }
870
+ function sr(e, t) {
871
+ let n = 0, r = 1e3 / t, s, i;
872
+ const o = (u, d = Date.now()) => {
873
+ n = d, s = null, i && (clearTimeout(i), i = null), e.apply(null, u);
874
+ };
875
+ return [(...u) => {
876
+ const d = Date.now(), p = d - n;
877
+ p >= r ? o(u, d) : (s = u, i || (i = setTimeout(() => {
878
+ i = null, o(s);
879
+ }, r - p)));
880
+ }, () => s && o(s)];
881
+ }
882
+ const me = (e, t, n = 3) => {
883
+ let r = 0;
884
+ const s = rr(50, 250);
885
+ return sr((i) => {
886
+ const o = i.loaded, c = i.lengthComputable ? i.total : void 0, l = o - r, u = s(l), d = o <= c;
887
+ r = o;
888
+ const p = {
889
+ loaded: o,
890
+ total: c,
891
+ progress: c ? o / c : void 0,
892
+ bytes: l,
893
+ rate: u || void 0,
894
+ estimated: u && c && d ? (c - o) / u : void 0,
895
+ event: i,
896
+ lengthComputable: c != null,
897
+ [t ? "download" : "upload"]: !0
898
+ };
899
+ e(p);
900
+ }, n);
901
+ }, et = (e, t) => {
902
+ const n = e != null;
903
+ return [(r) => t[0]({
904
+ lengthComputable: n,
905
+ total: e,
906
+ loaded: r
907
+ }), t[1]];
908
+ }, tt = (e) => (...t) => a.asap(() => e(...t)), or = B.hasStandardBrowserEnv ? /* @__PURE__ */ ((e, t) => (n) => (n = new URL(n, B.origin), e.protocol === n.protocol && e.host === n.host && (t || e.port === n.port)))(
909
+ new URL(B.origin),
910
+ B.navigator && /(msie|trident)/i.test(B.navigator.userAgent)
911
+ ) : () => !0, ir = B.hasStandardBrowserEnv ? (
912
+ // Standard browser envs support document.cookie
913
+ {
914
+ write(e, t, n, r, s, i) {
915
+ const o = [e + "=" + encodeURIComponent(t)];
916
+ a.isNumber(n) && o.push("expires=" + new Date(n).toGMTString()), a.isString(r) && o.push("path=" + r), a.isString(s) && o.push("domain=" + s), i === !0 && o.push("secure"), document.cookie = o.join("; ");
917
+ },
918
+ read(e) {
919
+ const t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
920
+ return t ? decodeURIComponent(t[3]) : null;
921
+ },
922
+ remove(e) {
923
+ this.write(e, "", Date.now() - 864e5);
924
+ }
925
+ }
926
+ ) : (
927
+ // Non-standard browser env (web workers, react-native) lack needed support.
928
+ {
929
+ write() {
930
+ },
931
+ read() {
932
+ return null;
933
+ },
934
+ remove() {
935
+ }
936
+ }
937
+ );
938
+ function ar(e) {
939
+ return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e);
940
+ }
941
+ function cr(e, t) {
942
+ return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e;
943
+ }
944
+ function xt(e, t, n) {
945
+ let r = !ar(t);
946
+ return e && (r || n == !1) ? cr(e, t) : t;
947
+ }
948
+ const nt = (e) => e instanceof U ? { ...e } : e;
949
+ function Y(e, t) {
950
+ t = t || {};
951
+ const n = {};
952
+ function r(u, d, p, g) {
953
+ return a.isPlainObject(u) && a.isPlainObject(d) ? a.merge.call({ caseless: g }, u, d) : a.isPlainObject(d) ? a.merge({}, d) : a.isArray(d) ? d.slice() : d;
954
+ }
955
+ function s(u, d, p, g) {
956
+ if (a.isUndefined(d)) {
957
+ if (!a.isUndefined(u))
958
+ return r(void 0, u, p, g);
959
+ } else return r(u, d, p, g);
960
+ }
961
+ function i(u, d) {
962
+ if (!a.isUndefined(d))
963
+ return r(void 0, d);
964
+ }
965
+ function o(u, d) {
966
+ if (a.isUndefined(d)) {
967
+ if (!a.isUndefined(u))
968
+ return r(void 0, u);
969
+ } else return r(void 0, d);
970
+ }
971
+ function c(u, d, p) {
972
+ if (p in t)
973
+ return r(u, d);
974
+ if (p in e)
975
+ return r(void 0, u);
976
+ }
977
+ const l = {
978
+ url: i,
979
+ method: i,
980
+ data: i,
981
+ baseURL: o,
982
+ transformRequest: o,
983
+ transformResponse: o,
984
+ paramsSerializer: o,
985
+ timeout: o,
986
+ timeoutMessage: o,
987
+ withCredentials: o,
988
+ withXSRFToken: o,
989
+ adapter: o,
990
+ responseType: o,
991
+ xsrfCookieName: o,
992
+ xsrfHeaderName: o,
993
+ onUploadProgress: o,
994
+ onDownloadProgress: o,
995
+ decompress: o,
996
+ maxContentLength: o,
997
+ maxBodyLength: o,
998
+ beforeRedirect: o,
999
+ transport: o,
1000
+ httpAgent: o,
1001
+ httpsAgent: o,
1002
+ cancelToken: o,
1003
+ socketPath: o,
1004
+ responseEncoding: o,
1005
+ validateStatus: c,
1006
+ headers: (u, d, p) => s(nt(u), nt(d), p, !0)
1007
+ };
1008
+ return a.forEach(Object.keys(Object.assign({}, e, t)), function(d) {
1009
+ const p = l[d] || s, g = p(e[d], t[d], d);
1010
+ a.isUndefined(g) && p !== c || (n[d] = g);
1011
+ }), n;
1012
+ }
1013
+ const Ot = (e) => {
1014
+ const t = Y({}, e);
1015
+ let { data: n, withXSRFToken: r, xsrfHeaderName: s, xsrfCookieName: i, headers: o, auth: c } = t;
1016
+ t.headers = o = U.from(o), t.url = _t(xt(t.baseURL, t.url, t.allowAbsoluteUrls), e.params, e.paramsSerializer), c && o.set(
1017
+ "Authorization",
1018
+ "Basic " + btoa((c.username || "") + ":" + (c.password ? unescape(encodeURIComponent(c.password)) : ""))
1019
+ );
1020
+ let l;
1021
+ if (a.isFormData(n)) {
1022
+ if (B.hasStandardBrowserEnv || B.hasStandardBrowserWebWorkerEnv)
1023
+ o.setContentType(void 0);
1024
+ else if ((l = o.getContentType()) !== !1) {
1025
+ const [u, ...d] = l ? l.split(";").map((p) => p.trim()).filter(Boolean) : [];
1026
+ o.setContentType([u || "multipart/form-data", ...d].join("; "));
1027
+ }
1028
+ }
1029
+ if (B.hasStandardBrowserEnv && (r && a.isFunction(r) && (r = r(t)), r || r !== !1 && or(t.url))) {
1030
+ const u = s && i && ir.read(i);
1031
+ u && o.set(s, u);
1032
+ }
1033
+ return t;
1034
+ }, lr = typeof XMLHttpRequest < "u", ur = lr && function(e) {
1035
+ return new Promise(function(n, r) {
1036
+ const s = Ot(e);
1037
+ let i = s.data;
1038
+ const o = U.from(s.headers).normalize();
1039
+ let { responseType: c, onUploadProgress: l, onDownloadProgress: u } = s, d, p, g, E, f;
1040
+ function m() {
1041
+ E && E(), f && f(), s.cancelToken && s.cancelToken.unsubscribe(d), s.signal && s.signal.removeEventListener("abort", d);
1042
+ }
1043
+ let h = new XMLHttpRequest();
1044
+ h.open(s.method.toUpperCase(), s.url, !0), h.timeout = s.timeout;
1045
+ function R() {
1046
+ if (!h)
1047
+ return;
1048
+ const _ = U.from(
1049
+ "getAllResponseHeaders" in h && h.getAllResponseHeaders()
1050
+ ), O = {
1051
+ data: !c || c === "text" || c === "json" ? h.responseText : h.response,
1052
+ status: h.status,
1053
+ statusText: h.statusText,
1054
+ headers: _,
1055
+ config: e,
1056
+ request: h
1057
+ };
1058
+ At(function(j) {
1059
+ n(j), m();
1060
+ }, function(j) {
1061
+ r(j), m();
1062
+ }, O), h = null;
1063
+ }
1064
+ "onloadend" in h ? h.onloadend = R : h.onreadystatechange = function() {
1065
+ !h || h.readyState !== 4 || h.status === 0 && !(h.responseURL && h.responseURL.indexOf("file:") === 0) || setTimeout(R);
1066
+ }, h.onabort = function() {
1067
+ h && (r(new y("Request aborted", y.ECONNABORTED, e, h)), h = null);
1068
+ }, h.onerror = function() {
1069
+ r(new y("Network Error", y.ERR_NETWORK, e, h)), h = null;
1070
+ }, h.ontimeout = function() {
1071
+ let N = s.timeout ? "timeout of " + s.timeout + "ms exceeded" : "timeout exceeded";
1072
+ const O = s.transitional || St;
1073
+ s.timeoutErrorMessage && (N = s.timeoutErrorMessage), r(new y(
1074
+ N,
1075
+ O.clarifyTimeoutError ? y.ETIMEDOUT : y.ECONNABORTED,
1076
+ e,
1077
+ h
1078
+ )), h = null;
1079
+ }, i === void 0 && o.setContentType(null), "setRequestHeader" in h && a.forEach(o.toJSON(), function(N, O) {
1080
+ h.setRequestHeader(O, N);
1081
+ }), a.isUndefined(s.withCredentials) || (h.withCredentials = !!s.withCredentials), c && c !== "json" && (h.responseType = s.responseType), u && ([g, f] = me(u, !0), h.addEventListener("progress", g)), l && h.upload && ([p, E] = me(l), h.upload.addEventListener("progress", p), h.upload.addEventListener("loadend", E)), (s.cancelToken || s.signal) && (d = (_) => {
1082
+ h && (r(!_ || _.type ? new te(null, e, h) : _), h.abort(), h = null);
1083
+ }, s.cancelToken && s.cancelToken.subscribe(d), s.signal && (s.signal.aborted ? d() : s.signal.addEventListener("abort", d)));
1084
+ const A = nr(s.url);
1085
+ if (A && B.protocols.indexOf(A) === -1) {
1086
+ r(new y("Unsupported protocol " + A + ":", y.ERR_BAD_REQUEST, e));
1087
+ return;
1088
+ }
1089
+ h.send(i || null);
1090
+ });
1091
+ }, dr = (e, t) => {
1092
+ const { length: n } = e = e ? e.filter(Boolean) : [];
1093
+ if (t || n) {
1094
+ let r = new AbortController(), s;
1095
+ const i = function(u) {
1096
+ if (!s) {
1097
+ s = !0, c();
1098
+ const d = u instanceof Error ? u : this.reason;
1099
+ r.abort(d instanceof y ? d : new te(d instanceof Error ? d.message : d));
1100
+ }
1101
+ };
1102
+ let o = t && setTimeout(() => {
1103
+ o = null, i(new y(`timeout ${t} of ms exceeded`, y.ETIMEDOUT));
1104
+ }, t);
1105
+ const c = () => {
1106
+ e && (o && clearTimeout(o), o = null, e.forEach((u) => {
1107
+ u.unsubscribe ? u.unsubscribe(i) : u.removeEventListener("abort", i);
1108
+ }), e = null);
1109
+ };
1110
+ e.forEach((u) => u.addEventListener("abort", i));
1111
+ const { signal: l } = r;
1112
+ return l.unsubscribe = () => a.asap(c), l;
1113
+ }
1114
+ }, fr = function* (e, t) {
1115
+ let n = e.byteLength;
1116
+ if (n < t) {
1117
+ yield e;
1118
+ return;
1119
+ }
1120
+ let r = 0, s;
1121
+ for (; r < n; )
1122
+ s = r + t, yield e.slice(r, s), r = s;
1123
+ }, pr = async function* (e, t) {
1124
+ for await (const n of hr(e))
1125
+ yield* fr(n, t);
1126
+ }, hr = async function* (e) {
1127
+ if (e[Symbol.asyncIterator]) {
1128
+ yield* e;
1129
+ return;
1130
+ }
1131
+ const t = e.getReader();
1132
+ try {
1133
+ for (; ; ) {
1134
+ const { done: n, value: r } = await t.read();
1135
+ if (n)
1136
+ break;
1137
+ yield r;
1138
+ }
1139
+ } finally {
1140
+ await t.cancel();
1141
+ }
1142
+ }, rt = (e, t, n, r) => {
1143
+ const s = pr(e, t);
1144
+ let i = 0, o, c = (l) => {
1145
+ o || (o = !0, r && r(l));
1146
+ };
1147
+ return new ReadableStream({
1148
+ async pull(l) {
1149
+ try {
1150
+ const { done: u, value: d } = await s.next();
1151
+ if (u) {
1152
+ c(), l.close();
1153
+ return;
1154
+ }
1155
+ let p = d.byteLength;
1156
+ if (n) {
1157
+ let g = i += p;
1158
+ n(g);
1159
+ }
1160
+ l.enqueue(new Uint8Array(d));
1161
+ } catch (u) {
1162
+ throw c(u), u;
1163
+ }
1164
+ },
1165
+ cancel(l) {
1166
+ return c(l), s.return();
1167
+ }
1168
+ }, {
1169
+ highWaterMark: 2
1170
+ });
1171
+ }, Re = typeof fetch == "function" && typeof Request == "function" && typeof Response == "function", Ct = Re && typeof ReadableStream == "function", mr = Re && (typeof TextEncoder == "function" ? /* @__PURE__ */ ((e) => (t) => e.encode(t))(new TextEncoder()) : async (e) => new Uint8Array(await new Response(e).arrayBuffer())), Lt = (e, ...t) => {
1172
+ try {
1173
+ return !!e(...t);
1174
+ } catch {
1175
+ return !1;
1176
+ }
1177
+ }, wr = Ct && Lt(() => {
1178
+ let e = !1;
1179
+ const t = new Request(B.origin, {
1180
+ body: new ReadableStream(),
1181
+ method: "POST",
1182
+ get duplex() {
1183
+ return e = !0, "half";
1184
+ }
1185
+ }).headers.has("Content-Type");
1186
+ return e && !t;
1187
+ }), st = 64 * 1024, ke = Ct && Lt(() => a.isReadableStream(new Response("").body)), we = {
1188
+ stream: ke && ((e) => e.body)
1189
+ };
1190
+ Re && ((e) => {
1191
+ ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((t) => {
1192
+ !we[t] && (we[t] = a.isFunction(e[t]) ? (n) => n[t]() : (n, r) => {
1193
+ throw new y(`Response type '${t}' is not supported`, y.ERR_NOT_SUPPORT, r);
1194
+ });
1195
+ });
1196
+ })(new Response());
1197
+ const yr = async (e) => {
1198
+ if (e == null)
1199
+ return 0;
1200
+ if (a.isBlob(e))
1201
+ return e.size;
1202
+ if (a.isSpecCompliantForm(e))
1203
+ return (await new Request(B.origin, {
1204
+ method: "POST",
1205
+ body: e
1206
+ }).arrayBuffer()).byteLength;
1207
+ if (a.isArrayBufferView(e) || a.isArrayBuffer(e))
1208
+ return e.byteLength;
1209
+ if (a.isURLSearchParams(e) && (e = e + ""), a.isString(e))
1210
+ return (await mr(e)).byteLength;
1211
+ }, gr = async (e, t) => {
1212
+ const n = a.toFiniteNumber(e.getContentLength());
1213
+ return n ?? yr(t);
1214
+ }, Er = Re && (async (e) => {
1215
+ let {
1216
+ url: t,
1217
+ method: n,
1218
+ data: r,
1219
+ signal: s,
1220
+ cancelToken: i,
1221
+ timeout: o,
1222
+ onDownloadProgress: c,
1223
+ onUploadProgress: l,
1224
+ responseType: u,
1225
+ headers: d,
1226
+ withCredentials: p = "same-origin",
1227
+ fetchOptions: g
1228
+ } = Ot(e);
1229
+ u = u ? (u + "").toLowerCase() : "text";
1230
+ let E = dr([s, i && i.toAbortSignal()], o), f;
1231
+ const m = E && E.unsubscribe && (() => {
1232
+ E.unsubscribe();
1233
+ });
1234
+ let h;
1235
+ try {
1236
+ if (l && wr && n !== "get" && n !== "head" && (h = await gr(d, r)) !== 0) {
1237
+ let O = new Request(t, {
1238
+ method: "POST",
1239
+ body: r,
1240
+ duplex: "half"
1241
+ }), P;
1242
+ if (a.isFormData(r) && (P = O.headers.get("content-type")) && d.setContentType(P), O.body) {
1243
+ const [j, b] = et(
1244
+ h,
1245
+ me(tt(l))
1246
+ );
1247
+ r = rt(O.body, st, j, b);
1248
+ }
1249
+ }
1250
+ a.isString(p) || (p = p ? "include" : "omit");
1251
+ const R = "credentials" in Request.prototype;
1252
+ f = new Request(t, {
1253
+ ...g,
1254
+ signal: E,
1255
+ method: n.toUpperCase(),
1256
+ headers: d.normalize().toJSON(),
1257
+ body: r,
1258
+ duplex: "half",
1259
+ credentials: R ? p : void 0
1260
+ });
1261
+ let A = await fetch(f, g);
1262
+ const _ = ke && (u === "stream" || u === "response");
1263
+ if (ke && (c || _ && m)) {
1264
+ const O = {};
1265
+ ["status", "statusText", "headers"].forEach((x) => {
1266
+ O[x] = A[x];
1267
+ });
1268
+ const P = a.toFiniteNumber(A.headers.get("content-length")), [j, b] = c && et(
1269
+ P,
1270
+ me(tt(c), !0)
1271
+ ) || [];
1272
+ A = new Response(
1273
+ rt(A.body, st, j, () => {
1274
+ b && b(), m && m();
1275
+ }),
1276
+ O
1277
+ );
1278
+ }
1279
+ u = u || "text";
1280
+ let N = await we[a.findKey(we, u) || "text"](A, e);
1281
+ return !_ && m && m(), await new Promise((O, P) => {
1282
+ At(O, P, {
1283
+ data: N,
1284
+ headers: U.from(A.headers),
1285
+ status: A.status,
1286
+ statusText: A.statusText,
1287
+ config: e,
1288
+ request: f
1289
+ });
1290
+ });
1291
+ } catch (R) {
1292
+ throw m && m(), R && R.name === "TypeError" && /Load failed|fetch/i.test(R.message) ? Object.assign(
1293
+ new y("Network Error", y.ERR_NETWORK, e, f),
1294
+ {
1295
+ cause: R.cause || R
1296
+ }
1297
+ ) : y.from(R, R && R.code, e, f);
1298
+ }
1299
+ }), Ue = {
1300
+ http: kn,
1301
+ xhr: ur,
1302
+ fetch: Er
1303
+ };
1304
+ a.forEach(Ue, (e, t) => {
1305
+ if (e) {
1306
+ try {
1307
+ Object.defineProperty(e, "name", { value: t });
1308
+ } catch {
1309
+ }
1310
+ Object.defineProperty(e, "adapterName", { value: t });
1311
+ }
1312
+ });
1313
+ const ot = (e) => `- ${e}`, br = (e) => a.isFunction(e) || e === null || e === !1, vt = {
1314
+ getAdapter: (e) => {
1315
+ e = a.isArray(e) ? e : [e];
1316
+ const { length: t } = e;
1317
+ let n, r;
1318
+ const s = {};
1319
+ for (let i = 0; i < t; i++) {
1320
+ n = e[i];
1321
+ let o;
1322
+ if (r = n, !br(n) && (r = Ue[(o = String(n)).toLowerCase()], r === void 0))
1323
+ throw new y(`Unknown adapter '${o}'`);
1324
+ if (r)
1325
+ break;
1326
+ s[o || "#" + i] = r;
1327
+ }
1328
+ if (!r) {
1329
+ const i = Object.entries(s).map(
1330
+ ([c, l]) => `adapter ${c} ` + (l === !1 ? "is not supported by the environment" : "is not available in the build")
1331
+ );
1332
+ let o = t ? i.length > 1 ? `since :
1333
+ ` + i.map(ot).join(`
1334
+ `) : " " + ot(i[0]) : "as no adapter specified";
1335
+ throw new y(
1336
+ "There is no suitable adapter to dispatch the request " + o,
1337
+ "ERR_NOT_SUPPORT"
1338
+ );
1339
+ }
1340
+ return r;
1341
+ },
1342
+ adapters: Ue
1343
+ };
1344
+ function Le(e) {
1345
+ if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted)
1346
+ throw new te(null, e);
1347
+ }
1348
+ function it(e) {
1349
+ return Le(e), e.headers = U.from(e.headers), e.data = Ce.call(
1350
+ e,
1351
+ e.transformRequest
1352
+ ), ["post", "put", "patch"].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), vt.getAdapter(e.adapter || ce.adapter)(e).then(function(r) {
1353
+ return Le(e), r.data = Ce.call(
1354
+ e,
1355
+ e.transformResponse,
1356
+ r
1357
+ ), r.headers = U.from(r.headers), r;
1358
+ }, function(r) {
1359
+ return Tt(r) || (Le(e), r && r.response && (r.response.data = Ce.call(
1360
+ e,
1361
+ e.transformResponse,
1362
+ r.response
1363
+ ), r.response.headers = U.from(r.response.headers))), Promise.reject(r);
1364
+ });
1365
+ }
1366
+ const Nt = "1.10.0", Te = {};
1367
+ ["object", "boolean", "number", "function", "string", "symbol"].forEach((e, t) => {
1368
+ Te[e] = function(r) {
1369
+ return typeof r === e || "a" + (t < 1 ? "n " : " ") + e;
1370
+ };
1371
+ });
1372
+ const at = {};
1373
+ Te.transitional = function(t, n, r) {
1374
+ function s(i, o) {
1375
+ return "[Axios v" + Nt + "] Transitional option '" + i + "'" + o + (r ? ". " + r : "");
1376
+ }
1377
+ return (i, o, c) => {
1378
+ if (t === !1)
1379
+ throw new y(
1380
+ s(o, " has been removed" + (n ? " in " + n : "")),
1381
+ y.ERR_DEPRECATED
1382
+ );
1383
+ return n && !at[o] && (at[o] = !0, console.warn(
1384
+ s(
1385
+ o,
1386
+ " has been deprecated since v" + n + " and will be removed in the near future"
1387
+ )
1388
+ )), t ? t(i, o, c) : !0;
1389
+ };
1390
+ };
1391
+ Te.spelling = function(t) {
1392
+ return (n, r) => (console.warn(`${r} is likely a misspelling of ${t}`), !0);
1393
+ };
1394
+ function _r(e, t, n) {
1395
+ if (typeof e != "object")
1396
+ throw new y("options must be an object", y.ERR_BAD_OPTION_VALUE);
1397
+ const r = Object.keys(e);
1398
+ let s = r.length;
1399
+ for (; s-- > 0; ) {
1400
+ const i = r[s], o = t[i];
1401
+ if (o) {
1402
+ const c = e[i], l = c === void 0 || o(c, i, e);
1403
+ if (l !== !0)
1404
+ throw new y("option " + i + " must be " + l, y.ERR_BAD_OPTION_VALUE);
1405
+ continue;
1406
+ }
1407
+ if (n !== !0)
1408
+ throw new y("Unknown option " + i, y.ERR_BAD_OPTION);
1409
+ }
1410
+ }
1411
+ const he = {
1412
+ assertOptions: _r,
1413
+ validators: Te
1414
+ }, H = he.validators;
1415
+ let Z = class {
1416
+ constructor(t) {
1417
+ this.defaults = t || {}, this.interceptors = {
1418
+ request: new Ye(),
1419
+ response: new Ye()
1420
+ };
1421
+ }
1422
+ /**
1423
+ * Dispatch a request
1424
+ *
1425
+ * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
1426
+ * @param {?Object} config
1427
+ *
1428
+ * @returns {Promise} The Promise to be fulfilled
1429
+ */
1430
+ async request(t, n) {
1431
+ try {
1432
+ return await this._request(t, n);
1433
+ } catch (r) {
1434
+ if (r instanceof Error) {
1435
+ let s = {};
1436
+ Error.captureStackTrace ? Error.captureStackTrace(s) : s = new Error();
1437
+ const i = s.stack ? s.stack.replace(/^.+\n/, "") : "";
1438
+ try {
1439
+ r.stack ? i && !String(r.stack).endsWith(i.replace(/^.+\n.+\n/, "")) && (r.stack += `
1440
+ ` + i) : r.stack = i;
1441
+ } catch {
1442
+ }
1443
+ }
1444
+ throw r;
1445
+ }
1446
+ }
1447
+ _request(t, n) {
1448
+ typeof t == "string" ? (n = n || {}, n.url = t) : n = t || {}, n = Y(this.defaults, n);
1449
+ const { transitional: r, paramsSerializer: s, headers: i } = n;
1450
+ r !== void 0 && he.assertOptions(r, {
1451
+ silentJSONParsing: H.transitional(H.boolean),
1452
+ forcedJSONParsing: H.transitional(H.boolean),
1453
+ clarifyTimeoutError: H.transitional(H.boolean)
1454
+ }, !1), s != null && (a.isFunction(s) ? n.paramsSerializer = {
1455
+ serialize: s
1456
+ } : he.assertOptions(s, {
1457
+ encode: H.function,
1458
+ serialize: H.function
1459
+ }, !0)), n.allowAbsoluteUrls !== void 0 || (this.defaults.allowAbsoluteUrls !== void 0 ? n.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls : n.allowAbsoluteUrls = !0), he.assertOptions(n, {
1460
+ baseUrl: H.spelling("baseURL"),
1461
+ withXsrfToken: H.spelling("withXSRFToken")
1462
+ }, !0), n.method = (n.method || this.defaults.method || "get").toLowerCase();
1463
+ let o = i && a.merge(
1464
+ i.common,
1465
+ i[n.method]
1466
+ );
1467
+ i && a.forEach(
1468
+ ["delete", "get", "head", "post", "put", "patch", "common"],
1469
+ (f) => {
1470
+ delete i[f];
1471
+ }
1472
+ ), n.headers = U.concat(o, i);
1473
+ const c = [];
1474
+ let l = !0;
1475
+ this.interceptors.request.forEach(function(m) {
1476
+ typeof m.runWhen == "function" && m.runWhen(n) === !1 || (l = l && m.synchronous, c.unshift(m.fulfilled, m.rejected));
1477
+ });
1478
+ const u = [];
1479
+ this.interceptors.response.forEach(function(m) {
1480
+ u.push(m.fulfilled, m.rejected);
1481
+ });
1482
+ let d, p = 0, g;
1483
+ if (!l) {
1484
+ const f = [it.bind(this), void 0];
1485
+ for (f.unshift.apply(f, c), f.push.apply(f, u), g = f.length, d = Promise.resolve(n); p < g; )
1486
+ d = d.then(f[p++], f[p++]);
1487
+ return d;
1488
+ }
1489
+ g = c.length;
1490
+ let E = n;
1491
+ for (p = 0; p < g; ) {
1492
+ const f = c[p++], m = c[p++];
1493
+ try {
1494
+ E = f(E);
1495
+ } catch (h) {
1496
+ m.call(this, h);
1497
+ break;
1498
+ }
1499
+ }
1500
+ try {
1501
+ d = it.call(this, E);
1502
+ } catch (f) {
1503
+ return Promise.reject(f);
1504
+ }
1505
+ for (p = 0, g = u.length; p < g; )
1506
+ d = d.then(u[p++], u[p++]);
1507
+ return d;
1508
+ }
1509
+ getUri(t) {
1510
+ t = Y(this.defaults, t);
1511
+ const n = xt(t.baseURL, t.url, t.allowAbsoluteUrls);
1512
+ return _t(n, t.params, t.paramsSerializer);
1513
+ }
1514
+ };
1515
+ a.forEach(["delete", "get", "head", "options"], function(t) {
1516
+ Z.prototype[t] = function(n, r) {
1517
+ return this.request(Y(r || {}, {
1518
+ method: t,
1519
+ url: n,
1520
+ data: (r || {}).data
1521
+ }));
1522
+ };
1523
+ });
1524
+ a.forEach(["post", "put", "patch"], function(t) {
1525
+ function n(r) {
1526
+ return function(i, o, c) {
1527
+ return this.request(Y(c || {}, {
1528
+ method: t,
1529
+ headers: r ? {
1530
+ "Content-Type": "multipart/form-data"
1531
+ } : {},
1532
+ url: i,
1533
+ data: o
1534
+ }));
1535
+ };
1536
+ }
1537
+ Z.prototype[t] = n(), Z.prototype[t + "Form"] = n(!0);
1538
+ });
1539
+ let Sr = class Bt {
1540
+ constructor(t) {
1541
+ if (typeof t != "function")
1542
+ throw new TypeError("executor must be a function.");
1543
+ let n;
1544
+ this.promise = new Promise(function(i) {
1545
+ n = i;
1546
+ });
1547
+ const r = this;
1548
+ this.promise.then((s) => {
1549
+ if (!r._listeners) return;
1550
+ let i = r._listeners.length;
1551
+ for (; i-- > 0; )
1552
+ r._listeners[i](s);
1553
+ r._listeners = null;
1554
+ }), this.promise.then = (s) => {
1555
+ let i;
1556
+ const o = new Promise((c) => {
1557
+ r.subscribe(c), i = c;
1558
+ }).then(s);
1559
+ return o.cancel = function() {
1560
+ r.unsubscribe(i);
1561
+ }, o;
1562
+ }, t(function(i, o, c) {
1563
+ r.reason || (r.reason = new te(i, o, c), n(r.reason));
1564
+ });
1565
+ }
1566
+ /**
1567
+ * Throws a `CanceledError` if cancellation has been requested.
1568
+ */
1569
+ throwIfRequested() {
1570
+ if (this.reason)
1571
+ throw this.reason;
1572
+ }
1573
+ /**
1574
+ * Subscribe to the cancel signal
1575
+ */
1576
+ subscribe(t) {
1577
+ if (this.reason) {
1578
+ t(this.reason);
1579
+ return;
1580
+ }
1581
+ this._listeners ? this._listeners.push(t) : this._listeners = [t];
1582
+ }
1583
+ /**
1584
+ * Unsubscribe from the cancel signal
1585
+ */
1586
+ unsubscribe(t) {
1587
+ if (!this._listeners)
1588
+ return;
1589
+ const n = this._listeners.indexOf(t);
1590
+ n !== -1 && this._listeners.splice(n, 1);
1591
+ }
1592
+ toAbortSignal() {
1593
+ const t = new AbortController(), n = (r) => {
1594
+ t.abort(r);
1595
+ };
1596
+ return this.subscribe(n), t.signal.unsubscribe = () => this.unsubscribe(n), t.signal;
1597
+ }
1598
+ /**
1599
+ * Returns an object that contains a new `CancelToken` and a function that, when called,
1600
+ * cancels the `CancelToken`.
1601
+ */
1602
+ static source() {
1603
+ let t;
1604
+ return {
1605
+ token: new Bt(function(s) {
1606
+ t = s;
1607
+ }),
1608
+ cancel: t
1609
+ };
1610
+ }
1611
+ };
1612
+ function Rr(e) {
1613
+ return function(n) {
1614
+ return e.apply(null, n);
1615
+ };
1616
+ }
1617
+ function Tr(e) {
1618
+ return a.isObject(e) && e.isAxiosError === !0;
1619
+ }
1620
+ const Ie = {
1621
+ Continue: 100,
1622
+ SwitchingProtocols: 101,
1623
+ Processing: 102,
1624
+ EarlyHints: 103,
1625
+ Ok: 200,
1626
+ Created: 201,
1627
+ Accepted: 202,
1628
+ NonAuthoritativeInformation: 203,
1629
+ NoContent: 204,
1630
+ ResetContent: 205,
1631
+ PartialContent: 206,
1632
+ MultiStatus: 207,
1633
+ AlreadyReported: 208,
1634
+ ImUsed: 226,
1635
+ MultipleChoices: 300,
1636
+ MovedPermanently: 301,
1637
+ Found: 302,
1638
+ SeeOther: 303,
1639
+ NotModified: 304,
1640
+ UseProxy: 305,
1641
+ Unused: 306,
1642
+ TemporaryRedirect: 307,
1643
+ PermanentRedirect: 308,
1644
+ BadRequest: 400,
1645
+ Unauthorized: 401,
1646
+ PaymentRequired: 402,
1647
+ Forbidden: 403,
1648
+ NotFound: 404,
1649
+ MethodNotAllowed: 405,
1650
+ NotAcceptable: 406,
1651
+ ProxyAuthenticationRequired: 407,
1652
+ RequestTimeout: 408,
1653
+ Conflict: 409,
1654
+ Gone: 410,
1655
+ LengthRequired: 411,
1656
+ PreconditionFailed: 412,
1657
+ PayloadTooLarge: 413,
1658
+ UriTooLong: 414,
1659
+ UnsupportedMediaType: 415,
1660
+ RangeNotSatisfiable: 416,
1661
+ ExpectationFailed: 417,
1662
+ ImATeapot: 418,
1663
+ MisdirectedRequest: 421,
1664
+ UnprocessableEntity: 422,
1665
+ Locked: 423,
1666
+ FailedDependency: 424,
1667
+ TooEarly: 425,
1668
+ UpgradeRequired: 426,
1669
+ PreconditionRequired: 428,
1670
+ TooManyRequests: 429,
1671
+ RequestHeaderFieldsTooLarge: 431,
1672
+ UnavailableForLegalReasons: 451,
1673
+ InternalServerError: 500,
1674
+ NotImplemented: 501,
1675
+ BadGateway: 502,
1676
+ ServiceUnavailable: 503,
1677
+ GatewayTimeout: 504,
1678
+ HttpVersionNotSupported: 505,
1679
+ VariantAlsoNegotiates: 506,
1680
+ InsufficientStorage: 507,
1681
+ LoopDetected: 508,
1682
+ NotExtended: 510,
1683
+ NetworkAuthenticationRequired: 511
1684
+ };
1685
+ Object.entries(Ie).forEach(([e, t]) => {
1686
+ Ie[t] = e;
1687
+ });
1688
+ function Pt(e) {
1689
+ const t = new Z(e), n = lt(Z.prototype.request, t);
1690
+ return a.extend(n, Z.prototype, t, { allOwnKeys: !0 }), a.extend(n, t, null, { allOwnKeys: !0 }), n.create = function(s) {
1691
+ return Pt(Y(e, s));
1692
+ }, n;
1693
+ }
1694
+ const C = Pt(ce);
1695
+ C.Axios = Z;
1696
+ C.CanceledError = te;
1697
+ C.CancelToken = Sr;
1698
+ C.isCancel = Tt;
1699
+ C.VERSION = Nt;
1700
+ C.toFormData = Se;
1701
+ C.AxiosError = y;
1702
+ C.Cancel = C.CanceledError;
1703
+ C.all = function(t) {
1704
+ return Promise.all(t);
1705
+ };
1706
+ C.spread = Rr;
1707
+ C.isAxiosError = Tr;
1708
+ C.mergeConfig = Y;
1709
+ C.AxiosHeaders = U;
1710
+ C.formToJSON = (e) => Rt(a.isHTMLForm(e) ? new FormData(e) : e);
1711
+ C.getAdapter = vt.getAdapter;
1712
+ C.HttpStatusCode = Ie;
1713
+ C.default = C;
1714
+ const {
1715
+ Axios: _s,
1716
+ AxiosError: Ss,
1717
+ CanceledError: Rs,
1718
+ isCancel: Ts,
1719
+ CancelToken: As,
1720
+ VERSION: xs,
1721
+ all: Os,
1722
+ Cancel: Cs,
1723
+ isAxiosError: Ls,
1724
+ spread: vs,
1725
+ toFormData: Ns,
1726
+ AxiosHeaders: Bs,
1727
+ HttpStatusCode: Ps,
1728
+ formToJSON: ks,
1729
+ getAdapter: Us,
1730
+ mergeConfig: Is
1731
+ } = C;
1732
+ function Me(e) {
1733
+ return new Promise((t, n) => {
1734
+ e.oncomplete = e.onsuccess = () => t(e.result), e.onabort = e.onerror = () => n(e.error);
1735
+ });
1736
+ }
1737
+ function Ar(e, t) {
1738
+ let n;
1739
+ const r = () => {
1740
+ if (n)
1741
+ return n;
1742
+ const s = indexedDB.open(e);
1743
+ return s.onupgradeneeded = () => s.result.createObjectStore(t), n = Me(s), n.then((i) => {
1744
+ i.onclose = () => n = void 0;
1745
+ }, () => {
1746
+ }), n;
1747
+ };
1748
+ return (s, i) => r().then((o) => i(o.transaction(t, s).objectStore(t)));
1749
+ }
1750
+ let ve;
1751
+ function kt() {
1752
+ return ve || (ve = Ar("keyval-store", "keyval")), ve;
1753
+ }
1754
+ function xr(e, t = kt()) {
1755
+ return t("readonly", (n) => Me(n.get(e)));
1756
+ }
1757
+ function Or(e, t, n = kt()) {
1758
+ return n("readwrite", (r) => (r.put(t, e), Me(r.transaction)));
1759
+ }
1760
+ async function Cr(e) {
1761
+ return await xr(e) ?? null;
1762
+ }
1763
+ async function Lr(e, t) {
1764
+ await Or(e, t);
1765
+ }
1766
+ function vr(e) {
1767
+ const [t, n] = v({
1768
+ isPlaying: !1,
1769
+ isPaused: !1,
1770
+ progress: 0,
1771
+ currentPNGTuber: 0,
1772
+ avatars: e.avatars,
1773
+ error: null
1774
+ }), [r, s] = v(
1775
+ e.autoAdvance || !1
1776
+ ), [i, o] = v(!1), [, c] = v(0), l = D(null), u = D(null), d = D(r), p = D(!1), g = D(null);
1777
+ M(() => {
1778
+ d.current = r;
1779
+ }, [r]);
1780
+ const E = (b) => {
1781
+ if (e.avatars.length <= 1) return 0;
1782
+ const x = e.avatars.length, $ = 100 / x;
1783
+ return Math.min(Math.floor(b / $), x - 1);
1784
+ }, f = () => {
1785
+ u.current && (clearInterval(u.current), u.current = null);
1786
+ }, m = () => {
1787
+ l.current && (u.current = setInterval(() => {
1788
+ if (l.current && l.current.duration) {
1789
+ const b = l.current.currentTime, x = l.current.duration, $ = b / x * 100;
1790
+ n((Q) => ({
1791
+ ...Q,
1792
+ progress: Math.min($, 100),
1793
+ currentPNGTuber: E($)
1794
+ }));
1795
+ }
1796
+ }, 100));
1797
+ }, h = () => {
1798
+ var b;
1799
+ l.current && !t.isPaused && (l.current.pause(), f(), n((x) => ({
1800
+ ...x,
1801
+ isPlaying: !1,
1802
+ isPaused: !0
1803
+ })), (b = e.onPause) == null || b.call(e));
1804
+ }, R = async () => {
1805
+ if (l.current && t.isPaused)
1806
+ try {
1807
+ await l.current.play(), m(), n((b) => ({
1808
+ ...b,
1809
+ isPlaying: !0,
1810
+ isPaused: !1
1811
+ }));
1812
+ } catch (b) {
1813
+ console.error("Error al reanudar audio:", b), n((x) => ({
1814
+ ...x,
1815
+ error: {
1816
+ type: "audio",
1817
+ message: "Error al reanudar la reproducción"
1818
+ }
1819
+ }));
1820
+ }
1821
+ }, A = () => {
1822
+ N(!0);
1823
+ }, _ = () => {
1824
+ s((b) => !b);
1825
+ }, N = (b = !1) => {
1826
+ f(), l.current && (g.current && (l.current.removeEventListener(
1827
+ "ended",
1828
+ g.current
1829
+ ), g.current = null), l.current.removeEventListener("error", O), l.current.removeEventListener("pause", P), l.current.pause(), l.current.currentTime = 0, l.current.src = "", l.current.load(), l.current = null), n((x) => ({
1830
+ ...x,
1831
+ isPlaying: !1,
1832
+ isPaused: !1,
1833
+ progress: 0,
1834
+ currentPNGTuber: 0
1835
+ })), d.current && !p.current && (p.current = !0, c((x) => x + 1)), b || setTimeout(() => {
1836
+ var x;
1837
+ (x = e.onStop) == null || x.call(e);
1838
+ }, 50);
1839
+ }, O = () => {
1840
+ n((b) => ({
1841
+ ...b,
1842
+ error: {
1843
+ type: "audio",
1844
+ message: "Error al reproducir el audio"
1845
+ }
1846
+ })), N();
1847
+ }, P = () => {
1848
+ l.current && l.current.currentTime < l.current.duration && n((b) => ({
1849
+ ...b,
1850
+ isPlaying: !1,
1851
+ isPaused: !0
1852
+ }));
1853
+ }, j = async () => {
1854
+ var x, $, Q;
1855
+ if (!e.text.trim()) {
1856
+ n((L) => ({
1857
+ ...L,
1858
+ error: {
1859
+ type: "synthesis",
1860
+ message: "No hay contenido para reproducir"
1861
+ }
1862
+ }));
1863
+ return;
1864
+ }
1865
+ p.current = !1, N(!0);
1866
+ const b = `${e.voiceId}-${e.lang ?? "auto"}-${e.model ?? "multilingual"}-${e.text}`;
1867
+ try {
1868
+ o(!0), n((I) => ({
1869
+ ...I,
1870
+ isPlaying: !1,
1871
+ progress: 0,
1872
+ currentPNGTuber: 0,
1873
+ error: null
1874
+ }));
1875
+ let L = await Cr(b);
1876
+ if (!L) {
1877
+ const I = e.model === "standard" ? "eleven_monolingual_v1" : e.model === "enhanced" ? "eleven_turbo_v2" : "eleven_multilingual_v2";
1878
+ L = (await C.post(
1879
+ `${ye.ELEVENLABS_API_BASE}/text-to-speech/${e.voiceId}`,
1880
+ {
1881
+ text: e.text,
1882
+ model_id: I,
1883
+ voice_settings: {
1884
+ stability: e.stability ?? 0.7,
1885
+ similarity_boost: e.similarityBoost ?? 0.8,
1886
+ style: 0,
1887
+ use_speaker_boost: !0
1888
+ }
1889
+ },
1890
+ {
1891
+ headers: {
1892
+ "xi-api-key": e.apiKey,
1893
+ "Content-Type": "application/json"
1894
+ },
1895
+ responseType: "blob"
1896
+ }
1897
+ )).data, L && await Lr(b, L);
1898
+ }
1899
+ if (L) {
1900
+ const I = URL.createObjectURL(L);
1901
+ l.current = new Audio(I);
1902
+ const J = () => {
1903
+ N(!1), URL.revokeObjectURL(I);
1904
+ };
1905
+ g.current = J, l.current.addEventListener("ended", J), l.current.addEventListener("error", O), l.current.addEventListener("pause", P), l.current.addEventListener("canplaythrough", async () => {
1906
+ var le;
1907
+ o(!1), n((G) => ({
1908
+ ...G,
1909
+ isPlaying: !0
1910
+ })), m();
1911
+ try {
1912
+ await ((le = l.current) == null ? void 0 : le.play());
1913
+ } catch (G) {
1914
+ console.error("Error al iniciar reproducción:", G), n((z) => ({
1915
+ ...z,
1916
+ error: {
1917
+ type: "audio",
1918
+ message: "Error al iniciar la reproducción"
1919
+ }
1920
+ })), N();
1921
+ }
1922
+ });
1923
+ }
1924
+ } catch (L) {
1925
+ console.error("Error al reproducir TTS:", L), n((I) => ({
1926
+ ...I,
1927
+ error: {
1928
+ type: "network",
1929
+ message: `Error en la API: ${L.message}`
1930
+ },
1931
+ isPlaying: !1
1932
+ })), f(), o(!1), C.isAxiosError(L) ? (console.error("Código de estado:", (x = L.response) == null ? void 0 : x.status), (($ = L.response) == null ? void 0 : $.data) instanceof Blob ? L.response.data.text().then((I) => {
1933
+ console.error("Respuesta de error (texto):", I);
1934
+ try {
1935
+ const J = JSON.parse(I);
1936
+ console.error("Respuesta de error (JSON):", J);
1937
+ } catch {
1938
+ console.error("No es JSON válido");
1939
+ }
1940
+ }) : console.error("Respuesta de error:", (Q = L.response) == null ? void 0 : Q.data)) : console.error("Error inesperado:", L);
1941
+ }
1942
+ };
1943
+ return M(() => () => {
1944
+ f(), l.current && (l.current.pause(), l.current.src = "", l.current.load(), l.current = null);
1945
+ }, []), M(() => {
1946
+ e.voiceId && (l.current && (l.current.pause(), l.current.src = "", l.current.load(), l.current = null), f(), n((b) => ({
1947
+ ...b,
1948
+ isPlaying: !1,
1949
+ isPaused: !1,
1950
+ progress: 0,
1951
+ currentPNGTuber: 0
1952
+ })));
1953
+ }, [e.voiceId]), {
1954
+ ...t,
1955
+ play: j,
1956
+ pause: h,
1957
+ resume: R,
1958
+ stop: A,
1959
+ toggleAutoAdvance: _,
1960
+ isAutoAdvancing: r,
1961
+ isLoadingAudio: i,
1962
+ avatars: e.avatars
1963
+ };
1964
+ }
1965
+ const Nr = "_selectorWrapper_1kmif_1", Br = "_iconButton_1kmif_6", Pr = "_dropdown_1kmif_18", kr = "_dropdownItem_1kmif_31", Ur = "_active_1kmif_44", oe = {
1966
+ selectorWrapper: Nr,
1967
+ iconButton: Br,
1968
+ dropdown: Pr,
1969
+ dropdownItem: kr,
1970
+ active: Ur
1971
+ }, Ir = ({
1972
+ languages: e,
1973
+ current: t,
1974
+ onChange: n
1975
+ }) => {
1976
+ const [r, s] = v(!1), [i, o] = v(t || e[0].code), c = D(null);
1977
+ return M(() => {
1978
+ const l = (u) => {
1979
+ c.current && !c.current.contains(u.target) && s(!1);
1980
+ };
1981
+ return document.addEventListener("mousedown", l), () => document.removeEventListener("mousedown", l);
1982
+ }, []), /* @__PURE__ */ F("div", { className: oe.selectorWrapper, ref: c, children: [
1983
+ /* @__PURE__ */ w(
1984
+ "button",
1985
+ {
1986
+ className: oe.iconButton,
1987
+ title: "Cambiar idioma",
1988
+ onClick: () => s(!r),
1989
+ children: /* @__PURE__ */ w(
1990
+ "svg",
1991
+ {
1992
+ xmlns: "http://www.w3.org/2000/svg",
1993
+ fill: "white",
1994
+ width: "30px",
1995
+ height: "30px",
1996
+ viewBox: "0 0 24 24",
1997
+ children: /* @__PURE__ */ w("path", { d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z" })
1998
+ }
1999
+ )
2000
+ }
2001
+ ),
2002
+ r && /* @__PURE__ */ w("div", { className: oe.dropdown, children: e.map((l) => /* @__PURE__ */ w(
2003
+ "button",
2004
+ {
2005
+ className: `${oe.dropdownItem} ${l.code === i ? oe.active : ""}`,
2006
+ onClick: () => {
2007
+ o(l.code), n == null || n(l.code), s(!1);
2008
+ },
2009
+ children: l.label
2010
+ },
2011
+ l.code
2012
+ )) })
2013
+ ] });
2014
+ }, Fr = "_controlsRow_wwyxd_1", Dr = "_select_wwyxd_9", jr = "_autoAdvanceButton_wwyxd_15", Mr = "_section_wwyxd_26", qr = "_textarea_wwyxd_36", $r = "_input_wwyxd_46", Hr = "_error_wwyxd_54", zr = "_buttonPrimary_wwyxd_59", Vr = "_buttonSuccess_wwyxd_69", Jr = "_infoBox_wwyxd_78", Gr = "_viewer_wwyxd_86", Wr = "_viewerTopBar_wwyxd_99", Kr = "_topRightControls_wwyxd_112", Xr = "_itemCounter_wwyxd_120", Zr = "_iconButton_wwyxd_128", Yr = "_navButton_wwyxd_148", Qr = "_navButtonLeft_wwyxd_165", es = "_navButtonRight_wwyxd_169", ts = "_backgroundImage_wwyxd_173", ns = "_avatar_wwyxd_180", rs = "_caption_wwyxd_190", ss = "_captionTitle_wwyxd_203", os = "_captionText_wwyxd_213", is = "_loadingOverlay_wwyxd_219", as = "_loadingSpinner_wwyxd_234", cs = "_spin_wwyxd_253", ls = "_loadingButton_wwyxd_244", us = "_spinner_wwyxd_253", ds = "_progressBar_wwyxd_266", fs = "_progressFill_wwyxd_275", ps = "_playbackControls_wwyxd_281", hs = "_playButton_wwyxd_294", ms = "_pauseButton_wwyxd_295", S = {
2015
+ controlsRow: Fr,
2016
+ select: Dr,
2017
+ autoAdvanceButton: jr,
2018
+ section: Mr,
2019
+ textarea: qr,
2020
+ input: $r,
2021
+ error: Hr,
2022
+ buttonPrimary: zr,
2023
+ buttonSuccess: Vr,
2024
+ infoBox: Jr,
2025
+ viewer: Gr,
2026
+ viewerTopBar: Wr,
2027
+ topRightControls: Kr,
2028
+ itemCounter: Xr,
2029
+ iconButton: Zr,
2030
+ navButton: Yr,
2031
+ navButtonLeft: Qr,
2032
+ navButtonRight: es,
2033
+ backgroundImage: ts,
2034
+ avatar: ns,
2035
+ caption: rs,
2036
+ captionTitle: ss,
2037
+ captionText: os,
2038
+ loadingOverlay: is,
2039
+ loadingSpinner: as,
2040
+ spin: cs,
2041
+ loadingButton: ls,
2042
+ spinner: us,
2043
+ progressBar: ds,
2044
+ progressFill: fs,
2045
+ playbackControls: ps,
2046
+ playButton: hs,
2047
+ pauseButton: ms
2048
+ }, ws = [
2049
+ { id: "21m00Tcm4TlvDq8ikWAM", name: "Voz Mujer" },
2050
+ // { id: "iLzHtPh0bW6RGWRG0Xo5", name: "Voz Hombre" },
2051
+ { id: "Nh2zY9kknu6z4pZy6FhD", name: "Voz Hombre Joven" }
2052
+ ], ct = ye.DEFAULT_IMAGE_URL, Fs = ({
2053
+ heritageItems: e = [],
2054
+ targetLanguage: t = "es",
2055
+ descriptionLength: n = "extended",
2056
+ autoAdvance: r = !1,
2057
+ voiceIds: s = [],
2058
+ avatars: i = []
2059
+ }) => {
2060
+ const [o] = v(e), [c, l] = v(0), [u, d] = v(n), [p, g] = v(
2061
+ t
2062
+ ), [E, f] = v(""), [m, h] = v([]), [R, A] = v(0), [_, N] = v(r), [O, P] = v(!1), [j, b] = v(
2063
+ s.length > 0 ? s[0] : ""
2064
+ ), x = j || (s.length > 0 ? s[c % s.length] : ""), $ = i[c % i.length], [Q, L] = v(!1), [I, J] = v(!1), [le, G] = v(!0), z = D(null), qe = D(_), $e = D(c), Ae = D(o), K = D(null), ue = D(!1);
2065
+ M(() => {
2066
+ qe.current = _, $e.current = c, Ae.current = o;
2067
+ }, [_, c, o]);
2068
+ const de = o[c] || {
2069
+ id: "default",
2070
+ name: "Patrimonio Cultural",
2071
+ description: {
2072
+ local: {
2073
+ short: "Ingrese un JSON válido para comenzar",
2074
+ extended: "Ingrese un JSON válido para comenzar"
2075
+ }
2076
+ },
2077
+ imageUrl: ""
2078
+ }, {
2079
+ isPlaying: W,
2080
+ isPaused: He,
2081
+ isLoadingAudio: Ut,
2082
+ progress: ze,
2083
+ play: It,
2084
+ pause: Ft,
2085
+ resume: Dt,
2086
+ stop: jt
2087
+ } = vr({
2088
+ text: E,
2089
+ lang: p,
2090
+ onStop: () => {
2091
+ G(!0), qe.current && Ae.current.length > 1 && !ue.current && setTimeout(() => {
2092
+ P(!0);
2093
+ const T = ($e.current + 1) % Ae.current.length;
2094
+ l(T);
2095
+ }, 100), ue.current = !1;
2096
+ },
2097
+ voiceId: x,
2098
+ avatars: [$],
2099
+ apiKey: ye.ELEVENLABS_API_KEY
2100
+ });
2101
+ M(() => {
2102
+ if (O && E && !E.includes("JSON válido")) {
2103
+ const T = setTimeout(() => {
2104
+ W || Ve(), P(!1);
2105
+ }, 500);
2106
+ return () => clearTimeout(T);
2107
+ }
2108
+ }, [O, E, W]), M(() => {
2109
+ (async () => {
2110
+ const V = de.description.local[u];
2111
+ if (V)
2112
+ try {
2113
+ const ne = await Gt(V, p);
2114
+ f(ne);
2115
+ } catch (ne) {
2116
+ console.error("Error en traducción:", ne), f(V);
2117
+ }
2118
+ })();
2119
+ }, [de, u, p]);
2120
+ const xe = () => {
2121
+ G(!0), K.current && clearTimeout(K.current), K.current = setTimeout(() => {
2122
+ G(!1);
2123
+ }, 4e3);
2124
+ }, Ve = () => {
2125
+ if (!E.trim() || E.includes("JSON válido")) {
2126
+ alert("No hay contenido para reproducir");
2127
+ return;
2128
+ }
2129
+ It(), xe();
2130
+ }, Mt = () => {
2131
+ Ft();
2132
+ }, qt = () => {
2133
+ Dt(), xe();
2134
+ }, Je = () => {
2135
+ jt(), P(!1), z.current && clearTimeout(z.current), K.current && clearTimeout(K.current), G(!0);
2136
+ }, $t = () => {
2137
+ ue.current = !0, Je(), c > 0 && l((T) => T - 1);
2138
+ }, Ht = () => {
2139
+ ue.current = !0, Je(), c < o.length - 1 && l((T) => T + 1);
2140
+ };
2141
+ M(() => () => {
2142
+ z.current && clearTimeout(z.current), K.current && clearTimeout(K.current);
2143
+ }, []), M(() => {
2144
+ if (E) {
2145
+ const T = E.split(new RegExp("(?<=[.!?])\\s+", "g")).map((V) => V.trim()).filter((V) => V.length > 0);
2146
+ h(T), A(0);
2147
+ }
2148
+ }, [E]), M(() => {
2149
+ if (!W || m.length === 0) return;
2150
+ z.current && clearTimeout(z.current);
2151
+ const V = 1500 + m[R].length * 50;
2152
+ z.current = setTimeout(() => {
2153
+ A((ne) => (ne + 1) % m.length);
2154
+ }, V);
2155
+ }, [W, m, R]);
2156
+ const [Ge, zt] = v(!1), Vt = (T) => {
2157
+ b(T), zt(!0);
2158
+ };
2159
+ return M(() => {
2160
+ !Ge && s.length > 0 && b(s[c % s.length]);
2161
+ }, [c, s, Ge]), /* @__PURE__ */ F("div", { children: [
2162
+ /* @__PURE__ */ F("div", { className: S.controlsRow, children: [
2163
+ /* @__PURE__ */ F(
2164
+ "select",
2165
+ {
2166
+ value: u,
2167
+ onChange: (T) => d(T.target.value),
2168
+ className: S.select,
2169
+ children: [
2170
+ /* @__PURE__ */ w("option", { value: "short", children: "Descripción Corta" }),
2171
+ /* @__PURE__ */ w("option", { value: "extended", children: "Descripción Extendida" })
2172
+ ]
2173
+ }
2174
+ ),
2175
+ /* @__PURE__ */ F(
2176
+ "select",
2177
+ {
2178
+ value: p,
2179
+ onChange: (T) => g(T.target.value),
2180
+ className: S.select,
2181
+ children: [
2182
+ /* @__PURE__ */ w("option", { value: "en", children: "Inglés" }),
2183
+ /* @__PURE__ */ w("option", { value: "es", children: "Español" }),
2184
+ /* @__PURE__ */ w("option", { value: "fr", children: "Francés" })
2185
+ ]
2186
+ }
2187
+ ),
2188
+ /* @__PURE__ */ w(
2189
+ "select",
2190
+ {
2191
+ value: x,
2192
+ onChange: (T) => Vt(T.target.value),
2193
+ className: S.select,
2194
+ children: ws.map((T) => /* @__PURE__ */ w("option", { value: T.id, children: T.name }, T.id))
2195
+ }
2196
+ ),
2197
+ /* @__PURE__ */ w(
2198
+ "button",
2199
+ {
2200
+ onClick: () => N(!_),
2201
+ className: S.autoAdvanceButton,
2202
+ style: { backgroundColor: _ ? "#34a853" : "#ea4335" },
2203
+ children: _ ? "⏩ AUTO ON" : "⏩ AUTO OFF"
2204
+ }
2205
+ )
2206
+ ] }),
2207
+ /* @__PURE__ */ F("div", { className: S.viewer, onClick: xe, children: [
2208
+ /* @__PURE__ */ F("div", { className: S.viewerTopBar, children: [
2209
+ /* @__PURE__ */ w("div", { className: S.itemCounter, children: o.length > 0 ? `${c + 1}/${o.length}` : "0/0" }),
2210
+ /* @__PURE__ */ F("div", { className: S.topRightControls, children: [
2211
+ /* @__PURE__ */ w(
2212
+ "button",
2213
+ {
2214
+ onClick: () => N(!_),
2215
+ className: S.iconButton,
2216
+ title: "Autoplay",
2217
+ style: {
2218
+ backgroundColor: _ ? "rgba(255, 255, 255, 0.7)" : "rgba(0, 0, 0, 0.7)"
2219
+ },
2220
+ children: /* @__PURE__ */ w(
2221
+ "svg",
2222
+ {
2223
+ width: "20px",
2224
+ height: "20px",
2225
+ viewBox: "0 0 16 16",
2226
+ xmlns: "http://www.w3.org/2000/svg",
2227
+ children: /* @__PURE__ */ w(
2228
+ "path",
2229
+ {
2230
+ style: { fill: _ ? "black" : "white" },
2231
+ d: "M5.23331,0.493645 C6.8801,-0.113331 8.6808,-0.161915 10.3579,0.355379 C11.4019,0.6773972 12.361984,1.20757325 13.1838415,1.90671757 L13.4526,2.14597 L14.2929,1.30564 C14.8955087,0.703065739 15.9071843,1.0850774 15.994017,1.89911843 L16,2.01275 L16,6.00002 L12.0127,6.00002 C11.1605348,6.00002 10.7153321,5.01450817 11.2294893,4.37749065 L11.3056,4.29291 L12.0372,3.56137 C11.389,2.97184 10.6156,2.52782 9.76845,2.26653 C8.5106,1.87856 7.16008,1.915 5.92498,2.37023 C4.68989,2.82547 3.63877,3.67423 2.93361,4.78573 C2.22844,5.89723 1.90836,7.20978 2.02268,8.52112 C2.13701,9.83246 2.6794,11.0698 3.56627,12.0425 C4.45315,13.0152 5.63528,13.6693 6.93052,13.9039 C8.22576,14.1385 9.56221,13.9407 10.7339,13.3409 C11.9057,12.7412 12.8476,11.7727 13.4147,10.5848 C13.6526,10.0864 14.2495,9.8752 14.748,10.1131 C15.2464,10.351 15.4575,10.948 15.2196,11.4464 C14.4635,13.0302 13.2076,14.3215 11.6453,15.1213 C10.0829,15.921 8.30101,16.1847 6.57402,15.8719 C4.84704,15.559 3.27086,14.687 2.08836,13.39 C0.905861,12.0931 0.182675,10.4433 0.0302394,8.69483 C-0.122195,6.94637 0.304581,5.1963 1.2448,3.7143 C2.18503,2.2323 3.58652,1.10062 5.23331,0.493645 Z M6,5.46077 C6,5.09472714 6.37499031,4.86235811 6.69509872,5.0000726 L6.7678,5.03853 L10.7714,7.57776 C11.0528545,7.75626909 11.0784413,8.14585256 10.8481603,8.36273881 L10.7714,8.42224 L6.7678,10.9615 C6.45867857,11.1575214 6.06160816,10.965274 6.00646097,10.6211914 L6,10.5392 L6,5.46077 Z"
2232
+ }
2233
+ )
2234
+ }
2235
+ )
2236
+ }
2237
+ ),
2238
+ /* @__PURE__ */ w(
2239
+ Ir,
2240
+ {
2241
+ languages: [
2242
+ { code: "es", label: "Español" },
2243
+ { code: "en", label: "English" },
2244
+ { code: "fr", label: "Français" }
2245
+ ],
2246
+ current: "es",
2247
+ onChange: (T) => g(T)
2248
+ }
2249
+ )
2250
+ ] })
2251
+ ] }),
2252
+ /* @__PURE__ */ w(
2253
+ "button",
2254
+ {
2255
+ onClick: $t,
2256
+ disabled: o.length === 0,
2257
+ className: `${S.navButton} ${S.navButtonLeft}`,
2258
+ title: "Anterior",
2259
+ onMouseOver: () => L(!0),
2260
+ onMouseOut: () => L(!1),
2261
+ children: /* @__PURE__ */ w(
2262
+ "svg",
2263
+ {
2264
+ xmlns: "http://www.w3.org/2000/svg",
2265
+ width: "24",
2266
+ height: "24",
2267
+ viewBox: "0 0 24 24",
2268
+ fill: "none",
2269
+ stroke: "white",
2270
+ strokeWidth: "3",
2271
+ strokeLinecap: "round",
2272
+ strokeLinejoin: "round",
2273
+ style: {
2274
+ width: "24px",
2275
+ height: "24px",
2276
+ transition: "transform 0.2s ease-in-out",
2277
+ transform: Q ? "scale(1.5)" : "scale(1)"
2278
+ },
2279
+ children: /* @__PURE__ */ w("path", { d: "M15 18l-6-6 6-6" })
2280
+ }
2281
+ )
2282
+ }
2283
+ ),
2284
+ /* @__PURE__ */ w(
2285
+ "button",
2286
+ {
2287
+ onClick: Ht,
2288
+ disabled: o.length === 0,
2289
+ className: `${S.navButton} ${S.navButtonRight}`,
2290
+ title: "Siguiente",
2291
+ onMouseOver: () => J(!0),
2292
+ onMouseOut: () => J(!1),
2293
+ children: /* @__PURE__ */ w(
2294
+ "svg",
2295
+ {
2296
+ xmlns: "http://www.w3.org/2000/svg",
2297
+ width: "24",
2298
+ height: "24",
2299
+ viewBox: "0 0 24 24",
2300
+ fill: "none",
2301
+ stroke: "white",
2302
+ strokeWidth: "3",
2303
+ strokeLinecap: "round",
2304
+ strokeLinejoin: "round",
2305
+ style: {
2306
+ width: "24px",
2307
+ height: "24px",
2308
+ transition: "transform 0.2s ease-in-out",
2309
+ transform: I ? "scale(1.5)" : "scale(1)"
2310
+ },
2311
+ children: /* @__PURE__ */ w("path", { d: "M9 6l6 6-6 6" })
2312
+ }
2313
+ )
2314
+ }
2315
+ ),
2316
+ /* @__PURE__ */ w(
2317
+ "img",
2318
+ {
2319
+ src: de.imageUrl || ct,
2320
+ alt: "Background",
2321
+ className: S.backgroundImage,
2322
+ style: { opacity: W ? 1 : 0.7 },
2323
+ onError: (T) => T.currentTarget.src = ct
2324
+ }
2325
+ ),
2326
+ W && /* @__PURE__ */ w(We, { children: /* @__PURE__ */ w(
2327
+ "img",
2328
+ {
2329
+ src: $,
2330
+ alt: "Avatar",
2331
+ className: S.avatar,
2332
+ style: { transform: `scale(${ze % 10 < 5 ? 4 : 4.05})` }
2333
+ }
2334
+ ) }),
2335
+ /* @__PURE__ */ F("div", { className: S.caption, children: [
2336
+ /* @__PURE__ */ w("h4", { className: S.captionTitle, children: de.name }),
2337
+ W && /* @__PURE__ */ w(We, { children: /* @__PURE__ */ w("p", { className: S.captionText, children: m.length > 0 && m[R] }) })
2338
+ ] }),
2339
+ O && /* @__PURE__ */ F("div", { className: S.loadingOverlay, children: [
2340
+ /* @__PURE__ */ w("div", { className: S.loadingSpinner }),
2341
+ /* @__PURE__ */ w("p", { children: "Cargando siguiente patrimonio..." })
2342
+ ] }),
2343
+ le && /* @__PURE__ */ w("div", { className: S.playbackControls, children: Ut ? (
2344
+ // Loading spinner
2345
+ /* @__PURE__ */ w("button", { disabled: !0, className: S.loadingButton, children: /* @__PURE__ */ F(
2346
+ "svg",
2347
+ {
2348
+ className: S.spinner,
2349
+ xmlns: "http://www.w3.org/2000/svg",
2350
+ fill: "none",
2351
+ viewBox: "0 0 24 24",
2352
+ children: [
2353
+ /* @__PURE__ */ w(
2354
+ "circle",
2355
+ {
2356
+ className: "opacity-25",
2357
+ cx: "12",
2358
+ cy: "12",
2359
+ r: "10",
2360
+ stroke: "currentColor",
2361
+ strokeWidth: "4"
2362
+ }
2363
+ ),
2364
+ /* @__PURE__ */ w(
2365
+ "path",
2366
+ {
2367
+ className: "opacity-75",
2368
+ fill: "currentColor",
2369
+ d: "M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z"
2370
+ }
2371
+ )
2372
+ ]
2373
+ }
2374
+ ) })
2375
+ ) : !W && !He ? (
2376
+ // Play (desde cero)
2377
+ /* @__PURE__ */ w(
2378
+ "button",
2379
+ {
2380
+ onClick: Ve,
2381
+ disabled: o.length === 0 || O,
2382
+ className: S.playButton,
2383
+ children: /* @__PURE__ */ w(
2384
+ "svg",
2385
+ {
2386
+ xmlns: "http://www.w3.org/2000/svg",
2387
+ width: "40",
2388
+ height: "40",
2389
+ viewBox: "0 0 24 24",
2390
+ fill: "white",
2391
+ stroke: "white",
2392
+ strokeWidth: "2",
2393
+ strokeLinecap: "round",
2394
+ strokeLinejoin: "round",
2395
+ children: /* @__PURE__ */ w("path", { d: "M9 8.5 L9 15.5 L16 12 Z" })
2396
+ }
2397
+ )
2398
+ }
2399
+ )
2400
+ ) : He ? (
2401
+ // Resume
2402
+ /* @__PURE__ */ w("button", { onClick: qt, className: S.playButton, children: /* @__PURE__ */ w(
2403
+ "svg",
2404
+ {
2405
+ xmlns: "http://www.w3.org/2000/svg",
2406
+ width: "40",
2407
+ height: "40",
2408
+ viewBox: "0 0 24 24",
2409
+ fill: "white",
2410
+ stroke: "white",
2411
+ strokeWidth: "2",
2412
+ strokeLinecap: "round",
2413
+ strokeLinejoin: "round",
2414
+ children: /* @__PURE__ */ w("path", { d: "M9 8.5 L9 15.5 L16 12 Z" })
2415
+ }
2416
+ ) })
2417
+ ) : (
2418
+ // Pause
2419
+ /* @__PURE__ */ w("button", { onClick: Mt, className: S.pauseButton, children: /* @__PURE__ */ F(
2420
+ "svg",
2421
+ {
2422
+ xmlns: "http://www.w3.org/2000/svg",
2423
+ width: "40",
2424
+ height: "40",
2425
+ viewBox: "0 0 24 24",
2426
+ fill: "none",
2427
+ stroke: "white",
2428
+ strokeWidth: "2",
2429
+ strokeLinecap: "round",
2430
+ strokeLinejoin: "round",
2431
+ children: [
2432
+ /* @__PURE__ */ w("line", { x1: "10", y1: "8", x2: "10", y2: "16" }),
2433
+ /* @__PURE__ */ w("line", { x1: "14", y1: "8", x2: "14", y2: "16" })
2434
+ ]
2435
+ }
2436
+ ) })
2437
+ ) }),
2438
+ /* @__PURE__ */ w("div", { className: S.progressBar, children: /* @__PURE__ */ w(
2439
+ "div",
2440
+ {
2441
+ className: S.progressFill,
2442
+ style: { width: `${ze}%` }
2443
+ }
2444
+ ) })
2445
+ ] })
2446
+ ] });
2447
+ };
2448
+ export {
2449
+ Ir as LanguageSelector,
2450
+ oe as LanguageSelectorStyles,
2451
+ Fs as StoryVisualizer,
2452
+ S as StoryVisualizerStyles,
2453
+ ws as voices
2454
+ };
2455
+ //# sourceMappingURL=ocity-heritage-visualizer.es.js.map