vbss-translator 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vbss-translator.js +1449 -2077
- package/dist/vbss-translator.umd.cjs +9 -38
- package/package.json +3 -3
|
@@ -1,38 +1,9 @@
|
|
|
1
|
-
(function(J,O){typeof exports=="object"&&typeof module<"u"?O(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],O):(J=typeof globalThis<"u"?globalThis:J||self,O(J["vbss/translator"]={},J.React))})(this,(function(J,O){"use strict";var no=Object.defineProperty;var so=(J,O,ue)=>O in J?no(J,O,{enumerable:!0,configurable:!0,writable:!0,value:ue}):J[O]=ue;var ne=(J,O,ue)=>so(J,typeof O!="symbol"?O+"":O,ue);var ue={exports:{}},Se={};/**
|
|
2
|
-
*
|
|
3
|
-
* react-jsx-runtime.production.min.js
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*/var Rt;function Cr(){if(Rt)return Se;Rt=1;var t=O,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,s=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function i(l,f,d){var u,h={},_=null,L=null;d!==void 0&&(_=""+d),f.key!==void 0&&(_=""+f.key),f.ref!==void 0&&(L=f.ref);for(u in f)n.call(f,u)&&!a.hasOwnProperty(u)&&(h[u]=f[u]);if(l&&l.defaultProps)for(u in f=l.defaultProps,f)h[u]===void 0&&(h[u]=f[u]);return{$$typeof:e,type:l,key:_,ref:L,props:h,_owner:s.current}}return Se.Fragment=r,Se.jsx=i,Se.jsxs=i,Se}var Ae={};/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.development.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var Tt;function Pr(){return Tt||(Tt=1,process.env.NODE_ENV!=="production"&&(function(){var t=O,e=Symbol.for("react.element"),r=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),l=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),_=Symbol.for("react.lazy"),L=Symbol.for("react.offscreen"),m=Symbol.iterator,y="@@iterator";function g(o){if(o===null||typeof o!="object")return null;var p=m&&o[m]||o[y];return typeof p=="function"?p:null}var C=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function D(o){{for(var p=arguments.length,E=new Array(p>1?p-1:0),v=1;v<p;v++)E[v-1]=arguments[v];F("error",o,E)}}function F(o,p,E){{var v=C.ReactDebugCurrentFrame,k=v.getStackAddendum();k!==""&&(p+="%s",E=E.concat([k]));var N=E.map(function(A){return String(A)});N.unshift("Warning: "+p),Function.prototype.apply.call(console[o],console,N)}}var P=!1,K=!1,ie=!1,V=!1,Y=!1,te;te=Symbol.for("react.module.reference");function me(o){return!!(typeof o=="string"||typeof o=="function"||o===n||o===a||Y||o===s||o===d||o===u||V||o===L||P||K||ie||typeof o=="object"&&o!==null&&(o.$$typeof===_||o.$$typeof===h||o.$$typeof===i||o.$$typeof===l||o.$$typeof===f||o.$$typeof===te||o.getModuleId!==void 0))}function fe(o,p,E){var v=o.displayName;if(v)return v;var k=p.displayName||p.name||"";return k!==""?E+"("+k+")":E}function ce(o){return o.displayName||"Context"}function W(o){if(o==null)return null;if(typeof o.tag=="number"&&D("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case n:return"Fragment";case r:return"Portal";case a:return"Profiler";case s:return"StrictMode";case d:return"Suspense";case u:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case l:var p=o;return ce(p)+".Consumer";case i:var E=o;return ce(E._context)+".Provider";case f:return fe(o,o.render,"ForwardRef");case h:var v=o.displayName||null;return v!==null?v:W(o.type)||"Memo";case _:{var k=o,N=k._payload,A=k._init;try{return W(A(N))}catch{return null}}}return null}var z=Object.assign,b=0,R,x,T,U,le,M,B;function Z(){}Z.__reactDisabledLog=!0;function de(){{if(b===0){R=console.log,x=console.info,T=console.warn,U=console.error,le=console.group,M=console.groupCollapsed,B=console.groupEnd;var o={configurable:!0,enumerable:!0,value:Z,writable:!0};Object.defineProperties(console,{info:o,log:o,warn:o,error:o,group:o,groupCollapsed:o,groupEnd:o})}b++}}function ye(){{if(b--,b===0){var o={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:z({},o,{value:R}),info:z({},o,{value:x}),warn:z({},o,{value:T}),error:z({},o,{value:U}),group:z({},o,{value:le}),groupCollapsed:z({},o,{value:M}),groupEnd:z({},o,{value:B})})}b<0&&D("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Xe=C.ReactCurrentDispatcher,je;function ve(o,p,E){{if(je===void 0)try{throw Error()}catch(k){var v=k.stack.trim().match(/\n( *(at )?)/);je=v&&v[1]||""}return`
|
|
18
|
-
`+je+o}}var re=!1,be;{var Qe=typeof WeakMap=="function"?WeakMap:Map;be=new Qe}function _e(o,p){if(!o||re)return"";{var E=be.get(o);if(E!==void 0)return E}var v;re=!0;var k=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var N;N=Xe.current,Xe.current=null,de();try{if(p){var A=function(){throw Error()};if(Object.defineProperty(A.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(A,[])}catch(ee){v=ee}Reflect.construct(o,[],A)}else{try{A.call()}catch(ee){v=ee}o.call(A.prototype)}}else{try{throw Error()}catch(ee){v=ee}o()}}catch(ee){if(ee&&v&&typeof ee.stack=="string"){for(var S=ee.stack.split(`
|
|
19
|
-
`),$=v.stack.split(`
|
|
20
|
-
`),I=S.length-1,H=$.length-1;I>=1&&H>=0&&S[I]!==$[H];)H--;for(;I>=1&&H>=0;I--,H--)if(S[I]!==$[H]){if(I!==1||H!==1)do if(I--,H--,H<0||S[I]!==$[H]){var oe=`
|
|
21
|
-
`+S[I].replace(" at new "," at ");return o.displayName&&oe.includes("<anonymous>")&&(oe=oe.replace("<anonymous>",o.displayName)),typeof o=="function"&&be.set(o,oe),oe}while(I>=1&&H>=0);break}}}finally{re=!1,Xe.current=N,ye(),Error.prepareStackTrace=k}var Oe=o?o.displayName||o.name:"",Ee=Oe?ve(Oe):"";return typeof o=="function"&&be.set(o,Ee),Ee}function gt(o,p,E){return _e(o,!1)}function Fs(o){var p=o.prototype;return!!(p&&p.isReactComponent)}function Ze(o,p,E){if(o==null)return"";if(typeof o=="function")return _e(o,Fs(o));if(typeof o=="string")return ve(o);switch(o){case d:return ve("Suspense");case u:return ve("SuspenseList")}if(typeof o=="object")switch(o.$$typeof){case f:return gt(o.render);case h:return Ze(o.type,p,E);case _:{var v=o,k=v._payload,N=v._init;try{return Ze(N(k),p,E)}catch{}}}return""}var Ue=Object.prototype.hasOwnProperty,hr={},pr=C.ReactDebugCurrentFrame;function et(o){if(o){var p=o._owner,E=Ze(o.type,o._source,p?p.type:null);pr.setExtraStackFrame(E)}else pr.setExtraStackFrame(null)}function Ns(o,p,E,v,k){{var N=Function.call.bind(Ue);for(var A in o)if(N(o,A)){var S=void 0;try{if(typeof o[A]!="function"){var $=Error((v||"React class")+": "+E+" type `"+A+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[A]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw $.name="Invariant Violation",$}S=o[A](p,A,v,E,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(I){S=I}S&&!(S instanceof Error)&&(et(k),D("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",v||"React class",E,A,typeof S),et(null)),S instanceof Error&&!(S.message in hr)&&(hr[S.message]=!0,et(k),D("Failed %s type: %s",E,S.message),et(null))}}}var js=Array.isArray;function mt(o){return js(o)}function Us(o){{var p=typeof Symbol=="function"&&Symbol.toStringTag,E=p&&o[Symbol.toStringTag]||o.constructor.name||"Object";return E}}function Ms(o){try{return gr(o),!1}catch{return!0}}function gr(o){return""+o}function mr(o){if(Ms(o))return D("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Us(o)),gr(o)}var yr=C.ReactCurrentOwner,Is={key:!0,ref:!0,__self:!0,__source:!0},br,Er;function Bs(o){if(Ue.call(o,"ref")){var p=Object.getOwnPropertyDescriptor(o,"ref").get;if(p&&p.isReactWarning)return!1}return o.ref!==void 0}function Hs(o){if(Ue.call(o,"key")){var p=Object.getOwnPropertyDescriptor(o,"key").get;if(p&&p.isReactWarning)return!1}return o.key!==void 0}function Ks(o,p){typeof o.ref=="string"&&yr.current}function Vs(o,p){{var E=function(){br||(br=!0,D("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",p))};E.isReactWarning=!0,Object.defineProperty(o,"key",{get:E,configurable:!0})}}function Ws(o,p){{var E=function(){Er||(Er=!0,D("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",p))};E.isReactWarning=!0,Object.defineProperty(o,"ref",{get:E,configurable:!0})}}var zs=function(o,p,E,v,k,N,A){var S={$$typeof:e,type:o,key:p,ref:E,props:A,_owner:N};return S._store={},Object.defineProperty(S._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(S,"_self",{configurable:!1,enumerable:!1,writable:!1,value:v}),Object.defineProperty(S,"_source",{configurable:!1,enumerable:!1,writable:!1,value:k}),Object.freeze&&(Object.freeze(S.props),Object.freeze(S)),S};function qs(o,p,E,v,k){{var N,A={},S=null,$=null;E!==void 0&&(mr(E),S=""+E),Hs(p)&&(mr(p.key),S=""+p.key),Bs(p)&&($=p.ref,Ks(p,k));for(N in p)Ue.call(p,N)&&!Is.hasOwnProperty(N)&&(A[N]=p[N]);if(o&&o.defaultProps){var I=o.defaultProps;for(N in I)A[N]===void 0&&(A[N]=I[N])}if(S||$){var H=typeof o=="function"?o.displayName||o.name||"Unknown":o;S&&Vs(A,H),$&&Ws(A,H)}return zs(o,S,$,k,v,yr.current,A)}}var yt=C.ReactCurrentOwner,wr=C.ReactDebugCurrentFrame;function xe(o){if(o){var p=o._owner,E=Ze(o.type,o._source,p?p.type:null);wr.setExtraStackFrame(E)}else wr.setExtraStackFrame(null)}var bt;bt=!1;function Et(o){return typeof o=="object"&&o!==null&&o.$$typeof===e}function Rr(){{if(yt.current){var o=W(yt.current.type);if(o)return`
|
|
22
|
-
|
|
23
|
-
Check the render method of \``+o+"`."}return""}}function Js(o){return""}var Tr={};function Ys(o){{var p=Rr();if(!p){var E=typeof o=="string"?o:o.displayName||o.name;E&&(p=`
|
|
24
|
-
|
|
25
|
-
Check the top-level render call using <`+E+">.")}return p}}function vr(o,p){{if(!o._store||o._store.validated||o.key!=null)return;o._store.validated=!0;var E=Ys(p);if(Tr[E])return;Tr[E]=!0;var v="";o&&o._owner&&o._owner!==yt.current&&(v=" It was passed a child from "+W(o._owner.type)+"."),xe(o),D('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',E,v),xe(null)}}function _r(o,p){{if(typeof o!="object")return;if(mt(o))for(var E=0;E<o.length;E++){var v=o[E];Et(v)&&vr(v,p)}else if(Et(o))o._store&&(o._store.validated=!0);else if(o){var k=g(o);if(typeof k=="function"&&k!==o.entries)for(var N=k.call(o),A;!(A=N.next()).done;)Et(A.value)&&vr(A.value,p)}}}function $s(o){{var p=o.type;if(p==null||typeof p=="string")return;var E;if(typeof p=="function")E=p.propTypes;else if(typeof p=="object"&&(p.$$typeof===f||p.$$typeof===h))E=p.propTypes;else return;if(E){var v=W(p);Ns(E,o.props,"prop",v,o)}else if(p.PropTypes!==void 0&&!bt){bt=!0;var k=W(p);D("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",k||"Unknown")}typeof p.getDefaultProps=="function"&&!p.getDefaultProps.isReactClassApproved&&D("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Gs(o){{for(var p=Object.keys(o.props),E=0;E<p.length;E++){var v=p[E];if(v!=="children"&&v!=="key"){xe(o),D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",v),xe(null);break}}o.ref!==null&&(xe(o),D("Invalid attribute `ref` supplied to `React.Fragment`."),xe(null))}}var xr={};function Or(o,p,E,v,k,N){{var A=me(o);if(!A){var S="";(o===void 0||typeof o=="object"&&o!==null&&Object.keys(o).length===0)&&(S+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var $=Js();$?S+=$:S+=Rr();var I;o===null?I="null":mt(o)?I="array":o!==void 0&&o.$$typeof===e?(I="<"+(W(o.type)||"Unknown")+" />",S=" Did you accidentally export a JSX literal instead of a component?"):I=typeof o,D("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",I,S)}var H=qs(o,p,E,k,N);if(H==null)return H;if(A){var oe=p.children;if(oe!==void 0)if(v)if(mt(oe)){for(var Oe=0;Oe<oe.length;Oe++)_r(oe[Oe],o);Object.freeze&&Object.freeze(oe)}else D("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else _r(oe,o)}if(Ue.call(p,"key")){var Ee=W(o),ee=Object.keys(p).filter(function(ro){return ro!=="key"}),wt=ee.length>0?"{key: someKey, "+ee.join(": ..., ")+": ...}":"{key: someKey}";if(!xr[Ee+wt]){var to=ee.length>0?"{"+ee.join(": ..., ")+": ...}":"{}";D(`A props object containing a "key" prop is being spread into JSX:
|
|
26
|
-
let props = %s;
|
|
27
|
-
<%s {...props} />
|
|
28
|
-
React keys must be passed directly to JSX without using spread:
|
|
29
|
-
let props = %s;
|
|
30
|
-
<%s key={someKey} {...props} />`,wt,Ee,to,Ee),xr[Ee+wt]=!0}}return o===n?Gs(H):$s(H),H}}function Xs(o,p,E){return Or(o,p,E,!0)}function Qs(o,p,E){return Or(o,p,E,!1)}var Zs=Qs,eo=Xs;Ae.Fragment=n,Ae.jsx=Zs,Ae.jsxs=eo})()),Ae}var vt;function kr(){return vt||(vt=1,process.env.NODE_ENV==="production"?ue.exports=Cr():ue.exports=Pr()),ue.exports}var Lr=kr();const _t=O.createContext(null),Dr=()=>{const t=O.useContext(_t);if(!t)throw new Error("useTranslatorContext must be used within a TranslatorProvider");return t};class xt extends Error{constructor(r){super(r);ne(this,"code","timeout");this.name="ExternalTranslationTimeoutError"}}const Fr="auto",Me=t=>typeof t=="number"&&Number.isFinite(t)&&t>0,Nr=t=>{const e=Object.entries(t).sort(([r],[n])=>r===n?0:r<n?-1:1);return Object.fromEntries(e)};class jr{constructor(e){ne(this,"provider");ne(this,"config");ne(this,"cache");ne(this,"logger");ne(this,"inFlight",new Map);this.provider=e.provider,this.config=e.config,this.cache=e.cache,this.logger=e.logger}isEnabled(){return this.config.enabled}async translate(e){if(!this.isEnabled()){this.debug("external_translation_disabled",{key:e.key,targetLanguage:e.targetLanguage});return}const r=this.normalizeRequest(e);if(!await this.shouldTranslate(r.externalRequest)){this.debug("external_translation_skipped",{key:r.externalRequest.key,targetLanguage:r.externalRequest.targetLanguage});return}const n=this.readFromCache(r.cacheKey);if(n)return this.debug("external_translation_cache_hit",{key:r.externalRequest.key,cacheKey:r.cacheKey}),n;const s=this.inFlight.get(r.cacheKey);if(s)return this.debug("external_translation_deduped",{key:r.externalRequest.key,cacheKey:r.cacheKey}),s;const a=this.executeTranslation(r);return this.inFlight.set(r.cacheKey,a),a}normalizeRequest(e){const r=e.sourceLanguage??Fr,n={text:e.text,sourceLanguage:r,targetLanguage:e.targetLanguage,glossary:e.glossary},s=this.createCacheKey(n),a=Me(e.timeoutMs)?e.timeoutMs:this.config.timeoutMs;return{externalRequest:{key:e.key,text:e.text,targetLanguage:e.targetLanguage,sourceLanguage:r},translateRequest:n,cacheKey:s,timeoutMs:a,signal:e.signal}}async shouldTranslate(e){if(!this.config.shouldTranslate)return!0;try{return this.config.shouldTranslate(e)}catch(r){return this.warn("external_translation_should_translate_error",{key:e.key,language:e.targetLanguage,error:r}),!0}}async executeTranslation(e){try{if(!await this.invokeExternalTranslationHook(e.externalRequest)){this.debug("external_translation_vetoed",{key:e.externalRequest.key,targetLanguage:e.externalRequest.targetLanguage});return}this.debug("external_translation_started",{key:e.externalRequest.key,cacheKey:e.cacheKey});const r=await this.translateWithTimeout(e.translateRequest,e.timeoutMs,e.signal);return this.writeToCache(e.cacheKey,r),this.notifyTranslationComplete(r),this.debug("external_translation_succeeded",{key:e.externalRequest.key,cacheKey:e.cacheKey}),r}catch(r){const n=this.normalizeError(r);this.handleTranslationError(e,n);return}finally{this.inFlight.delete(e.cacheKey)}}async invokeExternalTranslationHook(e){const r=this.config.onExternalTranslation;if(!r)return!0;try{const n=await r(e);return typeof n=="boolean"?n:!0}catch(n){return this.warn("external_translation_hook_error",{key:e.key,language:e.targetLanguage,error:n}),!0}}async translateWithTimeout(e,r,n){if(!(typeof AbortController=="function"))return this.provider.translate(e,{timeoutMs:Me(r)?r:void 0,signal:n});const a=new AbortController;let i=!1,l;n&&(n.aborted?a.abort():(l=()=>{a.abort()},n.addEventListener("abort",l,{once:!0})));const f=Me(r)&&r?setTimeout(()=>{i=!0,a.abort()},r):void 0;try{return await this.provider.translate(e,{timeoutMs:Me(r)?r:void 0,signal:a.signal})}catch(d){throw i?new xt(`External translation timed out after ${r}ms`):(a.signal.aborted&&!i,d)}finally{f&&clearTimeout(f),l&&n&&n.removeEventListener("abort",l)}}readFromCache(e){var r;return(r=this.cache)==null?void 0:r.get(e)}writeToCache(e,r){var n;(n=this.cache)==null||n.set(e,r)}handleTranslationError(e,r){const n={key:e.externalRequest.key,language:e.externalRequest.targetLanguage,originalText:e.externalRequest.text,error:r};this.notifyTranslationError(n),this.warn("external_fallback_failed",{provider:this.provider.type,key:n.key,language:n.language,errorCode:r.code,retryable:r.retryable,message:r.message,details:r.details})}normalizeError(e){return this.provider.normalizeError?this.provider.normalizeError(e):e instanceof xt?{code:"timeout",message:e.message,retryable:!0,details:e}:e instanceof Error?{code:e.name||"unknown_error",message:e.message,retryable:!1,details:e}:{code:"unknown_error",message:"Unknown provider error",retryable:!1,details:e}}createCacheKey(e){return[e.sourceLanguage,e.targetLanguage,this.hashText(e.text,e.glossary)].join("|")}hashText(e,r){let n=2166136261;const s=r&&Object.keys(r).length>0?`${e}|${JSON.stringify(Nr(r))}`:e;for(let a=0;a<s.length;a+=1)n^=s.charCodeAt(a),n+=(n<<1)+(n<<4)+(n<<7)+(n<<8)+(n<<24);return(n>>>0).toString(16)}warn(e,r){const n={scope:"translator",event:e,...r};if(this.logger){this.logger.warn(e,n);return}console.warn("[vbss-translator]",n)}debug(e,r){var s;if(!this.config.debug)return;const n={scope:"translator",event:e,...r};if((s=this.logger)!=null&&s.debug){this.logger.debug(e,n);return}console.debug("[vbss-translator]",n)}notifyTranslationComplete(e){const r=this.config.onTranslationComplete;if(r)try{r(e)}catch(n){this.warn("external_translation_complete_callback_error",{provider:this.provider.type,error:n})}}notifyTranslationError(e){const r=this.config.onTranslationError;if(r)try{r(e)}catch(n){this.warn("external_translation_error_callback_error",{provider:this.provider.type,key:e.key,language:e.language,error:n})}}}const tt=()=>Date.now(),Ie=t=>typeof t=="number"&&Number.isFinite(t)&&t>0;class Ur{constructor(e){ne(this,"store",new Map);ne(this,"enabled");ne(this,"ttlMs");ne(this,"maxEntries");this.enabled=e.enabled,this.ttlMs=Math.max(0,e.ttlMs),this.maxEntries=e.maxEntries}isEnabled(){return this.enabled}setEnabled(e){e||this.clear(),this.enabled=e}setTtl(e){this.ttlMs=Math.max(0,e)}size(){return this.store.size}clear(){this.store.clear()}get(e){if(!this.enabled)return;const r=this.store.get(e);if(r){if(this.isExpired(r)){this.store.delete(e);return}return r.value}}set(e,r,n){if(!this.enabled)return;const s=Ie(n)?n:this.ttlMs,a=Ie(s)?tt()+s:void 0;this.store.set(e,{value:r,expiresAt:a,insertedAt:tt()}),this.enforceMaxEntries()}delete(e){this.store.delete(e)}has(e){if(!this.enabled)return!1;const r=this.store.get(e);return r?this.isExpired(r)?(this.store.delete(e),!1):!0:!1}entries(){const e=[];for(const[r,n]of this.store.entries()){if(this.isExpired(n)){this.store.delete(r);continue}e.push({key:r,result:n.value,expiresAt:n.expiresAt})}return e}prune(){for(const[e,r]of this.store.entries())this.isExpired(r)&&this.store.delete(e)}enforceMaxEntries(){if(!Ie(this.maxEntries))return;const e=this.maxEntries;for(;this.store.size>e;){const r=this.findOldestKey();if(!r)break;this.store.delete(r)}}findOldestKey(){let e,r=Number.POSITIVE_INFINITY;for(const[n,s]of this.store.entries())s.insertedAt<r&&(e=n,r=s.insertedAt);return e}isExpired(e){return Ie(e.expiresAt)?e.expiresAt<=tt():!1}}function Ot(t,e){return function(){return t.apply(e,arguments)}}const{toString:Mr}=Object.prototype,{getPrototypeOf:Be}=Object,{iterator:He,toStringTag:St}=Symbol,Ke=(t=>e=>{const r=Mr.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),ae=t=>(t=t.toLowerCase(),e=>Ke(e)===t),Ve=t=>e=>typeof e===t,{isArray:we}=Array,Re=Ve("undefined");function Ce(t){return t!==null&&!Re(t)&&t.constructor!==null&&!Re(t.constructor)&&G(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const At=ae("ArrayBuffer");function Ir(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&At(t.buffer),e}const Br=Ve("string"),G=Ve("function"),Ct=Ve("number"),Pe=t=>t!==null&&typeof t=="object",Hr=t=>t===!0||t===!1,We=t=>{if(Ke(t)!=="object")return!1;const e=Be(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(St in t)&&!(He in t)},Kr=t=>{if(!Pe(t)||Ce(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},Vr=ae("Date"),Wr=ae("File"),zr=t=>!!(t&&typeof t.uri<"u"),qr=t=>t&&typeof t.getParts<"u",Jr=ae("Blob"),Yr=ae("FileList"),$r=t=>Pe(t)&&G(t.pipe);function Gr(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Pt=Gr(),kt=typeof Pt.FormData<"u"?Pt.FormData:void 0,Xr=t=>{if(!t)return!1;if(kt&&t instanceof kt)return!0;const e=Be(t);if(!e||e===Object.prototype||!G(t.append))return!1;const r=Ke(t);return r==="formdata"||r==="object"&&G(t.toString)&&t.toString()==="[object FormData]"},Qr=ae("URLSearchParams"),[Zr,en,tn,rn]=["ReadableStream","Request","Response","Headers"].map(ae),nn=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ke(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let n,s;if(typeof t!="object"&&(t=[t]),we(t))for(n=0,s=t.length;n<s;n++)e.call(null,t[n],n,t);else{if(Ce(t))return;const a=r?Object.getOwnPropertyNames(t):Object.keys(t),i=a.length;let l;for(n=0;n<i;n++)l=a[n],e.call(null,t[l],l,t)}}function Lt(t,e){if(Ce(t))return null;e=e.toLowerCase();const r=Object.keys(t);let n=r.length,s;for(;n-- >0;)if(s=r[n],e===s.toLowerCase())return s;return null}const he=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Dt=t=>!Re(t)&&t!==he;function rt(){const{caseless:t,skipUndefined:e}=Dt(this)&&this||{},r={},n=(s,a)=>{if(a==="__proto__"||a==="constructor"||a==="prototype")return;const i=t&&Lt(r,a)||a;We(r[i])&&We(s)?r[i]=rt(r[i],s):We(s)?r[i]=rt({},s):we(s)?r[i]=s.slice():(!e||!Re(s))&&(r[i]=s)};for(let s=0,a=arguments.length;s<a;s++)arguments[s]&&ke(arguments[s],n);return r}const sn=(t,e,r,{allOwnKeys:n}={})=>(ke(e,(s,a)=>{r&&G(s)?Object.defineProperty(t,a,{value:Ot(s,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,a,{value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:n}),t),on=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),an=(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),Object.defineProperty(t.prototype,"constructor",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},ln=(t,e,r,n)=>{let s,a,i;const l={};if(e=e||{},t==null)return e;do{for(s=Object.getOwnPropertyNames(t),a=s.length;a-- >0;)i=s[a],(!n||n(i,t,e))&&!l[i]&&(e[i]=t[i],l[i]=!0);t=r!==!1&&Be(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},cn=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;const n=t.indexOf(e,r);return n!==-1&&n===r},un=t=>{if(!t)return null;if(we(t))return t;let e=t.length;if(!Ct(e))return null;const r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},fn=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Be(Uint8Array)),dn=(t,e)=>{const n=(t&&t[He]).call(t);let s;for(;(s=n.next())&&!s.done;){const a=s.value;e.call(t,a[0],a[1])}},hn=(t,e)=>{let r;const n=[];for(;(r=t.exec(e))!==null;)n.push(r);return n},pn=ae("HTMLFormElement"),gn=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,s){return n.toUpperCase()+s}),Ft=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),mn=ae("RegExp"),Nt=(t,e)=>{const r=Object.getOwnPropertyDescriptors(t),n={};ke(r,(s,a)=>{let i;(i=e(s,a,t))!==!1&&(n[a]=i||s)}),Object.defineProperties(t,n)},yn=t=>{Nt(t,(e,r)=>{if(G(t)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=t[r];if(G(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},bn=(t,e)=>{const r={},n=s=>{s.forEach(a=>{r[a]=!0})};return we(t)?n(t):n(String(t).split(e)),r},En=()=>{},wn=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function Rn(t){return!!(t&&G(t.append)&&t[St]==="FormData"&&t[He])}const Tn=t=>{const e=new Array(10),r=(n,s)=>{if(Pe(n)){if(e.indexOf(n)>=0)return;if(Ce(n))return n;if(!("toJSON"in n)){e[s]=n;const a=we(n)?[]:{};return ke(n,(i,l)=>{const f=r(i,s+1);!Re(f)&&(a[l]=f)}),e[s]=void 0,a}}return n};return r(t,0)},vn=ae("AsyncFunction"),_n=t=>t&&(Pe(t)||G(t))&&G(t.then)&&G(t.catch),jt=((t,e)=>t?setImmediate:e?((r,n)=>(he.addEventListener("message",({source:s,data:a})=>{s===he&&a===r&&n.length&&n.shift()()},!1),s=>{n.push(s),he.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",G(he.postMessage)),xn=typeof queueMicrotask<"u"?queueMicrotask.bind(he):typeof process<"u"&&process.nextTick||jt,c={isArray:we,isArrayBuffer:At,isBuffer:Ce,isFormData:Xr,isArrayBufferView:Ir,isString:Br,isNumber:Ct,isBoolean:Hr,isObject:Pe,isPlainObject:We,isEmptyObject:Kr,isReadableStream:Zr,isRequest:en,isResponse:tn,isHeaders:rn,isUndefined:Re,isDate:Vr,isFile:Wr,isReactNativeBlob:zr,isReactNative:qr,isBlob:Jr,isRegExp:mn,isFunction:G,isStream:$r,isURLSearchParams:Qr,isTypedArray:fn,isFileList:Yr,forEach:ke,merge:rt,extend:sn,trim:nn,stripBOM:on,inherits:an,toFlatObject:ln,kindOf:Ke,kindOfTest:ae,endsWith:cn,toArray:un,forEachEntry:dn,matchAll:hn,isHTMLForm:pn,hasOwnProperty:Ft,hasOwnProp:Ft,reduceDescriptors:Nt,freezeMethods:yn,toObjectSet:bn,toCamelCase:gn,noop:En,toFiniteNumber:wn,findKey:Lt,global:he,isContextDefined:Dt,isSpecCompliantForm:Rn,toJSONObject:Tn,isAsyncFn:vn,isThenable:_n,setImmediate:jt,asap:xn,isIterable:t=>t!=null&&G(t[He])};let w=class Sr extends Error{static from(e,r,n,s,a,i){const l=new Sr(e.message,r||e.code,n,s,a);return l.cause=e,l.name=e.name,e.status!=null&&l.status==null&&(l.status=e.status),i&&Object.assign(l,i),l}constructor(e,r,n,s,a){super(e),Object.defineProperty(this,"message",{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),n&&(this.config=n),s&&(this.request=s),a&&(this.response=a,this.status=a.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:c.toJSONObject(this.config),code:this.code,status:this.status}}};w.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",w.ERR_BAD_OPTION="ERR_BAD_OPTION",w.ECONNABORTED="ECONNABORTED",w.ETIMEDOUT="ETIMEDOUT",w.ERR_NETWORK="ERR_NETWORK",w.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",w.ERR_DEPRECATED="ERR_DEPRECATED",w.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",w.ERR_BAD_REQUEST="ERR_BAD_REQUEST",w.ERR_CANCELED="ERR_CANCELED",w.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",w.ERR_INVALID_URL="ERR_INVALID_URL",w.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const On=null;function nt(t){return c.isPlainObject(t)||c.isArray(t)}function Ut(t){return c.endsWith(t,"[]")?t.slice(0,-2):t}function st(t,e,r){return t?t.concat(e).map(function(s,a){return s=Ut(s),!r&&a?"["+s+"]":s}).join(r?".":""):e}function Sn(t){return c.isArray(t)&&!t.some(nt)}const An=c.toFlatObject(c,{},null,function(e){return/^is[A-Z]/.test(e)});function ze(t,e,r){if(!c.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,r=c.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,C){return!c.isUndefined(C[g])});const n=r.metaTokens,s=r.visitor||h,a=r.dots,i=r.indexes,l=r.Blob||typeof Blob<"u"&&Blob,f=r.maxDepth===void 0?100:r.maxDepth,d=l&&c.isSpecCompliantForm(e);if(!c.isFunction(s))throw new TypeError("visitor must be a function");function u(y){if(y===null)return"";if(c.isDate(y))return y.toISOString();if(c.isBoolean(y))return y.toString();if(!d&&c.isBlob(y))throw new w("Blob is not supported. Use a Buffer instead.");return c.isArrayBuffer(y)||c.isTypedArray(y)?d&&typeof Blob=="function"?new Blob([y]):Buffer.from(y):y}function h(y,g,C){let D=y;if(c.isReactNative(e)&&c.isReactNativeBlob(y))return e.append(st(C,g,a),u(y)),!1;if(y&&!C&&typeof y=="object"){if(c.endsWith(g,"{}"))g=n?g:g.slice(0,-2),y=JSON.stringify(y);else if(c.isArray(y)&&Sn(y)||(c.isFileList(y)||c.endsWith(g,"[]"))&&(D=c.toArray(y)))return g=Ut(g),D.forEach(function(P,K){!(c.isUndefined(P)||P===null)&&e.append(i===!0?st([g],K,a):i===null?g:g+"[]",u(P))}),!1}return nt(y)?!0:(e.append(st(C,g,a),u(y)),!1)}const _=[],L=Object.assign(An,{defaultVisitor:h,convertValue:u,isVisitable:nt});function m(y,g,C=0){if(!c.isUndefined(y)){if(C>f)throw new w("Object is too deeply nested ("+C+" levels). Max depth: "+f,w.ERR_FORM_DATA_DEPTH_EXCEEDED);if(_.indexOf(y)!==-1)throw Error("Circular reference detected in "+g.join("."));_.push(y),c.forEach(y,function(F,P){(!(c.isUndefined(F)||F===null)&&s.call(e,F,c.isString(P)?P.trim():P,g,L))===!0&&m(F,g?g.concat(P):[P],C+1)}),_.pop()}}if(!c.isObject(t))throw new TypeError("data must be an object");return m(t),e}function Mt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(t).replace(/[!'()~]|%20/g,function(n){return e[n]})}function ot(t,e){this._pairs=[],t&&ze(t,this,e)}const It=ot.prototype;It.append=function(e,r){this._pairs.push([e,r])},It.toString=function(e){const r=e?function(n){return e.call(this,n,Mt)}:Mt;return this._pairs.map(function(s){return r(s[0])+"="+r(s[1])},"").join("&")};function Cn(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Bt(t,e,r){if(!e)return t;const n=r&&r.encode||Cn,s=c.isFunction(r)?{serialize:r}:r,a=s&&s.serialize;let i;if(a?i=a(e,s):i=c.isURLSearchParams(e)?e.toString():new ot(e,s).toString(n),i){const l=t.indexOf("#");l!==-1&&(t=t.slice(0,l)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t}class Ht{constructor(){this.handlers=[]}use(e,r,n){return this.handlers.push({fulfilled:e,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){c.forEach(this.handlers,function(n){n!==null&&e(n)})}}const at={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Pn={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:ot,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},it=typeof window<"u"&&typeof document<"u",lt=typeof navigator=="object"&&navigator||void 0,kn=it&&(!lt||["ReactNative","NativeScript","NS"].indexOf(lt.product)<0),Ln=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Dn=it&&window.location.href||"http://localhost",q={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:it,hasStandardBrowserEnv:kn,hasStandardBrowserWebWorkerEnv:Ln,navigator:lt,origin:Dn},Symbol.toStringTag,{value:"Module"})),...Pn};function Fn(t,e){return ze(t,new q.classes.URLSearchParams,{visitor:function(r,n,s,a){return q.isNode&&c.isBuffer(r)?(this.append(n,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)},...e})}function Nn(t){return c.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function jn(t){const e={},r=Object.keys(t);let n;const s=r.length;let a;for(n=0;n<s;n++)a=r[n],e[a]=t[a];return e}function Kt(t){function e(r,n,s,a){let i=r[a++];if(i==="__proto__")return!0;const l=Number.isFinite(+i),f=a>=r.length;return i=!i&&c.isArray(s)?s.length:i,f?(c.hasOwnProp(s,i)?s[i]=c.isArray(s[i])?s[i].concat(n):[s[i],n]:s[i]=n,!l):((!s[i]||!c.isObject(s[i]))&&(s[i]=[]),e(r,n,s[i],a)&&c.isArray(s[i])&&(s[i]=jn(s[i])),!l)}if(c.isFormData(t)&&c.isFunction(t.entries)){const r={};return c.forEachEntry(t,(n,s)=>{e(Nn(n),s,r,0)}),r}return null}const Te=(t,e)=>t!=null&&c.hasOwnProp(t,e)?t[e]:void 0;function Un(t,e,r){if(c.isString(t))try{return(e||JSON.parse)(t),c.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(t)}const Le={transitional:at,adapter:["xhr","http","fetch"],transformRequest:[function(e,r){const n=r.getContentType()||"",s=n.indexOf("application/json")>-1,a=c.isObject(e);if(a&&c.isHTMLForm(e)&&(e=new FormData(e)),c.isFormData(e))return s?JSON.stringify(Kt(e)):e;if(c.isArrayBuffer(e)||c.isBuffer(e)||c.isStream(e)||c.isFile(e)||c.isBlob(e)||c.isReadableStream(e))return e;if(c.isArrayBufferView(e))return e.buffer;if(c.isURLSearchParams(e))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let l;if(a){const f=Te(this,"formSerializer");if(n.indexOf("application/x-www-form-urlencoded")>-1)return Fn(e,f).toString();if((l=c.isFileList(e))||n.indexOf("multipart/form-data")>-1){const d=Te(this,"env"),u=d&&d.FormData;return ze(l?{"files[]":e}:e,u&&new u,f)}}return a||s?(r.setContentType("application/json",!1),Un(e)):e}],transformResponse:[function(e){const r=Te(this,"transitional")||Le.transitional,n=r&&r.forcedJSONParsing,s=Te(this,"responseType"),a=s==="json";if(c.isResponse(e)||c.isReadableStream(e))return e;if(e&&c.isString(e)&&(n&&!s||a)){const l=!(r&&r.silentJSONParsing)&&a;try{return JSON.parse(e,Te(this,"parseReviver"))}catch(f){if(l)throw f.name==="SyntaxError"?w.from(f,w.ERR_BAD_RESPONSE,this,null,Te(this,"response")):f}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:q.classes.FormData,Blob:q.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};c.forEach(["delete","get","head","post","put","patch"],t=>{Le.headers[t]={}});const Mn=c.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),In=t=>{const e={};let r,n,s;return t&&t.split(`
|
|
31
|
-
`).forEach(function(i){s=i.indexOf(":"),r=i.substring(0,s).trim().toLowerCase(),n=i.substring(s+1).trim(),!(!r||e[r]&&Mn[r])&&(r==="set-cookie"?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)}),e},Vt=Symbol("internals"),Bn=/[^\x09\x20-\x7E\x80-\xFF]/g;function Hn(t){let e=0,r=t.length;for(;e<r;){const n=t.charCodeAt(e);if(n!==9&&n!==32)break;e+=1}for(;r>e;){const n=t.charCodeAt(r-1);if(n!==9&&n!==32)break;r-=1}return e===0&&r===t.length?t:t.slice(e,r)}function De(t){return t&&String(t).trim().toLowerCase()}function Kn(t){return Hn(t.replace(Bn,""))}function qe(t){return t===!1||t==null?t:c.isArray(t)?t.map(qe):Kn(String(t))}function Vn(t){const e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}const Wn=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function ct(t,e,r,n,s){if(c.isFunction(n))return n.call(this,e,r);if(s&&(e=r),!!c.isString(e)){if(c.isString(n))return e.indexOf(n)!==-1;if(c.isRegExp(n))return n.test(e)}}function zn(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,r,n)=>r.toUpperCase()+n)}function qn(t,e){const r=c.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+r,{value:function(s,a,i){return this[n].call(this,e,s,a,i)},configurable:!0})})}let X=class{constructor(e){e&&this.set(e)}set(e,r,n){const s=this;function a(l,f,d){const u=De(f);if(!u)throw new Error("header name must be a non-empty string");const h=c.findKey(s,u);(!h||s[h]===void 0||d===!0||d===void 0&&s[h]!==!1)&&(s[h||f]=qe(l))}const i=(l,f)=>c.forEach(l,(d,u)=>a(d,u,f));if(c.isPlainObject(e)||e instanceof this.constructor)i(e,r);else if(c.isString(e)&&(e=e.trim())&&!Wn(e))i(In(e),r);else if(c.isObject(e)&&c.isIterable(e)){let l={},f,d;for(const u of e){if(!c.isArray(u))throw TypeError("Object iterator must return a key-value pair");l[d=u[0]]=(f=l[d])?c.isArray(f)?[...f,u[1]]:[f,u[1]]:u[1]}i(l,r)}else e!=null&&a(r,e,n);return this}get(e,r){if(e=De(e),e){const n=c.findKey(this,e);if(n){const s=this[n];if(!r)return s;if(r===!0)return Vn(s);if(c.isFunction(r))return r.call(this,s,n);if(c.isRegExp(r))return r.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,r){if(e=De(e),e){const n=c.findKey(this,e);return!!(n&&this[n]!==void 0&&(!r||ct(this,this[n],n,r)))}return!1}delete(e,r){const n=this;let s=!1;function a(i){if(i=De(i),i){const l=c.findKey(n,i);l&&(!r||ct(n,n[l],l,r))&&(delete n[l],s=!0)}}return c.isArray(e)?e.forEach(a):a(e),s}clear(e){const r=Object.keys(this);let n=r.length,s=!1;for(;n--;){const a=r[n];(!e||ct(this,this[a],a,e,!0))&&(delete this[a],s=!0)}return s}normalize(e){const r=this,n={};return c.forEach(this,(s,a)=>{const i=c.findKey(n,a);if(i){r[i]=qe(s),delete r[a];return}const l=e?zn(a):String(a).trim();l!==a&&delete r[a],r[l]=qe(s),n[l]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const r=Object.create(null);return c.forEach(this,(n,s)=>{n!=null&&n!==!1&&(r[s]=e&&c.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,r])=>e+": "+r).join(`
|
|
32
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...r){const n=new this(e);return r.forEach(s=>n.set(s)),n}static accessor(e){const n=(this[Vt]=this[Vt]={accessors:{}}).accessors,s=this.prototype;function a(i){const l=De(i);n[l]||(qn(s,i),n[l]=!0)}return c.isArray(e)?e.forEach(a):a(e),this}};X.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),c.reduceDescriptors(X.prototype,({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(n){this[r]=n}}}),c.freezeMethods(X);function ut(t,e){const r=this||Le,n=e||r,s=X.from(n.headers);let a=n.data;return c.forEach(t,function(l){a=l.call(r,a,s.normalize(),e?e.status:void 0)}),s.normalize(),a}function Wt(t){return!!(t&&t.__CANCEL__)}let Fe=class extends w{constructor(e,r,n){super(e??"canceled",w.ERR_CANCELED,r,n),this.name="CanceledError",this.__CANCEL__=!0}};function zt(t,e,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?t(r):e(new w("Request failed with status code "+r.status,[w.ERR_BAD_REQUEST,w.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Jn(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Yn(t,e){t=t||10;const r=new Array(t),n=new Array(t);let s=0,a=0,i;return e=e!==void 0?e:1e3,function(f){const d=Date.now(),u=n[a];i||(i=d),r[s]=f,n[s]=d;let h=a,_=0;for(;h!==s;)_+=r[h++],h=h%t;if(s=(s+1)%t,s===a&&(a=(a+1)%t),d-i<e)return;const L=u&&d-u;return L?Math.round(_*1e3/L):void 0}}function $n(t,e){let r=0,n=1e3/e,s,a;const i=(d,u=Date.now())=>{r=u,s=null,a&&(clearTimeout(a),a=null),t(...d)};return[(...d)=>{const u=Date.now(),h=u-r;h>=n?i(d,u):(s=d,a||(a=setTimeout(()=>{a=null,i(s)},n-h)))},()=>s&&i(s)]}const Je=(t,e,r=3)=>{let n=0;const s=Yn(50,250);return $n(a=>{const i=a.loaded,l=a.lengthComputable?a.total:void 0,f=l!=null?Math.min(i,l):i,d=Math.max(0,f-n),u=s(d);n=Math.max(n,f);const h={loaded:f,total:l,progress:l?f/l:void 0,bytes:d,rate:u||void 0,estimated:u&&l?(l-f)/u:void 0,event:a,lengthComputable:l!=null,[e?"download":"upload"]:!0};t(h)},r)},qt=(t,e)=>{const r=t!=null;return[n=>e[0]({lengthComputable:r,total:t,loaded:n}),e[1]]},Jt=t=>(...e)=>c.asap(()=>t(...e)),Gn=q.hasStandardBrowserEnv?((t,e)=>r=>(r=new URL(r,q.origin),t.protocol===r.protocol&&t.host===r.host&&(e||t.port===r.port)))(new URL(q.origin),q.navigator&&/(msie|trident)/i.test(q.navigator.userAgent)):()=>!0,Xn=q.hasStandardBrowserEnv?{write(t,e,r,n,s,a,i){if(typeof document>"u")return;const l=[`${t}=${encodeURIComponent(e)}`];c.isNumber(r)&&l.push(`expires=${new Date(r).toUTCString()}`),c.isString(n)&&l.push(`path=${n}`),c.isString(s)&&l.push(`domain=${s}`),a===!0&&l.push("secure"),c.isString(i)&&l.push(`SameSite=${i}`),document.cookie=l.join("; ")},read(t){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Qn(t){return typeof t!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Zn(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Yt(t,e,r){let n=!Qn(e);return t&&(n||r===!1)?Zn(t,e):e}const $t=t=>t instanceof X?{...t}:t;function pe(t,e){e=e||{};const r=Object.create(null);Object.defineProperty(r,"hasOwnProperty",{value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function n(d,u,h,_){return c.isPlainObject(d)&&c.isPlainObject(u)?c.merge.call({caseless:_},d,u):c.isPlainObject(u)?c.merge({},u):c.isArray(u)?u.slice():u}function s(d,u,h,_){if(c.isUndefined(u)){if(!c.isUndefined(d))return n(void 0,d,h,_)}else return n(d,u,h,_)}function a(d,u){if(!c.isUndefined(u))return n(void 0,u)}function i(d,u){if(c.isUndefined(u)){if(!c.isUndefined(d))return n(void 0,d)}else return n(void 0,u)}function l(d,u,h){if(c.hasOwnProp(e,h))return n(d,u);if(c.hasOwnProp(t,h))return n(void 0,d)}const f={url:a,method:a,data:a,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,allowedSocketPaths:i,responseEncoding:i,validateStatus:l,headers:(d,u,h)=>s($t(d),$t(u),h,!0)};return c.forEach(Object.keys({...t,...e}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const h=c.hasOwnProp(f,u)?f[u]:s,_=c.hasOwnProp(t,u)?t[u]:void 0,L=c.hasOwnProp(e,u)?e[u]:void 0,m=h(_,L,u);c.isUndefined(m)&&h!==l||(r[u]=m)}),r}const Gt=t=>{const e=pe({},t),r=_=>c.hasOwnProp(e,_)?e[_]:void 0,n=r("data");let s=r("withXSRFToken");const a=r("xsrfHeaderName"),i=r("xsrfCookieName");let l=r("headers");const f=r("auth"),d=r("baseURL"),u=r("allowAbsoluteUrls"),h=r("url");if(e.headers=l=X.from(l),e.url=Bt(Yt(d,h,u),t.params,t.paramsSerializer),f&&l.set("Authorization","Basic "+btoa((f.username||"")+":"+(f.password?unescape(encodeURIComponent(f.password)):""))),c.isFormData(n)){if(q.hasStandardBrowserEnv||q.hasStandardBrowserWebWorkerEnv)l.setContentType(void 0);else if(c.isFunction(n.getHeaders)){const _=n.getHeaders(),L=["content-type","content-length"];Object.entries(_).forEach(([m,y])=>{L.includes(m.toLowerCase())&&l.set(m,y)})}}if(q.hasStandardBrowserEnv&&(c.isFunction(s)&&(s=s(e)),s===!0||s==null&&Gn(e.url))){const L=a&&i&&Xn.read(i);L&&l.set(a,L)}return e},es=typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(r,n){const s=Gt(t);let a=s.data;const i=X.from(s.headers).normalize();let{responseType:l,onUploadProgress:f,onDownloadProgress:d}=s,u,h,_,L,m;function y(){L&&L(),m&&m(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let g=new XMLHttpRequest;g.open(s.method.toUpperCase(),s.url,!0),g.timeout=s.timeout;function C(){if(!g)return;const F=X.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),K={data:!l||l==="text"||l==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:F,config:t,request:g};zt(function(V){r(V),y()},function(V){n(V),y()},K),g=null}"onloadend"in g?g.onloadend=C:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)||setTimeout(C)},g.onabort=function(){g&&(n(new w("Request aborted",w.ECONNABORTED,t,g)),g=null)},g.onerror=function(P){const K=P&&P.message?P.message:"Network Error",ie=new w(K,w.ERR_NETWORK,t,g);ie.event=P||null,n(ie),g=null},g.ontimeout=function(){let P=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const K=s.transitional||at;s.timeoutErrorMessage&&(P=s.timeoutErrorMessage),n(new w(P,K.clarifyTimeoutError?w.ETIMEDOUT:w.ECONNABORTED,t,g)),g=null},a===void 0&&i.setContentType(null),"setRequestHeader"in g&&c.forEach(i.toJSON(),function(P,K){g.setRequestHeader(K,P)}),c.isUndefined(s.withCredentials)||(g.withCredentials=!!s.withCredentials),l&&l!=="json"&&(g.responseType=s.responseType),d&&([_,m]=Je(d,!0),g.addEventListener("progress",_)),f&&g.upload&&([h,L]=Je(f),g.upload.addEventListener("progress",h),g.upload.addEventListener("loadend",L)),(s.cancelToken||s.signal)&&(u=F=>{g&&(n(!F||F.type?new Fe(null,t,g):F),g.abort(),g=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const D=Jn(s.url);if(D&&q.protocols.indexOf(D)===-1){n(new w("Unsupported protocol "+D+":",w.ERR_BAD_REQUEST,t));return}g.send(a||null)})},ts=(t,e)=>{const{length:r}=t=t?t.filter(Boolean):[];if(e||r){let n=new AbortController,s;const a=function(d){if(!s){s=!0,l();const u=d instanceof Error?d:this.reason;n.abort(u instanceof w?u:new Fe(u instanceof Error?u.message:u))}};let i=e&&setTimeout(()=>{i=null,a(new w(`timeout of ${e}ms exceeded`,w.ETIMEDOUT))},e);const l=()=>{t&&(i&&clearTimeout(i),i=null,t.forEach(d=>{d.unsubscribe?d.unsubscribe(a):d.removeEventListener("abort",a)}),t=null)};t.forEach(d=>d.addEventListener("abort",a));const{signal:f}=n;return f.unsubscribe=()=>c.asap(l),f}},rs=function*(t,e){let r=t.byteLength;if(r<e){yield t;return}let n=0,s;for(;n<r;)s=n+e,yield t.slice(n,s),n=s},ns=async function*(t,e){for await(const r of ss(t))yield*rs(r,e)},ss=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:r,value:n}=await e.read();if(r)break;yield n}}finally{await e.cancel()}},Xt=(t,e,r,n)=>{const s=ns(t,e);let a=0,i,l=f=>{i||(i=!0,n&&n(f))};return new ReadableStream({async pull(f){try{const{done:d,value:u}=await s.next();if(d){l(),f.close();return}let h=u.byteLength;if(r){let _=a+=h;r(_)}f.enqueue(new Uint8Array(u))}catch(d){throw l(d),d}},cancel(f){return l(f),s.return()}},{highWaterMark:2})},Qt=64*1024,{isFunction:Ye}=c,os=(({Request:t,Response:e})=>({Request:t,Response:e}))(c.global),{ReadableStream:Zt,TextEncoder:er}=c.global,tr=(t,...e)=>{try{return!!t(...e)}catch{return!1}},as=t=>{t=c.merge.call({skipUndefined:!0},os,t);const{fetch:e,Request:r,Response:n}=t,s=e?Ye(e):typeof fetch=="function",a=Ye(r),i=Ye(n);if(!s)return!1;const l=s&&Ye(Zt),f=s&&(typeof er=="function"?(m=>y=>m.encode(y))(new er):async m=>new Uint8Array(await new r(m).arrayBuffer())),d=a&&l&&tr(()=>{let m=!1;const y=new r(q.origin,{body:new Zt,method:"POST",get duplex(){return m=!0,"half"}}),g=y.headers.has("Content-Type");return y.body!=null&&y.body.cancel(),m&&!g}),u=i&&l&&tr(()=>c.isReadableStream(new n("").body)),h={stream:u&&(m=>m.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!h[m]&&(h[m]=(y,g)=>{let C=y&&y[m];if(C)return C.call(y);throw new w(`Response type '${m}' is not supported`,w.ERR_NOT_SUPPORT,g)})});const _=async m=>{if(m==null)return 0;if(c.isBlob(m))return m.size;if(c.isSpecCompliantForm(m))return(await new r(q.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(c.isArrayBufferView(m)||c.isArrayBuffer(m))return m.byteLength;if(c.isURLSearchParams(m)&&(m=m+""),c.isString(m))return(await f(m)).byteLength},L=async(m,y)=>{const g=c.toFiniteNumber(m.getContentLength());return g??_(y)};return async m=>{let{url:y,method:g,data:C,signal:D,cancelToken:F,timeout:P,onDownloadProgress:K,onUploadProgress:ie,responseType:V,headers:Y,withCredentials:te="same-origin",fetchOptions:me}=Gt(m),fe=e||fetch;V=V?(V+"").toLowerCase():"text";let ce=ts([D,F&&F.toAbortSignal()],P),W=null;const z=ce&&ce.unsubscribe&&(()=>{ce.unsubscribe()});let b;try{if(ie&&d&&g!=="get"&&g!=="head"&&(b=await L(Y,C))!==0){let M=new r(y,{method:"POST",body:C,duplex:"half"}),B;if(c.isFormData(C)&&(B=M.headers.get("content-type"))&&Y.setContentType(B),M.body){const[Z,de]=qt(b,Je(Jt(ie)));C=Xt(M.body,Qt,Z,de)}}c.isString(te)||(te=te?"include":"omit");const R=a&&"credentials"in r.prototype;if(c.isFormData(C)){const M=Y.getContentType();M&&/^multipart\/form-data/i.test(M)&&!/boundary=/i.test(M)&&Y.delete("content-type")}const x={...me,signal:ce,method:g.toUpperCase(),headers:Y.normalize().toJSON(),body:C,duplex:"half",credentials:R?te:void 0};W=a&&new r(y,x);let T=await(a?fe(W,me):fe(y,x));const U=u&&(V==="stream"||V==="response");if(u&&(K||U&&z)){const M={};["status","statusText","headers"].forEach(ye=>{M[ye]=T[ye]});const B=c.toFiniteNumber(T.headers.get("content-length")),[Z,de]=K&&qt(B,Je(Jt(K),!0))||[];T=new n(Xt(T.body,Qt,Z,()=>{de&&de(),z&&z()}),M)}V=V||"text";let le=await h[c.findKey(h,V)||"text"](T,m);return!U&&z&&z(),await new Promise((M,B)=>{zt(M,B,{data:le,headers:X.from(T.headers),status:T.status,statusText:T.statusText,config:m,request:W})})}catch(R){throw z&&z(),R&&R.name==="TypeError"&&/Load failed|fetch/i.test(R.message)?Object.assign(new w("Network Error",w.ERR_NETWORK,m,W,R&&R.response),{cause:R.cause||R}):w.from(R,R&&R.code,m,W,R&&R.response)}}},is=new Map,rr=t=>{let e=t&&t.env||{};const{fetch:r,Request:n,Response:s}=e,a=[n,s,r];let i=a.length,l=i,f,d,u=is;for(;l--;)f=a[l],d=u.get(f),d===void 0&&u.set(f,d=l?new Map:as(e)),u=d;return d};rr();const ft={http:On,xhr:es,fetch:{get:rr}};c.forEach(ft,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const nr=t=>`- ${t}`,ls=t=>c.isFunction(t)||t===null||t===!1;function cs(t,e){t=c.isArray(t)?t:[t];const{length:r}=t;let n,s;const a={};for(let i=0;i<r;i++){n=t[i];let l;if(s=n,!ls(n)&&(s=ft[(l=String(n)).toLowerCase()],s===void 0))throw new w(`Unknown adapter '${l}'`);if(s&&(c.isFunction(s)||(s=s.get(e))))break;a[l||"#"+i]=s}if(!s){const i=Object.entries(a).map(([f,d])=>`adapter ${f} `+(d===!1?"is not supported by the environment":"is not available in the build"));let l=r?i.length>1?`since :
|
|
33
|
-
`+i.map(nr).join(`
|
|
34
|
-
`):" "+nr(i[0]):"as no adapter specified";throw new w("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return s}const sr={getAdapter:cs,adapters:ft};function dt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Fe(null,t)}function or(t){return dt(t),t.headers=X.from(t.headers),t.data=ut.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),sr.getAdapter(t.adapter||Le.adapter,t)(t).then(function(n){return dt(t),n.data=ut.call(t,t.transformResponse,n),n.headers=X.from(n.headers),n},function(n){return Wt(n)||(dt(t),n&&n.response&&(n.response.data=ut.call(t,t.transformResponse,n.response),n.response.headers=X.from(n.response.headers))),Promise.reject(n)})}const ar="1.15.2",$e={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{$e[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});const ir={};$e.transitional=function(e,r,n){function s(a,i){return"[Axios v"+ar+"] Transitional option '"+a+"'"+i+(n?". "+n:"")}return(a,i,l)=>{if(e===!1)throw new w(s(i," has been removed"+(r?" in "+r:"")),w.ERR_DEPRECATED);return r&&!ir[i]&&(ir[i]=!0,console.warn(s(i," has been deprecated since v"+r+" and will be removed in the near future"))),e?e(a,i,l):!0}},$e.spelling=function(e){return(r,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function us(t,e,r){if(typeof t!="object")throw new w("options must be an object",w.ERR_BAD_OPTION_VALUE);const n=Object.keys(t);let s=n.length;for(;s-- >0;){const a=n[s],i=Object.prototype.hasOwnProperty.call(e,a)?e[a]:void 0;if(i){const l=t[a],f=l===void 0||i(l,a,t);if(f!==!0)throw new w("option "+a+" must be "+f,w.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new w("Unknown option "+a,w.ERR_BAD_OPTION)}}const Ge={assertOptions:us,validators:$e},se=Ge.validators;let ge=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Ht,response:new Ht}}async request(e,r){try{return await this._request(e,r)}catch(n){if(n instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const a=(()=>{if(!s.stack)return"";const i=s.stack.indexOf(`
|
|
35
|
-
`);return i===-1?"":s.stack.slice(i+1)})();try{if(!n.stack)n.stack=a;else if(a){const i=a.indexOf(`
|
|
36
|
-
`),l=i===-1?-1:a.indexOf(`
|
|
37
|
-
`,i+1),f=l===-1?"":a.slice(l+1);String(n.stack).endsWith(f)||(n.stack+=`
|
|
38
|
-
`+a)}}catch{}}throw n}}_request(e,r){typeof e=="string"?(r=r||{},r.url=e):r=e||{},r=pe(this.defaults,r);const{transitional:n,paramsSerializer:s,headers:a}=r;n!==void 0&&Ge.assertOptions(n,{silentJSONParsing:se.transitional(se.boolean),forcedJSONParsing:se.transitional(se.boolean),clarifyTimeoutError:se.transitional(se.boolean),legacyInterceptorReqResOrdering:se.transitional(se.boolean)},!1),s!=null&&(c.isFunction(s)?r.paramsSerializer={serialize:s}:Ge.assertOptions(s,{encode:se.function,serialize:se.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Ge.assertOptions(r,{baseUrl:se.spelling("baseURL"),withXsrfToken:se.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let i=a&&c.merge(a.common,a[r.method]);a&&c.forEach(["delete","get","head","post","put","patch","common"],m=>{delete a[m]}),r.headers=X.concat(i,a);const l=[];let f=!0;this.interceptors.request.forEach(function(y){if(typeof y.runWhen=="function"&&y.runWhen(r)===!1)return;f=f&&y.synchronous;const g=r.transitional||at;g&&g.legacyInterceptorReqResOrdering?l.unshift(y.fulfilled,y.rejected):l.push(y.fulfilled,y.rejected)});const d=[];this.interceptors.response.forEach(function(y){d.push(y.fulfilled,y.rejected)});let u,h=0,_;if(!f){const m=[or.bind(this),void 0];for(m.unshift(...l),m.push(...d),_=m.length,u=Promise.resolve(r);h<_;)u=u.then(m[h++],m[h++]);return u}_=l.length;let L=r;for(;h<_;){const m=l[h++],y=l[h++];try{L=m(L)}catch(g){y.call(this,g);break}}try{u=or.call(this,L)}catch(m){return Promise.reject(m)}for(h=0,_=d.length;h<_;)u=u.then(d[h++],d[h++]);return u}getUri(e){e=pe(this.defaults,e);const r=Yt(e.baseURL,e.url,e.allowAbsoluteUrls);return Bt(r,e.params,e.paramsSerializer)}};c.forEach(["delete","get","head","options"],function(e){ge.prototype[e]=function(r,n){return this.request(pe(n||{},{method:e,url:r,data:(n||{}).data}))}}),c.forEach(["post","put","patch"],function(e){function r(n){return function(a,i,l){return this.request(pe(l||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:a,data:i}))}}ge.prototype[e]=r(),ge.prototype[e+"Form"]=r(!0)});let fs=class Ar{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(a){r=a});const n=this;this.promise.then(s=>{if(!n._listeners)return;let a=n._listeners.length;for(;a-- >0;)n._listeners[a](s);n._listeners=null}),this.promise.then=s=>{let a;const i=new Promise(l=>{n.subscribe(l),a=l}).then(s);return i.cancel=function(){n.unsubscribe(a)},i},e(function(a,i,l){n.reason||(n.reason=new Fe(a,i,l),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const e=new AbortController,r=n=>{e.abort(n)};return this.subscribe(r),e.signal.unsubscribe=()=>this.unsubscribe(r),e.signal}static source(){let e;return{token:new Ar(function(s){e=s}),cancel:e}}};function ds(t){return function(r){return t.apply(null,r)}}function hs(t){return c.isObject(t)&&t.isAxiosError===!0}const ht={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ht).forEach(([t,e])=>{ht[e]=t});function lr(t){const e=new ge(t),r=Ot(ge.prototype.request,e);return c.extend(r,ge.prototype,e,{allOwnKeys:!0}),c.extend(r,e,null,{allOwnKeys:!0}),r.create=function(s){return lr(pe(t,s))},r}const j=lr(Le);j.Axios=ge,j.CanceledError=Fe,j.CancelToken=fs,j.isCancel=Wt,j.VERSION=ar,j.toFormData=ze,j.AxiosError=w,j.Cancel=j.CanceledError,j.all=function(e){return Promise.all(e)},j.spread=ds,j.isAxiosError=hs,j.mergeConfig=pe,j.AxiosHeaders=X,j.formToJSON=t=>Kt(c.isHTMLForm(t)?new FormData(t):t),j.getAdapter=sr.getAdapter,j.HttpStatusCode=ht,j.default=j;const{Axios:fo,AxiosError:ho,CanceledError:po,isCancel:go,CancelToken:mo,VERSION:yo,all:bo,Cancel:Eo,isAxiosError:wo,spread:Ro,toFormData:To,AxiosHeaders:vo,HttpStatusCode:_o,formToJSON:xo,getAdapter:Oo,mergeConfig:So}=j,cr="https://translation.googleapis.com/language/translate/v2",ps=new Set([408,425,429,500,502,503,504]),gs=t=>!!t,ms=t=>j.isAxiosError(t);class ys{constructor(e){ne(this,"type","google");ne(this,"axios");this.config=e,this.axios=j.create({baseURL:e.endpoint??cr,headers:{"Content-Type":"application/json",...e.headers}})}isAvailable(){return this.config.apiKey||gs(this.config.headers)?{available:!0}:{available:!0}}async translate(e,r){var f,d,u;const n={q:e.text,target:e.targetLanguage,format:"text"};e.sourceLanguage&&e.sourceLanguage!=="auto"&&(n.source=e.sourceLanguage),e.glossary&&Object.keys(e.glossary).length>0&&(n.glossaryConfig={glossaryData:{languagePair:{sourceLanguageCode:e.sourceLanguage??"auto",targetLanguageCode:e.targetLanguage},terms:Object.entries(e.glossary).map(([h,_])=>({sourceText:h,targetText:_}))}});const s={...this.config.headers,...r==null?void 0:r.headers},i=(u=(d=(f=(await this.axios.post("",n,{headers:s,params:this.createQueryParams(),timeout:r==null?void 0:r.timeoutMs,signal:r==null?void 0:r.signal})).data)==null?void 0:f.data)==null?void 0:d.translations)==null?void 0:u[0];if(!(i!=null&&i.translatedText))throw new Error("Google Translate response did not include translatedText");const l={endpoint:this.config.endpoint??cr};return i.model&&(l.model=i.model),this.config.projectId&&(l.projectId=this.config.projectId),this.config.region&&(l.region=this.config.region),{translatedText:i.translatedText,detectedSourceLanguage:i.detectedSourceLanguage,providerMetadata:l}}normalizeError(e){var r,n,s,a,i;if(ms(e)){const l=(r=e.response)==null?void 0:r.status,f=((n=e.response)==null?void 0:n.data)??{},d=((s=f.error)==null?void 0:s.message)??e.message??"Google Translate request failed";return{code:String(((a=f.error)==null?void 0:a.code)??l??"E_GOOGLE"),message:d,retryable:l?ps.has(l):!1,details:{status:l,data:f,headers:(i=e.response)==null?void 0:i.headers}}}return e instanceof Error?{code:e.name||"unknown_error",message:e.message,retryable:!1,details:e}:{code:"unknown_error",message:"Unknown provider error",retryable:!1,details:e}}createQueryParams(){if(this.config.apiKey)return{key:this.config.apiKey}}}const pt=t=>{if(!t)throw new Error("Provider instance is null or undefined");if(!t.type)throw new Error("Provider missing required 'type' property");if(typeof t.translate!="function")throw new Error("Provider missing required 'translate' method");if(t.isAvailable&&typeof t.isAvailable!="function")throw new Error("Provider 'isAvailable' must be a function");if(t.normalizeError&&typeof t.normalizeError!="function")throw new Error("Provider 'normalizeError' must be a function")},ur=t=>{if(t.id==="google"){const e=new ys(t);return pt(e),e}if(t.implementation)return pt(t.implementation),t.implementation;if(t.factory){const e=t.factory();return pt(e),e}throw new Error("Custom provider configuration must include either 'implementation' or 'factory'")},bs="translator",Es=5e3,fr=3e4,ws="::",Rs=t=>{var r,n;return((n=(r=navigator==null?void 0:navigator.language)==null?void 0:r.split("-"))==null?void 0:n[0])||t},Ts=t=>localStorage.getItem(t),vs=(t,e)=>{localStorage.setItem(t,e)},_s=t=>t?t instanceof Set?new Set(t):new Set(t):new Set,dr=(t,e)=>({scope:bs,event:t,...e}),Ne=(t,e)=>{console.warn("[vbss-translator]",dr(t,e))},Q=(t,e)=>{console.debug("[vbss-translator]",dr(t,e))},xs=()=>({warn:(t,e)=>{Ne(t,e??{})},debug:(t,e)=>{Q(t,e??{})}}),Os=t=>{const{provider:e,cache:r,alwaysExternalKeys:n,enabled:s,timeoutMs:a,debug:i,...l}=t??{};return{enabled:s??!1,timeoutMs:a??Es,debug:i??!1,provider:{...Ss,...e},cache:{...As,...r},alwaysExternalKeys:_s(n),...l}},Ss={id:"google"},As={enabled:!1,ttlMs:36e5},Cs=(t,e)=>`${t}${ws}${e}`,Ps=t=>t?new Map(t):new Map,ks=(t,e)=>{const r=t.toLocaleLowerCase();return e.find(n=>Object.values(n).some(s=>s.toLocaleLowerCase()===r))},Ls=({children:t,translations:e,defaultLanguage:r="en",persist:n=!1,persistKey:s="language",autoDetectLanguage:a=!1,externalTranslation:i})=>{const l=O.useMemo(()=>Os(i),[i]),[f,d]=O.useState(()=>new Set(l.alwaysExternalKeys));O.useEffect(()=>{d(b=>{const R=new Set(l.alwaysExternalKeys);return b.forEach(x=>R.add(x)),R})},[l]);const u=O.useCallback(b=>{d(R=>{if(R.has(b))return R;const x=new Set(R);return x.add(b),x})},[]),h=O.useMemo(()=>({...l,alwaysExternalKeys:f}),[l,f]),_=n?Ts(s):null,L=a?Rs(r):null,[m,y]=O.useState(_??L??r);O.useEffect(()=>{n&&vs(s,m)},[m,n,s]);const g=O.useMemo(()=>Object.keys(e[0]||{}),[e]),C=O.useMemo(()=>xs(),[]),D=O.useMemo(()=>new Ur(h.cache),[h.cache]),F=O.useMemo(()=>{let b;try{if(b=ur(h.provider),h.debug&&Q("TranslatorProvider_provider_created",{providerType:b.type,providerId:h.provider.id,timestamp:Date.now()}),b.isAvailable){const R=b.isAvailable();R.available?h.debug&&Q("TranslatorProvider_provider_available",{providerType:b.type,providerId:h.provider.id,timestamp:Date.now()}):Ne("TranslatorProvider_provider_unavailable",{providerType:b.type,providerId:h.provider.id,reason:R.reason,timestamp:Date.now()})}}catch(R){throw Ne("TranslatorProvider_provider_creation_failed",{providerId:h.provider.id,error:R instanceof Error?R.message:"Unknown error",timestamp:Date.now()}),R}return new jr({provider:b,config:h,cache:h.cache.enabled?D:void 0,logger:C})},[h,C,D]),[P,K]=O.useState(()=>new Map),[ie,V]=O.useState(0),Y=O.useRef(!0);O.useEffect(()=>(h.debug&&Q("TranslatorProvider_mounted",{timestamp:Date.now()}),Y.current=!0,()=>{h.debug&&Q("TranslatorProvider_unmounting",{timestamp:Date.now()}),Y.current=!1}),[h]);const te=O.useCallback((b,R,x)=>{var le;h.debug&&x&&Q("setExternalStateEntry_called",{targetLanguage:b,key:R,status:x.status,value:x.value,isMounted:Y.current});const T=()=>{K(M=>{const B=new Map(M),Z=Ps(B.get(b));return x?(Z.set(R,x),B.set(b,Z)):(Z.delete(R),Z.size>0?B.set(b,Z):B.delete(b)),B}),(x==null?void 0:x.status)==="resolved"&&(h.debug&&Q("forceUpdate_triggered",{targetLanguage:b,key:R}),V(M=>M+1))};typeof process<"u"&&((le=process.env)==null?void 0:le.NODE_ENV)==="test"?T():O.startTransition(()=>{T()})},[h,V]),me=O.useCallback(b=>{var R;F.isEnabled()&&(te(b.targetLanguage,b.key,{status:"pending",value:b.displayValue}),F.translate({key:b.key,text:b.originalText,targetLanguage:b.targetLanguage,sourceLanguage:b.sourceLanguage,signal:(R=b.options)==null?void 0:R.signal}).then(x=>{if(h.debug&&Q("translation_promise_resolved",{key:b.key,targetLanguage:b.targetLanguage,isMounted:Y.current,hasResult:!!x,hasTranslatedText:!!(x&&x.translatedText),translatedText:x==null?void 0:x.translatedText}),x&&x.translatedText){h.debug&&Q("translation_applying_resolved",{key:b.key,targetLanguage:b.targetLanguage,isMounted:Y.current,translatedText:x.translatedText}),te(b.targetLanguage,b.key,{status:"resolved",value:x.translatedText});return}h.debug&&Q("translation_invalid_result",{key:b.key,result:x}),te(b.targetLanguage,b.key,{status:"error",value:b.displayValue,retryAt:Date.now()+fr})}).catch(x=>{h.debug&&Q("translation_promise_rejected",{key:b.key,targetLanguage:b.targetLanguage,isMounted:Y.current,error:(x==null?void 0:x.message)||String(x)}),Ne("external_translation_unexpected_rejection",{key:b.key,language:b.targetLanguage,error:x,isMounted:Y.current}),te(b.targetLanguage,b.key,{status:"error",value:b.displayValue,error:x,retryAt:Date.now()+fr})}))},[h,te,F]),fe=O.useMemo(()=>{const b={};return P.forEach((R,x)=>{R.forEach((T,U)=>{b[Cs(U,x)]=T.status==="pending"})}),h.debug&&Q("isTranslatingRecord_recalculated",{recordSize:Object.keys(b).length,record:{...b}}),b},[P,h]),ce=O.useMemo(()=>Object.values(fe).some(Boolean),[fe]),W=O.useCallback((b,R={})=>{var be;const x=P.get(m),T=x==null?void 0:x.get(b);if(h.debug&&R.preferExternal&&Q("t_called",{text:b,language:m,hasStateForLanguage:!!x,existingStateStatus:T==null?void 0:T.status,existingStateValue:T==null?void 0:T.value,preferExternal:R.preferExternal}),(T==null?void 0:T.status)==="resolved"&&T.value)return h.debug&&Q("t_returning_resolved",{text:b,value:T.value}),T.value;const U=ks(b,e),le=U==null?void 0:U[m],M=U?Object.values(U).find(Qe=>!!Qe):void 0,B=R.fallbackValue??(T==null?void 0:T.value)??le??M??b,Z=R.preferExternal===!0||h.alwaysExternalKeys.has(b),de=F.isEnabled(),ye=typeof le=="string";if(ye||Ne("missing_translation",{key:b,language:m}),!(de&&(Z||!ye)))return(T==null?void 0:T.status)==="pending"&&T.value?T.value:le??B;const je=Date.now(),ve=(T==null?void 0:T.status)==="error"&&(!T.retryAt||T.retryAt<=je);if(!T||ve){const _e=R.sourceLanguage??(U&&U[r]?r:void 0),gt=(_e&&(U==null?void 0:U[_e]))??(U==null?void 0:U[r])??b;me({key:b,targetLanguage:m,originalText:gt,displayValue:(T==null?void 0:T.value)??B,sourceLanguage:_e,options:R})}const re=((be=P.get(m))==null?void 0:be.get(b))??T;return(re==null?void 0:re.status)==="resolved"&&re.value?re.value:(re==null?void 0:re.status)==="pending"?re.value??B:B},[r,h.alwaysExternalKeys,P,m,me,F,e]),z=O.useMemo(()=>({t:W,language:m,languages:g,setLanguage:y,isTranslating:fe,isTranslatingAny:ce,registerExternalKey:u,externalConfig:h}),[W,m,g,y,fe,ce,u,h,ie]);return Lr.jsx(_t.Provider,{value:z,children:t})},Ds=()=>Dr();J.TranslatorProvider=Ls,J.createTranslationProvider=ur,J.useTranslator=Ds,Object.defineProperty(J,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(k,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],j):(k=typeof globalThis<"u"?globalThis:k||self,j(k["vbss/translator"]={},k.ReactJSXRuntime,k.React))})(this,(function(k,j,T){"use strict";var Ir=Object.defineProperty;var Hr=(k,j,T)=>j in k?Ir(k,j,{enumerable:!0,configurable:!0,writable:!0,value:T}):k[j]=T;var I=(k,j,T)=>Hr(k,typeof j!="symbol"?j+"":j,T);const Ke=T.createContext(null),Ut=()=>{const t=T.useContext(Ke);if(!t)throw new Error("useTranslatorContext must be used within a TranslatorProvider");return t};class $e extends Error{constructor(n){super(n);I(this,"code","timeout");this.name="ExternalTranslationTimeoutError"}}const Mt="auto",ge=t=>typeof t=="number"&&Number.isFinite(t)&&t>0,jt=t=>{const e=Object.entries(t).sort(([n],[r])=>n===r?0:n<r?-1:1);return Object.fromEntries(e)};class Bt{constructor(e){I(this,"provider");I(this,"config");I(this,"cache");I(this,"logger");I(this,"inFlight",new Map);this.provider=e.provider,this.config=e.config,this.cache=e.cache,this.logger=e.logger}isEnabled(){return this.config.enabled}async translate(e){if(!this.isEnabled()){this.debug("external_translation_disabled",{key:e.key,targetLanguage:e.targetLanguage});return}const n=this.normalizeRequest(e);if(!await this.shouldTranslate(n.externalRequest)){this.debug("external_translation_skipped",{key:n.externalRequest.key,targetLanguage:n.externalRequest.targetLanguage});return}const r=this.readFromCache(n.cacheKey);if(r)return this.debug("external_translation_cache_hit",{key:n.externalRequest.key,cacheKey:n.cacheKey}),r;const s=this.inFlight.get(n.cacheKey);if(s)return this.debug("external_translation_deduped",{key:n.externalRequest.key,cacheKey:n.cacheKey}),s;const o=this.executeTranslation(n);return this.inFlight.set(n.cacheKey,o),o}normalizeRequest(e){const n=e.sourceLanguage??Mt,r={text:e.text,sourceLanguage:n,targetLanguage:e.targetLanguage,glossary:e.glossary},s=this.createCacheKey(r),o=ge(e.timeoutMs)?e.timeoutMs:this.config.timeoutMs;return{externalRequest:{key:e.key,text:e.text,targetLanguage:e.targetLanguage,sourceLanguage:n},translateRequest:r,cacheKey:s,timeoutMs:o,signal:e.signal}}async shouldTranslate(e){if(!this.config.shouldTranslate)return!0;try{return this.config.shouldTranslate(e)}catch(n){return this.warn("external_translation_should_translate_error",{key:e.key,language:e.targetLanguage,error:n}),!0}}async executeTranslation(e){try{if(!await this.invokeExternalTranslationHook(e.externalRequest)){this.debug("external_translation_vetoed",{key:e.externalRequest.key,targetLanguage:e.externalRequest.targetLanguage});return}this.debug("external_translation_started",{key:e.externalRequest.key,cacheKey:e.cacheKey});const n=await this.translateWithTimeout(e.translateRequest,e.timeoutMs,e.signal);return this.writeToCache(e.cacheKey,n),this.notifyTranslationComplete(n),this.debug("external_translation_succeeded",{key:e.externalRequest.key,cacheKey:e.cacheKey}),n}catch(n){const r=this.normalizeError(n);this.handleTranslationError(e,r);return}finally{this.inFlight.delete(e.cacheKey)}}async invokeExternalTranslationHook(e){const n=this.config.onExternalTranslation;if(!n)return!0;try{const r=await n(e);return typeof r=="boolean"?r:!0}catch(r){return this.warn("external_translation_hook_error",{key:e.key,language:e.targetLanguage,error:r}),!0}}async translateWithTimeout(e,n,r){if(!(typeof AbortController=="function"))return this.provider.translate(e,{timeoutMs:ge(n)?n:void 0,signal:r});const o=new AbortController;let i=!1,l;r&&(r.aborted?o.abort():(l=()=>{o.abort()},r.addEventListener("abort",l,{once:!0})));const f=ge(n)&&n?setTimeout(()=>{i=!0,o.abort()},n):void 0;try{return await this.provider.translate(e,{timeoutMs:ge(n)?n:void 0,signal:o.signal})}catch(u){throw i?new $e(`External translation timed out after ${n}ms`):(o.signal.aborted&&!i,u)}finally{f&&clearTimeout(f),l&&r&&r.removeEventListener("abort",l)}}readFromCache(e){var n;return(n=this.cache)==null?void 0:n.get(e)}writeToCache(e,n){var r;(r=this.cache)==null||r.set(e,n)}handleTranslationError(e,n){const r={key:e.externalRequest.key,language:e.externalRequest.targetLanguage,originalText:e.externalRequest.text,error:n};this.notifyTranslationError(r),this.warn("external_fallback_failed",{provider:this.provider.type,key:r.key,language:r.language,errorCode:n.code,retryable:n.retryable,message:n.message,details:n.details})}normalizeError(e){return this.provider.normalizeError?this.provider.normalizeError(e):e instanceof $e?{code:"timeout",message:e.message,retryable:!0,details:e}:e instanceof Error?{code:e.name||"unknown_error",message:e.message,retryable:!1,details:e}:{code:"unknown_error",message:"Unknown provider error",retryable:!1,details:e}}createCacheKey(e){return[e.sourceLanguage,e.targetLanguage,this.hashText(e.text,e.glossary)].join("|")}hashText(e,n){let r=2166136261;const s=n&&Object.keys(n).length>0?`${e}|${JSON.stringify(jt(n))}`:e;for(let o=0;o<s.length;o+=1)r^=s.charCodeAt(o),r+=(r<<1)+(r<<4)+(r<<7)+(r<<8)+(r<<24);return(r>>>0).toString(16)}warn(e,n){const r={scope:"translator",event:e,...n};if(this.logger){this.logger.warn(e,r);return}console.warn("[vbss-translator]",r)}debug(e,n){var s;if(!this.config.debug)return;const r={scope:"translator",event:e,...n};if((s=this.logger)!=null&&s.debug){this.logger.debug(e,r);return}console.debug("[vbss-translator]",r)}notifyTranslationComplete(e){const n=this.config.onTranslationComplete;if(n)try{n(e)}catch(r){this.warn("external_translation_complete_callback_error",{provider:this.provider.type,error:r})}}notifyTranslationError(e){const n=this.config.onTranslationError;if(n)try{n(e)}catch(r){this.warn("external_translation_error_callback_error",{provider:this.provider.type,key:e.key,language:e.language,error:r})}}}const Ce=()=>Date.now(),me=t=>typeof t=="number"&&Number.isFinite(t)&&t>0;class It{constructor(e){I(this,"store",new Map);I(this,"enabled");I(this,"ttlMs");I(this,"maxEntries");this.enabled=e.enabled,this.ttlMs=Math.max(0,e.ttlMs),this.maxEntries=e.maxEntries}isEnabled(){return this.enabled}setEnabled(e){e||this.clear(),this.enabled=e}setTtl(e){this.ttlMs=Math.max(0,e)}size(){return this.store.size}clear(){this.store.clear()}get(e){if(!this.enabled)return;const n=this.store.get(e);if(n){if(this.isExpired(n)){this.store.delete(e);return}return n.value}}set(e,n,r){if(!this.enabled)return;const s=me(r)?r:this.ttlMs,o=me(s)?Ce()+s:void 0;this.store.set(e,{value:n,expiresAt:o,insertedAt:Ce()}),this.enforceMaxEntries()}delete(e){this.store.delete(e)}has(e){if(!this.enabled)return!1;const n=this.store.get(e);return n?this.isExpired(n)?(this.store.delete(e),!1):!0:!1}entries(){const e=[];for(const[n,r]of this.store.entries()){if(this.isExpired(r)){this.store.delete(n);continue}e.push({key:n,result:r.value,expiresAt:r.expiresAt})}return e}prune(){for(const[e,n]of this.store.entries())this.isExpired(n)&&this.store.delete(e)}enforceMaxEntries(){if(!me(this.maxEntries))return;const e=this.maxEntries;for(;this.store.size>e;){const n=this.findOldestKey();if(!n)break;this.store.delete(n)}}findOldestKey(){let e,n=Number.POSITIVE_INFINITY;for(const[r,s]of this.store.entries())s.insertedAt<n&&(e=r,n=s.insertedAt);return e}isExpired(e){return me(e.expiresAt)?e.expiresAt<=Ce():!1}}function Ve(t,e){return function(){return t.apply(e,arguments)}}const{toString:Ht}=Object.prototype,{getPrototypeOf:ye}=Object,{iterator:be,toStringTag:ze}=Symbol,Ee=(t=>e=>{const n=Ht.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),K=t=>(t=t.toLowerCase(),e=>Ee(e)===t),we=t=>e=>typeof e===t,{isArray:ne}=Array,re=we("undefined");function ie(t){return t!==null&&!re(t)&&t.constructor!==null&&!re(t.constructor)&&F(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const Je=K("ArrayBuffer");function qt(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Je(t.buffer),e}const Kt=we("string"),F=we("function"),We=we("number"),ae=t=>t!==null&&typeof t=="object",$t=t=>t===!0||t===!1,Re=t=>{if(Ee(t)!=="object")return!1;const e=ye(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(ze in t)&&!(be in t)},Vt=t=>{if(!ae(t)||ie(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},zt=K("Date"),Jt=K("File"),Wt=t=>!!(t&&typeof t.uri<"u"),Xt=t=>t&&typeof t.getParts<"u",Gt=K("Blob"),Qt=K("FileList"),Yt=t=>ae(t)&&F(t.pipe);function Zt(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Xe=Zt(),Ge=typeof Xe.FormData<"u"?Xe.FormData:void 0,en=t=>{if(!t)return!1;if(Ge&&t instanceof Ge)return!0;const e=ye(t);if(!e||e===Object.prototype||!F(t.append))return!1;const n=Ee(t);return n==="formdata"||n==="object"&&F(t.toString)&&t.toString()==="[object FormData]"},tn=K("URLSearchParams"),[nn,rn,sn,on]=["ReadableStream","Request","Response","Headers"].map(K),an=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function le(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,s;if(typeof t!="object"&&(t=[t]),ne(t))for(r=0,s=t.length;r<s;r++)e.call(null,t[r],r,t);else{if(ie(t))return;const o=n?Object.getOwnPropertyNames(t):Object.keys(t),i=o.length;let l;for(r=0;r<i;r++)l=o[r],e.call(null,t[l],l,t)}}function Qe(t,e){if(ie(t))return null;e=e.toLowerCase();const n=Object.keys(t);let r=n.length,s;for(;r-- >0;)if(s=n[r],e===s.toLowerCase())return s;return null}const Q=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ye=t=>!re(t)&&t!==Q;function Pe(){const{caseless:t,skipUndefined:e}=Ye(this)&&this||{},n={},r=(s,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;const i=t&&Qe(n,o)||o;Re(n[i])&&Re(s)?n[i]=Pe(n[i],s):Re(s)?n[i]=Pe({},s):ne(s)?n[i]=s.slice():(!e||!re(s))&&(n[i]=s)};for(let s=0,o=arguments.length;s<o;s++)arguments[s]&&le(arguments[s],r);return n}const ln=(t,e,n,{allOwnKeys:r}={})=>(le(e,(s,o)=>{n&&F(s)?Object.defineProperty(t,o,{value:Ve(s,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,o,{value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),t),cn=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),un=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),Object.defineProperty(t.prototype,"constructor",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},dn=(t,e,n,r)=>{let s,o,i;const l={};if(e=e||{},t==null)return e;do{for(s=Object.getOwnPropertyNames(t),o=s.length;o-- >0;)i=s[o],(!r||r(i,t,e))&&!l[i]&&(e[i]=t[i],l[i]=!0);t=n!==!1&&ye(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},fn=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return r!==-1&&r===n},hn=t=>{if(!t)return null;if(ne(t))return t;let e=t.length;if(!We(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},pn=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&ye(Uint8Array)),gn=(t,e)=>{const r=(t&&t[be]).call(t);let s;for(;(s=r.next())&&!s.done;){const o=s.value;e.call(t,o[0],o[1])}},mn=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},yn=K("HTMLFormElement"),bn=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),Ze=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),En=K("RegExp"),et=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};le(n,(s,o)=>{let i;(i=e(s,o,t))!==!1&&(r[o]=i||s)}),Object.defineProperties(t,r)},wn=t=>{et(t,(e,n)=>{if(F(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=t[n];if(F(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Rn=(t,e)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return ne(t)?r(t):r(String(t).split(e)),n},Tn=()=>{},xn=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function Sn(t){return!!(t&&F(t.append)&&t[ze]==="FormData"&&t[be])}const On=t=>{const e=new Array(10),n=(r,s)=>{if(ae(r)){if(e.indexOf(r)>=0)return;if(ie(r))return r;if(!("toJSON"in r)){e[s]=r;const o=ne(r)?[]:{};return le(r,(i,l)=>{const f=n(i,s+1);!re(f)&&(o[l]=f)}),e[s]=void 0,o}}return r};return n(t,0)},_n=K("AsyncFunction"),An=t=>t&&(ae(t)||F(t))&&F(t.then)&&F(t.catch),tt=((t,e)=>t?setImmediate:e?((n,r)=>(Q.addEventListener("message",({source:s,data:o})=>{s===Q&&o===n&&r.length&&r.shift()()},!1),s=>{r.push(s),Q.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",F(Q.postMessage)),Cn=typeof queueMicrotask<"u"?queueMicrotask.bind(Q):typeof process<"u"&&process.nextTick||tt,a={isArray:ne,isArrayBuffer:Je,isBuffer:ie,isFormData:en,isArrayBufferView:qt,isString:Kt,isNumber:We,isBoolean:$t,isObject:ae,isPlainObject:Re,isEmptyObject:Vt,isReadableStream:nn,isRequest:rn,isResponse:sn,isHeaders:on,isUndefined:re,isDate:zt,isFile:Jt,isReactNativeBlob:Wt,isReactNative:Xt,isBlob:Gt,isRegExp:En,isFunction:F,isStream:Yt,isURLSearchParams:tn,isTypedArray:pn,isFileList:Qt,forEach:le,merge:Pe,extend:ln,trim:an,stripBOM:cn,inherits:un,toFlatObject:dn,kindOf:Ee,kindOfTest:K,endsWith:fn,toArray:hn,forEachEntry:gn,matchAll:mn,isHTMLForm:yn,hasOwnProperty:Ze,hasOwnProp:Ze,reduceDescriptors:et,freezeMethods:wn,toObjectSet:Rn,toCamelCase:bn,noop:Tn,toFiniteNumber:xn,findKey:Qe,global:Q,isContextDefined:Ye,isSpecCompliantForm:Sn,toJSONObject:On,isAsyncFn:_n,isThenable:An,setImmediate:tt,asap:Cn,isIterable:t=>t!=null&&F(t[be])};let y=class Dt extends Error{static from(e,n,r,s,o,i){const l=new Dt(e.message,n||e.code,r,s,o);return l.cause=e,l.name=e.name,e.status!=null&&l.status==null&&(l.status=e.status),i&&Object.assign(l,i),l}constructor(e,n,r,s,o){super(e),Object.defineProperty(this,"message",{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),s&&(this.request=s),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}};y.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",y.ERR_BAD_OPTION="ERR_BAD_OPTION",y.ECONNABORTED="ECONNABORTED",y.ETIMEDOUT="ETIMEDOUT",y.ERR_NETWORK="ERR_NETWORK",y.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",y.ERR_DEPRECATED="ERR_DEPRECATED",y.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",y.ERR_BAD_REQUEST="ERR_BAD_REQUEST",y.ERR_CANCELED="ERR_CANCELED",y.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",y.ERR_INVALID_URL="ERR_INVALID_URL",y.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Pn=null;function Le(t){return a.isPlainObject(t)||a.isArray(t)}function nt(t){return a.endsWith(t,"[]")?t.slice(0,-2):t}function ke(t,e,n){return t?t.concat(e).map(function(s,o){return s=nt(s),!n&&o?"["+s+"]":s}).join(n?".":""):e}function Ln(t){return a.isArray(t)&&!t.some(Le)}const kn=a.toFlatObject(a,{},null,function(e){return/^is[A-Z]/.test(e)});function Te(t,e,n){if(!a.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,S){return!a.isUndefined(S[h])});const r=n.metaTokens,s=n.visitor||d,o=n.dots,i=n.indexes,l=n.Blob||typeof Blob<"u"&&Blob,f=n.maxDepth===void 0?100:n.maxDepth,u=l&&a.isSpecCompliantForm(e);if(!a.isFunction(s))throw new TypeError("visitor must be a function");function c(g){if(g===null)return"";if(a.isDate(g))return g.toISOString();if(a.isBoolean(g))return g.toString();if(!u&&a.isBlob(g))throw new y("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(g)||a.isTypedArray(g)?u&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function d(g,h,S){let q=g;if(a.isReactNative(e)&&a.isReactNativeBlob(g))return e.append(ke(S,h,o),c(g)),!1;if(g&&!S&&typeof g=="object"){if(a.endsWith(h,"{}"))h=r?h:h.slice(0,-2),g=JSON.stringify(g);else if(a.isArray(g)&&Ln(g)||(a.isFileList(g)||a.endsWith(h,"[]"))&&(q=a.toArray(g)))return h=nt(h),q.forEach(function(x,N){!(a.isUndefined(x)||x===null)&&e.append(i===!0?ke([h],N,o):i===null?h:h+"[]",c(x))}),!1}return Le(g)?!0:(e.append(ke(S,h,o),c(g)),!1)}const R=[],_=Object.assign(kn,{defaultVisitor:d,convertValue:c,isVisitable:Le});function p(g,h,S=0){if(!a.isUndefined(g)){if(S>f)throw new y("Object is too deeply nested ("+S+" levels). Max depth: "+f,y.ERR_FORM_DATA_DEPTH_EXCEEDED);if(R.indexOf(g)!==-1)throw Error("Circular reference detected in "+h.join("."));R.push(g),a.forEach(g,function(O,x){(!(a.isUndefined(O)||O===null)&&s.call(e,O,a.isString(x)?x.trim():x,h,_))===!0&&p(O,h?h.concat(x):[x],S+1)}),R.pop()}}if(!a.isObject(t))throw new TypeError("data must be an object");return p(t),e}function rt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(t).replace(/[!'()~]|%20/g,function(r){return e[r]})}function ve(t,e){this._pairs=[],t&&Te(t,this,e)}const st=ve.prototype;st.append=function(e,n){this._pairs.push([e,n])},st.toString=function(e){const n=e?function(r){return e.call(this,r,rt)}:rt;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function vn(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ot(t,e,n){if(!e)return t;const r=n&&n.encode||vn,s=a.isFunction(n)?{serialize:n}:n,o=s&&s.serialize;let i;if(o?i=o(e,s):i=a.isURLSearchParams(e)?e.toString():new ve(e,s).toString(r),i){const l=t.indexOf("#");l!==-1&&(t=t.slice(0,l)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t}class it{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){a.forEach(this.handlers,function(r){r!==null&&e(r)})}}const Ne={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Nn={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:ve,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},De=typeof window<"u"&&typeof document<"u",Fe=typeof navigator=="object"&&navigator||void 0,Dn=De&&(!Fe||["ReactNative","NativeScript","NS"].indexOf(Fe.product)<0),Fn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Un=De&&window.location.href||"http://localhost",v={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:De,hasStandardBrowserEnv:Dn,hasStandardBrowserWebWorkerEnv:Fn,navigator:Fe,origin:Un},Symbol.toStringTag,{value:"Module"})),...Nn};function Mn(t,e){return Te(t,new v.classes.URLSearchParams,{visitor:function(n,r,s,o){return v.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...e})}function jn(t){return a.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Bn(t){const e={},n=Object.keys(t);let r;const s=n.length;let o;for(r=0;r<s;r++)o=n[r],e[o]=t[o];return e}function at(t){function e(n,r,s,o){let i=n[o++];if(i==="__proto__")return!0;const l=Number.isFinite(+i),f=o>=n.length;return i=!i&&a.isArray(s)?s.length:i,f?(a.hasOwnProp(s,i)?s[i]=a.isArray(s[i])?s[i].concat(r):[s[i],r]:s[i]=r,!l):((!s[i]||!a.isObject(s[i]))&&(s[i]=[]),e(n,r,s[i],o)&&a.isArray(s[i])&&(s[i]=Bn(s[i])),!l)}if(a.isFormData(t)&&a.isFunction(t.entries)){const n={};return a.forEachEntry(t,(r,s)=>{e(jn(r),s,n,0)}),n}return null}const se=(t,e)=>t!=null&&a.hasOwnProp(t,e)?t[e]:void 0;function In(t,e,n){if(a.isString(t))try{return(e||JSON.parse)(t),a.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const ce={transitional:Ne,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=a.isObject(e);if(o&&a.isHTMLForm(e)&&(e=new FormData(e)),a.isFormData(e))return s?JSON.stringify(at(e)):e;if(a.isArrayBuffer(e)||a.isBuffer(e)||a.isStream(e)||a.isFile(e)||a.isBlob(e)||a.isReadableStream(e))return e;if(a.isArrayBufferView(e))return e.buffer;if(a.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let l;if(o){const f=se(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return Mn(e,f).toString();if((l=a.isFileList(e))||r.indexOf("multipart/form-data")>-1){const u=se(this,"env"),c=u&&u.FormData;return Te(l?{"files[]":e}:e,c&&new c,f)}}return o||s?(n.setContentType("application/json",!1),In(e)):e}],transformResponse:[function(e){const n=se(this,"transitional")||ce.transitional,r=n&&n.forcedJSONParsing,s=se(this,"responseType"),o=s==="json";if(a.isResponse(e)||a.isReadableStream(e))return e;if(e&&a.isString(e)&&(r&&!s||o)){const l=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(e,se(this,"parseReviver"))}catch(f){if(l)throw f.name==="SyntaxError"?y.from(f,y.ERR_BAD_RESPONSE,this,null,se(this,"response")):f}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:v.classes.FormData,Blob:v.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],t=>{ce.headers[t]={}});const Hn=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),qn=t=>{const e={};let n,r,s;return t&&t.split(`
|
|
2
|
+
`).forEach(function(i){s=i.indexOf(":"),n=i.substring(0,s).trim().toLowerCase(),r=i.substring(s+1).trim(),!(!n||e[n]&&Hn[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},lt=Symbol("internals"),Kn=/[^\x09\x20-\x7E\x80-\xFF]/g;function $n(t){let e=0,n=t.length;for(;e<n;){const r=t.charCodeAt(e);if(r!==9&&r!==32)break;e+=1}for(;n>e;){const r=t.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return e===0&&n===t.length?t:t.slice(e,n)}function ue(t){return t&&String(t).trim().toLowerCase()}function Vn(t){return $n(t.replace(Kn,""))}function xe(t){return t===!1||t==null?t:a.isArray(t)?t.map(xe):Vn(String(t))}function zn(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const Jn=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Ue(t,e,n,r,s){if(a.isFunction(r))return r.call(this,e,n);if(s&&(e=n),!!a.isString(e)){if(a.isString(r))return e.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(e)}}function Wn(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function Xn(t,e){const n=a.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(s,o,i){return this[r].call(this,e,s,o,i)},configurable:!0})})}let U=class{constructor(e){e&&this.set(e)}set(e,n,r){const s=this;function o(l,f,u){const c=ue(f);if(!c)throw new Error("header name must be a non-empty string");const d=a.findKey(s,c);(!d||s[d]===void 0||u===!0||u===void 0&&s[d]!==!1)&&(s[d||f]=xe(l))}const i=(l,f)=>a.forEach(l,(u,c)=>o(u,c,f));if(a.isPlainObject(e)||e instanceof this.constructor)i(e,n);else if(a.isString(e)&&(e=e.trim())&&!Jn(e))i(qn(e),n);else if(a.isObject(e)&&a.isIterable(e)){let l={},f,u;for(const c of e){if(!a.isArray(c))throw TypeError("Object iterator must return a key-value pair");l[u=c[0]]=(f=l[u])?a.isArray(f)?[...f,c[1]]:[f,c[1]]:c[1]}i(l,n)}else e!=null&&o(n,e,r);return this}get(e,n){if(e=ue(e),e){const r=a.findKey(this,e);if(r){const s=this[r];if(!n)return s;if(n===!0)return zn(s);if(a.isFunction(n))return n.call(this,s,r);if(a.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=ue(e),e){const r=a.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||Ue(this,this[r],r,n)))}return!1}delete(e,n){const r=this;let s=!1;function o(i){if(i=ue(i),i){const l=a.findKey(r,i);l&&(!n||Ue(r,r[l],l,n))&&(delete r[l],s=!0)}}return a.isArray(e)?e.forEach(o):o(e),s}clear(e){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!e||Ue(this,this[o],o,e,!0))&&(delete this[o],s=!0)}return s}normalize(e){const n=this,r={};return a.forEach(this,(s,o)=>{const i=a.findKey(r,o);if(i){n[i]=xe(s),delete n[o];return}const l=e?Wn(o):String(o).trim();l!==o&&delete n[o],n[l]=xe(s),r[l]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return a.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=e&&a.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(`
|
|
3
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const r=new this(e);return n.forEach(s=>r.set(s)),r}static accessor(e){const r=(this[lt]=this[lt]={accessors:{}}).accessors,s=this.prototype;function o(i){const l=ue(i);r[l]||(Xn(s,i),r[l]=!0)}return a.isArray(e)?e.forEach(o):o(e),this}};U.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),a.reduceDescriptors(U.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}}),a.freezeMethods(U);function Me(t,e){const n=this||ce,r=e||n,s=U.from(r.headers);let o=r.data;return a.forEach(t,function(l){o=l.call(n,o,s.normalize(),e?e.status:void 0)}),s.normalize(),o}function ct(t){return!!(t&&t.__CANCEL__)}let de=class extends y{constructor(e,n,r){super(e??"canceled",y.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function ut(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new y("Request failed with status code "+n.status,[y.ERR_BAD_REQUEST,y.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Gn(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Qn(t,e){t=t||10;const n=new Array(t),r=new Array(t);let s=0,o=0,i;return e=e!==void 0?e:1e3,function(f){const u=Date.now(),c=r[o];i||(i=u),n[s]=f,r[s]=u;let d=o,R=0;for(;d!==s;)R+=n[d++],d=d%t;if(s=(s+1)%t,s===o&&(o=(o+1)%t),u-i<e)return;const _=c&&u-c;return _?Math.round(R*1e3/_):void 0}}function Yn(t,e){let n=0,r=1e3/e,s,o;const i=(u,c=Date.now())=>{n=c,s=null,o&&(clearTimeout(o),o=null),t(...u)};return[(...u)=>{const c=Date.now(),d=c-n;d>=r?i(u,c):(s=u,o||(o=setTimeout(()=>{o=null,i(s)},r-d)))},()=>s&&i(s)]}const Se=(t,e,n=3)=>{let r=0;const s=Qn(50,250);return Yn(o=>{const i=o.loaded,l=o.lengthComputable?o.total:void 0,f=l!=null?Math.min(i,l):i,u=Math.max(0,f-r),c=s(u);r=Math.max(r,f);const d={loaded:f,total:l,progress:l?f/l:void 0,bytes:u,rate:c||void 0,estimated:c&&l?(l-f)/c:void 0,event:o,lengthComputable:l!=null,[e?"download":"upload"]:!0};t(d)},n)},dt=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},ft=t=>(...e)=>a.asap(()=>t(...e)),Zn=v.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,v.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(v.origin),v.navigator&&/(msie|trident)/i.test(v.navigator.userAgent)):()=>!0,er=v.hasStandardBrowserEnv?{write(t,e,n,r,s,o,i){if(typeof document>"u")return;const l=[`${t}=${encodeURIComponent(e)}`];a.isNumber(n)&&l.push(`expires=${new Date(n).toUTCString()}`),a.isString(r)&&l.push(`path=${r}`),a.isString(s)&&l.push(`domain=${s}`),o===!0&&l.push("secure"),a.isString(i)&&l.push(`SameSite=${i}`),document.cookie=l.join("; ")},read(t){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function tr(t){return typeof t!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function nr(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function ht(t,e,n){let r=!tr(e);return t&&(r||n===!1)?nr(t,e):e}const pt=t=>t instanceof U?{...t}:t;function Y(t,e){e=e||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(u,c,d,R){return a.isPlainObject(u)&&a.isPlainObject(c)?a.merge.call({caseless:R},u,c):a.isPlainObject(c)?a.merge({},c):a.isArray(c)?c.slice():c}function s(u,c,d,R){if(a.isUndefined(c)){if(!a.isUndefined(u))return r(void 0,u,d,R)}else return r(u,c,d,R)}function o(u,c){if(!a.isUndefined(c))return r(void 0,c)}function i(u,c){if(a.isUndefined(c)){if(!a.isUndefined(u))return r(void 0,u)}else return r(void 0,c)}function l(u,c,d){if(a.hasOwnProp(e,d))return r(u,c);if(a.hasOwnProp(t,d))return r(void 0,u)}const f={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,allowedSocketPaths:i,responseEncoding:i,validateStatus:l,headers:(u,c,d)=>s(pt(u),pt(c),d,!0)};return a.forEach(Object.keys({...t,...e}),function(c){if(c==="__proto__"||c==="constructor"||c==="prototype")return;const d=a.hasOwnProp(f,c)?f[c]:s,R=a.hasOwnProp(t,c)?t[c]:void 0,_=a.hasOwnProp(e,c)?e[c]:void 0,p=d(R,_,c);a.isUndefined(p)&&d!==l||(n[c]=p)}),n}const gt=t=>{const e=Y({},t),n=R=>a.hasOwnProp(e,R)?e[R]:void 0,r=n("data");let s=n("withXSRFToken");const o=n("xsrfHeaderName"),i=n("xsrfCookieName");let l=n("headers");const f=n("auth"),u=n("baseURL"),c=n("allowAbsoluteUrls"),d=n("url");if(e.headers=l=U.from(l),e.url=ot(ht(u,d,c),t.params,t.paramsSerializer),f&&l.set("Authorization","Basic "+btoa((f.username||"")+":"+(f.password?unescape(encodeURIComponent(f.password)):""))),a.isFormData(r)){if(v.hasStandardBrowserEnv||v.hasStandardBrowserWebWorkerEnv)l.setContentType(void 0);else if(a.isFunction(r.getHeaders)){const R=r.getHeaders(),_=["content-type","content-length"];Object.entries(R).forEach(([p,g])=>{_.includes(p.toLowerCase())&&l.set(p,g)})}}if(v.hasStandardBrowserEnv&&(a.isFunction(s)&&(s=s(e)),s===!0||s==null&&Zn(e.url))){const _=o&&i&&er.read(i);_&&l.set(o,_)}return e},rr=typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(n,r){const s=gt(t);let o=s.data;const i=U.from(s.headers).normalize();let{responseType:l,onUploadProgress:f,onDownloadProgress:u}=s,c,d,R,_,p;function g(){_&&_(),p&&p(),s.cancelToken&&s.cancelToken.unsubscribe(c),s.signal&&s.signal.removeEventListener("abort",c)}let h=new XMLHttpRequest;h.open(s.method.toUpperCase(),s.url,!0),h.timeout=s.timeout;function S(){if(!h)return;const O=U.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),N={data:!l||l==="text"||l==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:O,config:t,request:h};ut(function(D){n(D),g()},function(D){r(D),g()},N),h=null}"onloadend"in h?h.onloadend=S:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(S)},h.onabort=function(){h&&(r(new y("Request aborted",y.ECONNABORTED,t,h)),h=null)},h.onerror=function(x){const N=x&&x.message?x.message:"Network Error",z=new y(N,y.ERR_NETWORK,t,h);z.event=x||null,r(z),h=null},h.ontimeout=function(){let x=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const N=s.transitional||Ne;s.timeoutErrorMessage&&(x=s.timeoutErrorMessage),r(new y(x,N.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,t,h)),h=null},o===void 0&&i.setContentType(null),"setRequestHeader"in h&&a.forEach(i.toJSON(),function(x,N){h.setRequestHeader(N,x)}),a.isUndefined(s.withCredentials)||(h.withCredentials=!!s.withCredentials),l&&l!=="json"&&(h.responseType=s.responseType),u&&([R,p]=Se(u,!0),h.addEventListener("progress",R)),f&&h.upload&&([d,_]=Se(f),h.upload.addEventListener("progress",d),h.upload.addEventListener("loadend",_)),(s.cancelToken||s.signal)&&(c=O=>{h&&(r(!O||O.type?new de(null,t,h):O),h.abort(),h=null)},s.cancelToken&&s.cancelToken.subscribe(c),s.signal&&(s.signal.aborted?c():s.signal.addEventListener("abort",c)));const q=Gn(s.url);if(q&&v.protocols.indexOf(q)===-1){r(new y("Unsupported protocol "+q+":",y.ERR_BAD_REQUEST,t));return}h.send(o||null)})},sr=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,s;const o=function(u){if(!s){s=!0,l();const c=u instanceof Error?u:this.reason;r.abort(c instanceof y?c:new de(c instanceof Error?c.message:c))}};let i=e&&setTimeout(()=>{i=null,o(new y(`timeout of ${e}ms exceeded`,y.ETIMEDOUT))},e);const l=()=>{t&&(i&&clearTimeout(i),i=null,t.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),t=null)};t.forEach(u=>u.addEventListener("abort",o));const{signal:f}=r;return f.unsubscribe=()=>a.asap(l),f}},or=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let r=0,s;for(;r<n;)s=r+e,yield t.slice(r,s),r=s},ir=async function*(t,e){for await(const n of ar(t))yield*or(n,e)},ar=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:r}=await e.read();if(n)break;yield r}}finally{await e.cancel()}},mt=(t,e,n,r)=>{const s=ir(t,e);let o=0,i,l=f=>{i||(i=!0,r&&r(f))};return new ReadableStream({async pull(f){try{const{done:u,value:c}=await s.next();if(u){l(),f.close();return}let d=c.byteLength;if(n){let R=o+=d;n(R)}f.enqueue(new Uint8Array(c))}catch(u){throw l(u),u}},cancel(f){return l(f),s.return()}},{highWaterMark:2})},yt=64*1024,{isFunction:Oe}=a,lr=(({Request:t,Response:e})=>({Request:t,Response:e}))(a.global),{ReadableStream:bt,TextEncoder:Et}=a.global,wt=(t,...e)=>{try{return!!t(...e)}catch{return!1}},cr=t=>{t=a.merge.call({skipUndefined:!0},lr,t);const{fetch:e,Request:n,Response:r}=t,s=e?Oe(e):typeof fetch=="function",o=Oe(n),i=Oe(r);if(!s)return!1;const l=s&&Oe(bt),f=s&&(typeof Et=="function"?(p=>g=>p.encode(g))(new Et):async p=>new Uint8Array(await new n(p).arrayBuffer())),u=o&&l&&wt(()=>{let p=!1;const g=new n(v.origin,{body:new bt,method:"POST",get duplex(){return p=!0,"half"}}),h=g.headers.has("Content-Type");return g.body!=null&&g.body.cancel(),p&&!h}),c=i&&l&&wt(()=>a.isReadableStream(new r("").body)),d={stream:c&&(p=>p.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!d[p]&&(d[p]=(g,h)=>{let S=g&&g[p];if(S)return S.call(g);throw new y(`Response type '${p}' is not supported`,y.ERR_NOT_SUPPORT,h)})});const R=async p=>{if(p==null)return 0;if(a.isBlob(p))return p.size;if(a.isSpecCompliantForm(p))return(await new n(v.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(a.isArrayBufferView(p)||a.isArrayBuffer(p))return p.byteLength;if(a.isURLSearchParams(p)&&(p=p+""),a.isString(p))return(await f(p)).byteLength},_=async(p,g)=>{const h=a.toFiniteNumber(p.getContentLength());return h??R(g)};return async p=>{let{url:g,method:h,data:S,signal:q,cancelToken:O,timeout:x,onDownloadProgress:N,onUploadProgress:z,responseType:D,headers:B,withCredentials:V="same-origin",fetchOptions:he}=gt(p),ee=e||fetch;D=D?(D+"").toLowerCase():"text";let te=sr([q,O&&O.toAbortSignal()],x),X=null;const J=te&&te.unsubscribe&&(()=>{te.unsubscribe()});let m;try{if(z&&u&&h!=="get"&&h!=="head"&&(m=await _(B,S))!==0){let P=new n(g,{method:"POST",body:S,duplex:"half"}),L;if(a.isFormData(S)&&(L=P.headers.get("content-type"))&&B.setContentType(L),P.body){const[$,oe]=dt(m,Se(ft(z)));S=mt(P.body,yt,$,oe)}}a.isString(V)||(V=V?"include":"omit");const b=o&&"credentials"in n.prototype;if(a.isFormData(S)){const P=B.getContentType();P&&/^multipart\/form-data/i.test(P)&&!/boundary=/i.test(P)&&B.delete("content-type")}const w={...he,signal:te,method:h.toUpperCase(),headers:B.normalize().toJSON(),body:S,duplex:"half",credentials:b?V:void 0};X=o&&new n(g,w);let E=await(o?ee(X,he):ee(g,w));const C=c&&(D==="stream"||D==="response");if(c&&(N||C&&J)){const P={};["status","statusText","headers"].forEach(pe=>{P[pe]=E[pe]});const L=a.toFiniteNumber(E.headers.get("content-length")),[$,oe]=N&&dt(L,Se(ft(N),!0))||[];E=new r(mt(E.body,yt,$,()=>{oe&&oe(),J&&J()}),P)}D=D||"text";let G=await d[a.findKey(d,D)||"text"](E,p);return!C&&J&&J(),await new Promise((P,L)=>{ut(P,L,{data:G,headers:U.from(E.headers),status:E.status,statusText:E.statusText,config:p,request:X})})}catch(b){throw J&&J(),b&&b.name==="TypeError"&&/Load failed|fetch/i.test(b.message)?Object.assign(new y("Network Error",y.ERR_NETWORK,p,X,b&&b.response),{cause:b.cause||b}):y.from(b,b&&b.code,p,X,b&&b.response)}}},ur=new Map,Rt=t=>{let e=t&&t.env||{};const{fetch:n,Request:r,Response:s}=e,o=[r,s,n];let i=o.length,l=i,f,u,c=ur;for(;l--;)f=o[l],u=c.get(f),u===void 0&&c.set(f,u=l?new Map:cr(e)),c=u;return u};Rt();const je={http:Pn,xhr:rr,fetch:{get:Rt}};a.forEach(je,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const Tt=t=>`- ${t}`,dr=t=>a.isFunction(t)||t===null||t===!1;function fr(t,e){t=a.isArray(t)?t:[t];const{length:n}=t;let r,s;const o={};for(let i=0;i<n;i++){r=t[i];let l;if(s=r,!dr(r)&&(s=je[(l=String(r)).toLowerCase()],s===void 0))throw new y(`Unknown adapter '${l}'`);if(s&&(a.isFunction(s)||(s=s.get(e))))break;o[l||"#"+i]=s}if(!s){const i=Object.entries(o).map(([f,u])=>`adapter ${f} `+(u===!1?"is not supported by the environment":"is not available in the build"));let l=n?i.length>1?`since :
|
|
4
|
+
`+i.map(Tt).join(`
|
|
5
|
+
`):" "+Tt(i[0]):"as no adapter specified";throw new y("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return s}const xt={getAdapter:fr,adapters:je};function Be(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new de(null,t)}function St(t){return Be(t),t.headers=U.from(t.headers),t.data=Me.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),xt.getAdapter(t.adapter||ce.adapter,t)(t).then(function(r){return Be(t),r.data=Me.call(t,t.transformResponse,r),r.headers=U.from(r.headers),r},function(r){return ct(r)||(Be(t),r&&r.response&&(r.response.data=Me.call(t,t.transformResponse,r.response),r.response.headers=U.from(r.response.headers))),Promise.reject(r)})}const Ot="1.15.2",_e={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{_e[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const _t={};_e.transitional=function(e,n,r){function s(o,i){return"[Axios v"+Ot+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,l)=>{if(e===!1)throw new y(s(i," has been removed"+(n?" in "+n:"")),y.ERR_DEPRECATED);return n&&!_t[i]&&(_t[i]=!0,console.warn(s(i," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(o,i,l):!0}},_e.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function hr(t,e,n){if(typeof t!="object")throw new y("options must be an object",y.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let s=r.length;for(;s-- >0;){const o=r[s],i=Object.prototype.hasOwnProperty.call(e,o)?e[o]:void 0;if(i){const l=t[o],f=l===void 0||i(l,o,t);if(f!==!0)throw new y("option "+o+" must be "+f,y.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new y("Unknown option "+o,y.ERR_BAD_OPTION)}}const Ae={assertOptions:hr,validators:_e},H=Ae.validators;let Z=class{constructor(e){this.defaults=e||{},this.interceptors={request:new it,response:new it}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=(()=>{if(!s.stack)return"";const i=s.stack.indexOf(`
|
|
6
|
+
`);return i===-1?"":s.stack.slice(i+1)})();try{if(!r.stack)r.stack=o;else if(o){const i=o.indexOf(`
|
|
7
|
+
`),l=i===-1?-1:o.indexOf(`
|
|
8
|
+
`,i+1),f=l===-1?"":o.slice(l+1);String(r.stack).endsWith(f)||(r.stack+=`
|
|
9
|
+
`+o)}}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Y(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&Ae.assertOptions(r,{silentJSONParsing:H.transitional(H.boolean),forcedJSONParsing:H.transitional(H.boolean),clarifyTimeoutError:H.transitional(H.boolean),legacyInterceptorReqResOrdering:H.transitional(H.boolean)},!1),s!=null&&(a.isFunction(s)?n.paramsSerializer={serialize:s}:Ae.assertOptions(s,{encode:H.function,serialize:H.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Ae.assertOptions(n,{baseUrl:H.spelling("baseURL"),withXsrfToken:H.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&a.merge(o.common,o[n.method]);o&&a.forEach(["delete","get","head","post","put","patch","common"],p=>{delete o[p]}),n.headers=U.concat(i,o);const l=[];let f=!0;this.interceptors.request.forEach(function(g){if(typeof g.runWhen=="function"&&g.runWhen(n)===!1)return;f=f&&g.synchronous;const h=n.transitional||Ne;h&&h.legacyInterceptorReqResOrdering?l.unshift(g.fulfilled,g.rejected):l.push(g.fulfilled,g.rejected)});const u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let c,d=0,R;if(!f){const p=[St.bind(this),void 0];for(p.unshift(...l),p.push(...u),R=p.length,c=Promise.resolve(n);d<R;)c=c.then(p[d++],p[d++]);return c}R=l.length;let _=n;for(;d<R;){const p=l[d++],g=l[d++];try{_=p(_)}catch(h){g.call(this,h);break}}try{c=St.call(this,_)}catch(p){return Promise.reject(p)}for(d=0,R=u.length;d<R;)c=c.then(u[d++],u[d++]);return c}getUri(e){e=Y(this.defaults,e);const n=ht(e.baseURL,e.url,e.allowAbsoluteUrls);return ot(n,e.params,e.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(e){Z.prototype[e]=function(n,r){return this.request(Y(r||{},{method:e,url:n,data:(r||{}).data}))}}),a.forEach(["post","put","patch"],function(e){function n(r){return function(o,i,l){return this.request(Y(l||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:i}))}}Z.prototype[e]=n(),Z.prototype[e+"Form"]=n(!0)});let pr=class Ft{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const r=this;this.promise.then(s=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const i=new Promise(l=>{r.subscribe(l),o=l}).then(s);return i.cancel=function(){r.unsubscribe(o)},i},e(function(o,i,l){r.reason||(r.reason=new de(o,i,l),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new Ft(function(s){e=s}),cancel:e}}};function gr(t){return function(n){return t.apply(null,n)}}function mr(t){return a.isObject(t)&&t.isAxiosError===!0}const Ie={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ie).forEach(([t,e])=>{Ie[e]=t});function At(t){const e=new Z(t),n=Ve(Z.prototype.request,e);return a.extend(n,Z.prototype,e,{allOwnKeys:!0}),a.extend(n,e,null,{allOwnKeys:!0}),n.create=function(s){return At(Y(t,s))},n}const A=At(ce);A.Axios=Z,A.CanceledError=de,A.CancelToken=pr,A.isCancel=ct,A.VERSION=Ot,A.toFormData=Te,A.AxiosError=y,A.Cancel=A.CanceledError,A.all=function(e){return Promise.all(e)},A.spread=gr,A.isAxiosError=mr,A.mergeConfig=Y,A.AxiosHeaders=U,A.formToJSON=t=>at(a.isHTMLForm(t)?new FormData(t):t),A.getAdapter=xt.getAdapter,A.HttpStatusCode=Ie,A.default=A;const{Axios:Wr,AxiosError:Xr,CanceledError:Gr,isCancel:Qr,CancelToken:Yr,VERSION:Zr,all:es,Cancel:ts,isAxiosError:ns,spread:rs,toFormData:ss,AxiosHeaders:os,HttpStatusCode:is,formToJSON:as,getAdapter:ls,mergeConfig:cs}=A,Ct="https://translation.googleapis.com/language/translate/v2",yr=new Set([408,425,429,500,502,503,504]),br=t=>!!t,Er=t=>A.isAxiosError(t);class wr{constructor(e){I(this,"type","google");I(this,"axios");this.config=e,this.axios=A.create({baseURL:e.endpoint??Ct,headers:{"Content-Type":"application/json",...e.headers}})}isAvailable(){return this.config.apiKey||br(this.config.headers)?{available:!0}:{available:!0}}async translate(e,n){var f,u,c;const r={q:e.text,target:e.targetLanguage,format:"text"};e.sourceLanguage&&e.sourceLanguage!=="auto"&&(r.source=e.sourceLanguage),e.glossary&&Object.keys(e.glossary).length>0&&(r.glossaryConfig={glossaryData:{languagePair:{sourceLanguageCode:e.sourceLanguage??"auto",targetLanguageCode:e.targetLanguage},terms:Object.entries(e.glossary).map(([d,R])=>({sourceText:d,targetText:R}))}});const s={...this.config.headers,...n==null?void 0:n.headers},i=(c=(u=(f=(await this.axios.post("",r,{headers:s,params:this.createQueryParams(),timeout:n==null?void 0:n.timeoutMs,signal:n==null?void 0:n.signal})).data)==null?void 0:f.data)==null?void 0:u.translations)==null?void 0:c[0];if(!(i!=null&&i.translatedText))throw new Error("Google Translate response did not include translatedText");const l={endpoint:this.config.endpoint??Ct};return i.model&&(l.model=i.model),this.config.projectId&&(l.projectId=this.config.projectId),this.config.region&&(l.region=this.config.region),{translatedText:i.translatedText,detectedSourceLanguage:i.detectedSourceLanguage,providerMetadata:l}}normalizeError(e){var n,r,s,o,i;if(Er(e)){const l=(n=e.response)==null?void 0:n.status,f=((r=e.response)==null?void 0:r.data)??{},u=((s=f.error)==null?void 0:s.message)??e.message??"Google Translate request failed";return{code:String(((o=f.error)==null?void 0:o.code)??l??"E_GOOGLE"),message:u,retryable:l?yr.has(l):!1,details:{status:l,data:f,headers:(i=e.response)==null?void 0:i.headers}}}return e instanceof Error?{code:e.name||"unknown_error",message:e.message,retryable:!1,details:e}:{code:"unknown_error",message:"Unknown provider error",retryable:!1,details:e}}createQueryParams(){if(this.config.apiKey)return{key:this.config.apiKey}}}const He=t=>{if(!t)throw new Error("Provider instance is null or undefined");if(!t.type)throw new Error("Provider missing required 'type' property");if(typeof t.translate!="function")throw new Error("Provider missing required 'translate' method");if(t.isAvailable&&typeof t.isAvailable!="function")throw new Error("Provider 'isAvailable' must be a function");if(t.normalizeError&&typeof t.normalizeError!="function")throw new Error("Provider 'normalizeError' must be a function")},Pt=t=>{if(t.id==="google"){const e=new wr(t);return He(e),e}if(t.implementation)return He(t.implementation),t.implementation;if(t.factory){const e=t.factory();return He(e),e}throw new Error("Custom provider configuration must include either 'implementation' or 'factory'")},Rr="translator",Tr=5e3,Lt=3e4,xr="::",Sr=t=>{var n,r;return((r=(n=navigator==null?void 0:navigator.language)==null?void 0:n.split("-"))==null?void 0:r[0])||t},Or=t=>localStorage.getItem(t),_r=(t,e)=>{localStorage.setItem(t,e)},Ar=t=>t?t instanceof Set?new Set(t):new Set(t):new Set,kt=(t,e)=>({scope:Rr,event:t,...e}),fe=(t,e)=>{console.warn("[vbss-translator]",kt(t,e))},M=(t,e)=>{console.debug("[vbss-translator]",kt(t,e))},Cr=()=>({warn:(t,e)=>{fe(t,e??{})},debug:(t,e)=>{M(t,e??{})}}),Pr=t=>{const{provider:e,cache:n,alwaysExternalKeys:r,enabled:s,timeoutMs:o,debug:i,...l}=t??{};return{enabled:s??!1,timeoutMs:o??Tr,debug:i??!1,provider:{...Lr,...e},cache:{...kr,...n},alwaysExternalKeys:Ar(r),...l}},Lr={id:"google"},kr={enabled:!1,ttlMs:36e5},vr=(t,e)=>`${t}${xr}${e}`,Nr=t=>t?new Map(t):new Map,Dr=(t,e)=>{const n=t.toLocaleLowerCase();return e.find(r=>Object.values(r).some(s=>s.toLocaleLowerCase()===n))},Fr=({children:t,translations:e,defaultLanguage:n="en",persist:r=!1,persistKey:s="language",autoDetectLanguage:o=!1,externalTranslation:i})=>{const l=T.useMemo(()=>Pr(i),[i]),[f,u]=T.useState(()=>new Set(l.alwaysExternalKeys));T.useEffect(()=>{u(m=>{const b=new Set(l.alwaysExternalKeys);return m.forEach(w=>b.add(w)),b})},[l]);const c=T.useCallback(m=>{u(b=>{if(b.has(m))return b;const w=new Set(b);return w.add(m),w})},[]),d=T.useMemo(()=>({...l,alwaysExternalKeys:f}),[l,f]),R=r?Or(s):null,_=o?Sr(n):null,[p,g]=T.useState(R??_??n);T.useEffect(()=>{r&&_r(s,p)},[p,r,s]);const h=T.useMemo(()=>Object.keys(e[0]||{}),[e]),S=T.useMemo(()=>Cr(),[]),q=T.useMemo(()=>new It(d.cache),[d.cache]),O=T.useMemo(()=>{let m;try{if(m=Pt(d.provider),d.debug&&M("TranslatorProvider_provider_created",{providerType:m.type,providerId:d.provider.id,timestamp:Date.now()}),m.isAvailable){const b=m.isAvailable();b.available?d.debug&&M("TranslatorProvider_provider_available",{providerType:m.type,providerId:d.provider.id,timestamp:Date.now()}):fe("TranslatorProvider_provider_unavailable",{providerType:m.type,providerId:d.provider.id,reason:b.reason,timestamp:Date.now()})}}catch(b){throw fe("TranslatorProvider_provider_creation_failed",{providerId:d.provider.id,error:b instanceof Error?b.message:"Unknown error",timestamp:Date.now()}),b}return new Bt({provider:m,config:d,cache:d.cache.enabled?q:void 0,logger:S})},[d,S,q]),[x,N]=T.useState(()=>new Map),[z,D]=T.useState(0),B=T.useRef(!0);T.useEffect(()=>(d.debug&&M("TranslatorProvider_mounted",{timestamp:Date.now()}),B.current=!0,()=>{d.debug&&M("TranslatorProvider_unmounting",{timestamp:Date.now()}),B.current=!1}),[d]);const V=T.useCallback((m,b,w)=>{var G;d.debug&&w&&M("setExternalStateEntry_called",{targetLanguage:m,key:b,status:w.status,value:w.value,isMounted:B.current});const E=()=>{N(P=>{const L=new Map(P),$=Nr(L.get(m));return w?($.set(b,w),L.set(m,$)):($.delete(b),$.size>0?L.set(m,$):L.delete(m)),L}),(w==null?void 0:w.status)==="resolved"&&(d.debug&&M("forceUpdate_triggered",{targetLanguage:m,key:b}),D(P=>P+1))};typeof process<"u"&&((G=process.env)==null?void 0:G.NODE_ENV)==="test"?E():T.startTransition(()=>{E()})},[d,D]),he=T.useCallback(m=>{var b;O.isEnabled()&&(V(m.targetLanguage,m.key,{status:"pending",value:m.displayValue}),O.translate({key:m.key,text:m.originalText,targetLanguage:m.targetLanguage,sourceLanguage:m.sourceLanguage,signal:(b=m.options)==null?void 0:b.signal}).then(w=>{if(d.debug&&M("translation_promise_resolved",{key:m.key,targetLanguage:m.targetLanguage,isMounted:B.current,hasResult:!!w,hasTranslatedText:!!(w&&w.translatedText),translatedText:w==null?void 0:w.translatedText}),w&&w.translatedText){d.debug&&M("translation_applying_resolved",{key:m.key,targetLanguage:m.targetLanguage,isMounted:B.current,translatedText:w.translatedText}),V(m.targetLanguage,m.key,{status:"resolved",value:w.translatedText});return}d.debug&&M("translation_invalid_result",{key:m.key,result:w}),V(m.targetLanguage,m.key,{status:"error",value:m.displayValue,retryAt:Date.now()+Lt})}).catch(w=>{d.debug&&M("translation_promise_rejected",{key:m.key,targetLanguage:m.targetLanguage,isMounted:B.current,error:(w==null?void 0:w.message)||String(w)}),fe("external_translation_unexpected_rejection",{key:m.key,language:m.targetLanguage,error:w,isMounted:B.current}),V(m.targetLanguage,m.key,{status:"error",value:m.displayValue,error:w,retryAt:Date.now()+Lt})}))},[d,V,O]),ee=T.useMemo(()=>{const m={};return x.forEach((b,w)=>{b.forEach((E,C)=>{m[vr(C,w)]=E.status==="pending"})}),d.debug&&M("isTranslatingRecord_recalculated",{recordSize:Object.keys(m).length,record:{...m}}),m},[x,d]),te=T.useMemo(()=>Object.values(ee).some(Boolean),[ee]),X=T.useCallback((m,b={})=>{var vt;const w=x.get(p),E=w==null?void 0:w.get(m);if(d.debug&&b.preferExternal&&M("t_called",{text:m,language:p,hasStateForLanguage:!!w,existingStateStatus:E==null?void 0:E.status,existingStateValue:E==null?void 0:E.value,preferExternal:b.preferExternal}),(E==null?void 0:E.status)==="resolved"&&E.value)return d.debug&&M("t_returning_resolved",{text:m,value:E.value}),E.value;const C=Dr(m,e),G=C==null?void 0:C[p],P=C?Object.values(C).find(Nt=>!!Nt):void 0,L=b.fallbackValue??(E==null?void 0:E.value)??G??P??m,$=b.preferExternal===!0||d.alwaysExternalKeys.has(m),oe=O.isEnabled(),pe=typeof G=="string";if(pe||fe("missing_translation",{key:m,language:p}),!(oe&&($||!pe)))return(E==null?void 0:E.status)==="pending"&&E.value?E.value:G??L;const Mr=Date.now(),jr=(E==null?void 0:E.status)==="error"&&(!E.retryAt||E.retryAt<=Mr);if(!E||jr){const qe=b.sourceLanguage??(C&&C[n]?n:void 0),Br=(qe&&(C==null?void 0:C[qe]))??(C==null?void 0:C[n])??m;he({key:m,targetLanguage:p,originalText:Br,displayValue:(E==null?void 0:E.value)??L,sourceLanguage:qe,options:b})}const W=((vt=x.get(p))==null?void 0:vt.get(m))??E;return(W==null?void 0:W.status)==="resolved"&&W.value?W.value:(W==null?void 0:W.status)==="pending"?W.value??L:L},[n,d.alwaysExternalKeys,x,p,he,O,e]),J=T.useMemo(()=>({t:X,language:p,languages:h,setLanguage:g,isTranslating:ee,isTranslatingAny:te,registerExternalKey:c,externalConfig:d}),[X,p,h,g,ee,te,c,d,z]);return j.jsx(Ke.Provider,{value:J,children:t})},Ur=()=>Ut();k.TranslatorProvider=Fr,k.createTranslationProvider=Pt,k.useTranslator=Ur,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vbss-translator",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "A lightweight React translation toolkit focused on ergonomics, sensible defaults, and escape hatches when local dictionaries are not enough",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
"files": [
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
23
|
-
"main": "dist/vbss-translator
|
|
23
|
+
"main": "dist/vbss-translator.umd.cjs",
|
|
24
24
|
"module": "dist/vbss-translator.js",
|
|
25
25
|
"exports": {
|
|
26
26
|
".": {
|
|
27
27
|
"types": "./dist/vbss-translator.d.ts",
|
|
28
28
|
"import": "./dist/vbss-translator.js",
|
|
29
|
-
"require": "./dist/vbss-translator
|
|
29
|
+
"require": "./dist/vbss-translator.umd.cjs"
|
|
30
30
|
},
|
|
31
31
|
"./generator": {
|
|
32
32
|
"types": "./dist/generator.d.ts",
|