andoncloud-widget-preview 1.1.8 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/defaults.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/react-i18next/dist/es/initReactI18next.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/i18next/dist/esm/i18next.js","../src/i18n.ts","../node_modules/js-md5/src/md5.js","../node_modules/js-sha1/src/sha1.js","../node_modules/uuid-by-string/src/lib.js","../node_modules/uuid-by-string/src/index.js","../src/components/Dashboard/index.tsx","../src/components/Routing.tsx","../src/components/WidgetPreview/index.tsx"],"sourcesContent":["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}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { unescape } from './unescape.js';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\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}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _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, toPropertyKey(descriptor.key), descriptor);\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}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport var I18nContext = createContext();\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\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 return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\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 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 \"./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 return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\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 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 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 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 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$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\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 if (!listener) {\n delete this.observers[event];\n return;\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 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 if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\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}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\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 if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\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 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 if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (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 return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\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 for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\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 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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\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 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 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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\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 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$5(_objectSpread$5({}, {}), 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: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\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 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\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\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 if (key === undefined || key === null) {\n return false;\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 var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\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 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 if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n return key;\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 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 var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\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$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n 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, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, 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 var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\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 var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).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 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) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\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 if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\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 var extracted = _this4.extractFromKey(k, options);\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 needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\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 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 _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 codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\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, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\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 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 return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\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 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 return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : 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 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 if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\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 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 var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\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 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 fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\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};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\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}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _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 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\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 return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\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 var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\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$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\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$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? 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 while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\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 (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\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 var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, 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 delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\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 value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\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.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\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 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[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\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 if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(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 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 _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 var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\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 if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n 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 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 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 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: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\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 if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _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 this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\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 if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\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 (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\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 _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\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 if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\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 if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\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 if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\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 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 if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\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 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 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || 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 var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\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 if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\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.resolvedLanguage || (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', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\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 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 resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\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});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import { initReactI18next } from 'react-i18next';\n\nimport i18n from 'i18next';\n\nimport en from './locales/en/translation.json';\nimport pl from './locales/pl/translation.json';\n\nconst resources = {\n en: {\n translation: en,\n },\n pl: {\n translation: pl,\n },\n};\n\n// eslint-disable-next-line no-void\nvoid i18n.use(initReactI18next).init({\n resources,\n lng: 'pl',\n interpolation: {\n escapeValue: false,\n },\n});\n\nexport default i18n;\n","/**\n * [js-md5]{@link https://github.com/emn178/js-md5}\n *\n * @namespace md5\n * @version 0.7.3\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_MD5_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_MD5_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [128, 32768, 8388608, -2147483648];\n var SHIFT = [0, 8, 16, 24];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'buffer', 'arrayBuffer', 'base64'];\n var BASE64_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n var blocks = [], buffer8;\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n buffer8 = new Uint8Array(buffer);\n blocks = new Uint32Array(buffer);\n }\n\n if (root.JS_MD5_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n /**\n * @method hex\n * @memberof md5\n * @description Output hash as hex string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} Hex string\n * @example\n * md5.hex('The quick brown fox jumps over the lazy dog');\n * // equal to\n * md5('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method digest\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.digest('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method array\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.array('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method arrayBuffer\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.arrayBuffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.buffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method base64\n * @memberof md5\n * @description Output hash as base64 string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} base64 string\n * @example\n * md5.base64('The quick brown fox jumps over the lazy dog');\n */\n var createOutputMethod = function (outputType) {\n return function (message) {\n return new Md5(true).update(message)[outputType]();\n };\n };\n\n /**\n * @method create\n * @memberof md5\n * @description Create Md5 object\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.create();\n */\n /**\n * @method update\n * @memberof md5\n * @description Create and update Md5 object\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.update('The quick brown fox jumps over the lazy dog');\n * // equal to\n * var hash = md5.create();\n * hash.update('The quick brown fox jumps over the lazy dog');\n */\n var createMethod = function () {\n var method = createOutputMethod('hex');\n if (NODE_JS) {\n method = nodeWrap(method);\n }\n method.create = function () {\n return new Md5();\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type);\n }\n return method;\n };\n\n var nodeWrap = function (method) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash('md5').update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw ERROR;\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash('md5').update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n /**\n * Md5 class\n * @class Md5\n * @description This is internal class.\n * @see {@link md5.create}\n */\n function Md5(sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n this.buffer8 = buffer8;\n } else {\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n this.buffer8 = new Uint8Array(buffer);\n this.blocks = new Uint32Array(buffer);\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n }\n this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n }\n\n /**\n * @method update\n * @memberof Md5\n * @instance\n * @description Update hash\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @see {@link md5.update}\n */\n Md5.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw ERROR;\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw ERROR;\n }\n }\n } else {\n throw ERROR;\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n var buffer8 = this.buffer8;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n buffer8[i++] = message[index];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n }\n } else {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n buffer8[i++] = code;\n } else if (code < 0x800) {\n buffer8[i++] = 0xc0 | (code >> 6);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else if (code < 0xd800 || code >= 0xe000) {\n buffer8[i++] = 0xe0 | (code >> 12);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n buffer8[i++] = 0xf0 | (code >> 18);\n buffer8[i++] = 0x80 | ((code >> 12) & 0x3f);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n }\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n }\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Md5.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[i >> 2] |= EXTRA[i & 3];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.bytes << 3;\n blocks[15] = this.hBytes << 3 | this.bytes >>> 29;\n this.hash();\n };\n\n Md5.prototype.hash = function () {\n var a, b, c, d, bc, da, blocks = this.blocks;\n\n if (this.first) {\n a = blocks[0] - 680876937;\n a = (a << 7 | a >>> 25) - 271733879 << 0;\n d = (-1732584194 ^ a & 2004318071) + blocks[1] - 117830708;\n d = (d << 12 | d >>> 20) + a << 0;\n c = (-271733879 ^ (d & (a ^ -271733879))) + blocks[2] - 1126478375;\n c = (c << 17 | c >>> 15) + d << 0;\n b = (a ^ (c & (d ^ a))) + blocks[3] - 1316259209;\n b = (b << 22 | b >>> 10) + c << 0;\n } else {\n a = this.h0;\n b = this.h1;\n c = this.h2;\n d = this.h3;\n a += (d ^ (b & (c ^ d))) + blocks[0] - 680876936;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[1] - 389564586;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[2] + 606105819;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[3] - 1044525330;\n b = (b << 22 | b >>> 10) + c << 0;\n }\n\n a += (d ^ (b & (c ^ d))) + blocks[4] - 176418897;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[5] + 1200080426;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[6] - 1473231341;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[7] - 45705983;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[8] + 1770035416;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[9] - 1958414417;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[10] - 42063;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[11] - 1990404162;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[12] + 1804603682;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[13] - 40341101;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[14] - 1502002290;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[15] + 1236535329;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[1] - 165796510;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[6] - 1069501632;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[11] + 643717713;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[0] - 373897302;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[5] - 701558691;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[10] + 38016083;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[15] - 660478335;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[4] - 405537848;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[9] + 568446438;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[14] - 1019803690;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[3] - 187363961;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[8] + 1163531501;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[13] - 1444681467;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[2] - 51403784;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[7] + 1735328473;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[12] - 1926607734;\n b = (b << 20 | b >>> 12) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[5] - 378558;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[8] - 2022574463;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[11] + 1839030562;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[14] - 35309556;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[1] - 1530992060;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[4] + 1272893353;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[7] - 155497632;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[10] - 1094730640;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[13] + 681279174;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[0] - 358537222;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[3] - 722521979;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[6] + 76029189;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[9] - 640364487;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[12] - 421815835;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[15] + 530742520;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[2] - 995338651;\n b = (b << 23 | b >>> 9) + c << 0;\n a += (c ^ (b | ~d)) + blocks[0] - 198630844;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[7] + 1126891415;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[14] - 1416354905;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[5] - 57434055;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[12] + 1700485571;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[3] - 1894986606;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[10] - 1051523;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[1] - 2054922799;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[8] + 1873313359;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[15] - 30611744;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[6] - 1560198380;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[13] + 1309151649;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[4] - 145523070;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[11] - 1120210379;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[2] + 718787259;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[9] - 343485551;\n b = (b << 21 | b >>> 11) + c << 0;\n\n if (this.first) {\n this.h0 = a + 1732584193 << 0;\n this.h1 = b - 271733879 << 0;\n this.h2 = c - 1732584194 << 0;\n this.h3 = d + 271733878 << 0;\n this.first = false;\n } else {\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n }\n };\n\n /**\n * @method hex\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.hex();\n */\n Md5.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n\n return HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F];\n };\n\n /**\n * @method toString\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.toString();\n */\n Md5.prototype.toString = Md5.prototype.hex;\n\n /**\n * @method digest\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.digest}\n * @example\n * hash.digest();\n */\n Md5.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n return [\n h0 & 0xFF, (h0 >> 8) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 24) & 0xFF,\n h1 & 0xFF, (h1 >> 8) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 24) & 0xFF,\n h2 & 0xFF, (h2 >> 8) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 24) & 0xFF,\n h3 & 0xFF, (h3 >> 8) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 24) & 0xFF\n ];\n };\n\n /**\n * @method array\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.array}\n * @example\n * hash.array();\n */\n Md5.prototype.array = Md5.prototype.digest;\n\n /**\n * @method arrayBuffer\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.arrayBuffer}\n * @example\n * hash.arrayBuffer();\n */\n Md5.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(16);\n var blocks = new Uint32Array(buffer);\n blocks[0] = this.h0;\n blocks[1] = this.h1;\n blocks[2] = this.h2;\n blocks[3] = this.h3;\n return buffer;\n };\n\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.buffer}\n * @example\n * hash.buffer();\n */\n Md5.prototype.buffer = Md5.prototype.arrayBuffer;\n\n /**\n * @method base64\n * @memberof Md5\n * @instance\n * @description Output hash as base64 string\n * @returns {String} base64 string\n * @see {@link md5.base64}\n * @example\n * hash.base64();\n */\n Md5.prototype.base64 = function () {\n var v1, v2, v3, base64Str = '', bytes = this.array();\n for (var i = 0; i < 15;) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i++];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] +\n BASE64_ENCODE_CHAR[(v2 << 2 | v3 >>> 6) & 63] +\n BASE64_ENCODE_CHAR[v3 & 63];\n }\n v1 = bytes[i];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4) & 63] +\n '==';\n return base64Str;\n };\n\n var exports = createMethod();\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n /**\n * @method md5\b\n * @description Md5 hash function, export to global in browsers.\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} md5 hashes\n * @example\n * md5(''); // d41d8cd98f00b204e9800998ecf8427e\n * md5('The quick brown fox jumps over the lazy dog'); // 9e107d9d372bb6826bd81d3542a419d6\n * md5('The quick brown fox jumps over the lazy dog.'); // e4d909c290d0fb1ca068ffaddf22cbd0\n *\n * // It also supports UTF-8 encoding\n * md5('中文'); // a7bac2239fcdcb3a067903d8077c4a07\n *\n * // It also supports byte `Array`, `Uint8Array`, `ArrayBuffer`\n * md5([]); // d41d8cd98f00b204e9800998ecf8427e\n * md5(new Uint8Array([])); // d41d8cd98f00b204e9800998ecf8427e\n */\n root.md5 = exports;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n","/*\n * [js-sha1]{@link https://github.com/emn178/js-sha1}\n *\n * @version 0.6.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n/*jslint bitwise: true */\n(function() {\n 'use strict';\n\n var root = typeof window === 'object' ? window : {};\n var NODE_JS = !root.JS_SHA1_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n }\n var COMMON_JS = !root.JS_SHA1_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n var createOutputMethod = function (outputType) {\n return function (message) {\n return new Sha1(true).update(message)[outputType]();\n };\n };\n\n var createMethod = function () {\n var method = createOutputMethod('hex');\n if (NODE_JS) {\n method = nodeWrap(method);\n }\n method.create = function () {\n return new Sha1();\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type);\n }\n return method;\n };\n\n var nodeWrap = function (method) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash('sha1').update(message, 'utf8').digest('hex');\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (message.length === undefined) {\n return method(message);\n }\n return crypto.createHash('sha1').update(new Buffer(message)).digest('hex');\n };\n return nodeMethod;\n };\n\n function Sha1(sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n this.h0 = 0x67452301;\n this.h1 = 0xEFCDAB89;\n this.h2 = 0x98BADCFE;\n this.h3 = 0x10325476;\n this.h4 = 0xC3D2E1F0;\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n }\n\n Sha1.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString = typeof(message) !== 'string';\n if (notString && message.constructor === root.ArrayBuffer) {\n message = new Uint8Array(message);\n }\n var code, index = 0, i, length = message.length || 0, blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if(notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha1.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha1.prototype.hash = function () {\n var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4;\n var f, j, t, blocks = this.blocks;\n\n for(j = 16; j < 80; ++j) {\n t = blocks[j - 3] ^ blocks[j - 8] ^ blocks[j - 14] ^ blocks[j - 16];\n blocks[j] = (t << 1) | (t >>> 31);\n }\n\n for(j = 0; j < 20; j += 5) {\n f = (b & c) | ((~b) & d);\n t = (a << 5) | (a >>> 27);\n e = t + f + e + 1518500249 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = (a & b) | ((~a) & c);\n t = (e << 5) | (e >>> 27);\n d = t + f + d + 1518500249 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = (e & a) | ((~e) & b);\n t = (d << 5) | (d >>> 27);\n c = t + f + c + 1518500249 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = (d & e) | ((~d) & a);\n t = (c << 5) | (c >>> 27);\n b = t + f + b + 1518500249 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = (c & d) | ((~c) & e);\n t = (b << 5) | (b >>> 27);\n a = t + f + a + 1518500249 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n for(; j < 40; j += 5) {\n f = b ^ c ^ d;\n t = (a << 5) | (a >>> 27);\n e = t + f + e + 1859775393 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = a ^ b ^ c;\n t = (e << 5) | (e >>> 27);\n d = t + f + d + 1859775393 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = e ^ a ^ b;\n t = (d << 5) | (d >>> 27);\n c = t + f + c + 1859775393 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = d ^ e ^ a;\n t = (c << 5) | (c >>> 27);\n b = t + f + b + 1859775393 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = c ^ d ^ e;\n t = (b << 5) | (b >>> 27);\n a = t + f + a + 1859775393 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n for(; j < 60; j += 5) {\n f = (b & c) | (b & d) | (c & d);\n t = (a << 5) | (a >>> 27);\n e = t + f + e - 1894007588 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = (a & b) | (a & c) | (b & c);\n t = (e << 5) | (e >>> 27);\n d = t + f + d - 1894007588 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = (e & a) | (e & b) | (a & b);\n t = (d << 5) | (d >>> 27);\n c = t + f + c - 1894007588 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = (d & e) | (d & a) | (e & a);\n t = (c << 5) | (c >>> 27);\n b = t + f + b - 1894007588 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = (c & d) | (c & e) | (d & e);\n t = (b << 5) | (b >>> 27);\n a = t + f + a - 1894007588 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n for(; j < 80; j += 5) {\n f = b ^ c ^ d;\n t = (a << 5) | (a >>> 27);\n e = t + f + e - 899497514 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = a ^ b ^ c;\n t = (e << 5) | (e >>> 27);\n d = t + f + d - 899497514 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = e ^ a ^ b;\n t = (d << 5) | (d >>> 27);\n c = t + f + c - 899497514 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = d ^ e ^ a;\n t = (c << 5) | (c >>> 27);\n b = t + f + b - 899497514 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = c ^ d ^ e;\n t = (b << 5) | (b >>> 27);\n a = t + f + a - 899497514 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n };\n\n Sha1.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;\n\n return HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +\n HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +\n HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +\n HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F];\n };\n\n Sha1.prototype.toString = Sha1.prototype.hex;\n\n Sha1.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;\n\n return [\n (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,\n (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,\n (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,\n (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,\n (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF\n ];\n };\n\n Sha1.prototype.array = Sha1.prototype.digest;\n\n Sha1.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(20);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n return buffer;\n };\n\n var exports = createMethod();\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha1 = exports;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n","var md5 = require('js-md5');\nvar sha1 = require('js-sha1');\n\n/** List of hex digit for fast accessing by index */\nvar HEX_DIGITS = '0123456789abcdef'.split('');\n\n/** Length of string containing uuid */\nvar UUID_LENGTH = 36;\n\n/** Regular expression for uuid testing */\nvar UUID_REGEXP = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\n/** Map matching of hex number and corresponding byte */\nvar HEX_TO_BYTE_MAP = (function () {\n var map = {};\n\n for (var i = 0; i < 256; i++) {\n var hex = i.toString(16);\n\n map[hex.length === 1 ? '0' + hex : hex] = i;\n }\n\n return map;\n})();\n\n/**\n * Converts unsigned byte to hex representation\n * @param {number} ubyte The unsigned byte to convert\n * @returns {string} The hex representation\n */\nvar uint8ToHex = function (ubyte) {\n var first = ubyte >> 4;\n var second = ubyte - (first << 4);\n\n return HEX_DIGITS[first] + HEX_DIGITS[second];\n};\n\n/**\n * Converts unsigned byte buffer to hex string\n * @param {Uint8Array} buf The unsigned bytes buffer\n * @returns {string} The hex string representation\n */\nvar uint8ArrayToHex = function (buf) {\n var out = '';\n\n for (var i = 0; i < buf.length; i++) {\n out += uint8ToHex(buf[i]);\n }\n\n return out;\n};\n\n/**\n * Converts string to buffer of char codes\n * @param {string} str The string to parse\n * @returns {Uint8Array} Buffer of char codes\n */\nvar stringToCharBuffer = function (str) {\n var escapedStr = unescape(encodeURIComponent(str));\n var buffer = new Uint8Array(escapedStr.length);\n\n for (var i = 0; i < escapedStr.length; i++) {\n buffer[i] = escapedStr[i].charCodeAt(0);\n }\n\n return buffer;\n};\n\n/**\n * Generates MD5 hash from buffer\n * @param {Uint8Array} buf Buffer of char codes\n * @returns {Uint8Array} MD5 hash buffer\n */\nvar md5Hash = function (buf) {\n return new Uint8Array(md5.arrayBuffer(buf));\n};\n\n/**\n * Generates SHA-1 hash from buffer\n * @param {Uint8Array} buf Buffer of char codes\n * @returns {Uint8Array} SHA-1 hash buffer\n */\nvar sha1Hash = function (buf) {\n return new Uint8Array(sha1.arrayBuffer(buf));\n};\n\n/**\n * Concatenates two uint8 buffers\n * @param {Uint8Array} buf1 The first buffer to concatenate\n * @param {Uint8Array} buf2 The second buffer to concatenate\n * @returns {Uint8Array} Concatenation result\n */\nvar concatBuffers = function (buf1, buf2) {\n var out = new Uint8Array(buf1.length + buf2.length);\n\n out.set(new Uint8Array(buf1), 0);\n out.set(new Uint8Array(buf2), buf1.byteLength);\n\n return out;\n};\n\n/**\n * Validates UUID\n * @param {string} uuid UUID to validate\n * @return {boolean} Validation result\n */\nvar validateUuid = function (uuid) {\n return typeof uuid === 'string' && uuid.length === UUID_LENGTH && UUID_REGEXP.test(uuid);\n};\n\n/**\n * Parses UUID into a buffer\n * @param {string} uuid UUID to parse\n * @returns {Uint8Array} Ready buffer\n */\nvar parseUuid = function (uuid) {\n if (!validateUuid(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var buf = new Uint8Array(16);\n var strIndex = 0;\n var bufIndex = 0;\n\n while (strIndex < uuid.length) {\n if (uuid[strIndex] === '-') {\n strIndex++;\n continue;\n }\n\n var oct = (uuid[strIndex] + uuid[strIndex + 1]).toLowerCase();\n buf[bufIndex] = HEX_TO_BYTE_MAP[oct];\n\n bufIndex++;\n strIndex += 2;\n }\n\n return buf;\n};\n\n/**\n * Creates uuid from hash buffer\n * @param {Uint8Array} hashBuffer Hash buffer\n * @param {3|5} version Version of uuid\n * @returns {string} The uuid\n */\nvar hashToUuid = function (hashBuffer, version) {\n return (\n // The low field of the timestamp\n uint8ArrayToHex(hashBuffer.slice(0, 4)) +\n '-' +\n // The middle field of the timestamp\n uint8ArrayToHex(hashBuffer.slice(4, 6)) +\n '-' +\n // The high field of the timestamp multiplexed with the version number\n uint8ToHex((hashBuffer[6] & 0x0f) | parseInt(version * 10, 16)) +\n uint8ToHex(hashBuffer[7]) +\n '-' +\n // The high field of the clock sequence multiplexed with the variant\n uint8ToHex((hashBuffer[8] & 0x3f) | 0x80) +\n // The low field of the clock sequence\n uint8ToHex(hashBuffer[9]) +\n '-' +\n // The spatially unique node identifier\n uint8ArrayToHex(hashBuffer.slice(10, 16))\n );\n};\n\nmodule.exports = {\n uint8ToHex: uint8ToHex,\n uint8ArrayToHex: uint8ArrayToHex,\n stringToCharBuffer: stringToCharBuffer,\n md5Hash: md5Hash,\n sha1Hash: sha1Hash,\n concatBuffers: concatBuffers,\n validateUuid: validateUuid,\n parseUuid: parseUuid,\n hashToUuid: hashToUuid,\n};\n","var lib = require('./lib');\n\n/** Uin8Array with zero items */\nvar EMPTY_UINT8_ARRAY = new Uint8Array(0);\n\n/**\n * Generates the Name-Based UUID hashes v3 and v5 according to RFC-4122\n * https://tools.ietf.org/html/rfc4122#section-4.3\n * @param {string} target Hashing target\n * @param {string} [namespace] Some name space within which generation occurs\n * @param {3|5} [version=5] Version of UUID. Available versions is 3 and 5\n * according to RFC-4122. The version is responsible for the hashing algorithm:\n * version 3 uses MD5, and version 5 uses SHA-1. Default is 5.\n * @returns {string} UUID\n */\nfunction generateUuid(target, namespace, version) {\n if (typeof target !== 'string') {\n throw TypeError('Value must be string');\n }\n\n if (typeof namespace === 'number') {\n return generateUuid(target, undefined, namespace);\n }\n\n if (version == null) {\n return generateUuid(target, namespace, 5);\n }\n\n if (version !== 3 && version !== 5) {\n throw TypeError('Version of UUID can be only 3 or 5');\n }\n\n // Parsing target chars\n var targetCharBuffer = lib.stringToCharBuffer(target);\n var namespaceCharBuffer = typeof namespace === 'string' ? lib.parseUuid(namespace) : EMPTY_UINT8_ARRAY;\n\n // Concatenation two buffers of strings to one\n var buffer = lib.concatBuffers(namespaceCharBuffer, targetCharBuffer);\n\n // Getting hash\n var hash = version === 3 ? lib.md5Hash(buffer) : lib.sha1Hash(buffer);\n\n return lib.hashToUuid(hash, version);\n}\n\n/**\n * Export module\n */\nmodule.exports = generateUuid;\n","import 'react-grid-layout/css/styles.css';\nimport 'react-resizable/css/styles.css';\n\nimport React, { useState } from 'react';\nimport RGL, { WidthProvider } from 'react-grid-layout';\n\nimport { WidgetCard } from 'andoncloud-dashboard-toolkit';\nimport { useLoginStatus } from 'andoncloud-sdk';\nimport getUuid from 'uuid-by-string';\n\nimport { DashboardProps } from '@/types';\n\nconst ReactGridLayout = WidthProvider(RGL);\n\nconst GRAPHQL_API_URL = process.env.REACT_APP_WIDGET_GRAPHQL_API_URL as string;\n\nconst Dashboard: React.FC<DashboardProps> = ({\n lang,\n widgetName,\n widgetDisplayName,\n widgetWidth,\n widgetHeight,\n Widget,\n editMode,\n}) => {\n const { authResponse } = useLoginStatus();\n const [settingsModalOpened, setSettingsModalOpened] = useState<boolean>(false);\n const widgetId = getUuid(widgetName);\n\n return (\n <ReactGridLayout\n className=\"layout\"\n layout={[{ i: widgetId, x: 0, y: 0, w: widgetWidth || 3, h: widgetHeight || 4 }]}\n draggableHandle=\".draggable-handle\"\n >\n {authResponse?.accessToken && (\n <WidgetCard\n key={widgetId}\n Widget={Widget}\n title={widgetDisplayName(lang)}\n id={widgetId}\n url={GRAPHQL_API_URL}\n token={authResponse.accessToken}\n lang={lang}\n openSettingsModal={settingsModalOpened}\n onSettingsModalOpened={() => setSettingsModalOpened(true)}\n onSettingsModalClosed={() => setSettingsModalOpened(false)}\n editMode={editMode}\n />\n )}\n </ReactGridLayout>\n );\n};\n\nexport default Dashboard;\n","import React from 'react';\nimport { Navigate, useRoutes } from 'react-router-dom';\n\nimport { useLoginStatus } from 'andoncloud-sdk';\n\nimport { DashboardProps } from '@/types';\n\nimport Dashboard from './Dashboard';\n\nconst routes = (\n isLoggedIn: boolean,\n { lang, widgetName, widgetDisplayName, widgetWidth, widgetHeight, Widget, editMode }: DashboardProps,\n) => [\n {\n path: '/',\n element: isLoggedIn ? (\n <Dashboard\n lang={lang}\n widgetName={widgetName}\n widgetDisplayName={widgetDisplayName}\n widgetWidth={widgetWidth}\n widgetHeight={widgetHeight}\n Widget={Widget}\n editMode={editMode}\n />\n ) : (\n <Navigate to=\"/login\" />\n ),\n },\n];\n\nconst Routing: React.FC<DashboardProps> = (dashboardProps) => {\n const { status } = useLoginStatus();\n\n return useRoutes(routes(status === 'connected', dashboardProps));\n};\n\nexport default Routing;\n","import React, { useState } from 'react';\n\nimport { App as AndonCloudApp, AuthProps, Container, HeaderProps, setLocale } from 'andoncloud-sdk';\n\nimport { WidgetPreviewProps } from '@/types';\n\nimport Routing from '../Routing';\n\nconst OAUTH2_BASE_URL = process.env.REACT_APP_DASHBOARD_OAUTH2_BASE_URL as string;\n\nconst WidgetPreview: React.FC<WidgetPreviewProps> = ({\n widgetName,\n widgetDisplayName,\n widgetWidth,\n widgetHeight,\n Widget,\n}) => {\n const [lang, setLang] = useState<'en' | 'pl'>('pl');\n const [editMode, setEditMode] = useState<boolean>(true);\n const getEditModeText = () => {\n if (editMode) {\n return lang === 'pl' ? 'Wyłącz tryb edycji' : 'Turn off edit mode';\n }\n return lang === 'pl' ? 'Włącz tryb edycji' : 'Turn on edit mode';\n };\n\n const menuItems = [\n {\n label: getEditModeText(),\n action: () => setEditMode((current) => !current),\n },\n {\n label: lang === 'pl' ? 'Change language to English' : 'Zmień język na Polski',\n action: () => {\n const newLang = lang === 'pl' ? 'en' : 'pl';\n\n setLang(newLang);\n setLocale(newLang);\n },\n },\n ];\n const authProps: AuthProps = {\n redirectPath: '/',\n clientId: 'sample-app-client-id',\n grantType: 'password',\n };\n const headerProps: HeaderProps = {\n position: 'static',\n leadingText: widgetDisplayName(lang),\n menuProps: {\n items: menuItems,\n buttonColor: 'white',\n },\n };\n\n return (\n <AndonCloudApp baseUrl={OAUTH2_BASE_URL} authProps={authProps}>\n <Container headerProps={headerProps}>\n <Routing\n lang={lang}\n widgetName={widgetName}\n widgetDisplayName={widgetDisplayName}\n widgetWidth={widgetWidth}\n widgetHeight={widgetHeight}\n Widget={Widget}\n editMode={editMode}\n />\n </Container>\n </AndonCloudApp>\n );\n};\n\nexport default WidgetPreview;\n"],"names":["toPrimitive","toPropertyKey","unescape","ownKeys","_objectSpread","createContext","arrayLikeToArray","setPrototypeOf","assertThisInitialized","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","resources","en","translation","pl","i18n","use","initReactI18next","init","lng","interpolation","escapeValue","global","ReactGridLayout","WidthProvider","RGL","GRAPHQL_API_URL","process","env","REACT_APP_WIDGET_GRAPHQL_API_URL","Dashboard","lang","widgetName","widgetDisplayName","widgetWidth","widgetHeight","Widget","editMode","useLoginStatus","authResponse","useState","settingsModalOpened","setSettingsModalOpened","widgetId","getUuid","React","createElement","className","layout","i","x","y","w","h","draggableHandle","accessToken","WidgetCard","key","title","id","url","token","openSettingsModal","onSettingsModalOpened","onSettingsModalClosed","routes","isLoggedIn","path","element","Navigate","to","Routing","dashboardProps","status","useRoutes","OAUTH2_BASE_URL","REACT_APP_DASHBOARD_OAUTH2_BASE_URL","WidgetPreview","setLang","setEditMode","getEditModeText","menuItems","label","action","current","newLang","setLocale","authProps","redirectPath","clientId","grantType","headerProps","position","leadingText","menuProps","items","buttonColor","AndonCloudApp","baseUrl","Container"],"mappings":"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AS,CAAC,EAAE,GAAG,IAAI,CAAC;AAC7D,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AACtE,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AACtE,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;AACrE,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC;AAC7D,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AACtE,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AACtE,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;AACrE,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC;AAC7D,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AACtE,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AACtE,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;AACrE,WAAW,SAAS,CAAC,CAAC,EAAE,IAAI,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"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/defaults.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/react-i18next/dist/es/initReactI18next.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/react-i18next/dist/es/context.js","../src/i18n.ts","../node_modules/js-md5/src/md5.js","../node_modules/js-sha1/src/sha1.js","../node_modules/uuid-by-string/src/lib.js","../node_modules/uuid-by-string/src/index.js","../src/components/Dashboard/index.tsx","../src/components/Routing.tsx","../src/components/WidgetPreview/index.tsx"],"sourcesContent":["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}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { unescape } from './unescape.js';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\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}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _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, toPropertyKey(descriptor.key), descriptor);\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}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\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 return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\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 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 \"./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 return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\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 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 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 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 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$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\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 if (!listener) {\n delete this.observers[event];\n return;\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 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 if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\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}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\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 if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\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 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 if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (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 return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\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 for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\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 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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\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 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 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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\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 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$5(_objectSpread$5({}, {}), 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: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\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 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\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\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 if (key === undefined || key === null) {\n return false;\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 var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\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 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 if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n return key;\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 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 var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\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$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n 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, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, 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 var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\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 var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).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 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) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\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 if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\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 var extracted = _this4.extractFromKey(k, options);\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 needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\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 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 _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 codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\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, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\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 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 return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\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 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 return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : 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 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 if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\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 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 var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\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 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 fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\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};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\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}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _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 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\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 return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\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 var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\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$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\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$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? 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 while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\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 (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\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 var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, 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 delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\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 value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\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.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\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 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[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\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 if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(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 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 _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 var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\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 if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n 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 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 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 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: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\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 if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _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 this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\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 if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\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 (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\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 _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\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 if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\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 if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\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 if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\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 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 if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\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 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 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || 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 var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\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 if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\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.resolvedLanguage || (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', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\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 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 resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\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});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport var I18nContext = createContext();\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import { initReactI18next } from 'react-i18next';\n\nimport i18n from 'i18next';\n\nimport en from './locales/en/translation.json';\nimport pl from './locales/pl/translation.json';\n\nconst resources = {\n en: {\n translation: en,\n },\n pl: {\n translation: pl,\n },\n};\n\n// eslint-disable-next-line no-void\nvoid i18n.use(initReactI18next).init({\n resources,\n lng: 'pl',\n interpolation: {\n escapeValue: false,\n },\n});\n\nexport default i18n;\n","/**\n * [js-md5]{@link https://github.com/emn178/js-md5}\n *\n * @namespace md5\n * @version 0.7.3\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_MD5_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_MD5_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [128, 32768, 8388608, -2147483648];\n var SHIFT = [0, 8, 16, 24];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'buffer', 'arrayBuffer', 'base64'];\n var BASE64_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n var blocks = [], buffer8;\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n buffer8 = new Uint8Array(buffer);\n blocks = new Uint32Array(buffer);\n }\n\n if (root.JS_MD5_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n /**\n * @method hex\n * @memberof md5\n * @description Output hash as hex string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} Hex string\n * @example\n * md5.hex('The quick brown fox jumps over the lazy dog');\n * // equal to\n * md5('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method digest\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.digest('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method array\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.array('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method arrayBuffer\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.arrayBuffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.buffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method base64\n * @memberof md5\n * @description Output hash as base64 string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} base64 string\n * @example\n * md5.base64('The quick brown fox jumps over the lazy dog');\n */\n var createOutputMethod = function (outputType) {\n return function (message) {\n return new Md5(true).update(message)[outputType]();\n };\n };\n\n /**\n * @method create\n * @memberof md5\n * @description Create Md5 object\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.create();\n */\n /**\n * @method update\n * @memberof md5\n * @description Create and update Md5 object\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.update('The quick brown fox jumps over the lazy dog');\n * // equal to\n * var hash = md5.create();\n * hash.update('The quick brown fox jumps over the lazy dog');\n */\n var createMethod = function () {\n var method = createOutputMethod('hex');\n if (NODE_JS) {\n method = nodeWrap(method);\n }\n method.create = function () {\n return new Md5();\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type);\n }\n return method;\n };\n\n var nodeWrap = function (method) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash('md5').update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw ERROR;\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash('md5').update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n /**\n * Md5 class\n * @class Md5\n * @description This is internal class.\n * @see {@link md5.create}\n */\n function Md5(sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n this.buffer8 = buffer8;\n } else {\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n this.buffer8 = new Uint8Array(buffer);\n this.blocks = new Uint32Array(buffer);\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n }\n this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n }\n\n /**\n * @method update\n * @memberof Md5\n * @instance\n * @description Update hash\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @see {@link md5.update}\n */\n Md5.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw ERROR;\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw ERROR;\n }\n }\n } else {\n throw ERROR;\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n var buffer8 = this.buffer8;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n buffer8[i++] = message[index];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n }\n } else {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n buffer8[i++] = code;\n } else if (code < 0x800) {\n buffer8[i++] = 0xc0 | (code >> 6);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else if (code < 0xd800 || code >= 0xe000) {\n buffer8[i++] = 0xe0 | (code >> 12);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n buffer8[i++] = 0xf0 | (code >> 18);\n buffer8[i++] = 0x80 | ((code >> 12) & 0x3f);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n }\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n }\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Md5.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[i >> 2] |= EXTRA[i & 3];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.bytes << 3;\n blocks[15] = this.hBytes << 3 | this.bytes >>> 29;\n this.hash();\n };\n\n Md5.prototype.hash = function () {\n var a, b, c, d, bc, da, blocks = this.blocks;\n\n if (this.first) {\n a = blocks[0] - 680876937;\n a = (a << 7 | a >>> 25) - 271733879 << 0;\n d = (-1732584194 ^ a & 2004318071) + blocks[1] - 117830708;\n d = (d << 12 | d >>> 20) + a << 0;\n c = (-271733879 ^ (d & (a ^ -271733879))) + blocks[2] - 1126478375;\n c = (c << 17 | c >>> 15) + d << 0;\n b = (a ^ (c & (d ^ a))) + blocks[3] - 1316259209;\n b = (b << 22 | b >>> 10) + c << 0;\n } else {\n a = this.h0;\n b = this.h1;\n c = this.h2;\n d = this.h3;\n a += (d ^ (b & (c ^ d))) + blocks[0] - 680876936;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[1] - 389564586;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[2] + 606105819;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[3] - 1044525330;\n b = (b << 22 | b >>> 10) + c << 0;\n }\n\n a += (d ^ (b & (c ^ d))) + blocks[4] - 176418897;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[5] + 1200080426;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[6] - 1473231341;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[7] - 45705983;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[8] + 1770035416;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[9] - 1958414417;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[10] - 42063;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[11] - 1990404162;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[12] + 1804603682;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[13] - 40341101;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[14] - 1502002290;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[15] + 1236535329;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[1] - 165796510;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[6] - 1069501632;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[11] + 643717713;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[0] - 373897302;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[5] - 701558691;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[10] + 38016083;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[15] - 660478335;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[4] - 405537848;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[9] + 568446438;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[14] - 1019803690;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[3] - 187363961;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[8] + 1163531501;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[13] - 1444681467;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[2] - 51403784;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[7] + 1735328473;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[12] - 1926607734;\n b = (b << 20 | b >>> 12) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[5] - 378558;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[8] - 2022574463;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[11] + 1839030562;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[14] - 35309556;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[1] - 1530992060;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[4] + 1272893353;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[7] - 155497632;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[10] - 1094730640;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[13] + 681279174;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[0] - 358537222;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[3] - 722521979;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[6] + 76029189;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[9] - 640364487;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[12] - 421815835;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[15] + 530742520;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[2] - 995338651;\n b = (b << 23 | b >>> 9) + c << 0;\n a += (c ^ (b | ~d)) + blocks[0] - 198630844;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[7] + 1126891415;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[14] - 1416354905;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[5] - 57434055;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[12] + 1700485571;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[3] - 1894986606;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[10] - 1051523;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[1] - 2054922799;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[8] + 1873313359;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[15] - 30611744;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[6] - 1560198380;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[13] + 1309151649;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[4] - 145523070;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[11] - 1120210379;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[2] + 718787259;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[9] - 343485551;\n b = (b << 21 | b >>> 11) + c << 0;\n\n if (this.first) {\n this.h0 = a + 1732584193 << 0;\n this.h1 = b - 271733879 << 0;\n this.h2 = c - 1732584194 << 0;\n this.h3 = d + 271733878 << 0;\n this.first = false;\n } else {\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n }\n };\n\n /**\n * @method hex\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.hex();\n */\n Md5.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n\n return HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F];\n };\n\n /**\n * @method toString\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.toString();\n */\n Md5.prototype.toString = Md5.prototype.hex;\n\n /**\n * @method digest\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.digest}\n * @example\n * hash.digest();\n */\n Md5.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n return [\n h0 & 0xFF, (h0 >> 8) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 24) & 0xFF,\n h1 & 0xFF, (h1 >> 8) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 24) & 0xFF,\n h2 & 0xFF, (h2 >> 8) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 24) & 0xFF,\n h3 & 0xFF, (h3 >> 8) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 24) & 0xFF\n ];\n };\n\n /**\n * @method array\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.array}\n * @example\n * hash.array();\n */\n Md5.prototype.array = Md5.prototype.digest;\n\n /**\n * @method arrayBuffer\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.arrayBuffer}\n * @example\n * hash.arrayBuffer();\n */\n Md5.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(16);\n var blocks = new Uint32Array(buffer);\n blocks[0] = this.h0;\n blocks[1] = this.h1;\n blocks[2] = this.h2;\n blocks[3] = this.h3;\n return buffer;\n };\n\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.buffer}\n * @example\n * hash.buffer();\n */\n Md5.prototype.buffer = Md5.prototype.arrayBuffer;\n\n /**\n * @method base64\n * @memberof Md5\n * @instance\n * @description Output hash as base64 string\n * @returns {String} base64 string\n * @see {@link md5.base64}\n * @example\n * hash.base64();\n */\n Md5.prototype.base64 = function () {\n var v1, v2, v3, base64Str = '', bytes = this.array();\n for (var i = 0; i < 15;) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i++];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] +\n BASE64_ENCODE_CHAR[(v2 << 2 | v3 >>> 6) & 63] +\n BASE64_ENCODE_CHAR[v3 & 63];\n }\n v1 = bytes[i];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4) & 63] +\n '==';\n return base64Str;\n };\n\n var exports = createMethod();\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n /**\n * @method md5\b\n * @description Md5 hash function, export to global in browsers.\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} md5 hashes\n * @example\n * md5(''); // d41d8cd98f00b204e9800998ecf8427e\n * md5('The quick brown fox jumps over the lazy dog'); // 9e107d9d372bb6826bd81d3542a419d6\n * md5('The quick brown fox jumps over the lazy dog.'); // e4d909c290d0fb1ca068ffaddf22cbd0\n *\n * // It also supports UTF-8 encoding\n * md5('中文'); // a7bac2239fcdcb3a067903d8077c4a07\n *\n * // It also supports byte `Array`, `Uint8Array`, `ArrayBuffer`\n * md5([]); // d41d8cd98f00b204e9800998ecf8427e\n * md5(new Uint8Array([])); // d41d8cd98f00b204e9800998ecf8427e\n */\n root.md5 = exports;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n","/*\n * [js-sha1]{@link https://github.com/emn178/js-sha1}\n *\n * @version 0.6.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n/*jslint bitwise: true */\n(function() {\n 'use strict';\n\n var root = typeof window === 'object' ? window : {};\n var NODE_JS = !root.JS_SHA1_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n }\n var COMMON_JS = !root.JS_SHA1_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n var createOutputMethod = function (outputType) {\n return function (message) {\n return new Sha1(true).update(message)[outputType]();\n };\n };\n\n var createMethod = function () {\n var method = createOutputMethod('hex');\n if (NODE_JS) {\n method = nodeWrap(method);\n }\n method.create = function () {\n return new Sha1();\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type);\n }\n return method;\n };\n\n var nodeWrap = function (method) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash('sha1').update(message, 'utf8').digest('hex');\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (message.length === undefined) {\n return method(message);\n }\n return crypto.createHash('sha1').update(new Buffer(message)).digest('hex');\n };\n return nodeMethod;\n };\n\n function Sha1(sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n this.h0 = 0x67452301;\n this.h1 = 0xEFCDAB89;\n this.h2 = 0x98BADCFE;\n this.h3 = 0x10325476;\n this.h4 = 0xC3D2E1F0;\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n }\n\n Sha1.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString = typeof(message) !== 'string';\n if (notString && message.constructor === root.ArrayBuffer) {\n message = new Uint8Array(message);\n }\n var code, index = 0, i, length = message.length || 0, blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if(notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha1.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha1.prototype.hash = function () {\n var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4;\n var f, j, t, blocks = this.blocks;\n\n for(j = 16; j < 80; ++j) {\n t = blocks[j - 3] ^ blocks[j - 8] ^ blocks[j - 14] ^ blocks[j - 16];\n blocks[j] = (t << 1) | (t >>> 31);\n }\n\n for(j = 0; j < 20; j += 5) {\n f = (b & c) | ((~b) & d);\n t = (a << 5) | (a >>> 27);\n e = t + f + e + 1518500249 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = (a & b) | ((~a) & c);\n t = (e << 5) | (e >>> 27);\n d = t + f + d + 1518500249 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = (e & a) | ((~e) & b);\n t = (d << 5) | (d >>> 27);\n c = t + f + c + 1518500249 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = (d & e) | ((~d) & a);\n t = (c << 5) | (c >>> 27);\n b = t + f + b + 1518500249 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = (c & d) | ((~c) & e);\n t = (b << 5) | (b >>> 27);\n a = t + f + a + 1518500249 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n for(; j < 40; j += 5) {\n f = b ^ c ^ d;\n t = (a << 5) | (a >>> 27);\n e = t + f + e + 1859775393 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = a ^ b ^ c;\n t = (e << 5) | (e >>> 27);\n d = t + f + d + 1859775393 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = e ^ a ^ b;\n t = (d << 5) | (d >>> 27);\n c = t + f + c + 1859775393 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = d ^ e ^ a;\n t = (c << 5) | (c >>> 27);\n b = t + f + b + 1859775393 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = c ^ d ^ e;\n t = (b << 5) | (b >>> 27);\n a = t + f + a + 1859775393 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n for(; j < 60; j += 5) {\n f = (b & c) | (b & d) | (c & d);\n t = (a << 5) | (a >>> 27);\n e = t + f + e - 1894007588 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = (a & b) | (a & c) | (b & c);\n t = (e << 5) | (e >>> 27);\n d = t + f + d - 1894007588 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = (e & a) | (e & b) | (a & b);\n t = (d << 5) | (d >>> 27);\n c = t + f + c - 1894007588 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = (d & e) | (d & a) | (e & a);\n t = (c << 5) | (c >>> 27);\n b = t + f + b - 1894007588 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = (c & d) | (c & e) | (d & e);\n t = (b << 5) | (b >>> 27);\n a = t + f + a - 1894007588 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n for(; j < 80; j += 5) {\n f = b ^ c ^ d;\n t = (a << 5) | (a >>> 27);\n e = t + f + e - 899497514 + blocks[j] << 0;\n b = (b << 30) | (b >>> 2);\n\n f = a ^ b ^ c;\n t = (e << 5) | (e >>> 27);\n d = t + f + d - 899497514 + blocks[j + 1] << 0;\n a = (a << 30) | (a >>> 2);\n\n f = e ^ a ^ b;\n t = (d << 5) | (d >>> 27);\n c = t + f + c - 899497514 + blocks[j + 2] << 0;\n e = (e << 30) | (e >>> 2);\n\n f = d ^ e ^ a;\n t = (c << 5) | (c >>> 27);\n b = t + f + b - 899497514 + blocks[j + 3] << 0;\n d = (d << 30) | (d >>> 2);\n\n f = c ^ d ^ e;\n t = (b << 5) | (b >>> 27);\n a = t + f + a - 899497514 + blocks[j + 4] << 0;\n c = (c << 30) | (c >>> 2);\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n };\n\n Sha1.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;\n\n return HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +\n HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +\n HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +\n HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F];\n };\n\n Sha1.prototype.toString = Sha1.prototype.hex;\n\n Sha1.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;\n\n return [\n (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,\n (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,\n (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,\n (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,\n (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF\n ];\n };\n\n Sha1.prototype.array = Sha1.prototype.digest;\n\n Sha1.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(20);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n return buffer;\n };\n\n var exports = createMethod();\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha1 = exports;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n","var md5 = require('js-md5');\nvar sha1 = require('js-sha1');\n\n/** List of hex digit for fast accessing by index */\nvar HEX_DIGITS = '0123456789abcdef'.split('');\n\n/** Length of string containing uuid */\nvar UUID_LENGTH = 36;\n\n/** Regular expression for uuid testing */\nvar UUID_REGEXP = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\n/** Map matching of hex number and corresponding byte */\nvar HEX_TO_BYTE_MAP = (function () {\n var map = {};\n\n for (var i = 0; i < 256; i++) {\n var hex = i.toString(16);\n\n map[hex.length === 1 ? '0' + hex : hex] = i;\n }\n\n return map;\n})();\n\n/**\n * Converts unsigned byte to hex representation\n * @param {number} ubyte The unsigned byte to convert\n * @returns {string} The hex representation\n */\nvar uint8ToHex = function (ubyte) {\n var first = ubyte >> 4;\n var second = ubyte - (first << 4);\n\n return HEX_DIGITS[first] + HEX_DIGITS[second];\n};\n\n/**\n * Converts unsigned byte buffer to hex string\n * @param {Uint8Array} buf The unsigned bytes buffer\n * @returns {string} The hex string representation\n */\nvar uint8ArrayToHex = function (buf) {\n var out = '';\n\n for (var i = 0; i < buf.length; i++) {\n out += uint8ToHex(buf[i]);\n }\n\n return out;\n};\n\n/**\n * Converts string to buffer of char codes\n * @param {string} str The string to parse\n * @returns {Uint8Array} Buffer of char codes\n */\nvar stringToCharBuffer = function (str) {\n var escapedStr = unescape(encodeURIComponent(str));\n var buffer = new Uint8Array(escapedStr.length);\n\n for (var i = 0; i < escapedStr.length; i++) {\n buffer[i] = escapedStr[i].charCodeAt(0);\n }\n\n return buffer;\n};\n\n/**\n * Generates MD5 hash from buffer\n * @param {Uint8Array} buf Buffer of char codes\n * @returns {Uint8Array} MD5 hash buffer\n */\nvar md5Hash = function (buf) {\n return new Uint8Array(md5.arrayBuffer(buf));\n};\n\n/**\n * Generates SHA-1 hash from buffer\n * @param {Uint8Array} buf Buffer of char codes\n * @returns {Uint8Array} SHA-1 hash buffer\n */\nvar sha1Hash = function (buf) {\n return new Uint8Array(sha1.arrayBuffer(buf));\n};\n\n/**\n * Concatenates two uint8 buffers\n * @param {Uint8Array} buf1 The first buffer to concatenate\n * @param {Uint8Array} buf2 The second buffer to concatenate\n * @returns {Uint8Array} Concatenation result\n */\nvar concatBuffers = function (buf1, buf2) {\n var out = new Uint8Array(buf1.length + buf2.length);\n\n out.set(new Uint8Array(buf1), 0);\n out.set(new Uint8Array(buf2), buf1.byteLength);\n\n return out;\n};\n\n/**\n * Validates UUID\n * @param {string} uuid UUID to validate\n * @return {boolean} Validation result\n */\nvar validateUuid = function (uuid) {\n return typeof uuid === 'string' && uuid.length === UUID_LENGTH && UUID_REGEXP.test(uuid);\n};\n\n/**\n * Parses UUID into a buffer\n * @param {string} uuid UUID to parse\n * @returns {Uint8Array} Ready buffer\n */\nvar parseUuid = function (uuid) {\n if (!validateUuid(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var buf = new Uint8Array(16);\n var strIndex = 0;\n var bufIndex = 0;\n\n while (strIndex < uuid.length) {\n if (uuid[strIndex] === '-') {\n strIndex++;\n continue;\n }\n\n var oct = (uuid[strIndex] + uuid[strIndex + 1]).toLowerCase();\n buf[bufIndex] = HEX_TO_BYTE_MAP[oct];\n\n bufIndex++;\n strIndex += 2;\n }\n\n return buf;\n};\n\n/**\n * Creates uuid from hash buffer\n * @param {Uint8Array} hashBuffer Hash buffer\n * @param {3|5} version Version of uuid\n * @returns {string} The uuid\n */\nvar hashToUuid = function (hashBuffer, version) {\n return (\n // The low field of the timestamp\n uint8ArrayToHex(hashBuffer.slice(0, 4)) +\n '-' +\n // The middle field of the timestamp\n uint8ArrayToHex(hashBuffer.slice(4, 6)) +\n '-' +\n // The high field of the timestamp multiplexed with the version number\n uint8ToHex((hashBuffer[6] & 0x0f) | parseInt(version * 10, 16)) +\n uint8ToHex(hashBuffer[7]) +\n '-' +\n // The high field of the clock sequence multiplexed with the variant\n uint8ToHex((hashBuffer[8] & 0x3f) | 0x80) +\n // The low field of the clock sequence\n uint8ToHex(hashBuffer[9]) +\n '-' +\n // The spatially unique node identifier\n uint8ArrayToHex(hashBuffer.slice(10, 16))\n );\n};\n\nmodule.exports = {\n uint8ToHex: uint8ToHex,\n uint8ArrayToHex: uint8ArrayToHex,\n stringToCharBuffer: stringToCharBuffer,\n md5Hash: md5Hash,\n sha1Hash: sha1Hash,\n concatBuffers: concatBuffers,\n validateUuid: validateUuid,\n parseUuid: parseUuid,\n hashToUuid: hashToUuid,\n};\n","var lib = require('./lib');\n\n/** Uin8Array with zero items */\nvar EMPTY_UINT8_ARRAY = new Uint8Array(0);\n\n/**\n * Generates the Name-Based UUID hashes v3 and v5 according to RFC-4122\n * https://tools.ietf.org/html/rfc4122#section-4.3\n * @param {string} target Hashing target\n * @param {string} [namespace] Some name space within which generation occurs\n * @param {3|5} [version=5] Version of UUID. Available versions is 3 and 5\n * according to RFC-4122. The version is responsible for the hashing algorithm:\n * version 3 uses MD5, and version 5 uses SHA-1. Default is 5.\n * @returns {string} UUID\n */\nfunction generateUuid(target, namespace, version) {\n if (typeof target !== 'string') {\n throw TypeError('Value must be string');\n }\n\n if (typeof namespace === 'number') {\n return generateUuid(target, undefined, namespace);\n }\n\n if (version == null) {\n return generateUuid(target, namespace, 5);\n }\n\n if (version !== 3 && version !== 5) {\n throw TypeError('Version of UUID can be only 3 or 5');\n }\n\n // Parsing target chars\n var targetCharBuffer = lib.stringToCharBuffer(target);\n var namespaceCharBuffer = typeof namespace === 'string' ? lib.parseUuid(namespace) : EMPTY_UINT8_ARRAY;\n\n // Concatenation two buffers of strings to one\n var buffer = lib.concatBuffers(namespaceCharBuffer, targetCharBuffer);\n\n // Getting hash\n var hash = version === 3 ? lib.md5Hash(buffer) : lib.sha1Hash(buffer);\n\n return lib.hashToUuid(hash, version);\n}\n\n/**\n * Export module\n */\nmodule.exports = generateUuid;\n","import 'react-grid-layout/css/styles.css';\nimport 'react-resizable/css/styles.css';\n\nimport React, { useState } from 'react';\nimport RGL, { WidthProvider } from 'react-grid-layout';\n\nimport { WidgetCard } from 'andoncloud-dashboard-toolkit';\nimport { useLoginStatus } from 'andoncloud-sdk';\nimport getUuid from 'uuid-by-string';\n\nimport { DashboardProps } from '@/types';\n\nconst ReactGridLayout = WidthProvider(RGL);\n\nconst Dashboard: React.FC<DashboardProps> = ({\n apiUrl,\n lang,\n widgetName,\n widgetDisplayName,\n widgetWidth,\n widgetHeight,\n Widget,\n editMode,\n}) => {\n const { authResponse } = useLoginStatus();\n const [settingsModalOpened, setSettingsModalOpened] = useState<boolean>(false);\n const widgetId = getUuid(widgetName);\n\n return (\n <ReactGridLayout\n className=\"layout\"\n layout={[{ i: widgetId, x: 0, y: 0, w: widgetWidth || 3, h: widgetHeight || 4 }]}\n draggableHandle=\".draggable-handle\"\n >\n {authResponse?.accessToken && (\n <WidgetCard\n key={widgetId}\n Widget={Widget}\n title={widgetDisplayName(lang)}\n id={widgetId}\n url={apiUrl}\n token={authResponse.accessToken}\n lang={lang}\n openSettingsModal={settingsModalOpened}\n onSettingsModalOpened={() => setSettingsModalOpened(true)}\n onSettingsModalClosed={() => setSettingsModalOpened(false)}\n editMode={editMode}\n />\n )}\n </ReactGridLayout>\n );\n};\n\nexport default Dashboard;\n","import React from 'react';\nimport { Navigate, useRoutes } from 'react-router-dom';\n\nimport { useLoginStatus } from 'andoncloud-sdk';\n\nimport { DashboardProps } from '@/types';\n\nimport Dashboard from './Dashboard';\n\nconst routes = (\n isLoggedIn: boolean,\n { apiUrl, lang, widgetName, widgetDisplayName, widgetWidth, widgetHeight, Widget, editMode }: DashboardProps,\n) => [\n {\n path: '/',\n element: isLoggedIn ? (\n <Dashboard\n apiUrl={apiUrl}\n lang={lang}\n widgetName={widgetName}\n widgetDisplayName={widgetDisplayName}\n widgetWidth={widgetWidth}\n widgetHeight={widgetHeight}\n Widget={Widget}\n editMode={editMode}\n />\n ) : (\n <Navigate to=\"/login\" />\n ),\n },\n];\n\nconst Routing: React.FC<DashboardProps> = (dashboardProps) => {\n const { status } = useLoginStatus();\n\n return useRoutes(routes(status === 'connected', dashboardProps));\n};\n\nexport default Routing;\n","import React, { useState } from 'react';\n\nimport { App as AndonCloudApp, AuthProps, Container, HeaderProps, setLocale } from 'andoncloud-sdk';\n\nimport { WidgetPreviewProps } from '@/types';\n\nimport Routing from '../Routing';\n\nconst WidgetPreview: React.FC<WidgetPreviewProps> = ({\n baseUrl,\n apiUrl,\n widgetName,\n widgetDisplayName,\n widgetWidth,\n widgetHeight,\n Widget,\n}) => {\n const [lang, setLang] = useState<'en' | 'pl'>('pl');\n const [editMode, setEditMode] = useState<boolean>(true);\n const getEditModeText = () => {\n if (editMode) {\n return lang === 'pl' ? 'Wyłącz tryb edycji' : 'Turn off edit mode';\n }\n return lang === 'pl' ? 'Włącz tryb edycji' : 'Turn on edit mode';\n };\n\n const menuItems = [\n {\n label: getEditModeText(),\n action: () => setEditMode((current) => !current),\n },\n {\n label: lang === 'pl' ? 'Change language to English' : 'Zmień język na Polski',\n action: () => {\n const newLang = lang === 'pl' ? 'en' : 'pl';\n\n setLang(newLang);\n setLocale(newLang);\n },\n },\n ];\n const authProps: AuthProps = {\n redirectPath: '/',\n clientId: 'sample-app-client-id',\n grantType: 'password',\n };\n const headerProps: HeaderProps = {\n position: 'static',\n leadingText: widgetDisplayName(lang),\n menuProps: {\n items: menuItems,\n buttonColor: 'white',\n },\n };\n\n return (\n <AndonCloudApp baseUrl={baseUrl} authProps={authProps}>\n <Container headerProps={headerProps}>\n <Routing\n apiUrl={apiUrl}\n lang={lang}\n widgetName={widgetName}\n widgetDisplayName={widgetDisplayName}\n widgetWidth={widgetWidth}\n widgetHeight={widgetHeight}\n Widget={Widget}\n editMode={editMode}\n />\n </Container>\n </AndonCloudApp>\n );\n};\n\nexport default WidgetPreview;\n"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_toPrimitive","input","hint","prim","toPrimitive","undefined","res","call","TypeError","String","Number","_toPropertyKey","arg","key","_defineProperty","value","toPropertyKey","Object","defineProperty","enumerable","configurable","writable","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","m","unescape","text","replace","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","setDefaults","options","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","initReactI18next","type","init","react","_arrayWithHoles","arr","Array","isArray","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","toString","slice","name","from","test","_nonIterableRest","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_inherits","subClass","superClass","create","_possibleConstructorReturn","assertThisInitialized","_getPrototypeOf","getPrototypeOf","_iterableToArray","iter","_toArray","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","ownKeys$6","_objectSpread$6","createContext","ReportNamespaces","this","usedNamespaces","namespaces","_this","ns","consoleLogger","log","args","output","warn","error","console","Logger","concreteLogger","prefix","logger","debug","bool","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","concat","moduleName","baseLogger","EventEmitter","observers","events","listener","split","event","l","cloned","observer","_cloned","defer","rej","promise","Promise","resolve","reject","makeString","copy","a","s","t","getLastOfPath","path","Empty","cleanKey","indexOf","canNotTraverseDeeper","stack","shift","hasOwnProperty","k","setPath","newValue","_getLastOfPath","pushPath","_getLastOfPath2","getPath","_getLastOfPath3","getPathWithDefaults","data","defaultData","deepExtend","overwrite","prop","regexEscape","str","_entityMap","escape","isIE10","window","navigator","userAgentData","userAgent","chars","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","c","r","RegExp","map","join","matched","ki","substring","ownKeys$5","_objectSpread$5","_createSuper$3","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$3","result","Super","NewTarget","Reflect","construct","sham","Proxy","Boolean","valueOf","e","deepFind","paths","current","j","mix","endsWith","joinedPath","ResourceStore","_EventEmitter","_super","defaultNS","ignoreJSONStructure","index","splice","lng","silent","addNamespaces","emit","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","find","v","postProcessor","processors","addPostProcessor","module","handle","translator","processor","process","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","services","language","interpolation","resolved","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","match","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","toLowerCase","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","defaultVariables","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","hasLoadedNamespace","code","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","option","capitalize","string","charAt","toUpperCase","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","other","createRules","rules","set","numbers","plurals","PluralResolver","compatibilityJSON","Intl","PluralRules","_unused","rule","getRule","resolvedOptions","pluralCategories","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","includes","ownKeys$3","_objectSpread$3","Interpolator","format","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","trim","f","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","JSON","formatters","doReduce","elem","reduce","ownKeys$2","_objectSpread$2","parseFormatStr","formatStr","formatName","formatOptions","optStr","currency","range","opt","_opt$split2","isNaN","parseInt","createCachedFormatter","fn","cache","stringify","formatter","Formatter","formats","NumberFormat","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","list","ListFormat","_format","mem","_parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","removePending","q","pending","pendingCount","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","state","queue","languages","callback","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","loaded","errors","err","addResourceBundle","done","loadedKeys","fcName","tried","wait","resolver","next","read","setTimeout","then","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","clb","opts","get","initImmediate","preload","partialBundledLanguages","ret","tDescription","transformOptions","_createSuper","_isNativeReflectConstruct","noop","bindMemberFunctions","inst","getOwnPropertyNames","I18n","modules","external","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","on","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","finish","initializedStoreOnce","changeLanguage","usedCallback","append","resolvedLanguage","setResolvedLanguage","Error","li","lngInLngs","hasLanguageSomeTranslations","isLanguageChangingTo","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","keyPrefix","fixedT","rest","resultKey","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","membersToCopy","createInstance","en","translation","pl","use","ERROR","WINDOW","root","JS_MD5_NO_WINDOW","WEB_WORKER","NODE_JS","JS_MD5_NO_NODE_JS","versions","node","global","COMMON_JS","JS_MD5_NO_COMMON_JS","exports","ARRAY_BUFFER","JS_MD5_NO_ARRAY_BUFFER","ArrayBuffer","HEX_CHARS","EXTRA","SHIFT","OUTPUT_TYPES","BASE64_ENCODE_CHAR","blocks","buffer8","buffer","Uint8Array","Uint32Array","JS_MD5_NO_ARRAY_BUFFER_IS_VIEW","isView","createOutputMethod","outputType","message","Md5","update","createMethod","method","nodeWrap","crypto","eval","Buffer","nodeMethod","createHash","digest","sharedMemory","h0","h1","h2","h3","start","bytes","hBytes","finalized","hashed","first","notString","charCodeAt","lastByteIndex","hash","finalize","b","d","bc","da","hex","array","arrayBuffer","base64","v1","v2","v3","base64Str","md5","JS_SHA1_NO_NODE_JS","JS_SHA1_NO_COMMON_JS","Sha1","h4","block","dataView","DataView","setUint32","sha1","HEX_DIGITS","UUID_LENGTH","UUID_REGEXP","HEX_TO_BYTE_MAP","uint8ToHex","ubyte","uint8ArrayToHex","buf","out","stringToCharBuffer","escapedStr","encodeURIComponent","md5Hash","sha1Hash","concatBuffers","buf1","buf2","byteLength","validateUuid","uuid","parseUuid","strIndex","bufIndex","oct","hashToUuid","hashBuffer","version","lib","EMPTY_UINT8_ARRAY","generateUuid","targetCharBuffer","namespaceCharBuffer","src","ReactGridLayout","WidthProvider","RGL","Dashboard","_ref","apiUrl","lang","widgetName","widgetDisplayName","widgetWidth","widgetHeight","Widget","editMode","authResponse","useLoginStatus","_useState","useState","settingsModalOpened","setSettingsModalOpened","getUuid","React","createElement","className","layout","widgetId","x","y","w","h","draggableHandle","accessToken","WidgetCard","title","id","url","token","openSettingsModal","onSettingsModalOpened","onSettingsModalClosed","routes","isLoggedIn","element","Navigate","to","Routing","dashboardProps","_useLoginStatus","useRoutes","status","WidgetPreview","baseUrl","setLang","_useState2","setEditMode","menuItems","label","action","newLang","setLocale","headerProps","position","leadingText","menuProps","items","buttonColor","AndonCloudApp","App","authProps","redirectPath","clientId","grantType","Container"],"mappings":"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"}