{"version":3,"sources":["webpack:///./node_modules/preact/dist/preact.module.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/preact/hooks/dist/hooks.module.js","webpack:///./node_modules/focus-visible/dist/focus-visible.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/i18next/dist/esm/i18next.js","webpack:///./node_modules/preact/compat/dist/compat.module.js"],"names":["n","l","u","i","t","o","r","f","e","c","s","parentNode","removeChild","a","arguments","length","push","children","defaultProps","v","type","props","key","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","h","current","y","p","this","context","d","indexOf","_","base","k","b","__r","debounceRendering","sort","some","__P","I","__n","ownerSVGElement","T","m","w","A","P","Array","isArray","g","x","value","L","z","appendChild","nextSibling","insertBefore","setProperty","test","C","style","cssText","replace","toLowerCase","slice","addEventListener","H","$","removeEventListener","setAttribute","removeAttribute","event","contextType","__E","prototype","render","M","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","j","diffed","call","localName","nodeType","document","createTextNode","createElementNS","createElement","is","data","childNodes","dangerouslySetInnerHTML","attributes","name","__html","innerHTML","firstChild","checked","unmount","componentWillUnmount","N","O","S","q","Consumer","Provider","splice","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Promise","then","bind","resolve","setTimeout","module","exports","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","__H","concat","F","useDebugValue","requestAnimationFrame","clearTimeout","cancelAnimationFrame","filter","applyFocusVisiblePolyfill","scope","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesAllowlist","text","search","url","tel","email","password","date","month","week","time","datetime","isValidFocusTarget","el","nodeName","classList","focusTriggersKeyboardModality","tagName","readOnly","isContentEditable","addFocusVisibleClass","contains","add","removeFocusVisibleClass","hasAttribute","remove","onKeyDown","metaKey","altKey","ctrlKey","activeElement","onPointerDown","onFocus","target","onBlur","window","onVisibilityChange","visibilityState","addInitialPointerMoveListeners","onInitialPointerMove","removeInitialPointerMoveListeners","Node","DOCUMENT_FRAGMENT_NODE","host","DOCUMENT_NODE","documentElement","CustomEvent","error","createEvent","initCustomEvent","dispatchEvent","factory","_typeof","obj","Symbol","iterator","_defineProperty","Object","defineProperty","enumerable","configurable","writable","_objectSpread","source","ownKeys","keys","getOwnPropertySymbols","apply","sym","getOwnPropertyDescriptor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_inherits","subClass","superClass","create","consoleLogger","log","args","output","warn","console","Logger","concreteLogger","options","undefined","init","prefix","logger","debug","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","observers","events","listener","_this","split","cloned","observer","_cloned","defer","res","rej","promise","reject","makeString","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","stack","shift","hasOwnProperty","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","prop","String","regexEscape","str","_entityMap","isIE10","navigator","userAgent","deepFind","keySeparator","paths","join","mix","joinedPath","_EventEmitter","ResourceStore","ns","defaultNS","ignoreJSONStructure","index","lng","result","silent","addNamespaces","emit","resources","toString","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","handle","translator","processor","process","checkedLoadedFor","Translator","services","language","interpolation","resolved","nsSeparator","namespaces","match","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","copy","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","fallbackValue","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","defaultVariables","interpolate","na","nest","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsContextHandling","codes","utils","hasLoadedNamespace","code","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","option","substring","capitalize","charAt","toUpperCase","LanguageUtil","whitelist","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","map","part","cleanCode","deprecate","isSupportedCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","find","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","Number","createRules","rules","set","numbers","plurals","PluralResolver","rule","getRule","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","format","escapeValue","iOpts","escape","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","RegExp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","trim","missingInterpolationHandler","regex","safeValue","todo","exec","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","JSON","formatters","doReduce","elem","reduce","Connector","backend","store","queue","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","loaded","errors","addResourceBundle","_getLastOfPath2","arr","what","done","fcName","tried","wait","read","queueLoad","loadOne","prepareLoading","_this5","isUpdate","get","initImmediate","nonExplicitWhitelist","preload","pluralSeparator","partialBundledLanguages","ret","tDescription","_format","transformOptions","noop","I18n","modules","external","isInitialized","isClone","createClassOnDemand","ClassOrObject","lu","on","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","finish","initializedStoreOnce","changeLanguage","usedCallback","append","isLanguageChangingTo","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","fixedT","opts","rest","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","membersToCopy","E","isPureReactComponent","__f","R","for","$$typeof","isReactComponent","displayName","__u","U","__R","__O","fallback","delete","revealOrder","size","Map","reverse","W","V","Z","Y","cancelBubble","defaultPrevented","persist","isPropagationStopped","isDefaultPrevented","nativeEvent","G","class","J","multiple","selected","className","K","performance","now","sn"],"mappings":"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","file":"js/vendors~Search-f3cf2f3cb89dcf3224fd.chunk.js","sourcesContent":["var n,l,u,i,t,o,r={},f=[],e=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function c(n,l){for(var u in l)n[u]=l[u];return n}function s(n){var l=n.parentNode;l&&l.removeChild(n)}function a(n,l,u){var i,t,o,r=arguments,f={};for(o in l)\"key\"==o?i=l[o]:\"ref\"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(_=A[h])||_&&k.key==_.key&&k.type===_.type)A[h]=void 0;else for(p=0;p3)for(u=[u],o=3;o=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.__c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}),i=[]}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=void 0},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(g)}catch(t){n.__e(t,u.__v)}};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u;\"function\"==typeof n.__c&&n.__c(),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var 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 }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function 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\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (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(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\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 var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var 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\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, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\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\n if (mix === undefined) return undefined;\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var 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\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var 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 }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var 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\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var 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\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\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\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread({}, options, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\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 var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, 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\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var 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\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\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\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(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\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var 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 }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var 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\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var 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 }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\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\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function 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 var 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 }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && 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\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar 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}];\nvar _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};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var rule = this.getRule(code);\n\n if (!rule) {\n return [];\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\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\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(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\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n\n return PluralResolver;\n}();\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var 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 }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread({}, options, data, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread({}, options, data, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\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\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread({}, options, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\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.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\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(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\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\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(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\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: 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: true,\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 var 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\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\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\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n options.supportedLngs = options.whitelist;\n }\n\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\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\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var 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 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\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\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\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\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\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var 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, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function 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\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\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 this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\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\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, 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 return _this5.t(key, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\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\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var 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'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\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\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\n\nexport default i18next;\n","import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from\"preact/hooks\";export*from\"preact/hooks\";import{Component as a,createElement as s,options as h,toChildArray as p,Fragment as v,render as d,hydrate as m,cloneElement as y,createRef as b,createContext as _}from\"preact\";export{createElement,createContext,createRef,Fragment,Component}from\"preact\";function C(n,t){for(var e in t)n[e]=t[e];return n}function S(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function E(n){this.props=n}function g(n,t){function e(n){var e=this.props.ref,r=e==n.ref;return!r&&e&&(e.call?e(null):e.current=null),t?!t(this.props,n)||!r:S(this.props,n)}function r(t){return this.shouldComponentUpdate=e,s(n,t)}return r.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",r.prototype.isReactComponent=!0,r.__f=!0,r}(E.prototype=new a).isPureReactComponent=!0,E.prototype.shouldComponentUpdate=function(n,t){return S(this.props,n)||S(this.state,t)};var w=h.__b;h.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),w&&w(n)};var R=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function x(n){function t(t,e){var r=C({},t);return delete r.ref,n(r,(e=t.ref||e)&&(\"object\"!=typeof e||\"current\"in e)?e:null)}return t.$$typeof=R,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var N=function(n,t){return null==n?null:p(p(n).map(t))},k={map:N,forEach:N,count:function(n){return n?p(n).length:0},only:function(n){var t=p(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:p},A=h.__e;h.__e=function(n,t,e){if(n.then)for(var r,u=t;u=u.__;)if((r=u.__c)&&r.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),r.__c(n,t);A(n,t,e)};var O=h.unmount;function L(){this.__u=0,this.t=null,this.__b=null}function U(n){var t=n.__.__c;return t&&t.__e&&t.__e(n)}function D(n){var t,e,r;function u(u){if(t||(t=n()).then(function(n){e=n.default||n},function(n){r=n}),r)throw r;if(!e)throw t;return s(e,u)}return u.displayName=\"Lazy\",u.__f=!0,u}function F(){this.u=null,this.o=null}h.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),O&&O(n)},(L.prototype=new a).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=U(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__e){var n=r.state.__e;r.__v.__k[0]=function n(t,e,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)}),t.__c&&t.__c.__P===e&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__e:r.__b=r.__v.__k[0]}),n.then(i,i)},L.prototype.componentWillUnmount=function(){this.t=[]},L.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var e=document.createElement(\"div\"),r=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),t.__c.__H=null),null!=(t=C({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)})),t}(this.__b,e,r.__O=r.__P)}this.__b=null}var u=t.__e&&s(v,null,n.fallback);return u&&(u.__h=null),[s(v,null,t.__e?null:n.children),u]};var M=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]>>1,1),t.i.removeChild(n)}}),d(s(T,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function I(n,t){return s(j,{__v:n,i:t})}(F.prototype=new a).__e=function(n){var t=this,e=U(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),M(t,n,r)):u()};e?e(o):o()}},F.prototype.render=function(n){this.u=null,this.o=new Map;var t=p(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},F.prototype.componentDidUpdate=F.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){M(n,e,t)})};var W=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,P=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,V=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function z(n,t,e){return null==t.__k&&(t.textContent=\"\"),d(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function B(n,t,e){return m(n,t),\"function\"==typeof e&&e(),n?n.__c:null}a.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(n){Object.defineProperty(a.prototype,n,{configurable:!0,get:function(){return this[\"UNSAFE_\"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var H=h.event;function Z(){}function Y(){return this.cancelBubble}function $(){return this.defaultPrevented}h.event=function(n){return H&&(n=H(n)),n.persist=Z,n.isPropagationStopped=Y,n.isDefaultPrevented=$,n.nativeEvent=n};var q,G={configurable:!0,get:function(){return this.class}},J=h.vnode;h.vnode=function(n){var t=n.type,e=n.props,r=e;if(\"string\"==typeof t){for(var u in r={},e){var o=e[u];\"value\"===u&&\"defaultValue\"in e&&null==o||(\"defaultValue\"===u&&\"value\"in e&&null==e.value?u=\"value\":\"download\"===u&&!0===o?o=\"\":/ondoubleclick/i.test(u)?u=\"ondblclick\":/^onchange(textarea|input)/i.test(u+t)&&!V(e.type)?u=\"oninput\":/^on(Ani|Tra|Tou|BeforeInp)/.test(u)?u=u.toLowerCase():P.test(u)?u=u.replace(/[A-Z0-9]/,\"-$&\").toLowerCase():null===o&&(o=void 0),r[u]=o)}\"select\"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=p(e.children).forEach(function(n){n.props.selected=-1!=r.value.indexOf(n.props.value)})),\"select\"==t&&null!=r.defaultValue&&(r.value=p(e.children).forEach(function(n){n.props.selected=r.multiple?-1!=r.defaultValue.indexOf(n.props.value):r.defaultValue==n.props.value})),n.props=r}t&&e.class!=e.className&&(G.enumerable=\"className\"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,\"className\",G)),n.$$typeof=W,J&&J(n)};var K=h.__r;h.__r=function(n){K&&K(n),q=n.__c};var Q={ReactCurrentDispatcher:{current:{readContext:function(n){return q.__n[n.__c].props.value}}}},X=1,nn=2,tn=3,en=4,rn=5;function un(n,t){return t()}var on=\"object\"==typeof performance&&\"function\"==typeof performance.now?performance.now.bind(performance):function(){return Date.now()},ln=\"16.8.0\";function fn(n){return s.bind(null,n)}function cn(n){return!!n&&n.$$typeof===W}function an(n){return cn(n)?y.apply(null,arguments):n}function sn(n){return!!n.__k&&(d(null,n),!0)}function hn(n){return n&&(n.base||1===n.nodeType&&n)||null}var pn=function(n,t){return n(t)},vn=v;export default{useState:n,useReducer:t,useEffect:e,useLayoutEffect:r,useRef:u,useImperativeHandle:o,useMemo:i,useCallback:l,useContext:f,useDebugValue:c,version:\"16.8.0\",Children:k,render:z,hydrate:B,unmountComponentAtNode:sn,createPortal:I,createElement:s,createContext:_,createFactory:fn,cloneElement:an,createRef:b,Fragment:v,isValidElement:cn,findDOMNode:hn,Component:a,PureComponent:E,memo:g,forwardRef:x,unstable_batchedUpdates:pn,StrictMode:v,Suspense:L,SuspenseList:F,lazy:D,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Q};export{ln as version,k as Children,z as render,B as hydrate,sn as unmountComponentAtNode,I as createPortal,fn as createFactory,an as cloneElement,cn as isValidElement,hn as findDOMNode,E as PureComponent,g as memo,x as forwardRef,pn as unstable_batchedUpdates,vn as StrictMode,L as Suspense,F as SuspenseList,D as lazy,Q as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,X as unstable_ImmediatePriority,nn as unstable_UserBlockingPriority,tn as unstable_NormalPriority,en as unstable_LowPriority,rn as unstable_IdlePriority,un as unstable_runWithPriority,on as unstable_now};\n//# sourceMappingURL=compat.module.js.map\n"],"sourceRoot":""}