{"version":3,"file":"vendors-536eaa00.xxxxxxxx.bundle.js","mappings":"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AOhX,EAAyBjC,EAAQ1D,GAC9C,GAAI2c,EAAM,CACT,GAAIA,EAAKC,IAAK,OAAOlC,EAAQiC,EAAKC,KAClC,GAA0B,mBAAfD,EAAK9kB,MAAsB,OAAO6iB,EAAQiC,EAAK9kB,MAC3D,CACA6L,EAASsW,EAAetW,EACzB,CAIA,OAHA,WACC,OAAO,IACR,CAED,CASA,MAAMmZ,EAAS5C,EAAO,CACrB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAEK6C,EAAQ7C,EAAO,CACpB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,cACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,YACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,UAEK8C,EAAa9C,EAAO,CACzB,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAEK+C,EAAgB/C,EAAO,CAC5B,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,QAEKgD,EAAWhD,EAAO,CACvB,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,gBAEKiD,EAAmBjD,EAAO,CAC/B,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,SAEKkD,EAAOlD,EAAO,CAAC,UACfmD,EAAOnD,EAAO,CACnB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,UACA,aACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,cACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,QACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,OACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,UAEKoD,EAAMpD,EAAO,CAClB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,oBACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,YACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,iBACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,mBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,gBACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAEKqD,EAASrD,EAAO,CACrB,SACA,cACA,QACA,WACA,QACA,cACA,cACA,gBACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,Q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","sources":["webpack://iadviser/./node_modules/deepmerge/dist/cjs.js","webpack://iadviser/./node_modules/i18next-xhr-backend/dist/commonjs/ajax.js","webpack://iadviser/./node_modules/i18next-xhr-backend/dist/commonjs/index.js","webpack://iadviser/./node_modules/i18next-xhr-backend/dist/commonjs/utils.js","webpack://iadviser/./node_modules/i18next-xhr-backend/index.js","webpack://iadviser/./node_modules/i18next/dist/es/logger.js","webpack://iadviser/./node_modules/i18next/dist/es/EventEmitter.js","webpack://iadviser/./node_modules/i18next/dist/es/utils.js","webpack://iadviser/./node_modules/i18next/dist/es/ResourceStore.js","webpack://iadviser/./node_modules/i18next/dist/es/postProcessor.js","webpack://iadviser/./node_modules/i18next/dist/es/Translator.js","webpack://iadviser/./node_modules/i18next/dist/es/LanguageUtils.js","webpack://iadviser/./node_modules/i18next/dist/es/PluralResolver.js","webpack://iadviser/./node_modules/i18next/dist/es/Interpolator.js","webpack://iadviser/./node_modules/i18next/dist/es/BackendConnector.js","webpack://iadviser/./node_modules/i18next/dist/es/defaults.js","webpack://iadviser/./node_modules/i18next/dist/es/i18next.js","webpack://iadviser/./node_modules/i18next/dist/es/index.js","webpack://iadviser/./node_modules/ieee754/index.js","webpack://iadviser/./node_modules/dompurify/dist/purify.es.mjs"],"sourcesContent":["'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction addQueryString(url, params) {\n if (params && (typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object') {\n var queryString = '',\n e = encodeURIComponent;\n\n // Must encode data\n for (var paramName in params) {\n queryString += '&' + e(paramName) + '=' + e(params[paramName]);\n }\n\n if (!queryString) {\n return url;\n }\n\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n\n return url;\n}\n\n// https://gist.github.com/Xeoncross/7663273\nfunction ajax(url, options, callback, data, cache) {\n\n if (data && (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') {\n if (!cache) {\n data['_t'] = new Date();\n }\n // URL encoded form data must be in querystring format\n data = addQueryString('', data).slice(1);\n }\n\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n try {\n var x;\n if (XMLHttpRequest) {\n x = new XMLHttpRequest();\n } else {\n x = new ActiveXObject('MSXML2.XMLHTTP.3.0');\n }\n x.open(data ? 'POST' : 'GET', url, 1);\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n x.withCredentials = !!options.withCredentials;\n if (data) {\n x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n if (x.overrideMimeType) {\n x.overrideMimeType(\"application/json\");\n }\n var h = options.customHeaders;\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n x.onreadystatechange = function () {\n x.readyState > 3 && callback && callback(x.responseText, x);\n };\n x.send(data);\n } catch (e) {\n console && console.log(e);\n }\n}\n\nexports.default = ajax;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _utils = require('./utils.js');\n\nvar utils = _interopRequireWildcard(_utils);\n\nvar _ajax = require('./ajax.js');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: JSON.parse,\n crossDomain: false,\n ajax: _ajax2.default\n };\n}\n\nvar Backend = function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Backend);\n\n this.init(services, options);\n\n this.type = 'backend';\n }\n\n _createClass(Backend, [{\n key: 'init',\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.services = services;\n this.options = utils.defaults(options, this.options || {}, getDefaults());\n }\n }, {\n key: 'readMulti',\n value: function readMulti(languages, namespaces, callback) {\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, { lng: languages.join('+'), ns: namespaces.join('+') });\n\n this.loadUrl(url, callback);\n }\n }, {\n key: 'read',\n value: function read(language, namespace, callback) {\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath([language], [namespace]);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, { lng: language, ns: namespace });\n\n this.loadUrl(url, callback);\n }\n }, {\n key: 'loadUrl',\n value: function loadUrl(url, callback) {\n var _this = this;\n\n this.options.ajax(url, this.options, function (data, xhr) {\n if (xhr.status >= 500 && xhr.status < 600) return callback('failed loading ' + url, true /* retry */);\n if (xhr.status >= 400 && xhr.status < 500) return callback('failed loading ' + url, false /* no retry */);\n\n var ret = void 0,\n err = void 0;\n try {\n ret = _this.options.parse(data, url);\n } catch (e) {\n err = 'failed parsing ' + url + ' to json';\n }\n if (err) return callback(err, false);\n callback(null, ret);\n });\n }\n }, {\n key: 'create',\n value: function create(languages, namespace, key, fallbackValue) {\n var _this2 = this;\n\n if (typeof languages === 'string') languages = [languages];\n\n var payload = {};\n payload[key] = fallbackValue || '';\n\n languages.forEach(function (lng) {\n var url = _this2.services.interpolator.interpolate(_this2.options.addPath, { lng: lng, ns: namespace });\n\n _this2.options.ajax(url, _this2.options, function (data, xhr) {\n //const statusCode = xhr.status.toString();\n // TODO: if statusCode === 4xx do log\n }, payload);\n });\n }\n }]);\n\n return Backend;\n}();\n\nBackend.type = 'backend';\n\nexports.default = Backend;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.defaults = defaults;\nexports.extend = extend;\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\n\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\nfunction extend(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}","/* eslint no-var: 0 */\nvar main = require('./dist/commonjs/index.js').default;\n\nmodule.exports = main;\nmodule.exports.default = main;\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar consoleLogger = {\n type: 'logger',\n\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 var _console;\n\n /* eslint no-console: 0 */\n if (console && console[type]) (_console = console)[type].apply(_console, _toConsumableArray(args));\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n Logger.prototype.init = function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n };\n\n Logger.prototype.setDebug = function setDebug(bool) {\n this.debug = bool;\n };\n\n Logger.prototype.log = function log() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n };\n\n Logger.prototype.warn = function warn() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n };\n\n Logger.prototype.error = function error() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n };\n\n Logger.prototype.deprecate = function deprecate() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n };\n\n Logger.prototype.forward = function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = '' + prefix + this.prefix + ' ' + args[0];\n return this.logger[lvl](args);\n };\n\n Logger.prototype.create = function create(moduleName) {\n return new Logger(this.logger, _extends({ prefix: this.prefix + ':' + moduleName + ':' }, this.options));\n };\n\n return Logger;\n}();\n\nexport default new Logger();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n EventEmitter.prototype.on = function on(events, listener) {\n var _this = this;\n\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 EventEmitter.prototype.off = function off(event, listener) {\n var _this2 = this;\n\n if (!this.observers[event]) {\n return;\n }\n\n this.observers[event].forEach(function () {\n if (!listener) {\n delete _this2.observers[event];\n } else {\n var index = _this2.observers[event].indexOf(listener);\n if (index > -1) {\n _this2.observers[event].splice(index, 1);\n }\n }\n });\n };\n\n EventEmitter.prototype.emit = function emit(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(undefined, args);\n });\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\nexport default EventEmitter;","// http://lea.verou.me/2016/12/resolve-promises-externally-with-this-one-weird-trick/\nexport function defer() {\n var res = void 0;\n var rej = void 0;\n\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n\n promise.resolve = res;\n promise.reject = rej;\n\n return promise;\n}\n\nexport function makeString(object) {\n if (object == null) return '';\n /* eslint prefer-template: 0 */\n return '' + object;\n}\n\nexport function copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n object = object[key];\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nexport function setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nexport function pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nexport function getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nexport function deepExtend(target, source, overwrite) {\n /* eslint no-restricted-syntax: 0 */\n for (var prop in source) {\n if (prop in target) {\n // If we reached a leaf string in target or source then replace with source or skip depending on the 'overwrite' switch\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 return target;\n}\n\nexport function regexEscape(str) {\n /* eslint no-useless-escape: 0 */\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\n/* eslint-disable */\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\n/* eslint-enable */\n\nexport function escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport EventEmitter from './EventEmitter.js';\nimport * as utils from './utils.js';\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { ns: ['translation'], defaultNS: 'translation' };\n\n _classCallCheck(this, ResourceStore);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n return _this;\n }\n\n ResourceStore.prototype.addNamespaces = function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n };\n\n ResourceStore.prototype.removeNamespaces = 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 ResourceStore.prototype.getResource = function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return utils.getPath(this.data, path);\n };\n\n ResourceStore.prototype.addResource = function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { silent: false };\n\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n\n utils.setPath(this.data, path, value);\n\n if (!options.silent) this.emit('added', lng, ns, key, value);\n };\n\n ResourceStore.prototype.addResources = function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { silent: false };\n\n /* eslint no-restricted-syntax: 0 */\n for (var m in resources) {\n if (typeof resources[m] === 'string') this.addResource(lng, ns, m, resources[m], { silent: true });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.addResourceBundle = function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { 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\n this.addNamespaces(ns);\n\n var pack = utils.getPath(this.data, path) || {};\n\n if (deep) {\n utils.deepExtend(pack, resources, overwrite);\n } else {\n pack = _extends({}, pack, resources);\n }\n\n utils.setPath(this.data, path, pack);\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.removeResourceBundle = function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n\n this.emit('removed', lng, ns);\n };\n\n ResourceStore.prototype.hasResourceBundle = function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n };\n\n ResourceStore.prototype.getResourceBundle = function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n\n // COMPATIBILITY: remove extend in v2.1.0\n if (this.options.compatibilityAPI === 'v1') return _extends({}, this.getResource(lng, ns));\n\n return this.getResource(lng, ns);\n };\n\n ResourceStore.prototype.getDataByLanguage = function getDataByLanguage(lng) {\n return this.data[lng];\n };\n\n ResourceStore.prototype.toJSON = function toJSON() {\n return this.data;\n };\n\n return ResourceStore;\n}(EventEmitter);\n\nexport default ResourceStore;","export default {\n processors: {},\n\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n\n return value;\n }\n};","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\nimport postProcessor from './postProcessor.js';\nimport * as utils from './utils.js';\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n utils.copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat'], services, _this);\n\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n Translator.prototype.changeLanguage = function changeLanguage(lng) {\n if (lng) this.language = lng;\n };\n\n Translator.prototype.exists = function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { interpolation: {} };\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n };\n\n Translator.prototype.extractFromKey = function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var namespaces = options.ns || this.options.defaultNS;\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\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\n return {\n key: key,\n namespaces: namespaces\n };\n };\n\n Translator.prototype.translate = function translate(keys, options) {\n var _this2 = this;\n\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object' && this.options.overloadTranslationOptionHandler) {\n /* eslint prefer-rest-params: 0 */\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n\n // non valid keys handling\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n\n // separators\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n // get namespace(s)\n\n var _extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _extractFromKey.key,\n namespaces = _extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n\n // return key on CIMode\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 return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n // resolve from store\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\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\n // object\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 this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : 'key \\'' + key + ' (' + this.language + ')\\' returned an object instead of string.';\n }\n\n // if we got a separator we loop over children - else we just return object as is\n // as having it set to false means no hierarchy so no lookup for nested values\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {}; // apply child translation on a copy\n\n /* eslint no-restricted-syntax: 0 */\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = '' + newKeyToUse + keySeparator + m;\n copy[m] = this.translate(deepKey, _extends({}, options, { joinArrays: false, ns: namespaces }));\n if (copy[m] === deepKey) copy[m] = res[m]; // if nothing found use orginal value as fallback\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n // array special treatment\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options);\n } else {\n // string, empty or null\n var usedDefault = false;\n var usedKey = false;\n\n // fallback value\n if (!this.isValidLookup(res) && options.defaultValue !== undefined) {\n usedDefault = true;\n\n if (options.count !== undefined) {\n var suffix = this.pluralResolver.getSuffix(lng, options.count);\n res = options['defaultValue' + suffix];\n }\n if (!res) res = options.defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n // save missing\n var updateMissing = options.defaultValue && options.defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? options.defaultValue : res);\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\n var send = function send(l, k) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (l) {\n var plurals = _this2.pluralResolver.getPluralFormsOfKey(l, key);\n\n plurals.forEach(function (p) {\n return send([l], p);\n });\n });\n } else {\n send(lngs, key);\n }\n }\n }\n\n // extend\n res = this.extendTranslation(res, keys, options, resolved);\n\n // append namespace if still key\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = namespace + ':' + key;\n\n // parseMissingKeyHandler\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n // return\n return res;\n };\n\n Translator.prototype.extendTranslation = function extendTranslation(res, key, options, resolved) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, { resolved: resolved });\n } else if (!options.skipInterpolation) {\n // i18next.parsing\n if (options.interpolation) this.interpolator.init(_extends({}, options, { interpolation: _extends({}, this.options.interpolation, options.interpolation) }));\n\n // interpolate\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _extends({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n // nesting\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n return _this3.translate.apply(_this3, arguments);\n }, options);\n\n if (options.interpolation) this.interpolator.reset();\n }\n\n // post process\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, options, this);\n }\n\n return res;\n };\n\n Translator.prototype.resolve = function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var found = void 0;\n var usedKey = void 0; // plain key\n var exactUsedKey = void 0; // key with context / plural\n var usedLng = void 0;\n var usedNS = void 0;\n\n if (typeof keys === 'string') keys = [keys];\n\n // forEach possible key\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\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix = void 0;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n\n // fallback for plural if context not found\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n\n // get key for context if needed\n if (needsContextHandling) finalKeys.push(finalKey += '' + _this4.options.contextSeparator + options.context);\n\n // get key for plural if needed\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n // iterate over finalKeys starting with most specific pluralkey (-> contextkey only) -> singularkey only\n var possibleKey = void 0;\n /* eslint no-cond-assign: 0 */\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\n return { res: found, usedKey: usedKey, exactUsedKey: exactUsedKey, usedLng: usedLng, usedNS: usedNS };\n };\n\n Translator.prototype.isValidLookup = function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n };\n\n Translator.prototype.getResource = function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\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 return Translator;\n}(EventEmitter);\n\nexport default Translator;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport baseLogger from './logger.js';\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n\n this.whitelist = this.options.whitelist || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n LanguageUtil.prototype.getScriptPartFromCode = function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n return this.formatLanguageCode(p.join('-'));\n };\n\n LanguageUtil.prototype.getLanguagePartFromCode = function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n };\n\n LanguageUtil.prototype.formatLanguageCode = function formatLanguageCode(code) {\n // http://www.iana.org/assignments/language-tags/language-tags.xhtml\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n\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\n // if lenght 2 guess it's a country\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\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n };\n\n LanguageUtil.prototype.isWhitelisted = function isWhitelisted(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitWhitelist) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(code) > -1;\n };\n\n LanguageUtil.prototype.getFallbackCodes = function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n\n if (!code) return fallbacks.default || [];\n\n // asume we have an object defining fallbacks\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.default;\n\n return found || [];\n };\n\n LanguageUtil.prototype.toResolveHierarchy = function toResolveHierarchy(code, fallbackCode) {\n var _this = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this.isWhitelisted(c)) {\n codes.push(c);\n } else {\n _this.logger.warn('rejecting non-whitelisted language code: ' + c);\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this.formatLanguageCode(fc));\n });\n\n return codes;\n };\n\n return LanguageUtil;\n}();\n\nexport default LanguageUtil;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport baseLogger from './logger.js';\n\n// definition http://translate.sourceforge.net/wiki/l10n/pluralforms\n/* eslint-disable */\nvar sets = [{ lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'ti', 'tr', 'uz', 'wa'], nr: [1, 2], fc: 1 }, { lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], nr: [1, 2], fc: 2 }, { lngs: ['ay', 'bo', 'cgg', 'fa', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], nr: [1], fc: 3 }, { lngs: ['be', 'bs', 'dz', 'hr', 'ru', 'sr', 'uk'], nr: [1, 2, 5], fc: 4 }, { lngs: ['ar'], nr: [0, 1, 2, 3, 11, 100], fc: 5 }, { lngs: ['cs', 'sk'], nr: [1, 2, 5], fc: 6 }, { lngs: ['csb', 'pl'], nr: [1, 2, 5], fc: 7 }, { lngs: ['cy'], nr: [1, 2, 3, 8], fc: 8 }, { lngs: ['fr'], nr: [1, 2], fc: 9 }, { lngs: ['ga'], nr: [1, 2, 3, 7, 11], fc: 10 }, { lngs: ['gd'], nr: [1, 2, 3, 20], fc: 11 }, { lngs: ['is'], nr: [1, 2], fc: 12 }, { lngs: ['jv'], nr: [0, 1], fc: 13 }, { lngs: ['kw'], nr: [1, 2, 3, 4], fc: 14 }, { lngs: ['lt'], nr: [1, 2, 10], fc: 15 }, { lngs: ['lv'], nr: [1, 2, 0], fc: 16 }, { lngs: ['mk'], nr: [1, 2], fc: 17 }, { lngs: ['mnk'], nr: [0, 1, 2], fc: 18 }, { lngs: ['mt'], nr: [1, 2, 11, 20], fc: 19 }, { lngs: ['or'], nr: [2, 1], fc: 2 }, { lngs: ['ro'], nr: [1, 2, 20], fc: 20 }, { lngs: ['sl'], nr: [5, 1, 2, 3], fc: 21 }, { lngs: ['he'], nr: [1, 2, 20, 21], 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 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n === 1 ? 0 : n === 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\n/* eslint-enable */\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n\n this.logger = baseLogger.create('pluralResolver');\n\n this.rules = createRules();\n }\n\n PluralResolver.prototype.addRule = function addRule(lng, obj) {\n this.rules[lng] = obj;\n };\n\n PluralResolver.prototype.getRule = function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n };\n\n PluralResolver.prototype.needsPlural = function needsPlural(code) {\n var rule = this.getRule(code);\n\n return rule && rule.numbers.length > 1;\n };\n\n PluralResolver.prototype.getPluralFormsOfKey = function getPluralFormsOfKey(code, key) {\n var _this = this;\n\n var ret = [];\n\n var rule = this.getRule(code);\n\n if (!rule) return ret;\n\n rule.numbers.forEach(function (n) {\n var suffix = _this.getSuffix(code, n);\n ret.push('' + key + suffix);\n });\n\n return ret;\n };\n\n PluralResolver.prototype.getSuffix = function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n // if (rule.numbers.length === 1) return ''; // only singular\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n // special treatment for lngs only having singular and plural\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n // COMPATIBILITY JSON\n // v1\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return '_plural_' + suffix.toString();\n return returnSuffix();\n } else if ( /* v2 */this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if ( /* v3 - gettext index */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 this.logger.warn('no plural rule found for: ' + code);\n return '';\n };\n\n return PluralResolver;\n}();\n\nexport default PluralResolver;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n\n this.init(options, true);\n }\n\n /* eslint no-param-reassign: 0 */\n\n\n Interpolator.prototype.init = function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var reset = arguments[1];\n\n if (reset) {\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n }\n if (!options.interpolation) options.interpolation = { escapeValue: true };\n\n var iOpts = options.interpolation;\n\n this.escape = iOpts.escape !== undefined ? iOpts.escape : utils.escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n\n this.prefix = iOpts.prefix ? utils.regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? utils.regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n\n this.nestingPrefix = iOpts.nestingPrefix ? utils.regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || utils.regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? utils.regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || utils.regexEscape(')');\n\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n\n // the regexp\n this.resetRegExp();\n };\n\n Interpolator.prototype.reset = function reset() {\n if (this.options) this.init(this.options);\n };\n\n Interpolator.prototype.resetRegExp = function resetRegExp() {\n // the regexp\n var regexpStr = this.prefix + '(.+?)' + this.suffix;\n this.regexp = new RegExp(regexpStr, 'g');\n\n var regexpUnescapeStr = '' + this.prefix + this.unescapePrefix + '(.+?)' + this.unescapeSuffix + this.suffix;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n\n var nestingRegexpStr = this.nestingPrefix + '(.+?)' + this.nestingSuffix;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n };\n\n Interpolator.prototype.interpolate = function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match = void 0;\n var value = void 0;\n var replaces = void 0;\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) return utils.getPath(data, key);\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n\n return _this.format(utils.getPath(data, k), f, lng);\n };\n\n this.resetRegExp();\n\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n\n replaces = 0;\n // unescape if has unescapePrefix/Suffix\n /* eslint no-cond-assign: 0 */\n while (match = this.regexpUnescape.exec(str)) {\n value = handleFormat(match[1].trim());\n str = str.replace(match[0], value);\n this.regexpUnescape.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n\n replaces = 0;\n // regular escape on demand\n while (match = this.regexp.exec(str)) {\n value = handleFormat(match[1].trim());\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else {\n this.logger.warn('missed to pass in variable ' + match[1] + ' for interpolating ' + str);\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = utils.makeString(value);\n }\n value = this.escapeValue ? regexSafe(this.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n return str;\n };\n\n Interpolator.prototype.nest = function nest(str, fc) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var match = void 0;\n var value = void 0;\n\n var clonedOptions = _extends({}, options);\n clonedOptions.applyPostProcessor = false; // avoid post processing on nested lookup\n\n // if value is something like \"myKey\": \"lorem $(anotherKey, { \"count\": {{aValueInOptions}} })\"\n function handleHasOptions(key, inheritedOptions) {\n if (key.indexOf(',') < 0) return key;\n\n var p = key.split(',');\n key = p.shift();\n var optionsString = p.join(',');\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n\n if (inheritedOptions) clonedOptions = _extends({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.error('failed parsing options string in nesting for key ' + key, e);\n }\n\n return key;\n }\n\n // regular escape on demand\n while (match = this.nestingRegexp.exec(str)) {\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n\n // is only the nesting key (key1 = '$(key2)') return the value without stringify\n if (value && match[0] === str && typeof value !== 'string') return value;\n\n // no string to include or empty\n if (typeof value !== 'string') value = utils.makeString(value);\n if (!value) {\n this.logger.warn('missed to resolve ' + match[1] + ' for nesting ' + str);\n value = '';\n }\n // Nested keys should not be escaped by default #854\n // value = this.escapeValue ? regexSafe(utils.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n };\n\n return Interpolator;\n}();\n\nexport default Interpolator;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.backend = backend;\n _this.store = store;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n\n Connector.prototype.queueLoad = function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n // find what needs to be loaded\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n\n namespaces.forEach(function (ns) {\n var name = lng + '|' + ns;\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2; // loaded\n } else if (_this2.state[name] < 0) {\n // nothing to do for err\n } else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1; // pending\n\n hasAllNamespaces = false;\n\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n };\n\n Connector.prototype.loaded = function loaded(name, err, data) {\n var _name$split = name.split('|'),\n _name$split2 = _slicedToArray(_name$split, 2),\n lng = _name$split2[0],\n ns = _name$split2[1];\n\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n // set loaded\n this.state[name] = err ? -1 : 2;\n\n // consolidated loading done in this run - only emit once for a loaded namespace\n var loaded = {};\n\n // callback if ready\n this.queue.forEach(function (q) {\n utils.pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n // only do once per loaded -> this.emit('loaded', q.loaded);\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n\n /* eslint no-param-reassign: 0 */\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n\n // emit consolidated loaded event\n this.emit('loaded', loaded);\n\n // remove done load requests\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n };\n\n Connector.prototype.read = function read(lng, ns, fcName) {\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var _this3 = this;\n\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 250;\n var callback = arguments[5];\n\n if (!lng.length) return callback(null, {}); // noting to load\n\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data /* = retryFlag */ && tried < 5) {\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 };\n\n /* eslint consistent-return: 0 */\n\n\n Connector.prototype.prepareLoading = function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments[3];\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback(); // nothing to load and no pendings...callback now\n return null; // pendings will trigger callback\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n };\n\n Connector.prototype.load = function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n };\n\n Connector.prototype.reload = function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, { reload: true }, callback);\n };\n\n Connector.prototype.loadOne = function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var _name$split3 = name.split('|'),\n _name$split4 = _slicedToArray(_name$split3, 2),\n lng = _name$split4[0],\n ns = _name$split4[1];\n\n this.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) _this5.logger.warn(prefix + 'loading namespace ' + ns + ' for language ' + lng + ' failed', err);\n if (!err && data) _this5.logger.log(prefix + 'loaded namespace ' + ns + ' for language ' + lng, data);\n\n _this5.loaded(name, err, data);\n });\n };\n\n Connector.prototype.saveMissing = function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null /* unused callback */, _extends({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n // write to store to avoid resending\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n };\n\n return Connector;\n}(EventEmitter);\n\nexport default Connector;","export { get };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false, // string or array of namespaces\n\n whitelist: false, // array with whitelisted languages\n nonExplicitWhitelist: false,\n load: 'all', // | currentOnly | languageOnly\n preload: false, // array with preload languages\n\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n\n partialBundledLanguages: false, // allow bundling certain languages that are not remotely fetched\n saveMissing: false, // enable to send missing values\n updateMissing: false, // enable to update default values if different from translated value (only useful on initial development, or when keeping code as source of truth)\n saveMissingTo: 'fallback', // 'current' || 'all'\n saveMissingPlurals: true, // will save all forms not only singular key\n missingKeyHandler: false, // function(lng, ns, key, fallbackValue) -> override if prefer on handling\n missingInterpolationHandler: false, // function(str, match)\n\n postProcess: false, // string or array of postProcessor names\n returnNull: true, // allows null value as valid translation\n returnEmptyString: true, // allows empty string value as valid translation\n returnObjects: false,\n joinArrays: false, // or string to join array\n returnedObjectHandler: function returnedObjectHandler() {}, // function(key, value, options) triggered if key returns object but returnObjects is set to false\n parseMissingKeyHandler: false, // function(key) parsed a key that was not found in t() before returning\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) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n // prefixEscaped: '{{',\n // suffixEscaped: '}}',\n // unescapeSuffix: '',\n unescapePrefix: '-',\n\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n // nestingPrefixEscaped: '$t(',\n // nestingSuffixEscaped: ')',\n // defaultVariables: undefined // object that can have values to interpolate on - extends passed in interpolation data\n maxReplaces: 1000 // max replaces to prevent endless loop\n }\n };\n}\n\n/* eslint no-param-reassign: 0 */\nexport function transformOptions(options) {\n // create namespace object if namespace is passed in as string\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n // extend whitelist with cimode\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n return options;\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\nimport ResourceStore from './ResourceStore.js';\nimport Translator from './Translator.js';\nimport LanguageUtils from './LanguageUtils.js';\nimport PluralResolver from './PluralResolver.js';\nimport Interpolator from './Interpolator.js';\nimport BackendConnector from './BackendConnector.js';\nimport { get as getDefaults, transformOptions } from './defaults.js';\nimport postProcessor from './postProcessor.js';\nimport { defer } from './utils.js';\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n _classCallCheck(this, I18n);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = { external: [] };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n // https://github.com/i18next/i18next/issues/879\n if (!_this.options.initImmediate) {\n var _ret;\n\n _this.init(options, callback);\n return _ret = _this, _possibleConstructorReturn(_this, _ret);\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n\n I18n.prototype.init = function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n this.options = _extends({}, getDefaults(), this.options, transformOptions(options));\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n // init services\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtils(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n\n s.backendConnector = new BackendConnector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n // pipe events from backendConnector\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n // pipe events from translator\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n // append api\n var storeApi = ['getResource', 'addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _store;\n\n return (_store = _this2.store)[fcName].apply(_store, arguments);\n };\n });\n\n var deferred = defer();\n\n var load = function load() {\n _this2.changeLanguage(_this2.options.lng, function (err, t) {\n _this2.isInitialized = true;\n _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t); // not rejecting on err (as err is only a loading translation failed warning)\n callback(err, t);\n });\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n };\n\n /* eslint consistent-return: 0 */\n\n\n I18n.prototype.loadResources = function loadResources() {\n var _this3 = this;\n\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (this.language && this.language.toLowerCase() === 'cimode') return callback(); // avoid loading resources for cimode\n\n var toLoad = [];\n\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\n if (!this.language) {\n // at least load fallbacks in this case\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(this.language);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, callback);\n } else {\n callback(null);\n }\n };\n\n I18n.prototype.reloadResources = 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 () {\n deferred.resolve();\n callback(null);\n });\n return deferred;\n };\n\n I18n.prototype.use = function use(module) {\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n };\n\n I18n.prototype.changeLanguage = function changeLanguage(lng, callback) {\n var _this4 = this;\n\n var deferred = defer();\n\n var done = function done(err, l) {\n _this4.translator.changeLanguage(l);\n\n if (l) {\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n };\n\n I18n.prototype.getFixedT = function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n for (var _len3 = arguments.length, rest = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n var options = _extends({}, opts);\n if ((typeof opts === 'undefined' ? 'undefined' : _typeof(opts)) !== 'object') {\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n return fixedT;\n };\n\n I18n.prototype.t = function t() {\n var _translator;\n\n return this.translator && (_translator = this.translator).translate.apply(_translator, arguments);\n };\n\n I18n.prototype.exists = function exists() {\n var _translator2;\n\n return this.translator && (_translator2 = this.translator).exists.apply(_translator2, arguments);\n };\n\n I18n.prototype.setDefaultNamespace = function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n };\n\n I18n.prototype.loadNamespaces = function loadNamespaces(ns, callback) {\n var _this6 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n\n ns.forEach(function (n) {\n if (_this6.options.ns.indexOf(n) < 0) _this6.options.ns.push(n);\n });\n\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n\n return deferred;\n };\n\n I18n.prototype.loadLanguages = function loadLanguages(lngs, callback) {\n var deferred = defer();\n\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n // Exit early if all given languages are already preloaded\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n\n return deferred;\n };\n\n I18n.prototype.dir = function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n\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', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n };\n\n /* eslint class-methods-use-this: 0 */\n\n\n I18n.prototype.createInstance = function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n return new I18n(options, callback);\n };\n\n I18n.prototype.cloneInstance = function cloneInstance() {\n var _this7 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _extends({}, this.options, options, { isClone: true });\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this7[m];\n });\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options; // sync options\n\n return clone;\n };\n\n return I18n;\n}(EventEmitter);\n\nexport default new I18n();","import i18next from './i18next.js';\n\nexport default i18next;\n\nexport var changeLanguage = i18next.changeLanguage.bind(i18next);\nexport var cloneInstance = i18next.cloneInstance.bind(i18next);\nexport var createInstance = i18next.createInstance.bind(i18next);\nexport var dir = i18next.dir.bind(i18next);\nexport var exists = i18next.exists.bind(i18next);\nexport var getFixedT = i18next.getFixedT.bind(i18next);\nexport var init = i18next.init.bind(i18next);\nexport var loadLanguages = i18next.loadLanguages.bind(i18next);\nexport var loadNamespaces = i18next.loadNamespaces.bind(i18next);\nexport var loadResources = i18next.loadResources.bind(i18next);\nexport var off = i18next.off.bind(i18next);\nexport var on = i18next.on.bind(i18next);\nexport var setDefaultNamespace = i18next.setDefaultNamespace.bind(i18next);\nexport var t = i18next.t.bind(i18next);\nexport var use = i18next.use.bind(i18next);","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*! @license DOMPurify 3.4.16 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.16/LICENSE */\nfunction _OverloadYield(e, d) {\n\tthis.v = e, this.k = d;\n}\nfunction _arrayLikeToArray(r, a) {\n\t(null == a || a > r.length) && (a = r.length);\n\tfor (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n\treturn n;\n}\nfunction _arrayWithHoles(r) {\n\tif (Array.isArray(r)) return r;\n}\nfunction _iterableToArrayLimit(r, l) {\n\tvar t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n\tif (null != t) {\n\t\tvar e, n, i, u, a = [], f = !0, o = !1;\n\t\ttry {\n\t\t\tif (i = (t = t.call(r)).next, 0 === l) {\n\t\t\t\tif (Object(t) !== t) return;\n\t\t\t\tf = !1;\n\t\t\t} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n\t\t} catch (r) {\n\t\t\to = !0, n = r;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n\t\t\t} finally {\n\t\t\t\tif (o) throw n;\n\t\t\t}\n\t\t}\n\t\treturn a;\n\t}\n}\nfunction _nonIterableRest() {\n\tthrow new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\nfunction _slicedToArray(r, e) {\n\treturn _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _unsupportedIterableToArray(r, a) {\n\tif (r) {\n\t\tif (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n\t\tvar t = {}.toString.call(r).slice(8, -1);\n\t\treturn \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n\t}\n}\nfunction AsyncGenerator(e) {\n\tvar t, n;\n\tfunction resume(t, n) {\n\t\ttry {\n\t\t\tvar r = e[t](n), o = r.value, u = o instanceof _OverloadYield;\n\t\t\tPromise.resolve(u ? o.v : o).then(function(n) {\n\t\t\t\tif (u) {\n\t\t\t\t\tvar i = \"return\" === t && o.k ? t : \"next\";\n\t\t\t\t\tif (!o.k || n.done) return resume(i, n);\n\t\t\t\t\tn = e[i](n).value;\n\t\t\t\t}\n\t\t\t\tsettle(!!r.done, n);\n\t\t\t}, function(e) {\n\t\t\t\tresume(\"throw\", e);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tsettle(2, e);\n\t\t}\n\t}\n\tfunction settle(e, r) {\n\t\t2 === e ? t.reject(r) : t.resolve({\n\t\t\tvalue: r,\n\t\t\tdone: e\n\t\t}), (t = t.next) ? resume(t.key, t.arg) : n = null;\n\t}\n\tthis._invoke = function(e, r) {\n\t\treturn new Promise(function(o, u) {\n\t\t\tvar i = {\n\t\t\t\tkey: e,\n\t\t\t\targ: r,\n\t\t\t\tresolve: o,\n\t\t\t\treject: u,\n\t\t\t\tnext: null\n\t\t\t};\n\t\t\tn ? n = n.next = i : (t = n = i, resume(e, r));\n\t\t});\n\t}, \"function\" != typeof e.return && (this.return = void 0);\n}\nAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function() {\n\treturn this;\n}, AsyncGenerator.prototype.next = function(e) {\n\treturn this._invoke(\"next\", e);\n}, AsyncGenerator.prototype.throw = function(e) {\n\treturn this._invoke(\"throw\", e);\n}, AsyncGenerator.prototype.return = function(e) {\n\treturn this._invoke(\"return\", e);\n};\nconst entries = Object.entries;\nconst setPrototypeOf = Object.setPrototypeOf;\nconst isFrozen = Object.isFrozen;\nconst getPrototypeOf = Object.getPrototypeOf;\nconst getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nlet freeze = Object.freeze;\nlet seal = Object.seal;\nlet create = Object.create;\nlet _ref = typeof Reflect !== \"undefined\" && Reflect;\nlet apply = _ref.apply;\nlet construct = _ref.construct;\nif (!freeze) freeze = function freeze(x) {\n\treturn x;\n};\nif (!seal) seal = function seal(x) {\n\treturn x;\n};\nif (!apply) apply = function apply(func, thisArg) {\n\tfor (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) args[_key - 2] = arguments[_key];\n\treturn func.apply(thisArg, args);\n};\nif (!construct) construct = function construct(Func) {\n\tfor (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) args[_key2 - 1] = arguments[_key2];\n\treturn new Func(...args);\n};\nconst arrayForEach = unapply(Array.prototype.forEach);\nArray.prototype.indexOf;\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nArray.prototype.slice;\nconst arraySplice = unapply(Array.prototype.splice);\nconst arrayIsArray = Array.isArray;\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst numberToString = unapply(Number.prototype.toString);\nconst booleanToString = unapply(Boolean.prototype.toString);\nconst bigintToString = typeof BigInt === \"undefined\" ? null : unapply(BigInt.prototype.toString);\nconst symbolToString = typeof Symbol === \"undefined\" ? null : unapply(Symbol.prototype.toString);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst objectToString = unapply(Object.prototype.toString);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n* Creates a new function that calls the given function with a specified thisArg and arguments.\n*\n* @param func - The function to be wrapped and called.\n* @returns A new function that calls the given function with a specified thisArg and arguments.\n*/\nfunction unapply(func) {\n\treturn function(thisArg) {\n\t\tif (thisArg instanceof RegExp) thisArg.lastIndex = 0;\n\t\tfor (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n\t\treturn apply(func, thisArg, args);\n\t};\n}\n/**\n* Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n*\n* @param func - The constructor function to be wrapped and called.\n* @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n*/\nfunction unconstruct(Func) {\n\treturn function() {\n\t\tfor (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) args[_key4] = arguments[_key4];\n\t\treturn construct(Func, args);\n\t};\n}\n/**\n* Add properties to a lookup table\n*\n* @param set - The set to which elements will be added.\n* @param array - The array containing elements to be added to the set.\n* @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n* @returns The modified set with added elements.\n*/\nfunction addToSet(set, array) {\n\tlet transformCaseFunc = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : stringToLowerCase;\n\tif (setPrototypeOf) setPrototypeOf(set, null);\n\tif (!arrayIsArray(array)) return set;\n\tlet l = array.length;\n\twhile (l--) {\n\t\tlet element = array[l];\n\t\tif (typeof element === \"string\") {\n\t\t\tconst lcElement = transformCaseFunc(element);\n\t\t\tif (lcElement !== element) {\n\t\t\t\tif (!isFrozen(array)) array[l] = lcElement;\n\t\t\t\telement = lcElement;\n\t\t\t}\n\t\t}\n\t\tset[element] = true;\n\t}\n\treturn set;\n}\n/**\n* Clean up an array to harden against CSPP\n*\n* @param array - The array to be cleaned.\n* @returns The cleaned version of the array\n*/\nfunction cleanArray(array) {\n\tfor (let index = 0; index < array.length; index++) if (!objectHasOwnProperty(array, index)) array[index] = null;\n\treturn array;\n}\n/**\n* Shallow clone an object\n*\n* @param object - The object to be cloned.\n* @returns A new object that copies the original.\n*/\nfunction clone(object) {\n\tconst newObject = create(null);\n\tfor (const _ref2 of entries(object)) {\n\t\tvar _ref3 = _slicedToArray(_ref2, 2);\n\t\tconst property = _ref3[0];\n\t\tconst value = _ref3[1];\n\t\tif (objectHasOwnProperty(object, property)) {\n\t\t\tif (arrayIsArray(value)) newObject[property] = cleanArray(value);\n\t\t\telse if (value && typeof value === \"object\" && value.constructor === Object) newObject[property] = clone(value);\n\t\t\telse newObject[property] = value;\n\t\t}\n\t}\n\treturn newObject;\n}\n/**\n* Convert non-node values into strings without depending on direct property access.\n*\n* @param value - The value to stringify.\n* @returns A string representation of the provided value.\n*/\nfunction stringifyValue(value) {\n\tswitch (typeof value) {\n\t\tcase \"string\": return value;\n\t\tcase \"number\": return numberToString(value);\n\t\tcase \"boolean\": return booleanToString(value);\n\t\tcase \"bigint\": return bigintToString ? bigintToString(value) : \"0\";\n\t\tcase \"symbol\": return symbolToString ? symbolToString(value) : \"Symbol()\";\n\t\tcase \"undefined\": return objectToString(value);\n\t\tcase \"function\":\n\t\tcase \"object\": {\n\t\t\tif (value === null) return objectToString(value);\n\t\t\tconst valueAsRecord = value;\n\t\t\tconst valueToString = lookupGetter(valueAsRecord, \"toString\");\n\t\t\tif (typeof valueToString === \"function\") {\n\t\t\t\tconst stringified = valueToString(valueAsRecord);\n\t\t\t\treturn typeof stringified === \"string\" ? stringified : objectToString(stringified);\n\t\t\t}\n\t\t\treturn objectToString(value);\n\t\t}\n\t\tdefault: return objectToString(value);\n\t}\n}\n/**\n* This method automatically checks if the prop is function or getter and behaves accordingly.\n*\n* @param object - The object to look up the getter function in its prototype chain.\n* @param prop - The property name for which to find the getter function.\n* @returns The getter function found in the prototype chain or a fallback function.\n*/\nfunction lookupGetter(object, prop) {\n\twhile (object !== null) {\n\t\tconst desc = getOwnPropertyDescriptor(object, prop);\n\t\tif (desc) {\n\t\t\tif (desc.get) return unapply(desc.get);\n\t\t\tif (typeof desc.value === \"function\") return unapply(desc.value);\n\t\t}\n\t\tobject = getPrototypeOf(object);\n\t}\n\tfunction fallbackValue() {\n\t\treturn null;\n\t}\n\treturn fallbackValue;\n}\nfunction isRegex(value) {\n\ttry {\n\t\tregExpTest(value, \"\");\n\t\treturn true;\n\t} catch (_unused) {\n\t\treturn false;\n\t}\n}\nconst html$1 = freeze([\n\t\"a\",\n\t\"abbr\",\n\t\"acronym\",\n\t\"address\",\n\t\"area\",\n\t\"article\",\n\t\"aside\",\n\t\"audio\",\n\t\"b\",\n\t\"bdi\",\n\t\"bdo\",\n\t\"big\",\n\t\"blink\",\n\t\"blockquote\",\n\t\"body\",\n\t\"br\",\n\t\"button\",\n\t\"canvas\",\n\t\"caption\",\n\t\"center\",\n\t\"cite\",\n\t\"code\",\n\t\"col\",\n\t\"colgroup\",\n\t\"content\",\n\t\"data\",\n\t\"datalist\",\n\t\"dd\",\n\t\"decorator\",\n\t\"del\",\n\t\"details\",\n\t\"dfn\",\n\t\"dialog\",\n\t\"dir\",\n\t\"div\",\n\t\"dl\",\n\t\"dt\",\n\t\"element\",\n\t\"em\",\n\t\"fieldset\",\n\t\"figcaption\",\n\t\"figure\",\n\t\"font\",\n\t\"footer\",\n\t\"form\",\n\t\"h1\",\n\t\"h2\",\n\t\"h3\",\n\t\"h4\",\n\t\"h5\",\n\t\"h6\",\n\t\"head\",\n\t\"header\",\n\t\"hgroup\",\n\t\"hr\",\n\t\"html\",\n\t\"i\",\n\t\"img\",\n\t\"input\",\n\t\"ins\",\n\t\"kbd\",\n\t\"label\",\n\t\"legend\",\n\t\"li\",\n\t\"main\",\n\t\"map\",\n\t\"mark\",\n\t\"marquee\",\n\t\"menu\",\n\t\"menuitem\",\n\t\"meter\",\n\t\"nav\",\n\t\"nobr\",\n\t\"ol\",\n\t\"optgroup\",\n\t\"option\",\n\t\"output\",\n\t\"p\",\n\t\"picture\",\n\t\"pre\",\n\t\"progress\",\n\t\"q\",\n\t\"rp\",\n\t\"rt\",\n\t\"ruby\",\n\t\"s\",\n\t\"samp\",\n\t\"search\",\n\t\"section\",\n\t\"select\",\n\t\"shadow\",\n\t\"slot\",\n\t\"small\",\n\t\"source\",\n\t\"spacer\",\n\t\"span\",\n\t\"strike\",\n\t\"strong\",\n\t\"style\",\n\t\"sub\",\n\t\"summary\",\n\t\"sup\",\n\t\"table\",\n\t\"tbody\",\n\t\"td\",\n\t\"template\",\n\t\"textarea\",\n\t\"tfoot\",\n\t\"th\",\n\t\"thead\",\n\t\"time\",\n\t\"tr\",\n\t\"track\",\n\t\"tt\",\n\t\"u\",\n\t\"ul\",\n\t\"var\",\n\t\"video\",\n\t\"wbr\"\n]);\nconst svg$1 = freeze([\n\t\"svg\",\n\t\"a\",\n\t\"altglyph\",\n\t\"altglyphdef\",\n\t\"altglyphitem\",\n\t\"animatecolor\",\n\t\"animatemotion\",\n\t\"animatetransform\",\n\t\"circle\",\n\t\"clippath\",\n\t\"defs\",\n\t\"desc\",\n\t\"ellipse\",\n\t\"enterkeyhint\",\n\t\"exportparts\",\n\t\"filter\",\n\t\"font\",\n\t\"g\",\n\t\"glyph\",\n\t\"glyphref\",\n\t\"hkern\",\n\t\"image\",\n\t\"inputmode\",\n\t\"line\",\n\t\"lineargradient\",\n\t\"marker\",\n\t\"mask\",\n\t\"metadata\",\n\t\"mpath\",\n\t\"part\",\n\t\"path\",\n\t\"pattern\",\n\t\"polygon\",\n\t\"polyline\",\n\t\"radialgradient\",\n\t\"rect\",\n\t\"stop\",\n\t\"style\",\n\t\"switch\",\n\t\"symbol\",\n\t\"text\",\n\t\"textpath\",\n\t\"title\",\n\t\"tref\",\n\t\"tspan\",\n\t\"view\",\n\t\"vkern\"\n]);\nconst svgFilters = freeze([\n\t\"feBlend\",\n\t\"feColorMatrix\",\n\t\"feComponentTransfer\",\n\t\"feComposite\",\n\t\"feConvolveMatrix\",\n\t\"feDiffuseLighting\",\n\t\"feDisplacementMap\",\n\t\"feDistantLight\",\n\t\"feDropShadow\",\n\t\"feFlood\",\n\t\"feFuncA\",\n\t\"feFuncB\",\n\t\"feFuncG\",\n\t\"feFuncR\",\n\t\"feGaussianBlur\",\n\t\"feImage\",\n\t\"feMerge\",\n\t\"feMergeNode\",\n\t\"feMorphology\",\n\t\"feOffset\",\n\t\"fePointLight\",\n\t\"feSpecularLighting\",\n\t\"feSpotLight\",\n\t\"feTile\",\n\t\"feTurbulence\"\n]);\nconst svgDisallowed = freeze([\n\t\"animate\",\n\t\"color-profile\",\n\t\"cursor\",\n\t\"discard\",\n\t\"font-face\",\n\t\"font-face-format\",\n\t\"font-face-name\",\n\t\"font-face-src\",\n\t\"font-face-uri\",\n\t\"foreignobject\",\n\t\"hatch\",\n\t\"hatchpath\",\n\t\"mesh\",\n\t\"meshgradient\",\n\t\"meshpatch\",\n\t\"meshrow\",\n\t\"missing-glyph\",\n\t\"script\",\n\t\"set\",\n\t\"solidcolor\",\n\t\"unknown\",\n\t\"use\"\n]);\nconst mathMl$1 = freeze([\n\t\"math\",\n\t\"menclose\",\n\t\"merror\",\n\t\"mfenced\",\n\t\"mfrac\",\n\t\"mglyph\",\n\t\"mi\",\n\t\"mlabeledtr\",\n\t\"mmultiscripts\",\n\t\"mn\",\n\t\"mo\",\n\t\"mover\",\n\t\"mpadded\",\n\t\"mphantom\",\n\t\"mroot\",\n\t\"mrow\",\n\t\"ms\",\n\t\"mspace\",\n\t\"msqrt\",\n\t\"mstyle\",\n\t\"msub\",\n\t\"msup\",\n\t\"msubsup\",\n\t\"mtable\",\n\t\"mtd\",\n\t\"mtext\",\n\t\"mtr\",\n\t\"munder\",\n\t\"munderover\",\n\t\"mprescripts\"\n]);\nconst mathMlDisallowed = freeze([\n\t\"maction\",\n\t\"maligngroup\",\n\t\"malignmark\",\n\t\"mlongdiv\",\n\t\"mscarries\",\n\t\"mscarry\",\n\t\"msgroup\",\n\t\"mstack\",\n\t\"msline\",\n\t\"msrow\",\n\t\"semantics\",\n\t\"annotation\",\n\t\"annotation-xml\",\n\t\"mprescripts\",\n\t\"none\"\n]);\nconst text = freeze([\"#text\"]);\nconst html = freeze([\n\t\"accept\",\n\t\"action\",\n\t\"align\",\n\t\"alt\",\n\t\"autocapitalize\",\n\t\"autocomplete\",\n\t\"autopictureinpicture\",\n\t\"autoplay\",\n\t\"background\",\n\t\"bgcolor\",\n\t\"border\",\n\t\"capture\",\n\t\"cellpadding\",\n\t\"cellspacing\",\n\t\"checked\",\n\t\"cite\",\n\t\"class\",\n\t\"clear\",\n\t\"color\",\n\t\"cols\",\n\t\"colspan\",\n\t\"command\",\n\t\"commandfor\",\n\t\"controls\",\n\t\"controlslist\",\n\t\"coords\",\n\t\"crossorigin\",\n\t\"datetime\",\n\t\"decoding\",\n\t\"default\",\n\t\"dir\",\n\t\"disabled\",\n\t\"disablepictureinpicture\",\n\t\"disableremoteplayback\",\n\t\"download\",\n\t\"draggable\",\n\t\"enctype\",\n\t\"enterkeyhint\",\n\t\"exportparts\",\n\t\"face\",\n\t\"for\",\n\t\"headers\",\n\t\"height\",\n\t\"hidden\",\n\t\"high\",\n\t\"href\",\n\t\"hreflang\",\n\t\"id\",\n\t\"inert\",\n\t\"inputmode\",\n\t\"integrity\",\n\t\"ismap\",\n\t\"kind\",\n\t\"label\",\n\t\"lang\",\n\t\"list\",\n\t\"loading\",\n\t\"loop\",\n\t\"low\",\n\t\"max\",\n\t\"maxlength\",\n\t\"media\",\n\t\"method\",\n\t\"min\",\n\t\"minlength\",\n\t\"multiple\",\n\t\"muted\",\n\t\"name\",\n\t\"nonce\",\n\t\"noshade\",\n\t\"novalidate\",\n\t\"nowrap\",\n\t\"open\",\n\t\"optimum\",\n\t\"part\",\n\t\"pattern\",\n\t\"placeholder\",\n\t\"playsinline\",\n\t\"popover\",\n\t\"popovertarget\",\n\t\"popovertargetaction\",\n\t\"poster\",\n\t\"preload\",\n\t\"pubdate\",\n\t\"radiogroup\",\n\t\"readonly\",\n\t\"rel\",\n\t\"required\",\n\t\"rev\",\n\t\"reversed\",\n\t\"role\",\n\t\"rows\",\n\t\"rowspan\",\n\t\"spellcheck\",\n\t\"scope\",\n\t\"selected\",\n\t\"shape\",\n\t\"size\",\n\t\"sizes\",\n\t\"slot\",\n\t\"span\",\n\t\"srclang\",\n\t\"start\",\n\t\"src\",\n\t\"srcset\",\n\t\"step\",\n\t\"style\",\n\t\"summary\",\n\t\"tabindex\",\n\t\"title\",\n\t\"translate\",\n\t\"type\",\n\t\"usemap\",\n\t\"valign\",\n\t\"value\",\n\t\"width\",\n\t\"wrap\",\n\t\"xmlns\"\n]);\nconst svg = freeze([\n\t\"accent-height\",\n\t\"accumulate\",\n\t\"additive\",\n\t\"alignment-baseline\",\n\t\"amplitude\",\n\t\"ascent\",\n\t\"attributename\",\n\t\"attributetype\",\n\t\"azimuth\",\n\t\"basefrequency\",\n\t\"baseline-shift\",\n\t\"begin\",\n\t\"bias\",\n\t\"by\",\n\t\"class\",\n\t\"clip\",\n\t\"clippathunits\",\n\t\"clip-path\",\n\t\"clip-rule\",\n\t\"color\",\n\t\"color-interpolation\",\n\t\"color-interpolation-filters\",\n\t\"color-profile\",\n\t\"color-rendering\",\n\t\"cx\",\n\t\"cy\",\n\t\"d\",\n\t\"dx\",\n\t\"dy\",\n\t\"diffuseconstant\",\n\t\"direction\",\n\t\"display\",\n\t\"divisor\",\n\t\"dominant-baseline\",\n\t\"dur\",\n\t\"edgemode\",\n\t\"elevation\",\n\t\"end\",\n\t\"exponent\",\n\t\"fill\",\n\t\"fill-opacity\",\n\t\"fill-rule\",\n\t\"filter\",\n\t\"filterunits\",\n\t\"flood-color\",\n\t\"flood-opacity\",\n\t\"font-family\",\n\t\"font-size\",\n\t\"font-size-adjust\",\n\t\"font-stretch\",\n\t\"font-style\",\n\t\"font-variant\",\n\t\"font-weight\",\n\t\"fx\",\n\t\"fy\",\n\t\"g1\",\n\t\"g2\",\n\t\"glyph-name\",\n\t\"glyphref\",\n\t\"gradientunits\",\n\t\"gradienttransform\",\n\t\"height\",\n\t\"href\",\n\t\"id\",\n\t\"image-rendering\",\n\t\"in\",\n\t\"in2\",\n\t\"intercept\",\n\t\"k\",\n\t\"k1\",\n\t\"k2\",\n\t\"k3\",\n\t\"k4\",\n\t\"kerning\",\n\t\"keypoints\",\n\t\"keysplines\",\n\t\"keytimes\",\n\t\"lang\",\n\t\"lengthadjust\",\n\t\"letter-spacing\",\n\t\"kernelmatrix\",\n\t\"kernelunitlength\",\n\t\"lighting-color\",\n\t\"local\",\n\t\"marker-end\",\n\t\"marker-mid\",\n\t\"marker-start\",\n\t\"markerheight\",\n\t\"markerunits\",\n\t\"markerwidth\",\n\t\"maskcontentunits\",\n\t\"maskunits\",\n\t\"max\",\n\t\"mask\",\n\t\"mask-type\",\n\t\"media\",\n\t\"method\",\n\t\"mode\",\n\t\"min\",\n\t\"name\",\n\t\"numoctaves\",\n\t\"offset\",\n\t\"operator\",\n\t\"opacity\",\n\t\"order\",\n\t\"orient\",\n\t\"orientation\",\n\t\"origin\",\n\t\"overflow\",\n\t\"paint-order\",\n\t\"path\",\n\t\"pathlength\",\n\t\"patterncontentunits\",\n\t\"patterntransform\",\n\t\"patternunits\",\n\t\"pointer-events\",\n\t\"points\",\n\t\"preservealpha\",\n\t\"preserveaspectratio\",\n\t\"primitiveunits\",\n\t\"r\",\n\t\"rx\",\n\t\"ry\",\n\t\"radius\",\n\t\"refx\",\n\t\"refy\",\n\t\"repeatcount\",\n\t\"repeatdur\",\n\t\"restart\",\n\t\"result\",\n\t\"rotate\",\n\t\"scale\",\n\t\"seed\",\n\t\"shape-rendering\",\n\t\"slope\",\n\t\"specularconstant\",\n\t\"specularexponent\",\n\t\"spreadmethod\",\n\t\"startoffset\",\n\t\"stddeviation\",\n\t\"stitchtiles\",\n\t\"stop-color\",\n\t\"stop-opacity\",\n\t\"stroke-dasharray\",\n\t\"stroke-dashoffset\",\n\t\"stroke-linecap\",\n\t\"stroke-linejoin\",\n\t\"stroke-miterlimit\",\n\t\"stroke-opacity\",\n\t\"stroke\",\n\t\"stroke-width\",\n\t\"style\",\n\t\"surfacescale\",\n\t\"systemlanguage\",\n\t\"tabindex\",\n\t\"tablevalues\",\n\t\"targetx\",\n\t\"targety\",\n\t\"transform\",\n\t\"transform-origin\",\n\t\"text-anchor\",\n\t\"text-decoration\",\n\t\"text-orientation\",\n\t\"text-rendering\",\n\t\"textlength\",\n\t\"type\",\n\t\"u1\",\n\t\"u2\",\n\t\"unicode\",\n\t\"values\",\n\t\"vector-effect\",\n\t\"viewbox\",\n\t\"visibility\",\n\t\"version\",\n\t\"vert-adv-y\",\n\t\"vert-origin-x\",\n\t\"vert-origin-y\",\n\t\"width\",\n\t\"word-spacing\",\n\t\"wrap\",\n\t\"writing-mode\",\n\t\"xchannelselector\",\n\t\"ychannelselector\",\n\t\"x\",\n\t\"x1\",\n\t\"x2\",\n\t\"xmlns\",\n\t\"y\",\n\t\"y1\",\n\t\"y2\",\n\t\"z\",\n\t\"zoomandpan\"\n]);\nconst mathMl = freeze([\n\t\"accent\",\n\t\"accentunder\",\n\t\"align\",\n\t\"bevelled\",\n\t\"close\",\n\t\"columnalign\",\n\t\"columnlines\",\n\t\"columnspacing\",\n\t\"columnspan\",\n\t\"denomalign\",\n\t\"depth\",\n\t\"dir\",\n\t\"display\",\n\t\"displaystyle\",\n\t\"encoding\",\n\t\"fence\",\n\t\"frame\",\n\t\"height\",\n\t\"href\",\n\t\"id\",\n\t\"largeop\",\n\t\"length\",\n\t\"linethickness\",\n\t\"lquote\",\n\t\"lspace\",\n\t\"mathbackground\",\n\t\"mathcolor\",\n\t\"mathsize\",\n\t\"mathvariant\",\n\t\"maxsize\",\n\t\"minsize\",\n\t\"movablelimits\",\n\t\"notation\",\n\t\"numalign\",\n\t\"open\",\n\t\"rowalign\",\n\t\"rowlines\",\n\t\"rowspacing\",\n\t\"rowspan\",\n\t\"rspace\",\n\t\"rquote\",\n\t\"scriptlevel\",\n\t\"scriptminsize\",\n\t\"scriptsizemultiplier\",\n\t\"selection\",\n\t\"separator\",\n\t\"separators\",\n\t\"stretchy\",\n\t\"subscriptshift\",\n\t\"supscriptshift\",\n\t\"symmetric\",\n\t\"voffset\",\n\t\"width\",\n\t\"xmlns\"\n]);\nconst xml = freeze([\n\t\"xlink:href\",\n\t\"xml:id\",\n\t\"xlink:title\",\n\t\"xml:space\",\n\t\"xmlns:xlink\"\n]);\nconst MUSTACHE_EXPR = seal(/{{[\\w\\W]*|^[\\w\\W]*}}/g);\nconst ERB_EXPR = seal(/<%[\\w\\W]*|^[\\w\\W]*%>/g);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*/g);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/);\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/);\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\nconst ELEMENT_MARKUP_PROBE = seal(/<[/\\w!]/g);\nconst COMMENT_MARKUP_PROBE = seal(/<[/\\w]/g);\nconst FALLBACK_TAG_CLOSE = seal(/<\\/no(script|embed|frames)/i);\nconst SELF_CLOSING_TAG = seal(/\\/>/i);\nconst NODE_TYPE = {\n\telement: 1,\n\tattribute: 2,\n\ttext: 3,\n\tcdataSection: 4,\n\tentityReference: 5,\n\tentityNode: 6,\n\tprocessingInstruction: 7,\n\tcomment: 8,\n\tdocument: 9,\n\tdocumentType: 10,\n\tdocumentFragment: 11,\n\tnotation: 12\n};\nconst LITERAL_TEXT_ELEMENT_NAMES = [\n\t\"style\",\n\t\"script\",\n\t\"xmp\",\n\t\"iframe\",\n\t\"noembed\",\n\t\"noframes\",\n\t\"plaintext\",\n\t\"noscript\"\n];\nconst LITERAL_TEXT_ELEMENTS = freeze(addToSet({}, LITERAL_TEXT_ELEMENT_NAMES));\nconst LITERAL_TEXT_CLOSE = function() {\n\tconst map = {};\n\tarrayForEach(LITERAL_TEXT_ELEMENT_NAMES, (name) => {\n\t\tmap[name] = seal(new RegExp(\"])\", \"i\"));\n\t});\n\treturn freeze(map);\n}();\nconst getGlobal = function getGlobal() {\n\treturn typeof window === \"undefined\" ? null : window;\n};\n/**\n* Creates a no-op policy for internal use only.\n* Don't export this function outside this module!\n* @param trustedTypes The policy factory.\n* @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n* @return The policy created (or null, if Trusted Types\n* are not supported or creating the policy failed).\n*/\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n\tif (typeof trustedTypes !== \"object\" || typeof trustedTypes.createPolicy !== \"function\") return null;\n\tlet suffix = null;\n\tconst ATTR_NAME = \"data-tt-policy-suffix\";\n\tif (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) suffix = purifyHostElement.getAttribute(ATTR_NAME);\n\tconst policyName = \"dompurify\" + (suffix ? \"#\" + suffix : \"\");\n\ttry {\n\t\treturn trustedTypes.createPolicy(policyName, {\n\t\t\tcreateHTML(html) {\n\t\t\t\treturn html;\n\t\t\t},\n\t\t\tcreateScriptURL(scriptUrl) {\n\t\t\t\treturn scriptUrl;\n\t\t\t}\n\t\t});\n\t} catch (_) {\n\t\tconsole.warn(\"TrustedTypes policy \" + policyName + \" could not be created.\");\n\t\treturn null;\n\t}\n};\nconst _createHooksMap = function _createHooksMap() {\n\treturn {\n\t\tafterSanitizeAttributes: [],\n\t\tafterSanitizeElements: [],\n\t\tafterSanitizeShadowDOM: [],\n\t\tbeforeSanitizeAttributes: [],\n\t\tbeforeSanitizeElements: [],\n\t\tbeforeSanitizeShadowDOM: [],\n\t\tuponSanitizeAttribute: [],\n\t\tuponSanitizeElement: [],\n\t\tuponSanitizeShadowNode: []\n\t};\n};\n/**\n* Resolve a set-valued configuration option: a fresh set built from\n* cfg[key] when it is an own array property (seeded with a clone of\n* options.base when given, case-normalized via options.transform),\n* the fallback set otherwise.\n*\n* @param cfg the cloned, prototype-free configuration object\n* @param key the configuration property to read\n* @param fallback the set to use when the option is absent or not an array\n* @param options transform and optional base set to merge into\n* @returns the resolved set\n*/\nconst _resolveSetOption = function _resolveSetOption(cfg, key, fallback, options) {\n\treturn objectHasOwnProperty(cfg, key) && arrayIsArray(cfg[key]) ? addToSet(options.base ? clone(options.base) : {}, cfg[key], options.transform) : fallback;\n};\n/**\n* Resolve an object-valued configuration option: a prototype-free clone\n* of cfg[key] when it is an own, truthy object property, else a fresh\n* fallback built by makeFallback (fresh on every parse, so a previous\n* parse can never leak state into the next one).\n*\n* @param cfg the cloned, prototype-free configuration object\n* @param key the configuration property to read\n* @param makeFallback builds the fallback value when the option is absent\n* @returns the resolved object\n*/\nconst _resolveObjectOption = function _resolveObjectOption(cfg, key, makeFallback) {\n\tconst value = objectHasOwnProperty(cfg, key) ? cfg[key] : void 0;\n\treturn value && typeof value === \"object\" ? clone(value) : makeFallback();\n};\nfunction createDOMPurify() {\n\tlet window = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();\n\tconst DOMPurify = (root) => createDOMPurify(root);\n\tDOMPurify.version = \"3.4.16\";\n\tDOMPurify.removed = [];\n\tif (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n\t\tDOMPurify.isSupported = false;\n\t\treturn DOMPurify;\n\t}\n\tlet document = window.document;\n\tconst originalDocument = document;\n\tconst currentScript = originalDocument.currentScript;\n\twindow.DocumentFragment;\n\tconst HTMLTemplateElement = window.HTMLTemplateElement, Node = window.Node, Element = window.Element, NodeFilter = window.NodeFilter;\n\twindow.NamedNodeMap === void 0 && (window.NamedNodeMap || window.MozNamedAttrMap);\n\twindow.HTMLFormElement;\n\tconst DOMParser = window.DOMParser, trustedTypes = window.trustedTypes;\n\tconst ElementPrototype = Element.prototype;\n\tconst cloneNode = lookupGetter(ElementPrototype, \"cloneNode\");\n\tconst remove = lookupGetter(ElementPrototype, \"remove\");\n\tconst removeAttributeNode = lookupGetter(ElementPrototype, \"removeAttributeNode\");\n\tconst getNextSibling = lookupGetter(ElementPrototype, \"nextSibling\");\n\tconst getChildNodes = lookupGetter(ElementPrototype, \"childNodes\");\n\tconst getParentNode = lookupGetter(ElementPrototype, \"parentNode\");\n\tconst getShadowRoot = lookupGetter(ElementPrototype, \"shadowRoot\");\n\tconst getAttributes = lookupGetter(ElementPrototype, \"attributes\");\n\tconst getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, \"nodeType\") : null;\n\tconst getNodeName = Node && Node.prototype ? lookupGetter(Node.prototype, \"nodeName\") : null;\n\tconst getOwnerDocument = Node && Node.prototype ? lookupGetter(Node.prototype, \"ownerDocument\") : null;\n\tconst _readNodeType = function _readNodeType(node) {\n\t\treturn getNodeType ? getNodeType(node) : node.nodeType;\n\t};\n\tconst _readNodeName = function _readNodeName(node) {\n\t\treturn getNodeName ? getNodeName(node) : node.nodeName;\n\t};\n\tif (typeof HTMLTemplateElement === \"function\") {\n\t\tconst template = document.createElement(\"template\");\n\t\tif (template.content && template.content.ownerDocument) document = template.content.ownerDocument;\n\t}\n\tlet trustedTypesPolicy;\n\tlet emptyHTML = \"\";\n\tlet defaultTrustedTypesPolicy;\n\tlet defaultTrustedTypesPolicyResolved = false;\n\tlet IN_TRUSTED_TYPES_POLICY = 0;\n\tconst _assertNotInTrustedTypesPolicy = function _assertNotInTrustedTypesPolicy() {\n\t\tif (IN_TRUSTED_TYPES_POLICY > 0) throw typeErrorCreate(\"A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the \\\"DOMPurify and Trusted Types\\\" section of the README.\");\n\t};\n\tconst _createTrustedHTML = function _createTrustedHTML(html) {\n\t\t_assertNotInTrustedTypesPolicy();\n\t\tIN_TRUSTED_TYPES_POLICY++;\n\t\ttry {\n\t\t\treturn trustedTypesPolicy.createHTML(html);\n\t\t} finally {\n\t\t\tIN_TRUSTED_TYPES_POLICY--;\n\t\t}\n\t};\n\tconst _createTrustedScriptURL = function _createTrustedScriptURL(scriptUrl) {\n\t\t_assertNotInTrustedTypesPolicy();\n\t\tIN_TRUSTED_TYPES_POLICY++;\n\t\ttry {\n\t\t\treturn trustedTypesPolicy.createScriptURL(scriptUrl);\n\t\t} finally {\n\t\t\tIN_TRUSTED_TYPES_POLICY--;\n\t\t}\n\t};\n\tconst _getDefaultTrustedTypesPolicy = function _getDefaultTrustedTypesPolicy() {\n\t\tif (!defaultTrustedTypesPolicyResolved) {\n\t\t\tdefaultTrustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n\t\t\tdefaultTrustedTypesPolicyResolved = true;\n\t\t}\n\t\treturn defaultTrustedTypesPolicy;\n\t};\n\tconst _document = document, implementation = _document.implementation, createNodeIterator = _document.createNodeIterator, createDocumentFragment = _document.createDocumentFragment, getElementsByTagName = _document.getElementsByTagName;\n\tconst importNode = originalDocument.importNode;\n\tlet hooks = _createHooksMap();\n\t/**\n\t* Expose whether this browser supports running the full DOMPurify.\n\t*/\n\tDOMPurify.isSupported = typeof entries === \"function\" && typeof getParentNode === \"function\" && implementation && implementation.createHTMLDocument !== void 0;\n\tconst MUSTACHE_EXPR$1 = MUSTACHE_EXPR, ERB_EXPR$1 = ERB_EXPR, TMPLIT_EXPR$1 = TMPLIT_EXPR, DATA_ATTR$1 = DATA_ATTR, ARIA_ATTR$1 = ARIA_ATTR, IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA, ATTR_WHITESPACE$1 = ATTR_WHITESPACE, CUSTOM_ELEMENT$1 = CUSTOM_ELEMENT;\n\tlet IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\n\t/**\n\t* We consider the elements and attributes below to be safe. Ideally\n\t* don't add any new ones but feel free to remove unwanted ones.\n\t*/\n\tlet ALLOWED_TAGS = null;\n\tconst DEFAULT_ALLOWED_TAGS = addToSet({}, [\n\t\t...html$1,\n\t\t...svg$1,\n\t\t...svgFilters,\n\t\t...mathMl$1,\n\t\t...text\n\t]);\n\tlet ALLOWED_ATTR = null;\n\tconst DEFAULT_ALLOWED_ATTR = addToSet({}, [\n\t\t...html,\n\t\t...svg,\n\t\t...mathMl,\n\t\t...xml\n\t]);\n\tlet CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n\t\ttagNameCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t},\n\t\tattributeNameCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t},\n\t\tallowCustomizedBuiltInElements: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: false\n\t\t}\n\t}));\n\tlet FORBID_TAGS = null;\n\tlet FORBID_ATTR = null;\n\tconst EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n\t\ttagCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t},\n\t\tattributeCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t}\n\t}));\n\tlet ALLOW_ARIA_ATTR = true;\n\tlet ALLOW_DATA_ATTR = true;\n\tlet ALLOW_UNKNOWN_PROTOCOLS = false;\n\tlet ALLOW_SELF_CLOSE_IN_ATTR = true;\n\tlet SAFE_FOR_TEMPLATES = false;\n\tlet SAFE_FOR_XML = true;\n\tlet WHOLE_DOCUMENT = false;\n\tlet SET_CONFIG = false;\n\tlet SET_CONFIG_ALLOWED_TAGS = null;\n\tlet SET_CONFIG_ALLOWED_ATTR = null;\n\tlet FORCE_BODY = false;\n\tlet RETURN_DOM = false;\n\tlet RETURN_DOM_FRAGMENT = false;\n\tlet RETURN_TRUSTED_TYPE = false;\n\tlet SANITIZE_DOM = true;\n\tlet SANITIZE_NAMED_PROPS = false;\n\tconst SANITIZE_NAMED_PROPS_PREFIX = \"user-content-\";\n\tlet KEEP_CONTENT = true;\n\tlet IN_PLACE = false;\n\tlet USE_PROFILES = {};\n\tlet FORBID_CONTENTS = null;\n\tconst DEFAULT_FORBID_CONTENTS = addToSet({}, [\n\t\t\"annotation-xml\",\n\t\t\"audio\",\n\t\t\"colgroup\",\n\t\t\"desc\",\n\t\t\"foreignobject\",\n\t\t\"head\",\n\t\t\"iframe\",\n\t\t\"math\",\n\t\t\"mi\",\n\t\t\"mn\",\n\t\t\"mo\",\n\t\t\"ms\",\n\t\t\"mtext\",\n\t\t\"noembed\",\n\t\t\"noframes\",\n\t\t\"noscript\",\n\t\t\"plaintext\",\n\t\t\"script\",\n\t\t\"selectedcontent\",\n\t\t\"style\",\n\t\t\"svg\",\n\t\t\"template\",\n\t\t\"thead\",\n\t\t\"title\",\n\t\t\"video\",\n\t\t\"xmp\"\n\t]);\n\tlet DATA_URI_TAGS = null;\n\tconst DEFAULT_DATA_URI_TAGS = addToSet({}, [\n\t\t\"audio\",\n\t\t\"video\",\n\t\t\"img\",\n\t\t\"source\",\n\t\t\"image\",\n\t\t\"track\"\n\t]);\n\tlet URI_SAFE_ATTRIBUTES = null;\n\tconst DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n\t\t\"alt\",\n\t\t\"class\",\n\t\t\"for\",\n\t\t\"id\",\n\t\t\"label\",\n\t\t\"name\",\n\t\t\"pattern\",\n\t\t\"placeholder\",\n\t\t\"role\",\n\t\t\"summary\",\n\t\t\"title\",\n\t\t\"value\",\n\t\t\"style\",\n\t\t\"xmlns\"\n\t]);\n\tconst MATHML_NAMESPACE = \"http://www.w3.org/1998/Math/MathML\";\n\tconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\n\tconst HTML_NAMESPACE = \"http://www.w3.org/1999/xhtml\";\n\tlet NAMESPACE = HTML_NAMESPACE;\n\tlet IS_EMPTY_INPUT = false;\n\tlet ALLOWED_NAMESPACES = null;\n\tconst DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [\n\t\tMATHML_NAMESPACE,\n\t\tSVG_NAMESPACE,\n\t\tHTML_NAMESPACE\n\t], stringToString);\n\tconst DEFAULT_MATHML_TEXT_INTEGRATION_POINTS = freeze([\n\t\t\"mi\",\n\t\t\"mo\",\n\t\t\"mn\",\n\t\t\"ms\",\n\t\t\"mtext\"\n\t]);\n\tlet MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS);\n\tconst DEFAULT_HTML_INTEGRATION_POINTS = freeze([\"annotation-xml\"]);\n\tlet HTML_INTEGRATION_POINTS = addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS);\n\tconst COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n\t\t\"title\",\n\t\t\"style\",\n\t\t\"font\",\n\t\t\"a\",\n\t\t\"script\"\n\t]);\n\tlet PARSER_MEDIA_TYPE = null;\n\tconst SUPPORTED_PARSER_MEDIA_TYPES = [\"application/xhtml+xml\", \"text/html\"];\n\tconst DEFAULT_PARSER_MEDIA_TYPE = \"text/html\";\n\tlet transformCaseFunc = null;\n\tlet CONFIG = null;\n\tconst formElement = document.createElement(\"form\");\n\tconst isRegexOrFunction = function isRegexOrFunction(testValue) {\n\t\treturn testValue instanceof RegExp || testValue instanceof Function;\n\t};\n\t/**\n\t* _parseConfig\n\t*\n\t* @param cfg optional config literal\n\t*/\n\tconst _parseConfig = function _parseConfig() {\n\t\tlet cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n\t\tif (CONFIG && CONFIG === cfg) return;\n\t\tif (!cfg || typeof cfg !== \"object\") cfg = {};\n\t\tcfg = clone(cfg);\n\t\tPARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n\t\ttransformCaseFunc = PARSER_MEDIA_TYPE === \"application/xhtml+xml\" ? stringToString : stringToLowerCase;\n\t\tALLOWED_TAGS = _resolveSetOption(cfg, \"ALLOWED_TAGS\", DEFAULT_ALLOWED_TAGS, { transform: transformCaseFunc });\n\t\tALLOWED_ATTR = _resolveSetOption(cfg, \"ALLOWED_ATTR\", DEFAULT_ALLOWED_ATTR, { transform: transformCaseFunc });\n\t\tALLOWED_NAMESPACES = _resolveSetOption(cfg, \"ALLOWED_NAMESPACES\", DEFAULT_ALLOWED_NAMESPACES, { transform: stringToString });\n\t\tURI_SAFE_ATTRIBUTES = _resolveSetOption(cfg, \"ADD_URI_SAFE_ATTR\", DEFAULT_URI_SAFE_ATTRIBUTES, {\n\t\t\ttransform: transformCaseFunc,\n\t\t\tbase: DEFAULT_URI_SAFE_ATTRIBUTES\n\t\t});\n\t\tDATA_URI_TAGS = _resolveSetOption(cfg, \"ADD_DATA_URI_TAGS\", DEFAULT_DATA_URI_TAGS, {\n\t\t\ttransform: transformCaseFunc,\n\t\t\tbase: DEFAULT_DATA_URI_TAGS\n\t\t});\n\t\tFORBID_CONTENTS = _resolveSetOption(cfg, \"FORBID_CONTENTS\", DEFAULT_FORBID_CONTENTS, { transform: transformCaseFunc });\n\t\tFORBID_TAGS = _resolveSetOption(cfg, \"FORBID_TAGS\", clone({}), { transform: transformCaseFunc });\n\t\tFORBID_ATTR = _resolveSetOption(cfg, \"FORBID_ATTR\", clone({}), { transform: transformCaseFunc });\n\t\tUSE_PROFILES = objectHasOwnProperty(cfg, \"USE_PROFILES\") ? cfg.USE_PROFILES && typeof cfg.USE_PROFILES === \"object\" ? clone(cfg.USE_PROFILES) : cfg.USE_PROFILES : false;\n\t\tALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;\n\t\tALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;\n\t\tALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;\n\t\tALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false;\n\t\tSAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false;\n\t\tSAFE_FOR_XML = cfg.SAFE_FOR_XML !== false;\n\t\tWHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false;\n\t\tRETURN_DOM = cfg.RETURN_DOM || false;\n\t\tRETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false;\n\t\tRETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false;\n\t\tFORCE_BODY = cfg.FORCE_BODY || false;\n\t\tSANITIZE_DOM = cfg.SANITIZE_DOM !== false;\n\t\tSANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;\n\t\tKEEP_CONTENT = cfg.KEEP_CONTENT !== false;\n\t\tIN_PLACE = cfg.IN_PLACE || false;\n\t\tIS_ALLOWED_URI$1 = isRegex(cfg.ALLOWED_URI_REGEXP) ? cfg.ALLOWED_URI_REGEXP : IS_ALLOWED_URI;\n\t\tNAMESPACE = typeof cfg.NAMESPACE === \"string\" ? cfg.NAMESPACE : HTML_NAMESPACE;\n\t\tMATHML_TEXT_INTEGRATION_POINTS = _resolveObjectOption(cfg, \"MATHML_TEXT_INTEGRATION_POINTS\", () => addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS));\n\t\tHTML_INTEGRATION_POINTS = _resolveObjectOption(cfg, \"HTML_INTEGRATION_POINTS\", () => addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS));\n\t\tconst customElementHandling = _resolveObjectOption(cfg, \"CUSTOM_ELEMENT_HANDLING\", () => create(null));\n\t\tCUSTOM_ELEMENT_HANDLING = create(null);\n\t\tif (objectHasOwnProperty(customElementHandling, \"tagNameCheck\") && isRegexOrFunction(customElementHandling.tagNameCheck)) CUSTOM_ELEMENT_HANDLING.tagNameCheck = customElementHandling.tagNameCheck;\n\t\tif (objectHasOwnProperty(customElementHandling, \"attributeNameCheck\") && isRegexOrFunction(customElementHandling.attributeNameCheck)) CUSTOM_ELEMENT_HANDLING.attributeNameCheck = customElementHandling.attributeNameCheck;\n\t\tif (objectHasOwnProperty(customElementHandling, \"allowCustomizedBuiltInElements\") && typeof customElementHandling.allowCustomizedBuiltInElements === \"boolean\") CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = customElementHandling.allowCustomizedBuiltInElements;\n\t\tseal(CUSTOM_ELEMENT_HANDLING);\n\t\tif (SAFE_FOR_TEMPLATES) ALLOW_DATA_ATTR = false;\n\t\tif (RETURN_DOM_FRAGMENT) RETURN_DOM = true;\n\t\tif (USE_PROFILES) {\n\t\t\tALLOWED_TAGS = addToSet({}, text);\n\t\t\tALLOWED_ATTR = create(null);\n\t\t\tif (USE_PROFILES.html === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, html$1);\n\t\t\t\taddToSet(ALLOWED_ATTR, html);\n\t\t\t}\n\t\t\tif (USE_PROFILES.svg === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, svg$1);\n\t\t\t\taddToSet(ALLOWED_ATTR, svg);\n\t\t\t\taddToSet(ALLOWED_ATTR, xml);\n\t\t\t}\n\t\t\tif (USE_PROFILES.svgFilters === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, svgFilters);\n\t\t\t\taddToSet(ALLOWED_ATTR, svg);\n\t\t\t\taddToSet(ALLOWED_ATTR, xml);\n\t\t\t}\n\t\t\tif (USE_PROFILES.mathMl === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, mathMl$1);\n\t\t\t\taddToSet(ALLOWED_ATTR, mathMl);\n\t\t\t\taddToSet(ALLOWED_ATTR, xml);\n\t\t\t}\n\t\t}\n\t\tEXTRA_ELEMENT_HANDLING.tagCheck = null;\n\t\tEXTRA_ELEMENT_HANDLING.attributeCheck = null;\n\t\tif (objectHasOwnProperty(cfg, \"ADD_TAGS\")) {\n\t\t\tif (typeof cfg.ADD_TAGS === \"function\") EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n\t\t\telse if (arrayIsArray(cfg.ADD_TAGS)) {\n\t\t\t\tif (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) ALLOWED_TAGS = clone(ALLOWED_TAGS);\n\t\t\t\taddToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n\t\t\t}\n\t\t}\n\t\tif (objectHasOwnProperty(cfg, \"ADD_ATTR\")) {\n\t\t\tif (typeof cfg.ADD_ATTR === \"function\") EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n\t\t\telse if (arrayIsArray(cfg.ADD_ATTR)) {\n\t\t\t\tif (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) ALLOWED_ATTR = clone(ALLOWED_ATTR);\n\t\t\t\taddToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n\t\t\t}\n\t\t}\n\t\tif (objectHasOwnProperty(cfg, \"ADD_FORBID_CONTENTS\") && arrayIsArray(cfg.ADD_FORBID_CONTENTS)) {\n\t\t\tif (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) FORBID_CONTENTS = clone(FORBID_CONTENTS);\n\t\t\taddToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n\t\t}\n\t\tif (KEEP_CONTENT) ALLOWED_TAGS[\"#text\"] = true;\n\t\tif (WHOLE_DOCUMENT) addToSet(ALLOWED_TAGS, [\n\t\t\t\"html\",\n\t\t\t\"head\",\n\t\t\t\"body\"\n\t\t]);\n\t\tif (ALLOWED_TAGS.table) {\n\t\t\taddToSet(ALLOWED_TAGS, [\"tbody\"]);\n\t\t\tdelete FORBID_TAGS.tbody;\n\t\t}\n\t\tif (cfg.TRUSTED_TYPES_POLICY) {\n\t\t\tif (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== \"function\") throw typeErrorCreate(\"TRUSTED_TYPES_POLICY configuration option must provide a \\\"createHTML\\\" hook.\");\n\t\t\tif (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== \"function\") throw typeErrorCreate(\"TRUSTED_TYPES_POLICY configuration option must provide a \\\"createScriptURL\\\" hook.\");\n\t\t\tconst previousTrustedTypesPolicy = trustedTypesPolicy;\n\t\t\ttrustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n\t\t\ttry {\n\t\t\t\temptyHTML = _createTrustedHTML(\"\");\n\t\t\t} catch (error) {\n\t\t\t\ttrustedTypesPolicy = previousTrustedTypesPolicy;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t} else if (cfg.TRUSTED_TYPES_POLICY === null) {\n\t\t\ttrustedTypesPolicy = void 0;\n\t\t\temptyHTML = \"\";\n\t\t} else {\n\t\t\tif (trustedTypesPolicy === void 0) trustedTypesPolicy = _getDefaultTrustedTypesPolicy();\n\t\t\tif (trustedTypesPolicy && typeof emptyHTML === \"string\") emptyHTML = _createTrustedHTML(\"\");\n\t\t}\n\t\tif (freeze) freeze(cfg);\n\t\tCONFIG = cfg;\n\t};\n\tconst ALL_SVG_TAGS = addToSet({}, [\n\t\t...svg$1,\n\t\t...svgFilters,\n\t\t...svgDisallowed\n\t]);\n\tconst ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n\t/**\n\t* Namespace rules for an element in the SVG namespace.\n\t*\n\t* @param tagName the element's lowercase tag name\n\t* @param parent the (possibly simulated) parent node\n\t* @param parentTagName the parent's lowercase tag name\n\t* @returns true if a spec-compliant parser could produce this element\n\t*/\n\tconst _checkSvgNamespace = function _checkSvgNamespace(tagName, parent, parentTagName) {\n\t\tif (parent.namespaceURI === HTML_NAMESPACE) return tagName === \"svg\";\n\t\tif (parent.namespaceURI === MATHML_NAMESPACE) return tagName === \"svg\" && (parentTagName === \"annotation-xml\" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n\t\treturn Boolean(ALL_SVG_TAGS[tagName]);\n\t};\n\t/**\n\t* Namespace rules for an element in the MathML namespace.\n\t*\n\t* @param tagName the element's lowercase tag name\n\t* @param parent the (possibly simulated) parent node\n\t* @param parentTagName the parent's lowercase tag name\n\t* @returns true if a spec-compliant parser could produce this element\n\t*/\n\tconst _checkMathMlNamespace = function _checkMathMlNamespace(tagName, parent, parentTagName) {\n\t\tif (parent.namespaceURI === HTML_NAMESPACE) return tagName === \"math\";\n\t\tif (parent.namespaceURI === SVG_NAMESPACE) return tagName === \"math\" && HTML_INTEGRATION_POINTS[parentTagName];\n\t\treturn Boolean(ALL_MATHML_TAGS[tagName]);\n\t};\n\t/**\n\t* Namespace rules for an element in the HTML namespace.\n\t*\n\t* @param tagName the element's lowercase tag name\n\t* @param parent the (possibly simulated) parent node\n\t* @param parentTagName the parent's lowercase tag name\n\t* @returns true if a spec-compliant parser could produce this element\n\t*/\n\tconst _checkHtmlNamespace = function _checkHtmlNamespace(tagName, parent, parentTagName) {\n\t\tif (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) return false;\n\t\tif (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) return false;\n\t\treturn !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n\t};\n\t/**\n\t* @param element a DOM element whose namespace is being checked\n\t* @returns Return false if the element has a\n\t* namespace that a spec-compliant parser would never\n\t* return. Return true otherwise.\n\t*/\n\tconst _checkValidNamespace = function _checkValidNamespace(element) {\n\t\tlet parent = getParentNode(element);\n\t\tif (!parent || !parent.tagName) parent = {\n\t\t\tnamespaceURI: NAMESPACE,\n\t\t\ttagName: \"template\"\n\t\t};\n\t\tconst tagName = stringToLowerCase(element.tagName);\n\t\tconst parentTagName = stringToLowerCase(parent.tagName);\n\t\tif (!ALLOWED_NAMESPACES[element.namespaceURI]) return false;\n\t\tif (element.namespaceURI === SVG_NAMESPACE) return _checkSvgNamespace(tagName, parent, parentTagName);\n\t\tif (element.namespaceURI === MATHML_NAMESPACE) return _checkMathMlNamespace(tagName, parent, parentTagName);\n\t\tif (element.namespaceURI === HTML_NAMESPACE) return _checkHtmlNamespace(tagName, parent, parentTagName);\n\t\tif (PARSER_MEDIA_TYPE === \"application/xhtml+xml\" && ALLOWED_NAMESPACES[element.namespaceURI]) return true;\n\t\treturn false;\n\t};\n\t/**\n\t* _forceRemove\n\t*\n\t* @param node a DOM node\n\t*/\n\tconst _forceRemove = function _forceRemove(node) {\n\t\tarrayPush(DOMPurify.removed, { element: node });\n\t\ttry {\n\t\t\tgetParentNode(node).removeChild(node);\n\t\t} catch (_) {\n\t\t\tremove(node);\n\t\t\tif (!getParentNode(node)) throw typeErrorCreate(\"a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place\");\n\t\t}\n\t};\n\t/**\n\t* _stripAttributeNode\n\t*\n\t* Remove a single Attr node case/namespace-exactly on an attribute-teardown\n\t* path. Name-based removeAttribute() ASCII-lowercases its lookup key for an\n\t* HTML element in an HTML document and so silently misses a case-preserved\n\t* handler (e.g. `ONERROR` off an XML/XHTML import) - the same defect\n\t* _removeAttribute() was fixed for, which a name-based call would reintroduce\n\t* on these IN_PLACE teardown paths. Unlike _removeAttribute this does not\n\t* record into DOMPurify.removed: the neutralize passes intentionally do not\n\t* book-keep. A clobbered/detached node falls back to best-effort name-based\n\t* removal.\n\t*\n\t* @param element the element to strip the attribute from\n\t* @param attribute the Attr node to remove\n\t* @param name the attribute's name, for the fallback path\n\t*/\n\tconst _stripAttributeNode = function _stripAttributeNode(element, attribute, name) {\n\t\ttry {\n\t\t\tremoveAttributeNode(element, attribute);\n\t\t} catch (_) {\n\t\t\ttry {\n\t\t\t\telement.removeAttribute(name);\n\t\t\t} catch (_) {}\n\t\t}\n\t};\n\t/**\n\t* _neutralizeRoot\n\t*\n\t* Fail-closed teardown of an in-place root after the sanitize walk aborts\n\t* (campaign-3 F2). An internal throw mid-walk — e.g. a page-registered\n\t* custom element's reaction detaches a node so `_forceRemove`'s deliberate\n\t* parentless guard throws, or any other re-entrant engine mutation — would\n\t* otherwise leave the caller's *live* tree half-sanitized, with everything\n\t* after the abort point still carrying its handlers. There is no safe way\n\t* to resume the walk (the tree mutated under us), so we strip the root bare:\n\t* remove every child and every attribute, then let the caller's catch see\n\t* the original error. Clobber-safe (cached `remove`/`childNodes`/`attributes`\n\t* getters; the root was already clobber-pre-flighted at the IN_PLACE entry).\n\t*\n\t* @param root the in-place root to empty\n\t*/\n\tconst _neutralizeRoot = function _neutralizeRoot(root) {\n\t\t_neutralizeSubtree(root);\n\t\tconst childNodes = getChildNodes(root);\n\t\tif (childNodes) {\n\t\t\tconst snapshot = [];\n\t\t\tarrayForEach(childNodes, (child) => {\n\t\t\t\tarrayPush(snapshot, child);\n\t\t\t});\n\t\t\tarrayForEach(snapshot, (child) => {\n\t\t\t\ttry {\n\t\t\t\t\tremove(child);\n\t\t\t\t} catch (_) {}\n\t\t\t});\n\t\t}\n\t\tconst attributes = getAttributes(root);\n\t\tif (attributes) for (let i = attributes.length - 1; i >= 0; --i) {\n\t\t\tconst attribute = attributes[i];\n\t\t\tconst name = attribute && attribute.name;\n\t\t\tif (typeof name === \"string\") _stripAttributeNode(root, attribute, name);\n\t\t}\n\t};\n\t/**\n\t* _removeAttribute\n\t*\n\t* Name-based getAttributeNode()/removeAttribute() ASCII-lowercase their\n\t* lookup key for HTML elements in an HTML document, so they silently miss an\n\t* attribute whose stored qualified name still contains uppercase ASCII\n\t* letters. That happens when the node came from a case-preserving source\n\t* (an XML/XHTML document imported via importNode(), or createAttributeNS()),\n\t* where e.g. `ONERROR` survives the walk: the policy check lowercases to\n\t* `onerror` and rejects it, but `removeAttribute('ONERROR')` looks up\n\t* `onerror` and finds nothing. Remove the exact Attr node instead, which is\n\t* case- and namespace-exact, and fall back to name-based removal only when\n\t* the caller could not supply the node.\n\t*\n\t* @param name an Attribute name\n\t* @param element a DOM node\n\t* @param attr the exact Attr node to remove, when the caller has it\n\t*/\n\tconst _removeAttribute = function _removeAttribute(name, element, attr) {\n\t\tif (!attr) try {\n\t\t\tattr = element.getAttributeNode(name);\n\t\t} catch (_) {\n\t\t\tattr = null;\n\t\t}\n\t\tarrayPush(DOMPurify.removed, {\n\t\t\tattribute: attr || null,\n\t\t\tfrom: element\n\t\t});\n\t\ttry {\n\t\t\tif (attr) removeAttributeNode(element, attr);\n\t\t\telse element.removeAttribute(name);\n\t\t} catch (_) {\n\t\t\ttry {\n\t\t\t\telement.removeAttribute(name);\n\t\t\t} catch (_) {}\n\t\t}\n\t\tif (name === \"is\") {\n\t\t\tif (RETURN_DOM || RETURN_DOM_FRAGMENT) try {\n\t\t\t\t_forceRemove(element);\n\t\t\t} catch (_) {}\n\t\t\telse try {\n\t\t\t\telement.setAttribute(name, \"\");\n\t\t\t} catch (_) {}\n\t\t}\n\t};\n\t/**\n\t* _stripDisallowedAttributes\n\t*\n\t* Removes every attribute the active configuration does not allow from a\n\t* single element, using the same allowlist as the main attribute pass (so\n\t* `on*` handlers go, but no `/^on/` blocklist is introduced). Used only to\n\t* neutralise nodes that are being discarded from an in-place tree.\n\t*\n\t* @param element the element to strip\n\t*/\n\tconst _stripDisallowedAttributes = function _stripDisallowedAttributes(element) {\n\t\tconst attributes = getAttributes(element);\n\t\tif (!attributes) return;\n\t\tfor (let i = attributes.length - 1; i >= 0; --i) {\n\t\t\tconst attribute = attributes[i];\n\t\t\tconst name = attribute && attribute.name;\n\t\t\tif (typeof name !== \"string\" || ALLOWED_ATTR[transformCaseFunc(name)]) continue;\n\t\t\t_stripAttributeNode(element, attribute, name);\n\t\t}\n\t};\n\t/**\n\t* _neutralizeSubtree\n\t*\n\t* Completes the audit-5 F1 fix across every removal path. The KEEP_CONTENT\n\t* move-hoist neutralises only disallowed-tag removals; clobber, mXSS-canary,\n\t* namespace, comment, processing-instruction and KEEP_CONTENT:false removals\n\t* all drop their subtree wholesale via `_forceRemove`. On the IN_PLACE path\n\t* those dropped nodes are detached from the caller's LIVE tree but a\n\t* handler-bearing original among them (an ``/`