{"version":3,"file":"js/3234-fc54a06c369c69b986a4.js","mappings":"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","sources":["webpack://shop-ware-development/./node_modules/react-dom/client.js","webpack://shop-ware-development/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://shop-ware-development/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://shop-ware-development/./node_modules/react-i18next/dist/es/utils.js","webpack://shop-ware-development/./node_modules/react-i18next/dist/es/unescape.js","webpack://shop-ware-development/./node_modules/react-i18next/dist/es/defaults.js","webpack://shop-ware-development/./node_modules/react-i18next/dist/es/i18nInstance.js","webpack://shop-ware-development/./node_modules/react-i18next/dist/es/TransWithoutContext.js","webpack://shop-ware-development/./node_modules/react-i18next/dist/es/initReactI18next.js","webpack://shop-ware-development/./node_modules/react-i18next/dist/es/context.js","webpack://shop-ware-development/./node_modules/react-i18next/dist/es/Trans.js","webpack://shop-ware-development/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://shop-ware-development/./node_modules/void-elements/index.js","webpack://shop-ware-development/./node_modules/i18next/dist/esm/i18next.js","webpack://shop-ware-development/./node_modules/react/jsx-runtime.js","webpack://shop-ware-development/./node_modules/i18next-pseudo/es/utils.js","webpack://shop-ware-development/./node_modules/i18next-pseudo/es/index.js","webpack://shop-ware-development/./node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js"],"sourcesContent":["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","export function warn() {\n if (console && console.warn) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof args[0] === 'string') args[0] = `react-i18next:: ${args[0]}`;\n console.warn(...args);\n }\n}\nconst alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn(...args);\n}\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n}\nexport function loadLanguages(i18n, lng, ns, cb) {\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n}\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const lng = i18n.languages[0];\n const fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n const lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = i18n.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 2;\n };\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\nexport function hasLoadedNamespace(ns, i18n) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n const isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport function setDefaults() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n}\nexport function getDefaults() {\n return defaultOptions;\n}","let i18nInstance;\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { isValidElement, cloneElement, createElement, Children } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n const base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\nfunction getChildren(node) {\n if (!node) return [];\n const children = node.props ? node.props.children : node.children;\n return node.props && node.props.i18nIsDynamicList ? getAsArray(children) : children;\n}\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(child => isValidElement(child));\n}\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\nfunction mergeProps(source, target) {\n const newTarget = {\n ...target\n };\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n let stringNode = '';\n const childrenArray = getAsArray(children);\n const keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach((child, childIndex) => {\n if (typeof child === 'string') {\n stringNode += `${child}`;\n } else if (isValidElement(child)) {\n const childPropsCount = Object.keys(child.props).length;\n const shouldKeepChild = keepArray.indexOf(child.type) > -1;\n const childChildren = child.props.children;\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += `<${child.type}/>`;\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += `<${childIndex}>`;\n } else if (child.props.i18nIsDynamicList) {\n stringNode += `<${childIndex}>`;\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += `<${child.type}>${childChildren}`;\n } else {\n const content = nodesToString(childChildren, i18nOptions);\n stringNode += `<${childIndex}>${content}`;\n }\n } else if (child === null) {\n warn(`Trans: the passed in value is invalid - seems you passed in a null child.`);\n } else if (typeof child === 'object') {\n const {\n format,\n ...clone\n } = child;\n const keys = Object.keys(clone);\n if (keys.length === 1) {\n const value = format ? `${keys[0]}, ${format}` : keys[0];\n stringNode += `{{${value}}}`;\n } else {\n warn(`react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.`, child);\n }\n } else {\n warn(`Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.`, child);\n }\n });\n return stringNode;\n}\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];\n const data = {};\n function getData(childs) {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (typeof child === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n getData(children);\n const ast = HTML.parse(`<0>${targetString}`);\n const opts = {\n ...data,\n ...combinedTOpts\n };\n function renderInner(child, node, rootReactNode) {\n const childs = getChildren(child);\n const mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 || child.props && child.props.i18nIsDynamicList ? childs : mappedChildren;\n }\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) {\n child.children = inner;\n mem.push(cloneElement(child, {\n key: i\n }, isVoid ? undefined : inner));\n } else {\n mem.push(...Children.map([child], c => {\n const props = {\n ...c.props\n };\n delete props.i18nIsDynamicList;\n return React.createElement(c.type, _extends({}, props, {\n key: i,\n ref: c.ref\n }, isVoid ? {} : {\n children: inner\n }));\n }));\n }\n }\n function mapAST(reactNode, astNode, rootReactNode) {\n const reactNodes = getAsArray(reactNode);\n const astNodes = getAsArray(astNode);\n return astNodes.reduce((mem, node, i) => {\n const translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n if (node.type === 'tag') {\n let tmp = reactNodes[parseInt(node.name, 10)];\n if (rootReactNode.length === 1 && !tmp) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n const child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n const isElement = isValidElement(child);\n const isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n const isEmptyTransWithHTML = emptyChildrenButNeedsHandling && typeof child === 'object' && child.dummy && !isElement;\n const isKnownComponent = typeof children === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n if (typeof child === 'string') {\n const value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }));\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }, inner));\n }\n } else if (node.voidElement) {\n mem.push(`<${node.name} />`);\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(`<${node.name}>${inner}`);\n }\n } else if (typeof child === 'object' && !isElement) {\n const content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else {\n pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);\n }\n } else if (node.type === 'text') {\n const wrapTextNodes = i18nOptions.transWrapTextNodes;\n const content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: `${node.name}-${i}`\n }, content));\n } else {\n mem.push(content);\n }\n }\n return mem;\n }, []);\n }\n const result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\nexport function Trans(_ref) {\n let {\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n } = _ref;\n const i18n = i18nFromProps || getI18n();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n const t = tFromProps || i18n.t.bind(i18n) || (k => k);\n if (context) tOptions.context = context;\n const reactI18nextOptions = {\n ...getDefaults(),\n ...(i18n.options && i18n.options.react)\n };\n let namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n const nodeAsString = nodesToString(children, reactI18nextOptions);\n const defaultValue = defaults || nodeAsString || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n const {\n hashTransKey\n } = reactI18nextOptions;\n const key = i18nKey || (hashTransKey ? hashTransKey(nodeAsString || defaultValue) : nodeAsString || defaultValue);\n if (i18n.options && i18n.options.interpolation && i18n.options.interpolation.defaultVariables) {\n values = values && Object.keys(values).length > 0 ? {\n ...values,\n ...i18n.options.interpolation.defaultVariables\n } : {\n ...i18n.options.interpolation.defaultVariables\n };\n }\n const interpolationOverride = values ? tOptions.interpolation : {\n interpolation: {\n ...tOptions.interpolation,\n prefix: '#$?',\n suffix: '?$#'\n }\n };\n const combinedTOpts = {\n ...tOptions,\n count,\n ...values,\n ...interpolationOverride,\n defaultValue,\n ns: namespaces\n };\n const translation = key ? t(key, combinedTOpts) : defaultValue;\n if (components) {\n Object.keys(components).forEach(c => {\n const comp = components[c];\n if (typeof comp.type === 'function' || !comp.props || !comp.props.children || translation.indexOf(`${c}/>`) < 0 && translation.indexOf(`${c} />`) < 0) return;\n function Componentized() {\n return React.createElement(React.Fragment, null, comp);\n }\n components[c] = React.createElement(Componentized, null);\n });\n }\n const content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n const useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport function composeInitialProps(ForComponent) {\n return ctx => new Promise(resolve => {\n const i18nInitialProps = getInitialProps();\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(componentsInitialProps => {\n resolve({\n ...componentsInitialProps,\n ...i18nInitialProps\n });\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n}\nexport function getInitialProps() {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans(_ref) {\n let {\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n } = _ref;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n const t = tFromProps || i18n && i18n.t.bind(i18n);\n return TransWithoutContext({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions,\n values,\n defaults,\n components,\n ns: ns || t && t.ns || defaultNSFromContext || i18n && i18n.options && i18n.options.defaultNS,\n i18n,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n });\n}","import { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nexport function useTranslation(ns) {\n let props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (typeof optsOrDefaultValue === 'string') return optsOrDefaultValue;\n if (optsOrDefaultValue && typeof optsOrDefaultValue === 'object' && typeof optsOrDefaultValue.defaultValue === 'string') return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n function getT() {\n return i18n.getFixedT(props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n const isInitial = useRef(true);\n useEffect(() => {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n}","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","const consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n this.observers[event] = this.observers[event] || [];\n this.observers[event].push(listener);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(l => l !== listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = [].concat(this.observers[event]);\n cloned.forEach(observer => {\n observer(...args);\n });\n }\n if (this.observers['*']) {\n const cloned = [].concat(this.observers['*']);\n cloned.forEach(observer => {\n observer.apply(observer, [event, ...args]);\n });\n }\n }\n}\n\nfunction defer() {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n const stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n const key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n}\nconst chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = new RegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n const paths = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n let j = 2;\n let p = paths.slice(i, i + j).join(keySeparator);\n let mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n const joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nfunction getCleanedCode(code) {\n if (code && code.indexOf('_') > 0) return code.replace('_', '-');\n return code;\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n const result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return {\n ...{},\n ...this.getResource(lng, ns)\n };\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n if (this.processors[processor]) value = this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key,\n namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved && resolved.res;\n const resUsedKey = resolved && resolved.usedKey || key;\n const resExactUsedKey = resolved && resolved.exactUsedKey || key;\n const resType = Object.prototype.toString.apply(res);\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = resType === '[object Array]';\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const defaultValue = options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.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.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector && this.backendConnector.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n this.pluralResolver.getSuffixes(language, options).forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(options)\n },\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils && this.utils.hasLoadedNamespace && !this.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" 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!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat && this.i18nFormat.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && typeof options.replace !== 'string';\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n const specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n let p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(part => part.toLowerCase());\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (typeof code === 'string' && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nlet sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n 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'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nlet _rulesPluralsTypes = {\n 1: function (n) {\n return Number(n > 1);\n },\n 2: function (n) {\n return Number(n != 1);\n },\n 3: function (n) {\n return 0;\n },\n 4: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function (n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function (n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function (n) {\n return Number(n >= 2);\n },\n 10: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function (n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function (n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function (n) {\n return Number(n !== 0);\n },\n 14: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function (n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function (n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nconst nonIntlVersions = ['v1', 'v2', 'v3'];\nconst intlVersions = ['v4'];\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n const rules = {};\n sets.forEach(set => {\n set.lngs.forEach(l => {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || intlVersions.includes(this.options.compatibilityJSON)) && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n 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.');\n }\n this.rules = createRules();\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(getCleanedCode(code), {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n return rule.numbers.map(number => this.getSuffix(code, number, options));\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return '';\n }\n getSuffixRetroCompatible(rule, count) {\n const idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n let suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n const returnSuffix = () => this.options.prepend && suffix.toString() ? this.options.prepend + suffix.toString() : suffix.toString();\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return `_plural_${suffix.toString()}`;\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n shouldUseIntlApi() {\n return !nonIntlVersions.includes(this.options.compatibilityJSON);\n }\n}\n\nfunction deepFindWithDefaults(data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const regexpStr = `${this.prefix}(.+?)${this.suffix}`;\n this.regexp = new RegExp(regexpStr, 'g');\n const regexpUnescapeStr = `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n const nestingRegexpStr = `${this.nestingPrefix}(.+?)${this.nestingSuffix}`;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nfunction parseFormatStr(formatStr) {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (!opt) return;\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n const cache = {};\n return function invokeFormatter(val, lng, options) {\n const key = lng + JSON.stringify(options);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n const iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n if (this.backend && this.backend.init) {\n this.backend.init(services, options.backend, options);\n }\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" 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!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: (value, format, lng, options) => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initImmediate) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && this.options.compatibilityAPI !== 'v1' && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(l => append(l));\n }\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = typeof lngs === 'string' ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n if (this.services.languageDetector && this.services.languageDetector.cacheUserLanguage) this.services.languageDetector.cacheUserLanguage(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n return this.translator && this.translator.translate(...arguments);\n }\n exists() {\n return this.translator && this.translator.exists(...arguments);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0);\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['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'];\n const languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n clone.store = new ResourceStore(this.store.data, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","export var uglifiedAlphabet = {\n a: 'α',\n b: 'ḅ',\n c: 'ͼ',\n d: 'ḍ',\n e: 'ḛ',\n f: 'ϝ',\n g: 'ḡ',\n h: 'ḥ',\n i: 'ḭ',\n j: 'ĵ',\n k: 'ḳ',\n l: 'ḽ',\n m: 'ṃ',\n n: 'ṇ',\n o: 'ṓ',\n p: 'ṗ',\n q: 'ʠ',\n r: 'ṛ',\n s: 'ṡ',\n t: 'ţ',\n u: 'ṵ',\n v: 'ṽ',\n w: 'ẁ',\n x: 'ẋ',\n y: 'ẏ',\n z: 'ẓ',\n A: 'À',\n B: 'β',\n C: 'Ḉ',\n D: 'Ḍ',\n E: 'Ḛ',\n F: 'Ḟ',\n G: 'Ḡ',\n H: 'Ḥ',\n I: 'Ḭ',\n J: 'Ĵ',\n K: 'Ḱ',\n L: 'Ḻ',\n M: 'Ṁ',\n N: 'Ṅ',\n O: 'Ṏ',\n P: 'Ṕ',\n Q: 'Ǫ',\n R: 'Ṛ',\n S: 'Ṣ',\n T: 'Ṫ',\n U: 'Ṳ',\n V: 'Ṿ',\n W: 'Ŵ',\n X: 'Ẋ',\n Y: 'Ŷ',\n Z: 'Ż'\n};\n\nexport var vowels = ['a', 'e', 'i', 'o', 'u', 'y', 'A', 'E', 'I', 'O', 'U', 'Y'];\n\nexport var stringWrapper = function stringWrapper(_ref) {\n var shouldWrap = _ref.shouldWrap,\n string = _ref.string;\n return shouldWrap ? '[' + string + ']' : string;\n};","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { uglifiedAlphabet, vowels, stringWrapper } from './utils';\n\nvar Pseudo = function () {\n function Pseudo() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$languageToPseudo = _ref.languageToPseudo,\n languageToPseudo = _ref$languageToPseudo === undefined ? 'en' : _ref$languageToPseudo,\n _ref$letterMultiplier = _ref.letterMultiplier,\n letterMultiplier = _ref$letterMultiplier === undefined ? 2 : _ref$letterMultiplier,\n _ref$repeatedLetters = _ref.repeatedLetters,\n repeatedLetters = _ref$repeatedLetters === undefined ? vowels : _ref$repeatedLetters,\n _ref$uglifedLetterObj = _ref.uglifedLetterObject,\n uglifedLetterObject = _ref$uglifedLetterObj === undefined ? uglifiedAlphabet : _ref$uglifedLetterObj,\n _ref$wrapped = _ref.wrapped,\n wrapped = _ref$wrapped === undefined ? false : _ref$wrapped,\n _ref$enabled = _ref.enabled,\n enabled = _ref$enabled === undefined ? true : _ref$enabled;\n\n _classCallCheck(this, Pseudo);\n\n this.name = 'pseudo';\n this.type = 'postProcessor';\n this.options = {\n languageToPseudo: languageToPseudo,\n letterMultiplier: letterMultiplier,\n wrapped: wrapped,\n repeatedLetters: repeatedLetters,\n letters: uglifedLetterObject,\n enabled: enabled\n };\n }\n\n Pseudo.prototype.configurePseudo = function configurePseudo(options) {\n this.options = _extends({}, this.options, options);\n };\n\n Pseudo.prototype.process = function process(value, key, options, translator) {\n var _this = this;\n\n if (translator.language && this.options.languageToPseudo !== translator.language || !this.options.enabled) {\n return value;\n }\n var bracketCount = 0;\n var processedValue = value.split('').map(function (letter) {\n if (letter === '}') {\n bracketCount = 0;\n return letter;\n }\n if (letter === '{') {\n bracketCount++;\n return letter;\n }\n if (bracketCount === 2) return letter;\n\n return _this.options.repeatedLetters.indexOf(letter) !== -1 ? _this.options.letters[letter].repeat(_this.options.letterMultiplier) : _this.options.letters[letter] || letter;\n }).join('');\n return stringWrapper({ shouldWrap: this.options.wrapped, string: processedValue });\n };\n\n return Pseudo;\n}();\n\nexport { Pseudo as default };","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = \"\".concat(name, \"=\").concat(value);\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += \"; Max-Age=\".concat(Math.floor(maxAge));\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += \"; Domain=\".concat(opt.domain);\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += \"; Path=\".concat(opt.path);\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += \"; Expires=\".concat(opt.expires.toUTCString());\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n return str;\n};\nvar cookie = {\n create: function create(name, value, minutes, domain) {\n var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = \"\".concat(name, \"=\");\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove: function remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n lookup: function lookup(options) {\n var found;\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupCookie && typeof document !== 'undefined') {\n cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var search = window.location.search;\n if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n var query = search.substring(1);\n var params = query.split('&');\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hasLocalStorageSupport = null;\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(options.lookupLocalStorage, lng);\n }\n }\n};\n\nvar hasSessionStorageSupport = null;\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(options.lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n if (typeof navigator !== 'undefined') {\n if (navigator.languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (var i = 0; i < navigator.languages.length; i++) {\n found.push(navigator.languages[i]);\n }\n }\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n lookup: function lookup(options) {\n var found;\n var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n // If given get the subdomain index else 1\n var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[lookupFromSubdomainIndex];\n }\n};\n\nfunction getDefaults() {\n return {\n order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'],\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: function convertDetectedLanguage(l) {\n return l;\n }\n };\n}\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Browser);\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n _createClass(Browser, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services || {\n languageUtils: {}\n }; // this way the language detector can be used without i18next\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = function (l) {\n return l.replace('-', '_');\n };\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n }, {\n key: \"addDetector\",\n value: function addDetector(detector) {\n this.detectors[detector.name] = detector;\n return this;\n }\n }, {\n key: \"detect\",\n value: function detect(detectionOrder) {\n var _this = this;\n if (!detectionOrder) detectionOrder = this.options.order;\n var detected = [];\n detectionOrder.forEach(function (detectorName) {\n if (_this.detectors[detectorName]) {\n var lookup = _this.detectors[detectorName].lookup(_this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.map(function (d) {\n return _this.options.convertDetectedLanguage(d);\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n }, {\n key: \"cacheUserLanguage\",\n value: function cacheUserLanguage(lng, caches) {\n var _this2 = this;\n if (!caches) caches = this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(function (cacheName) {\n if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options);\n });\n }\n }]);\n return Browser;\n}();\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n"],"names":["m","exports","createRoot","hydrateRoot","f","k","Symbol","for","l","Object","prototype","hasOwnProperty","n","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","p","key","ref","__self","__source","q","c","a","g","b","d","e","h","call","defaultProps","$$typeof","type","props","_owner","current","Fragment","jsx","jsxs","t","r","name","voidElement","attrs","children","i","match","charAt","length","startsWith","s","indexOf","comment","slice","RegExp","exec","trim","o","split","lastIndex","substring","create","content","push","join","reduce","parse","components","u","replace","v","x","test","stringify","warn","console","_len","arguments","args","Array","_key","alreadyWarned","warnOnce","_len2","_key2","Date","loadedClb","i18n","cb","isInitialized","initialized","setTimeout","off","on","loadNamespaces","ns","loadLanguages","lng","forEach","options","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","unescape","text","getDefaults","hasChildren","node","checkLength","base","getChildren","i18nIsDynamicList","getAsArray","data","isArray","nodesToString","i18nOptions","stringNode","childrenArray","keepArray","child","childIndex","isValidElement","childPropsCount","keys","shouldKeepChild","childChildren","format","clone","value","renderNodes","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","map","keep","getData","childs","assign","ast","opts","renderInner","rootReactNode","mappedChildren","mapAST","toString","every","hasValidReactChildren","pushTranslatedJSX","inner","mem","isVoid","dummy","cloneElement","undefined","Children","reactNode","astNode","reactNodes","translationContent","services","interpolator","interpolate","language","tmp","parseInt","source","target","newTarget","mergeProps","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","Number","isNaN","parseFloat","createElement","wrapTextNodes","Trans","_ref","count","parent","i18nKey","context","tOptions","values","defaults","i18nFromProps","tFromProps","additionalProps","bind","reactI18nextOptions","react","namespaces","defaultNS","nodeAsString","defaultValue","hashTransKey","interpolation","defaultVariables","interpolationOverride","prefix","suffix","translation","comp","useAsParent","defaultTransParent","initReactI18next","init","instance","setDefaults","setI18n","createContext","ReportNamespaces","constructor","this","usedNamespaces","addUsedNamespaces","getUsedNamespaces","i18nFromContext","defaultNSFromContext","useContext","usePrevious","ignore","useRef","useEffect","reportNamespaces","notReadyT","optsOrDefaultValue","retNotReady","ready","wait","keyPrefix","initializedStoreOnce","languages","ignoreJSONStructure","hasLoadedNamespace","precheck","loadNotPending","backendConnector","backend","isLanguageChangingTo","fallbackLng","lastLng","toLowerCase","loadState","state","hasResourceBundle","resources","partialBundledLanguages","oldI18nextHasLoadedNamespace","getT","getFixedT","nsMode","setT","useState","joinedNS","previousJoinedNS","isMounted","boundReset","store","isInitial","ret","Promise","resolve","module","consoleLogger","log","output","error","apply","Logger","concreteLogger","logger","debug","forward","_len3","_key3","deprecate","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","observers","events","listener","event","filter","emit","concat","observer","defer","res","rej","promise","reject","makeString","object","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","stack","shift","obj","setPath","newValue","getPath","deepExtend","overwrite","prop","String","regexEscape","str","_entityMap","escape","chars","deepFind","keySeparator","paths","j","mix","endsWith","joinedPath","getCleanedCode","code","ResourceStore","super","addNamespaces","removeNamespaces","index","splice","getResource","result","addResource","silent","addResources","addResourceBundle","deep","pack","removeResourceBundle","getResourceBundle","compatibilityAPI","getDataByLanguage","hasLanguageSomeTranslations","find","toJSON","postProcessor","processors","addPostProcessor","handle","translator","processor","process","checkedLoadedFor","Translator","copy","changeLanguage","exists","resolved","extractFromKey","nsSeparator","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","matched","ki","looksLikeObjectPath","nestingRegexp","parts","translate","lastKey","overloadTranslationOptionHandler","returnDetails","namespace","appendNamespaceToCIMode","usedKey","exactUsedKey","usedLng","usedNS","usedParams","getUsedParamsDetails","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValueSuffixOrdinalFallback","ordinal","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","_this","skipInterpolation","skipOnVariables","nestBef","nb","na","nest","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","extracted","fallbackNS","needsZeroSuffixLookup","shouldUseIntlApi","needsContextHandling","codes","utils","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","ordinalPrefix","contextKey","contextSeparator","possibleKey","pop","returnNull","returnEmptyString","resourceStore","optionsKeys","useOptionsReplaceForData","option","capitalize","string","toUpperCase","LanguageUtil","supportedLngs","getScriptPartFromCode","formatLanguageCode","getLanguagePartFromCode","specialCases","lowerCaseLng","part","cleanCode","isSupportedCode","load","nonExplicitSupportedLngs","getBestMatchFromCodes","cleanedLng","lngOnly","supportedLng","fallbacks","default","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","nonIntlVersions","intlVersions","suffixesOrder","zero","one","two","few","many","other","PluralResolver","compatibilityJSON","includes","Intl","PluralRules","rules","set","numbers","plurals","createRules","addRule","getRule","needsPlural","rule","resolvedOptions","pluralCategories","getPluralFormsOfKey","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","deepFindWithDefaults","defaultData","getPathWithDefaults","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","matchedVar","temp","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","JSON","formatters","doReduce","elem","createCachedFormatter","fn","cache","formatter","Formatter","formats","opt","NumberFormat","currency","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","range","list","ListFormat","add","addCached","formatName","formatOptions","formatStr","optStr","rest","parseFormatStr","formatted","valOptions","formatParams","locale","Connector","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","queue","queueLoad","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","err","pushPath","removePending","done","loadedKeys","read","fcName","tried","resolver","next","then","catch","prepareLoading","loadOne","fallbackValue","isUpdate","clb","get","initImmediate","preload","tDescription","transformOptions","noop","I18n","inst","modules","external","getOwnPropertyNames","getPrototypeOf","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","deferred","finish","loadResources","usedCallback","append","resolvedLanguage","setResolvedLanguage","reloadResources","use","Error","li","lngInLngs","_this2","setLngProps","setLng","cacheUserLanguage","async","detect","_this3","fixedT","resultKey","setDefaultNamespace","preResult","preloaded","newLngs","dir","createInstance","cloneInstance","forkResourceStore","mergedOptions","uglifiedAlphabet","w","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","vowels","_extends","Pseudo","_ref$languageToPseudo","languageToPseudo","_ref$letterMultiplier","letterMultiplier","_ref$repeatedLetters","repeatedLetters","_ref$uglifedLetterObj","uglifedLetterObject","_ref$wrapped","wrapped","_ref$enabled","enabled","Constructor","TypeError","_classCallCheck","letters","configurePseudo","shouldWrap","bracketCount","processedValue","letter","repeat","arr","each","fieldContentRegExp","cookie","minutes","domain","cookieOptions","sameSite","expires","setTime","getTime","document","encodeURIComponent","maxAge","floor","toUTCString","httpOnly","secure","serializeCookie","nameEQ","ca","cookie$1","lookup","lookupCookie","cookieMinutes","cookieDomain","querystring","window","search","location","hash","params","pos","lookupQuerystring","hasLocalStorageSupport","localStorageAvailable","localStorage","testKey","setItem","removeItem","lookupLocalStorage","getItem","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","navigator","userLanguage","htmlTag","documentElement","getAttribute","pathname","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","hostname","Browser","detectors","order","caches","excludeCacheFor","convertDetectedLanguage","lookupFromUrlIndex","addDetector","detector","detectionOrder","detected","detectorName","cacheName"],"sourceRoot":""}