UNPKG

@jaspersoft/jv-input-controls

Version:

Component for rendering input controls for a report or ad hoc view using visualize.js

1 lines 1.96 MB
(function(Si,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],L):(Si=typeof globalThis<"u"?globalThis:Si||self,L(Si["@jaspersoft/jv-input-controls"]={},Si.wq,Si.D))})(this,function(Si,L,J){"use strict";function iG(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}function lG(e,t){for(var n=0;n<t.length;n++){const a=t[n];if(typeof a!="string"&&!Array.isArray(a)){for(const c in a)if(c!=="default"&&!(c in e)){const f=Object.getOwnPropertyDescriptor(a,c);f&&Object.defineProperty(e,c,f.get?f:{enumerable:!0,get:()=>a[c]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}const A=iG(J),sG={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class cP{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||sG,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return this.forward(n,"log","",!0)}warn(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return this.forward(n,"warn","",!0)}error(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return this.forward(n,"error","")}deprecate(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return this.forward(n,"warn","WARNING DEPRECATED: ",!0)}forward(t,n,a,c){return c&&!this.debug?null:(typeof t[0]=="string"&&(t[0]=`${a}${this.prefix} ${t[0]}`),this.logger[n](t))}create(t){return new cP(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t=t||this.options,t.prefix=t.prefix||this.prefix,new cP(this.logger,t)}}var Wm=new cP;class dP{constructor(){this.observers={}}on(t,n){return t.split(" ").forEach(a=>{this.observers[a]||(this.observers[a]=new Map);const c=this.observers[a].get(n)||0;this.observers[a].set(n,c+1)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t].delete(n)}}emit(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),c=1;c<n;c++)a[c-1]=arguments[c];this.observers[t]&&Array.from(this.observers[t].entries()).forEach(p=>{let[v,x]=p;for(let S=0;S<x;S++)v(...a)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(p=>{let[v,x]=p;for(let S=0;S<x;S++)v.apply(v,[t,...a])})}}const Vk=()=>{let e,t;const n=new Promise((a,c)=>{e=a,t=c});return n.resolve=e,n.reject=t,n},b$=e=>e==null?"":""+e,uG=(e,t,n)=>{e.forEach(a=>{t[a]&&(n[a]=t[a])})},cG=/###/g,x$=e=>e&&e.indexOf("###")>-1?e.replace(cG,"."):e,S$=e=>!e||typeof e=="string",$k=(e,t,n)=>{const a=typeof t!="string"?t:t.split(".");let c=0;for(;c<a.length-1;){if(S$(e))return{};const f=x$(a[c]);!e[f]&&n&&(e[f]=new n),Object.prototype.hasOwnProperty.call(e,f)?e=e[f]:e={},++c}return S$(e)?{}:{obj:e,k:x$(a[c])}},w$=(e,t,n)=>{const{obj:a,k:c}=$k(e,t,Object);if(a!==void 0||t.length===1){a[c]=n;return}let f=t[t.length-1],p=t.slice(0,t.length-1),v=$k(e,p,Object);for(;v.obj===void 0&&p.length;)f=`${p[p.length-1]}.${f}`,p=p.slice(0,p.length-1),v=$k(e,p,Object),v&&v.obj&&typeof v.obj[`${v.k}.${f}`]<"u"&&(v.obj=void 0);v.obj[`${v.k}.${f}`]=n},dG=(e,t,n,a)=>{const{obj:c,k:f}=$k(e,t,Object);c[f]=c[f]||[],c[f].push(n)},fP=(e,t)=>{const{obj:n,k:a}=$k(e,t);if(n)return n[a]},fG=(e,t,n)=>{const a=fP(e,n);return a!==void 0?a:fP(t,n)},T$=(e,t,n)=>{for(const a in t)a!=="__proto__"&&a!=="constructor"&&(a in e?typeof e[a]=="string"||e[a]instanceof String||typeof t[a]=="string"||t[a]instanceof String?n&&(e[a]=t[a]):T$(e[a],t[a],n):e[a]=t[a]);return e},Cw=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var pG={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const hG=e=>typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>pG[t]):e;class mG{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const n=this.regExpMap.get(t);if(n!==void 0)return n;const a=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,a),this.regExpQueue.push(t),a}}const vG=[" ",",","?","!",";"],gG=new mG(20),yG=(e,t,n)=>{t=t||"",n=n||"";const a=vG.filter(p=>t.indexOf(p)<0&&n.indexOf(p)<0);if(a.length===0)return!0;const c=gG.getRegExp(`(${a.map(p=>p==="?"?"\\?":p).join("|")})`);let f=!c.test(e);if(!f){const p=e.indexOf(n);p>0&&!c.test(e.substring(0,p))&&(f=!0)}return f},j2=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const a=t.split(n);let c=e;for(let f=0;f<a.length;){if(!c||typeof c!="object")return;let p,v="";for(let x=f;x<a.length;++x)if(x!==f&&(v+=n),v+=a[x],p=c[v],p!==void 0){if(["string","number","boolean"].indexOf(typeof p)>-1&&x<a.length-1)continue;f+=x-f+1;break}c=p}return c},pP=e=>e&&e.indexOf("_")>0?e.replace("_","-"):e;class E$ extends dP{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,a){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const f=c.keySeparator!==void 0?c.keySeparator:this.options.keySeparator,p=c.ignoreJSONStructure!==void 0?c.ignoreJSONStructure:this.options.ignoreJSONStructure;let v;t.indexOf(".")>-1?v=t.split("."):(v=[t,n],a&&(Array.isArray(a)?v.push(...a):typeof a=="string"&&f?v.push(...a.split(f)):v.push(a)));const x=fP(this.data,v);return!x&&!n&&!a&&t.indexOf(".")>-1&&(t=v[0],n=v[1],a=v.slice(2).join(".")),x||!p||typeof a!="string"?x:j2(this.data&&this.data[t]&&this.data[t][n],a,f)}addResource(t,n,a,c){let f=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const p=f.keySeparator!==void 0?f.keySeparator:this.options.keySeparator;let v=[t,n];a&&(v=v.concat(p?a.split(p):a)),t.indexOf(".")>-1&&(v=t.split("."),c=n,n=v[1]),this.addNamespaces(n),w$(this.data,v,c),f.silent||this.emit("added",t,n,a,c)}addResources(t,n,a){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const f in a)(typeof a[f]=="string"||Array.isArray(a[f]))&&this.addResource(t,n,f,a[f],{silent:!0});c.silent||this.emit("added",t,n,a)}addResourceBundle(t,n,a,c,f){let p=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},v=[t,n];t.indexOf(".")>-1&&(v=t.split("."),c=a,a=n,n=v[1]),this.addNamespaces(n);let x=fP(this.data,v)||{};p.skipCopy||(a=JSON.parse(JSON.stringify(a))),c?T$(x,a,f):x={...x,...a},w$(this.data,v,x),p.silent||this.emit("added",t,n,a)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(c=>n[c]&&Object.keys(n[c]).length>0)}toJSON(){return this.data}}var k$={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,a,c){return e.forEach(f=>{this.processors[f]&&(t=this.processors[f].process(t,n,a,c))}),t}};const C$={};class hP extends dP{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),uG(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Wm.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const a=this.resolve(t,n);return a&&a.res!==void 0}extractFromKey(t,n){let a=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");const c=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let f=n.ns||this.options.defaultNS||[];const p=a&&t.indexOf(a)>-1,v=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!yG(t,a,c);if(p&&!v){const x=t.match(this.interpolator.nestingRegexp);if(x&&x.length>0)return{key:t,namespaces:f};const S=t.split(a);(a!==c||a===c&&this.options.ns.indexOf(S[0])>-1)&&(f=S.shift()),t=S.join(c)}return typeof f=="string"&&(f=[f]),{key:t,namespaces:f}}translate(t,n,a){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const c=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,f=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:p,namespaces:v}=this.extractFromKey(t[t.length-1],n),x=v[v.length-1],S=n.lng||this.language,k=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(S&&S.toLowerCase()==="cimode"){if(k){const W=n.nsSeparator||this.options.nsSeparator;return c?{res:`${x}${W}${p}`,usedKey:p,exactUsedKey:p,usedLng:S,usedNS:x,usedParams:this.getUsedParamsDetails(n)}:`${x}${W}${p}`}return c?{res:p,usedKey:p,exactUsedKey:p,usedLng:S,usedNS:x,usedParams:this.getUsedParamsDetails(n)}:p}const C=this.resolve(t,n);let N=C&&C.res;const P=C&&C.usedKey||p,M=C&&C.exactUsedKey||p,D=Object.prototype.toString.apply(N),I=["[object Number]","[object Function]","[object RegExp]"],$=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,H=!this.i18nFormat||this.i18nFormat.handleAsObject;if(H&&N&&(typeof N!="string"&&typeof N!="boolean"&&typeof N!="number")&&I.indexOf(D)<0&&!(typeof $=="string"&&Array.isArray(N))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const W=this.options.returnedObjectHandler?this.options.returnedObjectHandler(P,N,{...n,ns:v}):`key '${p} (${this.language})' returned an object instead of string.`;return c?(C.res=W,C.usedParams=this.getUsedParamsDetails(n),C):W}if(f){const W=Array.isArray(N),V=W?[]:{},G=W?M:P;for(const Z in N)if(Object.prototype.hasOwnProperty.call(N,Z)){const ae=`${G}${f}${Z}`;V[Z]=this.translate(ae,{...n,joinArrays:!1,ns:v}),V[Z]===ae&&(V[Z]=N[Z])}N=V}}else if(H&&typeof $=="string"&&Array.isArray(N))N=N.join($),N&&(N=this.extendTranslation(N,t,n,a));else{let W=!1,V=!1;const G=n.count!==void 0&&typeof n.count!="string",Z=hP.hasDefaultValue(n),ae=G?this.pluralResolver.getSuffix(S,n.count,n):"",fe=n.ordinal&&G?this.pluralResolver.getSuffix(S,n.count,{ordinal:!1}):"",se=G&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),ue=se&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${ae}`]||n[`defaultValue${fe}`]||n.defaultValue;!this.isValidLookup(N)&&Z&&(W=!0,N=ue),this.isValidLookup(N)||(V=!0,N=p);const ne=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&V?void 0:N,le=Z&&ue!==N&&this.options.updateMissing;if(V||W||le){if(this.logger.log(le?"updateKey":"missingKey",S,x,p,le?ue:N),f){const Q=this.resolve(p,{...n,keySeparator:!1});Q&&Q.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let te=[];const oe=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&oe&&oe[0])for(let Q=0;Q<oe.length;Q++)te.push(oe[Q]);else this.options.saveMissingTo==="all"?te=this.languageUtils.toResolveHierarchy(n.lng||this.language):te.push(n.lng||this.language);const de=(Q,ce,ee)=>{const ve=Z&&ee!==N?ee:ne;this.options.missingKeyHandler?this.options.missingKeyHandler(Q,x,ce,ve,le,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(Q,x,ce,ve,le,n),this.emit("missingKey",Q,x,ce,N)};this.options.saveMissing&&(this.options.saveMissingPlurals&&G?te.forEach(Q=>{const ce=this.pluralResolver.getSuffixes(Q,n);se&&n[`defaultValue${this.options.pluralSeparator}zero`]&&ce.indexOf(`${this.options.pluralSeparator}zero`)<0&&ce.push(`${this.options.pluralSeparator}zero`),ce.forEach(ee=>{de([Q],p+ee,n[`defaultValue${ee}`]||ue)})}):de(te,p,ue))}N=this.extendTranslation(N,t,n,C,a),V&&N===p&&this.options.appendNamespaceToMissingKey&&(N=`${x}:${p}`),(V||W)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?N=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${x}:${p}`:p,W?N:void 0):N=this.options.parseMissingKeyHandler(N))}return c?(C.res=N,C.usedParams=this.getUsedParamsDetails(n),C):N}extendTranslation(t,n,a,c,f){var p=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...a},a.lng||this.language||c.usedLng,c.usedNS,c.usedKey,{resolved:c});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init({...a,interpolation:{...this.options.interpolation,...a.interpolation}});const S=typeof t=="string"&&(a&&a.interpolation&&a.interpolation.skipOnVariables!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let k;if(S){const N=t.match(this.interpolator.nestingRegexp);k=N&&N.length}let C=a.replace&&typeof a.replace!="string"?a.replace:a;if(this.options.interpolation.defaultVariables&&(C={...this.options.interpolation.defaultVariables,...C}),t=this.interpolator.interpolate(t,C,a.lng||this.language||c.usedLng,a),S){const N=t.match(this.interpolator.nestingRegexp),P=N&&N.length;k<P&&(a.nest=!1)}!a.lng&&this.options.compatibilityAPI!=="v1"&&c&&c.res&&(a.lng=this.language||c.usedLng),a.nest!==!1&&(t=this.interpolator.nest(t,function(){for(var N=arguments.length,P=new Array(N),M=0;M<N;M++)P[M]=arguments[M];return f&&f[0]===P[0]&&!a.context?(p.logger.warn(`It seems you are nesting recursively key: ${P[0]} in key: ${n[0]}`),null):p.translate(...P,n)},a)),a.interpolation&&this.interpolator.reset()}const v=a.postProcess||this.options.postProcess,x=typeof v=="string"?[v]:v;return t!=null&&x&&x.length&&a.applyPostProcessor!==!1&&(t=k$.handle(x,t,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...c,usedParams:this.getUsedParamsDetails(a)},...a}:a,this)),t}resolve(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a,c,f,p,v;return typeof t=="string"&&(t=[t]),t.forEach(x=>{if(this.isValidLookup(a))return;const S=this.extractFromKey(x,n),k=S.key;c=k;let C=S.namespaces;this.options.fallbackNS&&(C=C.concat(this.options.fallbackNS));const N=n.count!==void 0&&typeof n.count!="string",P=N&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),M=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",D=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);C.forEach(I=>{this.isValidLookup(a)||(v=I,!C$[`${D[0]}-${I}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(v)&&(C$[`${D[0]}-${I}`]=!0,this.logger.warn(`key "${c}" for languages "${D.join(", ")}" won't get resolved as namespace "${v}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),D.forEach($=>{if(this.isValidLookup(a))return;p=$;const H=[k];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(H,k,$,I,n);else{let W;N&&(W=this.pluralResolver.getSuffix($,n.count,n));const V=`${this.options.pluralSeparator}zero`,G=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(N&&(H.push(k+W),n.ordinal&&W.indexOf(G)===0&&H.push(k+W.replace(G,this.options.pluralSeparator)),P&&H.push(k+V)),M){const Z=`${k}${this.options.contextSeparator}${n.context}`;H.push(Z),N&&(H.push(Z+W),n.ordinal&&W.indexOf(G)===0&&H.push(Z+W.replace(G,this.options.pluralSeparator)),P&&H.push(Z+V))}}let U;for(;U=H.pop();)this.isValidLookup(a)||(f=U,a=this.getResource($,I,U,n))}))})}),{res:a,usedKey:c,exactUsedKey:f,usedLng:p,usedNS:v}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,a){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,a,c):this.resourceStore.getResource(t,n,a,c)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],a=t.replace&&typeof t.replace!="string";let c=a?t.replace:t;if(a&&typeof t.count<"u"&&(c.count=t.count),this.options.interpolation.defaultVariables&&(c={...this.options.interpolation.defaultVariables,...c}),!a){c={...c};for(const f of n)delete c[f]}return c}static hasDefaultValue(t){const n="defaultValue";for(const a in t)if(Object.prototype.hasOwnProperty.call(t,a)&&n===a.substring(0,n.length)&&t[a]!==void 0)return!0;return!1}}const D2=e=>e.charAt(0).toUpperCase()+e.slice(1);class R${constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Wm.create("languageUtils")}getScriptPartFromCode(t){if(t=pP(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=pP(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let a=t.split("-");return this.options.lowerCaseLng?a=a.map(c=>c.toLowerCase()):a.length===2?(a[0]=a[0].toLowerCase(),a[1]=a[1].toUpperCase(),n.indexOf(a[1].toLowerCase())>-1&&(a[1]=D2(a[1].toLowerCase()))):a.length===3&&(a[0]=a[0].toLowerCase(),a[1].length===2&&(a[1]=a[1].toUpperCase()),a[0]!=="sgn"&&a[2].length===2&&(a[2]=a[2].toUpperCase()),n.indexOf(a[1].toLowerCase())>-1&&(a[1]=D2(a[1].toLowerCase())),n.indexOf(a[2].toLowerCase())>-1&&(a[2]=D2(a[2].toLowerCase()))),a.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(a=>{if(n)return;const c=this.formatLanguageCode(a);(!this.options.supportedLngs||this.isSupportedCode(c))&&(n=c)}),!n&&this.options.supportedLngs&&t.forEach(a=>{if(n)return;const c=this.getLanguagePartFromCode(a);if(this.isSupportedCode(c))return n=c;n=this.options.supportedLngs.find(f=>{if(f===c)return f;if(!(f.indexOf("-")<0&&c.indexOf("-")<0)&&(f.indexOf("-")>0&&c.indexOf("-")<0&&f.substring(0,f.indexOf("-"))===c||f.indexOf(c)===0&&c.length>1))return f})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Array.isArray(t))return t;if(!n)return t.default||[];let a=t[n];return a||(a=t[this.getScriptPartFromCode(n)]),a||(a=t[this.formatLanguageCode(n)]),a||(a=t[this.getLanguagePartFromCode(n)]),a||(a=t.default),a||[]}toResolveHierarchy(t,n){const a=this.getFallbackCodes(n||this.options.fallbackLng||[],t),c=[],f=p=>{p&&(this.isSupportedCode(p)?c.push(p):this.logger.warn(`rejecting language code not found in supportedLngs: ${p}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&f(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&f(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&f(this.getLanguagePartFromCode(t))):typeof t=="string"&&f(this.formatLanguageCode(t)),a.forEach(p=>{c.indexOf(p)<0&&f(this.formatLanguageCode(p))}),c}}let bG=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],xG={1:e=>+(e>1),2:e=>+(e!=1),3:e=>0,4:e=>e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2,5:e=>e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5,6:e=>e==1?0:e>=2&&e<=4?1:2,7:e=>e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2,8:e=>e==1?0:e==2?1:e!=8&&e!=11?2:3,9:e=>+(e>=2),10:e=>e==1?0:e==2?1:e<7?2:e<11?3:4,11:e=>e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3,12:e=>+(e%10!=1||e%100==11),13:e=>+(e!==0),14:e=>e==1?0:e==2?1:e==3?2:3,15:e=>e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2,16:e=>e%10==1&&e%100!=11?0:e!==0?1:2,17:e=>e==1||e%10==1&&e%100!=11?0:1,18:e=>e==0?0:e==1?1:2,19:e=>e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3,20:e=>e==1?0:e==0||e%100>0&&e%100<20?1:2,21:e=>e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0,22:e=>e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3};const SG=["v1","v2","v3"],wG=["v4"],O$={zero:0,one:1,two:2,few:3,many:4,other:5},TG=()=>{const e={};return bG.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:xG[t.fc]}})}),e};class EG{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Wm.create("pluralResolver"),(!this.options.compatibilityJSON||wG.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=TG(),this.pluralRulesCache={}}addRule(t,n){this.rules[t]=n}clearCache(){this.pluralRulesCache={}}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{const a=pP(t==="dev"?"en":t),c=n.ordinal?"ordinal":"cardinal",f=JSON.stringify({cleanedCode:a,type:c});if(f in this.pluralRulesCache)return this.pluralRulesCache[f];const p=new Intl.PluralRules(a,{type:c});return this.pluralRulesCache[f]=p,p}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const a=this.getRule(t,n);return this.shouldUseIntlApi()?a&&a.resolvedOptions().pluralCategories.length>1:a&&a.numbers.length>1}getPluralFormsOfKey(t,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,a).map(c=>`${n}${c}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const a=this.getRule(t,n);return a?this.shouldUseIntlApi()?a.resolvedOptions().pluralCategories.sort((c,f)=>O$[c]-O$[f]).map(c=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${c}`):a.numbers.map(c=>this.getSuffix(t,c,n)):[]}getSuffix(t,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const c=this.getRule(t,a);return c?this.shouldUseIntlApi()?`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${c.select(n)}`:this.getSuffixRetroCompatible(c,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const a=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let c=t.numbers[a];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(c===2?c="plural":c===1&&(c=""));const f=()=>this.options.prepend&&c.toString()?this.options.prepend+c.toString():c.toString();return this.options.compatibilityJSON==="v1"?c===1?"":typeof c=="number"?`_plural_${c.toString()}`:f():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?f():this.options.prepend&&a.toString()?this.options.prepend+a.toString():a.toString()}shouldUseIntlApi(){return!SG.includes(this.options.compatibilityJSON)}}const N$=function(e,t,n){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,f=fG(e,t,n);return!f&&c&&typeof n=="string"&&(f=j2(e,n,a),f===void 0&&(f=j2(t,n,a))),f},_2=e=>e.replace(/\$/g,"$$$$");class kG{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Wm.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const{escape:n,escapeValue:a,useRawValueToEscape:c,prefix:f,prefixEscaped:p,suffix:v,suffixEscaped:x,formatSeparator:S,unescapeSuffix:k,unescapePrefix:C,nestingPrefix:N,nestingPrefixEscaped:P,nestingSuffix:M,nestingSuffixEscaped:D,nestingOptionsSeparator:I,maxReplaces:$,alwaysFormat:H}=t.interpolation;this.escape=n!==void 0?n:hG,this.escapeValue=a!==void 0?a:!0,this.useRawValueToEscape=c!==void 0?c:!1,this.prefix=f?Cw(f):p||"{{",this.suffix=v?Cw(v):x||"}}",this.formatSeparator=S||",",this.unescapePrefix=k?"":C||"-",this.unescapeSuffix=this.unescapePrefix?"":k||"",this.nestingPrefix=N?Cw(N):P||Cw("$t("),this.nestingSuffix=M?Cw(M):D||Cw(")"),this.nestingOptionsSeparator=I||",",this.maxReplaces=$||1e3,this.alwaysFormat=H!==void 0?H:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(n,a)=>n&&n.source===a?(n.lastIndex=0,n):new RegExp(a,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,n,a,c){let f,p,v;const x=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},S=P=>{if(P.indexOf(this.formatSeparator)<0){const $=N$(n,x,P,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format($,void 0,a,{...c,...n,interpolationkey:P}):$}const M=P.split(this.formatSeparator),D=M.shift().trim(),I=M.join(this.formatSeparator).trim();return this.format(N$(n,x,D,this.options.keySeparator,this.options.ignoreJSONStructure),I,a,{...c,...n,interpolationkey:D})};this.resetRegExp();const k=c&&c.missingInterpolationHandler||this.options.missingInterpolationHandler,C=c&&c.interpolation&&c.interpolation.skipOnVariables!==void 0?c.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:P=>_2(P)},{regex:this.regexp,safeValue:P=>this.escapeValue?_2(this.escape(P)):_2(P)}].forEach(P=>{for(v=0;f=P.regex.exec(t);){const M=f[1].trim();if(p=S(M),p===void 0)if(typeof k=="function"){const I=k(t,f,c);p=typeof I=="string"?I:""}else if(c&&Object.prototype.hasOwnProperty.call(c,M))p="";else if(C){p=f[0];continue}else this.logger.warn(`missed to pass in variable ${M} for interpolating ${t}`),p="";else typeof p!="string"&&!this.useRawValueToEscape&&(p=b$(p));const D=P.safeValue(p);if(t=t.replace(f[0],D),C?(P.regex.lastIndex+=p.length,P.regex.lastIndex-=f[0].length):P.regex.lastIndex=0,v++,v>=this.maxReplaces)break}}),t}nest(t,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},c,f,p;const v=(x,S)=>{const k=this.nestingOptionsSeparator;if(x.indexOf(k)<0)return x;const C=x.split(new RegExp(`${k}[ ]*{`));let N=`{${C[1]}`;x=C[0],N=this.interpolate(N,p);const P=N.match(/'/g),M=N.match(/"/g);(P&&P.length%2===0&&!M||M.length%2!==0)&&(N=N.replace(/'/g,'"'));try{p=JSON.parse(N),S&&(p={...S,...p})}catch(D){return this.logger.warn(`failed parsing options string in nesting for key ${x}`,D),`${x}${k}${N}`}return p.defaultValue&&p.defaultValue.indexOf(this.prefix)>-1&&delete p.defaultValue,x};for(;c=this.nestingRegexp.exec(t);){let x=[];p={...a},p=p.replace&&typeof p.replace!="string"?p.replace:p,p.applyPostProcessor=!1,delete p.defaultValue;let S=!1;if(c[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(c[1])){const k=c[1].split(this.formatSeparator).map(C=>C.trim());c[1]=k.shift(),x=k,S=!0}if(f=n(v.call(this,c[1].trim(),p),p),f&&c[0]===t&&typeof f!="string")return f;typeof f!="string"&&(f=b$(f)),f||(this.logger.warn(`missed to resolve ${c[1]} for nesting ${t}`),f=""),S&&(f=x.reduce((k,C)=>this.format(k,C,a.lng,{...a,interpolationkey:c[1].trim()}),f.trim())),t=t.replace(c[0],f),this.regexp.lastIndex=0}return t}}const CG=e=>{let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const a=e.split("(");t=a[0].toLowerCase().trim();const c=a[1].substring(0,a[1].length-1);t==="currency"&&c.indexOf(":")<0?n.currency||(n.currency=c.trim()):t==="relativetime"&&c.indexOf(":")<0?n.range||(n.range=c.trim()):c.split(";").forEach(p=>{if(p){const[v,...x]=p.split(":"),S=x.join(":").trim().replace(/^'+|'+$/g,""),k=v.trim();n[k]||(n[k]=S),S==="false"&&(n[k]=!1),S==="true"&&(n[k]=!0),isNaN(S)||(n[k]=parseInt(S,10))}})}return{formatName:t,formatOptions:n}},Rw=e=>{const t={};return(n,a,c)=>{let f=c;c&&c.interpolationkey&&c.formatParams&&c.formatParams[c.interpolationkey]&&c[c.interpolationkey]&&(f={...f,[c.interpolationkey]:void 0});const p=a+JSON.stringify(f);let v=t[p];return v||(v=e(pP(a),c),t[p]=v),v(n)}};class RG{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Wm.create("formatter"),this.options=t,this.formats={number:Rw((n,a)=>{const c=new Intl.NumberFormat(n,{...a});return f=>c.format(f)}),currency:Rw((n,a)=>{const c=new Intl.NumberFormat(n,{...a,style:"currency"});return f=>c.format(f)}),datetime:Rw((n,a)=>{const c=new Intl.DateTimeFormat(n,{...a});return f=>c.format(f)}),relativetime:Rw((n,a)=>{const c=new Intl.RelativeTimeFormat(n,{...a});return f=>c.format(f,a.range||"day")}),list:Rw((n,a)=>{const c=new Intl.ListFormat(n,{...a});return f=>c.format(f)})},this.init(t)}init(t){const a=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=a.formatSeparator?a.formatSeparator:a.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=Rw(n)}format(t,n,a){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const f=n.split(this.formatSeparator);if(f.length>1&&f[0].indexOf("(")>1&&f[0].indexOf(")")<0&&f.find(v=>v.indexOf(")")>-1)){const v=f.findIndex(x=>x.indexOf(")")>-1);f[0]=[f[0],...f.splice(1,v)].join(this.formatSeparator)}return f.reduce((v,x)=>{const{formatName:S,formatOptions:k}=CG(x);if(this.formats[S]){let C=v;try{const N=c&&c.formatParams&&c.formatParams[c.interpolationkey]||{},P=N.locale||N.lng||c.locale||c.lng||a;C=this.formats[S](v,P,{...k,...c,...N})}catch(N){this.logger.warn(N)}return C}else this.logger.warn(`there was no format function for ${S}`);return v},t)}}const OG=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)};class NG extends dP{constructor(t,n,a){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=a,this.languageUtils=a.languageUtils,this.options=c,this.logger=Wm.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=c.maxParallelReads||10,this.readingCalls=0,this.maxRetries=c.maxRetries>=0?c.maxRetries:5,this.retryTimeout=c.retryTimeout>=1?c.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(a,c.backend,c)}queueLoad(t,n,a,c){const f={},p={},v={},x={};return t.forEach(S=>{let k=!0;n.forEach(C=>{const N=`${S}|${C}`;!a.reload&&this.store.hasResourceBundle(S,C)?this.state[N]=2:this.state[N]<0||(this.state[N]===1?p[N]===void 0&&(p[N]=!0):(this.state[N]=1,k=!1,p[N]===void 0&&(p[N]=!0),f[N]===void 0&&(f[N]=!0),x[C]===void 0&&(x[C]=!0)))}),k||(v[S]=!0)}),(Object.keys(f).length||Object.keys(p).length)&&this.queue.push({pending:p,pendingCount:Object.keys(p).length,loaded:{},errors:[],callback:c}),{toLoad:Object.keys(f),pending:Object.keys(p),toLoadLanguages:Object.keys(v),toLoadNamespaces:Object.keys(x)}}loaded(t,n,a){const c=t.split("|"),f=c[0],p=c[1];n&&this.emit("failedLoading",f,p,n),!n&&a&&this.store.addResourceBundle(f,p,a,void 0,void 0,{skipCopy:!0}),this.state[t]=n?-1:2,n&&a&&(this.state[t]=0);const v={};this.queue.forEach(x=>{dG(x.loaded,[f],p),OG(x,t),n&&x.errors.push(n),x.pendingCount===0&&!x.done&&(Object.keys(x.loaded).forEach(S=>{v[S]||(v[S]={});const k=x.loaded[S];k.length&&k.forEach(C=>{v[S][C]===void 0&&(v[S][C]=!0)})}),x.done=!0,x.errors.length?x.callback(x.errors):x.callback())}),this.emit("loaded",v),this.queue=this.queue.filter(x=>!x.done)}read(t,n,a){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,f=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,p=arguments.length>5?arguments[5]:void 0;if(!t.length)return p(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:a,tried:c,wait:f,callback:p});return}this.readingCalls++;const v=(S,k)=>{if(this.readingCalls--,this.waitingReads.length>0){const C=this.waitingReads.shift();this.read(C.lng,C.ns,C.fcName,C.tried,C.wait,C.callback)}if(S&&k&&c<this.maxRetries){setTimeout(()=>{this.read.call(this,t,n,a,c+1,f*2,p)},f);return}p(S,k)},x=this.backend[a].bind(this.backend);if(x.length===2){try{const S=x(t,n);S&&typeof S.then=="function"?S.then(k=>v(null,k)).catch(v):v(null,S)}catch(S){v(S)}return}return x(t,n,v)}prepareLoading(t,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},c=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),c&&c();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const f=this.queueLoad(t,n,a,c);if(!f.toLoad.length)return f.pending.length||c(),null;f.toLoad.forEach(p=>{this.loadOne(p)})}load(t,n,a){this.prepareLoading(t,n,{},a)}reload(t,n,a){this.prepareLoading(t,n,{reload:!0},a)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const a=t.split("|"),c=a[0],f=a[1];this.read(c,f,"read",void 0,void 0,(p,v)=>{p&&this.logger.warn(`${n}loading namespace ${f} for language ${c} failed`,p),!p&&v&&this.logger.log(`${n}loaded namespace ${f} for language ${c}`,v),this.loaded(t,p,v)})}saveMissing(t,n,a,c,f){let p=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},v=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${a}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(a==null||a==="")){if(this.backend&&this.backend.create){const x={...p,isUpdate:f},S=this.backend.create.bind(this.backend);if(S.length<6)try{let k;S.length===5?k=S(t,n,a,c,x):k=S(t,n,a,c),k&&typeof k.then=="function"?k.then(C=>v(null,C)).catch(v):v(null,k)}catch(k){v(k)}else S(t,n,a,c,v,x)}!t||!t[0]||this.store.addResource(t[0],n,a,c)}}}const P$=()=>({debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]=="object"&&(t=e[1]),typeof e[1]=="string"&&(t.defaultValue=e[1]),typeof e[2]=="string"&&(t.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const n=e[3]||e[2];Object.keys(n).forEach(a=>{t[a]=n[a]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),M$=e=>(typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e),mP=()=>{},PG=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})};class Bk extends dP{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=M$(t),this.services={},this.logger=Wm,this.modules={external:[]},PG(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(a=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const c=P$();this.options={...c,...this.options,...M$(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...c.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const f=k=>k?typeof k=="function"?new k:k:null;if(!this.options.isClone){this.modules.logger?Wm.init(f(this.modules.logger),this.options):Wm.init(null,this.options);let k;this.modules.formatter?k=this.modules.formatter:typeof Intl<"u"&&(k=RG);const C=new R$(this.options);this.store=new E$(this.options.resources,this.options);const N=this.services;N.logger=Wm,N.resourceStore=this.store,N.languageUtils=C,N.pluralResolver=new EG(C,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),k&&(!this.options.interpolation.format||this.options.interpolation.format===c.interpolation.format)&&(N.formatter=f(k),N.formatter.init(N,this.options),this.options.interpolation.format=N.formatter.format.bind(N.formatter)),N.interpolator=new kG(this.options),N.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},N.backendConnector=new NG(f(this.modules.backend),N.resourceStore,N,this.options),N.backendConnector.on("*",function(P){for(var M=arguments.length,D=new Array(M>1?M-1:0),I=1;I<M;I++)D[I-1]=arguments[I];t.emit(P,...D)}),this.modules.languageDetector&&(N.languageDetector=f(this.modules.languageDetector),N.languageDetector.init&&N.languageDetector.init(N,this.options.detection,this.options)),this.modules.i18nFormat&&(N.i18nFormat=f(this.modules.i18nFormat),N.i18nFormat.init&&N.i18nFormat.init(this)),this.translator=new hP(this.services,this.options),this.translator.on("*",function(P){for(var M=arguments.length,D=new Array(M>1?M-1:0),I=1;I<M;I++)D[I-1]=arguments[I];t.emit(P,...D)}),this.modules.external.forEach(P=>{P.init&&P.init(this)})}if(this.format=this.options.interpolation.format,a||(a=mP),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const k=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);k.length>0&&k[0]!=="dev"&&(this.options.lng=k[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(k=>{this[k]=function(){return t.store[k](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(k=>{this[k]=function(){return t.store[k](...arguments),t}});const x=Vk(),S=()=>{const k=(C,N)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),x.resolve(N),a(C,N)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return k(null,this.t.bind(this));this.changeLanguage(this.options.lng,k)};return this.options.resources||!this.options.initImmediate?S():setTimeout(S,0),x}loadResources(t){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:mP;const c=typeof t=="string"?t:this.language;if(typeof t=="function"&&(a=t),!this.options.resources||this.options.partialBundledLanguages){if(c&&c.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return a();const f=[],p=v=>{if(!v||v==="cimode")return;this.services.languageUtils.toResolveHierarchy(v).forEach(S=>{S!=="cimode"&&f.indexOf(S)<0&&f.push(S)})};c?p(c):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(x=>p(x)),this.options.preload&&this.options.preload.forEach(v=>p(v)),this.services.backendConnector.load(f,this.options.ns,v=>{!v&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),a(v)})}else a(null)}reloadResources(t,n,a){const c=Vk();return typeof t=="function"&&(a=t,t=void 0),typeof n=="function"&&(a=n,n=void 0),t||(t=this.languages),n||(n=this.options.ns),a||(a=mP),this.services.backendConnector.reload(t,n,f=>{c.resolve(),a(f)}),c}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&k$.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n<this.languages.length;n++){const a=this.languages[n];if(!(["cimode","dev"].indexOf(a)>-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}changeLanguage(t,n){var a=this;this.isLanguageChangingTo=t;const c=Vk();this.emit("languageChanging",t);const f=x=>{this.language=x,this.languages=this.services.languageUtils.toResolveHierarchy(x),this.resolvedLanguage=void 0,this.setResolvedLanguage(x)},p=(x,S)=>{S?(f(S),this.translator.changeLanguage(S),this.isLanguageChangingTo=void 0,this.emit("languageChanged",S),this.logger.log("languageChanged",S)):this.isLanguageChangingTo=void 0,c.resolve(function(){return a.t(...arguments)}),n&&n(x,function(){return a.t(...arguments)})},v=x=>{!t&&!x&&this.services.languageDetector&&(x=[]);const S=typeof x=="string"?x:this.services.languageUtils.getBestMatchFromCodes(x);S&&(this.language||f(S),this.translator.language||this.translator.changeLanguage(S),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(S)),this.loadResources(S,k=>{p(k,S)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?v(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(v):this.services.languageDetector.detect(v):v(t),c}getFixedT(t,n,a){var c=this;const f=function(p,v){let x;if(typeof v!="object"){for(var S=arguments.length,k=new Array(S>2?S-2:0),C=2;C<S;C++)k[C-2]=arguments[C];x=c.options.overloadTranslationOptionHandler([p,v].concat(k))}else x={...v};x.lng=x.lng||f.lng,x.lngs=x.lngs||f.lngs,x.ns=x.ns||f.ns,x.keyPrefix!==""&&(x.keyPrefix=x.keyPrefix||a||f.keyPrefix);const N=c.options.keySeparator||".";let P;return x.keyPrefix&&Array.isArray(p)?P=p.map(M=>`${x.keyPrefix}${N}${M}`):P=x.keyPrefix?`${x.keyPrefix}${N}${p}`:p,c.t(P,x)};return typeof t=="string"?f.lng=t:f.lngs=t,f.ns=n,f.keyPrefix=a,f}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const a=n.lng||this.resolvedLanguage||this.languages[0],c=this.options?this.options.fallbackLng:!1,f=this.languages[this.languages.length-1];if(a.toLowerCase()==="cimode")return!0;const p=(v,x)=>{const S=this.services.backendConnector.state[`${v}|${x}`];return S===-1||S===0||S===2};if(n.precheck){const v=n.precheck(this,p);if(v!==void 0)return v}return!!(this.hasResourceBundle(a,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||p(a,t)&&(!c||p(f,t)))}loadNamespaces(t,n){const a=Vk();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(c=>{this.options.ns.indexOf(c)<0&&this.options.ns.push(c)}),this.loadResources(c=>{a.resolve(),n&&n(c)}),a):(n&&n(),Promise.resolve())}loadLanguages(t,n){const a=Vk();typeof t=="string"&&(t=[t]);const c=this.options.preload||[],f=t.filter(p=>c.indexOf(p)<0&&this.services.languageUtils.isSupportedCode(p));return f.length?(this.options.preload=c.concat(f),this.loadResources(p=>{a.resolve(),n&&n(p)}),a):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],a=this.services&&this.services.languageUtils||new R$(P$());return n.indexOf(a.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Bk(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:mP;const a=t.forkResourceStore;a&&delete t.forkResourceStore;const c={...this.options,...t,isClone:!0},f=new Bk(c);return(t.debug!==void 0||t.prefix!==void 0)&&(f.logger=f.logger.clone(t)),["store","services","language"].forEach(v=>{f[v]=this[v]}),f.services={...this.services},f.services.utils={hasLoadedNamespace:f.hasLoadedNamespace.bind(f)},a&&(f.store=new E$(this.store.data,c),f.services.resourceStore=f.store),f.translator=new hP(f.services,c),f.translator.on("*",function(v){for(var x=arguments.length,S=new Array(x>1?x-1:0),k=1;k<x;k++)S[k-1]=arguments[k];f.emit(v,...S)}),f.init(c,n),f.translator.options=c,f.translator.backendConnector.services.utils={hasLoadedNamespace:f.hasLoadedNamespace.bind(f)},f}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const eu=Bk.createInstance();eu.createInstance=Bk.createInstance,eu.createInstance,eu.dir,eu.init,eu.loadResources,eu.reloadResources,eu.use,eu.changeLanguage,eu.getFixedT,eu.t,eu.exists,eu.setDefaultNamespace,